ソフトウェア工学

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

3
警告や通知を避けるのは良い習慣ですか?
私は一般的にPHPの警告と通知に取り組んでいます。PHPが既に実稼働している多くのプロジェクトに取り組んでいるからです。これらのライブ制作Webサイトで警告と通知をオンにすると、それらは過負荷になります。 私が自宅や地元で取り組んでいるプロジェクトでは、通常、すべての警告と通知を排除しようとします。時々、通知がないという解決策がないので、それらを完全にオフにすることを決定するまで、通知を見て対処する必要があります。 結局、すべての警告と通知を取り除こうとして時間を無駄にしているのか、それとも実際にもっと良いことをしているのかはわかりません。 したがって、私の質問は、警告と通知を完全に回避することをお勧めしますか、それとも本当に重要ではありませんか?
20 php  warnings 

7
Javaに異なるサイズの数値のプリミティブがあるのはなぜですか?
Javaではプリミティブ型がありbyte、short、intとlongとのために同じものfloatとdouble。プリミティブ値に使用するバイト数を設定する必要があるのはなぜですか?渡される数値の大きさに応じて、サイズを動的に決定することはできませんでしたか? 私が考えることができる2つの理由があります: データのサイズを動的に設定することは、動的に変更できる必要があることを意味します。これにより、パフォーマンスの問題が発生する可能性がありますか? おそらくプログラマーは、誰かが特定のサイズよりも大きな数を使用できるようにしたくないでしょう。これにより、制限することができます。 私はまだ、シングルintとfloatタイプを使用するシンプルな方法で多くのことが得られたと思いますが、Javaがこの方法を採用しないことに決めた特別な理由はありましたか?

3
DDDアプリケーションサービスとREST APIの概念的な不一致
複雑なビジネスドメインと、REST API(厳密にはRESTではなく、リソース指向)をサポートする要件を持つアプリケーションを設計しようとしています。リソース指向の方法でドメインモデルを公開する方法を考えるのに苦労しています。 DDDでは、ドメインモデルのクライアントは、手続き型「アプリケーションサービス」層を通過して、エンティティおよびドメインサービスによって実装されるビジネス機能にアクセスする必要があります。たとえば、ユーザーエンティティを更新する2つのメソッドを持つアプリケーションサービスがあります。 userService.ChangeName(name); userService.ChangeEmail(email); このアプリケーションサービスのAPIは、状態ではなくコマンド(動詞、プロシージャ)を公開します。 ただし、同じアプリケーションにRESTful APIも提供する必要がある場合は、次のようなユーザーリソースモデルがあります。 { name:"name", email:"email@mail.com" } リソース指向のAPIは、コマンドではなく状態を公開します。これにより、次の懸念が生じます。 REST APIに対する各更新操作は、リソースモデルで更新されているプロパティに応じて、1つ以上のアプリケーションサービスプロシージャコールにマップできます。 各更新操作は、REST APIクライアントにとってアトミックに見えますが、そのようには実装されていません。各アプリケーションサービス呼び出しは、個別のトランザクションとして設計されています。リソースモデルの1つのフィールドを更新すると、他のフィールドの検証ルールが変更される可能性があります。したがって、すべてのリソースモデルフィールドを一緒に検証して、潜在的なすべてのアプリケーションサービスコールが有効になるようにしてから、それらを作成する必要があります。一連のコマンドを一度に検証することは、一度に1つずつ実行することほど簡単ではありません。個々のコマンドが存在することすら知らないクライアントでそれをどのように行うのでしょうか? アプリケーションサービスメソッドを異なる順序で呼び出すと効果が異なる場合がありますが、REST APIは違いがないように見えます(1つのリソース内) もっと似たような問題を思いつくかもしれませんが、基本的にはすべて同じことが原因です。アプリケーションサービスを呼び出すたびに、システムの状態が変化します。有効な変更のルール、エンティティが次の変更を実行できるアクションのセット。リソース指向のAPIは、すべてをアトミック操作のように見せようとします。しかし、このギャップを越える複雑さはどこかに行かなければならず、それは巨大なようです。 さらに、UIがよりコマンド指向である場合(多くの場合そうです)、クライアント側でコマンドとリソースをマッピングし、API側に戻す必要があります。 質問: このすべての複雑さを(厚い)RESTからAppServiceへのマッピングレイヤーで処理するだけですか? または、DDD / RESTの理解に何か不足していますか? RESTは、特定の(かなり低い)複雑度でドメインモデルの機能を公開するために、単に実用的ではないでしょうか?

