Forwarded from Dr. Algorithm
Juniorlarda ko‘p uchraydigan xatolar
[2-qism] (boshi avvalgi postda)
4. Hujjatlar havola qilinish uchun mavjud.
Yangi dasturlarga kirganlar yoki junior dasturchilarda ajoyib fikr bor. Ular hujjatlarga havola qilish yoki Googledan narsa qidirishni zaiflik deb bilishadi.
Bizning sohada izlamasdan, yoki bajargan ishingizda biror havola (link) qo‘ymasdan ishlab bo‘ladimi? Bugun yozgan kodingizni ertaga ko‘rsangiz, asabiy bo‘lib o‘tirasiz-ku axir.
Hujjatlarga havolar qiling. Ertaga hamkasbingiz bilan ishlaganda, har yarim soatda oldiga borib, "bu qanaqa edi?", "bunisini nima qilgan edik, eslatvor" deb so‘roqqa tutishgan ko‘ra, bir marta ko‘rsatib berilganida izoh yozib qo‘yish, topgan maqolangiz havolasini ko‘rsatish vaqt tejaydi, ish unumli bo‘ladi.
5. Ishlatadigan ish qurolini bilmaslik.
Barcha dasturchilar, shu jumladan junior dasturchilar, kod yozish uchun IDE (ish quroli)ni ishlatishadi. Ammo uni yaxshi bilmaslik, yoki barcha imkoniyatlaridan to‘g‘ri foydalanmaslik ish unumdorligiga salbiy ta’sir qiladi.
Ish qurolining ba’zi imkoniyatlarini ko‘rib chiqsak:
Debugging (yurib chiqish):
* kod qatorlarida harakatlanish, o‘zgaruvchilar qiymatlarini tekshirish, shartli va shartsiz to‘xtash tugunlarini yasash, o‘zgaruvchilarni kuzatish va stack zanjirini ko‘rish.
* Console.log ni ishlatish hech qachon yetarli emas.
Profiling (resurs monitoringi)
* kompyuter resurslarining asosiy tushunchalaridan xabardor bo‘lish
CPU ko‘p ishlatadigan kodni topish va tuzatish
Xotiradan ko‘p foydalanishni oldini olish (memory leak)
Qurish (Build) jarayoni
* turli build sozlamalarini ishlata olish (Debug, Release versiyalar)
* Turli qurilmalar uchun yasash (web, desktop, mobile)
Sinov ish qurollari (Testing)
* Unit test - qanday qilib ishlatish va hisobot olish
* kodning qaysi qismlari sinovdan o‘tganini aniqlay olish (code coverage)
Kod uslubi (code style)
* Formatting - IDE larda tayyor formatlash imkoniyati bor (andozaga solish), shuni doim ishlatib turish
* korxona kod uslubi (corporate code style) ga moslab andozaga solish (format). Shunga git formatlash bilan to‘lib qolmaydi.
Bu kabi hayotda ko‘p uchraydigan kamchiliklar doim bo‘ladi. 20-30 yil oldin ham bor edi, hali kelajakda ham ancha vaqt davom etsa kerak. Chunki hammamiz insonmiz.
Ammo, savol berish, xatolar ustida ishlash, yangilikka qiziqish bu kamchiliklar oldimi oladi. Shaxsiy rivojlanishimizga yordam beradi.
Izoh:
Repo - repository. Version control’da saqlanadigan joy nomi. Siz yozgan kodlaringiz yashaydigan shahar.
Force-push - gitga ma’lumot yuklash vaqtida xatolik yuz berganida, barcha boshqalarning o‘zgarishlarini inkor qilib, sizning kodni gitga yuklash.
SVN - Subversion. git chiqishidan avvalroq muomalada bo‘lgan version control dasturi.
IDE - Integrated Development Environment, kod yozish muhiti.
16.01.2025 London
@DrAlgorithm
[2-qism] (boshi avvalgi postda)
4. Hujjatlar havola qilinish uchun mavjud.
Yangi dasturlarga kirganlar yoki junior dasturchilarda ajoyib fikr bor. Ular hujjatlarga havola qilish yoki Googledan narsa qidirishni zaiflik deb bilishadi.
Bizning sohada izlamasdan, yoki bajargan ishingizda biror havola (link) qo‘ymasdan ishlab bo‘ladimi? Bugun yozgan kodingizni ertaga ko‘rsangiz, asabiy bo‘lib o‘tirasiz-ku axir.
Hujjatlarga havolar qiling. Ertaga hamkasbingiz bilan ishlaganda, har yarim soatda oldiga borib, "bu qanaqa edi?", "bunisini nima qilgan edik, eslatvor" deb so‘roqqa tutishgan ko‘ra, bir marta ko‘rsatib berilganida izoh yozib qo‘yish, topgan maqolangiz havolasini ko‘rsatish vaqt tejaydi, ish unumli bo‘ladi.
Tavsiya: Googledan narsa izlashga uyalmang. Foydali manbalarni saqlab qo‘ying. Kodingiz yonida (ReadME) foydalangan havolalar ro‘yxatini yig‘ib yursangiz bo‘ladi.
5. Ishlatadigan ish qurolini bilmaslik.
Barcha dasturchilar, shu jumladan junior dasturchilar, kod yozish uchun IDE (ish quroli)ni ishlatishadi. Ammo uni yaxshi bilmaslik, yoki barcha imkoniyatlaridan to‘g‘ri foydalanmaslik ish unumdorligiga salbiy ta’sir qiladi.
Ish qurolining ba’zi imkoniyatlarini ko‘rib chiqsak:
Debugging (yurib chiqish):
* kod qatorlarida harakatlanish, o‘zgaruvchilar qiymatlarini tekshirish, shartli va shartsiz to‘xtash tugunlarini yasash, o‘zgaruvchilarni kuzatish va stack zanjirini ko‘rish.
* Console.log ni ishlatish hech qachon yetarli emas.
Profiling (resurs monitoringi)
* kompyuter resurslarining asosiy tushunchalaridan xabardor bo‘lish
CPU ko‘p ishlatadigan kodni topish va tuzatish
Xotiradan ko‘p foydalanishni oldini olish (memory leak)
Qurish (Build) jarayoni
* turli build sozlamalarini ishlata olish (Debug, Release versiyalar)
* Turli qurilmalar uchun yasash (web, desktop, mobile)
Sinov ish qurollari (Testing)
* Unit test - qanday qilib ishlatish va hisobot olish
* kodning qaysi qismlari sinovdan o‘tganini aniqlay olish (code coverage)
Kod uslubi (code style)
* Formatting - IDE larda tayyor formatlash imkoniyati bor (andozaga solish), shuni doim ishlatib turish
* korxona kod uslubi (corporate code style) ga moslab andozaga solish (format). Shunga git formatlash bilan to‘lib qolmaydi.
Tavsiya: Ishlatadigan ish qurolingizni yaxshilab o‘rganing. Har hafta 2-3 ta yangi imkoniyatini o‘rganish orqali 1 yilda to‘liq o‘rganib olasiz. Boshqa dasturchilardan ular ishlatadigan ish qurollarini so‘rang.
Bu kabi hayotda ko‘p uchraydigan kamchiliklar doim bo‘ladi. 20-30 yil oldin ham bor edi, hali kelajakda ham ancha vaqt davom etsa kerak. Chunki hammamiz insonmiz.
Ammo, savol berish, xatolar ustida ishlash, yangilikka qiziqish bu kamchiliklar oldimi oladi. Shaxsiy rivojlanishimizga yordam beradi.
Shunday ekan, uyalmay izlaning.
Izoh:
Repo - repository. Version control’da saqlanadigan joy nomi. Siz yozgan kodlaringiz yashaydigan shahar.
Force-push - gitga ma’lumot yuklash vaqtida xatolik yuz berganida, barcha boshqalarning o‘zgarishlarini inkor qilib, sizning kodni gitga yuklash.
SVN - Subversion. git chiqishidan avvalroq muomalada bo‘lgan version control dasturi.
IDE - Integrated Development Environment, kod yozish muhiti.
16.01.2025 London
@DrAlgorithm
Forwarded from Otabek Ismoilov
Java Spring Boot Deployment: Gitlab CI va Github Actions
Bu amaliyotda biz Java Spring Boot applicationini to'liq CI/CD yozib avtomatlashtirishni ko'rib chiqdik CI/CD uchun Gitlab CI va Github Actionsni ko'rib chiqdik. Spring Boot applicationni multi-environmentga(dev,stage,prod) bo'lib konfiguratsiya qilishni va shunga moslab CI/CD yozishni va boshlangi'ch secret managementni ko'rib chiqdik. Spirng Boot applicationni Docker yordamida qanday ishga tushirish va healtcheck qo'yishni ham amaliyot davomida ko'rib chiqdik.
P/s: Javachi do'stingizga tashlab qo'yish esdan chiqmasin ))
Bu amaliyotda biz Java Spring Boot applicationini to'liq CI/CD yozib avtomatlashtirishni ko'rib chiqdik CI/CD uchun Gitlab CI va Github Actionsni ko'rib chiqdik. Spring Boot applicationni multi-environmentga(dev,stage,prod) bo'lib konfiguratsiya qilishni va shunga moslab CI/CD yozishni va boshlangi'ch secret managementni ko'rib chiqdik. Spirng Boot applicationni Docker yordamida qanday ishga tushirish va healtcheck qo'yishni ham amaliyot davomida ko'rib chiqdik.
P/s: Javachi do'stingizga tashlab qo'yish esdan chiqmasin ))
This media is not supported in your browser
VIEW IN TELEGRAM
#mem #kayfiyatvaqti
Sizni endi while ni oʻrganayotgan doʻstingiz tuzgan dastur. 😁
While ni oʻrgangan vaqtingizda sizda bir marta boʻlsa ham boʻlgan bu narsa 😂
Sizni endi while ni oʻrganayotgan doʻstingiz tuzgan dastur. 😁
While ni oʻrgangan vaqtingizda sizda bir marta boʻlsa ham boʻlgan bu narsa 😂
😁1
Forwarded from Daily Shakhriyor
Assalomu Alaykum qadrdonlar, hamkasblar, bugun kanalimizda(discussion chatda), Senior Java Software Engineer pozitsiyasi uchun ilk mock interview bo'lib o'tadi. O'tkazib yubormang, barcha uchun manfaatli, foydali bo'ladi degan umiddamiz. Intervyu oluvchi rolida Umar Raxmanberdiyev va intervyu topshiruvchi rolida Abdurashid Yasinov.
✍2
Forwarded from Alisher Tojiyev
Dunyoni buzib tashlayman degan dasturchilarni asl holatini koʻrib, dunyoni qurib tashlash darajasigacha kutadigan boʻlib qoldim.
Chunki aynan shu holatigacha chiqishiga yordam bermasdan xayrlashish yechim emas, aksincha yoʻl yoʻriq koʻrsatib kelajakda mohir dasturchi boʻlishi uchun sharoit va yoʻl yoʻriqlar berish kerak.
Sabr bilan biz xohlagan kelajak quriladi.
- Iltimos, rasvo kod yozmang!
- Iltimos, nimadir qilmoqchi boʻlsangiz avval ChatGPT, Gemini yoki Deepseek bilan gaplashib oling, research qiling!
- Iltimos, har bir yozgan kodinggizga unit test yozing!
- Iltimos, har bir yozmoqchi boʻlgan kodinggizni kelajakda yana qayta yozmasliklari uchun uni muqumliligiga e’tibor bering, highload uchun ham oʻylab keting.
Chunki aynan shu holatigacha chiqishiga yordam bermasdan xayrlashish yechim emas, aksincha yoʻl yoʻriq koʻrsatib kelajakda mohir dasturchi boʻlishi uchun sharoit va yoʻl yoʻriqlar berish kerak.
Sabr bilan biz xohlagan kelajak quriladi.
- Iltimos, rasvo kod yozmang!
- Iltimos, nimadir qilmoqchi boʻlsangiz avval ChatGPT, Gemini yoki Deepseek bilan gaplashib oling, research qiling!
- Iltimos, har bir yozgan kodinggizga unit test yozing!
- Iltimos, har bir yozmoqchi boʻlgan kodinggizni kelajakda yana qayta yozmasliklari uchun uni muqumliligiga e’tibor bering, highload uchun ham oʻylab keting.
This media is not supported in your browser
VIEW IN TELEGRAM
Messenger lar sen haqingda nimalarni biladi .
Forwarded from Daily Shakhriyor
Assalomu Alaykum barchaga, kelayotgan chorshanba kuni navbatdagi mock interview uchun davogarlar aniqlandi.
Rol-1(Suhbat oluvchi) MuhammadAzizxon Jabborxonov va Rol-2(Suhbat topshiruvchi) Sarvar To'lqinov. Suhbat Junior+/Middle pozitsiyasi uchun olib boriladi.
Streamga havola.
Rol-1(Suhbat oluvchi) MuhammadAzizxon Jabborxonov va Rol-2(Suhbat topshiruvchi) Sarvar To'lqinov. Suhbat Junior+/Middle pozitsiyasi uchun olib boriladi.
Streamga havola.
☕️ Java BACKEND developers </>☕️
https://youtu.be/itkUJSYrg1U?si=O1TjMn1zYg8lP_It
KO'PCHILIKGA FOYDALI DEB O'YLAYMAN