Linkedin - Become a MERN Stack JavaScript Developer [AhLaN]

Torrent Hash:
F5831C11172ACE2F60B398827BCADF73AAB92E93
Number of Files:
404
Content Size:
4.9GB
Convert On:
2022-04-26
Magnet Link:
W3siaWQiOiJhZHN0X2JfTV8zMDB4NTAiLCJhZHNwb3QiOiJiX01fMzAweDUwIiwid2VpZ2h0IjoiNSIsImZjYXAiOmZhbHNlLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjoiNzY4IiwibWluV2lkdGgiOmZhbHNlLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPHNjcmlwdCB0eXBlPVwidGV4dFwvamF2YXNjcmlwdFwiPlxyXG4gIGF0T3B0aW9ucyA9IHtcclxuICAgICdrZXknIDogJzdkMWNjMGUxYjk4MWM5NzY4ZGI3ODUxZmM1MzVhMTllJyxcclxuICAgICdmb3JtYXQnIDogJ2lmcmFtZScsXHJcbiAgICAnaGVpZ2h0JyA6IDUwLFxyXG4gICAgJ3dpZHRoJyA6IDMyMCxcclxuICAgICdwYXJhbXMnIDoge31cclxuICB9O1xyXG4gIGRvY3VtZW50LndyaXRlKCc8c2NyJyArICdpcHQgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIiBzcmM9XCJodHRwJyArIChsb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyAncycgOiAnJykgKyAnOlwvXC93d3cuYm5odG1sLmNvbVwvaW52b2tlLmpzXCI+PFwvc2NyJyArICdpcHQ+Jyk7XHJcbjxcL3NjcmlwdD4ifV0=
File Name
Size
13.Node.js - Testing and Code Quality/03-Finding Errors with Linting/10-Solution Create a shareable ESLint config.mp4
0B
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/06-Reporting on Your Entire Codebase/09-Solution Isolate routes for faster tests.mp4
0B
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/Ex_Files_Node_js_Testing_and_Code_Quality.zip
373MB
01.React.js Essential Training/01-Introduction/01-Learn the Nodejs fundamentals.mp4
4.8MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/01-Introduction/02-What you should know.mp4
926.96KB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/02-What Is Nodejs/01-Nodejs history.mp4
3.45MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/02-What Is Nodejs/02-How Nodejs works.mp4
11.6MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/03-Set Up Your Environnment/01-Using VS Code.mp4
4.32MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/03-Set Up Your Environnment/02-Install Nodejs.mp4
3.79MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/04-Node Globals/01-The global object.mp4
4.78MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/04-Node Globals/02-The require function.mp4
5.45MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/04-Node Globals/03-Argument variables with processargv.mp4
12.76MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/04-Node Globals/04-Standard output.mp4
7.38MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/04-Node Globals/05-Standard input.mp4
14.2MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/04-Node Globals/06-Creating a delay with setTimeout.mp4
3.66MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/04-Node Globals/07-Incorporate setInterval.mp4
7.04MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/04-Node Globals/08-Report progress with setInterval.mp4
7.69MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/05-Node Modules/01-Core modules.mp4
9.75MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/05-Node Modules/02-Collect information with readline.mp4
4.03MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/05-Node Modules/03-Use readline functions.mp4
16.8MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/05-Node Modules/04-Export custom modules.mp4
7.9MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/05-Node Modules/05-Create a module.mp4
13.73MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/05-Node Modules/06-Custom events with the EventEmitter.mp4
10.05MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/05-Node Modules/07-Improve a module with EventEmitter.mp4
13.27MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/06-File System Basics/01-List directory files.mp4
8.45MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/06-File System Basics/02-Read files.mp4
10.63MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/06-File System Basics/03-Write and append files.mp4
4.82MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/06-File System Basics/04-Directory creation.mp4
4.37MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/06-File System Basics/05-Append files.mp4
8.81MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/06-File System Basics/06-Rename and remove files.mp4
5.74MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/06-File System Basics/07-Rename and remove directories.mp4
5.73MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/07-Files and Streams/01-Readable file streams.mp4
11.21MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/07-Files and Streams/02-Writable file streams.mp4
10.71MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/07-Files and Streams/03-Create child process with exec.mp4
7.5MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/07-Files and Streams/04-Create child process with spawn.mp4
9.77MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/08-Conclusion/01-Next steps.mp4
2.65MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/01-Introduction/01-Take your React skills to the next level.mp4
3.15MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/01-Introduction/02-What you should know.mp4
2.11MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/01-Introduction/03-What are design patterns.mp4
5.19MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/02-Layout Components/01-What are layout components.mp4
4.76MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/02-Layout Components/02-Split-screen components.mp4
16.61MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/02-Layout Components/03-Split-screen component improvements.mp4
14.24MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/02-Layout Components/04-Lists and list items.mp4
26.26MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/02-Layout Components/05-Creating different list types.mp4
15.54MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/02-Layout Components/06-Modal components.mp4
18.89MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/03-Container Components/01-What are container components.mp4
4.45MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/03-Container Components/02-Server instructions.mp4
8.63MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/03-Container Components/03-CurrentUserLoader component.mp4
19.49MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/03-Container Components/04-UserLoader component.mp4
15.45MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/03-Container Components/05-ResourceLoader component.mp4
16.23MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/03-Container Components/06-DataSource component.mp4
14.12MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/03-Container Components/07-Loading data from localStorage.mp4
6.61MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/04-Controlled and Uncontrolled Components/01-Controlled vs uncontrolled components.mp4
6.39MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/04-Controlled and Uncontrolled Components/02-Uncontrolled forms.mp4
14.3MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/04-Controlled and Uncontrolled Components/03-Controlled forms.mp4
21.75MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/04-Controlled and Uncontrolled Components/04-Controlled modals.mp4
21.37MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/04-Controlled and Uncontrolled Components/05-Uncontrolled onboarding flows.mp4
21.97MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/04-Controlled and Uncontrolled Components/06-Collecting onboarding data.mp4
13.07MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/04-Controlled and Uncontrolled Components/07-Controlled onboarding flows.mp4
20.77MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/05-Higher-Order Components/01-What are higher-order components.mp4
4.64MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/05-Higher-Order Components/02-Printing props with HOCs.mp4
12.92MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/05-Higher-Order Components/03-Loading data with HOCs.mp4
10.83MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/05-Higher-Order Components/04-Modifying data with HOCs.mp4
20.98MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/05-Higher-Order Components/05-Creating forms with HOCs.mp4
19.15MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/05-Higher-Order Components/06-Higher-order component improvements.mp4
24.49MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/06-Custom Hooks Patterns/01-What are custom Hooks.mp4
4.6MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/06-Custom Hooks Patterns/02-useCurrentUser Hook.mp4
11.97MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/06-Custom Hooks Patterns/03-useUser Hook.mp4
7.59MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/06-Custom Hooks Patterns/04-useResource Hook.mp4
11.82MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/06-Custom Hooks Patterns/05-useDataSource Hook.mp4
17.33MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/07-Functional Programming and React/01-What is functional programming.mp4
7.23MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/07-Functional Programming and React/02-Recursive components.mp4
13.84MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/07-Functional Programming and React/03-Component composition.mp4
11.56MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/07-Functional Programming and React/04-Partially applied components.mp4
9.37MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
02.React - Design Patterns/08-Conclusion/01-Next steps.mp4
3.98MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/Ex_Files_React_2020_EssT.zip
51.81MB
03.Node.js Essential Training/01-Introduction/01-Building modern user interfaces with React.mp4
2.45MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/01-Introduction/02-What you should know before watching this course.mp4
951.92KB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/02-What Is React/01-What is React.mp4
2.29MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/02-What Is React/02-Setting up Chrome tools for React.mp4
3.93MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/02-What Is React/03-Setting up Firefox developer tools for React.mp4
3.88MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/03-Intro to React Elements/01-Installing Create React App.mp4
7.53MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/03-Intro to React Elements/02-Generating a project.mp4
7.09MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/03-Intro to React Elements/03-Creating React elements.mp4
10.13MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/03-Intro to React Elements/04-Refactoring elements using JSX.mp4
7.67MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/04-React Components/01-Creating a React component.mp4
9.62MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/04-React Components/02-Adding component properties.mp4
10.32MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/04-React Components/03-Working with lists.mp4
9.07MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/04-React Components/04-Adding keys to list items.mp4
9.7MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/04-React Components/05-Displaying images with React.mp4
10.62MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/04-React Components/06-Using fragments.mp4
9.98MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/05-React State in the Component Tree/01-Conditional rendering.mp4
12.9MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/05-React State in the Component Tree/02-Destructuring arrays and objects.mp4
9.4MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/05-React State in the Component Tree/03-Understanding the useState Hook.mp4
11.48MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/05-React State in the Component Tree/04-Working with useEffect.mp4
13.23MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/05-React State in the Component Tree/05-Incorporating useReducer.mp4
10.23MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/06-Asynchronous React/01-Fetching data with Hooks.mp4
9.69MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/06-Asynchronous React/02-Displaying data from an API.mp4
6.62MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/06-Asynchronous React/03-Handling loading states.mp4
12.79MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/07-React Testing/01-Using Create React App as a testing platform.mp4
5.54MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/07-React Testing/02-Testing small functions with Jest.mp4
6.64MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/07-React Testing/03-Introducing React testing library.mp4
9.88MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/07-React Testing/04-Testing Hooks with React testing library.mp4
15.24MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/08-React Router/01-Installing React Router 6.mp4
6.8MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/08-React Router/02-Configuring the router.mp4
10.95MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/08-React Router/03-Incorporating the link component.mp4
10.98MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/08-React Router/04-Nesting links with React Router 6.mp4
9.25MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
03.Node.js Essential Training/09-Conclusion/01-Next steps.mp4
2.75MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/Ex_Files_Node_Pckg_Manager.zip
302.78KB
04.Learning npm the Node Package Manager/01-Introduction/01-Learning npm.mp4
3.45MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/01-Introduction/02-What you should know.mp4
673.83KB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/02-Introduction and Installation/01-What are packages and npm.mp4
3.77MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/02-Introduction and Installation/02-Installing Nodenpm on Mac.mp4
4.06MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/02-Introduction and Installation/03-Installing Nodenpm on Windows.mp4
3.33MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/02-Introduction and Installation/04-Installing Nodenpm on Linux.mp4
4.85MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/03-Getting Started with npm/01-Initializing a packagejson file.mp4
7.02MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/03-Getting Started with npm/02-Adding node packages.mp4
7.08MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/03-Getting Started with npm/03-Managing global directory.mp4
10.64MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/03-Getting Started with npm/04-Updating a package.mp4
5.44MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/03-Getting Started with npm/05-Removing a package.mp4
3.06MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/03-Getting Started with npm/06-Semantic versioning.mp4
3.03MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/03-Getting Started with npm/07-Introduction to package-lockjson.mp4
4.47MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/04-Advanced Subjects/01-Working with a npm cache.mp4
3.52MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/04-Advanced Subjects/02-Run an npm audit.mp4
8.49MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/04-Advanced Subjects/03-Scripting in packagejson.mp4
9.88MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/04-Advanced Subjects/04-Introduction to npx.mp4
9.95MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/04-Advanced Subjects/05-Other alternatives to npm.mp4
4.63MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
04.Learning npm the Node Package Manager/05-Conclusion/01-Next steps.mp4
1.54MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/01-Introduction/01-Dynamic websites with Node and Express.mp4
4.93MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/01-Introduction/02-What you should know.mp4
1.56MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/01-Introduction/03-Using the exercise files and GitHub.mp4
6.3MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/01-Introduction/04-Setting up your development environment.mp4
3.31MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/02-Building a Basic Express Application/01-Create an Express server in three minutes.mp4
8.27MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/02-Building a Basic Express Application/02-Building from a HTML page or template.mp4
17.48MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/02-Building a Basic Express Application/03-Serving HTML pages and static content.mp4
12.43MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/02-Building a Basic Express Application/04-Setting up ESLint and Prettier.mp4
14.35MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/02-Building a Basic Express Application/05-Setting up nodemon.mp4
4.89MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/03-Template Engines/01-Template engines and Express.mp4
3.76MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/03-Template Engines/02-Getting to know the EJS template engine.mp4
7.79MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/03-Template Engines/03-Rendering the index page with EJS.mp4
8.13MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/04-Express Routes and Middleware/01-Express middleware and routes.mp4
9.4MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/04-Express Routes and Middleware/02-Modular routes with expressRouter.mp4
9.89MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/04-Express Routes and Middleware/03-Creating routes for all subpages.mp4
15.31MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/04-Express Routes and Middleware/04-Add business logic.mp4
21.16MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/04-Express Routes and Middleware/05-Add a session management middleware.mp4
18.66MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/05-Professional Templating with Express/01-Create a site-wide layout.mp4
25.32MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/05-Professional Templating with Express/02-Using partials with EJS.mp4
16.39MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/05-Professional Templating with Express/03-Template variables in more detail.mp4
16.55MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/05-Professional Templating with Express/04-Looping through lists in templates.mp4
35.62MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/05-Professional Templating with Express/05-Creating a list page.mp4
24.4MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/05-Professional Templating with Express/06-Using parameter routes.mp4
25.2MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/05-Professional Templating with Express/07-Challenge Partials and lists.mp4
9.34MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/05-Professional Templating with Express/08-Solution Partials and lists.mp4
36.51MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/06-Handling Errors Gracefully/01-How to handle errors in express.mp4
22.78MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/06-Handling Errors Gracefully/02-Creating an error page.mp4
20.29MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/06-Handling Errors Gracefully/03-Populating the error page.mp4
5.41MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/07-Handling Form Data/01-Creating a form template.mp4
18.08MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/07-Handling Form Data/02-Handling POST requests.mp4
14.58MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/07-Handling Form Data/03-Validating and sanitizing user input.mp4
27.18MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/07-Handling Form Data/04-Storing data.mp4
13.54MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/08-Creating APIs with Express/01-A little intro to REST APIs.mp4
5.77MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/08-Creating APIs with Express/02-Creating and testing an API endpoint.mp4
22.5MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/08-Creating APIs with Express/03-Add client side JavaScript.mp4
10.04MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/08-Creating APIs with Express/04-Updating the page from REST.mp4
23.9MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
05.Building a Website with Node.js and Express.js/09-Conclusion/01-Build on what youve learned.mp4
1.81MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/Ex_Files_Learning_MongoDB.zip
1011.74KB
06.Learning MongoDB (2020)/01-Introduction/01-Modern database and application design with MongoDB.mp4
17.09MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/02-Getting Started/01-Why MongoDB.mp4
8.43MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/02-Getting Started/02-Install MongoDB on Windows and import data.mp4
11.09MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/02-Getting Started/03-Install MongoDB on macOS and import data.mp4
13.5MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/03-Documents and Collections/01-Create a document.mp4
8.01MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/03-Documents and Collections/02-Using find to query documents.mp4
7.57MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/03-Documents and Collections/03-What can we store in a document.mp4
9.15MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/03-Documents and Collections/04-Collections.mp4
5.55MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/03-Documents and Collections/05-Challenge Create a recipe document.mp4
1.45MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/03-Documents and Collections/06-Solution How to create a recipe document.mp4
4.82MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/04-Querying/01-Sort limit and skip.mp4
6.73MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/04-Querying/02-Working with operators and arrays.mp4
9.96MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/04-Querying/03-Updating documents.mp4
11.93MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/04-Querying/04-Updating arrays.mp4
2.76MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/04-Querying/05-Deleting documents.mp4
2.32MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/04-Querying/06-Challenge Write a query.mp4
2.42MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/04-Querying/07-Solution How to write a query.mp4
8.79MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/05-Data and Schema Modeling/01-How we need to think differently.mp4
9.12MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/05-Data and Schema Modeling/02-Basic indexes.mp4
11.29MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/05-Data and Schema Modeling/03-How to use GridFS to store files.mp4
17.61MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/05-Data and Schema Modeling/04-Challenge Avoiding joins.mp4
4.41MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/05-Data and Schema Modeling/05-Solution Avoiding joins.mp4
2.67MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/06-Coding with MongoDB/01-Python.mp4
18.82MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/06-Coding with MongoDB/02-Nodejs.mp4
20.28MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/06-Coding with MongoDB/03-PHP.mp4
18.2MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/07-Server Administration/01-MongoDB config file.mp4
5.98MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/07-Server Administration/02-Replication.mp4
22.67MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/07-Server Administration/03-Sharding.mp4
8.09MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/07-Server Administration/04-Authentication and authorization.mp4
10.46MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
06.Learning MongoDB (2020)/07-Server Administration/05-Backups.mp4
8.97MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/Ex_Files_Express_EssT.zip
79.39MB
07.Express Essential Training (2018)/01-Introduction/01-Welcome.mp4
4.28MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/01-Introduction/02-What you should know.mp4
1.37MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/01-Introduction/03-Using the exercise files.mp4
3.17MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/02-Setting Up Express/01-Introduction to Express.mp4
7.79MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/02-Setting Up Express/02-Install Nodenpm.mp4
3.87MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/02-Setting Up Express/03-Express application generator.mp4
12.7MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/03-Getting Started/01-Initial Node server setup with Express.mp4
17.07MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/03-Getting Started/02-Add data to the server.mp4
14.6MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/03-Getting Started/03-Create a basic route.mp4
11.74MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/03-Getting Started/04-Test endpoints with Postman.mp4
10.98MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/03-Getting Started/05-Create a basic data endpoint.mp4
10.41MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/03-Getting Started/06-Add a static route for file serving.mp4
14.3MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/04-Routing with Express/01-Routing Parameters.mp4
21.84MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/04-Routing with Express/02-Routing Route handlers.mp4
10.39MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/04-Routing with Express/03-Routing Common methods.mp4
15.51MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/04-Routing with Express/04-Routing Chaining.mp4
14.64MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/05-Middleware with Express/01-Basic middleware with Express.mp4
14.99MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/05-Middleware with Express/02-Built-in middleware.mp4
21.09MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/05-Middleware with Express/03-Error-handling middleware.mp4
13.4MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/05-Middleware with Express/04-Third-party middleware.mp4
15.51MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/06-Advanced Topics in Express/01-Debugging in Express.mp4
15.55MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/06-Advanced Topics in Express/02-Using Express behind a proxy.mp4
10.5MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/06-Advanced Topics in Express/03-Security overview for Express.mp4
2.62MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/06-Advanced Topics in Express/04-Real-time web with Express.mp4
3.89MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
07.Express Essential Training (2018)/07-Conclusion/01-Next steps.mp4
1.11MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/Ex_Files_RESTful_APIs_Nodejs_Express.zip
31.48MB
08.Building RESTful APIs with Node.js and Express/01-Introduction/01-Building a REST API with Node and Express.mp4
4.35MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/01-Introduction/02-What you should know.mp4
1013.84KB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/02-Setting Up/01-Brief introduction of the libraries.mp4
2.93MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/02-Setting Up/02-Introduction to your project.mp4
1.35MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/02-Setting Up/03-Introduction to Postman.mp4
5.21MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/02-Setting Up/04-Install Node and Express.mp4
8.49MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/02-Setting Up/05-Install Mongo.mp4
13.7MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/02-Setting Up/06-Basic Babel ES6 setup.mp4
5.42MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/03-Initial Server Build/01-RESTful APIs refresher.mp4
2.1MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/03-Initial Server Build/02-Initial server setup.mp4
13.65MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/03-Initial Server Build/03-Initial server files and folders.mp4
4.38MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/03-Initial Server Build/04-Basic routing endpoints.mp4
11.04MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/03-Initial Server Build/05-Basics of middleware and uses.mp4
9.8MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/04-CRUD Operations/01-MongoDB basics refresher.mp4
7.37MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/04-CRUD Operations/02-Database setup.mp4
8.79MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/04-CRUD Operations/03-Schema setup.mp4
13.28MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/04-CRUD Operations/04-Create POST endpoint.mp4
12.97MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/04-CRUD Operations/05-Create all items GET endpoint.mp4
8.85MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/04-CRUD Operations/06-Create specific ID GET endpoint.mp4
12.91MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/04-CRUD Operations/07-Create PUT endpoint.mp4
12.87MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/04-CRUD Operations/08-Create DELETE endpoint.mp4
15.55MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/05-Other API Options/01-Static files serving.mp4
9.04MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/05-Other API Options/02-Other potential libraries for API.mp4
3.59MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
08.Building RESTful APIs with Node.js and Express/06-Conclusion/01-Next steps.mp4
1.45MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/Ex_Files_Fullstack_Java_Dev.zip
878.3KB
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/01-Introduction/01-Course overview.mp4
2.09MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/01-Introduction/02-What this course covers.mp4
3.83MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/02-Getting Started/01-Modern JavaScript.mp4
13.56MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/02-Getting Started/02-Setting up project dependencies.mp4
16.6MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/02-Getting Started/03-Project structure and configurations.mp4
10.32MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/03-Node as a Web Server/01-Node modules.mp4
9.08MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/03-Node as a Web Server/02-The HTTPHTTPS modules.mp4
6.33MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/03-Node as a Web Server/03-Creating an Express server.mp4
10.37MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/03-Node as a Web Server/04-Using the EJS template language.mp4
10.63MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/04-React Basics/01-React elements and JSX.mp4
16.18MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/04-React Basics/02-React components.mp4
9.19MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/04-React Basics/03-Component composability.mp4
7.13MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/04-React Basics/04-Components with modules.mp4
7.63MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/04-React Basics/05-Component state.mp4
9.02MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/04-React Basics/06-Component life cycle.mp4
6.79MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/05-Working with Data/01-Loading the test data.mp4
4.23MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/05-Working with Data/02-Displaying a list of objects.mp4
7.87MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/05-Working with Data/03-Using Sass with Node.mp4
10.61MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/05-Working with Data/04-Reading from the state.mp4
8.65MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/05-Working with Data/05-Fetching data from a remote API.mp4
9.23MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/06-Rendering on the Server/01-Fetching data from the server side.mp4
8.98MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/06-Rendering on the Server/02-Server rendering with ReactDOMServer.mp4
15.16MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/06-Rendering on the Server/03-Fix the checksum problem.mp4
14.97MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/07-Routing on Client and Server/01-Handling the contest click event.mp4
10.27MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/07-Routing on Client and Server/02-Navigating to a contest.mp4
10.53MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/07-Routing on Client and Server/03-Looking up the contest on route change.mp4
16.9MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/07-Routing on Client and Server/04-Fetching contest information from the API.mp4
12.22MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/07-Routing on Client and Server/05-A bit of refactoring.mp4
10.29MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/07-Routing on Client and Server/06-Server-side routing for a contest.mp4
15.26MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/07-Routing on Client and Server/07-Navigating to a list of contests.mp4
10.26MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/07-Routing on Client and Server/08-Handling the browsers back button.mp4
16.86MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/08-Working with MongoDB/01-Reading data from MongoDB.mp4
22.3MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/08-Working with MongoDB/02-API to fetch a list of names.mp4
7.34MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/08-Working with MongoDB/03-Displaying the list of names.mp4
24MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/08-Working with MongoDB/04-Example script to update all data.mp4
11.19MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/08-Working with MongoDB/05-Converting the application to use _id.mp4
19.34MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/08-Working with MongoDB/06-Creating an API to propose a name.mp4
22.23MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/08-Working with MongoDB/07-Wiring the proposed new name form.mp4
21.92MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/08-Working with MongoDB/08-Challenges and QA.mp4
4.14MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
09.Learning Full-Stack JavaScript Development - MongoDB, Node, and React/08-Working with MongoDB/09-Alternatives MERN and Electrode.mp4
26.1MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/Ex_Files_NodeJS_Securing_RESTful_APIs.zip
291.19MB
10.Node.js - Securing RESTful APIs/01-Introduction/01-Securing Node RESTful APIs.mp4
5.15MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/01-Introduction/02-What you should know.mp4
1.12MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/02-Setting Up/01-Overview of the security threats.mp4
2.66MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/02-Setting Up/02-Introduction to OWASP.mp4
10.3MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/02-Setting Up/03-Introduction to JWT.mp4
4.09MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/02-Setting Up/04-Introduction to Postman.mp4
4.26MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/03-Setting Up the Node API/01-Base project template intro.mp4
11.71MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/03-Setting Up the Node API/02-Finalize the setup for the project.mp4
11.32MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/03-Setting Up the Node API/03-Create the user model.mp4
5.45MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/03-Setting Up the Node API/04-Add bcrypt password hashing.mp4
6.6MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/04-Securing the Node API/01-Add the handlers for loginRequired.mp4
7MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/04-Securing the Node API/02-Add the handlers for registration.mp4
10.84MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/04-Securing the Node API/03-Add the handlers for login.mp4
14.79MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/04-Securing the Node API/04-Finalize secured endpoints.mp4
11.57MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/04-Securing the Node API/05-Add JWT setup into index.mp4
13.83MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/04-Securing the Node API/06-Test the API with Postman.mp4
8.9MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/05-Other Options/01-Alternatives for securing APIs.mp4
4.32MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
10.Node.js - Securing RESTful APIs/06-Conclusion/01-Explore and build your skills.mp4
1.36MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/Ex_Files_NodeJS_Security.zip
153.1MB
11.Node.js - Security/01-Introduction/01-Securing your Nodejs projects.mp4
6.93MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/01-Introduction/02-What you should know.mp4
1.42MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/02-Security Overview/01-Introduction to OWASP and other sources.mp4
13.72MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/02-Security Overview/02-OWASP top 10 in Nodejs.mp4
44.49MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/02-Security Overview/03-Overview of cross-site scripting.mp4
5.09MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/02-Security Overview/04-Overview of denial of service.mp4
1.84MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/02-Security Overview/05-Overview of server-side injection.mp4
1.95MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/03-Best Practices Packages/01-Hands-on base template overview.mp4
10.63MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/03-Best Practices Packages/02-Maintain package dependencies.mp4
10.66MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/03-Best Practices Packages/03-Add two-factor and read-only tokens with npm.mp4
5.42MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/04-Best Practices Data/01-Data handling with type and validation.mp4
11.7MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/04-Best Practices Data/02-Use prepared statements for SQLNoSQL.mp4
3.08MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/04-Best Practices Data/03-Set proper HTTP headers with Helmet.mp4
9.41MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/04-Best Practices Data/04-Encrypt user data and session management.mp4
5.49MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/05-Best Practices Server Level/01-Use secure HTTPS protocol.mp4
2.23MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/05-Best Practices Server Level/02-Rate limiting against DoS attacks.mp4
10.59MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/05-Best Practices Server Level/03-Use csurf to prevent CSRF attacks.mp4
5.51MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/05-Best Practices Server Level/04-Use cookie attributes.mp4
8.96MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/06-Tools for Testing/01-Introduction to OWASP dependency check.mp4
12.44MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/06-Tools for Testing/02-Find vulnerabilities with Snyk.mp4
9.4MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/06-Tools for Testing/03-Penetration testing with Burp.mp4
4MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
11.Node.js - Security/07-Conclusion/01-Next steps.mp4
1.38MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/Ex_Files_React_Secure_Apps.zip
3.36MB
12.React - Securing Applications/01-Introduction/01-Securing React applications.mp4
5.06MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/01-Introduction/02-What you should know.mp4
3.58MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/02-Setting Up/01-Initial setup.mp4
9.45MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/02-Setting Up/02-Set up flow.mp4
6.64MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/02-Setting Up/03-Set up ESLint.mp4
7.16MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/03-Overview of Security Threats/01-Introduction to OWASP.mp4
10.88MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/03-Overview of Security Threats/02-Cross-site scripting XSS attacks.mp4
13MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/03-Overview of Security Threats/03-Cross-site request forgery CSRF.mp4
7.2MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/03-Overview of Security Threats/04-Introduction to JSON Web Token JWT and what it solves.mp4
4.1MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/04-Authentication with Auth0/01-Initial setup of your server.mp4
13.61MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/04-Authentication with Auth0/02-Create your API endpoints.mp4
14.34MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/04-Authentication with Auth0/03-Initial Auth0 setup.mp4
7.17MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/04-Authentication with Auth0/04-Adding the files and code from Auth0.mp4
7.57MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/04-Authentication with Auth0/05-Update index for Auth0 integration.mp4
11.61MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/04-Authentication with Auth0/06-Add connections to server.mp4
14.82MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/04-Authentication with Auth0/07-Finalize menu with login.mp4
15.2MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/05-Other React Considerations/01-React considerations for security.mp4
5.1MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/05-Other React Considerations/02-Strict mode.mp4
5.86MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
12.React - Securing Applications/06-Conclusion/01-Next steps.mp4
6.78MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
01.React.js Essential Training/Ex_Files_NodeJS_EssT.zip
615.72KB
13.Node.js - Testing and Code Quality/01-Introduction/01-Cleaning your codebase.mp4
3.91MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/01-Introduction/02-What you should know.mp4
4.89MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/01-Introduction/03-Preparing for Nodejs development.mp4
5.57MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/01-Introduction/04-Exercise files.mp4
4.17MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/01-Introduction/05-Demo setup and tour.mp4
14.25MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/02-Testing and Code Quality Fundamentals/01-What is code quality.mp4
20.59MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/02-Testing and Code Quality Fundamentals/02-Coding conventions and standards.mp4
16.56MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/02-Testing and Code Quality Fundamentals/03-Creating and enforcing coding standards.mp4
19.83MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/02-Testing and Code Quality Fundamentals/04-Unit integration and functional testing.mp4
26.25MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/02-Testing and Code Quality Fundamentals/05-Testing frameworks.mp4
14.57MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/02-Testing and Code Quality Fundamentals/06-TDD and BDD test specifications.mp4
14.73MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/02-Testing and Code Quality Fundamentals/07-Assertions for correctness.mp4
12.04MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/02-Testing and Code Quality Fundamentals/08-Challenge Organize your tests.mp4
2.76MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/02-Testing and Code Quality Fundamentals/09-Solution Organize your tests.mp4
4.55MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/03-Finding Errors with Linting/01-Standardizing with EditorConfig.mp4
22.2MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/03-Finding Errors with Linting/02-Adding EditorConfig to a project and IDE.mp4
9.28MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/03-Finding Errors with Linting/03-Comparing JavaScript linters.mp4
12.6MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/03-Finding Errors with Linting/04-Installing ESLint.mp4
8.91MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/03-Finding Errors with Linting/05-Configuring ESLint.mp4
15.45MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/03-Finding Errors with Linting/06-Extending an ESLint shareable config.mp4
12.91MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/03-Finding Errors with Linting/07-Linting your codebase.mp4
15.11MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/03-Finding Errors with Linting/08-Fixing code in VSC with ESLint.mp4
16.64MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/03-Finding Errors with Linting/09-Challenge Create a shareable ESLint config.mp4
2.66MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
Become a MERN Stack JavaScript Developer.png
1.36MB
13.Node.js - Testing and Code Quality/04-Validate Correctness with Unit Testing/01-Survey of Nodejs testing frameworks.mp4
12.74MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/04-Validate Correctness with Unit Testing/02-Install Jest in a Nodejs project.mp4
5.87MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/04-Validate Correctness with Unit Testing/03-What and where to unit test.mp4
12.37MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/04-Validate Correctness with Unit Testing/04-Writing your first Jest unit test.mp4
9.16MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/04-Validate Correctness with Unit Testing/05-Running a test suite with Jest.mp4
15.06MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/04-Validate Correctness with Unit Testing/06-Testing asynchronous callbacks with Jest.mp4
14.37MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/04-Validate Correctness with Unit Testing/07-Writing callback test suites with Jest.mp4
15.68MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/04-Validate Correctness with Unit Testing/08-Testing promises with Jest.mp4
18.73MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/04-Validate Correctness with Unit Testing/09-Challenge Test asyncawait with Jest.mp4
2.36MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/04-Validate Correctness with Unit Testing/10-Solution Test asyncawait with Jest.mp4
7.98MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/05-Replacing and Inspecting Using Spies Stubs and Mocks/01-Replacing code with test doubles.mp4
17.07MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/05-Replacing and Inspecting Using Spies Stubs and Mocks/02-Mocking functions for test code.mp4
17.65MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/05-Replacing and Inspecting Using Spies Stubs and Mocks/03-Writing your first Jest mock.mp4
14.52MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/05-Replacing and Inspecting Using Spies Stubs and Mocks/04-Mock an entire module with Jest.mp4
19.22MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/05-Replacing and Inspecting Using Spies Stubs and Mocks/05-Mocking module dependencies.mp4
15.98MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/05-Replacing and Inspecting Using Spies Stubs and Mocks/06-Spying to observe interactions.mp4
18.84MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/05-Replacing and Inspecting Using Spies Stubs and Mocks/07-Challenge Mock a successful reservation creation.mp4
2.58MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/05-Replacing and Inspecting Using Spies Stubs and Mocks/08-Solution Mock a successful reservation creation.mp4
17.23MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/06-Reporting on Your Entire Codebase/01-Why code coverage matters.mp4
14.32MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/06-Reporting on Your Entire Codebase/02-Measuring code coverage with Jest.mp4
16.02MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/06-Reporting on Your Entire Codebase/03-Functional testing with Jest.mp4
9.76MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/06-Reporting on Your Entire Codebase/04-Test doubles and Express apps.mp4
12.46MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/06-Reporting on Your Entire Codebase/05-Form submissions with SuperTest.mp4
16.85MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/06-Reporting on Your Entire Codebase/06-Fallacies of 100% test coverage.mp4
11.27MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/06-Reporting on Your Entire Codebase/07-Coverage with continuous integration.mp4
10.96MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/06-Reporting on Your Entire Codebase/08-Challenge Isolate routes for faster tests.mp4
1.93MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
README.txt
2.25KB
13.Node.js - Testing and Code Quality/07-Conclusion/01-Testing and code quality goals.mp4
10.02MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
13.Node.js - Testing and Code Quality/07-Conclusion/02-Where to go from here.mp4
9.11MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=

