ソフトウェア工学

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

8
擬似コードとは何ですか?
最近、このサイトや他のサイトで、Pseudocodeに関する多くの言及を見てきました。しかし、わかりません。 擬似コードとは何ですか?たとえば、以下のウィキペディアの記事には、「プログラミング言語の構造上の規則が使用されていますが、機械で読むのではなく人間が読むことを目的としています」とあります。これは、実際にプログラムを作成するために使用されていないということですか? なぜ使用されるのですか? どのように使用されますか? プログラミング言語と見なされますか?(上記のウィキペディアの引用を参照) 一般的に知られている/使用されていますか? 正直なところ、これからどこから始めるべきかわかりません。私はそれをグーグルで調べ、トピックに関するウィキペディアの記事を見ましたが、それが何であるかまだ完全には理解していません。

4
文から単語を抽出し、それぞれの品詞を特定するにはどうすればよいですか?[閉まっている]
ここで何が求められているかを伝えるのは難しいです。この質問は曖昧、曖昧、不完全、過度に広範、または修辞的であり、現在の形式では合理的に答えることができません。この質問を明確にして、再開できるようにするには、ヘルプセンターに アクセスしてください。 6年前に閉鎖されました。 私は文を取り、それに含まれる各単語を識別し、各単語が品詞のどの部分であるかを定義する何かを書きたいです。 例えば Hello World、私は文です これを返します verb noun, pronoun verb adjective noun 理想的には、最終的にそれをさらに一歩進めて文を取り、プログラムでそれが解釈しようとしていることを理解し、おそらくそれについて何かをしたいと思います。 だから私の質問は、誰かがこのようなことを聞​​いたことがありますか?


2
効率を維持しながら、ビジネスロジックからユーザーインターフェイスを分離するにはどうすればよいですか?
コンボボックスで10個の異なるオブジェクトを表すフォームを表示したいとします。たとえば、トマトを含む10種類のハンバーガーのうち1つをユーザーに選択してもらいます。 UIとロジックを分離したいので、コンボボックスに表示するためにフォームにハンバーガーの文字列表現を渡す必要があります。そうでない場合、UIはオブジェクトフィールドを掘り下げる必要があります。次に、ユーザーはコンボボックスからハンバーガーを選択し、コントローラーに送信します。ここで、コントローラーは、フォームで使用される文字列表現(おそらくID?)に基づいて、ハンバーガーを再度検索する必要があります。 それは信じられないほど非効率ではありませんか?既に選択したいオブジェクトがありました。オブジェクト全体をフォームに送信してから特定のオブジェクトを返した場合、フォームがそのオブジェクトへの参照をすでに返しているため、後でそれを見つける必要はありません。 さらに、私が間違っていて、実際にオブジェクト全体をフォームに送信する必要がある場合、UIをロジックから分離するにはどうすればよいですか?

6
C ++コードでC式を使用するのは良い習慣ですか?
学校では、クラスをはるかに凌いでいるという事実にもかかわらず、今年Cを学び始めました。クラスがCの基礎にある間にJava、C ++、Cを学びました。 Cを学ぶべき理由を先生に尋ねましたが、彼女はそれがC ++の基礎であると言いました。プログラミングを始めたとき、C ++の方が簡単であることがわかりました。後でCを習得しました。 私の質問は非常に簡単です〜C ++でC式を使用するのは良い習慣ですか?例を挙げましょう。 このコードは #include <stdio.h> #include <iostream> int main() { int x; scanf("%d", &x); cout << "The number you entered is " << x << "And it's double is " << x*x; return 0; } これよりも効率的またはより良い方法で: #include <iostream> int main() { int x; cin >> …
19 c++  c 

1
クラスをユニットテストしましたが、統合テストを開始する方法を教えてください。
この質問は、Software Engineering Stack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 MailChimpRecipientと呼ばれるMailChimpリストの受信者を管理するクラスを作成しました。サードパーティのAPIラッパーであるMCAPIクラスを使用します。 http://apidocs.mailchimp.com/api/1.3/ http://apidocs.mailchimp.com/api/downloads/ MCAPIオブジェクトをMailChimpRecipientオブジェクトのコンストラクターに渡すため、PHPUnitを使用して、独自のクラスのすべてのロジックをテストする単体テストを作成しました(MCAPIクラスはテストしていません)。コードカバレッジは100%で、すべてのテストに合格しています。これは、MCAPIオブジェクトのモックとスタブ化によって行われます。 次のステップでは、PHPUnitを使用して統合テストを作成し、実際のMCAPIオブジェクトを使用してMailChimpRecipientフィクスチャを構築し、実際のMailChimpリストを使用するように設定しました。 私は、次のように、基本的にオブジェクトのパブリックインターフェイスに対してテストを実行する統合テストだと思うものを書きました。 public function testAddedRecipientCanBeFound() { $emailAddress = 'fred@fredsdomain.com'; $forename = 'Fred'; $surname = 'Smith'; // First, delete the email address if it is already on the list $oldRecipient = $this->createRecipient(); if($oldRecipient->find($emailAddress)) { $oldRecipient->delete(); } unset($oldRecipient); // Add the …
19 php  unit-testing 

