ITの隊長のブログ

ITの隊長のブログです。Pythonを使って仕事しています。最近は機械学習をさわりはじめたお(^ω^ = ^ω^)

Pythonでドキュメント作成

概要

モジュール開発終わったら、ドキュメント作成ですが、面倒なので、生成する方向でやりました。

モジュールのdocstring

GoogleスタイルのPython Docstringsの例 — Sphinx 1.5.6 ドキュメント

Googleが好みだったのでこれでコメントを書いた

わかりやすいREADME

参考

わかりやすいREADME.mdを書く | SOTA

Sphinx

qiita.com

こっちがわかりやすかった。

reStructuredText

reStructuredText入門 — Sphinx 1.5.6 ドキュメント

4. Sphinxでの文章の書き方(reStructuredText) — study sphinx 1 documentation

リファレンスページが最強

themeの変更

build inで用意されているのがいくつか存在する.

HTMLテーマのサポート — Sphinx 1.5.6 ドキュメント

sphinxのハマり

build inされたテーマに変更できない

stackoverflow.com

デフォのテーマで必要な何かをコメントアウトすればよいとのこと.

(ERROR/3) Unknown directive type "seqdiag".

sphinxcontrib-seqdiag — blockdiag 1.0 documentation

入っていないディレクティブは使わないか、使いたきゃinstall

autodocってどうなんじゃろ?

# If extensi

ons (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os
import sys
sys.path.insert(0, os.path.abspath('.'))

この辺のコメントを外す。

class, packagesを図にする

qiita.com

DBスキーマをrstへ変換する

mysqlpostgresqlも対応しているので良い

tk0miya.hatenablog.com

Dockerでがんばってphp5.3とmysql5.5の環境を作る

依頼がきてやった。バージョンアップしませんか?

docker imageはこちら

github.com

学んだこと

docker composeで管理したほうが楽

blog.amedama.jp

仕事でもちょっとだけさわったことあったけど、commandで実行するならいいけど、単純に実行しただけならすぐ落ちるので注意。

起動したままにするならtty: trueにすればよい。

docker-compose up したコンテナを起動させ続ける方法

docker composeで起動したcontainerにattach

attachすると/bin/bashではないため、シェルが使えないし、操作が返ってこない。なので、execを使う。

$ docker exec -it ${コンテナID or コンテナの名前?} /bin/bash

これでいけた

ホストからcontainerにファイルをコピー

qiita.com

container上で作業してしまって、落としたくない時

commitしてimageに反映すればよい

qiita.com

PHP環境変数を取得する

これができんかった。

$_ENVgetenv()を使って、docker-compose.ymlで設定した環境変数を取得しようとしたけどうまくいかなかった。

シェル上では取得できたので、しょうが無いから$ ping dbとかして、IPを取得して、ソースにそれを与えた。

Docker上のアプリをPHPStormでデバッグ

xdebugをいれないといけないけど、php5.3はすでに対応していないので別の方法が必要。

d.hatena.ne.jp

これがおわって、phpinfo();xdebugが表示されていればおk。

blog.shin1x1.com