TECH PLAY

株式会社カケハシ

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

394

こちらの記事は カケハシ Advent Calendar 2023 の3日目の記事になります。 こんにちは、カケハシで Musubi AI在庫管理 の開発をしているMLエンジニアの藤本です。 Musubi AI在庫管理 ではS3に出力している内容に関する分析用テーブルの管理にAWS Glue Crawlerを利用しています。 今回は、分析用テーブルを管理する際のAWS Glue Crawlerの使い方と注意点について紹介できればと思います。 Musubi AI在庫管理でのAWS Glue Crawlerの利用方法 Musubi AI在庫管理(以下、AI在庫)では適切な在庫管理を行う為、以下の予…
はじめに テックブログは技術広報において強力なツールです。その一方テックブログを始めてみたものの、なかなか記事を書いてくれる人がいなかったりView数も伸びなかったりで、続けることができないことがあります。 そのためテックブログの更新頻度が下がることで読者の減少や印象の低下することを懸念し、ちゃんと運用できないならやらない方がいいという判断になっているという話も見聞きします。 幸いカケハシのテックブログは立ち上げてから2年間継続して運用することができており、採用活動の場でもテックブログ経由で応募してくれる人も出てくるなど、自社を認知してもらうきっかけになっています。 この記事ではテックブログを…
こんにちは。 AI在庫管理というプロダクトでフロントエンドの開発を担当している大村です。 AI在庫管理開発チームでは、顧客に素早く価値を提供するためにフロー効率を重視した開発を行っています。 本記事では、なぜフロー効率を高めようとしているのかと、どのような取り組みによってフロー効率を高めているかについて紹介します。 リソース効率とフロー効率 生産性の効率の考え方として「リソース効率」と「フロー効率」があります。 複数人の開発者がチームでソフトウェアを開発するシーンを想定し、リソース効率とフロー効率それぞれを重視した場合の仕事の流れを単純なモデルとして表現してみました。(ここでは仕事の1つ1つを…
はじめに こちらの記事は カケハシ Advent Calendar 2023 の 2日目の記事になります。 https://adventar.org/calendars/8587 こんにちは。患者リストというサービスを開発している金です。 患者リストチームは1年以上Github Projectを使っていました。 メリットもありましたがチーム内ではデメリットの方を多く感じて、結局JIRAに移行することになりました。 JIRAに移行してからは弱3ヶ月ほど経ちました。 この記事では スクラム開発をしている患者リストチームがGithub ProjectからJIRAに移行を決めた背景と、 その変更によっ…
Musubi AI在庫管理の機械学習エンジニアをやっている中野です。 こちらの記事は カケハシ Advent Calendar 2023 の1日目の記事になります。 昨年はprophetについて書きましたが今年は勾配ブースティングにしました。 医薬品や食料品、アパレルなどの需要予測において平均値ではなく95%点や99%点を要求されるケースがままあります。 例えばコンビニおにぎりの在庫管理において需要予測の平均値だけ発注していれば2回に1回程度は欠品してしまうでしょう。こういった場合に予測の95%点を発注すれば欠品をおよそ20回に1回へと低減できます。 GBDTでもこのような確率点を返す予測が可…
はじめに こんにちは!ソフトウェアエンジニアの種岡です。 私たちのチームでは、TypeScriptを使用して開発を行っており、Prettierというコードフォーマッターを利用し、チーム内でコーディングスタイル統一に大変重宝しています。 そんなフォーマッター界隈で、Rust製で爆速で動作すると噂のdprintが良いということで試してみたところ、驚くべきことが起きました! Prettierでは、コードフォーマッティングに 7.69秒 かかっていたのですが dprintを使うことでわずか 0.47秒 で完了するようになりました🚀🚀🚀 なんと、 10倍以上速い とういう結果に! コードフォーマットは、…
こんにちは、カケハシで Musubi 開発チームのバックエンドエンジニアをしている関です。 Musubi 開発では、 Python の Linter と Formatter に Flake8、isort、Black を使用しておりました。しかし Rust で書かれた Ruff という高性能なツールが出たということで、置き換えてみたら爆速になった(15倍以上速くなった)ので、Ruff について記事を書かせていただきます。 今回は Ruff を導入した経緯や実運用に至るまでの工程を紹介したいと思いますので、最後まで読んでいただけると嬉しいです。 Ruffとは Ruff は、2022年8月にリリース…
PyCon APAC 2023 に参加された皆様、お疲れ様でした!今回のPyConにはカケハシもプラチナスポンサーという形で参加させていただき、国内外のたくさんの方々と交流することができました!ブースに足を運んでくださった方、カケハシのセッションに参加してくださった方、ありがとうございました! セッションやセミナーに関するレポートは他の方が書いてくださっているので、ここではカケハシが PyCon APAC 2023 に参加するにあたってのロジ周りをレポートさせていただきます。 kakehashi-dev.hatenablog.com kakehashi-dev.hatenablog.com k…
PyConをエンジニア目線でレポート 弊社はPyConでプラチナスポンサーとしても参加させて頂いていますが、今回の記事はエンジニア目線で参加してきたPyConをレポートしようと思います! PyConに関係する記事として以下のような記事を公開しています。合わせて読んでみてください。 カケハシのTechBlogからPythonの記事をいくつかピックアップしたまとめ記事 kakehashi-dev.hatenablog.com PyCon登壇した弊社の横田さんの登壇内容の詳しい記事 kakehashi-dev.hatenablog.com そして、カケハシがスポンサーブースを出す中での苦労と感動の記…
PyConAPAC 2023 で登壇してきました 株式会社カケハシのバックエンドエンジニアの横田です。 二日目(10/28(土))の LT 会で「Python でスナップショットテスト」というタイトルで登壇してきました。 PyCon には二日目の途中から参加し、登壇までは主にスポンサーブースを周り、様々な企業様のお話を伺っておりました。 スポンサーブースでは名前を聞いたことのある企業様から失礼ながら初めて聞く企業様まで、様々な企業様がブースを出展されており、事業の内容やどういったところで Python を活用されているのかなど話を聞くことができて、とても楽しかったです。 Python は AP…
こちらの記事はDatabricks Advent Calendar 2023の8日目の記事です。 こんにちは、カケハシのデータ基盤チームでデータエンジニアをしている伊藤と申します。 カケハシでは全社的なデータ活用基盤のプラットフォームとしてDatabricksを採用し、運用して1年以上経過しました。 我々のチームではバッチ/ストリーム処理のDatabricks Workflowを50個以上作成し、分析用データとして社内提供をしております。 ワークフローのデプロイに関しては、Databricks CLIとGitHub Actionsを組み合わせて自前で実装していましたが以下に挙げた課題を感じてお…
はじめに カケハシで BI ツールを開発している横田です。 AWS のリソース、いつの間にか増えていませんか? 今回は、ChatGPT を使って AWS のリソースを簡単に可視化することができたので、紹介したいと思います。 今回の課題と工夫したこと 我々のチームでは、半期に一回大掃除会を開催しています。 今回は、我々が管理している AWS Glue の job のうち使っていないものを削除することにしました。 使っていないリソースを調べるには AWS のコンソールを開いて一つ一つ確認する必要がありますが、これは非常に手間がかかります。 そこで、ChatGPT に Python スクリプトを書か…
プラチナスポンサーとして参加します! 我々株式会社カケハシは、2023年10月26日(木)から10月29日(日)にTOC有明コンベンションホールで開催される PyCon APAC 2023 に、プラチナスポンサーとして参加することとなりました! 2023-apac.pycon.jp 当日はカケハシブースにて皆様のご来場をお待ちしております!皆さんと一緒にイベントを盛り上げていきたいと思います! PyCon APAC 2023 PyCon APAC は、アジア太平洋地域のPythonコミュニティが集まる国際的なカンファレンスです。第一回のシンガポール開催以降、毎年様々な国で開催されており、今年は…
カケハシでVP of Engineeringをやっています、ゆのん(id:yunon_phys)です。僕はEngineering Manager(EM)とは何かについて、かれこれ5年ぐらいEM.FMというPodcastや、ブログを通じていろんな発信をしてきました。そうすると色んな質問を各所から受けるわけなんですが、一番聞かれる質問第一位は、「結局EMって何する人なんですか?」 です。一口にEMって言っても、なんか人によって得意な領域が違っていたり、大事だと思うポイントがバラバラなので、この疑問を持つのはそりゃそうだよなあ、とは思います。というわけで、このエントリーではEMは何する人なのかを明ら…
はじめに こんにちは。カケハシの各プロダクトを支えるプラットフォームシステムの開発チームでテックリードを担当しているkosui(@kosui_me)です。 プロダクト開発の世界では、明瞭な社内向けドキュメントを書くための方法が数多く提案されてきました。読者の中には、製品要求を明瞭にするためにPRD (Product Requirements Document、製品要求仕様書) を書き、プロジェクトの背景から全体の設計やその代案について明瞭にするためにDesign Docsを書き、アーキテクチャに関する意思決定の記録を明瞭にするためにADR(Architecture Decision Recor…
2023年9月5日にfukabori.fmでiwashiさん とカケハシCTOの海老原 が、創業期からのエンジニア組織づくり、帰属意識の高め方、医療ドメインの難しさ・技術選定などについて語りました。 視聴された方からは… 『カケハシ社の回を聞いた、めっちゃ考えられてて良い話だった!開発チームごとにコードネーム的な物がある話はエモいけど好き。医療ドメインって聞くと複雑そうで未経験で貢献できるのか気になったけれど後半にその話も出てきてよかった。』 『なんか強いこと言った後に、ちゃんとできたかわからんけど‥って自信なくすところがリアルで良かった。』 『めちゃくちゃ学び多しでした。最近意識して取り組ん…
2023年9月25日、和田卓人さん(t-wadaさん)をお招きし社内講演会を開催しました。 和田 卓人さん / プログラマー、テスト駆動開発者 学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒。執筆活動や講演、ハンズオンイベントなどを通じてテスト駆動開発を広めようと努力している。 『プログラマが知るべき97のこと』(オライリージャパン、2010)監修。『SQLアンチパターン』(オライリージャパン、2013)監訳。『テスト駆動開発』(オーム社、2017)翻訳。『事業をエンジニアリングする技術者たち』(ラムダノート、2022)編者。テストライブラリ「power-assert-js…
ライブラリのバージョンアップはセキュリティを担保する上で重要で、大変な作業です。 その作業を省力化してくれる Renovate をカケハシでは 2020 年から導入しています。 そんな Renovate の対応状況を可視化し、セキュアな状態を保てているかを確認しました。 Renovate とは Renovate は依存パッケージのアップデートを半自動化してくれる Github App です。 https://www.mend.io/renovate/www.mend.io 以下の機能で開発者のライブラリアップデート作業を助けてくれます。 アップデートがないかチェック リリースノートをまとめてプ…
SOCIとは? SOCI(Seekable OCI)はAWSが開発しているコンテナイメージの遅延読み込みのための仕組みです。コンテナイメージには起動時には使わないデータも多く含まれています。遅延読み込みによって、起動時には最小限のデータのみ読み込んで起動時間を短縮することを目的としています。コンテナ起動時の遅延読み込み自体は以前から存在しており、有名なものにestargzがあります。estargzはコンテナイメージの中に遅延読み込みのためのインデックスを保存しますが、SOCIはインデックスをOCI Artifactsとしてレジストリに保存します。このため、既存のイメージに手を入れる必要がないと…
こんにちは。最近暑すぎて毎日息子とかき氷を食べまくっている(一週間でシロップ使い果たして妻にドン引きされてる)カケハシでスクラムマスターやっている窪内です。 みなさんRetrospective(振り返り)やってます? 私が所属するチームでは、頻繁に振り返りを行う文化があります。 スプリント終わり プロジェクトローンチ後 障害発生後 その他、必要に応じて都度実施 そもそも振り返りってなんのためにやるのでしょうか? 今回はスプリントの文脈で考えてみたいと思います。 今スプリント設定したチームの目標(スプリントゴール)に対してどうだったか? 達成したならば、なぜ達成できたのか? 未達だったならば、な…