SlideShare une entreprise Scribd logo
1  sur  108
Graham Weldon
OPEN
 SOURCE
SOFTWARE



Graham Weldon
2




    Graham Weldon
2   ABOUT ME
               Graham Weldon
               http://grahamweldon.com
               @predominant
               http://github.com/predominant




                                       Graham Weldon
2   ABOUT ME
               Graham Weldon
               http://grahamweldon.com
               @predominant
               http://github.com/predominant

               PHP Developer for 12 years




                                        Graham Weldon
2   ABOUT ME
               Graham Weldon
               http://grahamweldon.com
               @predominant
               http://github.com/predominant

               PHP Developer for 12 years

               Developer Evangelist




                                        Graham Weldon
2   ABOUT ME
               Graham Weldon
               http://grahamweldon.com
               @predominant
               http://github.com/predominant

               PHP Developer for 12 years

               Developer Evangelist

               Open Source contributor




                                         Graham Weldon
2   ABOUT ME
               Graham Weldon
               http://grahamweldon.com
               @predominant
               http://github.com/predominant

               PHP Developer for 12 years

               Developer Evangelist

               Open Source contributor

                 CakePHP
                 CandyCane
                 Sydney PHP User Group
                 HTML5 BoilerPlate
                 ThreeJS
                 LibGit




                                         Graham Weldon
3




    Graham Weldon
3   BACKGROUND
            1. Studied B. Engineering (Software) at
               Newcastle University




                                         Graham Weldon
3   BACKGROUND
            1. Studied B. Engineering (Software) at
               Newcastle University

            2. Started working during my degree
               studies




                                         Graham Weldon
3   BACKGROUND
            1. Studied B. Engineering (Software) at
               Newcastle University

            2. Started working during my degree
               studies

            3. Worked for local companies




                                         Graham Weldon
3   BACKGROUND
            1. Studied B. Engineering (Software) at
               Newcastle University

            2. Started working during my degree
               studies

            3. Worked for local companies

            4. During time at Fluid Lino, started
               looking at PHP Frameworks




                                         Graham Weldon
3   BACKGROUND
            1. Studied B. Engineering (Software) at
               Newcastle University

            2. Started working during my degree
               studies

            3. Worked for local companies

            4. During time at Fluid Lino, started
               looking at PHP Frameworks

            5. Was noticed for contributions




                                         Graham Weldon
3   BACKGROUND
            1. Studied B. Engineering (Software) at
               Newcastle University

            2. Started working during my degree
               studies

            3. Worked for local companies

            4. During time at Fluid Lino, started
               looking at PHP Frameworks

            5. Was noticed for contributions

            6. Offered position at CakeDC




                                         Graham Weldon
3   BACKGROUND
            1. Studied B. Engineering (Software) at
               Newcastle University

            2. Started working during my degree
               studies

            3. Worked for local companies

            4. During time at Fluid Lino, started
               looking at PHP Frameworks

            5. Was noticed for contributions

            6. Offered position at CakeDC

            7. Offered position in Japan!




                                            Graham Weldon
MVC STRUCTURE
SUMMARY
          CAKEPHP

          DEMO!

          OPEN SOURCE

          Q AND A
Graham Weldon
MVC
 CakePHP



Graham Weldon
Graham Weldon
MVC
Structure




            Graham Weldon
7




    Graham Weldon
7   IMPLEMENTATIONS




                      Graham Weldon
8




    Graham Weldon
8   SOME FRAMEWORKS

           Cake
           PHP             Symfony             Lithium




    Established 2003   Established 2007   Established 2009

    Fat Models         Module oriented    MicroFramework
    Thin Controllers   Package based      Fast routing/
    Logic-less PHP     Twig based Views   dispatch
    Views                   (Less-logic   PHP Views
                       Views)
    (ideally)                             Version 0
                       Version 2
    Version 2




                                                      Graham Weldon
9




    Graham Weldon
9   CASE STUDY
    1. CakePHP is one of the
       largest, most popular
       PHP frameworks
       worldwide




                               Graham Weldon
9   CASE STUDY
    1. CakePHP is one of the
       largest, most popular
       PHP frameworks
       worldwide

    2. Its been established for
       many years with a solid
       growth




                                  Graham Weldon
9   CASE STUDY
    1. CakePHP is one of the
       largest, most popular
       PHP frameworks
       worldwide

    2. Its been established for
       many years with a solid
       growth

    3. In many ways, its ahead
       of its time




                                  Graham Weldon
9   CASE STUDY
    1. CakePHP is one of the
       largest, most popular
       PHP frameworks
       worldwide

    2. Its been established for
       many years with a solid
       growth

    3. In many ways, its ahead
       of its time

    4. I’m a core developer




                                  Graham Weldon
10




     Graham Weldon