2
誰でもメモリ内のフロートの表現を説明できますか?
前の質問を読んだので、これは重複した質問ではありません。 誰でも私を理解するのを助けることができhow float values are stored in the memoryます。 私の疑問は、ここでフロート値に含まれる ' .'(for example 3.45)'.'がメモリ内でどのように表現されるか? 誰かが図で私を明確にしてくれますか?

7
Python可変デフォルト引数:なぜ?
デフォルトの引数は、関数が呼び出されるたびにではなく、関数の初期化時に作成されることを知っています。次のコードを参照してください。 def ook (item, lst=[]): lst.append(item) print 'ook', lst def eek (item, lst=None): if lst is None: lst = [] lst.append(item) print 'eek', lst max = 3 for x in xrange(max): ook(x) for x in xrange(max): eek(x) これがこのように実装された理由はわかりません。この動作は、各呼び出し時の初期化に対してどのような利点がありますか?
20 python 

7
パターンと原理の違い
この質問は、Software Engineering Stack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 オブジェクト指向のデザインパターンと原則の違いは何ですか?それらは異なるものですか?私が理解している限り、両方とも共通の目標(柔軟性など)を達成しようとします。パターンは原則であり、その逆も言えると思いますか? 設計原理= SOLID(つまり、依存関係反転の原理) デザインパターン= Gof(抽象ファクトリーパターン)

9
コーディング時間を短縮する一般的なプログラミング手法
私はC ++でコーディングしなければならないプログラミングコンテストの準備をしていますが、それは短時間で動作するコードを作成することです。たとえば、マクロを使用して最小2つのintを取得するか、memsetsを使用して配列を初期化することができます(ただし、ここでは使用しないでください)。 これは、実際の仕事で使用するためにどのようなコーディング技術が存在するのかという質問につながりますか?
20 c++ 

13
抽象クラスに「抽象」プレフィックスを追加する必要がありますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 という名前の抽象クラスがあるとしTaskます。 AbstractTask代わりに名前を付けることを提案する標準または規則はありますか?

5
マルチテナンシー-単一のデータベースと複数のデータベース
私たちには多くのクライアントがあり、そのシステムはいくつかの機能を共有していますが、かなりの多様性も持っています。クライアントの数は増え続けています-常に健全なことです!-また、事業間の多様性も増大しています。 現在、単一のASP.Net(Webフォーム)Webサイト(Webプロジェクトとは対照的)があり、各テナントのサブフォルダーとそのテナントの非標準ページがあります。データベースアクセスとビジネスロジックを扱う別のモデルプロジェクトがあります。 (a)クライアントごとに1つのデータベースを持ち、そのクライアントに関連付けられた機能のみを持つ場合、どちらが望ましいか(最も重要なのはなぜか)。または(b)すべてのクライアントが共有する単一のデータベース。1つのクライアントがテーブルのサブセットのみを使用します。 ビジネス内の主な懸念は以上です。 複数の資産のメンテナンス-バックアップ、バージョン管理など 可能な限り再利用を促進する これらの懸念にどのように対処し、どの解決策が望ましいか、そしてその理由をどのように確認しますか?(同様の質問への回答も編集しています)

2
「継ぎ目」という言葉の理解に関する問題
私はMark Seemannによる「.NETでの依存性注入」を読んでいます(それは素晴らしいですし、必需品です)。著者はよく「seam」という言葉を使用します。しかし、私はそれが何を意味するのか理解できません。この単語の使用例を次に示します。 第7章では、ASP.NET MVC、WPF、WCFなどのさまざまな具体的なフレームワークでオブジェクトを構成する方法について説明します。すべてのフレームワークがDIを同等にサポートしているわけではありません。また、DIをサポートしているフレームワークであっても、その方法は大きく異なります。各フレームワークについて、そのフレームワークでDIを有効にするSEAMを特定することは困難です。ただし、そのSEAMが見つかると、この特定のフレームワークを使用するすべてのアプリケーションのソリューションが得られます。第7章では、最も一般的な.NETアプリケーションフレームワークに対してこの作業を行いました。フレームワークSEAMSのカタログと考えてください。 この言葉を理解するのを手伝ってくれて感謝しています。

