یونی مهارت_آموزش ویدیویی_تخصصی_رایگان

40 ایده پروژه برای مهندس های نرم افزار

ایده-مهندسی-نرم-افزار

یکی از مهمترین راه های پیشرفت مهارت ها و بهبود اشتغال شما به عنوان مهندس نرم افزار ، کار در پروژه های جانبی است.

این پروژه ها می تواند از پروژه های منبع باز تا ابزارها و اسکریپت های مفید تا اسباب بازی های سرگرم کننده باشد.

در حالی که همیشه به نظر می رسد برخی از مهندس های نرم افزار در ایران در حال کار بر روی یک پروژه جانبی جدید هستند ، که برای بقیه ما کار آسانی نیست.

در این مطلب از گروه آموزشی یونی مهارت ما می خواهیم در یک پروژه جانبی کار کنیم اما در اصل برای رسیدن به یک ایده خوب تلاش می کنیم.

برای همه ما ، این اتفاق می افتد که ما به طور ناخودآگاه خودمان را به طور مصنوعی محدود می کنیم. به عنوان مثال ، ما ممکن است ناخواسته انواع پروژه هایی را که احساس می کنیم “ایده آل” هستند به عنوان پروژه های جانبی محدود کنیم.

با قرار دادن پروژه های نامناسب خیلی زیاد خودمان را از فرصت تفریح و یادگیری و ایجاد یک پروژه جاه طلبانه دور می کنیم.

در این پست ، من با ارائه 40 ایده پروژه جانبی که هر توسعه دهنده نرم افزار می تواند در یک آخر هفته شروع کند ،به شما کمک می کنم. در اینجا تأکید بر پروژه هایی نیست که می خواهند جهان را تغییر دهند.

درعوض ، اینها پروژه های سرگرم کننده ای هستند که می توانند چیزی را برای اضافه کردن به سبد خرید خود داشته باشند و شما را به یک توسعه دهنده بهتر تبدیل کنند.

ایده پروژه برای مهندس های نرم افزار

پروژه های جانبی علوم کامپیوتر


این پروژه ها برای مهندسینی که سعی می کنند اصول علوم رایانه خود را تقویت کنند مناسب است. آنها به شما کمک می کنند اطلاعات بیشتری در مورد جنبه های محاسبات مانند انتقال پرونده و طراحی سیستم عامل ها کسب کنید. این پروژه ها می توانند به ویژه برای توسعه دهندگان خودآموز که بیشتر روی مهارت های عملی تمرکز دارند از مفاهیم علمی استفاده کنند.

ایده پروژه برای مهندس های نرم افزار

FTP Client (اجرای پیشنهادی: برنامه وب ، دسک تاپ یا CLI).
یک مشتری FTP ساده بسازید. به عنوان یک چالش پاداش ، از انتقال پرونده امن پشتیبانی کنید.

سرور HTTP (اجرای پیشنهادی: هر زبان برنامه نویسی که می خواهید آن را تسلط دهید). برای درک عمیق HTTP ، یک سرور HTTP بسازید. تعدادی آموزش وجود دارد که شما را در طی فرایند راهنمایی می کند.

یک سیستم عامل ساده بسازید (اجرای پیشنهادی: به هر زبان برنامه نویسی که می خواهید آن را تسلط دهید). این پروژه ای است که از نظر فنی چالش برانگیز است و درک شما را از نحوه کار رایانه ها و سیستم عامل ها عمیق تر خواهد کرد.

ممکن است بخواهید با کتاب رایگان (و هوشمندانه نامگذاری شده) ، سیستم عامل ها: از 0 تا 1 شروع کنید.

یک اسکرابر وب ایجاد کنید (اجرای پیشنهادی: به هر زبان برنامه نویسی که می خواهید آن را تسلط دهید). ابزاری را بسازید که یک URL را به عنوان ورودی دریافت کرده و محتوای URL را به صورت HTML یا XML بازگرداند.

