ソフトウェア工学

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


9
CLI指向のプログラマーのワークフローはGUI指向のワークフローとどう違うのですか?
GUIアプリでプログラミング作業を減らし、より多くのコマンドラインツールを使用することの利点(特に、より効率的に作業を行うことに関して)について多くのことを聞きました。ただし、コマンドラインツールにさらに依存する場合、ワークフローがどのように異なるかがわからないため、新しいツールセットを学習して変更する時間と労力を個人的に投資するのに十分な見返りがあるかどうかをすぐに評価することはできません私のワークフロー。 たった今: Visual Studio、Eclipseなどを使用してC / C ++ / D / C#/ Java / Pythonなどの言語でいくつかのサイドプロジェクトをコーディングし、ビルド設定をセットアップし、F5キーを押してビルド/実行して実行します。 私は職場でWebプログラムを開発しています。そのためには、Djangoを使用してサーバーのセットアップ、データベースへの接続などを行います。ほとんどすべてがSciTEテキストエディター内で行われます。 通常のプログラムを起動するには、Launchyを使用します...まだ端末はありません。:) ファイルなどをコピーするには、グラフィカルファイルマネージャー(Windowsエクスプローラー、Nautilus)で通常の検索/移動を使用します。 デバッグ:Windows用のVisual Studioまたはデバッグツールを使用します(Windowsを使用している場合)。Linuxでのデバッグはあまりしていませんが、やったことのために、Eclipse(Windows上のJavaでも)を使用しました。 仕事中:ビルドシステムに接続してプロジェクトをセットアップするには、使用するためにEclipseに統合されたツールを使用するだけです。端末などは必要ありません(ただし、本当にしたい) CLIでこれらのことを行うのはどのようなものですか?どの部品がより効率的/効率的になりますか?主にCLIでの作業から最大の利点を得るには、ワークフローのどの側面を変更する必要がありますか?言い換えれば... 魔法のように私をコマンドラインの第一人者に変えたなら、私の新しいコーディングワークフローは、現在のGUI中心の物事のやり方とどう違うのでしょうか?
17 gui  cli 

12
インターンシップで圧倒[閉鎖]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 7年前に閉鎖されました。 私の親友は1ヶ月前にインターンシップを始めたばかりです。問題は彼が落胆していることです。彼は学校で良いA +の生徒であり、彼は何も知らないと感じています。彼が取り組んでいる問題は、彼が快適だと感じる言語に関するものですが、彼にとってはあまりにも異質だと彼は言いました。彼はコードベースをまったく知らないので、本当にがっかりしています。時間をかけるだけで、彼にはたくさんの質問があると期待されていることを彼に伝えようとしています。彼に何を言えばいいですか?
17 internship 

6
TDD:最初の単体テストの前に何が起こりますか?
私はTDDの理論をほとんど理解していますが、どのように始めればよいのかわかりません。個人プロジェクトのユニットテストを書いて実現するために座っています。。。何をテストしているのかわかりません。どのオブジェクト、どの機能など 例えば、私たちの家族が雑用の割り当てを管理するのに役立つアプリを書きたいとしましょう。ここに私の頭の中にいくつかの質問があります:このアイデアから最初のテストに行くにはどうすればいいですか?始める前にどれくらい決める必要がありますか。また、テストの作成を開始した後、どれだけ把握する必要がありますか データをテキストファイルとデータベースのどちらに保存するかなどの決定はいつ行いますか?開始する前にユーザー受け入れテストを行う必要がありますか?UIを設計する必要がありますか?スペックが必要ですか?(これらの例の質問の少なくともいくつかがおそらく「灰色の領域」にあることを理解しています)。 最初の単体テストにたどり着くというタイトルの質問に加えて、サンプルプロジェクトのようなプロジェクトの最初の単体テストがどのように見えるかも例を示してください。
17 design  tdd 

