دوره جامع Node JS و Express JS

دوره جامع Node JS و Express JS

نود جی اس یک محیط اجرایی یا runtime سمت سرور برای زبان جاوااسکریپت است. یعنی Node به ما این امکان را میدهد تا با جاوااسکریپت برنامه های سمت سرور و بک اند انواع وبسایت ها و اپلیکیشن ها را توسعه بدیم. یکی از محبوب ترین و پر استفاده ترین فریم های ورک های سمت سرور نیز Express JS است که همراه با Nodeدر این دوره به صورت کامل پوشش داده شده است

3,199,000تومان

توضیحات

Node JS چیست؟

یک محیط اجرای جاوااسکریپت در سمت سرور میباشد که میتوانیم جاوااسکریپت را در خارج از مرورگر و در یک سرور اجرا کنیم و بتوانیم برنامه نویسی سمت سرور باهاش انجام بدیم. در واقع با کمک Node JS میتوانیم بک اند سایت را با جاوااسکریپت پیاده سازی بکنیم

چرا Node JS؟

Node JS این امکان را به ما داده که از طریق جاوااسکریپت به فایل ها دسترسی(i/o) داشته باشیم همچنین با دیتابیس در تعامل باشیم و چون Node JS دارای امکان برنامه نویسی متقارن و نامتقارن (Async/Sync) و همچنین event emitter می باشد باعث میشود که سرعت اجرای برنامه های Node JS به شدت بالا برود. Node JS مقیاس پذیری و پرفورمنس بالا میباشد. جامعه برنامه نویسان Node JS بسیار بزرگ است و گروه ها و فروم های متعددی برای پرسسش و پاسخ دارد. در Node JS ما به تعداد بسیار زیادی از پکیج ها دسترسی داریم که کار ما را بسیار راحتتر و سریعتر میکند

بازار کار؟

Node JS از بازار کار خیلی خوبی برخوردار است و خیلی از استارتاپ ها و کمپانی های بزرگ ایران از Node JS استفاده میکنند. حقوق برنامه نویسان این تکنولوژی از سطح جونیور گرفته تا سینیور عدد قابل توجهی است

پیشنیاز دوره؟

این دوره به هیچ پیشنیاز و دانش برنامه نویسی نیاز ندارد و تمام مباحث از صفر پوشش داده شده است

چه مباحثی در دوره گفته شده است؟

  • جاوااسکریپت از صفر تا پیشرفته

  • Node JS از صفر تا پیشرفته و انجام پروژه Restful api با آن

  • کار با هر سه مدل پایگاه داده SQL ، no-SQL و caching شامل MongoDB و MySQL و Redis

  • آموزش کامل فریم ورک Express JS و انجام پروژه های متعدد با آن که در پایین به آن ها اشاره شده است

  • کار با رمز یکبار مصرف (SMS)

  • آموزش GraphQL

  • آموزش Socket.io

  • فریم ورک Fastify

  • کار با فریم ورک Koa.js

  • آموزش Elastic search

  • و …

مزیت های دوره:

این دوره جامع و کامل هست به صورتی که دانشجو با شرکت در این دوره نیاز به هیچ دوره دیگری نخواهد داشت و در همین دوره با Node JS و تکنولوژی های آن به صورت پروژه محور آشنا میشود

پروژه ها:

  • سیستم Restful api همراه با آپلود فایل در pure Node JS

  • پروژه مشابه دیوار با جزئی تریت امکانات و به همراه قالب و تمپلیت آن با ExpressJS و MongoDB

  • آموزش کامل MySQL و Sequelize

  • وبسایت فروشگاهی، کار با درگاه پرداخت و رمز یکبار مصرف(SMS)

  • اضافه کردن Elastic Search به پروژه فروشگاهی

  • وبلاگ و سیستم مدیریت محتوا(CMS)

  • سیستم پیامرسان با Redis و Socket.io

  • اضافه کردن پروژه کار با GraphQL درسیستم فروشگاهی

  • Design Pattern ها در Node js و جاوااسکریپت

  • پیاده سازی ساختار یک پروژه با MySQL

  • پیاده سازی پروژه مشاور املاک با Fastify با امکاناتی مانند پیدا کردن ملک در محدوده، افزودن آگهی و …

فصل های دوره

فصل اول

آموزش مقدماتی تا پیشرفته جاوا اسکریپت

  • 1

    برنامه نویسی چیست ؟

  • 2

    نیاز مندی های شروع برنامه نویسی جاوااسکریپت

  • 3

    دیتا تایپ ها

  • 4

    متغیر ها

  • 5

    اعداد و عملیات مربوطه

  • 6

    رشته ها

  • 7

    مقادیر بولی

  • 8

    عبارات شرطی

  • 9

    null vs undefined

  • 10

    عملگر های شرطی

  • 11

    truthy and falsy

  • 12

    عبارات منطقی

  • 13

    قوانین اسم گذاری متغیر ها

  • 14

    switch case

  • 15

    ternery operator

  • 16

    حلقه تکرار for

  • 17

    حلقه تکرار for بخش دوم

  • 18

    تمرین یک با حلقه ها

  • 19

    تشخیص کامل بودن یک عدد

  • 20

    تشخیص عدد اول

  • 21

    حلقه ی while و do-while

  • 22

    عملگر های ریاضی

  • 23

    توابع بخش اول

  • 24

    توابع بخش دوم

  • 25

    توابع بخش سوم

  • 26

    توابع بخش چهارم

  • 27

    توابع بخش پنجم

  • 28

    arrow functions

  • 29

    متغیر های محلی و عمومی

  • 30

    مقادیر پیش فرض و continue - break

  • 31

    آرایه ها

  • 32

    ارایه ها بخش دوم

  • 33

    متد آرایه ها

  • 34

    حلقه for و for-in در ارایه ها

  • 35

    متد splice

  • 36

    متد ارایه ها بخش دوم

  • 37

    متد ارایه ها بخش سوم

  • 38

    متد ارایه ها بخش چهارم

  • 39

    متد map

  • 40

    مرتب سازی ارابه ها

  • 41

    متد ارایه ها بخش پنجم

  • 42

    آبجکت ها

  • 43

    ابجکت ها بخش دوم

  • 44

    دسترسی به پراپرتی های یک ابجکت

  • 45

    ابجکت ها بخش سوم

  • 46

    حلقه ی for-in در ابجکت ها

  • 47

    متد assign

  • 48

    متد های ابجکت

  • 49

    شی JSON

  • 50

    rest - spread

  • 51

    مفهوم Hoisting

  • 52

    IIFE

  • 53

    کلوژر ها

  • 54

    تایمر ها

  • 55

    پرامیس ها

  • 56

    ماژول های Es6

  • 57

    مینی پروژه بخش اول

  • 58

    مینی پروژه بخش دوم

  • 59

    مینی پروژه بخش سوم

  • 60

    مینی پروژه بخش چهارم

  • 61

    مینی پروژه بخش پنجم

  • 62

    کلاس ها

  • 63

    کلاس ها بخش دوم

  • 64

    access-modify

  • 65

    getter ها و setter ها در کلاس ها

  • 66

    ارث بری در کلاس ها

  • 67

    ارث بری در کلاس ها بخش دوم

  • 68

    override در کلاس ها

  • 69

    static method

  • 70

    پلی مورفیسم

  • 71

    مدیریت خطاها در جاوااسکریپت

