SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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 開發心得分享
 

Kürzlich hochgeladen

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Kürzlich hochgeladen (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

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