SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
Allan Chao
Startup Consultant
Startup V8
allan@startupv8.com

UC Berkeley Extension, Summer 2012
Question of the day:
How many ways can you explain to someone
  over the phone how to draw a house?

                 Humor of the day:
The Agenda
 Quiz
 Quick review of last session


 Advanced IDEs
 Backend Programming
 Databases
 APIs
 Technology Stacks
Quiz Time

  Good luck!

10 minutes max
Quick review of prior material
                                      Client Server Architecture
 IDE = Integrated Development               Request, Response
  Environment                           Frontend Programming vs Backend Programming
    Syntax highlighting                HTML = Hypertext markup language
                                             Content and structure
    Auto-completion
                                             HTML 4.01
    Debugging                               Tags, nesting
 Notepad++                             CSS = Cascading Style Sheets
                                             Presentation
 Source Control = Version Control
                                             Cascading in layers
    Dropbox                            JS = Javascript
    Subversion (SVN)                        Interaction
    Mercurial                          HTML5
                                           Makes plugins (like Flash) obsolete
    Git
                                      Twitter Bootstrap
 Testing
                                      Jquery
    Locally
                                      Cross Browser Compatibility
    QA = Quality Assurance
                                      Separation of concerns
    Staging
                                      Code re-use
    Production
                                      Specification “the spec”
Review of Notepad++
 General purpose IDE
 Very Simple
 Syntax highlight
NetBeans
 IDE mostly for Java, PHP, Python, C++
Visual Studio
IDEs summary
 There are lots of different IDEs
 Generally used for different purposes
 Some are easier to learn than others
Comparison
Frontend Programming                  Backend programming
(this session)                        (next session)
 Generally, easier to learn than      Generally, harder to learn
  backend programming                   than frontend programming
 Programming how it looks             Programming how it works
 Visual                               Functional
    See what you’re doing                Can’t see what you’re doing
    Easier to identify problems          Harder to identify problems
 Code runs on the browser             Code runs on the server
 Mistakes are usually non-critical    Mistakes break the website


 HTML, CSS, JS                        PHP, SQL, C#, Python, Ruby
                                        on Rails, Java
Introduction to Backend Code
 Complicated!
    One line of frontend  many lines of backend… lots of
     files


 Truly Requires Clarification of ideas
Complexity of Backend
 One line of frontend  many lines of backend
   Multiple conditions
   Data Validation
        Error handling
    Database access
    Security


 Each case must show
  different frontend
 Every “fringe case”
  must be handled

                          http://danm.ucsc.edu/web/TechnicalHelp/php/upload_images.php
Programming Languages
 All programming languages have their own syntax
 Each programing language has a different framework
 Different frameworks are better at different things
 Changes all the time




 Each one has its own quirks
Different languages to do x! = x * (x-1)…
PHP Example
Open up Netbeans Sample
 Look at project organization
 Look at code, totally different from frontend code
 Look at visual editor
Open up Visual Studio Sample
 Look at project organization
 Look at code, totally different from frontend code
 Look at visual editor

 PRACTICE:
    Program a calculator
    Frontend first
    Use the right words
    Input validation
    Error handling
Principles of Programming
 Many solutions
 Good Code
    Simple
    Readable
    Modular
    Flexible
    Efficient
    Secure
 More code != better code
 Bugs happen, but good programming avoids many
Mistakes have a high cost
Introduction to Databases
 Databases stays behind your application
 Database stores the data
    Users
 Allows multi-access
 High performance
 Very reliable
 Enormous size
Database Model Example
Designing a Database
 “Entity Relationship Model”
 Figure out everything you need to store
    Anything you don’t plan to store will not be stored
    Figure out what “data type” each one is
        An integer?
        A number?
        A time?
        Words? How many letters long?
 Figure out how it’s all related
    Draw a little picture with lines
SQL = DB programming language
  SQL = Structured Query Language
Database Engines
 RDBMS = Relational Database Management System
 The program that runs the database
    Distinct from the program that runs the website
 MYSQL
    Free, open source
    Most common place to start
 SQL Server
    Expensive, Microsoft-owned
 Many others
    PostgreSQL, MongoDB