فصل دوم

آموزش Node JS

  • 1

    نود جی اس چیست ؟

  • 2

    ایجاد فایل package.json و دستور npm init

  • 3

    گلوبال آبجکت یا آبجکت سراسری

  • 4

    ماژول ها و مبحث CommonJS

  • 5

    ماژول ها بخش دوم مبحث ESM

  • 6

    انواع مختلف ماژول ها

  • 7

    تفاوت وب 1 و وب 2 در دنیای برنامه نویسی

  • 8

    ماژول http

  • 9

    کدهای وضعیت یا status Codes

  • 10

    ماژول nodemon

  • 11

    انواع مختل content-type صفحات

  • 12

    شروع مینی پروژه مدیریت محصولات

  • 13

    مسیر یابی یا route ها در مینی پروژه مدیریت محصول

  • 14

    Api چیست ؟

  • 15

    ایجاد کردن اولین مدل و کنترلر در مینی پروژه مدیریت محصول

  • 16

    مدل چندلایه یا MVC model

  • 17

    عبارات منظم یا regular-experssion

  • 18

    عبارات منظم بخش دوم

  • 19

    تایید نام کاربری در عبارات منظم

  • 20

    تعیین ایمیل و شماره موبایل در عبارات منظم

  • 21

    نحوه ی استفاده از عبارات منظم در جاوااسکریپت

  • 22

    ادامه ی بحث مینی پروژه مدیریت محصولات و پیدا کردن محصول بر اساس ایدی

  • 23

    انواع متد های httpRequest

  • 24

    ایجاد کردن محصول جدید

  • 25

    ماژول fs و خواندن فایل ها

  • 26

    نوشتن در فایل ها

  • 27

    متد های مختلف کار با فایل ها

  • 28

    کار با پوشه ها

  • 29

    ایجاد کردن محصول و خیره کردن در فایل ها

  • 30

    به روز رسانی محصول

  • 31

    حذف محصول

  • 32

    تمیز کردن کد های مربوط به مینی پروژه بخش پایانی

  • 33

    پایان پروژه و نکته نهایی

  • 34

    دیتابیس یا پایگاه داده چیست

  • 35

    نصب مونگو دیبی و ازار های مرتبط

  • 36

    اتصال به دیتابیس با ماژول mongodb

  • 37

    متد insertOne در مونگو دیبی

  • 38

    متد insertMany در مونگو دیبی

  • 39

    متد deleteOne در مونگو دیبی

  • 40

    متد deleteMany در مونگو دیبی

  • 41

    متد findOneAndDelete در مونگو دیبی

  • 42

    دستورات و کوئری های مختلف find در دیتابیس

  • 43

    متد findOne در مونگو دیبی

  • 44

    متد updateOne و عملگر های بروزرسانی در مونگو دیبی

  • 45

    متد های updateMany و findOneAndUpdate در مونگو دیبی

  • 46

    آپشن های متد find - findOne مانند projection - skip- limit - sort در مونگو دیبی

  • 47

    متد aggregate در مونگو دیبی

  • 48

    دیزاین پترن چیست؟

  • 49

    دیزاین پترن سینگلتون برای ارتباط دیتابیس

  • 50

    تبدیل مدل فایل مینی پروژه ی مدیریت محصولات به دیتابیس مونگو دیبی

  • 51

    تبدیل مدل مینی پروژه بخش دوم

  • 52

    فیکس باگ های احتمالی بعد تبدیل مدل

  • 53

    ماژول path

  • 54

    ماژول path بخش دوم

  • 55

    ماژول os

  • 56

    بافر ها و جریان(stream) ها چیست؟

  • 57

    نوع داده ای بافر در نود جی اس

  • 58

    بافر ها در نود جی اس بخش دوم

  • 59

    متد مربوط به readStream

  • 60

    متد مربوط به writeStream

  • 61

    جریانات و pipes

  • 62

    راه ندازی استریم از ترمینال به فایل

  • 63

    راه اندازی استریم ویدیو از بک اند به فرانت اند

  • 64

    بارگذاری یا اپلود فایل در نود جی اس با ماژول multiparty

فصل سوم

