プログラミング

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

3
Cloneableが非推奨にならないのはなぜですか?
CloneableJavaのインターフェースが壊れていることは一般的に理解されています。これには多くの理由がありますが、これについては触れません。他の人はすでにそれをしました。また、Javaアーキテクト自身の立場でもあります。 したがって、私の質問は次のとおりです。なぜまだ非推奨になっていないのですか?コアJavaチームが破損していると判断した場合は、廃止も検討しているはずです。そうすることに対する彼らの理由は何ですか(Java 8ではまだ非推奨ではありません)?


10
MongoDBでのトランザクションの不足を回避するにはどうすればよいですか?
同様の質問がここにあることは知っていますが、トランザクションが必要な場合、またはアトミック操作または2フェーズコミットを使用する場合は、通常のRDBMSシステムに切り替えるように指示しています。2番目のソリューションが最良の選択のようです。3つ目は、多くの問題が発生する可能性があり、あらゆる面でテストすることができないため、フォローしたくありません。アトミック操作を実行するためにプロジェクトをリファクタリングするのに苦労しています。これが私の限られた視点から来たのか(これまでSQLデータベースでしか作業していない)のか、それとも実際に実行できないのかはわかりません。 弊社でMongoDBをパイロットテストしたいと思います。私たちは比較的単純なプロジェクト、つまりSMSゲートウェイを選択しました。私たちのソフトウェアがSMSメッセージをセルラーネットワークに送信することを可能にし、ゲートウェイは、実際にはさまざまな通信プロトコルを介してプロバイダーと通信するという汚い仕事をします。ゲートウェイは、メッセージの請求も管理します。サービスを申請するすべての顧客は、いくつかのクレジットを購入する必要があります。システムは、メッセージが送信されると自動的にユーザーの残高を減らし、残高が不足している場合はアクセスを拒否します。また、私たちはサードパーティのSMSプロバイダーのお客様であるため、独自の残高を提供する場合もあります。それらも追跡する必要があります。 複雑さを軽減する場合(外部請求、キューSMS送信)、MongoDBで必要なデータを保存する方法について考え始めました。SQLの世界から来て、ユーザー用の別のテーブル、SMSメッセージ用の別のテーブル、およびユーザーのバランスに関するトランザクションを格納するためのテーブルを作成します。MongoDBのすべてのコレクションを個別に作成するとします。 この簡略化されたシステムで次の手順を実行するSMS送信タスクを想像してください。 ユーザーに十分なバランスがあるかどうかを確認します。十分なクレジットがない場合はアクセスを拒否します 詳細とコストを含むSMSコレクションにメッセージを送信して保存します(ライブシステムではメッセージにstatus属性があり、タスクは配信のためにそれを取得し、現在の状態に応じてSMSの価格を設定します) 送信されたメッセージのコストによってユーザーのバランスを減らす トランザクションをトランザクションコレクションに記録する それで問題は何ですか?MongoDBは、1つのドキュメントに対してのみアトミック更新を実行できます。前のフローでは、なんらかのエラーが発生し、メッセージがデータベースに格納されても、ユーザーの残高が更新されなかったり、トランザクションがログに記録されなかったりする場合があります。 私は2つのアイデアを思いつきました: ユーザーの単一のコレクションを作成し、残高をフィールドとして保存し、ユーザー関連のトランザクションとメッセージをユーザーのドキュメントのサブドキュメントとして保存します。ドキュメントをアトミックに更新できるため、実際にはトランザクションの問題が解決されます。短所:ユーザーが多数のSMSメッセージを送信すると、ドキュメントのサイズが大きくなり、4MBのドキュメント制限に達する可能性があります。そのようなシナリオで履歴ドキュメントを作成できるかもしれませんが、これは良い考えではないと思います。また、同じ大きなドキュメントにさらに多くのデータをプッシュすると、システムがどのくらい高速になるかわかりません。 ユーザー用とトランザクション用に1つのコレクションを作成します。トランザクションには、正の残高変更のあるクレジット購入と負の残高変更のある送信メッセージの 2種類があります。トランザクションにはサブドキュメントがある場合があります。たとえば、送信されたメッセージでは、SMSの詳細をトランザクションに埋め込むことができます。欠点:現在のユーザーの残高は保存しないので、ユーザーがメッセージを送信しようとするたびに計算して、メッセージが通過できるかどうかを判断する必要があります。保存されたトランザクションの数が増えると、この計算が遅くなる可能性があります。 どの方法を選択するかについて少し混乱しています。他の解決策はありますか?これらの種類の問題を回避する方法に関するオンラインのベストプラクティスを見つけることができませんでした。NoSQLの世界に慣れようとするプログラマーの多くは、最初は同様の問題に直面していると思います。

