ソフトウェア工学

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

2
ビルドの自動化:Qt以外のプロジェクトでQMakeを使用するのは通常ですか?
したがって、私はC ++ライブラリを作成する予定であり、それをクロスプラットフォームにしたいと考えています。このライブラリはUIを処理せず、依存関係をできるだけ少なくしたいので、Qtを使用しません(実際には、Qtは私が望むものを達成するのに本当に役立ちません。使用する予定のすべてはSTLとBoostです)。クロスプラットフォームプロジェクトを構築することになると、QMakeは非常に使いやすく、経験もあるのでとても気に入っています。CMakeについても良いことを聞きましたが、QMakeほど簡単に使用できるとは思えません。 とにかく、これが私の質問です:私が知っているビルド自動化ツール、またはQMakeがQt以外のプロジェクトのコンテキスト外にあるものを使用すべきですか?これをCMakeを学ぶ機会としてとらえるべきですか?または、これら2つに代わるより良い代替手段はありますか?
9 c++  cmake 

3
MVCモデルをDBから疎結合にしますか?
私はコードをテスト可能な状態に保ち、現在のMVCフレームワークの依存性注入戦略を採用することを決定しました。 しかし、デザインパターンのマスターとはほど遠いので、モデルをデータベースコネクタクラスから可能な限り疎結合に保つための適切な方法を理解するのに苦労しています。 これはどのように行うことができますか? この質問では物理的なコードを提供していなかったので、上記の問題を理解する方向に私を導くことができるいくつかのロジック/コードの例または情報に本当に感謝します。

4
失敗したソフトウェア開発のアイデアやテクニックの良い例は何ですか?
具体的には、大衆のアイデアが間違っている場所の例は何ですか。なぜ人々はなぜそもそもアイデアにとらわれたのですか?そして、なぜアイデアは却下されたのですか?あるいは、アイデアはまだ健在で、もしそうならなぜですか? たとえば、CORBA(および他の同様のテクノロジ)を、ソフトウェアのコンポーネント間の通信の問題を解決しようとしたものと説明する場合があります。多くの人が、さまざまなコンポーネント間の契約を定義する必要があると感じました。最終的に、HTTP + JSONは大衆の問題を解決し、ThriftやProto-bufなどのさまざまなRPCメカニズムがポップアップしました。

4
RailsがRubyで書かれたのはなぜですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 PHPとRubyは知っています。 Symfonyと呼ばれるPHPレールのクローン(選択不可ではありません)を使用すると(これは明らかに最良のPHPフレームワークです)、これはRailsのクローンであることがわかります。Symfonyは馬鹿げていると思います(SensioLabsは賢いビジネスです)。なぜならRailsはすでに存在しているからです。 オープンソースプロジェクトがお金を稼いでいることは別として、Railsがすでに存在するにもかかわらず、なぜPHPでRailsのクローンを作成するのか理解できません。Railsを使用しないのはなぜですか?確かに、DHHは何らかの理由でRubyを使用してRailsをコーディングしました。 Symfonyを使用していて、何かが適切に感じられないことに気づきましたが、それが何かはわかりません。私はがらくたのSitepoint電子ブックでRailsを学んで、それを忘れてしまったので、今はPragProg電子ブックで学んでいて、その電子ブックが大好きです。Railsは完全にはわかりませんが、その仕組みは理解しています(Symfonyのおかげです)。電子書籍全体を読み終えて、2つのRailsアプリを作成できるようにしたいと思っています。RailsはSitepoint電子ブックを使用してSymfonyよりも楽しく、覚えきれなかったことを覚えています。これは、Rubyのきれいな構文とは何の関係もありませんでした。 RailsがRubyでコーディングされているのはなぜですか? PHP Railsクローンの何が正しくないと思いますか? Railsが行っていること、Railsクローンが行っていないことは何ですか?

3
関数型言語でのゲッターとセッター
関数型プログラミングの原則の1つは、純粋関数の使用です。ピュア関数は、副作用がなく、参照的に透過的な関数です。 ゲッターは参照透過的ではありません-ゲッターへの呼び出しの間にセッターが呼び出されると、ゲッターの戻り値はパラメーターがない(通常はパラメーターがない)場合でも変化します。 セッターは副作用を生み出します-セッターを呼び出すと、通常、戻り値ではない値が操作されます(実際、伝統的にセッターは何も返しません)。 Scalaでは、2つのパラダイム(関数型とオブジェクト指向)を組み合わせてJavaのような言語で行うようにゲッター/セッターを使用しているという事実を受け入れてくれることを知っています。 Haskellのような言語(私は流暢ではありませんが、「純粋な」関数型言語に当てはまると言われています)では、ゲッターが参照透過でセッターであるようにオブジェクトのプロパティをモデル化する方法に興味があります副作用はありませんか? 解決策は、セッターが呼び出されたオブジェクトのコピーをセッターの戻り値として返すことであり、このコピーにはプロパティ値の変更が含まれていますか?

