ikeikeikeike's unk blog.

http://github-awards.com/users/ikeikeikeike

コマンドラインをカラフル+αにするzsh-syntax-highlighting (Fish shell like syntax highlighting)

 

 

ほげぇぇー とよだれを垂らしながらgithubを巡回してたらzsh-syntax-highlightingなるものを発見使用してみる。 

どうやらfishのCommand Line部分の機能を模倣したpluginのようだ。

 

fishに関しては下記が分かりやすいと思う

 * http://blog.s21g.com/articles/1078

 

*** インストール方法 

  • git clone git://github.com/zsh-users/zsh-syntax-highlighting.git

cloneしたら ~/.zshrc の最後でファイルを読み込ませる

  • source /path/to/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

以上でインストールは完了。

 

*** 使ってみる

f:id:ikeikeikeike:20120808040308j:plain

 

 *** 雑感

とてもカラフルだ

 

 

 

iPhone/iPadプッシュ通知をpython製アプリケーションpyapnsで送る

 

 

pyapns

pyapns はApple Push Notification Service(以下APNS)と会話してくれるサーバーアプリケーションで通信はHTTPを使用します。 Twisted baseのWebサーバーとのこと。

Instagram でも使用されていて over a billion push notifications ということなので実績は十分ですよね。

 

Request

pyapns へのRequestはPython/Ruby製のマルチスレッドクライアントライブラリがあるのでコレを使うのが無難ぽい。

push通知を飛ばす簡単なサンプルコード

  • これだけでPush通知を飛ばせます、簡単に試せるのでなかなかよい印象です

一括通知

複数iPhoneへの一括通知はnotify関数の引数にlistで入れるようです

  • 何やら送信サイズ制限があるみたいなので20件以下にするのが良いとのこと
  • 1送信は256byte - チェックする関数 (正確ではない)

badge number / sound

バッジナンバー/サウンドはnotifications辞書に追加すればOK

  • sound指定したこと無いけど, どんな音の種類があるんだろう

async call

非同期対応と言うことで、Twistedぽくクライアントもcallbackで書いてもらいたいみたい。こんな感じでしょたぶん

  • 念のためblockingコードを書かないようにすればいいのかなぁ
  • 上のコードは試してないので動かないと思う

雑感

実際に送った雑感はまぁ速いです。 注意点としてはtokenやらnotificationが間違っているとpyapnsがリスタートして初期化すること、確かpush通知送信途中でも強制だったんでここは何か対応する必要があると思います

 

Upstartコンフィグ

Twistedなんでdeamon化はサポートしていますが自動起動がないでしょう、それじゃイカンでしょうってことでUpstartコンフィグのサンプルも書いておきます

  • UnixはkqueueにすればOK

間違ってたらごめんなさい、それでは

 

Tastypie Resourceクラスに独自URL(メソッド)の追加

今回はRestAPI(リソースサーバー)を作成するのに便利なTastypieに独自のURL(メソッド)を追加する方法です。

Tastypieとは?

TastypieはDjango ModelからRestAPIを生成してくれるDjangoプラグインです。またDjango Modelを未使用時(いわゆるNoSQL)にも対応しています。

こんな時使えるかも

* models.Managerメソッドを公開したい
* 複数Modelをまたがる処理を書きたい  (つまりトランザクションとか) 

resource.py  下記はTastypie 0.9.12-alpha以降から使用可能

確認

無事 first_add_method, test_func が追加されました。それでは。

 

 

Python Eco Compiler

最近Django上でCoffeeScript製のFrameworkをラクに動作させようとゴニョゴニョしているのですが如何せん下地がないようなのでライブラリは自作、下記はその副産物です。

eco 0.9.3

Downloads ↓  ,  GitHub ↓  ,  PyPI ↓

Python Eco is a bridge to the Eco Compiler.

Python Eco

Setup

それでは

引越し

ちょっと他サイトが寂しいんで引越しすることにしました

 

https://dl.dropboxusercontent.com/u/6574724/posterous/index.html

 

  1. June 14, 2012  UpstartでFlask+Gunicornサーバーを起動、停止する
  2. May 22, 2012   Upstart と Sysvinit (旧init.d rcスクリプト)の連携 - 起動順序設定
  3. May 10, 2012   Data(Log) Visualize and Management サイト
  4. April 19, 2012   Haskell Version Management (hsenv, virthualenv)
  5. April 3, 2012   TMUX に Python subprocess をカマして並列実行
  6. March 31, 2012   PySide 操作 - Undo Redo (Undo Framework)
  7. March 20, 2012   Lexer(字句解析器)と Parser(構文解析器)で変数(Assign)を扱う - 2
  8. March 19, 2012   Lexer(字句解析器)と Parser(構文解析器)で変数(Assign)を扱う - 1
  9. March 16, 2012   FluentdからGoogle Cloud Storageへ出力するPluginを書いたよ
  10. March 14, 2012   Vagrant, Chefの簡単な設定方法
  11. March 13, 2012   Django > Fluentd > MongoDB 設定
  12. March 13, 2012   開始