タグ

ブックマーク / utahta.hatenablog.com (15)

  • さくらVPS 1GにNginxとPHP-FPMをいれてWordPressブログを作ったメモ - utahta blog

    さくらレンタルサーバ(スタンダード)から、さくらVPS 1GにWordPressブログを引越した。 目的は節約。元々レンタルとVPS両方借りてたんです。 構成は、nginx-1.0.15, php-5.4.10, php-fpm, mysql-5.5.28。 結果的にレスポンスが早くなった。 移行するときのインストールや設定が面倒だったので手順をメモしときます。 バックアップ・リストア BackWPupプラグインを使った。 WordPressのファイルとデータベースデータを丸ごとひとつにまとめてくれて、リストアもツールを使って簡単にできるのでおすすめ。 参考:今こそ安心できるWordPressバックアップを!復旧作業まで実際にやってみたWordPress丸ごとバックアップ法 VPSの環境構築 OSは、CentOS6.2。 # yum install nginx # yum install

    さくらVPS 1GにNginxとPHP-FPMをいれてWordPressブログを作ったメモ - utahta blog
    oinume
    oinume 2013/01/11
  • pythonbrewの今後とpythonz - utahta blog

    pythonbrewをつくってみてはや1年と半年。思った以上のひとにWatchされ思った以上のひとに使われているみたいです。 Pythonのインストールが面倒くさいと思っている方や元々RVMやperlbrewを使っていた方々からの反応はわりと良かったように思います。 そんなpythonbrewですが、ずいぶん前から開発が滞っていて半ば放置気味になっています。 理由はいくつかありますが、ざっくり言うと開発に割く時間がなくなりました。 そんな中つい先日、pythonzという類似のプロジェクトが出来た模様です。 pythonbrewをForkしたものということで、一部機能は削いでいるようですが、PyPyのインストールをサポートしていたりpythonbrewにはない機能もあるようです。 今後はこちらがデファクトになっていくのではないかと期待を込めつつご紹介します。 pythonbrewの今後ですが

    pythonbrewの今後とpythonz - utahta blog
    oinume
    oinume 2012/04/17
    ありがたく使わせてもらってます。
  • PythonとAmazonのProduct Advertising API - utahta blog

    最近、AmazonのProduct Advertising APIPythonでごにょごにょするということをやっていて、ある程度やり方というかライブラリを見つけたりとかしたので、忘れないように書き残しておきます。 1.Product Advertising API への登録 ここから登録します。 登録が完了するとアクセスキーとシークレットキーが配布されます。 もしアクセスキーを忘れるなどして分からなくなったら、ここからアカウント→セキュリティ証明書と辿って確認できます。 2.Pythonライブラリ選択 Product Advertising APIをうまくラップしていつつ簡単に使えそうなライブラリとして、bottlenoseを選んでみました。 選んだ理由は、探した中で最もシンプルかつ実装の把握が容易で、さらに開発が比較的活発と思われたからです。 (他にもっといいのがあれば教えてください)

    PythonとAmazonのProduct Advertising API - utahta blog
  • pythonbrewで構築するPython環境 その2 - utahta blog

    その1はこちら。 pythonbrewってなんぞ?という人は、こちらも併せて見ると良いかもです。 その2では、pythonbrew-0.9で追加したbuildoutとvenvコマンドについて解説します。 概要 buildout : buildoutをラップしたコマンド。 venv : virtualenvとvirtualenvwrapperをラップしたコマンド。 buildout pythonbrewの管理下にあるPythonを使って、buildoutを実行するコマンド。 bootstrap.pyのダウンロードから./bin/buildoutまで、多少面倒な部分を代わりにやってくれます。 zc.buildoutを知っていれば、とりあえず使用例を見れば大体なにをやっているか分かると思います。 以下は、buildout.cfgの置いてあるディレクトリprojへ移動し、pybrew buildo

    pythonbrewで構築するPython環境 その2 - utahta blog
    oinume
    oinume 2011/10/17
    $ pybrew venv use <env>
  • PyQtの環境づくり + MacOSX - utahta blog

    PyCon JP 2011のセッションで見かけた「PyQtではじめるGUIプログラミング / Tutorial: GUI Programming with PyQt」がとっても良かったので、さっそくPyQtやろうと思って、Macで環境づくりした。 前提 homebrewとpythonbrewがインストールされているMac。 homebrewだけでいける気がするけど、どうせだからpythonbrewのとこに入れてみる。 PyQt Python3.2.1のインストール。 $ pybrew install -nv -j4 --framework 3.2.1 $ pybrew switch 3.2.1 Qtのインストール。 $ brew install qt PyQtの前にSIPのインストール。 $ wget http://www.riverbankcomputing.com/static/Dow

    PyQtの環境づくり + MacOSX - utahta blog
    oinume
    oinume 2011/09/03
  • Python + FlaskでMVC的なことをやってみた - utahta blog

    Python + FlaskでMVC的なサンプルをつくったメモ。 MVC的な記事まとめ ひとまずMVCについて言及されている記事をまとめ。 MVCはWikipediaが詳しい。 以下は調べた中でもわりと個人的にしっくりきた記事たち。 Web Applicationを綺麗に設計するためのMVACという考え方 - Dive into the Tech World! Re: @kazuho: handlersocket plugin や mycached を使えば memcached は不要か、それとも使うべきケースがあるか。考察せよ [10点] - blog.nomadscafe.jp Life is beautiful: Ruby on Railsの「えせMVC」の弊害 the { buckblogs :here }: Skinny Controller, Fat Model 共通して言われ

    Python + FlaskでMVC的なことをやってみた - utahta blog
    oinume
    oinume 2011/07/30
  • pythonbrewで構築するPython開発環境 - utahta blog

    pythonbrewとvirtualenvを使ってPythonの開発環境を整えてみました。 ツールの詳しい説明は、リンク先を見てくださいということではぶきます。 続きました→ その2 対象 環境:LinuxやFreeBSDなど。Bourne Shell系(bash, ksh, zshは確認済み) 人:Pythonインタプリタのインストールを手動でしたくない上に複数のバージョンを切り替えて使いたい人。 1.pythonbrewのインストール ざっくり言って、Pythonインタプリタのインストールを楽にするツールです。 これがないと、このエントリの意味が分からないので、とりあえずインストール方法の解説からしていきたいと思います。 以下のコマンドを実行すると、pythonbrew一式がインストールされます。 $ curl -kL http://github.com/utahta/pythonbr

    pythonbrewで構築するPython開発環境 - utahta blog
  • Flask + Python 基礎 - utahta blog

    Flask 基礎を勉強中。 環境構築 OS:CentOS 5.4 Python-2.6.6 インストール。 $ pythonbrew install 2.6.6 $ pythonbrew switch 2.6.6 Flask インストール。 $ pip install Flask Hello Flask $ vi main.py from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello Flask.' if __name__ == '__main__': app.run() $ python main.py * Running on http://127.0.0.1:5000/ ルーティング&変数ルール from flask import Flask app = Flas

    Flask + Python 基礎 - utahta blog
    oinume
    oinume 2011/07/18
  • PythonでつくるWebアプリ/Tornado + Gunicorn + Nginx - utahta blog

    この1ヶ月、土日の休みを使いTUBELONGERってWebアプリをつくってました。 言語はPythonPythonは日語の取り扱いが若干面倒だったりするけど、書いてて楽なので好き。 以下、PythonでWebアプリをつくるにあたって調べたり分かったりしたことのメモ。 構成 OS:さくらVPS CentOS 5.5 サーバ:Nginx + Gunicorn データベース:MySQL 当初はGoogle App Engineで開発を進めてたけど、データストアの使い方を調べるのにいちいち時間をとられたり、Cron的な動作に制限があったりといろいろ面倒くさかったので、途中からroot権限のあるサーバでいちから構築する方向に切り替えました。 やっぱりroot権限は自由度が半端じゃないです。 GAEがダメってわけではないです。 むしろ僕の知識が足りなすぎて学習コストが尋常じゃなかったのでまた今度

    PythonでつくるWebアプリ/Tornado + Gunicorn + Nginx - utahta blog
  • Request Counting アルゴリズム - utahta blog

    GREEエンジニアブログのグリーの大規模分散ストレージ戦略(nanofs) Vol.2を見ていて、Apache の Request Counting ってなんぞやと思ったので、調べたメモ。 Request Counting アルゴリズムとは Apache の mod_proxy_balancer モジュールに組み込まれているロードバランサのスケジューラアルゴリズムの1つ。 やってきたリクエストが、各ワーカーにちゃんと分担されるようにというか詳細は、こちら。 リンク先に擬似コードが示されていたので、試しにいくつかの言語で実装してみた。 lbfactor が重み、lbstatus が優先度みたいなものっぽい。 Python #!/usr/bin/env python class Worker(object): def __init__(self, name, factor): self.nam

    Request Counting アルゴリズム - utahta blog
  • valgrind を使ってみた - utahta blog

    valgrind とは? linux 環境で動く超強力なメモリデバッガー。 メモリリークや、セグメンテーション違反を起こしている正確な位置を教えてくれる。 以下、使い方メモ。 使用バージョンは、valgrind-3.2.1 メモリリーク検出など $ valgrind --leak-check=full ./program arg1 arg2 ヒーププロファイラ $ valgrind --tool=massif ./program arg1 arg2 メモリをデバッグしてみる 1. バッファオーバーランとメモリリークを行うソースコードを記述 $ vi main.cpp #include <stdio.h> int main() { int *a = new int[2]; a[2] = 0; // バッファオーバーラン return 0; // メモリリーク } 2. コンパイルする $ g

    valgrind を使ってみた - utahta blog
  • Launchd + Lingon - utahta blog

    launchd.plist を書く機会があったら Lingon を使うと便利。 以下の画像のように設定するだけで、Mac 起動時に svnserve が動くようになる。 はずなんだけど、なぜかたまに起動時に下のエラーが出て svnserve プロセスが死んだりした。 Stray process with PGID equal to this dead job: PID 125 PPID 1 svnserve とりあえず、下記の要素を追加してあげるとちゃんと立ち上がる。 GUIにはない要素なので、Expert Mode から追加する。 AbandonProcessGroup 原因は、同じグループのプロセス強制終了に巻き込まれるからっぽい? ソース まだよく分かってないけど。 なんにせよ、手書きで書くより数倍楽だワー。

    Launchd + Lingon - utahta blog
  • Python で実装する IRCボット - utahta blog

    たまたま作る機会があった IRCボットを Python で実装してみたメモ。 環境は CentOS 5.4、Python 2.4 python-irclib IRCボットを簡単に作成できるライブラリ、python-irclib をインストールする。 $ wget http://sourceforge.net/projects/python-irclib/files/python-irclib/0.4.8/python-irclib-0.4.8.zip/download $ unzip python-irclib-0.4.8.zip $ cd python-irclib-0.4.8 $ python setup.py build $ sudo python setup.py install ソースコード 下のコードは、ある時間になったら挨拶するボットのサンプルコード。 #!/usr/bin/

    Python で実装する IRCボット - utahta blog
  • gdb + core 解析 - utahta blog

    core ファイルを解析するメモ。 下準備 まず意図的に SEGV させるコードを書く。 $ vi a.cpp #include class CPrint { private: int m_number; char *m_str; public: CPrint() : m_number(10), m_str(NULL) {} ~CPrint() {} void print(){ // ここで SEGV る予定 printf( "%d, %c\n", m_number, m_str[0] ); } }; int main() { CPrint p; p.print(); return 0; } 続けて core を出力させる設定。環境は Linux CentOS 5。 $ ulimit -c unlimited core dumped 下準備で作成したソースコードをコンパイル。-g を忘れず

    gdb + core 解析 - utahta blog
  • Pythonのバージョンを管理するツール、pythonbrewを作ってみた - utahta blog

    Perlperlbrewってツールが凄く使いやすくて羨ましかったので、Pythonで使えるpythonbrewってツールを作ってみました。 perlbrew? perlbrewとはPerlをバージョン毎にインストールして、それらをswitchして使ったりできるツールのこと。 既存の環境を壊さずに最新のPerlを簡単に試すことができます。 PerlからCPANモジュールまでホームディレクトリ以下に全部インストールしてくれるので、自分専用のPerl環境を構築することができます。 perlbrewの作者の劉康民さんは、当にすばらしいアイデアの持ち主。 pythonbrewとは 基的にperlbrewをパクったと同じ思想なツール。 Pythonインタプリタのインストールから、それらの管理まで面倒をみてくれます。 例えば、一からPython2.6.6、2.5.5、2.4.6の環境を構築したいな

    Pythonのバージョンを管理するツール、pythonbrewを作ってみた - utahta blog
  • 1