ソフトウェア工学

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

4
自宅でクラウドコンピューティングとビッグデータを学習する方法 [閉まっている]
ここで何が求められているかを伝えるのは難しいです。この質問は曖昧、曖昧、不完全、過度に広範、または修辞的であり、現在の形式では合理的に答えることができません。この質問を明確にして、再開できるようにするには、ヘルプセンターに アクセスしてください。 7年前に閉鎖されました。 自宅でクラウドコンピューティングとビッグデータを学びたいです。 これらの技術を自宅のPCで学習することはできますか? クラウドコンピューティングで学ぶべきテクノロジーはどれですか? ビッグデータ(Hadoop)を学習するためのテクノロジーはどれですか?

3
並列処理は並行性を意味しますが、その逆ではありませんか?
並列処理と並行処理は異なるものだとよく読みます。非常に多くの場合、回答者/コメント者は、まったく異なる2つのものであると書いているだけです。しかし、私の見解では、それらは関連していますが、その点について明確にしたいと思います。 たとえば、マルチコアCPUを使用していて、計算をx個の小さな計算(たとえば、fork / joinを使用)に分割し、それぞれを独自のスレッドで実行する場合、並列計算を実行するプログラムがあります(なぜならおそらく、任意の時点で複数のスレッドが複数のコア上で実行しようとして)されていると同時右のもの? たとえば、単にJavaを使用して、イベントディスパッチスレッドでUIイベントと再描画を処理し、自分で作成した唯一のスレッドを実行している場合、並行プログラム(EDT + GCスレッド+メインスレッド)がありますなど)が、並列ではありません。 これが正しいかどうか、および並列処理(「単一だがマルチコア」システムで)が常に並行性を意味するかどうかを知りたいのですが。 また、マルチスレッドプログラムはマルチコアCPUで実行されていますが、異なるスレッドがまったく異なる計算を実行している場合、「並列処理」を使用していると見なされますか?

6
定数としてゼロ?
最近、このプログラミングのイディオムに出会いました。 const float Zero = 0.0; これは比較で使用されます: if (x > Zero) {..} これが実際よりも効率的であるか、読み取り可能または保守可能であるかを誰でも説明できますか? if (x > 0.0) {..} 注:この定数を定義する他の理由を考えることができますが、このコンテキストでの使用について疑問に思っています。

3
ソフトウェア開発における環境命名基準?
私のプロジェクトは現在、環境の命名の問題に悩まされています。異なる環境では、どの環境に名前を付けるべきか、名前が何を指定するかについて異なる仮定を持っているため、それらを議論するときに混乱を引き起こしています。私は少し研究をしましたが、そこに標準は見つかりませんでした。 用語には、「ローカル」、「サンド」、「開発」、「テスト」、「ユーザー」、「QA」、「ステージング」、および「製品」が含まれます(さらに、さまざまな人々が尋ねたものもあります) 意見だけを探しているわけではありませんが、「誰もが」持っているものがあれば、それを受け入れます-非公式であっても、何らかの権限によって高度な定義を見つけようとしています。 現在使用している環境は次のとおりです。 開発者のPCの環境 開発者が自己テストにコードを直接アップロードする共有環境 QA担当者が標準と機能をテストする共有環境 完成したQAチェック済みコードがプロジェクトリクエスターによって承認される共有環境 最終チェックとして、および展開の準備として最終環境をミラーリングする環境 コードが使用されている最終環境 私はそれらを何と呼ぶか知っていますが、これには何らかの標準がありますか?前もって感謝します。

7
クリーン終了のゼロ以外の終了ステータス
問題のプログラムが正常に実行された場合、ゼロ以外の終了コードを返すことは許容されますか?たとえば、次の(のみ)を実行する単純なプログラムがあるとします。 プログラムはN個の引数を取ります。終了コードmin(N、255)を返します。Nはプログラムに対して有効であることに注意してください。 より現実的なプログラムは、異なることを示すプログラムを正常に実行するために異なるコードを返す場合があります。これらのプログラムは、代わりにこの情報を標準出力などの代わりにストリームに書き込む必要がありますか?

4
Groovyは部分的なアプリケーションを「カリー化」と呼びますか?
Groovyには、「カリー化」と呼ばれる概念があります。Wikiの例を次に示します。 def divide = { a, b -> a / b } def halver = divide.rcurry(2) assert halver(8) == 4 ここで何が起こっているかについての私の理解は、 divide値2にバインドされているということです。これは、部分的なアプリケーションの形式のようです。 通常、カリー化という用語は、一連の引数をとる関数を、1つの引数のみを取り、別の関数を返す関数に変換することを意味するために使用されます。たとえばcurry、Haskell の関数のタイプは次のとおりです。 curry :: ((a, b) -> c) -> (a -> (b -> c)) Haskellのを使用していない人のためにa、bそしてc、すべての一般的なパラメータです。 curryは、2つの引数を持つ関数を受け取りa、からbまでの関数を受け取って返す関数を返しますc。これを明確にするために、型に余分な括弧を追加しました。 グルーヴィーな例で何が起こっているのか誤解しているのですか、それとも単に部分的なアプリケーションの名前を間違っているのですか?または、実際には両方を行います。つまりdivide、カリー化された関数に変換し、2この新しい関数に部分的に適用します。

