SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
Web Dev Crash Course
Zane Staggs - CodingHouse.co

1
Your instructor
Husband, Father and Developer
Living the dream...
MIS graduate U of Arizona

Coding House

BetterDoctor

2
Coding House
Learn how to code 60 days of Intensive training
Physical activities and food provided
Full time immersion in coding environment
Hands on mentorship and career placement
Accessible to bart
First class in January

3
So you want to be a web/
mobile developer?
Coding languages: html/php/ruby/java/
javascript/c
Design skills: user interface, photoshop,
illustrator, optimizing graphics
Business skills: communication, group/
team dynamics,
Everything else: optimization, seo, sem,
marketing, a/b testing, unit testing, bugs,
debugging, operating systems, browser
bugs/quirks, devices, responsiveness, speed,
4
Why would you want to do
this?
Wild West days of the internet
Fun, creative

Technology

Career

Fame and Fortune
Startups

5
It’s actually not that hard
Today we will do a high level overview so you are at
least familiar with the concepts that a web developer
must deal with on a daily basis.
It’s the bigger picture that matters when dealing with
business people and engineers.
I’m here to show you the quick and dirty.

6
The web browser
Very complicated client software.
Lots of differences between platforms
(os) and rendering engines: gecko
(ïŹrefox), webkit (safari/chrome)
Reads markup, css, and js to
combine to a web page
IE is the underdog now, always a pain
for web devs but getting better slowly
http://en.wikipedia.org/wiki/
Comparison_of_web_browsers
7
How the web works
Client/Server (front vs back end), networking, ip
addresses, routers, ports, tcp/ip = stateless protocol
Request/Response Life Cycle
DNS (translates readable requests to map to servers)
API’s (rest, xml, json, etc)
Databases (mysql, mssql, mongodb)
Markup languages (html, xml, xhtml) Doctypes

8
Client/Server
Communications
Client requests data from a server, server responds

Cloud based/virtualization = many servers on one box
sharing resources through software virtualization

9
DNS requests
Browser requests to look up a website address, hits
the closest DNS server says yes I know where that is
it’s at this IP address.
Cacheing, propagation
Nameservers

10
APIs
API = Application Programming Interface - good for
decoupling your application. Data access.
JSON = Preferred format for describing and transferring
data native js object, nested attributes and values
XML = brackets and tags, old school and heavier
REST = (REpresentational State Transfer) - url scheme
for getting and updating/creating data based on http
requests
HTTP Requests: GET, POST, UPDATE, DELETE
Error codes: 200, 404, 500, etc
11
Databases
Like a big excel sheet, way to organize and retrieve
data through columns and rows (schemas)
Runs on the server responds to requests for data using
speciïŹed syntax like SQL, JSON
Example SQL: “select type from cars where color =
blue”
Mysql, MSSQL = traditional relational database
MongoDB = schema-less, nosql database

12
Markup Languages
HTML5 - modern html lots of new features, not even an
ofïŹcial approved spec but vendors started
implementing them anyway.
W3C/standards
Doctype tells the browser what spec to adhere to.
DOM = Document Object Model: tree of elements in
memory, accessible from javascript and the browser

13
Example Dom Tree

14
Let’s create a website
HTML
CSS
Javascript
General Programming Concepts

15
HTML
Descendant of xml so it relies on markup
<p>text inside</p>, a few are “self closing” like <img />
Nesting Hierarchy: html, head, body - DOM
Can have values inside the tag or as attributes like this:
<p style=”....”>some value inside</p>
http://www.w3schools.com/html/html_quick.asp

16
HTML5
Latest spec
New html5 tags: article, section, header, footer, video,
audio, local storage, input types, browser history,
webrtc
http://www.creativebloq.com/web-design-tips/
examples-of-html5-1233547
http://www.html5rocks.com/en/

17
CSS
Style deïŹnitions for look and feel can be inline, in a
separate ïŹle, or in the <head> of the document.
Describe color, size, font style and some interaction
now blurring the lines a bit
Media queries = responsive
Paths can be relative or absolute
Floating, scrolling, and centering stuff.
Modern stuff, table layout, ïŹ‚exbox, not supported yet
everywhere
18
Javascript
(not java)
Most ubiquitous language, also can be inline, in the head, or in
a separate ïŹle.
Similar to C syntax lots of brackets
Actually a lot of hidden features and very ïŹ‚exible
Scope is important concept, window object, event propagation
Console, debugging with developer tools or ïŹrebug
PolyïŹlls for patching older browsers to give them support
19
General coding tips
Good editor with code completion and syntax
highlighting (webstorm or rubymine recommended)
Close all tags ïŹrst then ïŹll it in.
Test at every change in all browsers if possible. Get a
virtual box and free vm’s from ms: modern.ie
Get a simulator, download xcode and android simulator
Minimize the tags to only what you need.
Semantics: stick to what the tags are for
20
Jquery	
Javascript framework, used everywhere. Free and
open source.
SimpliïŹes common tasks with javascript and the DOM
$ = get this element or group of elements using a
selector
Plugins
$.ready = when document (DOM) is completely loaded
and ready to be used

21
Jquery Plugin Example
Add the jquery language to your code
Add carousel plugin js ïŹle
Wire up the necessary components and start the plugin
http://jquery.malsup.com/cycle2/

22
Bootstrap
CSS Framework from Twitter.
Include the CSS ïŹle and js ïŹle
Use the various components as needed.
Override styles as necessary
http://getbootstrap.com/
Available themes: wrapbootstrap.com (paid),
bootswatch.com (free)

23
Modern front end web
development
HAML and SASS, Compass, Less,
Static site generators: middleman, jekyll
Coffeescript (simpler syntax for javascript)
Grunt and Yeoman (build anddependency management)
Node JS (back end or server side javascript)
MVC frameworks: backbone js, angular js
http://updates.html5rocks.com/2013/11/TheLandscape-Of-Front-end-Development-AutomationSlides
24
Server side
Server sits and wait for requests. It responds with some
data depending on the type of the request and what’s in it.
Port 80 is reserved for website trafïŹc so anything coming
on that port is routed to the webserver on the machine.
Apache, Nginx
The server says oh this is a request for a rails page so let’s
hand this off to rails let it do its thing then respond with the
result.
Rails runs some logic based on the request variables,
session values and checks the database if needed to look
up more data
25
Basic Server Admin
Windows vs Linux
Terminal basics: cp, rm, cd, whoami, pwd
Services need to be running and healthy like mail, bind
(dns), os level stuff disk space etc
Security
Backups
http://community.linuxmint.com/tutorial/view/100

26
Version Control
Git/Github - distributed version control
SVN/CVS - older non distributed
Branching
Merging diffs
Pushing to master
https://www.atlassian.com/git/workïŹ‚ows

27
Ruby on Rails
Ruby = another programming language with very nice syntax almost natural sounding and
less code to write
Rails = framework for developing web applications
Model = data & business logic
View = html, erb, haml
Controller = decides where to go, where to get data, and view
Gems = packages of ruby code for reuse, easy management system.
Active Record, Rake: DB Migrations
MVC = model (data), view (view), controller (routing)
Development process: Bundler
Write once, convention over conïŹguration

28
29
Ruby
Ruby is "an interpreted scripting language for quick and easy
object-oriented programming" -- what does this mean?
interpreted scripting language:
ability to make operating system calls directly
powerful string operations and regular expressions
immediate feedback during development
quick and easy:
variable declarations are unnecessary
variables are not typed
syntax is simple and consistent
memory management is automatic
object oriented programming:
everything is an object
classes, methods, inheritance, etc.
singleton methods
"mixin" functionality by module
iterators and closures
http://www.rubyist.net/~slagell/ruby/index.html

30
MVC

31
Let’s build a Rails application
rails --version
rails new blog
rails server
Controller: receive speciïŹc requests for the application
Model: encapsulates the data access and business logic
View: displays the collected information in a human readable format: ERB,
Haml
Routes: mapping urls to controllers and actions
http://guides.rubyonrails.org/getting_started.html#creating-a-new-railsproject

