開発速度を加速するツール、goemon を書いた。
SPA (Single Page Application) を書いていると、いちいちブラウザをリロードするのが面倒で、かつ js を minify してページをリロードするといった面倒な手間を出来れば何も設定せずにやりたい(もしくは微量な設定だけでやりたい)、という思いから goemonというツールを書きました。mattn/goemon -...
View ArticleProtocol Buffers を利用した RPC、gRPC を golang から試してみた。
grpc/grpc · GitHubgRPC - An RPC library and frameworkhttps://github.com/grpc/grpcgRPC は Google が開発しているRPC(リモートプロシージャコール)のライブラリとフレームワークで、通信層は HTTP/2 を介して行われます。データ層については、固定されている訳ではなくあくまでデフォルトで Protocol...
View Articleruby と C++ と golang で gRPC のベンチマークを取ってみた。
先日、Google が開発しているリモートプロシージャコール、gRPC を golang から使うチュートリアルを書きましたがBig Sky :: Protocol Buffers を利用した RPC、gRPC を golang から試してみた。http://mattn.kaoriya.net/software/lang/go/20150227144125.htm今日は ruby と C++...
View ArticleVim 上のファイラを NERDTree から dirvish に乗り換えた。
Vim には netrw というファイラが付属しています。引数にディレクトリを渡すとディレクトリブラウザが開き、HTML のある URL を指定するとダウンロードされた HTML が開き、scp://の様なプロトコルを指定するとそれにあったファイルの開き方をしてくれます。最近のモダンな Vim 使いの多くは、NERDTreeや vimfilerを使っているのですが、正直僕は vim...
View Articlegolang のパッケージが Google Code に依存しているか調べるコマンド作った。
Google Code が終了する様です。 Google Open Source Blog: Bidding farewell to Google Code http://google-opensource.blogspot.com/2015/03/farewell-to-google-code.htmlGitHub が無かった頃、私はコード置き場として Google Code...
View ArticleRe: Go で channel が close してるかどうか知りたい というアンチパターン
Goでchannelがcloseしてるかどうか知りたい というアンチパターン - beatsync.netそもそもGoのchannelがcloseしてるかどうかを知りたいっていう理由は、だいたい「Goのchannelはナイーブだから」というところに起因するのはないかと思います。https://beatsync.net/main/log20150325.htmlgolang には元々...
View ArticleC++ 向けの扱いやすい json ライブラリ μjson
おなじみC/C++から使えるJSONライブラリを紹介するコーナー。まずは過去のまとめ。ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!何も見ずにC++でjsonパーサが書けるか試してみた。C言語から使えるJSONパーサ、JSMNを試してみた。僕がboost::asioとboost::property_treeを使いHTTPプロキシ環境下で非同期にGoogle...
View ArticleRe: Golang で言語処理100本ノックの No.3 の問題を解いてベンチマークとってみた
Golang で言語処理100本ノックの No.3 の問題を解いてベンチマークとってみた - Qiitahttp://qiita.com/megu_ma/items/01029c3ca24fb9820373正規表現や strings.Trim等はとても便利なのですが、いかんせん単一の関数呼び出しに対して真面目にループを回す作りになっており、戻り値がコピーされる前提の作りになっています。例えばfunc...
View ArticleSQLite3 で generate_series(連番)
PostgreSQL だと、generate_series という集合生成関数があり、例えば postgres=# select generate_series(1, 10) x; x ---- 1 2 3 4 5 6 7 8 9 10 (10 行)こういう連番がサックリと作れる訳なのですが、SQLite3 にはこの様な関数が用意されていません。かといって、この...
View Articlegolang の自然文字列ソート関数書いた
とは言っても焼き直しですがNatural Order String ComparisonNatural Order String Comparison by Martin Pool Computer string sorting algorithms generally don't or...http://sourcefrog.net/projects/natsort/こにらにあった natsort...
View Articleman ページを読むには人生は短すぎるのでコマンドラインからチートシートを引こう
dufferzafar/cheat - GitHubCheatsheets for command line, because, you know, life is too short to read manpages.https://github.com/dufferzafar/cheat人生は短い。 $ go get github.com/dufferzafar/cheat...
View Article江添さんに簡単に質問出来るコマンドを golang で書いた。
C++er ならみんな見てるいう噂の江添さんの ask.me。見ているだけも面白いですが、質問もしたくなりますよね。Ryou Ezoe | ask.fm/EzoeRyouhttp://ask.fm/EzoeRyou質問したいだけなのにいちいちブラウザ起動するのもダルいので、コマンドラインから質問を投げられるコマンド「ezoe」を作りました。mattn/ezoe ·...
View Articlelingr で stackverflow を検索出来る bot を golang で書いた。
slack から stackoverflow を検索出来る slack-overflow の lingr 版を作ってみた。karan/slack-overflow - GitHubhttps://github.com/karan/slack-overflowakechi/stackoverflow-lingrbot -...
View Article適当な日本人の名前や住所をランダムに作れる gimei を golang に port した。
willnet/gimei - GitHubgimei は、日本人の名前や、日本の住所をランダムに返すライブラリです。テストの時などに使います。似たようなライブラリにfakerがあります。fakerはとても優れたライブラリで、多言語対応もしていますが、ふりがな(フリガナ)は流石に対応していません。gimei...
View ArticleVim scriptで「ソフトウェアエンジニアならば1時間以内に解けなければいけない5つの問題」を解いてみた
問題1scriptencoding utf-8"forループ、whileループ、および再帰を使用して、リスト内の数字の合計を計算する"3つの関数を記述せよ。function! s:problem1_1() let l = [3,5,1,2,9] let s = 0 for i in l let s += i endfor return sendfunctionfunction!...
View Article何もソースコードを変更せずに2038年問題を解決する。
まず2038年問題というのをご存じでしょうか2038年問題 - Wikipedia2038年問題(にせんさんじゅうはちねんもんだい)は、2038年1月19日3時14分7秒(UTC、以下同様)を過ぎると、コンピュータが誤動作する可能性があるとされる年問題。http://ja.wikipedia.org/wiki/2038%E5%B9%B4%E5%95%8F%E9%A1%8CC言語で epoch を扱う...
View Articlebashを江添さんっぽくする方法
追記: ネタ被ってた。本の虫: コマンド間違えると「コマンドではない。」って返してくれる江添プラギン▼ 2015 (77) ▼ May (19) コマンド間違えると「コマンドではない。」って返してくれる江添プラ...http://cpplover.blogspot.jp/2015/05/blog-post_28.htmlcommand_not_found_handle (){ echo...
View ArticleVim の CtrlP matcher、cpsm がヤバイくらいに速すぎる
Vim で CtrlPを使っている人もそこそこいるかと思いますが、ファイル検索が終わり文字をタイプした時に行を絞り込む部分(マッチャーと言います)がデフォルトの状態だと Vim script を使って処理される為、ファイル数が多くなるとモッサリして来ます。これを解消する為に幾らかの人が頑張っています。FelikZ/ctrlp-py-matcher - GitHubFast vim CtrlP...
View ArticleVim プラグインの機能として golang を使う。
golang 1.5 から、x86_64 のみですが -buildmode=c-sharedというビルドオプションが足される事になりました。これは、golang で共有ライブラリを生成する為のオプションで、例えばpackage mainimport ( "C" "fmt" )var ( c chan string )func init() { c = make(chan...
View ArticleCrystal と CRuby でHTTPサーバのベンチマーク
Matz も驚く Crystalこれ、Rubyでもそのまま動くんじゃないか? Crystalすげーっ。 https://t.co/pO0F0vqTly— Yukihiro Matsumoto (@yukihiro_matz) June 16, 2015CrystalLanguage Goals Ruby-inspired syntax. Statically type-checked but...
View Article