Skip to content

Instantly share code, notes, and snippets.

View ArseniySavin's full-sized avatar
😏

savars ArseniySavin

😏
View GitHub Profile
@ArseniySavin
ArseniySavin / docker-api-port.md
Created June 20, 2024 07:07 — forked from styblope/docker-api-port.md
Enable TCP port 2375 for external connection to Docker

Enable TCP port 2375 for external connection to Docker

See this issue.
Docker best practise to Control and configure Docker with systemd.

  1. Create daemon.json file in /etc/docker:

     {"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]}
    
@ArseniySavin
ArseniySavin / bit_mask.go
Created November 20, 2023 13:03
Bitmask example
package main
import "fmt"
func main() {
//arr := []int{1, 2, 3, 4}
arr := []string{"A", "B", "C", "D"}
n := len(arr)
for mask := 0; mask < (1 << n); mask++ {
@ArseniySavin
ArseniySavin / crc32.sql
Created October 13, 2022 09:48 — forked from cuber/crc32.sql
crc32 for postgresql
CREATE OR REPLACE FUNCTION CRC32(VARCHAR) RETURNS BIGINT AS
$BODY$
DECLARE
src alias FOR $1;
crc BIGINT not null default x'ffffffff'::BIGINT;
len INTEGER not null default 0;
i INTEGER not null DEFAULT 1;
table BIGINT[] not null DEFAULT ARRAY[
x'00000000'::BIGINT, x'77073096'::BIGINT, x'EE0E612C'::BIGINT, x'990951BA'::BIGINT,
x'076DC419'::BIGINT, x'706AF48F'::BIGINT, x'E963A535'::BIGINT, x'9E6495A3'::BIGINT,
@ArseniySavin
ArseniySavin / insert.go
Created May 23, 2022 12:51 — forked from miguelmota/insert.go
Golang SQL insert row and get returning ID example
func InsertOrder(order *Order) (int, error) {
var id int
tx, err := db.Begin()
if err != nil {
return id, err
}
{
@ArseniySavin
ArseniySavin / question.rest.md
Last active June 16, 2022 10:21
Вопросы по REST API. Можно понять основные концепции протокола
  • Что такое REST?
  • REST — это архитектурный стиль для веб-разработки.
  • REST означает передачу состояния.
  • Архитектура REST предлагает рекомендации по передаче ресурсов между клиентам и сервером по сети.
  • Что такое REST API?

REST API или RESTful API — это веб-API, соответствующий стилю архитектуры REST.

  • Ограничения REST и преимущества.
@ArseniySavin
ArseniySavin / revprox.go
Created October 30, 2021 11:09 — forked from JalfResi/revprox.go
Simple reverse proxy in Go
package main
import(
"log"
"net/url"
"net/http"
"net/http/httputil"
)
func main() {
@ArseniySavin
ArseniySavin / dumptransport.go
Created October 30, 2021 11:01 — forked from jboursiquot/dumptransport.go
Dump transport will dump Go HTTP request/response for debugging
package dumptransport
import (
"fmt"
"net/http"
"net/http/httputil"
)
type DumpTransport struct {
r http.RoundTripper
@ArseniySavin
ArseniySavin / question.sql.md
Last active September 13, 2022 18:20
Поговорим о SQL? Набор джентльмена для держания себя в форме.

Обязательные

  • Что такое SQL?

SQL (structured query language - "язык структурированных запросов") - формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД). SQL основывается на исчислении кортежей.

  • Какие есть типы JOIN'ов? Кратко опишите каждый из типов.

(INNER)JOIN - внутреннее соединение. В результирующем наборе присутствуют только записи, значения связанных полей в которых совпадают. LEFT JOIN - левое внешнее соединение. В результирующем наборе присутствуют все записи из Table1 и соответствующие им записи из Table2. Если соответствия нет, поля из Table2 будут пустыми. RIGHT JOIN - правое внешнее соединение. В результирующем наборе присутствуют все записи из Table2 и соответствующие им записи из Table1. Если соответствия нет, поля из Table1 будут пустыми. FULL JOIN - полное внешнее соединение. Комбинация двух предыдущих. В результирующем н

@ArseniySavin
ArseniySavin / publicating-go-application-on-github.md
Last active February 21, 2021 04:45 — forked from lesovsky/publicating-go-application-on-github.md
Publicating Golang application on GitHub.

Link

Publicating Golang application on GitHub.

  • Makefile
  • Dockerfile
  • Github Actions
  • Goreleaser

Makefile

@ArseniySavin
ArseniySavin / FirstFrame_ffmpeg.go
Last active May 29, 2022 14:13
Getting first frame used ffmpeg. Read / Write into stdin /stdout
func FirstFrame(path string, data []byte) (*bufio.Reader, error) {
cmd := exec.Command(path,
"-i", "-", // read from stdin
"-vframes", fmt.Sprint(1), // frame
"-s", fmt.Sprintf("%dx%d", 640, 360), // size
"-q:v", fmt.Sprint(2), // quality
"-f", "singlejpeg", // jpeg binary
"-", // read from stdout
)
// stdin read