دوره جامع Node JS و Express JS
نود جی اس یک محیط اجرایی یا runtime سمت سرور برای زبان جاوااسکریپت است. یعنی Node به ما این امکان را میدهد تا با جاوااسکریپت برنامه های سمت سرور و بک اند انواع وبسایت ها و اپلیکیشن ها را توسعه بدیم. یکی از محبوب ترین و پر استفاده ترین فریم های ورک های سمت سرور نیز Express JS است که همراه با Nodeدر این دوره به صورت کامل پوشش داده شده است
توضیحات
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 ساله
از سال ۸۹ - ۹۰ وارد حوزه ی برنامه نویسی شدم و انواع زمینه ها و شاخه های مختلف رو کار کردم تا اینکه سال ۹۵ توی حوزه ی بک اند (نود جی اس) ماندگار شدم، تجربیات خیلی زیادی رو توی این مسیر کسب کردم. شکست ها و موفقیت هایی رو هم داشتم که همه ی این موارد رو در قالب مقاله، دوره و پادکست در اختیارتون خواهم گذاشت خلاصه که وبسایت کدنایت رو سال ۱۴۰۲ توسعه دادیم که یک پلتفرم آموزشی با گروهی از اساتید خفن هستش که قراره کلی محتوا در اختیارتون بذاریم.