タグ

設計に関するiwasimanのブックマーク (25)

  • ソフトウェアの内部品質に生じる様々な問題は組織設計にその原因があることも多い / 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
    iwasiman
    iwasiman 2023/11/22
    図解ですごくうまく表現されてますね...
  • 5月新刊情報『ソフトウェア設計のトレードオフと誤り』

    『ソフトウェア設計のトレードオフと誤り ―プログラミングの際により良い選択をするには』 Tomasz Lelek、Jon Skeet 著、渋川 よしき、山田 智子、田 健悟、辻 大志郎、宮永 崇史、小橋 昌明、柏木 祥子、岸 卓也、後藤 玲雄、棚井 龍之介、原木 翔、山 力世 訳 2023年5月25日発売予定 472ページ(予定) ISBN978-4-8144-0031-7 定価4,180円(税込) 「プログラムを設計するときに行った技術的な判断や選択が、後日大きな制約となる」これはプログラマなら誰しも経験したことのあることでしょう。書は、そんなプログラミングにおける各種の設計上の選択について、トレードオフの内容やそれがどのような誤りを招きうるのかという点を踏まえて紹介する書籍です。 コードの重複、エラーや例外処理、柔軟性と複雑性のバランスのようなコードレベルの選択から、APIの設

    5月新刊情報『ソフトウェア設計のトレードオフと誤り』
    iwasiman
    iwasiman 2023/04/19
    これはまた設計周りの良著の予感...
  • 【感想】『ちょうぜつソフトウェア設計入門 ――PHPで理解するオブジェクト指向の活用』:圧倒的表紙詐欺からのちょうぜつ深い設計入門 - Rのつく財団入り口

    #ちょうぜつ を読み進める前に言っておく! (AA略 2022/12刊行、エンジニア界隈でも話題になった。著者の田中ひさてるさんがSoftware Design誌に連載した記事+アドベントカレンダー掲載の話+カラーページに同雑誌のちょうぜつエンジニアめもりーちゃんの連載分も掲載した、ソフトウェアの設計を深く深く追求したとなっています。 表紙のキャラはちょうぜつエンジニアめもりーちゃん(銀髪?ロング姫カットの右側の子)とゆにっとさん(緑髪ショートにマリンルックの左の子)をメインに、ちょうぜつ技術書らしからぬ表紙。 最初は「オッコンピュータ書籍に時々ある萌え絵の表紙でオタク系エンジニャ〜を釣るタイプのでゴザルな。拙者こういうもイケるクチでござるよデュフ〜」的なちょうぜつ軽い感覚で読み始めたのですが... #ちょうぜつ を読み進める前に言っておく! (AA略 ちょうぜつエンジニアメモ

    【感想】『ちょうぜつソフトウェア設計入門 ――PHPで理解するオブジェクト指向の活用』:圧倒的表紙詐欺からのちょうぜつ深い設計入門 - Rのつく財団入り口
    iwasiman
    iwasiman 2023/02/13
    セルクマですよ。表紙はかわいいけど読んでいるといつのまにかクリーンアーキテクチャを完全に理解してしまう #ちょうぜつ本 の感想です。PHPerのみならずおススメ!
  • わかりやすいシステム構成図の書き方 - Qiita

    わかりにくいシステム構成図とは こんなシステム構成図を書いてないでしょうか? このシステム構成図のわかりにくい点が3つあります。それは 製品名は書いてあるが「役割」が書いていない データと処理が区別できない データの流れと制御の流れが区別できない の3つです。 わかりやすいシステム構成図 これら3つのわかりにくい点を改善したわかりやすいシステム構成図が↓です ポイントを解説していきます ポイント1. 製品名称ではなく「役割」を書く システム構成図には製品名称ではなくシステムコンポーネントの「役割」を書きます。 役割とは、例えば〇〇データや〇〇処理といったことであり、それを読むだけでシステムの動きを理解できる文字列です。役割をかかずに製品名称のみを書いてしまうと、その製品を知らない人が見たときに理解できません。例えば「Cloud Pub/Sub」という製品はGCPというパブリッククラウドの分

    わかりやすいシステム構成図の書き方 - Qiita
    iwasiman
    iwasiman 2022/06/12
    分かる...かも。一つの矢印でデータの流れと処理の流れの両方が表されちゃうケースありますよね。
  • 【感想】『良いコード/悪いコードで学ぶ設計入門』:コードの悪魔討伐の旅へ! 【前編】 - Rのつく財団入り口

    “良いコ/悪いコ”で悪魔討伐! (お排泄物)コード撲滅! 前々からで出ることは聞いていたのですが、爆殺シリーズやク〇コード動画でおなじみのミノ駆動さんのコード設計を扱ったがついに2022/4に商業で登場。東京ですと書泉ブックタワーでのコンピュータ書籍ベスト1を4週連続達成など、かなり売れています。 エンジニア界隈では早速GW中などに読んだ方も多いようでネットでも反響が大きく、感想記事もよく見かけます。Twitterでもハッシュタグ #ミノ駆動 で毎日のように反響を見ることができます。 僕もGW明けから拝読しました。とても学びの多いでしたので以下、章ごとに感想を。 “良いコ/悪いコ”で悪魔討伐! (お排泄物)コード撲滅! 1 悪しき構造の弊害を知覚する 2 設計の初歩 3 クラス設計 ―すべてにつながる設計の基盤― 4 不変の活用 ―安定動作を構築する― 5 低凝集 ―バラバラにな

    【感想】『良いコード/悪いコードで学ぶ設計入門』:コードの悪魔討伐の旅へ! 【前編】 - Rのつく財団入り口
    iwasiman
    iwasiman 2022/05/23
    セルクマですよ。話題の #ミノ駆動本 の読書記録と感想記事です。変更容易性の重要さが世に認知されますように!
  • ドメイン固有型(値オブジェクト含む)を再考する - かとじゅんの技術日誌

    Value Objectが盛り上がっているらしい。 Value Objectについて整理しよう - Software Transactional Memo Value Objectの説明に異論がないものの、主題はValue Object Obsessionのほうですよね。 こちらも聞いてみた。 fukabori.fm よい機会なので、よくわかっているつもりの、値オブジェクトというかドメイン固有型について再考してみよう。 それは値か属性か それはエンティティの全メンバーやデータベースの全列のために「顧客郵便番号」「送付先郵便番号」「事業所郵便番号」「契約日」などのクラス(メンバではなくクラス!)を定義して、immutableな振る舞いを強制する事を以てValue Objectであると言い張り、ドメイン知識の断片をそれぞれのクラスに書き散らして「高凝集になった」「型システムが守ってくれる」と喜

    ドメイン固有型(値オブジェクト含む)を再考する - かとじゅんの技術日誌
    iwasiman
    iwasiman 2022/05/18
    こちらもValue Object周りのお話。
  • Value Objectについて整理しよう - Software Transactional Memo

    Value Objectとは何であるか? マーチン・ファウラーのPatterns of Enterprise Application Architecture(PofEAA)やエヴァンス・エリックのDomain Driven Design: Tackling Complexity in the Heart of Software(DDD)が原典であるが、PofEAAではこう切り出している。 When programming, I often find it's useful to represent things as a compound. プログラミング時は物をcompound(合成物)として表現すると便利なことがしばしばある。 例えば2次元空間上での座標のように複数のメンバ(属性)を持つ物は便利である、と。しかしそれらを比較する方法は一意ではない、そこで Objects that a

    Value Objectについて整理しよう - Software Transactional Memo
    iwasiman
    iwasiman 2022/05/18
    定義を見つめ直す話。"Value ObjectはValueのように振る舞うObjectであって、ValueにObjectのような振る舞いを足す事ではない。"
  • #fukabori をきいて Value Object と Value Object パターンについて頭の中を整理 - Mitsuyuki.Shiiba

    連休の余韻も楽しんだので今日から散歩を再開した。ちょっと前までは「陽の光を浴びなきゃ!」と思って3時過ぎにウロウロしてたけど、これからはもうちょっと涼しい時間帯がいいなと思って、夕暮れ時に散歩しながら fukabori.fm を聴いてた。Value Object のお話。面白いなぁ 73. Value Object w/ kumagi | fukabori.fm kumagi さんの記事はこちら Value Objectについて整理しよう - Software Transactional Memo お絵描き PoEAA や DDD はだいぶ前に読んだことがあるけど、Value Object を雰囲気で捉えてるからちゃんと見直しておこうと思って、調べたりしながら絵を描いた。こういうことなのかな? (絵をかくほどでもなかった・・・ Value Object とは? kumagi さんも書いてる

    #fukabori をきいて Value Object と Value Object パターンについて頭の中を整理 - Mitsuyuki.Shiiba
    iwasiman
    iwasiman 2022/05/18
    Value ObjectとValue Object パターンが微妙に違う話。なるほどー。ここでも #ミノ駆動本 がひょっこり
  • そもそもエンジニアは何を設計するのか? 『はじめての設計をやり抜くための本 第2版』から解説

    仕様に沿ったプログラミングができるようになったエンジニアが設計に取り組むために、その全体像と具体的な手順を解説した技術書が『はじめての設計をやり抜くための 第2版』(翔泳社)です。書では大きく外部設計と内部設計、さらにアーキテクチャについて取り上げ、システムをゼロから作り上げるためのノウハウを解説。今回は「第2章 設計の目的」から、そもそもエンジニアは何を設計するのかを説明したパートを紹介します。 設計ができるようになるには、設計とは何かを知る必要があります。世の中には、設計に関する書籍がたくさん出回っています。最近では、オブジェクト指向設計に関するものが多いようです。書店に行くと、「オブジェクト指向」「UML」「ユースケース」といった文字が目に留まります。他にも、「アーキテクチャ」「デザインパターン」「フレームワーク」などもよく見かけるでしょう。これから設計を学ぶ皆さんは、学ぶことが

    そもそもエンジニアは何を設計するのか? 『はじめての設計をやり抜くための本 第2版』から解説
    iwasiman
    iwasiman 2022/05/14
    この本もちょっと気になっています。最近設計周りの本の機運が高まってますね
  • 『良いコード/悪いコードで学ぶ設計入門』著者トークに行ってきたので学びを綴る - Qiita

    はじめに 私は1年目のエンジニアとして、保守性や拡張性を意識したコーディングができるようになりたいと思っていた。そんな私にとってこのは発売前から非常に魅力的であった。 たまたま外出中のに池袋のジュンク堂へ寄ってもらい、先行発売されていたこのを無事ご購入。一応トークイベントまでに一読は済ませていた。 以下では基的にはトークイベントでの学びを書いていくが、若干の内容にも言及している。 意外と設計をするということが当たり前になっていない 著者の仙塲さん(以下、ミノ駆動さん)のお話を聞いてとても意外に思ったのが、設計やリファクタリングに対してネガティブな印象を持つ人が結構存在するということである。 良い設計をしていこうというムーブはエンジニア界にまだまだ浸透していないようなのだ。 私はこれまで勝手に、クリーンアーキテクチャなどの設計やリーダブルコードといった知識は、エンジニアにとって普通

    『良いコード/悪いコードで学ぶ設計入門』著者トークに行ってきたので学びを綴る - Qiita
    iwasiman
    iwasiman 2022/04/29
    “本書では、開発力をおとしめ、ソフトウェアの成長を阻害する、設計や実装上の問題を「悪魔」とたとえます。” 読むの楽しみ!
  • 『ソフトウェアアーキテクチャの基礎』は我々の海図たりえるか

    こんにちは、クレスウェア株式会社の奥野賢太郎 ( @okunokentaro ) です。今回は、最近噂としてよく耳にしていた書籍『ソフトウェアアーキテクチャの基礎 ― エンジニアリングに基づく体系的アプローチ』(オライリー・ジャパン社、Mark Richards, Neal Ford 著、島田浩二 訳、2022 年 3 月発行)を読了したので、その書評をまとめようかと思います。 この書籍は、アプリケーション・アーキテクチャを構築、維持する「アーキテクト」になるために必要な知識を現代(2020 年代)の視点から整理し、包括的に解説することを目的としているらしく、まさに 2022 年に読むべき内容に仕上がっています。 書評者は何者か この書籍はよいものでした。ただし、かなり広範囲に包括的に書かれたものであったため、どういう経験や知識を持った人間が読んだかによって、その好みや評価は分かれるだろう

    『ソフトウェアアーキテクチャの基礎』は我々の海図たりえるか
    iwasiman
    iwasiman 2022/04/13
    やっぱりこの本評価高いですね。読むのが楽しみになってきました。
  • 『良いコード/悪いコードで学ぶ設計入門 』を出版します|ミノ駆動

    こんにちは、リファクタリングが大好きなミノ駆動です。 これは、私が執筆した『良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方』について紹介する記事です。 2022年4月30日発売です(ほぼ同日に電子書籍版も出ます)。 AmazonなどECサイトで、すでに多くの予約が入っており、ヨドバシ.comでは一時期予約終了になったほどです。おかげさまで初版部数が2倍になりました。 ■どんな?皆さんはプログラミングでバグを埋め込みたいですか?ロジック修正が上手くいかず、ヒィヒィ言いながら長時間残業したいですか?イヤに決まってますよね。ところが現実には、 何度もバグを埋め込んでしまう ロジックを読み解くのに時間がかかる やっとロジック修正しても、全然違う箇所がバグ化してしまう ……ほとんど誰もが体験しているのではないでしょうか。 でも、こうした状況をなんとかしたいと思って

    『良いコード/悪いコードで学ぶ設計入門 』を出版します|ミノ駆動
    iwasiman
    iwasiman 2022/04/13
    どんなアレなコード例が出てくるのか怖いもの見たさでワクワクしちゃいます。Javaというのもいい。
  • 【感想】『ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本』:挫折せずDDD入門できる本【前編】 - Rのつく財団入り口

    ドメイン駆動設計(DDD)に入門してみよう さてエンジニアリング界隈でも設計の話になるとクリーンアーキテクチャと並んでよく話題に上がるドメイン駆動設計。『エリック・エヴァンスのドメイン駆動設計』という原典があるのですが難しすぎる、挫折したという声をよく聞きます。何を隠そう僕もむかーし電子書籍のセールか何かで買ったままKindleの奥に眠っていました。 2020年に出た書がボトムアップでわかりやすく説明してくれている!と評判も高いのでこちらで改めてDDD入門してみることにしました。 ドメイン駆動設計(DDD)に入門してみよう Chapter 1 ドメイン駆動設計とは Chapter 2 システム固有の値を表現する「値オブジェクト」 Chapter 3 ライフサイクルのあるオブジェクト「エンティティ」 Chapter 4 不自然さを解決する「ドメインサービス」 Chapter 5 データにま

    【感想】『ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本』:挫折せずDDD入門できる本【前編】 - Rのつく財団入り口
    iwasiman
    iwasiman 2022/02/14
    セルくまだぞい。拝読したのは去年なんですが、ボトムアップ #DDD 本の感想と読書記録の前編です。コードはC#ですが他言語メインの方にも分かりやすいと思います。
  • Webアプリケーションのパフォーマンス勉強会を開催しました! - ANDPAD Tech Blog

    はじめまして、サーバサイドエンジニアの立木です。 特定業種向けポータルサイトやスマートフォンゲーム開発などを経て、昨年3月に入社し、現在はANDPADの開発に従事しています。 アンドパッドでは、技術顧問をして頂いてる三谷(mita2)さんによる、データベースに関する勉強会が定期的に行われております。 tech.andpad.co.jp 先日もデータベースの観点から、Webアプリケーションのパフォーマンスをいかにして監視し、改善していくかという勉強会を開催していただきました。 今回はその勉強会について気になったポイントをまとめてみたいと思います。 当日の資料 概要 ANDPADの現状について分析 Datadogによる分析手法 よくある改善パターン 質疑応答 ANDPADの現状について分析 Webサイトのパフォーマンスは大事当たり前ですが、Webサイトにとってパフォーマンスはとても重要です。

    Webアプリケーションのパフォーマンス勉強会を開催しました! - ANDPAD Tech Blog
    iwasiman
    iwasiman 2021/02/11
    パフォーマンス向上のポイントがよくまとまっています。勉強会でこういうのを知れるのは良いなあり
  • WEB アプリケーション設計入門 / Introduction to web application design

    PHP Conference Japan 2020 トーク前提の資料です。そのため、トークがないと理解が難しいかもしれません。 https://youtu.be/UTKJ-Lgn3aI?t=36 ※冒頭音声が小さいです。マイクを手に持ってから聞こえやすくなると思います。 資料中の ADOP については下記を参照ください。 https://nrslib.com/adop/ # Abstract https://fortee.jp/phpcon-2020/proposal/da5b9d99-e5a6-4f51-adea-1f1c10d99020 # Ref https://github.com/nrslib/scrum-app-sample-php https://github.com/nrslib/repository-support-php # URL Togetter: https://

    WEB アプリケーション設計入門 / Introduction to web application design
    iwasiman
    iwasiman 2020/12/12
    10年とは限らず、特定の技術やFWに依存せず持続させられるようなアーキテクチャと設計の話。すごく良くまとまっている資料でした!じっくり読みたい。
  • モノリスからマイクロサービスへの設計の切り替え方 - Qiita

    この記事はGLOBIS Advent Calendar 2020の9日目の記事です。 こんにちは、@yohira_devです。 数年前からグロービスの開発案件に参画させていただいています。「智将は務めて敵にむ」という言葉がありますが、今回はグロービスのAdventCalanderで記事を書かせていただきます。 今回のAdventCalanderでは、「モノリスからマイクロサービスへの設計の切り替え方」について、書いていきたいと思います。 この記事を読むべき人 「マイクロサービスってなんか良さそう!うちもとりあえず導入してみようかな...」と思っている人 モノリスでは起こらなかったデータ不整合に消耗している人 モノリシックアプリケーションとマイクロサービスの違い モノリシックなWebアプリケーションを書いている感じで「手なりで」マイクロサービスを実装すると思わぬ落とし穴に嵌ることがあります

    モノリスからマイクロサービスへの設計の切り替え方 - Qiita
    iwasiman
    iwasiman 2020/12/10
    MSAの話。やっぱアーキテクト的な人も全集中して隙の糸=境界線をうまく見つけていく必要があるんですね。PofEAA、データ指向アプリケーションデザイン本はここでも役立つ模様。
  • 単一責任原則で無責任な多目的クラスを爆殺する - Qiita

    この記事は クラウドワークスアドベントカレンダー2020 8日目の記事です。 概要 こんにちは、クソコードを爆殺リファクタリングするのが大好きなミノ駆動です。 今回は単一責任原則の話です。 単一責任原則はSOLID原則のひとつとして有名で、2020年のオブジェクト指向カンファレンスのアンケートでも、SOLID原則の中で最も人気がありました。 皆さんは単一責任原則を遵守した設計をしていますか。 どんな構造が単一責任設計で、一方どんな構造が単一責任でない設計か、明確に意識していますか。説明できますでしょうか。 ところで「単一責任原則とはなんぞや」について、少なくとも私の観測範囲では、概念的な話にとどまっているものが多く、コードレベルで具体的に説明しているものは少ないように感じます。 そうした状況からか、単一責任原則の解釈が人によって違っていたりしているように感じます。 記事は、今一度単一責任

    単一責任原則で無責任な多目的クラスを爆殺する - Qiita
    iwasiman
    iwasiman 2020/12/09
    爆殺のタイトルでミノ駆動さんの記事と思ったらそうだった。解説も丁寧です。
  • プログラミング上達したい人に繰り返し読んで欲しい4冊改訂版|erukiti

    プログラミング上達したいんだったら、四の五の言わずに、 ・クリーンアーキテクチャ ・レガシーコード改善ガイド ・アジャイル・サムライ ・リファクタリング 系のどれか を、全部最低5回読み返して欲しい。それでプログラマとしては圧倒的に成長できるんだから、マジで読んで — Next.js + Hasura 最速プロトタイピング @技術書典9 出す予定 (@erukiti) July 27, 2020 先日、こういうツイートをしたらバズってしまいまして。これらのを理解できるまで読みこめばプログラマとして成長できますよーというもので、 ・ クリーンアーキテクチャ ・ レガシーコード改善ガイド ・ アジャイルサムライ ・ リファクタリング 系のどれか(例えばリファクタリング第二版) の4冊を挙げました。いろいろな人の感想を読んで、補足が必要そうだなと思ったので記事として書きなおしています。 この

    プログラミング上達したい人に繰り返し読んで欲しい4冊改訂版|erukiti
    iwasiman
    iwasiman 2020/08/05
    なんとレビューを受けて煽り成分を抜いたとのことで改訂版が。速いですね。こちらは普通に読める良本オススメ記事となっています。
  • プログラミング上達したい人に繰り返し読んで欲しい4冊|erukiti

    プログラミング上達したいんだったら、四の五の言わずに、 ・クリーンアーキテクチャ ・レガシーコード改善ガイド ・アジャイル・サムライ ・リファクタリング 系のどれか を、全部最低5回読み返して欲しい。それでプログラマとしては圧倒的に成長できるんだから、マジで読んで — Next.js + Hasura 最速プロトタイピング @技術書典9 出す予定 (@erukiti) July 27, 2020 先日、こういうツイートをしたらバズってしまいまして。これらのを理解できるまで読みこめばプログラマとして成長できますよーというもので、 ・ クリーンアーキテクチャ ・ レガシーコード改善ガイド ・ アジャイルサムライ ・ リファクタリング 系のどれか(例えばリファクタリング第二版) の4冊を挙げました。いろいろな人の感想を読んで、補足が必要そうだなと思ったので記事として書きなおしています。 追記

    プログラミング上達したい人に繰り返し読んで欲しい4冊|erukiti
    iwasiman
    iwasiman 2020/08/04
    何回読むかは人それぞれですが、どれも良い本でお勧め。そしてerukitiさんの文章は煽り成分が気になってちょっとモヤる次第であります。
  • オワコン大手SIerに学ぶアンチパターン - Qiita

    軽い読み物としておもしろおかしく読んでください。 はじめて社外の人の仕事を見た 今まで社内の成果物しか目にしてこなかったのですが、ふとしたきっかけで外部ベンダーが作ったシステムを移行することになりました。 会社名を見て、よく知った会社でちょっと安心しました。 「ここなら設計書とかもきちんとしてるだろう、多少古臭くても堅実にやってるんじゃないかな」って思ってました。ええ。 実態は全然違った とんでもない量のExcel設計書として渡されました。 さすがに設計が専門だけあって設計書の量はすごいなぁ。と思って読んでいるといろいろ察してきました。 正直、「オワコン大手SIer」と呼ぶしかありません。設計しかできないと思っていたのに、何もできないなんて・・・ 実際に自分が見た「オワコン大手SIer」のアンチパターンをご紹介していきます。 自分が多く当てはまっている場合は今すぐ直してください。移行する

    オワコン大手SIerに学ぶアンチパターン - Qiita
    iwasiman
    iwasiman 2020/06/15
    もはやSIer関係なくだめなまま進んでしまった古くて大きなシステムの例。コメにもありますがテーブル名やカラム名にローマ字は業務システムなら普通にあるかと。if (xx == false)は自分も許容派です。