ここでは、私がたどりついた最善のやり方を紹介しましょう。個人的に過去数年にわたって大量のGoコードと付き合ってきた経験から集めたものです。これらは全て非常にスケーラビリティがあると思っています。私が、スケールする、と言う […]

最近、2つの出来事があり、私が行っているパフォーマンスへのアプローチ方法は、あまり広く知られていないようだと感じさせられました。 1つ目の出来事は、redditでBufferBuilderを発表した際に、初期のコメントで […]

これは私が長年ソフトウェア開発をする中で役に立つと思った教訓と経験則のリストです。 開発 1. 小規模なものから徐々に拡張していく。私は日頃、新たなシステムを作るにせよ既存のシステムに機能を追加するにせよ、必要な機能すら […]

ペースが速い現代のソフトウェア開発環境では、テスト駆動開発(TDD)という言葉をよく聞きます。その利点だけでなく欠点についてもソフトウェア開発コミュニティでよく議論されています。TDDについて、”自己嫌悪に陥 […]

Webアプリケーション向けにサーバを立ち上げるスクリプトを書いているとしましょう。 def deploy(ip): copy(‘code/’, ip + ‘:~/code’, recursive=True) write_ […]

(このシリーズのPart 2はこちら: Node.jsフロー制御 Part 2 – FiberとGenerator) 今回は、JavaScript/node.jsアプリケーションのフロー制御に対するアプローチを、いくつか […]

私はこの7年半、Ronimoでプログラミングを学ぶ多くのインターン生を指導し、様々なタイプの大学生や大学院生を見てきました。彼らのほとんどには、共通して言える学ぶべきことがあります。特別なテクニック、アルゴリズム、数学、 […]

先週、Hacker News上で興味深い議論が行われました。テーマはLinux Kernelのコーディングスタイルについてです。 議論の中で私は、コーディングで垂直方向にそろえるインデントをとるべきかというささやかな聖戦 […]

私はコードにコメントを書く際の哲学について書いた投稿の中で、必要のないコメントこそが、最も優れたコメントだと書きました。この点についてもう少し説明させてください。まず、コードはコメントに頼らなくても理解できるようにできる […]

コードには1行ごとに隠しドキュメントがあります。 次のコードスニペットの4行目を書いた人は、何か理由があってDOMノードのclientLeftプロパティにアクセスしたのでしょうが、結果的に何もしていません。これはかなり不 […]

開発手法の大半は、まずKent Beckの有名な著書『Extreme Programming Explained: Embrace Change』(邦訳『XPエクストリーム・プログラミング入門』)、そしてGerald W […]

ここ数年間をプログラミング的な観点で見ると、私が望んでいたほどには面白みがなかったと言わざるを得ません。このことは、恐らく他のプログラマの皆さんも同意見かと思います。そこで、私はこの期間をある意味、充電期間と捉えて、自分 […]