آموزش فریم ورک Express

  • 1

    مقایسه ی کتابخانه و فریم ورک

  • 2

    ساخت اولین سرور با فریم ورک اکسپرس

  • 3

    مسیریابی ها بخش اول

  • 4

    مسیریابی ها بخش دوم

  • 5

    پارامتر ها در مسیر یابی بخش اول

  • 6

    پارامتر ها در مسیر یابی بخش دوم

  • 7

    عبارات منظم در مسیریابی بخش اول

  • 8

    عبارات منظم در مسیریابی بخش دوم

  • 9

    آدرس صفحه وب یا URL چیست؟

  • 10

    استفاده از queryString

  • 11

    جستجو در مقالات به کمک queryString

  • 12

    ارسال و دریافت اطلاعات از طریق body

  • 13

    میان افزار یا middleware چیست ؟

  • 14

    میدلویر ها بخش اول

  • 15

    میدلویر ها بخش دوم

  • 16

    میدلویر morgan در اکسپرس

  • 17

    میدلویر camelCase در اکسپرس

  • 18

    میدلویر omitEmpty در اکسپرس

  • 19

    مدیریت خطای 404 در اکسپرس

  • 20

    مدیریت خطاهای پیش آمده در اکسپرس

  • 21

    موتور قالب یا template engine چیست؟

  • 22

    تمپلیت انجین pug بخش اول

  • 23

    تمپلیت انجین pug بخش دوم

  • 24

    استاتیک فایل ها در اکسپرس

  • 25

    ارسال دیتا ها و متغیر ها در pug

  • 26

    حلقه ها در تمپلیت انجین pug

  • 27

    ایجاد partials در تمپلیت انجین pug

  • 28

    ایجاد partials در تمپلیت انجین pug بخش دوم

  • 29

    تمپلیت انجین hbs و تبدیل قالب html به hbs

  • 30

    ایجاد partials در تمپلیت انجین hbs

  • 31

    متغیر ها.و حلقه ها در hbs

  • 32

    تمپلیت انجین ejs

  • 33

    ایجاد partials در تمپلیت انجین ejs

  • 34

    حلقه ها و متغیر ها در تمپلیت انجین ejs

  • 35

    نکات پایانی در مورد تمپلیت انجین ها

  • 36

    بحث orm ها و odm ها

  • 37

    اتصال به mongodb از طریق odm مونگوس mongoose

  • 38

    ایجاد کردن مدل و اسکیما در mongoose

  • 39

    ذخیره دایکیومنت با متد create در مانگوس

  • 40

    اعتبار سنجی اسکیما ها. و مدل ها از طریق مانگوس

  • 41

    ذخیره دایکیومنت در مانگوس از طریق ایجاد نمونه جدید از مدل مربوطه

  • 42

    متد insertMany در mongoose

  • 43

    متد find در mongoose

  • 44

    متد findOne در mongoose

  • 45

    متد deleteOne-many در mongoose

  • 46

    به روز رسانی دیتا ها در mongoose

  • 47

    متد updateOne-findOneAndUpdate در mongoose

  • 48

    نکات پایانی در mongoose

  • 49

    اعتبار سنجی دیتا ها با پکیج express-validator

  • 50

    اعتبار سنجی فرم ورود با express-validator

  • 51

    اعتبار سنجی فرم ثبت نام با express-validator

  • 52

    اعتبار سنجی سفارشی یا custom در express-validator

  • 53

    استفاده از express-validator برای اعتبار سنجی query و param

  • 54

    اعتبار سنجی فرم ورود با express-validation

  • 55

    مدیریت خطا در express-validation

  • 56

    اعتبار سنجی فرم ثبت نام با express-validation بخش اول

  • 57

    اعتبار سنجی فرم ها با پکیج joi

  • 58

    اعتبار سنجی فرم ها با پکیج validate

  • 59

    اعتبار سنجی فرم ها با پکیج validate بخش دوم

  • 60

    آپلود فایل در اکسپرس با استفاده از مولتر

  • 61

    آپلود فایل با مولتر بخش دوم

  • 62

    اعتبار سنجی فرمت فایل ها در مولتر موقع بارگذاری

  • 63

    اعتبار سنجی سایز فایل ها در مولتر

  • 64

    آپلود آرایه ای از فایل ها در مولتر

  • 65

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

  • 66

    آپلود فایل با express-fileupload و ذخیره ان با بافر ها

  • 67

    بارگذاری قایل با express-fileupload و متد mv

  • 68

    تبدیل اسکریپت آپلود فایل یه یک اسکریپت پرامیس

  • 69

    مسیریابی و متد Router در اکسپرس

  • 70

    مسیریابی و افزودن میدلویر به مسیر هاای مختلف

  • 71

    جداکردن کنترلر ها از مسیر ها به صورت فانکشنال

  • 72

    جداکردن کنترلر ها از مسیر ها به صورت OOP

  • 73

    افزودن ایکون به مرورگر با کمک favicon

  • 74

    دسترسی به فایل های یک پوشه ی خاص با کمک serve-index

  • 75

    ذخیره کردن کوکی ها در اکسپرس

  • 76

    گرفتن کوکی های مرورگر در اکسپرس

  • 77

    آپشن های ایجاد کردن کوکی بخش اول

  • 78

    آپشن های ایجاد کردن کوکی بخش دوم

  • 79

    آپشن sameSite در کوکی ها

  • 80

    پاک کردن کوکی در اکسپرس

  • 81

    متغیر های محیطی یا environment-variables در نود جی اس

  • 82

    جدا کردن env های محیط توسعه و پروداکشن از همدیگر

  • 83

    هش چیست؟! هش کردن رمز عبور با پکیج crypto

  • 84

    اعتبار سنجی رمز عبور هش شده در crypto

  • 85

    متد createHash در crypto

  • 86

    متد createHmac در crypto

  • 87

    هش کردن و اعتبار سنجی رمز عبور با bcrypt

  • 88

    نکاتی درمورد bcrypt

  • 89

    پکیج های sha1 و md5 برای هش کردن

  • 90

    هش کردن محتوای یک فایل با crypto و md5

  • 91

    jwt چیست؟

  • 92

    ایجاد توکن از نوع jwt

  • 93

    ایجاد توکن از نوع jwt و با الگوریتم های RSA

  • 94

    اعتبار سنجی و دیکد کردن توکن های jwt

  • 95

    استراتژی basic

  • 96

    استراتژی bearer

  • 97

    استراتژی api-key

  • 98

    دیگر استراتژی ها

  • 99

    شروع مینی پروژه اعتبار سنجی (ورود و ثبت نام)بخش اول (راه اندازی سرور و مدل کاربر)

  • 100

    مینی پروژه 1 بخش دوم (ثبت نام)

  • 101

    مینی پروژه 1 بخش سوم (هش کردن رمز عبور)

  • 102

    مینی پروژه 1 بخش چهارم (ورود به حساب)

  • 103

    مینی پروژه 1 بخش پنجم (میدلویر اعتبار سنجی)

  • 104

    مینی پروژه 1 فیکس کردن باگ های موجود

  • 105

    نکات پایانی پروژه 1

  • 106

    دموی مینی پروژه ی دوم (سیستم اعتبار سنجی) با passport.js

  • 107

    مینی پروژه 2 بخش اول راه اندازی و کانفیگ اولیه اپلیکیشن

  • 108

    مینی پروژه 2 بخش دوم راه اندازی سیستم مسیریابی و رندر کردن صفحات html

  • 109

    مینی پروژه 2 بخش سوم متد ثبت نام

  • 110

    مینی پروژه 2 بخش چهارم نمایش خطاها با پکیج flash

  • 111

    مینی پروژه 2 بخش پنجم کانفیگ ها و راه اندازی passport و استراتژی local

  • 112

    مینی پروژه 2 بخش ششم کانفیگ passport در فایل app.js و میدلویر اعتبارسنجی برای ورود کاربر

  • 113

    مینی پروژه 2 بخش آخر فیکس کردن باگ های موجود

