uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

Javaholics

Javaholics

Відкрити в Telegram

Har bir dasturchida e'tibordan chetda qoldirgan mavzusi bo'lishi ehtimoli yuqori va biz joylaydigan keyingi post siz uchun ayni muddao bo'lishi mumkin.

Показати більше
Країна не вказанаКатегорія не вказана
193
Підписники
Немає даних24 години
Немає даних7 днів
Немає даних30 днів
Архів дописів
To’g’ri javob: primitive type ya’ni long Chunki, 1) int i - primitive typeda, agar sum Long bo’lganda autoboxing ya’ni primitive typedan non-primitivega o’tqazish kerak bo’lardi va bu yaxshi yechim emas. 2) Sikl (for) Integerni maximum qiymati marta aylanadi. Agar sum non-primitive ya’ni Long bo’lganda va har safar i qo’shilganda yangi object yaratilgan bo’lardi. Va bizda Long ning keraksiz 2147483647 (Integer qabul qila oladigan max qiymat) ta obyekti yaratilgan bo’lardi. P.S. kodni run qilib ko’rganda ham o’rtasidagi farq vaqt hisobida yaqqol seziladi.

‘sum’ o’zgaruvchisi ushbu holatda primitive type bo’lgani yaxshimi (long) yoki non-primitive type (Long) va nima uchun ?
‘sum’ o’zgaruvchisi ushbu holatda primitive type bo’lgani yaxshimi (long) yoki non-primitive type (Long) va nima uchun ?

Performancega sezilarli ijobiy ta’sir ko'rsatadigan TOP 15 ta IntelliJ IDEA shortcutlari. 🔥

Samaradorlikka sezilarli ijobiy ta’sir ko'rsatadigan TOP 15 ta IntelliJ IDEA shortcutlari. 🔥

Kanalni reklama qilganimizda, post quyidagicha bo’lardi: 456 - raqamdagi bo’lishni xohlaysizmi ? Unda javaholics ga obuna bo’
+4
Kanalni reklama qilganimizda, post quyidagicha bo’lardi: 456 - raqamdagi bo’lishni xohlaysizmi ? Unda javaholics ga obuna bo’ling ;)

OOP Kalmar o’yini talqinida :))
+4
OOP Kalmar o’yini talqinida :))

Agar sizda qandaydir taklif yoki ish jarayonida duch kelgan savollaringiz bo'lsa, yoki boshqalar uchun ham foydali deb topgan mavzuyingiz bo'yicha post yozishimizni xohlasangiz, quyidagi bot orqali bizga xabar qoldiringishingiz mumkin. 👉🏼 @javaholics_bot Va biz albatta jamoamiz bilan birga taklifingizni ko'rib chiqib javobni yoki kanalda post ko'rinishida yoki shaxsiyda xabar qoldirish orqali amalga oshiramiz.

🧠 To'g'ri fikrlash, fikrlash uslubi (mindset) qanchalik muhim ekanligi har kuni isbotlanadigan haqiqat 🇺🇿 "Mindset"ingizni o'zgarishlarga tayyorlashning 12 usuli 👉 https://telegra.ph/Mindsetingizni-ozgarishlarga-tayyorlashning-12-usuli-09-22 🇺🇸 12 Ways to Shift Your Mindset and Embrace Change 👉 https://www.inc.com/young-entrepreneur-council/12-ways-to-shift-your-mindset-and-embrace-change.html P/S: Sizlarga biz mashg'ulot. Hamma o'z rakursidan ko'rib izohlaringizni yozishingizni kutaman. Blog: @OdilbekMirzayev

