CastingONE Tech Blogのフィード

https://zenn.dev/p/castingone_dev

CastingONE Tech Blogの投稿一覧

フィード

記事のアイキャッチ画像
CastingONE開発振り返り2024
CastingONE Tech Blogのフィード
はじめにこんにちは、CastingONE岡崎です。2024年は会社としてもプロダクトとしても難しい意思決定が多い1年でしたが、今年の開発チームの1年を振り返ってみようと思います。 プロダクトCastingONEは非正規雇用の採用を行う企業向けのSaaSプロダクトです。非正規雇用の採用担当者が手間なく人材を採用できる世界を目指しており、現在特に力を入れているのが派遣会社の採用担当者が過去の派遣スタッフや応募者の中から効率よく掘り起こし応募を獲得するための機能群です。プロダクトとして今年も多くの意思決定をしてきましたが、その中でも1つ特に大きなものとして「ATS(採用管理)機...
2日前
記事のアイキャッチ画像
最強のドッグフーディング「代行作業」で、機能が「使える状態」になかったことに気づいた話
はてなブックマークアイコン 1
CastingONE Tech Blogのフィード
はじめにこんにちは!株式会社CastingONEでHR領域のSaaSのPdM兼エンジニアをやっている@hiroakiです。今回のお話はドッグフーディング。ドッグフーディングとは、自社プロダクトを自分たちで使ってみることで、ユーザー視点で改善点や課題を見つけ出す取り組みのことをいいます。しかし、単に「使ってみる」だけでは見えてこない部分も多いもの。本当にユーザーの視点に立つって想像以上に難しいものですよね。今回社内のPdMで実施した「代行作業」、これは想像以上にユーザー視点でドッグフーディングできるものでした。この記事では、代行作業をやることになった背景や、その取り組みを通じて得ら...
3日前
記事のアイキャッチ画像
集計テーブルの設計で「◯◯しておいて良かった😄」と「◯◯しておけば良かった😢」点を振り返る
はてなブックマークアイコン 1
CastingONE Tech Blogのフィード
はじめに株式会社CastingONEでバックエンドエンジニアをしている村上です。弊社では派遣会社向けのCRMを開発しており、求職者の情報を管理したり、メールやLINEで求人の紹介ができる配信機能を提供しています。先日、この配信機能の効果を測る「アナリティクス」という機能を追加することになり、それに必要な集計テーブルを設計しました。今回は、そのときのことを振り返って「◯◯しておいて良かった」と「◯◯しておけば良かった」点をまとめます。 作った機能の概要一例として、アナリティクスでは下記のようなことを分析できます。何人に求人紹介のメールを配信したか何人がそのメールを開...
6日前
記事のアイキャッチ画像
CodecovのSelf Hosted版を(物凄く苦労して)セットアップしました
CastingONE Tech Blogのフィード
こんにちは、バックエンドエンジニアの永田です。以前、コードカバレッジの可視化ツールであるCodecov を導入した話を投稿しましたが、今回は有料版ではなく Self Hosted 版(OSS 版)をセットアップした話をしようと思います。インフラ基盤として Google Cloud を使用し、terraform で管理しています。情報が非常に少なく物凄く苦労したので、誰かの参考になれば幸いです。コンソール画面が表示されカバレッジレポートが正常に処理されていることを確認できた時、今年一番脳汁が出ました。機能開発と並行していたため、作業には 1 ヶ月以上かかりました... インフ...
1ヶ月前
記事のアイキャッチ画像
Goで書かれたプロジェクトの混沌としたエラーハンドリングを改善した話
CastingONE Tech Blogのフィード
こんにちは、バックエンドエンジニアの永田です。今回は、Go で書かれている CastingONE のバックエンドの、エラーハンドリングの改善に取り組んだ話しをします。非推奨のパッケージを使っていたり、エラーにスタックトレースがついていないことがあるなど、元々混沌とした状況でした。同じような状況を抱えているプロジェクトもあるかと思うので、何らか参考になれば幸いです。 Beforeエラーにスタックトレースをつけるためのパッケージとして github.com/pkg/errors と golang.org/x/xerrors の二つが導入されており、混在している。しかも両方現在は非...
1ヶ月前
記事のアイキャッチ画像
バックエンドエンジニアがフロントエンドに挑戦して得た学び
CastingONE Tech Blogのフィード
株式会社CastingONEの清水です。自分は元々バックエンドとしてやっていたのですが、去年の12月頃からフロントエンドをやり始めてからもうすぐ1年が経ちます。バックエンドエンジニアがフロントエンドを1年弱やっていく過程で起こったこと、役立ったことをまとめてみました。 各時期における経験と学び 1. React・TypeScriptについて何もわからない時期この時期の特徴できることフロントは何もない課題React・TypeScriptについて何もわからない効果的だった取り組み一般的なReact・TypeScriptの入門記事などを読んで基本的な...
2ヶ月前
記事のアイキャッチ画像
Nginx内でLaunchDarklyのフラグを使って、アプリケーションのメンテナンスモードを切り分ける
CastingONE Tech Blogのフィード
お疲れ様です!株式会社 CastingONEで働いているフロントエンドエンジニアの岡本です。今回はNginx内でFeature FlagのLaunchDarklyを使って、アプリケーションのメンテナンスモードを切り分ける方法について書いていきます! はじめに弊社のフロントのアプリケーションはNetlifyにデプロイされており、今までのメンテナンスモードの切り分けは、NetlifyのSplit Testingの機能を活用し、メンテナンスブランチの比率を100%にすることで実現していました。通常時メンテナンス時ただ、この方法のメンテナンスモードの切り分...
2ヶ月前
記事のアイキャッチ画像
reg-suitでpushイベントとpull_requestイベントそれぞれでVRTレポートを出すとどちらかしか出力されなくなる問題の対応
CastingONE Tech Blogのフィード
こんにちは!CastingONEの大沼です。 始めに以前弊社ではstorycap + reg-suitでVRTを行っていることを紹介しました。https://zenn.dev/castingone_dev/articles/2f3bfe9712c621基本的には問題なく動いていますが、qaブランチに修正PRを出す際にdevブランチのコードでVRTされているような挙動がおきました。弊社ではQA期間中に修正を行う時は、以下のgitグラフのようにqaブランチからqafix用のブランチを作ってqaブランチへマージし、devブランチにも取り込みます。この運用で、具体的には 009 のマー...
2ヶ月前
記事のアイキャッチ画像
SSRFとはなんぞや
CastingONE Tech Blogのフィード
はじめに2024年8月12日に、Webアプリケーション開発でよく使用されるHTTPクライアントライブラリ「axios」に脆弱性が発見されました。(NVDの報告詳細)[https://nvd.nist.gov/vuln/detail/CVE-2024-39338#range-13199434]この脆弱性(CVE-2024-39338)は、Server-Side Request Forgery(SSRF)と呼ばれる攻撃を可能にするものでした。NVDによれば、この脆弱性は1.3.2以降から1.7.4(修正対応版)まで続いているとされ、結構長い間気づかれずにいたということになります。...
2ヶ月前
記事のアイキャッチ画像
Testing Libraryの祖、Kent C.Doddsさんのブログ読書会を社内でやってみた
CastingONE Tech Blogのフィード
お疲れ様です!株式会社 CastingONEで働いているフロントエンドエンジニアの岡本です!今回は、社内で実施したTesting Libraryの生みの親であるKent C.Doddsさんのテストに関するブログの読書会についてのお話を書いていきます! はじめに弊社のフロントエンドチームは、以前はテストに対する意識がそれほど高くなく、下記の記事が出たころはあまりテストを書けていない状況でした。https://zenn.dev/castingone_dev/articles/e0e8c9becd0a3cその後、徐々にテストの重要性が社内で認識されるようになり、最近ではテストを書く...
2ヶ月前
記事のアイキャッチ画像
Vitest UI を使いコンポーネントテストのテスト動作を視覚的に確認できるかを試してみた
CastingONE Tech Blogのフィード
1. はじめにPlaywright編で調べていた時に、Vitestでも同じようにUIでテスト周りを確認できる機能があったため、追調査として今回はVitest UIを調べてみました。 前回、Playwrightで調べた背景をおさらい近年、フロントエンド開発においてコンポーネントテストの重要性が高まっています。私が携わっているプロダクトでも以前より、フロントエンドの単体テストおよび統合テストを導入しており、私も作成したフロントのコードに対してテストを実装していました。しかし、コンポーネントテストや単体テストを書いていく中で、いくつかの個人的な課題に直面しました。特に大きな...
2ヶ月前
記事のアイキャッチ画像
顧客からのリクエスト回収運用を見直した話
CastingONE Tech Blogのフィード
はじめにこんにちは、プロダクト戦略部の船島です。弊社ではこの夏、顧客のリクエスト回収とその後の backlog 反映までの社内運用の見直しを行いました。今回はその取り組みと結果どのような変化があったかを紹介します。 背景と課題感 背景背景としては大きく 2 点あります。1 点目は運用面です。従来は Google フォームにて営業/CS 担当が気が付いたことや顧客からお伺いできた情報を回収していましたがhttps://zenn.dev/castingone_dev/articles/202406_pbi_notionもあり、連動性の観点から PdM としては Noti...
2ヶ月前
記事のアイキャッチ画像
Playwright UI mode を使いコンポーネントテストのテスト動作を視覚的に確認できるかを試してみた
CastingONE Tech Blogのフィード
1. はじめに近年、フロントエンド開発においてコンポーネントテストの重要性が高まっています。私が携わっているプロダクトでも以前より、フロントエンドの単体テストおよび統合テストを導入しており、私も作成したフロントのコードに対してテストを実装していました。しかし、コンポーネントテストや単体テストを書いていく中で、いくつかの個人的な課題に直面しました。特に大きな問題となったのは、テストの動作を視覚的に確認できないことによる不安です。具体的にはプロダクトでテストを記述している中で問題がありました。テストコードで対象の要素が取得できず、テストを実行できない場合がある要素は取得で...
3ヶ月前
記事のアイキャッチ画像
jest-fail-on-consoleを使って、テスト実行時のconsole.error/warnを撲滅した話
CastingONE Tech Blogのフィード
お疲れ様です!株式会社 CastingONEで働いているフロントエンドエンジニアの岡本です。今回は、テスト実行時に出力されるconsole.errorやconsole.warnを撲滅するために、npmパッケージjest-fail-on-consoleを導入した話を書きます。 はじめに弊社のアプリケーションのフロントはjestとtesting-libraryを使ってテストを書いています。jestはテスト実行結果のログが大変見やすく、FAILしたテストの詳細も表示されるので、テストを書いているときには非常に助かります。ですが、テスト実行時にconsole.errorやconsole...
3ヶ月前
記事のアイキャッチ画像
Goで、10分で30万回APIリクエストをし結果を元に30万件のデータを更新する
CastingONE Tech Blogのフィード
こんにちは、バックエンドエンジニアの永田です。本日は表題のような大量の API リクエストを伴うバッチ処理を Go 言語で実装したお話をしようと思います。 バッチの概要CastingONE は主に派遣会社(以降テナントと呼称します)に使っていただいている SaaS なのですが、テナントが LINE 公式アカウントを運用している場合があります。今回のバッチはテナントが抱えている各求職者について、「テナントの LINE 公式アカウントと友達であるかどうか(= LINE 友達ステータス)」の情報を毎日更新するためのものになります。求職者が CastingONE の求職者向けサイト ...
3ヶ月前
記事のアイキャッチ画像
Test data sourcesを利用してLaunchDarklyの振る舞いを制御する
CastingONE Tech Blogのフィード
はじめにこんにちは。CastingONEでバックエンドを担当してるHamoroと申します。弊社はFeatureFlagの運用基盤としてLaunchDarklyを導入しておりますが、FeatureFlagの評価値によってアプリケーションの振る舞いが期待通りになっているかをテストしたいと思い、良い感じに実装することができないかを調べてみました。その中で、LaunchDarklyのテスト用SDKで提供されているTest data sourcesを利用すると良さそうだったため今回は簡単にやり方をまとめました。 FeatureFlagとLaunchDarklyFeatureFlagは...
3ヶ月前
記事のアイキャッチ画像
Reactグラフライブラリの検証の備忘録(MUI X Charts, Recharts, Victory)
CastingONE Tech Blogのフィード
こんにちは!最近会社で開発している機能について、「グラフ化したらめちゃくちゃユーザーさん見やすくなりそうだな」と思いまして、React のグラフライブラリについて調べてみました。この記事では、React グラフライブラリの代表格である Rechart、Victory、MUI X Charts の 3 つを比較検証したその特徴をご紹介しつつ、全体的に気づいたことも揃えてつらつらと書いてみました。同じようにグラフライブラリを比較検討されている方や、これから利用し始める方にとって、少しでも役に立つ記事になれば嬉しいです。 検証準備検証に入る前に、いくつか基本的なところについて残してお...
3ヶ月前
記事のアイキャッチ画像
OpenTelemetry Collectorを使ってDatadogにカスタムメトリクスを送信する
CastingONE Tech Blogのフィード
はじめに株式会社CastingONEでソフトウェアエンジニアをしている @takashabe です。普段はHR領域のSaaSをGoで書いています。弊社ではモニタリング基盤としてDatadogを採用しており、インフラやアプリケーションのメトリクスを収集しています。また特定のSLIを設定するためにカスタムメトリクスをDatadogに送信することがあります。従来はアプリケーション内で直接Datadog APIを叩いてカスタムメトリクスを送信していましたが、それをOpenTelemetry Collectorを使って送信するように変更しようとしています。このエントリでは、OpenT...
4ヶ月前
記事のアイキャッチ画像
GITHUB_TOKENを使ってPR上に複数のVRTレポートをコメントするreg-suitプラグインを作った
CastingONE Tech Blogのフィード
こんにちは!CastingONEの大沼です。 始めに以前弊社ではstorycap + reg-suitでVRTを行っていることを紹介しました。https://zenn.dev/castingone_dev/articles/2f3bfe9712c621この時複数のStorybookのVRTレポートを一つのPR上にコメントすることが既存のプラグイン(reg-notify-github-plugin)では実現することができず自前で作っておりました。しかしreg-suitはプラグインで動かしていく仕組みが用意されているのでプラグインとして作った方が良いのでは?と思い、プラグインとし...
5ヶ月前
記事のアイキャッチ画像
コードレビュー観点表を作った話
CastingONE Tech Blogのフィード
はじめに今回は、コードレビュー観点表を作った話について少し書かせていただきます。社内ではGitHubを用いてコードレビューを行っていて、バックエンドの開発においては、コーディングガイドラインも策定しています。しかし開発において、ガイドラインに書かれている事項が全てではないため、コードレビューを行う際のポイントが自分の中で綺麗に整理しきれていませんでした。また、ガイドラインの重要なポイントを十分に把握できず、効果的なコードレビューができていない現状がありました。これを改善するために、コードレビューの観点表を作成したことで、コードレビューの質が上がった話についてお話ししようと思い...
5ヶ月前