es
Feedback
Programming ∀

Programming ∀

Ir al canal en Telegram

Ushbu kanalda IT va Dasturlashga aloqador mavzularda subyektiv fikrlarimni bayon qilaman.

Mostrar más
1 217
Suscriptores
Sin datos24 horas
-87 días
-3530 días
Archivo de publicaciones
sticker.webp0.38 KB

Agar jschilar Type teory boshlasa😭
Agar jschilar Type teory boshlasa😭

Bitcoin scam emas ekan... Deb sotib olishni reja qilayotganlar diqqatiga. Iltimos xozir buy qilmanglar! Sizga bu mavzular qiziqmi ? Okay oldin o'zingiz research qilib izlaning, nafsingizni quli bolib ertaga yebqo'yib yurmanglar ! Xozirgi holatda bu juda actual mavzu ekani uchun aytyabman o'zingiz va yaqinlaringizni ohoh qiling. Biroz kech qoldingiz BTC sezon tugaydi hademay sizga esa katta foyda bo'lmasligi yoki umuman zarar bo'lishi mumkin.

Shu qizil kitobni: Dasturlashda qanaqadir sofware qura oladigan va business logic yoza oladigan hamma o'qishi shart deb bilaman! Ayniqsa top engineerlar va top managerlar uchun. Sizga technical bilim kerakmi ? Mana o'sha bilimlar shu yerda. 10x staruper va engineerlar ham o'qisa zarar qilmaydi odam bo'lishadi.

Software Abstractions Mani miyyamni portlatgan kitoblardan biri. Boya 15-20 bet o'qiganimni xozir o'ylab hazm qilar ekanman nega oldinroq bu haqida o'ylamagan ekanman-a deb o'tiribman 😁 Manimcha tushimda biror software uchun formal proof yozaman bugun ))

Hurmatli 10x engineerlar, iltimos olding CQRS organilar juda bo'lmasa 😄

1. Juda katta extimol bilan siz topadigan uztozingiz qanaqadir noname engineer bo'ladi. Umuman olganda uztozlarga bog'lanib qolmang bo'lmasa informatsiyon qaramlikga duchor bo'lasiz. Shu sabab self study qilib harakatizni qilavering o'zi vaqti kelib uztozlar ham ham fikrlar ham paydo bo'ladi. Lekin unda haqiiqy uztozlar bo'ladi Hudoholasa, yani realniy qanaqadir yaxshi yutuqlari va tajribasi borlar. Noname 10x engineer emas... 2. Nimadan boshlashni bilmayotgan bo'lsangiz Linux kavlang. Ishoning bu sizga juda katta expirence beradi va communitylarda active bo'ling. Savol berishni o'rganing va sizni qiziqtirgan savollarni uyalmay beravering. Community javob beradi. Agar siz communityda o'zizni yaxshi tutsangiz community sizga juda ko'p yordam beradi va boost beradi. Community tekin ustoz bir masalga turli firklar keladi bu degani bir muammoga turlicha yechim ko'rishingiz mumkin. 3. Fundament bilimlarni bosing, xozircha osonroqlari Network va OS haqida o'qisangiz bo'ladi, qanday ishlaydi nima qanday bo'ladi vaxakazo. 4. Turli mavzuda pet projectlar qilsangiz bo'ladi, tog'ri boshiga ko'p narsa kutmaslik kerak ammo expirementlar sizga katta tajriba beradi. 5. English must have ! O'qing bosib. 6. Universitetga topshirishga xarakat qiling, imkon boricha chetga. Yoki magisteraturani chetga topshiring. U yerdagi akademik hayot va fundamental bilimlar sizga Seniorlikdan ko'proq narsa beradi ishonavering. 7. Junior, Middle, Senior bularni hammasi business uchun. Hullas dasturlashni tushunmaydigan tupoylar bizni boshqaradi va ular bizga oylik berishi uchun qanaqadir ranking kerak. Aslida bu ranking ham yemagan narsa. Siz bunaqa titlega xarakat qilmang. Siz qanaqa muammoga yechim bera olishni ko'proq o'rganing, hamma masalada muammo tiqilib yotibti. Biz uchun yagona tittle bu engineer! Qolgani bekor kvalifikatsiyalar esa unchalik tog'ri o'lochov emas texnik tomondan. Shu sabab yoshligizda tenik bilimlarni bosavering yaxshilab. 8. Matematika, Fizika kabi fanlarni o'rganishdan umuman cho'chimang! Masalan man 10 yil oldin reja qilgan narsalarimni endi o'qib yuribman bazida. Bu degani o'sha payitlar o'qigan tengqurlarimdan 10 yil orqadaman! Siz yoshligizda qancha ko'p fundamental bilimlarni egallasangiz kegin shuncha kengroq doirada xarakat qila olasiz. 9. Qattiq maslaxat Informatika olimpiyadalarida qatnashing ! Hohlasangiz bu mavzularda resurslar ham topishga yordam berishadi. Hullas bu sizni xozirgi yozishda siz uchun eng muhim yo'llardan birini ochib beradi. Maktab, universitet o'quvchilari uchun must have deb bilaman competitive programmingni. 10. 15-yosh yoshbola emas. O'zingizni bunaqa hisoblamang, biroz masuliyat olishga turli masalalrga jiddiy qarashga xarakat qiling aynan xozirgidak kelajakdagi masalalrga. Bu degani sizni vazifangiz xozir ko'proq kelajagizga investment qilish pul emas asosan bilim bilan. 11. Top companylarga borishni orzu qilmang, ammo takliflar va imkoniyatlar bo'lsa ham rad etmang. Orzuyingiz qayerdadir ishlash bo'lmasin bo'lmasa ishizni topganizda davom etolmaysiz. Shu sabab biroz ratsional bo'lishni o'rganing. 12. 3-5 yil degani dasturlashda juda ko'p narsalarni endi tushunib yetyabti, fundamentlari esa yaxshi degani. Masalan manda 8 yilcha tajriba. Ammo bazi mavzualrda haliyam ikkichiman. Shu sababdan qancha erta dunyo qarashingiz keng bo'lsa shuncha ko'proq imkoniyatlar ochiladi. 13. Izlanishdan va tadqiqotlardan qo'rqmang, muammo chiqsa izlanib ko'ring balki hal eta olarisz, agar hal bo'lmasa report qilishga uyalmang. Hullas muammolarga ko'z yumib yurmang. PS: Kitoblar qurolingiz Unix tizimlar maydoningiz bo'lsin !

