プログラミング

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


4
Mockitoの一般的な「any()」メソッドを使用する
私は配列を期待するメソッドとのインターフェースを持っていますFoo: public interface IBar { void doStuff(Foo[] arr); } 私はMockitoを使用してこのインターフェイスをモックしており、それdoStuff()が呼び出されたと主張したいのですが、渡された引数を検証したくありません-「気にしないでください」。 次のコードをany()、ジェネリックメソッドの代わりにを使用してどのように記述しますanyObject()か? IBar bar = mock(IBar.class); ... verify(bar).doStuff((Foo[]) anyObject());

7
SSH-PK-Authenticationで後で使用するためにPKCS12ファイルから公開鍵/秘密鍵を抽出します
PKCS#12SSH-Public-Key-Authenticationで後で使用するために、ファイルから公開鍵と秘密鍵を抽出したいと思います。 現在、私はssh-keygenを介し.ssh/authorized_keyて、クライアント側のどこかにそれぞれキーを生成しています。 将来的には、PKCS#12コンテナーのキーを使用するため、最初に公開キーを抽出してからPKCS#12、.ssh/authorized_keysファイルに配置します。これを介して動作させる機会はありますopensslか?鍵はPKCS#12ssh公開鍵認証と互換性がありますか?

2
発生する前にwindow.setTimeout()をキャンセル/キルする
たとえば、ステータスをクリアするために以下の行を使用する場所がいくつかあります。私はこれらのいくつかを10秒以上ハングアウトしており、ユーザーがアクションの周りをクリックすると、誤った時間間隔で発生する可能性があります。 window.setTimeout(function() { removeStatusIndicator(); }, statusTimeout); いくつかのjQueryまたはJavaScriptコードを使用してこれをキャンセルまたは強制終了することは可能ですか?このプロセスが滞っていないのですか?
194 javascript  jquery 

10
既存のテーブルに主キーを追加する
という既存のテーブルがありますPersion。この表には5つの列があります。 persionId プネーム PMid 説明 Pamt このテーブルを作成したときに、PersionIdおよびPnameを主キーとして設定しました。 次に、主キーにもう1つの列(PMID)を含めます。ALTERこれを行うためのステートメントをどのように書くことができますか?(テーブルにはすでに1000レコードあります)


8
data.tableの名前で列をどのように削除しますか?
で「foo」という名前の列を削除するにはdata.frame、次のようにします。 df <- df[-grep('foo', colnames(df))] ただし、いったんオブジェクトにdf変換されるとdata.table、列を削除するだけの方法はありません。 例: df <- data.frame(id = 1:100, foo = rnorm(100)) df2 <- df[-grep('foo', colnames(df))] # works df3 <- data.table(df) df3[-grep('foo', colnames(df3))] しかし、いったんdata.tableオブジェクトに変換されると、これは機能しなくなります。
194 r  data.table 


7
Class.getResource()とClassLoader.getResource()の違いは何ですか?
私は違いが間にあるのだろうかClass.getResource()とClassLoader.getResource()? 編集:特にキャッシュがファイル/ディレクトリレベルで行われているかどうかを知りたいです。「クラスのバージョンではディレクトリのリストがキャッシュされますか?」のように 私の知る限り、以下は本質的に同じことをするはずですが、そうではありません: getClass().getResource() getClass().getClassLoader().getResource() WEB-INF/classes/そのディレクトリの既存のファイルから新しいファイルを作成するレポート生成コードをいじるときに、これを発見しました。Classのメソッドを使用すると、を使用してデプロイメント時に存在していたファイルを見つけることができましたがgetClass().getResource()、新しく作成されたファイルをフェッチしようとすると、nullオブジェクトを受け取りました。ディレクトリを参照すると、新しいファイルがそこにあることがはっきりとわかります。ファイル名の先頭には、「/ myFile.txt」のようにスラッシュが付いています。 一方、のClassLoaderバージョンでgetResource()は、生成されたファイルが見つかりました。この経験から、ディレクトリリストのキャッシュが行われているようです。私は正しいですか、そうであれば、これはどこに文書化されていますか? 上のAPIドキュメントからClass.getResource() 指定された名前のリソースを検索します。特定のクラスに関連付けられているリソースを検索するためのルールは、クラスの定義クラスローダーによって実装されます。このメソッドは、このオブジェクトのクラスローダーに委譲します。このオブジェクトがブートストラップクラスローダーによってロードされた場合、メソッドはClassLoader.getSystemResource(java.lang.String)に委譲します。 私には、これは「Class.getResourceが実際に独自のクラスローダーのgetResource()を呼び出している」と読みます。これはと同じgetClass().getClassLoader().getResource()です。しかし、明らかにそうではありません。誰かが私にこの問題についていくつかの照明を提供してくれませんか?

