タグ

ブックマーク / zenn.dev/knowledgework (12)

  • Encraft #14 「技術発信文化の作り方」開催レポート

    株式会社ナレッジワークの エンジニアリクルーターTech PR 見習いの shuto です! 記事では2024年5月28日(火)に開催した勉強会 Encraft #14 技術発信文化の作り方 の開催レポートをお届けいたします! Encraftとは? Encraft(エンクラフト)は株式会社ナレッジワークが提供する、 "Enablement" と "Craftsmanship" をテーマにした勉強会です。技術にこだわりを持つ人々が集まって互いに知見を交換し、できることを増やしていく場を作りたいと思っています。 過去のイベントの開催レポートは以下からご覧ください。 過去のEncraft開催レポート オフラインで参加することが難しい方などに向けて、今回も YouTube での Live 配信も行いました。 動画アーカイブもありますので、ご視聴の際は感想をハッシュタグ #encraft で

    Encraft #14 「技術発信文化の作り方」開催レポート
  • バグの傾向Dashboardを作って皆で眺めた話

    ども。コヤマンです。2024年1月より株式会社ナレッジワークでQAエンジニアをしています。 記事ではjoinしてすぐ作ったバグ傾向Dashboardを使って社内イベントをしたお話を紹介します。 ※2024年4月23日に開催するEncraftという弊社のイベントでこのあたりのお話をします。 ナレッジワークの開発文化 品質へのこだわりが非常に高く、CTO自らが全社ミーティングで「品質が高いことはバフなんです。」と言い切るほど熱意を持っており、実際開発(Team Topologiesでいうところのストリームアラインドチームの各チーム)に1名以上のQAエンジニアを配置、さらにプラットフォームチームにも1名アサインをするほど、品質について高い意識を持っています。 そして私がjoinする前まで「バグ分析会」という名目でインシデントやバグの分析をする会が開催されておりました。 バグ分析会のリニュー

    バグの傾向Dashboardを作って皆で眺めた話
  • Storybook Test ruuner で安定した Visual Regression Testing を行う

    はじめに 株式会社ナレッジワーク Engineering Division のわだまる(@wadackel)です。 ナレッジワークの Web フロントエンド開発では、Storybook を活用したコンポーネント開発を行っています。そして、昨年末により良いコンポーネント開発の基盤整備を進めるべく @storybook/test-runner(以降 Storybook Test ruuner)を導入しました。導入目的としては主に、各 Story に対するスモークテスト、play 関数を活用したコンポーネントテストを行うことです。 さらに、ナレッジワークでは前述した通常のコンポーネントテストに加えて、reg-suit と storycap を利用した Visual Regression Testing(以降 VRT)を行っています。 これまでは Storybook を活用したテストは VRT の

    Storybook Test ruuner で安定した Visual Regression Testing を行う
  • フロントエンドのテスト基盤を Jest から Vitest に移行した話

    こんにちは。ナレッジワークの torii です。 7 月にフロントエンドエンジニアとして入社してもうすぐ半年、そろそろ技術記事の一つも書きたいなと思っていたところに、ちょうどいいネタを見つけたので投稿してみます! Jest から Vitest に移行してみた 早速やったことですが、フロントエンドのテストフレームワークを Jest から Vitest に移行しました。理由としては、Jest が CJS を前提として動作しており、ESM 前提のモジュールを動かすのに一手間も二手間もかかるからです。 ナレッジワークのフロントエンドNext.js を採用しており、テストフレームワークには Next.js と相性の良い Jest を採用していました。関数単位のテストや UI コンポーネントのテストを書く分には問題なかったのですが、それより上層(ページなど)になるとたちまち ESM 互換性の問題を

    フロントエンドのテスト基盤を Jest から Vitest に移行した話
  • Encraft #4「React/Next.js 最前線」開催レポート

    こんにちは、よしこです。 今回は、参加者が800人を超え大盛況となった Encraft #4 「React/Next.js 最前線」 の開催レポートをお届けします! Encraftとは? Encraft(エンクラフト)は 株式会社ナレッジワーク が提供する、 "Enablement" と "Craftsmanship" をテーマにした勉強会です。技術にこだわりを持つ人々が集まって互いに知見を交換し、できることを増やしていく場を作りたいと思っています。 過去のイベントの開催レポートは以下からご覧ください。 Encraft #1 「フロントエンド × 設計」 開催レポート Encraft #2 「サーバーとクラインアントを結ぶ技術」 開催レポート Encraft #3 「エンジニアイネーブルメント - 共有・育成・評価・効率化 -」 開催レポート それではさっそく今回のセッション資料と動画アー

    Encraft #4「React/Next.js 最前線」開催レポート
  • Encraft #2「サーバーとクラインアントを結ぶ技術」開催レポート

    2023/04/25 に開催したオフライン勉強会「Encraft #2」をレポートします。 私は、このイベントに受け付け兼写真撮影のスタッフとして参加しました。 Encraft とは、"Enablement" と "Craftsmanship" をテーマにした勉強会です。「Encraft とは?」にこのイベントについての熱い想いを書いているので、ぜひご覧ください。 また、セッションの感想をハッシュタグ #encraft でつぶやいていただけると嬉しいです。 なお、この勉強会は株式会社ナレッジワークが提供します。 テーマ 前回の #1 のテーマは、「フロントエンド × 設計」でした。 今回の #2 のテーマは、「サーバーとクラインアントを結ぶ技術」です。 昨今のウェブアプリケーションは、サーバーサイドとクライアントサイドで実装を分けて開発を行うことが多くなっています。サーバーサイドとクライア

    Encraft #2「サーバーとクラインアントを結ぶ技術」開催レポート
  • Result型とESLintでエラーハンドリング漏れを検出する

    こんにちは、よしこです。 この記事では、わたしの所属する株式会社ナレッジワークで最近コードベースに取り入れた「エラーハンドリング漏れ防止の仕組み」について紹介します。 背景 「通信を伴うアクションに失敗しても画面にエラーフィードバックが表示されない」という実装漏れをしてしまったことがあり、今後こういうことが起きないように仕組みで防止したいと思いました。 「忘れてしまった」という問題なので、テストで担保するのも難しいように思いました。実装するのを忘れてしまっているということは、テストを書くこともセットで忘れてしまっているはずだからです。 「気をつける」「チェックリストを作る」のような人間が注意する方向ではなく、「嫌でも気付く」「忘れていたらCIが通らない」のように、必要なハンドリングを強制する形にできないか?と思いました。 課題 実行時に通信エラーが起きる可能性があり、ユーザーフィードバック

    Result型とESLintでエラーハンドリング漏れを検出する
  • Encraft #1「フロントエンド × 設計」開催レポート

    こんにちは、よしこです。 今回は、弊社ナレッジワークで初の開催となったオフライン勉強会「Encraft #1」のイベントレポートをお届けします! Encraftとは? Encraft(エンクラフト)は株式会社ナレッジワークが提供する、 "Enablement" と "Craftsmanship" をテーマにした勉強会です。技術にこだわりを持つ人々が集まって互いに知見を交換し、できることを増やしていく場を作りたいと思っています。 “Enablement” はナレッジワークの事業内容、”Craftsmanship” はナレッジワークのStyle(行動指針)から持ってきています。Encraft、造語ですがなかなか良い語感ではないでしょうか? 今回は#1としてシリーズ初の開催となりましたが、20名の参加枠に対して100名以上の応募がある盛況ぶりとなりました!ご応募いただいた皆様、ありがとうございま

    Encraft #1「フロントエンド × 設計」開催レポート
  • 「3種類」で管理するReactのState戦略

    こんにちは、よしこです。 この記事は 2020年に立ち上げたWebフロントエンド構成の振り返り の「Stateのアーキテクチャ」項の詳細記事です。単体でも読めますが、よければ元記事もあわせてどうぞ! この記事では、今わたしが開発・運用しているアプリケーションのState戦略についてご紹介していきます。 全体像 アプリケーションに存在する状態(State)を以下の3種類に分類し、それぞれのやり方で管理しています。 サーバーデータのキャッシュ Global State Local State 1. サーバーデータのキャッシュ 「SPAで管理する必要のあるGlobal Stateって、そのうちほとんどがサーバーデータのキャッシュだよね。それを取り除けたら、管理する必要のあるGlobal Stateってすごく小さくなるんじゃない?」という主張を私が認識しはじめたのが2020年の初旬でした。おそらく

    「3種類」で管理するReactのState戦略
  • SPA Componentの推しディレクトリ構成について語る

    こんにちは、よしこです。 この記事は 2020年に立ち上げたWebフロントエンド構成の振り返り の「Componentのディレクトリ構成」項の詳細記事です。単体でも読めますが、よければ元記事もあわせてどうぞ! この記事では、今わたしが 株式会社ナレッジワーク というスタートアップで開発・運用しているプロジェクトにおいてうまくいっていると感じているComponentのディレクトリ構成についてご紹介していきます。 ディレクトリ構成 Componentは src/components の中にまとめていて、その下に以下の4種類の分類ディレクトリを切っています。 src/components/page src/components/model src/components/ui src/components/functional 分類ディレクトリを考えるにあたって重視したポイントは以下。 新しくco

    SPA Componentの推しディレクトリ構成について語る
  • React+TSプロジェクトで便利だったLint/Format設定紹介

    こんにちは、よしこです。 この記事は 2020年に立ち上げたWebフロントエンド構成の振り返り の「linter/formatter」項の詳細記事です。単体でも読めますが、よければ元記事もあわせてどうぞ! この記事では、今わたしが 株式会社ナレッジワーク というスタートアップで開発・運用しているプロジェクトにおいて便利だったLint/Format関連の設定についてご紹介していきます。 使っているのは、TSのlintのためにESLint, CSSlintのためにStylelint, 主なファイルのformatのためにPrettierです。 ESLint pluginsとextendsだけどんなもの入れてるか載せておきます。 "plugins": [ "strict-dependencies", // 後述 "unused-imports", // 後述 ], "extends": [ "a

    React+TSプロジェクトで便利だったLint/Format設定紹介
  • 2020年に立ち上げたWebフロントエンド構成の振り返り

    こんにちは、よしこです。 株式会社ナレッジワーク というスタートアップで、2020年4月の創業時から一人目のフロントエンドエンジニアをしています。 初期に考えて組み上げたスタックで1年半ほど開発・運用してみて、なかなか快適に日々開発ができているので 新規開発のプロダクト立ち上げ時にどのようにフロントエンドを構築したのか? 立ち上げから1年以上開発・運用を続けてきた今、それらの選択はどうだったのか? を記事にして振り返り、公開したいなと思いました。 (プロダクトの内容はステルスで進めていてあまり対外的な発信ができないので、かわりに技術的なところはどんどんオープンにしていきたいなという気持ちがあります) いろいろな項目ごとに振り返りたいので、この記事は各項目を横断するindexとして項目ごとの概要を簡単に説明し、深堀りは項目ごとに追って詳細な記事を書いていく予定です! 前提 プロダクトとしての

    2020年に立ち上げたWebフロントエンド構成の振り返り
  • 1