10   MVC STRUCTURE



     MODEL                       VIEW
     Data                    Output




              CONTROLLER
               Control




                           Graham Weldon
11




     Graham Weldon
11   3 STEPS TO SUCCESS


     STEP 1                                                               STEP 3
     Define Database                                          Customise Code


                                       STEP 2
                                  Generate Code




        MODELS                 VIEWS            BUSINESS
                                                 LOGIC     SECURITY      OTHERS

                 CONTROLLERS




                                                                      Graham Weldon
Graham Weldon
Let’s Build
Something!




              Graham Weldon
13




     Graham Weldon
13   3 STEPS TO SUCCESS


     STEP 1                                                               STEP 3
     Define Database                                          Customise Code


                                       STEP 2
                                  Generate Code




        MODELS                 VIEWS            BUSINESS
                                                 LOGIC     SECURITY      OTHERS

                 CONTROLLERS




                                                                      Graham Weldon
14




     Graham Weldon
14   DATABASE DESIGN




     USERS                   TAGS




                POSTS




                        Graham Weldon
15




     Graham Weldon
15   DATABASE DESIGN

                  JOIN
                 TABLE



                              TAGS




     USERS




                POSTS




                         Graham Weldon
16




     Graham Weldon
16   DATABASE




                Graham Weldon
17




     Graham Weldon
17   CODE GENERATION




                       Graham Weldon
18




     Graham Weldon
18   WHAT HAVE WE GOT?

         MODELS


         CONTROLLERS


         VIEWS


                         Graham Weldon
Graham Weldon
at thelook
 Lets code




             Graham Weldon
Graham Weldon
But... What
Does it do?




              Graham Weldon
Graham Weldon
What did I
just learn?




              Graham Weldon
22




     Graham Weldon
22   CAKEPHP’S MVC

         FAT MODELS


         THIN CONTROLLERS


         PLAIN PHP VIEWS


                            Graham Weldon
23




     Graham Weldon
23   WHAT ELSE?

          80% GENERATED


          20% EFFORT


          100% AWESOME


                          Graham Weldon
Graham Weldon
OPEN
  Source



Graham Weldon
25




     Graham Weldon
25   HISTORY

         1950-
         1970                 1970-
                              1982                    1983



     Sharing software    Developing             Richard Stallman
     for free was        software               founds the Free
     necessary to        becomes more           Software
     ensure that         and more               Foundation to
     hardware            expensive to           change the way
     purchased was put   achieve.               software is built,
     to good use.        Companies close        distributed and
     Without a free      their software and     shared.
     interchange of      retain tight control   To create software
     software and        over their digital     freedom for all.
     ideas, hardware     “investments”.
     would not have      This leads to less


                                                         Graham Weldon
26




     Graham Weldon
26   HISTORY

          1998                 2010                 2013



     “Open Source”       Open source          Anything is
     term is coined at   hardware             possible
     a FSF strategy      becomes
     meeting to avoid    mainstream,
     confusion with      bringing technical
     Netscape’s          advancements to
     impending           users and a
     navigator source    sharing of ideas.
     release.




                                                       Graham Weldon
27




     Graham Weldon
27   PERCEPTION




        How “Enterprise” businesses view developers




                                                  Graham Weldon
28




     Graham Weldon
28   PERCEPTION




        How “Enterprise” businesses view open source
                         developers




                                                   Graham Weldon
29




     Graham Weldon
29   PERCEPTION




                  Graham Weldon
30




     Graham Weldon
30   PERCEPTION




                  Graham Weldon
31




     Graham Weldon
31   COMPARISON

          Business            Freelance              Open
                                                    Source




     Working for a       Working for         Free at last? Yes!
     company where       yourself, right?    Freedom in
     you have a boss,    Wrong, you’re       various software
     maybe a project     working for your    licenses allows
     manager, or         clients, and they   you to use, modify
     otherwise, orders   dictate what        and release
     coming from         happens for the     software however
     management.         most part.          you like.




                                                       Graham Weldon
32




     Graham Weldon
32   CORPORATE LIFE




     BUSINESS                                DEVELOP
     ANALYSIS
     Assess needs                       Build out the
     and costings                           solution,
                                      minimum time,
                                          maximum
                                              output
                    PROJECT DEFINED
                    What we need
                    to build and
                      achieve




                                           Graham Weldon
33




     Graham Weldon
33   CORPORATE LIFE
               1. Businesses are profit driven.




                                           Graham Weldon
33   CORPORATE LIFE
               1. Businesses are profit driven.

               2. This makes complete sense.




                                           Graham Weldon
33   CORPORATE LIFE
               1. Businesses are profit driven.

               2. This makes complete sense.

               3. If something doesn’t directly
                  improve the bottom line, its unlikely
                  to be approved




                                            Graham Weldon
