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
家族アルバムみてね 開発風景 #realm_jp
Search
ainame
September 29, 2015
Programming
4.2k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
家族アルバムみてね 開発風景 #realm_jp
Realm meetup#7
http://realm.connpass.com/event/19719/
ainame
September 29, 2015
More Decks by ainame
See All by ainame
Swift 5.7で変わる正規表現を試してみよう
ainame
4
8k
iOSDC 2021 - App Store用スクリーンショットの自動生成をアラビア語対応してSwiftUIで実装してみた
ainame
0
6.1k
DNN/GPU with Ruby #rubykaigi
ainame
2
3.4k
Server Side Swift実用性評価 2017 #iosdc #b
ainame
3
4.5k
Process tons of jobs with Swift
ainame
0
1.9k
Swift on the ObjC #shibuyaswift
ainame
4
940
iOSで無限バックグラウンドアップロード(に挑戦してみた話)
ainame
2
5.4k
リファクタリングとtsort
ainame
1
1.8k
RubyMotionについて #mixiwwdc
ainame
2
470
Other Decks in Programming
See All in Programming
GraphQL の onError と Nullability のこれから
quramy
0
180
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
1
200
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
270
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.8k
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.2k
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
120
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
190
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1.3k
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
230
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
7k
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
370
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
210
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
790
Building Applications with DynamoDB
mza
96
7.3k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
810
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Embracing the Ebb and Flow
colly
88
5.2k
Building an army of robots
kneath
307
47k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Optimising Largest Contentful Paint
csswizardry
37
4k
A better future with KSS
kneath
240
18k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
320
Transcript
ՈΞϧόϜΈͯͶ ։ൃ෩ܠ 3FBMNNFFUVQ !BJOBNF
˙ࣗݾհ w !BJOBNFੜҪஐ࢘ w גࣜձࣾϛΫγΟձࣨॴଐ w ͨ·ʹॻ͍ͯΔ✏IUUQBJOBNFIBUFCMPKQ
˙ΞδΣϯμ ՈΞϧόϜΈͯͶͷհ ։ൃνʔϜ 3FBMNಋೖͷ͖͔͚ͬ αʔόΫϥΠΞϯτͷಉظͷ࣮
ՈΞϧόϜΈͯͶͷ։ൃ෩ܠ͔ΒೖΓ 3FBMNΛಋೖͯ͠ϦϦʔε͢Δ·ͰͷΛ͠·͢
ՈΞϧόϜΈͯͶͷհ
˙ՈΞϧόϜΈͯͶ w εϚϗ࣌ͷՈΞϧόϜ w "OESPJEJ04Ұ෦ϒϥβରԠ w ࢠڙͷΛৼΓ͔͑Δඵಈը ࢠڙͷΛ ͍ͭͰɺͲ͜Ͱɺ͍ͭ·Ͱʂ
None
։ൃνʔϜ
˙։ൃνʔϜ w 4DSVNΛ࠾༻ w 10Y ։ൃऀY σβΠφY ଞνʔϜ݉2"Y w िؒεϓϦϯτͰ݄ճϦϦʔε
IUUQXXXNJUDIMBDFZDPNSFTPVSDFTTDSVNGSBNFXPSLqPXEJBHSBN
None
˙4DSVN্ͰͷλεΫ w ϢʔβʹՁ͕ಧ͔͘Ͳ͏͔Λج४ʹ༏ઌ͕͍ͭͯΔ w ඞཁʹԠͯ͡ແବͳ͘։ൃΛߦ͏ͨΊʹଐਓੑഉআ ։ൃऀຖͷ୲ϓϥοτϑΥʔϜΛແ͘͢ w J04"OESPJEಉ࣌ϦϦʔεͷͨΊ"1*J04"OESPJEͷॱͰ։ൃ ʮJ04ͷ2"தʹ"OESPJEΛ։ൃ͠J04৹ࠪதʹ"OESPJEͷ2"ʯͱ͍ ͏ྲྀΕ͕ΊΔ
3FBMNಋೖͷ͖͔͚ͬ
˙αʔόෛՙ w ༏ઌͷͰϓϩτλΠϓ࣌ظͷઃܭͷ··ϦϦʔε͍ͯͨ͠ w ΞϧόϜͷσʔλΫϥΠΞϯτͰӬଓԽ͓ͯ͠Βͣ ը໘ߋ৽ຖʹϦΫΤετ w ઍ୯Ґͷ3BJMTͷ"DUJWF3FDPSEͷΠϯελϯεੜ +40/·ͰͷγϦΞϥΠζతʹϘτϧωοΫʹͳΔˍ $16༗͢Δ΄Ͳ͔͔࣌ؒΔͷͰةͳ͍
< \ JE ˘˘ ^ \ JE ˘˘
^ > (&5BQJNFEJB@MFT ىಈ࣌ͱ͔ը૾Ξοϓϩʔυຖʹ ϦΫΤετΛඈ͢
\ JE ˘˘ ^ \ JE ˘˘ ^
˘˘ (&5BQJNFEJB@MFT < \ JE ˘˘ ^ \ JE ˘˘ ^ ˘˘ \ JE ˘˘ ^ \ JE ˘˘ ^ ˘˘ > େྔͷΦϒδΣΫτΛ ฦͦ͏ͱ͢Δͱ ඵ୯ҐͰॲཧ͠Α͏ͱ͢Δ
\ JE ˘˘ ^ \ JE ˘˘ ^
˘˘ (&5BQJNFEJB@MFT < \ JE ˘˘ ^ \ JE ˘˘ ^ ˘˘ \ JE ˘˘ ^ \ JE ˘˘ ^ ˘˘ > ΞϧόϜ݅ͷଟ͍Ϣʔβ͕ େྔʹը૾Ξοϓϩʔυ͢Δͱ ϦΫΤετ͕٧·Δ
˙Ͳ͏͢Δ͔ʁ w ΞϓϦଆͷଞͷػೳվमͷํ͕ॏཁʢ10அʣ w େ෦ͷϢʔβʔΞϧόϜͷ͕݅গͳ͍ͷͰ0, w ಉظͷ࣮ΛܾҙͭͭαʔόΛଟΊʹฒͯ͠Β͑͘Δ w मਖ਼λεΫΛόοΫϩάʹͷ͔ͤͯΒϲ݄ޙʹΑ͏͘ணख
˙3FBMNΛ͏ w 3FBMNJ04"OESPJEͰͦΕͧΕ΄΅ಉ͍͡ํ͕Ͱ͖Δ w εΩʔϚ౷ҰͰ͖Δ w εΫϥϜνʔϜʹ͏͚ͬͯͭ
αʔόΫϥΠΞϯτಉظ
˙ಉظʁΩϟογϡʁ w αʔό্ͷσʔλΛQVMM͢Δ͚࣮࣭ͩΩϟογϡʁ؆୯Ͱྑ͍ w ೦ͷͨΊෆ߹࣌༻ͷΩϟογϡআϘλϯ༻ҙ w 30*ཁ݅ʹݟ߹Θͳ͍ͨΊ&WFSOPUFͷΑ͏ͳ ෳࡶͳ࣮ͯ͠ͳ͍ IUUQTHJUIVCDPNOJOKJOLVO&%".4ZODCMPCNBTUFS&%". +BQBOFTFNE
None
None
˙શ݅ࠩऔಘ"1* w ΞϧόϜͷσʔλΛಉظ͢ΔͨΊͷ"1*Λͭ༻ҙ w ͭશ݅ಉظ༻ w ॳճʹϒϩοΫͤͣ6*ʹөग़དྷΔ w ͏ͭࠩऔಘ༻ w
ΞϓϦىಈ࣌ͱ͔௨डऔΓ࣌ʹݺͼग़͢ w ͍ͣΕʹͤΑϖʔδϯάͷ࣮ඞཁ
˙ϖʔδϯάͷ*' w DVSTPS QBHJOH5PLFO ํࣜΛ࠾༻ w ΫϥΠΞϯτϖʔδϯάʹ͍ͭͯ΄ͱΜͲߟ͑ͳͯ͘ྑ͍ w
࣍ճɺಉظΛ͢Δࡍʹ࠷ޙͷDVSTPSΛϦΫΤετʹ͢ (&5GPP ˑDVSTPS˒ˑ$J",(K#Q˒ ˑIBT/FYU˒USVF (&5GPP DVSTPS$J",(K#Q ˑDVSTPS˒ˑX:K#Q09"˒ ˑIBT/FYU˒USVF (&5GPP DVSTPSX:K#Q09" ˑDVSTPS˒ˑJ"K,#U(M˒ ˑIBT/FYU˒GBMTF (PPHMF "1*c(PPHMF 1MBUGPSNc(PPHMF%FWFMPQFSTIUUQTEFWFMPQFSTHPPHMFDPN BQJ IMKBQBHJOBUJPO %SPQCPY$PSF"1*FOEQPJOUSFGFSFODFIUUQTXXXESPQCPYDPNEFWFMPQFSTDPSFEPDTEFMUB
w .Z42-ͰޮΑ͘ϖʔδϯά͢Δʹʁ w UJNFTUBNQͱJE 1, Λಉ࣌ʹ͛ͯ3BOHFΫΤϦʹ͢Δͱྑ͍ ˙.Z42-ͱϖʔδϯά 4&-&$5
'30.GPP-*.*50''4&5ꅾְ 4&-&$5 '30.GPP8)&3&VQEBUFE@BU -*.*5VQEBUFE@BUꅾ醱儗כ 4&-&$5 '30.GPP 8)&3& VQEBUFE@BU 03 VQEBUFE@BU "/%JE 03%&3#:VQEBUFE@BU"4$ JE"4$-*.*5 ࢀߟͳΜ͔ͩΒ$06/5 ͱ͔42-@$"-$@'06/%@3084ͱ͔-*.*50''4&5ͷϖʔδϯάΊΑ͏ͥIUUQUPHFUUFSDPNMJ
˙ΫϥΠΞϯτ w ্ड़ͷ"1*Λར༻͠ඇৗʹ؆୯ͳϩδοΫͰಉظ͕࣮ݱՄೳ w J04ͱ"OESPJEͰεΩʔϚҰॹ w ؔ࿈͢ΔΫϥε΄΅ಉ͡ઃܭͰ͍͚Δ
QVCMJDWPJEVQEBUF OBM-JTU.FEJB'JMFNFEJB'JMFT \ 3FBMNSFBMNHFU3FBMN USZ\ SFBMNCFHJO5SBOTBDUJPO GPS .FEJB'JMFNFEJB'JMFNFEJB'JMFT
\ JG NFEJB'JMFJT%FMFUFE \ SFBMNXIFSF "MCVN.FEJB'JMFDMBTT FRVBM5P JE NFEJB'JMFJE OE'JSTU SFNPWF'SPN3FBMN DPOUJOVF ^ SFBMNDPQZ5P3FBMN0S6QEBUF DPOWFSU5P3FBMN0CKFDU NFEJB'JMF ^ SFBMNDPNNJU5SBOTBDUJPO OPUJGZ6QEBUF ^OBMMZ\ SFBMNDMPTF ^ ^
QVCMJDWPJEVQEBUF OBM-JTU.FEJB'JMFNFEJB'JMFT \ 3FBMNSFBMNHFU3FBMN USZ\ SFBMNCFHJO5SBOTBDUJPO GPS .FEJB'JMFNFEJB'JMFNFEJB'JMFT
\ JG NFEJB'JMFJT%FMFUFE \ SFBMNXIFSF "MCVN.FEJB'JMFDMBTT FRVBM5P JE NFEJB'JMFJE OE'JSTU SFNPWF'SPN3FBMN DPOUJOVF ^ SFBMNDPQZ5P3FBMN0S6QEBUF DPOWFSU5P3FBMN0CKFDU NFEJB'JMF ^ SFBMNDPNNJU5SBOTBDUJPO OPUJGZ6QEBUF ^OBMMZ\ SFBMNDMPTF ^ ^ "1*ͷϨεϙϯεΛ10+0ʹ Ϛοϐϯάͨ͠ͷ
QVCMJDWPJEVQEBUF OBM-JTU.FEJB'JMFNFEJB'JMFT \ 3FBMNSFBMNHFU3FBMN USZ\ SFBMNCFHJO5SBOTBDUJPO GPS .FEJB'JMFNFEJB'JMFNFEJB'JMFT
\ JG NFEJB'JMFJT%FMFUFE \ SFBMNXIFSF "MCVN.FEJB'JMFDMBTT FRVBM5P JE NFEJB'JMFJE OE'JSTU SFNPWF'SPN3FBMN DPOUJOVF ^ SFBMNDPQZ5P3FBMN0S6QEBUF DPOWFSU5P3FBMN0CKFDU NFEJB'JMF ^ SFBMNDPNNJU5SBOTBDUJPO OPUJGZ6QEBUF ^OBMMZ\ SFBMNDMPTF ^ ^ αʔόʔଆͰཧআ͞ΕͯͨΒ 3FBMN͔Βফ͢
QVCMJDWPJEVQEBUF OBM-JTU.FEJB'JMFNFEJB'JMFT \ 3FBMNSFBMNHFU3FBMN USZ\ SFBMNCFHJO5SBOTBDUJPO GPS .FEJB'JMFNFEJB'JMFNFEJB'JMFT
\ JG NFEJB'JMFJT%FMFUFE \ SFBMNXIFSF "MCVN.FEJB'JMFDMBTT FRVBM5P JE NFEJB'JMFJE OE'JSTU SFNPWF'SPN3FBMN DPOUJOVF ^ SFBMNDPQZ5P3FBMN0S6QEBUF DPOWFSU5P3FBMN0CKFDU NFEJB'JMF ^ SFBMNDPNNJU5SBOTBDUJPO OPUJGZ6QEBUF ^OBMMZ\ SFBMNDMPTF ^ ^ 10+0Λ3FBMN0CKFDUʹϚοϐϯάͨ͠ͷΛ ༩͑Δͱ৽نՃPSߋ৽͕উखʹߦΘΕΔ
˙ۤ࿑ w 2"தͷΫϥογϡɾϝϞϦϦʔΫൃੜ w ࣌҆ఆͯ͠ͳ͔ͬͨͷͰෳόʔδϣϯࢼͨ͠ʢࠓɾɾɾʁʣ w SFBMNKBWBॳճಋೖ͔ΒϦϦʔε·Ͱʹܭόʔδϣϯࢼͨ͠ W ॳճಋೖ W
W ։ൃதʹVQ W4/"14)05 W͕2"தʹ4*(4&(7ͰVQ W 4/"14)05Ͱ4*("#35͕ग़ͨͷͰҰؾʹͨ͠ W ˡWͰ҆ఆͨ͠ͷͰϦϦʔε൛Ͱར༻
None
˙·ͱΊ w ՈΞϧόϜΈͯͶεΫϥϜνʔϜͰ։ൃ͍ͯ͠Δ w 3FBMNΈͯͶνʔϜͷ։ൃελΠϧʹϚον͍ͯͨ͠ w +40/"1*ͱ3FBMNͷΈ߹Θͤͱͯγϯϓϧ͔ͭڧྗ
˙࠾༻త ΈͯͶνʔϜͰ ʮJ04"OESPJEͲͪΒॻ͖͍ͨʂʯ ʮ3BJMT͚ͬͯͨͲΞϓϦॻ͍͍͖͍ͯͨʂʯ ʮੈքதͷՈʹসإΛಧ͚͍ͨʂʂʯ ͳͲͷΤϯδχΞΛืू͓ͯ͠Γ·͢ʂʂ