ミツカリ技術ブログ

株式会社ミツカリの開発チームのブログです

マーケティング出身のジュニアエンジニアが教える、Webエンジニアなら抑えておきたいデザインの4原則: ①近接編

はじめに デザインとは? デザインの4原則とは? デザインの4原則① 「近接」 「近接」を使った事例と注意点 最後に はじめに こんにちは!ミツカリでジュニアエンジニアをしています。tt(髙橋)です。 この記事ではWebエンジニアなら抑えておきたい「デザイ…

GithubActionsに標準搭載されていない複雑な実行トリガーを表現する

ミツカリのたなしゅん(@tanashun_dev)です。 GithubActions、皆さん使っていますでしょうか? Pull request(PR)をトリガーにテストを実行したり、プッシュをトリガーにデプロイを実行したりしますね。 ほとんどの場面ではPRが作られたとき、プッシュされた…

Playwright Component Testを用いた単体テストでJestで書けなかったテストを実現する

ミツカリのたなしゅん(@tanashun_dev)です。 弊社で提供しているサービスの一部のアクションでドラッグアンドドロップで画面上の要素の並び替えをする機能があります。 この実装にはdnd-kitというライブラリを使っています。 dndkit.com ライブラリのおかげ…

時系列DBに入門しつつ、パフォーマンスを計測してみる(InfluxDB v2 vs PostgreSQL v15)

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 ITシステムにおけるデータベース(DB)には様々な種類が存在します。一般的によく使われるのはリレーショナルデータベース(RDB, RDBMS)であり、PostgreSQLやMySQLが有名です。これらとは別の種…

Sentryのエラーをアーカイブするときの考え方(エラーバジェット)

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 今回はエラーモニタリング(エラートラッキング)サービスであるSentryの扱い方についての記事です。 Sentryとは Sentryとはエラーモニタリングサービスであり、アプリケーション上で発生した…

DevOpsDays Tokyo 2025 に初参加した感想

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 先日DevOpsDays Tokyo 2025というカンファレンスに参加しました。今回の記事はその感想レポートです。 DevOpsDays 詳細は以下のページを御覧ください。 www.devopsdaystokyo.org 過去に何度…

Bedrock AgentのDraft, Version, Aliasの構造とTerraform管理の難しさ

AWS

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 先日弊社は生成AIをプロダクトに組み込んだとある機能をリリースしました。 ミツカリもAIエージェントに!!AIアシスタント機能がリリースされました。早速使っていただき面接の動機づけや面…

ReactHookFormのuseFieldArrayを使った動的フィールドでの不具合解決

はじめに ミツカリのたなしゅん(@tanashun_dev)です。 ReactHookForm、皆さん使っておりますでしょうか。 React開発においてかなりメジャーなFormライブラリですね。 ミツカリでも採用しています。 ReactHookFormにはuseFieldArrayという動的に入力項目を増…

ChromaticのFlaky testへの対応、一部の文字(Font)差分問題解決

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 ミツカリ開発部ではVisual Regression Testing(VRT)を行っています。VRTを実現するためのSaaSにChromaticというものがあり、これを利用しています。 Chromaticを使うとUI変更の差分を画像で…

【全部解けるかな?】TypeScript型クイズ

はじめに 今回はちょっとした面白企画です。 クイズ形式でTypeScriptの型への理解度をチェックしてみましょう! クイズ 以下クイズです。問題がコードで書かれています。 答えはアコーディオンで閉じていますので開いて確認してください。 なお、以下で書か…

AWS認定DOP取得と苦戦した製品など

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 最近AWS資格のDOP(AWS Certified DevOps Engineer - Professional)を取得しました。 www.credly.com 今回はその話をしようと思います。 執筆者のバックグラウンド 修士卒 6年間の情報工学、…

YJIT3.4を導入してパフォーマンスの変化を測る

はじめまして。ミツカリでエンジニア(ミドルくらい)をやっていますawagakubo(粟ヶ窪)といいます。 今回は弊社のバックエンド環境で採用しているRubyでYJITを有効化してパフォーマンスの向上を図った記録です。 背景 YJITについて やったこと 変化を確認 CP…

ミツカリにおける昔の開発生産性計測と今後(Findy Team+導入)

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 ミツカリでは2025年からFindy Team+というSaaSを利用しています。 このサービスはgitリポジトリ、GitHubを分析し統計情報から様々な情報を可視化、組織の開発生産性向上を行うようなサービス…

Slack Workflow Builder使った年休申請やリリース通知の例

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 突然ですが、みなさんはSlackのWorkflow(Builder)機能を使っていますか? slack.com 何らかの申請や処理フローなどをSlack上で構築できる機能です。マネージドとしてデフォルトで用意されて…

