Mabrur - IT Blog ๐Ÿ‡ต๐Ÿ‡ธ
3.28K subscribers
682 photos
94 videos
14 files
475 links
๐Ÿ’ป Dasturlashga va muallifning hayotiga oid shaxsiy blog

Ijtimoiy tarmoqlarim:
https://taplink.cc/mabrur

@tweetlarim
Download Telegram
๐Ÿงช Test-Driven Development (TDD): Afzalliklari, Kamchiliklari va Eng Yaxshi Amaliyotlar.

TDD - bu dasturiy ta'minotni ishlab chiqish uchun qo'llaniladigan keng tarqalgan usullardan biri. Bu usulda kod yozishdan oldin asosan testlarni yozib chiqasiz. Keling bu haqida qisqacha ko'rib chiqaylik:

Afzalliklari:
- Kod sifatini yaxshilaydi va xatolarni kamaytiradi
- Komponentlarning bir-biriga mutloq bog'likligini kamaytiradi (loose coupling)
- Kodni o'rganishga dokumentatsiya sifatida yordam beradi

Kamchiliklari:
- Dasturchilarning kod yozish tezligini tushirib yuborishi mumkin
- Dasturga yangi qo'shilganlar o'rganishiga ko'proq vaqt ketib qoladi
- Jarayon yaxshi bosharilmasa over-testinga (haddan tashqari ko'p testlash) olib kelishi mumkin

Eng yaxshi amaliyotlar:
1. Red-Green-Refactor siklidan foydalaning
- Muvaffaqiyatsiz test yozing (Red)
- Minimum muvaffaqiyatli test yozing (Green)
- Refactor qilib kodni yaxshilang
2. Testlarni kichik va aniq vazifaga mo'ljallangan qiling.
3. Muntazam ravishda test to'plamlaringizni ishga tushirib tekshirib turing.
๐Ÿ”ง Kodni refactoring qilish texnikalari

Kodni qayta ishlash (refactoring qilish) - bu kodimizning bajaradigan xatti-harakatini (logikasini) o'zgartirmasdan, ichki tuzilishini yaxshilash jarayoni. Keling, Node.js misolida ko'rib chiqaylik:

Eng yaxshi amaliyotlar:
1. Kichik va aniq vazifali funksiyalar yarating.
2. DRY (Don't repeat yourself) prinsipiga amal qiling.
3. SOLID tamoillarini qo'llang.
4. Kerakli joylarni izohlab keting.

Foydali vositalar:
- ESLint: Kod sifatini tekshirish uchun.
- Prettier: Kodni formatlash uchun.
- Jest: Testlash uchun.
- SonarQube: Kod sifatini va Xavfsizlik darajasini tekshirish uchun.

Texnikalar:
1. Extract Method: Katta funksiyalarni kichik va ma'lum vazifa bajaradigan qismlarga ajrating.
2. Rename method: O'zgaruvchilar va funskiyalar aniq, nima qilishini ko'rsataidgan nomlar bering.
3. Replace Method: Eski API murojaatlari yoki kutubxonalarni muntazam yangilab turing.

Refactoring haqida ko'proq ma'lumotga ega bo'lib, uni kodingizda qo'llamoqchi bo'lsangiz quyidagi manbani maslahat beraman:
https://refactoring.guru
Mabrur - IT Blog ๐Ÿ‡ต๐Ÿ‡ธ
Test
IOS dan post yozib boโ€™lmay qolgandi. Ishlab ketti
๐ŸŒ Web dasturlashda Accessibility: Nima uchun u muhim va nimalar qilish kerak?

Ishlab chiqarayotgan dasturlaringiz uchun Web accessibility qo'shib ketish - shunchaki rasmiyatchilik emas. Bu barcha foydalanuvchilar uchun birdek imkoniyat yaratib berishda muhim hisoblanadi. Keling, nima uchun bu muhimligini va uni qanday amalga oshirish mumkinligini qisqacha ko'rib chiqamiz.

Nima uchun Accessibility zarur:
1. Inklyuzivlik: Dunyo aholisining 15% qismi qandaydir nogironlik bilan yashaydi. Siz o'zingiz qilayotgan produktni accessible qilib, nafaqat auditoriyangizni kengaytira olasiz, balki jamiyatning katta qismiga teng imkoniyat bera olasiz.
2. Qonuniy muvofiqlik: Ko'p mamlakatlarda raqamli accessibility talab qilinadigan qonunlar mavjud. Masalan, AQShda Americans with Disabilities Act (ADA) ga ko'ra ko'p web-saytlar shunday imkoniyatlarga ega bo'lishi kerak.
3. Foydalanuvchilar uchun yaxshiroq UX: Aniq navigatsiya va o'qilishi oson bo'lgan matn nafaqat nogironligi bor shaxslarga, balki boshqa shaxslarga ham birdek qulay va muhim hisoblanadi.
4. SEO ustuvorligi: To'g'ri sarlavha qo'yish, semantik kod yozish va tasvirlar uchun alt matni kabi ko'plab accessibility amaliyotlari SEOni yaxshilashda foyda berishi mumkin.

Accessibility-ni amalga oshirishning asosiy bosqichlari:
1. Semantic HTML-dan foydalaning.
2. Klaviatura bilan navigatsiyalarni ishlashini tekshiring.
3. Tasvirlar uchun turli alt matnlarini qo'shing.
4. Rang berayotganda yetarli kontrastlardan foydalaning.
5. Multimedia uchun turli subtitrlar va transkriptlardan foydalaning.

Accessibility testlari uchun bepul vositalar:
- ๐Ÿ” WAVE (Web Accessibility Evaluation Tool): Veb-kontentingiz accessibility haqida vizual analitika beradigan extension.
- ๐ŸŽจ Contrast Checker: Rang tanlovlaringiz accessibility standartlariga javob berishini tekshirish uchun WebAIM dan foydalansangiz bo'ladi.
- ๐Ÿ–ฅ๏ธ Axe DevTools: Avtomatlashtirilgan accessibility testlarini taklif etuvchi brauzer extensioni.
- ๐Ÿ“ฑ Lighthouse: Chrome DevTools-ga o'rnatilgan, turli analiz toolari bilan birga accessibility auditlarini o'z ichiga oladi.

Qo'shimcha ma'lumotlar uchun w3 ning Web Accessibility darslarini ko'rib chiqishni maslahat beraman:
https://www.w3.org/WAI/tutorials/
17- kuni, Tashkent Supabase tadbirini o'tkazyabmiz.

Supabase - bu backend-as-a-service (BaaS) platformasi bo'lib, dasturchilarga loyihalarni tezroq qurish uchun yordam beradi. Firebasening open source alternativi.

Shaxsiy startup loyihalar ustida ishlayotganlar uchun, zo'r networking bo'ladi.

https://lu.ma/03af412r
This media is not supported in your browser
VIEW IN TELEGRAM
Assalomu alaykum, aziz do'stlar! Tezmenu xizmatini taqdim etishdan mamnunmiz! ๐ŸŽ‰

Bepul QR-kod menyuni bir necha soniya ichida yarating! ๐Ÿ”โœจ

Tezmenu bilan:
๐Ÿช‘ Stoldan ofitsantlarsiz buyurtma oling.
๐Ÿฝ๏ธ Menyuni tez va oson ortiqcha xarajatsiz yangilang.
๐Ÿ’ป Qulay boshqaruv paneli.
๐Ÿ“Š Buyurtmalarni kuzatib boring.
โญ Sifatni oshirish uchun mijozlar fikrlarini oling.
๐Ÿ›œ Wi-fi parolingizni kiritib qoสปying.

TEZMENU - Zamonaviy yechim, qulay narx ๐Ÿ’ผ๐Ÿ”

๐Ÿ”—Sinab koสปrish
๐Ÿš€@tezmenu
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
๐Ÿคฏ Berilgan promptga qarab rasm generatsiya qilib beradigan va har bir ro'yxatdan o'tgan foydalanuvchiga 5 ta tekin kredit beradigan mana shu appni Next.js, Supabase, OpenAI va Windsurf orqali, umuman o'zim kod yozmasdan 8 daqiqada yasadim.

Oyiga atigi 2 ta lavashni puliga bundanam kuchliroq dasturlarni yasab beroladigan AI editor haqida videoni ko'rmoqchi bo'lsangiz ๐Ÿ”ฅ reaksiyalar qoldiring.

Tez orada youtube kanalimga joylayman.
Please open Telegram to view this post
VIEW IN TELEGRAM
Bugundan boshlab Gemini, ChatGPT, Claude bilan gaplashishdan oldin salom beramiz, har bir javobi uchun rahmat aytamiz, kechqurun bo'lar-bo'lmas savollar bilan bezovta qilmaymiz.

Ertaga nimadir isyon ko'tarsa ro'yxatni eng tepasida bo'lib qolmay deymanda
Anthropic AI o'zining yangi MCP protokolini ommaga e'lon qildi. Bu orqali endi biz AI bilan dasturlar yasashni yanayam osonroq holatga keltirishimiz mumkin.

Tasavvur qiling, siz AI yordamchingiz (masalan Claude)ni turli xil dasturlar va ma'lumotlar bilan ishlashini xohlaysiz - masalan fayllar, kodlar yoki ma'lumotlar bazasi bilan. MCP paydo bo'lguncha bu ancha murakkab edi, chunki har bir dastur uchun alohida integratsiya qilib chiqish kerak edi.

Anthropic esa bu muammoni hal qilish uchun MCP ni yaratdi. Buni huddi universal tarjimonga o'xshatsak bo'ladi. U AI tizimlarining turli xil ma'lumotlar manbaiga bitta standart usul orqali ulanishiga imkon beradi. Buni huddi universal USB-c adapteriga o'xshatsak bo'ladi - uni birdaniga har qanday portga ulab chiqsa bo'ladi.

Qisqaroq qilib aytganda, MCP bilan biz quyidagi dasturlarni avtomatlashtirishimiz yoki integratsiya qilishimiz mumkin:
- Google Drive
- Slack xabarlari
- GitHub repozitoriyalari
- Ma'lumotlar bazalari
- Telegram API
- va boshqalar...

Hozircha yagona cheklovi shundaki, barchasi sizning shaxsiy kompyuteringizda (local) ishlashi kerak. Lekin Anthropic kelajakda masofaviy ma'lumotlar manbaiga xavfsiz ulanish imkoniyatini yaratish ustida ishlayabti.

Yana bir yaxshi tomonlaridan biri, bu dastur bepul va open-source, uni har kim o'ziga o'rnatib olib ishlatishi mumkin.

https://x.com/alexalbert__/status/1861079762506252723
Mabrur - IT Blog ๐Ÿ‡ต๐Ÿ‡ธ
Anthropic AI o'zining yangi MCP protokolini ommaga e'lon qildi. Bu orqali endi biz AI bilan dasturlar yasashni yanayam osonroq holatga keltirishimiz mumkin. Tasavvur qiling, siz AI yordamchingiz (masalan Claude)ni turli xil dasturlar va ma'lumotlar bilanโ€ฆ
Buni rasm bilan soddaroq tushuntiradigan bo'lsak:

MCP - bu kompyuteringizda AI (masalan Claude) boshqa dasturlar bilan gaplashishiga yordam beradigan "tarjimon" dastur:

1. Asosiy Qism ("MCP Host"):
- Bu qism hamma narsani o'zaro bog'lab turadi.
- AI yordamchilar, IDE va boshqa dasturlar shu yer orqali ishlaydi.

2. Ulanishning Uch Xil Yo'li:
- Server A: Kompyuteringizdagi narsalarga ulanadi (masalan fayllaringizga)
- Server B: Bu ham kompyuterdagi boshqa narsalarga ulanadi (masalan boshqa papkaga)
- Server C: Bu biroz boshqacharoq, chunki u internetdagi manbalarga ham ulana oladi.

3. Qanday Ishlaydi:
- Hamma bir xil "til"dan foydalanadi (MCP Protocol)
- Buni barcha qurilmalaringizni boshqaradigan universal pultga o'xshatsak bo'ladi
- Internetga ulanishdan tashqari, asosan hamma ish kompyuteringizda bajariladi.

Tasavvur qiling, qo'lingizda universal adapter bor - u orqali siz turli fayllarni, dasturlarni va internet servislarini ulab ishlata olasiz. Ularning hammasi bir-biri bilan aloqada ishlay oladi, chunki ular bir-xil universal tilda gaplasha oladi.
Mabrur - IT Blog ๐Ÿ‡ต๐Ÿ‡ธ
Buni rasm bilan soddaroq tushuntiradigan bo'lsak: MCP - bu kompyuteringizda AI (masalan Claude) boshqa dasturlar bilan gaplashishiga yordam beradigan "tarjimon" dastur: 1. Asosiy Qism ("MCP Host"): - Bu qism hamma narsani o'zaro bog'lab turadi. - AI yordamchilarโ€ฆ
MCP serverlar birgalikda mana shunday ishlaydi:

1-Misol - Kod Yozish:
- "MCP Server A" GitHub ga ulanadi
- "MCP Server B" VS Code ga ulanadi

- Siz Claude dan kod yozishda yordam so'raysiz
- Claude GitHub dagi mavjud kodlarni tekshira oladi (Server A orqali)
- So'ng VS Code da yangi kod yozishga yordam beradi (Server B orqali)

2-Misol - Hujjatlar bilan Ishlash:
- "MCP Server A" Google Drive ga ulanadi
- "MCP Server B" kompyuteringizdagi ma'lumotlar bazasiga ulanadi
- "MCP Server C" Slack ga ulanadi

- Sizga hisobot tayyorlash kerak
- Claude Google Drive dagi fayllarni o'qiy oladi (Server A orqali)
- Ma'lumotlar bazasidan kerakli ma'lumotlarni oladi (Server B orqali)
- Va yakuniy hisobotni jamoangiz bilan Slack da ulashadi (Server C orqali)

3-Misol - Dasturlash Jarayoni:
- "MCP Server A" kod muharriringizga ulanadi
- "MCP Server B" test muhitingizga ulanadi
- "MCP Server C" hujjatlaringizga ulanadi

- Siz yangi funksiya yaratmoqdasiz
- Claude kod muharririda kod yozishga yordam beradi (Server A orqali)
- Test muhitida testlarni ishga tushiradi (Server B orqali)
- Hujjatlarni avtomatik yangilaydi (Server C orqali)
Forwarded from GDG Tashkent (Dostonkhon Ozodkhujaev)
โšก๏ธ Join the biggest Developer Festival of the year in Central Asia (Get your free tickets)!

Less than 2 weeks left until GDG DevFest returns to Tashkent once again for the 2024 season!

Get ready for GDG DevFest, the high-energy, one-day event is packed with dynamic talks, interactive workshops, and hands-on sessions, all centered around the latest technologies and innovations.

This year, weโ€™re raising the bar - join us as we welcome an incredible lineup of international speakers, including Google Developer Experts and Googlers, ready to share their insights and spark your creativity.

Itโ€™s more than a conference - itโ€™s a chance to connect, learn, and get inspired alongside some of the brightest minds in tech. Donโ€™t miss it!

๐Ÿ‘€ Date: December 7, 2024
๐Ÿ•™ Time: 10:00
๐Ÿ› Venue: Panorama Cinema Palace
๐Ÿ—“ Agenda: https://bit.ly/devfest-agenda24

๐Ÿ‘‰ Get your FREE ticket now:
https://gdg.community.dev/events/details/google-gdg-tashkent-presents-gdg-devfest-2024-tashkent/

See you at DevFest Tashkent 2024!

@gdgtashkent
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Mabrur - IT Blog ๐Ÿ‡ต๐Ÿ‡ธ
Video message
Dasturiga two factor authentication ulamoqchi boโ€™lganlar uchun qisqacha yoโ€™l-yoโ€™riq )
3 yil oldin: "AI shunchalik ahmoqki, hatto Hello Worldniyam tuzuk-quruq yozolmaydi๐Ÿ˜"

2 yil oldin: "AI kod yozishni oโ€˜rgandi, lekin debugging qilishga kelganda huddi yosh bola bilan gaplashgandek bo'lasan๐Ÿ˜…"

1 yil oldin: "AI butun dasturimni yozib berdi. Qanday ishlashini to'liq tushunmadimu, lekin mayli deb productionga chiqarvordim๐Ÿ˜•"

Bugun: "AI kodimni qaytadan yozib tashladi, deploy qilib productionga chiqardi, va mijozdan pul so'rab, menga qahva olib kelishimni aytdi๐Ÿ˜จ"

Progressni ko'ryapsiza )