2010-12-01から1ヶ月間の記事一覧

11-ドメインの言葉を使ったコード

「プログラマが知るべき97のこと」の11個目のエピソードは、ドメインモデルの話です。「ドメイン」は、プログラミングを勉強している中で遭遇するちょっと意味のわかりにくい横文字の1つです。日本語訳すると「分野」とか「領域」等になりますが、しっくり…

2010年振り返り

気がつけばもう2010年も終わってしまいます。 去年は年末に振り返るのを忘れ、年明けに振り返りを行ってしまいました。今年は今年のうちに振り返りたいかと思います。 良かったこと・継続したいこと 何はともあれ、EtupirkaCMSのリリースを行えました。本当…

10-ツールの選択は慎重に

「プログラマが知るべき97のこと」の10個目のエピソードは、ライブラリなどツールの選定に関する話題です。最近はフレームワークやライブラリなどはオープンソースで公開されている事が多くなり、それらのほとんどは無償で利用できます。勿論、商用ライブラ…

pirka-slim3 0.1.0 リリース

pirka-slim3はテンプレートエンジン pirkaengine をGAEで利用する為のモジュールです。slim3を使ってJSPを利用したくない人にオススメです。 特徴 pirkaengineの最大の特徴は、JRE以外に依存ライブラリがない点です。したがって、GAEを扱う上での最大の問題…

09-他人より自分を疑う

「プログラマが知るべき97のこと」の9つ目のエピソードは、問題が発生したときの心構えです。誰もが経験したことがあるとは思いますが、実装したコードが期待通りに動かなかった場合に、真っ先にライブラリや実行環境を疑ってしまうことがあります。特にテ…

08-ボーイスカウト・ルール

「プログラマが知るべき97のこと」の8つ目のエピソードは、コードの美しさに関する話です。ボーイスカウト・ルールに習ってコーディングをするならば、「モジュールをチェックアウトする際には、必ずチェックアウト時よりも美しくする」というルールを課そ…

07-共有は慎重に

「プログラマが知るべき97のこと」の7つ目のエピソードは、再利用性に関する話です。本文にも書かれていますが、基本的には再利用は正しいことであり、ソフトウェアをコンパクトに保守・拡張しやすくするもので、強く推奨されるものでしょう。しかし、コン…

EtupirkaCMS 0.1.0 リリース

昨晩、Google App Engine/ JavaをプラットフォームとするCMS、EtupirkaCMS 0.1.0をリリースしました。 EtupirkaCMSはちょうど1年ほど前から開発をはじめたプロジェクトで、フレームワークにSlim3を採用し、GAEに最適化された設計になっています。当初はSpin-…

06-リファクタリングの際に注意すべきこと

「プログラマが知るべき97のこと」の6つ目のエピソードは、リファクタリングに関する話です。とはいっても、実装中の細かいサイクルのリファクタリングの話ではなく、前のリリースのコードに手をいれて良くしようといったスコープのリファクタリングの話に…

BDDの話をしよう

Java Advent Calendar -ja 2011の1日目のエントリーをお送りします。カレンダーが進むにつれて高度な話や高ブクマのエントリーが増えてハードルがあがっている気がしますが、ネタ臭香ばしく行きましょう。では、本題です。Google Codeにtumbler-glassという…

05-美はシンプルさに宿る

「プログラマが知るべき97のこと」の5つ目は、シンプルさに関する話です。簡単にまとめると「シンプルなコードは、可読性に優れ、個々の箇所の責務も適切に最小限になっており、テストもしやすく、保守も容易」であるという事です。きのこ本はどのエピソー…

04-コーディング規約を自動化する

「プログラマが知るべき97のこと」の4つ目は、コーディング規約とその自動化に関する話題です。「コーディング規約は可能な限り自動的・強制的に守られるべきであり、規約自体を状況に応じて適切に変えていく事が大切」と述べられています。 ところで、コー…

03-ユーザが何をするかを観察する(あなたはユーザではない)

「プログラマが知るべき97のこと」の3つ目は、ユーザインターフェイス・ユーザ価値・要求定義などに関わる話です。まとめれば、「開発者はユーザではないため開発者目線でアプリケーションを開発しがちだが、それは間違いであり、ユーザにとって使いやすく…

02-関数型プログラミングを学ぶことの重要性

「プログラマが知るべき97のこと」の2つ目の話題はこれも旬な関数型プログラミングの話題です。マルチコア時代が関数型プログラミングの流行の1つの理由ですが、自分も「関数型プログラミングのパラダイムを充分に学べば、その知識、技術は、マルチコアへの…

01 分別のある行動

最初の話題はTwitterでもよく話題としてのぼる「技術的負債(Technical Debt)」の話。最初からガツンと殴られる感覚です。 誰もが解ってはいるけど、政治的な理由・契約の問題・文化的な理由で「動くものはそっとしておけ」と負債を放置するのは精神的にも…

00 プログラマとして、この先生きのこれるか?

「プログラマが知るべき97のこと」、通称きのこ本*1で思うことをつらつら書こうシリーズ。最後まできのこれるか?プログラマが知るべき97のこと作者: 和田卓人,Kevlin Henney,夏目大出版社/メーカー: オライリージャパン発売日: 2010/12/18メディア: 単行本…

プレTDD BootCamp札幌を開催しました

えらく冷え込んだ上に雪模様となりましたが、本日は札幌JavaコミュニティでTDD BootCampの前哨戦を行いました。TDD BootCampは新年1月の後半に札幌で開催する予定ですが、その前にJavaに限定してしまいますがTDDをやろうという試みです。今日は年末・某忘年…

Pagesでダブルクォーテーションが勝手に変換される

Mac

ダブルクォーテーションには、LEFT DOUBLE QUOTATION MARK, RIGHT DOUBLE QUOTATION MARK, DOUBLE QUOTATION MARK の3種類があり、ソースコードでは左右を意識しない DOUBLE QUOTATION MARKを使います。エディタ等で入力していれば、Shift + 2 で入力される…

開発サーバの起動引数メモ

GAE/Jの開発サーバの起動引数とappengine-web.xmlに関して、ちょっとはまっていたのでメモしておきます。GAE/Jの開発サーバは、 com.google.appengine.tools.development.DevAppServerMain をエントリーポイントとします。これは通常のエントリーポイントの…