LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경

M
letswift(17)
/
손민탁
letswift(17)


LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
.xcodeproj .xcworkspace.xcscheme
.xcodeproj .xcworkspace.xcscheme
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경








LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경






LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경




✕




✕ ✕




✕
✕ ✕ ✕




✕
✕ ✕ ✕




✕
✕ ✕ ✕


















LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
.xcschemetarget
.xcschemetarget
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
.xcconfig
.xcconfig
.xcconfig
.xcconfig


😴
🤓
💻
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경














LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
target
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경






LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
.xcodeproj .xcconfig
.xcodeproj .xcconfig
.xcodeproj .xcconfig
BuildSettingExtractor
.xcodeproj
BuildSettingExtractor
.xcodeproj
BuildSettingExtractor
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
Project-Shared.xcconfig
Project-Release.xcconfigProject-Shared.xcconfig
Project-Release.xcconfigProject-Shared.xcconfig
Project-
Shared.xcconfig
Project-

Debug.xcconfig
Project

Debug_guard.xcconfig
Project-

Release.xcconfig
Project-
Release_guard.xcconfig
Project-
Shared.xcconfig
Project-

Debug.xcconfig
Project

Debug_guard.xcconfig
Project-

Release.xcconfig
Project-
Release_guard.xcconfig
Trust-
Shared.xcconfig
Trust-

Debug.xcconfig
Trust

Debug_guard.xcconfig
Trust-

Release.xcconfig
Trust-
Release_guard.xcconfig
Project-
Shared.xcconfig
Project-

Debug.xcconfig
Project

Debug_guard.xcconfig
Project-

Release.xcconfig
Project-
Release_guard.xcconfig
Trust-
Shared.xcconfig
Trust-

Debug.xcconfig
Trust

Debug_guard.xcconfig
Trust-

Release.xcconfig
Trust-
Release_guard.xcconfig


LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경




✕
✕ ✕ ✕
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
Trust-AppStore-Debug.xcconfig
Trust-AppStore-Debug.xcconfig
Trust-AppStore-Development-Team.xcconfig
Trust-AppStore-Debug.xcconfig Trust-Debug.xcconfig
Trust-AppStore-Debug.xcconfig




Trust-AppStore-Debug.xcconfig






LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경






LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경


OTHER_LDFLAGS -ObjC -force_load -lz
LIBRARY_SEARCH_PATHS…
OTHER_LDFLAGS -lc++ -lz
LIBRARY_SEARCH_PATHS…
OTHER_LDFLAGS -lstdc++ -lsqlite3
LIBRARY_SEARCH_PATHS…
OTHER_LDFLAGS -framework CoreMedia
LIBRARY_SEARCH_PATHS…


OTHER_LDFLAGS -ObjC -force_load -lz
LIBRARY_SEARCH_PATHS…
OTHER_LDFLAGS -lc++ -lz
LIBRARY_SEARCH_PATHS…
OTHER_LDFLAGS -lstdc++ -lsqlite3
LIBRARY_SEARCH_PATHS…
OTHER_LDFLAGS -framework CoreMedia
LIBRARY_SEARCH_PATHS…


LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
😴
🤓
💻
$ cd ~/Documents
# 1. SDK podspec
# git .
# e.g. https://github.com/toss/toss-3rd-sdk-test
$ pod lib create 'toss-3rd-sdk-test'
$ cd ~/Documents
# 1. SDK podspec
# git .
# e.g. https://github.com/toss/toss-3rd-sdk-test
$ pod lib create 'toss-3rd-sdk-test'
# 2. podspec
$ cd toss-3rd-sdk-test
$ vi toss-3rd-sdk-test.podspec
Pod::Spec.new do |s|
s.name = 'toss-3rd-sdk-test'
s.version = ‘0.1.0'
s.summary = ‘ '
s.description = <<-DESC
X
DESC
s.homepage = 'https://github.com/toss/toss-3rd-sdk-test'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'Mintak Son' => 'mintakson@toss.im' }
s.source = { :git => 'https://github.com/toss/toss-3rd-sdk-test.git',
:tag => s.version.to_s }
s.ios.deployment_target = '8.0'
s.requres_arc = true
# …
# 2. podspec
$ cd toss-3rd-sdk-test
$ vi toss-3rd-sdk-test.podspec
# …
#
s.source_files = 'Library/**/*.h'
#
s.vendored_libraries = 'Library/lib/*.a'
#
s.resource_bundles = {}
#
s.frameworks = 'AVFoundation', 'CoreMotion', 'CoreLocation'
#
s.public_header_files = 'Library/include/*.h'
s.pod_target_xcconfig = { 'ENABLE_BITCODE' => 'NO' }
s.library = 'z', 'c++'
end
# …
#
s.source_files = 'Library/**/*.h'
#
s.vendored_libraries = 'Library/lib/*.a'
#
s.resource_bundles = {}
#
s.frameworks = 'AVFoundation', 'CoreMotion', 'CoreLocation'
#
s.public_header_files = 'Library/include/*.h'
s.pod_target_xcconfig = { 'ENABLE_BITCODE' => 'NO' }
s.library = 'z', 'c++'
end
# 3.
# podspec tag
$ git commit -m ' 0.1.0'
$ git tag 0.1.0
# 4. private pod repo
# private pod repo git .
# e.g. git@github.com:toss/private-pod-repo.git
# pod repo add REPO_NAME SOURCE_URL
$ pod repo add private-pod-repo git@github.com:toss/private-pod-repo.git
# 4. private pod repo
# private pod repo git .
# e.g. git@github.com:toss/private-pod-repo.git
# pod repo add REPO_NAME SOURCE_URL
$ pod repo add private-pod-repo git@github.com:toss/private-pod-repo.git
# 5. SDK private pod repo .
# pod repo push REPO_NAME PODSPEC_FILE
$ pod repo push private-pod-repo toss-3rd-sdk-test.podspec
# 4. private pod repo
# private pod repo git .
# e.g. git@github.com:toss/private-pod-repo.git
# pod repo add REPO_NAME SOURCE_URL
$ pod repo add private-pod-repo git@github.com:toss/private-pod-repo.git
# 5. SDK private pod repo .
# pod repo push REPO_NAME PODSPEC_FILE
$ pod repo push private-pod-repo toss-3rd-sdk-test.podspec
# 6.
$ cd ~/.cocoapods/repos/private-pod-repo
$ ls
toss-3rd-sdk-test
$ tree
.
└── toss-3rd-sdk-test
└── 0.1.0
└── toss-3rd-sdk-test.podspec
# 7. Podfile
$ cd ~/Documents/myproject/
$ vi Podfile
# 7. Podfile
$ cd ~/Documents/myproject/
$ vi Podfile
platform :ios, '8.0'
source 'https://github.com/CocoaPods/Specs.git'
source 'git@github.com:toss/toss-ios-private-pod-repo.git'
# ... ...
def app_pods
# ... ...
pod 'toss-3rd-test-sdk'
# ... ...
end
# ... ...
# 7. Podfile
$ cd ~/Documents/myproject/
$ vi Podfile
platform :ios, '8.0'
source 'https://github.com/CocoaPods/Specs.git'
source 'git@github.com:toss/toss-ios-private-pod-repo.git'
# ... ...
def app_pods
# ... ...
pod 'toss-3rd-test-sdk'
# ... ...
end
# ... ...
# 8.
$ pod update # or pod install
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경






LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경


LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경

 


 
 




 


 





LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
😴
🤓
💻
$ fastlane pem


$ fastlane pem


$ fastlane pem
# fastlane pem -a APP_BUNDLE_ID -u APPLE_ACCOUNT_EMAIL -p P12_PASSWORD
$ fastlane pem -a com.vivarepublica.toss -u 'mintakson@toss.im' -p 'PA55W0RD!@#'







 













$ fastlane match init
--git_url git@github.com:toss/toss-ios-certificate.git
--git_branch appstore_account
--username build-bot@toss.im
--app_identifier ...




