<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://homeostasis.scs.carleton.ca/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BabatundeFagbure</id>
	<title>Soma-notes - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://homeostasis.scs.carleton.ca/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BabatundeFagbure"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php/Special:Contributions/BabatundeFagbure"/>
	<updated>2026-05-12T23:58:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebFund_2015W_Lecture_3&amp;diff=19743</id>
		<title>WebFund 2015W Lecture 3</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebFund_2015W_Lecture_3&amp;diff=19743"/>
		<updated>2015-01-30T16:35:48Z</updated>

		<summary type="html">&lt;p&gt;BabatundeFagbure: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://homeostasis.scs.carleton.ca/~soma/webfund-2015w/lectures/comp2406-2015w-lec03-12Jan2015.mp3 Audio] and [http://homeostasis.scs.carleton.ca/~soma/webfund-2015w/lectures/comp2406-2015w-lec03-12Jan2015.mp4 video] from the lecture given on January 12, 2015 are now available.  The video has a partial audio track due to corruption; for full audio listen to the mp3.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
			Web applications versus web pages&lt;br /&gt;
		*Web page  HTML + CSS + JAVASCRIPT&lt;br /&gt;
&lt;br /&gt;
		HTML(Hyper Text Mark Up Language) defines structure of page&lt;br /&gt;
		(define HTML)&lt;br /&gt;
		CSS is  responsible for the styling of the webpages&lt;br /&gt;
		JavaScript is the code of the webpage&lt;br /&gt;
&lt;br /&gt;
		Web Applications:Set of webpages + Server side logic&lt;br /&gt;
&lt;br /&gt;
		when you a loading a webpage the serves does two things:&lt;br /&gt;
		1)browser sends HTTP GET&lt;br /&gt;
		2) Server returns HTML document&lt;br /&gt;
		* The document has references to other resources&lt;br /&gt;
			_ The browser does GETs for those&lt;br /&gt;
&lt;br /&gt;
			What does the server side logic do?&lt;br /&gt;
&lt;br /&gt;
		1) It changes what is returned in response to GETs, (and POST)&lt;br /&gt;
&lt;br /&gt;
		Static Web Servers serve files, while on the other hand Dynamic web servers implement logic.&lt;br /&gt;
&lt;br /&gt;
		Early web server used  CGI to do dynamic web pages&lt;br /&gt;
&lt;br /&gt;
		CGI: Common Gateway interface&lt;br /&gt;
		An Example of a CGI would be a program, for example a perl script&lt;br /&gt;
&lt;br /&gt;
		the web started with static web pages&lt;br /&gt;
&lt;br /&gt;
		The problem with using CGI for everything is that: &lt;br /&gt;
		1) You have to run seperate process for each web request, which is rather expensive and not a great architecture&lt;br /&gt;
&lt;br /&gt;
		One solution is to keep dynamic program running &lt;br /&gt;
		-this is usually used with PHP because a new process does not have to be spawn each time.&lt;br /&gt;
&lt;br /&gt;
		Keep in mind that node does not eliminate a static server, but instead it offers an easier way to implement &lt;br /&gt;
                 a dynamic server .&lt;br /&gt;
		&lt;br /&gt;
		What is node?&lt;br /&gt;
		Node is a javascript execution environemnt with networking and disk Input and Ouput(I/O) support&lt;br /&gt;
&lt;br /&gt;
		Javascript is limited in what it can do&lt;br /&gt;
&lt;br /&gt;
		On the other hand, node by itself does not have much functionality, we need to add *modules* to make it better&lt;br /&gt;
&lt;br /&gt;
		NPM = node package manager&lt;br /&gt;
&lt;br /&gt;
		The node package manager lets us load the modules that a node application depends on.&lt;br /&gt;
               &lt;br /&gt;
&lt;br /&gt;
		FrameWork: All a framework is a scaffolding for an application&lt;br /&gt;
&lt;br /&gt;
		Also a framework helps you to gennerate a simple application that runs but doesnt does much, then you have the functionality you want.&lt;br /&gt;
