伸ばしたいスキル
2020.04 気持ち
Webサービス開発のうちアプリケーションレイヤーの開発で求められる技術力を中心に伸ばしてきた
middlewareや低レイヤーに関する理解を深めていきたい
2020.05 気持ち
アルゴリズムに入門するだけで1ヶ月かかったので全部やるには数年かかりそう
全部マスターするのではなく以下の手順でやりたい
全体を俯瞰できる知識を身に着ける
掘り下げる領域を決める
あとはその時々の気分や業務で必要なことや関連する事柄を取り入れていく
趣味で基礎、業務で応用をやっていく
ガイド
書籍
書籍ガイドがメインではないけどだいぶ影響を受けた
スキルマップ
お気持ち
分野別
プログラミング言語処理系
Web
本
Go言語でつくるインタプリタ
実践Rust入門
まつもとゆきひろ 言語のしくみ
Rubyのしくみ Ruby Under a Microscope
Compiler
web
本
ふつうのコンパイラをつくろう
最新コンパイラ構成技法
OS
web
自作OSで学ぶマイクロカーネルの設計と実装の補足資料という位置付け
感想
本
岩波講座 ソフトウェア科学 オペレーティングシステム
コンピュータの構成と設計 第5版
作って理解するOS x86系コンピュータを動かす理論と実装
30日でできる! OS自作入門
30日でできる! OS自作入門よりこちらのほうが良さそう
Linux
🔥[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識
🔥ふつうのLinuxプログラミング
Linuxカーネル2.6解読室
詳解 Linuxカーネル 第3版
自作OSで学ぶマイクロカーネルの設計と実装
Unix
はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ
詳解UNIXプログラミング 第3版
Computer architecture
本
2012年ぐらいに読んだが覚えていない
たのしいバイナリの歩き方
ヘネシー&パターソン コンピュータアーキテクチャ 定量的アプローチ第5版
web
Computer Science全般
web
モチベーション記事
東京大学理学部情報科学科のカリキュラム
本
Webを支える技術
32ビットコンピュータをやさしく語る はじめて読む486
ネットワーク
本
web
計算理論
本
アンダースタンディング コンピュテーション
web
趣味で作っている人の話
For job interviews
GoogleのML Study Jams
CourseraのNg先生のコース
DataCampの機械学習のコース
関数型プログラミング言語
他人の方法論
身近な成果に結びつけられる技術から学び始めるというのは、最初の一歩としては有効と考える一方で、いつまでもそうした学び方だけをしていると、現場ロックインと呼ばれる状態に陥ることが多い印象
他者が知っていて自分は知らないという状態を極端に気にし過ぎると、学びの目的や優先順位を考えることなく、ひたすら他者に少しでも追いつくことだけを目的とした情報収集に終始してしまう
枝は少ない方が好ましいと考えています。枝を減らすコツは「別の技術で同じものを作れる」状況をなくすことです。例としてはRubyでもPythonでもWebサーバーは作れますが、SwiftでないとiOSアプリは作れないので、増やすべきはSwiftです。
ohbarye.icon アルゴリズムとデータ構造やコンピュータシステムなどの基礎領域に不足を感じる自分は記事中のXXエンジニアを選ぶ段階ですらないと感じてしまう