
ããæ»ããªã! Vue3ã§æ¥œã Java Script ïœå ¥éããæ ªäŸ¡ã°ã©ããäœã£ãŠã¿ãïœ
ããã«ã¡ã¯Rcatã§ãã
ä»åã¯Java Scriptãã¿ã§ãã
PythonãµãŒããŒãšãããã³ãã«JavaScriptã¯ãã€ãã®ããšã§ãããä»åã¯ãã®JavaScriptã®éšåã«vuejsãæ¡çšããŠåŒ·åããŠã¿ãããšæããŸã!
ãããæ¡çšããããšã§ãä»ãŸã§ããè¶
èšè¿°ãå°ãªãã§ããã»ãããã¬ãŒã ã¯ãŒã¯ã«äžžæãã§ããéšåãå€ãã®ã§äžå
·åãæžããŸãã
ã¯ããã«
å©çšèŠçŽ
æ å ±ãäœåã®æŽ»çšæã¯äºåã«å©çšèŠçŽãã確èªãã ããã
ã³ã¡ã³ãã«ã€ããŠ
å©çšèŠçŽã®ã¬ã€ãã©ã€ã³ã確èªã®äžã³ã¡ã³ãããŠãã ããã
åã£ãŠããªãã³ã¡ã³ãã¯åé€ããŸãã
æŠèŠ
Vue.JSãšã¯
WEBãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹(ã€ãŸãããã³ããšã³ã)ãæ§ç¯ãããã¬ãŒã ã¯ãŒã¯ã§ãã
ä»ãŸã§ã¯ãã¬ãŒã³ã®JavaScriptã§ãã£ã¡ãaddEventListener!ãšå€§éã®ãªã¹ããŒãæžãããquerySelector!ãšèŠçŽ ããã£ã¡ãæå®ãããããŠãåãããã³ããšã³ããäœã£ãŠããŸããããããã䜿ããšãªããšå
šããããªããšããã
ãšã«ãããã¡ããã£ãšåããèŠãã ãã§ãããããããããšæããŸãã®ã§ãèŠãŠã¿ãŠãã ããã
æ¥ã«ã©ãããã®?
ä»ãŸã§ã¯ç¥ã£ãŠãé åå
ã§ããããããããšã§æçãããŠããŸããããæè¿ä»äºã§äœ¿ã£ããã§ãããè¶
æåããŠããŸãâŠ
ããã¯æ®æ®µãã䜿ããããªãã!ãšããããšã«ãªããŸãããåæ¹åã®å匷ã«ããªããã
æåäºäŸ
ç§ãåèŠã§äžçªæåããã®ã¯ããã§ãã
åŸã§ãã¡ããšåºããŸããããœãŒã¹ã¯ãã£ãããã ãã§

éžæã®ãªã¹ããã¡ãããšã§ããŠããšããã
ããããã€ããªãã«ãŒãã§CreateElementããŠAppendChildããŠã»ã»ã»ãšé¢åã ã£ããã€ã
åãèŠé ã§è¡šãšãäœããšããã«æåããããããtdãšãtrãšããã£ã±ãã§é¢åãªãã§ããâŠã

ã¡ãªã¿ã«ãrefãšããã®ã¯ãªã¢ã¯ãã£ã倿°ãšããVueç¹æã®å€æ°ã§ããã®äžèº«ãå€ãããšèªåçã«å¯Ÿå¿ããè¡šç€ºãæŽæ°ãããŸãã
ãªã®ã§
neko.value.push("Nyanko");ãã®äžè¡ãå®è¡ããããšãéžæè¢ãå¢ããŸãã
ããselectã¯ãªã¢ããŠå
¥ããªãããªããŠãããã§ãã!?
ãããªæãã§æ§ã
ãªæåãã€ã³ãããããã¬ãŒã ã¯ãŒã¯ã§ãã
äŸãã°ãã®åŸè¡ãã³ã³ããŒãã³ããäœã£ãŠäœ¿ããŸãããªã©âŠ
ãªãããã®èšäºã§ã¯Vueç¹æã®ææ³ã®åæçãªç޹ä»ã¯ããŸããã
ã»ãã®èšäºã§ãè¶³ããŠãŸããããããŠåæŠããçç±ããããŸããã
å°å ¥
nodejsã®å°å ¥
ããã³ãã®éçºã¯nodejsçµç±ã®vue.jsã§è¡ããŸãã
ãªã®ã§ãŸãã¯ãã¡ããå°å
¥ããŸãã
â»æçµçã«ãã«ãããã®ã§ãå®è¡ç°å¢ã§ã¯äžèŠã§ãã
ãšããããWindowsã€ã³ã¹ããŒã©ãŒã楜ã ãšæããŸãã
äžã®ã»ãã¯ããŒãžã§ã³ã«ãããã人ã®ããã®Dockerããª?

