最近Pythonのプロダクトを扱っていたりします。 GunicornはRuby on Railsでよく使われているUnicornの影響を受けたと思われるプロダクトで、Gunicornは"Green Unicorn"という意味らしいです。 Unicornではよく知られてる手法としてkillによる再起動を使ってほぼ無停止でデプロイ後に再起動をかける手段があります。 Gunicornでも FAQ - How do I reload my application in Gunicorn? にあるように、以下のようなコマンドで再起動ができるそうです。 kill -HUP masterpid しかしながら、デプロイ時にsymbolic linkを入れ替えるという手法を取った場合にうまく動きません。そもそも、これってソースコードの編集に対応してないんじゃないかなっていう感じです。(検証しているときに書き
はてなブログに移行して最初の記事はやはりPythonネタにしました。 はてなブログいいですね。デザインの編集がやりやすくなったのと、Markdownで書けるのが素晴らしいです。 PyCon 2013の動画を見ていたら、素晴らしい"Transforming Code into Beautiful, Idiomatic Python"という発表を見つけたのでそのまとめです。 今どきのPythonコードのベターな書き方を紹介しています。 Transforming Code into Beautiful, Idiomatic Python ... スライドはこちらにありました 結構長くなってしまったので、知ってる項目は読み飛ばしてもらえばと思います。 ループの基本 整数のループ まずは基本のループ。 Cのfor int i=0; i<6; i++をPythonで単純に書くとこうなります。 for
使い方 インストール $ pip install plop プロファイルする。 $ python -m plop.collector autopep8.py autopep8.py $ ls /tmp/plop.out -rw-rw-r-- 1 hattori hattori 40397 5月 12 22:41 plop.out デフォルトだと /tmp/plop.out にプロファイルデータがダンプされる。 コールグラフ表示してみる。 $ python -m plop.viewer --port=8911 --datadir=/tmp ブラウザから /tmp/plop.out をクリックすると以下のようなコールグラフが表示されます。
[ パソコン ] Python逆引きリスト 標準のドキュメントではよく迷子になるので… 編集 履歴 添付 設定 新規ページ作成 メニュー リンク Wiki内検索 最近更新したページ 2011-01-28 スリープする 文字列フォーマット 2010-01-25 リスト 例外処理 2009-12-18 サニタイジング 2009-11-18 文字列の16進変換 2009-04-12 ソースの文字コード 2009-04-06 辞書 2009-04-04 MenuBar1 日付、時刻の操作 2009-04-03 データ型の判定 2008-10-31 ftp デバッガ 2008-10-24 正規表現 2008-09-17 ディレクトリ 文字列を分割してリストにする。(split) 2008-07-24 ソケット ファイルシステム 2008-07-23 ファイル ファイルのロック 最新コメント タグ 例
This is a tool used to enable tracing dynamically and provide a call graph in real-time for a python model. I created it because debugging was way too painful for me. Instructions are in the tools/tracer.py file. Example is in example.py (with instructions in the comment). The output of the tracer includes: functions called (relative path) calling function exceptions in red It does not include sys
1.1 What is Pymacs? Pymacs is a powerful tool which, once started from Emacs, allows two-way communication between Emacs Lisp and Python. Pymacs aims to employ Python as an extension language for Emacs rather than the other way around, and this asymmetry is reflected in some design choices. Within Emacs Lisp code, one may load and use Python modules. Python functions may themselves use Emacs ser
最後に、Ruby,Pythonのデバッガの実装について調べてみました。 Pythonには、pdb。 Rubyにはdebug.rbというデバッガが存在します。 これらは、各言語が提供するフック関数を利用して実装されています。フック関数を設定する関数(メソッド)は以下になります。 Python sys.settrace (Cレベルでは、ceval.cのPy_tracefunc関数*1 ) Ruby Kernel#set_trace_func (Cレベルでは、eval.cのset_trace_func関数) Pythonのsys.settraceの引数で渡した関数は、以下のタイミングで呼び出されます*2 call: なんらかの関数呼び出し時 line: Pythonインタプリタが新しい行を実行する時 return: 関数の呼び出しからreturnする寸前 exception: 例外が発生した時
Unverified details These details have not been verified by PyPI Meta License Expression: MIT SPDX License Expression Author: Andreas Kloeckner Requires: Python ~=3.8 Provides-Extra: completion Classifiers Development Status 4 - Beta Environment Console Console :: Curses Intended Audience Developers Natural Language English Operating System POSIX Unix Programming Language Python Python :: 3 Topic S
Pygame チュートリアル たすけて! 絵を動かすにはどうやるの? (Help! How Do I Move An Image?) by Pete Shinners pete@shinners.org Revision 1.2, August 20, 2002 プログラミングやグラフィックスに慣れていない多くの人々にとって、 絵 (image) を画面上で動かす方法を理解するのはえらく大変です。 ぜんぶの概念を学ぶまでは、これは非常にややこしく見えるでしょう。 でも、ここでつまづくのはあなただけではありません。 ここではそれをどうやって実現するかについて、なるべく順を追って説明していきます。 最終的には、自分のアニメーションをどうやって効率化するか、 というところにまでもっていきたいと思います。 この文書は、python のプログラミングを説明しているわけではありません。 ただ pyga
前回は、文字コード関連のエラーについての理解を深めましたが、 今回は、もう一歩踏み込んで、文字コードそのものを調査・加工する方法を見ていきましょう。 最近では、ネットワークを通じた別の環境(OS、プログラミング言語、プロトコル、、)との情報のI/Oをする機会も増え、マルチバイトに関する知識は益々重要になってきています。 URLエンコード、base64エンコーディング、数値文字参照、等、文字に関連した技術は広く、今後も増える一方だと思いますが、文字コードをしっかりと理解すると、これらについても理解を深める事ができます。 それでは、いきます。 # 値がunicode型かstr型かを調べる (主にデバッグ用) print type(val) # 値がunicode型かを調べる if isinstance(val,unicode): # 値がstr型かを調べる if isinstance(va
「その1」のまとめ ⇒Python で日本語を扱う基本をまとめてみるメモ(その1) - 猫(=・ω・=)顔 1.0β 1行めか2行めで # coding: 〜 を指定する。 '' は通常の文字列。保存した形式のままの「バイト列」。 u'' は Unicode 文字列。多バイト文字環境で1文字を1文字として扱うために必要。 通常の文字列から Unicode 文字列への変換は unicode() 関数を使う。 今日のお題 unicode() 関数をもうちょっと探る Unicode 文字列を作る別の方法 文字コードの変換方法 (1) Unicode 文字列から任意の encoding へ 文字コードの変換方法 (2) encoding-A から encoding-B へ unicode() 関数をもうちょっと探る 前回のおさらい。 以下、通常の文字列(バイト列)は、メンドクサイから全部 euc-
python2.xを使い始めて、必ずと言って良いほど遭遇するのが日本語(マルチバイト)関連の問題です。 ネットで同様のケースを調べて、あまり理解をせずに、対処療法的にその場の問題を回避している人も多いように思いますが、一度腰を据えて理解すれば、それほど難しくないですし、python以外の言語にも応用ができます。 マルチバイト問題については、概念だけではなく、実際に手を動かし、目で確かめる(文字コードそのものを見る)事が重要です。 今回は、python2.xで遭遇する文字コード関連のエラーを実際に発生させ、その理由を理解した上で対処を行ってみましょう。 文字コードの定義 ケース1 [ 再現 ] pythonスクリプトファイルのencodingをcp932にし、以下を記述します。 ustr = u'い' [ 現象 ] SyntaxError: Non-ASCII character '\x8
概要 With Python 3 being the future of Python while Python 2 is still in active use, it is good to have your project available for both major releases of Python. This guide is meant to help you figure out how best to support both Python 2 & 3 simultaneously. もしあなたが標準 Python ライブラリではなく拡張ライブラリでの移植手段を探しているならば Python 3 への拡張モジュール移植 を参照してください。 If you would like to read one core Python developer’s take on w
This article explains the new features in Python 2.7. The final release of 2.7 is currently scheduled for July 2010; the detailed schedule is described in PEP 373. Numeric handling has been improved in many ways, for both floating-point numbers and for the Decimal class. There are some useful additions to the standard library, such as a greatly enhanced unittest module, the argparse module for par
twitterで"なんでPythonにはswitchがないの?"とぼやいたところ、ハカーの皆さんがPythonでswitchの実装を教えてくれた。それが勉強になったので僭越ながらご紹介。 Ian Lewisさん、akisutesamaさんよりbreakし忘れてひどいバグを作る子がいるからif、elifで。これはごもっとも。っていうかこれしか知らないwww MiCHiLUさんよりdictを使う。{1:lambda x:x, 2:lambda x:x*x, 3:lambda x:x*x*x}.get(4, lambda x:'Infinity')(100)lambdaを使ってこんなことまでできるとは・・・。hirokinkoさんはjavaでHashMapを使って同じような実装をされているそうです。 id:moriyoshiさんよりswitchを作っていただきました。 def switch(na
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く