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

Резултати

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

Търсене: #transmission

当前筛选 #transmission清除筛选
XP Digital Lab

@rocCHL · Post #9273 · 28.01.2026 г., 04:03

开源 BT 下载器 Transmission 4.1 全面升级:支持 IPv6 与顺序下载,强化远程控制与流媒体支持 最新的 4.1.0 版本。升级重点是网络协议和性能优化。新版降低 CPU 和内存占用,减少不必要的堆内存分配,并优化节点通信延迟。升级包括µTP 协议下载效率、IPv6 和双栈 UDP 追踪服务器支持、BEP-7 规范的旧式追踪器兼容等。用户可以通过 settings.json 配置文件自主设置 µTP 与 TCP 传输协议的优先级。新功能包括顺序下载模式,远程控制接口升级至 JSON-RPC 2.0 标准、节点流量统计、下载进度字节数等数据字段,以及任务完成即时校验选项和 Web 界面增加强制校验本地数据功能。 标签:#Transmission Created by RocM 官方频道:@rocCHL 官方群组:@roctech 官方合作:@rocmmbot

PT风向旗

@Ptfxq · Post #717 · 27.08.2024 г., 09:29

#AnimeBytes#AB#Transmission We have taken a very hard decision to disable Transmission in version 4.0.6 due to outstanding bug where announces are seen as failed and retried consequently against tracker, increasing load on it. You can follow the issue as reported on GitHub. Please note that this is unrelated to recent issue with libcurl crashes, this is a logical bug in how client handles announces to tracker. We recommend you downgrade to 4.0.5 which does not exhibit this behavior. 小编注:同样的 4.0.6 问题,虽然 BLU 与 HDB 公告说会恢复此版本,但建议各位直接跳过此版本。

PT风向旗

@Ptfxq · Post #704 · 11.08.2024 г., 02:00

#HDBits#HDB#Blutopia#BLU#Transmission BLU: Transmission 4.0.6 最近被临时禁用,原因是 curl 更新带来的一些问题。具体可以参看:https://github.com/transmission/transmission/issues/7035 现在 curl 的问题解决了,所以站点会在几周内取消对 tr4.0.6 的禁用 如果任何用户因为 tr4.0.6 的问题导致吃了 HnR,请开一个 ticket HDB: 和 BLU 一样的临时禁用,也会在几周内取消对 tr4.0.6 的禁用 小编再次友情提示:没事不要更新客户端