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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Cyril Kato
December 05, 2014
Programming
0
62
次プログラミング
いいインターフェースで、いいプログラミングの話。
Cyril Kato
December 05, 2014
Tweet
Share
More Decks by Cyril Kato
See All by Cyril Kato
Fix - Simple, stupid testing framework for Ruby
cyril
1
290
こんばんは、条件やビヘイビアテスト
cyril
0
280
Other Decks in Programming
See All in Programming
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
550
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
160
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
380
Oxlint JS plugins
kazupon
1
840
CSC307 Lecture 01
javiergs
PRO
0
690
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
510
「ブロックテーマでは再現できない」は本当か?
inc2734
0
880
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
300
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
420
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
940
Architectural Extensions
denyspoltorak
0
280
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
0
53
From π to Pie charts
rasagy
0
120
Exploring anti-patterns in Rails
aemeredith
2
250
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
180
Navigating Team Friction
lara
192
16k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
51
Embracing the Ebb and Flow
colly
88
5k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
120
The Pragmatic Product Professional
lauravandoore
37
7.1k
Transcript
懐かしい・・・
アセンブリ言語 MOV EAX, [EBX] MOV [ESI+EAX], CL
懐かしいけど、
None
今日 ・・・ RubyやElixirがありますよ!
例え 、Ruby言語で puts 'やった!'
None
こ 方法により、 ほんまに 信じることができますか?
こ 方法により、 ほんまに バグがありませんか?
ところで・・・
ソフトウェア ライセンスに、 最も人気 ある言葉 ・・・
None
ライセンス 例 • MIT License • BSD License • GPL
License
None
puts 'やった!' 対外依存
ということ Ruby puts 、 外部システムに クエリを委任されています。
問題 、 こ プログラム スコープ 大きすぎるです
問題 、 なぜなら、 コントロールができません!
ところで・・・
None
ですから、 もしLinuxに、 問題があれ ・・・
None
とにかく、 Ruby 責任じゃ ありません!!
None
二つ 特性 コード独立性 コード完全性
コード独立性 IOもうダメよ ダメダメ!!
コード独立性 IO • コード 前: OK • コード 後: OK
コード独立性 • コード 中: NOOO!
コード完全性 アトミック構文で コード 変更
コード完全性 例え 、 arbre = 木 フランス語で テキスト・エディタに、 コンセプト マッピング
、 • 5文字 (フランス語で) • 1文字 (日本語で)
フランス語 せいじゃありません 問題 、テキスト・エディタです コード完全性
実 、 違うインターフェースを つかなけれ なりません コード完全性
var variable = 42; POST /variable HTTP/1.1 data: {“value”: 42,
“type”: “number”} コード完全性 JavaScript言語 Web言語
None