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
350
技術文書の中のサンプルコードについて諸々
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の時間を10秒止める
sat
PRO
2
58
プロセスへのメモリ割り当て4 - 実際に使うときにメモリを獲得するデマンドページング(実践編)
sat
PRO
1
22
プロセスへのメモリ割り当て(3) 実際に使うときにメモリを獲得するデマンドページング
sat
PRO
1
29
プロセスへのメモリ割り当て(1) mmap
sat
PRO
2
45
プロセスへのメモリ割り当て2-Pythonのようなナウい言語ではどうやってメモリ獲得するのか
sat
PRO
1
38
サイボウズのOSPO
sat
PRO
3
230
無いはずのパーティションがある Phantom Atari Partition
sat
PRO
1
42
仮想アドレスから物理アドレスにはどうやって変換するの?
sat
PRO
2
78
仮想アドレスと物理アドレスの対応を実機確認してみよう
sat
PRO
0
58
Other Decks in Technology
See All in Technology
楽しくGoを学び合う、LayerXの勉強会文化 / LayerX's study culture of having fun and learning Go together
ar_tama
2
350
What is DRE? - Road to SRE NEXT@広島
chanyou0311
3
620
Flutter研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
AWSでRAGを作る法方
sonoda_mj
1
140
【基調講演】変える、今ここから ― IoTとAIで紡ぐ未来
soracom
PRO
0
310
フルリモートワークはエンジニアの夢を叶えたか? #cm_odyssey
mamohacy
2
600
JBUG岡山 #6 WordCamp男木島の チームビルディング
takeshifurusato
0
150
E2Eテスト自動化プラットフォームにおけるAIの活用
shift_evolve
0
180
コミュニティサービスに「あなたへ」フィードを リリースするまでの試行錯誤
takapy
1
140
Azure Pipelinesを使用したCICDベースラインアーキテクチャ実践
yuriemori
0
190
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.6k
Github Actions 로 Android 팀의 효율성 극대화
hadonghyun
0
160
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
Agile that works and the tools we love
rasmusluckow
325
20k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.5k
Optimising Largest Contentful Paint
csswizardry
18
2.6k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
How to Think Like a Performance Engineer
csswizardry
4
590
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.3k
For a Future-Friendly Web
brad_frost
173
9.2k
The Power of CSS Pseudo Elements
geoffreycrofte
64
5.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
5 minutes of I Can Smell Your CMS
philhawksworth
200
19k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
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?