SlideShare uma empresa Scribd logo
1 de 29
Pythonおじさんの
web2py挑戦記
2012-09-16 Python Conference Japan 2012
中村 良幸 @nakayoshix
Python札幌 / 数学勉強会@札幌 / クラウド研究会@札幌
今日のアジェンダ
• 自己紹介と札幌の勉強会事情
• PythonのWeb Application Framework
• web2pyの特徴的な機能及び利点と欠点
• web2pyの事例紹介
• web2pyによるライブコーディング
• まとめ
自己紹介
• 中村 良幸
→ なかむら よしゆき
→ なかよし(ワタミメソッド)
→ nakayoshix(xを付けて)
→ 統合ID: nakayoshix です。(キリッ
仕事でやってきたこと
• HPC (Fortran) 1994∼2000
• 津波数値解析、港湾の水質汚染拡散計算、泊原発の大気汚染拡散計算
• 報告書作成と3Dアニメによる可視化 (C + PostScript & OpenGL)
• CRM (Siebel) 2001∼2003
• 北海道ガス(北ガス)のお客様問い合わせ対応システム
• Siebelのカスタマイズは、SiebelVBというMicrosoftVB互換言語
• MSテクノロジー (ASP.NET, C#がメイン)
• 札幌市環境マネジメントシステム (ASP.NET, C#, VS2005時代)
• 某組織向けグループウェア(XML Web Service & スマートクライアント)
• 他にもJava, PHP, ExcelVBA, R, およびPythonによる業務用アプリ開発を色々と…
Pythonによる受託アプリケーション開発歴
• 2006年 全国各地の大学向け施設管理システム(Webアプリケーション)
• 帳票出力モジュールを、Linux上でPython + PyUNO + OpenOffice.orgで作成
• 2007年 北海道大学の大気環境汚染研究のためのサーバシステム
• センサー付き端末から定期的に送られるメール(含データ)を受信してDB化
• Python SMTPモジュールを利用、O/R MapperとしてSQLAlchemyを利用
• 2009年 中古自動車売買Webサイトの構築 ( http://www.calwing.com/ )
• DjangoによるWebアプリケーション、DjangoAdminを大幅にカスタマイズ
• 2010年 統計分析用パッケージの作成(納期二週間でSPSSと同じものを…)
• 重回帰分析(AICによるモデル選択を含む)計算処理はRで、GUIはPythonで
Pythonによる自社用アプリケーション開発歴
• 2010年∼2012年にかけて、SSLサーバ証明書の申請管理システムを開発
• 初めてのweb2pyによる業務用Webアプリケーションの開発
• 他システムとのAPI連携がたくさん
• Google Apps, Zoho CRM, kintone, JIRAとの間のREST API連携
• Root CAとの間の証明書ベースによる暗号化されたSOAP API連携
• ぼっちdeveloperゆえ、基本的に全て独りで開発。最近ではサーバーへの
デプロイ、サーバの保守管理、セキュリティ、ログ管理、社内PC管理
等々まで独りで…
• 本当は、今日はその実際の事例を紹介しようと思っていましたが、諸般
の事情でそれが不可能になりました。
というわけで…
•Pythonおじさんです。(キリッ
勉強会活動について
• 札幌で色々と勉強会を主宰しています
• Python札幌 / from sapporo import *; with the Zen of Python
• 現在、「Python初学者向け読書会@札幌」を隔週木曜で開催中
• 数学勉強会@札幌 / 大人のためのやり直しの数学勉強会
• 現在、「解析の基礎」を教科書に、毎週月曜に勉強会を開催中
• クラウド研究会@札幌 / 年に一度の「クラウド温泉@小 」
• 現在、「ぼちぼちHaskell勉強会@札幌」を隔週木曜で開催中
• 勉強会充です。(キリッ
その他、趣味とか興味とか
• オープンソース関連活動
• オープンソースのCRM, openCRXの日本語化
• openCRXのベースとなるMDAフレームワーク、openMDX
• 最近興味があるのは…
• 関数型言語、特にHaskell (ついでにScala & F#)
• Monadとその理論的背景である圏論、代数構造
• 好きなエディタはEmacs
• Emacs歴24年になります。自称・Emacsおじさんです。(キリッ
• 日常生活では
• 1994年からヨーガを始めたので、ヨーガ歴24年です。
前置きはここまで
• ここからが本編です
Pythonで作られた各種の
Web Application Framework
• Django - 豊富な実績、多くのPaaSでも標準で使える
いわゆるフルスタックフレームワーク
• TurboGears ( → Pylonsと統合)
• Pylons (→ Pyramidと統合)
• Pyramid - Python3へ対応済み、Zope由来、自由度最大
• Flask - マイクロフレームワーク by @mitsuhiko
• web2py - 今日紹介するものです
web2pyとは?
• web2pyは高速、スケーラブルでセキュアかつポータブルなデータベース
駆動型のWebアプリケーションをアジャイルで開発するための、フ
リーかつオープンソースなエンタープライズ向けWebアプリケーション
フレームワークです。
• もちろん全てPythonで書かれています。
• ライセンスは LGPL version 3 License
• 最新バージョンは一昨日出たばかりの2.0.9 (2012-09-13 23:51:30) stable
• 作者は、アメリカのDePaul University College of Computing and Digital
Media (CDM)でコンピュータ・サイエンスを教えている、Dr. Massimo Di
Pierroで、Massimoさんは、元々は物理屋さんです。
web2pyの特徴・その1
• フルスタックのフレームワーク
• セキュリティを重要視している
• 全てブラウザのみで開発が可能
• インストール不要
→ web2py_src.zipを展開するだけで使用可能に
• そのままGAEにデプロイが可能
• 開発当初より後方互換性を維持
フルスタックとは?
• SSLとストリーミングが可能なWebサーバー
• SQLを動的に作成するデータベース抽象レイヤ (DAL)
• 多様な認証方式とロールベースアクセス制御
• Localの他, OpenID, OAuth, Janrain, CAS連携等が可能
• グループとロールベースによる完全なアクセス制御
• エラーロギングとチケットシステムの統合
• スケーラビリティのための様々なキャッシュメソッド、等々
セキュリティ重視
• The Open Web Application Security Project (OWASP) のいうと
ころのセキュリティ上の問題トップ10を未然に防ぐための仕
組みを内蔵
• クロスサイトスクリプティング
• インジェクションフロー
• ディレクトリトラバーサル
• 悪意のあるファイルの実行
• Audit Trail (監査証跡) 機能も追加されている
Web IDEでブラウザによる開発
• 強力な機能を持つWeb IDEを標準で持つ
• 開発、テスト、デプロイ、メンテナンスといったアプリ
ケーション開発の各フェーズに対して、ローカルやリ
モートから操作のできるWebのインターフェイスを提供
• 新規アプリ作成時のウィザード機能も追加された
• Mercurialがインストールされていれば、バージョン管理
までWeb IDE上で可能になった
• 結論として、ブラウザのみで全ての開発が可能です
Emacsによる開発も可能
• とはいえ、Web IDEは単なる釣りです
• Emacsのみによる開発ももちろん可能です
• 通常はEmacsでソースコードを編集し、ターミナルから
web2py用のシェルを起動して動作確認を行います
• ipythonがインストールされていれば、それを使います
• bpythonがインストールされていればそちらを優先します
• 開発中のイメージを次に…
GAEへのデプロイ
• 一部制限はあるものの、GAEにデプロイしてそのまま
動作させることが可能
• 一部制限とはDB設計の根本的な違いが原因
→ BigTableはRDBではないため
• アプリケーションID以外はソースコード以外の設定
ファイル等も書き換える必要なし
• GAEへのデプロイに関しても、今はWeb IDEからク
リック一発でインストールが可能に
web2pyの特徴・その2
• 多くのDBに対応した強力なDAL機能
• 強力なテンプレート機能を備えたView機能
• AppAdminはDjangoAdminとは少し方向性が違うが非常に便利
• RESTやSOAP等、多くのWeb Serviceに標準で対応
• 全てにおいてデフォルト値を持つ
→ 初期状態において、設定なしですぐに動作可能
• ボイラープレートコードを極限まで排除
• ネット上のコミュニティが活発 → 進化がとても早い
DALの存在
• DAL (= Database Abstraction Layer)は本当に便利です
• あくまでもデータベース抽象レイヤーです
→ 他のFWが持つようなO/Rマッパーではないので注意が必要
• 実際に使ってみて非常によく出来ている
→ DjangoのO/Rマッパーに不満を持っている方は一度お試しを
• デフォルトで非常に多くのデータベースに対応
• SQlite, MySQL, PostgreSQL, Oracle, MSSQL, DB2, Firebird, MyBase,
Informix, Google App Engine
• RDBMSの他、GAE (BigTable)にも対応している
• 最近では、MongoDB等のNoSQLにも対応済み
Pythonなのにimport文が不要
• ボイラープレートコードを極限まで排除
• フレームワークの基本機能に関しては、importが不要
• VとCにおいて、HTMLタグをPythonの関数で作ることが可能
• その代わり、フレームワーク側でexecfileを行い、グローバルレベル
での環境を作ってしまう!
• とはいえ、それはやってもいいのか?
• 古参PythonistaでPythonic重視派からは異端視
• ネット上どこの掲示板へ行っても、世界中からdisられる原因に
• そこへ、原作者のDr. Massimoさんが必ず出てきて反論を…
二年間使ってきた私の今の印象
• DBへの操作が必要なWebアプリを、とにかく手軽に素早く作るのには向い
ている
• 業務用Webアプリも、最初にとにかく早く作る上では十分に役だった
• ところが、段々と辛くなってきます
• O/Rマッパーではないので、テーブルに対応するクラスを持つべきか、持
たざるべきか?
• テスト容易性(Testability)の問題
• 結局、多くの機能は順次モジュール化していきます
• 以前はlocal_import()関数でしたが、今は普通にimportでいけます
• 本格的な販売管理等の業務アプリケーションを作る際には再考が必要です
実際の使用例
PyCon Asia Pacific 2012
• PyCon Asia Pacific 2012のサイト構築で使
われています
• web2pyのアプリケーション、Conf2pyを
使って構築されているそうです
• 実際にサイトを見てみましょう
アプリの例: Conf2py
• Open Source Conference Management System (GPL2)
• Massimo Di Pierroさんによって作られたweb2pyのアプリケーション
• MetaCryption LLCにより、サポートも提供されている
• スライドショー:
• http://www.slideshare.net/mdipierro/conf2py
• web2py appとしてダウンロード (sourceも含む):
• http://conf2py.googlecode.com/files/web2py.app.conf2py.w2p
• ソースのみダウンロード (google codeより):
• hg clone https://conf2py.googlecode.com/hg/ conf2py
• オンライン・ビデオ(バージョンは古いものが対象):
• http://vimeo.com/1838049 http://vimeo.com/12157148
ライブコーディング
• ここで、実際にライブコーディングで
プログラムを作ってみましょう
web2py関連の情報源
• web2pyの公式サイト
• http://www.web2py.com/
• 日本語化プロジェクト(web2py japan)
• http://groups.google.co.jp/group/web2py-
japan
まとめ
• GAEについて
• Pythonについて
• web2pyについて
• ライブコーディング
• GAEへのデプロイ
勉強会の紹介
• 私が主催する勉強会 (立ち上げた順)
• Python札幌
• 数学勉強会@札幌
• クラウド研究会@札幌
最後に
• ご清聴ありがとうございました。

Mais conteúdo relacionado

Mais procurados

PHPでマルチスレッド
PHPでマルチスレッドPHPでマルチスレッド
PHPでマルチスレッドkarky7
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRecruit Technologies
 
Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発Kenjiro Kubota
 
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門Tadahiro Ishisaka
 
PGI CUDA FortranとGPU最適化ライブラリの一連携法
PGI CUDA FortranとGPU最適化ライブラリの一連携法PGI CUDA FortranとGPU最適化ライブラリの一連携法
PGI CUDA FortranとGPU最適化ライブラリの一連携法智啓 出川
 
デザインパターン
デザインパターンデザインパターン
デザインパターンgaaupp
 
MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座Mikiya Okuno
 
Vim script と vimrc の正しい書き方@nagoya.vim #1
Vim script と vimrc の正しい書き方@nagoya.vim #1Vim script と vimrc の正しい書き方@nagoya.vim #1
Vim script と vimrc の正しい書き方@nagoya.vim #1cohama
 
第4章 確率的学習---単純ベイズを使った分類
第4章 確率的学習---単純ベイズを使った分類第4章 確率的学習---単純ベイズを使った分類
第4章 確率的学習---単純ベイズを使った分類Wataru Shito
 
やってはいけない空振りDelete
やってはいけない空振りDeleteやってはいけない空振りDelete
やってはいけない空振りDeleteYu Yamada
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界Yoshinori Nakanishi
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方増田 亨
 
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)Koichiro Matsuoka
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムKouhei Sutou
 
チームメイトのためにdocstringを書こう! pyconjp2019
チームメイトのためにdocstringを書こう! pyconjp2019チームメイトのためにdocstringを書こう! pyconjp2019
チームメイトのためにdocstringを書こう! pyconjp2019cocodrips
 
高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!masakazu matsubara
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門増田 亨
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメYoji Kanno
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようShohei Okada
 

Mais procurados (20)

PHPでマルチスレッド
PHPでマルチスレッドPHPでマルチスレッド
PHPでマルチスレッド
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
 
Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発
 
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
 
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
 
PGI CUDA FortranとGPU最適化ライブラリの一連携法
PGI CUDA FortranとGPU最適化ライブラリの一連携法PGI CUDA FortranとGPU最適化ライブラリの一連携法
PGI CUDA FortranとGPU最適化ライブラリの一連携法
 
デザインパターン
デザインパターンデザインパターン
デザインパターン
 
MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座
 
Vim script と vimrc の正しい書き方@nagoya.vim #1
Vim script と vimrc の正しい書き方@nagoya.vim #1Vim script と vimrc の正しい書き方@nagoya.vim #1
Vim script と vimrc の正しい書き方@nagoya.vim #1
 
第4章 確率的学習---単純ベイズを使った分類
第4章 確率的学習---単純ベイズを使った分類第4章 確率的学習---単純ベイズを使った分類
第4章 確率的学習---単純ベイズを使った分類
 
やってはいけない空振りDelete
やってはいけない空振りDeleteやってはいけない空振りDelete
やってはいけない空振りDelete
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
 
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
 
チームメイトのためにdocstringを書こう! pyconjp2019
チームメイトのためにdocstringを書こう! pyconjp2019チームメイトのためにdocstringを書こう! pyconjp2019
チームメイトのためにdocstringを書こう! pyconjp2019
 
高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
 

Destaque

Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Kazuhiko Kato
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む2bo 2bo
 
自社開発をしていなかった会社が Python を選んだ理由
自社開発をしていなかった会社が Python を選んだ理由自社開発をしていなかった会社が Python を選んだ理由
自社開発をしていなかった会社が Python を選んだ理由Daisuke Komatsu
 
2012-07-07 Sapporo.r #1 LT発表資料 「仕事で使うR」
2012-07-07 Sapporo.r #1 LT発表資料 「仕事で使うR」2012-07-07 Sapporo.r #1 LT発表資料 「仕事で使うR」
2012-07-07 Sapporo.r #1 LT発表資料 「仕事で使うR」Yoshiyuki Nakamura
 
クラウド温泉への誘い 2015-08-01 「第48回データマイニング+WEB@東京」版
クラウド温泉への誘い 2015-08-01 「第48回データマイニング+WEB@東京」版クラウド温泉への誘い 2015-08-01 「第48回データマイニング+WEB@東京」版
クラウド温泉への誘い 2015-08-01 「第48回データマイニング+WEB@東京」版Yoshiyuki Nakamura
 
DL on Azure ML with Python where type DL = Deep Learning | Deep LOVE
DL on Azure ML with Python where type DL = Deep Learning | Deep LOVEDL on Azure ML with Python where type DL = Deep Learning | Deep LOVE
DL on Azure ML with Python where type DL = Deep Learning | Deep LOVEYoshiyuki Nakamura
 
Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cythonfuzzysphere
 
No te comas la coma
No te comas la comaNo te comas la coma
No te comas la comaPablo Rico
 
Scalaと過ごした5ヶ月間
Scalaと過ごした5ヶ月間Scalaと過ごした5ヶ月間
Scalaと過ごした5ヶ月間Haruki Okada
 
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていることWebの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていることKei Nakazawa
 
Hpcビジネスコンテンスト発表資料
Hpcビジネスコンテンスト発表資料Hpcビジネスコンテンスト発表資料
Hpcビジネスコンテンスト発表資料Hironori Nakajo
 
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発papamitra
 
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話omi end
 
Scala 初めての人が Heroku で Web アプリを公開するまで
Scala 初めての人が Heroku で Web アプリを公開するまでScala 初めての人が Heroku で Web アプリを公開するまで
Scala 初めての人が Heroku で Web アプリを公開するまでHideaki Miyake
 
多分モダンなWebアプリ開発
多分モダンなWebアプリ開発多分モダンなWebアプリ開発
多分モダンなWebアプリ開発tak-nakamura
 
Pythonの開発環境を調べてみた
Pythonの開発環境を調べてみたPythonの開発環境を調べてみた
Pythonの開発環境を調べてみたKenji NAKAGAKI
 
数理最適化とPython
数理最適化とPython数理最適化とPython
数理最適化とPythonYosuke Onoue
 
Google App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうGoogle App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうkenji4569
 
めんどくさくない Scala #kwkni_scala
めんどくさくない Scala #kwkni_scalaめんどくさくない Scala #kwkni_scala
めんどくさくない Scala #kwkni_scalaKazuhiro Sera
 

Destaque (20)

Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 
自社開発をしていなかった会社が Python を選んだ理由
自社開発をしていなかった会社が Python を選んだ理由自社開発をしていなかった会社が Python を選んだ理由
自社開発をしていなかった会社が Python を選んだ理由
 
2012-07-07 Sapporo.r #1 LT発表資料 「仕事で使うR」
2012-07-07 Sapporo.r #1 LT発表資料 「仕事で使うR」2012-07-07 Sapporo.r #1 LT発表資料 「仕事で使うR」
2012-07-07 Sapporo.r #1 LT発表資料 「仕事で使うR」
 
クラウド温泉への誘い 2015-08-01 「第48回データマイニング+WEB@東京」版
クラウド温泉への誘い 2015-08-01 「第48回データマイニング+WEB@東京」版クラウド温泉への誘い 2015-08-01 「第48回データマイニング+WEB@東京」版
クラウド温泉への誘い 2015-08-01 「第48回データマイニング+WEB@東京」版
 
DL on Azure ML with Python where type DL = Deep Learning | Deep LOVE
DL on Azure ML with Python where type DL = Deep Learning | Deep LOVEDL on Azure ML with Python where type DL = Deep Learning | Deep LOVE
DL on Azure ML with Python where type DL = Deep Learning | Deep LOVE
 
Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cython
 
No te comas la coma
No te comas la comaNo te comas la coma
No te comas la coma
 
Scalaと過ごした5ヶ月間
Scalaと過ごした5ヶ月間Scalaと過ごした5ヶ月間
Scalaと過ごした5ヶ月間
 
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていることWebの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
 
Hpcビジネスコンテンスト発表資料
Hpcビジネスコンテンスト発表資料Hpcビジネスコンテンスト発表資料
Hpcビジネスコンテンスト発表資料
 
Pythonについて
PythonについてPythonについて
Pythonについて
 
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
 
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
 
Scala 初めての人が Heroku で Web アプリを公開するまで
Scala 初めての人が Heroku で Web アプリを公開するまでScala 初めての人が Heroku で Web アプリを公開するまで
Scala 初めての人が Heroku で Web アプリを公開するまで
 
多分モダンなWebアプリ開発
多分モダンなWebアプリ開発多分モダンなWebアプリ開発
多分モダンなWebアプリ開発
 
Pythonの開発環境を調べてみた
Pythonの開発環境を調べてみたPythonの開発環境を調べてみた
Pythonの開発環境を調べてみた
 
数理最適化とPython
数理最適化とPython数理最適化とPython
数理最適化とPython
 
Google App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうGoogle App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろう
 
めんどくさくない Scala #kwkni_scala
めんどくさくない Scala #kwkni_scalaめんどくさくない Scala #kwkni_scala
めんどくさくない Scala #kwkni_scala
 

Semelhante a Pythonおじさんのweb2py挑戦記

Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Masahiro Kiura
 
クラウドセキュリティ基礎
クラウドセキュリティ基礎クラウドセキュリティ基礎
クラウドセキュリティ基礎Masahiro NAKAYAMA
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~Yuki Ando
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugSAKURUG co.
 
20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructure20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructurePreferred Networks
 
ChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かすChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かすDaisuke Taniwaki
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampMasahiro NAKAYAMA
 
「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態npsg
 
Mk network programmability-03
Mk network programmability-03Mk network programmability-03
Mk network programmability-03Miya Kohno
 
Node-redでプロトタイピング
Node-redでプロトタイピングNode-redでプロトタイピング
Node-redでプロトタイピングMakoto SAKAI
 
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話Takuya Kikuchi
 
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノートIoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノートKazumi IWANAGA
 
Windows Azure for PHP Developers
Windows Azure for PHP DevelopersWindows Azure for PHP Developers
Windows Azure for PHP Developersfumios
 
Microservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on AzureMicroservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on AzureTsukasa Kato
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料Recruit Technologies
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Dai Utsui
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていくRyo Mitoma
 
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
04 citynet awsセミナー_クラウドでビックデータのスモールスタート04 citynet awsセミナー_クラウドでビックデータのスモールスタート
04 citynet awsセミナー_クラウドでビックデータのスモールスタート充博 大崎
 
クラウドでビックデータのスモールスタート
クラウドでビックデータのスモールスタートクラウドでビックデータのスモールスタート
クラウドでビックデータのスモールスタートYukihito Kataoka
 
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告Code4Lib JAPAN
 

Semelhante a Pythonおじさんのweb2py挑戦記 (20)

Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Hueによる分析業務の改善事例
Hueによる分析業務の改善事例
 
クラウドセキュリティ基礎
クラウドセキュリティ基礎クラウドセキュリティ基礎
クラウドセキュリティ基礎
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurug
 
20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructure20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructure
 
ChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かすChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かす
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
 
「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態
 
Mk network programmability-03
Mk network programmability-03Mk network programmability-03
Mk network programmability-03
 
Node-redでプロトタイピング
Node-redでプロトタイピングNode-redでプロトタイピング
Node-redでプロトタイピング
 
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
 
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノートIoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
 
Windows Azure for PHP Developers
Windows Azure for PHP DevelopersWindows Azure for PHP Developers
Windows Azure for PHP Developers
 
Microservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on AzureMicroservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on Azure
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
04 citynet awsセミナー_クラウドでビックデータのスモールスタート04 citynet awsセミナー_クラウドでビックデータのスモールスタート
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
 
クラウドでビックデータのスモールスタート
クラウドでビックデータのスモールスタートクラウドでビックデータのスモールスタート
クラウドでビックデータのスモールスタート
 
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
 

Pythonおじさんのweb2py挑戦記