TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 5 подобни публикации

Търсене: #muammo

当前筛选 #muammo清除筛选
KOMPYUTER AKADEMIYASI

@Kompyuter_Akademiyasi · Post #7244 · 14.09.2025 г., 14:15

📶 "Подключено, без доступа к интернету" — nega shunday bo‘lishi mumkin? #muammo / #internet ⚠️Agar sizning qurilmangiz Wi-Fi tarmog‘iga ulangan, lekin internetga kira olmasa, sabablar quyidagilar bo‘lishi mumkin: • Provayder tomonda muammo – Kabel uzilgan, texnik xizmat ishlari ketmoqda yoki siz to‘lovni o‘z vaqtida bajarmagansiz. • Limitlar yoki toʻlovlarda cheklovlar – Trafik limiti tugagan, provayder sizning sessiyangizni bloklagan bo‘lishi mumkin. • Routerda yoki yo‘riqchida texnik nosozliklar – Qurilma ishlamay qolyapti, kabel noto‘g‘ri ulangan, WAN-portda muammo. • Noto‘g‘ri tarmoq sozlamalari – IP yoki DNS avtomatik sozlanmagan, DHCP xizmati ishlamayapti. • Qurilmada yoki routerdagi nosozliklar – Wifi-drayver eskirgan, routerdagi kanallar to‘lib ketgan, signal zaif. ✅ Yechimlar: • Router va qurilmani qayta yoqish🔄 – Ko‘pincha oddiy restart muammoni hal qiladi. • Kabel va WAN portini tekshirish🔌 – Kabel uzilmaganmi, bo‘shab qolmaganmi? • Tarmoq sozlamalari⚙️ – IP va DNS avtomatik olish rejimiga qo‘yilganmi? • Boshqa qurilmada tekshirib ko‘rish📱💻 – Agar faqat bitta qurilmada ishlamasa, muammo shu qurilmaning sozlamalarida. • Provayder holati📞 – To‘lovni o‘z vaqtida qilganmisiz, texnik ishlar bormi? ©️Manba va muallif @kompyuter_akademiyasi

IT Masters

@ITmastersuz · Post #12425 · 19.09.2025 г., 15:20

📶 "Подключено, без доступа к интернету" — nega shunday bo‘lishi mumkin? #muammo / #internet ⚠️Agar sizning qurilmangiz Wi-Fi tarmog‘iga ulangan, lekin internetga kira olmasa, sabablar quyidagilar bo‘lishi mumkin: • Provayder tomonda muammo – Kabel uzilgan, texnik xizmat ishlari ketmoqda yoki siz to‘lovni o‘z vaqtida bajarmagansiz. • Limitlar yoki toʻlovlarda cheklovlar – Trafik limiti tugagan, provayder sizning sessiyangizni bloklagan bo‘lishi mumkin. • Routerda yoki yo‘riqchida texnik nosozliklar – Qurilma ishlamay qolyapti, kabel noto‘g‘ri ulangan, WAN-portda muammo. • Noto‘g‘ri tarmoq sozlamalari – IP yoki DNS avtomatik sozlanmagan, DHCP xizmati ishlamayapti. • Qurilmada yoki routerdagi nosozliklar – Wifi-drayver eskirgan, routerdagi kanallar to‘lib ketgan, signal zaif. ✅ Yechimlar: • Router va qurilmani qayta yoqish🔄 – Ko‘pincha oddiy restart muammoni hal qiladi. • Kabel va WAN portini tekshirish🔌 – Kabel uzilmaganmi, bo‘shab qolmaganmi? • Tarmoq sozlamalari⚙️ – IP va DNS avtomatik olish rejimiga qo‘yilganmi? • Boshqa qurilmada tekshirib ko‘rish📱💻 – Agar faqat bitta qurilmada ishlamasa, muammo shu qurilmaning sozlamalarida. • Provayder holati📞 – To‘lovni o‘z vaqtida qilganmisiz, texnik ishlar bormi? ©️Manba va muallif @kompyuter_akademiyasi

Suxrob Xurramov | Blog