Assalomu aleykum sog’liqlariz yaxshimi? Sizga bir savolim bor edi. Xozirda yoshim 15 da va ba’zi bir moddiy muammolar sababli menda kurslarga borishga imkoniyat yo’q. Shu sabab dan online mustaqil “programming”ni o’rganmoqchi man. Ko’p kishi menga online tarzda junior dasturchi bo’lish qiyin va sen hali yosh bolasan deyabdi. Va savolim shundan iboratki dasturlashni online bepul rasurlardan mustaqil tarzda o’rqansam bo’ladimi va yoshim o’rganish uchun xali kech emas mi? Va yana bir savol rostdan ham kompaniyalarga kelgusi 3-4 yil ichida junior daturchilar kerak emas bo’lib qoladimi? Javobingiz uchun oldindan rahmat
Shunday savol kelyabti. Javob: Dasturlashni o'rganish uchun sizga qandaydir kurs kerak emas ! O'ylaymanki borganizga arzimaydi bu kurslar. Hullas kurslar sizga pufak sotadi ishonavering. Ko'p mentorlari ham noname programmerlar yoki past kvalifikatsiyali mutahasislar. Shu sabab ular aytgan seniorlik davosiga uchmang! Man tanigan yaxshi engineerlarni deyarli hammasi self-study qilgan. Sizga koryera masalasida quyidagi tavsiyalarni bera olaman. Bazilari o'zimda ishlagan bazilariga o'zim ham harakat qilyabman.

Tog'risi Server Side Rendering yetib oritar edi uncha buncha project uchun. Hayronman o'zialrcha SPA deb nimalar qibtashadilar e )) Hamma frameworkilar bitta ishni qiladi ammo xammasi majrux va nogiron. Tayinlisi yo'q orasida. Reactni ham ocamchilar kavlab kavlab tashalb ketgan. JSchilar 10x rasvo qilib davom qilyabti endi ))

WTH ? Web borgan sari sekin va og'irlashib boryabti ) Nima deyishni ham bilmayman, bir qarasa 2 soat load qiladi bitta pageni
WTH ? Web borgan sari sekin va og'irlashib boryabti ) Nima deyishni ham bilmayman, bir qarasa 2 soat load qiladi bitta pageni. Lekin internet tezligi Gb/s. Bitta mandami desam chet eldagi tanishlarda ham shunaqa muammolar ko'p ekan. Bilmadim nima deyishni ham, borgan sari hamma narsa rivojanish o'rniga orqaga qarab ketayotganga o'xshaydi. Muammoni qidirsa browser ham OS ham ayibdor deyishadi. Hullas mani fikrimcha browser app qiladiganlar dasturlashni boshqacharoq perespektivadan ko'rib chiqishlari kerak. Negadir urlarda hamma narsa qo'l uchida, jsdan tortib boshqasigacha chala yoki nogiron texnalogiyalar. Bular yaxshilanmas ekan odamlar yana eski desktop approachlardan vozkechishmaydi.