3
「レスポンシブ」なWebデザインを検討すべきではないのはなぜですか?
これはプログラミングの問題というよりはグラフィックデザインの問題のように思えるかもしれませんが、実際のグラフィックデザインよりもはるかに技術的/プログラミング上のメリットがあると思います。 「レスポンシブ」ウェブデザインのコンセプトは、CSS3のメディアクエリを使用して表示デバイスのサイズを検出し、それに応じてCSSルールを調整することを中心に展開されます。これは、多くの展開ケース(特にモバイル)の空白を埋めます。 私はメディアクエリの使用がゆっくり浮上していると思います(多くの人はそれについて本当に知らないことがわかりました)が、採用が遅い理由があるのか​​どうか疑問に思っています。Webアプリケーションには非現実的ですか?基本的な落とし穴になるかもしれない、私が見逃しているものはありますか?

7
ポリゴンの代わりに何兆もの「原子」をレンダリングしますか?
パブリッシャーが「3Dの発明後の次の主要なステップ」と呼ぶものについてのビデオを見たところです。その中で話をしている人によると、彼らはポリゴンの代わりに雲にグループ化された膨大な量の原子を使用して、無制限の詳細レベルに到達します。 彼らはビデオをレンダリング技術の知識がない人にも理解できるようにするために最善を尽くし、そのため、または他の目的のために、エンジンの動作の詳細をすべて省略しました。 彼らのビデオの細部のレベルは私にはかなり印象的に見えます。 現在のハードウェアでポリゴンの代わりにカスタムアトムを使用してシーンをレンダリングするにはどうすればよいですか?(速度、メモリに関して) これが本当なら、なぜ今まで誰もそれについて考えさえしなかったのですか? 私はOpenGL開発者として、これに本当に困惑しており、専門家の意見を聞きたいと思っています。したがって、私もこれが安い広告のように見えたくないので、コメントセクションに、要求された場合にのみビデオへのリンクを含めます。
9 graphics  3d  atom 

