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
340
技術文書の中のサンプルコードについて諸々
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
HDDへのアクセス速度は位置によって変わる!??
sat
PRO
4
26
ボリュームマネージャLVM
sat
PRO
2
71
Best Practices of Production-Grade Rook/Ceph Cluster
sat
PRO
1
1.6k
OSSへの貢献をはじめたきっかけ、貢献で得たもの、やりたい人へのアドバイス(改)
sat
PRO
4
110
device mapperによるディスクI/O障害のエミュレーション 既存ターゲット編
sat
PRO
0
95
分散ストレージCephのデータ破壊検知修復機能は本当に動作するのか
sat
PRO
0
39
ディスクI/O障害のエミュレーション カーネルモジュール自作編
sat
PRO
0
38
分散ストレージはすごいぞ
sat
PRO
2
2.4k
device mapperによるディスクI/O障害のエミュレーション
sat
PRO
10
6.5k
Other Decks in Technology
See All in Technology
B+木入門:PHPで理解する データベースインデックスの仕組み/b-plus-tree-101
hanhan1978
5
2.7k
Microsoft Fabric 開発ガイド
ryomaru0825
6
2.6k
サイボウズのQAエンジニア育成
cybozuinsideout
PRO
3
550
Beginner's Guide to Partitioning vs. Sharding in Postgres | Claire Giordano | Nordic PGDay 2024
clairegiordano
0
210
[AWS Expert Online for JAWS-UG]AWS SAW を使ったトラブルシューティング効率化のススメ
furuton
0
170
How to Build a Strong Engineering Culture
alperhankendi
0
120
庁舎DX推進ガイドブック
senryakuka
0
1.7k
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
2
4.9k
SmartHR プロダクトエンジニア求人ガイド 2024上期
smarthr
0
130
理想の組織も自分たちで作ろう! ―LayerXの「全員採用」を支える文化 / How to create our own ideal team
ar_tama
6
2.2k
なんでもかんでもコンテナ化すればいいってもんでもないけど なんでもかんでもコンテナ化したらスッキリしました
saramune
1
160
Command-line interface tool design / PHPerKaigi 2024
k1low
4
1k
Featured
See All Featured
Producing Creativity
orderedlist
PRO
335
39k
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
Product Roadmaps are Hard
iamctodd
43
9.6k
Building Your Own Lightsaber
phodgson
97
5.6k
Happy Clients
brianwarren
91
6.3k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Facilitating Awesome Meetings
lara
39
5.5k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
Rails Girls Zürich Keynote
gr2m
91
13k
jQuery: Nuts, Bolts and Bling
dougneiner
57
7.1k
Adopting Sorbet at Scale
ufuk
66
8.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
124
32k
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?