SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Cape Cod Web Technology MeetupCape Cod Web Technology Meetup
http://www.meetup.com/Cape-Cod-Web-Technology-Meetuphttp://www.meetup.com/Cape-Cod-Web-Technology-Meetup
HTML · CSS · JavaScript · PHP · MySQL
SEO (Search Engine Optimization)
CMS (Content Management Systems)
Software Development · Web Design &
Development · JQuery · Linux · OSX · Windows ·
Open Source, DOM, Canvas/SVG, WebGL,
Video/Audio, Animation, AJAX, WebSockets,
Cache/Storage, Geolocation
Meetup Topics
(Quick Overview)
● Text Editors (Atom / Sublime)
● Apache Server (sftp/ssh/php) – Todd's Server!
● CPanel / Wordpress (server side details)
● Working with any Web API (Mapping Example)
(facebook, linkedin, twitter, maps, d3.js, jquary)
● JSON and HTML <img>
● GIT http://www.github.com
Really Funny GitHub Video
https://youtu.be/Y7aEiVwBAdk
Text Editors!
● ATOM (Free / GitHub) https://atom.io/
● Sublime (Free) http://www.sublimetext.com/
● gedit (Kinda Requires Linux / GNOME)
● And you should probability know about
Emacs or VI (good old command line … also free)
● IDE (Eclipse, Netbeans, QT others)
(large downloads, however free…)
● Apple has XCODE (not open source)
Atom Editor (GitHub)
Sublime Editor (Python)
AthenaHealth in Boston
uses Sublime Text Editor!?
http://www.athenahealth.com/careers/tech-jobs?intcmp=10031704
ATOM and Sublime
Shortcut Notes
● Download Atom or Sublime and open source code
● Anyone have a favorite shortcut?
● Test out Really Cool Auto Code Completion
– Type: for,while,switch, if
try it out and hit enter!
● Control+Shift+p (to lookup commands)
● Control+d (multiple variable select)
● Edit+Lines+AutoIndent (code beautify)
Todd's Server!
● Ubuntu Server (Linux)
(runs apache with php and mysql)
● Make sure you know
(ssh / sftp / public_html has your
files / and know chmod file
permissions)
● Each http connection
is a “web socket”
Ubuntu Server (Free)
Try to Donate to Open Source!
http://www.ubuntu.com/download/server
They also have a Desktop Version, also Checkout Fedora and CentOS (Also FREE)
Writing your Own Web Server Code
It only Takes a Few Lines of Code
Cape Cod Wampanoag Server?!?
require 'socket' # Get sockets from stdlib
server = TCPServer.new(2000) # Socket to listen on port 2000
loop { # Servers run forever
client = server.accept # Wait for a client to connect
resp = "<html>Cape Cod Wampanoag Web Server found a Ruby!</html>"
headers = ["HTTP/1.1 200 OK",
"Date: Tue, 14 Dec 2010 10:48:45 GMT",
"Server: Ruby",
"Content-Type: text/html; charset=iso-8859-1",
"Content-Length: #{resp.length}rnrn"].join("rn")
client.puts headers # Send the time to the client
client.puts resp
client.close # Disconnect from the client
}
Note: Facebook Writes Their Own Server Code
Ruby Server (port 2000)
Cape Cod Wampanoag Web Server
Cpanel – Server Side
Most Web Servers use this as a File Manager
(this is where you install wordpress from)
Web API's
(include files)
● Google Analytics (not really an API however its a good example...)
– <script src="//www.google-analytics.com/analytics.js" async=""></script>
● Facebook Graph (API) https://developers.facebook.com/docs/javascript/examples
– Maybe the most important API in the world?
● Jquery (its for selecting HTML elements - lots of people use it)
● D3.js (graphics) https://github.com/mbostock/d3/wiki/Gallery
● LinkedIn API https://developer.linkedin.com/docs
● Twitter API (uses a lot of JSON)
https://dev.twitter.com/rest/reference/get/search/tweets
● The Key to API's is they are professional and optimized.
Facebook API & LinkedIn API
(basically you need to get an API-KEY then you can use all your regular
JavaScript and unfortunately PHP to call the functions)
https://developer.linkedin.com/docs/js-sdk
Working with an API
Open Street Maps
● Example
– Open Street Maps: http://openlayers.org/download/really cool example at /examples/stamen.html
– Google Maps: http://www.mkyong.com/google-maps/google-maps-api-map-types-example/
● Lets try and Make a Slight Change to the Code in
/examples/stamen.html
– Try using your actual location, not a static location.
1) Download the zip from Open Street Map at http://openlayers.org/download/
2) Open up the /examples/stamen.html
3) Search for the static geocode of [-122.416667, 37.783333] in your JavaScript for San Francisco and
edit it for Cape Cod.
4) Or if your fancy try a function call to your exact Current Position.
navigator.geolocation.getCurrentPosition(callback_function);
/examples/stamen.html
Open Street Map
GeoLocation Uses a Non-Blocking
Callback Function (mymap)
Once your Geo Location is
received the code uses a
callback function and
“call's mymap” to display
the map.
Callback functions are
non-blocking and its
important not to freeze up
the browser while your
waiting for remote data.
CSS is Important Too
Let's try Changing the
Size of the Map<style type="text/css">
html, body, #map {
width: 100%;
height: 100%;
margin: 0;
}
</style>
Or you can do the CSS style inline.
<div id="map" style="width: 800px, height: 800px"></div>
Does http://openlayers.org/ API say anything else that might help?
You should also know about JSON
(JavaScript Objects - just a Variable)
https://msdn.microsoft.com/en-us/library/bb299886.aspx
var contact = {
"Name": "Mashpee Public Library",
"PermissionToCall": true,
"PhoneNumbers": [
{
"Location": "Work",
"Number": "508-539-1435"
}
]
};
if (contact.PermissionToCall)
{
alert("Call " + contact.Name + " at " + contact.PhoneNumbers[0].Number);
}
Note: JSON objects can also get fancy and include other functions inside (the variable).
Don't worry about it too much if you don't understand this…
JSON is usually used just as a variable type or to pass text data around the internet.
JSON with HTML
What is GitHub?
http://www.github.com
● A free (OPEN SOURCE) way of saving your
code in a tree and working with others on it.
● See differences (diffs) in your code.
● Written by the Linux guy Linus Torvolds
Future Meetup Topics?
● Coding using new JavaScript! ECMAScript 2015 (ES6)
● Participating in Global Open Source Projects (bugzilla)
– How to compile your own Firefox from the C++ code
(Aurora/Nightly Build)
● Detailed GIT / Mercurial / Subversion Demo
● D3.js: https://github.com/mbostock/d3/wiki/Gallery#basic-charts
● MySQL / AJAX: http://www.jquery4u.com/demos/ajax/
● Text Animation: http://twistori.com/#i_think
● Looking into our Personal Websites and Wordpress?
● More Group / Community Debugging
Thank You!
HTML Questions?
● Feel Free to Contact Me Anytime
– Asher Martin
Tel: 773.321.8181
Email: AsherMartin@gmail.com
Skype: AsherMartin

