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
99
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
35
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
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
140
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
160
全社共通データ基盤をつくる。ソニーのDatabricks活用とデータガバナンス設計の裏側
sony
0
300
『GOエコノミー 』(相乗りサービス) におけるスペック駆動開発
mot_techtalk
1
220
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
380
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
310
AIに書かせて、プラットフォームで縛る ― EKSプラットフォームで実践した責任境界と権限設計
elmodev09
1
1.1k
認知負荷を吸収し、プロダクトをまたぐPR Preview基盤の設計事例
taiki45
2
570
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
5
2k
「とりあえず動く」の先へ。 AI時代のチーム開発と内部設計/2026-slsdays
slsops
0
110
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
210
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Evolving SEO for Evolving Search Engines
ryanjones
0
300
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
380
What's in a price? How to price your products and services
michaelherold
247
13k
Technical Leadership for Architectural Decision Making
baasie
3
590
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
760
GraphQLとの向き合い方2022年版
quramy
50
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
WENDY [Excerpt]
tessaabrams
14
40k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
310
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
ϓϥοτϑΥʔϜͱλεΫ໊Λׂ͠ͳ͍Ͱ ɾТɾʆ
ఏڙ גࣜձࣾϢϏϨδ