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

Резултати

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

Търсене: #follow

当前筛选 #follow清除筛选
Find Blog👁发现博客

@FindBlog · Post #565 · 29.12.2024 г., 09:41

鄙人的个人博客已经在 #Follow 上收获 1000 人订阅,也算是一个小小的鼓励,让自己知道有人在阅读和关注你的博客。 大家的博客或者网站收获了多少订阅呢,欢迎大家在评论区分享。 另外, @FindBlog 将重启周报,每周推荐 10 篇博文,绝不拖更!敬请期待。 频道:@FindBlog 群组:@FindBlog_Group

Hashtags

折腾实验室频道

@TossLabChannel · Post #29 · 23.10.2024 г., 04:43

#青龙#follow Follow每日签到脚本 使用教程 1. 青龙面板依赖 (依赖管理->创建依赖) • 选择 NodeJs 类型, 输入名称: axios 2. 引入脚本 (脚本管理->右上角创建) • 根目录新建 Follow_Checkin.js • 拷贝文件对应内容保存 3. 多账号配置 (环境变量 -> 创建变量) • 多账号规则: FOLLOW_ACCOUNT_X X 以 0 开始, 依次添加 例如: FOLLOW_ACCOUNT_0, FOLLOW_ACCOUNT_1, FOLLOW_ACCOUNT_2 • 输入名称: FOLLOW_ACCOUNT_0 • 输入值: 抓取csrf请求头中的整个Cookie 例 // 就是很长不要怀疑 • authjs.csrf-token=xxxxxx; authjs.callback-url=xxxxxx; authjs.session-token=xxxxxxx; ph_phc_EZGExxxxxxxxwEWNL_posthog=xxxxx 3. 配置定时任务 (定时任务->创建任务) • 任务名:Follow每日签到 • 命令:task Follow_Checkin.js • 定时:0 9 * * * 📢 群聊:@TossQL 🎈 频道:@TossQLChannel https://github.com/geekscloud/ql-script

积木别倒

@jimubiedao · Post #552 · 21.03.2025 г., 03:31

Follow正式登录苹果商店 https://apps.apple.com/us/app/folo-follow-everything/id6739802604 via ADAM🍱 🗒 标签: #Apple#Follow 📢 频道: @GodlyNews1 🤖 投稿: @GodlyNewsBot

Akasha Terminal: dev🍃

@AkashaTerminal · Post #2219 · 02.11.2024 г., 16:28

#碎碎念#follow 猫找到了,可以认真分析一波 Follow 的空投了。 这次空投我有 44667 $POWER 相当惊喜,看了一圈对比了一下感觉 Follow 本次空投特别照顾重度用户与开源贡献者与邀请人数多的用户。 1. 鼓励邀请,我的 $POWER 之前每隔 3 天就会生成一个发到我的频道,所以我的邀请码一直是顶着上限发的,没想到能排到这么前(0.01%) 2. 鼓励 Follow 的开源社区,之前用的时候遇到了一些 win 上的 bug 或者想加的功能,由于 Follow 的技术栈正好还比较对我的技术栈,就去 Github Contribution 了一波。数了数大概被合了 6 个 PR,实际上不算是特别活跃的贡献者 hhhh 3. 列表的收益我没留意,不过也是没想到能到 0.07% 这么高。 4. 至于阅读数量、我的订阅数目都满上限了 2333 这个没什么好说就是正常比例。

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