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
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
CSC307 Lecture 01
javiergs
PRO
0
690
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
240
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
CSC307 Lecture 03
javiergs
PRO
1
490
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
210
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
300
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
Grafana:建立系統全知視角的捷徑
blueswen
0
330
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
93
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Design in an AI World
tapps
0
140
The SEO Collaboration Effect
kristinabergwall1
0
350
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Designing Experiences People Love
moore
144
24k
KATA
mclloyd
PRO
34
15k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
830
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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