SlideShare a Scribd company logo
1 of 62
Download to read offline
Pythonを取り巻く開発環境

    id : ymotongpoo




                      1"
今日の資料

•  細かい説明はブログに書いた
 –  http://ymotongpoo.hatenablog.com/entry/
    2012/09/16/090842

•  スライドも載せた
 –  https://docs.google.com/open?
    id=0B5k3Cg7nkTt1UnRVbTNhYl9PNjA
なのでスライドと僕を見て
    話を聴いて
 どんどん質問して下さい
Agenda
•  自己紹介
•  今日の概要
•  ローカル開発環境
 –  コード編集
 –  Pythonの管理
 –  パッケージ管理
 –  ワークスペース
 –  テスト
•  統合環境
 –  継続テスト
 –  ドキュメント
お前、だれよ?
•  id: ymotongpoo(とんぷー)
 – YAMAGUCHI::weblog
   http://ymotongoo.hatenablog.com


•  YouTube
•  翻訳
 – Jinja2
 – Tornado
Agenda
•  自己紹介
•  今日の概要
•  ローカル開発環境
 –  コード編集
 –  Pythonの管理
 –  パッケージ管理
 –  ワークスペース
 –  テスト
•  統合環境
 –  継続テスト
 –  ドキュメント
概要

•  話すこと
 – Pythonで開発を行う際の土台作り
 – Python初心者向け
  •  もう環境構築のことで悩まない
 – 他言語経験者向け
  •  Pythonの文法がひと通りわかったらこれ
     を読んで下さい
概要

•  話さないこと
 – コーディング規約
 – レビュー制度
 – Web開発のベストプラクティス


•  今日は部品についてのお話
Agenda
•  自己紹介
•  今日の概要
•  ローカル開発環境
 –  コード編集
 –  Pythonの管理
 –  パッケージ管理
 –  ワークスペース
 –  テスト
•  統合環境
 –  継続テスト
 –  ドキュメント
ローカル開発環境

•  コード編集
•  Pythonの管理
•  パッケージ管理
•  ワークスペース
•  テスト
コード編集
        好きなモノを使え!!!
•    Emacs
•    Vim
•    Sublime Text 2
•    PyCharm
•    Eclipse
ローカル開発環境

•  コード編集
•  Pythonの管理
•  パッケージ管理
•  ワークスペース
•  テスト
Pythonの管理

•  複数バージョンのPythonを管理する

                   Python 2.7   メインで使うPython
Operation System




                   Python 2.6

                   Python 3.1
                                検証等で使うPython
                   Python 3.2


                   Python 3.3
Pythonの管理

•  複数バージョンを統一して管理する
   方法を考える
 Linux/Unixの例   Windowsの例
Pythonの管理

•  Windows
             インストール先指定可   バイナリ



  MSIパッケージ




    VC++
Pythonの管理

•  Linux
                  インストール先指定可   バイナリ



   apt-get, yum




      make
Pythonの管理

•  Mac OS X
              インストール先指定可   バイナリ


   homebrew                homebrew
   MacPorts                MacPorts


     dmg



    make
ローカル開発環境

•  コード編集
•  Pythonの管理
•  パッケージ管理
•  ワークスペース
•  テスト
パッケージ管理

•  実用上パッケージ管理は不可欠

                                    様々な場所からパッ
                                    ケージをインストール      PyPI
                   Python 2.7
Operation System




                                                    VCS
                   site'packages"   bucho
                                    aodag
                   Python 2.6       lxml         tarball, zip
                                    nose
                   Python 3.1

                   Python 3.2

                   Python 3.3
パッケージ管理

•  setup.py
  – distutils, setuptools, distribute
•  easy_install
  – setuptools, distribute
•  pip
•  pysetup
  – distutils2
パッケージ管理

•  関連パッケージの歴史的経緯
昔         setup.pyを書くためのモジュール
          →いちいちzipから入れるのめんどい
          →easy_install(& cheeseshop)


    distutils       setuptools     distribute



         easy_installの壁    Python 3の壁
         拡張メタデータの壁
