Backend Development. SWE 432, Fall Web Application Development
|
|
- Deborah Small
- 5 years ago
- Views:
Transcription
1 Backend Development SWE 432, Fall 2018 Web Application Development
2 Review: Async Programming Example 1 second each Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar 2 seconds each Group all Twix Group all 3 Musketeers thencombine Group all MilkyWay when done Group all MilkyWay Dark Group all Snickers Eat all the Twix Explain example!2
3 Review: Async/Await Rules of the road: You can only call await from a function that is async You can only await on functions that return a Promise Beware: await makes your code synchronous! async function getandgroupstuff() {... ts = await lib.grouppromise(stuff,"t");... }!3
4 Today What is a backend for? History of backend web programming NodeJS backends with Express!4
5 Why we need backends Security: SOME part of our code needs to be trusted Validation, security, etc. that we don t want to allow users to bypass Performance: Avoid duplicating computation (do it once and cache) Do heavy computation on more powerful machines Do data-intensive computation nearer to the data Compatibility: Can bring some dynamic behavior without requiring much JS support!5
6 Dynamic Web Apps What the user interacts with Web Front End Frontend programming next week Presentation Some logic Back End What the front end interacts with Persistent Storage Some other APIs Data storage Some other logic
7 Where do we put the logic? What the user interacts with Web Front End Presentation Some logic Back End What the front end interacts with Persistent Storage Some other APIs Data storage Some other logic Frontend Pros Very responsive (low latency) Cons Security Performance Unable to share between front-ends Backend Pros Easy to refactor between multiple clients Logic is hidden from users (good for security, compatibility, and intensive computation) Cons Interactions require a round-trip to server
8 Why Trust Matters Example: Transaction app function updatebalance(user, amounttoadd) { user.balance = user.balance + amounttoadd; } What s wrong? How do you fix that?!8
9 What does our backend look like? Our own backend Web Front End AJAX Connection to Frontend Logic Persistent Data!9
10 The good old days of backends HTTP Request GET /myapplicationendpoint HTTP/1.1 Host: cs.gmu.edu Accept: text/html web server Give me /myapplicationendpoint Runs a program Web Server Application Here s some text to send back Does whatever it wants My Application Backend HTTP Response HTTP/ OK Content-Type: text/html; charset=utf-8 <html><head>...!10
11 What s wrong with this picture?
12 History of Backend Development In the beginning, you wrote whatever you wanted using whatever language you wanted and whatever framework you wanted Then PHP and ASP Languages designed for writing backends Encouraged spaghetti code A lot of the web was built on this A whole lot of other languages were also springing up in the 90 s Ruby, Python, JSP!12
13 MVC & Backend Servers There are a ton of backend frameworks that support MVC SailsJS, Ruby on Rails, PHP Symfony, Python Django, ASP.NET, EJB Old days: View was server-generated HTML New days: View is an API Today we ll talk about Node.JS backend development We will not talk about making MVC backends and will not require you to do so!13
14 Microservices vs. Monoliths Advantages of microservices over monoliths include Support for scaling Scale vertically rather than horizontally Support for change Support hot deployment of updates Support for reuse Use same web service in multiple apps Swap out internally developed web service for externally developed web service Support for separate team development Pick boundaries that match team responsibilities Support for failure!14
15 Support for scaling Our Cool App Frontend Backend Server Mod 1 Mod 2 Mod 3 Mod 4 Mod 5 Mod 6 Database!15
16 Now how do we scale it? Our Cool App Frontend Backend Server Mod 1 Mod 2 Mod 3 Mod 4 Mod 5 Mod 6 Backend Server Mod 1 Mod 2 Mod 3 Mod 4 Mod 5 Mod 6 Backend Server Mod 1 Mod 2 Mod 3 Mod 4 Mod 5 Mod 6 Database We run multiple copies of the backend, each with each of the modules!16
17 What's wrong with this picture? This is called the Our Cool App Frontend monolithic app Backend Server Mod 1 Mod 2 Backend Server Mod 1 Mod 2 Backend Server Mod 1 Mod 2 Mod 3 Mod 4 Mod 3 Mod 4 Mod 3 Mod 4 Mod 5 Mod 6 Mod 5 Mod 6 Mod 5 Mod 6 If we need 100 servers Database Each server will have to run EACH module What if we need more of some modules than others?!17
18 Microservices NodeJS, Firebase Google Service Java, MySQL Todos Mod 1 Accounts Mod 2 Mod Mailer 3 Our Cool App REST service REST service REST service Frontend Database Database Database Dumb Backend AJAX Mod Search 4 Engine REST service Analytics Mod 5 REST service Mod 6 Facebook Crawler REST service Database Database Database Java, Neo4J C#, SQLServer Python, Firebase!18
19 Goals of microservices Add them independently Upgrade the independently Reuse them independently Develop them independently ==> Have ZERO coupling between microservices, aside from their shared interface!19
20 Node.JS We re going to write backends with Node.JS Why use Node? Event based: really efficient for sending lots of quick updates to lots of clients Why not use Node? Bad for CPU heavy stuff It s relatively immature!20
21 Node.JS Node.JS is a runtime that lets you run JS outside of a browser How we ve been running JS so far, mostly (browser will start next week) Node.JS has a very large ecosystem of packages as we ve seen Very relevant example here: express (web server)!21
22 Express Basic setup: For get: app.get("/somepath", function(req, res){ //Read stuff from req, then call res.send(myresponse) }); For post: app.post("/somepath", function(req, res){ //Read stuff from req, then call res.send(myresponse) }); Serving static files: app.use(express.static('myfilewithstaticfiles')); Make sure to declare this *last* Additional helpful module - bodyparser (for reading POST data)!22
23 Demo: Hello World Server 1: Make a directory, myapp 2: Enter that directory, type npm init (accept all defaults) Creates a configuration file for your project 3: Type npm install express --save 4: Create text file app.js: var express = require('express'); var app = express(); var port = process.env.port 3000; app.get('/', function (req, res) { res.send('hello World!'); }); Tells NPM that you want to use express, and to save that in your project config app.listen(port, function () { console.log('example app listening on port' + port); }); 5: Type node app.js 6: Point your browser to Runs your app!23
24 Demo: Hello World Server var 1: Make express a directory, = require( express'); myapp Import the module express 2: Enter that directory, type npm init (accept all defaults) var app = express(); 3: Type Create npm a install new instance express of express --save 4: Create text file app.js: var port = process.env.port 3000; Decide what port we want express to listen on app.get('/', function (req, res) { res.send('hello World!'); }); Creates a configuration file for your project Tells NPM that you want to use express, and to save that in your project config Create a callback for express to call when we have a get request to /. That callback has access to the request (req) and response (res). app.listen(port, function () { console.log('example app listening on port' + port); }); 5: Type node app.js Tell our new instance of express to listen on port, 6: Point your browser to Runs and your print app to the console once it starts successfully!24
25 Core concept: Routing The definition of end points (URIs) and how they respond to client requests. app.method(path, HANDLER) METHOD: all, get, post, put, delete, [and others] PATH: string HANDLER: call back app.post('/', function (req, res) { res.send('got a POST request'); });!25
26 Route paths Can specify strings, string patterns, and regular expressions Can use?, +, *, and () Matches request to root route app.get('/', function (req, res) { res.send('root'); }); Matches request to /about app.get('/about', function (req, res) { res.send('about'); }); Matches request to /abe and /abcde app.get('/ab(cd)?e', function(req, res) { res.send('ab(cd)?e'); });!26
27 Route parameters Named URL segments that capture values at specified location in URL Stored into req.params object by name Example Route path /users/:userid/books/:bookid Request URL Resulting req.params: { "userid": "34", "bookid": "8989" } app.get('/users/:userid/books/:bookid', function(req, res) { res.send(req.params); });!27
28 Request object Enables reading properties of HTTP request req.body: JSON submitted in request body (must define body-parser to use) req.ip: IP of the address req.query: URL query parameters!28
29 HTTP Responses Larger number of response codes (200 OK, 404 NOT FOUND) Message body only allowed with certain response status codes OK response Response status codes: 1xx Informational 2xx Success 3xx Redirection 4xx Client error 5xx Server error HTML returned content Common MIME types: application/json application/pdf image/png [HTML data]!29
30 Response object Enables a response to client to be generated res.send() - send string content res.download() - prompts for a file download res.json() - sends a response w/ application/json Content-Type header res.redirect() - sends a redirect response res.sendstatus() - sends only a status message res.sendfile() - sends the file at the specified path app.get('/users/:userid/books/:bookid', function(req, res) { res.json({ id : req.params.bookid }); });!30
31 Describing Responses What happens if something goes wrong while handling HTTP request? How does client know what happened and what to try next? HTTP offers response status codes describing the nature of the response 1xx Informational: Request received, continuing 2xx Success: Request received, understood, accepted, processed 200: OK 3xx Redirection: Client must take additional action to complete request 301: Moved Permanently 307: Temporary Redirect
32 Describing Errors 4xx Client Error: client did not make a valid request to server. Examples: 400 Bad request (e.g., malformed syntax) 403 Forbidden: client lacks necessary permissions 404 Not found 405 Method Not Allowed: specified HTTP action not allowed for resource 408 Request Timeout: server timed out waiting for a request 410 Gone: Resource has been intentionally removed and will not return 429 Too Many Requests!32
33 Describing Errors 5xx Server Error: The server failed to fulfill an apparently valid request. 500 Internal Server Error: generic error message 501 Not Implemented 503 Service Unavailable: server is currently unavailable!33
34 Error handling in Express Express offers a default error handler Can specific error explicitly with status res.status(500);!34
35 Making HTTP Requests Writing clients that talk to backends Two good options: request, request-promise (need to install both to use request-promise) var rp = require('request-promise'); rp(" => { console.log("response from server:"); console.log(v); }).catch(e => { console.log("error"); console.log(e); })!35
Backend Development. SWE 432, Fall 2017 Design and Implementation of Software for the Web
Backend Development SWE 432, Fall 2017 Design and Implementation of Software for the Web Real World Example https://qz.com/1073221/the-hackers-who-broke-into-equifax-exploited-a-nine-year-old-security-flaw/
More informationMicroservices. SWE 432, Fall 2017 Design and Implementation of Software for the Web
Micros SWE 432, Fall 2017 Design and Implementation of Software for the Web Today How is a being a micro different than simply being ful? What are the advantages of a micro backend architecture over a
More informationDistributed Architectures & Microservices. CS 475, Spring 2018 Concurrent & Distributed Systems
Distributed Architectures & Microservices CS 475, Spring 2018 Concurrent & Distributed Systems GFS Architecture GFS Summary Limitations: Master is a huge bottleneck Recovery of master is slow Lots of success
More informationPersistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web
Persistence & State SWE 432, Fall 2016 Design and Implementation of Software for the Web Today What s state for our web apps? How do we store it, where do we store it, and why there? For further reading:
More informationPersistence. SWE 432, Fall 2017 Design and Implementation of Software for the Web
Persistence SWE 432, Fall 2017 Design and Implementation of Software for the Web Today Demo: Promises and Timers What is state in a web application? How do we store it, and how do we choose where to store
More informationNoSQL & Firebase. SWE 432, Fall Web Application Development
NoSQL & Firebase SWE 432, Fall 2018 Web Application Development Review: Nouns vs. Verbs URIs should hierarchically identify nouns describing resources that exist Verbs describing actions that can be taken
More informationTools. SWE 432, Fall Design and Implementation of Software for the Web
Tools SWE 432, Fall 2016 Design and Implementation of Software for the Web Today Before we can really make anything, there s a bunch of technical stuff to get out of the way Tools make our lives so much
More informationNode.js. Node.js Overview. CS144: Web Applications
Node.js Node.js Overview JavaScript runtime environment based on Chrome V8 JavaScript engine Allows JavaScript to run on any computer JavaScript everywhere! On browsers and servers! Intended to run directly
More informationSecurity. SWE 432, Fall 2017 Design and Implementation of Software for the Web
Security SWE 432, Fall 2017 Design and Implementation of Software for the Web Today Security What is it? Most important types of attacks Authorization oauth 2 Security Why is it important? Users data is
More informationWeb Application Development
Web Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie SERVER SIDE JAVASCRIPT PART 1 Outline 1.
More informationWhat is Node.js? Tim Davis Director, The Turtle Partnership Ltd
What is Node.js? Tim Davis Director, The Turtle Partnership Ltd About me Co-founder of The Turtle Partnership Working with Notes and Domino for over 20 years Working with JavaScript technologies and frameworks
More informationAsynchronous JS. SWE 432, Fall Web Application Development
Asynchronous JS SWE 432, Fall 2018 Web Application Development Review: Asynchronous Synchronous: Make a function call When function call returns, the work is done Asynchronous: Make a function call Function
More informationHuman-Computer Interaction Design
Human-Computer Interaction Design COGS120/CSE170 - Intro. HCI Instructor: Philip Guo Lab 6 - Connecting frontend and backend without page reloads (2016-11-03) by Michael Bernstein, Scott Klemmer, and Philip
More informationIntroduction to Express.js. CSC309 Feb. 6, 2015 Surya Nallu
Introduction to Express.js CSC309 Feb. 6, 2015 Surya Nallu What is Express.js? Web application framework for Node.js Light-weight and minimalist Provides boilerplate structure & organization for your web-apps
More informationWe are assuming you have node installed!
Node.js Hosting We are assuming you have node installed! This lesson assumes you've installed and are a bit familiar with JavaScript and node.js. If you do not have node, you can download and install it
More informationClient Side JavaScript and AJAX
Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is
More informationCatbook Workshop: Intro to NodeJS. Monde Duinkharjav
Catbook Workshop: Intro to NodeJS Monde Duinkharjav What is NodeJS? NodeJS is... A Javascript RUNTIME ENGINE NOT a framework NOT Javascript nor a JS package It is a method for running your code in Javascript.
More informationGetting Started With NodeJS Feature Flags
Guide Getting Started With NodeJS Feature Flags INTRO We ve all done it at some point: thrown a conditional around a piece of code to enable or disable it. When it comes to feature flags, this is about
More informationJS Event Loop, Promises, Async Await etc. Slava Kim
JS Event Loop, Promises, Async Await etc Slava Kim Synchronous Happens consecutively, one after another Asynchronous Happens later at some point in time Parallelism vs Concurrency What are those????
More informationMicroservices with Node.js
Microservices with Node.js Objectives In this module we will discuss: Core Node.js concepts Node Package Manager (NPM) The Express Node.js package The MEAN stack 1.1 What is Node.js? Node.js [ https://nodejs.org/
More informationCSc 337 LECTURE 16: WRITING YOUR OWN WEB SERVICE
CSc 337 LECTURE 16: WRITING YOUR OWN WEB SERVICE Basic web service // CSC 337 hello world server const express = require("express"); const app = express(); app.use(express.static('public')); app.get('/',
More informationwelcome to BOILERCAMP HOW TO WEB DEV
welcome to BOILERCAMP HOW TO WEB DEV Introduction / Project Overview The Plan Personal Website/Blog Schedule Introduction / Project Overview HTML / CSS Client-side JavaScript Lunch Node.js / Express.js
More informationNODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js
NODE.JS SERVER SIDE JAVASCRIPT Introduc)on Node.js Node.js was created by Ryan Dahl starting in 2009. For more information visit: http://www.nodejs.org 1 What about Node.js? 1. JavaScript used in client-side
More informationFrontend Frameworks. SWE 432, Fall 2016 Design and Implementation of Software for the Web
Frontend Frameworks SWE 432, Fall 2016 Design and Implementation of Software for the Web Today How do we build a single page app without dying? MVC/MVVM (AngularJS) For further reading: Book: Learning
More informationUnifer Documentation. Release V1.0. Matthew S
Unifer Documentation Release V1.0 Matthew S July 28, 2014 Contents 1 Unifer Tutorial - Notes Web App 3 1.1 Setting up................................................. 3 1.2 Getting the Template...........................................
More informationModule 3 Web Component
Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session
More informationCS 498RK FALL RESTFUL APIs
CS 498RK FALL 2017 RESTFUL APIs Designing Restful Apis blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/ www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api Resources
More informationWeb Application Development
Web Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie REST AND EXPRESS PART 2 Outline 1. Introduction
More informationWeb Development for Dinosaurs An Introduction to Modern Web Development
Web Development for Dinosaurs An Introduction to Modern Web Development 1 / 53 Who Am I? John Cleaver Development Team Lead at Factivity, Inc. An Introduction to Modern Web Development - PUG Challenge
More informationSSC - Web applications and development Introduction and Java Servlet (I)
SSC - Web applications and development Introduction and Java Servlet (I) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics What will we learn
More informationCS193X: Web Programming Fundamentals
CS193X: Web Programming Fundamentals Spring 2017 Victoria Kirst (vrk@stanford.edu) CS193X schedule Today - Middleware and Routes - Single-page web app - More MongoDB examples - Authentication - Victoria
More informationInteractive Web Application
Interactive Web Application This lesson builds on previous lessons With this lesson we will be picking up right where we left off from our Node.js Hosting lesson. The presentation can be found at http://rockymountaincoding.org.
More informationTuesday, January 13, Backend III: Node.js with Databases
6.148 Backend III: Node.js with Databases HELLO AND WELCOME! Your Feels Lecture too fast! Your Feels Lecture too fast! Too many languages Your Feels Lecture too fast! Too many languages Code more in class
More informationExpress.JS. Prof. Cesare Pautasso Modularity
1 / 30 Express.JS Prof. Cesare Pautasso http://www.pautasso.info cesare.pautasso@usi.ch @pautasso Modularity var msg = "x:"; //private var f = function(x) { return msg + " " + x; module.exports.f = f;
More informationCOMP 2406: Fundamentals of Web Applications. Fall 2013 Mid-Term Exam Solutions
COMP 2406: Fundamentals of Web Applications Fall 2013 Mid-Term Exam Solutions 1. ( false ) HTTP cookies are only sent to a web server when explicitly requested. 2. ( false ) Cookies are normally parsed
More informationCNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies
CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response
More informationScalable applications with HTTP
Scalable applications with HTTP Patrice Neff, co-founder Memonic patrice@memonic.com twitter.com/pneff 20100407 memonic Memonic Founded in 2009 Your personal digital notebook Easy web research Try it out
More informationModule 6 Node.js and Socket.IO
Module 6 Node.js and Socket.IO Module 6 Contains 2 components Individual Assignment and Group Assignment Both are due on Wednesday November 15 th Read the WIKI before starting Portions of today s slides
More informationNODE.JS MOCK TEST NODE.JS MOCK TEST I
http://www.tutorialspoint.com NODE.JS MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Node.js Framework. You can download these sample mock tests at
More informationTemplates and Databinding. SWE 432, Fall 2017 Design and Implementation of Software for the Web
Templates and Databinding SWE 432, Fall 2017 Design and Implementation of Software for the Web Today What are templates? What are frontend components? How can I use these with React? 2 What s wrong with
More informationBuilding modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek
Building modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek @wrzodek Roche Group Penzberg Founded 1896 in Basel, Switzerland Employing > 82,000 people Clear focus
More informationPerformance Case Study
Performance Case Study @Fabian_Frank Yahoo! Search, Engineer Youthmedia.eu, Volunteer A Dynamic Website self-contained App self-contained App self-contained App node v0.4.x multi-core
More informationMake your application real-time with PubSubHubbub. Brett Slatkin May 19th, 2010
Make your application real-time with PubSubHubbub Brett Slatkin May 19th, 2010 View live notes and ask questions about this session on Google Wave http://tinyurl.com/push-io2010 Me http://onebigfluke.com
More informationCS50 Quiz Review. November 13, 2017
CS50 Quiz Review November 13, 2017 Info http://docs.cs50.net/2017/fall/quiz/about.html 48-hour window in which to take the quiz. You should require much less than that; expect an appropriately-scaled down
More informationReview. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015
Fundamentals of Website Development CSC 2320, Fall 2015 The Department of Computer Science Review Web Extensions Server side & Where is your JOB? 1 In this chapter Dynamic pages programming Database Others
More informationPHP. MIT 6.470, IAP 2010 Yafim Landa
PHP MIT 6.470, IAP 2010 Yafim Landa (landa@mit.edu) LAMP We ll use Linux, Apache, MySQL, and PHP for this course There are alternatives Windows with IIS and ASP Java with Tomcat Other database systems
More informationTo Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin,
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry Tony Erwin, aerwin@us.ibm.com Agenda Origins of the Bluemix UI Demons of the Monolith Slaying Demons with
More informationCookies, sessions and authentication
Cookies, sessions and authentication TI1506: Web and Database Technology Claudia Hauff! Lecture 7 [Web], 2014/15 1 Course overview [Web] 1. http: the language of Web communication 2. Web (app) design &
More informationCOMP 2406: Fundamentals of Web Applications. Winter 2014 Mid-Term Exam Solutions
COMP 2406: Fundamentals of Web Applications Winter 2014 Mid-Term Exam Solutions 1. ( true ) The Register button on / causes a form to be submitted to the server. 2. ( false ) In JavaScript, accessing object
More informationSimple AngularJS thanks to Best Practices
Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it
More informationHeader Status Codes Cheat Sheet
Header Status Codes Cheat Sheet Thanks for downloading our header status codes cheat sheet! Below you ll find all the header status codes and their meanings. They are organized by sections, starting with
More informationModern Web Application Development. Sam Hogarth
Modern Web Application Development Sam Hogarth Some History Early Web Applications Server-side scripting only e.g. PHP/ASP Basic client-side scripts JavaScript/JScript/VBScript Major differences in browser
More informationAngularJS Intro Homework
AngularJS Intro Homework Contents 1. Overview... 2 2. Database Requirements... 2 3. Navigation Requirements... 3 4. Styling Requirements... 4 5. Project Organization Specs (for the Routing Part of this
More informationBack-end architecture
Back-end architecture Tiberiu Vilcu Prepared for EECS 411 Sugih Jamin 2 January 2018 https://education.github.com/pack 1 2 Outline HTTP 1. HTTP and useful web tools 2. Designing APIs 3. Back-end services
More informationTooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.
Tooling for Ajax-Based Development Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda In The Beginning Frameworks Tooling Architectural Approaches Resources 2 In The Beginning 3
More informationAngularJS Fundamentals
AngularJS Fundamentals by Jeremy Zerr Blog: http://www.jeremyzerr.com LinkedIn: http://www.linkedin.com/in/jrzerr Twitter: http://www.twitter.com/jrzerr What is AngularJS Open Source Javascript MVC/MVVM
More informationBackend Web Frameworks
Backend Web Frameworks How do we: inspect the requested URL and return the appropriate page? deal with POST requests? handle more advanced concepts like sessions and cookies? scale the application to
More informationJavaScript: the Big Picture
JavaScript had to look like Java only less so be Java's dumb kid brother or boy-hostage sidekick. Plus, I had to be done in ten days or something worse than JavaScript would have happened.! JavaScript:
More informationSAMPLE CHAPTER SECOND EDITION. Alex Young Bradley Meck Mike Cantelon. Tim Oxley Marc Harter T.J. Holowaychuk Nathan Rajlich MANNING WITH
SAMPLE CHAPTER SECOND EDITION Alex Young Bradley Meck Mike Cantelon WITH Tim Oxley Marc Harter T.J. Holowaychuk Nathan Rajlich MANNING Node.js in Action, Second Edition by Alex Young, Bradley Meck, Mike
More informationFull Stack Developer with Java
Full Stack Developer with Java Full Stack Developer (Java) MVC, Databases and ORMs, API Backend Frontend Fundamentals - HTML, CSS, JS Unit Testing Advanced Full Stack Developer (Java) UML, Distributed
More informationJavaScript on the Command Line & PRATIK PATEL CTO TripLingo Labs
JavaScript on the Command Line & Server @prpatel TripLingo Labs PRATIK@mypatelspace.com Topics Modern JavaScript Why? Ecosystem Node Grunt Yesterday s JavaScript Today s JavaScript is cool What s changed?
More informationCS193X: Web Programming Fundamentals
CS193X: Web Programming Fundamentals Spring 2017 Victoria Kirst (vrk@stanford.edu) CS193X schedule Today - MongoDB - Servers and MongoDB Friday - Web application architecture - Authentication MongoDB installation
More informationFront End Programming
Front End Programming Mendel Rosenblum Brief history of Web Applications Initially: static HTML files only. Common Gateway Interface (CGI) Certain URLs map to executable programs that generate web page
More informationUsing OAuth 2.0 to Access ionbiz APIs
Using OAuth 2.0 to Access ionbiz APIs ionbiz APIs use the OAuth 2.0 protocol for authentication and authorization. ionbiz supports common OAuth 2.0 scenarios such as those for web server, installed, and
More informationMongoDB Web Architecture
MongoDB Web Architecture MongoDB MongoDB is an open-source, NoSQL database that uses a JSON-like (BSON) document-oriented model. Data is stored in collections (rather than tables). - Uses dynamic schemas
More informationFunctional Programming and the Web
June 13, 2011 About Me Undergraduate: University of Illinois at Champaign-Urbana PhD: Penn State University Retrofitting Programs for Complete Security Mediation Static analysis, type-based compiler Racker:
More informationInstructor s Notes Web Data Management Web Client/Server Concepts. Web Data Management Web Client/Server Concepts
Instructor s Web Data Management Web Client/Server Concepts Web Data Management 152-155 Web Client/Server Concepts Quick Links & Text References Client / Server Concepts Pages 4 11 Web Data Mgt Software
More informationWeb Application Architectures
Web Application Architectures Internet Engineering Spring 2018 Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Outline MVC Design Pattern Multilayer Design Microservices Architecture
More informationContents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services
Ajax Contents 1. Overview of Ajax 2. Using Ajax directly 3. jquery and Ajax 4. Consuming RESTful services Demos folder: Demos\14-Ajax 2 1. Overview of Ajax What is Ajax? Traditional Web applications Ajax
More informationFull Stack boot camp
Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building
More informationJavaScript Fundamentals_
JavaScript Fundamentals_ HackerYou Course Syllabus CLASS 1 Intro to JavaScript Welcome to JavaScript Fundamentals! Today we ll go over what programming languages are, JavaScript syntax, variables, and
More informationUpload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an with the URL Grading:
CS 183 4/6/2010 Build a simple HTML page, topic of your choice Will use this as a basis and gradually and add more features as the class progresses Need to be done with your favorite text editor, no visual
More informationLecture Overview. IN5290 Ethical Hacking. Lecture 4: Web hacking 1, Client side bypass, Tampering data, Brute-forcing
Lecture Overview IN5290 Ethical Hacking Lecture 4: Web hacking 1, Client side bypass, Tampering data, Brute-forcing Summary - how web sites work HTTP protocol Client side server side actions Accessing
More informationJquery Ajax Json Php Mysql Data Entry Example
Jquery Ajax Json Php Mysql Data Entry Example Then add required assets in head which are jquery library, datatable js library and css By ajax api we can fetch json the data from employee-grid-data.php.
More informationCS631 - Advanced Programming in the UNIX Environment
CS631 - Advanced Programming in the UNIX Environment Slide 1 CS631 - Advanced Programming in the UNIX Environment HTTP; Code Reading Department of Computer Science Stevens Institute of Technology Jan Schaumann
More informationWeb Hosting. Important features to consider
Web Hosting Important features to consider Amount of Storage When choosing your web hosting, one of your primary concerns will obviously be How much data can I store? For most small and medium web sites,
More informationSEO TOOLBOX ADMINISTRATOR'S MANUAL :55. Administrator's Manual COPYRIGHT 2018 DECERNO AB 1 (13)
Administrator's Manual COPYRIGHT 2018 DECERNO AB 1 (13) TABLE OF CONTENTS INTRODUCTION... 3 INSTALL SEO TOOLBOX FOR EPISERVER... 4 What will be installed?... 4 Add-on store installation... 4 Manual installation
More informationReal Life Web Development. Joseph Paul Cohen
Real Life Web Development Joseph Paul Cohen joecohen@cs.umb.edu Index 201 - The code 404 - How to run it? 500 - Your code is broken? 200 - Someone broke into your server? 400 - How are people using your
More informationEnhancing cloud applications by using external authentication services. 2015, 2016 IBM Corporation
Enhancing cloud applications by using external authentication services After you complete this section, you should understand: Terminology such as authentication, identity, and ID token The benefits of
More informationNotes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title
Notes Ask course content questions on Slack (is651-spring-2018.slack.com) Contact me by email to add you to Slack Make sure you checked Additional Links at homework page before you ask In-class discussion
More informationWebRTC: Possible? Don McGregor Research Associate MOVES Institute.
WebRTC: Possible? Don McGregor Research Associate MOVES Institute mcgredo@nps.edu The World Classic simulation applications: can we do them in the web browser? Pretty much. I think. 2 1990s Start: Classic
More informationHypertext Transport Protocol
Hypertext Transport Protocol HTTP Hypertext Transport Protocol Language of the Web protocol used for communication between web browsers and web servers TCP port 80 HTTP - URLs URL Uniform Resource Locator
More informationCS371m - Mobile Computing. Persistence - Web Based Storage CHECK OUT g/sync-adapters/index.
CS371m - Mobile Computing Persistence - Web Based Storage CHECK OUT https://developer.android.com/trainin g/sync-adapters/index.html The Cloud. 2 Backend No clear definition of backend front end - user
More informationEPHP a tool for learning the basics of PHP development. Nick Whitelegg School of Media Arts and Technology Southampton Solent University
EPHP a tool for learning the basics of PHP development Nick Whitelegg School of Media Arts and Technology Southampton Solent University My background Lecturer at Southampton Solent University since 2003
More information5th April Installation Manual. Department of Computing and Networking Software Development Degree
5th April 2017 Installation Manual Department of Computing and Networking Software Development Degree Project name: Student: Student Number: Supervisor: MaaP (Message as a Platform) Chihabeddine Ahmed
More informationManaging Data at Scale: Microservices and Events. Randy linkedin.com/in/randyshoup
Managing Data at Scale: Microservices and Events Randy Shoup @randyshoup linkedin.com/in/randyshoup Background VP Engineering at Stitch Fix o Combining Art and Science to revolutionize apparel retail Consulting
More informationCSC 309 The Big Picture
CSC 309 The Big Picture Server GET path/to/route Host: example.com Client Client sends HTTP request to server How? Server GET path/to/route Host: example.com Client Client sends HTTP request to server
More informationRESTful Services. Distributed Enabling Platform
RESTful Services 1 https://dev.twitter.com/docs/api 2 http://developer.linkedin.com/apis 3 http://docs.aws.amazon.com/amazons3/latest/api/apirest.html 4 Web Architectural Components 1. Identification:
More informationConfiguring ArcGIS Enterprise in Disconnected Environments
Configuring ArcGIS Enterprise in Disconnected Environments BILL MAJOR Disconnected Environments Not everyone has internet access? How many of you run disconnected today, i.e. no internet access? Many customers
More informationSend me up to 5 good questions in your opinion, I ll use top ones Via direct message at slack. Can be a group effort. Try to add some explanation.
Notes Midterm reminder Second midterm next week (04/03), regular class time 20 points, more questions than midterm 1 non-comprehensive exam: no need to study modules before midterm 1 Online testing like
More informationHow browsers talk to servers. What does this do?
HTTP HEADERS How browsers talk to servers This is more of an outline than a tutorial. I wanted to give our web team a quick overview of what headers are and what they mean for client-server communication.
More informationWeb Programming Paper Solution (Chapter wise)
Introduction to web technology Three tier/ n-tier architecture of web multitier architecture (often referred to as n-tier architecture) is a client server architecture in which presentation, application
More informationServer-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University
Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University 1 Objectives You will learn about Server-side web programming in Python Common Gateway Interface
More informationLFE Medieninformatik WS 2016/2017
Assignment 13 (HF, major subject) Due: no due date for your own preparation only. Goals These exercises will Help you prepare for the exam Reactivate topics we discussed during the semester Suggestion:
More informationMongoDB. Robert M. Vunabandi
MongoDB Robert M. Vunabandi What is MongoDB? One of the most popular NoSQL DBMS Why use MongoDB? Very efficient when we need to write a lot to the database. Schemas are very prone to changes (we ll get
More informationCourse Overview. SWE 432, Fall Design and Implementation of Software for the Web
Course Overview SWE 432, Fall 2016 Design and Implementation of Software for the Web Course Topics How do we organize, structure and share information? How to make web applications Tools, front-end and
More informationTutorial: Building the Services Ecosystem
Tutorial: Building the Services Ecosystem GlobusWorld 2018 Steve Tuecke tuecke@globus.org What is a services ecosystem? Anybody can build services with secure REST APIs App Globus Transfer Your Service
More informationAdvanced Express Web Application Development
Advanced Express Web Application Development Andrew Keig Chapter No. 1 "Foundations" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter NO.1
More informationthe road to cloud native applications Fabien Hermenier
the road to cloud native applications Fabien Hermenier 1 cloud ready applications single-tiered monolithic hardware specific cloud native applications leverage cloud services scalable reliable 2 Agenda
More informationWebsite Design and Development CSCI 311
Website Design and Development CSCI 311 Learning Objectives Understand good practices in designing and developing web sites Learn some of the challenges web design Activity In pairs: describe how you d
More information