タグ

pythonに関するudzuraのブックマーク (86)

  • GitHub - pygments/pygments.rb: 💎 Ruby wrapper for Pygments syntax highlighter

    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

    GitHub - pygments/pygments.rb: 💎 Ruby wrapper for Pygments syntax highlighter
    udzura
    udzura 2012/08/09
    フィッフィの事例 / "it embeds the python interpreter inside ruby via FFI"
  • サーバを作りながら学ぶWebSocketプロトコル - みずぴー日記

    WebSocketって何? WebSocketは、Javascriptでサーバとリアルタイム双方向通信をする仕組みです。概要は第1回 WebSocket登場までの歴史:Jettyで始めるWebSocket超入門|gihyo.jp … 技術評論社によくまとまっています。 この記事ではWebSocketサーバを実装しながら、どういうプロトコルかを解説します。サンプルコードはWebSocket Draft 76でechoサーバーを作ってみた - いろいろな何かのものを参考にさせていただいています。ありがとうございます。 ※WebSocketプロトコルは現在ドラフトの段階なので、そのうち仕様が変わる可能性があります。この記事は20111/23時点の情報です。 プロトコル概要 WebSocketで通信を行なうおおまかな流れは次のようになります。 クライアントとサーバの間でハンドシェイクを行ない、接続

    サーバを作りながら学ぶWebSocketプロトコル - みずぴー日記
    udzura
    udzura 2012/07/25
    こちらのサンプルはPythonか…
  • pyVows « Asynchronous BDD for Python

    Asynchronous behaviour driven development for Python. The main reason for asynchronous testing is to make tests which target I/O run much faster, by running them concurrently. By having a faster suite, it gets run that more often, thus improving the feedback cycle. Write some vows, execute them: $ pyvows test/ Get the report, make sure you kept your word. A non-promise return value ✓ should be co

    udzura
    udzura 2012/07/15
    これもexpect(~) だし、PyspecだってAbout(~) って使うし、やっぱトップレベルに謎拡張が入るのは時代()に合わないってことなんだろうな
  • ./configure地獄に陥っている君へ - kuenishi's blog

    C++やCでプログラムを開発しているときに、依存ライブラリやら何やらの環境を沢山用意したくなりますよね?富豪ならここでVMware ESXiやKVMを使うところでしょうか。LLerなら、たとえばRubyPythonにはrbenvやvirtualenvがあります。FreeBSDを使っている人ならjailを使う場面ですね。ちょっと器用な人ならchroot(8)を使いこなしているかもしれません。しかしjailは私には窮屈だし、情弱な私はまさに今pficommonやらで困っていました。つまり、 ユーザ空間で 大して苦労もせずに いろんなUnix系OSで どんなものが入っていてもとりあえず 環境をコロコロ切り替えたいのです。これを手作業でやろうとすると沢山の環境変数をシェル毎に毎回exportする羽目になります。ld_configとか( ゚Д゚)ハァ?という感じですよね。rvmなんかよくできている

    ./configure地獄に陥っている君へ - kuenishi's blog
  • グローバルインタプリタロック - Wikipedia

    グローバルインタプリタロック(英: Global Interpreter Lock, GIL)とは、プログラミング言語のインタプリタのスレッドによって保持されるスレッドセーフでないコードを、他のスレッドと共有してしまうことを防ぐための排他 ロックである。インタプリタのひとつのプロセスごとに必ずひとつの GIL が存在する。 プログラミング言語においてグローバルインタプリタロックを採用した場合、複数のスレッドを持つインタプリタプロセスの並行性を制限してしまう。プロセスをマルチプロセッサのマシンで実行させた場合、ほとんどあるいはまったく速度の向上が見られない。 こうしたロックを採用する理由として、下記のものがある。 シングルスレッドのプログラムの速度向上(すべてのデータ構造に対して別々にロックを獲得・解放する必要がなくなる) 通例スレッドセーフではないC言語のライブラリとの結合が容易である。

  • 何段にも深くなるループを絶対に一段で書く方法 - 今川館

    ループの中でループを回す処理は読みにくい 例えば友達が5人いて、サンドイッチが3種類あって、2種類の飲み物を配る処理を作るとします。 こういう場合、for文を何段にもネストするプログラムを書かざるを得ないときがありますよね。 for friend in friends: for sandwich in sandwiches: for drink in drinks: do_something(friend, sandwich, drink) そもそも、こういうプログラムを書く前は、当にそういう処理で正しいのか考えた方がいいですが、とにかくこんなコードは読みにくいです。 ループの中でループを回すプログラムを字下げして書くことが読みにくさに寄与していると思うのですが、pythonだと字下げは必須なので悩ましいものです。 itertools.productを使えば絶対に1段で書ける しかし、こ

    何段にも深くなるループを絶対に一段で書く方法 - 今川館
    udzura
    udzura 2012/04/16
    Ruby だと friends.product(sandwiches, drinks).each なんだけど、 Array#product のことを誰も知らないまま今に至る
  • おっさんにも解るPython

    おっさんにも、このブログを読めば、GTKによるLinux上でのGUIプログラミングを可能にすることを目的に書かれています。 別にPythonエキスパートを養成するものではありません。(笑) おっさんなので、適当にそれらしくでっち上げられれば、それでいい、というポリシーでゆるく書かれています。 生暖かい目で見守ってください。 今回は、前回Gladeで作成したTreeViewを使ったリスト表示の画面に、プログラムからアイテムを追加する、というネタをやります。 っても、ネタってほどのモノじゃないんですが、実はこれが。(笑) 激、シンプル。 追加したコードは以下の内容になりますかね。 def on_btAdd_clicked(self,widget): tbEdit = self.wTree.get_object("tbEdit") self.listStore.append([len(self.

    udzura
    udzura 2012/04/05
    このブログの内容を写経するかな〜(op-py....)
  • Werkzeug の発音: Werkzeug の ドイツ語 の発音

    Deutsch English Español Français Italiano Nederlands Polski Português Русский Türkçe 汉语 العربية Български Bosanski Català Čeština Dansk Ελληνικά Euskara پارسی Suomi 客家语 עברית हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia 한국어 Kurdî / كوردی Latviešu Norsk ਪੰਜਾਬੀ Română Slovenčina Српски / Srpski Svenska ไทย Татар теле Українська Tiếng Việt 粵文

    Werkzeug の発音: Werkzeug の ドイツ語 の発音
    udzura
    udzura 2012/03/16
    最新 Python 便利情報です
  • zmqで PUB/SUB してみる - Twisted Mind

    PUSH/PULL はあまり面白く無さそうなので、PUB/SUB を試してみました。 PUB PUB 側が bind します。 SUB は定期的に PUB に接続を見に行くので、少し寝てあげる必要があったりします。 import time import zmq ctx = zmq.Context() sock = ctx.socket(zmq.PUB) sock.bind('tcp://127.0.0.1:5555') time.sleep(1.0) sock.send('hello') SUB SUB が PUB に繋ぎに行きます。今回はルートは空なので FANOUT で、全員に配ります。 普通の MQ でもこれは出来ますね。 import zmq from zmq.eventloop import ioloop loop = ioloop.IOLoop.instance() ctx =

    zmqで PUB/SUB してみる - Twisted Mind
  • ZMQ で PUSH/PULL を使ってロードバランシングしてみる - Twisted Mind

  • dstatの万能感がハンパない - (ひ)メモ

    サーバーのリソースを見るにはグラフ化は重要ですが、推移ではなくリアルタイムな状況、例えば秒単位のスパイキーな負荷を見るには、サーバー上で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

    dstatの万能感がハンパない - (ひ)メモ
    udzura
    udzura 2012/02/29
    seems benri
  • Ruby、Pythonで動的ディスパッチ/動的メソッド定義 - メモ置き場

    動的ディスパッチ 動的ディスパッチは、「実行時に呼び出すメソッドを決める」ことを指します。 rubyではsendによって動的ディスパッチができます method_to_call = :upcase obj = "abc" obj.send(method_to_call) # => "ABC" pythonではメソッドがオブジェクトなので、getattrを使って、メソッドオブジェクトを取得して、実行することができます method_to_call = 'upper' obj = "abc" getattr(obj, method_to_call)() # => "ABC" 動的メソッド定義 動的メソッド定義は「実行時にメソッドを定義する」ことを指します。 rubyではdefine_methodを使用して動的にメソッドを定義することができます 以下は英語wikipediarubyのページに

    Ruby、Pythonで動的ディスパッチ/動的メソッド定義 - メモ置き場
    udzura
    udzura 2012/02/29
    Python 結構柔軟なんだなあ〜。。
  • byobu-configのためにSnackを入れる - 棚からパルチャギ

    MacBookAirにbyobu入れてみたけど、byobu-config起動しようとするとPythonのsnackモジュールがないと怒られるのでインストールしたメモ。 libnewtに含まれているみたい。Python全然わからない。 そのままFormula書くとPython複数バージョン検出するとこけたので、散々悩んだ結果、野良Formulaに頼って自分の環境用に書きなおした(gist)。 $ cd /usr/local/Library/Formula/ $ wget https://raw.github.com/gist/1272305/ba26d8a5bf9d7fa2e2979d11bfba2c43717e0402/newt.rb $ export PYTHONPATH=/usr/local/lib/python2.7/site-packages/ $ byobu-config

    udzura
    udzura 2012/02/07
    有益情報だ〜
  • Welcome | Werkzeug (The Python WSGI Utility Library)

    Werkzeug¶ werkzeug German noun: “tool”. Etymology: werk (“work”), zeug (“stuff”) Werkzeug is a comprehensive WSGI web application library. It began as a simple collection of various utilities for WSGI applications and has become one of the most advanced WSGI utility libraries. Werkzeug doesn’t enforce any dependencies. It is up to the developer to choose a template engine, database adapter, and ev

    udzura
    udzura 2012/02/01
    Pythonの軽量ウェッブ開発ユーティリティ?ですか?(なんて読むんだろう)
  • 次世代言語 Python による PyPy を使った次世代の処理系開発

    1. 次世代言語 Python による PyPy を使った 次世代の処理系開発 第八回ありえるえりあ勉強会 2012/01/20 しょーま @shomah4a 2. お前、誰よ ● しょーま or しょうま ● twitter: @shomah4a ● id:shomah4a ● pypy-ja とか PyCon JP とかやってるみたい ● PyPy を使ってみた切っ掛けは俺言語が作りたかっ たから ● 仕事? こまけぇこたぁいいんだよ

    次世代言語 Python による PyPy を使った次世代の処理系開発
    udzura
    udzura 2012/01/21
    おお、、、、 PyPy で Ruby を実装したらうまくやればもっと早くなるのだろうか
  • Flask の使いどころ - Twisted Mind

    Web アプリを仕事ではほとんど書いたことが無かったのですが、Flask を仕事で使う事にしたので、書いてて感じた Flask の使いどころを。 追記 コメントに色々な意見を頂いておりますので、是非そちらも。 がっつり使われた方の感想 Flaskを1年仕事で使った感想 - kawaken’s blog http://d.hatena.ne.jp/kentaro_kawano/20120115/1326612808 結論 とりあえず箇条書きで ... データベースサーバとの接続が前提なら、 Flask を使うのはやめる Flask-* という Flask の拡張を使う時点で、Flask を使うのはやめる 大規模で Blueprints を使う前提なら、Flask を使うのはやめる 小さなアプリでプラガブルな仕組みを自分で作るには良い パーミッションは Flask-Principal が良さそ

    Flask の使いどころ - Twisted Mind
    udzura
    udzura 2012/01/16
    ふむん
  • Ruby programmerがApp Engineを使ったら

    ここ最近App Engineを使って今の企画のバックエンドを担当していました。Ruby programmer として感じたことをまとめてみます。 どういう企画? 地図とメールを使ったインタラクティブアドのアプリです。詳しくは今のところ内緒になっています。 Python Python初めて書きました。今までPython=indentしてるからきっとだれにでも読みやすくなってる くらいの安易な認識しかなかった私。Rubyと一番違うと思ったのは必ず誰しもに必要とされるまで余分な実装しないというPythonの考え方。Rubyだと全てのクラスはObject型を継承してて、便利なirbでClass.public_methods.grep /name_of_method/ すればリファレンス見ることもなく大体使いたい関数が見つかる とか Enumerableのeachとかmap, reduce, inj

    Ruby programmerがApp Engineを使ったら
  • 遺伝子をモチーフにした言語「Genomy」を作りました - 西尾泰和のはてなダイアリー

    最近、3年くらい前に書いた「そろそろ例のプロジェクトについて言及するか」についてTwitterで言及があったので思い出しました。「条件を満たしたものをすべて呼び出す」という設計思想でプログラムが書けてしまうという点について意外とみんなピンと来ないみたいだからコンセプトプルーフを実装してみようと思っていたんでした。 という訳で作りました。https://github.com/nishio/genomy 解説 「遺伝子はタンパク質の設計図」というところまでは教科書などでもよく言及されます。でも、その設計図には「どういう状況になったら作るべきか」「どういう状況では作るべきではないか」という情報も書かれています。 この「作るべきではない」(発現の抑制)がどう実現されているか、ザックリ説明しましょう。体の中にあるタンパク質があると、これがある遺伝子の周辺にへばりつき、その遺伝子からタンパク質を作る過

    遺伝子をモチーフにした言語「Genomy」を作りました - 西尾泰和のはてなダイアリー
    udzura
    udzura 2011/12/27
    これクールっすね
  • 第3回 ベイジアンフィルタを実装してみよう | gihyo.jp

    さらに詳細な利用方法が知りたい方は、Yahoo!デベロッパーズネットワークのマニュアルを参照してください。 ベイジアンフィルタの実装 ここから格的にベイジアンフィルタの実装に入っていきます。 その前に、まずは先程のリスト1のコードを利用して入力された文章をわかち書きし、単語の集合を返す関数を作成しnaivebayes.pyとして保存しましょう。こちらも先程のmorphological.pyと同様にutf-8で保存してください。 リスト2 文章の分割をする関数(naivebayes.py) # -*- coding: utf-8 -*- import math import sys #yahoo!形態素解析 import morphological def getwords(doc): words = [s.lower() for s in morphological.split(doc)

    第3回 ベイジアンフィルタを実装してみよう | gihyo.jp
  • [Python] 文書の類似度判定プログラムを作ってみたの話 (前編)

    個人的に Python が熱いです。以前にも同じような事を言った気がしますが。多分デジャブです。 Python といえば、アリエルには言わずと知れた Python 界隈の大物が御座しますが。そんな大物の縄張りで、僕のようなチンピラがこれまた安っちい記事を書くのはかなり恐縮ですが。その辺りは気にせず、図太い精神で書いてこうと思います。 Python は、再帰の途中で内部状態を維持しつつ途中結果を返すジェネレータだったり、(mutable ながら)リストに対して map とか filter とか出来ちゃうところで Lisp を感じられる辺り、かなりオモロい言語です。 せっかくだし何か書きたいなという事で、ベクトル空間モデル [1] を使った類似文書検索プログラムを作ってみました。 出来たものだけ見せると、以下のように動作します。 入力文書は標準入力から受け取ってます。4 行目の「国会図書館は…

    udzura
    udzura 2011/09/08