ソフトウェア工学

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

9
WebデザイナーとWeb開発者の責任の境界は何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 私はいくつかのウェブサイトの再設計のために機能開発をするために雇われました。私が働いている会社の技術レベルは比較的低く、Webサイトの以前の開発は、Web開発に関する限り独学で学んだグラフィックデザイナーによって完了しました。 開発環境の作成と、外部CMSホスティングからスクリプト言語を組み込んだ内部サーバーへのホスティングの移行を担当しているため、私の責任は基本的な開発を超えています(PHP / MySQLを選択しました)。 私はグラフィックデザイナーと仕事をしており、彼はウェブの創造的なデザインを担当しています。それぞれのタスクの境界間の混乱をめぐって、少し摩擦が生じています。 たとえば、ナビゲーションに関して意見の相違がありました。私は主に使いやすさ(私たちのユーザーベースの大部分は特にWebに精通しているわけではありません)とW3 WAI基準(多くのユーザーが古く、平均以上の割合のユーザーがいることを懸念していました)視力障害)。彼の唯一の懸念は、ウェブサイトに最もよく似ているものであり、私は彼が押していた方向がいくつかの機能的な問題を引き起こしたと感じました。 色の選択、画像、フォントなどは明らかに彼の責任であり、CSSページとスタイルクラスと使用するIDを提供してくれるだけだと思っていましたが、ページレイアウトの一部の要素はもっと当てはまるようです「使いやすさ」の領域。私にとっては、「機能性」とほぼ同義語と解釈されます。 フレームワーク、スクリプト言語、データベース設計、およびいくつかのオープンソースアプリケーション(たとえば、Moodle、そしておそらく将来はDrupal)を含む、使用するツールを選択する必要がありました。これらのツールは非常にカスタマイズ可能ですが、いくつかのインターフェースを直接操作することは、CSS、HTML、およびPHPに精通していることを超えています。これにより、彼が外観をどの程度直接制御できるかが制限され、ツールの選択についての議論につながります。 WebデザイナーとWeb開発者の役割の間に一般的に受け入れられている境界線はありますか?Webテクノロジーの彼の比較的経験の浅いバックグラウンドは、その境界線に影響しますか?

7
ホワイトボードのインタビューの質問をもっと良くするにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 私はインタビューに座って、インタビュー中にホワイトボードで質問に答える際に、同様の能力を持つ個人の間で大きな格差に気づきました。 一般的に、あなたの考えを明確に説明し、ドライイレーザーペンで読みやすいコードを書き、長い沈黙を避けることは、最終的に答えがほぼ同じであったとしても、候補者のより好ましいレビューにつながる傾向がありました。 ホワイトボードのインタビューの質問でどのように改善できますか?よりよく準備する方法はありますか?
16 interview 

7
マイクロソフトが開発者ツールに大金を請求するのはなぜですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 Microsoftは、ほとんどのバージョンのVisual Studioに対して数千ドルを請求します。これをAppleやGoogleのような会社や、GNUやEclipseのような開発ツールを無料で提供している組織と比較すると、違いはどこにあるのだろうかと思います。 AppleとGoogleが無料でツールを提供する背後にある理論的根拠は、開発者がプラットフォーム用に開発しやすくすることであり、その結果、販売台数が増加します。Windowsはユビキタスであると見なされているため、追加のプロモーションは不要であり、代わりにMicrosoftがこのツールを使用して開発するツールで収益を上げることができますか?それは単に彼らが彼らがするのと同じくらい充電することができて、そして何人かの人々がそれを支払うことをいとわないという理由だけですか? また、ツールの高コストがWindows用に開発する小さなソフトウェアショップの数を制限している場合、既存のショップが無料(クリップ)バージョン、または他の安価なツールを使用している場合にも興味があります。

3
すべてのローカライズと文字列タイプで機能する一般化された文字列逆関数を書くことは可能ですか?
Dev-DaysのJon Skeet(Tony the Ponyと一緒に)のプレゼンテーションを見ていました。 「文字列の逆関数を書く」はインタビュー101をコーディングしていますが、すべてのローカリゼーションとすべての文字列タイプで機能するものではなく、一般的な文字列の逆関数を書くことが実際に可能かどうかはわかりません。 入力文字列がASCII、UTF8、UTF16(固定長および可変長)などであるかどうかを検出することとは別に、 Jonが強調表示した「次の文字にアクセントを適用する」(U + 0301)コードがあります。次に、表示される場合とされない場合、または二重文字としてエンコードされる場合があります。 「文字列を逆にする」ことは、実際には難しいコンピューターサイエンスのタスクの1つであるようです。

