TECH PLAY

株式会社カケハシ

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

367

概要 こんにちは。PocketMusubiチームの南光です。 今回は、ローコードツールを利用してアプリを開発した際に工夫した内容を記事としてまとめました。 ローコードツールの開発知見記事はあまりみない気がするので、興味を持っている方やこれから利用を検討している方の参考になれば幸いです。 ローコードツールとは ローコードツールの定義が曖昧な方も少なくないのではと思うので、一応wikiの抜粋を記載しておきます。 ローコード開発プラットフォーム (英: low-code development platform, LCDP) (ローコード(英: LowCode)とも言う)は、従来の手書きのコンピュー…
アバター
こんにちは、カケハシでデータ基盤チームの開発ディレクターをしている松田です。 2022年に、「カケハシはデータについて本気で取り組んでいくぞ!」と意気込み、 全社横断的な組織としてデータ基盤チームを組成しました。 今回はそのデータ基盤チームについてと今後の取り組む重点的課題について紹介して、 本気度を感じてもらえればと思っています。 全社横断的なデータ基盤チームfumidonoの誕生 今までのデータ基盤チームは、Musubi Insightを開発するプロダクトチームと同じチームに属しており、Musubi Insightにデータ提供をすることがメイン業務でした。その傍らで全社的なデータ利活用の支…
アバター
冒険。ロマン。船はその文明、文化における最新技術の結晶と水中(船舶)考古学は伝えます。今の時代ならば宇宙分野もそうかもしれませんね。昨年2021年の12月、ジェイムズ・ウェッブ宇宙望遠鏡が打ち上げられています。望遠鏡に代表される新しい「観測手段」が新しい発見を導くことは常に期待されていますし、機械部品が少ないだけ故障の心配も少ない面も興味深いところです。 そんな宇宙分野から学ぶことは多く、例えば医学界新聞では宇宙分野に学ぶチーム作りという記事を出しています。 翻ってみると日本のIT業界はどこまで異分野の知見を活かしているでしょうか。IT業界は成熟しつつある一方、話題がIT業界内で完結しがちで異…
アバター
こんにちは。ソフトウェアエンジニアの南光です。 2022年4月21~22日に開催されたDevOps Days Tokyo 2022 に、スポンサーとしてイベント参加してきました。今回の記事では、イベントの概要や参加した感想などを皆様へお届けしたいと思います。 イベントに参加した背景 昨年からこのテックブログを含め、ソフトウェアエンジニアの方にもっとカケハシという会社を知ってもらうための活動を続けてきました。 DevOps Days Tokyoにもそういった活動の一環でスポンサー協賛しました。 ここら辺の想いは下記の記事の中で熱く語られているので、お時間ある方はぜひ読んでみてください。 「Dev…
アバター
KAKEHASHI でバックエンドエンジニアをしている横田です。 今回は、OLTP から OLAP へのデータ同期処理で、気になった技術を使ってみました。 背景・目的 DynamoDB のデータを S3 に日次で同期する必要がありました プロダクトで作っているデータをどうやって データレイク(S3) に持って来るのか?は難しい問題です データ量がそこまで多くない場合は、DynamoDB Exportを使って、毎日全量のデータを同期することができていたのですが、毎日全量の同期は時間が間に合わない量になってきたため差分更新の仕組みを作る必要が出てきました AWS Glue Elastic View…
アバター
誰にだって作戦がある。最初にパンチを食らうまでは。 ヘビー級ボクサーとして名を馳せた、マイク・タイソン氏の言葉です。 障害における計画やマニュアルがあっても実際にできるか、衝撃を受けてもうまく動けるかどうかは試してみないとわかりません。さすがにパンチは辛いので、水かけぐらいで定期的に検証してみるのがカケハシにおける障害訓練です。 何を目的にするか 主目的としては障害対応フローの検証と学習と改善です。障害対応は数が少ないこともあり、記憶は急速に忘却され、6ヶ月もすれば対応方法を忘れてしまいます。定期的に訓練することで意識することなく行動できるよう、いわゆる宣言的知識を手続き的知識に変換するととも…
アバター
概要 Angular での開発において、DOM 操作などのために window.document を参照することはあるかと思います。 @angular/common には、DOCUMENT という DI Token が用意されています。こちらを利用することで、依存注入経由で document を参照することができますし、またテストも書きやすくなります。 ※ この記事を執筆してる時点での Angular の最新バージョンは v13.1.2 になります。 サンプルコード 以下、 DOCUMENT 経由で querySelector を利用するような Service クラスのサンプルコードです。 i…
アバター
はじめに こんにちは、LINE上で動くおくすり連絡帳 Pocket Musubi というサービスを開発している種岡です。 社内システムからS3にファイルをアップロードする機能を開発することになり、Presigned URLを利用して開発を試みたものの、想定以上に時間がかかってしまいました。 S3の設定からバックエンド、フロントエンドと一気通貫での情報がまとまっていないことが課題として浮かんできたので、備忘録として残しておくことにしました。 ゴール クライアント側(Angular)のフォームで選択したファイルをS3にアップロードできること S3にアップロードする際は Presigned URL …
アバター
カケハシの医薬品発注管理最適化領域の新規事業の開発を担当している木村です。今回は新しいサービスを構築する上で行った技術選定と実践方法の話をします。 技術選定に関しては、インフラ関連やライブラリなど選定した技術は多岐にわたるのですが、その中でも「なぜバックエンドでTypeScriptを導入したか」を中心にお話します。2つのチームでの技術選定に関わり、どちらもTypeScriptを導入するに至りました。2022/03時点では社内の5つのサービスでバックエンドTypeScriptが採用されていることを観測しています。 実践方法に関しては、技術選定の過程で明らかになったシステム特性に対するアプローチを…
アバター
こんにちは、カケハシでMusubi Insight のバックエンドエンジニアをしている高田です。 私はカケハシへの入社と同時に兵庫県移住し、現在フルリモートで勤務しています。 そのため自室=職場であり、より生産性が上がり、気持ちよく働けるよう環境を改善したいと前々から考えていました。 そこで、冬休み使って職場(自室)の環境改善を行なったので、その内容をご紹介できればと思います。 解決したい課題 とくに冬場になり、仕事開始時の室温が低く、集中し始めるまでに時間がかかるという点を課題に感じていました。 実際に快適な室温を保つことで、タイピングミスが減ったり、一定時間内のタイプ量が増えるなど、生産性…
アバター
作成した背景 カケハシでは新規プロダクトや大掛かりな改修に対し、Well Architected Frameworkに基づいたレビューを行っています。一方、フレームワークは汎用的に記載されており、特にAWSや非機能要件に慣れていないメンバーには各項目の具体的な内容がイメージしづらい側面があります。そこで、開発メンバーにとってより使いやすいよう、カケハシで利用している技術に応じて各項目を具体化しました。 特徴 280項目を採用 カケハシで採用している技術やプロセスをもとにWell Architected Frameworkの5本の柱とその質問を具体化した結果、280項目となりました。設問数に圧倒…
アバター
概要 コンポーネントのカタログを作成することができる storybook。利用している開発者は多いのではないでしょうか? この記事では、Storybook Addon Contexts を利用して、storybook 環境をちょっと便利にする方法を書きます。 Storybook Addon Contexts とは Storybook Addon Contexts とは、storybook に対してコンテキストを注入する機能を提供します。コンテキストとはつまり、ロケールのような、コンポーネントよりも上位の状態のことです。 例えばアプリケーションが多言語対応しているような場合。念のため、コンポーネ…
アバター
KAKEHASHI の Musubi Insight チームでエンジニアをしている横田です。 KAKEHASHI では薬剤師さん向けに Musubi という業務システムや、BI ツールの Musubi Insight という Web アプリケーションなどを提供しています。 それらは toB のサービスなので 一般的な Web サービスとの ID フェデレーションなどを利用することが難しく、Amazon Cognito によって共通の認証情報でのログインを実現しているのですが、サービスごとに毎回認証情報を入力する必要があるという課題がありました。 一度認証情報を入力すれば複数のサービスでログイン…
アバター
はじめに こんにちは、LINE上で動くおくすり連絡帳 Pocket Musubiというサービスを開発している種岡です。 この記事では、Serverless Stackとapollo-server-lambdaを使って、AWS Lambda上でApollo Serverを動かしてみたのでご紹介します。 対象読者 以下に興味がある方は読んで頂ければ幸いです。 CDKのラッパーであるServerless Stackについて AWS Lambda上でApollo GraphQLサーバーの起動について とくに、Serveless StackのLive Lambda Development機能がオススメで…
アバター
AWS Lambdaを使えば開発者がビジネス価値に集中できる一方、それでも今までの開発と異なるポイントに気をつける必要があります。この記事では注意したい計30個のチェックポイントを紹介します。 まずは比較的簡単で効果が出やすい部分から見ていきましょう。 🚀時間がないあなたに!すぐできるポイント10選 レビューしていてよく出てくる、比較的修正しやすい事項です。 (1) メモリサイズを設定する LambdaはメモリサイズによってCPU含めたリソースパワーが決まり、1792MBで1CPUちょうどとされています。利用言語やマルチスレッド処理の状況に合わせ増減させましょう。 デフォルトはCloudFor…
アバター
こんにちは、LINE上で動くおくすり連絡帳Pocket Musubiというサービスを開発している南光(@stnamco)です。 Qiitaのググって解決しづらかったこと Advent Calendar 2021向けに書いた記事です。 この記事では、ググれなかった時に個人的にやっている手法について紹介します。 ググれない状態とは 手法を紹介する前に、前提の課題感を合わせるために自分がググれなかった時がどういう時なのか整理してみました。 正式な名称がわからない。 まさに下記のような時ですね。そもそも検索に利用すべきワードが分からないので、欲しい回答を見つけるのは難しいです。 ん?なんやこの??って…
アバター
KAKEHASHI の、Musubi Insight チームのエンジニアの横田です。 KAKEHASHI では BI ツールの Musubi Insight という Web アプリケーションを提供しています。 BI ツールでは薬剤師さんの業務データを可視化しておりますが、そのデータの集計処理には AWS Glue を使っています。 今年 AWS Glue 3.0が使えるようになり、できることが増えました。 チームのデータ基盤の概要と、AWS Glue 3.0 になって新たに使えるようになった PySpark の関数をいくつか紹介していきます。 Musubi Insight チームでの AWS …
アバター
こんにちは、LINE上で動くおくすり連絡帳Pocket Musubiというサービスを開発している南光(@stnamco)です。 この記事では、PRレビューを利用して自分の学びをチームの学びに繋げた取り組みについて紹介します。 背景 カケハシではDXCriteriaを利用した開発組織の状態の可視化にトライしており、自分のチームでも確認する機会がありました。 確認項目の中には、継続的な学習機会を設けているか?という質問もあり、個人としてはPRレビューなどで学習機会がある実感はあったのですが、チームとして学習機会を作れているか?と問われると、たまに気になる書籍があれば輪読会を開くくらいで、継続的な機…
アバター
こちらは株式会社カケハシ x TypeScriptアドベントカレンダー2021 20日目の記事です。 タイトルの通り、TypeScript ファイルに Yaml データを読み込んで型付けをする方法です。 TypeScript 環境のセットアップ まずは TypeScript 環境をつくります。 mkdir typed-yaml-demo cd typed-yaml-demo npm init -y 今回は ts-node を利用。 TypeStrong/ts-node: TypeScript execution and REPL for node.js npm install -D types…
アバター
処方箋情報基盤開発チームエンジニアの加藤です。 この記事は カケハシアドベントカレンダー2021 の18日目の記事になります。 まえがき 今年はとくにアウトプットの速度を求められる局面が多い年でした。 そのため、社内の仕事の速いエンジニア(速い人はビビるぐらい速い)から知恵を借りたり、自身で工夫して開発効率を改善する必要がありました。 その中でも、導入が簡単かつテクノロジースタックに依存しないものを紹介します。 なお以下の説明はすべてmacOS Big Sur環境の前提です。 あらかじめご了承ください。 ターミナル & シェル macOS Catalina からデフォルトのログインシェルがzs…
アバター