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
React Native で LDR の クライアントを作ったというお話
Search
Kosuke Isobe
November 21, 2016
Technology
0
89
React Native で LDR の クライアントを作ったというお話
Kosuke Isobe
November 21, 2016
Tweet
Share
More Decks by Kosuke Isobe
See All by Kosuke Isobe
Mocha testing in Titanium(en)
k0sukey
1
130
Mocha testing in Titanium(ja)
k0sukey
0
170
Titanium もくもく会 #11
k0sukey
0
210
Titanium もくもく会 #10
k0sukey
0
2.3k
Titanium もくもく会 #5
k0sukey
0
1.9k
Other Decks in Technology
See All in Technology
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
2
420
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
900
ライブサービスゲームQAのパフォーマンス検証による品質改善の取り組み
gree_tech
PRO
0
580
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
150
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
0
160
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
200
Obsidian応用活用術
onikun94
1
410
Codeful Serverless / 一人運用でもやり抜く力
_kensh
5
300
Skrub: machine-learning with dataframes
gaelvaroquaux
0
120
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
220
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.2k
生成AIでセキュリティ運用を効率化する話
sakaitakeshi
0
250
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Why Our Code Smells
bkeepers
PRO
339
57k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Statistics for Hackers
jakevdp
799
220k
The Language of Interfaces
destraynor
161
25k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A designer walks into a library…
pauljervisheath
207
24k
Optimizing for Happiness
mojombo
379
70k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Transcript
੩Ԭ+BWB4DSJQUษڧձ @k0sukey 3FBDU/BUJWFͰ-%3ͷ ΫϥΠΞϯτΛ࡞ͬͨͱ͍͏͓
ͳͥ-%3
ͳͥ-JWF%XBOHP3FBEFS ▸ Ѫ༻͍ͯ͠Δ"FSP3FBEFSͷߋ৽͕ࢭ·ͬͯ͠·ͬͨʢେ͖ͳը໘ʹରԠ͠ ͍ͯͳ͍ͷͰҾ͖৳͞Εͯ͠·͏ʣɻͱͯ൵͍͠ ▸ ͜Ε͕ͳ͍ͱύζυϥͱ͔Ϟϯετͷใऩू͕Ͱ͖ͳ͍ɻͱͯக໋త ▸ ࠔͬͨ ▸ ͍Ζ͍Ζ͖ͯ͘Δͱ-%3ΫϥΠΞϯτ࡞ͬͯ༡ΜͰΔ
▸ ͪΐͬͱલʹ&MFDUSPOͰ-%3ΫϥΠΞϯτ࡞ͬͨ ▸ /8KTͰ࡞ͬͨ ▸ -%3Λ͍ΖΜͳϓϥοτϑΥʔϜͰಈ͔͢ͷ͕͖ ҎԼͷͰͰ͖͍ͯ·͢
ͦͷલʹʜ
3FBDU/BUJWFͱ 5JUBOJVNͷ ؆୯ͳൺֱ J04ͷΈ
1SFNJTF ·͓͖͑ ▸ ͍ͭ5JUBOJVNΛ͓ͬͯΓ·ͯ͠ ▸ ͲͪΒͷٕज़͕༏Ε͍ͯΔͱ͔ͷͰͳ͍Ͱ͢ ▸ Ξϓϩʔν΄΅ಉ͡Ͱ͢͠Ͷʜ
3FBDU/BUJWF "SDIJUFDUVSF 5JUBOJVN /BUJWF"1*T 3$5#SJEHF +BWB4DSJQU$PSF ɹ3FBDUKT :PVS+BWB4DSJQU /BUJWF"1*T ɹ,SPMM#SJEHF
+BWB4DSJQU$PSF ɹ5JUBOJVN"1*T :PVS+BWB4DSJQU /BUJWF.PEVMFT /BUJWF-JCSBSJFT +BWB4DSJQU-JCSBSJFT "MMPZ
%FWFMPQNFOU$ZDMF 3FBDU/BUJWF ▸ SFBDUOBUJWFSVOJPT ▸ ࠶ಡࠐγϛϡϨʔλͰ㵰 3 ▸ 0CKFDUJWF$Λ͍ͬͨ͡ͱ͖ 9DPEFͰ㵰
3 ▸ $ISPNFPS4BGBSJͰDPOTPMF Λ ݟΔ͜ͱ͕Ͱ͖Δ 5JUBOJVN ▸ UJUBOJVNCVJMEQJPT ▸ -JWF7JFXͱ͍͏ɺ㵰 3ͬΆ͍ ͷ͋Δ͕एׯෆ҆ఆʢ͋·Γͬ ͨ͜ͱ͕ͳ͍ʣɻຖճUJCVJME͠ ͯΔ ▸ DPOTPMF λʔϛφϧͰ
$PEJOH 3FBDU/BUJWF ▸ ͓͖ͳͷΛͲ͏ͧɻݸਓతʹ 8FC4UPSNࢸߴ ▸ &4͑Δɻ'MPX͑Δɻ +49ͰίϯϙʔωϯτΛॻ͍͍ͯ ͘ɻ'MVYͱ͔3FEVYͱ͔ ▸
7JSUVBM%0.͕͢ΜͳΓड͚ೖΕ ΒΕ͍ͯΔͷͳΒҧײͳ͍ 5JUBOJVN ▸ "QQDFMFSBUPS4UVEJPʢ͕ͩɺͭΒ ͘ͳͬͯผͷ*%&ςΩετΤσΟ λಀ͍͛ͯ͘ʣ ▸ #BDLCPOFKTϕʔεͷ.7$ͳ "MMPZϑϨʔϜϫʔΫ͕͋ΔɻϏϧ υ࣌ʹॲཧΛϑοΫͰ͖ΔͷͰɺ ࣗͷ͖ͳτϥϯεύΠϥΛ ͏͜ͱͰ͖Δ ▸ લ৮Εͳ͘5JUBOJVNʙ͕࢝· Δɻ͓·͡ͳ͍ͷΑ͏ʹ
4UZMF 3FBDU/BUJWF ▸ جຊ$44Ά͍ɻಠಛͳ'MFYCPY͕ ࠷ॳͭΒ͔ͬͨʢࠓʣ ▸ +49ͷதʹॻ͍͍ͯ͘ɻϑΝΠϧ ୯ҐͰׂ͢ΔϝϦοτ͕͋·Γ ݟ͔ͭΒͳ͔ͬͨͷͰɺίϯϙʔ ωϯτ୯ҐͰهड़ͨ͠
5JUBOJVN ▸ $44ͬΆ͍ɻ͋͘·ͰʮΆ͍ʯɻ ಠࣗͷελΠϧཁૉ͕๛ ▸ "MMPZ͏ͱ544ʢ5JUBOJVN4UZMF 4IFFUʣΛ͏͜ͱͰ͖Δɻί ϯτϩʔϥͱΓͤΔ ▸ "MMPZΘͳ͍ͱ+BWB4DSJQUͷத ʹهड़͢Δ
$PNQPOFOU 3FBDU/BUJWF ▸ 3FBDU/BUJWFࣗମجຊతͳͷ ͔͠ఏڙ͍ͯ͠ͳ͍ ▸ #VUUPOͱ͔ͳ͍ɻ 5PVDIBCMF)JHIMJHIUͱ͔Έ߹ ΘͤΔ ▸
044Ͱ͍ͬͺ͍͋Δɻ/BUJWF -JCSBSZ͍ͬͺ͍͋Δ 5JUBOJVN ▸ ͕Μͬͯ04ʹैͯ͠Δɻ΄ ΅ἧ͖͍ͬͯͯΔͷͰ ▸ ͳ͍ͷࣗͰ/BUJWF.PEVMFॻ ͍͕ͯΜΔɻ͍͍ͩͨΈΜͳࠔ ΔͷͰɺ୭͔͕ॻ͍͍ͯΔ ▸ 5JUBOJVN4%,ͷมߋʹै͢Δ ͷେมɻϞνϕʔγϣϯΛอͭͷ ͕ʜ
-JTU 3FBDU/BUJWF ▸ -JTU7JFXඳըૣ͍ ▸ εΫϩʔϧͷҾֻ͔ͬΓ͕ۃখɻ ΄ͱΜͲײ͡ͳ͍ ▸ 5PVDIBCMF)JHIMJHIU3PXͷ ͕૿͑Δͱਏͦ͏ʢ෦Ͳ͏
ͳ͍ͬͯΔ͔·Ͱͬͯͳ͍ʣ ▸ ηύϨʔλΛ7JFXͰ࡞Δͷ͕ ͪΐ͍ඍົ 5JUBOJVN ▸ 5J6*5BCMF7JFX͕͍ͷͰ 5J6*-JTU7JFX͕࡞ΒΕͨ ▸ ύϑΥʔϚϯεྑ͍ײ͡ɻ 5J6*5BCMF7JFXʹ׳Ε͍ͯΔͱ ͪΐͬͱπϥΠ͔ ▸ 3PXͰͳ͘ɺ-JTUʹλονΠϕ ϯτΛషΔ҆৺ײɻ3PXʹషΕ Δ͕ɺ͕૿͑Δͱॏ͘ͳΔ
/FUXPSLJOH 3FBDU/BUJWF ▸ 'FUDI"1*͕͑Δɻ1SPNJTFͰ ฦ٫͞Εͯ͘Δ GFUDI bIUUQT` UIFO
SFTSFTKTPO UIFO KTPO\^ DBUDI FSS\^ 5JUBOJVN ▸ 5J/FUXPSL)551$MJFOUͰ͓͜ͳ ͏ɻ9)3)UUQ3FRVFTUͳײ͡ WBSYIS 5J/FUXPSLDSFBUF)551$MJFOU YISPOMPBEGVODUJPO \^ YISPOFSSPSGVODUJPO \^ YISPQFO b1045` bIUUQT` YISTFOE
5FTUJOH 3FBDU/BUJWF ▸ +FTU ▸ IUUQGBDFCPPLHJUIVCJPKFTU EPDTUVUPSJBMSFBDUOBUJWFIUNM ▸ ͜͜·ͰΔݩؾ͕ͳ͔ͬͨͷ Ͱɺະ
5JUBOJVN ▸ ͳ͍ ▸ ͔Β࡞ͬͨɻ k0sukey/ti-slag ▸ /PEFKTͰ5JUBOJVN"1*Λٖࣅ తʹৼΔ͏ ▸ .PDIBͰಈ͘ ▸ γϛϡϨʔλPS࣮ػෆཁ
4VNNBSZ 3FBDU/BUJWF ▸ -FBSOPODF XSJUFBOZXIFSF ▸ 3FBDUKTͷ͕ࣝ׆͔ͤΔ ▸ 9DPEFͷ͕ࣝඞཁɻΞΠίϯͱ ͔ىಈը໘ม͑ͨΓɻετΞʹσ
ϓϩΠ͢Δͱ͖4DIFNFΛฤू ͢Δඞཁ͕͋Δ 5JUBOJVN ▸ 8SJUFPODF BEBQUBOZXIFSF ▸ 5JUBOJVNͷ͓࡞๏ΛΔඞཁ ▸ Կଓ͍͖࣮ͯͨ͋Γ ▸ 9DPEFͷࣝ΄΅ඞཁͳ͍ɻ 5JUBOJVNͷੈքͷதͰ݁Ͱ͖Δɻ ͕ɺ্هͷ௨Γ͓࡞๏ΛΒͳ͍ ͱഁ͢Δɻ͙͢ʹΫϥογϡ͢ ΔΞϓϦ͕Ͱ͖͕͋Δ
4VNNBSZ 3FBDU/BUJWF ▸ 044ͳίϯϙʔωϯτ͕๛ ▸ ΞϓϦͷόΠφϦαΠζ͕খ͍͞ ▸ ϦϦʔεϏϧυ͢Δͱιʔείʔ υNBJOKTCVOEMFʹͳΔɻʢ ಡԽ͞Ε͍ͯΔ͕ɺ͕ΜΕʣ
ίʔυಡΊͯ͠·͏ ▸ 'BDFCPPL͕͍͍ͭͯΔ 5JUBOJVN ▸ ແ͍ͷࣗͰ࡞Δ ▸ ΞϓϦͷόΠφϦαΠζ͕େ͖͍ ▸ ϦϦʔεϏϧυ͢Δͱιʔείʔ υόΠφϦίʔυʹม͞Εɺ ʢਓ͕ʣಡΉ͜ͱͰ͖ͳ͘ͳΔ ▸ ͢͜͠લʹ"YXBZʹങऩ͞Εͨɻ ࠷ۙΑ͘Θ͔ΒΜ
-BEEFS appsto.re/jp/y95fgb.i
-BEEFS Ͱ͖Δ͜ͱ ▸ ϑΟʔυ ▸ ιʔτϑΟϧλϦϯά ▸ ϑΟʔυՃ ▸ هࣄͷӾཡ
▸ ϐϯ ▸ ϐϯ͚ ▸ 4BGBSJͰ։͘ ▸ શআ ▸ هࣄͷࠂ੍
ϑΟʔυͷ Ұཡ -BEEFS
ϑΟʔυͷ Ӿཡ -BEEFS
ΞϓϦͷ ઃఆ -BEEFS
-BEEFS هࣄͷࠂ੍ ▸ /463-1SPUPDPMΛఆٛͨ͠ ▸ γϛϡϨʔλͰϒϩάͱ͔ͷهࣄΛݟͳ͕Βɺ4BGBSJͷ 8FCΠϯεϖΫλͰࠂϓϩόΠμͷ63-Λᥔ௵ͨ͠ ▸ هࣄͷಡΈࠐΈ͕ஈҧ͍Ͱૣ͘ͳͬͨ ▸
3$5#SJEHF.PEVMFͰΦϯΦϑͰ͖ΔΑ͏ʹͯ͋͠Δ ▸ 3$5@&91035@.&5)0%ϚΫϩͰ؆୯ʹ+BWB4DSJQUଆͱ ΓऔΓ͕Ͱ͖Δग़ೖΓޱΛ࡞Δ͜ͱ͕Ͱ͖Δ
-BEEFS Ͱ͖ͳ͍͜ͱ ▸ ͔ͬ͜Α͍σβΠϯ ▸ ϑΟʔυͷআͳͲͷཧܥ ▸ ϑΥϧμɾϨʔςΟϯάදࣔ ▸ ϔουϥΠϯϞʔυͱ͔
ɹɹɹɹɹɹɹɹɹɹࡉ͔͍ૢ࡞ΣϒαʔϏεͰͲ͏ͧ
-BEEFS ࠓޙ ▸ ετΞʹެ։४උத ▸ ݸਓͷ"QQMF%FWFMPQFS1SPHSBN͍࣋ͬͯͳ͔ͬͨ ▸ "QQ5SBOTQPSU4FDVSJUZ͕৹ࠪରʹͳΔલʹͳΜͱ͔ Γࠐ·͍ͤͨ ▸
"OESPJE൛Βͳ͍ ▸ ͓ࣄҎ֎Ͱ"OESPJE৮Βͳ͍ͷͰʜ ▸ ΫϩεϓϥοτϑΥʔϜยखؒͰͰ͖ͳ͍
3FBDU/BUJWFͰ ։ൃ͢Δͱ͖ͷ5JQT
6*&YQMPSFS ίϯϙʔωϯτͷݟͨΛ֬ೝ͠Α͏ ▸ GBDFCPPLSFBDUOBUJWFUSFF NBTUFS&YBNQMFT6*&YQMPSFSʹ͋ ΔɻϏϧυͯࣗ͠ͷʹೖΕͯ ͓͚͍ͭͰ֬ೝͰ͖Δ ▸ ݟ໊ͨҎ֎ʹίϯϙʔωϯτͷ͍ ํಈ͖֬ೝͰ͖ΔͷͰͱͯศ
ར ▸ %PDTݹ͍ͱ͖͕͋ΔͷͰʜ
%FCVH+43FNPUFMZ 4BGBSJͷ։ൃϝχϡʔΛ͓͏ ▸ ͳ͔ͥΘ͔Βͳ͍͕%FCVH+4 3FNPUFMZΛ͍ͬͯΔͱΞϓϦ͕ Ϋϥογϡ͠·ͬͨ͘ɻະͩʹṖ ▸ 4BGBSJͷ։ൃϝχϡʔʹ͋ΔJ04 γϛϡϨʔλͷ+4$POUFYUTͷ8FC ΠϯεϖΫλ͕ྑ͍
▸ ࣗಈతʹදࣔʹνΣοΫ͓͚ͯ͠ 㵰 3ͯ͠࠶දࣔͯ͘͠ΕΔ
0GGMJOF#VJME 9DPEFͰ4DIFNFΛฤू͠Α͏ ▸ 3FBDU/BUJWFجຊϦϞʔτͰίʔυ͕ྲྀ ͠ࠐ·ΕΔɻ࣮ػͰಈ͔͢ͱ͖έʔϒϧ͔ 8J'JͰ։ൃػͱͭͳ͕͍ͬͯΔඞཁ͕͋Δ ▸ 9DPEFͷ1SPEVDUˠ4DIFNFˠ&EJU 4DIFNF͔Βɺ3VO$POpHVSBUJPOΛ%FCVH ͔Β3FMFBTFʹ͢ΕΦϑϥΠϯͰಈ͔͢
͜ͱ͕Ͱ͖Δɻ3FMFBTFͱ͍͏໊લͰ 4DIFNFΛ࡞͓ͬͯ͘ͱศར ▸ "QQ%FMFHBUFNΛฤू͢ΔΓํݹ ͍ͷͰͪ͜ΒΛ͏ʢWYҎ߱ϏϧυͰ ίέΔʣɻͨͩ͠ɺΞϓϦͰσόοάϝ χϡʔग़ͳ͘ͳΔͷͰཁҙ
6TFMPDBMJNBHFGJMFJO8FC7JFX 8FC7JFXͰϩʔΧϧը૾Λ͏ ▸ 9DPEFͰը૾ΛՃ͢Δඞཁ͕͋ ΔɻϓϩδΣΫτϑΥϧμʹஔ͍ ͚ͨͩͰϏϧυʹؚ·Εͳ͍ ▸ CBTF6SMͰϑΥϧμΛࢦఆ͢Δ DMBTT.Z8FCFYUFOET$PNQPOFOU\ SFOEFS
\ SFUVSO 8FC7JFX TPVSDF\\ IUNMbJNHTSDlJNBHFQOHz` CBTF6SMbNZXFC` ^^ ^
/BUJWF-JCSBSZ +BWB4DSJQU͚ͩͰͰ͖ͳ͍ࣄՄೳʹ ▸ XJYSFBDUOBUJWFOBWJHBUJPOը໘ཧ ͱ͔λϒͱ͔υϩϫʔͱ͔໘ͳͱ͜Ζ ͕ͻͱ·ͱΊͰɻͱΓ͍͋͑ͣͭ͜Λೖ Εͱ͚ɺͲ͏ʹ͔ͳΔײ ▸ PCMBEPSSFBDUOBUJWFWFDUPSJDPOTΞ ΠίϯϑΥϯτΛίϯϙʔωϯτͱͯ͠
ѻ͑ΔɻݟͨͷମࡋΛ͋Δఔ͑Β ΕΔ ▸ KPFGFSSBSPSFBDUOBUJWFDPPLJFT $PPLJFΛ࡞ͬͨΓফͨ͠Γͱɺૢ࡞ Ͱ͖Δɻ'PSLͯ͠$PPLJFΛӬଓԽͰ͖ ΔΑ͏ʹͨ͠
3FBDU/BUJWFΛ બ͢ΔϝϦοτ
.FSJU 3FBDU/BUJWFΛબ͢ΔϝϦοτ ▸ +BWB4DSJQUͰΞϓϦ͕࡞ΕΔʢେࣄʣ ▸ 3FBDUKTͷԸܙ ▸ σʔλόΠϯσΟϯάͱ͔ ▸ ϥϐουϓϩτλΠϐϯά
▸ ͙͢ʹಈ͘ͷ͕࡞ΕΔͷ͔ͬͯͳΓେ͖͍ͷͰ ▸ ίϛϡχςΟ͕׆ൃ
͓͠·͍ 5IBOLZPV❤