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

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…

Spring Boot 軽く触ってみた感想日記

そもそも Spring Framework 使ったこと無い人なのでまあそこも含めての疑問と理解してる途中の内容とかメモ。 Q. Spring Boot って? A. Spring Framework 使ったアプリを組み込みサーバ上で動かすみたいな仕組みの総称みたいな理解 Q. 組み込みサーバでその…

cocos2d-js Transition 一覧( CCTransition 編)

Transition 全体一覧 cocos2d-js Transition 一覧 - nise_nabeの日記nisenabe.hatenablog.com 一覧 ココでは下記のリストにある transition の gif を貼る。 CCTransition.js に定義 cc.TransitionSceneOriented cc.TransitionRotoZoom cc.TransitionJumpZoo…

cocos2d-js Transition 一覧( CCTransitionPageRurn CCTransitionProgress 編)

Transition 全体一覧 cocos2d-js Transition 一覧 - nise_nabeの日記nisenabe.hatenablog.com 一覧 ここでは下記の Transition についての gif を貼ってある。 CCTransitionPageTurn.js に定義 cc.TransitionPageTurn CCTransitionProgress.js に定義 cc.Tra…

cocos2d-js Transition 一覧

Transition とは scene を移動する際にエフェクトを入れるようなやつらしい。 中の実装としては cc.Scene でありユーザの指定した cc.Scene 間を別の cc.Scene でつなぐ用な感じ。自分で Transition を作る場合は cc.Transition を継承したクラスを作るとよ…

cocos2d-js シーン動作確認用の色の付いたシーンを作る

Transition とかの動作確認にとりあえずシーン切り替え前切り替え後でシーン変わってるっていうのを確認したかったので簡単なシーンを作ってみる。 単にシーン全体に色が付いてるだけのもの。 コード gisteef2f295d068ad558c65 使用例 cc.color を指定して渡…

tmx からオブジェクトを取得した時の object の中身

tmx ファイルで下記のような オブジェクトを設定する <objectgroup name="event" width="70" height="70"> <object name="1" x="448" y="1824" width="96" height="64"/> </objectgroup> TMXTiledMap の getObjectGroup() で取得した TMXObjectGroup で getObjects() した場合下記のようなデータが取れる cocos2d-html5 での座標系と tmx で指定された座標系は異なるので y の値が違うよ…

nodejs で node_redis の hmset/hgetall を使ってデータを保存する

単純な key => value の object の形のデータならいいけど value が更に object だった場合に [Object object] という文字列が入ってしまうので そこから先を json 文字列にして保存してしまう作戦。 コード // data を格納する var client = redis.createCl…

DragonflyBSD v4.0 アップデートログ

# v4.0.1.2.gf72e0-RELEASE v4.0.3.3.g3c301-RELEASE ログ 実行内容とかかった時間 $ sudo time make buildworld 11478.65 real 7470.14 user 4075.06 sys $ sudo time make buildkernel 2302.44 real 1472.55 user 803.67 sys $ sudo time make installworl…

Eclipse プラグインで Preferences 内にパスワードフォームを表示する

