タグ

設計に関するyuki_2021のブックマーク (162)

  • TDDを実践する中で身につけてた「設計に関するスキル」を3つ - Mitsuyuki.Shiiba

    TDDを実践する中で身につけた「設計に関するスキル」があるなぁと思ったのでメモを残しておくことにする。TDDをやるときのスキルではなく設計をするときのスキル。 染み込んでいる TDDは以前に書いたように(ってもう7年も前か・・・)あんまり使わなくなっている。でも心の中にある。ウェブアプリケーションエンジニアとしての自分にとても大きな影響を与えている。 bufferings.hatenablog.com TDDから学んだ設計に関するスキル 3つ思い浮かんだ まずは動くものを作る 必要な分だけ作る 「ありえない」の処理を考える 注意 ウェブアプリケーションを書くときのことを考えながら書いている。ライブラリやフレームワークのようないろんなユーザーから利用されるものは、今回の話の対象ではない。 1. まずは動くものを作る TDDで実装を書くときは「キレイじゃなくてもいいからテストがグリーンになる(

    TDDを実践する中で身につけてた「設計に関するスキル」を3つ - Mitsuyuki.Shiiba
  • フロントエンド開発 画面設計書のフォーマットについて考える - teamlab-frontend

    社内案件や、小さいプロジェクトでは設計書なしでデザインと要件定義書だけで気合いで作ってたりすることもあります。 ある案件で画面設計書を作ってみて、設計書あったほうがスムーズに開発できて引き継ぎも楽になって保守性も上がるのでチーム共通のフォーマットあったらいいかもしれないと思いました。

    フロントエンド開発 画面設計書のフォーマットについて考える - teamlab-frontend
  • 僕はこうやって画面設計書を作ってる(Webシステムにおける簡潔な画面設計書の例) - Qiita

    Webシステムを作る上で、画面設計書を作成する事は多々あると思うんだけど、みんなどうやってるんだろうか。 取り敢えず、僕はこんな感じで作ってるよってのを紹介したいと思います。 小規模のプロジェクトで、ドキュメントIDとかプロジェクトIDとか使わなくてもいいような、管理が複雑でないプロジェクトを想定しています。 ルールとしては以下を守ってます。 画面設計書には画面遷移図の情報を含めない。 画面設計書は単一の画面の設計を掲載すべきと考える。 DBの操作、ビジネスロジック層に関する処理は画面設計書に記載しない。 別途アクション設計等に作成するべき。 Excel方眼紙を使わない。(←重要) 詳しくは後述。 参考にしたのは、以下のサイト。 [画面設計]画面の構造は物理的・論理的に示す http://itpro.nikkeibp.co.jp/article/COLUMN/20090108/322455

    僕はこうやって画面設計書を作ってる(Webシステムにおける簡潔な画面設計書の例) - Qiita
  • 画面定義書/画面設計書(テンプレート)

    記事では、Creative Content Lab Tokyo(クリエイティブコンテンツラボトウキョウ)が作成した画面一覧(Excel版)のテンプレートをご提供しております。 テンプレートは、Sa ... 1.サンプル 1.画面定義書のサンプル 画面定義 画面項目定義 画像はクリックすると拡大表示されます。 2.テーラリングガイド 選択リスト値定義 画面項目定義シートで利用する選択リスト値を定義します [主要項目] データ型:データ型の種類 I/O:項目のI/O(インプットまたはアウトプット) 表示位置:表示位置(左寄せ、中央寄せなど) 改行有無:テキスト項目の改行有無 処理概要 画面レイアウトや処理概要など基設計で利用します [主要項目] 画面レイアウト:画面イメージを添付 処理概要:画面の処理概要を定義 オブジェクト構成:画面で利用するオブジェクトのCRUDを定義 メッセージ一覧

    画面定義書/画面設計書(テンプレート)
  • GraphQL「良さ」・「難しさ」再探訪 〜スタディサプリにおける実例〜 / StudySapuri with GraphQL

    2024/02/08 に「LayerX、スタディサプリ、SHEと考える GraphQLが向いている現場とは?運用実践LT」で、内山高広( @highwide )が発表した資料です。 #Offers_GraphQL実践LT

    GraphQL「良さ」・「難しさ」再探訪 〜スタディサプリにおける実例〜 / StudySapuri with GraphQL
  • 継承はなんでダメ? - まめめも

    「オブジェクト指向の継承を使うな」という主張が広まっているようです。なんでダメになったんでしょうか。 インターネットで見かけた「継承はダメ」という主張をいくつか眺めて、友人と議論しつつ、考えてみました。 「コードが読みにくくなる」 継承があると、メソッド呼び出しが実際にどのメソッド定義を呼び出すのか字面でわからない。 デバッガを使って、親クラスのメソッドに飛んだり、子クラスに飛んだりするのを追いかけないと行けない。 つらい。という主張。 めっちゃわかる。わかるんですが、これは「高度に共通化されたコードは読みにくい」という一般的な側面がかなり大きいような。 たとえば継承の代わりに高階関数を使うと、関数呼び出しがどのクロージャに飛ぶか字面でわからなくなる。 ひどいとコールバック地獄になって何が何やらになります。 継承がことさらにまずい理由を想像すると、すべてのメソッド呼び出しがポリモーフィック

    継承はなんでダメ? - まめめも
  • 良いソフトウェアとコードレビュー / Good software and code review

    Scala + Caliban で作るGraphQL バックエンド / Making GraphQL Backend with Scala + Caliban

    良いソフトウェアとコードレビュー / Good software and code review
  • 書籍「ソフトウェアテスト技法ドリル」ではテスト設計の考えとツールの使い方まで学べちゃいました | DevelopersIO

    私は開発寄りのエンジニアであり、テストやQA専門の方と同じチームで頑張る機会が少なかったのですが、「なるほど、こうやって考えて、こういうツールを使っているのか」と非常に勉強になりました。 こんにちは。AWS事業部モダンアプリケーションコンサルティング部に所属している今泉(@bun76235104)です。 最近ではアジャイル開発やスクラム開発が多く採用され、ビジネスのスピードに負けないようにプロダクト開発・リリースのスピードが求められれている中で、「いかに効率よく、かつ効果的なテストをしていけるか」というのはテスト担当だけでなく、開発メンバー全員で考える必要があると思います。 とはいえ、実際のチームには「専任のQAエンジニアやテストアナリストはいない」ということは非常に多いと思います。 基的なテスト技法はで学んできたけど、どういう時にどんな技法でテストを設計すればよいの? 職のテスト

    書籍「ソフトウェアテスト技法ドリル」ではテスト設計の考えとツールの使い方まで学べちゃいました | DevelopersIO
  • ソフトウェアに関わる人が知っておくといいかもしれない法則10個

    「チームトポロジー」や「エンジニアリングマネージャーのしごと」「スクラム実践者が知るべき97のこと」の著者や翻訳者などで知られる吉羽龍太郎氏が、「ソフトウェアに関わる人が知っておくといいかもしれない法則10個(勝手セレクション)」という興味深いポストをX(旧Twitter)で公開しています。 ソフトウェアに関わる人が知っておくといいかもしれない法則10個(勝手セレクション) コンウェイの法則 パレートの法則 グッドハートの法則 パーキンソンの法則 ブルックスの法則 リトルの法則 ピーターの法則 ハインリッヒの法則 ピーク・エンドの法則 ホフスタッターの法則 — Ryutaro YOSHIBA (@ryuzee) January 23, 2024 これらの法則の多くは経験則だったりもしますが、いずれにせよ知っておくと上司の説得に役立ったり、ソフトウェアの開発現場でチームの運営に役立ったり、物

    ソフトウェアに関わる人が知っておくといいかもしれない法則10個
  • 【DDD入門】TypeScript × ドメイン駆動設計ハンズオン

    TypeScriptとドメイン駆動設計(DDD)を組み合わせ、APIを構築するハンズオンガイドです。このでは、DDDとは何かという基礎的なところからソフトウェア開発における戦略的設計、戦術的設計まで、包括的な知識を提供します。 戦略的設計では、ビジネスの要求に合わせたドメインモデルの設計をイベントストーミングを用いて行います。その後、戦術的設計では、具体的なコードの実装に関連するDDDの原則と実践を学びます。 TypeScriptを使ってコードを書きながら、DDDの概念を実際のプロジェクトに適用するヒントを紹介します。

    【DDD入門】TypeScript × ドメイン駆動設計ハンズオン
  • クリーンアーキテクチャの功罪

    クリーンアーキテクチャというと設計における銀の弾丸のように扱われていて、クリーンアーキテクチャを導入するという記事をよく見ます。しかし自分の経験だとクリーンアーキテクチャで書かれているのにもかかわらず開発効率が落ちているという事が多く、いつでも使っておけばいいというものではないと思っています。 最近目にしたクリーンアーキテクチャに対する批判 筋ではないので詳細は省きますが、あるとき[1][2]にUncle Bobの著書であるCleanシリーズへの批判をXで見ました。 ここで一番載せたかったものが今見つけられないのですが、以下のようなポストがありました。 書籍クリーンアーキテクチャに書いてある内容を抜きにして起こった現象だけを見るとマイナスの方が多い このポストが自分の感じていることを端的に表現できているように感じました。書籍クリーンアーキテクチャの内容を悪いと思いませんが、その影響により

    クリーンアーキテクチャの功罪
  • 『データ指向プログラミング』読んだ / OOP以前とDOPとの対比と差分などについて - Lambdaカクテル

    先々月あたりに邦訳が出た『データ指向プログラミング』を読んだ。めちゃくちゃざっくり言うとオブジェクト指向における「データと振舞いの一体化」というドグマを手放させるもので、めちゃくちゃざっくり見るとC言語的な構造化プログラミングの世界に回帰するようにも見えることから、世間的には色々な評価があるらしい。 イミュータビリティが良い、みたいな話は重々承知なので適宜飛ばしながら読んだ。また、lodashまわりの話は単なるライブラリ紹介であり、特筆することがないので飛ばした。 こういう感じで言及されている zenn.dev slides.com 自分なりに読んで思ったことをまとめる。面白いだったし、自分の思想にも近しいものがある。僕は普段ScalaやTSを書いているので、その観点からの感想が多いです。OOPの歴史に詳しいわけではないので、不足があったらすみません。 OOP以前の世界との差異 イミュー

    『データ指向プログラミング』読んだ / OOP以前とDOPとの対比と差分などについて - Lambdaカクテル
  • チュートリアルでDDD体験: ドメインモデルの成長を紹介 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

    プロダクト技術部の川口です。 3年間、ビッグローブ光といった固定回線のインフラ部門に所属していましたが、今年の4月に BIGLOBE の基幹システムのリニューアルを推進していく部署に異動することになりました。 所属するチームでは、ドメイン駆動設計(DDD)で開発しています。 チームにジョインすると開発チュートリアルをやることになっており、そこで IntelliJ や Spring Boot での開発の仕方を学んだり、チュートリアルを通して DDD を学んだりします。 今回は、DDD のチュートリアルで実際に作成したドメインモデルがどういう風に成長していったかについて紹介します。 勤怠管理アプリ チュートリアル 初期ドメインモデル 中期ドメインモデル 後期ドメインモデル 学んだこと、感想 勤怠管理アプリ チュートリアル お題は GitHub のパブリックリポジトリに公開されています。 ht

    チュートリアルでDDD体験: ドメインモデルの成長を紹介 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
  • 人気&オススメ記事 / ブログ概要 - little hands' lab

    当ブログについて 主にドメイン駆動設計(DDD)関連の情報を発信していきます。 Twitterアカウント @little_hand_s こちらでもDDD情報発信していくのでよろしければフォローお願いします。DDD周りでご質問などあれば気軽にリプライいただければお答えします^^ 人気記事 ドメイン駆動設計解説シリーズ なぜDDD初心者はググり出してすぐに心がくじけてしまうのか 前説みたいな記事です。DDD読んでよくわからなくてもあなたのせいではないですよ!というメッセージです。笑 ドメイン駆動設計の定義についてEric Evansはなんと言っているのか まずはドメイン駆動設計自体の定義を、公式のドキュメントから確認します。 モデルでドメイン知識を表現するとは何か オススメ!! 実装サンプルでDDDなコードとそうでないコードを比較し、DDDコードの魅力を解説しています。 ドメイン駆動設計で実

    人気&オススメ記事 / ブログ概要 - little hands' lab
    yuki_2021
    yuki_2021 2023/11/29
    ドメイン駆動開発入門
  • 実践クリーンアーキテクチャ │ nrslib

    YouTube での解説 YouTube にて Java コードをベースに解説を行いました。 コードの雰囲気は C# とほとんど同じなので参考になるかと思います。 もしよければご覧ください。 Java コードの記事リンク:https://nrslib.com/clean-architecture-with-java/ その他解説もしています。もしよろしければチャンネル登録をお願いいたします。 Qiita 版 Qiita に CUIGUI 向けのクリーンアーキテクチャの記事を書きました。 ボブおじさんのクラス図を模したものです。 Web とはまた異なった実装になるので、もしよければ合わせてご参照ください。 https://qiita.com/nrslib/items/a5f902c4defc83bd46b8 さらに PHPLaravel 版も作ってみました。 https://qi

    実践クリーンアーキテクチャ │ nrslib
  • 【入門】要件定義

    はじめに 最近プロジェクトマネジメント関連の仕事をする機会が増え、(駆け出しですが)要件定義や設計関連の業務もするようになったので、私の経験を基に要件定義の具体的なプロセスや考え方について、まとめていきます。 この記事の対象者 要件定義の基や思考プロセスを学びたい人 エンジニアからプロジェクトマネジメントをやりたい人 ビジネスサイドとエンジニアサイドのコミニュケーション能力を向上させたい人 具体的な事例を通して要件定義を学びたい人 前提 紹介する内容はあくまで一例であり、プロジェクトやチームの状況に応じて調整が必要 あくまで自分(駆け出しPM)の経験に基づいた内容を言語化しています プロジェクト規模は10名〜20名のWebアプリ開発を想定しています システム開発の全体像 一般的なシステム開発のプロジェクトは下記のフェーズで進んでいきます。 ※ コンサルの領域だと要件定義の前に企画構想とい

    【入門】要件定義
  • エンジニアを目指す君たちはどう生きるか ~ソフトウェアアーキテクトのすゝめ~

    技育祭2023秋 DAY1 HALL C 14:30 - 15:15 「エンジニアを目指す君たちはどう生きるか ~ソフトウェアアーキテクトのすゝめ~」 の登壇資料です。 https://talent.supporterz.jp/geeksai/2023autumn/information/#1021-1430-HallC

    エンジニアを目指す君たちはどう生きるか ~ソフトウェアアーキテクトのすゝめ~
  • ドメイン駆動設計の正体

    はじめに "ドメイン駆動設計は当たり前のことを言っているだけ" "ドメイン駆動設計はただのオブジェクト指向プログラミング" "ドメイン駆動設計はより良いアーキテクチャだ" "軽量DDDはアンチパターンだ" このようなドメイン駆動設計に関する言及を聞いたことがあるでしょうか? ドメイン駆動設計に言及する記事や書籍は多くありますが、それぞれ着目する側面が異なったり色々なコンテキストから言及されています。 おそらくそれが原因でドメイン駆動設計が何であるかをぼやけさせ、正体のわかりにくい概念になっているように思えます。 そこで今回は色々な観点から整理し、ドメイン駆動設計とは何であるのか、その正体を考えていきます。 ドメイン駆動設計の基的概念について ドメイン駆動設計はEric Evansが出版した「Domain-Driven Design」という書籍がルーツになっています。 ドメイン駆動設計を一

    ドメイン駆動設計の正体
  • WebアプリケーションにGoの並行処理アーキテクチャを導入してSLOを改善し、WebAPIを100倍速くした話 - スタディサプリ Product Team Blog

    こんにちは。スタディサプリの小中高プロダクト基盤開発グループでProduct Platform Engineer兼テックリードをやっている@tooooooooomyです。 今回は、WebアプリケーションにGoの並行処理機構を導入してSLOを改善し、WebAPIを100倍速くした話をしたいと思います。 前提条件 システムを0から作らない場合、アーキテクチャの改善の際には前提条件が付きものです。そこでまずは今回のシステムの前提条件をお話します。 対象となるシステムと、アーキテクチャ 今回対象とするシステムは、ここでは security-tracker と呼び、Webアプリケーション体はGoで書かれています。 スタディサプリの各アプリケーションにおけるユーザーのログ1を、Amazon Kinesis Firehoseを通して、リクルート全体のセキュリティチームが管理するS3バケット(スタディサ

    WebアプリケーションにGoの並行処理アーキテクチャを導入してSLOを改善し、WebAPIを100倍速くした話 - スタディサプリ Product Team Blog
  • 実践要件定義入門以前 - 勘と経験と読経

    最近ネットを見ていると要件定義入門的な記事が目についたので思ったことを書いてみる記事。ITシステム開発における要件定義に関するあれこれ。 【2023/10/10追記】続編の記事を書きました。実践要件定義入門 - 勘と経験と読経 目次 要件定義に関するおすすめ書籍 その要件定義は必要か 要件は決められるのか 要件定義をすることがルールで定められているから要件定義をする必要がある 要件は定義できるのか 現行の業務マニュアルをベースに要件定義をするつもりのあなたへ 現行システムをベースに要件定義をするつもりのあなたへ 外部業者を呼ぶ前に考えるべき事 どこから外注するかを考える 要件定義の作業期間を見積もる 要件定義に関するおすすめ書籍 この後に何度も引用することになると思うので、最初に要件定義のおすすめ書籍を紹介しておく。と言っても紹介するのは1つだけだ。 ユーザのための要件定義ガイド第2版 作

    実践要件定義入門以前 - 勘と経験と読経