مهارت هایی که برای تبدیل شدن به یک توسعه دهنده Backend نیاز دارید – نقشه راه برای مبتدیان
در این راهنما، مهارتهای اساسی مورد نیاز و مراحلی را که میتوانید برای تبدیل شدن به یک توسعهدهنده باطن انجام دهید، مورد بحث قرار خواهم داد.
من یک نقشه راه ساده به شما می دهم که به شما کمک می کند بدانید کجا هستید و کجا باید بروید.
Front End vs Back End
هر وب سایت دارای دو بخش است: یک قسمت جلو و یک قسمت عقب .
قسمت جلویی قسمتی است که در مرورگر می بینید و با آن تعامل دارید. اساساً تمام جنبه های بصری یک وب سایت را نشان می دهد.
قسمت پشتی قسمتی است که قسمت جلویی را تامین می کند. این در پشت صحنه است و عمدتاً مربوط به ذخیره و دسترسی به داده ها با استفاده از پایگاه داده ها، API ها و غیره است.
به همین دلیل، مشاغل توسعه وب به سه دسته اصلی تقسیم می شوند:
👨💻 توسعه Front-end
🛟 توسعه Back-end
🚢 توسعه تمام پشته (شامل توسعه front-end و back-end)
👷♂️یک توسعه دهنده Backend دقیقا چه کاری انجام می دهد؟
توسعه دهندگان Backend مسئول ساختن سیستم های اساسی هستند که عملکرد برنامه هایی را که کاربران با آنها درگیر می شوند هدایت می کنند.
این شامل وظایف مختلفی مانند طراحی معماری و سپس پیاده سازی و نگهداری این سیستم های حیاتی است.
مسئولیت های آنها معمولاً شامل کار با:
💾 پایگاه های داده مانند MySQL،
✂️ فریمورکهایی مانند لاراول یا روبی روی ریل و
🧨 API ها (رابط برنامه نویسی برنامه).
توسعه دهندگان Backend اطمینان حاصل می کنند که زیرساخت Backend به طور یکپارچه عمل می کند و تعاملات صاف بین رابط کاربر و داده ها و فرآیندهای اساسی را امکان پذیر می کند.
در اینجا برخی از مسئولیت های اصلی یک توسعه دهنده باطن آورده شده است:
درک نیازها و اهداف عملکرد وب سایت
توسعه و مدیریت API برای وب سایت
توسعه سیستم هایی برای ذخیره سازی و پردازش امن داده ها (به ویژه موارد استفاده خاص مانند پرداخت)
نوشتن کد، آزمایش آن، حفظ آن، و توسعه راه حل برای اشکالات
طراحی معماری سایت با استفاده از متدولوژی های شناخته شده مانند Agile/Scrum و فریمورک های مختلف
سازماندهی منطق سیستم به طور موثر
ارائه راه حل برای رفع مشکلات و چالش های مرتبط با سیستم
🥷 آنچه برای تبدیل شدن به یک توسعه دهنده Backend باید بدانید
تبدیل شدن به یک توسعه دهنده حرفه ای نیازمند تسلط بر مهارت ها و فن آوری های مختلف است.
در زیر، من یک نقشه راه جامع برای کمک به شما برای دستیابی به این هدف در سریع ترین زمان ممکن ترسیم کرده ام.
فقط به خاطر داشته باشید که هر کس با سرعت متفاوتی یاد می گیرد، پس تعیین یک بازه زمانی مشخص برای مدت زمانی که این کار طول می کشد دشوار است. برخی ممکن است بتوانند در عرض شش ماه یا کمتر از آن عبور کنند، اما برخی دیگر ممکن است زمان قابل توجهی بیشتری داشته باشند.
مرحله 1: مبانی توسعه Backend 🏗️
نقش و مسئولیت های یک توسعه دهنده Back-end را درک کنید. با پایگاه های داده، چارچوب ها و API ها آشنا شوید.
به دوره جامع پایگاه داده بپیوندید. درباره SQL و پایگاه های داده رابطه ای مانند MySQL بیاموزید. ایجاد و مدیریت پایگاه های داده را تمرین کنید.
با زبان های برنامه نویسی سمت سرور آشنا شوید. با PHP یا Python شروع کنید. سینتکس اولیه، ساختارهای کنترلی و انواع داده را بیاموزید.
مرحله 2: مفاهیم پیشرفته Backend 🔋
درک خود را از پایگاه های داده عمیق تر کنید. پایگاه داده های NoSQL مانند MongoDB را کاوش کنید. با مدل سازی و بهینه سازی داده ها آشنا شوید.
استاد زبان های برنامه نویسی سمت سرور. PHP یا Python را عمیق تر کنید. درباره توابع، کلاس ها و برنامه نویسی شی گرا بیاموزید.
پروژه های عملی را با چارچوب ها دریافت کنید. یک فریم ورک محبوب مانند لاراول برای PHP یا جنگو برای پایتون انتخاب کنید. ساخت برنامه های کاربردی ساده برای درک معماری مدل-نما-کنترلر (MVC) .
مرحله 3: توسعه و یکپارچه سازی API 🛠️
در مورد API ها و اهمیت آنها در توسعه Backend بیاموزید. اصول طراحی RESTful API را کاوش کنید.
شروع به ساخت API های خود کنید. از ابزارهایی مانند Postman
برای تست و اشکال زدایی نقاط پایانی API استفاده کنید. با روش های مختلف احراز هویت و همچنین امنیت آشنا شوید.
روی ادغام API تمرکز کنید. نحوه مصرف API ها در برنامه های وب و موبایل را بیاموزید. ادغام API های شخص ثالث را در پروژه های خود تمرین کنید.
مرحله 4: عیب یابی و بهینه سازی 🔮
تسلط بر تکنیک های عیب یابی نحوه تشخیص و اشکال زدایی موثر برنامه های کاربردی باطن را بیاموزید.
به تکنیک های بهینه سازی عملکرد بروید. درباره بارگذاری تنبل ، کش کردن ، تعادل بار و نمایه سازی پایگاه داده بیاموزید.
ابزارهای نظارت و تجزیه و تحلیل را بیاموزید. از ابزارهایی مانند New Relic یا Datadog برای نظارت بر عملکرد برنامه استفاده کنید. نحوه تولید و تجزیه و تحلیل معیارهای عملکرد را بیاموزید.
مرحله 5: زیرساخت و استقرار ابر 🌥️
مفاهیم رایانش ابری را درک کنید. درباره ارائه دهندگان ابر محبوب مانند AWS یا Azure بیاموزید.
یک دوره آموزشی در مورد خدمات ابری برای توسعه باطن بگذرانید. درباره محاسبات بدون سرور ، کانتینرسازی و ریزسرویس ها بیاموزید.
استقرار برنامهها در فضای ابری را تمرین کنید. درباره خطوط لوله CI/CD و استراتژی های استقرار خودکار بیاموزید.
مرحله 6: موضوعات و پروژه های پیشرفته 🚀
اکنون شما آماده یادگیری موضوعات پیشرفته تری هستید. موضوعاتی مانند صفهای پیام ، معماری رویداد محور و ارتباطات بلادرنگ را انتخاب کنید.
روی یکپروژه سقفی کار کنید. یک پروژه چالش برانگیز را انتخاب کنید که فناوری ها و مفاهیم مختلف باطن را ادغام کند.
در نهایت، در مورد سفر یادگیری خود فکر کنید. پروژه های خود را مرور کنید و زمینه های بهبود را شناسایی کنید. با تمرین چالش های کدنویسی برای مصاحبه های شغلی آماده شوید.
ابزارها و نرم افزارهای توسعه Back-end
در اینجا به تفکیک ابزارها و نرم افزارهایی که معمولاً در توسعه Back-end استفاده می شوند، آمده است:
1. چارچوب های پایگاه داده:
MySQL: یک سیستم مدیریت پایگاه داده رابطه ای که برای ذخیره و بازیابی داده ها استفاده می شود. این به طور گسترده برای برنامه های کاربردی وب استفاده می شود و مقیاس پذیری و قابلیت اطمینان را ارائه می دهد.
MongoDB: یک برنامه پایگاه داده NoSQL که از اسناد JSON مانند با انعطاف پذیری طرح واره استفاده می کند. این برای برنامه هایی با مدل های داده به سرعت در حال تغییر یا داده های بدون ساختار مناسب است.
2. وب سرورها:
Node.js : Node.js یک محیط زمان اجرا جاوا اسکریپت است (به این معنی که از چندین سیستم عامل پشتیبانی می کند) که از یک مدل ورودی/خروجی مبتنی بر رویداد و غیر مسدود کننده استفاده می کند. این بدان معناست که می تواند تعداد زیادی کاربر را به طور همزمان مدیریت کند. اگر قبلاً جاوا اسکریپت را میدانید، Node.js احتمالاً بهترین انتخاب شما برای ساخت برنامههای بلادرنگ مانند برنامههای چت، برنامههای بازی آنلاین و ابزارهای مشارکتی خواهد بود.
دیگر اخبار
فروش 4 ژوئیه در مقابل Amazon Prime Day: در هر فروش به عنوان کارشناس معاملات چه چیزی می خریدم
Apache HTTP Server 2: یک نرم افزار وب سرور منبع باز که محتوای وب را در سراسر اینترنت ارائه می کند. این به دلیل ثبات، امنیت و انعطاف پذیری خود شناخته شده است، که آن را به یک انتخاب محبوب برای میزبانی وب سایت ها و برنامه های کاربردی وب تبدیل می کند.
اگر تیم شما به استفاده از زبان هایی مانند PHP یا Python عادت دارد، ممکن است Apache برای آنها راحت تر کار کند.
LiteSpeed : LiteSpeed یکی دیگر از نرم افزارهای وب سرور است که به وب سایت ها کمک می کند تا تعداد زیادی از بازدیدکنندگان را بدون کاهش سرعت یا خرابی مدیریت کنند. برای مشاغلی که انتظار ترافیک زیادی دارند، مانند زمانهای شلوغ، عالی است. LiteSpeed همچنین با بسیاری از زبان های برنامه نویسی مانند Python، Ruby، PHP و Java کار می کند.
تصور کنید شرکتی با 20 سرور هستید که هر کدام می توانند 500 وب سایت را مدیریت کنند. با هم، این 10000 وب سایت است. اما اگر به LiteSpeed تغییر دهید، ممکن است بتوانید 20000 وب سایت را با همان تعداد سرور مدیریت کنید. این یک پیشرفت بزرگ است!
هنگام انتخاب وب سرور، بستگی به نوع وب سایت یا برنامه ای دارد که می سازید. اگر تازه شروع کرده اید، ابتدا Node.js را امتحان کنید. این ساده است زیرا برای ساختن قسمت جلویی و پشتی وب سایت خود فقط به یادگیری یک زبان (جاوا اسکریپت) نیاز دارید.
3. پروتکل های امنیتی:
گواهیهای SSL/TLS: اینها پروتکلهای رمزنگاری هستند که ارتباط امنی را از طریق یک شبکه کامپیوتری فراهم میکنند . SSL (Secure Sockets Layer) و جانشین آن TLS (Transport Layer Security) داده ها را بین سرور و کلاینت رمزگذاری می کنند و از محرمانه بودن و یکپارچگی در اتصالات آنلاین اطمینان می دهند.
4. سیستم کنترل نسخه:
بعدی در سفر شما این است که با سیستم های کنترل نسخه آشنا شوید. این سیستم ها به ردیابی تاریخچه پروژه کمک می کنند و کار مشترک با دیگران را امکان پذیر می کنند.
🔌 Learn Git : Git پرکاربردترین سیستم کنترل نسخه است که بیش از 70 درصد از تیم های توسعه نرم افزار از آن استفاده می کنند. این ابزاری است که باید بدانید، و اختصاص دادن حدود دو هفته برای یادگیری Git توصیه می شود.
توسعه دهندگان Back-end معمولا از این ابزارها و نرم افزارها برای ایجاد برنامه های کاربردی وب قوی، مقیاس پذیر و ایمن استفاده می کنند که ذخیره سازی داده ها، میزبانی سرور و رمزگذاری ارتباطات آنلاین را مدیریت می کنند.
اگر به دنبال دانش بیشتری در مورد توسعه باطن هستید، می توانید این راهنمای تصویری عمیق برای توسعه باطن را تحلیل کنید.
✅نقشه راه قابل چاپ
همچنین می توانید از این الگوی قابل چاپ Backend Developer Notion برای پیگیری پیشرفت خود استفاده کنید.
توسعه دهندگان مبتدی اغلب با انتخاب پشته فناوری مناسب مشکل دارند که باعث می شود وقت خود را تلف کنند و اغلب انگیزه خود را از دست بدهند.
برای کمک به شما، من این نقشه راه توسعهدهنده بکاند 6 ماهه را در Notion ایجاد کردم تا بتوانید پیشرفت خود را دنبال کنید و به اهداف خود در زمان واقعی پایبند باشید.
این نقشه راه:
🛤️ مسیری روشن برای جلوگیری از سردرگمی فراهم می کند.
🎯 با مشخص کردن اینکه از کجا شروع کنید و کجا پایان دهید به شما کمک می کند انگیزه خود را حفظ کنید.
📚 از یک طرح ساختاریافته، مشابه برنامه درسی مدرسه پیروی می کند.
📅 یادگیری خود را با اهداف هفتگی برای ابزارها و زبان ها سازماندهی می کند.
⏳ به شما کمک می کند تا در عرض 6 ماه از آن عبور کنید و همه چیزهایی را که نیاز دارید پوشش می دهد.
👀 دارای طراحی زیبا برای ناوبری آسان.
👏 نتیجه گیری
با پیروی از این نقشه راه و وقف تلاش مداوم برای یادگیری، میتوانید مهارتهای با ارزش توسعه باطن را به دست آورید و به خوبی برای ایجاد شغل در توسعه باطن آماده شوید.
اگر شما هم کنجکاو هستید که یک توسعه دهنده فرانت اند شوید، می توانید این مقاله را نیز بخوانید. 👉 نقشه راه برای تبدیل شدن به یک توسعه دهنده Frontend در 6 ماه
اگر تا به حال در مورد آینده توسعه frontend فکر می کنید، می توانید به این مقاله نیز نگاهی بیندازید.
منتظر محتوای ارزشمندتر باشید، و اگر آن را مفید میدانید، ممکن است کانال YouTube من را نیز دوست داشته باشید.
🤳 شبکه اجتماعی من: X
ارسال نظر