株式会社カケハシ の技術ブログ

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

こんにちは。カケハシでデータサイエンティストとして働いている川渕です。 2024年3月3日にAtCoderで開催された 第一回マスターズ選手権-予選- にカケハシのメンバーと参加してきたので、決勝前に参加記を書いておきたいと思います。 なお、対象読者はAHC(Atcoder Heuristic Contest)参加者とするので、細かい内容については説明を省かせて頂くことをお許しください。 チーム結

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

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

手作業による運用ガイド

大前提: 手作業をやってはいけない 病院で薬を棚から取ることを考えてみましょう。作業自体は高校生でもできるような簡単なものですが、似た名前の薬を取り違えたら死人がでるかもしれません。 開発に比べて作業は単純と見られがちですが、障害が起きたときの影響は同等、またはそれ以上です。今の段階では一見うまく回っていても、いつ爆発するかはランダムで

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

カケハシで Musubi Insight の開発を行っている高田です。 以前、 Angular のプロダクトを React(Next.js)にリプレイスしました! という記事を書きました。 本記事はその続きとなりますが、以前の記事はどちらかというとプロジェクト管理的な内容がメインだったので、今回は技術面を紹介できればと思います! App Router の導入 今回の移行プロジェクトで技術選定を開始した

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

こんにちは。 カケハシの Musubi AI在庫管理 チームにて業務委託のエンジニアをさせていただいております takanakahiko と申します。 今回はuvをGitHub Actionsに導入したらとても効果があったので、紹介することができればと思います。 uvとは uvとはPythonのパッケージインストーラー・リゾルバーです。 その最大の特徴はRust言語で開発されており、従来のツールの100倍の速度で

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

Musubi AI在庫管理のフロントエンドエンジニアの木本です。 Unitテストを書いていると、「この正常ケース/異常ケースの羅列で本当に品質を担保できているのか?」と不安になることがあります。そのとき有用な技術としてProperty-based Testingがあります。 TypeScriptでの代表的なProperty-based Testingフレームワークであるfast-checkを導入してみたところ、その結果として実装に不具合

useContextについて調べてみた

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

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

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

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

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

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

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

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

コードを書くとき、テーブル駆動方式は過小評価されています。非常に強力なテクニックなので、事例とそのインパクトを説明します。 概略サンプル if age < 10 : return price / 2 elif age < 20 : return price / 3 elif age < 50 : return price / 5 else : return price / 100 ↓ age_table = [ [ 10 , 1.0 / 2 ], [ 20 , 1.0 / 3 ], # 小数点扱い注意 [ 50 , 1.0 / 5 ], [ float ( 'inf' ), 1.0 / 100 ] #番兵パターン ] for target in ag

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

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

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

こんにちは、カケハシのVPoEの湯前( id:yunon_phys )です。2024年1月10日から12日まで開催されたRegional Scrum Gathering Tokyo(RSGT)2024に、カケハシはゴールドスポンサーとして初参加しました。本エントリはスポンサーとして参加に至った経緯と当日の様子を書きます。 スポンサードはコミュニティへの還元のため カケハシはこれまでほぼ全てのプロダクト開発にスクラムを導入し、

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

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

RSGT2024に参加してきました

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