Más contenido relacionado

La actualidad más candente

Front End Development Automation with Grunt
Front End Development Automation with GruntFront End Development Automation with Grunt
Front End Development Automation with GruntLadies Who Code
 
Seguranca em APP Rails
Seguranca em APP RailsSeguranca em APP Rails
Seguranca em APP RailsDaniel Lopes
 
Virtual Infrastructure
Virtual InfrastructureVirtual Infrastructure
Virtual InfrastructureBryan McLellan
 
EWD 3 Training Course Part 9: Complex QEWD Messages and Responses
EWD 3 Training Course Part 9: Complex QEWD Messages and ResponsesEWD 3 Training Course Part 9: Complex QEWD Messages and Responses
EWD 3 Training Course Part 9: Complex QEWD Messages and ResponsesRob Tweed
 
Web Development: The Next Five Years
Web Development: The Next Five YearsWeb Development: The Next Five Years
Web Development: The Next Five Yearssneeu
 
Intro to CouchDB
Intro to CouchDBIntro to CouchDB
Intro to CouchDBbenaldred
 
Service Worker Presentation
Service Worker PresentationService Worker Presentation
Service Worker PresentationKyle Dorman
 
Будь первым
Будь первымБудь первым
Будь первымFDConf
 
QCon 2017 - Java/JVM com Docker em produção: lições das trincheiras
QCon 2017 - Java/JVM com Docker em produção: lições das trincheirasQCon 2017 - Java/JVM com Docker em produção: lições das trincheiras
QCon 2017 - Java/JVM com Docker em produção: lições das trincheirasLeonardo Zanivan
 
