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 подобни публикации

Търсене: #icn

当前筛选 #icn清除筛选
Host Testing and evaluation

@HostEvaluate · Post #909 · 29.01.2026 г., 15:14

#ISIF#KR#ICN Host Provider: ISIF Cloud (KR.GMP-B.2C4G-COM) Location: Seoul, South Korea Specification: 2vCore(EPYC 7B13) | 4GB RAM | 40GB Disk | 1T @ 200Mbps | $19.2 / Mo 感谢商家提供的测试机,这台是中国大陆优化 MAX 的。机器开通后默认安装的是 alpine,记得重装一下。我连上去没仔细看,输入命令提示 bash not found 给我看懵了。CPU 性能还可以,用的不是老咕噜棒子 U。磁盘的随机读写水平能对齐 SATA SSD,顺序读写的 IO 略高于 SSD。后者应该是有缓存。用来跑计算延迟不敏感的的业务也还可以。商家有提供 DNS 解锁(NF, DAZN, Disney+, Prime, TVB.. 等等常用的都有),报告里面是机器 IP 的结果,其实迪士尼、NF、Prime 也都能看。回程路由,电信走 CN2,联通移动走 CMIN2。商家提供了 /56 的 IPv6 地址,好评。但是三网回程 HE,我们都在用力的绕美。IPv4 国际路由主要靠 gsl,IPv6 能走到一点 ctcsci 的 retn。商家称后续有增加更多上游链路的意向。联通晚上十一点能跑到 150Mbps。 https://hosteval.mntpaji.com/2026/01/29/Blog/isif-kr-bgpb/

Hashtags

Host Testing and evaluation

@HostEvaluate · Post #863 · 08.04.2023 г., 08:40

#Oneprovider#OneCloud#KR#ICN Host Provider: OneCloud Location: Seoul, Republic of Korea Specification: 1vCore | 1GB RAM | 30GB SSD | 1.5TB @ 1Gbps | $8 / Mo Test IP: 223.165.5.1/24 自己试吧 机器性能给人一种大树挂辣椒的感觉。上游 Ehostict 啥都不解锁。三网 SK 延迟很低但我这没速度,估计是 UDP 会被恰,也可能存粹是太挤了。 https://paste.red/p/b7cb8bcc973b