32
Mobile web development
HTML5 vs Native vs Hybrid
PhoneGap
Appgyver - fast way to get an app on the phone and
development
Objective C/xcode - Native Iphone
Android: Java

33
Key Takeaways
Don’t give up the more you see it the more it will sink in
Do free/cheap work until you get good
Pay attention to the minor details
User experience is paramount
Always do what it takes to meet goals while managing
the tradeoffs and complete as fast as possible
Stay on top of new tech

34
Questions

Have any questions speak up!

35

Weitere Àhnliche Inhalte

Was ist angesagt?

Learning subjects for junior level developers at Skitsanos Inc.
Learning subjects for junior level developers at Skitsanos Inc.Learning subjects for junior level developers at Skitsanos Inc.
Learning subjects for junior level developers at Skitsanos Inc.Evgenios Skitsanos
 
HTML CSS JavaScript jQuery Training
HTML CSS JavaScript jQuery TrainingHTML CSS JavaScript jQuery Training
HTML CSS JavaScript jQuery Trainingubshreenath
 
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 Evan Mullins
 
Website development courses
Website development coursesWebsite development courses
Website development coursesOSK IT SOLUTION
 
06 Javascript
06 Javascript06 Javascript
06 JavascriptHerman Tolle
 
Jsp abes new
Jsp abes newJsp abes new
Jsp abes newAshwin Perti
 
Cartegraph Live HTML, CSS, JavaScript and jQuery Training
Cartegraph Live HTML, CSS, JavaScript and jQuery TrainingCartegraph Live HTML, CSS, JavaScript and jQuery Training
Cartegraph Live HTML, CSS, JavaScript and jQuery TrainingShane Church
 
JAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptJAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptmartinlippert
 
4 internet programming
4 internet programming4 internet programming
4 internet programmingsoner_kavlak
 
Internet programming lecture 1
Internet programming lecture 1Internet programming lecture 1
Internet programming lecture 1Mohammed Hussein
 
Database2011 MySQL Sharding
Database2011 MySQL ShardingDatabase2011 MySQL Sharding
Database2011 MySQL ShardingMoshe Kaplan
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | IntroductionJohnTaieb
 
Bd conf sencha touch workshop
Bd conf sencha touch workshopBd conf sencha touch workshop
Bd conf sencha touch workshopJames Pearce
 
Sightly - AEM6 UI Development using JS and JAVA
Sightly - AEM6 UI Development using JS and JAVASightly - AEM6 UI Development using JS and JAVA
Sightly - AEM6 UI Development using JS and JAVAYash Mody
 
Anvita Gita Supersite Case Study Nov2000
Anvita   Gita Supersite Case Study Nov2000Anvita   Gita Supersite Case Study Nov2000
Anvita Gita Supersite Case Study Nov2000guest6e7a1b1
 
[2015/2016] HTML5 and CSS3 Refresher
[2015/2016] HTML5 and CSS3 Refresher[2015/2016] HTML5 and CSS3 Refresher
[2015/2016] HTML5 and CSS3 RefresherIvano Malavolta
 
Rutgers - Active Server Pages
Rutgers - Active Server PagesRutgers - Active Server Pages
Rutgers - Active Server PagesMichael Dobe, Ph.D.
 
Industrial training report
Industrial training report Industrial training report
Industrial training report Akash Kr Sinha
 
Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)Khan Mac-arther
 

Was ist angesagt? (20)

Learning subjects for junior level developers at Skitsanos Inc.
Learning subjects for junior level developers at Skitsanos Inc.Learning subjects for junior level developers at Skitsanos Inc.
Learning subjects for junior level developers at Skitsanos Inc.
 
HTML CSS JavaScript jQuery Training
HTML CSS JavaScript jQuery TrainingHTML CSS JavaScript jQuery Training
HTML CSS JavaScript jQuery Training
 
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
 
Website development courses
Website development coursesWebsite development courses
Website development courses
 
