KAKEHASHI Tech Blog

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

技術

RxJSと仲良くなる

こんにちは、株式会社カケハシでおくすり連絡帳 Pocket Musubiの開発を担当している渡辺です。 RxJS RxJSはリアクティブプログラミングのライブラリです。 リアクティブプログラミングって何かと言いますと、 データを受け取るたびに反応(リアクション)をす…

Figma からアイコンの画像を生成して GitHub の PR を作る Widget の作り方

はじめに こんにちは、Pocket Musubi エンジニアの関(@sekikazu01)と申します。 「あ〜アイコン大量に増えた時逐一画像を書き出して Icon コンポーネントに反映させるのめんどくせ〜〜〜」 そんな風に思った事はないでしょうか。私は思いました。 ので Figma…

Angular テストフレームワーク を jasmine/karma から Jest に移行しました

概要 薬局運営のデータ分析サービスである Musubi Insight のフロントエンド開発をしております米山と申します。 Musubi Insight のフロントエンドは Angular で開発されており、テストフレームワークには jasmine/karma を利用していました。 この度、jasmi…

Google + Cognitoでユーザーグループ単位の認証認可

こんにちは、あるいはこんばんは(アーニャ声)。 突然ですが認証認可周りの設計・実装は毎回全然違った要件に沿って違った感じでやっていく感じになるのでおもしろいですよね。 この記事では、先日Musubi Insightチームが社内向けに作成したコンソールの設計…

新規プロダクトにおけるFlutterのローコードツール利用とそのリファクタリング戦略

概要 こんにちは。PocketMusubiチームの南光です。 今回は、ローコードツールを利用してアプリを開発した際に工夫した内容を記事としてまとめました。 ローコードツールの開発知見記事はあまりみない気がするので、興味を持っている方やこれから利用を検討し…

カケハシをデータドリブンな組織に!全社横断的なデータ基盤を組成しました!

こんにちは、カケハシでデータ基盤チームの開発ディレクターをしている松田です。 2022年に、「カケハシはデータについて本気で取り組んでいくぞ!」と意気込み、 全社横断的な組織としてデータ基盤チームを組成しました。 今回はそのデータ基盤チームについ…

Presigned URLを利用したS3へのファイルアップロード

はじめに こんにちは、LINE上で動くおくすり連絡帳 Pocket Musubi というサービスを開発している種岡です。 社内システムからS3にファイルをアップロードする機能を開発することになり、Presigned URLを利用して開発を試みたものの、想定以上に時間がかかっ…

スマートホームで職場(自室)環境を改善してみた

こんにちは、カケハシでMusubi Insight のバックエンドエンジニアをしている高田です。 私はカケハシへの入社と同時に兵庫県移住し、現在フルリモートで勤務しています。 そのため自室=職場であり、より生産性が上がり、気持ちよく働けるよう環境を改善した…

Amazon CognitoでSingle Sign Onを実現してみた

KAKEHASHI の Musubi Insight チームでエンジニアをしている横田です。 KAKEHASHI では薬剤師さん向けに Musubi という業務システムや、BI ツールの Musubi Insight という Web アプリケーションなどを提供しています。 それらは toB のサービスなので 一般…

まったく新しい開発体験をもたらすServerless Stackとは何か

はじめに こんにちは、LINE上で動くおくすり連絡帳 Pocket Musubiというサービスを開発している種岡です。 この記事では、Serverless Stackとapollo-server-lambdaを使って、AWS Lambda上でApollo Serverを動かしてみたのでご紹介します。 対象読者 以下に興…

⚡今すぐ見直してほしい、2021年版Lambdaチェックリスト!開発者のためのポイント30選

AWS Lambdaを使えば開発者がビジネス価値に集中できる一方、それでも今までの開発と異なるポイントに気をつける必要があります。この記事では注意したい計30個のチェックポイントを紹介します。 まずは比較的簡単で効果が出やすい部分から見ていきましょう。…

ググれなかった時にやっていること

こんにちは、LINE上で動くおくすり連絡帳Pocket Musubiというサービスを開発している南光(@stnamco)です。 Qiitaのググって解決しづらかったこと Advent Calendar 2021向けに書いた記事です。 この記事では、ググれなかった時に個人的にやっている手法につい…

ETL処理がシンプルになる!AWS Glue 3.0で使えるようになったPySparkの関数紹介

KAKEHASHI の、Musubi Insight チームのエンジニアの横田です。 KAKEHASHI では BI ツールの Musubi Insight という Web アプリケーションを提供しています。 BI ツールでは薬剤師さんの業務データを可視化しておりますが、そのデータの集計処理には AWS Glu…

自分の学びをチームの学びに変えるPRレビュー活用術

こんにちは、LINE上で動くおくすり連絡帳Pocket Musubiというサービスを開発している南光(@stnamco)です。 この記事では、PRレビューを利用して自分の学びをチームの学びに繋げた取り組みについて紹介します。 背景 カケハシではDXCriteriaを利用した開発組…

【TypeScript】Yaml を読み込んで(無理やり)型付けする

こちらは株式会社カケハシ x TypeScriptアドベントカレンダー2021 20日目の記事です。 タイトルの通り、TypeScript ファイルに Yaml データを読み込んで型付けをする方法です。 TypeScript 環境のセットアップ まずは TypeScript 環境をつくります。 mkdir t…

私の開発環境2021冬⛄