Introduction to APIs
 API = Application Programming Interface
 Integrate a 3rd party app with your app


 Generally, can use any programming language
 Generally, requires API support for features
Examples
 Facebook OpenGraph
    Integrate Facebook
 Paypal
 eBay
 LinkedIn
 Twitter
 YouTube
 Google Search
 Google Maps
SDK
 SDK = Software development kit
 When you want to learn to program with any
 particular technology, you need to find the SDK

 E.g. Want to build a Facebook app?
    Find the Facebook app SDK


 E.g. Want to use Google maps on your website?
    Find the Google Maps SDK
Precautions
 Generally, APIs are generally poorly documented
 Generally, APIs will change without warning, breaking
  your code… very hard to debug
 Generally, programming on APIs takes a lot longer
 Generally, APIs make any project much more complicated
Introduction to Technology Stacks
 So many technologies!!
 Make some choices…
    Source Control (SVN, Git, Mercurial)
    Development Environment (Netbeans, Eclipse, Visual Studio)
    Server OS (Linux, Windows, Cloud)
    Server Physicality (Dedicated, shared, virtual, cloud)
    HTTP Server (Apache, nginx, IIS, node.js)
    Database Engine (MYSQL, SQL Server, MongoDB)
    Database Access Layer (SQL, stored procedures, LINQ, etc.)
    Server side framework (PHP, python, C#, Ruby on Rails)
    Client side framework (javascript, jQuery)
LAMP
 Linux
 Apache
 MySQL
 PHP
    (sometimes perl or python)


 Free, open source tools
 Easy to start
WINS
 Windows
 IIS
 .NET
 SQL Server


 “Microsoft stack”
 Less popular among startups because of the cost
 More commonly used for enterprise level apps
Choosing a Technology Stack
 How well does it scale? (x 1...000)
    This is a useless question… all technology stacks must be very significantly changed in
     order to scale
 How much does it cost?
 How easy will it be to get developers?
    Most stacks are free
    Microsoft stack costs $$$$$, but BizSpark program makes it free for the first 2 years
 Importance of the architect >> the stack
    Find the best developer you can, and let them choose.
    One caveat… keep it simple and don’t experiment
Final Project Presentations
 Present your startup to an investment firm
    Target a 15 minute presentation
        Pitch deck
          Business plan

          Demo (wireframes, mockups?)

          How far you’ve gotten in your project (code, deployed?)

    5-10 minutes of questions and discussions


 Alternative Final Project Presentation
    15 minutes about a startup case study or research subject
Homework
 (Team) Keep Programming!
    Build as many pages as you can.
    Design the database model
    Choose a backend framework and start putting it together


 (Team) Keep Going!!
    Keep working on the pitch deck
    Keep marketing your new startup
    Occasionally review the market research data (Google
     Analytics, etc.)

Mais conteúdo relacionado

Mais procurados

Writing less code with Serverless on AWS at AWS User Group Nairobi
Writing less code with Serverless on AWS at AWS User Group NairobiWriting less code with Serverless on AWS at AWS User Group Nairobi
Writing less code with Serverless on AWS at AWS User Group NairobiVadym Kazulkin
 
Technology for your Startup
Technology for your StartupTechnology for your Startup
Technology for your StartupDave Gee
 
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...Vadim Zendejas
 
Os Alrubaie Ruby
Os Alrubaie RubyOs Alrubaie Ruby
Os Alrubaie Rubyoscon2007
 
Your Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsYour Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsKen Tabor
 
Achieving product market fit in startup context - The-state-of-practices and ...
Achieving product market fit in startup context - The-state-of-practices and ...Achieving product market fit in startup context - The-state-of-practices and ...
Achieving product market fit in startup context - The-state-of-practices and ...Anh Nguyen Duc
 

Mais procurados (9)

Writing less code with Serverless on AWS at AWS User Group Nairobi
Writing less code with Serverless on AWS at AWS User Group NairobiWriting less code with Serverless on AWS at AWS User Group Nairobi
Writing less code with Serverless on AWS at AWS User Group Nairobi
 
Technology for your Startup
Technology for your StartupTechnology for your Startup
Technology for your Startup
 
Os Long
Os LongOs Long
Os Long
 
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...
 
Os Alrubaie Ruby
Os Alrubaie RubyOs Alrubaie Ruby
Os Alrubaie Ruby
 
Fast, Cheap
Fast, Cheap Fast, Cheap
Fast, Cheap
 
Your Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsYour Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web Components
 
Achieving product market fit in startup context - The-state-of-practices and ...
Achieving product market fit in startup context - The-state-of-practices and ...Achieving product market fit in startup context - The-state-of-practices and ...
Achieving product market fit in startup context - The-state-of-practices and ...
 
Os Krug
Os KrugOs Krug
Os Krug
 

Semelhante a Class 6: Introduction to web technology entrepreneurship

NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...Maarten Balliauw
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsErik Osterman
 
Web App Framework at SwapSkills vol28 EN
Web App Framework at SwapSkills vol28 ENWeb App Framework at SwapSkills vol28 EN
Web App Framework at SwapSkills vol28 EN光一 原田
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application developmentzonathen
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamBrian Benz
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?Kasra Khosravi
 
Netbeans65 Osum Slides
Netbeans65 Osum SlidesNetbeans65 Osum Slides
Netbeans65 Osum SlidesAbhishek Gupta
 
whats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptxwhats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptxGabrielSoche
 
005528214.pdf
005528214.pdf005528214.pdf
005528214.pdfEidTahir
 
Stream SQL eventflow visual programming for real programmers presentation
Stream SQL eventflow visual programming for real programmers presentationStream SQL eventflow visual programming for real programmers presentation
Stream SQL eventflow visual programming for real programmers presentationstreambase
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xGeertjan Wielenga
 
What’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.xWhat’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.xErik Gur
 
Wrangling Large Scale Frontend Web Applications
Wrangling Large Scale Frontend Web ApplicationsWrangling Large Scale Frontend Web Applications
Wrangling Large Scale Frontend Web ApplicationsRyan Roemer
 
Powerful tools for building web solutions
Powerful tools for building web solutionsPowerful tools for building web solutions
Powerful tools for building web solutionsAndrea Tino
 
qooxdoo - Open Source Ajax Framework
qooxdoo - Open Source Ajax Frameworkqooxdoo - Open Source Ajax Framework
qooxdoo - Open Source Ajax Frameworkecker
 
Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)GameWisp
 