&lt;br /&gt;
		app.js: contains the code&lt;br /&gt;
		Public folder : anything you put in here, static web server  i.e images, style sheets etc&lt;br /&gt;
&lt;br /&gt;
                keep in mind this folder is not the only folder that contains, but also this is where &lt;br /&gt;
              the highest level configuration of web application also takes place.&lt;br /&gt;
&lt;br /&gt;
		packages.json: contains dependencies&lt;br /&gt;
		bin: contains the file you run&lt;br /&gt;
&lt;br /&gt;
		with node,all the code you will need will live in a node_module directory&lt;br /&gt;
		we type cat package.json on the terminal to view the dependencies &lt;br /&gt;
&lt;br /&gt;
		we also type &amp;quot;npm install&amp;quot; on terminal to install the NPM&lt;br /&gt;
		after the instalation is complete  a node module directory will be downnloaded/installed&lt;br /&gt;
&lt;br /&gt;
		now we can run the web server.&lt;br /&gt;
		&lt;br /&gt;
		localhost:3000? what does this mean&lt;br /&gt;
&lt;br /&gt;
		localhost is the machine you are operating on. In 2406 we will do everything off localhost.&lt;br /&gt;
		local host can be replace with your ip i.e&lt;br /&gt;
		134.117.222.90:3000&lt;br /&gt;
		3000 is the default&lt;br /&gt;
&lt;br /&gt;
		3000 is the standard development port we will be using.&lt;br /&gt;
&lt;br /&gt;
		usually to connect to port 80 you have to priviledges, and we do not want that, because no one knows how your code will react.&lt;br /&gt;
&lt;br /&gt;
		favicon is the little icon that shows on the corner of your browser while it is running.&lt;br /&gt;
&lt;br /&gt;
					JavaScript&lt;br /&gt;
					-it is loosely type&lt;br /&gt;
					-Weird globals&lt;br /&gt;
					-null is an object etc&lt;br /&gt;
&lt;br /&gt;
		JavaScript can also be said that it can be said that it is a first draft of a great language.&lt;br /&gt;
&lt;br /&gt;
		First rule of the web is Compatibility , and which is one of the reasons why JavaScript has not &amp;quot;fixed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
							Properties of JavaScript&lt;br /&gt;
				-C like syntax&lt;br /&gt;
				-loosely typed : what does this mean? It means you do not specify types for variables, that doesn&#039;t mean there    are no types&lt;br /&gt;
				-identifiers can refer to data of any type&lt;br /&gt;
				-numbers are ALL DOUBLES i.e Double Precision Floats(floating point i.e no integers)&lt;br /&gt;
				-Object Oriented&lt;br /&gt;
				-NO CLASSES - only prototypes&lt;br /&gt;
				-lexical scoped: meaning the range of which a variable can be seen or range of functionality of a variable, so that it can only be called from the scope/ the block of code where the variable was defined&lt;br /&gt;
&lt;br /&gt;
				Prototypes have no compile phase. JavaScript also has no compile phase.&lt;/div&gt;</summary>
		<author><name>BabatundeFagbure</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebFund_2015W_Lecture_3&amp;diff=19742</id>
		<title>WebFund 2015W Lecture 3</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebFund_2015W_Lecture_3&amp;diff=19742"/>
		<updated>2015-01-30T16:31:55Z</updated>

		<summary type="html">&lt;p&gt;BabatundeFagbure: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://homeostasis.scs.carleton.ca/~soma/webfund-2015w/lectures/comp2406-2015w-lec03-12Jan2015.mp3 Audio] and [http://homeostasis.scs.carleton.ca/~soma/webfund-2015w/lectures/comp2406-2015w-lec03-12Jan2015.mp4 video] from the lecture given on January 12, 2015 are now available.  The video has a partial audio track due to corruption; for full audio listen to the mp3.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
			Web applications versus web pages&lt;br /&gt;
		*Web page  HTML + CSS + JAVASCRIPT&lt;br /&gt;