فصل چهارم

انجام پروژه مشابه وبسایت دیوار به صورت فول استک

  • 1

    1- مقدمات شروع فصل 4

  • 2

    2- تنظیمات مونگودیبی و dotenv

  • 3

    3- تنظیمات و کانفیگ های مربوط به سواگر

  • 4

    4- ساخت مدل یوزر

  • 5

    5- بخش اول احراز هویت

  • 6

    6- ارسال کد تایید برای کاربر

  • 7

    7پیاده سازی بخش سواگر مرب،ط به ارسال کد تایید یا otp-

  • 8

    8- مدیریت خطاها

  • 9

    9- بخش بررسی کدتایید check-otp

  • 10

    10- ایجاد توکن احراز هویت

  • 11

    11- نگهداری توکن ها در داخل کوکی مرورگر

  • 12

    12- خواندن و وریفای توکن در داخل کوکی ها

  • 13

    13- ایجاد ماژول یوزر و گرفتن اطلاعات کاربر

  • 14

    14- لاگ اوت یا خروج از وبسایت

  • 15

    15- ایجاد اسکیمای دسته بندی ها

  • 16

    16- ایجاد سواگر بخش دسته بندی

  • 17

    17- کنترلر مربوط به دسته بندی ها

  • 18

    18- ایجاد دسته بندی برای کاربر ها

  • 19

    19- گرفتن دسته بندی به صورت تو دو تو

  • 20

    20 - ایجاد اسکیمای مربوط به آگهی ها

  • 21

    21- ساخت اسکیمای مربوط به آپشن های دسته بندی

  • 22

    22- ساخت سواگر مربوط به آپشن ها

  • 23

    23- ساخت فایل مربوط به کنترلر ها و سرویس های آپشن

  • 24

    24- ساخت آپشن جدید

  • 25

    25- گرفتن لیست آپشن ها و انجام populate

  • 26

    26- پیدا کردن آپشن با ایدی و گرفتن آپشن های یک دسته بندی

  • 27

    27- گرفتن آپشن های یک دسته بندی با کمک اسلاگ

  • 28

    28- حذف کردن آپشن با آیدی

  • 29

    29- اجباری بودن آپشن ها

  • 30

    30 - ادامه ی ذخیره کردن آپشن ها

  • 31

    31- به روزرسانی آپشن ها

  • 32

    32- حذف کردن دسته بندی

  • 33

    33- نصب و راه اندازی ejs

  • 34

    34- اضافه کردن layout داشبورد به پروژه

  • 35

    35- راست چین کردن پنل مدیریت

  • 36

    36- آماده کردن ادمین پنل برای استفاده در بک اند

  • 37

    37 - اضافه کردن تمپلیت صفحه اصلی

  • 38

    38- اضافه کردن تمپلیت مربوط ورود و ثبت نام

  • 39

    39 - بررسی وبسایت دیوار جهت ایجاد آگهی جدید

  • 40

    40- متد ایجاد آگهی جدید

  • 41

    41- نمایش دسته بندی ها قبل از ایجاد آگهی جدید

  • 42

    42- بررسی و ایجاد آپشن های دسته بندی

  • 43

    43-ایجاد فرم ایجاد آگهی بر اساس دیتای موجود در آپشن ها

  • 44

    44- فیکس کردن باگ موجود در نمایش فرم

  • 45

    45- نمایش نقشه در صفحه ایجاد آگهی و گرفتن موقعیت طول و عرض جغرافیایی کاربر

  • 46

    46-اضافه کردن مولتر و مشخص کردن روت ایجاد آگهی

  • 47

    47-دریافت اطلاعات مربوط به آگهی از طریق فرم پنل

  • 48

    48-دیکد کردن دیتای فرم ها با کمک ست کردن charset

  • 49

    49-اضافه کردن api مربوط به گرفتن آدرس کاربر از طریق lat - lng

  • 50

    50 - تمیز کردن کدها در بخش ایجاد آگهی

  • 51

    51- تنظیمات مربوط به multer برای آپلود فایل

  • 52

    52 - بارگذاری تصاویر و دیکد کردن دیتاها

  • 53

    53- نمایش لیست آگهی ها در ادمین پنل

  • 54

    54- اضافه کردن پکیج moment در ejs و استفاده از آن در فرانت اند

  • 55

    55- فیلتر کردن لیست آگهی ها در پنل کاربری بر اساس کاربر لاگین شده

  • 56

    56- فیکس کردن خطای نمایش آگهی ها

  • 57

    57-حذف آگهی براساس آیدی

  • 58

    58-حذف آگهی بخش دوم و نمایش پیغام در پنل کاربر

  • 59

    59-اضافه کردن methodoverride در اکسپرس

  • 60

    60 نمایش جزئیات آگهی در صفحه اصلی

  • 61

    61-اضافه کردن سوییت آلرت در صفحه اصلی برای نمایش مودال ها

  • 62

    62- تماس با آگهی دهنده در صفحه اصلی و نمایش شماره تماس آگهی دهنده

  • 63

    63-نمایش تمامی آگهی ها در صفحه اصلی

  • 64

    64-فیلتر و جستجوی حرفه ای در بخش لیست آگهی ها

  • 65

    65 - سخن پایانی در مورد فصل چهارم و ادامه ی مسیر

فصل پنجم

