We are assuming you have node installed!

Size: px
Start display at page:

Download "We are assuming you have node installed!"

Transcription

1 Node.js Hosting

2 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 from

3 Node has built-in web server capabilities First lets make a new workspace directory for our project. We can call it nodeserver and it will be the root folder. Now lets make our server JavaScript file, call it server.js and put the following code in it: var http = require('http'); var port = 1337; http.createserver(function (req, res) { res.writehead(200, {'Content-Type': 'text/plain'}); res.end('hello World!'); }).listen(port, ' '); console.log('running server'); console.log('access locally at console.log('to stop server and return to command line, press ctrl+c');

4 To run the web server, navigate to your root directory in the command prompt (hint, you can get the full path by right clicking on your server.js file and selecting "properties". It will be listed somewhere under location. $ cd /Users/aaron/Workspace/nodeserver Then simply use the node command to execute our server.js code. $ node server.js You should see that the server is now running (as well as instructions on how to stop it) because of the helpful log statements we put in our code. Running server Access locally at To stop server and return to command line, press ctrl+c Now go ahead and connect to your web server using a browser! Open one up and navigate to where it says, which is:

5 Look at our web server talking to the browser!

6

7 The package.json file is a general outline of the parts of a node application So thats great, but seemed a bit complicated. We don't want to write http headers or even know what they mean! We also don't want to have to put all our html in a JavaScript string. Let's build a web server that can serve up the HTML files we write! The combination of this is called a web application, or web app for short. We'll get started by setting up a special file called package.json. This is a general outline of the information of our web application. Its format is a JavaScript object represented in JavaScript Object Notation (JSON), with all properties and values surrounded by double quotes. Create the file and we'll populate it with a couple of minimal properties to start. { "name": "MyAwesomeWebsite", "version": "0.0.1", "main": "server.js" } Here we are starting out by saying our website is awesome, it's the first version, and the main file is server.js.

8 The package.json file can specify external modules to use Now lets use this package file to add an external module we want to use! Modules are extra pieces of code others (or yourself) have written that can plugged into your program. We will use expressjs, a full featured web application module. Lets go ahead and add the express module as a dependency in our package.json. Old JSON is in black, new JSON in green. Don't forget the comma we need after "server.js"! { "name": "MyAwesomeWebsite", "version": "0.0.1", "main": "server.js", "dependencies": { "express": "3.x" } } Now that we listed this a dependency, we can have node install it for us using the Node Package Manager or NPM. By running the command "npm install" in the command line it will read the dependency section of package.json and install any missing dependencies. $ npm install

9 External modules can be installed using npm NPM does a lot of work to get get the packages so you may see a bunch of stuff fly by. But the net result is the module code being loaded into a node_modules folder. And in that folder we see express, the external module we've added to our project. We can now leverage all the code in that module.

10 The express node module makes web applications easy Recall that you include external modules using the require() function. Lets go ahead and at the top of server.js require express so we can start using it. Since we will be using express, we no longer need the http module. Here old code is in black, new code is green, and deleted code is red. var express = require('express'); var http = require('http'); var port = 1337; Let's use our express module to create a web application object. This application object can do lots of the magic involved in hosting and serving a web site! The express "module" in this case is just a function we can call to get our application object--so lets call it! var port = 1337; var app = express();

11 Now lets use our app to respond to web requests. Get rid of all that old complicated stuff and lets put in some streamlined express magic! var app = express(); http.createserver(function (req, res) { res.writehead(200, {'Content-Type': 'text/plain'}); res.end('hello World!'); }).listen(port, ' '); app.get('/', function(req, res){ res.send('hello World! --from express'); }); app.listen(port);

12 So our whole server.js file should now look like: var express = require('express'); var port = 1337; var app = express(); app.get('/', function(req, res){ res.send('hello World! --from express'); }); app.listen(port); console.log('running server'); console.log('access locally at console.log('to stop server and return to command line, press ctrl+c'); Lets go ahead and fire up our updated server on the command line using the node server.js command. $ node server.js Running server Access locally at To stop server and return to command line, press ctrl+c

13 Now lets get our web browser and go to to use our new express app! Look at that! We just used express to serve up a web page!

14

15 Express handles requests based on their route What we did here was use express's routing. Which tells it to do certain things depending on the URL (web address) sent to the web server. The slash (/) means that all get requests--which is what web browsers use when you type in an address--to the root web site should be responded with "Hello World! --from express". app.get('/', function(req, res){ res.send('hello World! --from express'); }); Also, we told the web application to listen on port specified by the port variable, which we set earlier to app.listen(port); Ports are used in combination with web site addresses to get to web servers. Think of them as extension numbers for a phone number. The default port for unencrypted web sites is 80. Here we are using 1337 to avoid conflicting with any other web servers that may be running on your computer. That is why we enter the ":1337" after the url.

16 Web servers can handle different routes differently Lets add a new page to our website that will be accessed using a different URL. The part of the URL that differs for different parts of the website are called routes. Let's add our new route! This one can say goodbye. We'll make it so somebody goes to /bye on our website, they see a goodbye message. To do this we'll add a route for "/bye". var app = express(); app.get('/', function(req, res){ res.send('hello World! --from express'); }); app.get('/bye', function(req, res){ res.send('goodbye World!'); }); app.listen(port);

17 Lets stop and start the server again--remember we have to do this every time we change code. $ node server.js Running server Access locally at To stop server and return to command line, press ctrl+c Now in the web browser, lets navigate to our newly created route: Awesome, express used our new route to serve us different content!

18 Now lets see if our original route (just the forward slash) still works: Excellent, it still works!

19 Let's try something crazy, and navigate to a route we haven't defined: Here we got an error sent from express letting us know we cannot get that route. If we want a "catch all" route we can define one using an asterisk ("*") instead of a path.

20 A catch-all route can also be defined. Let's add a catch-all route that lets people know they entered an invalid web address. Since its a catch-all, make sure this route is defined after all of your other routes. var app = express(); app.get('/', function(req, res){ res.send('hello World! --from express'); }); app.get('/bye', function(req, res){ res.send('goodbye World!'); }); app.get('*', function(req, res) { res.send('i think you messed up the url!'); }) app.listen(port);

21 Lets stop and start the server again--once again we need to do this every time we change server code. $ node server.js Running server Access locally at To stop server and return to command line, press ctrl+c Now in the web browser, lets try that crazy route again: Great! Now for undefined routes the web application does what we want, instead of what express wants. We successfully support multiple routes and handle unknown ones!

22

23 EJS is very simple HTML templating engine that can render HTML pages (and more) So outputting single sentences to the browser is ok, but really we want to output full HTML files! One way to do this is from EmbeddedJavaScript Templates, or EJS. Lets include EJS as a dependency in our web application by adding it as a dependency in our package.json. We'll use version 0.8. Once again don't forget the comma we now need after the express dependency. { "name": "MyAwesomeWebsite", "version": "0.0.1", "main": "server.js", "dependencies": { "express": "3.x", "ejs": "0.8.x" } } Once that is in place, we can install that depency's code from the command line using NPM $ npm install

24 Now we should have the EJS npm nodule in our node_modules directory And in that folder we see our new module, ejs, next to express, the module we added earlier We can now leverage all the code people have written for EJS! Lets go ahead and write an HTML file for EJS to process. When EJS processes a file, it is rendering it.

25 Since HTML files are what are seen by users when they browse your web application, they are called views HTML makes up what the user sees, so we call them views. Lets make a folder at the root level of the project where we can keep all our views. In our views folder, lets make a file called hello.ejs. Note that we use the "ejs" extension, not the "html" extension. That is because EJS files can actually do more than just hold HTML. But that is outside the scope of this lesson--just be sure to have your HTML view files end in ".ejs". <h1> Hello, World! </h1>

26 EJS can be wired up to Express by setting it as the view engine, and setting the views directory Now let's tell our web application to render that file when requests are received at the root level. To begin, we need to tell it to use EJS and that our views are located in the views folder. var app = express(); app.set('view engine', 'ejs'); app.set('views', dirname+'/views'); Note we used the special variable dirname, which means the directory (folder) where our program (server.js) is running. We said the views are stored in the views subfolder of that program folder.

27 Express can render EJS files using the render() function And now we can replace our hard-coded "Hello, World" with instructions for express to render our hello.ejs view. We can do this using the render() function and the name of the ejs view file. app.set('view engine', 'ejs'); app.set('views', dirname+'/views'); app.get('/', function(req, res) { res.send('hello World! --from express'); res.render('hello'); }); Now save, quit, and restart our node web server. $ node server.js Running server Access locally at To stop server and return to command line, press ctrl+c

28 Lets visit our main page and see our HTML view in action. The <h1> tags should make the text bigger. Go ahead and navigate to Nice! It rendered our HTML view! Lets make one for our /bye route.

29 In our views folder, lets make another file called bye.ejs. We'll make this one a little more interesting. <h2> Goodbye cruel world! </h2> <p> We will miss you. </p>

30 And now let's modify server.js to have our /bye route render that view. app.get('/', function(req, res) { res.render('hello'); }); app.get('/bye', function(req, res) { res.send('goodbye World!'); res.render('bye'); }); Since we changed our server code, lets restart it! $ node server.js Running server Access locally at To stop server and return to command line, press ctrl+c

31 And now we can check out our /bye route view rendering by navigating to /bye. Sure enough, our HTML view is being rendered! Now as hinted at earller, EJS can do a little more than just render HTML, but that is outside the scope of this lesson.

32

33 For your web application to be accessible on the internet, it needs to be hosted So far we've run the server on our own computer, and we can only access our web application from our computer. This is known as running locally, and why we use the "localhost" web address to access our server. If we want our application accessible to everybody on the internet, it needs to be hosted. When an application is hosted, it means it is running on a server that is accessible by the entire internet. Moving an application from your local machine to a hosted server is called deploying the web application. Lets deploy our web application!

34 AppFog provides free basic node.js hosting So now we have our web application and views. Lets make them available to the world! In order to do this, we need somebody to host our web application. That is run our code on their servers and listen to requests from the outside world. Usually hosting costs a lot of money, but we can leverage some free plans. One of them is from is a company called AppFog. Go on over to Let's click the "Sign up - it's free" button so we can start down our path to free node.js hosting!

35 It will want your and for you to create a password, so go ahead and do that and then click "Sign Up".

36 Now we need to choose an application setup. Since we are programming node.js, we chose the Node application. We could have chosen Node Express, but we added express ourselves using our package.json and NPM, so Node is all we need.

37 Now we pick a datacenter where our application will be hosted. We'll us Amazon Web Services (AWS) as they are experienced at cloud datacenters, and choose their datacenter that is in the United States: AWS US East.

38 We need to give our application a name! This will determine the url used to access it from a web browser, so choose something you like and then click "Create App" Be sure to write down or remember that full domain name. In this example it is: myawesomewebsite.aws. af.cm

39 AppFog will start setting up your app on their servers in the cloud!

40 Once its ready you will see the mission control panel for your node web application. Now we need to send AppFog the code for our web application

41 AppFog uses a ruby based command line tool You can talk to your AppFog server using their command line tool. This tool is based on the ruby scripting language. Ruby is like node.js, but a bit older and with different programming syntax and style. The only thing you will need to know about ruby is how to install it. Instructions for installing ruby and the AppFog command line tool can be found on AppFog's website here: Basically to install ruby you can see many options on the ruby website: Windows users can download and run the windows installer found here: Mac users may have ruby already installed. If you don't or you don't have a high enough version I recommend using the RVM method outlined at

42 We need ruby that is at least version You can check what version ruby you have using the ruby command with the -v argument. $ ruby -v ruby 1.9.3p286 ( revision 37165) [x86_64-darwin12.2.0] Here we have version 1.9.3, which is higher than so we are good to go! Now we need to use ruby to fetch and install the AppFog command line tool. We use this using a special ruby command called "gem". We'll use gem to update (if needed) its information and then install the AppFog command line tool, called "af". You may need to run these commands with administrative privileges. $ gem update --system You'll probably see a lot of stuff fly by in your console as this commands run. When its done, enter this next command. $ gem install af Again you'll see lots of stuff fly by as the AppFog command line tool is installed.

43 The af command line tool lets you push code to your server, view its logs, and do other management tasks Now that we have our AppFog command line tool, af, we can use it to send our code to our server! The first thing we need to do is log in. We can do this using the af program and the login argument. $ af login Attempting login to [ demo@rockymountaincoding.org Password: ********** Successfully logged into [ Once we are successfully logged in, we can use the af program and the apps argument to confirm our app is listed and running. $ af apps Application # Health URLS In myawesomewebsite 1 RUNNING myawesomewebsite.aws.af.cm aws

44 Use af update [application name] to send your code to the AppFog server Go ahead and go to the url of your web application. Since we haven't deployed our code to the server yet, we will be hitting AppFog's default code. Now lets put our code up there! We can do this using the af program, the update argument, and a second argument which is the name of our application. $ af update myawesomewebsite Uploading Application: Checking for available resources: OK Processing resources: OK Packing application: OK Uploading (26K): OK Push Status: OK Stopping Application 'myawesomewebsite': OK Staging Application 'myawesomewebsite': OK Starting Application 'myawesomewebsite': OK If you see the "OK"s then everything is working as planned!

45 Use af logs [application name] to view your server output, including any errors. Let's use AppFog to check on the logs. These contain everything we output using the console.log() function, as well as stuff output by the node program, such as error messages. We can do this using the af program and the logs argument, with our application name as a second argument. $ af logs myawesomewebsite ====> /logs/stdout.log <==== Running server Access locally at To stop server and return to command line, press ctrl+c Here we can see everything our program output using console.log(). In this case it doesn't make much sense since these messages apply to when we are running the server on our own machine. But at least we can see it is working. If the app isn't working or hit any errors, we would see the error message here and it could help us debug what is going on. Since we see Running server and no errors, everything should be working. Lets go to our web application on the internet!

46 You can access your application on the internet using your AppFog domain. Go check out your domain url! Note that AppFog is smart about ports so you don't need to worry about : 1337 here, it will actually use default port of 80 so you can just leave all that port stuff off. Now check out your domain url with the /bye route! Our node.js web application is successfully running in the cloud and be accessed from the internet!

47

48 Express can server CSS and Image assets as well Web sites that are just HTML are pretty boring. Lets spice it up with an an image and some CSS! We'll want to develop locally, and then once it works on our computer deploy the new version to the AppFog servers. First lets make a place for images and CSS. Since these are usually served with no modification or processing, they are called static assets and are considered public. So first lets make a public folder in your root directory. And now inside that public folder, lets make images and css folders.

49 Go ahead and download a cool image into your images folder. Make the name all lower case and keep the name simple. In our css folder, lets make a new CSS file. We can call it style.css. In it we can add a rule that makes images that are class cool have a blue border. img.cool { border: solid blue 2px; }

50 Normally if you load the path to an image or css file in the browser, you should see it. But since express is processing routes, it just treats /css and /images as unknown routes. You can verify this by first starting your server locally. $ node server.js Running server Access locally at To stop server and return to command line, press ctrl+c And then by navigating to in your browser. This is not good, as browsers need to be able to access images and css! Lets tell express how to handle these requests.

51 The static middleware can be used to serve static assets Open back up your server.js file for editing. We'll tell express to treat our public folder as a static directory. This means that any requests to routes begin with the names of folders within the static directory, will be sent unprocessed from within the public folder. For example, if expres sees /css/style.css it will send back the unprocessed (static) contents of public/css/style.css. To set up the static directory, we will use something called express middleware. Middleware can be quite complicated, but the only thing you need to know is it intercepts a request in the middle and can do stuff. In our case, we want to use static middleware, that handles our static directory. We use middleware with the use() command, and will use express's built in static middleware. We want to add the middleware before our routes. app.set('view engine', 'ejs'); app.set('views', dirname+'/views'); app.use(express.static( dirname+'/public')); app.get('/', function(req, res) { res.render('hello'); });

52 Now lets see if our static assets will serve up! Since we made a change to server.js we need to restart it.. $ node server.js Running server Access locally at To stop server and return to command line, press ctrl+c Now lets first try our CSS file. In a web browser, open Hooray! And lets check to make sure image serving works too by opening up your image. In this example we would navigate to

53 With our static assets being served up, lets go ahead and put them into our hello.ejs view! We've been cheating with invalid HTML, so while we add this stuff lets clean up our HTML and make it valid. We'll also add a link to our other route. <!DOCTYPE html> <html> <head> <link type="text/css" rel="stylesheet" href="css/style.css" /> </head> <body> <h1> Hello, World! </h1> <p> <img class="cool" src="/images/icecream.jpg" /> <br /> <a href="/bye">say Goodbye</a> </p> </body> </html>

54 Since this time we changed a view, we actually don't have to restart the server. That is because the view will be re-rendered by the server. So we can go ahead and reload to see our changes! And now our website is using image and CSS files!

55 New code needs to be deployed to the hosted server for it to be live on the internet If we go to our hosted AppFog server right now, it still has old code. Lets deploy our changes! Quit the server its running to get back to a command prompt, and use the af update command. (Remember if you forgot the name of your application you can use af apps to look it up). $ af update myawesomewebsite Uploading Application: Checking for available resources: OK Processing resources: OK Packing application: OK Uploading (18K): OK Push Status: OK

56 Usually we see "Starting Application", but if you don't see anything about that you need to restart the AppFog server yourself. You can do this using the af program with the restart argument and the name of our application as the second argument. If you did see this stuff, then you can skip the restart step. $ af restart myawesomewebsite Application 'myawesomewebsite' already stopped Staging Application 'myawesomewebsite': OK Starting Application 'myawesomewebsite': OK We see that our application started again OK, so lets go check it out on the internet! And here we see our updated code has been successfully deployed!

57

58 You have successfully written and deployed a hosted simple node.js web application! You can make changes and upload them as well! I recommend spicing up your pages using twitter bootstrap. With AppFog, you can find a list of all the af program arguments you can use in their command line tool documentation here: Of course this is just the beginning! Web applications can take in user input, process it, and factor it into what it displays in the user's web browser! But serving up different HTML, CSS, and images for different routes is a great way to start!

Client Side JavaScript and AJAX

Client 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 information

Interactive Web Application

Interactive 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 information

What is Node.js? Tim Davis Director, The Turtle Partnership Ltd

What 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 information

Hands-on Lab Session 9011 Working with Node.js Apps in IBM Bluemix. Pam Geiger, Bluemix Enablement

Hands-on Lab Session 9011 Working with Node.js Apps in IBM Bluemix. Pam Geiger, Bluemix Enablement Hands-on Lab Session 9011 Working with Node.js Apps in IBM Bluemix Pam Geiger, Bluemix Enablement Copyright IBM Corporation 2017 IBM, the IBM logo and ibm.com are trademarks of International Business Machines

More information

Django urls Django Girls Tutorial

Django urls Django Girls Tutorial Django urls Django Girls Tutorial about:reader?url=https://tutorial.djangogirls.org/en/django_urls/ 1 di 6 13/11/2017, 20:01 tutorial.djangogirls.org Django urls Django Girls Tutorial DjangoGirls 6-8 minuti

More information

BEGINNER PHP Table of Contents

BEGINNER PHP Table of Contents Table of Contents 4 5 6 7 8 9 0 Introduction Getting Setup Your first PHP webpage Working with text Talking to the user Comparison & If statements If & Else Cleaning up the game Remembering values Finishing

More information

Persistence & 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 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 information

Tools. SWE 432, Fall Design and Implementation of Software for the Web

Tools. 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 information

Node.js. Node.js Overview. CS144: Web Applications

Node.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 information

NODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js

NODE.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 information

Ruby on Rails Welcome. Using the exercise files

Ruby on Rails Welcome. Using the exercise files Ruby on Rails Welcome Welcome to Ruby on Rails Essential Training. In this course, we're going to learn the popular open source web development framework. We will walk through each part of the framework,

More information

CS193X: Web Programming Fundamentals

CS193X: 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 information

Arduino IDE Friday, 26 October 2018

Arduino IDE Friday, 26 October 2018 Arduino IDE Friday, 26 October 2018 12:38 PM Looking Under The Hood Of The Arduino IDE FIND THE ARDUINO IDE DOWNLOAD First, jump on the internet with your favorite browser, and navigate to www.arduino.cc.

More information

Microservices with Node.js

Microservices 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 information

Backend Development. SWE 432, Fall Web Application Development

Backend Development. SWE 432, Fall Web Application Development Backend Development SWE 432, Fall 2018 Web Application Development 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

More information

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel.

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel. Hi. I'm Prateek Baheti. I'm a developer at ThoughtWorks. I'm currently the tech lead on Mingle, which is a project management tool that ThoughtWorks builds. I work in Balor, which is where India's best

More information

CSCU9B2 Practical 1: Introduction to HTML 5

CSCU9B2 Practical 1: Introduction to HTML 5 CSCU9B2 Practical 1: Introduction to HTML 5 Aim: To learn the basics of creating web pages with HTML5. Please register your practical attendance: Go to the GROUPS\CSCU9B2 folder in your Computer folder

More information

Building a Django Twilio Programmable Chat Application

Building a Django Twilio Programmable Chat Application Building a Django Twilio Programmable Chat Application twilio.com/blog/08/0/python-django-twilio-programmable-chat-application.html March 7, 08 As a developer, I ve always wanted to include chat capabilities

More information

welcome to BOILERCAMP HOW TO WEB DEV

welcome 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 information

Dreamweaver Website 1: Managing a Website with Dreamweaver

Dreamweaver Website 1: Managing a Website with Dreamweaver Page 1 of 20 Web Design: Dreamweaver Websites Managing Websites with Dreamweaver Course Description: In this course, you will learn how to create and manage a website using Dreamweaver Templates and Library

More information

mismatch between what is maybe possible today and what is going on in many of today's IDEs.

mismatch between what is maybe possible today and what is going on in many of today's IDEs. What will happen if we do very, very small and lightweight tools instead of heavyweight, integrated big IDEs? Lecturer: Martin Lippert, VMware and Eclispe tooling expert LIPPERT: Welcome, everybody, to

More information

Persistence. 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 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 information

Web Application Development

Web 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 information

An attribute used in HTML that is used for web browsers screen reading devices to indicate the presence and description of an image Module 4

An attribute used in HTML that is used for web browsers screen reading devices to indicate the presence and description of an image Module 4 HTML Basics Key Terms Term Definition Introduced In A tag used in HTML that stands for Anchor and is used for all types of hyperlinks Module 3 A tag used in HTML to indicate a single line break

More information

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 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 information

CS Multimedia and Communications REMEMBER TO BRING YOUR MEMORY STICK TO EVERY LAB!

CS Multimedia and Communications REMEMBER TO BRING YOUR MEMORY STICK TO EVERY LAB! CS 1033 Multimedia and Communications REMEMBER TO BRING YOUR MEMORY STICK TO EVERY LAB! Lab 06: Introduction to KompoZer (Website Design - Part 3 of 3) Lab 6 Tutorial 1 In this lab we are going to learn

More information

c122jan2714.notebook January 27, 2014

c122jan2714.notebook January 27, 2014 Internet Developer 1 Start here! 2 3 Right click on screen and select View page source if you are in Firefox tells the browser you are using html. Next we have the tag and at the

More information

Serverless Single Page Web Apps, Part Four. CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016

Serverless Single Page Web Apps, Part Four. CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016 Serverless Single Page Web Apps, Part Four CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016 1 Goals Cover Chapter 4 of Serverless Single Page Web Apps by Ben Rady Present the issues

More information

Catbook Workshop: Intro to NodeJS. Monde Duinkharjav

Catbook 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 information

Exercise 1. Bluemix and the Cloud Foundry command-line interface (CLI)

Exercise 1. Bluemix and the Cloud Foundry command-line interface (CLI) V10.1 Student Exercises EXempty Exercise 1. Bluemix and the Cloud Foundry command-line interface (CLI) What this exercise is about In this exercise, you sign on to Bluemix and create an application. You

More information

CSS BASICS. selector { property: value; }

CSS BASICS. selector { property: value; } GETTING STARTED 1. Download the Juice-o-Rama 11-01 zip file from our course dropbox. 2. Move the file to the desktop. You have learned two ways to do this. 3. Unzip the file by double clicking it. You

More information

Lab 1 - Introduction to Angular

Lab 1 - Introduction to Angular Lab 1 - Introduction to Angular In this lab we will build a Hello World style Angular component. The key focus is to learn how to install all the required code and use them from the browser. We wont get

More information

Using X-Particles with Team Render

Using X-Particles with Team Render Using X-Particles with Team Render Some users have experienced difficulty in using X-Particles with Team Render, so we have prepared this guide to using them together. Caching Using Team Render to Picture

More information

Lesson 1: Writing Your First JavaScript

Lesson 1: Writing Your First JavaScript JavaScript 101 1-1 Lesson 1: Writing Your First JavaScript OBJECTIVES: In this lesson you will be taught how to Use the tag Insert JavaScript code in a Web page Hide your JavaScript

More information

Dreamweaver CS6. Table of Contents. Setting up a site in Dreamweaver! 2. Templates! 3. Using a Template! 3. Save the template! 4. Views!

Dreamweaver CS6. Table of Contents. Setting up a site in Dreamweaver! 2. Templates! 3. Using a Template! 3. Save the template! 4. Views! Dreamweaver CS6 Table of Contents Setting up a site in Dreamweaver! 2 Templates! 3 Using a Template! 3 Save the template! 4 Views! 5 Properties! 5 Editable Regions! 6 Creating an Editable Region! 6 Modifying

More information

Programming Lab 1 (JS Hwk 3) Due Thursday, April 28

Programming Lab 1 (JS Hwk 3) Due Thursday, April 28 Programming Lab 1 (JS Hwk 3) Due Thursday, April 28 Lab You may work with partners for these problems. Make sure you put BOTH names on the problems. Create a folder named JSLab3, and place all of the web

More information

Challenge: Working with the MIS2402 Template

Challenge: Working with the MIS2402 Template Challenge: Working with the MIS2402 Template In this challenge we will see how the appearance of the MIS2402 template can be modified. Start by downloading mis2402template04.zip and setting up a corresponding

More information

I'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the

I'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the I'm Andy Glover and this is the Java Technical Series of the developerworks podcasts. My guest is Brian Jakovich. He is the director of Elastic Operations for Stelligent. He and I are going to talk about

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

IERG Tutuorial 5. Benedict Mak

IERG Tutuorial 5. Benedict Mak IERG4210 - Tutuorial 5 Benedict Mak Handlebars - Basic - Handlebars - Three elements - Template, control JS, Data - Two ways to use Handlebars - Client side - Handlebars - Get data in the form of JSON

More information

Getting started with Tabris.js Tutorial Ebook

Getting started with Tabris.js Tutorial Ebook Getting started with Tabris.js 2.3.0 Tutorial Ebook Table of contents Introduction...3 1 Get started...4 2 Tabris.js in action...5 2.1 Try the examples...5 2.2 Play with the examples...7 2.3 Write your

More information

Setting up a ColdFusion Workstation

Setting up a ColdFusion Workstation Setting up a ColdFusion Workstation Draft Version Mark Mathis 2000 all rights reserved mark@teratech.com 2 Setting up a ColdFusion workstation Table of Contents Browsers:...5 Internet Explorer:...5 Web

More information

Adafruit WebIDE. Created by Tyler Cooper. Last updated on :29:47 PM UTC

Adafruit WebIDE. Created by Tyler Cooper. Last updated on :29:47 PM UTC Adafruit WebIDE Created by Tyler Cooper Last updated on 2018-03-12 08:29:47 PM UTC Guide Contents Guide Contents Overview Installation Easy installation: Manual Installation: Uninstallation: Getting Started

More information

Clearing Your Browser Cache in: Internet Explorer 7 or 8

Clearing Your Browser Cache in: Internet Explorer 7 or 8 Clearing Your Browser Cache in: Internet Explorer 7 or 8 In this short lesson, you will learn the steps necessary to empty your browser cache in Internet Explorer 7 or 8. Users of version 6 or earlier

More information

Web API Lab. The next two deliverables you shall write yourself.

Web API Lab. The next two deliverables you shall write yourself. Web API Lab In this lab, you shall produce four deliverables in folder 07_webAPIs. The first two deliverables should be pretty much done for you in the sample code. 1. A server side Web API (named listusersapi.jsp)

More information

Linked Lists. What is a Linked List?

Linked Lists. What is a Linked List? Linked Lists Along with arrays, linked lists form the basis for pretty much every other data stucture out there. This makes learning and understand linked lists very important. They are also usually the

More information

Human-Computer Interaction Design

Human-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 information

Quick.JS Documentation

Quick.JS Documentation Quick.JS Documentation Release v0.6.1-beta Michael Krause Jul 22, 2017 Contents 1 Installing and Setting Up 1 1.1 Installation................................................ 1 1.2 Setup...................................................

More information

Android Programming Family Fun Day using AppInventor

Android Programming Family Fun Day using AppInventor Android Programming Family Fun Day using AppInventor Table of Contents A step-by-step guide to making a simple app...2 Getting your app running on the emulator...9 Getting your app onto your phone or tablet...10

More information

CSc 337 LECTURE 16: WRITING YOUR OWN WEB SERVICE

CSc 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 information

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between MITOCW Lecture 10A [MUSIC PLAYING] PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between all these high-level languages like Lisp and the query

More information

Reading How the Web Works

Reading How the Web Works Reading 1.3 - How the Web Works By Jonathan Lane Introduction Every so often, you get offered a behind-the-scenes look at the cogs and fan belts behind the action. Today is your lucky day. In this article

More information

Dreamweaver Basics Workshop

Dreamweaver Basics Workshop Dreamweaver Basics Workshop Robert Rector idesign Lab - Fall 2013 What is Dreamweaver? o Dreamweaver is a web development tool o Dreamweaver is an HTML and CSS editor o Dreamweaver features a WYSIWIG (What

More information

Ionic Tutorial. For Cross Platform Mobile Software Development

Ionic Tutorial. For Cross Platform Mobile Software Development About Ionic Tutorial For Cross Platform Mobile Software Development This Tutorial is for setting up a basic hybrid mobile application using the Ionic framework. The setup will be shown for both Mac and

More information

ADOBE DREAMWEAVER CS4 BASICS

ADOBE DREAMWEAVER CS4 BASICS ADOBE DREAMWEAVER CS4 BASICS Dreamweaver CS4 2 This tutorial focuses on the basic steps involved in creating an attractive, functional website. In using this tutorial you will learn to design a site layout,

More information

Title: Jan 29 11:03 AM (1 of 23) Note that I have now added color and some alignment to the middle and to the right on this example.

Title: Jan 29 11:03 AM (1 of 23) Note that I have now added color and some alignment to the middle and to the right on this example. Title: Jan 29 11:03 AM (1 of 23) Note that I have now added color and some alignment to the middle and to the right on this example. Sorry about these half rectangle shapes a Smartboard issue today. To

More information

TDDC88 Lab 4 Software Configuration Management

TDDC88 Lab 4 Software Configuration Management TDDC88 Lab 4 Software Configuration Management Introduction "Version control is to programmers what the safety net is to a trapeze artist. Knowing the net is there to catch them if they fall, aerialists

More information

IBM Watson Solutions Business and Academic Partners

IBM Watson Solutions Business and Academic Partners IBM Watson Solutions Business and Academic Partners Developing a Chatbot Using the IBM Watson Conversation Service Prepared by Armen Pischdotchian Version 2.1 October 2016 Watson Solutions 1 Overview What

More information

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology.

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. Guide to and Hi everybody! In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. This guide focuses on two of those symbols: and. These symbols represent concepts

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Laravel

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Laravel About the Tutorial Laravel is a powerful MVC PHP framework, designed for developers who need a simple and elegant toolkit to create full-featured web applications. Laravel was created by Taylor Otwell.

More information

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications Hello World! Computer Programming for Kids and Other Beginners by Warren Sande and Carter Sande Chapter 1 Copyright 2009 Manning Publications brief contents Preface xiii Acknowledgments xix About this

More information

USING DRUPAL. Hampshire College Website Editors Guide https://drupal.hampshire.edu

USING DRUPAL. Hampshire College Website Editors Guide https://drupal.hampshire.edu USING DRUPAL Hampshire College Website Editors Guide 2014 https://drupal.hampshire.edu Asha Kinney Hampshire College Information Technology - 2014 HOW TO GET HELP Your best bet is ALWAYS going to be to

More information

Contents. What's New. Dropbox / OneDrive / Google drive Warning! A couple quick reminders:

Contents. What's New. Dropbox / OneDrive / Google drive Warning! A couple quick reminders: Campground Master Contents 1 Contents A couple quick reminders: Make Backups! It's so sad when we hear from someone whose computer has crashed and they have no backup of their data to restore from. It's

More information

Introduction to Express.js. CSC309 Feb. 6, 2015 Surya Nallu

Introduction 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 information

Bitnami Ruby for Huawei Enterprise Cloud

Bitnami Ruby for Huawei Enterprise Cloud Bitnami Ruby for Huawei Enterprise Cloud Description Bitnami Ruby Stack provides a complete development environment for Ruby on Rails that can be deployed in one click. It includes most popular components

More information

Chris' Makefile Tutorial

Chris' Makefile Tutorial Chris' Makefile Tutorial Chris Serson University of Victoria June 26, 2007 Contents: Chapter Page Introduction 2 1 The most basic of Makefiles 3 2 Syntax so far 5 3 Making Makefiles Modular 7 4 Multi-file

More information

Lesson 1 using Dreamweaver CS3. To get started on your web page select the link below and copy (Save Picture As) the images to your image folder.

Lesson 1 using Dreamweaver CS3. To get started on your web page select the link below and copy (Save Picture As) the images to your image folder. Lesson 1 using Dreamweaver CS3 To get started on your web page select the link below and copy (Save Picture As) the images to your image folder. Click here to get images for your web page project. (Note:

More information

Lab 4: create a Facebook Messenger bot and connect it to the Watson Conversation service

Lab 4: create a Facebook Messenger bot and connect it to the Watson Conversation service Lab 4: create a Facebook Messenger bot and connect it to the Watson Conversation service Overview In this lab, you'll create advanced Node-RED flows that: Connect the Watson Conversation service to Facebook

More information

JQuery and Javascript

JQuery and Javascript JQuery and Javascript Javascript - a programming language to perform calculations/ manipulate HTML and CSS/ make a web page interactive JQuery - a javascript framework to help manipulate HTML and CSS JQuery

More information

Bitnami MEAN for Huawei Enterprise Cloud

Bitnami MEAN for Huawei Enterprise Cloud Bitnami MEAN for Huawei Enterprise Cloud Description Bitnami MEAN Stack provides a complete development environment for mongodb and Node.js that can be deployed in one click. It includes the latest stable

More information

Figure 1-1. When we finish Part 2, our server will be ready to have workstations join the domain and start sharing files. Now here we go!

Figure 1-1. When we finish Part 2, our server will be ready to have workstations join the domain and start sharing files. Now here we go! 1 of 18 9/6/2008 4:05 AM Configuring Windows Server 2003 for a Small Business Network, Part 2 Written by Cortex Wednesday, 16 August 2006 Welcome to Part 2 of the "Configuring Windows Server 2003 for a

More information

Each class (which we will talk about in the next section) you see in an Ionic application will

Each class (which we will talk about in the next section) you see in an Ionic application will Lesson4:Decorators Each class (which we will talk about in the next section) you see in an Ionic application will have a decorator. A decorator looks like this: @Component({ something: 'somevalue', someotherthing:

More information

MITOCW watch?v=0jljzrnhwoi

MITOCW watch?v=0jljzrnhwoi MITOCW watch?v=0jljzrnhwoi The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

Dynamism and Detection

Dynamism and Detection 1 Dynamism and Detection c h a p t e r ch01 Page 1 Wednesday, June 23, 1999 2:52 PM IN THIS CHAPTER Project I: Generating Platform-Specific Content Project II: Printing Copyright Information and Last-Modified

More information

CS193X: Web Programming Fundamentals

CS193X: 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 information

BlueMix Hands-On Workshop Lab A - Building and Deploying BlueMix Applications

BlueMix Hands-On Workshop Lab A - Building and Deploying BlueMix Applications BlueMix Hands-On Workshop Lab A - Building and Deploying BlueMix Applications Version : 4.00 Last modification date : 13 June 2014 Owner : IBM Ecosystem Development Table of Contents Part 1: Building

More information

Part 3: Images & form styling NOMZAMO S WEBSITE

Part 3: Images & form styling NOMZAMO S WEBSITE Part 3: Images & form styling NOMZAMO S WEBSITE 1 OUR MISSION: In this lesson, we ll learn 3 new things 1. How to include the logo image 2.How to add background image 3.How to style the email input form

More information

This guide is intended to help the un-experienced in PHP in particularly Phpvms to easily install and use this freeware software.

This guide is intended to help the un-experienced in PHP in particularly Phpvms to easily install and use this freeware software. This guide is intended to help the un-experienced in PHP in particularly Phpvms to easily install and use this freeware software. This is a proven product and any issues will go un-noticed by the beginner.

More information

FileWave 10 Webinar Q&A

FileWave 10 Webinar Q&A FileWave 10 Webinar Q&A When will 10 be released? October 14 th, but you can sign up today to get into the beta program. Link: www.filewave.com/beta-program How stable is the beta? Should we use it for

More information

The Stack, Free Store, and Global Namespace

The Stack, Free Store, and Global Namespace Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information

More information

XBMC. Ultimate Guide. HenryFord 3/31/2011. Feel free to share this document with everybody!

XBMC. Ultimate Guide. HenryFord 3/31/2011. Feel free to share this document with everybody! XBMC Ultimate Guide HenryFord 3/31/2011 Feel free to share this document with everybody! Contents Introduction... 2 XBMC... 3 Download and Install XBMC... 3 Setup the Sources... 3 Additional Settings...

More information

Slide 1 CS 170 Java Programming 1 Testing Karel

Slide 1 CS 170 Java Programming 1 Testing Karel CS 170 Java Programming 1 Testing Karel Introducing Unit Tests to Karel's World Slide 1 CS 170 Java Programming 1 Testing Karel Hi Everybody. This is the CS 170, Java Programming 1 lecture, Testing Karel.

More information

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Table of Contents Preparation... 3 Exercise 1: Create a repository. Use the command line.... 4 Create a repository...

More information

Guides SDL Server Documentation Document current as of 04/06/ :35 PM.

Guides SDL Server Documentation Document current as of 04/06/ :35 PM. Guides SDL Server Documentation Document current as of 04/06/2018 02:35 PM. Overview This document provides the information for creating and integrating the SmartDeviceLink (SDL) server component with

More information

Read Source Code the HTML Way

Read Source Code the HTML Way Read Source Code the HTML Way Kamran Soomro Abstract Cross-reference and convert source code to HTML for easy viewing. Every decent programmer has to study source code at some time or other. Sometimes

More information

AngularJS Intro Homework

AngularJS 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 information

Physics REU Unix Tutorial

Physics REU Unix Tutorial Physics REU Unix Tutorial What is unix? Unix is an operating system. In simple terms, its the set of programs that makes a computer work. It can be broken down into three parts. (1) kernel: The component

More information

Installing and Configuring the Voice UPB Bridge updated 1-Jan-2019

Installing and Configuring the Voice UPB Bridge updated 1-Jan-2019 Installing and Configuring the Voice UPB Bridge updated 1-Jan-2019 Before starting these instructions, you should already have your Voice assistant installed and working. These instructions can be used

More information

Siteforce Pilot: Best Practices

Siteforce Pilot: Best Practices Siteforce Pilot: Best Practices Getting Started with Siteforce Setup your users as Publishers and Contributors. Siteforce has two distinct types of users First, is your Web Publishers. These are the front

More information

Café Soylent Green Chapters 4

Café Soylent Green Chapters 4 Café Soylent Green Chapters 4 You will be completing the Links Tutorial from your textbook, Chapter 4, pgs. 223-227 AND the Images Tutorial, Chapter 5, pgs. 278-287. You will need to be at a computer that

More information

Learn Gulp. Jonathan Birkholz. This book is for sale at This version was published on

Learn Gulp. Jonathan Birkholz. This book is for sale at   This version was published on Learn Gulp Jonathan Birkholz This book is for sale at http://leanpub.com/learngulp This version was published on 2015-09-02 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean

More information

ChartJS Tutorial For Beginners

ChartJS Tutorial For Beginners ChartJS Tutorial For Beginners Contents Welcome To The ChartJS Tutorial... 2 Managing & Using Data... 3 So how does ChartJS require data?... 3 The Data Property... 3 The DataSets Property... 4 Setting

More information

New to the Mac? Then start with this lesson to learn the basics.

New to the Mac? Then start with this lesson to learn the basics. Mac 101: Mac essentials If you're brand new to the world of computers and are just starting to get up and running, relax using a Mac is simple. This lesson introduces you to the basic principles of interacting

More information

Google Earth: Significant Places in Your Life Got Maps? Workshop June 17, 2013

Google Earth: Significant Places in Your Life Got Maps? Workshop June 17, 2013 Google Earth: Significant Places in Your Life Got Maps? Workshop June 17, 2013 1. Open Google Earth. 2. Familiarize yourself with Google Earth s navigational features by zooming into Furman s campus, your

More information

JS Lab 1: (Due Thurs, April 27)

JS Lab 1: (Due Thurs, April 27) JS Lab 1: (Due Thurs, April 27) For this lab, you may work with a partner, or you may work alone. If you choose a partner, this will be your partner for the final project. If you choose to do it with a

More information

What's the Slope of a Line?

What's the Slope of a Line? What's the Slope of a Line? These lines look pretty different, don't they? Lines are used to keep track of lots of info -- like how much money a company makes. Just off the top of your head, which of the

More information

Monitoring Apache Tomcat Servers With Nagios XI

Monitoring Apache Tomcat Servers With Nagios XI Purpose This document describes how to add custom Apache Tomcat plugins and checks, namely check_tomcatsessions, to your server. Implementing Apache Tomcat plugins within will allow you the to monitor

More information

The Structure of the Web. Jim and Matthew

The Structure of the Web. Jim and Matthew The Structure of the Web Jim and Matthew Workshop Structure 1. 2. 3. 4. 5. 6. 7. What is a browser? HTML CSS Javascript LUNCH Clients and Servers (creating a live website) Build your Own Website Workshop

More information

CAL 9-2: Café Soylent Green Chapter 12

CAL 9-2: Café Soylent Green Chapter 12 CAL 9-2: Café Soylent Green Chapter 12 This version is for those students who are using Dreamweaver CC. You will be completing the Forms Tutorial from your textbook, Chapter 12 however, you will be skipping

More information

CSE 115. Introduction to Computer Science I

CSE 115. Introduction to Computer Science I CSE 115 Introduction to Computer Science I Road map Review Limitations of front-end sites Web servers Examples Review

More information