Vue.jsã®ãããžã§ã¯ããäœæ
nodejsãå°å
¥ã§ããããvue.jsã®ãããžã§ã¯ããäœããŸãã
åºæ¬çã«ã¯äžèšã®æ²¿ã£ãŠé²ããã°OK
npm create vue@latestããããéžæè¢ãåºãŠãããã§ãããç§ã¯æäœ"Router"ã ããã§ãã¯å
¥ããŠé²ããŠãŸãã
Routerã¯URLã管çããã®ã«äœ¿ããŸãã

åºæ¥äžãã£ããããã©ã«ãã«å
¥ã£ãŠããã±ãŒãžãã€ã³ã¹ããŒã«ããŸãã
ãã installãšæãŠã°ããã®ã¯ãæ¢ã«ãªã¹ããäœæãããŠããããã§ããrequirementsã¿ããã
ããã§Vueã«å¿
èŠãªãã®ãå
¥ã£ãŠããŸãã
vuejs>cd Rcat_test
Rcat_test>npm install
added 126 packages, and audited 127 packages in 18s
32 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilitiesãµãŒããŒãèµ·åããŠç¢ºèªãã
ãã®ãŸãŸäžèšã³ãã³ããæã€ãšãµãŒããŒãèµ·åããŸã
>npm run devURLã衚瀺ãããã®ã§ã¢ã¯ã»ã¹ããŸã

ãããªç»é¢ã«ãªãã°OK
â»æåã®ç»é¢ã§ãã¥ãŒããªã¢ã«ã¹ããããYesã§äœããšåºãªããã?

ç»é¢ãäœã
ããŠããããããæ¬é¡ããªãªãžãã«ã®ããŒãžãäœã£ãŠãããŸããã!
ã¡ã€ã³ããŒãžãäœæ
ãããžã§ã¯ããã©ã«ãã®srcãã¡ã€ã³ã®çœ®ãå Žã§ã

ç»é¢æ¬äœã¯ããã«viewsã®äžã«çœ®ããŸã
ãã¥ãŒããªã¢ã«ãæå¹ã«ããŠãããšãããã«åæã®ç»é¢ãå
¥ã£ãŠãŸãã
ãšããããäžåè€è£œããŠã¿ãŸããã

äžèº«ã¯ãããªæãã§ããã

ãšãããããããªæãã«ããŸã

ä»ãŸã§<HTML> </HTML>ã§æžããŠããéšåã¯<template>ã®äžã«æžããŸãã
jsã¯ãã®äžã«ãã<script>ã®äžã«ãããã¯ãã€ãéãã
ã«ãŒãã£ã³ã°ïŒURLã®èšå®ïŒ
åãéå±€ã®routerãã©ã«ãã«ããindex.jsãéããŸãã
ããã±ã£ãšèŠã§ãããã®ã§ã¯ãªãã§ãããã?
äžã«importã®è¡ãããããããHomeViewããã¯ã£ãŠãªãªãžãã«ã®ç»é¢ãimportããŸãã
äžã®jsonã®äžã«åãããã«homeããã¯ã£ãŠ"/neko"ãäœããŸãã