33   CORPORATE LIFE
               1. Businesses are profit driven.

               2. This makes complete sense.

               3. If something doesn’t directly
                  improve the bottom line, its unlikely
                  to be approved

               4. Development is controlled




                                            Graham Weldon
33   CORPORATE LIFE
               1. Businesses are profit driven.

               2. This makes complete sense.

               3. If something doesn’t directly
                  improve the bottom line, its unlikely
                  to be approved

               4. Development is controlled

               5. Development comes from corporate
                  goals and needs




                                            Graham Weldon
33   CORPORATE LIFE
               1. Businesses are profit driven.

               2. This makes complete sense.

               3. If something doesn’t directly
                  improve the bottom line, its unlikely
                  to be approved

               4. Development is controlled

               5. Development comes from corporate
                  goals and needs

               6. Not much freedom (Usually)




                                            Graham Weldon
34




     Graham Weldon
34   OPEN SOURCE




                   Graham Weldon
35




     Graham Weldon
35   OPEN SOURCE

         COMMUNITY


         FLEXIBILITY


         NEW TECHNOLOGY


                          Graham Weldon
Graham Weldon
Innovation
is driven by
 frustration




               Graham Weldon
37




     Graham Weldon
37    FRUSTRATION IS KEY

     100
                               Truly great software is
                               developed at or after the
      75                       point where a need is not
                               fulfilled well enough, that
                               a develop goes out and
      50                       builds the correct solution
                               on their own.

      25                       This results in software
                               that has purpose,
                               meaning and a true useful
       0                       application in the world.
           1   2   3   4   5




                                               Graham Weldon
38




     Graham Weldon
38   WHY OPEN SOURCE?
     1. It get you exposure in
        the global developer
        community




                                 Graham Weldon
38   WHY OPEN SOURCE?
     1. It get you exposure in
        the global developer
        community

     2. Other people may
        need / want your
        solution. (Help others)




                                  Graham Weldon
38   WHY OPEN SOURCE?
     1. It get you exposure in
        the global developer
        community

     2. Other people may
        need / want your
        solution. (Help others)

     3. Others may find issues
        or improvements, and
        contribute those back




                                  Graham Weldon
38   WHY OPEN SOURCE?
     1. It get you exposure in
        the global developer
        community

     2. Other people may
        need / want your
        solution. (Help others)

     3. Others may find issues
        or improvements, and
        contribute those back

     4. It helps make you a
        better developer




                                  Graham Weldon
39




     Graham Weldon
39   MANAGEMENT
             1. All projects are different.




                                              Graham Weldon
39   MANAGEMENT
             1. All projects are different.

             2. Based on what works best for the
                community and users




                                              Graham Weldon
39   MANAGEMENT
             1. All projects are different.

             2. Based on what works best for the
                community and users

             3. Generally a “meritocracy”




                                              Graham Weldon
39   MANAGEMENT
             1. All projects are different.

             2. Based on what works best for the
                community and users

             3. Generally a “meritocracy”

             4. ... unless there is corporate backing




                                              Graham Weldon
40



     responsibilities are objectively
     assigned to individuals based upon
     their "merits", namely intelligence,
     credentials, and education, determined
     through evaluations or examinations.




                                        Graham Weldon
40   MERITOCRACY?


       responsibilities are objectively
       assigned to individuals based upon
       their "merits", namely intelligence,
       credentials, and education, determined
       through evaluations or examinations.




                                          Graham Weldon
41




     Graham Weldon
41   TOOLS / SERVICES


       Github    Source
                 Forge      Codeplex




       Travis
         CI     BitBucket      ...




                                Graham Weldon
Graham Weldon
THANK
  you

www.YourName.com
              Graham Weldon

Contenu connexe

Similaire à CakePHP and Open Source - Newcastle University

Mainframe DevOps: A Zowe CLI-enabled Roadmap
Mainframe DevOps: A Zowe CLI-enabled RoadmapMainframe DevOps: A Zowe CLI-enabled Roadmap
Mainframe DevOps: A Zowe CLI-enabled RoadmapDevOps.com
 
Thinking after that disaster in cloud
Thinking after that disaster in cloudThinking after that disaster in cloud
Thinking after that disaster in cloudAmazon Web Services
 
DevOps for Mainframe: Open Source Fast Track
DevOps for Mainframe: Open Source Fast TrackDevOps for Mainframe: Open Source Fast Track
DevOps for Mainframe: Open Source Fast TrackDevOps.com
 
State of Mainframe DevOps
State of Mainframe DevOpsState of Mainframe DevOps
State of Mainframe DevOpsDevOps.com
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineDevOps.com
 
Testing on AWS - AWS IL meetup
Testing on AWS - AWS IL meetupTesting on AWS - AWS IL meetup
Testing on AWS - AWS IL meetupBoaz Ziniman
 
