Javaで知らなかったこと個人的まとめ2

Arquillian

JavaEE結合テスト実行プラットフォーム
JavaEEアプリケーションサーバによるコンテナ管理が必要になる為JUnitTestNG単体では行えない為に開発された。

Thymeleaf

テンプレートエンジン。Spring Bootでは標準のテンプレートエンジンとして用いられる。
※Spring Boot用ではない。Spring Bootで採用されているだけに過ぎない。

JSFコンポーネントライブラリ達 (…開発元)

Icefaces …Icesoft
・Openfaces …TeamDev
・Primefaces …Prime Technology
・Richfaces  …JBoss
要はパーツかな。

人気は下記の通り。
t.co

Javaで知らなかったこと個人的まとめ2

Arquillian

JavaEE結合テスト実行プラットフォーム
JavaEEアプリケーションサーバによるコンテナ管理が必要になる為JUnitTestNG単体では行えない為に開発された。


Thymeleaf

テンプレートエンジン。Spring Bootでは標準のテンプレートエンジンとして用いられる。
※Spring Boot用ではない。Spring Bootで採用されているだけに過ぎない。


JSFコンポーネントライブラリ達
Icefaces
・Openfaces
・Primefaces …
・Richfaces  …JBoss
要はパーツかな。

人気は下記の通り。
t.co

Javaで知らなかったこと個人的まとめ

Javaで知らなかったことの個人的なまとめ

@Deprecated

クラスやメソッドを非推奨であることを示すアノテーション
コンパイル時に警告が出力される。

パッケージプライベート

修飾子のないクラスやメソッド、フィールド。
同じパッケージのクラスから参照できる。

数値のリテラル表記

int 10進数 : 123
int 8進数 : 0173
int 16進数 : 0x7B
int 2進数 : 0b1111011

long 整数 : 123L
float : 123f
double : 123d

数値は_で区切って表現できる

int num = 080_4672_9913;
System.out.println(num); => 08046729913

package名の先頭がドメインな理由

慣例

Docker コマンドとかメモ

Docker のコマンドとかのメモ


取得できる docker image の取得
$ docker search {keyword}

docker image の取得
$ docker pull {image}

docker image の確認
$ docker images

コンテナの起動
$ docker run --name {container name} -it {docker image} {command)}
※ -it: 起動したコンテナをターミナルから操作する為に付けた
※ {command} は --entrypoint {command} とするのが行儀良いらしい

option 説明

  • i, --interactive: keep STDIN open even if not attached. インタラクティブモード
  • t, --tty: Allocate a pseudo-TTY. 仮想 tty を用意する
  • h: ホストネーム付ける
  • e: 環境変数を渡す 例.) $ docker run -it {image} -e ENV_VAL=value {command}

停止したコンテナの起動
$ docker start {docker name} -t
※ -i を付けるとコンテナへアタッチできる
※ -a では1コマンド実行できる

起動後のコンテナへログインする
$ docker exec -it {container name} {command (ex: /bin/sh)}

Docker image の作成
$ docker build -t {image name} {Dockerfile path}

Docker レジストリにログインする
$ docker login {host name}

image の名前を変更する (名前 == `$ docker images` で REPOSITORY として表示されるところ)
$ docker tag {変更前 name} {変更後 name}

レジストリに登録する時の命名規則
{registry}/{image name}:{version}

Docker レジストリに登録する
$ docker push {image name}

コンテナの標準出力を見る
$ docker logs {container name}

デタッチモードで実行
$ docker-compose up -d

終了
$ docker-compose down

ネットワークを見る
$ docker network ls

コンテナとホスト間でコピー
$ docker cp {copy元 file} {copy先 file}
※ docker 側はファイルの前にコンテナIDを付ける {container id}:{file path}

CoinCheck API で自動取引への道 (データ収集偏)

今年の5月はbitcoinがえらいこっちゃでしたね。
私もえらいこっちゃの波に乗って儲けたり損したりした挙句、6/12の下がりにチャンスを感じて今大損こいてます。

この損を取り戻すべく、自動取引とかやってみたいなーとか、
あと仕事で機械学習とか使いたいし勉強がてら何かしたいなーとか思ったのでやってみることにしました。

(本当は5月、自分がbitcoin買い始めたぐらいにやろうとしてたのですけどね)

coincheck.com


このAPIを使ってubuntu上のMySQLへ取引履歴と板情報を保存しています。

詳細は下記へ
github.com


次は集めたデータを使って機械学習だ。。。

ビットコイン定期預金

Coincheck でビットコインの定期預金サービスが始まったらしい。

預けると14日間で1%、30日間で2%、90日間で3%、1年間で5%の年利がつくらしい。

"年利"だから、 90日間×4やった方が得とかではないよね?

あと、今日Coincheckで1ビットコインが90万円まで跳ね上がった表示になるというバグが起こったらしい。

日経新聞でその定期預金サービスのことが話題になったばかりで注目が集まりやすい時なのにイメージ悪くてもったいない。

良くも悪くも注目されていると思うので、あんまり手を出してなかったけどちょっと買おうかなーどうしようかなーと迷っている。

この件でぐわーっと人が集まって買われた結果高騰してビットコインたくさん持ってる人が売ったらガクッと下がりそうで怖い。

日本で一番簡単にビットコインが買える取引所 coincheck bitcoin

二項分布の計算と分布図

n=30, x=1~30でp=0.1, p=0.6, p=0.9の3通りについて二項分布を計算し、分布図を作成せよ。

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from scipy import stats

n = 30
p1, p2, p3 = 0.1, 0.6, 0.9

x = np.arange(0,n+1)
y1 = pd.Series(stats.binom.pmf(x, n, p1), index=x)
y2 = pd.Series(stats.binom.pmf(x, n, p2), index=x)
y3 = pd.Series(stats.binom.pmf(x, n, p3), index=x)

plt.plot(y1, 'o--', label='q=0.1')
plt.plot(y2, 'D--', label='q=0.6')
plt.plot(y3, '^--', label='q=0.9')
plt.legend(loc='upper center')
plt.xlabel('$x_{i}$')
plt.ylabel('$p (x | N, q)$')
plt.grid()

f:id:g5893:20170502165302p:plain

参考: Pythonで「データ解析のための統計モデリング入門」:第6章