با تدریس کیوان علی محمدی
مهندس نرم افزار در شرکت LTP (هلند)
داستان این دوره از اونجایی شروع شد که یک روز مشغول به کار بودم که گزارش یک باگ خطرناک رو بهم دادن و گفتن باید سریع رفع بشه. منم همراه اون برنامه نویسی که اون قطعه کد رو قبلا توسعه داده بود مشغول دیباگ و بررسی کد شدیم و در کمال ناباوری متوجه شدم مشکل خیلی چیز سادهای بوده که احتمالا علتش درک نادرست برنامه نویس از نحوه رفتار اشیاء و پیادهسازی نادرست اون بود. ایشون یک شی درست میکرد و همون شی رو بر روی تعداد زیادی رکورد استفاده میکرد و این باعث میشد که کد تخفیف به شکل اشتباهی برای خیلی از کاربران ارسال بشه که در نتیجه به ضرر مالی شرکت ختم میشد. این موضوع باعث شد به این فکر کنم که خیلی از ماها ممکنه شی گرایی رو به صورت خیلی پیش پا افتاده یاد گرفته باشیم و واقعا درک درستی از دلیل و فلسفه و چرایی شی گرایی نداشته باشیم.
سالها پیش، خود من خیلی وقتها از خودم میپرسیدم که واقعا این شی گرایی چه مزیتی میتونه داشته باشه؟! بیشتر به این فکر میکردم که مثلا توی زبانی مثل PHP همون نوشتن توابع میتونه روش بهتری برای نوشتن کدها باشه و اگه یه سری کلاس و شی داشته باشیم بیشتر میخواد پیچیدگی به پروژه اضافه کنه اما خب این تا زمانی بود که هنوز شی گرایی رو به درستی درک نکرده بودم. بعد از اون یکی از لذت های واقعی من در کدنویسی، مدل کردن و حل مساله با شی گرایی بوده و هست.
واقعیت اینه که خیلی از ماها مثل خود بنده شی گرایی رو با یک دید خیلی محدود و سطحی یاد گرفتیم، بسنده کردیم به آموزشهایی که صرفا میگفتن شی و کلاس و مثالهایی از درخت و کوه و پیتزا میزدن. قطعا این مثالها برای شروع خوب بود ولی از یه جایی به بعد دیگه خیلی نمیتونست به درک و فهم ما از شی گرایی کمک کنه.
برای اینکه ببینیم آیا درک درستی از این موضوع داشتیم یا نه بهتره این سوالات رو از خودمون بپرسیم!
خب اگه اکثر این سوالات رو به درستی نمیتونید پاسخ بدید یا براتون خیلی گنگ و مبهمه، در جوابشون می تونم بگم شما هم درگیر همین مشکل عدم درک درست و صحیح از شی گرایی هستید.
کار از اونجایی خطرناک میشه که کسی که این شی گرایی رو به صورت سطحی درک کرده شروع به کار با فریمورکها میکنه و خب فریمورکی که تقریبا اکثر موارد پایهای رو حل کرده ابزار همیشگی اون شخص میشه. این خوشحالی موقتیه چون وقتی با پروژهای که به صورت ذاتی پیچیدگی داره رو به رو میشه، بدون تحلیل درست از مدلسازی مساله در بخشهای مختلف کدهایی رو تولید میکنه که به سال نرسیده هزینههای وحشتناکی برای نگهداریش ایجاد میکنه و احتمالا برنامه نویس های جدید پیشنهاد بازنویسی جدید میدن و خب می دونیم که سازمانها و کسب و کارها هم اکثرا موافق بازنویسی مجدد یک سیستم نیستن و حق هم دارن چون تولید اون سیستم علاوه بر هزینه مالی زیاد، هزینه وحشتناکی از لحاظ زمانی ایجاد میکنه.
نتیجه میگیریم پیاده سازی درست یک مساله و مدل سازی خوب اون در شی گرایی میتونه کدهایی رو ایجاد کنه که در نهایت به راحتی میشه براشون تست نوشت، اونا رو توسعه داد و ازشون نگهداری کرد که که منجر به هزینه نگهداری کمتر با بهره وری بیشتر برای اون سازمان میشه و اینجاست که ارزش واقعی یک توسعه دهنده نرم افزار خودش رو نشون میده.
خیلیها این سوال براشون میاد که آیا مشکل ما فقط درک نادرست از شی گرایی است؟ آیا این محصول نرم افزاری تنها مشکلی که دارد پیاده سازی نشدن کدهای آن بر اساس یک ساختار درست شی گرایی است؟ هیچ مشکل دیگری ندارد؟
قطعا این سوالات همگی درست هستند، از مشکلات دیگهای که می تونه دردسرهای زیادی رو برای نگهداری یک کد بیس ایجاد کنه می تونیم عدم وجود تستهای خودکار، شناخت اشتباه از نیازمندیهای کاربر نهایی، عدم ترجمه صحیح نیازمندیها از سمت کسب و کار یا سازمان، عدم پیاده سازی معماری متناسب با نیازهای روز آن و ... نام ببریم.
خب چرا به شی گرایی اشاره می کنیم؟ چون این موضوع نسبت به اکثر موارد بالا (به جز موارد کسب وکار) پایهایتر محسوب میشه و اگر این رو اشتباه جلو بریم با یه درصد بالایی، در خیلی از موارد دیگه هم راه رو کج میریم.
هدف اصلی این دوره، مرور و باز تعریف مفاهیم شی گرایی از یک دیدگاه جدیده که به برنامه نویسان کمک میکنه در مواجهه با مسائلی که در شی گرایی مطرح میشه بتونن تصمیمهای بهتری بگیرن و کدهایی تولید کنن که هزینه نگهداری اون خیلی پایین باشه. با این روش هم خود برنامه نویس احساس بهتری نسبت به کدهای نوشته شده داره و لذت بیشتری از کدنویسی میبره و هم سازمان هزینههای کمتری برای تولید و نگهداری نرم افزار پرداخت میکنه.
این دوره به صورت جلسههای آنلاین (نه ویدیوی از قبل ضبط شده) برگزار میشه که دانشجویان در هر جلسه به صورت آنلاین به همراه استاد در جلسه حضور دارند. هر جلسه ۲ ساعت زمان داره که بسته به محتوای هر جلسه حدود ۱.۵ ساعت از جلسه به ارائه محتوا و نیم ساعت باقی مانده به پرسش و پاسخ در رابطه با محتوای اون جلسه اختصاص پیدا میکنه.
محتوای ارائه شده در دوره به صورت سرفصل به سرفصل هست که در این بخشها صرفا کدهایی رو داریم که به عنوان Sample نوشته میشن، اما در بخش انتهایی دوره یک پروژه Meetup داریم که با فریمورک لاراول اون رو پیاده سازی میکنیم تا در یک پروژه با هدف مشخص استفاده از روشهای ارائه شده در دوره مرور بشه.
این دوره از ۱۳ خرداد ۱۴۰۲ هر هفته یک جلسه روز شنبه ساعت ۱۸ الی ۲۰ برگزار میشه.
بله قطعا، تا ۳ جلسه اول اگه فک کردین این دوره چیز خاصی به شما اضافه نمیکنه می تونین درخواست بازگشت وجه بدین و به صورت ۱۰۰ درصد وجه زمان ثبت نامتون رو دریافت کنید.
در ابتدای همین بخش سوالاتی رو مطرح کردیم که هر کسی می تونه از خودش بپرسه و بر اساس اونها تصمیم بگیره این دوره میتونه بهش کمک کنه یا نه، اگر جواب اکثر اون سوالات خیر هست قطعا این دوره میتونه تاثیر خوبی در درک شما از شی گرایی داشته باشه. و اگه باز هم براتون ابهاماتی وجود داره با تیم پشتیبانی در ارتباط باشید که با کمک مدرس شما رو راهنمایی کنن.
ما به کیفیت و اثربخشی محصول خود اعتقاد داریم و به همین منظور گارانتی بازگشت وجه یک ماهه به شما ارائه می دهیم تا خریدی بدون ریسک و بدون نگرانی داشته باشید.
هزینهای که بابت دوره پرداخت میکنید تا 1 ماه در اختیار خودِ شماست. اگر پس از خرید دوره بهصورت جامع، به هر دلیلی از شرکت در آن منصرف شدید تا ١ ماه پس از خريد امكان انصراف و بازگشت كامل وجه برای شما درنظر گرفته شده است. برای انصراف از دوره لازم است در بازه زمانی تعیین شده درخواست خود را با پشتیبانی مطرح کرده و حداکثر ۲۵% از دوره را مشاهده کرده باشید.
پس از انصراف همواره منتظر نظرات و پیشنهادات شما برای بهبود کیفیت دوره و نحوه ارائه آنها هستیم و امیدواریم در حوزه موردنظر خود به موفقیت و فرصتهای بزرگی دست پیدا کنید.
آموزش مهارتمحور به این معنیست که در طول دوره و باتوجه به میزان پیچیدگی هر مبحث آموزشی تمرین، آزمون و پروژههای مختلفی برای شما در نظر گرفته شده است تا یادگیری خود را تکمیل کنید. همچنین برگزاری وبینارهای متعدد و عضویت در گروه تلگرامی دوره امکان ارتباط با اساتید، منتورها و سایر دانشجویان را برای شما فراهم میکند. وضعیت آموزشی هر دانشجو برای منتورهای دوره قابل رصد و ارزیابیست زیرا منتورها از بین دانشجویان برتر انتخاب شدهاند و بهخوبی با فرایند آموزشی و چالشهای دوره آشنایی دارند. پایبندی به این متد آموزشی علاوهبر ارتقا سطح مهارتی که دارید، شما را با چالش هاى فنى و نحوه مدیریت آنها آشنا مى كند و اين همان چيزىست كه برای حضور در بازار كار به آن نياز داريد.
هیچ سوالی بیجواب نخواهد ماند. پس از ورود به دوره امكان پرسش و پاسخ و رفع اشكال براى شما فراهم است. شما میتوانید در هر ساعتی از شبانه روز سوالات خود را مطرح کنید و اساتید یا منتورهای دوره در سريعترين زمان ممكن به شما پاسخ خواهند داد. حضور در این فضای تعاملی و همراهی با دیگران میتواند در ارتقای مهارتهای نرم دانشجویان و ایجاد یک رقابت سالم نقش موثری داشته باشد.
فعالیتهای آموزشی تعریف شده در دوره مانند مشاهده جلسات، تمرین، آزمون، پروژه، پاسخ دادن به سوال دیگران و غیره با شاخصی بهنام xp ارزیابی میشوند که منجربه رتبهبندی دانشجویان خواهد شد. به این معنی که دانشجویان با انجام هر کدام از موارد بالا و کسب امتیاز (xp) مربوط به آن فرایند، جایگاه خود را در رتبهبندی دوره ارتقا میدهند. طبیعتا دانشجویانی که xp بیشتری دارند نسبت به دیگران از رتبه و مهارت بهتری برخوردار هستند و آمادگی بیشتری برای ارزیابیهای پایان دوره و کسب موقعیتهای شغلی دارند. هر فعالیتی xp مشخصی دارد تا علاوهبر تشویق دانشجو برای پایبندی به آموزش، یک معیار مشخص و عادلانه برای انتخاب دانشجویان برتر ارائه دهد. بدین ترتیب شما میتوانید میزان مشارکت و پیشرفت خود را با دیگران مقایسه و در فرصت باقیمانده از دوره، برای بهبود وضعیت آموزشی خود تلاش کنید.
هرساله شرکتهای معتبری از سراسر ایران اقدام به جذب نیرو در حوزه تکنولوژی میکنند و بسیاری از این مجموعهها از سونلرن درخواست معرفی نیروی متخصص دارند. در این شرایط سونلرن خود را موظف میداند تا افراد برتر هر دوره را اعتبارسنجی کرده و به شرکتهای متقاضی جهت استخدام معرفی کند. سایر دانشجویان نیز درصورت بهرهمندی کامل از محتوای دوره و تکمیل مهارتهای خود بهراحتی قادر به اشتغال و فعالیت در زمینه موردنظر خود خواهند بود.
پشتیبانی طولانیمدت سونلرن از زمان ثبت نام شما، به مدت 1 سال همراهتان خواهد بود . علاوه بر این در صورت استخدام شما پس از دوره، با هماهنگی واحد پشتیبانی می توانید از 1 ماه همراهی پس از استخدام هم استفاده نمایید تا با خیال راحت و دلگرمی بر جایگاه شغلی که شایسته شماست تکیه بزنید. طبیعتا دانشجویانی که طبق زمانبندی دوره، یادگیری را پیش ببرند از مدت زمان پشتیبانی بیشترین بهره را خواهند برد. این پشتیبانی شامل پاسخ به مشکلات فنی، آموزشی و موارد مربوط به اشتغال شما است.
محتوای دورهها همواره در اختیار شماست و لازم نیست نگران منقضی شدن آن و یا از بین رفتن پروفایل کاربری خود باشید چرا که بدون محدودیت زمانی و مکانی به آن دسترسی دارید. درضمن هر زمان که برخی مباحث آموزشی تغییر کرده و نیازمند بهروزرسانی باشند، محتوای بهروزشده سرفصلهایی که خریداری کردهاید در پنل کاربری شما در سایت 7learn.com قرار خواهد گرفت.
کار کردن در شرکتهای بزرگ و پویا مزایای زیادی در اختیار شما قرار میدهد که رشد فردی، بروز خلاقیت، ارتباطات مناسب و درآمد خوب تنها بخشی از این مزایا هستند. برای اینکه به جمع حرفهایها راه پیدا کنید و در کار خود بیبدیل باشید، باید همواره بهروز بوده و در جایگاه خود حرفی برای گفتن داشته باشید. دورههای متخصص سنلرن، دانش موردنیاز و مهارتهای کاربردی را در اختیارتان قرار میدهند تا با پشتکار و انگیزه فراوان بتوانید مانند بسیاری از دانشجویان سون لرن در کسبوکار و یا شغل خود موفق باشید.
در این دوره دانش فنی موردنیاز شما تدریس میشود، کافیست نهایت استفاده را از آن داشته باشید تا مانند بسیاری از دانشجوهای موفق سونلرن، از فرصت های شغلی چنین شرکتهای مطرحی بهرهمند شوید.