XebiaLabs: DevOps 2020 with Gene Kim
XebiaLabs: DevOps 2020 with Gene KimXebiaLabs: DevOps 2020 with Gene Kim
XebiaLabs: DevOps 2020 with Gene KimXebiaLabs
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1Sumanth Vepa
 
Docker and DevOps - Why it matters
Docker and DevOps - Why it mattersDocker and DevOps - Why it matters
Docker and DevOps - Why it mattersJeremy Brown
 
TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation IBM UrbanCode Products
 
Avatar Maven
Avatar MavenAvatar Maven
Avatar Mavenjlorenzen
 
Enterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & ZoweEnterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & ZoweDevOps.com
 
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...Yan Justino
 
Avoid Troubled Waters: Building a Bridge Between ServiceNow and CI/CD
Avoid Troubled Waters: Building a Bridge Between ServiceNow and CI/CDAvoid Troubled Waters: Building a Bridge Between ServiceNow and CI/CD
Avoid Troubled Waters: Building a Bridge Between ServiceNow and CI/CDXebiaLabs
 
Introduction to Laravel 4, Developer Conference - Digital World 2014
Introduction to Laravel 4, Developer Conference - Digital World 2014Introduction to Laravel 4, Developer Conference - Digital World 2014
Introduction to Laravel 4, Developer Conference - Digital World 2014Mozammel Haque
 
Bringing Innovation Faster to Customer via DevOps
Bringing Innovation Faster to Customer via DevOpsBringing Innovation Faster to Customer via DevOps
Bringing Innovation Faster to Customer via DevOpsMartin Yee Kee, Lee
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopMichael Palotas
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Amazon Web Services
 

Similaire à CakePHP and Open Source - Newcastle University (20)

Mainframe DevOps: A Zowe CLI-enabled Roadmap
Mainframe DevOps: A Zowe CLI-enabled RoadmapMainframe DevOps: A Zowe CLI-enabled Roadmap
Mainframe DevOps: A Zowe CLI-enabled Roadmap
 
Thinking after that disaster in cloud
Thinking after that disaster in cloudThinking after that disaster in cloud
Thinking after that disaster in cloud
 
DevOps for Mainframe: Open Source Fast Track
DevOps for Mainframe: Open Source Fast TrackDevOps for Mainframe: Open Source Fast Track
DevOps for Mainframe: Open Source Fast Track
 
State of Mainframe DevOps
State of Mainframe DevOpsState of Mainframe DevOps
State of Mainframe DevOps
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release Pipeline
 
Testing on AWS - AWS IL meetup
Testing on AWS - AWS IL meetupTesting on AWS - AWS IL meetup
Testing on AWS - AWS IL meetup
 
XebiaLabs: DevOps 2020 with Gene Kim
XebiaLabs: DevOps 2020 with Gene KimXebiaLabs: DevOps 2020 with Gene Kim
XebiaLabs: DevOps 2020 with Gene Kim
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1
 
Docker and DevOps - Why it matters
Docker and DevOps - Why it mattersDocker and DevOps - Why it matters
Docker and DevOps - Why it matters
 
TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation
 
Avatar Maven
Avatar MavenAvatar Maven
Avatar Maven
 
Enterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & ZoweEnterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & Zowe
 
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
 
Avoid Troubled Waters: Building a Bridge Between ServiceNow and CI/CD
Avoid Troubled Waters: Building a Bridge Between ServiceNow and CI/CDAvoid Troubled Waters: Building a Bridge Between ServiceNow and CI/CD
Avoid Troubled Waters: Building a Bridge Between ServiceNow and CI/CD
 
Introduction to Laravel 4, Developer Conference - Digital World 2014
Introduction to Laravel 4, Developer Conference - Digital World 2014Introduction to Laravel 4, Developer Conference - Digital World 2014
Introduction to Laravel 4, Developer Conference - Digital World 2014
 
Bringing Innovation Faster to Customer via DevOps
Bringing Innovation Faster to Customer via DevOpsBringing Innovation Faster to Customer via DevOps
Bringing Innovation Faster to Customer via DevOps
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
 
Hacking lab
Hacking labHacking lab
Hacking lab
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 

Plus de Graham Weldon

HackLang Introduction
HackLang IntroductionHackLang Introduction
HackLang IntroductionGraham Weldon
 
20130714 php matsuri - highly available php
20130714   php matsuri - highly available php20130714   php matsuri - highly available php
20130714 php matsuri - highly available phpGraham Weldon
 
SydPHP June 2012 - GovHack overview
SydPHP June 2012 - GovHack overviewSydPHP June 2012 - GovHack overview
SydPHP June 2012 - GovHack overviewGraham Weldon
 
Building 3D apps with Javascript
Building 3D apps with JavascriptBuilding 3D apps with Javascript
Building 3D apps with JavascriptGraham Weldon
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to TitaniumGraham Weldon
 
