問題タブ [preconditions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
events - デバイスで UPnP サブスクリプションの更新が失敗する
デバイスで UPnP イベント サブスクリプションを更新しようとすると、412 HTTP エラー: Precondition Failed, bad SID が発生します。
このエラーは 1 つのデバイスでのみ発生し、他のすべてのデバイスは正常に動作します。バギーデバイスはD-Link XTreme N GIGABIT Router DIR-655 (Firmware Version:1.34WW, 2010/09/30), H/w ver: A4.
UPNP サブスクリプション ログ (Wireshark によってキャッチ)
サブスクリプション:
リニューアル:
初めてサブスクリプションの有効期限が切れる 5 秒前、たとえば最初のサブスクリプションから 55 秒後にサブスクリプションを更新しようとしました。2 回目の試行: 45 秒目ですが、結果は同じです。
また、サブスクリプション要求で HTTP/1.1 を使用しようとしました (そして "Connection:close" ヘッダーを追加しました) が、効果はありません。
私が間違っていることは何ですか?
UPD1 フォームウェアを 1.37WW に更新しても何も変わらない
UPD2
購読直後に購読を更新しようとすると、うまくいきます。750 ミリ秒待ってから更新 - 動作します。900 ミリ秒待ってから更新 - HTTP 412 で失敗します。D-Link 機器にバグがあるようです (別の D-Link ルーター DI-624 も同様に動作します)。インテル デバイス バリデーター ( https://software.intel.com/en-us/articles/intel-tools-for-upnp-technologies ) は、DIR-655 および DI-624 イベントをエラーなしで検証しますが、購読と更新のステップの間で一時停止します。したがって、UPNP イベンティングは信頼できるメカニズムではなく、使用しない方がよいと思います。
このようなデバイスの動作は、upnp イベント メカニズムのアイデアを危うくします。
liquibase - Liquibase: changeLogPropertyDefined が機能しない
Java システム プロパティ 'type' の値に応じて、2 つの挿入のうちの 1 つを実行しようとしています。しかし、updateSQL を実行すると、値に関係なく、変数「タイプ」が存在する場合でも、両方の挿入エントリが生成されます。これは私の変更セットです:
どうしたの?それを機能させるより良い方法はありますか?
java - Guava checkNotNull のポイントは何ですか
私は Guava にかなり慣れていません (正直に言うと、私は「かなり新しい」わけではありません。この件については完全な新人です)。そのため、いくつかのドキュメントを読むことにし、これを読んでかなり驚きました。
com.google.common.base.Preconditions.checkNotNull(...)
この方法のポイントがわかりません。これは、代わりに次のことを意味します。
(これにより、NullPointerException
myObject が null の場合に発生する可能性があります)
私は使用する必要があります
nullの場合はスローし、null でない場合は戻ります。NullPointerException
myObject
myObject
私は困惑しており、これはこれまでで最もばかげた質問かもしれませんが...
これのポイントは何ですか?これらの 2 つの行は、考えられるあらゆる状況が与えられた場合の結果とまったく同じことを行います。
後者の方が読みやすいとは思いません。
だから私は何かが欠けているに違いない。それは何ですか?
c# - ReSharper Curiosity: 「パラメータは前提条件チェックにのみ使用されます。」
ReSharper がこのコードについて私を判断するのはなぜですか?
2 番目のメソッド ValidateCorrespondingValueType の「settingValue」パラメーターは、ReSharper によって次のメッセージでグレー表示されます。「パラメーター 'settingValue' は前提条件チェックにのみ使用されます。」
parsing - Ada エラー: SYSTEM.ASSERTIONS.ASSERT_FAILURE が発生しました: lexical_analyzers.ads:20 からの前提条件に失敗しました
プログラミングの概念で私がやっていることのいくつかは、私の父の頭を超えています。なぜなら、次世代は前の世代よりも賢くなることが期待されているからです。いずれにせよ、私は 12 月 2 日までに終わらせなければならないプロジェクトに取り組んでいます。かなり複雑です。これは、Eiffel として知られる基本言語のパーサーおよび語彙アナライザーであるはずです。これまでのところ、教授の Web サイトとサンプル ファイルの助けを借りて、すべてのコンパイル エラーを修正しました (Ada に関する本で、パーサーや字句解析器の作成方法が説明されていることはないと思います)。exe をビルドして実行したところ、次のようなエラーが表示されることがわかりました。
この zip ファイル内の lexical_analyzers.ads のコードで指定されています。
https://drive.google.com/file/d/0B3ZPyNRv7C3heEN1cnU3dVFOZmM/view?usp=sharing
20 行目、おそらくその上の 17 行目でエラーが発生しています。これは、parser.adb ファイルの書き方に関係している可能性があります。この言語は、本体ファイルを作成する前に仕様ファイルを作成する必要があるという点で C 言語と非常によく似ており、コーディング中に行ったり来たりすることがあります。parser.adb ファイルに書いたすべてのメソッドを parser.ads ファイルにも指定する必要がありますか? 私はそう思います、それが言語の仕組みです。なぜこのエラーが発生するのかについて、他に何か考えはありますか?