TIL 21.06.24
6913 ワード
今日やったこと
mvc設計モードに基づいてsequelize(ORM)を使用
要求に従ってデータベース処理タスクが実行されました.
これは以前のようにtodoを埋める方法ではありません.
コントローラファイルを直接下部から作成します.
Achievement goalsパケットORM,1:1.1:N,N:N関係を表すことができる. クランプで知る事実 を整理する.
design pattren
ここでの設計パターンとは「ソフトウェアエンジニアリング」の概念を指す.
設計モード(Design pattern)はプログラム開発時によく遭遇する困難であり,状況に対する一般的で再利用可能な抽象的な解決策である.
今回学んだmvcモードに比べて、以前もデザインモードを学んだことがあります.
反応器の一方向データストリームや反応器のFluxモードも設計モードの一部だそうです.
module.exports & require
splitの実行中に、下部からcontrollerファイルの作成を開始するとmoduleになります.exportsとrequireについて詳しく知らなかったので、情報を再検索しました.
プログラミングでは、モジュールは独立して再利用可能で、外部の影響を受けないコードの集合である.
require()関数はmoduleです.輸出を回収する.(外部モジュールをインポートします.)
パラメータに入る値にパスを設定しないと、NodeJS自体のライブラリにモジュールが見つかります.
module.exportsは、エクスポートするファイルのコードをモジュールに分けます.exportsのオブジェクトに定義されたプログラム.
モジュールは、外部ファイルからファイルをインポートするために使用されます.輸出に代入しなければならない.
移行モデルの違い
移行は、適用されていない設定値を実際のデータベースに反映します.
モデルはsqlをオブジェクト向けのフォーマットで可能にする
Redirections
直接指示は、その名の通り再指示です.
これは、ユーザが要求したページではなく、他のページまたはサーバに接続するようにユーザを導く技術である.
例えば、https://bitly.com/は、複雑なurlをurlに簡略化するサービスを提供する.
https://www.instagram.com/james.7507/は私のInstagramサイトです.
これを短縮したhttps://bit.ly/3gQNW2Yも接続可能である.
ユーザがhttps://bit.ly/3gQNW2Yを入力すると、ユーザはhttps://www.instagram.com/james.7507/に導かれる.
最初に要求を受信したWebサーバは、HTTP応答ステータスコードに302を送信し、応答メッセージヘッダに位置値にリダイレクトする必要があるアドレスを設定して返信する.
別に知っている事実
デフォルトでは、テーブル名が指定されていない場合、Sequeizeは自動的にモデル名を複数にし、テーブル名として使用します.
SequeizeによるSchemaの実装
(関連を使用してJoin Tableを実施)新しいモデルと移行を作成します.(users) モデルの作成時に移行ファイル が自動的に作成されます.
urlsテーブルにコラムを追加するには、
マイグレーションスカラーファイル の作成 skeletonファイルを生成すると、upとdown関数を持つオブジェクトが内部に存在します. up:移行コマンドの実行
実行される関数で、内部で必要なクエリー文を記述します.
down:移行元に戻すコマンド
実行される関数で、upに追加された内容を削除するために内部にクエリー文が作成されます.スカラーファイルから列を追加し、外部キー を接続する.
QueryInterface、設定するオブジェクト、クラス(内部に複数のメソッドがあります)
コラムの追加/(表、追加するコラム名、タイプ)
カスケードは連鎖作用を意味する
関連付けを使用したJoin Tableの実装
モデルのインデックス.jsで実現します.
西クオリティのmodelsオブジェクトで設定したモデル名はキー値です.
構造分解を各変数に割り当てます.
例えば、n:1の場合
n belongsTo(1);
1 hasMany(n);
https://dololak.tistory.com/147
https://shoark7.github.io/programming/knowledge/what-is-design-pattern
https://medium.com/@chullino/require-exports-module-exports-%EA%B3%B5%EC%8B%9D%EB%AC%B8%EC%84%9C%EB%A1%9C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-1d024ec5aca3
mvc設計モードに基づいてsequelize(ORM)を使用
要求に従ってデータベース処理タスクが実行されました.
これは以前のようにtodoを埋める方法ではありません.
コントローラファイルを直接下部から作成します.
Achievement goals
design pattren
ここでの設計パターンとは「ソフトウェアエンジニアリング」の概念を指す.
設計モード(Design pattern)はプログラム開発時によく遭遇する困難であり,状況に対する一般的で再利用可能な抽象的な解決策である.
今回学んだmvcモードに比べて、以前もデザインモードを学んだことがあります.
反応器の一方向データストリームや反応器のFluxモードも設計モードの一部だそうです.
module.exports & require
splitの実行中に、下部からcontrollerファイルの作成を開始するとmoduleになります.exportsとrequireについて詳しく知らなかったので、情報を再検索しました.
プログラミングでは、モジュールは独立して再利用可能で、外部の影響を受けないコードの集合である.
require()関数はmoduleです.輸出を回収する.(外部モジュールをインポートします.)
パラメータに入る値にパスを設定しないと、NodeJS自体のライブラリにモジュールが見つかります.
module.exportsは、エクスポートするファイルのコードをモジュールに分けます.exportsのオブジェクトに定義されたプログラム.
モジュールは、外部ファイルからファイルをインポートするために使用されます.輸出に代入しなければならない.
移行は、適用されていない設定値を実際のデータベースに反映します.
モデルはsqlをオブジェクト向けのフォーマットで可能にする
Redirections
直接指示は、その名の通り再指示です.
これは、ユーザが要求したページではなく、他のページまたはサーバに接続するようにユーザを導く技術である.
例えば、https://bitly.com/は、複雑なurlをurlに簡略化するサービスを提供する.
https://www.instagram.com/james.7507/は私のInstagramサイトです.
これを短縮したhttps://bit.ly/3gQNW2Yも接続可能である.
ユーザがhttps://bit.ly/3gQNW2Yを入力すると、ユーザはhttps://www.instagram.com/james.7507/に導かれる.
最初に要求を受信したWebサーバは、HTTP応答ステータスコードに302を送信し、応答メッセージヘッダに位置値にリダイレクトする必要があるアドレスを設定して返信する.
別に知っている事実
デフォルトでは、テーブル名が指定されていない場合、Sequeizeは自動的にモデル名を複数にし、テーブル名として使用します.
SequeizeによるSchemaの実装
(関連を使用してJoin Tableを実施)
npx sequelize-cli model:generate --name user --attributes name:string
マイグレーションスカラーファイル
npx sequelize-cli migration:generate --name add_userid
npx sequelize-cli db:migrate
を運転すると、実行される関数で、内部で必要なクエリー文を記述します.
down:移行元に戻すコマンド
npx sequelize-cli db:migrate:undo
を運転すると、実行される関数で、upに追加された内容を削除するために内部にクエリー文が作成されます.
QueryInterface、設定するオブジェクト、クラス(内部に複数のメソッドがあります)
コラムの追加/(表、追加するコラム名、タイプ)
await queryInterface.addColumn('urls', 'userId', Sequelize.INTEGER );
なぜ接続するのかawait queryInterface.addConstraint('urls', {
fields: ['userId'],
type: 'foreign key',
name: 'FK_user',
references: {
table: 'users',
field: 'id'
},
onDelete: 'cascade',
onUpdate: 'cascade'
});
onDelete,onUpdate->更新を削除するときに、ラッチ接続を使用するデータがどのように相互作用するかを定義します.カスケードは連鎖作用を意味する
関連付けを使用したJoin Tableの実装
モデルのインデックス.jsで実現します.
西クオリティのmodelsオブジェクトで設定したモデル名はキー値です.
構造分解を各変数に割り当てます.
例えば、n:1の場合
n belongsTo(1);
1 hasMany(n);
const {url, user} = sequelize.models;
url.belongsTo(user);
user.hasMany(url);
コメントサイトhttps://dololak.tistory.com/147
https://shoark7.github.io/programming/knowledge/what-is-design-pattern
https://medium.com/@chullino/require-exports-module-exports-%EA%B3%B5%EC%8B%9D%EB%AC%B8%EC%84%9C%EB%A1%9C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-1d024ec5aca3
Reference
この問題について(TIL 21.06.24), 我々は、より多くの情報をここで見つけました https://velog.io/@woals3000/TIL-21.06.24-0c7vnim6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol