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
ノハナのアプリを爆速で動くようにした話
Search
Keishin Yokomaku
May 15, 2014
Programming
6
3k
ノハナのアプリを爆速で動くようにした話
Keishin Yokomaku
May 15, 2014
Tweet
Share
More Decks by Keishin Yokomaku
See All by Keishin Yokomaku
Base64 in Android
keithyokoma
0
35
One screen, many BottomSheets
keithyokoma
0
430
LazyColumnのitemがViewPortの中で占める領域の割合を知りたい
keithyokoma
0
700
Build apps for Cars
keithyokoma
0
550
Save the state
keithyokoma
0
590
Either in Kotlin
keithyokoma
0
610
持続的なアプリ開発のためのDXを支える技術
keithyokoma
2
5.4k
Make the objects serializable with kotlinx.serialization
keithyokoma
0
5.2k
Kotlin で書く Gradle Custom Tasks
keithyokoma
0
560
Other Decks in Programming
See All in Programming
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
640
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
1
950
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
440
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
160
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
340
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
160
Vibe codingでおすすめの言語と開発手法
uyuki234
0
160
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
180
Grafana:建立系統全知視角的捷徑
blueswen
0
280
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
240
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
0
1.5k
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
120
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
140
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
420
For a Future-Friendly Web
brad_frost
180
10k
WENDY [Excerpt]
tessaabrams
9
35k
The browser strikes back
jonoalderson
0
300
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
120
Skip the Path - Find Your Career Trail
mkilby
0
38
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Fireside Chat
paigeccino
41
3.8k
Marketing to machines
jonoalderson
1
4.5k
Transcript
ϊϋφͷΞϓϦΛരͰ ಈ͘Α͏ʹͨ͠ @KeithYokoma
ࣗݾհ @KeithYokoma(ԣນ ܓਅ) 2011 גࣜձࣾϛΫγΟೖࣾ ϊϋφͷதͷਓ Android ΞϓϦͷਓ
Available on Kindle Store http://amzn.to/1mZNydv
ࠓͷ͓ Parse ͱ্खʹ͖ͭ͋͏ ઃܭΛ͍͍ײ͡ʹ͢Δ
ϊϋφͷόοΫΤϯυ Parse.com ParseSDK
ParseSDK ҎԼͷ͜ͱΛͯ͘͠ΕΔ ɾόοΫΤϯυͷϦΫΤετ ɾऔಘͨ͠σʔλͷཧ ɾϢʔβΞΧϯτͷηογϣϯཧ ɾetc…
ParseSDK ͷಛ 1. ඇಉظॲཧ͕؆୯ʹѻ͑Δ
ParseSDK Ͱඇಉظॲཧ ParseQuery<ParseObject> query = ParseQuery.getQuery(“SomeData”); query.findInBackground(new FindCallback<ParseObject>() { public
void done(List<ParseObject> result, ParseException e) { if (e == null) { // Normal } else { // Error } } });
ParseSDK ͷಛ 2. ৼΔ͍Λ֦ுͰ͖Δ
ParseSDK ͰৼΔ͍Λ֦ு public class SomeData extends ParseObject { @Override public
void saveInBackground(SaveCallback callback) { if (!isValidName()) { callback.done(new ParseException()); } super.saveInBackground(callback); } }
ParseSDK ͷಛ 3. ΩϟογϡجຊͷϩδοΫӅṭ͞ΕΔ SDK ͕Α͠ͳʹ໘Λݟͯ͘ΕΔ
؆୯ʂ
1BSTF0CKFDU 1IPUP#PPL 1IPUP 1BHF ʜ
ڞ௨ͷॲཧ͋ΔΑͶʂ
1BSTF0CKFDU 1IPUP#PPL 1IPUP 1BHF ʜ *NBHF.PEFM .PEFM /FXT ʜ
–ϨϏϡʔ “ڧ੍ऴྃ͢Δ”
–ϨϏϡʔ “͑ͳ͍ɻ ͙͢ڧ੍ऴྃʹͳͬͯຊʹ͑ͳ͍”
–Crashlytics “New Fatal Issue Discovered in ϊϋφ”
ParseSDK ͷ᠘ 1. ඇಉظॲཧ͕φΠʔϒ ɾϝΠϯεϨουͰ wait ͢Δॴ͕͋Δ ɾContext ͷੜࢮʹؔΘΒͣίʔϧόοΫΛ ݺͿ
ParseSDK ͷ᠘ 2. ϦΫΤετͷϦτϥΠ͕Լख >> java.lang.IllegalStateException: Manager is shut down.
<<
ParseSDK ͷ᠘ 3. ΦϑϥΠϯͷରԠ͕ࡶ ɾίωΫγϣϯ͕ແ͍ͱΑ͘མͪΔ
ParseSDK ͷ᠘ 4. υΩϡϝϯτʹͳ͍Τϥʔ͕ฦͬͯ͘Δ ɾෛՙ্͕͕ΔͱΑ͘ى͜Δ
ParseSDK ͷ᠘ 5. औ͖ͬͯͨσʔλΛऔΓग़͢ͷ࣌ؒ৯͏ ɾParseObject#get**(String) ɾreturn ʹࢸΔ·ͰͷνΣοΫ͕ωοΫ ɾParseObjectͷίϨΫγϣϯ͓͠Լ͍͞
ϊϋφͰ ParseSDK ParseObject ͷ֦ுΫϥε܈ ɾϞσϧͷࣄશ෦ͦͷதʹ ɾڊେϞσϧʹ ɾςετͳ͍ ɾϝϞϦϦʔΫͷڪාʹک͑Δຖ
–ඵ5Ϋϥογϡ “ͨͪͷલʹ ະͩڊେ͗͢ΔϞσϧ͕ ᣔയͱͨ͠ΫϥογϡϨϙʔτ͕ Ͳ͏͠Α͏ͳ͘ɺԣͨΘ͍ͬͯͨ”
Ver2.0.0 શମΛϦϑΝΫλϦϯά
ParseSDK ͱ্खʹ͖߹͏ ɾͱΓ͋͑ͣ SDK ͷඇಉظॲཧΊΔ ɾͱΓ͋͑ͣ ParseObject ͷ֦ுΛΊΔ ɾͪΌΜͱϨΠϠΛ͚ͯཧ͢Δ
Parse.com Client Converter Loader Model Request Response ParseObject Entity Model
Worker Thread Main Thread
ParseSDK ͱ্खʹ͖߹͏ UIεϨουͷੈքʹParseObjectΛೖΕͳ͍ ɾLoader ͰੈքΛ̎ͭʹஅ ɾόοΫΤϯυͱͷΛClientʹڽू ɾσʔλߏͱParseObjectΛ
݁Ռ ɾڊେϞσϧډͳ͘ͳͬͨ ɾStop the world ͠ͳ͘ͳͬͨ ɾSDK ͷ᠘ʹΑΔΫϥογϡ͕ݮͬͨ ɾςετ͕ॻ͖͘͢ͳͬͨ
ͳΜͱ͔͍ͨ͜͠ͱ ɾParseObject ͔ΒσʔλΛऔΓग़͢ͷॏ͍ ɾREST API ͋ΔͷͰͦΕΛ͍͍ͨ ɾόοΫΤϯυͷΓସ͑Λָʹ͍ͨ͠
݁ ɾBaaS ָ͍͢͝ ɾόοΫΤϯυͷΠϯλϑΣʔεͪΌΜ ͱ࡞Βͳ͍ͱ͋ͱͰٽ͘