Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
fastlane 奮闘記
Search
Watson
January 26, 2018
Technology
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
fastlane 奮闘記
Watson
January 26, 2018
More Decks by Watson
See All by Watson
クラウドネイティブ時代に 進化し続けるFluentd
watson
0
38
RMagick, migrate to ImageMagick 7 #RubyKaigi #RubyKaigi2019
watson
0
10k
Magick
watson
0
12k
Improve JSON Performance
watson
2
1.1k
How to optimize Ruby internal.
watson
3
3.1k
iOS、AndroidアプリをRubyで
watson
1
520
RubyMotion 2.0
watson
6
2.9k
Differences CRuby/MacRuby/RubyMotion
watson
5
5.8k
Other Decks in Technology
See All in Technology
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
550
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
710
cdk deployとcdkd deploy、実際にデプロイして5倍速近くの差を実測した
yama3133
1
120
なぜAI時代に技術記事を書くのか?どう書くのか? 〜bunの場合〜
kworkdev
PRO
0
790
You Have Agency(サンキュー、Ruby)
snoozer05
PRO
4
590
データマネジメント × 法務で作りあげる、 freeeの新しいデータガバナンスへの軌跡
freee
PRO
2
560
ひとりで始めた AI駆動開発、チームに広げて何が変わったのか
kenichiodo
0
150
Technical Project Manager の役割とやりがい、少しだけ AI
yoshiiryo1
0
240
AWSセキュリティで活用するAI機能
cmusudakeisuke
1
360
Adversary Infrastructure Hunting101
disconinja
0
170
「作れる」と「リリースできる」の間にあったもの── PdMを外して見えた、PdMがやるべき仕事/Buildable ≠ Shippable: What Removing the PM Taught Me About the PM’s Job
yappli_developers
0
370
Draft AIエージェントの トークン消費を最小化する 8つの原則
kinopeee
6
1.9k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
280
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
310
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
540
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Agile that works and the tools we love
rasmusluckow
331
22k
Into the Great Unknown - MozCon
thekraken
41
2.8k
GitHub's CSS Performance
jonrohan
1033
470k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
960
Test your architecture with Archunit
thirion
2
2.5k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
560
Transcript
GBTUMBOFฃಆه 4IJ[VP'VKJUB
w ॴଐɿגࣜձࣾϢϏϨδ w 5XJUUFSɿ!XBUTPO
GBTUMBOFͱʁ w J04"OESPJEΞϓϦͷϦϦʔε࡞ۀΛࣗಈԽ͢Δπʔϧ w 3VCZ w SBLFΈ͍ͨͳͷ w ༗ࢤʹΑΔେྔͷϓϥάΠϯ w
IUUQTEPDTGBTUMBOFUPPMTQMVHJOTBWBJMBCMFQMVHJOT
GBTUMBOFىಈ͍
w SBLF UJNFCVOEMFFYFDSBLFIEFWOVMM CVOEMFFYFDSBLFIEFWOVMMTVTFSTTZTUFNDQVUPUBM UJNFCVOEMFFYFDGBTUMBOFIEFWOVMM CVOEMFFYFDGBTUMBOFIEFWOVMMTVTFSTTZTUFNDQVUPUBM w GBTUMBOF TFDWTTFD
w 3VCZඪ४ϥΠϒϥϦ QSPpMF require 'profiler' RubyVM::InstructionSequence.compile_option = { :trace_instruction =>
true, :specialized_instruction => false } Profiler__::start_profile ௐ͍ࠪͨ͠ίʔυ Profiler__::print_profile(STDERR) Profiler__::stop_profile
QSPpMF݁Ռ $ bundle exec fastlane -h > /dev/null % cumulative
self self total time seconds seconds calls ms/call ms/call name 50.48 0.53 0.53 953 0.56 5.38 Kernel#require 29.52 0.84 0.31 4 77.50 77.50 IO.select 6.67 0.91 0.07 2 35.00 35.00 Socket.getaddrinfo 6.67 0.98 0.07 427 0.16 0.49 Spaceship::Base.attr 2.86 1.01 0.03 2 15.00 15.00 OpenSSL::X509::Store 2.86 1.04 0.03 1215 0.02 0.03 Module#define_method 1.90 1.06 0.02 1 20.00 20.00 IO.read 1.90 1.08 0.02 1725 0.01 0.01 Symbol#to_s 1.90 1.10 0.02 321 0.06 2.52 Array#each 1.90 1.12 0.02 423 0.05 0.07 Module#class_eval 1.90 1.14 0.02 933 0.02 0.11 nil# 1.90 1.16 0.02 8160 0.00 0.00 Module#method_added 0.95 1.17 0.01 4 2.50 2.50 Range#each 0.95 1.18 0.01 15 0.67 1.33 Kernel#eval 0.95 1.19 0.01 183 0.05 0.05 Array#hash 0.95 1.20 0.01 66 0.15 0.15 Array#inspect 0.95 1.21 0.01 36 0.28 0.28 Forwardable._delegat 0.95 1.22 0.01 159 0.06 0.06 Module#private 0.95 1.23 0.01 387 0.03 0.03 Hash#[]=
,FSOFMSFRVJSF ϩʔυ͢ΔϑΝΠϧͷύεΛऔಘ ϑΝΠϧΛಡΈࠐΉ QBSTF͠ߏจੜ 3VCZ*OTUSVDUJPO4FRVFODFੜ
Ϋϥεɺϝιουఆٛ
None
CPPUTOBQͱʁ w SFRVJSF࣌ʹ͕͔͔࣌ؒΔͷΛDBDIF͢ΔϥΠϒϥϦ w SFRVJSF͢ΔϑΝΠϧύε w 3VCZ*OTUSVDUJPO4FRVFODF
#VOEMFSͱີʹґଘͯͯ͠ɺCVOEMFSΘͳ͍߹ʹྫ֎ى͜ ͯͨ͠ɻ͚ͨ͠Ͳ͞ ɾТɾ
GBTUMBOFͲ͏ͳͬͨʁ w #FGPSF UJNFCVOEMFFYFDGBTUMBOFIEFWOVMM CVOEMFFYFDGBTUMBOFIEFWOVMMTVTFSTTZTUFNDQVUPUBM UJNFCVOEMFFYFDGBTUMBOFIEFWOVMM CVOEMFFYFDGBTUMBOFIEFWOVMMTVTFSTTZTUFNDQVUPUBM w "GUFS TFDˠTFD
None
໊લۭؒͳ͍
΄͔ͬͨ͠ͷ platform :ios do namespace :update do lane :build_number do
... end lane :version do ... end end end $ bundle exec fastlane update:version
None
ଥڠͨ͠ lane :"update:build_number" do ... end lane :”update:version" do ...
end
ࢦఆͨ͠λεΫ͕ೝࣝ͞ΕͣɺλεΫҰཡ͕දࣔ͞Εͨ
ҾΛίϩϯͰׂ͢ΔṖͷίʔυ ɾТɾʆ
͜Μͳͷαϙʔτͯͨ͠ platform :ios do lane :hogehoge do |arg| # key:value
͕ {:key=>"value"} ͱͯ͠ arg ʹ͞ΕΔ p arg end end $ bundle exec fastlane hogehoge key:value
ϓϥοτϑΥʔϜͱλεΫ໊Λׂ͠ͳ͍Ͱ ɾТɾʆ
ఏڙ גࣜձࣾϢϏϨδ