SlideShare uma empresa Scribd logo
1 de 113
Baixar para ler offline
Preparing for the
WebGeek DevCup

       Bryan Bibat
   pangkaraniwang developer
6 Hours
NOT
ENOUGH
 TIME!
Solution:
Do everything that you can
   do before the event
according to the rules:
No Offsite Development:

   All development must be
performed on-site between the
 aforementioned start and end
       times for the event.
No Offsite Development:

  We don’t allow teams to re-
purpose an existing app, add a
 feature, then flog their badly
   disguised demo as a hack.
HOWEVER
Languages & Tools:

  Applications may be assembled
  using any mix of programming
languages, application frameworks,
      and development tools.
You cannot pre-build an app,
but you can pre-build a framework.
framework
          ≈
app that does nothing
Rest of this talk:
●
    Preparing your App/Framework
     ●
       Preparing everything else
For professional developers:
     nothing new here!
App Prep
Languages?
Frameworks?
Databases?
Third-party APIs?
doesn't matter
     (had app)
Choose what you are
  comfortable with
less time Google-ing
          =
  more time coding
Once you've decided...
Build your "framework"
your framework must:
   ●
       run on a web server
your framework must:
     ●
       run on a web server
●
  not have errors when browsed
your framework must:
      ●
         run on a web server
  ●
    not have errors when browsed
●
  connect to a database, if needed
your framework must:
      ●
         run on a web server
  ●
    not have errors when browsed
●
  connect to a database, if needed
      ●
        not do anything else
          (dummy programs are ok)
Feel free to add modules found
      in other frameworks
Framework Modules


Front End Design Frameworks
Framework Modules


   Page Templating
Framework Modules


   Administration
Framework Modules




   Authentication
Framework Modules




     Pagination
demo
Apart from framework setup,
 your biggest potential time
      waster would be...
Machine Prep
Install everything
   beforehand!
Don't expect the Wi-Fi to be
   flawless on the event
Make sure everyone in your
team is able to execute and
    develop your app
Possible option:

Virtual Environments
Once you can run the app, go
install whatever you want in
         your machine
Have a backup internet
      connection
Make sure everyone in your
team is able to execute and
    develop your app
Revision Control
"If it's not in version control, it
          doesn't exist."
