en
Feedback
Programming ∀

Programming ∀

Open in Telegram

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

Show more
1 217
Subscribers
No data24 hours
-87 days
-3530 days
Posts Archive
Repost from Engineering Notes
Yaqin kelajakda (allaqachon) biror ishga chuqur fokus qilish, zerikib nimadir haqida fikr qilish, yoki shunchaki biror narsadan haqiqatda zavqlana olish ko'pchilik uchun juda jiddiy muammo bo'ladi. Bu haqida allaqachon ko'p o'qigan yoki eshitgan bo'lsangiz kerak. Lekin bunday "botlashish" natijasi qanday bo'lishini badiiy asar sifatida ko'rish boshqacha bo'lar ekan. Qisqasi, hozir "Fahrenheit 451" kitobini o'qiyapman, sizlarga ham "otdushi" tavsiya qilaman.

Video Datasetlar... Videoga aloqador juda ko'p amaliyotlarga tayyor datasetlar yeg'ilgan ekan va juda katta tayyor hajmli ma'lumotlar. https://github.com/xiaobai1217/Awesome-Video-Datasets#Video-Classification Manga maksimal 100ta kerak edi. Ammo buyoqda millionlab bor 😁

sticker.webp0.20 KB

Localniy memelar uchun stickerpack yasadim 😎

sticker.webp0.20 KB

Hurmat bilan sizlarga yana bir mutantni tanishtirmoqchiman. NJS: https://github.com/nginx/njs-examples Ushbu njs degan mutant Nginx uchun extended functionalitylar qilish imkonini beradigan nginx module 🥲 Havotir olmagnlar uyoqda. JS da backend yozdik... JS da IAC yozdik... JS da infrastructure automationlar qildik, migration scriptlar qildik. Endi Webserverlarga extensionlarni ham jsda yozamiz. Man siqilib luada yozib yurgan edim 🙃 PS: 1995-yilga qaytib qolishni imkoni bo'lganida bir kishini fikridan qaytarish uchun qo'limdan kelgan hammasini qilar edim 😁

Zoomer avlod RAIDlarni esdan chiqardi...
Zoomer avlod RAIDlarni esdan chiqardi...

Sohani tushunmay contextda bolmay turib o’zicha nimadir qilmoqchi bo’lganlarnig deyarli hammasini loyihasi trash bolyabti… Business mavzusi haqida esa bilmadim. Yuqorida yozganimday raxbariyat trash bolsa uyoqda ham shu axvol…

Etibor beryabsizmi ? Tashqaridan aralashilayotgan yoki bo'lmasa suniy ravishta "rivojlantirish" uchun qilinayotgan juda ko'p xarakatlar va amaliyotlar zararga ishlayabti. Ushbu holatlarni ta'lim, ishlab chiqarish, yana boshqa yo'nalishlarda ko'rish mumkin. Aynan ITga aloqador narsalar haqida gapiryabman :) Lekin community tomonidan qilinayotgan ishlar juda ko'p holatda ish beryabti. Masalan Man nodejs communitydan nodejsni o'rganganman va shu o'rinda yangi xamkasblarga maksimal yordam berishga harakat qilaman :) Juda ko'p holatra Open source loyihalardan foydalanaman. Sababi juda ko'plab muammolarimni va extiyojlarimni qoplaydi. Shu o'rinda OSS ga support qilishni ham hohlayman. Oldin ham aytsam ko'pchilik tushunmagan edi. Agar siz biror narsani qilishni hohlasangiz IT communityni o'zi yetib ortadi ! Aynan learning masalasida. Agar sizda biro muammo paydo bo'lsa open sourcelar juda ko'p muammolarga yechimni topib qo'ygan. Agar topilmasa o'zingiz hal etib kegin Open source qilsangiz bo'ladi. Shu orqali siz kabi muammo bilan og'ringan hamkasblarni qo'llaysiz :) Negadir hamma hypega ishonadi. O'z o'zini aldashni shirin yolg'onlarni sevadi. Bir projectni clone qilib startup qilaman deysi. Bir markazda o'qib engineer bo'laman deydi :). Bir kitobni o'qib interviewdan o'taman deydi... Sizni support qiladigan community bor faqat minimal qonun qoidalarga amal qilsangiz bo'lgani... Ular sizga sarflagan vaqti uchun biror manfatni ko'zlamaydi ishoning :) Man bilganim xozirda xatto haskelldan ham uz community mavjud 😅 Hulosa o’zingizdan…