PHP 5.4 - Begin your love affair with traits
PHP 5.4 - Begin your love affair with traitsPHP 5.4 - Begin your love affair with traits
PHP 5.4 - Begin your love affair with traitsGraham Weldon
 
MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011Graham Weldon
 
CakePHP 2.0 - PHP Matsuri 2011
CakePHP 2.0 - PHP Matsuri 2011CakePHP 2.0 - PHP Matsuri 2011
CakePHP 2.0 - PHP Matsuri 2011Graham Weldon
 
CakePHP 2.0 - It'll rock your world
CakePHP 2.0 - It'll rock your worldCakePHP 2.0 - It'll rock your world
CakePHP 2.0 - It'll rock your worldGraham Weldon
 
CakePHP Tutorial - OSDC 2010
CakePHP Tutorial - OSDC 2010CakePHP Tutorial - OSDC 2010
CakePHP Tutorial - OSDC 2010Graham Weldon
 
Debugging and Profiling PHP
Debugging and Profiling PHPDebugging and Profiling PHP
Debugging and Profiling PHPGraham Weldon
 
OSDC LIghtning Talk - Context Free Art
OSDC LIghtning Talk - Context Free ArtOSDC LIghtning Talk - Context Free Art
OSDC LIghtning Talk - Context Free ArtGraham Weldon
 

Plus de Graham Weldon (13)

HackLang Introduction
HackLang IntroductionHackLang Introduction
HackLang Introduction
 
20130714 php matsuri - highly available php
20130714   php matsuri - highly available php20130714   php matsuri - highly available php
20130714 php matsuri - highly available php
 
SydPHP June 2012 - GovHack overview
SydPHP June 2012 - GovHack overviewSydPHP June 2012 - GovHack overview
SydPHP June 2012 - GovHack overview
 
Building 3D apps with Javascript
Building 3D apps with JavascriptBuilding 3D apps with Javascript
Building 3D apps with Javascript
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
 
PHP 5.4 - Begin your love affair with traits
PHP 5.4 - Begin your love affair with traitsPHP 5.4 - Begin your love affair with traits
PHP 5.4 - Begin your love affair with traits
 
MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011
 
CakePHP 2.0 - PHP Matsuri 2011
CakePHP 2.0 - PHP Matsuri 2011CakePHP 2.0 - PHP Matsuri 2011
CakePHP 2.0 - PHP Matsuri 2011
 
Nginx in production
Nginx in productionNginx in production
Nginx in production
 
CakePHP 2.0 - It'll rock your world
CakePHP 2.0 - It'll rock your worldCakePHP 2.0 - It'll rock your world
CakePHP 2.0 - It'll rock your world
 
CakePHP Tutorial - OSDC 2010
CakePHP Tutorial - OSDC 2010CakePHP Tutorial - OSDC 2010
CakePHP Tutorial - OSDC 2010
 
Debugging and Profiling PHP
Debugging and Profiling PHPDebugging and Profiling PHP
Debugging and Profiling PHP
 
OSDC LIghtning Talk - Context Free Art
OSDC LIghtning Talk - Context Free ArtOSDC LIghtning Talk - Context Free Art
OSDC LIghtning Talk - Context Free Art
 

Dernier

On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfDr Vijay Vishwakarma
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jisc
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 

Dernier (20)

On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 