The Joel Test
  (http://www.joelonsoftware.com/articles/fog0000000043.html)




1. Do you use source control?
Also proves you didn't cheat
Doesn't matter what you choose
    as long as you use one
Share your code.

Don't worry about people
       copying it.
Deployment
Making your app available on
the internet is optional, but will
       help in the judging
The Joel Test
   (http://www.joelonsoftware.com/articles/fog0000000043.html)




2. Can you make a build in one step?
Option 1:

Use push-based hosting
Option 2:

Deploy Automation Tools
one command:

 cap deploy
Everything's prepped except the
     most important part...
Team Prep
Communication is key!
       (yes it's cliche)
asset creation and integration,
asset creation and integration,
      conflict resolution,
asset creation and integration,
      conflict resolution,
    bug finding and fixing,
asset creation and integration,
      conflict resolution,
    bug finding and fixing,
 feature creation and pruning,
asset creation and integration,
      conflict resolution,
    bug finding and fixing,
 feature creation and pruning,
               etc.
No ideal group composition -
 work with what you have
Mostly devs?
Focus on the functionality. Take
risks in experimental technology.
Mostly designers?
 Limit features but polish them.
Focus on making your app usable.
Don't forget the basics!
Problems are easier to fix
  in design than in code
POP QUIZ
Your software project is
  running very late,
   what do you do?
Your software project is running
   very late, what do you do?


A. Add more people to the project
Your software project is running
   very late, what do you do?


A. Add more people to the project
   B. Make people work harder
Your software project is running
   very late, what do you do?


A. Add more people to the project
   B. Make people work harder
   C. Cut unnecessary features
If you answered A or B,




I have bad news for you
Your software project is running
   very late, what do you do?


A. Add more people to the project
   B. Make people work harder
   C. Cut unnecessary features
Self Prep
Get some sleep
Bring a jacket
Say no to drugs...
...or whatever floats your boat
Remind yourself
 to take breaks
HAVE FUN!
HAVE FUN!
   meh
LEARN
LEARN
about others and about yourself
Thank you for listening!



   bryanbibat.net | @bry_bibat
  speakerdeck.com/u/bryanbibat
For the bored,
here's me doing a dry run:
http://youtu.be/ZE15NycXHJk
       (2 hours, 1 app)
Thank you for listening!



   bryanbibat.net | @bry_bibat
  speakerdeck.com/u/bryanbibat

Mais conteúdo relacionado

Mais procurados

I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application Testing
Peter Presnell
 

Mais procurados (20)

JavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disasterJavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disaster
 
Enterprise Development on a Shoestring Budget
Enterprise Development on a Shoestring BudgetEnterprise Development on a Shoestring Budget
Enterprise Development on a Shoestring Budget
 
Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!
 
GOTO Amsterdam 2016 - The DevOps Disaster
GOTO Amsterdam 2016 - The DevOps DisasterGOTO Amsterdam 2016 - The DevOps Disaster
GOTO Amsterdam 2016 - The DevOps Disaster
 
Pavel Nikolov: Inspire
Pavel Nikolov: InspirePavel Nikolov: Inspire
Pavel Nikolov: Inspire
 
Failfast
FailfastFailfast
Failfast
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application Testing
 
How to Get Started with Cypress
How to Get Started with CypressHow to Get Started with Cypress
How to Get Started with Cypress
 
Pain Driven Development by Alexandr Sugak
Pain Driven Development by Alexandr SugakPain Driven Development by Alexandr Sugak
Pain Driven Development by Alexandr Sugak
 
Selenium conference, 2016
Selenium conference, 2016Selenium conference, 2016
Selenium conference, 2016
 
html5 & phonegap
html5 & phonegaphtml5 & phonegap
html5 & phonegap
 
Something drupal this way comes
Something drupal this way comesSomething drupal this way comes
Something drupal this way comes
 
Question 6
Question 6 Question 6
Question 6
 
Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
 
How QCLean Works? Introduction to Browser Extensions
How QCLean Works? Introduction to Browser ExtensionsHow QCLean Works? Introduction to Browser Extensions
How QCLean Works? Introduction to Browser Extensions
 
Justin Ison
Justin IsonJustin Ison
Justin Ison
 
iOS Scroll Performance
iOS Scroll PerformanceiOS Scroll Performance
iOS Scroll Performance
 
Evaluation question 6
Evaluation question 6Evaluation question 6
Evaluation question 6
 
Open NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and mattersOpen NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and matters
 

Destaque

Static Sites in Ruby
Static Sites in RubyStatic Sites in Ruby
Static Sites in Ruby
bryanbibat
 
Ruby On Rails Tutorial
Ruby On Rails TutorialRuby On Rails Tutorial
Ruby On Rails Tutorial
sunniboy
 

Destaque (13)

Rails is Easy*
Rails is Easy*Rails is Easy*
Rails is Easy*
 
Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)
 
Rails by example
Rails by exampleRails by example
Rails by example
 
Ruby on Rails and the Semantic Web
Ruby on Rails and the Semantic WebRuby on Rails and the Semantic Web
Ruby on Rails and the Semantic Web
 
Static Sites in Ruby
Static Sites in RubyStatic Sites in Ruby
Static Sites in Ruby
 
Ruby On Rails Tutorial
Ruby On Rails TutorialRuby On Rails Tutorial
Ruby On Rails Tutorial
 
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory CourseRuby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
 
Things Future IT Students Should Know (But Don't)
Things Future IT Students Should Know (But Don't)Things Future IT Students Should Know (But Don't)
Things Future IT Students Should Know (But Don't)
 
Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0
Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0
Upgrading to Ruby 2.1, Rails 4.0, Bootstrap 3.0
 
So You Want to Teach Ruby and Rails...
So You Want to Teach Ruby and Rails...So You Want to Teach Ruby and Rails...
So You Want to Teach Ruby and Rails...
 
Things IT Undergrads Should Know (But Don't)
Things IT Undergrads Should Know (But Don't)Things IT Undergrads Should Know (But Don't)
Things IT Undergrads Should Know (But Don't)
 
Version Control with Git for Beginners
Version Control with Git for BeginnersVersion Control with Git for Beginners
Version Control with Git for Beginners
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails Introduction
 

Semelhante a Preparing for the WebGeek DevCup

Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
Lorna Mitchell
 
YOOX Launch & Learn - Javascript as a programming language
 YOOX Launch & Learn - Javascript as a programming language YOOX Launch & Learn - Javascript as a programming language
YOOX Launch & Learn - Javascript as a programming language
Marco Cedaro
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
ThoughtWorks
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven Peters
ZeroTurnaround
 
Introduction to software Engineering
Introduction to software EngineeringIntroduction to software Engineering
Introduction to software Engineering
Mohamed Gaafar
 

Semelhante a Preparing for the WebGeek DevCup (20)

Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
 
iPhone App from concept to product
iPhone App from concept to productiPhone App from concept to product
iPhone App from concept to product
 
W make104
W make104W make104
W make104
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community Support
 
Keynote- We're going wrong: Choosing the web's future. Peter Paul Koch
Keynote- We're going wrong: Choosing the web's future. Peter Paul KochKeynote- We're going wrong: Choosing the web's future. Peter Paul Koch
Keynote- We're going wrong: Choosing the web's future. Peter Paul Koch
 
DeKnowledge - Try us
DeKnowledge - Try usDeKnowledge - Try us
DeKnowledge - Try us
 
YOOX Launch & Learn - Javascript as a programming language
 YOOX Launch & Learn - Javascript as a programming language YOOX Launch & Learn - Javascript as a programming language
YOOX Launch & Learn - Javascript as a programming language
 
Automated tests
Automated testsAutomated tests
Automated tests
 
Creating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing ToolkitCreating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing Toolkit
 
Why do mobile projects (still) fail - September 2014 edition
Why do mobile projects (still) fail - September 2014 editionWhy do mobile projects (still) fail - September 2014 edition
Why do mobile projects (still) fail - September 2014 edition
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Agile Software Development for Non-Developers
Agile Software Development for Non-DevelopersAgile Software Development for Non-Developers
Agile Software Development for Non-Developers
 
Google App Inventor
Google App InventorGoogle App Inventor
Google App Inventor
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
TxJS 2011
TxJS 2011TxJS 2011
TxJS 2011
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven Peters
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software Engineering
 
Quick win ways to mitigate feature creep
Quick win ways to mitigate feature creepQuick win ways to mitigate feature creep
Quick win ways to mitigate feature creep
 
Introduction to software Engineering
Introduction to software EngineeringIntroduction to software Engineering
Introduction to software Engineering
 

Mais de bryanbibat

Latest Trends in Web Technologies
Latest Trends in Web TechnologiesLatest Trends in Web Technologies
Latest Trends in Web Technologies
bryanbibat
 
Some Myths in Software Development
Some Myths in Software DevelopmentSome Myths in Software Development
Some Myths in Software Development
bryanbibat
 

Mais de bryanbibat (16)

Hd 10 japan
Hd 10 japanHd 10 japan
Hd 10 japan
 
Git Basics (Professionals)
 Git Basics (Professionals) Git Basics (Professionals)
Git Basics (Professionals)
 
From Novice to Expert: A Pragmatic Approach to Learning
From Novice to Expert: A Pragmatic Approach to LearningFrom Novice to Expert: A Pragmatic Approach to Learning
From Novice to Expert: A Pragmatic Approach to Learning
 
Lambda Expressions in Java 8
Lambda Expressions in Java 8Lambda Expressions in Java 8
Lambda Expressions in Java 8
 
Productive text editing with Vim
Productive text editing with VimProductive text editing with Vim
Productive text editing with Vim
 
Latest Trends in Web Technologies
Latest Trends in Web TechnologiesLatest Trends in Web Technologies
Latest Trends in Web Technologies
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Some Myths in Software Development
Some Myths in Software DevelopmentSome Myths in Software Development
Some Myths in Software Development
 
Latest Trends in Open Source Web Technologies
Latest Trends in Open Source Web TechnologiesLatest Trends in Open Source Web Technologies
Latest Trends in Open Source Web Technologies
 
What it takes to be a Web Developer
What it takes to be a Web DeveloperWhat it takes to be a Web Developer
What it takes to be a Web Developer
 
Ruby and Rails by example
Ruby and Rails by exampleRuby and Rails by example
Ruby and Rails by example
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
before you leap
before you leapbefore you leap
before you leap
 
Sowing the Seeds
Sowing the SeedsSowing the Seeds
Sowing the Seeds
 
From Doghouses to Skyscrapers
From Doghouses to SkyscrapersFrom Doghouses to Skyscrapers
From Doghouses to Skyscrapers
 
Haml & Sass presentation
Haml & Sass presentationHaml & Sass presentation
Haml & Sass presentation
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Preparing for the WebGeek DevCup