プログラミング

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

12
IEEE754 NaN値に対してfalseを返すすべての比較の根拠は何ですか?
NaN値の比較が他のすべての値と異なる動作をするのはなぜですか?つまり、演算子==、<=、> =、<、>のいずれかまたは両方の値がNaNであるすべての比較は、他のすべての値の動作とは逆に、falseを返します。 これにより数値計算がある程度簡略化されたと思いますが、他の設計上の決定について詳細に説明しているKahanによるIEEE 754のステータスに関する講義ノートでさえ、明確に述べられた理由を見つけることができませんでした。 この逸脱した動作は、単純なデータ処理を行うときに問題を引き起こしています。たとえば、Cプログラムでいくつかの実数値フィールドに対してレコードのリストを並べ替える場合、NaNを最大要素として処理する追加のコードを記述する必要があります。そうしないと、並べ替えアルゴリズムが混乱する可能性があります。 編集: これまでの答えはすべて、NaNを比較することは無意味であると主張しています。 私は同意しますが、これは正解が偽であることを意味するのではなく、幸いなことに存在しないブール値ではない(NaB)です。 したがって、比較に対してtrueまたはfalseを返すかどうかの選択は、私の見解では任意であり、一般的なデータ処理では、データ構造を考慮せずに、通常の法則(==の再帰性、<、==、>のトリコトミー)に従うと有利です。これらの法律に依存するものは混乱します。 だから私は、哲学的推論だけでなく、これらの法律を破ることのいくつかの具体的な利点を求めています。 編集2: NaNを最大にすることが悪い考えになる理由が今理解できたと思います、それは上限の計算を台無しにするでしょう。 NaN!= NaNは、次のようなループで収束を検出しないようにするために望ましい場合があります。 while (x != oldX) { oldX = x; x = better_approximation(x); } ただし、絶対的な違いを小さな制限と比較することで記述します。だから私見これはNaNで反射性を壊すための比較的弱い議論です。


4
「android:allowBackup」とは何ですか?
以来新しいADTプレビュー版(バージョン21) 、彼らは私に(アプリケーションタグで)マニフェストファイルに次の事を伝え、新たな糸くずの警告があります。 android:allowBackupを明示的にtrueまたはfalseに設定する必要があります(デフォルトではtrueであり、アプリケーションのデータにセキュリティ上の影響がある可能性があります) では、公式ウェブサイト、彼らが書きました: いくつかの新しいチェック:アプリがバックアップを許可するかどうか、およびラベルチェックを明示的に決定する必要があります。ライブラリパスを設定するための新しいコマンドラインフラグがあります。編集中の増分lint分析に対する多くの改善。 この警告は何ですか?バックアップ機能とは何ですか?どのように使用しますか? また、警告がセキュリティに影響することを警告するのはなぜですか?この機能を無効にすることの欠点と利点は何ですか? マニフェストのバックアップには2つの概念があります。 「android:allowBackup」は、次に示すように、adbを介してバックアップと復元を許可します。 アプリケーションがバックアップおよび復元インフラストラクチャに参加できるようにするかどうか。この属性がfalseに設定されている場合、アプリケーションのバックアップまたは復元は、すべてのアプリケーションデータがadb経由で保存されるシステム全体のバックアップによっても実行されません。この属性のデフォルト値はtrueです。 これは、ADBを介してアプリをバックアップし、アプリのプライベートデータをPCに取り込むことができるため、セキュリティの問題と見なされます。 ただし、ほとんどのユーザーはadbが何であるかを知らないため、問題ではないと思います。知っていれば、デバイスのルート権限を取得する方法も知っています。ADB機能は、デバイスでデバッグ機能が有効になっている場合にのみ機能します。これには、ユーザーがそれを有効にする必要があります。 したがって、デバイスをPCに接続してデバッグ機能を有効にするユーザーのみが影響を受けます。PCにADBツールを使用する悪意のあるアプリがある場合、アプリがプライベートストレージデータを読み取る可能性があるため、これは問題となる可能性があります。 Googleは、ADBを介したアプリのバックアップと復元を許可するために、デフォルトで無効になっている機能を開発者カテゴリに追加するだけでよいと思います。 「android:backupAgent」は、こことここに示されているように、クラウドのバックアップと復元機能の使用を許可します。 実装するクラスの名前は、アプリケーションのバックアップエージェントであり、BackupAgentのサブクラスです。属性値は完全修飾クラス名( "com.example.project.MyBackupAgent"など)である必要があります。ただし、省略形として、名前の最初の文字がピリオド(たとえば、「。MyBackupAgent」)の場合、要素で指定されたパッケージ名に追加されます。デフォルトはありません。名前を指定する必要があります。 これはセキュリティの問題ではありません。


17
npm startを実行すると、開始スクリプトでエラーが発生する
npm startコマンドを使用してノードアプリケーションをデバッグしようとすると、このエラーが発生します。 エラー: npm ERR!Windows_NT 6.3.9600 npm ERR!argv "C:\ Program Files \ nodejs \\ node.exe" "C:\ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js" "start" npm ERR!ノードv0.12.7 npm ERR!npm v2.11.3 npm ERR!スクリプトがありません:npm ERRを開始してください!npm ERR!ヘルプが必要な場合は、このエラーをnpm ERR!に報告してください。 https://github.com/npm/npm/issues npm ERR!サポートリクエストには次のファイルを含めてください:npm ERR!C:\ Users \ andrmoll.NORTHAMERICA \ Documents \ GitHub …

4
多くの例がMatplotlib / pyplot / pythonで `fig、ax = plt.subplots()`を使用する理由
私はmatplotlib例を研究することで使い方を学んでいます、そして多くの例は単一のプロットを作成する前に次のような行を含むようです... fig, ax = plt.subplots() 下記は用例です... 目盛りラベルのテキストを変更する http://matplotlib.org/examples/pylab_examples/boxplot_demo2.html この例では単一のグラフを作成することだけを試みていますが、この関数がよく使われているのがわかります。他に利点はありますか?の公式デモは、単一のグラフを作成するときにsubplots()も使用f, ax = subplotsし、それ以降はaxのみを参照します。これは彼らが使用するコードです。 # Just a figure and one subplot f, ax = plt.subplots() ax.plot(x, y) ax.set_title('Simple plot')



30
String.substringWithRangeをどのように使用しますか?(または、SwiftでRangesはどのように機能しますか?)
StringSwift でaの部分文字列を取得する方法はまだわかりません。 var str = “Hello, playground” func test(str: String) -> String { return str.substringWithRange( /* What goes here? */ ) } test (str) SwiftでRangeを作成できません。プレイグラウンドでのオートコンプリートはあまり役に立ちません-これはそれが示唆していることです: return str.substringWithRange(aRange: Range<String.Index>) Swift標準リファレンスライブラリに役立つ情報は見つかりませんでした。ここに別の野生の推測がありました: return str.substringWithRange(Range(0, 1)) この: let r:Range<String.Index> = Range<String.Index>(start: 0, end: 2) return str.substringWithRange(r) 他の回答(Swift Stringの文字のインデックスの検索)を見たことがあります。これStringはのブリッジタイプであるためNSString、「古い」メソッドは機能するはずですが、どのように機能するかは明確ではありません。たとえば、これも機能しません(有効な構文ではないようです): let x = str.substringWithRange(NSMakeRange(0, 3)) 考え?
266 swift 


24
文字列から特殊文字を削除する最も効率的な方法
文字列からすべての特殊文字を削除したい。使用できる文字は、A〜Z(大文字または小文字)、数字(0〜9)、下線(_)、またはドット記号(。)です。 私は以下を持っています、それは機能しますが、私は知っています(私は知っています!)それは非常に効率的ではありません: public static string RemoveSpecialCharacters(string str) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < str.Length; i++) { if ((str[i] >= '0' && str[i] <= '9') || (str[i] >= 'A' && str[i] <= 'z' || (str[i] == '.' || str[i] == '_'))) { sb.Append(str[i]); } …
266 c#  string 


8
JSONをJavaScriptオブジェクトに逆シリアル化する
AJAXを使用してアクセスされるJavaサーバーアプリケーションに文字列があります。次のようになります。 var json = [{ "adjacencies": [ { "nodeTo": "graphnode2", "nodeFrom": "graphnode1", "data": { "$color": "#557EAA" } } ], "data": { "$color": "#EBB056", "$type": "triangle", "$dim": 9 }, "id": "graphnode1", "name": "graphnode1" },{ "adjacencies": [], "data": { "$color": "#EBB056", "$type": "triangle", "$dim": 9 }, "id": "graphnode2", "name": "graphnode2" }]; 文字列がサーバーから取得されたときに、これを有効なJavaScriptオブジェクト(または配列)に変換する簡単な方法はありますか?または、文字列を手動で分割し、オブジェクトを手動で構築する必要がありますか?

14
XMLスキーマ(XSD)検証ツール?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 4年前休業。 この質問を改善する オフィスでは現在、与えられたスキーマに対してXMLファイルを生成するアプリケーションを作成しています。スキーマは.XSDファイルにあります。 生成されたXMLがスキーマと一致することを確認する自動テストに使用できるツールまたはライブラリはありますか? スキーマチェッカーはバンドルしないため、商用利用に適した無料のツールをお勧めします。開発者が開発中に使用できるようにするだけです。 開発言語はC ++です。違いがある場合はxmlファイルを生成し、テストで別のプログラムを呼び出して検証を行うことができるので、そうする必要はないと思います。
266 xml  validation  xsd  schema 

10
node.jsを使用してコールバックが呼び出されるまで関数を待機させる方法
私は次のような単純化された関数を持っています: function(query) { myApi.exec('SomeCommand', function(response) { return response; }); } 基本的にはを呼び出してmyApi.exec、コールバックラムダで指定された応答を返します。ただし、上記のコードは機能せず、ただちに戻ります。 非常にハッキーな試みのために、私はうまくいかなかった以下を試しましたが、少なくともあなたは私が達成しようとしていることを理解しています: function(query) { var r; myApi.exec('SomeCommand', function(response) { r = response; }); while (!r) {} return r; } 基本的に、これを行うための「node.js /イベント駆動型」の良い方法は何ですか?コールバックが呼び出されるまで関数が待機し、渡された値を返すようにしたいのですが。

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