ソフトウェア工学

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

7
デバッグについて詳しく知りたいのですが?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 プログラムをデバッグするには、主に次の方法を使用します。 printf(または他の言語では同等のもの)を使用して、特定のステートメントの後の変数の値をチェックするか、プログラムが条件付きステートメントまたはループに入ったかどうかをチェックします。 IDEを使用する場合は、ウォッチ/ブレークポイントを使用します。 上記の方法で問題を解決することができます。しかし、ビルドにはデバッグとリリースの2種類があることに気づきました。名前から、デバッグビルドがデバッグに役立つことを理解できます。また、デバッグビルドはシンボルテーブル情報などと呼ばれるものを保存することも読んだ。 デバッグビルドをデバッグに使用するにはどうすればよいですか?他に学ぶべきデバッグ技術はありますか?
8 debugging 

1
すべてのOpenStreetMapデータをインデックス付きの方法で効率的に保存するにはどうすればよいですか?
私が持っているPBFファイル国に関する以下の情報が含まれています。 それぞれ独自の経度、緯度、プロパティを持つノード。2Dスペースにポイントを格納するために使用されます。 それぞれのプロパティを持つ方法は、ノードを介して接続されます。道路、境界を保存するために使用されます。 このファイルの圧縮形式は80 MBですが、圧縮解除してDBに保存すると、592 MBになります。 ええ、それはベルギーだけの国のためのものです。フランス、ドイツ、イタリアを一緒に保管することを想像してください。 たとえば、アントワープからブリュッセルを通ってシャルルロワまでの単一の高速道路を見てみましょう。これは、高速道路のすべてのターンを格納するための大量のノードで構成されますが、これらすべてのターンが必要ですか?疑わしい。 私が何ができるようになりたいのか教えてみましょう: さまざまなズームレベルで地図を表示したい。少なくとも大都市、小都市、街路レベル。 2点間のルーティング情報を取得できるようにしたい。 GPS位置に最も近い道路を計算できるようにしたい。 データベース内のインデックスを使用して、場所を検索します。 ただし、最も重要なのは、データベースがモバイルデバイスに保存されるため、データベースが大きくなりすぎないことです。 そこで、2つの手法の組み合わせについて考えました。 すべての個々のノードの保存/処理を回避するための、表示目的の画像タイル。 道路に関する情報とともに、ルート情報の道路の端点を保存します。 この問題は、この情報だけではGPS位置に最も近い道路を計算できないことです。高速道路の曲がりを想像すると、2つの端点だけで高速道路にいると判断できません。エンドポイント間で中間ノードを保存することを考えていましたが、生成には非常にコストがかかると思います。また、道路の端点(Tスプリットのようなもの)を決定することは、T字型スプリットの上部に中点を保存する必要があるかどうかを理解する必要があるため、それほど簡単なことではありません。 したがって、画像タイルを使用すると表示が簡単です。しかし、ルーティングとGPS位置検索を行う簡単な方法を見つけることができません。どのようなストレージテクニックを検討する必要がありますか?80 MBファイルがのデータベースに変わるのは少し不便592 MBですが、そのサイズをできるだけ小さくしたいと思います... これをできるだけ効率的に行うにはどうすればよいですか?ディスクとCPUに関して。WP7をターゲットにしています...

