SlideShare a Scribd company logo
Story of CakePHP 2.0 2011.1.17 The New Year CakePHP Study in Tokyo
About  M e Name : Shimizu  Hiroki( hiromi2424 ) Job : Web  Developer(Freelance) L ibraries : github ( Transition ,  ModularAuth ) W ork : Translation H obby : S inging, Beer!!!
Introduction
CakePHP 2.0 has large number of enhancements It is no longer same thing compared with 1.x But there are many compatible stuff Most of libraries and applications also can be migrated easily Introduction
Summary Decoupling & Delegeting Request & Response Auth Loading Object On The Fly Others Various Problems Resolved Security Component Pagination More Flexible Routes Lazy Loading Conclusion
Decoupling & Delegeting
Decoupling & Delegeting Current Requst handling Request & Response Lose Consistency Hard to Test Ugly Workaround Impossible to Inherit
Decoupling & Delegeting Requst handling in CakePHP 2.0 Request & Response Same Object Common API Parse Request Convenient Method
Decoupling & Delegeting In Your Controller or so $this-> request ->here $this->params['prefix'] // also accesible but  deprecated $this-> request -> data (' User.name '); // returns name $this->request->data('User.ip_address', $this-> request -> clientIp () ); Request & Response
Decoupling & Delegeting Response Handling in CakePHP 2.0 Request & Response All of handling HTTP response would be  done through Response object Helps Media Rendering Download HTTP Systems
Decoupling & Delegeting Auth's Responsibility was too heavy Auth Validating Post Login Login/Logout Handling Loading Current User Various Autorization Pattern DarkAuth OpenID  and  OAuth
Decoupling & Delegeting Auth will be separated Auth Authentication  and  Authorization Basic ,  Digest  Authentication is already available Core Team giving a try to support  OpenID
Decoupling & Delegeting ObjectCollection is available Loading Object On The Fly In the past, there were similar  pattern s to load kinds of Object Components, helpers and tasks could not be loaded  dynamically Now Collection pattern is gathered at ObjectCollection
Decoupling & Delegeting Common API for Collections Loading Object On The Fly ObjectCollection load() attached() trigger() other methods Compatible methods like attach() is also available
Decoupling & Delegeting In Your  Controller $this->Components-> load ('Cookie', array('name' => 'MyCookie')) In Your  Component $this->Auth = $this-> _Collection -> load ('Auth'); In You  View $this->Time = $this-> loadHelper ('Time'); // convenient alias $this->Time = $this-> Helpers -> load ('Time');  In your  Model $this->Behaviors-> load ('Containable'); $this->Behaviors->attach('Containable'); // compatible Loading Object On The Fly
Decoupling & Delegeting Number of  classe s deletege Others Session Handler is now object Configure Reader is available You can load configurations  as  format ed you prefer , like  YAML ,  XML ,  JSON Error Handler and Exception Renderer cakeError () was used for simulation of Exception You can specify what handler is used in core config Custom Object  allows you to develop advanced and freely
Various Problems Resolved
Various Problems Resolved CSRF Protection enhancements Securty Component It was coupled with CSRF protection and form tampering safe-guards Disabling CSRF protection meant disabling form tampering safe-guards  also It prevented generating  dynamic form These are now standalone
Various Problems Resolved Multi-time token is available Securty Component There was only one-time token Sometimes it was not useful Now Security Component can be used practically
Various Problems Resolved Pagination supports GET method Pagination Only parsing query string was supported Generating query string was not supported Now GET method pagination is  fully supported
Various Problems Resolved New Paginator Options Pagination $maxLimit Prevent $limit being  too high value $paramType 'querystring' can be used for GET method ' convertKeys ' for PaginatorHelper::options() Allows other parameters to be included
Various Problems Resolved Behavior can have pagination methods Pagination There was no  way  to make sure what  method is available through Behaviors  on your model Model:: hasMethod () is implemented Mostly same to model methods paginate() paginateCount()
Various Problems Resolved Array can be used as a  named arguments More Flexible Routes Router could not handle array as  named arguments Router::url(array('named' => array())); => named: Array /named[hoge][piyo]:fuga => array('named [hoge][piyo] ' => 'fuga') Now deep array can be used
Various Problems Resolved Full url can be generated More Flexible Routes 1. 3 's custom routes handle only  relative  url function match($url) { return '/users/login'; } 2.x's custom routes can handle  absolute  url function match($url) { return ' https :// auth. example.com/users/login'; }
Various Problems Resolved Lazy Loading in sundry of places Lazy Loading Loading model  costs too expensive LazyModel Core supports lazy loading now Components Helpers Tasks Associated Models Loading controller's component is  not  lazy
Conclusion There are many and many  other  changes PHPUnit DataSource enahancements Nesting Transaction Postgress support improved Standa r dization  for directory structure Static Session ...  And so Core team works hard to make compatible ways Why do you not use 2.0?

