misc

デザインパターンにまつわるエトセトラ

社内でデザパタが盛り上がっていたので、社内勉強会でLTしました。 その資料です!基本的に自分はデザインパターンは「言語に依存しない設計に名前をつけたもの」だと定義しています。 なので、よくある「デザインパターンってJavaじゃないと役に立たないよ…

時間がないなら生活を自動化すべし

プログラマの明言として、こんな言葉があります。 プログラマーとしての君の仕事とは、君自身をクビにすることだ。君が今日やっていることは、明日には自動化することもできるのだ。 さて、生活で自分がやらなくても良い事を自分がやっていることないでしょ…

僕と契約してPythonistaになってよ!

すっかり更新が滞ってましたが、 弊社が東京(都庁前)にてPythonでアジャイル開発できる仲間を募集しています。 開発対象は、大規模アクセスをさばくソーシャルアプリおよびその環境周りです。 基本、Python、Django、Flask、Redis、memcached、MySQL、Git…

気がついたら放置すぎた

気がついたらもう今年も終わろうとしているので、 そろそろ本気出す。

MBAほしいわー

我ながら、 MacBook Air 11インチ欲しい! とかの更新しかしないとかどうかと思う。

Python Hack-a-thon 2010.11でDjangoの話をしてきました

日本オラクルさんで行われたPython Hack-a-thon 2010.11でDjangoの話をしてきました。 スタッフの皆さん、参加された皆さんお疲れ様でした! Python x D jango x AWSで作るソーシャルアプリのお話です。 当日の直前まで資料をつくっていたので、時間配分がで…

Visual Source Safeについてチェックしておきたい5つのTips

こんなTB()を戴いていたので。別に VSS をディスル post じゃないです。お間違いなく。 ……ということでVSSを使う場合にチェックしておきたい5つのTipsです。 1.なんとしてもVSSを使わないようにしようVSSは有料ですし、無料でさらに高性能なSubversion…

Emacsの凄いところを3つ挙げて見る

とりあえず、30歳まではEmacsを使った事がなかったよ、 という俺ですが最近はすっかりEmacsです。いままで使ってきたエディタは、 WindowsではPeggy ProとEmEditor、OSXならTextMateでした。じゃ、なんでEmacsにしたかというと、 偏に、 「WindowsでもOSXで…

「最短経路の本 レナのふしぎな数学の旅」を読みました

きしださんの日記で紹介されていたので、つい買ってみました。 2010-06-18 - きしだのはてな きむら(K)さんに 「今まで読んでなかったんかい」 Twitter / finalfusion: @isoparametric 「今ま�� と突っ込まれるくらい必読本でした。がはっ。 ということで、…

面白かったので怖い話の反応に反応してみる

id:Dr_Caligariさんから面白い反応があったので、 俺も思ったことに対してつらつら反応してみます。 普通にコメントしようと思ったのですが長くなったのでTB返しで。 私が書くのはゲーム業界のプログラマーという狭い世界で生きている人間が思った事 という…

Python Hack-a-thon 2010.07で「本当にあった怖い話」をしてきました

土曜日のPython Hack-a-thon 2010.07で「本当にあった怖い話」をしてきました。 会場を提供してくださったオラクルさん、 そして、スタッフの皆さん、色々準備ありがとうございました。 また、参加者の皆さんお疲れ様でした! (レポートは別途書きます)で…

GC読書会

そういえば、土曜日ですが、 『ガベージコレクションのアルゴリズムと実装』読書会@関東 : ATND これに参加してきました。 主にマークスイープGCとインクリメンタルGCを読み合わせして、 各所で質疑的な何かをしていました。詳しくは、きむら(K)さん参照。 …

お仕事変わりました

とにかく年末は死んでいたので、お仕事変わりました。 ただ、色々柵で短期の仕事をしているので、 あと数ヶ月したら、もっときちんとしたところにいくです。 たくさんコードを書ける場所を探し中。 (というか、俺にちゃんとコードを書かせてくれるところ) …

Visual Source Safeを使用するのは狂気の沙汰

きっかけ。 元ネタ。 俺はVSSを使用しようというプログラマを信用しない。(と宣言しておく) 割と適当訳なのでご了承ください。 時々現れる、どのバージョン管理ツールをつかうのかという宗教的議論の中で、 私はマイクロソフトのVisualSourceSafeが一貫し…

自分の書いたソースには過去の自分の見識しかなく、先人の書いたソースには先人の見識がある

このように数多くのプログラマが「車輪の再発明」の罠に悩まされているのですが,車輪の再発明(より正確に言うと,車輪の再実装)にはそれなりに意義もあります. 車輪の再実装 - Life like a clown id:tt_clownさんの反応に対してですが、 まず、自分も「…

「俺のソースだから」というプログラマは死んだらいいのに

