ソフトウェア工学

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

9
開発者は、コンピューターのハードウェアの内部動作を知っている必要がありますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 メモリの割り当て方法やメモリ管理(たとえばCから学べること)だけでなく、ハードウェアの側面や、コンピューターハードウェアの各コンポーネントが内部でどのように機能し、どのように相互に通信するかについても話します。 あなたはこれをすべて知っていますか?

8
ローカライズを念頭に置いて開発していますか?
ソフトウェアプロジェクトまたはWebサイトで作業する場合、ローカライズを念頭に置いて開発しますか? これにより、例えば エラーメッセージを含むすべての文字列を外部化します。 テキストを含む画像を使用していません。 テキスト拡張を念頭に置いてUIを設計します。 擬似翻訳を使用して、プロセスの早い段階でUIをテストします。 等 あなたが取り組んでいるプロジェクトでは、これらは「いい」カテゴリにあり、ローカリゼーションチームに残りのことを心配させますか、または開発プロセスにローカライズの準備が組み込まれていますか?開発者が一般的にローカライズをどのように見ているかを聞きたいです。

8
小さなチームのバージョン管理[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 私の質問は、非常に小さなサイズの新しいチーム(たとえば2〜5)をブートストラップすることです。集中管理型または分散型のどちらの種類のチームに最適かは、どのタイプのバージョン管理が最適です。

5
アランクーパーの統合ファイルモデルはどうなりましたか?
長い間、アラン・クーパー(彼の著書「About Face」の3つのバージョンで)は、とりわけ、彼がこれまでに発明した最もばかげたメッセージボックスと呼ばれるものを省くために「統一ファイルモデル」を推進してきました。アプリまたはフォームの[閉じる]ボタンを押すと、「変更を破棄しますか?」というポップアップが表示されます。私はこのアイデアと彼の議論が好きですが、ほとんどのベテランのプログラマーとユーザーが持っている、それに対するひねくれた反応もあります。 Cooperの本は非常に人気があり尊敬されているように見えますが、この特定の問題に関するWeb上の議論はほとんどありません。「Programming Industrial Strength Windows」の作者であるPetter Hesselbergがそれについて言及していますが、それについては思われます。 私は現在取り組んでいる(デスクトップ)プロジェクトでこれを実装する機会がありますが、MS WordとExcelの方法を熟知している顧客や同僚からの抵抗に直面しています。私は彼らの異議を無効にする立場にありますが、そうすべきかどうかはわかりません。 私の質問は: これについて、私が見つけられなかった良い議論はありますか?アプリでこれをしている人はいますか?残念ながら、Microsoftがやるまで実装するのは実用的ではないというのは良い考えですか?

3
ライセンスの全大文字を削除して免責事項を短くできますか?
特定のコードにMITライセンスを使用しています。現在、このライセンスには、すべて大文字の免責条項があります。 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF... ... zlibライセンスには通常大文字で始まる免責事項(ライセンステキストの上にあることに注意してください)、および免責事項がまったくないソフトウェア(実際に保証があることを意味しますか?)を見ましたが、信頼できる関係者からの情報を参考にしてください。まだ見つかりませんでした。 他のファイルに関する GNUのライセンス通知には、この免責事項が付属しています。 このファイルは、保証なしで現状のまま提供されます。 短くてシンプル。 したがって、私の質問:長い免責事項ではなく短い免責事項(またはどちらか一方)が、私が関係するすべての管轄区域で安全に使用できることを示す信頼できる情報源はありますか? この質問の目的のために、ソフトウェアは欧州連合でリリースされますが、何らかの違いが生じる場合があります。

8
ライセンスを強制する人がいない場合、ライセンスは重要ですか?
元の作成者がソフトウェア/コードにライセンスを強制できない(または強制しない)と仮定しますが、その作業は今でも人気があります。 あなたがそれを視覚化したいなら、私は複雑な仮説を捨てるでしょう: オープンソースライセンスの下でコードプロジェクトをリリースした開発者の非常に小さなグループを想像してください。リポジトリはサーバーでホストされていました。しかし、開発チームの全員が悲劇的な事故などで亡くなりました。これが発生した後、サーバーはシャットダウンしました。プロジェクトにはかなり大きなユーザーベースがあったため、他の人がダウンロードするために自分のサーバーで最後のリビジョンをホストし始めました。 (はい、アクティブな想像力があります) ライセンスを遵守することは、そのユーザーの道徳の問題になりますか、それとも、強制するユーザーまたはグループが1人もいない場合に法的罰則が存在する可能性はありますか?悪意のあるユーザーがプロジェクトから分岐して別のライセンスで使用することに決めた場合、何かできるでしょうか? 私は法的助言を求めていません。ソフトウェアライセンスがどのように機能するかについて単に興味があります。私は奇妙な状況を考える傾向があり、それらのシナリオで何が起こるのだろうと思います。

6
垂直方向の配置:賛成か反対ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 たとえば、垂直に整列されていない: Name: Hamt Version: 0.1.0 Cabal-Version: >= 1.2 License: BSD3 Author: Jason Baker または垂直方向に整列: Name: Hamt Version: 0.1.0 Cabal-Version: >= 1.2 License: BSD3 Author: Jason Baker どちらが好きですか、それはなぜですか?

5
低レベルのプログラミングに現在使用されている言語はどれですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 ドライバー、組み込みシステム、オペレーティングシステムなどの低レベルプログラミングを聞いたとき、すぐにCとおそらくC ++について考えます。しかし、主にC。 しかし、この種のタスクに使用される他の言語は何ですか?今日、私は、使用されているものではありません。

4
.NET認定試験の違いは何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 私はWPFとASP.NET MVCを使用する.NET開発者であり、何らかの認定試験に合格することを望んでいました。 4つの試験があるようですが、Microsoftの定義を使用しても違いが何であるかを理解できません。 MCPD MCAD MCSD MTA それらはどのように相互に関連していますか?認定試験の自然な進行経路はありますか?どのバージョンの.NETに適していますか?
13 c#  .net 

12
プログラマーに必要なWindowsに欠けているデフォルト機能は何ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 プログラマの生産性を向上させることができるWindowsに欠けている機能。多くの人がLinuxやOSXの機能をWindowsに移植したり、Windows用に作成したりすることを望んでいることを知っています。あなたには何が欠けていますか? 例は、複数のワークスペースを持つオプションです。便利なデュアルモニターを使用する可能性がない場合。

3
コードに保存されているSQLクエリを整理する最良の方法は?(またはあなたがすべきですか?)[閉じた]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 SQLクエリで散らかったコードのページを見たときにイライラするのは私だけではないはずです。ActiveRecordおよびその他のORMパターンは、プロジェクトで使用される大量のSQLを軽減するのに役立ちますが、複雑なクエリの多くの場合、SQLの使用は避けられないようです。 SQLクエリを他のコードと一緒に(または外部的に)整理して、どこにでも散らばらないようにする方法についての意見を探していますか?1つの明白なアイデアはビューの使用ですが、多くの場合、ビューは複数の大きなインデックス付きテーブルなどを処理する際にパフォーマンスの問題の原因になる可能性があります。 編集1-あなたはすでにモデルレイヤーに分離されていると仮定しています

6
サポートマンネリから抜け出し、技術的負債の返済を開始する方法!
友達がいます"。はい、良いスタートですが、正直なところこれは私ではありません! 基本的に、彼は今、約4年間のプロジェクトの成功に取り組んでいます、困難がある技術的負債が追いついたと、彼はそれがほとんど不可能製品サポートを停止するために見つけることだ(これを微調整をしていること)と、実際に上に移動本当の開発。 私はさまざまな提案をしました、あなたのすべての時間を記録し、チケットを作成し、電子メールなどに答えないなど。これに関する問題は、彼が何も「有用な」ことをしていないことを思い出させるだけのように見えることです。 技術的な負債は主に発生しました。なぜなら、最初の例では、ユーザーからのリクエストや電話を受け取り、すぐにそれらを実装することが製品にとって大きな利点だったからです。 私が知りたいのは、誰も彼がこのわだち掘れから抜け出す方法についての提案を持っていることです。その大部分は、ユーザーが何かを鳴らして期待することができないと思うように、ユーザーの認識を変えることですその場で行われます。 サポートの必要性とユーザーからの相対的なプレッシャーを考慮すると、実際の開発を計画することは非常に難しいと理解していますが、計画はより良いと言っています(上記参照)。

7
有益なプログラマーの「労働者協同組合」の実際の例はありますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 http://en.wikipedia.org/wiki/Worker_cooperative プログラミング、IT、ある種のIT、またはプログラミング関連のコンサルティングやサービスのいずれかを含むテクノロジービジネスを中心とする労働者協同組合が世界中のどこにあるのか興味があります。 上記のウィキペディアのリンクは、概念の概要です。簡単な説明では、協同組合は労働者所有のビジネスです。また、すべての労働者がビジネスの株式を所有しているという概念があります。 「プログラマー/ IT協力」の例が存在するかどうかを知りたいと思っています。 注:私は、政府が資金提供するインキュベーターや他の社​​会化された国家支援グループについて話したり、質問したりすることはありません。また、「コワーキング」という意味ではありません。これは、他の自営業者が自分のことをやっているオフィスを借りることです。 私は、労働者が所有して運営する競争力のある環境で運営されている、収益性の高いITビジネスを意味します。
13 business 

4
「通知センター」パターンは、プログラム設計の良し悪しを促進しますか?
Cocoa NSNotificationCenterなど、これらのメッセージハブスタイルのAPIに出くわすことがあります。http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html 通常、これらのAPIは、メッセージ/イベントをサブスクライブまたはブロードキャストするグローバルアクセスポイントを提供します。これは、依存関係がAPIで明示されていないがソースコードに隠されているフラットで非構造化のプログラムアーキテクチャを促進するため、これが問題だと考えています。オブジェクトの所有権と階層について考える必要はありませんが、プログラム内の任意のオブジェクトを呼び出すことで、任意のコードを呼び出すことができます。しかし、これは良いことでしょうか? このパターンは一般に、プログラム設計の良し悪しを助長しますか?コードをテストするのが難しくなりますか、それとも簡単になりますか? この質問が曖昧すぎるか広すぎる場合はご容赦ください。私は、このようなAPIの広範な使用の潜在的な結果と、それを使用できるさまざまな方法について頭をかき回しています。 編集:このパターンの最大の問題は、APIが依存関係とオブジェクトカップリングについて「嘘をつく」ことであり、この例で説明できることです。 myObj = new Foo(); myOtherObj = new Bar(); print myOtherObj.someValue; // prints 0 myObj.doSomething(); print myOtherObj.someValue; // prints 1, unexpectedly, because I never indicated that these objects had anything to do with each other

10
多くの問題を同じように解決する場合、私は心配する必要がありますか?
プログラミングゲームやパズルクリエイター/ゲームが大好きです。私は、これらの問題の多くを同じ方法でエンジニアリングし、最終的に私が本当に快適であるようにそれらをプログラムするために同様の手法を使用していることに気付きます。 簡単な洞察を与えるために、ノードがオブジェクトで表されるグラフを作成するのが好きです。これらのオブジェクトは、座標、位置、およびもちろん他の隣接オブジェクトへの参照などのデータを保持します。それらをすべてデータ構造に配置し、「ゲームループ」でこの情報を決定します。 これは簡単な例ですが、すべての状況で正確ではありません。それは私が本当に快適に感じる一つの方法です。これは悪いですか?

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