7
内部の代表者、投票、バッジは、優れたプログラミングの実践を促進するでしょうか?
声を出して考えてみてください-私たちのプログラマーは投票/バッジ/担当者が好きなので、このようなスキームを企業のコードレビュープロセスに導入して、より良いコーディングを奨励できます。 何かのようなもの あなた(またはあなたに代わって他の人)は、コードレビューのためにレビュー(スニペット、シングルコミット、または一連)を投稿できます。 他の人はそれについてコメントすることができます(SEの回答に似ています) バッジを与える/提案することができます(一部は良いもの、一部は「Comment Desert」などのように悪いもの) コード自体とコメントとバッジに賛成票または反対票を投じることができます(例:誰かがバッジを提案し、あなたが同意した/同意しなかった場合) このようなスキームの目的は コードレビューの使用を促進するために、ちょっとした楽しみを紹介します 品質の向上(このスキームでは、コードのレビュー対象者とレビュー担当者の両方が学習する可能性が高い) コードレビューが「自我戦争」を引き起こす可能性を減らす 個々のパフォーマンスの測定に役立つメトリックを提供します これは機能しますか?考え?

6
研究論文を執筆するのは学者だけですか?
私は、インドでの研究論文の執筆に関する特定の傾向に気付いています。それらは、学生または学者によって書かれています。 ソフトウェア業界の日雇い(私のような)で働いている人は研究論文を書いていますか? この質問をするのは、論文に価値があれば、GoogleやFacebookのような会社からインタビューの電話を受ける可能性が高いからです。 たとえそれを書くことにしたとしても、どのように/どこでそれを提示しますか?オンラインで送信してレビューを受けることができる場所はありますか?
17 research 

2
Javascript Ternary Operator vs. ||
以前にいくつかのnode.jsコードを見ていたのですが、それを書いた人が次の構文を好んでいるように思えたのです。 var fn = function (param) { var paramWithDefault = null == param ? 'Default Value' : param; } 私がより簡潔であると考えるものについて: var fn = function (param) { var paramWithDefault = param || 'Default Value'; } 2番目の形式が実際に社会的に受け入れられるJavaScriptシンタックスであるかどうか疑問に思っていましたが、この目的のために三項演算子よりも何度もそれを見てきました。 最初の例では、彼は二重の等号(三重の等号ではない)を使用していることに注意してください。ただし、JavaScriptで==がかなり悪い演算子であると多くの場所で読んでいます(JSLintは、IIRCに非常に反対です)。

7
デスクトップアプリにHTML、CSS、JavaScriptが使用されないのはなぜですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 HTML、CSS、およびJavaScriptを使用して、美しく(そして便利な)UIを構築できます(特に、現在はHTML5とCSS3があります)。多くの人がすでにそれらを知っています。それはまだ私の手の届かないところですが、ウェブアプリ全体をデスクトップアプリに持ち込むことはどれほど難しいでしょうか?アプリをホストする前に、ローカルサーバーで既にテストしています。 私の意見では、それはデスクトップアプリにブームを引き起こす素晴らしい、シンプルなアイデアです。さらに、これらのアプリは既にWebアプリと非常に多くのコードを共有しているため、より良い接続性を提供できる可能性があります。 なぜ行われていないのですか?

5
Windows 8は.NETの将来にとって何を意味しますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 Microsoft は、開発者がHTML5とJavaScriptを使用できる新しいプラットフォームを含むWindows 8のデモを披露しました。 この新しいプラットフォームは、Windows 8向けの主な開発方法ですか?MicrosoftはHTML 5スタックを支持して.NETプラットフォームを段階的に廃止していますか?.NET開発者にとってWindows 8は何を意味しますか?

