CS・プログラミング関連の、無料で読める優良記事一覧
CSはコンピューターサイエンスです
n番煎じな気がするけどこんなんなんぼあってもええですからね
ソースはだいたいTwitter
The Missing Semester of Your CS Education
MITの講義ページ
「Missing Semester」の名の通り、シェルスクリプトやバージョン管理(Git)のほか、デバッグ・プロファイリングの方法やメタプログラミングまで学ぶことが出来る
これだけではないので、リンク先を見て自分の目で確かめてみてください
https://twitter.com/ImAI_Eruel/status/1388083116040916994
日本語版がある
和歌山大学(たぶん)におけるCGに関する授業の資料(たぶん)
(GLFW|GLUT)によるOpenGL入門・CG制作演習 (Blender) ・メディアプログラミング演習 (openFrameworks) それぞれの授業資料へのリンクが1ツイートにまとまっている
CG制作演習 (Blender) は2021年版がある
Writing an OS in Rust
名前の通り、RustでOSを書く(MBR, BIOS)
VGAテキストモードで自由に文字を書くところから、割り込み・ページング含むメモリ管理・非同期処理まで学ぶことが出来る テストまで学べて良い
日本語版がある
最初このサイトを見た時は半分くらい未翻訳だったのに、今は全部翻訳されてて感動を抑えられない
OSDev Wiki
名前の通り、OSにまつわる情報が大量に集まっている
カーネルやメモリ管理のデザイン、実行形式ファイルの種類、有名なファイルシステムなど、挙げるとキリがない
個人的に最も助けられたのはPS/2 Keyboardに関するページ
ELFのmanpage
これに限らずmanpageというものは基本的に素晴らしいのだけど、中でもお気に入りのものがこれ
ELFのことはこれ見つつ readelf 使ったらマジでわかる
リンク先は個人的にMarkdownに整形してちょっと読みやすくしたもの
フルスクラッチで作る!UEFIベアメタルプログラミング
ゼロからのOS自作入門ではUEFIで動作するプログラム(ブートローダ)にEDK Ⅱを用いていたが、そのようなライブラリの力を借りず、UEFIの構造体から自分で書いていくという記事
真面目に読んだことない(ごめんなさい)
0から作るソフトウェア開発
OS自作とLinuxプログラミング これは現在ドメイン失効によって見れないっぽい
GRUBからの起動、割り込み処理、キーボード制御などについて書かれている
結構古い?らしく、広告が多かったり、httpだったり、ページの読み込みが異常に遅かったりする
広告はよくある「この広告はnか月更新がないサイトに〜」というやつ
実践的低レイヤプログラミング
主にx86_84の機械語まわりと、リンカに関する記事がある
僕が読んだのはリンカの記事だけで、書きかけらしいが十二分に有用
特に、概してまとまった説明が少ない(という印象がある)リロケーションについて記述されていて良い
Getting Started with RISC-V by IAR
https://x.com/Vengineer/status/1798860769964273694
日本語版がある
Learn You a Haskell
すごいH本の元?らしい
Pro Git book
Git公式(?)が出している、Gitについて学ぶことが出来る本
コミットやブランチといったGitの基本概念・コマンドはもちろん、「Gitの内側」と題して、Gitがどのようにバージョン管理を実現させているのかについても知ることが出来る
日本語版がある
SQLのインデックスとそのチューニングについてのオンラインブック
MySQL、Oracle、SQL ServerなどにおけるSQLのインデックスについて学べるらしい
Memory Management Reference
メモリ管理やGCに関する諸々を学ぶことが出来るらしい
メモリ管理の概要から、用語集 (500個以上)、研究論文 (約200本)、FAQなど
The Linux Kernel Module Programming Guide
名前のとおり、Linuxのカーネルモジュール開発について
Software Engineering at Google
オライリー社より出版されている「Googleのソフトウェアエンジニアリング―持続可能なプログラミングを支える技術、文化、プロセス」の英語版を無料で読める
O'Reilly Japan Ebook Store
会員登録をして0円の本を購入(?)することができる
Real World HTTP(ミニ版)など
O'Reilly Library (日本語)
GNU Make 第3版
各章ごとにPDFが用意されている
全章を統合したものを、有志がGitHubに公開している
オープンソースソフトウェアの育て方
オープンソースソフトウェア
Operating Systems: Three Easy Pieces
「第一線で活躍している研究者が書いた」らしい
アメリカのウィスコンシン大学の人っぽい
ページちょい下にあるカラフルな表から各セクションに飛ぶことが出来る
ページ上部にはWhy Textbooks Should Be Freeというリンクがあります
cppreference.com
人間誰しもCの仕様が気になることはしょっちゅうだと思いますが、仕様書見るよりこっち見るほうが楽だと思います
出典が仕様書なので、読みやすい仕様書だと思って使っている
日本語版もあるよ
Intel® 64 and IA-32 Architectures Software Developer Manuals
はい
読め