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

Резултати

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

Търсене: #surf

当前筛选 #surf清除筛选
Android Broadcast

@android_broadcast · Post #8731 · 25.02.2025 г., 13:34

Как оживает смартфон: Android на старте 🚀📱 Когда ты включаешь телефон, задумывался ли ты, что происходит внутри? Давай заглянем за кулисы и вместе с Артёмом, Android-разработчиком разберёмся, как запускается система и что скрывается под её капотом. Для тех, кто работает с мобильными технологиями, этот процесс — не просто рутина. Какие этапы преодолевает система от нажатия кнопки включения до появления интерфейса? И как устройство готовится к полноценной работе? Понимание этого процесса критически важно для оптимизации приложений и повышения их производительности. 🔎 Читай статью от сёрфера и узнай: 🟢 Как Boot ROM подготавливает устройство к загрузке 🟢 Как ядро Linux управляет системой и влияет на её стабильность 🟢 Почему Zygote и System Server так важны для Android Статья уже на Хабре! А насколько важны эти знания для каждого, кто работает с мобильными платформами — обсудим в комментариях 👇 #Surf#Android#Разработка

耕读频道

@iGengdu · Post #741 · 16.01.2025 г., 08:09

#浏览器#Surf#推荐 分享一款来自德国柏林的浏览器Surf Surf浏览器最大的特征是:其口号是,让用户处于熟悉生活中心,融合浏览器、文件管理器、AI助手于一体; 其他特征:声称将用户数据、浏览数据、数据库、LLM数据本地存储等;动漫式的理想,希望让AI、电脑、技术等能够为人所用,而不是让信息裹挟人,不希望人迷失在信息洪流中;UI设计特别,功能丰富,提供限量的AI服务,模型包括Claude Sonnet 3.5、Claude 3.5 haiku、ChatGPT 4o等。 以上的图片和视频为Surf浏览器官方宣传视频。 官方网址:https://deta.surf/ 发行说明:这里 ;Surf X账号、蓝天账号、Youtube频道、Discord群组 说明:目前处于申请阶段,可以在官网申请;目前只有PC端的浏览器,下载地址;(我使用Surf浏览器大约1个多月,目前还不太适应,不过,AI服务还比较不错,可以输入自己的AI模型的API Key;我写信给开发者,开发者回复说,给了我5个邀请名额,但我没有找到邀请码的位置;更新:Surf最新版可以轻易地找到邀请码,我分享到耕读群里了,需要的可以看看,也可以自己申请)。 📢频道✈️群组 (耕读)📬投稿

dopingpong

@dopingram · Post #3196 · 25.08.2024 г., 11:19

«Hyena Safari» – альбом группы «Messer Chups» в жанре серф-рок. Оформление: арт-группа Doping Pong, 2005 Включает в себя супер комикс Hyena Evolution, digital art, Doping Pong, 2005, созданный специально для Deluxe издания, выпущенного по всему миру на CD и виниле. Интересная деталь: На лицевой стороне альбома зашифрован ребус «Найди отличия». Найдите 10 отличий между левой и правой стороной обложки Doping Pong для Messer Chups. Ответ-разгадка в последней картинке этого поста. Bonus: Клип для одной из песен с альбома «Hyena Safari» - «Shandor Diabolikov». Оператор: Doping Pong, 2005 https://youtu.be/6q8Zvc0t2M4?si=whXIi1vv-2Xdrdbi #dopingpong#messerchups#surf#rock#hyenasafari

💥Tabla de Remo Inflable ZLX 35 Pulgadas Diviértete en el agua con estilo y comodidad ✅OFERTA: 269.99€ ❌ Antes: 359.99€ 💰Ahorras un 25%🔥 Ideal para todos los niveles de habilidad, diseño estable y seguro 👉 Descubre la libertad de remar #remo#tabla#surf#deporte#descuentos#ofertas#invierno#rebajas 🛰️Oferta publicada en Deporte y Outdoor

💥Conjunto de Cinchas de Amarre Samulee 5 Piezas Asegura tu carga con facilidad y seguridad ✅OFERTA: 6.37€ ❌ Antes: 7.97€ 💰Ahorras un 20%🔥 Mantén tus pertenencias bien sujetas durante tus viajes en invierno 👉 Hazte con ellas ahora y viaja tranquilo #rebajas#cinchasdeamarre#correadeamarre#portabicicletas#surf#kayak#descuentos#cocheymoto 🛰️Oferta publicada en Coche y Moto

12
ПредишнаСтр. 1 от 2Следваща