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

Резултати

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

Търсене: #dns

当前筛选 #dns清除筛选

📍#DNS Super dns ( Am tunnel )⚡️ ⭐️همه اپراتورها _ فرکانس 1.3.5 udp://8.26.56.26 udp://64.6.64.6 udp://64.6.65.6 udp://198.101.242.72 udp://198.101.242.73 🔵همراه اول – فرکانس 2.4.5 udp://217.218.26.78 udp://77.88.8.1 udp://77.88.8.8 udp://195.46.39.39 udp://8.26.56.26 🟡ایرانسل – فرکانس 1.3.5 udp://8.8.8.8 udp://8.8.4.4 udp://1.1.1.1 udp://1.0.0.1 udp://208.67.222.222 💜رایتل – فرکانس 2.4.6 udp://208.67.220.220 udp://9.9.9.9 udp://149.112.112.112 udp://4.2.2.2 udp://216.146.36.36 🔵مخابرات _ فرکانس 1.3.5 udp://8.26.56.26 udp://64.6.64.6 udp://64.6.65.6 udp://198.101.242.72 udp://198.101.242.73 😎@ITSecurityComputer

Hashtags

昨天 GFW 屏蔽了境外非域名的 DoH/DoT,导致 Clash 无法解析域名,从而影响代理连接。 问题分析 Clash 的 DNS 策略通常使用 fallback 解析非中国 IP,但当 Clash 需要访问代理节点时,首先要解析节点的域名。如果 fallback 配置的 DNS 服务器全是被封锁的境外非域名 DoH/DoT,或者这些服务器不可用,解析就会失败,导致无法获取正确的 IP,进而使节点连接超时。 一些机场的 Clash 配置中 fallback 只包含境外 DoH/DoT,或者包含了部分不可用的 DNS 服务器,这会导致解析异常,影响网络速度,特别是直连机场的用户,因为他们的节点几乎全是境外 IP。 ⸻ 解决方案 1. 启用 Clash 的 DNS 覆写功能(适用于 Mihomo 内核) • FlClash: 进入 工具 → 覆写 → DNS → 覆写 DNS,然后重启 FlClash。 • Clash Meta: 进入 设置 → 覆写 → 策略 → 使用内置,启用 DNS 覆写。 • Mihomo Party: 该软件默认开启 DNS 覆写,无需额外设置。 2. 修改 Clash 配置(适用于 Clash Verge、Clash for Windows 等非 Mihomo 内核) • 手动编辑订阅配置: • 找到 DNS 配置部分,将 enable: true 改为 enable: false。 • 替换 fallback DNS 服务器,避免使用境外 DoH/DoT,可以改为国内可用的 DNS(如 114.114.114.114 或 223.5.5.5)。 • 由于机场的订阅更新可能会覆盖修改,建议暂时关闭订阅更新,等待机场修复配置后再开启。 • 删除不可用的 DNS 服务器,减少解析延迟。 3. 考虑更换代理软件 如果仍然受影响,可以尝试 V2Ray 系列(如 v2rayN、V2Box)或 Sing-box 内核 的代理工具,这些软件可以绕过 Clash 的 DNS 解析问题。 一些可以用也比较快的境外 #DNS / DoH: HiNet 中华电信 DNS: 168.95.1.1 168.95.192.1 OpenDNS: 208.67.222.222 208.67.220.220 DoH: https://doh.opendns.com/dns-query AdGuard DNS: 94.140.14.14 94.140.15.15 境内的建议: 阿里云: https://dns.alidns.com/dns-query 腾讯云: https://doh.pub/dns-query 消息参考: https://t.me/jichangtj/1053

Hashtags

电竞红单作业推荐-中文频道

@dianjingtuijian01 · Post #9395 · 16.04.2026 г., 09:48

LCK 韩国冠军联赛 - 第1-2回合 #DNS 对战 HLE BO3 2026-4-16 18:00 全局获胜: HLE 地图比分: 0-2 地图让分: HLE-1.5 地图大小: 小于2.5 ------------------------------------ LCK 韩国冠军联赛 - 第1-2回合 #DNS 对战 HLE BO3 2026-4-16 18:00 第一局获胜:HLE 击杀让分: DNS+10.5 击杀大小: 小于29.5(重心) 时间大小: 小于31 第一滴血: HLE

Hashtags

电竞红单作业推荐-中文频道

@dianjingtuijian01 · Post #8766 · 23.02.2026 г., 08:26

LCK CL 韩国挑战者联赛 启航赛 #DNS.C 对战 NS.EA BO5 2026-2-23 17:00 全局获胜: DNS.C 地图比分: 3-2 地图让分: DNS.C+1.5 地图大小: 大于4.5 ------------------------------------ LCK CL 韩国挑战者联赛 启航赛 #DNS.C 对战 NS.EA BO5 2026-2-23 17:00 第一局获胜:DNS.C 击杀让分:DNS.C+3.5 击杀大小: 大于30.5 (重心) 时间大小:大于32 第一滴血:DNS.C

Hashtags

123•••78
ПредишнаСтр. 1 от 8Следваща