binary343のブックマーク (99)

  • データ詰め替え戦略 - 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
    binary343
    binary343 2024/07/26
    interface切って呼び出す側は匿名な型で実装とか?
  • DDDを実践するための手引き(ドメインイベント編)

    ドメインイベントを扱う実装は様々な流派があり、記事ではなるべく一般的なものを取り上げたいと思っていますが、あくまで一例です。 実装例は Kotlin を使っていますが、他の言語でも同様の実装が可能です。 ドメインイベントとは イベントとは「過去に発生した出来事」であり、ドメインイベントは「ビジネスドメイン上で発生した重要な出来事を表すメッセージ」です。 (例: チケットが割り当てられた、注文がキャンセルされた) ドメインイベントはシステム内の状態の変化(=集約の状態の変化)を表現するものであり、通常は集約がドメインイベントの発生源となります。 用途 ドメインイベントは主に次のような目的で使用されます。 1. イベントの発生を起点に、別の処理をトリガーする ドメインイベントは、システムの異なる部分間を連携させるために使用されます。 ドメイン上の要件として「...したら...する」のようなフ

    DDDを実践するための手引き(ドメインイベント編)
    binary343
    binary343 2024/07/18
    ドメインイベント駆動になると集約っているの?ってなってる
  • Win95時代より1000倍速いはずなのにPCちっとも速くならない。。 - amlx’s blog

    最近のPCCPUスペック上Win95時代より1000倍以上速いはずなのに、ちっとも速くならない感じしますよね。機能詰め込みすぎじゃない? https://pc.watch.impress.co.jp/docs/topic/feature/1562909.html

    Win95時代より1000倍速いはずなのにPCちっとも速くならない。。 - amlx’s blog
    binary343
    binary343 2024/06/21
    ハードウェアが高速化するより早くソフトウェアは低速化する。(ニクラウス・ヴィルト)
  • やらない事を決めるプロダクト設計

    https://kichijojipm.connpass.com/event/316361/ 設計ナイト2024で使った資料です。

    やらない事を決めるプロダクト設計
    binary343
    binary343 2024/06/15
    顧客が考えた最強の要件が要望としてくる。その最強の要件が事業に大きな価値をもたらさないがその要件の基になった要求を解決することは事業に大きな価値をもたらすケースがある
  • 【ソフトウェア設計】モジュールをどう分割するのか?

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

    【ソフトウェア設計】モジュールをどう分割するのか?
    binary343
    binary343 2024/02/26
    システムの元となる業務を人間が作ってるから似た構造の業務はめちゃくちゃある。ライフサイクルなりで同じものなのか別のものかちゃんと判断しないとえらい目に遭う
  • 【春入学を廃止 全学生が秋入学へ】「大阪公立大の公用語を英語に」と吉村知事 公立大の国際競争力強化|FNNプライムオンライン

    ■春入学を廃止 すべての学生が「秋入学」へ 大阪公立大学で2027年度から段階的に秋入学を実施する計画が明らかになりました。大阪府の吉村洋文知事は、大阪公立大学の公用語を将来的に英語にする方針を示しています。 9日に行われた大阪府と市による「副首都推進部会議」では、大阪公立大学において、国際化を進め、国内外で活躍できるグローバルな人材を育成することを目標に掲げ、「秋入学」を導入する方針が示されました。 秋入学の対象者は、留学生だけではなく、すべての入学者です。2027年度から大学院と工学部など一部の学部で導入し、将来的に春入学を廃止し、すべての学部の入学者を秋入学にするということです。 ■「公用語を英語に」と吉村知事 吉村洋文知事は秋入学を導入する背景について「国立大学でやろうと考えているところはあると思うが、国の縛りであったり、国一律でやるとなかなか難しい。私学もそこまで踏み込むのは難

    【春入学を廃止 全学生が秋入学へ】「大阪公立大の公用語を英語に」と吉村知事 公立大の国際競争力強化|FNNプライムオンライン
    binary343
    binary343 2024/02/10
    インターネットのせいで母国語での高等教育と国際競争力がトレードオフになってしまった気はする
  • オープンソースらしくソフトウェアを設計する

    This post is also available in the following languages. English, Korean こんにちは、出前館のプロダクトを担当しているヨンジェです。私は10余りのオープンソースプロジェクトをディレクションして開発し、チームで新しいソフトウェアを設計するときは、なるべくオープンソースへの移行可能性を念頭においています。今回の記事では、その過程で主にどのような点を強調しているかについて紹介します。 インターネットで見られるオープンソース関連記事のほとんどは、オープンソースの哲学について話したり、これから始める人向けにREADMEの書き方やライセンスの違いを説明したりするような記事が多いです。今回の記事では、ソフトウェアの構造や構成方法について説明したいと思います。また、オープンソース活動をする上で価値をおくべき部分とネーミングについても触れ

    オープンソースらしくソフトウェアを設計する
    binary343
    binary343 2024/01/30
    プラットフォームエンジニアリングになるとOSSみたいなアーキテクチャになる
  • PythonでDDDやってみた💪 - techtekt

    はじめに 実行環境 ディレクトリ構造 app migrations/model pyproject.toml ソースコードと簡単な解説 app/core app/core/abstract app/core/decorator app/core/exception app/core/interface app/core/middleware app/core/mixin app/ddd app/ddd/application app/ddd/application/schema app/ddd/application/schema/studnet app/ddd/application/usecase app/ddd/application/usecase/student app/ddd/domain app/ddd/domain/student app/ddd/infra app/ddd

    PythonでDDDやってみた💪 - techtekt
    binary343
    binary343 2024/01/26
    軽量すぎて羽毛より軽い
  • ソフトウェアの内部品質に生じる様々な問題は組織設計にその原因があることも多い / 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
    binary343
    binary343 2023/11/22
  • ITエンジニア不足は過去最悪水準に、SIerを取り巻く危機の構図

    ITエンジニアの不足が過去最悪レベルで推移している。 システム構築需要にIT業界の就業人口の伸びが追いついていない。 IT業界外への転職も含め人材争奪戦の様相を呈してきた。 SIer(システムインテグレーター)を中心に人材不足が深刻化している。ここ1年間ほど過去最悪の状態が続いている状況だ。 最大の理由は新型コロナウイルス禍で顕在化したDX(デジタル変革)需要がいまだ旺盛なため。コロナの5類移行とともに大型システムの更改プロジェクトなども再開し、どのSIerも人材が足りない状態になっている。 しかも、IT業界の就業者数が急増することはなさそうだ。経済産業省の「IT人材需給に関する調査」によれば、IT関連産業の従業者数は2018年の103万人から2030年には113万人へ拡大すると予測するが、DX需要の伸びに比べると追いついていない。 IT業界の人材不足は統計にも表れている。情報サービス産業

    ITエンジニア不足は過去最悪水準に、SIerを取り巻く危機の構図
    binary343
    binary343 2023/11/10
    元請けがエンジニア1人足りないって言ったら業界的には数字上5人くらい足りないことになってそう
  • 設計ドキュメント腐る問題、Git管理で運用してみた結果 | フューチャー技術ブログ

    はじめにTIG真野です。 秋のブログ週間2023 の3目は、設計ドキュメントをGit管理して腐らせないようにがんばってみた話をします。 前段として6年前、「我々はいかにシステム開発におけるドキュメント腐る問題と戦えば良いのか」という記事を書いたのですが、その後の試行錯誤はどこにも残していないことに気づきました。普段のフューチャー技術ブログですとちょっと引け目を感じるテーマですが、秋の夜長を楽しむため読み物成分を多めに書くというテーマのこのブログリレーにピッタリな気がするため、この機会をお借りします。 ドキュメントも色々な種別があるかと思いますが、この記事では設計ドキュメントを指すことにします。設計ドキュメントは開発メンバーが参照するもので、ステークホルダーへの説明資料に引用して使うことはあれど、主目的は異なるという前提です。Design Docの場合もありますし、システム構成図、ERD、

    設計ドキュメント腐る問題、Git管理で運用してみた結果 | フューチャー技術ブログ
    binary343
    binary343 2023/11/02
    物が出来た後の設計書は自動生成物にしたい
  • 腰痛と闘うプログラマー | フューチャー技術ブログ

    秋のブログ週間2023の1日目です。 はじめに※この記事やこのを読んだからと言って自身で診断を行わず、まずは整形外科などの医療機関にて診断を受けて、医師の方と治療方針を決定しましょう。また既に治療中の方は、取り組む前に一度医師や理学療法士の方と相談しましょう。 腰が痛くて仕事にならない、プログラマーこそが天職なのにこの痛みと一生付き合っていかないといけないのか…と思っている方は結構多いのではないでしょうか? かく言う自分も腰痛持ちで、20代前半で椎間板ヘルニアと診断されました。当時はヘルニアが神経を圧迫し歩くのもつらい時期もありましたが、通院によってなんとか回復しました。 しかし完全にはよくならず、残りの人生全てを腰を気にしながら生きないといけないのか、、、と絶望しておりました。 そんなこんなで腰痛人生を送ってきたわけですが、ケリー・スターレット式 「座りすぎ」ケア完全マニュアルは自分の

    腰痛と闘うプログラマー | フューチャー技術ブログ
    binary343
    binary343 2023/10/30
    カトラーどこいった
  • 認知負荷および認知負荷理論 (Cognitive Load Theory) をもう少し正確に理解するための心理学研究・知見の紹介

    認知負荷および認知負荷理論 (Cognitive Load Theory) をもう少し正確に理解するための心理学研究・知見の紹介 この記事の目的 ここ数年で、ソフトウェア開発やプログラミングの文脈で、「認知負荷」 および 「認知負荷理論」 という用語をよく見聞きするようになりました。私が今思い出せるだけでも、以下のような書籍や Podcast で重要なキーワードとして取り上げられています。 A Philosophy of Software Design, 2nd Edition チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計 プログラマー脳 ~優れたプログラマーになるための認知科学に基づくアプローチ fukabori.fm 102. A Philosophy of Software Design (3/3) w/ twada この「認知負荷」ですが、少なくとも近年見聞

    認知負荷および認知負荷理論 (Cognitive Load Theory) をもう少し正確に理解するための心理学研究・知見の紹介
    binary343
    binary343 2023/10/29
    達人プログラマーの毎年1つ新しい言語を習得しようは新しいスキーマを構築しようなのか
  • HAR Sanitizer tool by Cloudflare

    At Cloudflare, we're committed to building a better Internet. We want to make it possible to troubleshoot with HAR files without the threat of a stolen session. The HAR File Sanitizer will remove sensitive data using “clientside” logic.

    HAR Sanitizer tool by Cloudflare
    binary343
    binary343 2023/10/27
    これのWebサービス作れば認証情報抜きまくれるか
  • 関数型プログラミングと型システムのメンタルモデル

    Qiita Conference 2023 Autumun での発表資料です 発表時間の見積もりが下手で後半全然説明できませんでした、すみません! 実際のプロダクト開発ではどうすればいいのか? というケースは以下のスライドを参照してください。 (スライドは、こちらのプロダクト開発の経験を…

    関数型プログラミングと型システムのメンタルモデル
    binary343
    binary343 2023/10/27
    制約を与えたら認知負荷が下がる
  • サポート終了後も「CentOS」を安心して使い続けるための一手とは

    サポート終了後も「CentOS」を安心して使い続けるための一手とは:「RHEL互換ディストリビューション」の先が読めない中、決断が迫られる 「CentOS 7」のサポートが2024年6月末に終了する。別のOSに切り替えるのか、システムを構築し直すのか。決断と対応が求められる今、新たな選択肢として浮上する「CentOSサポートの延長サービス」とは。 決断が迫られる「CentOS終了」問題 「CentOS Linux 7」(以下、CentOS 7)のサポート期限が2024年6月30日に迫っている。別のバージョンの「CentOS 8」は2021年に、「CentOS 6」は2020年にメンテナンス更新が終了しており、重大な脆弱(ぜいじゃく)性が発見されたとしても修正パッケージは提供されない状況だ。 CentOSは「Red Hat Enterprise Linux」(以下、RHEL)クローンとして人

    サポート終了後も「CentOS」を安心して使い続けるための一手とは
    binary343
    binary343 2023/10/21
    RHEL使えばよくない?
  • 筋肉ですべてを解決する人のプログラミング上達方法|牛尾 剛

    私は米国の超大手クラウドベンダーの中の人をやっており、普段はアメリカに住んで気づいたことをブログに記録しているのだが、今回は趣を変えて、日で出会った凄い人からの学びを書いてみようと思う。 プリンシパルを目指して前回の下記のブログで、マネージャにならずに、プリンシパルというレベルを目指し始めたので、少しづつ自分のふるまいを変えることにしているが、これはそれの一環だ。 人生最後の大きなチャレンジの戦略を考える|牛尾 剛 (note.com) 筋肉の豊富なケンさん 私が日に居たときの同僚で、ケンさんという人がいる。筋トレ仲間として、筋肉がものすごいので、凄いなと思っていたのだが、彼は筋肉だけではなくプログラミング力もえげつなかったことを覚えている。 あるハッカソンで普通の人なら1つか2つの機能を試すところを、彼は10個ぐらい、それもものすごく高度に組み合わせてすごく短い時間に凄いアプリを作っ

    筋肉ですべてを解決する人のプログラミング上達方法|牛尾 剛
    binary343
    binary343 2023/10/03
    TDDは設計手法だからそのノリで合ってる
  • 「開発者はユーザに言われた通りに修正するべきではない」についてのわかりやすい逸話……//「何故そのFBが来るのか」の原因に目を向ける

    ohNussy@個人ゲーム開発者 @ohNussy この「根幹にある問題を解決する必要がある」という認識ができているからといって適切な問題解決能力が身につくわけではないというところで、知識・経験・センスをひたすらに磨いていくしかないんじゃ… 相当な天才でもない限り小作品で数を作った方が良いとされる理由でもあると認識しています 2023-09-28 13:50:15

    「開発者はユーザに言われた通りに修正するべきではない」についてのわかりやすい逸話……//「何故そのFBが来るのか」の原因に目を向ける
    binary343
    binary343 2023/09/29
    要望とは要望者が考えた最強の要件である。開発者はその要件から要求を定義し、その要求に合う最適な要件を定義して機能化するのである。あと要望は大体において部分最適されてる。
  • Amazon の 2段階認証 突破の噂についての仮説 と 2段階認証で意識すること【2FA/2SV/MFA】 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Amazon2段階認証(2SV)が突破された? Amazon2段階認証(2SV) が突破されたのではないかという件が話題になっています。 私もこれについてはとても気になっており、できるだけ早く真相が解明されることを願っています。 そこで、ふと疑問に感じたことが、2SV は何をどの程度防いでくれるのかということです。 ここでは、Amazon を例に、いろんなことを考えていきたいと思います。 フィッシングの前には無力 まず、2SVの突破と言っても様々な手口があります。 徳丸先生の動画が示す通り、中継型フィッシングであれば、自ら正

    Amazon の 2段階認証 突破の噂についての仮説 と 2段階認証で意識すること【2FA/2SV/MFA】 - Qiita
    binary343
    binary343 2023/09/20
    パスワードの定期変更でしか防げない攻撃って具体的にどういうものを想定してるの?
  • 国がスマホの「サイドローディング」を義務化したい理由 内閣府の担当者に直接聞いてみた

    政府が米Appleに対して義務化の方針を打ち出した「サイドローディング」。これが実現すれば、iPhone標準のアプリストア「App Store」以外からアプリを入手できるようになる一方、セキュリティ上の懸念が一気に高まるため義務化に反発する声は少なくない。サイドローディングに関する一連の疑問を関係者に直接ぶつけてみた。 疑問の声が多いサイドローディング義務化、政府の考えは スマートフォンのアプリはOS標準のアプリストア「App Store」や「Google Play」から入手するのが当たり前と思っている人も多いだろうが、それが問題だとしているのが日政府だ。実際政府は「デジタル市場競争会議」を2019年から実施し、2023年6月16日にはそこでの議論の成果として「モバイル・エコシステムに関する競争評価 最終報告」が取りまとめられている。 その中で政府が打ち出したものの一つが、OS標準の

    国がスマホの「サイドローディング」を義務化したい理由 内閣府の担当者に直接聞いてみた
    binary343
    binary343 2023/08/22
    セキュアコーティングガイドラインで全て解決なの草