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
Rubyを使った開発環境構築の自動化
Search
Takashi Kokubun
August 29, 2015
Programming
9.7k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rubyを使った開発環境構築の自動化
TokyuRuby会議09 LT #tqrk09
Takashi Kokubun
August 29, 2015
More Decks by Takashi Kokubun
See All by Takashi Kokubun
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
3.6k
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
3.2k
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
540
ZJIT: The Future of Ruby Performance / San Francisco Ruby Conference 2025
k0kubun
1
130
ZJIT: Building a New JIT Compiler for Ruby / REBASE 2025
k0kubun
0
140
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
k0kubun
2
4.3k
YJIT Makes Rails 1.7x faster / RubyKaigi 2024
k0kubun
7
16k
Ruby JIT Hacking Guide / RubyKaigi 2023
k0kubun
2
11k
YJIT: Dive into Ruby's JIT compiler written in Rust / Rust.Tokyo 2022
k0kubun
2
2.3k
Other Decks in Programming
See All in Programming
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
230
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
480
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
210
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
420
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
140
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
150
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
150
共通化で考えるべきは、実装より公開する型だった
codeegg
0
270
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.2k
FDEが実現するAI駆動経営の現在地
gonta
2
190
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
470
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
The agentic SEO stack - context over prompts
schlessera
0
850
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Faster Mobile Websites
deanohume
310
32k
Paper Plane
katiecoart
PRO
2
52k
New Earth Scene 8
popppiees
3
2.4k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Visualization
eitanlees
152
17k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Transcript
։ൃڥߏஙͷࣗಈԽ @k0kubun
ࣗݾհ
։ൃڥߏஙͷࣗಈԽ
ڈͷࢲͷ։ൃڥ • ࣗͷMacbook Air
ڈͷࢲͷ։ൃڥ • ࣗͷMacbook Air • ࣗͷiMac
ڈͷࢲͷ։ൃڥ • ࣗͷMacbook Air • ࣗͷiMac • ݚڀࣨͷMacbook Pro
ڈͷࢲͷ։ൃڥ • ࣗͷMacbook Air • ࣗͷiMac • ݚڀࣨͷMacbook Pro •
όΠτઌͷMacbook Pro
YosemiteϦϦʔε • ແݶ Yak shavingͷ͡·Γ
YosemiteϦϦʔε • 4YosemiteΞοϓάϨʔυ໘ • શ෦ΫϦʔϯΠϯετʔϧ͢ΕΑ͘Ͷʁ • ίϚϯυҰൃͰsetup͍ͨ͠
ଞͷਓͷίϚϯυҰൃsetup • holman/dotfiles ˒3212 • ͦͦσϑΥϧτͩͱgitͳ͍ $ git clone https://github.com/holman/
dotfiles.git ~/.dotfiles && cd ~/.dotfiles && script/bootstrap
ଞͷਓͷίϚϯυҰൃsetup • mathyasbynens/dotfiles ˒12335 • ֮͑ΒΕΔΘ͚ͳ͍ • ίϐϖͷͨΊʹϒϥβ։͘ͷ͕໘ $ cd;
curl -#L https://github.com/mathiasbynens/ dotfiles/tarball/master | tar -xzv --strip- components 1 -- exclude={README.md,bootstrap.sh,LICENSE-MIT.txt}
k0kubun/rebuild Development environment bootstrap automation toolkit for OSX https://github.com/k0kubun/rebuild
k0kubun/rebuild
k0kubun/rebuild • rebuild k0kubun/dotfiles ͢Δ͚ͩ • gitͷશࣗಈΠϯετʔϧ • GUIૢ࡞ͷͨΊͷΞΫηγϏϦςΟऔಘ •
AppleScriptͰGUIૢ࡞ • dotfilesͷinstall.shΛΒͤΔ
install.shͲ͏͢Δ͔ • ࣮ࡍʹࢼͨ͠Ҋͨͪ • ryotarai/itamae • r7kamura/serverkit • γΣϧεΫϦϓτखॻ͖
itamae • Macͩͱ͏·͘ಈ͔ͳ͔ͬͨͷͰͨ͠ • itamae-plugin-resource-cask ͱ͔࡞ͬͨ • ͜ΕΛ͍͍ͪͪ࡞Δͷ͕໘
serverkit • MacڥߏஙͷϓϥάΠϯ͕ॆ࣮ͯ͠Δ • ͦΕҎ֎ͷ͜ͱΔͱ͖ • ͕ΜͬͯࣗͰϓϥάΠϯ࡞Δ • YAMLʹγΣϧεΫϦϓτॻ͘
ҙͷεΫϦϓτΛ࣮ߦ͢Δྫ execute "gem install rebuild" do not_if "gem list |
grep -q rebuild" end - type: command script: gem install rebuild check_script: "gem list | grep -q rebulid" • itamae • serverkit if gem list | grep -q rebuild; then gem install rebuild fi • γΣϧεΫϦϓτ
݁: Ruby͏ݹ͍ɺ ɹɹ ࣌γΣϧεΫϦϓτ • αʔόʔͱҧͬͯϩʔΧϧͩͱ͍Ζ͍ΖΓ͍ͨ • Ruby DSL͔YAML͔shͦͷ··͔ͷΈͷ •
ʹͱͬͯshͦͷ··͕ಡΈ͔ͬͨ͢
ϩʔΧϧͰ͍Ζ͍ΖΔྫ
k0kubun/karabiner-dsl Lightweight keyremap configuration DSL for Karabiner https://github.com/k0kubun/karabiner-dsl
k0kubun/karabiner-dsl • MacͷΩʔόΠϯυΛRubyͷDSLͰهड़Ͱ͖Δ • DSLΛղੳͯ͠XMLΛు͖KarabinerʹಡΈࠐ·ͤΔ • ૉͷKarabinerͷઃఆϑΝΠϧॻ͘ͷਏ͍
͜͏͍͏XMLΛ <?xml version="1.0"?> <root> <item> <name>Application shortcuts</name> <identifier>remap.application_shortcuts</identifier> <autogen>__KeyToKey__ KeyCode::O,
VK_CONTROL, KeyCode::VK_OPEN_URL_APP_YoruFukurou</autogen> <autogen>__KeyToKey__ KeyCode::U, VK_CONTROL, KeyCode::VK_OPEN_URL_APP_Google_Chrome</autogen> <autogen>__KeyToKey__ KeyCode::H, VK_CONTROL, KeyCode::VK_OPEN_URL_APP_iTerm</autogen> </item> <vkopenurldef> <name>KeyCode::VK_OPEN_URL_APP_YoruFukurou</name> <url type="file">/Applications/YoruFukurou.app</url> </vkopenurldef> <vkopenurldef> <name>KeyCode::VK_OPEN_URL_APP_Google_Chrome</name> <url type="file">/Applications/Google Chrome.app</url> </vkopenurldef> <vkopenurldef> <name>KeyCode::VK_OPEN_URL_APP_iTerm</name> <url type="file">/Applications/iTerm.app</url> </vkopenurldef> </root>
͜ͷDSL͔ΒੜՄೳ item "Application shortcuts" do remap "C-o", to: invoke("YoruFukurou") remap
"C-u", to: invoke("Google Chrome") remap "C-h", to: invoke("iTerm") end
ϖΞϓϩ࣌ʹൃ͢Δઃఆτοϓ5 • ࢲͷઃఆΛྫʹDSLͷॻ͖ํΛհ͠·͢
5Ґ: ࠨCommand͕Control Ωʔʹͳ͍ͬͯΔ • MySQLͷग़ྗΛίϐʔ͠Α͏ͱͯ͠ ʮmysql> Ctrl-C -- exit!ʯ item
"Command_L to Control_R" do remap "Cmd_L", to: "Ctrl_R" end
4Ґ: Control+HΛԡ͢ͱiTerm ্ཱ͕͕ͪΔ • ϒϥβͰจࣈΛফͦ͏ͱC-h͢ΔͱγΣϧ͕ ༙͍ͯ͘Δ item "Application shortcuts" do
remap "C-h", to: invoke("iTerm") end
3Ґ: Command+LΛԡ͢ͱCapsLock͞ΕΔ • ϒϥβͰΞυϨεόʔʹϑΥʔΧε͠Α͏ͱ ͢Δͱͳ͔ͥCapsLock͞ΕΔ item "CapsLock ON", config_not: "notsave.private_capslock_on"
do remap "Cmd-L", to: ɹɹ ["capslock","VK_CONFIG_FORCE_ON_notsave_private_capslock_on"] end item "CapsLock OFF", config_only: "notsave.private_capslock_on" do remap "Cmd-L", to: ["capslock", "VK_CONFIG_FORCE_OFF_notsave_private_capslock_on"] end
2Ґ: Control+OͰHipChatཱ͕ ্͕ͪΔ • vimͰҎલͷΧʔιϧҐஔʹΖ͏ͱ͢Δͱͳ ͔ͥHipChat͕ݱΕΔ item "Application shortcuts" do
if ENV['WORK_PC'] == 'true' remap "C-o", to: invoke("HipChat") else yorufukurou = system('ls /Applications | grep -q YoruFukurou') ? 'YoruFukurou' : 'Night Owl' remap "C-o", to: invoke(yorufukurou) end end
1Ґ: Control+UͰGoogle Chrome ্ཱ͕͕ͪΔ • γΣϧʹೖྗͨ͠ͷΛফͦ͏ͱ͢Δͱͳ͔ͥ ϒϥβ͕ग़ͯ͘Δ item "Application shortcuts"
do remap "C-u", to: invoke("Google Chrome") end
͓ΘΓ • ڥߏஙࣗಈԽͯ͜͠㽉㽉㽉