GeekFactory

int128.hatenablog.com

2014-09-01から1ヶ月間の記事一覧

JDK 7u65/8u11以降に存在するバイトコード検証の不具合

JDK 7u65/8u11以降にはバイトコード検証の不具合 JDK-8051012 があります。Groovyでは、 GROOVY-6951 で報告されているように、コンストラクタ内でsuper()やthis()を使うと実行時エラーが発生します。 Gradle SSH Pluginでもコンストラクタ内でsuper()を実行…

Dockerfileでソフトウェアの実行環境や実行方法を明示する

現在、ソースコードと一緒にビルドスクリプトを置くことで、ソフトウェアのビルド方法を明示することが慣習になっています。 今後、リポジトリにソースコードと一緒にDockerfileを置くことで、ソフトウェアの実行環境や実行方法を明示することが一般的になる…

QRコード生成サービスを作った

Webブラウザ上でQRコードを生成するサービスを作りました。 https://getqrcode.github.io Get QR Code - QR Code Generator JavaScriptのみでQRコードを生成するサービスが見つからなかったので作ってみました。外部のサーバとは通信しないので、秘密情報を…

@DelegateでJavaバージョンの差異が顕在化するケース

JDK 8でビルドしたクラスファイルをJDK 7で実行するとClassNotFoundExceptionが発生する事象でハマったのでメモ。結論からいうと、ソースコードでJava 8に固有のクラスを直接参照していなくても、@Delegateによって間接的に参照されるケースがあります。 前…

認証付きプロキシの内側で共用サーバを運用する

多くの企業や教育機関ではインターネットアクセス用のプロキシサーバが導入されています。プロキシサーバの中にはユーザ認証を必要とするもの(認証付きプロキシ)があり、組織やチームの共用サーバを運用する上でしばしば問題を引き起こします。 例えば、共…

Bintray PGP Signingを試す

BintrayではJCenterからMaven Centralにパッケージを同期する機能がありますが、これを使うにはあらかじめパッケージのファイル(JAR, POM)にPGP署名を付与しておく必要があります。 BintrayではアップロードしたパッケージにPGP署名を付与する仕組みがある…

Template project of AngularJS, Scala and Unfiltered on App Engine

App EngineでAngularJSとScalaのアプリを開発する時のテンプレートプロジェクトを作りました。 クライアントサイドとサーバサイドを別のプロジェクトに分けています。App Engineは静的コンテンツの配信が高速なので、クライアントサイドでページをレンダリン…

SSHログインごとに独立したコンテナを割り当てる

SSHのログインごとに独立したコンテナを割り当てる方法を書きます。 手順 まず、適当なユーザを作って公開鍵でログインできるようにしておきます。 sudo useradd -m -G docker newworld sudo -u newworld -i mkdir -m 700 .ssh sudo -u newworld -i tee .ssh…