1
HTMLデータ形式は日常の状況でどのように適用されるべきですか?
Googleがページマークアップデータに重点​​を置く方向に移行していることを考えると、Schema.orgで使用されるデータ形式は、Microformatsのデータ形式とどのように連携しますか?これら(および他の仕様)はどのように互いに補完し合い、異なる状況で優先的に使用されるべきですか? 編集: 主題に関する確立された内容から、意見はSchema.orgが破滅的で、地獄の火薬であり、取り締まりであると信じる人々と、それがいずれにせよ最終的には良いことだと考える人々の間で意見が分かれているようです。 両方の記事は、少なくとも、検索エンジンに過度の悲しみを引き起こすことなく、さまざまな形式が楽しく共存できることに同意します。ただし、特定のケースでさまざまなオプションがどのように使用されるかについての疑問は残っています。
19 html  data  search  schema 

6
JavascriptでUIを100%実行し、APIを介してデータを提供することをお勧めしますか?
私の主な仕事はHTMLアプリケーションの作成です。それは、編集可能なグリッドビュー、テキストボックス、ドロップダウンなど、多くの内部でCRUDタイプのアプリケーションを内部で使用することを意味します。現在、ASP.NET Webフォームを使用しています。あなたが必要なものを得るためにフープを飛び越えなければなりません。天井から垂れ下がって炎を放つフープ。 だから、すべてのUIをJavaScript側に移動することはおそらく良い考えだろうかと思っています。特にニーズに合わせて調整された強力な再利用可能なコントロールを開発し、サーバーとのみデータを交換します。はい、私は「コントロール」(別名「ウィジェット」)パラダイムが好きで、そのようなアプリケーションに非常に適しています。したがって、サーバー側では、現在のASPXマークアップと同様の基本的なレイアウトがまだありますが、クライアントに送信されるのは1回だけであり、Javascript部分が後続のすべてのUI更新を処理します。 問題は、私がこれをやったことがなく、誰もこれをしているのを見たことがないので、問題がどうなるかわかりません。特に、私は心配しています: まだパフォーマンス。ベンチマークでは、現在、ブラウザがAJAX更新後にページのほとんどを再レンダリングしようとするときに、主な遅延がクライアント側にあることが示されています。ASP.NET webformsで生成されたマークアップは、「web」という言葉に新しい意味を与えます。また、豊富なDevexpressコントロールは、その上に独自のJavascript複雑さのレイヤーを追加します。しかし、JavaScript側で必要なすべての変更を再計算し、更新する必要があるものだけを更新する方が速いでしょうか?いくつかの編集可能なグリッドビュー、多数のテキストボックス、それぞれに50万個のフィルター可能なアイテムが含まれるドロップダウンなどがあるフォームについて話していることに注意してください。 開発のしやすさ。Javascriptはもっと多くなり、おそらくページのHTMLマークアップと混ざります。それまたは何らかの種類の新しいビューエンジンを作成する必要があります。JavascriptのIntellisenseはC#コードよりもはるかに悪く、Javascriptの動的な性質のため、はるかに良くなることは期待できません。コーディングの慣行により少し改善できますが、それほど改善することはできません。また、ほとんどの開発者は主にC#開発者であるため、ある程度の学習曲線と最初の間違いがあります。 セキュリティ。多くのセキュリティチェックを2回(サーバー側とUI側)行う必要があり、データ処理サーバー側にはさらに多くのチェックを含める必要があります。現在、サーバー側でテキストボックスを読み取り専用に設定した場合、その値がクライアントのラウンドトリップを通じて変わらないことに依存できます。フレームワークには、それを保証するのに十分なコードが既にあります(ビューステートの暗号化により)。データのみのアプローチでは、すべてを手動で確認する必要があるため、難しくなります。一方、心配する必要があるのはデータだけなので、セキュリティホールを見つけるのは簡単です。 全体として、これは問題を解決するのか、それとも悪化させるのか?誰かがこれを試みたことがありますか?その結果はどうでしたか?この種の取り組みに役立つフレームワークはありますか(jQueryと道徳的な同等物は別として)?

