ソフトウェア工学

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

8
C ++の技術評価から何を期待できますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 6年前休業。 ジュニア開発者として、主にC ++を使用するジョブの技術テスト/評価を依頼されました。これは私の最初のテスト/評価であり、2時間です。 私のC ++は、PHPで最近プロジェクトを行っているので、少し錆びています。 これは英国の会社ですが、候補者の技術テストはどこでもほぼ同じだと思います。 これらのテストの1つで何を期待できますか?

9
Visual-C ++で「実際の」TDDをしている人はいますか。[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 テスト駆動開発とは、コードの前にテストを記述し、特定のサイクルを実行することを意味します。 テストを書く テストの確認(実行) 量産コードを書く テストの確認(実行) プロダクションコードのクリーンアップ テストをチェック(実行) 私に関する限り、これは、開発ソリューションでプロダクションコードとテストコードを非常に迅速に切り替え、特定のプロダクションコード部分のテストを非常に迅速に実行できる場合にのみ可能です。 今、C ++には多くの単体テストフレームワークが存在しますが(Bost.Test atmを使用しています)、TDDを作成する適切な(ネイティブC ++の)Visual Studio(Plugin)ソリューションは実際には存在しないようです。使用されるフレームワークに関係なく耐えられるサイクル。 「ベアラブル」とは、個別のテストプロジェクトなどを手動で設定しなくても、特定のcppファイルのテストを実行するのがワンクリックのアクションであることを意味します。 。 では、Visual Studioを使用したネイティブC ++開発でTDDサイクルを可能にするツール(プラグイン)とテクニックはどこにありますか? 注:私は無料または「商用」ツールで大丈夫です。 してください:ノーフレームワーク勧告。(フレームワークに専用のVisual Studioプラグインがあり、そのプラグインを推奨する場合を除きます。) 注の編集:これまでの回答は、ユニットテストフレームワークをVisual Studioに統合する方法に関するリンクを提供しています。リソースは多かれ少なかれ、UTフレームワークをコンパイルして最初のテストを実行する方法を説明しています。これはこの質問についてではありません。ユニットテストを手動で維持(!)して実際に生産的に作業するには、vcprojを本番クラスから分離するとオーバーヘッドが大きくなり、TDDが「不可能」になると私は思います。私が知る限り、JavaまたはC#のモノに追加の「プロジェクト」を追加してユニットテストとTDDを有効にしないでください。これは 適切なツールを与えられたC ++で可能になるが、TDD / C ++ / VS用のツールはほとんどないようです(この質問についてです)。 探し回って、正しい方向を目指しているように見えるVisualAssertというツールを見つけました。しかし、残念ながら、広く使われているようには見えません(CppUnit、Boost.Testなどと比較して)。 編集:この質問のコンテキストにコメントを追加します。問題の概要(の一部)の良い要約を示していると思います:(Billy ONealによるコメント) Visual Studioは、ユーザーが合理的に編集可能な「ビルドスクリプト」を使用しません。1つのプロジェクトで1つのバイナリが生成されます。さらに、Javaには、Javaが完全なバイナリを決して構築しないという特性があります-構築するバイナリは、クラスファイルの単なるZIPです。したがって、個別にコンパイルしてから、JARを手動で(たとえば、7zを使用して)コンパイルすることが可能です。C ++とC#はどちらも実際にはバイナリをリンクしているため、一般的に言えば、そのようなスクリプトを作成することはできません。あなたが得ることができる最も近いのは、すべてを別々にコンパイルしてから、2つのリンクを行うことです(1つは本番用、もう1つはテスト用)。
10 ide  tdd  plugins  visual-c++ 

2
オープンソースのPHPアプリケーションをリリースするためのベストプラクティス
私は生活のためのPHP開発者ですが、これまでにオープンソースプロジェクトに取り組んだり、貢献したりしたことはありません。 私は自分用のCMSを開発しています。私は作業中のプロトタイプを持っていて、準備ができたら(おそらく数か月後)、これはPHPコミュニティーが興味を持つものになると思います。 私はかなり自信のある開発者ですが、特にオープンソースの問題に関して、私の知識が不足している領域があります: プロジェクトを宣伝したり、共同作業に興味を持つ可能性のある他の人を見つけたりするための最良の方法は何ですか 私のCMSはCakePHPを使用しており、基本的にはその上にレイヤーとして配置されています。私はGitHubでCakePHPプロジェクトを分岐しました。以前にバージョン管理システム(SVN)を使用したことがあるのですが、GITはかなり新しいので、「最善の方法」で確実に実行したいと考えています。 ライセンスの問題を知るにはどうすればよいですか?私のアプリに最適なオープンソースライセンスはどれですか?また、私のプロジェクトは他の多くのオープンソースプロジェクトから借用しています。たとえば、コードのセクション(大幅に変更しました)がありますが、著作権/ライセンスに関する通知がありました-私の義務は何に関するものかわかりませんこれらを保持する これらは私が持っている質問のほんの数例ですが、私にとって役立ついくつかのリソースがそこにあるに違いないと感じています。開始するのに最適な場所はどこですか、これらの問題をカバーする最高のコミュニティ/サイトは何ですか?私は周りを見回しましたが、多くを思い付くことができませんでした...

9
オープンソースプロジェクトでバージョン管理の使用を開始するための最良の方法は何ですか?
プロジェクトのサイズとスキル不足のため、プロジェクトをオープンソースにすることを提案されたので、Google Codeをチェックアウトしてプロジェクトの作成を開始したところ、プロジェクトにGit、Mercurial、またはSubversionを含めるかどうかを尋ねられます。コードホスティング。 コードホスティングとは何なのかさえわかりません。検索を行うと、これらすべての間の議論がさらに混乱し、Google Codeがどのタイプのライセンスが必要か尋ねてきたため、事態はさらに悪化しました。 私はオープンソースが実際に何を意味するのか完全に理解していないと思います、誰かがこれが何であるかについて簡単に素人のチートシートを作成できますか?大変感謝いたします。 編集これらの3つのバージョンのコードホスティングには多くの素晴らしい反応がありましたが、本当の質問を伝えることができなかったと思います。 ?そして、それは私が現在のホスティングからサイトを外さなければならないことを意味しますか、それともこれはまったく異なるタイプのホスティングですか?私のサイトをオープンソースにするとどうなるか、どのような権利があるか、どのような権利を与えるか。それはどのように機能しますか?人々はただ来て無料で私にコードを投げますか?おそらくこれらは愚かな質問であり、その場合、私は愚かな答えが必要だと思いますが、コードを共有するという概念を除いて、私はオープンソースが何であるかを真剣に知りません...

1
Google AJAX Search APIに何が起こったか
私はメインのGoogle検索をクエリしたいと思っていますが、stackoveflowを含むすべての参照はGoogle AJAX Search APIを指しています。 奇妙なことに、それはもう存在していないように見えて、それが減価償却されていると言う注記さえないのですか? 古いリンクはメインのGoogleコードサイトを指しています。そのサイトのAPIのリストを見ると、置き換えられたAPIは、同じページにリンクしているがGoogle AJAX Search APIにはリンクしていないWeb Search API(非推奨)です。 さらにGoogle検索も役に立ちません。コンテンツがなく、同じ場所にリダイレクトされる同じGoogleサイト(http://code.google.com/apis/ajaxsearch/)を指す多くのブログ投稿? それが存在していたことを証明するためだけに、マシンの帰り道でそれを見つけましたが、最後のスナップショットには特別な異常なメッセージは表示されませんでした。
10 api  google 



7
プロトタイプと本番レベルのソリューションの違いは何ですか?
この質問は、純粋に学習し、技術的な理解を深めるためのものです。私は完璧な解決策はないことを知っており、この問題は解決策のリストを終わらせる可能性がありますが、すべてのアーキテクトがデモとライブプロジェクトの違いを理解することは非常に重要だと思います。 過去に.Netで多くのデモソリューションを作成しました。私は現在、アーキテクトに割り当てられ、プロダクションレベルのWebソリューションを実装しているため、非常に高いレベルで、デモをプロダクションレベルのソリューションに変換するために何が必要かを尋ねたかったのです。私の理解から、これには(クライアントの要件を機能的に実装する以外に)必要があります: すべてのメソッドのユニットテスト 〜100%のコードカバレッジを確実に実現 すべての例外と可能なポイントカットのロギング-AOPで可能 インターフェース設計パターンの使用、依存関係の注入、おそらくspring.netなどのフレームワークの使用 インストルメンテーションのためのパフォーマンスカウンターとプロファイラーの使用 適切なセキュリティの適用-つまり、Windows認証(クライアントが必要とするものである場合)。 すべてのメソッドのトランザクション管理 ソリューションの新規展開前のWebアプリケーションファイルのバックアップ ほかに何か? 私の質問は、機能/ドキュメントではなく、技術面に関連しています。それ以外の場合は、別の方法に進むためです:-) ありがとうございました。

2
既存のコードを壊すことなく、PHPネームスペースをライブラリに部分的に追加するにはどうすればよいですか?
私の会社では、PHP 5.3が名前空間を追加するずっと前から、モジュラーPHPフレームワークを何年にもわたって作成してきました。最近、ライブラリの新しいコードで名前空間の使用を開始することを決定し、最終的に古いコードの名前空間を作成する予定です。ただし、v5.3より前のコードベースに名前空間を追加するのが良い考えではないかどうかを判断するために考えているいくつかの問題があります。 クラスに名前空間を\付けるだけでなく、グローバル名前空間をインポート(使用)して、すべてのグローバルクラスにプレフィックスが必要ないようにすることはできますか? ライブラリ内の既存のクラスに名前空間を付ける場合、フレームワークのアップグレードと同時にすべての既存のプロジェクトが壊れないようにするにはどうすればよいですか?たとえば、できるクラスの名前は、ライブラリーの変化ThemeEngineする\module\theme\ThemeEngineが、既存のウェブサイトを呼び出すThemeEngineことなく、任意のコード変更?もしそうなら、そのコードはどのように見えるでしょうか?
10 php  namespace 

5
多国籍企業をある開発プラットフォームから別の開発プラットフォームにどのように移行できますか?
私は、国際的な大企業のIT部門で働いています。私たちは、ビジネス向けのさまざまなイントラネットアプリケーション(苦情、リベート、サービスデスクなど)を開発しています。今度は、PHPプラットフォームから.NETへの移行を決定しました(MS CRM Dynamics、Exchange、MS Officeとの統合が多くの理由の1つです)。現在のPHPプラットフォームでビジネスが使用しているアプリケーションは約20あるため、それらすべてを新しいプラットフォームに移行するための最良の方法を考え出す必要があります。コードを変換する方法などは詳しく説明しません。移行する間は、これらのアプリケーションをすべて改善したいと考えています。 そこで、これらのアプリを移動する2つの主な方法を考え出しました。 1つのプラットフォームのみをサポートします。それはどういう意味ですか?ホームページを作成し、文字通りすべてのアプリを.NETに移行します(その間、アプリを改善することはありません)。新しいイントラネットの実行後、移行したアプリケーションの再構築と改善を開始します。これにより、PHPプラットフォームをサポートする必要がある一方で、.NETでイントラネットを開発する手間が省けます。 しばらくの間、両方のプラットフォームをサポートしてください。それは、ホームページと1つまたは2つの新しいアプリケーション(PHPプラットフォームには存在しない)だけを構築することを意味します。これらをユーザーが利用できるようにするが、PHPプラットフォームを離陸しない(メニューとリンクを組み込んで、ユーザーがPHPページ上のアプリと新しいアプリの間を簡単に移動できるようにする)。次に、PHPアプリケーションを改善しながら書き直します。 どちらがより良いかはわかりませんが、一方で(オプション1)ユーザーが2つの異なるプラットフォームを同時に使用することを強制しないことで、ユーザーにとってすべてがより簡単になる可能性があります。新しいプラットフォームを使用することによる改善は見られませんが、見栄えの良いすべてのものは別として、新しいプラットフォーム上のアプリケーションの機能はしばらくの間同じです。また、本質的にすべてのアプリを2回記述するので、自分自身(IT dep)の作業を追加すると思います。 一方、オプション2では、2つのプラットフォームの見た目が異なるため、ユーザーのエクスペリエンスは低下しますが、新しいアプリケーションの移行に伴い、新しいプラットフォームのメリットを実感できます。 あなたはそのようなことに遭遇したことがありますか?何を選びますか?それとも、私が提示したものとは異なる、より良い方法があるのでしょうか?私はあなたがどう思うか、そしてあなたはそれにどのように取り組みますか知りたいのですが。
10 migration 

2
Javaクラスバージョン固有の命名規則
2つのソフトウェア(機械シミュレーション、非cs)の間にアダプターを作成する必要があります。という名前のクラスがあるとしThatThingます。さまざまなベンダー固有の実装を処理する必要があります。これらのバージョンには意味のある名前がありません(日食ヘリオ、インディゴなどとは異なります)。 1.バージョン番号を表すクラスに名前を付けるにはどうすればよいですか? 私のようなクラスを見つけThatThing_3_6_Impl、ThatThing_3_7_Implかなりぎこちないです。
10 java  naming 

2
BツリーとRツリーの比較-リンクされた一連のリンクされたリストだけではありませんか?
私はBツリーにかなり精通しており、主にデータベースに電気、エアコン、ハードドライブスペースを十分に供給し続ける必要があります。二重(doubl [ie、ey]?)リンクリストに関連付けます。 今日、昼食時の開発者の1人がRツリーについて言及しました。 ウィキペディアに飛び乗って読み始めました。それは背の高いBの木のようなひどい音に聞こえました。残念ながら、数学の背景が深いと、同僚の何が話しているのか理解するのが難しくなります。 誰かがBツリーとRツリーのいくつかの違いを明確にしてくれるといいのですが。私はおそらくとにかくみんなに尋ねることになるでしょうが、彼らが私の質問に答えるという保証はありません。おそらく彼らは神についてとりとめないようになるでしょう何を知っています。。。

9
アプリケーションの重要性に基づいてプログラマーに報酬を与える[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 一般的なアプリケーションに取り組んだ人よりも、戦略的で重要なアプリケーションに取り組んだプログラマに、より重要性や報酬を与えることは経営陣にとって正しいことですか? 両方とも同じ努力をしたかもしれません。
10 management 

6
顧客の世界が変わりました-これをどのように処理しますか?
少し前、私たちは、SQL Serverをバックエンドとして使用して、顧客の古いメインフレームシステムを新しいイントラネットASP.NETソリューションで置き換えるプロジェクトを任されました。これの一部は、ビジネスのリエンジニアリングでもありました。基本的に、システムを変更するとき、ビジネスをよりよく行うにはどうすればよいかを考えていました。 したがって、最初のタスクは、論理データモデルと物理データモデルを組み合わせて実行することでした。顧客はこれらの議論に参加しており、完全にサインオフしていました。次のフェーズは、各モジュールの設計と構築を実際に行うことでした。さて、長い話を簡単に言うと、プログラミングは完了しており、システムの並列テストに取り掛かっています。これまでのほとんどのモジュールで問題はありません。 私たちには1つのシステムがあります。ビジネスユーザーにアプリケーションとレポートのみを表示する場合は、すべて問題ありません。新しい統合ワークフローと連携し、以前の手動プロセスを自動化し、仕様どおりに機能します。移行されたレガシーデータについては、並行テストでいくつかの問題が明らかになりました。レガシーシステムのビルダーは、新しいスキーマとビジネスプロセスを理解するのに非常に苦労しています。したがって、レガシーデータを取得して新しいスキーマに入れる方法を理解するのに非常に苦労しています。このため、彼らはビジネスユーザーと利害関係者の会議を呼び出し、新しいシステムは古いシステムが提供したデータを提供しない(実際にはそうである場合)-これは新しいシステムの見た目を悪くします。 これは控えめに言ってもイライラします。新しいシステムはうまく機能し、必要なすべての機能を提供します。ITスタッフが新しいテーブルに古いデータを入力できない場合は、ビジネスユーザーは新しい機能に満足しています。 これを処理する方法についての提案を求めています。いくつかの政治的動きのために、新しい「アーキテクト」はシステムがどのように機能するかを理解しておらず、ITスタッフが要求している変更の影響を十分に理解できません。ITスタッフはシステムにいくつかの根本的な変更を望んでいます。これは本質的に不要であり、実際には悪い設計ですが、彼らは顧客です。 何かご意見は?

3
MVVMまたはMVC?WPFとASP.NETに同じクラスのセットを使用したい
私はデザインパターンの初心者です。新しい話題のMVVMを聞いているとき、MVCの学習を始めました。 古い在庫を再設計して、クライアント用に開発したアプリケーションに請求書を発行することで、これら両方の洞察を学びたいと思います。WindowsベースのWPFアプリケーションとWebベースのバージョンの両方を書きたいのですが。できれば同じクラスのセットを使用したいと思いますが、そうでない場合は、少なくとも少しの変更を加えてください。 私はいくつかの記事を読みましたが、そこで議論されている.NET 3.5&4のアーキテクチャと高レベルの概念に従っていません。実際のプロジェクトで本当に必要なものだけを設計することで、段階的に移行したいと考えています。 MVVMへの簡単な段階的な参照はありますか?MVVMはMVCのスーパーセットですか、サブセットですか?最新のパターンと、アプリケーションのWindowsバージョンとWebバージョンのどちらを選択する必要がありますか? ビューに接続する必要がほとんどない特定のクラスがあります。その場合、MVVMの方法で同じクラスを設計することは、追加の労力であることがわかります。
10 mvc  wpf  asp.net-mvc-3  mvvm 

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