Automating WordPress Theme Development
Automating WordPress Theme DevelopmentAutomating WordPress Theme Development
Automating WordPress Theme DevelopmentHardeep Asrani
 
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...Tom Croucher
 
Docker in Action
Docker in ActionDocker in Action
Docker in ActionSimon Su
 
Server-Side JavaScript with jQuery and AOLserver
Server-Side JavaScript with jQuery and AOLserverServer-Side JavaScript with jQuery and AOLserver
Server-Side JavaScript with jQuery and AOLserverDossy Shiobara
 
High Performance Ruby: Evented vs. Threaded
High Performance Ruby: Evented vs. ThreadedHigh Performance Ruby: Evented vs. Threaded
High Performance Ruby: Evented vs. ThreadedEngine Yard
 
Advanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsAdvanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsk88hudson
 

La actualidad más candente (20)

Front End Development Automation with Grunt
Front End Development Automation with GruntFront End Development Automation with Grunt
Front End Development Automation with Grunt
 
Seguranca em APP Rails
Seguranca em APP RailsSeguranca em APP Rails
Seguranca em APP Rails
 
Virtual Infrastructure
Virtual InfrastructureVirtual Infrastructure
Virtual Infrastructure
 
EWD 3 Training Course Part 9: Complex QEWD Messages and Responses
EWD 3 Training Course Part 9: Complex QEWD Messages and ResponsesEWD 3 Training Course Part 9: Complex QEWD Messages and Responses
EWD 3 Training Course Part 9: Complex QEWD Messages and Responses
 
Go & WebAssembly
Go & WebAssembly Go & WebAssembly
Go & WebAssembly
 
Node.js
Node.jsNode.js
Node.js
 
Web Development: The Next Five Years
Web Development: The Next Five YearsWeb Development: The Next Five Years
Web Development: The Next Five Years
 
Intro to CouchDB
Intro to CouchDBIntro to CouchDB
Intro to CouchDB
 
Triple Blitz Strike
Triple Blitz StrikeTriple Blitz Strike
Triple Blitz Strike
 
Service Worker Presentation
Service Worker PresentationService Worker Presentation
Service Worker Presentation
 
Будь первым
Будь первымБудь первым
Будь первым
 
QCon 2017 - Java/JVM com Docker em produção: lições das trincheiras
QCon 2017 - Java/JVM com Docker em produção: lições das trincheirasQCon 2017 - Java/JVM com Docker em produção: lições das trincheiras
QCon 2017 - Java/JVM com Docker em produção: lições das trincheiras
 
Automating WordPress Theme Development
Automating WordPress Theme DevelopmentAutomating WordPress Theme Development
Automating WordPress Theme Development
 
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
 
Dancing with websocket
Dancing with websocketDancing with websocket
Dancing with websocket
 
Scaling WordPress
Scaling WordPressScaling WordPress
Scaling WordPress
 
