[TIL] MVC(Model-View-Controller) & ORM
MVC(Model-View-Controller)
Model–view–controller (usually known as MVC) is a software design pattern commonly used for developing user interfaces that divides the related program logic into three interconnected elements.
mvcはソフトウェア実行の設計モードと見なすことができる.
Controller
ユーザがアクセスするURLに基づいてユーザの要求を決定し、その要求に合致するデータをモデルに委任し、ビューにデータを反映してユーザに通知する.
Model
通常、CIのモデルはデータベーステーブルに対応します.たとえば、Topicという名前のテーブルはtopicモデルというモデルを作成します.しかし,この関係は強制的ではないため,ルールを一貫して定義する必要がある.
View
Viewはクライアント技術html/css/javascriptのコンテナです.
https://www.youtube.com/watch?v=Rr6lHwzgvOI
ORM
Object–relational mapping(ORM, O/RM, and O/R mapping tool) in computer science is a programming technique for converting data between incompatible type systems using object-oriented programming languages.
簡単に言えば、オブジェクトとリレーショナル・データベース間のプログラミング言語の観点から協力した翻訳者と考えられる.
リファレンス
https://sequelize.org/master/index.html
Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. It features solid transaction support, relations, eager and lazy loading, read replication and more.
-> Node.js ORM
npmインストールnpm install --save sequelize //최신버전 v6
リファレンス
https://sequelize.org/master/manual/migrations.html
Just like you use version control systems such as Git to manage changes in your source code, you can use migrations to keep track of changes to the database. With migrations you can transfer your existing database into another state and vice versa: Those state transitions are saved in migration files, which describe how to get to the new state and how to revert the changes in order to get back to the old state.
->データベースへの変更を追跡します(スキーマの変更に伴ってデータが移行することを示します).
モードが変更されるたびに、移行を実行する必要があります.
To install the Sequelize CLI:npm install --save-dev sequelize-cli
To create an empty project you will need to execute init command
CLIを介してORMを使用するように起動する必要があります(プロジェクトの初期フェーズの自動設定を支援します).npx sequelize-cli init
Siqualize CLI公式文書(コマンドなど)
https://github.com/sequelize/cli
npm install --save sequelize //최신버전 v6
npm install --save-dev sequelize-cli
npx sequelize-cli init
{
"development": {
"username": "root",
"password": null,
"database": "database_development",
"host": "127.0.0.1",
"dialect": "mysql"
},
"test": {
"username": "root",
"password": null,
"database": "database_test",
"host": "127.0.0.1",
"dialect": "mysql"
},
"production": {
"username": "root",
"password": null,
"database": "database_production",
"host": "127.0.0.1",
"dialect": "mysql"
}
}
生成されたjsonコンテンツでは、database developmentセクションは基本的にmysqlに書き込まれる環境です.Once you have properly configured CLI config file you are ready to create your first migration. It's as simple as executing a simple command.
name: the name of the model;
attributes: the list of model attributes.
npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string,email:string
必要なオプション値に設定できます.npx sequelize-cli model:generate --name url --attributes title:string,visits:string,email:string
This will:Create a model file user in models folder;
Create a migration file with name like XXXXXXXXXXXXXX-create-user.js in migrations folder.
Note: Sequelize will only use Model files, it's the table representation. On the other hand, the migration file is a change in that model or more specifically that table, used by CLI. Treat migrations like a commit or a log for some change in database.
モデルファイルは、モデルファイルにのみ書き込まれるテーブル表示であり、移行によって生成される内容はCliに対する変更です.
we haven't inserted anything into the database. We have just created required model and migration files for our first model User. Now to actually create that table in database you need to run db:migrate command.
実際のテーブルにデータベースを作成するには、db:migrateを実行する必要があります.
npx sequelize-cli db:migrate
node.jsは、requestというライブラリを使用してHTTPリクエストを発行します.同様のライブラリにはaxios、node-fetchなどがあります.node.js内蔵httpモジュールとhttpsモジュールは、直接実装に使用できます.request
https://github.com/request/request
axios
https://github.com/axios/axios
node-fetch
https://github.com/node-fetch/node-fetch
整理されたブログ
https://medium.com/graphql-seoul/%EB%B2%88%EC%97%AD-%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98%EA%B3%BC-sequelize-cli-%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC-3926c0a9eae6
https://velog.io/@dlrbwls0302/TIL-SequelizeShortly-mvc-%EC%BD%94%EB%93%9C-%EB%B6%84%EC%84%9D
学ぶべきこと
生活コードmvc部分のビデオチュートリアルを見る
https://opentutorials.org/module/327/3828
Reference
この問題について([TIL] MVC(Model-View-Controller) & ORM), 我々は、より多くの情報をここで見つけました https://velog.io/@iooi75/TIL-MVCModel-View-Controller-ORMテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol