開発に使っているPCを引っ越すときって結構面倒ですよね。 まるごとイメージコピーしてもいいんだけど、ドライバとかいろいろ入れるのに古いのとコンフリクトしたり、いろいろなプログラムが混じっていたりしてきれいな環境に比べるとイマイチだし。 しかし、完全新規の環境を組むと、あれ?あのデータがない、あのプログラムの設定どうだっけ?みたいなことも起きる。
今回、デュアルストレージ可能なThinkpad E590を購入したので、旧環境を併用しながら新規環境を組むことにしました。
(226)
開発に使っているPCを引っ越すときって結構面倒ですよね。 まるごとイメージコピーしてもいいんだけど、ドライバとかいろいろ入れるのに古いのとコンフリクトしたり、いろいろなプログラムが混じっていたりしてきれいな環境に比べるとイマイチだし。 しかし、完全新規の環境を組むと、あれ?あのデータがない、あのプログラムの設定どうだっけ?みたいなことも起きる。
今回、デュアルストレージ可能なThinkpad E590を購入したので、旧環境を併用しながら新規環境を組むことにしました。
(226)
色々な場面である地点の周囲の駅情報が欲しいって言うケースがあったんでAPIを作ってみた。
鉄道駅一覧と座標を地理データベースの座標ハッシュに組み込んで、大体の最寄り駅をいくつか拾う。 で、拾った駅と現在地の座標を距離計算して並び替えて実距離で近い方からソートする。
GETリクエストを飛ばして情報はJSONかXMLで、テキスト駅路線名とレインズ駅路線コードを返す仕組み。
●お試し版(あえてディレイを追加してある)
[station_search]
販売 or サービス提供可能なので、サービスなどで利用したい方はコメントからお問い合わせください。
(122)
Pythonユーザおなじみの快適開発環境PyCharm。
エディタと色々でガンバルよりも、このIDEを使うだけで開発の楽さが3割くらい改善する素敵ツール。 デバッガはモチロン、VCSも繋がるし、SFTPとかでコードデプロイも出来るし、保存タイミングでの自動デプロイも結構便利。
PyCharmを使い始める前はお名前.com VPSやさくらのVPS 上でエディタでガリガリやって、そのままVPSに入れたChromeで動かしていたけど、IDEをローカルに入れたらローカルで走らせたいので、今回はスクレイピングツール開発のためのChromeヘッドレス環境をPyCharmプロジェクト内で作る。 別にPyCharm関係なくWindowsでの開発の話だけど。
続きを読む(374)
GAEで便利なのがバージョン管理機能。
Git等のVCSではなく、デプロイしたバージョンを管理してアプリケーションフローの制御が出来る、AppEngineの管理機能だ。
Web管理画面やgcloudコマンドで特定バージョンのインスタンスへフローを制御できたり、バージョンを指定したURLにアクセスすることで呼び出し側が任意のバージョンを指定できる。
これって更新をアップロードしたときとかに、問題があれば迅速に旧バージョンに戻せるし、API的に使っている場合は呼び出し側でバージョン指定で呼び出すことでリリース候補を指定して作業したり出来る。 あるいは、ABテストのような感じに同じデータソースの異なるアプリケーションビューを同時参照できる。 本番リリース時には、リリースを管理する部署で問題があったら勝手に戻して貰えるので、開発部署がせっつかれずに済むと言うありがたい機能でもある。
(266)
GCPのコンピューティングリソースは3個あって、GCE(IaaS)、GAE(PaaS)を試していたけど、今回はGCF Google Cloud Functionsを試してみた。
(232)
GCPをAlways Freeで使っていて、GCE 以外のコンピューティングリソースとして無料で利用できるのがGAE(スタンダード限定)
PaaSで、コードを書いてgcloud app deployとかすれば環境とか作らずにアプリが動く。
環境自体がマネージされているから手間がかからないけど、逆に中がどうなっているかとか知らないととっつきにくく、カスタムも難しかったりできなかったり。
だけど、慣れればこれはこれで非常に便利で、オートスケーリングとかしてくれるし、実行された時間単位の課金で、VMみたいにインスタンスを立ち上げて止めてとかする必要がなく、アプリが呼び出されれば勝手に動いて、終われば勝手に止まるという事で、フィットするアプリなら非常に便利。 ユーザがどれだけいるかわからないアプリのバック機能とか、ここにコードを載せておけば需要がなければお金がかからず、需要が増えたらお金さえ払えば勝手に動く。
マネージなんでランタイムとかは提供されている中から選ぶしか無く、長らくPythonは2系のみだったんだけど、今年になってやっとこさPython3系がサポートされたと言うんでお試ししてみた(と言ってもベータリリース)
(408)