You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
はじめに pythonからMySQLを叩く際,何を使っていますか?SQLAlchemy,Django,peeweeあたりを使っている方が多いのではないでしょうか.私は色々使ってみて結局SQLAlchemyに落ち着いていますが,何千万,何億オーダのデータになると処理が遅く非常にやっかいです. なので今回は(大きなデータにsql使うなとか高速処理にpython使うなという話は一旦置いておいて),SQLAlchemyを使ったデータ処理をいかに高速にするか,何項目かに分けて備忘録を残しておきます. SQLAlchemyを~と書いてありますが,SQLAlchemyを使ってDBにデータをINSERT,SELECTする際のpython高速化TIPSごった煮です.本当は記事を分けたほうが良いのですが,自分で見返す際にまとまっているほうが嬉しいのでこうしました. なお,今回使用するコードは全てgithubに
※2017/5/9 リンク切れを修正 ビール🍻とハンバーガー🍔をたしなみながらブログ書いてました.*1 野球,楽しんでいますかー!? アスレチックスが「定位置」に下がる中,日ハムが調子戻してきてようやっと野球を見る気になった私ですこんばんは.*2 今年度初の野球ネタです. PyCon mini Kumamoto 2017のエントリーで紹介させてもらった野球ネタの応用として, 2017年プロ野球,全球団の得点源と足を引っ張ってる選手を可視化 できる何かを作ったので,私の考察とともにお見せしたいと思います. 贔屓チームが強い(弱い)のはなぜ!? 野球統計学なにそれ美味しいの? Pythonでデータをいじりたいのだが! を直感的に知りたい方はぜひ最後までお付き合いくださいませ. なお,指標値は私(shinyorke)独自算出のモノであり,他のコピーではないです&他のシンクタンクやMediaで
tutorial How to Create Django Signals Jul 28, 2016 7 minutes read comments views The Django Signals is a strategy to allow decoupled applications to get notified when certain events occur. Let’s say you want to invalidate a cached page everytime a given model instance is updated, but there are several places in your code base that this model can be updated. You can do that using signals, hooking s
SQLAlchemy は Python でよく使われている O/R マッパーの一つ。 今回は、そんな SQLAlchemy が生成する SQL 文を確認するためのパッケージを作ってみたよ、という話。 具体的には、以下の sqlalchemy-profile というパッケージを作ってみた。 このエントリでは、なんでこんなものを作ったのかみたいな話をしてみる。 github.com 使った環境は次の通り。 ただし sqlalchemy-profile 自体はプラットフォームに依存せず Python 2.7, 3.3 ~ 3.6 に対応している。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.12.4 BuildVersion: 16E195 $ python --version Python 3.6.1 O/R マッパーについて O/R
バックナンバー: 3月号 2月号 1月号 NEWS (changelog) の作り方 Mercurial時代からNEWSファイル (changelog) の扱いは面倒だったのですが、Githubに移行したことでよりコンフリクトが起こりやすくなり面倒さに拍車がかかりました。 また、コンフリクトせずに間違った状態でマージされるというかなり致命的な事故も起こってしまっています。 (ワークフローが cherry-pick になったためにマージ時に履歴が考慮されなくなったのか、それともMercurialよりもGitの方がマージがバカなのか、詳細は把握してません。) それで、1つの大きなNEWSファイルにエントリを追記していく代わりに、1つのエントリだけを含む小さいファイルを追加していき、ツールでそれらのファイルからNEWSファイルを生成する仕組みへの移行が急務となり、ツールの選定のためにコンペが行わ
2017年4月4日、Django 1.11 LTSがリリースされました! 今回のバージョンはLTS(Long Term Support=長期サポート)なので、非LTSバージョンよりサポート期間が長めになっています。サポート期間についての詳細は以下URL「Supported Versions」を確認してください。 https://www.djangoproject.com/download/ それでは、release notesに載っている主な変更点について解説します。 Python2サポートは1.11で最後 1.11はPython2をサポートする最後のバージョンです。次の2.0からはPython3のみサポートになります。 1.11のサポート期限は2020年4月までなので、それまでにはPython3への移行を終える必要があります。1 Deprecating warningsがデフォルトで無効
今回はソケットプログラミングについて。 ソケットというのは Unix 系のシステムでネットワークを扱うとしたら、ほぼ必ずといっていいほど使われているもの。 ホスト間の通信やホスト内での IPC など、ネットワークを抽象化したインターフェースになっている。 そんな幅広く使われているソケットだけど、取り扱うときには色々なアーキテクチャパターンが考えられる。 また、比較的低レイヤーな部分なので、効率的に扱うためにはシステムコールなどの、割りと OS レベルに近い知識も必要になってくる。 ここらへんの話は、体系的に語られているドキュメントが少ないし、あっても鈍器のような本だったりする。 そこで、今回はそれらについてざっくりと見ていくことにした。 尚、今回はプログラミング言語として Python を使うけど、何もこれは特定の言語に限った話ではない。 どんな言語を使うにしても、あるいは表面上は抽象化さ
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
circuits is a Lightweight Event driven and Asynchronous Application Framework for the Python Programming Language with a strong Component Architecture. circuits also includes a lightweight, high performance and scalable HTTP/WSGI compliant web server as well as various I/O and Networking components. Features* event driven concurrency support component architecture asynchronous I/O components no re
バックナンバー: 2月号 1月号 Python 3.6.1rc1 Python 3.6.1rc1 がリリースされました。大きな問題がなければ 3.6.1 は 3/20 にリリースされる予定です。 3.6.1 は Github に移行してから初めてのリリースになります。なにか問題がないか確認するために、いつものRC版以上にソース形式・バイナリ形式両方の配布物のテストが必要なので、可能な方は協力をお願いします。 Github 移行後日談 以降から1ヶ月が経ちました。開発者からのフィードバックはおおむね好評です。私は、気軽にプルリクエストをくれた人がCLAにサインしないまま放置して大量のマージできないプルリクエストが貯まることを懸念していたのですが、今までののところそれも大丈夫そうです。 一方で Misc/NEWS といういわゆる changelog にあたるファイルが頻繁にコンフリクトを起こし
Djangoでテストを実行するには、以下のコマンドを実行するだけです。 $ python manage.py test これでmanage.pyの下にあるtest*.pyのファイルに入っているTestCaseを継承したクラスがテストに追加され、実行されます。 $ python manage.py test Creating test database for alias 'default'... Creating test database for alias 'shard0'... Creating test database for alias 'shard1'... ...................................................................................... -----------------------
この記事には以下の追記がありますので、あわせてお読みください。 koty.hatenablog.com modelが大きくなってきたり、migration ファイルが増えると、unit testの最初に流れるmigrationのせいでテストの実行に時間がかかるようになる。そこで高速化を試みた。 作戦としては、 migrate済みのsqliteファイルを用意しておく テスト実行時にsqliteファイルをコピーする migrationをスキップしつつ、コピーしたファイルに対しテストを実行する ということを考えた。 migrationのスキップ方法はここに書いてある通り。 simpleisbetterthancomplex.com というわけで、以下のような設定を追記するとうまくいく。これで実行時間が半分になった。*1 import shutil # あらかじめmigrate済みの空のファイルd
Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object. Python Fire is a simple way to create a CLI in Python. [1] Python Fire is a helpful tool for developing and debugging Python code. [2] Python Fire helps with exploring existing code or turning other people's code into a CLI. [3] Python Fire makes transitioning between Bash and Py
Python3.6.0 が2016年12月23日にリリースされ、新たにアップデートされた項目がいくつかあります。 What’s New In Python 3.6 やはりPythonを使ってプログラミングをする人にとっては、新たに追加された文法機能などが特に気になるのではないでしょうか? そこで今回は3.6.0で追加された文法機能である、 PEP 498: 書式化済み文字列リテラル PEP 515: 数値リテラル内のアンダースコア PEP 526: 変数アノテーションのシンタックス PEP 525: 非同期ジェネレータ PEP 530: 非同期内包表記 について紹介します。 書式化済み文字列リテラル(f-strings) Pythonには、文字列(string)クラスにformat()メソッドが用意されており、str.format()を用いて変数置換や値のフォーマットを行うことができます。
About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ PCアップグレード米国の大学進学無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice ActingMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチェ on ハイポハイポハイポのシューリンガン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く