なぜフロントエンドとバックエンドを別々に記述する必要があるのでしょうか?
ご存知のとおり、企業は通常、フロントエンドとバックエンドを別々に記述することを要求します。なぜこれを行うのでしょうか?今回はなぜフロントエンドとバックエンドを分けて書く必要があるのかをお話します。以下は実際のケースです。
フロントエンドとバックエンドの分離のワークフローを試したことがない場合は、まず次のようにプロセスを変更してみてください:
PM:「この機能が欲しい」からプロセスを変更します。
バックエンド:「最初」テンプレートを作成するためのフロントエンドを見つけます
フロントエンド: 「テンプレートが完成しました」
バックエンド: 「接続しましょう、ここのスタイルは間違っています」
フロントエンド: 「修正が完了しました」
バックエンド: 「関数の配信」
PM: 「このアクティビティは春節中に追加されます」
バックエンド: 「まずテンプレートを変更するフロントエンドを見つけましょう」
フロントエンド: 「テンプレートは次のとおりです」完了しました」
バックエンド: 「接続させてください、ここのスタイルは間違っています」
フロントエンド: 「変更が完了しました」
バックエンド: 「機能提供」
フロントエンド:「インターフェースが欲しい」
バックエンド:「インターフェースが完成しました」
フロントエンド:「接続して機能を納品させてください」
PM:「中に追加したい」このアクティビティは「
フロントエンド:「インターフェースを追加する必要があります」
バックエンド:「インターフェースが完成しました」
フロントエンド:「接続して機能を提供します」
フロントエンド テクノロジーの開発と反復により、フロントエンド MVC フレームワークが誕生しました。React、Vue、Angular などの現在の主流のフロントエンド フレームワークを使用して、次のような Web サイトを簡単に構築できます。同時に、このクラス フレームワークはすべて、フロントエンド ルーティング機能 を提供し、ルーティング ジャンプを制御できなくなり、元々フロントエンドに属していたすべてのビジネス ロジックをフロントエンドにスローします。 -end これは、フロントエンドとバックエンドの最も完全な分離であると言えます。以下はフロントエンド制御ルーティングのコードです:
'use strict'export default function (router) { router.map({ '/': { component: function (resolve) { require(['./PC.vue'], resolve) } }, '/m/:params': { component: function (resolve) { require(['./Mobile.vue'], resolve) } }, '/p': { component: function (resolve) { require(['./PC.vue'], resolve) }, subRoutes: { '/process/:username': { component: function (resolve) { require(['./components/Process.vue'], resolve) } } } } }) }
フロントエンドとバックエンドの分離の実装により、技術担当者、特にフロントエンド担当者の要件が高まります。フロントエンドの作業は単なるものではありません。ページの切り取りやテンプレートの作成、または単純な JS ロジックの処理について、フロントエンドではサーバーから返されるさまざまなデータ形式を処理する必要があり、一連のデータ処理ロジック、MVC のアイデア、およびさまざまな主流フレームワークを習得する必要もあります。
メリットと意義
フロントエンドとバックエンドの分離の意味はフロントエンドレンダリングの意味と考えることもできますが、主に以下の4点をまとめました:
フロントエンドを完全に解放する
フロントエンドは、バックエンドまたはバックエンドにテンプレートを提供する必要がなくなりました。バックエンド コードは、次のようにフロントエンド HTML に埋め込まれます。これは、フロントエンドとバックエンドの間に結合されており、可読性が低くなります。
<!--服务器端渲染 --><select> <option value=''>--请选择所属业务--</option> {% for p in p_list %} <option value="{{ p }}">{{ p }}</option> {% endfor %}</select>
上記はフロントエンド レンダリングのコードです。フロントエンドは AJAX を介してバックエンド インターフェイスを呼び出します。データ ロジックはフロントエンドに配置され、フロントエンドによって維持されます。
作業効率の向上と分業の明確化
フロントエンドとバックエンドを分離するワークフローにより、フロントエンドはフロントエンドの事項のみに集中し、バックエンドはバックエンドの活動のみを考慮することができます2 つの開発は同時に実行できます。バックエンドがインターフェイスを提供する時間がない場合は、最初にデータを書き込むか、ローカルの JSON ファイルを呼び出す必要はありません。ページの追加やルートの変更時にバックエンドに煩わされることがなくなり、開発がより柔軟になります。
部分的なパフォーマンスの向上
メンテナンスコストの削減
デバッグ
、コードのリファクタリング、保守性の強化が必要なくなりました。 考察と洞察:
その過程で、最初のバックグラウンド コントロール ルーティングとバックグラウンド レンダリング ページから、現在のフロントエンド コントロール ルーティングとフロントエンド レンダリング データに至るまで、プロジェクトが次々に変更され、ワークフローとメソッドが変更されました。大きな変化。次のような状況に遭遇するたびに、フロントエンドとバックエンドの分離によってもたらされるメリットに感動してため息をつきます。
1. プロジェクトの最初にフロントエンド ページを作成するときに、もう必要ありません。サーバー
環境を設定するためのバックエンド2. バックエンド インターフェイスを呼び出す必要があるときに、プロジェクトのフロントエンド ファイルをサーバーに投入することができます。プロジェクト ページを追加してルーティングを設定する必要がある場合、バックエンドの同僚に追加を依頼する必要がなくなり、フロントエンドで自分で行うことができます4. フロントエンド ファイルがバックエンド コードと混合されなくなりました。ロジックが改善され、かなり快適になりました5. ページのジャンプが以前よりスムーズになり、部分的なレンダリングと部分的な読み込みが非常に高速になりました
6. ページ テンプレートを使用すると、フロントエンド コンポーネントの開発効率が向上します
すぐ。フロントエンドの急速な発展に直面して、フロントエンドとバックエンドの分離という現在の作業方法は、それによってもたらされる作業方法とプロセスの変化に適応する必要があります。 -エンド開発者は、新しいフロントエンドを普及させる責任があり、変化をもたらす責任があります。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
関連書籍:
Angularjs で mvvm スタイルのタブを実装するには? Case + code以上がなぜフロントエンドとバックエンドを別々に記述する必要があるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ルートとしてMySQLにログインできない主な理由は、許可の問題、構成ファイルエラー、一貫性のないパスワード、ソケットファイルの問題、またはファイアウォール傍受です。解決策には、構成ファイルのBind-Addressパラメーターが正しく構成されているかどうかを確認します。ルートユーザー許可が変更されているか削除されてリセットされているかを確認します。ケースや特殊文字を含むパスワードが正確であることを確認します。ソケットファイルの許可設定とパスを確認します。ファイアウォールがMySQLサーバーへの接続をブロックすることを確認します。

