Dev Farhod – Telegram
Dev Farhod
331 subscribers
102 photos
10 videos
22 links
Yetakchi Dasturiy Muhandis

✔️ Dasturiy muhandis sifatida kariyerangizni qurishni o'rgataman.
✔️ Kariyeraviy hayotimdagi ibratli yutuq va yechimlarni ulashaman.

©️ Chewy, Mastery, Marvin, EPAM, Turing
Download Telegram
"Asynchronous programming"

Sinxron
dasturlash modelida amallar birma-bir bajariladi. Uzoq davom etadigan amal bajaradigan funktsiyani chaqirganda, amal to'liq tugatilib, natija qaytarilmaguncha, dasturingiz ishlashdan to'xtatilib turadi.

Asinxron dasturlash modeli bir vaqtning o'zida bir nechta amallarni bajarishga imkon beradi. Harakatni boshlaganingizda, dasturingiz amal ustida ishlashni boshlaydi. Amal to'liq bajarilgach, dastur xabardor qilinadi va natijaga (masalan, diskdan o'qilgan ma'lumotlar) kirish huquqiga ega bo'ladi.

Oldingi postda aytganimdek JavaScript sinxron dasturlash hisoblanadi. Biroq JavaScript - da asinxron amallarni amalga oshirishning bir qancha usullari bor. Ular: "Callbacks", "Promises", "Async/Await".

P.S: Agar siz boshlang'ich dasturchi bo'lsangiz, yuqoridagilarni tushinishingiz shart emas. Shunchaki shu narsa bor ekanligini bilib qo'ysangiz yetarli. Bu tushinchalar keyinchalik katta proyektlar qilayotganingizda kerak bo'ladi.

👉 @the_farkhod

#asynchronousprogramming
1
Caching

Har qanday dasturni ishlatayotgan vaqtimizda, kompyuter ko'plab matematik amallarni bajaradi. Bu amallar ichidan ba'zilari qayta va qayta amalga oshiriladi. Bu albatta dasturni sekin ishlashiga olib keladi. Agar bir amalning natijasi har doim yoki ma'lum bir muddat ichida bir xil bo'lsa, unda bu amal natijasini alohida fayl sifatida saqlab qo'ysak, shunda kompyuter keyingi safar bir xil amalni bajarmasdan, shunchaki oldingi amal natijasi saqlangan fayldan ma'lumotlarini oladi. Ma'lumotlarni bu kabi saqlash "caching" deyiladi. Dastur tezligini oshirish uchun "caching" dan samarali foydalanish juda muhim. Agar Telegram jamoasi bu strategiyadan foydalanmaganda, "DTM - ning sayti kabi qotib qolardi". 😁

👉 @the_farhod

#caching
1
Internationalization yoki i18n

▪️ Odatda dasturimiz ko'p tillik bo'lishi kerak bo'ladi. Bu kabi holatda tilni o'zgartirish xususiyatini dasturga qo'shish kerak bo'ladi.

▪️ Buning uchun esa maxsus strategiya bo'lib u "internationalization" yoki qisqartmasi "i18n".

▪️ Bu yerda "i" "internationalization" so'zining bosh harfi, "n" esa so'ngi harfi, "18" esa bosh va so'ngi harflari orasidagi harflar sonidan olingan.

▪️ "i18n" ko'plikni hosil qilish, shaxs o'zgarishi, sana va valyutani formatlash kabi vazifalarni bajaradi.

▪️ Bu strategiya asosida yaratilgan ko'plab to'plamlar, "package" bor. Ya'ni o'zingiz noldan tayyorlashingiz shart emas.

▪️ JavaScript - chilar uchun: i18next, i18n

👉 @the_farhod

#internationalization #i18n
1
Shaxsiy Brending

▪️Shaxsiy brend - bu o’zingizni targ’ib qilish. Bu siz kuzatuvchilaringiz ko’rishini istagan mahorat, tajriba va shaxsiyatingiz noyob kombinatsiyasi. Bu o’z hikoyangizni aytish va odamlarda qoldirgan taassurotingiz.

Kimlar uchun shaxsiy brending kerak?

▪️Har qanday soha vakili uchun shaxsiy brending kerak. Dasturchi, dizayner, marketolog, sotuvchi va hatto sartarosh bo’lsangiz ham shaxsiy brendingiz bo’lsa ishlaringiz har doim besh bo’ladi. 👍😊

Shaxsiy brending sizga nima beradi?

-
Mahsulot yoki xizmatingizni samarali sotish.
- Ishga oson joylashish.
- Sizga ishonuvchi ko’plab do’stlar orttirish va natijada baxtli bo’lish.

Qanday qilib shaxsiy brend qurish mumkin?

