آرمین
4 سال پیش توسط آرمین مطرح شد
12 پاسخ

انتظار از خود در زمان يادگيري برنامه نويسي

سلام دوستان
من درحال يادگيري لاراول هستم به صورت خودآموز و طبيعتاً در ابتدائي كار بتونم پروژه وب سايت خبري يا فروشگاهي بزنم. گاهي أوقات بعضي سوال هايي برام پيش مياد و نميتونم راه حل هايي براي كدنويسي و پياده سازيش ارائه بدم مثلا سيستم لايك و تگ و ..
و اين باعث ميشه فكر كنم من كه نميتونم اين مسائل رو حل كنم پس شايد بحث بك اند براي من مناسب نباشه و برم سمت فرانت. باز اونجا هم به يك مسئله مثلاً ساخت تايمر يا ساعت در فرانت مواجه شم و نتونم حل كنم باز مردد ميشم.
سوالم اينه كه من كه در ابتداي يادگيري به صورت خودآموز بك اند هستم آيا بايد از خودم انتظار پياده سازي تمامي قسمت هاي چالشي رو داشته باشم و بتونم اين كار رو انجام بدم يا نه؟
و اين حل مسئله هاي مختلف با عضو يك گروه و تيم شدن حل ميشه يا هنگام استخدام به عنوان برنامه نويس هم بايد به صورت شخصي و مستقل اون وظيفه اي كه به ما واگذار شده رو حل كنيم و كسي زياد كمك بقيه نميكنه؟
ممنون ميشم راهنمايي كنيد
تشكر


