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
140
Vue.js初心者がelectron-vueでデスクトップ アプリケーションを作成した話
v_kansai meetup #6 の発表資料です。
SAW
May 22, 2019
Tweet
Share
More Decks by SAW
See All by SAW
PHP で学ぶ OAuth 入門
azuki
2
370
EditorConfig を使ってみよう
azuki
1
69
Symfony でサクッと作る REST API サーバー
azuki
1
130
Vite の Library Mode を使って Vue のコンポーネントをライブラリ化する
azuki
1
160
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
260
Provide/Inject で TypeScript の恩恵を受ける方法
azuki
3
130
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
350
OSS contributor への第一歩を踏み出すまでの物語
azuki
2
300
Eloquent で relation を扱う基礎
azuki
0
160
Other Decks in Programming
See All in Programming
Discover Metal 4
rei315
2
130
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
1
16k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
52
33k
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
120
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
290
Quand Symfony, ApiPlatform, OpenAI et LangChain s'allient pour exploiter vos PDF : de la théorie à la production…
ahmedbhs123
0
170
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
800
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
360
Hack Claude Code with Claude Code
choplin
3
1.3k
Deep Dive into ~/.claude/projects
hiragram
14
2.5k
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
120
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Practical Orchestrator
shlominoach
189
11k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Cult of Friendly URLs
andyhume
79
6.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
How GitHub (no longer) Works
holman
314
140k
The Pragmatic Product Professional
lauravandoore
35
6.7k
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