▪️Ko’pchilikka foydali bo’lishi mumkin deb o’ylagan bilimlaringizni Internet orqali ulashing.

👉 @the_farhod shaxsiy brend qurishni o’rganish uchun kanalimga a’zo bo’ling.

#shaxsiybrend
2
Boshida barcha narsa qiyin kechadi, ko'p narsa o'xshamaydi, ko'plab xato qilasiz, ba'zan butun olam sizga qarshidek tuyiladi, biroq shu tarzda siz rivojlanasiz. Muvaffaqiyatga erishishning birdan bir yo'li, unga erishmaguncha tinimsiz harakat qilishdir.

👉 @the_farhod
1
Salom, do'stlar! Yaqinda senior full-stack developer sifatida ish boshladim va bundan juda xursandman. Menga bildirilgan ishonchni oqlashga qo'limdan kelgancha harakat qilaman. Xayr, middle!!! 😁 Tez orada veb dasturlash va UI/UX dizaynga oid postlar yuklashni boshlayman. Ajoyib rejalar tuzib qo'ydim. Yana yolqovligim tutib qolmasa bo'ldi. 😉

Kanalimni kuzatib boring! @the_farhod
1
React vs Vue. 2021 - yilda qaysi birini o'rganishni istaysiz?
Anonymous Poll
84%
React.js
26%
Vue.js
"Design Systems": Nima, Nega va Qachon?

Google, Adobe va Microsoft kabi korxonalar proyektlarini dizaynlashtirish uchun dizayn tizimlaridan - "design systems" foydalanish orqali jamoaviy ishlashni osonlashtirdi, dizaynlashtirishga ketadigan vaqtni qisqartirdi va foydalanuvchi tajribasini - "user experience" oshirdi.

Ko'plab dizaynerlar dizayn tizimlarini noto'g'ri tushinishadi. Dizayn tizimlari, qupol qilib aytganda "UI Kit" deb tushinishadi. Aslida dizayn tizimlari bunda ancha ko'proq mavzularni qamrab oladi.

Batafsil o'qing

👉 @devfarhod

#uiux
1
Qanday qilib karta yaratish?

Kartlar ma'lum bir mavzuga oid ma'lumotlarni birlashtirib ko'rsatish uchun ishlatiladi.

Yuqorida bitta kichik foydalanuvchi fikrini ko'rsatuvchi kartga misol keltirganman, aslida kartlar juda ko'p mavzularda ishlatilishi mumkin.

Kartning asosiy maqsadi, bir mavzuga oid ma'lumotlarni guruhlash.

👉 @devfarhod

#uipatterns #uiux
1👍1
Nega Telegram - da barcha kanallardan chiqib ketdim?

Xabaringiz bor yaqinda "Deep Work" nomli kitobni o'qishni boshlagan edim. O'sha kitobni o'qib tugatdim. 😎 Unda diqqatni jamlashga oid bir qancha yondashuvlar o'rgandim. Kitobda Emailni ha deb tekshiraverish "Shallow Work" - sayoz ish, ya'ni diqqatni jamlashga halaqt beruvchi ishligi takror va takror, turli xil misollar bilan yoritilgan.

Shu kitobdan o'rgangan bilimlarim asosida Telegram da kuzatadigan kanallarim ichidan, menga hozirda kerak bo'lmaganlaridan chiqib ketdim. Bu birinchi kundanoq natija berdi. Har safar Telegramni ochganimda, yangi xabarlar to'lib ketgan bo'lardi. Hozir esa, atiga bir nechta shaxsiy xabarlar.

"Deep Work" faqatgina bu yondashuvni emas, balki butun ish va shaxsiy rivojlanishga yondashuvimni o'zgartirdi. Hammaga o'qishni maslahat beraman.

Amazon dan "This is Marketing" nomli kitobni buyurtma qilib qo'yganman, bir necha kunda yetib kelishi bilan boshlayman va albatta o'z kechinmalarimni siz bilan ulashaman.

👉 @devfarhod
👍1
Harakat

"Urinib ko'rmasangiz, hech qanday natija bo'lmasligi 100% aniq. Urinib ko'rsangiz ham eng yaxshi bo'lmasligingiz mumkin, biroq hozirgidan yaxshiroq bo'lishingiz 100% aniq."

© Farhod Allamuradov

👉 @devfarhod
1
Shogirdim 2 oy tayyorgarlik ko'rib ishga joylashdi.

Bugun Bekzod ismli shogirdim xushxabar bilan qo'ng'iroq qildi. Aytishicha "Novalab" nomli "outsourcing" bilan shog'illanuvchi IT korxonaga ishga joylashipti.

