Submit Search
NanoA
Download as PPT, PDF
2 likes
17,084 views
Kazuho Oku
Introduction of NanoA, a minimalist web application framework written in perl
Technology
Read more
1 of 13
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
More Related Content
KEY
最強のPHP統合開発環境 PHPStorm
晃 遠山
PDF
フレームワークを使うべき 3 つの理由
Kenichi Mukai
PDF
PHPデプロイツールの世界
Yuuki Takezawa
PDF
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
PDF
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
晃 遠山
PPT
Puppet Best Practices? at COOKPAD
Gosuke Miyashita
PDF
Word pressのテーマは firephpでハックすれば 良かったのか
Hisateru Tanaka
PPTX
Open Source System Administration Framework - Func
Gosuke Miyashita
最強のPHP統合開発環境 PHPStorm
晃 遠山
フレームワークを使うべき 3 つの理由
Kenichi Mukai
PHPデプロイツールの世界
Yuuki Takezawa
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
晃 遠山
Puppet Best Practices? at COOKPAD
Gosuke Miyashita
Word pressのテーマは firephpでハックすれば 良かったのか
Hisateru Tanaka
Open Source System Administration Framework - Func
Gosuke Miyashita
What's hot
(20)
PDF
Behatで行う、E2Eテスト入門
leverages_event
PPTX
今日から始めるLaravel
Masaru Matsuo
PPTX
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
PDF
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
PDF
恋に落ちるデプロイツール
totty jp
KEY
Behat+Symfony2ではじめるBDD超入門
晃 遠山
PDF
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Tomoki Hasegawa
PDF
PHPとJavaScriptの噺
Shogo Kawahara
PPTX
Behat Driven Development
Ryo Tomidokoro
PDF
AspectMock 最強のモッキングフレームワーク
kenjis
PDF
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
PDF
はじめてLaravelさわった 第86回php勉強会
Osamu Kawasaki
PPTX
明日から始める Chef 入門 #bpstudy
Takeshi Komiya
PDF
Laravel 5.1 LTSでサービスを作る
infinite_loop
PPTX
PHPで並列処理する ライブラリを作った
Hironobu Saitoh
PDF
Ansible入門
Daiki Hayakawa
PDF
Maven基礎
Toshio Takiguchi
PDF
NorikraのJVMチューンで苦労している話
SATOSHI TAGOMORI
PDF
Laravel5を使って開発してみた
Takeo Noda
PPTX
活動報告9 laravel5入門-
vx-pc-club
Behatで行う、E2Eテスト入門
leverages_event
今日から始めるLaravel
Masaru Matsuo
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
恋に落ちるデプロイツール
totty jp
Behat+Symfony2ではじめるBDD超入門
晃 遠山
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Tomoki Hasegawa
PHPとJavaScriptの噺
Shogo Kawahara
Behat Driven Development
Ryo Tomidokoro
AspectMock 最強のモッキングフレームワーク
kenjis
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
はじめてLaravelさわった 第86回php勉強会
Osamu Kawasaki
明日から始める Chef 入門 #bpstudy
Takeshi Komiya
Laravel 5.1 LTSでサービスを作る
infinite_loop
PHPで並列処理する ライブラリを作った
Hironobu Saitoh
Ansible入門
Daiki Hayakawa
Maven基礎
Toshio Takiguchi
NorikraのJVMチューンで苦労している話
SATOSHI TAGOMORI
Laravel5を使って開発してみた
Takeo Noda
活動報告9 laravel5入門-
vx-pc-club
Ad
Viewers also liked
(20)
PPT
Political Cartooningtoputonblog
ab08028
PPT
Croatian christmas carols
Gavranica
PDF
Standardisierte Medizinische Übergaben - Wie lernen, lehren und implementiere...
Hendrik Drachsler
PDF
Persuasion Engineering - Training handout المادة التدريبية لدورة هندسة الإقناع
Hani Al-Menaii
PPTX
Infrastructure of Pathtraq
Kazuho Oku
PPT
Przenosiny
Maria Ptak
PPT
Unit 1.3 Introduction to Programming (Part 3)
Intan Jameel
PPTX
Lyddie: Unit2 lesson2
Terri Weiss
PPTX
Lyddie: Unit2 lesson1
Terri Weiss
PDF
Электронные журналы для планшетов. Новые возможности в Magtoapp Editor 1.42
Maria Podolyak
PDF
Perspectivas de la comunicación 2016
Davinia Suárez
PDF
Antropologia dźwięku. Foniczne reprezentacje kultur.
agata stanisz
PDF
Generazione 1000 €
Suni Martï
PPTX
Slavery Module: Lesson thirteen
Terri Weiss
PDF
How Recommender Systems in Technology-Enhanced Learning depend on Context
Hendrik Drachsler
PDF
Group Concpet Mapping Learning Analytics @ LASI Amsterdam
Hendrik Drachsler
PDF
Socialist Software Development - RubyConf 2010
CJ Kihlbom
PPTX
A Long Walk to Water: Lesson4 unit2
Terri Weiss
PPTX
Shandy Engaging The Social Media
SMU Komunitas Indonesia
PPT
Unit 1.3 Introduction to Programming (Part 1)
Intan Jameel
Political Cartooningtoputonblog
ab08028
Croatian christmas carols
Gavranica
Standardisierte Medizinische Übergaben - Wie lernen, lehren und implementiere...
Hendrik Drachsler
Persuasion Engineering - Training handout المادة التدريبية لدورة هندسة الإقناع
Hani Al-Menaii
Infrastructure of Pathtraq
Kazuho Oku
Przenosiny
Maria Ptak
Unit 1.3 Introduction to Programming (Part 3)
Intan Jameel
Lyddie: Unit2 lesson2
Terri Weiss
Lyddie: Unit2 lesson1
Terri Weiss
Электронные журналы для планшетов. Новые возможности в Magtoapp Editor 1.42
Maria Podolyak
Perspectivas de la comunicación 2016
Davinia Suárez
Antropologia dźwięku. Foniczne reprezentacje kultur.
agata stanisz
Generazione 1000 €
Suni Martï
Slavery Module: Lesson thirteen
Terri Weiss
How Recommender Systems in Technology-Enhanced Learning depend on Context
Hendrik Drachsler
Group Concpet Mapping Learning Analytics @ LASI Amsterdam
Hendrik Drachsler
Socialist Software Development - RubyConf 2010
CJ Kihlbom
A Long Walk to Water: Lesson4 unit2
Terri Weiss
Shandy Engaging The Social Media
SMU Komunitas Indonesia
Unit 1.3 Introduction to Programming (Part 1)
Intan Jameel
Ad
Similar to NanoA
(20)
PPTX
NAO/Pepper 開発環境 について
Takuji Kawata
PDF
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO
PPT
2009 PHP初心者
Hideo Kashioka
PDF
Web技術勉強会 第33回
龍一 田中
PDF
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
PDF
Cakephp
Yusuke Ando
PDF
PhoneGap勉強会 - 実践編 -
Katsumi Onishi
PDF
PHP で実行中のスクリプトの動作を下から覗き見る
shinjiigarashi
PPT
Apache Module
Tomohiro Ikebe
ODP
PHP With Windows binary
Masahiko Sakamoto
PDF
How to run P4 BMv2
Kentaro Ebisawa
PDF
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Masahito Zembutsu
PDF
Cloud Foundry構成概要 111018
Uemura Yuichi
PDF
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
PDF
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Shingo Kitayama
PDF
FuelPHP活用事例
Yusuke Naka
PPTX
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
PDF
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
PPTX
Windows Azure PHP Tips
Microsoft Openness Japan
PDF
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
NAO/Pepper 開発環境 について
Takuji Kawata
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO
2009 PHP初心者
Hideo Kashioka
Web技術勉強会 第33回
龍一 田中
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
Cakephp
Yusuke Ando
PhoneGap勉強会 - 実践編 -
Katsumi Onishi
PHP で実行中のスクリプトの動作を下から覗き見る
shinjiigarashi
Apache Module
Tomohiro Ikebe
PHP With Windows binary
Masahiko Sakamoto
How to run P4 BMv2
Kentaro Ebisawa
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Masahito Zembutsu
Cloud Foundry構成概要 111018
Uemura Yuichi
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Shingo Kitayama
FuelPHP活用事例
Yusuke Naka
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
Windows Azure PHP Tips
Microsoft Openness Japan
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
More from Kazuho Oku
(20)
PDF
HTTP/2で 速くなるとき ならないとき
Kazuho Oku
PDF
QUIC標準化動向 〜2017/7
Kazuho Oku
PDF
HTTP/2の課題と将来
Kazuho Oku
PDF
TLS 1.3 と 0-RTT のこわ〜い話
Kazuho Oku
PDF
Reorganizing Website Architecture for HTTP/2 and Beyond
Kazuho Oku
PPTX
Recent Advances in HTTP, controlling them using ruby
Kazuho Oku
PPTX
Programming TCP for responsiveness
Kazuho Oku
PDF
Programming TCP for responsiveness
Kazuho Oku
PDF
Developing the fastest HTTP/2 server
Kazuho Oku
PPTX
TLS & LURK @ IETF 95
Kazuho Oku
PPTX
HTTPとサーバ技術の最新動向
Kazuho Oku
PPTX
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
Kazuho Oku
PPTX
Cache aware-server-push in H2O version 1.5
Kazuho Oku
PDF
HTTP/2時代のウェブサイト設計
Kazuho Oku
PDF
H2O - making the Web faster
Kazuho Oku
PDF
H2O - making HTTP better
Kazuho Oku
PDF
H2O - the optimized HTTP server
Kazuho Oku
PPTX
JSON SQL Injection and the Lessons Learned
Kazuho Oku
PPTX
JSX 速さの秘密 - 高速なJavaScriptを書く方法
Kazuho Oku
PPTX
JSX の現在と未来 - Oct 26 2013
Kazuho Oku
HTTP/2で 速くなるとき ならないとき
Kazuho Oku
QUIC標準化動向 〜2017/7
Kazuho Oku
HTTP/2の課題と将来
Kazuho Oku
TLS 1.3 と 0-RTT のこわ〜い話
Kazuho Oku
Reorganizing Website Architecture for HTTP/2 and Beyond
Kazuho Oku
Recent Advances in HTTP, controlling them using ruby
Kazuho Oku
Programming TCP for responsiveness
Kazuho Oku
Programming TCP for responsiveness
Kazuho Oku
Developing the fastest HTTP/2 server
Kazuho Oku
TLS & LURK @ IETF 95
Kazuho Oku
HTTPとサーバ技術の最新動向
Kazuho Oku
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
Kazuho Oku
Cache aware-server-push in H2O version 1.5
Kazuho Oku
HTTP/2時代のウェブサイト設計
Kazuho Oku
H2O - making the Web faster
Kazuho Oku
H2O - making HTTP better
Kazuho Oku
H2O - the optimized HTTP server
Kazuho Oku
JSON SQL Injection and the Lessons Learned
Kazuho Oku
JSX 速さの秘密 - 高速なJavaScriptを書く方法
Kazuho Oku
JSX の現在と未来 - Oct 26 2013
Kazuho Oku
NanoA
1.
NanoA a minimalist
approach to WAF Cybozu Labs, Inc. Kazuho Oku
2.
自己紹介 サイボウズ・ラボ所属 ラボで作ったもの
Japanize, Pathtraq, Q4M, … 使用言語 C/C++, Perl, JavaScript, … 半分はミドルウェア屋さん パートタイム Perl デベロッパ パートタイム WebApp デベロッパ
3.
今日の Perl
WAF は複雑 ( のようだ ) プロ向けのツールとして発展してきた経緯 屋上屋を重ねすぎ 覚えることが多すぎる 情報がどこにあるかわからない パートタイムデベロッパーにはつらい ミドルウェア屋さんとか 研究屋さんとか 自営業の方とか
4.
WAF の余計な要素
ディスパッチテーブル ファイルパスを使えばいいじゃん テンプレートのエスケープ指示 テンプレートエンジンで自動処理できるはず コントローラとテンプレートの分離 We ♥ PHP! 設定ファイル Convention over Configuration
5.
WAF の余計な要素
(2) mod_perl ( fastcgi) が必須 CGI でも動いてほしい CGI で十分なケースも多い 例 : Japanize CPAN モジュールへの依存 インストールが面倒 環境依存は悪
6.
NanoA の特徴
インストーラ ディスパッチテーブルレス コンポーネント指向 View と Controller が可換 フォーム生成/バリデータが付属 CGI で ( も ) 高速 Simple but Powerful モジュールは MENTA と共有
7.
インストーラ CGI
1ファイルのみ 自己展開して suEXEC 環境なら自動設定 デモ
8.
コンポーネント指向 サービス開発時はアプレット「だけ」書く 設定は複数のアプレットで共有
例 : ユーザー管理コンポーネント , 設定コンポーネント , … という風にしたいけどコンポーネント書いてない UI の制限がない XOOPS
9.
View と
Controller が可換 View と Controller が同一の API をもつ PHP スタイルのコーディングも可能 ちょっとしたアプリケーションには便利 双方向にインクルード可能 View から Controller を呼び出したり Controller から View を呼び出したり デモ
10.
フォーム生成/バリデータ 基本的な項目が指定可能 required,
min_length, max_length, regexp, email, # of choices, … CSRF 対策が組み込み
11.
NanoA のディレクトリ構成
app/MyApp/start.pm を書くだけで動きます nanoa/ nanoa.cgi app/ app1/ start.pm -- app1 のトップページ app2/ config.pm -- app2 の全体設定 start.pm -- app2 のトップページ controller1.pm -- 別のコントローラ template/ -- テンプレートディレクトリ start.mt controller.mt
12.
例 :
掲示板 http: //kazuho .31tools. com/nanoa/nanoa . cgi/tinybbs/
13.
NanoA の今後
たぶん MENTA よりも思想性重視 機能的な部分は MENTA を svn externals 自作サービスでは使うつもり Japanize? アプレット開発者絶賛募集中 nanoa/trunk/app 下に置いてほしい Nanoa と一緒に配布します NanoA をよろしくお願いします
Download