DragonflyBSD 5.0 + letsencrypt インストールログ

以前書いた記事 の ライブラリが消えていたので書き直し 環境 DragonflyBSD 5.0 ログ とりあえず standalone で取る場合。 $ sudo pkg install py27-certbot $ sudo certbot certonly --standalone -d ドメイン名 すると以下のような場所にいろいろできる $ …

ConditionalOnClass を使うライブラリを書いたときにハマったことメモ

概要 Spring Boot の機能として auto configuration を作る Spring Boot ライブラリを作成する場合に、特定のライブラリが読まれているときのみ動く設定などを使いたい場合がある。そういう場合に ConditionalOnClass アノテーションを使うだろうと思う。(…

spring.properties 相当のファイルを増やす

概要 共通モジュールとそれを利用するモジュールを、同一 gradle プロジェクト内で開発したいときなど 共通モジュール用と利用側モジュールでそれぞれ設定ファイルを書きたい場合がある。 Spring Boot の設定について Spring Bootでは 設定(プロパティ)を …

Mockito でモックオブジェクトを初期化する

Mockito の Mock アノテーションを使ってモックを使ったテストを書きたい場合、 モックオブジェクトを初期化する処理を入れる必要がある。方法は調べた限り3つある様子。 Mock (Mockito 2.8.9 API) MockitoAnnotations.initMocks(this) method has to be ca…

spring で logback を使う際に application.yml の値を使う

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html#_environment_properties The <springProperty> tag allows you to surface properties from the Spring Environment for use within Logback. This can be useful if you want </springproperty>…

Gradle で SNAPSHOT バージョンのライブラリを使う場合は --refresh-dependencies をつける

開発バージョンとして -SNAPSHOT を付けたものを gradle プロジェクトで利用している場合、なぜかいつまでたっても新しくアップロードした SNAPSHOT のバージョンを使ってくれない問題があった。 SNAPSHOT バージョンは下記のように maven で開発中のバージ…

Jackson で OffsetDateTime を ISO8601 形式にシリアライズする

JavaTimeModule を使って シリアライズする場合に OffsetDateTime などが変な数字になる場合がある。 @Data class MyObject { @JsonProperty("datetime") private OffsetDateTime dateTime; } ObjectMapper mapper = new ObjectMapper(); objectMapper.regis…

apache HttpClient の backoff について

この記事の目的 コードリーディング後の理解用メモ 対象 https://github.com/apache/httpclient/tree/4.5.x https://github.com/apache/httpcore/tree/4.4.x 概要 apache http client には 動的にコネクション数を調整できる機能がある。用途としてはリクエ…

apache HttpClient の eviction について

この記事の目的 apache HttpClinent の eviction について コードリーティングした内容のメモ。 コネクションの有効期限(expire?)についても書いているがプールから取り除く処理(eviction?) について調べるときに必要だったので書いている。混同してたら…

ClientExecChain あたりの挙動メモ

実際に処理する順番 MainExcec decorateMainExec() ProtocolExec decorateProtocolExec() RetryExec RedirectExec ServiceUnavailableRetryExec BackoffStrategyExec MainExec たぶん実際にリクエストを行なう部分 decorateMainExec() HttpClientBuilder を…

Competitive Programming (その2) Advent Calendar 2016 6日目

Competitive Programming (その2) Advent Calendar 2016 - Adventar Competitive Programming (その2) Advent Calendar 2016 6日目の記事です。 万年灰色コーダーの nise_nabe です。 今回は思い出ポエムを書きます。ちょっとアルゴリズム以外の競プロ役…

debian ベースの ディストリ上で openvpn が起動しない場合

ubuntu や debian で openvpn をインストールしたときに service restart などが全く効かなかった時の話。 バージョン確認 $ docker run -i -t ubuntu # cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DES…

Docker for Mac 起動中には Android Emulator (HAXM) が動かない

下記のようなエラーが出た場合で virtualbox そのものを使っている覚えがない場合で Docker for Mac を使っている場合は Android Emulatror の HAXM ありの場合に起動しない可能性がある。 Hax is enabled Hax ram_size 0x40000000 HAX is working and emula…

ISUCON6 予選参加記

ISUCON6 予選 9/17 土曜日に「応答5マイクロセカンド」で take4、Takky と参加していました。 参加当日からずっと風邪引いてたりしてたのでまともな振り返りはしてないですが記録として書いときます。 (箇条書きで同列っぽく書いてますが事実と主観が混在…

とりあえず MySQL Connector/J 6.0 をビルドする

MySQL :: MySQL Connector/J 6.0 Developer Guide :: 4.4 Installing from the Development Source Tree $ git clone -b release/6.0 git@github.com:mysql/mysql-connector-j.git lib というディレクトリがあるので、最低限必要なものとして hibernate4 を …

MySQL Connector/J 6.0 の Service Provider について

下記 記事は Connector/J 5.1 についての記事。 nisenabe.hatenablog.com 6.0 の場合は $ curl -L -O https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-6.0.3.tar.gz $ tar xvf mysql-connector-java-6.0.3.tar.gz $ cd mysql-connect…

DragonFlyBSD + letsencrypt インストールログ

環境 DragonFly v4.4.3-RELEASE ログ letsencrypt 日本語ドキュメント certbot ドキュメント ものによっては certbot-auto とか letsencrypt-auto とかよくわからんのでまずは検索。 $ sudo pkg search letsencrypt letsencrypt.sh-0.2.0 Pure BASH/ZSH Lets…

DragonFlyBSD + owncloud インストールログ

(途中) 環境 DragonFly v4.4.3-RELEASE nginx 1.10.0 PHP 7.0.6 ログ 以前に owncloud 8.2 で運用していたものを一旦動かすのと、 php7 を使いたいため pkg にあるものではなく src からインストールする。構成は nginx + php-fpm。そして news アプリを動…

DragonFlyBSD + php7 インストールログ

目的としては php-fpm を使いたい。 環境 DragonFly v4.4.3-RELEASE ログ 適当に検索すると下記のものが出てくる。とりあえず php7 を使うので php70 を入れる。( fpm で検索しても出てこなかった) php55-5.5.35 PHP Scripting Language php56-5.6.21 PHP …

DragonFlyBSD + nginx インストールログ

単純に pkg で nginx インストールするだけ. 環境 DragonFly v4.4.3-RELEASE ログ 事前に sudo を入れてあります。 $ sudo pkg install nginx 現時点ではバージョンは 1.10.0 らしい。 $ nginx -v nginx version: nginx/1.10.0 OS 起動時に nginx が起動す…

一つのリポジトリに複数サーバの etckeeper で push する

一つのリポジトリに複数サーバの etckeeper で push したい。 etckeeper は一つのサーバから複数のリモートリポジトリに push できるような設定はあるが逆に 複数のサーバから 一つのリモートリポジトリに push できるようにする設定はなさそう。 etckeeper …

HttpComponents で JSON レスポンスをオブジェクトに変換して取得する

チュートリアルに書いてあるとおり ResponseHandler を使うと HttpClient#execute() の返り値を特定のクラスにして返すようにできる。これを jackson を使って返すようにしてみた。 http://hc.apache.org/httpcomponents-client-4.5.x/tutorial/html/fundame…

etckeepr + github のプライベートリポジトリで /etc 以下をバックアップする

etckeepr + github のプライベートリポジトリで /etc 以下をバックアップする etckeeper 導入 $ sudo apt-get install etckeeper etckeeper 側で push 先を設定 diff --git a/etckeeper/etckeeper.conf b/etckeeper/etckeeper.conf index f988c10..1fecf03 1…

javadoc の html を生成したときに一番最初のページに説明を追加したい

Java Platform SE 8 例えば下記の「このドキュメントはJava(tm) Platform, Standard EditionのAPI仕様です。」と書かれてるようなところ。 下記ページをみると「概要コメント・ファイル」と呼ぶらしいファイルを使うことができればよいらしい。 通常は -over…

JUnit でテスト全体の実行前および実行後の処理を書く

例えば DB を実行する前や後に初期化する場合など BeforeClass や AfterClass よりももっと大きな単位で JUnit テストの前と後で実行したいことがある場合。 org.junit.runner.notification.RunListener を使う。 package my.hogehoge; import org.junit.run…

Sparrow が起動しなくなった時について

うちの Macbook は容量がギリギリのため、電池切れなどで容量がないまま終了した場合などに Sparrow が起動できなくなる場合がある。 対処としては Sparrow のディレクトリにある各アカウントの data.db ディレクトリと message.db を削除すればよいらしい。…

Intellij IDEA でクラスを作る際に自作のテンプレートを使う

使用バージョン Intellij IDEA 14.1.3 内容 競技プログラミングなどでファイル生成時に標準入力用ライブラリなどを最初から入れておきたい場合があります。 Intellij IDEA の場合はどうするか。 テンプレートを用意する クラス生成時に用意したテンプレート…

Spring boot 日記

Q. EnableAutoConfiguration って? A. どうも設定が必要なパラメータを予めデフォルト値を持った設定群をフレームワークで持ってるっぽいのでそれを使うようにするアノテーションらしい。 自分のアプリケーションでのみ使う設定はその設定のプロパティとか …

Spring Boot で複数の Filter を定義する

例えば下記のように @Bean アノテーションを複数書くことによって複数のフィルタを追加できる。 @Configuration public class WebConfig extends WebMvcConfigurerAdapter { @Bean public Filter filter() { return new SomeServletFilter(); } @Bean public…

Spring Boot で組み込みサーブレットコンテナを変更する

Spring Boot で 1.2.3 をそのまま起動した場合は Tomcat 8 が起動する。 s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http) o.apache.catalina.core.StandardService : Starting service Tomcat org.apache.catalin…