تجربه من از مراسم SkillUP سال ۱۴۰۱ - قسمت ۲

تو قسمت قبل از اول مراسم SkillUP گفتیم که چیه و چرا برگزار شد و کی برگزار کرد و کیا بودن و چیا گفتن. رفتیم تو تایم استراحت و ناهار و مطلب تموم شد و حالا با قسمت دوم هستم خدمتتون!قسمت قبل رو اینجا میتونید بخونید: https://virgool.io/@hesanam/%D8%AA%D8%AC%D8%B1%D8%A8%D9%87-%D9%85%D9%86-%D8%A7%D8%B2-%D9%85%D8%B1%D8%A7%D8%B3%D9%85-skillup-%D8%B3%D8%A7%D9%84-%DB%B1%DB%B4%DB%B0%DB%B1-%D9%82%D8%B3%D9%85%D8%AA-%DB%B1-xvrox5tios1x ارائه پنجم - سعید تاج‌فرد از اسنپ دکترموضوعی که سعید در موردش حرف زد بحث خیلی خیلی مهمی بود. در مورد Clean Code در جاواسکریپت بود و اینکه چطور خودش با این موضوع آشنا شده. توضیح داد که clean code چی هست و شامل چه مباحثی میشه. در مورد اهمیتش صحبت کرد و اینکه چطور میشه که این موارد از قلم میوفته. یک سری نمونه نشون داد که فرق خوب و بد رو بهتر متوجه بشیم. کاش فقط یکم سرعت ارائه اش و صحبت هاش بیشتر بود چون یکم خواب آور شده بود فضا. مخصوصا بعد ناهار.ارائه سعید تاج‌فرد از اسنپ دکتر در مورد Clean Code in Javascriptچند تا مورد از چیزایی که میشد یاد گرفت از این ارائه:کد باید خودش خودشو توضیح بده یا self documented باشه.هیچوقت کار ها رو به "بعدا" موکول نکنید چون "بعدا" هیچوقت نمیاد.کپی/پیست کردن ممنوع! اینکار مساویه با کد کثیف.اسم گذاری ها خیلی مهمه! همه جا. خیلی خیلی مهم.توی کامنت گذاشتن ها خیلی دقت کنید! معمولا کامنت ها اون چیزی که واقعا هست رو توضیح نمیده.بهتره به جای استفاده از callback ها تا جای ممکن از promise ها و async/await استفاده کنید.بحث تست ها رو خیلی جدی بگیرید.ارائه ششم - پویا مظفر مقام از کافه‌بازاربه گفته شرکت کننده ها این ارائه بهترین ارائه بین همه بود. من نظری ندارم ولی خب موضوعی که پویا بهش پرداخته بود خیلی جذاب و خوب بود. البته به نظرم ممکنه برای همه جا نشه ازش استفاده کرد تا تصمیم عاقلانه ای نباشه تو همه موارد. موضوع پویا در مورد Micro Frontend بود. از تجربیاتش تو پروژه های کافه بازار گفت و خوبیش این بود که چیزایی که میگفت کاملا practical و قابل لمس بود. شوخی ها و تیکه های ریزی هم که وسطاش میومد پویا خوب بود.ارائه پویا مظفر مقام از کافه بازار در مورد Micro Frontendچند تا مورد از چیزایی که میشد یاد گرفت از این ارائه:یک پروژه تقسیم میشه به چند پروژه مستقل که تیم ها میتونن جداگانه روشون کار کنن.به کمک Micro Frontend میتونیم سرعت توسعه رو به شدت افزایش بدیم.روند onboard کردن افراد جدید توی این مدل پروژه ها خیلی سریع تر اتفاق میوفته.به کمک این روش، اگر یک تیم روی یک فیچر خاص کار میکنه دیگه لازم نیست نگران خراب شدن بقیه قسمت ها باشیم چون هر کدوم از سرویس ها برای خودشون یه پروژه مجزا هستن.بحث module federation توی وب-پک مطرح شد و پویا دلایلش برای اینکه از این مورد استفاده کرد رو توضیح داد.اگر تیم خیلی بزرگ و پروژه خیلی بزرگی دارید بهتره به اینکه برید سمت micro frontend فکر کنید وگرنه ممکنه خودتونو تو دردسر بندازید.به کمک Monorepo میشه بحث Codebase رو کنترل و مدیریت کرد.ارائه آخر - سید صالح شجاعی از سایت شببحث صالح در مورد Monorepo بود و مزایایی که داره. یه جورای حرفاش در راستای ارائه قبلی بود. در کل Monorepo باعث میشه که تمام Codebase اپلیکیشن شما یکجا جمع بشه و عملا یک ریپازیتوری(چه کلمه سختی?) همه قسمت های اپلیکیشن رو تو خودش داره. حالا اگه این پروژه فرانت-اند باشه میتونه این شکلی باشه که هر قسمت یا لاجیک یه ریپو باشه و با تکنولوژی هایی مثل lerna مدیریتشون کنیم.عکس از ارائه سید صالح نداشتم. یه چیزی گذاشتم اینجا خالی نباشه. دمش گرم و ببخشیدچند تا مورد از چیزایی که میشد یاد گرفت از این ارائه:مونو ریپو به حفظ یکپارچگی کدبیس کمک میکنه و باعث میشه مجبور نباشید وقت و بی وقت مزاحم همکارتون بشید.به کمک مونوریپو میشه از یک کانفیگ برای چندین پروژه استفاده کرد.بحث CI/CD خیلی راحت تر انجام میشه و dependency های مشترک بین پروژه ها میتونن با هم به اشتراک گذاشته بشن.نم نم که پروژه همینطوری بزرگ تر میشه مدیریت کردنش هم سخت تر میشه برای همین ابزار هایی مثل Bazel, Rush و Buck بوجود اومدن که بهمون کمک کنن.ابزار های دیگه ای هم هستن مثل Lerna و Yarn Workspaces (توضیحش دیگه طولانی میشه خودتون زحمت سرچ کردنش رو بکشید)کلی ابزار دیگه هم معرفی شد که هر کدوم مزایا و معایبی داشتن که من اینجا اشاره نمیکنم چون خیلی طولانی میشه.یه کار جالبی هم که کرده بود این بود که لینک منابعش هم در آخر آورده بود. دمش گرم.شبکه سازیبعد از ارائه ها بچه ها راهنمایی شدن به بیرون سالن ارائه و به تیم های ۱۰-۱۵ نفره تقسیم شدن و دور هم جمع شدن و باهم صحبت کردن! متاسفانه من دیگه اینجای مراسم نبودم و رفته بودم و این این اتفاق جا موندم. به گفته بچه های شرکت کننده این کار باعث شد یخ همه بشکنه و بیشتر باهم آشنا بشن. امیدوارم روابط خوبی شکل گرفته باشه.اینجوریپنل گفت و گوتو آخریم مرحله هم ارفع اومد و با اجرای خودش میزبان همه دوستانی بود که ارائه دادن. در مورد بعضی مسائل صحبت کردن و سوالای شرکت کننده ها رو جواب دادن. من راستش چون خودم نبودم دقیق نمیتونم در موردش چیز دقیقی بگم پس پیشنهاد میکنم وویس ضبط شده اش رو گوش بدید: https://drive.google.com/file/d/1LHBOvB4cZmyyeqQbYFSP9ld4LYE0u-3W/view?usp=sharing برای کسایی که کنجکاو بودن توی اون گیفت ها چی بود، یه دونه عروسک بود و یه جفت جوراب که روش عکس دایناسور داشت! البته من که خانمم هیچی نشده برای اون جوراب ها نقشه کشید و عروسکه هم همینطوری ول معطله.جمع بندیاین مراسم در کل مراسم خوبی بود، به جز مشکلاتی که اولش یکم بود بقیه اش رو روال رفت جلو. دمشون گرم. به نظرم خیلی نیاز داریم به این مدل رویداد ها. اگه بخوام مقایسه کنم با ReactConf چند سال پیش میتونم بگم به مراتب نحوه برگزاری، پذیرایی، ارائه دهنده ها و ... بهتر بود.نکته بعد به نظرم در مورد ارائه دهنده میتونم بگم واقعا سطح مباحث خیلی بهتر شده بود! (من کلا اون ReactConf رو دارم مقایسه میکنم) تسلط ارائه دهنده ها به مراتب بیشتر بود و ریلکس و راحت مباحث رو میگفتن و لرزشی تو صداشون نبود. این به نظرم خیلی خیلی مهمه چون خیلی ها ممکنه از نظر فنی خیلی آدمای خفنی باشن ولی توی ارائه دادنش به بقیه مشکل داشته باشن. به نظرم بالانس خوبی رعایت شده بود و افرادی که زحمت ارائه ها رو کشیدن کارشونو به بهترین شکلی که میشد انجام دادن. دمشون گرم.دمت گرم کوئرادمت گرم دیجی کالادمتون گرم جامعه برنامه نویس های ایرانبه امید رویداد های بیشتری از این جنس در آینده ای نه چندان دور.