Search.setIndex({"docnames": ["AdvancedJavascript/Exercises", "AdvancedJavascript/mashup", "AdvancedJavascript/prototype", "AdvancedJavascript/toctree", "BasicNetworking/Exercises", "BasicNetworking/sockets", "CGI/Exercises", "CGI/basiccgi", "CGI/cookies", "CGI/forms", "CGI/toctree", "CSS/Exercises", "CSS/advancedmatching", "CSS/cssquiz", "CSS/csstricks", "CSS/grids", "CSS/intro", "CSS/layoutattributes", "CSS/morematching", "CSS/positionquiz", "CSS/styleattributes", "CSS/toctree", "Cloud/Exercises", "Cloud/cloudintro", "Cloud/toctree", "Database/Exercises", "Database/README", "Database/aggregation_SQL", "Database/bike_share_intro", "Database/filtering_SQL", "Database/introduction_to_SQL", "Database/joining_SQL", "Database/records", "Database/sorting_SQL", "Database/sqlalchemy", "Database/toctree", "Dynamic/Exercises", "Dynamic/dynintro", "Dynamic/localstorage", "Dynamic/mvc", "Dynamic/prototype1", "Dynamic/prototype2", "Dynamic/prototype3", "Dynamic/pubsub", "Dynamic/spa", "Dynamic/toctree", "Flask/Exercises", "Flask/LICENSE", "Flask/frameworkintro", "Flask/logging", "Flask/quickstart", "Flask/redirects", "Flask/requestobj", "Flask/responses", "Flask/routing", "Flask/sessions", "Flask/templates", "Flask/templating", "Flask/toctree", "Frameworks/Exercises", "Frameworks/database", "Frameworks/decorators", "Frameworks/deploying", "Frameworks/frameworkdev", "Frameworks/templates", "Frameworks/toctree", "Frameworks/wsgi", "Frameworks/wtforms", "FrontBackMatter/preface", "HTML/Exercises", "HTML/advanced", "HTML/basic", "HTML/htmlquiz", "HTML/intro", "HTML/structural", "HTML/toctree", "Javascript/Exercises", "Javascript/Selection", "Javascript/asyncJavascript", "Javascript/bandit", "Javascript/context", "Javascript/events", "Javascript/finalquiz", "Javascript/forms", "Javascript/helpObjects", "Javascript/intro", "Javascript/iteration", "Javascript/jsquiz", "Javascript/objects", "Javascript/toctree", "Projects/intro_day", "Projects/toctree", "Projects/wayback_websites", "WWW/Exercises", "WWW/history", "WWW/intro", "WWW/technology", "WWW/toctree", "index", "web_apis/Exercises", "web_apis/implementing_web_apis", "web_apis/prototype4", "web_apis/restful_api", "web_apis/toctree", "web_apis/using_web_apis"], "filenames": ["AdvancedJavascript/Exercises.rst", "AdvancedJavascript/mashup.rst", "AdvancedJavascript/prototype.rst", "AdvancedJavascript/toctree.rst", "BasicNetworking/Exercises.rst", "BasicNetworking/sockets.rst", "CGI/Exercises.rst", "CGI/basiccgi.rst", "CGI/cookies.rst", "CGI/forms.rst", "CGI/toctree.rst", "CSS/Exercises.rst", "CSS/advancedmatching.rst", "CSS/cssquiz.rst", "CSS/csstricks.rst", "CSS/grids.rst", "CSS/intro.rst", "CSS/layoutattributes.rst", "CSS/morematching.rst", "CSS/positionquiz.rst", "CSS/styleattributes.rst", "CSS/toctree.rst", "Cloud/Exercises.rst", "Cloud/cloudintro.rst", "Cloud/toctree.rst", "Database/Exercises.rst", "Database/README.rst", "Database/aggregation_SQL.rst", "Database/bike_share_intro.rst", "Database/filtering_SQL.rst", "Database/introduction_to_SQL.rst", "Database/joining_SQL.rst", "Database/records.rst", "Database/sorting_SQL.rst", "Database/sqlalchemy.rst", "Database/toctree.rst", "Dynamic/Exercises.rst", "Dynamic/dynintro.rst", "Dynamic/localstorage.rst", "Dynamic/mvc.rst", "Dynamic/prototype1.rst", "Dynamic/prototype2.rst", "Dynamic/prototype3.rst", "Dynamic/pubsub.rst", "Dynamic/spa.rst", "Dynamic/toctree.rst", "Flask/Exercises.rst", "Flask/LICENSE.rst", "Flask/frameworkintro.rst", "Flask/logging.rst", "Flask/quickstart.rst", "Flask/redirects.rst", "Flask/requestobj.rst", "Flask/responses.rst", "Flask/routing.rst", "Flask/sessions.rst", "Flask/templates.rst", "Flask/templating.rst", "Flask/toctree.rst", "Frameworks/Exercises.rst", "Frameworks/database.rst", "Frameworks/decorators.rst", "Frameworks/deploying.rst", "Frameworks/frameworkdev.rst", "Frameworks/templates.rst", "Frameworks/toctree.rst", "Frameworks/wsgi.rst", "Frameworks/wtforms.rst", "FrontBackMatter/preface.rst", "HTML/Exercises.rst", "HTML/advanced.rst", "HTML/basic.rst", "HTML/htmlquiz.rst", "HTML/intro.rst", "HTML/structural.rst", "HTML/toctree.rst", "Javascript/Exercises.rst", "Javascript/Selection.rst", "Javascript/asyncJavascript.rst", "Javascript/bandit.rst", "Javascript/context.rst", "Javascript/events.rst", "Javascript/finalquiz.rst", "Javascript/forms.rst", "Javascript/helpObjects.rst", "Javascript/intro.rst", "Javascript/iteration.rst", "Javascript/jsquiz.rst", "Javascript/objects.rst", "Javascript/toctree.rst", "Projects/intro_day.rst", "Projects/toctree.rst", "Projects/wayback_websites.rst", "WWW/Exercises.rst", "WWW/history.rst", "WWW/intro.rst", "WWW/technology.rst", "WWW/toctree.rst", "index.rst", "web_apis/Exercises.rst", "web_apis/implementing_web_apis.rst", "web_apis/prototype4.rst", "web_apis/restful_api.rst", "web_apis/toctree.rst", "web_apis/using_web_apis.rst"], "titles": ["7.3. Exercises", "7.2. Interacting with Other Services", "7.1. Javascript Prototypes", "7. Advanced Javascript", "Exercises", "Sockets: The Building Blocks of Network Programming", "9.4. Exercises", "9.1. Server Side Programming", "9.3. Cookies", "9.2. Processing user Input", "9. Common Gateway Interface", "4.10. CSS Exercises", "4.8. The Dropdown Menu Project", "4.4. Quiz Two", "4.7. CSS Tricks", "4.9. Grid Layout", "4.1. Introduction to CSS", "4.5. Changing your page layout", "4.3. More on Matching", "4.6. Positioning Quiz", "4.2. Changing the Style of an HTML Element", "4. Cascading Style Sheets", "3.2. Exercises", "3.1. Publishing a web page in the Cloud", "3. Publishing in the Cloud", "11.9. Exercises", "Records: SQL for Humans\u2122", "11.5. Aggregation or Group By", "Predicting Bike Rentals", "11.3. Filtering", "11.1. Exploring Bike Rental Data with SQL", "11.6. Joining", "11.7. Accessing Databases from Python", "11.4. Sorting", "11.8. Object Relational Mapping with SQLAlchemy", "11. Introduction to SQL", "6.9. Exercises", "6.1. Modern Web Application Architecture", "6.7. Serializing and LocalStorage", "6.4. Model View Controller", "6.3. First Shopping List Prototype", "6.6. Our Second Prototype", "6.8. Prototype 3 Storing the List in the Browser", "6.5. The Publish and Subscribe Design Pattern", "6.2. A trip to the SPA", "6. Dynamic Web Applications", "10.13. Exercises", "<no title>", "10.1. Toward Modern Web Development", "10.11. Logging", "10.2. Quickstart", "10.7. Redirects and Errors", "10.6. Accessing Request Data", "10.8. About Responses", "10.3. Routing", "10.9. Sessions", "10.5. Rendering Templates", "10.12. Templates in Depth", "10. The Flask Framework", "12.7. Exercises", "12.6. Persistent Data and Databases", "12.2. Python Decorators", "12.3. Deploying a Server in the Cloud", "12.1. Behind the scenes in Flask", "12.5. Template Engines", "12. Framework Development", "12.4. Web Server Gateway Interface", "<no title>", "Preface", "2.5. Exercises", "2.3. Advanced HTML Tags", "2.2. Basic HTML Tags", "2.6. HTML Quiz", "2.1. The HyperText Markup Language", "2.4. Semantic HTML Tags", "2. HTML Basics", "5.12. Javascript Exercises", "5.8. Selection", "5.11. Asynchronous Programming", "Javascript Project Slot Machine", "5.6. Creating Elements on the Fly", "5.5. Javascript Events", "5.13. Javascript Final Quiz", "5.3. HTML Elements for Interaction", "5.10. Helper Objects", "5.1. The Javascript Programming Language", "5.7. Iteration", "5.4. Javascript Quiz", "5.2. Objects Attributes and Methods", "5. Javascript", "13.1. Intro Day", "13. Projects", "13.2. The Wayback Machine", "1.4. Exercises", "1.2. History", "1.1. Introduction", "1.3. The Technology of the Web", "1. The World Wide Web", "Fundamentals of Web Programming", "8.5. Exercises", "8.2. Implementing a Web API", "8.4. Prototype 4 - Storing our List on a Server", "8.3. A RESTful API", "8. Web Application Programmer Interfaces (APIs)", "8.1. Using Web APIs in your Application"], "terms": {"thi": [0, 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 14, 16, 17, 18, 19, 20, 22, 23, 25, 26, 27, 28, 30, 31, 32, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 60, 61, 63, 64, 66, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 82, 83, 85, 86, 87, 88, 89, 90, 92, 93, 94, 95, 96, 98, 99], "page": [0, 4, 5, 6, 7, 9, 11, 12, 14, 15, 18, 21, 22, 24, 25, 36, 37, 38, 39, 40, 42, 44, 46, 48, 50, 51, 52, 54, 55, 56, 57, 59, 64, 66, 68, 69, 70, 71, 73, 74, 76, 77, 78, 80, 81, 82, 83, 85, 87, 88, 92, 93, 94, 95, 96, 98, 99], "i": [0, 1, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 60, 61, 64, 66, 68, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 93, 94, 95, 96, 98, 99], "placehold": [0, 4, 6, 22, 25, 36, 46, 48, 59, 93, 99], "now": [0, 1, 4, 6, 7, 8, 9, 12, 15, 16, 17, 18, 20, 22, 25, 27, 31, 36, 37, 38, 39, 42, 46, 48, 50, 52, 57, 59, 60, 61, 64, 66, 68, 70, 71, 73, 77, 78, 80, 81, 85, 86, 88, 93, 95, 96, 99], "mani": [1, 5, 13, 15, 16, 17, 18, 20, 23, 26, 27, 29, 31, 32, 33, 37, 38, 40, 44, 52, 60, 64, 66, 68, 70, 71, 74, 77, 80, 81, 83, 85, 86, 87, 88, 94, 96], "websit": [1, 11, 20, 28, 30, 69, 71, 85, 92, 98], "make": [1, 5, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 23, 26, 30, 31, 32, 38, 39, 40, 41, 42, 43, 44, 48, 50, 52, 54, 55, 56, 57, 61, 64, 66, 68, 69, 70, 71, 72, 73, 76, 77, 78, 80, 81, 82, 85, 86, 88, 94, 96], "data": [1, 8, 9, 27, 28, 31, 33, 35, 37, 38, 39, 42, 44, 47, 48, 49, 53, 54, 55, 58, 65, 68, 70, 73, 78, 94, 98, 101], "avail": [1, 23, 26, 28, 30, 31, 32, 38, 50, 52, 54, 55, 57, 94], "us": [1, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 26, 27, 28, 29, 30, 31, 32, 33, 37, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 64, 66, 68, 69, 70, 71, 72, 73, 74, 76, 77, 78, 80, 82, 83, 84, 85, 86, 87, 88, 89, 92, 94, 95, 96, 98, 103], "For": [1, 5, 8, 13, 17, 18, 27, 29, 30, 31, 33, 38, 40, 43, 48, 49, 50, 52, 54, 56, 60, 64, 73, 77, 78, 80, 82, 84, 85, 87, 88, 95], "exampl": [1, 5, 7, 8, 14, 15, 16, 17, 18, 19, 20, 27, 29, 30, 31, 33, 37, 38, 40, 43, 49, 50, 51, 52, 54, 55, 56, 57, 60, 61, 64, 66, 70, 71, 73, 74, 76, 77, 78, 80, 81, 84, 85, 86, 88, 98], "amazon": [1, 8, 11, 23, 30], "its": [1, 11, 12, 17, 18, 40, 41, 47, 52, 54, 60, 61, 66, 71, 78, 80, 81, 84, 85, 88, 94, 95, 96], "inform": [1, 8, 9, 16, 26, 27, 30, 31, 38, 39, 41, 42, 44, 48, 49, 50, 53, 55, 56, 57, 66, 70, 74, 78, 94, 96], "about": [1, 7, 8, 16, 17, 18, 20, 28, 30, 31, 37, 38, 40, 41, 42, 43, 48, 52, 54, 55, 57, 58, 60, 61, 68, 69, 71, 73, 74, 77, 78, 81, 85, 88, 92, 94, 96, 98], "product": [1, 11, 47, 50, 64], "googl": [1, 5, 8, 30, 37, 82, 87, 92], "allow": [1, 7, 8, 12, 14, 16, 17, 18, 26, 27, 37, 40, 48, 50, 52, 55, 57, 61, 66, 70, 76, 77, 78, 80, 83, 84, 85, 86, 88, 94, 96], "you": [1, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 27, 28, 29, 30, 31, 32, 37, 38, 39, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 64, 66, 68, 69, 70, 71, 72, 73, 74, 76, 77, 78, 80, 81, 82, 83, 85, 87, 88, 90, 92, 94, 95, 96, 98], "add": [1, 2, 9, 11, 12, 13, 14, 15, 16, 17, 18, 26, 27, 28, 33, 39, 40, 41, 42, 43, 44, 52, 54, 61, 64, 66, 70, 71, 73, 76, 77, 80, 81, 82, 85, 86, 87, 88], "calendar": 1, "through": [1, 8, 37, 39, 41, 44, 48, 52, 64, 70, 85, 86, 94, 96], "own": [1, 5, 7, 11, 12, 17, 23, 30, 48, 50, 56, 57, 64, 68, 71, 78, 79, 85, 96], "program": [1, 8, 9, 10, 12, 37, 38, 39, 43, 48, 60, 61, 63, 66, 68, 81, 86, 88, 89, 95, 96], "yelp": 1, "review": [1, 17, 30, 40, 72], "more": [1, 8, 12, 14, 15, 16, 17, 20, 21, 26, 27, 29, 30, 31, 37, 38, 39, 40, 48, 49, 50, 51, 53, 54, 56, 57, 60, 61, 63, 64, 66, 68, 70, 71, 73, 77, 78, 79, 81, 85, 88, 95, 96, 98], "ar": [1, 5, 7, 8, 9, 11, 12, 13, 16, 17, 18, 19, 20, 23, 26, 27, 28, 29, 30, 31, 32, 33, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48, 49, 50, 52, 54, 55, 56, 57, 60, 61, 63, 64, 66, 68, 70, 71, 72, 73, 74, 77, 78, 79, 80, 81, 83, 85, 86, 87, 88, 92, 94, 95, 96], "free": [1, 23, 26, 57, 94], "These": [1, 5, 9, 16, 40, 44, 52, 57, 60, 74, 77, 85, 94], "sourc": [1, 5, 16, 23, 30, 37, 47, 66, 68, 70, 82, 92, 94], "often": [1, 16, 17, 29, 54, 60, 61, 77, 78], "refer": [1, 19, 26, 31, 32, 37, 61, 66, 68, 71, 76, 77, 80, 81, 82, 87, 88, 94], "web": [1, 5, 7, 8, 9, 12, 14, 16, 17, 18, 24, 38, 43, 52, 54, 55, 58, 60, 61, 65, 68, 71, 73, 74, 76, 78, 79, 80, 83, 85, 95], "api": [1, 8, 32, 37, 52, 58, 98], "onc": [1, 30, 44, 57, 61, 69, 72, 77, 80, 85], "ha": [1, 7, 8, 11, 14, 15, 16, 17, 18, 19, 20, 27, 28, 30, 31, 32, 37, 38, 39, 40, 41, 43, 49, 52, 54, 55, 57, 60, 61, 64, 66, 69, 71, 72, 73, 78, 80, 81, 86, 88, 94, 95, 96], "displai": [1, 7, 9, 11, 12, 15, 16, 21, 33, 37, 44, 50, 66, 70, 72, 76, 78, 79, 81, 98], "browser": [1, 5, 7, 8, 9, 14, 16, 17, 20, 30, 37, 38, 44, 45, 50, 52, 54, 55, 66, 68, 69, 70, 71, 73, 83, 85, 94, 95, 96, 98], "differ": [1, 5, 7, 16, 17, 18, 20, 31, 37, 38, 43, 44, 50, 54, 57, 60, 61, 64, 66, 68, 69, 70, 74, 77, 78, 80, 81, 83, 85, 88, 96], "wai": [1, 5, 7, 9, 12, 15, 16, 17, 20, 26, 27, 30, 31, 32, 37, 38, 39, 40, 42, 44, 47, 48, 50, 52, 55, 57, 60, 61, 66, 69, 71, 78, 79, 80, 81, 85, 88, 94, 96], "even": [1, 15, 17, 18, 23, 37, 38, 42, 43, 47, 48, 50, 54, 57, 60, 61, 66, 68, 78, 80, 85], "combin": [1, 10, 16, 18, 27, 31, 37, 52, 55, 84, 98], "from": [1, 5, 7, 8, 9, 14, 15, 16, 17, 18, 19, 20, 23, 26, 27, 28, 29, 30, 31, 33, 35, 37, 38, 39, 41, 42, 43, 44, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 64, 66, 68, 71, 73, 76, 77, 78, 80, 81, 83, 84, 86, 87, 88, 92, 94, 95, 96, 98], "site": [1, 16, 38, 39, 48, 64, 74, 92], "what": [1, 5, 9, 13, 15, 17, 18, 20, 23, 27, 31, 33, 37, 38, 39, 41, 42, 43, 44, 52, 55, 56, 57, 58, 60, 61, 66, 68, 70, 71, 72, 73, 78, 79, 82, 83, 85, 87, 88, 92, 94, 95, 96, 98], "we": [1, 5, 7, 8, 9, 12, 14, 15, 16, 17, 18, 20, 23, 26, 27, 28, 29, 30, 31, 32, 33, 37, 38, 39, 40, 41, 42, 43, 44, 48, 50, 52, 54, 60, 61, 63, 64, 66, 68, 69, 70, 71, 73, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 94, 95, 96], "call": [1, 7, 8, 17, 20, 23, 30, 31, 37, 38, 39, 40, 41, 42, 43, 48, 49, 50, 51, 53, 54, 55, 57, 60, 61, 64, 66, 71, 73, 77, 78, 80, 81, 82, 85, 86, 88, 95, 96], "mashup": 1, "The": [1, 7, 8, 9, 11, 13, 14, 15, 16, 18, 19, 20, 21, 27, 28, 30, 35, 37, 38, 39, 40, 41, 42, 44, 45, 48, 49, 50, 53, 54, 55, 56, 61, 64, 65, 70, 71, 72, 75, 76, 77, 78, 80, 81, 84, 86, 87, 88, 89, 94, 95, 98], "kei": [1, 38, 44, 52, 57, 61, 64, 66, 69, 81, 86, 88, 95], "have": [1, 2, 5, 7, 8, 9, 11, 12, 13, 15, 17, 18, 19, 23, 27, 28, 30, 31, 37, 38, 39, 40, 41, 42, 43, 44, 48, 49, 50, 52, 53, 54, 55, 56, 57, 60, 61, 64, 66, 68, 69, 70, 71, 72, 73, 74, 77, 78, 80, 81, 82, 83, 85, 87, 88, 92, 94, 95, 96], "an": [1, 5, 7, 8, 11, 12, 13, 14, 15, 16, 17, 21, 23, 26, 27, 28, 32, 37, 38, 39, 40, 41, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 56, 57, 60, 61, 64, 66, 68, 69, 70, 71, 72, 73, 74, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 94, 95, 97, 98], "effici": 1, "exchang": [1, 38, 94], "http": [1, 7, 8, 9, 12, 13, 28, 37, 38, 40, 49, 50, 52, 58, 64, 71, 73, 78, 92, 94, 95, 97, 98], "protocol": [1, 8, 13, 37, 38, 94, 95, 96], "must": [1, 5, 9, 17, 18, 19, 27, 38, 47, 50, 60, 64, 66, 71, 76, 77, 82, 88, 94, 96], "plain": [1, 38, 66, 73], "text": [1, 7, 8, 9, 11, 12, 16, 17, 18, 19, 21, 30, 37, 38, 40, 53, 54, 55, 57, 66, 73, 75, 76, 77, 80, 81, 85, 87, 89, 95, 96, 98], "One": [1, 10, 16, 18, 21, 23, 27, 61, 68, 85, 98], "think": [1, 7, 16, 17, 18, 20, 37, 40, 60, 61, 66, 68, 73, 80, 88, 96], "term": [1, 16, 17, 38, 48, 61, 66, 68, 78], "remot": 1, "function": [1, 2, 8, 9, 20, 27, 30, 38, 39, 40, 41, 42, 43, 44, 50, 51, 52, 53, 54, 56, 57, 61, 64, 66, 76, 77, 78, 80, 81, 82, 85, 87, 88], "name": [1, 2, 5, 7, 8, 9, 16, 17, 18, 20, 26, 27, 30, 31, 32, 38, 39, 40, 41, 42, 44, 47, 52, 54, 55, 56, 57, 58, 60, 61, 64, 66, 71, 80, 81, 82, 83, 85, 88, 96], "uri": [1, 8, 94, 96], "But": [1, 12, 16, 20, 27, 37, 38, 40, 44, 48, 52, 60, 61, 71, 73, 78, 81, 85, 88], "how": [1, 5, 7, 8, 9, 12, 15, 16, 17, 18, 26, 27, 28, 29, 30, 31, 32, 33, 37, 39, 42, 43, 48, 51, 52, 56, 57, 60, 61, 64, 66, 68, 70, 71, 72, 73, 74, 77, 78, 80, 81, 82, 83, 85, 86, 88, 94, 95, 96], "do": [1, 5, 7, 8, 9, 12, 15, 16, 17, 18, 23, 27, 28, 30, 31, 37, 38, 39, 40, 48, 49, 52, 54, 55, 56, 57, 58, 60, 61, 64, 66, 68, 69, 70, 71, 72, 76, 77, 78, 80, 81, 82, 85, 86, 88, 94, 98], "pass": [1, 26, 52, 56, 57, 61, 64, 66, 77, 78, 80, 96], "There": [1, 9, 16, 17, 20, 27, 38, 40, 43, 48, 50, 57, 60, 64, 66, 68, 70, 71, 78, 81, 96], "two": [1, 5, 9, 11, 15, 16, 17, 18, 20, 21, 30, 31, 38, 39, 40, 50, 52, 54, 57, 60, 61, 66, 68, 69, 70, 73, 74, 76, 78, 79, 80, 81, 85, 88, 95, 96, 98], "can": [1, 5, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 20, 23, 26, 28, 30, 31, 32, 33, 37, 38, 39, 40, 41, 43, 44, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 64, 66, 68, 69, 70, 71, 72, 73, 77, 78, 80, 81, 83, 84, 85, 86, 88, 92, 96], "send": [1, 9, 26, 32, 37, 49, 52, 66, 71, 78, 95, 96], "server": [1, 5, 8, 9, 10, 23, 27, 30, 37, 38, 44, 48, 49, 52, 54, 55, 58, 65, 68, 78, 94, 95, 96, 98, 103], "As": [1, 17, 26, 37, 39, 49, 66, 71, 73, 74, 96], "part": [1, 8, 9, 16, 17, 37, 41, 54, 61, 68, 69, 74, 80, 82, 85, 94, 96], "url": [1, 7, 9, 12, 13, 37, 48, 50, 52, 58, 61, 66, 69, 71, 78, 96, 98], "known": [1, 5, 37, 61, 94, 96], "query_str": [1, 8, 9, 48, 66], "In": [1, 7, 9, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23, 30, 31, 37, 38, 39, 41, 43, 44, 48, 50, 52, 53, 55, 57, 60, 61, 63, 64, 66, 68, 69, 70, 71, 74, 76, 77, 78, 79, 80, 81, 85, 88, 92, 94, 96], "bodi": [1, 9, 12, 37, 40, 53, 64, 73, 82, 85, 88, 96], "request": [1, 7, 8, 37, 38, 48, 49, 51, 54, 55, 56, 57, 58, 66, 78, 97, 98], "when": [1, 5, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 20, 23, 30, 37, 38, 39, 40, 41, 43, 44, 48, 50, 52, 53, 54, 57, 60, 61, 64, 68, 69, 71, 73, 76, 77, 78, 80, 81, 82, 83, 85, 87, 88, 95, 96], "get": [1, 5, 7, 8, 9, 12, 17, 18, 20, 23, 26, 27, 28, 29, 33, 35, 37, 38, 40, 41, 42, 43, 48, 50, 52, 53, 54, 55, 60, 61, 66, 68, 71, 73, 76, 77, 78, 80, 81, 84, 85, 88, 90, 95, 96, 98], "made": [1, 12, 16, 17, 44, 71, 78, 85], "suggest": [1, 68], "special": [1, 14, 37, 38, 47, 48, 52, 54, 57, 73, 77, 78, 88], "append": [1, 8, 9, 40, 41, 54, 66], "end": [1, 14, 15, 27, 29, 31, 33, 37, 48, 52, 55, 57, 64, 70, 72, 73, 77, 86, 94], "probabl": [1, 5, 7, 50, 55, 60, 68, 72, 74, 81, 88, 95, 96], "seen": [1, 23, 29, 43, 94, 96], "while": [1, 5, 16, 17, 26, 32, 54, 60, 68, 78], "here": [1, 8, 12, 15, 17, 26, 27, 28, 30, 31, 38, 39, 40, 44, 48, 49, 52, 54, 55, 56, 57, 61, 64, 66, 70, 71, 77, 78, 81, 85, 88, 92], "com": [1, 5, 26, 28, 32, 40, 74, 92], "getdata": 1, "id": [1, 9, 21, 27, 29, 31, 33, 39, 40, 54, 60, 74, 76, 79, 82, 83, 87, 88, 98], "1234": [1, 60], "date": [1, 8, 28, 38, 78, 80, 89, 96, 98], "apikei": 1, "1234567": 1, "abov": [1, 12, 13, 14, 15, 16, 17, 18, 27, 37, 38, 47, 50, 52, 57, 61, 64, 66, 70, 71, 73, 74, 78, 80, 81, 85, 96], "everyth": [1, 12, 20, 26, 38, 48, 73, 77, 88, 96], "after": [1, 7, 9, 16, 17, 18, 31, 40, 42, 43, 48, 50, 51, 54, 61, 80, 81, 85, 94, 95, 96], "compos": [1, 30], "valu": [1, 2, 5, 8, 9, 15, 16, 17, 18, 20, 26, 27, 30, 31, 32, 38, 39, 40, 41, 48, 49, 52, 53, 54, 55, 57, 61, 64, 66, 70, 76, 77, 78, 80, 81, 83, 86, 88, 96], "pair": [1, 8, 9], "separ": [1, 9, 12, 15, 16, 18, 26, 31, 37, 39, 48, 50, 64, 71], "charact": [1, 14, 20, 26, 32, 54, 57, 72], "follow": [1, 7, 8, 9, 12, 13, 14, 16, 17, 20, 23, 27, 28, 30, 37, 38, 39, 42, 43, 44, 47, 48, 50, 53, 54, 55, 56, 57, 60, 64, 66, 70, 71, 73, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 87, 88, 90, 95, 96], "notic": [1, 12, 15, 16, 17, 31, 37, 38, 40, 47, 50, 52, 64, 66, 71, 73, 74, 78, 80, 81, 88, 96], "syntax": [1, 21, 30, 37, 50, 57, 73, 82, 98], "veri": [1, 14, 16, 17, 18, 23, 26, 27, 28, 30, 32, 37, 38, 43, 48, 50, 57, 60, 61, 64, 66, 70, 73, 78, 80, 81, 85, 86, 88, 94, 95, 96], "regular": [1, 66, 73, 95], "easi": [1, 5, 12, 16, 23, 30, 32, 38, 42, 48, 52, 53, 64, 68, 71, 74, 78], "take": [1, 5, 12, 15, 16, 17, 23, 27, 30, 37, 38, 44, 48, 55, 60, 61, 63, 64, 66, 68, 72, 77, 78, 81, 85, 88, 90, 96], "split": [1, 8, 9, 76], "earli": [1, 8, 37, 48, 51, 70], "dai": [1, 5, 16, 17, 23, 28, 37, 68, 70, 77, 78, 85], "wa": [1, 7, 12, 16, 18, 27, 33, 37, 38, 41, 43, 52, 57, 60, 61, 64, 68, 70, 78, 80, 86, 94, 95], "provid": [1, 5, 8, 9, 15, 16, 17, 23, 26, 32, 37, 39, 41, 47, 48, 50, 52, 53, 55, 56, 57, 66, 70, 71, 73, 74, 78, 83], "applic": [1, 5, 7, 8, 9, 38, 39, 40, 42, 44, 48, 52, 53, 54, 55, 56, 57, 58, 60, 61, 65, 68, 76, 77, 80, 83, 98], "form": [1, 7, 9, 27, 37, 40, 41, 47, 52, 53, 55, 58, 66, 73, 98], "environ": [1, 8, 9, 26, 50, 52, 61, 64, 66], "variabl": [1, 8, 9, 26, 48, 50, 56, 57, 58, 61, 64, 66, 78, 80, 88, 98], "had": [1, 37, 38, 40, 61, 64, 68, 88, 94], "modern": [1, 14, 15, 23, 44, 45, 54, 58, 95, 98], "framework": [1, 48, 61, 63, 66, 92, 98], "automat": [1, 12, 15, 26, 37, 41, 48, 50, 53, 54, 56, 57, 61, 76, 80, 81], "process": [1, 10, 17, 37, 38, 43, 58, 78, 86, 98], "dictionari": [1, 38, 52, 53, 57, 61, 64, 66], "write": [1, 7, 14, 17, 18, 26, 27, 32, 37, 38, 42, 48, 53, 61, 64, 66, 69, 78, 81, 82, 85, 98], "python": [1, 7, 9, 30, 35, 37, 38, 48, 50, 52, 54, 55, 56, 57, 60, 64, 65, 66, 68, 98], "given": [1, 11, 13, 27, 40, 54, 57, 66, 76, 82, 87, 88, 94, 96], "like": [1, 5, 7, 8, 13, 15, 16, 17, 18, 20, 23, 26, 27, 30, 31, 32, 37, 38, 39, 40, 44, 48, 50, 52, 53, 54, 56, 57, 60, 61, 64, 66, 68, 69, 70, 71, 73, 76, 77, 78, 79, 80, 83, 85, 88, 95, 96], "return": [1, 2, 7, 8, 9, 18, 33, 38, 41, 50, 51, 52, 53, 54, 55, 56, 57, 61, 64, 66, 78, 81, 88, 94, 96], "contain": [1, 9, 11, 12, 14, 15, 16, 17, 30, 37, 38, 40, 48, 56, 61, 64, 66, 70, 71, 73, 76, 81, 82, 85, 88, 96], "correct": [1, 13, 18, 38, 49, 53, 61, 66, 72, 80, 82], "want": [1, 7, 9, 12, 15, 16, 17, 18, 20, 23, 27, 28, 29, 30, 31, 33, 37, 38, 39, 40, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 64, 66, 68, 71, 73, 77, 78, 80, 81, 84, 85, 86, 88, 95, 96], "complic": [1, 7, 8, 37, 40, 48, 60, 64, 79, 85], "than": [1, 7, 9, 11, 15, 17, 20, 29, 37, 39, 50, 52, 53, 54, 60, 61, 64, 68, 70, 71, 73, 74, 77, 81, 85, 88, 96], "case": [1, 12, 16, 18, 31, 41, 43, 50, 52, 53, 56, 57, 60, 61, 66, 69, 70, 71, 73, 76, 78, 80, 81, 85, 88, 96], "sinc": [1, 7, 16, 27, 31, 37, 40, 52, 57, 64, 81, 94], "need": [1, 5, 7, 8, 9, 12, 13, 16, 17, 18, 20, 23, 27, 28, 30, 31, 37, 38, 41, 48, 50, 53, 54, 56, 57, 60, 64, 66, 68, 70, 74, 76, 77, 78, 80, 81, 85, 87, 88, 92, 94], "adher": 1, "ani": [1, 8, 12, 16, 17, 18, 20, 27, 30, 32, 40, 42, 43, 47, 48, 50, 53, 54, 60, 61, 66, 68, 69, 71, 77, 78, 80, 85, 88], "larg": [1, 16, 17, 23, 31, 94, 96], "complex": [1, 16, 17, 53, 66, 85, 92, 96], "objec": 1, "turn": [1, 33, 48, 64, 66, 77, 78, 82, 84, 85, 87, 95], "befor": [1, 7, 12, 15, 17, 18, 20, 28, 30, 38, 50, 52, 57, 61, 66, 73, 74, 77, 78, 80, 81, 82, 85, 88, 96], "sent": [1, 8, 37, 38], "serial": [1, 42, 45, 53, 55, 98], "main": [1, 8, 12, 14, 17, 38, 39, 64, 66, 70, 74, 78, 88, 95, 96], "format": [1, 7, 9, 37, 38, 53, 57, 64, 66, 70, 75, 94, 95, 96, 98], "xml": [1, 56, 57], "highli": [1, 37, 40, 44], "conveni": [1, 16, 26, 50, 64], "much": [1, 17, 44, 60, 64, 66, 68, 70, 71, 78, 80, 81], "wide": [1, 19, 70, 95, 98], "todai": [1, 19, 30, 37, 71, 94, 95], "so": [1, 5, 7, 8, 9, 11, 12, 15, 16, 17, 18, 19, 23, 26, 27, 30, 31, 32, 33, 37, 38, 39, 41, 42, 43, 44, 48, 49, 50, 52, 56, 57, 60, 61, 64, 66, 68, 71, 73, 76, 77, 78, 80, 81, 82, 85, 87, 88, 94, 96], "focu": [1, 17, 86, 95], "most": [1, 7, 16, 17, 18, 23, 26, 27, 30, 31, 32, 38, 48, 49, 50, 52, 60, 66, 70, 73, 76, 78, 80, 83, 94, 96], "know": [1, 5, 7, 8, 9, 12, 17, 18, 26, 28, 30, 32, 37, 38, 39, 41, 43, 48, 50, 52, 55, 56, 60, 64, 71, 73, 77, 78, 80, 85, 88, 90, 96], "primari": [1, 38, 39, 40, 85], "method": [1, 2, 9, 11, 16, 26, 38, 39, 40, 41, 42, 50, 52, 55, 56, 58, 61, 64, 66, 78, 80, 81, 89, 98], "stringifi": [1, 38, 42], "pars": [1, 38, 42], "some": [1, 5, 7, 8, 11, 12, 14, 16, 17, 18, 23, 26, 27, 30, 31, 32, 33, 37, 38, 40, 42, 43, 44, 48, 49, 52, 55, 60, 61, 64, 66, 69, 70, 71, 73, 74, 77, 78, 81, 85, 88, 92, 95, 96], "import": [1, 5, 7, 9, 17, 18, 26, 28, 31, 32, 38, 51, 52, 53, 54, 55, 56, 57, 58, 60, 64, 66, 68, 73, 80, 81, 83, 85, 86, 88, 94, 95, 96], "limit": [1, 7, 30, 31, 33, 38, 43, 47, 57, 64, 72, 73], "cannot": [1, 18, 38, 51, 78], "convert": [1, 38, 52, 53, 54, 56, 57, 76], "them": [1, 9, 12, 14, 15, 16, 17, 26, 27, 28, 30, 32, 33, 37, 38, 40, 43, 52, 54, 55, 57, 61, 64, 66, 68, 70, 71, 72, 74, 78, 84, 85], "back": [1, 7, 8, 9, 27, 37, 38, 40, 43, 44, 48, 54, 60, 66, 69, 71, 78, 80, 81, 88, 92, 96], "again": [1, 8, 17, 38, 73, 77, 78, 85, 96], "xmlhttprequest": 1, "fetch": [1, 78], "To": [2, 9, 16, 18, 23, 27, 30, 31, 33, 48, 50, 51, 52, 54, 55, 56, 57, 60, 64, 66, 71, 73, 77, 78, 81, 104], "try": [2, 7, 12, 14, 15, 16, 17, 18, 23, 30, 38, 54, 57, 66, 68, 69, 70, 71, 73, 78, 81, 85, 88], "x": [2, 7, 17, 38, 40, 53, 57, 61], "creat": [2, 7, 14, 16, 17, 20, 27, 37, 38, 39, 40, 41, 43, 44, 48, 50, 52, 53, 54, 60, 61, 64, 66, 69, 70, 71, 72, 74, 76, 77, 79, 81, 82, 85, 89, 98], "null": 2, "bar": [2, 12, 17, 61, 66, 74, 81, 96], "1": [2, 5, 8, 9, 13, 15, 17, 20, 23, 28, 31, 33, 40, 42, 44, 48, 50, 56, 57, 61, 64, 66, 68, 70, 71, 72, 74, 76, 77, 80, 82, 84, 85, 86, 87, 88, 94, 96, 98], "foo": [2, 61, 64, 66], "consol": 2, "log": [2, 50, 55, 58, 98], "y": [2, 17, 61], "2": [2, 13, 14, 15, 17, 20, 23, 28, 29, 40, 48, 56, 60, 61, 64, 68, 69, 72, 73, 80, 82, 86, 87, 88, 94, 96, 98], "z": [2, 17, 38, 61], "z1": 2, "myclass": [2, 61, 85], "22": [2, 5, 26, 32], "z2": 2, "new": [2, 9, 12, 17, 18, 28, 30, 37, 38, 39, 40, 41, 42, 43, 44, 48, 49, 52, 57, 60, 61, 64, 68, 69, 71, 72, 74, 76, 77, 78, 80, 81, 82, 85, 88, 94], "var": [2, 39, 40, 41, 52], "priv": 2, "pub": 2, "undefin": 2, "default": [2, 7, 8, 12, 16, 17, 33, 38, 40, 50, 51, 53, 54, 55, 57, 64, 81], "someth": [2, 12, 16, 37, 39, 43, 44, 48, 49, 50, 52, 53, 56, 60, 68, 69, 73, 78, 80, 85, 86, 88, 95], "innerfunc": 2, "publicfunct": 2, "outerfunct": 2, "10": [2, 20, 27, 28, 30, 31, 37, 40, 44, 48, 57, 64, 72, 78, 82, 86], "20": [2, 72, 94], "30": [2, 82, 87], "99": [2, 13], "person": [2, 16, 94], "class": [2, 12, 14, 17, 19, 21, 23, 38, 39, 40, 41, 42, 43, 50, 56, 60, 61, 64, 66, 68, 69, 72, 73, 74, 80, 85, 90, 98], "thei": [2, 8, 11, 12, 17, 18, 23, 27, 28, 38, 43, 48, 51, 54, 55, 57, 60, 61, 64, 66, 71, 73, 74, 77, 81, 85, 88, 92, 96], "should": [2, 7, 8, 11, 13, 14, 15, 16, 17, 18, 28, 30, 38, 39, 44, 48, 49, 50, 51, 54, 55, 60, 66, 68, 69, 76, 78, 82, 85, 87, 88, 92], "privat": [2, 61], "ivar": 2, "ssn": 2, "weight": 2, "public": [2, 31, 50, 94], "ag": 2, "gainweight": 2, "getssn": 2, "getweight": 2, "birthdai": 2, "one": [2, 5, 7, 8, 12, 15, 16, 17, 18, 19, 20, 23, 26, 30, 31, 32, 37, 38, 39, 40, 43, 48, 52, 54, 55, 60, 61, 64, 66, 68, 70, 71, 73, 76, 77, 78, 79, 80, 81, 85, 88, 95, 96], "also": [2, 8, 12, 13, 17, 26, 29, 30, 31, 32, 38, 40, 48, 50, 52, 54, 55, 56, 57, 60, 61, 64, 66, 69, 70, 71, 73, 74, 76, 78, 80, 81, 85, 87, 88, 94, 96], "prototyp": [3, 38, 39, 45, 92, 98, 103], "object": [3, 26, 30, 35, 39, 40, 42, 45, 48, 50, 53, 55, 56, 57, 58, 60, 61, 64, 66, 77, 78, 80, 81, 85, 89, 98], "creation": [3, 39, 43, 48, 98], "exercis": [3, 7, 10, 13, 17, 21, 24, 35, 38, 42, 45, 58, 65, 75, 89, 97, 98, 103], "interact": [3, 7, 30, 37, 39, 44, 50, 52, 85, 89, 98], "other": [3, 5, 7, 9, 11, 14, 17, 18, 19, 23, 26, 27, 30, 32, 33, 37, 41, 42, 43, 47, 50, 52, 53, 60, 61, 64, 68, 70, 71, 74, 78, 80, 81, 82, 85, 87, 88, 92, 94, 95, 96, 98], "servic": [3, 5, 23, 47, 78, 81, 94, 96, 98], "queri": [3, 9, 26, 27, 32, 33, 35, 54, 60, 98], "string": [3, 9, 26, 31, 37, 38, 48, 50, 52, 53, 54, 56, 57, 61, 64, 66, 76, 89, 98], "paramet": [3, 26, 38, 50, 52, 53, 54, 57, 61, 66, 77, 78, 80, 88, 98], "notat": [3, 26, 45, 60, 61, 64, 98], "json": [3, 26, 42, 45, 57, 58, 78, 98], "each": [5, 9, 11, 13, 15, 17, 18, 20, 27, 30, 31, 38, 39, 40, 44, 50, 51, 52, 54, 56, 60, 61, 66, 68, 69, 70, 71, 78, 80, 81, 82, 84, 86, 94, 95, 96], "run": [5, 7, 13, 17, 30, 31, 37, 38, 48, 50, 57, 64, 66, 73, 78, 80, 96], "comput": [5, 16, 20, 27, 30, 37, 50, 60, 61, 73, 77, 85, 94, 95, 96], "commun": [5, 53, 60, 66, 68, 94, 95, 96], "cours": [5, 8, 26, 33, 60, 68, 74, 78, 88, 95], "happen": [5, 7, 17, 18, 41, 43, 49, 52, 57, 61, 71, 78, 81, 85, 88, 95], "time": [5, 8, 12, 13, 23, 26, 30, 31, 32, 37, 38, 40, 43, 44, 49, 60, 61, 66, 68, 71, 72, 74, 76, 78, 80, 81, 82, 83, 85, 86, 87, 94], "your": [5, 7, 8, 9, 11, 13, 15, 18, 19, 21, 23, 26, 27, 30, 31, 32, 37, 38, 42, 43, 44, 48, 50, 52, 53, 54, 55, 56, 57, 60, 61, 64, 66, 68, 69, 70, 71, 72, 73, 74, 77, 78, 80, 81, 82, 83, 85, 87, 88, 90, 92, 94, 95, 96, 98, 103], "show": [5, 11, 13, 17, 30, 31, 39, 40, 43, 51, 52, 54, 57, 64, 66, 78, 80], "order": [5, 13, 17, 18, 26, 27, 31, 32, 33, 37, 38, 41, 55, 61, 66, 74, 75, 76, 78, 80, 85, 98], "html": [5, 7, 8, 9, 11, 12, 13, 16, 17, 18, 19, 21, 23, 26, 37, 39, 40, 43, 48, 50, 51, 52, 53, 56, 57, 64, 66, 68, 69, 73, 76, 77, 80, 81, 82, 85, 87, 88, 89, 92, 94, 95, 96, 98], "css": [5, 12, 13, 15, 18, 20, 21, 40, 54, 64, 68, 70, 73, 74, 85, 88, 92, 95, 98], "imag": [5, 11, 12, 14, 17, 19, 20, 30, 53, 69, 72, 73, 75, 76, 79, 96, 98], "javascript": [5, 7, 9, 26, 37, 39, 40, 41, 42, 43, 44, 45, 54, 57, 64, 68, 73, 77, 78, 80, 88, 92, 95, 98], "up": [5, 9, 15, 16, 17, 23, 28, 30, 31, 38, 40, 41, 44, 48, 50, 55, 56, 57, 61, 64, 66, 73, 77, 78, 79, 80, 81, 83, 85], "detail": [5, 14, 23, 26, 51, 52, 64, 66, 68, 74, 85, 95], "simpl": [5, 9, 12, 15, 16, 17, 23, 26, 30, 32, 40, 43, 44, 48, 50, 52, 55, 56, 60, 61, 64, 66, 73, 75, 76, 77, 78, 79, 80, 85, 86, 95, 98, 101], "entir": [5, 17, 39, 88, 96], "semest": [5, 60, 68], "go": [5, 9, 12, 15, 17, 18, 23, 27, 30, 38, 39, 40, 42, 44, 48, 50, 54, 61, 64, 68, 69, 70, 71, 77, 78, 79, 80, 81, 82, 85, 88, 95, 96], "tackl": [5, 39, 94], "just": [5, 7, 8, 12, 15, 16, 18, 26, 27, 30, 31, 32, 37, 38, 40, 43, 44, 50, 52, 53, 54, 60, 61, 64, 66, 68, 71, 73, 78, 80, 81, 85, 86, 88, 95, 96], "top": [5, 11, 12, 14, 15, 17, 19, 27, 33, 40, 52, 55, 69, 73, 78], "layer": [5, 60, 61, 66, 71], "problem": [5, 12, 15, 16, 17, 39, 48, 52, 57, 60, 68, 78, 81, 94], "look": [5, 7, 8, 9, 12, 14, 15, 16, 17, 18, 20, 27, 29, 31, 33, 37, 38, 39, 40, 42, 44, 48, 50, 52, 53, 55, 56, 57, 60, 61, 63, 64, 66, 68, 69, 70, 71, 73, 74, 76, 78, 79, 81, 83, 85, 86, 88, 92, 95, 96], "stack": [5, 17, 45, 50, 98], "between": [5, 9, 12, 16, 17, 18, 20, 27, 31, 38, 48, 60, 69, 70, 71, 77, 81, 88], "host": [5, 8, 30, 50, 66, 81, 92, 96], "A": [5, 8, 13, 17, 30, 38, 40, 45, 47, 48, 49, 52, 53, 55, 57, 58, 60, 61, 64, 66, 68, 70, 73, 94, 95, 96, 98, 103], "uniqu": [5, 18, 31, 58, 60, 94, 96, 98], "identifi": [5, 18, 31, 39, 60, 80, 88, 94, 96], "four": [5, 15, 21, 66, 69, 76, 98], "ip": [5, 50, 96], "address": [5, 60, 94, 96], "port": [5, 66], "destin": 5, "definit": [5, 37, 42, 61, 68, 78, 85], "first": [5, 7, 11, 12, 15, 16, 17, 18, 20, 23, 26, 27, 30, 31, 32, 33, 38, 39, 43, 44, 45, 48, 50, 52, 54, 60, 61, 64, 66, 69, 70, 71, 75, 78, 81, 82, 84, 85, 88, 94, 95, 96, 98], "mean": [5, 7, 8, 27, 31, 38, 45, 51, 52, 55, 57, 60, 61, 66, 68, 73, 82, 85, 98], "alreadi": [5, 23, 28, 30, 43, 48, 60, 66], "internet": [5, 30, 38, 68, 71, 94, 95, 96], "nice": [5, 12, 14, 17, 18, 38, 39, 41, 50, 61, 66, 78, 81, 95], "memor": [5, 68], "www": [5, 7, 8, 40, 52], "knuth": 5, "luther": [5, 8, 64, 71, 84, 96], "edu": [5, 8, 96], "translat": [5, 30, 51, 73, 96], "numer": [5, 69, 70, 96], "192": 5, "203": 5, "196": 5, "71": 5, "onli": [5, 7, 8, 12, 14, 18, 19, 23, 26, 29, 30, 31, 32, 33, 38, 39, 41, 43, 44, 48, 50, 54, 55, 57, 60, 61, 66, 68, 74, 77, 78, 80, 85, 88, 92, 94, 95, 96], "machin": [5, 28, 50, 96], "howev": [5, 8, 17, 27, 38, 43, 47, 52, 57, 60, 64, 81, 88, 94, 95, 96], "multipl": [5, 14, 16, 21, 27, 29, 30, 31, 43, 50, 54, 70, 82, 98], "necessari": [5, 57, 66, 85], "machineri": 5, "work": [5, 7, 9, 11, 12, 14, 15, 16, 17, 18, 20, 23, 26, 27, 28, 30, 32, 37, 39, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 64, 66, 68, 69, 77, 78, 79, 81, 84, 85, 88, 92, 94, 96], "messag": [5, 7, 38, 50, 58, 66, 70, 71, 78, 80, 85, 87, 95, 96, 98], "number": [5, 7, 9, 13, 15, 20, 27, 29, 33, 38, 44, 48, 54, 60, 61, 64, 69, 70, 72, 73, 76, 77, 78, 84, 86, 95], "becaus": [5, 12, 16, 17, 18, 20, 31, 38, 50, 51, 52, 56, 57, 60, 61, 68, 70, 71, 74, 78, 80, 81, 84, 88], "mai": [5, 8, 9, 17, 18, 19, 27, 37, 40, 47, 48, 49, 53, 60, 61, 66, 68, 71, 73, 78, 81, 82, 85, 87, 88, 94, 96], "correspond": [5, 9, 27, 31, 54, 96], "80": [5, 37], "mail": [5, 96], "25": [5, 7, 94], "ssh": 5, "which": [5, 9, 12, 13, 17, 18, 20, 27, 28, 29, 31, 33, 40, 41, 43, 44, 48, 50, 51, 52, 53, 54, 55, 56, 61, 66, 68, 72, 73, 77, 78, 82, 83, 85, 87, 89, 94, 95, 96, 98], "connect": [5, 38, 39, 77, 80, 94, 96], "On": [5, 33, 37, 50, 88, 96], "laptop": 5, "situat": [5, 18, 43, 49, 52], "similar": [5, 14, 38, 50, 54, 60, 66, 69, 73, 78, 81], "differnt": [5, 66], "tab": [5, 38], "client": [5, 37, 42, 49, 52, 55], "chat": 5, "etc": [5, 16, 27, 38, 68, 94, 95], "dynam": [7, 37, 40, 44, 54, 76, 77, 80, 94, 98], "gener": [7, 17, 26, 37, 44, 48, 54, 56, 57, 61, 66, 71, 73, 77, 78, 81, 83], "fly": [7, 37, 40, 57, 89, 98], "idea": [7, 12, 17, 27, 31, 37, 39, 43, 57, 60, 61, 66, 68, 78, 85, 95, 96], "don": [7, 9, 12, 19, 23, 27, 30, 31, 37, 38, 40, 52, 60, 61, 71, 73, 78, 81, 85, 88, 90, 92], "t": [7, 9, 12, 19, 23, 26, 27, 30, 31, 32, 37, 38, 40, 49, 52, 60, 61, 64, 68, 71, 73, 78, 81, 85, 88, 90, 92, 95], "our": [7, 8, 9, 12, 14, 15, 16, 17, 18, 23, 26, 27, 31, 32, 38, 39, 40, 42, 43, 44, 45, 48, 50, 60, 61, 64, 66, 71, 73, 74, 77, 78, 79, 80, 81, 84, 85, 86, 88, 94, 96, 98, 103], "content": [7, 8, 9, 12, 16, 17, 37, 50, 55, 64, 66, 73, 80, 88, 95, 96, 98], "static": [7, 12, 17, 37, 50, 58, 64, 96, 98], "file": [7, 10, 11, 16, 18, 37, 38, 40, 41, 48, 50, 58, 64, 70, 78, 82, 85, 96, 98], "It": [7, 17, 20, 23, 29, 30, 31, 38, 48, 50, 52, 53, 54, 56, 57, 61, 64, 66, 77, 78, 80, 81, 94, 95, 96], "all": [7, 9, 11, 12, 13, 14, 15, 16, 17, 18, 23, 26, 27, 28, 29, 30, 31, 32, 37, 39, 40, 41, 48, 50, 51, 52, 55, 56, 57, 61, 64, 66, 68, 69, 71, 72, 73, 74, 78, 79, 80, 83, 84, 85, 88, 94, 95, 96], "doe": [7, 8, 16, 17, 18, 20, 27, 39, 40, 43, 52, 54, 55, 57, 58, 60, 61, 64, 66, 68, 70, 71, 72, 73, 76, 77, 78, 80, 85, 88, 92, 95, 96, 98], "come": [7, 8, 16, 17, 18, 20, 34, 37, 44, 48, 49, 52, 54, 57, 61, 64, 66, 78, 81, 96, 100, 102, 103, 104], "could": [7, 16, 18, 27, 29, 30, 31, 37, 42, 55, 57, 60, 61, 64, 77, 78, 80, 81, 85, 88], "well": [7, 8, 17, 19, 23, 27, 30, 33, 38, 39, 40, 42, 44, 48, 51, 54, 56, 57, 66, 70, 71, 77, 96], "bunch": [7, 17, 40, 85], "print": [7, 9, 26, 32, 37, 48, 54, 55, 61, 64, 78], "statement": [7, 9, 30, 37, 48, 52, 60, 61, 66, 76, 77, 81, 82, 86, 88], "fact": [7, 17, 18, 23, 44, 60, 68, 71, 73, 76, 78, 81, 85, 88, 96], "start": [7, 9, 12, 14, 15, 16, 17, 19, 23, 27, 29, 31, 33, 35, 37, 38, 40, 44, 52, 53, 58, 60, 61, 66, 69, 70, 72, 73, 76, 79, 80, 81, 85, 86, 94, 95, 96, 98], "point": [7, 11, 14, 16, 17, 26, 39, 40, 43, 48, 52, 54, 60, 61, 66, 69, 71, 78, 96], "develop": [7, 11, 12, 16, 45, 50, 54, 58, 66, 68, 80, 94, 98], "mid": 7, "1990": [7, 94], "": [7, 8, 9, 11, 12, 15, 16, 17, 18, 19, 26, 27, 28, 29, 30, 31, 32, 37, 39, 40, 41, 42, 43, 44, 48, 49, 50, 52, 53, 54, 55, 56, 57, 60, 61, 64, 66, 70, 73, 74, 77, 78, 79, 80, 81, 82, 85, 88, 92, 94, 96], "been": [7, 8, 12, 15, 28, 37, 40, 61, 64, 68, 85, 95], "improv": [7, 12, 26, 44, 66, 68, 94], "upon": [7, 50, 85], "let": [7, 8, 9, 12, 15, 16, 17, 18, 20, 26, 27, 29, 30, 32, 39, 40, 41, 42, 43, 44, 60, 61, 64, 66, 73, 74, 78, 79, 80, 81, 85, 86, 88, 96], "hello": [7, 8, 9, 17, 37, 48, 50, 52, 54, 56, 61, 64, 66, 68, 76, 80, 82, 87, 96], "world": [7, 8, 9, 17, 23, 30, 37, 48, 50, 54, 56, 60, 61, 64, 66, 68, 82, 85, 87, 95, 96, 98], "style": [7, 11, 12, 13, 15, 16, 17, 18, 40, 44, 54, 64, 71, 85, 88, 95, 98], "pretti": [7, 12, 17, 37, 55, 56, 71, 73, 74, 86], "self": [7, 42, 66, 80, 96], "explanatori": [7, 96], "might": [7, 16, 18, 30, 31, 49, 50, 52, 61, 66, 68, 71, 88, 96], "find": [7, 17, 26, 30, 31, 55, 60, 66, 68, 69, 70, 73, 85, 88, 92, 96], "next": [7, 8, 9, 12, 17, 39, 40, 42, 43, 44, 50, 54, 55, 56, 61, 71, 78, 85, 96], "question": [7, 11, 12, 13, 19, 29, 31, 39, 60, 61, 68, 77, 80, 85, 87, 88, 89, 90, 95, 96, 98], "ask": [7, 8, 27, 60, 68, 77, 78, 85, 88], "code": [7, 9, 11, 12, 16, 26, 30, 38, 39, 40, 42, 44, 45, 47, 49, 50, 51, 52, 53, 54, 57, 61, 64, 66, 76, 78, 80, 82, 85, 87, 96, 98], "serv": [7, 18, 37, 54, 61, 74, 88, 94], "my": [7, 64, 68, 75, 78, 80, 85, 98], "thing": [7, 8, 12, 16, 17, 18, 23, 27, 30, 38, 39, 40, 42, 43, 48, 50, 57, 60, 61, 64, 66, 68, 71, 73, 77, 78, 80, 84, 85, 86, 87, 88, 95], "folder": [7, 48, 54, 56, 96], "second": [7, 15, 17, 18, 20, 30, 31, 33, 39, 43, 45, 55, 68, 69, 81, 84, 85, 88, 98], "cgi": [7, 8, 9, 45, 48, 66, 98], "bin": [7, 9, 37, 48], "place": [7, 12, 16, 23, 37, 39, 40, 54, 70, 71, 78, 85, 94, 96], "py": [7, 9, 50, 56], "command": [7, 27, 30, 33, 48, 50, 55, 96], "line": [7, 11, 15, 17, 18, 30, 40, 50, 61, 64, 66, 69, 71, 72, 73, 80, 81, 85, 96], "sure": [7, 42, 50, 52, 57, 77, 82], "python3": [7, 48], "m": [7, 17, 23, 26, 32, 37, 48, 50, 68, 85, 92], "8000": [7, 66], "Then": [7, 16, 17, 41, 43, 64, 69, 78], "open": [7, 8, 26, 30, 31, 37, 66, 68, 71, 72, 73, 94, 98], "localhost": [7, 66], "see": [7, 8, 9, 11, 12, 17, 18, 20, 26, 31, 33, 37, 38, 39, 41, 43, 48, 50, 51, 52, 54, 57, 60, 61, 66, 68, 71, 73, 74, 78, 81, 85, 94, 95], "instead": [7, 17, 31, 50, 52, 54, 55, 66, 78], "execut": [7, 50, 52, 61], "direct": [7, 14, 17, 18, 37, 47, 66], "output": [7, 27, 37, 38, 50, 57, 66, 73, 78], "cool": [7, 61], "right": [7, 9, 11, 12, 15, 17, 39, 40, 61, 66, 69, 70, 77, 78, 80, 81, 85, 88], "long": [7, 8, 33, 48, 66, 68, 82, 85, 87], "compris": [7, 30], "constitut": 7, "complet": [7, 16, 17, 18, 20, 52, 70, 72, 78, 82, 87], "note": [7, 9, 15, 30, 38, 40, 51, 52, 55, 57, 73, 76, 80, 82, 87, 96], "If": [7, 9, 16, 17, 18, 26, 27, 31, 32, 38, 40, 44, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 66, 68, 70, 73, 77, 78, 88, 95, 96], "error": [7, 18, 27, 31, 49, 50, 52, 53, 54, 55, 58, 66, 71, 78, 96, 98], "either": [7, 17, 20, 27, 28, 31, 38, 50, 57, 64, 66, 83], "403": 7, "script": [7, 9, 37, 39, 40, 50, 57, 66, 78, 82, 85, 87], "explan": 7, "forbidden": 7, "author": [7, 48, 68], "help": [7, 17, 23, 30, 48, 50, 54, 57, 60, 73, 90, 96], "move": [7, 12, 17, 18, 28, 37, 69, 73, 81, 88, 95, 96], "directori": [7, 48, 64], "type": [7, 8, 9, 16, 27, 29, 30, 31, 33, 37, 38, 40, 41, 44, 50, 53, 54, 55, 57, 66, 70, 76, 77, 81, 83, 87, 96], "unix": 7, "system": [7, 15, 20, 27, 30, 31, 37, 38, 50, 52, 54, 55, 57, 60], "chmod": 7, "Or": [7, 12, 18, 26, 32, 53, 66], "anoth": [7, 15, 16, 17, 18, 37, 40, 48, 50, 51, 52, 60, 61, 66, 70, 71, 73, 77, 78, 80, 81, 82, 88, 95, 96], "oserror": 7, "errno": 7, "8": [7, 14, 20, 29, 40, 72, 82, 92], "exec": 7, "version": [7, 11, 13, 14, 28, 30, 49, 56, 57, 58, 61, 66, 92, 96], "requir": [7, 14, 30, 31, 42, 44, 57, 60, 64, 68, 69, 73, 83, 96, 98], "updat": [7, 31, 39, 41, 42, 76, 77, 78, 81], "usr": [7, 9], "3": [7, 13, 15, 16, 17, 20, 26, 28, 29, 32, 40, 45, 48, 49, 61, 64, 66, 72, 76, 82, 86, 87, 94, 98], "calcul": [7, 76, 78], "fibonacci": [7, 78], "tabl": [7, 11, 18, 26, 29, 30, 31, 39, 40, 43, 44, 48, 60, 64, 69, 72, 73, 75, 76, 78, 80, 82, 86, 94, 98], "stateless": 8, "anyth": [8, 17, 30, 37, 38, 61, 78, 96], "state": [8, 66], "webpag": [8, 11, 17, 23, 37, 64, 69, 70, 88], "good": [8, 9, 12, 14, 17, 37, 38, 39, 40, 41, 47, 48, 50, 60, 61, 68, 77, 81, 85, 88], "perspect": [8, 28, 60, 66, 73], "scale": [8, 12, 14, 17], "challeng": [8, 17, 19, 68], "everi": [8, 11, 16, 18, 37, 48, 66, 70, 76, 77, 85], "answer": [8, 13, 31, 38, 39, 52, 54, 68, 72, 77, 80, 85, 90, 95], "were": [8, 16, 18, 27, 31, 37, 38, 43, 52, 61, 68, 71, 74, 85, 94, 95], "magic": [8, 30, 64, 81], "late": [8, 94], "shorten": [8, 78, 95], "small": [8, 12, 17, 69, 73, 88], "chunk": [8, 81], "maximum": [8, 27], "4096": 8, "byte": [8, 20, 55], "store": [8, 9, 11, 26, 30, 31, 32, 38, 39, 40, 41, 44, 45, 48, 52, 54, 55, 56, 61, 78, 81, 98, 103], "behalf": 8, "along": [8, 9, 14, 60, 61, 64, 66], "transfer": [8, 94, 95, 96], "forth": [8, 15, 48], "header": [8, 9, 11, 18, 40, 53, 56, 64, 66, 69, 71, 73, 74, 78, 96], "respons": [8, 9, 37, 41, 50, 52, 55, 58, 66, 78, 80, 94, 97, 98], "set": [8, 9, 12, 16, 17, 18, 28, 30, 40, 41, 44, 48, 50, 52, 55, 61, 64, 66, 73, 77, 80, 81, 83, 85, 88, 94, 96], "give": [8, 9, 12, 17, 18, 19, 20, 27, 37, 39, 40, 43, 50, 55, 57, 64, 69, 74, 78, 80, 81, 88, 95, 96], "0": [8, 9, 12, 16, 17, 20, 26, 28, 32, 48, 49, 50, 56, 57, 61, 66, 77, 83, 84, 86, 94, 96, 98], "200": [8, 13, 51, 53, 66, 69, 96], "ok": [8, 15, 17, 37, 44, 53, 60, 61, 66, 81, 96], "expir": [8, 38], "wed": 8, "09": 8, "jun": 8, "2021": 8, "07": 8, "21": [8, 96], "14": [8, 11, 20, 78], "gmt": 8, "path": [8, 37, 50, 52, 54, 64, 66], "besid": [8, 31, 55], "attribut": [8, 9, 16, 21, 52, 57, 60, 61, 64, 69, 70, 71, 74, 76, 80, 81, 83, 85, 89, 94, 98], "By": [8, 17, 18, 20, 35, 51, 54, 82, 94, 98], "quit": [8, 17, 19, 32, 48, 52, 61, 66, 78, 80], "restart": [8, 48, 50], "gone": 8, "futur": [8, 26, 44, 78, 94], "caus": [8, 9, 12, 17, 27, 41, 47, 49, 57, 61, 70, 81], "until": [8, 9, 28, 40, 52, 70, 72, 73, 78, 81, 86], "domain": [8, 64, 96], "defualt": 8, "issu": [8, 26, 68, 77, 81], "suppli": 8, "insid": [8, 9, 12, 16, 17, 18, 37, 53, 56, 57, 61, 64, 66, 70, 71, 78, 80, 82, 85, 86, 96], "restrict": 8, "begin": [8, 15, 17, 18, 31, 37, 38, 40, 60, 73, 95], "receiv": [8, 37, 54, 60, 66, 78], "interactivepython": [8, 13, 96], "name2": 8, "value2": 8, "accept": [8, 54, 61, 66, 70, 94, 96], "u": [8, 9, 12, 15, 17, 18, 23, 27, 33, 39, 40, 42, 56, 57, 60, 64, 66, 77, 78, 80, 83, 84, 85, 86, 88, 94, 96], "final": [8, 11, 12, 13, 19, 44, 48, 61, 66, 80, 81, 89, 96, 98], "modif": [8, 47], "user": [8, 10, 26, 27, 28, 32, 37, 38, 39, 41, 44, 49, 50, 51, 52, 53, 54, 55, 57, 61, 66, 76, 77, 78, 81, 82, 83, 96, 98], "avoid": [8, 54, 61], "logic": [8, 39, 53, 60, 68, 74], "bit": [8, 17, 20, 30, 38, 39, 40, 44, 60, 61, 64, 66, 68, 73, 77, 80, 81, 85, 95, 96], "yet": [8, 52, 60, 61, 73, 80], "check": [8, 9, 14, 26, 31, 55, 56, 66, 71, 77, 85], "http_cooki": 8, "helper": [8, 40, 48, 57, 89, 98], "chang": [8, 9, 11, 12, 15, 16, 18, 21, 30, 37, 41, 42, 50, 52, 54, 56, 57, 60, 61, 64, 71, 72, 73, 77, 80, 81, 82, 85, 86, 87, 88, 94, 95, 98], "o": [8, 9, 55], "q": [8, 9, 13, 38, 42, 66, 72, 82, 87], "firstnam": [8, 9, 64], "sendhead": [8, 9], "cvalu": 8, "c": [8, 13, 17, 20, 50, 55, 68, 87], "sendpag": [8, 9], "els": [8, 9, 12, 17, 48, 52, 54, 56, 64, 66, 70, 71, 77, 78, 96], "sendform": [8, 9], "No": [8, 9, 26, 32, 42], "chapter": [9, 11, 14, 28, 30, 40, 48, 60, 61, 63, 68, 73, 88, 95, 96], "tag": [9, 12, 14, 16, 17, 21, 37, 39, 40, 57, 68, 69, 72, 73, 75, 78, 80, 82, 85, 88, 89, 98], "enclos": [9, 12], "element": [9, 11, 12, 13, 14, 15, 17, 18, 21, 37, 39, 40, 43, 44, 56, 64, 69, 70, 71, 72, 73, 76, 81, 82, 84, 85, 86, 88, 89, 92, 98], "submit": [9, 37, 48, 52, 55, 66, 68], "button": [9, 13, 39, 40, 41, 43, 44, 57, 70, 72, 73, 76, 77, 78, 81, 82, 85, 87, 88, 89, 95, 98], "packag": [9, 32, 48, 50, 54, 56], "enter": [9, 76, 77, 85], "wrote": [9, 40, 94], "earlier": [9, 14, 15, 23, 71, 88], "where": [9, 15, 16, 17, 18, 20, 27, 28, 29, 31, 33, 37, 38, 44, 49, 50, 52, 54, 60, 61, 66, 70, 76, 80, 81, 88], "click": [9, 12, 13, 17, 39, 41, 44, 57, 69, 71, 72, 73, 78, 80, 81, 82, 83, 85, 88, 95], "yournam": 9, "rather": [9, 11, 17, 37, 39, 51, 61, 64, 68, 71, 73, 81, 85, 88], "although": [9, 17, 37, 42, 48, 64, 66, 73, 80, 85], "sound": [9, 48], "sever": [9, 16, 17, 23, 30, 37, 44, 55, 64, 68, 70, 71, 78, 85, 88, 96], "avenu": 9, "further": [9, 16, 17, 27, 66, 81, 85], "explor": [9, 17, 35, 64, 78, 81, 85, 98], "relationship": [9, 17, 60, 88], "basic": [9, 12, 30, 35, 37, 43, 52, 55, 56, 86, 98], "action": [9, 26, 43, 50, 77, 78], "hello2": 9, "label": [9, 40, 76], "mynam": [9, 96], "nada": 9, "tell": [9, 12, 16, 17, 18, 20, 27, 50, 51, 54, 69, 74, 77, 78, 85, 88, 96], "option": [9, 17, 26, 32, 40, 41, 50, 54, 57, 83], "post": [9, 30, 43, 52, 54, 55, 96], "render": [9, 17, 40, 50, 57, 58, 64, 66, 71, 95, 98], "purpos": [9, 23, 47, 48, 60, 70, 73, 74, 88], "env": [9, 50, 64], "n": [9, 37, 55, 66, 71, 96], "h1": [9, 13, 16, 17, 18, 37, 56, 64, 71, 73, 80, 82, 85, 87, 88, 96], "pre": [9, 60], "press": [9, 13, 43, 76, 78, 80, 81], "iter": [9, 12, 14, 26, 32, 39, 43, 44, 64, 66, 84, 89, 98], "over": [9, 11, 12, 14, 15, 18, 26, 30, 32, 37, 38, 39, 43, 49, 50, 52, 56, 57, 68, 85, 94, 95, 96], "collect": [9, 26, 32, 84, 86], "put": [9, 15, 16, 17, 37, 39, 52, 55, 57, 66, 71, 73, 77, 78, 80, 82, 84, 85, 94], "togeth": [9, 12, 20, 27, 30, 31, 48, 68, 80, 85, 94], "becom": [9, 45, 48, 60, 61, 94, 98], "ad": [9, 12, 14, 16, 26, 38, 39, 41, 42, 43, 50, 57, 60, 61, 74, 80, 88], "usual": [9, 52, 54, 55, 71, 73, 74, 78], "sheldon": 9, "lastnam": [9, 64], "cooper": 9, "itself": [9, 12, 16, 17, 37, 50, 57, 61, 68, 73, 78, 96], "figur": [9, 17, 29, 52, 60, 71, 73, 74, 80], "sens": [9, 57, 61, 73, 81], "flow": [9, 15, 17, 68, 71], "littl": [9, 12, 17, 23, 48, 61, 68, 69, 77, 81, 85, 94, 95], "singl": [9, 12, 18, 26, 27, 44, 57, 66, 68, 76, 78, 94], "simpli": [9, 12, 17, 39, 50, 60, 61, 66, 76, 78, 81], "greet": [9, 50], "clean": [9, 78], "refactor": 9, "coupl": [9, 37, 39, 40, 41, 42, 44, 57, 71, 78, 81], "def": [9, 50, 51, 52, 53, 54, 55, 56, 57, 61, 66], "h": 9, "hellobett": 9, "list": [9, 11, 12, 13, 17, 18, 20, 27, 30, 31, 38, 39, 41, 43, 44, 45, 47, 48, 52, 53, 57, 60, 64, 66, 69, 72, 73, 75, 76, 77, 81, 82, 84, 95, 103], "pattern": [9, 16, 40, 41, 45, 52, 55, 56, 66, 80, 96, 98], "later": [9, 12, 17, 26, 32, 43, 50, 73, 78, 81, 85, 95], "sometim": [9, 17, 18, 31, 49, 52, 57, 61, 78], "awai": [9, 61, 78], "ll": [9, 16, 30, 41, 42, 44, 48, 60, 73, 77, 78, 85, 86, 95, 96], "section": [9, 11, 12, 14, 16, 17, 18, 20, 27, 30, 38, 39, 40, 41, 42, 44, 48, 52, 54, 57, 66, 71, 74, 78, 79, 80, 85, 88, 89, 95, 96, 98, 104], "defer": [9, 52, 60, 85], "done": [9, 23, 40, 60, 74, 78], "readi": [9, 23, 40, 41, 42, 72], "result": [9, 13, 17, 18, 19, 26, 27, 31, 32, 33, 37, 53, 61, 64, 66, 76, 78, 81, 88, 94, 95], "reduc": [9, 48, 78], "tripl": [9, 48], "quot": [9, 48, 57, 88], "side": [10, 12, 48, 49, 55, 60, 61, 81, 85, 88, 98], "input": [10, 40, 41, 44, 50, 55, 76, 77, 80, 81, 85, 89, 92, 98], "cooki": [10, 38, 48, 55, 58, 66, 78, 98], "rule": [11, 12, 16, 17, 21, 58, 80, 96, 98], "appropri": [11, 13, 15, 20, 50, 66, 69, 84], "unord": [11, 64, 75, 98], "light": [11, 16, 18, 28, 82, 85], "blue": [11, 13, 16, 18, 20, 81, 82, 87], "background": [11, 12, 14, 17, 18, 21, 68, 81, 82, 85, 88, 98], "color": [11, 12, 13, 14, 16, 17, 18, 20, 40, 44, 77, 81, 82, 85, 87, 88, 89, 95, 98], "specifi": [11, 14, 17, 20, 27, 31, 54, 70, 78, 94], "rgb": [11, 13, 20, 81], "odd": [11, 18, 37, 78], "row": [11, 15, 18, 26, 27, 29, 30, 31, 32, 33, 39, 40, 41, 60, 70, 76, 80, 86], "grai": [11, 18], "addit": [11, 13, 15, 17, 18, 28, 31, 42, 44, 48, 53, 55, 64, 66, 76, 81, 85], "white": [11, 12, 51], "black": [11, 17, 51], "font": [11, 12, 13, 16, 18, 21, 76, 82, 95, 98], "san": 11, "serif": 11, "kind": [11, 14, 30, 37, 41, 52, 60, 70, 71, 77, 78, 81, 87, 88, 94, 95], "suppos": [11, 18, 61, 64, 76, 77, 86, 96], "recip": 11, "titl": [11, 14, 37, 40, 56, 60, 64, 69, 72, 73], "ingredi": 11, "instruct": [11, 23, 78], "grill": 11, "chees": 11, "sandwich": 11, "bacon": 11, "tomato": 11, "bullet": [11, 12, 69, 73], "meat": [11, 40, 41], "red": [11, 13, 16, 18, 20, 77, 81, 82, 85], "veget": 11, "green": [11, 13, 16, 18, 19, 20, 81, 85], "dairi": [11, 40, 41], "yellow": [11, 16], "choic": [11, 69, 73, 82], "head": [11, 16, 18, 23, 37, 40, 48, 49, 50, 52, 54, 56, 57, 61, 64, 68, 69, 70, 72, 75, 88, 95, 96, 98], "ital": [11, 71, 73], "column": [11, 15, 26, 27, 29, 30, 31, 60, 69, 70], "half": [11, 60], "width": [11, 12, 17, 18, 69, 70, 71], "left": [11, 12, 14, 15, 17, 38, 44, 48, 61, 66, 68, 69, 78, 88], "5": [11, 13, 17, 20, 40, 48, 56, 64, 69, 72, 82], "best": [11, 27, 42, 48, 94], "sell": [11, 94], "book": [11, 16, 37, 70, 71, 73, 78, 95, 96, 98], "kindl": 11, "five": [11, 21, 69, 98], "favorit": [11, 30, 69, 85], "celebr": 11, "athlet": 11, "nav": [11, 12, 17, 40, 74], "navbar": [11, 40], "sampl": 11, "least": [11, 29, 38, 60, 69, 85], "three": [11, 15, 16, 17, 20, 21, 38, 39, 40, 41, 43, 57, 60, 66, 69, 71, 73, 81, 85, 86, 94, 95, 96, 98], "link": [11, 12, 14, 16, 17, 28, 40, 64, 69, 70, 75, 92, 94, 95, 98], "inlin": [11, 17, 40, 71, 72, 92], "block": [11, 12, 13, 17, 30, 39, 52, 57, 64, 66, 71, 72, 74, 83, 92], "darker": 11, "mous": [11, 12, 81, 95], "hover": [11, 12, 21, 95, 98], "selector": [11, 13, 14, 16, 18, 82, 88], "plai": [11, 77, 78], "card": [11, 17, 23], "transform": [11, 14, 20], "anim": [11, 21, 76, 98], "spin": [11, 14, 37, 61, 76], "around": [11, 17, 23, 37, 57, 78, 81, 94], "endlessli": 11, "templat": [11, 15, 17, 50, 54, 55, 58, 65, 80, 98], "layout": [11, 21, 55, 64, 70, 98], "homepag": [11, 17], "yourself": [11, 52, 54, 61, 66, 69, 70], "publish": [11, 27, 41, 45, 71, 94, 96, 98], "github": [11, 23, 68, 92], "emploi": 11, "fix": [11, 16, 38, 39], "alwai": [11, 12, 16, 17, 26, 27, 30, 31, 38, 54, 57, 61, 71, 85, 96], "screen": [11, 17, 37, 95], "footer": [11, 56, 64, 73, 74], "describ": [11, 15, 30, 41, 60, 66, 69, 78, 95], "hobbi": 11, "team": 11, "modifi": [11, 12, 17, 42, 52, 53, 55, 66, 71, 80, 88], "menu": [11, 17, 21, 37, 44, 89, 98], "project": [11, 21, 23, 42, 43, 48, 50, 54, 64, 68, 73, 92], "horizont": [11, 17], "level": [11, 12, 37, 44, 61, 64, 68, 69, 71, 74, 78, 95], "submenu": [11, 12], "drop": [11, 89, 98], "down": [11, 17, 27, 37, 48, 66, 68, 73, 78, 85, 89, 95, 96, 98], "below": [11, 13, 17, 18, 19, 37, 50, 52, 61, 66, 73, 76, 78], "select": [11, 13, 18, 26, 27, 29, 30, 31, 32, 33, 39, 40, 44, 79, 83, 89, 98], "item": [11, 12, 13, 17, 38, 39, 40, 41, 42, 43, 44, 53, 64, 66, 69, 76, 81], "full": [12, 21, 26, 30, 45, 48, 52, 55, 56, 66, 94, 98], "navig": [12, 17, 50, 56, 71, 74], "practic": [12, 17, 18, 35, 38, 68, 77, 78, 98], "solut": [12, 42, 52, 68, 94], "structur": [12, 30, 37, 39, 60, 73, 74, 98], "almost": [12, 17, 48, 60, 69], "increment": [12, 61, 76], "reason": [12, 31, 50, 64, 68, 73, 78, 88, 96], "wrong": [12, 38, 50, 61, 71, 78], "last": [12, 13, 20, 27, 29, 40, 60, 61, 66, 71, 84, 96], "did": [12, 48, 50, 60], "semant": [12, 14, 17, 18, 75, 88, 94, 98], "area": [12, 17], "posit": [12, 14, 20, 21, 28, 54, 81, 84, 94, 98], "float": [12, 21, 31, 40, 54, 98], "properti": [12, 13, 14, 15, 16, 17, 20, 38, 42, 88], "7em": 12, "em": [12, 56], "unit": [12, 52], "measur": [12, 17], "size": [12, 16, 17, 18, 20, 31, 38, 55, 69, 71, 76, 83], "grow": [12, 17], "proportion": 12, "differenti": [12, 73], "belong": [12, 17, 18, 43], "indent": [12, 64, 73], "sublist": 12, "ul": [12, 40, 87], "margin": [12, 17, 19, 40, 95], "pad": [12, 17], "border": [12, 17, 40, 69, 70], "1px": 12, "solid": 12, "li": [12, 40, 64, 84, 87], "rel": [12, 16, 40, 54, 64, 95], "none": [12, 17, 38, 52, 53, 55, 56, 66], "bottom": [12, 15, 17, 40, 69, 78], "ccc": 12, "absolut": [12, 21, 54, 98], "non": [12, 17, 26, 32, 38, 48, 61, 64, 68], "zero": [12, 17, 20, 77], "difficult": [12, 26, 32], "same": [12, 15, 16, 18, 27, 31, 33, 37, 38, 54, 57, 61, 71, 73, 74, 80, 85, 88, 94, 95], "goe": [12, 17, 64, 71, 81, 96], "sytl": 12, "remov": [12, 17, 18, 26, 41, 55, 85, 88], "prepar": [12, 28, 66], "children": [12, 21, 73, 80, 98], "rememb": [12, 16, 38, 42, 54, 60, 61, 64, 66, 85, 96], "found": [12, 17, 50, 51, 54, 66, 94, 96], "deal": [12, 17, 31, 40, 49, 52, 61, 78, 85], "abl": [12, 17, 30, 43, 44, 60, 68, 72, 76, 78, 96, 98], "anywher": [12, 17, 71], "box": [12, 13, 19, 21, 39, 40, 76, 77, 80, 81, 82, 83, 85, 87, 98], "fill": [12, 13, 14, 17, 37, 41, 48], "25em": 12, "5em": 12, "decor": [12, 20, 50, 51, 54, 57, 65, 66, 98], "redisplai": 12, "invis": [12, 17, 74], "ve": [12, 15, 29, 31, 33, 40, 60, 68, 78, 96], "bring": [12, 38, 83, 85, 94], "few": [12, 28, 30, 31, 38, 40, 61, 81, 85, 88, 90], "indic": [12, 18, 60, 72, 73, 74, 78, 96], "visibl": [12, 17], "distinguish": 12, "variou": [12, 17, 30, 43, 66, 70, 88], "ebb": 12, "gif": 12, "95": 12, "50": [12, 18], "repeat": [12, 20, 76], "edd": 12, "level1": 12, "level2": 12, "level3": 12, "appli": [13, 14, 15, 17, 18, 53], "org": [13, 73, 92, 94, 96], "index": [13, 17, 28, 30, 51, 52, 54, 55, 64, 66, 96], "match": [13, 14, 16, 17, 21, 31, 66, 71, 80, 98], "high": [13, 18, 19, 40, 44, 77, 83, 88, 95], "4": [13, 15, 16, 20, 28, 38, 40, 48, 60, 64, 72, 82, 84, 94, 96, 98, 103], "p": [13, 16, 18, 50, 55, 57, 64, 73, 82], "6": [13, 20, 40, 48, 57, 71, 72, 82, 85, 96], "7": [13, 20, 40, 48, 71, 72, 78, 82, 94], "model": [13, 21, 26, 32, 37, 40, 42, 43, 45, 64, 65, 68, 81, 92, 98], "finish": [13, 72, 82], "reveal": 13, "without": [13, 16, 27, 42, 43, 47, 48, 52, 54, 57, 60, 64, 68, 72, 74, 78, 81, 86, 88], "penalti": 13, "save": [13, 19, 42, 44, 48, 50, 52, 101], "b": [13, 17, 20, 38, 55, 60, 78, 87], "activecod": [13, 17, 38, 69, 70, 78], "28pt": [13, 16], "consist": [13, 16, 18, 60], "128": 13, "paragraph": [13, 14, 16, 17, 18, 69, 73, 75, 76, 77, 80, 88, 98], "orang": 13, "draft": 14, "progress": [14, 85, 86], "effect": [14, 17, 60, 61], "investig": [14, 60], "pseudo": 14, "h2": [14, 16, 18, 71, 73, 76], "info": 14, "underneath": 14, "initi": [14, 40, 61, 88, 94], "hidden": [14, 17, 60], "appear": [14, 17, 71, 83, 94], "cursor": 14, "hint": [14, 17, 66, 69], "sibl": [14, 80], "experi": [14, 17, 30, 37, 52, 70, 81, 85, 94], "keyfram": 14, "keyword": [14, 17, 31, 33, 41, 54, 56, 78], "out": [14, 15, 17, 26, 29, 30, 31, 33, 37, 38, 40, 41, 47, 48, 52, 54, 55, 57, 60, 61, 68, 71, 77, 78, 81, 85, 88, 95, 96], "With": [14, 17, 20, 31, 42, 60, 78, 85, 94, 96], "condit": [14, 30, 47, 65, 86, 98], "xx": 14, "shown": [14, 17, 44, 50, 51, 52, 66, 81], "safari": [14, 17], "webkit": [14, 17], "prefix": 14, "delai": 14, "count": [14, 27, 28, 29, 31, 38, 76], "infinit": [14, 86], "altern": [14, 50, 61], "rotat": [14, 17, 73], "0deg": 14, "360deg": 14, "moveit": 14, "0px": 14, "300px": [14, 19], "pictur": [14, 17, 61, 73], "mode": [14, 58, 98], "forward": [14, 37, 66, 70], "keep": [14, 18, 38, 39, 42, 43, 52, 54, 55, 56, 57, 60, 61, 73, 77, 84, 86], "lai": [15, 17], "power": [15, 20, 26, 27, 32, 37, 56, 64, 85, 94], "tool": [15, 16, 20, 30, 31, 32, 37, 40, 41, 60, 68], "ever": [15, 16, 31, 37, 52, 94, 96], "dimension": 15, "base": [15, 31, 37, 43, 55, 61, 64, 66, 80], "design": [15, 16, 17, 37, 40, 44, 45, 48, 53, 60, 64, 73, 74, 76, 78, 94, 98], "specif": [15, 18, 20, 38, 41, 43, 47, 52, 54, 55, 57, 66, 68, 70, 73, 81, 88, 94, 95, 96], "solv": [15, 17, 39, 48, 68, 78], "coder": [15, 78], "struggl": 15, "year": [15, 28, 37, 60, 68, 71, 94], "apport": 15, "space": [15, 17, 18, 26, 31, 32, 70, 71], "continu": [15, 49, 60, 66, 71, 78, 81, 85, 96], "height": [15, 17, 69, 70, 71, 88], "determin": [15, 83], "oper": [15, 28, 30, 50, 52, 55, 61, 66, 68, 88], "mostli": [15, 44], "child": [15, 18, 64, 73], "concept": [15, 30, 38, 57, 61, 68, 69, 95], "track": [15, 43, 60, 61, 77, 84], "defin": [15, 16, 17, 27, 38, 40, 61, 64, 66, 68, 72, 96], "outsid": [15, 17, 54, 78, 81, 94], "control": [15, 17, 20, 40, 45, 48, 50, 58, 60, 64, 70, 81, 86, 98], "sai": [15, 16, 29, 37, 40, 48, 61, 70, 78, 80, 82, 85, 87], "d1": 15, "span": [15, 70, 74, 81], "descript": [15, 31, 54, 60, 61, 75, 95, 96, 98], "rest": [15, 37, 40, 44, 66, 68, 69, 73, 76, 87, 88, 98, 103], "would": [15, 17, 18, 23, 31, 37, 42, 48, 50, 54, 57, 60, 61, 64, 66, 68, 70, 71, 73, 76, 78, 80, 81, 84, 85, 86, 92, 94], "expect": [15, 17, 26, 32, 68, 71], "descriptor": 15, "d2": 15, "al": 15, "stand": [16, 37, 44, 68, 72, 85, 95], "sheet": [16, 37, 95, 98], "languag": [16, 26, 35, 37, 38, 68, 75, 78, 89, 94, 95, 96, 98], "great": [16, 17, 27, 60, 64, 68], "compani": [16, 23, 28], "microsoft": [16, 26, 30, 73], "export": [16, 50], "word": [16, 17, 30, 73, 76, 85, 88], "doc": [16, 37, 49, 50, 73], "nightmar": 16, "wysiwyg": 16, "unread": 16, "introduc": [16, 30, 44, 48, 50, 64, 78, 88], "ourselv": [16, 27], "certain": [16, 20, 29, 33, 37, 48, 52, 56], "life": [16, 26, 48, 68, 78, 85], "rain": [16, 28, 77], "umbrella": [16, 77], "stop": [16, 17, 70, 78, 81, 86], "stoplight": 16, "28": [16, 26, 32], "declar": [16, 78], "willl": 16, "lot": [16, 18, 20, 30, 37, 38, 60, 66, 68, 78, 85, 95, 96], "famili": [16, 20, 23], "fuss": 16, "document": [16, 17, 18, 26, 39, 40, 41, 47, 50, 52, 56, 57, 68, 71, 72, 73, 76, 80, 81, 85, 87, 88, 94], "emb": [16, 70, 71], "prefer": [16, 31], "achiev": 16, "greatest": 16, "amount": [16, 20, 48, 57, 68, 76, 78], "16pt": 16, "care": [16, 23, 30, 44, 48, 60, 64, 68, 73], "semi": 16, "colon": 16, "forget": [16, 19, 30, 52, 73, 78], "organ": [16, 70, 90, 96], "group": [16, 30, 31, 35, 40, 66, 78, 98], "focus": 16, "stylesheet": [16, 40, 64], "href": [16, 40, 64, 71], "mystyl": 16, "resolv": [16, 78], "conflict": [16, 50], "extern": [16, 82], "intern": [16, 52, 61, 66, 94, 96, 98], "win": 16, "previou": [16, 41, 61, 71, 73, 76, 78, 80, 81, 87, 88], "informatin": 16, "window": [17, 41, 50, 66, 69, 73, 81, 85], "read": [17, 18, 28, 30, 38, 52, 61, 64, 71, 76, 78, 81, 88, 95], "mention": [17, 52, 74, 78], "fit": [17, 47], "within": [17, 27, 56, 57, 61, 70, 71, 74, 80], "consid": [17, 48, 60, 61, 64, 80, 81, 84], "impact": [17, 74, 94], "thought": [17, 18], "exactli": 17, "common": [17, 18, 26, 27, 32, 37, 40, 43, 50, 52, 53, 64, 70, 71, 78, 80, 81, 83, 88, 94, 95, 96, 98], "hear": [17, 48], "talk": [17, 20, 48, 68, 73, 85, 92, 95], "illustr": [17, 37, 40, 60, 66, 70, 71, 73, 74, 78, 80, 81, 85, 86, 88], "compon": [17, 20, 37, 48, 71, 86, 95, 96], "accord": [17, 54, 74], "w3school": [17, 20, 40, 71, 74], "fair": [17, 74], "polici": [17, 74, 94], "actual": [17, 27, 49, 50, 52, 56, 61, 66, 73, 96], "drawn": 17, "5px": 17, "max": [17, 27, 83], "min": [17, 27, 40, 83], "pixel": [17, 70, 88], "px": 17, "pt": 17, "percentag": [17, 70, 76], "auto": 17, "proper": 17, "overflow": 17, "handl": [17, 40, 43, 52, 54, 55, 66, 78, 88], "possibl": [17, 26, 29, 32, 37, 47, 52, 55, 56, 57, 78, 79, 81], "scroll": [17, 95], "wonder": [17, 42, 52, 88], "latin": 17, "old": [17, 58, 61, 68, 76, 77, 88, 92, 95], "tradit": 17, "typeset": 17, "sentenc": [17, 61, 71, 78], "lorum": 17, "ipsum": 17, "ipusum": 17, "obvious": [17, 49, 57, 68], "why": [17, 18, 27, 31, 50, 54, 71, 78, 80, 85, 88], "me": [17, 30, 53, 57, 60, 61, 68, 69, 78, 80, 83, 85, 88, 90, 96], "skip": [17, 52, 69], "paideia": 17, "hide": [17, 66], "leav": [17, 31, 66, 77, 78, 81], "reserv": 17, "wherea": [17, 78, 94], "trace": [17, 41, 50], "techniqu": 17, "push": [17, 23, 39, 40, 41], "wrap": [17, 53, 57, 61, 66], "extrem": [17, 23, 48], "logo": [17, 71], "middl": 17, "normal": [17, 18, 28, 52, 70, 72], "img": [17, 71, 82], "copi": [17, 26, 27, 31, 32, 69], "nors": [17, 71], "past": [17, 78], "behav": [17, 52, 54], "clear": [17, 28, 31, 55, 77, 88], "undo": 17, "affect": [17, 90], "against": [17, 66], "frame": 17, "unexpect": [17, 54], "carefulli": [17, 31, 40, 85], "overlap": 17, "parent": [17, 18, 40, 41, 43, 73, 80, 82], "stai": [17, 28], "ugli": 17, "ol": [17, 64, 70], "anchor": [17, 71], "enough": [17, 23, 50, 55, 68, 96], "remind": [17, 30], "break": [17, 27, 30, 52, 61, 66, 72, 78, 81, 95, 96], "skill": [17, 60, 68, 98], "20px": [17, 19, 40], "100px": 17, "third": [17, 48, 86], "still": [17, 18, 38, 49, 50, 52, 57, 61, 70, 73, 78, 81], "manual": [17, 50, 54, 68], "40px": 17, "200px": 17, "doubt": 17, "corner": 17, "larger": [17, 18, 76], "across": [17, 27, 31, 37, 55, 85, 94, 96], "windo": 17, "adjust": [17, 81], "learn": [17, 18, 23, 28, 30, 31, 38, 60, 61, 69, 71, 73, 78, 85, 88, 94, 98], "math": [17, 76, 77, 85], "cover": [17, 52, 60, 68, 69, 71, 85], "beneath": 17, "becuas": 17, "natur": [17, 30, 78, 85, 95], "lower": [17, 44, 66, 69, 70], "idex": 17, "imaeg": 17, "abil": [17, 57, 61, 94], "realli": [17, 18, 23, 30, 38, 40, 41, 43, 44, 48, 55, 61, 81, 86, 94], "fanci": [17, 73, 81, 88], "hand": [17, 30, 37, 57, 61, 81, 88, 96], "chrome": 17, "firefox": 17, "offici": [17, 49, 56, 57], "upper": [17, 44, 68, 70], "origin": [17, 29, 31, 37, 38, 43, 61, 78], "front": [17, 68], "asid": [17, 74], "typic": [17, 68], "qualiti": 17, "miss": [17, 52], "articl": [17, 18, 28, 74], "band": 17, "inspect": 17, "featur": [17, 27, 37, 38, 50, 61, 64, 66, 88], "interest": [17, 20, 29, 43, 57, 64, 77, 85], "includ": [17, 21, 23, 26, 27, 28, 29, 30, 32, 39, 41, 47, 48, 50, 64, 66, 68, 69, 70, 71, 73, 85, 94, 95, 96, 98, 104], "particular": [17, 18, 28, 42, 43, 47, 61, 66, 68, 70, 96], "purpl": [17, 18], "conjunct": 18, "flexibl": 18, "h3": [18, 71], "h4": 18, "h5": 18, "h6": 18, "comma": [18, 26, 31], "somehow": 18, "mark": [18, 44, 54, 56, 57, 73, 74], "throughout": [18, 64], "18pt": 18, "abc456": 18, "hashtag": 18, "matcher": 18, "redund": [18, 96], "said": [18, 61, 80, 88], "zebra": 18, "stripe": 18, "slightli": [18, 20, 60, 61, 64, 81], "unlik": [18, 43, 85], "warn": [18, 49], "caution": 18, "perhap": [18, 78], "hight": 18, "prioriti": [18, 38, 39, 40, 41, 42, 44, 83], "low": [18, 40, 44, 77, 83], "medium": [18, 40, 44, 83, 94], "short": [18, 50, 61], "bold": [18, 71, 73], "overal": 18, "rid": [18, 73], "rundown": 18, "desir": 18, "descend": [18, 33], "Will": 18, "both": [18, 28, 31, 43, 57, 60, 69, 71, 73, 76, 80, 81, 82, 92, 95], "replac": [18, 31, 37, 57, 61, 70, 76, 88], "immedi": [18, 78, 94], "textbook": [19, 23, 82, 87], "prove": [19, 61], "worri": [19, 43, 71, 73, 78, 81, 85, 88, 90], "plenti": [19, 31, 40], "partial": [19, 57], "credit": [19, 23, 60], "recreat": [19, 92], "dimens": 19, "400px": 19, "center": 19, "50px": 19, "pink": 19, "150px": 19, "edg": 19, "255": [20, 77, 83], "hex": 20, "ff0000": 20, "total": [20, 27, 28, 39], "16": [20, 55], "million": [20, 94], "scienc": [20, 60, 73, 85, 94, 95, 96], "behind": [20, 64, 65, 66, 68, 98], "mix": [20, 33, 37, 48, 71], "cdot": 20, "less": 20, "scientist": [20, 94], "deepli": [20, 96], "inner": [20, 66], "binari": [20, 38, 47], "ones": [20, 27, 31], "eight": 20, "256": 20, "directli": [20, 38, 39, 52, 53, 54, 66, 68, 85, 88], "relat": [20, 26, 30, 32, 35, 48, 60, 68, 98], "decim": [20, 38], "0000": 20, "0001": 20, "0010": 20, "0011": 20, "0100": 20, "0101": 20, "0110": 20, "0111": 20, "1000": 20, "1001": 20, "9": [20, 40, 48, 72, 82, 86], "1010": 20, "1011": 20, "11": [20, 50, 72], "1100": 20, "12": [20, 28, 40], "1101": 20, "d": [20, 27, 49, 78, 87], "13": 20, "1110": 20, "e": [20, 78], "1111": 20, "f": [20, 26, 50, 52, 54, 55], "15": [20, 29, 96], "pick": 20, "choos": [20, 69, 72, 92], "attach": [20, 49, 54, 78, 81, 88, 89, 98], "align": 20, "introduct": [21, 50, 56, 57, 97, 98], "quiz": [21, 75, 89, 98], "trick": [21, 98], "dropdown": [21, 44, 98], "step": [21, 23, 37, 38, 42, 78, 81, 85, 98], "grid": [21, 98], "edit": [23, 44], "snippet": [23, 30, 87], "friend": [23, 26, 30, 43, 85], "peopl": [23, 37, 40, 68, 76, 94], "involv": [23, 78, 95], "bui": [23, 38, 78, 94], "hardwar": [23, 40, 41], "configur": [23, 44, 54, 56, 57, 96], "apach": [23, 37, 96], "isp": 23, "mess": [23, 31, 78], "infrastructur": 23, "under": [23, 48, 68, 94, 98], "paa": 23, "platform": 23, "provis": 23, "network": [23, 30, 37, 50, 96], "bandwidth": 23, "sign": [23, 55, 88], "account": 23, "educ": [23, 74], "hobbyist": 23, "big": [23, 31, 38, 48, 64, 66, 68], "real": [23, 30, 31, 37, 60, 61, 64, 78], "monei": 23, "charg": 23, "busi": [23, 30, 47, 68], "digit": 23, "ocean": 23, "heroku": 23, "blog": [23, 74], "manag": [23, 30, 48, 52, 60, 66, 81, 94], "softwar": [23, 47, 48, 66, 78, 94], "setup": [23, 37, 58, 98], "commit": [23, 26, 72], "written": [23, 47, 68, 71, 73, 85], "folk": 23, "rephras": 23, "librari": [26, 32, 38, 48], "raw": [26, 32], "databas": [26, 27, 30, 31, 35, 37, 58, 65, 78, 98], "bell": [26, 32, 71], "whistl": [26, 32], "task": [26, 32, 37, 60, 78, 80], "surprisingli": [26, 32], "standard": [26, 32, 37, 38, 49, 52, 58, 66, 74, 78, 83, 94, 95, 98], "strive": [26, 32], "workflow": [26, 32], "eleg": [26, 32], "interfac": [26, 32, 37, 44, 55, 65, 76, 78, 81, 83, 98], "support": [26, 30, 32, 38, 50, 53, 54, 55, 70, 94], "redshift": [26, 32], "postgr": [26, 32, 37], "mysql": [26, 30, 32, 37, 60], "sqlite": [26, 27, 30, 32], "oracl": [26, 30, 32], "driver": [26, 32], "db": [26, 32, 37], "active_us": [26, 32], "query_fil": [26, 32], "activ": [26, 31, 32, 40, 48, 50, 52, 57, 78], "grab": [26, 30, 32, 77], "usernam": [26, 32, 52, 53, 54, 55, 57], "true": [26, 32, 38, 41, 70, 86], "henri": [26, 32], "ford": [26, 32], "user_email": [26, 32], "gmail": [26, 32, 37], "timezon": [26, 32], "2016": [26, 32, 78], "02": [26, 32], "06": [26, 32], "23": [26, 28, 32, 48], "894202": [26, 32], "r": [26, 32, 66], "access": [26, 35, 37, 38, 39, 50, 51, 54, 55, 56, 57, 58, 66, 80, 84, 88, 94, 98], "field": [26, 27, 28, 31, 32, 94], "alphanumer": [26, 32], "fulli": [26, 32, 39, 81, 85], "re": [26, 27, 29, 32, 40, 48, 61, 66, 78], "as_dict": [26, 32], "cach": 26, "database_url": 26, "get_table_nam": 26, "safe": [26, 56, 57], "parameter": 26, "42": [26, 49, 78], "filenam": [26, 52, 53, 54], "transact": 26, "bulk": 26, "bulk_queri": 26, "bulk_query_fil": 26, "proudli": 26, "sqlalchemi": [26, 35, 60, 98], "tablib": 26, "integr": [26, 57, 68], "csv": [26, 28], "xl": 26, "yaml": 26, "panda": [26, 30], "datafram": [26, 30], "excel": [26, 60, 85], "share": [26, 30, 31, 38, 64, 94], "report": [26, 27, 70], "dataset": [26, 35, 98], "ain": 26, "markup": [26, 56, 57, 68, 74, 75, 94, 95, 98], "xlsx": 26, "wb": 26, "df": 26, "sort": [26, 30, 35, 39, 98], "duplic": [26, 31], "transpos": 26, "slice": 26, "Of": [26, 33, 88], "recommend": [26, 52, 57, 61], "pipenv": 26, "bonu": 26, "screenshot": [26, 50], "usag": 26, "hope": [26, 68], "room": [26, 60, 85, 96], "feel": [26, 28, 68, 78], "better": [26, 43, 44, 50, 52, 66, 68, 70, 90, 94], "stronger": 26, "faster": [26, 68], "sql": [27, 31, 32, 68, 98], "summari": [27, 30, 74], "bike": [27, 29, 31, 33, 35, 98], "trip": [27, 29, 31, 33, 45, 98], "taken": [27, 60, 68], "subscrib": [27, 29, 30, 41, 42, 45, 98], "BY": [27, 33, 47], "member_typ": [27, 30], "produc": [27, 40, 41, 53, 54, 73], "hard": [27, 54, 68], "ignor": [27, 44, 52, 66, 71, 96], "omit": [27, 50], "except": [27, 28, 66, 76, 80], "succe": 27, "complain": 27, "silli": 27, "claus": 27, "member": [27, 29, 31, 33], "That": [27, 31, 38, 39, 40, 50, 54, 60, 66, 68, 78, 80, 85, 88], "flag": 27, "furthermor": 27, "durat": [27, 29, 30, 31, 33], "mayb": [27, 78, 95], "possibli": 27, "briefli": 27, "979814": 27, "granular": 27, "breakdown": 27, "station": [27, 29, 31, 33], "familiar": [27, 40, 54, 61], "sum": [27, 76], "avg": 27, "minimum": 27, "respect": [27, 39], "minut": [27, 29, 30, 33, 72, 82, 87], "bike_numb": [27, 30, 33], "trip_data": [27, 29, 30, 31, 33], "desc": [27, 31, 33], "start_stat": [27, 29, 30, 31, 33], "end_stat": [27, 29, 30, 31, 33], "averag": [27, 31], "highest": [27, 28, 31, 69], "lowest": 27, "ride": [27, 29, 31, 33], "casual": [27, 28, 29, 33], "permiss": [28, 47, 48], "capit": [28, 30, 69], "bikeshar": 28, "download": 28, "augment": 28, "weather": 28, "uci": 28, "repositori": 28, "trend": 28, "plan": [28, 90], "facil": [28, 77], "reposit": 28, "locat": [28, 31, 52, 64, 96], "demand": 28, "wait": [28, 78, 85], "rent": 28, "lost": 28, "revenu": 28, "hour": [28, 29], "hr": 28, "instant": 28, "record": [28, 30, 32, 55, 80], "dtedai": 28, "season": 28, "spring": 28, "summer": 28, "fall": [28, 68], "winter": 28, "yr": 28, "2011": 28, "2012": 28, "mnth": 28, "month": [28, 83], "holidai": 28, "whether": [28, 47], "weekdai": 28, "week": [28, 68, 83], "workingdai": 28, "weekend": 28, "nor": [28, 47], "otherwis": [28, 44, 47, 52], "weathersit": 28, "cloud": [28, 65, 98], "partli": [28, 78], "cloudi": 28, "mist": 28, "broken": [28, 78], "snow": 28, "thunderstorm": 28, "scatter": 28, "heavi": 28, "ic": 28, "pellet": 28, "fog": 28, "temp": 28, "temperatur": 28, "celsiu": 28, "atemp": 28, "hum": 28, "humid": 28, "windspe": 28, "wind": 28, "speed": 28, "regist": [28, 41, 58, 60, 92, 98], "cnt": 28, "springer": 28, "1007": 28, "s13748": 28, "013": 28, "0040": 28, "60": [29, 33], "criteria": [29, 33], "31111": 29, "w01274": 29, "shorter": 29, "longer": [29, 33, 39, 56, 86], "rider": 29, "exploits_of_a_mom": 30, "png": [30, 71], "student": [30, 60, 64, 68], "grade": [30, 60, 68, 90], "school": [30, 68], "social": 30, "stori": 30, "newspap": 30, "contact": [30, 96], "mobil": [30, 94], "phone": [30, 94, 96], "map": [30, 35, 48, 60, 61, 66, 78, 98], "postgresql": [30, 37, 60], "commerci": 30, "bigqueri": 30, "aurora": 30, "proprietari": 30, "bigtabl": 30, "facebook": [30, 43], "haystack": 30, "whatev": [30, 61, 64, 78, 86, 88], "extract": [30, 39, 66, 96], "agre": [30, 94], "pronounc": [30, 66], "sequel": 30, "stress": 30, "shape": 30, "filter": [30, 31, 35, 41, 56, 58, 64, 98], "reorder": 30, "aggreg": [30, 35, 98], "join": [30, 35, 66, 94, 98], "merg": [30, 57], "manipul": [30, 39, 40, 61, 73], "whole": [30, 48, 52, 61, 78], "analysi": 30, "teach": [30, 60, 68, 94], "lesson": 30, "sqllite": 30, "invoc": 30, "jupyt": 30, "cell": [30, 40, 70], "understand": [30, 52, 60, 61, 70, 71, 81, 85, 94], "letter": [30, 70], "lowercas": 30, "ten": 30, "bigint": 30, "start_dat": 30, "datetim": [30, 83], "end_dat": 30, "tip": [30, 68, 76], "doesn": 30, "spread": [30, 31], "easier": [30, 61, 78, 80, 81], "exact": [30, 88], "especi": [30, 56, 61, 68, 85], "handi": [30, 49], "liner": 30, "fine": [30, 48, 96], "easili": [30, 52, 73], "frequent": [31, 48, 96], "bikeshare_st": 31, "station_id": 31, "integ": [31, 54, 76], "statu": [31, 51, 53, 66], "close": [31, 38, 43, 66, 71, 73, 78, 80, 85], "latitud": 31, "longitud": 31, "van": 31, "ness": 31, "metro": 31, "udc": 31, "imagin": [31, 52, 53, 96], "bad": [31, 38, 39, 49, 52], "wast": 31, "concern": [31, 39], "consum": 31, "prone": 31, "ident": 31, "144": 31, "226": 31, "767": 31, "trips_data": 31, "176": 31, "654": 31, "448": 31, "rare": 31, "aspect": [31, 71, 78, 85, 86], "being": [31, 37, 39, 52, 57, 60, 64, 68, 78], "equal": [31, 77, 88], "forc": [31, 48, 71], "sensic": 31, "ON": [31, 47], "synonym": 31, "those": [31, 38, 44, 48, 52, 60, 64, 69, 80, 81, 85], "ensur": [31, 40, 77, 94], "31200": 31, "popular": [31, 37, 71, 73], "massachusett": 31, "av": 31, "dupont": 31, "circl": 31, "nw": 31, "nearli": [32, 40, 50, 85], "kenneth": 32, "reitz": 32, "far": [33, 73, 80, 88, 94], "ascend": 33, "largest": [33, 72], "40": [33, 83], "longest": 33, "soon": [34, 66, 78, 100, 102, 104], "rental": [35, 98], "verifi": [35, 48, 98], "diagram": [37, 39, 43, 44, 60, 96], "archictectur": 37, "2018": 37, "buzzword": 37, "gatewai": [37, 65, 98], "circa": 37, "1992": 37, "webserv": 37, "off": [37, 38, 61, 70, 78], "perl": 37, "exit": 37, "heredoc": 37, "withstand": 37, "spew": 37, "termin": [37, 50, 66], "wire": 37, "came": [37, 56, 61], "construct": [37, 83], "programm": [37, 48, 66, 85, 98], "rise": 37, "linux": 37, "php": 37, "brought": 37, "revolut": 37, "becam": 37, "domin": 37, "2000": 37, "interpret": [37, 50, 88], "embed": [37, 48, 70], "benefit": [37, 42, 64], "curs": 37, "doctyp": [37, 56], "echo": 37, "hi": [37, 94], "vanilla": 37, "retriev": [37, 39, 48, 94, 96], "unsuspect": 37, "archetyp": 37, "nginx": 37, "nobodi": [37, 90], "fault": 37, "got": 37, "sophist": 37, "app": [37, 38, 42, 43, 44, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 66], "releg": 37, "heard": 37, "rubi": 37, "rail": 37, "django": 37, "flask": [37, 49, 51, 52, 53, 54, 55, 56, 57, 61, 65, 66, 68, 98], "tomcat": 37, "java": 37, "mongo": 37, "express": [37, 47, 53, 66, 73, 78, 96], "j": [37, 40, 78, 82], "angular": 37, "react": [37, 52], "vue": 37, "node": [37, 80, 81], "mainli": 37, "cycl": 37, "felt": 37, "interactivii": 37, "70": 37, "closer": [37, 66], "gave": 37, "primarili": 37, "acronym": [37, 44], "advantag": [37, 68], "fulfil": [37, 78], "role": 37, "occupi": 37, "aim": [37, 94], "toward": [37, 44, 58, 85, 86, 98], "offload": 37, "storag": [37, 38, 42, 48], "architect": 38, "lack": 38, "persist": [38, 42, 48, 55, 65, 98], "refresh": [38, 42], "dissappear": 38, "nobdi": 38, "journei": 38, "dive": [38, 40, 73], "memori": [38, 52], "modul": [38, 50, 52, 54, 56, 60, 66, 68], "revers": [38, 54, 57], "deseri": 38, "nativ": 38, "human": [38, 73, 94], "noth": [38, 61], "dump": 38, "load": [38, 40, 44, 56, 78, 81, 101], "Not": [38, 39, 43, 54, 57, 66, 78, 96], "custom": [38, 51, 57, 60, 64], "instanc": [38, 42, 50, 60, 61, 64, 66], "behavior": [38, 58, 81, 95, 98], "shop": [38, 39, 41, 42, 43, 44, 45, 98], "liter": [38, 85], "quantiti": [38, 39, 40, 41, 42, 44], "serialz": 38, "tojson": [38, 57], "deserializ": 38, "html5": [38, 74, 83], "potenti": [38, 60, 68, 94], "unsecur": 38, "accomod": 38, "hold": [38, 53, 55, 81, 84], "5mb": 38, "sessionstorag": 38, "session": [38, 48, 52, 56, 57, 58, 66, 98], "eras": [38, 41], "subject": [38, 41, 43, 66, 96], "secur": [38, 50, 52, 56, 57, 78, 96, 104], "constraint": 38, "local": [38, 50, 54, 58, 83, 98], "prevent": 38, "unabl": 38, "speak": [38, 64, 94, 95, 96], "test": [38, 39, 50, 52, 61, 87], "shareabl": 38, "lookup": 38, "setitem": [38, 42], "getitem": [38, 42], "removeitem": 38, "reload": [38, 50, 71, 77], "counter": [38, 61, 73], "critiqu": 39, "visual": 39, "blank": [39, 71, 96], "cost": 39, "emphat": 39, "NO": [39, 47], "entwin": 39, "ugh": 39, "redesign": 39, "paradigm": 39, "mvc": 39, "tri": [39, 48, 50, 96], "divid": [39, 60, 74, 76], "distinct": [39, 74], "repres": [39, 60], "shoppinglist": [39, 40, 41, 42, 43], "intersect": 39, "represent": [39, 57, 60, 88], "clickedon": [39, 40, 41, 43], "revis": 39, "strict": [39, 41, 42, 47], "constructor": [39, 41, 42, 61, 66, 78], "price": [39, 40, 41, 42, 44, 78], "_purchas": [39, 41], "fals": [39, 41, 57], "newitem": [39, 41, 42], "olditem": [39, 41], "additem": [39, 41, 42], "shoppingmodel": [39, 41], "rowcolid": [39, 40, 41], "itemnam": [39, 40, 41], "qty": [39, 40, 41], "categori": [39, 40, 41], "val": [39, 40, 41, 42], "cid": [39, 40, 41], "getelementbyid": [39, 40, 41], "remain": [39, 87, 94], "event": [40, 43, 47, 78, 82, 89, 98], "bootstrap": [40, 44], "bootstrap_get_start": 40, "asp": 40, "maxcdn": 40, "bootstrapcdn": 40, "shoppingstyl": 40, "div": [40, 74, 79], "fluid": 40, "brand": 40, "home": [40, 48, 78, 96], "panel": [40, 44], "col": 40, "md": 40, "onclick": [40, 41, 57, 80, 81, 85], "btn": 40, "gobutt": 40, "thead": 40, "tr": [40, 41, 64, 70, 80, 82], "th": [40, 70], "tbodi": 40, "src": [40, 70, 71, 82], "ajax": 40, "googleapi": 40, "lib": 40, "jqueri": 40, "empti": 40, "build": [40, 44, 48, 57, 58, 66, 68, 79, 83, 86, 94, 98], "farewai": [40, 41], "ac": [40, 41], "casei": [40, 41], "hatcheri": [40, 41], "amundsen": [40, 41], "cereal": [40, 41], "frozen": [40, 41], "food": [40, 41, 94], "liquor": [40, 41], "cloth": [40, 41, 77], "makerow": 40, "valuelist": 40, "createel": [40, 41, 76, 80], "classlist": [40, 41], "cb": [40, 41], "checkbox": [40, 41, 44, 66, 89, 98], "appendchild": [40, 41, 76, 80], "td": [40, 41, 64, 70, 80, 82], "innerhtml": [40, 41, 76, 77, 80, 81, 87, 88], "populateselect": [40, 41], "selectid": [40, 41], "slist": [40, 41, 42], "sel": [40, 41], "opt": [40, 41, 57], "popul": 40, "arrai": [40, 43, 89, 98], "live": [40, 80, 92], "reli": [40, 66, 95], "entri": [40, 44, 82], "per": [40, 96], "dom": [40, 80, 82], "onload": [40, 81], "fire": [40, 81], "And": [40, 48, 50, 64, 68], "hack": 40, "hang": 40, "matter": [40, 80], "implement": [41, 43, 48, 52, 54, 55, 61, 66, 94, 98, 101, 103], "redrawlist": 41, "purchas": [41, 44], "nv": 41, "alert": [41, 77, 80, 82, 87], "handler": [41, 51, 80], "fn": 41, "unsubscrib": 41, "msg": [41, 42], "someobj": 41, "scope": 41, "extend": [41, 66, 94], "super": 41, "shoppingview": 41, "bind": [41, 52, 54], "tbl": 41, "addrow": 41, "myview": 41, "precis": 41, "invok": [41, 52, 64, 66], "newli": [41, 61, 80], "rebuild": 41, "beauti": 41, "told": 41, "loos": 41, "localstorag": [42, 45, 98], "major": [42, 50, 60, 68], "reorgan": 42, "exist": [42, 48, 50, 52, 57, 66, 68, 88], "localstoragesav": 42, "capabl": [42, 52, 94], "saveal": 42, "whenev": [42, 43, 57, 76, 80, 81], "arrang": [42, 87], "subclass": [42, 66], "tightli": 42, "architectur": [42, 45, 98], "corrrect": 42, "independ": 42, "xxxsaver": 42, "eventu": 42, "anywai": [42, 43, 57, 68], "lsname": 42, "restor": 42, "restore_list": 42, "ls_list": 42, "instanti": 42, "somewher": 42, "confirm": 42, "callback": [43, 52, 66, 78, 81, 87], "assign": [43, 60, 61, 78, 80, 81, 88, 98], "ti": 43, "phase": 43, "observ": 43, "twitter": 43, "notifi": 43, "happend": 43, "notif": 43, "conceptu": 43, "moment": [43, 90], "view": [43, 45, 52, 53, 60, 64, 73, 88, 98], "subtract": [43, 76], "reddraw": 43, "essenc": 43, "act": [43, 66], "inherit": [43, 56, 65, 66, 98], "smaller": [44, 71, 85], "resid": 44, "approach": [44, 88], "ground": 44, "sketch": 44, "mechan": [44, 96], "hardcod": 44, "lamp": [45, 98], "mern": [45, 98], "spa": [45, 76, 98], "copyright": 47, "2010": 47, "pallet": 47, "redistribut": 47, "permit": 47, "met": 47, "retain": 47, "disclaim": 47, "reproduc": 47, "materi": 47, "distribut": 47, "neither": [47, 50, 68], "holder": 47, "contributor": 47, "endors": 47, "promot": 47, "deriv": 47, "prior": [47, 57], "THE": 47, "AND": 47, "AS": 47, "OR": 47, "impli": 47, "warranti": 47, "BUT": 47, "NOT": [47, 66, 72], "TO": 47, "OF": 47, "merchant": 47, "FOR": 47, "IN": [47, 88], "shall": 47, "BE": 47, "liabl": 47, "indirect": 47, "incident": 47, "exemplari": 47, "consequenti": 47, "damag": 47, "procur": 47, "substitut": 47, "loss": 47, "profit": 47, "interrupt": 47, "theori": [47, 85], "liabil": 47, "contract": 47, "tort": 47, "neglig": 47, "aris": 47, "IF": 47, "advis": 47, "SUCH": 47, "simplifi": [48, 61, 78], "invent": [48, 94], "wheel": 48, "workload": 48, "micro": 48, "tie": 48, "individu": 48, "comprehens": 48, "engin": [48, 54, 56, 57, 65, 69, 94, 98], "rout": [48, 50, 51, 52, 53, 55, 56, 58, 61, 66, 98], "decod": 48, "recogn": 48, "tedium": 48, "formost": 48, "among": [48, 64], "certainli": 48, "concaten": 48, "insert": [48, 57, 64, 72], "temmplat": 48, "reliabl": [48, 96], "fairli": [48, 81], "realiz": [48, 68, 94], "expert": [48, 94], "mapper": 48, "increas": [48, 64, 86], "nosql": 48, "tediou": 48, "autom": 48, "therefor": [48, 50, 94], "valid": [48, 53], "minim": [48, 58, 98], "quickli": [48, 55, 68], "conclud": 48, "introductori": [48, 95], "lap": 48, "mimum": 48, "At": [48, 60, 64, 69, 94, 95], "habit": 48, "venv": 48, "flaskenv": 48, "parti": 48, "root": [48, 54, 73], "pip": 48, "itsdanger": 48, "24": 48, "jinja2": [48, 56, 57, 64], "markupsaf": [48, 50, 56], "setuptool": 48, "werkzeug": [48, 50, 52], "malform": 49, "tamper": 49, "fail": [49, 50, 66, 68, 78], "okai": 49, "repli": 49, "400": [49, 52], "won": [49, 60, 68, 95], "fishi": 49, "logger": 49, "preconfigur": 49, "debug": [49, 58, 61, 98], "occur": [49, 60, 78, 81, 82, 96], "appl": [49, 78], "eager": [50, 94], "instal": [50, 57], "escap": [50, 54, 56, 57], "__name__": [50, 66], "hello_world": [50, 66], "wsgi": [50, 52, 53, 66], "argument": [50, 54, 56, 57, 61, 66, 78], "shortcut": 50, "resourc": [50, 54, 68, 94, 96], "trigger": [50, 56], "protect": 50, "inject": [50, 57], "attack": 50, "jinja": [50, 56, 58, 64, 98], "breviti": 50, "flask_app": 50, "127": 50, "5000": 50, "depend": [50, 52, 53, 57, 77, 80, 83], "prompt": 50, "powershel": 50, "launch": 50, "builtin": [50, 57], "deploy": 50, "arbitrari": 50, "debugg": 50, "disabl": [50, 56, 57, 78, 94], "trust": [50, 52, 56, 94], "publicli": 50, "listen": [50, 68, 70], "older": 50, "upgrad": 50, "newer": 50, "incorrectli": 50, "enabl": [50, 55, 56, 57, 78, 94], "typo": [50, 80], "flask_env": 50, "flask_debug": 50, "explain": 50, "though": [50, 54], "fork": [50, 68], "imposs": 50, "risk": 50, "never": [50, 52, 60, 86], "mind": [50, 52, 60, 73, 98], "endpoint": [51, 54], "abort": 51, "url_for": [51, 53, 54, 55, 57], "login": [51, 52, 54, 55, 66], "401": 51, "this_is_never_execut": 51, "pointless": 51, "deni": 51, "errorhandl": [51, 53], "render_templ": [51, 52, 53, 56, 57, 64], "404": [51, 53, 54, 66, 96], "page_not_found": 51, "assum": [51, 53, 64, 78, 96], "went": 51, "crucial": 52, "global": [52, 57, 94], "threadsaf": 52, "proxi": 52, "mouth": 52, "thread": [52, 78], "decid": 52, "spawn": 52, "underli": [52, 94], "concurr": 52, "current": [52, 57, 60, 66, 78, 81, 94], "intellig": 52, "unless": [52, 55, 57], "suddenli": 52, "easiest": 52, "test_request_context": [52, 54], "assert": 52, "request_context": 52, "broad": 52, "overview": [52, 95], "transmit": 52, "valid_login": 52, "password": [52, 89, 98], "log_the_user_in": 52, "invalid": [52, 58, 64], "credenti": 52, "keyerror": 52, "rais": [52, 66], "catch": [52, 66, 78], "arg": [52, 61, 66], "searchword": 52, "present": [52, 54, 57], "friendli": 52, "enctyp": 52, "multipart": 52, "temporari": 52, "filesystem": [52, 54], "upload_fil": 52, "the_fil": 52, "uploaded_fil": 52, "txt": 52, "pleas": [52, 57, 78, 90], "forg": 52, "secure_filenam": 52, "util": 52, "checkout": 52, "set_cooki": 52, "make_respons": [52, 53], "resp": [52, 53, 78], "explicitli": [52, 57, 68], "mimetyp": 53, "dict": [53, 57], "jsonifi": 53, "tupl": [53, 66], "extra": [53, 70, 73, 77], "Such": 53, "overrid": 53, "not_found": [53, 66], "me_api": 53, "get_current_us": 53, "theme": 53, "user_imag": 53, "extens": [53, 55, 56, 57, 66], "users_api": 53, "get_all_us": 53, "to_json": 53, "meaning": 54, "visit": 54, "variable_nam": 54, "show_user_profil": 54, "profil": 54, "int": 54, "post_id": 54, "show_post": 54, "subpath": 54, "show_subpath": 54, "slash": [54, 73, 96], "uuid": 54, "trail": 54, "canon": 54, "pathnam": 54, "search": [54, 66, 69], "twice": 54, "unknown": 54, "unicod": 54, "transpar": 54, "myapplic": 54, "properli": 54, "shell": 54, "context": [54, 58, 68, 80, 98], "john": [54, 64], "20doe": 54, "do_the_login": 54, "show_the_login_form": 54, "rfc": 54, "likewis": 54, "ideal": [54, 64], "dure": [54, 61, 72, 95], "cryptograph": 55, "random": [55, 77], "secret_kei": 55, "_5": 55, "y2l": 55, "f4q8z": 55, "xec": 55, "redirect": [55, 58, 98], "logout": [55, 66], "pop": [55, 80], "urandom": 55, "inde": 55, "compar": [55, 95], "feedback": [55, 68], "hate": 55, "expos": 55, "get_flashed_messag": [55, 56, 57], "fun": [56, 78], "cumbersom": 56, "__init__": [56, 61, 66], "endif": [56, 64], "g": [56, 57], "wiki": 56, "strong": 56, "blink": 56, "hacker": 56, "lt": [56, 72], "gt": [56, 72], "raquo": 56, "striptag": 56, "xbb": 56, "autoescap": [56, 58, 98], "htm": [56, 57], "xhtml": [56, 57], "unsur": 56, "sqlite3": [56, 60], "leverag": [57, 94], "rich": [57, 94], "quick": [57, 98], "render_template_str": 57, "addition": 57, "config": 57, "unavail": 57, "bound": 57, "perform": [57, 61, 68, 78], "consider": [57, 78], "explicit": [57, 61], "macro": 57, "_helper": 57, "my_macro": 57, "dosomethingwith": 57, "thu": 57, "carri": 57, "entiti": [57, 60], "frustrat": 57, "inabl": 57, "lead": [57, 85], "xss": 57, "markdown": [57, 73], "accomplish": [57, 68, 78, 80, 85], "myvari": 57, "temporarili": 57, "altogeth": 57, "will_not_be_escap": 57, "endautoescap": 57, "cautiou": 57, "jinja_env": 57, "template_filt": 57, "reverse_filt": 57, "mylist": 57, "endfor": [57, 64], "context_processor": 57, "inject_us": 57, "utility_processor": 57, "format_pric": 57, "currenc": 57, "2f": 57, "33": 57, "demonstr": [57, 82, 85], "quickstart": [58, 98], "upload": [58, 98], "flash": [58, 98], "depth": [58, 63, 68, 89, 98], "processor": [58, 73, 98], "leg": [60, 85], "stool": 60, "built": [60, 77], "dbapi": 60, "career": 60, "battl": 60, "uncov": 60, "assumpt": 60, "facilit": 60, "colleg": [60, 96], "noun": 60, "professor": 60, "depart": 60, "requisit": 60, "classroom": [60, 68], "ld": 60, "aid": 60, "cs101": 60, "bio423": 60, "worth": [60, 78], "who": [60, 64, 68, 80], "meet": [60, 94], "problemat": 60, "taught": [60, 68], "draw": 60, "thinkgin": 60, "took": 60, "ou": 60, "wold": 60, "ordinari": 60, "enrol": 60, "email": 60, "ye": 60, "inevit": 60, "occurr": 60, "evolv": [60, 94], "bare": 60, "scratch": [60, 98], "surfac": 60, "huge": [60, 64, 68], "fraction": 60, "disk": [60, 96], "course_id": 60, "cs150": 60, "intro": 60, "cs130": [60, 87], "bio101": 60, "biologi": 60, "bleed": 60, "chem1": 60, "chemistri": 60, "smell": 60, "target": [60, 71], "4567": 60, "student_id": 60, "miller": [60, 68, 96, 98], "olin": [60, 85, 96], "202": [60, 85], "fall14": 60, "rinco": 60, "valder": 60, "117": 60, "spr14": 60, "112": 60, "spr13": 60, "dig": [61, 96], "advanc": [61, 75, 94, 98], "simpler": [61, 66], "callabl": [61, 65, 98], "call_count": 61, "func": 61, "kwarg": 61, "topic": [61, 80], "concis": 61, "confus": [61, 78, 80, 85, 96], "dot": [61, 64, 88], "setattr": 61, "fib": 61, "equival": 61, "comment": 61, "job": [61, 68, 73, 80], "orgini": 61, "varibl": 61, "sytact": 61, "sugar": 61, "seem": [61, 68, 78, 88, 96], "awkward": 61, "higher": 61, "hopefulli": [61, 78, 85], "huh": 61, "clearli": [61, 73], "dunder": 61, "__call__": [61, 66], "treat": 61, "clutter": 61, "extran": 61, "betterdecor": 61, "outer": [61, 66], "oh": [61, 78], "yeah": 61, "equat": 61, "allot": 61, "holi": 61, "abstract": [61, 85, 88], "batman": 61, "argdec": 61, "wrapped_f": 61, "evalu": [61, 66, 78, 88], "recal": [61, 96], "funni": 61, "wall": 61, "dispatch": [61, 66], "technologi": [63, 94, 95, 97, 98], "strategi": 63, "eas": 64, "unifi": 64, "divis": 64, "labor": 64, "plu": 64, "simplest": 64, "shortli": [64, 66, 71, 78, 86], "filesystemload": 64, "loader": 64, "get_templ": 64, "doubl": [64, 73], "curli": 64, "__str__": 64, "gpa": 64, "joe": 64, "__getattr__": 64, "__getitem__": 64, "plist": 64, "length": 64, "prime": 64, "delimit": 64, "scenario": 64, "overridden": 64, "land": 64, "annd": 64, "endblock": 64, "creativ": [64, 94, 98], "2014": [64, 68, 96], "tempat": 64, "awesom": 64, "intact": 64, "subdirectori": 64, "todo": 64, "todolist": 64, "inter": 64, "scene": [65, 66, 98], "deploi": [65, 98], "loop": [65, 66, 86, 98], "physic": [65, 94, 98], "whiskei": 66, "foundat": 66, "respond": [66, 68, 78, 85, 90], "compliant": 66, "builder": 66, "yield": 66, "flush": 66, "middlewar": 66, "appreci": 66, "parse_q": 66, "start_respons": 66, "accommod": 66, "__main__": 66, "wsgiref": 66, "simple_serv": 66, "make_serv": 66, "srv": 66, "serve_forev": 66, "blah": 66, "baz": 66, "sdfsdf": 66, "lest": 66, "overli": 66, "path_info": 66, "goodby": 66, "bye": 66, "scalabl": 66, "deail": 66, "wsgirequesthandl": 66, "appit": 66, "hasattr": 66, "8080": 66, "incom": 66, "assembl": 66, "thate": 66, "varieti": [66, 68, 83], "associ": 66, "examin": [66, 94], "router": [66, 96], "lstrip": 66, "regex": 66, "myapp": 66, "url_arg": 66, "crazi": [66, 68, 71], "start_resons": 66, "shrek": 66, "ogr": 66, "exceptionmiddlewar": 66, "unchang": [66, 87], "occour": 66, "traceback": 66, "e_typ": 66, "e_valu": 66, "tb": 66, "exc_info": 66, "recent": 66, "format_tb": 66, "500": [66, 96], "caught": [66, 85], "authent": 66, "seven": 68, "haven": [68, 85], "too": [68, 70, 77, 81, 88], "runeston": [68, 71, 78, 96], "am": [68, 71, 80], "happi": 68, "lectur": 68, "regurgit": 68, "knowledg": 68, "gain": [68, 80], "obsolet": 68, "emphas": 68, "essenti": 68, "equip": 68, "arm": 68, "hundr": 68, "thousand": 68, "horribl": 68, "dedic": 68, "believ": [68, 94], "judg": [68, 90], "mistak": 68, "stupid": 68, "brain": 68, "finger": 68, "water": 68, "stream": 68, "extent": 68, "instructor": 68, "realiti": 68, "poll": [68, 98], "amaz": 68, "ted": 68, "eduardo": 68, "brice\u00f1o": 68, "versu": 68, "takeawai": 68, "arriv": [68, 78], "repercuss": 68, "spend": 68, "opportun": [68, 94], "enjoi": 68, "chanc": 68, "licens": [68, 94, 98], "brad": [68, 98], "septemb": [68, 103], "2019": [68, 78, 103], "outlin": [69, 73], "roman": [69, 70], "rowspan": [69, 70], "columnspan": 69, "jump": [69, 71], "invisibli": 70, "influenc": 70, "delin": 70, "encourag": 70, "deprec": 70, "colspan": 70, "Its": 70, "music": 70, "speech": 70, "hors": 70, "ogg": 70, "mp3": 70, "mpeg": 70, "fast": 70, "rewind": 70, "movi": 70, "312": 70, "540": 70, "mp4": 70, "bigger": 71, "somewhat": 71, "disadvantag": 71, "Thats": 71, "necessarili": [71, 78], "funament": 71, "surround": [71, 73], "academi": [71, 78, 96], "webfundament": [71, 96], "_imag": 71, "lutherbellp": 71, "jpg": [71, 82, 96], "inlud": 71, "stretch": 71, "hyperlink": [71, 72, 95], "superscript": 71, "subscript": 71, "annot": 73, "readabl": 73, "editor": [73, 94], "restructuredtext": 73, "restructutedtext": 73, "sphinx": 73, "_": [73, 96], "daringfirebal": 73, "net": [73, 78], "unobtrus": 73, "asterisk": 73, "subhead": 73, "subsubhead": 73, "tagnam": [73, 80], "balanc": 73, "seri": [73, 95, 96], "mimic": 73, "tree": [73, 80, 82, 88], "upsid": 73, "90": [73, 92], "degre": 73, "clockwis": 73, "orient": [73, 85], "sidebar": 74, "scholarli": 74, "apart": 74, "figcapt": 74, "hypertext": [75, 94, 98], "nest": [75, 98], "audio": [75, 98], "video": [75, 79, 94, 98], "ifram": [75, 98], "phrase": 76, "lastchild": 76, "previouss": 76, "innertext": [76, 80], "multipli": 76, "parseint": 76, "myin1": 76, "queryselector": [76, 80, 81, 87, 88], "in1id": 76, "value1": 76, "convers": [76, 85, 95], "duti": 77, "cold": 77, "hous": 77, "decis": [77, 94], "formal": [77, 85], "rang": [77, 81, 89, 94, 98], "checkm": 77, "onchang": [77, 81], "greater": 77, "100": 77, "blow": 77, "reset": 77, "hardest": 78, "prgram": 78, "cope": 78, "sit": [78, 85], "queue": 78, "accordingli": 78, "2015": 78, "ecmascript5": 78, "releas": 78, "groceri": 78, "milk": 78, "reject": 78, "eat": 78, "glass": 78, "graph": 78, "backup": 78, "imaginari": [78, 85], "predict": 78, "stock": 78, "symbol": 78, "trade": 78, "accuraci": 78, "predictor": 78, "suspect": 78, "aapl": 78, "goog": 78, "fb": 78, "amzn": 78, "msft": 78, "ai": 78, "235": 78, "87": 78, "nail": 78, "perfectli": 78, "mileag": 78, "vari": 78, "invest": 78, "advic": 78, "verbos": 78, "mypromis": 78, "receiverespons": 78, "successfulli": 78, "jp": 78, "safeti": 78, "receivejson": 78, "242": [78, 96], "refin": 78, "anonym": 78, "clog": 78, "namespac": 78, "chain": 78, "compact": [78, 81], "experienc": 78, "synchron": 78, "guarante": 78, "paus": 78, "exectuion": 78, "hapen": 78, "resum": 78, "wow": 78, "getprediciton": 78, "race": 78, "widget": 78, "histori": [78, 92, 97, 98], "kick": 78, "nth": 78, "vega": 79, "ultim": 79, "randomli": 79, "slot_1_j": 79, "slot_2_j": 79, "trow": 80, "createtextnod": 80, "textnod": 80, "piec": [80, 94, 96], "comparison": 80, "tricki": 80, "pai": 80, "attent": [80, 85], "clickon": 80, "dialog": 80, "parenthesi": 80, "classnam": 80, "clickm": 80, "parentnod": 80, "obtain": 81, "changecolor": 81, "unsatisfi": 81, "commonli": [81, 96], "tap": 81, "keyboard": 81, "onkeyup": 81, "onkeydown": 81, "onkeypress": 81, "shift": 81, "alt": 81, "unreli": 81, "slight": 81, "difficulti": [81, 94], "nicer": 81, "slider": 81, "onmousemov": 81, "enhanc": 81, "onmouseup": 81, "polish": 81, "movement": 81, "showvalu": 81, "complict": 81, "rewrit": 81, "redv": 81, "redi": 81, "undertand": 81, "thespan": 81, "theslid": 81, "sliderv": 81, "onmousedown": 81, "setinterv": 81, "clearinterv": 81, "exam": 82, "demo": 82, "correctli": [82, 96], "mytr": 82, "xxx": 82, "a4": 82, "a1": 82, "a2": 82, "a3": 82, "a5": 82, "130": 82, "changem": 83, "secret": 83, "group1": 83, "audi": 83, "br": 83, "bmw": 83, "merced": 83, "picker": 83, "125": 83, "coe": 84, "simpson": 84, "central": [84, 95], "wartburg": 84, "queryselectoral": 84, "funciton": 84, "procedur": 85, "dissect": 85, "stuff": [85, 89, 98], "glad": 85, "expand": 85, "someon": 85, "everydai": 85, "hypothet": 85, "bed": 85, "dress": 85, "walk": 85, "hall": [85, 96], "elev": 85, "fourth": 85, "floor": 85, "door": 85, "campu": 85, "stair": 85, "bore": 85, "slide": 85, "climb": 85, "ladder": 85, "dumb": 85, "meantim": 85, "fontsiz": 85, "48pt": 85, "excit": 86, "forev": 86, "legal": 87, "dragon": 87, "wizard": 87, "castl": 87, "dungeon": 87, "myli": 87, "guess": [88, 89, 98], "technic": 88, "terminologi": 88, "backgroundcolor": 88, "discov": 88, "backgroudcolor": 88, "lightblu": 88, "preceed": 88, "wipe": 88, "portion": 88, "goal": [88, 98], "grown": 88, "assgin": 88, "statemetnt": 88, "signific": 88, "mymain": 88, "breather": 88, "radio": [89, 98], "game": [89, 98], "asynchron": [89, 98], "promis": [89, 98], "async": [89, 98], "await": [89, 98], "honestli": 90, "archiv": 92, "wednesdai": 92, "moder": 92, "feb": 92, "1999": 92, "itcorp": 92, "1986": 92, "tim": 94, "berner": 94, "lee": 94, "1989": 94, "establish": [94, 96], "cern": 94, "particl": 94, "laboratori": 94, "geneva": 94, "switzerland": 94, "particip": 94, "period": 94, "understood": 94, "unreal": 94, "submiss": 94, "propos": 94, "truli": 94, "persev": 94, "octob": 94, "he": 94, "fundament": 94, "uniform": [94, 96], "worldwideweb": 94, "httpd": 94, "1991": 94, "growth": 94, "announc": 94, "april": 94, "1993": 94, "anyon": 94, "royalti": 94, "basi": 94, "arguabl": 94, "planet": 94, "acceler": 94, "substanti": 94, "disagre": 94, "collabor": 94, "love": 94, "cure": 94, "cancer": 94, "reach": 94, "1994": 94, "consortium": 94, "w3c": 94, "stakehold": 94, "consensu": 94, "guidelin": 94, "everyon": 94, "manner": 94, "increasingli": 94, "voic": 94, "richer": 94, "graphic": 94, "underpin": 94, "trillion": 94, "2008": 94, "billion": 94, "2009": 94, "2005": 94, "colleagu": 94, "wst": 94, "multidisciplinari": 94, "research": 94, "sociologist": 94, "mathematician": 94, "entrepreneur": 94, "maker": 94, "guid": 94, "tomorrow": 94, "disciplin": 94, "critic": 94, "effort": 94, "coordin": 94, "studi": 94, "ahead": 94, "agent": [94, 96], "empower": 94, "incred": 94, "exclud": 94, "factor": 94, "10th": 94, "anniversari": 94, "timelin": 94, "weav": 94, "webfound": 94, "vision": 94, "tablet": 95, "smartphon": 95, "desktop": 95, "aw": 95, "deep": 95, "meant": 95, "deeper": 95, "hyper": 95, "drab": 95, "sctructur": 95, "cascad": [95, 98], "desrib": 95, "scrollbar": 95, "bradlei": 96, "321": 96, "decorah": 96, "ia": 96, "mailto": 96, "ftp": 96, "undoubtedli": 96, "108": 96, "168": 96, "153": 96, "dalla": 96, "tx": 96, "discuss": 96, "dn": 96, "grant": 96, "socket": 96, "mozilla": 96, "en": 96, "drive": 96, "tue": 96, "sept": 96, "39": 96, "spell": 96, "mistyp": 96, "crash": 96, "302": 96, "particularli": 96, "inspir": 98, "wayback": 98, "prefac": 98, "zone": 98, "sharealik": 98, "cor": 104}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"exercis": [0, 2, 4, 6, 11, 22, 25, 27, 29, 31, 33, 36, 46, 59, 69, 76, 93, 99], "interact": [1, 83], "other": 1, "servic": 1, "queri": [1, 30], "string": [1, 84], "paramet": 1, "check": 1, "your": [1, 16, 17, 104], "understand": 1, "javascript": [1, 2, 3, 38, 76, 79, 81, 82, 85, 87, 89], "object": [1, 2, 34, 38, 52, 84, 88], "notat": [1, 38], "json": [1, 38, 53], "prototyp": [2, 40, 41, 42, 101], "creation": 2, "advanc": [3, 17, 70], "socket": 5, "The": [5, 12, 17, 26, 32, 43, 52, 57, 58, 60, 66, 68, 73, 83, 85, 92, 96, 97], "build": [5, 54], "block": 5, "network": 5, "program": [5, 7, 78, 82, 85, 90, 98], "server": [7, 50, 62, 66, 101], "side": 7, "cooki": [8, 52], "process": [9, 48], "user": 9, "input": [9, 83], "combin": 9, "One": [9, 12], "file": [9, 52, 54], "common": 10, "gatewai": [10, 66], "interfac": [10, 66, 103], "css": [11, 14, 16, 17], "dropdown": 12, "menu": [12, 83], "project": [12, 79, 91, 98], "step": 12, "two": [12, 13], "three": 12, "four": 12, "five": 12, "quiz": [13, 19, 72, 82, 87], "trick": 14, "hover": 14, "anim": 14, "grid": 15, "layout": [15, 17], "introduct": [16, 35, 95], "syntax": 16, "includ": 16, "page": [16, 17, 23], "cascad": [16, 21], "chang": [17, 20], "box": 17, "model": [17, 39, 41, 60], "greek": 17, "displai": 17, "float": 17, "posit": [17, 19], "fix": 17, "rel": 17, "coordin": 17, "topic": 17, "transform": 17, "absolut": 17, "full": [17, 37], "more": 18, "match": 18, "multipl": 18, "tag": [18, 70, 71, 74, 83], "us": [18, 38, 81, 104], "an": [18, 20, 96], "id": 18, "attribut": [18, 88], "rule": [18, 54], "class": 18, "children": 18, "style": [20, 21], "html": [20, 70, 71, 72, 74, 75, 83], "element": [20, 80, 83], "background": 20, "text": [20, 71, 83], "font": 20, "sheet": 21, "publish": [23, 24, 43], "web": [23, 37, 45, 48, 66, 94, 96, 97, 98, 100, 103, 104], "cloud": [23, 24, 62], "record": 26, "sql": [26, 30, 35], "human": 26, "basic": [26, 32, 71, 75], "featur": 26, "data": [26, 30, 52, 60], "export": 26, "function": 26, "instal": [26, 48], "command": 26, "line": 26, "tool": 26, "thank": 26, "you": 26, "aggreg": 27, "group": 27, "By": 27, "practic": [27, 29, 31, 33], "predict": 28, "bike": [28, 30], "rental": [28, 30], "filter": [29, 57], "explor": 30, "languag": [30, 73, 85, 90], "get": 30, "start": [30, 50], "verifi": 30, "access": [30, 32, 52], "dataset": 30, "join": 31, "databas": [32, 48, 60], "from": 32, "python": [32, 61], "sort": 33, "relat": 34, "map": 34, "sqlalchemi": 34, "modern": [37, 48], "applic": [37, 45, 50, 66, 103, 104], "architectur": 37, "cgi": 37, "stack": 37, "lamp": 37, "mean": 37, "mern": 37, "becom": 37, "develop": [37, 48, 65], "serial": 38, "localstorag": 38, "view": [39, 41], "control": [39, 41, 57], "first": [40, 73], "shop": 40, "list": [40, 42, 70, 98, 101], "our": [41, 101], "second": 41, "code": 41, "3": 42, "store": [42, 101], "browser": 42, "subscrib": 43, "design": 43, "pattern": 43, "A": [44, 50, 102], "trip": 44, "spa": 44, "dynam": 45, "toward": 48, "templat": [48, 56, 57, 64], "form": 48, "flask": [48, 50, 58, 63, 64], "virtual": 48, "environ": 48, "log": 49, "quickstart": 50, "minim": 50, "extern": 50, "visibl": 50, "what": [50, 80], "do": 50, "doe": 50, "old": 50, "version": 50, "invalid": 50, "import": 50, "name": 50, "debug": 50, "mode": 50, "attent": 50, "redirect": [51, 54], "error": 51, "request": [52, 96], "context": [52, 57], "local": 52, "insid": 52, "inform": 52, "upload": 52, "about": 53, "respons": [53, 96], "api": [53, 100, 102, 103, 104], "rout": 54, "variabl": 54, "uniqu": 54, "url": 54, "behavior": [54, 57], "http": [54, 96], "method": [54, 88], "static": 54, "session": 55, "how": 55, "gener": [55, 90], "good": 55, "secret": 55, "kei": [55, 80], "messag": 55, "flash": 55, "render": 56, "depth": [57, 78], "jinja": 57, "setup": 57, "standard": 57, "autoescap": 57, "regist": 57, "processor": 57, "framework": [58, 65], "persist": 60, "physic": 60, "decor": 61, "deploi": 62, "behind": 63, "scene": 63, "engin": 64, "loop": 64, "condit": 64, "inherit": 64, "callabl": 66, "prefac": 68, "content": 68, "structur": 68, "thi": [68, 80, 81], "book": 68, "learn": 68, "zone": 68, "unord": 70, "order": 70, "descript": 70, "nest": 70, "tabl": 70, "audio": 70, "video": 70, "ifram": 70, "head": [71, 73], "paragraph": 71, "imag": 71, "link": 71, "simpl": 71, "format": 71, "hypertext": 73, "markup": 73, "my": 73, "semant": 74, "histor": 74, "note": 74, "select": 77, "guess": 77, "game": 77, "asynchron": 78, "promis": 78, "async": 78, "await": 78, "slot": 79, "machin": [79, 92], "creat": 80, "fly": 80, "which": 80, "button": [80, 83], "i": 80, "attach": 80, "event": [80, 81], "point": 80, "section": 81, "final": 82, "question": 82, "password": 83, "checkbox": 83, "radio": 83, "color": 83, "rang": 83, "date": 83, "stuff": 83, "drop": 83, "down": 83, "helper": 84, "arrai": 84, "iter": 86, "intro": 90, "dai": 90, "platform": 90, "open": 90, "sourc": 90, "softwar": 90, "wayback": 92, "histori": 94, "world": [94, 97], "wide": [94, 97], "foundat": 94, "technologi": 96, "fundament": 98, "implement": 100, "4": 101, "rest": 102, "programm": 103}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"Exercises": [[0, "exercises"], [4, "exercises"], [6, "exercises"], [22, "exercises"], [25, "exercises"], [36, "exercises"], [46, "exercises"], [59, "exercises"], [69, "exercises"], [93, "exercises"], [99, "exercises"]], "Interacting with Other Services": [[1, "interacting-with-other-services"]], "Query String Parameters": [[1, "query-string-parameters"]], "Check your Understanding": [[1, "check-your-understanding"]], "Javascript Object Notation (JSON)": [[1, "javascript-object-notation-json"]], "Javascript Prototypes": [[2, "javascript-prototypes"]], "Object Creation": [[2, "object-creation"]], "Exercise": [[2, "exercise"]], "Advanced Javascript": [[3, "advanced-javascript"]], "Sockets: The Building Blocks of Network Programming": [[5, "sockets-the-building-blocks-of-network-programming"]], "Server Side Programming": [[7, "server-side-programming"]], "Cookies": [[8, "cookies"], [52, "cookies"]], "Processing user Input": [[9, "processing-user-input"]], "Combining into One File": [[9, "combining-into-one-file"]], "Common Gateway Interface": [[10, "common-gateway-interface"]], "CSS Exercises": [[11, "css-exercises"]], "The Dropdown Menu Project": [[12, "the-dropdown-menu-project"]], "Step One": [[12, "step-one"]], "Step Two": [[12, "step-two"]], "Step Three": [[12, "step-three"]], "Step Four": [[12, "step-four"]], "Step Five": [[12, "step-five"]], "Quiz Two": [[13, "quiz-two"]], "CSS Tricks": [[14, "css-tricks"]], "Hover": [[14, "hover"]], "Animation": [[14, "animation"]], "Grid Layout": [[15, "grid-layout"]], "Introduction to CSS": [[16, "introduction-to-css"]], "CSS Syntax": [[16, "css-syntax"]], "Including CSS in Your Page": [[16, "including-css-in-your-page"]], "Cascading": [[16, "cascading"]], "Changing your page layout": [[17, "changing-your-page-layout"]], "The CSS Box Model": [[17, "the-css-box-model"]], "Greeking": [[17, null]], "Display": [[17, "display"]], "Floating": [[17, "floating"]], "Positioning": [[17, "positioning"]], "Fixed": [[17, "fixed"]], "Relative": [[17, "relative"]], "Coordinates": [[17, null]], "Advanced Topic: Transformation": [[17, null]], "Absolute": [[17, "absolute"]], "Full Page Layout": [[17, "full-page-layout"]], "More on Matching": [[18, "more-on-matching"]], "Matching multiple tags": [[18, "matching-multiple-tags"]], "Using an id attribute in a rule": [[18, "using-an-id-attribute-in-a-rule"]], "Using the class attribute in a rule": [[18, "using-the-class-attribute-in-a-rule"]], "Matching Children": [[18, "matching-children"]], "Positioning Quiz": [[19, "positioning-quiz"]], "Changing the Style of an HTML Element": [[20, "changing-the-style-of-an-html-element"]], "Background": [[20, "background"]], "Text": [[20, "text"]], "Font": [[20, "font"]], "Cascading Style Sheets": [[21, "cascading-style-sheets"]], "Publishing a web page in the Cloud": [[23, "publishing-a-web-page-in-the-cloud"]], "Publishing in the Cloud": [[24, "publishing-in-the-cloud"]], "Records: SQL for Humans\u2122": [[26, "records-sql-for-humans"]], "\u2624 The Basics": [[26, "the-basics"]], "\u2624 Features": [[26, "features"]], "\u2624 Data Export Functionality": [[26, "data-export-functionality"]], "\u2624 Installation": [[26, "installation"]], "\u2624 Command-Line Tool": [[26, "command-line-tool"]], "\u2624 Thank You": [[26, "thank-you"]], "Aggregation or Group By": [[27, "aggregation-or-group-by"]], "Practice Exercises": [[27, "practice-exercises"], [29, "practice-exercises"], [31, "practice-exercises"], [33, "practice-exercises"]], "Predicting Bike Rentals": [[28, "predicting-bike-rentals"]], "Filtering": [[29, "filtering"]], "Exploring Bike Rental Data with SQL": [[30, "exploring-bike-rental-data-with-sql"]], "Query Language": [[30, "query-language"]], "Getting Started with the Bike Data": [[30, "getting-started-with-the-bike-data"]], "Verify access to the dataset": [[30, "verify-access-to-the-dataset"]], "Joining": [[31, "joining"]], "Accessing Databases from Python": [[32, "accessing-databases-from-python"]], "The Basics": [[32, "the-basics"]], "Sorting": [[33, "sorting"]], "Object Relational Mapping with SQLAlchemy": [[34, "object-relational-mapping-with-sqlalchemy"]], "Introduction to SQL": [[35, "introduction-to-sql"]], "Introduction": [[35, null], [95, "introduction"]], "Modern Web Application Architecture": [[37, "modern-web-application-architecture"]], "CGI Stack": [[37, "cgi-stack"]], "LAMP Stack": [[37, "lamp-stack"]], "MEAN / MERN Stack": [[37, "mean-mern-stack"]], "Becoming a Full Stack developer": [[37, "becoming-a-full-stack-developer"]], "Serializing and LocalStorage": [[38, "serializing-and-localstorage"]], "Using JavaScript Object Notation (JSON)": [[38, "using-javascript-object-notation-json"]], "Using the localStorage Object": [[38, "using-the-localstorage-object"]], "Model View Controller": [[39, "model-view-controller"]], "First Shopping List Prototype": [[40, "first-shopping-list-prototype"]], "Our Second Prototype": [[41, "our-second-prototype"]], "Model Code": [[41, "model-code"]], "View Code": [[41, "view-code"]], "Controller Code": [[41, "controller-code"]], "Prototype 3 Storing the List in the Browser": [[42, "prototype-3-storing-the-list-in-the-browser"]], "The Publish and Subscribe Design Pattern": [[43, "the-publish-and-subscribe-design-pattern"]], "A trip to the SPA": [[44, "a-trip-to-the-spa"]], "Dynamic Web Applications": [[45, "dynamic-web-applications"]], "Toward Modern Web Development": [[48, "toward-modern-web-development"]], "Templates": [[48, "templates"]], "Databases": [[48, "databases"]], "Forms Processing": [[48, "forms-processing"]], "Flask": [[48, "flask"]], "Installing a Virtual Environment and Flask": [[48, null]], "Logging": [[49, "logging"]], "Quickstart": [[50, "quickstart"]], "A Minimal Application": [[50, "a-minimal-application"]], "Externally Visible Server": [[50, "public-server"]], "What to do if the Server does not Start": [[50, "what-to-do-if-the-server-does-not-start"]], "Old Version of Flask": [[50, "old-version-of-flask"]], "Invalid Import Name": [[50, "invalid-import-name"]], "Debug Mode": [[50, "debug-mode"]], "Attention": [[50, null]], "Redirects and Errors": [[51, "redirects-and-errors"]], "Accessing Request Data": [[52, "accessing-request-data"]], "Context Locals": [[52, "context-locals"]], "Insider Information": [[52, null]], "The Request Object": [[52, "the-request-object"]], "File Uploads": [[52, "file-uploads"]], "About Responses": [[53, "about-responses"]], "APIs with JSON": [[53, "apis-with-json"]], "Routing": [[54, "routing"]], "Variable Rules": [[54, "variable-rules"]], "Unique URLs / Redirection Behavior": [[54, "unique-urls-redirection-behavior"]], "URL Building": [[54, "url-building"]], "HTTP Methods": [[54, "http-methods"]], "Static Files": [[54, "static-files"]], "Sessions": [[55, "sessions"]], "How to generate good secret keys": [[55, null]], "Message Flashing": [[55, "message-flashing"]], "Rendering Templates": [[56, "rendering-templates"]], "Templates in Depth": [[57, "templates-in-depth"]], "Jinja Setup": [[57, "jinja-setup"]], "Standard Context": [[57, "standard-context"]], "The Jinja Context Behavior": [[57, null]], "Standard Filters": [[57, "standard-filters"]], "Controlling Autoescaping": [[57, "controlling-autoescaping"]], "Registering Filters": [[57, "registering-filters"]], "Context Processors": [[57, "context-processors"]], "The Flask Framework": [[58, "the-flask-framework"]], "Persistent Data and Databases": [[60, "persistent-data-and-databases"]], "Data Modeling": [[60, "data-modeling"]], "The Physical Database": [[60, "the-physical-database"]], "Python Decorators": [[61, "python-decorators"]], "Deploying a Server in the Cloud": [[62, "deploying-a-server-in-the-cloud"]], "Behind the scenes in Flask": [[63, "behind-the-scenes-in-flask"]], "Template Engines": [[64, "template-engines"]], "Loops in Templates": [[64, "loops-in-templates"]], "Conditionals in Templates": [[64, "conditionals-in-templates"]], "Template Inheritance": [[64, "template-inheritance"]], "Templates in Flask": [[64, "templates-in-flask"]], "Framework Development": [[65, "framework-development"]], "Web Server Gateway Interface": [[66, "web-server-gateway-interface"]], "The Application Callable": [[66, "the-application-callable"]], "Preface": [[68, "preface"]], "The Content and Structure of this Book": [[68, "the-content-and-structure-of-this-book"]], "Learning Zones": [[68, "learning-zones"]], "Advanced HTML Tags": [[70, "advanced-html-tags"]], "Unordered Lists": [[70, "unordered-lists"]], "Ordered Lists": [[70, "ordered-lists"]], "Description Lists": [[70, "description-lists"]], "Nesting Lists": [[70, "nesting-lists"]], "Tables": [[70, "tables"]], "Audio": [[70, "audio"]], "Video": [[70, "video"]], "IFrames": [[70, "iframes"]], "Basic HTML Tags": [[71, "basic-html-tags"]], "Headings": [[71, "headings"]], "Paragraphs": [[71, "paragraphs"]], "Images": [[71, "images"]], "Links": [[71, "links"]], "Simple Text Formatting": [[71, "simple-text-formatting"]], "HTML Quiz": [[72, "html-quiz"]], "The HyperText Markup Language": [[73, "the-hypertext-markup-language"]], "My First Heading": [[73, "my-first-heading"]], "Semantic HTML Tags": [[74, "semantic-html-tags"]], "Historical Note": [[74, null]], "HTML Basics": [[75, "html-basics"]], "Javascript Exercises": [[76, "javascript-exercises"]], "Selection": [[77, "selection"]], "Guessing Game": [[77, "guessing-game"]], "Asynchronous Programming": [[78, "asynchronous-programming"]], "Promises": [[78, "promises"]], "Async / Await": [[78, "async-await"]], "Promises in Depth": [[78, "promises-in-depth"]], "Javascript Project Slot Machine": [[79, "javascript-project-slot-machine"]], "Creating Elements on the Fly": [[80, "creating-elements-on-the-fly"]], "Which Button?": [[80, "which-button"]], "What is this?": [[80, "what-is-this"]], "Attaching Events": [[80, "attaching-events"]], "Key Point": [[80, null]], "Javascript Events": [[81, "javascript-events"]], "Events Used in this Section": [[81, "events-used-in-this-section"]], "Javascript Final Quiz": [[82, "javascript-final-quiz"]], "Programming Question": [[82, "programming-question"]], "HTML Elements for Interaction": [[83, "html-elements-for-interaction"]], "Button": [[83, "button"]], "The Input Tag": [[83, "the-input-tag"]], "Text Input": [[83, "text-input"]], "Password": [[83, "password"]], "Checkbox": [[83, "checkbox"]], "Radio": [[83, "radio"]], "Color": [[83, "color"]], "Range": [[83, "range"]], "Date Stuff": [[83, "date-stuff"]], "Drop Down Menus": [[83, "drop-down-menus"]], "Helper Objects": [[84, "helper-objects"]], "Array": [[84, "array"]], "String": [[84, "string"]], "The Javascript Programming Language": [[85, "the-javascript-programming-language"]], "Iteration": [[86, "iteration"]], "Javascript Quiz": [[87, "javascript-quiz"]], "Objects Attributes and Methods": [[88, "objects-attributes-and-methods"]], "Javascript": [[89, "javascript"]], "Intro Day": [[90, "intro-day"]], "Platforms and Programming languages": [[90, "platforms-and-programming-languages"]], "Open Source Software": [[90, "open-source-software"]], "General": [[90, "general"]], "Projects": [[91, "projects"]], "The Wayback Machine": [[92, "the-wayback-machine"]], "History": [[94, "history"]], "World Wide Web Foundation": [[94, null]], "The Technology of the Web": [[96, "the-technology-of-the-web"]], "An HTTP Request": [[96, "an-http-request"]], "An HTTP Response": [[96, "an-http-response"]], "The World Wide Web": [[97, "the-world-wide-web"]], "Fundamentals of Web Programming": [[98, "fundamentals-of-web-programming"]], "Project List": [[98, "project-list"]], "Implementing a Web API": [[100, "implementing-a-web-api"]], "Prototype 4 - Storing our List on a Server": [[101, "prototype-4-storing-our-list-on-a-server"]], "A RESTful API": [[102, "a-restful-api"]], "Web Application Programmer Interfaces (APIs)": [[103, "web-application-programmer-interfaces-apis"]], "Using Web APIs in your Application": [[104, "using-web-apis-in-your-application"]]}, "indexentries": {}})