More Related Content

What's hot

Supercharging WordPress Development - Wordcamp Brighton 2019
Supercharging WordPress Development - Wordcamp Brighton 2019Supercharging WordPress Development - Wordcamp Brighton 2019
Supercharging WordPress Development - Wordcamp Brighton 2019
Adam Tomat
 
Ajax
AjaxAjax
Ajax
Svirid
 
jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009
Ralph Whitbeck
 
Fluentlenium
FluentleniumFluentlenium
Fluentlenium
MathildeLemee
 
How to make Ajax work for you
How to make Ajax work for youHow to make Ajax work for you
How to make Ajax work for you
Simon Willison
 
jQuery PPT
jQuery PPTjQuery PPT
jQuery PPT
Dominic Arrojado
 
jQuery basics
jQuery basicsjQuery basics
jQuery basics
Stijn Van Minnebruggen
 
Experience Manager 6 Developer Features - Highlights
Experience Manager 6 Developer Features - HighlightsExperience Manager 6 Developer Features - Highlights
Experience Manager 6 Developer Features - Highlights
Cédric Hüsler
 
Enhance Web Performance
Enhance Web PerformanceEnhance Web Performance
Enhance Web Performance
Adam Lu
 
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
LinnAlexandra
 
WordPress and Ajax
WordPress and AjaxWordPress and Ajax
WordPress and Ajax
Ronald Huereca
 
WordPress Theme Development for Designers
WordPress Theme Development for DesignersWordPress Theme Development for Designers
WordPress Theme Development for Designers
elliotjaystocks
 
Backbone
BackboneBackbone
Backbone
Ynon Perek
 
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJRealize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Leonardo Balter
 
2014 database - course 1 - www introduction
2014 database - course 1 - www introduction2014 database - course 1 - www introduction
2014 database - course 1 - www introduction
Hung-yu Lin
 
Introduction to Html5
Introduction to Html5Introduction to Html5
Introduction to Html5
www.netgains.org
 
Perl Teach-In (part 1)
Perl Teach-In (part 1)Perl Teach-In (part 1)
Perl Teach-In (part 1)
Dave Cross
 
Html5 intro
Html5 introHtml5 intro
Html5 intro
Kevin DeRudder
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
Julien Lecomte
 
Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian Thilmany
Christian Thilmany
 

What's hot (20)

Supercharging WordPress Development - Wordcamp Brighton 2019
Supercharging WordPress Development - Wordcamp Brighton 2019Supercharging WordPress Development - Wordcamp Brighton 2019
Supercharging WordPress Development - Wordcamp Brighton 2019
 
Ajax
AjaxAjax
Ajax
 
jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009
 
Fluentlenium
FluentleniumFluentlenium
Fluentlenium
 
How to make Ajax work for you
How to make Ajax work for youHow to make Ajax work for you
How to make Ajax work for you
 
jQuery PPT
jQuery PPTjQuery PPT
jQuery PPT
 
jQuery basics
jQuery basicsjQuery basics
jQuery basics
 
Experience Manager 6 Developer Features - Highlights
Experience Manager 6 Developer Features - HighlightsExperience Manager 6 Developer Features - Highlights
Experience Manager 6 Developer Features - Highlights
 
Enhance Web Performance
Enhance Web PerformanceEnhance Web Performance
Enhance Web Performance
 
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
 
WordPress and Ajax
WordPress and AjaxWordPress and Ajax
WordPress and Ajax
 
WordPress Theme Development for Designers
WordPress Theme Development for DesignersWordPress Theme Development for Designers
WordPress Theme Development for Designers
 
Backbone
BackboneBackbone
Backbone
 
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJRealize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
 
2014 database - course 1 - www introduction
2014 database - course 1 - www introduction2014 database - course 1 - www introduction
2014 database - course 1 - www introduction
 
Introduction to Html5
Introduction to Html5Introduction to Html5
Introduction to Html5
 
Perl Teach-In (part 1)
Perl Teach-In (part 1)Perl Teach-In (part 1)
Perl Teach-In (part 1)
 
Html5 intro
Html5 introHtml5 intro
Html5 intro
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
 
Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian Thilmany
 

