個人的なまとめ。

てきとーに何か書きます。

hetemlでPHP7.1とMySQL5.6の連携

ヘテムルの公式サイトに上がっている方法では,PHPMySQLの連携が出来なかった.
heteml.jp

公式サイトの方法では,PHPのバージョンが4または5の時のみ有効で,PHP7の場合では別の方法を使用する必要があります.

というか,mysql_connect(PHP: mysql_connect - Manual)自体があまり推奨じゃなくなってきているので,PHP5以上の場合は下記の方法に変更した方が無難です.

続きを読む

PHPで配列を連想配列に入れる

例えば、下記のような要素を持つ配列があるとする。

$name[5] = {"Taro", "Jiro", "Saburo", "Shiro", "Goro"};
$hegith[5] = {"150", "170","180", "140", "175"};

この配列を連想配列に使用したい場合は、

for($i = 0; $i < count($name); $i++){
  $person[$i] = array(
                "name" => "{$name[$i]}",
                "height" => "{$height[$i]}"
                 );
}

という感じに書けば良い。

ファイル更新監視用ライブラリについてのメモ

ファイル変更監視用のライブラリについてのメモ

watchdog(watchmedo)は,ローカルのファイルの変更を検知するには十分
しかし,NFSへの対応はしていないような気がする.
ただ,これはログが非常に見やすいので,わかりやすい.

表示例:

kosuke@~/Desktop : watchmedo log --recursive --patterns "*.txt;*.png" ./
on_created(self=<watchdog.tricks.LoggerTrick object at 0x7f424aaea208>, event=<FileCreatedEvent: src_path='./test.txt'>)
on_modified(self=<watchdog.tricks.LoggerTrick object at 0x7f424aaea208>, event=<FileModifiedEvent: src_path='./test.txt'>)


pyinotifyは,ファイルの変更だけではなく,ターミナル上でcd /Desktopとかした時のコマンドでさえも検知してくれる.
しかし,1つのファイルを作成した場合だと,それだけで30行ぐらいのログが出てくるのが難点.
ログに関しても,今回作成したファイルだけではなく,既にそのディレクトリにあるファイルまでも表示をしているようで,非常に見づらい.
また,これもNFSに対応していない.
表示例:

kosuke@~/Desktop : python3 -m pyinotify -v ~/Desktop/
[2017-12-27 02:39:12,829 pyinotify DEBUG] Event queue size: 128
[2017-12-27 02:39:12,829 pyinotify DEBUG] <_RawEvent cookie=0 mask=0x100 name=test.txt wd=1 >
[2017-12-27 02:39:12,830 pyinotify DEBUG] <_RawEvent cookie=0 mask=0x20 name=test.txt wd=1 >
[2017-12-27 02:39:12,830 pyinotify DEBUG] <_RawEvent cookie=0 mask=0x4 name=test.txt wd=1 >
[2017-12-27 02:39:12,830 pyinotify DEBUG] <_RawEvent cookie=0 mask=0x8 name=test.txt wd=1 >
<Event dir=False mask=0x100 maskname=IN_CREATE name=test.txt path=/home/kosuke/Desktop pathname=/home/kosuke/Desktop/test.txt wd=1 >
<Event dir=False mask=0x20 maskname=IN_OPEN name=test.txt path=/home/kosuke/Desktop pathname=/home/kosuke/Desktop/test.txt wd=1 >
<Event dir=False mask=0x4 maskname=IN_ATTRIB name=test.txt path=/home/kosuke/Desktop pathname=/home/kosuke/Desktop/test.txt wd=1 >
<Event dir=False mask=0x8 maskname=IN_CLOSE_WRITE name=test.txt path=/home/kosuke/Desktop pathname=/home/kosuke/Desktop/test.txt wd=1 >


MacFSEventsの場合は,gitを見ると,build failingとなっていたので試していない.


他に,ファイル更新監視用ライブラリがあれば試して追加する.

random.randintとrandom.randrange

Pythonのrandomライブラリには,int形の数値を返してくれるものにrandintとrandrangeがあります.

どっちも特に違いが分からないので,とりあえずそれっぽく調べてみました.

続きを読む

Ubuntuを入れて最初に行うこと(未完成)

研究室用にUbuntuをインストール後に行う環境構築について書いていく.

まだまだ未完成なので、今後増えていく.

続きを読む