タグ付けされた質問 「architecture」

アーキテクチャには、ソリューションのプロセス、アーティファクト、および高レベルの構造が含まれます。

10
すべてのASP.Net Webサイトが遅い理由を発見しました。どうすればよいのかを考えています。
ASP.Net Webアプリケーションのすべてのリクエストがリクエストの最初にセッションロックを取得し、リクエストの最後にそれを解放することを発見しました! 最初に私がそうであったように、これの影響があなたに失われた場合、これは基本的に以下を意味します: ASP.Net Webページの読み込みに時間がかかる(データベースの呼び出しが遅いなどの理由で)場合があり、ユーザーは待機に飽き飽きしているため、別のページに移動することを決定します。ASP.Netセッションロックにより、新しいページ要求は、元の要求が非常に遅いロードを終了するまで強制的に待機します。ああ。 UpdatePanelの読み込みが遅く、ユーザーがUpdatePanelの更新が完了する前に別のページに移動することにした場合...できません。ASP.netセッションロックにより、新しいページ要求は、元の要求が非常に遅いロードを完了するまで強制的に待機します。ダブルアレ! それで、オプションは何ですか?これまでのところ私は思いつきました: ASP.NetがサポートするカスタムSessionStateDataStoreを実装します。私はコピーするほど多くを見つけていません、そしてそれは一種のリスクが高く、簡単に失敗するようです。 進行中のすべてのリクエストを追跡し、同じユーザーからリクエストが届いた場合は、元のリクエストをキャンセルします。ちょっと極端に思えますが、うまくいくと思います。 セッションを使用しないでください!ユーザーに何らかの種類の状態が必要な場合は、代わりにキャッシュを使用し、認証されたユーザー名のキーアイテムなどを使用できます。再び極端なようです。 ASP.Net Microsoftチームがバージョン4.0のフレームワークにこのような巨大なパフォーマンスのボトルネックを残したとは本当に信じられません!明らかなものがないのですか?セッションにThreadSafeコレクションを使用するのはどれほど難しいでしょうか。

8
ドメイン駆動設計:ドメインサービス、アプリケーションサービス
誰かがいくつかの例を提供することにより、ドメインとアプリケーションサービスの違いを説明できますか?また、サービスがドメインサービスの場合、このサービスの実際の実装をドメインアセンブリ内に配置します。そうであれば、そのドメインサービスにリポジトリも挿入しますか?いくつかの情報は本当に役に立ちます。

23
オブジェクト指向プロジェクトをどのように設計しますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 この質問を改善する 多くのクラスがあり、拡張可能である必要がある大規模なプロジェクト(私にとって)に取り組んでいますが、プログラムをどのように計画するか、およびクラスがどのように相互作用する必要があるかわかりません。 私は数学期前にOODコースを受講し、そこから多くを学びました。UMLの作成や、要件ドキュメントのオブジェクトやクラスへの変換などです。シーケンス図も学びましたが、どういうわけか講義を逃したり、なかなか私にこだわりませんでした。 以前のプロジェクトでは、コースから学んだ方法を使用してみましたが、通常は「ええ、私が考えていたもののように見えます」と言えるとすぐに、マックを掘って追加したくありません。新機能。 Steve McConnellのコードコンプリートのコピーを手に入れました。これは、ここや他の場所で素晴らしいと絶えず聞いています。デザインの章を読みましたが、探している情報が得られなかったようです。彼はそれがカットアンドドライプロセスではなく、主にヒューリスティックスに基づいていると彼が言っているのを知っていますが、私は彼のすべての情報を取得して私のプロジェクトに適用することはできないようです。 では、高レベルの設計段階(プログラミングを始める前)で、必要なクラス(特に、「実世界のオブジェクト」に基づいていないクラス)を決定し、それらがどのように相互に作用するかを判断するにはどうすればよいでしょうか。 具体的には、どのような方法を使用することに興味がありますか?通常、最終製品を厳密に表す優れたクリーンなデザインを実現するプロセスはどのようなものですか?




