結論から言うと「Parameterized Trigger Plugin使え」 Jenkinsには「ビルドのパラメータ化」という便利な機能がある。例えば任意の文字列を渡すことができるので、ビルドするGitリポジトリのブランチ名を指定したりする。この機能はとても便利なんだけど、プロジェクトBがプロジェクトAに依存していて、Aと同じブランチ名をビルドしたい時にどうすればいいのかわからなかった。(JavaでWebアプリ開発する時はたいてい hoge-core というDB回りのクラスを集めたものと hoge-web っていうWebアプリケーション回りのプロジェクトにわけたりするので) でで、調べたらParameterized Trigger Pluginというそのものズバリなプラグインがあった。 使い方は、依存しているプロジェクトA側の設定で 後処理→Trigger call builds on
会社のエンジニアブログを書いていて、あまりにもアメブロのエディタがしんどかったのでカッとなって作ってしまった。これでエンジニアブログ書くのが捗ると思う。heroku上のサンプルはここ。 使った技術 Python 2.7 misaka - MarkdownをHTMLに変換するライブラリ heroku herokuはGitリポジトリにpushするだけでディプロイ出来て便利だなーと思った。 パーフェクトPython (PERFECT SERIES 5) 作者: Pythonサポーターズ出版社/メーカー: 技術評論社発売日: 2013/03/05メディア: 大型本購入: 1人 クリック: 65回この商品を含むブログ (8件) を見る
JRebelというソフトウェアを使うと、JavaでWebアプリケーションを開発する時に、ソースの修正→サーバ再起動 or 再ディプロイ がいらなくなるよーという話。 ライセンス 商用で使う場合はちゃんとライセンスを購入する必要があるけど、Socialという謎ライセンスだとフリーで使えるみたい。(ちゃんと理解してない) myJRebel Social is a FREE version of myJRebel that is meant for anyone working on non-commercial projects, who is tired of building and redeploying Java code. インストール Eclipseを使っていれば Help -> Eclipse Market Place をクリックして jrebel と検索するとプラグインがインス
最近Javaの面倒臭さに耐性ができてきて何も感じなくなってきた oinume です。こんにちは。今日はSpringMVC + JSR-303 Bean Validation + FreeMarkerでいわゆるフォームのバリデーション+エラーメッセージ表示を試してみたので、そのまとめをば。サンプルコードはGitHubにあげてある。 使ったソフトウェアのバージョン Spring MVC 3.2.3 FreeMarker 2.3.19 Hibernate Validator 4.3.1.Final Hibernate Validatorは5.0.1.Finalというのが最新なんだけど、これを使うとWebアプリ起動時にNoClassDefFoundErrorで怒られてしまったので1世代古いやつを使ってる。 Caused by: java.lang.NoClassDefFoundError: org
最近Sphinxでよくドキュメントを書くのでメモ。やっぱりある程度巨大なソフトウェアのドキュメントを書く時はWikiじゃなくてSphinxの方が良い気がする。 リンク 他のファイルのセクションにリンクを貼るときには そのセクションの前で .. _label: のようにラベル定義 :ref:`label`でリンクを張る という感じ。ラベルの名前はドキュメント全体でユニークにする必要がある。 参考 ソースコードのinclude literalincludeを使う。外部のソースファイルをincludeする時に使った。 .. literalinclude:: ../../src/main/java/net/lampetty/commons/MarkingStopwatch.java :language: java :linenos: 参考 テーブル 通常のテーブルの書き方は非常に面倒なので csv
よく rvm や rbenv を使ってMacに複数バージョンのrubyをインストールする例を見るんですが、「それhomebrewでもできるよ」って思ったのでメモ。 とりあえず最新版を入れる場合 2012/7/27時点ではruby-1.9.3-p194がインストールされるみたいです。 $ brew install ruby $ export PATH=/usr/local/bin:$PATH $ ruby -v ruby 1.9.3p194 (2012-04-20 revision 35410) 別のバージョンのrubyをインストールする 続いて一つ前のバージョンを入れるために、利用可能なrubyのバージョン一覧を表示。 $ brew versions ruby 1.9.2-p290 git checkout 1f32fa4 /opt/local/Library/Formula/ruby.r
最近ウチの会社から内定が出て、他社からも内定をもらってどうしようか悩んでいる学生の方に会って話をする機会がよくあります。そこで必ずといっていいほど聞かれるのが「なぜサイバーエージェントに転職したんですか?」という質問。会社を選ぶ基準は人それぞれだと思いますが、自分の場合はこうでした。 まず前提として、自分はインターネットサービスを運営している企業で、かつ多くのサービスを抱えている会社に転職したいと考えていました。理由はシンプルで、運営しているメディアがたくさんあれば、何かのサービスの開発に従事していて仮に飽きてしまっても、他のサービスに携わることができるから。(飽きっぽい性格なのです) その中で何社か内定をもらったのですが、最終的にサイバーエージェントに決めたのは、最近発売された社長の「起業家」という本に書いてある「メディアを収益の中心とした企業に変える」という決意・宣言と、それに対する実
すごい久々にtomahawkを更新した。(0.6.0-rc1) インストール まだ正式リリース版ではなくpypiには上げていないため、GitHubから直接インストールする感じで。 $ pip install https://github.com/oinume/tomahawk/zipball/0.6.0-rc1 新機能 -V/--verify-output リモートホストで実行したコマンドの出力が全てのホストで同じかどうかを検証するオプション。「なんか1台だけ設定が違くね?」みたいなのが簡単に検証できる。 例えば以下は host1 と host2 の ulimit -a の結果が同一であるかを検証する。 $ tomahawk -V -h host1,host2 'ulimit -a' host1とhost2のnginx.confが同一であることを検証したいのであれば、cat するか md5
JavaにはMavenっていう依存ライブラリの管理を行えるすごい便利なツールがあるんだ。RubyでいうところのRubyGems みたいなもんだよ。でもさぁ、RubyGems みたいに自分で作ったライブラリを簡単にアップロードするサーバがないんだよ。えっ、Nexus入れろって?そんなのイチイチ用意してらんないよね。えっ、WebDAV?ムリムリー。本当Javaってなんでもかんでも面倒くさいよね。 そんなあなたに朗報。GitHubリポジトリに特別なブランチを作ってMavenの設定をするだけで、GitHubリポジトリをMavenリポジトリにすることができるんだ。GitHubって本当に開発者に優しいサービスだよねー(-д☆)キラッ ※4/3追記:【最新版】Maven Central Repository へのライブラリ登録方法 #mavenに詳しくまとまっているんだけど、Maven Centralリ
なんか秘伝のタレみたいになってきたので後世のために共有。 前提 Webアプリケーションを想定 TomcatなりJettyなりがListenするポートは外部からはアクセスできない ※-Xms -Xmx -Xmn あたりは搭載しているメモリ容量によって変える、-XX:MaxPermSize -XX:PermSizeは384mあれば十分だと思うけどロードするクラスの数次第なので要調整。 NOW=`date "+%Y%m%d-%H%M%S"` JAVA_OPTS="-server -Xms2g -Xmx2g -Xmn1g -XX:MaxPermSize=384m -XX:PermSize=384m \ -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=85 -XX:MaxTenuringThreshold=32 \ Javaプログラマーなら習得しておきたい J
JavaのDIコンテナって言ったらSpringだよね。ということでSpringのTIPS。bean定義する時にabstractとparent属性を使うとbean定義の共通化が出来てDRYになりますよってことです。 例えば以下のように (1)の部分でabstract="true"にして共通のBasicDataSourceを定義 (2)でparent=""を指定して、urlプロパティだけオーバーライドする ことができる。 xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springf
タイトル通りなのだけど、ググっても全く出て来なかったので。 CentOS 6.3 Munin 2.0.9 が環境。/usr/share/munin/plugins/mysql_ を使ってグラフを表示させたかったのだけど、munin-nodeに対して telnet localhost 4949 > fetch mysql_innodb_io ってやってもエラーになっていて、/var/log/munin-node/munin-node.logには Couldn't instantiate IPC::ShareLite: Permission denied at /usr/share/perl5/Cache/SharedMemoryBackend.pm line 85. っていうエラーが出てた。他のグラフはちゃんとデータが取れて描画されるのになんでなんで?って1時間近くはまった。Cache::S
Raycastを使い始めて1年経ったので、どういうことに使っているかを振り返ってみる。去年書いた AlfredからRaycastに移行した - oinume journal の記事から少し使い方が変わっているところもあるのでメモがてら。 基本的な使い方 Cmd + QをRaycast起動のショートカットとして割り当てている。Pro版は使っていないのでAI機能などは使ったことがない。 ブラウザのブックマーク検索など、よく使うけどHotKeyを割り当てるほどでもないRaycastコマンドはbmのようにAliasを設定している。 Cmd + QでRaycastを起動してbmと入力するとブックマークの検索ができるので楽ちん アプリケーションランチャー機能 アプリケーションを起動するときのランチャーとして使っている。よく使うアプリにはHot Key(ショートカット)を割り当ててる。 Clipboar
Raycastを使い始めて1年経ったので、どういうことに使っているかを振り返ってみる。去年書いた AlfredからRaycastに移行した - oinume journal の記事から少し使い方が変わっているところもあるのでメモがてら。 基本的な使い方 Cmd + QをRaycast起動のショートカットとして割り当てている。Pro版は使っていないのでAI機能などは使ったことがない。 ブラウザのブックマーク検索など、よく使うけどHotKeyを割り当てるほどでもないRaycastコマンドはbmのようにAliasを設定している。 Cmd + QでRaycastを起動してbmと入力するとブックマークの検索ができるので楽ちん アプリケーションランチャー機能 アプリケーションを起動するときのランチャーとして使っている。よく使うアプリにはHot Key(ショートカット)を割り当ててる。 Clipboar
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く