Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
技術文書の中のサンプルコードについて諸々
Satoru Takeuchi
PRO
September 18, 2021
Technology
0
270
技術文書の中のサンプルコードについて諸々
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
実践オブザーバビリティ
sat
PRO
2
500
Linuxのプロセススケジューラの負荷分散処理
sat
PRO
0
47
Linuxのプロセススケジューラの歴史 v0.01~v2.4.x
sat
PRO
0
52
Linuxのプロセススケジューラの歴史 v2.6.0~v2.6.22
sat
PRO
0
29
Linuxのプロセススケジューラの歴史 v2.6.23~v4.18
sat
PRO
0
51
aslr.pdf
sat
PRO
0
17
わたしの愛する本たち
sat
PRO
1
300
実行ファイル
sat
PRO
0
33
Address Space Layout Randomization(ASLR)
sat
PRO
0
22
Other Decks in Technology
See All in Technology
ZOZOTOWNのProduction Readiness Checklistと信頼性向上の取り組み / Improvement the reliability of ZOZOTOWN with Production Readiness Checklist
akitok_
4
1.2k
1,000万人以上が利用する「家族アルバム みてね」のSRE組織は4年間でどのように作られてきたのか/SRE NEXT 2022
isaoshimizu
4
1.9k
読者のことを考えて書いてみよう / Write with your reader in mind
line_developers
PRO
3
220
Babylon.js v5 新機能の紹介
limes2018
0
320
Motto Go Forward スライドトップと Goを支える文化とコミュニティ してご利用ください 〜なぜ我々はコミュニティにコントリ ビュートするのか〜
luccafort
0
140
Power BIのモバイルと都 +1 / Tokyo
ishiayaya
0
130
[SRE NEXT 2022]ヤプリのSREにおけるセキュリティ強化の取り組みを公開する
mmochi23
1
170
Power Query 日時の変換でちょっと焦ったケース +1 / Power Query Some cases
ishiayaya
0
140
キャッチアップ Android 13 / Catch up Android 13
yanzm
1
620
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
0
520
技術広報の役割を定義してみた 2022年春
afroscript
3
2.2k
エンジニアインターンの採用〜実際の開発への関与について for EM meetup#10
dmiyamoto
1
250
Featured
See All Featured
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
314
19k
Building Better People: How to give real-time feedback that sticks.
wjessup
343
17k
A better future with KSS
kneath
225
15k
Rebuilding a faster, lazier Slack
samanthasiow
62
7.2k
Fontdeck: Realign not Redesign
paulrobertlloyd
73
4.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1M
Statistics for Hackers
jakevdp
781
210k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
A designer walks into a library…
pauljervisheath
196
16k
The Invisible Side of Design
smashingmag
289
48k
What’s in a name? Adding method to the madness
productmarketing
11
1.5k
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?