タグ

pythonに関するt-wadaのブックマーク (53)

  • 「Pythonプロフェッショナルプログラミング 第3版」は、10年の取り組みの集大成 - ビープラウド社長のブログ

    2018年6月12日にビープラウドのメンバーで執筆した「Pythonプロフェッショナルプログラミング 第3版」が出版されます。 Pythonプロフェッショナルプログラミング第3版 作者:株式会社ビープラウド出版社/メーカー: 秀和システム発売日: 2018/06/13メディア: Kindle版 第1版が2012年3月26日、第2版が2015年2月27日、第3版が2018年6月12日の発売で、約3年おきに版を重ねてきました。 最新技術に合わせてバージョンアップ IT技術は日々バージョンアップされ、数年もすれば技術の構成やベストプラクティスも変わってきます。 技術の進歩に合わせて、書籍も第3版としてバージョンアップしました。 主な改訂内容は以下のとおりです。 Python2.7.6→Python3.6.4 Ubuntu14.04 LTS→Ubuntu16.04 LTS Webアプリケーション(

    「Pythonプロフェッショナルプログラミング 第3版」は、10年の取り組みの集大成 - ビープラウド社長のブログ
    t-wada
    t-wada 2018/06/12
    "プロフェッショナル・プログラマーは、プログラミングだけではなく周辺技術を活用できてはじめてプロジェクトのQCDを守れるという、ある意味厳しい環境で仕事をしているといえる"
  • Pythonのfor文は遅い? - atsuoishimoto's diary

    bicycle1885.hatenablog.com こちらの記事を拝見していて、ちょっと気になったので注釈。 PythonやRを使っている人で、ある程度重い計算をする人達には半ば常識になっていることとして、いわゆる「for文を使ってはいけない。ベクトル化*1しろ。」という助言があります。 これは、PythonやRのようなインタープリター方式の処理系をもつ言語では、極めてfor文が遅いため、C言語やFortranで実装されたベクトル化計算を使うほうが速いという意味です。 昔からよくこういう言い方がよくされるが、当にPythonのfor文は遅いのだろうか。 聞くところによるとRのfor文はガチで遅いそうだが、Pythonの計算が遅いのはインタープリタ方式だからでも、for文が遅いからでもない。もちろん、Pythonはインタープリタなので遅いし、for文だって極めて遅い。しかし、これはPyt

    Pythonのfor文は遅い? - atsuoishimoto's diary
    t-wada
    t-wada 2018/01/10
    "Pythonの演算が遅い最大の要因は、Pythonが静的な型宣言を行わない言語で、型推論もJITもなく、常に動的にオブジェクトの演算を行う、という点にある場合がほとんど"
  • Dropbox releases PyAnnotate -- auto-generate type annotations for mypy

    Updates about mypy, an optional static type checker for Python For statically checking Python code, mypy is great, but it only works after you have added type annotations to your codebase. When you have a large codebase, this can be painful. At Dropbox we’ve annotated over 1.2 million lines of code (about 20% of our total Python codebase), so we know how much work this can be. It’s worth it though

    t-wada
    t-wada 2017/12/27
    実行時の実際の型情報を利用して既存の Python コードに型アノテーションを挿入するツールを Dropbox が開発
  • How to use unittest-based tests with pytest — pytest documentation

    t-wada
    t-wada 2017/07/06
    pytest が unittest.py で書かれた既存のテストコードも修正無しで動かせて驚いた。こういうレベルで相互運用性があるのは素晴らしい。
  • 最近のPython-dev(2017-06) : DSAS開発者の部屋

    バックナンバー: 5月号 4月号 3月号 2月号 1月号 PEP 546 -- Backport ssl.MemoryBIO and ssl.SSLObject to Python 2.7 2014年に Python 2.7 をセキュアな状態に保つため、過去に PEP 466 でセキュリティ関連の Python 3.4 の機能が Python 2.7 にバックポートされました。これには ssl モジュールも含まれており、 Python 2.7.9 からは TLS のホストを自動で検証するようになったりシステムの証明書ストアを利用できるようになりました。 今回の PEP 546 は、さらに Python 3.5 で追加された ssl.MemoryBIO と ssl.SSLObject も Python 2.7 にバックポートするものです。これらの API を利用すると、 socket をラッ

    最近のPython-dev(2017-06) : DSAS開発者の部屋
    t-wada
    t-wada 2017/06/30
    "Python の typing モジュールに structural subtyping のサポートが追加されました" "起動高速化: macOS 上での性能向上が顕著で、クリーンインストールされた Python で起動時間が30msくらいだったのが20msくらいに減ります"
  • 最近の Python-dev (2017-01) : DSAS開発者の部屋

    @methane です。 compact dict が Python 3.6 が9月(ベータになる直前)にマージされ、それのおかげで推薦をもらい 10月ごろから Python の Core Developer になりました。 「PythonのフルタイムコミッタとしてKLabに雇われている」という訳ではないのですが、 もともと自己裁量で業務時間の大半をOSSへの貢献やコードを読むことに費やし、特にこの3ヶ月位は Python ばかり触っていたので、実質的には近い状態です。 そちらでの活動をあまり日で共有する機会がないので、 Money Forward の卜部さんが書かれている 最近の ruby-core という記事をリスペクトして、 最近の Python の開発状況を紹介する記事を書いてみたいと思います。 Python 3.6 リリース 12/23 に Python 3.6 がリリースされ

    最近の Python-dev (2017-01) : DSAS開発者の部屋
    t-wada
    t-wada 2017/01/25
    "卜部さんが書かれている 最近の ruby-core という記事をリスペクトして、 最近の Python の開発状況を紹介する記事を書いてみたいと思います" すごくいい
  • Python3用パッケージってどのぐらい増えただろ? - atsuoishimoto's diary

    Python3を使ってても、PyPIのパッケージがPython3対応かどうか、あんまり心配しなくなった気がする今日このごろです。 体感的にはPython3であまり不自由はない感じになってきたが、実際問題、どの程度Python3対応が進んでいるのか、気になったので簡単に調べてみた。 PyPIの情報は xmlrpcインターフェース で簡単に取得できる。あまり速くないので、全件取得するとかなり時間がかかるが。。。 最新パッケージの情報を取得し、Programming Language として Python 3 を明記しているパッケージの件数をカウントした。もちろん、メタ情報を記述していないパッケージもあるので誤差はあるが、それほど多くはないだろう。 で、2016年6月18日時点でダウンロード可能なパッケージ数は 70524件。そのうち、Python 3 と明示的に表記しているパッケージは。。。

    Python3用パッケージってどのぐらい増えただろ? - atsuoishimoto's diary
    t-wada
    t-wada 2016/07/25
    Python3対応パッケージはまだ全体の27%だが、活動が活発なパッケージではPython3対応がどんどん増えている。現在の最新版が2016年5月1日以降に更新されているパッケージに絞ると、Python3対応パッケージは約45%になる
  • Rubyが今のPythonの地位にいない理由

    _ Rubyが今のPythonの地位にいない理由 歴史のことなんぞなんも知らんけど、「技術的には今のPythonの地位はRubyでもよかったのに、そうならなかった」のが何故か、その理由を書いてみよう。僕はRuby歴史なんて知らないし、以下の文章は全部、まるで見てきたかのように書いてますが、適当に書いたくせに何故か断言口調になっている怪文書の類いです。 https://twitter.com/mametter/status/741950239662170112 まめさんの書いた理由リストはどれも関係ない。いやカスってるけど。難しいというのも関係ない。 僕がRubyを知ったころ…最初に書いた通りRuby歴史なんて知らないので、別に早くもないわけだけど…Rubyというのは全く使われていない言語だった。どっかの好き者がPerlの替わりに単純な処理に使って、「ウフ、美しくかけた、グフッ」とかつぶ

    t-wada
    t-wada 2016/06/16
    Python が今の地位にいるのは科学技術計算や機械学習のライブラリがひたすら強いから、という印象だなぁ
  • PyCon JP2015 基調講演の裏側 - ビープラウド社長のブログ

    私は昨年末の社内納会で、会社が10年目を迎えるにあたり、ビープラウドのビジョン、ミッション、価値観を、創立日の2015年5月23日までに公開すると宣言しました。 そして、1月末のBPCamp(社内旅行)でのワークショップによる社内意識の調査、創立以来の取り組みの振り返り、2006年からの自分のブログの全エントリーの読み直しなどをしたうえで、考えをまとめ、5月23日にブログに公開しました。 shacho.beproud.jp 年始からずっと取り組んでいたので無事エントリーを公開し「少しゆっくりしよう」と思っていました。 それも束の間、PyCon JP 2015プログラムチームからの連絡を頂いたのは、その8日後の5月31日でした。 「Possibilities of Python」というテーマで基調講演をということでしたが、何を話したら役立てるのか、私にはすぐには浮かびませんでした。 私よりも

    PyCon JP2015 基調講演の裏側 - ビープラウド社長のブログ
    t-wada
    t-wada 2015/10/15
    PyCon JP2015 基調講演当日に向けての準備と、そして当日について。ここまで情熱を持って準備するのは素晴らしいと思う。姿勢を見習いたい。
  • Python Release Python 3.5.0

    Python 3.5 has reached end-of-life. Python 3.5.10, the final release of the 3.5 series, is available here. Python 3.5.0 was released on September 13th, 2015. Major new features of the 3.5 series, compared to 3.4 Among the new major new features and changes in the 3.5 release series are PEP 441, improved Python zip application support PEP 448, additional unpacking generalizations PEP 461, "%-format

    Python Release Python 3.5.0
    t-wada
    t-wada 2015/09/14
    祝 Python 3.5.0 リリース
  • Deep Learning のフレームワーク Chainer を公開しました - Preferred Networks Research & Development

    こんにちは、得居です。最近は毎晩イカになって戦場を駆けまわっています。 日、Deep Learning の新しいフレームワークである Chainer を公開しました。 Chainer 公式サイト GitHub – pfnet/chainer Chainer Documentation Chainer は、ニューラルネットを誤差逆伝播法で学習するためのフレームワークです。以下のような特徴を持っています。 Python のライブラリとして提供(要 Python 2.7+) あらゆるニューラルネットの構造に柔軟に対応 動的な計算グラフ構築による直感的なコード GPU をサポートし、複数 GPU をつかった学習も直感的に記述可能 ニューラルネットをどのように書けるか 次のコードは多層パーセプトロンの勾配を計算する例です。 from chainer import FunctionSet, Vari

    Deep Learning のフレームワーク Chainer を公開しました - Preferred Networks Research & Development
    t-wada
    t-wada 2015/06/09
    "Chainer は、実際に Python のコードを用いて入力配列に何の処理が適用されたかだけを記憶しておき、誤差逆伝播の実行に使います。このアプローチは、複雑化していく Deep Learning の研究・開発速度を保つために必要"
  • LinuxディストリビューションにおけるPython 3デフォルト化の流れ - orangain flavor

    2015年6月2日修正:henrichさんのコメントを受け、Debianの記述を修正しました。 最近のLinuxディストリビューションにおいてPython 3がデフォルトになってきているという話をチラホラ聞くので、状況を調べてみました。 結論 PEP 394にディストリビューション向けのガイドラインが公開されている。 Arch Linuxは既にPython 3がデフォルトになっている。 /usr/bin/pythonPython 3を指している。 pythonパッケージはPython 3を指している。 Fedora 23(2015-10-27リリース予定)でPython 3がデフォルトになる予定。 /usr/bin/pythonは削除されるかpython3にシンボリックリンクされるか議論されている。 Ubuntu 16.04(2016-04リリース予定)でPython 3がデフォルトにな

    LinuxディストリビューションにおけるPython 3デフォルト化の流れ - orangain flavor
    t-wada
    t-wada 2015/06/01
    "Arch Linuxは既にPython 3がデフォルト。Fedora 23(2015-10-27リリース予定), Ubuntu 16.04(2016-04リリース予定)でPython 3がデフォルトになる予定。Debian 9 (Stretch) または10 (Buster) でPython 3をデフォルトにするべく作業開始"
  • 高性能を目指す米DropboxのPython実装「Pyston」バージョン0.3リリース | OSDN Magazine

    Dropboxが手がける独自のPython実装「Pyston」開発チームは2月24日、最新版「Pyston 0.3」を公開した。互換性、性能にフォーカスした改善が図られている。性能ではCPythonに匹敵するレベルになったと報告している。 Dropbox社内ではPythonが利用されているが、問題の規模が大きくなるにつれてパフォーマンス的な問題が見られるようになったという。そのため、独自に高速なPython実装を開発することになったそうだ。Pystonは高い性能と互換性を目標とし、LLVMやJITJust In Time)などの技術を採用する。Python 2.7と互換性があり、Pythonの標準実装(CPython)のC拡張モジュールをネイティブでサポートする。対応プラットフォームはx86_64のみ。ライセンスはApache License 2.0。 2014年4月にプロジェクトを発表

    高性能を目指す米DropboxのPython実装「Pyston」バージョン0.3リリース | OSDN Magazine
    t-wada
    t-wada 2015/02/27
    "Pystonは高い性能と互換性を目標とし、LLVMやJIT(Just In Time)などの技術を採用する。Python 2.7と互換性があり、Pythonの標準実装(CPython)のC拡張モジュールをネイティブでサポートする"
  • Pythonへの型アノテーション導入を目指すGuido van Rossum氏

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Pythonへの型アノテーション導入を目指すGuido van Rossum氏
    t-wada
    t-wada 2014/09/17
    おおお "Pythonの動的型付けという性格やインタプリタの動作は変更せず,静的型付けによるメリットを提供することを目指している"
  • Web アプリケーションにおいては Python 3 への移行は簡単だという話 - methaneのブログ

    Python 2 / 3 両対応のライブラリをメンテナンスしている人にとって、 Python 3 の メリットは享受できずメンテナンスコストだけが上がるつらい状況がずっと続いています。 しかし、「Python 3 への移行が大変」というのは、Python 2 を捨てるのが大変、 Python 2/3 両対応の ライブラリをメンテナンスするのが面倒という意味です。 アプリケーションであれば、 Python 2 対応のプロジェクトPython 3 に対応させると同時に Python 2 への対応を切れるのでずっと楽ですし、さらに新規プロジェクトPython 3 で始めるのは もっと楽です。 特に Web 系では、 (Google App Engine などの例外はあるものの)自分で Python のバージョンを 選べることが多いし、主要なライブラリも Python 3 対応ができている

    Web アプリケーションにおいては Python 3 への移行は簡単だという話 - methaneのブログ
    t-wada
    t-wada 2014/09/16
    "新規アプリの開発を始めるのであれば、 まずは Python 3 でいけないか考えてみましょう" “Python 3 が Python 2 と非互換になっているのは、互換性を維持したままではガラスの破片を綺麗に掃除できなかったから”
  • http://www.gembook.org/ages_of_python2.html

    t-wada
    t-wada 2014/09/16
    分断されたPython2/3とその統合 "Python3を強化し、Python2からの移行コストより、メリットが大きいことが明らかになるようにしなければならない。そのためには、ユーザがPython3を使い、改善に協力することが必要"
  • http://kwatch.houkagoteatime.net/blog/2014/08/24/python-pitfalls/

    t-wada
    t-wada 2014/08/25
    “自作の test.py を import しようとしてもできない” は過去に出会ったかもしれない……
  • Pythonにサヨナラを - HackerNews翻訳してみた

    「HackerNews翻訳してみた」が POSTD (ポスト・ディー) としてリニューアルしました! この記事はここでも公開されています。 Original article: Saying Goodbye To Python by Ian Bicking ずっと先延ばしにしてきた記事を書きます。決別宣言ではなく(ずいぶん前に離れていますし)、ただ自分が歩んできた道を振り返ったに過ぎません。Pythonの世界に別れを告げてずいぶん経つのに、これまでサヨナラを言う勇気がなかったのです。 何年も前にPythonを卒業したとはいえ多少の愛着は残っており、戻る可能性もあると思っていました。PyCon 2013への提議が却下されたことは頭にきましたが(面白い話をしようと思っていたのに!)、この件で自分はもうPythonコミュニティの一員ではないのだと確信しました。 Pythonは私が初めて(もしかした

    t-wada
    t-wada 2014/03/07
    静かな回顧であり、名文だな。 "もちろん新たな言語や環境をモノにするのに、また1万時間をかける必要はないでしょう。それでも確実に数千時間は必要ですし、何年もかかることです"
  • 効果的なunittest - または、callFUTの秘密

    Contents unittest を効果的に使うための覚書 目的 ルール: テスト対象のモジュール(module-under-test)をテストモジュールに直接importしない ガイドライン: モジュールスコープでの依存を最小限にする ルール: 各テストメソッドでは、1つの事実だけを確認する ルール: テストメソッドは内容を表すようにしよう ガイドライン: setupはヘルパーメソッドで提供しよう。テストケースのselfで共有するのはやめよう。 ガイドライン: フィクスチャは可能な限り簡潔に ガイドライン: フックやレジストリなどの利用は注意深く ガイドライン: 依存関係を明確にするためにモックを利用する ルール: テストモジュール間でテキストを共有しない まとめ https://twitter.com/tokibito/status/412074246026698753 ということで

    t-wada
    t-wada 2013/12/17
    ユニットテストのコーディングに関する良い指針。 setUp での共有を好まないのは python の unittest モジュール固有の都合か、あるいは明示性を好む python の文化かな。
  • Dependencies with Python: a bit of history - Gemnasium

    Last month we started to work on support for Python projects in gemnasium.com. The goal is simple: being able to track the dependencies of any Python project, like we do with Ruby and Node.js ones. This is just yet another packaging system, right? Well, not quite. There are some gotchas. And there’s a story to tell. Early days: Distutils Distutils is the first well-established distribution system

    Dependencies with Python: a bit of history - Gemnasium
    t-wada
    t-wada 2013/12/10
    Gemnasium が Python のサポートを開始