چرا باید این دوره را بگذرانید؟
با پنج دقیقه، به من اجازه دهید دلیل آن را توضیح دهم.
این دوره ای است که من قبل از تبدیل شدن به یک مهندس نرم افزار به آن نیاز داشتم
این دورهای است که قبل از تبدیل شدن به یک مهندس نرمافزار تمام وقت، در مرکز شهر در سانفرانسیسکو به آن نیاز داشتم. مفاهیمی را که من هر روز به کار می برم آموزش می دهد. درک کل فول استک بسیار مهم است.
اما در حالی که من خودم یاد میگرفتم، پوشاندن تمام لایهها مانند جستوجوی قطعات دوردست از یک پازل بزرگ بود. همه منابع پخش شد. همه آنها در مکان های مختلف بودند.
من به همه اینها در یک مکان نیاز داشتم. من نیاز داشتم که همه آن در یک پروژه باشد. این هدف از این دوره است.
این دوره، برگزیدههای برگزیده ماهها (در واقع سالها) تحقیق است. از خواندن صدها مقاله کد نویسی. از گوش دادن به صحبت های فنی. پروژه های ساختمانی در هکاتون ها. از تحصیل در رشته کامپیوتر در کالج. کار بر روی پروژه ها به عنوان مهندس نرم افزار.
همه در یک مکان. در یک پروژه فراگیر.
متمرکز بر ویژگی، مانند صنعت
پروژه در این دوره منعکس کننده پروژه هایی است که می خواهید در صنعت روی آنها کار کنید.
من همچنین ساختار توسعه پروژه را به گونهای طراحی کردم که نحوه ساخت برنامهها در صنعت را بازتاب دهد. شما پروژه تمام پشته خود را تکامل خواهید داد، درست مانند نحوه رشد پروژه ها در دنیای واقعی. شما روی ویژگی ها متمرکز خواهید شد.
شما پروژه را در یک زمان یک ویژگی ایجاد خواهید کرد - به طور مداوم نرم افزار را بهبود می بخشید و به کاربران ارسال می کنید. این با سایر دوره هایی که بر معماری متمرکز هستند متمایز است. به این معنی که شما کل بکاند را نمیسازید و سپس به کل فرانتاند نمیروید. در عوض، هر ویژگی جدید تمام جنبههای معماری تمام پشته را شامل میشود.
پروژه DragonStack
پروژه DragonStack چیست؟
پروژه Dragonstack یک برنامه جمع آوری کننده چند حسابی برای جمع آوری اژدها است. شما می توانید اژدهای خود را تجارت، خرید و پرورش دهید! با فروش اژدها، ارز کسب می کنید. یا اگر حساب دیگری از اژدهای شما برای خدمات جفت گیری خود استفاده کند، ارز نیز دریافت می کنید. هر اژدها ویژگی های منحصر به فردی دارد و به نسل خاصی تعلق دارد.
این برنامه متفاوت است. این یک شبیه سازی فیس بوک و توییتر نیست. اکنون، هسته اصلی معماری همان است. در پشت برنامه های بزرگتر مانند فیس بوک و توییتر، مفاهیمی وجود دارد که در این دوره خواهید آموخت. اما شما از این مفاهیم برای ایجاد چیزی منحصر به فرد استفاده خواهید کرد. اگر در حال حاضر برای یادگیری پشته کامل زمان صرف کرده اید، از شما می خواهم چیزی بسازید که قبلاً هیچ چیز دیگری ساخته نشده است. به این ترتیب، نحوه استفاده از این مفاهیم را برای نوآوری یاد خواهید گرفت.
از ابتدا
در این دوره، همه چیز را از ابتدا خواهید ساخت. شما تمام لایه های فول استک را در اختیار خواهید گرفت. از هیچ API جداگانه ای برای ویژگی ها استفاده نخواهید کرد.
1. شما API را خواهید ساخت. مطمئناً، میتوانید با استفاده از یک API عمومی در مورد درخواستهای وب اطلاعات کسب کنید. اما برای اینکه به طور کامل یاد بگیرید که این APIهای درخواست وب چگونه کار می کنند، باید خودتان یکی بسازید.
2. شما کنترل کاملی بر پایگاه داده خواهید داشت. برای مدیریت پایگاه داده برای شما به یک کتابخانه متکی نخواهید بود. با پایگاه داده مانند جادو رفتار نخواهید کرد. نه، شما کنترل کامل خواهید داشت و SQL را خودتان تولید خواهید کرد.
3. شما سیستم احراز هویت را خواهید ساخت. احراز هویت یک مرحله آسان است که در حین یادگیری می توان از آن صرف نظر کرد. نکن. این یک مفهوم انتقادی برای درک است. 99% از برنامههایی که میسازید یا روی آنها کار میکنید، پایه حساب خواهند داشت.
این از ابتدا فلسفه اصلی دوره است. علاوه بر ساختن API ها از ابتدا، یک Backend کامل نیز ایجاد خواهید کرد. این شامل سرور و فایل های پایگاه داده اصلی می شود. بهعلاوه، با کتابخانه مدرن و بسیار پرکاربرد React، صفحه اصلی کامل را میسازید.
تصویر کامل مبتنی بر درک مفهومی
هنگامی که با فناوریهای جدید کار میکنید، دیدن تصویر کامل ضروری است. بنابراین، در این دوره، فراتر از نحوه کدنویسی در Node.js، PostgreSQL، React و Redux را خواهید آموخت. علاوه بر این، درک درستی از طراحی، مدلها و ایدههای پشت این فناوریها به دست خواهید آورد. شما دقیقاً یاد خواهید گرفت که چگونه شرکت ها از این فناوری ها برای مشکلات خود استفاده می کنند. با درک اساسی از مفاهیم، میتوانید ببینید که چگونه هر لایه در فول استک با هم قرار میگیرد
تجربه عملی
فقط به این دلیل که این دوره تأکید زیادی بر مفاهیم دارد، به این معنی نیست که در اسرع وقت به کدها نخواهید پرداخت. این دوره همچنین بر تجربه عملی تمرکز دارد. پس از همه، مفاهیم تنها زمانی تقویت می شوند که شما واقعاً آنها را اعمال کنید و نرم افزار را بسازید!
در پایان دوره، تجربه زیادی از کار با فناوریها خواهید داشت. شکی ندارم که میتوانید Node.js، PostgreSQL، React و Redux را با اطمینان به رزومه خود اضافه کنید. بعلاوه، برای اثبات آن، یک پروژه تمام پشته چشمگیر در مجموعه خود خواهید داشت.
ناگفته نماند، میتوانید بسیاری از چالشهای دوره نهایی را انجام دهید تا پروژه دوره خود را منحصربهفردترین و پیشرفتهتر کنید.
چالش های دوره
وجود زباله در طول دوره چالشهایی است. این از آن نوع دوره ای نیست که شما در تمام مدت کورکورانه آن را دنبال کنید. این چالشها به شما این شانس را میدهد که خودتان ویژگی بعدی را پیادهسازی کنید - تقویت دانش خود، با هدایت تجربه خودتان.
همانطور که گفته شد، فهرستی از چالش های دوره نهایی نیز وجود دارد. این موارد فراتر از محدوده دوره است. اما اینها مواردی هستند که پروژه شما را واقعاً متمایز می کنند.
سادگی
علاوه بر آموزش توسعه وب تمام پشته و فن آوری های اصلی آن، تاکید عمده این دوره بر ساخت کد با سادگی است. مهم نیست در چه فناوری کدنویسی می کنیم، مطمئن می شویم که کلاس های خود را طراحی کرده و عملکردهای خود را به روشی ساده ایجاد می کنیم.
اکنون ساده به معنای آسان نیست. آسان به معنای نزدیک دراز کشیدن است. فقط به این دلیل که چیزی آسان و فوری است به این معنی نیست که درست است. گاهی اوقات، راه حل آسان در واقع میانبری است که بعداً برای رفع آن نیاز به کار بیشتری دارد.
تعریف ما از سادگی، تکینگی است. سادگی در این دوره به معنای تک بودن است. تا آنجا که ممکن است، ما توابع خود را ساده، تکبرابر و هدفمند خواهیم کرد. ما نمی خواهیم که عملکردهای ما دارای تعداد زیادی از عوارض جانبی باشد که پیچیدگی غیر ضروری را در برنامه ما ایجاد می کند.
مقیاس پذیری
سادگی پیش نیاز مقیاس پذیری است. از آنجا که توابع را به روشی ساده کدنویسی میکنید، خواهید دید که میتوانید به سرعت ویژگیهای جدیدی را به برنامه اضافه کنید. هزینه اولیه حک کردن سادهترین طرحها سود زیادی برای مقیاسپذیری دارد.
پیشرفت در Dragonstack
پیشرفت شما با پروژه dragonstack از یک منحنی نمایی پیروی می کند. در طول دوره، نمودارها پیشرفت شما را در این دوره نشان می دهند. یک دوره افزایش اولیه وجود خواهد داشت. با این حال، هنگامی که از قوز عبور کردید، سرعت شما سر به فلک می کشد. مصمم بمانید تا آن شتاب را ادامه دهید. این یکی از بهترین احساسات است که سوار بر آن بزرگراه بهره وری می شوید.
سایر جزئیات:
اعتبار موسیقی تبلیغاتی
«حرکت آهسته» توسط بن ساوند.
Redux خراب شد
Redux می تواند یک مفهوم بسیار پیچیده باشد که با توسعه frontend و React قابل رسیدگی است. این دوره Redux را خلاصه می کند و سطح پایین آن را توضیح می دهد. ما به Redux به عنوان یک کتابخانه جادویی که فقط تمام مشکلات ایالتی ما را حل می کند نگاه نمی کنیم. نه، این دوره به طور کامل به Redux می رود. ما عملکردهای آن را آزمایش می کنیم، پارامترهای آن را بررسی می کنیم و حتی تصمیمات کلی طراحی کتابخانه را در نظر می گیریم.
قول!
جاوا اسکریپت قول می دهد که این است! Promises نقش بزرگی در باطن این دوره خواهد داشت. بنابراین اگر به دنبال یک بهانه خوب برای یادگیری نحوه عملکرد وعده های جاوا اسکریپت بودید، پس این پروژه عالی برای شماست! قول می دهم…
نامها
این دوره ممکن است زمان بیشتری را نسبت به سایر دوره ها صرف بحث در مورد نام ها کند. برخی ممکن است بگویند نامگذاری متغیر دلخواه است: "فقط یک نام کوتاه و واضح به چیزی بدهید و با آن تمام شود..." با این، من کاملاً مخالفم! نام گذاری یکی از مهمترین بخش های نرم افزار است. درست کردن نام می تواند تنها تفاوت بین جریان روان از طریق درک یک پایگاه کد و صرف دقیقه ها یا حتی ساعت ها برای درک نحوه کار توابع با یکدیگر باشد.
تحویل به موقع
از آنجایی که Udemy به دانشآموزان اجازه میدهد تا سرعت سخنرانیها را افزایش دهند، من سخنرانیها را بهموقع صحبت خواهم کرد که در همه سرعتها قابل درک باشد. سرعت را به دلخواه تغییر دهید.
مهندس نرم افزار
نمایش نظرات