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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
SAW
May 22, 2019
Programming
150
0
Share
Vue.js初心者がelectron-vueでデスクトップ アプリケーションを作成した話
v_kansai meetup #6 の発表資料です。
SAW
May 22, 2019
More Decks by SAW
See All by SAW
🪝 便利な Property Hooks を 使ってみよう 🪝
azuki
0
59
決済システム超初心者が Stripe に入門している話
azuki
0
96
React Hook Form と Zod によるフォームバリデーション
azuki
0
63
PHP で form-data を POST 以外のメソッドで受け取るには?
azuki
0
74
PHP で学ぶ OAuth 入門
azuki
2
1.3k
EditorConfig を使ってみよう
azuki
1
110
Symfony でサクッと作る REST API サーバー
azuki
1
250
Vite の Library Mode を使って Vue のコンポーネントをライブラリ化する
azuki
1
370
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
410
Other Decks in Programming
See All in Programming
🦞OpenClaw works with AWS
licux
1
310
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
2.4k
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
940
Firefoxにコントリビューションして得られた学び
ken7253
2
150
ふりがな Deep Dive try! Swift Tokyo 2026
watura
0
260
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
書き換えて学ぶTemporal #fukts
pirosikick
1
310
2026-04-15 Spring IO - I Can See Clearly Now
jonatan_ivanov
1
150
How Swift's Type System Guides AI Agents
koher
0
320
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
560
実用!Hono RPC2026
yodaka
2
280
Don't Prompt Harder, Structure Better
kitasuke
0
800
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Building Applications with DynamoDB
mza
96
7k
Agile that works and the tools we love
rasmusluckow
331
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
sira's awesome portfolio website redesign presentation
elsirapls
0
230
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
140
Are puppies a ranking factor?
jonoalderson
1
3.4k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.6k
How to Ace a Technical Interview
jacobian
281
24k
Why Our Code Smells
bkeepers
PRO
340
58k
Deep Space Network (abreviated)
tonyrice
0
130
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