ソフトウェア工学

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

7
モジュール/プラグインをサポートしながら、MVCフレームワークをどのように整理しますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 MVCフレームワークに関しては、主に2つのコードベース構造があります。問題は、両者に組織的なバグがあるように見えることです。 標準MVC /controller /model /view 問題:関連するコンポーネント(フォーラム、ブログ、ユーザーなど)の分離がない モジュラーMVC /blog /controller /model /view /user /controller /model /view /forum /controller /model /view モジュールベースのシステムを選択すると、問題が残ります。 長い名前(Forum_Model_Forum = forum / model / forum.php)(Zendのように) ファイルシステムis_file()は、フォーラムモデルを持つフォルダーを見つけるために使用しますか?(小花のように) 異なるモジュールを分離しようとしたときにうまく機能する他のMVC構造はありますか?私が見逃しているこれらの構造の利点はありますか?

6
ソフトウェアをより速く実行するために、誰もがアイデアを試すことができる期間を促進しますか?
場合によっては、方法論的で徹底的な検索からソフトウェアパフォーマンスのトリックが見つかります。時々、クレイジーなアイデアを試すには発散的な思考と勇気が必要です。時には、アイデアは単なる始まりに過ぎず、多くの努力を払う必要があります。 私たちが取り組んでいるソフトウェアのパフォーマンスを向上させるために、誰もがさまざまなアイデアを試すことができる期間を育成する方法は?チームの全員が少なくとも数か月間ソフトウェアを使用した経験があり、非常に優れています。 発散的思考がソフトウェアのパフォーマンスを改善する方法を見つけるのに役立つことに同意しますか?どうして?何故なの? 最適化のアイデアをすばやく試すことができるテクニックは何ですか?トライアウトから良い結果を得るには、速いコーディング速度が必要ですか? 最後に、緩む可能性を生じさせずに良好な結果を保証するために、どれだけの「時間」を割り当てる必要がありますか? 「より高速な方法」が存在することを証明するには、実験が必要ですか?(2011-06-07を追加) 関連: チームのレベルを巧妙に改善するための戦略は何ですか? コードハッキングが悪化するのはいつですか? (賞金目的のみ -2011/06/07チームサイズは2〜4人の開発者で、専用のQAはありません。すべてのコード、ユニットテスト、パフォーマンステストは開発者が行います。プロジェクトの性質により、プロファイラの結果は単一のボトルネックが明らかにならない場合でも、比例した実行時間。)

8
「あなたはそれを必要としない」と「今は絶対にない」が一緒にプレイするにはどうすればいいですか?
デザインの乾燥を進めているとき、「今は絶対にない」ということをよく受け入れます。通常、私は、他の知識のシステムのコンテキストで、ある知識についての1つの信頼できる場所の理解を深める必要があると感じています。したがって、私はシステムを「今」設計する傾向があります。 反対に、このプラクティスにより、私はそれを必要としない合理的なチャンスにもかかわらず、かなり前もって構築することになります。 これら2つのパターンはどのように正方形になりますか それらがうまく動作することを保証するためにどのようなプラクティスを使用しますか? 混乱を招くことなくそれらをどのように教えますか?

2
JavaおよびJVMライセンス
Javaライセンスにより、他社は独自のバージョンのJava言語を作成したり、正確に実装したりできますか JVMについての同じ質問。 SunはMicrosoftがJava実装の.NETバージョンとGoogle AndroidのJavaを変更したとして訴えていると聞いたが、全体の概念を全体として把握することはできない。
17 java  licensing  jvm 

4
NP完全問題またはNPの現実の問題
NP完全問題またはNPハード問題(ヒューリスティック、または最適以下のソリューションの追跡など)を仕事で定期的に解決する実際の例はありますか?スケジューリング、プランニング、VLSI設計などで発生することは知っていますが、今日これを定期的に行うプログラマーやエンジニアを雇用している主要産業のアイデアを得ようとしています。専門知識やライブラリ、たとえば組み合わせ最適化を開発する場合、プログラミングジョブの一部としてそれをどこで使用できますか? 個人アカウントはありますか?

