Skip to content

Instantly share code, notes, and snippets.

View lesovsky's full-sized avatar
😉
Don't stop

Lesovsky Alexey lesovsky

😉
Don't stop
  • Postgres Pro
  • Yekaterinburg, Russian Federation
View GitHub Profile
@lesovsky
lesovsky / main.md
Created October 13, 2023 04:00
Integration Readiness Review

Integration Readiness Review

Статус: Черновик

Цель

Для интеграции стороннего компонента в основной продукт, этот компонент должен удовлетворять набору требований:

  • стабильность и качество
  • принадлежность и сопровождаемость
  • документация
@lesovsky
lesovsky / .gitlab-ci.yml
Last active December 31, 2023 15:42
docker-compose with postgresql replication (no volumes, no scripts)
image: golang:1.21.0
stages:
- test
tests/integration:
stage: test
parallel:
matrix:
- VERSION:
- "16-alpine3.18"
@lesovsky
lesovsky / postgresql-13.md
Created August 11, 2021 11:38
PostgreSQL 13

PostgreSQL 13

Major features:

  • Оптимизация хранения и производительности за счет дедупликации в B-tree индексах.
  • Улучшение производительности запросов с использованием агрегатов или работающих с партицонированными таблицами.
  • Улучшенное планирование запросов с использованием расширенной статистики.
  • Параллельное вакуумирование индексов.
  • Инкрементальная сортировка.
@lesovsky
lesovsky / postgresql-log-parser-ideas.md
Last active April 6, 2021 13:09
PostgreSQL log parser ideas

PostgreSQL log parser ideas

здесь находятся мысли идеи usecase'ы по библиотеке парсинга постгресовых логов

потенциальные сложности

  • различный log_line_prefix - в настройках может быть выставлен разный log_line_prefix и его нужно учитывать при разборе строк. Его в любом случае надо будет указывать руками (если лог вытащен с хоста с БД), либо спрашивать у постгреса (если лог БД там же).
  • multiline строки - юзерские запросы могут писаться в несколько строк
  • лог может быть большим, нужен какой-то фидбек (ETA) о процессе парсинга
@lesovsky
lesovsky / oom-invole.go
Last active April 1, 2021 08:16
Allocates buffer and exhaust memory, to invoke OMM
package main
import "fmt"
func main() {
buf := make([]byte, 10000000)
for i := 0; i < 100; i++ {
buf = append(buf, buf...)
fmt.Println("len: ", len(buf))
@lesovsky
lesovsky / publicating-go-application-on-github.md
Created February 15, 2021 05:40
Publicating Golang application on GitHub.

Publicating Golang application on GitHub.

  • Makefile
  • Dockerfile
  • Github Actions
  • Goreleaser

Makefile

  • requires Git tags
  • application must work with imported Git tags
@lesovsky
lesovsky / Makefile
Created September 17, 2020 06:53
Makefile example for Go service
DOCKER_ACCOUNT = myaccount
SITENAME = mysite
APPNAME = service-name
COMMIT=$(shell git rev-parse --short HEAD)
BRANCH=$(shell git rev-parse --abbrev-ref HEAD)
LDFLAGS = -a -installsuffix cgo -ldflags "-X main.appName=${APPNAME} -X main.gitCommit=${COMMIT} -X main.gitBranch=${BRANCH}"
DESTDIR ?=
@lesovsky
lesovsky / auth-guard.js
Last active July 13, 2019 17:58
auth-guard.js
import axios from 'axios'
export default {
doAction (to, from, next) {
axios.post('http://127.0.0.1:1080/api/v2/action', {"data":"..."})
.then(request => this.actionSuccessful(request))
.catch(() => this.actionFailed())
},
@lesovsky
lesovsky / postgresql-hot-queries.khotkeys
Created November 28, 2018 10:35
PostgreSQL hot queries
[Data]
DataCount=1
[Data_1]
Comment=PostgreSQL hotkeys
DataCount=6
Enabled=false
Name=PostgreSQL hot queries
SystemGroup=0
Type=ACTION_DATA_GROUP
@lesovsky
lesovsky / ameba_latency.go
Last active November 15, 2018 11:24
check ameba latency
package main
import (
"bytes"
"encoding/binary"
"fmt"
"os"
"os/signal"
"time"