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
問題解決のエピソード(消防本部におけるElectron.vueでの業務改善)/ improvement at the fire department
Search
ryo
November 19, 2018
3
9.7k
問題解決のエピソード(消防本部におけるElectron.vueでの業務改善)/ improvement at the fire department
消防本部において行った報告書作成業務の効率化についての取り組み。
ryo
November 19, 2018
Tweet
Share
More Decks by ryo
See All by ryo
GitHub Actions と Datadog でコードベースの定点観測
kawamataryo
7
1.7k
個人開発駆動学習 / personal development driven learning
kawamataryo
1
110
GitHub Trending Bot, Sky Follower Bridge の紹介
kawamataryo
0
210
[Minecraft × ChatGPT] マイクラで作りたいものを伝えると魔法のように作ってくれるコマンドを作る
kawamataryo
0
2k
Resumable な JavaScript フレームワーク Qwik を学ぶ / qwik-resumable
kawamataryo
0
3.2k
JSからTSへ移行した Vue.jsプロダクトの型チェックを 漸進的に強化する/ reinforcing the type
kawamataryo
0
3.1k
Webで動画解析 〜Google Meetの挙手とリアルの挙手を連動させるChrome拡張作った話〜 / sync-raise-hand
kawamataryo
0
140
suppress-ts-errors を使って TypeScriptの型チェックを漸進的に強化する / Introducing-suppress-ts-errors
kawamataryo
2
490
Python の dotted path をコピーするVS Code 拡張を作ってみた / I made a copy python path.
kawamataryo
0
310
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1025
450k
How to name files
jennybc
66
95k
GraphQLの誤解/rethinking-graphql
sonatard
58
9.5k
Faster Mobile Websites
deanohume
300
30k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
143
43k
Code Review Best Practice
trishagee
57
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
34
6.2k
jQuery: Nuts, Bolts and Bling
dougneiner
60
7.3k
The Language of Interfaces
destraynor
151
23k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
The Brand Is Dead. Long Live the Brand.
mthomps
51
34k
What the flash - Photography Introduction
edds
64
11k
Transcript
ղܾͷΤϐιʔυ ʙফຊ෦ʹ͓͚ΔElectron + vueͰͷۀվળʙ ມɹྋ
ɹղܾͨ͠ͱʁ
ٹٸใࠂॻ࡞ۀͷ ංେԽ
ߴྸԽٴͼෆదར༻ͷຮԆʹΑ Γɺۙɺٹٸग़ಈ͕݅େ෯ʹ૿ ՃɻͦΕʹ͍ɺٹٸใࠂॻ࡞ۀ ͕ංେԽ͠ɺຊۀʢग़ಈɾ܇࿅ʣ ʹࢧোΛ͖ͨ͢Α͏ʹͳ͍ͬͯͨɻ
) ) ) ) ) ) ) ̒Ͱ 4000݅૿Ճ ˓ࢢͷٹٸग़ಈ݅ͷਪҠ ͷഎܠ
ٹٸग़ಈ ใࠂॻ ࡞ɾҹ ͰͷνΣοΫ ʢࢴϕʔεͰࢹʣ ঝೝɾอ मਖ਼ґཔ ᶃ ᶄ ᶅ
ᶆ ᶇ ٹٸใࠂॻ࡞ͷྲྀΕ
ۀʹ͔͔Δ࣌ؒ ใࠂॻ ࡞ɾҹ ͰͷνΣοΫ ʢࢴϕʔεʣ Ұ݅͋ͨΓ ؒग़ಈ݅ ݅
࣌ؒ ۀʹؔΘΔ߹ܭ࣌ؒʢʣ ࣌ؒ Ұ݅͋ͨΓ ؒग़ಈ݅ ݅ ࣌ؒ
ʢࢀߟʣใࠂॻೖྗγεςϜ ग़ಈޙɺ͜ͷγεςϜͰ׆ಈهͷೖྗٴͼใࠂॻͷҹΛߦ͏ɻ
ʢࢀߟʣใࠂॻҹը໘ લϖʔδͷγεςϜΑΓใࠂॻҹΛߦ͍ɺग़ྗ͞Εͨ&YDFMը໘ɻ ͪ͜ΒΛҹͯ͠ࢹʹΑΔνΣοΫΛߦ͍ɺྃͨ͠Βఏग़ɾอͱͳΔ
ͬͱޮԽͰ͖ΔͷͰʁ
ٹٸग़ಈ ใࠂॻ ࡞ɾҹ ͰͷνΣοΫ ʢࢴϕʔεɾࢹʣ ঝೝɾอ मਖ਼ґཔ ᶃ ᶄ ᶅ
ᶆ ᶇ ͷѲ ࡞ۀ࣌ؒͷ΄΅શͯ
ͷѲ ใࠂॻ ࡞ɾҹ ͰͷνΣοΫ ʢࢴϕʔεʣ w จষ࡞ͷϧʔϧʢఆܕจʣΛΘ͔͍ͬͯͳ͍ਓ͕͍Δ w ͦͦλΠϐϯά͕͍ʢͷਓʣ w
ࢴϕʔεͷࢹʹΑΔνΣοΫ w ਓʹΑΓνΣοΫ߲͕ҟͳΔ w ࡉ͔͍ϧʔϧ͕ඇৗʹଟ͍ ᶃ ᶄ
ͷղܾࡦ ใࠂॻ ࡞ɾҹ ͰͷνΣοΫ ʢࢴϕʔεʣ w બ߲ͷνΣοΫͰຊจΛࣗಈੜͰ͖Εɺϧʔϧ ͱλΠϐϯάͷղܾͰ͖ΔͷͰʁ w ຊγεςϜ͔Βͷग़ྗ࣌ɺ&YDFMͷஈ֊Ͱɺ7#"ʹΑ
ΔࣗಈΤϥʔνΣοΫΛߦ͑ɺࢹͷνΣοΫΛ؆ ུԽͰ͖ΔͷͰʁ ղܾࡦᶃ ղܾࡦᶄ
՝ղܾͷͨΊʹ ੍࡞ͨ͠γεςϜ
ᶃٹٸใࠂॻจষ࡞πʔϧ
ɾత ຊจ࡞ΛޮԽ ͷղܾࡦ ༻ٕͨ͠ज़ ɾ&MFDUSPO ɾWVFKT ɾCPPUTUSBQ
ػೳ̍จষ࡞ػೳ ߲Λબ͢Δ͚ͩͰຊจΛࣗಈੜ͢Δɻ
ػೳաڈࣄҊݕࡧػೳ աڈͷग़ಈࣄҊͷ༰ΛΩʔϫʔυͰݕࡧɻ ఆܕจͰॲཧͰ͖ͳ͍ɺෳࡶͳࣄҊͷࡍͷࢀߟʹɻ
ػೳ࣬පྨݕࡧػೳ ইප໊͔Β࣬පྨΛݕࡧɻ ҎલͦͷɺωοτͰௐ͍ͯͨɻ
ᶄใࠂॻΤϥʔνΣοΧʔ
త ΤϥʔνΣοΫΛࣗಈԽɻ ̎ͷղܾࡦ ༻ٕͨ͠ज़ ɾ7#" ɾਖ਼نදݱ
ػೳࣗಈΤϥʔνΣοΫ ຊγεςϜͷग़ྗͨ͠Ұ࣌ϑΝΠϧΛ&YDFMʹࣗಈίϐʔ͠ ΤϥʔνΣοΫɻΤϥʔ༰ͷॻ͖ग़͠ɻ
ػೳࣗಈ྆໘ҹ γʔτʢද໘ͱཪ໘ʣͷ྆ҹΛϘλϯͻͱͭͰɻ
γεςϜͷಋೖ݁Ռ
ٹٸग़ಈ ใࠂॻ ࡞ɾҹ ͰͷνΣοΫ ʢ&YDFM ࢴϕʔεʣ ঝೝɾอ मਖ਼ґཔ ᶃ ᶄ
ᶅ ᶆ ᶇ ٹٸใࠂॻ࡞ͷྲྀΕʢ৽ʣ
ۀʹ͔͔Δ࣌ؒͷมԽ ใࠂॻ ࡞ɾҹ ͰͷνΣοΫ ʢQD ࢴʣ Ұ݅͋ͨΓ Ҏલʣ ؒग़ಈ݅
݅ ࣌ؒ ࣌ؒ Ұ݅͋ͨΓ Ҏલʣ ؒग़ಈ݅ ݅ ࣌ؒ ࣌ؒ ۀʹؔΘΔ߹ܭ࣌ؒ ॖͨ࣌ؒ͠ ࣌ؒ
w ॳɺࣗͷॴଐ͍ͯ͠Δॺ͚ͩͰ༻͍͕ͯͨ͠ɺ্ ෦ʹརศੑΛೝΊΒΕɺશॺॴʢ˓ࢢॺॴʣͰར༻͞ ΕΔ͜ͱͱʹɻ w ޮԽͷ݁Ռɺٹٸ܇࿅ʹ͑Δ͕࣌ؒ૿ՃɺຊۀͷεΩ ϧΞοϓʹܨ͕ͬͨɻ ಋೖͷܦաͱՌ
·ͱΊ
ٹٸใࠂॻ࡞ۀͷංେԽͱ͍͏ղܾʹ͍ͭͯͷΤϐιʔυɻ ߴྸԽͱෆదར༻ͷຮԆͰɺٹٸग़ಈ͕݅ۙٸܹʹ૿ՃɻͦΕ ʹ͍ɺٹٸใࠂॻ࡞ۀ͕ංେԽ͠ɺຊۀʢ܇࿅ɺग़ಈʣʹࢧো Λ͖ͨ͢Α͏ʹͳ͍ͬͯͨɻͦ͜Ͱɺͦͷ࡞ۀΛͳΜͱ͔ޮԽग़དྷ ͳ͍͔ͱߟ͑ɺใࠂॻຊจࣗಈੜπʔϧͱΤϥʔνΣοΧʔͱ͍͏ γεςϜΛࣗ࡞ɻใࠂॻ࡞࣌ؒΛେ෯ʹॖɻॳɺࣗͷॴଐ ͷΈͰ͍͕ͬͯͨɺ্࢘ʹརศੑΛೝΊΒΕɺਫށࢢͷશॺॴͰ ΘΕΔΑ͏ʹͳΔɻ݁ՌɺۀʹؔΘΔ࣌ؒΛؒ ͔࣌ؒΒ
࣌ؒʹݮʢ֓ࢉʣɻ࡞ۀͷෛ୲͕ݮΔ͜ͱͰɺ܇࿅࣌ؒ Λ֬อͰ͖ΔΑ͏ʹͳΓɺຊۀͷεΩϧΞοϓʹߩݙͨ͠ɻ
ิ
࡞࣌ʹಛʹࠔͩͬͨͱ͜Ζ
*5Ϧςϥγʔ͕ͳ͍ਓͰ ͍͍͢γεςϜͰ͋Δ͔ʁ
ྫɿɹΤϥʔνΣοΫૢ࡞खॱͷվળ ҎલͷΤϥʔνΣοΫͷखॱ ຊγεςϜͰҹॲཧΛ࣮ߦ ग़ྗ͞Εͨ&YDFMͷγʔτ̍ͱγʔτ̎Λίϐʔ ΤϥʔνΣοΧʔͷγʔτͱγʔτ̎ʹషΓ͚ ΤϥʔνΣοΫϘλϯͰΤϥʔΛνΣοΫ Τϥʔ͕ͳ͚Εҹ खॱɺͷγʔτͷίϐʔ͕͔Βͳ͍ਓ͍Δɻ ૢ࡞ʹࣗ৴͕ͳ͍͔ΒͬͯΒ͑ͳ͍ɻ
վળޙͷΤϥʔνΣοΫͷखॱ ຊγεςϜͰҹॲཧΛ࣮ߦ ΤϥʔνΣοΧʔͷνΣοΫϘλϯΛԡ͢ ˞ࣗಈతʹຊγεςϜग़ྗͷҰ࣌ϑΝΠϧ͔ΒγʔτΛίϐʔ ΤϥʔνΣοΧʔʹϖʔετͯ͠νΣοΫΛ࣮ߦ Τϥʔ͕ͳ͚Εҹ खॱΛݮΒ͢͜ͱͰૢ࡞ͷ؆қ͞ΛΞϐʔϧɻ *5Ϧςϥγʔͷͳ͍ਓʹར༻ͯ͠Β͑ΔΑ͏ʹͳͬͨɻ ྫɿɹΤϥʔνΣοΫૢ࡞खॱͷվળ
Δ՝
ɾγεςϜͷଐਓԽ 7#"͕͔ΔਓͰͳ͍ͱνΣοΫ߲ͷՃ͕ग़དྷͳ͍ɻνΣοΫ ߲ͷՃػೳͱͯ͠ߏங͢Εྑ͔ͬͨɻ ɾσʔλΠϯϙʔτͷ աڈࣄҊݕࡧͷݩͱͳΔσʔλʹ͍ͭͯɺݱঢ়ຊγεςϜ͔Β $47ΤΫεϙʔτͯ͠ɺͦΕΛKTPOʹύʔεͯ͠ɺ&MFDUSPOͷϏϧ υ࣌ʹಡΈࠐΉඞཁ͕͋Δɻͦ͜ΞϓϦଆͷγεςϜͱͯ͠Έࠐ ΊΕྑ͔ͬͨɻ
Ҏ্