@suxrobblog · Post #513 · 02.04.2025 г., 12:04

UX dizayn ortidagi haqiqat... UX dizayn – bu faqat chiroyli ko‘rinish emas, balki foydalanuvchi ehtiyojlariga moslab ishlab chiqilgan tizimli yondashuv. Har bir tugma, sahifa oqimi, joylashuv — bular ortida logika, tahlil va tajriba yotadi. Yaxshi UX dizayn bo‘lsa: 1. Platformaning struktura va navigatsiyasi aniq bo‘ladi, 2. Foydalanuvchi chalkashmaydi, 3. Dasturchi aniq yo‘l-yo‘riq bilan ishlaydi, 4. Ishlab chiqish jarayoni tezlashadi, xatolar kamayadi, 5. Va nihoyat, mahsulot muvaffaqiyatli chiqadi. Shuning uchun UX dizayn — sarmoya hisoblanadi. Va bu xizmat arzon bo‘lishi kutilmasligi lozim. Chunki u platformaning asosiy poydevorini tashkil qiladi. UX bo‘lmasa nima boʻlardi: — Foydalanuvchi chalkashadi: sayt tushunarsiz bo‘ladi; — Dasturchi yo‘nalishsiz ishlaydi: strukturani tuzishga qiynaladi va yana ham koʻproq toʻlov soʻraydi. — Koʻproq vaqt sarflanadi: Kutilgan natijaga erishish uzoq vaqt talab qilishni boshlaydi. Qisqasi: UX yo‘q joyda, muammo tug‘iladi. Startup va bizneslar UXʼsiz zararga tushishganliklari haqida kelgusi postlarda yozaman. @suxrobblog #ux#mavzu#muammo

Suxrob Xurramov | Blog

@suxrobblog · Post #435 · 13.02.2025 г., 15:44

Five Why (Besh nima uchun) texnikasi Bu muammoning asl sababini aniqlash uchun ishlatiladigan tahlil usuli. Bu metodika Sakichi Toyoda tomonidan ishlab chiqilgan va Toyota ishlab chiqarish tizimida keng qo‘llanilgan. Five Why qanday ishlaydi? — Ushbu usul muammoni chuqur tahlil qilish uchun "Nima uchun?" savolini besh marta berish orqali asosiy sababni topishga asoslanadi. Har bir javob keyingi "Nima uchun?" savoliga yo‘l ochadi. Misol uchun muammo:Mijozlar veb-saytdan mahsulot sotib olmayapti. 1. Nima uchun? – Chunki ular to‘lov jarayonini yakunlamayapti. 2. Nima uchun? – Chunki to‘lov formasini to‘ldirish juda uzoq davom etmoqda. 3. Nima uchun? – Chunki forma juda ko‘p maydonlarni talab qiladi. 4. Nima uchun? – Chunki biz mijozlardan keraksiz ma’lumotlarni ham so‘rayapmiz. 5. Nima uchun? – Chunki biz foydalanuvchilar tajribasini optimallashtirish ustida ishlamaganmiz. Natijada asosiy muammo kelib chiqdi – foydalanuvchi tajribasi yaxshi optimallashtirilmagan, shuning uchun to‘lov jarayoni murakkab bo‘lib qolgan. Endi yechim sifatida to‘lov shaklini soddalashtirish tavsiya etiladi. Bu metod har xil sohalarda – biznes, dizayn, muhandislik va menejment kabi sohalarda qo‘llaniladi. @suxrobblog #fivewhy#ux#muammo

Suxrob Xurramov | Blog

@suxrobblog · Post #1176 · 18.10.2025 г., 15:57

Murakkab hayotni yanada murakkablashtirmang. Yechimlarda maksimal minimallashtirishga harakat qiling. "Bu element nega kerak, shuni qo'ymasa nima bo'ladi..." degan savollarni o'zingiz va mijoz (kompaniya)ga bering. Userni o'zini muammolari ko'p sizni va mijozingizni xohishini deb, yanada murakkablik ichiga tushib qolmasin... @suxrobblog » #muammo#murakkab#yechim