プログラミング

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

11
.NET例外をキャッチして再スローするためのベストプラクティス
例外をキャッチして再スローするときに検討すべきベストプラクティスは何ですか?ExceptionオブジェクトInnerExceptionとスタックトレースが保持されることを確認したいと思います。次のコードブロックの処理方法に違いはありますか? try { //some code } catch (Exception ex) { throw ex; } 対: try { //some code } catch { throw; }


7
一部のマシンではTransactionScopeが自動的にMSDTCにエスカレートしますか?
このプロジェクトでは、TransactionScopeを使用して、データアクセスレイヤーがトランザクションでアクションを実行するようにします。エンドユーザーのマシンでMSDTCサービスを有効にする必要がないことを目指しています。 問題は、開発者のマシンの半分で、MSDTCを無効にして実行できることです。残りの半分は有効にする必要があります。そうしないと、「[サーバー]のMSDTCが利用できません」というエラーメッセージが表示されます。 それは本当に頭を悩ませる原因になり、ADO.NETトランザクションオブジェクトに基づく自作のTransactionScopeのようなソリューションにロールバックすることを真剣に検討するように私に促します。それは一見非常識だ-私たちの開発者の半分の作品は(とエスカレートしない)と同じコードし、他の開発者にエスカレートします。 トランザクションがDTCにエスカレートされる理由をトレースに適切に回答することを望んでいましたが、残念ながらそうではありません。 問題を引き起こすコードのサンプルは次のとおりです。エスカレートしようとするマシンでは、2番目の接続でエスカレートしようとします。 using (TransactionScope transactionScope = new TransactionScope() { using (SqlConnection connection = new SqlConnection(_ConStr)) { using (SqlCommand command = connection.CreateCommand()) { // prep the command connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { // use the reader connection.Close(); } } } // Do other stuff here that …

2
一部のfloat <integer比較が他のものより4倍遅いのはなぜですか?
浮動小数点数を整数と比較する場合、値のペアによっては、同様の大きさの他の値よりも評価に時間がかかります。 例えば: &gt;&gt;&gt; import timeit &gt;&gt;&gt; timeit.timeit("562949953420000.7 &lt; 562949953421000") # run 1 million times 0.5387085462592742 しかし、浮動小数点数または整数を一定量だけ小さくまたは大きくすると、比較ははるかに速く実行されます。 &gt;&gt;&gt; timeit.timeit("562949953420000.7 &lt; 562949953422000") # integer increased by 1000 0.1481498428446173 &gt;&gt;&gt; timeit.timeit("562949953423001.8 &lt; 562949953421000") # float increased by 3001.1 0.1459577925548956 比較演算子を変更しても(例:==または&gt;代わりに)、時間に顕著な影響を与えることはありません。 大きい値または小さい値を選択すると比較が高速になるため、これはマグニチュードだけに関連しているわけではないので、ビットの並び方が不運なことにあるのではないかと思います。 明らかに、これらの値を比較することは、ほとんどのユースケースで十分な速さです。なぜPythonが他の値のペアよりもいくつかの値のペアで苦労しているように見えるのか、私は単に興味があります。

6
Javaメソッドを非推奨または宣言する方法
私のメソッドの1つを「非推奨」にしたい=もう使用しません。 しかし、それでも私はそれを私のAPIに入れたいです。私はその方法を使用しているすべての人に「警告」を表示したいだけです。 どうすればそれを達成できますか?
284 java  deprecated 

19
10進数を2進数で正確に表現できないのはなぜですか?
浮動小数点表現についてSOに投稿された質問がいくつかあります。たとえば、10進数0.1には正確な2進数表現がないため、==演算子を使用して別の浮動小数点数と比較するのは危険です。浮動小数点表現の背後にある原理を理解しています。 私が理解していないのは、数学的な観点から、小数点の右側の数値が左側の数値よりも「特別」である理由です。 たとえば、61.0という数値は、任意の数値の整数部分が常に正確であるため、正確なバイナリ表現になります。しかし、6.10という数値は正確ではありません。私がしたことは、小数点を1桁移動することだけでしたが、突然、ExactopiaからInexactvilleに移動しました。数学的には、2つの数値の間に本質的な違いがあってはなりません。それらは単なる数値です。 それとは対照的に、小数部を反対方向に1桁動かして610を生成しても、Exactopiaのままです。私はその方向(6100、610000000、610000000000000)に進むことができますが、それらはまだ正確です。ただし、小数がしきい値を超えるとすぐに、数値は正確ではなくなります。 どうしたの? 編集:明確にするために、IEEEなどの業界標準の表現についての議論は避け、数学的に「純粋な」方法であると私が信じるものに固執したいと思います。基数10では、位置の値は次のとおりです。 ... 1000 100 10 1 1/10 1/100 ... バイナリでは、次のようになります。 ... 8 4 2 1 1/2 1/4 1/8 ... また、これらの数に任意の制限はありません。位置は左と右に無制限に増加します。

12
コンパイルされた言語と解釈された言語
私は違いをよりよく理解しようとしています。私はオンラインで多くの説明を見つけましたが、実際的な影響よりも抽象的な違いに向かう傾向があります。 私のプログラミング経験のほとんどは、CPython(動的、解釈済み)、およびJava(静的、コンパイル済み)での経験があります。ただし、他の種類のインタープリター型およびコンパイル型言語があることは理解しています。コンパイルされた言語で記述されたプログラムから実行可能ファイルを配布できるという事実は別として、各タイプに利点/欠点はありますか?インタプリタ言語はインタラクティブに使用できると人々が主張することをよく耳にしますが、コンパイルされた言語にもインタラクティブな実装があると思いますよね?



7
複数の要素を配列にプッシュする
複数の要素を1つの配列としてプッシュしようとしていますが、エラーが発生します &gt; a = [] [] &gt; a.push.apply(null, [1,2]) TypeError: Array.prototype.push called on null or undefined 私は私が考えていた、私はルビーでやるだろうと同様のものをやろうとしているapplyようなものです*。 &gt;&gt; a = [] =&gt; [] &gt;&gt; a.push(*[1,2]) =&gt; [1, 2]
284 javascript 




16
jQueryがリンクを無効にする
誰もが使用せずにjqueryのリンクを無効にする方法を知っていreturn false;ますか? 具体的には、私がやろうとしているのは、アイテムのリンクを無効にし、何かをトリガーするjqueryを使用してクリックし、そのリンクを再度有効にして、再度クリックするとデフォルトで機能するようにすることです。 ありがとう。デイブ 更新これ がコードです。.expandedクラスが適用された後に行う必要があるのは、無効にされたリンクを再度有効にすることです。 $('ul li').click(function(e) { e.preventDefault(); $('ul').addClass('expanded'); $('ul.expanded').fadeIn(300); //return false; });
284 jquery  hyperlink 


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