データの検索サンプル データの取得は、 ・コネクションの作成 ・コネクションからデータベースの取得 ・データベースからコレクションの取得 という手順で、目的のコレクションを取得します。 取得したコレクションに対して検索を実行します。 以下、find_oneとfindのサンプルです。 #!/usr/bin/env python # -*- coding:utf-8 -*- from pymongo import Connection #コネクション作成 con = Connection('192.168.1.245', 27017) #コネクションからtestデータベースを取得 db = con.test # 以下のように記載することも可能 # db = con['test'] #testデータベースからfooコレクションを取得 col = db.foo # 以下のように記載することも可能
Pinterestの急成長を支えてきたアーキテクチャとは? Pythonで開発しAmazonクラウドで運用 急速に人気が急上昇するWebサービスでは、どのようにスケールするアーキテクチャを構築し運用していくのかはサービスの成否を分けるほど重要です。Pinterestのように急成長してきたサービスのソフトウェア構成やリソース構成はどうなっているのでしょうか、Web上でいくつか情報が公開されているのでまとめてみました。 Pythonで開発し、Amazonクラウドで運用 1年ほど前なので少し古い情報ではあるのですが、Q&AサイトのQuoraにPinterestのco-founder Paul Sciarra氏が書き込んだソフトウェア構成の説明があります。 PinterestはPythonで開発されており、MemcachedやNginxなど高速なレスポンスに配慮した構成になっている様子がうかがえま
"mod_python 終了のお知らせ" を受け、もともとリソース不足だった既存の Django アプリケーション郡のサーバをリプレイスすることにしました。リプレイス要件↓ パフォーマンスが高いのにしたい アプリケーションの変更は必要最小限にしたい URL 類は既存のアプリケーションを引継ぐ: 複数プロジェクトをサブディレクトリーで運用していて、 "django.root" で複数プロジェクトを切り分けている 環境設定について これは apache - mod_wsgi が簡単すぎます。 nginx - fastcgi nginx - fastcgi 構成の場合は、init.d への登録、 daemontools を利用 (弊社は mod_python 以外はこれ)。 nginx の設定 /etc/nginx/fastcgi_params fastcgi_read_timeout 180;
Pythonで、Ward法によるクラスタリング(デンドログラム作成まで)を実装してみた。 参考にしたのは、岡山大学が公開しているこの資料。 (岡山大学の先生ありがとう!) 今回こんな車輪の再発明をしたのは、距離表と呼ばれる行列データを行列のイメージで保存せず、 [(ベクトル1とベクトル2の距離, ベクトル番号1, ベクトル番号2), ...] という形式のリストにして、距離でソートしておき、そのソート結果を維持したままこのリストを分割、更新していくという方針で作ったらどうかと思ったからです。 196個の19次元の非スパースなデータのデンドログラム作成に2.5秒だからなかなかのパフォーマンスではないだろうか。 CもC++もNumpy系の数値計算ライブラリも使わないでこれだから、いいですねえ。 使い方 読み込むデータファイルをタブ区切りで用意する。 1カラム目はデータの識別用ID文字列、2カラ
python一般† python.org:公式サイト Wiki Package Index iOS用Python環境 Computable Python for iOS Python Math PyPad Pythonista 英語資料 Python Course:Python のいろいろなトピックについての講義を集めたサイト Python Quick Reference @ Richard Gruet (旧版 日本語訳) Google's Python Class OLamp.com -- Python Dev Center:O'Reillyのpython関連ニュース Python Miro Community:チュートリアル講演ビデオのポータル Wikipedia:Python_(programming_language) Python tools that everyone shou
timezoneの取り扱いが以外と面倒ですね。 >>> from datetime import datetime >>> now = datetime.now() >>> now datetime.datetime(2012, 3, 16, 9, 55, 16, 497026) >>> now.strftime('%Y-%m-%d %H:%M:%S %Z') '2012-03-16 09:55:16 ' これまで、%Zとしているのに何故タイムゾーンが表示されないのかな?と思っていましたが、Pythonのdatetimeでは自分でタイムゾーンを指定しなければいけなかったようです。 >>> from datetime import tzinfo, timedelta >>> class JST(tzinfo): ... def utcoffset(self, dt): ... return
pythonの日付処理モジュールとしてdatetimeパッケージがあるが、dateutilパッケージのモジュールがもっと色々面倒を見てくれるのでちょっと調べてみた。 dateutilがやってくれること 沢山あるけど以下、わたしが使いたいと思った機能を抜粋。 月末を算出してくれる。 「次の◯曜日」を算出してくれる。 「当月の最終◯曜日」を算出してくれる。 ISO-8601形式の日付文字列をdatetimeに変換してくれる。 月末の算出 月初の算出はdatetime.timedeltaでも簡単にできる。 from datetime import timedelta, date date(2011, 11, 26) + timedelta(day=1) #=> date(2011, 11, 1)しかし月末を算出する直接の方法がtimedeltaにない。 dateutilのrelativedelt
Description The dateutil module provides powerful extensions to the standard datetime module, available in Python 2.3+. News 2011-03-24 dateutil 2.0 is out! Ported to Python 3, by Brian Jones. If you need dateutil for Python 2.X, please continue using the 1.X series. There's no such thing as a "PSF License". This source code is now made available under the Simplified BSD license. See LICENSE for d
ラボの昼休みに光成さん、中谷さんとご飯を食べながら話した内容を一応ざっくりとまとめておく。 発端はたしか最近Haskellを勉強の光成さんが、Haskellのかっこいいsieveは実はとても遅い(俺は Haskell の sieve についてとんでもない思い違いをしていたようだ...)という話を見て、同様にかっこいいけど遅い下記のフィボナッチ数列の定義の速度を調べてみたら2.5乗くらいのオーダーになっていたという話だったかと思う。 fib = 1:1:zipWith (+) fib (tail fib) 僕も確認するために、コマンドライン引数でNを与えられるフィボナッチ数列のN番目を求めるコードを書いた。 import System fib = 1:1:zipWith (+) fib (tail fib) main = do args <- getArgs print $ (0 *) $
Python公式のCPythonよりも高速という噂のpypyがPython2.7.1相当の機能を実装したというので、その実行速度を測定しました。 ■インストール(OSX) pypyのインストールは非常に簡単で、本家からbzipをダウンロードして解凍したらできあがりです。 $ tar xjvf pypy-1.5-osx64.tar.bz2 $ cd pypy-c-jit-43780-b590cf6de419-osx64 $ ls LICENSE README bin include lib-python lib_pypy site-packages binの中にpypyというコマンドがありますので、それを実行すると起動します。 $ bin/pypy Python 2.7.1 (b590cf6de419, Apr 30 2011, 03:30:00) [PyPy 1.5.0-alpha0 wi
線形計画法(Linear Programming; LP or linear optimization)は,目的関数も制約関数も線形であるときの最適化問題を解く手法です.SciPy + GLPK + CVXOPT + OpenOpt + FuncDesignerで実装されているのを使ってみました.説明はWikipediaから抜粋. 線形計画法は以下のようにある制約関数のもとである目的関数を最大化あるいは最小化するもの. maximize or minimize (目的関数) subject to (制約関数) xは変数,A,b,cは係数.制約関数の形が凸多面体であるので目的関数は最適化可能. たとえば ある農夫がL [km^2]の広さの農地を持っているとき小麦と大麦を育てて売上を最大化させたい.農夫は肥料をF [kg]と農薬をP [kg]だけ持っている.小麦を育てるためには肥料F1 [kg
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く