並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 405件

新着順 人気順

設計の検索結果241 - 280 件 / 405件

  • なぜ自転車の金属のチェーンがたるむのか?日本人の8割が知らないから自由研究でウケこと間違いなし! - ハチワレサイクル

    超強度あるのでゴリラが引っ張っても伸びません。 じゃあ、なんで最初は適正だったチェーンが 走行中にハズレて落ちちゃうの? やっぱり伸びてんじゃないの? そこですよね?自由研究的にも… 答えはカンタン。 チェーンのコマの中に連結ピンがあります。そのピンが金属摩耗で削れて隙間が出来ます。隙間が100コマ分あるとすると1つが0.1mmの隙間でも1㎝の伸びになる※大人用自転車なら110コマ前後あります これがチェーンの伸びの正体 要するに、削れた分だけ隙間が大きくなってるだけで 金属的には伸びてません。 遊びが大きくなってるってことですね! 下の画像よくお客さんに説明するときにやるやつです。 これ超納得されるんで、是非やってみてください。 そしてもう一つ大事なこと 注油を怠れば、どんどんチェーンは削れます。 しかし、まちがった注油すると逆に摩耗を促進することになるので注意! 間違った注油とはただス

    • AWSで”最小権限の原則”を実現するための考え方 /20240722-ssmjp-aws-least-privilege

      ssmonline #43 での発表資料です。 (運用設計ラボ合同会社 波田野裕一)

        AWSで”最小権限の原則”を実現するための考え方 /20240722-ssmjp-aws-least-privilege
      • 【特集】 知っておきたいUSB PDの基礎。モバイルバッテリと充電器、ノートPCを充電するなら出力何Wものを用意すべきか?

          【特集】 知っておきたいUSB PDの基礎。モバイルバッテリと充電器、ノートPCを充電するなら出力何Wものを用意すべきか?
        • どのレイヤー(層)でトランザクションを実装すべきか

          このように、層ごとに関心事の分離を行うことで、保守性の高い(変更容易性や再利用性等)アプリケーションを実現できます。 しかし、「トランザクション」においてはどうでしょうか。 トランザクションはビジネス領域においても、技術領域においても関心事がある内容です。 そういう曖昧なものは「ひとまず usecase 層に入れてしまえ」という方針になりがちです。 ですが、DB 固有の知識を usecase 層の関心事にしてしまっては、関心事の分離をするメリットが得られません。 そのため、関心事の分離を実現しつつトランザクション実装をする方法を模索してみました。 前提 1. クリーンアーキテクチャを採用している(オニオンアーキテクチャやレイヤードアーキテクチャも含む) そもそもビジネス知識と技術知識を分離していないアーキテクチャを採用している場合、メリットは得られません。 そのため、オニオンアーキテクチャ

            どのレイヤー(層)でトランザクションを実装すべきか
          • 個人開発でもADR (アーキテクチャデシジョンレコード)を書くことの利点 - laiso

            起業なのか請負開発か趣味のプロジェクト(ペットプロジェクト)かによって状況は異なりますが「私のチームの開発者は私1人だけです」という個人開発においても、ADRは有効なツールとなりえます。 ADRとは何か? ADR(アーキテクチャデシジョンレコード)は、ソフトウェアアーキテクチャにおける重要な設計判断とその根拠、影響、関係する検討事項などを記録した文書です。 一見、現代的な響きですが、その実態はシステム設計ドキュメントの一部です。 "ADR"で検索すると真っ先にヒットするアーキテクチャの入門書『Design It! ―プログラマーのためのアーキテクティング入門』では、ADRは「アーキテクチャ手法に対する開発者寄りのアプローチ」と説明されており、アーキテクトと開発者自身がアーキテクチャに関する意思決定を記録し、共有するための手法として位置づけられています。 アーキテクチャデシジョンレコード(A

              個人開発でもADR (アーキテクチャデシジョンレコード)を書くことの利点 - laiso
            • draw.ioをつかったフレキシブルな設計図作成術 - KAKEHASHI Tech Blog

              はじめに こんにちは!ソフトウェアエンジニアの種岡です。 皆さん、システム設計に取り組んでいますか? 設計は、プロジェクト成功への道筋を描く、航海の羅針盤です。 目的地を見据え、それに向かって進むための確かな指針となります。 設計の質がしっかりしていれば、開発という大海原でも迷わず進むことができます。 設計はプロジェクトの土台を築く、創造的かつ重要なプロセスです。 夢を描き、それを形にする試行錯誤の楽しさ、これこそが設計の魅力だと思います。 この記事は秋の技術特集 2024の11記事目です。 この記事 is 何? この記事では、設計図を描く際の心構えと、誰でも見やすい設計図を作成するためのテクニックについてお話しします。 なぜ設計図を書くのか? 図は複雑な情報を視覚的に整理し直感的な理解を推進することができるため チーム内外での共通理解を促進し、コミュニケーションを円滑にするため 予測可能

                draw.ioをつかったフレキシブルな設計図作成術 - KAKEHASHI Tech Blog
              • Feature Flag Deep Dive

                チーム勉強会で Feature Flag とトランクベース開発の話をしました (追加訂正と書かれているスライドは、勉強会後議論した結果を反映したものです)

                  Feature Flag Deep Dive
                • ルールは現場で死にました - The Rules of Programming の読書感想文 - じゃあ、おうちで学べる

                  本日は人生の数ある選択肢のなかから、こちらのブログを読むという行動を選んでくださいまして、まことにありがとうございます。 はじめに プログラミングの世界には多くの指針や原則が存在します。Chris Zimmerman氏の「The Rules of Programming」(邦題:ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール)は、不変の知恵を凝縮した一冊です。これらの原則は、多くの開発現場で活用できる有益な内容となっていると思いました。 The Rules of Programming: How to Write Better Code (English Edition) 作者:Zimmerman, ChrisO'Reilly MediaAmazon 本書は、大ヒットゲーム『Ghost of Tsushima』などで知られるゲーム制作スタジオ、Sucker Pun

                    ルールは現場で死にました - The Rules of Programming の読書感想文 - じゃあ、おうちで学べる
                  • UnrealEngine を使って注文住宅を建てたお話 - Qiita

                    はじめに この記事はUnreal Engine (UE) Advent Calendar 2023の6日目の記事になります。 Unreal Engineを使用して注文住宅の建築を行う需要は、一般的にはあまり高くないかもしれませんがぜひ読んで頂けると幸いです。 また注文住宅とはなんやねんと思った方はこちらのリンクから見てみてください。 凄く簡単にいうと自分で自由にカスタマイズした家を建てる事です。 UnrealEngineを使用して家造りをしようと思ったきっかけ 注文住宅を建てるにはハウスメーカーと契約する必用があります。 契約したハウスメーカーにある程度の希望を出して仮で間取りや壁紙を選んでもらうと、The普通といった感じで量産型のようなものが提案されました。 やはり自分達で色々と考える必用があり、その中で提案もたくさんする必要があるんだなと実感し始めました。 そこで普段使用しているUnr

                      UnrealEngine を使って注文住宅を建てたお話 - Qiita
                    • Linuxカーネルパラメータのチューニング&設計 - Qiita

                      Linuxカーネルパラメータのチューニング&設計 0.目的 【カーネルパラメータのチューニング】を修得する目的は、サーバの特性を理解し、それぞれに合ったカーネルパラメータのチューニングすることでリソースの有効活用をできるようになることを目的とし、私個人の経験を元にした見解を以下の記事に掲載します。 1.最初に サーバには、それぞれ必要なリソース特性があり、それに合わせたカーネルパラメータのチューニングが必要となります。 世の中の流れはオンプレよりクラウドに移行してはいるので、カーネルパラメータのチューニングよりスケールアップなりスケールアウトするなりの対応をすべきなのでしょう。 ですが、カーネルパラメータのチューニングを知らないとどちらを選択すべきかも理解しずらいと思いますので軽率には出来きません。(待ち行列理論もしらないといけませんが) また、最近のLinuxはデフォルト値が大きくなって

                        Linuxカーネルパラメータのチューニング&設計 - Qiita
                      • ネットスラング「デザインの敗北」は「駄目なデザインをした結果」なので間違った日本語という指摘 「敗北のデザイン」がしっくり来るの声も

                        綾塚 祐二 @ayatsuka_yuji 念のため補足。「デザインの敗北」だと「『デザイン』は悪くない/良いのに、他の要素に負けた」と解釈する/される余地がありますが、これは「ここに(男性用)トイレがあることを示す」という本来果たすべき機能が弱く他の施策が必要になっているので、「デザイン(設計)がよくない」というべきなのです。 2023-09-27 00:03:11 綾塚 祐二 @ayatsuka_yuji さらに補足。例えば設計(デザイン)した蓋が(加工のミスなどでなく)きちんと締まらないものだったらそれは「設計ミス」と言われます。この(元の)トイレのサインも「機能として不十分」という点でそれに類するものです。それゆえ(婉曲的な表現でなく明確に)「デザインがよくない」と評価されるべきです 2023-09-27 10:46:45

                          ネットスラング「デザインの敗北」は「駄目なデザインをした結果」なので間違った日本語という指摘 「敗北のデザイン」がしっくり来るの声も
                        • データ詰め替え戦略 - kawasima

                          このSpring Bootを使ったクリーンアーキテクチャの例は、データの詰め替え過剰にみえる。 https://www.baeldung.com/spring-boot-clean-architecture これだけのモデルと詰め替えが必要なのだろうか? 『Get Your Hands Dirty on Clean Architecture 』にこのマッピング戦略(詰め替え戦略)が書かれている No Mapping (レイヤ間でモデルを共有し、詰め替えをしない) 2-way Mapping (各レイヤで独自のモデルを持ち、レイヤを跨ぐ呼び出しは上位レイヤが詰め替えの責務を負う) Full Mapping (各レイヤで独自のモデルを持ち、レイヤを跨ぐ呼び出しには専用のモデルを使う) またこの戦略のどれを選ぶかの基準は『Balancing Coupling in Software Design

                            データ詰め替え戦略 - kawasima
                          • ソフトウェアの実装と事業戦略を結びつける

                            『ドメイン駆動設計をはじめよう』の概要説明 ①この本で学んでほしいこと(原著者の思い) ②原著者のドメイン駆動設計のとらえ方 ③この本の特徴 ④ソフトウェア実装と事業戦略を結びつける方法 ⑤事業の成長とソフトウェアの成長 ⑥開発チームの学習と成長

                              ソフトウェアの実装と事業戦略を結びつける
                            • 『リッピングの基礎知識』

                              猫大好きのブログ 2019年06以前の記事にはリンク切れ(Yahooブログ)が大量にあります。 自作DAC,自作アンプの初心者です。電気は独学・素人、故に、 技術的内容は信用されないようにご注意下さい!!

                                『リッピングの基礎知識』
                              • フロントエンドのディレクトリ設計思想

                                はじめに フロントエンドのディレクトリ構成、世の中に色んな「推し」が有って悩みますよね。 例えば、、、 さらに最近は、App Directoryの登場や、それに合わせたNext.js公式の「推し」構成がドキュメント化されたりと、さらに色々なパターンが出てきています。 本記事の趣旨 本記事では、具体的な構成そのものではなく、 様々ある構成を横串で見通して整理できる設計思想を紹介します。 新しい推し構成の紹介ではなく、構成を考えたり決めたりするときに役立つ抽象的・汎用的な指針を提供できればと考えています。 基本となる考え 分割の方向 一般的に、アーキテクチャにおける分割には2つの方向が有ります。 (出典も良書なのでリンクを貼っておきます: https://www.amazon.co.jp/dp/4873119820) これはディレクトリにおいても同じだと思っていて、筆者は分かりやすさのために

                                  フロントエンドのディレクトリ設計思想
                                • インフラマネージャー厳選!10年使える知識が身につくおすすめ書籍10選 - RAKUS Developers Blog | ラクス エンジニアブログ

                                  ラクスでは多くのSaaSプロダクトを開発・運用しており、オンプレミスまたはクラウドを適切に選択してインフラ基盤を構築しています。 そのインフラを担うのが、ラクスのインフラ開発部です。 今回はインフラ開発部のマネージャーが厳選した、インフラエンジニアにおすすめの書籍10選をご紹介します。 それぞれの書籍に推薦コメントを記載していますので、是非ご参考になさってください。 選定基準は以下の通りで、今後インフラを深く理解し実力をつけていきたい方にも最適です。是非ご覧ください。 「すぐに役に立つがすぐに廃れる知識ではなく、10年以上使える書籍」 「分かりやすい本ではなく、難解ではあるがきちんと原理・原則を学べる書籍」 目次 目次 Operating Systemを理解しよう 詳解 Linuxカーネル 第3版 DNS & BIND 第5版 トラブルシューティングを理解しよう 詳解 システム・パフォーマ

                                    インフラマネージャー厳選!10年使える知識が身につくおすすめ書籍10選 - RAKUS Developers Blog | ラクス エンジニアブログ
                                  • 【ソフトウェア設計】モジュールをどう分割するのか?

                                    はじめに 前々回や、前回に引き続き、ソフトウェア設計の指針に関する話をしたいと思います。 関数やクラス、そしてサービスなどシステムの塊の単位をモジュールと呼び、モジュールを作る事で、認知負荷を下げ複雑性と戦うという話をしてきました。では、モジュールは「いつ」分割するのが良いでしょうか? また、他にも共通モジュールを不用意に作ってしまって苦労した人も多いのでは無いでしょうか? 今回はそのあたりの話をしていきます。 TL;DR 以下があればモジュール設計を見直す 単純な要件/普段の利用に対して、タイプ量や約束事が多い 共通モジュールが「使われ方」に依存する モジュールの役割を一言で説明できない コード管理や性能/データ整合性など利用に際してのペナルティが高い 分割 is NOT 正義 - FizzBuzz Enterprise Edition 複雑性を排除するためにモジュール分割をすることは重

                                      【ソフトウェア設計】モジュールをどう分割するのか?
                                    • 「VLC」に2,000円を寄付したらなんと200,000円も請求されてしまった!/詐欺? 乗っ取り? 真相は……多国通貨決済でときどきあるバグ【やじうまの杜】

                                        「VLC」に2,000円を寄付したらなんと200,000円も請求されてしまった!/詐欺? 乗っ取り? 真相は……多国通貨決済でときどきあるバグ【やじうまの杜】
                                      • 新規サービスのバックエンド開発で3ヶ月経ったので、試した技術や取り組みをまとめてみた

                                        こんにちは、AIShift バックエンドエンジニアの石井(@sugar235711)です。 AIShiftでは去年の11月からAI Worker[1]という新しいサービスの開発が始まりました。(以下AI Worker) 本格的に開発が始まり3ヶ月弱経ったので、その間に試してきた技術やチームの取り組みについてまとめてみたいと思います。 はじめに この記事では、AI Workerのおおまかな概要・設計を説明し、それらのバックエンドを実現する上でどのような技術を試してきたのか、技術以外でのチームの取り組みについてまとめます。 少し分量が多いので、ライブラリについての情報を求めている方は、目次から気になる部分を読んでいただければと思います。 何を作っているのか ざっくりまとめると、Microsoft Teams/Web上で動くAIを活用した業務改善プラットフォームを作成しています。 GPTとRAG

                                          新規サービスのバックエンド開発で3ヶ月経ったので、試した技術や取り組みをまとめてみた
                                        • 非同期処理とリトライと冪等性 - GS2 Blog

                                          今回の記事は普段の GS2 のアップデート告知とは少し毛色が異なり、技術的なトピックを扱うエントリーです。 gs2.hatenablog.com こちらで告知した消費アクションの分岐処理を実装するにあたって、どのようなアプローチで課題に向き合ってきたのかを解説しようと思います。 非同期処理とリトライ まずは、非同期処理とリトライについて考えてみましょう。 非同期処理とは? 「API を呼び出すと、処理の結果が返ってくる。処理の途中でエラーが発生したらエラーが返ってくる」というのが同期処理です。 この場合、エラーハンドリングは呼び出し元に委ねられますので、比較的シンプルに処理を行うことができます。 一方で、非同期処理とはどういうものか?というと 「API を呼び出すと、処理を動かし、処理IDを応答する」「処理IDを指定して完了を通知」「処理IDを指定して処理結果を取得」 というように呼び出し

                                            非同期処理とリトライと冪等性 - GS2 Blog
                                          • 20231206_設計ドキュメント腐る問題、Git管理で運用してみた本当のところ

                                            設計ドキュメント腐る問題、 Git管理で運用してみた 本当のところ 2023.12.5 真野隼記 ドキュメント管理を制する 陳腐化を防ぐための実践事例 Lunch LT

                                              20231206_設計ドキュメント腐る問題、Git管理で運用してみた本当のところ
                                            • 【ソフトウェア設計】例外処理を考える

                                              はじめに 最近書いてるソフトウェア設計シリーズです。今回は例外に関して。以前、以下のような記事を書いたのですが、もう少し深堀して書いてみました。 ちなみにソフトウェア設計シリーズは他には以下を書いています。 モジュールになぜ分けるのか? モジュール、依存、そしてカプセル化 モジュールをどう分割するのか? 簡潔さは力なり? 予測可能な振る舞いと簡潔さについて ドキュメントとしてのコメント TL;DR 例外は「原則」キャッチしない 業務例外や必ずハンドリングさせたい例外はOptionalなど戻り値の方が便利 だいたい以下の図が言いたい事のすべて 例外処理とは? 「例外処理(Exception Handling)」は言語に依らず普遍的な関心事です。端的に言えば例外処理は異常やシステムの動作に不備が発生した際の特別な分岐処理です。リカバリやリソースの解放、あるいはユーザへの通知などがありますね。

                                                【ソフトウェア設計】例外処理を考える
                                              • dbtで見やすいER図を生成する - yasuhisa's blog

                                                背景: dbtを使っていてもER図は欲しい! どうやってER図を生成するか どうやってER図を見やすくするか まとめ 背景: dbtを使っていてもER図は欲しい! dbtはモデル間のリネージなど可視化が得意なツールではありますが、万能なわけではありません。モデルの生成過程などはリネージで担保できますが、分析時に「どれとどのモデルがJOINできて、JOINする際のキーはこれを使って」というER図で扱うような可視化はディフォルトではできません。 DWHを作っている側からすると「このテーブルはあの辺のテーブルと一緒に使うと便利で、いつもあのキーでJOINして」というのが頭の中に入っていることが多いため、ER図がなくてもどうにかなることも多いでしょう。しかし、分析に慣れていない人や分析に慣れている人であっても、普段と異なるドメインのテーブルを触るときはER図が提供してくれる情報は有用です。ちなみに

                                                  dbtで見やすいER図を生成する - yasuhisa's blog
                                                • 和田 卓人さん(t_wadaさん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」を社内で講演いただきました! | Wantedly Engineer Blog

                                                  和田 卓人さん(t_wadaさん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」を社内で講演いただきました! こんにちは、ウォンテッドリーDev Branch VPoE 室長の髙橋です。 ウォンテッドリーの開発組織であるDev Branchでは、外部から有識者を招いて勉強会を開催したり、技術顧問として知見を取り入れるなど、プロダクト開発により強い組織となるためにさまざまな施策を行っています。 今回、「テスト書いてないとかお前それ @t_wada の前でも同じ事言えんの」 でおなじみのt_wadaさん(和田 卓人さん、以下和田さん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」をウォンテッドリー向けにカスタマイズして講演いただきました。 このストーリーでは、今回の講演の経緯から社内の反応・Q&Aまで、講演に関する詳細をご紹介いたします。 社内講演のきっ

                                                    和田 卓人さん(t_wadaさん)に「予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント」を社内で講演いただきました! | Wantedly Engineer Blog
                                                  • 「共通基盤」を超えよ! 今、Platform Engineeringに取り組むべき理由

                                                    OpenShift.Runで登壇した資料です。

                                                      「共通基盤」を超えよ! 今、Platform Engineeringに取り組むべき理由
                                                    • ServerlessDays Tokyo 2023が最高すぎた! - Qiita

                                                      はじめに 4年ぶりの開催となるServerlessDays Tokyoに参加してきました https://tokyo.serverlessdays.io/ 「もっとうまくやりたい、誰よりも上手にやりたい」 というメッセージとともに開催されたServerlessDays Tokyo 2023ですが、超豪華なスピーカー陣を国内外から集め、ここ数年のServerlessの成熟と未来をしっかりと味わえる濃いイベントです。 1日目がセッション、2日目がワークショップということで、熱力の高いうちに激熱なサービスを素早く学べる構成になっていて、とても充実した内容でした。 所感 4年前のServerless LambdaをはじめとするFaaSをいかに簡単にデプロイ、運用していくかというツール系の話と S3やSQS,SNSなどのFaaS以外のServerlessなサービスの組み合わせでLowOpsな仕組みを

                                                        ServerlessDays Tokyo 2023が最高すぎた! - Qiita
                                                      • データ分析を始めるにあたり最低限知っておくべきこと|データ分析とインテリジェンス

                                                        まずやってみるのはいいけれども限度はあるはず。それはどこだサッカーに興味があるならば、ルールブックを熟読するよりも先にとにかくサッカーをやってみるのがいい、ということに反対する人はあまりいないと思う。 とはいえ全く何も知らないのではゲームが成立しなくなってしまうので、最低限知っておくべきことはあるはずだ。例えば、どうなったら得点になるのかは必須だろう。あとはゴールキーパー以外は手を使ってはいけないとか、範囲を出たらスローインになるとかだろうか。 では「データ分析」における「最低限知らないといけないこと」は何なのだろうか、と考えた内容をまとめた。 前提として、本記事の「データ分析」は「意思決定のための情報=インテリジェンスを作ること」に絞る。言い換えると、システムに組み込んで意思決定と行動を自動化するような「データ分析」は対象外とする。 インテリジェンスについての説明は「情報」には「データ」

                                                          データ分析を始めるにあたり最低限知っておくべきこと|データ分析とインテリジェンス
                                                        • プロダクト目線とエンジニア目線でストーリーを紡ぐ「全体マップ」の作り方 - KAKEHASHI Tech Blog

                                                          カケハシでエンジニアリングマネージャーを担当しているいくおです。 今回は、私たちのチームで中規模以上(複数スプリントにまたがるもの)の機能開発を行うときに作成している「全体マップ」について紹介します。 全体マップを考案したのはチームメンバーの椎葉さんなのですが、「いくおさん言語化うまいからブログにしてください!」とおだてられたので、それを真に受けて私がブログに書きます。 全体マップを作るようになってから、中規模の開発で自分たちの状況を把握しやすくなりました。また、全体マップを通して関係者全員がコミュニケーションすることで、なめらかな協働関係を築けるようになりました。こういった実体験からも、ぜひ多くの現場で全体マップを試してみたいと思っています。 では、全体マップとは一体なんなのか、どうやって活用するとよいのか、解説します。 この記事は秋の技術特集 2024の6記事目です。 ユーザーストーリ

                                                            プロダクト目線とエンジニア目線でストーリーを紡ぐ「全体マップ」の作り方 - KAKEHASHI Tech Blog
                                                          • オブジェクト指向の複雑性を軽減する、データ指向プログラミング入門

                                                            思った以上に反響をいただき嬉しく思っています。SNSやコメントで言及していただいている構造化プログラミングとの比較や現代的なOOP開発への適応記事を執筆予定です。記事が完成しましたら自分のSNSで共有いたしますので、もし良ければフォローしてお待ちいただけますと幸いです。(記事を書くのは思考が整理されて良いものですね。) TL;DR データ指向プログラミング(DOP) とは、データとコードを分割してアプリケーションを設計・実装するプログラミングパラダイムのこと。 DOPの実装は、以下の原則に従う。 コードとデータを分離する 汎用的なデータ構造でデータを表現する データをイミュータブルなものとして扱う データスキーマとデータ表現を分離する 個人的にDOPは、バックエンドを宣言的プログラミングっぽく書くための現実的な解だと捉えています。実装の詳細は翔泳社より出版されている「データ指向プログラミン

                                                              オブジェクト指向の複雑性を軽減する、データ指向プログラミング入門
                                                            • 削除のビジネスロジックをドメイン層に閉じ込める簡単で強力な「DeletableIDパターン」の紹介

                                                              この記事は 株式会社ログラス Productチーム Advent Calendar 2023 13日目の記事です。 はじめに 〇〇を削除できるかどうかのビジネス処理、皆さんはどう実装していますか? 同僚の話題になった記事でも削除の認可処理をどこに記述すべきか?は難しいと説明されています。今回はお題は認可っぽいもので書きますが広範に「削除ができるかどうか?」のビジネスロジックをドメイン層にどう閉じ込めるかの便利な実装パターンを紹介します。 削除処理のビジネスロジックの取り扱いは難しい 削除処理のビジネスロジックの実装はシンプルだけど更新処理や作成処理と比べて意外と難しいです。 それはなぜかというとドメインオブジェクト内の実装に削除処理を書くことができないからです。 例えば権限に管理者と一般ユーザーの二つの権限があるとします。

                                                                削除のビジネスロジックをドメイン層に閉じ込める簡単で強力な「DeletableIDパターン」の紹介
                                                              • アーキテクチャの進化はドメインイベントが起点になる - KAKEHASHI Tech Blog

                                                                こちらの記事はカケハシ Advent Calendar 2023 Part2の24日目の記事になります。 adventar.org はじめに 反復的な開発は、変更容易性の高いソフトウェアが不可欠です。ソフトウェア開発の経験がある方なら、デリバリ後の洞察や市場環境の変化から、新しい機能の追加やアーキテクチャの進化の必要性に直面したことが一度はあるでしょう。 私自身、要求分析手法やSOLID原則等の技法を取り入れ、変更容易性に対応する多くのプロジェクトに参加しました。しかし、どれだけ優れた手法や技法を持っていても、変更が難しい要求が出てくることは避けられません。その際、「過去の出来事」を正確に記録していれば、後から見返して問題解決が容易だったと感じることがよくあります。 ドメイン駆動設計(DDD)では、「過去に起こった出来事」を表現するドメインモデルを「ドメインイベント」と呼びます。変更容易性

                                                                  アーキテクチャの進化はドメインイベントが起点になる - KAKEHASHI Tech Blog
                                                                • ドメイン駆動設計の実践

                                                                  2024年7月20日に発売された『ドメイン駆動設計をはじめよう』の概要説明と、ソフトウェア開発現場での活用方法。 ①何が書いてあるか? ②事業活動の分析(1章)⇒設計判断 5章、6章、7章、8章、10章 ③業務知識の発見(2章) ④事業活動の複雑さに立ち向かう(3章) ⑤区切られた文脈どう…

                                                                    ドメイン駆動設計の実践
                                                                  • DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁

                                                                    "Object-Oriented Conference 2024" の登壇資料です。 https://ooc.connpass.com/event/305241/

                                                                      DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁
                                                                    • 仕事を読み解くキーワード:納得感のある音を鳴らす|採用情報|任天堂

                                                                      ゲームの世界で鳴るさまざまな音は、サウンドデザイナーとサウンドプログラマーが協力して作り上げています。たとえば、オブジェクト同士が接触したときに材質や形状、衝撃の強さなどに応じて変化する音になるよう、サウンドデザイナーが音のデータを作成し、サウンドプログラマーがそのデータを鳴らします。『ゼルダの伝説 ティアーズ オブ ザ キングダム』では、私はサウンドプログラマーとして、サウンドデザイナーが作りだす多彩な音を、リアリティを感じられるように鳴らす役割を担いました。 このゲームには、さまざまな種類の材質や形をしたオブジェクトが登場します。プレイヤーはこれらを自由に動かせるだけでなく、複数のオブジェクトをくっつけることができるため、自由な発想で武器を作ることも、乗り物を作って動かすこともできます。そして高い自由度があることで、私たち開発者の想像を超える遊び方が生まれることもあります。 開発を進め

                                                                        仕事を読み解くキーワード:納得感のある音を鳴らす|採用情報|任天堂
                                                                      • 設計の知識と技能で駆動するソフトウェア開発

                                                                        Object Oriented Conference 2024 登壇の機会をいただいたので、ここ数年、設計について考えていることを、言語化してみました。 はじめに 設計と開発プロセスの関係性 ソフトウェア設計の知識と技能 ① ソフトウェア設計の基礎知識 a. 基本課題 b…

                                                                          設計の知識と技能で駆動するソフトウェア開発
                                                                        • タイミーのRailsアプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog

                                                                          この記事はTimee Advent Calendar 2023シリーズ 1の1日目の記事です。 はじめに こんにちは、タイミーでバックエンドエンジニアをしている須貝(@sugaishun)です。昨年は弊社でアドベントカレンダーに取り組んだか覚えていないのですが、今年はなぜかいきなり3トラックで臨むということで、非常に勢いがあるなと思いました。量と勢いで攻めていくところが弊社らしいなと感じています。全て完走できると良いですね。 さて私はその中のひとつのトップバッターということで、タイミーのRailsアプリケーションについて弊社のシニアなエンジニアたちと雑談した内容を座談会風にお伝えできればと思います。事の発端は弊社Slackのバックエンドエンジニアが集まるチャンネルで「タイミーのRailsアプリケーションの健康度はどのくらいなのか?」という会話をしたことでした。その時の私の感想は「人によって

                                                                            タイミーのRailsアプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog
                                                                          • エクセル+パワポでネットワーク構成情報を管理するCisco「Network Sketcher」を試してみた【イニシャルB】

                                                                              エクセル+パワポでネットワーク構成情報を管理するCisco「Network Sketcher」を試してみた【イニシャルB】
                                                                            • DDDやってみたら 実装以前の領域での学びが深かった話

                                                                              ふりかえりでふりかえることしかできなかったジュニアチームが、次の打ち手を出せるチームになるのにやったこと

                                                                                DDDやってみたら 実装以前の領域での学びが深かった話
                                                                              • 【アーカイブ動画】t-wadaさんが後世に残したい、実録レガシーコード改善

                                                                                本イベントでは「実録レガシーコード改善」というタイトルで、実際にt-wadaさんがテストの全くないシステムを引き継いだところからスタートする実話をお話していただきます。 イベントページ: https://findy.connpass.com/event/304101/

                                                                                  【アーカイブ動画】t-wadaさんが後世に残したい、実録レガシーコード改善
                                                                                • マツコの知らない LINE ログインの世界

                                                                                  Ubie プロダクトプラットフォーム所属の nerocrux です。今回は Ubie において、 LINE ログインを成功させるために工夫したことをいくつか紹介したいと思います。 面白いこともすごいこともやってないし、対象読者もよくわかりませんが、興味があったら読んでみてください。 はじめに 症状検索エンジン「ユビー」について Ubie では、症状検索エンジン「ユビー」(以下、ユビーと呼ぶ)という一般ユーザー向けのサービスを展開しています。ユーザーが簡単な質問を回答することで、関連する病名や、適切な受診先情報を得ることができるサービスとなっています。 ユビーは Web ブラウザ経由で利用されることが多いですが、iOS / Android のネイティブアプリも提供しています。 ユーザーがユビーを利用する際に、ユビーのアカウントを作成することで、一貫性のある問診・受診・受診後のフォローアップ体

                                                                                    マツコの知らない LINE ログインの世界