یادگیری مفاهیم برنامه نویسی سختی ها و چالش های خاص خودش رو داره. یکی از دلایلش میتونه این باشه که عموما مفاهیم برنامه نویسی «چیزهای انتزاعی» هستند و سخت میشه تو دنیای اطرافمون مفاهیم مشابه رو براش متصور بشیم. همین امر یادگیری مفاهیم برنامه نویسی رو سخت تر هم میکنه. بنده به شخصه به شدت طرفدار آموزش های مصور یا اصطلاحا visualized هستم و سعی می کنم مفاهیمی که به ذهن سپردنشون برام سخته رو بصورت مصور یاد بگیرم. اینطوری میتونم یه تصویرسازی ذهنی داشته باشم ازشون و بهتر اونارو یاد بگیرم.
به عنوان مثال کسب درک درست و عمیق از نحوه عملکرد garbage collector در گولنگ میتونه خیلی به ما کمک کنه کدهای با کیفیت تری با زبان Go بنویسیم. اما یادگیری این موضوع از طریق خوندن کتاب یا مقاله ممکنه به این راحتی ها نباشه. روی لینک زیر کلیک کنید و بصورت مصور نحوه عملکرد GC رو ببینید.
مقاله کامل رو میتونید از طریق لینک مطالعه کنید.
یادگیری الگوریتم ها و ساختمان داده های پرکاربرد در دنیای نرم افزار نقش خیلی مهمی در آینده حرفه ای ما میتونه ایفا کنه. اخیرا با کتابی آشنا شدم که سعی می کنه با به تصویر کشیدن قدم به قدم مراحل هر الگوریتم، یادگیری رو برای مخاطب ساده کنه. حتما اگه به دنبال یادگیری عمیق و ساده «الگوریتم ها و ساختمان های داده پرکاربرد» هستید، مطالعه این کتاب رو به شما پیشنهاد می کنم.
به تصویر زیر دقت کنید، برای خود بنده بسیار جذاب بود، خیلی ساده نقش پوشه /proc در لینوکس رو به خوبی توضیح داده.
اگه دوست دارید مفاهیم مهم برنامه نویسی و دنیای نرم افزار رو به صورت ساده و تصویر سازی شده یاد بگیرید، حتما پیشنهاد میکنم کارهای خانم Julia Evans رو دنبال کنید. میتونید اینجا یه لیست کامل از کارهاشون رو ببینید.
خانم Evans دسته خیلی وسیع و متنوعی از مفاهیم مهم مثل لینوکس، شبکه، دیتابیس، git، container، http و حتی css رو پوشش میدن. حتما در خبرنامه ش عضو بشید که از مطالب جدیدش باخبر بشید.
شاید کم و بیش در مورد الگوریتم raft شنیده باشید که در چند سال اخیر بشدت در ابزارهای توزیع شده استفاده میشه، از طریق لینک زیر میتونید یه نمونه تصویرسازی شده قدم به قدم، همه مراحل الگوریتم raft رو ببینید و راحت تر یادش بگیرید.
من در این مقاله فقط سعی کردم کمی بیشتر توجه شما رو به آموزش های مصور جلب کنم، تصاویر مصور هدفمند خیلی ساده تر و خلاصه تر مفاهیم رو توضیح میدن و معمولا از کیفیت فنی بالایی برخوردار هستند. هر وقت میخواید در مورد یه موضوع جستجو کنید حتما سعی کنید با اضافه کردن کلماتی مثل visualized تصویرسازی های مرتبط با موضوع مورد نظرتون رو هم ببینید، مطمئنا روند یادگیری رو برای شما ساده تر خواهد کرد.
اگر در طول مسیر یادگیری احتیاج به کمک دارید می توانید با بنده از طریق ایمیل در ارتباط باشید. همچنین برای اطلاع از مطالب جدید می توانید کانال تلگرام GoCasts را دنبال کنید.