問題タブ [web-architecture]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ajax - ソーシャル ネットワーク、「新しい未読メッセージがあります」アーキテクチャの構築方法
たとえば、http://facebook.comまたはhttp://gmail.comに新しいメッセージがあると、サイトはこれに関するシグナルを送信しますが、これはページを更新せずに発生しました。使い方?私はこれを次のように想像します:
一部の Jhon は、サイトに登録されたユーザーです。
チェックのために、10秒ごとにAJAXリクエストをメッセージテーブルに送信するJavaScriptコードがあります。ジョンに「新しいメッセージがいくつかあります」.
教えてください、私は真実に近いですか?はいの場合、1 つ質問があります。
networking - 2層アーキテクチャと3層アーキテクチャの違いは何ですか?
ビジネスロジック(クライアント)を使用するアプリケーションでJDBCを使用しています。このJDBCは、別のマシン(サーバー)にあるデータベースに接続します。この場合、私のJDBCはデータベースに直接接続し、データを保存および取得します。これは2層アーキテクチャですよね?
別のアプリケーション、たとえばサーブレットプログラミングでは、プレゼンテーション層(クライアント層)であるクライアントマシンにブラウザをインストールしているだけです。私のビジネスロジックをアプリケーション層(第2層)、データベースをデータ層(第3層)と考えてみましょう。それでも、JDBCを使用してアプリケーション(ビジネスロジック)をデータベースに接続しています。現在、2番目と3番目の層はサーバーにあります。
上記の例では、3層アーキテクチャでは、ブラウザが追加されるだけで、ビジネスロジックをサーバーに保持していました。これら以外の性能の違いは感じていません。私が間違っている場合は、私を訂正し、他の例を使用して2層および3層の正確なアーキテクチャを説明してください。親愛なる友人に事前に感謝します。
php - AJAX/PHP/MYSQL で mysql 接続を減らすために必要なアーキテクチャ
バックグラウンド:
AJAXを介してphpファイルに変数を渡しています。php ファイルはサーバーに接続し、JavaScript に返す結果を取得します。これは、ユーザーがリクエスト ボタンをクリックするたびに発生します (約 5 秒ごと)。したがって、ユーザーごとに、php ファイル (および mysql 接続) が 5 秒ごとに呼び出されます。
問題:
上記で明らかなように、mysql 接続の数は非現実的なほど多くなっています。
質問:
非常に多くのmysql接続を持つ代わりに、より少ない接続を持つことができるより良いアーキテクチャはありますか?
mysql_pconnect について少し読みました。しかし、どこかで mysqli がサポートしていないことを読んだためにアップグレードする必要がある場合はどうなりますか? 1 つの mysql_pconnect で処理できるクエリの数は? 誰かが mysql_pconnect を提案した場合、それを実装する方法は?
asp.net-mvc - ASP.NET MVC 4 を使用したモジュラー ページの作成
複雑なアプリケーションを構成するために使用される ASP.NET MVC 4 アプリケーションを開発しています。複数のタブを備えた1 つの構成ページが必要です。各タブは、システム内の異なる部分を構成するために使用され、それをクリックすると、適切なフォーム (各構成タブは異なる部分ビューになります) が AJAX で読み込まれます。ページの下部に「変更を保存」ボタンを配置して、タブ全体からの変更を保存したいと考えています。
システム自体がモジュラーなので、構成サイトもモジュラーにしたい。つまり、各タブを次のメソッド (インターフェイスから継承することによって) を公開するプラグインのようなものにしたいということです: GetConfigurationPartialView (このタブのビュー モデルを含む部分ビューを返します)、SaveChanges (これは構成をドラフトとして DB に保存します)、および完全な XML 構成をエクスポートしてシステムに適用する GetConfigurationXml です。
私の質問は次のとおりです。
- そのデザインについてどう思いますか?より良いアイデアはありますか?
- メインビューにこの「変更を保存」ボタンを実装するにはどうすればよいですか? すべてのプラグインを反復処理し、各プラグインの SaveChanges メソッドを呼び出して、すべてのデータで満たされた正しいモデル オブジェクト (部分ビューのモデル) を渡すにはどうすればよいでしょうか。このシステムを簡単に拡張できますか?
- 一部のタブには、データを含むグリッドが含まれています。剣道UIグリッドを調べ始めました。ユーザーがクライアントでグリッド上ですべてを実行できるようにしたい (新しい行の削除と追加)、次に、私が書いた SaveChanges メソッドで、クライアントが行ったすべての変更のサーバー側のリストを取得したい (たとえば、擬似コード: changes[0]={Action = Delete, ProductID = 1}, changes[1]={Action=New, ProductID=1, Name="aaa" })。どうすればできますか?
ありがとう。
asp.net-mvc-4 - n 層データ取得の地域パラメーター
データベース結果クエリからの日付列出力を書式設定するために、ユーザーの地域設定を Web アプリケーション層で最適な場所にしようと考えています。
HttpContext.Request から地域設定を取得し、これを文字列としてビジネス レイヤーに渡し、ビジネス オブジェクト レイヤーで System.Globalisation を使用して DateTimeFormatInfo オブジェクトを作成します。
すなわち。DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture(cultureString).DateTimeFormat;
ビジネス レイヤーはデータ アクセス レイヤーからデータを取得し、LINQ クエリ セレクターを使用して、上記の dtfi オブジェクトで日付列をフォーマットできます。
ただし、言語文化を含む文字列をビジネス層に渡す必要があり、代わりにビジネス層から返されたデータを使用して別の匿名型をロードし、コントローラーに日付の書式を追加する必要があるかどうか疑問に思っています。
これにより、WPF アプリが実行中のスレッドのカルチャ情報をビジネス レイヤーの同じ呼び出しに渡す状況を回避できます。
performance - Web アプリケーションのアーキテクチャを作成するために最も重要なことは何ですか? スケーラビリティ、保守性、またはパフォーマンス?
私は現在、実行中の特別な目的のドイツ語ソーシャル ネットワーキング Web アプリケーションを再設計しようとしています。現在のバージョンはめちゃくちゃなので、ゼロから始めることにしました。再びすべての問題に遭遇したくないので、次のことについて多くのことを考え、読んでいます。
- スケーラビリティ
- コードの保守性
- パフォーマンス
私はブログ投稿で、私たちのシステムのアーキテクチャでは、上記の意味のように重要な順序を正確に使用すると主張しました。
スケーラビリティ >> 保守性 >> パフォーマンス
スケーラブルなシステムを作成するにはパフォーマンスが重要であると常に考えていたので、これらの結果は驚くべきものでした。
- これらの 3 つの要素の重要性についてどう思いますか?
- また、それらを達成するには、事前に綿密な計画と設計を行う必要があると主張しました。他に必要なアドバイスはありますか?
ruby-on-rails - Rails アプリケーション内でモバイル Web の開発を設計/編成/構築する方法は?
私はこれを、議論の始まりとしてではなく、答えられる質問として表現するために最善を尽くすつもりです.
私の質問の本質は、あなたの経験では、ウェブサイトを API として使用する別のアプリとしてウェブサイトのモバイル Web バージョンを開発するのと、ウェブサイトを提供する同じ Rails アプリ内から開発するのとのどちらが良いですか?
私は現在、それをどのように実装するかを計画しています。ここに、それぞれの長所/短所を示します。
モバイル Web 用の別のアプリケーション
- 利点
- パフォーマンス: 既存の Web サイトのオーバーヘッドが少ない = パフォーマンスが向上
- フットプリントの縮小: 整理が容易で、アプリの作業/開発がよりクリーンに
- 分離: デスクトップ/モバイル向けのサービスを設計する必要があります
- 欠点
- サブドメイン: モバイル トラフィックを別のアプリにルーティングできるように、m.thredup.com を使用する必要があります。
- セッション管理: 複数のアプリ/ドメインで認証を処理する必要があります
- ローカルでの開発は難しい: ローカルで開発するために維持する必要がある別のサービス
- ブランチ管理: 新しいコードには、Web アプリとモバイル アプリ用に別のブランチが必要です
モバイル Web 用の同じアプリケーション
- 利点
- URL スキーム: デスクトップとモバイルで同じ URL を使用できる (共有が容易)
- セッション管理: 既存のユーザー セッションを使用可能
- より迅速な実装: すべてのバックエンド ロジックが既に配置されているため、プロジェクトのタイムラインが短縮されます
- 欠点
- コードの肥大化: すでに大規模な Rails Web アプリのコードが増える
既存のアプリ内でモバイル Web を開発する場合、モバイル ビューをレンダリングするためのアプローチは次のとおりです。 -pages-to-a-rails-site/
どんな洞察も大歓迎です。