タグ

Pythonに関するakaneharaのブックマーク (31)

  • Haskellのエンジニアは二流なのか?(答えはノーである) | POSTD

    挑発的なタイトルによって誰かが気分を害してしまう前に、私はこの問いに対する答えも書いてしまうことにしました。答えは“ノー”です。しかしこのテーマには、なかなか興味深い議論があるのです。HaskellやErlangや、特にClojureなどのあら探しをするつもりはないのでしょうが、Piaw NaはQ&AサイトQuoraの あるアンサー で以下のようにコメントしています。 プログラミング言語を固定するのは二流のエンジニア/コンピュータサイエンティストである証です。 [中略] 私がErlangのサーバに携わるポジションの採用をした時も、Erlangのスペシャリストだと言うエンジニアより、優秀なオールラウンダーのエンジニアを雇ってErlang(これに限らず何でも)を学ばせてそのポジションを埋める方が断然いいと感じました。 Na氏の意見は1990年代に設立されたGoogleAmazonなどの技術

    Haskellのエンジニアは二流なのか?(答えはノーである) | POSTD
  • Python の メタプログラミング (__metaclass__, メタクラス) を理解する | yunabe.jp

    Pythonのメタプログラミング (__metaclass__) は組み込み関数 type の普段利用しない隠れた機能や、 普通は利用しない特殊メソッド __new__ などを理解する必要があり 理解するのが結構難しい。 あまり関連情報がまとまってるドキュメントがなくて理解するのに苦労したので情報をまとめておきました。 目次 事前知識 type とクラス定義のあまり知られていない関係 特殊メソッド __new__ __metaclass__ typeの継承 メタクラスの例 実装の解説 事前知識 Customizing class creation (日語:クラス生成をカスタマイズする) を読むと、型を取得するのに普通利用するbuiltin関数 type を継承していたり、 普通利用することのない __new__ が定義されていたりして、 type の隠された機能と __new__ につい

  • ソケットプログラミング HOWTO — Python 3.3.6 ドキュメント

    概要 ソケットはそこかしこで使われているが、最大級に誤解されている技術でもある。この文書はソケットの全体像を俯瞰しており、チュートリアルとしてはあまり役に立たない。実際に動くモノを完成させるには、他にもやらなければいけないことがあるからだ。この文書はソケットの微妙なところ (たくさんある) まではカバーしていないが、恥ずかしくない使い方ができるようになる程度の情報は得られるはずだ。 Sockets¶ INET (すなわち IPv4) ソケットのことしか語らないつもりだが、利用率でいうとソケットの 99% 以上はこれだ。さらに中でも STREAM (すなわち TCP) ソケットに話題を絞ろうと思う - 自分が何をしているのか分かっているのでない限り (分かってるならこの HOWTO なんて要らないだろ!)、 STREAM ソケットが一番分かりやすく、一番性能が出るのだ。そうやって謎に包まれた

  • Fabric デプロイツールのPythonicな書き方 - Ian Lewis

    Fabric は指定したコマンドを各ホストで実行する実行モデルです。この場合は特にホストの指定がなかったので、全部ローカルで、一回実行することになります。 これは結構つまんないので、当の例を見ましょう。これは最近、仕事で作ったコマンドです。 nginx サーバーでメンテ画面を出すようなコマンドです。 各ロードバランサーで実行します。 from fabric.api import run, cd, abort, require, sudo, env from fabric.decorators import runs_once, roles from fabric.contrib.console import confirm ... @roles('loadbalancers') def start_maintenance(): """ メンテナンス画面に切り替える """ _produc

  • Python 製の負荷試験ツール Locust を試してみた - co3k.org

    Web の負荷試験ツールとして代表的なのは Apache JMeter だと思いますが、 Apache JMeter 自体が結構重いのと、テストシナリオの保守が GUI ツールでは結構ツライ (シナリオファイルは XML ですが、とても人間が手を加えられるような代物じゃない) なあということで代替となるものを探していました。 で、心惹かれたのが以下のツールです。 Gatling Tsung Locust Gatling は非常によさそうなんですが、うーん要 JDK か……あとは複数台から負荷を掛けることができないというのもちょっとマイナスですね。まあどっちもどうにかしようと思えばどうにかなるポイントではあるんですけど。 Tsung は Erlang 製で、仕事で Erlang 使う可能性も出てくる気がするのでこれで慣れ親しんでおくのもいいかなーと思ってシナリオファイルを覗いてみたら ド直球

  • 【Python】2行でHTTPリクエストを並列処理できる便利ライブラリ『GRequests』 - あのねノート。

    2014-09-18 【Python】2行でHTTPリクエストを並列処理できる便利ライブラリ『GRequests』 やり方 GRequestsはHTTPリクエストを並列処理するライブラリです。 GRequestsGitHubでスターを759個付けられているのに、日語でGRequestsについて触れられた記事はひとつもみつかりませんでした(ほんとかな?) なので紹介します。 GRequestsのインストール pip install grequestsでいけます。GReqestsはrequestsとgeventを使っていますので、それらも一緒にインストールされます。帰ってくるオブジェクトもrequestsのそれなので完璧です。 コードは以下のようになります。 ※ もし404だったりした場合はNoneが格納されます。 サっとHTTPリクエストを非同期処理するときにpip install gr

    【Python】2行でHTTPリクエストを並列処理できる便利ライブラリ『GRequests』 - あのねノート。
  • Tiny Prolog in Python

    Python で作る Prolog 処理系 2006.6.6 - 2006.7.14 (鈴) 1. Prolog とは 2. クラス定義で構成する Prolog 構文 3. 環境とユニフィケーション 4. ゴールをめざして 4.1 カット実装の訂正 5. コールバックとトレース 次回: Ruby で作る Prolog 処理系 (補講) Ling, Suzu: 先輩,今日は一体... 先輩: この部屋の整理をしていたら, 地層の底から面白そうな言語を発掘したんだ。それで,ちょっとね。 L, S: ちょっと? (というか地層?) 先: Prolog って言うんだけど。 1. Prolog とは フランス語の programmation en logique (英語programming in logic) の略。 1972 年に Marseilles (マルセイユ) で作られたプログラミン

  • Twisted 入門 — Twisted Intro

    Twisted 入門¶ この文書は krondoblog >> Twisted Intro の日語訳です。 この一連のチュートリアルでは、非同期プログラミングとネットワーク用フレームワークの Twisted を紹介します。 目次:

  • 使い始めたばかりのSphinxでPDFを生成してみた | kanonjiのブログ

    MacにSphinxをインストールしたメモ | kanonjiのブログで使い始めたSphinxで、やってみたかったPDF生成を試して気がついた事をメモします。 プロジェクトを作る :: ドキュメンテーションツール スフィンクス Sphinx-users.jpからSphinxでPDFファイル作成 :: ドキュメンテーションツール スフィンクス Sphinx-users.jpを参考にしました。 index.rstはスペース3個 Contents: .. toctree:: :maxdepth: 2 expert_python art_of_community http://sphinx-users.jp/gettingstarted/make_project.html#id2 いきなりはまったのがインデントのサイズ。index.rstに目次というかTOCを書いて、そこに書いたファイルがビルド対

  • 内包表記について、すごい合同勉強会で話した | そんなこと覚えてない

    すごい合同勉強会2014 in 広島でセッションしたので内容を公開しておく。 今回は「私がモナドの内包表記という名前を知った時の感覚を伝えよう」というのが目的でした。 さりげなく「私がモナドに感じている効能を伝える」というのもしているのですが、そこは当にさりげなく。 内包表記。その意味を知らずに5年前ぐらいにpythonで利用していて、forやif文字通りにうけとっており、その動作を正しく理解できてないときがありました。 現在とその間にHaskellを学び、その5年前の自分に内包表記を伝えるにはという観点で話を進めました。 まず、リストの内包表記ですが、リストを生成を簡単にしてくれる機能です。 内包表記は、どうやら数学の集合の記法である内包的記法に由来するそうで、「関数プログラミング入門 ―Haskellで学ぶ原理と技法―」か何かで読んだ記憶があります。 その対になる記法として外延的記法

  • Python3の文字列について。%記法とformat()記法の対応関係 - 余白の書きなぐり

    Python3では '%d'とか'%+5.3lf'のような記法は推奨されず、廃止される。 代わりにformat()を使う必要がある。 このような変更がなされた理由については、 Python 3.0 Hacks第6回 Pythonicな文字列フォーマットforamat()メソッド が分かりやすい。 高尚な理由はどうでもよくて、とりあえず昔の%記法との対応関係表が欲しいが見つからなかった。 仕方ないから、よく使うformatについてC言語のprintf関数との対応表を作った。 極めて愚直な表なので、とにかくこれさえ見れば新旧の違いが理解できる。 結果表示 C言語 printf(%記法) python print(format記法) hoge(改行なし) printf("hoge") print("hoge", end="") hoge(改行あり) printf("hoge\n") print(

    Python3の文字列について。%記法とformat()記法の対応関係 - 余白の書きなぐり