タグ ソフトウェア設計
人気順 5 users 10 users 100 users 500 users 1000 usersGolang開発者のためのクリーンアーキテクチャ
はじめに クリーンアーキテクチャは、ソフトウェア設計の分野で非常に重要な概念です。 しかし、その理解は容易ではなく、明確な正解が存在するわけではありません。 多くの人が異なる解釈を持ち、他の設計思想と混在していることもあります。 この記事では、自分なりの視点からクリーンアーキテクチャを解釈し、その整... 続きを読む
「ソフトウェア設計」のドメイン - 「データモデリングでドメインを駆動する」を読んで
2024.05.28 『データモデリングでドメインを駆動する』読書感想会 https://kichijojipm.connpass.com/event/315276/ 続きを読む
【ソフトウェア設計】例外処理を考える
はじめに 最近書いてるソフトウェア設計シリーズです。今回は例外に関して。以前、以下のような記事を書いたのですが、もう少し深堀して書いてみました。 ちなみにソフトウェア設計シリーズは他には以下を書いています。 モジュールになぜ分けるのか? モジュール、依存、そしてカプセル化 モジュールをどう分割するのか... 続きを読む
設計の知識と技能で駆動するソフトウェア開発
Object Oriented Conference 2024 登壇の機会をいただいたので、ここ数年、設計について考えていることを、言語化してみました。 はじめに 設計と開発プロセスの関係性 ソフトウェア設計の知識と技能 ① ソフトウェア設計の基礎知識 a. 基本課題 b. 解決のアプローチ c. モジュール化:基本となる4つの技法 ② モジュール... 続きを読む
【ソフトウェア設計】モジュールをどう分割するのか?
はじめに 前々回や、前回に引き続き、ソフトウェア設計の指針に関する話をしたいと思います。 関数やクラス、そしてサービスなどシステムの塊の単位をモジュールと呼び、モジュールを作る事で、認知負荷を下げ複雑性と戦うという話をしてきました。では、モジュールは「いつ」分割するのが良いでしょうか? また、他に... 続きを読む
TypeScriptで学ぶ!SOLID原則
はじめに 皆さんこんにちは、株式会社エムアイ・ラボのエンジニアです! 今回はソフトウェア設計のSOLID原則について学習したので、弊社のメインの開発言語であるTypeScriptのサンプルコードを使って共有できればと思います。 SOLID原則は、オブジェクト思考プログラミングにおいて、ソフトウェアがメンテナンスしやすく... 続きを読む
『ソフトウェア設計のトレードオフと誤り』を読んで、”日付や時刻”を扱うことの難しさについて考えた - Magnolia Tech
ソフトウェア設計のトレードオフと誤り ―プログラミングの際により良い選択をするには 作者:Tomasz Lelek,Jon SkeetオライリージャパンAmazon ソフトウェア開発経験の最初の段階で「一つの機能には複数の選択肢が有って、メリット・デメリットがそれぞれ有り、それらはトレードオフの関係に有り、容易には決めることがで... 続きを読む
ソフトウェア設計のトレードオフと誤りを出版しました | フューチャー技術ブログ
すでに多くの方々にお手に取っていただいておりますが、オライリージャパンから「ソフトウェア設計のトレードオフと誤り」の翻訳をフューチャーのメンバーと一緒に出版いたしました。好評なようで、発売一カ月ほどで増刷も決定いたしました。みなさまご購入いただき、ありがとうございます。初版をお買い求めになられた... 続きを読む
ソフトウェア設計のトレードオフと誤り
「プログラムを設計するときに行った技術的な判断や選択が、後日大きな制約となる」これはプログラマなら誰しも経験したことのあることでしょう。本書は、そんなプログラミングにおける各種の設計上の選択について、トレードオフの内容やそれがどのような誤りを招きうるのかという点を踏まえて紹介する書籍です。 コード... 続きを読む
5月新刊情報『ソフトウェア設計のトレードオフと誤り』
『ソフトウェア設計のトレードオフと誤り ―プログラミングの際により良い選択をするには』 Tomasz Lelek、Jon Skeet 著、渋川 よしき、山田 智子、本田 健悟、辻 大志郎、宮永 崇史、小橋 昌明、柏木 祥子、岸本 卓也、後藤 玲雄、棚井 龍之介、原木 翔、山本 力世 訳 2023年5月25日発売予定 472ページ(予定) ISBN97... 続きを読む
ソフトウェア設計についてAIと壁打ちしたら良い体験でした(準中級者〜中級者向け) | DevelopersIO
くらにゃんの人格が憑依したAI相手になぜなぜ分析・・・ではなく「にゃぜにゃぜ」と問答をしていたらあっという間に時間が過ぎました。自分がある程度勉強している分野の壁打ち学習には良いかもしれません。 こんにちは。AWS事業本部コンサルティング部に所属している今泉(@bun76235104)です。 ソフトウェア設計・クラ... 続きを読む
ちょうぜつ改め21世紀ふつうのソフトウェア設計
それできみ、 そのSOLIDとやらは なんの役に立つのかね ~オブジェクト指向の原則 パッケージ編~ 続きを読む
CTO から見た,なぜスタートアップ 初期のソフトウェア設計は壊れがちなのか
Title: why the application design is breaking sometimes at a startup company? - a CTO explains the reason. Forkwell Library #14 続きを読む
『ドメイン駆動設計』の解説記事を書きました - ソフトウェア設計を考える
本日(1/18)発売された、Software Design誌 2023年2月号の第一特集で「ドメイン駆動設計入門」を書きました。 執筆の意図と記事の概要を簡単にまとめておきます。 Software Design 2023年2月号|技術評論社 執筆の意図 特集のサブタイトルにある通り「設計力を磨きたい」読者が、ドメイン駆動設計の基礎を知ることで「設... 続きを読む
本の紹介『読みやすいコードのガイドライン』 - ソフトウェア設計を考える
はじめに 良い本です。コードを書く人であればだれでもが気づきと学びがあるでしょう。 特に、コードの規模が大きく長期間にわたってさまざまな関係者が読むことになるプログラムを書く人にはぜひ読んでほしい本です。 gihyo.jp この本から学べるのは、どちらかというと「やり方」よりも「考え方」です。 書き方の具体例... 続きを読む
【続】ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog
はじめに 本記事は前回の記事である「ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog」の続編です。 前回の記事の内容がベースとなっていますので、「APoSD って何だっけ?」という場合はぜひ前回の記事をご覧になってから... 続きを読む
設計の学び方:自分流のススメ
BPStudy#178〜成長し続け、変更を楽に安全にできるソフトウェア設計とは 株式会社ビープラウドが主催するIT勉強会 2022年6月30日 設計を学ぶのは自分のため 「正しい」学び方があるわけではない 設計の学びに特定の到達点はない 何を学ぶのか 設計の学び方 上達する:練習して変化する 成長する:時間をかけて変化する... 続きを読む
GoogleのDesign Docsから学ぶソフトウェア設計 - Qiita
概要 Design Documentと聞くと何を想像しますか? 一般的にDesign Documentが指すのは設計書であることが多いのではないでしょうか。 設計書、簡単に説明するのであればソフトウェアを「どうやって作るの?」を説明したドキュメントです。 Googleではソフトウェアエンジニアリング文化における重要な要素として、今回お... 続きを読む
2022年上半期に読んだ技術書
2022年上半期はとある都合もあってかなりの数の技術書を読んだので、その中でも良かったものとかの感想をまとめておきます。 2022年上半期で一番良かった技術書 A Philosophy of Software Design ソフトウェア設計の目的は複雑さを軽減することであるとして、その複雑さの定義と軽減する手法が書かれています。最近まで2... 続きを読む
"The Essence of Software"が提唱する全く新しいソフトウェア設計の考え方|Idein株式会社|note
エンジニアのbonotakeです。Ideinに入ってかれこれ3年以上経ちますが、Ideinでブログ記事を書くのは初めてです。 今日は、ソフトウェア設計の全く新しい考え方について書かれた "The Essence of Software" という本の紹介をしたいと思います。 この本の著者はMIT教授でソフトウェア工学の世界的な研究者であるDaniel Jac... 続きを読む
ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog
はじめに スタンフォード大学の John Ousterhout 教授が執筆された “A Philosophy of Software Design”(以下 APoSD と略す) という書籍をご存じでしょうか? 書籍のタイトルを直訳すると、「ソフトウェア設計の哲学」となります。書籍の内容はまさに、ソフトウェア設計について扱っています。 本書籍をベースに、「A Phi... 続きを読む
変数(variable)と値(value) - ソフトウェア設計を考える
はじめてScalaに触れたとき、変数宣言(var)と値宣言(val)を使い分ける言語仕様に、なるほどなあ、と思った。簡単に言えば、変数(var)は再代入できて、値(val)は再代入できない。 プログラミングのスタイルとして、var宣言は命令的なプログラミング、val宣言は宣言的なプログラミングになる。どちらのプログラミングス... 続きを読む
ソフトウェア設計を学びたい人々にまず教えるべきことはテスト技法ではないか - lacolaco
根本の問題意識 ソフトウェアの設計スキルはどのように獲得する(させる)ことが効果的であるのか ソフトウェアアーキテクチャの目的 そもそもソフトウェアアーキテクチャはどのような欲望を満たすための方法か ソフトウェアアーキテクチャの目的は、求められるシステムを構築・保守するための必要な人材を最小限に抑え... 続きを読む
ソフトウェア設計・アーキテクチャの学び方 - Qiita
はじめに この記事はHow to Learn Software Design and Architecture | The Full-stack Software Design & Architecture Mapを翻訳したものです。 翻訳がおかしい箇所などあればご指摘頂けるとありがたいです。 元記事の著者: Khalil Stemmler(@stemmlerjs) 設計、アーキテクチャ、フロントエンド、ブロックチェーンに興... 続きを読む
ソフトウェア設計についての原則や法則についてまとめてみた
ソフトウェア設計について、YAGNIやSOLIDなど多くの原則・法則があることが知られていますが、その解釈にはぶれが存在することが多いです。そこで、特に有名なものあるいは有用と感じることが多いものをいくつかピックアップして、その解釈やトレードオフについてまとめてみました。 注意としては、SOLIDが入ってること... 続きを読む