پروژه فروشگاهی فروش دوره آموزشی و محصولات فیزیکی

  • 1

    شروع پروژه ی فروشگاهی و پیاده کردن ساختار و کانفیگ اولیه ی اپلیکیشن

  • 2

    ایجاد مسیر های پروژه و کانفیگ آن

  • 3

    ساخت مدل ها و اسکیماهای دیتابیس با mongoose

  • 4

    افزودن پکیج morgan به برنامه و کانفیگ اتصال دیتابیس

  • 5

    افزودن http-errors و شروع بخش authentication و اعتبار سنجی داده ها با @hapi/joi

  • 6

    نمایش متن دلخواه خطا در joi و استفاده از ریجکس در joi

  • 7

    نصب و راه اندازی سواگر در پروژه و ایجاد اولین روت

  • 8

    پیاده کردن بخش ورود با روش OTP رمز یکبار مصرف و همچنین مستند کردن در سواگر

  • 9

    بررسی رمز یکبار مصرف و ایجاد اکسس توکن و مستند سازی با سواگر

  • 10

    اعتبار سنجی accessToken و ایجاد secret key با پکیج crypto

  • 11

    مفهوم refresh Token و پیاده سازی، اعتبار سنجی و استفاده از RefreshToken

  • 12

    نصب ردیس در ویندوز و نیازمندی های اون مانند WSL2 (windows subsysyem linux)

  • 13

    دانلود و نصب داکر در ویندوز و نصب ردیس روی داکر و کانفیگ و راه اندازی آن در اکسپرس

  • 14

    ایجاد کردن بلک لیست برای رفرش توکن ها و استفاده از ردیس در سیستم احراز هویت

  • 15

    ایجاد کردن بخش Developer-Routes در سواگر و ایجاد رمز هش شده و عدد تصادفی

  • 16

    ساخت بخش دسته بندی ها و ذخیر دسته بندی و مستند سازی با سواگر

  • 17

    ادامه بخش دسته بندی ها گرفتن دسته بندی ها با استفاده از lookup

  • 18

    گرفتن دسته بندی ها تا یک سطح پیچیدگی و مشخص کردن سطح با شماره با استفاده از graphLookup

  • 19

    نمایش دسته بندی ها به صورت تودرتو تا هر سطحی که مشخص شود و به روز رسانی آن

  • 20

    آموزش نصب و راه اندازی MySQL و phpMyAdmin و توصیف ORM

  • 21

    آموزش MySQL در یک جلسه

  • 22

    نصب و راه اندازی pgAdmin4 و PostgreSQL در داکر و نصب و راه اندازی پریسما در Express.js و ایجاد اولین مدل

  • 23

    حل مشکل اجرا شدن پریسما و انجام عملیات های دیتابیسی

  • 24

    پیاده کردن عملیاد crud در پریسما و پیاده کردن بخش بلاگ و عملیات جوین گرفتن در پریسما و بخش پایانی

  • 25

    شروع برنامه نویسی وبلاگ حرفه ای فروشگاه با مونگوس و دایکیومنت کردن با سواگر

  • 26

    آپلود تصویر بلاگ با استفاده از مولتر و سواگر و همچنین تبدیل متن برچسب ها به آرایه

  • 27

    ذخیره ی مسیر و اسم فایل در میدلویر مولتر و همچنین اعمال فیلتر روی فرمت فایل ها

  • 28

    اعمال فیلتر سایز روی اپلود فایل در مولتر و گرفتن لیست بلاگ ها و دریافت مشخصات نویسنده و دسته بندی از طریق lookup

  • 29

    نمایش مشخصات نویسنده بلاگ و دسته بندی با استفاده از populate و عملیات حذف بلاگ

  • 30

    به روز رسانی مشخصات بلاگ و پیاده کردن عملیات آن

  • 31

    بررسی سطح دسترسی کاربر و مجوز ثبت بلاگ

  • 32

    ادامه ی توسعه سواگر با استفاده از openapi و ایجاد اسکیماها

  • 33

    پیاده کردن قسمت authorization Token با سواگر و ایجاد اسکیمای بلاگ ها

  • 34

    ایجاد یکسری تغییرات و جدا کردن اسکیمای products و courses از همدیگه

  • 35

    پیاده کردن روت و اسکیمای بخش افزودن محصول و ارسال داده ها برای پردازش

  • 36

    اعتبار سنجی و ذخیره محصول در دیتابیس

  • 37

    بارگذاری آرایه ای از تصاویر یا تصاویر محصول با مولتر

  • 38

    یکسری تغییرات جزیی در ادامه ی روند دوره

  • 39

    پیدا کردن محصول بر اساس شناسه

  • 40

    پیدا کردن محصول بر اسا ایدی (بخش سواگر)

  • 41

    حذف محصول براساس ایدی

  • 42

    انجام یکسری کانفیگ و تنظیمات در فایل پکیج.جیسون

  • 43

    استفاده از httpStatus و جلوگیری از هارد کد

  • 44

    ایندکس گذاری و جستجو در دیتابیس با مونگوس

  • 45

    ویرایش محصول (بخش سواگر)

  • 46

    ویرایش محصول - بک اند(بخش اول)

  • 47

    ویرایش محصول - بک اند(بخش دوم)

  • 48

    ویرایش محصول - بک اند(بخش سوم)

  • 49

    شروع برنامه نویسی بخش دوره ها

  • 50

    پیاده کردن روت ها و بخش های اولیه بخش دوره ها

  • 51

    گرفتن لیست کامل دوره ها

  • 52

    جستجو و ایندکس گذاری کردن در دوره ها با مانگوس و اکسپرس

  • 53

    پیاده کردن اسکیمای و سواگر بخش افزودن دوره

  • 54

    ایجاد کردن لیست بازشو در سواگر

  • 55

    ایجاد کردن و ذخیره ی دوره

  • 56

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

  • 57

    جداسازی کد های سواگر در فایل های جدید

  • 58

    تعیین تعاریف و اسکیما برای ریسپانس ها

  • 59

    برطرف کردن اشتباه موجود در قالب ریسپانس ها

  • 60

    ایجاد اسکیمای خروجی مناسب در سواگر برای ریسپانس ها

  • 61

    ایجاد چند تا خروجی مناسب برای ریسپانس ها

  • 62

    ایجاد و ذخیره کردن فصل های دوره (بخش کنترلر)

  • 63

    ایجاد و ذخیره کردن فصل های دوره (بخش روتر و سواگر)

  • 64

    پوشه بندی کنترلر ها

  • 65

    جداکردن بخش فصل ها از دوره ها رعایت اصل SRP

  • 66

    جداکردن سواگر بخش فصل ها

  • 67

    گرفتن لیست سر فصل ها بخش کنترلر

  • 68

    ساخت بخش روتر و سواگر بخش فصل ها

  • 69

    پیدا کرن فصل بخش بک اند

  • 70

    حذف کردن فصل

  • 71

    حذف کردن فصل بخش دوم

  • 72

    به روزرسانی فصل بخش کنترلر

  • 73

    به روزرسانی فصل بخش سواگر (بخش دوم)

  • 74

    اعمال populate روی دسته بندی ها و مدرس دوره

  • 75

    ایجاد و شروع بخش اپیزود ها

  • 76

    ساخت اسکیما برای اعتبار سنجی اپیزود ها

  • 77

    بخش سواگر برای اپیزود ها

  • 78

    بارگذاری ویدیو و گرفتن تایم ویدیو هم در فرانت اند هم بک اند

  • 79

    ذخیره ی اپیزود در دیتابیس و فرمت دهی به تایم ها

  • 80

    حذف اپیزود بخش سواگر و کنترلر

  • 81

    ویرایش اپیزود بخش ها سواگر - روتر - کنترلر

  • 82

    فیکس کردن باگ ویرایش اپیزود

  • 83

    ایجاد فیلد جدید با مقادیر دیتابیس هنگام فچ کردن دیتاها با استفاده از virtual

  • 84

    ادامه ی بخش virtuals

  • 85

    به روزرسانی دوره بخش اول

  • 86

    به روزرسانی دوره بخش دوم

  • 87

    محاسبه ی زمان ویدیو های هر فصل

  • 88

    رفع باگ محاسبه ی زمان ویدیو ها

  • 89

    ایجاد کردن بخش کاربران

  • 90

    گرفتن لیست کاربران و ایندکس گذاری جهت سرچ کردن

  • 91

    به روزرسانی پروفایل

  • 92

    سواگر به روزرسانی پروفایل کاربر

  • 93

    RBAC چیست؟

  • 94

    ایجاد بخش role ها

  • 95

    ایجاد کردن سواگر role ها و permission ها

  • 96

    گرفتن لیست نقش ها

  • 97

    ایجاد کردن رول یا نقش جدید

  • 98

    ولیدیشن کردن permission ها و گرفتن لیست پرمیژن ها

  • 99

    ایجاد کردن permission جدید

  • 100

    حذف کردن role با ایدی و عنوان آن

  • 101

    حذف permission با ایدی

  • 102

    ویرایش role و اضافه کردن فیلد توضیحات رول

  • 103

    به روزرسانی permissions

  • 104

    ایجاد گارد برای سطوح دسترسی با استفاده از میدلویر ها

  • 105

    ایجاد کردن دسترسی ها

  • 106

    ویرایش استراتژی دسترسی ها

  • 107

    رفع باگ بخش دسترسی ها

  • 108

    نحوه ی دسترسی دادن به پروفایل کاربر

  • 109

    اتمام فصل پنجم و توضیحات پایانی