ç»é¢ã確èª
ãã®ç¶æ ã§ãå ã»ã©ã®ãããç»é¢ãããURLçŽãããã§/nekoã«ã¢ã¯ã»ã¹ãããšãããªæãã

ãåããã§ãããã?
ãã£ãããã ãã§ãéžæã®ãªã¹ããã§ãã¡ãã£ãŠããã®ã§ãã
å·Šã®èŠããªã
èªåã®ç»é¢ãªã®ã«ãªããå·Šã«ãããŸããã?
ãããã«ãŒãèŠçŽ ã®App.vueã®èšè¿°ã ããã§ãã
äžåäžã®ãã©ã«ãã«App.vueãããã®ã§ã"RouterView"以å€ãå
šéšæ¶ããŸãã

ãããã«ãªããŸããã

èæ¯è²ãªã©ã¯ãassetsãã©ã«ãã«ããcssãèªã¿èŸŒãŸããŠãããããªã®ã§ã空ã«ããã°ãã€ãã®å³æ°ãªãçœãããŒãžã«ãªããŸãã

vueDevToolsãæ¶ã
ç»é¢äžã«ãããã€ãæ¶ãã«ã¯ããããžã§ã¯ãã«ãŒãã®"vite.config.js"ããç¡å¹ã«ã§ããŸãã

CSSãå ¥ãã
ããã¯ã¡ã€ã³ã®è©±ã§ã¯ãªãã®ã§è©³ããã¯è§£èª¬ããŸããããä»åããã¹ã¿ã€ã«ã«bootstrapãçšããŸãã
ã©ã䜿ããã¯ãå®éã«äœ¿ãéã«æ³šéããŸãã
ãã®ããã«ã€ã³ã¹ããŒã«ãšèšå®ãããŸãã
bootstrapã®ã€ã³ã¹ããŒã«
npm install bootstrapã€ã³ã¹ããŒã«åŸãmain.jsã«äºè¡è¿œèšããŠå šäœã§æå¹ã«ããŸãã

ã³ã³ããŒãã³ããäœã
ã³ã³ããŒãã³ããšã¯ãç»é¢ãæ§æããèŠçŽ ã®äžéšã§ãã
ç¹ã«ãä»åã®ç§ã®ããã«ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãäœããããšãã¯ãç¹å®ã®æ©èœãæã€ç»é¢ãéšåãšããŠäœã£ãŠãããšäŸ¿å©ã§ã(äŸ:ã¡ãŒã¿ãŒ)ã
åºæ¬çã«ã¯ç»é¢(ãã¥ãŒ)ã®äžã«ã³ã³ããŒãã³ã(éšå)ã倿°é
眮ãããšããæãã«ãªããŸãã
ãã®åæã§ãã®äžã芧ãã ããã
ã°ã©ãã³ã³ããŒãã³ãã®äœæ
ãããªãã§ããã°ã©ãæããŸã
âã§äœ¿ãããã«äœãã®ã§
ãŸãã¯ãã¡ã€ã«æ¬äœãäœæããŸã
componentsãšãããã©ã«ããããã®ã§ããã®äžã«ç©ºã®ãã¡ã€ã«ãããããŒã¯ãŒã«ããã³ããããŠæµçšããŸãã
ãŸããviewsã®æ¹ãMainãšãããã¡ã€ã«ã«çœ®ãæããŠããŸãã

ãã®æç¹ã§ãç»é¢ã¯"Main"ãšãããã¥ãŒã
ã³ã³ããŒãã³ãã¯"GraphTest"ãšããã³ã³ããŒãã³ãã§ãã
Graphtestã®ã³ã³ããŒãã³ãã®äžèº«ã¯ãããªæã
ãšãããããã³ã³ããŒãã³ããšããŠè¡šç€ºã§ããããªã®ã§ã°ã©ãã¯ãŸã åºãŸãã

