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
1.3k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
個人でPWA対応の時間管理アプリ「Hackaru」を作りました
ktmouk
July 17, 2019
Other Decks in Programming
See All in Programming
AIの中の人になってみる
htkym
0
160
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
100
이 함수, 실패하면 어떻게 되나요? null부터 Rich Errors까지, Kotlin 에러 처리 15년
haeti2
0
130
Building an Out-of-Order CPU
latte72
0
650
Hono + Inertia + React で LP を構築した話
oukayuka
2
200
「AI時代、配布するPythonコードをどう守るか: 難読化の実験と判断軸」 #PyconJP2026
pkshadeck
PRO
2
150
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
120
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
2
300
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
250
信頼性の目標を誰も求めてない
shubox
0
490
業務時間外もAIに働いてもらう話
colorful12
3
9.9k
Press start. Python's next generation.
willingc
PRO
3
300
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
970
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Building Adaptive Systems
keathley
44
3.2k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
640
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Building an army of robots
kneath
306
46k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
510
Facilitating Awesome Meetings
lara
57
7.1k
Accessibility Awareness
sabderemane
1
200
Are puppies a ranking factor?
jonoalderson
2
3.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
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 ͋Γ͕ͱ͏͍͟͝·ͨ͠