1
ユーザーパスワードの保存方法に関する公式の標準はありますか?
私は最近、数年前からアカウントを持っていた政府のサービスを使用しました。サービスのパスワードを思い出せなかったので、「パスワードを忘れた」リンクを使用し、この政府のWebサイトが私のメールアドレスにプレーンテキストでパスワードを送信したことに驚いた。 私はユーザーパスワードの処理方法を個人的に認識しており、フィードバックフォーム(これは政府のWebサイトです。ほとんどの人は、すべてに同じパスワードまたは少数のパスワードを使用します(私は知っています)。彼らは単に、「省はパスワード情報を保護するために必要な措置を講じており、適切な暗号化を行ってパスワード情報を保存している」と安心させました。 「私にパスワードをメールで送ることができれば、明らかに必要な措置を講じていません」と言いたいのですが、失礼になろうとはしていません。とにかく私が何を意味するかを知っている誰かに連絡してください。 だから、「(公式のセキュリティ標準)に従って必要な措置が講じられていない」と述べたいと思います。OWASPをすばやく検索しましたが、プレーンテキストストレージに関する記事しか見つかりませんでした。 取得可能なパスワード情報の保存を禁止する(おそらくそう思うと思われる)ユーザーのパスワード処理に関するセキュリティ標準はありますか?さらに良いことには、銀行や政府のWebサービスなどの機密情報を扱うWebサイトが従わなければならない標準がありますか? おそらく何も変わらないことは知っていますが、IMOを一撃する価値はあります。

6
どうすれば本当の専門家になれますか?[閉まっている]
ここで何が尋ねられているかを伝えるのは難しいです。この質問は曖昧、曖昧、不完全、過度に広範、または修辞的であり、現在の形式では合理的に答えることができません。この質問を明確にして、再開できるようにするには、ヘルプセンターに アクセスしてください。 8年前に閉鎖されました。 フリーランサーである私は、贅沢な企業研修や専門職の輪はありません。私はここ数年プログラミングをしており、専門的なプロジェクトを開発してきましたが、時には助けのない場所にいることに気づきます。StackOverflowやその他の関連サイトでさえ助けにはなりません。 たとえば、Crystal Reportsを取り上げます。私は自分のプロジェクトで過去数年間それを使用しています。私はそれをすべて自分で学びましたが、それでも多くの問題に苦労しています。レポートのパフォーマンスを向上させることはできず、高速に設計することもできず、Crystal Reportの電力の30%しか使用できません。 私はニューヨークやサンフランシスコのようなフリーランサーを見つけることができない都市に住んでいて、彼らを学習のために雇います。オンラインで利用できる少数の専門家が私の予算内にありません。 C#や他の技術でも同じ問題に直面しています。StackOverflowでは、専門家の関与を維持することはできません。2つまたは3つのコメントの後、彼はあなたの質問の焦点を失い、そこにある新しい質問にジャンプします。 速く学ぶために他の人が書いたコードを調べることを私に勧めた人はほとんどいませんでした。しかし、再び、私の質問に答える方法。書き留められない側面がいくつかあります。個人的な支援が必要です。 米国のフリーランサーは、他の国に比べて選択肢と柔軟性が優れていると思います。

5
プロジェクトの開発を開始する前に何を計画しますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 クライアントからプロジェクトの仕様を受け取ったとします。そして今、プロジェクトの開発を開始します。通常、最初のモジュール(通常はユーザー登録)から始めて、あるモジュールから次のモジュールに進みます。モジュールの動作を開始する直前に頭の中で計画するだけですが、その前に計画はありません。 ただし、仕様を検討し、コーディングする前にシステムがどのように機能するか、たとえば主要なコンポーネントは何か、それらはどのように相互作用するかなどを計画しておいた方が良いと思います。私が何を計画すべきか正確にはわからない。 私が何を求めているのかをよりよく理解するには、どのようにすればよいですか- a)プロジェクトをコンポーネントに分割し、 b)相互作用を計画します。たとえば、クラス図を作成したり、単体テストを作成したりする必要がありますか? 何か案は?

