|
Please note that this page does not hosts or makes available any of the listed filenames. You
cannot download any of those files from here.
|
| _WDB+CSS+Box+Model.pdf |
5.36MB |
| 04_CSS_Intro_CODE.zip |
6.46KB |
| 08_Bootstrap_CODE.zip |
21.13KB |
| 101 Photo Blog CodeAlong Pt 1.mp4 |
112.76MB |
| 102 Photo Blog CodeAlong Pt 2.mp4 |
120.33MB |
| 103 What Matters In This Section.mp4 |
15.20MB |
| 104 What on Earth Is Flexbox.mp4 |
64.27MB |
| 105 Flex-Direction.mp4 |
37.27MB |
| 106 Justify-Content.mp4 |
27.99MB |
| 107 Flex-Wrap.mp4 |
21.84MB |
| 108 Align-Items.mp4 |
48.81MB |
| 109 Align-Content & Align-Self.mp4 |
34.45MB |
| 10 Migrating From The Old Version Of This Course.mp4 |
64.21MB |
| 110 Flex-Basis, Grow, & Shrink.mp4 |
55.99MB |
| 111 Flex Shorthand.mp4 |
43.26MB |
| 112 Responsive Design & Media Queries Intro.mp4 |
99.78MB |
| 113 The Power of Media Queries.mp4 |
93.59MB |
| 114 Building a Responsive Nav.mp4 |
79.99MB |
| 115 Pricing Panel CodeAlong Pt 1.mp4 |
42.64MB |
| 116 Pricing Panel CodeAlong Pt 2.mp4 |
35.54MB |
| 117 Pricing Panel CodeAlong Pt 3.mp4 |
56.68MB |
| 118 Pricing Panel CodeAlong Pt 4.mp4 |
66.65MB |
| 119 Pricing Panel CodeAlong Pt 5.mp4 |
53.53MB |
| 11 What Matters In This Section.mp4 |
27.65MB |
| 12_Boolean_Logic_CODE.zip |
6.01KB |
| 120 Pricing Panel CodeAlong Pt 6.mp4 |
42.06MB |
| 121 What Matters In This Section.mp4 |
14.46MB |
| 122 WTF Is Bootstrap.mp4 |
110.06MB |
| 123 Including Bootstrap & Containers.mp4 |
124.23MB |
| 124 Bootstrap Buttons.mp4 |
122.82MB |
| 125 Bootstrap Typography & Utilities.mp4 |
105.12MB |
| 126 Badges, Alerts, & Button Groups.mp4 |
156.01MB |
| 127 Intro to the Bootstrap Grid.mp4 |
89.61MB |
| 128 Responsive Bootstrap Grids.mp4 |
173.92MB |
| 129 Useful Grid Utilities.mp4 |
133.63MB |
| 12 The Internet in 5 Minutes.mp4 |
62.86MB |
| 130 Bootstrap & Forms.mp4 |
163.75MB |
| 131 Bootstrap Navbars.mp4 |
205.10MB |
| 132 Bootstrap Icons!.mp4 |
91.15MB |
| 133 Other Bootstrap Utilities.mp4 |
138.08MB |
| 134 A Mixed Bag of Other Bootstrap Stuff.mp4 |
61.06MB |
| 135 Watch This First! (it's short).mp4 |
7.96MB |
| 136 Museum of Candy Project Part 1.mp4 |
69.02MB |
| 138 Museum of Candy Project Part 2.mp4 |
135.57MB |
| 139 Museum of Candy Project Part 3.mp4 |
145.86MB |
| 13 Intro to the Web.mp4 |
35.87MB |
| 140 Museum of Candy Project Part 4.mp4 |
273.47MB |
| 141 Museum of Candy Project Part 5.mp4 |
153.73MB |
| 142 What Matters In This Section.mp4 |
8.93MB |
| 143 Why JavaScript is Awesome.mp4 |
86.21MB |
| 144 Primitives & The Console.mp4 |
36.45MB |
| 145 JavaScript Numbers.mp4 |
35.09MB |
| 146 WTF is NaN.mp4 |
12.43MB |
| 147 Quick Numbers Quiz.mp4 |
5.72MB |
| 148 Variables & Let.mp4 |
29.94MB |
| 149 Updating Variables.mp4 |
22.19MB |
| 14 The RequestResponse Cycle.mp4 |
43.52MB |
| 150 Increment Operator Explanation i++ vs ++i.mp4 |
10.27MB |
| 151 Const & Var.mp4 |
24.81MB |
| 152 Booleans.mp4 |
23.38MB |
| 153 Variable Naming and Conventions.mp4 |
22.85MB |
| 154 What Matters In This Section.mp4 |
7.47MB |
| 155 Introducing Strings.mp4 |
22.86MB |
| 156 Indices & Length.mp4 |
39.51MB |
| 157 String Methods.mp4 |
43.83MB |
| 158 String Methods With Arguments.mp4 |
73.94MB |
| 159 String Template Literals -SUPER USEFUL.mp4 |
31.88MB |
| 15 Front-End and Back-End.mp4 |
24.43MB |
| 160 Undefined & Null.mp4 |
14.78MB |
| 161 Random Numbers & The Math Object.mp4 |
55.68MB |
| 162 What Matters In This Section.mp4 |
7.41MB |
| 163 Decision Making With Code.mp4 |
21.34MB |
| 164 Comparison Operators.mp4 |
28.70MB |
| 165 Equality Triple Vs Double Equals.mp4 |
22.50MB |
| 166 Console, Alert, & Prompt.mp4 |
22.87MB |
| 167 Running JavaScript From A Script!.mp4 |
30.29MB |
| 168 If Statements.mp4 |
35.81MB |
| 169 Else-If.mp4 |
60.50MB |
| 16 What do HTMLCSSJS do.mp4 |
31.81MB |
| 170 Else.mp4 |
79.95MB |
| 171 Nesting Conditionals.mp4 |
41.70MB |
| 172 Truth-y & False-y Values.mp4 |
35.87MB |
| 173 Logical AND.mp4 |
22.96MB |
| 174 Logical OR.mp4 |
60.28MB |
| 175 Logical NOT.mp4 |
32.29MB |
| 176 The Switch Statement IsA Lot.mp4 |
68.08MB |
| 177 What Matters In This Section.mp4 |
6.75MB |
| 178 Introducing Arrays.mp4 |
69.99MB |
| 179 Array Random Access.mp4 |
40.13MB |
| 17 Setting Up Our Developer Environment.mp4 |
39.88MB |
| 180 Push & Pop.mp4 |
45.10MB |
| 181 Shift & Unshift.mp4 |
26.41MB |
| 182 Concat, indexOf, includes & reverse.mp4 |
43.17MB |
| 183 Slice & Splice.mp4 |
89.91MB |
| 184 Reference Types & Equality Testing.mp4 |
20.83MB |
| 185 Arrays + Const.mp4 |
23.23MB |
| 186 Multi-Dimensional Arrays.mp4 |
18.37MB |
| 187 What Matters In This Section.mp4 |
5.18MB |
| 188 Introducing Object Literals.mp4 |
25.66MB |
| 189 Creating Object Literals.mp4 |
15.89MB |
| 18 OPTIONAL VSCode Theme.mp4 |
44.52MB |
| 190 Accessing Data Out Of Objects.mp4 |
34.21MB |
| 191 Modifying Objects.mp4 |
21.92MB |
| 192 Nesting Arrays & Objects.mp4 |
52.82MB |
| 193 What Matters In This Section.mp4 |
10.08MB |
| 194 Intro to For Loops.mp4 |
62.03MB |
| 195 More For Loops Examples.mp4 |
31.48MB |
| 196 The Perils Of Infinite Loops (.mp4 |
38.31MB |
| 197 Looping Over Arrays.mp4 |
54.75MB |
| 198 Nested Loops.mp4 |
56.63MB |
| 199 Another Loop The While Loop.mp4 |
28.30MB |
| 19 What Matters In This Section.mp4 |
10.92MB |
| 1 Welcome To The Course!.mp4 |
21.12MB |
| 200 The Break Keyword.mp4 |
24.09MB |
| 201 Writing a Guessing Game.mp4 |
71.10MB |
| 202 Guessing Game Explanation And Bug Fixes.mp4 |
85.04MB |
| 203 The Lovely ForOf Loop.mp4 |
48.04MB |
| 204 Iterating Over Objects.mp4 |
43.52MB |
| 205 Todo List Project Intro.mp4 |
17.52MB |
| 206 Todo List Project CodeAlong.mp4 |
112.61MB |
| 207 What Matters In This Section.mp4 |
9.05MB |
| 208 Intro to Functions.mp4 |
20.32MB |
| 209 Our Very First Function.mp4 |
31.67MB |
| 20 Introduction to HTML.mp4 |
67.07MB |
| 210 Arguments Intro.mp4 |
51.85MB |
| 211 Functions With Multiple Arguments.mp4 |
45.58MB |
| 212 The Return Keyword.mp4 |
42.72MB |
| 213 What Matters In This Section.mp4 |
16.03MB |
| 214 Function Scope.mp4 |
34.51MB |
| 215 Block Scope.mp4 |
30.26MB |
| 216 Lexical Scope.mp4 |
28.08MB |
| 217 Function Expressions.mp4 |
16.41MB |
| 218 Higher Order Functions.mp4 |
32.29MB |
| 219 Returning Functions.mp4 |
69.59MB |
| 21 Our Very First HTML Page.mp4 |
41.96MB |
| 220 Defining Methods.mp4 |
32.93MB |
| 221 The Mysterious Keyword 'this'.mp4 |
61.03MB |
| 222 Using TryCatch.mp4 |
24.72MB |
| 223 What Matters In This Section.mp4 |
11.19MB |
| 224 What Is This Section Even About!.mp4 |
13.97MB |
| 225 The forEach Method.mp4 |
35.01MB |
| 226 The map Method.mp4 |
25.29MB |
| 227 Intro to Arrow Functions.mp4 |
29.69MB |
| 228 Arrow Function Implicit Returns.mp4 |
23.60MB |
| 229 Arrow Functions Wrapup.mp4 |
21.58MB |
| 22 TIP Mozilla Developer Network.mp4 |
22.33MB |
| 230 setTimeout and setInterval.mp4 |
29.74MB |
| 231 The filter Method.mp4 |
54.60MB |
| 232 Some & Every Methods.mp4 |
24.65MB |
| 233 The Notorious Reduce Method.mp4 |
73.78MB |
| 234 Arrow Functions & 'this'.mp4 |
36.63MB |
| 235 What Matters In This Section.mp4 |
8.34MB |
| 236 Default Params.mp4 |
30.39MB |
| 237 Spread in Function Calls.mp4 |
26.27MB |
| 238 Spread with Array Literals.mp4 |
16.20MB |
| 239 Spread with Objects.mp4 |
25.48MB |
| 23 Paragraph Elements.mp4 |
34.10MB |
| 240 Rest Params.mp4 |
37.74MB |
| 241 Destructuring Arrays.mp4 |
19.17MB |
| 242 Destructuring Objects.mp4 |
52.28MB |
| 243 Destructuring Params.mp4 |
44.14MB |
| 244 What Matters In This Section.mp4 |
10.50MB |
| 245 Introducing the DOM.mp4 |
56.90MB |
| 246 The Document Object.mp4 |
130.07MB |
| 247 getElementById.mp4 |
77.15MB |
| 248 getElementsByTagName & className.mp4 |
95.73MB |
| 249 querySelector & querySelectorAll.mp4 |
76.07MB |
| 24 Heading Elements.mp4 |
80.15MB |
| 250 innerHTML, textContent, & innerText.mp4 |
157.51MB |
| 251 Attributes.mp4 |
92.84MB |
| 252 Changing Styles.mp4 |
153.44MB |
| 253 ClassList.mp4 |
70.58MB |
| 254 Traversing ParentChildSibling.mp4 |
90.74MB |
| 255 Append & AppendChild.mp4 |
132.77MB |
| 256 removeChild & remove.mp4 |
43.39MB |
| 257 Pokemon Sprites Demo.mp4 |
95.59MB |
| 258 What Matters In This Section.mp4 |
8.58MB |
| 259 Intro to Events.mp4 |
80.38MB |
| 25 Introduction to the Chrome Inspector.mp4 |
42.74MB |
| 260 Inline Events.mp4 |
46.04MB |
| 261 The Onclick Property.mp4 |
75.30MB |
| 262 addEventListener.mp4 |
80.68MB |
| 263 Random Color Exercise.mp4 |
48.11MB |
| 264 Events & The Keyword This.mp4 |
68.02MB |
| 265 Keyboard Events & Event Objects.mp4 |
76.81MB |
| 266 NEW VERSION Form Events & PreventDefault.mp4 |
50.42MB |
| 267 NEW VERSION Practice With Form Events & PreventDefault.mp4 |
55.94MB |
| 268 ORIGINAL VERSION Form Events & PreventDefault.mp4 |
132.92MB |
| 269 Input & Change Events.mp4 |
26.63MB |
| 26 HTML Boilerplate.mp4 |
76.65MB |
| 270 Event Bubbling.mp4 |
58.30MB |
| 271 Event Delegation.mp4 |
61.02MB |
| 272 Score Keeper Pt 1.mp4 |
64.75MB |
| 273 Score Keeper Pt 2.mp4 |
73.62MB |
| 274 Score Keeper Pt 3 With Bulma.mp4 |
131.79MB |
| 275 Score Keeper Pt 4 Refactoring.mp4 |
82.36MB |
| 276 What Matters In This Section.mp4 |
7.88MB |
| 277 The Call Stack.mp4 |
55.32MB |
| 278 WebAPIs & Single Threaded.mp4 |
51.22MB |
| 279 Callback Hell (.mp4 |
81.11MB |
| 27 VSCode Tip Auto-format.mp4 |
28.29MB |
| 280 Demo fakeRequest Using Callbacks.mp4 |
77.24MB |
| 281 Demo fakeRequest Using Promises.mp4 |
104.01MB |
| 282 The Magic Of Promises.mp4 |
74.54MB |
| 283 Creating Our Own Promises.mp4 |
81.93MB |
| 284 The Async Keyword.mp4 |
69.30MB |
| 285 The Await Keyword.mp4 |
68.51MB |
| 286 Handling Errors In Async Functions.mp4 |
36.10MB |
| 287 What Matters In This Section.mp4 |
8.95MB |
| 288 Intro to AJAX.mp4 |
101.69MB |
| 289 Intro to APIs.mp4 |
105.81MB |
| 28 List Elements.mp4 |
78.96MB |
| 290 WTF is JSON.mp4 |
58.05MB |
| 291 Using Hoppscotch (or Postman).mp4 |
53.26MB |
| 292 HTTP Verbs.mp4 |
17.45MB |
| 293 HTTP Status Codes.mp4 |
44.30MB |
| 294 Understanding Query Strings.mp4 |
71.85MB |
| 295 HTTP Headers.mp4 |
36.73MB |
| 296 Making XHRs.mp4 |
42.56MB |
| 297 Using The Fetch API.mp4 |
89.67MB |
| 298 Introducing Axios.mp4 |
44.91MB |
| 299 Setting Headers With Axios.mp4 |
105.09MB |
| 29 Anchor Tags.mp4 |
78.49MB |
| 300 TV Show Search App.mp4 |
166.14MB |
| 301 What Matters In This Section.mp4 |
21.04MB |
| 302 What On Earth Are Prototypes.mp4 |
71.97MB |
| 303 Intro to Object Oriented Programming.mp4 |
44.75MB |
| 304 Factory Functions.mp4 |
56.75MB |
| 305 Constructor Functions.mp4 |
129.37MB |
| 306 JavaScript Classes.mp4 |
112.38MB |
| 307 More Classes Practice.mp4 |
79.11MB |
| 308 Extends and Super Keywords.mp4 |
61.25MB |
| 309 What Matters In This Section.mp4 |
13.97MB |
| 30 Images.mp4 |
85.83MB |
| 310 Backend Overview.mp4 |
27.20MB |
| 311 A Pep Talk On Terminal.mp4 |
43.98MB |
| 312 Why Do We Need To Know Terminal Commands.mp4 |
94.11MB |
| 314 The Basics LS & PWD.mp4 |
90.20MB |
| 315 Changing Directories.mp4 |
78.30MB |
| 316 Relative Vs Absolute Paths.mp4 |
68.53MB |
| 317 Making Directories.mp4 |
35.82MB |
| 318 Man Pages & Flags.mp4 |
52.23MB |
| 319 The Touch Command.mp4 |
29.34MB |
| 31 Comments.mp4 |
29.61MB |
| 320 Removing Files & Folders.mp4 |
31.94MB |
| 321 What Matters In This Section.mp4 |
10.57MB |
| 322 Introducing Node JS.mp4 |
38.20MB |
| 323 What Is Node Used For.mp4 |
61.50MB |
| 324 Installing Node.mp4 |
15.02MB |
| 325 The Node REPL.mp4 |
49.60MB |
| 326 Running Node Files.mp4 |
13.81MB |
| 327 Process & Argv.mp4 |
49.78MB |
| 329 File System Module Crash Course.mp4 |
135.25MB |
| 32 What Matters In This Section.mp4 |
11.54MB |
| 330 What Matters In This Section.mp4 |
11.65MB |
| 331 Working With moduleexports.mp4 |
52.15MB |
| 332 Requiring A Directory.mp4 |
45.75MB |
| 333 Introducing NPM.mp4 |
25.43MB |
| 334 Installing Packages - Jokes & Rainbow.mp4 |
66.81MB |
| 335 Adding Global Packages.mp4 |
43.69MB |
| 336 The All-Important Packagejson.mp4 |
75.05MB |
| 337 Installing All Dependencies For A Project.mp4 |
50.14MB |
| 339 Language Guesser Challenge.mp4 |
83.39MB |
| 33 What Exactly Is HTML5.mp4 |
67.21MB |
| 340 What Matters In This Section.mp4 |
10.73MB |
| 341 Introducing Express.mp4 |
32.29MB |
| 342 Our Very First Express App.mp4 |
70.71MB |
| 343 The Request & Response Objects.mp4 |
80.50MB |
| 344 Express Routing Basics.mp4 |
99.38MB |
| 345 Express Path Parameters.mp4 |
100.04MB |
| 346 Working With Query Strings.mp4 |
45.49MB |
| 347 Auto-Restart With Nodemon.mp4 |
35.76MB |
| 348 What Matters In This Section.mp4 |
10.49MB |
| 349 What is Templating.mp4 |
61.38MB |
| 34 Block vs Inline Elements - Divs and Spans.mp4 |
104.06MB |
| 350 Configuring Express For EJS.mp4 |
62.42MB |
| 351 Setting The Views Directory.mp4 |
37.65MB |
| 352 EJS Interpolation Syntax.mp4 |
41.34MB |
| 353 Passing Data To Templates.mp4 |
26.82MB |
| 354 Subreddit Template Demo.mp4 |
19.98MB |
| 355 Conditionals in EJS.mp4 |
41.08MB |
| 356 Loops In EJS.mp4 |
61.45MB |
| 357 A More Complex Subreddit Demo.mp4 |
112.11MB |
| 358 Serving Static Assets In Express.mp4 |
69.27MB |
| 359 Bootstrap + Express.mp4 |
101.00MB |
| 35 An Odd Assortment of Elements HR, BR, Sup, & Sub.mp4 |
74.86MB |
| 360 EJS & Partials.mp4 |
108.40MB |
| 361 What Matters In This Section.mp4 |
17.50MB |
| 362 Get Vs Post Requests.mp4 |
25.22MB |
| 363 Defining Express Post Routes.mp4 |
32.73MB |
| 364 Parsing The Request Body.mp4 |
68.96MB |
| 365 Intro to REST.mp4 |
79.57MB |
| 366 RESTful Comments Overview.mp4 |
26.54MB |
| 367 RESTful Comments Index.mp4 |
59.90MB |
| 368 RESTful Comments New.mp4 |
84.59MB |
| 369 Express Redirects.mp4 |
44.40MB |
| 36 Entity Codes.mp4 |
58.19MB |
| 370 RESTful Comments Show.mp4 |
118.41MB |
| 371 The UUID Package.mp4 |
50.90MB |
| 372 RESTful Comments Update.mp4 |
99.40MB |
| 373 Express Method Override.mp4 |
115.76MB |
| 374 RESTful Comments Delete.mp4 |
83.87MB |
| 375 What Matters In This Section.mp4 |
13.33MB |
| 376 Introduction to Databases.mp4 |
48.00MB |
| 377 SQL Vs NoSQL Databases.mp4 |
42.92MB |
| 378 Why We're Learning Mongo.mp4 |
57.06MB |
| 379 Installing Mongo MacOS.mp4 |
24.10MB |
| 37 Intro to Semantic Markup.mp4 |
95.07MB |
| 382 The Mongo Shell.mp4 |
15.49MB |
| 383 What On Earth Is BSON.mp4 |
25.42MB |
| 384 Inserting With Mongo.mp4 |
52.03MB |
| 385 Finding With Mongo.mp4 |
61.99MB |
| 386 Updating With Mongo.mp4 |
65.78MB |
| 387 Deleting With Mongo.mp4 |
22.44MB |
| 388 Additional Mongo Operators.mp4 |
79.82MB |
| 389 What Matters In This Section.mp4 |
12.56MB |
| 38 Playing With Semantic Elements.mp4 |
144.02MB |
| 390 What is Mongoose.mp4 |
33.44MB |
| 392 Connecting Mongoose to Mongo.mp4 |
65.26MB |
| 394 Our First Mongoose Model.mp4 |
79.83MB |
| 395 Insert Many.mp4 |
45.65MB |
| 396 Finding With Mongoose.mp4 |
63.01MB |
| 397 Updating With Mongoose.mp4 |
66.98MB |
| 398 Deleting With Mongoose!.mp4 |
31.35MB |
| 399 Mongoose Schema Validations.mp4 |
73.57MB |
| 39 Screen Reader Demonstration.mp4 |
26.43MB |
| 3 Curriculum Walkthrough.mp4 |
25.85MB |
| 400 Additional Schema Constraints.mp4 |
79.34MB |
| 401 Validating Mongoose Updates.mp4 |
40.29MB |
| 402 Mongoose Validation Errors.mp4 |
34.75MB |
| 403 Model Instance Methods.mp4 |
108.57MB |
| 404 Adding Model Static Methods.mp4 |
53.21MB |
| 405 Mongoose Virtuals.mp4 |
43.74MB |
| 406 Defining Mongoose Middleware.mp4 |
57.93MB |
| 407 What Matters In This Section.mp4 |
11.17MB |
| 408 Express + Mongoose Basic Setup.mp4 |
30.73MB |
| 409 Creating Our Model.mp4 |
93.56MB |
| 40 VSCode Tip Emmet.mp4 |
48.99MB |
| 410 Products Index.mp4 |
41.39MB |
| 411 Product Details.mp4 |
60.05MB |
| 412 Creating Products.mp4 |
81.26MB |
| 413 Updating Products.mp4 |
123.32MB |
| 414 Tangent On Category Selector.mp4 |
85.80MB |
| 415 Deleting Products.mp4 |
42.93MB |
| 416 BONUS Filtering By Category.mp4 |
58.30MB |
| 417 Introducing YelpCamp Our Massive Project.mp4 |
56.96MB |
| 418 How to Access YelpCamp Code.mp4 |
29.01MB |
| 419 Creating the Basic Express App.mp4 |
22.85MB |
| 41 What Matters In This Section.mp4 |
13.84MB |
| 420 Campground Model Basics.mp4 |
51.26MB |
| 421 Seeding Campgrounds.mp4 |
91.87MB |
| 422 Campground Index.mp4 |
25.92MB |
| 423 Campground Show.mp4 |
29.58MB |
| 424 Campground New & Create.mp4 |
67.82MB |
| 425 Campground Edit & Update.mp4 |
84.15MB |
| 426 Campground Delete.mp4 |
30.24MB |
| 427 What Matters In This Section.mp4 |
4.74MB |
| 428 Intro to Express Middleware.mp4 |
23.87MB |
| 429 Using Morgan - Logger Middleware.mp4 |
63.67MB |
| 42 Unit Goals.mp4 |
4.63MB |
| 430 Defining Our Own Middleware.mp4 |
76.15MB |
| 431 More Middleware Practice.mp4 |
88.66MB |
| 432 Setting Up A 404 Route.mp4 |
59.05MB |
| 433 Password Middleware Demo (NOT REAL AUTH).mp4 |
35.28MB |
| 434 Protecting Specific Routes.mp4 |
55.49MB |
| 435 A New EJS Tool For Layouts.mp4 |
65.67MB |
| 436 Bootstrap5! Boilerplate.mp4 |
31.83MB |
| 437 Navbar Partial.mp4 |
55.21MB |
| 438 Footer Partial.mp4 |
37.04MB |
| 439 Adding Images.mp4 |
69.51MB |
| 43 Introducing HTML Tables.mp4 |
54.83MB |
| 440 Styling Campgrounds Index.mp4 |
56.00MB |
| 441 Styling The New Form.mp4 |
88.86MB |
| 442 Styling Edit Form.mp4 |
38.56MB |
| 443 Styling Show Page.mp4 |
101.86MB |
| 444 What Matters In This Section.mp4 |
7.89MB |
| 445 Express' Built-In Error Handler.mp4 |
65.97MB |
| 446 Defining Custom Error Handlers.mp4 |
86.70MB |
| 447 Our Custom Error Class.mp4 |
118.33MB |
| 448 Handling Async Errors.mp4 |
115.14MB |
| 449 Handling More Async Errors!.mp4 |
75.57MB |
| 44 Tables TR, TD, and TH Elements.mp4 |
75.87MB |
| 450 Defining An Async Utility.mp4 |
83.96MB |
| 451 Differentiating Mongoose Errors.mp4 |
73.25MB |
| 452 Where To Next With YelpCamp.mp4 |
15.80MB |
| 453 Client-Side Form Validations.mp4 |
102.28MB |
| 454 Basic Error Handler.mp4 |
30.72MB |
| 455 Defining ExpressError Class.mp4 |
64.35MB |
| 456 More Errors.mp4 |
75.24MB |
| 457 Defining Error Template.mp4 |
46.86MB |
| 458 JOI Schema Validations.mp4 |
118.75MB |
| 459 JOI Validation Middleware.mp4 |
122.11MB |
| 45 Tables Thead, Tbody, and Tfoot Elements.mp4 |
25.54MB |
| 460 What Matters In This Section.mp4 |
13.57MB |
| 461 Introduction to Mongo Relationships.mp4 |
59.68MB |
| 462 SQL Relationships Overview.mp4 |
51.36MB |
| 464 One to Few.mp4 |
101.59MB |
| 465 One to Many.mp4 |
108.15MB |
| 466 Mongoose Populate.mp4 |
32.09MB |
| 467 One to Bajillions.mp4 |
119.49MB |
| 468 Mongo Schema Design.mp4 |
78.16MB |
| 469 What Matters In This Section.mp4 |
8.42MB |
| 46 Tables Colspan & Rowspan.mp4 |
36.36MB |
| 470 Defining Our Farm & Product Models.mp4 |
41.29MB |
| 472 Creating New Farms.mp4 |
83.70MB |
| 473 Farms Show Page.mp4 |
33.25MB |
| 474 Creating Products For A Farm.mp4 |
82.43MB |
| 475 Finishing Touches.mp4 |
101.10MB |
| 476 Deletion Mongoose Middleware.mp4 |
111.03MB |
| 477 Defining The Review Model.mp4 |
31.38MB |
| 478 Adding The Review Form.mp4 |
50.83MB |
| 479 Creating Reviews.mp4 |
69.96MB |
| 47 The Form Element.mp4 |
78.70MB |
| 480 Validating Reviews.mp4 |
103.16MB |
| 481 Displaying Reviews.mp4 |
58.76MB |
| 482 Styling Reviews.mp4 |
52.01MB |
| 483 Deleting Reviews.mp4 |
98.20MB |
| 484 Campground Delete Middleware.mp4 |
88.86MB |
| 485 What Matters In This Section.mp4 |
8.33MB |
| 486 Express Router Intro.mp4 |
89.30MB |
| 487 Express Router & Middleware.mp4 |
38.48MB |
| 488 Introducing Cookies.mp4 |
69.31MB |
| 489 Sending Cookies.mp4 |
55.96MB |
| 48 Common Input Types.mp4 |
41.06MB |
| 490 Cookie Parser Middleware.mp4 |
43.20MB |
| 491 Signing Cookies.mp4 |
91.56MB |
| 492 OPTIONAL HMAC Signing.mp4 |
60.26MB |
| 493 What Matters In This Section.mp4 |
5.82MB |
| 494 Introduction to Sessions.mp4 |
17.56MB |
| 495 Express Session.mp4 |
88.56MB |
| 496 More Express Session.mp4 |
65.05MB |
| 497 Intro to Flash.mp4 |
53.39MB |
| 498 Reslocals & Flash.mp4 |
38.01MB |
| 499 Breaking Out Campground Routes.mp4 |
79.29MB |
| 49 The All-Important Label.mp4 |
46.82MB |
| 4 When Was The Course Last Updated.mp4 |
10.15MB |
| 500 Breaking Out Review Routes.mp4 |
58.56MB |
| 501 Serving Static Assets.mp4 |
65.38MB |
| 502 Configuring Session.mp4 |
68.45MB |
| 503 Setting Up Flash.mp4 |
54.46MB |
| 504 Flash Success Partial.mp4 |
66.90MB |
| 505 Flash Errors Partial.mp4 |
47.45MB |
| 506 What Matters In This Section.mp4 |
17.90MB |
| 507 Authentication Vs Authorization.mp4 |
11.04MB |
| 508 How to (not) Store Passwords.mp4 |
19.68MB |
| 509 Cryptographic Hashing Functions.mp4 |
63.93MB |
| 50 HTML Buttons.mp4 |
42.84MB |
| 510 Password Salts.mp4 |
65.52MB |
| 511 Intro to Bcrypt.mp4 |
101.11MB |
| 512 Auth Demo Setup.mp4 |
59.20MB |
| 513 Auth Demo Registering.mp4 |
59.24MB |
| 514 Auth Demo Login.mp4 |
61.26MB |
| 515 Auth Demo Staying Logged In With Session.mp4 |
68.29MB |
| 516 Auth Demo Logout.mp4 |
50.41MB |
| 517 Auth Demo Require Login Middleware.mp4 |
31.79MB |
| 518 Auth Demo Refactoring To Model Methods.mp4 |
100.06MB |
| 519 Introduction to Passport.mp4 |
26.53MB |
| 51 The Name Attribute.mp4 |
46.62MB |
| 520 Creating Our User Model.mp4 |
30.67MB |
| 521 Configuring Passport.mp4 |
100.63MB |
| 522 Register Form.mp4 |
54.92MB |
| 523 Register Route Logic.mp4 |
48.44MB |
| 524 Login Routes.mp4 |
46.92MB |
| 525 isLoggedIn Middleware.mp4 |
83.24MB |
| 527 Adding Logout.mp4 |
36.95MB |
| 528 currentUser Helper.mp4 |
37.27MB |
| 529 Fixing Register Route.mp4 |
27.93MB |
| 52 Hijacking Google & Reddit's Search.mp4 |
58.39MB |
| 531 ReturnTo Behavior.mp4 |
42.12MB |
| 532 Adding an Author to Campground.mp4 |
69.25MB |
| 533 Showing and Hiding EditDelete.mp4 |
25.42MB |
| 534 Campground Permissions.mp4 |
81.80MB |
| 535 Authorization Middleware.mp4 |
111.42MB |
| 536 Reviews Permissions.mp4 |
58.94MB |
| 537 More Reviews Authorization.mp4 |
133.84MB |
| 538 Refactoring To Campgrounds Controller.mp4 |
116.02MB |
| 539 Adding a Reviews Controller.mp4 |
70.86MB |
| 53 Radio Buttons, Checkboxes, & Selects.mp4 |
96.80MB |
| 540 A Fancy Way To Restructure Routes.mp4 |
69.42MB |
| 541 Displaying Star Ratings.mp4 |
89.27MB |
| 542 Star Rating Form.mp4 |
65.73MB |
| 543 Intro To Image Upload Process.mp4 |
16.79MB |
| 544 The Multer Middleware.mp4 |
91.56MB |
| 545 Cloudinary Registration.mp4 |
16.90MB |
| 546 Environment Variables with dotenv.mp4 |
52.53MB |
| 547 Uploading To Cloudinary Basics.mp4 |
78.39MB |
| 548 Storing Uploaded Image Links In Mongo.mp4 |
105.22MB |
| 549 Displaying Images In A Carousel.mp4 |
91.01MB |
| 54 Range & Text Area.mp4 |
68.08MB |
| 550 Fixing Our Seeds.mp4 |
29.17MB |
| 551 Adding Upload to Edit Page.mp4 |
60.01MB |
| 552 Customizing File Input.mp4 |
71.54MB |
| 553 A Word Of Warning!.mp4 |
14.39MB |
| 554 Deleting Images Form.mp4 |
80.28MB |
| 555 Deleting Images Backend.mp4 |
71.99MB |
| 556 Adding a Thumbnail Virtual Property.mp4 |
99.46MB |
| 557 Registering For Mapbox.mp4 |
36.33MB |
| 558 Geocoding Our Locations.mp4 |
105.02MB |
| 559 Working With GeoJSON.mp4 |
59.80MB |
| 55 HTML5 Form Validations.mp4 |
80.79MB |
| 560 Displaying A Map.mp4 |
86.29MB |
| 561 Centering The Map On A Campground.mp4 |
66.40MB |
| 562 Fixing Our Seeds Bug.mp4 |
69.62MB |
| 563 Customizing Map Popup.mp4 |
48.99MB |
| 564 Intro To Our Cluster Map.mp4 |
26.17MB |
| 565 Adding Earthquake Cluster Map.mp4 |
70.12MB |
| 566 Reseeding Our Database (again).mp4 |
29.86MB |
| 567 Basic Clustering Campgrounds.mp4 |
90.49MB |
| 568 Tweaking Clustering Code.mp4 |
97.42MB |
| 569 Changing Cluster Size and Color.mp4 |
91.33MB |
| 56 Creating A Marathon Registration Form Intro.mp4 |
5.93MB |
| 570 Adding Custom Popups.mp4 |
182.14MB |
| 571 Styling Home Page.mp4 |
79.92MB |
| 572 Additional Home Page Styling.mp4 |
85.32MB |
| 573 Styling Login Form.mp4 |
25.07MB |
| 574 Styling Register Form.mp4 |
36.63MB |
| 575 Spacing Campgrounds.mp4 |
6.13MB |
| 576 Removing Inline Map Styles.mp4 |
30.46MB |
| 577 Adding Map Controls.mp4 |
40.03MB |
| 578 Mongo Injection.mp4 |
74.65MB |
| 579 Cross Site Scripting (XSS).mp4 |
68.66MB |
| 57 Creating A Marathon Registration Form Solution.mp4 |
87.72MB |
| 580 Sanitizing HTML w JOI.mp4 |
114.23MB |
| 581 Minor Changes to SessionCookies.mp4 |
31.55MB |
| 582 Hiding Errors.mp4 |
17.77MB |
| 584 Using Helmet.mp4 |
46.19MB |
| 585 Content Security Policy Fun.mp4 |
94.81MB |
| 586 Setting Up Mongo Atlas.mp4 |
71.40MB |
| 588 Using Mongo For Our Session Store.mp4 |
75.51MB |
| 58 What Matters In This Section.mp4 |
11.41MB |
| 590 Heroku Setup.mp4 |
17.52MB |
| 591 Pushing to Heroku.mp4 |
28.59MB |
| 592 Fixing Heroku Errors.mp4 |
49.27MB |
| 593 Configuring Heroku Env Variables.mp4 |
59.82MB |
| 594 How The React Content Works.mp4 |
17.49MB |
| 595 Introducing React.mp4 |
82.07MB |
| 596 Setting Up Code Sand Box.mp4 |
33.39MB |
| 597 The Basics of JSX.mp4 |
22.93MB |
| 598 Basic React App Structure.mp4 |
22.47MB |
| 599 Our First React Component.mp4 |
34.23MB |
| 59 What is CSS.mp4 |
35.09MB |
| 600 Importing and Exporting Components.mp4 |
43.95MB |
| 601 The Rules of JSX.mp4 |
27.11MB |
| 602 React Fragments.mp4 |
12.49MB |
| 603 Evaluating JS Expressions in JSX.mp4 |
30.87MB |
| 604 Creating a Die Component.mp4 |
14.98MB |
| 605 Component Decomposition.mp4 |
33.08MB |
| 606 Styling Components.mp4 |
47.09MB |
| 607 Random PokeCard Exercise.mp4 |
50.31MB |
| 609 Creating React Apps With Vite.mp4 |
39.02MB |
| 60 CSS is Huge, Don't Panic!.mp4 |
54.42MB |
| 610 A Note About Create React App.mp4 |
7.75MB |
| 611 A Tour of A Vite App.mp4 |
51.80MB |
| 612 Introducing Props.mp4 |
43.22MB |
| 613 Non-String Props.mp4 |
36.82MB |
| 614 Setting Default Prop Values.mp4 |
10.76MB |
| 615 Passing Arrays and Objects.mp4 |
31.81MB |
| 616 React Conditionals.mp4 |
69.30MB |
| 617 The React Developer Tools.mp4 |
32.90MB |
| 618 Adding Dynamic Component Styles.mp4 |
65.50MB |
| 619 Rendering Arrays With Map.mp4 |
64.35MB |
| 61 Including Styles Correctly.mp4 |
45.97MB |
| 620 Slot Machine Exercise.mp4 |
35.23MB |
| 621 Creating A Shopping List Component.mp4 |
62.20MB |
| 622 The Key Prop.mp4 |
33.63MB |
| 623 The Shopping List Item Component.mp4 |
78.72MB |
| 624 Rental Property Exercise.mp4 |
45.40MB |
| 626 Configuring ESLint.mp4 |
25.10MB |
| 627 PropTypes Library Crash Course.mp4 |
43.17MB |
| 628 Intro to React Events.mp4 |
33.64MB |
| 629 Non-Click Events.mp4 |
23.11MB |
| 62 Color & Background-Color Properties.mp4 |
41.00MB |
| 630 Working With The Event Object.mp4 |
19.23MB |
| 631 Clicker Exercise.mp4 |
16.98MB |
| 632 Introducing State.mp4 |
57.11MB |
| 633 Working With The useState() Hook.mp4 |
49.17MB |
| 634 Creating a Toggler Component.mp4 |
47.64MB |
| 635 Multiple Pieces of State In A Component.mp4 |
29.43MB |
| 636 useState() and Rendering.mp4 |
50.46MB |
| 637 Color Box Exercise INTRO.mp4 |
5.40MB |
| 638 Color Box Exercise SOLUTION.mp4 |
111.45MB |
| 639 Setting State With An Updater Function.mp4 |
69.42MB |
| 63 Colors Systems RGB & Named Colors.mp4 |
67.63MB |
| 640 State Initializer Functions.mp4 |
34.24MB |
| 641 When Does React Re-Render.mp4 |
18.89MB |
| 642 Working With Objects In State.mp4 |
65.64MB |
| 643 Arrays In State.mp4 |
48.60MB |
| 644 Generating Ids with UUID.mp4 |
29.19MB |
| 645 Deleting From Arrays The React Way.mp4 |
53.90MB |
| 646 Common Array Updating Patterns.mp4 |
64.55MB |
| 647 Updating All Elements In An Array.mp4 |
33.18MB |
| 648 Score Keeper Exercise.mp4 |
89.87MB |
| 649 Introducing The Lucky7 Game.mp4 |
40.93MB |
| 64 Colors Systems Hexadecimal.mp4 |
40.75MB |
| 650 Formulating Our Component Gameplan.mp4 |
23.11MB |
| 651 Building Die and Dice Components.mp4 |
41.23MB |
| 652 The LuckyN Component.mp4 |
53.70MB |
| 653 State As Props.mp4 |
8.97MB |
| 654 Passing Functions As Props.mp4 |
46.33MB |
| 655 Passing Functions That Update State.mp4 |
61.37MB |
| 656 Practice Passing State Updating Functions.mp4 |
101.80MB |
| 657 Controlled Components.mp4 |
44.92MB |
| 658 The htmlFor Property.mp4 |
15.50MB |
| 659 Working With Multiple Inputs.mp4 |
37.52MB |
| 65 A Reminder On Semicolons & CSS.mp4 |
8.96MB |
| 660 A Better Signup Form.mp4 |
73.20MB |
| 661 Computed Property Names in HandleChange().mp4 |
21.76MB |
| 662 Creating a Shopping List Form.mp4 |
50.71MB |
| 663 Shopping List Component.mp4 |
75.58MB |
| 664 Finishing The Shopping List Component.mp4 |
42.04MB |
| 665 Form Validation From Scratch.mp4 |
89.26MB |
| 666 Validations using React Hook Form.mp4 |
115.42MB |
| 667 Introducing Effects.mp4 |
5.54MB |
| 668 The useEffect Hook.mp4 |
24.77MB |
| 669 useEffect Dependencies.mp4 |
28.84MB |
| 66 Common Text Properties.mp4 |
132.65MB |
| 670 Fetching Initial Data From an API.mp4 |
77.64MB |
| 671 Adding a Loader.mp4 |
44.84MB |
| 672 Github Profile Search.mp4 |
36.11MB |
| 673 Introducing Material UI.mp4 |
15.14MB |
| 674 Installing Material UI.mp4 |
81.15MB |
| 675 The Rating Component.mp4 |
35.03MB |
| 676 Material Forms.mp4 |
59.33MB |
| 677 The SX Prop and Custom Styles.mp4 |
75.26MB |
| 678 Creating The Application.mp4 |
24.90MB |
| 679 The TodoList Component.mp4 |
82.48MB |
| 67 Font Size Basics With Pixels.mp4 |
29.22MB |
| 680 Removing Todos.mp4 |
68.29MB |
| 681 Toggling Todos.mp4 |
29.24MB |
| 682 The New Todo Form.mp4 |
103.70MB |
| 683 Adding LocalStorage.mp4 |
37.01MB |
| 684 Tweaking the Todo Icons and Ids.mp4 |
20.98MB |
| 685 Final Styles.mp4 |
49.62MB |
| 686 Check Out This Fancy Todo List.mp4 |
23.16MB |
| 687 What's Next and Goodbye!.mp4 |
43.25MB |
| 68 The Font Family Property.mp4 |
66.08MB |
| 69 What Matters In This Section.mp4 |
12.61MB |
| 6 Will I Get A Job.mp4 |
28.88MB |
| 70 Universal & Element Selectors.mp4 |
28.53MB |
| 71 The ID Selector.mp4 |
41.94MB |
| 72 The Class Selector.mp4 |
43.03MB |
| 73 The Descendant Selector.mp4 |
46.09MB |
| 74 The Adjacent & Direct-Descendant Selectors.mp4 |
38.02MB |
| 75 The Attribute Selector.mp4 |
49.69MB |
| 76 Pseudo Classes.mp4 |
86.43MB |
| 77 Pseudo Elements.mp4 |
48.56MB |
| 78 The CSS Cascade.mp4 |
18.33MB |
| 79 WTF is Specificity.mp4 |
58.31MB |
| 7 Accessing Course Code & Slides.mp4 |
18.22MB |
| 80 TIP Chrome Dev Tools & CSS.mp4 |
40.36MB |
| 81 Inline Styles & Important.mp4 |
37.79MB |
| 82 CSS Inheritance.mp4 |
54.90MB |
| 83 What Matters In This Section.mp4 |
11.09MB |
| 84 Box Model Width & Height.mp4 |
45.41MB |
| 85 Box Model Border & Border-Radius.mp4 |
112.68MB |
| 86 Box Model Padding.mp4 |
75.82MB |
| 87 Box Model Margin.mp4 |
58.33MB |
| 88 The Display Property.mp4 |
94.15MB |
| 89 CSS Units Revisited.mp4 |
36.85MB |
| 8 Tips On The Interactive Coding Exercises.mp4 |
20.11MB |
| 90 CSS Units ems.mp4 |
60.16MB |
| 91 CSS Units rems.mp4 |
68.92MB |
| 92 What Matters In This Section.mp4 |
13.58MB |
| 93 Opacity & The Alpha Channel.mp4 |
43.88MB |
| 94 The Position Property.mp4 |
81.87MB |
| 95 CSS Transitions (yay!).mp4 |
75.13MB |
| 96 The Power of CSS Transforms.mp4 |
121.49MB |
| 97 Fancy Button Hover Effect CodeAlong.mp4 |
53.24MB |
| 98 The Truth About Background.mp4 |
109.93MB |
| 99 Google Fonts is Amazing.mp4 |
78.15MB |
| AJAX_CODE.zip |
14.67KB |
| array_cheatsheet.js |
401B |
| Async_JS_CODE.zip |
7.72KB |
| Auth_From_Scratch_CODE.zip |
24.05KB |
| Bootstrap4_Code.zip |
25.93MB |
| Box_Model_And_Units_CODE.zip |
5.07KB |
| Callback_Methods_CODE.zip |
8.60KB |
| clicker-exercise-solution.zip |
8.41KB |
| color-box-exercise-solution.zip |
66.12KB |
| component-design-dice-game.zip |
70.17KB |
| CourseChangeLog.txt |
13.73KB |
| CSS_Selectors_CODE.zip |
5.32KB |
| DOM_Events_CODE.zip |
8.59KB |
| DOM_Intro_CODE.zip |
8.74KB |
| Express_Errors_CODE.zip |
21.04KB |
| Express_Intro_CODE.zip |
5.77KB |
| Express_Templating_CODE.zip |
93.93KB |
| fancy-todo-list.zip |
52.58KB |
| Flexbox_And_Responsive_CODE.zip |
6.27KB |
| Functions_Intro_CODE.zip |
791B |
| Guessing_Game_Refactor.zip |
746B |
| HTML_Forms_Tables_CODE.zip |
3.32KB |
| HTML_Next_Steps_CODE.zip |
86.03KB |
| intermediate-state.zip |
66.43KB |
| Intro_To_HTML_CODE.zip |
85.12KB |
| Loops_CODE.zip |
9.02KB |
| material-ui-demo.zip |
76.56KB |
| Middleware_Intro_CODE.zip |
6.23KB |
| MigrationGuide.txt |
15.23KB |
| Modules_And_NPM_CODE.zip |
1.87MB |
| Mongoose_CODE.zip |
6.06KB |
| Mongoose_Relationships_CODE.zip |
6.39KB |
| Mongoose_Relationships_Express_CODE.zip |
18.48KB |
| Mongoose_With_Express_CODE.zip |
13.35KB |
| More_Functions_CODE.zip |
5.82KB |
| New_JS_Features_CODE.zip |
4.13KB |
| Node_Intro_CODE.zip |
1.20KB |
| Objects_cheatsheet.js |
267B |
| OOP_Code.zip |
15.55KB |
| Other_Properties_CODE.zip |
22.88KB |
| PricingPanel_CODE.zip |
290.98KB |
| properties-exercise-solution.zip |
64.72KB |
| react-effects.zip |
69.39KB |
| react-events.zip |
63.71KB |
| react-forms.zip |
68.90KB |
| react-props.zip |
10.21KB |
| react-todos.zip |
76.87KB |
| RESTful_Routes_CODE.zip |
10.95KB |
| Router_and_Cookies_CODE.zip |
13.00KB |
| ScoreKeeper.zip |
2.17KB |
| score-keeper-exercise-solution.zip |
65.24KB |
| Session_And_Flash_CODE.zip |
21.95KB |
| shopping-list-demo.zip |
9.25KB |
| slots-exercise-solution.zip |
8.37KB |
| state-basics.zip |
9.79KB |
| Strings_CheatSheet.js |
1.18KB |
| Unconfirmed 372299.crdownload |
422B |
| WDB++Arrays.pdf |
1.69MB |
| WDB++DOM+Manipulation.pdf |
10.51MB |
| WDB+AJAX.pdf |
5.70MB |
| WDB+Array+Callback+Methods.pdf |
1.48MB |
| WDB+Async+JavaScript.pdf |
8.92MB |
| WDB+Boolean+Logic.pdf |
1.39MB |
| WDB+BootStrap.pdf |
3.90MB |
| WDB+Course+Intro.pdf |
32.41MB |
| WDB+CSS+Selectors.pdf |
1.34MB |
| WDB+Express+Intro.pdf |
2.93MB |
| WDB+Flexbox+&+Responsive.pdf |
1.25MB |
| WDB+Functions+Intro.pdf |
1.87MB |
| WDB+Functions+Pt.+2.pdf |
3.59MB |
| WDB+HTML+Forms+&+Tables.pdf |
5.52MB |
| WDB+HTML+Intro.pdf |
744.85KB |
| WDB+Intermediate+HTML+.pdf |
4.67MB |
| WDB+Intro+to+CSS.pdf |
10.74MB |
| WDB+Intro+to+Mongo.pdf |
6.54MB |
| WDB+Intro+to+Node.pdf |
1015.77KB |
| WDB+JavaScript+Introduction.pdf |
2.79MB |
| WDB+JavaScript+Strings.pdf |
2.05MB |
| WDB+Loops.pdf |
3.00MB |
| WDB+Modern+JS+Features.pdf |
1.25MB |
| WDB+Mongoose+Relationships.pdf |
979.04KB |
| WDB+More+CSS.pdf |
4.05MB |
| WDB+More+Express.pdf |
176.83KB |
| WDB+Objects.pdf |
798.51KB |
| WDB+RESTful+Routing.pdf |
4.47MB |
| WDB+Terminal.pdf |
9.84MB |
| WDB+Web+Dev+Intro.pdf |
15.70MB |