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

Резултати

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

Търсене: #node

当前筛选 #node清除筛选
Doriya Network

@Doriyanet · Post #351 · 21.11.2025 г., 23:21

#node 新家宽来啦! HKG 08 - HGC Global Communications Limited 可能会成为以后的主力落地之一,带宽&机器完全独立,还有做些特别的自动化 目前使用它的入口有 深圳移动/广州移动/襄阳多线 Speedtest

Hashtags

Doriya Network

@Doriyanet · Post #350 · 16.11.2025 г., 05:51

#node 入口合并啦! 苏州移动CMI N2 将完全取代 苏州移动 倍率从 x1.5 下调至 x1 ,命名变更为 "苏州移动N2" 原苏移N2公告: 相较于原有的苏州移动,至HKG延迟降低30ms(-50%),至JPN延迟降低15ms(-23%) 并且丢包率大幅度降低 *工作将在两周内完成,老旧的端口会在2026年后完全停止,您需要在此前进行订阅更新

Hashtags

Doriya Network

@Doriyanet · Post #348 · 31.10.2025 г., 14:17

#node 入口割接通知 广州移动 & 深圳移动 将在凌晨 2:00 进行扩容,预计断线2hrs *因需要进行物理操作,所以此次割接时长较长,以后的长割接通知都会发在主频

Hashtags

Doriya Network

@Doriyanet · Post #347 · 05.10.2025 г., 07:43

#node 新入口来啦! 广州移动 - 5gbps 相较于之前升级跨网核心的苏州移动,广州移动对于电信的优化从可以跑变为跑的好 目前/将来使用它的落地将有 HKG 01 / HKG 04 / HKG 06 / SGP 03 / SGP 05 国庆优惠进行中 / Speedtest(测试端为电信)

Hashtags

Doriya Network

@Doriyanet · Post #334 · 23.09.2025 г., 19:00

#node 新入口来啦! 襄阳多线 - 3gbps 搁置许久的非idc多线空缺终于被填补,宿迁的继任者虽迟但到 目前/将来使用它的落地有 HKG 01 / HKG 07 / JPN 01 / JPN 05 / SGP 03 / SGP 05 Speedtest

Hashtags

Doriya Network

@Doriyanet · Post #333 · 06.09.2025 г., 18:49

#node 新入口来啦! 苏州移动(CMI N2) - 10gbps DoriyaNet是第一个拥有江苏cmin2的机场 它将以“苏州移动 Opt.”的形式出现 倍率同泉州电信 x1.5;相较于原有的苏州移动,至HKG延迟降低30ms(-50%),至JPN延迟降低15ms(-23%) 目前/将来使用它的有 HKG 01 / HKG 06 / SGP 03 / JPN 01 / JPN 03 / JPN 05 Speedtest 这是DoriyaNet的节点测速第一次超过900MB/s

Hashtags

Doriya Network

@Doriyanet · Post #328 · 26.08.2025 г., 10:54

#node LowAudit 低审计节点 来啦! 相较于现有的其他节点 LowAudit 具有更宽松的审计 Bittorrent 等服务已经放开( 邪教网站仍禁用 ) 因美国上线了两个地区,为了使节点排布更简洁,采用了MagicRoute,命名为地区后缀(Phoenix / Los Angeles) Analyze 同时 节点倍率也有调整 泉州电信 下调至 x1.5 十堰联通 Opt. 下调至 x1.5 广州移动 上调至 x1.5

Hashtags

Doriya Network

@Doriyanet · Post #327 · 23.08.2025 г., 15:26

#node 新家宽来啦! Sri Lanka Telecom - LKA 01 斯里兰卡,如果没说的话会不会压根不知道是哪呢 *总之就是开始整小众宝藏地区了,而且并非那种廉价的 "CloudflareNet" ipinfo

Hashtags

123•••10•••1314
ПредишнаСтр. 1 от 14Следваща