Documenting code yapceu2016
Documenting code yapceu2016Documenting code yapceu2016
Documenting code yapceu2016Søren Lund
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | IntroductionJohnTaieb
 
Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3Testbells
 

Semelhante a Class 6: Introduction to web technology entrepreneurship (20)

NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
 
Web App Framework at SwapSkills vol28 EN
Web App Framework at SwapSkills vol28 ENWeb App Framework at SwapSkills vol28 EN
Web App Framework at SwapSkills vol28 EN
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
 
Netbeans65 Osum Slides
Netbeans65 Osum SlidesNetbeans65 Osum Slides
Netbeans65 Osum Slides
 
whats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptxwhats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptx
 
005528214.pdf
005528214.pdf005528214.pdf
005528214.pdf
 
Stream SQL eventflow visual programming for real programmers presentation
Stream SQL eventflow visual programming for real programmers presentationStream SQL eventflow visual programming for real programmers presentation
Stream SQL eventflow visual programming for real programmers presentation
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.x
 
What’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.xWhat’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.x
 
Wrangling Large Scale Frontend Web Applications
Wrangling Large Scale Frontend Web ApplicationsWrangling Large Scale Frontend Web Applications
Wrangling Large Scale Frontend Web Applications
 
Powerful tools for building web solutions
Powerful tools for building web solutionsPowerful tools for building web solutions
Powerful tools for building web solutions
 
qooxdoo - Open Source Ajax Framework
qooxdoo - Open Source Ajax Frameworkqooxdoo - Open Source Ajax Framework
qooxdoo - Open Source Ajax Framework
 
Orion
OrionOrion
Orion
 
Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)
 
