fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

Programming ∀

Programming ∀

رفتن به کانال در Telegram

Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.

نمایش بیشتر
1 354
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
اطلاعاتی وجود ندارد30 روز
آرشیو پست ها
Highload snowed )
Highload snowed )

Negadir shu arxitektura haqida o'yllasam shu rasm ko'z oldimga kelaveradi. Topologiyani bilmayman, lekin wikipediyadagi sayoh
Negadir shu arxitektura haqida o'yllasam shu rasm ko'z oldimga kelaveradi. Topologiyani bilmayman, lekin wikipediyadagi sayohatlarimdan qolgan. Qiziq bo'lsa: https://en.wikipedia.org/wiki/Topology

O'zi bu narsadan oldin boshqa kichikroq abstraksiyalarni tushuntirish kerak. CPS style bilan xozircha shu effect-ts da amaliyotda tanishdim. Ammo biroz qiyshiq CPS )) Mani nazarimda FP scopeda bunaqa mavzularni o'rganish ancha oson. Ayniqsa Haskellda, sababi haskellda juda ko'p narsaning implementatsiyasi bor, bekorga haskell tillar orasidagi super pozitsiya demayan )) Masalan Effect-ts misolida effectlar bilan ishlash js communitygacha yetib keldi. Lekin haskell o'zini titkilasangiz anchagina narsalarni ko'rasiz. Abstractioni o'rganish osonroq ayniqsa typesystem hisobiga. Boshqa tillarga tadbiq qilishni ham eplasa bo'ladi. Fikrimcha arxitekturani o'rganishdan oldin abstraksiyalarni yaxshilab tushunib o'rganib olish kerak id funksiyadan boshlang )) Arxitektura haqida ko'p bo'lmasa ham kitoblar o'qiganman, tog'risini aytsam shularni ichidagi narsalarni ancha qismi esimda qolmagan. Buning sababi u yerda ideyalar ko'pku ammo amaliyotlar kam. Mani nazarimda Software architecture o'rganish masalasi hudid R&D, sinab ko'raverasiz va software evalyutsiyasi bo'laveradi. Qadamma qadam o'rganib boraverasiz. Kegin birxil muammolarga qilingan yechimlar abstraktlashtiriladi. Manashu joyida eng muhim mavzu ham abstraksiya ! Yegan yoki yemagan patternlar ham yechimlar ham shunaqa hosil bo'ladi.

Ko’p jschilarsa generator funkiyalardan boshlab miyya siqadi-a 🗿

Readable va Writable streamlarni hamma ayrib beradi lekin hammayam ular qanaqa ishlashini bilmaydi. Albatto default interview
Readable va Writable streamlarni hamma ayrib beradi lekin hammayam ular qanaqa ishlashini bilmaydi. Albatto default interviewchilar haqida ketyabti gap.

This is a list of software and ideas developed or maintained by the OpenBSD project. https://www.openbsd.org/innovations.html

Hullas nigga reklama chiqyabti ? Deb boshimni qotirmaylar, balki o’z boshingizni ishlatib ko’ring bo’lmasa yuqoridagi ikki postni o’qing!

