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

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

14
ジレンマ:フラグメントvsアクティビティを使用する場合:
Activitiesアプリケーションの単一の画面を表すFragmentsように設計されている一方で、ロジックが埋め込まれた再利用可能なUIレイアウトとして設計されていることは知っています。 ずっと前まで、開発すべきだと言っていたアプリケーションを開発しました。Activityアプリケーションの画面を表すを作成し、ViewPagerまたはのフラグメントを使用しましたGoogle Maps。ListFragment何度か再利用できるUIやその他のUIを作成することはめったにありません。 最近、私は唯一の2含むプロジェクトにつまずいActivities1がありSettingsActivity、他方ですMainActivity。のレイアウトには、MainActivity非表示のフルスクリーンUIフラグメントが多数含まれており、1つだけが表示されています。Activity論理多く存在するFragmentTransitionsアプリケーションの異なる画面間。 このアプローチについて私が気に入ったのは、アプリケーションがを使用しているため、ActionBarそのままの状態であり、画面切り替えアニメーションと一緒に移動しないことActivityです。これにより、画面の遷移がより滑らかになります。 だから私はこのトピックに関するあなたの現在の開発方法を共有することを求めていると思います、それは一見すると意見ベースの質問のように見えるかもしれませんが、私はそれをAndroidの設計とアーキテクチャの質問と見なします...実際には意見ベースのもの。 UPDATE(2014年1月5日):によってこのプレゼンテーションに続いて、エリック・バークから広場、(私が言っているのAndroid開発者のための便利なツールの多くの偉大なプレゼンテーションであると私は広場にどのような方法で関連しておりません) http://www.infoq.com/presentations/Android-Design/ 過去数か月の個人的な経験から、アプリケーションを構築する最善の方法は、アプリケーションのフローを表すフラグメントのグループを作成し、それらすべてのフラグメントを1つに表示することであることがわかりましたActivity。したがって、基本的にActivitiesは、アプリケーション内のフローの数と同じ数になります。そうすることで、アクションバーはすべてのフローの画面にそのまま残りますが、フローを変更すると再作成されるため、非常に理にかなっています。エリックバークが述べているように、そして私も実現しActivitiesたように、彼が「神」の活動と呼んでいるものを混乱させるので、できるだけ少ないものを使用するという哲学はすべての状況に当てはまるわけではありません。

4
サイクルあたりの4つのFLOPの理論的な最大値を達成するにはどうすればよいですか?
最新のx86-64 Intel CPUで、サイクルあたり4つの浮動小数点演算(倍精度)の理論上のピークパフォーマンスをどのように達成できますか? 私が理解している限り、最新のIntel CPUのほとんどでSSE が完了addするmulまでに3サイクル、が完了するまでに5サイクルかかります(たとえば、Agner Fogの「Instruction Tables」を参照)。パイプライン化によりadd、アルゴリズムに少なくとも3つの独立した合計がある場合、1サイクルあたり1のスループットが得られます。これは、パックaddpdされたaddsdバージョンとスカラーバージョンおよびSSEレジスターに2を含めることができるため当てはまるためdouble、スループットはサイクルあたり2フロップと同じくらい高くなる可能性があります。 さらに、(これに関する適切なドキュメントを見たことはありませんが)addとmulは並行して実行でき、サイクルあたり4フロップの理論的な最大スループットを実現できます。 ただし、単純なC / C ++プログラムではそのパフォーマンスを再現できませんでした。私の最善の試みは約2.7フロップ/サイクルをもたらしました。ピークパフォーマンスを実証する単純なC / C ++またはアセンブラープログラムを提供できる人がいれば、高く評価されます。 私の試み: #include <stdio.h> #include <stdlib.h> #include <math.h> #include <sys/time.h> double stoptime(void) { struct timeval t; gettimeofday(&t,NULL); return (double) t.tv_sec + t.tv_usec/1000000.0; } double addmul(double add, double mul, int ops){ // Need to initialise differently …

