プログラミング

プロおよび熱狂的プログラマーのためのQ&A

13
スレッド間で共有されるリソースは何ですか?
最近、インタビューでプロセスとスレッドの違いは何ですかと質問されました。本当に、私は答えを知りませんでした。私は少し考えて、非常に奇妙な答えを出しました。 スレッドは同じメモリを共有しますが、プロセスは共有しません。これに答えた後、インタビュアーは私に邪悪な笑顔を与え、私に次の質問をしました Q. プログラムが分割されるセグメントを知っていますか? 私の答え:はい(簡単なものだと思いました)スタック、データ、コード、ヒープ Q. では、スレッドを共有するセグメントを教えてください。 私はこれに答えることができず、それらすべてを言うことになりました。 プロセスとスレッドの違いについて、誰でも正確で印象的な答えを提示できますか?

30
C ++でCSVファイルを読み取って解析するにはどうすればよいですか?
C ++でCSVファイルのデータを読み込んで使用する必要があります。この時点では、実際にはカンマで区切られたパーサーになります(つまり、新しい行やカンマをエスケープする必要はありません)。主なニーズは、メソッドが呼び出されるたびに次の行のベクトルを返す行ごとのパーサーです。 私はかなり有望に見えるこの記事を見つけました:http : //www.boost.org/doc/libs/1_35_0/libs/spirit/example/fundamental/list_parser.cpp 私はBoost's Spiritを使ったことがありませんが、試してみたいと思っています。しかし、私が見落としているより簡単な解決策がない場合にのみ。
264 c++  parsing  text  csv 


12
AsyncTaskは本当に概念的に欠陥があるのですか、それとも何か不足していますか?
私は今月この問題を調査してきましたが、さまざまな解決策を考え出しましたが、それらはすべて大規模なハックなので、満足できません。デザインに欠陥のあるクラスがフレームワークに組み込まれ、誰もそれについて話していないとはまだ信じられないので、私は何かを逃しているにちがいないと思います。 問題はにありAsyncTaskます。ドキュメントによると 「スレッドやハンドラーを操作しなくても、UIスレッドでバックグラウンド操作を実行して結果を公開できます。」 次に、例では引き続き、いくつかの例示的なshowDialog()メソッドがで呼び出される方法を示しますonPostExecute()。ただし、ダイアログを表示するには常に有効なへの参照が必要であり、AsyncTask がコンテキストオブジェクトへの強い参照を保持してはならないため、これは私には完全にContext不自然に思われます。 その理由は明らかです。タスクをトリガーしたアクティビティが破棄された場合はどうなりますか?これは常に発生する可能性があります。たとえば、画面をめくった場合などです。タスクは、それを作成したコンテキストへの参照を保持したい場合、あなたは(ウィンドウが破壊されているでしょうし、無用なコンテキストオブジェクトへの上に保持しているだけでなく、任意の UIの相互作用が例外で失敗します!)、あなたもAを作成する危険性メモリーリーク。 私のロジックにここで欠陥がない限り、これは次のように変換されます:onPostExecute()コンテキストにアクセスできない場合にこのメソッドをUIスレッドで実行するのはどのようなメリットがあるので、これはまったく役に立たないのですか?ここでは意味のあることは何もできません。 回避策の1つは、コンテキストインスタンスをAsyncTaskに渡すのではなく、Handlerインスタンスを渡すことです。これは機能します。ハンドラーはコンテキストとタスクを緩やかにバインドするため、リークの危険を冒すことなく、それらの間でメッセージを交換できます(正しいですか)。しかし、それはAsyncTaskの前提、つまりハンドラーに煩わされる必要がないということは間違っていることを意味します。同じスレッドでメッセージを送受信しているため、ハンドラーを悪用しているようにも見えます(UIスレッドでメッセージを作成し、UIスレッドで実行されるonPostExecute()で送信します)。 さらに、その回避策を使用しても、コンテキストが破棄されたときに、それが起動したタスクの記録がないという問題があります。つまり、たとえば画面の向きが変わった後など、コンテキストを再作成するときにタスクを再起動する必要があります。これは遅く、無駄です。 これに対する私の解決策(Droid-Fuライブラリで実装されている)は、WeakReferencesのコンポーネント名から、一意のアプリケーションオブジェクトの現在のインスタンスへのマッピングを維持することです。AsyncTaskが起動すると、そのマップに呼び出しコンテキストが記録され、コールバックごとに、そのマッピングから現在のコンテキストインスタンスがフェッチされます。これにより、失効したコンテキストインスタンスを参照することがなくなり、コールバック内の有効なコンテキストに常にアクセスできるため、そこで有効なUI作業を実行できます。また、参照が弱く、特定のコンポーネントのインスタンスが存在しなくなったときにクリアされるため、リークも発生しません。 それでも、これは複雑な回避策であり、いくつかのDroid-Fuライブラリクラスをサブクラス化する必要があるため、これはかなり煩わしいアプローチになります。 今私は単に知りたいです:私は何かを大規模に欠落していますか、それともAsyncTaskは本当に完全に欠陥がありますか?あなたの経験はどのように機能していますか?これらの問題をどのように解決しましたか? ご入力いただきありがとうございます。

