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
On-Demand Resourcesを意識した コンテンツ制作ワークフロー
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Noritaka Kamiya
December 16, 2015
Programming
2.7k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
On-Demand Resourcesを意識した コンテンツ制作ワークフロー
Noritaka Kamiya
December 16, 2015
More Decks by Noritaka Kamiya
See All by Noritaka Kamiya
キラリと光るテクニック、アプリをデモするときの心構え/iOSDC Japan 2018
nolili
4
3.6k
WWDC Pre meeting
nolili
1
3.5k
FastLane with Swift
nolili
0
190
App Transport Securityとローカルネットワーキング/iOSDC Japan 2017
nolili
1
1.7k
iOS Test Night #4
nolili
0
4.1k
SwiftFriendlyObjective-C/try! Swift Tokyo 2017 RejectCon
nolili
1
1.1k
iOSアプリ開発のCI/CD環境とユビレジでのtry / CI CDNight
nolili
1
1.8k
ユビレジiOSアプリ開発のCI/CD環境 / iOS Test Night #1
nolili
5
2.5k
Modern Core Data(iOS 10)
nolili
0
1.4k
Other Decks in Programming
See All in Programming
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
260
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.4k
Contextとはなにか
chiroruxx
1
300
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
540
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
180
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
2
580
OSもどきOS
arkw
0
540
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
110
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
780
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
4.9k
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
1.2k
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
500
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
Leo the Paperboy
mayatellez
7
1.8k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Mind Mapping
helmedeiros
PRO
1
250
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
What's in a price? How to price your products and services
michaelherold
247
13k
Documentation Writing (for coders)
carmenintech
77
5.4k
Deep Space Network (abreviated)
tonyrice
0
170
We Are The Robots
honzajavorek
0
240
How to make the Groovebox
asonas
2
2.2k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Transcript
On-Demand ResourcesΛҙࣝͨ͠ ίϯςϯπ੍࡞ϫʔΫϑϩʔ @nolili Noritaka Kamiya
None
None
None
UW04ʹΞϓϦΛҠ২͢Δͧʂ w J04Y࣌ʹ࡞ͬͨͷ w 6*,JU "VEJP2VFVF4FSWJDFT w 4UPSZCPBSEΈͳ͓ͨ͠Β΄ͱΜͲಈ͍ͨ
ϑΝΠϧαΠζ͕େ͖͗͢Δʂ w UW04ͷΞϓϦɿόϯυϧαΠζʹ.#ͷ੍ݶ w 4BOECPYͷσʔλอଘෆՄ w Γ0O%FNBOE3FTPVSDFTͰ
0O%FNBOE3FTPVSDFT w ΞϓϦຊମͱผͰඞཁͳσʔλ͕ൃੜͨ࣌͠Ͱ αʔό͔ΒඞཁͳσʔλΛऔಘ͢Δ w ॳճμϯϩʔυ࣌ͷ௨৴ΛݮΒͤΔ
Ϣʔεέʔε w ϓϨΠ͞ΕΔ͔Θ͔Βͳ͍ޙͷεςʔδͷσʔλ w ՝ۚͨ͠Ϣʔβ͔͠Θͳ͍σʔλ w ετϨʔδ༰ྔ͕(#ͷσόΠεʹ༏͍͠ w UW04Ҏ֎Ͱ͑Δ
try!
5BHΛ͚ͭΔ w 9DPEFͰϦιʔεʹUBHΛ͚ͭΔ
ϦιʔεʹΞΫηε͢Δ let request = NSBundleResourceRequest(tags: Set(["town"]))
ϦιʔεʹΞΫηε͢Δ request1.beginAccessingResourcesWithCompletionHandler { error in guard error == nil else
{ return } guard let image = UIImage(named: "myImage") else { fatalError("image not found") } print(image) }
3FMFBTF request.endAccessingResources()
ʊਓਓਓਓਓਓਓਓʊ ʼɹࢀরΧϯλɹʻ ʉ:?:?:?:?:?:?:ʉ
None
མͱ݀͠ w "QQ4UPSFͰ͢Δ߹"QQMFͷαʔόͰϗ εςΟϯά͢Δඞཁ͕͋Δ w ։ൃதಠࣗͷαʔό͕͑Δ w &OUFSQSJTF༻ΞϓϦϓϩμΫγϣϯͰಠࣗαʔ ό͕͑Δ
ςετ࣌ʹಠࣗαʔόʹΞηοτΛஔ͘ w CVJMEσΟϨΫτϦͷσʔλΛอଘ͢Δ w 0SHBOJ[FS͔ΒσʔλΛॻ͖ग़͢ w "44&5@1"$,@."/*'&45@63-@13&'*9Λઃఆ
4FSWFS ODR 2015-12-05 16-31-40 python -m SimpleHTTPServer Serving HTTP on
0.0.0.0 port 8000 ... 127.0.0.1 - - [05/Dec/2015 16:35:40] "HEAD /OnDemandResources/li.noli.ODR.2nd.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 16:35:40] "GET /OnDemandResources/li.noli.ODR.2nd.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 16:35:44] "HEAD /OnDemandResources/li.noli.ODR.1st.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 16:35:44] "GET /OnDemandResources/li.noli.ODR.1st.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 17:07:03] "GET /OnDemandResources/AssetPackManifest.plist HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 17:51:08] "HEAD /OnDemandResources/li.noli.ODR.2nd.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 17:51:13] "GET /OnDemandResources/li.noli.ODR.2nd.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 17:51:14] "HEAD /OnDemandResources/li.noli.ODR.1st.assetpack HTTP/1.1" 200 - 127.0.0.1 - - [05/Dec/2015 17:51:14] "GET /OnDemandResources/li.noli.ODR.1st.assetpack HTTP/1.1" 200 -
མͱ݀͠ɹͦͷ w LJMM͞Εͨ͋ͱ͍ͭσʔλ͕ফ͑Δ͔Θ͔Βͳ͍ w ΞϓϦ͋ͨΓ࠷େ(#ͷϦιʔεΛѻ͑Δ w ಉ࣌ʹ CFHJO"DDFTTJOH3FTPVSDFT8JUI$PNQMFUJPO)BO EMFSͰ͖Δͷ(#·Ͱ w
͍Βͳ͘ͳͬͨΒFOE"DDFTTJOH3FTPVSDFTΛ ͬͯΞΫηεΛࢭΊΔ
*OJUJBM*OTUBMM5BH w "QQ4UPSFͰΞϓϦΠϯετʔϧ࣌ʹಉ࣌ʹΠϯε τʔϧ͞ΕΔ w ͳ͔ͥ"QQ*%ͱ1SPWJTJPOJOH1SPpMFͰ1VTI /PUJpDBUJPOΛ༗ޮʹ͓͔ͯ͠ͳ͍ͱ͍͚ͳ͔ͬ ͨɻʢ9DPEFͰαϒϛοτ࣌ʹΤϥʔʣ
"QQ4UPSF.#ͷน w .#ͷ੍ݶʹؚ·ΕΔͷ w "QQMJDBUJPO#VOEMF ΞϓϦຊମ w *OJUJBM*OTUBMM
0O%FNBOE3FTPVSDFTΛҙࣝͨ͠ ίϯςϯπ੍࡞ w ͋Δ͋Δ w Τϯδϯ͚ͩ࡞ͬͯɺͱΓ͋͑ͣ৹ࠪ௨ͯ͠ɺ͋ͱ ͔ΒαʔόͷϦιʔεೖΕସ͑Α͏ʂ
0O%FNBOE3FTPVSDFTΛҙࣝͨ͠ ίϯςϯπ੍࡞ w ͋Δ͋Δ w Τϯδϯ͚ͩ࡞ͬͯɺͱΓ͋͑ͣ৹ࠪ௨ͯ͠ɺ͋ͱ ͔ΒαʔόͷϦιʔεೖΕସ͑Α͏ʂ X
0O%FNBOE3FTPVSDFTΛҙࣝͨ͠ ίϯςϯπ੍࡞ 㾎શͯͷΞηοτ͕ἧ͍ͬͯΔ͜ͱ 㾎దͳUBH͕ৼΒΕ͍ͯΔ͜ͱ 㾎ڊେͳσʔλͷ༗ແ
0O%FNBOE3FTPVSDFTΛҙࣝͨ͠ ίϯςϯπ੍࡞ 㾎Ͳ͜ͰϢʔβΛ͍͍ͨͤͯͷ͔ʁ 㾎ॳճىಈ࣌ʹΦϑϥΠϯͷϢʔβ͕Ͳͷ֊·Ͱί ϯςϯπʹΞΫηε͢Δͷ͔ʁ 㾎4VCNJU࣌ʹτϥϒϧൃ֮ͭΒ͍ 㾎5FTUqJHIUͰςετ͢Δ
3FGFSFODFT 0O%FNBOE3FTPVSDFT(VJEF IUUQTEFWFMPQFSBQQMFDPNKQEPDVNFOUBUJPO'JMF.BOBHFNFOU$PODFQUVBM 0O@%FNBOE@3FTPVSDFT@(VJEF "QQ5IJOOJOH IUUQTEFWFMPQFSBQQMFDPNMJCSBSZUWPTEPDVNFOUBUJPO*%&T$PODFQUVBM "QQ%JTUSJCVUJPO(VJEF"QQ5IJOOJOH"QQ5IJOOJOHIUNM &YBNQMF$PEF0%34UVEZ IUUQTHJUIVCDPNOPMJMJ0%34UVEZ
On-Demand ResourcesΛҙࣝͨ͠ ίϯςϯπ੍࡞ϫʔΫϑϩʔ @nolili Noritaka Kamiya