プロジェクト

全般

プロフィール

勉強パターン

概要

何となく自分がどういう風に勉強しているか、物事を考えているかをまとめたくなった。

背景

  • 性格の類型はMBTIとかいう奴でINFP型
  • 「あれも面白そうだなぁ」とすぐ色々と飛びつくので深みが今一つな感じです。ただまぁ、おかげで色々良い点もあったのかな。
  • 学生時代は数学やっていました。たぶん、代数的整数論。よくわからない。圏論とかもスキームやるためちょっとだけ勉強しました。

そういう背景の人なら使いやすいかもね

パターンたち

アナロジーパターン

おそらく、自分がもっともよく使っているであろうもの。
違う分野で「何だかあれと似てるな」と思ったら、対応付けを行って性質を考えるやり方。ちなみに結構外れる。
おそらくは集合と写像を扱ったり、フーリエ解析を楽しんだり、圏や自然変換が好きだったからよく使うのかな。

例えばこんな時に見出した。

  • オブジェクト指向はオブジェクト間のメッセージングで計算を行う
  • 複数の種類の違うプロセスを連携させて一つのソフトウェアを実現してる

どちらもメッセージングというのがポイントになる。とても単純化して言えば〇->△のようなイメージ。
オブジェクトのステート(インスタンス変数とか)と、プロセスがハンドルしてるファイルとかが対応してくるのかなぁ。とか。そんな具合。
(実際これがあっているかとかはおいといて)

これの良いところは、分野Aと分野Bにアナロジーを見出したときに、分野Aの概念aに対応する分野Bの概念bの存在を予測できること。
特に問題とその解決法の発見には有効な気がする。

こじつけっぽくなることも多いけど、別分野を並行して考えることになるので双方の勉強になる。

パターンパターン

ようは名前つけて整理しようって話。この記事のことね。
何となく知ったような気になるので良い。本来のパターンランゲージは言語の共通化を図るために行うためのものなので意味合いが違う。

Exampleパターン

院生の時に師匠から教わった方法「具体的に計算すると?」っていう質問をされる。それにがんばってこたえる。
具体的に与えたことによって計算ができたりするので、いくつかそれをやることで見えるものがある。
帰納法の一種だと思う。

極端パターン

Exampleパターンの特殊ケース。極端な事例を与えて考えてみる。
それで問題が発生するのでそれを観察することで原因を発見できたりする。
ちなみに本当に極端なケースを与えると「実用上意味ないよね」っていうこともままある。

信頼パターン

「Microsoftの製品なら俺みたいなのが考える問題は既に見つかって解決されているはず!」っていう謎の信頼を製品や世の中に対しておく。
がんばって検索すると答えが見つかる。時々「それが問題なのは知ってるけどそれは割り切った」という結果もありうる。
類似例として「俺が思い浮かんだんだからだれか作ってるだろ」という形もありうる。

素朴な感覚パターン

今まで考えてこなかった身近で素朴な疑問を追及したり、画面が動くので楽しいと思いましたという意識レベルで物事を考えるパターン。
素朴ゆえに結構難しい問題だったり普遍的な物事に気づいたりする。