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
「Linux」という言葉が指すもの
sat
PRO
4
130
APIとABIの違い
sat
PRO
5
62
ファイルシステムへのアクセス方法
sat
PRO
0
26
ファイルシステム
sat
PRO
1
34
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.1k
ポーリングと割り込み
sat
PRO
1
81
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
140
会社員しながら本を書いてきた知見の共有
sat
PRO
3
880
デバイスにアクセスするデバイスファイル
sat
PRO
1
62
Other Decks in Technology
See All in Technology
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1k
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
3.2k
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
930
roppongirb_20250911
igaiga
1
220
Agile PBL at New Grads Trainings
kawaguti
PRO
1
420
生成AIでセキュリティ運用を効率化する話
sakaitakeshi
0
670
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
830
Rustから学ぶ 非同期処理の仕組み
skanehira
1
130
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
160
2025年夏 コーディングエージェントを統べる者
nwiizo
0
140
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
110
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
370
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Designing for Performance
lara
610
69k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Fireside Chat
paigeccino
39
3.6k
KATA
mclloyd
32
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Docker and Python
trallard
45
3.6k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
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?