مانیتور پهنای باند (اجرای پیشنهادی: ابزار زنده به روز رسانی CLI). ابزاری بسازید تا بتوانید چقدر داده بارگیری یا بارگذاری در اینترنت را ردیابی کنید.

از آن بخواهید که یک گزارش هفتگی از کاربردتان برای شما ایمیل کند. به عنوان یک چالش پاداش ، زمان استفاده اوج را پیش بینی کنید.

پیکربندی را پیاده سازی کنید (اجرای پیشنهادی: هر زبان برنامه نویسی که می خواهید آن را تسلط دهید) ابزاری بسازید که رشته متن را به عنوان ورودی دریافت کرده و با استفاده از رمزنگاری مانند رمزهای سزار ، آن را رمزگذاری می کند.

یک زنگ هشدار برای ارسال پیام متنی ایجاد کنید (اجرای پیشنهادی: برنامه برای ارسال پیام های متنی به Twilio API وصل شده است).

برنامه ای را ایجاد کنید که یک URL را به عنوان ورودی دریافت کند و هنگامی که یک درخواست به URL یک کد پاسخ غیر از 200 (پاسخ) را برای شما ارسال می کند ، پیام متنی برای شما ارسال می کند.

پروژه های جانبی مالی شخصی


این پروژه ها به شما کمک می کنند تا به هدفی عملی برسید (در زمینه امور مالی خود را بهتر انجام دهید) ، ضمن اینکه مهارتهای مهندسی نرم افزار خود را نیز بهبود می بخشید

یک ماشین حساب و ردیاب با ارزش خالص (اجرای پیشنهادی: CLI ، وب یا برنامه تلفن همراه). یک ماشین حساب بسازید که می توانید از آن استفاده کنید تا به صورت ماهانه ردیابی یا افزایش ارزش خالص خود را دنبال کنید. برای هدایت شما می توانید از چیزی مانند این برگه با ارزش خالص از چارلز شواب استفاده کنید.

تمدید اختیاری: در صورت گزارش 12 ماهه برای سال گذشته در اول ژانویه هر سال ، برای شما ارسال کند.

پیش بینی مالیات (اجرای پیشنهادی: برنامه وب). در صورت انجام هرگونه مهندسی نرم افزار مستقل ، این امر به ویژه مفید خواهد بود.

ابزاری بسازید که درآمد آزاد شما را به عنوان ورودی در نظر بگیرد و سپس بدهی مالیاتی مورد انتظار خود را برای بقیه سال مالی پیش بینی کند. آن را به اندازه کافی هوشمند کنید تا دوره هایی از تقاضای بالاتر یا کمتر برای خدمات خود را پیش بینی کنید و متناسب با آن تنظیم کنید.

یافتن معامله (اجرای پیشنهادی: برنامه وب با اطلاعیه های تلفن همراه). یک برنامه وب ساده ایجاد کنید تا وقتی کالای مورد نظر شما را با قیمت مناسب به بازار عرضه می کند ، به شما اطلاع دهد.

می توانید از صفحه وب استفاده کنید تا صفحه محصول مورد نظر را بکشید و از تغییر قیمت به شما اطلاع دهد.

یک ردیاب هزینه (اجرای پیشنهادی: برنامه وب یا تلفن همراه). یک رابط کاربری ساده ایجاد کنید که می توانید برای اضافه کردن و طبقه بندی هزینه های خود استفاده کنید.

گزارش های ماهانه را بر اساس ورودی ها تهیه کنید و هشدارهای دلخواه را برای چیزهایی بنویسید ، مانند “هزینه کردن خیلی زیاد برای قهوه … مثل همیشه”.

ماشین حساب استقلال مالی (اجرای پیشنهادی: برنامه وب). اساساً استقلال مالی موجب صرفه جویی و سرمایه گذاری هرچه بیشتر درآمد شما می شود ، بنابراین نیازی به کار برای پول نیست.

در حالی که بسیاری از افراد مستقل از لحاظ مالی به کار خود ادامه می دهند ، اکنون می توانند به جای کارهایی که بیشترین هزینه را می پردازند ، روی کارهایی که دوستشان دارند تمرکز کنند.

