KAKEHASHI Tech Blog

カケハシのEngineer Teamによるブログです。

AtCoder 第一回マスターズ選手権-予選- 参加記

こんにちは。カケハシでデータサイエンティストとして働いている川渕です。 2024年3月3日にAtCoderで開催された第一回マスターズ選手権-予選-にカケハシのメンバーと参加してきたので、決勝前に参加記を書いておきたいと思います。 なお、対象読者はAHC(Atco…

帽子を交換するふりかえり

こんにちは。ソフトウェアエンジニアの椎葉(@bufferings)です。最近実施したオリジナルのふりかえりがよかったので紹介します。 いつもはエンジニアリングマネージャの小田中さん(@dora_e_m)が、そのときのチームの状況に合わせたふりかえりの手法を用意…

手作業による運用ガイド

大前提: 手作業をやってはいけない 病院で薬を棚から取ることを考えてみましょう。作業自体は高校生でもできるような簡単なものですが、似た名前の薬を取り違えたら死人がでるかもしれません。 開発に比べて作業は単純と見られがちですが、障害が起きたとき…

Next.jsのApp Routerを利用してフロントエンド開発を効率化した話

カケハシでMusubi Insightの開発を行っている高田です。 以前、Angular のプロダクトを React(Next.js)にリプレイスしました!という記事を書きました。 本記事はその続きとなりますが、以前の記事はどちらかというとプロジェクト管理的な内容がメインだっ…

GitHub Actions に Python のパッケージインストーラー uv を導入する

こんにちは。 カケハシの Musubi AI在庫管理 チームにて業務委託のエンジニアをさせていただいております takanakahiko と申します。 今回はuvをGitHub Actionsに導入したらとても効果があったので、紹介することができればと思います。 uvとは uvとはPython…

fast-checkでProperty-based Testing導入してみた

QA

Musubi AI在庫管理のフロントエンドエンジニアの木本です。 Unitテストを書いていると、「この正常ケース/異常ケースの羅列で本当に品質を担保できているのか?」と不安になることがあります。そのとき有用な技術としてProperty-based Testingがあります。 T…

useContextについて調べてみた

こんにちは、株式会社カケハシでおくすり連絡帳 Pocket Musubiの開発を担当している渡辺です。 以前はMusubiをはじめ各種プロダクトのフロントエンド部分をAngularで書いていたのですが、最近はもっぱらReact/Next.jsを扱うことが増えました。 現在、Reactの…

チームで行っている輪読会の紹介

はじめに こんにちは。カケハシの牧野です。 私が所属するチームでは数カ月間にわたり「ソフトウェアアーキテクチャの基礎」という書籍の輪読会をしておりました。この記事では輪読会を実施した背景や、実施して良かったことなどを紹介いたします。 輪読会の…

イベント駆動処理をメンテナンスモードにするためにやったこと

はじめに こんにちは。AI在庫管理チームソフトウェアエンジニアの坂本です。 今回はこちらの記事で松本さんが紹介していたメンテナンスモードの中で、イベント駆動処理のメンテナンスモードを開発するためにやったことを少し詳しく紹介できればと思います。 …

安心してメンテナンスを行うためのメンテナンスモードの実現において考えたこと

こんにちは、カケハシでAI在庫管理のプロダクトのバックエンドエンジニアをしている松本です。 AI在庫管理でメンテナンスを行うための機能としてメンテナンスモードを開発しました。本エントリではメンテナンスモードを実現する際に考えたこと、気をつけたこ…

テーブル駆動方式が与える開発インパクト

コードを書くとき、テーブル駆動方式は過小評価されています。非常に強力なテクニックなので、事例とそのインパクトを説明します。 概略サンプル if age < 10: return price / 2 elif age < 20: return price / 3 elif age < 50: return price / 5 else: ret…

@apollo/clientの3.8.xへのアップデートに伴う挙動変更

はじめに AI在庫管理のフロントエンド開発をしている木本です。 先日、@apollo/clientのv3.7.17からv3.8.1へのアップデートに伴う大規模なデグレが発生しました。具体的には無限スクロールで情報を取ってくる画面で、一切情報が見られなくなってしまう状態と…

スポンサーとしてRSGT2024を盛り上げてきた

こんにちは、カケハシのVPoEの湯前(id:yunon_phys)です。2024年1月10日から12日まで開催されたRegional Scrum Gathering Tokyo(RSGT)2024に、カケハシはゴールドスポンサーとして初参加しました。本エントリはスポンサーとして参加に至った経緯と当日の様子…

GitHubを使わずDatabricksだけでお手軽にライブラリ共有やCIができる環境を作ってみた

こんにちは、株式会社カケハシのデータサイエンティストの保坂です。 データ分析をやっていると、典型的な処理、よく使う処理を再度使い回せるようにしたり、他のメンバーに共有したくなることはないでしょうか?さらにこのような処理を適宜みんなが自由に拡…

RSGT2024に参加してきました

カケハシがスポンサーブースを出すということで、Regional Scrum Gathering Tokyo 2024に現地参加する機会をいただきました。 今回は僕が参加にあたりスポンサーとして参加する自分の役割についての部分と、自分個人の目標や感じたことの両面を書いてみよう…

スクラムマスターはスクラムマスターを育成する

はじめに 私はカケハシでエンジニアリングマネージャーをしている伊豆本です。約5年スクラムマスターを経験しています。 カケハシにはスクラムマスターが複数いるので、この記事で記載するのはあくまで私の持論です。 スクラムマスターでよくある課題感 自身…

エンジニアリングマネジメントトライアングル再考

この記事はカケハシPart1 Advent Calendar 2023の12/25分の記事になります。 カケハシPart2 Advent Calendar 2023もありますので、ご興味あれば読んで頂けたら幸いです。 はじめに こんにちは。カケハシCTOの海老原です。カケハシでは2022年から明確にエンジ…

入社1ヶ月で組織変更を任されて中止した話

本エントリはカケハシ Advent Calendar 2023 Part 2の 25 日目の記事です。ぜひ Part1 と合わせて見て頂けたらと思います。 本日はMusubi AI在庫管理プロダクト開発チームでエンジニアリングマネージャーをしている僕が、開発ディレクターとして入社した当時…

アーキテクチャの進化はドメインイベントが起点になる

こちらの記事はカケハシ Advent Calendar 2023 Part2の24日目の記事になります。 adventar.org はじめに 反復的な開発は、変更容易性の高いソフトウェアが不可欠です。ソフトウェア開発の経験がある方なら、デリバリ後の洞察や市場環境の変化から、新しい機…

他職種の人とコミュニケーションを取る時に気をつけていること

こちらの記事は カケハシ Part 2 Advent Calendar 2023 の12月23日の記事になります。 カケハシ Part 1 Advent Calendar 2023もありますので興味のある方はそちらもお読みください。 はじめに こんにちは。10月の中日からカケハシでデータサイエンティストを…

Musubi Insightの1年間の振り返り:ダッシュボードと患者リストの開発紹介

カケハシPart1 Advent Calendar 2023の23日目の記事になります。 カケハシPart2 Advent Calendar 2023も読んでいただけたら嬉しいです。 はじめに 私はカケハシのMusubi Insightというサービスのエンジニアリングマネージャーをしている伊豆本です。 Musubi …

オフサイトミーティングでLLMのハッカソンをやってみた

MusubiInsight のダッシュボードチームでは、四半期に一回ぐらいのペースでオフサイトミーティングを行なっています。今期は、そのオフサイトミーティングで LLM(大規模言語モデル)のハッカソンを行いました。 OpenAI が ChatGPT を発表してから、チームの中…

All TypeScriptのMonorepoのlinterをESLintからbiomeにしたらlintが25倍速くなった🚀

フロントエンド(React.js TypeScript) バックエンド(Node.js TypeScript) インフラ(CDK TypeScript) の Monorepo の linter を ESLint からbiomeに変更したら lint が約50秒かかっていたのが大体2秒になって嬉しかったので共有します。 こんにちは、カケハシ…

RDS Snapshot Exportを利用してDatabricksにデータ連携を行う

こちらの記事はDatabricks Advent Calendar 2023の21日目の記事です。 こんにちは、カケハシのデータ基盤チームでデータエンジニアをしている伊藤と申します。 カケハシのプロダクト1ではRDS(Aurora MySQL/Aurora PostgreSQL)を利用しています。 全社的なデ…

FlutterでDatadog RUMを利用する

この記事は カケハシ Advent Calendar 2023 の20日目の投稿になります。 adventar.org はじめに こんにちは!カケハシでおくすり連絡帳 Pocket Musubi というサービスを開発している牧野です。 皆さんはモバイルアプリのモニタリングをしていますでしょうか…

データメッシュアーキテクチャの段階的な検討プロセスをご紹介します

この記事は カケハシ Advent Calendar 2023 の19日目の投稿になります。 adventar.org 東 浩稔(あずま ひろとし)と申します。 私は、カケハシでデータプロダクトのPdM(プロダクトマネージャー)を務めております。 2023年の7月に入社し、全社のデータ利活用…

良いプロダクトづくりに必要なこと

はじめまして。AI在庫管理の開発チームでバックエンドエンジニアをしている沖です。社内ではファーストネームで「たくおさん」と呼んでもらうことが多いです。まだ(もう?)入社して4か月ちょっとなのですが、もりもり開発ができていて楽しいです。 この記…

Airflow Zombie Task への対処法

こんにちは。AI 在庫管理チーム ソフトウェアエンジニアの坂本です。 今回は AI 在庫管理のバッチ処理で利用しているワークフローツール Airflow (MWAA) の Zombie Task に苦労したケースとその対処法について紹介しようと思います。 概要 Airflow で動かし…

横断データサイエンス組織になったので共通的な分析プロセス・ルールを整備し始めました

こちらの記事はカケハシ Advent Calendar 2023 Part2の17日目の記事になります。 はじめに こんにちは、株式会社カケハシのデータサイエンティストの保坂です。 2023年9月より、これまで2つに分かれていたデータサイエンス系メンバーの属するチームが合併し…

VUCAと共にあるプロダクトバックログ

はじめに こんにちは。カケハシでPatient Engagementという新規事業に関わるプロダクトマネジャー(以降PdM)を担当している渡部と申します。現在はこれらの事業を加速させるために、いわゆる0→1フェイズ、かつ、SoE(System of Engagement)の側面が強いプロ…