فصل ششم

پیاده سازی بخش API مربوط به صفحات اصلی وبسایت با گراف کیوال GraphQL

  • 1

    گراف کیوال چیست؟

  • 2

    نصب و کانفیگ گراف کیوال

  • 3

    اولین مثال و کوئری در گراف کیوال

  • 4

    ایجاد تایپ و گرفتن لیست بلاگ ها

  • 5

    ایجاد کردن تایپ برای گرافتن دسته بندی ها

  • 6

    دایکیومنت کردن کوئری ها و گرفتن لیست محصولات

  • 7

    گرفتن لیست دسته بندی ها بخش دوم

  • 8

    کارکردن با آرگمان ها در گراف کیوال و گرفتن زیر دسته بندی ها

  • 9

    گرفتن زیر دسته ها بخش دوم و ارسال هدر در گراف کیوال

  • 10

    اعتبار سنجی کاربر در گراف کیوال بخش اول

  • 11

    اعتبار سنجی کاربر در گراف کیوال بخش دوم

  • 12

    اعتبار سنجی کاربر در گراف کیوال بخش سوم

  • 13

    ساخت anytype در گراف کیوال (هیچ جا پیدانمیشه و سعی کن فقط استفادش کنی خودمم نمیدونم چطور ساختش)

  • 14

    گرفتن لیست دوره ها و ایجاد نوع برای فصل ها و اپیزود ها

  • 15

    گرفتن بلاگ ها - محصولات و دوره ها بر اساس دسته بندی

  • 16

    نام مستعار و فرگمنت(قطعه) ها در گراف کیوال

  • 17

    ایجاد کردن تایپ برای نظزات بخش اول

  • 18

    ذخیره نظرات بخش دوم

  • 19

    پیدا کردن و گرفتن تک نظر(کامنت)

  • 20

    اعتبار سنجی نظر قبل از ذخیره

  • 21

    ذخیره ی پاسخ های یک نظر

  • 22

    ذخیره ی پاسخ برای نظر بخش دوم

  • 23

    ثبت کامنت (نظرات) برای دوره ها

  • 24

    ثبت نظر برای محصولات

  • 25

    لایک کردن بلاگ ها و دایکیومنت کردن موتیشن ها

  • 26

    لایک کردن بخش دوم

  • 27

    لایک کردن بخش سوم

  • 28

    دیس لایک کردن محصولات

  • 29

    دیس لایک کردن مقاله و دوره ها

  • 30

    بوک مارک کردن یا ایجاد لیست علاقه مندی های مقالات - دوره ها - محصولات

  • 31

    گرفتن لیست علاقه مندی های کاربر

  • 32

    پیاده کردن اسکیمای سبد خرید و ریزالور آن

  • 33

    اضافه کردن محصول به سبد خرید

  • 34

    اضافه کردن دوره به سبد خرید

  • 35

    حذف دوره ها و محصولات از سبد خرید

  • 36

    گرفتن سبد خرید کاربر بخش اول

  • 37

    گرفتن سبد خرید کاربر بخش دوم

  • 38

    گرفتن سبد خرید کاربر بخش سوم - استفاده از دهای جاوااسکریپت در مونگو دیبی

  • 39

    اعمال تخفیف برروی سبد خرید

  • 40

    گرفتن مشخصات دوره در سبد خرید

  • 41

    ایجاد فیلد مشخصات پرداخت

  • 42

    رفع باگ و انتقال داده ها در یک متد

  • 43

    سخنان پایانی فصل ششم

