ブックマーク / qiita.com/kyntk (6)

  • 再exportの修正をしてバンドルサイズを約30%削減した - Qiita

    これは何 今回、webpackのツリーシェイキングが意図せずうまくできていなかった部分を発見し、修正をしました。それにより、バンドルサイズを約30%削減することができました。 (Parsed Size 約890KB->約610KB) 今回、再exportをする際の注意点について学びがあったので、どのような問題が起きていたのかを説明します。 どのような実装になっていたか 私達のプロジェクトでは、Feature-Sliced Designという設計を用いています。Feature-Sliced Designではレイヤーを分けて依存方向を制限します。 このFeature-Sliced Designには「Pulic API」というルールがあります。 これは各モジュールのエントリーポイントを制限することで、内部実装への依存を防ぎ、変更に強くする狙いがあります。 具体的には、以下のように公開する機能を再

    再exportの修正をしてバンドルサイズを約30%削減した - Qiita
    yug1224
    yug1224 2024/07/19
  • ユーザー体験と向き合う2年間で学んだこと - Qiita

    はじめに 2年前(2021年)にQiitaにて「CX向上グループ」という、ユーザー体験を良くすることをミッションとしたチームが発足しました。そこで私は、日々ユーザー体験と向き合いながら開発などをしてきました。 一旦2年間経ったので、今まで学んだことをまとめてみようと思いました。今回の内容が、ユーザー体験と向き合っている方々と共通するところが少しでもあれば嬉しいです。 組織をどういう狙いで立ち上げ、どのようなことをやっていたのかについては、以下の記事にまとめてあるのでご覧ください。 やっていたこと 「ユーザー体験を良くする」ことをミッションとして、やっていたことは大きく2つあります。 サイトのユーザー体験を良くするための開発 GitHub Discussionsやユーザーインタビューなどでユーザーの皆さまとのコミュニケーション 私たちにとっての「ユーザー体験」はサイト上にとどまらず、サイト外

    ユーザー体験と向き合う2年間で学んだこと - Qiita
    yug1224
    yug1224 2023/12/24
  • Lighthouse 11の変更をピックアップ! - Qiita

    2023年8月にリリースされたLighthouseのメジャーバージョン、11について内容を確認していきます。 Lighthouse 11ではAccessibilityのカテゴリーの追加、INPの計測に関する変更、Legacy navigationの削除などの変更がありました。 Chromeのdevtoolで試したい場合、Chrome 118で取り込まれる予定ですが、Chrome Canaryではすでに利用可能です。 Accessibility v10 → v11で、13のauditsが追加されました。 個人的にちゃんと見れていなかったのですが、マイナーバージョンアップで都度いくつか追加されていたようです。 aria-allowed-role aria-dialog-name aria-text html-xml-lang-mismatch image-redundant-alt input

    Lighthouse 11の変更をピックアップ! - Qiita
    yug1224
    yug1224 2023/09/01
  • Lighthouseのパフォーマンスのスコアは、計測するデバイスによって変わる! - Qiita

    Web Vitalsのスコアを計測するためにLighthouseを用いることがあると思うのですが、このスコアは実行するデバイスのCPUスペックによって変化するので注意が必要です。 一般的に、Lighthouseはリアルユーザー環境での計測と違い、計測ごとのスコアのブレが少ないという特徴があります。 ただし、計測ごとにスコアのブレが少ないものの、そもそものスコアの値は環境により異なります。 これは、Lighthouseで計測するときのスロットリング方法によるものです。 (リアルユーザー環境とラボ環境での計測の違いについてはこちらをご覧ください) Lighthouseで計測するときのスロットリング方法 Lighthouseでは、計測の際にスロットリングを行います。 例えば、Mobile Deviceを想定してLighthouseを実行する時に、NetworkスロットリングとCPUスロットリング

    Lighthouseのパフォーマンスのスコアは、計測するデバイスによって変わる! - Qiita
    yug1224
    yug1224 2023/01/21
  • @babel/preset-envは必要なプラグインをどう判定しているのか調査した - Qiita

    Qiita株式会社のカレンダーの2日目は @kyntk が担当します。 今年はIEのサポート終了がありましたね。 今まではIEのサポートをするためにJavaScriptCSSで使えない記法があったり、ポリフィルを入れていたりしていましたが、モダンブラウザだけを対応するようになるとこれらの設定が不要になりました。 ES2015以前の環境をサポートするために@babel/preset-envがよく使われます。 今回は、preset-envの設定を変更するにあたって、うっかりサポート対象環境で動かないバグを生んだり、逆にあまり無駄なコードを削れなかったりしないように、内部でどのような処理が行われているのか調べてみました。実際にbabelのソースコードを読みながらまとめています。 分かったこと はじめに結論ですが、Babelを使ってJavaScriptがどのように変換されるかを知るためにこのあた

    @babel/preset-envは必要なプラグインをどう判定しているのか調査した - Qiita
    yug1224
    yug1224 2022/12/02
  • エンジニアリングマネージャーになる前に知りたかった考え方 - Qiita

    Qiitaで期間限定開催中の、「エンジニアによるマネジメント」に関する記事を投稿するイベントへの参加記事です。 マネジメントを始めて悩んだこと 約1年前、アシスタントマネージャーという役職をいただき、エンジニアリングマネージャー(以下、EM)としての業務を開始しました。EMになると1on1やメンバーの目標設定、チームづくり、チームの代表として事業部リーダーズミーティングへの参加などの新しい業務をしながら、それまでのプレイヤーとしての業務も行い、目の前の業務をこなすのにいっぱいいっぱいでした。 そんな中で常に「自分がマネージャーとしてきちんとできているのかが分からない」という不安を持っていました。また、どんなスキルをつけて、どうなれたら正解なのかというイメージが見つからず悩んでいました。 ある時、先輩との1on1で、「(メンバーとの1on1やメンバーの育成を)どうしてそれをやるのか」と問われ

    エンジニアリングマネージャーになる前に知りたかった考え方 - Qiita
    yug1224
    yug1224 2021/06/16
  • 1