Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
111 - Telegram Web
Telegram Web
Dasturlashga oid atamalarni tarjima qilish haqida

(Mavzu ochilganda o'z fikrlarimni ham bildiray dedim.)

“Python”ning o’zbekchasi nima bo’ladi?

Paytonmi?

Pitonmi?

Yoki Paysondir?

Bu tilning nomini har kim o’zicha aytadi. Ayniqsa o’rganishni endi boshlaganlar orasida ko’pchilik har xil ataydi. Sababi oddiy, o’zbek tilida zamonaviy dasturlash atamalari standarti yo’q!

Piton dasturlash tili bunga bir misol holos. Shu paytgacha o’zbek tilida qancha dasturlashga oid maqolalar o’qigan bo’lsam, hammasida inglizcha so’zlar tog’ridan to’g’ri ishlatilib ketilgan. Na qo’shtirnoq, na qavs bilan ajratilgan, na izoh berilgan.

*Ha endi, dasturchi bo’gandan keyin bu inglizcha so’zlarni bilishiyam kerakda!*

To’g’ri bilishi kerak. Lekin bu degani ularni o’zbekchasi bo’lmasin, tarjima qilinmasin degani emas! Kechirib qo’yasiz.

*Tarjima qilish qiyin, o’zbek tili unchalik boy emas. Tajima qilsa ma’no o’zgarib qo’pol bo’lib qoladi.*

Asl o’zbekcha so’z bo’lishi shartmi? Sizga savol, “kompyuter” so’zi o’zbekcha so’zmi?

Til boy bo’lmasa, uni boyitishning usulari bor! Bu borada o’zimizdagi tarjimonlar bilan maslahatlashish niyatim bor o’zi.

O’zbek tilida dasturlashga oid atamalar alternativi bo’lishi shart. Bu ish ertami-kechmi qilinadi. Hozirdan harakat qilish kerak. Agar hozirdan qilinmasa ertaga chala savodlar tarjima qilishni boshlaydi baribir. Keyin tuppa-tuzuk “ma’lumotlar bazasi”ni “berilganlar bazasi” deb o’tiramiz.

O’zbekcha matnda boshqa tildagi so’zlarni aralashtirib ishlatish o’ta noqulay. O’zimning maqolalarim bunga bir misol. Qo’shtirnoqlar to’lib ketadi. Ayniqsa ingliz tilida so’zlar yozilishi va o’qilishi har xil. O’zbekcha matnga bunaqa so’zlarni hadeb kiritaverish o’zbek tilining saviyasiga ham tasir qiladi. Tilni hurmat qilish kerak.

O’zbek tilining shu sohadagi lugati ingliz tiliga tobe bo’lib qolishi yaxshi emas.

Polshada dasturlash bo’yicha barcha kitoblar tarjima qilingan. Atamalar deyarli to’ligicha polyakchaga tarjima qilingan. Bu fakt axborot texnologiyalari sohasi polyak millatning o’zida qanchalik rivojlanganidan dalolat beradi. Ana endi mana shu mezon bilan o’zbek tiliga nazar solaylik. Juda achinarli.

© @brogrammist
Date obyektiga noreal sana ko'rsatilgan string berilsa, dasturda hech qanday xatolik xabari chiqmaydi.

Agar siz foydalanuvchi kiritgan ma'lumotlardan Date hosil qimoqchi bo'lsangiz, bu holatni hisobga olib keting. Chunki noto'g'ri sana bo'lsa ham new Date() bizga Date obyektini qaytaradi.

P.S. Shu narsalar bilan har safar bosh qotirmaslik uchun ham har xil kutubxonalar ishlab chiqilgan.
ReactJS haqidagi hujjatli filmni ko'rishga ulgurdingizmi? Men hozir ko'ryapman. To'g'risi boshida uncha qiziqmagandim, o'zim React'chi bo'lsam ham. Bitta JavaScript kutubxona haqida shunchalik film ishlash arziydimi o'zi degan fikr bor edi.

Ha arzirkan! 🙂

https://youtu.be/8pDqJVdNa44
Assalomu alaykum do'stlar! Kanalni kuzatib borayotganingiz uchun katta rahmat. O'ylaymanki ulashilayotgan ma'lumotlar sizga ozmi-ko'pmi manfaatli bo'lmoqda.

Men bu yerda ulashishni xohlaydigan maqolalar/videolar uchun g'oyalarim talaygina. Hamma narsa vaqt va mehnat talab qilganidek, o'sha maqola va videolarni tayyorlash ham cho'zilib ketadi ba'zida. Shuning uchun odamlar kuztganiga yarasha foyladali bilim ulashish muallif sifatida menim vazifamga kiradi.

Shunday ekan, kanaldagi kontekstdan kelib chiqib, ko'proq nimalar haqida maqola yozishimni xohlagan bo'lardingiz? Iltimos, fikrlaringizni izohlarda qoldiring.

Agar ko'pchilikning talab va takliflaridan kelib chiqilsa, maqolalar sifati va kuzatuvchilar uchun manfaati yaxshigina yuqorilashadi deb ishonaman. 🙂
Qiziq "bug"

Foydalanuvchi tug'ilgan sanasini kiritganda forma validatsiyasi ishlaydi va kiritilgan sana to'g'riligi, foydalanuvchi 18 yoshdan kattaligi tekshiriladi. Ba'zi sabablarga ko'ra "datepicker" ishlatmay, sanani qo'lda kiritiladigan qilishimiz kerak edi. Shuning uchun 31-fevralga o'xshagan noto'g'ri sanalarga ham validatsiya zarur.

Kecha "customer support"dan xabar kelyapti. Foydalanuvchi "12.05.1990" sanasini kiritsa noto'g'ri sana deb xatolik ko'rsatib yotgan emish. Skrinshotlar bor. Sana to'g'ri ko'rsatilgan. Proyektni ham lokal, ham "staging"da tekshirib ko'rdim. Hammasi joyida. 🤔

Xatolik chiqishi mumkin bo'lgan har bitta nuqtani sinchiklab tekshirib chiqdim. Komponentdan tortib, ishlatilgan kutubxonalargacha. Testlar ham ishlayapti.

Yoshni tekshirishdagi `new Date().getFullYear()` dan boshqa barcha nuqtalarni test qilib chiqdim. Chunki eng boshidan `new Date()` pand beryotganiga ishongim kelmayotgandi.

So'ng noiloj, "support"dagilarga foydalanuvchi kompyuteridagi sistema sanasini tekshirib ko'rishi kerakligini aytdim. Lekin ich-ichimdan o'zimni xatolikni topolmay jinnicha bahona qilganday his qildim.

Keyin bilsak, rostan ham foydalanuvchi kompyuteri sanani 2005-yilga tushib qolgan ekan. Shuning uchun ham 1990-yilda tu'gilgan odamni hali 18 ga to'lmagan deb hisoblayotgan ekan, yaramas! 😄

Xulosa: EVERYTHING CAN FAIL!
Aytgancha, NodeJS v19 da qo'shilgan --watch xususiyatidan foydalanyapsizmi? Hozircha eksperimental bo'lishiga qarmay oddiy, kichik proyektlarim uchun juda yaxshi ishlayapti. Oldin ishlatadigan Nodemon kutubxonasi endi deyarli kerak bo'lmay qoldi. Yangi proyektlarni setup qilish bitta kutubxonaga bo'lsa ham tezlashdi 🙂.

Ma'lumot uchun: --watch bilan har safar kodni o'zgartirganingizda, ishlab turgan dasturni to'xtatib, qaytadan ishga tushirib o'tirmaysiz. Node ning o'zi fayli saqlashingiz bilan qaytadan ishga tushadi, xuddi React muhitidagi hot-module-reloading kabi.
Bugun universitetda 🙂
#urishmanglar
Twitter algoritmi endi Open-Source!

Yaqinda Elon Musk Twitter rekomendatsiya algoritmini open-source qilishni va’da qilgandi va bugun o’sha va’da bajarildi. Algoritm kodini Githubdan topishingmiz mumkin. Elon Muskning aytishicha bundan maqsad algoritmi boshqalar ko’magida yanada yaxshilash va har xil eksploitatsiyalarda holi qilish (agar to’g’ri tushungan/tarjima qilgan bo’lsam). Undan tashqari algoritm qanday ishlashini Twitterning o’zida ham hech kim to’liq tushunmaydi. Chunki kod juda katta va murakkab, va unda “sharmandali” xatoliklar ham topilishi aniq ekan.

O’zim hali rpozitoriyni ko’zdan kechirmadim lekin boshqa odamlarning fikrlarini o’qiyapman. Eng "daxshati", lekin meni uchalik ham hayron qoldirmagan narsa, tivitlarni reytinglashda algoritmda “author_is_elon” (”avtor Elonmi?”) degan parametr bor ekan 😄. Shunga o’xshagan “is_republican”, “is_democrat” parametrlarni ham ko’rishingiz mumkin.

Ochiq qilingan kod algoritmning katta qismi lekin hammasi emas. Qolgani qismlari ham keyinchalik open-source qilinar ekan.

Twitterdan ko’p foydalanmayman, lekin yangliklardan boxabar bo’lib turish uchun kuchli frontendchililar va texnologiyalar profillarini doimiy kuzatib boraman. Twitter siyosiy va boshqa turdagi propagandalar va ziddiyatlar o’chog’iga aylanib qolgani hech kimga sir emas. Balki Elon Musk umid qilyotganiday bu qilingan ish holatni yaxshilar. Ko’ramiz.

Meta Facebook algoritmini open-source qilishga “duxi” yetmasak kerak 2 dunyoda 😄.

#offtopic
This media is not supported in your browser
VIEW IN TELEGRAM
Jahongir (Rahmonov) akani gaplarida jon bor. LinkedIn ham "musor" bilan to'lib ketti oxirgi paytlarda. Faqat yaqindan taniydigan odamlarimga qaytadan "follow" qildim.

JavaScript bilimlariningiz hayotingizni shunday osonlashtirib/avtomatlashtirib tursa maza qilarkan odam.🙂

P.S. Skriptni so'ramanglar, bermayman.

P.S.S. Xuddi kimdir so'raydiganday yozganimni qarang.


#heshteg
Kanalga tayinliroq narsa post qilishni tez orada yana davom ettiraman. Ungacha esa yaqinda menga intervyuda tushgan savollardan birini shu yerda qoldiraman.

Xo'sh, tepadagi kod natijasi qanday bo'ladi?
"Nega funksiya ichidagi "console.log" global "a" ning qiymatini olmadi?" deyotgan bo'lsangiz 👆.
JS Hoisting haqida yaxshi tushunchaga ega bo'lganlar uchun tepadagi misol oddiy.

Javob:

> undefined
> 5

Hoisting haqida qisqacha gaplashsak, hoisting bu e'lon qilingan funksiyalar va "var" o'zaruvchilarining interpretator tomonidan o'z scope lari tepasiga ko'chirilishidir. Shuning uchun ham biz funksiyalarni ular e'lon qilingan qatorlardan tepada chaqira olamiz.

Bu yerda "declaration" va "definition" farqini tushunish ham muhim. Declaraion - e'lon qilish, definition - aniqlanish (aniqlash?/ta'riflash?).

