Skip to content

Instantly share code, notes, and snippets.

View romanyellow's full-sized avatar

Roman Atroshchenko romanyellow

View GitHub Profile
@romanyellow
romanyellow / install_go.sh
Created July 31, 2024 15:29 — forked from gsrai/install_go.sh
Install Go on M1/M2/M3 mac (apple silicon)
#!/usr/bin/env bash
# find filename on https://go.dev/dl/
GO_FILE_NAME="go1.19.3.darwin-arm64.tar.gz"
# usage:
# chmod u+x install_go.sh
# sudo ./install_go.sh
mkdir /tmp/downloads
@romanyellow
romanyellow / docker_rus.md
Created June 19, 2024 10:18 — forked from wtw24/docker_rus.md
Шпаргалка с командами Docker

Шпаргалка с командами Docker

1552317264965 1552317537397 1552317711879

1552318467562 1552318531067 1552318577900 1552318614839

@romanyellow
romanyellow / git-branches-by-commit-date.sh
Created April 24, 2024 11:49 — forked from jasonrudolph/git-branches-by-commit-date.sh
List remote Git branches and the last commit date for each branch. Sort by most recent commit date.
# Credit http://stackoverflow.com/a/2514279
for branch in `git branch -r | grep -v HEAD`;do echo -e `git show --format="%ci %cr" $branch | head -n 1` \\t$branch; done | sort -r
@romanyellow
romanyellow / .golangci.yml
Created February 15, 2024 07:44 — forked from maratori/.golangci.yml
Golden config for golangci-lint
# This code is licensed under the terms of the MIT license https://opensource.org/license/mit
# Copyright (c) 2021 Marat Reymers
## Golden config for golangci-lint v1.55.2
#
# This is the best config for golangci-lint based on my experience and opinion.
# It is very strict, but not extremely strict.
# Feel free to adapt and change it for your needs.
run:
{
"channel": {
"id": 38629,
"name": "Traffic Monitor",
"description": "Traffic Monitor showing density of cars detected",
"latitude": "42.28",
"longitude": "-71.35",
"field1": "Density of Westbound Cars",
"field2": "Density of Eastbound Cars",
"created_at": "2015-05-19T20:1Z",
@romanyellow
romanyellow / wait_timeout.go
Created July 28, 2023 05:53 — forked from r4um/wait_timeout.go
Golang - WaitGroup Timeout
package main
import (
"fmt"
"sync"
"time"
)
func main() {
wg := sync.WaitGroup{}
@romanyellow
romanyellow / docker-compose.yml
Last active March 10, 2023 16:31 — forked from everpeace/docker-compose.yml
kafka cluster in docker-compose.
# WARNING: This docker-compose.yml is only for testing purpose.
# Parameters:
# - name: CONFLUENT_PLATFORM_VERSION
# default: 7.2.1
# reference: https://hub.docker.com/u/confluentinc/
# Ports:
# - description: Major ports are exposed to host computer
# - zookeeper: 2181
# kafka1: 9091
# kafka2: 9092
@romanyellow
romanyellow / latency.txt
Created December 30, 2020 17:06 — forked from jboner/latency.txt
Latency Numbers Every Programmer Should Know
Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
@romanyellow
romanyellow / tokens.md
Created May 24, 2020 14:24 — forked from zmts/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

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

Last major update: 20.04.2020

  • Что такое авторизация/аутентификация
  • Где хранить токены
  • Как ставить куки ?
  • Процесс логина
  • Процесс рефреш токенов
  • Кража токенов/Механизм контроля токенов
@romanyellow
romanyellow / System Design.md
Created April 19, 2016 03:53 — forked from vasanthk/System Design.md
System Design Cheatsheet

#System Design Cheatsheet

Picking the right architecture = Picking the right battles + Managing trade-offs

##Basic Steps

  1. Clarify and agree on the scope of the system
  • User cases (description of sequences of events that, taken together, lead to a system doing something useful)
    • Who is going to use it?
    • How are they going to use it?