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

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

ビヘイビア駆動開発(BDD:Behavior-Driven Development、振る舞い駆動開発ともいう)を実務に沿って簡単に紹介し、ソフトウェア開発プロセスに対してこの手法がどれほど有益かを説明します。 はじめに […]

パフォーマンス分析のメソドロジーとは、システムやアプリケーションのパフォーマンスを分析する際に準拠できる手法です。メソドロジーを手がかりとして作業に着手できますし、根本原因やその他の要因の発見に役立ちます。異なる種類の問 […]

私はここ最近、いわゆるシングルページWebアプリケーションのパフォーマンスの最適化に取り組んでいます。そのアプリケーションは非常に動的かつインタラクティブで、新しいCSS3の利点が詰め込まれたものです。単に角丸やグラデー […]

過去9年わたりWebアプリケーションを開発してきたNiket氏(@nexneo)は、2013年からGoを使って作業をするようになりました。この講演では、彼がどのようにRubyのモノリシックアプリケーションを分解しつつ、G […]

これはある仕事熱心な若手開発者のほぼ実話です。2004年の後半、この若手開発者は小さな会社で働き始めました。条件は全て彼の望みどおりでした。給料はいいし、扱うのは彼の得意とするプログラミング言語、アプローチの複雑性、モデ […]

数百万年前、猿は木の上から地上に降り、その親指は他の4本の指と相対するように進化しました。そして最終的には人間へと進化を遂げたのです。 コードレビューの義務化を同様の観点から見てみましょう。つまり、ソフトウェア開発という […]

バックエンドエンジニアとフロントエンドエンジニアの違いは、前者は1つの環境で仕事をするのに対し、後者は予期せぬことが起こる可能性のある数多くの環境で仕事をするということにあります。 「複雑なJavaScriptで動くWe […]

Gitを使用している人であれば、プルリクエストには馴染みがあるでしょう。これは、分散バージョン管理システムが世に出始めてから、何らかの形で使われています。BitbucketやGitHubのように凝ったWebユーザインター […]

私は管理職になりたてです。今まではプログラミングの技術に注目することに時間を費やしてきましたが、現在はプログラミングの技術に注目する人たちに注目することに時間を費やしています。 15年間、私は開発者コミュニティと呼ばれる […]

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