äžããç°¡åã«è£è¶³
class="container"ãšãã£ãŠäœ?
ãããbootstrapã®CSSãé©çšããããã®ããŒã¯ãŒãã«ãªããŸãã
ã€ãŸããbootstrapã¯å€§éã®CSSå®çŸ©ãç¹å®ã®ååã®classã«ã¢ãµã€ã³ããŠããããã§ããã
ããã«åãããã ãã§åæã«ã¹ã¿ã€ã«ãé©çšããããšããããšã§ãã
ãã®èŠçŽ ãèŠãã ãã§ãããããã®ã¹ã¿ã€ã«ãªãã ããšããã®ãåãããŸãã{{}} ã£ãŠäœ?
Vueç¹æã®æžãæ¹ã§ããã®äžã«å€æ°ãå ¥ããããšãã§ããŸãã
åé ã®ref倿°ãå ¥ããã°ãäžèº«ãå€ãã£ãç¬éã«è¡šç€ºãå€ãããŸããpropsã£ãŠäœ?
ããã¯èŠªã®ç»é¢(ãã¥ãŒ)ããããŒã¿ãåãåãä»çµã¿ã§ãã
ãã®æ¬¡ã«åºãŠããŸããããã®ã³ã³ããŒãã³ãã¯ç»é¢ããã¿ã€ãã«ã®æååãåãåããããã«ããŠãããŸãã
次ã«Mainã®ãã¥ãŒããã¡ã

ç°¡åã«è£è¶³
<div>å€ããªã?
bootstrapã®æ§ã ãªã¹ã¿ã€ã«ãé©çšããããã«ãã®åã ã䜿ã£ãŠããŸãã
ä»åã¯ãµã¯ããšã«ãŒãã«ããŠã¿ãŸããã<GraphTest>ã¿ã°ã£ãŠäœ?
ãããã³ã³ããŒãã³ãã®æ¿å ¥ã§ãã
scriptã®äžã§importããŠããã°ã¿ã°ãšããŠæ¿å ¥ããããšã§ç»é¢ã§å©çšã§ããŸãã:title=ã£ãŠäœ?
ãããã³ã³ããŒãã³ãã®propsã«æž¡ãå€ã§ãã
åããã®ååãšåããããã®ã«å€ãæž¡ããŠãããŸãã
ã¡ãªã¿ã«":"ãã€ãããšåŒã§ããªããšåºå®å€ã«ãªããŸãã
ä»åã¯å€æ°ãå ¥ããŠããã®ã§åŒã«ããŠããŸãã
ãšããããã§è¡šç€ºããã¡ã
ã«ãŒãã«ããããšã§Windowsã£ãœãæãã«ãªã£ãŠããŸãã
ãŸããç»é¢ãšã³ã³ããŒãã³ãã®äž¡æ¹ããã¡ããšè¡šç€ºãããŠããã®ãããããšæããŸãã

ã§ã¯ãæåã®ãšãããã°ã©ãã«ããŠãããŸãããã
ã°ã©ãã«ãã
å ¬åŒãµã€ããèŠããšäžèšã³ãã³ãã§ã€ã³ã¹ããŒã«ãã§ãããšã®ããšãªã®ã§ããŸãå ¥ããŸãã
npm install plotly.js-distå
¬åŒã®ãªãã¡ã¬ã³ã¹ã¯ãã¡ãã
åèã«ããŠçµãã§ãããŸãã
æåã«çµæã ãèŠãããšãããªæãã
倧人æ°éæã®5åè¶³ã§ãããããããª??

æ ªäŸ¡ãã£ãŒãã®äœãæ¹
ãŸãã¯ãã³ãã¬ãŒãã®äžèº«ãšã€ã³ããŒãã§ããã

æåã ã£ããšããããã°ã©ãçšãšãªã¢ã®"<div ref="chartContainer"></div>"ã«å€ãã£ãŠããŸãã
ref = ã䜿ããåãååã®ref倿°ãnullã§å®£èšãããšåæã«åç
§ãå
¥ããŸããqueryselecter?ãããªã®èŠããªããã§ããâ
ã¡ãªã¿ã«æ ªäŸ¡ã¯å·šå€§ãªã®ã§å¥ãã¡ã€ã«ã«å
¥ããŠãŸãã
ãã¹ãã§importããŠãã ããªã®ã§ã説æã¯çããŸãã

