-
開発
GitHub ActionsでDockerイメージのビルドを高速化してみた
概要 GItHub Actionsで実行していたDockerイメージのビルド時間を高速化しました。 結論として、レイヤーキャッシュの最適化とDocker BuildxとGitHub Actionsのキャッシュ機能を利用することで、Dockerイメージのビルド時間を約50%短縮することができまし... -
開発
next-authのmiddlewareのauthorized関数でtokenがnullになって困った件
はじめに next-authのjwtによる認証で、サインインは成功するのにmiddlewareの処理でcookieに保存されているはずのtokenを取得するとnullになるという現象で困っていた。 issueを調べてみると同じようなことで困っている人がちらほらいたので、一瞬next-au... -
プログラミング
プログラミングにおけるコピーとは ~値コピーと参照コピー(値渡しと参照渡し)~
はじめに 「JavaScriptでディープクローンをする方法と注意点」というタイトルで記事を書こうと思ったのだが、内容を考えているうちに、そもそもプログラミングにおけるコピーには2つの意味がある、というところから記事にしたくなった。 値のコピーと参... -
開発
nuxt.config.tsでパスエイリアスを利用すると’Cannot find module’エラーが出てしまう原因
起こったこと nuxt3プロジェクトのnuxt.config.tsでhooksを設定するために、hooksを定義したモジュールをimportとしようと以下のように記述したところエラーが出た。 import hooks from '~/server/hooks' export default defineNuxtConfig({ // ..... -
vitest
vitest + mongoDBのテスト環境を作った備忘録 [mongodb-memory-server]
はじめに テストで使用するMongoDBをどうするか悩んだ結果、mongodb-memory-serverを利用することにした。 mongodb-memory-serverはNode.jsのテスト環境での使用を目的としたパッケージで、メモリ上に一時的なMongoDBサーバを立ち上げることができる。わざ... -
本
自動テストに入門するため「初めての自動テスト」を読んでみた 1章
開発しているプロダクトに「バグが増えてきたのでとりあえず導入した方が良さそう」と、ふわっとした理由で自動テストを導入しました。 しかし、テストを書ける状態にはしましたが、そもそも自分はテストを運用した経験がなく体系的な知識はないままだった... -
vitest
vitestでNuxt3のコンポーネントテスト環境を作った備忘録
はじめに Nuxt3のプロジェクトでvitestを使ったコンポーネントテスト環境を実装した備忘録。Nuxt3*vitestはまだまだ開発中といった状況で情報も少なくできないことも多いので随時アップデートしていきたい。 使用したライブラリ vitest Viteベースの高速な... -
Git
リモートで削除したブランチがローカルのGitに残っていたので同期した – git pruneの活用
はじめに ターミナルでGitコマンドの補完機能を使っているのだが、リモートで削除したはずのブランチが補完候補にでてきて鬱陶しかったので調べてみたら、git pruneコマンドというのを見つけた。 ブランチが削除された後のローカルリポジトリ Gitの仕様と...
1