最近UbuntuをクリーンインストールしたらIMのデフォルトがIBusになっていました。 IBusではIMのOn/Offを個別設定できないようなので「変換」キーと「無変換」キーでIMをON/OFFみたいなことができません。 とりあえずUbuntuにはデフォルトでPythonがインストールされているので、Pythonで制御してキーボードショートカットに割り付けることにしました。 PythonでIBusのIMトグル import ibus bus = ibus.Bus() ic = ibus.InputContext(bus, bus.current_input_contxt()) if ic.is_enabled(): ic.disable() else: ic.enable() このスクリプトを ibus-toggle.pyなど適当なファイルにして $ python ibus-toggle
ブロック図生成ツール blockdiag¶ blockdiag シリーズはシンプルなテキストからブロック図などの画像を生成する画像生成ツール群です。 blockdiag を用いると以下のような図が簡単に生成できます。 blockdiag の主な機能: 数種類の図に対応 ブロック図 (blockdiag コマンド) シーケンス図 (seqdiag コマンド) アクティビティ図 (actdiag コマンド) 論理ネットワーク図 (nwdiag コマンド) テキストベースの定義ファイルから画像ファイルを生成 (graphviz 風の文法を採用) 定義にあわせて図の配置を自動的に決定 (自動レイアウト) Sphinx, Trac, Redmine, 各種 Wiki エンジン等、多様なシステムへの画像埋め込みに対応 Enjoy documentation with blockdiag !
ブロック図生成ツール blockdiagは、プレインテキストからブロック図・シーケンス図・アクティビティ図を生成できる非常にすばらしいツールです。 しかし、ときおりやむおえない事情でExcel方眼紙を作らざるをえないときがあります。 そこで、Excel方眼紙を生成できるようにするプラグインを作りました。pypiに登録してあるのでeasy_installで簡単にインストールできます。 ※ COMを利用しているため、ExcelがインストールされたWindowsでしか使えません。 前提 Windows 8 Excel 2010/2013 blockdiag 1.2.1以降 http://sourceforge.net/projects/pywin32/ Python for Windows extensions インストール方法 easy_install blockdiag easy_insta
先日、 Google から Leak Finder というツールがリリースされました。主に Closure Library を対象として、メモリリークの検出を行うツールです。 Closure Library は比較的規模の大きいアプリケーションに使われることが多く、その分メモリリークの危険も高いので、こうしたツールはとてもありがたい。さっそく試してみました。 インストール Leak Finder は Python で構築されているので、 Python の処理系(バージョンが明記されていないのですが、たぶん 2.6 か 2.7?)が必要です。もっとも、 Closure Library で開発をしているならすでにインストール済みでしょうから、それを使ってください。 インストール先のディレクトリはどこでもいいのですが、私は ~/leak-finder ディレクトリを作成して、そこにすべてを入れる
言語女子会: undefとnullは両方必要?の続編です。 varは必要なの? とあるプログラミング言語が集う女子会にて: Python: JavaScriptちゃんってさ、なんでvarだらけなの? JavaScript: えっ、変? Python: varなんかいらなくない?私ぜんぜん持ってないよ? JavaScript: えー、じゃあ変数をどうやって宣言するの? Python: 宣言っていうか…「x = 1」みたいな代入文があれば変数xが必要なのって自明じゃない?宣言とか必要? Ruby: 必要ないよね。っていうか変数宣言とか古臭くない? JavaScript: そうかなー。 Python: 少しダサイかも。ほら断舎離ブームだし要らないものは捨てなきゃ! JavaScript: 要らないかなぁ、変数宣言。Pythonちゃんは関数がネストしているときに外側のスコープの変数に代入するのって
Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初
フラフラとDjangoのチケットみてると #16827 (validate CSRF token (Check length)) – Django こんなものがあった。 すごく長いCSRF tokenもったリクエスト送りまくるDOS攻撃があるらしいんですが、Djangoはどんなに長いCSRF tokenでも受け付けてしまうらしい。 そう言われるとやらざるを得ない Too log CSRF token: Django · GitHub こんなものを作ったので、1.3.1を相手にDjangoのmanage.py shellから >>> import long_csrf >>> long_csrf.kill() とやればいい。 2回ぐらい kill を呼び出すとPythonのプロセスごと殺されてしまう。ただ、何回かやってみるとたまにサーバごと落ちる。 まーこれは内部からしか実行できやんのでDOS
サーバーのリソースを見るにはグラフ化は重要ですが、推移ではなくリアルタイムな状況、例えば秒単位のスパイキーな負荷を見るには、サーバー上でvmstatやiostatなどの*statファミリーを叩く必要があります。 さて、vmstatはメモリの状況やブロック数単位のI/O状況は見られますが、バイト単位のI/O状況やネットワークの送信、受信バイト数を見ることはできません。 # vmstat 1 procs -----------memory---------- ---swap--- -----io----- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 3 1 0 4724956 355452 726532 0 0 54 484 3 3 1 0 99 0 0 2 0 0 47
今日質問されて、以前Twitterで書いたのを思い出して、そして検索性が悪くて見つけ出すのに苦労した。こちらに転載しておく。詳細は気が向いたときに埋める。 オプション引数の評価タイミング Rubyではオプション引数は関数が呼ばれるたびに評価される。 def foo() print "foo!" end def bar(x=foo()) end bar #=> foo! と出力される bar #=> foo! bar #=> foo! Pythonでは関数の定義時に1回だけ評価される。 def foo(): print "foo!" def bar(x=foo()): pass #=> foo!と出力される bar() #=> 何も出力されない bar() 「引数が省略されたら今の日時」みたいな毎回評価したい場合はデフォルト値をNoneにしておいて「Noneだったら=省略されていたら」のif
Pythonは標準モジュールを-mに指定して実行するといろいろな機能を提供してくれるのが便利です。 現在のディレクトリをHTTPで公開する: $ python -m SimpleHTTPServer Serving HTTP on 0.0.0.0 port 8000 ... 対象スクリプトをステップ実行する: $ python -m pdb foo.py > d:\foo.py(1)<module>() (Pdb) メールサーバーを立てる: $ python -m smtpd -d -n localhost:25 PureProxy started at Tue Nov 15 12:45:38 2011 Local addr: ('localhost', 25) Remote addr:('localhost', 25) メールを送る: $ python -m smtplib From:
プログラムのロジックを考え、実装を行う上で、変数の名前空間やスコープはとても重要です。 これらはロジックを組み立てる上での複雑さに直結し、ソースコードの読みやすさにダイレクトに関係してくるためです。 この記事では、私が Python で開発をする上で気をつけるようにしている名前空間やスコープに関するお話をします。 コーディングスタイルについて 名前空間やスコープの前に、まずは基本的なコーディングスタイルについて軽くお話しします。 Python のコーディングスタイルというと、 PEP 8 – Style Guide for Python Code (日本語訳は こちら )が有名です。 これは、 Python でプログラムを書く上で守っておくとよいお作法について書かれており、 Python のコーディングスタイルとしてはデファクトスタンダードといえるでしょう。 この PEP8、例えば以下のよ
About web.py web.py is a web framework for Python that is as simple as it is powerful. web.py is in the public domain, you can use it for whatever purpose with absolutely no restrictions. Install web.py To install the latest web.py for Python 3, please run: The latest 0.62 release supports Python >= 3.5. Version 0.51 is the last release with Python 2.7 support. A minimal web.py application Save co
最近、Sinatraの軽快さが好きになっている。大型なWebアプリケーションには向かないかもしれないが、小さなWebアプリケーションをさくっと作るのには最適だ。そしてPythonでもWebアプリケーションを作る際にもっと手軽に作れると良いと思っていた。 モデルも予め用意されている PythonのWebアプリケーションフレームワークと言えば、Djangoが有名だ。だが少し書き方が面倒な気がしないでもない。もっとシンプルに作れるフレームワークとしてJunoを紹介しよう。 今回紹介するオープンソース・ソフトウェアはJuno、Python製の軽量Webフレームワークだ。 Junoは一つのファイル上で@routeとしてルーティング設定を書き、その下にメソッドを書くとURLに対応したルーティングができるようになる。JunoだけでWebサーバを立てて起動できるほか、FastCGIやSCGIを使って起動す
少し遡ること9月26日、アプリケーション開発者向けのサイト"Ubuntu App Developerサイト"が正式公開されました。これはUbuntuでアプリケーションやゲームを開発し、さらにはSoftware Centerでそれを公開したいと考えるユーザー向けに、ツールキットやUbuntu特有のプロセスに関する情報を提供するサイトです[1]。 今回はUbuntu App Develperサイトでアプリケーション開発ツールの一つとして紹介されている「Quickly」を使って、簡単なGUIアプリケーションを作ってみます。 Quicklyの使い方 Quicklyとは Quicklyとは、Pythonベースのアプリケーションテンプレートと、そのテンプレートを元に効率的に開発するためのツールです。コマンドをいくつか入力するだけで、簡単にGUIアプリケーションのひな形の作成からLaunchpadでの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く