弁護士ドットコム株式会社 Creators’ blog

弁護士ドットコムがエンジニア・デザイナーのサービス開発事例やデザイン活動を発信する公式ブログです。

フロントエンド

MockServiceWorker(MSW) を使った高速開発のための運用事例

クラウドサイン事業本部の田邉(𝕏@s_tanabe_)です。 フロントエンドの開発に携わっているみなさんは、バックエンドや BFF(Backends For Frontends) の開発を待たずにフロントエンドの開発に取りかかりたいと考えたことはありませんか? これが実現できると フ…

ボタンをaタグで作るな高校校歌

まずはこちらをお聞きください。 技術的解説: ボタンを a 要素で作るな a 要素は URL などへのリンクをつくるためのもので、button 要素はなんらかの処理を起動するボタンをつくるためのものです。 配置されるものがリンクなら a 要素で実装し、ボタンなら b…

Vue 3.5 の新機能・改善点まとめ

クラウドサインのフロントエンドエンジニアの辻@t0daaayです。 2024 年 9 月 1 日に Vue 3.5 のリリースが発表されました。 https://blog.vuejs.org/posts/vue-3-5 このブログでは、このリリースノートを読みリリースされた内容を実際に動かしてみたり、さら…

なぜボタンは button 要素で作るべきなのか、div 要素をボタンにすることを通して考える

この記事を読むとわかること なぜボタンを button 要素で作るべきなのか、その理由 どーーーーーしてもボタンを別の要素で作らなければいけないとき、何をすればいいか 答え button 要素を使ったときに得られる標準動作を捨ててまで得られるメリットがないか…

Go HTML Template のエスケープの挙動に気をつけよう

TL; DR Go HTML Template では、渡した文字列がデフォルトでエスケープされますが、Typed Strings を渡すとエスケープされません そこにユーザーが自由に指定できる値を設定すると、XSS 脆弱性につながる恐れがあります Revel の関数の中には、引数に渡した…

Axios における request method の引数の型定義を調査した話

はじめに この記事は 弁護士ドットコム Advent Calendar 2023 の 23 日目の記事です。 前日は @komtaki さんの「型パズルを理解しTypeScript中級者になる8のポイント」でした。 こんにちは、クラウドサイン事業本部の篠田(@tttttt_621_s)です。 普段はクラ…

型パズルを理解しTypeScript中級者になる8のポイント

この記事は、弁護士ドットコム株式会社の Advent Calendar 2023 の 22 日目の記事です。 前日は @et_tei さんの「FireHOL で公開されているブラックリストからの接続 Akamai でブロックする」でした。 こんにちは。税理士ドットコム事業部の @komtaki です。…

Optimistic Update に触れてみる

この記事は弁護士ドットコム Advent Calendar 2023の 19 日目の記事です。 前日は @michimani さんの「Azure App Configuration を使って機能の利用可否を自動で切り替える」でした。 クラウドサインのフロントエンドエンジニアの山田です。 普段の業務では…

Go html/templateで書くHTMLメールのハマりどころと対処法

この記事は弁護士ドットコム Advent Calendar 2023の 8 日目の記事です。 前日は @RA621H さんの「はじめての転職と今後の展望」でした。 クラウドサインのフロントエンドエンジニアの @RINYU_DRVO です。 今回は、Go html/template で書く HTML メールのハ…