knjname式 Excelマクロブックスタイリング

みなさんExcelマクロでツールを作るとき、ユーザ入力を受け取るために意味もなくダイアログ開いてませんか?取り扱い説明書を別に作っていませんか? ちょっと力んでいますね。そのマクロツールがプログラマ向けであるなら、力む必要はないのです。 力を抜い…

Javaソースコードへのよくある指摘 その1

僕の仕事の一環で他人のJavaソースを見ることがあるので、その時によく出る指摘をちょっと書き出してみた。 とーってもレベルの低い記事なのでJavaをまともにやっている皆さんは読む必要無しです。ただの愚痴エントリだよ。 不要な代入 同じ式 思考停止の St…

JenkinsのSSHスレーブが文字化けする場合

たとえば、DockerでテキトーにSSHスレーブを構成したりすると、スレーブでのビルドでUTF-8文字列が化けたりします。 ロケールがズレてるからですね。 スレーブの環境変数パネルに LC_ALL=en_US.UTF-8 を設定しても無駄だったりしますので、 スレーブ自体の j…

JenkinsでVBAを動かす際のあれこれ

かれこれ1年以上、JenkinsでExcel VBAを動かしているので、そろそろたまっていることを出そうと思いました。 Excel VBAをサービス内で起動させる方法 Excel VBAをコマンドラインから起動させる方法 自動化したいマクロは対話を避けよう。自動化に備えた作り…

Jenkinsの公式Dockerイメージ使ってみた

