問題タブ [infrastructure]
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.
architecture - オーバーエンジニアリングの具体的な症状
私は最近、私の会社がメンテナンスを支援し、マイナーな機能を追加するために雇いたいと考えている 2 人の候補者に、私が書いた (社内の) アプリケーションを説明する立場にいることに気付きました。
これは私が書いた最初の「プロダクション」アプリケーションで、45,000 の LOC を持ち、「ソロ」開発にほぼ 2 年を費やしました。私はかなり若い (18 歳) で、会社を辞めた元開発者の代理として契約されながら、アプリケーションをゼロから作成しました。このサイズのアプリケーションを設計する経験がなかったので、共通のアーキテクチャおよび設計パターンを使用しようとしました。
今日、選択した ORM が既に実装している Unit Of Work パターンの代わりに、切断された変更追跡アーキテクチャを使用するなど、深刻なオーバーエンジニアリングを行ったことを知っています。「本当の」3層に行く必要はおそらくないでしょう。
両方の候補者は、関連するプラットフォームを使用した社内アプリケーション開発で 10 年以上のバックグラウンドを持っています。彼らの半分の年齢で、経験も浅い私は彼らの意見を尊重します。彼らにアプリケーション アーキテクチャを説明していたとき、次のようなコメントがありました。
- ええ、そんなことをするために誰も私にお金を払ってくれません。私は物事を成し遂げなければなりません
- フレームワークの機能に固執し、派手なライブラリ/テクノロジーを使用しないでください
- フレームワーク コードをラップしないでください。チームでは、とにかく全員が独自のラッパー コードを記述します。
- .NET 3.5 を使用していますか? さて、私たちは2.0を使用しています。
- その LINQ は私に何をもたらしますか? このすべてのクエリの構成と射影は複雑すぎるようです。
今、私は自問しています:
私は建築宇宙飛行士ですか? 自分が建築に行き過ぎていることをどのようにして知ることができますか? オーバーエンジニアリングの一般的な症状は何ですか?
ruby-on-rails - 特化した Rails ホスティング サービスの利点と落とし穴は何ですか?
私の質問が広すぎないことを願っています。だから私はこの質問の質問にあまりにも似たような答えを得ないように私の質問を組み立てようとします.
現在、レール アプリケーションを Linode にデプロイしています。サービスはうまく機能し、価格は妥当です。しかし、時々作品を管理している人たちがいます。それらがなくても生きていける。最近、Heroku や EngineYard などの他のレール ホスティング サービスに興味を持ち始めました。他にもあります。彼らが提供できるサービスは私には魅力的に思えます。彼らは私たちを行政のことから解放すると約束しています。データベースを選択することはできませんが、データベースのように機能するデータベースを使用したり、スキーマのない DB やクラスターを使用したりできます。詳細をあまり気にしたくなくて、サービスの提供に必要なサービスだけが必要な場合は、気にする必要はありません。しかし..私はバットを探しています.おそらく考慮すべきことがいくつかあります. Rails アプリケーション (または任意のアプリケーション) に適したインフラストラクチャを選択することは非常に重要です。適切なインフラストラクチャまたはインフラストラクチャ プロバイダーの選択に関して、次のことが頭に浮かびます。
- シンプルな導入
- 価格- ここには巨大な 2 つのモデルがあります。処理能力 (EngineYard) の後に支払うか、マシン構成 (Heroku) に対して支払うか? いつ、どのモデルがより適切に適用されますか?
- 移行- Rails アプリケーションとデータをあるプロバイダーから別のプロバイダーに移行するのがいかに簡単か。
- 追加サービス - Heroku が提供する WebSolr や Rails アプリケーションの監視など。そのようなことは、重要であるか、少なくとも有用である可能性があります。
プライベート、レンタル、または混合のいずれかのインフラストラクチャを選択する場合、どのようなことを考慮する必要がありますか? Railsホスティングサービスについて、これらのことの比較はありますか? いつ、どのようなモデルが最適に適用されるかをより適切に決定できるようにする方法を学ぶための情報源はありますか?
私の質問が広すぎず、このフォーラムで妥当な範囲内で回答できることを願っています。プライベート インフラストラクチャ、VPS、レール ホスティング サービスの適切な組み合わせを設計する方法を見つけたいと考えています。提案をありがとう。
repository - ドメイン駆動設計 - リポジトリまたはサービスとしての外部データ API
ドメイン駆動設計を使用して開発されたブログ アプリケーションでは、'Post' エンティティに関連するタグ エンティティのコレクションがあります。
投稿の作成時 (UI からのオブジェクトの入力など) に、REST を介してサード パーティの API を呼び出し、投稿のコンテンツを取得し、関連付けのためにセマンティック タグ (リンク テキスト) を抽出します。
主な質問: これを設計する最良の方法は何ですか...
Post エンティティが PostServices.GetTags(Postcontent) などのドメイン サービスを呼び出してコンテンツを渡し、タグのリストを取得するように設計するのが最適ですか?
** PostServices.GetTags は、追加のラッパー クラスを介して REST API とインターフェイスします。
それとも、サードパーティの API をリポジトリとしてラップする必要がありますか?
関数 Post.GenerateTags() は、ドメイン エンティティ内に存在すべきではありませんか?
その他の質問:
1 : 私は、ドメイン エンティティがドメイン サービスと会話するのは良い習慣ではないことも読みました。これは本当ですか?
2 : ファクトリ作成メソッドを介して PostServices ドメイン サービスへの参照を取得してもよろしいですか。例えば..
IPostService PostService = ServiceUtil.GetPostService(); PostService.GetTags(Post.content) を返します。
3 : ドメイン サービスをサード パーティの API に結合することは許容されますか?
4 : ドメイン エンティティは、REST API を呼び出したアプリケーション層を介して受信したタグを処理する方法を単に知っている必要があります。
ゆっくりと DDD について理解を深めようとしていますが、この種のものを実装する方法の例を見つけることができないようです。
svn - デスクトップ ソフトウェアの開発に使用するサーバー インフラストラクチャは?
私は、新しいデジタル コンテンツ作成デスクトップ ツールに取り組んでいる新興企業にいます。私たちは現在、複数の場所にいるソフトウェア開発者の小さなチームのためのインフラストラクチャをセットアップしています。
すべてのコードを保存し、バージョン管理 (Subversion)、ビルドされたシステム、内部ドキュメント、Bugzilla などをホストする共通サーバーのセットアップを検討しています。
1.) 社内用のサーバーを購入する、2.) データセンターでサーバーのマネージド ホスティングを手配する、または 3.) その他の方法の長所と短所は何ですか。私たちはまだブートストラップ中であり、コスト、セキュリティ、およびバックアップについて非常に懸念していることは明らかです (オンプレミスのサーバーでは、別のバックアップ ソリューションが必要になります)。
あなたの洞察を前もってありがとう!
python - 「ニュースフィード」のインフラストラクチャ
私たちのウェブサイトのユーザーにニュースフィードのような機能を提供したいと思います. ユーザーがログインすると、サイトのさまざまな領域にわたる最新の更新のリストが表示されます。
これはスケールするのが難しいのではないかと心配しています。
同じデータのコピーを大量に持たずにスケーラブルなインフラストラクチャをサポートできるネットワーク/データベース トポロジは何ですか? (データが更新されると、各ユーザーのフィードもライブで更新されるようにしたい)。
助けとアドバイスをありがとう。
infrastructure - Microsoft PKIまたはPKIベンダー?
PKIインフラストラクチャに関連する質問があります。組織は、Microsoft PKIまたは独立した個別のPKIインフラストラクチャを使用する必要がありますか?Microsoft PKIインフラストラクチャを使用している場合、ライセンスの制限はありますか?または、PKI TSAおよびSP(Signature Proof)インフラストラクチャを提供するベンダーから独立したPKIインフラストラクチャを入手する必要があります。
mysql - クラウド データベース サービスのレイテンシ/パフォーマンス
トラフィックの多いサイトを運営しており、サーバーが限界に達し始めています。現時点では、LAMP スタック全体が 1 つのボックス上にあります (理想的ではありません)。
データベースを独自のボックスまたはクラウド サービスに移動したいのですが、以前の経験から、データベースを Web サーバーと同じボックスから移動すると、読み取りのレイテンシが大幅に増加し、サイトの速度が大幅に低下します。
これにクラウド サービスを使用すると、この問題を克服できますか?なぜなら、私が知る限り、(自分のコントロール内の別のボックスに移動するのと同じ) 本質的に同じ状況だからです。では、現在、クラウドベースのデータベース サービスがこれほど人気があるのはなぜでしょうか?
クラウドベースのデータベース サービスは非常に高速で、読み取りのレイテンシが非常に低いため、同じデータセンターの同じボックスにあるようなものですか?
web-applications - マイサイト 動画のアップロード速度が他サイトより遅い?
同じファイルを 2 つの異なるサイトにアップロードしましたが、時間差が 30% ありました。これに影響を与える主な要因は何ですか? サイトのアップロード速度を上げるにはどうすればよいですか?
api - 有効な REST API 認証を構築する
Web アプリケーションを作成しましたが、REST API を作成して、サード パーティの開発者がプログラムできるようにしたいと考えています。次に、いくつかの一般的な言語 (JavaScript、PHP、Ruby など) でいくつかのクライアント ライブラリを構築して、開発者が各リクエストの JSON 応答を手動で解析するのを避けることで、私のサービスを快適に使用できるようにしたいと考えています。
これまで API インフラストラクチャを構築したことがないので、次の質問があります。サード パーティの開発者によって呼び出された API メソッドの使用状況を追跡したいと考えています。各開発者は、API を使用する前に登録する必要があるため、各要求を登録済みの開発者に関連付けたい (したがって、特定の使用制限を設定するなど)。
リクエストを認証するために、開発者がすべてのアプリで使用できる一意の API キーを開発者ごとに作成することを考えました。しかし、彼が私の JavaScript ラッパーを使用することにした場合、悪意のあるユーザーがクライアント アプリ ページのソース コードを表示して、彼の API キーを取得できることに気付きました。そのため、クライアント アプリがホストされるドメインに関連付けられた、すべてのアプリケーションに対して一意の API キーを作成する方がよいと判断しました。そのため、ユーザーが他の誰かのキーを取得したとしても、最初に登録されたドメインの外では役に立ちません。しかし、私は考えました:モバイルアプリはどうですか?Web サイト以外からの呼び出しの場合はどうなりますか? ドメインがない場合、または IP アドレスが静的でない場合、ドメインを介してキーを認証するにはどうすればよいですか?
任意のヒント?
ありがとう!
social-networking - Stackoverflow、Twitter、LinkedIn、Facebook で使用されるインフラストラクチャは何ですか
Stackoverflow、Twitter、LinkedIn、Facebook の Web サイトで使用されているインフラストラクチャは何ですか? (または他のソーシャルネットワーク)