タグ

ブックマーク / knjname.hateblo.jp (61)

  • 転職しました - knjnameのブログ

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

    転職しました - knjnameのブログ
    knjname
    knjname 2014/08/01
    はてなブログに投稿しました 転職しました - knjnameのブログ
  • FindBugs 3.0.0 (Java8対応) リリースされてた - knjnameのブログ

    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未対応という

    FindBugs 3.0.0 (Java8対応) リリースされてた - knjnameのブログ
    knjname
    knjname 2014/07/08
  • Dockerを使い始めて半年弱 - knjnameのブログ

    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コンテナだっ

    Dockerを使い始めて半年弱 - knjnameのブログ
    knjname
    knjname 2014/07/07
    書きなぐり
  • AntでEclipseのECJ(Eclipse Compiler for Java)を使う - knjnameのブログ

    はじめに 知っている人にはよく知られていることですが、EclipseのJava開発環境、JDTがJavaソースのコンパイルに使っているコンパイラは、OracleのJDKなどとは違い、Eclipseが独自実装しているコンパイラ ECJ (Eclipse Compiler for Java)です。 ECJとOracle JDK(OpenJDK)のjavacと何が違うのかというと、 コンパイラの許容ルールが異なる。(おそらくOracle JDKより緩いケースが多そう) これのせいでEclipseでコンパイルできたとしても、javacでコンパイルできないソースが出るので、そういうのやめたい人はきちんとJenkinsとかで常時チェックかかるようにしましょう。 コンパイルが一部失敗しても成功したclassファイルは生成される。 それどころか失敗したクラスでさえ仮のclassファイルを生成させることがで

    AntでEclipseのECJ(Eclipse Compiler for Java)を使う - knjnameのブログ
    knjname
    knjname 2014/07/06
    どうでもいい小ネタなのにちょっと長くなっちゃった
  • 試しにDockerリポジトリにイメージ(knjname/jenkins)登録してみた - knjnameのブログ

    試しに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リポジトリにイメージ(knjname/jenkins)登録してみた - knjnameのブログ
    knjname
    knjname 2014/06/12
  • Docker 1.0が出たし、Windows(x64)でDockerが使えるようになりました - knjnameのブログ

    Docker 1.0が出ました。待ってたよ! http://blog.docker.com/2014/06/its-here-docker-1-0/ そして64bit Windows用の、boot2dockerによるWindowsDockerも出ました。 https://docs.docker.com/installation/windows/ とは言ってもWindowsLinuxが動くわけがないわけで、単純にVirtualBox上に小さなLinux(Core Linux)を動かし、その上でDocker(boot2dockerというイメージ)を動かしているだけですね。(OS X版も同じ) 別にWindowsのファイルシステムをフル利用したUnionなFSが使われてるとかそういう夢のある話はありません。 てなわけで、結局は DockerWindowsでバリバリ使いたい人は、Virtua

    Docker 1.0が出たし、Windows(x64)でDockerが使えるようになりました - knjnameのブログ
    knjname
    knjname 2014/06/11
    Twitterを貼ると記事作成が楽
  • Swiftをチラ見しよう - knjnameのブログ

    なんかアップルから新しい言語、出たみたいですよ? Welcome to Swift どうせ多分一ヶ月後には忘れると思うけど、言語を一巡りしてみよう。体力ないのでLanguage Guideまでで失礼します。 ちなみに現時点において動作環境を手に入れるには、iOSデベロッパ契約が必要です。僕はありません。 このエントリは全て憶測で書いています。 このエントリは全て憶測で書いています。 このエントリは全て憶測で書いています。 このエントリは全て憶測で書いています。 ひとめぐり (途中、私自身にしか通じないような表現が出てきます。) // コメント /* マルチラインコメント */ /* /* ネストしたコメントも可能! */ */ // main関数不要 println("Hello world") // C系にありがちなセミコロンも要らない //// 変数 // Swiftは強い型付き。 v

    Swiftをチラ見しよう - knjnameのブログ
    knjname
    knjname 2014/06/05
    意外に面白い言語だと思った(小並感)
  • JDK8のjdepsは普通の業務開発でも便利 - knjnameのブログ

    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

    knjname
    knjname 2014/06/03
    jdeps使おう!
  • 並列で書き込めないデータ構造へのアプローチの考察(はしていない) - knjnameのブログ

    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のワークシートにマルチスレッドに書き込むと、もれなくぶっ壊れるわけですが、そういうマルチスレッド非対応のものに書き込む時はシングルスレッドなエグゼキュータにタスクをぶん投げると問題を解決できることが多いです。 特にオチ無し!

    並列で書き込めないデータ構造へのアプローチの考察(はしていない) - knjnameのブログ
    knjname
    knjname 2014/05/26
  • Java Day Tokyo 2014個人まとめ - knjnameのブログ

    今年も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

    Java Day Tokyo 2014個人まとめ - knjnameのブログ
    knjname
    knjname 2014/05/26
    Evernote見つつまとめ。もう…かなり忘れてる(驚愕)
  • docker buildのUploading context...が長い場合 - knjnameのブログ

    何故か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化してデーモンに送付してい

    docker buildのUploading context...が長い場合 - knjnameのブログ
    knjname
    knjname 2014/05/14
    うっかりさん用の罠 Uploading contextというどうとでも解釈できるメッセージが更に誤解に拍車をかける / id:akiramaz 今時は .dockerignore 使ってください
  • 開発サーバ構築しよう~LDAP(認証基盤)を立てよう~開発サービスはDockerで立てよう

    LDAPサーバ立てよう 開発プロジェクト用の開発サーバ構築の一貫として SCM(Subbversion, Git)を立てるにしろ ITS(Redmine, Trac)を立てるにしろ CIサーバ(Jenkins)を立てるにしろ モジュールリポジトリサーバ(Nexus)を立てるにしろ Wiki(MediaWiki)を立てるにしろ コードインスペクション用サーバ(SonarQube)を立てるにしろ メールサーバ(Dovecot+Postfix)を立てるにしろ 他もろもろを立てるにしろ 大概そいつらにはメンバーごとのログインという共通要件があります。 メンバーが追加されるたびに、手順書を更新していちいち各サービスのユーザ登録手順を増やすのもいいんですが、そういうことやってると、 登録・削除が面倒だったり、 アカウントIDやパスワードがサービスごとブレはじめたり、 大変不便なので、Open LDAP

    開発サーバ構築しよう~LDAP(認証基盤)を立てよう~開発サービスはDockerで立てよう
    knjname
    knjname 2014/05/10
    あんまり個人の小学生並みの感想は載せないほうがいいんだろうか…
  • Jenkinsのビルドパイプライン系plugin3種比較 - knjnameのブログ

    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 ちなみに、ビルドパイプラインって何? 例えば、

    Jenkinsのビルドパイプライン系plugin3種比較 - knjnameのブログ
    knjname
    knjname 2014/05/06
    書いた
  • Jenkinsのconfig.xmlや各ジョブのjob.xmlをバージョン管理したい人はSCM Sync configuration pluginを使いましょう - knjnameのブログ

    公式サイトに Keeping your configuration and data in Subversion | Jenkins CI というチュートリアルがありますし、設定ファイルをSCMにぶちこむジョブをmasterノード限定で動かすのが(俺の中で)当たり前みたいな空気でしたが、今の人はこれ使いましょう。 SCM Sync configuration plugin - Jenkins - Jenkins Wiki Jenkinsの設定を変更した瞬間にコミットされます。 昔試した時はなんか動きが怪しいので使用を断念してしまいましたが、今動かしている限りではきちんと動いているようです。(Subversion環境で確認。SCMの内容でJenkinsの設定をリロードする機能は未検証。) 現状だとディスク使用量のプラグイン関連のガシガシ変更されるXMLまでコミットされるのがウザいですが、まあ

    Jenkinsのconfig.xmlや各ジョブのjob.xmlをバージョン管理したい人はSCM Sync configuration pluginを使いましょう - knjnameのブログ
    knjname
    knjname 2014/05/05
  • DockerでJenkinsサーバ(master/slave)を構築してみる

    概要 タイトルどおり、DockerでJenkinsをマスター・スレーブ構成で作成します。 読者はDockerとJenkinsをちょっとずつやったことがある人を想定しています。 このエントリで使っているソースは全てGithubリポジトリにて入手可能です。 どうやってやるか DockerでJenkinsのマスターのイメージとスレーブのイメージをそれぞれ作って、それぞれ単純に立ち上げる。 マスターのイメージについては、おそらく1インスタンスしか立ち上げないが、スレーブについてはNインスタンス立ち上げるイメージ。 Dockerでやるメリットとデメリット メリット すぐに使い捨てスレーブ作れるよ。Dockerがインストールされていればそこにスレーブ作れるよ。 Jenkinsマスターも量産しようと思えばできるよ。 ビルドにどんなツールが必要なのかDockerfile見りゃわかるよ。 デメリット 素でや

    DockerでJenkinsサーバ(master/slave)を構築してみる
    knjname
    knjname 2014/05/03
    書くのに時間がかかりすぎたエントリ
  • tmuxはじめました - knjnameのブログ

    tmuxはじめました 100周ぐらい乗り遅れた感があるのですが、tmux(てぃーまっくす)というGNU Screenに似たシンプルな仮想端末ソフトを使いはじめました。sshでログインした後に使ったりします。 http://tmux.sourceforge.net/ 下記のようなありがちな不満を解消してくれます。 今動いているシェルターミナルの他に、シェルターミナルがもう一欲しい。 ログアウトしていてもプログラムが動作していてほしい(従来はnohupかC-z -> bg -> disownでやっていたこと) もっかいログインしたら続きからやりなおしたい 画面上を流れる出力をじっくり見たり、コピペしたりしたい。 シェルの画面を分割したい。 リモート上で動くTeratermみたいなものですね。他人とシェル画面を共有したりもできたりします。(画面シェアしている場合はつないでいる人の最小画面サイズ

    tmuxはじめました - knjnameのブログ
    knjname
    knjname 2014/04/03
    さすがに放置しすぎたのでたまにはエントリ
  • どんどんメタスペース(パーマネント領域)食べちゃうメタボなクラス - knjnameのブログ

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

    どんどんメタスペース(パーマネント領域)食べちゃうメタボなクラス - knjnameのブログ
    knjname
    knjname 2014/03/24
  • Excelで意味のない番号を表に振っている人はこの数式使って下さい ~ INDIRECT関数 - knjnameのブログ

    とくに意味はなくとも、番号を表に振っている人、よくいますね? そういう人はおそらくコピペで番号がずれたりしてイライラしていると思うので、それを解消するために、この数式を使うといいと思います。 =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で意味のない番号を表に振っている人はこの数式使って下さい ~ INDIRECT関数 - knjnameのブログ
    knjname
    knjname 2014/03/23
    本日のエントリがこちらになります
  • JenkinsでExcel VBAを動かす方法 - knjnameのブログ

    あまり幸福でない開発をしていると、プロジェクトのユビキタスフォーマット()がExcelになっていて、そのうちJenkins上でExcelVBAを動かしたくなります。 サーバ上でExcelを動かすには諸問題があり、できればサーバサイドでExcelを動かさないに越したことはありません。 そこで、たとえばJavaであればPOIなどExcelブックを扱えるライブラリを検討するところですが、POIは下記のような問題もあり、そこまで魅力的ではありません。 数式の計算がむずい(僕はやったことないです) 新規行のセル書式の引き継ぎなどExcelVBAでの動きと多少異なる セルの型の扱いが面倒くさい 実装が面倒くさい VBAが動かせない (反面、POIは処理が高速であるというメリットがあります) こういうこともあり、ExcelVBAマクロがJenkinsで動いてくれたらいいなあと思う人も大勢いると思い、この

    JenkinsでExcel VBAを動かす方法 - knjnameのブログ
    knjname
    knjname 2014/03/23
    今回は長い… 長い文章は破綻しやすい…
  • 何にもマッチしない正規表現 - knjnameのブログ

    タイトルの "何にもマッチしない正規表現" とは、文字通り、どんな入力を与えてもマッチしない正規表現を指します。 例えば以下のようなものがそれにあたります。 /$^/ /(?!)/ /^(?!.)./ /^(?!)/ /$./ いずれも、どんな入力をもらってもマッチしません。*1 人生において何にもマッチしない正規表現を書くことは少ないとは思いますが*2、たとえば、正規表現による除外しかうけつけないような、へぼいフィルタリングシステムがある場合、何にもマッチしない正規表現を使うことにより、何も除外しないことができます。 <!-- 除外対象をなくせるよ! --> <poor_filtering exclude="$^" /> ………べ、便利ですね! で、いくつか何にもマッチしない正規表現のパターンがあるなら、どれが一番はやいのかな?と思って、CoffeeScript書いてみました。 http

    何にもマッチしない正規表現 - knjnameのブログ
    knjname
    knjname 2014/03/19
    記事書いたよ!