06 Javascript
06 Javascript06 Javascript
06 Javascript
 
Jsp abes new
Jsp abes newJsp abes new
Jsp abes new
 
Cartegraph Live HTML, CSS, JavaScript and jQuery Training
Cartegraph Live HTML, CSS, JavaScript and jQuery TrainingCartegraph Live HTML, CSS, JavaScript and jQuery Training
Cartegraph Live HTML, CSS, JavaScript and jQuery Training
 
JAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptJAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScript
 
4 internet programming
4 internet programming4 internet programming
4 internet programming
 
Internet programming lecture 1
Internet programming lecture 1Internet programming lecture 1
Internet programming lecture 1
 
Database2011 MySQL Sharding
Database2011 MySQL ShardingDatabase2011 MySQL Sharding
Database2011 MySQL Sharding
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
Bd conf sencha touch workshop
Bd conf sencha touch workshopBd conf sencha touch workshop
Bd conf sencha touch workshop
 
Sightly - AEM6 UI Development using JS and JAVA
Sightly - AEM6 UI Development using JS and JAVASightly - AEM6 UI Development using JS and JAVA
Sightly - AEM6 UI Development using JS and JAVA
 
Anvita Gita Supersite Case Study Nov2000
Anvita   Gita Supersite Case Study Nov2000Anvita   Gita Supersite Case Study Nov2000
Anvita Gita Supersite Case Study Nov2000
 
[2015/2016] HTML5 and CSS3 Refresher
[2015/2016] HTML5 and CSS3 Refresher[2015/2016] HTML5 and CSS3 Refresher
[2015/2016] HTML5 and CSS3 Refresher
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Rutgers - Active Server Pages
Rutgers - Active Server PagesRutgers - Active Server Pages
Rutgers - Active Server Pages
 
Industrial training report
Industrial training report Industrial training report
Industrial training report
 
Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)
 

Ähnlich wie Crash Course HTML/Rails Slides

Intro to-html-backbone
Intro to-html-backboneIntro to-html-backbone
Intro to-html-backbonezonathen
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web ApplicationSachin Walvekar
 
Ruby On Rails Siddhesh
Ruby On Rails SiddheshRuby On Rails Siddhesh
Ruby On Rails SiddheshSiddhesh Bhobe
 
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...Codemotion
 
State of modern web technologies: an introduction
State of modern web technologies: an introductionState of modern web technologies: an introduction
State of modern web technologies: an introductionMichael Ahearn
 
MERN Stack Developer Course Syllabus
MERN Stack Developer Course Syllabus MERN Stack Developer Course Syllabus
MERN Stack Developer Course Syllabus NxtWave
 
MVC Demystified: Essence of Ruby on Rails
MVC Demystified: Essence of Ruby on RailsMVC Demystified: Essence of Ruby on Rails
MVC Demystified: Essence of Ruby on Railscodeinmotion
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScriptMahmoud Tolba
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologiesHosam Kamel
 
Technology Stack Discussion
Technology Stack DiscussionTechnology Stack Discussion
Technology Stack DiscussionZaiyang Li
 
OrientDB the database for the web 1.1
OrientDB the database for the web 1.1OrientDB the database for the web 1.1
OrientDB the database for the web 1.1Luca Garulli
 
Beginning MEAN Stack
Beginning MEAN StackBeginning MEAN Stack
Beginning MEAN StackRob Davarnia
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On RailsGautam Rege
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development Shean McManus
 
JAX 2013: Modern Architectures with Spring and JavaScript
JAX 2013: Modern Architectures with Spring and JavaScriptJAX 2013: Modern Architectures with Spring and JavaScript
JAX 2013: Modern Architectures with Spring and JavaScriptmartinlippert
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on RailsViridians
 
Java Full Stack Curriculum
Java Full Stack Curriculum Java Full Stack Curriculum
Java Full Stack Curriculum NxtWave
 
Scaling 101 test
Scaling 101 testScaling 101 test
Scaling 101 testRashmi Sinha
 
