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
家族アルバムみてね 開発風景 #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
7.7k
iOSDC 2021 - App Store用スクリーンショットの自動生成をアラビア語対応してSwiftUIで実装してみた
ainame
0
6k
DNN/GPU with Ruby #rubykaigi
ainame
2
3.3k
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
920
iOSで無限バックグラウンドアップロード(に挑戦してみた話)
ainame
2
5.3k
リファクタリングとtsort
ainame
1
1.8k
RubyMotionについて #mixiwwdc
ainame
2
450
Other Decks in Programming
See All in Programming
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
790
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
250
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
5.6k
さぁV100、メモリをお食べ・・・
nilpe
0
140
The NotImplementedError Problem in Ruby
koic
1
840
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
200
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
550
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
5.8k
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
200
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
360
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
250
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
260
So, you think you're a good person
axbom
PRO
2
2.1k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
850
The Cult of Friendly URLs
andyhume
79
6.9k
Balancing Empowerment & Direction
lara
6
1.2k
Accessibility Awareness
sabderemane
1
140
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Optimizing for Happiness
mojombo
378
71k
Code Review Best Practice
trishagee
74
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
230
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͚ͬͯͨͲΞϓϦॻ͍͍͖͍ͯͨʂʯ ʮੈքதͷՈʹসإΛಧ͚͍ͨʂʂʯ ͳͲͷΤϯδχΞΛืू͓ͯ͠Γ·͢ʂʂ