最近こんなやりとりがあった。 「Cって標準のコンテナ(双方向リストや可変長配列など)がなくて不便。 Cのプロジェクトってコンテナ自体ないこともあるし、コンテナがないとプログラムって書きにくいよね。 その点C++はSTLが(ry」 ... 「コンテナ? STL“も”…

恐れることなく設計を正せ

どんなに正しく設計をしたつもりでも、 どこかで必ず「これは設計を直した方がいいのじゃないか?」 と思うことがある。そういうときに聳え立つ「既に書かれたソースたち」。 基本インターフェイスで対話していても 抜本的に手をいれなければならない事もあ…

未だにとらドラフィーバーから脱出できないorz

自分はなかなかとらドラフィーバーから、脱出できずにもがいてます。 あれ、おかしい……、というくらいはまってます。 放送のときにリアルタイムにはまったわけではないのですが、 たまにエピソードを見なおしたり、 キャラクターソングを聴いてしまったり、 …

最適なデバッグは可能性を潰していく事

minekoaさんのエントリを読んでいて、 「そうそう、コンパイラがこんなこと言うときは実際にはあんな事が起きてるんですよ」みたいな知識データベース。そしてコンパイラが検出出来ないタイプのバグについても、現象に「あれ?、どこかでみたぞ、これ」とな…

実績があるコードと製品に使った事があるコードは違う

よくあることなんだけれど、「社内の実績があるコードを使え」と言われて見てみると、 「これはひどい」というコードであることがある。 そういう人が言っている「実績がある」は「製品に使用した事がある」なんだよな。例えばあるデバイスから、非同期で読…

2ヶ月も放置してた

最も忙しい時期ですが、なんとか蘇ります。

DebugHacks買ってしまった

BinaryHacksがあまりに素晴らしかったので買ってしまいました。/(^o^)\ id:Isoparametricさんと同じくBinary Hacksで気を紛らわせていた俺には超朗報!こういうTシャツとか勉強会に着て行きたいよね!!Valgrindウマーということで応募!!! DebugHacks&Tシ…

基本装備と心得の本

プロダクティブ・プログラマ -プログラマのための生産性向上術 (THEORY/IN/PRACTICE)作者: Neal Ford,島田浩二(監訳),夏目大出版社/メーカー: オライリージャパン発売日: 2009/04/27メディア: 単行本(ソフトカバー)購入: 14人 クリック: 218回この商品を含…

スタックとヒープは同一?

密やかな違和感。 「ヒープ領域」「スタック領域」といっても結局、物理メモリ上の領域をVM側等で扱いやすいように役割毎に分割してそう呼んでいるだけ、結局は同じ物理メモリ上。 我々が日々目にする(あるいは構築する)アプリケーションで「ヒープ領域」「…

インターフェイスについて深く考えたり、定量化を考えたりする

ために、この2つの本を読むべき。 誰のためのデザイン?―認知科学者のデザイン原論 (新曜社認知科学選書)作者: ドナルド・A.ノーマン,D.A.ノーマン,野島久雄出版社/メーカー: 新曜社発売日: 1990/02メディア: 単行本購入: 29人 クリック: 807回この商品を含…

世の中がDebugHacksと言っているのに

あえて、BinaryHacksを読んだ。 おもしれええええええええええええええ。 Binary Hacks ―ハッカー秘伝のテクニック100選作者: 高林哲,鵜飼文敏,佐藤祐介,浜地慎一郎,首藤一幸出版社/メーカー: オライリー・ジャパン発売日: 2006/11/14メディア: 単行本(ソフ…

勉強会やりたいよー

で、最後にデザインパターンの存在自体を紹介して、もっと勉強したけれは オライリーの HeadFirstデザインパターン で独習してね、と生徒に丸投げして終了です。(手抜きだなぁ) 我が家のOOPの研修 - みねこあ みねこあさんのこの勉強会に憧れを抱きます。 …

リスコフの置換原則違反のような

ちょいと気になったので。 ActionScriptは全く知りません。すびばせん。 たとえば ActionScript の Loader なんかが良い例です。 Loader は DisplayObjectContainer を継承しているので表示ツリーを構成できるはずなのですが、これをやると例外が飛びます( …

returnはCommitで、throwはReset?

うーん、 returnをすることもthrowをすることも、 実際には上位に対して何らかの状態を伝えるために戻る、ということをするわけで、 bool File::open(const char* path) { if (!FileSystemOpen(&handle_, path)) { return false; } ... }はダメで、 bool Fil…

loggingにはgotoを使いたいだろうか?

田辺さんからご指摘があったので。元のコード。 public function getSystemValue($key) { $this->getLogger()->log(LOG_DEBUG, 'start'); // すでに読み込み済みデータの場合はそのデータを使用 $value = $this->findCache($key); if (!is_null($value)) { g…