Spring Bootでspring-boot-starter-parentじゃない親pomを使いつつ、Fully Executable Warにする。

最近はSpringとかSpring Bootで組むあんなのとかそんなのを開発しております。 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> こんな感じで、Fully Executable War というのになるように作ると、(WebアプリならTomcatまで含めて)依存関係全…

Javaでテスト書くときのstatic import

仕事やめたり復職したりしてました。 ところでJavaでユニットテスト書くときにstatic importを多用するのですが、 IntelliJ使うことにしたのですが、static importEclipseと違ってうまく補完してくれませんしorganize importとかしてると、使ってない隙を突…

cocoapodsがインストールできない

家のMacにgem install cocoapods すると、SIZEOF_LONGがどうこうと言われる。rubyがEl Capitanので、2.0とやや古いのが行けなさそうな雰囲気。 rbenvでruby 2.3を入れようとするとssl周りで怒られて駄目なので、まずport install opensslでopensslを入れる。…

unrecognized command line option "-std=gnu++0x"

electronのバージョンを上げるとnodejsのバージョンを上げないと使ってるモジュールが構文エラーになるようで仕方ないのでバージョンを上げたりnpmモジュールのバージョンを上げたりなどしているとこんな感じのエラーでfs-xattrというnpmモジュールのコンパ…

elasticsearchのプラグイン更新

どうもelasticsearchのプラグインは、elasticsearch本体バージョンに厳しいようで、たとえば本体2.2と一緒に入れたプラグインが本体2.3ではサポートされていなくて、入れ直す必要があったりとかする様子。 yumでelasticsearchを入れて、sudo bin/plugin inst…

電子署名、特にXMLの。(後編)

JavaでXMLファイルに署名したり検証したりするプログラムの書き方。 必要なものは概ねJavaSEのjavax.xml.cryptoや`javax.xml.crypto.dsig``などのパッケージに全て揃っているので、 そのチュートリアルであるJava XML デジタル署名 API を見ながら写経してい…

電子署名、特にXMLの。(前編)

ここしばらく電子署名まわりのコードを書いてました。 何にどう使ってるかは内緒。 電子署名 「平文と暗号文と公開鍵が分かってる」ってまずくないのかな、とか思って調べてるうちに見付けた記事。 公開鍵暗号方式の誤り解説の氾濫をそろそろどげんかせんと …

0.0.0.0の意味

時々サーバー設定で、listenするネットワークインターフェイスとポートをしていさせるのがある。 eth0とかeth1だけじゃなくて、localhostからもアクセスで来たいときなんかがあって、でも複数設定できそうな感じがしないときにどうすれば良いかというと、0.0…

APNS/GCMと端末間の通信

いわゆるプッシュ通知。 プッシュと言いつつ端末からプルしてるんじゃないかと思ったら、通信を張りっぱなしにするとあるので、本当にプッシュしてそうな雰囲気。 Apple / iOS / APNS support.apple.com IP 17.0.0.0/8 に対して、5223,2195,2196,443ポートが…

Emacs25にした。

MacをEl Capitanにした辺りからか、 Emacs24で画面中央にときどきこんな感じの描画ゴミが発生するようになりまして、 Emacs 25にしてみたが改善せず。どうもvisible-bellでの描画処理がうまく行ってないみたいなので、 #21662 - 25.0.50; visible-bell cause…

Zabbixをいじるのにzabbyを使うことにした(1)

20台前後のサーバーを、監視しないといけないな、仕組みを入れないとな、ということになり、色々見比べてZabbixを使うことにしました。Web UIから触るのが楽そうなので。 kazeburoさんのKurado (cloudforecastの後継)もグラフをたくさん並べて眺めるにはいい…

mysql_replicationが厳しくて動かない

stackoverflow.com これを踏んでしまい、ansibleのmysql_replicationが、mysqlがreplication周りでwarningを出しただけで失敗する。 Sending passwords in plain text without SSL/TLS is extremely insecure. こんなかんじで。 確かに警告が出るのも解らな…

サブコマンドのあるCLIをThorで作る

gitとかvagrantみたいな一群の処理をサブコマンドとしてまとめたコマンドをスクリプトとして、rubyで書くとき、optparse(OptionParser)でもできるけどちょっと大変。 Thorを使うと、Thorのサブクラスを作ったらメソッドがそのままサブコマンドの処理になる。…

vagrant環境でソースをホストに置いているとnpm周りでハマる

VirtualBoxをproviderにしたvagrant環境で、ゲストがLinux、ソースコードはホスト(Mac)においてあるような場合。 npmをホストで動かすと、場合によりCプログラムをMac用にビルドしたりするので、それをLinuxのゲストで動かそうとするとハマる。(踏んだのはP…

CentOS 6のrubyにmsgpack-rpcが入らない

# gem install msgpack-rpcを叩くと、ruby/io.hが無いと怒られる。 CentOSのrpm/yumで入るrubyが1.8.7でかなり古いため。 さてどうしたものか考えて、バージョンを上げることに。 dotnsf.blog.jp ここにあるとおり進めて、さほど詰まらず出来ました。 2.2.3…

YAMLはJSONの(ほぼ)スーパーセットになっている

というのを最近知りました。 Rubyist Magazine - プログラマーのための YAML 入門 (初級編) そもそも、YAMLにブロックスタイルとフロースタイルがあり、フロースタイルの方がJSONと(ほぼ)互換するので、JSON is YAMLなのだそうです。(リンク先のRubyist M…

大体なんでもansibleでやる

ansibleのモジュールが便利で、一回こっきりの作業もスクリプトを書くよりもansibleのモジュールにぴったりとしたのがあれば、それでどうにかしたくなります。なんでもansibleでやっちゃうおじさん。 コマンドラインから「ホスト指定」と「変数の値」を渡し…

curl/ansible/firefoxだけhttpsが通らない

iptables設定を色々いじって、ヘアピンNAT問題を解決したのでこれでDMZ内のhttpsサーバーからget_urlできるかなと思ったら、「ルート証明書がない」みたいな感じで怒られて、curlを叩いても同じようなエラー。 RapidSSLで取った証明書なのが怪しいなと思いつ…

chef/centos-6.6が無くなってしまった

今のお仕事ではCentOS6.xを使っているのですが、八月の終わりぐらいだったと思うのですが、vagrantでそれまで使っていたchef/centos-6.6が無くなってしまいました。人が公開してる色々を使って自動でセットアップする色々を組むのは、便利なのですがこういう…

DMZ内部から外のための名前でDMZ内のサーバーにいけない

ここ五年ほどWebエンジニアをやってたのですが、当時インフラ周りはインフラエンジニアさんに任せきりだったので、今の会社に移ってからにわかネットワークエンジニアみたいな感じで四苦八苦しております。 最近はほら、自宅用のLANなんかはルータ買ってきて…

OVFからクローンするとネットワークに繋がらなくなる

CentOS 6.7のサーバーの、ovfテンプレートを作って、そこからクローンして作った仮想マシンがなぜかネットワークに繋がってない。 ifconfigでeth0は見えるし、vCenterでもNICが見えるのに、なぜか疎通しない。 まるで仮想マシンなのにケーブルが抜けてるかの…

技術ブログ始めました

気がつけば十年とちょっと、プログラマをやっております。 印刷屋さん→ワープロ屋さん→ブログ屋さん→チャット屋さんと移って、今は秋葉原にあるJavaとRubyの会社におりますが、ここしばらくプログラム書くよりansibleのPlaybookとかvagrantの設定とかを書い…