パフォーマンス カウンターのDisk Reads/sec, Disk Writes/secの単位ってなんだ?

Windowsのパフォーマンスカウンターをよく使うのですが、説明をしようと思うと意外と曖昧に理解していたり調べてもすぐ忘れてしまうのでメモしておく。 パフォーマンスカウンターを仕掛けるときに定番のものがいくつかあるのですが、ディスクについては\Phys…

Spark Frameworkでstop()を呼ぶとInterruptedExceptionが発生して固まる

状況 Spark FrameworkというSinatraっぽい軽量サーバを使ってGroovyでWebAPIのサーバを書いてます。 sparkjava.com サーバを停止する処理を呼ぶと停止処理中に固まってしまうという現象が起きてました。 実装 サーバを停止する方法は公式ドキュメントにある…

Windowsでsedを使って環境変数を利用した置換をする

nginxの設定ファイルを起動時に環境変数の値を使って書き換えたい nginxのerror_logとaccess_logを1箇所で管理しているログディレクトリのパスで書き換えたいけど手動ではやりたくないです。 nginxの引数で-g "error_log xxx;"とかできるけどaccess_logは出…

AsciiDocで文字色を変えたがasciidoctor-pdfで作成したPDFに反映しない

AsciiDocで文字色を変える HTMLへ変換する場合、文字に色つけるときは[red]#あああ#みたいにすると出来ます。 ところが、asciidoctor-pdfでPDFを作ると期待通り色がつきません。 原因 asciidoctor-pdf でspanが来た時に色を付ける処理が[red]#text#が生成す…

JenkinsでSubModuleの更新に失敗する

経緯 複数のリポジトリから参照されるスタイル設定情報をSubModule化しました。 ローカルでは問題なかったのですが、Jenkinsでエラーが発生するようになります。 対応 Jenkinsのジョブのソースコード管理>GitからAdvanced sub-modules behavioursを追加しま…

SourceTreeでサブツリーを作るとき

Git

いきなり失敗したので、φ(..)メモメモ SourceTreeでSubTreeを作成 サブツリーの追加/リンクを押すと、ソースパス/URL、ブランチ/コミット、ローカルパスを入れる画面が出ますが、わざわざ空のディレクトリ作ってローカルパスを指定したのが失敗でした。 サブ…

C#でファイルバージョンは自動的なリビジョンを入れ、製品バージョンを手動で振る

デフォルトではAssemblyVersionとAssemblyFileVersionがあるのですが、なぜか両方あると*が効きませんよね。 AssemblyFileVersionを指定しなければ自動的なリビジョンが振られます。 // すべての値を指定するか、下のように '*' を使ってビルドおよびリビジ…

Jettyのstderrout.logとrequest.logのパスを環境変数で指定する

Jettyのログを相対パスで指定していたのですが、異なるドライブレターに出したいというご要望です 共通 Windowsサーバです。 ドライブレターは環境変数で環境変数で指定したものをプロパティとして起動時の引数で渡している想定です。 jetty.homeとjetty.bas…

log4netのログファイルを環境変数で設定する

log4netのログファイルの指定でパスの部分を環境変数から取得して設定したくなりました 現状は相対パスで書いていてlog4net.dllが動いているディレクトリからの相対パスになってます。 <file value="log\hogehoge.log" /> ドライブレターを変えたいというご要望なので、以下のようにしたら環境</file>…

MSTestのAssertでコンソール出力の文言を比較する

コンソールアプリの中で標準出力している文言をMSTestでテストしたい テスト対象の戻り値が成功でも状態によって出力される文言が変わるのでテストしておきたい StringWriter でコンソール出力を奪ってからメソッドを実行し、StringReaderで読み出せば良いら…

GradleのdependenciesをSnapshotビルドとReleaseビルドで切り替えたい

やりたい事 build.gradleに記述しているdependenciesの中で参照している自作のライブラリがあるが、開発中の時はライブラリがSNAPSHOTの時もある。 リリースをするときは基本的にSNAPSHOT無しのライブラリを使う。 いちいち書き換えてコミットするのはなんだ…

SonarQubeをインストール

久しぶりにSonarQubeをインストールしようと思ったらいろいろ忘れていてハマりました。 特に公式ドキュメントにDBのつくりかたちゃんと書いてないし・・・ Installing the Server - SonarQube Documentation - SonarQube DB作成 今回はPostgreSQLです。 post…

UbuntuのDISK容量がいつの間にか逼迫していた

