KAKEHASHI Tech Blog

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

異分野の知見を活かす、DevOpsの実践: Learning from Other Fields

冒険。ロマン。船はその文明、文化における最新技術の結晶と水中(船舶)考古学は伝えます。今の時代ならば宇宙分野もそうかもしれませんね。昨年2021年の12月、ジェイムズ・ウェッブ宇宙望遠鏡が打ち上げられています。望遠鏡に代表される新しい「観測手段」…

DevOps Days Tokyo 2022に参加しました

こんにちは。ソフトウェアエンジニアの南光です。 2022年4月21~22日に開催されたDevOps Days Tokyo 2022 に、スポンサーとしてイベント参加してきました。今回の記事では、イベントの概要や参加した感想などを皆様へお届けしたいと思います。 イベントに参加…

DynamoDBからS3へApache Hudiを使って同期してみた

KAKEHASHI でバックエンドエンジニアをしている横田です。 今回は、OLTP から OLAP へのデータ同期処理で、気になった技術を使ってみました。 背景・目的 DynamoDB のデータを S3 に日次で同期する必要がありました プロダクトで作っているデータをどうやっ…

🚒 今の組織でもすぐできる、障害訓練ガイド

誰にだって作戦がある。最初にパンチを食らうまでは。 ヘビー級ボクサーとして名を馳せた、マイク・タイソン氏の言葉です。 障害における計画やマニュアルがあっても実際にできるか、衝撃を受けてもうまく動けるかどうかは試してみないとわかりません。さす…

【Angular】@angular/common の DOCUMENT を利用して、window.document を依存注入する

概要 Angular での開発において、DOM 操作などのために window.document を参照することはあるかと思います。 @angular/common には、DOCUMENT という DI Token が用意されています。こちらを利用することで、依存注入経由で document を参照することができ…

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

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

なぜバックエンドTypeScriptか?技術選定背景と実践例を紹介します

カケハシの医薬品発注管理最適化領域の新規事業の開発を担当している木村です。今回は新しいサービスを構築する上で行った技術選定と実践方法の話をします。 技術選定に関しては、インフラ関連やライブラリなど選定した技術は多岐にわたるのですが、その中で…

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

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

どのような考えで社内ローンチチェックリストを作成したか

作成した背景 カケハシでは新規プロダクトや大掛かりな改修に対し、Well Architected Frameworkに基づいたレビューを行っています。一方、フレームワークは汎用的に記載されており、特にAWSや非機能要件に慣れていないメンバーには各項目の具体的な内容がイ…

Storybook Addon Contexts を使って、ワンランク上のコンポーネントカタログを作ろう

概要 コンポーネントのカタログを作成することができる storybook。利用している開発者は多いのではないでしょうか? この記事では、Storybook Addon Contexts を利用して、storybook 環境をちょっと便利にする方法を書きます。 Storybook Addon Contexts と…

カケハシのフロントエンドエンジニアとしてのスキルアップ

こんにちは、株式会社カケハシでおくすり連絡帳 Pocket Musubiの開発を担当している渡辺です。 カケハシのエンジニアはフロントエンドもバックエンドのAPIサーバーも開発を担当しています。どちらかといえばフロントエンドの方が知識・経験ともに自信がある…

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での直列リクエストと並列リクエストを組み合わせた実装についてお話しします。 要件 データの一括…

データ構造を踏まえてIDを設計しよう

前置き こちらの記事はカケハシ Advent Calendar 2021の12日目の記事になります。 新規事業の開発を担当している木村です。 本来であれば新規事業で利用している技術を紹介したいのですが、まだリリースに至っていないので汎用的なテーマになっております。 …

フルリモートワークで雑談を6ヶ月続けて感じた雑談の重要性

こんにちは、Musubi開発チームで開発ディレクターを担当している門垣です。 この記事はカケハシアドベントカレンダー2021の11日目の記事になります。 カケハシではコロナ前からリモートワーク環境が整っており、私の所属するMusubi開発チームは全員がフルリ…

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

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

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

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

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

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

スクラムチームと組織学習について考えてみる

カケハシで開発ディレクター/スクラムマスターをやっている三浦です。 この記事では、スクラムのプラクティスを通じてより優れたチーム・組織を作っていくためにはスクラムだけでは不十分であり、その効果をさらに引き出すための工夫を組織学習の側面からど…