Untitled

Nov 23

The Zen of Python, by Tim Peters

% python
Python 2.4.3 (#1, Sep  3 2009, 15:37:37)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
»> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one— and preferably only one —obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea — let’s do more of those!


Nov 20

Nov 19

元ネタなのですが。こんな話を、ずいぶんと昔に聞きました*1。

—————————————————
ある男が腹を空かせていた。

そこで、まんじゅうを一つ食べた。でもまだ空腹は満たされない。

二つ目のまんじゅうを食べた。でもまだ空腹は満たされない。

三つ目まんじゅうを一つ食べた。ようやく空腹は満たされて、男は言った。

「なんだ。はじめから三つ目のまんじゅう1つだけを食べればよかった。
—————————————————

これがどれほど愚かな話かはわかると思うのですが…本当に理解できているのでしょうか?

使っているフレームワークの、関数の、システムの裏側はブラックボックスのままでよいです。

別に普段、HTTPやSMTPやその他プロトコルについて考え思いを馳せる必要もないです。

メモリとかCPUコストとかを意識する必要もありません。

ちゃんと学び理解しているのなら。

ブラックボックスは必要なら開いてホワイトボックスに出来るからこそ「必要な時までは」ブラックボックスでよいのです。

最低限一度以上はきちんとRFCを読み、また必要であるならいつでもそこに立ち返る事が可能であるからこそ「今この瞬間は」別に考えなくてもよいのです。

必要であればメモリ的にタイトなコードが組め、CPUがどう動いているかを理解し考察し、そのために必要なコードに置き換える事が出来るからこそ、「そこまでタイトな要求でなければ」そこまでを意識しなくてもよいのです。

やらない事は時として非常に大切ですが。

「出来なくてもよい」わけではないのです。

大切なのは「出来るけどやらない」。切り札は切らないためにあるものですが、同時に「それを持っている事」自体が交渉において強い圧力となるのです*2。

そうして、そうした基礎を学ぶためには、結局の所「結構泥臭い基礎」が必須かつ不可避なのです。

「メモリなんか意識しなくても大丈夫」「コンピュータアーキテクチャなんかわからなくても今は問題ない」その他諸々。とんでもない誤解です。

基礎が出来ていなければ、便利さの裏側にある「不便さ」を知らなければ、結局その先を十分に享受する事は出来ないのです。

一つ目と二つ目のまんじゅうを食べたからこそ、三つ目のまんじゅうで「満腹」という幸せを享受できるのです。

あなたは。

ちゃんと基礎を、裏側を、背景を知り、学んでいますか?

それとも、三つ目のまんじゅうだけを食べようとしていますか?

学び実践するためのパターン - がるの健忘録 (via petapeta) (via etecoo) (via thresholdnote) (via tscp) (via nagato3104) (via otsune)

Nov 10
“うちの旦那、貯金ないけどフリーになったぞ・・・。” Twitter / natura (via semi) (via sugizou) (via otsune)

Nov 6

Nov 3
“MySQL にインデックスちゃんと張れなくても、営業がよければ生き残れる、営業重要” はてなブックマーク - 想定通りブログで稼げる会社になった:ITpro (via otsune)

Nov 2

「こういうコードが恥ずかしいコードである」
という価値観について、上級技術者間で意識統一がなされていればね。

ようするにコードレビューと言うのは、大学の研究室で言う輪講とかと同じなんです。
コードをよりよいものにする、と言うのも目的の一つですが、コードを組んだ人のレベルアップを図る、という目的もある。

十分な人数の、良く判っているプログラマがいるならばペアプログラミングも良いでしょう。でもペアを組んで回れるほどレベルの高い人がいなかったら?
「教授と助教授と助手の目の前で発表させる」
しかないじゃないですか。

もちろん、この作業は「教授や助教授や助手」の時間を食います。もしあまりにも多くの時間を食うのであれば可能性は次の3つのどれか。

1. 初心者が多すぎる。そのため、「教授や助教授や助手」の時間をフルに使っても、全部など到底見切れない。コードの品質は悪いままである。
2. 初心者が少なすぎる。コードの品質は最初から高く、いくら見ても時間の無駄である
3. 「教授や助教授や助手」のレベルに到達した技術者が実はいない。なので見当違いな所を見ていたり、全員が同じ間違いを犯していていくらレビューしても品質は向上しない

コードレビューって意味あるの ? (via sett4) (via zero-note) (via otsune) (via gkojax) (via parallel)

“いくつかListに登録してもらっているのはありがたいが、私はbotではないぞ。autobotだ。” Twitter / オプティマス・プライム (via rpm99) (via forzando) (via yellowblog) (via andi-b) (via otsune)

Oct 27
“「入門 GIT」が神本である件。 git 利用者だけでなくすべての開発者が読むべき本” 「入門 GIT」が神本である件。 git 利用者だけでなくすべての開発者が読むべき本 : tech.kayac.com - KAYAC engineers’ blog

“もうひとつ言わせてもらっていいですか? CTO っていうのは、 「技術者にとっての社長」という役割を果たすべきではないのかな。 技術者はビジネスに対して本音の所では興味が持てない。 なので、社長に本当に心の底から共感できるかというと、微妙。 そういう社員も多いんだろうな、 そういうときにビジネスのことばかり言ってないで技術の話もすれば、 共感できるんじゃないか。” 仙石浩明CTO の日記: パネルディスカッション ~CTO のから騒ぎ for the future~ に登壇しました

Page 1 of 15