6
Linuxが一体型カーネルと呼ばれるのはなぜですか?
Linuxは一体型のカーネルだと私は読んだ。モノリシックカーネルとは、完全なカーネルコードをコンパイルして実行可能ファイルにリンクすることを意味しますか? Linuxがモジュールをサポートできる場合、すべてのサブシステムをモジュールに分割し、必要に応じてそれらをロードしてみませんか?その場合、カーネルは最初にすべてのモジュールをロードする必要はなく、モジュール内の関数のインデックスを維持し、必要に応じてそれらをロードすることができます。

6
Symfony 2.xではすべてを本当にバンドルにする必要がありますか?
Symfony 2のバンドルの一般的な概念について人々が議論する傾向があるこのような質問を私は知っています。 事は、例えばツイッターのようなアプリケーションのような特定のアプリケーションでは、公式のドキュメントが言うように、すべてが本当に一般的なバンドルの中にあるべきですか? 私がこれを尋ねる理由は、一般に、アプリケーションを開発するとき、コードをフルスタックの接着剤フレームワークに高度に結合したくないためです。 Symfony 2ベースのアプリケーションを開発していて、ある時点で、Symfony 2が開発を続けるのに本当に最良の選択ではないと判断した場合、それは私にとって問題でしょうか? したがって、一般的な質問は、なぜすべてがバンドルであることが良いことなのかということです。 編集#1 この質問をしてからほぼ1年が経ち、このトピックに関する私の知識を共有するための記事を書きました。

11
シングルページアプリケーション:利点と欠点[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 この質問を改善する SPAとその利点について読みました。私はそれらのほとんどが納得できないと思います。私の疑問を呼び起こす3つの利点があります。 質問: あなたはSPAの擁護者として行動し、最初の3つのステートメントについて私が間違っていることを証明できますか? === ADVANTAGES === 1. SPAは非常に応答性の高いサイトに非常に適しています。 すべての中間状態に対してサーバー側レンダリングを実装するのは困難です。小さなビューステートはURLにうまくマップできません。 シングルページアプリは、HTMLを取得するためのサーバーラウンドトリップを必要とせずにUIの任意の部分を再描画する機能によって区別されます。これは、データを処理するモデルレイヤーとモデルから読み取るビューレイヤーを使用することにより、データをデータのプレゼンテーションから分離することによって実現されます。 非SPAのモデルレイヤーを保持することの何が問題になっていますか?SPAはクライアント側のMVCと互換性のある唯一のアーキテクチャですか? 2. SPAを使用すると、ページをダウンロードするためにサーバーに追加のクエリを使用する必要がありません。 ええと、ユーザーがあなたのサイトにアクセスしている間にダウンロードできるページ数は?2、3?代わりに、別のセキュリティ問題が発生し、ログインページ、管理ページなどを別々のページに分ける必要があります。次に、SPAアーキテクチャと競合します。 3.他の利点がありますか?他のことについては聞かないでください。 === DISADVANTAGES === クライアントはJavaScriptを有効にする必要があります。 サイトへのエントリポイントは1つだけです。 セキュリティ。 PS私はSPAおよび非SPAプロジェクトに取り組んできました。理解を深める必要があるので、これらの質問をしています。SPAサポーターに害を及ぼすことは決してありません。SPAについてもう少し読むように言わないでください。それについてのあなたの考えを聞きたいだけです。

9
独断的なソフトウェアとは何ですか?
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 特定のソフトウェアが「非常に独断的」である、またはマイクロソフトが「非意見」のフレームワークを作成する傾向があると人々が言っ​​ているのをよく目にします。これは実際にはどういう意味ですか?

10
RESTマイクロサービス間のトランザクション?
ユーザー、ウォレットRESTマイクロサービス、および物事を接着するAPIゲートウェイがあるとします。BobがWebサイトに登録するとき、APIゲートウェイは、Userマイクロサービスを介してユーザーを作成し、Walletマイクロサービスを介してWalletを作成する必要があります。 次に、問題が発生する可能性があるいくつかのシナリオを示します。 ユーザーBobの作成は失敗します。問題ありません。エラーメッセージをBobに返します。SQLトランザクションを使用しているため、システム内でBobを見た人はいません。すべて良し :) ユーザーBobが作成されましたが、ウォレットを作成する前に、APIゲートウェイがハードクラッシュします。これで、ウォレットのないユーザー(データに一貫性がない)ができました。 ユーザーBobが作成され、ウォレットを作成すると、HTTP接続がドロップします。ウォレットの作成が成功したか、成功しなかった可能性があります。 この種のデータの不整合が発生しないようにするには、どのような解決策がありますか?トランザクションが複数のRESTリクエストにまたがることを可能にするパターンはありますか?私はこの問題に触れていると思われる2フェーズコミットのWikipediaページを読みましたが、実際にそれを適用する方法がわかりません。このAtomic Distributed Transactions:RESTfulなデザインペーパーも興味深いですが、まだ読んでいません。 あるいは、RESTがこのユースケースに適していない可能性があることも知っています。この状況を処理してRESTを完全に削除し、メッセージキューシステムのような別の通信プロトコルを使用する正しい方法でしょうか?または、アプリケーションコードに整合性を適用する必要がありますか(たとえば、不整合を検出して修正するバックグラウンドジョブを実行するか、ユーザーモデルに「作成」、「作成」の値などの「状態」属性を設定するなど)。

