Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building Facebook Apps in the Cloud with PHP

Building Facebook Apps in the Cloud with PHP

Creating an effective development workflow for building Facebook Apps in the Cloud with PHP. Part one of a two part talk with Colm Doyle from Facebook.

Kevin Holler

February 28, 2012
Tweet

More Decks by Kevin Holler

Other Decks in Technology

Transcript

  1. •  Windows: WAMP –  http://www.wampserver.com/en/ •  Mac OS X: MAMP

    –  http://www.mamp.info/en/index.html •  Linux: LAMP –  https://help.ubuntu.com/community/ApacheMySQLPHP •  Multi OS: XAMPP –  http://www.apachefriends.org/en/xampp.html •  Roll your own! Setting up your Local Stack 3
  2. 1.  Create project folder called 0.1, edit files, save changes.

    2.  Upload to server via FTP 3.  Duplicate the folder to work on a new feature and rename new folder to 0.2 4.  Open editor and start working on new changes, edit files, save. 5.  You forgot to open the new project in your editor and overwrote your new changes to 0.1. @#$%! Traditional Workflow Example 4
  3. Introducing Version Control 7 •  Record changes to a file

    or set of files that can be recalled at a later stage •  Revert files or projects back to a previous state •  Easily recover lost files •  Identify where a problem or bug was first introduced
  4. •  Each checkout of the repository acts as a remote

    backup of the code-base and change history •  All the data you need is now local •  Faster •  You can work offline •  There is no single point of failure! Distributed Version Control 9
  5. •  Git is a distributed version control system •  Free

    and Open Source •  Handle projects of all sizes •  Allows you to create multiple workflows depending on your project •  Staging area •  Installing git: –  http://git-scm.herokuapp.com/book/en/Getting-Started- Installing-Git Git 11
  6. •  git init –  Initialise your empty .git repository • 

    git add . –  Add all the contents in the directory •  git commit –m “first commit” –  Add all the file changes into your first commit Create a Git Repository 12
  7. •  Managing software releases •  Continuous cycle of development, testing

    and release •  Push features out faster •  Better QA before release •  Important for bigger teams Release Management 13
  8. •  Development Environment –  Local development –  Testing and bug

    fixes •  Staging Environment –  Real world testing of stable codebase before final release •  Production Environment –  Live production application Development, Staging & Production 14
  9. •  Code hosting for git repositories •  Public and private

    repos •  Team management •  Fork repositories •  Send Pull Requests Github 15
  10. •  Create a repository in the dashboard •  Setup your

    ssh keys •  git remote add origin [email protected]:username/repo-name.git •  git push origin master •  Your code is now online and ready to be deployed Uploading your code to Github 16