cloverrose's blog

Python, Machine learning, Emacs, CI/CD, Webアプリなど

Python

pywebhdfsにHAとFederationをサポートするPRがマージされた

WebHDFSについて WebHDFSはhdfsコマンドではなくREST APIにhttpでアクセスできる便利なもの。 Hoop(httpfs)とwebhdfsの違い - たごもりすメモとかが図もあってわかりやすいと思う。 背景1 (hdfsコマンドへの不満) MapReduceなどを使って解析を行って、その結…

Pythonのjsonモジュールの便利機能

PythonでJSONを読み書きする機会が割りとあったんですが、改めて調べたり、公式ドキュメントをちゃんと読んだら便利な機能を知ったのでメモしておきます。 jsonファイルの辞書を順番通りにloadしたい 設定ファイルとしてJSONを使っている時、普通にloadする…

GitHub Flavored Markdownを変換できるgripが便利だった

Python Markdownで検索すると、Python Markdownがヒットするけど、これはGithubが拡張したMarkdown GitHub Flavored Markdown · GitHub Help(シングルクォートでソースコード埋め込みとか)が変換できない。検索してると、Is there a command line utility …

Tweepyがもうじきversion2.2に!

PythonのTwitter APIライブラリTweepy(tweepy/tweepy · GitHub)のversion2.2のリリースノートが書かれ始めていました。Add release notes for 2.2 (WIP) release. · fd7cc6e · tweepy/tweepy · GitHub ヘッダー(banner)の更新ができるようになりました 大…

Ansible ver1.3の新機能 changed_when を使って、ファイルに追記するPlaybookを書いてみた

Ansibleで今まで書いてきたOSセットアップスクリプトを置き換えていると、.bashrcとかに追記したいときの方法が見つかりませんでした。(copyはAnsible実行側にあるファイルをリモートに置き換えるものなので違う)(書いた後に、本当はAnsible実行側に完成した…

クリーンな環境にAnsibleインストールしてローカルでpipとapt-getを試す

前回はsudoなしで済むplaybookにしていたが、aptなどsudoが必要なplaybookを試してみた。--ask-sudo-passを知らなくて--ask-passでsudoしようとしていたため躓いた。また、ローカルでやる場合も、リモートでやる場合もAnsibleをインストールする必要があるの…

Ansibleをローカルで使ってみた

Ansibleを選ぶまでに調べたこととAnsibleをローカルで動かす方法でつまづいたのでメモしておきます。 構成管理ツール選び サーバー環境をきちんと管理したくなったのでいろいろ調べてみました。Rubyではchefが有名です。Pythonで調べるとAnsibleかSaltがヒッ…

PyGraphvizがあっさりインストールできた

少し前手こずった記憶のあるpygraphvizのインストールがあっさりできたのでメモ。(Ubuntu12.04、pythonz+virtualenv環境) sudo apt-get install graphviz pip install pygraphviz

flickrapiを使って画像をUploadしてみた

PythonのFlickrライブラリであるflickrapi(Python Flickr API kit - Stüvel photography)を使って画像のアップロードと、アップロードした画像のオリジナルURLの取得ができるようになったのでメモ。 インストール pip install flickrapi アプリの作成 http:/…

FLANNでk-means++をやってみた

研究でクラスタリング的なことを使いたくなったので、調べたらk-meansの初期値選択を改善したk-means++が開発されていることを知った。Python kmeans++で検索したらAtsushi TATSUMA Web Page » Python と FLANN でお手軽に近似最近傍探索が引っかかってFLANN…

Pillow(PIL)で文字列を画像として保存(位置・サイズ自動調整)

背景 ゆゆ式ゆゆ式、すきすき(ゆゆ式が大好きという意)で何か作ろうと思ってゆゆ式アイコンを作りました。 ゆゆ式アイコンが50個に到達した記念として、アイコンが「せーのっ!」「「ゆゆ式!」」ってしゃべるようなエフェクトを付けました。 せーのっ! ゆゆ…

Pythonのicalendarモジュールを使ってみた

icalendar 3.4 : Python Package Indexicalendarモジュールを使う - 偏った言語信者の垂れ流しのサイトを見ながらやったらicalendarのバージョンアップで動作が変わっていたのでメモ。 Unify API to only use to_ical and from_ical and remove string casti…

Pythonのdocstringを普通の文字列と違うfaceで扱う

Over Emacs24.2 gallina python.el is the official python.el (EmacsWiki: Programming With Python Dot El).But this elisp shows docstring like as same as normal string. If you want to show it different look, try this patch Fontify docstring wi…

use memcache on Django/Heroku

TwitterのIDからScreen Nameを参照している箇所でAPI規制頻度緩和とレスポンス向上のために、IDをKey、Screen NameをValueとしてMemcacheに保存することにしました。 参考サイト Memcache | Heroku Dev Center pylibmc - Python client for memcached — pyli…

Djangoのファイルのアップロード

Djangoでファイルのアップロードを扱う方法でAmazon.co.jp: 開発のプロが教える標準Django完全解説―Webアプリケーションフレームワーク (デベロッパー・ツール・シリーズ): 増田 泰,中居 良介,露木 誠,松原 豊: 本と変わっていたのでメモ。アプリケーション…

Django 静的ファイルに関するTips

Djangoの開発サーバーだけで静的ファイルを提供するときのまとめ 注意:公式サイトでも言われているように運用時はきちんとApacheなどを使うこと。 settings.pyでMEDIA_ROOTを設定 path/to/mysite/settings.pyのMEDIA_ROOTを次のように設定。 path/to/media…

pep8をgitのpre-commitでコミット前にチェック git mvのリネームにも対応

PEP8とpep8 PythonはPEP8でコーディング規約をしっかり決まっていて、その自動チェッカーpep8もある。PEP8にも漏れはあるものの、pep8をパスした他人のコードは自分のコードとシームレスに読むことができ、複数人でのコーディングで威力を発揮する。 pep8の…

re.compile("魔女").sub("","やがて生まれる魔女") #pyconjp

pyconjp2012で印象的だったの発表の1つに小飼弾氏の基調講演dankogai @ 2012.pycon.jpがある。 Pythonはほむほむ(CV:斎藤千和)っていうのが非常に嬉しかった。 その中で、 import re re.compile("魔女").sub("","やがて生まれる魔女") # re.compile(befo…

PythonzでPython2.7.3をインストール 謎のテクノロジー

いろいろなOSでPythonzを使ってPython2.7.3を入れたときのメモ。 Pythonのコンパイルに必要なライブラリがOSによって違う。それ以降はどのOSでも基本的に同じ。 Pythonzを使うメリット 1. どのOSでも同じディレクトリ構造、PATHの通し方でOK 2. Pythonzを使…

virtualenvを使ってみる

下準備 環境 Ubuntu12.04(すでにPython2.7が入ってる) まずはvirtualenvだけでやってみる virtualenvwrapperがあるけど、まず何をやっているのか知りたいのでwrapperなしで。 virtualenvのインストール sudo pip install virtualenv virtualenv環境を作成-…

感想 「調子に乗ったPythonistaが初心に返る簡単な方法」を読んで

調子に乗ったPythonistaが初心に返る簡単な方法 - SELECT * FROM life;を読んで、 面白そうだったので設定してみたのでメモ。Ubuntu12.04、Python2.7の場合は /usr/lib/python2.7/sitecustomize.py末尾に参考URLのコードを追加。どんな事が聞かれるのかと思…

MySQLdbを使ってみた

参考サイト Python+MySQLdbの使い方サンプル | Kirishiki Studiosほとんど同じなんだけど、微妙にちがうテーブル間でデータを移行したいDjangoでMySQLdbをインストールしていたので、スクリプト書いてやってみたold table asin 文字列 xml 長い文字列 search…

TweepyでUserstreamする際のエラー対処

tweepyがUser Streamsに対応していた - kk6のメモ帳* をコピペして動かしてみると、 ssl.SSLError: [Errno 1] _ssl.c:504: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failureというエラーが! I just fixed it, although I…

ブクログ Python

ブクログからユーザーデータを取得したかったのでPythonで作ってみた 参考サイト ブクログのHTTPリクエストについて ブクログの本棚のデータを新刊.netへ登録するGoogle App Engineのアプリを作ってみる - JavaScriptとかPerlとかPHPとかさくらVPSとか勉強す…

PythonのデフォルトエンコーディングをUTF-8に

環境 Ubuntu12.04LST Python2.7(標準) 参考サイト こちらはおそらくMacなのでファイルの位置は違った http://d.hatena.ne.jp/ama-ch/20080610/1213073848 やったこと 確認として現在のエンコーディングを見てみる(たぶんasciiになってるはず) $ python >…

Emacs Python環境

http://d.hatena.ne.jp/CortYuming/20090328/p1 http://d.hatena.ne.jp/cou929_la/20110525/1306321857