問題タブ [carp]

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 投票する
1 に答える
340 参照

perl - プラック/スターマンの下で「告白」を呼び出す

Carp モジュールから 'confess' を呼び出す TryCatch ステートメントで実行されている Plack/Starman アプリケーションがあります。ただし、告白の出力が STDOUT に出力されていないことに気付きました。STDERR 出力を STDOUT '2>&1' にルーティングしようとしましたが、まだ何も表示されません。運が悪い可能性のあるエラーログファイルを検索しました。この印刷先は世界のどこですか?おそらく簡単な答えだと思います。ログファイルはどこにありますか? それが問題になる場合、私はUbuntuボックスで実行しています。

ありがとう

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

python - Python での CARP ハッシュ

次の IETF ドラフトで説明されているように、Python で CARP ハッシュを実装しようとしています。

https://datatracker.ietf.org/doc/html/draft-vinod-carp-v1-03#section-3.1

具体的には:

3.1. ハッシュ関数

ハッシュ関数は、ゼロで終わる ASCII 入力文字列に基づいて 32 ビットの符号なし整数を出力します。URL のマシン名とドメイン名、プロトコル、および各メンバー プロキシのマシン名は、URL のその部分で大文字と小文字が区別されないため、小文字で評価する必要があります。

このアプリケーションでは不可逆性と強力な暗号化機能は不要であるため、ビットごとの左回転演算子に基づく非常に単純で高速なハッシュ関数が使用されます。

(URL の各文字): URL_Hash += _rotl(URL_Hash, 19) + char ;

メンバー プロキシ ハッシュは、同様の方法で計算されます。

(MemberProxyName の各文字) の場合: MemberProxy_Hash += _rotl(MemberProxy_Hash, 19) + char ;

メンバー名は互いに似ていることが多いため、それらのハッシュ値は、次の追加操作によってハッシュ空間全体にさらに分散されます。

MemberProxy_Hash += MemberProxy_Hash * 0x62531965 ; MemberProxy_Hash = _rotl (MemberProxy_Hash, 21) ;

3.2. ハッシュの組み合わせ

ハッシュは、最初に URL ハッシュをマシン名で排他的論理和 (XOR) し、次に定数を掛けてビットごとのローテーションを実行することによって結合されます。

最終値と中間値はすべて 32 ビットの符号なし整数です。

Combined_Hash = (URL_hash ^ MemberProxy_Hash) ; 結合ハッシュ += 結合ハッシュ * 0x62531965 ; Combined_Hash = _rotl(Combined_Hash, 21) ;

numpy を使用して 32 ビットの符号なし整数を作成しようとしました。最初の問題は、左ビット シフトが実装されている場合に発生します。Numpy は結果を 64 ビット符号なし整数として自動的に再キャストします。32 ビットをオーバーフローする演算についても同じです。

例えば:

戻り値:

「numpy.int64」と入力します

これをすべて 32 ビット空間に制限する方法のヒントはありますか? また、ハッシュを計算しているため、「MemberProxy_Hash += MemberProxy_Hash * 0x62531965」のようなこれらの操作のいくつかを実行する方法が 32 ビットに収まるかどうかについて、仕様に少し混乱しています。


編集:

フィードバックに基づくと、適切な解決策は次のようになります。

編集#2:

別の固定バージョン。

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

perl - Carp-1.25 をインストールできません

Windows 用 Strawberry Perl、「DWIM Perl」をhttp://dwimperl.com/からインストールしました。カープを使いたいです。そこで、CPAN から Carp-1.25 をダウンロードし、TAR を解除して、nmake を実行しました。

私は得る:

Windows nmake の問題ではないことに注意してください。cygwin で make を実行すると、同様のエラーが発生します。

私のシステム: MS Windows 7.

(ちなみに、私は ActiveState Perl を問題なく実行しており、PPM は問題なく Carp をダウンロードしてインストールします。Strawberry/DWIM Perl に切り替えた理由は、デバッガーを実行したいからで、Padre のActiveState の最新バージョンは 0.86 でバグがあるので、Padre 0.92 を使用したいので DWIM Perl をインストールしました)。

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

perl - コイ:sassignのARRAYの奇妙なコピー。修正はありますか?

die内からしようとすると、厄介な問題が発生しますeval