Mavjud tizimni copy-paste qilib startup deyotgan startupperlar ! Iltimos boshqa unday qilmaylar 😊

Endi dars qilish uchun shunday uslubdan foydalanyabman 😎

Repost from Programming ∀
Shu ishni qilsang shokalat olib beraman ! Shunday deb rutine ishlarni qilib tashlayman.
Shu ishni qilsang shokalat olib beraman ! Shunday deb rutine ishlarni qilib tashlayman.

Sodiq hodimlik hechnarsasiz sobiq hodimlikga sabab bo’ladi uzbda. Shu sabab yaxshilab o’qib ustimizda ishlab yuqoridagi kabi tizimlardan surish kerak. Har bir hodim nafaqat hodim balki bir shaxiyatham 🙂

O'zbekistonda dasturchi bo'lib ishlashning achchiq haqiqatlari. Men remote, xalqaro bozorda dasturchi bo'lib ishlashga qaror qilishimdagi sabablardan biri bu ishdagi erkinlikni xohlashim bo'lgan. Erkinlik - istagan vaqt, istagan joyda, qattiq bosimlarsiz ishlay olish. O'ylaymanki, agar siz o'zbek mahalliy IT kompaniyalardan birida ishlasangiz, quyidagi cheklov, taqiq va bosimlardan hech bo'lmasa bittasini ko'rgansiz yoki boshdan o'tkazgansiz. - Haftasiga 6 kun, kuniga 8+ soat ishlash majburiyati - Kunlik ishlar aslida sizga bog'liq bo'lmagan muammolar tufayli tugallanmay qolsa, ish vaqti tugashiga qaramasdan, ishxonada yarim kechasiga majburlab ushlab turish. - Ishga kech qonganlik uchun, kech qolingan har bir daqiqa uchun oylik maoshdan ushlab qolinadigan qandaydir jarima. - Ishdan erta ketib qolganlik uchun, ofisda o'tmagan har bir daqiqa uchun oylik maoshdan ushlab qolinadigan qandaydir jarima. - Tushlik yoki tanaffus vaqtlarining judayam qat'iy qo'yilganligi va belgilanganidan ko'p vaqt sarflab yuborilganligi uchun yana qandaydir jazo. - Ish sababidan kasal bo'lsangiz, tibbiy xarajatlaringizni qoplanmasligi yoki hech bo'lmasa davolanish davringizda ham oylik maoshingiz berilmasligi. - Ishxonadagi qoidalarni va tizimni "Software development cycle" dan umuman xabari yo'q odamlar tuzishi va nazorat ham ularning qo'lida bo'lishi. - Ishxonadagi motiv amalga oshirilgan yaxshi ishlar rag'batlantirilishi evaziga emas, qilingan xatolar jazolanishi ustiga qurilganligi. - Ish vaqtida to'satdan chiqib qolgan shaxsiy muhim ishlar uchun bir necha odamlardan ruxsat olib, keyingina keta olish va shunda ham ruxsat berilmasligi ehtimolligi yuqoriligi. - Turli shaxsiy ishlar, qandaydir uy hujjatlarini to'g'rilash yoki yaqin insonni shifoxonaga olib borish kabi faqat ish kunlarida qilish mumkin bo'lgan ishlarga ishxonaning ruxsat bermasligi yoki oyiga faqatgina bir martagina ruxsat berilishi. - Pullik mehnat ta'tili berilmasligi Bu hamma kompaniyalarga tegishli emas. Lekin afsuski, O'zbekistondagi aksar mahalliy kompaniyalarda yuqoridagi kabi qattiq ish cheklovlari ko'p ko'zga tashlanadi. Ishxonalar ishchilar ustidan doimiy nazoratni ushlashga harakat qilishadi. Asosiy muammolardan biri shundaki, ular ichki tizimni kamchiliklarini topib, uni bartaraf qilish yoki xalqaro kompaniyalarda qanday qilib ishchilarga erkin ish muhitini yaratib bergan holda ishning samaradorligini oshirish yo'llarini o'rganish va amaliyotga tadbiq qilish o'rniga, eng chapani - ko'proq, qattiqroq, jazoga asoslangan motiv orqali ishlatish evaziga samaradorlikni oshirishga urunishadi. Qachondir sizning ishxonadagi haq-huquqlaringiz tiklanishini, erkinlik berilishini kutib yashamang. O'zingizga nisbatan talabchan bo'ling. Ilm oling, tajriba orttiring va kerakli insonga aylaning. O'zingizni ishxonada majburlikdan, pulga muxtoj bo'lganingiz uchungina bu bosimlarga chidab ishlaydigan holizdan olib chiqing. Bizda hali beri ishchilar haq huquqlari qattiq himoya qilinib, Yevropadagidek imtiyozlarga ega bo'lishiga hali bor. Lekin siz o'zingizni kerakli kadrga aylantirib, o'zingiz uchun istagan ish muhitini yaratishingiz mumkin.

