مطالب پیشنهادی از سراسر وب

دوره NodeJS - راهنمای کامل (MVC REST APIs ،GraphQL و Deno.js)

دسته بندی ها: آموزش های ویژه ، آموزش گرف کیوال (GraphQL) ، آموزش جاوا اسکریپت (Javascript) ، آموزش طراحی وب ، آموزش REST API ، آموزش نود جی اس (Node.js) ، آموزش های یودمی (Udemy)

بر روی Node JS و Deno.js، ساخت REST APIs با GraphQL APIs، Node.js، افزودن احراز هویت، استفاده از MongoDB و SQL و غیره مسلط شوید.

آخرین آپدیت: 8/2020

آنچه خواهید آموخت:

  • با یکی از پرطرفدارترین زبان های برنامه نویسی توسعه وب کار کنید
  • اصول و همچنین مفاهیم پیشرفته NodeJS را با جزئیات کامل فرا بگیرید
  • ایجاد برنامه های وب مدرن، سریع و مقیاس پذیر در سمت سرور با NodeJS، پایگاه داده هایی مانند SQL یا MongoDB و موارد دیگر
  • اکوسیستم NodeJS را بشناسید و برنامه های ارائه شده در سمت سرور، API های REST و GraphQL API را بسازید
  • معرفی کاملی از DenoJS داشته باشید

الزامات:

  • دانش عمومی در مورد نحوه کار وب توصیه می شود اما ضروری نیست
  • دانش پایه جاوا اسکریپت اکیداً توصیه می شود اما می توانید در حین گذراندن دوره ، آن را کسب کنید.
  • دانش NodeJS لازم نیست!

توضیحات دوره:

به جامع ترین دوره Node.js در Udemy بپیوندید و Node را هم به صورت عملی و هم مبتنی بر تئوری بیاموزید!

Node.js احتمالاً محبوب ترین و مدرن ترین زبان برنامه نویسی سمت سرور است که می توانید در این روزها آن را یاد بگیرید.

تقاضای شغلی توسعه دهندگان Node.js بسیار زیاد می باشد و این زبان برای همه موارد از برنامه های وب سنتی با نمایش های رندرشده در سمت سرور و REST API ها گرفته تا GraphQL APIs و سرویس های وب در زمان واقعی استفاده می شود. نیازی به ذکر کاربردهای آن در ایجاد گردش کار برای پروژه هایی در هر اندازه ای نیست.

این دوره همه این موارد را به شما یاد می دهد! از ابتدا با فرض اینکه شما هیچ دانش قبلی ندارید. اگر دانش اولیه را دارید، مطمئناً قادر خواهید بود به سرعت وارد دوره های آموزشی شوید که برای شما جالب تر هستند.