ãã®äžãã¡ã€ã³ã®ã°ã©ãäœæéšã§ããã

æåã«æ ªäŸ¡ã®Y軞ãäœæããŸãã
ããã§å¿
èŠãª4é
åãåç
§ããã¿ã€ããcandlestickã«ããããšã§ããŒãœã¯ã«ãªããŸãã
ãã®åŸã«ã¬ã€ã¢ãŠãã®äœæã§ããã
空ã®ã°ã©ããšãªã¢ã«äœãã©ãæãã®ãèšå®ããŸãã
ããã§ã¯X軞ã®èšå®ãäž»ã«ããŠããŸãã
ãªããŠãåããã§ãããååŒæéå€ãçããªããšåè¶³ã¯ãšãã§ããªãããšã«ãªãã®ã§ãã®èšå®ã§ããã
ã¡ãªã¿ã«ããã£ãšèšå®ãæ¶ããšãããªæãããã¬ãã!!

ã§ããã®åŸããããæãå ããŠåºæ¥é«ãŸã§å ¥ããŸãã!

ã¡ãããšæ¡å€§ãã§ããŸããããã!

æ¬æ Œçã«ã³ã³ããŒãã³ãåãã
ããŠãvueã§æ ªäŸ¡ãã£ãŒããåºããšããç®çãéæã§ããããªããšã¯ããããŸããããä»ã®ãšããåºå®å€ã ããã衚瀺ã§ããæå³ããããŸããã
ããããã¯ããã¡ããšèŠªã³ã³ããŒãã³ããAPIã§åŒã£åŒµã£ãŠããããŒã¿ãåãããã»ããããŠãã°ã©ãã®æ¹ã¯è¡šç€ºã ããæ ãããã«ããŸãã
ããŒã¿ã倿°ã«ä¿æ
芪ã³ã³ããŒãã³ãããããŒã¿ãåãåã£ãŠæåããããã«å€æ°ã«æ ŒçŽããŸãã
ä»åã¯ããŒã¿æ¬äœãšãã°ã©ãã®èšå®ãã°ããŒãã«ã§ä¿æããŸãã

ããŒã¿ã»ãã / ãããã颿°ã®è¿œå
ããŒã¿ãã»ããããããåæåãè¡ããŸãã
ä»ãŸã§ã®ã°ã©ãèšå®ç³»ã颿°å
ã«åãŸããä¿æããŠããå€ãèªã¿èŸŒãæãã«ãªããŸãã

ãããŠå€§äºãªã®ãããã§ãã
defineExposeã䜿ããç¹å®ã®é¢æ°ã¯èŠªããããããããã«ããŸãã
ããããããšã§ããŒã¿ãæž¡ããããããæç€ºãåºããããã«ãªããŸãã
ããããã£ã§ãæž¡ãããã§ãããååã«ããåç
§ããªãã®ã§ãããšããæŽæ°ãé¢åãªãã§ãããã

芪ã³ã³ããŒãã³ã
ããŠãæºåãã§ããã®ã§æ¬¡ã¯èŠªã®æ¹ã§ãã
颿°ããããããã«ãref屿§ã远å ããŠåç
§ãä¿æããŸãã

ãã£ããŸã§ã°ã©ããçŽèªã¿ããŠããæ ªäŸ¡ããã£ã¡ã§ããŒãããå
ã»ã©å
¬éããããŒã¿ã»ãã颿°ã«æž¡ããŠããŸãã
ããã§ãèŠªã®æ¹ããããŒã¿ãäŒãããŸãã
ãã®åŸãplotããããããšã§å衚瀺ã§ãã
çµæã¯ãããªæããåé¡ãªãããã§ããã

