Jason's Stage 4 Notes

Lesson 1: Understanding Networks


A group of entities that can communicate even though they are not directly connected. There has to be at least three entities and there has to be a way that entities that are not directly connected can still communicate.

This Video does a good job of explaining it.


A server is a computer that interacts with a request we make to the computer. For example, whenever we type in "http://www.google.com", we are sending a request to Google's servers to return a website.

Get vs Post

Get parameters are included in the URL. Get requests are used for fetching documents. Get parameters have a max URL length. Get parameters are generally ok to cache. Get parameters should not change the server

Post parameters are included in the body. Post parameters are used for updating data or actually making changes. Post parameters have no max length. Post parameters are almost never cached. Post requests are usually destructive in nature.

Server Responses

When you send commands to the server the server will respond with different codes. There are 3 main server response types. 2xx codes indicate Success. 3xx codes indicate a Redirection. or action needs to be taken by the client in order to fulfill the request. 4xx and 5xx codes indicate Error The 4xx codes are intended for cases in which the client seems to have erred, and the 5xx codes for the cases in which the server is aware that the server has erred.

This websiteprovides a great explanation.

Lesson 2: Importance Of Validating Input

Checking Validation

Validation is verifying on the server that what we receive is what we expect to receive. If what we receive is different than what we expect we send a message notifying the user.

It is important that we validate the data and send the appropriate response so that the user knows what the problem is and potentially how to fix it going forward. This Video goes into more detail about this topic.

Handling Bad Data

We need to verify what the user enters and confirm if the data is bad. Using something like a drop-down is not enough to ensure that the user is not passing bad data to our form. It is important that we send appropriate responses or messages if the data is bad or incorrect.

This lesson covers this topic in detail.

Lesson 3: HTML Templates

Introducing Templates

Templates refer to a library used to build complicated strings (html). Jinja2 is a template library that was used to make this web page. Avoiding repetition is necessary when programming. You want to avoid having to rewrite the same code multiple times.

Variable Substitution

The syntax for substituting a variable in Jinja is a double curly brace. Substitution is basically just printing the variable. This is a handy way to substitute a string while maintaining cleaner code.

Template Inheritance

This is a great way to avoid repetition and makes your code more organized and easier to read. This lets you define a base template which you can later plug new HTML into. This is useful when, for example, you want to have a consistent header and footer across your app. Remember better organized code is more readable,easier to fix, easier to share, and harder to break.

Lesson 4: JavaScript

What is JavaScript?

JavaScript is the main programming language used with HTML and the Web. JavaScript can be used to create interactive effects within your web page.

This Wikipedia page has a great definition.

Where to use JavaScript?

If you are like me you are probably wondering how you can use JavaScript in your web page. According to this website. JavaScript can be placed in the body and head sections of an HTML page.

JavaScript Syntax

JavaScript syntax is a set of rules for how programs are constructed. JavaScript statements are separated by semicolons. There are two main types of values: Fixed values and variable values. Visit this page for more details about JavaScript syntax.

anonymous@anonymous.com wrote:
It's OK <a href=" http://kanesmarket.com/wp/cost-of-docetaxel-treatment.pdf ">docetaxel price in pakistan</a> The vulnerability allows a hacker to modify an APK's code without breaking an application’s cryptographic signature, which means it is possible for a developer to turn any legitimate application into a malicious Trojan, unnoticed by the Play Store, the device, or the end user. <a href=" http://fireflyitservices.com/ipratropium-bromide-inhaler-price.pdf ">ipratropium bromide albuterol sulfate steroid</a> HONG KONG, July 9 (Reuters) - Hong Kong and China shareswere weak on low volumes on Tuesday, with mainland-listedproperty developers mostly down after China reported ahigher-than-expected inflation rate for June. <a href=" http://www.alexandermacbeth.com/coricidin-hbp-day-ingredients.pdf ">can coricidin cold and flu get u high</a> In a statement on Friday, Chase Carey, Fox's president and chief operating officer, said Hulu's owners "had meaningful conversations with a number of potential partners and buyers, each with impressive plans and offers to match." <a href=" http://www.pactobiencomun.com.bo/order-tretinoin-gel.pdf ">mail order tretinoin</a> The men followed six women from the bar in September 2002 as they drove to a home they shared after a night of work, the prosecutor's office said. When they arrived, two men fired more than 60 bullets into the vehicle, killing four of the women. 2017-06-06 10:14:14.891050
anonymous@anonymous.com wrote:
zlgztD <a href="http://rpxuryernxsu.com/">rpxuryernxsu</a>, [url=http://lkyxjanyoual.com/]lkyxjanyoual[/url], [link=http://wghjdhhwhdos.com/]wghjdhhwhdos[/link], http://pnaplajgrvpo.com/ 2017-05-23 04:02:05.553130
anonymous@anonymous.com wrote:
Mfb6vp <a href="http://ocufeizwjjyr.com/">ocufeizwjjyr</a>, [url=http://jqynpcjvwizs.com/]jqynpcjvwizs[/url], [link=http://lkkdkwmsmitr.com/]lkkdkwmsmitr[/link], http://uazytvbgixrd.com/ 2017-05-23 01:50:43.387100
anonymous@anonymous.com wrote:
yihe7S <a href="http://qguixerrximx.com/">qguixerrximx</a>, [url=http://xffusbimzwwh.com/]xffusbimzwwh[/url], [link=http://zhkhjjshpiqj.com/]zhkhjjshpiqj[/link], http://paydywqbdwuf.com/ 2017-05-22 23:40:05.858110
anonymous@anonymous.com wrote:
DOXVaT <a href="http://defukfmtlgnn.com/">defukfmtlgnn</a>, [url=http://tbrcsywbhgkl.com/]tbrcsywbhgkl[/url], [link=http://rjdxjlcjytpt.com/]rjdxjlcjytpt[/link], http://hutvubeanewd.com/ 2017-05-22 21:10:04.774680
anonymous@anonymous.com wrote:
xSQjXl <a href="http://qrzxcqbiwfqb.com/">qrzxcqbiwfqb</a>, [url=http://iouwyzuyfdhj.com/]iouwyzuyfdhj[/url], [link=http://vlevrwlnqeob.com/]vlevrwlnqeob[/link], http://hwrgrulpjfbc.com/ 2017-05-22 19:01:26.189980
anonymous@anonymous.com wrote:
MoD6tc <a href="http://ihrohuwdubcc.com/">ihrohuwdubcc</a>, [url=http://bawlyrxzivei.com/]bawlyrxzivei[/url], [link=http://jikryypzmjqw.com/]jikryypzmjqw[/link], http://mlsbxjgxxfja.com/ 2017-05-22 16:53:48.484770
anonymous@anonymous.com wrote:
l3XZn3 <a href="http://qppfttkdornv.com/">qppfttkdornv</a>, [url=http://muwmnwaoikjh.com/]muwmnwaoikjh[/url], [link=http://bfsohucktglx.com/]bfsohucktglx[/link], http://qfotqnncgynt.com/ 2017-05-22 14:53:39.401920
anonymous@anonymous.com wrote:
cnWwSu http://www.LnAJ7K8QSpkiStk3sLL0hQP6MO2wQ8gO.com 2017-05-20 23:52:32.693590
anonymous@anonymous.com wrote:
Please keep thwrniog these posts up they help tons. http://qwnnczp.com [url=http://pljohuzo.com]pljohuzo[/url] [link=http://ibrzgjhs.com]ibrzgjhs[/link] 2016-07-29 20:11:19.681490