ソフトウェア工学

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

14
PHP / Python開発に関連するシェルスクリプトの機能はどれですか?[閉まっている]
私は、JavaとC#(。NET)を学習するPHP / Pythonプログラマーです。 私の主な開発OSはWindows 7ですが、Linuxを使用しており、現在Ubuntuでデュアルブートしています。しかし、私のLinuxの知識はかなり限られています。単純なタスクでコマンドラインを使用できますが、それでほぼ完了です。私はシェルスクリプトを作成せず、多くの重要なコマンドを知りません。 私の興味は、ウェブ開発、モバイルアプリ、そして将来的にはいくつかの組み込みのものです。シェルスクリプトスキルはこれらの利益に役立ちますか?

7
Webプログラミングを学習するための最良のアプローチ[非公開]
私は科学と組み込みプログラミングの経験があり、Webプログラミングの経験はほとんどありません。Webプログラミングを理解するのに最適な方法は何でしょうか?ツールとフレームワークの提案? 1つのアプローチは、Railsなどのフレームワークを学習することです。Railsチュートリアルでこれを始めましたが、フレームワークは、学ぶべき重要な概念を非常に多く抽象化していることがわかりました。 要約すると、経験豊富なプログラマーは、Webアプリのプログラミングを学びたいと考えています。

6
大規模なデスクトップアプリケーションでSQLがそれほど普及していないのはなぜですか?
ソフトウェア開発者として、私は小さな自家製アプリから中規模のエンタープライズアプリケーションに至るまでのプロジェクトに取り組んできました。ほとんどすべてのプロジェクトで、データベースを使用したか、最初から使用しないことを選択したことを後悔しました。 今、私はデータベースと一般的なアプリケーションでのそれらの使用についていくつかのことを疑問に思っています: Windows自体が「中央」のSQLデータベースを使用しないのはなぜですか?例えば: エラー報告データは多数のファイルに保存されますが、 Windows Updateはすべてをフラットファイルに保存しますが、 アイコンキャッシュは、SQLなどを介してアクセスされていないように見える非常に奇妙な単一のファイルに格納されます。 多くの大規模なアプリケーションがデータベースの使用を避けるのはなぜですか?たとえば、Microsoft Outlookは、.pstファイル用の独自の形式を持ち、レジストリにデータを保存することにより、車輪を再発明する代わりに、実際のデータベースを使用することで得られませんか? データベースが全体的な複雑さとわずかなパフォーマンス損失の追加レイヤーを追加する場合、ほとんどの場合、特に大きなバイナリではなく小さな組織化されたデータチャンクのストレージに関して、コードを単純化するという大きな利点の代価ですストリーム。では、実際にデータベースを実際に使用している製品が非常に少ないのはなぜですか?おそらく、実際にSqliteデータベースを使用するアプリケーションは、FirefoxとMicrosoft Exchangeだけでしょう(ただし、最後のアプリケーションはデスクトップアプリケーションではありません)。 また、Microsoft OfficeやMicrosoft Expressionなどの一連のアプリケーションは、統合されたSQLデータベースを持ち、アプリケーションの展開、データの更新/アップグレード、それらのアプリケーション間でのデータの共有、バックアップの作成を容易にすることから恩恵を受けませんなど。
28 sql 

10
会社に非常識なポリシーがあるかどうかを調べる方法[非公開]
仕事の面接時に、「オープンソースなし」、「許可なしにソフトウェアをインストールしない」、「サポートが失われるまでソフトウェアをアップグレードしない」などの非常識なポリシーがあるかどうかを調べるための繊細で正確な方法はありますか?または「訪問ブログなし」ですか?
28 interview 