Viewers also liked

The Autumn Song
The  Autumn  SongThe  Autumn  Song
The Autumn Song
ednaabi
 
Cakephpstudy5 hacks jp
Cakephpstudy5 hacks jpCakephpstudy5 hacks jp
Cakephpstudy5 hacks jp
Hiroki Shimizu
 
God said no
God said noGod said no
God said no
Carina Cabaña
 
Cakephpstudy5 hacks
Cakephpstudy5 hacksCakephpstudy5 hacks
Cakephpstudy5 hacks
Hiroki Shimizu
 
Gettysburg
GettysburgGettysburg
Gettysburg
jamesbirving
 
Capacit de pers_p_el_exito_empresas
Capacit de pers_p_el_exito_empresasCapacit de pers_p_el_exito_empresas
Capacit de pers_p_el_exito_empresas
Luis Alberto Peralta Letiche
 
Ja story of cakephp2.0
Ja story of cakephp2.0Ja story of cakephp2.0
Ja story of cakephp2.0
Hiroki Shimizu
 
Tenses
TensesTenses
Tenses
akash
 

Viewers also liked (8)

The Autumn Song
The  Autumn  SongThe  Autumn  Song
The Autumn Song
 
Cakephpstudy5 hacks jp
Cakephpstudy5 hacks jpCakephpstudy5 hacks jp
Cakephpstudy5 hacks jp
 
God said no
God said noGod said no
God said no
 
Cakephpstudy5 hacks
Cakephpstudy5 hacksCakephpstudy5 hacks
Cakephpstudy5 hacks
 
Gettysburg
GettysburgGettysburg
Gettysburg
 
Capacit de pers_p_el_exito_empresas
Capacit de pers_p_el_exito_empresasCapacit de pers_p_el_exito_empresas
Capacit de pers_p_el_exito_empresas
 
Ja story of cakephp2.0
Ja story of cakephp2.0Ja story of cakephp2.0
Ja story of cakephp2.0
 
Tenses
TensesTenses
Tenses
 

Similar to En story of cakephp2.0

Designing CakePHP plugins for consuming APIs
Designing CakePHP plugins for consuming APIsDesigning CakePHP plugins for consuming APIs
Designing CakePHP plugins for consuming APIs
Neil Crookes
 
Implementing Comet using PHP
Implementing Comet using PHPImplementing Comet using PHP
Implementing Comet using PHP
King Foo
 
Practical catalyst
Practical catalystPractical catalyst
Practical catalyst
dwm042
 
Introduction To ASP.NET MVC
Introduction To ASP.NET MVCIntroduction To ASP.NET MVC
Introduction To ASP.NET MVC
Alan Dean
 
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
JBUG 11 - Django-The Web Framework For Perfectionists With DeadlinesJBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
Tikal Knowledge
 
Php frameworks
Php frameworksPhp frameworks
Php frameworks
Anil Kumar Panigrahi
 
Rey Bango - HTML5: polyfills and shims
Rey Bango -  HTML5: polyfills and shimsRey Bango -  HTML5: polyfills and shims
Rey Bango - HTML5: polyfills and shims
StarTech Conference
 
WordPress development paradigms, idiosyncrasies and other big words
WordPress development paradigms, idiosyncrasies and other big wordsWordPress development paradigms, idiosyncrasies and other big words
WordPress development paradigms, idiosyncrasies and other big words
TomAuger
 
Intro To Mvc Development In Php
Intro To Mvc Development In PhpIntro To Mvc Development In Php
Intro To Mvc Development In Php
funkatron
 
Basic testing with selenium
Basic testing with seleniumBasic testing with selenium
Basic testing with selenium
Søren Lund
 
Create a web-app with Cgi Appplication
Create a web-app with Cgi AppplicationCreate a web-app with Cgi Appplication
Create a web-app with Cgi Appplication
olegmmiller
 
Play framework productivity formula
Play framework   productivity formula Play framework   productivity formula
Play framework productivity formula
Sorin Chiprian
 
Play Framework: async I/O with Java and Scala
Play Framework: async I/O with Java and ScalaPlay Framework: async I/O with Java and Scala
Play Framework: async I/O with Java and Scala
Yevgeniy Brikman
 
jQuery Fundamentals
jQuery FundamentalsjQuery Fundamentals
jQuery Fundamentals
Doncho Minkov
 
Coder Presentation Szeged
Coder Presentation SzegedCoder Presentation Szeged
Coder Presentation Szeged
Doug Green
 
