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
Vue.js初心者がelectron-vueでデスクトップ アプリケーションを作成した話
Search
SAW
May 22, 2019
Programming
0
130
Vue.js初心者がelectron-vueでデスクトップ アプリケーションを作成した話
v_kansai meetup #6 の発表資料です。
SAW
May 22, 2019
Tweet
Share
More Decks by SAW
See All by SAW
EditorConfig を使ってみよう
azuki
1
30
Symfony でサクッと作る REST API サーバー
azuki
1
43
Vite の Library Mode を使って Vue のコンポーネントをライブラリ化する
azuki
1
88
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
200
Provide/Inject で TypeScript の恩恵を受ける方法
azuki
3
110
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
300
OSS contributor への第一歩を踏み出すまでの物語
azuki
2
240
Eloquent で relation を扱う基礎
azuki
0
120
メイキング・オブ・PHPカンファレンス 〜PHPカンファレンス関西2024の運営スタッフが語る舞台裏〜
azuki
0
98
Other Decks in Programming
See All in Programming
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
230
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
580
Immutable ActiveRecord
megane42
0
140
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
120
GAEログのコスト削減
mot_techtalk
0
120
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
140
Conform を推す - Advocating for Conform
mizoguchicoji
3
690
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
38
15k
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
130
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
110
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
760
ARA Ansible for the teams
kksat
0
150
Featured
See All Featured
Site-Speed That Sticks
csswizardry
4
380
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
How STYLIGHT went responsive
nonsquared
98
5.4k
Adopting Sorbet at Scale
ufuk
74
9.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Visualization
eitanlees
146
15k
GitHub's CSS Performance
jonrohan
1030
460k
Producing Creativity
orderedlist
PRO
344
39k
Transcript
7VFKTॳ৺ऀ͕FMFDUSPOWVFͰ σεΫτοϓΞϓϦέʔγϣϯΛ ࡞ͨ͠ WLBOTBJ7VFKT/VYUKTNFFUVQ 4"8
$(whoami) w ࢯ໊Ճ౻फҰ ࡀ Ѫग़ɾେࡕࡏॅ ϋϯυϧωʔϜ4"8 ‣
ϗϥʔۤखͳͷͰɺөըl4"8zΛݟͨ͜ͱͳ͍ 4/4ΞΧϯτ ‣ 5XJUUFS!B[VLJ@FBUFS ‣ (JU)VCB[VLJQFOHVJO w ॴଐגࣜձࣾ.4&/ 2 Let’s play a game. FreeBSD macOS Vue.js Linux
.BOQBHFPG4"8 w export EDITOR=vim w 04NBD04 6CVOUV-JOVY 'SFF#4% ֶੜ࣌6/*9-JOVYڥ͕ϝΠϯ
‣ γΣϧओʹCBTI ࣄͷ։ൃڥ8JOEPXT w ϓϩάϥϛϯάݴޠ1FSM 1)1 +BWB4DSJQU ϑϨʔϜϫʔΫ-BSBWFMͱ7VFKT 3
WLBOTBJNFFUVQࢀՃྺ w ࢀՃճճ ճWLBOTBJ7VFKT/VYUKTNFFUVQ ‣ લճҰൠࢀՃʹͯࢀՃ ճWLBOTBJ7VFKT/VYUKTNFFUVQ ‣
ࠓճొஃʹͯࢀՃ w 7VFKTྺ͓Αͦϲ݄ ΰϦΰϦͱॻ͍ͯͳ͍ 4
ൃද֓ཁ 7VFKTॳ৺ऀ͕ FMFDUSPOWVFͰ࡞ͨ͠ σεΫτοϓΞϓϦέʔγϣϯΛհ 5
DTWFEJUPS w &YDFMϥΠΫͳ6*Ͱ$47ϑΝΠϧΛฤू͢Δπʔϧ (JU)VCB[VLJQFOHVJODTWFEJUPS w /PEFKTWҎલͰಈ࡞ /PEFKTWܥͰಈ࡞͠ͳ͔ͬͨʜ w
ґଘύοέʔδͷ੬ऑੑະղܾ શવอक͍ͯ͠ͳ͍ʜ 6
ͳΜͰ࡞ͬͨͷ w େֶӃੜ࣌ʹ5"ͷۀͰ࠾݁ՌΛ$47ϑΝΠϧʹهड़ $47ϑΝΠϧͷจࣈίʔυ4IJGU@+*4 w େֶͷNBD04ͷ&YDFMͰฤूͯ͠อଘ͢Δͱຊޠ͕l_zʹ ݪҼϩέʔϧΛӳޠʹ͍͔ͯͨ͠ΒͬΆ͍ʜ
/VNCFSTΛ͏ͱσϑΥϧτ͕65'ͳͷͰจࣈԽ͚ w $47Λฤू͢Δπʔϧ͕ཉ͍͠ ࣗ࡞͠Α͏ 7
ผͷํ๏͕͋ͬͨͷͰ w ϩέʔϧΛຊޠʹઃఆ͢Εྑ͍ͷͰ ͑ͯӳޠʹ͍ͯ͠Δ͔Βม͑ͨ͘ͳ͍ w /VNCFST-JCSF0⒏DFͱ͔༻ͨ͠Β͍͔Μͷ͔
Θ͟Θ͟5"ͷͨΊ͚ͩʹσϑΥϧτͷจࣈίʔυΛม͑ͨ͘ͳ͍ Θ͟Θ͟5"ͷͨΊ͚ͩʹ-JCSF0⒏DFͱ͔ೖΕΔͷ໘͍͘͞ 8
࡞Δํ͕ΑͬΆͲखؒͰ w ݐલ 7VFKTͷ࣮ફ ‣ ͔ͤͬ͘झຯͰษڧ͍͔ͯͨ͠Β׆༻͔ͨͬͨ͠ &MFDUSPOΛ࠾༻ͯ͠ϚϧνϓϥοτϑΥʔϜԽ ‣
NBD04͚ͩͰͳ͘ɺ8JOEPXT-JOVYͰར༻Մೳʹ w ຊԻ ࡞Γ͍͔ͨΒ࡞ͬͨ ‣ ָ࣮͍͠ 9
༻͢ΔϥΠϒϥϦ w σεΫτοϓڥͷ։ൃ&MFDUSPO w +BWB4DSJQUϑϨʔϜϫʔΫ7VFKT w &YDFMϥΠΫͳ6*)BOETPOUBCMF w $47ύʔαQBQBQBSTF w
จࣈίʔυͷࣗಈผFODPEJOHKBQBOFTF 10
ओͳػೳ w $47ΛಡΈࠐΜͰ&YDFMϥΠΫͳςʔϒϧͱͯ͠දࣔ จࣈίʔυࣗಈผ w $47Λ&YDFMϥΠΫͳςʔϒϧΛͬͯฤू w ฤूͨ͠ςʔϒϧ͔Β$47ʹग़ྗ
จࣈίʔυΛࢦఆͯ͠ग़ྗՄೳ 11
ओͳػೳͷ֓ཁਤ 12
$47ϑΝΠϧͷΦʔϓϯ w ϝΠϯϓϩηε બ͞ΕͨϑΝΠϧͷ༰Λऔಘ ‣ fsϞδϡʔϧͷreadFileSync()Λར༻ *1$௨৴Ͱ7VFʹϑΝΠϧͷதΛૹΔ w
Ϩϯμϥʔϓϩηε $47ͷςΩετ͔Βσʔλߏʹมͯ͠ಡΈࠐΈ ‣ QBQBQBSTFͷparse()ϝιουͰ$47Λྻʹύʔε ‣ )BOETPOUBCMFͷloadData()ϝιουͰྻΛςʔϒϧʹׂΓͯ 13
ฤू݁ՌΛ$47ϑΝΠϧʹอଘ w Ϩϯμϥʔϓϩηε ςʔϒϧͷߏ͔Β$47ςΩετʹม ‣ QBQBQBSTFͷunparse()ϝιουͰςΩετԽ *1$௨৴ͰϝΠϯϓϩηεʹ༰Λૹ৴ w
ϝΠϯϓϩηε $47ϑΝΠϧͱͯ͠อଘ ‣ fsϞδϡʔϧͷwriterStream.write()ʹΑͬͯϑΝΠϧʹग़ྗ 14
Ϩϯμϥʔϓϩηε w 7VFKTͰϑϩϯτΤϯυͷॲཧΛ࣮ $47ϑΝΠϧͱ+BWB4DSJQUͰѻ͏จࣈྻͷΤϯίʔυͷ૬ޓม ‣ FODPEJOHKBQBOFTFΛར༻ $47ͱςʔϒϧͷίϯϙʔωϯτ༻ͷσʔλߏͷ૬ޓม
‣ 1BQBQBSTFͷར༻ ςʔϒϧͷॲཧ)BOETPOUBCMFʹؙ͛ 15
Ϩϯμϥʔϓϩηε 16 $47ͱσʔλߏͷ૬ޓม $47σʔλͷಡΈࠐΈͱ$47σʔλͷग़ྗ
ϝΠϯϓϩηε w &MFDUSPOͰόοΫΤϯυͷॲཧΛ࣮ Οϯυͷૢ࡞ Οϯυͷ࡞ɾΫϩʔζͳͲ $47ϑΝΠϧͷΦʔϓϯ
ςʔϒϧͷ༰Λ$47ϑΝΠϧʹอଘ ‣ &MFDUSPOͷ*1$௨৴ͱ/PEFKTͷfsϞδϡʔϧʹΑ࣮ͬͯݱ 17
ϝΠϯϓϩηε 18 ϑΝΠϧΦʔϓϯͷॲཧ ϝχϡʔόʔͷઃఆ
ۤ࿑ͨ͠ w 7VFͷίϯϙʔωϯτͱϦΞΫςΟϒγεςϜ ϑΝΠϧ͔ΒಡΈࠐΜͩ$47Λଈ࠲ʹςʔϒϧʹදࣔͰ͖ͳ͍ ฤू༰͕ग़ྗ࣌ʹө͞Εͳ͍ ࣮͋·Γ֮͑ͯͳ͍ʜ w
&MFDUSPOͷ*1$௨৴ʹΑΔϨϯμϥʔͱϝΠϯϓϩηεͷ࿈ܞ Πϕϯτ͕͏·͘Ωϟονग़དྷͳ͍ 19
·ͱΊ w FMFDUSPOWVFͰ͓खܰʹσεΫτοϓΞϓϦέʔγϣϯΛ࡞ 7VFKTͱ&MFDUSPOॳ৺ऀͰ࡞ΕΔ ‣ ؆୯ͱݴ͍ͬͯͳ͍ w )BOETPOUBCMFΛ͑&YDFMϥΠΫͳΞϓϦέʔγϣϯΛखܰʹ࡞
)BOETPOUBCMFͷίϯϙʔωϯτʹσʔλΛloadData()Ͱ͚ͩ͢Ͱ0, ‣ ׳Εͳ͍ͱࠞཚ͍͢͠ 20
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