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
Pocochaにおけるアセットの管理/potatotips55
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
noppefoxwolf
October 09, 2018
Technology
3
230
Pocochaにおけるアセットの管理/potatotips55
noppefoxwolf
October 09, 2018
Tweet
Share
More Decks by noppefoxwolf
See All by noppefoxwolf
High performance GIF playback/iOSDC25
noppefoxwolf
1
500
Spice up your notifications/try!Swift25
noppefoxwolf
3
800
iOSの隠されたAPIを解明し、開発効率を向上させる方法/iOSDC24
noppefoxwolf
2
1.1k
今から理解するApp Intentエコシステム/WWDC24Recap
noppefoxwolf
0
43
既存アプリをvisionOS対応してリリースした話/visionOS LT vol5
noppefoxwolf
0
220
UIのブラックボックスを探る/iOSDC23
noppefoxwolf
3
4.9k
CoreGraphicsでドット絵を描こう/iOSDC22
noppefoxwolf
0
3k
ランタイムデバッグのススメ/iOSDC21
noppefoxwolf
1
5.3k
google/mediapipe で始めるARアプリ開発/iOSDC2020
noppefoxwolf
1
1.7k
Other Decks in Technology
See All in Technology
OpenClawでPM業務を自動化
knishioka
1
310
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
320
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
130
Embeddings : Symfony AI en pratique
lyrixx
0
380
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
150
AIエージェント勉強会第3回 エージェンティックAIの時代がやってきた
ymiya55
0
150
OPENLOGI Company Profile for engineer
hr01
1
61k
MCPで決済に楽にする
mu7889yoon
0
150
ブラックボックス化したMLシステムのVertex AI移行 / mlops_community_62
visional_engineering_and_design
1
220
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
76k
契約書からの情報抽出を行うLLMのスループットを、バッチ処理を用いて最大40%改善した話
sansantech
PRO
3
310
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
4
1.3k
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
140
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
82
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
130
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
490
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
Exploring anti-patterns in Rails
aemeredith
2
290
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
440
How to build a perfect <img>
jonoalderson
1
5.3k
Transcript
1PDPDIBʹ͓͚ΔΞηοτͷཧ QPUBUPUJQTOPQQF !OPQQFGPYXPMG
OPQQF ! גࣜձࣾσΟʔɾΤψɾΤʔ " ͖ͭͶ͔Θ͍͍ # 1PDPDIBJ04ϦʔυΤϯδχ Ξ
1PDPDIB w ϥΠϒ৴ΞϓϦ w ʙ w ଟ࠼ͳΠϕϯτاըΛ࣮ࢪ w ϨϕϧʹԠͨ͡ԋग़ΪϛοΫ
Ξηοτͷྫ w ը૾ w ৭ w 4UPSZCPBSE w ϑΥϯτ w
FUD
Ξηοτͷྫ w ը૾ w ৭ w 4UPSZCPBSE w ϑΥϯτ w
FUD
1PDPDIBͰͷը૾Ξηοτͷϧʔ ϧ
1PDPDIBͰͷը૾Ξηοτͷϧʔϧ w "TTFU-JUFSBMΘͳ͍ w จࣈྻͰϦιʔεʹΞΫηε͠ͳ͍ w *OUFSGBDFCVJMEFSͷதͰը૾Λઃఆ͠ͳ͍ w ΞϓϦΞΠίϯ୯Ұιʔε͔Βੜ w
μϛʔΞηοτ໌֬ʹϓϩδΣΫτΛ͚ͯཧ͢Δ
"TTFU-JUFSBMΘͳ͍
$PMPS-JUFSBM*NBHF-JUFSBM #imageLiteral(resourceName: "Facebook")
"TTFU-JUFSBMͷ w 9DPEF্ͰɺΞηοτͷҧ͍Λೝࣝͮ͠Β͍
"TTFU-JUFSBMͷ
"TTFU-JUFSBMͷ ϓϩδΣΫτͷن͕େ͖͘ͳΔ΄ͲɺྨࣅͷΞηο τ͕૿͑Δɻ w ղ૾ͷҧ͏ը૾Ξηοτ w ۙࣅ৭ͷΧϥʔΞηοτ
"TTFU-JUFSBMͷସҊ ݁ہ໊લΛ͚ͯݺͼग़͢ࣄ͕ϕετ ݟͨʴಛͷΈ߹ΘͤͰɺΞηοτΛಛఆग़དྷΔ Α͏ͳ໊લΛ͚Δ TriangleRed TriangleLarge
ॏෳ͢Δ໊শͷରࡦ ը໘͕ҟͳΓɺΞηοτҟͳΔ͕ɺݟ͕ͨࣅ͍ͯ ΔΞηοτ͕͋ΔՄೳੑࣄલʹߟྀ͓ͯ͘͠ UserProfileViewTriangleLarge ProfileEditViewTriangleLarge
ڞ௨ͰΘΕΔΞηοτ ෳͷϏϡʔͰར༻͞ΕΔΞηοτɺCommonΛઌ಄ ʹ͚ͭΔ CommonLeftArrow
ωʔϜεϖʔεΛ׆༻͢Δ ϏϡʔͷπϦʔߏʹࣅ໊ͨশʹͳ͍ͬͯͨ͘Ίɺ ͳϑΝΠϧ໊ʹͳ͍ͬͯ͘ɻ YDBTTFUTͷωʔϜεϖʔεΛ༗ޮʹ͢ΔࣄͰγϯϓϧ ͳϑΝΠϧ໊Λར༻Ͱ͖Δɻ ProfileEdit/Triangle/Large
ωʔϜεϖʔεΛ׆༻͢Δ
ωʔϜεϖʔεΛ׆༻͢Δ // Before let image = UIImage(named: "ProfileEditTriangleLarge") // After
let image = UIImage(named: "ProfileEdit/Triangle/Large")
จࣈྻͰϦιʔεʹΞΫηε͠ͳ ͍
จࣈྻͰΞηοτʹΞΫηε͢Δ let image = UIImage(named: "TypoFileName") self.image = image! //
nil exception ϥϯλΠϜͰ5ZQP͕ൃ֮ 1PDPDIBͰෳࡶͳ݅Ͱը૾Λग़͚͢͠ΔͨΊɺ ී௨ʹ৮͍ͬͯΔͱؾ͕͚ͳ͍Ξηοτ͕ଟ͘ଘࡏ
5ZQPΛͳ͘͢ 34XJGU4XJGU(FOͳͲΛར༻ͯ͠5ZQPΛͳ͘͢ let image = Asset.ProfileEdit.Triangle.large.image ίϯύΠϧ࣌ʹλΠϙ͕ݕग़ՄೳʹͳΔ
*OUFSGBDFCVJMEFSͷதͰը૾ Λઃఆ͠ͳ͍
*OUFSGBDFCVJMEFSͷதͰը૾Λઃఆ͢Δة ݥੑ
$PVMEOPUMPBEUIF*NBHF/BNFJNBHF SFGFSFODFEGSPNBOJCJOUIFCVOEMFXJUI JEFOUJpFSDPNCVOEMFBQQ
ଘࡏ͠ͳ͍Ξηοτͷରࡦ *OUFSGBDF#VJMEFSͰը૾ΛΘͳ͍ํ w ϧʔϧͰېࢭ͢Δͷແཧ
ଘࡏ͠ͳ͍Ξηοτͷରࡦ *OBCBҴӋ IUUQTHJUIVCDPNOPQQFGPYXPMGJOBCB
ଘࡏ͠ͳ͍Ξηοτͷରࡦ $ Inaba ./Project > CaptureButton.xib ! An image is
specified outside the code. (icon_camera) > NoticeView.xib ! An image is specified outside the code. (notice_dialog_image) > SignupViewController.storyboard ! An image is specified outside the code. (welcome)
*OUFSGBDFCVJMEFSͷத͔Βը૾Λফ͢ *#͔Βը૾Λফ͢ͱ"VUPMBZPVU͕յΕΔ͜ͱ͕͋Δ w 6**NBHF7JFXJNBHFΛઃఆ͢Δͱͦͷը૾αΠζ Ͱ*OUSJOTJD$POUFOU4J[F͕ͭ͘ w ໌ࣔతʹ*OUSJOTJDDPOUFOUTJ[FΛઃఆ͢Δ͜ͱͰը ૾ແ͠Ͱ"VUPMBZPVUΛղܾͰ͖Δ
*OUFSGBDFCVJMEFSͷத͔Βը૾Λফ͢
ΞϓϦΞΠίϯ୯Ұιʔε͔Β ੜ
ΞϓϦΞΠίϯͷ՝ ը૾ΞηοτϕΫλʔQEG͔ΒϏϧυ࣌ʹෳղ૾ ͷϥελը૾ΛੜͰ͖Δ Կނ͔ΞϓϦΞΠίϯ֤ղ૾ͷϥελը૾Λࣗલ Ͱ༻ҙ͠ͳ͍ͱμϝ
Ϗϧυ࣌ʹΞΠίϯΛੜ IUUQTHJUIVCDPNOPQQFGPYXPMGBQQJDPOHFO
Ϗϧυ࣌ʹΞΠίϯΛੜ
Ϗϧυ࣌ʹΞΠίϯΛੜ QPE"QQ*DPO(FO 10%43005"QQ*DPO(FOBQQJDPOHFOJOQVU 43$3005130%6$5/".&"SUXPSLQOH YDBTTFUT43$3005130%6$5@/".& "TTFUTYDBTTFUT
μϛʔΞηοτ໌֬ʹϓϩδΣ ΫτΛ͚ͯཧ͢Δ
μϛʔΞηοτͷ՝ J04ΞϓϦͰΞϓϦʹσόοάϝχϡʔΛදࣔͯ͠6* ͷ֬ೝΛ͢Δͷྑ͋͘Δख๏ σόοά༻ͷ7JFX$POUSPMMFS#VJME$POpHVSBUJPO ͰӅͤΔ͕ΞηοτӅ͠ʹ͍͘
μϛʔΞηοτͷ՝ ͔͠͠ɺΞϓϦʹόϯυϧͯ͠͠·͏ͱʜ w ஶ࡞ݖతʹϚζΠը૾͕ʜ w ϦϦʔεલͷΞΠςϜը૾͕ʜ w ٸᬎऔΓԼ͛Δࣄʹͳͬͨը૾͕ʜ
ػೳ͝ͱʹQSPKFDUཧ
QSPKFDUʹػೳ2"༻ͷΞϓϦλʔήοτΛஔ
ػೳ2"༻ͷΞϓϦͷYDBTTFUTͰཧ
·ͱΊ w "TTFU-JUFSBMΘͳ͍ w จࣈྻͰϦιʔεʹΞΫηε͠ͳ͍ w *OUFSGBDFCVJMEFSͷதͰը૾Λઃఆ͠ͳ͍ w ΞϓϦΞΠίϯ୯Ұιʔε͔Βੜ