7
プログラマーは自給自足することになっていますか?
私の現在の職場では、テスターはいません。その理由は、経営陣からの根拠です:「テスターがいれば、あなたはあなた自身のコードをまったくテストしないでしょう」。この種の考え方は、製品の品質に悪影響を与えるようです。自分のコードをテストしている間は、システムを裏返しに知っていて使用方法がわからないという事実だけでなく、見落としがちなことがたくさんあります。それは「間違っています」。専用のテスターが陥る落とし穴を無意識に回避するため、ブラックボックステストは実際には機能しません。私の多くの時間は、実動コードに滑り込み、エンドユーザーによって発見されたバグの修正に費やされます。 問題のシステムは大規模ですが、私だけが開発しています。また、これにより、スケジュールの定義や仕様の作成など、管理業務の一部が私の膝の上に置かれました。 この種のタスクは私の責任ですか?自分は厳密にプログラマーであり、他の何者でもない。そして、これらが私の責任であれば、どの程度ですか?プロジェクトがテスターを必要とするほど大きいのはいつですか?プログラマーは仕様を改良し、プロジェクトの管理について心配する必要がありますか、それともカスタマーサポートを提供する必要がありますか? 注意 私は自分の責任を広げることに反対しているという印象を持っている人もいるかもしれません。そうではありません。より多くの管理職を含む役割を手に入れたいと思っていますが、現在は職務内容にありません。私がそのように正式に雇用されるまで、または追加の職務が私の給与に現れ始めるまで、私は自分を「単なる」プログラマーだと考えます。残念ながら、ジュニア開発者として、管理職への移行はすぐには起こりません。 これまでの優れた答えは、何か追加したいことや共有したい個人的な経験がある場合は、それらを続けてください!