$ fastlane match init
--git_url git@github.com:toss/toss-ios-certificate.git
--git_branch appstore_account
--username build-bot@toss.im
--app_identifier ...
# Matchfile
git_url "git@github.com:toss/toss-ios-certificate.git"
username "build-bot@toss.im”
git_branch "appstore_account"




$ fastlane match appstore




$ fastlane match appstore














$ fastlane match
$ fastlane match
$ fastlane match




$ fastlane match
$ fastlane match
$ fastlane match






$ fastlane match
$ fastlane match
$ fastlane match






$ fastlane match
$ fastlane match
$ fastlane match




$ fastlane ios match_appstore # /
$ fastlane ios dogspaw # adhoc
$ fastlane ios alpha # adhoc
$ fastlane ios staging # adhoc
$ fastlane ios prod # adhoc


$ fastlane ios match_appstore # /
$ fastlane ios dogspaw # adhoc
$ fastlane ios alpha # adhoc
$ fastlane ios staging # adhoc
$ fastlane ios prod # adhoc
$ fastlane ios match_appstore readonly:false
# /
$ fastlane ios prod export_method:app-store
#
$ fastlane ios alpha crashlytics:true
# adhoc fabric beta
$ fastlane ios staging crashlytics:true emails:mintakson@toss.im,y8k@toss.im
# adhoc fabric beta
$ fastlane ios staging crashlytics:true tester_groups:shinhan_investment
# adhoc fabric beta shinhan_investment


$ fastlane ios match_appstore # /
$ fastlane ios dogspaw # adhoc
$ fastlane ios alpha # adhoc
$ fastlane ios staging # adhoc
$ fastlane ios prod # adhoc
$ fastlane ios match_appstore readonly:false
# /
$ fastlane ios prod export_method:app-store
#
$ fastlane ios alpha crashlytics:true
# adhoc fabric beta
$ fastlane ios staging crashlytics:true emails:mintakson@toss.im,y8k@toss.im
# adhoc fabric beta
$ fastlane ios staging crashlytics:true tester_groups:shinhan_investment
# adhoc fabric beta shinhan_investment


$ fastlane init
# .


$ fastlane init
# .


for_lane :dogspaw do
app_identifier "com.vivarepublica.cash.dogspaw"
apple_id "build-bot@toss.im"
team_id "…"
end
for_lane :alpha do
app_identifier "com.vivarepublica.cash.alpha"
apple_id "build-bot@toss.im"
team_id "…"
end
for_lane :staging do
app_identifier "com.vivarepublica.cash.staging"
apple_id "build-bot@toss.im"
team_id "…"
end
#... ...


# pseudo-Fastfile. -Fastfile.
platform :ios do
before_all do
ensure_git_status_clean
clear_derived_data
end
lane :match_appstore do |options|
match(git_branch: "appstore_account", type: "adhoc", readonly: readonly)
match(git_branch: "appstore_account", type: "appstore", readonly: readonly)
end


lane :prod do |options|
match_appstore
cocoapods(repo_update: true)
gym(...)
crashlytics(...)
slack(...)
end
after_all do |lane|
reset_git_repo(disregard_gitignore: false)
end
error do |lane, exception|
reset_git_repo(disregard_gitignore: false)
slack(...)
end
end


LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경
letswift(17)
1 of 166

Recommended

Hello, ReactorKit  by
Hello, ReactorKit Hello, ReactorKit 
Hello, ReactorKit Suyeol Jeon
3.2K views140 slides
RxSwift to Combine by
RxSwift to CombineRxSwift to Combine
RxSwift to CombineBo-Young Park
2.6K views126 slides
How Netflix Is Solving Authorization Across Their Cloud by
How Netflix Is Solving Authorization Across Their CloudHow Netflix Is Solving Authorization Across Their Cloud
How Netflix Is Solving Authorization Across Their CloudTorin Sandall
10.6K views29 slides
cert-manager로 let's encrypt 인증서 발급 by
cert-manager로 let's encrypt 인증서 발급cert-manager로 let's encrypt 인증서 발급
cert-manager로 let's encrypt 인증서 발급choi sungwook
417 views30 slides
Rego Deep Dive by
Rego Deep DiveRego Deep Dive
Rego Deep DiveTorin Sandall
8.4K views73 slides
Building secure applications with keycloak by
Building secure applications with keycloak Building secure applications with keycloak
Building secure applications with keycloak Abhishek Koserwal
7.9K views20 slides

