(※古巣への不満とか、そういうのは無しです) 転職しました。 みなさま、その節は大変お世話になりました。 これからも変わらずプログラマとして、皆様に笑顔になっていたけるよう精進してまいります。 (一部の方へ)飲み会など良い機会ありましたら、またご一緒させてください。
(※古巣への不満とか、そういうのは無しです) 転職しました。 みなさま、その節は大変お世話になりました。 これからも変わらずプログラマとして、皆様に笑顔になっていたけるよう精進してまいります。 (一部の方へ)飲み会など良い機会ありましたら、またご一緒させてください。
http://findbugs.sourceforge.net/ FindBugs 3.0.0が昨日リリースされていたようです!(Eclipseのプラグインもリリースされています) Java8対応になりました! はっきりいって https://mailman.cs.umd.edu/pipermail/findbugs-discuss/2014-May/003995.html このMLのスレッド読んだ時はもう年内は絶望的だと思っていましたが、よかったー。 これまでJava7ターゲットでクラスファイルを出そうがJava8でFindBugsを動かす限り落ちていたので、とても助かります。 で、さっそく私も使い始めましたが、ちゃんと動いているようです。(注意される警告がやや増えた気がする) 多くのJava8移行者にとって、Eclipse・FindBugs・CheckstyleがJava8未対応という
Dockerを使い始めて半年弱ぐらい経ったような気がする。 Dockerを知ったきっかけは、はてブやTwitterのTLに流れていたのを見たのがきっかけだと思う。 (みんな新しい技術どうやって知ってるの?と思う人はそういうところをこまめに見ればよい。気に入ったブログはFeedlyに登録すればいい。) 仕事では開発サーバにDocker on Ubuntu on KVM on Ubuntu on BM(Bare Metal)な状態で、JenkinsやRedmineなどの開発用サービスコンテナとして使ってる。 (Dockerを使ってJenkinsでビルドとか面白いことは残念ながらやってません。:-P ) Docker meetup Tokyo #3でもあったんだけれども、開発用サーバに使う人は1マシン複数コンテナが普通のようだ。 逆に不確定要素を排除したいプロダクションだと1マシン1コンテナだっ
はじめに 知っている人にはよく知られていることですが、EclipseのJava開発環境、JDTがJavaソースのコンパイルに使っているコンパイラは、OracleのJDKなどとは違い、Eclipseが独自実装しているコンパイラ ECJ (Eclipse Compiler for Java)です。 ECJとOracle JDK(OpenJDK)のjavacと何が違うのかというと、 コンパイラの許容ルールが異なる。(おそらくOracle JDKより緩いケースが多そう) これのせいでEclipseでコンパイルできたとしても、javacでコンパイルできないソースが出るので、そういうのやめたい人はきちんとJenkinsとかで常時チェックかかるようにしましょう。 コンパイルが一部失敗しても成功したclassファイルは生成される。 それどころか失敗したクラスでさえ仮のclassファイルを生成させることがで
試しにDockerリポジトリに自作イメージ登録してみました。 無料アカウントだと1つまでプライベートDockerリポジトリを持てるみたいです。 今回はknjname/jenkinsというDockerイメージを公開リポジトリにpushしてみました。 SCM : https://github.com/knjname/docker-jenkins Dockerレポジトリ : https://registry.hub.docker.com/u/knjname/jenkins/ 登録する時はあらかじめリポジトリを作っておいて(今回はknjname/jenkinsとして作成)、下記のようにすれば勝手に作成したリポジトリに収まります。 docker push knjname/jenkins # この後アカウント情報訊かれる 使い方は簡単。 docker run --name testjenkins -d
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が動くわけがないわけで、単純にVirtualBox上に小さなLinux(Core Linux)を動かし、その上でDocker(boot2dockerというイメージ)を動かしているだけですね。(OS X版も同じ) 別にWindowsのファイルシステムをフル利用したUnionなFSが使われてるとかそういう夢のある話はありません。 てなわけで、結局は DockerをWindowsでバリバリ使いたい人は、Virtua
なんかアップルから新しい言語、出たみたいですよ? Welcome to Swift どうせ多分一ヶ月後には忘れると思うけど、言語を一巡りしてみよう。体力ないのでLanguage Guideまでで失礼します。 ちなみに現時点において動作環境を手に入れるには、iOSデベロッパ契約が必要です。僕はありません。 このエントリは全て憶測で書いています。 このエントリは全て憶測で書いています。 このエントリは全て憶測で書いています。 このエントリは全て憶測で書いています。 ひとめぐり (途中、私自身にしか通じないような表現が出てきます。) // コメント /* マルチラインコメント */ /* /* ネストしたコメントも可能! */ */ // main関数不要 println("Hello world") // C系にありがちなセミコロンも要らない //// 変数 // Swiftは強い型付き。 v
JDK8からjdeps(http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html)というJavaのクラス間の依存性を調べるツールが追加されました。 Java Day Tokyo2014ではこのツールを使ってJava9のProject Jigsawのための作業をしていると言っていたような気がしましたが…、そんなことより、このツールすごくSIer向けだと思いました。 使い方 使い方は簡単。あらかじめ依存性を調べたいソースをコンパイルしておいて jdeps コンパイルしたクラスのディレクトリ または jdeps JARファイル とするだけ。(依存クラス・JARがJDK以外にいる場合は別途クラスパス指定可能) そうすると $> jdeps clojure clojure -> /Library/Java/JavaVir
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に参加してきました。 4月あたりにOracleのサイトで受講予約して、メールされた受講票のプリントと名刺を当日会場に持っていくだけ。参加無料です。 英語のセッションには同時通訳が付き、イヤホン付きトランシーバで聞けます。 参加したセッションは下記の通り。 基調講演(K-1) Java SE8概要(A-1) Java SE8におけるHotSpotの進化(C-2) Javaアプリケーション開発におけるテストとTDDの実践(C-3) Lambda式とストリームAPI、並列処理の詳細(A-4) 個人的にメモってるものだけ、まとめていきます。 (よくわからなかったところはよくわからないままになっていますし、私の脳みそを通しているので不正確です。) 基調講演前 Java8を象徴するムービーが流れてました。 PermGenがなくなりますよーとかDate and
何故かdocker buildした時にUploading contextが長時間流れる状態に突入する人は… #> docker build -t mycentos Uploading context... 200MB (↑たぶんこんな感じの表示) docker buildしてるディレクトリにイメージビルド資材以外を置くのをやめましょう。 What is the meaning of "Uploading context" when executing ``docker build``? · Issue #2342 · dotcloud/docker · GitHub たとえば、カレントディレクトリにあるDockerfileをベースにdocker buildをする時、Uploading context...が何をしているかといえば、そのディレクトリにある資材をtar化してデーモンに送付してい
LDAPサーバ立てよう 開発プロジェクト用の開発サーバ構築の一貫として SCM(Subbversion, Git)を立てるにしろ ITS(Redmine, Trac)を立てるにしろ CIサーバ(Jenkins)を立てるにしろ モジュールリポジトリサーバ(Nexus)を立てるにしろ Wiki(MediaWiki)を立てるにしろ コードインスペクション用サーバ(SonarQube)を立てるにしろ メールサーバ(Dovecot+Postfix)を立てるにしろ 他もろもろを立てるにしろ 大概そいつらにはメンバーごとのログインという共通要件があります。 メンバーが追加されるたびに、手順書を更新していちいち各サービスのユーザ登録手順を増やすのもいいんですが、そういうことやってると、 登録・削除が面倒だったり、 アカウントIDやパスワードがサービスごとブレはじめたり、 大変不便なので、Open LDAP
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 Pipeline Plugin https://wiki.jenkins-ci.org/display/JENKINS/Delivery+Pipeline+Plugin ちなみにこれらプラグインはここから適当に探しまんた。 https://wiki.jenkins-ci.org/display/JENKINS/Plugins ちなみに、ビルドパイプラインって何? 例えば、
公式サイトに Keeping your configuration and data in Subversion | Jenkins CI というチュートリアルがありますし、設定ファイルをSCMにぶちこむジョブをmasterノード限定で動かすのが(俺の中で)当たり前みたいな空気でしたが、今の人はこれ使いましょう。 SCM Sync configuration plugin - Jenkins - Jenkins Wiki Jenkinsの設定を変更した瞬間にコミットされます。 昔試した時はなんか動きが怪しいので使用を断念してしまいましたが、今動かしている限りではきちんと動いているようです。(Subversion環境で確認。SCMの内容でJenkinsの設定をリロードする機能は未検証。) 現状だとディスク使用量のプラグイン関連のガシガシ変更されるXMLまでコミットされるのがウザいですが、まあ
概要 タイトルどおり、DockerでJenkinsをマスター・スレーブ構成で作成します。 読者はDockerとJenkinsをちょっとずつやったことがある人を想定しています。 このエントリで使っているソースは全てGithubリポジトリにて入手可能です。 どうやってやるか DockerでJenkinsのマスターのイメージとスレーブのイメージをそれぞれ作って、それぞれ単純に立ち上げる。 マスターのイメージについては、おそらく1インスタンスしか立ち上げないが、スレーブについてはNインスタンス立ち上げるイメージ。 Dockerでやるメリットとデメリット メリット すぐに使い捨てスレーブ作れるよ。Dockerがインストールされていればそこにスレーブ作れるよ。 Jenkinsマスターも量産しようと思えばできるよ。 ビルドにどんなツールが必要なのかDockerfile見りゃわかるよ。 デメリット 素でや
tmuxはじめました 100周ぐらい乗り遅れた感があるのですが、tmux(てぃーまっくす)というGNU Screenに似たシンプルな仮想端末ソフトを使いはじめました。sshでログインした後に使ったりします。 http://tmux.sourceforge.net/ 下記のようなありがちな不満を解消してくれます。 今動いているシェルターミナルの他に、シェルターミナルがもう一本欲しい。 ログアウトしていてもプログラムが動作していてほしい(従来はnohupかC-z -> bg -> disownでやっていたこと) もっかいログインしたら続きからやりなおしたい 画面上を流れる出力をじっくり見たり、コピペしたりしたい。 シェルの画面を分割したい。 リモート上で動くTeratermみたいなものですね。他人とシェル画面を共有したりもできたりします。(画面シェアしている場合はつないでいる人の最小画面サイズ
クラスいっぱいロードさせるようなの、ってこういうやり方しかないですかねえ…(←未検索のクズ) ※メモリがどうなるかなど未検証 → 2014/03/25 追記 ちゃんとクラスロードしまくってメモリ食いつぶしてました。
とくに意味はなくとも、番号を表に振っている人、よくいますね? そういう人はおそらくコピペで番号がずれたりしてイライラしていると思うので、それを解消するために、この数式を使うといいと思います。 =MAX(INDIRECT(ADDRESS(1,COLUMN())&":"&ADDRESS(ROW()-1,COLUMN())))+1 数式の解説 ちょっと詰まっていて見づらいですね。 この数式を見やすく整形すると、こうなります。 =MAX( INDIRECT( ADDRESS(1,COLUMN()) & ":" & ADDRESS(ROW()-1,COLUMN()) ) ) + 1 下記ポイントをおさえるとわかりやすいでしょう。 ROW関数は現在行の番号、COLUMN関数は現在列の番号を返す関数 ADDRESS関数は行と列番号をもらって、アドレス($A$1みたいなの)文字列を生成する関数 INDIR
あまり幸福でない開発をしていると、プロジェクトのユビキタスフォーマット()がExcelになっていて、そのうちJenkins上でExcelVBAを動かしたくなります。 サーバ上でExcelを動かすには諸問題があり、できればサーバサイドでExcelを動かさないに越したことはありません。 そこで、たとえばJavaであればPOIなどExcelブックを扱えるライブラリを検討するところですが、POIは下記のような問題もあり、そこまで魅力的ではありません。 数式の計算がむずい(僕はやったことないです) 新規行のセル書式の引き継ぎなどExcelVBAでの動きと多少異なる セルの型の扱いが面倒くさい 実装が面倒くさい VBAが動かせない (反面、POIは処理が高速であるというメリットがあります) こういうこともあり、ExcelVBAマクロがJenkinsで動いてくれたらいいなあと思う人も大勢いると思い、この
タイトルの "何にもマッチしない正規表現" とは、文字通り、どんな入力を与えてもマッチしない正規表現を指します。 例えば以下のようなものがそれにあたります。 /$^/ /(?!)/ /^(?!.)./ /^(?!)/ /$./ いずれも、どんな入力をもらってもマッチしません。*1 人生において何にもマッチしない正規表現を書くことは少ないとは思いますが*2、たとえば、正規表現による除外しかうけつけないような、へぼいフィルタリングシステムがある場合、何にもマッチしない正規表現を使うことにより、何も除外しないことができます。 <!-- 除外対象をなくせるよ! --> <poor_filtering exclude="$^" /> ………べ、便利ですね! で、いくつか何にもマッチしない正規表現のパターンがあるなら、どれが一番はやいのかな?と思って、CoffeeScript書いてみました。 http
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く