読者です 読者をやめる 読者になる 読者になる

技術備忘記

日々調べたこととかとりとめなく

golang

GoでORM利用の際のオーバーヘッドについて

はじめに GoのORM的なライブラリには幾つか種類がありますが、例えばgorpで あるテーブルからレコードを取得するのは以下の流れとなります。 1)以下のようなテーブルと対になる構造体を定義 type TestStruct struct { ID int `db:"id"` Col1 sql.NullString …

Goでアルゴリズムのお勉強

珠玉のプログラミングを読んだ GWには普段はやらないことをやろうと思い、数年前に流し読みだけして積んであった、珠玉のプログラミングという本を読みました。 www.amazon.co.jp かなり古い本なのですが、富豪的プログラミングに慣れてしまっている自分にと…

GoからGitHub APIを利用する

はじめに とあるツールを作っていて、GoのコードからGithub APIを叩く必要があったので、使用したライブラリや、スニペットなどを残しておこうと思います。ちなみにエラーハンドリングは一切していないです。予めご了承ください。 使用ライブラリ go-github …

Goパッケージ依存管理最新事情

はじめに Goの依存パッケージ管理といえば、以前から以下のような問題点が指摘されており、 総じてイマイチ、というのが通説である気がします。 外部依存ライブラリのバージョン等が指定できないためビルドの再現性が保証されない 複数prjの開発を同一環境で…

Go1.6 パフォーマンスについて

Go1.6リリース! 去る2016/02/17にGoの1.6がリリースされました。 という訳で色々試してみようと思ったのですが、やりたかったことのほぼ100%を すでにRC版で実施されている方がいましたので有難く内容拝見させて頂きました。 良記事オススメです。 qiita.com…

docker-slimによるImageの簡単ダイエット

Docker Container Imageのダイエット 先日こちらに参加してきました。非常に興味深い内容ばかりだったのですが、その中でもこのスライドの内容はとても印象に残りました。 私自身は残念ながら今の職場がオンプレミス環境(一部ハイブリッド)なこともあり、Doc…

Go言語でのimport cycle not allowedに対処する

はじめに golang でのWeb開発では、RubyにおけるRailsのようなデファクトスタンダードなフレームワークがないので、 パッケージ構成に関して、開発者に大きな裁量があります。 通常、Web開発では多くのフレームワークが採用しているMVC + Service的な形のパ…

IntelliJ IDEAでファイル保存時にgoimportsする

小ネタです。 やろうと思いつつ出来てなかったのですが、 goimportsしないで許されるのは2015年までだよねー、ということでやってみました。 Version IntelliJ IDEA Version 14.0.3 goプラグインの導入 まずこちらを入れます goimportsショートカットの割り…

ZooKeeper を使った Service Discovery入門

ZooKeeper ZooKeeperとは、CoreOSのetcd や Hashicorpのconsul等とよく並び称される、 いわゆるCordination Serviceツールです。 詳しく知りたい方は、公式ドキュメントを、とりあえずおおまかな特徴を抑えたいという方は こちらの記事が非常によくまとまっ…

Go VS Elixir (1)フィボナッチ数列

最近仕事はもっぱら Go を使うことが多いのですが、 Elixir がここ最近気になっており学習をしています。 ということで、思いつきで性能比較をしてみました。 検証環境 MacBook Pro (Retina 13-inch、Early 2015) プロセッサ 3.1 GHz Intel Core i7 メモリ 1…