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

Резултати

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

Търсене: #gfw

当前筛选 #gfw清除筛选

#GFW#APP 今天,Quantumult X 释出了新的TF 版本 v1.0.1(127) 👉 测试内容: - 开启了 Force policy 的分流资源将会在列表中显示对应的 policy Force policy,即强制用自定义策略组替换规则中的策略组名,以解决远端规则和自定义策略组名不对应的尴尬问题 👉 教程地址:传送门 频道:@NewlearnerChannel

Hashtags

📓 Real Spencer Woo

@realSpencerWoo · Post #8 · 08.12.2019 г., 15:54

#GFW#iOS ✈️ 轻量级 iOS 代理 Potatso Lite 全新测试版本 Testflight,速上车,手慢无,不等人。 以下内容拷贝自作者(Twitter @icodesign_me): 加入 Potatso Lite 测试版,无需美区账号,任选以下测试平台之一即可,占用坑位不使用将会被移除测试。 1. TestFlight(苹果官方测试工具,如已满请使用第二个):https://testflight.apple.com/join/NkF46PRd 2. Firebase(Google 提供的测试工具,可能需翻墙):https://appdistribution.firebase.dev/i/JqqGJTLu 体验:App 颜值在线,相对轻量,配置较少,支持订阅,可惜有广告。 📮 Via channel: @realSpencerWoo

Hashtags

WARP+ :几乎无限流量的备用梯子 WARP 是 Cloudflare 公司推出的可以用来保护使用者隐私的一款服务,不懂的话就直接理解为梯子。 WARP+ 是 WARP 的升级服务,本来是需要在 Cloudflare Zero Trust 创建 Team 绑定信用卡才能使用,现在有了能够免费获取的 Key 所以只需要一个账户,再在设置里输入密钥就可以获取无限流量的 WARP+ 服务了。 测试了一下,浏览网页速度不算快,但可以看 1080p 的 Youtube,还有一些网站限制了 Cloudflare 的 IP 访问,只能做备用。 获取无限流量 Key 的 Bot:@generatewarpplusbot 标签:#软件#GFW 链接:https://1.1.1.1/

Hashtags

nodesCatch:我目前知道最方便的节点测速工具 我平时有关注一些机场测速频道,但每个人的网络环境不同,节点速度只有在自己的网络环境测试才能取得最精确的结果。 但我没有那么重的需求,也没有那么多流量,我的目的是找到好用的节点,而不是测速本身,大佬们用的测速软件对我来说都太重了,而且很多工具都需要配置一番。在 Github 上找了很久,也用过很多开源的测速工具,但要么是每次打开都要重新配置,要么就是测速会花很久的时间。 终于我在 Youtube 上找到的这个测速工具,每个节点只花 5s 钟测速,每次测速只需要把 clash 的配置文件拖进去,三两下出结果不墨迹,就适合我这种想随测随用的。但是这个软件并不开源,而且 Bug 不少,比较注重节点安全的请勿使用。 标签:#软件#GFW 链接:https://bulianglin.com/archives/nodescatch.html

Hashtags

小小溪部落

@tribebrook · Post #609 · 09.11.2025 г., 15:14

#网络安全#GFW Kakao Talk 在国内已经解禁了,估计以后上海、深圳、广州等地区也会有条件解禁 Line 或者 WhatsApp。现有技术手段下 GFW 的运作很有可能从阻断变成监视。 🔔 提示:限免,兑换码具有时效性,打开本频道通知,第一时间获取全网资讯!!! 🏠 消息 Via: 小小溪 📰 群组 @homebrook 📢 频道 @home_brook 🤖 解封 | 投稿 Bot:@xia0_bot

EdNovas云

@ednovasyun1 · Post #959 · 09.07.2022 г., 17:28

目前部分专线也要禁止ss/ssr流量转发了,以及移动电信iepl禁止websocket流量 tls流量一大也直接封 v2和tro直连更不用说了 总的来说,目前形势也是异常的严峻 #NEWS#GFW

Hashtags

PT风向旗

@Ptfxq · Post #272 · 14.07.2022 г., 08:30

#GFW#海豹#开放注册 以下内容转自海动保协通告中心 开源 公告放出,反响热烈,得到了很多积极的反馈。有感于此,我们决定再开放一次注册。 • 开注时间:2022-07-15 00:00 - 2022-07-31 24:00 • 注册地址:register.php • 官邀、私邀都正常开放,未能通过开注进站的用户,依然可采用邀请方式入站。 • 允许将此公告转载至 同 PT 直接相关的 论坛。 • 请不要在公共场合泄露站点地址、注册地址。 • 禁止一人多号,注册马甲者会被封禁所有账号。 • 禁止使用任何代理注册,违者封号。 • 禁止使用 ProtonMail 邮箱注册。

12
ПредишнаСтр. 1 от 2Следваща