正しく使うことを期待する vs 意識せずとも正しく使えるようにする

仕事でリソースリーク起こしてシステムが止まったという事案を受けていろいろ考えてた。 この問題が起きた時、実装としては「正しく使ってもらうことを期待する」実装になっていた事に気づいたのでこの点で1本書きたくなった。ちなみに、今回問題を起こした…

Jenkins + systemd + firewalld

CentOS7にJenkinsを入れようとしたけど、systemd+firewalldをどうやって設定するんだろうと思ったので。ちゃんと公式に書いてありました。 Installing Jenkins as a Unix daemon - Jenkins - Jenkins Wiki実際はfirewalldの設定も必要なので、合わせて。

気軽にエラーログを出せない状況

前回、ログ考えるの、もうめんどいから必要だと思ったらその時点で都度出したい、って方針だとダメなケースがあったりする。ログを監視するとき、行ベースで監視してたりすると、1行エラーログあれば1回、2行エラーログがあれば2回といった感じに出てくる。 …

ログに何を出力するべきか

仕事でHTTPで使うAPIを書いているのだけど、問題が起きた時にログの内容から問題を特定できないといった問題があり、ログを見直すことになった。 そもそも、自分は今まで運用時の問題を意識してログを書いたりとかしたことがなかったので、何が必要なのかと…

tmuxメモ

windowsで開発するのは苦痛なので、頑張って覚える・・・調べれば出るので、メモ書き程度。

SVNで特定のリビジョンをチェックアウトしてビルドしたかった

ブランチとかはよく見るんですが、リビジョンについては全く見かけないので。といっても、Jenkinsには「ビルドのパラメータ化」というものがあり、簡単にできます。記事にするほどの事でもございませんが、何かに使えそうなので。

VALUE-DOMAINのDDNSがHTTPS対応してた

新年あけましておめでとうございます。今年も頑張って生きます。DDNSは動的なIPで自宅鯖を運用する身としてはとても助かる。(固定IPぐらい買えって思うけども。) うちはValue-Domainを使っているのだけど、DDNSはHTTPのみでHTTPSが使えなかった。ずっと疑問…

新しくPC組む事にした

仕事のストレスから散財してPC組む事にしました。円安?知らんな。ほんとはSSDの調子が悪くなったのがきっかけ。今使ってるのは3年前ぐらいに組んだものに、SSD256GBのRAID0にして、メモリ8GB*4と不安定にしたもの以下自己満足構成。

JJUG CCC 2014 Fallいってきた

ジャバで単体テストを書くにはどうしたらいいんや!と未だに悩んでる私ですこんばんわ。 仕事は仕様が固まらず&不明点が山盛りに対し、リリースが決まってる状態で辛いです。JJUG CCC 2014 Fallにいったので思ったこととかをメモ。でも1日経ったせいでだいぶ…

Javaでgetter/setterだけもつBeanを扱うのが辛い

辛い。何が辛いかと言うと、Beanの内容が似てるのにクラス名が違うから使えないとか、Apache CommonsのBeanUtilsを使った変換も命名規則とかうまい事一致しないと使えない。いちいちsetter並べてBeanを詰め替えて渡すとかめんどいし、クラスの内容が変わると…

OpenAM

お仕事で使ったけども、非常に苦労させられました。ちゃんとまとめたかったけども、うまくまとめられなかったので非常に読みにくい感じになってます。気が向いたら直すかもしれません。 また、この記事は愚痴に近いものがあるので、問題解決とかの参考にはな…

Gradleでwarを作るときに入れるリソースを環境で切り替えたい

環境毎に変化するリソースファイルがあって、今までsrc/main/resourcesとかsrc/main/webappとかにcopyタスクでコピーしてたけども、VCSに変更扱いにされたりして戻したりするのが面倒だった。調べても同じ事考えてる人がなかなか出てこないし、似たような事…

mdadmでRAID構築したけど、監視してなかったので、少し考えた。

※この記事を見ればRAIDの監視ができるわけではないですmdadmで簡単にRAID構築できてこれでいいんだろうかーと思いながら適当に運用してきたけども、監視を全くやってなかった。それ運用っていわねえから!! というわけで、どんなやり方があるか調べたけども…

JUnitで全テストで共通の前処理・後処理をしたい

「全テストで共通の処理をしたい」というのは結構ありました。 DBのクリーンアップとかセットアップをしたい テスト用のHTTPサーバを立ち上げて、テストによって適当な応答を返して欲しい あるログをtailしてテスト毎に出力されたログを記録して欲しい 一時…

Jarの中のJarを読みたい

MyApp.jar /META-INF MANIFEST.MF Hello.jar /myapp/example Hello.class Hello.properties といった構成で、MyApp.jar内のHello.jarが持っているHello.classとかpropertiesを読み出したい。

