🧱 چگونه می توان یک پشتیبان پیچیده بهار را ساخت (بنابراین شما از بیکاری متوقف می شوید)

بنابراین شما ماهها صرف تهیه رزومه خود کرده اید ، و به هر کار “مهندس پس زمینه جاوا” در LinkedIn و هنوز … کریکت ها متقاضی هستید. شاید وقت آن رسیده که با حقیقت روبرو شویم: پروژه Boot Spring شما فقط API لیست دیگری استبشر بیایید آن را برطرف کنیم ، باید؟
این وبلاگ نقشه راه وحشیانه صادقانه شما برای ساخت یک است واقعیبا پیچیدهبا پروژه پس زمینه ارزشمند تولید با استفاده از بوت بهار آموزش بچه ها نیست. این یکی برای CTO های آینده است.
🚀 فاز 1: اصول بوت بهار (بله ، در واقع این بار آن را یاد بگیرید)
قبل از اینکه در مورد میکروسروس ها و Kubernetes رویای خود را داشته باشید ، حداقل درک کنید @RestController
هر بار بدون اینکه آن را googling کند.
✅ آنچه شما باید بدانید
- API های استراحت با استفاده از
@RestController
، DTO ، درخواست اعتبار سنجی - تزریق وابستگی (بله ،
@Autowired
جادو نیست) - پیکربندی های YAML و پروفایل های متعدد مانند
dev
باprod
(اگر هنوز URL های کد کننده سخت هستید ، ما باید صحبت کنیم) - Maven یا Gradle – یکی را انتخاب کنید و گریه را متوقف کنید
🛠 ابزار: Postman ، Devtools Boot Spring و کافئین کافی برای جایگزینی زندگی اجتماعی شما.
🛠 فاز 2: با پایگاه داده لعنتی صحبت کنید
برنامه شما نیازی به ذخیره داده ها در یک لیست برای همیشه ندارد. جدی شوید
✅ JPA + Hibernate را بیاموزید
- روابط:
@OneToMany
، نه یک به یک - JPQL برای نمایش داده های پیچیده (SQL یک کلمه کثیف نیست)
- صفحه بندی با
Pageable
نهfindAll()
- نقشه برداری DTO برای عقل
🧠 جایزه: از Flyway یا Liquibase استفاده کنید. تغییر دستی میزها مانند سال 2010 را متوقف کنید.
🔐 فاز 3: ساخت برنامه های اسباب بازی ناامن را متوقف کنید
اگر API شما همه چیز را در اختیار همه قرار می دهد ، تبریک می گویم – شما در حال ساختن رویای هکر هستید.
✅ امنیتی که نمی توانید نادیده بگیرید
- احراز هویت/مجوز مبتنی بر JWT
- کنترل دسترسی مبتنی بر نقش (RBAC)
- محافظت از CSRF ، CORS پیکربندی
- Flex اختیاری: OAUTH2 با Google ، GitHub یا KeyCloak
نکته حرفه ای: ترک نکنید /admin
فقط برای تست آن باز کنید. استخدام کنندگان GitHub شما را آزمایش می کنند و بی سر و صدا در مورد شما قضاوت می کنند.
📦 فاز 4: منطق تجارت واقعی را بنویسید
لایه خدمات شما باید بیش از “بازگشت repo.findall ()” انجام دهد.
✅ لایه تجاری مانند یک حرفه ای
-
@Service
کلاس ها منطق دنیای واقعی را اداره می کنند - رسیدگی به خطای متمرکز با
@ControllerAdvice
- اعتبار سنجی ورودی با استفاده از
@Valid
نهif(name==null)
- مقداری DDD اعمال کنید (نه ، این یک بیماری نیست)
🧪 فاز 5: تست ها – قسمت بزرگسالان
اگر بهانه شما این است که “روی دستگاه من کار می کند” ، شما آماده نیستید.
✅ همه چیز را آزمایش کنید
- Junit + Mockito برای تست های واحد
- TestContainers برای DB های واقعی در تست ها
- WebTestClient یا MockMVC برای آزمایش کنترلر
- Wiremock برای مسخره کردن آن API های خارجی پوسته پوسته
اجازه دهید تست های شما قبل از مصاحبه های شما شکست بخورد.
📡 فاز 6: با سایر خدمات صحبت کنید (بدون گریه)
برنامه شما باید با دیگران تعامل داشته باشد – مانند تیتر LinkedIn خود از نظر اجتماعی ناخوشایند نباشید.
✅ وب سایت و مقاومت
- از WebClient غیر مسدود کننده استفاده کنید
- منطق مجدد ، زمانبندی ، قطع کننده مدار با مقاومت 4J
- شکست هایی مانند یک قهرمان ، نه با
Thread.sleep(5000)
⚙ فاز 7: ناهمزمان باشید (مثل آن پسر که هرگز پاسخ نمی دهد)
qu صف های پیام رسانی
- kafka یا rabbitmq برای پردازش async
- جریان ابر بهار زندگی را آسان می کند
- صف نامه های مرده (زیرا چیزها اراده شکست)
اگر هنوز از آن استفاده می کنید @Async
، زمان رشد است.
⛓ فاز 8: میکروسرویس (نوع واقعی)
نه “من 3 کنترلر در 3 پوشه دارم” میکروسرویس – نوع سیستم توزیع شده واقعی.
ارتباطات میکروسرویس
- مشتری ها ، WebClient ، Eureka
- پیکربندی متمرکز با پیکربندی ابر بهار
- تعادل بار ، کشف خدمات
فقط فراموش نکنید: اگر هنوز میکروسرویس را نمی فهمید ، یکپارچه شر نیست.
📂 فاز 9: معماری ماژولار (دیگر کلاس خدا نیست)
برنامه خود را به:
auth-service
document-service
billing-service
notification-service
از ساختهای چند مدلی Maven یا ساخت های کامپوزیت Gradle استفاده کنید. هم تیمی های آینده شما از شما تشکر می کنند – اگر تا به حال شغلی پیدا کردید.
☁ فاز 10: مانند یک افسانه مستقر شوید
شما می خواهید در یک شرکت فناوری کار کنید اما نمی توانید برنامه خود را dockerize کنید؟ بیا
✅ چیزهای DevOps
- ساخت چند مرحله ای Docker
- Docker آهنگسازی برای راه اندازی محلی
- Kubernetes برای دنیای واقعی (Minikube برای شروع)
- نمودارهای کلاه ایمنی اگر جدی هستید
✅ مشاهده
- سیاهههای مربوط به logback (فرمت JSON ، pls)
- معیارهای با میکرومتر + پرومتئوس
- ردیابی با Opentelemetry + Jaeger
- محرک بوت بهار برای بررسی های بهداشتی
💡 ایده پروژه: چیزی بسازید که فریاد می زند “من را استخدام می کند”
🔥 اسناد حقوقی با قدرت AI SAAS
- بارگذاری و تجزیه PDF
- jwt + keycloak auth
- ادغام Openai برای خلاصه
- کافکا برای async
- نوار صورتحساب
- داشبورد مدیر بوت بهار
- میکروسرویس + docker + k8s
در حال حاضر این که یک پروژه نمونه کارها است. یکی دیگر از “API کتابفروشی با CRUD” نیست.
🧠 هنوز بیکار؟
گوش کن اگر هستید:
- انجام توسعه سرریز پشته کپی
- ساخت برنامه های CRUD از سال 2021
- فکر کردن “میکروسرویس” به معنی چندین کلاس است
پس بله ، شما هنوز بیکار هستید – و شما به این ترتیب خواهید ماند مگر اینکه شما باشید سطح بالابشر
💪 کلمات نهایی: شما این را گرفتید
ساختن یک پروژه پیچیده بوت بهار کار ساده ای نیست – اما هیچ یک از آنها بیکار نیست ، وانمود می کنید که “منتظر فرصت مناسب هستید”.
📢 از پس زمینه تنبل خود ، Intellij باز و چیزی بسازید که شما را ترساندبشر هنگامی که تمام شد ، آن را مستقر کنید ، آن را مستند کنید ، آن را باز کنید.
و پس؟ تماشای آن استخدام کنندگان مانند صندوق ورودی شما مانند:
“سلام ، پروژه خود را دوست داشتم. آیا شما به فرصت ها باز هستید؟”
خوش آمدید