7
流なコーダーがグッドプラクティスを無視する場合、彼の流fluさは彼に反していないでしょうか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 私はかなり大きくてバグのあるアプリケーションに取り組んでいます-それが書かれている方法のために(詳細は省きますが、あなたが考えることができるほとんどの分野でルールに違反します)、大きなリファクタリングなしでそれを開発することはほとんど不可能です。 アプリの重要な部分は、インターン、n00bsなどによって作成されました。しかし、Master Developerの階級にプログラマーもいました。そして、謙虚に、彼が残したコードも、おそらくは別の方法で疑わしいです。 確かに、彼のコードはほとんどの場合、仕事を終わらせる傾向がありますが、通常はわかりにくく、車輪を再発明します(たとえば、通常のSQL dbバックアップを実現する大きなカスタムメソッド)など。基本的に、不必要な混乱と多くのオーバーエンジニアリング そして、他の資質を伴わない場合、高度に熟練したコーダーであること(私は意図的に「開発者」という単語をより広いスキルのセットを示すと仮定して使用しません)が実際には有毒であると考えるようになりました。 それが真実だと仮定すると、私が考えることができるいくつかの理由は次のとおりです。 簡単にコーディングしている場合、ライブラリや既存の機能などを使用せずに、その場で独自のソリューションを簡単にスナップアウトできる(または実際には短期的には)と感じます。 複雑なプログラムのメンタルイメージを簡単に維持できる十分な経験がある場合、それをモジュール、レイヤーなどに分割する傾向は低くなります。 私のポイントは、流なコーダーが偶然悪い開発者である場合、流fluさは後者を補うだけでなく、実際にはむしろより多くの害をもたらすということです。 あなたはそれをどう思いますか?それは本当ですか?

2
Joelテストの最新性は?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 新しいコードを作成する前に、仕様を作成し、バグを修正する必要があることをパートナーに説得したいと思います。Joelテストを参照する必要がありますか?ジョエルのテストは最新だと思いますか?仕様を持たないことは、プロジェクト管理が悪いと思う。ジョエルのテストに同意しますか?何か追加してもらえますか?インスタンスのオープンソースについては言及していません。

3
ほとんどの日常的なプログラミング作業において、モナドや応用ファンクターなどのHaskellの高度なコンセプトはどれほど重要ですか?
Learn You a Haskellの本を読んで、モナドやJust aなどを紹介しています。これらは私にとって非常に直観に反しているので、それを学ぼうとするのをあきらめたいだけです。 しかし、私は本当に試してみたいです。 少なくともしばらくは高度な概念を避けて、言語の他の部分を使い始めて、Haskellのより基本的な部分、つまり関数、標準IO、ファイル処理、データベースのインターフェースなど。 これはHaskellの使用方法を学ぶための合理的なアプローチですか?
16 haskell 

6
java.lang.Stringが最終的なものではなかった場合、どうなりますか?
私は長い間Java開発者であり、最終的に、専攻した後、認定試験を受けるためにそれをきちんと勉強する時間があります。セキュリティの問題と関連するものについて読んだとき、私はそれを理解します...しかし、真剣に、誰もがその本当の例を持っていますか? たとえば、Stringがファイナルでない場合はどうなりますか?Rubyにはないように。Rubyコミュニティからの苦情は聞いていません...そして、その動作(4行のコード)を実装するために自分で実装するか、Webで検索する必要があるStringUtilsと関連クラスを知っています。喜んで。
16 java  security 

2
UTF-16は固定幅ですか、可変幅ですか?UTF-8にバイト順の問題がないのはなぜですか?
UTF-16は固定幅ですか、可変幅ですか?さまざまなソースからさまざまな結果が得られました。 http://www.tbray.org/ongoing/When/200x/2003/04/26/UTFから: UTF-16は、Unicode文字を16ビットのチャンクに格納します。 http://en.wikipedia.org/wiki/UTF-16/UCS-2から: UTF-16(16ビットUnicode変換フォーマット)は、0〜0x10FFFFのUnicodeコードスペースで1,112,064 [1]数(コードポイントと呼ばれる)をエンコードできるUnicodeの文字エンコードです。コードポイントごとに1つまたは2つの16ビットコード単位の可変長の結果を生成します。 最初のソースから UTF-8には、エンコードの単位がバイトであるという利点もあるため、バイト順序の問題はありません。 UTF-8にバイト順の問題がないのはなぜですか?可変幅であり、1文字に複数のバイトが含まれている可能性があるため、バイトオーダーが依然として問題になると思いますか? よろしくお願いします!

