ソフトウェア工学

システム開発ライフサイクル内で働く専門家、学者、学生向けのQ&A

1
AndroidでFragmentManagerを使用するための便利なデザインパターン
フラグメントを操作するときは、フラグメントのアクションを定義する静的メソッドで構成されるクラスを使用しています。どのようなプロジェクトでもFragmentActions、次のようなメソッドを含むというクラスがあるかもしれません。 public static void showDeviceFragment(FragmentManager man){ String tag = AllDevicesFragment.getFragmentTag(); AllDevicesFragment fragment = (AllDevicesFragment)man.findFragmentByTag(tag); if(fragment == null){ fragment = new AllDevicesFragment(); } FragmentTransaction t = man.beginTransaction(); t.add(R.id.main_frame, fragment, tag); t.commit(); } 通常、アプリケーション画面ごとに1つのメソッドがあります。小さなローカルデータベース(通常はSQLite)で作業するときは、このようなことを行うので、それをフラグメントに適用しました。フラグメントには同様のワークフローがあるようです。私はそれと結婚していません。 Fragments APIとインターフェースするようにアプリケーションをどのように編成しましたか。また、どのようなデザインパターン(ある場合)を適用すると思いますか?


6
言語に慣れていないときにコードの品質を評価する方法は?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 仮説として、私の経験が.NETであるときに誰かに新しいPHP開発者の面接を依頼した場合、彼らが提供したコードサンプルが効率的で質が良いかどうかをどのように判断できますか? 言い換えれば、言語に慣れていない場合にプログラマーのコードを評価するための最良の方法は何ですか?

1
Pythonのクラスの数学モデルは何ですか?
ラムダ紙の古典的なモデルはPythonでは有効ではないことを理解しています。 また、クロージャーはPythonシステムの実装の数学モデルではありません。 それでそれはどのモデルですか?
10 python 

4
Subversionでは、アプリケーションの新しいメジャーバージョンをどのように設定すればよいですか?
商用アプリケーションの新しいバージョン(バージョン4)で作業を開始しようとしています。私はSubversionを使用しています。 あなたの経験、間違い、成功に基づいて、Subversionで新しいバージョンをセットアップすることをどのようにすすめますか? ここにいくつかの情報があります:バージョン4がリリースされてからしばらくの間、バージョン3の重要な更新をリリースし続けるつもりです。ただし、新機能の開発はすべてバージョン4でのみ行われます。 関連性がある場合:私はこの製品のソロ開発者です。 編集:私はSVNのタグとブランチを知っています。私が必要としているのは、私の状況でタグとブランチを使用するための最適な戦略だと思います。

3
ソフトウェア開発における「疑似実装」のようなコンセプトはありますか?
私は、技術/スケーラブルな製品を開発するための時間を費やすことなく、製品やデモをすぐに始めるために、人間ベースの計算方法やアルゴリズムを「偽造」する他の手段を使用する慣行を説明するラベルを探しています/分析ソリューション?例:Amazon Turkを使用して、レストランの空のテーブルの数をカウントします。 私はまた、この主題についてもっと知りたいと思っていますが、何を検索すればよいかわかりません。人間ベースの計算は1つの方法にすぎません。疑似実装の一般的な考え方に興味があります。何かアイデア、お勧めの読書?

5
2つのデータソース間の密結合を減らす方法
次のアーキテクチャの問題に対する適切な解決策を見つけるのに問題があります。 この設定(下図)には2つのデータソースがあり、データソースAはタイプFooのアイテムのプライマリソースです。Fooの追加情報を取得するために使用できるセカンダリデータソースが存在します。ただし、この情報は常に存在するとは限りません。 さらに、データソースAを使用してタイプBarのアイテムを取得できます。ただし、各バーはFooを指します。ここでの問題は、各バーがFooを参照する必要があることです。Fooには、データソースBによって拡張された情報も含まれます。 私の質問は、SubsystemA.1とDataSourceBの間の密結合を取り除く方法ですか?

5
出口コストをソリューションの選択に組み込む必要がありますか
私は現在、2つの実行可能なソフトウェア設計/ソリューションから選択しています。ソリューション1は実装が簡単ですが、一部のデータを独自の形式でロックし、後で変更するのが困難になります。ソリューション2は実装が困難ですが、後で変更する方がはるかに簡単です。 これについてYAGNIに行くべきか、それとも意思決定に出口費用を組み込むべきか?または別の質問として、出口コストはTCOの一部ですか? これを持って顧客に戻り、出口費用が適切であるかどうかを質問することを考えていますが、コミュニティが最初に何を考えているのか知りたいのですが。 PS出口費用は正しい用語ですか?

