プログラミング

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

16
Java:System.exit()を呼び出すメソッドをテストする方法は?
System.exit()特定の入力を呼び出す必要があるいくつかのメソッドがあります。残念ながら、これらのケースをテストすると、JUnitが終了します。System.exit()現在のスレッドだけでなく、JVMを終了するため、メソッド呼び出しを新しいスレッドに配置しても効果がないようです。これに対処するための一般的なパターンはありますか?たとえば、スタブを代用できSystem.exit()ますか? [編集]問題のクラスは、実際には私がJUnit内でテストしようとしているコマンドラインツールです。たぶんJUnitは単に仕事に適したツールではありませんか?補完的な回帰テストツールの提案を歓迎します(できれば、JUnitやEclEmmaとうまく統合できるものが望ましい)。


5
コンソールアプリケーションの.NETグローバル例外ハンドラ
質問:コンソールアプリケーションで未処理の例外のグローバル例外ハンドラーを定義したいと思います。asp.netでは、global.asaxで定義でき、Windowsアプリケーション/ servicesでは、次のように定義できます。 AppDomain currentDomain = AppDomain.CurrentDomain; currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyExceptionHandler); しかし、コンソールアプリケーションのグローバル例外ハンドラを定義するにはどうすればよいですか? currentDomainが機能しないようです(.NET 2.0)? 編集: ああ、愚かな間違い。 VB.NETでは、currentDomainの前に「AddHandler」キーワードを追加する必要があります。そうしないと、IntelliSenseでUnhandledExceptionイベントが表示されません... これは、VB.NETとC#コンパイラがイベント処理を異なる方法で処理するためです。

23
Java「ラムダ式はこの言語レベルではサポートされていません」
ここに示すように、Java 8のいくつかの新機能をテストし、サンプルをIDE(元々はEclipse、次にIntelliJ)にコピーしました Eclipseはラムダ式をまったくサポートしていません。IntelliJはエラーを報告し続けました ラムダ式はこの言語レベルではサポートされていません これがインストール、コード、またはサポートの問題かどうかを知りたいのですが。





9
Git認証ヘルパー-パスワードの更新
私は現在HTTPS経由でGitHubを使用しており、最新バージョンのGit(1.9.0)とWindows 7のGit認証ヘルパーをインストールしています。 私の環境をセットアップする際に、ユーザー名とパスワードを永久に記憶するようにgit-credentialsに指示しました。 最近、ウェブサイトでGitHubパスワードを更新しましたが、プッシュ、プル、フェッチなどができなくなりました。 Windows 7のgit-credentialsヘルパーでパスワードを更新するにはどうすればよいですか?

20
Unixシェルで数値の列を合計する
内のファイルのリストを指定するとfiles.txt、次のようなサイズのリストを取得できます。 cat files.txt | xargs ls -l | cut -c 23-30 これは次のようなものを生成します: 151552 319488 1536000 225280 これらの数値の合計を取得するにはどうすればよいですか?
198 linux  unix  shell 

14
ファイルの最長の行
ファイルの最も長い行の長さを見つける簡単な方法を探しています。理想的には、スクリプトではなく、単純なbashシェルコマンドになります。
198 bash  shell  utilities 

12
インストールされているangular-cliのバージョンを確認していますか?
自分のマシンにグローバルにインストールされているangular-cliの特定のバージョンを確認する方法はありますか?私はWindows環境にいます。 npm -vとnode -vは、それぞれnpmとnodeのバージョンのみを提供し、ngでコマンドを見つけることができないようです。 私が取り組んでいるプロジェクトを実行しようとしていますが、npmを使用して古いバージョンのangular-cliで実行されていました。ただし、他のデモプロジェクトをインストールした後、私のメインプロジェクトは、特定のバージョンでangular-cliをアンインストールして再インストールしないと機能しなくなります。


5
JavaScript DOM削除要素
DOM要素が存在するかどうかをテストし、存在する場合は削除し、存在しない場合は作成します。 var duskdawnkey = localStorage["duskdawnkey"]; var iframe = document.createElement("iframe"); var whereto = document.getElementById("debug"); var frameid = document.getElementById("injected_frame"); iframe.setAttribute("id", "injected_frame"); iframe.setAttribute("src", 'http://google.com'); iframe.setAttribute("width", "100%"); iframe.setAttribute("height", "400"); if (frameid) // check and see if iframe is already on page { //yes? Remove iframe iframe.removeChild(frameid.childNodes[0]); } else // no? Inject iframe { whereto.appendChild(iframe); …
198 javascript  dom 

6
docker-composeで常に新しいイメージからコンテナーを再作成するにはどうすればよいですか?
私のDockerイメージはJenkins CIサーバー上に構築され、私たちのプライベートDockerレジストリにプッシュされます。私の目標は、常に最初に構築されたイメージの状態を開始するdocker-composeを使用して環境をプロビジョニングすることです。 現在、さまざまなマシンでdocker-compose 1.3.2および1.4.0を使用していますが、以前のバージョンも使用していました。 私は常にdocker-compose pull && docker-compose up -dコマンドを使用して、レジストリから新しいイメージをフェッチし、起動しました。私の好みの動作は、特定の時点まで予想どおりに機能していたと思いますが、それ以来docker-compose up、最初にビルドされたイメージを毎回開始するのではなく、以前に停止したコンテナーを再実行し始めました。 この動作を取り除く方法はありますか?その方法は、すべての呼び出し時にコマンドラインで何かを「忘れない」ことに依存しないようにdocker-compose.yml設定ファイルに配線されている方法でしょうか? ps。私の目標を達成する方法を見つけることに加えて、私はこの行動の背景についてもう少し知りたいです。Dockerの基本的な考え方は、不変のインフラストラクチャを構築することだと思います。docker-composeの現在の動作は、このアプローチと衝突しているように見えるだけです。

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