13
プログラミング本の電子書籍版[終了]
(これが初期のトピックである理由については、正当な理由があります。プログラミングの本は、コードサンプル、表、画像、グラフなど、かなり特定のフォーマットのニーズがある傾向があります。 eBookリーダー。同様にさまざまな方法で使用されます。表紙を読むよりも出たり入ったりすることがよくあります。 Steve KrugのDo n't Make Me ThinkがKindleの(そしておそらく他の読者にも)eBook版として提供されていることに気付いたので、考えさせられました。 技術本の電子書籍リーダーには特定の利点があります。主に、重い物理的な本の大規模なライブラリを非常に簡単に持ち運ぶことができるという点です。欠点は、特定の電子書籍リーダーは、テーブル、コードサンプルなどに対処するための設備が特に整っていないということであり、Do n't Make Me Thinkのような本はおそらくこれらの種類のものを広範囲に利用しています。 それでは、質問、電子書籍リーダーでプログラミングの本を読んだり使用した経験は何ですか?私は特に最新世代のKindleに興味がありますが、すべてのデバイスについて聞いて喜んでいます-あなたが答えに使用するものを述べるのに役立つかもしれません。
28 ebook 

17
最高のC ++インタビューの質問は何ですか?[閉まっている]
C ++プログラマーにC ++スキルを測定するために1つの質問をすることができたら、それは何でしょうか? 私が一番いいと思う質問は、「これを削除してください」と呼ぶことができますか?メンバー関数内?(最初によく考えてから、これをリンクとして配置してから、ベストC ++インタビューの質問-今までに行って正しい答えを確認してください。) ほとんどの人が答えを知っていると思うので、私はこれを尋ねません。もし彼らがそうすれば、それほど有用な質問ではないでしょう。私は、彼らが正しい答えに向かって進むことができるかどうか、そしてどのようにそれをするかを尋ねます。
28 c++  interview 

10
重度のADHDでプログラムする方法を学ぶためのヒントはありますか?[閉まっている]
私はまっすぐな教科書からプログラムする方法を学ぼうとするのに苦労しています。ビデオトレーニングは、PHPでの過去の経験でうまく機能しているようです。私は集中して滞在するために私が一生懸命努力しています。具体的には、インディーズゲームの開発を開始したいと考えています。 過去2週間にわたって、私は「正しい」言語とフレームワークを選択して開発しようと試みてきました。私はPythonを使い始めましたが、今のところあまり言語を楽しんでいません。このウェブサイトを常に見て、この言語とそれを比較し、気を散らし続けています。 これ以外にも、集中できない場合にプログラマーになることは可能ですか?誰かがいくつかのアドバイスを勧めることができますか?

12
サードパーティのライブラリを最新の状態に保つ方法は?
10個のライブラリに依存するプロジェクトがあり、プロジェクトのトランク内では、これらのライブラリの任意のバージョンを自由に使用できるとしましょう。だから、私は最新バージョンから始めます。その後、これらのライブラリはそれぞれ月に1回(平均)更新されます。トランクを完全に最新の状態に保つには、ライブラリ参照を3日ごとに更新する必要があります。 これは明らかに多すぎる。通常、バージョン1.2.3はバージョン1.2.2のドロップイン代替品ですが、テストなしでは決してわかりません。単体テストでは十分ではありません。DB /ファイルエンジンの場合、古いバージョンで作成されたファイルで適切に動作することを確認する必要があります。GUIと関係がある場合は、すべてを視覚的に検査する必要があります。等々。 これをどのように処理しますか?いくつかの可能なアプローチ: 壊れていない場合は、修正しないでください。ライブラリベンダーが更新を発行する頻度に関係なく、アプリケーションで使用するときにライブラリに問題がなければ、ライブラリの現在のバージョンを使用してください。小さな増分変更は無駄です。 変更を小さく保つために頻繁に更新してください。いずれにせよいつか更新する必要があるため、いくつかのバージョンを飛び越えて潜在的な問題を蓄積させるのではなく、修正が容易なときに早期に問題に気付くように、頻繁に更新することをお勧めします。 間に何か。スイートスポットはありますか?

7
開発者にインタビューするとき、どのようなテクニックを使用しますか?[閉まっている]
このタイプのことについて多くの議論があり、「100論理的海賊」タイプの質問をするか、「フィズバズ」を書くようにさせるかについて、彼らはしばしば教義に委ねられます。 潜在的な開発者に仕事を面接するときに、どのテクニックや質問があなたにとって効果的だったかに興味があります。 回答ごとに1つのテクニックを使用して、投票してください。
28 interview  hiring 

16
大学卒業後すぐに良いプログラマーになるべきですか?
可能性のある重複: 私はコンピューターサイエンスの学位を取得しましたが、専門のプログラマーに近いとは思えません 私は最近大学を卒業し、その後、開発チームに参加しました。開発チームでは、おそらく経験の浅い開発者であり、2、3の労働条件を帯びています。一方、チームの残りのメンバーは5〜10年の経験を積んでいます。 ボトル入りの課題とテストに関しては、私は非常に優秀な学生であり、非常に優秀なプログラマーでした。私はいくつかのプロジェクトで成功を収めましたが、今でははるかに大きなコードベースで作業しており、学習曲線ははるかに高くなっています。 私は、他に何人の開発者が彼らのキャリアをチームで始めて、彼らが吸うように去ったのか疑問に思っていました。これはいつ変更されますか?プロセスをスピードアップするにはどうすればよいですか?私の先輩たちが私を助けてくれていますが、私は偉大になり、今、自分の価値を示したいと思っています。

11
ペアプログラミングが必要な場合、仕事を受け入れるべきですか?[閉まっている]
私は興味深い仕事を提供されましたが、私にとって大きな警告があります:彼らはペアプログラミングを使用します。 私はペアプログラミングのアイデアが嫌いで、おそらくそれには向いていません:私は頻繁にポーズをとるのが好きです、誰かのプログラミングを見ることは嫌いです(自分でコーディングするために絶えずペアを突っ込んでしまいます)私が取り組んでいるマシンのコントロール、音楽を聴くのが好きで、基本的に他の誰かに縛られるのは好きではありません。私は社交的な人間でもありません。 しかし、実際にペアプログラミングを行ったことはありません(他の人を支援したり、複雑なタスクを一緒に解決したりするために、短い時間を数回使用します)。そして、私の態度を考えると、仕事を拒否すべきですか、それとも現在の仕事を辞めて試してみるべきですか? それについて尋ねた人々のために:私は、私たちが「荒野でコーディング」している私の現在の仕事が嫌いなので、正式な設計と開発が使用される仕事を探しています。会社は私の技術的なプロファイルに非常に興味を持っているので、ペアプログラミングで仕事をしたことはないと指定したとしても、彼らはそれを好まないだろうと主張しました(社交的でない孤独なプログラマーであるだけでなく、ペアプログラミング)。

18
コーディング中に警戒して目を覚まします[終了]
仕事中に目を覚まし、警戒するためにどのような方法を使用していますか? 個人的に私は一日中ノンストップでコーヒーを飲みます。しかし、私は運動と呼ばれるこのことも聞いたことがあります。作業中に目を覚まして警告を発するためのヒントやコツは他にいますか?レッドブル?たぶん、眠る必要のない魔法の薬でしょうか?

22
なぜVBはそんなに人気があるのですか?[閉まっている]
私にとって、Visual Basicは不器用で、見苦しく、エラーが発生しやすく、読みにくいようです。他の人にその理由を説明 させます。VB.netは明らかに言語の機能面で大きな進歩を遂げてきましたが、なぜC#を介してVBでコーディングすることを選択するのか理解できません。 ただし、「MSショップ」の商用Webアプリの大部分はVBで構築されているようです(と思われます)。私はこれについて訂正することができますが、VBはそれが値するよりも人気があるようです。 誰でもこれらの質問のいずれか(またはすべて)に答えることができますか? VBで何か不足していますか?学ぶのは簡単ですか、それともC#より「友好的」ですか?知らない機能はありますか? VB / VB.netが今日特にWebプロジェクトで頻繁に使用されるのはなぜですか?

4
特定のMVVMアプリケーションでフレームワーク(Caliburn.Microなど)を使用しないことを選択する方法は?
私はかつてMVVM / WPFプロジェクトを開始しました。このプロジェクトは最終的に構築および展開され、そのためにCaliburn.Micro MVVMフレームワークの多くを学びました。実際のところ、私はそのためにCaliburn.Microを使用せず、自分でMVVMの概念をいくつか実装しました(具体的には、ViewModelBaseとRoutedCommandクラスのみ)。 今、私は同じ行に沿ってやや大きなプロジェクトに割り当てられました:「シングルユーザーリッチクライアントオフラインデスクトップアプリケーション」、と言うことで、私はCaliburn.Microを使用することにしました。それが私の「問題」の始まりです。 私はこの有名なブログ記事で、タイトルに「MVVMを使用している場合、フレームワークが必要」と書かれています。 「フレームワークなしでMVVMのようなことをしようとすると、膨大な作業が必要になります。大量のコードを複製し、車輪を再発明し、考え方を変えるように人々を再訓練します。 少なくともフレームワークを使用すれば、コードの重複を避け、できれば車輪を再発明する必要がなく、人々の再訓練に集中できるようになります。通常、再トレーニングの部分は避けられませんが、フレームワークは配管コードと構造を提供し、プロセスを容易にします。」 最初に読むことに同意しますが、実際のアプリケーションでのCaliburn.Micro(CM)での実際の経験は、無知で見当識障害です。つまり、フレームワークはプロセスをまったく簡単にしませんでした。まったく逆です。むしろ、(あまりにも)非公式マニュアルにロブ・アイゼンバーグが提供する絶えず繰り返し実施例を読むこと、そして物事が動作するように設計されているように見える畳み込まれて、サンプル、およびその全く間接的なクラスとインタフェースの関係から、使用パターンを推測しようとしているベースの上を副作用は、あなたがベテランの天才でない限り、人間的には不可能だと思われます(暴言はごめんなさい。 任意の上記の些細なシナリオことは言うまでもありません私が働いたことがない何かである、IoCコンテナを伴うように思われ、どのように見える私も持っていないかもしれない問題を解決。私の問題やアプリケーションの領域について考えるのではなく、これらのことを学ぶためにプロジェクトにもっと時間を費やすつもりはありません。バナナが欲しかったのですが、CMはバナナのバスケットを持ったゴリラ(IoC)をくれました。 私が実際に実装したい少数のMVVM固有のクラスのみで構成される自作MVVMフレームワークに戻ることを検討しているので、ここで何かを失った場合に備えて、少なくともCMにチャンスを与えたいと思います。まったくの未経験と無知から「間違った方法で」物事を行うだけです。そして質問は次のとおりです。 「フレームワークは物事をより簡単に、より自然にする」というコンセンサスが広まっていますが、もし私がまったく逆になっているのであれば、フレームワークを使うべきではないということですか、それとも間違った方法で学習しようとしていますか?そもそもフレームワークを使用するべきではないという手がかりはありますか?または、単純なMVVM開発でCMを使用する方法を理解するための「正しい」方法はありますか
28 frameworks  wpf  mvvm 

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