Jersey + Jetty + Gradle でWebアプリケーション作るための勉強してた

今回の目的は以下。 Jerseyの簡単なサンプルを書く(HelloWorld返すだけ) Jettyを組み込んで実行可能なwarにしたい(winstoneとかあるみたいだけど、Jettyで。) Mavenは嫌なのでGradleでやりたい Jerseyを触ろうと思ったけどライブラリどれが必要なのかわから…

yapcasia 2014 2日目 行ってきた

完全に遅刻したので2つ目のセッションから 例によって感想のみ。あと少し時間空いたせいでうろ覚えになってる部分あるry

yapcasia 2014 1日目 行ってきた

遅刻したけど行ってきた。内容はgihyoのレポートや動画とかは上がるはずなので適当に感想だけ。 その場で質問しろって感想もあるんだけど、そんな勇気ないです。http://yapcasia.org/2014/

DockerでCentOS 7のベースイメージを作ってPerl環境があるイメージ作る

CentOS7からは特に何もしなくてもDockerをyumから入れられるようなので、難しい事は考えずに試しました。以下を参考にしました。以下を読めばこの記事を読む必要は無いと思います。 Docker向けのコンテナをゼロから作ってみよう GitHub - miyagawa/docker-pl…

WeakReferenceで開放されたものがReferenceQueueにすぐ入らない

WeakReferenceを作る時にReferenceQueueを渡して、System.gc();しても、すぐにReferenceQueueに入らないんだけど!って話をどっかで見たので。うまくいくときといかないときがあるときはスレッドを疑えってばっちゃが言ってた。Javaのバージョンは以下です。…

Javaとキャッシュの付き合い方で考えてた

キャッシュっていろんな意味があってアレだけど、ここでは「苦労して得た情報なんだから使いまわしたい」時に使うキャッシュということで。仕事でキャッシュ使ったほうがいいよなぁ、とぼんやり思ったので考えまとめるためにメモっとく。アルゴリズムの勉強…

CentOS7でkickstart

RHEL7が正式にリリースされてしばらく経ちCentOS 7がリリースされたので、CentOS 7でkickstart試した。といっても、前にRHEL 7 RCの時にやってたのと同じ手順 で出来たので詳しくはそちらをどうぞ。違うのはイメージのダウンロード先と、yumの設定してないの…

仕事と評価

月曜日という現実を受け入れたくない人のポエムです。

GitHubでPull Requestを練習した

Git

GitHubにPull Requestしたことがなかったので、これが初GitHubです。なんだかんだでリモートリポジトリホスティングサービス的な使い方しかしてなかったのと、「プルリクエストってなに?難しそう・・・なんでみんな当たり前のように話してるの・・・怖い」…

RHEL 7 RCでKickstartを試したけどNetworkがうまく設定されなかったので困ってた

kickstartファイル中にnetworkについて書けば動くはずなんだけども、どうやら以下のようにしないとだめ。 network --device=ens32 --bootproto=static --ip=10.1.1.1 --netmask=255.255.0.0 --gateway=10.1.255.254 --nameserver=10.1.255.254普通に" --devi…

RHEL 7 RCでKickstartを試した

初kickstartです。ネットワーク設定などがうまくいかなかったが、とりあえずOS導入までは出来たので。

RHEL7でnetstatがdeprecateになってポート確認できなくて困ってた話

プロセス立ち上がって、ポートをListenしてる事まで確認したかったけど、RHEL7ではnetstatが最小構成では入ってないらしい。f*ck!!netstatの代わりにssコマンドがあるので、これでいけます。 # TCP一覧(-t) ss -ta # UDP一覧(-u) ss -ua # Process ID付き(-p…

Gradleで"UP-TO-DATE"となる条件を自分で定義したい

outputs.upToDateWhenを上書きします。このとき、doLastにあたるタスクがないと、何も起きないのでちゃんと書く事。(多分"以下サンプル特定のディレクトリにTomcatがなかったらダウンロードして配置する。(ディレクトリの有り/無しをoutputs.upToDateWhenで…

RHEL7 RCでネットワーク周りで躓いたのでメモ

時代を先取りしようとしてCentOS 6.xからRHEL7のRC版に手を出したら苦労した話。ネットワーク回りの扱いが大きく変わって躓いたので、メモ。 デバイス名が「eth」とかではなくなった ens32とかデバイスに基づいて決定されるらしい。ESXiとVirtualBoxで試した…

gradleを使った

お仕事でAntイケてないよねーって事でGradleを使うことになりました。Gradlehttp://www.gradle.org/いまは1.12が出ているようです。2.0の話もちらほら聞きますがまだかな?Documentも充実してますし、有志によるDocumentの日本語訳もあります。以下作業メモ…