StringFieldEditor を生成して setEchoChar() を使う 参考 eclipsecoder/PreferencesPage.java at master · fornwall/eclipsecoder · GitHub Eclipse プラグインのプリファレンスでパスワード指定 (プログラマーですが、何か?(I am a software programmer.)…

DragonflyBSD + Redis インストールログ

単純に pkg で redis インストールするだけ. 環境 DragonFly v4.0.1.2.gf72e0-RELEASE ログ $ sudo pkg install redis Updating Avalon repository catalogue... Avalon repository is up-to-date. All repositories are up-to-date. The following 1 packa…

DragonflyBSD + HHVM インストール失敗ログ

参考 facebook/hhvm Building and Installing on FreeBSD 8.2 · facebook/hhvm Wiki · GitHub 環境 DragonFly v4.0.1.2.gf72e0-RELEASE ログ とりあえずソース取ってくる $ git clone git://github.com/facebook/hhvm.git --depth=1 Cloning into 'hhvm'... …

ruby 2.2.0 インストールログ

環境 DragonFly v4.0.1.2.gf72e0-RELEASE ruby-2.2.0 手順 $ curl -O http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz $ tar xvf ruby-2.2.0 $ cd ruby-2.2.0 $ ./configure --prefix=/path/to/install --enable-shared $ sudo pkg install libf…

DragonflyBSD 4.0 あたりで sudo したあとプロセスがゾンビ化する場合は sudo を update しよう

環境 DragonFly v4.0.1.2.gf72e0-RELEASE sudo 1.8.11 p1 現象 sudo を使うとそのコマンドを実行した後に入力はおろか Ctrl+C なども効かなくなる. root になって実行するのは問題なかった. チケットなど dragonfly 側のチケット sudo 側のチケット github…

java で 二つの Map のキー部分が重複する場合しない場合を分ける実装はどうすれば?

問題 二つのマップが与えられる Map<Integer, String> map1; Map<Integer, String> map2; この二つのマップでそれらに含まれる任意のキーに対して 両方に値がある場合 map1 にのみ値がある場合 map2 にのみ値がある場合 を考慮した実装を行いたい.このような場合にどう実装すべきか? 実装 愚</integer,></integer,>…

MySQL の JDBC ドライバのサービスプロバイダの設定は Ant で生成されてた

https://docs.oracle.com/javase/8/docs/api/java/sql/DriverManager.html The DriverManager methods getConnection and getDrivers have been enhanced to support the Java Standard Edition Service Provider mechanism. JDBC 4.0 Drivers must include …

isucon4 予選参加記

下記イベントの参加記です. 優勝賞金100万円!今年もやります 第4回 ISUCON 開催と日程のお知らせ #isucon : ISUCON公式Blog http://isucon.net/archives/38857424.html 去年と同じように一日目に「パイの実g」で参加していました. 予選の問題詳細の記事…

Phalcon Validation 動作確認メモ

Phalcon\Validation クラスについての動作確認を書く. 何も add しない $data = array(); $validation = new Phalcon\Validation(); # Validation に何も追加してないと $messages = $validatoin->validate($data); # Phalcon\Validation\Exception('There …

php の memcache ライブラリのフェイルオーバー実装についてソースを読んでみた

概要 php の memcache のライブラリでは フェイルオーバーを実現している.これを把握する必要があったのでソースを読んでみた. 超ざっくりな説明 memcache.hash_strategy で設定されたアルゴリズム(standard または consistent) により分散させる. どのサ…

コマンドラインで titanium 動かしたときのメモ

http://docs.appcelerator.com/titanium/3.0/#!/guide/Setting_up_the_Titanium_CLI $ npm install -g titanium $ titanium login 必要なものが足りてるかどうか確認. $ titanium info JAVA_HOME が足りない場合. java8 でも動かないらしいので 7 以下を設…

usage インストール失敗時の確認事項

検証してないのでメモ程度 確認環境 debian 7 内容 gyp をインストールしてないか (which gyp した場合に /usr/local/X11/gyp になってないか) apt-get purge gyp しておく export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH してから npm inst…

javascript のパッケージマネージャ動作確認等(jquery 1.7.2 について)

過去のプロジェクトを改修する場合,古いバージョンのライブラリが使われている場合が多いので, 一旦今のものを置き換えて管理すると考えた場合の例として jquery 1.7.2 を入れるとしてみる. とりあえず以下の3つを試す component npm bower 後述する htm…

Backbone.Router のルートの初期化および navigate() の動作のコードを見てみる

Backbone.Router のコードでルートの初期化部分と navigate() による動作が気になったのでコード上で確認してみる. Backbone.Router の使い方は下記の様な感じ. var AppRouter = Backbone.Router.extend({ initialize: function() { _.bindAll(this, 'fuga…

Go で Socket.IO のサーバに接続する

Node で実装した websocket のサーバにどのくらい接続できるのかを確かめるために CLI クライアントが欲しくなったので探してみた.使ってみたのは以下のもの.(たぶん)前のバージョンでコアに入ってたライブラリもあったけどちょっと簡単には扱えそうにな…

フォローしているユーザのツイートを検索する SQL について実験

とりあえず検証してみた内容を書いとく.どうすればいいんだろうなぁ. 問題 フォロー関係とツイートを DB に保存しているものとする.以下のような簡単なテーブル定義とする.(追記 gist を更新してしまったのでインデックス付いているが最初の段階では6 行…