以前のエントリ( http://knjname.hateblo.jp/entry/2014/05/03/190842 )で自分でJenkinsのDockerイメージを作成したりしてみましたが、 Jenkins公式でDockerイメージを配布するようになったので、それを使用したほうがいいと思います。 Github https://git…

VBAで長いパスが扱えないと思ったら

Windowsでは長いパス(260文字前後)を使うと呪いに遭います Windowsでは長いパスを使うと呪いに遭います。 (個人的には英語の長ったらしいディレクトリ名とファイルパスをついたものをJenkinsでこれまた長ったらしいワークスペースフォルダにチェックアウト…

PowerShellのダイナミックスコープについて

PowerShellのスコープが好きになれないし、罠にわりとハマっているので、個人的に動きを確認してみた。 ある程度以上の規模のスクリプトを書くにあたって、PowerShellは特に、スコープの意識が絶対必要です。 基本はダイナミックスコープ PowerShellのスコー…

Jenkinsのジョブの進化

Jenkinsのジョブの進化をみていくよ〜。 はじまりはシンプルだった プロジェクトの成果物をチェックするために、チェッカを動かすジョブ check-project-artifacts を作る。 check_aというチェッカを動かす必要があり、そのチェッカを動かした後のワークスペ…

もしJenkinsでちょっとずつ違う100のジョブを管理しなくてはいけなくなったら

(2015/05/14 追記) このエントリで言及しているSubversionリポジトリを複数指定できない問題ですが、今は解決されています。 個人用メモも兼ねて。 ちょっとこんがらがったプロジェクトではありがちですが、ある特定の環境へのリリースのためにいくつかの…

WindowsでEmacsのClojure開発環境を立ち上げる

Windowsで最低限のEmacs+Clojureの開発環境を立ち上げる手順を書いてみました。 対象読者は、あやふやです。なんとなくEmacsもClojureもやったことがある、ぐらいな感じ。 ちなみに全般的にWindowsでこの手のUnix世界に塗れたものを開発するのは地獄なので、…

Jenkinsのビルドエグゼキュータ(ビルド状況)をREST APIで取得したい

個人的なメモ。 Jenkinsのビルドエグゼキュータは、たとえば https://ci.jenkins-ci.org/ajaxExecutors のように /ajaxExecutors 経由でJenkinsのウェブサイトに定期的に描画されているものですが、これはHTMLのスニペットを定期的に配信していることで実現…

Java8対応のCheckstyle5.9が出ています

checkstyle – Checkstyle 6.0 Java8に対応したCheckstyle5.9が出ています。(リリースノート: checkstyle – Release Notes) → (2014/10/27 追記) 6.0 が出てました。はやすぎっ これでFindbugs、Checkstyleと2大伝統的JavaインスペクションツールがJava8…

Dropboxの1TBのやつ使い始めた

Dropboxの1TBプランを契約して使い始めました。 もともとDropbox自体は使ってなかったのですが、1TBプランが月1200円ではじまったのを聞いて契約してみました。 私がよく愛用しているGoogle Driveも安価に1TBプランもあって、実はそっちも一度契約したんです…

JMockit+JaCoCo トラブルあれこれ

JMockitはテストのために一部のクラスの定義を書き換えるライブラリ、JaCoCoはカバレッジ取得用のライブラリ、どちらも昨今のJava開発のユニットテストで(多分)よく使うものです。 JMockit: http://jmockit.github.io/index.html JaCoCo: http://www.eclem…

Lispのカッコは怖くないよ

最近Lispの連れション仲間を増やしたいので、いろんな初見の人に「Lispって知ってる?」と質問して回っています。 そこそこアンテナのある技術者ならLispというのがプログラミング言語の一派を意味しており、それが主に大量のカッコで構成されていることは知…

転職しました

(※古巣への不満とか、そういうのは無しです) 転職しました。 みなさま、その節は大変お世話になりました。 これからも変わらずプログラマとして、皆様に笑顔になっていたけるよう精進してまいります。 (一部の方へ)飲み会など良い機会ありましたら、また…

私が考える関数型とオブジェクト指向

関数型 f(a) = b オブジェクト指向 b = a.f()

FindBugs 3.0.0 (Java8対応) リリースされてた

http://findbugs.sourceforge.net/ FindBugs 3.0.0が昨日リリースされていたようです!(Eclipseのプラグインもリリースされています) Java8対応になりました! はっきりいって https://mailman.cs.umd.edu/pipermail/findbugs-discuss/2014-May/003995.htm…

Dockerを使い始めて半年弱

Dockerを使い始めて半年弱ぐらい経ったような気がする。 Dockerを知ったきっかけは、はてブやTwitterのTLに流れていたのを見たのがきっかけだと思う。 (みんな新しい技術どうやって知ってるの?と思う人はそういうところをこまめに見ればよい。気に入ったブ…

AntでEclipseのECJ(Eclipse Compiler for Java)を使う

はじめに 知っている人にはよく知られていることですが、EclipseのJava開発環境、JDTがJavaソースのコンパイルに使っているコンパイラは、OracleのJDKなどとは違い、Eclipseが独自実装しているコンパイラ ECJ (Eclipse Compiler for Java)です。 ECJとOracle…

試しにDockerリポジトリにイメージ(knjname/jenkins)登録してみた

試しにDockerリポジトリに自作イメージ登録してみました。 無料アカウントだと1つまでプライベートDockerリポジトリを持てるみたいです。 今回はknjname/jenkinsというDockerイメージを公開リポジトリにpushしてみました。 SCM : https://github.com/knjname…

Docker 1.0が出たし、Windows(x64)でDockerが使えるようになりました

Docker 1.0が出ました。待ってたよ! http://blog.docker.com/2014/06/its-here-docker-1-0/ そして64bit Windows用の、boot2dockerによるWindows用Dockerも出ました。 https://docs.docker.com/installation/windows/ とは言ってもWindowsでLinuxが動くわけ…

Swiftをチラ見しよう

なんかアップルから新しい言語、出たみたいですよ? Welcome to Swift どうせ多分一ヶ月後には忘れると思うけど、言語を一巡りしてみよう。体力ないのでLanguage Guideまでで失礼します。 ちなみに現時点において動作環境を手に入れるには、iOSデベロッパ契…

JDK8のjdepsは普通の業務開発でも便利

JDK8からjdeps(http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html)というJavaのクラス間の依存性を調べるツールが追加されました。 Java Day Tokyo2014ではこのツールを使ってJava9のProject Jigsawのための作業をしていると言っていた…

並列で書き込めないデータ構造へのアプローチの考察(はしていない)

Collectors#toMap(): 00000215 Write to ConcurrentHashMap simultaneously: 00001567 Write to HashMap but write tasks are serialized: 00001787 Write to HashMap but write tasks are serialized (with parallel stream): 00001075 たとえばPOIのワーク…

Java Day Tokyo 2014個人まとめ

今年もJava Day Tokyo 2014に参加してきました。 4月あたりにOracleのサイトで受講予約して、メールされた受講票のプリントと名刺を当日会場に持っていくだけ。参加無料です。 英語のセッションには同時通訳が付き、イヤホン付きトランシーバで聞けます。 参…

docker buildのUploading context...が長い場合

何故かdocker buildした時にUploading contextが長時間流れる状態に突入する人は… #> docker build -t mycentos Uploading context... 200MB (↑たぶんこんな感じの表示) docker buildしてるディレクトリにイメージビルド資材以外を置くのをやめましょう。 …

開発サーバ構築しよう~LDAP(認証基盤)を立てよう~開発サービスはDockerで立てよう

LDAPサーバ立てよう 開発プロジェクト用の開発サーバ構築の一貫として SCM(Subbversion, Git)を立てるにしろ ITS(Redmine, Trac)を立てるにしろ CIサーバ(Jenkins)を立てるにしろ モジュールリポジトリサーバ(Nexus)を立てるにしろ Wiki(MediaWiki)を立てる…

Jenkinsのビルドパイプライン系plugin3種比較

Jenkinsのビルドパイプライン系plugin3種類を見ていきます。 Build Pipeline Plugin https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin Build Flow Plugin https://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin Delivery Pipel…

Jenkinsのconfig.xmlや各ジョブのjob.xmlをバージョン管理したい人はSCM Sync configuration pluginを使いましょう

公式サイトに Keeping your configuration and data in Subversion | Jenkins CI というチュートリアルがありますし、設定ファイルをSCMにぶちこむジョブをmasterノード限定で動かすのが(俺の中で)当たり前みたいな空気でしたが、今の人はこれ使いましょう…