Docker in Action
Docker in ActionDocker in Action
Docker in Action
 
Server-Side JavaScript with jQuery and AOLserver
Server-Side JavaScript with jQuery and AOLserverServer-Side JavaScript with jQuery and AOLserver
Server-Side JavaScript with jQuery and AOLserver
 
High Performance Ruby: Evented vs. Threaded
High Performance Ruby: Evented vs. ThreadedHigh Performance Ruby: Evented vs. Threaded
High Performance Ruby: Evented vs. Threaded
 
Advanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsAdvanced front-end automation with npm scripts
Advanced front-end automation with npm scripts
 

Destacado

Eshopping bazar company catalogue
Eshopping bazar company catalogueEshopping bazar company catalogue
Eshopping bazar company catalogueeShopping Bazar
 
Pramod Kumar Behera
Pramod Kumar BeheraPramod Kumar Behera
Pramod Kumar BeheraPramod Kumar
 
Prosesadores de palabras
Prosesadores de palabrasProsesadores de palabras
Prosesadores de palabrasEduardo David
 
Ejercicio 4-maquete-utilizando-css-externo.
Ejercicio 4-maquete-utilizando-css-externo.Ejercicio 4-maquete-utilizando-css-externo.
Ejercicio 4-maquete-utilizando-css-externo.carlos_yurema
 
โครงงานคอมพิวเตอร์ (1)
โครงงานคอมพิวเตอร์ (1)โครงงานคอมพิวเตอร์ (1)
โครงงานคอมพิวเตอร์ (1)Mark'k Stk
 
Traditional game of bangladesh
Traditional game of bangladeshTraditional game of bangladesh
Traditional game of bangladeshSayem Al Nahian
 
2015-05-20 openmdm-architecture
2015-05-20 openmdm-architecture2015-05-20 openmdm-architecture
2015-05-20 openmdm-architectureAndreas Benzing
 
Presentasi Profitbomber
Presentasi ProfitbomberPresentasi Profitbomber
Presentasi Profitbomberprofitbomber
 
Instructional Design and Development
Instructional Design and DevelopmentInstructional Design and Development
Instructional Design and DevelopmentKlm102
 
Strong Networks for Children - a project presentation
Strong Networks for Children - a project presentationStrong Networks for Children - a project presentation
Strong Networks for Children - a project presentationelenaherlea
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์ โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์ Mark'k Stk
 
โครงงาน
โครงงานโครงงาน
โครงงานMark'k Stk
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์Mark'k Stk
 
Tips for Your Business in 2016
Tips for Your Business in 2016Tips for Your Business in 2016
Tips for Your Business in 2016Irv Holmes
 

Destacado (20)

Redacción de textos 2
Redacción de textos 2Redacción de textos 2
Redacción de textos 2
 
Alseth Resume
Alseth ResumeAlseth Resume
Alseth Resume
 
Eshopping bazar company catalogue
Eshopping bazar company catalogueEshopping bazar company catalogue
Eshopping bazar company catalogue
 
Pramod Kumar Behera
Pramod Kumar BeheraPramod Kumar Behera
Pramod Kumar Behera
 
Prosesadores de palabras
Prosesadores de palabrasProsesadores de palabras
Prosesadores de palabras
 
Ejercicio 4-maquete-utilizando-css-externo.
Ejercicio 4-maquete-utilizando-css-externo.Ejercicio 4-maquete-utilizando-css-externo.
Ejercicio 4-maquete-utilizando-css-externo.
 
โครงงานคอมพิวเตอร์ (1)
โครงงานคอมพิวเตอร์ (1)โครงงานคอมพิวเตอร์ (1)
โครงงานคอมพิวเตอร์ (1)
 
Traditional game of bangladesh
Traditional game of bangladeshTraditional game of bangladesh
Traditional game of bangladesh
 
2015-05-20 openmdm-architecture
2015-05-20 openmdm-architecture2015-05-20 openmdm-architecture
2015-05-20 openmdm-architecture
 