فصل هفتم

اتصال و کار با درگاه پرداخت زرین پال

  • 1

    ساخت کد های سواگر و فایل های روت و کنترلر payment

  • 2

    ارسال اطلاعات مورد نظر به سرور زرین پال

  • 3

    اتصال به درگاه پرداخت و ذخیره ی داده های مورد نیاز

  • 4

    بررسی یا وریفای کردن تراکنش هنگام برگشت به callback_url

  • 5

    وریفای کردن تراکنش انجام شده بخش دوم

فصل هشتم

سوکت نویسی و سیستم پیام رسان با سوکت و اکسپرس

  • 1

    معرفی socket.io

  • 2

    آشنایی با websocket

  • 3

    اولین برنامه با سوکت

  • 4

    آپشن های اتصال در سوکت

  • 5

    namespace ها در سوکت

  • 6

    ارسال کوئری و هدر در سوکت

  • 7

    اولین پروژه با سوکت

  • 8

    اولین پروژه با سوکت بخش دوم

  • 9

    میدلویر - join - leave در سوکت

  • 10

    نصب و کانفیگ template engine EJS در اکسپرس

  • 11

    ساخت اسکیمای مکالمه و ایجاد فایل های کنترلر جهت ایجاد namespace ها و room ها

  • 12

    ذخیره ی namespace ها و room ها در دیتابیس

  • 13

    ایجاد اولین کانکشن مربوط به پروژه ی پیام رسان

  • 14

    ارسال namespace ها به کلاینت و نمایش ان در سمت کلاینت

  • 15

    ارسال room ها به کلاینت و نمایش ان در کلاینت

  • 16

    نمایش تصاویر مربوط به اتاق ها

  • 17

    گرفتن اطلاعات مربوط به روم ها

  • 18

    گرفتن تعداد افراد آنلاین در سوکت

  • 19

    فیکس باگ به وجود آمده در گرفتن تعداد افراد آنلاین در سوکت

  • 20

    ارسال پیغام بخش اول

  • 21

    ذخیره پیغام های ارسال شده در دیتابیس

  • 22

    بخش ورود یا لاگین چت روم با ejs و اکسپرس

  • 23

    کانفیگ سشن و کوکی ها در اکسپرس و ذخیره ی توکن در کوکی مرورگر

  • 24

    نمایش و گرفتن اطلاعات کاربر

  • 25

    ارسال پیغام بخش دوم

  • 26

    ارسال پیغام بخش سوم

  • 27

    ارسال لوکیشن کاربر در سوکت

  • 28

    ذخیره ی لوکیشن در دیتابیس

  • 29

    آپلود فایل با استفاده از سوکت

  • 30

    مینی پروژه چت سوکت و ردیس بخش اول

  • 31

    مینی پروژه چت سوکت و ردیس بخش دوم

  • 32

    مینی پروژه چت سوکت و ردیس بخش سوم

فصل نهم

مقیاس پذیری اپلیکیشن های نود جی اسی (پردازش های فرزند و خوشه بندی)

  • 1

    نحوه ی کارکرد نود جی اس و مفهوم event loop

  • 2

    ماژول child-process و استفاده از متد exec

  • 3

    ماژول child-process و استفاده از متد execFile

  • 4

    ماژول child-process و استفاده از متد spawn

  • 5

    ماژول child-process و استفاده از متد fork و تست اپلیکیشن در تعداد ریکوست بالا

  • 6

    معرفی و استفاده از ماژول cluster برای خوشه بندی کردن اپلیکیشن نود جی اسی و تست اپ در تعداد ریکوست بالا

فصل دهم

آموزش کامل الستیک سرچ با پروژه عملی همراه با مفاهیم CQRS

  • 1

    الستیک سرچ چیست؟

  • 2

    آموزش نصب الستیک سرچ در داکر و خارج از داکر

  • 3

    نحوه ی نصب کیبانا برنامه ای برای مدیریت شاخص های الستیک سرچ

  • 4

    ایجاد پروژه ی جدید و چینش ساختار

  • 5

    کانفیگ اتصال به الستیک سرچ و ایجاد ایندکس

  • 6

    حذف ایندکس ها

  • 7

    ایجاد بلاگ و نحوه ی ذخیره اطلاعات در الستیک

  • 8

    بررسی مفاهیم CQRS و توضیح کامل آن

  • 9

    گرفتن لیست بلاگ ها (بازیابی طلاعات و سرچ بر اساس کلمه)

  • 10

    نحوه ی حذف بلاگ (حذف دایکیونت در الستیک سرچ)

  • 11

    به روزرسانی دایکیونت در الستیک روش 1

  • 12

    به روز رسانی دایکیومنت با روش 2

  • 13

    جستجو براساس یک فیلد خاص

  • 14

    جستجو بر اساس چندین فیلد

  • 15

    جستجو با ریجکس

  • 16

    جستجو با ریجکس بر اسا چندین فیلد

  • 17

    اتمام پروژه ی سرچ انجین براساس الستیک سرچ و پایان این فصل

فصل یازدهم

مباحث مربوط به gRPC و میکروسرویس ها به کمک gRPC در nodejs

  • 1

    معرفی فریم ورک و تکنولوژی gRPC و protocol Buffers

  • 2

    بررسی و آموزش کامل سینتکس پروتو بافر ها

  • 3

    ایجاد اولین پروژه gRPC - بخش اول

  • 4

    ایجاد سرور با gRPC - بخش دوم پروژه

  • 5

    ایجاد کردن بخش کلاینت - بخش سوم پروژه

  • 6

    توسعه ی متد های rpc - بخش چهارم پروژه

  • 7

    جریان داده ای یا استریم دو طرفه در gRPC بخش پنجم پروژه

  • 8

    ایجاد پروژه ی دوم مایکروسرویس ها با فریم ورک gRPC پیاده کردن ساختار پروژه

  • 9

    ایجاد کردن سرویس محصولات به عنوان سرویس اول

  • 10

    ایجاد کردن سرویس محصولات بخش دوم

  • 11

    ایجاد کردن متد های rpc و بخش کلاینت (سرویس دوم)

  • 12

    گرفتن لیست محصولات از طریق متد ها gRPC

  • 13

    ایجاد کردن محصول از طریق gRPC

  • 14

    گرفتن محصول با ایدی از طریق gRPC

  • 15

    حذف محصول با ایدی

  • 16

    به روز رسانی محصول

  • 17

    قسمت پایانی بخش gRPC