"Scala in Goozy", Alexey Zlobin
"Scala in Goozy", Alexey Zlobin "Scala in Goozy", Alexey Zlobin
"Scala in Goozy", Alexey Zlobin
Vasil Remeniuk
 
JavaOne TS-5098 Groovy SwingBuilder
JavaOne TS-5098 Groovy SwingBuilderJavaOne TS-5098 Groovy SwingBuilder
JavaOne TS-5098 Groovy SwingBuilder
Andres Almiray
 
Eugene Andruszczenko: jQuery
Eugene Andruszczenko: jQueryEugene Andruszczenko: jQuery
Eugene Andruszczenko: jQuery
Refresh Events
 
jQuery Presentation - Refresh Events
jQuery Presentation - Refresh EventsjQuery Presentation - Refresh Events
jQuery Presentation - Refresh Events
Eugene Andruszczenko
 
Http programming in play
Http programming in playHttp programming in play
Http programming in play
Knoldus Inc.
 

Similar to En story of cakephp2.0 (20)

Designing CakePHP plugins for consuming APIs
Designing CakePHP plugins for consuming APIsDesigning CakePHP plugins for consuming APIs
Designing CakePHP plugins for consuming APIs
 
Implementing Comet using PHP
Implementing Comet using PHPImplementing Comet using PHP
Implementing Comet using PHP
 
Practical catalyst
Practical catalystPractical catalyst
Practical catalyst
 
Introduction To ASP.NET MVC
Introduction To ASP.NET MVCIntroduction To ASP.NET MVC
Introduction To ASP.NET MVC
 
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
JBUG 11 - Django-The Web Framework For Perfectionists With DeadlinesJBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
 
Php frameworks
Php frameworksPhp frameworks
Php frameworks
 
Rey Bango - HTML5: polyfills and shims
Rey Bango -  HTML5: polyfills and shimsRey Bango -  HTML5: polyfills and shims
Rey Bango - HTML5: polyfills and shims
 
WordPress development paradigms, idiosyncrasies and other big words
WordPress development paradigms, idiosyncrasies and other big wordsWordPress development paradigms, idiosyncrasies and other big words
WordPress development paradigms, idiosyncrasies and other big words
 
Intro To Mvc Development In Php
Intro To Mvc Development In PhpIntro To Mvc Development In Php
Intro To Mvc Development In Php
 
Basic testing with selenium
Basic testing with seleniumBasic testing with selenium
Basic testing with selenium
 
Create a web-app with Cgi Appplication
Create a web-app with Cgi AppplicationCreate a web-app with Cgi Appplication
Create a web-app with Cgi Appplication
 
Play framework productivity formula
Play framework   productivity formula Play framework   productivity formula
Play framework productivity formula
 
Play Framework: async I/O with Java and Scala
Play Framework: async I/O with Java and ScalaPlay Framework: async I/O with Java and Scala
Play Framework: async I/O with Java and Scala
 
jQuery Fundamentals
jQuery FundamentalsjQuery Fundamentals
jQuery Fundamentals
 
Coder Presentation Szeged
Coder Presentation SzegedCoder Presentation Szeged
Coder Presentation Szeged
 
"Scala in Goozy", Alexey Zlobin
"Scala in Goozy", Alexey Zlobin "Scala in Goozy", Alexey Zlobin
"Scala in Goozy", Alexey Zlobin
 
JavaOne TS-5098 Groovy SwingBuilder
JavaOne TS-5098 Groovy SwingBuilderJavaOne TS-5098 Groovy SwingBuilder
JavaOne TS-5098 Groovy SwingBuilder
 
Eugene Andruszczenko: jQuery
Eugene Andruszczenko: jQueryEugene Andruszczenko: jQuery
Eugene Andruszczenko: jQuery
 
jQuery Presentation - Refresh Events
jQuery Presentation - Refresh EventsjQuery Presentation - Refresh Events
jQuery Presentation - Refresh Events
 
Http programming in play
Http programming in playHttp programming in play
Http programming in play
 

Recently uploaded

The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 

Recently uploaded (20)

The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 

