DQL; DynamoDBをSQLライクに扱う

AWS DynamoDBは素晴らしいんですが、WEBインターフェースが結構使いにくい、、ので、SQLっぽく操作できるこちらです。

https://github.com/stevearc/dql

これが早速Pythonだったりしてw
python2.7.11で動きました。

DQLを使ってDynamoDBをSQL操作する

SELECT 文に SAVE オプションを渡すと、ファイル出力できます。

とのこと。

> eu-central-1> SELECT * FROM Movies SAVE Movies.json;
> Saved 1 record to Movies.json

これは便利。

Pythonのpyenvがmac(Sierra 10.12.3)に入らない

というわけで、PythonとかGoも同じスクリプト仲間?ということでちょいちょい書くかもしれません。
で、Python2をずっと使ってたんですが、2も3も同居させたい時にはやはりpyenvじゃないでしょうか。
こういうものがある時点でカオスですがw

$ brew install pyenv

でpyenvを入れたはいいけど、

$ pyenv install 3.5.1

で、

 BUILD FAILED (OS X 10.12.3 using python-build 20160130)

と怒られてしまいました。あるあるですけど、Sierraにした際に、Xcode Toolsのアップデートが必要だったということで。これ、一緒にアップデートしてくれないかな?と思うのですが。。

$ xcode-select –install

私はこれで無事pyenvをインストールできました。

【雑文】php以外に学ぶべき言語は何か?

PHPはバリバリ使うんですけど、より便利にプロダクト制作をするためにはPHP以外のほうが効率よかったりする。
かもしれません(^_^;)

私はなんでも動けばいいのでPHPばかり使ってしまいますが、最近の機械学習ではPythonとか、並列処理ではGoとか、使えるといいなと思います。一通り触ってみるんですけどね。

pythonはpython2がまだ幅を利かせてるのが気になりますw

Goは新しいので、便利でスマートなんだけど、痒いところに手が届くか、というと難しいところが多いと思います。

でも触ってみた感じGoが安定してシェアを獲得しそうです。数こそ正義。

AWSでEC2を起動したらまずやっておく設定

http://qiita.com/shojimotio/items/79264678e9ea10b6fd19

何度もやるよね〜ということで上記URLを参考にメモメモ。いつもシェルスクリプトにしておこうと思うんだけど、やりたいこと、設定したいことが変わるかもと思うと手でやってしまう。

# yum update -y

これは忘れない。

# vim /etc/sysconfig/clock

ZONE=”Asia/Tokyo”
UTC=false

# cp /usr/share/zoneinfo/Japan /etc/localtime
# date
Thu Sep 4 10:37:21 JST 2014

※再起動
# /etc/init.d/crond restart

これを忘れると大変なことになる。

# free
# dd if=/dev/zero of=/mnt/swapfile bs=1M count=1280
# mkswap /mnt/swapfile
# swapon /mnt/swapfile
# chmod 0644 /mnt/swapfile
# free
# sudo vim /etc/fstab
これを追記
/mnt/swapfile swap swap defaults 0 0

イメージをコピーした時にswapどうなるんだっけ?問題ないか。

# echo “LANG=ja_JP.UTF-8” > /etc/sysconfig/i18n
# yum install -y man-pages-ja

日本語環境にしなくても今はデフォルトでなってる説。
一応メモ。

とりあえずこんな感じで後は思いついたら追記する。

モダンPHPアンチパターン

QiitaでモダンPHPアンチパターンが纏められていたのでメモ。

http://qiita.com/tadsan/items/157969b338fd8b782b21

なんでこれに行き着いたかってc++とphpのリファレンスの違いで混乱しちゃって
久々にPHPで参照渡しで速度&メモリを測ってみたら
普通に値渡しとパフォーマンスに差がない……というか参照渡しのほうが遅い、という結果になったので
色々調べてしまいました。

もう参照渡しは使わないぞ。
後、大量配列、大量ループでarray_shiftは遅いぞ。

5s8fox8

isset, empty, is_null の動作まとめ

isset, empty, is_null の動作、分かっているつもりでも忘れちゃうことあるので時々見直そうと思います。

http://qiita.com/mpyw/items/51bf42fe1ad8a7e535aa

is_nullが関数である、とか、値が空のxmlドキュメントがemptyになる、とか知らなかった。

PhpStormでCtrl+[で挿入モードから抜ける

http://qiita.com/shiena/items/0b82b242e32f4e4d02c0

PhpStormで使っているvimっぽい動作ができるideavim。
最近のは、ホームディレクトリに

.ideavimrc

ファイルを置いて設定となりました。

inoremap
inoremap ¥ \
inoremap \ ¥

私はJISキーボードなので、c-[でなく、c-]で設定して、実際はc+[で入力するという、説明しててややこしい感じですね。

mysqliライブラリがインストールできない

mysqliライブラリがインストールできない!

CentOSなどで、

# yum install php55-mysqli

しても、php55-mysqliなパッケージが見つからない!
と思っていたら、パッケージ名が変わっていたのでした。

# yum install php55-mysqlnd

でインストールできます。

AWS SDK for PHP のパフォーマンスを改善するたった3つのこと

http://qiita.com/iwai/items/c712316755b13d106da5

AWS SDK入れるならやっておきたいですね。

Google App EngineのSDK入れる時のも調査しておkないあと。。

phpspecでテスト駆動開発?

https://laracasts.com/lessons/phpspec-is-so-good

phpspecでのコーデョング方法が動画になってます。沿って自分でもやってみましたが、面白いですね。
これを実戦で使うとなるとまた別なんですが。。。