サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
会話術
ikeikeikeike.hatenablog.com
elastic/elasticsearch-dsl-py · GitHub いつの間に公式からHigh levelなPythonクライアントが出ていたので使用してみました。 PythonのElasticsearch関連のライブラリは色々とHaystack(つらい)とかelasticutils(いつの間にかDeprecatedになっていた)とかがあって 不遇だったのでコレで解消されればよいのかな。 機能面 elasticsearch-dsl-pyはElasticsearchの薄いラッパーと言うことらしいのですが、ひと通りの機能は揃っているみたいです。 あと特にDjangoやらSQLAlchemyやらを併用して使用することは今のところ想定されていないみたい。 Analysis analyzerは kuromoji_analyzer と ngram_analyzer がすでに定義されているものと
タグを付けてfacetsするところまで。コードは全く書きません。 便利でいいですね。 gem "searchkick" # full text search gem 'acts-as-taggable-on' # For tags インストール後migration実行 $ rake acts_as_taggable_on_engine:install:migrations $ rake db:migrate モデル定義 class Product < ActiveRecord::Base searchkick # For full text search powerd by elasticsearch. acts_as_taggable # Alias for acts_as_taggable_on :tags # for searchkick reindex data. # def se
以下ネタです。基本的にPEP8は準拠しませう また使用しているDjango1.7の新機能Applications, System check frameworkの使用方法は全くもって正しくないので真似しないで下さい Django1.7おめでとうございます!!! Django1.7がリリースしてめでたかったので新しく1.7から追加された機能ApplicationsとSystem check frameworkの仕組みを利用して強制的にPEP8を守らしてみました。 まずDjangoのappをつくりましょう。checkpep8でよいですかね? $ python manage.py startapp checkpep8 出来上がったcheckpep8アプリの__init__.pyにdefault_app_configを追加 checkpep8/__init__.py default_app_con
極たまに下記のようなコードを見ます。例外情報が欲しいのは分かりますがlogging.Loggerクラスには専用のメソッドがあります。 import traceback try: dosomething() except (KeyError, ValueError): logger.error(traceback.format_exc()) Logエラーレベルが ERROR のメッセージで例外情報を残したいなら下記にすべきです。 try: dosomething() except (KeyError, ValueError) as err: logger.exception('Error dosomething: %s', err) ドキュメント http://docs.python.jp/2/library/logging.html#logging.Logger.exception htt
日本語のURLを使いたいんです 最近Scrapyで採取したゴミをMongoDB※1(笑) に入れておき、その後TinkererでブログにしてS3へアップロードする一連のスクリプトを書いて、ゴミサイトを何個も作りまくってるんですけど Tinkererで生成したtag list, tag cloudにUnicode文字も含めるカスタマイズをしたのですが、その後頻繁にS3で404が発生する現象が起きていたので調べていたのです、そしたらなにやらUTF-8関連のきな臭い問題のようでした UTF-8-MAC 使用している環境がMacなものでUTF-8-MAC問題が発生していました。 (この問題についてはこちらを参照) 説明は省きますが修正するにはUTF-8-MACからUTF-8に変換すれば良いみたいです。普通この際iconvを使うのが一般的思いますが今回は一連のゴミ採集スクリプトの言語がPythonな
はい、Celeryです。Celeryって本当によく使いますけど、本当に初見殺し多いですよね。今回はふとした気の迷いでそんなハマリポイントをいくつか羅列してみます。 (基本 django-celery を対象にしています) ハマリポイント1 - MySQLがデッドロックして動作しなくなった BlockerをMySQLにした時に起こります、公式ドキュメントにも書いてある有名なハマリポイント。 対策 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED をsession毎に発行 my.confに書いてデフォルト設定 ハマリポイント2 - Task Resultsが消えない ## いつもRabbitMQ、 RedisをBlockerにしてたんだけど、Databaseに変えた途端起こるハマリポイント。 CELERY_TASK_RESULT_EX
Travis CI と tox toxを使えば Travis-CI がくちゃくちゃ簡単らしいのでやってみた記録 もともとtox自体は使っていましたので、噂通りすぐにできました。 django-spine .travis.yml tox.ini django-subcommand .travis.yml tox.ini python-eco .travis.yml tox.ini tastypie-queryset-client .travis.yml tox.ini 実際にリクエストを飛ばすテストをしてるからか、知らないけどテストが通らなかった fluent-plugin-gstore .travis.yml 有名ドコロはこんな風に書いてるみたい ipython .travis.yml tox.ini pyramid .travis.yml tox.ini こんなところですかね。 ところで
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件以下にするのが良いとのこ
このページを最初にブックマークしてみませんか?
『ikeikeikeike's unk blog.』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く