CakePHP and Open Source - Newcastle University

  • 3. 2 Graham Weldon
  • 4. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant Graham Weldon
  • 5. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant PHP Developer for 12 years Graham Weldon
  • 6. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant PHP Developer for 12 years Developer Evangelist Graham Weldon
  • 7. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant PHP Developer for 12 years Developer Evangelist Open Source contributor Graham Weldon
  • 8. 2 ABOUT ME Graham Weldon http://grahamweldon.com @predominant http://github.com/predominant PHP Developer for 12 years Developer Evangelist Open Source contributor CakePHP CandyCane Sydney PHP User Group HTML5 BoilerPlate ThreeJS LibGit Graham Weldon
  • 9. 3 Graham Weldon
  • 10. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University Graham Weldon
  • 11. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies Graham Weldon
  • 12. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies Graham Weldon
  • 13. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies 4. During time at Fluid Lino, started looking at PHP Frameworks Graham Weldon
  • 14. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies 4. During time at Fluid Lino, started looking at PHP Frameworks 5. Was noticed for contributions Graham Weldon
  • 15. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies 4. During time at Fluid Lino, started looking at PHP Frameworks 5. Was noticed for contributions 6. Offered position at CakeDC Graham Weldon
  • 16. 3 BACKGROUND 1. Studied B. Engineering (Software) at Newcastle University 2. Started working during my degree studies 3. Worked for local companies 4. During time at Fluid Lino, started looking at PHP Frameworks 5. Was noticed for contributions 6. Offered position at CakeDC 7. Offered position in Japan! Graham Weldon
  • 17.
  • 18. MVC STRUCTURE SUMMARY CAKEPHP DEMO! OPEN SOURCE Q AND A
  • 22. MVC Structure Graham Weldon
  • 23. 7 Graham Weldon
  • 24. 7 IMPLEMENTATIONS Graham Weldon
  • 25. 8 Graham Weldon
  • 26. 8 SOME FRAMEWORKS Cake PHP Symfony Lithium Established 2003 Established 2007 Established 2009 Fat Models Module oriented MicroFramework Thin Controllers Package based Fast routing/ Logic-less PHP Twig based Views dispatch Views (Less-logic PHP Views Views) (ideally) Version 0 Version 2 Version 2 Graham Weldon
  • 27. 9 Graham Weldon
  • 28. 9 CASE STUDY 1. CakePHP is one of the largest, most popular PHP frameworks worldwide Graham Weldon
  • 29. 9 CASE STUDY 1. CakePHP is one of the largest, most popular PHP frameworks worldwide 2. Its been established for many years with a solid growth Graham Weldon
  • 30. 9 CASE STUDY 1. CakePHP is one of the largest, most popular PHP frameworks worldwide 2. Its been established for many years with a solid growth 3. In many ways, its ahead of its time Graham Weldon
  • 31. 9 CASE STUDY 1. CakePHP is one of the largest, most popular PHP frameworks worldwide 2. Its been established for many years with a solid growth 3. In many ways, its ahead of its time 4. I’m a core developer Graham Weldon
  • 32. 10 Graham Weldon
  • 33. 10 MVC STRUCTURE MODEL VIEW Data Output CONTROLLER Control Graham Weldon
  • 34. 11 Graham Weldon
  • 35. 11 3 STEPS TO SUCCESS STEP 1 STEP 3 Define Database Customise Code STEP 2 Generate Code MODELS VIEWS BUSINESS LOGIC SECURITY OTHERS CONTROLLERS Graham Weldon
  • 37. Let’s Build Something! Graham Weldon
  • 38. 13 Graham Weldon
  • 39. 13 3 STEPS TO SUCCESS STEP 1 STEP 3 Define Database Customise Code STEP 2 Generate Code MODELS VIEWS BUSINESS LOGIC SECURITY OTHERS CONTROLLERS Graham Weldon
  • 40. 14 Graham Weldon
  • 41. 14 DATABASE DESIGN USERS TAGS POSTS Graham Weldon
  • 42. 15 Graham Weldon
  • 43. 15 DATABASE DESIGN JOIN TABLE TAGS USERS POSTS Graham Weldon
  • 44. 16 Graham Weldon
  • 45. 16 DATABASE Graham Weldon
  • 46. 17 Graham Weldon
  • 47. 17 CODE GENERATION Graham Weldon
  • 48. 18 Graham Weldon
  • 49. 18 WHAT HAVE WE GOT? MODELS CONTROLLERS VIEWS Graham Weldon
  • 51. at thelook Lets code Graham Weldon
  • 53. But... What Does it do? Graham Weldon
  • 55. What did I just learn? Graham Weldon
  • 56. 22 Graham Weldon
  • 57. 22 CAKEPHP’S MVC FAT MODELS THIN CONTROLLERS PLAIN PHP VIEWS Graham Weldon
  • 58. 23 Graham Weldon
  • 59. 23 WHAT ELSE? 80% GENERATED 20% EFFORT 100% AWESOME Graham Weldon
  • 62. 25 Graham Weldon
  • 63. 25 HISTORY 1950- 1970 1970- 1982 1983 Sharing software Developing Richard Stallman for free was software founds the Free necessary to becomes more Software ensure that and more Foundation to hardware expensive to change the way purchased was put achieve. software is built, to good use. Companies close distributed and Without a free their software and shared. interchange of retain tight control To create software software and over their digital freedom for all. ideas, hardware “investments”. would not have This leads to less Graham Weldon
  • 64. 26 Graham Weldon
  • 65. 26 HISTORY 1998 2010 2013 “Open Source” Open source Anything is term is coined at hardware possible a FSF strategy becomes meeting to avoid mainstream, confusion with bringing technical Netscape’s advancements to impending users and a navigator source sharing of ideas. release. Graham Weldon
  • 66. 27 Graham Weldon
  • 67. 27 PERCEPTION How “Enterprise” businesses view developers Graham Weldon
  • 68. 28 Graham Weldon
  • 69. 28 PERCEPTION How “Enterprise” businesses view open source developers Graham Weldon
  • 70. 29 Graham Weldon
  • 71. 29 PERCEPTION Graham Weldon
  • 72. 30 Graham Weldon
  • 73. 30 PERCEPTION Graham Weldon
  • 74. 31 Graham Weldon
  • 75. 31 COMPARISON Business Freelance Open Source Working for a Working for Free at last? Yes! company where yourself, right? Freedom in you have a boss, Wrong, you’re various software maybe a project working for your licenses allows manager, or clients, and they you to use, modify otherwise, orders dictate what and release coming from happens for the software however management. most part. you like. Graham Weldon
  • 76. 32 Graham Weldon
  • 77. 32 CORPORATE LIFE BUSINESS DEVELOP ANALYSIS Assess needs Build out the and costings solution, minimum time, maximum output PROJECT DEFINED What we need to build and achieve Graham Weldon
  • 78. 33 Graham Weldon
  • 79. 33 CORPORATE LIFE 1. Businesses are profit driven. Graham Weldon
  • 80. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. Graham Weldon
  • 81. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. 3. If something doesn’t directly improve the bottom line, its unlikely to be approved Graham Weldon
  • 82. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. 3. If something doesn’t directly improve the bottom line, its unlikely to be approved 4. Development is controlled Graham Weldon
  • 83. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. 3. If something doesn’t directly improve the bottom line, its unlikely to be approved 4. Development is controlled 5. Development comes from corporate goals and needs Graham Weldon
  • 84. 33 CORPORATE LIFE 1. Businesses are profit driven. 2. This makes complete sense. 3. If something doesn’t directly improve the bottom line, its unlikely to be approved 4. Development is controlled 5. Development comes from corporate goals and needs 6. Not much freedom (Usually) Graham Weldon
  • 85. 34 Graham Weldon
  • 86. 34 OPEN SOURCE Graham Weldon
  • 87. 35 Graham Weldon
  • 88. 35 OPEN SOURCE COMMUNITY FLEXIBILITY NEW TECHNOLOGY Graham Weldon
  • 90. Innovation is driven by frustration Graham Weldon
  • 91. 37 Graham Weldon
  • 92. 37 FRUSTRATION IS KEY 100 Truly great software is developed at or after the 75 point where a need is not fulfilled well enough, that a develop goes out and 50 builds the correct solution on their own. 25 This results in software that has purpose, meaning and a true useful 0 application in the world. 1 2 3 4 5 Graham Weldon
  • 93. 38 Graham Weldon
  • 94. 38 WHY OPEN SOURCE? 1. It get you exposure in the global developer community Graham Weldon
  • 95. 38 WHY OPEN SOURCE? 1. It get you exposure in the global developer community 2. Other people may need / want your solution. (Help others) Graham Weldon
  • 96. 38 WHY OPEN SOURCE? 1. It get you exposure in the global developer community 2. Other people may need / want your solution. (Help others) 3. Others may find issues or improvements, and contribute those back Graham Weldon
  • 97. 38 WHY OPEN SOURCE? 1. It get you exposure in the global developer community 2. Other people may need / want your solution. (Help others) 3. Others may find issues or improvements, and contribute those back 4. It helps make you a better developer Graham Weldon
  • 98. 39 Graham Weldon
  • 99. 39 MANAGEMENT 1. All projects are different. Graham Weldon
  • 100. 39 MANAGEMENT 1. All projects are different. 2. Based on what works best for the community and users Graham Weldon
  • 101. 39 MANAGEMENT 1. All projects are different. 2. Based on what works best for the community and users 3. Generally a “meritocracy” Graham Weldon
  • 102. 39 MANAGEMENT 1. All projects are different. 2. Based on what works best for the community and users 3. Generally a “meritocracy” 4. ... unless there is corporate backing Graham Weldon
  • 103. 40 responsibilities are objectively assigned to individuals based upon their "merits", namely intelligence, credentials, and education, determined through evaluations or examinations. Graham Weldon
  • 104. 40 MERITOCRACY? responsibilities are objectively assigned to individuals based upon their "merits", namely intelligence, credentials, and education, determined through evaluations or examinations. Graham Weldon
  • 105. 41 Graham Weldon
  • 106. 41 TOOLS / SERVICES Github Source Forge Codeplex Travis CI BitBucket ... Graham Weldon
  • 108. THANK you www.YourName.com Graham Weldon

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  106. - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  107. - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  108. - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  109. - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  110. - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  111. - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  112. - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  113. - When Josh talked about Maven he mentioned Convention over Configuration\n- CakePHP is similar in its approach\n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. \n
  128. \n
  129. \n
  130. \n
  131. \n
  132. \n
  133. \n
  134. \n
  135. \n
  136. \n
  137. \n
  138. \n
  139. \n
  140. \n
  141. \n
  142. \n
  143. \n
  144. \n
  145. \n
  146. \n
  147. \n
  148. \n
  149. \n
  150. \n
  151. \n
  152. \n
  153. 1980 - Copyright is permitted to cover computer software\n
  154. 1980 - Copyright is permitted to cover computer software\n
  155. 1980 - Copyright is permitted to cover computer software\n
  156. 1980 - Copyright is permitted to cover computer software\n
  157. 1980 - Copyright is permitted to cover computer software\n
  158. 1980 - Copyright is permitted to cover computer software\n
  159. 1980 - Copyright is permitted to cover computer software\n
  160. 1980 - Copyright is permitted to cover computer software\n
  161. 1980 - Copyright is permitted to cover computer software\n
  162. 1980 - Copyright is permitted to cover computer software\n
  163. 1980 - Copyright is permitted to cover computer software\n
  164. 1980 - Copyright is permitted to cover computer software\n
  165. 1980 - Copyright is permitted to cover computer software\n
  166. 1980 - Copyright is permitted to cover computer software\n
  167. \n
  168. \n
  169. \n
  170. \n
  171. \n
  172. \n
  173. 1980 - Copyright is permitted to cover computer software\n
  174. 1980 - Copyright is permitted to cover computer software\n
  175. 1980 - Copyright is permitted to cover computer software\n
  176. 1980 - Copyright is permitted to cover computer software\n
  177. 1980 - Copyright is permitted to cover computer software\n
  178. 1980 - Copyright is permitted to cover computer software\n
  179. 1980 - Copyright is permitted to cover computer software\n
  180. \n
  181. \n
  182. \n
  183. \n
  184. \n
  185. \n
  186. \n
  187. \n
  188. \n
  189. \n
  190. \n
  191. \n
  192. \n
  193. \n
  194. \n
  195. \n
  196. \n
  197. \n
  198. - Need to do whats right for your community\n- Building a community is a big part\n- \n
  199. - Need to do whats right for your community\n- Building a community is a big part\n- \n
  200. - Need to do whats right for your community\n- Building a community is a big part\n- \n
  201. - Need to do whats right for your community\n- Building a community is a big part\n- \n
  202. - Need to do whats right for your community\n- Building a community is a big part\n- \n
  203. - Need to do whats right for your community\n- Building a community is a big part\n- \n
  204. - Need to do whats right for your community\n- Building a community is a big part\n- \n
  205. \n
  206. \n
  207. \n
  208. \n
  209. \n
  210. \n
  211. \n
  212. \n
  213. \n
  214. \n
  215. \n
  216. \n
  217. \n
  218. \n
  219. \n
  220. \n
  221. \n
  222. \n
  223. \n
  224. \n
  225. \n
  226. \n
  227. \n
  228. \n
  229. \n
  230. \n
  231. \n
  232. \n
  233. \n
  234. \n
  235. \n
  236. \n
  237. \n
  238. \n
  239. \n
  240. \n
  241. \n
  242. \n
  243. \n
  244. \n
  245. \n
  246. \n
  247. \n
  248. \n
  249. \n
  250. \n
  251. \n
  252. \n
  253. \n
  254. \n
  255. \n
  256. \n
  257. \n
  258. \n
  259. \n
  260. \n
  261. \n
  262. \n
  263. \n
  264. \n
  265. \n
  266. \n
  267. \n
  268. \n
  269. \n
  270. \n
  271. \n
  272. \n
  273. \n
  274. \n
  275. \n
  276. \n
  277. \n
  278. \n
  279. \n
  280. \n
  281. \n
  282. \n
  283. \n
  284. \n
  285. \n
  286. \n
  287. \n
  288. \n
  289. \n
  290. \n
  291. \n
  292. \n
  293. \n
  294. \n
  295. \n
  296. \n
  297. \n
  298. \n
  299. \n
  300. \n
  301. \n
  302. \n
  303. \n
  304. \n
  305. \n
  306. \n
  307. \n
  308. \n
  309. \n
  310. \n
  311. \n
  312. \n
  313. \n
  314. \n
  315. \n
  316. \n
  317. \n
  318. \n
  319. \n
  320. \n
  321. \n
  322. \n
  323. \n
  324. \n
  325. \n
  326. \n
  327. \n
  328. \n
  329. \n
  330. \n
  331. \n
  332. \n
  333. \n
  334. \n
  335. \n
  336. \n
  337. \n
  338. \n
  339. \n
  340. \n
  341. \n
  342. \n
  343. \n
  344. \n
  345. \n
  346. \n
  347. \n
  348. \n
  349. \n
  350. \n
  351. \n
  352. \n
  353. \n
  354. \n
  355. \n
  356. \n
  357. \n
  358. \n
  359. \n
  360. \n
  361. \n
  362. \n
  363. \n
  364. \n
  365. \n
  366. \n
  367. \n
  368. \n
  369. \n
  370. \n
  371. \n
  372. \n
  373. \n
  374. \n