Documenting code yapceu2016
Documenting code yapceu2016Documenting code yapceu2016
Documenting code yapceu2016
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3
 

Mais de allanchao

Class 10: Introduction to web technology entrepreneurship
Class 10: Introduction to web technology entrepreneurshipClass 10: Introduction to web technology entrepreneurship
Class 10: Introduction to web technology entrepreneurshipallanchao
 
Class 9: Introduction to web technology entrepreneurship
Class 9: Introduction to web technology entrepreneurshipClass 9: Introduction to web technology entrepreneurship
Class 9: Introduction to web technology entrepreneurshipallanchao
 
Class 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurshipClass 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurshipallanchao
 
Class 2: Introduction to web technology entrepreneurship
Class 2: Introduction to web technology entrepreneurship Class 2: Introduction to web technology entrepreneurship
Class 2: Introduction to web technology entrepreneurship allanchao
 
Class 1: Introduction to web technology entrepreneurship
Class 1: Introduction to web technology entrepreneurship Class 1: Introduction to web technology entrepreneurship
Class 1: Introduction to web technology entrepreneurship allanchao
 
Sba 20111003b - starting your own web startup
Sba   20111003b - starting your own web startupSba   20111003b - starting your own web startup
Sba 20111003b - starting your own web startupallanchao
 

Mais de allanchao (6)

Class 10: Introduction to web technology entrepreneurship
Class 10: Introduction to web technology entrepreneurshipClass 10: Introduction to web technology entrepreneurship
Class 10: Introduction to web technology entrepreneurship
 
Class 9: Introduction to web technology entrepreneurship
Class 9: Introduction to web technology entrepreneurshipClass 9: Introduction to web technology entrepreneurship
Class 9: Introduction to web technology entrepreneurship
 
Class 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurshipClass 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurship
 
Class 2: Introduction to web technology entrepreneurship
Class 2: Introduction to web technology entrepreneurship Class 2: Introduction to web technology entrepreneurship
Class 2: Introduction to web technology entrepreneurship
 
Class 1: Introduction to web technology entrepreneurship
Class 1: Introduction to web technology entrepreneurship Class 1: Introduction to web technology entrepreneurship
Class 1: Introduction to web technology entrepreneurship
 
Sba 20111003b - starting your own web startup
Sba   20111003b - starting your own web startupSba   20111003b - starting your own web startup
Sba 20111003b - starting your own web startup
 

Último

The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwaitdaisycvs
 
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGParadip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGpr788182
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxCynthia Clay
 
Arti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdfArti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdfwill854175
 
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book nowPARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book nowkapoorjyoti4444
 
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...Falcon Invoice Discounting
 
Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024Marel
 
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTSDurg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTSkajalroy875762
 
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...ssuserf63bd7
 
PHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation FinalPHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation FinalPanhandleOilandGas
 
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service AvailableBerhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Availablepr788182
 
joint cost.pptx COST ACCOUNTING Sixteenth Edition ...
joint cost.pptx  COST ACCOUNTING  Sixteenth Edition                          ...joint cost.pptx  COST ACCOUNTING  Sixteenth Edition                          ...
joint cost.pptx COST ACCOUNTING Sixteenth Edition ...NadhimTaha
 
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptxQSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptxDitasDelaCruz
 
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al MizharAl Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizharallensay1
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Adnet Communications
 
Kalyan Call Girl 98350*37198 Call Girls in Escort service book now
Kalyan Call Girl 98350*37198 Call Girls in Escort service book nowKalyan Call Girl 98350*37198 Call Girls in Escort service book now
Kalyan Call Girl 98350*37198 Call Girls in Escort service book nowranineha57744
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityEric T. Tung
 

Último (20)

The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
 
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGParadip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptx
 
Arti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdfArti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdf
 
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book nowPARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book now
 
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
 
WheelTug Short Pitch Deck 2024 | Byond Insights
WheelTug Short Pitch Deck 2024 | Byond InsightsWheelTug Short Pitch Deck 2024 | Byond Insights
WheelTug Short Pitch Deck 2024 | Byond Insights
 
Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024
 
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTSDurg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
 
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
 