Hullas bunday rahbariyat yoki insonlar bilan ishlash juda og'riqli. Bazida muammo faqat hodimda bo'lavermaydi... Muhim joyi muammo kimda ekanida emas balki kim qanday yondoshadi qanday yechim topadi. Ha xozir juda ko'p org structurelar ishonch ustiga quriladi. Bu bir tomondan ancha yoqimli ishonchni his etgan odam masuliyat sezadi. Boshqa tomondan side effectlar ko'payib ketishi mumkin agar contextlar aniq bo'lmasa masalan. Ammo xozirgi tendensiya shu tomonga qarab ketyabtida :)

Aynan shu maqola ish beruvchilar yoki rahbarlar haqida. Context asosan O'zbek auditoriyasidan olingan. Bo'lishi mumkin bo'lgan vaziyatlar: 1. Ortiqcha ish buyurish yoki ishdan qo'shimcha ishlashga majbur qilish. Ushbu amaliyot nafaqat local bozordagi kompaniyalarda balki freelance bozorda ham juda avj olgan. Narsa muammo shundaki boshida kelishuvda sizga 8KG yuk ko'tarish kerak bo'lsa. Amaliyota 16KG yuk ko'tarishingiz kerak bo'ladi. Lekin sizga 8KG yuk ko'targaningiz uchun haq to'lanadi va boshqa kompensatsiya bo'lmaydi. Biroz abstract qilib tushuntirdim sababi bunday holatlar nafaqat IT da balki har qanday sohada mavjud bo'lsa kerak va bu juda actual muhim masala. Insonlar o'z qadrini bilishlari ham katta ahamiyatga ega. Agar siz qo'shimcha ishlashni hohlamasangiz yoki haqqingizni talab qilsangiz sizni ishdan bo'shatishadi... Yoki yana boshqacha nohushroq holat yuz berishi mumkin. Qisqasi ko'pchilik bu narsaga majburan sabr qiladi :) 2. "Judayam aqilli" Rahbariyat. Bunday rahbarlar yoki ish beruvchilar sizni to'liq nazorat qilishga micro management qilishni juda sevadigan bo'lishadi. Eng qizig'i negadir ko'pchilik bunga etiroz bildirgisi ham kelmaydi :) Sababi o'zidan qo'rqadi. Bu ham ishlash kayfiyatiga katta tasir qiladi. Siz shu ishga ma'sul odammisiz demak ushbu contextda o'zingiz ishlashingiz kerak. Sizba berilgan vakolat va masuliyatni joyiga qo'yib ishlashingiz kerak sizning ishingizga shu contextda bo'lmagan boshqa kishilarning aralashishga haqqi yo'q. Sizga oylik beradigan kishi bo'lsa ham :) 3. Ertalab uyg'onib kimdur bo'lib olgan rahbarlar. Bunday toifa rahbariyatdan yuqoridagi "Judayam aqilli" rahbariyat rostdan ham aqillyda 😁 Nega deysizmi ? Sababi bunday toifa insonlarda aniq bilim ko'nikmalar bo'lmaydi. Shu sababdan ular ertalab uyg'onib kimdir bo'lib olganlar. Bularning asosiy yutug'i biror narsani o'zicha o'rganib olib ma'lum intuitiv faktorlar va yolg'onlar evaziga shu ko'rinishga kelganlar. Unaqa CEO yana birnasa Cheiflarning eng muhim quroli marketing va o'zlaridak past saviyalilar bilan ishlash. Ularda ishlaydigan hodimlar faqat ularning aytganini qilishalari va shaxsiy hayotlarini unutishlari kerak. Keyingisi esa ular hodimlarning yutuqlarini o'zlariniki. Xatolarni esa xodimlarniki deydilar. Yana bir qiziq tomoni aynan shunaqa raxbariyat eski xodimlarga bog'tonlar qilishni sevadilar. Qisqasi masqarabozlar.... 4. Egoistlar. Bunday rahbariyat ham ishchilarni qulday ishlatishni sevishadi shu o'rinda arzon ishchi kuchi evaziga sifatli narsani holashadi. Bu holatda ham hodimlar ko'pincha overtime ishlaydi. Lekin egoistlarni eng yomon tomoni hamma narsada faqat o'zlarini o'ylashadi. 5. Leader ko'rinishidagi masqaraboz bosslar. O'zlarini leader deb ko'rsatishadi lekin o'z ishlarini umuman qilishmaydi. 6. Madaniyatparvar rahbarlar. Bunday toifa rahbariyat micro managementning oliy cho'qqisiga chish bilan birgalikda ma'lum yemagan madaniyatlar haqida gapirishadi va qandaydur absurt qadiryatlarga asoslangan tizim qurmoqchi bo'laverishadi. Odatda bunday qadiryatlar tor fikrlaydigan miyyalardan chiqgan bo'ladida shu sabab ko'pchilikga yoqmaydi 😁 Eng qizig'i unday raxbariyat hodimlarni aynan shunaqa madaniyat bilan ushlab turmoqchi bo'lishadi :) 7. O'zini universal odam yoki superhero deb biladigan psevdo rahbariyat :) Bunaqa toifa odamlar o'zlarini huddi hamma narsani tushunadigan va hamma narsada fikri tajribasi borday ko'rsatishadi. Ammo biror narsani sal chuqurroq so'ralsa miyyadan 500 error keladi :) Lekin ulardagi superherolik hislati hamma narsani ipidan ignasigacha nazorat qilmoqchi bo'lishadi. Buyoqda nafaqat micro managment bor balki har qanday yangilikdan xabardor bo'lishni hohlashadi. 8. Sodiqlikni so'rab hiyonat qiladiganlar. Bunday isonlar sizdan sodiqlik kutishadi ammo joyi kelganida sizni hurmatizga tupurishadi yoki oyoq osti qilishga urnishadi. Lekin juda kerak paytingiz rossa paxta qo'yishadi 😁