آنچه در این دوره فرا خواهید گرفت این است:

  • مبانی اصلی و ماژول های اصلی Node.js
  • تجزیه درخواست ها و ارسال پاسخ ها
  • رندر HTML به صورت پویا (در سرور)
  • استفاده از Express.js
  • کار با فایل ها و تولید PDF در سرور (on-the-fly)
  • آپلود و دانلود فایل 
  • استفاده از الگوی (Model-View-Controller (MVC
  • استفاده از Node.js با (SQL (MySQL و Sequelize
  • استفاده از Node.js با NoSQL (MongoDB) و Mongoose
  • کار با Sessions و کوکی ها
  • احراز هویت و مجوز کاربر
  • ارسال ایمیل
  • اعتبارسنجی ورودی کاربر
  • صفحه بندی داده ها
  • مدیریت پداخت ها با Stripe.js
  • ساخت REST APIs
  • احراز هویت در REST APIs
  • بارگذاری فایل در REST API
  • ساخت GraphQL APIs
  • احراز هویت در GraphQL APIs
  • بارگذاری فایل در GraphQL APIs
  • ساخت یک برنامه بلادرنگ Node.js با Websockets
  • تست خودکار (تست واحد)
  • استقرار برنامه Node.js
  • استفاده از TypeScript با Node.js
  • کاوش در Deno.js
  • و غیره!

به نظر می رسد این مطالب زیاد باشند؟ قطعاً همینطور است!

این یک دوره کوتاه نیست بلکه "راهنمای کامل" Node.js است. ما به صورت عمیق به بررسی برخی از مفاهیم می پردازیم و از آنها سطحی عبور نمی کنیم.

در این دوره ما دو پروژه بزرگ خواهیم ساخت: یکی فروشگاه آنلاین (شامل پرداخت + وارسی) و یک وبلاگ. تمام مباحث و ویژگی های دوره در این پروژه ها نشان داده می شود و استفاده می شود و بنابراین در یک محیط واقع بینانه با آنها آشنا خواهید شد.

آیا این دوره برای شما مناسب است؟

اگر هیچ تجربه ای در کار با  Node.js ندارید، این دوره را دوست خواهید داشت زیرا این دوره با فرض اینکه شما هیچ پیش زمینه ای ندارید شروع می شود. این یک دوره عالی برای تبدیل شدن به یک توسعه دهنده Node.js است.

اگر مبانی Node.js را می دانید، این دوره کاملاً برای شما مناسب است زیرا می توانید به سرعت ماژول های اساسی را مرور کنید و از همه مباحث و موضوعات پیشرفته ای که دوره پوشش می دهد بهره مند خواهید شد.

آیا شما کاربر پیشرفته Node.js هستید؟ پس مباحث دوره را بررسی کنید. شاید دوره دیگری پیدا نکرده باشید که نحوه استفاده از SQL با Node.js را نشان دهد. یا به GraphQL علاقه مند هستید. این احتمال وجود دارد که از این دوره نیز نکات زیادی کسب کنید!

پیش نیازها:

  • دانش Node.js اصلاً لازم است!
  • هیچ دانش زبان برنامه نویسی دیگری لازم نیست (به جز جاوا اسکریپت، به نکته بعدی مراجعه کنید)
  • دانش پایه جاوا اسکریپت لازم است - شما باید حداقل در حالی که دوره را می گذرانید ، مایل باشید آن را انتخاب کنید. یک ماژول تازه سازی JS وجود دارد تا شما را به سرعت به آخرین سینتکس برساند.
  • دانش پایه HTML + CSS کمک می کند اما لازم نیست

این دوره برای چه کسانی است:

  • توسعه دهندگان وب مبتدی یا پیشرفته که می خواهند با NodeJS به توسعه بک اند (سمت سرور) بپردازند
  • همه کسانی که به ساخت برنامه های وب مدرن ، مقیاس پذیر و با عملکرد بالا علاقه مند هستند.
  • توسعه دهندگان با تجربه NodeJS که می خواهند در ویژگی های خاص مانند استفاده از GraphQL با NodeJS مسلط شوند.

مباحث دوره:

  • مقدمه
    • مقدمه
    • Node.js چیست؟
    • به جامعه یادگیری آنلاین بپیوندید
    • نصب Node.js و ایجاد اولین اپلیکیشن
    • درک نقش و کاربرد Node.js 
    • مباحث دوره
    • نحوه دریافت بهترین استفاده از این دوره
    • کار با REPL در مقایسه با استفاده از فایل ها
    • درک کد منبع پیوست شده
  • اختیاری: جاوااسکریپت - نکات سریع
    • معرفی ماژول
    • JavaScript در Nutshell
    • رفرش کردن سینتکس کد
    • let و const
    • درک توابع Arrow 
    • کار با آبجکت ها، Properties و متدها
    • آرایه ها و متدهای آرایه
    • آرایه ها، آبجکت ها و انواع مرجع
    • درک اپراتورهای Spread و Rest
    • Destructuring
    • Async Code و Promises
    • Template Literals
    • جمع بندی
    • لینک ها و منابع مفید
  • درک مبانی
    • معرفی ماژول
    • وب چگونه کار می کند؟
    • ایجاد Node Server
    • چرخه عمر Node و Event Loop
    • کنترل کردن فرآیند Node.js
    • درک درخواست ها
    • ارسال پاسخ ها
    • هدرهای درخواست و پاسخ
    • مسیریابی درخواست ها
    • ریدایرکت کردن درخواست ها
    • تجزیه کردن Request Bodies
    • درک کردن اجرای کد رویداد محور
    • بلاک کردن و Non-Block کردن کد
    • Node.js - نگاهی به پشت صحنه
    • استفاده از سیستم ماژول های Node 
    • جمع بندی
    • زمان تمرین - مبانی
    • 1 سوال
    • لینک ها و منابع مفید
  • گردش کار توسعه بهبود یافته و اشکال زدایی
    • معرفی ماژول
    • درک اسکریپت های NPM 
    • نصب بسته های شخص ثالث
    • امکانات جهانی درمقابل ماژول های اصلی در مقابل ماژول های شخص ثالث
    • استفاده از Nodemon برای Autorestarts
    • بسته های npm محلی و جهانی
    • درک انواع خطاهای مختلف
    • یافتن و رفع خطاهای سینتکس
    • برخورد با خطاهای زمان اجرا
    • خطاهای منطقی
    • استفاده از Debugger
    • پس از ویرایش برنامه ، به طور خودکار Debugger را راه اندازی کنید
    • اشکال زدایی Node.js در Visual Studio Code
    • تغییر متغیرها در کنسول اشکال زدایی
    • جمع بندی 
    • لینک ها و منابع مفید
  • کار با Express.js
    • معرفی ماژول
    • Express.js چیست؟
    • نصب Express.js
    • افزودن میان افزار
    • Express.js - نگاهی به پشت صحنه
    • مدیریت مسیرهای مختلف
    • زمان تمرین - Express.js
    • 1 سوال
    • تجزیه درخواست های ورودی
    • محدودسازی اجرای میان افزار برای POST Requests
    • استفاده از Express Router
    • افزودن 404 Error Page
    • فیلتر کردن مسیرها
    • ایجاد صفحات HTML 
    • سرو کردن صفحات HTML 
    • بازگشت صفحات 404 
    • استفاده از Helper Function برای ناوبری
    • استایل دادن به صفحات
    • سرو کردن فایل ها به صورت ایستاتیک
    • زمان تمرین - ناوبری
    • 1 سوال
    • جمع بندی
    • لینک ها و منابع مفید
  • کار با محتوای پویا و افزودن موتورهای قالب
    • معرفی ماژول
    • اشتراک گذاری کاربران و درخواست های سراسر داده
    • Templating Engines - بررسی
    • نصب و پیاده سازی Pug
    • خروجی گرفتن محتوای داینامیک
    • Official Pug Docs
    • تبدیل فایل های HTML به Pug
    • افزودن طرح بندی
    • اتمام Pug Template
    • جلوگیری از خطا
    • کار با Handlebars
    • تبدیل پروژه به Handlebars
    • افزودن طرح بندی به Handlebars
    • کار با EJS
    • کار بر روی طرح بندی با Partials
    • جمع بندی
    • زمان تمرین - Templating Engines
    • 1 سوال
    • اختیاری - راه کار Assignment 
    • لینک ها و منابع مفید
  • (Model View Controller (MVC
    • معرفی ماژول
    • MVC چیست؟
    • افزودن کنترلرها
    • اتمام کنترلرها
    • افزودن مدل محصول
    • مرتب سازی داده در فایل ها از طریق مدل
    • واکشی داده از فایل ها از طریق مدل
    • ریفکتورینگ کد ذخیره سازی فایل
    • جمع بندی
    • لینک ها و منابع مفید
  • اختیاری: بهبود اپلیکیشن
    • معرفی ماژول
    • ایجاد ساختار فروشگاه
    • کار با ناوبری
    • رجیستر کردن مسیرها
    • مرتب سازی داده حصول
    • نمایش داده محصول
    • ویرایش و حذف محصولات
    • افزودن آیتم دیگر
    • لینک ها و منابع مفید
  • مسیرهای داینامیک و مدل های پیشرفته
    • معرفی ماژول
    • مقدمات
    • تغییرات اعمال شده
    • افزودن آیدی محصول به مسیر
    • استخراج Dynamic Params
    • لود کردن داده جزئیات محصول
    • رندر کردن Product Detail View
    • انتقال داده با POST Requests
    • افزودن Cart Model
    • استفاده از Query Params
    • Pre-Populate کردن Edit Product Page با داده
    • لینک به Edit Page
    • ویرایش داده محصول
    • افزودن قابلیت Product-Delete
    • حذف کردن آیتم های سبد خرید
    • نمایش  آیتم های سبد خرید بر روی Cart Page
    • حذف کردن آیتم های سبد خرید
    • رفع باگ Delete Product 
    • جمع بندی
    • لینک ها و منابع مفید
  • مقدمه SQL 
    • معرفی ماژول
    • انتخاب پایگاه داده
    • معرفی NoSQL 
    • مقایسه SQL و NoSQL
    • راه اندازی MySQL
    • اتصال اپلیکیشن به پایگاه داده SQL 
    • مبانی SQL و ایجاد جدول
    • بازیابی داده
    • واکشی کردن محصولات
    • واکشی کردن محصولات - زمان تمرین
    • درج کردن داده در پایگاه داده
    • واکشی کردن محصول تک با شرط "where" 
    • جمع بندی
    • لینک ها و منابع مفید
  • درک Sequelize
    • معرفی ماژول
    • Sequelize چیست؟
    • اتصال به پایگاه داده
    • معرفی مدل
    • سینک کردن تعاریف JS به پایگاه داده
    • درج کردن داده و ایجاد یک محصول
    • باید بخوانید - ()findById در Sequelize 5
    • ایجاد محصول تک با شرط "where" 
    • واکشی کردن محصولات ادمین
    • به روزرسانی محصولات
    • حذف کردن محصولات
    • ایجاد مدل کاربر
    • افزودن رابطه One-To-Many 
    • ایجاد و مدیریت کاربر ساختگی
    • استفاده از متدهای انجمن جادویی
    • واکشی کردن محصولات مرتبط
    • روابط One-To-Many و Many-To-Many
    • ایجاد و واکشی کردن سبد خرید
    • افزودن محصولات جدید به سبد خرید
    • افزودن محصولات موجود و بازیابی آیتم های سبد خرید
    • حذف کردن آیتم های مربوط و حذف کردن محصولات سبد خرید
    • افزودن Order Model
    • مرتب سازی آیتم های سبد خرید به عنوان آیتم های سفارش
    • تنظیمات مجدد سبد خرید و واکشی کردن و خروجی گرفتن سفارشات
    • جمع بندی
    • لینک ها و منابع مفید
  • کار با NoSQL و استفاده از MongoDB
    • معرفی ماژول
    • MongoDB چیست؟
    • روابط در NoSQL
    • راه اندازی MongoDB
    • نصب کردن MongoDB Driver
    • ایجاد اتصال پایگاه داده
    • اتمام اتصال پایگاه داده
    • استفاده از اتصال پایگاه داده
    • ایجاد محصولات 
    • درک MongoDB Compass
    • واکشی کردن تمام محصولات
    • واکشی کردن محصول تک
    • عمل کردن مجدد دکمه های "Edit" و  "Delete"
    • کار بر روی مدل محصول برای ویرایش محصول
    • اتمام کد "Update Product"
    • یک نوشته درباره به روزرسانی محصولات
    • حذف کردن محصولات
    • رفع قابلیت "Add Product"
    • ایجاد کاربران جدید
    • ذخیره سازی داده در پایگاه داده
    • کار با آیتم های سبد خرید و سفارشات
    • افزودن قابلیت "Add to Cart" 
    • ذخیره سازی چندین محصول در سبد خرید
    • نمایش آیتم های سبد خرید
    • رفع باگ
    • حذف کردن آیتم های سبد خرید
    • افزودن سفارش
    • افزودن داده سفارش رابطه ای
    • گرفتن سفارشات
    • حذف کردن آیتم های حذف شده از سبد خرید
    • جمع بندی
    • لینک ها و منابع مفید
    • دو تنظیم (پشت صحنه)
  • کار با Mongoose
    • معرفی ماژول
    • Mongoose چیست؟
    • اتصال به سرور MongoDB با Mongoose
    • ایجاد طرحواره محصول
    • ذخیره داده از طریق Mongoose
    • واکشی همه محصولات
    • واکشی یک محصول واحد
    • به روزرسانی محصولات
    • حذف محصولات
    • اضافه کردن و استفاده از یک مدل کاربر
    • استفاده از روابط در Mongoose
    • یک نکته مهم در مورد واکشی روابط
    • کار روی سبد خرید
    • بارگیری سبد خرید
    • حذف موارد سبد خرید
    • ایجاد و دریافت سفارشات
    • ذخیره تمام داده های مرتبط با سفارش
    • پاکسازی سبد خرید پس از ذخیره سفارش
    • دریافت و نمایش سفارشات
    • جمع بندی
    • لینک ها و منابع مفید
  • Sessions و کوکی ها
    • معرفی ماژول
    • کوکی چیست؟
    • وضعیت فعلی پروژه
    • اختیاری: ایجاد فرم ورود به سیستم
    • افزودن راه حل ورود به سیستم درخواست محور
    • تنظیم کوکی
    • دستکاری کوکی ها
    • پیکربندی کوکی ها
    • Sessions چیست؟
    • راه اندازی Session Middleware
    • استفاده از Session Middleware
    • استفاده از MongoDB برای ذخیره Sessions
    • Sessions و کوکی ها - خلاصه ای کوتاه
    • زمان تمرین - Sessions و کوکی ها
    • 1 سوال
    • حذف کوکی
    • رفع برخی باگ های جزئی
    • دوباره کار کردن "Add to Cart" 
    • دو پیشرفت کوچک
    • جمع بندی
    • تنظیمات کد
    • لینک ها و منابع مفید
  • افزودن احراز هویت
    • معرفی ماژول
    • احراز هویت چیست؟
    • احراز هویت چگونه اجرا می شود؟
    • وضعیت پروژه به روز شده ما
    • پیاده سازی جریان احراز هویت
    • رمزگذاری رمزهای عبور
    • اضافه کردن یک کد کوچک برای بهبود
    • افزودن قابلیت ورود به سیستم
    • کار روی Route Protection
    • استفاده از Middleware برای محافظت از مسیرها
    • درک حملات CSRF
    • استفاده از CSRF Token
    • افزودن CSRF Protection
    • رفع دکمه سفارش
    • ارائه بازخورد کاربر
    • اختیاری: استایل دادن به پیام های خطا
    • اتمام پیام های Flash
    • افزودن پیام های Flash اضافی
    • جمع بندی
    • لینک ها و منابع مفید
  • ارسال ایمیل ها
    • معرفی ماژول
    • ارسال ایمیل چگونه کار می کند؟
    • استفاده از SendGrid
    • استفاده از Nodemailer برای ارسال ایمیل
    • محدودیت بالقوه برای برنامه های مقیاس بزرگ
    • لینک ها و منابع مفید
  • احراز هویت پیشرفته
    • معرفی ماژول
    • بازنشانی رمزهای عبور
    • پیاده سازی منطق Token
    • ایجاد توکن
    • ایجاد فرم بازنشانی گذرواژه
    • اضافه کردن منطق برای به روز رسانی رمز عبور
    • چرا به مجوز نیاز داریم
    • افزودن مجوز
    • افزودن محافظت به اقدامات پست
    • چرا ویرایش ناموفق است
    • جمع بندی
    • لینک ها و منابع مفید
  • درک اعتبارسنجی
    • معرفی ماژول
    • چرا باید از اعتبار سنجی استفاده کنیم؟
    • چگونه اعتبار ورودی را تأیید کنیم؟
    • راه اندازی و اعتبار سنجی اساسی
    • استفاده از پیام های خطای اعتبار سنجی
    • اعتبار سنجی داخلی و سفارشی
    • اعتبارسنج بیشتر
    • بررسی  For Field Equality
    • اضافه کردن اعتبار سنجی سینک
    • زمان تمرین - اعتبار سنجی
    • 1 سوال
    • حفظ ورودی کاربر
    • افزودن کلاس های CSS مشروط
    • افزودن اعتبار به ورود
    • پاک کردن داده ها
    • تأیید اعتبار افزودن محصول
    • تأیید اعتبار ویرایش محصول
    • جمع بندی
    • لینک ها و منابع مفید
  • مدیریت خطا
    • معرفی ماژول
    • انواع خطاها و مدیریت خطاها
    • تجزیه و تحلیل خطا در پروژه فعلی
    • خطاها - برخی نظریه ها
    • پرتاب خطاها در کد
    • برگرداندن صفحات خطا
    • استفاده از خطای Express.js در مدیریت میان افزار
    • به روزرسانی برنامه
    • استفاده از خطا در مدیریت صحیح میان افزار
    • کد وضعیت
    • کد وضعیت موجود
    • ​​​​​​​جمع بندی
    • لینک ها و منابع مفید
  • دانلود و آپلود فایل
    • ​​​​​​​​​​​​​​معرفی ماژول
    • افزودن File Picker به Frontend
    • مدیریت داده های فرم چند بخشی
    • مدیریت آپلودهای فایل با Multer
    • پیکربندی Multer برای تنظیم نام فایل و مسیر فایل
    • فیلتر کردن فایل ها توسط Mimetype
    • ذخیره داده های فایل در پایگاه داده
    • حذف imageUrl از "Add Product"
    • ارائه تصاویر به صورت آماری
    • دانلود فایل ها با احراز هویت
    • تنظیم هدرهای نوع فایل
    • محدود کردن دسترسی به فایل
    • Streaming Data درمقابل Preloading Data
    • استفاده از PDFKit برای تولید .pdf
    • ایجاد فایل های .pdf با داده های سفارش
    • حذف فایل ها
    • رفع پیوندهای فاکتور
    • ​​​​​​​جمع بندی
    • لینک ها و منابع مفید
  • افزودن صفحه بندی
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • افزودن پیوندهای صفحه
    • بازیابی تکه داده
    • رد کردن و محدود کردن با SQL
    • آماده سازی داده های صفحه بندی در سرور
    • افزودن دکمه های صفحه بندی پویا
    • استفاده مجدد از منطق صفحه و کنترل ها
    • ​​​​​​​جمع بندی
    • لینک ها و منابع مفید
  • درک درخواست های هم زمان
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • درخواست های هم زمان چیست؟
    • افزودن Client Side JS Code
    • فرمت داده JSON 
    • ارسال و مدیریت درخواست های پیش زمینه
    • دستکاری کردن DOM
    • لینک ها و منابع مفید
  • افزودن پرداخت ها
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • نحوه پرداخت ها
    • افزودن صفحه پرداخت
    • استفاده از Stripe در برنامه شما
    • ​​​​​​​جمع بندی
    • لینک ها و منابع مفید
  • کار با REST APIs - مبانی
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • REST API چیست و چرا از آنها استفاده می کنیم؟
    • دسترسی به داده ها با REST API
    • درک متدهای مسیریابی و HTTP
    • REST API - اصول اصلی
    • ایجاد پروژه REST API و پیاده سازی راه اندازی مسیر
    • ارسال درخواست ها و پاسخ ها و کار با مامور پست
    • خطاهای REST APIs ، Clients & CORS
    • ارسال درخواست های POST
    • ​​​​​​​جمع بندی
    • لینک ها و منابع مفید
  • کار با REST APIs - اپلیکیشن کاربردی
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • REST API و بقیه دوره
    • درک راه اندازی Frontend
    • برنامه ریزی API
    • واکشی لیست پست ها
    • افزودن Create Post Endpoint
    • افزودن اعتبارسنجی سمت سرور
    • راه اندازی Post Model
    • ذخیره پست ها در پایگاه داده
    • تصاویر ثابت و مدیریت خطا
    • واکشی یک پست
    • نام تصویر و ویندوز
    • بارگذاری تصاویر
    • به روز رسانی پست ها
    • حذف پست ها
    • افزودن صفحه بندی
    • افزودن یک مدل کاربر
    • افزودن اعتبار ثبت نام کاربر
    • ثبت نام کاربران
    • احراز هویت چگونه کار می کند؟
    • شروع با ورود به سیستم کاربر
    • ورود به سیستم و ایجاد توکن های وب (JSON (JWT
    • استفاده و اعتبار سنجی توکن
    • 1 سوال
    • ​​​​​​​جمع بندی
    • لینک ها و منابع مفید
  • درک Async Await در Node.js
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • Async Await All About چیست؟
    • تبدیل کردن "Then Catch" به "Async Await"
    • "await" سطح بالا
    • زمان تمرین - Async Await
    • 1 سوال
    • نام کاربری موجود نیست!
    • ​​​​​​​جمع بندی
    • لینک ها و منابع مفید
  • درک Websockets و Socket.io
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • Websockets چیست و چرا از آنها استفاده می کنید؟
    • راه حل های Websocket - یک نمای کلی
    • تنظیم Socket.io در سرور
    • ایجاد ارتباط از طرف کلاینت
    • شناسایی پتانسیل زمان واقعی
    • به اشتراک گذاری IO Instance Across Files
    • هم زمان سازی POST Additions
    • رفع اشکال - نام کاربری گمشده
    • به روزرسانی پست ها در تمام کلاینت های متصل
    • مرتب سازی صحیح
    • در حال حذف پست ها در سراسر کلاینت ها
    • ​​​​​​​جمع بندی
    • لینک ها و منابع مفید
  • کار با GraphQL
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • GraphQL چیست؟
    • درک راه اندازی و نوشتن اولین درخواست ما
    • تعریف Mutation Schema
    • افزودن Mutation Resolver و GraphiQL
    • اضافه کردن اعتبار سنجی ورودی
    • مدیریت خطاها
    • اتصال Frontend به GraphQL API
    • افزودن Login Query و Resolver
    • افزودن قابلیت ورود به سیستم
    • افزودن Create Post Mutation
    • استخراج داده های کاربر از Auth Token
    • ارسال کوئری "Create Post"
    • رفع باگ و افزودن پست های جدید به صورت درست
    • افزودن Resolver و کوئری "Get Post"
    • ارسال کوئری های "Create Post" و "Get Post"
    • افزودن صفحه بندی
    • آپلود کردن تصاویر
    • واکشی کردن imageUrl
    • نمایش پست واحد
    • به روزرسانی پست ها
    • حذف کردن پست ها
    • افزودن پست ها و صفحه بندی
    • مدیریت وضعیت کاربر
    • استفاده از متغیرها
    • رفع باگ صفحه بندی
    • جمع بندی
    • لینک ها و منابع مفید
  • توسعه اپلیکیشن
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    •  استفاده از انواع مختلف برنامه ها
    • مقدمات استقرار
    • استفاده از متغیرهای محیطی
    • استفاده از Production API Keys
    • تنظیم هدرهای پاسخ ایمن با Helmet
    • فشرده سازی دارایی ها
    • راه اندازی Request Logging
    • اطلاعات بیشتر در مورد Logging
    • راه اندازی یک سرور SSL
    • استفاده از ارائه دهنده میزبانی وب
    • درک پروژه و راه اندازی Git
    • یک مثال استقرار با Heroku
    • ذخیره پرونده های تولید شده توسط کاربر در Heroku
    • استقرار API ها
    • ​​​​​​​جمع بندی
    • لینک ها و منابع مفید
  • تست اپلیکیشن های Node.js
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • تست چیست؟
    • چرا و چگونه؟
    • راه اندازی و نوشتن یک تست اول
    • تست با Auth Middleware
    • سازماندهی چندین تست
    • چه چیزی را نباید تست کرد!
    • استفاده از Stubs
    • تست کردن کنترلرها
    • تست کردن کد ناهمزمان
    • راه اندازی پایگاه داده تست
    • کد را با یک پایگاه داده فعال تست کنید
    • تمیز کردن
    • Hooks
    • کد آزمایشی که نیاز به احراز هویت دارد
    • تسلط بر تست و ​​​​​​​جمع بندی
    • لینک ها و منابع مفید
  • Node.js به عنوان ابزار ساخت و استفاده از npm
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • npm و Node.js
    • استفاده از npm
    • نسخه بندی در package.json
    • Build Tool چیست؟
    • استفاده از Node.js در فرآیندهای ساخت
    • لینک ها و منابع مفید
  • Modern JavaScript و  NodeJS
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • این ماژول درباره چیست؟
    • کار با ES Modules و Node
    • اطلاعات بیشتر درمورد ES
    • Promises و ماژول های Node Core
    • منابع ماژول
  • NodeJS و TypeScript
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • TypeScript: چه و چرا؟
    • راه اندازی TypeScript
    • اختصاص تایپ
    • Type Inference و Type Casting
    • پیکربندی TypeScript
    • کار با Union Types
    • استفاده از انواع شی و آرایه
    • کار با Type Aliases و رابط ها
    • درک Generics
    • خلاصه اول
    • Node و TypeScript - راه اندازی
    • شروع کار با Node و TypeScript
    • نوشتن کد TypeScript Express.js
    • افزودن REST Routes با TypeScript
    • اتمام REST Routes
    • تست کردن API
    • استفاده از Type Casting
    • حرکت به ساختار پروژه بهتر
    • ​​​​​​​جمع بندی
    • منابع ماژول
  • آشنایی با Deno
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • Deno چیست؟
    • چرا Deno؟
    • راه اندازی Deno
    • نوشتن اولین کد Deno
    • Deno Runtime (Namespace) API
    • استفاده از Runtime API
    • کار با Deno Permissions
    • تکرار مثال با Node
    • نحوه تنظیم ویژگی های Deno
    • استفاده از کتابخانه استاندارد
    • ایجاد یک وب سرور
    • استفاده از Oak Framework با Deno
    • اطلاعات بیشتر در مورد Module URLs
    • مثال Node REST API
    • ساخت مجدد REST API با Deno
    • آیا باید از Node به Deno سوئیچ کرد؟
    • منابع ماژول
  • CRUD، Deno و پایگاه داده ها (MongoDB)
    • ​​​​​​​​​​​​​​​​​​​​​معرفی ماژول
    • راه اندازی اپلیکیشن
    • مدیریت خطاهای CORS 
    • اتصال Deno به MongoDB
    • استفاده از MongoDB Client Module
    • اتمام عملیات های Deno MongoDB CRUD
    • ​​​​​​​جمع بندی
    • منابع ماژول
  • جمع بندی
    • جمع بندی دوره
    • اسلایدهای دوره
    • جایزه: محتوای بیشتر

سایر ویدئوهای دوره:


Node.js چیست؟

 

​​​​​​​نصب Node.js و ایجاد اولین اپلیکیشن

 

درک نقش و کاربرد Node.js

 

مباحث دوره

ترجمه با ویدابیا

ترجمه فارسی این دوره آموزشی رو همین الان از ویدابیا سفارش بده الان سفارش بده
آیا این نوشته را دوست داشتید؟
Udemy NodeJS - The Complete Guide (MVC REST APIs GraphQL Deno) Publisher:Udemy Author:Academind by Maximilian Schwarzmüller, Maximilian Schwarzmüller Duration:40 hours Level:Advanced

Master Node JS & Deno.js, build REST APIs with Node.js, GraphQL APIs, add Authentication, use MongoDB, SQL & much more!

Last updated 8/2020

What you'll learn

  • Work with one of the most in-demand web development programming languages
  • Learn the basics as well as advanced concepts of NodeJS in great detail
  • Build modern, fast and scalable server-side web applications with NodeJS, databases like SQL or MongoDB and more
  • Understand the NodeJS ecosystem and build server-side rendered apps, REST APIs and
  • GraphQL APIs
  • Get a thorough introduction to DenoJS

Requirements

  • General knowledge of how the web works is recommended but not a must-have
  • Basic JavaScript knowledge is strongly recommended but could be picked up whilst going through the course.
  • NO NodeJS knowledge is required!

Description

Join the most comprehensive Node.js course on Udemy and learn Node in both a practical as well as theory-based way!

This course was updated to also include sections on Deno.js - in addition to more than 30 hours of content on Node.js!

Node.js is probably THE most popular and modern server-side programming language you can dive into these days!

Node.js developers are in high demand and the language is used for everything from traditional web apps with server-side rendered views over REST APIs all the way up to GraphQL APIs and real-time web services. Not to mention its applications in build workflows for projects of all sizes.

This course will teach you all of that! From scratch with zero prior knowledge assumed. Though if you do bring some knowledge, you'll of course be able to quickly jump into the course modules that are most interesting to you.

Here's what you'll learn in this course:

  • Node.js Basics & Basic Core Modules
  • Parsing Requests & Sending Responses
  • Rendering HTML Dynamically (on the Server)
  • Using Express.js
  • Working with Files and generating PDFs on the Server (on-the-fly)
  • File Up- and Download
  • Using the Model-View-Controller (MVC) Pattern
  • Using Node.js with SQL (MySQL) and Sequelize
  • Using Node.js with NoSQL (MongoDB) and Mongoose
  • Working with Sessions & Cookies
  • User Authentication and Authorization
  • Sending E-Mails
  • Validating User Input
  • Data Pagination
  • Handling Payments with Stripe.js
  • Building REST APIs
  • Authentication in REST APIs
  • File Upload in REST APIs
  • Building GraphQL APIs
  • Authentication in GraphQL APIs
  • File Upload in GraphQL APIs
  • Building a Realtime Node.js App with Websockets
  • Automated Testing (Unit Tests)
  • Deploying a Node.js Application
  • Using TypeScript with Node.js
  • Exploring Deno.js
  • And Way More!

Does this look like a lot of content? It certainly is!

This is not a short course but it is the "Complete Guide" on Node.js after all. We'll dive into a lot of topics and we'll not just scratch the surface.

We'll also not just walk through boring theory and some slides. Instead, we'll build two major projects: An online shop (including checkout + payments) and a blog.

All topics and features of the course will be shown and used in these projects and you'll therefore learn about them in a realistic environment.

Is this course for you?

If you got no Node.js experience, you'll love this course because it starts with zero knowledge assumed. It's the perfect course to become a Node.js developer.

If you got basic Node.js experience, this course is also a perfect match because you can go through the basic modules quickly and you'll benefit from all the deep dives and advanced topics the course covers.

Are you an advanced Node.js user? Check the curriculum then. Maybe you found no other course that shows how to use SQL with Node.js. Or you're interested in GraphQL. Chances are, that you'll get a lot of value out of this course, too!

Prerequisites

  • NO Node.js knowledge is required at all!
  • NO other programming language knowledge (besides JavaScript, see next point) is required
  • Basic JavaScript knowledge is assumed though - you should at least be willing to pick it up whilst going through the course. A JS refresher module exists to bring you up to the latest syntax quickly
  • Basic HTML + CSS knowledge helps but is NOT required

Who this course is for:

  • Beginner or advanced web developers who want to dive into backend (server-side) development with NodeJS
  • Everyone who's interested in building modern, scalable and high-performing web applications
  • Experienced NodeJS developers who want to dive into specific features like using GraphQL with NodeJS

Course content

  • Introduction
    • Introduction
    • What is Node.js?
    • Join our Online Learning Community
    • Installing Node.js and Creating our First App
    • Understanding the Role & Usage of Node.js
    • Course Outline
    • How To Get The Most Out Of The Course
    • Working with the REPL vs Using Files
    • Using the Attached Source Code
  • Optional: JavaScript - A Quick Refresher
    • Module Introduction
    • JavaScript in a Nutshell
    • Refreshing the Core Syntax
    • let & const
    • Understanding Arrow Functions
    • Working with Objects, Properties & Methods
    • Arrays & Array Methods
    • Arrays, Objects & Reference Types
    • Understanding Spread & Rest Operators
    • Destructuring
    • Async Code & Promises
    • Template Literals
    • Wrap Up
    • Useful Resources & Links
  • Understanding the Basics
    • Module Introduction
    • How The WebWorks
    • Creating a Node Server
    • The Node Lifecycle & Event Loop
    • Controlling the Node.js Process
    • Understanding Requests
    • Sending Responses
    • Request & Response Headers
    • Routing Requests
    • Redirecting Requests
    • Parsing Request Bodies
    • Understanding Event Driven Code Execution
    • Blocking and Non-Blocking Code
    • Node.js - Looking Behind the Scenes
    • Using the Node Modules System
    • Wrap Up
    • Time to Practice - The Basics
    • 1 question
    • Useful Resources & Links
  • Improved Development Workflow and Debugging
    • Module Introduction
    • Understanding NPM Scripts
    • Installing 3rd Party Packages
    • Global Features vs Core Modules vs Third-Party Modules
    • Using Nodemon for Autorestarts
    • Global & Local npm Packages
    • Understanding different Error Types
    • Finding & Fixing Syntax Errors
    • Dealing with Runtime Errors
    • Logical Errors
    • Using the Debugger
    • Restarting the Debugger Automatically After Editing our App
    • Debugging Node.js in Visual Studio Code
    • Changing Variables in the Debug Console
    • Wrap Up
    • Useful Resources & Links
  • Working with Express.js
    • Module Introduction
    • What is Express.js?
    • Installing Express.js
    • Adding Middleware
    • How Middleware Works
    • Express.js - Looking Behind the Scenes
    • Handling Different Routes
    • Time to Practice - Express.js
    • 1 question
    • Parsing Incoming Requests
    • Limiting Middleware Execution to POST Requests
    • Using Express Router
    • Adding a 404 Error Page
    • Filtering Paths
    • Creating HTML Pages
    • Serving HTML Pages
    • Returning a 404 Page
    • Using a Helper Function for Navigation
    • Styling our Pages
    • Serving Files Statically
    • Time to Practice - Navigation
    • 1 question
    • Wrap Up
    • Useful Resources & Links
  • Working with Dynamic Content & Adding Templating Engines
    • Module Introduction
    • Sharing Data Across Requests & Users
    • Templating Engines - An Overview
    • Installing & Implementing Pug
    • Outputting Dynamic Content
    • Official Pug Docs
    • Converting HTML Files to Pug
    • Adding a Layout
    • Finishing the Pug Template
    • Avoiding an Error
    • Working with Handlebars
    • Converting our Project to Handlebars
    • Adding the Layout to Handlebars
    • Working with EJS
    • Working on the Layout with Partials
    • Wrap Up
    • Time to Practice - Templating Engines
    • 1 question
    • [OPTIONAL] Assignment Solution
    • Useful Resources & Links
  • The Model View Controller (MVC)
    • Module Introduction
    • What is the MVC?
    • Adding Controllers
    • Finishing the Controllers
    • Adding a Product Model
    • Storing Data in Files Via the Model
    • Fetching Data from Files Via the Model
    • Refactoring the File Storage Code
    • Wrap Up
    • Useful Resources & Links
  • Optional: Enhancing the App
    • Module Introduction
    • Creating the Shop Structure
    • Working on the Navigation
    • Registering the Routes
    • Storing Product Data
    • Displaying Product Data
    • Editing & Deleting Products
    • Adding Another Item
    • Useful Resources & Links
  • Dynamic Routes & Advanced Models
    • Module Introduction
    • Preparations
    • Applied Changes
    • Adding the Product ID to the Path
    • Extracting Dynamic Params
    • Loading Product Detail Data
    • Rendering the Product Detail View
    • Passing Data with POST Requests
    • Adding a Cart Model
    • Using Query Params
    • Pre-Populating the Edit Product Page with Data
    • Linking to the Edit Page
    • Editing the Product Data
    • Adding the Product-Delete Functionality
    • Deleting Cart Items
    • Displaying Cart Items on the Cart Page
    • Deleting Cart Items
    • Fixing a Delete Product Bug
    • Wrap Up
    • Useful Resources & Links
  • SQL Introduction
    • Module Introduction
    • Choosing a Database
    • NoSQL Introduction
    • Comparing SQL and NoSQL
    • Setting Up MySQL
    • Connecting our App to the SQL Database
    • Basic SQL & Creating a Table
    • Retrieving Data
    • Fetching Products
    • Fetching Products - Time to Practice
    • Inserting Data Into the Database
    • Fetching a Single Product with the "where" Condition
    • Wrap Up
    • Useful Resources & Links
  • Understanding Sequelize
    • Module Introduction
    • What is Sequelize?
    • Connecting to the Database
    • Defining a Model
    • Syncing JS Definitions to the Database
    • Inserting Data & Creating a Product
    • MUST-READ: findById() in Sequelize 5
    • Retrieving Data & Finding Products
    • Getting a Single Product with the "where" Condition
    • Fetching Admin Products
    • Updating Products
    • Deleting Products
    • Creating a User Model
    • Adding a One-To-Many Relationship
    • Creating & Managing a Dummy User
    • Using Magic Association Methods
    • Fetching Related Products
    • One-To-Many & Many-To-Many Relations
    • Creating & Fetching a Cart
    • Adding New Products to the Cart
    • Adding Existing Products & Retrieving Cart Items
    • Deleting Related Items & Deleting Cart Products
    • Adding an Order Model
    • Storing Cart items as Order items
    • Resetting the Cart & Fetching and Outputting Orders
    • Wrap Up
    • Useful Resources & Links
  • Working with NoSQL & Using MongoDB
    • Module Introduction
    • What is MongoDB?
    • Relations in NoSQL
    • Setting Up MongoDB
    • Installing the MongoDB Driver
    • Creating the Database Connection
    • Finishing the Database Connection
    • Using the Database Connection
    • Creating Products
    • Understanding the MongoDB Compass
    • Fetching All Products
    • Fetching a Single Product
    • Making the "Edit" & "Delete" Buttons Work Again
    • Working on the Product Model to Edit our Product
    • Finishing the "Update Product" Code
    • One Note About Updating Products
    • Deleting Products
    • Fixing the "Add Product" Functionality
    • Creating New Users
    • Storing the User in our Database
    • Working on Cart Items & Orders
    • Adding the "Add to Cart" Functionality
    • Storing Multiple Products in the Cart
    • Displaying the Cart Items
    • Fixing a Bug
    • Deleting Cart Items
    • Adding an Order
    • Adding Relational Order Data
    • Getting Orders
    • Removing Deleted Items From the Cart
    • Wrap Up
    • Useful Resources & Links
    • Two Adjustments (behind the scenes)
  • Working with Mongoose
    • Module Introduction
    • What is Mongoose?
    • Connecting to the MongoDB Server with Mongoose
    • Creating the Product Schema
    • Saving Data Through Mongoose
    • Fetching All Products
    • Fetching a Single Product
    • Updating Products
    • Deleting Products
    • Adding and Using a User Model
    • Using Relations in Mongoose
    • One Important Thing About Fetching Relations
    • Working on the Shopping Cart
    • Loading the Cart
    • Deleting Cart Items
    • Creating & Getting Orders
    • Storing All Order Related Data
    • Clearing the Cart After Storing an Order
    • Getting & Displaying the Orders
    • Wrap Up
    • Useful Resources & Links
  • Sessions & Cookies
    • Module Introduction
    • What is a Cookie?
    • The Current Project Status
    • Optional: Creating the Login Form
    • Adding the Request Driven Login Solution
    • Setting a Cookie
    • Manipulating Cookies
    • Configuring Cookies
    • What is a Session?
    • Initializing the Session Middleware
    • Using the Session Middleware
    • Using MongoDB to Store Sessions
    • Sessions & Cookies - A Short Summary
    • Time to Practice - Sessions and Cookies
    • 1 question
    • Deleting a Cookie
    • Fixing Some Minor Bugs
    • Making "Add to Cart" Work Again
    • Two Tiny Improvements
    • Wrap Up
    • Code Adjustments
    • Useful Resources & Links
  • Adding Authentication
    • Module Introduction
    • What is Authentication?
    • How is Authentication Implemented?
    • Our Updated Project Status
    • Implementing an Authentication Flow
    • Encrypting Passwords
    • Adding a Tiny Code Improvement
    • Adding the Signin Functionality
    • Working on Route Protection
    • Using Middleware to Protect Routes
    • Understanding CSRF Attacks
    • Using a CSRF Token
    • Adding CSRF Protection
    • Fixing the Order Button
    • Providing User Feedback
    • Optional: Styling Error Messages
    • Finishing the Flash Messages
    • Adding Additional Flash Messages
    • Wrap Up
    • Useful Resources & Links
  • Sending Emails
    • Module Introduction
    • How Does Sending Emails Work?
    • Using SendGrid
    • Using Nodemailer to Send an Email
    • Potential Limitation for Large Scale Apps
    • Useful Resources & Links
  • Advanced Authentication
    • Module Introduction
    • Resetting Passwords
    • Implementing the Token Logic
    • Creating the Token
    • Creating the Reset Password Form
    • Adding Logic to Update the Password
    • Why we Need Authorization
    • Adding Authorization
    • Adding Protection to Post Actions
    • Why Editing Fails
    • Wrap Up
    • Useful Resources & Links
  • Understanding Validation
    • Module Introduction
    • Why Should We Use Validation?
    • How to Validate Input?
    • Setup & Basic Validation
    • Using Validation Error Messages
    • Built-In & Custom Validators
    • More Validators
    • Checking For Field Equality
    • Adding Async Validation
    • Time to Practice - Validation
    • 1 question
    • Keeping User Input
    • Adding Conditional CSS Classes
    • Adding Validation to Login
    • Sanitizing Data
    • Validating Product Addition
    • Validating Product Editing
    • Wrap Up
    • Useful Resources & Links
  • Error Handling
    • Module Introduction
    • Types of Errors & Error Handling
    • Analyzing the Error Handling in the Current Project
    • Errors - Some Theory
    • Throwing Errors in Code
    • Returning Error Pages
    • Using the Express.js Error Handling Middleware
    • Updating the App
    • Using the Error Handling Middleware Correctly
    • Status Codes
    • Available Status Codes
    • Wrap Up
    • Useful Resources & Links
  • File Upload & Download
    • Module Introduction
    • Adding a File Picker to the Frontend
    • Handling Multipart Form Data
    • Handling File Uploads with Multer
    • Configuring Multer to Adjust Filename & Filepath
    • Filtering Files by Mimetype
    • Storing File Data in the Database
    • Remove imageUrl from "Add Product"
    • Serving Images Statically
    • Downloading Files with Authentication
    • Setting File Type Headers
    • Restricting File Access
    • Streaming Data vs Preloading Data
    • Using PDFKit for .pdf Generation
    • Generating .pdf Files with Order Data
    • Deleting Files
    • Fixing Invoice Links
    • Wrap Up
    • Useful Resources & Links
  • Adding Pagination
    • Module Introduction
    • Adding Pagination Links
    • Retrieving a Chunk of Data
    • Skip & Limit with SQL
    • Preparing Pagination Data on the Server
    • Adding Dynamic Pagination Buttons
    • Re-Using the Pagination Logic & Controls
    • Wrap Up
    • Useful Resources & Links
  • Understanding Async Requests
    • Module Introduction
    • What are Async Requests?
    • Adding Client Side JS Code
    • The JSON Data Format
    • Sending & Handling Background Requests
    • Manipulating the DOM
    • Useful Resources & Links
  • Adding Payments
    • Module Introduction
    • How Payments Work
    • Adding a Checkout Page
    • Using Stripe in Your App
    • Useful Resources & Links
  • Working with REST APIs - The Basics
    • Module Introduction
    • What are REST APIs and why do we use Them?
    • Accessing Data with REST APIs
    • Understanding Routing & HTTP Methods
    • REST APIs - The Core Principles
    • Creating our REST API Project & Implementing the Route Setup
    • Sending Requests & Responses and Working with Postman
    • REST APIs, Clients & CORS Errors
    • Sending POST Requests
    • Wrap Up
    • Useful Resources & Links
  • Working with REST APIs - The Practical Application
    • Module Introduction
    • REST APIs & The Rest Of The Course
    • Understanding the Frontend Setup
    • Planning the API
    • Fetching Lists of Posts
    • Adding a Create Post Endpoint
    • Adding Server Side Validation
    • Setting Up a Post Model
    • Storing Posts in the Database
    • Static Images & Error Handling
    • Fetching a Single Post
    • Image Names & Windows
    • Uploading Images
    • Updating Posts
    • Deleting Posts
    • Adding Pagination
    • Adding a User Model
    • Adding User Signup Validation
    • Signing Users Up
    • How Does Authentication Work?
    • Starting with User Login
    • Logging In & Creating JSON Web Tokens (JWTs)
    • Using & Validating the Token
    • Adding Auth Middleware to All Routes
    • Connecting Posts & Users
    • Adding Authorization Checks
    • Clearing Post-User Relations
    • Time to Practice - Working with REST APIs
    • 1 question
    • Wrap Up
    • Useful Resources & Links
  • Understanding Async Await in Node.js
    • Module Introduction
    • What is Async Await All About?
    • Transforming "Then Catch" to "Async Await"
    • Top-level "await"
    • Time to Practice - Async Await
    • 1 question
    • The User Name is Missing!
    • Wrap Up
    • Useful Resources & Links
  • Understanding Websockets & Socket.io
    • Module Introduction
    • What Are Websockets & Why Would You Use Them?
    • Websocket Solutions - An Overview
    • Setting Up Socket.io on the Server
    • Establishing a Connection From the Client
    • Identifying Realtime Potential
    • Sharing the IO Instance Across Files
    • Synchronizing POST Additions
    • Fixing a Bug - The Missing Username
    • Updating Posts On All Connected Clients
    • Sorting Correctly
    • Deleting Posts Across Clients
    • Wrap Up
    • Useful Resources & Links
  • Working with GraphQL
    • Module Introduction
    • What is GraphQL?
    • Understanding the Setup & Writing our First Query
    • Defining a Mutation Schema
    • Adding a Mutation Resolver & GraphiQL
    • Adding Input Validation
    • Handling Errors
    • Connecting the Frontend to the GraphQL API
    • Adding a Login Query & a Resolver
    • Adding Login Functionality
    • Adding a Create Post Mutation
    • Extracting User Data From the Auth Token
    • Sending the "Create Post" Query
    • Fixing a Bug & Adding New Posts Correctly
    • Adding a "Get Post" Query & Resolver
    • Sending "Create Post" and "Get Post" Queries
    • Adding Pagination
    • Uploading Images
    • Fetching the imageUrl
    • Viewing a Single Post
    • Updating Posts
    • Deleting Posts
    • Adding Posts & Pagination
    • Managing the User Status
    • Using Variables
    • Fixing a Pagination Bug
    • Wrap Up
    • Useful Resources & Links
  • Deploying our App
    • Module Introduction
    • Deploying Different Kinds of Apps
    • Deployment Preparations
    • Using Environment Variables
    • Using Production API Keys
    • Setting Secure Response Headers with Helmet
    • Compressing Assets
    • Setting Up Request Logging
    • More on Logging
    • Setting Up a SSL Server
    • Using a Hosting Provider
    • Understanding the Project & the Git Setup
    • A Deployment Example with Heroku
    • Storing User-generated Files on Heroku
    • Deploying APIs
    • Useful Resources & Links
  • Testing Node.js Applications
    • Module Introduction
    • What is Testing?
    • Why & How?
    • Setup and Writing a First Test
    • Testing the Auth Middleware
    • Organizing Multiple Tests
    • What Not To Test!
    • Using Stubs
    • Testing Controllers
    • Testing Asynchronous Code
    • Setting up a Testing Database
    • Testing Code With An Active Database
    • Cleaning Up
    • Hooks
    • Testing Code That Requires Authentication
    • Wrap Up & Mastering Tests
    • Useful Resources & Links
  • Node.js as a Build Tool & Using npm
    • Module Introduction
    • npm & Node.js
    • Using npm
    • Versioning in package.json
    • What is a Build Tool?
    • Using Node.js in Build Processes
    • Useful Resources & Links
  • Modern JavaScript & NodeJS
    • Module Introduction
    • What is this Module About?
    • Working with ES Modules & Node
    • More on ES Modules
    • Node Core Modules & Promises
    • Module Resources
  • NodeJS & TypeScript
    • Module Introduction
    • TypeScript: What & Why?
    • TypeScript Setup
    • Assigning Types
    • Type Inference & Type Casting
    • Configuring TypeScript
    • Working with Union Types
    • Using Object & Array Types
    • Working with Type Aliases & Interfaces
    • Understanding Generics
    • A First Summary
    • Node & TypeScript: Setup
    • Getting Started with Node and TypeScript
    • Writing TypeScript Express.js Code
    • Adding REST Routes with TypeScript
    • Finishing the REST Routes
    • Testing the API
    • Using Type Casting
    • Moving to a Better Project Structure
    • Wrap Up
    • Module Resources
  • An Introduction to Deno
    • Module Introduction
    • What is Deno?
    • Why Deno?
    • Deno Setup
    • Writing First Deno Code
    • The Deno Runtime (Namespace) API
    • Using the Runtime API
    • Working with Deno Permissions
    • Repeating the Example with Node
    • How Deno Features Are Organized
    • Using the Standard Library
    • Creating a Webserver
    • Using the Oak Framework with Deno
    • More on Module URLs
    • An Example Node REST API
    • Re-building the REST API with Deno
    • Should You Switch From Node to Deno?
    • Module Resources
  • Deno, CRUD & Databases (MongoDB)
    • Module Introduction
    • App Setup
    • Handling CORS Errors
    • Connecting Deno to MongoDB
    • Using the MongoDB Client Module
    • Finishing the Deno MongoDB CRUD Operations
    • Wrap Up
    • Module Resources
  • Roundup
    • Course Roundup
    • Course Slides
    • Bonus: More Content!

پیشنهاد آموزش مرتبط در فرادرس

خرید لینک های دانلود
  • حجم فایل: 19.52GB
  • زبان: انگلیسی
  • زیرنویس انگلیسی: دارد
  • قیمت: 8000 تومان
  • دوره NodeJS - راهنمای کامل (MVC REST APIs ،GraphQL و Deno.js) یک محصول ویژه است و دریافت لینک های دانلود آن با پرداخت هزینه امکان پذیر است. اطلاعات بیشتر