ikeikeikeike's unk blog.

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

PythonからElasticsearchを扱うelasticsearch-dsl-pyがなかなか良かった

elastic/elasticsearch-dsl-py elastic/elasticsearch-dsl-py · GitHub いつの間に公式からHigh levelなPythonクライアントが出ていたので使用してみました。 PythonのElasticsearch関連のライブラリは色々とHaystack(つらい)とかelasticutils(いつの間にかD…

beego migration

なんかbee new で新しくprojectを作るとmigrationフォルダができるけどなんか使いづらかったので gooseを替わりに使用した Download $ go get bitbucket.org/liamstask/goose/cmd/goose db/dbconf.ymlを作成&編集 $ cat db/dbconf.yml development: driver: …

べーごー signup,login,logout

Beegoで認証あたりを処理を書いた(メール飛ばしたりはしてない)。以下やっていること プロジェクト生成 Model定義 Form処理 ユーザー, 認証処理 Flash messages, Session処理 login filter(require)なるもの もろもろインストール $ go get -u github.com/be…

beego ormとdjango orm

Beego ORMはDjango ORMは影響されているということらしいので http://beego.me/docs/mvc/model/query.md#advanced-queries の内容をDjangoORMに置き換えようと思ってたけど途中で疲れて終わらしてます (またリンクのみの箇所は置き換える必要がないほど似て…

Ubuntu 14.04 LTS Trusty Tahrにおける各種ulimit設定

この間プライベートのサーバーが too many open files になっていたので設定した備忘録的なもの Nginx /etc/default/nginx ULIMIT="-n 65536" Redis /etc/default/redis-server ULIMIT=65536 Memcached /etc/memcached.conf -c 65536 PAM認証系 /etc/securit…

どーしてもPEP8を守れない人用のDjango1.7の設定

以下ネタです。基本的にPEP8は準拠しませう また使用しているDjango1.7の新機能Applications, System check frameworkの使用方法は全くもって正しくないので真似しないで下さい Django1.7おめでとうございます!!! Django1.7がリリースしてめでたかったので新…

管理画面を提供しているWebFWに対応するVarnish vclの書き方

sub vcl_hash { # Cookie毎にキャッシュ hash_data(req.http.cookie); # Device毎にキャッシュ hash_data(req.http.X-Device); # HTML, JS, CSS毎にキャッシュ hash_data(req.http.Accept); # URL毎にキャッシュ hash_data(req.url); if (req.http.host) { h…

Railsでelasticsearchとsearchkick(retire)とacts-as-taggable-onでラクをしてfacetsした話

タグを付けてfacetsするところまで。コードは全く書きません。 便利でいいですね。 gem "searchkick" # full text search gem 'acts-as-taggable-on' # For tags インストール後migration実行 $ rake acts_as_taggable_on_engine:install:migrations $ rake …

試しに ansible(アンシボー) したら簡単だった

Playbookは全て自作したのですがそれでも初学から1日で終わった。なるほど覚えること少なくてハッヤイ (同じことやるのに大体ですがChefだと3日かかった記憶があります) これだけ作るのが早いくて、これくらいのレベルのplaybookだと汎用性考えなくても良い…

Codeigniterで保存されているパスワードを復号化してDjangoに移行してみよう

いきなりですが こちらのサイトによると最近流行りのPHPフレームワークTOP2は Laravel, Phalcon なんだとか http://www.sitepoint.com/best-php-frameworks-2014/ 多分昨今のPHP界隈は Codeigniter から Laravel, Phalcon あたりに旧システムを移植する話が…

Pythonの例外情報(Traceback)をLogに記録するには Logger.exception が便利って話

極たまに下記のようなコードを見ます。例外情報が欲しいのは分かりますがlogging.Loggerクラスには専用のメソッドがあります。 import traceback try: dosomething() except (KeyError, ValueError): logger.error(traceback.format_exc()) Logエラーレベル…

Macの濁点問題を解決するPython unicodedataモジュール

日本語のURLを使いたいんです 最近Scrapyで採取したゴミをMongoDB※1(笑) に入れておき、その後TinkererでブログにしてS3へアップロードする一連のスクリプトを書いて、ゴミサイトを何個も作りまくってるんですけど Tinkererで生成したtag list, tag cloudにU…

Southでカラムのdefault値を変更したいのけど--auto が効かない時

カラムのdefaultを変更したいのけど --auto オプションが効かないの 解1 Djangoの場合は必要なし, 実際にDBへは反映されていない 解2 マニュアルでschemamigration実行後、編集 $ python manage.py schemamigration table1 change_default_value_to_someone…

Python Enum

Enumすら思い出せない忘れんぼさんなんで PythonのEnum を弄ってみました 列挙型定義 from enum import Enum class Colors(Enum): RED = '1' BLUE = 2 GREEN = 'green' print(Colors) # <enum 'Colors'> 動的に >>> Enum('Colors', (('RED', '1'), ('BLUE', 2), ('GREEN', '</enum>…

Upstart と Unicorn と Rails

なんのひねりもありませーん Upstart って便利だなーっ description "Start the Unicorn. Run the Unicorn Workers for Rails Application" start on runlevel [2345] stop on runlevel [!2345] console owner env HOME=/home/vagrant env RBENV_ROOT=/home/…

日本語って難しい

URLにローマ字slugを付けたくなったので、地域名称からそれっぽいslugに変換した MeCabとromajiを使用したとさ、チョー簡単。 require 'MeCab' require 'romaji' mecab = MeCab::Tagger.new '--node-format=%f[7] --eos-format=' Romaji.kana2romaji(mecab.p…

Python syntastic

始まりは突然 なんか最近、syntastic で pylint がいつの間にか有効になってて C0111, C0301, C0103 のメッセージがでまくる。 (記憶だと以前 postmkvirtualenv あたりに pylint インストールするように書いたのかな、しらんけど) まぁあまり気にならなくて…

Celeryのハマリポイント

はい、Celeryです。Celeryって本当によく使いますけど、本当に初見殺し多いですよね。今回はふとした気の迷いでそんなハマリポイントをいくつか羅列してみます。 (基本 django-celery を対象にしています) ハマリポイント1 - MySQLがデッドロックして動作し…

Sencha Touch 2 と CoffeeScript と Sass と Guardfile があーしてこーして

guardを使えば楽勝コンパイル作業 って、あたりまえでしょ!な話 $ gem install guard guard-coffeescript インストール後、下記Guardfileをプロジェクトツリー直下に置く require 'guard/guard' guard 'coffeescript' do watch %r{^app/.+\.coffee$} watch %…

Cross-Origin Resource SharingなDecorator. Djangoだよ

小ネタ、さっき書いてたノリでココにも書く ■ Decorator コード非公開 (下記のMiddleware番の39行目から46行目をコピペしてデコってね♡) ■ Middleware * https://bitbucket.org/schinckel/django-ajax-helper/src/cadb1ff58863/ajax_helper/middleware.py ■ …

Travis CI と tox

Travis CI と tox toxを使えば Travis-CI がくちゃくちゃ簡単らしいのでやってみた記録 もともとtox自体は使っていましたので、噂通りすぐにできました。 django-spine .travis.yml tox.ini django-subcommand .travis.yml tox.ini python-eco .travis.yml …

作成済みのVMを途中からVagrantで管理する方法 [Memo]

下記で出力されたコードを .vagrant に貼っ付けて下さい。 おそらくほとんどの場合でエラーが出るかも。

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

ほげぇぇー とよだれを垂らしながらgithubを巡回してたらzsh-syntax-highlightingなるものを発見使用してみる。 どうやらfishのCommand Line部分の機能を模倣したpluginのようだ。 fishに関しては下記が分かりやすいと思う * http://blog.s21g.com/articles…

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

pyapns pyapns はApple Push Notification Service(以下APNS)と会話してくれるサーバーアプリケーションで通信はHTTPを使用します。 Twisted baseのWebサーバーとのこと。 Instagram でも使用されていて over a billion push notifications ということなの…

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

今回はRestAPI(リソースサーバー)を作成するのに便利なTastypieに独自のURL(メソッド)を追加する方法です。 Tastypieとは? TastypieはDjango ModelからRestAPIを生成してくれるDjangoプラグインです。またDjango Modelを未使用時(いわゆるNoSQL)にも対応して…

Python Eco Compiler

最近Django上でCoffeeScript製のFrameworkをラクに動作させようとゴニョゴニョしているのですが如何せん下地がないようなのでライブラリは自作、下記はその副産物です。 eco 0.9.3 Downloads ↓ , GitHub ↓ , PyPI ↓ Python Eco is a bridge to the Eco Compi…

引越し

ちょっと他サイトが寂しいんで引越しすることにしました https://dl.dropboxusercontent.com/u/6574724/posterous/index.html June 14, 2012 UpstartでFlask+Gunicornサーバーを起動、停止する May 22, 2012 Upstart と Sysvinit (旧init.d rcスクリプト)の…