More Related Content

What's hot

RxSwift Testing 같이 시작하기 feat. RxBlocking, RxTest by
RxSwift Testing 같이 시작하기 feat. RxBlocking, RxTestRxSwift Testing 같이 시작하기 feat. RxBlocking, RxTest
RxSwift Testing 같이 시작하기 feat. RxBlocking, RxTestByeongchan Lee
931 views89 slides
ReactorKit으로 단방향 반응형 앱 만들기 by
ReactorKit으로 단방향 반응형 앱 만들기ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기Suyeol Jeon
3.3K views49 slides
Stun turn poc_pilot by
Stun turn poc_pilotStun turn poc_pilot
Stun turn poc_pilotMihály Mészáros
2.7K views61 slides
Testing with JUnit 5 and Spring - Spring I/O 2022 by
Testing with JUnit 5 and Spring - Spring I/O 2022Testing with JUnit 5 and Spring - Spring I/O 2022
Testing with JUnit 5 and Spring - Spring I/O 2022Sam Brannen
2.3K views44 slides
PoP - “Platform of Platforms”: Framework for building Single-Page Application... by
PoP - “Platform of Platforms”: Framework for building Single-Page Application...PoP - “Platform of Platforms”: Framework for building Single-Page Application...
PoP - “Platform of Platforms”: Framework for building Single-Page Application...Leonardo Losoviz
4.6K views89 slides
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter... by
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Domenic Denicola
184.3K views99 slides

What's hot(20)

RxSwift Testing 같이 시작하기 feat. RxBlocking, RxTest by Byeongchan Lee
RxSwift Testing 같이 시작하기 feat. RxBlocking, RxTestRxSwift Testing 같이 시작하기 feat. RxBlocking, RxTest
RxSwift Testing 같이 시작하기 feat. RxBlocking, RxTest
Byeongchan Lee931 views
ReactorKit으로 단방향 반응형 앱 만들기 by Suyeol Jeon
ReactorKit으로 단방향 반응형 앱 만들기ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기
Suyeol Jeon3.3K views
Testing with JUnit 5 and Spring - Spring I/O 2022 by Sam Brannen
Testing with JUnit 5 and Spring - Spring I/O 2022Testing with JUnit 5 and Spring - Spring I/O 2022
Testing with JUnit 5 and Spring - Spring I/O 2022
Sam Brannen2.3K views
PoP - “Platform of Platforms”: Framework for building Single-Page Application... by Leonardo Losoviz
PoP - “Platform of Platforms”: Framework for building Single-Page Application...PoP - “Platform of Platforms”: Framework for building Single-Page Application...
PoP - “Platform of Platforms”: Framework for building Single-Page Application...
Leonardo Losoviz4.6K views
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter... by Domenic Denicola
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Domenic Denicola184.3K views
Pentesting Modern Web Apps: A Primer by Brian Hysell
Pentesting Modern Web Apps: A PrimerPentesting Modern Web Apps: A Primer
Pentesting Modern Web Apps: A Primer
Brian Hysell2.4K views
“How to Secure Your Applications With a Keycloak? by GlobalLogic Ukraine
“How to Secure Your Applications With a Keycloak?“How to Secure Your Applications With a Keycloak?
“How to Secure Your Applications With a Keycloak?
How to steal and modify data using Business Logic flaws - Insecure Direct Obj... by Frans Rosén
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
Frans Rosén7.2K views
FIDO Specifications Overview: UAF & U2F by FIDO Alliance
FIDO Specifications Overview: UAF & U2FFIDO Specifications Overview: UAF & U2F
FIDO Specifications Overview: UAF & U2F
FIDO Alliance2.6K views
Airflow를 이용한 데이터 Workflow 관리 by YoungHeon (Roy) Kim
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리
YoungHeon (Roy) Kim9.1K views
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1 by Toshiaki Maki
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Toshiaki Maki12K views
Load Testing - How to Stress Your Odoo with Locust by Odoo
Load Testing - How to Stress Your Odoo with LocustLoad Testing - How to Stress Your Odoo with Locust
Load Testing - How to Stress Your Odoo with Locust
Odoo3.1K views
PromQL Deep Dive - The Prometheus Query Language by Weaveworks
PromQL Deep Dive - The Prometheus Query Language PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language
Weaveworks27.6K views
iOS Modular Architecture with Tuist by 정민 안
iOS Modular Architecture with TuistiOS Modular Architecture with Tuist
iOS Modular Architecture with Tuist
정민 안2.8K views
Open source APM Scouter로 모니터링 잘 하기 by GunHee Lee
Open source APM Scouter로 모니터링 잘 하기Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기
GunHee Lee72.5K views
JDD 2017: Nginx + Lua = OpenResty (Marcin Stożek) by PROIDEA
JDD 2017: Nginx + Lua = OpenResty (Marcin Stożek)JDD 2017: Nginx + Lua = OpenResty (Marcin Stożek)
JDD 2017: Nginx + Lua = OpenResty (Marcin Stożek)
PROIDEA91 views
Elastic Stack 을 이용한 게임 서비스 통합 로깅 플랫폼 - elastic{on} 2019 Seoul by SeungYong Oh
Elastic Stack 을 이용한 게임 서비스 통합 로깅 플랫폼 - elastic{on} 2019 SeoulElastic Stack 을 이용한 게임 서비스 통합 로깅 플랫폼 - elastic{on} 2019 Seoul
Elastic Stack 을 이용한 게임 서비스 통합 로깅 플랫폼 - elastic{on} 2019 Seoul
SeungYong Oh1.5K views