コードは次のとおりです。

この場合、$self->$func次のようなエラーで特定のページにデタッチするハンドラーを指します。

これは、出口で使用できるように配置する必要があります。"REDIR:$url"$@eval

ただし、Carp.pmが死ぬ代わりに、diewithの内部のどこかにあると思います

周りを見回すと、ダイ中のスタックに関連するperlの奥深くにバグがあるという示唆がいくつかあります(例: http: //code.activestate.com/lists/perl5-porters/149248/)が、これでは恐れていますポイント私はperlの知識の限界にあり、これが関連しているかどうか、または関連している場合はどうすればよいかわかりません。:(

この問題を回避する方法や、からエラー文字列を返す別の方法があるevalかどうか、またはこれを間違って読んでいるかどうかを誰かが知っていますか?

0 投票する
0 に答える
180 参照

perl - @CARP_NOT (Moose and Method Modifiers) を使用した間違った場所からの Carp レポート

これはwarnings::warnif( 'deprecated' … ) with carp?に対するフォローアップの質問です。.

これは、 Github の Business::Cyber​​Sourceからの私のコードのスニペットです。

注:前の回答(前の質問)、およびの追加は、を使用@CARP_NOTすることを示しています。鯉を直接代用しようとしましたが、動作はまったく同じでした。warnings::warnifcarp

しかし、このコードを呼び出すと

エラーはまだ間違った場所から報告されています (少なくとも からではありませんClass::MOP::Method::Wrapped) 。

テスト ファイルの正しい行番号からこのレポートを作成するにはどうすればよいですか? ->new(注:使用する代わりに直接呼び出した場合、動作は変わりませんでしたnew_ok

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

perl - Carp で通話を「安全でない」とマークするにはどうすればよいですか?

Can't disable stack trace in Carp::croak() for some reasonと同じ問題があります。スタック内のすべての呼び出しは「安全」と見なされるため、毎回croak()完全なスタック トレースが出力されます。特定の通話では無効にしたいと思います。

次に例を示します。

どちらのサブルーチンも同じパッケージに含まれているため、this_may_fail自動的に安全とマークされます。Carp にthis_may_fail安全でないと見なすべきことを伝える方法はありますか?

0 投票する
0 に答える
384 参照

apache - Perl / Apache / CGI / Carp : fatalsToBrowser を動作させることができません

Apache で実行する perl Web アプリケーションを作成しており、デバッグのためにエラー メッセージをブラウザーにリダイレクトしたいと考えています。fatalsToBrowserこれについては、から見つけましたCGI::Carp

残念ながら、エラー メッセージの代わりに「内部サーバー エラー」が表示され、最終的に apache エラー ログに記録されます。これが私のコードです:

CGI::Carpのドキュメントで、「fatalsToBrowser は mod_perl バージョン 2.0 以降ではうまく機能しない可能性があることに注意してください」と読みました。

私は mod_perl 2 を使用fatalsToBrowserしていますが、単純な 'Hello World' の CGI の例で使用すると動作します。しかし、この機能が私の設定で機能しないのか、それとも何か間違っているのかはわかりません。

これを機能させる方法を知っている人はいますか?

0 投票する
0 に答える
87 参照

eclipse - Perl デバッグの原因: "PerlDebugJob" 中に内部エラーが発生しました

私は自分が間違っていることを知りませんでした。Perl スクリプトをデバッグすると、終了しました。scipr が終了する場所は、関数からの完全に通常のリターンです。

終了する直前に、Carpモジュールから関数longmess に移動します。これは巨大なプロジェクトであるため、ここではコードのプレビューのみを掲載します。通常のコードがどのように失敗するかを確認するだけです。

終了につながるモジュールをプロジェクトから「削除」し、このモジュールを個別に実行すると、問題ありません。したがって、エラーは別の場所になります。

ここに画像の説明を入力 (このエラーはコードのさまざまな場所で発生しましたが、returnコマンドでのみ発生しました) perl 5.16、Eclipse、Epic、および c:\Perl\site\lib\ にあるプロジェクトを使用しています

私を助けてください。ありがとうございました

編集

問題は、Eclipse でデバッグ モードでプログラムを実行した場合にのみ発生します。デバッグせずに実行すると