9
Ad Hocレポートをアプリケーションに追加するだけの価値はありますか?
大量のデータを収集し、レポートが組み込まれたアプリケーションがあります。最初のイテレーションは、Crystal Reportsの統合で、うまく機能しました。Crystal Reportデザイナーでレポートを作成し、RPTファイルをアプリケーションにインポートします。これはうまくいきましたが、ユーザーはレポートを実行するためにアプリケーションが必要であり、さらにユーザーはレポートを作成できませんでした。RPTファイルをカスタマイズできるようにフィルター、ソーター、およびグループ化を追加しましたが、ゼロから作成することはできませんでした。 2番目の対話は、SSRS、SSAS、およびMicrosoftのレポートビルダーツールを使用したWebベースのソリューションでした。これには、いくつかのデータベース作業とOLTPスキーマからキューブを起動して実行するための作業が必要でしたが、最終的には、ロールアップレポートを作成するのがはるかに簡単になりました。ただし、レポートビルダーツールを使用してレポートを作成し、その後公開する必要があります。また、フィルター、ソーター、グルーパーを追加して「カスタマイズ可能」にします。 これらのシナリオの両方で、約30から50の時間外レポートがすぐに作成されます。 ユーザーがその場でレポートを最初から作成できるように、アドホックレポートを追加することについての議論があります。現在、データモデルは非常に複雑であり、それを理解するには実用的な知識が必要です。これを最小限にするには、データモデルを「レポート可能」で理解しやすいスキーマにするために、かなりの作業が必要になります。私たちのアプリケーションがアドホックレポートに適しているとは思いません(努力する価値はありません)。 アドホックレポートの提供に成功した人はいますか?どのツールセットを使用しましたか?アプリケーションの成功に影響を与えましたか?

9
サーバー側の開発者はどのくらいのHTMLとCSSを知っている必要がありますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 私はやったC、C++そして今、私はウェブ開発者としてのキャリアを始めたいと思っています。私はWeb開発について多くのことを読みましたが、Webには2種類の開発者がいることを知りました。 1. Client Side Developers. 2. Server Side Developers. サーバーサイドの開発に集中したいです。私が始めたので、それは基本的に開始するために最善だろうと思ったHTMLとCSS。CSS誰かが完全に簡単に習得するには大きすぎることがわかりました。サーバーサイドの開発者はどのような基本を知っておくべきか、また彼はHTMLの達人になるべきCSSか、それとも単にやめるべきかを知りたいのですが。

8
インタビューに失敗する方法は?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 複数の人がインタビューに送られ、1人だけが合格しなければならない状況を想像してください。彼の知識はプロジェクトに十分です。ただし、顧客は最良の候補者を選択できるように、いくつかの候補者を求めました。そして、あなたの会社の他の人々はすでに他のプロジェクトに従事しており、仕事を得るべきではありません。 問題は、他の候補者がより悪いことを示すと同時に、それらを愚かに見せないようにする方法ですか? UPD 私はポイントを持っていますが、私は主要なアイデアを明確にする必要があります。別の候補者(面接に合格してはならない)がどのように振る舞わなければならないか知りたいと思いました。 いくつかの回答がそれに対応するため、修正された質問[1番目]を残しました。
16 interview 

2
ソフトウェアテストの手法またはカテゴリ[非公開]
ここで何が尋ねられているかを伝えるのは難しいです。この質問は曖昧、曖昧、不完全、過度に広範、または修辞的であり、現在の形式では合理的に答えることができません。この質問を明確にして、再開できるようにするには、ヘルプセンターに アクセスしてください。 8年前に閉鎖されました。 どのようなソフトウェアテストを知っていますか?テスト駆動開発、単体テストなどについて聞いたことがありますが、それらの重要性と違いを理解できません。たとえば、なぜ回帰テストや受け入れテストを使用するのでしょうか。彼らが提供する利点は何ですか?

5
C#のジェネリック型の適切な命名規則は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 かなり主観的であるため、スタックオーバーフローではなく、ここでこの質問をすることにしました。 C#では、通常、非常に貧弱な名前のジェネリック型が表示されます。特に、「T」は一般的に使用されますが、それ自体では意味のある名前ではありません。例えば: class Fruit<T> { T fruit; } これは典型的なアプローチですが、これに反対する人はいますか?もしそうなら、一般的な関数とクラスのC#のコンテキストでの一般的な型の合理的な命名規則は何でしょうか? 前の例では、ジェネリック型Tは常にAppleor などの果物の型である必要があると仮定しましょうOrange。タイプは、Tそれは明らかに、それは果物の種類だことを確認する必要があるので、多分、より良い名前のようになりFruitType、我々はで終わるので、: class Fruit<FruitType> { FruitType fruit; } これは、皆さんに私が探しているもののアイデアを提供するためのものです。この問題で受け入れられる「経験則」とは何ですか?
16 c#  naming  generics 

3
ドキュメントデータベースとリレーショナルデータベース:選択方法
私はSQLの男ですが、SQL データベースだけでなく、ドキュメントデータベースもほとんどあることを知っています。ほとんどのテクノロジーと同様に、各テクノロジーには長所と短所があります。 私はいくつかの記事を読みましたが、それらは理論的すぎました。私が望むのは、2つの実際のケースです: リレーショナルデータベースからドキュメントデータベースへの切り替えにより改善されたとき ドキュメントデータベースからリレーショナルデータベースへの切り替えにより改善されたとき 改善とは、より良いプログラムを作成するものであり、開発時間、スケーラビリティ、パフォーマンス、プログラミング関連のあらゆるものを減らします。2には注意点があります。「誰もがSQLを知っているのでリレーショナルデータベースにフォールバックする」などの話は良くありません。

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