-
بخش 1: آموزش جاوا اسکریپت
جاوا اسکریپت از مهمترین ابزارهای توسعه وب به شمار میرود که در فرایند توسعه سمت کاربر و سرور مورد استفاده قرار میگیرد. دانش جاوا اسکریپت از شما یک فرد همه فن حریف خواهد ساخت. معمولا تعدادی از برنامه نویسان به این ویژگیها تسلط کافی ندارند،.در این دوره آموزش مفاهیم نظیر sync، promise که از اصول اولیه برنامه نویس جاوا اسکریپت است آموزش داده می شود.
سرفصل این بخش
- Let و Const در اکما اسکریپت
- Template Strings
- Tagged Templates در اکمااسکریپت
- عملگر Spread
- Arrow Functions
- Object Literals
- Object Destructuring
- کلاس ها
- Setters و Getters
- ارث بری در کلاس
- آریه ها -حلقه for
- آرایه ها- متد from
- آرایه ها - متد های of و fill
- آرایه ها - متدهای find و findIndex
- Map
- نوع داده Symbol
- معرفی Promise و Callback
- Promise
- زنجیر کردن Promise
- Proxy
- Generators
- Iterables و Iterators
- Async و Await
-
بخش 2 : آموزش مفاهیم اولیه Node.js
Node.js یک محیط ران تایم اوپن سورس و چندسکویی برای جاوااسکریپت است که کد جاوااسکریپت را در خارج از یک مرورگر اجرا می کند.
. Node.js به توسعه دهندگان اجازه می دهد تا از JavaScript برای نوشتن ابزارهای خط فرمان و اسکریپت نویسی سمت سرور استفاده کنند. از Node.js معمولا برای توسعهی اپلیکیشنهای با مقیاس بزرگ، به خصوص سایتهای جریان ویدئویی(video streaming sites)، اپلیکیشنهای تک صفحهای (single-page applications) و دیگر اپلیکیشنهای وب استفاده میشود. Node.js .از یک مدل I/O رویداد محور و مسدود نشونده (non-blocking) استفاده میکند و همین امر باعث میشود برای اجرای برنامههای مبتنی بر داده و بلادرنگ (Real-Time) بسیار مناسب باشد.
سرفصل این بخش
- Node.js چیست؟
- Node.js چه کاربردی دارد؟
- نصب Node.js
- ساخت اولین پروژه NodeJs
- آبجکت گلوبال Module
- نحوه نصب و استفاده از Nodemon
-
بخش 3 : آموزش ماژول در Node.js
Node.js نیز مانند هر زبان برنامهنویسی دیگری از پکیجها و ماژولهایی استفاده میکند. ماژول ها را همانند کتابخانه های جاوا اسکریپت می¬باشد. Node.jsشامل سه نوع ماژول است:
- ماژول های هسته (Core)
- ماژول های لوکال یا محلی (Local)
- ماژول های شخص ثالث (Third Party)
-
ماژول های هسته :
Node.js یک فریمورک بسیار سبک است. ماژول های هسته در Node.js کمترین میزان عملیات را ارائه میدهند.
این ماژول ها به صورت اتوماتیک به Node.js در هنگامی که فعالیت خود را آغاز می کند اضافه می شوند. هر چند که شما باید در هنگام استفاده از این ماژول ها باید آن ها را ابتدا import کنید.
- 1. HTTP (Hypertext Transfer Protocol) : ماژول HTTP شامل کلاسها، متدها و رویدادها برای ساخت سرور HTTP
Node.js است.
- 2. URL (Uniform Resource Locator): ماژول URL شامل رزولوشن URL و متد تجزیه است.
- 3. query string: ماژول کوئری استرینگ متدهایی را برای مقابله با رشته پرس و جو ارائه میدهد.
- 4. Path: ماژول path متدهایی را برای مدیریت مسیرهای اسکریپت فراهم میکند.
- 5. Fs: ماژول fs شامل کلاسها، متدها و رویدادها برای کار با فایلهای ورودی / خروجی است.
ماژول محلی :ماژولهای محلی به صورت محلی در برنامه نود جی اس شما ایجاد میشوند. این ماژولها شامل ویژگیهای مختلف برنامه شما در فایلها و دایرکتوریهای جداگانه هستند. در این دوره آموزشی با نحوه نوشتن ماژول محلی آشنا می¬شوید.
ماژولهای خارجی :برای نصب ماژولهای خارجی فقط از NPM میتوانید استفاده کنید. .NPMمخخف عبارت Node Package Manager است و همانطور که از نامش پیداست مدیریت پکیجی برای پکیجها و ماژولهای Node.js است. در این دوره آموزشی با نحوه استفاده و نصب ماژول¬های خارجی آشنا می¬شوید.
سرفصل این بخش
- آموزش ماژول Http
- آموزش ماژول URL
- آموزش ماژول query string
- آموزش ماژول Path
- آموزش ماژول Fs
- ماژول OS
- ماژول Event
- ساخت ماژول ها
- بارگذاری ماژول ها
- دیباگ کردن برنامه های Node
- آشنایی با NPM
- Package.JSON
- نصب و استفاده از پکیج ها
- وابستگی های پکیج ها
- دستورات npm
- نصب ماژول های خارجی
-
بخش 4 : آموزش WEB API مبتنی بر REST
پیش از آنکه با مفهوم و سازوکار این نوع معماری آشنا شویم، نیاز است تا با مفهوم کلیترِ API آشنا گردیم. Application Programming Interface یا به اختصار API به منزله یک اینترفیس (رابط) مابین دو سیستم نرمافزاری است که این امکان را در اختیار سیستمهای مختلف قرار میدهد تا بتوانند بدون دخالت انسان با یکدیگر ارتباط برقرار سازند . چنانچه یک API در قالب یک سرویس تحت وب عرضه گشته و تعامل مابین سرویسهای مختلف را از طریق شبکهٔ اینترنت امکانپذیر سازد آن را Web API یا Web Service مینامیم و این در حالی است که پروتکلهای به کار رفته در وب سرویسها انواع و اقسام مختلفی دارد که از آن جمله میتوان به GraphQL ،SOAP ،PRC و یکی از معروفترین آنها REST اشاره کرد.
RESTful مخفف کلمات Representational State Transfer میباشد که یکی از انواع معماریهای طراحی API است که امروزه در اکثر شرکتهای نرمافزاری به کار گرفته میشود تا سایر دولوپرها را قادر سازند با سرویسهایی که عرضه میکنند به تعامل بپردازند.در معماری REST کلمات State Transfer بدین موضوع اشاره دارند که به جای ذخیرهسازی وضعیت کلاینت در سمت سرور، کلیه دادهها در سمتِ خود کلاینت ذخیره میشوند و در هر درخواستی نیز برای سرور ارسال میشوند و همین میشود که این معماری اصطلاحاً Stateless نامیده میشود به طوری که ماهیت Stateless این معماری باعث میشود تا بتوانیم سیستمهای توزیعشدهای توسعه دهیم که در آنها میلیونها کاربر به صورت همزمان میتوانند با سرور ارتباط برقرار ساخته و دادههای مد نظر خود را درخواست کنند.
سرفصل این بخش
- API چیست ؟
- REST چیست ؟
- بررسی انواع متدهای HTTP
- GET
- POST
- PUT
- DELETE
- HEAD
- OPTIONS
- PATCH
- بررسی سرویس jsonplaceholder برای تست پروژه های API و استفاده از داده های Fake در قالب Json
- بررسی نحوه عملکرده API ها توسط متدهای ذکر شده
- بررسی انواع API ها از نظر سطح دسترسی
- بررسی Status ها هنگام دریافت اطلاعات از API ها
- POSTMAN چیست؟
- نصب POSTMAN و بررسی اجمالی محیط POSTMAN
- نحوه ارسال و درخواست دادها از یک API توسط POSTMAN همراه با مثال
-
بخش 5 :شروع پروژه فروشگاه
در این دوره پروژه فروشگاه پیادهسازی و آموزش داده خواهد. در این بخش سرور فروشگاه ایجاد شده و داده¬ها از سمت کاربر دریافت شده و در فایلی ذخیره می¬شود.
- ایجاد سرور http
- ایجاد فایل
- ایجاد api ذخیره request body در فایل
- ایجاد api نمایش اطلاعات ذخیره شده
- ایجاد api آپلود تصویر
- نصب کتابخانه jalali moment
- استفاده از کتابخانه jalali moment
-
بخش 5 :آموزش Express.Js
یک فریم ورک انعطاف پذیر وب برای node.js است که به صورت منبع باز و تحت پروانه MIT در اختیار مردم قرار گرفته است. این فریم ورک برای ساخت برنامههای تحت وب و APIها کاربرد دارد. اکسپرس متن باز است و در حال حاضر توسط موسسه node.js پشتیبانی میشود. اکسپرس همچنین میانافزارها (middlewares) و تعاریف مسیریابی یا Routing پایه را برای ما فراهم میسازد. فلسفه طراحی این پلتفرم به این صورت است که سعی شده است، پلتفرم به ابتداییترین شکل ممکن طراحی شود و کارکردها به صورت افزونه به آن اضافه شوند.
سرفصل این بخش
- آشنایی با فریمورک Express
- Route Params در Express.js
- آشنایی با Middleware
- Post Requests در Express.js
- Put Requests در Express.js
- get Requestsدر Express.js
- Delete Requests در Express.js
- ساختار MVC در Express.js
- بررسی ExpressRouter
-
بخش 6 :ادامه پروژه فروشگاه با استفاده از express
در این بخش با routing را به پروژه میافزاییم و سپس ساختار mvc را در پروژه پیاده سازی می نماییم
- نصب express
- افزودن express به پروژه
- ایجاد ساختار MVC به پروژه
-
بخش 7 : آموزش Mongo DB
پایگاه داده های NoSql ، پایگاه داده های غیر رابطه ای و توزیع شده هستند که برای نگهداری داده نیاز به ساختار جدول ندارند. حداقل به 2 دلیل مهم این نوع پایگاه داده ها کاربرد زیادی دارند. اول اینکه ضعف های پایگاه داده های رابطه ای را بر طرف کردند و دوم اینکه پایگاه داده های رابطه ای جواب گوی نظام محاسباتی فعلی دنیا نیستند که در یک لحظه میلیون ها نفر میخواهند به پایگاه داده ای از تصاویر، فیلم و متن دسترسی داشته باشند.دیتابیس مانگو دی بی یک پایگاه داده قوی , منعطف و مقیاس پذیر است. این پایگاه داده خیلی از ویژگی های پایگاه داده های رابطه ای مثل ایندکس گذاری و دامنه ی پرس و جوها و ذخیره سازی را دارا می باشد.
برخی ویژگی های MongoDB عبارتند از:
- مهمترین دیتابیس Document Base
- دارای یک زبان غنی کوئری نویسی
- مناسب برای برنامه نویسی شی گرا
- استفاده ازAggregation Framework برای تحلیلهای مشابه عملیاتGROUP BY در SQL
- دارای MapReduce برای تجزیه و تحلیلهای پیچیده
- دارای Replication همراه با قابلیت Failover
- ایندکس گذاری
- ثبات بالا برای کار با داده های زیاد و پراکنده
- مقیاس پذیری به همراه Sharding و Partitioning
سرفصل این بخش
- نصب MongoDB
- آشنایی با Mongoose و اتصال به MongoDB
- آشنایی با Schema و ساخت Model
- ذخیره کردن داده ها بصورت Document
- ایجاد کوئری در دیتابیس و دریافت Documents
- استفاده از اپراتور های مقایسه ای در کوئری نویسی - Comparison Operators
- اپرتور های منطقی And و Or
- استفاده از Regular Expression
- آشنایی با Skip و Count و پیاده سازی Pagination
- ویرایش اطلاعات یک Document به روش Query First
- ویرایش اطلاعات یک Document به روش Update First
- حذف Document
- اعتبار سنجی داده Validation
- اعتبار سنج های داخلیBuilt-In Validators
- اعتبار سنجی سفارشیCustom Validators
- خطایابی در اعتبار سنجی Validation Errors
- تغییر داده ها در اعتبار سنجیChange Data Validation
- آشنایی با انواع روش های ذخیره داده
-
بخش8 : آموزش اتصال به Mongo DB با استفاده از Node.js
در این بخش با استفاده از Node.js به دیتابیس mongo DB متصل شده و عملیات CURD را انجام می¬دهیم.
- آموزش ایجاد پایگاه داده MongoDB با Node.js
- آموزش ایجاد یک مجموعه ( Collection ) یا Table جدید در MongoDB
- آموزش افزودن محصول به دیتابیس با استفاده از متد Insert
- آموزش ویرایش محصول با استفاده از متد update
- آموزش حذف محصول با استفاده از متد delete
- ساخت بخش سرچ محصولات با استفاده از متد find
- مرتب سازی محصولات بر اساس قیمت و تاریخ
- ساخت بخش دسته بندی برای محصولات
- افزودن لاگین
- ایجاد توکن jwt
- ساخت بخش pagination و یا صفحه بندی سایت
-
بخش9 : آموزش MySQL و اتصال آن به Node.js
مای اس کیو ال نوعی سیستم مدیریت پایگاه داده های اوپن سورس و رابطه ای می باشد که امکانات زیادی را برای کاربران فراهم می کند. میتوان گفت MySQL یکی از محبوبترین پایگاههای داده حال حاضر جهان است، که بین برنامه نویسان از محبوبیت خیلی زیادی برخوردار است. شما با استفاده از این پایگاه داده میتوانید اطلاعات مورد نظر خود را ذخیرهسازی و در جای مناسب استفاده کنید. داشتن درک درست از ویژگیهای MySQL به عنوان یک نرم افزار و سیستم مدیریت دیتابیس، میتواند به شما در مسیر یادگیری آن کمک کند، MySQL دارای ویژگی های زیادی است که در ادامه برخی از آنها را ذکر کردهایم:
- کاربرد بالا در وب
- هزینهی پایین در راه اندازی و نگه داری
- سهولت در تنظیم و یادگیری
- کارایی بالا
- پشتیبانی بسیار خوب
- رابطهی بسیار خوب با زبان برنامه نویسی PHP
قابلیت تکثیرپذیری: با استفاده از قابلیت تکثیرپذیری میتوانند بانک اطلاعاتی MySQL را روی چندین نود مختلف قرار دهید، این کار بارگذاری را بهینهتر میکند مقیاسپذیری و در دسترس بودن را افزایش میدهد.
وجود انجمن قدرتمند: به دلیل متن باز بودن این سیستم بانک اطلاعاتی، پشتیبانی بسیار خوبی از طرف انجمنهای مختلف از آن صورت میگیرد، این مسئله بسیار مورد قابل توجه و مهمی است
پلتفرمها و زبانهای مختلف: مایاسکیوال روی تقریبا تمام پلتفرمهای محبوب و حتی موارد دیگر قابل دسترس است، لینوکس، ویندوز، مک، BSD و سولاریس. همچنین قابلیت ارتباط برقرار کردن با زبانهای مختلف برنامهنویسی مانند جاوااسکریپت، روبی، سی++، پیاچپی و… را دارد.
سرفصل این بخش
- مروری بر پایگاه های داده
- مفاهیم پایه پایگاه داده
- روش های ذخیره سازی داده ها
- نصب sql
- ایجاد بانک اطلاعاتی
- حذف بانک اطلاعاتی
- ویرایش ویژگی های بانک اطلاعاتی
- ایجاد جدول
- ویرایش جدول
- تغییر نام جدول
- حذف جدول
- ایجاد کلید داخلی و کلید خارجی در جداول
- درج داده جدید در جدول
- ویرایش داده موجود در جدول
- حذف داده های درج شده
- انتخاب داده های داخل جدول
- عملگرهای محاسباتی در MySQL
- درس دهم: کار با Join در MySQL
- مفهوم Join در MySQL
- ایجاد Stored Procedure در MySQL
- فراخوانی Stored Procedure ایجاد شده در MySQL
- درس دوازدهم: کار با Triggerها در MySQL
- مفهوم Trigger
- ایجاد Trigger جدید
- مفهوم View
- ایجاد View جدید
- مشاهده لیست View های ایجاد شده
- حذف View ایجاد شده
- درس چهاردهم: کار با Transactionها در MySQL
- آشنایی با Transaction
-
بخش10 : آموزش اتصال به My SQLبا استفاده از Node.js
در این بخش با استفاده از Node.js به دیتابیس MySQLمتصل شده و عملیات CURD را انجام می¬دهیم.
- آموزش ایجاد پایگاه داده My SQL با Node.js
- آموزش ایجاد یک Table جدید در My SQL
- آموزش افزودن محصول به دیتابیس با استفاده از متد Insert
- آموزش ویرایش محصول با استفاده از متد update
- آموزش حذف محصول با استفاده از متد delete
- ساخت بخش سرچ محصولات با استفاده از متد find
- مرتب سازی محصولات بر اساس قیمت و تاریخ
- ساخت بخش دسته بندی برای محصولات
- ساخت بخش pagination و یا صفحه بندی سایت
- افزودن لاگین
- ایجاد توکن jwt
-
بخش 11 : آموزش Test نویسی
باتوجه به پیچده شدن و حرفه ای بودن نرم افزارهای امروزی ، و بالا بودن هزینه های نیروی متخصص تست در محیط های حرفه ای تولید نرم افزار، همچنین عدم پذیرش خطا هر چند کوچک در برخی از پروژه های نرم افزاری همانند پروژه های بانکی نوشتن تستهایی که قابلیت تست خودکار نرم افزار را داشته باشند، یکی از نیازهای اصلی هر برنامه نویس می باشد.
در اوایل سال 2000 ، فریم ورکی برای آزمایش برنامه های کاربردی JavaScript با نام JsUnit وجود داشت. بعداً این فریم ورک به روز شد و اکنون به عنوان Jasmine شناخته می شود. جاسمین به واحد آزمایش (Unit Testing) خودکار کمک می کند ، چیزی که هنگام توسعه و بکارگیری برنامه های وب امروزی یک عمل کاملاً کلیدی تلقی می شود. در این آموزش یاد می گیرید که چگونه محیط خود را با Jasmine راه اندازی کنید و چگونه می توانید اولین آزمایش Node.js خود را با Jasmine شروع کنید.
سرفصل این بخش
- Unit Test و TDD و BDD چیست ؟
- آشنایی با Describe و It ، نوشتن اولین تست
- آشنایی با روش های قدیم test
- آشنایی با روش های آسان تر test
- ساخت یک ماژول و تست کردن متود های آن
- کاربرد deepEqual در test
- نحوه تست کردن callback ها
- نحوه تست کردن Promise ها
- نحوه استفاده از async و await در test
- آموزش Jasmine
- شروع تست نویسی با روش bdd
-
بخش 12: آموزش کار کردن با GIT
در دوره آموزش پروژه محور API پس از آموزش کار کردن با GIT واصول کارکرد تیمی و همچنین مفاهیم مربوط به Repository ها در Source Control ها ،دانشجویان همانند کار در شرکتهای معتبر نرم افزاری به تیمهای کوچکی تقسیم می شوند تا بتوانند یک پروژه بزرگ را با تبدیل به SUB Domain های کوچکتر برنامه نویسی کنند و هریک از تیمهای اجرایی ، روی یک SUB Domain مشغول به کار می شوند، و هریک از نفرات هرتیم بخشی از یک زیر دامنه را اجرا خواهد کرد.
سرفصل این بخش
- نصب و پیکربندی Git
- گیت چگونه کار میکند
- استفاده از Git در پروژه
- بازگردانی تغییرات در گیت
- دستور Reset در Git
- کار با فایل GitIgnore
- بررسی دستور log در Git
- Branching در Git
- Merge کردن Branch در Git
- Merge Conflict در Git
- کار با Git Stash
- کار با Git Remote
- کار با Tag ها در Git
نظرات شما