Yaqinda kerneldagi CPU perfomance haqida o'qigan edim. U yerda aynan CPUdan foydalanish configlari cache, frequency va yana b
Yaqinda kerneldagi CPU perfomance haqida o'qigan edim. U yerda aynan CPUdan foydalanish configlari cache, frequency va yana boshqa shu mavzudagi configlar haqida yozigan. Xozir esa bir loyihada jiddiyroq alert keldi aynan CPU usage masalasida. Lekin qiziq tomoni shundaki unaqa load yo'q yani resurslar yetarli. Lekin so'ngi 3-4 oylik o'zgarishlardan kegin negadir shunday holalat kuzatilyabti... Kegin shu masalaga qiziqib qoldim :) Eng birinchi latencyni xisobladim va ko'rsatkichlar ancha baland. Doyimiy shunday (Lekin negadir hechkimga qiziq emas :) Muhimi ishlayabti... ) Kegin esa trafficni tekshirdim traffic ham ancha kam. Memory ham kamgina ammo CPU usage katta :). Project ham nodejsda emas ammo tushunganimcha source bilan tanishib chiqdim :) U yerda ham hech qanday shubxali narsalar yo'q, infinity loops, cpu intensive tasks, etc, Kegin DB querylani analiz qilib ko'rdim... DB ham shunchaki standelone querylar deyarli joyda indexlar ham. Monitoringdagi holatlar esa Faqatinga DB emas hammaga negadir kop CPU kerak bovoti :) Kegin esa sekin `sys`ga kirdim va.... scaling_governor ondemand bu holatda chastota N ms davomida CPU ga task berilgan bo'lsa cpu active bo'lmagan holatda chastota pasaytiriladi. Qisqaroq etganda full perfomance ishlamaydi :) Kegin shunday loop qaytarilaverib yuqoridagi kabi holat bo'lishi mumkin :) Bunaqa holat juda kam bo'ladi tog'ri. Ammo shu payitgacha o'sha muammoni hechkim hal qilmagan va qandaydur trash provider ishlatishadi 😅 PS: TInchgina cloudga o'tish kerak tezroq. On premise infrada chirib ketyabman :( QIziq bo'lsa: https://www.kernel.org/doc/html/latest/admin-guide/pm/cpufreq.html

Xozirchi ? Fikrimcha endi qiziqishlarim ancha aniqlashdi. Shu sababdan yuqoridagi kabi researchlar uchun kamroq vaqt ajrataman. Sababi prioritetlar o'zgardi. Hamma narsa rivojlanyabti biz ham rivojlanishimiz kerak... Ammo rivojlanish protsessini tezlashtirishning eng birinchi sababi bu aynan nima hohlayotganingizni aniq bilish. Shunda roadmaplar ham kerak bo'lmaydi fikrimcha. Ammo buni bilish ham unchalik oson emas ekan :) So'ngi hulosa: Yuqoridagi sohalarning hammasida ham yaxshi ekspertizaga ega emasman. Shu sababdan ham Man oddiy engineerman. Ularning hammasida ham professional ishlamaganman va fullstack ham emasman. Shuncha vaqt sarflab yuqoridagi foydalarga erishdim va eng muhim joyi endi qayerga qarab ketishim kerak ekani aniqligida :) Undan tashqari keginchalik yana fikrlar o'zgaradigan bo'lsa aynan nimalar qilmaslik qaysi eshiklarni ochmaslik haqida yaxshi tajriba oldim faqat o'zim uchun va o'ylaymanki bu kelajakdagi rejalarda aniqlikni oshiradi :) Qiziqishdan boshlangan narsalarning bazilari qiziqishlar so'nishi bilan yakunlangan bo'lsa bazilari professionalizmga olib bordi.