処方箋情報基盤開発チームエンジニアの加藤です。 この記事は カケハシアドベントカレンダー2021 の18日目の記事になります。 まえがき 今年はとくにアウトプットの速度を求められる局面が多い年でした。 そのため、社内の仕事の速いエンジニア(速い人はビ…

AWSのSession ManagerとFargateを用いた踏み台サーバー構築のTips

こんにちは。カケハシの Musubi AI在庫管理 チームで業務委託のエンジニアとして開発を行っております山田です。こちらの記事は カケハシ Advent Calendar 2021 の17日目の記事になります。 本記事では、AWS Systems Manager Session ManagerとAWS Fargateで…

テスト用にtsconfig.jsonを分けてみた

「株式会社カケハシ x TypeScript Advent Calendar 2021」18日目の記事です。 https://qiita.com/advent-calendar/2021/kkhs-ts プラットフォームチームのエンジニアさだです。 私たちの環境ではテストコードもTypeScriptで書いていて、jest + ts-jestを利用…

サーバーサイドもバリデーションで楽しよう!

こんにちは プラットフォームチームの石黒です。 こちらは株式会社カケハシ x TypeScriptアドベントカレンダー2021 17日目の記事です。 今回はajvによるJSON Schemaを用いた入力値のバリデーションについてご紹介します。 ajvとは? APIなどから渡された入力…

【mabl】SaaSでテスト自動化!少人数のチームでリリース工数を半減させるまでの道のり

こんにちは、カケハシでMusubi Insightのバックエンドエンジニアをしている末松です。 こちらの記事はカケハシ Advent Calendar 2021の 14 日目の記事になります。 半年ほど前の話にはなりますが、Musubi Insight チームにおいてローコードテスト自動化の Sa…

まとまったデータを小分けにして一定間隔で順番に並列リクエストする with Typescript

こんにちは☃️ プラットフォームチームの石黒です。 こちらは株式会社カケハシ x TypeScriptアドベントカレンダー2021 13日目の記事です。 今回は、Typescriptでの直列リクエストと並列リクエストを組み合わせた実装についてお話しします。 要件 データの一括…

Amazon Connectの音声問い合わせをデバッグする

こんにちは、LINE上で動くおくすり連絡帳 Pocket Musubiというサービスを開発している南光(@stnamco)です。 この記事では、Amazon Connectの音声問い合わせを実運用していく過程で遭遇した問題とそのデバッグで得られた知見などを紹介します。 そもそもAmazo…

AI在庫管理の需要予測、発注レコメンド機能の技術スタックをご紹介

こんにちは、この秋リリースしたMusubi AI在庫管理の開発チームでデータサイエンティスト・エンジニアをしている保坂です。 こちらの記事はカケハシ Advent Calendar 2021の10日目の記事になります。 今日はAI在庫管理における需要予測・発注レコメンド機能…

【Blender】フロントエンドエンジニアが3Dモデリングに入門して、サービスアイコンをぴょんぴょこさせる

ご挨拶 こんにちは。カケハシで「Musubi Insight」のフロントエンド開発を行っている米山と申します! Musubi Insight 経営データを即座に見える化 この記事はカケハシアドベントカレンダー2021 の9日目の記事になります✨ 概要 最近よく耳にする Blender。入…

アカウント管理機能の技術スタックを紹介します💁‍♀️

こんにちは、プラットフォームチームの石黒です。あっという間に今年が終わりますね この記事は、カケハシアドベントカレンダー2021の6日目の記事です。 本日はアカウント管理機能というサービスで使用している技術スタックを紹介します! アカウント管理機…

採用したTerraformのディレクトリ構成について

こちらの記事はカケハシ Advent Calendar 2021の3日目の記事になります。 こんにちは。 この秋リリースしたMusubi AI在庫管理の開発を担当している平松です。 上記プロダクトのインフラ構成管理にTerraformを用いています。 今回は採用しているTerraformのデ…

StepFunctionsを使って大容量データを捌く🥳🎉🎉

すっかり秋めいてきましたね プラットフォームチームの石黒です。 我々プラットフォームチームでは、顧客向けのアカウント管理機能を提供しています。その中にはユーザーの新規登録機能もあるのですが、薬局の規模が大きくなるにつれ所属する薬剤師の数も増…

初のカケハシ主催技術イベント 'AI在庫管理(新規事業)の設計勘所' を開催しました!

2021-10-05(火)にカケハシ主催での初の勉強会イベント「AI在庫管理(新規事業)の設計勘所」を行いました。 本エントリーでは、当日ご参加いただいた方だけでなく、いらっしゃることのできなかった方にもご覧いただくために、各登壇者の発表資料をご紹介し…

サーバレスでクライアント認証を実現する

こんにちは。 BIツール等担当のチームでエンジニアをしている小室です。 先日新規プロダクトのPoC立ち上げの為の設計を行った際、クライアント証明書の検証方法に関して検討した内容をまとめて行きたいと思います! 弊社ではセンシティブな個人情報を取り扱…

Web NotificationとWeb Audioによる通知

こんにちは、株式会社カケハシでおくすり連絡帳 Pocket Musubiの開発を担当している渡辺です。 先日、Pocket Musubi で処方せん送信機能をリリースいたしました。 処方せん送信は手元の Pocket Musubi から処方せんの画像を撮影して事前にアップロードするこ…