4
ブール値のデータベースフィールドにNullとしてFalseを格納する必要がありますか?
Userというテーブルにブールフィールドを持つアプリケーションがあるとしましょうInactive。 falseをnullとして保存するだけで本質的に問題はありますか?もしそうなら、あなたはマイナス面がどうあるべきかを説明できますか?これについては数か月前に誰かと議論しましたが、アプリ/データベース全体で一貫して行う限り、それは問題ではないことに同意しました。最近、私が知っている誰かが「真実」trueまたはfalse使用されるべきだと強調しましたが、彼らは本当に理由についての説明を本当にしませんでした。

8
単一クラスの単体テスト用の単一または複数のファイル?
組織のガイドラインをまとめるための単体テストのベストプラクティスを調査する際、テストフィクスチャ(テストクラス)を分離するか、1つのクラスのすべてのテストを1つのファイルに保持する方が良いか便利かという問題に直面しました。 ちなみに、純粋な意味での「ユニットテスト」とは、単一のクラス、テストごとに1つのアサーション、モックされたすべての依存関係などを対象とするホワイトボックステストのことです。 シナリオの例は、CheckInとCheckOutという2つのメソッドを持つクラス(Documentと呼ばれる)です。各メソッドは、動作を制御するさまざまなルールなどを実装します。テストごとに1つのアサーションルールに従って、メソッドごとに複数のテストがあります。およびのDocumentTestsような名前を持つ単一のクラスにすべてのテストを配置できます。CheckInShouldThrowExceptionWhenUserIsUnauthorizedCheckOutShouldThrowExceptionWhenUserIsUnauthorized または、2つの個別のテストクラスを持つことができます:CheckInShouldとCheckOutShould。この場合、テスト名は短縮されますが、特定の動作(メソッド)のすべてのテストが一緒になるように整理されます。 私はどちらのアプローチにも賛否両論があると確信しており、誰かが複数のファイルでルートを行っているのかどうか疑問に思っています。または、単一ファイルのアプローチを選択した場合、なぜそれが良いと感じるのですか?

2
誰かがSSL証明書の保証を請求したことがありますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 8年前に閉鎖されました。 SSL証明書は、多くの場合、たとえば50万ドルや100万ドルなど、さまざまな量の保証または保証を公示します。 私の質問は、SSLの歴史の中で、これらの保証の1つを実際に成功させた人はいますか?事例はありますか?そうでない場合、それらが単なるマーケティングの仕掛けであると仮定するのは公平ですか?

4
なぜすべての関数型プログラミングのチュートリアルがこんなに充実しているのですか?
私は関数型プログラミングを学ぼうとしており、私が見つけたほとんどのチュートリアルでは、より複雑な構造の例として数学を使用しています(場合によっては単純な構造も)。どうしてこれなの?もっと簡単なものが使用できると思います。そのため、学習が難しくなっています。 背景情報:私は12年間ソフトウェアを書いています。クロージャ、ファーストクラスの市民としての機能、ジェネリックなどの概念の一部を理解しています。高度なレベルで高階関数に問題があるかもしれませんが、基本的な理解があると思います。モナドは私を尻に噛みついており、この時点で私はそれを過ぎていない(私はしつこいので、最終的にはそうなると確信している)。

4
2つの画像が同じかどうかを知る方法は?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 JPEG、PNG、GIFなど、他の形式で複製された約2000個の画像が10000個以上あります。これらの数値は両方とも毎日増加しています。それらの重複を削除する必要があります。そのためには、まずそれらを見つける方法を知る必要があります。 最初に考えたのは、画像のピクセルをチェックし、同じ座標で同じ色のピクセルを持つ他の写真を見つけることでした。ただし、このオプションは常に機能するとは限りません。重複を検索するとしましょう。検索可能なオブジェクトについては、8ビットのPNGファイルを選択します。その画像のすべての複製が見つかりますが、8ビットPNG、時には8ビットGIF、まれにJPEGのみが見つかります(画像のアルゴリズムのせいでしょうか?)。 私の2番目の考えは、これらの画像をすべて複製し、厳密な2色パレット(白黒など)で色を変更し、上記と同じスキャンを実行することでした。それでも、JPEG画像はPNGまたはGIF形式と100%類似していません(上記と同じ理由?)。 3番目の考えは、画像がどれだけ馴染む必要があるかについての割合を減らし、色がどれだけ変化する可能性があるかを増やして、不要な画像の除去をもたらすことでした... 何かご意見は?

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