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

Резултати

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

Търсене: #ss2022

当前筛选 #ss2022清除筛选
Neon-Link通知

@neon_link · Post #12 · 03.03.2025 г., 04:46

机场名:Neon-Link 类别:专线 编号:0075 #Neon-Link #广港专线#SS#SS2022#家宽#不限时#新机场 测评订阅:商家送测 简介与特色: 开业年份:2025年2月18日 在线设备:5个IP 协议类型:SS-2022 此协议部分代理软件如QuantumultX暂不支持 套餐类型:周期性+不限时 常用地区:港,台,新,日,美🏠,德 速度限制:视套餐限制100~500Mbps 解锁情况:如图 延迟与稳定性: 广港三线, 1️⃣ 电信,上乘专线 2️⃣ 移动,顶尖专线 👑 3️⃣ 联通,中等专线 联通入口据最新实测水平有所下降 ️ 入口分布: 电:穗电183 联:穗联58 移:穗移183 ❶ 拓扑显示详细地区有误 ❷ 入口视用户宽带进行DNS智能解析 落地概览: 港DMIT/HGC,台Akari,新Oracle/Eons,日WebHoriz/Akari,美Misaka/ATT,德Misaka ⚠️ 注:当前UDP测试模块出现技术故障,实测UDP全通! 整体评价: 1️⃣ 新开业机场,带宽满足日常使用水平,电/移延迟很优秀。 2️⃣ 入口三网手搓,套餐虽最高限速500Mbps,但在北方也可跑满单线程。落地质量优秀(美国ATT家宽)。 3️⃣ 但联通入口短板。加之无华东入口,导致远离入口地的日美速率严重下降接近不可用水平❗️ 4️⃣ 目前结合折后价格,是为数不多 #甜点价位 (¥0.15元上下/G 且月付≤15元) 的专线小而美之选💡 ⚡️入口临近: 单线程100~500Mb❗️ 多线程400~500Mb ⚡️远离入口: 单线程(三网)100~500Mb❗️ 具有竞争力的套餐: 折后9元100G/月(约0.09元/G) 🎫限时优惠码: 5折优惠码:开业大吉(仅限月付) 7折优惠码:Neon-Link 官网: https://www.neon-link.com 频道: https://t.me/neon_link 群组: https://t.me/neon_link_user ——————————————————————————————————— 海豚测速 致力于为您提供 优质的机场测速和评测服务,帮助您找到最适合您的翻墙机场。 海豚测速群组 @haitunspeed 机场跑路风险难控,建议谨慎选择月付

Cool Scripts

@cool_scripts · Post #643 · 19.11.2024 г., 12:54

Sub-Store 小课堂: 筛选出 Shadowsocks 2022节点 ▎脚本过滤 return ['2022-blake3-aes-128-gcm', '2022-blake3-aes-256-gcm'].includes($server.cipher) ℹ️ 相关内容 Sub-Store 相关教程/脚本整合 #SubStore#Sub-Store #小课堂#tips#协议#协议筛选#筛选#SS#SS2022#Shadowsocks#Shadowsocks2022#过滤#节点