Startuplar ham o'rta kichik bizneslar ham iqsodiyot uchun muhim ro'lga ega. Muammo ularni drammalarida holos. Birnecha millon $ kapitalga ega company nimadirni clone qilib o'lib o'zini inovatsion deyishi prosto absurt va kulgili. Shunaqa gaplar bo'lganida savol beraman. Ho'sh texnologik kompaniyamiz deyabsiz ajoyib! Ammo texnalogiyalar rivojiga nima hissa qo'shdingiz ? R&D natijalar bormi ? Juda bo'lmasa githubda repolar bormi ? Ularni kimdirlar ishlatadimi ? Agar o'zini kichik yoki o'rta biznesli kompaniya desa, webstudio dermidi shunaqa narsalar desa no problem! Ammo texnalologik... Qani natija ? Nima yangilik qildingiz ? Texnik yo'nalishda nima yaxshilandi siz kelganizdan kegin ? Manda javob bor: Hechnima ! Bekorga serverlarni band qilyabsiz Davay Davay Deploylariz bilan! Innovatsiya qilgandirsiz, ammo texnalogik emas siz qilgan innovatsiya, qani paper ? Qani code ? nu xotya blog post bormi ))

Bir kishi shaxsiyga yozyabti. Biz falon startup qilmoqchimiz, qanaqadir aggregator. Shu masalada bizga falon texnik muammolarni hal etish kerak. Shu sababdan yordam kerak ! Meet qilsak bo'ladimi ? Javobim: Aniq savollaringiz bo'lsa batafsil yozib qoldiring, bemalol bo'lsam xarakat qilaman bilganimcha javob berishga. Savol: Sir bo'lmasa qayerda ishlaysiz ? Sizni tavsiya etishgan edi. Biz tezroq MVP chiqarishimiz kerak. Javob: Tavsiya qilgan odam aytmadimi ? Savol: Biz falon texnalogiyalar ishlatyabmiz shunga nima deysiz, linkedinda bir loyiha ustidan tanqid qilgan ekansiz. Bizni loyihaga ham arxitekturani qilib bera olasizmi ? Javob: Aka iltimos aniq mavzuda gaplashaylik! Hurmatli 10x startuperlar, oldin nima hohlayotganizni aniqlashtirib oling! Bazida siz o'ylayotgan narsalar osongina hal bo'lib ketadi ammo negadir o'zingiz vaziyatni murakkablashtirasiz ! Siz aytayotgan innovatsiyalar shunchaki qanaqadir loyihaning clone versiyasi bo'ladi 99% holatda shu sabab vahima qilmanglar! Sizdagi muammolarni hal etishga esa magic stick qidirmanglar! Ular ham odatda shunchaki hal bo'ladi. Siz highload deyotgan loyihanigz aslida monalit bilan hal bo'ladigan narsa. O'zizni qiynamang. Microservicelarda MVP qilish bu absurt! Iltimos agar siz CEO bo'lsangiz ham CTO bo'lsangiz ham qisqasi kim bo'lsangiz ham fantastik o'ylamasdan biroz real qarang hayotga. Siz tassavur qilayotgan unicorn aslida donkey holos! Chunki sizdagi kompitensiya xozircha faqat shunga yetadi. Shu sabab dunyoga jar solmasdan biroz bosiqroq bo'ling. Sizdagi birnecha 100 k $ bilan nari borsa 1-2 yil yashaydi loyiha. Shu sabab innovatsiya va qanaqadir technical revalutionlarni ro'kach qimasdan shunchaki falon narsani clone qilib lokalizatsiya qilmoqchimiz desangiz bo'ldi. Kegin iltimos qanaqadir foizlar bilan kimnidir hiring qilishga urinmang, naxtidan gapiring vassalom. Siz qancha ochiq va aniq bo'lsangiz shuncha oson topasiz kerakli kadrlarni bo'lmasa yuraverasiz orzulariz og'ushida. Sizni orzulariz esa boshqalarga zarracha qiziqarli va qadrli emas