HomeRoots Pitch Deck | Investor Insights | April 2024
HomeRoots Pitch Deck | Investor Insights | April 2024HomeRoots Pitch Deck | Investor Insights | April 2024
HomeRoots Pitch Deck | Investor Insights | April 2024
 
PHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation FinalPHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation Final
 
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service AvailableBerhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Berhampur Call Girl Just Call 8084732287 Top Class Call Girl Service Available
 
joint cost.pptx COST ACCOUNTING Sixteenth Edition ...
joint cost.pptx  COST ACCOUNTING  Sixteenth Edition                          ...joint cost.pptx  COST ACCOUNTING  Sixteenth Edition                          ...
joint cost.pptx COST ACCOUNTING Sixteenth Edition ...
 
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptxQSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
 
Buy gmail accounts.pdf buy Old Gmail Accounts
Buy gmail accounts.pdf buy Old Gmail AccountsBuy gmail accounts.pdf buy Old Gmail Accounts
Buy gmail accounts.pdf buy Old Gmail Accounts
 
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al MizharAl Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
 
Kalyan Call Girl 98350*37198 Call Girls in Escort service book now
Kalyan Call Girl 98350*37198 Call Girls in Escort service book nowKalyan Call Girl 98350*37198 Call Girls in Escort service book now
Kalyan Call Girl 98350*37198 Call Girls in Escort service book now
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 

