Dev Farhod – Telegram
Dev Farhod
330 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
Har bir dasturchi Git - ni bilishi shart!

Qayerga ishga kiraman desangiz ham Git - ni bilasizmi deb so'rashadi. Agarda dasturchi sifatida IT korxonalarida ishlashni istasangiz, unda Git - ni albatta o'rganing.

Git dasturni ishlab chiqish jarayonida o'zgarishlarni kuzatib borish uchun versiya-nazorati tizimi. U dasturchilar o'rtasida ishlarni muvofiqlashtirish uchun mo'ljallangan.

Scott Chacon va Ben Straub tomonidan yozilgan "Pro Git" kitobi orqali o'rganishingiz mumkin.

👉 @the_farhod

#git #versioncontrol
Dasturlash olamiga endi kirib kelayotgan vaqtingizda dasturlash strategiyalari haqida bilishingiz shart emas. Biroq mahoratingiz rivojlanib, murakkab dasturlar yaratishni boshlaganingizdan so'ng, qaysi dasturlash strategiyasi loyihangiz uchun mos ekanligini tushinishingiz muhim.

Ular ichidan dasturchilar birinchi navbatda o'rganadigani "Procedural programming". Sodda qilib aytganda, "procedural programming" kompyuterga bir vazifani qadamma-qadam bajarishi uchun ko'rsatmalar ro'yxatini yozishni o'z ichiga oladi.

"Procedural programming" strategiyasida:
1. Bitta katta vazifani olasiz.
2. Uni kichik-kichik vazifalarga ajratib chiqasiz.
3. Har bir kichik vazifa uchun maxsus funktsiya yaratasiz.

👉 @the_farhod

#proceduralprogramming
2
"OOP - Object Oriented Programming" bo'lib obyektga qaratilgan dasturlash strategiyasi hisoblanadi.

"Procedural programming" - da ma'lumotlar ustida amallar bajarish uchun fuktsiyalar yoziladi, OOP - da esa ma'lumotlar hamda funktsiyalarni o'z ichiga oluvchi obyektlar, "object", yaratiladi.

OOP "procedural programming" - ga qaraganda bir qancha ustunliklarga ega:

1. OOP tezroq va bajarilishi osonroq.
2. OOP dasturlarning aniq tuzilishini ta'minlaydi.
3. OOP DRY "Don't Repeat Yourself" qoidasiga amal qilishga va kodni osonroq rivojlantirish, o'zgartirish va xatoliklarni aniqlashga, "debug", yordam beradi.
4. OOP kodni kamaytirib, ishlab chiqarish vaqtini qisqartirgan holda to'liq qayta ishlatiladigan ilovalarni yaratishga imkon beradi

Maslahat: "Don't Repeat Yourself" (DRY) printsipi kodning takrorlanishini kamaytirishga qaratilgan. Dastur uchun odatiy bo'lgan kodlarni ajratib, ularni bitta joyga joylashtiring va takrorlash o'rniga ularni qayta ishlating.

👉 @the_farhod

#OOP
1
"Synchronous Programming"

Sinxron dasturlash
(shu bilan birga "synchronous reactive programming" yoki "SRP") bu sinxron dasturlash tillari tomonidan qo'llab-quvvatlanadigan kompyuter dasturlash paradigmasi (paradigm) yoki soddaroq tilda dasturlash strategiyasi.

Sinxron dasturlar bir vaqtda faqat bitta vazifa bajarishga asoslangan bo'ladi. Ya'ni oldingi vazifa yakunlanmaguncha, dastur keyingi vazifani bajarmaydi. Bunga ko'plab dasturlash tillari misol bo'la oladi. Ular ichidan bizga yaxshi tanishi, JavaScript.

Shu o'rinda, Dasturlash paradigmalari - dasturlash tillarini ularning xususiyatlariga qarab tasniflash usuli. Tillarni bir nechta paradigmalarga ajratish mumkin. Sodda qilib aytganda, dastur tayyorlashda ishlatiladigan strategiyalar.

👉 @the_farhod

#synchronousprogramming
1
"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