Yana bazi narsalarni yetkazib qo'ymoqchiman. Ko’p qiziq narsalarni tanishlar turli qiziq community va resurslardan olaman yoki olganman. Kanalni maqsadi ham aynan shunaqa narsalarni boshqalarga ham ulashish. Darslik, maqola yana ko’p narsalarni sinab ko’rganman. Ammo xozircha ikki tomonga foydali narsa aynan shu uslub deb bilaman. Uslub va trolling masalasida ham masalan manga doyim ham yoqmaydi doyimiy formallik yoki ideallik. Bazida o'ta formal qilingan contentlar zerikarli ko'rinadi, shu sababdan bunga doyim ham amal qilgim kelmaydi. Fikrlaganimdak bayon qilishga xarakat qilaman. Tog'ri content saviyasi kabi narsalar ham bor, lekin masalaga biroz real qarasak ITda saviyamiz yaxshigina past shunga qanaqadir chiroyli qadoqlangan trashdan ko'ra boricha ulashish afzal deb bilaman. Bazida fikrlarimga qarshi fikrlar ham shunaqa narsalar tufayli, chunki xayotda ham qarama qarshi nuqtadan qaraydigan odatim bor, bazida bu foydali bazida esa chalg'itadi. Bilaman kanaldagi sanoqli odam gap nima haqida ketayotganini tushunadi yoki feedback beradi. Bazilar umuman tushunmagan narsasiga boshqacha fikr bildirishadi. Maqsad hechkim tushunmaydigan narsalarni ulashib o'tirish emas. Bilmaganlarni ulashish, masalan manga zerikarli bo'ladi biror kanalda doyim man bilgan narsani ulashilsa yoki oldin ham bo'lgan mavzular qaytalanaversa shu sababdan juda ko'plab kanal yoki communitylardan chiqib ketganman chunki o'sish bo'lmaydi. O'zim yozgan hamma mavzuda ham katta bilimga ham ega emasman. Masalan FP yoki Haskell mavzularida ham mandan ko'proq narsa biladigan hamkasblar, uztozlar ko'p. Biror mavzuda aslida ular content qilsa juda zo'r, lekin ularda ham boshqacha maqsad, piroritetlar va uslublar. Hamma turli uslubda ma'lumot yetkazadi, muhimi ular shuni qilishi va qila olishi, qilishyabtimi ? ha qilishyabti Rahmat! Biror narsaga ularni majburlash masalsi ham xato sababi har kimning o'z rejasi va maqsadlari mavjud va bu normal holat, shu o'rinda ular ham jim turishmaydi va hechnimani berkitishmaydi. Hamma biror nima qilishidan o'ziga yarasha maqsad va motivi bor. Manda ham shunday, kanalning g'oyasi o'z nomi bilan "Dasturlash hamma uchun" lekin bilamizki hamma ham dasturchi bo'la olmaydi bu esa normal holat. Kanaldan maqsad esa manashu yaxshiroq dasturchilikga targ'ib, chunki ko'p general narsalar deyarli hamma dasturchilar uchun muhim. Ammo mani o'zim hamma dasturlash sohalarini bilmayman bu ham dilema kabi albatta. Lekin turli uslublar, texnalogiyalar, sohalarda doyimo o'xshashliklar mavjud. Aytaylik kanaldagi odamlarni 4/1 qismi postlarni o'qiydi. Masalan ~300ta shu odamlarning 100/1 qismiga aniq yordam bersa ham man maqsadimga yetdim. Shunda qiziq savol keladi: Dasturlash hamma uchun, lekin ~1300 kishidan bor yog'i 3-4 kishi uchunmi content ? Javob: Yo'q content hamma uchun. Lekin hechkimni o'zgartirishga qaratilmagan va shunaqangi statistikaga rozi bo'lgan holatda kanal ishlab turibti va bunday ko'rsatkich xozircha mani qoniqtiradi. Lekin bilamanki bu narsalar ham qachondir aktualligini yoqotadi, lekin xozir aktual ! - Bular bunaqa natijaga arziydimi? - Ha arziydi, yo'q narsadan ko'ra arziydi va mani vaqt sariflashimga ham mos keladi.

Kanalni maqsadi pul topish emas, bloggerlik ham emas. Shunchaki fikr va tajribalarimni ulashish va tekinga. Bu masala biror k
Kanalni maqsadi pul topish emas, bloggerlik ham emas. Shunchaki fikr va tajribalarimni ulashish va tekinga. Bu masala biror kimdan pul yoki boshqa narsa so’ramganman. So’rashga extiyojim ham yo’q. Lekin telegram o’zi reklama tiqyabti, man o’zim ham bu reklamalarga qarshiman. Kanal public va ma’lum darajada obunachilar bor ekani esa vaziyatni yana o’zgartiradi. Hammasini ochirib tashlasam ham manga farqi bo’lmaydi. Lekin kimgadir kanal orqali foydam tegsa, ayniqsa shu ta’lim masalasida foydali bo’lsa doyim hursand bo’laman. Telegram reklamalari esa tradeoff, manga bulardan keladigan pul kerak ham emas lekin ochira olmayabman. Manimcha hammaga mos yechim shu reklamalarga etibor qilmaslik. Man o’zim bilib reklama qo’yayotganim yo’q ahir telegram o’zi chiqaryabti. Boost sotib olishga ham urinib ko’rdim ammo bizni auditoriya soniga nisbatan qimmatroq keldi, yomon tomoni esa buni doyimiy yangilash. Agar bu masalani to’laqonli hal eta oladigan odamlar bo’lsa marhamat bilganlarizni ulashing. Lekin manimcha hammamizga mos yechim reklamalarni ignore qilish. Commentsda reklamani report qilyabsizlar va manam bilaman shunga nisbatan aytdim yuqoridagi gaplarni. Umuman olganda telegramdan boshqa narsalarga ko’chib ketish masalasi ancha oldin ko’tarilgan va biz bazi communitylarda sinab ham ko’rdik. Ammo adaptatsiya masalasida bizni regionlardagi insonlar juda konservativ qarashadi va bu masalalarda ko’p narsa standart bo’lib qolgan. Bu esa o’z o’zidan rivojlanishga tasir qiladi.

