カクカクしかじか

技術的なアレコレ

落とし穴

Vueのテストでmountした後は、テスト終了後にwrapperオブジェクトをunmountしないとテストが重くなるかも?

結論 mountやshoallowMountで生成されたDOMをテスト終了後に wrapper.unmount() (Vue2だと wrapper.destroy())で破棄しないと、リアクティブな値の変更などにすべてのwrapperが反応してしまい、 結果としてwrapperを生成した分だけ反応してしまう模様。 (そ…

Nuxt.jsのmiddlewareでredirect処理をする際はreturnを忘れずに

結論 未認証時にログインページに飛ばしたい時など、 redirectする際はreturnしないと後続処理に進んでしまうので注意しましょうという話。 Railsでも以下のようにreturnとredirect処理はセットだったので、よくよく考えればそう...(うっかりしがち) def sho…

FigmaのPDF書き出しで作成した名刺 or ショップカードを印刷会社に入稿する際の注意点

結論 縦型の名刺 or ショップカードを標準解像度の「350dpi」で作成する場合は、幅:841px x 高さ:1387px のフレームで作成すると良いです! さらにフチから3mmに相当する41pxを空白にしておくことで印刷ズレがなくなります。 ハマった落とし穴 「Figma 名…

JestのmockReturnValueOnceがmockreturnvalueonce is not a functionになってしまう場合の解決法

経緯 該当の関数を jest.mocked(useStore) のようにモックしているのに、戻り値をモックしようとすると mockreturnvalueonce is not a function のエラーが出てしまいました... 関数だけモックしてもモジュール全体をパス指定してモックしないとダメなことが…

npmスクリプト実行時にオプション渡す方法で地味にハマった件

結論 npmスクリプトの実行時にオプションを渡したい場合は、オプションの前に「--」とスペースを入れると動く! うまくいかない例 $ npm run test --coverage=false うまくいく例 $ npm run test -- --coverage=false

.node-version がないとnpmコマンドが反応しない?

概要 塩漬けになっていた古いVue.jsのプロジェクトをいじろうと思い、ローカルにcloneした時のこと... あれ? npm run start を打ってもターミナルが一向に反応しないぞ?... 他のプロジェクトで同じようにコマンドを打つとすぐローカルサーバーが立ち上がっ…

Elasticsearchのngram_analyzerを使った際の検索メカニズムを理解出来てなかったのでハマった話

経緯 現在関わっているサービスでユーザーから「商品のキーワード検索で想定以上の件数がヒットしてしまうので調べて欲しい」という問い合わせがありました。 問い合わせがあった箇所の検索にはElasticsearchを使っていたので、ユーザーからヒアリングした検…

郵便番号が同じで住所が異なるケースがあるの注意しよう

教訓 掲題の通り、1つの郵便番号に異なる住所が複数紐づいていることを知らずに実装してしまうというやらかしを発生させてしまったので自戒を込めてここにメモします📝 例) 郵便番号:0040000 2つ紐づいてる🙈 ... 北海道 札幌市厚別区 北海道 札幌市清田区 参考…

OSSにプルリクエストを送る際の注意点と備忘録

概要 oneshot_task_generatorというgemにプルリクエストを送りました github.com 本稿はその際についうっかりやらかした部分とどうすると良いのか?を自分なりにメモした記録になります。 oneshot_task_generatorについて その場限りのスクリプトをrakeタス…

gem内部のクラス名とアプリケーション内のクラス名が衝突した際の名前付けの教訓

経緯 とある機能の改修で連携先のシステムが公式に提供しているgemを使わねばならず、そのgemを追加したところ変なところでテストが落ちるようになりました そのgemを追加したことが原因であることは明白だったのですが、どこが悪さをしているかの全くわから…

ActiveHashのデータに対してSet型の値で検索を行う場合の注意点

検証環境 Rails 5.1.7 Ruby 2.5.7 結論 Set型の値をto_aで配列に戻してあげないと、配列として解釈してはくれない模様.. # 都道府県モデル class Prefecture < ActiveHash::Base field :name field :english add id: 1, name: 'ほげ県', english: "Hoge" <中…