Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
18
PHP で form-data を POST 以外のメソッドで受け取るには?
azuki
0
40
PHP で学ぶ OAuth 入門
azuki
2
800
EditorConfig を使ってみよう
azuki
1
89
Symfony でサクッと作る REST API サーバー
azuki
1
200
Vite の Library Mode を使って Vue のコンポーネントをライブラリ化する
azuki
1
270
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
350
Provide/Inject で TypeScript の恩恵を受ける方法
azuki
3
160
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
380
Other Decks in Programming
See All in Programming
認証・認可の基本を学ぼう前編
kouyuume
0
190
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.7k
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
210
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
6
920
Integrating WordPress and Symfony
alexandresalome
0
140
開発に寄りそう自動テストの実現
goyoki
1
740
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
310
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
300
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
140
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.2k
認証・認可の基本を学ぼう後編
kouyuume
0
180
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
120
Featured
See All Featured
A Tale of Four Properties
chriscoyier
162
23k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Statistics for Hackers
jakevdp
799
230k
Unsuck your backbone
ammeep
671
58k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Testing 201, or: Great Expectations
jmmastey
46
7.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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