9
アプリが再開するのではなく再起動する
うまくいけば、解決策ではないにしても、少なくとも行動の説明を誰かが私に理解してくれることを願っています。 問題: 一部のデバイスでは、ランチャーアイコンを押すと現在のタスクが再開されます。その他のデバイスでは、初期起動インテントが起動されます(効果的にアプリを再起動します)。なぜこれが起こるのですか? 詳細: 「ランチャーアイコン」を押すと、アプリが正常に起動します。つまり、最初の名前でActivityアクションandroid.intent.action.MAINとカテゴリを指定してインテントが起動されますandroid.intent.category.LAUNCHER。ただし、常にそうであるとは限りません。 ほとんどのデバイスでは、アプリが既に実行されている後にランチャーアイコンを押すと、そのプロセスで現在実行中のアクティビティが再開されます(最初のアクティビティではありませんActivity)。OSメニューの「最近のタスク」から選択した場合と同じように再開します。これは、すべてのデバイスで必要な動作です。 ただし、選択した他のデバイスでは、異なる動作が発生します。 Motorola Xoomでは、ランチャーアイコンを押すと、現在実行中の内容に関係なく、アプリは常に最初の起動を開始しActivityます。ランチャーアイコンは常に「LAUNCHER」インテントを開始すると思います。 サムスンタブ2で、ランチャーアイコンを押すと、アプリをインストールしたばかりの場合、常にイニシャルActivity(Xoomと同じ)が起動しますが、インストール後にデバイスを再起動すると、ランチャーアイコンが代わりに起動しますアプリを再開します。これらのデバイスは、ランチャーアイコンが実行中のタスクを正しく再開できるようにする、デバイスの起動時に「インストール済みアプリ」をルックアップテーブルに追加すると思いますか? 私はそれを多くの答えを読んだ音私の問題に似ていますが、単に追加android:alwaysRetainTaskState="true"または使用するlaunchMode="singleTop"にはActivity答えていません。 編集: このアプリの最新の起動後、最初の再起動後にすべてのデバイスでこの動作が発生し始めていることがわかりました。気が狂っているように思えますが、再起動プロセスを調べても、実際には何が問題なのかを見つけることができません。

2
Maven「モジュール」対「プロジェクト」(Eclipse、m2eclipseプラグイン)
私はMavenの初心者で、コマンドラインの観点から少し遊んだことがあるので、今はEclipseで使用しようとしています。そのためにm2eclipseプラグインをインストールしました。 しかし、私は最初から困惑しています!どうやら、私は線に沿ってどこかで少し用語を逃しました。これらすべての新しいMaven用語を追跡できません... Mavenプロジェクトとは何ですか?Mavenモジュールとは何ですか?これらは、EclipseのMavenカテゴリで新しいプロジェクトを作成するときのオプションです。
194 eclipse  maven  m2eclipse 


18
フラグメントonResume()およびonPause()がバックスタックで呼び出されない
アクティビティ内に複数のフラグメントがあります。ボタンをクリックすると、新しいフラグメントが開始され、バックスタックに追加されます。私は当然onPause()、現在のFragmentとonResume()新しいFragment のメソッドが呼び出されることを期待していました。まあそれは起こっていません。 LoginFragment.java public class LoginFragment extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View view = inflater.inflate(R.layout.login_fragment, container, false); final FragmentManager mFragmentmanager = getFragmentManager(); Button btnHome = (Button)view.findViewById(R.id.home_btn); btnHome.setOnClickListener(new View.OnClickListener() { public void onClick(View view){ HomeFragment fragment = new HomeFragment(); FragmentTransaction ft2 = mFragmentmanager.beginTransaction(); …


30
四捨五入せずに数値を小数点以下2桁に切り捨てます
15.7784514という値があるとすると、丸めなしで15.77を表示したいとします。 var num = parseFloat(15.7784514); document.write(num.toFixed(1)+"<br />"); document.write(num.toFixed(2)+"<br />"); document.write(num.toFixed(3)+"<br />"); document.write(num.toFixed(10)); 結果- 15.8 15.78 15.778 15.7784514000 15.77を表示するにはどうすればよいですか?
194 javascript 

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