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
Crystalで殺せ
Search
さっちゃん
November 29, 2016
Programming
850
0
Share
Crystalで殺せ
Crystalで作る簡單インタラクティブCUI。Crystalで面倒臭い作業を殺せ
さっちゃん
November 29, 2016
More Decks by さっちゃん
See All by さっちゃん
火星曆
ne_sachirou
0
15
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
1.7k
作ってよかったgraceful shutdownライブラリ #kyotogo
ne_sachirou
0
1.4k
path 依存型って何?
ne_sachirou
0
800
野生の onbording と onbording 設計 #kyototechtalk
ne_sachirou
0
700
メトリックはいかにして見え續ける樣になったか #devio2022
ne_sachirou
0
120
名實一致
ne_sachirou
0
730
まかれるあなとみあ ―Mackerel のしくみを理解する 30 分― @ Hatena Engineer Seminar #16
ne_sachirou
0
3.2k
tacit programming : Point-free, Concatenatives & J
ne_sachirou
0
1.1k
Other Decks in Programming
See All in Programming
Kingdom of the Machine
yui_knk
2
390
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
140
レガシーPHP転生 〜父がドメインエキスパートだったのでDDD+Claude Codeでチート開発します〜
panda_program
0
1k
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
0
150
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
480
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
440
Programming with a DJ Controller — not vibe coding
m_seki
3
130
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
220
🦞OpenClaw works with AWS
licux
1
150
Agentic Elixir
whatyouhide
0
350
おれのAgentic Coding 2026/03
tsukasagr
1
150
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
830
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Abbi's Birthday
coloredviolet
2
7.1k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
150
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
180
Statistics for Hackers
jakevdp
799
230k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
YesSQL, Process and Tooling at Scale
rocio
174
15k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Transcript
Crystalで殺せ
.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)
⾯倒臭い作業って在りますよね スクリプトを書きませう 何で書きますか?
#!/bin/bash の代はりにPerlで の代はりにRubyで
#!/bin/bash の代はりにPerlで の代はりにRubyで の代はりにCrystalで
#!/usr/bin/env crystal
Crystal • 作るのが速い! • 動くのが速い! • binaryにして配れる!
樂に成りましたね御⽬出度う!
樂に成りましたね御⽬出度う! (╯°□°)╯︵ ┻━┻
樂に成らない(#l _ l)
⾯倒臭い作業には⼈間の確認や選択が要るものがいっぱい 例: 更新してよいものだけ更新する 例: 消していいものだけ消す
⾯倒臭い作業には⼈間の確認や選択が要るものがいっぱい ⇓ GUIなら對應出來ますね!
GUIを作らう • Java • XAML • Webサービス • Electron 等…
/bin/bash <<越えられないハードル<< GUI
Crystal <<越えられない⾯倒臭さ<< GUI
スクリプトの⼀部だけをinteractiveにしませう
`git cleanup-branch` https://github.com/ne-sachirou/git-cleanup-branch
SelectableTextUI ⊂ git-cleanup-branch NCursesのwrapper
C FFIをwrapするのは安全ではない しかしCrystalは安全ではない! CrystalはC FFIをwrapするのが簡單!
Crystal • 作るのが速い! • 動くのが速い! • binaryにして配れる! • NCurses使ひ放題!
Crystalで⾯倒くさい作業を殺せ