4
クラシックASPからASP.netまたはASP.net MVC
古典的なASPで開発されたWebアプリケーションがあり、5年間で100ページの巨大なデータベースと毎日少なくとも10ページ以上を通過する10000人以上のアクティブユーザーを含む現在の形式に進化しました。 ここで、最新バージョンの.netにアップグレードしたいと考えました。最初はアプリ全体を書き直すことを考えていましたが、シナリオを分析した後、多くの専門家によって提案されていない実行可能なオプションではないことがわかりました。他の方法でそれを行う方法についてはまだ決定していませんが、顔の書き換えを達成する方法についていくつかの考えを持っています。 オプション1: このアプリケーションのメインモジュールを識別し、データベース(既存)、ビジネスロジック、ビューなどの異なるレイヤーにアプリケーションを分離することで、それらを1つずつ書き換えることを考えました。これにより、新しく開発されたモジュールが既存のシステムに追加され、特定のモジュールの古いページが新しいページに置き換えられます。同時に、古いシステムと一緒に新しいレイヤーをテストし、自信が持てたらリリースします。また、ビジネスロジック用のAPIのような構造を開発することも考えました。これは、外部アプリケーションとしてビューによってアクセスされます。 オプション2: 現時点では、単純なモジュールを作成し、IFrameを介して従来のASPページで使用していますが、従来のASPとIFrameの新しいページとの間でデータを送信するのは非常に面倒でした。 これは、ユーザーベースに影響を与えずにアプリケーション全体を書き換える方法を計画している段階です。 そのようなシナリオでアプローチすべきかどうかについて、他のプログラマーの意見、意見、提案を取得したいですか?誰かがこの種のシナリオに直面した場合、あなたの意見も共有してください。 また、ASP.net MVCの使用がこれに役立つことを知りたいですか? 更新:あなたの意見を述べるための両方の答えをありがとう。アプリケーションを従来のaspからasp.netまたはasp.net mvcに移行する際に、上記で指定した両方のオプションでより多くの入力を取得したいです。asp.netまたはasp.net mvcを選択するという点ではなく、移行の部分についての意見、ポイント、および考えをすべて理解できれば、私にとって大きな助けになります。

11
この状況に対する唯一の合理的な対応をやめることですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 興味深い記事、ITをやめる10の理由を読みました。 このテキストの一部を引用します。 「義務と技術のこの誤解は一つのことをします。それはあなたの仕事を不可能にします。権力があなたのためにあなたの部門をマイクロ管理し始めるとき、一つ一つの悪い要素は悪化します。経営者はあなたの仕事を知りませんが、彼らはあなたの仕事を知らないことを知りません。それはすべて、ストレスの悪質なメビウスの帯です。」 これはまさに私のプロジェクトで現在起こっていることです。クライアント、つまり支払いをするクライアントは、すべてになりたいと思っています。彼は、プロジェクトであらゆる可能な役割を果たすことを望んでいます。彼は、プログラミングについて単一のことを知らない場合でも、詳細な技術的説明を求めています。そして、何かがうまくいかないとき、彼はそれを他の誰かのせいにします。 誰か同様の経験がありますか?これらの状況に対処する方法に関するアドバイスはありますか?

