Skip to content

Instantly share code, notes, and snippets.

View shalakhin's full-sized avatar
🤖
Get Shit Done

Olexandr Shalakhin shalakhin

🤖
Get Shit Done
View GitHub Profile
@deckarep
deckarep / goroutine-channel-pattern.go
Last active December 13, 2016 20:46
A Goroutine safe pattern using channels that abstracts away the usage of channels.
/*
A Goroutine safe pattern using channels that abstracts away the channels
This is a concept of creating a goroutine safe object that uses channels under the covers to communicate
with the internal map[string]string structure. I know that typically this kind of solution may done
with mutexes but the excercise was in using channels on purpose although they are heavier.
Note a couple of points:
- When using channels, you can still build a public-facing api that nicely abstracts them away, therefore
@justinas
justinas / 1_singlehost.go
Last active November 29, 2023 11:41
Go middleware samples for my blog post. http://justinas.org/writing-http-middleware-in-go/
package main
import (
"net/http"
)
type SingleHost struct {
handler http.Handler
allowedHost string
}
@rca
rca / docker_registry.conf
Created July 10, 2013 09:11
nginx config for docker registry. The key setting is `client_max_body_size 600M;` which allows large uploads. The setting `proxy_read_timeout 900;` gives the upload enough time to complete (but this might not be needed).
upstream docker_registry {
server 127.0.0.1:15000;
}
server {
listen 443;
root /dev/null;
index index.html index.htm;
@danneu
danneu / golang-vs-clojure-async.md
Last active November 6, 2023 04:09
Google I/O 2012 - Go Concurrency Patterns ported to Clojure Video: http://www.youtube.com/watch?v=f6kdp27TYZs
@ju-popov
ju-popov / timestamp.py
Last active April 7, 2021 16:09
Python DateTime / Timestamp Convertion
######################################################################
# CURRENT AWARE LOCAL DATETIME
######################################################################
from datetime import datetime
from tzlocal import get_localzone
local_tz = get_localzone()
local_dt = datetime.now(local_tz)
@karmadonov
karmadonov / min_cost.cc
Last active March 14, 2017 00:06
Minimum cost flow using C++ Lemon library. CapacityScaling implements the capacity scaling version of the successive shortest path algorithm for finding a minimum cost flow amo93networkflows, edmondskarp72theoretical
#include <iostream>
#include <lemon/smart_graph.h>
#include <lemon/lgf_reader.h>
#include <lemon/lgf_writer.h>
#include <lemon/capacity_scaling.h>
using namespace lemon;
int main() {
SmartDigraph g;
@shalakhin
shalakhin / prepare-commit-msg
Last active December 10, 2015 16:38
prepare-commit-msg git hook
#!/usr/bin/env python
# requirements: GitPython
# version 0.1
import git
import os
import sys
@border
border / mgoExample.go
Created August 27, 2012 15:33
mgo example
package main
import (
"fmt"
"labix.org/v2/mgo"
"labix.org/v2/mgo/bson"
"time"
)
type Person struct {
@matthewlehner
matthewlehner / autopgsqlbackup
Created July 11, 2012 16:10
Auto PostgreSQL backup script.
#!/bin/bash
#
# PostgreSQL Backup Script Ver 1.0
# http://autopgsqlbackup.frozenpc.net
# Copyright (c) 2005 Aaron Axelsen <[email protected]>
#
# This script is based of the AutoMySQLBackup Script Ver 2.2
# It can be found at http://sourceforge.net/projects/automysqlbackup/
#
# The PostgreSQL changes are based on a patch agaisnt AutoMySQLBackup 1.9
@the42
the42 / gist:1956518
Created March 2, 2012 07:34
GZip encoding for GO V1 using custom responsewriter
package main
import (
"compress/gzip"
"io"
"net/http"
"strings"
)
type gzipResponseWriter struct {