Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives
BigQueryをpythonで使う。 BigQueryはGoogleの提供しているとても早いデータ分析環境だ。なんでもデータを何千台のマシンに分散して処理しているそうで、まさにGoogleにしかできそうもない。 縁がありBigQueryを評価する機会に恵まれた。触ってみたら結構早かった。pythonから触ってみる方法を試したので共有したい。 事前準備 BigQuery単体で使えるようにしておく。 Billingを設定しないと使えないかもしれない。 BigQueryAPIのアクセスは有効にしておく。 2015-09-14 修正 下の方法を取らずとも、 というライブラリが出ているようです。 参考の為下の記述を残します。 環境整備 ubuntu13.10で試した。 pythonで使うには以下のようなライブラリを入れる。pipは事前に入れておくこと。 sudo pip install --upg
Peter Norvig / 青木靖 訳 先週、2人の友人(ディーンとビル)がそれぞれ別個にGoogleが極めて早く正確にスペル修正できるのには驚くばかりだと私に言った。たとえば speling のような語でGoogleを検索すると、0.1秒くらいで答えが返ってきて、もしかして: spelling じゃないかと言ってくる(YahooやMicrosoftのものにも同様の機能がある)。ディーンとビルが高い実績を持ったエンジニアであり数学者であることを思えば、スペル修正のような統計的言語処理についてもっと知っていて良さそうなものなのにと私は驚いた。しかし彼らは知らなかった。よく考えてみれば、 別に彼らが知っているべき理由はないのだった。 間違っていたのは彼らの知識ではなく、私の仮定の方だ。 このことについてちゃんとした説明を書いておけば、彼らばかりでなく多くの人に有益かもしれない。Googleの
Python 2 / 3 両対応のライブラリをメンテナンスしている人にとって、 Python 3 の メリットは享受できずメンテナンスコストだけが上がるつらい状況がずっと続いています。 しかし、「Python 3 への移行が大変」というのは、Python 2 を捨てるのが大変、 Python 2/3 両対応の ライブラリをメンテナンスするのが面倒という意味です。 アプリケーションであれば、 Python 2 対応のプロジェクトを Python 3 に対応させると同時に Python 2 への対応を切れるのでずっと楽ですし、さらに新規プロジェクトを Python 3 で始めるのは もっと楽です。 特に Web 系では、 (Google App Engine などの例外はあるものの)自分で Python のバージョンを 選べることが多いし、主要なライブラリも Python 3 対応ができている
Pythonが嫌いになったの? Pythonについて嫌気が差したとか、Pythonが嫌いになったわけではありません。これからも一番好きな言語は恐らくPythonですし、実際のところ、機会があればPythonは書こうと思います。ですので、決して言語としてPythonが嫌いになったわけではありません。 そもそも、職業プログラマとして、ちゃんとしたオブジェクト志向を教えてくれたのはPythonでした。Pythonは、その言語仕様からして、出来るだけ簡潔かつ、綺麗に書けるし、Pythonについて深く知れば、プログラミングとはどういうことなのかについて、詳しく知れるほどの、わかりやすい言語であることは事実ですし、初心者向け言語として、Pythonは強く押したいという気持ちは今も変わりませんし、ずっとPythonならびにそのコミュニティに関して感謝の気持ちはずっと忘れないでしょう。 また、近年ではPy
PytestはPythonのテストランナーです。今まではnoseを使っていましたが、pytestの方がエラー箇所のレポートがいい感じだったので乗り換えました。 あと@pytest.mark.parametrizeが便利そうだったので。 pytestについては以下のブログなどで。 参考 pythonのテストにpytestを使ってみた - I Will Survive Python - pytestを実戦投入してみた - Qiita データ駆動テストを nose と pytest でやってみた - forest book VimでPytestを使う設定 というわけで、Vimでテストを書いてvim-quickrunで走らせられるように以下の設定を行いました。 let g:quickrun_config['python.pytest'] = { \'command': 'py.test', \'c
ISUCON の季節ですね。 ISUCON では慣習的に各言語で代表的なマイクロフレームワークが使われるのですが、 Python では今のところ Flask がずっと使われています。 Flask は確かに、簡単なサンプルアプリを書くときの見た目はマイクロフレームワークになっています。 しかし、構造的には沢山のフック、シグナルがあったりしていて、重量級の設計になっています。 Flask 本体と Werkzeug を合わせると数万行のサイズです。単なる Hello World アプリでも、数十の関数呼び出しが裏で動いています。 Bottle も、 Flask と同じくマルチスレッド対応で、スレッドローカルを使ったコンテキストスタックがある、拡張機能もあるフレームワークですが、構造は Flask よりも大分質素です。 ソースコードも1ファイル3000行代で、その分フレームワークのオーバーヘッドも
Python - ソケットとネットワーキング: 127.0.0.1という場所はない(同時接続, クライアントごとにプロセスをforkする(os module, fork method))
Note This chapter is written using Python 2.6 syntax; it will be converted to Python 3 at a later date. Objects are created by other objects: special objects called “classes” that we can set up to spit out objects that are configured to our liking. Classes are just objects, and they can be modified the same way: >>> class Foo: pass ... >>> Foo.field = 42 >>> x = Foo() >>> x.field 42 >>> Foo.field2
概要¶ ディスクリプタを定義し、プロトコルを要約し、ディスクリプタがどのように呼び出されるか示します。カスタムのディスクリプタや、関数、プロパティ、静的メソッド、クラスメソッドを含む、いくつかの組み込み Python ディスクリプタを考察します。等価な pure Python 版やサンプルアプリケーションを与えることにより、それぞれがどのように働くかを示します。 ディスクリプタについて学ぶことにより、新しいツールセットが使えるようになるだけでなく、 Python の仕組みや、洗練された設計のアプリケーションについてのより深い理解が得られます。 定義と導入¶ 一般に、ディスクリプタは “束縛動作 (binding behavior)” をもつオブジェクト属性で、その属性アクセスが、ディスクリプタプロトコルのメソッドによってオーバーライドされたものです。このメソッドは、 __get__(),
はじめに この記事は、 2014年9月12-14日に開催された PyCon JP 2014 で発表した内容をまとめたものです。 ディスクリプタとは ディスクリプタとは、以下のようなメソッドを定義したオブジェクトのことです。 class Descriptor(object): def __get__(self, obj, type=None): pass def __set__(self, obj, value): pass def __delete__(self, obj): pass Python では、特定の性質を持つオブジェクトが実装すべき一連のメソッドのことをプロトコルと呼びます (代表的なプロトコルとして イテレータプロトコル などがあります)。ディスクリプタはそのようなプロトコルの一種です。 プロパティや、メソッド(静的メソッド、クラスメソッド、インスタンスメソッド)、 sup
Python Advent Calendar 2013 の4日目です。 Python 3.4 で標準ライブラリに追加される asyncio を触ってみます。 なお、 Tulip とは asyncio のリファレンス実装のプロジェクト名です。 背景 Python はよく非同期 I/O プログラミングに使われます。 Twisted, Tornado, gevent, eventlet, pyuv などのフレームワークがあります。 これらのフレームワークの問題点として、ライブラリの再利用性の低さが挙げられます。 たとえば Twisted 用に書かれた XMPP ライブラリは、そのままでは Tornado で 利用することができません。 この問題の解決策として、良くイベントループの乗り入れが行われます。 GUIアプリケーションに組み込む場合などを考えて、多くのフレームワークが最初から イベントルー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く