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
APIとABIの違い
sat
PRO
5
48
ファイルシステムへのアクセス方法
sat
PRO
0
21
ファイルシステム
sat
PRO
1
22
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.1k
ポーリングと割り込み
sat
PRO
1
77
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
140
会社員しながら本を書いてきた知見の共有
sat
PRO
3
870
デバイスにアクセスするデバイスファイル
sat
PRO
1
59
ファイルシステムのデータを ブロックデバイスへの操作で変更
sat
PRO
1
47
Other Decks in Technology
See All in Technology
AIエージェントの開発に必須な「コンテキスト・エンジニアリング」とは何か──プロンプト・エンジニアリングとの違いを手がかりに考える
masayamoriofficial
0
450
モバイルアプリ研修
recruitengineers
PRO
4
1.2k
新規案件の立ち上げ専門チームから見たAI駆動開発の始め方
shuyakinjo
0
490
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
10
3.3k
ZOZOTOWNフロントエンドにおけるディレクトリの分割戦略
zozotech
PRO
18
5.8k
アジャイルテストで高品質のスプリントレビューを
takesection
0
140
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
5
1.1k
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
27
9.7k
モダンフロントエンド 開発研修
recruitengineers
PRO
6
3.8k
人と組織に偏重したEMへのアンチテーゼ──なぜ、EMに設計力が必要なのか/An antithesis to the overemphasis of people and organizations in EM
dskst
6
690
AIドリブンのソフトウェア開発 - うまいやり方とまずいやり方
okdt
PRO
9
720
開発と脆弱性と脆弱性診断についての話
su3158
1
1.2k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
339
57k
Six Lessons from altMBA
skipperchong
28
4k
What's in a price? How to price your products and services
michaelherold
246
12k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Docker and Python
trallard
45
3.5k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Bash Introduction
62gerente
614
210k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Raft: Consensus for Rubyists
vanstee
140
7.1k
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?