<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://homeostasis.scs.carleton.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=WebFund_2024F_Lecture_13</id>
	<title>WebFund 2024F Lecture 13 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://homeostasis.scs.carleton.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=WebFund_2024F_Lecture_13"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebFund_2024F_Lecture_13&amp;action=history"/>
	<updated>2026-04-06T10:15:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebFund_2024F_Lecture_13&amp;diff=24812&amp;oldid=prev</id>
		<title>Soma: Created page with &quot;==Video==  Video from the lecture for October 31, 2024 is now available: * [https://homeostasis.scs.carleton.ca/~soma/webfund-2024f/lectures/comp2406-2024f-lec13-20241031.m4v video] * [https://homeostasis.scs.carleton.ca/~soma/webfund-2024f/lectures/comp2406-2024f-lec13-20241031.cc.vtt auto-generated captions]  ==Notes==  &lt;pre&gt; Lecture 13 ----------  For tutorial 6, you&#039;ll be playing with a (slightly) cleaned-up version of the validator application we&#039;ve been using.  Not...&quot;</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebFund_2024F_Lecture_13&amp;diff=24812&amp;oldid=prev"/>
		<updated>2024-10-31T18:40:38Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==Video==  Video from the lecture for October 31, 2024 is now available: * [https://homeostasis.scs.carleton.ca/~soma/webfund-2024f/lectures/comp2406-2024f-lec13-20241031.m4v video] * [https://homeostasis.scs.carleton.ca/~soma/webfund-2024f/lectures/comp2406-2024f-lec13-20241031.cc.vtt auto-generated captions]  ==Notes==  &amp;lt;pre&amp;gt; Lecture 13 ----------  For tutorial 6, you&amp;#039;ll be playing with a (slightly) cleaned-up version of the validator application we&amp;#039;ve been using.  Not...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Video==&lt;br /&gt;
&lt;br /&gt;
Video from the lecture for October 31, 2024 is now available:&lt;br /&gt;
* [https://homeostasis.scs.carleton.ca/~soma/webfund-2024f/lectures/comp2406-2024f-lec13-20241031.m4v video]&lt;br /&gt;
* [https://homeostasis.scs.carleton.ca/~soma/webfund-2024f/lectures/comp2406-2024f-lec13-20241031.cc.vtt auto-generated captions]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Lecture 13&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
For tutorial 6, you&amp;#039;ll be playing with a (slightly) cleaned-up version of the validator application we&amp;#039;ve been using.&lt;br /&gt;
&lt;br /&gt;
Note that I use the validator (and text formatted assignments) because the TA&amp;#039;s grade the assignments per questions, not per assignment, and so I need a way to split up assignments into questions.&lt;br /&gt;
 - this could be done directly through brightspace, but I don&amp;#039;t think anyone likes doing things through brightspace if they can avoid it&lt;br /&gt;
&lt;br /&gt;
Note that for Tutorial 6, we are doing *client side JavaScript* (and HTML, and CSS).&lt;br /&gt;
&lt;br /&gt;
Web browsers are all about rendering HTML documents&lt;br /&gt;
 - client-side JavaScript runs within the context of an HTML document&lt;br /&gt;
 - this means that objects are defined that allow JavaScript code to access and modify the HTML of the document&lt;br /&gt;
    - the object is &amp;quot;document&amp;quot; in JavaScript&lt;br /&gt;
 - to manipulate the HTML, you normally need to selecct something on the page&lt;br /&gt;
    - page is represented as a tree, with each HTML tag being a node&lt;br /&gt;
    - to get a node in this tree, you normally use the getElementById method,&lt;br /&gt;
      which will refer to a specific &amp;quot;id=&amp;quot; tag in the HTML&lt;br /&gt;
&lt;br /&gt;
Two entry points to the code:&lt;br /&gt;
 - hideAnalysis()&lt;br /&gt;
   - run onload&lt;br /&gt;
 - loadAssignment()&lt;br /&gt;
   - run onchange of filename&lt;br /&gt;
&lt;br /&gt;
onload events happen when the page (HTML tag) is finished loading&lt;br /&gt;
&lt;br /&gt;
In C and JavaScript&lt;br /&gt;
 - \n in a string represents newline (linefeed character, LF)&lt;br /&gt;
 - \r in a string represents return (carriage return, CR)&lt;br /&gt;
&lt;br /&gt;
UNIX text files end lines with LF&lt;br /&gt;
MS-DOS/Windows text files end lines with CRLF&lt;br /&gt;
&lt;br /&gt;
So client-side JavaScript seems pretty powerful right?&lt;br /&gt;
 - can load files, process them, and display results in a GUI&lt;br /&gt;
   (by manipulating the HTML of the document)&lt;br /&gt;
&lt;br /&gt;
But what can&amp;#039;t you do?&lt;br /&gt;
 - cannot save data anywhere, is living in a sandbox&lt;br /&gt;
 - that&amp;#039;s why we have web servers: to serve pages and save results/process data from users&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soma</name></author>
	</entry>
</feed>