1
アプリケーションのメモリ使用量を改善するにはどうすればよいですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 私はC#アプリケーションを作成していますが、アプリケーションの実行時間の増加に伴ってメモリ使用量が増加しているのがわかります。 アプリケーションのメモリ使用量を監視し、メモリリークを特定して、一般的にアプリケーションのメモリ使用量を改善できるツールやテクニックはありますか?
10 c#  memory-usage 

1
fread / fwriteの最適なバッファーサイズ[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 7年前休業。 POSIXのfread / fwrite関数を介した読み取り/書き込みファイルには、どのバッファーサイズを選択すればよいですか?
10 c 

2
RESTリソースが単数または複数であることは妥当ですか?
次のような従来のレイアウトではなく、私は疑問に思っています。 api/Products GET // gets product(s) by id PUT // updates product(s) by id DELETE // deletes (product(s) by id POST // creates product(s) たとえば、単数形と複数形の方が便利でしょう。 api/Product GET // gets a product by id PUT // updates a product by id DELETE // deletes a product by id POST // creates …
10 rest 

1
AppMobiとPhoneGapの違いは何ですか?
クロスプラットフォームアプリケーション開発は初めてです。非常によく似たクロスプラットフォームフレームワークであるAppMobiとPhoneGapに出会いました。 私は知りたいです Appmobiを使用して作成されたapk / ipaとPhoneGapを使用して作成されたapk / ipaの間に違いはありますか? 使用できるネイティブ機能に違いはありますか? appmobiがPhonegapまたはPhoneGapをAppmobiよりも優れている点は何ですか? これら2つの他の違いも。


3
XMLコメントは必要なドキュメントですか?
私はかつて、ドキュメントにXMLコメントを要求するファンでした。それ以来、私は2つの主な理由で考えを変えました。 優れたコードのように、メソッドは自明でなければなりません。 実際には、ほとんどのXMLコメントは無意味なノイズであり、付加価値はありません。 多くの場合、GhostDocを使用して一般的なコメントを生成しますが、これは役に立たないノイズとは次のことを意味します。 /// <summary> /// Gets or sets the unit of measure. /// </summary> /// <value> /// The unit of measure. /// </value> public string UnitOfMeasure { get; set; } 私には、それは明白です。とはいえ、含める特別な指示がある場合は、XMLコメントを絶対に使用する必要があります。 私はこの記事からのこの抜粋が好きです: 時々、あなたはコメントを書く必要があるでしょう。しかし、それは規則ではなく例外であるべきです。コメントは、コードでは表現できないものを表現している場合にのみ使用してください。エレガントなコードを記述したい場合は、コメントを削除し、代わりに自己文書化コードを記述してください。 コードがそれ自体で説明するのに十分でない場合にのみXMLコメントを使用すべきだと思うのは間違っていますか? これは、XMLコメントによってかなりのコードが見苦しく見える好例です。それはこのようなクラスを取ります... public class RawMaterialLabel : EntityBase { public long Id { get; set; } …

5
ソフトウェアの脆弱性に対する攻撃/ツールのソフトウェアライフサイクルの固有の側面は何ですか?
私の地元の大学には、約20人の学生からなる小さな学生向けコンピューティングクラブがあります。クラブには、モバイル開発、ロボット工学、ゲーム開発、ハッキング/セキュリティなど、特定の分野に重点を置いた小さなチームがいくつかあります。 ユーザーストーリー、タスクの複雑さの見積もり、バージョン管理と自動ビルド/テストの継続的な統合など、いくつかのチームにいくつかの基本的なアジャイル開発コンセプトを紹介しています。 ウォーターフォール、スパイラル、RUP、アジャイルなど、いくつかの基本的な開発ライフサイクルに精通していますが、セキュリティをハッキング/侵害するためのソフトウェア開発ライフサイクルのようなものがあるのだろうかと思っています。確かに、ハッカーはコンピュータコードを書いていますが、そのコードのライフサイクルは何ですか?いったん違反が発見されてパッチが適用されると、その違反を悪用したコードは役に立たなくなるので、彼らがメンテナンスにあまり関心を持つことはないと思います。 ライフサイクルは次のようになると思います: セキュリティのギャップを見つける セキュリティのギャップを悪用する ペイロードの調達 ペイロードを利用する 製品の目的がセキュリティ違反である場合、ソフトウェアの開発ライフサイクルにはどのような違いがありますか(ある場合)?

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