CI勉強会を開催します

1月28日土曜日の午前に開催します。
イベントの詳細はこちら↓
CI勉強会 in 松山

昨年末のある飲み会の席で CakePHPPHPUnit のキーワードが上がって、じゃあ勉強会をしましょうか、という話になりました。

そこで、どういう内容にすれば良いかとジュンク堂に寄ってみたところ、

この書籍を発見。

冬休みの宿題にいいかなと思って、まだ一部ではありますが、実践してみました。
2014年に出版された本で、そのままでは動かない部分もありましたが、最近の環境に合わせて編集してみることで色々と勉強になります。
何より、開発環境からCIサーバ、デプロイ先サーバの構築と運用まで幅広く網羅されているので、CIについての全体像の把握もできます。

ちなみに、CHEF SOLO PROVISIONER
ここに、

Warning: If you are not familiar with Chef and Vagrant already, I recommend starting with the shell provisioner. However, if you are comfortable with Vagrant already, Vagrant is the best way to learn Chef.

とあって、確かに最初はとっつきにくくて shell で書いた方が手っ取り早い?と思っていたのですが、弄っているうちに、様々なサービスプログラムやバージョンの違いなどを考えると shell では間に合わなくなりそうです。

ということで、CIについては今回初めての企画ですが、それこそ継続的に進めたいと思っています。

補足:バナーはGimpで作ってみました。

PyEhimeもくもく勉強会

前回の開催から少し間が空きましたが、2回目のもくもく勉強会を開催しました。

PyEhime もくもく勉強会

都合により、今回も急遽の開催となってしまいました。十分な告知ができずすみません。
次回は、会場の手配を含めてもう少し余裕を持って準備しようと思いますので、ご理解・ご協力をお願いします。

前回はPyEhimeの初めての自主開催ということもあって、とりあえず集まっての意見交換程度でしたが、今回は少し足並みを揃えて、cloud9でdjangoを動かしてみるというところまではできました。
ちなみに、私は今回の勉強会のために、事前にvagrantでローカルの開発環境を用意して、準備万端のつもりだったのですが、現地で起動してみるとホストOSからアクセスできない状態。あとで調べて、CentOS(vagrant box)のネットワークインターフェースの問題ということがわかりました。この辺りも、まだまだ経験不足です。
それと、当日、私が風邪気味で頭がぼんやりしていてあまり手を動かすことができませんでした。いろいろ失礼しました。

さて、このような感じで、cloud9というクラウド上の開発環境を一つのノウハウとして共有することができましたので、このあたりをベースにして勉強会を継続できればと思っています。
ただし、具体的な目的や目標がないと、どうしても時間を無駄にしてしまいますので、何か一冊、本を選ぶなどして効率よく学ぶことも考えてみます。
まだまだぎこちないですが、まったりとやっていますので、pythonプログラミングにご興味のある方はお気軽にご参加ください。
適宜、ハッシュタグ #pyehime でおしらせします。

それとPyCon JP参加者交流用のSlackがあります。そちらのehimeチャネルで日常のやり取りをしていますので、よかったらどうぞ。

vagrant環境のアップデート ( 1.8.6 -> 1.9.1 )

vagrant 自体をアップデート(1.8.6 -> 1.9.1)して、vagrant up したらエラーになったのでメモ書き。

基本的には、vagrantの新しいバージョンをダウンロードして上書きでインストールすれば良さそう。
https://www.vagrantup.com/docs/installation/upgrading.html

で、アップデートして起動した際のエラーメッセージ。

Vagrant failed to initialize at a very early stage:

The plugins failed to initialize correctly. This may be due to manual modifications made within the Vagrant home directory. Vagrant can attempt to automatically correct this issue by running:

vagrant plugin repair

If Vagrant was recently updated, this error may be due to incompatible versions of dependencies. To fix this problem please remove and re-install all plugins. Vagrant can attempt to do this automatically by running:

vagrant plugin expunge –reinstall

Error message given during initialization: Unable to resolve dependency: user requested ‘vagrant-vbguest (> 0)’

ということで、メッセージに従って、
vagrant plugin repair
を実行すると、

Repairing currently installed plugins. This may take a few minutes…
Fetching: micromachine-2.0.0.gem (100%)
Fetching: vagrant-hostsupdater-1.0.2.gem (100%)
Fetching: vagrant-vbguest-0.13.0.gem (100%)
Installed plugins successfully repaired!

修復できた模様。
vagrant up でゲストOSが起動できました。

Django on vagrant の環境構築の補足 – Python3

pyvenv の pip を更新(9.0.1)して、
$ pip list
とすると、

DEPRECATION: The default format will switch to columns in the future. You can use –format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.

という警告が表示されたので、
https://pip.pypa.io/en/stable/user_guide/#configuration
こちらを参考に、
(pyvenv)/pip.conf
を作成。

[list]
format=columns

次に、開発用の簡易Webサーバを起動して、ブラウザで開くと、

DisallowedHost at / …

のような警告が表示されたので、
https://docs.djangoproject.com/en/1.10/topics/settings/
こちらを参考に、
(project)/settings.pyを編集して、

ALLOWED_HOSTS = [ '192.168.33.xx' ]

を追加。

追記(2016/12/12)
モデル定義を編集してmigrateしたところでWARINGSが表示された。

WARNINGS:
?: (mysql.W002) MySQL Strict Mode is not set for database connection ‘default’
HINT: MySQL’s Strict Mode fixes many data integrity problems in MySQL, such as data truncation upon insertion, by escalating warnings into errors. It is strongly recommended you activate it. See: https://docs.djangoproject.com/en/1.10/ref/databases/#mysql-sql-mode

https://docs.djangoproject.com/en/1.10/ref/databases/#mysql-sql-mode
http://django-mysql.readthedocs.io/en/latest/checks.html#django-mysql-w001-strict-mode
このあたりを読んで、settings.pyのDATABASESにオプションを追加。

'OPTIONS': {
    'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
},

PyCon mini Hiroshima 2016 に参加

2016年11月12日(土曜日)に PyCon mini Hiroshima 2016 に参加してきました。
https://pyconjp.connpass.com/event/39164/

当日のツイートの様子 - togetter
PyCon mini Hiroshima 2016 「広島と Python」 #pyconhiro #iotlt広島

当日の動画や資料が公開されています。
https://pyconjp.connpass.com/event/39164/presentation/

IoTというキーワードは持っていなかったのですが、今年、愛媛でもPythonコミュニティが動き始めましたのでLT枠にてご紹介しました。飛び入り参加でしたがお時間をいただきありがとうございました。