3
Windows / Visual Studioの代わりにLinux / Monoを問題なく使用できますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 .Net(C#/ ASP.NET)とVisual Studioで6年以上の経験があります。しかし最近、私はLinux / Monoに切り替えたくなります。それはいくつかの質問を思い付きます: Monoで古いVisual Studioプロジェクトとソースコードを正しく実行できますか? クライアントは、IIS for ASP.NETおよびMS Windows for WinformおよびConsoleプロジェクトを使用しています。私の移行はそれらに影響しますか?つまり、私のMonoプロジェクトはWindows / IISで変更や問題なしに実行できますか? Monoは、Mono、Novell、Xamarin、Attachmeの最近の変更を考慮して信頼できますか? お気に入りのオープンソースをそのまま使用しても、NHibernate、Castle、Cuyahoga、log4net、Microsoft Enterprise Library、DNNなどのオープンソースプロジェクトを使用できませんか? Mono ASP.NET WebプロジェクトをApacheで問題なくホストできますか? ASP.NET WebフォームとMonoのMVCで自分のスキルを正確に使用できますか?

3
DB変更管理の処理にはどのような方法がありますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 私は最近、サブバージョンを使用して、私のWeb開発でバージョン管理の作業を始めました。これは、開発したファイルの管理には最適ですが、データベースに加える必要がある変更には何もしません。私の知る限り、私が取り組んでいるサーバーにはDB管理システムがなく、おそらく何もインストールすることができません。この種の環境でDBを管理するには、どのようなオプションがありますか?

4
整数はデータ型として使いすぎていませんか?
ほとんどのアプリケーション開発者は、本当に符号なし整数を使用するつもりで符号付き整数を使用していますか?私はいつもそれをしているので、同僚もそうします。他の多くの広範なコードベース(Delphi VCL以外)は見たことがなく、インターネット上の例では通常整数を使用しています。一方、VCL開発者は独自のデータ型を使用します(これは、変数を宣言するための最も非遅延的な方法です)。 このようなコードは少し恐ろしいようです TStuffRec = record recordID : Integer; thingID : Integer; otherThingID : Integer; end; それが次のように書けるとき TStuffRec = record recordID : Cardinal; thingID : Cardinal; otherThingID : Cardinal; end; 機能的には、これらのレコードはほぼ同じように機能します(64ビットDelphiでも同じように機能し続けることを期待しています)。ただし、非常に大きな数では変換の問題が発生します。 ただし、unsigned intを使用することにも欠点があります。主に2つを混合することがいかにうるさいかから生じます。 本当の質問は、これは実際にベストプラクティスについて考えられたり、ベストプラクティスに含まれたりすることですか?通常は開発者次第ですか?

7
スクラムでは、スプリント終了時に競合/ワークロードを処理する方法
私のチームは数日前にスクラムを使い始めました。私たちのプロジェクトには、物理​​デバイス(ロボットやセンサーなど)とのインターフェイスとなるソフトウェアの構築が含まれており、通常の製品バックログは、通常、システム全体に制御デバイスを追加することを表しています。 ここでは、例に近いタスクを分割します。各デバイス統合機能は、コード、テスト、統合テスト、ピアレビューなどに分割されます。明らかに、各製品バックログアイテムに固有のシーケンスがあります。通常、スプリントは2週間続き、チームには4〜6人のメンバーがいます。 スプリントの最後に2つの問題が発生します。 1つは、スプリントの終了時に全員を忙しくしておくことです。 2番目の(関連する)1つはシステムの競合です。私たちはスプリントの最後の数日間でほとんど統合することになります。統合システムは1つしかありません。そのため、システムにアクセスできないため、多くの場合、作業の継続が妨げられます。これはスプリントの終わりなので、スプリントバックログで行う必要のある作業は多くありません。これらの人々は何に取り組むべきですか?現在のアイテムが完了していないため、商品のバックログの一番上からアイテムを受け取ることは、商品の所有者から十分に受け取られていません。取り組む技術的負債は、プロジェクト全体を支援しますが、スプリントを完了助けにはなりません。 これらの問題を回避するためにスプリントを構成するためのベストプラクティスはありますか?製品所有者と交渉するためのヒント?
9 agile  scrum 

4
.Net(C#)でのWebスクレイピングのパターンと実践[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 外部のWebサイト/アプリケーションを自動化するためのアプリケーションを作成します。場合によっては、ユーザーと同じようにサイトをナビゲートする必要があります(たどる必要があるリンクは予測できず、応答から解析する必要があります) 私はすでにHtml Agility Packを使用しており、それが必要な場合はTidyを認識しています。 他に知っておくべき技術はありますか? 外部Webアプリが変更された場合にすばやく調整できる推奨パターンはありますか?応答の検証を、必要に応じて簡単に分離/プラグインできる、ある種の戦略または同様のパターンとしてカプセル化することを想定していますが、具体的な提案があればすばらしいでしょう。
9 c#  .net  html  web-scraping 

4
カスタムショッピングカートを開発する価値はありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私たちの職場には、cakephpモジュールのハンサムなライブラリーがあり、ショッピングカートがプロセスを遅くするまで、カスタムWebサイトを適切なペースで開発しています。さまざまなプロジェクトでさまざまな(Magento、Opencart、Zencart)ショッピングカートを使用しました。これらのショッピングカートをコアのCakePHPアプリケーションとマージする必要があります。通常、非常にカスタムの要件により、ショッピングカートはアップグレードできなくなり、多くの時間がかかります。 独自のショッピングカート(現時点では非常に基本的なものであり、先に進むにつれて拡張する)をゼロから作成して、カスタム要件に簡単に適合できるようにすることを考えています。やる価値はありますか? 更新8月11日 独自のショッピングカートを開発し続けました。これが皆さんと共有したい私の経験です。 利点 新しいカートは、変更や拡張が簡単です。 あいまいな要件やカスタム要件がある場合に時間を節約し、既存のコードライブラリからモジュールを直接インポートできます。 カートとカスタムWebサイトにデュアルテンプレートを実装する必要はありません。 ショッピングカートとカスタムWebサイトの単一の管理パネル。 制限事項 それでも、市場の他のカートと比較して十分に成熟していません。 セキュリティ上の懸念。私たちはたいていCakePHPのセキュリティに依存しています。 機能がない 直面する問題 配送/支払いゲートウェイの開発は本当に大変でした。以下のよう@davidhaskinsが指摘しました 標準のショッピングカートをハッキングしてニーズを満たすために費やす時間を大幅に節約できました。


9
開発費を支払えないお客様との収入分担[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 4年前休業。 私は、iPadアプリケーションのアイデアを持っている潜在的な顧客がいますが、これに十分な資金を見つけることができません。 思いついたアイデアの1つは、無料または少額の手数料で作業を行い、アプリストアから収入の一部を受け取ることです。 現実的なパーセンテージを決定するにはどうすればよいですか? これはアプリストアの価格にどのように影響されますか?また、顧客が突然アプリを無料で提供することに決めたシナリオから自分をどのように保護しますか?

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