P123 Pythonからメールを送信する

・emailモジュールとsmtplibモジュールを利用
SMTPサーバとしてGmailのサーバーを使うのがお手軽であるが、認証が必要で、さらにTLS/SSL利用が必須なのでSMTPの代わりにSMTP_SSLを利用する必要が有
OP25Bに対応するためにはP323の様な実装が必要

P122 Voluptuous

Pythonの基本的なデータ型を定義できるライブラリ
Schemaオブジェクトでスキーマを定義し、関数として呼び出すことで引数のオブジェクトのバリデーションを実施可能

P117 @retryデコレーター

リトライ処理を簡潔に書けるライブラリ

# stop_max_attempt_number:最大リトライ回数
# wait_exponential_multiplier:指数回数的(1,2,4,8…)なwaitを仕掛ける事ができ、初回のウェイトをミリ秒単位で指定
@retry(stop_max_attempt_number=3, wait_exponenntial_multiplier=1000)

国立国会図書館法

・国・地方公共団体等の公的機関がインターネット上で公開している資料を、国立国会図書館が収集できる。(国立国会図書館法第二十五条の三)
国立国会図書館が法律に基づきインターネット資料を収集することについては、著作権者の許諾を要しない。(著作権法第四十二条の四)
・インターネット上で公開している資料が収集の対象である。(一般に公開されている資料が対象ですので、LANやWANでのみ公開しているものは対象とはなりません。)
・収集対象機関ウェブサーバの負荷軽減のため、ダウンロードの間隔は1秒以上あけて収集を行う。
・。アクセス制限を行っている場合は、次々頁を参考に、国立国会図書館による収集を許可する設定をrobots.txtに追加する必要がある。(国立国会図書館法第二十五条の三第二項に定められた「必要な手段」にあたり、収集の対象となる機関は設定の追加の義務がある。)
(国立国会図書館国立国会図書館法によるインターネット資料の収集について)
http://warp.da.ndl.go.jp/bulk_info.pdf

subminでリポジトリを作成しようとするとsvnモジュールが無いというエラーが発生する

[事象]
subminを用いてSVNを構築を行った。
submin上の画面で新規にリポジトリを作成すると以下の様なエラーメッセージが発生してリポジトリが作成できなかった。

Failed to import python 'svn' module. please install.
(中略)
Traceback (most reent call last):
(中略)
  File "/usr/lib/python2.7/site-packages/submin/plugins/vcs/svn/repository.py" , line 96, in __init__
    raise VCSImportError ("Failed to import python 'svn' modle, please install")

同じ様な事を悩んでいる人も居るようであるが、特にWeb上色々ぐぐりまくったがドンピシャの解決案が見つからず。そんなところで詰まっている人はどうも少なそう。。
www.oschina.net


[環境]
CentOS 7.2
Apache 2.4
・submin2 2.2.2.1
python 2.7
pythonパッケージのsvn0.3.5

[インストールに参考にしたリンク先]
[CentOS]Submin2でSVNサーバをブラウザで管理する | ごった煮 - tips about programming and building a server
qiita.com

[原因]
python-subversionというパッケージのインストール漏れであった。
何度も何度も色々なサイトのインストール手順を丁寧に繰り返したが、いずれもfailed,failed,failedというメッセージが表示されるだけでは解決しなかった。
CentOS7の固有問題なのか。

[対応方法]
CentOSの場合は、subversion-pythonというパッケージをインストールする事で無事解決した。

yum -y install subversion-python

[参考リンク先]
serverfault.com

[補記:subminインストール時に助かるTips]
(subminをSVNにしか利用しない場合)
これを行っておかないと、偶発的(?)にgit_userがうんちゃらかんちゃらと怒られる場面が発生した。(ディレクトリの権限が誤っていた場合などで発生する?)

submin2-admin var/lib/submin/ config set vcs_plugins svn

(パスワードの初期化)
メールサーバーをインストールしない場合、メールが見れない可能性がある。
その場合に直接sqlite3を覗くことでパスワード入力を回避できる。

sqlite3 /var/lib/submin/conf/submin.db
select * from password_reset;

検索した結果、1|1234567890|z123~hogeみたいな文字列が表示されるので、一番後ろのz123~hogeという文字列を控えておく。
その後、ブラウザに対して、 http://ホスト名/submin/password/admin/先ほど控えた文字列 でアクセスする。
するとadminでログインできた状態を得れるので、再度同一セッションで http://ホスト名/submin/ でアクセスするとadmin権限で管理コンソールに入れる。その後、パスワードを設定すればよい。

(ディレクトリの権限)
subminをインストールしたディレクトリや、SVNリポジトリ権限が書き込み可能な権限になっているか確認する。(apacheユーザーが所有者になっていればOKと考えているが合っているかな…?)

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

Gitがこわい

Gitがこわい

P92 エポック

データ全体に対する反復回数をエポック[epoch]と呼ぶ。または、テストのショットそのものを指している場合もある。
テスト実施毎にデータをシャッフルして学習することで、学習に偏りが生じにくくなり、より最適な解を得やすくなる。

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

P163 アンサンブル学習

 アンサンブル学習[ensemble learning]とは、複数のモデルを生成して学習を行うこと。ドロップアウト[dropout]を行う事で、疑似的にアンサンブル学習を行うことが可能となる。

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~