&lt;br /&gt;
		HTML(Hyper Text Mark Up Language) defines structure of page&lt;br /&gt;
		(define HTML)&lt;br /&gt;
		CSS is  responsible for the styling of the webpages&lt;br /&gt;
		JavaScript is the code of the webpage&lt;br /&gt;
&lt;br /&gt;
		Web Applications:Set of webpages + Server side logic&lt;br /&gt;
&lt;br /&gt;
		when you a loading a webpage the serves does two things:&lt;br /&gt;
		1)browser sends HTTP GET&lt;br /&gt;
		2) Server returns HTML document&lt;br /&gt;
		* The document has references to other resources&lt;br /&gt;
			_ The browser does GETs for those&lt;br /&gt;
&lt;br /&gt;
			What does the server side logic do?&lt;br /&gt;
&lt;br /&gt;
		1) It changes what is returned in response to GETs, (and POST)&lt;br /&gt;
&lt;br /&gt;
		Static Web Servers serve files, while on the other hand Dynamic web servers implement logic.&lt;br /&gt;
&lt;br /&gt;
		Early web server used  CGI to do dynamic web pages&lt;br /&gt;
&lt;br /&gt;
		CGI: Common Gateway interface&lt;br /&gt;
		An Example of a CGI would be a program, for example a perl script&lt;br /&gt;
&lt;br /&gt;
		the web started with static web pages&lt;br /&gt;
&lt;br /&gt;
		The problem with using CGI for everything is that: &lt;br /&gt;
		1) You have to run seperate process for each web request, which is rather expensive and not a great architecture&lt;br /&gt;
&lt;br /&gt;
		One solution is to keep dynamic program running &lt;br /&gt;
		-this is usually used with PHP because a new process does not have to be spawn each time.&lt;br /&gt;
&lt;br /&gt;
		Keep in mind that node does not eliminate a static server, but instead it offers an easier way to implement &lt;br /&gt;
                 a dynamic server .&lt;br /&gt;
		&lt;br /&gt;
		What is node?&lt;br /&gt;
		Node is a javascript execution environemnt with networking and disk Input and Ouput(I/O) support&lt;br /&gt;
&lt;br /&gt;
		Javascript is limited in what it can do&lt;br /&gt;
&lt;br /&gt;
		On the other hand, node by itself does not have much functionality, we need to add *modules* to make it better&lt;br /&gt;
&lt;br /&gt;
		NPM = node package manager&lt;br /&gt;
&lt;br /&gt;
		The node package manager lets us load the modules that a node application depends on.&lt;br /&gt;
               &lt;br /&gt;
&lt;br /&gt;
		FrameWork: All a framework is a scaffolding for an application&lt;br /&gt;
&lt;br /&gt;
		Also a framework helps you to gennerate a simple application that runs but doesnt does much, then you have the functionality you want.&lt;br /&gt;
&lt;br /&gt;
		app.js: contains the code&lt;br /&gt;
		Public folder : anything you put in here, static web server  i.e images, style sheets etc&lt;br /&gt;
                keep in mind this folder is not the only folder that contains, but also this is where the highest&lt;br /&gt;
                level configuration of web application also takes place.&lt;br /&gt;
&lt;br /&gt;
		packages.json: contains dependencies&lt;br /&gt;
		bin: contains the file you run&lt;br /&gt;
&lt;br /&gt;
		with node,all the code you will need will live in a node_module directory&lt;br /&gt;
		we type cat package.json on the terminal to view the dependencies &lt;br /&gt;
&lt;br /&gt;
		we also type &amp;quot;npm install&amp;quot; on terminal to install the NPM&lt;br /&gt;
		after the instalation is complete  a node module directory will be downnloaded/installed&lt;br /&gt;
&lt;br /&gt;
		now we can run the web server.&lt;br /&gt;
		&lt;br /&gt;
		localhost:3000? what does this mean&lt;br /&gt;
&lt;br /&gt;
		localhost is the machine you are operating on. In 2406 we will do everything off localhost.&lt;br /&gt;
		local host can be replace with your ip i.e&lt;br /&gt;
		134.117.222.90:3000&lt;br /&gt;
		3000 is the default&lt;br /&gt;