JS da "declaration" va "definition" tushunchasi faqat o'zgaruvchilar uchun mavjud. Tepadagi misolda "var a = 5" ham "declaration", ham "definition". Agar ikkovini ajratsak:

var a; // declaration
a = 5; // definition

Hoisting "declaration"larni tepaga chiqaradi! Ya'ni ular hech qanday qiymatsiz e'lon qilinadi.

Lekin, JavaScript da funksiyalar uchun alohida "declaration" imkoniyati yo'q. Funksiyalar shunchaki "declare", e'lon qiliiadi.
Masalan, C++ da bu imkoniyat bor va funskiyalar chaqirilishidan oldin hech bo'lmasa "declare" qilinishi kerak, "definition" esa kodning oxirida kelsa ham bo'laveradi.

Hoisting haqida kuni bo'yi gaplashilsa bo'ladi, juda katta mavzu. Qo'ldan kelgancha qisqa tushuntirishga harakat qildim.
Git va SSH kelisholmay qolsa

Github, Bitbucketga o’xshagan “repository-hosting-service”larga deyarli har doim SSH orqali bog’lanib, Git amallarini bajaramiz (clone, pull, push v.h.k). SSH aloqada albatta SSH sertifikat yaratib, “public-key”ni hosting servisga kiritib qo’yishimiz kerak bo’ladi.

