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
React Hook Form と Zod によるフォームバリデーション
azuki
0
29
PHP で form-data を POST 以外のメソッドで受け取るには?
azuki
0
48
PHP で学ぶ OAuth 入門
azuki
2
940
EditorConfig を使ってみよう
azuki
1
92
Symfony でサクッと作る REST API サーバー
azuki
1
220
Vite の Library Mode を使って Vue のコンポーネントをライブラリ化する
azuki
1
290
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
360
Provide/Inject で TypeScript の恩恵を受ける方法
azuki
3
160
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
390
Other Decks in Programming
See All in Programming
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.5k
.NET Conf 2025 の興味のあるセッ ションを復習した / dotnet conf 2025 quick recap for backend engineer
tomohisa
0
100
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
310
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2k
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
180
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
1
650
Developing static sites with Ruby
okuramasafumi
1
340
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.4k
はじめてのカスタムエージェント【GitHub Copilot Agent Mode編】
satoshi256kbyte
0
140
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
240
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.3k
SQL Server 2025 LT
odashinsuke
0
120
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.2k
How GitHub (no longer) Works
holman
316
140k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Color Theory Basics | Prateek | Gurzu
gurzu
0
170
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
27
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Marketing to machines
jonoalderson
1
4.5k
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