タグ

ブックマーク / kakehashi-dev.hatenablog.com (47)

  • useContextについて調べてみた - KAKEHASHI Tech Blog

    こんにちは、株式会社カケハシでおくすり連絡帳 Pocket Musubiの開発を担当している渡辺です。 以前はMusubiをはじめ各種プロダクトのフロントエンド部分をAngularで書いていたのですが、最近はもっぱらReact/Next.jsを扱うことが増えました。 現在、Reactのキャッチアップに励んでいる日々です。 最近、関わっているプロダクトのコードでuseContextというhooksが利用されているのをみて、興味を持ちました。 調べたことをブログの記事にしたいと思います。 かなり初心者向けの話になると思いますが、ご容赦ください。 Contextってなんだろう Contextは何かというと、異なるコンポーネント間でデータを簡単に共有し、コンポーネントツリー内でグローバルな状態を管理できるものです。 Reactといえば、コンポーネントにデータを渡すときにpropsでの値の引き渡しを

    useContextについて調べてみた - KAKEHASHI Tech Blog
  • 入社1ヶ月で組織変更を任されて中止した話 - KAKEHASHI Tech Blog

    エントリはカケハシ Advent Calendar 2023 Part 2の 25 日目の記事です。ぜひ Part1 と合わせて見て頂けたらと思います。 日はMusubi AI在庫管理プロダクト開発チームでエンジニアリングマネージャーをしている僕が、開発ディレクターとして入社した当時に進めた組織変更への取り組みについて、現状の組織の状態も踏まえて振り返ってみようと思います。 組織変更の方針 入社した当時、Musubi AI在庫管理はフロントエンドチームとバックエンドチームに分かれて活動していました。 同じプロダクトを開発しているにもかかわらず、それぞれのチームは別々に活動している状態で同じ開発テーマも異なる時期に開発していることもありました。 それをフロントエンド、バックエンド混合のフィーチャーチーム化するというのが組織変更の方針でした。 組織変更の背景 実は組織変更の方向性は僕が入社

    入社1ヶ月で組織変更を任されて中止した話 - KAKEHASHI Tech Blog
  • 「価値」から小さく始めるドメイン駆動設計 - KAKEHASHI Tech Blog

    こちらの記事は カケハシ Advent Calendar 2023 の 16日目の記事になります。 概要 こんにちは。AI在庫管理の開発チームでSWEをしている小室です。 私は普段ドメイン駆動設計(以下、DDD)を意識しながら開発することが多く、実践を重ねるほどDDDの素晴らしさを実感しております。 最近異動してきたAI在庫管理の開発チームでは、現状はあまりDDDを意識して開発を進めていないのですが、プロダクトが対象としている世界が非常に複雑であることと、今まさに多くの法人様に利用していただけるようになったうれしい悲鳴として成長痛を感じ始めており、ドメイン駆動設計を何かのヒントとしてプロダクトによる価値提供速度を加速できればと考えています。 しかしながら、ドメイン駆動設計は独自の価値観や学習コストの高さから、まだ取り組んだことのないメンバーとしては大きな不安を感じる部分があると思います。

    「価値」から小さく始めるドメイン駆動設計 - KAKEHASHI Tech Blog
  • ソフトウェアエンジニアと育児休業 - KAKEHASHI Tech Blog

    こちらの記事は カケハシ Advent Calendar 2023 の 14日目の記事になります。 https://adventar.org/calendars/8587 こんにちは、株式会社カケハシでおくすり連絡帳 Pocket Musubiの開発を担当している渡辺です。 私ことですが、2023年3月16日に第一子が誕生し、育児休業を取得いたしました。稿ではなぜ育児休業を取得したのか、実際取得してどうだったのかを記述します。 取得期間 2023年4月1日から2023年10月1日(約半年) 育児休業 大前提として、こどもが産まれたら育児休業は当然取るものだというのが私の中でありました。 理由としては、私の友人たちがみんな口を揃えて取得してよかったと言っていた事、もう1つは国内全体や会社男性の育児休業の取得率がまだ低いこと。育児休業を自分も取得することにより、それが当たり前の世の中にしてい

    ソフトウェアエンジニアと育児休業 - KAKEHASHI Tech Blog
    sassy_watson
    sassy_watson 2023/12/14
    会社のエンジニアブログの場を借りて、育児休業を取得したことを記事にしました。子どもと妻には感謝です。
  • 業務システム SPA のフロントエンド技術選定(2023年版) - KAKEHASHI Tech Blog

    エントリはカケハシ Part 2 Advent Calendar 2023の13日目の記事です。 (Part 1もおもしろい記事がいっぱいあるので、ぜひご覧ください。) はじめに こんにちは。カケハシでソフトウェアエンジニアをしている平松です。 今年、新規プロダクト立ち上げの機会があり、その際に行ったフロントエンド技術選定について紹介したいと思います。 フロントエンドの領域は選択肢が豊富で、変化のスピードも速いため、プロダクトの要件に適した技術を選ぶことはひとつの挑戦です。 実際、フロントエンド技術選定のヒント 【令和五年度版】のアドベントカレンダー記事を読んで、その難しさを改めて感じました。 今回の新規プロダクトは、ユーザがログインして利用するtoBの業務システムです。 私はカケハシでは2度目の新規プロダクト立ち上げですが、前回の経験を活かしつつ、新しいアプローチにも挑戦しています。

    業務システム SPA のフロントエンド技術選定(2023年版) - KAKEHASHI Tech Blog
  • 38歳、はじめてのスクラム - KAKEHASHI Tech Blog

    はじめに はじめまして。 Musubi 開発チームで SRE を担当している、家事育児 🧹🍳👧 の負担率がイレブンナインの大山です。 この記事はカケハシ アドベントカレンダー🗓 part2の 12 日目の記事です。 そして入社してそろそろ 2年になりますが初投稿です。 この記事 is 何 ゆるふわスクラムをしていた私(38歳)がはじめてガチのスクラムにチャレンジし、継続的に課題を解決しながらスプリントを走った備忘録です。 また課題に対するカウンターや、スプリントを 4回ほどこなしたイマココの所感をまとめています。 記事のタイトルにあえて年齢を入れたのは下記の対象読者に向けた意図がありました。 対象となる読者 しっかりめにスクラムをすることに興味がある方 年齢を理由に何かをはじめることにためらいがある方 スクラム未経験🐤 〜 ゆるふわスクラム時代 早速ですがスクラムの話です。 まず

    38歳、はじめてのスクラム - KAKEHASHI Tech Blog
  • リソースの大掃除にはChatGPT - KAKEHASHI Tech Blog

    はじめに カケハシで BI ツールを開発している横田です。 AWS のリソース、いつの間にか増えていませんか? 今回は、ChatGPT を使って AWS のリソースを簡単に可視化することができたので、紹介したいと思います。 今回の課題と工夫したこと 我々のチームでは、半期に一回大掃除会を開催しています。 今回は、我々が管理している AWS Glue の job のうち使っていないものを削除することにしました。 使っていないリソースを調べるには AWS のコンソールを開いて一つ一つ確認する必要がありますが、これは非常に手間がかかります。 そこで、ChatGPTPython スクリプトを書かせて、使っていないリソースを調べることにしました。 ChatGPT とのやりとり紹介 まずは、雑に ChatGPT に聞いてみます。 Q pythonでboto3を使って、直近1ヶ月実行されていない、

    リソースの大掃除にはChatGPT - KAKEHASHI Tech Blog
  • フロー効率を重視した開発のすすめ - KAKEHASHI Tech Blog

    こんにちは。 AI在庫管理というプロダクトでフロントエンドの開発を担当している大村です。 AI在庫管理開発チームでは、顧客に素早く価値を提供するためにフロー効率を重視した開発を行っています。 記事では、なぜフロー効率を高めようとしているのかと、どのような取り組みによってフロー効率を高めているかについて紹介します。 リソース効率とフロー効率 生産性の効率の考え方として「リソース効率」と「フロー効率」があります。 複数人の開発者がチームでソフトウェアを開発するシーンを想定し、リソース効率とフロー効率それぞれを重視した場合の仕事の流れを単純なモデルとして表現してみました。(ここでは仕事の1つ1つをタスクと呼ぶことにします) これだけ見ると、リソース効率重視の方がムダなくタスクを消化しているように思います。 しかし、ソフトウェア開発の現場では以下のような状況が頻繁に発生します。 他の開発者のレビ

    フロー効率を重視した開発のすすめ - KAKEHASHI Tech Blog
  • テックブログの運用に挫けたことがある人全員集合 - KAKEHASHI Tech Blog

    はじめに テックブログは技術広報において強力なツールです。その一方テックブログを始めてみたものの、なかなか記事を書いてくれる人がいなかったりView数も伸びなかったりで、続けることができないことがあります。 そのためテックブログの更新頻度が下がることで読者の減少や印象の低下することを懸念し、ちゃんと運用できないならやらない方がいいという判断になっているという話も見聞きします。 幸いカケハシのテックブログは立ち上げてから2年間継続して運用することができており、採用活動の場でもテックブログ経由で応募してくれる人も出てくるなど、自社を認知してもらうきっかけになっています。 この記事ではテックブログを運用する際に直面しがちな問題について、カケハシテックブログがどのように対応しているかとその現況をまとめようと思います。 前提 カケハシのテックブログ運営チームは専業ではなく、開発チームと兼業しています

    テックブログの運用に挫けたことがある人全員集合 - KAKEHASHI Tech Blog
  • ECS起動を高速化するSeekable OCI(SOCI)インデックスをGitHub Actionsでも作る - KAKEHASHI Tech Blog

    SOCIとは? SOCI(Seekable OCI)はAWSが開発しているコンテナイメージの遅延読み込みのための仕組みです。コンテナイメージには起動時には使わないデータも多く含まれています。遅延読み込みによって、起動時には最小限のデータのみ読み込んで起動時間を短縮することを目的としています。コンテナ起動時の遅延読み込み自体は以前から存在しており、有名なものにestargzがあります。estargzはコンテナイメージの中に遅延読み込みのためのインデックスを保存しますが、SOCIはインデックスをOCI Artifactsとしてレジストリに保存します。このため、既存のイメージに手を入れる必要がないという特徴があります。 AWS ECS FargateはSOCIをサポートしており、遅延読み込みによりコンテナ起動速度の向上を図れます。 詳解 : Seekable OCI を使用した AWS Farg

    ECS起動を高速化するSeekable OCI(SOCI)インデックスをGitHub Actionsでも作る - KAKEHASHI Tech Blog
  • 社内ドキュメントはなぜ更新されないのか?情報の鮮度を最小限の運用負荷で維持する「イミュータブルドキュメントモデル」のススメ - KAKEHASHI Tech Blog

    はじめに こんにちは。カケハシの各プロダクトを支えるプラットフォームシステムの開発チームでテックリードを担当しているkosui(@kosui_me)です。 プロダクト開発の世界では、明瞭な社内向けドキュメントを書くための方法が数多く提案されてきました。読者の中には、製品要求を明瞭にするためにPRD (Product Requirements Document、製品要求仕様書) を書き、プロジェクトの背景から全体の設計やその代案について明瞭にするためにDesign Docsを書き、アーキテクチャに関する意思決定の記録を明瞭にするためにADR(Architecture Decision Record) を書いてきた方も数多くいらっしゃると思います。 しかし、どんな素晴らしいドキュメントも、何故か更新されなくなります。新メンバーへのオンボーディングのためにインフラ構成図を検索したあなたが見つけた

    社内ドキュメントはなぜ更新されないのか?情報の鮮度を最小限の運用負荷で維持する「イミュータブルドキュメントモデル」のススメ - KAKEHASHI Tech Blog
  • t-wadaさん「質とスピード」カケハシ社内講演会 - KAKEHASHI Tech Blog

    2023年9月25日、和田卓人さん(t-wadaさん)をお招きし社内講演会を開催しました。 和田 卓人さん / プログラマー、テスト駆動開発者 学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒。執筆活動や講演、ハンズオンイベントなどを通じてテスト駆動開発を広めようと努力している。 『プログラマが知るべき97のこと』(オライリージャパン、2010)監修。『SQLアンチパターン』(オライリージャパン、2013)監訳。『テスト駆動開発』(オーム社、2017)翻訳。『事業をエンジニアリングする技術者たち』(ラムダノート、2022)編者。テストライブラリ「power-assert-js」 作者。 Twitter: @t_wada GitHub: @twada 開催のきっかけ カケハシでのシステムの質とスピードの前提知識を理解し、改めてシステムの質についてチームで会話するきっかけにな

    t-wadaさん「質とスピード」カケハシ社内講演会 - KAKEHASHI Tech Blog
  • RDSの新証明書の有効期限を考える - KAKEHASHI Tech Blog

    RDSの50年, 100年有効な認証局証明書 2023年1月13日のリリースで、RDS向けの新しい認証局(CA)証明書が提供されました。 新しいCA証明書には以下の特徴があります 有効期限が50年あるいは100年と長い RSA 2048bitの証明書が50年で、RSA 4096bit, ECDSA 384bitのものが100年 これまでのCA証明書は有効期限が5年 ECDSA形式の証明書が提供されている RSAと比べて短い鍵長で高いビットセキュリティが得られる。具体的にはECDSA 384bitはRSA 7680bitと同等の強度 *1 サーバ証明書の自動更新をサポート 新しいCA証明書はこれまでの5年と比べて50年あるいは100年と非常に長く、ほとんどの用途でCA証明書の更新が必要になることはなさそうです。 なお現行証明書rds-ca-2019の有効期限は2024年8月23日です。現在こ

    RDSの新証明書の有効期限を考える - KAKEHASHI Tech Blog
  • GitHub Actions料金 Datadogによる可視化と削減のヒント - KAKEHASHI Tech Blog

    開発コストのうちGitHub Actions料金が占める割合は小さい傾向にありますが、組織規模によっては削減の必要があるでしょう。 この記事では、主にDatadogを利用した可視化による特定方法と、一般的なコスト削減のヒントを述べます。 前提:パフォーマンスを改善する 従量課金のアプリケーションではパフォーマンス ≒ コストです。まずは実行時間から改善しましょう。 カケハシでは以下のような事例があります。 以下の記事も観点洗い出しができるのでおすすめです。 この記事では実行時間以外のコスト観点で解説します。 実行時間と課金時間の違いを学ぶ GitHub Actionsの最低課金時間(billable time)は1分です。 1秒実行(Run time)でも1分分の料金になりますし、1分2秒なら課金時間は2分です。 実行時間が長いものに料金がかかるのは当然として、仕組み上、細かいものでも実行

    GitHub Actions料金 Datadogによる可視化と削減のヒント - KAKEHASHI Tech Blog
  • AWSのIoT CoreとIoT Device Shadowで管理する「レセハブ」の紹介 - KAKEHASHI Tech Blog

    はじめに こんにちは。処方箋データ基盤チームの山田です。 私の所属するチームでは、レセハブというIoTデバイスを作っています。 今回は、レセハブの機能や特徴・および採用されている技術について紹介いたします。 これまで、処方箋データ基盤チームのプロダクトや使っている技術についてあまり発信していなかったので、今回の記事で初めて紹介させていただくことになります。 この記事を通じて興味を持っていただけると嬉しいです。 目次 レセハブとは何か レセハブの機能 処方箋データ送信機能 遠隔での設定変更機能 バックエンドシステムへのセキュアなアクセス機能 まとめ 最後に レセハブとは何か レセハブは、調剤薬局の薬剤師が使用するレセプトコンピュータ(処方箋情報を管理するためのコンピュータ)から、処方箋データを取得し、取得した処方箋データをカケハシのバックエンドシステムに送信するIoTデバイスです。 レセハブ

    AWSのIoT CoreとIoT Device Shadowで管理する「レセハブ」の紹介 - KAKEHASHI Tech Blog
  • Pocket Musubi開発チームのRetrospective - KAKEHASHI Tech Blog

    こんにちは、カケハシの三浦です。 今回はカケハシの Pocket Musubi チームのスクラムについて、中でも Retrospective について書いていきます。この記事の内容は1つのチームの例ですが、同様の問題や"気になり"を抱えるチームにとって何かの気づきとなれば嬉しいです。 Pocket Musubi チームの Sprint Retrospective 今回は Pocket Musubi チームが Retrospective において大切にしている点を紹介します。 主な特長は以下 3 点です。 2 週間の開発サイクルと 1 週間の改善サイクル 振り返りの場では、業務以外の話題もOK 振り返りのテーマは、あえて絞らない Pocket Musubi チームでは、2週間スプリントを基としてプロダクト開発を行っております。 また、このチームは最近 1 ~ 2 年の間に新しいメンバーを増

    Pocket Musubi開発チームのRetrospective - KAKEHASHI Tech Blog
  • クロスアカウントアクセスでAppSync Private APIを使う話 - KAKEHASHI Tech Blog

    はじめに こんにちは、LINE上で動くおくすり連絡帳 Pocket Musubi というサービスを開発している種岡です . 社内でプライベートAPIを開発する要件があり、タイミング良くAppSyncでプライベートAPIが使えるようになったため試してみました 全体像 以下システムの全体像になります . アカウントAのLambdaからアカウントBのAppSyncにリクエストし、DynamoDBItemが書き込まれることをゴールとしました ポイント AppSyncはPrivate APIモードかつ、認証モードはIAM認証を利用 アカウントAとアカウントBはVPC Peeringで繋いでいるためCIDR情報が重複しないようにする クロスアカウントアクセスのためアカウントAとBそれぞれに、適切なロールとポリシーを設定 1. アカウントAでVPCLambdaを作成 以下CDKのコードになります .

    クロスアカウントアクセスでAppSync Private APIを使う話 - KAKEHASHI Tech Blog
  • OKRに書ける!知っておくだけでAWSコストをすぐ削減できる26個のヒント - KAKEHASHI Tech Blog

    AWSコストをいますぐ最適化しませんか? キャッシュフロー、ユニットエコノミクス、改善しませんか? この記事では、とにかくいますぐなんとかしたい方向けの方法を金額面で大きい傾向にあるサービスごとに26個紹介します。 以下各見出し内の💰はコスト削減度、⚡はおまけでパフォーマンス改善度を指します。 (1) 💰💰💰 CloudWatch Logs: とにかくログを出さないこと、まとめること AWS料金のうち、CloudWatch Logsが上位を占める傾向にあります。保存期間が無期限だから費用がかかる...と見せかけて、実際はログ出力自体の料金が大半です。 レガシーWebアプリケーションのログは1リクエストにつき何回も何行も出力する傾向があります。フレームワーク特有の不要なログも付いてきます。勝手に出力されるログは放置せず整理して、リクエスト単位でイベントとしてまとめましょう。 参考記事

    OKRに書ける!知っておくだけでAWSコストをすぐ削減できる26個のヒント - KAKEHASHI Tech Blog
  • 文字コードの世界の第一歩 - KAKEHASHI Tech Blog

    こんにちは、株式会社カケハシでおくすり連絡帳 Pocket Musubiの開発を担当している渡辺です。 今回は文字コードについての記事を書きました。 Pocket Musubiではお薬手帳用QRコードを読み込み、デコードした結果を利用します。ここでデコードするときにうまくいかないケースがあり、そこでの知見です。 文字コードについて 蛇足ですが、文字コードについて簡単におさらいします。 文字コードとは、文字をコンピューターで扱うために、文字ごと割り当てた数字のことです。 文字コードの対応表に基づいて、文字を数字に割り当てることを文字エンコードと言います。 文字コードの対応表には、ASCIIやUTF-8のような規格があります。 たとえば、アルファベットを扱うASCII文字だと'a' は97番、'b'は98番と割り当てられています。 ASCII 先ほども出てきた「ASCII」とは、文字コードの標

    文字コードの世界の第一歩 - KAKEHASHI Tech Blog
    sassy_watson
    sassy_watson 2023/03/29
    書きました
  • マイクロフロントエンドとResumableとqwikについて - KAKEHASHI Tech Blog

    この記事は、カケハシ Advent Calendar 2022 の 18 日目 の記事になります。 はじめまして、こんにちは。 おくすり連絡帳「Pocket Musubi」というプロダクトで、エンジニアリングマネージャーをしています @hisasann と申します。 人にフォーカスした開発組織作りに力を入れ、楽しい技術集団を作り上げることに日々奮闘しております。 ぼくは、 20 年近く Web の業界でいて、ソフトウェアエンジニアとして開発をしてきました。 今でも第一線ではないですが、なるべくコードは書いていて、それは好きというのがそもそもですが、日々テクノロジーの変化を楽しんでいます。 特にフロントエンドの分野が好きで、新入社員のころから JavaScript を書いているので、もうかれこれ 20 年近く JavaScript を書いていることになります。 そんなぼくが今回は、エンジニア

    マイクロフロントエンドとResumableとqwikについて - KAKEHASHI Tech Blog