4
再利用可能なオブジェクトの抽象メソッドとインスタンス変数
再利用できるように手直ししているJavaコードがかなりあります。問題は、プロジェクト固有の部分が多く、アプリケーションプロジェクトとコードベースプロジェクト間の結合のレベルが高くなることです。 抽象メソッドの使用を実装するクラスを使用して子クラスからリソースを取得する以下の状況と、インスタンス変数を宣言するだけの状況と比較してください。 抽象メソッド: public abstract class SuperBaseClass { public abstract int getNumberOne(); public abstract String getStringOne(); public abstract String getStringTwo(); public printStuff() { Log.i("IntAndTwoStrings", String.format("%i %s and %s", getNumberOne(), getStringOne(), getStringTwo())); } } public class ReusedAppClass extends SuperBaseClass { public int getNumberOne() { return 1; } public String getStringOne() { …

3
命令型プログラミング言語での型のキャストと変換に違いはありますか?
StackOverflow での議論で問題が浮上しました。 (オブジェクトのタイプに関して)キャストと変換の 2つの概念の間に明確な違いはありますか、それともこれら2つの単語はまったく同じですか?C ++、Python、Java以外の言語はどうですか?EDIT:どのような問題の種類は次のように、プリミティブ型であるかintにfloat?

3
サーバー側のスクリプトの理解に役立つ
私が理解している限り、最近サーバーサイドスクリプトを実行するための3つのオプションがあります。 Webサーバーで直接解釈/実行できるスクリプト言語(PHPやASPなど)を使用して、スクリプトがその場で解釈/実行される(つまり、HTTPリクエストが来たときに)、出力はHTMLページに埋め込まれます。クライアントに送り返しました。 サーバーのオペレーティングシステムは、任意の言語(C、C ++、PERL、Pythonなど)を使用して(インタープリターを使用するか、コンパイル済みの実行可能ファイルを使用して)、CGIを使用してWebサーバーとOSの間で通信できます。 。スクリプトの出力は、CGIを介して完全なHTMLページの形式でサーバーに送られ、クライアントに送り返されます。 サーブレット/ JSPを処理できるサーバーでJavaを使用することは、PHP / ASPの代わりにJavaを使用することを除いて、上記のオプション1とほぼ同じです。 質問: 私の理解はこれまでのところ順調ですか、それとも何か問題がありましたか? ASPおよびPHPは、Webサーバーによって直接解釈および実行できる唯一の言語ですか? Rubyは上記の分類にどこに分類されますか?PHPなどのサーバーで解釈/実行できますか?それともCGI経由で通信しますか? CGIを介したサーバーサイドスクリプティングは時代遅れになったり、まったくなくなったりしますか?

4
GUIの自動テストを行うにはどうすればよいですか?
見えているものと見えないものを自動的に確認するにはどうすればよいですか?または、少なくとも一部の自動テストをどのように整理できますか? IDE:Eclipse(必要に応じてIntelliJ Ideaも使用できます) テストツール:Junit(ここでも、助言されれば他の何かを使用できますが、無料であればより良いです) アプリケーションOS:Android 開発者のOS:Linux(MACまたはWindowsで変更される可能性があります(しぶしぶ)) 言語:Java すべての作業は外部デバイスで行われます。エミュレーターはありません。 このアプリケーションは、外部アクティビティと呼ばれるファームウェアTVプレーヤーのユーザーラッパーです。したがって、コードの70%はGUI用です。(残りの30%はサーバーに話しかけ、GUIに情報を提供します) テスト機能をプログラムする前は、ツールを使用していません。今私は手元にツールを持っています。しかし、UIをツールを使用して、またはツールを使用せずにテストする方法を想像することはできません。(厳密には、インターネット接続では問題も発生しますが、おそらく他の質問のために残しておきます。)答えはプラットフォームに依存しすぎている必要はありません。原則とアイデアも役立ちます。 もちろん、チェックするのは良いことです。別の要素があり、チェックされているかどうかです。そのためには、いくつかの回帰チェックが適しています。しかし、アニメーションで注文したように、言及されている要素が他の要素やウィンクによってカットされていないことも確認する必要があります。 ここでのアドバイス:https : //softwareengineering.stackexchange.com/questions/63245/is-there-a-tool-to-test-java-ui は役に立ちません-ツールのみであり、原則ではなく、私の状況ではツールが役立ちます。
8 java  testing  gui  ui 

3
プログラミングのコストに基づく設計のコスト
あるプロジェクトでのプログラミングのコスト(作業時間)がわかっている場合に、UIデザインのコストを決定する必要があるときの方法論は何ですか? たとえば、一部のプロジェクトでのロジックのプログラミングにはXドルの費用がかかるとします。設計コストの決定に役立つ一般的な割合(プログラミングコストの30%など)はありますか? 関心のある分野は、携帯電話の開発(主にビジネスツールと2Dゲームであり、3Dではありません)です。ここでは、ウェブデザインやPCゲームデザインと比較して、デザイン作業が少なくなっています。

2
HTMLマークアップ用のユニットテストフレームワークはありますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 5年前休業。 私はウェブデザインショップで働いています。私たちのワークフローは2つの部分に分かれています。フロントエンドプログラマーがサイトデザインの静的なhtmlおよびcssテンプレートを作成し、バックエンドプログラマーがテンプレートをCMSに結び付けます。 私たちのサイトには一連の共通機能があり、この機能のテストに使用できる単体テストフレームワークがあるかどうか疑問に思っています。 たとえば、共通の機能ガイドラインの1 つでは、PDFへのすべてのリンクを新しいウィンドウで開く必要があると規定されています。このようなユニットテストを書きたいのですが if(a.class = 'pdf_link') assert(target='_blank) ウィキペディアの単体テストフレームワークのリストには、この比較的単純な機能(文字列をテンプレートに対してチェックする)を網羅するものは何もないようで、大量のbashスクリプトを作成してCIサーバーに結び付けることに傾倒しています。 しかし、これを行うより良い方法はありますか?

3
Androidを学ぶとき、最新かつ最高のことに集中すべきですか?
私はJava開発者です。モバイルアプリに慣れるために、Androidでの作業を開始します。私はAjaxツールキットを使用しましたが、モバイル開発は行っていません。 GWT 1.5と2.4のように、学習曲線が実際に急上昇する特定のツールキットの開発には大きな変化がありました。とりあえず、基本を(ベストプラクティスと共に)取得したいと思っています。Android 2とバージョン4でそれができるかどうかはわかりませんが、バージョン4では、今のところ知る必要のない追加の機能を投入するだけで、私の主な焦点から外れる可能性があります。 Androidの最新バージョンを使用する方がいいですか、それとも、基本事項がカバーされていることを確認するために、入手しやすく、開発を開始しやすい古いバージョンを使用しますか?
8 android 

1
自然にインスパイアされたアルゴリズムを学ぶための最良の方法は何ですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 6年前休業。 私は機械学習コース(スタンフォード)を修了し、非常に興味を持ちました。また、いくつかの調査の結果、自然にインスパイアされたアルゴリズムを学びたいと思いました。 次のようなリソースを見つけました。 賢いアルゴリズム:自然にヒントを得たプログラミングのレシピ(本) Wyss Institute(ウェブサイト) プログラミングゲームAIの例(書籍) 最初のリファレンスは見栄えがよく、疑似コードで完全に見えます(すべてをRuby、私の好みの言語で実装する可能性を与えてくれます)。また、すべてのコードにRuby実装を提供します。しかし、それは練習するための演習の欠如であり、これは重要な特徴だと私は思います。 2つ目は、この分野の研究を始めるきっかけとなったものですが、研究するコースや教材はありません。 3番目のものも見た目は良いですが、エクササイズが少ししかなく、集中しすぎている可能性があります(私はゲームが好きですが、自然にインスパイアされたアルゴリズムに関連する他のすべても研究したいと思っています)。また、それはC ++(ハード言語ではないが、Rubyに比べてその制限が気に入らない)に焦点が当てられており、Rubyまたは疑似コードで何かを優先します(ただし、私の優先事項ではありません)。 誰かが理論を補足するための演習も持っている何かを知っていますか?特に演習に焦点を当てて、学ぶべきことはありますか?(多分コースやビデオ講義)。

5
テスターに​​作業を提出する前に、開発者は何をテストする必要がありますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3年前休業。 テスターに​​作業を渡す前に開発者がチェックしなければならないチェックリストはありますか? また、開発者が注意しなければならない条件/ケースは何ですか?
8 testing  qa 

4
Gitリポジトリ内でSubversionリポジトリを使用する方法
私はGitでプロジェクトを開発しています。ITはSubversionリポジトリにある別のプロジェクトに依存しています。ツリー内のSubversionプロジェクトに変更を加え、Gitプロジェクト内からSubversionリポジトリにコミット/更新できるようにしたいと思います。それは可能ですか?
8 git  svn 

2
単体テストのライブラリとツールを評価するときに何を探す必要がありますか?
この投稿を改善してみませんか?この質問に対する詳細な回答を提供してください。これには、引用や、回答が正しい理由の説明が含まれます。詳細が不十分な回答は編集または削除される場合があります。 私はすぐにプロジェクトを開始するための新しい単体テストツールを選択しています。それらはたくさんあります! 私が持っている基本的な要件は、少なくともWindowsとLinuxでテストを実行でき、C ++ / C ++ 03互換であり、テストを並行して実行できることです(たとえば、マルチコアプロセッサを利用するため)。コマンドラインから実行することができます。しかし、これらはかなり広い要件であり、分野を絞り込んでいません。 それを試すために、さまざまなタイプの実装の潜在的な落とし穴と落とし穴を調べています。たとえば、Pythonなどの高レベル言語で単体テストエンジンを使用したい場合でも、C単体テストのような形式の出力を生成できますか?ここでの私の主な目的は、C ++とPythonの両方の結果テストに同じストレージツールとレポートツールを使用することです。 また、テストを実行するために特定のエンジンが必要なのか、それとも継続的インテグレーションエンジン(buildbot)に統合するのに十分なのかについても考えています。 上記の2つの懸念は有効ですか?単体テストエンジンを評価するとき、他に何を心配する必要がありますか?

2
Dragon Bookのアプローチに従う並列化コンパイラーを知っている人はいますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 コンパイラ:原理、技術、用具、アホら平行(第2版第11章)のために最適化するためのアプローチを記載します。そのアプローチに従う既存のコンパイラを知っている人はいますか?

2
Goが特徴とするプログラミングパラダイムの名前は何ですか?
Goがクラス階層を放棄する方法に興味をそそられ、典型的なオブジェクト指向の意味でのクラスの概念を完全に放棄しているようです。また、そのインターフェースを実装する型を知る必要なしにインターフェースを定義できる方法にも驚いています。 このタイプのプログラミング方法論と言語パラダイム(またはおそらくそれの特定の側面)を特徴付けるために使用できる/使用できる用語はありますか?Go言語のパラダイムは、古典的なOOPパラダイムから十分に新しく、明確であり、一意の名前を保証するためにコンピュータプログラミングの歴史において十分に重要ですか?

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