28
JavaScriptでのコード編成に関する一般的に受け入れられているベストプラクティス[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 jQueryのようなJavaScriptフレームワークがクラ​​イアント側のWebアプリケーションをよりリッチで機能的にするので、1つの問題に気づき始めました... 世界でこれをどのように整理しますか? すべてのハンドラを1つの場所に配置し、すべてのイベントの関数を記述しますか? すべての機能をラップする関数/クラスを作成しますか? 狂ったように書いて、それがうまくいくことを願っていますか? あきらめて、新しいキャリアを得る? jQueryについて言及しましたが、これは実際には一般的なJavaScriptコードです。何行にもわたっていくと、スクリプトファイルの管理や探しているものを見つけるのが難しくなります。私が見つけた最大の問題は、同じことを実行する方法が非常に多く、現在一般に受け入れられているベストプラクティスがどれであるかを知るのが難しいことです。 .jsファイルをアプリケーションの他の部分と同じようにきれいに保つための最良の方法に関する一般的な推奨事項はありますか?それともIDEの問題ですか?そこに良いオプションはありますか? 編集 この質問は、ファイル編成ではなく、コード編成に関するものでした。ファイルをマージしたりコンテンツを分割したりする良い例がいくつかあります。 私の質問は、実際にコードを整理するために現在一般的に受け入れられているベストプラクティスの方法は何ですか?あなたの方法は何ですか、またはページ要素とやり取りして、互いに競合しない再利用可能なコードを作成するための推奨される方法は何ですか? 一部の人々は、良い考えである名前空間をリストしました。より具体的にはページ上の要素を処理し、コードを整理して整理する他の方法は何ですか?

5
MVCでモデルをどのように構成する必要がありますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 私はMVCフレームワークを把握しているだけで、モデルにどのくらいのコードを含める必要があるのか​​よく疑問に思います。私はこのようなメソッドを持つデータアクセスクラスを持っている傾向があります。 public function CheckUsername($connection, $username) { try { $data = array(); $data['Username'] = $username; //// SQL $sql = "SELECT Username FROM" . $this->usersTableName . " WHERE Username = :Username"; //// Execute statement return $this->ExecuteObject($connection, $sql, $data); } catch(Exception $e) { throw $e; } } 私のモデルは、データベーステーブルにマップされるエンティティクラスになる傾向があります。 モデルオブジェクトには、データベースにマップされたすべてのプロパティと上記のコードを含める必要がありますか、それとも実際にデータベースが機能するコードを分離しても問題ありませんか? 最終的に4つのレイヤーができますか?

15
RESTとRESTfulの違いは何ですか
RESTシステムとRESTfulなシステムの違いは何ですか? 私が最もよく読んだいくつかのことから、いわゆるRESTサービスは実際にはRESTfulなサービスです。では、2つの違いは何ですか。
540 architecture  rest 


16
凝集力とカップリングの違い
凝集と結合の違いは何ですか? 結合と凝集は、ソフトウェア設計の良し悪しにどのようにつながりますか? 2つの違いの概要と、全体的なコード品質への影響を説明する例は何ですか?
486 oop  architecture  theory  ooad 

10
いつRedisするのですか?いつMongoDBを使うのですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 3年前休業。 ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 RedisとMongoDBの比較ではありません。私はそれらが異なることを知っています。パフォーマンスとAPIはまったく異なります。 Redisは非常に高速ですが、APIは非常に「アトミック」です。MongoDBはより多くのリソースを消費しますが、APIは非常に使いやすく、とても満足しています。 どちらもすばらしいので、できる限りRedisをデプロイで使用したいのですが、コーディングするのが難しいです。MongoDBをできる限り開発で使用したいのですが、高価なマシンが必要です。 では、両方の使用についてどう思いますか?いつRedisを選ぶのですか?いつMongoDBを選ぶのですか?

10
ログアウト:GETまたはPOST?
この質問は、GETまたはPOSTを一般的にいつ使用するかに関するものではありません。これは、Webアプリケーションのログアウトを処理するために推奨される方法です。一般的な意味でのGETとPOSTの違いに関する多くの情報を見つけましたが、この特定のシナリオに対する明確な答えは見つかりませんでした。 実用主義者として、私はGETを使用する傾向があります。GETの実装はPOSTよりもはるかに簡単だからです。単純なリンクをドロップするだけで完了です。これは、少なくとも頭のてっぺんから、私が考えることができる大多数のWebサイトに当てはまるようです。Stack Overflowでも、GETを使用してログアウトを処理します。 私が躊躇しているのは、一部のWebアクセラレータ/プロキシがページ内で見つかったすべてのリンクに移動して取得することでページをプリキャッシュする(古い)引数であり、ユーザーがクリックしたときにユーザーがより迅速に応答するようにします。これがまだ当てはまるかどうかはわかりませんが、これが当てはまる場合、理論的には、これらのアクセラレータのいずれかを使用しているユーザーは、ログインするとすぐにアプリケーションから追い出されます。彼女はそれをクリックしなかった場合でも、リンク。 これまでに読んだことはすべて、POSTは「破壊的なアクション」に使用する必要があることを示唆していますが、アプリケーションの内部状態を変更しないアクション(クエリなど)はGETで処理する必要があります。これに基づいて、ここでの本当の質問は次のとおりです。 アプリケーションからのログアウトは破壊的なアクションと見なされますか/それはアプリケーションの内部状態を変更しますか?
433 architecture  rest  post  get 

14
INotifyPropertyChangedとViewModelのDependencyProperty
Model-View-ViewModelアーキテクチャのWPFアプリケーションにViewModelを実装する場合、データバインド可能にする方法は主に2つあるようです。DependencyPropertyViewがバインドするプロパティに使用する実装を見てきましたが、INotifyPropertyChanged代わりにViewModel実装を見てきました。 私の質問は、どちらを優先するかです。パフォーマンスに違いはありますか?ViewModelの依存関係をWPFに与えることは本当に良い考えですか?設計を決定するとき、他に何を考慮する必要がありますか?

30
ソフトウェア設計とソフトウェアアーキテクチャ[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 6年前休業。 ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 誰かがソフトウェア設計とソフトウェアアーキテクチャの違いを説明できますか? すなわち; 誰かにあなたに「デザイン」を提示するように伝えた場合、彼らに何を提示することを期待しますか?同じことが「アーキテクチャ」にも言えます。 私の現在の理解は: 設計:システムの特定のモジュール/部分のUMLダイアグラム/フローチャート/単純なワイヤーフレーム(UI用) アーキテクチャ:コンポーネント図(システムのさまざまなモジュールが相互に通信し、他のシステムとどのように通信するかを示す)、使用する言語、パターン...? 私が間違っていたら訂正してください。ウィキペディアにhttp://en.wikipedia.org/wiki/Software_designとhttp://en.wikipedia.org/wiki/Software_architectureに関する記事があることを紹介しましたが、それらを正しく理解しているかどうかはわかりません。

15
PythonでIoC / DIが一般的ではないのはなぜですか?
Javaでは、IoC / DIは非常に一般的な手法であり、Webアプリケーション、ほぼすべての利用可能なフレームワーク、Java EEで広く使用されています。その一方で、大きなPython Webアプリケーションもたくさんありますが、Zope(コードで言うと恐ろしいはずですが)の他に、IoCはPythonの世界ではあまり一般的ではないようです。(私が間違っていると思われる場合は、いくつか例を挙げてください)。 もちろん、Pythonで使用できる一般的なJava IoCフレームワークのクローンがいくつかあります(たとえば、springpython)。しかし、どれも実際に使われているようには見えません。少なくとも、私はそのようなものを使用するDjangoまたはsqlalchemy + <insert your favorite wsgi toolkit here>ベースのWebアプリケーションに踏み込んだことはありません。 私の意見では、IoCには妥当な利点があり、たとえばdjango-default-user-modelを簡単に置き換えることができますが、PythonでのインターフェースクラスとIoCの広範な使用は、「pythonic」ではなく、少し奇妙に見えます。しかし、誰かがより良い説明をしているかもしれません。なぜIoCはPythonで広く使用されていないのでしょうか。

26
サイトのスクレイピングを防ぐにはどうすればよいですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 この質問を改善する 大規模なアーティストデータベースを備えたかなり大きな音楽ウェブサイトを持っています。私は他の音楽サイトが私たちのサイトのデータをかき集めていることに気づきました(私はダミーのアーティスト名をあちこちに入力してから、それらをgoogle検索します)。 画面の削れを防ぐにはどうすればよいですか?可能ですか?

6
それでも内部的にスレッドに依存している場合、Node.jsは本質的にどのように速くなりますか?
私は次のビデオを見ました。Node.jsの概要ですが、速度の利点をどのように得るかがまだわかりません。 主に、ある時点でRyan Dahl(Node.jsの作成者)は、Node.jsはスレッドベースではなくイベントループベースであると述べています。スレッドは高価であり、利用するコンカレントプログラミングの専門家にのみ任せるべきです。 その後、彼は、独自のスレッドプールを内部に持つ、基になるC実装を持つNode.jsのアーキテクチャスタックを示します。したがって、Node.js開発者は自分のスレッドを開始したり、スレッドプールを直接使用したりすることはありません。非同期コールバックを使用します。それだけ私は理解しています。 私が理解していないのは、Node.jsがまだスレッドを使用しているという点です...これは実装を非表示にするだけなので、50人が50個のファイル(現在メモリ内にない)を要求すると、50スレッドは必要ない場合、これはどのように速くなりますか? 唯一の違いは、Node.js開発者は内部で管理されているため、スレッド化された詳細をコーディングする必要はないが、その下では依然としてスレッドを使用してIO(ブロッキング)ファイル要求を処理していることです。 それで、あなたは本当に1つの問題(スレッド)を取り、その問題がまだ存在している間それを隠すことではないですか?主に複数のスレッド、コンテキスト切り替え、デッドロック...など? ここにはまだ理解していない詳細があるはずです。


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