Presentasi Profitbomber
Presentasi ProfitbomberPresentasi Profitbomber
Presentasi Profitbomber
 
Mani Resume
Mani ResumeMani Resume
Mani Resume
 
Instructional Design and Development
Instructional Design and DevelopmentInstructional Design and Development
Instructional Design and Development
 
Strong Networks for Children - a project presentation
Strong Networks for Children - a project presentationStrong Networks for Children - a project presentation
Strong Networks for Children - a project presentation
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์ โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์
 
โครงงาน
โครงงานโครงงาน
โครงงาน
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์
 
Tips for Your Business in 2016
Tips for Your Business in 2016Tips for Your Business in 2016
Tips for Your Business in 2016
 
Blair John Stevens
Blair John Stevens Blair John Stevens
Blair John Stevens
 
Training Certificates
Training CertificatesTraining Certificates
Training Certificates
 
Colmos
Colmos Colmos
Colmos
 

Similar a Cape Cod Web Technology Meetup - 2

JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3Helder da Rocha
 
Event-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 EngineEvent-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 EngineRicardo Silva
 
Nodejs and WebSockets
Nodejs and WebSocketsNodejs and WebSockets
Nodejs and WebSocketsGonzalo Ayuso
 
Writing robust Node.js applications
Writing robust Node.js applicationsWriting robust Node.js applications
Writing robust Node.js applicationsTom Croucher
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Sadaaki HIRAI
 
Mobile webapplication development
Mobile webapplication developmentMobile webapplication development
Mobile webapplication developmentGanesh Gembali
 
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar TechnologiesRob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologiesgeorge.james
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.jsorkaplan
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるSadaaki HIRAI
 
Original slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talkOriginal slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talkAarti Parikh
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)Igor Bronovskyy
 
Introduction to Vert.x
Introduction to Vert.xIntroduction to Vert.x
Introduction to Vert.xYiguang Hu
 
Synapseindia dot net development web applications with ajax
Synapseindia dot net development  web applications with ajaxSynapseindia dot net development  web applications with ajax
Synapseindia dot net development web applications with ajaxSynapseindiappsdevelopment
 
Spicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QASpicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QAAlban Gérôme
 
Intro to node and mongodb 1
Intro to node and mongodb   1Intro to node and mongodb   1
Intro to node and mongodb 1Mohammad Qureshi
 
KSDG-iSlide App 開發心得分享
KSDG-iSlide App 開發心得分享KSDG-iSlide App 開發心得分享
KSDG-iSlide App 開發心得分享Chia Wei Tsai
 

Similar a Cape Cod Web Technology Meetup - 2 (20)

JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3
 
Event-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 EngineEvent-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 Engine
 
Nodejs and WebSockets
Nodejs and WebSocketsNodejs and WebSockets
Nodejs and WebSockets
 
Writing robust Node.js applications
Writing robust Node.js applicationsWriting robust Node.js applications
Writing robust Node.js applications
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
HTML 5 - Overview
HTML 5 - OverviewHTML 5 - Overview
HTML 5 - Overview
 
Mobile webapplication development
Mobile webapplication developmentMobile webapplication development
Mobile webapplication development
 
hacking with node.JS
hacking with node.JShacking with node.JS
hacking with node.JS
 
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar TechnologiesRob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.js
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
 
Original slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talkOriginal slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talk
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
 
Sanjeev ghai 12
Sanjeev ghai 12Sanjeev ghai 12
Sanjeev ghai 12
 
Introduction to Vert.x
Introduction to Vert.xIntroduction to Vert.x
Introduction to Vert.x
 
The HTML5 WebSocket API
The HTML5 WebSocket APIThe HTML5 WebSocket API
The HTML5 WebSocket API
 