3
jenkinsプラグインの作成:ドキュメントはどこにありますか?
私の現在のプロジェクトでは、Jenkinsを使用してビルドを監視しています。今、彼らは私にJenkinsプラグインを書いていくつかの監視パラメータを追加してほしいと思っています。 ステータスモニタプラグインがどのように機能するかを見てきましたが、いくつかのことがわかりません。プラグインを作成するためのドキュメントを探しましたが、それは非常に不足しているようです。(このサイトでは、基本プロジェクトの生成方法についてのみ言及しており、それほど有益ではないチュートリアルを参照しています) 私がやろうとしているのは、各ビルドにいくつかのオプションを追加し、リンクを追加し、監視ページを追加することです。メインページへの追加は明らかにアクションを追加することで行われますが、私はまだ残りを理解しようとしています。そして、それがどのように結びついているのか。 誰かがポインタを持っていますか、まともなドキュメントを見つけることができる場所がありますか?

13
バージョン管理と継続的インテグレーションを使用しない深刻な企業はありますか?どうして?
私の同僚は、継続的な統合を備えたビルドサーバーとバージョン管理ソフトウェアの両方を使用していたため、ソフトウェア部門は非常に高度であるという印象を受けていました。これは私の観点とは一致しませんでした。深刻なソフトウェアを製造していて、どちらも持っていなかった会社を知っているからです。しかし、私の経験はほんの一握りの会社に限られています。 ソフトウェア業界に属し、これらのツールを使用しない実在の会社(プログラマー3人以上)を知っていますか?そのような会社が存在する場合、そうしない理由はありますか?

8
Einstellung効果との戦い[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 Einstellung効果がより良い「があっても、特定の方法で、与えられた問題を解決するために、人の素因『を指し、』問題を解決するのか、より適切な方法は。」 十分な経験を持つプログラマーとして、過去の経験から「試行錯誤した」パスから常に問題解決にアプローチするこの傾向にどのように対処できますか? 非常に具体的な例を2つ挙げると、Javascriptフレームワーク(jQueryなど)とより優れたWebアプリケーションフレームワーク(ASP.NET MVCなど)が広く使用される以前から、長い間Webアプリケーションを構築してきました。問題のあるドメインやビジネスルールからの時間の問題や緊急の問題に直面しているクライアントの仕事がある場合、解決策を達成するために知っていることだけを使用する傾向があります。これには次のような非常にいものが含まれます document.getElementById または、ASP.NET MVCアプローチで物事を再構築する方法を考えるのではなく、テンプレートバインドコントロール(DataList / Repeater)でASP.NETを使用します。 私が過去に使用したテクニックの1つは、これらの新しいテクノロジーを探索するためだけに存在する個人プロジェクトを作成することですが、これを維持するのは困難です。他にどのようなアプローチが推奨されますか?
17 learning 

9
JavaはC#に追いつきますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 今日、私はどの言語C#またはJavaを勉強する方が良いかを尋ねる質問を投稿しました。素晴らしい答えがいくつかありました。登場したことの1つは、おそらくJavaが新しい機能を備えたC#の背後にあるということです。私はいくつかのWebリンクを見て、ほとんどがC#に何があり、javaに何がなかったかを指摘しました。 皆さんへの私の質問は、Javaが再びC#に追いつくことでしょうか?そして、あなたが5年後にどこに立つかを推測することになった場合。おそらく今欠けているものがすべてあるでしょうか?Java 7はどうですか?
17 java  c# 

6
フリーランス開発の推奨支払いスケジュール
私は長年フリーランスの開発者であり、開発者のWebサイトの1つを通してクライアントを引き付けるように設計されたシステムをセットアップしています。 成功した場合、これらは私が知らないクライアントになり、いくつかの仕事は非常に小さいかもしれません。私が大規模なプロジェクトで知っているクライアントと仕事をするとき、私は支払いを受ける前に仕事をすることに慣れています。しかし、ここでは、それは危険なようです。 小規模プロジェクトに必要な支払いスケジュールに関する提案を探しています。潜在的なクライアントは全額を前払いするつもりはないので、おそらく何らかの解決策になるでしょう。

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