前提条件 確認しているバージョンはUbuntu 14.04.4 LTSです。 Jenkinsのマスターサーバなので一定のDISK空き容量がないと上手く動かなくなるプラグインがある。 対応 $ sudo du -sh /*して、でかいディレクトリを調べる どうやら/lib/modulesが肥大化してい…

Jenkins Pipeline PluginでWindows Batch Scriptを使うと文字化けする

またまた、Workflow PluginあらためPipeline Pluginの話です。 まあ、さもありなんとは思います。 build jobとかbatではないところは当然文字化けてません。 UTF-8にしてあげればいいんでしょうねと。 chcp 65001してあげることにした。 node('Windows') { b…

Jenkins Pipeline PluginでRobocopyを使うと成功したのにFAILUREで返ってくる

Workflow PluginあらためPipeline Pluginを使い始めてます。便利だわー。Groovyだし。 実行したScript Robocopyなんで前提はWindows Slaveです。 node('Windows') { def snapshot = "${env.BUILD_TAG}" echo "$snapshot" bat "robocopy /E .\\foo \\\\server…

JIRAのグラフが文字化け(お豆腐)

おそらく日本語フォントだろう ぐぐるとまさにズバリなのがあった www.ricksoft.jp 対応 JIRAはJREを同梱しているのでインストールしたディレクトリのJREをいじる fontconfig.btc, fontconfig.properties.srcには日本語設定が入っていないので以下のように対…

Ubuntu 14.04 LTSで久々にaptitude使ったらppaのキーでエラーがでた

JIRAのインストールするのにまずaptitude updateしたら以下のようなエラーが出る。 W: GPG エラー: http://ppa.launchpad.net trusty InRelease: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY A123456789012345 対策 ぐぐると以…

JIRAをインストール(DBをPostgreSQLに作成)

JIRAのDBをPostgreSQLに作る DB作るところは公式ドキュメントと若干変えているので忘れないようにメモ PostgreSQLにユーザ(ROLE)を作る ロールの作り方は公式ドキュメントに書いてなかったけどBitbucket Server(旧Stash)に合わせて作った。 postgres=# CREAT…

Jettyで動いている複数のアプリをNginxで1サイトのパスに紐付ける

背景 訳あって複数のアプリをJettyのプロセスを分けて動かしてます。 1アプリ=1Jettyプロセスになっていて複数のアプリがあります。理由があってやってるのでこれはしかたがない。 そうするとポート番号がいっぱい増えて分かりにくいので80番にまとめたい。 …

C# で製品バージョンとかファイルバージョンをAssemblyInfoから取得する

C#でコマンド作っててUsageの表示でバージョンとか出したいけど、AssemblyInfo.csに書いてあることを2度書きたくなかったので Command Line Parser Libraryを使ってUsageを表示しているので、その中でアセンブリ情報を取得して表示します。 製品バージョン…

ActiveMQを停止する

bin\activemq.bat stopで止まらない 以下のようなエラーが出ます。 Connecting to JMX URL: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi ERROR: java.lang.RuntimeException: Failed to execute stop task. Reason: java.io.IOException: Failed t…

自動実装するプロパティを使ってみる

C#でプロパティを書くときに特別な処理が要らなければgetter, setterを省略できるらしい getter, setter書いてると冗長だし、コードが長くなって見づらくなるので書きたくない。ということで使ってみる。 よくあるprivateのフィールドとpublicのプロパティ /…

Groovyからexecute()したプロセスで環境変数がうまく取れない

C#で書いたexeがあって、内部でEnvironment.GetEnvironmentVariable("ComSpec");してcmd.exeのフルパスを取っているのですが、何故かGroovyからexecute()した時だけ値が空白になります。 検証コード groovy> println "cmd /c set".execute([], new File(".")…

GroovyでScript実行時に複数のクラスがあるとエラー発生

ソース import static spark.Spark.* import groovy.json.JsonBuilder class A { def a = "test" def b = ['a':1, 'b': [111, 222, 333]] } class B { public static void main(String[] args) { Object.metaClass.asJson = { def builder = new JsonBuilder…

Groovyで外部プロセス起動して結果を読もうとすると処理が返ってこない事がある

execute().textを読み出そうとすると一部のコマンドで返ってこないことがある。 どうやらWindowsではストリーム詰まる問題が出ることがあるらしい www7164up.sakura.ne.jp 元ソース def runCommand(String command, String param) { def msg = [] def cmd = …

Gradleで依存するライブラリをコピーする

オンプレミスのシステムを作っていると依存するライブラリはあらかじめインストーラに含めておく必要があるので、簡単に固めたいです。 gradle buildすると.gradleの下に入ったり、Groovyでgrape使ったりすると.groovyの下に入ったりするのですが、それを手…

SparkでAPIサーバを起動しようとしたらエラー

この記事を参考にSparkを使ってGroovyでWebAPIサーバ書こうと思ってる。 qiita.com sparkjava.com エラー発生! :compileGroovy FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileGroovy'. > spark/…

C#でstringに格納されているCSVを処理する

ファイルからCSVを読み込む例は多かったけどstringに格納されたCSVの処理があんまりなかったのでメモ。 対象文字列の処理 _msgというstringに入ってきた複数行のCSVデータを1行づつバラす。 Split()は文字列指定ができる。 string[] lines = _msg.Split(new …

Groovyをプロキシ環境下で使う

よく忘れるのでメモ 特にhttpsとかno_proxyの書き方とかすぐ忘れるし。 以下の例は実際にはどれも1行で記述します。コピペしてもそのまま実行できません! コマンドライン $ groovy -DproxyHost=proxy.example.com -DproxyPort=8080 -Dhttps.proxyHost=proxy…

framesetを使った画面でIEだけ隙間ができる

IEだけ上下のframeの間に2pxの隙間ができてました。 ChromeやFirefoxでは問題ありません。 対応 元々以下のようになっていました。 <frameset rows="90px,*" frameborder="0"> <frame src="test1.html" name="test1" /> <frame src="test2.html" name="test2" scrolling="no" /> </frameset> 以下のように修正した所直りました。