ثبت پرسش جدید
رضا
تخصص : توسعه دهنده وب (php, laravel,...
@rezakh 4 سال پیش آپدیت شد
1

سلام دوست عزیز
چالش همیشه در برنامه‌نویسی وجود داره و این موضوع مختص به فرانت یا بک‌‌اند نیست. از طرفی هیچکس در دنیا وجود نداره که همه‌چیز رو بلد باشه و زمان نوشتن کد با مشکل یا چالش روبرو نشه وقتی هم شما در حال یادگیری لاراول هستی تا زمانی که یک دوره رو کامل ندیدی نباید انتظار داشته باشی که هنگام برخورد با مشکلات بتونی سریعا حدس بزنی مشکل کجاست یا بهترین روش پیاده سازی هر چیزی مثل: سیستم لایک یا ... رو بدونی.
اول از همه مطمئن شو مسیری که انتخاب کردی همونی هست که مورد علاقته (چه بک‌اند چه فرانت‌اند)
دوم سعی کن خود مدیریتی خوبی داشته باشی و از مسیرت منحرف نشو (از این شاخه به اون شاخه نپری)
سوم مطمئن باش که اگه مفاهیم پایه رو خوب درک کنی به راحتی میتونی سخت‌ترین مسائل رو هم حل کنی فقط باید صبر داشته باشی و دلسرد نشی!


در تیم برنامه‌نویسی هم اگر منطقی باشن، انتظار دارن شما درک درستی از مفاهیم و نحوه کار فریم‌ورک داشته باشین، نه اینکه همه‌چیز رو بلد باشین! مثلا در جاوااسکریپت انتظار دارن شما درک درستی از Promiseها و ارسال اطلاعات داشته باشین اینجوری اگر بهتون گفتن بجای Fetch‌ از Axios استفاده کنید، چون اصل موضوع رو درک کردین اصلا مشکلی ندارین!

در زمینه کمک هم همیشه افراد تیم به بقیه کمک میکنن وگرنه اصول کار تیمی زیر سوال میره!


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 4 سال پیش آپدیت شد
1

سلام در شرکت ها بهتره روی پای خودت بایستی و و این مواردی رو که فرمودی بلدی باشی یا با هم فکری و مشورت دیگران راحلی پیدا کنی ولی خودت هم باید این مواردو از نظر تحلیل و منطق پیاده سازی تا حدودی بلد باشی. در شرکت ها احتمال دار تکی بکند بهت بدن یا گروهی ولی نمیشه از اعضای گروه زیاد انتظار داشت یا به اونها متکی و وابسته بود تا حدود متوسط این وابستگی اشکال نداره و گرنه به فن کارت شک میشه.
من فکر میکنم بهتر برای یادگیری لاراول از دوره های راکت استفاده کنی و شما که در اول راه هستی فروشگاه اینترنتی رو فعلا فاکتور بگیر و یه وب سایت خبری با تعدادی دسته بندی و خبر ثبت کن واسه خبرها سیستم کامنت و لایک ایجاد کن. جستجویی انجام بده. عجله نکن. برای ورود به بخشی مثلا ثبت لایک برای خبر ابتدا باید با مباحث پایه لایک اشنا بشی در هر مورد و مسئله ای اینو باید به خاطر داشته باشی که دیتابیس سیستم لایک باید چه جوری باشه و از چه مکانیزمی برای این کار باید استفاده بکنی. باید این مواردو چون تازه کار هستی بشینی فکر کنی تحلیل کنی و منطق برنامه یعنی روش انجامشو با تفکر و تحقیق بیرون بیاری سخت نیست و بعد مدتی در هر مسئله ای میتونی ورود کنی و ذهنت نسبت به این مسائل ورزیده میشه. گفته باشم شما از موارد خلیی ساده شرو کن و خیلی کم سوراغ مسائل سنگین تر برو.
برنامه نویسی موفق اون کسی هست که اول منطق برنامه رو در ذهنش ترسیم میکنه بعد شروع به کد نویسی میشه. شما از خودت هیچ انتظاری نداشته باش و مسائل کوچکو حل کن تا ذهنت در این جور کارها ورزیده بشه و با حل مسائل کوچک مسائل بزرگتر برای شما راحت میشه.
من هنوزم که هنوزه مسائل کوچکو به روش های ساده انجام میدم و معتقدم مهارتم با این مسائل بیشتر میشه و توان رویا رویی با مسائل سختر پیدا خواهم کرد. هیچ برنامه نویسی یه شبه یا یه ساله دوساله برنامه نویس نشده برای اینکه برنامه نویس خوب و باتجربه ای بشی به 10 سال زمان نیاز هست این دوستانی که الان برنامه نویس شدن در ابتدای کار چیزی بلد نبودن و مثل شما کم تجربه و بعد از پشت سر گذاشتن صدها شکت و خطا به نقطه مطلوبی از کد نویسی رسیدن .


آرمین
@arminbeik 4 سال پیش مطرح شد
0

@rezakh
@hosseinshirinegad98
ممنونم از راهنماييتون
من تا يه حدي فرانت كار كردم اما در حد مفاهيم جاوااسكريپت و بوت استرپ و الان هم دارم لاراول يادميگيرم و به نظرم براي من به شخصه از فرانت جالب تر هست اما بحث ها چالش هايي كه در رابطه با كار با ديتابيس پيش مياد مثلاً ثبت و دريافت تغييرات قيمت يك محصول از ديتابيس و اين كه چطور بايد اين رو در ديتابيس پياده سازي كرد يكمقدار ترس از اينكه اين مسئله رو نتونم رو كدهام پياده سازي باعث شده به فكر بازگشت به فرانت باشم با اين كه اونم چالش هايي داره ولي سختي كارش كمتر از بك اند هست. و اينكه خوندن كدهاي ديگران در استك اور فلو هم خودش داستاني داره فهميدنش و پياده سازيش در بك اند.
به نظر شما هم فرانت راحت تر از بك اند هست يا در حد متوسط يا پيشرفته اون هم چالش هاي كدنويسي داره؟


حدیثه مطلوب
تخصص : فرانت اند
@hadisematloob 4 سال پیش مطرح شد
4

سلام دوست عزیز
درمورد انتظار از خودت برای انجام پروژه،با تکرار و تمرین و دیدن مثال ها و کدهای بقیه و تجزیه تحلیل کردن برا خودت،مطمئن باش که هم دستت راه میفته هم ذهنت بازتر میشه،به هیچ وجه ناامید و مردد نشو،فقط تو مسیر هدفت برو جلو✌
درمورد فرانت و بک اند هم خب باید ببینی علاقت به کدوم بیشتره،اینطوری سرو کله زدن با چالش ها هم برات لذت بخش تر میشه
موفق باشی😊


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 4 سال پیش آپدیت شد
1

این مسائلی که میفرمایی قبلا برای من بود و کماکان هم با یه مسئله جدید روبرو میشم هست.یادمه در هنگام ثبت تخفیف برای محصول و طریقه محاسبش ترس و دلهره داشتم و چیزی بلد نبودم اما بعد دیدن اموزشی در این زمینه این مسئله برای من حل شده و اصول کارشو یاد گرفتم و تو ذهنم روش کارش مونده.
بحث بکند یه بحث شیرینی هست درسته در ابتدا کد نویسی و طراحی دیتابیس شاید دشوار باشه اما بعد مدتی کار مثل دو دوتا چهارتا میشه برات .
خود من الان به جایی رسیدم که در عرض چند ثانیه میتونم برای بیشتر مسائل جداول کار و فیلدهاشو ترسیم کنم. سادست و مثل همون جدول ضرب دودوتا چهارتاست.
از اموزشهای ویدیویی ریاد استفاده کن و بعد اینکه کدی نوشتی سعی کن روش اجرای کدو پیدا کنی که چجوری کد داره کار میکنه و چرا این کد اینطوری نوشته شده چرا این حلقه زده شده چرا این دستور ifو فلان متغیر استفاده شده. سعی کن روند اجرای کدهارو تو ذهنت دنبال کنی که اگه چنین کنی و ده تا پانزده تا این کارا با کدهای متوسط و ساده یا نسبتا دشوار انجام بدی به کد نویس خوبی تبدیل میشی.
نکته اینجاست کدهارو انالیز کن از روش انجام و اجراشون سر دربیار.
روند اجراشو تو ذهنت دنبال کن.
بله متاسفانه فرانت هم داری چالش های خودش هست.
هردو چالش همراهشون هست و فرقی نداره تو کدوم وارد بشی


Muhammad
تخصص : Back-End Developer
@muhammad 4 سال پیش آپدیت شد
1

سلام. شما زیاد حساس شدین و یه قسمتش طبیعیه و همه‌ی برنامه‌نویس‌ها گاهی چنین حسی بهشون دست می‌ده که من چیزی بلد نیستم، بقیه خیلی بلدن، من اینجا چیکار می‌کنم و غیره. 😁 Dunning–Kruger effect همین رو می‌گه که آدم گاهی فکر می‌کنه خیلی می‌دونه، بعد به هر دلیلی متوجه ضعفش میشه و روحیه‌اش سقوط می‌کنه، بعد در ادامه میاد بالا.
خود من گاهی توی تحلیل بعضی چیزها گیر کردم و هنوز هم خیلی از فانکشن‌های PHP رو سرچ می‌کنم (با اینکه یه دوره‌ی طولانی تقریبا هر روز PHP نوشتم و می‌نویسم).

یه راه‌حل اینه که هر مسئله رو با شکستن به مسئله‌های کوچیک‌تر حل کنین. خود لاراول هر کار خفنی انجام بده، با استفاده از اجزاء کوچیک و ساده انجامش می‌ده. یه پکیج پرداخت رو تصور کنین که از بیرون ممکنه عجیب به نظر برسه ولی داخلش رو ببینین یه سری کلاسه که هر کدومشون قسمتی از کار رو هندل می‌کنن. اگه انگلیسی بلدین کتاب Grokking Algorithms رو شدیدا پیشنهاد می‌کنم که مهارت حل مسئله‌تونو تقویت می‌کنه. ادبیات روان و آسونی هم داره. توصیه‌ی شخصیم هم اینه که زیاد متکی به آموزش‌های پروژه‌محور نباشین و سعی کنین سر از کار PHP یا دیتابیسی که استفاده می‌کنین (احتمالا MySQL) در بیارین و مفاهیم و اصول رو یاد بگیرین نه اینکه حفظ کنین که توی فلان دوره چطور خبرنامه یا فاکتور پیاده کردن. تگی که شما مثال زدین خیلی سادست، هر پستی چندتا تگ داره و هر تگی می‌تونه به چند پس اختصاص داده بشه. پس شما یه Pivot table دارین که ارتباط چند به چند رو بین جدول پست و تگ به وجود بیاره. راجع به انواع رابطه‌ها توی اینترنت یا کتاب‌های دیتابیس مطالعه کنین مثل آب خوردنه. کمکی هم خواستین من توی لینکدن (داخل پروفایلم لینکش هست) در خدمتم. اساتیدی هم مثل آقای بیات یا خانزادی اینجا هستن که از من بهتر بلدن و می‌تونن به همراه بقیه دوستان تاپیک مشکلاتی که دارین رو جواب بدن.

موفق باشین.


آرمین
@arminbeik 4 سال پیش آپدیت شد
0

@rezakh
@hosseinshirinegad98
@hadisematloob
@muhammad

خيلي ممنونم از راهنمايي هاتون
من خودم به شخصه فرانت كار ميكردم و ديدم تو طراحي قالب نميتونم قالب هاي به روز رو طراحي كنم اومدم سمت بك اند. بك اند هم لاراول رو تا انتهاش يادگرفتم و وقتي تازه به مرحله ديدن و كد زدن پروژه رسيدم فهميدم جز چيزهايي كه آموزش ديدم به غير از اون مباحث مباحثي رو خودم نميتونم پياده سازي كنم و استفاده از كد و پكيج ديگران هم بدتر آدم رو سردرگم ميكنه !
سمت فرانت عمليات محاسباتيش بيشتر از بك اند هست؟ مثلا ساخت تايمر و اين چيزا كه كد رياضي بيشتري داره. و اينكه كلاً چه مدت زمان ميبره تا بخوام فرانت رو تا يك حد قابل قبولي ياد بگيرم و اين مسير راحت تر از بك اند هست يا خير؟
به نظرم كدهاي فرانت حداقل در سطح اينترنت وجود دارن ولي بك اند بك ايده يا طرح خاص بخوايم بديم ممكنه نتونيم كدي پيدا كنيم و در همين بحث و گفتگو ها شنيدم كه سمت بك اند نياز به ساعت ها فكر كردن براي حل مسئله داره كه در سمت فرانت زياد به اين شكل نيست؟
درسته؟


ممدو
تخصص : در حال یادگیری ...
@mamado 4 سال پیش مطرح شد
1

@arminbeik سلام آرمین جان
هیچوقت اینطور تصمیم نگیر که هر مسیری آسون تر باشه بری سمت اونور ! همیشه برو سمت چیزی که دوستش داری حتی اگه سختترین مسیر باشه باید انجامش بدی ، چیزی که من اعتقاد دارم اینه که تقریبا بیشتر کسایی که میرن سمت چیزی غیر از علاقه خودشون ، تو 80 درصد مواقع یا ناراحتن یا شکست خورده ! پس بنظرم تلاش و شکست تو حوزه مورد علاقه ت خیلی بهتره.

در مورد سوالت هم باید بگم که فقط تو نیستی دادا ، منم همینطورم تقریبا هر کسی این دوران رو داشته و شاید هم هنوز داشته باشه ، چیزی که مهمه اینه که باید زیاد کد بخونی و کد بزنی ، خداروشکر که ما گیت هاب رو داریم برو اونجا کد بخون و سعی کن درک کنی ساختارشون رو خیلی بهت کمک میکنه، و اینکه ما برنامه نویسا هر چقدر هم تلاش کنیم و یاد بگیریم باز هم چیزی جدیدی برای یادگرفتن هست ، چون قطعا حالا تو چیزایی رو بلدی و الان اومدی و به قابلیت هایی مثل لایک و تگ نگاه میکنی ، حق میدم بهت بگی بلد نیستم میدونی چرا؟ چون این همون چیز جدیده باید یادبگیری ، بجای سرزنش خودت، روزانه تلاش کن و یک نکته خیلی خیلی بنظرم مهمه اینه که هر روز واسه خودت چالش ایجاد کنی و سعی کنی قدم به قدم به مسائل کوچکتر تبدیل کنی مثال میزنم
برای همین لایکی که میگی بیا به مسائل کوچکتر تبدیل کنیم ، نباید همون مرحله آخر رو ببینی که آره لایک خیلی سخته، پیشنهاد میکنم پادکست آخر استاد موسوی رو ببینی ! خب
برای لایک باید چه چیزی داشته باشیم؟ مرحله اول 1- آیدی اون پست یا مقاله 2- آیدی اون کاربر که میخواد لایک کنه 3- انجام رلیشن های لازم 4- ثبت لایک 5- گرفتن تعداد لایک 6- نمایش به کاربر
یک مثال خیلی ساده بود که بهت بگم به چه شکله
در آخر آرزوی بهترینا واست میکنم ، keep learning bro 😄🌹


Muhammad
تخصص : Back-End Developer
@muhammad 4 سال پیش آپدیت شد
1

@arminbeik
والله ما هم آپولو هوا نمی‌کنیم
قرار نیست زیاد ریاضی بلد باشین تا بک‌اند کار کنین. کاری به این هم نداشته باشین که فرانت‌اند راحت‌تره یا بک‌اند، دنبال علاقه‌تون برین. اشتباه شما از اول این بوده که فکر کردین لاراول رو تا انتها یاد گرفتین ولی فقط چیزایی رو از دوره‌ها حفظ کرده بودین، بعد وارد یه پروژه که از سطح خودتون بالاتر بوده رفتین و گفتین: عه این رو بلد نیستم پس من نمی‌تونم برنامه‌نویس خوبی باشم! اصلا لازم نیست که پروژه خیلی بزرگی بزنین، بپذیرین که اول راه هستین و نباید خودتونو با کسی که چند ساله کار می‌کنه مقایسه کنین. یه پروژه دفترچه یادداشت یا دفترچه ذخیره پسورد برای خودتون شروع کنین و سعی کنین راجع به هر قسمتش فکر کنین. هر تیکه رو نتونستین پیاده کنین، بپرسین. کتابی که گفتم رو هم بخونین خیلی عالیه. توی سایت کوئرا هم سوال حل کنین خیلی به مهارت حل مسئله‌تون کمک می‌کنه.


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 4 سال پیش مطرح شد
0

سلام اگه از مباحث ریاضیات میخوای فرار کنی و به بکند و فرانتند به خاطر این مسئله تغیر مسیر بدی بهتر کار برنامه نویسی و طراحی سایتو رها کنی.
ریاضیات اینجا مسئله نیست مسئله اینه که شما روش انجام یه کاری رو تو دنیای بیرون و واقعی از طریق زبان برنامه نویسی پیاده کنی. ابتدا باید ببینی اون مسئله در بیرون چگونه از چه مسیر و طریقی با چه حساب و کتابی انجام میشه بعد اون کارو به کمک یه زبان برنامه سازی و دستوراتی که در اختیارت قرار میده پیادش کنی.
بازم میگم اصلا نترس و نگران محاسبات پیچیده نباش که روش حل مسئله ای رو پیدا کردی میتونی با کمی تمرین کد برنامه نویسیشو پیدا کنی.
یه مثال ساده میزنم شما گفتی من نمیتونم مثلا سیستم لایکو پیاده کنم خوب اگه نمیتونی پیادش کنی باید ، باید بری کسی که سیستم لایکو انجام داده ببینی که چجوری این کارو انجام داده و عین اون کارو تو هم با یه مثال خودت انجام بدی کدهای اون شخصو بخونی تحلیل کنی و روش انجام این کارو درک ، درک کنی. در ابتدا شما باید به همین شکل جلو بری و کم کم با این سیستم ها و مسائل اشنا بشی فعلا باید از دیگران یاد بگیری بعد مدتی خودت میتونی مسائل جدیدو حل کنی.
برای اینکه بکند یاد بگیری اول php رو یاد بگیر بعد برو سوراغ لاراول، غیر این کارو هیچ وقت انجام نده php پیش نیاز لاراول است.
یه بکند کار تا حدودی هم باید سر از فرانت دربیاره و با html, css,javascrip هم آشنایی داشته باشه. برنامه نویسی که مثل حسابداری نیست که پر از محاسبات تهوو آور باشه. اینقد نگو محاسبات داره خیر محاسباتی هم نداره. شما باید منطق اجرای یه کارو در دنیای واقعی با یه زبان برنامه نویسی پیادش کنی.
یه مثال میزنم برات تو محیط بیرون
اگر بخوای اعداد یک تا ده رو با خودکار جمع بزنی چجوری این کارو میکنی.
همین کار جمع زدن اعداد یک تا ده رو با زبان برنامه نویسی به کامپیوتر میدی و بهش میفهمانی به این صورت اعداد یک تا ده را جمع بزن و نتیجه رو بهم بده.
توصیه های دوستمون ممدو رو حتما پیشه کارت کن.
شما ابتدا باید بادیدن کدهای دیگر که مسئله ای رو حل کردن از روش اجرای کدها اطلاعات کافی بدست بیاری و روش انجامشونو درک کنی من که این کارو کردم و نتیجه گرفتم.
ابتدا تجزیه تحلیل و درک مسائل آسونی که قبلا انجام شده است ، همینو بس.


حدیثه مطلوب
تخصص : فرانت اند
@hadisematloob 4 سال پیش مطرح شد
0

@arminbeik متاسفانه من مهارت خاصی تو بخش بک اند ندارم،فقط کمی باهاش آشنایی دارم،برای همین نمیتونم راهنمایی کنم!
اما این ذهنیت که بخوای همیشه از کدهای آماده استفاده کنی،ذهنیت درستی نیس،برای اول کار که ایده ای نداری خب میتونه کمک کنه اما به هر حال باید بدونی اون کد چیه و چیکار میکنه و به مرور هم خودت دیگه راه میفتی و میتونی کد خودتو بنویسی و شخصی سازی کنی
رو مدت زمان تمرکز نکن به جاش روی یادگیری تمرکز کن و از مسیر لذت ببر😉


Nima Aram
تخصص : a simple full stack
@aramnima50 4 سال پیش مطرح شد
1

همه دوستان کامل و واضح توضیح دادند؛ جای حرفی نمیمونه ولی من اضافه کنم که فقط تمرین، تمرین و تمرین میتونه سطح شما رو ببره بالا.
همیشه سعی کنید یه تب از مرورگر از داکیومنت تکنولوژی که دوست دارید یاد بگیرید داشته باشید و اون ها رو مطالعه کنید
حل چالش های Hacker Rank هم به شما خیلی کمک خواهد کرد


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام