Skip to content

Instantly share code, notes, and snippets.

View tetafro's full-sized avatar

Denis Krivak tetafro

View GitHub Profile
@bussiere
bussiere / compress.go
Created December 22, 2016 01:16
compress uncompress a string in golang
package main
import (
"bytes"
"compress/gzip"
"fmt"
"encoding/base64"
"io/ioutil"
)
@wojteklu
wojteklu / clean_code.md
Last active July 16, 2026 13:23
Summary of 'Clean code' by Robert C. Martin

Code is clean if it can be understood easily – by everyone on the team. Clean code can be read and enhanced by a developer other than its original author. With understandability comes readability, changeability, extensibility and maintainability.


General rules

  1. Follow standard conventions.
  2. Keep it simple stupid. Simpler is always better. Reduce complexity as much as possible.
  3. Boy scout rule. Leave the campground cleaner than you found it.
  4. Always find root cause. Always look for the root cause of a problem.

Design rules

@cep21
cep21 / httptrace_example.go
Last active July 28, 2023 15:23
Example of http trace in Go 1.7
package main
import (
"fmt"
"io"
"net/http"
"net/http/httptest"
"net/http/httptrace"
"os"
)
@lukechilds
lukechilds / get_latest_release.sh
Created August 9, 2016 19:43
Shell - Get latest release from GitHub
get_latest_release() {
curl --silent "https://api.github.com/repos/$1/releases/latest" | # Get latest release from GitHub api
grep '"tag_name":' | # Get tag line
sed -E 's/.*"([^"]+)".*/\1/' # Pluck JSON value
}
# Usage
# $ get_latest_release "creationix/nvm"
# v0.31.4
@kpman
kpman / current-dir-in-iterm-tab-title.sh
Last active May 7, 2018 19:54 — forked from phette23/current-dir-in-iterm-tab-title.sh
Set the iTerm tab title to the current directory, not full path.
# put this in your .bash_profile
if [ $ITERM_SESSION_ID ]; then
export PROMPT_COMMAND='echo -ne "\033];${PWD##*/}\007"; ':"$PROMPT_COMMAND";
fi
###########################
# ~/.zshrc
precmd() {
# sets the tab title to current dir
@sosedoff
sosedoff / 1_simple.go
Created July 16, 2016 18:45
Golang Custom Struct Tags Example
package main
import (
"fmt"
"reflect"
)
// Name of the struct tag used in examples
const tagName = "validate"
@gourytch
gourytch / gourbot.go
Created January 18, 2016 02:49
small telegram bot example for golang
// test new bot api
// start it as:
// gourbot "token:forBot"
// or
// BOT_TOKEN="token:forBot" gourbot
//
package main
import (
@mlafeldt
mlafeldt / vault.go
Created December 2, 2015 15:43
Talk to Vault using GitHub auth backend
package main
import (
"log"
"os"
"github.com/hashicorp/vault/api"
"github.com/hashicorp/vault/builtin/credential/github"
)
@un1t
un1t / elastic-bulk.go
Last active October 18, 2021 01:49
golang elasticsearch bulk insert
package main
import (
"fmt"
"gopkg.in/olivere/elastic.v2"
"strconv"
)
type Tweet struct {
User string `json:"user"`
@gothma
gothma / ShutdownHandler.py
Created November 22, 2015 10:24
Python logging: Trigger exit on critical error
from __future__ import print_function
import logging
import sys
class ShutdownHandler(logging.Handler):
def emit(self, record):
print(record.msg, file=sys.stderr)
logging.shutdown()
sys.exit(1)