yigarashiのブックマーク (837)

  • TypeScriptにおけるDDDのドメインオブジェクトの課題と対策

    こんにちは、近藤です。 commmune Advent Calendar 2023 18日目の記事は『TypeScriptにおけるDDDのドメインオブジェクトの課題と対策』です はじめに ドメイン駆動設計(DDD)は、複雑なビジネスロジックを扱うアプリケーション開発において、重要かつ効果的なアプローチとして広く認識されています。 コミューンでは、現場で役立つシステム設計の原則の著者、増田さんのご協力を得て、プロダクト開発を進めています。 幸運なことに私は増田さんとの密なコミュニケーションを取らせて頂いており、DDDの理論と実践方法に関する貴重な知見を深めその有用性を感じております。 しかし、TypeScriptのような構造的型付けを採用する言語でDDDを適用する際には、特有の課題が生じることがあります。記事では、TypeScriptでの構造的型付けに伴う課題、そしてそれらを克服する方法に

    TypeScriptにおけるDDDのドメインオブジェクトの課題と対策
    yigarashi
    yigarashi 2023/12/24
  • これは嬉しい ChatGPTプロンプト書き方のコツ、OpenAIが公開

    OpenAIは、大規模言語モデル(GPT-4)でよりよい結果を出すためのプロンプトエンジニアリング(プロンプトのノウハウ)入門テキストを同社のウェブサイトで公開している。 同テキストでは、現在同社で最高の性能を持つ大規模言語モデルGPT-4を対象に、よりよい結果を導くための6つの戦略と、それぞれを実行する際の具体的な戦術(コツ)が掲載されている。 また、「Prompt examples」のページでは、上記で紹介したものを含む多数のプロンプト例が紹介されており、すぐに利用できるようになっている。 では紹介された6つの戦略を見ていこう。 明確な指示を書く LLMは利用者の心を読むことができないので、回答が長すぎる場合は「簡潔に」、単純すぎる場合は「専門家レベルで」と明示的に依頼する必要がある。 具体的な戦術としては下記が提案されている。 ・より関連性の高い回答を得られるよう、質問は詳細に ・モ

    これは嬉しい ChatGPTプロンプト書き方のコツ、OpenAIが公開
    yigarashi
    yigarashi 2023/12/19
  • 認可のベストプラクティスとDDDでの実装パターン

    最近、少々複雑な権限機能の開発を担当している中で、対応方針を悩んでいたことがありました。 権限機能というものは取り扱いが難しく、影響範囲が広いにも関わらず、対応漏れや考慮不足があると情報漏洩に繋がってしまいます。 また、機能拡張をしてく中でも対応漏れを起こさないようにする必要があるなど、考えることも多く頭を悩ませておりました。 そこで、認可処理の設計のベストプラクティスやDDDの実装パターンに認可処理を組み込む方法など、色々と調べていたのですが、その中でいくつか知見を得られたのでまとめようと思います! 権限と認可 権限と切っては切れない関係にあるのが認可です。 権限はある操作を実行できる権利を指します。 それに対して、認可は操作を実行する許可を出すため仕組みのことを指します。 例えば、ブログ投稿サービスで考えてみると、以下のような感じです。 権限: 投稿者はポストを編集できる。 認可: ユ

    認可のベストプラクティスとDDDでの実装パターン
    yigarashi
    yigarashi 2023/12/18
  • 成果の最大化と向き合うEM思考

    2023/12/15開催のEMゆるミートアップで話した内容です。 linkや当日お話した部分、誤解を生みそうな部分に関していくつか補足を書いておきます。 - p5~p11 補足: EMは会社や事業、チームの状況によって、求められることが違うので、弊社のプロダクトや自分の立場についてお話してい…

    成果の最大化と向き合うEM思考
  • 新任エンジニアリングマネージャーが新規事業で果たした役割と今考えていること - KAKEHASHI Tech Blog

    はじめに こんにちは!エンジニアリングマネージャーの小田中(@dora_e_m)です。 この記事はカケハシ Advent Calendar 2023 の 12日目の記事になります。 https://adventar.org/calendars/8587 今年はPart2もあるのでぜひそちらもご覧ください! https://adventar.org/calendars/8728 この記事ではタイトルのとおり、新規事業のプロダクト開発チームにおいて新任のエンジニアリングマネージャー(以下、EM)がどのような役割を担うのか、私自身の実体験をもとに紐解いていきます。 前提: カケハシに存在するEM、開発ディレクターというロール カケハシにはEMに加え、開発ディレクターというロールがあります。カケハシでは基的にどのチームでもスクラムを採用しており、開発ディレクターはスクラムマスターとイコールで考え

    新任エンジニアリングマネージャーが新規事業で果たした役割と今考えていること - KAKEHASHI Tech Blog
    yigarashi
    yigarashi 2023/12/14
  • ロードマップに機能を書くべからず|小城久美子 / ozyozyo

    機能を書くならバックログにまず機能だけが書かれたロードマップから見ていきましょう。時系列に沿って、どんな機能を追加するのか並んでいます。 残念ながら、多くの場合、機能開発が遅延したり、差し込み案件が発生したりして、以下のようになってしまいます。 こうなると、もうこのロードマップは信頼できません。過去の実装がここまで遅延していると、次に取り掛かる機能がいつリリースされるのか分からず、どれの優先度がもっとも高いのかも判断するのが難しくなってしまいます。 こういった「機能」に近いものは、縦長のプロダクトバックログの形式で並べ、ユーザーストーリーに分解して見積もったものを上から順番に実施していくほうがスッキリします。 では、ロードマップがなぜ必要なのかプロダクトバックログはとても良いものですが、プロダクトの中期的・長期的な未来を構想するには少し見づらくなります。特に、会社の中で中期的・長期的な方針

    ロードマップに機能を書くべからず|小城久美子 / ozyozyo
    yigarashi
    yigarashi 2023/12/13
  • GitHub、1200台以上のMySQL 5.7を8.0へアップグレード。サービス無停止のまま成功させる

    GitHub、1200台以上のMySQL 5.7を8.0へアップグレード。サービス無停止のまま成功させる GitHubが提供するGitHub.comは、世界最大のソースコード管理システムを始めとするソフトウェア開発者向け支援サービスを提供しています。 そのGitHub.comはRuby on Railsで構築されており、同社はつねにRubyRuby on Railsをアップデートし続けていることを今年(2023年)4月に明らかにしています。 参考:GitHubは200万行規模のRailsアプリケーションであり、毎週RailsRubyを最新版にアップデートし続けている そして同社はこのGitHub.comを支える1200台以上のMySQL 5.7を、GitHub.comのサービスレベルを維持したまま1年以上かけてMySQL 8.0にアップグレードしたことをブログで明らかにしました。 Up

    GitHub、1200台以上のMySQL 5.7を8.0へアップグレード。サービス無停止のまま成功させる
  • CTOやVPoEと違いEMには再現性がある - 神様なんて信じない僕らのために

    こちらはEngineering Manager Advent Calendar 2023 12日目の記事です。 こんにちは、Isoparametric(Yuki Tamura)といいます。 今回はEMはCTOやVPoEの下位互換ではないということについて書きます。 私は今estieというスタートアップでEMをしております。 前職では不動産テックのCTOをしていて、その前はスマートニュースという会社でEMをしてました。 その前は、ディライトワークス、gumiという会社でCTOだったりしたこともあります。 それが何故またEMをという感じですが、入社の経緯などは、会社のブログの方にありますので興味があれば読んでみてください。 CTOを辞めて各社のCTOや最強のエンジニアが集う梁山泊estieに入社した理由 - estie inside blog では、CTO/VPoEとEMの互換性/再現性につい

    CTOやVPoEと違いEMには再現性がある - 神様なんて信じない僕らのために
    yigarashi
    yigarashi 2023/12/12
  • 目標管理と評価制度の考え方 - KAKEHASHI Tech Blog

    エントリはカケハシ Advent Calendar 2023 の 11日目の記事です。 今年はPart2もあるのでぜひそちらもご覧ください! カケハシのVP of Engineeringの湯前(@yunon_phys)です。皆さん、目標設定と評価は順調ですか?私はこれまで何年にも渡って、様々なメンバーの目標設定や評価をしてきました。残念ながら、こうすれば良い目標設定や評価が出来る!という銀の弾丸は無さそうです。でも、こう考えたら目標設定はやりやすいかも、こうすると評価はより納得感のあるものになるかも、というのはあります。 そこで今回は制度を施行・運用していく立場の人間として、目標管理と評価制度の考え方について、私の意見を述べていきます。 目標管理 目標はそもそも変わるものである みなさんこんなことありませんか? やる気満々であんなことやこんなことを色々考えて、壮大な目標を期初にがんばって

    目標管理と評価制度の考え方 - KAKEHASHI Tech Blog
  • 中途入社や部署異動で来た新メンバーを活躍しづらくするアンチパターン - Qiita

    1. はじめに ソフトウェア開発のチームに、新しいメンバーが入ってくることはよくあります。 以前に新卒社員がチーム入ってきた場合の育成方法を紹介しました(こちら)。 今回は、新卒社員ではなく、他の会社から中途入社か同じ会社の部署異動で来る新メンバーの話です。 (エンジニアが数百人などで規模が大きい会社の場合、部署が違うと仕事のやり方が全く変わる場合があるので、今回は中途入社と他の部署からの異動を同じように「新メンバー」として扱います) 会社や部署が変わると仕事のやり方が大きく変わるため、仕事のやり方に戸惑うことが多いと思います。 稿では、そのような「新メンバー」を活躍しづらくしてしまうアンチパターンとその対策を紹介します。 2. 中途入社や部署異動で来た新メンバーが適応することの困難さを理解する 中途入社や部署異動で来た新メンバーが組織に適応することは、新卒社員のそれとは別の難しさがあり

    中途入社や部署異動で来た新メンバーを活躍しづらくするアンチパターン - Qiita
    yigarashi
    yigarashi 2023/12/05
  • はてなブックマーク

    キーボードショートカット一覧 j次のブックマーク k前のブックマーク lあとで読む eコメント一覧を開く oページを開く ✕

    yigarashi
    yigarashi 2023/11/30
  • 本探しのプロ「図書館司書」の力で、子どもの頃の本棚を再現する | オモコロ

    で育った。友達がいなかったから、子どもの頃はばかり読んでいた。 実家には壁一面の棚があって、休日はいつも棚の前で過ごした。 悲しい話から失礼します。ライターの岡田悠と申します。背後に棚があるので、もうちょっと棚について語らせてください。 棚は、生き物みたいだと思う。を買ったり、処分したりを繰り返していくうちに、身体の細胞が少しずつ入れ替わっていくように、棚の中身も変化していく。 だから昔の写真やおもちゃは残っていても、昔の棚は残っていない。 に支えられていた、子どもの頃。当時の棚には、自分の原点が詰まっていると思う。当時の棚を、再現してみたい。そしてノスタルジーに浸りたい。 ちょうど先日、実家に帰省する機会があったので、2023年現在の実家の棚を確認してみた。棚自体は昔と同じものだが、僕が実家を出た後に家族が使っていたので、中身はほとんど入れ替わっている。 現

    本探しのプロ「図書館司書」の力で、子どもの頃の本棚を再現する | オモコロ
    yigarashi
    yigarashi 2023/11/28
  • Google Cloud Storageでブラウザからアップロードする by 署名付きURL

    この記事では、ブラウザからアプリケーションサーバを挟まずにファイルを Cloud Storage へアップロードする方法を見つけたので共有します。何卒何卒... 通常では画像のアップロードなどにアプリケーションサーバを挟むことでアップロードに独自の処理(ログや認証など)を挟むことができ、「一定条件の場合はアップロードさせない」と言った処理を挟むことができます。 ですが、アプリケーションサーバを挟むことで通信が ①「ブラウザ->アプリケーションサーバ」 と ②「アプリケーションサーバ->Cloud Storage」 の 2 つになります。 アプリケーションのデプロイ先を Vercel などのような帯域幅(1 回のリクエストのサイズ)に制限があるプラットフォームを選んでいると送信できるファイルに制限ができてしまいます。 これを回避するために ①「ブラウザ->アプリケーションサーバ」 の通信をな

    Google Cloud Storageでブラウザからアップロードする by 署名付きURL
    yigarashi
    yigarashi 2023/11/28
  • 署名付き URL  |  Cloud Storage  |  Google Cloud

    フィードバックを送信 署名付き URL コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 このページでは、署名付き URL の概要について説明します。署名付き URL では、特定の Cloud Storage リソースに期限付きでアクセスできます。署名付き URL は、その URL を所有する全員が、Google アカウントを持っているかどうかにかかわらず、URL がアクティブである限り使用できます。署名付き URL を作成する方法については、Cloud Storage Tools を使用した V4 署名プロセスと、独自プログラムを使用した V4 署名プロセスをご覧ください。バケットとオブジェクトへのアクセスを制御するその他の方法については、アクセス制御の概要をご覧ください。 概要 署名付き URL は、リクエスト時における制限付きの権限と有効期限が設定され

    署名付き URL  |  Cloud Storage  |  Google Cloud
    yigarashi
    yigarashi 2023/11/28
  • React Server Components のテスト手法

    React Server Components のテスト手法 2023.11.26 現代におけるコンポーネントのテストは Testing Library を用いてテストを行うことが一般的です。しかし、2023 年 11 月現在、Testing Library はまだ Server Components のテストを十分にサポートしていません。そのため、Server Components のテストを行うには、別の方法を用いる必要があります。この記事では、Testing Library を用いずに Server Components のテストを行う方法について説明します。 現代では React におけるコンポーネントのテストは Testing Library を用いて、ユーザーの視点からテストを行うことが一般的です。getByRole のようなユーザーの視点のセレクタなどを提供しているため、実装

    React Server Components のテスト手法
  • なぜレッドオーシャン化する前にサービスを グロースできなかったのか? - フリマアプリ編 - @yutadayo

    CTO Night & Day 2023 Fukuoka で登壇した発表資料になります。 https://aws.amazon.com/jp/blogs/startup/cto-night-and-day-2023-fukuoka-day1 https://aws.amazon.com/jp/bl

    なぜレッドオーシャン化する前にサービスを グロースできなかったのか? - フリマアプリ編 - @yutadayo
  • ソフトウェアの内部品質に生じる様々な問題は組織設計にその原因があることも多い / Internal Quality Issues Caused by Organizational Design

    2023-11-21 技術的負債に向き合う Online Conference https://findy.connpass.com/event/297813/

    ソフトウェアの内部品質に生じる様々な問題は組織設計にその原因があることも多い / Internal Quality Issues Caused by Organizational Design
  • Introducing Amazon CloudFront KeyValueStore: A low-latency datastore for CloudFront Functions | Amazon Web Services

    AWS News Blog Introducing Amazon CloudFront KeyValueStore: A low-latency datastore for CloudFront Functions Amazon CloudFront allows you to securely deliver static and dynamic content with low latency and high transfer speeds. With CloudFront Functions, you can perform latency-sensitive customizations for millions of requests per second. For example, you can use CloudFront Functions to modify head

    Introducing Amazon CloudFront KeyValueStore: A low-latency datastore for CloudFront Functions | Amazon Web Services
    yigarashi
    yigarashi 2023/11/22
  • Q. プロダクトバックログアイテムはいつ見積もればいいですか?

    スクラムガイド2020には以下のように記述されています。 1スプリント内でスクラムチームが完成できるプロダクトバックログアイテムは、スプリントプランニングのときには選択の準備ができている。スクラムチームは通常、リファインメントの活動を通じて、選択に必要な透明性を獲得する。 プロダクトバックログアイテムがより小さく詳細になるように、分割および定義をする活動である。 これは、説明・並び順・サイズなどの詳細を追加するための継続的な活動である。 多くの場合、属性は作業領域によって異なる。 最初の文が意味するところは、以下のとおりです。 スプリントで選択するプロダクトバックログアイテムは1スプリント内で完成する大きさになっていなければいけない 1スプリントに収まるサイズになっていれば、スプリントプランニングで選択の準備ができていると言える 選択のための準備は、通常リファインメントの活動のなかで行う

    Q. プロダクトバックログアイテムはいつ見積もればいいですか?
  • Next.js App Router での MPA フロントエンド刷新

    JSConf JP 2023

    Next.js App Router での MPA フロントエンド刷新