Hash値として保存されているため、Navicatを介してMongoDBパスワードを直接表示することは不可能です。紛失したパスワードを取得する方法:1。パスワードのリセット。 2。構成ファイルを確認します(ハッシュ値が含まれる場合があります)。 3.コードを確認します(パスワードをハードコードできます)。

Passwordが暗号化された形式で保存されているため、MariadbのNavicatはデータベースパスワードを直接表示できません。データベースのセキュリティを確保するには、パスワードをリセットするには3つの方法があります。NAVICATを介してパスワードをリセットし、複雑なパスワードを設定します。構成ファイルを表示します(推奨されていない、高リスク)。システムコマンドラインツールを使用します(推奨されません。コマンドラインツールに習熟する必要があります)。

データベースから直接削除された行を直接回復することは、バックアップまたはトランザクションロールバックメカニズムがない限り、通常不可能です。キーポイント:トランザクションロールバック:トランザクションがデータの回復にコミットする前にロールバックを実行します。バックアップ:データベースの定期的なバックアップを使用して、データをすばやく復元できます。データベーススナップショット:データベースの読み取り専用コピーを作成し、データが誤って削除された後にデータを復元できます。削除ステートメントを使用して注意してください:誤って削除されないように条件を慎重に確認してください。 WHERE句を使用します:削除するデータを明示的に指定します。テスト環境を使用:削除操作を実行する前にテストします。

Centosは、上流の分布であるRhel 8が閉鎖されたため、2024年に閉鎖されます。このシャットダウンはCentos 8システムに影響を与え、更新を継続し続けることができません。ユーザーは移行を計画する必要があり、提案されたオプションには、Centos Stream、Almalinux、およびRocky Linuxが含まれ、システムを安全で安定させます。

MySQLのキルコマンドは、プロセスの特別なステータスと不適切な信号レベルのために失敗することがあります。 MySQLプロセスを効果的に終了する方法には、次のものが含まれます。プロセスステータスの確認、MySQladminコマンド(推奨)、慎重にキル-9を使用し、システムリソースのチェック、エラーログの詳細なトラブルシューティング。

NAVICATはセキュリティ上の理由で暗号化されたパスワードを保存するため、NAVICATからPostgreSQLパスワードを直接表示することは不可能です。パスワードを確認するには、データベースに接続してみてください。パスワードを変更するには、PSQLまたはNAVICATのグラフィカルインターフェイスを使用してください。他の目的のために、ハードコーディングされたパスワードを避けるために、コード内の接続パラメーターを構成する必要があります。セキュリティを強化するには、強力なパスワード、定期的な変更を使用し、多要素認証を有効にすることをお勧めします。

MySQLをエレガントにインストールするための鍵は、公式のMySQLリポジトリを追加することです。特定の手順は次のとおりです。MYSQLの公式GPGキーをダウンロードして、フィッシング攻撃を防ぎます。 mysqlリポジトリファイルを追加:rpm -uvh https://dev.mysql.com/get/mysql80-community-rease-el7-3.noarch.rpm update yumリポジトリキャッシュ:yumアップデートインストールmysql:yumインストールmysql-server startup mysql sportin
