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
0
830
Crystalで殺せ
Crystalで作る簡單インタラクティブCUI。Crystalで面倒臭い作業を殺せ
さっちゃん
November 29, 2016
Tweet
Share
More Decks by さっちゃん
See All by さっちゃん
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
1.5k
作ってよかったgraceful shutdownライブラリ #kyotogo
ne_sachirou
0
1.3k
path 依存型って何?
ne_sachirou
0
680
野生の onbording と onbording 設計 #kyototechtalk
ne_sachirou
0
640
メトリックはいかにして見え續ける樣になったか #devio2022
ne_sachirou
0
97
名實一致
ne_sachirou
0
680
まかれるあなとみあ ―Mackerel のしくみを理解する 30 分― @ Hatena Engineer Seminar #16
ne_sachirou
0
3.1k
tacit programming : Point-free, Concatenatives & J
ne_sachirou
0
1k
Monitoring Containerized Elixir
ne_sachirou
1
990
Other Decks in Programming
See All in Programming
OSS開発者という働き方
andpad
5
1.7k
スケールする組織の実現に向けた インナーソース育成術 - ISGT2025
teamlab
PRO
1
120
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
130
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
tetta_pdnt
0
2.8k
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
140
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
700
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
180
Laravel Boost 超入門
fire_arlo
3
220
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
1.3k
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
600
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
120
私の後悔をAWS DMSで解決した話
hiramax
4
210
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
A Tale of Four Properties
chriscoyier
160
23k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Designing for humans not robots
tammielis
253
25k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Typedesign – Prime Four
hannesfritz
42
2.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で⾯倒くさい作業を殺せ