OpenAIのWhisperを用いてSlackのhuddleの議事録をリアルタイムで取る試み

こんにちは。ミツカリのたなしゅんです。 ミツカリはフルリモート環境のため、Slack上でのテキストコミュニケーションが基本です。 もちろん、さっと集まって話した方が早く済むこともありますし、リアルタイムでのディスカッションでしか得られない経験もあ…

生成AI PRレビュー pr-agentからCodeRabbitへの乗り換え

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 ミツカリではAIを積極活用して開発効率や生産性を高めようと日々改善をしています。今回は生成AIコードレビューツールに関する話をしようと思います。 コードレビューツールおよび歴史 2022…

外部ライブラリを使う際の選定基準

はじめに こんにちは、ミツカリのたなしゅんです。 皆さんはプログラミングの際に3rdPartyなライブラリを導入していますでしょうか? ミツカリではお客様へ価値を届けるまでのスピードを早めるため、積極的にライブラリは使わせていただいています。 ミツカ…

30代半ばのジュニアエンジニアが読んだ書籍レビュー(IT技術編)

はじめに 書籍レビュー 『イラスト図解式 この一冊で全部わかるWeb技術の基本』 / NRIネットコム株式会社 (著), 小林 恭平 (著), 坂本 陽 (著), 佐々木 拓郎 (監修) / 2017/3/16 概要 おすすめ度 学べたこと・良かった点 微妙だった点 『図解即戦力 Amazon W…

Rails(puma)アプリケーションのパフォーマンスチューニング

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 ミツカリはtoB向けのWebアプリケーションです。そのため、複数のユーザーが同時利用しますが、リクエスト数はtoCサービスやWeb広告、メディア、その他のtoB向けアプリケーションよりは非常に…

Next.jsのプロジェクト(コード)を2つに分割して苦労した話

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 ミツカリでは創業した2015年からRuby on Railsを使ってきましたが、近年ではRailsはRestful API(Backend)として位置づけており、FrontendにはNext.jsを利用しています。 創業時から2022年頃…

30代半ばのジュニアエンジニアが読んだ書籍レビュー(仕事への取り組み方編)

はじめに 自己紹介 ざっくりキャリア なぜエンジニアに? 書籍レビュー 『リーダブルコード』 / Dustin Boswell (著), Trevor Foucher (著), 須藤 功平 (解説) / 2012/6/23 概要 おすすめ度 学べたこと・良かった点 微妙だった点 『コードが動かないので帰れ…

Can't find variable: gmo の対応

はじめに こんにちは。ミツカリのたなしゅんです。 ミツカリではサービスのエラー検知にSentryを利用しています。 Sentryから以下のエラーがページごとに通知されることがありました。 Can't find variable: gmo 本記事ではこのエラーについての解説と、Sent…

ミツカリ社におけるDatadog SyntheticによるE2Eテストの取り組み(運用編)

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 以下の前回の記事ではDatadog Syntheticを選定する過程の話を主に扱いました。 tech-blog.mitsucari.com 今回の記事では、より具体的な運用の話をしていきたいと思います。 テストケース設計…

ミツカリ社におけるDatadog SyntheticによるE2Eテストの取り組み(検討編)

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 ミツカリではDeveloper Experienceに拘っており、日々改善を行っています。CIの一環として単体テスト、インテグレーションテストを行っていますが、2022年ごろからE2Eテストも行っています。…

RailsのRspecでN+1をエラー扱いにするまでの戦い

はじめに こんにちは。ミツカリエンジニアのたなしゅんです。 Backendアプリケーションにおいて、N+1問題というのは基本のキでありながらパフォーマンス影響の大きい重要な問題です。 弊社ではBackendのAPIサーバにRuby on Railsを採用しています。 本記事で…

Feature FlagのSaaSを使うか、OpenFeatureベースでセルフホスティングするか

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 Feature Flagという仕組みおよびテクニックがあるのですが、弊社ではこれを用いて開発を行っています。 この記事では Feature Flag自体の説明 Feature FlagのSaaSであるLaunchDarklyの説明 F…

入社4ヶ月でPJ進捗を大幅改善した話

はじめに はじめまして。『ミツカリ』でエンジニアリングマネージャーをしている『たなしゅん』です。現在、弊社には副業の業務委託含めて12名のエンジニアが在籍しており、私は自分以外に5名をメンバとして持つチームを運営しています。 私はミツカリに2024…

技術ブログサービスの選定とミツカリ社の技術ブログ開設

こんにちは、ミツカリCTOの塚本こと、つかびー(@tsukaby0) です。 私は現在ミツカリでCTOを務めています。CTOは2024年4月からで、ミツカリ自体は2018年から在籍しています。だいぶ古株になってきました。 2025年よりミツカリでは技術ブログを開設することに…