Scaling 101
Scaling 101Scaling 101
Scaling 101Chris Finne
 

Ähnlich wie Crash Course HTML/Rails Slides (20)

Intro to-html-backbone
Intro to-html-backboneIntro to-html-backbone
Intro to-html-backbone
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
 
Ruby On Rails Siddhesh
Ruby On Rails SiddheshRuby On Rails Siddhesh
Ruby On Rails Siddhesh
 
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
 
State of modern web technologies: an introduction
State of modern web technologies: an introductionState of modern web technologies: an introduction
State of modern web technologies: an introduction
 
MERN Stack Developer Course Syllabus
MERN Stack Developer Course Syllabus MERN Stack Developer Course Syllabus
MERN Stack Developer Course Syllabus
 
MVC Demystified: Essence of Ruby on Rails
MVC Demystified: Essence of Ruby on RailsMVC Demystified: Essence of Ruby on Rails
MVC Demystified: Essence of Ruby on Rails
 
PPT
PPTPPT
PPT
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScript
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Technology Stack Discussion
Technology Stack DiscussionTechnology Stack Discussion
Technology Stack Discussion
 
OrientDB the database for the web 1.1
OrientDB the database for the web 1.1OrientDB the database for the web 1.1
OrientDB the database for the web 1.1
 
Beginning MEAN Stack
Beginning MEAN StackBeginning MEAN Stack
Beginning MEAN Stack
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
 
JAX 2013: Modern Architectures with Spring and JavaScript
JAX 2013: Modern Architectures with Spring and JavaScriptJAX 2013: Modern Architectures with Spring and JavaScript
JAX 2013: Modern Architectures with Spring and JavaScript
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
Java Full Stack Curriculum
Java Full Stack Curriculum Java Full Stack Curriculum
Java Full Stack Curriculum
 
Scaling 101 test
Scaling 101 testScaling 101 test
Scaling 101 test
 
Scaling 101
Scaling 101Scaling 101
Scaling 101
 

KĂŒrzlich hochgeladen

Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptxDhatriParmar
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleCeline George
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...DhatriParmar
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDhatriParmar
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research DiscourseAnita GoswamiGiri
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxMichelleTuguinay1
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptxmary850239
 
Visit to a blind student's school🧑‍🩯🧑‍🩯(community medicine)
Visit to a blind student's school🧑‍🩯🧑‍🩯(community medicine)Visit to a blind student's school🧑‍🩯🧑‍🩯(community medicine)
Visit to a blind student's school🧑‍🩯🧑‍🩯(community medicine)lakshayb543
 
31 ĐỀ THI THỏ VÀO LỚP 10 - TIáșŸNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỏ VÀO LỚP 10 - TIáșŸNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỏ VÀO LỚP 10 - TIáșŸNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỏ VÀO LỚP 10 - TIáșŸNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseCeline George
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsPooky Knightsmith
 

KĂŒrzlich hochgeladen (20)

Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP Module
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research Discourse
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
 
Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx
 
Visit to a blind student's school🧑‍🩯🧑‍🩯(community medicine)
Visit to a blind student's school🧑‍🩯🧑‍🩯(community medicine)Visit to a blind student's school🧑‍🩯🧑‍🩯(community medicine)
Visit to a blind student's school🧑‍🩯🧑‍🩯(community medicine)
 
31 ĐỀ THI THỏ VÀO LỚP 10 - TIáșŸNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỏ VÀO LỚP 10 - TIáșŸNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỏ VÀO LỚP 10 - TIáșŸNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỏ VÀO LỚP 10 - TIáșŸNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 Database
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young minds
 

