2016-01-01から1年間の記事一覧
会社は二年目に入り業務にも慣れ、ある程度まとまった仕事を任せられるようになりました。 携わっているサービスのコードに詳しくなり、リファクタリングの方向性を示して改善を進めてきました。 難しい障害も乗り越えながら、引き継いだ手綱を何とか制御で…
「SHA1ハッシュってあるだろう?」 放課後、いつものように情報処理室に行くと、高山先輩が嬉しそうな顔でそう言った。 「ええ、SHA1、ありますね」 「SHA1って何桁か覚えているかい?」 「えっと…」 一年下の後輩、岡村が口を開いた。 「50桁くらいはありま…
私はコードを書く時に頻繁にgit grepを使っていて、一日に何回くらいgit grepを使っているのか気になったのでログを取ってみました。 2016 10/24 月: 61 2016 10/25 火: 36 2016 10/26 水: 19 2016 10/27 木: 80 2016 10/28 金: 51 2016 10/31 月: 96 2016 1…
その瞬間は、前触れもなくやってきた。 いつものように、仕事帰りに烏丸御池の交差点で信号待ちをしていた。ちょうど赤に変わったタイミングで時間があったので、スマホでニュースを眺めていた。信号が切り替わり、そろそろ渡ろうとしてスマホをポケットにし…
Vim 8.0 released! Vim 8.0が先ほどリリースされました。10年ぶりのVimのメジャーバージョンアップです。 Vimのバージョンをcronで毎日上げ続け、最新のパッチを確認し続ける日々を送ってきました。そして、今日も夜11時のcronでバージョンが上がりました。…
setTimeoutは難しい。いつ呼ばれるかよく分からないし、ライブラリーを使うとそのライブラリーがsetTimeoutを使いすぎてしまう。よく分からなかったけどsetTimeoutすると動くからそうしていた、んだけど実はタイミングの関係で偶然うまく動いているように見…
先日、Twitterでqコマンドが話題になっていました。 github.com スターが3000を超えていてすごいですね。2014年から開発されているツールで、Pythonで書かれています。 これはGoで実装してみたいなーと思っていたところ、mattnさんが素早く実装されていまし…
Go言語でbase58コマンドを書きました。コマンドラインツールだけではなくて、Goのパッケージとして作っています。 github.com 仕事の関係でbase58を扱うことがあり、base64コマンドのように素早くコマンドラインで変換できるツールが欲しくなったので作りま…
あなたの好きな言語は何ですか。そして、あなたの好きなアルゴリズムは何ですか。 好きな言語があると、その言語でどんな問題でも解決しようとなりがちになります。その言語を極めるのは素晴らしいことですが、その言語や似たような言語でしかコードが書けな…
A - 赤赤赤赤青 n個の中の特定の一つのブロックを隣り合うブロックの入れ替えによって両端のいずれかに移動する最小の回数。 main :: IO () main = getContents >>= print . (\[n, x] -> min (x - 1) (n - x)) . map read . words B - □□□□□ n個のタイルをど…
4月頃から仕事中に両手の小指に痛みを感じるようになり、コードを書いては少し手を休めないとつらくなっていました。意図的に小指を使わないように打鍵したり、比較的指を使わないレビュー作業を合間に挟んだりしていたのですが、痛みは出てきたり引いたりと…
大学時代の友人に誘われて、しまなみ海道を自転車で走ってきました。 ゴールデンウィークということもあり、福山で乗り換えるとちらほら自転車乗りたちが見え始め、尾道ではたくさんの人たちが自転車を組み立てていました。9:30ごろ尾道からフェリーに乗り向…
迷路で遊びたくなったので作りました。Goで書いています。 github.com Homebrewをお使いの方は、次のコマンドでインストールしてください。 brew install itchyny/tap/maze そうでない方は、次のコマンドでビルドしてインストールするか、 go get github.com…
コードを書いているとき、対応する括弧はとても大事です。エディターの中でカーソル下の括弧がどこと対応しているかが一目でわかると便利です。Vimの標準のプラグインにmatchparenというプラグインがあります (:h matchparen)。 私もずっとmatchparenのハイ…
こんにちは。id:itchynyです。 自分の中で、ブログに書く価値のある内容どうかという基準がインフレしてしまって、最近は全くブログを書けていませんでした。 業務の中で学んだこと、家に帰ってから書いたコード、その他技術的に考えていることなど、ブログ…
Vimの<C-f>を押していくと、最後に一行だけになってしまいます。 おっと行き過ぎたと言ってわざわざ戻っている方も多いのではないでしょうか。 この世の中にはたくさんスクロールのUIがありますが、普通はこうなっていません。 ウェブブラウザーのスクロールも、P</c-f>…
Go言語には、gofmtというコードフォーマッターがあります。 標準ライブラリーで備えており、このフォーマッターをかけることを半ば強制することにより、Goで書かれたコードはどれも統一的なスタイルをしているように見えます。 gofmtには様々な機能がありま…
CodeforcesやProject Eulerの問題には、無限リストをうまく使うと綺麗に解くことができる問題がたくさんあります。 数列の性質から探索範囲の上界を決めて解を探索することが多いのですが、きちんとした根拠を持って上界を決めることができることは少なく、…