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
Channel created
Qanday formatdagi darslarni afzal ko'rasiz?
Anonymous Poll
80%
Video
35%
Maqola
Dunyodagi eng yaxshi 5 ta dasturchilar

1. Dennis Ritchi
: Dennis MacAlistair Ritchi Amerikalik kompyuter olimi edi. U C dasturlash tilini yaratgan.

2. Bjarne Stroustrup: Bjarne Stroustrup Daniya kompyuter olimi bo'lib, C ++ dasturlash tilini yaratish va rivojlantirishda eng mashhur dasturchi hisoblanadi.

3. Jeyms Gosling: Jeyms Artur Gosling, Kanadalik kompyuter olimi, Java dasturlash tilining asoschisi va bosh dizayneri sifatida tanilgan.

4. Linus Torvalds: Linus Benedict Torvalds Finlyandiya-Amerika dasturiy muhandisi bo'lib, u Linux yadrosini yaratuvchisi va tarixga ko'ra asoschisi hisoblanadi.

5. Anders Hejlsberg: Anders Hejlsberg taniqli Daniya dasturiy injeneri bo'lib, u bir qancha mashhur va tijoriy muvaffaqiyatli dasturlash tillari va dasturlash vositalarini yaratgan.

@defarhod
5 ta eng mashxur Python kutubxonalari (libraries)

1.
TensorFlow: Google va Brain jamoasi tomonidan ishlab chiqilgan ochiq manbaali (open source) "Machine learning" kutubxonasi. Google - ning deyarli barcha proyektlarida ishlatilgan.

2. Keras: Eng yaxshi Python "Machine learning" kutubxonasi hisoblanadi. Neyron tarmoqlarini ifodalashning oson mexanizmini o'z ichiga oladi.

3. Numpy: Bu ham mashxur "machine learning" kutubxonasi hisoblanadi. TensorFlow va boshqa kutubxonalar Tensor - lar bilan birdan ko'p operatsiyalarni bajarish uchun Numpy - dan foydalanadi.

4. Scikit-learn: NumPy va SciPy bilan bog'langan Python kutubxonasi. Murakkab ma'lumotlar bilan ishlash uchun eng yaxshi kutubxonalardan biri hisoblanadi.

5. Django: Python yordamida veb-sayt tayyorlashni osonlashtiradi. Kamroq kod yozib, ko'proq ish bajara olasiz.

A'zo bo'ling: @the_farhod

#python
👍1
Shaxsiy saytimda forum tashkil qilmoqchiman. Hamma o'zini qiziqtirgan savollarni so'rashi mumkin. Sizningcha foydali bo'ladimi?
Anonymous Poll
89%
Ha, foydali
11%
Yo'q, foydasiz
Qanday qilib O'zbekistonda turib, frontend dasturchi sifatida $5000 oylik olish mumkin?

Shu kunlarda masofadan turib ishlashga yevropa davlatlaridan, asosan Amerikadan ish qidirmoqdaman.

Bu ishlarning meni jalb qilgan asosiy tomoni, oyligi. Eng kamida oyiga $5000 berishadi. Bu tahminan 50 000 000 so'm degani. 😱

Bundan tashqari bir joyda o'tirib ishlashni yomon ko'raman. Masofaviy ishda esa, qayerdaligimning ahamiyati yo'q. Ishni vaqtida bajarsam bas.

Ishlar juda ko'p, biroq ko'p narsani talab qilishadi.

Bir nechta ishga topshirdim, intervyuga yozilish men o'ylagandek qiyin emas ekan. Biroq ular talab qilayotgan bir nechta texnalogiyani men ishlatmasdim.

Misol uchun men React o'rniga Vue - dan foydalanaman. Biroq ko'proq React - ni talab qilishar ekan.

Shu sababli, React - ni ham bilishimni ko'rsatish uchun bir nechta dastur tayyorlashga kirishdim.

Keyingi 3 oy kunimning ma'lum bir vaqtini mosofaviy ishga portfolio tayyorlashga sarflashni reja qildim.

Agar men ishga joylasha olsam va shu $5000 ni ololsam. Bu siz ham qila olishingizni anglatadi.

Bu borada, hamma bilimlarimni siz bilan ulashaman.

Yaqinda veb-saytim tayyor bo'ladi. Shundan so'ng barcha postlarni saytimda berib boraman. Telegramda esa, har bir qo'yilgan post haqida xabar berib boraman.

Bir necha kun, post yuklay olmadim. Biroq ertadan boshlab, yanada aktiv bo'laman.

Do'stlaringiz bilan ulashing. 😊
Biror bir guruhda ulashsangiz ham mayli. 😉

A'zo bo'lish: @the_farhod

#5000kokat
Nima bu MERN Stack?