En story of cakephp2.0

  • 1. Story of CakePHP 2.0 2011.1.17 The New Year CakePHP Study in Tokyo
  • 2. About M e Name : Shimizu Hiroki( hiromi2424 ) Job : Web Developer(Freelance) L ibraries : github ( Transition , ModularAuth ) W ork : Translation H obby : S inging, Beer!!!
  • 4. CakePHP 2.0 has large number of enhancements It is no longer same thing compared with 1.x But there are many compatible stuff Most of libraries and applications also can be migrated easily Introduction
  • 5. Summary Decoupling & Delegeting Request & Response Auth Loading Object On The Fly Others Various Problems Resolved Security Component Pagination More Flexible Routes Lazy Loading Conclusion
  • 7. Decoupling & Delegeting Current Requst handling Request & Response Lose Consistency Hard to Test Ugly Workaround Impossible to Inherit
  • 8. Decoupling & Delegeting Requst handling in CakePHP 2.0 Request & Response Same Object Common API Parse Request Convenient Method
  • 9. Decoupling & Delegeting In Your Controller or so $this-> request ->here $this->params['prefix'] // also accesible but deprecated $this-> request -> data (' User.name '); // returns name $this->request->data('User.ip_address', $this-> request -> clientIp () ); Request & Response
  • 10. Decoupling & Delegeting Response Handling in CakePHP 2.0 Request & Response All of handling HTTP response would be done through Response object Helps Media Rendering Download HTTP Systems
  • 11. Decoupling & Delegeting Auth's Responsibility was too heavy Auth Validating Post Login Login/Logout Handling Loading Current User Various Autorization Pattern DarkAuth OpenID and OAuth
  • 12. Decoupling & Delegeting Auth will be separated Auth Authentication and Authorization Basic , Digest Authentication is already available Core Team giving a try to support OpenID
  • 13. Decoupling & Delegeting ObjectCollection is available Loading Object On The Fly In the past, there were similar pattern s to load kinds of Object Components, helpers and tasks could not be loaded dynamically Now Collection pattern is gathered at ObjectCollection
  • 14. Decoupling & Delegeting Common API for Collections Loading Object On The Fly ObjectCollection load() attached() trigger() other methods Compatible methods like attach() is also available
  • 15. Decoupling & Delegeting In Your Controller $this->Components-> load ('Cookie', array('name' => 'MyCookie')) In Your Component $this->Auth = $this-> _Collection -> load ('Auth'); In You View $this->Time = $this-> loadHelper ('Time'); // convenient alias $this->Time = $this-> Helpers -> load ('Time'); In your Model $this->Behaviors-> load ('Containable'); $this->Behaviors->attach('Containable'); // compatible Loading Object On The Fly
  • 16. Decoupling & Delegeting Number of classe s deletege Others Session Handler is now object Configure Reader is available You can load configurations as format ed you prefer , like YAML , XML , JSON Error Handler and Exception Renderer cakeError () was used for simulation of Exception You can specify what handler is used in core config Custom Object allows you to develop advanced and freely
  • 18. Various Problems Resolved CSRF Protection enhancements Securty Component It was coupled with CSRF protection and form tampering safe-guards Disabling CSRF protection meant disabling form tampering safe-guards also It prevented generating dynamic form These are now standalone
  • 19. Various Problems Resolved Multi-time token is available Securty Component There was only one-time token Sometimes it was not useful Now Security Component can be used practically
  • 20. Various Problems Resolved Pagination supports GET method Pagination Only parsing query string was supported Generating query string was not supported Now GET method pagination is fully supported
  • 21. Various Problems Resolved New Paginator Options Pagination $maxLimit Prevent $limit being too high value $paramType 'querystring' can be used for GET method ' convertKeys ' for PaginatorHelper::options() Allows other parameters to be included
  • 22. Various Problems Resolved Behavior can have pagination methods Pagination There was no way to make sure what method is available through Behaviors on your model Model:: hasMethod () is implemented Mostly same to model methods paginate() paginateCount()
  • 23. Various Problems Resolved Array can be used as a named arguments More Flexible Routes Router could not handle array as named arguments Router::url(array('named' => array())); => named: Array /named[hoge][piyo]:fuga => array('named [hoge][piyo] ' => 'fuga') Now deep array can be used
  • 24. Various Problems Resolved Full url can be generated More Flexible Routes 1. 3 's custom routes handle only relative url function match($url) { return '/users/login'; } 2.x's custom routes can handle absolute url function match($url) { return ' https :// auth. example.com/users/login'; }
  • 25. Various Problems Resolved Lazy Loading in sundry of places Lazy Loading Loading model costs too expensive LazyModel Core supports lazy loading now Components Helpers Tasks Associated Models Loading controller's component is not lazy
  • 26. Conclusion There are many and many other changes PHPUnit DataSource enahancements Nesting Transaction Postgress support improved Standa r dization for directory structure Static Session ... And so Core team works hard to make compatible ways Why do you not use 2.0?