Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
書籍「プログラマー脳」を完全に理解した
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ツノ
November 07, 2023
77
0
Share
書籍「プログラマー脳」を完全に理解した
ツノ
November 07, 2023
More Decks by ツノ
See All by ツノ
エンジニア達の_完全に理解した_-コードでの契約ってなんだ_.pdf
2nofa11
1
170
Vite完全に理解した その1
2nofa11
2
270
年末年始に「chibivue」で Vueヂカラをつけた
2nofa11
0
280
「世界一流のエンジニアの思考法」 を完全に理解した
2nofa11
1
300
VuexからPinia移行に向けて
2nofa11
0
440
一か月半かけて、TypeScript本を写経した話
2nofa11
0
840
VueTestUtilbrのキホンの『キ』
2nofa11
0
170
Featured
See All Featured
Fireside Chat
paigeccino
42
3.9k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
870
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
230
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
120
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
180
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Building the Perfect Custom Keyboard
takai
2
720
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
500
Code Review Best Practice
trishagee
74
20k
Transcript
書籍「プログラマー脳」を 完全に理解した ツノ:@2nofall
自己紹介 ① 名前 ツノ(28 歳:既婚) 職歴 富士通 2016~:官公庁系の SIer ラクス
2021~2022 営業部門の社内 SE 2022~ 勤怠システム フロントエンドエンジニア
自己紹介 ② 趣味 銭湯&サウナ クライミング 登山 ボルダリング 今年の目標 フロントレバーをできるようになる 月一1冊技術書を読書
書籍:プログラマー脳
書籍の情報 書籍名 プログラマー脳 ~優れたプログラマーになるための認知科学に基づくアプローチ~ 発売日 2023/1/28 説明 すべてのプログラマーのために、認知科学を応用してプログラミングをもっ と効率的に、もっと楽しくするメソッドを解説します。 本書を読むと「ああ、なるほど!」「それは思いつかなかった!」という体
験が繰り返されることでしょう。(amazon より)
読む前の課題感 直近の悩み コーディングスキルって意識的につけられるのか? 脳死で写経を繰り返しているが、実務に活かせていない。 将来的な悩み 教える側になったときに、的確な教え方ができるのか?
理解した内容
コーディング中の脳のプロセスは 3 つ 長期記憶 → 例 : HD、プログラミング言語の文法 短期記憶 →
例 : メモリ、メソッド名や変数 ワーキングメモリ → 例: CPU、ループ中のインデックス値、スタイルの調整
長期記憶を活かすためのキーワード 活性化させるコツ 間隔をあけて、繰り返し学習 思い出そうとする 長期記憶のメカニズム 貯槽強度:どれだけきちんと保存されているか(例:九九表) 検索強度:長期記憶から思い出す容易さ(例:JS の filter() 関数)
(プログラマは検索強度が大切)
短期記憶を活かすためのキーワード 保存容量は 2~6 個 脳内のメモリを以下に効率的につかうか。 抽象的な概念を活用して情報を圧縮する チャンク化 チェスの盤面を記憶する実験。熟練者は覚えるための魔法を使った?
ワーキングメモリを活かすためのキーワード ワーキングメモリの定義 問題の処理に要いられる短期記憶(計算と電話番号) 認知負荷:ワーキングメモリがどれだけ使われているか 課題内在性負荷:その問題自体の複雑性 課題外在性負荷:その問題の妨げとなる要因 軽減方法 リファクタリング(認知的リファクタイング) 状態遷移表
実務への応用について
変数の役割フレームワーク適用 変数は 11 種類に分けられる。 Zenn でまとめの記事、書きました。 これを覚えると認知負荷が下がるはず。
フラッシュカードアプリを使う 以下を繰り返し覚える チャンク化 文法を覚えるとき デザインパターン 自動化 三日坊主で終わっている
コードの臭いの言語化 コードスメルの定義を初めて知った。面白かったもの抜粋。
プログラミング中の活動 検索:コード内を調べ、特定の情報を探す作業(例:バグ発生個所の調査) 検索したコードにコメントを書く 理解:コードを読んで、その機能を把握すること(例:コードレビュー) コードのモデル化や状態遷移図を作成する 転写:「単にコード」を書く(例:単純なコーディング)
増強:上の 3 つを組み合わせたもの。 コードを追加する場所と方法を検索・理解し、実装する 小さなサブタスクに分割して、上の 3 つの単位の持っていく 探索:漠然とした考えのままプログラムを書く。 意識しようとしてるが、増強がほとんどになってしまう。
問題解決力のつけ方 問題解決力は長期記憶に依存する 潜在記憶と顕在記憶 潜在記憶:自動化、あるいは、インスタンス理論 顕在記憶:コードディングのレシピを教わる
EOF
None
よい命名の原則 文法に基づいている コード内で一貫している ドメイン情報を含める
物事を習得するためのコツ ピアジュの認知発達理論 意味波