27
Cステートマシン設計[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3か月前に閉鎖。 この質問を改善する CとC ++が混在する小さなプロジェクトを作成しています。私は、ワーカースレッドの1つの中心に、小さな風のステートマシンを1つ構築しています。 SOの達人があなたのステートマシン設計テクニックを共有するかどうか疑問に思っていました。 注:私は主に、試行錯誤した実装技術の後にいます。 更新: SOで収集されたすべての優れた入力に基づいて、私はこのアーキテクチャで解決しました:


18
Pythonで最小限のプラグインアーキテクチャを構築する
私は、かなり技術的な読者(科学者)が使用するPythonで書かれたアプリケーションを持っています。 ユーザーがアプリケーションを拡張できるようにするための良い方法、つまりスクリプト/プラグインアーキテクチャを探しています。 非常に軽量なものを探しています。ほとんどのスクリプトまたはプラグインは、サードパーティによって開発および配布されてインストールされることはありませんが、繰り返しのタスクを自動化し、ファイル形式のサポートを追加するために、ユーザーによって数分で作成されます。などプラグインは、最小限の定型コードを持つ必要があり、フォルダーへのコピー以外に「インストール」を必要としません(したがって、setuptoolsエントリーポイントのようなもの、またはZopeプラグインアーキテクチャは多すぎるように見えます)。 このようなシステムはすでにありますか、または私がアイデア/インスピレーションを探す必要がある同様のスキームを実装するプロジェクトはありますか?

7
複数のユーザーアカウントをマージするためのアーキテクチャ
さて、私はあなたがあなた自身を登録してログインできるウェブサイトを手に入れました。Facebook、Twitter、Linkedinアカウントでログインすることもできます。 ユーザーは1つのアカウントのみを登録することが重要です。どういうわけか、ユーザーが異なる方法でログインする場合は、ユーザーのアカウントをマージしたいと思います。これを解決する最善の解決策は何ですか? たとえば、ユーザーは自分のFacebookアカウントでログインします。このデータを使用して、彼のアカウントを自動的に登録します。私たちのウェブサイトのユーザー名とパスワードをメールで送るべきですか?(これがFacebookのポリシーで問題ない場合)。ユーザー名とパスワードを入力できる2番目の画面を表示する必要がありますか?しかし、それはあなたのFacebookアカウントでログインする背後にある考えではありません。参加するための手続きが簡単になります。 また、ユーザーが当社のWebサイトに自分自身を登録し、次に彼のTwitterアカウントでログインすることもできます。これらの2つのアカウントを1つにマージするにはどうすればよいですか?最良の方法は何ですか? だから基本的に私の質問は:ユーザーが私たちのウェブサイトのメンバーになる4つの異なる方法を得た。ユーザーが複数の方法を使用する場合、これらの4つの方法すべてが1つのアカウントのみを作成するようにするにはどうすればよいですか?ユーザー自身が面倒にならないようにするための最善のフローは何ですか? 編集: 私がこの質問をした3年後、一連の記事で自分自身で答えを出しています:https : //www.peternijssen.nl/social-network-authentication-setup/ https://www.peternijssen.nl/social- network-authentication-google / https://www.peternijssen.nl/social-network-authentication-merging-accounts/ https://www.peternijssen.nl/social-network-authentication-twitter-facebook/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.