しもむブログ

技術メモ。といっても高度なことは書けないので…初心者がハマったところや、ググってもすぐには出てこないようなものを書くつもり。

バッチファイルからUTF-8のファイル(日本語あり)を作りたい

  • 文字コードを変えて、echoしてファイルにリダイレクトすればいけるもんだと思ったら謎な挙動だったのでメモ
  • 人様のマシンで実行してもらうのでコマンドプロンプトのフォントを変えるとかそういう操作もなしにしたかったという前提あり

  • 結果として、日本語入力が可能な状態で変数に出しておかないといけないっぽい

続きを読む

PropertiesからConfigSlurperに乗換えようとしてハマった話

はじめに

  • ConfigSlurperはGroovyスクリプト形式で書かれた設定ファイルを読み込むためのユーティリティクラスです。*1
  • Groovy使い始め直後にConfigSlurperを使おうとしてハマった話です。
  • ちなみにJavaではpropertiesファイルをよく使っています。
続きを読む

JJUG CCC 2016 Fallに行ってきた #jjug_ccc

  • サイトはこちら
  • 前回は、ツイートを見返すと行くのがつらかったらしいので今回はまず行くところから!
  • 公開されているスライドはのちほど貼り付けていきます
  • 今回の戦利品
    • ショートカットは自席の見えるとこに置いておきたいし、コピーして配りたいくらい
    • あと、コーティングされた名刺。コーディングに空目したのが僕だけじゃなくてよかった。

f:id:mshimomu:20161204152743j:plain

続きを読む

Flyway Command-line toolの実行結果をSLF4J & Logbackでログファイルに残す

  • Flyway Command-line toolを使ってDBをバージョン管理する。
  • 使い方は簡単なのですぐに使える。Windowsで実行するとこんな感じになる。
C:\flyway-4.0.3>flyway migrate
Flyway 4.0.3 by Boxfuse

Database: jdbc:sqlserver://WIN7X64\sqlexpress:1433;authenticationScheme=nativeAuthentication;xopenStates=false;sendTimeAsDatetime=true;trustServerCertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;multiSubnetFailover=false;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=flyway;applicationName=Microsoft JDBC Driver for SQL Server;applicationIntent=readwrite; (Microsoft SQL Server 12.0)
Successfully validated 2 migrations (execution time 00:00.010s)
SQLServer does not support setting the schema for the current session. Default schema NOT changed to dbo
Creating Metadata table: [dbo].[schema_version]
Current version of schema [dbo]: << Empty Schema >>
Migrating schema [dbo] to version 1 - create table hoge
Migrating schema [dbo] to version 2 - create table fuga
Successfully applied 2 migrations to schema [dbo] (execution time 00:00.117s).
  • この便利なツールをプロダクトのDB用インストーラやアップデータ、パッチに使いたい。
  • なので標準出力だけではなく、作業ログとしてファイルにも残しておきたい。
  • ツールにはログ系のライブラリは特に入っていないし、flyway.confにもそういう設定はなさそうだが、何か良い方法はないものか。
続きを読む

Jenkins JaCoCo plugin 2.0.0ではJaCoCo 0.7.5を使う

  • Gradle+Jacoco+Jenkinsでカバレッジを計測しているが、Jenkinsとプラグインをバージョンアップしたらカバレッジが0になっとる!
    • ここ1〜2ヶ月はソースコードを全くいじっておらず、当然テストもビルドもSUCCESSが通知されていたのであんまり気にしてなかった
  • このままではソースコードの健康状態がわからなくなってしまう、しゃあないやるか…と思い駑馬に鞭打ってやってみたらあっさりできた

JaCoCo Plugin - Jenkins - Jenkins Wiki

  • プラグインのページに書いてある
    • JaCoCo 0.7.5では以前のバージョンとexecファイルの互換性がない
    • plugin 2.0.0ならJaCoCo 0.7.5を使う
    • JaCoCo 0.7.4以下を使うならpluginは1.0.19以下を使う
  • 今まではbuild.gradleにこれしか書いていなかったので、
apply plugin: 'jacoco'
  • バージョンを追記してみる
jacoco {
    toolVersion = "0.7.5.+"
}
  • before

f:id:mshimomu:20160115013058p:plain

  • after

f:id:mshimomu:20160115013105p:plain

ふっかつ!

JDBCドライバが9.2.0.1.0ではOracleのRACサーバに接続できない

日本語では見つけられなかったので書き残しておく。

  • OracleRACサーバで構成されている(バージョンは不明)
  • JDBCドライバのバージョンが9.2.0.1.0では下記のエラーになって接続できない
  • とりあえず10.2.0.1.0にしたら接続できた

Caused by: java.sql.SQLException: I/O例外です。: Connection refused(DESCRIPTION=(ERR=1153)(VSNNUM=0)(ERROR_STACK=(ERROR=(CODE=1153)(EMFI=4)(ARGS='(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521))'))(ERROR=(CODE=305)(EMFI=1))))

続きを読む