فصل دوازدهم

مفاهیم مربوط به rabbitMQ و میکروسرویس ها

  • 1

    rabbitmq چیست و چرا rabbitmq؟

  • 2

    نصب rabbitmq و اولین مثال

  • 3

    بررسی اپشن های rabbitmq و نوشتن مقادیر صف ها برروی دیسک

  • 4

    تقسیم کردن تسک های موجود در صف بر چندین سرویس

  • 5

    توضیحات تکمیلی درمورد rabbitmq

  • 6

    مینی پروژه ی بررسی exchangeType fanout در rabbitmq

  • 7

    مینی پروژه ی بررسی exchangeType direct در rabbitmq

  • 8

    مینی پروژه ی بررسی exchangeType topic در rabbitmq

  • 9

    مینی پروژه ی بررسی exchangeType headers در rabbitmq

  • 10

    مینی پروژه ی پیاده کردن RPC (remote procedure call) در rabbitmq

  • 11

    شروع پروژه جدید و پیاده کردن ساختار سرویس ها

  • 12

    ایجاد و توسعه ی بخش احراز هویت کاربران

  • 13

    ایجاد بخش ذخیره ی محصولات در سرویس محصولات

  • 14

    کانفیگ بخش rabbitMQ و ایجاد کردن کانکشن و ایجاد بخش احراز هویت روت ها

  • 15

    ذخیره سفارشات مشتری با انتقال دیتا در ربیت ام کیو

  • 16

    یکسری نکات اضافی

  • 17

    بخش پایانی

فصل سیزدهم

فصل سیزدهم - فریم ورک Fastify و پروژه املاک و ثبت آگهی ملک با Fastify-Sequelize(postgreSQL)

  • 1

    معرفی و آشنایی با فریم ورک فستیفای

  • 2

    ایجاد اولین سرور با فستیفای

  • 3

    مسیر ها و روت ها در فستیفای

  • 4

    اسکیماها در فستیفای

  • 5

    اسکیماها بخش دوم

  • 6

    ایجاد یک ساختار مناسب برای پروژه های فستیفایی

  • 7

    راه اندازی سواگر در فستیفای

  • 8

    ایجاد بخش احراز هویت با توکن در سواگر

  • 9

    اتصال به دیتابیس پستگرس با کمک سیکیولاز

  • 10

    ایجاد کردن مدل کاربر در سیکیولایز

  • 11

    ایجاد بخش ثبت نام کاربران

  • 12

    ادامه ی بخش احراز هویت

  • 13

    بخش احراز هویت قسمت پایانی

  • 14

    هوک ها در فستیفای

  • 15

    میدلویر ها در فستیفای بخش اول

  • 16

    میدلویر ها در فستیفای بخش دوم

  • 17

    ارتباط یک به یک در سیکیولایز

  • 18

    ایجاد preHandler برای احراز کاربر با توکن موجود در هدر

  • 19

    میدلویر گرفت کاربر در ریکوست ها

  • 20

    ایجاد روت های پروفایل کاربر

  • 21

    گرفتن پروفایل کامل کاربر با استفاده از جوین دیتابیس

  • 22

    ویرایش پروفایل کاربر

  • 23

    فیکس کردن باگ ویرایش پروفایل

  • 24

    ایجاد کردن مسیر ها و روت های دسته بندی در سواگر و برنامه

  • 25

    ایجاد مدل دسته بندی ها

  • 26

    ایجاد هندلر های دسته بندی

  • 27

    ویرایش و حذف دسته بندی

  • 28

    ارتباط یا رلیشن پدر فرزندی تودرتو در دسته بندی ها self-relation

فصل چهاردهم

توسعه ربات تلگرام با Node.js

  • 1

    نحوه ی ایجاد ربات تلگرام

  • 2

    دستورات یا کامند ها ضروری

  • 3

    دستورات با کامند های ضروری ربات بخش دوم

  • 4

    متد command در telegraf

  • 5

    متد شنونده یا hears در telegraf

  • 6

    متد on در telegraf

  • 7

    میدلویر ها در ربات تلگرام

  • 8

    توسعه ی اولین ربات با اسم print

  • 9

    نحوه ی ارسال تصاویر در ربات print

  • 10

    پاسخ به پیام ها با ربات

  • 11

    ایجاد اکشن ها مختلف برای پیام ها در ربات

  • 12

    دیگر متد های مختلف برای ارسال فایل ها و مدیا ها در ربات تلگرام با telegraf

  • 13

    ربات ایجاد کننده ی لینک دانلود برای فایل های آپلود شده

  • 14

    ربات گیرنده قیمت ارز دیجیتال (نحوه ایجاد انواع کیبورد)

  • 15

    اربات گیرنده قیمت ارز دیجیتال (یجاد اکشن ها گیرنده کلید های کیبورد )

  • 16

    ربات گیرنده قیمت ارز دیجیتال (نحوه ی ایجاد منو و زیر منو )

  • 17

    ربات گیرنده قیمت ارز دیجیتال (گرفتن دیتاها و قیمت ها بر اساس نوع ارز )

سوالات متداول

هنوز سوالی اضافه نشده...

دیدگاه ها و پرسش ها

1687 دانشجو

604 جلسه

110:00 ساعت

پشتیبانی 3 ساله

پروفایل عرفان یوسفی

مدرس دوره

از سال ۸۹ - ۹۰ وارد حوزه ی برنامه نویسی شدم و انواع زمینه ها و شاخه های مختلف رو کار کردم تا اینکه سال ۹۵ توی حوزه ی بک اند (نود جی اس) ماندگار شدم، تجربیات خیلی زیادی رو توی این مسیر کسب کردم. شکست ها و موفقیت هایی رو هم داشتم که همه ی این موارد رو در قالب مقاله، دوره و پادکست در اختیارتون خواهم گذاشت خلاصه که وبسایت کدنایت رو سال ۱۴۰۲ توسعه دادیم که یک پلتفرم آموزشی با گروهی از اساتید خفن هستش که قراره کلی محتوا در اختیارتون بذاریم.