Posted by ごうじん, on Sunday, January 19, 2014 01:19 PM JST crontabは、crontab書式をパースして、次回実行までの待ち時間(秒)を教えてくれるモジュールです。 この機能を使って、定時実行処理を実装していきます。 crontabのインストール easy_install または pip で、crontabをインストールするだけ。とっても簡単。 $ sudo easy_install -U crontab Password: Searching for crontab Reading http://pypi.python.org/simple/crontab/ Best match: crontab 0.18 Downloading https://pypi.python.org/packages/source/c/crontab/
# -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals from cf_recommender.recommender import Recommender cf_settings = { # redis 'expire': 3600 * 24 * 30, 'redis': { 'host': 'localhost', 'port': 6379, 'db': 0 }, # recommendation engine settings 'recommendation_count': 10, 'recommendation': { 'update_interval_sec': 5, 'search_depth': 100, 'max_history': 500, }, } # レコメンド商
ついにガロアが死んだ年齢を超えてしまったことに気がつき、自分がまだ何も成し遂げていないことを悲しく思う今日このごろです。 さて、今日はGoogleが出した機械学習ライブラリのTensorFlowの使い方について軽く説明しつつ、ゆるゆりの制作会社の識別を行おうと思います。 TensorFlowとは TensorFlowはGoogleが11/9に公開したApache 2.0ライセンスで使える機械学習ライブラリです。Googleは様々なところでプロダクトに機械学習を活用していますが、TensorFlowは実際にGoogle内部の研究で使われているそうです(TensorFlow: Google 最新の機械学習ライブラリをオープンソース公開 - Google Developer Japan Blog)。 Googleのネームバリューは恐ろしいもので、GitHubのStar数はすでにChainerやC
隣の席の人がテスト強化週間とか抜かしていたので自分もちゃんと理解するために なるべくわかりやすく まとめてみようと思います。 この記事は 2015 tech-yuruyuru アドベントカレンダー - 15日目の記事です。 http://connpass.com/event/22759/ モックって何よ? mockは特定のオブジェクトの代理をしてユニットテストを円滑に進めるためのモジュールです。 python3.3からはビルトインに入りましたが、それ未満のバージョンではインストールが必要です。 以下のようにインストールしてください。 インストールしたmockを使う場合は単に import mock とすればよいのですが ビルトインmockを使う場合は、 from unittest import mock のようにして使うのが一般的です。 以降、この記事では無用な混乱を避けるため、mockの
最近、このモジュールを妻に紹介したところ、そのシンプルさと実用性に驚いていました。 joblib joblibの存在は以前から知ってはいたものの、実際のところはよく理解しておらず、いろいろな機能を寄せ集めたようなモジュールだと思っていました。まあ、その印象は今もあまり変わりませんが、実は非常に便利なモジュールだったのです。私は Flowminder の同僚から再度joblibを勧められて、このモジュールをデータ分析用のコードに幅広く使用しました。では、その機能について紹介しましょう。joblibは大きく分けて、 キャッシング 、 並列化 、 永続化 (データの保存と読み込み)の3つの機能から成ります。実を言うと、私はまだ並列プログラミングの機能は使ったことがないのですが、あとの2つの機能は頻繁に使ってきました。 キャッシング機能とは、シンプルなデコレータを使って、関数を簡単に”メモ化”する
Luigi is a Python (3.7, 3.8, 3.9, 3.10, 3.11, 3.12 tested) package that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization, handling failures, command line integration, and much more. Getting Started¶ Run pip install luigi to install the latest stable version from PyPI. Documentation for the latest release is hosted on readthedocs.
Luigiとは LuigiはPythonで書かれたデータフロー制御フレームワークです。 ストリーミング音楽配信大手のSpotifyが開発しています。ソニーと提携したことでも話題になりましたね。 Luigi公式レポジトリ 本家のプレゼン資料がわかりやすいです。 一般的にビッグデータ解析では、統計・機械学習を行う前に、クレンジングやフィルタ処理をいくつも重ねる必要があります。その依存関係は複雑で、しかもデータの差し替えや失敗・中断時のやり直しなんてやりだすと、苦行の他のなにものでもありません。そんな時にLuigiは使えます。 名前のLuigiの由来は、データフローを配水管に例え、「世界で2番目に有名な緑色の服を身にまとった配管工」だとか…。赤じゃなくて緑なのは、Spotifyのコーポレートカラーと同じだからでしょうか(笑)。 Pythonではありますが、Pythonによる処理だけでなく、Had
Djangoアプリケーションを開発する際のデバッグ方法について紹介します。 標準のDebugモード以外に使える様々なサードパーティライブラリを中心に、 私が趣味/仕事でのDjangoアプリケーションを開発する通して学んだデバッグ方法を具体的に紹介します。 アプリケーション開発時の泥沼のデバッグ作業は誰しも避けたいものです。 その時間はたいてい無駄になりますし、開発者自身つらいものがありますね。 優秀なツール使い、その負担を軽減しましょう。 適切なロギングで、発生した問題に素早く対処できるようにしましょう。 このセッションでは少しでも開発の助けになるよう、 Djangoアプリケーションのデバッグ方法を紹介します。
これは何? mixiグループアドベントカレンダー2日目です。 ミクシィグループが運営する「チケットキャンプ」は、サーバーサイドはPython, Djangoで開発をしています。 現在使っているDjangoのバージョンは1.7.11なのですが、これをDjango 1.8までアップデートする際に行った作業のメモです。 チケットキャンプ特有の部分もあるかとは思いますが、Djangoのアップデートを検討している方の何かの参考になれば幸いです。 チケットキャンプのバージョンアップのポリシー そもそもチケットキャンプのフレームワーク・ライブラリのバージョンアップのポリシーがどうなっているかというと、多少僕の勘に依存している部分があり、明文化するのが難しいですが、概ね以下の3つのルールで説明できます。 セキュリティアップデートは出来る限り早期に適用 Djangoのメジャーアップデートには出来る限り追従
Python開発者が大好きな言葉があります。それは”全てはオブジェクトである”です。実際、私自身もPythonのクラスを教えているときに何度も口にしています。多くの人が何度も聞いた言葉かもしれないのですが、私が言う度に生徒は賛同の相槌をしてくれます。結局のところ、Javaにおいて全ては(対象がそうでない場合を除いて)オブジェクトであり、.NETにおいても全てはオブジェクトであると、よく言われています。 しかしPythonにおいて全てがオブジェクトであると言う時、(私の生徒は驚いていましたが)「 全て 」にはクラスも含まれているのです。これはとても筋が通っていて、オブジェクトシステム全体が理解しやすくなります。しかしそれでも、広い視野で物事を見ることは難しいのです。 今回のブログ記事では、Pythonのオブジェクト間のつながりをざっと見ていきたいと思います。そして”全てはオブジェクトである”
この記事はなんなの 「センター試験程度であれば、数式と文章を愚直にプログラムに落としこむことさえできれば、昨今のツールを用いて、何も閃かずとも機械的に問題を解くことが出来る」ということの主張 科学計算ライブラリ(特にSympy)の布教 将来、働き先がなくなったとき、「私、私こういうことができるんです!!」って言えばどこかが拾ってくれないかなあ、という夢 使用するもの Python (3系) Scipy.org に載っている科学計算ライブラリ全て(タグが足りない!!) 共に、2015年6月現時点での最新版を使用します(特に、Scipyは今年1月に実装された最新版の機能を使用するので注意してください)。 数々のライブラリを一つ一つインストールするのはすごく面倒です。面倒なので、有名どころを固めたパッケージのようなものが複数存在します。 個人的にはいつもAnacondaを使ってまとめてインストー
Pythonの文字列置換は、置換の仕方やバージョンによって利用すべきモジュールが異なっており、少しわかりにくいので、Python 2.xでのstrとunicode、3.xでのstrでの置換をまとめます。 文字列による単純な置換 (str.replace) str (2.x) / unicode / str (3.x)のどれでもほぼ同じです。 src = 'I like orange.' dst = src.replace('orange', 'apple') # 'I like apple.' str.replaceの第3引数で置換を行う最大回数を指定できます。 str.replace (2.x) str.replace (3.x) 正規表現による置換 (re.sub) str (2.x) / unicode / str (3.x)のどれでもほぼ同じです。 import re src =
医療系の仕事をしています。生命の尊さ、美しさがどのようなメカニズムで生じるのかに興味があります。科学の方法論を用いて、このような問いに応えたい、私はこう思って医学生物学の基礎研究のトレーニングを受けてきました。生命を科学的手法を用いて理解を試みる上で、genomeを始めとした種々の大量データの処理が必要不可欠であることを痛感しました。また、生命科学が物理学、数学、統計学、有機化学などの種々の学問と深い関わりを持つことを実感しました。そのため、このブログは広範囲の学問領域に関しての記事を載せています。日々の学習内容を文書に書き残し、それを読み返すことによって、体系化された知識を身に付けることを目標としています。どうぞよろしくお願いします。 ハマった点は二つ。 1 ソースにGPIO.setmode(GPIO.BOARD)を入れないとエラーがでる。ちなみにユーザーガイドには入っていない(不思議)
Timsort is a hybrid, stable sorting algorithm, derived from merge sort and insertion sort, designed to perform well on many kinds of real-world data. It was implemented by Tim Peters in 2002 for use in the Python programming language. The algorithm finds subsequences of the data that are already ordered (runs) and uses them to sort the remainder more efficiently. This is done by merging runs until
Raspberry Piで、PythonをGPIOを使用して、LEDを点滅させます。 LEDをチカチカさせるため、通称「Lチカ」と呼ばれる制御の「Hallo World」です。 GPIOとブレッドボードを接続するコネクタを使用します。 使用するもの RaspberryPiで電子回路を制御する場合、GPIOとブレッドボードを接続するケーブルを使用した方がなにかと便利です。 たくさんのGPIOを使用する場合は、ケーブルとコネクタが一緒になったものが便利です。 GPIOをすべて取り出す必要我ない場合は、メス-オスのブレッドボード用のケーブルが便利です。 Amazonでも安いものが簡単に手に入るので、少し多めに購入しておくことをオススメします。 GPIOとコネクタを接続する Raspberry PiのGPIOとLEDを接続します。 ここでは、GPIOとブレッドボードを、メス-オスのブレッドボード用
# sample.py import falcon class QuoteResource: def on_get(self, req, resp): """Handle GET requests.""" quote = { 'author': 'Grace Hopper', 'quote': ( "I've always been more interested in " "the future than in the past." ), } resp.media = quote app = falcon.App() app.add_route('/quote', QuoteResource()) $ pip install falcon gunicorn $ gunicorn sample:app Fast Falcon is a blazing fast, minimalist Py
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く