2
共有状態がパフォーマンスを低下させるのはなぜですか?
私は、並行プログラミングの非共有原則の下で働いてきました。基本的に、すべてのワーカースレッドには、同じ状態の不変の読み取り専用コピーがあり、それらは(参照によっても)共有されることはありません。一般的に言えば、これは非常にうまく機能しています。 現在、誰かがすべてのスレッドが同時にアクセスしているロックなしシングルトンキャッシュ(静的辞書など)を導入しています。辞書は起動後に変更されることはないため、ロックはありません。スレッドセーフの問題はありませんでしたが、現在はパフォーマンスが低下しています。 問題は...ロックがないため、このシングルトンの導入がパフォーマンスに影響を与えるのはなぜですか?これを説明できるカバーの下で正確に何が起こっていますか? 確認するために、この新しいシングルトンにアクセスすることが唯一の変更であり、キャッシュへの呼び出しをコメントアウトするだけで確実に再作成できます。

9
プログラミングにおいて設計パターンはどれほど重要ですか?
私は大学生で、デザインパターンについて学び始め、デザインパターンの目的を理解するのに苦労しています。私はそれらを研究しようとしましたが、私が見つけたすべてのリソースは、専門的ではなく学術的な方法でそれらについて話しているようです。 彼らの目的は何であり、学ぶことは重要ですか?

2
新しいSystem.Tupleクラスの使用は設計が悪いですか?
System.Tupleのコンセプトは、新しいクラスをインスタンス化せずに単一の関数呼び出しで複数のパラメーターを返すことができるという点で気に入っていますが、Microsoft Patterns&Practices、SOLID Principlesなどの優れたプログラミングプラクティスを無視します。 私はこの機能をどれだけ自由に使用すべきか、または必要なときにエッジケースシナリオでのみ使用すべきかどうかを測定しようとしています。

3
F#のパフォーマンスとErlangのパフォーマンス、ErlangのVMが高速であることの証明はありますか?
私は関数型プログラミングの学習に時間を費やしてきたので、チュートリアルや例に手を出すのではなく、プロジェクトの作成を始めたい部分に来ました。 私の研究を行っている間、Erlangは並行ソフトウェアの作成に関しては非常に強力であるようです(これが目標です)が、開発用のリソースとツールはMicrosoft開発製品ほど成熟していません。 F#はLinux(Mono)で実行できるため、要件は満たされますが、インターネットを調べていると、F#とErlangの比較が見つかりません。現時点では、Erlangが最も報道されているという理由だけで傾いていますが、2つのシステムの間に実際にパフォーマンスの違いがあるかどうかは興味があります。 私は.NETでの開発に慣れているため、おそらくErlangよりもF#の方がはるかに高速になりますが、F#がErlangと同じくらいスケーラブルであることを納得させるリソースは見つかりません。 シミュレーションに最も興味があります。これは、多くの迅速に処理されたメッセージを永続ノードに送信します。 私が尋ねようとしているもので良い仕事をしていないなら、さらなる検証を求めてください。
19 f#  erlang 

7
Linuxを実行するサーバーに展開されるPHPアプリケーションをWindows上で効果的に開発することは可能ですか?
WindowsでPHPをコーディングし、後でLinuxを実行しているサーバーでPHPをホストしても問題ありませんか?そのようなプロジェクトの移行に問題はありますか? 私はPHPの初心者であり、OS固有の高度な機能は使用しないため、特に問題はないと思います。ただし、Linuxがまったく好きではないので、確認したいと思います。
19 php  windows  linux 

11
ソフトウェア開発-プロジェクト、プログラマー1人-バスに乗ったらどうなる?
私が現在働いている会社では、社内のミッションクリティカルなソフトウェアを数多く開発しています。私のために働いているもう一人の人がいますが、彼はテストの人であり、実際には開発者ではありません。会社は、これらのプロジェクトのいくつかと、バスに当たった場合にどうなるかを心配しています。コードベースを知っている人が1人しかいない場合、会社はそのようなことをどのように取り戻しますか。プロジェクトの現在のステータスを知っている1人。 私のドキュメントとコードに記載されているドキュメントを使用して、使用する言語を理解している別のプログラマーを雇うだけで、すぐにスピードアップできることを説明しました。 彼らは、何かが起こった場合に「引き継ぐ」ことができる毎月「最新に保たれる」かもしれない外部の会社を提案しました。支払いのために誰かにお金を払う以外に、これがどのように役立つかわかりません。さらに悪いことに、このコンサルティング会社とプロジェクトについて話し合うのに月に1日無駄になっていることを想像しています。私はこれがどのように役立つのかを理解していますが、私が早すぎる死の後にプログラマーを雇うことよりも、それはもはや役に立たないと思います。 考え?似たような状況と、現在どこで働いているのか
19 business 

