Skip to content

Latest commit

 

History

History
226 lines (226 loc) · 14.9 KB

ReadMe-fa-IR.md

File metadata and controls

226 lines (226 loc) · 14.9 KB

نقشه راه توسعه دهندگاه زبان Go

نقشه راه فراگیری زبان Go در سال 2021

در زیر مسیر راه فراگیری زبان Golang و ابزارها و کتابخانه های مفید برای توسعه نرم افزار بر مبنای این زبان برای شما گرد آوری شده است. من این نقشه راه را برای تمام کانی که از من می پرسند "برای اینکه توسعه دهنده Golang شوم باید چکار کنم؟" آماده کرده ام

简体中文版 繁體中文版 日本語版 Versão em Português do Brasil 한국어 Русский Українська

فارسی

سلب مسئولیت

هدف از ساخت این نقشه راه نشان دادن یک دورنما از ابزارهای توسعه در Golang است. اگر در مورد چیزهایی که باید یاد بگیرید دچار تردید شده اید این نقشه راه به شما کمک می کند. البته اصلا شما را تشویق به استفاده از ابزار خاصی نمیکند. شما خودتان باید درک این را داشته باشید هر ابزاری در چه مواردی از بقیه ابزار ها برتری دارد که برای توسعه نرم افزار خود، متناسب با نیازتان از کدام ابزار استفاده کنید. همیشه ابزار هایی که ترند میشوند لزوما بهترین انتخاب نیستند!

ستاره بدهید! ⭐

اگر از این نقشه راه خوشتان آمد یا از آن برای یافتن راه حلی برای توسعه نرم افزار هایتان استفاده م کنید، لطفا به این پروژه ستاره بدهید. متشکرم!

نقشه راه

Roadmap

منابع

  1. پیش نیازها

  2. مهارت های عمومی توسعه نرم افزار

    • فراگیری GIT، ساخت تعدای ریپازیتوری در گیت هاب و به اشتراک گذاری کدهایتان با دیگران
    • آشنایی با پروتکل Http(s) و انواع درخواست های آن(GET, POST, PUT, PATCH, DELETE, OPTIONS)
    • از استفاده از گوگل نترسید، میتوانیداز اینجا مهارت های جستجو قدرتمند رد گوگل را فرا بگیرید
    • تعدادی کتاب در باره طراحی الگوریتم و شاختما داده ها بخوانید
    • درباره مبانی پیاده سازی احراز هویت مطالبه کنید
    • با مفاهیم توسعه نرم افزار بر مبنای SOLID و معماری های توسعه نرم افزار آشنا باشید
    • مبانی و انواع روش های تست نرم افزار را بدانید (unit, integration, e2e)
  3. ابزار های CLI

    1. cobra
    2. urfave/cli
  4. چارچوب های توسعه وب سایت و مسیریاب ها

    1. Beego
    2. Chi
    3. Echo
    4. Fiber
    5. Gin
    6. Revel
  5. پایگاه های داده

    1. پایگاه داده های رابطه ای
      1. SQL Server
      2. PostgreSQL
      3. MariaDB
      4. MySQL
      5. CockroachDB
    2. پایگاه داده های ابری
    3. موتورهای جستجو
    4. پایگاه داده های غیر رابطه ای
  6. نگاشت داده به رابطه(ORM)

    1. Gorm
    2. Xorm
  7. (caching)حافظه نهان

    1. GCache
    2. حافظه نهان توزیع شده
      1. Go-Redis
      2. GoMemcached
  8. Logging

    1. چارچوب های Log
    2. سیستم های مدیریت Log
    3. ردیابی توزیع شده
  9. ارتباط بی درنگ

    1. Centrifugo
    2. Melody
  10. ابزارهای توسعه API

    1. REST
    2. GraphQL
  11. دانستن موارد زیر نیز خوب است

  12. Testing

    1. تست های integration، behavior و unit
      1. GoMock
      2. Testify
      3. GinkGo
      4. GoMega
      5. GoCheck
      6. GoDog
      7. GoConvey
      8. Dockertest
    2. تست E2E
  13. زمان بندی وظایف

  14. معماری مایکروسرویس

    1. Message-Broker
    2. ساخت message-driven ها
    3. چارپوب های توسعه
    4. RPC
  15. الگو های توسعه برنامه در Golang

جمع بندی

اگر فکر میکنید که میتوانید این نقشه راه را بهبود بدهید، لطفا تغییرات خود را در قالب یک PR و ثبت یک issue برای ما ارسال کنید. من همواره در تلاش برای بهبود این پروژه هستم، پس میتوانید برا ستاره دادن به این پروژه از تغییرات آیند ه آن باخبر شوید.

ایده گرفته شده از: نقشه راه توسعه دهنده گان ASP.NET Core

مشارکت

این نقشه راه با استفاده از Draw.io ساخته شده است. شما می تواندی با استفاده از فایل golang-developer-roadmap.xml تغییرات خود را در این پروژه اعمال کنید. برای اعمال تغییرات خود در فایل، پس از ورود به سایت، با کلیک بر روی گزینه Open Existing Diagram فایل xml این پروژه را انتخاب کرده و تغییرات را روی آن انجام دهید. شما مختارید هر تغییری را در آن اعمال کنید. بعد از ثبت تغییرات خود، آردس فایل جدید را در ReadMe بروزرسانی کنید و فایل را به همره ReadMe جدید در قالب یک PR برای ما ارسال کنید فراموش نکنید که فایل جدید را در قالب png و با بزرگ نمایی 400% ذخیره کنید. سپس با استفاده از سایت Compressor.io آن را فشرده کنید.

  • یک درخواست PR بر منبای تغییرات بهبود یافته تان ایجاد کنید
  • درباره ایده هایتان در issue بحث کنید
  • ایده هایتان را گسترش بدهید

لایسنس

License: CC BY-NC-SA 4.0