Similar to LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경

Optimizing Spring Boot apps for Docker by
Optimizing Spring Boot apps for DockerOptimizing Spring Boot apps for Docker
Optimizing Spring Boot apps for DockerGraham Charters
765 views41 slides
ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин) by
ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)
ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)ZFConf Conference
1.8K views44 slides
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort... by
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...Shift Conference
61 views58 slides
LicensePlist - A license list generator of all your dependencies for iOS appl... by
LicensePlist - A license list generator of all your dependencies for iOS appl...LicensePlist - A license list generator of all your dependencies for iOS appl...
LicensePlist - A license list generator of all your dependencies for iOS appl...将之 小野
17.2K views34 slides
Becoming a Git Master by
Becoming a Git MasterBecoming a Git Master
Becoming a Git MasterNicola Paolucci
935 views77 slides
Becoming a Git Master - Nicola Paolucci by
Becoming a Git Master - Nicola PaolucciBecoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola PaolucciAtlassian
5.9K views112 slides

Similar to LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경(20)

Optimizing Spring Boot apps for Docker by Graham Charters
Optimizing Spring Boot apps for DockerOptimizing Spring Boot apps for Docker
Optimizing Spring Boot apps for Docker
Graham Charters765 views
ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин) by ZFConf Conference
ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)
ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)
ZFConf Conference1.8K views
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort... by Shift Conference
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...
Shift Conference61 views
LicensePlist - A license list generator of all your dependencies for iOS appl... by 将之 小野
LicensePlist - A license list generator of all your dependencies for iOS appl...LicensePlist - A license list generator of all your dependencies for iOS appl...
LicensePlist - A license list generator of all your dependencies for iOS appl...
将之 小野17.2K views
Becoming a Git Master - Nicola Paolucci by Atlassian
Becoming a Git Master - Nicola PaolucciBecoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola Paolucci
Atlassian5.9K views
"I have a framework idea" - Repeat less, share more. by Fabio Milano
"I have a framework idea" - Repeat less, share more."I have a framework idea" - Repeat less, share more.
"I have a framework idea" - Repeat less, share more.
Fabio Milano1.3K views
Odoo development workflow with pip and virtualenv by acsone
Odoo development workflow with pip and virtualenvOdoo development workflow with pip and virtualenv
Odoo development workflow with pip and virtualenv
acsone8.5K views
Monitoring web application behaviour with cucumber-nagios by Lindsay Holmwood
Monitoring web application behaviour with cucumber-nagiosMonitoring web application behaviour with cucumber-nagios
Monitoring web application behaviour with cucumber-nagios
Lindsay Holmwood4.3K views
Goの標準的な開発の流れ by Ryuji Iwata
Goの標準的な開発の流れGoの標準的な開発の流れ
Goの標準的な開発の流れ
Ryuji Iwata449 views
Git the Docs: A fun, hands-on introduction to version control by Becky Todd
Git the Docs: A fun, hands-on introduction to version controlGit the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version control
Becky Todd187 views
Riding on rails3 with full stack of gems by Andy Wang
Riding on rails3 with full stack of gemsRiding on rails3 with full stack of gems
Riding on rails3 with full stack of gems
Andy Wang1.6K views
Обход проверки безопасности в магазинах мобильных приложений при помощи платф... by Positive Hack Days
Обход проверки безопасности в магазинах мобильных приложений при помощи платф...Обход проверки безопасности в магазинах мобильных приложений при помощи платф...
Обход проверки безопасности в магазинах мобильных приложений при помощи платф...
Positive Hack Days506 views
Single Page JavaScript WebApps... A Gradle Story by Kon Soulianidis
Single Page JavaScript WebApps... A Gradle StorySingle Page JavaScript WebApps... A Gradle Story
Single Page JavaScript WebApps... A Gradle Story
Kon Soulianidis4K views
Git Distributed Version Control System by Victor Wong
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control System
Victor Wong825 views