Synapseindia dot net development web applications with ajax
Synapseindia dot net development  web applications with ajaxSynapseindia dot net development  web applications with ajax
Synapseindia dot net development web applications with ajax
 
Spicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QASpicy javascript: Create your first Chrome extension for web analytics QA
Spicy javascript: Create your first Chrome extension for web analytics QA
 
Intro to node and mongodb 1
Intro to node and mongodb   1Intro to node and mongodb   1
Intro to node and mongodb 1
 
KSDG-iSlide App 開發心得分享
KSDG-iSlide App 開發心得分享KSDG-iSlide App 開發心得分享
KSDG-iSlide App 開發心得分享
 

Último

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
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 FMESafe Software
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
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 SavingEdi Saputra
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 

Último (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Cape Cod Web Technology Meetup - 2

  • 1. Cape Cod Web Technology MeetupCape Cod Web Technology Meetup http://www.meetup.com/Cape-Cod-Web-Technology-Meetuphttp://www.meetup.com/Cape-Cod-Web-Technology-Meetup HTML · CSS · JavaScript · PHP · MySQL SEO (Search Engine Optimization) CMS (Content Management Systems) Software Development · Web Design & Development · JQuery · Linux · OSX · Windows · Open Source, DOM, Canvas/SVG, WebGL, Video/Audio, Animation, AJAX, WebSockets, Cache/Storage, Geolocation
  • 2. Meetup Topics (Quick Overview) ● Text Editors (Atom / Sublime) ● Apache Server (sftp/ssh/php) – Todd's Server! ● CPanel / Wordpress (server side details) ● Working with any Web API (Mapping Example) (facebook, linkedin, twitter, maps, d3.js, jquary) ● JSON and HTML <img> ● GIT http://www.github.com
  • 3. Really Funny GitHub Video https://youtu.be/Y7aEiVwBAdk
  • 4. Text Editors! ● ATOM (Free / GitHub) https://atom.io/ ● Sublime (Free) http://www.sublimetext.com/ ● gedit (Kinda Requires Linux / GNOME) ● And you should probability know about Emacs or VI (good old command line … also free) ● IDE (Eclipse, Netbeans, QT others) (large downloads, however free…) ● Apple has XCODE (not open source)
  • 7. AthenaHealth in Boston uses Sublime Text Editor!? http://www.athenahealth.com/careers/tech-jobs?intcmp=10031704
  • 8. ATOM and Sublime Shortcut Notes ● Download Atom or Sublime and open source code ● Anyone have a favorite shortcut? ● Test out Really Cool Auto Code Completion – Type: for,while,switch, if try it out and hit enter! ● Control+Shift+p (to lookup commands) ● Control+d (multiple variable select) ● Edit+Lines+AutoIndent (code beautify)
  • 9. Todd's Server! ● Ubuntu Server (Linux) (runs apache with php and mysql) ● Make sure you know (ssh / sftp / public_html has your files / and know chmod file permissions) ● Each http connection is a “web socket”
  • 10. Ubuntu Server (Free) Try to Donate to Open Source! http://www.ubuntu.com/download/server They also have a Desktop Version, also Checkout Fedora and CentOS (Also FREE)
  • 11. Writing your Own Web Server Code It only Takes a Few Lines of Code Cape Cod Wampanoag Server?!? require 'socket' # Get sockets from stdlib server = TCPServer.new(2000) # Socket to listen on port 2000 loop { # Servers run forever client = server.accept # Wait for a client to connect resp = "<html>Cape Cod Wampanoag Web Server found a Ruby!</html>" headers = ["HTTP/1.1 200 OK", "Date: Tue, 14 Dec 2010 10:48:45 GMT", "Server: Ruby", "Content-Type: text/html; charset=iso-8859-1", "Content-Length: #{resp.length}rnrn"].join("rn") client.puts headers # Send the time to the client client.puts resp client.close # Disconnect from the client } Note: Facebook Writes Their Own Server Code
  • 12. Ruby Server (port 2000) Cape Cod Wampanoag Web Server
  • 13. Cpanel – Server Side Most Web Servers use this as a File Manager (this is where you install wordpress from)
  • 14. Web API's (include files) ● Google Analytics (not really an API however its a good example...) – <script src="//www.google-analytics.com/analytics.js" async=""></script> ● Facebook Graph (API) https://developers.facebook.com/docs/javascript/examples – Maybe the most important API in the world? ● Jquery (its for selecting HTML elements - lots of people use it) ● D3.js (graphics) https://github.com/mbostock/d3/wiki/Gallery ● LinkedIn API https://developer.linkedin.com/docs ● Twitter API (uses a lot of JSON) https://dev.twitter.com/rest/reference/get/search/tweets ● The Key to API's is they are professional and optimized.
  • 15. Facebook API & LinkedIn API (basically you need to get an API-KEY then you can use all your regular JavaScript and unfortunately PHP to call the functions) https://developer.linkedin.com/docs/js-sdk
  • 16. Working with an API Open Street Maps ● Example – Open Street Maps: http://openlayers.org/download/really cool example at /examples/stamen.html – Google Maps: http://www.mkyong.com/google-maps/google-maps-api-map-types-example/ ● Lets try and Make a Slight Change to the Code in /examples/stamen.html – Try using your actual location, not a static location. 1) Download the zip from Open Street Map at http://openlayers.org/download/ 2) Open up the /examples/stamen.html 3) Search for the static geocode of [-122.416667, 37.783333] in your JavaScript for San Francisco and edit it for Cape Cod. 4) Or if your fancy try a function call to your exact Current Position. navigator.geolocation.getCurrentPosition(callback_function);
  • 18. GeoLocation Uses a Non-Blocking Callback Function (mymap) Once your Geo Location is received the code uses a callback function and “call's mymap” to display the map. Callback functions are non-blocking and its important not to freeze up the browser while your waiting for remote data.
  • 19. CSS is Important Too Let's try Changing the Size of the Map<style type="text/css"> html, body, #map { width: 100%; height: 100%; margin: 0; } </style> Or you can do the CSS style inline. <div id="map" style="width: 800px, height: 800px"></div> Does http://openlayers.org/ API say anything else that might help?
  • 20.
  • 21. You should also know about JSON (JavaScript Objects - just a Variable) https://msdn.microsoft.com/en-us/library/bb299886.aspx var contact = { "Name": "Mashpee Public Library", "PermissionToCall": true, "PhoneNumbers": [ { "Location": "Work", "Number": "508-539-1435" } ] }; if (contact.PermissionToCall) { alert("Call " + contact.Name + " at " + contact.PhoneNumbers[0].Number); } Note: JSON objects can also get fancy and include other functions inside (the variable). Don't worry about it too much if you don't understand this… JSON is usually used just as a variable type or to pass text data around the internet.
  • 23. What is GitHub? http://www.github.com ● A free (OPEN SOURCE) way of saving your code in a tree and working with others on it. ● See differences (diffs) in your code. ● Written by the Linux guy Linus Torvolds
  • 24. Future Meetup Topics? ● Coding using new JavaScript! ECMAScript 2015 (ES6) ● Participating in Global Open Source Projects (bugzilla) – How to compile your own Firefox from the C++ code (Aurora/Nightly Build) ● Detailed GIT / Mercurial / Subversion Demo ● D3.js: https://github.com/mbostock/d3/wiki/Gallery#basic-charts ● MySQL / AJAX: http://www.jquery4u.com/demos/ajax/ ● Text Animation: http://twistori.com/#i_think ● Looking into our Personal Websites and Wordpress? ● More Group / Community Debugging
  • 25. Thank You! HTML Questions? ● Feel Free to Contact Me Anytime – Asher Martin Tel: 773.321.8181 Email: AsherMartin@gmail.com Skype: AsherMartin