Skip to content

Instantly share code, notes, and snippets.

View night-codes's full-sized avatar
🇺🇦

Oleksiy Chechel night-codes

🇺🇦
View GitHub Profile
@night-codes
night-codes / makeInsert.go
Created November 3, 2015 06:06
Golang slice insert func generator
package main
import (
"fmt"
"reflect"
)
func makeInsert(fptr interface{}) {
fn := reflect.ValueOf(fptr).Elem()
fn.Set(reflect.MakeFunc(fn.Type(), func(in []reflect.Value) []reflect.Value {
@night-codes
night-codes / golangDeploy.md
Last active March 13, 2025 10:21
Golang deploy

1) Создаем юзера под которым будет работать приложение, задаем пароль и переключаемся на него:

useradd -s /bin/bash <имя_пользователя>
passwd <имя_пользователя>
su <имя_пользователя>

2) Генерируем новый ключ для деплоя

ssh-keygen -t rsa -C "<имя_пользователя>@<домен_сервиса>"
@night-codes
night-codes / sliceinterface.md
Last active October 30, 2015 06:58
InterfaceSlice

Introduction

Given that you can assign a variable of any type to an interface{}, often people will try code like the following.

var dataSlice []int = foo()
var interfaceSlice []interface{} = dataSlice

This gets the error

cannot use dataSlice (type []int) as type []interface { } in assignment
@night-codes
night-codes / benchmark+go+nginx.md
Created October 29, 2015 17:35 — forked from hgfischer/benchmark+go+nginx.md
Benchmarking Nginx with Go

Benchmarking Nginx with Go

There are a lot of ways to serve a Go HTTP application. The best choices depend on each use case. Currently nginx looks to be the standard web server for every new project even though there are other great web servers as well. However, how much is the overhead of serving a Go application behind an nginx server? Do we need some nginx features (vhosts, load balancing, cache, etc) or can you serve directly from Go? If you need nginx, what is the fastest connection mechanism? This are the kind of questions I'm intended to answer here. The purpose of this benchmark is not to tell that Go is faster or slower than nginx. That would be stupid.

So, these are the different settings we are going to compare:

  • Go HTTP standalone (as the control group)
  • Nginx proxy to Go HTTP
  • Nginx fastcgi to Go TCP FastCGI
  • Nginx fastcgi to Go Unix Socket FastCGI
@night-codes
night-codes / mgoExample.go
Last active September 8, 2015 05:52 — forked from border/mgoExample.go
mgo example
package main
import (
"fmt"
"labix.org/v2/mgo"
"labix.org/v2/mgo/bson"
"time"
)
type Person struct {
#! /bin/sh
#chkconfig: 345 20 80
#description: node.js server service
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/srv/msrv.su/node/ # modify if you need
DESC="node.js server service"
NAME="node_service"
DAEMON="node"