ابزاری برای محاسبه خود بنا کنید: پس انداز فعلی ، سرمایه گذاری ، درآمد ، حساب های بازنشستگی و هزینه های شما ، تا چه اندازه از استقلال مالی فاصله دارید. چند نمونه: FIREcalc ، cFIREsim.

تقسیم لایحه (اجرای پیشنهادی: برنامه تلفن همراه). یک وسیله ساده بسازید تا به شما و دوستانتان کمک کنید تا هنگام بیرون رفتن غذا بخورید تا صورتحساب را تقسیم کنید.

بازی ها و پروژه های جانبی شبیه سازی


بیشتر مهندسین نرم افزار که می دانم مجذوب دنیای توسعه بازی ، گرافیک و شبیه سازی هستند ، اما تجربه زیادی با آنها ندارید.

این پروژه ها به اندازه کافی كوچك هستند كه می توانید پا به این دنیا بگذارید و بدون گاز گرفتن بیشتر از چیزی كه می توانید جویدید.

تولید کننده نام تصادفی (اجرای پیشنهادی: CLI ، وب یا برنامه تلفن همراه). یک مولد نام تصادفی (مثال) بسازید که بر اساس یک الگوریتم ، نامهای منحصر به فردی را در پرواز ایجاد می کند.

از تکنیک های یادگیری ماشینی استفاده کنید تا با آموزش برنامه با یک مجموعه داده نمونه از اسامی مشابه کسانی که می خواهید تولید کنید ، به شما کمک کنند.

در غیر اینصورت ، قوانین واژگان خود را برای نحوه تولید نام ایجاد کنید. به عنوان مثال ، یک الگوریتم تولید نام الهام گرفته از داستان The Handmaid’s ممکن است تصریح کند که اسامی برای زنان Handmaid باید از “Of” شروع شود و با یک نام پسر تصادفی ، به عنوان مثال ، Ofpeter پایان یابد.

بازی زندگی Conway (اجرای پیشنهادی: هر پلتفرمی که قادر به ارائه گرافیکی در زمان واقعی باشد). بازی زندگی Conway زندگی سلول های ساده ای را انجام می دهد که از قوانین الگوریتم پیروی می کنند.

این ویدیو نحوه عملکرد بازی را توضیح می دهد و نمونه ای از یک نتیجه ممکن را شامل می شود:

سازنده نقشه تولید شده (اجرای پیشنهادی: برنامه مبتنی بر مرورگر). یک برنامه مبتنی بر مرورگر ایجاد کنید که به کاربران این امکان را می دهد تا بر اساس یک بذر تصادفی نقشه زمین ایجاد کنند.

نقشه می تواند به همان اندازه تفصیلی یا ساده دلخواه شما باشد.

این پروژه فرصت خوبی برای یادگیری در مورد تولید رویه است.

پروژه برای مهندس های نرم افزار

تولید کننده شخصیت (اجرای پیشنهادی: برنامه مبتنی بر مرورگر یا تلفن همراه ، CLI). ابزاری را ایجاد کنید که به شما امکان دهد بطور تصادفی شخصیت های قابل پخش را برای بازی های نقش آفرینی مورد علاقه خود ایجاد کنید ، چه این یک بازی تبلت مانند Pathfinder یا بازی های ویدیویی مانند Divinity: Original Sin باشد.

داستان های تعاملی (اجرای پیشنهادی: CLI). یک راه سرگرم کننده برای ورود به توسعه بازی بدون نیاز به نگرانی در مورد دارایی های گرافیکی ، داستان های تعاملی جهان را از طریق توضیحات متنی جهان را برای بازیکن فراهم می کند.

The Dreamield نمونه خوبی از داستان های تعاملی با دستور مفید ‘help’ است.

پروژه های جانبی هوش مصنوعی


سودمندی هوش مصنوعی در مهندسی نرم افزار روزانه با جهش و مرز افزایش می یابد. اکنون راحت تر از گذشته آسان تر است که نخستین بازدید خود را به دنیای هوش مصنوعی انجام دهید.

