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
650
野生の onbording と onbording 設計 #kyototechtalk
ne_sachirou
0
630
メトリックはいかにして見え續ける樣になったか #devio2022
ne_sachirou
0
91
名實一致
ne_sachirou
0
670
まかれるあなとみあ ―Mackerel のしくみを理解する 30 分― @ Hatena Engineer Seminar #16
ne_sachirou
0
3.1k
tacit programming : Point-free, Concatenatives & J
ne_sachirou
0
990
Monitoring Containerized Elixir
ne_sachirou
1
980
Other Decks in Programming
See All in Programming
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
650
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
23
9k
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
900
生成AI時代のコンポーネントライブラリの作り方
touyou
1
260
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
120
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
5
660
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
240
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
1k
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
150
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
580
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
420
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Site-Speed That Sticks
csswizardry
10
700
Embracing the Ebb and Flow
colly
86
4.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Unsuck your backbone
ammeep
671
58k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
It's Worth the Effort
3n
185
28k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
KATA
mclloyd
30
14k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Agile that works and the tools we love
rasmusluckow
329
21k
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で⾯倒くさい作業を殺せ