17
HTMLページを指定されたアンカーまでスクロールする方法は?
JavaScriptを使用するだけで、ブラウザーでページを特定のアンカーにスクロールできるようにしたいと思います。 HTMLコードでnameまたはid属性を指定しました: <a name="anchorName">..</a> または <h1 id="anchorName2">..</h1> に移動して得られるのと同じ効果を得たいのですがhttp://server.com/path#anchorName。アンカーがページの表示部分の上部近くになるように、ページをスクロールする必要があります。


11
mockitoでオブジェクトの属性値を確認する
mockitoでモックしたいメソッド呼び出しがあります。まず、メソッドが呼び出されるオブジェクトのインスタンスを作成して注入しました。私の目的は、メソッド呼び出しでオブジェクトの1つを検証することです。 mockitoを使用して、モックメソッドが呼び出されたときにオブジェクトとその属性をアサートまたは検証できる方法はありますか? 例 Mockito.verify(mockedObject) .someMethodOnMockedObject( Mockito.<SomeObjectAsArgument>anyObject()) 代わりにanyObject()、引数オブジェクトに特定のフィールドが含まれていることを確認したい Mockito.verify(mockedObject) .someMethodOnMockedObject( Mockito.<SomeObjectAsArgument>**compareWithThisObject()**)
264 java  mocking  mockito 

23
入力ファイルを開けませんでした:職人
新しいlaravelプロジェクトを作成しようとすると、CLIに次のエラーが表示されます。 入力ファイルを開けませんでした:職人 エラーで返されたpost-install-cmdイベントを処理するスクリプトphp artisan clear-compiled 私は最新バージョンのXAMPP v3.2.1をPHP 5.5.15で使用し、mcryptを有効にしています(php -mコマンドを発行して、それを確認してください)。そして、私はwindows 8.1を実行しています

11
テキストオーバーフロー:省略記号が機能しない
これは私が試したものです(ここを参照してください): body { overflow: hidden; } span { border: solid 2px blue; white-space: nowrap; text-overflow: ellipsis; } 基本的に、ウィンドウを小さくすると、省略記号でスパンが縮小するようにします。何を間違えたのですか?
264 html  css 