Bugun Singapurlik bir mijoz MERN Stack loyihalarimni namoyish etishimni so'radi. Ha, men React.js va Node.js bilan ishlay olaman, ammo menda namoyish etish uchun hech qanday loyiha yo'q. Chunki hozirgacha faqat Laravel va Vue.js bilan loyihalar qilganman. Shuning uchun MERN Stack-ni dasturiy asboblarim qatoriga qo'shishga qaror qildim, chunki bu birinchi marta emas. Hozirgi kunda React.js veb-dasturlash dunyosida hukmronlik qilmoqda.

Ma'lumot o'rnida, MERN - MongoDB, Express.js, React.js va Node.js - larning bosh harflaridan olingan. Agar siz shu to'rt dasturiy asboblarni ishlatib veb dastur tayyorlasangiz, unda siz MERN Stack Developer hisoblanasiz.
MEAN Stack Developer

"MEAN Stack Developer" - dasturlashning faqat ma'lum bir sohasida bilimga ega bo'lgan dasturchi. "MEAN Stack Development" - MongoDB, Express.js, Angular.js, Node.js yordamida dastur ishlab chiqish. Sodda qilib aytganda "MEAN Stack Developer" JavaScript asosida dastur ishlab chiquvchi dasturchi.

A'zo bo'lish: @the_farhod

#meanstack #stack #mean #javanoscript
Framework

Dasturchi sifatida har doim dastur tayyorlaganda bir xil kodni takror va takror yozishni istamaymiz. Dasturchilar orasida bir oltin qoida bor. "DRY - Don't Repeat Yourself" To'g'ridan to'g'ri tarjimasi o'zingni takrorlama, ma'nosi esa, bir yozgan kodingni qayta yozma degani. Shuning uchun takrorlarnuvchi asos kodlarni bitta alohida dastur sifatida tayyorlab qo'yiladi. Bu dasturlar "framework" deyiladi. Misol uchun mashxur JavaScript freymvorklari: React.js, Vue.js, Angular.js. Mashxur PHP freymvorklariga misollar: Laravel, Yii, Symfony.

A'zo bo'lish: @the_farhod

#framework
Faqat HTML va CSS bilan pul topish

Dasturlashni endi boshlayotganlar albatta tezroq pul topishga juda qiziqishadi. Shu kabi bo'lajak dasturchilarni xursand qilish maqsadida, faqat HTML va CSS ni bilib turib pul topish yo'lini ulashmoqchiman.

Faqat HTML va CSS da "front-end" shabloni, "template" tayyorlab themeforest.net saytida sotishingiz mumkin. Bu uslub juda kam bilim talab qiladi. Bu uslub bilan Canvas nomli shablon shu kungacha $836.800 ishlab topdi. Bu faqat HTML va CSS ni ishlatib tayyorlangan shablonlar ichida eng mashxuri. Albatta birorta sotilmagan shablonlar ham bor, biroq bozorni tushina olsangiz, haridorguy mahsulot tayyorlash mumkin deb hisoblayman.

Bundan tashqari shabloningizni faqat themeforest - da emas boshqa bozorlarda ham sotsangiz bo'ladi. Keyingi postlarda shu kabi bozorlarni keltiraman.

Mahsulotingiz sotilmagan holda ham siz hech narsa yo'qotmaysiz, balki portfoliongizga yana bitta loyiha qo'shiladi.

👉 @the_farhod

#themeforestnet #html #css
👍2
Nima bu REST API?

Aytaylik siz Youtube - dan HTML haqida video topmoqchisiz. Youtube - ni ochasiz, qidiruv bo'limiga "HTML" deb yozasiz, enter tugmasini bosasiz va Youtube sizga HTML haqida videolar ro'yxatini ko'rsatadi. REST API ham shu kabi ishlaydi. Biror narsa qidirasiz, va so'rov jo'natayotgan xizmatingizdan natijalar ro'yxatini olasiz.

API - Application Programming Interface. U dasturlar bir biri bilan suhbat qurishiga ro'xsat beruvchi qoidalar to'plami. Dasturchi APIni serverda yaratadi va mijozga, "client", u bilan suhbat qurishga ro'xsat beradi. (Hozir siz Telegramni ishlatayapsiz, demak siz hozir Telegram uchun mijozsiz.)

REST esa API qanday ko'rinishda bo'lishini belgilab beradi. REST "REpresentational State Transfer" so'zlari qisqartmasidan olingan. U dasturchilar API yaratayotganda amal qilishi kerak bo'lgan qoidalar to'plami. Siz ma'lum bir URL - ga bog'langaningizda shu qoidalardan biri siz qanday ma'lumot olishingiz kerak ekanligini aniqlab beradi.

Har bir URL so'rov, "request", deyiladi. Sizga qaytarilgan ma'lumot esa javob, "response", deyiladi.

👉 @the_farhod

#restapi #rest #api
2
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