はじめに

Node.js でミリ秒よりも高精度のタイマーやタイムスタンプを利用する方法について整理した。

TL;DR

  • マイクロ秒オーダーでの Unix Timestamp を使いたい場合は microtime (node-microtime) を使う
  • Performance Timing APIperformance.now()perfomance.timeOrigin を組み合わせてもマイクロ秒オーダーで Unix Timestamp が取得できる
  • process.hrtime() でナノ秒オーダで計測が可能
続きを読む

はじめに

Vue.js プロジェクトで vue-svg-loader を使って SVG ファイルを描画する方法について整理した。

TL;DR

  • npm i -D vue-svg-loadervue-svg-loader をインストール
  • vue.config.js に設定を追加
  • xxxx.vueimport して components に登録して <YourSvgIcon /> で描画
続きを読む

はじめに

GitHub で公開されているソースコードをベースにして、プライベートリポジトリで何かを作りたい時にクローンする方法を調べた。

※書いた後に「clone して、remote set-url で変更するだけで良いのでは?」と思ったが検証してない。

TL;DR

  • Create a New Repository でプライベートリポジトリを作る
  • git clone --bare <src repo> でクローン
  • git push --mirror <dest repo> でプライベートリポジトリにプッシュ
続きを読む

はじめに

Vue.js を使って Chrome 拡張機能を開発する方法について簡単に整理した。

前回の記事 では、Kocal/vue-web-extension を使った Chrome 拡張機能の開発方法について調べた。が、「Kocal/vue-web-extension では Popup Page や Options Page で Vue.js を使うもの」、つまり「メインページ(メインコンテンツ?)側では使えないもの」という結論に至った。(※自分の中では、の話)

冷静に考えて「メインページ側に使えないわけがない」と思って、どのようにすれば実現できるかについて調査した。

実際に拡張機能を作ってリリースした話 : Vue.js を使ってChrome 拡張機能を作った話(はてなブックマークのコメントを Qiita 記事内に表示) - Qiita

TL;DR

  • vue.config.js を用意して vue-cli-service でビルドすれば動作することを確認
  • manifest.json では chunk-vendors.js を先に読み込む
  • minify とか css preprocessor とかはまだ調べきれてない
続きを読む

はじめに

Chrome 拡張機能の開発をしていて、ファイルの変更後に毎回 chrome://extensions を開いて手動で更新するのがダルかったので、ファイルの変更を検知して自動で更新してくれる方法を調べた。

ほぼほぼ元記事通りの内容だけど、忘れないようにメモしておく。

TL;DR

  • xpl/crx-hotreloadhot-reload.js をローカルに保存
  • manifest.json"background": { "scripts": ["hot-reload.js"] } を追加
  • 開発中の拡張機能を chrome://extensions で読み込み(更新)
続きを読む

はじめに

Laravel で View 用のロジックを分離できるライブラリ robclancy/presenter の使い方について整理した。

TL;DR

  • robclancy/presenter を使うと簡単に Decorator パターンを実装できる
  • composer require robclancy/presenter でインストール
  • ちょっとした設定、XxxxPresenter クラスの作成、Model ファイルの編集だけで View 用のロジックを分離できて便利
続きを読む

はじめに

JavaScript のソースコードの圧縮・難読化ツールについて調べたり試したりしたので記事にまとめた。

Google chrome の拡張機能の開発で javascript-obfuscator/javascript-obfuscator を使って minify をしていたが、Google さんから「Policy 違反」と言われてしまったため、何がまずかったのかと代替できそうなツールを探した。

※2019/09/28 現在では、新しいツール(terser/terser を選択)を使って minify したソースをまだ提出していないので、もし Chrome 拡張機能の JS 圧縮について調べていてこのページにたどり着いた場合は鵜呑みにしないように注意。

TL;DR

続きを読む

はじめに

MacBook Pro を修理に出したので、修理状況を定期的に確認できる Python スクリプトを書いた…んだけど、全部終わった後に「ステータス変わったらメールで通知ある(はずだ)から要らないんじゃね?」ってなった。

とは言え腐らせるのももったいないので記事にまとめておく。

TL;DR

  • リポジトリクローン(git clone git@github.com:17number/fetch-apple-repair-status.git)
  • 設定ファイルの変更(リネーム、内容書き換え)
  • cron などで定期的に実行すると良さげ
続きを読む

r17n


Softwear Engineer


Fukuoka