2014-01-01から1年間の記事一覧

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ノード限定で動かすのが(俺の中で)当たり前みたいな空気でしたが、今の人はこれ使いましょう…

DockerでJenkinsサーバ(master/slave)を構築してみる

概要 タイトルどおり、DockerでJenkinsをマスター・スレーブ構成で作成します。 読者はDockerとJenkinsをちょっとずつやったことがある人を想定しています。 このエントリで使っているソースは全てGithubリポジトリにて入手可能です。 どうやってやるか Dock…

光学メディア使えない場合のLinuxインストール

OSのインストールといえば、光学メディアに焼いてドーン!が定番ですね。 ただ、社内のコンプライアンス()とかで光学メディアを使えない場合は、ネットワークブート(PXEブート)を使ってインストールした方が楽なことがあります。 例えば適当なWindowsノ…

tmuxはじめました

tmuxはじめました 100周ぐらい乗り遅れた感があるのですが、tmux(てぃーまっくす)というGNU Screenに似たシンプルな仮想端末ソフトを使いはじめました。sshでログインした後に使ったりします。 http://tmux.sourceforge.net/ 下記のようなありがちな不満を解…

どんどんメタスペース(パーマネント領域)食べちゃうメタボなクラス

クラスいっぱいロードさせるようなの、ってこういうやり方しかないですかねえ…(←未検索のクズ) ※メモリがどうなるかなど未検証 → 2014/03/25 追記 ちゃんとクラスロードしまくってメモリ食いつぶしてました。

Excelで意味のない番号を表に振っている人はこの数式使って下さい ~ INDIRECT関数

とくに意味はなくとも、番号を表に振っている人、よくいますね? そういう人はおそらくコピペで番号がずれたりしてイライラしていると思うので、それを解消するために、この数式を使うといいと思います。 =MAX(INDIRECT(ADDRESS(1,COLUMN())&":"&ADDRESS(ROW…

JenkinsでExcel VBAを動かす方法

あまり幸福でない開発をしていると、プロジェクトのユビキタスフォーマット()がExcelになっていて、そのうちJenkins上でExcelVBAを動かしたくなります。 サーバ上でExcelを動かすには諸問題があり、できればサーバサイドでExcelを動かさないに越したことは…

何にもマッチしない正規表現

タイトルの "何にもマッチしない正規表現" とは、文字通り、どんな入力を与えてもマッチしない正規表現を指します。 例えば以下のようなものがそれにあたります。 /$^/ /(?!)/ /^(?!.)./ /^(?!)/ /$./ いずれも、どんな入力をもらってもマッチしません。*1 …

Jenkinsを使う理由

特にほかのCIサーバを使ったことないけど(!?)、なんで自分がJenkinsを好んで使うのか、考えてみた。 好きなところ 使い慣れているから 身も蓋もないけどこれが一番でかい。 開発サーバを表に出せないから 確かにGitHubとかでリポジトリ作ってると、その…