ã³ã³ããŒãã³ãã®åŒ·ã¿
ãããŸã§ã ãšãã³ã³ããŒãã³ãäœã£ãŠã©ãããã®?芪ã«çŽã§ãããªã?ãšããæãã§ããã以äžã®ããã«èŠªã倿Žãããšã©ãã§ããããã°ã©ãã2åã«å¢ããŠãŸãã

çµæããã¡ããã¯ããããã«ã«ãªããŸãã!
ãããªæãã§ãäœåºŠã§ãã©ãã§ã䜿ããŸãããã®ãé
åã§ãã
è€æ°éæåæè¡šç€ºãšããç°¡åã§ããã

ã¡ãªã¿ã«å³åŽã¯åæã®ãã¹ããšããŠã³ã³ããŒãã³ãã«åã蟌ãã§ããããŒã¿ã§ãã
ãã«ããã
宿ããããããžã§ã¯ãããã«ãããŸãã
ããã«ãããæ¢åã®WEBãµãŒããŒã®web rootã«åºæ¥äžãã£ããã¡ã€ã«ã眮ãã ãã§å
¬éã§ããŸãã
ç°¡åã«èšããšãå®è¡ç°å¢ã§ã¯node jsããããªãããnpm runã¿ãããªã®ã®ããããªãã
ããã«ããœãŒã¹ãããããããæå³ããããªããªãã®ã§ãªããŒã¹ãšã³ãžãã¢ãªã³ã°ãé²ãã? LLMãç°¡åã«ãã³ãŒããããã ãâŠ
ãã«ãæ¹æ³
node jsã®ãããžã§ã¯ããã©ã«ãã§äžèšãå®è¡
npm run buildå®éã®æ§åããã¡ã

çµãããš"dist"ãšãããã©ã«ããåºãŠããã®ã§ããã®äžèº«ãWEBãµãŒããŒã®ã«ãŒãã«å
¥ããã°OKã
distã£ãŠpyinstallerããããªååã®ãã©ã«ãåºããŠããã®ã§ã³ã³ãã€ã«ç³»ã®å
±éèªèãªã®ããª?âå€åäœãç¥ããªãã ãw

ã¡ãªã¿ã«ããããpython flaskã§æã£åãæ©ã確èªããã«ã¯ä»¥äžã®ããã«ããŸã
WEBãµãŒããŒã®ã«ãŒããã©ã«ããšããŠæ±ããããã«å®æ°ã«ããããåããã©ã«ãã§å®è¡ããã

"/"ãžã®ã¢ã¯ã»ã¹ã§dist/index.htmlãè¿ãããã«ãã

ä»»æã®ãã¹ãè¿ãæã¯ããã¹ãŠwebrootãšã€ãªããŠãã¡ã€ã«ãè¿ãããã«ãã
â»"../"察çãªã©ãæ¬æ¥ã¯å¿
èŠãèªåã ããªããããªãã?

ãã®ç¶æ ã®FlaskãµãŒããŒã«æ¥ç¶ãããšãããªæããå šãåã衚瀺ã«ãªããŸãã!

ãµãŒããŒã®ãã°ã¯ãããªæãã
ã¡ãããšéä¿¡ã«ãã£ãŠããŒã¿ãæã£ãŠããŠããŸãããäœåºŠã詊ããŠããã®ã§304ãªã®ã¯ãæå¬ã

ãŸãšã
ãããã§ããã?
ãã®çšåºŠã§ã¯é
åã¯1å²çšåºŠãã玹ä»ã§ããŸããã§ãããããšã«ããåçã«å€ããããŒãžãã现ããããŒããšããŠäœã£ãŠåå©çšãªã©ãç°¡åããã ãšããã®ã¯ãå€ãããã ããããšæããŸãã
次å以éã¯å¥ã®ã·ãªãŒãºã§ãã®vueãæ¡çšããŠé²ããŠãããŸãã®ã§ããã¡ããšåæµã§ããã
ãããã¯ãŸããäŒãããŸãããã
ãªã³ã¯é
ææ³æçš¿ãã©ãŒã
ã³ã¡ã³ãã¯å ¬éã§æ¥ãããã!! Rcatã ãã«éããã人åã