golang

GoのNaNとInf

PythonとGoでintの最大値を取得

python 2.xsys.maxintで取得。環境によって32bit符号付き整数、または64bit符号付き整数の最大値が取得できる print sys.maxint # 9223372036854775807 print hex(sys.maxint) # 0x7fffffffffffffff print 2**63-1 # 9223372036854775807 python 3.x sys.max…

GoでCodeEvalのAge Distribution

CodeEval 関連:Python 3.xでCodeEvalのAge Distribution - brainstorm

GoでCodeEvalのRollerCoaster

CodeEval 関連:Python 3.xでCodeEvalのRoller Coaster - brainstorm

GolangでCodeEvalのJUGGLING WITH ZEROS

CodeEval

GolangでCodeEvalのBats Challenge

CodeEval

GolangでCodeEvalのLettercase Percentage Ratio

CodeEval

GolangでCodeEvalのPalindromic Ranges

CodeEval

GolangでCodeEvalのWord Search

CodeEval

GolangでCodeEvalのString Substitution

CodeEval

GolangでCodeEvalのString Searching

CodeEval

GolangでCodeEvalのString List

CodeEval

GolangでCodeEvalのEmail Validation(正規表現)

CodeEval 正規表現で書きなおした。 package main import ( "bufio" "fmt" "log" "os" "regexp" "strings" ) var email_pattern = `^(?i:[^ @"<>]+|".*")@(?i:[a-z1-9.])+.(?i:[a-z])+$` var email_re = regexp.MustCompile(email_pattern) func main() { fi…

GolangでCodeEvalのUri Comparison

CodeEvalcapitalizeはstrings.Titleでできた。

GolangでCodeEvalのWord Chain

CodeEval

GolangでCodeEvalのPoint in Circle

CodeEval

GolangでCodeEvalのA Piles of Bricks

CodeEval

GolangでCodeEvalのPassTriangle

CodeEval

GolangでCodeEvalのCity Blocks Flyover

CodeEval

GolangでCodeEvalのPascals Triangle

CodeEval

GolangでCodeEvalのReverse Groups

CodeEval

GolangでCodeEvalのLost in Translation

CodeEval

GolangでCodeEvalのMineSweeper

CodeEvalpythonで書いたコードを、golangで書きなおすのはそれほど大変ではない。 rubyのほうがより簡単だと思うけど。 リスト内包表記は欲しくなる。

GolangでCodeEvalのDATA RECOVERY

CodeEval関連 : python2でCodeEvalのDATA RECOVERY - brainstorm

GolangでCodeEvalのWorking Experience

CodeEval関連 : Python2でCodeEvalのWorking Experience - brainstorm

Martiniでレスポンスをgzip compressする

martini-contribにgzipも用意されている。martini-contrib ただ、Accept-Encodingにgzipが含まれていれば無条件でgzipするので、小さいコンテンツを返すときは余計にサイズが大きくなってしまう。 djangoを見てみたら、django.middleware.gzip.GZipMiddlewar…

Golangで1秒ごとのメソッドの呼び出し回数を制限する

関連 : Python2で1秒ごとのメソッド呼び出し回数を制限するデコレータ - brainstorm goだとtime.Tickで、指定した間隔でメッセージを受け取ることができるので、こんな形でできそう

Golangで型情報を調べる

reflect.TypeOfで package main import ( "fmt" "reflect" ) func main() { fmt.Println(reflect.TypeOf(1)) // int fmt.Println(reflect.TypeOf("")) // string fmt.Println(reflect.TypeOf([]string{})) // []string fmt.Println(reflect.TypeOf(true)) //…

Golangでmapからquerystringを生成する

キーでソートして、値はエスケープする package main import ( "fmt" "net/url" "sort" "strings" ) type SortedQuery struct { _map map[string]string keys []string } func (sq *SortedQuery) Len() int { return len(sq._map) } func (sq *SortedQuery) …

Python2とGolangでHMAC方式のハッシュ値を生成する

HMACでハッシュ値を生成してbase64エンコードしてurlエスケープする。 amazon product apiでsignatureとして使われる値。python2 import hmac import urllib from hashlib import sha256 from base64 import b64encode key = "key" data = "data" digest = h…