tg-me.com/djangolearn_ir/993
Last Update:
ساختمان داده و الگوریتم به دردمون نمیخوره. چرا بخونیم این مطالب قدیمی رو؟
این رو شاید از خیلیا شنیده باشین. اکثرا کسایین که صرفا از ابزار آماده استفاده میکنن و کد میزنن تا یه چیزی آماده شه.
واقعیت بخواین، بیشتر کسایی که تو حوزه IT فعالیت میکنن همینو میگن. آخه کجا نیازه که یه مهندس هوش مصنوعی الگوریتم و ریاضیات بدونه؟ کجا نیازه که یه BI developer، ساختمان داده و تحلیل الگوریتم بدونه؟(شوخیه صرفا)
مشکل جایی شروع میشه که بسیاری از کسب و کارها نیازمند یک اپراتور هستن تا یک مهندس نرم افزار.
الان خیلی از پوزیشن هایی که من میبینم اپراتور میخوان. البته پوزیشن های اکادمیک طبیعتا مهندس میخوان به جای اپراتور.
خلاصه که اگر میخواین واقعا پیشرفت کنین تو کارتون، یه سری چیزایی که بیسیک هستن رو باید بدونین. فرق نمیکنه تو حیطه BI کار میکنید یا AI یا توسعه نرم افزار.
خب میریم برای این که بگیم چیزای بیسیک چیا هستن؟
شماره اول، زبان C: فرق نمیکنه که چه زبانی رو دوست دارین. ابتدا باید الفبای کامپیوتر و برنامه نویسی رو با زبانی مثل C تمرین کنین و مفاهیم رو یاد بگیرین. بعد از این که مفاهیم ابتدایی رو با C یاد گرفتین میتونین سراغ هر زبانی دیگه برین.
شماره دوم، اصول شی گرایی: شی گرایی یک سری اصوله و با توجه بر دنیای واقعی چیده شده. سعی کنید اصول شی گرایی رو اول درک کنید و بعد با یک زبانی که شی گرایی رو گسترده استفاده میکنه شروع به تمرین کنید ( مثلا جاوا یا C++). ممکنه در آینده عمده کار شما با یک زبان غیر شی گرا باشه اما یادگیری شی گرایی برای هر مهندس نرم افزاری واجبه.
شماره سوم، ساختمان داده: شاید به نظر من مهمترین درس مهندسی کامپیوتر، درس ساختمان داده باشه. بی شک جز دروسیه که دائما باید مرورش کنید و در حقیقت قلب تپنده محسوب میشه.
چون اصلی ترین و پایه ای ترین اصول رو ازش یاد میگیرید، اصولی که زیر بنای تمام تکنولوژی های نرم افزاری هستن.
شماره چهارم، الگوریتم: در حقیقت مکمل ساختمان داده محسوب میشه و بعد از ساختمان داده، مهمترین درس برای هر مهندس نرم افزاره. مباحث ساختمان داده و الگوریتم به اندازه ای مهم هستن که قابل بیان نیستن. فقط باید در کالبد شکافی یک ابزار ( مثلا یک پایگاه داده )کارتون بهشون بخوره که متوجه بشین چقدر دیدتون رو افزایش میدن نسبت به انتخاب ابزار یا تکنولوژی.
شماره پنجم، دیتابیس و SQL: طبیعتا به عنوان یک مهندس نرم افزار، یکی از چالش های شما میتونه ذخیره و بازیابی اطلاعات باشه. خصوصا اگر تو زمینه های هوش مصنوعی یا حوزه های مرتبط با داده کار میکنید امکان نداره که دیتابیس نیازتون نشه. گذشته از اون باید با روش های مختلف طراحی پایگاه داده و بهینه سازی کوئری ها نیز اشنا باشید.
مهمترین اصول بیسیک این موارد هستن. موارد دیگه ای هم مثل طراحی کامپایلر یا مهندسی نرم افزار هستن که در قدم های بعدی اهمیت پیدا میکنن و بسته به حیطه کاری نیازتون بهشون میفته.
BY جنگولرن
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/djangolearn_ir/993