問題タブ [magic-numbers]

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.

0 投票する
2 に答える
208 参照

magic-numbers - 「単純な」魔法の値を処理するには?

これはかなり言語に依存しないと思いますが、間違っている場合は C# (または C または C++) を使用してください。

「単純な」魔法の値とは、次のようなことを意味します。

また

また

これ(上記の疑似コード)を書いているときに、実際には0と比較されるものにのみ適用されることにちょっと驚かされました。

とにかく、これらの種類の魔法の値を処理する最良の方法は何ですか (読みやすさ、作成するキーストローク/コードの量と名前を考慮して)?

これ専用の (静的) クラス全体 (または C# では列挙型) を持つことは、非常にやり過ぎのように感じます。

0 投票する
1 に答える
8546 参照

.net - -532459699 の意味は何ですか?

これは、多くの .NET 例外 (特に COM 例外だと思います) で終了コードとして返される数値です。

この質問では、誰かが Reflector を使用して、ほぼすべての Exception コンストラクターでこの値がプライベート変数に初期化されていることを発見しました。

私の質問は、なぜですか?この数字にはどのような意味がありますか?恣意的に選ばれたとは信じがたい。数値の意味さえわかりません (たとえば、2 進数または 16 進数表現)。

0 投票する
3 に答える
788 参照

python - 任意のバイトのユーザーフレンドリーな文字列に使用する構成ファイル形式は?

そこで、最初にマジック ナンバー/ファイル署名を調べて、あいまいな拡張子を持つファイルを Windows で起動する短い Python スクリプトを作成しました。

関連付けを簡単にするために .exe にコンパイルしたいのですが (bbfreeze を使用するか、C で書き直してください)、一致するバイト文字列とプログラム パスを指定するには、ある種のユーザー フレンドリーな構成ファイルが必要です。基本的に、この情報を何らかの形でプレーンテキストファイルに入れたいと思っています:

(16 進バイトは、Unicode 文字ではなく、単なる任意のバイトです。)

この形式の .py ファイルは機能すると思いますが、コンパイルされていないままにして、何らかの形でコンパイル済みファイルにインポートする必要があり{ます,

私は YAML を調べましたが、最初に base64 エンコードのバイナリーを必要とすることを除けば素晴らしいと思いますが、これは私が本当に望んでいるものではありません。構成ファイルにバイトの 16 進表現を含めることをお勧めします。しかし、それがすべてのファイル署名である場合は、ASCII表現も。そして多分また正規表現。:D (たとえば、XML ベースの形式をさまざまな量の空白で記述できる場合)

何か案は?

0 投票する
4 に答える
2601 参照

c# - マジックナンバー検出でWMAファイルとWMVファイルの違いを確認するにはどうすればよいですか?

マジックナンバーに基づいて、ファイルの種類を盗聴しようとしています。いくつかのグーグルの後、私は次の情報を見つけました:

WMA:

主な関連付け:Windows Media
会社:Microsoft Corporation
ファイル分類:Audio
Mimeタイプ:audio / x-ms-wma、video / x-ms-asf
文字の識別16進数:30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C

WMV:

主な関連付け:Windows Mediaファイル
会社:Microsoft Corporation
Mimeタイプ:video / x-ms-wmv
文字の識別16進数:30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C

これらの魔法数は、オーディオとビデオの両方で使用されます。どちらかを持っているかどうかをどのように検出できますか。System.IO.Stream注:拡張機能は使用できません。バイト数しかありません。

0 投票する
3 に答える
261 参照

magic-numbers - 数字が魔法ではないのはいつですか?

私はこのような機能を持っています:

私がこのようにそれを使うならば:

それらの1/2のマジックナンバーはありますか?

0 投票する
3 に答える
96 参照

java - static final int フィールドの代わりに数値を直接使用することでメモリを節約できると誰かが私に言いましたが、それは本当ですか?

私の Android プロジェクトには、バンドル エクストラ キー、ハンドラーのメッセージ引数、ダイアログ ID ant などを表す多くの定数があります。

ハンドラーで:

彼は、静的な最終コンスタンスが多すぎると、多くのメモリが必要になると述べました。しかし、彼の解決策により、コードが読みにくくなり、リファクタリングしにくくなると思います。

私はこの質問を読んで、たくさんグーグルで検索しましたが、答えが見つかりませんでした。 java: 通常の 1 よりも final static int = 1 を使用していますか?

誰かが静的決勝のメモリコストを教えてくれることを願っています.

下手な英語でごめんなさい。

0 投票する
2 に答える
1013 参照

java - クラスファイルへのマジックナンバーの挿入

すべてのクラス ファイルのマジック ナンバーとタイプが削除された jar がありますが、この特定の領域についてはあまり詳しくありません。0XCAFEBABE を追加し、型を各クラスファイルに戻し、jar を再パックする最善の方法は何でしょうか?

編集:確認しましたが、マジックナンバーのみが欠落しており、手動で追加してもファイルはそのままです。

0 投票する
2 に答える
3892 参照

erlang - Erlangで定数のようなものをどのように定義すればよいですか?

制約なしの最小化を行うモジュールがあります。インターフェースをできるだけシンプルに保ちたいので、min_of(F)のような単一の関数に減らすのが最善の選択です。

しかし、残忍な計算になるとすぐに、最小化アルゴリズムの精度と最大反復回数の少なくとも2つの定数を処理する必要があるため、ターゲット関数に極小値がまったくない場合でもハングしません。

とにかく、次善の選択は次のとおりです:min_of(F、Iterations、Eps)。大丈夫ですが、私はそれが好きではありません。別のmin_of(F)で次のように定義してもらいたいです。

しかし、マジックナンバーはありません。

私はErlangを初めて使用するので、これに適切に対処する方法がわかりません。マクロ、変数、または定数を返す関数を定義する必要がありますか?それとも何か他のもの?Erlangは非常に表現力豊かであることがわかったので、この質問は技術的な質問というよりも良い習慣のようです。

0 投票する
1 に答える
305 参照

java - アプレットの .jar がおかしくなっていますか?

アプレットを Google サイトに入れようとしています (ドメインのホスティングには費用がかかるため)。私はそれを機能させました、それはサイトにあります。さて、私はこれにまったく慣れていません。私の質問は、なぜ私のアプレットが機能しないのですか?

私が最初に試したのは、すべてのファイルをGoogleドライブにアップロードしてそこにアクセスすることでした(私のアプレットは複数のテキストファイルにアクセスします[読み取り専用、書き込み不可])が、FTPがASCIIでクラスを作成するため、マジックナンバーエラーが発生しましたファイルはすべてばかげているので、私は調査しました。

さて、ファイルをホストする Web サイトを取得し、FTP を選択します (クラス ファイルにはバイナリを、テキスト ファイルには ASCII を自動的に実行しました)。これにより改善されましたが、署名されていないアプレットはクラス ファイル以外のファイルにアクセスできないようです(おもう)。

だから、私は自分のアプレット用に .jar を作成しましたjar cvf [jar name].jar [blah blah blah, class files I need and text files I need]

ファイル ホスティング サイトにアップロードしましたが、ああ、マジック ナンバー エラーです。2 何か たくさんの数字。この時点で、私の HTML コードは次のようになりました。

サイトの FTP クライアントが私の jar をいじっているのではないかと思い、FileZilla を使用してサーバーにアップロードしましたが (バイナリ転送タイプを選択しました)、それでもマジック ナンバー エラー 1347093252 が発生しました。これは zip ファイルの開始です。信じてください(このファイルのリンクをクリックすると、実際にダウンロードされます)。

私はおそらく何かばかげたことをしましたが、これについてはまったくの初心者であることを繰り返したいと思います。

誰かが助けてくれたら、それは素晴らしいことです。

私がすでに試したこと:Javaキャッシュをクリアしてアプレットをロードし(ここからは、リストされているすべてのものが「アプレットをロードして」で終わると仮定します)、もう一度クリアし、ブラウザを閉じ、Javaキャッシュをクリアし、キャッシュをクリアします-ブラウザを閉じる - キャッシュのクリア、リロード、コンピュータの変更、インターネット接続の変更、コンピュータとインターネット接続の変更。

0 投票する
2 に答える
4564 参照

c# - マジックストリングと数字の回避

私は過去数年にわたってさまざまなプログラマーによって編集されたアプリケーションに取り組んでおり、文字列リテラルを使用してMenuItemsにアクセスする際の問題に遭遇しました。

例:多くの場所に次のようなコードがあります

また

  1. MenuItemを識別し、アクセスに使用されているすべての場所をキャッチするために使用される文字列を変更するにはどうすればよいですか?メニューとmenuitemsはパブリックとして宣言され、この大規模なアプリケーション全体で使用されます

  2. これらのマジックインデックスの使用を防ぐ正しい方法は何ですか。新しいアイテムが追加されたり、名前が変更されたりするたびに、物事が壊れることを予見しています。

PS私は、すべてのmenuItemがキーとペアになっている列挙型辞書アプローチの使用を開始しました。しかし、これでも他の開発者に私の実装を使用させることはなく、質問2に対する最も洗練されたソリューションでもありません。