سلام، من اشکان هستم و بعد از نوشتن چند تا پست نیمچه و نیمه در ویرگول تصمیم گرفتم یکم اطلاعاتُ منظم و مرتبتر کنم و دوباره ولی این بار یکم پایهایتر در مورد اصول برنامهنویسی مدرن و ابزارهایی که دور و برمون هستند و کمک میکنند که نسبت به بقیه برنامهنویسها متفاوت باشیم بنویسم. خساست به خرج نمیدم و هرچی که بلدم و خودم استفاده میکنمُ آموزش میدم و در واقع از این به بعد پُستهای من مناسب دو گروه خواهد بود ۱-کسایی که برنامهنویس هستند ولی دوست دارند خودشونُ بالا بکشند ۲-کسایی که میخوان برنامهنویسی رو یاد بگیرند ولی عجلهای ندارند و بیشتر روی کیفیت آموزش تمرکز دارند.
میخوایم ببینیم برنامه مدرن ماژولار چی هست اصولا، سورس کنترل یا ورژن کنترل به چه دردی میخوره و چرا همیشه باید اول به فکرش باشیم بعد کارمون رو شروع کنیم، ببینیم چرا تست نوشتن برای خودمون و کار تیمی مفیده و مفهوم test first چیه و با لایبراریهای مختلف تست نوشتن آشنا بشیم، نحوه جمع کردن یه پروژه خیلی بزرگ complex رو یاد بگیریم و در همین راستا با ابزارهایی مثل داکر و وب پک و... کار کنیم.
اگر پستهای قبلی من رو خونده باشید میدونید که من با ترجمه کردن واژههای مصطلح موافق نیستم و توی نوشتههای من بجای شیئگرا و آرایه و چارچوب و... Object Oriented , Array و Framework میبینید اصلا بیایید ۲ سال با هم ادامه بدیم آخرش پستهامون کلا انگلیسی باشه چون سواد اونجاست ما ایرانیها کپیکاری فقط بلدیم پس بهتره زبانمون خوب باشه که بتونیم رفرنسهای اصلی رو بخونیم.
در ادامه قراره برنامه نویسی هم یاد بگیریم، زبان خاصی هم مد نظر نیست یک برنامهنویس از نظر من خودش رو محدود به syntax خاصی نمیکنه البته که خود من هم زبانهایی رو ترجیح میدم وقتی دستم بازه ولی وقتی اصول رو بدونیم به نظرم خیلی سریع میتونیم خودمون رو با هر زبانی تطبیق بدیم پس جهت اطلاع زبان اصلی من برای سمت سرور Python هست و سمت کلاینت یک فریمورک ریاکتیو معمولا Reactjs کار میکنیم و تا حد امکان از تایپ اسکریپت استفاده میکنیم که یک سوپرسِتِ extend شده زبان جاوااسکریپت هست که اون رو قاعدهمندتر کرده. اما یه جاهایی ممکنه Node.js بنویسیم یا ++C یا جاوا سمت سرور یا با انگیولار و Vuejs سمت کلاینت کار کنیم و اصلا اهمیتی نداره برامون که زبان چیه و فریمورک کدومه وقتی قواعد برنامه نویسی رو بلد هستیم.
اونوقت خیلی جالب میشه برامون که چطور همه این فریمورکها اصول کارشون یکیه و فقط اسمها رو تغییر دادن و برای کسایی که سطحی نگاه میکنند گیجکننده به نظر میرسند.
در نهایت ما توی دنیایی زندگی میکنیم که برنامهنویسها برای بقاء به سمت فولاستک(آچارفرانسه) شدن حرکت میکنند پس باید شما تقریبا یک system admin خوب هم باشید، باید بتونید طراحی دیتابیس هم انجام بدید و اگر سلیقه خوبی هم داشته باشید باید بتونید دستی هم به سر و روی UI برنامهتون بکشید همزمان باید UX رو هم بشناسید پس قراره در کنار یک برنامهنویس خوب شدن اینها رو هم تا حدودی یاد بگیریم.
خوب یکم زیادی طولانی شد اما پُست بعدی من در مورد انتخاب ابزار مناسب برنامه نویسی (IDE) خواهد بود و لینکش رو بعد از نوشتن پست همین پایین هم اضافه میکنم... فعلا بدرود