2
RegisterStartupScriptとRegisterClientScriptBlockの違いは何ですか?
間の唯一の違いですRegisterStartupScriptとRegisterClientScriptBlockRegisterStartupScriptを閉じる前に、JavaScriptを置くことで</form>ページのタグとあるRegisterClientScriptBlockは、右の開始後にそれを置く<form>ページのタグ? また、いつどちらを選ぶのですか?問題が発生した簡単なサンプルページを書きましたが、それが発生している正確な理由がわかりません。 aspxマークアップは次のとおりです。 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="lblDisplayDate" runat="server" Text="Label" /><br /> <asp:Button ID="btnPostback" runat="server" Text="Register Startup Script" onclick="btnPostback_Click" /><br /> <asp:Button ID="btnPostBack2" runat="server" Text="Register" onclick="btnPostBack2_Click" /> </div> </form> </body> </html> これが背後にあるコードです: protected void Page_Load(object sender, EventArgs e) { lblDisplayDate.Text = DateTime.Now.ToString("T"); …
139 c#  javascript  asp.net  .net 

1
<script>タグは<noscript>タグの内部でどのような目的に使用されますか?
私は最近、興味深いデザインとコンテンツを備えたWebサイトで「ソースを表示」しました。これらのWebサイトの1つであるSquarespaceには、次のように&lt;script&gt;タグの内側にタグのブロックがあります&lt;noscript&gt;。 &lt;!-- Page is at: http://squarespace.com --&gt; ... ... &lt;noscript id="inline-deps"&gt; &lt;link rel="stylesheet" type="text/css" href="//cloud.typography.com/7811972/758964/css/fonts.css" /&gt; &lt;script type="text/javascript" src="https://static.squarespace.com/static/ta/5134cbefe4b0c6fb04df8065/7400/assets/logomark/logomark.min.js?37"&gt;&lt;/script&gt; &lt;link rel="stylesheet" href="https://static.squarespace.com/static/ta/5134cbefe4b0c6fb04df8065/7400/assets/logomark/logomark.min.css?37" type="text/css" /&gt; &lt;/noscript&gt; ... ... それは奇妙なことに私を襲い、そのような奇妙なHTMLのある種の隠された機能/目的があるかどうかを調べるために情報を探しましたが、役に立ちませんでした。要素の&lt;script&gt;内部にタグを置くことには何らかの目的があります&lt;noscript&gt;か、それとも単なる悪いHTMLの例ですか?

6
デフォルトのエンコーディングがASCIIの場合、なぜPythonはUnicode文字を出力するのですか?
Python 2.6シェルから: &gt;&gt;&gt; import sys &gt;&gt;&gt; print sys.getdefaultencoding() ascii &gt;&gt;&gt; print u'\xe9' é &gt;&gt;&gt; 「é」文字はASCIIの一部ではなく、エンコーディングも指定していないため、printステートメントの後に意味不明またはエラーが発生するはずです。デフォルトのエンコーディングであるASCIIが何を意味するのか理解できません。 編集 編集を[ 回答]セクションに移動し、提案どおりに承認しました。

8
Javaリフレクション:変数の名前を取得する方法?
Javaリフレクションを使用して、ローカル変数の名前を取得することは可能ですか?たとえば、私がこれを持っている場合: Foo b = new Foo(); Foo a = new Foo(); Foo r = new Foo(); これらの変数の名前を見つけることができるメソッドを実装することは可能ですか? public void baz(Foo... foos) { for (Foo foo: foos) { // Print the name of each foo - b, a, and r System.out.println(***); } } 編集:この質問は異なりますJavaに関数に渡された変数の名前を見つける方法はありますか?それは、リフレクションを使用してローカル変数の名前を決定できるかどうかについての質問をより純粋に尋ねるのに対し、他の質問(受け入れられた回答を含む)は変数の値のテストにより焦点を当てています。
139 java  reflection 


4
プライベートタイプでautoを使用できるのはなぜですか?
次のコードがコンパイルされて実行されることになんとなく驚いた(vc2012&gcc4.7.2) class Foo { struct Bar { int i; }; public: Bar Baz() { return Bar(); } }; int main() { Foo f; // Foo::Bar b = f.Baz(); // error auto b = f.Baz(); // ok std::cout &lt;&lt; b.i; } このコードが正常にコンパイルされることは正しいですか?そして、なぜそれが正しいのですか?auto名前を(期待どおり)使用できないのに、プライベートタイプで使用できるのはなぜですか?

12
文字列でPHPクラスプロパティを取得する
文字列に基づいてPHPでプロパティを取得するにはどうすればよいですか?それを呼ぶよmagic。だから何magicですか? $obj-&gt;Name = 'something'; $get = $obj-&gt;Name; のようになります... magic($obj, 'Name', 'something'); $get = magic($obj, 'Name');
139 php  string  oop  properties 

8
Swift Array-インデックスが存在するかどうかを確認します
Swiftで、致命的なエラーがスローされることなく配列にインデックスが存在するかどうかを確認する方法はありますか? 私はこのようなことができることを望んでいました: let arr: [String] = ["foo", "bar"] let str: String? = arr[1] if let str2 = arr[2] as String? { // this wouldn't run println(str2) } else { // this would be run } しかし、私は得る 致命的なエラー:配列のインデックスが範囲外です
139 swift 

15
UIButtonのテキスト配置センターを作成する方法?IBの使用
IBを中心としてUIButtonのタイトルを設定できません。タイトルは複数行です。このようにあげています でも私はこのようにしたい 私はこれにスペースを与えましたが、それをしたくありません。場合によっては正確に配置されず、配置を設定するUILabelのプロパティがあることはわかっていますが、そのためのコードを記述したくありません。IBからすべてを設定したいだけです。 ありがとう

18
シンボル「AndroidJUnit4」を解決できません
明らかに、この問題を解決するには、正しいインポート文が必要です。のドキュメントにAndroidJUnit4よると、これは import android.support.test.runner.AndroidJUnit4; そうすると、Android Studio runnerが赤くハイライト表示され、「シンボル 'runner'を解決できません」というメッセージが表示されます。 バックグラウンド 私は、Androidデベロッパーサイトのチュートリアルに従って、UI Automatorを使用してテストを設定することで、この時点に到達しました。私が遭遇した最初の問題はそれでcom.android.support:support-v4:22.2.0ありcom.android.support.test:runner:0.2、の異なるバージョンに依存していますcom.android.support:support-annotations。私はこのAndroidバグレポートの提案に従い、allprojectsプロジェクトのに以下を追加しましたbuild.gradle: configurations.all { resolutionStrategy.force 'com.android.support:support-annotations:22.1.0' } これは当面のエラーを解決しましたが、それが私の現在の問題につながると思います。誰かがこれを修正する方法について何か提案がありますか? `./gradlew:app:dependenciesの関連するセクション androidTestCompile - Classpath for compiling the androidTest sources. +--- com.jayway.android.robotium:robotium-solo:5.2.1 +--- com.squareup:fest-android:1.0.8 | \--- org.easytesting:fest-assert-core:2.0M10 | \--- org.easytesting:fest-util:1.2.5 +--- com.android.support.test:runner:0.2 | +--- junit:junit-dep:4.10 | | \--- org.hamcrest:hamcrest-core:1.1 | +--- com.android.support.test:exposed-instrumentation-api-publish:0.2 | \--- com.android.support:support-annotations:22.0.0 …

3
Android RelativeLayoutがプログラムで「centerInParent」を設定する
私はこのようなRelativeLayoutを持っています: &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dip"&gt; &lt;Button android:id="@+id/negativeButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20dip" android:textColor="#ffffff" android:layout_alignParentLeft="true" android:background="@drawable/black_menu_button" android:layout_marginLeft="5dip" android:layout_centerVertical="true" android:layout_centerHorizontal="true"/&gt; &lt;Button android:id="@+id/positiveButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20dip" android:textColor="#ffffff" android:layout_alignParentRight="true" android:background="@drawable/blue_menu_button" android:layout_marginRight="5dip" android:layout_centerVertical="true" android:layout_centerHorizontal="true"/&gt; &lt;/RelativeLayout&gt; プログラム的positiveButtonに同じ効果を設定できるようにしたい: android:layout_centerInParent="true" これをプログラムでどのように作成できますか?

9
JavaScriptで本文またはドキュメントにdiv要素を追加する
純粋なJavaScriptでライトボックスを作成しています。そのためにオーバーレイを作成しています。このオーバーレイを本文に追加しますが、ページのコンテンツも保持します。私の現在のコードはオーバーレイdivを追加しますが、本文の現在のコンテンツも削除します。div要素を追加してコンテンツを本文に保持する方法は? var el = document.getElementById('element'); var body = document.getElementsByTagName('body'); el.innerHTML = '&lt;p&gt;&lt;a id="clickme" href="#"&gt;Click me&lt;/a&gt;&lt;/p&gt;'; document.getElementById('clickme').onclick = function (e) { e.preventDefault(); document.body.innerHTML = '&lt;div style="position:absolute;width:100%;height:100%;opacity:0.3;z-index:100;background:#000;"&gt;&lt;/div&gt;'; }
139 javascript 

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