Yetim dasturchi kundaligi
Youtube kanalda yangi video Mavzu: C Dasturlash tili - Kirish (1-dars) Videoni hoziroq tomosha qilish uchun havola 👉 https://youtu.be/2VPLsRJBGLg @yetimdasturchi
Bir yil oldin boshlab davomini qilmagan ekanman, endi davom etsak bo'ladi. Chunki hozirda kun bo'yi faqat shu tilda kod yozishimga to'g'ri keladi. Aniqrog'i boshqa tillarga toqat qolmagan.
P.S: Ha 21-asrda eski dasturlash tillari bilan bemalol yashab qolishingiz mumkin)
P.S: Ha 21-asrda eski dasturlash tillari bilan bemalol yashab qolishingiz mumkin)
Yetim dasturchi kundaligi
PHPdagi lo'licha usullar haqida to'xtalsakchi?) Anonymous class: $object = new class { public function sayHello() { return "Hello!"; } }; echo $object->sayHello(); Heredoc ichida fuksiyaga murojaat qilish: funtion sayhello( $name ){ …
$result = 3+2 * (TRUE + TRUE);
Eslatma: xakir akalar saytizni ustiga "Baxtli bo'lish xorami" deb yozib ketishini istamasangiz bu triklarni har doim ham productionda ishlatmang. Buyerdagi ko'p examplelar compiler imkoniyatlarini sinash xolos. Masalan dinamik o'zgaruvchilar requestga duch kelib qolsa bemalol ular orqali shell yaratish mumkin.
Forwarded from Akobir Abduganiev | Oddiy blog
📌 Kotlin va Java: Zamonaviy Dasturlashda Qaysi Birini Tanlash Kerak?
Kotlin va Java bugungi kunda eng ko’p ishlatiladigan dasturlash tillaridan biri bo’lib, ularning har biri o’ziga xos afzalliklari va qo’llanilish sohalariga ega. Ko’pchilik Kotlinni faqat Android ilovalari uchun ishlatiladi deb o’ylaydi, ammo bu tilning imkoniyatlari bundan ancha kengroq.
🔍 Java: Barqarorlik va Keng Ekotizim
Java 20 yildan ortiq vaqt davomida dasturlash olamida yetakchi tillardan biri hisoblanadi. Bu korporativ tizimlar, mikroservislar, va backend dasturlar uchun eng ko’p ishlatiladigan tillardan biri hisoblanadi.
✅ Afzalliklari:
Ko’p platformali qo’llab-quvvatlash.
Spring va Hibernate kabi kuchli kutubxonalar.
Dasturiy mahsulotlarni ishlab chiqishda katta community mavjudligi.
Legacy kod bilan ishlash imkoniyati.
⚠️ Kamchiliklari:
Ko’p kod yozishni talab qiladi.
Null xavfi (NullPointerException) bilan ehtiyot bo’lish kerak.
🔍 Kotlin: Faqat Android Uchun Emas!
Kotlin dasturlash tili JetBrains tomonidan yaratilgan bo’lib, Java bilan to’liq moslikka ega. Dastlab Android ilovalar uchun tanlangan bo’lsa-da, hozirda u server tarafidagi dasturlash, multiplatform dasturlar, va hatto data science loyihalarida ham keng qo’llaniladi.
✅ Afzalliklari:
Server tarafida foydalanish:
Kotlin server tarafida, ayniqsa Ktor va Spring Boot bilan ishlash uchun juda qulay. Ktor o’zining yengilligi va zamonaviy strukturasiga ega bo’lib, yuqori darajada konfiguratsiya qilinadigan web ilovalar yaratishga imkon beradi.
Multiplatform dasturlar:
Kotlin yordamida bir xil kodni iOS, Android va server tomonida ishlatish mumkin. Bu vaqtni tejash va ishlab chiqish jarayonini optimallashtirishda yordam beradi.
NullPointerException xavfsizligi:
Null xavfini minimal darajaga tushiruvchi kuchli tip tizimi mavjud.
Katta kutubxonalar:
Kotlin Java kutubxonalari bilan to’liq mos bo’lgani uchun mavjud resurslardan maksimal darajada foydalanish imkonini beradi.
⚠️ Kamchiliklari:
Java kabi uzoq tarixga ega emas.
Katta communitylarda hali keng tarqalmagan.
🌟 Serverda Kotlin vs Java: Qanday Holatlarda Qaysi Birini Tanlash Kerak?
Kotlin Server tarafida:
Tezkor va ixcham web ilovalar yaratish kerak bo’lsa.
Mikroservislar va zamonaviy arxitekturalar.
Multiplatform dasturlar kerak bo’lsa.
Java Server tarafida:
Katta korporativ tizimlar.
Legacy tizimlar bilan ishlash.
Barqarorlik va uzoq muddatli qo’llab-quvvatlash talab qilingan holatlar.
📊 Kotlinning Hozirgi Kungi Qo’llanilishi:
Android ilovalari: Rasmiy qo’llab-quvvatlanadi.
Server tarafida: Spring Boot va Ktor kabi kutubxonalar orqali qulay web ilovalar yaratish mumkin.
Data Science: Kotlin-da turli xil data science kutubxonalari mavjud bo’lib, ular o’zining ixchamligi bilan ajralib turadi.
Multiplatform: Bir kod yozib, bir nechta platformada ishlatish imkoniyati.
💡 Xulosa:
Java va Kotlin bir-birini to’ldiruvchi tillar. Java – barqarorlik va katta jamoalarda qo’llaniladigan tizimlar uchun afzal. Kotlin esa ixchamlik, zamonaviylik, va ko’p platformali imkoniyatlarni taklif qiladi. Agar siz yangi texnologiyalarga ochiq va zamonaviy dasturiy yechimlar yaratishga qiziqsangiz, Kotlin – bu siz uchun ajoyib tanlov!
P/s: Shaxsan manga qolsa Kotlin yaxshi, kamroq kod yozaman unda 😁
💬 Sizningcha, server tarafida Kotlin Java’ga qaraganda qanday afzalliklar beradi? Fikrlaringizni izohlarda kutamiz! 👇
@akobirabduganiev
Kotlin va Java bugungi kunda eng ko’p ishlatiladigan dasturlash tillaridan biri bo’lib, ularning har biri o’ziga xos afzalliklari va qo’llanilish sohalariga ega. Ko’pchilik Kotlinni faqat Android ilovalari uchun ishlatiladi deb o’ylaydi, ammo bu tilning imkoniyatlari bundan ancha kengroq.
🔍 Java: Barqarorlik va Keng Ekotizim
Java 20 yildan ortiq vaqt davomida dasturlash olamida yetakchi tillardan biri hisoblanadi. Bu korporativ tizimlar, mikroservislar, va backend dasturlar uchun eng ko’p ishlatiladigan tillardan biri hisoblanadi.
✅ Afzalliklari:
Ko’p platformali qo’llab-quvvatlash.
Spring va Hibernate kabi kuchli kutubxonalar.
Dasturiy mahsulotlarni ishlab chiqishda katta community mavjudligi.
Legacy kod bilan ishlash imkoniyati.
⚠️ Kamchiliklari:
Ko’p kod yozishni talab qiladi.
Null xavfi (NullPointerException) bilan ehtiyot bo’lish kerak.
🔍 Kotlin: Faqat Android Uchun Emas!
Kotlin dasturlash tili JetBrains tomonidan yaratilgan bo’lib, Java bilan to’liq moslikka ega. Dastlab Android ilovalar uchun tanlangan bo’lsa-da, hozirda u server tarafidagi dasturlash, multiplatform dasturlar, va hatto data science loyihalarida ham keng qo’llaniladi.
✅ Afzalliklari:
Server tarafida foydalanish:
Kotlin server tarafida, ayniqsa Ktor va Spring Boot bilan ishlash uchun juda qulay. Ktor o’zining yengilligi va zamonaviy strukturasiga ega bo’lib, yuqori darajada konfiguratsiya qilinadigan web ilovalar yaratishga imkon beradi.
Multiplatform dasturlar:
Kotlin yordamida bir xil kodni iOS, Android va server tomonida ishlatish mumkin. Bu vaqtni tejash va ishlab chiqish jarayonini optimallashtirishda yordam beradi.
NullPointerException xavfsizligi:
Null xavfini minimal darajaga tushiruvchi kuchli tip tizimi mavjud.
Katta kutubxonalar:
Kotlin Java kutubxonalari bilan to’liq mos bo’lgani uchun mavjud resurslardan maksimal darajada foydalanish imkonini beradi.
⚠️ Kamchiliklari:
Java kabi uzoq tarixga ega emas.
Katta communitylarda hali keng tarqalmagan.
🌟 Serverda Kotlin vs Java: Qanday Holatlarda Qaysi Birini Tanlash Kerak?
Kotlin Server tarafida:
Tezkor va ixcham web ilovalar yaratish kerak bo’lsa.
Mikroservislar va zamonaviy arxitekturalar.
Multiplatform dasturlar kerak bo’lsa.
Java Server tarafida:
Katta korporativ tizimlar.
Legacy tizimlar bilan ishlash.
Barqarorlik va uzoq muddatli qo’llab-quvvatlash talab qilingan holatlar.
📊 Kotlinning Hozirgi Kungi Qo’llanilishi:
Android ilovalari: Rasmiy qo’llab-quvvatlanadi.
Server tarafida: Spring Boot va Ktor kabi kutubxonalar orqali qulay web ilovalar yaratish mumkin.
Data Science: Kotlin-da turli xil data science kutubxonalari mavjud bo’lib, ular o’zining ixchamligi bilan ajralib turadi.
Multiplatform: Bir kod yozib, bir nechta platformada ishlatish imkoniyati.
💡 Xulosa:
Java va Kotlin bir-birini to’ldiruvchi tillar. Java – barqarorlik va katta jamoalarda qo’llaniladigan tizimlar uchun afzal. Kotlin esa ixchamlik, zamonaviylik, va ko’p platformali imkoniyatlarni taklif qiladi. Agar siz yangi texnologiyalarga ochiq va zamonaviy dasturiy yechimlar yaratishga qiziqsangiz, Kotlin – bu siz uchun ajoyib tanlov!
P/s: Shaxsan manga qolsa Kotlin yaxshi, kamroq kod yozaman unda 😁
💬 Sizningcha, server tarafida Kotlin Java’ga qaraganda qanday afzalliklar beradi? Fikrlaringizni izohlarda kutamiz! 👇
@akobirabduganiev
Yetim dasturchi kundaligi
Bazan kod yozishdan chalg'ib turganam maqul. Ayniqsa ochiq havoda.
Mendan fotograf chiqmaskan)
MySQLda morfologik izlash
Ma'lumotlar bazasi bilan ishlaydiganlar mysqldagi where va like shartlari haqida juda yaxshi bilishadi. Where aniq tenglikka qarab qidirsa likeda matnni biror bo'lagigan nisbat berib qidirish mumkin.
Misol uchun:
Lekin ba'zan so'z bo'laklariga qarab izlashga to'g'ri kelib qoladi. Masalan matn ichidan "olma" so'zini qidirmoqdasiz sizga esa olmalar, olmani kabi so'zlarni inobatga oplishi kerak. Mysqlni o'zida esa tayyor MATCH () funksiyasi mavjud. Ushbu so'z faqatgina prefiks va suffiksdan tashqari ularning tuzilishlarini ham analiz qila oladi.
Misol:
Kamchiliklari:
1. Katta resurs talab qiladi
2. Faqat VARCHARva TEXT indekslar bilan ishlaydi
3. Ma'lumotlarni saralash
3. Like so'rovidan farqi bazan aniqlik yetishmasligi
@yetimdasturchi
Ma'lumotlar bazasi bilan ishlaydiganlar mysqldagi where va like shartlari haqida juda yaxshi bilishadi. Where aniq tenglikka qarab qidirsa likeda matnni biror bo'lagigan nisbat berib qidirish mumkin.
Misol uchun:
WHERE `name` = `Teshavoy`
LIKE `name` = `Tesha%`
LIKE `name` = `%shavo%`
LIKE `name` = `Te%oy`
LIKE `name` = `Te%oy`
Lekin ba'zan so'z bo'laklariga qarab izlashga to'g'ri kelib qoladi. Masalan matn ichidan "olma" so'zini qidirmoqdasiz sizga esa olmalar, olmani kabi so'zlarni inobatga oplishi kerak. Mysqlni o'zida esa tayyor MATCH () funksiyasi mavjud. Ushbu so'z faqatgina prefiks va suffiksdan tashqari ularning tuzilishlarini ham analiz qila oladi.
Misol:
CREATE TABLE `person` (
`id` INT NOT NULL,
`name` VARCHAR(52) NOT NULL,
FULLTEXT(name),
PRIMARY KEY(`id`)
)ENGINE=MyISAM;
INSERT INTO person (id, name) VALUES
(1, 'Teshavoy'),
(2, 'Eshmat'),
(3, 'Toshmat');
SELECT * FROM person
WHERE MATCH(name) AGAINST ('Teshavoy');
Kamchiliklari:
1. Katta resurs talab qiladi
2. Faqat VARCHARva TEXT indekslar bilan ishlaydi
3. Ma'lumotlarni saralash
3. Like so'rovidan farqi bazan aniqlik yetishmasligi
@yetimdasturchi
Yetim dasturchi kundaligi
Daydi o'g'ilning qaytishi) Bu jahonda Debian&Ubuntudan boshqa install qilsa ishlab ketadigan distro topilmadi.
Operatsion tizim shunaqa narsaki qariganing sayin uning stabilligiga o'rganib qolasan. Masalan menga har qanday linux based distro bilan ishlash umuman muammo emas. Arch, fedora, gentoo...
Muammo shundaki sen unga kun tartibingdagi asosiy vaqtingni sarflab qo'ymasliging lozim.
Chiroyli themelar, turlicha desktop enviromentlarni yoshlik, o'rganish davrida sinash bu ok, ammo sening asosiy ishing kutadigan vaziyat bo'lsa luchshe bunga ovora bo'lib vaqt sarflamagan maqul.
Aslida linuxning hammasi bir go'r, odatda ularni bir biridan build system va paket menejerlari farqlantiradi. Ammo asosiy nuqta ham shunda.
Masalan fedora ishlatayotganimda men uchun eng noqulay bo'lgan vaziyat bu x264 codec, telegram binary update bo'lishi, klaviatura va mishka uchun custom eventlar ulashimda /dev/input nostabilligi, window protocol va remi paketlar kabi holatlar. Archda minimallik yoqadi ammo 3 kun otpusk olib os tayyorlar bu uje banalno.
Debian based distrolarda esa odatda juda ko'p narsalarni tezkor va muammosiz topishing mumkin (build in tayyor ham) Bu ishni tezroq amalga oshirishga yordam beradi.
Gnu/Linuxni bu istalgancha sozlash mumkin bo'lgan operatsion tizim. Ammo yosh o'tgan sari bunga umr qisqalik qilishini tushunib yetasan. Yoki juda sozlash yoqsa, eksperimentlarga qiziqsang bunaqa ish uchun BSD aslida yaxshiroq variant ekanini tushunib yetasan (uyer bu borada haqiqiy jinnixona). Ammo ikkala holatdayam qachondir zerikasan va sen uchun birinchi install qilganda tezroq va to'laqonli run bo'la oladigan narsaga yopishishni boshlaysan.
Masalan fedora uchun x264 paketni qaytadan moslash, yetmay qolgan biror driverni yozish men uchun qiyin emas. Shunchaki bu endi menga kayf bermaydi. Undan boshqa tuzukroq muammoga yopishish ancha foydali (masalan yaqinda dsi protokoldagi ekran uchun 0dan kernel driver yozishga to'g'ri kelgandi)
Serverlar masalasidayam xuddi shunday. Sen arch linuxga butun boshli phpni qaytadan build qilayotgan vaqtinga debianda Sury degan aka phpni hamma modulini chiroyli qilib yig'ib qo'ygan.
Yosh va imkon bo'lsa eksperimentlar qiling, katta bo'lib muammo ortsa bu energiyani yaxshisi boshqa joyga sarflang.
@yetimdasturchi
Muammo shundaki sen unga kun tartibingdagi asosiy vaqtingni sarflab qo'ymasliging lozim.
Chiroyli themelar, turlicha desktop enviromentlarni yoshlik, o'rganish davrida sinash bu ok, ammo sening asosiy ishing kutadigan vaziyat bo'lsa luchshe bunga ovora bo'lib vaqt sarflamagan maqul.
Aslida linuxning hammasi bir go'r, odatda ularni bir biridan build system va paket menejerlari farqlantiradi. Ammo asosiy nuqta ham shunda.
Masalan fedora ishlatayotganimda men uchun eng noqulay bo'lgan vaziyat bu x264 codec, telegram binary update bo'lishi, klaviatura va mishka uchun custom eventlar ulashimda /dev/input nostabilligi, window protocol va remi paketlar kabi holatlar. Archda minimallik yoqadi ammo 3 kun otpusk olib os tayyorlar bu uje banalno.
Debian based distrolarda esa odatda juda ko'p narsalarni tezkor va muammosiz topishing mumkin (build in tayyor ham) Bu ishni tezroq amalga oshirishga yordam beradi.
Gnu/Linuxni bu istalgancha sozlash mumkin bo'lgan operatsion tizim. Ammo yosh o'tgan sari bunga umr qisqalik qilishini tushunib yetasan. Yoki juda sozlash yoqsa, eksperimentlarga qiziqsang bunaqa ish uchun BSD aslida yaxshiroq variant ekanini tushunib yetasan (uyer bu borada haqiqiy jinnixona). Ammo ikkala holatdayam qachondir zerikasan va sen uchun birinchi install qilganda tezroq va to'laqonli run bo'la oladigan narsaga yopishishni boshlaysan.
Masalan fedora uchun x264 paketni qaytadan moslash, yetmay qolgan biror driverni yozish men uchun qiyin emas. Shunchaki bu endi menga kayf bermaydi. Undan boshqa tuzukroq muammoga yopishish ancha foydali (masalan yaqinda dsi protokoldagi ekran uchun 0dan kernel driver yozishga to'g'ri kelgandi)
Serverlar masalasidayam xuddi shunday. Sen arch linuxga butun boshli phpni qaytadan build qilayotgan vaqtinga debianda Sury degan aka phpni hamma modulini chiroyli qilib yig'ib qo'ygan.
Yosh va imkon bo'lsa eksperimentlar qiling, katta bo'lib muammo ortsa bu energiyani yaxshisi boshqa joyga sarflang.
@yetimdasturchi