Bekzod bilan birinchi marta 10 - dekabrda "RedFox" da darslarni boshlagan edik. Ayrim sabablarga ko'ra, men bir oydan so'ng "RedFox" dan ketdim.

Shu bilan mart oyidan boshlab, yakka tartibda darslarni boshladik. Oradan ikki oy o'tib, bugun Bekzod ishga joylashdi. 😎🎉

Bugun Bekzodga bergan bir maslahatim yodimga tushib ketdi. "Imposter sindromini yenging va ishlarga topshirib ko'ravering. Ishga kirish siz o'ylagandek qiyin emas" - degan edim. Rosti shu gaplarni aytayotganimda, o'zimda ham ikkilanish bor edi. Lekin shu sindrom tufayli o'zim ko'p imkoniyatlarni qo'ldan boy berganimni hisobga olib, har bir o'quvchimga yuqoridagi fikrni singdirishga harakat qilaman.

Bekzodga kariyerasida omadlar tilab qolaman. 👏 O'zi istaganidek tez orada Googleda dasturchi bo'lib ishlash nasib etsin. 😎💪

👉 @devfarhod
1
Kodim ishlasa bo'ldimi yoki toza kod yozaymi?

Dasturchilar orasida ko'pchiligi ishlasa bo'ldi degan aqidaga amal qilgan holda kod yozishadi. Ba'zi dasturchilar borki, toza kod yozish shaydosi.

Toza kod yozish ko'proq vaqt oladigandek tuyiladi, biroq bu ma'lumot aldamchi. Toza kod kelajakda ko'plab bug - lar sodir bo'lishini oldini oladi. Natijada sarfalganiga qaraganda ko'proq vaqtni tejaydi. Yo'qsa, yetakchi dasturchilar toza kod yozish startegiyalarini ishlab chiqish uchun vaqt sarflashmagan bo'lar edi.

Ishlasa bo'ldi degan kod yozish osondek tuyiladi, biroq unday emas. Ishlasa bo'ldi degan kod yozish juda qiyin!!! Siz rejasiz yoki xom reja asosida kod yoza olganingiz uchun, ishlasa bo'ldi talqinidagi kod sizni o'ziga rom etadi. Bundan tashqari, proyekt boshida tez siljiydi, borgan sari sekinlashib boradi. Toza kod yozishda esa buni aksi, boshida sekin, borgan sari tezlashib boradi.

P.S: Keling birgalikda toza kod yozamiz va dunyoni bug - lardan tozalaymiz. 😉

👉 @devfarhod
MVP - Minimum Viable Product

Katta proyektlarni yaratishda uchraydigan qiyinchiliklardan biri proyektning barcha xususiyatlari rejasini bir vaqtda tuzish.

Shu kabi vaziyatda MVP - minimum ishlatsa bo'ladigan xususiyatlarni birinchi reja qilib, ularni tugatgach, davomli yangi xususiyatlarni qo'shib borish samarali uslub hisoblanadi.

Bu uslubdan ko'plab IT korxonalar foydalanadi. Misol uchun Telegram jamoasi proyektning boshida eng zarur xususiyatlarni reja qilishgan, bu MVP. Telegram - da "video chat" imkoniyati yaqinda qo'shildi, bu yangilanish.

Proyektni davomli rivojlantirib borish uchun Agile proyekt boshqaruvi uslubining SCRUM freymvorkidan ko'p foydalaniladi.

P.S: SCRUM haqida keyingi postda yozaman.

👉 @devfarhod
SCRUM: Yirik IT korxonalar qanday ishlaydi?!

Scrum bu Agile "framework" - ramkasi hisoblanadi.

Agile - bu proyektni boshqarish metodikasi. Bu yondashuvda proyekt bittada to'liq reja qilib amalaga oshirilmasdan, birinchi MVP aniqlab olinib ishlab chiqiladi va so'ng yangi xususiyatlar o'ylab topilib birma-bir qo'shib borilaveradi.

Qisqacha Scrum quyidagi tartibda ishlaydi:

1. Product Owner murakkab muammoni Product Backlog - iga qo'shadi.
2. Scrum Team biriktirilgan ishni kichik vazifalarga bo'lib, Sprint davomida bajarishadi.
3. Scrum Team va manfaatdor tomonlar natijani tekshirishadi va keyingi Sprint - ga tayyorgarlik ko'rishadi.
4. Yuqoridagi 3 ta bosqich takrorlanaveradi.

Product Owner - mahsulot egasi yoki mas'ul shaxs.
Product Backlog - hal qilinishi kerak bo'lgan muammo.
Scrum Team - scrum jamoasi.
Sprint - bittada bajarilishi kerak bo'lgan xususiyatlar to'plami.

👉 @devfarhod