Agar 2 ta Github akkaunt bo’lsa, har bittasi uchun alohida SSH sertifikat yaratish kerak. Lekin Git qaysi sertifikatni ishlatishni “qaittan” biladi? 🤔

Yangi ishimda kechadan beri internal reponi klon qilolmay sochimni yulyotuvdim. Open-source repolar uchun shaxsiy Github akkauntimni ishlatishimni aytishdi. Lekin ichki repolar uchun faqat korporativ akkauntdagina ruxsat bor va ular ham Githubda. Tabiiyki ikkalovi uchun 2 ta sertifikat yaratganman. Git bo’lsa har safar shaxsiy akkauntim sertfikatidan foydalanayotgan ekan. Uniyam bugun anglab yettim! 😖

Xo’sh, muammoni topdik! 🙂

Endi uni yechish kerak! ☹️

Korochche, qaysi hostlar uchun qaysi SSH sertifikatni ishlatishni aytish uchun “.ssh” papkasida “config” faylini yaratish kerak ekan. Men ham o’sha faylda “personal” va “work” degan host “alias”larni qo’shib, kerakli SSH-key’larni kiritib qo’ydim:


Host work
HostName github.com
IdentityFile ~/.ssh/id_rsa_work
User git

Host personal
HostName github.com
IdentityFile ~/.ssh/id_rsa_personal
User git


Keyin reponi kerakli “alias” bilan klon qildim:

