#97prog_ja 91 良いプログラマになるには

このエントリを読んで昔よりはまともなソースコードが書けるようになったかな、と振り返った。 昔は良いプログラムを書こうとしても書けなかった。経験も努力も足りなかった。 多分達人プログラマになりたいのであればこのエントリにある通りに努力して実践…

#97prog_ja 90 コードを見る人のためにテストを書く

このエントリはタイトルが秀逸すぎる。 一体誰のためにテストを書くのか?それはコードを見る人のためだ。 コードを見る人は未来の自分かもしれない。もしくは自分以外の誰か。 そのためには良いテストを書かなければならない。良いテストとは何か?コードが…

中学時代の同窓会に参加した

同期の人たちとは12年ぶりの再会。3つぐらいにまとめる。 意外とエンジニアが多い(※ただしコンピュータに限らない) 仲の良かった友人たちの多くがエンジニアになっていて驚いた。 エンジニアって人気なのかな? 話をしてみると多くの人が今の仕事に不満を…

チケットに対して詳細に解説を書くのが面倒くさすぎた

チケットに対して詳細に日本語を書くのが面倒すぎた。 日本語で文章を解説するという行為があまりにもクリエイティブすぎて挫折した。代わりにチケットにはコメント付きのソースコードを書いた。 大体10分ぐらいで表現したい内容を詳細に書けた。プログラマ…

Mac OS X Lion のApacheの設定

mac

メモ。 # umaskの設定を.bash_profileに記述 umask 0002 # phpのコメントアウトを外す sudo vi /etc/apache2/httpd.conf # 権限の調整(なぜか自分がstaffグループだったのでDocumentsをstaffに) cd /Library/WebServer/ sudo chown root:staff Documents/ su…

#97prog_ja 84 正しいアルゴリズムとデータ構造を選ぶ

プログラミングにおける「再利用」を重視する人は多いですが、いつ、何を、どのように再利用すべきかがわからなければ、良い結果にはなりません。それをわかるためには、問題領域について、またアルゴリズムとデータ構造について、十分な知識が必要なのです…

#97prog_ja 83 UNIXツールを友にする

もし無人島にIDEかツールのどちらかしか持っていけないとしたら、私は迷うこと無くUNIXツールを選びます。 もちろんそんなシチュエーションは存在し得ないとは思うが 僕もUNIXツールを選択する。 ここで言うUNIXツールとはコマンド群の事。 テキストの取り扱…

#97prog_ja 82 他者への思いやりを意識したコーディング

Webに限って言うなればプログラマやデザイナどちらも対象とすることができるエントリ。 そのコードに触れた誰もが、触れる前より良い人間、良いプログラマになれる 誰かが書いたコードの質は、必ず誰かが書くコードの質に影響します 最近特に疎結合を意識し…

社内DDD読書会に参加した

DDD本はドメイン駆動設計とかモデル駆動設計とかドメインモデルとかドメインとかモデルとか似たようなワードが多くて混乱していたんだけど社内の人と話していくなかでこの本の用語がハラオチした。 ドメインというのは業務とか業界を指す。また、ビジネスの…

ヒストリエ7巻が出た。

Amazonで予約注文したが会社に発送している(今日は祝日)

#97prog_ja 80 1人より2人

私は「ペアプログラミング」の信奉者です。ペアプログラミングは、協力の究極のかたちと言ってもいいでしょう。ペアプログラミングの利点は、プログラマとしてのスキルが確実に向上するということです。プログラミングの技術、あるいは問題領域についての知…

スティーブ・ジョブズ1&2

読んだ。 この本を読み終わってもっと情熱的に生きないとダメだなと自分の人生と照らしあわせて反省した。

#97prog_ja 79 テストのないソフトウェア開発はあり得ない

橋の構造解析に時間がかかるように、テストにもやはり時間がかかります。しかし、どちらも最終的な成果物の質を一定以上に保つためにすることです。 最近リリースしたプロダクトが結合テストと運用テストが 甘かったのでデータ保持やUIの品質が低くなってし…

#97prog_ja 78 テストは夜間と週末に

今のプロジェクトでは毎日AM1:00ごろにDailyBatchと称してユニットテストを作動させている。 ユニットテストは大体5分ほどで完了している。夜間に稼働させたほうが節電できるしね。 毎朝DailyBuildが送信するメールをチェックして失敗したテストがあればチケ…

#97prog_ja 76 コード分析ツールを利用する

前々からやりたいと思っているのだがなかなか手が出せていない。 静的なコード解析ツールを用いることでリポジトリにコミットされているコードをチェックすることができると思うが時間が作れていない。 でもちゃんとやろうと思うのでエントリには残しておく。…

#97prog_ja 75 面倒でも自動化できることは自動化する

自動化するためのステップがやや面倒でも自動化はしたほうがいい。 例えば毎日5分、何かしらのコマンドを書いてファイルを保存するという作業を 手で行なっているのであればそれはスクリプトを書いてcronに登録したほうがいい。 Excelであればマクロを書いて…

#97prog_ja 72 シンプルさは捨てることによって得られる

「やり直し、だな…」、Deleteキーを押しながら上司が言いました。私は、毎度のことながらとても沈んだ気持ちで、コンピュータの画面を見つめていました。私の書いたコードが1行、1行きれいに消されていくのを見ていたのです。 上の例はすごく極端で上司と部…

#97prog_ja 70 シングルトンパターンの誘惑に負けない

シングルトンパターンが安易に使われてしまうとユニットテストがしにくくなりそう。 と、このエントリーに書かれていたのでそう思った。 シングルトンパターンの使い所は見極めよう。 シングルトンパターンは、必要なインスタンスが絶対に1つだけと確信でき…

ユーザーストーリーのワークショップに参加した

むずかった。というかXPやパターン、Scrumに関しての前提知識が足りなさ過ぎてついていけていなかった。ただ、明日から実践できそうなことを書くと、 今日のワークショップで学んだユーザーストーリーの定義についてチームメンバーにシェアする Redmineのチ…

#97prog_ja 68 「人間」を知る

ソフトウェア開発のプロジェクトでは、よほど小規模なプロジェクトは別にして、必ず人と人が共に仕事をすることになります。 (中略) つまり、人は、人とともに、そして人のためにソフトウェアを書くというわけです。 プログラミングにかまけていると人との…

#97prog_ja 67 コードを読む

私たちプログラマは妙な生き物です。総じてコードを書くことは大好きなのに、 コードを読むとなると嫌がってしまうという性質があります。コードを書くのは楽しいのに、 読むのは辛いと感じるのです。特に辛いのが、他人が書いたコードを読むことです。 他人…

#97prog_ja 66 いったんコンピュータから離れてみる

今回は短めの感想。 たまにはコンピュータから離れよう! というのがこのエントリーの肝。 ある問題について十分に考えたら、あとは音楽を聴くなり、散歩をするなどして脳の創造を司る部分をはたらかせてみてください。 じっとコンピュータの前に座って考え…

「パソコン界の先駆者そのベンチャー精神に迫る」の動画を見た

この動画のスティーブ・ジョブズ氏の言葉で心に残ったもの。 困難な状況に陥ったときに、リーダーがどのような価値観に基づいて、どのような決断を下すのか。社員は皆見ています 私は組織を非常にシンプルにして限られた範囲に焦点を絞りそこに集中します エ…

社内のTDDミニワークショップに参加した

講師は @katzchang (ありがとうございました)。流れは以下のような感じ TDDって? TDDの良いところって? ペアプログラミングで実践TDD みんなでコードレビュー KeepProblem TDDビッグワークショップ開催予告 TDDの肝 TDDは開発手法でありテストではない T…

#97prog_ja 65 バージョン管理システムを有効に使う

バージョン管理システムを使い始めてしばらくしたら思ったことだがまさにこの通り。 プロジェクトを構成する要素は、とにかく何でもバージョン管理の対象のすべきでしょう。 ソースコードだけでなく、ドキュメントやツール、ビルドスクリプト、テストケース…

#97prog_ja 64 プロのプログラマとは?

プロのプログラマとは、どういう人のことでしょうか。 プロフェッショナルなプログラマの最大の特徴は「自分が責任を取る」 という態度、責任感です。プロのプログラマは、まず自分のキャリアに 責任を持ちます。責任の取れないような見積やスケジューリング…

Mac Book Air 13インチにPHPUnit入れた

php

sudo port clear php5 sudo port install php5 +pear sudo port install php5-curl sudo pear channel-discover pear.phpunit.de sudo pear channel-discover components.ez.no sudo pear channel-discover pear.symfony-project.com sudo pear install phpu…

社内のエンジニア飲み会でプログラミングの話をした

jsやlispやJava、Rubyに触れては来たがほぼPHPerの自分にとっては他の言語を触ったことのある人の意見が面白かった。 もっといろいろな言語に触れないといかんなーと思いつつ PHPでプロジェクトを回している。 PHPに触れることに不服はないけど視野を広げる…

週末やったこと

GYM行った カンフーパンダ観た 32kmぐらい自転車で走行 Minecraftで本家と別荘間に線路引いた プログラミングした(仕事)

カンフーパンダ観た

感想だけ書きます。 魔法なんてないカンフー・パンダ [Blu-ray]出版社/メーカー: パラマウント ホーム エンタテインメント ジャパン発売日: 2010/09/16メディア: Blu-ray購入: 1人 クリック: 4回この商品を含むブログ (7件) を見る