Skip to content

Instantly share code, notes, and snippets.

View filinvadim's full-sized avatar
🏠
Working from home

Vadim Filin filinvadim

🏠
Working from home
  • zodia-markets
  • Dubai
View GitHub Profile
@filinvadim
filinvadim / gist:a1247ff3430e5d80194c6226747258bc
Created February 13, 2023 15:06
How to fix 'npm ERR! Maximum call stack size exceeded' using Docker
RUN npm install -g $YOUR_PACKAGE || npm rebuild
@filinvadim
filinvadim / gist:dde5a207bbe36a8a629fa56ed2aa947d
Created October 13, 2021 09:50
Get struct method name using reflect
val := reflect.ValueOf(&struct{})
for i := 0; i < val.NumMethod(); i++ {
name := val.Type().Method(i).Name
}
Crosscompiling for Windows
GOARCH=amd64 CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ go build -o button_windows.exe cmd/delcom/panicbutton/main.go
openapi: '3.0.2'
info:
title: Binance SPOT Public API
description: |-
The swagger file of Binance Public API
API documents:
- [https://github.com/binance-exchange/binance-official-api-docs](https://github.com/binance-exchange/binance-official-api-docs)
- [https://binance-docs.github.io/apidocs/spot/en](https://binance-docs.github.io/apidocs/spot/en)
version: '1.0'
@filinvadim
filinvadim / main.go
Last active April 8, 2020 14:45
lru cache
package main
import (
"fmt"
)
const (
oldestRecordIndex = 0
)
@filinvadim
filinvadim / tokens.md
Created March 2, 2019 12:27 — forked from zmts/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Основы:

Аутентификация(authentication, от греч. αὐθεντικός [authentikos] – реальный, подлинный; от αὐθέντης [authentes] – автор) - это процесс проверки учётных данных пользователя (логин/пароль). Проверка подлинности пользователя путём сравнения введённого им логина/пароля с данными сохранёнными в базе данных.

Авторизация(authorization — разрешение, уполномочивание) - это проверка прав пользователя на доступ к определенным ресурсам.

Например после аутентификации юзер sasha получает право обращатся и получать от ресурса "super.com/vip" некие данные. Во время обращения юзера sasha к ресурсу vip система авторизации проверит имеет ли право юзер обращатся к этому ресурсу (проще говоря переходить по неким разрешенным ссылкам)

@filinvadim
filinvadim / epoll2
Created October 24, 2018 21:48
epoll2
package main
import (
"fmt"
"net"
"os"
"syscall"
)
const (
@filinvadim
filinvadim / epoll
Created October 24, 2018 21:09
epoll
func serve() {
ep, err := netpoll.EpollCreate(epollConfig())
if err != nil {
log.Fatal(err)
}
// Create listener on port 4444.
ln, err := listen(4444)
if err != nil {
CREATE TABLE user_friend (
id BIGSERIAL NOT NULL,
user_id BIGINT NOT NULL,
friend_id BIGINT NOT NULL,
created_at TIMESTAMP(0) NOT NULL DEFAULT now(),
CONSTRAINT pk_user_friend_id PRIMARY KEY (id),
CONSTRAINT fk_user_friend_user_id FOREIGN KEY (user_id) REFERENCES "user" (id) ON DELETE CASCADE,
UNIQUE(user_id, friend_id),
@filinvadim
filinvadim / elastic.go
Created July 29, 2018 11:12
golang elastic channel
// Copyright (c) 2014, Nick Patavalis (npat@efault.net).
// All rights reserved.
// Use of this source code is governed by a BSD-style license that can
// be found in the LICENSE file.
// Package elastic demonstrates a simple implementation of elastic
// (growable) buffers for channels. See:
// https://github.com/npat-efault/musings/wiki/Elastic-channels
const (