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

Резултати

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

Търсене: #fediverse

当前筛选 #fediverse清除筛选
Libreware

@libreware · Post #1567 · 26.03.2026 г., 22:13

Gomphotherium — the most minimalistic and fast Mastodon client for the terminal. For fans of decentralized networks and console minimalism. It allows you to read the feed, reply to posts, and manage your account without leaving the command line. A true retro vibe for a modern social network. @github via @dcntr #Mastodon#Fediverse#CLI

CXPLAY World

@cxplayworld · Post #6133 · 28.01.2026 г., 06:09

#吐槽 #Cloudflare 又在博客上展示 Serverless Power 了, 这次逮到的是 #Matrix: Building a serverless, post-quantum Matrix homeserver * https://blog.cloudflare.com/serverless-matrix-homeserver-workers/ * https://news.ycombinator.com/item?id=46780837 * https://news.ycombinator.com/item?id=46781516 来回顾一下上一次逮到的同类服务, 是 #Fediverse 实例: (2023.02.08) 欢迎光临 Wildebeest:Cloudflare 上的 Fediverse * https://blog.cloudflare.com/zh-cn/welcome-to-wildebeest-the-fediverse-on-cloudflare/ * https://news.ycombinator.com/item?id=34713064 Wildebeest 代码仓库的最后一次提交是两年前, 实际上代码在博客文章发布之后一个月就停止维护了, 几个月后(2023.07.31)加上了停止维护提示: > ⚠ 本项目已归档,不再进行主动维护或提供支持。欢迎自由分叉此仓库,探索代码库并根据需求进行改造。Wildebeest 项目曾是我们展示技术栈强大功能与灵活性的绝佳机会,也证明了任何人都能利用 Cloudflare 构建涉及多系统和复杂需求的更大型应用程序。 > https://github.com/cloudflare/wildebeest/commit/b1be6a5c49be722e9e55cce7f31dcd510c8343ec 这次有了 AI 加持彻底把概念验证包装成生产级实践, 社区舆论终于爆了 :huaji: via Nostr@cxplay

CXPLAY World

@cxplayworld · Post #6067 · 16.01.2026 г., 17:47

#article#read Fediverse Report – #149 – On Protocol Governance – Connected Places https://connectedplaces.online/reports/fediverse-report-148-on-protocol-governance/ TL;DR #ActivityPub 自 2018 年发布为 W3C 推荐标准之后距今已经过去八年, 现在终于迎来第一次更新工作推进. 本次更新讨论重点是账户数据移植部分: LOLA (Live Online Account Portability) 八年间, W3C 的 ActivityPub 标准给了 #Fediverse 推广的权威背书, 但也由于其工作组的流程和付费准入, 也彻底阻碍了这个协议在实践中及时进行更新, 目前能够有权利直接干涉工作组且活跃于 Fediverse 中的会员居然是 Meta (因为 Threads), 制定了事实标准的 Mastodon GmbH 并不是会员, 而实际软件的开发者在 SocialCG 对新工作组成立的投票上甚至没有任何一位出席. via Nostr@cxplay_clip

Dejavu's Blog

@dejavuBlog · Post #2578 · 18.09.2025 г., 17:05

snac2 用 C 语言写的轻量、简单、快速的 #ActivityPub 实例,和 Mastodon #API 兼容 没有 #JavaScript 和 #Cookie 开源https://codeberg.org/grunfink/snac2 演示 https://snac.bsd.cafe/ 非常轻快的 #Fediverse 自托管方案,占用内存 2MB 左右,对于单用户来说非常友好。理论上 0.5vCPU、256MB RAM(Free) 就可以愉快玩耍了 via: @dejavuBlog@dejavuGroup

Libreware

@libreware · Post #1321 · 29.08.2024 г., 20:23

__ __ _ __ / /_____ ____ / /_(_) /__ / __/ __ \/ __ \/ __/ / //_/ / /_/ /_/ / /_/ / /_/ / ,< \__/\____/\____/\__/_/_/|_| tootik v0.12.0 [https://github.com/dimkr/tootik] tootik is a federated nanoblogging service for the small internet. tootik allows people to participate in the fediverse using their Gemini, Gopher or Finger client of choice and makes the fediverse lighter, more private and more accessible. tootik's interface strips content to bare essentials (like text and links), puts the users in control of the content they see and tries to "slow down" the fediverse to make it more compatible with the slower pace of the small internet. It's a single executable that handles both the federation (using ActivityPub) and the frontend (using Gemini) aspects, while sqlite takes care of persistency. It should be lightweight and efficient enough to host a small community even on a cheap server, and hopefully, be easy to hack on. tootik implements only a small subset of ActivityPub, and probably doesn't really conform to the spec. Changelog: [https://github.com/dimkr/tootik/releases/tag/0.12.0] #Gemini#Gopher#Guppy#Fediverse#ActivityPub

Libreware

@libreware · Post #1473 · 04.07.2025 г., 19:49

Fedistar v1.11.7 => https://fedistar.net Multi-column Fediverse client application for desktop - Supporting SNS - - Mastodon - - Pleroma - - Friendica - - Firefish - - Gotosocial - - Pixelfed - - Akkoma (Unofficial) - - Sharkey (Unofficial) - - Hometown (Unofficial) - - Iceshrimp (Unofficial) - Multiple accounts management - Multiple columns - You can see timelines without sign in - Desktop notification - Streaming update - Send reactions from another accounts - Change column width Changelog: => https://github.com/h3poteto/fedistar/releases/tag/v1.11.7 #Fediverse#Mastodon#Pleroma#Friendica#Firefish#Gotosocial#Pixelfed#Akkoma#Sharkey#Hometown#Iceshrimp @dcntr