タグ

設計に関するgt-r-blazeのブックマーク (20)

  • GitHub - mermaid-js/mermaid-cli: Command line tool for the Mermaid library

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - mermaid-js/mermaid-cli: Command line tool for the Mermaid library
  • mermaid

    Generate diagrams from markdown-like text. Live Editor! 📖 Documentation | 🚀 Getting Started | 🌐 CDN | 🙌 Join Us 简体中文 Try Live Editor previews of future releases: Develop | Next 🏆 Mermaid was nominated and won the JS Open Source Awards (2019) in the category "The most exciting use of technology"!!! Thanks to all involved, people committing pull requests, people answering questions! 🙏 Mermaid

    mermaid
  • Difference Between Entity and Attribute in Database - Binary Terms

    gt-r-blaze
    gt-r-blaze 2021/11/30
    第二正規化=partil dependency を解除: エンティティ(構造体みたいな)のタイプが異なるにも関わらず、同じ行=エンティティに存在しているデータを、個別のエンティティに分割すること
  • Partial Dependency in DBMS

    gt-r-blaze
    gt-r-blaze 2021/11/30
    部分(関数)従属。理解には「エンティティのタイプ」という考え方が必要。これを更新するとき、複数のエンティティが必要、という。生徒が持つプロジェクトidを更新するときに、プロジェクト名は本来更新しなくてい
  • 外部キーとは?〜概要から変数や処理の書き方を解説〜

    外部キーとは「親テーブルに存在しないデータを子テーブルが持つことが無いようにするための制約」です。 例えば部署テーブルと従業員テーブルがあり、従業員テーブルに部署IDがあった場合、存在しない部署IDで従業員テーブルを登録できないようになります。 外部キーの役割 外部キーを作成することによって基的にはこの3つの制約を実現できます。 1. 存在しない値を外部キーに設定できなくなる 2. 親テーブルに存在する子テーブルの外部キーで繋がれたデータを削除できなくなる 3. 親テーブルのレコードを削除したときに外部キーで紐づいている子テーブルのレコードも削除する 一つずつ見ていきましょう。 存在しない値を外部キーに設定できなくなる 子テーブルに設定した外部キーの 実際に試してみましょう。今回はこちらのテーブルを使います。 EMPLOYEES DEPARTMENT BRANCH DEPARTMENTテ

    gt-r-blaze
    gt-r-blaze 2021/11/30
    外部キー=制約。親テーブル=参照される先
  • TypeScript 学習記録 #5(ジェネリック型(ジェネリクス))

    TypeScript 学習記録 #4 の続編。 今回のメインテーマ、「ジェネリック型について」。 今回主に参考にした教材: 【日一わかりやすいTypeScript入門】ジェネリック型を使いながらポリモーフィズムを理解する 見返す用リスト(主に自分用) TypeScript基礎学習を完走したので、いつでも見返すことの出来るようにリスト化しておく(5/17) TypeScript 学習記録 #1(学習ルート策定やTS参考教材一覧) TypeScript 学習記録 #2(TS / ESLint / Prettierの環境構築) TypeScript 学習記録 #3(基の型定義・関数の型定義) TypeScript 学習記録 #4(オブジェクトと配列の型定義) TypeScript 学習記録 #5(ジェネリック型(ジェネリクス)) TypeScript 学習記録 #6(InterfaceとTy

    TypeScript 学習記録 #5(ジェネリック型(ジェネリクス))
  • 【Java入門】実際にどう使う?abstractの意味とメリット

    【STEP1】「abstract」とは何か? 「abstract」は直訳すると「抽象的」という意味です。 「抽象的」とは、一体どのようなことなのでしょうか。 抽象的を辞書で調べると、以下の2つの意味が書かれています。 Javaの「abstract=抽象的」は、1の意味に近く「共通なものを抜き出し、まとめる」事ができると考えてみてください。 この説明も具体性に欠ける為、抽象的な感じではありますが、具体的に「abstract」を解説していきたいと思います。 プログラミングで使用される「abstract」とは? プログラミング言語における「abstract」は「メソッドの修飾子」として使われます。 ※ 修飾子とは、メソッド、クラスなどの性質を決定付けするものです。 【※初心者向け】「メソッド」ってなに? メソッドとはそもそも何でしょうか。 簡単に説明すると「メソッド=複数の処理をまとめたプログラ

    gt-r-blaze
    gt-r-blaze 2021/11/12
    (抽象的なメンバ≒具体的ではないメンバ)をもった(継承元=親クラス)。(継承先=子クラス)で、その抽象的なメンバを具体化する。
  • Javaデザインパターン全23種の特長をスッキリ解説 | 侍エンジニアブログ

    デザインパターンはJavaなどのオブジェクト指向言語で使われる設計パターンのことです。特に有名なGoFのパターンでは、数々のエンジニアが工夫を重ねてきた設計が23種類にパターン分けされまとめられています。

    Javaデザインパターン全23種の特長をスッキリ解説 | 侍エンジニアブログ
    gt-r-blaze
    gt-r-blaze 2021/11/12
    何が起きたときに、どれくらいメンテナンスしやすくなるか、あとで試したほうがいい。
  • ビジネスロジックとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

    簡単に書くよ ビジネスロジック(英:business logic)とは そのシステムにおける、システム固有の処理を行う部分……的なニュアンスだけど具体的に何を指すかは結構あいまいで、みんな何となくのフィーリングで使っている用語。 もう少しざっくりと書くと システムにおける実際のお仕事部分のこと です。 サクッと一言で説明すると システムにおいて、そのシステムとしての実際のお仕事をする部分 が「ビジネスロジック」です。 ちなみに「ロジック」は「プログラムにおける処理の内容、手順、方法」ね。 例えば、そうですね。 ピヨ太君が「ピヨピヨ業務システム」を作ったとしましょう。 ピヨピヨ業務システムは、ぺちぺち情報を入力すると、あれやこれやの処理が行われて、その結果がデータベースに登録されるシステムです。 ピヨピヨ業務システムを見たピヨ子さんは、ピヨ太君に ピヨピヨ業務システムって何をするシステムなの

    ビジネスロジックとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
  • 「ビジネスロジック」とは何か、どう実装するのか - Qiita

    アプリケーション開発で、「ビジネスロジックは分離しろ」だとか「Controller にビジネスロジックを書くな」といったことをよく言われると思います。 しかし、ビジネスロジックという言葉の意味を聞いたり調べたりしてみても、「システムのコアの部分」とか「システムの目的になる処理をするところ」みたいなことを言われたりして、よく分かりませんでした。 そんな中、クリーンアーキテクチャや DDD の戦術的設計について学ぶことで、「ビジネスロジックとは何か」、「ビジネスロジックはどう実装するか」について、自分なりの考えが整理されてきたので、この記事ではそれをまとめます。 ※ 曖昧な言葉を自分としてどう使っているかという話になります。違う意味で使う方もいると思うので、ご注意ください ビジネスロジックとは何か 「システムのコアの部分」とか「システムの目的になる処理をするところ」といった説明も正しいとは思い

    「ビジネスロジック」とは何か、どう実装するのか - Qiita
    gt-r-blaze
    gt-r-blaze 2021/11/12
    インジェクション系から守る仕組みのように、どれに属するかもめそうなものは、どっちにも入れられる形にしとくといいかも。
  • ビジネスロジック - Wikipedia

    ビジネスロジック(英: business logic)は、データベース上のデータに対する処理手順といったようなものを指す、ソフトウェア工学的な用語である。「アルゴリズム」という語が説明に使われていることがあるが、アルゴリズムは数学的・論理的に明確な概念であり間違った説明の仕方である。基的には、エンタープライズ系(業務支援系)ソフトウェアを開発する企業が内部的に、もしくは顧客への販売促進のために用いる用語である。この用語は、主にプログラムが3層構造となるWebアプリケーション開発で使われる。ビジネスロジックは3層の中の中間層(アプリケーションサーバ)に相当する。いずれにしても、ビジネスロジックという用語は明確な定義がなく、人によって意味が異なる可能性がある。 ビジネスロジックの範囲[編集] 実世界のビジネスオブジェクト(勘定、貸付金、旅程表、在庫目録などなど)をモデル化したもの そのような

    ビジネスロジック - Wikipedia
  • MVC、3 層アーキテクチャから設計を学び始めるための基礎知識 - Qiita

    はじめに アプケーション・アーキテクチャについて学ぶと「MVC」や「3 層アーキテクチャ」といった言葉にたどり着きます。 さらに勉強を進めると「MVVM」、「ドメインモデル」、「クリーンアーキテクチャ」など、よく分からない言葉がどんどん増えていきます。 また、「オブジェクト指向」を勉強しても、実際のアプリケーションでの使いどころが分からなかったりします。 この記事では、これらの用語の非常に分かりにくい関係を整理しました。 2 種類の 3 層 伝統的な Web アプリケーションは、以下のように 3 種類のサーバから成り立ちます。 このサーバ構成を 3 層アーキテクチャと言うことがあります。 一方、アプリケーションサーバで動いているプログラムの内部構造も、以下のように 3 層に分離することがあります。 これも 3 層アーキテクチャと言うことがあります。 この記事では、サーバの構成ではなく、アプ

    MVC、3 層アーキテクチャから設計を学び始めるための基礎知識 - Qiita
  • Spring MVC についてまとめてみるよ!!! - Qiita

    注意 これは自分用のメモです。未熟な雑魚Springユーザーが書いたものなので、きっと間違いもあります。ご容赦ください MVCパターンはwebアプリケーションの開発に使われるパターンで、初めてreilsでポートフォリオを作ろうとしたときに僕は初めて知りました。ただ、SpringMVCは厳密にはフロントコントローラーパターンと呼ばれるアーキテクチャパターンで、僕も十分に理解できていないが、全てのリクエストを一旦受け取るフロントコントローラーとと呼ばれるコントローラーを実装したパターンらしい。 一方、SpringMVCの特徴は以下の通りです。 1. POJOで実装されてる POJOってのはシンプルなJAVAのオブジェクトって意味。フレームワーク独自のインターフェースを実装する必要がない! 2. アノテーションを使って開発 リクエストマッピング(ここにアクセスしたらこのメソッドを実行するとか)な

    Spring MVC についてまとめてみるよ!!! - Qiita
  • MVCモデルの簡単な例 - Qiita

    javaBeams インスタンスを保存できる領域の一つ。 以下のルールがある。 1. 直列化可能 2. クラスはpublicでパッケージに所属 3. publicで引数のないコンストラクタを持つ 4. フィールドはカプセル化されている 5. 命名規則に従ったgetter/setterを持つ サンプルプログラム コードごとに随時解説を入れます。 Model アプリケーションの主たる処理やデータの格納などを行う modelパッケージに保存。 package model; import java.io.Serializable; public class Health implements Serializable { private double height, weight, bmi; private String bodyType; public double getHeight() {

    MVCモデルの簡単な例 - Qiita
  • MVCとは?MVCの概念や役割3つと具体例を紹介|メリット・デメリットも解説 | テックマガジン from FEnetインフラ

    MVCとはWebフレームワークで一般的に取り入れられるアプリケーション設計の機能を整理するための概念です。 モデル・ビュー・コントローラーの頭文字をとり、MVCといいます。ユーザーインターフェイスと内部データを分けるデザインパターンの一つに数えられます。 デザインパターンとはソフト開発つに当たる「型紙」のことで、MVCは設計の時に使うコンセプトというとわかりやすくなります。 MVCの概念とは? MVCの概念とは「機能によってプログラムの中身を分けて記述する」ことです。MVCは機能ではなく考え方で、アプリケーション全体のコードを管理するための考え方です。 役割ごとに意味のある単位で機能をセットすると管理しやすいという考え方で、M=モデル、V=ビュー、C=コントローラーに分割しセットします。 複数人で開発を行った場合に、どこに何があるのかすぐ分かるように用いる型紙がMVCです。 MVCの役割3

    MVCとは?MVCの概念や役割3つと具体例を紹介|メリット・デメリットも解説 | テックマガジン from FEnetインフラ
  • MVCモデルとは!概念やそのメリットをわかりやすく解説! | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

    そもそも「MVCモデル」とは一体何でしょうか。そんな疑問から概念やそのメリットをわかりやすく解説していきます。「M」「V」「C」で各項目ごとに内容や各割を説明していきます。MVCの概念はもちろんの事、MVCを利用していく上でのアドバイスや「開発側に利点」にも切り込んで徹底解説していきます! MVCの概念 MVC は、Webフレームワークで一般的に取り入れられているアプリケーション設定を整理するための概念の一つです。 モデル(Model)頭文字「M」、ビュー(View)頭文字「V」、コントローラー(Controller)頭文字「C」で「MVC」と言います。 それぞれ次の役割を持ちます。 【モデル】 システム内のビジネスロジックを担当します。システムの設計や機能をどうするかがここで行われます。 【ビュー】 実際に表示したり、入力する機能の処理を行うのがビューです。 【コントローラー】 コントロ

    MVCモデルとは!概念やそのメリットをわかりやすく解説! | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社
  • いろいろな駆動開発 - Qiita

    いろいろなxx駆動開発があるので、ちょっとメモしておこうかと。 どれもざくっとした内容でしか書いていませんけど。。。 テスト駆動開発 (Test Driven Developmen; TDD) テストファーストに基づく設計手法で、軽快なフィードバック、きれいで動くコードを作ろうという開発プロセスです。ユニットテストを使ったテスト技法といった程度に見られていますけど、当はシステムテストも含んだ開発全般を含んでいます。 ビヘイビア駆動開発 (Behavior Driven Development; BDD) TDDがテストという言葉が先行してしまったので、改めて提唱されたのが振舞駆動開発。システムに期待されている「振る舞い」や「制約条件」を上位レベルからテストしようという開発手法です。JBehaveやxSpecといった自然言語で実装できるフレームワークが登場しています。 品質特性駆動型設計

    いろいろな駆動開発 - Qiita
    gt-r-blaze
    gt-r-blaze 2021/11/08
    メモ: ~駆動開発≒~に基づいて回す開発ってこと?~ Based Driven Development ? 「開発の中心に据える」っていう言い方のところもあった。
  • [ 技術講座 ] Domain-Driven Designのエッセンス 第1回|オブジェクトの広場

    DDD難民に捧げる Domain-Driven Designのエッセンス 第1回 ドメイン駆動設計とは 株式会社オージス総研 アドバンストモデリングソリューション部 佐藤 匡剛 Domain-Driven Design Tackling Complexity in the Heart of Software Eric Evans 著 Addison-Wesley, 59.99ドル 560ページ ISBN: 0-321-12521-5 「ドメインモデリング」は、アプリケーション開発において最も重要な部分だとされています。しかしその割には、フレームワークの使い方やアーキテクチャの設計方法など技術に関する解説書はたくさんあるものの、ドメインモデリングそのものを扱った書籍はほとんど無かったと言ってもいいでしょう。Eric Evansの『Domain-Driven Design』(以降DDD)は、「

  • SOLID - Wikipedia

    In software programming, SOLID is a mnemonic acronym for five design principles intended to make object-oriented designs more understandable, flexible, and maintainable. Although the SOLID principles apply to any object-oriented design, they can also form a core philosophy for methodologies such as agile development or adaptive software development.[1] Single-responsibility principle: "There shoul

  • 「現在時刻」を外部入力とする設計と、その実装のこと - クックパッド開発者ブログ

    こんにちは。技術部 開発基盤グループの諸橋です。 クックパッドでは昨今の多くのWeb企業と同じように、GitHub EnterpriseのPull Requestを使ったコードレビューを広範に実施しています。わたしたちのコードレビューでは、ソースコードの字面にとどまらず、サービスの機能として魅力的かどうかや、保守性を含めた設計が適切かといった議論に発展することも良くあります。 きょうはそんななかで話題に上がった「現在時刻」の扱いかたに関する設計の話を書きます。 背景 サービスを開発・運営している我々には、時間帯によって出し分けたり、特定の期間のみに表示したいコンテンツがたくさんあります。 そのたびにデプロイし直すというのはつらいので(特に24:00に出なくなるコンテンツなど)なんとかしたくなりますが、一方で時限式のコンテンツはその時になるまでちゃんと動いているか確証が取れないので怖いです。

    「現在時刻」を外部入力とする設計と、その実装のこと - クックパッド開発者ブログ
  • 1