Skip to content

Instantly share code, notes, and snippets.

View logrusorgru's full-sized avatar

Konstantin Ivanov logrusorgru

View GitHub Profile
@logrusorgru
logrusorgru / refs.go
Last active October 3, 2017 19:22
skyobject Refs API preview
Len(pack Pack) (ln int, err error)
// presence check
HasHash(pack Pack, hash cipher.SHA256) (ok bool, err error)
// short hand for HasHash + pack.Get(hash) + encoder.DeserializeRaw
ValueByHash(pack Pack, hash cipher.SHA256, obj interface{}) (err error)
// the IndexByHash is useful only if the Refs contains only unique
// elements
@logrusorgru
logrusorgru / handle.go
Last active August 13, 2017 22:17
CXO update Root
// in this example the Event is an event, that requires updates in our Root
func startHandlingSomePack(events <-chan Event, pack *skyobject.Pack,
n *node.Node, wg *sync.WaitGroup) {
go handleSomePack(n, pack, events, n.Quiting(), wg)
}
func handleSomePack(n *node.Node, pack *cxo.Pack, events <-chan Event,
quit <-chan struct{}, wg *sync.WaitGroup) {
@logrusorgru
logrusorgru / gnetex.go
Last active February 18, 2017 16:18
gnet example app
package main
import (
"flag"
"fmt"
"log"
"strings"
"time"
"github.com/peterh/liner"
@logrusorgru
logrusorgru / gin-logger.go
Created March 10, 2016 09:12
Gin logger without colors
/*
// Creates a router without any middleware by default
r := gin.New()
r.Use(gin.Recovery())
r.Use(logger.Logger()) // use this logger without colors
*/
package logger
@logrusorgru
logrusorgru / gist:60710e8faf8a50631fc3
Created September 21, 2014 12:53
Colorized Golang output

Colorized Golang output

Get package from here

// import "golorize"

fmt.Println( golorize.Red("[FAIL] Some Errors Occurred") )
@logrusorgru
logrusorgru / gist:848683192f1549fbb021
Last active August 29, 2015 14:04
ActiveRecord serialize, make it faster

ActiveRecord Serialize

serialize :column, JSON realy faster then standart YAML serialize

Small benchmark

class Some &lt; ActiveRecord:Base
@logrusorgru
logrusorgru / gist:63ba4fed0485e450c084
Last active August 29, 2015 14:02
Nokogiri and dollar sign $

Nokogiri does not understand the dollar sign $ in selectors.

Some example:

require 'nokogiri'

html = %Q{
  <!DOCTYPE html>
 
@logrusorgru
logrusorgru / r3r4lambda.md
Last active August 29, 2015 14:02
Rails 3 to Rails 4 => lambda instead of conditions

Rails 3

has_many  :active_events, :through => :event_users, 
          :class_name => "Event", 
          :source => :event, 
          :conditions => ['event_users.active = ?',true]

Rails 4