Class 6: Introduction to web technology entrepreneurship

  • 1. Allan Chao Startup Consultant Startup V8 allan@startupv8.com UC Berkeley Extension, Summer 2012
  • 2. Question of the day: How many ways can you explain to someone over the phone how to draw a house? Humor of the day:
  • 3. The Agenda  Quiz  Quick review of last session  Advanced IDEs  Backend Programming  Databases  APIs  Technology Stacks
  • 4. Quiz Time Good luck! 10 minutes max
  • 5. Quick review of prior material  Client Server Architecture  IDE = Integrated Development  Request, Response Environment  Frontend Programming vs Backend Programming  Syntax highlighting  HTML = Hypertext markup language  Content and structure  Auto-completion  HTML 4.01  Debugging  Tags, nesting  Notepad++  CSS = Cascading Style Sheets  Presentation  Source Control = Version Control  Cascading in layers  Dropbox  JS = Javascript  Subversion (SVN)  Interaction  Mercurial  HTML5  Makes plugins (like Flash) obsolete  Git  Twitter Bootstrap  Testing  Jquery  Locally  Cross Browser Compatibility  QA = Quality Assurance  Separation of concerns  Staging  Code re-use  Production  Specification “the spec”
  • 6.
  • 7. Review of Notepad++  General purpose IDE  Very Simple  Syntax highlight
  • 8. NetBeans  IDE mostly for Java, PHP, Python, C++
  • 10. IDEs summary  There are lots of different IDEs  Generally used for different purposes  Some are easier to learn than others
  • 11.
  • 12. Comparison Frontend Programming Backend programming (this session) (next session)  Generally, easier to learn than  Generally, harder to learn backend programming than frontend programming  Programming how it looks  Programming how it works  Visual  Functional  See what you’re doing  Can’t see what you’re doing  Easier to identify problems  Harder to identify problems  Code runs on the browser  Code runs on the server  Mistakes are usually non-critical  Mistakes break the website  HTML, CSS, JS  PHP, SQL, C#, Python, Ruby on Rails, Java
  • 13. Introduction to Backend Code  Complicated!  One line of frontend  many lines of backend… lots of files  Truly Requires Clarification of ideas
  • 14. Complexity of Backend  One line of frontend  many lines of backend  Multiple conditions  Data Validation  Error handling  Database access  Security  Each case must show different frontend  Every “fringe case” must be handled http://danm.ucsc.edu/web/TechnicalHelp/php/upload_images.php
  • 15. Programming Languages  All programming languages have their own syntax  Each programing language has a different framework  Different frameworks are better at different things  Changes all the time  Each one has its own quirks
  • 16. Different languages to do x! = x * (x-1)…
  • 18. Open up Netbeans Sample  Look at project organization  Look at code, totally different from frontend code  Look at visual editor
  • 19. Open up Visual Studio Sample  Look at project organization  Look at code, totally different from frontend code  Look at visual editor  PRACTICE:  Program a calculator  Frontend first  Use the right words  Input validation  Error handling
  • 20. Principles of Programming  Many solutions  Good Code  Simple  Readable  Modular  Flexible  Efficient  Secure  More code != better code  Bugs happen, but good programming avoids many
  • 21. Mistakes have a high cost
  • 22.
  • 23. Introduction to Databases  Databases stays behind your application  Database stores the data  Users  Allows multi-access  High performance  Very reliable  Enormous size
  • 25. Designing a Database  “Entity Relationship Model”  Figure out everything you need to store  Anything you don’t plan to store will not be stored  Figure out what “data type” each one is  An integer?  A number?  A time?  Words? How many letters long?  Figure out how it’s all related  Draw a little picture with lines
  • 26. SQL = DB programming language  SQL = Structured Query Language
  • 27. Database Engines  RDBMS = Relational Database Management System  The program that runs the database  Distinct from the program that runs the website  MYSQL  Free, open source  Most common place to start  SQL Server  Expensive, Microsoft-owned  Many others  PostgreSQL, MongoDB
  • 28.
  • 29. Introduction to APIs  API = Application Programming Interface  Integrate a 3rd party app with your app  Generally, can use any programming language  Generally, requires API support for features
  • 30. Examples  Facebook OpenGraph  Integrate Facebook  Paypal  eBay  LinkedIn  Twitter  YouTube  Google Search  Google Maps
  • 31. SDK  SDK = Software development kit  When you want to learn to program with any particular technology, you need to find the SDK  E.g. Want to build a Facebook app?  Find the Facebook app SDK  E.g. Want to use Google maps on your website?  Find the Google Maps SDK
  • 32. Precautions  Generally, APIs are generally poorly documented  Generally, APIs will change without warning, breaking your code… very hard to debug  Generally, programming on APIs takes a lot longer  Generally, APIs make any project much more complicated
  • 33.
  • 34. Introduction to Technology Stacks  So many technologies!!  Make some choices…  Source Control (SVN, Git, Mercurial)  Development Environment (Netbeans, Eclipse, Visual Studio)  Server OS (Linux, Windows, Cloud)  Server Physicality (Dedicated, shared, virtual, cloud)  HTTP Server (Apache, nginx, IIS, node.js)  Database Engine (MYSQL, SQL Server, MongoDB)  Database Access Layer (SQL, stored procedures, LINQ, etc.)  Server side framework (PHP, python, C#, Ruby on Rails)  Client side framework (javascript, jQuery)
  • 35. LAMP  Linux  Apache  MySQL  PHP  (sometimes perl or python)  Free, open source tools  Easy to start
  • 36. WINS  Windows  IIS  .NET  SQL Server  “Microsoft stack”  Less popular among startups because of the cost  More commonly used for enterprise level apps
  • 37. Choosing a Technology Stack  How well does it scale? (x 1...000)  This is a useless question… all technology stacks must be very significantly changed in order to scale  How much does it cost?  How easy will it be to get developers?  Most stacks are free  Microsoft stack costs $$$$$, but BizSpark program makes it free for the first 2 years  Importance of the architect >> the stack  Find the best developer you can, and let them choose.  One caveat… keep it simple and don’t experiment
  • 38.
  • 39. Final Project Presentations  Present your startup to an investment firm  Target a 15 minute presentation  Pitch deck  Business plan  Demo (wireframes, mockups?)  How far you’ve gotten in your project (code, deployed?)  5-10 minutes of questions and discussions  Alternative Final Project Presentation  15 minutes about a startup case study or research subject
  • 40. Homework  (Team) Keep Programming!  Build as many pages as you can.  Design the database model  Choose a backend framework and start putting it together  (Team) Keep Going!!  Keep working on the pitch deck  Keep marketing your new startup  Occasionally review the market research data (Google Analytics, etc.)