プログラマーとしてメモを取る方法

私が若かったとき、私はひどいメモを書きました:それらは汚いテキストと貧弱な構造を持つノートブックでした。 ほとんど役に立たない。







その後、 MOOCビデオコースを発見したとき、私は学生時代と同じアンチパターンを使い続けましたが、それほどいものではありませんでした: VimWikiJupyterの助けを借りて







レコードはまだ不十分な構造でした。 これを見てください:ただ開いて中身を見るだけのモチベーションさえありません:







画像







ある時点で、どの録音方法が自分に最適であるかを知り、それを共有したいと思いました。







主なアイデアは、プログラム開発の原則を使用して、(講師の記憶ではなく) 記録に記憶を投影 することです。













前提条件



あなたは、あなた自身の言葉を使って考えを表現する(あなたの語彙から、より簡単な用語で)、あるいは質問、答え、結論、証拠に焦点を合わせるなど、 基本的なヒントについてすでに知っていると思います。







また、 「Learning to Learn」コースまたは「Think Like a Mathematician」 の「チャンク」のテクニックに精通していることを前提としています。







読みやすくします。



ソフトウェア開発者は、コードの品質を非常に重視しています。 株式コードは好きではありません。







コードを使用して通信しエレガントなコードを書くために余分な時間とエネルギー費やして、他の開発者が後で効率的にそれを読むことができるようにします。 自分を含めて:将来的には文字通り他の人になります。







個人的なメモについても同じアプローチが便利だと思いました。書くことに少し労力をかけることで、検索とメモの読み取りを最適化できます。







生のドラフト



タイトルとソース(書籍、記事、科学論文、ビデオ、使用するものは何でも)を特定の情報ブロックに記録します。 最初のソースの分析を開始します。 分析中に、いくつかの重要な詳細を追加します。













リファクタリング



キーワードを強調表示し、長い文章を分割し、より複雑な箇条書きリスト階層を使用して、字幕を追加します。 OccamのRazorを使用:元の意味を失うことなく、録音を数回減らします。













他のソースの調査を継続し、関連するレコードを更新し、新しい情報を追加して、古い情報を明確にします。







レコードが大きくなったら、ファイルに分割するか、フォルダーを使用して構造化します。













構造の選び方 あなたにとって便利なものを選択してください。メモの中から何かを探していると想像してください。 どのくらい正確に検索しますか? 適切な最短記録パスは何ですか?







将来のために自分に手がかりを追加する



勉強にうんざりして、すでに何かを始めたいですか? 実用的であることは良いことです。 TODOコメントを使用して、将来探索する可能性のある仮定を追加します。







あなたが既に取っておいたトピックに関するクールなリソースを見つけましたか? 適切なエントリを見つけ、ソースを追加して、実行した操作を続行します。













TODOコメントは、一部の開発者によってアンチパターンと見なされています。 ただし、個人的なプロジェクトやメモにはまだ便利です。







メモの次の改訂で研究を継続する必要はありません。 TODOコメントは、まだ十分な知識がなく、実際に遭遇した場合に特定の分野の知識を向上させたいという兆候です。







レビューと改善



時間が経ち、メモを使用することにしたとします。 特定の問題を解決し、すぐに何かを見つける必要があります。 情報を見つける能力はすぐに重要です。解決しようとしている問題に集中できなくなる可能性を減らします。







ファイルを検索してみてください:













何も見つかりませんでしたか? 考えられる理由:









改善する時が来ました。 手動でエントリを見つけて、問題を修正します









次回は、同じレコードがすぐに見つかります。







特に奇妙なケースでは、録音を再度見つけることができません。 たとえば、最近、数学的統計に関連するものを検索しました。













見つかりません。 間違って書いた?













いや。 私は何かをグーグルで検索しましたが、...ナンセンスは何を見つけましたか?







私は英語のネイティブスピーカーではないので、やっぱりタイピングのタイプミスであることに気づくのに少し時間がかかりました。







あなたがネイティブスピーカーであっても、めったに使われない単語のタイプミスは普通です。 考えられる解決策は、スペルミスのキーワードを追加して、そのようなエントリをすばやく見つけることです。













別のオプションは、ファジー検索をサポートするトリッキーな検索エンジンを使用することです。







更新この特定のケースでは、依然として悪いアドバイスでした。 タイプミスでキーワードのスペルを急ぐのではなく、最初にこれらすべての混乱を招く用語を適切に理解し、有効なキーワードとして「分位点」を追加する必要があります。







メモ構造を更新して、メモリに合わせます



手動で検索しようとしても、メモをすばやく見つけることができないと想像してください。 考えられる理由:









修正方法





















再度リファクタリング



あなたが探していたものを見つけたが、書かれたものをすぐに理解できないと仮定します-それをもう一度単純化します。







もう1つの典型的な問題は、実際には1つのノートを見つけることです。 そのような断片を1つの音符にまとめて適切な場所に置くだけです。







バランスを見つける



このすべてで行き過ぎないようにするにはどうすればよいですか? 場違いなメモを探すのに時間を浪費していることに気付いた場合、これは構造がまだ悪いことを示しています。 この問題が発生するたびに修正してください。







難しいか時間がかかると感じる場合は、「3つの規則」のようなものを使用します。このレコードを間違った場所で2回検索した場合は、そのままにしておきます。 もう一度、確認してください。







そして、ポイントは何ですか?



あなたはおそらく、私はあなたに余分な時間を投資することを納得させなかったと言うでしょう

質の高いメモを書くことはとても重要です。退屈すぎるか、仕事や勉強の分野に当てはまりません。 たぶんそうかもしれません。







あなたが創造的な仕事に従事し、フローの状態にあった時間を思い出してください。 時々、何らかの情報を取得し、フォーカスを失うことなく作業を続ける必要があります。 この情報はGoogleから取得できますが、特定のトピックやプロジェクト固有の事柄に関する独自の結論など、特定の情報があまりにも具体的すぎる場合があります。







これはネットワーク上で見つからないため、メモを使用しています。 そして、ここが決定的な瞬間です。これらのメモをすばやく見つけることができれば、仕事に集中できなくなります。 そうでない場合は、停止して検索時間を無駄にします。 技術的には、誰かに邪魔されるのと同じです。













そして、あなたは意識の創造的な状態に戻り、働き続ける必要があります。 あなたからどれだけのエネルギーがかかるか想像してみてください。







それでもこの方法でメモを書くのに時間がかかりすぎると思われますか? でも、練習する時間がありますよね? もう一度考えてください。 多くの場合、割り込みは練習から多くの時間を奪います。







いずれにせよ、これは単なる戦略です。場合によっては適用できない可能性があるため、賢明に使用してください。







チェックリスト





それほど複雑ではありませんか?







この出版物は、 独自の記事の翻訳です。







更新: git grep



+ copy paste + search on the pageの代わりに、ブラウザでJupyterファイルを開き、ページ上の対応するアンカージャンプするngp + script (+ change in ngprc )を使用します。 残念ながら、このプロジェクトはUnicodeをサポートしていませんが、既に回避策があります。








All Articles