並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 4029件

新着順 人気順

設計の検索結果41 - 80 件 / 4029件

  • 設計を歪める認知バイアス - Qiita

    こんにちは、リファクタリングが大好きなミノ駆動です。 この記事は READYFORアドベントカレンダー2021 、5日目の記事です。 これはなに? ソフトウェア開発において、設計をないがしろにすると、低凝集密結合な構造に陥り、変更容易性が低下してしまいます。 設計スキルを高め、あるべき構造を設計する……これで解決できるに越したことはありません。 しかし、認知バイアスと呼ばれる心理効果により判断を誤り、良くない設計をしてしまうことが往々にしてあります。 本記事は、設計を歪めてしまう認知バイアスを理解し、設計判断の精度向上を促すことを目的とします。 この記事のゴール 人間の判断を歪めてしまう心理効果「認知バイアス」の存在を知ること。 ソフトウェア設計も、認知バイアスの悪影響を受けてしまうこと。 認知バイアスに振り回されない設計アプローチを身につけること。 認知バイアスとは 先入観や思い込み、偏

      設計を歪める認知バイアス - Qiita
    • 新築戸建て設計時のネットワーク設備について - ひよこブログ

      はじめに 2020年7月に契約し、夢のマイホームの設計が始まりました。 筆者は子供の頃から自宅サーバーが大好きでしたが、自宅内のネットワーク配線がとても見栄えが悪く強い不満を抱いておりました。当時、1階に光回線を引き込んだため、2階の自室まで有線ネットワークを敷設するために、階段や壁にLANケーブルを這わせたりと、とても大変だった記憶があります。 今回、マイホームを建てる機会に恵まれたため、子供の頃から抱いていた住宅ネットワーク設備の不満を解消した、自分にとって理想のお家を建てました。 同じ悩みを持つ人に参考になると良いなと思い、備忘録として記録したいと思います。 筆者は素人のため嘘を書いてある可能性もあります。あらかじめご了承ください。 新築住宅 ネットワーク構築に向けた要件 ざっくりですが、設計前に下記のような要件を整理しました。 住宅設備として導入する部材は市販品を採用すること 各フ

        新築戸建て設計時のネットワーク設備について - ひよこブログ
      • ソフトウェア設計についての原則や法則についてまとめてみた

        ソフトウェア設計について、YAGNIやSOLIDなど多くの原則・法則があることが知られていますが、その解釈にはぶれが存在することが多いです。そこで、特に有名なものあるいは有用と感じることが多いものをいくつかピックアップして、その解釈やトレードオフについてまとめてみました。 注意としては、SOLIDが入ってることからわかる通り、主にOOPに関する文脈になります。また、各原則の定義については概ね知っている前提で書いているのであまり初学者向けの記事ではないかもしれませんのでご承知おきください。 YAGNI(You ain't gonna need it.) YAGNIは、予測による実装が実際に役立つことは少ないという経験則から生まれた原則です。 一般にオーバーエンジニアリングが利益をもたらすケースは限定的で、どちらかというとプロジェクトに害を与えることが多いとされています。YAGNIは日々状況の

          ソフトウェア設計についての原則や法則についてまとめてみた
        • 「設計」で大事なのはこれだった!半年間で40本レビューして分かった 5つのポイント - Qiita

          Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

            「設計」で大事なのはこれだった!半年間で40本レビューして分かった 5つのポイント - Qiita
          • API設計スキルを次のレベルに引き上げるベストプラクティス22選 - Qiita

            本記事は、Mohammad Faisal氏による「22 Best Practices to Take Your API Design Skills to the Next Level」(2021年4月15日公開)の和訳を、著者の許可を得て掲載しているものです。 REST API設計のための実践的アドバイス Photo by Andrea Piacquadio from Pexels はじめに すべてが分かりにくく、ひどいAPIに不満を感じたことはありませんか?私はそうです。 マイクロサービスの世界では、バックエンドAPIの一貫した設計が不可欠です。 今日は、知っておくべきベストプラクティスについて、簡潔に説明します。さあ始めましょう! 用語 API設計は、リソース指向設計というものに従います。3つの重要な概念で構成されています。 リソース:データの一部(例:ユーザー) コレクション:リソー

              API設計スキルを次のレベルに引き上げるベストプラクティス22選 - Qiita
            • 予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022

              PHPerKaigi 2022 2022/04/10 10:40〜 Track A レギュラートーク(40分) PHP はバージョンを追う毎に型宣言、例外、表明、列挙型などの機能が大幅に強化され、堅牢なコードを書くための機能が充実してきました。それらの機能はどう使うと効果的なのでしょうか。 本講演では PHP 8.1 をベースにして、誤りを想定してチェックするのではなく、そもそも誤りにくい設計とはどのようなものか、つまり「予防」の観点を軸足に、堅牢なコードを導くための様々な設計のヒントをご紹介します。 Agenda - 型宣言 - 列挙型 - ドメインモデリング - 不変性と等価性 - 完全性 - レイヤーと責務

                予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022
              • 「システム設計の面接試験」という本が良かった

                皆さんこんにちは。株式会社ラクーンホールディングスで働いている川崎です。 最近「システム設計の面接試験」という本を読みました。 個人的にとても面白いと感じたので、オススメポイントと感想を共有します。 直近でシステム設計の面接を受けない方も、きっと読んで得るものがあると思います。 本の概要 システムの設計はシステムの機能や仕様、データのアクセスやセキュリティを左右するため、非常に重要だが、従うべき一定のパターンがないために、その習得は難しいと言われています。 一方で、システム設計自体がITエンジニアに日常的に求められる作業であるため、システム設計の面接試験は米国で広く採用されています。 本書では、「Webクローラ」「通知システム」「ニュースフィードシステム」「チャットシステム」「youtube」など実践的なテーマに沿って、システム設計の問題を出題し、その回答を解説することで、システム設計力を

                  「システム設計の面接試験」という本が良かった
                • ミクシィ、新卒向け研修資料を無償公開 「Git」と「テスト・設計」 今後も随時公開

                  MIXI(旧社名ミクシィ)は5月8日、同社の新入社員向け技術研修で使用した資料を無償公開した。分散型バージョン管理システム「Git」とテスト・設計研修の資料をスライド共有サービス「Speaker Deck」で公開中。動画も後ほど公開するという。 Gitの研修資料は約470ページあり、Gitを使ったチーム開発の進め方やGitの内部構造などを記載している。テスト・設計研修の資料は約40ページ構成で、テスト技法やコードレビューのコツなどを紹介。いずれの資料も同社の社員が作成した。 同社は2021年から新入社員向け研修の資料を一般公開しており、22年はUnityでのゲーム開発やAI、セキュリティ研修など全12種類の資料を自社ブログに掲載していた。同社の公式Twitter(@mixi_engineers)は「今後も随時資料や動画を公開していく」としている。 関連記事 ミクシィ、技術カンファレンスを初

                    ミクシィ、新卒向け研修資料を無償公開 「Git」と「テスト・設計」 今後も随時公開
                  • 良い設計と悪い設計の違い

                    2022年11月7日(月) 「現場で役立つシステム設計の原則 - Forkwell Library #9」 発表資料

                      良い設計と悪い設計の違い
                    • 要件定義、基本設計、詳細設計の流れを総復習

                      はじめに 📘 この記事は ラクス Advent Calendar 2023 の7日目の記事になります。 要件定義から基本設計、さらに実装や保守運用に至るまでの一貫した経験を何度か積んできましたが、毎回 「要件定義って具体的に何の項目が必要だっけ?」 「基本設計との違いって何だったっけ?」 「基本設計と詳細設計の区別って?」 といった疑問が頭をよぎってきました。 そんなわけで、これまでの経験を振り返りつつ、開発プロセスについて1からまとめていくことで頭の中の大掃除を行なっていきたいと思います🧹 この記事の対象者 🎯 開発プロセスについて学びたい方 要件定義の基本を学びたい人 要件定義と基本設計の違いがわからない人 一緒に開発プロセスについて復習したい方 前提 記事中の一部(特に要件定義や基本設計、詳細設計のサンプル)を自動生成で作成してます。一貫性の無い内容があるかも知れませんが、あく

                        要件定義、基本設計、詳細設計の流れを総復習
                      • 良いコード/悪いコードで学ぶ設計入門の感想と注意点

                        「良いコード/悪いコードで学ぶ設計入門」という本がとても売れているようです。私の所属している開発チームでも、何人か購入した人がいたので、私も購入して一通り読んでみました。 結果として、いくつかの考えが整理され、私としてはこの本によって考えが深まり、本を読んで考えた事自体は有意義であったと思いました。ただし一方で、あまり知識がない状態で(自分の中での判断軸が無い状態で)この本を読むと、色々と誤解が生まれるのではないか?という事を感じました。 一つの技術書がこれだけ売れるという事はそんなに多くはない事だと思うので、つまり、 その内容が改善されるとその効果は相対的に大きい という事になります。そこで、私が本を読んでいて思ったことや、この本の内容で正しいこと、現在も賛否両論とされること、事実として認識が間違っているであろうこと、この本で触れられていないが設計において大事なこと、などについてまとめて

                          良いコード/悪いコードで学ぶ設計入門の感想と注意点
                        • SQLアンチパターンもりもりDBを設計しよう! - Qiita

                          概要 名著SQLアンチパターンを読み終えたので、それの復習のために悍ましいデータベースを作ろうと思った。 まず前半では、SQLアンチパターンを意図的に盛り込み、目も当てられない酷い設計をします。 そのあとリファクタリングを行なったER図に書き直していきます。 なお、真面目に書くと参考書の丸写しになってしまうので、この記事は アンチパターンもりもりのER図を見て嫌悪感を学習し、設計に役立てようという趣向のもと、詳しい説明は省きます。 とても良い本なので読んでください。 想定するシステムの概要と状況 目的において適切かはわかりませんが、とりあえず考えることの多い”お金”を扱うシステムを想定してみます。 私はブラックジョークが好きなので、今回は「ちょっと怖い金融屋さんが使う債務者管理システム」のER図を設計してみようと思います。 ざっくりした要件 債務者を登録でき、プロフィールを入力できる。 債

                            SQLアンチパターンもりもりDBを設計しよう! - Qiita
                          • Netflixにおける実用的なAPI設計: gRPCとFieldMask | pyspa

                            Netflix Tech BlogのgRPC APIに関する以下の2つの記事に感銘を受けたので、ここにその概要を日本語で記します。 (めんどくさかったので)翻訳の許可は取ってませんが、再構成してますし元のJavaではなくPythonで書き直していますので、容赦して下さい… Practical API Design at Netflix, Part 1: Using Protobuf FieldMaskPractical API Design at Netflix, Part 2: Protobuf FieldMask for Mutation OperationsまとめgRPCでは、FieldMaskをうまく使うことで、必要な情報だけ取得したりあるいは与えたりしたりできまっせ第一部まずField Maskをどのように使うかを述べています。 背景Remote Callというものは、そもそもコ

                              Netflixにおける実用的なAPI設計: gRPCとFieldMask | pyspa
                            • USBが誕生したのは「奥さんのプリンタをつなげる手間にキレたから」 USBの設計当時を振り返る

                              USBが誕生したのは「奥さんのプリンタをつなげる手間にキレたから」 USBの設計当時を振り返る:“PC”あるいは“Personal Computer”と呼ばれるもの、その変遷を辿る(1/6 ページ) IBM PC、PC/AT互換機からDOS/Vマシン、さらにはArmベースのWindows PC、M1 Mac、そしてラズパイまでがPCと呼ばれている昨今。その源流からたどっていく大原雄介さんによる解説連載の第8回。前回はPCのアーキテクチャを巡るIntelとMicrosoftの動きを描いたが、今回はそこでIntelの取り組みの成果の一つとして挙げたUSBのお話である。 USBはいろいろ失敗もある(というか、現在進行形で失敗し続けている気もしなくはない)が、それでも大成功したインタフェースである。そして単にPCだけではなくマイコン(※1)などでも普通にサポートされるようになってきており、加えてP

                                USBが誕生したのは「奥さんのプリンタをつなげる手間にキレたから」 USBの設計当時を振り返る
                              • 設計を学びたいときに読みたい本一覧 - Qiita

                                これは何 の参加記事です。 エンジニアとして開発をしていく以上、設計についての知識を身につけていくことはとても重要です。 とはいえ設計という言葉からは何を勉強するべきかがいまいちピンときません。 この記事では、僕が読んできた設計に関するおすすめの本を網羅的に紹介しています。 これから設計を勉強する方の役に立てれば幸いです。 おすすめの本一覧 おすすめの本を紹介していきます。 他にもおすすめがあればぜひ編集リクエストをください! オブジェクト指向設計実践ガイド 設計を始めに学ぶならこれ、という一冊です。 エンジニアとして開発を行なっている中で、オブジェクト指向設計は一番汎用的に使う設計知識なのではないでしょうか? オブジェクト指向設計を学ぶことで、いわゆる「におう実装」と「良い実装」を見極めることができるようになると思います。 知らなかったら読んだほうが良いキーワード SOLID原則 Cle

                                  設計を学びたいときに読みたい本一覧 - Qiita
                                • 【DDD入門】TypeScript × ドメイン駆動設計ハンズオン

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

                                    【DDD入門】TypeScript × ドメイン駆動設計ハンズオン
                                  • ニトリのITパスポート取得推進『会社のITリテラシーの底上げ』が必要な状況がわかりすぎる「下に合わせて設計するから」

                                    リンク 日本経済新聞 ニトリ、全社員の8割にIT国家資格 25年までに - 日本経済新聞 ニトリホールディングス(HD)は2025年までに約1万8千人の社員の8割に情報処理に関する国家資格「ITパスポート」を取得してもらうようにする。小売業でも電子商取引(EC)の普及などデジタル化が進む。社員のIT(情報技術)能力を底上げすることで企業競争力を高める。受験費用は会社が全額負担する。社員向けに取得を支援する講義も充実させる。新入社員の研修メニューにも加え、取得を促す。合格した社員の点 47 users 379

                                      ニトリのITパスポート取得推進『会社のITリテラシーの底上げ』が必要な状況がわかりすぎる「下に合わせて設計するから」
                                    • 『ソフトウェア設計のトレードオフと誤り』を読んで、”日付や時刻”を扱うことの難しさについて考えた - Magnolia Tech

                                      ソフトウェア設計のトレードオフと誤り ―プログラミングの際により良い選択をするには 作者:Tomasz Lelek,Jon SkeetオライリージャパンAmazon ソフトウェア開発経験の最初の段階で「一つの機能には複数の選択肢が有って、メリット・デメリットがそれぞれ有り、それらはトレードオフの関係に有り、容易には決めることができない」という事実を教えてもらえる機会に遭遇できていれば、その人はとても幸運だと思う。 先輩や上司が一方的に、「一つの確かな方法」をただ伝える、みたいな場面(それが必ずしも一般的にはそうとは言えない方法であったとしても)も多いのではないでしょうか。 どんなに設計上の意思決定ができている人でも、その頭の中では「色々な選択肢の中で悩んで、ベストではないかもしれないけど、前の前の課題に対してよりベターな方法」を選んでいる。でもその思考の過程を見せてくれる人はとても少ない。

                                        『ソフトウェア設計のトレードオフと誤り』を読んで、”日付や時刻”を扱うことの難しさについて考えた - Magnolia Tech
                                      • 「パパの書くプログラムってif文すごく少ないね」 → 「よく気がついたな。if文をあまり書かないよう設計すると皆に喜ばれるぞ」

                                        ミノ駆動 @MinoDriven 昨日ゲームプログラミングしてる最中 うちの子「パパの書くプログラムってif文すごく少ないね」 僕「よく気が付いたな。同じ動きのコードでも何も考えずに書くとif文だらけで読みにくくなるんだ。if文をあまり書かないよう設計すると皆に喜ばれるぞ」 とインプットしておいた。 2020-02-25 11:48:13

                                          「パパの書くプログラムってif文すごく少ないね」 → 「よく気がついたな。if文をあまり書かないよう設計すると皆に喜ばれるぞ」
                                        • 『良いコード/悪いコードで学ぶ設計入門 』を出版します|ミノ駆動

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

                                            『良いコード/悪いコードで学ぶ設計入門 』を出版します|ミノ駆動
                                          • アジャイル開発とデータベース設計 - 変化に対応するシンプルな実装のために必要なこと - Agile Journey

                                            はじめまして。そーだい(@soudai1025)です。私は普段は技術コンサルティングや受託開発を請け負う合同会社HaveFunTechの代表として、また、予防治療の自社サービスを展開する株式会社リンケージのCTOという二足の草鞋を履き、日々、さまざまなWebサービスの開発に携わっています。 これまでの開発経験のなかで、データベース設計に関わるさまざまな問題に遭遇してきましたが、本稿ではとくに、アジャイル開発時に発生しやすい問題とその対処についてお伝えしたいと思います。開発の現場で目にしやすい実装におけるアンチパターンを示しつつ、アジャイルという指針を維持しながら、対処となるデータベース設計についてご紹介します。 会員登録のアンチパターンと処方箋 イージーな実装とシンプルな実装 Userと言う名の罠 拡張と破綻 データベースは変化に弱い 仕様変更とテーブル変更 Addで変化に追従する 正規化

                                              アジャイル開発とデータベース設計 - 変化に対応するシンプルな実装のために必要なこと - Agile Journey
                                            • 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
                                              • 他のCSS本とはかなり異なる!現在、主流の実装・設計方法が徹底解説された良書 -CSS設計完全ガイド

                                                私のCSSはこのままでいいのだろうか、他の人はどのように取り組んでいるのか、CSSのスキルアップを考えているWeb制作者・デベロッパーに、ぜひ手に取ってほしい一冊を紹介します。 本書ではCSSのさまざまな設計手法を解説するだけでなく、最適解となるコードに至るまでの思考プロセスも非常に詳しく解説されています。デベロッパーの頭の中で考えていることが言語化されており、自分のCSSを見直したい人、より効率的なCSS開発を探究している人にお勧めです。 本書は、CSSの中・上級者向けの内容をていねいに詳しく解説したものです。初心者向けのブログやお店ページの例などは一切なく、モジュールベースのコンポーネントやレイアウトが主体で、プロジェクトレベルのCSS設計について解説されています。

                                                  他のCSS本とはかなり異なる!現在、主流の実装・設計方法が徹底解説された良書 -CSS設計完全ガイド
                                                • Hiromitsu Takagi on Twitter: "みんな絶対言わないだろから、私が言うしかない。 これはうっかり筆が滑ったというレベルではなく、電子署名の根幹から理解がおかしいことを露呈したもので、このレベルでの無理解は、全体設計への深刻な勘違いを産むし、己の無理解に無自覚であ… https://t.co/FhTeLclir6"

                                                  みんな絶対言わないだろから、私が言うしかない。 これはうっかり筆が滑ったというレベルではなく、電子署名の根幹から理解がおかしいことを露呈したもので、このレベルでの無理解は、全体設計への深刻な勘違いを産むし、己の無理解に無自覚であ… https://t.co/FhTeLclir6

                                                    Hiromitsu Takagi on Twitter: "みんな絶対言わないだろから、私が言うしかない。 これはうっかり筆が滑ったというレベルではなく、電子署名の根幹から理解がおかしいことを露呈したもので、このレベルでの無理解は、全体設計への深刻な勘違いを産むし、己の無理解に無自覚であ… https://t.co/FhTeLclir6"
                                                  • 他人のコードや設計を見て1番これはあり得ないだろと思う実装はありますか?

                                                    回答 (9件中の1件目) qmailという、極端にバグが少なく、安全で高速なSMTPのサーバーがあります。いまはシェアを落としていますが、数年間放置しておいても安定して長期間動くので、まだまだ現在も使われています。 the Internet's MTA of choice このCソースはすごいですよ。putsやprintf, fopenなどの標準Cライブラリの関数は安全ではないという理由で使わず、すべてsubstdioという、stdioのサブセットを独自実装しています。こんなことは普通はしないですね。 作者のDJB氏は、プログラムは全部のパターンをテストできなければならない。全部の...

                                                      他人のコードや設計を見て1番これはあり得ないだろと思う実装はありますか?
                                                    • クックパッドマートの失敗したデータ設計 Before / After 大放出

                                                      https://cookpad.connpass.com/event/249346/ にて発表。

                                                        クックパッドマートの失敗したデータ設計 Before / After 大放出
                                                      • ユーザインタフェース設計

                                                        Myersらの1992年の調査によれば、一般的なグラフィカルユーザインタフェース(Graphical User Interface; GUI)アプリケーション開発でコードの48%、実装時間の約半分がユーザインタフェース部分に割かれているといいます。それだけユーザインタフェースの設計は難しいプロセスなのです。 ユーザインタフェース設計で役に立つ基礎理論や評価手法、支援ツールは、人とコンピュータの関係をよりよくしていく学問 Human-Computer Interaction (HCI) で研究、開発されてきました。ただ、こうした知見を体系化されたかたちで学習する機会は(とくに国内では)必ずしも多くありません。 このWebページでは、自分が研究者になるにあたって知っておきたかった基礎的なことを、参考文献を挙げながら紹介します。想定している読者層は HCI を専門にする学生や、ユーザインタフェー

                                                          ユーザインタフェース設計
                                                        • API設計まとめ - Qiita

                                                          はじめに 自分は2021年に新卒でWeb系の開発会社にフロントエンジニアとして入社し2022年で2年目になります。 実務ではReact×TypeScriptを利用したフロント周りとNode.js(Nest)やRailsを用いたバックエンド(API)の開発をしています。 その中で使っていたAPI設計について改めて学び直したのでまとめて行きます。 この記事の対象者 エンジニア初心者から中級者 APIについて学びを深めたい人 この記事の目標 APIについて学ぶ 我流ではなく正しいAPI設計について学ぶ この記事でやらないこと 具体的にコードを用いたAPI設計の書き方の説明に関しては下記の記事で解説をしています。 APIについて APIとは APIは"Application Programming Interface"の略で、直訳すると「アプリケーションを使プログラミングを使ってつなぐ」という意味

                                                            API設計まとめ - Qiita
                                                          • メールアドレスをキーにしてID連携を行う設計の危うさ|ritou

                                                            ritouです。このしずかなインターネットにおける初投稿です。 おそらく、このしずかなインターネットのID連携では次のような設計になっていま「した」。問い合わせをさせていただき、対応いただきました。 これまでもQiitaなどで同様の実装例が紹介されていた際にはコメントさせていただいていたものですので、アンチパターンの紹介記事として読んでいただければと思います。 「Googleアカウントでログイン」ではじめると、ユーザーが作成され、Googleから受け取ったメールアドレス([email protected])が設定される 次回から「Googleアカウントでログイン」をすると、Googleから受け取ったメールアドレスでユーザーを参照 試しに、次のような流れで動作を確認してみます。 「Googleアカウントでログイン」でアカウント作成([email protected]) 「メールアドレス変更」

                                                              メールアドレスをキーにしてID連携を行う設計の危うさ|ritou
                                                            • 改めて整理するアプリケーション設計の基本

                                                              ●発表のアーカイブ動画はこちら:https://youtu.be/4rgGkoyUaZw ●発表の中で紹介しているUdemy講座:https://www.nextskill.co.jp/courses === プログラミングの基礎を学び、アプリケーション開発に実践的に関わり始めると、「MVC」「サービスクラス」「ドメインモデル」「クリーンアーキテクチャ」といった、よく分からない単語に遭遇します。 これはいわゆる「アプリケーションアーキテクチャ」という分野の話で、アプリケーション開発に関わり始めると、誰もが突き当たる壁の一つです。 今回はアプリケーションアーキテクチャを学ぶ最初の一歩として、「MVC」や「3 層アーキテクチャ」などの、基本的な用語の意味や関係性を整理します。 発表者が過去に書いた以下の記事を中心に、+α の内容を加えた発表になります。 ・「ビジネスロジック」とは何か、どう実装

                                                                改めて整理するアプリケーション設計の基本
                                                              • 設計ドキュメント腐る問題、Git管理で運用してみた結果 | フューチャー技術ブログ

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

                                                                  設計ドキュメント腐る問題、Git管理で運用してみた結果 | フューチャー技術ブログ
                                                                • 全AWSエンジニアに捧ぐ、CloudWatch 設計・運用 虎の巻 / CloudWatch design and operation bible

                                                                  全AWSエンジニアに捧ぐ、CloudWatch 設計・運用 虎の巻 / CloudWatch design and operation bible

                                                                    全AWSエンジニアに捧ぐ、CloudWatch 設計・運用 虎の巻 / CloudWatch design and operation bible
                                                                  • 個人的なアプリケーション設計のバイブル3選 - Runner in the High

                                                                    自分が本格的に設計を意識するようになったのは、2015年の夏に現職であるFringe81株式会社で開催されていたサマーインターンに参加してからだ。 インターンではDDDとクリーン・アーキテクチャ*1を一から勉強してAPIサーバーに実装する、というカリキュラムであったが、いま思うと2週間という比較的長いインターンで僕が学べたことと言えば本当に微々たるものだった。つまるところ、それくらいには設計というものは奥が深い。常になんらか特定のデザイン・パターンなりアーキテクチャ・パターンを適用することでアプリケーション開発がうまくいくということはなく、それらの様々な知識から少しづつ応用されたものが最終的なアプリケーションの設計に対して真の洞察を与えてくれるものというのが、僕自身のいまの認識である。 設計はまさに Connecting the dots そのものだ。多くを知れば知るほど、アプリケーション

                                                                      個人的なアプリケーション設計のバイブル3選 - Runner in the High
                                                                    • ChatGPTの「Code Interpreter」は、Pythonのコード生成だけでなく設計・実行・結果の評価までしてくれる驚異の新機能【イニシャルB】

                                                                        ChatGPTの「Code Interpreter」は、Pythonのコード生成だけでなく設計・実行・結果の評価までしてくれる驚異の新機能【イニシャルB】
                                                                      • ソフトウェア設計を学びたい人々にまず教えるべきことはテスト技法ではないか - 余白

                                                                        根本の問題意識 ソフトウェアの設計スキルはどのように獲得する(させる)ことが効果的であるのか ソフトウェアアーキテクチャの目的 そもそもソフトウェアアーキテクチャはどのような欲望を満たすための方法か ソフトウェアアーキテクチャの目的は、求められるシステムを構築・保守するための必要な人材を最小限に抑えること である。 (CLEAN ARCHITECTURE) 「求められるシステムを構築・保守するための必要な人材を最小限に抑えたい」 => 構築容易性 と 保守容易性 を確保したい 構築容易性 「構築しやすさ」とは? ソフトウェアを構築するとはどういうことか ソフトウェアの2つの価値: 「振る舞い」と「構造」 振る舞い: 要件を満たすこと => いわゆる機能 構造: 振る舞いを簡単に変更できること => いわゆるアーキテクチャ 構築しやすさ=価値の生み出しやすさ 要件を満たしながら振る舞いを変更

                                                                          ソフトウェア設計を学びたい人々にまず教えるべきことはテスト技法ではないか - 余白
                                                                        • RESTful のウェブ API 設計で避けるべき 6 つのよくあるミス | Google Cloud 公式ブログ

                                                                          ※この投稿は米国時間 2022 年 12 月 1 日に、Google Cloud blog に投稿されたものの抄訳です。 オンラインで、組み立て式のテーブルを注文したとします。ところが、パッケージを開けてみると、組立説明書が入っていません。完成品がどんなものかはわかっていても、それぞれのパーツをどう組み立てればいいのか、まるでわかりません。設計が不十分な API を使うコンシューマ開発者も、同じような経験をしているといえます。適切に設計された API なら、容易に見つけ、検索してアクセスし、使用することができます。高品質の API は、コンシューマ開発者がアイデアをひらめき、新しいユースケースを作り上げる手助けになってさえくれます。 もちろん、API 設計を改善する方法はあります。たとえば、RESTful のプラクティスに従うなどです。しかし、お客様が知らず知らずのうちに、ちょっとした不便

                                                                            RESTful のウェブ API 設計で避けるべき 6 つのよくあるミス | Google Cloud 公式ブログ
                                                                          • Vue.js設計地図 〜設計概念の依存関係からフロントエンド設計を見つめ直す〜

                                                                            Vue.js の設計地図を作成しました。設計概念の依存関係の図式化して理解し、 フロントエンド設計をモデリング起点で考えたブログです。

                                                                              Vue.js設計地図 〜設計概念の依存関係からフロントエンド設計を見つめ直す〜
                                                                            • リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog

                                                                              どうも、レコメンド商品のシステム開発をしている野川と申します。 私は、2021年にモノタロウに新卒入社し、2022年5月からレコメンド商品の開発に関わり始めました。 モノタロウのレコメンド商品は、下の図の①~④の流れでクライアントサイドで表示しています。大部分の処理はJavaScriptで構成しており、UIもそのHTML部分をjQuery(JavaScript)で作成しています。 図:レコメンド商品表の流れ 入社当時私は、ソフトウェアエンジニアとして、「可読性の低いコードは駆逐するべきだ」「読みやすいコードだけが正義である」「理解しやすいシステムだけが皆を幸せにする」と心の底から考えていました。加えて、「なぜ先輩たちは可読性の低いコードを放置して平気なのか?」と疑問を持つこともしばしばありました。 レコメンド商品周りのコードはまさに可読性の低いコードベースとなっていたため、当事者となった私

                                                                                リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog
                                                                              • 「エピソードが全部強烈」法律無視、設計図もなし…建築経験のない夫婦が独学&自力で建設した"沢田マンション"を訪れた時の話

                                                                                阿部光平|IN&OUT @Fu_HEY エピソードが全部強い。 ・建設に小学生の娘まで動員。届かない足でレッカー車を運転 ・断熱を考えて屋上を土で覆い畑作開始 ・マンション内にスーパーや共同浴場を開業 ・豪雨で油が流出。周囲の水田で被害が出たが、その年の収穫物を全て買い上げる形で解決 ja.wikipedia.org/wiki/沢田マンション 2020-01-29 11:53:21 リンク Wikipedia 沢田マンション 沢田マンション(さわだマンション)は、高知県高知市薊野北町一丁目に建設された、集合住宅である。鉄筋コンクリート建築を専門職として手掛けたことのない者が、夫婦二人で(のちにはその子も加わって)造りあげた。通称「沢マン」(さわマン)、「軍艦島マンション」とも。現況は、鉄骨鉄筋コンクリート構造、敷地550坪、地下1階地上5階建て(一部6階)、入居戸数約70世帯、約100人居

                                                                                  「エピソードが全部強烈」法律無視、設計図もなし…建築経験のない夫婦が独学&自力で建設した"沢田マンション"を訪れた時の話
                                                                                • 設計/コードレビューで"常に"心がけるポイント - little hands' lab

                                                                                  株式会社ログラスの松岡(@little_hand_s)です。 little-hands.hatenablog.com ↑の記事でドメインオブジェクトの設計方針を書きましたが、それ以外の全般的な設計/レビュー観点について書きます。 非常に汎用性のある内容なので、数多くのプログラミング原則を覚えるより、まずこの観点でチェックできるようにすると即効性が期待できます。 前提として、階層化されたアーキテクチャ(オニオンアーキテクチャなど)を採用しているものとします。 ①レイヤーの責務違反の実装をしていないか ②高凝集/低結合になっているか 高凝集 クラスに関して メソッドに関して 低結合 ③ユニットテストを書きやすいか 合言葉 筆者執筆書籍 現場での導入で困ったら ①レイヤーの責務違反の実装をしていないか 例として、「ユースケース層にドメイン層のルール/制約に関わる実装をしている」場合はNGです。

                                                                                    設計/コードレビューで"常に"心がけるポイント - little hands' lab