Recently uploaded

Introduction to Git Source Control by
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source ControlJohn Valentino
7 views18 slides
Programming Field by
Programming FieldProgramming Field
Programming Fieldthehardtechnology
6 views9 slides
360 graden fabriek by
360 graden fabriek360 graden fabriek
360 graden fabriekinfo33492
165 views25 slides
AI and Ml presentation .pptx by
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptxFayazAli87
14 views15 slides
Understanding HTML terminology by
Understanding HTML terminologyUnderstanding HTML terminology
Understanding HTML terminologyartembondar5
7 views8 slides
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Lisi Hocke
35 views124 slides

Recently uploaded(20)

Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino7 views
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info33492165 views
AI and Ml presentation .pptx by FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8714 views
Understanding HTML terminology by artembondar5
Understanding HTML terminologyUnderstanding HTML terminology
Understanding HTML terminology
artembondar57 views
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by Lisi Hocke
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Lisi Hocke35 views
Automated Testing of Microsoft Power BI Reports by RTTS
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI Reports
RTTS10 views
Generic or specific? Making sensible software design decisions by Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... by NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi216 views
FOSSLight Community Day 2023-11-30 by Shane Coughlan
FOSSLight Community Day 2023-11-30FOSSLight Community Day 2023-11-30
FOSSLight Community Day 2023-11-30
Shane Coughlan7 views
Dapr Unleashed: Accelerating Microservice Development by Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski15 views
Transport Management System - Shipment & Container Tracking by Freightoscope
Transport Management System - Shipment & Container TrackingTransport Management System - Shipment & Container Tracking
Transport Management System - Shipment & Container Tracking
Freightoscope 5 views
ADDO_2022_CICID_Tom_Halpin.pdf by TomHalpin9
ADDO_2022_CICID_Tom_Halpin.pdfADDO_2022_CICID_Tom_Halpin.pdf
ADDO_2022_CICID_Tom_Halpin.pdf
TomHalpin95 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert33 views
How to build dyanmic dashboards and ensure they always work by Wiiisdom
How to build dyanmic dashboards and ensure they always workHow to build dyanmic dashboards and ensure they always work
How to build dyanmic dashboards and ensure they always work
Wiiisdom14 views
Electronic AWB - Electronic Air Waybill by Freightoscope
Electronic AWB - Electronic Air Waybill Electronic AWB - Electronic Air Waybill
Electronic AWB - Electronic Air Waybill
Freightoscope 5 views

LetSwift 2017 - 토스 iOS 앱의 개발/배포 환경