SlideShare a Scribd company logo
シックス・アパート・フレームワーク シックス・アパート株式会社 YAPC::Asia 2009
自己紹介  
重田崇嗣  (Takatsugu Shigeta) TypePad 開発 シニアマネージャー 2005 年 5 月 シックス・アパート株式会社入社  -> TypePad 開発エンジニア 2007 年 11 月  TypePad 開発 シニアマネージャー 現在に至る
TypePad Profiles http://www.typepad.com/profiles/
http://profile.typepad.com/comewalk  
 
Where is TypeKey?
" TypeKey is now part of TypePad    TypeKey has evolved, and is now part of TypePad." http://www.typepad.com/profiles/typekey-faq.html
Get started right away ! http://www.typepad.com/profiles/
会社紹介
会社概要 シックス・アパート株式会社  ( 英文 : Six Apart KK) 米国  Six Apart  の日本法人 SAKK  と呼ばれることもあります。
http://www.sixapart.jp/anniversary/history.html
http://www.sixapart.jp/anniversary/history.html
http://www.sixapart.jp/anniversary/history.html
http://www.sixapart.jp/anniversary/history.html
http://www.sixapart.jp/anniversary/history.html
twitter.com/sixapartkk twitter.com/sixapart
製品紹介
Movable Type TypePad Vox
http://blogs.com/
http://jp.blogs.com/
 
シックス・アパート・フレームワーク
Product History 2003 Released Movable Type 2.6 2003 Launched TypePad 2005 Acquired LiveJournal 2006 Released Movable Type 3.3 2006 Launched Vox 2007 Released Movable Type 4 2009 New TypePad 2009 Movable Type 5
MT  フレームワーク   ArcheType
MT フレームワーク
Product History 2003 Released  Movable Type  2.6 2003 Launched TypePad 2005 Acquired LiveJournal 2006 Released  Movable Type  3.3 2006 Launched Vox 2007 Released  Movable Type  4 2009 New TypePad 2009  Movable Type  5
 
http://conferences.yapcasia.org/ya2008/talk/1005
use base qw( MT );
Movable Type Directory Tree : / +--addons +--alt-tmpl +--default_templates +--extlib +--import +-- lib +--mt-static +--php +--plugins +--search_templates +--themes +--tmpl +--tools  
Movable Type Directory Tree: lib/MT +--MT |  +--App |  |  +--Search |  +--ArchiveType |  +--Asset |  +--Auth |  +--BackupRestore |  +--Cache |  +--CMS |  +--Compat |  +--FileMgr |  +--I18N |  +--L10N |  +--Meta |  +--Object |  +--ObjectDriver |  |  +--DDL |  |  +--Driver |  |  |  +--Cache |  |  |  +--DBD |  |  +--SQL |  +--Plugin |  +--Revisable |  +--Summary |  +--Template |  |  +--Context |  |  +--Tags |  +--Theme |  +--TheSchwartz |  +--Upgrade |  +--Util |  |  +--Archive |  |  +--YAML |  +--Worker
(Show Class Tree)
Model: MT::Object
 