19
無料のゲーム開発言語ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 だから、私はずっと若いいとこにプログラミングについて少し教えようとしています。私の最初の考えは、スクラッチやアリスのようなものでしたが、それにはいくつかの欠点がありました。 誰もが実際にゲームのプログラミングとビデオゲームの開発に熱中しているようです(誰もがビデオゲームをプレイするのが大好きで、ビデオゲームをプレイする限り、自分のゲームをプレイすることが最もやりがいがある場合があります)-しかし、アリスもスクラッチもゲームに対応していないようです開発 アリスとスクラッチは幼稚すぎるように見えますが、私のいとこはそれに手を出して楽しむと確信していますが、彼はすぐにそれを退屈させたと思います 私は彼の友人を感動させる本当にクールなものを開発するために使用できる言語が欲しいです。私はその日にBASICを書き戻し、友達全員を招待して自分の作品を披露したことを覚えています。アリスとスクラッチは同じようには訴えないように感じます いとこがコードを書くことを要求する言語が欲しい。これは、コードを入力することが他のプログラミング言語の良い準備だと思うからだけではありませんが、実際にタイピングを練習する機会を与え、キーボードの少し難解な文字に慣れる可能性があるためです それで、アリスとスクラッチを選択したくないのです。 また、CやJava、さらにはPythonやRubyなどの言語を選択したくありません。私のいとこはすでにビデオゲームを楽しんでいて、自分で作りたいと思っていること、そしてコンピューターを使って楽しんでいることを私に伝えました。私の意見では、PythonやRubyのような単純な言語でも、クールなものを作成するには時間がかかりすぎます。理想的には、彼は座って1日か2日(あるいは1週間まで、でもそれ以下であることが望ましい)過ごし、2次元のゲームを機能させます。PythonやRubyではできないと言っているわけではありませんが、初めてのプログラマにとっては難しいと言っているだけです。それに、コンピューターサイエンスのすべてを彼に行き詰まらせたくはありません。私は彼が火花を生成するのを手伝って、それから彼に火の残りを続けさせたいです。 Luaのような言語を見てきましたが、ゲームプログラミングではよくあるように見えますが、それが最良の選択かどうかはわかりませんが、そうでないと思われる場合はお知らせください。 また、Blitzのような言語も見てきましたが、非常に有望に見えます(さらに、数年前に試してみましたが、非常に素晴らしかったです)。欠点は、私が支払う必要があるということです。 SmallBasicを見てきましたが、これは有望なようであり、今後も調べていきます。しかし、私はあまりやっていません(実際、これを入力しながらインストーラーを実行しているので、すぐに考えを報告します)。 更新:SmallBasicを簡単に試してみましたが、興味をそそられるように思えますが、他の言語と比較してもかなり異なっているようです。私が見たもののうち、Blitzは今でも私のお気に入りですが、費用のためにそこへ行くことを拒否します。 しかし、基本的に、皆さんはこれまで私が言ってきたこと、そして私が見た言語についてどう思いますか、他の良い代替案を知っていますか? 更新:ここで私がすることを選んだ... 私は私のいとこを助けたいと思っていますが、私はいつも彼と一緒にいることはできず、彼が助けを必要とするたびに彼を助けることはできないことに気付きました。だから、私は良いドキュメンテーション、良いコミュニティ、そして彼が従うことができる良い本を持っているものを選びたかった。 とにかく、PythonとPygameを選択しました。Pythonは私がかなり馴染みのある言語です。さらに、Pythonの周りにはかなり良い(そしてかなり大きな)コミュニティがあることを知っています。さらに、Pythonのドキュメントはかなり完全で、ナビゲートしやすいことを知っています。Pygameには、優れたドキュメントと一連のチュートリアルもあります。私は彼にInvent Your Own Computer Games with Pythonを使用/フォローさせていますが、これは非常に良い本のように思えます。テキストとエディターを常に入れ替えるのは不便です。 うまくいくと思います! 編集:私の選択が最終的なものであることや、正しいことを暗示したくありません。この状況に最適だと思います。若い人に教えることを考えている各人は、年齢、スキルレベル、興味などを考慮して、選択を閲覧し、個々の人に最適な解決策を見つけるべきだと思います。

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