Bazilarda odat bor, tildan tilga texnalogiyadan texnalogiyaga sakrab yuraveradigan. Lekin hech birini tayinli bilmaydi. Ularning eng katta xatolari o'zlarini aldashadi: 1. Masalan default pitonchi va rustni boshladi, aytaylik ownershiplardan ham amallab o'tib oldi. Lekin biror loyihalarad qatnashmasdan CVga rust qo'shib oladi. 2. O'sha pitonchi rustda ham pitonda yozgandaka code yozadi. Optioni ifda tekshirish masalan. Hullas rust idiomaticsni umuman bilmaydi yoki tushunmaydi. 3. Study project tanlashda ham adashgan. Rustni ham CRUD qilib o'rgangan. Yana boshqa qalashib ketgan xatolar bor. Shu sababdan aniq maqsad bilan o'rganish va maqsad o'zgarmasligi kerak. Shunda o'sha narsani issig'iga ham sovug'iga ham sabr qilib natijaga chiqiladi. Bo'lmasa yarim yo'lga kelmasdan tashlab ketiladi. Haskellni juda intuzyazm bilan boshlab, monadlarga bormasdan tashlab ketadiganlarning asosiy muammosi shu maqsadsizlik. Kegin yurishadi, haskell akademik til o'rganishga qiyin yana birnimalar deb. Lekin aka ketingiz chidamabtiku desangiz xafa bo'lishadi. Hulosa: 1. Maqsad bilan o'rganing 2. Idiomaticsga amal qiling va buni ham o'rganing. Huddi chet tilini o'rganish bilan ularning madaniyatini o'rgangan kabi, dasturlash tillari bilan ularning madaniyatini ham o'rganing. 3. Ko'proq code yozing.

Bunaqa narsalarga extiyoj sezmasangiz o'rganishdan manfat bo'lmaydi. Extiyoj sezish uchun esa yuqoridagi postlarda takidlaganimdan kichik abstraksiyalarni o'rganishdan boshlash kerak. Shu bilan birga testlar ko'p yozish kerak. Kegin tushuna boshlaysiz testlaringiz qayerdadir befoyda, aqli yetmayabti. Formal software design uchun oldin software designi bilish yoki tushunish kerak, SD esa yuqoridagi postlarda aytilganidak abstraksiyalardan iborat.

Practical Alloy A hands-on guide to formal software design https://practicalalloy.github.io/

Nega ekanini tushunmaganlar uchun shu threada yozilgan. https://stackoverflow.com/questions/1653340/differences-between-fork-and-exec

Biz bilgan va sevgan nohubni prosto execvp() ga o’rab qo’yishgan ekan errorlarni handle qilib. Shu payitgacha daje nohubni notog’ri ishlatgan ekanman blyaaa alam qilyabti. https://github.com/coreutils/coreutils/blob/master/src/nohup.c#L217

Undan ko'ra docsga chiqmagan liblarni yozish kerak. API docsdan titkilab o'tirmasdan docsdan o'qib olinaveradi shunda begineerlarga ham oson. Expiremental apilarni to'g'irlash kerak. Stabilizatsiya qiliinsa yaxshi fichalar va osonlik bo'ladi ayniqsa platform wrapperlarda. Yo'q guys biz api liblar qo'shamiz ! Tipichniy js ekotizimi 😏

Wth maynavozchilik blyat, ai ga balo bormi. Shunga aytamanda jschilar odam bo'lmaydi deb.
Wth maynavozchilik blyat, ai ga balo bormi. Shunga aytamanda jschilar odam bo'lmaydi deb.

Haskellistlarni elita deydiganlarni o’zi senior software engineer yozib olgan. Bu huddi qora tanlilar tomonidan oshirib yuborilgan anti natsizmga o’xshaydi.

Objectlarni cast qilib yoki bo'lmasa override qilib o'tirishni istamaganim uchun map funksiyalarni alohida nomladim. Bunaqa strukturani bemalol o'zingiz o'zgartirib olishingiz mumkin lekin transformation buzulmasa bo'lgani. Man adashib Listni array qivoribman (( Aslida linked list bo'lishi kerak edi. Arraydagi map ham juda yaxshi misol masalan 10 ta elementlik array oladi ichidagi itemlarni hohlaganicha trasnform qiladi lekin mapdan 10ta elementlik array qytadi )) Ideya juda sodda lekin usefull yani ko'p ishlatamiz ayniqsa container strukturalarda.

Yanayam tushunarli bo'lishi uchun TS misolida. Lekin noiselar bilan )) Lekin bir narsa qolib ketgan )). O'sha qolib ketgan na
Yanayam tushunarli bo'lishi uchun TS misolida. Lekin noiselar bilan )) Lekin bir narsa qolib ketgan )). O'sha qolib ketgan narsani o'zingiz implement qilib ko'rsangiz ajoyib bo'ladi.