2013-10-01から1ヶ月間の記事一覧

Go言語でCodeEvalのMultiplication Tables

関連 : PythonでCodeEvalのMultiplication Tables - brainstorm

Go言語でCodeEvalのFibonacci Series

関連 : PythonでCodeEvalのFibonacci Series - brainstorm

Go言語でCodeEvalのSum Of Digits

関連 : PythonでCodeEvalのSum Of Digits - brainstorm

Go言語でCodeEvalのLowerCase

関連 : PythonでCodeEvalのLower Case - brainstorm

Go言語でCodeEvalのBit Positions

関連 : PythonでCodeEvalのBitPositions - brainstorm

Go言語でCodeEvalのMultiple Of a Number

関連 : PythonでCodeEvalのMultiples of a Number - brainstorm

Go言語でCodeEvalのReverse Words

引数でファイル名を渡してファイル1行ごとに単語を逆順にして標準出力入力ファイル Hello World Hello CodeEval実行結果 World Hello CodeEval Hello 関連: Pythonでcodeevalのreverse words - brainstorm

Go言語でSum of Primes

関連 : CodeEvalのSum of Primes - brainstorm 昔python2で書いたのをgoで書いてみる 実行結果 3682913

Go言語でn以下の素数を求める

関連 : エラトステネスのふるい - brainstorm練習のため書いてみたけどすっきりしない package main import ( "fmt" "math" ) func Sieve(n int) chan int { s := make([]bool, n) for x := 2; x < int(math.Sqrt(float64(n)))+1; x++ { if !s[x] { for i :=…

Go言語でhttpアクセスするサンプル

jsonを返すだけのサーバー package main import ( "encoding/json" "fmt" "net/http" ) type ColorGroup struct { ID int Name string Colors []string } func handler(w http.ResponseWriter, r *http.Request) { group := ColorGroup{ ID: 1, Name: "Reds"…

スピードメーターのように数字を表示するライブラリ「odometer」

Odometer ― Transition numbers with ease スピードメーターみたいにアニメーションして数字を表示できるライブラリ。 ちょっと触ってみて遊んでいた。 jQueryなど依存ライブラリ無し。 テーマがいくつか用意されていて、シンプルなやつから 使い所がなさそ…

Go言語とpythonで環境変数を扱う

os.environを使う # coding=utf-8 import os # 環境変数設定 os.environ["hoge"] = "fuga" # 環境変数取得 print "hoge is {}".format(os.environ["hoge"]) # -> hoge is fuga # 環境変数をリストで取得 for i, pair in enumerate(os.environ.iteritems()): …

Go言語とpythonでurlをパースする

python # coding=utf-8 from urlparse import urlparse, parse_qs s = "http://www.cwi.nl:80/%7Eguido/Python.html?a=b#f" u = urlparse(s) print u # スキーム print u.scheme # -> http # ホスト print u.netloc # -> www.cwi.nl:80 # ポート番号とhostna…

Go言語で文字列がasciiのみで構成されているか調べる

pythonで文字列がascii文字のみで構成されているかどうかを調べる方法をググってて、encodeとかdecodeを使う方法を見つけた。 def is_ascii(u): try: if isinstance(u, unicode): u.encode('ascii') elif isinstance(u, str): u.decode('ascii') else: retur…

Go言語で配列の各要素が全て条件を満たすかどうかを調べる

関連 : 配列の各要素が全て条件を満たすかどうかを調べる - brainstorm Go言語だとビルトインには無さそう。 自前で書くとこんな感じか package main import ( "fmt" ) func All(vs []string, f func(string) bool) bool { for _, v := range vs { if !f(v) …

Go言語で基数変換

関連 : pythonで10進数からn進数に基数変換 - brainstorm package main import ( "fmt" "strconv" ) import () func main() { for i := 2; i <= 36; i++ { fmt.Println(strconv.FormatInt(10000000, i)) } } 実行結果 100110001001011010000000 200211001102…

Go言語でBase64エンコード

関連 : Python/Ruby/JavaでBase64エンコード - brainstorm package main import ( "encoding/base64" "fmt" "io/ioutil" "os" ) func main() { // 文字列をbyte配列にしてbase64にする data := "volume contrast brilliance" sEnc := base64.StdEncoding.Enc…

Go言語で文字列を1文字ずつのリストにする

関連 : python、rubyで文字列を1文字ずつのリストにする - brainstormruneじゃなくてstringのリストにする package main import ( "strings" "fmt" ) func main() { str := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" fmt.Printf("%…

Go言語でSHA-1

暗号やハッシュについては、cryptoパッケージにいろいろ揃っている。 crypto - The Go Programming Language package main import "crypto/sha1" import "fmt" func main() { s := "任意の文字列" h := sha1.New() // バイト配列を渡す h.Write([]byte(s)) /…

PyCharm 3.0.1 RC

Pycharm 3.0.1 RCがダウンロードできるようになってた 主にバグフィックスの模様PyCharm 3.0.1 RC available | JetBrains PyCharm Blog パッチでのアップデートはできないらしいのでDLする必要がある JetBrains PyCharm Preview (EAP) - PyCharm - Confluence

Go言語でファイルの情報を得る

ファイル名やサイズなどを取得 package main import ( "fmt" "os" ) func main() { f, _ := os.Open("main.go") defer f.Close() if fi, err := f.Stat(); err == nil { fmt.Printf("ファイル名: %s\n", fi.Name()) fmt.Printf("ファイルサイズ(byte): %d\n"…

Go言語でShiftJISのファイルを読む

go.textパッケージを使う $ go get code.google.com/p/go.text/encoding $ go get code.google.com/p/go.text/encoding/japanese 使い方を調べるためにsjisのファイルをeucjpに変換してコピーする処理を書いてみた package main import ( "code.google.com/p…

Go言語で文字列を1文字ずつ処理する

rangeにstringを渡すとbyte positionとruneを1つずつ取得できる package main import ( "fmt" "unicode/utf8" ) func main() { s := "あいうえお" // rangeにstringを渡すとpos,runeを順に返す for pos, r := range s { fmt.Printf("character %c starts at …

Go言語で文字列を逆順に並び替える

参考 : How to reverse a string in Go? - Stack Overflowstringをruneの配列に変換する方法、逆にruneの配列をstringに変換する方法がわかった。 package main import ( "fmt" "unicode/utf8" ) func Reverse(s string) string { runes := []rune(s) for i,…

Go言語で文字列の文字数を取得する

len(string)だとバイト長を返す。 utf8.RuneCountInStringを使うと文字数を取得できた。 package main import ( "fmt" "unicode/utf8" ) func main() { s := "あいうえお" // 入力値 fmt.Printf("%v\n", s) // -> あいうえお // len(s)はバイト長を返す fmt.…

Emacsでウインドウを1ストロークで移動できるようにした

C-x oで移動するのが面倒くさくなったので、1ストロークで自由に移動できるようにしたかった (global-set-key (kbd "<C-s-left>") 'windmove-left) (global-set-key (kbd "<C-s-down>") 'windmove-down) (global-set-key (kbd "<C-s-up>") 'windmove-up) (global-set-key (kbd "<C-s-right>") 'windm</c-s-right></c-s-up></c-s-down></c-s-left>…

Pycharmでコードをフォーマットしてから保存する

最近ほんのちょっとずつだけどGo言語を勉強してみている。Go言語で書くときはemacsを使うのだけど、gofmtが保存時に動くように設定してあって、これが結構気持ちいい。 コード書いてるときはフォーマットを全く気にしなくても保存時に直してくれる。 (setenv…

Pythonでコマンドライン引数に渡されたマルチバイト文字をunicode型に変換する

argparseでマルチバイト文字を渡すとバイト列型として取得されるunicode型として扱いたい場合はdecodeする必要があるが、エンコーディングをどうするべきか調べてた多分sys.getfilesystemencodingを使えばいいんだと思うけど、macosxのpython2、python3でし…

Mountain LionでWiresharkを起動する

起動しようとするとX11が必要という。前は使えてたのでMountain Lionから必要になったと思われる Mountain LionのX11については以下のページに情報がある X11 および OS X Mountain Lion について ページのリンクからXQuartsをDLするXQuartz XQuartsをインス…

collections.defaultdictで辞書の初期値を設定する

辞書で単語の出現回数をカウントするようなコードのサンプル初めて登場した単語のときだけ、インクリメントじゃなくて1を入れる処理をする必要がある data = open("sample.txt").read() words = data.split() d = {} for word in words: if word in d: d[wor…