pythonとflask触ってみた
ふと、pythonを触ろうと思ってなんとなく触ってた。
殴り書き程度のメモでしかないが…。
できたもの
- Github:okbm/flask_json
- pythonのフレームワークであるFlaskを使って、シンプルなjsonを返したりするだけのもの
- GithubのREADMEにも書いてるけど、httpbin(1): HTTP Client Testing Serviceを模倣したものをさくっと作ってみました
- python3.4 + MySQL5.5
- AWS(EC2) + uWSGI + Nginx で動かした(インスタンスはもう止めてるけど)
以下、殴り書き
とりあえず環境構築
- macにpyenvでpython3いれる
- IDEにJetBrainsのPyCharm入れてみたけど、結局vimで書いてた
- pythonよくわからんので、ドキュメント読んだりする
flask
- マイクロフレームワークって説明されてるだけあって、小さいフレームワークだと思う
- ただ、明確にこのファイルにはこうしようみたいなことがなかったので、どこに何を置いたらいいのかが不明。
- ORマッパーにSQLAlchemy使ってみたけど、学習コスト高そうなイメージ。
makeファイル置いて、
make test
でテスト走らせるのは作ったけど、いかんせん中身がねぇ- 時間できたらテストの中身書く予定。。。
- jenkinsとかその辺でテスト走らせるためにコマンドを用意しただけ
flaskもドキュメント読んだりした
vagrant
- flaskを動かすだけならmac単体でもコマンドラインから動かせるけど、uWSGI + Nginxで動かしたかったので、vagrant上でも動かして見ようと思ってfabricを使ってセットアップ。
- Github:okbm/python-wsgi-vagrant
- nginxのファイルとかはこっちのリポジトリで管理するべきだと思うけど、なぜか元のリポジトリに入れちゃった…。
デプロイ
- Github:visionmedia/deploy
- めちゃくちゃシンプルですぐ動いたが、sourceとかフォルダ構成が勝手についてくるのちょいうざいな…。まぁ仕方ない
- uwsgiとnginxをfablicでデプロイ
- これでもよかったがちょっとオーバースペックだったので見送り
- 普通はどんな感じでデプロイするんすかね??git pullしてrsync的な感じなのかcapistranoみたいなの使ったりするのかな…。
AWSについて
- 起動してみると全くsshが繋がらない。
ssh -vv
とかやってもよくわからない。 - Amazon LinuxからUbuntuに変えてみると速攻繋がったのでUbuntuでやった
- なぜ繋がらなかったのかはよくわからん。
- Amazon EC2 のインスタンスを Amazon VPC で起動してSSH接続する - tnil's memo
- 多分これが一番わかりやすい。
- EC2のセットアップも1からやるのはめんどいので、vagrant使ったときに使ったfabricを再利用。
- あとはES2上でuWSGIを起動してブラウザで叩くだけでページが表示されることを確認。
- uWSGIを自動で起動とかその辺は全然やってないし、DNSとか何も触ってないのでデフォルトのまま
まとめ?
- まだまだpythonよくわからない部分が多いけど、とりあえず動いたって感じ。
- なんか作るかなー
- PyConには今年行きます。
オレオレmacのセットアップメモ
とりあえず殴り書き。
足りないところとか思い出したこととかあれば追記する予定
Concrete5をfablicを使って環境構築
諸事情により、ベースキャンプ名古屋 にいて「Concrete5の日」というイベントのに参加してるのでせっかくなので適当に作ってみました。
さらっと作ったもの
- fabricを使って環境構築するようなもの
- okbm/fabric_concrete5
内容
githubを便利にするhubコマンドでよく使うコマンドたち
githubを使うのに便利なコマンドであるhubはほとんど使ってなかったが、ちょっと使うようになってきたのでメモ
詳細は公式を見てください
基本的にはgitのコマンドを簡易化するものだと思いますが、自分が使うのはブラウザと絡めて使うときがメインなのであしからず…
自分がよく使うコマンド一覧
今見てるリポジトリをブラウザで見たい
$ hub browse
hubを使えばPullRequest出すのもコマンドから出来ますが、事故るのが怖いのでいつもブラウザで開いてからやってます
その時にターミナルからchrome開くのがめんどくさいので、このコマンドで該当のリポジトリを速攻で開くのに使います
※browseってのがめんどいのでgitconfigでaliasで hub see という形にしています
今見てるリポジトリのpull request一覧をブラウザで見たい
$ hub browse -- pulls
今見てるリポジトリのpull request一覧をブラウザで見たい(自分だけの)
$ hub browse -- pulls/$(git config user.name)
これは毎回打ってられないので、aliasに適当に登録してます
指摘されたPRの内容なんだっけ?みたいなときに使います
tig上でログみてるときにブラウザで見たいとき
.tigrcに設定 # hubコマンドが入ってたら、Gで差分をブラウザで表示する bind main G !@hub browse -- commit/%(commit) bind diff G !@hub browse -- commit/%(commit)
tig上でファイルは見れなくはないけど、ブラウザで見たいなーってときはこれをやる
tigで対象のコミットを見てるときにGを押すとブラウザに飛ぶ
Pull Requestを送られたブランチをcheckoutする
$ hub checkout https://github.com/defunkt/hub/pull/73
git co -b feature/hoge remotes/origin/feature/hoge
が通常のgitでのコマンドだと思うけど、毎回忘れるのでzshの履歴から引っ張ってるのでhubで出来ないかなーと思ったらあった
まとめ
あんまりhub自体使ってないけど、自分のくせで使わなくなったブラウザのタブはすぐ閉じちゃうので、そういう人じゃなかったら別にいらないかもしれない
2.20がリリースされて新しい機能増えてそうだけど、追ってないのでわからず
深夜の山手線を自転車で一周してきた
このブログを読んだときからいつかマネしようと思ってたが、つい先日カメラを買ったのでノリで一周してきた
買ったカメラは、Canon デジタル一眼レフカメラ EOS Kiss X7 (amazonへのリンク) 一眼レフなのにすげぇ軽いのが魅力的。触ってみてこれが一番よかったのでこれにした。
1人だと心細いので知り合いのチャリとカメラ持ってるやつに声かけて二人で新宿駅から回ることにした。 お互いクロスバイクです。
続きを読む# YOと戯れてみた
- 諸事情により、定期的にiPhoneに通知を飛ばしたくなったのでYOをいじってみた
- 標準時計のアラートでもいいと思うけど、いちいち止めるのめんどくさいし、本当に通知だけを飛ばして気付きたいだけ
YOとは
- 不思議なソーシャルアプリYoのユーザーが100万人突破、Googleが保険に進出?―US記事ピックアップ - TechCrunch
- 本当にこれだけ。ただ「Yo」というだけのアプリ。
- 自分はrebuildfmというPodcasts番組の通知にしか使ってなかった
- まぁ他にも使いドコロあるかもしれないし、簡単そうだからとりあえず触ってみたレベル。
リンク
- http://dev.justyo.co/
- 個人アカウントからだとAPIは叩けないっぽいので、ログインしてから別のアカウントを作る
- Document
- github
とりあえずPHPで動かす
- もちろん、前提としてYoのアプリ(iPhone)をインストールしてる必要がある
- Github - YoApp/yo-php
- 上記リポジトリをCloneしてきて、サンプルのPHPをパクって作る。
- apiKeyのところは作ったアカウントからコピペする
- とりあえず名前を変更
<?php // Add file require('yo.php'); // Get an API Key at dev.justyo.co $apiKey = 'hogehoge'; // アカウント作ったときにできたAPIをツッコむ // Instanciate $yo = new Yo($apiKey); // Send a Yo to all your subscribers $yo->all(); ?>
実行
$ php index.php
さくらVPSにでもあげて動かす
00 12,18,22 * * * php /var/www/html/index.php
まとめ
達人出版会から出ているUnityの本「UNIBOOK」を読んで
- Unityでのゲームの作り方というよりももっとバッドノウハウというかハマりどころの小さいTipsがいろいろ書いてました。
- 1章から44章まで大まかに分けて44つの項目が書いてあって、500円なのでめちゃくちゃ安いと思います。
- 気になったところとか個人的なメモをのっけときます。
- 本の内容にまでは言及するとあれな気がするのであくまで自分が読んだ感想メモです。
前提
- 自分のUnity歴は2ヶ月ぐらい
- C#も覚えながらやってるのでへぼい
第5章 MonodevelopのIndentWidthを強制的に4にする
- これ最初にMonodevelopを使うと絶対イライラするところだと思います。
- Enter押して改行したときのカーソルの位置の絶望感は異常
- すでに自分は設定してたけど、やっぱみんな設定変えてるんだなぁと共感できた
- xamarinって使ってる人あんまいないのかな?
第6章 コードテンプレートでらくらく補完
- あんまり使ったことなかったけど、具体例見ると楽そうだなぁと思った
- よく新規クラス作るときに #region でpublicとか切ってるのでそれ
第12章 スクリプトからGameObject またはコンポーネントを検索するには
- コードの具体例があってHierarchyにあるものだけを検索とかいいなと思った
- 欲を言えば、Findとかのコストについても言及して欲しかった
第13章 Prefabのあれこれ
- 本書とは全然関係ないんだけど、Prefabの更新がたまに更新されないときがあるのは何でしょうかね(俺だけかも知れないが)
- よくわからんので、一旦PrefabをHierarchyにもっていって、抹殺して設定を変更して再度Prefab化するという謎の手順でやってる(多分正しくはないと思う)
第17章 SendMessageの効率的な使い方
- 使うどころを誤らなければ便利そうだと思ったけど、チーム開発とかやるには設計段階(フレームワーク的な)で決めておかないと破綻すると感じた
- Unityの有識者の人がこういう設計でやるって言ってルール化されてるならいいと思う
第22章 シーン名/タグ名/インプット名を定数で扱う
- 普通にEnumペチペチ書いてたけど、ここみたいに自動生成してもいいかもしれない
- まぁ文字列は事故るんでないですよね…
第30章 Missing を見つけるには
- これめっちゃいい!
- ソースコード変えたり、Sprite変えたりすると勝手にはずれることしょっちゅうあるからNULL落ちが…。
- 全シーンからチェックできるのがいいな
- リリース前とかCI回すとかやるときに使いたい
第32章 モバイルでの描画速度最適化について
- まだそんなに詰まってないけど、後々絶対詰まる部分なので参考になる
- アニメーションのチューニングよりもUIの場合のチューニングが大変そうなイメージ
- Debug.logって結構重かったのか…。
第33章 Unity でGit(バージョン管理)
- これも本書とは関係ないんだけど、 force textでmetaファイルとか管理してるときに謎の差分出る時があるのはなんだろう…。
- Aさんの手元でなんかのパッケージしたアニメーションとかを入れる
- Gitで差分確認して差分を全部Pushする
- Aさんの手元では差分がない(ここまではOK)
- BさんがPullする(Aさんの変更含む)
- BさんがUnityを起動する
- その後、Bさんがgit statusで確認するとAさんのファイルが差分で見える
- バイナリ?のまま(foece textなのに)になってるとかファイルのサイズが違ってるとかの差分だった気がする
- って状況になることがちょこちょこある
- Unityにパッケージ放り込んだら1回Unity再起動しないとだめなんかなぁ…
第35章 LINQのススメ
- 結構な量を使って説明してるのでわかりやすい(書いてる内容の目線が低いのですらっよみやすい)
- 本書で一番気合入ってる…?
- 便利らしいけど、iOSでたまに死ねるって聞いた
- 地雷さえ踏まなければ便利らしいので、踏まないように頑張ります(;゚Д゚)
第38章 HierarchySort を作成しよう
- 便利!!!
- 19 章「GameObject で拡張しておきたいメソッド」の内容がここを読んで理解できた
オチのないまとめ
- また3ヶ月後とかに読んだりすると違った感想が得られると思うので気になったらまた読み直したいなと思う。
- Unityゲームの作り方とかそんな本は腐るほど出てるので、こういうクックブック的なものはすごく助かる
- JSでのサンプルコードがなかったのでやっぱりほとんどのゲーム開発現場ではC#なんだろうなぁ…
- フォルダ構成とかどうしてるのかちょっと見てみたいからその辺の情報あったら嬉しかった(テラシュールさんのブログにまとまってたあれば大体標準なんかなぁ…)