TGINSIGHT CHAT
IT suhbat
@it_suhbat
TechnologienFaqat Java. Hayot(im)dagi qiziq narsalar: @abdulvahid_ahmad
Aktuelle Beiträge
S. 23 von 85 · 1,011 Beiträge
Gepostet 16. Nov.
Mana bu yerda oldin o'tilgan darslar ro'yxati bor ekan. Tanish bo'lmasangiz, ko'rib chiqishingiz mumkin.
Gepostet 16. Nov.
Assalomu alaykum. Anchadan buyon bir paytlar boshlagan darslarimiz to'xtab qolgan edi. Buning sabablari juda ko'p va davomli. Shunday bo'lishiga qaramasdan, in shaa Alloh darslarni yana davom ettiramiz. Qaysi mavzu va qachonligini yaqin orada e'lon qilaman. @it_suhbat
Gepostet 17. Okt.
Assalamu alaykum! Segment Tree mavzusi haqidagi birinchi dars tayyor:) 1 soat vaqt ajrating va ich-ichidan o'rganib oling. Asosiy qismlar: (00:00:00) - Kirish (00:01:19) - Minimum Element masalasi - brute force (00:04:00) - Minimum Element masalasi - dp (00:09:12) - Minimum Element masalasi - Segment Tree (00:18:17) - Segment Tree - GET (00:23:34) - Segment Tree - UPDATE (00:26:45) - Segment Tree ni xotirada qanday saqlaymiz? (00:29:38) - Segment Tree da qanday harakatlanamiz? (00:31:10) - Segment Tree ni kodda qanday yozamiz? (01:00:36) - Xulosa Do'stlarga ulashishni unutmang. O'zbekcha kontentlar ko'payishiga hissa qo'shing! 🚀🚀🚀 Telegram | Youtube
Gepostet 12. Okt.
#foydali Stream API bilan ishlashda kodning o'qishga qulayligini, sintaktik shakarni oshirish maqsadida Javaning 16-versiyasidan terminal metodlardan biri — toList() metodi taqdim qilingan. Undan oldin streamda qayta ishlangan ma'lumotlarni olishda collect() metodi va toList() collector'i ishlatilinar edi. Ikkalasining yozilishdagi farqi tushunarli, lekin ishlatilishida farqi bormi? Ha, albatta farqi bor. Yangi terminal metod bizga immutable, ya'ni o'zgartirib bo'lmaydigan list qaytarib beradi. Olingan list ustida har qanday o'zgartirish uchun qilingan harakatlar UnsupportedOperationException xatoligi bilan "siylanadi". Eski holatdagi collect(Collectors.toList()) metodi esa, qayta ishlansa bo'ladigan to'plam qaytarib beradi. Agar bizga muayyan turdagi ma'lumotlar to'plami kerak bo'lsa, collect(Collectors.toCollection(HashSet::new)) metodini ishlatsak ko'zlangan maqsadga erishamiz. (HashSet o'rnida kerakli Collection turi yoziladi) @it_suhbat
Hashtags
Gepostet 23. Sept.
Beta, Gamma, preprod, prod muhitlar haqida User-base katta kompaniyalarning CI/CD pipelinelarida beta, gamma, preprod va prod environment uchratish mumkin. Ho'sh ularni farqi qanaqa va nimaga kerak? Beta - bu playground. Yani pipeline o'zgarishlarini local o'rnatib chiqmasdan yoki research uchun kirib tekshirib chiqish imkoni bor bogan muhit. Injenerlar oz shaxsiy code-ini yuklashga imkoni bor va QA-injenerlar pressure test qilishlari ochiq joy. Bu yerdagi hattoliklar uchun togridan togri bug ochilmaydi. Gamma - muhit access uchun chegaralangan bo'lsa ham playground kabi faqat user sifatida tekshirish uchun joy. Odatda, Beta va Gamma depedency-lari ularning ham gamma muhitlarga yo'naltirilgan bo'ladi. Yani qo'shni jamoingiz servisiga bog'liqlik bo'lsa, ularning gamma endpointlarini ishlatish kerak. Yani pressure test yoki load-test qilaman deb ularni prod environmentiga tasir etmasligi shart. Shuning uchun pipelinedan tashqari o'zgarishilar gammada mumkin emas, sanoqli odam admin-accessga ega bo'lishi kerak. Preprod - gammadan asosiy farqlari - (1) dependencylar ham prodga yo'naltirilgan, (2) prod-ni birga bir nusxasi, (3) o'zgarishlar prodga chiqishidan oldin ma'lum vaqt preprodda sinalgan (canary-test orqali) va malum vaqt ichida muammo chiqmasa prodga o'zgarish chiqadi. Dependencylar prodga qaratilganligi uchun, jamoalarning foydalanuvchilar kabi ichki accountlari bo'ladi. Shu account-da integration-testlarni o'tkazgandan keyin, prodga chiqishga ruxsat beradi. Shu yerda aytib otish joizki, gammada ham integration test o'tkazilishi mumkin. Prod - foydalanuvchilarga ochiq muhit, to'g'rirog'i ularning muhiti. Software developmentdan faqat canary-test yurg'izilishi mumkin. Shu joyida aniqlik kiritib o'tmoqchiman. canary test - har doim api ni bir xil input bilan tekshirib turadigan test. U yiqilsa demak customerlarda ham muammo bolayotgani yoki bolishi mumkinlik belgisi. Canary test vaqt-intervalida har bir APIni tekshirib turadi, kutilmagan javob kelsa, signal beradi. Yani foydalanuvchilardan oldin hattolikni topishiga yordam beradi. Integration test - tizim dependency-lar bilan to'g'ri ishlashi uchun yurg'iziladigan joy. Ko'p hollarda end-to-end(e2e) testlar bilan farqi yo'q darajada, barcha funktsiyalarni boshidan oxirigacha to'g'ri ishlashini tekshirishga yo'naltirilgan bo'lishi mumkin, xolbuki integration va e2e testlar bir xil tushuncha emas.
Gepostet 19. Sept.
https://www.youtube.com/live/E8NV68ihJyY?si=cJAEsYZgP-dAZEtZ
Gepostet 19. Sept.
Java 21! Bugun, 19.09.2023, javaning navbatdagi versiyasi LTS(long-term support) sifatida taqdim etildi. Qanday o'zgarish va yangiliklar bor? — String templates (preview) — Sequenced collections — Generational ZGC — Record patterns — Foreign Function & Memory API (Third Preview) — Unnamed Patterns and Variables (Preview) — Virtual Threads🔥 — Unnamed Classes and Instance Main Methods (Preview) — Scoped Values (Preview) — Vector API (Sixth Incubator) — Deprecate the Windows 32-bit x86 Port for Removal — Prepare to Disallow the Dynamic Loading of Agents — Key Encapsulation Mechanism API — Structured Concurrency (Preview) O'qing, qo'llab ko'ring, loyihangizni ko'taring. Doim oxirgi texnologiyalarni ishlatishga harakat qiling. @it_suhbat
Gepostet 13. Sept.
Visibility, Zo’r ish qilish muhim lekin bu hammasi emas. Yaqinda productionda bo’layotgan bir muammoni o’zimizning test moshinalarda reproduce qildim. Hammamiz bilamiz 100% reproduce qilib bo’lmaydigan, aksirsa ishlaydigan yo’talsa ishlamaydigan buglarni — eng yomon buglar 🤨 Bunday buglarni reproduce qildingiz degani 90% ishni bajardingiz degani. Muammoni hal qilish uchun bir qator ham kod yozmadim, boshqa bir dasturchini commit’ini cherry-pick qilishni o’zi yetarli bo’ldi. Ammo bir hafta vaqtim ketdi va muammoni hal qilganimdan juda xursandman chunki bu narsa bizni yangi releaselar qilishdan to’xtatib qo’ygan edi. Shunday xolatda agar mendan 3 yil avval manager “Vohid, what did you do the last week?” deb so’rashganda, men “I just fixed a bug using someone else’s code” degan bo’lar edim. Hozir esa quyidagicha javob beraman: — I digged deep into a problem and reproduced a bug that was affecting 30% of our production users — I collected logs on different app versions and pinpointed the root cause — I applied the fix and verified it on several different devices which explained the recent user drop in our analytics — This further unblocked us from dropping the new release with more confidence Men shu tarzda proyektdagi ishimni visibility’sini oshiraman. Bu karyeram uchun juda manfaatli. Oramizdan bazilar aytishi mumkin: men dasturchiman, sotuvchi emasman. Gapingizga qo’shilaman, bizni asosiy ishimiz bu yuqori sifatli software yozish. Lekin, afsuski karyerangizni oldinga siz tortmasangiz, hech kim tortmaydi. Ishingizni siz sotmasangiz, hech kim sotmaydi. Lekin unutmang, qanchalik zo’r sotuvchi bo’lmang sifatsiz narsani sota olmaysiz. Zo’r ish qilish baribir muhim.
Gepostet 13. Sept.
#best_practice Bu maqolada oddiy mavzu, lekin foydali uslub haqida o'qishingiz mumkin. Ha, ko'rib turganingizdek, bu shart operatori. Davomi... @it_suhbat
Hashtags
Gepostet 11. Sept.
Dasturchilikda tajribangiz bir yilmi, O'qituvchilik qilish Sizga mumkin emas! Hozirgi davrda IT o'quv markazlar juda ko'p. Ular har xil sifatda dars beradilar, turli yo'nalishlarda ilm ulashishga harakat qilishadi. Ammo har bir markazning eng katta muammosi bu sifatli, ilmli Ustozni topa bilishdir. Lekin e’tiborimizni bir narsa tortdi. Hali tajribasi ikki yil bo'lmagan juda ko'p yoshlar markazlarda dars berishga oshiqishadi. Bu narsa o'ta yomon natijalarga olib borishi haqida esa deyarli hech qayerda gapirilmaydi. Joriy maqolada shu mavzularni yoritishga harakat qilamiz. Haqiqiy proyekt qanday amalga oshirilishini bilmaysiz. Tajribasi hali yo’q, yoki kam bo’lgan odam proyekt qanday yuritilishi haqida hali yetarlicha ma’lumotga ega bo’lmaydi. O’rgatiluvchi har bir mavzu keyinchalik proyektda qayerda yordam bera olishini bilish — dars berishdagi eng muhim joy! Proyektni bajarishda kimlar ishtirok etadi, qanday vazifalar bajariladi — bularni bilish darsni mazmunli qilib o’tishga sababchi bo’ladi. Mijoz kimligi haqida ma’lumotingiz yo’q. Hali tajribasi kam bo’lgan odam, o’zi yozayotgan kodning mijoz qo’lida qanday ishlashi haqida ma’lumotga ega bo’lmaydi. Kod soddaligi, effektivligi, katta yuklamalarga bardoshliligi tajribasi faqat mijoz uchun real proyektda ishtirok eta olgan odamda bo’ladi. Mijozning xohishlari, uning injiqliklarini ko’rmagan odam dasturlashdagi tushunchalar qanday qilib muammolarni hal qilishini bila olmaydi. Hayotiy tajriba o’lchamini o’quvchi o’ta tez ilg’ay oladi. Xohlaysizmi, yo’qmi — Sizni eshitayotgan odam Sizning tajribangizni tez ilg’aydi. Buning uchun dasturchi bo’lish shart emas. Umuman tajribasi bor odam bilan tajribasiz odam fikrlashida, gapirishida va mavzuni tushuntirib berishida juda katta farq bo’ladi va bu narsani o’quvchi birinchi darsning o’zidayoq ilg’ay oladi. Muammolar qanday hal qilinishini bilmaysiz. Istalgan dasturiy ta’minot real hayotda ishlatilganidan keyin muammolarga duch kelishi aniq — hakerlar hujumi, katta yuklamadagi murojaatlar, dasturiy ta’minot arxitekturasi o’sishga tayyormasligi yoki noto’g’ri tuzilganligi va boshqalar. Tajribasiz odam bunday muammolarni ko’rmagan bo’ladi, ularni hal qilish bo’yicha fikrga ega bo’lmaydi. Axir, o’qituvchiga borishdan aynan maqsad shu-ku — hayotiy muammolarga yechimlarni o’rganish. Dasturlash tillarini o’qituvchisiz o’rganib olsa ham bo’ladi. Onlayn kurslar buni sifatliroq ham qila oladilar. Ammo hayotiy tajriba faqat tajribali ustozdan olinadi. Haqiqiy mas’uliyat o’quvchi o’qishni bitirganida boshlanadi. Endigina dars berishni boshlaganimizda, biz dars berishni mas’uliyati yuqori ish deb bilar edik, ammo bu mas’uliyat qayerda namoyon bo’lishini bilmagan ekanmiz. Uch yil dars berib bir fikr paydo bo’lgan — O’qituvchilik mas’uliyati o’quvchi o’qishni bitirib, ishini topib o’zini ko’rsatishni boshlagan kunida boshlanar ekan. Dars jarayoni bu sun’iy jarayon. Undagi masalalar sun’iy (ya’ni dars uchun o’ylab topilgan) bo’ladi. Ustozning mahorati, o’quvchiga singdirgan ilmi faqatgina shu o’quvchining haqiqiy ishida bilandi. Agar ishxonadagi odam o’quvchingiz haqida: “Shuni ham bilmaysizmi? O’qituvchingiz kim bo’lgan o’zi?”, desa, Sizning mas’uliyatsizligingiz bilinadi. Agar o’quvchingiz zarracha bo’lsa ham Siz bergan ilmga norozilik his qilsa, biling-ki, qilayotgan ishingizda halollikka e’tibor kamaygan bo’ladi. Shuning uchun ham ustozlik og’ir kasb deyiladi. Ustoz bergan ilk ilm o’quvchining professional hayotining har bir nuqtasida bilinib turadi, shuning uchun ham Ustozman degan odam yelkasiga katta yuk olgan bo’ladi. Yakun o’rnida… Yakun o’rnida bir narsani aytib o’tish joiz — umuman istalgan kasbda Ustozlik qilish uchun katta tajriba o’ta muhim. Shundagina ushbu kasb egalari sifatli ish qila oladilar. Dasturlashda esa ayni damda dars beraman deb yonib turgan, hali yetarlicha tajribaga ega bo’lmagan yoshlar ko’payib qoldi. Maslahatimiz: Dasturlashda yana bir necha yil tajriba yig’ing, zero Siz bergan ilm birovning kelajagini sindirib qo’ymasin! Ilm izlashdan to’xtamang! @app_hbs
Gepostet 1. Sept.
Gepostet 18. Aug.
#raqobat Ertalab Paynetdan Rossiya bilan pul o'tkazmalar ishlamasligi haqida xabar kelgan edi, bir necha soatdan keyin Uzum bank Rossiya bilan pul o'tkazmalari 24/7 ishlaydi bizda deb bildirishnoma yuboribdi)) Shunaqa, xato qilsangiz, qolib ketadigan zamonda yashayapmiz :) @it_suhbat
Hashtags