eslint、stylelintにもcache用のオプションがあって差分のあったファイルだけ実行して時間を削減できることを知らなかったのでやり方とかをmemo eslintでcacheを利用する CIでeslintのcacheを利用する stylelintでcacheを利用する CIでstylelintのcacheを利…
TypeScriptを設定周り毎回新しいプロジェクトを作成するときに迷うので以下のようなコミュニティが提供しているような設定を使いたいなぁという気持ちになるのですが、 github.com Vue.jsのものは無さそうで(Nuxt用のはある)、いい感じのものが無いかなと思…
最近、Vue.jsのTransitionを使う機会があったので使い方とかをMEMO Transitionとは サンプルコード Transitionのイベントを取得する おわりに 参考 Transitionとは Vue.jsのコンポーネントで簡単にアニメーションを設定できる仕組み。 vuejs.org transition…
webpackのbuildのキャッシュ、checksumを保存して一致してたら実行しないといった仕組みを用意しないといけないのかなと思っていたのですが、webpack v5からはpersistent cachingの機能が追加されていて簡単にキャッシュして高速化できたのでメモ ↓公式ドキ…
webpackの移行先として、下記の図の通り速度を重視しesbuildが検討されることも多いかと思いますが、 esbuild - An extremely fast JavaScript bundler webpackを使いつつ一部のbuildをesbuildに置き換えるようなことができるesbuild-loaderというライブラリ…
追記(2023/09/24) Vue SFC(.vue)を使ってコンポーネントに分割し疎結合にすることでコードの見通しを良くし負債化を抑制できますが、適切なタイミングで分割できずコンポーネントが大きくなりすぎると見通しが悪くなり負債になってしまうので行数とかでエラ…
バージョンアップによるbuild結果の差分を見るときなど特定のディレクトリ内の全ファイルを md5でchecksumを取得して差分が出てるファイルを特定できると便利なのでやり方をメモ mac ubuntu 参考 mac ls -Fd $(find $FIND_PATH)で特定ディレクトリ以下のファ…
Railsを活用したWebサービスが大規模になってきた場合に、最近モジュラモノリスが採用されるのを良く耳にする気がしますが、現状その概要やRailsにおいてどのように実装されているのか、あまり分かっていなかったのでメモ モジュラモノリスとは? モジュラー…
最近GitHub Actionを触っていて、タイトル通りon: pull_requestとon: pull_requestの実行コンテキスト等の違いによって、 大分ハマったので、それぞれの違いとかを調べてみたのでMEMOしておきます。 https://github.com/features/actions on: pull_requestと…
bundler/inlineを使うとGemのバグ報告やlogger系のGemを使った調査などでGemfileを使わずに1つのRubyファイルだけで完結できると便利だったのでMEMO bundler.io 例えば調査のために以下のpretty print系のGemを使いたいとします。 github.com 普通だと以下の…
vue-tscなるものを使うとSFC内のtemplate部分も含めて型チェックを行えて便利っぽいようなので使い方とかをメモ www.npmjs.com vue-tscとは? vue-tscとはVeturの後継であるVolar内で管理されているライブラリです。 github.com vue-tsc Type-check and dts …
Vue.jsのsetupのprops等、引数を使わないけど型定義だけ設定しときたい場合等、no-unused-varsを無効化したいケースがあります。 github.com 毎回eslint-disable-lineを使うのも手間なので、他の静的解析のツールの慣習に従って_始まりの場合は許容したかっ…
テストフレームワークをJestからVitestに移行するのを試してみたので手順とか躓いたところとかをメモ Vitestとは? JestからVitestに移行する Vitestのインストール Vitestの構成ファイルを作成する テストコードの修正 テストを実行する おわりに Vitestと…
Viteを軽く触ってみて分かった使い方とかメモ ja.vitejs.dev 色々試してるリポジトリ github.com Viteのinstall/設定ファイルの作成 ドキュメント通りにnpm create vite@latestで自分の作りたい環境からテンプレートを作って、そこからカスタマイズしてくの…
間接的に依存しているライブラリに脆弱性がある場合等、自身のpackgae.jsonのどのpackageを更新すれば解消できるか等を調べたい場合、lockファイルを頑張って確認するのは大変です。 package manager(yarn, npm)の機能を使うと割と簡単に調べられたのでメモ …
タイトル通り、かなりハマったので事象をメモしておく。 事象 タイトル通りですが、strict_loading!をしてeager_loadingを強制しているPolymorphic関連を持つモデルから、 関連を辿ると本来であればActiveRecord::StrictLoadingViolationErrorが発生すると思…
jQueryなど一定Global Objectに展開したいライブラリをwebpackで扱う場合に単純に以下のように書いてしまうと、Global Objectに展開されずReferenceErrorが発生してしまいます。 import "jquery"; // Uncaught ReferenceError: $ is not defined $(document)…
開発チームの健全性とかを定量的に計測する指標としてFour Keysがあると思うのですが、この辺の変更のリードタイムを表す数値として厳密では無いですが、PRが作成されてからクローズされるまでの時間を簡単に計測できないかなと思い調べてみたら結構すぐ取れ…
既存のコンポーネントはVue2を使いつつ、新規のコンポーネントはVu3を使いたいみたいなケースがあると思うんですが、そういう時にaliasを使用するといい感じに実現できそうだったのでメモ やり方 各種パッケージマネージャーのalias機能を使用します。 alias…
認証周りの勉強がてらAikotobaというEmail/Passwordによるシンプルな認証ライブラリを作成しましたので使い方とかをメモしておきます。 rubygems.org Aikotobaとは? Rails engineを使ったEmail/Passwordによるシンプルな認証ライブラリを作成できるライブラ…
エラー通知サービスにRollbarを使っているのですが、ActiveRecord::RecordInvalid等の例外が発生したりするとActiveRecordのインスタンスの属性等が表示されてしまいものによっては連携したくない情報がRollbarに連携されてしまう可能性があります。 Rollar…
Terraform v1系に対応したTerraform Provider Heroku v5がリリースされていたので個人のサービスをアップグレードしてみたので、その辺りの手順とかをメモ github.com Terraform v1系、Terraform Provider Heroku v5系にアップグレード Terraform Provider H…
Ruby on Rails 7から導入されたActive Record Encryptionを使ってみたところ大分良さそうだったので使い方とかをメモしてきます Active Record Encryptionとは? Active Record Encryptionを使ってみる Active Record Encryptionの初期設定 Active Record En…
BOM付きのCSVダウンロード系の機能の検証をRequest specでresponse bodyのBOM付きCSVを検証する時に若干ハマったのでやり方をメモ BOM付きのCSVを検証する時の注意点 当たり前といえば当たり前ですが、encoding: 'bom|utf-8'を指定しないとパース時にエラー(…
既存もDockerで開発環境を作っていたのですが、VS CodeのRemote Containersを使うとディレクトリを開いた時にサジェストしてくれたり、拡張とかもデフォルトでインストールしてくれたりと何かと便利だったのでメモ VS CodeのRemote Containersとは? The Vis…
Gemとかを作るときにRailsのバージョンとサポートしているRubyのバージョンのメトリクスでGitHub ActionでCIを回すときのメモ まず現時点(2022/01/22)のStableのRailsバージョンである7系をインストールするGemfileを用意します。 source "https://rubygems.…
パスワードのハッシュ化といえば、RailsのActiveModel::SecurePasswordでもBcryptが使われているので今まで自分で作るときもBcryptを使っていたのですが、Bcryptには以下のような仕様があり、多少気になりArgon2を使ってみたので使い方とかをメモ bcryptは、…
M1 MacBook Pro 14インチ買ったのでセットアップしたこととかメモ www.apple.com 開発用のツールまわり ターミナル デフォルトのzshでテーマはpreztoを使って、powerlevel10kにした。 github.com github.com prezto使ったことなかったけど、結構すっと設定で…
今年も一年が終わるということで今年も振り返ってみる。 今年の振り返り アウトプット BLOG BLOGは、今年1年で51記事書いていて、1週間に1記事ぐらい書いてるので、そこそこ書いてた✍ (月間PV数は4300弱くらい) なぜか以下の記事が、ホットエントリーに取り…
2021/12/15 Rails 7がリリースされました rubyonrails.org さっそく個人のサービスをRails 6.1.4.4 -> Rails 7にアップグレードしたのでやったこととかメモ Rails 7の主要な対応 Rails 7へのアップグレード手順 Rails以外のgemのバージョンアップ Railsのバ…