&lt;br /&gt;
		3000 is the standard development port we will be using.&lt;br /&gt;
&lt;br /&gt;
		usually to connect to port 80 you have to priviledges, and we do not want that, because no one knows how your code will react.&lt;br /&gt;
&lt;br /&gt;
		favicon is the little icon that shows on the corner of your browser while it is running.&lt;br /&gt;
&lt;br /&gt;
					JavaScript&lt;br /&gt;
					-it is loosely type&lt;br /&gt;
					-Weird globals&lt;br /&gt;
					-null is an object etc&lt;br /&gt;
&lt;br /&gt;
		JavaScript can also be said that it can be said that it is a first draft of a great language.&lt;br /&gt;
&lt;br /&gt;
		First rule of the web is Compatibility , and which is one of the reasons why JavaScript has not &amp;quot;fixed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
							Properties of JavaScript&lt;br /&gt;
				-C like syntax&lt;br /&gt;
				-loosely typed : what does this mean? It means you do not specify types for variables, that doesn&#039;t mean there    are no types&lt;br /&gt;
				-identifiers can refer to data of any type&lt;br /&gt;
				-numbers are ALL DOUBLES i.e Double Precision Floats(floating point i.e no integers)&lt;br /&gt;
				-Object Oriented&lt;br /&gt;
				-NO CLASSES - only prototypes&lt;br /&gt;
				-lexical scoped: meaning the range of which a variable can be seen or range of functionality of a variable, so that it can only be called from the scope/ the block of code where the variable was defined&lt;br /&gt;
&lt;br /&gt;
				Prototypes have no compile phase. JavaScript also has no compile phase.&lt;/div&gt;</summary>
		<author><name>BabatundeFagbure</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebFund_2015W_Lecture_3&amp;diff=19635</id>
		<title>WebFund 2015W Lecture 3</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebFund_2015W_Lecture_3&amp;diff=19635"/>
		<updated>2015-01-12T16:23:36Z</updated>

		<summary type="html">&lt;p&gt;BabatundeFagbure: Lecture 3 Notes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;					2406 Lecture 3 Notes&lt;br /&gt;
&lt;br /&gt;
			Web applications versus web pages&lt;br /&gt;
		*Web page  HTML + CSS + JAVASCRIPT&lt;br /&gt;
&lt;br /&gt;
		HTML(Hyper Text Mark Up Language) defines structure of page&lt;br /&gt;
		(define HTML)&lt;br /&gt;
		CSS is  responsible for the styling of the webpages&lt;br /&gt;
		JavaScript is the code of the webpage&lt;br /&gt;
&lt;br /&gt;
		Web Applications:Set of webpages + Server side logic&lt;br /&gt;
&lt;br /&gt;
		when you a loading a webpage the serves does two things:&lt;br /&gt;
		1)browser sends HTTP GET&lt;br /&gt;
		2) Server returns HTML document&lt;br /&gt;
		* The document has references to other resources&lt;br /&gt;
			_ The browser does GETs for those&lt;br /&gt;
&lt;br /&gt;
			What does the server side logic do?&lt;br /&gt;
&lt;br /&gt;
		1) It changes what is returned in response to GETs, (and POST)&lt;br /&gt;
&lt;br /&gt;
		Static Web Servers serve files, while on the other hand Dynamic web servers implement logic.&lt;br /&gt;
&lt;br /&gt;
		Early web server used  CGI to do dynamic web pages&lt;br /&gt;
&lt;br /&gt;
		CGI: Common Gateway interface&lt;br /&gt;
		An Example of a CGI would be a program, for example a perl script&lt;br /&gt;
&lt;br /&gt;
		the web started with static web pages&lt;br /&gt;
&lt;br /&gt;
		The problem with using CGI for everything is that: &lt;br /&gt;
		1) You have to run seperate process for each web request, which is rather expensive and not a great architecture&lt;br /&gt;
