読者です 読者をやめる 読者になる 読者になる

viでたまに利用するコマンド

たまに必要になって毎回調べ直すので、メモしておく。 行番号の表示 カーソルモードで以下のコマンドを実行。 :set number 実行前の例は以下。 #include <stdio.h> main( ) { printf("hello, world\n"); } 実行後の例は以下。 1 #include <stdio.h> 2 3 main( ) 4 { 5 printf("</stdio.h></stdio.h>…

AspectJを利用したプロジェクトのMavenでのビルドとテスト (Load-Time Weaving)

はじめに あるOSSの解析のためにAspectJを利用した。 その際にMavenでアスペクトのビルドとテストを行ったので、その記録を残しておく。 ここでは、テストメソッドにログ出力を織り込むことにする。 ディレクトリ構成 $ tree . |-- pom.xml `-- src |-- main…

Javaのシステムプロパティの一覧表示

過去に何度か同じ使い捨てのコードを書いたので、また必要になった時のために残しておく。 public class Main { public static void main(String[] args) { System.getProperties() .entrySet() .stream() .sorted((x, y) -> x.getKey().toString().compareT…

Windows版のDocker Engineのリスト

Microsoftのドキュメント「Windows Containers on Windows Server」の手順では、OneGetを利用してDocker Engineを取得する。 OneGetを実行すると、Azure StorageからDocker Engineの実行バイナリを取得するようだ。 直接以下のAPIを実行すると、配置されてい…

JSONの整形

はじめに LinuxでのJSONの整形方法をメモ。 コマンドjqを利用 $ cat in.json | jq Ubuntuでjqをインストールする場合は以下。 $ sudo apt-get install jq CentOSでjqをインストールする場合は以下。 $ sudo yum install jq Pythonのモジュールを利用 $ cat i…

etcdでよく利用するAPI

はじめに 自分がよく利用するetcdのAPIをメモしておく。 キーの値を取得 キーがfoo/barの場合。 curl http://localhost:2379/v2/keys/foo/bar キーの値を再帰的に取得 キーがfoo/barの場合。 curl http://localhost:2379/v2/keys/foo/bar/?recursive=true

Vagrantを利用して同じ環境のVMを複数作成

以下のようにループを利用して必要な台数分の定義を生成するVagrantfileを準備すればよい。 # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| MAX_VM_COUNT = 3 (0 ... MAX_VM_COUNT).each do |counter| config.vm.define "node#…

Ubuntu 16.04で最新のAnsibleをインストール

Ubuntu 16.04の標準のリポジトリからapt-getで取得できるAnsibleは若干古い。 最新版をインストールするには、PPAのAnsibleのリポジトリを追加してapt-getすればよい。 $ sudo apt-get install software-properties-common $ sudo apt-add-repository ppa:an…

Ubuntu 16.04でのVagrant + libvirtの環境構築

はじめに Ubuntu 16.04でのVagrant + libvirtの環境構築に苦労したので、手順を残しておく。 VagrantでKVMを扱えるようにするには、vagrant-libvirtというサードパーティ製のプラグインが必要になる。 以下の手順は、KVMの環境は構築済みであることが前提。 …

Ubuntu 16.04でのKVM環境の構築

事前準備 CPUがハードウェア仮想化をサポートしているか検査。 以下のコマンドを実行した結果、1以上が表示されればOK。 $ egrep -c '(vmx|svm)' /proc/cpuinfo KVM $ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils virt-manag…

Apache + mod_jk + 各種アプリケーションサーバの設定方法

はじめに ほとんどのJava EEのアプリケーションサーバは、Javaで実装した独自のWebサーバを持っている。 通常はそのWebサーバを利用すればよいのだが、運用の都合などにより、時々前段にApacheを配置することがある。 その時のために、mod_jkを利用してAJPで…

Vagrant + libvirtでprivate_networkの設定を行うと、NICが増える件

説明 Vagrant + libvirtでprivate_networkの設定を行うと、ゲスト側のNICが増えるのが気になったが、そういうものらしい。 That's not how private_network works. It will always create an extra interface. Vagrant needs the first interface that comes…

libvirtで、ネットワークdefaultのDHCPの範囲を変更

環境 Ubuntu 16.04 LTS $ uname -srvm Linux 4.4.0-45-generic #66-Ubuntu SMP Wed Oct 19 14:12:37 UTC 2016 x86_64 $ dpkg -l | grep libvirt0 ii libvirt0:amd64 1.3.1-1ubuntu amd64 library for interfacing with different 設定手順 ネットワークの設…

Tomcat 8でJAX-RS 2.0 (さらにCDIも利用)

はじめに CDIを利用したJAX-RS 2.0のアプリを作成し、Tomcat 8で実行するサンプル。 web.xmlレスの情報が少ないので、まとめておく。 ビルドにはJDK 8とMaven 3を利用。 また、JAX-RS 2.0の実装としてJerseyを、CDIの実装としてWeldを利用。 実行にはServlet…

Tomcat 8でJAX-RS 2.0

はじめに JAX-RS 2.0のアプリを作成し、Tomcat 8で実行するサンプル。 web.xmlレスの情報が少ないので、まとめておく。 ビルドにはJDK 8とMaven 3を利用。 また、JAX-RS 2.0の実装としてJerseyを利用。 実行にはServlet 3.0に対応したTomcat 7以降(ここで試…