14
JavaScriptの「送信は関数ではありません」エラー
誰かがこのコードの何が問題になっているのか教えてもらえますか?JavaScriptでフォームを送信しようとしましたが、「。submitは関数ではありません」というエラーが表示されました。コードの詳細については、以下を参照してください。 <form action="product.php" method="get" name="frmProduct" id="frmProduct" enctype="multipart/form-data"> <input onclick="submitAction()" id="submit_value" type="button" name="submit_value" value=""> </form> <script type="text/javascript"> function submitAction() { document.frmProduct.submit(); } </script> 私もこれを試しました: <script type="text/javascript"> function submitAction() { document.forms["frmProduct"].submit(); } </script> どちらも同じエラーを表示します:(
264 javascript  html  dom  submit 

16
OpenCVの使用時にモジュールcv2が見つかりません
OpenCVをインストールしましたここにある jayrambhiaのスクリプトを使用して、Raspberry PiのOccidentalisオペレーティングシステム(Raspbianの一種)にました。バージョン2.4.5をインストールしました。 import cv2Pythonプログラムで実行しようとすると、次のメッセージが表示されます。 pi@raspberrypi~$ python cam.py Traceback (most recent call last) File "cam.py", line 1, in <module> import cv2 ImportError: No module named cv2 ファイル cv2.soはに保存されます/usr/local/lib/python2.7/site-packages/... にはフォルダもあります /usr/local/libpython3.2とpython2.6というが、問題になる可能性、よくわかりません。 これはおそらくパスエラーですか?Linuxは初めてです。

5
Kotlinと新しいActivityTestRule:@Ruleは公開する必要があります
KotlinでAndroidアプリのUIテストを実行しようとしています。新しいシステムはActivityTestRuleを使用しているため、機能させることができません。正しくコンパイルされ、実行時に次のようになります。 java.lang.Exception: The @Rule 'mActivityRule' must be public. at org.junit.internal.runners.rules.RuleFieldValidator.addError(RuleFieldValidator.java:90) at org.junit.internal.runners.rules.RuleFieldValidator.validatePublic(RuleFieldValidator.java:67) at org.junit.internal.runners.rules.RuleFieldValidator.validateField(RuleFieldValidator.java:55) at org.junit.internal.runners.rules.RuleFieldValidator.validate(RuleFieldValidator.java:50) at org.junit.runners.BlockJUnit4ClassRunner.validateFields(BlockJUnit4ClassRunner.java:170) at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:103) at org.junit.runners.ParentRunner.validate(ParentRunner.java:344) at org.junit.runners.ParentRunner.<init>(ParentRunner.java:74) at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:55) at android.support.test.internal.runner.junit4.AndroidJUnit4ClassRunner.<init>(AndroidJUnit4ClassRunner.java:38) at android.support.test.runner.AndroidJUnit4.<init>(AndroidJUnit4.java:36) at java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:417) at android.support.test.internal.runner.junit4.AndroidAnnotatedBuilder.buildAndroidRunner(AndroidAnnotatedBuilder.java:57) at android.support.test.internal.runner.junit4.AndroidAnnotatedBuilder.runnerForClass(AndroidAnnotatedBuilder.java:45) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29) at org.junit.runner.Computer.getRunner(Computer.java:38) at org.junit.runner.Computer$1.runnerForClass(Computer.java:29) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) at …

5
「暗黙的」フローがうまく機能しているのに、OAuth2に「承認コード」フローがあるのはなぜですか?
「暗黙的」フローでは、リソース所有者(つまり、ユーザー)がアクセス権を付与した後、クライアント(ブラウザーなど)がアクセストークンを取得します。 ただし、「認証コード」フローでは、クライアント(通常はWebサーバー)は、リソース所有者(つまりユーザー)がアクセスを許可した後にのみ認証コードを取得します。次に、その認証コードを使用して、クライアントはAPIをもう一度呼び出し、client_idとclient_secretを認証コードとともに渡して、アクセストークンを取得します。ここですべてがよく説明されています。 両方のフローの結果はまったく同じです。アクセストークンです。ただし、「暗黙的」フローははるかに単純です。 質問:「暗黙的な」フローがうまく機能しているのに、なぜ「認証コード」フローに煩わされるのですか?ウェブサーバーに「暗黙的」も使用しないのはなぜですか? プロバイダーとクライアントの両方にとってより多くの作業です。

22
文字列とArrayBuffer間の変換
JavaScript文字列をArrayBuffersに効率的に変換するための一般に受け入れられている手法はありますか、またはその逆にますか?具体的には、ArrayBufferの内容を書き込んlocalStorageだり、読み込んだりできるようにしたいと考えています。

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