- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2023-09-01T12:12:49+09:00","default:irrp","irrp")
#author("2024-04-03T12:44:59+09:00","default:irrp","irrp")
→上流工程一般
→基本設計
→アーキテクチャ
→ドキュメント作成
→アルゴリズム
#contents
*サブトピック [#u62b575e]
-オブジェクト指向
*設計・デザイン一般 [#n6914895]
-[[フロントエンドのデザインパターン>https://zenn.dev/morinokami/books/learning-patterns-1]] 2022.10
-[[どうしてあなたの共通化は間違っているのか:目次 #デザインパターン - Qiita>https://qiita.com/wolfmagnate/items/73c3770cf036eada630d]] 2024.3
-[[詳細設計の書き方 #初心者 - Qiita>https://qiita.com/k-kimu/items/300a631e7599453fb4e3]] 2024.2
-[[オブジェクト指向の複雑性を軽減する、データ指向プログラミング入門>https://zenn.dev/chillnn_tech/articles/e78a76f94ad45a]] 2023.10
-[[概念モデリングや設計原則は進化しているのか: プログラマの思索>https://forza.cocolog-nifty.com/blog/2023/10/post-9c7f0d.html]] 2023.10
--概念モデリングや設計原則は以前よりも変化していないように思う。
-[[Iframeを使いこなそう。~ EC決済のセキュリティ対策に関連して ~ - GMOインターネットグループ グループ研究開発本部>https://recruit.gmo.jp/engineer/jisedai/blog/iframe/]] 2023.10
-[[クレカ決済にみる外部システム連携する際の堅牢な設計 - GMOインターネットグループ グループ研究開発本部>https://recruit.gmo.jp/engineer/jisedai/blog/robust-design-with-credit-card/]] 2023.10
-[[今さら聞けないログの基本と設計指針 - Qiita>https://qiita.com/tadashiro_ninomiya/items/19c774898c68add6185e]] 2023.9
-[[いいねとその通知機能をDynamoDBで設計したら思ったよりムズい - エムスリーテックブログ>https://www.m3tech.blog/entry/2023/08/25/110000]] 2023.8
-[[『ソフトウェア設計のトレードオフと誤り』を読んで、”日付や時刻”を扱うことの難しさについて考えた - Magnolia Tech>https://blog.magnolia.tech/entry/2023/07/16/150521]] 2023.7
-[[TOCTOUを忘れずに設計・実装する>https://zenn.dev/kittybbit/articles/dfd7284f5ff10a]] 2023.5
--TOCTOU(または TOCTTOU)は、Time of check to time of use.の略で、チェックのタイミングと使用のタイミングに、ズレがあると発生する問題
-[[読みやすいコードを書くためのガイドライン>https://zenn.dev/arsaga/articles/ba9ec8c004511c]] 2023.4
-[[【React】「困難は分割せよ」―― 複雑な画面は小さな機能に分けて実装しよう。 - Qiita>https://qiita.com/honey32/items/2e6206c7dc1974b9bf9a]] 2023.1
-[[Pub/Sub とは  |  Cloud Pub/Sub ドキュメント  |  Google Cloud>https://cloud.google.com/pubsub/docs/overview?hl=ja]] 2023.1
-[[「ビジネスロジック」とは何か、どう実装するのか - Qiita>https://qiita.com/os1ma/items/25725edfe3c2af93d735]] 2021
-[[防御的プログラミングと契約プログラミング - Qiita>https://qiita.com/yoshitaro-yoyo/items/bb8cc631276380b68c13]] 2022.10
-[[The Art of Logging. In order to get the most of the logs… | by Jaouher Kharrat | Sep, 2022 | Medium>https://medium.com/@JaouherK/creating-a-human-and-machine-freindly-logging-format-bb6d4bb01dca]] 2022.10
-[[「JavaとJavaScriptは別だからw」と言いながら、CみたいにJavaを書く人々への処方箋 - Qiita>https://qiita.com/470_aaa/items/847312bd218ccd6d86f4]] 2022.6
-[[system-design-primer/README-ja.md at master · donnemartin/system-design-primer · GitHub>https://github.com/donnemartin/system-design-primer/blob/master/README-ja.md]] 2017
-[[デザインの現場で絶対に必要になる基礎知識7選 | DevelopersIO>https://dev.classmethod.jp/articles/design_basis_beginner/]] 2022.4
-[[なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】>https://qiita.com/mskmiki/items/544149987475719e417b]] 2021.12
-[[とある契約の備忘目録。契約による設計(Design by Contract)で信頼性の高いソフトウェアを構築しよう。>http://zecl.hatenablog.com/entry/20100131/p1]] 2010.1
-[[意外と知られていない構造化プログラミング、あるいは構造化プログラミングはデータも手続きと一緒に抽象化する、あるいはストロヴストルップのオブジェクト指向プログラミング史観>http://www.tatapa.org/~takuo/structured_programming/structured_programming.html]] 2014.1.23
-[[ソフトウェア設計とは何か 〜 設計にはプログラミング経験が必要か否か>http://kuranuki.sonicgarden.jp/2013/01/post-109.html]] 2013.1.22
-[[バッチ処理について考える>https://qiita.com/koduki/items/e90ee1fea5aa75071d95]] 2020.1
-[[バッチ処理を再考する>http://d.hatena.ne.jp/okachimachiorz/20121125/1353844235]] 2012.11.25
-[[Modeling With Data>http://modelingwithdata.org/about_the_book.html]]
-[[設計と実装の狭間で>http://d.hatena.ne.jp/okachimachiorz/20121111/1352600604]] 2012.11.11
-[[エンジニアが一からUX/UIデザインを学ぶのに役立つ記事まとめ11個 >http://it-ch.net/t/49]] 2012.8.1
-[[なぜ状態遷移表を使うと、品質の良い開発ができるのか>http://monoist.atmarkit.co.jp/mn/articles/1205/23/news001.html]] 2012.5.23
-[[設計ミスをなくそう!現場を救うレビューの秘訣>http://itpro.nikkeibp.co.jp/article/COLUMN/20100714/350316/]] 2010.7.27
-[[読み方”を知って、レビューをもっと効果的に>http://www.atmarkit.co.jp/im/carc/serial/review/03/01.html]]
-[[智慧カード>http://triz.sblo.jp/archives/20070814-1.html]]
-[[フローチャートの悪夢,ふたたび>http://d.hatena.ne.jp/JavaBlack/20161224/p1]] 2016.12
-[[フローチャートがダメな3つの理由>http://blog.livedoor.jp/dankogai/archives/51083212.html]] 2008.7.19
--表現力がしょぼい
--人間はフローチャートのようには考えない
--フローチャートには実は重要な利点が一つある>プログラマーでなくとも理解できる
-[[設計文書のうまい書き方>http://www.hyuki.com/yukiwiki/wiki.cgi?HowToWriteAnEffectiveDesignDocument]]
-[[仕様記述言語>http://ja.wikipedia.org/wiki/%E4%BB%95%E6%A7%98%E8%A8%98%E8%BF%B0%E8%A8%80%E8%AA%9E]]
--Z言語
--VDM
--LOTOS
--SDL
--OBJ
--CafeOBJ
--SpecC言語
--UML
-[[汎用グラフィカルモデリング言語SysML:http://www.atmarkit.co.jp/im/carc/serial/redge49/redge49b.html]]
*ドメイン駆動設計(DDD) [#g512ff02]
-[[ドメイン駆動設計入門を読んで 前半 - nextbeat-engineering - Medium>https://medium.com/nextbeat-engineering/%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88%E5%85%A5%E9%96%80%E3%82%92%E8%AA%AD%E3%82%93%E3%81%A7-%E5%89%8D%E5%8D%8A-4835fb4da703]] 2023.9
-[[ざっくりDDD・クリーンアーキテクチャにおける各層の責務を理解したい?(ドメイン層・ユースケース層編) - Qiita>https://qiita.com/kotobuki5991/items/22712c7d761c659a784f]] 2023.8
-[[ふわっと理解するDDD ~ドメイン駆動設計~ - Qiita>https://qiita.com/yu-saito-ceres/items/f73262cedcdd6e8e75c8]] 2023.8
*アスペクト指向(AOP) [#ie71cf20]
-[[Spring Bootで、独自アノテーションを目印にAOPを行う方法 - エキサイト TechBlog.>https://tech.excite.co.jp/entry/2023/12/06/100456]] 2023.12
-[[[速習] ドメイン駆動設計 最新 GPT-4 32kを使用した設計手法について - Qiita>https://qiita.com/ShigemoriMasato/items/73d25705f7db1b692047]] 2023.8
-[[今こそ知りたいSpring DI x AOP #jsug | ドクセル>https://www.docswell.com/s/MasatoshiTada/Z818E5-spring-di-aop-for-every-developers]] 2020.12
-[[ドメイン駆動設計(DDD)・オニオンアーキテクチャとは? - Qiita>https://qiita.com/k_yamaki/items/bf99d3bf64a84258a3a1]] 2023.7
-[[DDDでプロダクト開発をしたので振り返ってみた - JMDC TECH BLOG>https://techblog.jmdc.co.jp/entry/2023/06/26/110000]] 2023.6
-[[ドメイン駆動設計(DDD)を整理>https://zenn.dev/sutamac/articles/7e864fb9e30d70]] 2023.5
-[[しょぼちむのエヴァンス本のススメ / syobochim read Evans Book - Speaker Deck>https://speakerdeck.com/syobochim/syobochim-read-evans-book]] 2023.2
-[[最近の海外DDDセミナーを聞いてみたら色々と常識が破壊された - Qiita>https://qiita.com/dairappa/items/fd136a98cab98c517673]] 2022.2
-[[[DDD]ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か - Qiita>https://qiita.com/little_hand_s/items/ebb4284afeea0e8cc752]] 2017.10
-[[DDD本を読むためには前提知識が非常に多いよ - Qiita>https://qiita.com/na-777/items/d5877e68697ef13ac373]] 2022.11
-[[[ 技術講座 ] Domain-Driven Designのエッセンス -目次-|オブジェクトの広場>https://www.ogis-ri.co.jp/otc/hiroba/technical/DDDEssence/index.html]] 2022.9
-[[戦術的DDDをGoで実現する【Value Object編】 - Yappli Tech Blog>https://tech.yappli.io/entry/2022/08/19/%E6%88%A6%E8%A1%93%E7%9A%84DDD%E3%82%92Go%E3%81%A7%E5%AE%9F%E7%8F%BE%E3%81%99%E3%82%8B%E3%80%90Value_Object%E7%B7%A8%E3%80%91]] 2022.8
-[[オブジェクトストレージ開発におけるDDD (ドメイン駆動設計) | さくらのナレッジ>https://knowledge.sakura.ad.jp/32024/]] 2022.8
-[[ドメイン駆動設計とは何なのか? ユーザーの業務知識をコードで表現する開発手法について:CodeZine(コードジン)>https://codezine.jp/article/detail/11968]] 2020
-[[良い設計と悪い設計の違い - Speaker Deck>https://speakerdeck.com/masuda220/good-or-bad-that-is-a-question]] 2022.11
-[[設計の考え方とやり方 - Speaker Deck>https://speakerdeck.com/masuda220/she-ji-falsekao-efang-toyarifang]] 2022.8
--[[増田亨さんによる「設計の考え方とやり方」勉強会 書き起こし1 「良い設計を目指す」 - asken テックブログ>https://tech.asken.inc/entry/2022/08/22/093324]] 2022.8
--[[増田亨さんによる「設計の考え方とやり方」勉強会 書き起こし2 「設計スタイルの選択とクラス設計のスタイル」 - asken テックブログ>https://tech.asken.inc/entry/2022/08/23/092602]] 2022.8
--[[増田亨さんによる「設計の考え方とやり方」勉強会 書き起こし3 「テーブル設計のスタイル」 - asken テックブログ>https://tech.asken.inc/entry/2022/08/24/084632]] 2022.8
--[[増田亨さんによる「設計の考え方とやり方」勉強会 書き起こし4 「開発のやり方と設計スキルと補足資料」 - asken テックブログ>https://tech.asken.inc/entry/2022/08/25/103211]] 2022.8
--[[増田亨さんによる「設計の考え方とやり方」勉強会 書き起こし5 「質疑応答」 - asken テックブログ>https://tech.asken.inc/entry/2022/08/26/090657]] 2022.8
-[[わかりやすくて最高だった「ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本」レビュー | DevelopersIO>https://dev.classmethod.jp/articles/review-of-ddd-beginners-book/]] 2022.7
-[[DDDをざっくり理解してみる? 〜ドメインサービスとリポジトリ編〜 - Qiita>https://qiita.com/2san/items/b52c0828e1fec03ebed1]] 2022.7
-[[DDDをざっくり理解してみる? 〜エンティティと値オブジェクト編〜 - Qiita>https://qiita.com/2san/items/eb9d7df6961542069233]] 2022.6
-[[初めて現場でDDD(ドメイン駆動設計)を実践してみた|SHIFT Group 技術ブログ|note>https://note.com/shift_tech/n/n1e91c68b1473]] 2022.6
-[[既存プロダクトへのドメイン駆動設計の導入検討について - クラウドワークス エンジニアブログ>https://engineer.crowdworks.jp/entry/2022/06/10/160237#%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88%E3%81%A8%E3%81%AF]] 2022.6
-[[ドメイン駆動設計の源流のPofEAAを読んでみる | フューチャー技術ブログ>https://future-architect.github.io/articles/20220610a/]] 2022.6
-[[DDD(Domain-Driven Design>http://www.wikihouse.com/withoutEJB/index.php?DDD]]
-[[「エリック・エヴァンスのドメイン駆動設計」を自分でも一読したので、その要点 - Qiita>https://qiita.com/e99h2121/items/48351c7d47d4288d87ea]] 2022.4
-ドメイン駆動設計の特徴
--ドメインに精通した専門家を中心に開発する。ドメインに精通した専門家やドメインエキスパートと共に、そのドメインに関する知識を明確にし、それを元に開発することで、ビジネスニーズに適切に対応することができる。
--ドメインモデルを中心とした設計。ドメインに関する知識を抽象化し、ドメインモデルとして表現し、それを中心として設計・開発をすることで、ドメインに対して正確な表現ができる。
--インフラストラクチャやインフラに対しては後回しにする 。
--アジャイル開発に則った開発手法 。ドメインに対する知識は常に変化しているため、アジャイル開発に則り、イテレーションを重ねて開発し、順次改善をする
*アスペクト指向(AOP) [#ie71cf20]
-[[アスペクト指向のバリエーション解説>http://www.atmarkit.co.jp/farc/rensai/aspect01/aspect01.html]]
--アスペクトは「様相」「側面」「視点」といった言葉に訳されているが、要するにソフトウェアのさまざまな「様相」や「側面」に注目するパラダイムがアスペクト指向なのである
--「アスペクト」とは、さまざまな角度、視点から “物事” を見た際の「様相」や「側面」のことである。
-[[.NET開発者のためのDI&AOP入門>http://www.atmarkit.co.jp/fdotnet/special/seasarnet02/seasarnet02_01.html]]
-[[アスペクト指向@IT:http://www.atmarkit.co.jp/farc/rensai/aspect01/aspect01.html]]
-[[アスペクト指向@MSDN:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/AOPArticle.asp]]
→[[S2AOP]]
*UI [#qe6364ad]
-[[何故、エンジニアはUIのセンスがないか。>http://www.milkstand.net/fsgarage/archives/001834.html]] 2012.5.15
-[[団塊〜シニア層向けのWeb設計 やっちゃいけない10のUI>http://www.future-planning.net/x/modules/news/article.php?storyid=1833]]
-[[ユーザビリティのヒント>http://www.atmarkit.co.jp/fwcr/rensai/usabilitytips01/01.html]]
-[[ダメなユーザーインターフェイス講座:http://www.geocities.co.jp/SiliconValley-Oakland/8192/]]
*MVCモデル [#ica11c1e]
-[[MOVEは望まれなかった子>http://ugaya40.net/architecture/dis_mov.html]] 2012.7.5
-[[MVCは死んだ。MOVEするときがきた>http://d.hatena.ne.jp/nowokay/20120704#1341366107]] 2012.7.4
-[[全裸で学ぶMVC事始め>http://yusukebe.com/archives/20120306/061542.html]] 2012.3.6
-[[Web Applicationを綺麗に設計するためのMVACという考え方>http://d.hatena.ne.jp/shiba_yu36/20110303/1299123350]] 2011.3.3
--データソースやロジックを扱う「Model」、表示・出力を管理する「View」、複数のModelとControllerをつなぐApplication、ユーザのリクエストなどを受け取りViewやApplicationを制御する「Controller」の4つの要素を組み合わせてシステムを実装する方式。MVCをさらに抽象化した方式。id:secondlife
-[[WebアプリのMVC設計まとめ>http://d.hatena.ne.jp/p4life/20091014/1255532618]] 2009.10.14