SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
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で⾯倒くさい作業を殺せ

Contenu connexe

Plus de Sachirou Inoue

發言の超越論的な根拠
發言の超越論的な根拠發言の超越論的な根拠
發言の超越論的な根拠Sachirou Inoue
 
人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學Sachirou Inoue
 
人工言語を作るゆるやかな道
人工言語を作るゆるやかな道人工言語を作るゆるやかな道
人工言語を作るゆるやかな道Sachirou Inoue
 
How to make a spaghetti
How to make a spaghettiHow to make a spaghetti
How to make a spaghettiSachirou Inoue
 
Why we update our oss dependencies.
Why we update our oss dependencies.Why we update our oss dependencies.
Why we update our oss dependencies.Sachirou Inoue
 
勝手に作ったものたち
勝手に作ったものたち勝手に作ったものたち
勝手に作ったものたちSachirou Inoue
 
ElixirでNode.jsを倒す
ElixirでNode.jsを倒すElixirでNode.jsを倒す
ElixirでNode.jsを倒すSachirou Inoue
 
大勢でピンポンできるのは、だれ?
大勢でピンポンできるのは、だれ?大勢でピンポンできるのは、だれ?
大勢でピンポンできるのは、だれ?Sachirou Inoue
 
最速で最速のRuby擴張を作る
最速で最速のRuby擴張を作る最速で最速のRuby擴張を作る
最速で最速のRuby擴張を作るSachirou Inoue
 

Plus de Sachirou Inoue (20)

Elixir on Containers
Elixir on ContainersElixir on Containers
Elixir on Containers
 
發言の超越論的な根拠
發言の超越論的な根拠發言の超越論的な根拠
發言の超越論的な根拠
 
faastCrystal
faastCrystalfaastCrystal
faastCrystal
 
人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學
 
人工言語を作るゆるやかな道
人工言語を作るゆるやかな道人工言語を作るゆるやかな道
人工言語を作るゆるやかな道
 
FaaStRuby
FaaStRubyFaaStRuby
FaaStRuby
 
DI is for us?
DI is for us?DI is for us?
DI is for us?
 
How to make a spaghetti
How to make a spaghettiHow to make a spaghetti
How to make a spaghetti
 
Why we update our oss dependencies.
Why we update our oss dependencies.Why we update our oss dependencies.
Why we update our oss dependencies.
 
Test like a team.
Test like a team.Test like a team.
Test like a team.
 
Phoenix at scale
Phoenix at scalePhoenix at scale
Phoenix at scale
 
Vivaldi #cd3437
Vivaldi #cd3437Vivaldi #cd3437
Vivaldi #cd3437
 
外傷的Elixir
外傷的Elixir外傷的Elixir
外傷的Elixir
 
勝手に作ったものたち
勝手に作ったものたち勝手に作ったものたち
勝手に作ったものたち
 
竝行
竝行竝行
竝行
 
ActiveHash
ActiveHashActiveHash
ActiveHash
 
boilerplate react
boilerplate reactboilerplate react
boilerplate react
 
ElixirでNode.jsを倒す
ElixirでNode.jsを倒すElixirでNode.jsを倒す
ElixirでNode.jsを倒す
 
大勢でピンポンできるのは、だれ?
大勢でピンポンできるのは、だれ?大勢でピンポンできるのは、だれ?
大勢でピンポンできるのは、だれ?
 
最速で最速のRuby擴張を作る
最速で最速のRuby擴張を作る最速で最速のRuby擴張を作る
最速で最速のRuby擴張を作る
 

Crystalで殺せ