git clone git@github.com:username/my-work-project.git
git clone git@work:username/my-work-project.git
git clone git@personal:username/my-personal-project.git


Shunaqa. 😌

@brogrammist
Brogrammist
Git va SSH kelisholmay qolsa Github, Bitbucketga o’xshagan “repository-hosting-service”larga deyarli har doim SSH orqali bog’lanib, Git amallarini bajaramiz (clone, pull, push v.h.k). SSH aloqada albatta SSH sertifikat yaratib, “public-key”ni hosting servisga…
P.S. O'zi bu narsalarni hammasi yangi kelganlar uchun "Engineer onboarding" dokumentida aytib o'tilgan akan. Xatto "config" fayllarni generatisiya qilib beradigan CLI programmagacha berib qo'yishibdi!

Men bo'lsam qo'lda qilib o'tiribman-a! 🤦‍♂️

P.S.S Oliftagarchilik qimasdan dokumentatsiya o'qiylik birodarlar!
- Bandman. Judayam bandman.
- Lekin ishda unum bo'lyaptimi o'zi shunga yarasha?

...

- Zo'r. Endi esa ham bandman, ham kayfiyatim bir tiyin.

#hazil
Agar ishingiz zerikarli bo'lsa

Yangi kelganlar ish bilan yaxshilab tanishib olishlari uchun avvaliga yengil vazifalar olishadi. Menam hozir shunday "task"larni bajarib yurbman. Judayam zerikarli to'g'risini aytsam. 😕

Qilyotgan ishim React komponent proplariga "inline" yozilgan komponentlarni alohida faylga chiqarish. Fayllarni bitta-bitta tekshirib, copy-paste qilish yoqimsiz ish albatta.

Lekin bilasizmi, bu ishga kreativ yondashish mumkin! Men ham shunday qildim. Nega endi dasturlashdek super-qobiliyatim bo'la turib bu narsani qo'lda qilib o'tirishim kerak?

Shuning uchun bitta skriptcha yozdimda, repozitoriyga qo'yvordim. Millisekundlarda fayllarni analiz qilib, komponentlarni topib, yangi fayl yaratib, proplarini moslashtirib, komponentni unga kochirib, vey, o'sha fayldan qaytarib import ham qilib qo'ydi! 💪 (mayda detallarini yozmadim)

Bu o'rinda o'zimgayam qoyil. Chunki skript meniki-da! Maqtanib qo'yay.🤓

Albatta keyin qo'lda to'g'rlanadigan joylari ham bor edi. Chunki fayl va komponentlarga ma'noli nom berib chiqish kerak edi. Ammo qolgan ishlarni avtomatlashtirish yaxshigina vaqt tejadi.

Xullas, aslida ishni ish zerikarli qilmaydi, ishdan zerikish unga qanday yondashishga bog'liq.

P.S. Agar skripni qanday yozganim qiziq bo'lsa izohlarda bildiring 🙂.

@brogrammist
2 kundan beri ketma-ket PR larni ko'ryotgan hamkasblar 😄️️️️️️
Forwarded from Azim Pulat
Yozda Birga Kod Yozamiz ☀️ 2023

Dasturchilar uchun yozgi intensiv kurs

▶️ Boshlanadi: 10-iyul
📅 Davomiyligi: 4 hafta
💸 Qatnashish narxi: $1

🚦Yo'nalishlar:
- Front-end
- Back-end
- Algoritmlar

🔗 Topshiring: ybky.42.uz

👨‍🏫 Mentorlar:
- Azimjon Pulatov @ Amazon
- Diyorbek Sadullaev @ Pinterest
Yozda Birga Kod Yozamiz loyihasi bu yil frontend dasturchilarni ham qabul qiladi!

Frontend kursi asosan "junior" va "strong junior" darajasidagi dasturchilar uchun mo'ljallangan. Ish tajribasi bo'lmasada frontendni o'rganishda ancha o'sishga ulgurgan "beginner"larga ham eshigimiz ochiq. Agar mavzular qiziq bo'lsa "senior" va "middle"lar ham qo'shilishi mumkin. 🙂

Kursi bo'yicha 1 oy davomida quyidagi mavzularni yoritishni reja qilganman:
(Nomlar inglizcha lekin kurs o'zbek tilida bo'ladi)
- Runtime environments
- Accessibility and UX
- System design for frontend applications
- Communication with backend and protocols
- Testing frontend applications
- Typescript and dialects
- Build tools. Why today everything is complicated?
- CI/CD in frontend
- Maintenance and performance

Albatta bu kursning to'liq rejasi emas, shunchaki qiziquvchilar uchun namuna 🤓


🔗 Topshiring: ybky.42.uz


@brogrammist
2025/07/01 18:25:32
Back to Top
HTML Embed Code: