Daily Compile | Dev Life
6 subscribers
18 photos
1 video
1 file
7 links
Code. Learn. Grow. Repeat.
Download Telegram
Procedural va Object-Oriented Programming farqi

♻️
@JavaOverload
Java Backend 2 - modul intervyu savollari va javoblari :

1 - lesson

2 - lesson

3 - lesson

4 - lesson

5 - lesson

6 - lesson

7 - lesson

8 - lesson

9 - lesson

10 - lesson


♻️
@JavaOverload
👍1
Jakarta EE JSTL

https://telegra.ph/Jakarta-EE-JSTL-04-16

Dependency :

<dependency>
<groupId>jakarta.servlet.jsp.jstl</groupId>
<artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jakarta.servlet.jsp.jstl</artifactId>
<version>3.0.1</version>
</dependency>


Jakarta EE JSTL Tags :

<%@ taglib prefix="c" uri="jakarta.tags.core" %>


♻️ @JavaOverload
Forwarded from IT Park Uzbekistan
Job & Education Fest — 2025

“O‘zbekiston — 2030” strategiyasiga muvofiq, yoshlar orasida IT sohasini ommalashtirish, IT-xizmatlar eksportini oshirish va ushbu yo‘nalishda 300 mingta ish o‘rni yaratish maqsadida, 2025-yil 14-may kuni Toshkent shahrida “Job & Education Fest” tadbiri tashkil etiladi.

Tadbir kimlar uchun:
🔹 IT sohasida tahsil olayotgan universitet talabalari
🔹 Maktab bitiruvchilari va yuqori sinf o‘quvchilari
🔹 Texnologiyalar sohasiga qadam qo‘yishni istagan barcha yoshlar uchun!

Sizni nimalar kutmoqda:

— Yetakchi IT-kompaniyalar va ta’lim muassasalari bilan tanishish
— Haqiqiy ish o‘rinlari va o‘qish imkoniyatlari
— Karyera haqida suhbatlar va ilhomlantiradigan muvaffaqiyat hikoyalari
— Soha mutaxassislari bilan netvorking

🎯 Tadbirning maqsadi — yosh avlodni IT-ekotizimi bilan yaqindan tanishtirish va munosib imkoniyatlarni topishda ko‘maklashish.

🔜 Sana: 2025-yil 14-may
📍 Manzil: INHA universiteti va “School 21”, Toshkent
📌 Kirish bepul

IT sohasi kelajagiga qadam qo‘yish imkoniyatini qo‘ldan boy bermang!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Shehroz
Dasturchining ojiz tomoni 💀
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
📌 1. Standart atributlar (Thymeleaf attribute)
Atribut Maqsadi
th:text Element ichiga matn joylash
th:utext HTML tag’lar bilan matn chiqazish
th:if Shartli ko‘rsatish (if)
th:unless Shartli ko‘rsatish (not if)
th:each Loop (foreach) qilish uchun
th:object Form uchun asosiy model obyekt
th:field Form field’larini bog‘lash
th:value Input qiymatini o‘rnatish
th:href <a> uchun link qo‘yish
th:src Rasm manzilini ko‘rsatish
th:action <form> action atributi uchun
th:fragment Fragment aniqlash
th:replace Fragmentni to‘liq almashtirish
th:include Fragmentni ichki joylashtirish

📌 2. Misollar bilan ishlatish
🔹 Text chiqarish:
<p th:text="${user.name}">Username</p>

🔹 HTML ni chiqarish (xavfsizlikka ehtiyot bo‘l!):
<p th:utext="${user.description}"></p>

🔹 Shartli ifodalash:
<p th:if="${user.active}">Foydalanuvchi aktiv</p>
<p th:unless="${user.active}">Foydalanuvchi noaktiv</p>

🔹 Loop qilish:
<tr th:each="book : ${bookList}">
<td th:text="${book.title}">Kitob nomi</td>
</tr>

🔹 Link va image:
<a th:href="@{/books/{id}(id=${book.id})}">Ko‘rish</a>
<img th:src="@{/images/logo.png}" />

🔹 Form bilan ishlash:
<form th:action="@{/submit}" th:object="${user}" method="post">
<input type="text" th:field="*{name}" />
<input type="password" th:field="*{password}" />
<button type="submit">Jo‘natish</button>
</form>

📌 3. Thymeleaf Expressions (ifodalar)
Ifoda Tavsif
${...} Model’dan qiymat olish
*{...} th:object ichida field olish
#{...} Xabar faylidan (messages.properties)
@{...} URL yaratish


📌 4. Fragmentlar bilan ishlash (layout)
Fragment yaratish:

<div th:fragment="header">
<h1>Welcome!</h1>
</div>

Fragmentni chaqirish:
<div th:replace="fragments/header :: header"></div>

#java #thymeleaf
♻️
@JavaOverload
O‘zingga shafqatli bo‘l. Har doim zo‘r bo‘lish kerak emas. Ba’zida “to‘xtab nafas olish” ham rivojlanishning bir qismi


♻️ @JavaOverload
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
Janob Panda
Cat as a Service 😁 https://purrli.com/
🐈‍⬛ Mushugi yo'qlar uchun mushugni taftini xis qildirib beruvchi service bor ekan 😁
1😁1
E'lon tog'aning GrokAI si 1000 ta database ma'lumotini generatsiya qilayotgan pand berdi
Today, I find myself with a million tasks to do. Last week I was away, and the work piled up…

On one hand, it’s kind of depressing to think that the rest of my life is filled with work. Filled with various tasks I need to complete every day, that in the grand scheme, are mostly pointless.

95% of the things I did today will amount to nothing. Will be forgotten in 5 years. The project will fail, wither out, I’ll lose interest, or I’ll find a better way to do the thing.

But that is kind of the beauty of it all. There is no end.

And if there was an end, I know I would only feel temporary finality, and probably go start working on something new, and the work would start all over.

Lately I’ve been enjoying the process of doing my small, pointless tasks. Instead of feeling burdened by them, I feel empowered by them. They give my purpose.

I work hard to do them to the best of my ability. I’m not focused on just getting them done, but doing them well, with care and passion.

Sure, there are truly pointless tasks you shouldn’t do at all. And you should outsource things to save you time. But there will always be more work after that. And that’s a good thing.

The work never ends. So enjoy the work, learn to love the work. Get addicted to the daily work. Focus on the process, not the outcome.


♻️ @JavaOverload
👍2
Life is a series of decisions. You never have unlimited options or unlimited time to think, but what you choose in that instant defines who you are.


© Mr Rengoku
🔥1
Java Data Structures Extended-CheatSheet.pdf
146.9 KB
java data structures extended-cheatsheet ☕️🧑‍💻

♻️
@JavaOverload
U: «Menga muhabbat haqida biror goʻzal narsa ayt...»

Men:
— «(∂ + m) ψ = 0»


Bu — Dirak tenglamasi. U fizikadagi eng goʻzal tenglama hisoblanadi. U kvant chigalligi fenomenini tasvirlaydi:

«Agar ikki tizim muayyan muddat aloqada boʻlgan va soʻngra bir-biridan ajralgan boʻlsa, ularni ikki alohida tizim sifatida tasvirlash mumkin, ammo ular allaqachon yagona tizim sifatida mavjud boʻladi. Bir tizimdagi hodisa boshqasiga har qanday masofada taʼsir koʻrsatishda davom etadi»

Bu — kvant chigalligi yoki kvant aloqasi

Muayyan vaqt bogʻlangan ikki zarra doimiy bogʻlangan boʻladi. Ular orasida masofa qanchalik katta boʻlmasin, hatto borliqning ikki qarama-qarshi tomonida joylashgan boʻlsa ham, ularning aloqasi bir lahzada sodir boʻladi!

© X (Twitter)
Feign Client nima?
Feign Client — bu Netflix tomonidan ishlab chiqilgan va Spring Cloud tomonidan qo‘llab-quvvatlanadigan deklarativ HTTP mijoz (client) vositasidir. U REST API’larga so‘rov yuborishni soddalashtiradi. Feign yordamida oddiy Java interfeysi yaratiladi va bu interfeys orqali boshqa servislarga so‘rovlar yuboriladi. Feign avtomatik ravishda HTTP so‘rovlarini boshqaradi va javoblarni kerakli Java obyektlariga aylantiradi.


Nima uchun Feign Client ishni osonlashtiradi?
Feign Client quyidagi afzalliklarni beradi:

Sodda kod: HTTP so‘rovlarini qo‘lda yozish o‘rniga oddiy metod chaqiruvi bilan ishlaydi.
Toza kod: "Boilerplate" kod (takroriy va keraksiz kod) miqdori kamayadi.
O‘qilishi oson: Kod tushunarli va qisqa bo‘ladi.
ORDER-SERVICE ichida Feign Client qanday ishlatiladi?
ORDER-SERVICE da RESTAURANT-SERVICE va CUSTOMER-SERVICE bilan aloqa o‘rnatish uchun har bir servis uchun alohida @FeignClient interfeysi yaratiladi. Bu interfeyslar orqali ORDER-SERVICE kerakli ma’lumotlarni osongina oladi.

Misol bilan tushuntirish

1. CUSTOMER-SERVICE uchun Feign Client
Bu interfeys mijoz ma’lumotlarini olish uchun ishlatiladi.

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

@FeignClient(name = "CUSTOMER-SERVICE")
public interface CustomerServiceClient {
@GetMapping("/api/customers/{id}")
Customer getCustomerById(@PathVariable("id") Long id);
}


Tushuntirish:

@FeignClient(name = "CUSTOMER-SERVICE"): "CUSTOMER-SERVICE"

nomli servisdan foydalanadi (bu nom odatda Eureka serverda ro‘yxatdan o‘tgan bo‘ladi).
@GetMapping("/api/customers/{id}"): /api/customers/{id} endpoint’iga GET so‘rov yuboradi.
Customer: Javob sifatida qaytariladigan obyekt turi (masalan, Customer class).
RabbitMQ'dagi Exchange'lar xabarlarni qabul qilish va ularni bir yoki bir necha navbatga yo'naltirish vazifasini bajaradi. Exchange'lar turli xil yo'naltirish qoidalariga asoslanadi va ularning har bir turi o'ziga xos vazifaga ega. Quyida Exchange'larning turlari va ularning vazifalari haqida batafsil tushuntirib beraman:

1. Direct Exchange
Vazifasi: Xabarlarni aniq mos keluvchi routing key asosida navbatlarga yo'naltiradi. Bu yerda xabar faqat routing key bilan binding key to'liq mos kelganda tegishli navbatga yuboriladi.
Foydalanish: Xabarlarni ma'lum bir navbatga aniq yo'naltirish zarur bo'lganda qo'llaniladi. Masalan, faqat bitta turdagi xabarlarni qayta ishlash uchun mo'ljallangan navbatga yuborish kerak bo'lsa.
2. Topic Exchange
Vazifasi: Xabarlarni routing key va binding key o'rtasidagi naqsh (pattern) mosligi asosida navbatlarga yo'naltiradi. Bu yerda wildcard belgilar, masalan, * (bitta so'zni anglatadi) yoki # (nol yoki undan ko'p so'zni anglatadi), yordamida moslashuvchan yo'naltirish amalga oshiriladi.
Foydalanish: Turli xil xabar turlarini turli navbatlarga moslashuvchan tarzda yo'naltirish kerak bo'lganda ishlatiladi. Masalan, "news.sports.*" kabi naqsh bilan sport yangiliklarini qayta ishlaydigan navbatlarga yuborish mumkin.
3. Fanout Exchange
Vazifasi: Xabarlarni routing key dan qat'i nazar, unga bog'langan barcha navbatlarga tarqatadi. Ya'ni, xabar har bir navbatga nusxa sifatida yuboriladi.
Foydalanish: Xabarlarni bir nechta navbatga bir vaqtning o'zida tarqatish zarur bo'lganda foydalaniladi. Bu pub-sub (nashriyot-obuna) modeliga misol bo'lib, masalan, yangiliklarni barcha obunachilarga yetkazish uchun ishlatiladi.
4. Headers Exchange
Vazifasi: Xabarlarni ularning sarlavhalaridagi (headers) kalit-qiymat juftliklari asosida navbatlarga yo'naltiradi. Bu yerda yo'naltirish routing key ga emas, balki xabar sarlavhalaridagi qiymatlarga bog'liq.
Foydalanish: Yo'naltirish bir nechta atributlarga asoslanishi kerak bo'lganda yoki routing key bilan ta'minlab bo'lmaydigan murakkab mantIq talab qilinganda qo'llaniladi.
Xulosa
Har bir Exchange turi o'ziga xos vazifaga ega va qaysi turdan foydalanish ilovaning talablari va xabarlarning qanday yo'naltirilishi kerakligiga bog'liq. Direct Exchange aniqlik uchun, Topic Exchange moslashuvchanlik uchun, Fanout Exchange tarqatish uchun, Headers Exchange esa murakkab shartlar uchun ideal tanlovdir.

♻️ @JavaOverload
👍1
Forwarded from Muhammad Yusuf
Axaxa boplashipti 😁

Sizda qanday idea bor 😂

Credits by Adam Abdul

@joseph_uz