Endi mani uydan chiqaromisila.
Endi mani uydan chiqaromisila.

Hullas man eng kayf qiladiganim bu, o'zim hurmat qilgan speakerlarim talklarini ko'rish. Coffe va mevalar bilan. Otpuskda 24/7 podcast, watching talks, crazy expirements. Hullas eng eng ko'p kayf qiladigan narsalarimni 1 kundan sinab chiqyabman. Dushanba gamming, seshanba porsto uyqu. Bugun esa Haskell kuni. Ammo manavi talkni ko'rmasam bo'lmaydi. Ertaga devops expirementlar kuni 🥸 https://www.youtube.com/watch?v=0c-72iKL32k

Haskell boshida umuman tushunarsiz va murakkab tuyiladi. Begineer friendly resurslar birozgina yetishmagani seziladi. Ammo qiziq narsa bor. Begineerlik davrida juda ko'p expirement qilish kerak va haskell misolida manashunaqa practicega katta extiyoj bor. Oddiy narsalar bilan ham turli expirementlar qilasiz, masalalar yechasiz hullas maksimal ko'p practice kerak. Birozgina odatga aylanib qolganidan kegin bu narsalar siz uchun normal va ancha qulay bo'lib qoladi. Masalan boshida tushunmaysiz composition nega kerak ekanini yoki qayerda kerak bo'lishini. Ammo vaqt otib bilasizki composition juda ko'p uchraydi. Ekotizimga moslashib olganizdan kegin esa ketaverasiz va bir muammoga o'nlab yechimlarni ko'rib hayron qolasiz. Lekin aynan haskell kabi tillarda biroz ko'proq sabr bilan yaxshilab o'rganish kerak. JS, Py, Php kabi eng minimal bilimlar bilan productionga chiqib ketolmaysiz. Boshida manashu narsa yoqmagan edi, endi esa qaytangi bunday yondoshuv yaxshiroq ekanini tushunyabman. Biz ko'p mashq qilamiz, o'rganamiz, expirement qilamiz. Nima qanday ekanini o'rganib kegin hayotga tadbiq qilamiz. Bu ananaviy practical learnerlar uchun biroz og'riqli, zerikarli bo'lishi mumkin. Ammo sizga boshqa tradeoff taqdim qiladi, qancha yaxshi bilsang shuncha yaxshi bo'ladi. Shu sababdan ham jarayon ancha qiziq bo'ladi, deyarli har doyim nimadirni yaxshiroq qilishga yangi bilimlar chiqib kelaveradi, bilimlaringiz oshgani sayin production ready code ham ko'proq yozasiz. Umuman olganda turli masalalarda katta dunyoqarash beryabti. Ayniqsa manga eng muhim mavzulardan birini aynan Haskell ko'proq yortib beryabti, bu I/O mavzusi. Haskellda siz IO ning asli basharasini ko'rasiz. Aynan IO haqidagi dunyo qarashimni juda kengaytirib yuborgan til aynan Haskell. Hullas, Tiplar kuchini his etmoqchi bo'lsangiz Lean4 agar IOni his etmoqchi bo'lsangiz Haskell. Agar tiplar bilan FPda backend yozmoqchi bo'lsangiz Scala3.

Yanayam tushunarli bo'lishi uchun

head [a] -> a
head [] = error "empty list"
head (x:xs) = x
xs degan list qiziq bo'lmay qoladi uje. Undan headni olindi funksiya ichida faqat x ishlatilindi. xs esa keraksiz demak uni evanulate qilishdan foyda yo'q deb xisoblaydi Haskell. Shu sababdan infinity listdan head olsangiz infinity recursionga tushib qolmaydi.

Call by need sila ! Haskellda repeat 1 qilsangiz infinity list bo'ladi 1dan tashkil topgan. Siz kill signal bermagunizcha man
Call by need sila ! Haskellda repeat 1 qilsangiz infinity list bo'ladi 1dan tashkil topgan. Siz kill signal bermagunizcha manashu repet tugamaydi. Ammo siz listdan biror qismni qirqib olsangiz jarayon darxol tugaydi. Masalan: head $ repeat 1 take 10 $ repeat 1 Bu shuni anglatadiki Haskellda biror narsa faqat kerak bo'lsagina ishga tushiriladi, funksiyalardan tortib hammasi shunaqa by default.

Aytamanu bekorga helm yeb yuribsilar deb :)
Aytamanu bekorga helm yeb yuribsilar deb :)

Hammasiga kulib qo’ydim :)
Hammasiga kulib qo’ydim :)