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
Satoru Takeuchi
PRO
September 18, 2021
Technology
0
370
技術文書の中のサンプルコードについて諸々
kanazawa.rb#109のLT資料です。
https://meetup.kzrb.org/109/
Satoru Takeuchi
PRO
September 18, 2021
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
100
会社員しながら本を書いてきた知見の共有
sat
PRO
3
770
デバイスにアクセスするデバイスファイル
sat
PRO
1
33
ファイルシステムのデータを ブロックデバイスへの操作で変更
sat
PRO
1
29
デバイスドライバ
sat
PRO
0
45
マルチスレッドの実現方法 ~カーネルスレッドとユーザスレッド~
sat
PRO
2
120
共有メモリ
sat
PRO
3
67
マルチスレッドプログラム
sat
PRO
3
56
Linuxのブートプロセス initramfs編
sat
PRO
2
81
Other Decks in Technology
See All in Technology
解析の定理証明実践@Lean 4
dec9ue
1
190
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
420
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
1.2k
5min GuardDuty Extended Threat Detection EKS
takakuni
0
180
Geminiとv0による高速プロトタイピング
shinya337
0
170
How Community Opened Global Doors
hiroramos4
PRO
1
130
Lambda Web Adapterについて自分なりに理解してみた
smt7174
5
130
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
140
2025-06-26 GitHub CopilotとAI駆動開発:実践と導入のリアル
fl_kawachi
1
210
OPENLOGI Company Profile for engineer
hr01
1
33k
MySQL5.6から8.4へ 戦いの記録
kyoshidaxx
1
290
データプラットフォーム技術におけるメダリオンアーキテクチャという考え方/DataPlatformWithMedallionArchitecture
smdmts
5
660
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
Bash Introduction
62gerente
614
210k
Agile that works and the tools we love
rasmusluckow
329
21k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Facilitating Awesome Meetings
lara
54
6.4k
Rails Girls Zürich Keynote
gr2m
94
14k
Raft: Consensus for Rubyists
vanstee
140
7k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
680
Documentation Writing (for coders)
carmenintech
72
4.9k
Transcript
技術文書の中の サンプルコードについて諸々 Sep, 18th, 2021 kanazawa.rb #109 LT Satoru Takeuchi
twitter: satoru_takeuchi
はじめに • これまで対外的にIT技術についての文書をたくさん書いてきた ◦ 単著「Linuxのしくみ」 ◦ Software Design誌の連載: 「Linuxのしくみ パワーアップ番外編」
◦ エンジニアHub: 「いま知っておきたい Linux」 ◦ その他Software Designの特集記事など • 文中のサンプルコードに対するご意見、それへの対策を共有
英語に対するご意見 • 具体的なコメント ◦ 英語を見るだけで読む気が失せる ◦ 文法などが微妙だと嫌 ◦ 📝 twitterで投票したら英語が無理という人は多かった
• そうしていた理由 ◦ 日本人だけに見せるコードを書いたことがないことから来た癖。強い意味はない • 対策 ◦ メッセージやコメントはできるところは日本語にすることにした ▪ 📝 「日本語だとがイラつく」という声もある。正解は無い
C言語に対するご意見 • 具体的なコメント ◦ 文法が洗練されていないので辛い ▪ 配列とポインタの差が曖昧とか「 .」と「->」の使い分けがめんどいとか諸々 ◦ とにかくポインタが無理
◦ 「.c」のファイルというだけで見る気を無くす • そうしていた理由 ◦ 10年以上カーネルプログラムなどで C言語ばかり使っていた名残 ◦ 低レイヤの説明には C言語を使うのが適切ということもある (後述) • 対策 ◦ できるところはPythonやGoで書き直すことにした ▪ 普及している&比較的読みやすい
C言語のようなハードに近い言語でないとツラいとき • システムコールの説明に使いづらいことがある ◦ たとえばfork() syscallの説明時にGoは使いにくい ◦ Goのsyscallパッケージにfork()は存在しない ◦ (多分)並列処理用機能のgoroutineと共存がしんどい
• メモリを直接扱いたいときに困ることがある ◦ ほとんどの言語はメモリアドレス空間を抽象化して隠している ◦ たとえばメモリのアライメントが必要な処理が面倒だとか • マイクロベンチをとりたいときに外乱要因となりうる処理が走ることがある ◦ ガベージコレクタなど
おわり Any comments?