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
個人でPWA対応の時間管理アプリ「Hackaru」を作りました
Search
ktmouk
July 17, 2019
Programming
5
1.1k
個人でPWA対応の時間管理アプリ「Hackaru」を作りました
ktmouk
July 17, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
CSC509 Lecture 14
javiergs
PRO
0
130
CSC305 Lecture 25
javiergs
PRO
0
130
talk-with-local-llm-with-web-streams-api
kbaba1001
0
170
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
330
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
5
900
.NET 9アプリをCGIとして レンタルサーバーで動かす
mayuki
1
770
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
190
MCP with Cloudflare Workers
yusukebe
2
220
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
300
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
290
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
0
160
Featured
See All Featured
Docker and Python
trallard
41
3.1k
The Cult of Friendly URLs
andyhume
78
6.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Done Done
chrislema
181
16k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Transcript
!LUNPVL ݸਓͰ18"ରԠͷ࣌ؒཧΞϓϦ࡞Γ·ͨ͠
wߕ൹༑೭ ,BJ5PNPZVLJ w ݸਓͰ18"ରԠͷ ࣌ؒཧΞϓϦΛ։ൃ͍ͯ͠·͢ɻ w ࠓ݄ ͔ΒϚωʔϑΥʔϫʔυʹೖࣾ
!2 !LUNPVL LUNPVL
!3 ԿΛൃද͢Δͷʁ w࣌ؒཧΞϓϦ)BDLBSVʹ͍ͭͯ w18"Ͱ։ൃͯ͠ྑ͔ͬͨ w18"ͷͭΒΈ
!4 ର w 18"ʹڵຯΛ͍࣋ͬͯΔํ w 18"ͰΞϓϦΛ࡞Ζ͏ͱߟ͍͑ͯΔํ
!5 ԿΛൃද͢Δͷʁ w࣌ؒཧΞϓϦ)BDLBSVʹ͍ͭͯ w18"Ͱ։ൃͯ͠ྑ͔ͬͨ w18"ͷͭΒΈ
!6 ࣌ؒཧͱʁ
!7 ʑΔ͜ͱ͕ࢁ͋Δ ษڧ ࣄ झຯ
!8 ʜ͕ɺࠓԿ͔͍֮ͨ͑ͯ͠ͳ͍ ࠓԿ͚ͬͨͬ
!9 ʜ͕ɺࠓԿ͔͍֮ͨ͑ͯ͠ͳ͍ ࠓԿ͚ͬͨͬ ࣌ؒͷৼΓฦΓ͕͍ͨ͠
!10 )BDLBSV ଌΔ IUUQTXXXIBDLBSVBQQ
!11 ࡞ۀ࣌ؒΛܭଌͯ͠ʜ
!12 άϥϑΧϨϯμʔͰৼΓฦΓ
!13 ࣗͷ࣌ؒͷ͍ํ͕͔Δ
!14 Ͳ͏ͬͯಈ͍͍ͯΔͷʁ
!15 /VYUKT 3BJMT"1*Ͱߏங
!16 ಛ w 8FCIPPL w 0"VUI w Φʔϓϯιʔε w ϚϧνσόΠεରԠ
!17 ಛ w 8FCIPPL w 0"VUI w Φʔϓϯιʔε w ϚϧνσόΠεରԠ
!18 1SPHSFTTJWF8FC"QQT
!19 ͱʁ 8FCαΠτΛɺ ετΞ͔Βμϯϩʔυͨ͠ΞϓϦͷ Α͏ʹ͑Δ͜ͱɻ ಛఆͷٕज़Λ͋ΒΘ໊͢শͰͳ͍
!20 )BDLBSVͷ "OESPJEͷϗʔϜΞΠίϯ J04ͷϗʔϜΞΠίϯ "OESPJEͱJ04ରԠ
!21 ܭଌը໘ ΧϨϯμʔը໘ Ϩϙʔτը໘
!22 ԿΛൃද͢Δͷʁ w࣌ؒཧΞϓϦ)BDLBSVʹ͍ͭͯ w18"Ͱ։ൃͯ͠ྑ͔ͬͨ w18"ͷͭΒΈ
!23 18"ͷྑ͔ͬͨ w؆୯ʹಋೖͰ͖ͨ w1$ͱϞόΠϧͷίʔυΛڞ௨ԽͰ͖ͨ
!24 ؆୯ʹಋೖͰ͖ͨ
!25
!26 ɾ8PSLCPY 4FSWJDF8PSLFS ɾ.BOJGFTU ɾ.FUB ɾ0OF4JHOBM ௨ ʑʜ
!27 ZBSOBEE!OVYUKTQXBͰύοέʔδಋೖ
!28 OVYUDPOpHKTʹϞδϡʔϧΛࢦఆ
!29 TXKT 4FSWJDF8PSLFS ͕ࣗಈੜ͞ΕΔɻ /VYUKTͰɺ 18"ͷಋೖ؆୯ʂ
!30 1$ͱϞόΠϧͷίʔυΛڞ௨ԽͰ͖ͨ
!31 ͦͦɺͳͥ18"Λಋೖͨ͠ͷʁ
!32 ͦͦɺͳͥ18"Λಋೖͨ͠ͷʁ ݸਓ։ൃͰɺJ04"OESPJE1$ͷίʔυΛ ϝϯς͢Δͷେม J04 "OESPJE 1$
!33 ͦͦɺͳͥ18"Λಋೖͨ͠ͷʁ ݸਓ։ൃͰɺJ04"OESPJE1$ͷίʔυΛ ϝϯς͢Δͷେม ࣌ؒΛܭଌදࣔ͢Δͱ͍͏γϯϓϧͳཁ݅ɻ ൃల్্ͷ18"Ͱ࣮Ͱ͖ͦ͏ͱײͨ͡
!34 ࣮ࡍɺԸܙେ͖͔ͬͨ
!35 ϨεϙϯγϒରԠ͢Δ͚ͩͰωΠςΟϒΞϓϦͬΆ͘ɻ 18"൛ 1$൛
!36 ίʔυͱςετΛڞ௨ԽͰ͖ͨɻ
!37 +BWB4DSJQUΛ͑ ωΠςΟϒΞϓϦ෩ͷ6*ɻ w εϫΠϓϝχϡʔ
!38 +BWB4DSJQUΛ͑ ωΠςΟϒΞϓϦ෩ͷ6*ɻ w υϥοάυϩοϓ w εϫΠϓͰϖʔδૹΓ
!39 ԿΛൃද͢Δͷʁ w࣌ؒཧΞϓϦ)BDLBSVʹ͍ͭͯ w18"Ͱ։ൃͯ͠ྑ͔ͬͨ w18"ͷͭΒΈ
!40 18"ͷͭΒΈ wJ04ͷରԠ͕େม
!41 18"ͷͭΒΈ wJ04ͷରԠ͕େม
!42 ྫ$PPLJFͷ
!43 ྫ$PPLJFͷ wϒϥβͱ18"Ͱ$PPLJFΛڞ༗Ͱ͖ͳ͍ wΛ࠶ىಈ͢Δͱফ͑Δ J04 Ҿ༻ʲௐࠪʳ8&#ΞϓϦΛ18"ͱͯ͠ىಈͨ͠߹ʹϒϥβͷ$PPLJF͕Ҿ͖ܧ͕ΕΔ͔֬ೝ͢Δ ˞J04ΑΓલͰΞϓϦΛ࠶ىಈ͚ͨͩ͠Ͱফ͑Δɻ ˞"OESPJEແ͠ɻ
!44 ϩάΠϯঢ়ଶͷอ࣋ͰࠔΔ ΫοΩʔɾηογϣϯ͑ͳ͍
!45 ରԠ-PDBM4UPSBHFΛ͏ τʔΫϯϕʔεͷೝূ
!46 ΞΫηετʔΫϯ +85 ͱ ϦϑϨογϡτʔΫϯͰೝূ WebUI Nuxt.js API Rails5 ϩάΠϯ
(ID, PASS) ϦϑϨογϡτʔΫϯΛฦ͢ ΞΫηετʔΫϯ +85 Λฦ͢ ΞΫηετʔΫϯͰ"1*Λૢ࡞ ϦϑϨογϡτʔΫϯͰ ΞΫηετʔΫϯΛཁٻ wϦϑϨογϡτʔΫϯͰ ΞΫηετʔΫϯΛཁٻͰ͖Δɻ wΞΫηετʔΫϯ͍༗ޮظݶʹઃఆɻ ʙ wϦϑϨογϡτʔΫϯΛ-PDBM4UPSBHF ʹอଘɻ
!47 ྫ"OESPJEʹग़དྷͯ J04ͰͰ͖ͳ͍͜ͱ͕͋Δ
!48 ͨͱ͑ʜ wϓογϡ௨ wϗʔϜը໘ʹՃ ")4 ͷҊʑ
!49 ͨͱ͑ʜ wϓογϡ௨ wϗʔϜը໘ʹՃ ")4 ͷҊʑ
!50 "OESPJEͰ18"ͷҊ͕ग़Δ͚Ͳʜ .JOJJOGPCBS Ҿ༻$IBOHFTUP"EEUP)PNF4DSFFO#FIBWJPS
!51 Ϣʔβ͕18"ΛΔ ํ๏͕༻ҙ͞Ε͍ͯͳ͍ J04ͰԿग़ͳ͍
!52 Ϣʔβ͕18"ΛΔ ํ๏͕༻ҙ͞Ε͍ͯͳ͍ J04ͰԿग़ͳ͍ ࣗલͰ࣮͢ΔͳͲͷରࡦ͕ඞཁ
!53 ͱ͍͑ ͕࣌ؒղܾͯ͘͠ΕΔ͔ʁ
!54 J04Ͱ৭ʑग़དྷΔΑ͏ʹͳͬͨ ΞϓϦϒϥβ 0"VUIೝূ͕Մೳʹ ࠨεϫΠϓͰΔ
!55 J04Ͱ৭ʑग़དྷΔΑ͏ʹͳͬͨ 8FC4IBSF"1*
!56 18"ʹग़དྷΔ͜ͱ͕૿ָ͍͑ͯ͘͠Έ͋Δ কདྷతʹܭଌதόονΛग़ͨ͠Γʜ J04Ͱ௨Λग़ͨ͠Γʜ
!57 ྫʮΔʯϘλϯͲ͏͢Δ
!58 ʮΔʯϘλϯ͕ͳ͍ͷͰɺը໘ભҠ͕ଟ͍ͱࠔΔ ϒϥβͷΔϘλϯ18"Ͱ͑ͳ͍ 18"ͳͷͰɺωΠςΟϒͷ/BWJHBUJPO#BS͑ͳ͍
!59 ରࡦྫࣗલͰʮΔʯϘλϯΛ࣮͢Δ IUUQTKBPOTFOJP ϑϨʔϜϫʔΫ͏ͷ͋Γ͔
!60 ରࡦྫʮΔʯϘλϯ͕ෆཁͳը໘ઃܭʹ )BDLBSVͷը໘ભҠϝχϡʔʹ͋Δ߲ͷΈ ϞʔμϧλϒΛۦͯ͠ը໘Λ࠷খݶʹ
!61 ࣗવͳ6*ͷ18"Λ࡞ΔͳΒ ϞόΠϧϑΝʔετͰ࡞Δͷ͕͓קΊ
!62 J04ʹରԠͤ͞ΔͳΒɺ J04ϑΝʔετ͕͓קΊɻ
!63 ·ͱΊ
!64 ·ͱΊ w18"ͷಋೖͦΜͳʹ͘͠ͳ͍ʂ wJ04͕ΜΕ
!65 18"ͷ੍·ͩଟ͍͚Ͳʜ
!66 ग़དྷΔ͜ͱ͕૿͑Δָ͠Έ͕͋Δ
!67 (JU)VCͰެ։த IUUQTHJUIVCDPNLUNPVLIBDLBSV
!68 ެࣜαΠτ͔ΒͰ͑·͢ IUUQTXXXIBDLBSVBQQ
!69 ͋Γ͕ͱ͏͍͟͝·ͨ͠