&lt;br /&gt;
		One solution is to keep dynamic program running &lt;br /&gt;
		-this is usually used with PHP (does not pay overhead of executing)&lt;br /&gt;
&lt;br /&gt;
		With  node we eliminate the static web server .&lt;br /&gt;
		&lt;br /&gt;
		What is node?&lt;br /&gt;
		Node is a javascript execution environemnt with networking and disk Input and Ouput(I/O) support&lt;br /&gt;
&lt;br /&gt;
		Javascript is limited in what it can do&lt;br /&gt;
&lt;br /&gt;
		On the other hand, node by itself does not have much functionality, we need to add *modules* to make it better&lt;br /&gt;
&lt;br /&gt;
		NPM = node package manager&lt;br /&gt;
&lt;br /&gt;
		The node package manager lets us load the code that node depends upon&lt;br /&gt;
&lt;br /&gt;
		FrameWork: All a framework is a scaffolding for an application&lt;br /&gt;
&lt;br /&gt;
		Also a framework helps you to gennerate a simple application that runs but doesnt does much, then you have the functionality you want.&lt;br /&gt;
&lt;br /&gt;
		app.js: contains the code&lt;br /&gt;
		Public folder : anything you put in here, static web server  i.e images, style sheets etc&lt;br /&gt;
&lt;br /&gt;
		packages.js: contains dependencies&lt;br /&gt;
		bin: contains the file you run&lt;br /&gt;
&lt;br /&gt;
		with node,all the code you will need will live in a node_module directory&lt;br /&gt;
		we type cat package.json on the terminal to view the dependencies &lt;br /&gt;
&lt;br /&gt;
		we also type &amp;quot;npm install&amp;quot; on terminal to install the NPM&lt;br /&gt;
		after the instalation is complete  a node module directory will be downnloaded/installed&lt;br /&gt;
&lt;br /&gt;
		now we can run the web server.&lt;br /&gt;
		&lt;br /&gt;
		localhost:3000? what does this mean&lt;br /&gt;
&lt;br /&gt;
		localhost is the machine you are operating on. In 2406 we will do everything off localhost.&lt;br /&gt;
		local host can be replace with your ip i.e&lt;br /&gt;
		134.117.222.90:3000&lt;br /&gt;
		3000 is the default&lt;br /&gt;
&lt;br /&gt;
		3000 is the standard development port we will be using.&lt;br /&gt;
&lt;br /&gt;
		usually to connect to port 80 you have to priviledges, and we do not want that, because no one knows how your code will react.&lt;br /&gt;
&lt;br /&gt;
		favicon is the little icon that shows on the corner of your browser while it is running.&lt;br /&gt;
&lt;br /&gt;
					JavaScript&lt;br /&gt;
					-it is loosely type&lt;br /&gt;
					-Weird globals&lt;br /&gt;
					-null is an object etc&lt;br /&gt;
&lt;br /&gt;
		JavaScript can also be said that it can be said that it is a first draft of a great language.&lt;br /&gt;
&lt;br /&gt;
		First rule of the web is Compatibility , and which is one of the reasons why JavaScript has not &amp;quot;fixed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
							Properties of JavaScript&lt;br /&gt;
				-C like syntax&lt;br /&gt;
				-loosely typed : what does this mean? It means you do not specify types for variables, that doesn&#039;t mean there    are no types&lt;br /&gt;
				-identifiers can refer to data of any type&lt;br /&gt;
				-numbers are ALL DOUBLES i.e Double Precision Floats(floating point i.e no integers)&lt;br /&gt;
				-Object Oriented&lt;br /&gt;
				-NO CLASSES - only prototypes&lt;br /&gt;
				-lexical scoped: meaning the range of which a variable can be seen or range of functionality of a variable, so that it can only be called from the scope/ the block of code where the variable was defined&lt;br /&gt;
&lt;br /&gt;
				Prototypes have no compile phase.&lt;/div&gt;</summary>
		<author><name>BabatundeFagbure</name></author>
	</entry>
</feed>