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

Резултати

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

Търсене: #digitalocean

当前筛选 #digitalocean清除筛选
VPS简测

@vps_test · Post #70 · 14.05.2023 г., 06:31

DigitalOcean Frankfurt 法兰克福 下行15Gbps,上行2Gbps,用的人较少,欧洲用户选他比较多,国际互连比较强 套京德IPLC直接起飞,超级无敌的落地鸡 #digitalocean#1Gbps#建站

VPS简测

@vps_test · Post #68 · 14.05.2023 г., 06:29

DigitalOcean Singapore 新加坡 下行1.5Gbps,上行2Gbps,带宽较小 电信/联通拉稀,广移可拉 网络不是很稳定,因为APE海缆脆弱,老波及到 #digitalocean#1Gbps#建站

折腾实验室频道

@TossLabChannel · Post #510 · 10.01.2025 г., 14:33

#DigitalOcean#数字海洋#VPS#白嫖 白嫖Digitalocean数字海洋服务器10台VPS 60天 DigitalOcean 是一家总部位于美国纽约的云计算服务商,成立于2011年,提供高性价比和易用的云服务。通过注册新账户并使用 邀请链接 ,可以获得200美元的免费额度,并使用该额度购买VPS实例等服务,最长可使用60天。 注册条件 • 有效邮箱地址:可使用Google邮箱、QQ邮箱等主流邮箱进行注册。 • 支付方式:需要绑定信用卡或借记卡(部分地区支持支付宝)。 • 邀请链接:使用邀请链接注册可获得200美元免费额度。 • 美国VPN(可选):建议使用美国IP注册,以防止账户因地区限制被封。 注意事项 1. 免费额度 :使用邀请链接注册后,获得200美元免费额度,需在2个月内使用完毕。合理规划资源使用,避免浪费。 2. 绑定支付信息 :绑定支付方式时,会产生1美元的预授权金额,之后会退回,不会影响实际账户资金。 3. 机器实例配额 :每个账户最多可创建10个实例。建议不要一次性启动所有实例,以免触发账户限制。 4. 使用VPN :建议在整个注册和使用过程中保持美国VPN开启,避免因IP地区问题导致账户受限。 5. 避免超额使用 :免费额度有效期为2个月,请根据需求合理分配资源,避免额外费用。 通过合理使用DigitalOcean的免费额度,可以在不花费资金的情况下体验其VPS服务。 📢 群聊: @TossIPhone 🎈 频道: @TossIChannel ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ ❗️ 🔘折腾系列频道 - 全面介绍 🔘境外离岸银行教程合集目录 🔘折腾实验室优质Github项目合集

VPS简测

@vps_test · Post #72 · 14.05.2023 г., 06:33

DigitalOcean Bangalore 班加罗尔 最冷门的一个区域,根本没人用,算是我见到过的印度机器中国际互连最强了,到国内三网稳定,延迟大,但是几乎不丢包,优秀的落地,抗DDoS!但是CPU性能特别好,有需要持久计算能力的可以选。 #digitalocean#1Gbps#建站#DDoS防护