パッケージ管理

   •  関連パッケージの歴史的経緯
      現在∼将来
              Python 2.x          Python 3.x              未だにまともに
                                                          Python3で動
                                                          かない
                     pip              pip

             利用                   利用                      Python3.3で標準
終了                 easy_install    easy_install           に取り込みに失敗

setuptools        distribute      distribute      distutils2

                  distutils        distutils      packaging
パッケージ管理

•  setup.py
  – 配布するPythonパッケージを作成する
    際にはかならず必要
  – 最終的にはこれだけで必要なことが出
    来るべき
    •  testを走らせる
    •  C/API拡張のビルド
パッケージ管理

•  easy_install
  – setuptoolsより利用可能になったパッ
    ケージインストーラ
  – distributeのものを利用すること
パッケージ管理




•  ''upgrade,"'U":"                      "
•  ''always'unzip,"'Z":"zip   "
•  ''mul:'version,"'m":"          "or"       "
パッケージ管理

•  pip
  – リリース当時はeasy_installよりもイケ
    メンだった
  – 今も便利です
パッケージ管理




•  install":"            "
     •  ''upgrade,"'U":"                   "
•  uninstall":"   "
•  freeze":"                           "
•  bundle":"                 zip   "
パッケージ管理

•  pysetup(参考)
 – distutils2同梱のコマンド
 – Python3.3でpackagingが標準で入
   るときに取り込まれる予定だった
ローカル開発環境

•  コード編集
•  Pythonの管理
•  パッケージ管理
•  ワークスペース
•  テスト
ワークスペース

•  開発環境毎にパッケージを分離
                                    システム直のPythonで開発すると

                   Python 2.7       プロジェクトA        プロジェクトB
Operation System




                                    •  bucho 1.0   •  bucho 2.0
                   site'packages"   •  aodag 1.1   •  aodag 1.2
                                    …              …
                   Python 2.6       に依存            に依存
                   Python 3.1

                   Python 3.2       パッケージのバージョンで不都合
                   Python 3.3
ワークスペース

•  プロジェクト毎に分けよう
                                プロジェクトA

                   Python 2.7    Python 2.7   •  Pythonバイナリ
                                              •  site-packages
Operation System




                                 bucho 1.0
                   Python 2.6    aodag 1.1    を持った環境を別
                                              途作成することで、
                   Python 3.1   プロジェクトB
                                              分離が可能になる。
                                 Python 2.7
                   Python 3.2
                                 bucho 2.0
                                 aodag 1.2
                   Python 3.3
ワークスペース

•  virtualenv (virtualenvwrapper)
•  zc.buildout
•  venv (Python 3.3から)
ワークスペース

•  virtualenv
  – 仮想環境作る専用のツール
  – 使いやすい
ワークスペース

•  virtualenvwrapper
 – virtualenvがより使いやすくなる
ワークスペースの管理

•  zc.buildout
  – ビルドツールなので汎用性高い
  – システムのsite-pakagesを引きずる
  – レシピ見つけるのが大変
  – buildout.cfg書くの慣れるまで大変
ワークスペースの管理

•  zc.buildout
  1.  初期化
  2.  buildout.cfg
  3.  環境作成
ワークスペースの管理

•  venv
  – Python 3.3から標準で入った
  – パッケージ管理が標準だとしょぼいの
    で片手落ち
ローカル開発環境

•  コード編集
•  Pythonの管理
•  パッケージ管理
•  ワークスペース
•  テスト
テスト

•  テストはなるべく自動化したい
                                プロジェクトA

                   Python 2.7    Python 2.7

                                              Test Suite
Operation System




                                 bucho 1.0
                   Python 2.6    aodag 1.1


                   Python 3.1


                   Python 3.2        ①テストスイートを書く仕組み
                                     ②テストを実行する仕組み
                                     の両方が必要
                   Python 3.3
テスト

•  unittest, doctest
•  nose, py.test
テスト

•  unittest, doctest
  – 標準で入っている
  – setup.pyにはこれしか含まないべき
テスト

•  nose, py.test
  – どっちも超メジャー
  – noseはプラグイン書ける
    •  逆にいうとプラグイン無いと困る
  – pytestは後発なので単体で便利
    •  でもプラグイン書けない
  – どっちを使うかは好み