Taxminan 2-3 yilcha oldin qayerdandir g'oyalar paydo bo'lib birqancha rolelarni ko'rib chiqgan edim. 1. DevOps Engineer 2. Solution Architect and Software architect 3. SRE(Site Reliability Engineering) 4. Systems engineer(Operativ yo'nalishdagi). 5. Developer advocate 6. Software engineer faqat boshqa stackda. 7. System engineer(Software engineering yo'nalishidagi) 8. Managment va yana birqancha gumanitar yo'nalishlar 😁 Yil davomida asosan backgrounda yuqoridagi role va responsiblitylar bilan tanishdim. Qaysi role nima uchun javob beradi. Nimalar bilan shug'ullanadi va ma'suliyat doirasi qanday. Yana eng qiziq joyi qanday challengelar bo'ladi ? vahakazo juda ko'p savollar. Bunday qilishimga asosiy sabab aynan o'sha vaqtda kamroq challengelar bo'lgani edi. Shu sababdan migration haqida o'ylagan edim. Ayniqsa o'sha payitlar part time devopslik qilib juda katta tajriba olgan edim. Deyarli full automated infrastructurega guvoh bo'lish yanayam qiziq bo'lgan edi. Shu sabab yana boshqa yangiliklarni o'zim uchun kashf qilishni hohlab boshqa sohaga migration qilish bo'yicha research qildim. Eng birinchi maqsad sohadagi perespektiva va challengeni ko'rish bo'lgan edi :) Nima foyda berdi ? 0. Industry haqida katta tassavur berdi. 1. Org structure qayerga qarab ketyabti ? Aynan shu savol doyim qiziq bo'laverar edi. Sababi bazida oddiy backendchining responsibilitylari judayam keng bo'lib ketadi ayniqsa kichikroq kompaniyalarda. Frontenddan boshqa qolgan hamma ishni backendchi qiladi... Yoki ko'pchilik fullstack hohlaydi :). Mandagi qiziqish aynan qanday org sturcture qilingan kompaniyada ishlasam yaxshi degan savol edi... 2. SDLC aslida bu mavzu juda kengayib ketadi ayniqsa loyiha katta bo'lsa. Shu sababdan qilgan researchlarim kompaniyalarda SDLC qanday ekanini tushunishga va onboarding uchun katta boost berdi. 3. Challengelar, sohalardagi muammolar qiyinchiliklarni o'rganish katta tajriba berdi va problem solvingni operativ ishlashni va yana boshqa soft skillarimni oshirishga yordam berdi. 4. Koryeraviy yo'lni belgilash. Eng muhim nuqta shu bo'ldi. Aynan qaysi tomonga qarab ketishim kerakligi va nimalarni o'rganishim haqida juda ko'p narsalarni o'rganib chiqdim. Bu aynan professional rivojlanish uchun juda muhim nuqta bo'ldi desayam bo'ladi :) 5. Eng muhim qismlardan yana biri yuqorida aytganimday dunyo qarash masalasi. Oldinlari biror muammo chiqsa sal tushunarsiz bo'lsa hatto hechqanday g'oyam bo'lmas edi. Xozirda aynan kundalik ishlarim davomida duch keladigan umuman begona muammolarni hal qilish uchun ham ma'lum taxminlar va shubxalar bo'ladi. Muammo codebasedami yoki infradami yoki umuman tizimni o'zida nimadir netomi bular haqida analiz qilish ancha osonlashgan. Bu o'z o'zidan problem sovling timeni oshirdi. 6. Networking, tanishlar ko'paydi. Yuqoridagi sohalar vakillari va qiziquvchilaridan ham tanishlar ko'paydi. Bu esa eng kamida yana ko'plab yangiliklar va bilimlar degani. Ko'pida esa qayergadir referal :) 7. Ko'plab xatoliklar. Bazi qimmatli xatoliklar qimmatli tajriba olib keldi. Xatolar qilaverish esa xatolarni oldini olish uchun nimalar qilish kerakligini o'rgatdi :) 8. R&D research and developmentni o'rgandim. Yana bir holati esa o'rganishni o'rgandim. Qaysi resurs qanday ? Nimadurni qayerdan o'rganay ? Qanday o'rganay ? Umuman olganda o'rganish va bilimni amaliyotda qo'llashga aloqador juda ko'p tajriba oldim :) Yuqoridagi yo'nalishlarni bazilarida o'zimni sinab ko'rgan bo'lsam bazilari bilan shunchaki tanishdim. Yo'q bu holatda o'zimni o'rdak kabi his etmadim. Hali koryeramning birinchi 5 yillgi demak kattaroq dunyoqarash bilan endi deeep dive qilish kerak. Boshida hammasi qiziqishlardan boshlangan edi. Kegin dunyoqarash o'sayotganini sezdim. Shu sabab yana davom qilish juda qiziq bo'ldi.