みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

Vue.js

Dev Container で Tauri を用いた GUI 開発

Docker 環境で GUI の開発ができないだろうか,と思ったので調べてみたところ, fluxbox というウインドウマネージャーを使用した,ブラウザーで接続可能なデスクトップ環境があるそうで,これは Dev Container Features の Light-weight Desktop を使用すれ…

多数のページのウェブサイトはSSGで作りにくい

ページが1万個を超えるウェブサイトを静的サイトジェネレーター(SSG)である VitePress を用いて作成しようとして,根本的な問題が生じることが分かりました. VitePress で生成されたproduction用の全てのhtmlファイルには,hashmapが挿入される*1ため,以下…

System limit for number of file watchers reached.

Vue.jsのプロジェクトを開発中にサーバーを立ち上げようとしたら,以下のエラーが発生しました. Error: ENOSPC: System limit for number of file watchers reached, watch ... Vue.jsはchokidarを使用してファイル変更を監視しているらしく,Ubuntuではino…

Vue.jsのv-bindにObjectを使うときはXSSに気をつける

Vue.jsを使うときはDOM-based XSSに注意しなければなりません.例えば,v-htmlがXSSの原因となる可能性があることは有名です. Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to XSS attacks. On…

Sentry Loaderが簡単すぎた

Webアプリケーションのエラーを扱うためにSentryを利用しています. webpackを使ってSentry SDKを使うと,bundle.jsが正常にロードされれば問題なくSentryにエラーが送信されますが,もしもbundle.jsでSentryが読み込まれる前にエラーが発生すると,エラーが…

Vue.jsのv-modelでmutableな変数の扱い方

Vue.jsでコンポーネントの親子間のデータの受け渡しは,親→子でpropsを,子→親でeventを使うことが推奨されています.そして,データは親が持つべきとされています*1.このように実装することで,親のデータが意図せずに子に変更されることがなくなり便利で…

webpack 4, vue.js, vue-routerを用いたSPAの開発環境

自分用メモも兼ねて,シングルページアプリケーション(SPA)基本となるプロジェクトの構成を紹介します. webpack 4ではconfig.jsを省略できるようになったようですが,少しは設定が必要なようです. ディレクトリ構成 index.html node_modules/ package.js…