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
820
Crystalで殺せ
Crystalで作る簡單インタラクティブCUI。Crystalで面倒臭い作業を殺せ
さっちゃん
November 29, 2016
Tweet
Share
More Decks by さっちゃん
See All by さっちゃん
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
1.4k
作ってよかったgraceful shutdownライブラリ #kyotogo
ne_sachirou
0
1.2k
path 依存型って何?
ne_sachirou
0
550
野生の onbording と onbording 設計 #kyototechtalk
ne_sachirou
0
610
メトリックはいかにして見え續ける樣になったか #devio2022
ne_sachirou
0
77
名實一致
ne_sachirou
0
640
まかれるあなとみあ ―Mackerel のしくみを理解する 30 分― @ Hatena Engineer Seminar #16
ne_sachirou
0
3k
tacit programming : Point-free, Concatenatives & J
ne_sachirou
0
920
Monitoring Containerized Elixir
ne_sachirou
1
940
Other Decks in Programming
See All in Programming
Webフレームワークとともに利用するWeb components / JSConf.jp おかわり
spring_raining
1
140
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
260
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
510
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.9k
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
170
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
230
若手バックエンドエンジニアが Elasticsearch を使ってみた話
hott0mott0
1
100
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
190
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
9
1.6k
良いコードレビューとは
danimal141
9
8.6k
JAWS Days 2025のインフラ
komakichi
1
360
Drawing Heighway’s Dragon- Recursive Function Rewrite- From Imperative Style in Pascal 64 To Functional Style in Scala 3
philipschwarz
PRO
0
160
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
28
1.9k
Bash Introduction
62gerente
611
210k
Fireside Chat
paigeccino
35
3.2k
A Philosophy of Restraint
colly
203
16k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
115
51k
Being A Developer After 40
akosma
89
590k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
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で⾯倒くさい作業を殺せ