Crash Course HTML/Rails Slides

  • 1. Web Dev Crash Course Zane Staggs - CodingHouse.co 1
  • 2. Your instructor Husband, Father and Developer Living the dream... MIS graduate U of Arizona Coding House BetterDoctor 2
  • 3. Coding House Learn how to code 60 days of Intensive training Physical activities and food provided Full time immersion in coding environment Hands on mentorship and career placement Accessible to bart First class in January 3
  • 4. So you want to be a web/ mobile developer? Coding languages: html/php/ruby/java/ javascript/c Design skills: user interface, photoshop, illustrator, optimizing graphics Business skills: communication, group/ team dynamics, Everything else: optimization, seo, sem, marketing, a/b testing, unit testing, bugs, debugging, operating systems, browser bugs/quirks, devices, responsiveness, speed, 4
  • 5. Why would you want to do this? Wild West days of the internet Fun, creative Technology Career Fame and Fortune Startups 5
  • 6. It’s actually not that hard Today we will do a high level overview so you are at least familiar with the concepts that a web developer must deal with on a daily basis. It’s the bigger picture that matters when dealing with business people and engineers. I’m here to show you the quick and dirty. 6
  • 7. The web browser Very complicated client software. Lots of differences between platforms (os) and rendering engines: gecko (ïŹrefox), webkit (safari/chrome) Reads markup, css, and js to combine to a web page IE is the underdog now, always a pain for web devs but getting better slowly http://en.wikipedia.org/wiki/ Comparison_of_web_browsers 7
  • 8. How the web works Client/Server (front vs back end), networking, ip addresses, routers, ports, tcp/ip = stateless protocol Request/Response Life Cycle DNS (translates readable requests to map to servers) API’s (rest, xml, json, etc) Databases (mysql, mssql, mongodb) Markup languages (html, xml, xhtml) Doctypes 8
  • 9. Client/Server Communications Client requests data from a server, server responds Cloud based/virtualization = many servers on one box sharing resources through software virtualization 9
  • 10. DNS requests Browser requests to look up a website address, hits the closest DNS server says yes I know where that is it’s at this IP address. Cacheing, propagation Nameservers 10
  • 11. APIs API = Application Programming Interface - good for decoupling your application. Data access. JSON = Preferred format for describing and transferring data native js object, nested attributes and values XML = brackets and tags, old school and heavier REST = (REpresentational State Transfer) - url scheme for getting and updating/creating data based on http requests HTTP Requests: GET, POST, UPDATE, DELETE Error codes: 200, 404, 500, etc 11
  • 12. Databases Like a big excel sheet, way to organize and retrieve data through columns and rows (schemas) Runs on the server responds to requests for data using speciïŹed syntax like SQL, JSON Example SQL: “select type from cars where color = blue” Mysql, MSSQL = traditional relational database MongoDB = schema-less, nosql database 12
  • 13. Markup Languages HTML5 - modern html lots of new features, not even an ofïŹcial approved spec but vendors started implementing them anyway. W3C/standards Doctype tells the browser what spec to adhere to. DOM = Document Object Model: tree of elements in memory, accessible from javascript and the browser 13
  • 15. Let’s create a website HTML CSS Javascript General Programming Concepts 15
  • 16. HTML Descendant of xml so it relies on markup <p>text inside</p>, a few are “self closing” like <img /> Nesting Hierarchy: html, head, body - DOM Can have values inside the tag or as attributes like this: <p style=”....”>some value inside</p> http://www.w3schools.com/html/html_quick.asp 16
  • 17. HTML5 Latest spec New html5 tags: article, section, header, footer, video, audio, local storage, input types, browser history, webrtc http://www.creativebloq.com/web-design-tips/ examples-of-html5-1233547 http://www.html5rocks.com/en/ 17
  • 18. CSS Style deïŹnitions for look and feel can be inline, in a separate ïŹle, or in the <head> of the document. Describe color, size, font style and some interaction now blurring the lines a bit Media queries = responsive Paths can be relative or absolute Floating, scrolling, and centering stuff. Modern stuff, table layout, ïŹ‚exbox, not supported yet everywhere 18
  • 19. Javascript (not java) Most ubiquitous language, also can be inline, in the head, or in a separate ïŹle. Similar to C syntax lots of brackets Actually a lot of hidden features and very ïŹ‚exible Scope is important concept, window object, event propagation Console, debugging with developer tools or ïŹrebug PolyïŹlls for patching older browsers to give them support 19
  • 20. General coding tips Good editor with code completion and syntax highlighting (webstorm or rubymine recommended) Close all tags ïŹrst then ïŹll it in. Test at every change in all browsers if possible. Get a virtual box and free vm’s from ms: modern.ie Get a simulator, download xcode and android simulator Minimize the tags to only what you need. Semantics: stick to what the tags are for 20
  • 21. Jquery Javascript framework, used everywhere. Free and open source. SimpliïŹes common tasks with javascript and the DOM $ = get this element or group of elements using a selector Plugins $.ready = when document (DOM) is completely loaded and ready to be used 21
  • 22. Jquery Plugin Example Add the jquery language to your code Add carousel plugin js ïŹle Wire up the necessary components and start the plugin http://jquery.malsup.com/cycle2/ 22
  • 23. Bootstrap CSS Framework from Twitter. Include the CSS ïŹle and js ïŹle Use the various components as needed. Override styles as necessary http://getbootstrap.com/ Available themes: wrapbootstrap.com (paid), bootswatch.com (free) 23
  • 24. Modern front end web development HAML and SASS, Compass, Less, Static site generators: middleman, jekyll Coffeescript (simpler syntax for javascript) Grunt and Yeoman (build anddependency management) Node JS (back end or server side javascript) MVC frameworks: backbone js, angular js http://updates.html5rocks.com/2013/11/TheLandscape-Of-Front-end-Development-AutomationSlides 24
  • 25. Server side Server sits and wait for requests. It responds with some data depending on the type of the request and what’s in it. Port 80 is reserved for website trafïŹc so anything coming on that port is routed to the webserver on the machine. Apache, Nginx The server says oh this is a request for a rails page so let’s hand this off to rails let it do its thing then respond with the result. Rails runs some logic based on the request variables, session values and checks the database if needed to look up more data 25
  • 26. Basic Server Admin Windows vs Linux Terminal basics: cp, rm, cd, whoami, pwd Services need to be running and healthy like mail, bind (dns), os level stuff disk space etc Security Backups http://community.linuxmint.com/tutorial/view/100 26
  • 27. Version Control Git/Github - distributed version control SVN/CVS - older non distributed Branching Merging diffs Pushing to master https://www.atlassian.com/git/workïŹ‚ows 27
  • 28. Ruby on Rails Ruby = another programming language with very nice syntax almost natural sounding and less code to write Rails = framework for developing web applications Model = data & business logic View = html, erb, haml Controller = decides where to go, where to get data, and view Gems = packages of ruby code for reuse, easy management system. Active Record, Rake: DB Migrations MVC = model (data), view (view), controller (routing) Development process: Bundler Write once, convention over conïŹguration 28
  • 29. 29
  • 30. Ruby Ruby is "an interpreted scripting language for quick and easy object-oriented programming" -- what does this mean? interpreted scripting language: ability to make operating system calls directly powerful string operations and regular expressions immediate feedback during development quick and easy: variable declarations are unnecessary variables are not typed syntax is simple and consistent memory management is automatic object oriented programming: everything is an object classes, methods, inheritance, etc. singleton methods "mixin" functionality by module iterators and closures http://www.rubyist.net/~slagell/ruby/index.html 30
  • 32. Let’s build a Rails application rails --version rails new blog rails server Controller: receive speciïŹc requests for the application Model: encapsulates the data access and business logic View: displays the collected information in a human readable format: ERB, Haml Routes: mapping urls to controllers and actions http://guides.rubyonrails.org/getting_started.html#creating-a-new-railsproject 32
  • 33. Mobile web development HTML5 vs Native vs Hybrid PhoneGap Appgyver - fast way to get an app on the phone and development Objective C/xcode - Native Iphone Android: Java 33
  • 34. Key Takeaways Don’t give up the more you see it the more it will sink in Do free/cheap work until you get good Pay attention to the minor details User experience is paramount Always do what it takes to meet goals while managing the tradeoffs and complete as fast as possible Stay on top of new tech 34