موتور بی نظیر Tic-Tac-Toe (اجرای پیشنهادی: برنامه CLI). برای یک پروژه عالی عالی AI ، سعی کنید موتور را بنویسید که در Tic-Tac-Toe قابل ضرب نیست.

شما می توانید با اجرای این استراتژی به نتیجه برسید که نتیجه بدترین نتیجه آن است.

موتور شطرنج (اجرای پیشنهادی:

موتور نوشته شده به زبان برنامه نویسی که می خواهید یاد بگیرید ، یا استاد شوید). سعی کنید با استفاده از یک رابط کاربری گرافیکی Universal Chess Interface مانند XBoard ، موتورهایی بنویسید که بتواند در برابر حریف انسانی شطرنج بازی کند. Stockfish را به عنوان نمونه ببینید.

برای یک چالش کمتر دلهره آور ، ممکن است شما بخواهید روی رفتار فقط یک قطعه ، به عنوان مثال ، شوالیه ها تمرکز کنید.

چت روم طاقچه (اجرای پیشنهادی: برنامه وب). برخی از بزرگترین ذهن های جهان مشغول کار روی چت بات ها هستند که به شیوه ای واقعی پاسخ می دهند.

این یک چالش بسیار دشوار است ، اما با کاهش دامنه chatbot شما یک پروژه جانبی دارید که برای شب ها و آخر هفته ها قابل دسترسی تر باشد.

یک چت چت ایجاد کنید که پاسخ های صدایی واقعی را بر اساس یک موضوع طاقچه ای که به آن علاقه مندید ایجاد کنید: گروه مورد علاقه ، بازی ویدیویی ، تیم ورزشی یا نمایش تلویزیونی. برای کمک به شما از کتابخانه موجود استفاده کنید ، مانند ChatterBot.

طبقه بندی اسپم (اجرای پیشنهادی:

هر زبان برنامه نویسی که می خواهید آن را تسلط دهید). ابزاری بسازید تا طبقه بندی شود که آیا یک ایمیل فقط در محتوای موجود نیست.

می توانید از این مجموعه داده های عمومی ایمیل از تحقیقات Enron برای آزمایش طبقه بندی اسپم استفاده کنید.

پروژه های جانبی سرگرمی


این پروژه ها برای مهندسین نرم افزار است که می خواهند روی چیزی سرگرم کننده و کم نور کار کنند.

یاب زمان نمایش فیلم (اجرای پیشنهادی: برنامه وب یا تلفن همراه با اعلان های ایمیل یا پیام متنی). برنامه ای بسازید که به شما از طریق متن یا ایمیل در مورد زمانهای نمایش فیلمهای جالب توجه که در سینمای مورد علاقه شما پخش می شوند ، اطلاع دهد. مفهوم “فیلم جالب” می تواند با استفاده از یادگیری ماشین به دست آید (اگر فیلم کافی تماشا می کنید تا داده های آموزشی خوبی داشته باشید) ،

برنامه Microlearning (اجرای پیشنهادی: برنامه وب یا تلفن همراه). برنامه ای بسازید که هر روز یک صفحه برای شما می فرستد در مورد چیزی که می خواهید یاد بگیرید. این می تواند یک صفحه تصادفی از ویکی پدیا ، صفحه ای از مستندات React ، شخصیت Kanji یا صفحه ای از CIA World Factbook باشد.

Slot bot (اجرای پیشنهادی: Slack API). اگر شما یا تیمتان از برنامه محبوب گپ Slack استفاده می کنید ، یک ربات بسازید تا جنبه ای از زندگی (یا تیم شما) آسانتر شود. ایده ها:

یک ربات سفارش قهوه ، یک ربات که هر روز تعداد تعداد تعهداتی را که به تیم شما داده می شود ، یا یک یادآوری روزانه ایستاده گزارش می دهد.

پس زمینه روزانه دسک تاپ (اجرای پیشنهادی:

Unsplash API ، زبان برنامه نویسی برای سیستم عامل خود). برنامه ای بسازید که پس زمینه دسک تاپ شما را با یک تصویر جدید روزانه تازه می کند.

گروه آموزشی یونی مهارت

پروژه های جانبی برنامه نویسی کدگذاری


به جای ایجاد یک پروژه از ابتدا ، این مجموعه چالش های کد نویسی برای بهبود مهارت های شما است.

اگر می خواهید در حل مشکلات گسسته بهتر شوید یا خرده های خود را با یک زبان برنامه نویسی جدید بهبود بخشید ، اینها گزینه های خوبی هستند.

ظهور کد (اجرای پیشنهادی: هر زبانی که می خواهید تمرین کنید). ظهور چالش های کد هر ساله در روزهای منتهی به کریسمس اتفاق می افتد. آنها شامل بسیاری از چالش های برنامه نویسی سرگرم کننده هستند که می توانند به شما کمک کنند تا خرده های خود را به یک زبان برنامه نویسی که یاد می گیرید یا یکی از آنها که می خواهید آن را بیاموزید ، توسعه دهید. چالش های سال 2015 ، 2016 و 2017 هنوز در دسترس است.

پروژه برای مهندس های نرم افزار

چالش تایتانیک Kaggle (اجرای پیشنهادی: پایتون یا R). Kaggle یک چالش جالب را برای آشنایی شما با اصول یادگیری ماشین با پایتون یا R ارائه می دهد:

از یک داده واقعی از گزارش مسافر Titanic استفاده کنید تا پیش بینی کنید که مسافران به احتمال زیاد از این فاجعه جان سالم به در می برند.

Project Euler (اجرای پیشنهادی:

هر زبان برنامه نویسی که می خواهید تمرین کنید). چالش های پروژه اویلر به بررسی ازدواج بین ریاضیات و برنامه نویسی اختصاص یافته است.

از ابزارهای برنامه نویسی برای حل چالش های مختلف ریاضی استفاده کنید.

پروژه های جانبی روزانه


این پروژه های جانبی یک هدف عملی دارند:

آنها به برخی جنبه های زندگی روزمره شما کمک می کنند. گرچه آنها مشکلات دنیای واقعی را حل می کنند (چیزهایی مانند ناهار) ، راه حل ها می توانند به همان دلخواه ساده یا پیچیده باشند.

انتخاب ناهار (اجرای پیشنهادی: CLI ، وب یا برنامه تلفن همراه). اگر یک مهندس نرم افزار هستید ، احتمالاً با یکی از سخت ترین سؤالات در زمینه توسعه نرم افزار دست به گریبان باشید … کجا باید ناهار بخورم؟ جمع کننده ناهار شما ابزاری است که می خواهید برای پاسخ به این سؤال به آن متوسل شوید.

این می تواند بسیار ساده باشد و از طیف وسیعی از گزینه هایی که می شناسید به طور تصادفی یا پیچیده تر انتخاب کنید – با کشیدن داده ها از نظرات Google و در نظر گرفتن: مکان ، قیمت و نوع غذاها استفاده کنید.

برنامه ریز تاریخ (اجرای پیشنهادی: برنامه تلفن همراه). یکی از سخت ترین کارها در مورد آشنایی ، یا قرار گرفتن در یک رابطه طولانی مدت ، تصمیم گیری در مورد کجاست که خرما را انتخاب کنید.

ابزاری بسازید که بررسی های رستوران ها ، تقویم های رویداد و سایر داده ها را برای پیشنهادات ایده تاریخ بگرداند.

ابزاری برای ساده کردن خبرنامه های ایمیل خود (اجرای پیشنهادی: اسکریپت هایی که به سرور پست الکترونیکی وصل شده اند).

اگر مثل من باشید ، هر هفته خبرنامه های الکترونیکی زیادی دریافت می کنید و صندوق ورودی شما را جمع می کنند.

به جای اینکه از همه آنها به راحتی خشمگین شوید ، ابزاری بسازید که این ایمیل ها را ضبط کرده و همه آنها را در یک ایمیل واحد که هفته ای یکبار ارسال می شود ، کامپایل کنید.

not اعلان چتر خود را بیاورید (اجرای پیشنهادی:

برنامه تلفن همراه). یک برنامه ساده تلفن همراه بسازید که یک نوتیفیکیشن تلفن برای شما ارسال کند و به شما بگوید که آیا باید چتر خود را به محل کار بیاورید (مثلاً اگر آن روز در منطقه شما باران می بارد).

ردیاب مجموعه (اجرای پیشنهادی: برنامه وب یا تلفن همراه). ابزاری بسازید تا چیزی را که جمع آوری می کنید ردیابی کنید می توانید پیگیری کنید:

مقدار کالا ، سالی که ساخته شده است ، وضعیت آن و محل قرارگیری آن.

پروژه های جانبی داده ها


این پروژه ها توانایی شما در کار با داده ها را بهبود می بخشد. مهندسان نرم افزار با تعداد بیشتری از داده ها کار می کنند.

این پروژه ها به شما کمک می کنند یاد بگیرید چگونه جمع آوری ، تجزیه و تحلیل داده ها را با اطمینان انجام دهید.

یک مجموعه داده را بطور خودکار ایجاد و به روز کنید (اجرای پیشنهادی: ورودی scraper وب به خروجی CSV). ابزاری بسازید تا بطور خودکار مجموعه ای از داده ها را در مورد چیزی که به آن علاقه دارید ایجاد کنید و به روز کنید.

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

مهمترین چیز این است که به هنگام تولید داده های جدید ، مجموعه داده باید به روزرسانی مداوم داشته باشد – و باید بطور خودکار اتفاق بیفتد.

به عنوان مثال ، به محض ارسال نتایج تیم ورزشی شما در وب سایت ، داده ها باید به صورت خودکار ضبط و به مجموعه داده های شما اضافه شوند.

یک مسابقه علوم داده را وارد کنید (اجرای پیشنهادی: R یا Python). Kaggle میزبان تعدادی از مسابقات علوم داده شامل مجموعه داده های دنیای واقعی و جوایز نقدی سنگین است.

همچنین اغلب شما وظیفه حل مشکلات دنیای واقعی مانند:

نحوه طبقه بندی نظرات آنلاین سمی ، پیش بینی بازدید کنندگان از رستوران ها یا تشخیص اشیاء از فضا را بر عهده دارید.

پروژه جانبی خود را به اشتراک بگذارید


یکی از سخت ترین کارها در مورد کار روی یک پروژه جانبی ، گرفتن کسی غیر از شما ، همسرتان ، و گربه حیوان خانگی شما Millie برای قدردانی از آن است.

لطفاً از نظرات این مقاله به عنوان فرصتی استفاده کنید تا عاشق آخرین پروژه جانبی خود شوید.

پیوندی را با آنچه می خواهید کار کنید به اشتراک بگذارید ، و به ما اطلاع دهید:

بزرگترین چالش هنگام کار روی پروژه جانبی شما چه بوده است؟
چه چیزی است که شما یادگیری کار در پروژه جانبی خود دارید؟
برای شروع یک پروژه جانبی مشابه ، چه نکاتی را به شخص دیگری می دهید؟

پروژه برای مهندس های نرم افزار

منبع: گروه آموزشی یونی مهارت

mehdidone

نوشته‌های مرتبط

دیدگاه‌ها

*
*

    گلی پاسخ

    عالی بود

      mehdidone پاسخ

      ممنون از شما

    سانیا پاسخ

    واقعا با اختلاف بهترین رشته مهندسی نرم افزار

      mehdidone پاسخ

      موافقم با شما

    بهادری پاسخ

    برنامه نویسی درآمدش عالیه فقط با یکم تلاش میشه پولدار شد تو این شرایط اقتصادی کشور خودمون خیلی خوبه یاد گرفتنش

      mehdidone پاسخ

      اگه پشتکار داشته باشی خیلی زود به درآمد میرسی