Serializable interfeysi obyektni shunchaki serializatsiya bo'la olishga munosib ekanligini belgilash uchun maxsus belgi sifat
Serializable interfeysi obyektni shunchaki serializatsiya bo'la olishga munosib ekanligini belgilash uchun maxsus belgi sifatida ishlatilinadi. static va transient kalit so'zi bilan belgilangan o'zgaruvchilar serializatsiya qilinmaydi. Ma'lum bir obyekt serializatsiya bo'la olishi uchun har bir fieldi serializable interfeysidan implement olgan bo'lishi shart (rasm ko'rsatilganidek).

Serialization and Deserialization Serializatsiya - bu obyektni bayt streamga aylantirish mexanizmi. Deserializatsiya - bu tes
Serialization and Deserialization Serializatsiya - bu obyektni bayt streamga aylantirish mexanizmi. Deserializatsiya - bu teskari jarayon, bu yerda bayt stream haqiqiy Java obyektini xotirada qayta yaratish uchun ishlatiladi.

#transactional #configure #enable Ushbu post orqali @Transactional annotation dan foydalanishni qanaqa usullari mavjud hamda uni to'g'ri configuratsiya qilishni izohlashga harakat qilamiz. - Transaction management ni sozlashni 2 xil usuli mavjud: 1-usul: @Configuration class lardan biriga @EnableTransactionManagement annotation qo'shish kerak hamda, ushbu bean ni qo'shish kerak @Bean public PlatformTransactionManager transactionManager(){ JpaTransactionManager transactionManager = new JpaTransactionManager(); transactionManager.setEntityManagerFactory( entityManagerFactoryBean().getObject() ); return transactionManager; } 2-usul: XML file ga bean ni qo'shish kerak <bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="myEmf" /> </bean> <tx:annotation-driven transaction-manager="txManager" /> Eslatma: Agar siz Spring Boot project da spring-data- yoki spring-tx dependency lardan foydalangan bo'lsangiz, default holatda transaction management enable holatida bo'ladi

#transactional @Transactional annotation ni repository da method-level da foydalanishimizga misol bo'la oladi.
#transactional @Transactional annotation ni repository da method-level da foydalanishimizga misol bo'la oladi.

#transactional Ushbu holatda @Transactional annotation ni controller method lari bilan birgalikda ishlatilish holati ko'rsati
#transactional Ushbu holatda @Transactional annotation ni controller method lari bilan birgalikda ishlatilish holati ko'rsatilgan. @Transactional annotation ni optional(ixtiyoriy) elementlari va ularning tasnifi * isolation - Tranzaktsiyalarni izolyatsiya qilish darajasi. * propagation - Propagation turi * timeout - Transaktsiya bajarishni kutish vaqti (default -1) * readOnly - Bu transaktsiyani faqat read (select - ma'lumot o'qish) yoki false qiymatida database ga o'rgarishni saqlashga ruxsatni bildiradi (default false). * rollbackFor - Nolinchi (0) yoki undan ko'p istisno sinflarini belgilaydi, ular Throwable subklasslari bo'lishi kerak, bu esa qaysi istisno turlari tranzaktsiyani qaytarishga olib kelishi kerakligini ko'rsatadi. Ya'ni shu exception holatlari aniqlansa tranzaktsiya rollback bo'lib ketadi (O'zgarishlar saqlanmaydi).

#transactional #transaction_management
JPA va transaksiyalarni boshqarish

JPA (Java Persistence API) dan qanday foydalanishni bilamiz, lekin undagi mavjud transaksiyalarni boshqarish qanday amalga oshiriladi va uni JPA ni o'zi ta'minlay oladimi? kabi savollarga javob topishga harakat qilamiz. JPA ni o'zidan foydalangan holatimizda transaksiyalarni avtomatik boshqarish holati mavjud bo'lmaydi. Database dan faqatgina jpa query(hql), native query(sql) orqali select (ya'ni read) ni ishlatishimiz mumkin bo'ladi holos. Umumiy holatda database ga create, insert, update, delete buyruqlarini bermoqchi bo'lsak, @Transactional annotation dan foydalanishimiz kerak bo'ladi. Va bu bizga ACID (atomicity, consistency, isolation,durability) - ma'lumotlar bazasi tranzaktsiyalarining xususiyatlari to'plamidan foydalanishga imkon beradi. ACID haqida to'liqroq ma'lumotni ushbu linkda o'qishingiz mumkin. @Transactional annotation ni class yoki method levelida foydalanishimiz mumkin: 1) service-level: Bu holatda @Transactional service dagi barcha method larga tegishli.
@Service
@Transactional
public class TestService {
    //...
}

2) method-level: Bu holatda @Transactional service dagi faqat shu method ga tegishli
@Service
public class TestService {
    
   @Transactional
   public void testMethod() {
       //...
   }
}

Transactional bo'yicha navbatdagi postimizda yana ham batafsilroq tushuncha berishga harakat qilamiz.

#answer (spring-core) Inson deganda biz ko'z ostimizga insonlar keltiramiz lekin aynan Palonchi (Axror) ni keltirmaymiz odatda yani aniq bir shaxsni. Tasavvur qiling men 100 ta insonni ishlataman. Marketingga marketologni, Developerga developerni va hakoza bir birini bir birini ishiga aralashtirib yubormayman, agar aralashtirsam kassot bo'laman chunki o'zini mutaxasi qilmagani uchun. Bu yerda har bir inson bitta object Inson tushunchasi o'rnida IoC ya'ni objectlarni qanday boshqarish(configure), yig'ish (assemble) tushunamiz DI deganda esa o'sha o'z mutaxasisini(objectni) kerakli joyda to'g'ri chaqirib ishlata olishimda. Agar DI ishlatmasam systema bir kun kelib kassot ya'ni qulash ehtimoli katta. endi Springda IoC 2 xil usul hosil qilamiz, yani insonlarni 2 xil usulda boshqarishimiz mumkin 1.BeanFactory 2.ApplicationContext biz bitta bo'sh Global Container(Quti buni ApplicationContext desak bo'ladi) yasaymiz, va har bitta classlarimizdan single object yaratib o'sha qutiga tashaymiz manabuni IoC tushunchasi deyishimiz mumkin Endi uni kerakli joyda developer kere bo'lsa developerni chaqirishni DI orqali qilamiz bu Spring Bootda @Authowired annotation orqali qilinadi. P.S: yana documentation orqali o'qib javobni kuchaytirib oling !

#spring_core #java_core IoC (Inversion of Control) va DI (Dependency Injection) nimani tushunasiz ? Java Object classdagi equals() and hashCode() nimani tushunasiz , o'zi biz ishlatamizmi , kerakmi ? commentariyada to'liq fikringizni qoldiring, bu ko'pchilikka foyda bo'lishi mumkin

#jwt sizningcha qanday yo'l tutish kerak !? 1 2 3 ? 1 . Jwt Tokeni filter qilayotganda subjectida usernameni olib bazadan o'sha userni topib rolelarini va boshqa permissionlarni tekshirish kerak shunda security taminlanadi. 2. Yo'q. Jwt generate qilayotganda tokeni ichiga o'sha rollarini, va boshqa permissionlarini ham beramiz va uni filter qilayotganimizda hamma permissionlarini tokendan olib authentication dan o'tkazib yuboramiz shunda systema database connection bo'lmaydi va sezilarli darajada tez ishlaydi 1 - usuldan ko'ra shu yaxshi 3. Boshqa yo'l qilish kerak . Commentda qoldiraman.

#spring_security Cross-Site Request Forgery (CSRF) haqida. CSRF bu - autentifikatsiyadan o'tgan userni o'zi xohlamagan actionni bajarishga majbur qilish orqali uni sessionidan foydalangan holda hacking qilish. Tushunganingizdek bu hacking turi hisoblanadi. Xo'sh, buni qanday qilishadi ? Bu uchun brauzerlar qanday ishlashini tushinib olish zarur. User autentifikatsiyadan o'tgan paytda har bir requestga sessionId qo'shib jo'natiladi (aksiriyat vaziyatlarda shunday). Bu shuni anglatadiki, ko'p hollarda, tokenga asoslangan authentifikatsiyada tokendan va bir vaqtda sessionId dan foydalanishadi. Spring security bo'yicha mutaxassislar ham userlar ko'pchiligi web client sifatida (mobile yoki desktop emas) ro'yhatdan o'tishsa token bilan birgalikda sessiondan foydalanish afzal deb ta'kidlashadi. Masalan, deylik siz sign in qilib kirgan foydalanuvchisiz, saytda sizga qiziq bo'lgan qandaydir reklamaga o'xshash ko'rinish yoki fake download tugmasini yaratishadi va siz uni bosganingizda serverga o'zlarini g'arazli maqsadlarini amalga oshirish uchun (siz uchun generatsiya qilingan session dan foydalangan holda) request jo'natishadi. Va shoh mot :) CSRF hujumlari orqali nimalar qilish mumkin ? Agar to'lov tizimi bo'lsa o'zlarining hisoblariga pul o'tqazish yoki o'zlariga hamma permissionlarga ega bo'lgan user yaratib olish va shunga o'xshagan imkoniyatlar ega bo'ladilar. Yaxshiroq tassavvurga ega bo'lish shu linkdagi videoni ko'rish mumkin.

Kech bo’lsa ham barcha javaholiklarni kasb bayrami bilan tabriklaymiz. Klaviaturangiz shiqirlashdan to’xtamasin ;)
Kech bo’lsa ham barcha javaholiklarni kasb bayrami bilan tabriklaymiz. Klaviaturangiz shiqirlashdan to’xtamasin ;)

Qo'shimcha ma'lumot: Stream qilishda haqiqatdan ham stream qilinayotgani sezilishi uchun har bir keyingi element 1 sekund kechiktirib uzatiladigan qilingan.