( 例 ) MT::Entry package MT::Entry; use strict; use base qw( MT::Object  MT::Taggable MT::Scorable MT::Summarizable MT::Revisable  ); __PACKAGE__->install_properties({     column_defs => {         'id' => 'integer not null auto_increme
Create / Read # create new  my $entry = MT->model('entry')->new; $entry-> save ; # read one my $entry = MT->model('entry')-> load ($entryid); # use iterator my $iter = MT::Tag-> load_iter ( { id => \@tag_ids } ); while (my $tag = $iter->()) {      print $tag->name;  }
Update / Delete my $entry = MT->model('entry')-> load ($entry_id);   # update $entry->title('YAPC::Asia 2009'); $entry-> save ; # delete $entry-> remove ;
View: MT::Template
$app->load_tmpl( 'list_blog.tmpl', \%param );
     require MT::Template;     my $tmpl =  MT::Template->new (          ( 中略 )     ); MT::Component->load_tmpl
Controller: MT::App
1     mt.cgi?__mode=list_blog にアクセス 1.1   MT::CMS::Blog->list  へディスパッチ    use MT::Bootstrap App => 'MT::App::CMS';  1.1.1  ページ作成     sub list {    ( 中略 )      return $app->load_tmpl( 'list_blog.tmpl', \%param );     }
Plugins / Addons Callbacks
Product History 2003 Released Movable Type 2.6 2003 Launched  TypePad 2005 Acquired LiveJournal 2006 Released Movable Type 3.3 2006 Launched Vox 2007 Released Movable Type 4 2009 New TypePad 2009 Movable Type 5
Model: TypePad::Object
 
Create    my $entry = MT::Entry->new; $entry->save; Read    my $entry = MT::Entry->lookup($id);      my $iter = MT::Entry->search({domain=>'help.typepad.jp'});    my $entry = $iter->(); Update    my $entry = MT::Entry->lookup($id); $entry->save;  Delete    my $entry = MT::Entry->lookup($id); $entry->delete;
View: HTML::Template
Controller: MT::App
Plugins Callbacks  / Hooks Portal
Product History 2003 Released Movable Type 2.6 2003 Launched TypePad 2005 Acquired LiveJournal 2006 Released Movable Type 3.3 2006 Launched  Vox 2007 Released Movable Type 4 2009 New  TypePad 2009 Movable Type 5
Why Open Matters [It Pro Challenge 2008] http://www.slideshare.net/miyagawa/why-open-matters-it-pro-challenge-2008-presentation
YAPC::Asia 2008  - ArcheType room
“ We’re migrating TypePad to a next-generation platform, essentially a new infrastructure based on the best of what we’ve learned from Vox, Movable Type and over five years of development on TypePad” July 31, 2008 Building A Bright New TypePad http://everything.typepad.com/blog/2008/07/building-a-br-1.html
ArcheType
 
 
package TypePad::App ; use Catalyst  qw( ArcheType                  ArcheType::Analytics                  ArcheType::Data                  ArcheType::I18N                  ArcheType::iPhone                  ArcheType::JSONRPC                  ArcheType::Mobile                  ArcheType::TokenValidation                  Authentication::TypeCore                  AtomServer                  XMLRPC                  Compress::Gzip                  MortalForward                  PathFilters                );
ArcheType の位置づけ Catalyst ArcheType Vox TypePad
We are using Catalyst 5.7x
ArcheType Directories +-- archetype |  +--lib |  |  +-- ArcheType |  |  |  +-- Assets |  |  +-- Catalyst |  |  |  +-- Plugin | +-- typepad |  +-- lib |  |  +-- ArcheType |  |  |  +-- Assets |  |  +-- Catalyst |  |  |  +-- Plugin |  +-- templates
Model my $user = ArcheType::M::User->lookup_by_email(       'ben@sixapart.com’  );      How we build Vox  http://www.slideshare.net/miyagawa/how-we-build-vox
View typepad/lib/TypePad/App/V/JSON.pm: use base qw( Catalyst::View::JSON ); typepad/lib/TypePad/App/V/TT.pm: use base qw( TypeCore::Catalyst::View::TT ); typepad/lib/TypePad/App/V/Atom.pm: use base qw( Catalyst::View::Atom::XML );   typepad/lib/TypePad/App/V/XML.pm: use base qw( Catalyst::View );
Controller package TypePad::App::C::Dashboard; package ArcheType::C::Asset;
  # Access to http://www.typepad.com/site/blogs/<id>/dashboard sub dashboard : PathPart Chained( 'blog' )  # Access to http://www.typepad.com/site/blogs/<id>/comment/<id>/ sub comment : PathPart( 'comment' ) Chained( 'blog' ) CaptureArgs( 1 )
forwarding
Why did you adopt Catalyst? we wanted to move away from managing our own application framework  (MT::App, in MT and TP) we liked the API that Catalyst provided (Request/Response objects,  etc) we liked the dispatching mechanism Catalyst was the first such framework for Perl that felt like a good  fit for us
開発関連  
ドキュメント MediaWiki Kwiki  
ソースコード管理 Subversion Trac  
110000+ (end of Aug 2009)  since 1 Dec 2007
バグトラッキング  FogBugz  
http://www.fogcreek.com/FogBugz/
ソースコードレビュー Review Board  
http://www.review-board.org/
コミュニケーション IRC/Jabber/ メール /Polycom  
オープンソース  
http://code.sixapart.com/
http://www.sixapart.com/labs/
http://github.com/sixapart
http://conferences.yapcasia.org/ya2008/
http://conferences.yapcasia.org/ya2008/talk/1005
http://movabletype.org/
 
http://conferences.yapcasia.org/ya2008/talk/1145
http://start.typepad.jp/typecast/#typecast
http://start.typepad.jp/typecast/#emoji-about
 
http://www.sixapart.jp/ http://www.sixapart.com/
ご清聴ありがとうございました!

More Related Content

PPT
Changing Template Engine
PPT
Evolution of API With Blogging
PPT
What's new in Rails 2?
PDF
WordPress APIs
PDF
RESTful web services
KEY
Mojolicious - A new hope
PPTX
jQuery from the very beginning
PDF
Developing apps using Perl
Changing Template Engine
Evolution of API With Blogging
What's new in Rails 2?
WordPress APIs
RESTful web services
Mojolicious - A new hope
jQuery from the very beginning
Developing apps using Perl

What's hot (20)

PDF
Mojolicious. Веб в коробке!
ODP
Mojolicious on Steroids
PPTX
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
PDF
Inside Bokete: Web Application with Mojolicious and others
PDF
Mojolicious, real-time web framework
PDF
Mojolicious: what works and what doesn't
PPTX
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
KEY
Zend Framework Study@Tokyo vol1
PPTX
Webrtc mojo
PPT
Apache Camel - WJax 2008
PPT
symfony & jQuery (phpDay)
PPT
Php Basic Security
PDF
Avinash Kundaliya: Javascript and WordPress
PDF
Extending the WordPress REST API - Josh Pollock
PDF
jQuery Presentation to Rails Developers
PDF
Curso Symfony - Clase 4
PDF
Rails 3: Dashing to the Finish
PDF
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014
PPT
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
PDF
Curso Symfony - Clase 2
Mojolicious. Веб в коробке!
Mojolicious on Steroids
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Inside Bokete: Web Application with Mojolicious and others
Mojolicious, real-time web framework
Mojolicious: what works and what doesn't
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Zend Framework Study@Tokyo vol1
Webrtc mojo
Apache Camel - WJax 2008
symfony & jQuery (phpDay)
Php Basic Security
Avinash Kundaliya: Javascript and WordPress
Extending the WordPress REST API - Josh Pollock
jQuery Presentation to Rails Developers
Curso Symfony - Clase 4
Rails 3: Dashing to the Finish
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Curso Symfony - Clase 2
Ad

Viewers also liked (20)

PPS
Cảm nhận đọc Osho
PDF
Tiny
PDF
Fremtidsvisjon: Hvor bærer det hen?
PPS
Bản ngã - Tình yêu - Nỗi sợ
PPT
How to Effectively Engage with Your Target Audience Online
PDF
How It Works The Computer (1979 Edition)
PDF
Spectrum use summary_master-06212010
PPTX
Dich vu webapplication
PDF
Frameworks of skill and competence: what, why, when, how?
PPTX
11th NDHU History SA 期末結算完整板
ODP
Competences: the case for JISC
PPT
'Don’t affect the share price': social media policy in HE as reputation manag...
KEY
Kak6003
PPT
3. ke toan dau tu tai chinh ngan han
PPT
BA Presentation: Foundations of Dicision Making
PPT
Chuong 13 bai tiet
Cảm nhận đọc Osho
Tiny
Fremtidsvisjon: Hvor bærer det hen?
Bản ngã - Tình yêu - Nỗi sợ
How to Effectively Engage with Your Target Audience Online
How It Works The Computer (1979 Edition)
Spectrum use summary_master-06212010
Dich vu webapplication
Frameworks of skill and competence: what, why, when, how?
11th NDHU History SA 期末結算完整板
Competences: the case for JISC
'Don’t affect the share price': social media policy in HE as reputation manag...
Kak6003
3. ke toan dau tu tai chinh ngan han
BA Presentation: Foundations of Dicision Making
Chuong 13 bai tiet
Ad

Similar to シックス・アパート・フレームワーク (20)

PDF
Django - Framework web para perfeccionistas com prazos
PDF
More Secrets of JavaScript Libraries
TXT
Test upload
PDF
Rugalytics | Ruby Manor Nov 2008
PDF
Rack Middleware
PDF
Orbitz and Spring Webflow Case Study
PDF
yusukebe in Yokohama.pm 090909
PPT
Writing Pluggable Software
PPT
Forum Presentation
PDF
Perl web frameworks
PDF
Curscatalyst
PPT
Create a web-app with Cgi Appplication
PDF
T5 Oli Aro
PPT
HTML5 Overview
PDF
Systems Automation with Puppet
TXT
Elinvoimaa hunajasta-yleist-hunajatietoa-ja-kyttvinkkej
PPTX
The Django Web Application Framework 2
PPTX
The Django Web Application Framework 2
PPTX
The Django Web Application Framework 2
PPTX
The Django Web Application Framework 2
Django - Framework web para perfeccionistas com prazos
More Secrets of JavaScript Libraries
Test upload
Rugalytics | Ruby Manor Nov 2008
Rack Middleware
Orbitz and Spring Webflow Case Study
yusukebe in Yokohama.pm 090909
Writing Pluggable Software
Forum Presentation
Perl web frameworks
Curscatalyst
Create a web-app with Cgi Appplication
T5 Oli Aro
HTML5 Overview
Systems Automation with Puppet
Elinvoimaa hunajasta-yleist-hunajatietoa-ja-kyttvinkkej
The Django Web Application Framework 2
The Django Web Application Framework 2
The Django Web Application Framework 2
The Django Web Application Framework 2

シックス・アパート・フレームワーク