テスト

•  複数のバージョンのテスト
                                プロジェクトA

                   Python 2.7    Python 2.7

                                               Test Suite
Operation System




                                 bucho 1.0
                   Python 2.6    aodag 1.1


                   Python 3.1                  Python 2.6

                                               bucho 1.0
                   Python 3.2                  aodag 1.1
                                同じテストを自動
                                で複数の環境で走
                   Python 3.3   らせたい          プロジェクトA
テスト

•  tox
•  zc.buildout
テスト

•  tox
  – 各テスト環境のvirtualenvを自動作成
    &自動テスト実行
  – py.testと同じプロジェクトチームなの
    で相性が良い
テスト

•  tox
  1.  tox.ini書く
  2.  toxコマンド
Agenda
•  自己紹介
•  今日の概要
•  ローカル開発環境
 –  コード編集
 –  Pythonの管理
 –  パッケージ管理
 –  ワークスペース
 –  テスト
•  統合環境
 –  継続テスト
 –  ドキュメント
統合環境

•  継続テスト
•  ドキュメント
継続テスト

•  VCSと連携した自動ビルドシステム

                                                        VCS
                                                      bucho 1.0     xUnit.xml
                                                      aodag 1.1

                                プロジェクトA                Test Suite
                   Python 2.7    Python 2.7
Operation System




                                 bucho 1.0     Test Suite
                   Python 2.6    aodag 1.1


                   Python 3.1

                   Python 3.2                 ポーリングやフックで
                                              テストを実施する
                   Python 3.3
継続テスト

•  Jenkins (+plugin)
  – BuildHive
•  Travis CI
継続テスト

•  Jenkins
  – 言わずと知れた継続インテグレーション
    システム
  – Pluginを入れることでPythonのテス
    トランナーを走らせることが可能
    •  Shining Panda Plugin
    •  Python Plugin
継続テスト

•  Travis CI
  – GitHub内のレポジトリをWebフック
    でビルドするホスティングサービス
  – 個人プロジェクト、OSSではメンテコ
    ストが格段に下がる
継続テスト

•  Travis CI
  – .travis.yaml
統合環境

•  継続テスト
•  ドキュメント
ドキュメント

•  製品と連携したアップデートが必要
•  Sphinxを利用
•  継続的にリリースするためにCI環境
   を使用
 – Jenkins
 – Read The Docs
ドキュメント

•  Sphinx
  – 複数のreSTから相互参照含めた複雑な
    ドキュメントを生成可能
  – 複数の形式を生成(HTML, ePub,
    PDF)
ドキュメント

•  Jenkinsを用いる場合
 – ビルド成功時にドキュメントをデプロイ
   する仕組みを作る
 – 最悪ワークスペースを公開
ドキュメント

•  Read The Docs
 – Django製のSphinxドキュメント専用
   継続インテグレーションシステムおよび
   ホスティングサービス
 – Git, Mercurial, Subversionのレポジ
   トリとWebフックで連携
話も飽きたと思うので
 実例を考えてみます
構成案1

•  個人プロジェクト
                                                            Travis CI




                                                            Read The Docs


               make         virtualenv
               Python 2.7     Python 2.7
                                                  py.test
               Python 2.6    easy_install
Mac or Linux




                                            tox
               Python 3.1

               Python 3.2

               Python 3.3
構成案2

•  プロプライエタリ製品
                                                         Jenkins




               make         virtualenv
               Python 2.7     Python 2.7
                                                  nose
               Python 2.6    easy_install
Mac or Linux




                                            tox
               Python 3.1

               Python 3.2

               Python 3.3
構成案3

•  某BP社


      make         virtualenv
      Python 2.7     Python 2.7
                                   nose
                        pip
Mac

More Related Content

What's hot

BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3
Atsushi Odagiri
 
PySide/QtWebkitで楽々 slideshare Hack
PySide/QtWebkitで楽々 slideshare HackPySide/QtWebkitで楽々 slideshare Hack
PySide/QtWebkitで楽々 slideshare Hack
Kazushige TAKEUCHI
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
 
パッケージングの今と未来
パッケージングの今と未来パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
 

