ぶろぐ

日記です

明日から本気出す


と思って、本気だすのに何が必要かなーとか思った。今まで凄い良いパフォーマンスで動けてたなーというのはあれかも。

  • フロー状態に入ること

全然遅延学習法でいいので「あそこを調べに行けば欲しい情報がある」っていう知識のインデックス化的なのを普段から作っておくと何かと捗る。(メソッド|インターフェース)だけ作っておいて実装は後でやる感じ。
知識のインデックスを作るためのインプット的な。本は斜め読みでOKな考え方。ほんとうに必要になった時読みに行く。「自分が観測できないものはないのと同じ」とかよく頭良さそうな人が言うように、そもそもそれを知っていないのと話にならない。

あと練習

遅延学習法でインデックスを張りまくったけど、いざ情報を(フェッチ|インスタンスを生成)しようとした時に時間がかかるようじゃフロー状態からすぐ抜けちゃう。
ので、日頃から練習しておいてちゃんと手を動かせるようにしておく。その為の作業環境の整備だったりツール類に精通しておくだったり。
ちょっと難しい概念は普段の練習で理解しておいて、いざ難しい概念にぶち当たった時にすぐ理解できるようにしておくとか。

をやっておけば…

いざという時フロー状態に入って凄いハイな感じでコード書ける気がする。
どんなバグでもかかってこいよ的な。
持ってなかった知識体系すら一瞬で構築できてしまいそうな勢い。
うおお、あとアレだ。脳みそを広く使うためにいちいち覚えなくていいことはメモに書きだしておくとか。例えばTODO。漏れがないかな、とか意識しながらやってたら脳みそのメモリが無駄!書きだして忘れる。

のためには

日頃から練習しておく事に尽きる気がする。


一番パフォーマンスよく動けていた時はそうしていたきがする!


一応今の会社でも、何かサーバーが上手く動かなくなった時とかにログ追ったりドキュメントを読み漁ったりして「これだろ!」って設定して上手く行って偉いっぽい人とか尊敬している上の人とかお客さんとかに説明しに行く時とか楽しい。
最近だと急遽必要になった、RESTfulで各サーバー(36台ぐらい?)に情報を取りに行くシェルスクリプトを1時間弱で書き上げて30分ぐらいで作りこみ、商用リリースの試験環境で動かした時とか気持ちよかった。頭では出来上がっているからコードに落とすだけみたいな。(コードの書き方はblogとかgistとかに書き残しているからコピって使ったり)
そのミドルウェアの動きを既に理解しているのと、最近シェルスクリプトにハマっていたからマッハで書けたけどObjective-Cとかだったら絶対無理だな…。



と、言うのを踏まえてなるべく仕事でもフロー状態に入れるように普段から基礎力を高めておきたいなぁと思う次第でした。