11
大学を出てすぐにソフトウェアプロジェクトマネージャーとして採用されるためのヒントはありますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 私は昨年9月にcompsciでBSを卒業し、それ以来プロジェクトマネージャーとしての仕事を見つけようとして(失敗して)います。 私は学校でソフトウェアエンジニアリング(コーディングだけでなく、すべての背後にある正式なプラクティス)に夢中になりました。そして、私は人生の最後の3〜4年間をプロジェクト管理と経験を積むためにできることすべてを学ぶことに専念しました。在学中にいくつかのプロジェクト(約12人のチーム)を管理し、大学のソフトウェアエンジニアリング研究所で働いていました。私の履歴書もまともです-私は学校に行く前にプログラマーとして働いていました(今は27歳です)。3回夏にGoogle Summer of Codeをしました。また、大学の新聞の写真編集者として2年間働いたことで、一般的な「人事管理」の経験もあります。 就職活動の最初の問題は、十分な面接を受けられないことです。私は通常、自分が話していることを知っている非人事担当者から連絡を受けるため、素晴らしいです。しかし、定期的にインタビューを受けるのに十分な企業はありません。monster.comのようなサイトも試しましたが、必死になって、60以上のアプリケーションをプロジェクト管理職に送りました。3つの自動拒否通知を受け取りましたが、それだけです。少なくともcarriers.stackoverflowは、私が応募する8/10の場所で電話インタビューを受けます。 しかし、主な(そして非常にイライラする)問題は経験の問題です。私はプロジェクトを最初から最後までうまく管理しました(私のソフトウェアエンジニアリングクラスでは、実際の顧客が実際のソフトウェアニーズを持ち込み、彼らのためにそれを構築しました)予算とお金を扱う必要はありませんでした(私は知っています)これが、人事担当者がすぐに私を背ける理由です)。これらの職種のほとんどは5年以上のPM経験が必要であり、12年以上のような不条理な仕事を見てきました。 インタビューも腹立たしい。私を愛してくれる場所がたくさんあり、インタビューの最終ラウンドに参加しました。物事は非常にうまくいったと思って、彼らは私を考慮してくれました。しかし、1週間後にチェックインすると、「私たちはあなたが本当に好きで、あなたの資格は優れていますが、より多くの経験を持つ人を見つけたいと思っています」と教えてくれます。私が理解できる悪いインタビュー-ローカルおよび海外の両方で開発者を管理していたPMポジションのように-私は彼らと3回のインタビューを行い、インタビュープロセス全体でCSブレーンティーザーを求め、クイックソートの作成などに時間を費やしました紙の上または二分探索木を書く。より関連性の高いPMに向けて議論を進めようとしても、 しかし、私が良いインタビューをするとき、彼らは私の「資格は優れている」と言いますが、彼らは「より多くの経験」を望んでいます。他に何ができますか?私は技術的に関与したPMのポジションを目指しています(予算の数値を計算するだけではありません) 。実際、将来のキャリアの目標はPMであると言うのを間違えているため、資格のある開発職を取得することさえできません(通常、「すでにPMとこの位置は本当にそこにあなたを得るために設定されていません。」-私は「いいえ、それは私の仕事です。 私は長い暴言に謝罪しますが、それは私のキャリアの目標であり、夜に目を覚まし続ける情熱の両方であるため、PMとして雇われることに真剣に取り組んでいます。他に私ができることについて何か提案はありますか?現在、ソフトウェアエンジニアリングに関する私の哲学について語るブログを書いています。また、雇用者を設計、コーディング、展示するiOSアプリの仕様を書いていますが、これにはかなりの時間がかかります持っていない。

8
クライアントがバックグラウンドミュージックをサイトに追加することを希望しています。これがひどいアイデアだと彼らに伝えるにはどうすればいいですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 特定のクライアントのWebサイトでかなりオートミールのような経験をしています。彼らが要求した最新の「機能」は、サイトの読み込み時にバックグラウンドミュージックが自動的に再生されることです。これが悪い考えだと彼らにそっと納得させるには、何と言ったらいいですか?

3
モックできない具体的な外部実装に依存するコードのテストをどのように記述しますか?
背景:私が取り組んでいるモジュール用にいくつかを作成することで、同僚に単体テストの概念を導入しようと考えています。要件が最近変更され、さらに抽象化/相互作用が必要になったため、アプリケーションを手動で確認することなく機能することを「証明」する一連のテストを開発するのに適した方法のようです。 ただし、問題は、モジュールがPDFやXSLなどのモックできない外部要因に依存していることです。基本的に、データベースからXMLを読み取り、XSL変換を適用してから、ABCPDFと呼ばれるライブラリを使用してPDFに変換します。このPDFは、静的テンプレートに基づいて別のPDFとマージされます。XMLをテストし、値が正しいことを確認できることはわかっていますが、潜在的なバグや問題の多くは、完成したドキュメントの実際の表示に関連しています。たとえば、テキスト文字列が折り返される時間や、特定のHTMLエリア文書等、との関係にあり、その名前を私は[ない受け入れテスト、他の種類]、およびない忘れテストの第三種...(私はこれらはおそらく統合テストやある実現これらのものをテストすることも可能ですユニットは、 テスト)私の知る限り、PDFを作成してから読み返すか、HTML文字列(つまり、変換されたXML)を作成して手作業で解析し、特定のテーブルセルの存在を確認するまで、他のテーブルセルとの関係。 このような状況では、情報が正しいことを確認するために単体テストに焦点を当て、PDF を作成するか、それらをマージするか、実際の表示の問題を手動でテストする必要がありますか?

3
EU Cookie指令に準拠するにはどうすればよいですか?
2011年5月26日に、新しいEU指令が発効し、ウェブサイトにアクセスするユーザーは、ウェブサイトがそのウェブサイトおよびそのウェブサイトへのアクセスに関する情報を含むCookieを保存することを許可するよう求められます。 この問題にどのように取り組みましたか?ユーザーが初めてサイトにアクセスしたときにオプトインプロンプトを表示する以外に、これを処理する別の方法はありますか?
17 legal  privacy  cookies 

11
擬似コードとアルゴリズムの違いは?
技術的には、これら2つの単語に違いはありますか、それとも同じ意味で使用できますか?どちらも、多かれ少なかれ、問題を解決するために続く論理的な一連の手順を説明しています。じゃない?それで、なぜ同じことを話すのであれば、なぜそのような単語を2つ実際に使用するのでしょうか? または、同義語でない場合、それらを区別するのは何ですか?どのようなコンテキストで、擬似コード対ワードアルゴリズムを使用することになっていますか?

8
顧客ができない機能のためにソフトウェアを購入し、苦情を申し立てます。解決方法 [閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 5ヶ月前に閉店。 事前にパッケージ化されたソリューションを販売するときに、これに何度か遭遇しました。 顧客はパッケージを購入し、XYZを実行できることを明確に示していますが、顧客はABCを実行することを望んでいました。 その後、顧客はメールでサポートを求めます。この製品は、意図した目的(他の製品との統合)のために設計されたものではないことをお客様にお知らせします。 製品を使用できないため、顧客は払い戻しを要求します。 これは私が2つの心にあるところです。まず、製品は完全に機能しており、ソースコード(PHPスクリプト)を取得しています。とにかくそれを使用せず、まだ払い戻しを希望していることを知るにはどうすればよいですか? 第二に、私は顧客に気分が悪い。彼らが正直であり、ほとんどがそうであるならば、彼らは製品を使うことができないので、彼らの目にお金を「浪費」しました。しかし、それは私のせいではありません。 これまで、要求された場合は返金していましたが、今では、このような状況に対処する大企業の取り組みと比較しています。彼らは何をしますか?たぶん、彼らはより大きく、時々いくつかの払い戻しを気にしないのですが、私のような一人のバンドにとっては、すべてのセールが必要です! このような状況に対処する最善の方法は何ですか?

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