What's hot (20)

BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3
 
勉強会 Cvml python基礎
勉強会 Cvml python基礎勉強会 Cvml python基礎
勉強会 Cvml python基礎
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
 
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack botPython × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
 
Pythonでゲーム作る
Pythonでゲーム作るPythonでゲーム作る
Pythonでゲーム作る
 
QtでHello, World!!
QtでHello, World!!QtでHello, World!!
QtでHello, World!!
 
各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法
 
Pynyumon03 LT
Pynyumon03 LTPynyumon03 LT
Pynyumon03 LT
 
PySide/QtWebkitで楽々 slideshare Hack
PySide/QtWebkitで楽々 slideshare HackPySide/QtWebkitで楽々 slideshare Hack
PySide/QtWebkitで楽々 slideshare Hack
 
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
 
第1回python勉強会
第1回python勉強会第1回python勉強会
第1回python勉強会
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
 
wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)
 
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
 
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
 
パッケージングの今と未来
パッケージングの今と未来パッケージングの今と未来
パッケージングの今と未来
 

Viewers also liked

CSSコーディングを効率よくするおすすめプラグイン
CSSコーディングを効率よくするおすすめプラグインCSSコーディングを効率よくするおすすめプラグイン
CSSコーディングを効率よくするおすすめプラグイン
Shogo Tamura
 
Awsをちゃんと使ってみた
Awsをちゃんと使ってみたAwsをちゃんと使ってみた
Awsをちゃんと使ってみた
Yoichi Toyota
 

Viewers also liked (20)

PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
 
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったLambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作った
 
デプロイツールFabric
デプロイツールFabricデプロイツールFabric
デプロイツールFabric
 
UI設計におけるスマートフォン対応のまとめ
UI設計におけるスマートフォン対応のまとめUI設計におけるスマートフォン対応のまとめ
UI設計におけるスマートフォン対応のまとめ
 
CSS3 / JavaScriptで作るスマートフォンUIと落とし穴
CSS3 / JavaScriptで作るスマートフォンUIと落とし穴CSS3 / JavaScriptで作るスマートフォンUIと落とし穴
CSS3 / JavaScriptで作るスマートフォンUIと落とし穴
 
レスポンシブWeb「デザイン」
レスポンシブWeb「デザイン」レスポンシブWeb「デザイン」
レスポンシブWeb「デザイン」
 
WordPress基礎講座1 CMSの概要
WordPress基礎講座1 CMSの概要WordPress基礎講座1 CMSの概要
WordPress基礎講座1 CMSの概要
 
マークアップとUX
マークアップとUXマークアップとUX
マークアップとUX
 
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & TipsjQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
 
AWS基礎
AWS基礎AWS基礎
AWS基礎
 
CSSコーディングを効率よくするおすすめプラグイン
CSSコーディングを効率よくするおすすめプラグインCSSコーディングを効率よくするおすすめプラグイン
CSSコーディングを効率よくするおすすめプラグイン
 
スマートフォン対応、気をつけたいトラブル JavaScript編
スマートフォン対応、気をつけたいトラブル JavaScript編スマートフォン対応、気をつけたいトラブル JavaScript編
スマートフォン対応、気をつけたいトラブル JavaScript編
 
Awsをちゃんと使ってみた
Awsをちゃんと使ってみたAwsをちゃんと使ってみた
Awsをちゃんと使ってみた
 
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
 
マルチデバイス時代におけるWebサイトのUIについて
マルチデバイス時代におけるWebサイトのUIについてマルチデバイス時代におけるWebサイトのUIについて
マルチデバイス時代におけるWebサイトのUIについて
 
スマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブルスマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブル
 
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScriptJavascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
 
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
 
使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかた使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかた
 
CSS の歩き方
CSS の歩き方CSS の歩き方
CSS の歩き方
 

Similar to Pythonを取り巻く開発環境 #pyconjp

Python Kyoto study
Python Kyoto studyPython Kyoto study
Python Kyoto study
Naoya Inada
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
Shogo Kawahara
 