3
Javaで高度にスケーラブルなWebサービスを設計する方法は?
2000人の同時ユーザーを持つWebサービスを作成しています。このサービスは無料で提供されるため、大規模なユーザーベースを獲得することが期待されています。将来的には、最大50,000ユーザーまで拡張することが必要になる場合があります。 /programming/2567254/building-highly-scalable-web-servicesのような問題に対処する他の質問が既にいくつかあり ます。 ただし、私の要件は上記の質問とは異なります。 たとえば、私のアプリケーションにはユーザーインターフェイスがないため、画像、CSS、javascriptは問題になりません。Javaであるため、HipHopを使用してPHPをネイティブコードに変換するなどの提案は役に立ちません。 したがって、私は個別に質問をすることにしました。 これは私のプロジェクトのセットアップです- Apache CXFを使用したRESTベースのWebサービス Hibernate 3.0(遅延ロードやチューニングのためのカスタムHQLなどの関連する最適化を使用) Tomcat 6.0 MySql 5.5 Javaベースのアプリケーションをスケーラブルにするために従うべきベストプラクティスは何ですか?

6
他の従業員が残したプロジェクトをどのように管理しますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 突然、会社を辞める人がいます。今、彼の仕事を完了する必要があり、あなたはそれを割り当てられています。彼が何をしていたのかわからない(90%完了したのか9%だった)、残り物をどのように管理しますか? 最初から始めましょうか?90%完了した場合はどうなりますか? 彼が何をしたかを理解しようとしますか?それがナンセンスだったらどうだろう?

7
Cライブラリの関数は常に文字列の長さを期待すべきですか?
私は現在、Cで書かれたライブラリに取り組んでいます。このライブラリの多くの関数は、引数として、char*またはconst char*引数に文字列が必要です。私は、文字列の長さを常に期待しているsize_tので、ヌル終端が必要ないようにそれらの関数から始めました。ただし、テストを作成する場合strlen()、次のようにが頻繁に使用されます。 const char* string = "Ugh, strlen is tedious"; libFunction(string, strlen(string)); 適切に終了した文字列を渡すようにユーザーを信頼すると、安全性は低下しますが、より簡潔で(私の意見では)読み取り可能なコードになります。 libFunction("I hope there's a null-terminator there!"); だから、ここで賢明な慣行は何ですか?APIの使用をより複雑にしますが、ユーザーに入力を考えさせるか、ヌル終了文字列の要件を文書化し、呼び出し元を信頼しますか?
15 c  api  strings 

4
Android開発者は消費税を支払う必要がありますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 6年前に閉鎖されました。 RetroDreamerのブログ投稿によると、Android開発者は売上税のある国でのアプリ販売に対して売上税を支払う必要がありますが、Apple開発者はAppleが直接税金を支払うのではありません。 これは正確な説明ですか?そうですか、Androidアプリを公開するさまざまな人々はどのようにそれを処理しますか?

6
C#は読みにくくなっていますか?
C#の進歩に伴い、多くの言語機能が追加されました。それは私にとって読めなくなってきています。 例として、Caliburn.Microコードから次のコードスニップを考慮し、ここで: container = CompositionHost.Initialize( new AggregateCatalog( AssemblySource.Instance. Select(x => new AssemblyCatalog(x)) .OfType<ComposablePartCatalog>() ) ); さて、これはほんの小さな例です。 私にはいくつかの質問があります: これは一般的な問題または既知の問題ですか? C#コミュニティは同じことを見つけていますか? これは言語の問題ですか、それとも開発者が使用しているスタイルですか? 他のコードをよりよく理解し、この方法でコードを書くことを避けるための簡単な解決策はありますか?
15 c#  readability 

4
Java / JVM内部へのアプローチ[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 私は約8年間Javaでプログラミングしており、開発者としてこの言語をよく知っていますが、私の目標は内部の知識を深めることです。PL設計の学部課程を受講しましたが、非常に幅広い学問的概要(Scheme、IIRC)でした。 誰かが詳細な調査を開始するためのルートを提案できますか?具体的には、特定のトピック(ガベージコレクションなど)がありますか?JVMの内部とJavaプログラミング言語の設計に関するまともな高レベルの本はありますか?私の現在のアプローチは、JVM仕様から開始し、必要に応じて調査することです。
15 java  books  jvm 

2
相互に参照する2つのオブジェクトをシリアライズおよびデシリアライズするとどうなりますか?
より明確にするために、これは簡単な例です。 class A implements Serializable { public B b; } class B implements Serializable { public A a; } A a = new A(); B b = new B(); a.b = b; b.a = a; では、aオブジェクトとbオブジェクトをファイルにシリアル化し、そのファイルから逆シリアル化するとどうなりますか? 4つのオブジェクト、それぞれ2つを取得すると思った。同一のオブジェクトですが、異なるインスタンス。 しかし、他に何かあるのか、それとも正しいのか間違っているのかはわかりません。 答える必要のある技術がある場合は、Javaに基づいて考えてください。 ありがとうございました。

6
コンパイラを作成するのにC ++を使用する理由
コンパイラを書くのになぜC ++が良い選択なのか疑問に思っていました。もちろん、多くのコンパイラはCまたはC ++で記述されているため、Cもこの目的に適していますが、今回はC ++に興味があります。正当な理由はありますか?インターネットでそれを探していましたが、正当な理由を見つけることができません。
15 c++  compiler 

1
Git / Mercurialリポジトリが使用するスペースが少ないのはなぜですか?
ここでのいくつかの議論と、DVCSリポジトリが中央のカウンターパートとほぼ同じ、またはそれより少ないスペースを使用することについて読んだことがあります。私はそれを見逃したかもしれませんが、私はそれがなぜであるかの良い説明を見つけていません。知ってる?

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