Programming ∀
Kanalga Telegram’da o‘tish
Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.
Ko'proq ko'rsatish1 354
Obunachilar
Ma'lumot yo'q24 soatlar
Ma'lumot yo'q7 kun
Ma'lumot yo'q30 kun
Postlar arxiv
1 354
Bu birat umri davomida yozishi kerak bo'lgan limitga yetib qo'yibti.
4 Billion If Statements
https://andreasjhkarlsson.github.io/jekyll/update/2023/12/27/4-billion-if-statements.html
1 354
Repost from N/a
K8S
Кубер это конечно хорошо, но не всегда. Очередной пост о том когда не нужен кубернетес.
Есть кейс, когда вы разрабатываете систему которую будете поставлять на сторону клиентов, на их мощности. Почему тут не подойдет развертка приложения в кубере?
1. Придется у всех клиентов разворачивать кубер
2. Если у клиента есть свой то не факт что приложение туда нормально встанет, слишком много нюансов
3. Не все клиенты готовы идти в эту сторону, ведь кубер еще придется обслуживать, что дорого
4. Клиент может не согласится из за своих безопасников
В то же время, поднять сервак с любым линукс дистрибутивом могут почти все клиенты. Нам остается только поднять там несколько контейнеров с приложением, изи)
1 354
Repost from Laziz Abdullaev
Birinchi maqolamiz arXivdan joy oldi: https://arxiv.org/abs/2406.13770 ☕🫖
@lazizabdullaev
1 354
U davrlarni tassavur qilish qiyin.
IDE, Debugger, bo'lmagan. One day of ... Software engineer degan videolar bo'lmagan ))
Kamchilik bo'la turib ko'pchilikga qarshi turib isbotlashgan o'z g'oyalarini.
Software engineer titleni linkedinga yozib olib buyurilgan ishlarni qilib o'tiraverishmagan bu akalar 🙂
1 354
Bu yerdagi hammaga ham havas qilmayman. Masalan Robert Martin bilan ishim yo'q.
Larray, Bill shularniyam qo'shvorishgan listga ular bilan ham ishim yo'q.
1 354
Man havas qilgan ko'p dasturchilar FAANGda ishlashmagan. Ammo FAANG ular qilgan narsalarni ishlatadi 🙂
1 354
Repost from Фронтенд по-английски 🇬🇧 British front-end
⭐ Комплимент дня всем вам
Чувак создал то, что Google и Amazon используют по сей день, и получил отказ на работу в эти же компании через 48 часов.
Так что, знайте, если вас не приглашают даже на интервью, значит вы ах*енны! 🔥
1 354
1 oyda minimum 15 TB R/W bo'lar ekan manda 😁
Har hafta restart qilaman laptopni :)
1 354
Shu ish qilinmasa edi...
Kasha tiplar sabab yarim kun umrim o'tdi.
Prikol shundaki aynan o'sha ishni qilgan odam huddi ustimdan kulgandak
Hard refactoringdegan commit qoldirgan ekan. Kattagina ... qilib qo'yib hard refactoring deyilgan... Ha inson xojatxonaga katta energiya sarflaydi... Lekin uni tozalashga 10x ko'proq energiya ketadi....
1 354
Bazi o'nlab man tanigan odamlardan boshqa hammangizga 2 baho.
Tassavur qiling interviewda shunaqa savol berilsa nima qilasiz ?
Endi bu gaplarimdan kegin biroz bo'lsa ham sohasiga qiziquvchilar GPT bilan bo'lsa ham qilib ko'radi.
Qolganlar esa ikkichiligicha qoladi !
~300 view bo'libti. Shularni yarmini olib tashlasak. Masalan uje bilimi yaxshilar va umuman tushunmaganlar. 150ta ikkichi bor ekan kanalimda 🙂
1 354
IQ darajasini programmer darajasi deb bilsangiz bo'ladi va real hayotdagi kabi 3 levelga bo'lib olishingiz mumkin. Hohlasangiz 2ta level qiling ))
1 354
Endi programmer va manager uchun tasklarni assign qiladigan funksiya yozib ko'ring.
Manager uchun shunchaki asssign qilsin va javob qaytarsin.
Programmer uchun esa IQ darajasiga qarab assign qilsin.
Demak birinchi navbatda sizga
Task degan tip ham kerak bo'lar ekan.1 354
Bu joyda Algebric so'zidan qo'rqishingiz shart emas. Qarang qanchalik sodda va oson. Muhim nuqta sizda aniq input va outputlar mavjud. Mazza emasmi ?
Sizni customerlarga task beruvchi dasturingizda ham aniq tiplar bo'ladi va qaysi tipdagi customer ekaniga qarab aniq biror funksiyalar ishlaydi.
DDD misoliga ham mos keladi. Shu o'rinda har bir tipga smart constructorlar qilasiz. Tushunishga ham oson.
1 354
Algebric effectlar mayli. Eng qizig'i shundaki Algebric data types uje bizni hayotimizga kirib kelib bo'lgan.
Masalan typescriptdati Union tiplarni olaylik.
type Programmer = {
status: 'worker';
iq: number;
};
type Manger = {
status: 'worker';
};
type Customer = Programmer | Manager;
Shu ham ADT.
Buning foydasi nima bilasizmi ? Agar shunday qilmasangiz o'ylab ko'ring nima qilar edingiz. Albatta optional field qilasiz.
type Customer = {
status: 'worker';
iq?: number;
}
Endi bizga aynan qaysi customer kelganini doyim teshirib IQ darajasiga qarab task berishimiz kerak. Bunaqa holatda invariantlar juda ko'p bo'lsa bosh og'riqlar ham ko'p bo'ladi.
ADT bilan biz ivariantlarni ham boshqara olamiz. Masalan bizni customer aniq Programmer yoki Manager. Agar yangi tip masalan DevOps qo'shilsa. Yangi tip yasaymiz tamam.