git commit --fixup とは何か
git commit --fixupというオプションの存在を最近知って調べた。ヘルプとリリースノートより"git commit" learned the --fixup and --squash options to help later invocation of interactive rebase. Git v1.7.4 Release Notes --fixup=<commit>...
View ArticleQiita 記事中のコード片をダウンロードするツール
Qiita に書かれた記事、とくにシェルスクリプトに関するものはローカルに保存して実行できる便利な「おみやげ」が含まれているものも少なくない。そして多くの場合そのソースは当該記事そのものであって、Gist...
View ArticleISUCON5 本選に参加して7位に終わりました #isucon
表題のとおり、ハロウィンの夜ゾンビ化した渋谷の街でヒカリエに取り残された俺たちは、ISUCON5本戦に参加してきました。予選はこちらをご覧ください:motemen.hatenablog.comチームは id:wtatsuru(たつる先生)と id:ichirin2501(いちりんちゃん)とで組んだ「2nd Party...
View ArticleSlack のログを自動で Google Spreadsheet に保存する
2015-11-13 16:40 追記以下のスクリプトの利用が Slack の TOSに触れるのではないか……という指摘をいただきました。No Other Storing. You may not copy or store any Data or capture or store any information expressed by the Data (such as hashed or...
View Articlegoiferr で Go のエラー処理コードを自動挿入する
Go 言語には例外機構が備わっておらず、関数や手続きのエラー的な状況を表すには、返り値を多値にして本来興味ある結果とともに error インターフェイスを返す、というのが一般的です。例をあげるまでもないですが、ファイルを開くという(失敗する可能性のある)処理を行うならこういう感じ:f, err := os.Open(filename) if err != nil { // handle err }...
View Article任意の入力を human-readable にする humr ってツールを書いた
Web サーバのアクセスログを tail してながめている時にパーセントエンコーディングされた文字列をデコードしたり、コマンドラインで数字を sort -nしたあとにでかい数字を丸めて表示したり("1234567"を "1.2M"に、とか)したくなることが多かったので、その辺を汎用的におこなってくれる humrというツールを書きました。npm でインストールできます:npm install -g...
View Article2015年に作ったもの20点(セルフレビューつき)
いちおう振り返っておかないと 2016 年を迎えられないという心持ちになったので、全部ではないけど列挙する。また、作ってブログに書いたけど自分では使ってません、というのも無責任なので、現在自分で利用中かどうかも添える。go-typeswitch-gen (Go、コマンドラインツール)Pocket...
View Articlesbt で Vim のスワップファイルが watch されるのを抑制する
Scala の話。sbtで ~compileとかしてるときに Vim で新しいファイルを編集しはじめるとコンパイルが始まってなんだこりゃとなることがある。いまいちまとまった情報がないのでここに記しておく。こういう場合...
View Article『圏論の歩き方』が難しかったので『Basic Category Theory for Computer Scientists』を読んだ
先日ウィッシュリストから『圏論の歩き方』を贈ってもらいました。圏論を使っているさまざまな分野の若手研究者がオムニバス形式でその紹介をするというもので装丁も可愛らしくとっつきやすそうな感じ(という甘い考えはすぐに砕かれますが)。圏論の歩き方圏論の歩き方作者:圏論の歩き方委員会出版社/メーカー:日本評論社発売日: 2015/09/09メディア:単行本この商品を含むブログ (1件)...
View Articlesbt の依存ライブラリを一括 ghq get する
Scala を書くときは IntelliJ Idea みたいな IDE を使っていればドキュメントを確認しやすいのだけど、やっぱ手慣れたものを使いたい。というわけでだいたいの時間はテキストエディタ(Vim)を使っている。そういう時、ソースコードが手元にあると開発の助けになる。updateClassifiersタスクを使うことですべての(推移的)依存をダウンロードできるらしいが、この場合ファイルは...
View Articlegit fetch の裏側では何が起こっているか
git fetchの裏側でどんな通信が行われてリモートリポジトリの内容が取得できるのか調べたのでまとめる。もともとは git の HTTP や SSH といったプロトコルでどのように実現されているか、というところに興味があった。Git v2.7.1 を基にしている。事前準備pack プロトコルpkt-line フォーマットReference discoveryPackfile...
View Articlelgtm.sh をバージョン 0.4.0 にアップデートした
lgtm.shをバージョン 0.4.0 にアップデートした。motemen.hatenablog.comhomebrew でインストールできるようになったhomebrew-motemen/lgtm.shbrew tap motemen/motemen brew install lgtm.sh でインストールできる。もともとのスクリプトの性質上...
View Articleリスクを直視しないという罪:『熊とワルツを』
ウィッシュリストに入れてたのを同僚が贈ってくれた。熊とワルツを リスクを愉しむプロジェクト管理作者:トムデマルコ,ティモシーリスター出版社/メーカー:日経BP社発売日: 2013/09/12メディア: Kindle版この商品を含むブログ (4件)...
View Article第三者のための『リーダブルコード』
新人エンジニアにオススメの本のひとつだよねー、などと言いつつ自身は読んだことがなかったので慌てて買って読んだ。お題「リーダブルコード」リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典出版社/メーカー:オライリージャパン発売日:...
View ArticleAsciiDoc(Asciidoctor)の文書をtextlintで校正する
AsciiDocはMarkdownのようなテキストマークアップ言語のひとつで、ページ内リンクや脚注などかなり機能が豊富なので、大きめのドキュメントを本腰を入れて書くなど、表現したいものがある程度複雑なときに便利。DocBookというフォーマットを通じて、HTMLだけでなくPDFとかroff形式にも変換できるらしい(やったことはない)。GitのドキュメントがAsciiDoc形式で書かれているのを見て知...
View ArticleGo 言語における並行処理の構築部材
5年前に買った『Java並行処理プログラミング ―その「基盤」と「最新API」を究める―』をようやく読んだ。買った頃には Perl やシンプルな JavaScript ばかり書いていたので並行プログラミングなんてほとんど気にすることがなく、実感がなくて読むのも途中で止まってしまっていた本で、家を掃除しているときに見つけたもの。その後も趣味で Android アプリを書くなど Java...
View ArticleOAuth2 のフローを Alloy Analyzer でモデリングする
趣味でウェブの認証 API を地力で設計しようとしていたときに、認証フローの仕様を頑張ってこしらえたとして、その正しさをどうやって保証するんだろう?...
View ArticleAlloy をコマンドラインから実行できるツールを書いた
先日触れた Alloy は、エントリの最後に書いたようにインクリメンタルなモデリングを行うためのものだけど、基本的に提供されているインターフェイスが GUI...
View Articleはてなの3代目CTOに就任しました
はてな退職の辞 - stanaka's blogにある通り、id:stanakaの引退に伴い、2016年8月1日付で私の勤務する株式会社はてなのCTOに就任いたしました。初代のはてなCTOが...
View Article