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
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
630
Fundamentals of Software Engineering In the Age of AI
therealdanvega
1
230
CopilotKit + AG-UIを学ぶ
nearme_tech
PRO
2
150
Event Storming
hschwentner
3
1.3k
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.8k
手戻りゼロ? Spec Driven Developmentとは@KAG AI week
tmhirai
1
170
Codex の「自走力」を高める
yorifuji
0
1.1k
Claude Code、ちょっとした工夫で開発体験が変わる
tigertora7571
0
200
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
160
2026/02/04 AIキャラクター人格の実装論 口 調の模倣から、コンテキスト制御による 『思想』と『行動』の創発へ
sr2mg4
0
720
TipKitTips
ktcryomm
0
160
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
680
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Designing Powerful Visuals for Engaging Learning
tmiket
0
260
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
80
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
470
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
510
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
760
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
97
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
190
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.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