Python開発環境三種の神器
Python開発環境三種の神器Python開発環境三種の神器
Python開発環境三種の神器
Yukitaka Uchikoshi
 
Pythonによる並列プログラミング -GPGPUも-
Pythonによる並列プログラミング   -GPGPUも- Pythonによる並列プログラミング   -GPGPUも-
Pythonによる並列プログラミング -GPGPUも-
Yusaku Watanabe
 

Similar to Pythonを取り巻く開発環境 #pyconjp (20)

190925 python-windows
190925 python-windows190925 python-windows
190925 python-windows
 
PYTHON PACKAGING (PyFes 2012.03 発表資料)
PYTHON PACKAGING (PyFes 2012.03 発表資料)PYTHON PACKAGING (PyFes 2012.03 発表資料)
PYTHON PACKAGING (PyFes 2012.03 発表資料)
 
210728 mpy
210728 mpy210728 mpy
210728 mpy
 
Python Kyoto study
Python Kyoto studyPython Kyoto study
Python Kyoto study
 
基礎教養としてのUbuntuサーバ_後編.pptx
基礎教養としてのUbuntuサーバ_後編.pptx基礎教養としてのUbuntuサーバ_後編.pptx
基礎教養としてのUbuntuサーバ_後編.pptx
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
200527 ur
200527 ur200527 ur
200527 ur
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
 
Python開発環境三種の神器
Python開発環境三種の神器Python開発環境三種の神器
Python開発環境三種の神器
 
Introduction Pycon2010
Introduction Pycon2010Introduction Pycon2010
Introduction Pycon2010
 
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
 
勉強会 環境構築編
勉強会 環境構築編勉強会 環境構築編
勉強会 環境構築編
 
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!
 
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
 
Pythonによる並列プログラミング -GPGPUも-
Pythonによる並列プログラミング   -GPGPUも- Pythonによる並列プログラミング   -GPGPUも-
Pythonによる並列プログラミング -GPGPUも-
 
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 

More from Yoshifumi Yamaguchi

More from Yoshifumi Yamaguchi (10)

20130824 Lightweight Language "Go" @LL matsuri
20130824 Lightweight Language "Go" @LL matsuri20130824 Lightweight Language "Go" @LL matsuri
20130824 Lightweight Language "Go" @LL matsuri
 
20130316 プログラミング言語Go
20130316 プログラミング言語Go20130316 プログラミング言語Go
20130316 プログラミング言語Go
 
20130228 Goノススメ(BPStudy #66)
20130228 Goノススメ(BPStudy #66)20130228 Goノススメ(BPStudy #66)
20130228 Goノススメ(BPStudy #66)
 
Sphinxで翻訳してたら本が出てた話
Sphinxで翻訳してたら本が出てた話Sphinxで翻訳してたら本が出てた話
Sphinxで翻訳してたら本が出てた話
 
Learn You Some Erlang for great good! 日本語化プロジェクト
Learn You Some Erlang for great good! 日本語化プロジェクトLearn You Some Erlang for great good! 日本語化プロジェクト
Learn You Some Erlang for great good! 日本語化プロジェクト
 
[20120410] @marqsの転職を祝うLT
[20120410] @marqsの転職を祝うLT[20120410] @marqsの転職を祝うLT
[20120410] @marqsの転職を祝うLT
 
YouTube APIの紹介
YouTube APIの紹介YouTube APIの紹介
YouTube APIの紹介
 
[20110219] pfffについて
[20110219] pfffについて[20110219] pfffについて
[20110219] pfffについて
 
[20110129] sphinx theme collection 2011春
[20110129] sphinx theme collection 2011春[20110129] sphinx theme collection 2011春
[20110129] sphinx theme collection 2011春
 
[20101203] ドキュメントを作りたくなってしまう魔法のツールsphinx(山口発表用)
[20101203] ドキュメントを作りたくなってしまう魔法のツールsphinx(山口発表用)[20101203] ドキュメントを作りたくなってしまう魔法のツールsphinx(山口発表用)
[20101203] ドキュメントを作りたくなってしまう魔法のツールsphinx(山口発表用)
 

Recently uploaded

Recently uploaded (11)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Pythonを取り巻く開発環境 #pyconjp