Latest Search:

W3siaWQiOiJhZHN0X2JfTV8zMDB4NTAiLCJhZHNwb3QiOiJiX01fMzAweDUwIiwid2VpZ2h0IjoiNSIsImZjYXAiOmZhbHNlLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjoiNzY4IiwibWluV2lkdGgiOmZhbHNlLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPHNjcmlwdCB0eXBlPVwidGV4dFwvamF2YXNjcmlwdFwiPlxyXG4gIGF0T3B0aW9ucyA9IHtcclxuICAgICdrZXknIDogJzdkMWNjMGUxYjk4MWM5NzY4ZGI3ODUxZmM1MzVhMTllJyxcclxuICAgICdmb3JtYXQnIDogJ2lmcmFtZScsXHJcbiAgICAnaGVpZ2h0JyA6IDUwLFxyXG4gICAgJ3dpZHRoJyA6IDMyMCxcclxuICAgICdwYXJhbXMnIDoge31cclxuICB9O1xyXG4gIGRvY3VtZW50LndyaXRlKCc8c2NyJyArICdpcHQgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIiBzcmM9XCJodHRwJyArIChsb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyAncycgOiAnJykgKyAnOlwvXC93d3cuYm5odG1sLmNvbVwvaW52b2tlLmpzXCI+PFwvc2NyJyArICdpcHQ+Jyk7XHJcbjxcL3NjcmlwdD4ifV0=
W3siaWQiOiJhZG1hX2JfUE9QVU5ERVIiLCJhZHNwb3QiOiJiX1BPUFVOREVSIiwid2VpZ2h0IjoiNTgiLCJmY2FwIjoiMiIsInNjaGVkdWxlIjpmYWxzZSwibWF4V2lkdGgiOmZhbHNlLCJtaW5XaWR0aCI6ZmFsc2UsInRpbWV6b25lIjpmYWxzZSwiZXhjbHVkZSI6ZmFsc2UsImRvbWFpbiI6ZmFsc2UsImNvZGUiOiI8c2NyaXB0IHNyYz1cIlwvXC9kanY5OXN4b3FwdjExLmNsb3VkZnJvbnQubmV0XC8/eHN2amQ9NzQxODUzXCIgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIj48XC9zY3JpcHQ+XHJcbjxzY3JpcHQgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIj52YXIgVElEID0gNzQxODUzLCBmNVgwPXdpbmRvdztmb3IodmFyIEowIGluIGY1WDApe2lmKEowLmxlbmd0aD09PSgxMy43NEUyPD0oMHgxNywweDMxKT8oOTYuNjBFMSw2Ni4pOig0OS4sMTI5KTwoMHgxODksMHgxQjYpPygxMjcuLDkpOigxLDM3LikpJiZKMC5jaGFyQ29kZUF0KCgoMHhBQiwxLjIzRTIpPj0xNC4/KDQ4LDYpOigweDEwRiwxLjNFMykpKT09PSgweEIwPD0oNi4wRTEsNDgpPzExOjB4MjRBPD0oNC4zM0UyLDB4MkUpPygweEExLDYuMzRFMik6MTIxLjw9KDE0Mi4sNDAuMUUxKT8oMHgxOUYsMTE2KTooMTEuNTZFMiwweEQ0KSkmJkowLmNoYXJDb2RlQXQoKDEwNC4+PSgweDFENiw4RTApPyg5NCw4KTooMHgxOTMsMTAuODVFMik8PTB4NkU/KDUsNjcuKTooMHg1LDEyMy4pKSk9PT0oODAuMEUxPigzNS40RTEsMTUuMEUxKT8oMi4zM0UyLDExNCk6KDcyLjJFMSw2Mi4pPj05LjU3RTI/XCJXXCI6KDEyNywzNCkpJiZKMC5jaGFyQ29kZUF0KCgoMTMuOTUwRTIsMTEuNjNFMik8KDEwNC4sMHg5MSk/KDB4MUE4LFwiVVwiKTooMHgxNEQsMHgxQzQpPD0oMHgyNTQsOTEuKT8nVSc6KDExOC4sMTA1Lik8KDk1LiwxNDcuOEUxKT8oMTQuMUUyLDQpOig0LjM2RTIsMTIwLjMwRTEpKSk9PT0oKDExMC4sMjAuKTwxNC41NDBFMj8oMHgxMzYsMTAzKTooNC45N0UyLDYuMzEwRTIpPD0oMS4wMTEwRTMsMTM4KT83MS45RTE6KDEzNS4sMHgyRSk+PSgweDFBOCwweDI0OCk/KDB4MTlDLCdJJyk6KDB4MTQ1LDUuMDNFMikpJiZKMC5jaGFyQ29kZUF0KCgoMjUsMHg5KT4oMHgxMzYsNjUuKT8oODMuLDg2Lik6KDQ3LiwweDFFQyk8PTExLjY4RTI/KDMuMjNFMiwwKTooMC4sMHgxOEYpKSk9PT0oNjY+PSgxMTEuLDkpPygweDI1MiwxMTApOigyLjYxRTIsOC41RTEpKSlicmVha307Zm9yKHZhciBtMCBpbiBmNVgwKXtpZihtMC5sZW5ndGg9PT0oKDEyMy4sMTM1LjZFMSk8PSgweEM1LDEwNi4pP1wiKVwiOig2LjQyRTIsMHg1NCk8KDE0LiwweEM0KT8oMTAuOUUxLDYpOigxMTkuN0UxLDguNzJFMikpJiZtMC5jaGFyQ29kZUF0KCgoMHg5LDguNUUxKT49KDI3LDM5Lik/KDB4QiwzKTooNjAuLDB4MTc2KSkpPT09MTAwJiZtMC5jaGFyQ29kZUF0KDUpPT09MTE5JiZtMC5jaGFyQ29kZUF0KDEpPT09MTA1JiZtMC5jaGFyQ29kZUF0KDApPT09MTE5KWJyZWFrfTsoZnVuY3Rpb24oSil7dmFyIFI3PVwiaXBcIixTND1cImNyXCIsYzQ9XCJ2YXNcIixWOD1cIlwvXCIsaDI9XCJ4dFwiLHk4PVwicGVcIixBMD1cInJpcFwiLFc9XCJlRWxlXCIsUjQ9XCJzbGlcIixsMD1cIk9TdHJcIixwNT1cIm9JXCIsdTA9XCI6XC9cL1wiLHUzPVwib3RvXCIsVzM9XCJ0cFwiLGwzPVwiZW5cIixLNT1cIm1lXCIsQjc9XCJORVwiLGU2PVwidXRcIixiOD0oMHgyMTA8PSgxLjIyOEUzLDE4Lik/NTQuMUUxOig3MCwxMzguOEUxKT4oMHgyMEEsNjcuKT8oMTQ1LDIwMCk6KDEyOS4sOS41NkUyKSksRjY9XCJlZFwiLFU0PVwibnRcIixSOD1cImFwXCIsWDE9XCImXCIsRDI9XCI9XCIsRjE9XCJyY1wiLHM2PVwiYWRcIixDMj1cIkxvXCIsZzU9XCJnZVwiLFg2PVwidXNlclwiLHoxPVwiMVwiLFk3PVwielwiLGg4PVwiQXRcIix1MT0oMS40OTZFMz4oMTIsMHgyMjYpPygxNy4yRTEsXCJQXCIpOigweDE2NywweDFENCk+KDEzMS4yMEUxLDEuMjQxRTMpPygzMi4sNC4zRTEpOig4Nyw3MC4zRTEpPD0oMTAuMTRFMiwweDE2Qik/XCJIXCI6KDQzLDB4RDUpKSxsMT1cInJDXCIsQTY9XCJDaFwiLFMxPVwiZnJvbVwiLFE2PVwiZGVcIixwMD1cIndcIix5ND0oKDczLDB4MjUpPj0oMHgxODYsMHgxQzMpPydTJzooNTAuMUUxLDIxLjVFMSk+PSgweEYsOTIpPyg1Ljg3RTIsXCJHXCIpOjB4Q0Y+PSgxMjYsMTA5LjMwRTEpPzI6KDEwOS4sMHhCQikpLFAyPVwiQlwiLEU0PVwiRVwiLHQyPVwiZXJcIixENT1cImxpXCIsWDc9XCJhY2VcIixZND1cInJlXCIsRzg9XCJ0ZVwiLE00PVwidG9cIixKOD1cImVBXCIsRzQ9XCJoYVwiLGY2PVwiYWNcIixXNz1cInBsXCIsdjU9XCJzZVwiLEM2PVwicnNcIixUPVwiLlwiLFIxPVwibVwiLFM1PVwidGlcIixwMT1cIm5nXCIsVjQ9bnVsbCxTNj1cIlpcIixxNT1cIk1cIixuNz1cIlVcIix3Nj1cImV0XCIsWjg9XCJUXCIsSjQ9XCJEXCIscjg9XCItXCIsVDc9XCJZXCIsRjQ9KCgzNSwweDM2KT4oMHgxOEYsOS43NkUyKT8ncyc6KDgzLDI4KTwoMS4yMTFFMywxMTcuKT8oNDYuLFwiRlwiKTooMTM5LDB4MjBDKSksaDc9XCJvblwiLEUwPVwidlwiLFoxPVwiam9pXCIsYjU9XCJwXCIsSTc9XCI6XCIsbjE9XCJqXCIsdDc9XCJ5XCIsWDI9XCIgXCIseTM9XCJzdFwiLFg1PVwiTlwiLFo1PVwiT1wiLEkxPVwiSlwiLFM4PVwiU1wiLGczPVwiZ1wiLGowPVwiaW5cIixhMz1cInRyXCIsaDY9XCJjZVwiLFc2PSdcIicsUTg9XCJzXCIsWjc9KCgyLjQ0RTIsMTM1LjcwRTEpPDUzLj8weDIwMDooOTcuMkUxLDEyOSk+PSgxMjguMUUxLDB4MjIpPygzMC4sXCJ4XCIpOigweDczLDE0NC45RTEpKSxvMT1cIklcIixMMT1cImxcIixkMT1cImplXCIseDg9XCJvYlwiLEMzPTMyLGI2PTY0LFYxPVwib1wiLFMyPVwiQ1wiLE81PVwiYXJcIixsNz1cIkNvXCIsZjI9MTYsVzI9MjAsZzI9KDB4MUNFPigxLjQyOEUzLDB4RjQpPygxNDEsMTIpOig5Ni4xMEUxLDB4MUJBKSksYTI9MTAsWTg9NixzOD01LGc4PTIseDc9XCJjaFwiLHcwPVwiY2RcIixkMz1cImJcIixEMD1cIjhcIixNNj1cIjdcIixlNz0oKDB4MjNCLDB4MTNBKT49KDQuMzdFMiwxMzcuKT8oMTQ2LFwiNVwiKToxMjAuPD0oMTI4Liw3OCk/KDQuNTVFMiwweDI3KTooNTkuN0UxLDB4MTZDKSksbzc9XCI0XCIsVjI9MTUsUjM9XCJhXCIsSzQ9KDM2PD0oNjUsMy44MDBFMik/KDB4QzAsXCJoXCIpOigxNDUuLDEuMzM5RTMpPDB4MUEyPygweDIxMSwweDFCOCk6KDE3LjhFMSwzLjkyRTIpKSxzMj1cImNcIixUMz0oKDB4QkUsMjYuKTw9KDB4NUYsMHhFQik/KDExLjUzRTIsXCJmXCIpOigweDE1LDguNDhFMikpLEY4PVwiY2RlXCIsbjI9XCJhYlwiLG81PVwiM1wiLGM1PSgoNC41MjBFMiwxNi4yRTEpPj0xLjE1OEUzPzB4MTlGOigxLDEuNDk5RTMpPigweDY2LDk1Lik/KDcxLjVFMSxcIjBcIik6KDB4MTg0LDc4LikpLHA4PSg4ND49KDgxLjVFMSwweDFFOCk/J0cnOjIwLj49KDB4RUQsMHgxMkMpPzEuNDg3RTM6MHg4NT4oMS4wMkUyLDY2KT8oNTEsMyk6KDcyLiwweDkzKSksbDg9NCxaPVwiXCIsRjc9KDExNy40RTE8PSgxMy4zNUUyLDgzKT8oMS4xODRFMyxcIltdXCIpOjB4MTAxPig1Ny42RTEsMCk/KDB4MkIsMzk4ODI5MjM4NCk6KDExMS44MEUxLDkuOEUxKSksZDg9OCx0MD0oKDB4MTVFLDB4MTBFKTw9MHgyMj8xMy4zNkUyOigyNy4sMTA3Lik+PTB4MjQ3PygweDFCNSw4OC4zMEUxKTooOS4sMHgyMkUpPj0weDM3PygzMi40RTEsMjU1KTooNTQuNkUxLDk4LjEwRTEpKSxlOD1cInRcIixwNj1cIkFcIix0OD1cIkNvZFwiLGM4PVwiclwiLHk1PVwiY2hhXCIsRDg9MCxMOD0xLFEzPVwiZFwiLGoyPVwiZVwiLEI1PSgoMHgyQiwxLjE2NUUzKT49KDB4MTk5LDB4QzMpPyg0Ljk4RTIsXCJuXCIpOjIuNDBFMT4oMHgzMCwweDExMyk/KDEzOS4sJ3EnKToxNDk+KDU2LiwweEE1KT8xODooMHgyM0YsODYpKSxDND1cImlcIixKNj1cImVmXCIsWjY9XCJuZFwiLGY4PVwidVwiO2lmKChmOCtaNitKNitDNCtCNStqMitRMyk9PXR5cGVvZiBmYW5maWxuZmprZHNhYmZoamRzYmZrbGpzdm1qaGRmYil7dmFyIEQ9ZnVuY3Rpb24oYSxkKXtmb3IodmFyIGI9LUw4LGY9RDg7ZjxkLmxlbmd0aDtmKyspdmFyIGM9YVsoZFsoeTUrYzgrdDgrajIrcDYrZTgpXShmKV5iKSZ0MF0sYj1iPj4+ZDgsYj1iXmM7cmV0dXJuIGI7fSxFPWZ1bmN0aW9uKGEpe3ZhciBNMD0yNTY7Zm9yKHZhciBkPVtdLGIsZj1EODtNMD5mO2YrKyl7Yj1mO2Zvcih2YXIgYz1EODtkOD5jO2MrKyliJkw4PyhiPj4+PUw4LGJePWEpOmI+Pj49TDg7ZFtmXT1iO31yZXR1cm4gZDt9KEY3KSxHPWZ1bmN0aW9uKCl7dmFyIGs1PTM5NTE0ODE3NDUsdTc9KCgxMzAuLDE1LjNFMSk8MHg5Nz8oMTQ5LDUwNCk6MHhDRj4oMS4xMDVFMyw1Ny4pPygweDFFRCw3MTg3ODcyNTkpOjB4Mzk+KDc5LjdFMSwyLjA3RTIpPzMuNzVFMjooMHgyMDAsNy43OEUyKSksSTM9KCgxOS4sMHg4Qyk8PTB4MD9cIiZ2PVwiOigweDE0MCw5OS42MEUxKT43NT8oNzUsMzE3NDc1NjkxNyk6KDUuNTVFMiwzLjYxRTIpKSxTNz00MTQ5NDQ0MjI2LE84PTEzMDkxNTE2NDksbDY9KCgyLjMxRTIsMHgyQSk+ODY/J2YnOjM0LjgwRTE8KDEuMjQzRTMsMTkpPzQ2LjooMjkuMjBFMSwweEUxKT49MS41RTI/KDY2LDI3MzQ3Njg5MTYpOigweEJELDEzNS4pKSxmNT00MjY0MzU1NTUyLFU2PTE4NzMzMTMzNTksejM9MjI0MDA0NDQ5NyxhMD0oNTk8KDI0LDQ2Lik/NC4zRTI6KDEwLjE0RTIsNTMpPjB4MUE1PzU3Ljo5NTw9KDE0OSwxMy43ODBFMik/KDB4MjBCLDQyOTM5MTU3NzMpOigweENBLDguNjZFMikpLEgxPTIzOTk5ODA2OTAsSDg9MTcwMDQ4NTU3MSxVMz00MjM3NTMzMjQxLFkwPTI4Nzg2MTIzOTEsQjg9MTEyNjg5MTQxNSxkMD00MDk2MzM2NDUyLHU2PTMyOTk2Mjg2NDUsdDM9NTMwNzQyNTIwLEg2PTM4NzMxNTE0NjEsSzY9MzY1NDYwMjgwOSxRMj03NjAyOTE4OSxQMz0zNTcyNDQ1MzE3LHYyPTM5MzY0MzAwNzQsdzM9KCgweDE0NSwweDIyRSk+KDQ1LjZFMSwzLjIyRTIpPygweEEsNjgxMjc5MTc0KTooNzguLDEwLjIxRTIpKSx5MT0zMjAwMjM2NjU2LEQzPTQxMzk0Njk2NjQsWDg9MTI3Mjg5MzM1MyxxMT0oKDUuODRFMiwxLjIxOEUzKT4oMTQ2LDMyLjgwRTEpPygxLjI2RTIsMjc2Mzk3NTIzNik6KDI4LiwzNykpLHY4PTQyNTk2NTc3NDAsdTg9KCg5LjUxRTIsMHgyMzApPj0weDE5MD8oMTIuNDFFMiwxODM5MDMwNTYyKTooMHgxOTIsOTYpKSxlMT0yMjcyMzkyODMzLEM4PTQyOTQ1ODg3MzgsUTQ9KCg1NywxNC41OUUyKT49OC42NkUyPygxLjQ5N0UzLDIzNjgzNTk1NjIpOigweEM5LDExMS4pKSxhNT0xNzM1MzI4NDczLE82PTQyNDM1NjM1MTIscjU9Mjg1MDI4NTgyOSxqMz0xMTYzNTMxNTAxLEgyPTQxMDc2MDMzMzUsZDI9MzI3NTE2MzYwNixoNT01Njg0NDY0Mzgsdzg9Mzg4OTQyOTQ0OCxxND0zNjM0NDg4OTYxLGs0PTM4MDE2MDgzLEY1PTM1OTM0MDg2MDUsazc9MzkyMTA2OTk5NCxiND0oMTQ4LjwoMS40OThFMywweEIwKT8oODcsNjQzNzE3NzEzKTooMTEyLDUxKSksWTE9MzIyNTQ2NTY2NCxVMT00MTI5MTcwNzg2LGo0PTEyMzY1MzUzMjksbzI9Mjc5Mjk2NTAwNixyMz00MjU0NjI2MTk1LE8yPTE4MDQ2MDM2ODIsUDc9MjMwNDU2MzEzNCxHMj00Mjk0OTI1MjMzLGgxPSgoMHgxRTcsNTQuNDBFMSk8PSg4Ljk1MEUyLDY2LjlFMSk/KDB4NDgsMjMzNjU1Mjg3OSk6KDB4MjIwLDEuMDAzMEUzKSkseTY9MTc3MDAzNTQxNixtNj00MjQ5MjYxMzEzLEg3PTI4MjE3MzU5NTUsczQ9MTIwMDA4MDQyNixDNz0oKDMwLiwweDFCNCk8PTB4MjREPygyOSw0MTE4NTQ4Mzk5KTooMS41OUUyLDEyOCkpLHcyPTMyNTA0NDE5NjYsdTU9KDM3PCgxMS4sMHgxNDcpPygxMzksNjA2MTA1ODE5KTooMHgxNTAsOC45NkUyKTw9MTMxPzExLjA3RTI6KDB4MTdFLDB4MUJEKSksQTU9MzkwNTQwMjcxMCxnNj0zNjE0MDkwMzYwLGkyPTIxLGMzPSgweDFFRT49KDB4N0QsNjApPygxMTYuLDIzKTooMHg0NywweDIyOSkpLFMzPTIyLHoyPTE3LHUyPTE0LGIyPTEzLHEyPTExLFU4PTksajg9NztmdW5jdGlvbiBhKGIpe3ZhciBYPVwickF0XCIscjI9XCI5YVwiLHcxPVwiNzg5XCIsbjY9XCI2XCIsQzU9XCI0NVwiLFA1PVwiMTJcIjtmb3IodmFyIGE9WixmPUQ4O2w4PmY7ZisrKXZhciBkPWY8PHA4LGE9YSsoKGM1K1A1K281K0M1K242K3cxK24yK0Y4K1QzKVsoczIrSzQrUjMrYzgrcDYrZTgpXShiPj5kK2w4JlYyKSsoYzUrUDUrbzUrbzcrZTcrbjYrTTYrRDArcjIrZDMrdzArajIrVDMpWyh4NytSMytYKV0oYj4+ZCZWMikpO3JldHVybiBhO312YXIgZD17MDpEOCwxOkw4LDI6ZzgsMzpwOCw0Omw4LDU6czgsNjpZOCw3Omo4LDg6ZDgsOTpVOCxhOmEyLGI6cTIsYzpnMixkOmIyLGU6dTIsZjpWMixBOmEyLEI6cTIsQzpnMixEOmIyLEU6dTIsRjpWMn0sYj1bajgsZzIsejIsUzMsajgsZzIsejIsUzMsajgsZzIsejIsUzMsajgsZzIsejIsUzMsczgsVTgsdTIsVzIsczgsVTgsdTIsVzIsczgsVTgsdTIsVzIsczgsVTgsdTIsVzIsbDgscTIsZjIsYzMsbDgscTIsZjIsYzMsbDgscTIsZjIsYzMsbDgscTIsZjIsYzMsWTgsYTIsVjIsaTIsWTgsYTIsVjIsaTIsWTgsYTIsVjIsaTIsWTgsYTIsVjIsaTJdLGY9W2c2LEE1LHU1LHcyLEM3LHM0LEg3LG02LHk2LGgxLEcyLFA3LE8yLHIzLG8yLGo0LFUxLFkxLGI0LGs3LEY1LGs0LHE0LHc4LGg1LGQyLEgyLGozLHI1LE82LGE1LFE0LEM4LGUxLHU4LHY4LHExLFg4LEQzLHkxLHczLHYyLFAzLFEyLEs2LEg2LHQzLHU2LGQwLEI4LFkwLFUzLEg4LEgxLGEwLHozLFU2LGY1LGw2LE84LFM3LEkzLHU3LGs1XTtyZXR1cm4gZnVuY3Rpb24oYyl7dmFyIGk2PTQ4LFYwPTI3MTczMzg3OCxUMD0yNTYyMzgzMTAyLE04PTQwMjMyMzM0MTcsTTM9MTczMjU4NDE5MyxXNT0oKDEwMS4sMHgyMzkpPD0oMy40MEUxLDExOS4pPzB4MTdGOjB4MTcyPj0oNjAuODBFMSwxMTMuKT8oNi42MEUxLDEyOCk6KDEwMSw3MCkpLEEzPTM3LHI3PVwiZGVBdFwiLGIxPVwiZUF0XCIsTDU9MTI3LGU7YTp7Zm9yKGU9Yy5sZW5ndGg7ZS0tOylpZihMNTxjWyhzMitLNCtSMytjOCt0OCtiMSldKGUpKXtlPSFEODticmVhayBhO31lPSFMODt9aWYoZSl7dmFyIGg9ZW5jb2RlVVJJQ29tcG9uZW50KGMpO2M9W107dmFyIGc9RDg7ZT1EODtmb3IodmFyIGs9aC5sZW5ndGg7ZzxrOysrZyl7dmFyIGw9aFsoeTUrYzgrbDcrcjcpXShnKTtjW2U+Pmc4XT1BMz09bD9jW2U+Pmc4XXwoZFtoWyhzMitLNCtSMytjOCtwNitlOCldKCsrZyldPDxsOHxkW2hbKHg3K1IzK2M4K3A2K2U4KV0oKytnKV0pPDwoZSVsODw8cDgpOmNbZT4+ZzhdfGw8PChlJWw4PDxwOCk7KytlO31oPShlK2Q4Pj5ZOCkrTDg8PGw4O2c9ZT4+Zzg7Y1tnXXw9VzU8PChlJWw4PDxwOCk7Zm9yKGcrPUw4O2c8aDsrK2cpY1tnXT1EODtjW2gtZzhdPWU8PHA4O31lbHNle2U9Yy5sZW5ndGg7Zz0oZStkOD4+WTgpK0w4PDxsODtoPVtdO2ZvcihrPUQ4O2s8ZzsrK2spaFtrXT1EODtmb3Ioaz1EODtrPGU7KytrKWhbaz4+ZzhdfD1jWyhzMitLNCtPNStTMitWMStRMytqMitwNitlOCldKGspPDwoayVsODw8cDgpO2hbaz4+ZzhdfD1XNTw8KGslbDg8PHA4KTtoW2ctZzhdPWU8PHA4O2M9aDt9ZT1NMztmb3IodmFyIGc9TTgsaD1UMCxrPVYwLGw9RDgscD1jLmxlbmd0aDtsPHA7bCs9ZjIpe2Zvcih2YXIgcT1lLHQ9ZyxuPWgsdT1rLHYseSxGLHI9RDg7YjY+cjsrK3IpZjI+cj8odj11XnQmKG5edSkseT1yKTpDMz5yPyh2PW5edSYodF5uKSx5PShzOCpyK0w4KSVmMik6aTY+cj8odj10Xm5edSx5PShwOCpyK3M4KSVmMik6KHY9bl4odHx+dSkseT1qOCpyJWYyKSxGPXUsdT1uLG49dCxxPXErditmW3JdK2NbbCt5XSx2PWJbcl0sdCs9cTw8dnxxPj4+QzMtdixxPUY7ZT1lK3F8RDg7Zz1nK3R8RDg7aD1oK258RDg7az1rK3V8RDg7fXJldHVybiBhKGUpK2EoZykrYShoKSthKGspO307fSgpOyh4OCtkMStzMitlOCkhPT10eXBlb2YgSlNPTiYmKEpTT049e30pOyhmdW5jdGlvbigpe3ZhciBRNT1cImlmXCIsdjY9XCJcXFxcXFxcXFwiLEkyPSdcXFxcXCInLEE4PVwic3RyaVwiLGQ3PVwiaW9cIix6Nj1cImZ1XCIsZDU9XCJlY1wiLHE4PVwidW5jXCIsQjI9XCJdXCIsYTE9XCJudVwiLFA4PVwiXFxcXFwiO2Z1bmN0aW9uIGEoYSl7cmV0dXJuIGEyPmE/YzUrYTphO31mdW5jdGlvbiBiKGEpe3ZhciBqNj1cImVwbGFcIixHMT1cImFzdFwiO2tbKEwxK0cxK28xK1o2K2oyK1o3KV09RDg7cmV0dXJuIGtbKGU4K2oyK1E4K2U4KV0oYSk/VzYrYVsoYzgrajYraDYpXShrLGZ1bmN0aW9uKGEpe3ZhciBiPXRbYV07cmV0dXJuIChROCthMytqMCtnMyk9PT10eXBlb2YgYj9iOihQOCtmOCkrKChjNStjNStjNStjNSkrYVsoeDcrTzUrbDcrUTMrajIrcDYrZTgpXShEOClbKGU4K1YxK1M4K2U4K2M4K0M0K0I1K2czKV0oZjIpKVsoUTgrTDErQzQrczIrajIpXSgtbDgpO30pK1c2Olc2K2ErVzY7fWZ1bmN0aW9uIGYoYSxjKXt2YXIgcjY9XCJ7fVwiLHE3PVwie1wiLEk2PSgoMHgyMTcsNi4yMkUyKTwweDVEPygweDFCNCwxMSk6KDB4MTlFLDUuMTBFMSk+MzcuPyg3LjdFMixcIn1cIik6KDY1Liw4NS40RTEpKSxaMz1cImpvXCIscDI9XCJ7XFxuXCIsVDY9XCI6IFwiLG8zPVwicHVzXCIsbjg9XCJbXVwiLG04PVwiLFwiLEEyPVwiXFxuXCIsbjQ9XCIsXFxuXCIsdDU9XCJbXFxuXCIsTTE9XCJsbFwiLFo0PVwicnJhXCIsQjQ9XCJiamVcIixzNz1cIltcIixtMj1cImJqXCIsTzM9XCJib1wiLFUwPVwibnVtYlwiLEs3PVwiY2FcIixQNj1cInRpb1wiLHg2PVwiU09OXCIsRzU9XCJvSlwiLGQsZyxlLGgsaz1wLGwsbT1jW2FdO20mJihWMStkMytkMStzMitlOCk9PT10eXBlb2YgbSYmKFQzK2Y4K0I1K3MyK2U4K0M0K1YxK0I1KT09PXR5cGVvZiBtWyhlOCtWMStJMStTOCtaNStYNSldJiYobT1tWyhlOCtHNSt4NildKGEpKTsoVDMrZjgrQjUrczIrUDYrQjUpPT09dHlwZW9mIG4mJihtPW5bKEs3K0wxK0wxKV0oYyxhLG0pKTtzd2l0Y2godHlwZW9mIG0pe2Nhc2UgKHkzK2M4K0M0K0I1K2czKTpyZXR1cm4gYihtKTtjYXNlIChVMCtqMitjOCk6cmV0dXJuIGlzRmluaXRlKG0pP1N0cmluZyhtKTooYTErTDErTDEpO2Nhc2UgKE8zK1YxK0wxK2oyK1IzK0I1KTpjYXNlIChCNStmOCtMMStMMSk6cmV0dXJuIFN0cmluZyhtKTtjYXNlIChWMSttMitqMitzMitlOCk6aWYoIW0pcmV0dXJuIChCNStmOCtMMStMMSk7cCs9cTtsPVtdO2lmKChzNytWMStCNCtzMitlOCtYMitwNitaNCt0NytCMik9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmFwcGx5KG0pKXtoPW0ubGVuZ3RoO2ZvcihkPUQ4O2Q8aDtkKz1MOClsW2RdPWYoZCxtKXx8KEI1K2Y4K00xKTtlPWwubGVuZ3RoP3A/KHQ1KStwK2xbKG4xK1YxK2owKV0oKG40KStwKSsoQTIpK2srQjI6czcrbFsobjErVjErQzQrQjUpXShtOCkrQjI6KG44KTtwPWs7cmV0dXJuIGU7fWlmKG4mJihWMStCNCtzMitlOCk9PT10eXBlb2Ygbilmb3IoaD1uLmxlbmd0aCxkPUQ4O2Q8aDtkKz1MOCkoUTgrZTgrYzgrQzQrQjUrZzMpPT09dHlwZW9mIG5bZF0mJihnPW5bZF0sKGU9ZihnLG0pKSYmbFsobzMrSzQpXShiKGcpKyhwPyhUNik6STcpK2UpKTtlbHNlIGZvcihnIGluIG0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG0sZykmJihlPWYoZyxtKSkmJmxbKGI1K2Y4K1E4K0s0KV0oYihnKSsocD8oVDYpOkk3KStlKTtlPWwubGVuZ3RoP3A/KHAyKStwK2xbKFozK0M0K0I1KV0oKG40KStwKSsoQTIpK2srSTY6cTcrbFsoWjErQjUpXShtOCkrSTY6KHI2KTtwPWs7cmV0dXJuIGU7fX1mdW5jdGlvbiBkKCl7dmFyIFkzPVwibHVlXCI7cmV0dXJuIHRoaXNbKEUwK1IzK1kzK1o1K1QzKV0oKTt9dmFyIGM9XC9eW1xcXSw6e31cXHNdKiRcLyxlPVwvXFxcXCg/OltcIlxcXFxcXFwvYmZucnRdfHVbMC05YS1mQS1GXXs0fSlcL2csaD1cL1wiW15cIlxcXFxcXG5cXHJdKlwifHRydWV8ZmFsc2V8bnVsbHwtP1xcZCsoPzpcXC5cXGQqKT8oPzpbZUVdWytcXC1dP1xcZCspP1wvZyxnPVwvKD86Xnw6fCwpKD86XFxzKlxcWykrXC9nLGs9XC9bXFxcXFxcXCJcXHUwMDAwLVxcdTAwMWZcXHUwMDdmLVxcdTAwOWZcXHUwMGFkXFx1MDYwMC1cXHUwNjA0XFx1MDcwZlxcdTE3YjRcXHUxN2I1XFx1MjAwYy1cXHUyMDBmXFx1MjAyOC1cXHUyMDJmXFx1MjA2MC1cXHUyMDZmXFx1ZmVmZlxcdWZmZjAtXFx1ZmZmZl1cL2csbD1cL1tcXHUwMDAwXFx1MDBhZFxcdTA2MDAtXFx1MDYwNFxcdTA3MGZcXHUxN2I0XFx1MTdiNVxcdTIwMGMtXFx1MjAwZlxcdTIwMjgtXFx1MjAyZlxcdTIwNjAtXFx1MjA2ZlxcdWZlZmZcXHVmZmYwLVxcdWZmZmZdXC9nOyhUMytxOCtlOCtDNCtoNykhPT10eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9KU09OJiYoRGF0ZS5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIHc0PVwiZHNcIixjMT1cInVyXCIsSjI9XCJDSFwiLHEwPVwiVENcIixBMT1cImV0VVwiLE4xPVwiTW9cIixpND1cImdldFwiLGYxPVwiZWFcIixhND1cIlVUXCIsTDY9XCJsdVwiO3JldHVybiBpc0Zpbml0ZSh0aGlzWyhFMCtSMytMNitqMitaNStUMyldKCkpP3RoaXNbKGczK2oyK2U4K2E0K1MyK0Y0K2Y4K0wxK0wxK1Q3K2YxK2M4KV0oKStyOCthKHRoaXNbKGk0K2E0K1MyK04xK0I1K2U4K0s0KV0oKStMOCkrcjgrYSh0aGlzWyhnMytBMStxMCtKNCtSMytlOCtqMildKCkpK1o4K2EodGhpc1soZzMrdzYrbjcrWjgrSjIrVjErYzErUTgpXSgpKStJNythKHRoaXNbKGczK2oyK2U4K2E0K1MyK3E1K2owK2Y4K2U4K2oyK1E4KV0oKSkrSTcrYSh0aGlzWyhnMyt3NithNCtTMitTOCtkNStWMStCNSt3NCldKCkpK1M2OlY0O30sQm9vbGVhbi5wcm90b3R5cGUudG9KU09OPWQsTnVtYmVyLnByb3RvdHlwZS50b0pTT049ZCxTdHJpbmcucHJvdG90eXBlLnRvSlNPTj1kKTt2YXIgcCxxLHQsbjsoejYrQjUrczIrZTgrZDcrQjUpIT09dHlwZW9mIEpTT05bKEE4K0I1K2czK0M0K1QzK3Q3KV0mJih0PXtcIlxcYlwiOihQOCtkMyksXCJcXHRcIjooUDgrZTgpLFwiXFxuXCI6KFA4K0I1KSxcIlxcZlwiOihQOCtUMyksXCJcXHJcIjooUDgrYzgpLCdcIic6KEkyKSxcIlxcXFxcIjoodjYpfSxKU09OWyhROCtlOCtjOCtDNCtwMStRNSt0NyldPWZ1bmN0aW9uKGEsYixkKXt2YXIgcDc9XCJpbmdpZlwiLHI0PVwiSlNPXCIsRTg9XCJiamVjXCIsSDQ9XCJmdW5cIixOND1cInVtYmVyXCIsYztxPXA9WjtpZigoQjUrTjQpPT09dHlwZW9mIGQpZm9yKGM9RDg7YzxkO2MrPUw4KXErPVgyO2Vsc2UoeTMrYzgrajArZzMpPT09dHlwZW9mIGQmJihxPWQpO2lmKChuPWIpJiYoSDQrczIrUzUraDcpIT09dHlwZW9mIGImJigoVjErRTgrZTgpIT09dHlwZW9mIGJ8fChhMStSMStkMytqMitjOCkhPT10eXBlb2YgYi5sZW5ndGgpKXRocm93IEVycm9yKChyNCtYNStUK1E4K2U4K2M4K3A3K3Q3KSk7cmV0dXJuIGYoWix7XCJcIjphfSk7fSk7KFQzK3E4K2U4K0M0K1YxK0I1KSE9PXR5cGVvZiBKU09OWyhiNStSMytDNitqMildJiYoSlNPTlsoYjUrUjMrYzgrdjUpXT1mdW5jdGlvbihhLGIpe3ZhciBrNj1cIlNPXCIsVjY9XCJpb25cIixWNz1cIm5jXCIsTDM9XCIpXCIsZTM9XCIoXCIsUTE9XCJsYWNlXCIsZDY9KCgweDkzLDB4REEpPjB4RkM/XCI7XCI6MTMxLjlFMT4oNi4wOEUyLDEzMS4pPygweDE1RSxcIkBcIik6KDB4RDksMTI3Lik8MS4wNUUyP1widFwiOigweDE1QywxMzkuOUUxKSksSjc9XCJsYVwiLEw0PVwiZXhcIjtmdW5jdGlvbiBkKGEsZil7dmFyIEoxPVwiY2FsXCIsYyxnLGU9YVtmXTtpZihlJiYoVjErZDMrbjErZDUrZTgpPT09dHlwZW9mIGUpZm9yKGMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxjKSYmKGc9ZChlLGMpLHZvaWQgRDghPT1nP2VbY109ZzpkZWxldGUgIGVbY10pO3JldHVybiBiWyhKMStMMSldKGEsZixlKTt9dmFyIGY7YT1TdHJpbmcoYSk7bFsoTDErUjMrUTgrZTgrbzErWjYrTDQpXT1EODtsWyhlOCtqMit5MyldKGEpJiYoYT1hWyhjOCtqMitXNytmNitqMildKGwsZnVuY3Rpb24oYSl7cmV0dXJuIChQOCtmOCkrKChjNStjNStjNStjNSkrYVsoczIrRzQrYzgrbDcrUTMrSjgrZTgpXShEOClbKE00K1M4K2U4K2M4K2owK2czKV0oZjIpKVsoUTgrTDErQzQrczIrajIpXSgtbDgpO30pKTtpZihjWyhHOCtROCtlOCldKGFbKGM4K2oyK2I1K0o3K2g2KV0oZSxkNilbKFk0K2I1K0wxK1g3KV0oaCxCMilbKFk0K2I1K1ExKV0oZyxaKSkpcmV0dXJuIGY9ZXZhbChlMythK0wzKSwoVDMrZjgrVjcrZTgrVjYpPT09dHlwZW9mIGI/ZCh7XCJcIjpmfSxaKTpmO3Rocm93ICBuZXcgU3ludGF4RXJyb3IoKEkxK2s2K1g1K1QrYjUrTzUrUTgrajIpKTt9KTt9KSgpOyhmdW5jdGlvbigpe3ZhciBFMT1cIitcLz1cIixRNz0oMHhDMT4oMzAsMTQ0KT8oODcuNEUxLFwiOVwiKTooMHhBLDQuMDFFMik8PSgweDE0NCwxMDUpPyg2OC4xMEUxLDB4MUNBKTo3ND49KDkuNTNFMiwxMjApPzB4MTM1OigxMDguLDB4MTQ3KSksQjE9XCJiY2RcIixONz1cIlphXCIsVzg9XCJSXCIsYTg9XCJQUVwiLHgyPVwib3JcIixpMz1cInJhXCIsSjU9XCJhdFwiOyhSMytNNCtkMykgaW4gd2luZG93JiYoZDMrZTgrVjErUjMpIGluIHdpbmRvd3x8KGY1WDBbbTBdWyhKNSt4OCldPWZ1bmN0aW9uKGEpe3ZhciBvND1cInNoXCIsWTI9XCJwdVwiLGUyPTE4LEg1PVwib2RcIixDMT1cImhhckNcIixLOD1cIm1DXCIsTzE9XCJvZGVcIixrMD1cIm9tXCIsbDI9XCJmclwiLHowPVwib21DXCIsTzQ9XCJ1c2hcIixnND1cIm1DaGFcIix0MT1cImZyb1wiLGgzPTI0LHo0PVwiZGV4XCIsazE9XCI0NTY3XCIsdjc9XCJ6MDEyM1wiLEczPVwieHlcIixKMz1cInR1dlwiLEQxPVwicHFyXCIseDU9XCJtbm9cIixvOD1cImhpamtsXCIsUjY9XCJmZ1wiLHEzPVwiVldYXCIsWDM9XCJNTk9cIixQND1cIkhJSktMXCIsdjE9XCJlckVcIixMNz1cImFyYVwiLFcwPVwiaWRDXCIscDQ9XCJJblwiLEE3PVwiSW52XCIsazI9XCJlcFwiO2E9U3RyaW5nKGEpO3ZhciBkPUQ4LGI9W10sZj1EOCxjPUQ4LGU7YT1hWyhZNCtXNytSMytzMitqMildKFwvXFxzXC9nLFopO2EubGVuZ3RoJWw4fHwoYT1hWyhjOCtrMitMMStmNitqMildKFwvPSskXC8sWikpO2lmKEw4PT09YS5sZW5ndGglbDgpdGhyb3cgRXJyb3IoKEE3K1IzK0Q1K1EzK1MyK0s0K1IzK2kzK3MyK2U4K3QyK0U0K2M4K2M4K1YxK2M4KSk7aWYoXC9bXitcLzAtOUEtWmEtel1cL1soZTgrajIreTMpXShhKSl0aHJvdyBFcnJvcigocDQrRTArUjMrTDErVzArSzQrTDcrczIrZTgrdjErYzgrYzgreDIpKTtmb3IoO2Q8YS5sZW5ndGg7KWU9KHA2K1AyK1MyK0o0K0U0K0Y0K3k0K1A0K1gzK2E4K1c4K1M4K1o4K243K3EzK1Q3K043K0IxK2oyK1I2K284K3g1K0QxK1E4K0ozK3AwK0czK3Y3K2sxK0QwK1E3K0UxKVsoQzQrQjUrejQrWjUrVDMpXShhWyh4NytSMytjOCtwNitlOCldKGQpKSxmPWY8PFk4fGUsYys9WTgsaDM9PT1jJiYoYlsoYjUrZjgrUTgrSzQpXShTdHJpbmdbKHQxK2c0K2M4K1MyK1YxK1E2KV0oZj4+ZjImdDApKSxiWyhiNStPNCldKFN0cmluZ1soVDMrYzgrejArRzQrYzgrbDcrUTMrajIpXShmPj5kOCZ0MCkpLGJbKGI1K080KV0oU3RyaW5nWyhsMitrMCtTMitLNCtSMytjOCtTMitPMSldKGYmdDApKSxmPWM9RDgpLGQrPUw4O2cyPT09Yz9iWyhiNStmOCtROCtLNCldKFN0cmluZ1soVDMrYzgrVjErSzgrQzErSDUrajIpXShmPj5sOCZ0MCkpOmUyPT09YyYmKGY+Pj1nOCxiWyhZMitvNCldKFN0cmluZ1soUzErQTYrTzUrbDcrUTMrajIpXShmPj5kOCZ0MCkpLGJbKFkyK1E4K0s0KV0oU3RyaW5nWyhsMitWMStSMStBNitSMytjOCt0OCtqMildKGYmdDApKSk7cmV0dXJuIGJbKG4xK1YxK0M0K0I1KV0oWik7fSxmNVgwW20wXVsoZDMrZTgrVjErUjMpXT1mdW5jdGlvbihhKXt2YXIgczA9XCI2N1wiLFQ1PVwiMjNcIixLMT1cIlVWV1wiLHAzPVwiR0hJXCIsZTU9XCI4OVwiLEU1PVwiMzRcIixBND1cIjAxXCIsVzE9XCJsbVwiLHM1PVwiaGlcIixrMz1cIlJTXCIsVDg9XCJRXCIsSTU9XCJPUFwiLE03PVwiR0hcIixONT1cIjc4XCIsRTc9XCI1NlwiLHo1PVwiMlwiLGkwPVwiejAxXCIsTTI9XCJ2d1wiLG01PVwiaWprbG1cIixtND1cIlRVXCIsRTY9XCJPUFFcIixjMj1cIkpLTFwiLEQ3PVwiSElcIixLMj1cIkRFXCIsTjM9XCJBQlwiLG0zPVwiNDU2Nzg5XCIsTDA9XCIxMjNcIixSMj1cInd4eXpcIixvNj1cInV2XCIsVTU9XCJxXCIseDM9XCJub1wiLHU0PVwia1wiLFI1PVwiZ2hcIixiMz1cIllaXCIsZjA9XCJYXCIsRjI9XCJWV1wiLFc0PVwiU1RcIixrOD1cIlFSXCIsRDQ9XCJMXCIsUDE9XCJLXCIsejc9XCJJSlwiLEwyPVwiRkdIXCIsSDM9XCJCQ1wiLHE2PSgweDk8KDB4MjM0LDB4MUEwKT8oMTE2LDYzKTooMHgxNUEsMHhDOCk+PSgweEFDLDkuMzNFMik/KDExNixudWxsKTooMHgxMUYsMTA3LikpLFg0PVwickNvXCIsZjM9XCJFclwiO2E9U3RyaW5nKGEpO3ZhciBkPUQ4LGI9W10sZixjLGUsaDtpZihcL1teXFx4MDAtXFx4RkZdXC9bKGU4K2oyK1E4K2U4KV0oYSkpdGhyb3cgRXJyb3IoKG8xK0I1K0UwK1IzK0wxK0M0K1EzK1MyK0s0K1IzK2kzK3MyK2U4K2oyK2M4K2YzK2M4K3gyKSk7Zm9yKDtkPGEubGVuZ3RoOylmPWFbKHMyK0s0K1IzK2M4K1MyK1YxK1E2K3A2K2U4KV0oZCsrKSxjPWFbKHMyK0c0K2wxK1YxK1EzK0o4K2U4KV0oZCsrKSxlPWFbKHg3K1IzK1g0K1EzK0o4K2U4KV0oZCsrKSxoPWY+Pmc4LGY9KGYmcDgpPDxsOHxjPj5sOCxjPShjJlYyKTw8Zzh8ZT4+WTgsZSY9cTYsZD09PWEubGVuZ3RoK2c4P2U9Yz1iNjpkPT09YS5sZW5ndGgrTDgmJihlPWI2KSxiWyhiNStmOCtROCtLNCldKChwNitIMytKNCtFNCtMMit6NytQMStENCtxNStYNStaNSt1MStrOCtXNCtuNytGMitmMCtiMytSMytCMStKNitSNStDNCtuMSt1NCtMMStSMSt4MytiNStVNStjOCtROCtlOCtvNitSMitjNStMMCttMytFMSlbKHg3K1IzK2M4K2g4KV0oaCksKE4zK1MyK0syK0Y0K3k0K0Q3K2MyK3E1K1g1K0U2K1c4K1M4K200K0YyK2YwK1Q3K1M2K24yK0Y4K1QzK2czK0s0K201K0I1K1YxK2I1K1U1K2M4K3kzK2Y4K00yK1o3K3Q3K2kwK3o1K281K283K0U3K041K1E3K0UxKVsoeDcrUjMrYzgrcDYrZTgpXShmKSwoTjMrUzIrSjQrRTQrRjQrTTcrbzErSTErUDErRDQrcTUrWDUrSTUrVDgrazMrbTQrRjIrZjArYjMrUjMrZDMrdzArajIrVDMrZzMrczUrbjErdTQrVzErQjUrVjErYjUrVTUrQzYrZTgrbzYrcDArWjcrdDcrWTcrQTQrejUrRTUrRTcrTTYrZTUrRTEpWyhzMitLNCtSMytjOCtwNitlOCldKGMpLChwNitQMitTMitKNCtFNCtGNCtwMytJMStQMStENCtxNStYNStaNSthOCtXOCtXNCtLMStmMCtUNytONytkMytzMitRNitUMytnMytLNCtDNCtuMSt1NCtMMStSMSt4MytiNStVNStjOCt5MytmOCtFMCtwMCtaNyt0NytZNytjNSt6MStUNStvNytlNytzMCtlNStFMSlbKHg3K081K3A2K2U4KV0oZSkpO3JldHVybiBiWyhaMStCNSldKFopO30pO30pKCk7QXJyYXkucHJvdG90eXBlLmluZGV4T2Z8fChBcnJheS5wcm90b3R5cGUuaW5kZXhPZj1mdW5jdGlvbihhLGQpe3ZhciBUND1cImF4XCIsRTM9J2UnLFY9J2VmaScsRTI9J2QnLHQ2PSdyJyxPNz0nbycsajc9J2wnLEcwPSd1JyxCNj0nbicsRjM9JyAnLFY1PSdcIiAnLE42PSgoODQuOUUxLDExLjlFMik8MHgxRkM/J2snOigxMTgsMTI2LjYwRTEpPigxMDEuLDEyMyk/KDEuNjUwRTIsJ3MnKTooMjYuNzBFMSwyNi4pKSxHNz0naScsbzA9KCgxMDIsODMuKTwweDEwOD8oMTcuN0UxLCdoJyk6KDB4RjgsMHgxQzEpPCg4My42MEUxLDE0Ny4pPzE0MDooMTIsMi44MUUyKT49NTIuNDBFMT8oNS41RTIsJ0onKTooMHgxODcsMHgxNEIpKSxiMD0ndCcsYjtpZighdGhpcyl0aHJvdyAgbmV3IFR5cGVFcnJvcigoVzYrYjArbzArRzcrTjYrVjUrRzcrTjYrRjMrQjYrRzArajcrajcrRjMrTzcrdDYrRjMrQjYrTzcrYjArRjMrRTIrVitCNitFMytFMikpO3ZhciBmPU9iamVjdCh0aGlzKSxjPWYubGVuZ3RoPj4+RDg7aWYoIWMpcmV0dXJuIC1MODtiPStkfHxEODtJbmZpbml0eT09PU1hdGhbKFIzK2QzK1E4KV0oYikmJihiPUQ4KTtpZihiPj1jKXJldHVybiAtTDg7Zm9yKGI9TWF0aFsoUjErVDQpXShEODw9Yj9iOmMtTWF0aFsoUjMrZDMrUTgpXShiKSxEOCk7YjxjOyl7aWYoYiBpbiBmJiZmW2JdPT09YSlyZXR1cm4gYjtiKys7fXJldHVybiAtTDg7fSk7U3RyaW5nLnByb3RvdHlwZS50cmltfHwoU3RyaW5nLnByb3RvdHlwZS50cmltPWZ1bmN0aW9uKCl7dmFyIEszPVwiZXBsXCI7cmV0dXJuIHRoaXNbKGM4K0szK1g3KV0oXC9eW1xcc1xcdUZFRkZcXHhBMF0rfFtcXHNcXHVGRUZGXFx4QTBdKyRcL2csWik7fSk7dmFyIHo9ZjVYMFtKMF1bKFg2K3A2K2c1K0I1K2U4KV1bKE00K0MyK3AwK2oyK2M4K1MyK1IzK1E4K2oyKV0oKSxBPXt9LEs9ZnVuY3Rpb24oYSl7dmFyIGc3PVwiZmlcIixJND1cInVuXCI7KEk0K1EzK2oyK2c3K0I1K2oyK1EzKT09dHlwZW9mIEFbZzJdJiYoQVtnMl09YSgpKTtyZXR1cm4gQVtnMl07fSx3PW5ldyBmdW5jdGlvbigpe3RoaXNbSzRdPWZ1bmN0aW9uKCl7dmFyIGw1PVwidGVzXCI7cmV0dXJuIFwvbXNpZXx0cmlkZW50XFxcL1wvWyhsNStlOCldKHopJiYhXC9vcGVyYVwvWyhlOCtqMitROCtlOCldKHopO307dGhpc1tnM109ZnVuY3Rpb24oKXtyZXR1cm4gSyhmdW5jdGlvbigpe3ZhciB5Mj1cInRjaFwiLEc2PVwibWFcIixhO2E9W1wvdHJpZGVudFxcXC8oPzpbMS05XVswLTldK1xcLlswLTldK1s3ODldXFwuWzAtOV0rfCkuKnJ2OihbMC05XStcXC5bMC05YS16XSspXC8sXC9tc2llXFxzKFswLTldK1xcLlswLTlhLXpdKylcL107Zm9yKHZhciBkPUQ4LGI9YS5sZW5ndGg7ZDxiO2QrKyl7dmFyIGY9elsoRzYreTIpXShhW2RdKTtpZihmJiZmW0w4XSlyZXR1cm4gcGFyc2VGbG9hdChmW0w4XSk7fXJldHVybiBEODt9KTt9O3RoaXNbTDFdPWZ1bmN0aW9uKCl7cmV0dXJuIFwvaWVtb2JpbGVcL1soZTgrajIreTMpXSh6KTt9O307d1tLNF0oKSYmd1tnM10oKTt2YXIgTD1bbDgsTDhdLE09W1cyLEw4XSx4PXtpOlY0LHNlbmQ6ZnVuY3Rpb24oYSxkLGIsZil7dmFyIG0xPVwidFRpXCIsWTY9XCJfXCIsbjU9XCJuZlwiLHMxPVwidXNcIixpNT1cImlkXCIsZjc9XCJcLz8mXCIsajE9XCJcL1wvXCIseDA9MTAyNCx4MT1cInJlcGxcIjsoUTgrZTgrYzgrQzQrQjUrZzMpPT10eXBlb2YgYiYmRDg8Yi5sZW5ndGgmJihiPWJbKHgxK1IzK3MyK2oyKV0oXC9bLFxcclxcbl1cL2csWilbKFE4K0wxK0M0K3MyK2oyKV0oRDgsQzMpKTsoUTgrYTMrQzQrQjUrZzMpPT10eXBlb2YgZCYmRDg8ZC5sZW5ndGgmJihkPWRbKGM4K2oyK1c3K1IzK3MyK2oyKV0oXC9bLFxcclxcbl1cL2csWilbKFE4K0Q1K3MyK2oyKV0oRDgseDApKTt2YXIgYz1uZXcgSW1hZ2U7ZiYmKGMub25lcnJvcj1jWyhWMStCNStMMStWMStzNildPWYpO2NbKFE4K0YxKV09KGoxKSt4W0M0XVtSMV0rKGY3K1E4K2Y4K2QzK2k1K0QyKSsoYj9lbmNvZGVVUkkoYik6YzUpKyhYMStiNStDNCtRMytEMikreFtDNF1bVjFdKyhYMStlOCtDNCtRMytEMikreFtDNF1bUThdKyhYMStROCtlOCtSMytlOCtzMStEMikrYVtEOF0rKGQ/KFgxK0M0K241K1YxK0QyKStlbmNvZGVVUkkoZCk6WikrKFgxK0UwK0QyKStWRVJTSU9OKyhYMStZNitEMikrKG5ldyBEYXRlKVsoZzMrajIrbTErUjErajIpXSgpO30sajp7fX0sTj1mdW5jdGlvbihhLGQsYixmKXt2YXIgbjM9XCJwbHlcIjtpZihnOCE9YVtMOF0mJmw4IT1hW0w4XSYmcDghPWFbTDhdKXtpZihkJiZhW0Q4XT09TFtEOF0pe3ZhciBjPShEKEUsZCleLUw4KT4+PkQ4O2lmKCFEOD09PXhbbjFdW2NdKXJldHVybiA7eFtuMV1bY109IUQ4O314WyhROCtqMitaNildWyhSOCtuMyldKHgsYXJndW1lbnRzKTt9fSxPPWZ1bmN0aW9uKGEsZCxiLGYsYyxlLGgpe3ZhciBOOD1cInRpbWVvXCIsRDY9XCJvdVwiLGUwPVwiaW1lXCIsZzA9XCJwclwiLE01PVwib3BlXCIsczM9XCJtcFwiLFQxPVwidGhcIixkND1cIk9TXCIsQjM9XCJDYVwiO2E9YVsoZTgrVjErbjcrYjUrYjUrajIrYzgrQjMrdjUpXSgpO2lmKCh5NCtFNCtaOCkhPWEmJih1MStkNCtaOCkhPWEpZigoUjErajIrVDErVjErUTMrWDIrQjUrVjErZTgrWDIrQzQrczMrTDErajIrUjErajIrVTQrRjYpLC1MOCk7ZWxzZXt2YXIgZz1uZXcgWERvbWFpblJlcXVlc3Q7Z1soTTUrQjUpXShhLGQpO2dbKFYxK0I1K0wxK1YxK3M2KV09ZnVuY3Rpb24oKXt2YXIgdjQ9XCJwb25cIixOMj1cInJlc1wiO2IoZ1soTjIrdjQrUTgrajIrWjgrajIrWjcrZTgpXVsoZTgrYzgrQzQrUjEpXSgpLGI4KTt9O2dbKGg3K2cwK1YxK2czK2M4K2oyK1E4K1E4KV09ZnVuY3Rpb24oKXt9O2cub25lcnJvcj1mdW5jdGlvbigpe2YoWiwtTDgpO307YyYmKGdbKGU4K2UwK0Q2K2U4KV09YyxnWyhoNytOOCtlNildPWcub25lcnJvcik7c2V0VGltZW91dChmdW5jdGlvbigpe2dbKFE4K2oyK0I1K1EzKV0oaHx8Wik7fSxEOCk7fX0sUD1YTUxIdHRwUmVxdWVzdFsoSjQrWjUrQjcpXXx8bDgsUT1mdW5jdGlvbihhLGQsYixmLGMsZSxoKXt2YXIgYzY9XCJpdFwiLHYzPVwidFRcIixVMj1cImVvXCIsVjM9XCJvdXRcIixPMD1cImltXCIsZzE9XCJlY2hhXCIsbTc9XCJvbnJlYWRcIixhNj1cIkNhc1wiO2E9YVsoZTgrVjErbjcrYjUrYjUrdDIrYTYrajIpXSgpO3ZhciBnPW5ldyBYTUxIdHRwUmVxdWVzdDtnWyhWMStiNStqMitCNSldKGEsZCwhRDgpO2dbKG03K3Q3K1E4K2U4K1IzK2U4K2cxK0I1K2czK2oyKV09ZnVuY3Rpb24oKXt2YXIgYTc9XCJwb1wiLGkxPVwiZWFyXCIsVT1cInRpbWVcIix0ND1cIlN0XCI7aWYoZ1soYzgrajIrUjMrUTMrdDcrdDQrUjMrRzgpXT09UCl7Z1soaDcrVStWMStlNildPWZ1bmN0aW9uKCl7fTtrJiYoR0xPQkFMWyhzMitMMStpMStaOCtDNCtLNStWMStmOCtlOCldKGspLGs9IUw4KTt2YXIgYT1nWyhZNCtROCthNytCNSt2NStaOCtqMitaNytlOCldWyhlOCtjOCtDNCtSMSldKCk7Yjg9PWdbKFE4K2U4K1IzK2U4K2Y4K1E4KV0/YihhLGdbKFE4K2U4K1IzK2U4K2Y4K1E4KV0pOmYoYSxnWyhROCtlOCtSMytlOCtmOCtROCldKTt9fTt2YXIgaztjJiYoZ1soZTgrTzArajIrVjMpXT1jLChWMStCNStTNStSMStqMitWMStmOCtlOCkgaW4gWE1MSHR0cFJlcXVlc3QucHJvdG90eXBlP2dbKFYxK1U0K0M0K1IxK1UyK2Y4K2U4KV09ZnVuY3Rpb24oKXt2YXIgaDQ9NTA0LGU0PVwibnNcIixjNz1cInNwb1wiO2YoZ1soYzgrajIrYzcrZTQrajIrWjgrajIrWjcrZTgpXVsoZTgrYzgrQzQrUjEpXSgpLGg0KTt9Oms9R0xPQkFMWyh2NSt2MytDNCtSMStqMitWMyldKGZ1bmN0aW9uKCl7Zy5hYm9ydCgpO2YoWiwtTDgpO30sYykpO2dbKHAwK2M2K0s0K1MyK2M4K0Y2K2wzK2U4K0M0K1IzK0wxK1E4KV09KGY4K0I1K1EzK2oyK1QzK0M0K0I1K2oyK1EzKSE9dHlwZW9mIGU/ZTohRDg7Z1soUTgrajIrQjUrUTMpXShofHxaKTt9LFI9e2FzeW5jOmZ1bmN0aW9uKGEsZCxiLGYsYyxlLGgpeyh3W0s0XSgpJiYhd1tMMV0oKSYmYTI+d1tnM10oKT9POlEpWyhSOCtXNyt0NyldKFY0LGFyZ3VtZW50cyk7fSxnOmZ1bmN0aW9uKGEsZCxiLGYsYyxlLGgpe3ZhciBiNz1cInN5XCI7dGhpc1soUjMrYjcrQjUrczIpXShhLGQrKFgxK3MyK0YxK0QyK3oxKSxmdW5jdGlvbihhLGQpe3ZhciBVNz1cIjtcIixUMj1cInNwXCIsYz1hWyhUMitMMStDNCtlOCldKFU3LGc4KSxlO2EmJlk4PmEubGVuZ3RoP2U9IUw4Omc4PmMubGVuZ3RofHxwYXJzZUludChjW0Q4XSxhMikhPT0oRChFLGNbTDhdWyhNNCtTOCtlOCtjOCtDNCtwMSldKCkpXi1MOCk+Pj5EOD8oTihNLGEsdm9pZCBEOCx2b2lkIEQ4KSxlPSFMOCk6ZT0hRDg7ZT9iKGNbTDhdLGQpOmYoYSxkKTt9LGYsYyxlLGgpO30saDp3W0s0XSgpJiZhMj53W2czXSgpfSxTPShLNCtlOCtlOCtiNSkrKChLNCtlOCtXMytROCtJNyk9PWY1WDBbJ2xvY2F0aW9uJ11bKGI1K2M4K3UzK3MyK1YxK0wxKV0/UTg6WikrKHUwKSxCPWRvY3VtZW50LEg9KG5ldyBEYXRlKVsoZTgrcDUrUzgrbDArajArZzMpXSgpWyhSNCtoNildKEQ4LGEyKSxJPWZ1bmN0aW9uKGEsZCl7dmFyIGY0PVwiaWNcIixiPUcoYSksZj1HKGIpWyhROCtMMStmNCtqMildKEQ4LC1kKTtyZXR1cm4gYitmO30oSCxwYXJzZUludChIWyhROCtiNStMMStDNCtlOCldKHI4KVtMOF0sYTIpKSxDPUJbKHMyK1k0K1IzK2U4K1crUjErajIrVTQpXSgoUTgrczIrQTArZTgpKTtDWyhlOCt0Nyt5OCldPShlOCtqMitoMitWOCtuMStSMytjNCtTNCtSNytlOCk7KGZ1bmN0aW9uKCl7dmFyIHIxPVwicnNlXCIsdzc9XCJ2ZVwiLGw0PVwiYXdcIixpNz1cInMzXCIsYT1TKyhpNytUK1IzK1IxK1IzK1k3K1YxK0I1K2w0K1E4K1QrczIrVjErUjErVjgpK0krVjgrSVsoUTgrZjgrZDMrUTgrZTgrYzgrQzQrQjUrZzMpXShEOCxhMilbKFE4K1c3K0M0K2U4KV0oWilbKGM4K2oyK3c3K3IxKV0oKVsobjErVjErQzQrQjUpXShaKTtSWyhSMytROCt0NytCNStzMildKCh5NCtFNCtaOCksYSxmdW5jdGlvbihhKXt2YXIgSzA9XCJpbGRcIixZPVwibmRDXCIsajU9XCJhcHBcIix6OD1cImhlXCIsWjI9XCJ5VGFnXCIsdzU9XCJFbFwiLFk1PVwiY3JlXCIsSTg9XCJpbFwiLGk4PVwiQVRcIix5Nz1cInViXCIseDQ9XCJic1wiO3RyeXt2YXIgYjthPWF0b2IoYSk7dmFyIGY9YVsoUTgrZjgreDQrZTgrYzgrajArZzMpXShEOCxzOCk7YT1hWyhROCt5NytROCthMytDNCtwMSldKHM4KTtmb3IodmFyIGM9WixlPUQ4O2U8YS5sZW5ndGg7ZSsrKWMrPVN0cmluZ1soUzErUzIrRzQrbDErVjErUTMrajIpXShhWyhzMitLNCtSMytsMStWMStRNitwNitlOCldKGUpXmZbKHMyK0s0K1IzK2M4K1MyK1YxK1EzK2oyK2g4KV0oZSVmLmxlbmd0aCkpO2I9YztiPWJbKGM4K2oyK1c3K1IzK3MyK2oyKV0oUmVnRXhwKChWOCtwNitpOCt1MStWOCksZzMpLEopO0NbKFIzK2I1K2I1K2wzK1EzK0E2K0k4K1EzKV0oQlsoWTUrUjMrZTgrajIrWjgrajIraDIrWDUrVjErUTYpXShiKSk7QlsoZzMrdzYrdzUrajIrUjErajIrQjUrZTgrUTgrUDIrWjIrWDUrUjMrSzUpXSgoejgrUjMrUTMpKVtEOF1bKGo1K2oyK1krSzQrSzApXShDKTt9Y2F0Y2goaCl7fX0sZnVuY3Rpb24oKXt9KTt9KSgpO319KShUSUQpOzxcL3NjcmlwdD4ifSx7ImlkIjoiYWRzdF9iX1BPUFVOREVSIiwiYWRzcG90IjoiYl9QT1BVTkRFUiIsIndlaWdodCI6IjU5IiwiZmNhcCI6IjIiLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjpmYWxzZSwibWluV2lkdGgiOiI3NjgiLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPHNjcmlwdCB0eXBlPSd0ZXh0XC9qYXZhc2NyaXB0JyBzcmM9J1wvXC9pbmNyZWFzaW5nbHljb2Nrcm9hY2hwb2xpY3kuY29tXC9kZVwvYzhcL2Y0XC9kZWM4ZjRlZjNjMmRlODQ1YTdhZDQwMGZlZWE3ODBlMy5qcyc+PFwvc2NyaXB0PiJ9LHsiaWQiOiJjbGljX2JfUE9QVU5ERVIiLCJhZHNwb3QiOiJiX1BPUFVOREVSIiwid2VpZ2h0IjoiNjAiLCJmY2FwIjoiMiIsInNjaGVkdWxlIjpmYWxzZSwibWF4V2lkdGgiOmZhbHNlLCJtaW5XaWR0aCI6ZmFsc2UsInRpbWV6b25lIjpmYWxzZSwiZXhjbHVkZSI6ZmFsc2UsImRvbWFpbiI6ZmFsc2UsImNvZGUiOiI8c2NyaXB0IGRhdGEtY2Zhc3luYz1cImZhbHNlXCIgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIiBzcmM9XCJcL1wvMmNuanVoMzRqYnBvaW50LmNvbVwvdFwvOVwvZnJldFwvbWVvdzRcLzQ3MDkxNlwvYnJ0LmpzXCI+PFwvc2NyaXB0PiJ9LHsiaWQiOiJqYXZfYl9QT1BVTkRFUiIsImFkc3BvdCI6ImJfUE9QVU5ERVIiLCJ3ZWlnaHQiOiI1MiIsImZjYXAiOiIxIiwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjxzY3JpcHQ+XHJcbiQoZG9jdW1lbnQuYm9keSkub24oXCJjbGlja1wiLCBmdW5jdGlvbihldmVudCkge1xyXG4gIHdpbmRvdy5vcGVuKFwiaHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2phdlwiKTtcclxuICAkKHRoaXMpLm9mZihcImNsaWNrXCIpO1xyXG59KTtcclxuPFwvc2NyaXB0PiJ9LHsiaWQiOiJwb3BjX2JfUE9QVU5ERVIiLCJhZHNwb3QiOiJiX1BPUFVOREVSIiwid2VpZ2h0IjoiNTciLCJmY2FwIjoiMSIsInNjaGVkdWxlIjpbIjEiLDAsIjEiLDAsIjEiLDAsIjEiXSwibWF4V2lkdGgiOmZhbHNlLCJtaW5XaWR0aCI6Ijc2OCIsInRpbWV6b25lIjpmYWxzZSwiZXhjbHVkZSI6ZmFsc2UsImRvbWFpbiI6ZmFsc2UsImNvZGUiOiI8c2NyaXB0IHR5cGU9XCJ0ZXh0XC9qYXZhc2NyaXB0XCI+XHJcbiB2YXIgcCQwMGEgPSAncCQwMGEnICsgKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSArICd6eic7IHdpbmRvd1twJDAwYV0gPSB7YTonYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5NHloMXF1ZHJvY2VpbnN0MG02ZjhscHg5YnozN2o1Z3ZrMndhJywgYjone1wiQVpJYlwiOlwiN3YyZ3Y3XCIsIFwiQlZJYlwiOlwia2p2NzJ2XCIsIFwiQ1hycjFcIjpcImxzMXE2XCIsIFwiREx0YWdcIjpcIjdcIiwgXCJFbWprNVwiOlwiXCIsIFwiWENnZTFzXCI6XCJ1cTFmYi45YnpcIiAsIFwiWnQxXCI6XCIwdDBoNGZyLnNxOFwiLCBcIlpaMVwiOlwiczBoNDEuaHRuXCIgfScsIGM6J3tcIkFia3IyMjFcIjpcImZoNm8wOFwiLCBcIkJvOXNzbVwiOlwiXC9cL2gxcy51cTFmYi45YnpcLzQwMC5jZlwifScsIGQ6J3tcIkFnNFwiOlwieXQxYlwiLCBcIkJ4MVwiOlwiNDAwcXMxQ3JvaTFcIiwgXCJDa3lcIjpcImY2aFwiLCBcIkRtZ1wiOlwiaDZxNDhxRWlxbnFzOFwifSd9O1xyXG52YXIgXzB4NWQ0Yj1bJzIzNTkxM1FWZmJ3dicsJ3NsaWNlJywnbGVuZ3RoJywnMTYyMjA5UUJtQW1WJywnMTQyMzhoeU9PVHEnLCczMjMyMDdEVGJpZmgnLCdzcGxpdCcsJzFEcWlLdHEnLCcxMzU4NjZIVGJhdkInLCdpbmRleE9mJywnY2FsbCcsJzI3NjU0U0tYSGJZJywncGFyc2UnLCd1bmRlZmluZWQnLCczMklqY2tteicsJ2tleXMnLCdtYXAnLCdjZWlsJywnMTE1OTgwaGNGVkR5JywndmFsdWVzJywnam9pbiddO3ZhciBfMHgyMDhjPWZ1bmN0aW9uKF8weDMxYThkNyxfMHg1ZjM2YjMpe18weDMxYThkNz1fMHgzMWE4ZDctMHgxNjc7dmFyIF8weDVkNGJlMT1fMHg1ZDRiW18weDMxYThkN107cmV0dXJuIF8weDVkNGJlMTt9OyhmdW5jdGlvbihfMHgyNzZmOTQsXzB4NTdjNGZmKXt2YXIgXzB4NTAwNTdjPV8weDIwOGM7d2hpbGUoISFbXSl7dHJ5e3ZhciBfMHg0MGQxODQ9cGFyc2VJbnQoXzB4NTAwNTdjKDB4MTY4KSkrcGFyc2VJbnQoXzB4NTAwNTdjKDB4MTZmKSkqcGFyc2VJbnQoXzB4NTAwNTdjKDB4MTc5KSkrLXBhcnNlSW50KF8weDUwMDU3YygweDE3NikpK3BhcnNlSW50KF8weDUwMDU3YygweDE3MykpK3BhcnNlSW50KF8weDUwMDU3YygweDE2ZSkpKy1wYXJzZUludChfMHg1MDA1N2MoMHgxNzApKStwYXJzZUludChfMHg1MDA1N2MoMHgxNmIpKSotcGFyc2VJbnQoXzB4NTAwNTdjKDB4MTcyKSk7aWYoXzB4NDBkMTg0PT09XzB4NTdjNGZmKWJyZWFrO2Vsc2UgXzB4Mjc2Zjk0WydwdXNoJ10oXzB4Mjc2Zjk0WydzaGlmdCddKCkpO31jYXRjaChfMHg0MTE4MzYpe18weDI3NmY5NFsncHVzaCddKF8weDI3NmY5NFsnc2hpZnQnXSgpKTt9fX0oXzB4NWQ0YiwweDQ1MTExKSxmdW5jdGlvbigpe3ZhciBfMHgxYmEyNzQ9ZnVuY3Rpb24oXzB4MmYzYTlhKXt2YXIgXzB4M2YwYmM0PV8weDIwOGMsXzB4MTg5NGJhPU1hdGhbXzB4M2YwYmM0KDB4MTY3KV0odGhpc1snYSddW18weDNmMGJjNCgweDE2ZCldXC8weDIpLF8weDUzOTU0OD10aGlzWydhJ11bXzB4M2YwYmM0KDB4MTZjKV0oMHgwLF8weDE4OTRiYSksXzB4NWQ4MDA5PXRoaXNbJ2EnXVtfMHgzZjBiYzQoMHgxNmMpXShfMHgxODk0YmEpO2RlY3J5cHQ9dGhpc1tfMHgyZjNhOWFdW18weDNmMGJjNCgweDE3MSldKCcnKVtfMHgzZjBiYzQoMHgxN2IpXShfMHgyOGY0MzM9Pnt2YXIgXzB4ZDc2MTJkPV8weDNmMGJjNDtyZXR1cm4gXzB4NWQ4MDA5WydzcGxpdCddKCcnKVsnaW5jbHVkZXMnXShfMHgyOGY0MzMpP18weDUzOTU0OFtfMHg1ZDgwMDlbXzB4ZDc2MTJkKDB4MTc0KV0oXzB4MjhmNDMzKV06XzB4MjhmNDMzO30pW18weDNmMGJjNCgweDE2YSldKCcnKTt0cnl7cmV0dXJuIEpTT05bXzB4M2YwYmM0KDB4MTc3KV0oZGVjcnlwdCk7fWNhdGNoe3JldHVybiBkZWNyeXB0O319LF8weDU3YmI4NT13aW5kb3dbcCQwMGFdLF8weDIxOWQ5Nz1mdW5jdGlvbihfMHgyOGVmYWMsXzB4MjJhMDMxKXt2YXIgXzB4NWJlZThlPV8weDIwOGMsXzB4Mzk2M2EwPU9iamVjdFtfMHg1YmVlOGUoMHgxNjkpXShfMHgxYmEyNzRbXzB4NWJlZThlKDB4MTc1KV0oXzB4NTdiYjg1LE9iamVjdFtfMHg1YmVlOGUoMHgxN2EpXShfMHg1N2JiODUpW18weDI4ZWZhY10pKTtyZXR1cm4gdHlwZW9mIF8weDIyYTAzMSE9XzB4NWJlZThlKDB4MTc4KT9fMHgzOTYzYTBbXzB4MjJhMDMxXTpfMHgzOTYzYTA7fTt3aW5kb3dbcCQwMGFdWyd4J109ZnVuY3Rpb24oKXtyZXR1cm4gXzB4MjE5ZDk3KDB4MSk7fTt2YXIgXzB4ZjFkYjU3PWRvY3VtZW50W18weDIxOWQ5NygweDMsMHgzKV0oXzB4MjE5ZDk3KDB4MiwweDApKTtfMHhmMWRiNTdbXzB4MjE5ZDk3KDB4MywweDIpXT1fMHgyMTlkOTcoMHgyLDB4MSksZG9jdW1lbnRbXzB4MjE5ZDk3KDB4MywweDApXVtfMHgyMTlkOTcoMHgzLDB4MSldKF8weGYxZGI1NykscCQwMGE9dW5kZWZpbmVkO30oKSk7XHJcbiBcclxuIDxcL3NjcmlwdD4ifV0=