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

Резултати

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

Търсене: #open

当前筛选 #open清除筛选
Coin Sonar

@CoinSonar · Post #243833 · 17.04.2026 г., 20:14

#OPEN | Volume spike (USDT PAIR) 9 times the average volume 162.61K USDT traded in 15 min └Buying vol: 102.02K USDT 🟢 Boost score: 6/10 24h Vol: 1.58M USDT (Binance) Price: 0.2315 (-6.4% in 24h)

Hashtags

#Open Привіт, друзі! Ми хочемо повідомити, що на нашому порталі з'явився новий збір Терміновий збір компресор для ГУР А0656, який потребує вашої підтримки. Традиційно, закликаємо вас підтримати збір фінансово або поширенням! Кожна гривня має значення і наближає нас до ПЕРЕМОГИ! 💙💛 Для швидкого донату ділимось з вами посиланням на монобанку. З повагою, команда HelpUA Foundation. 🔷Web🔶Facebook🔷Instagram🔶Telegram

Hashtags

Cason's life

@CasonKervis · Post #24 · 21.08.2025 г., 07:43

GitHub 博客,讲如何吸引和培养 Z 时代的贡献者 #open-source https://github.blog/open-source/maintainers/who-will-maintain-the-future-rethinking-open-source-leadership-for-a-new-generation/

Hashtags

【 #Open#AI 向有限群体发布网络安全模型,与Mythos展开角逐】 OpenAI正在向特定用户群体推出GPT-5.4-Cyber,该模型旨在发现软件中的漏洞。 该模型将提供给OpenAI“网络安全信任访问计划”(Trusted Access for Cyber)的参与者,初步由数百名用户进行测试。 在OpenAI发布此消息前一周,竞争对手Anthropic公司宣布限量发布名为Mythos的AI工具,该工具专注于识别并利用漏洞。

Hashtags

DPS Build

@dps_build · Post #145 · 06.04.2023 г., 08:53

这几天在学习 langchain 这个工具链,有点像为 llm 开发的 pandas,将上下游各种工具都打通。 听说他们刚刚还融资成功,准备开始产品化。非常快的速度,一切都发生在短短几个月的时间内。 https://github.com/hwchase17/langchain #open#ml

Hashtags

DPS Build

@dps_build · Post #29 · 07.03.2023 г., 10:29

Colossal-AI 是新加坡的 HPC-AI Tech 推出的开源深度学习框架,以高效著称。 For ChatGPT training based on a small model with 120 million parameters, a minimum of 1.62GB of GPU memory is required, which can be satisfied by any single consumer-level GPU. https://www.hpc-ai.tech/blog/colossal-ai-chatgpt #open#ml

Hashtags

PTPP Actions

@PTPPAction · Post #1866 · 29.04.2024 г., 09:47

如何选择 Action 版本下载 首先解释一下 3 个文件: - dev-build-*-zip.zip : zip 格式的插件,适用 zip 方式安装 ✅ - dev-build-*-crx.crx : crx 格式的插件,适用 crx 方式安装 ✅ - build-dist-folder.zip : 构建插件所必要的一些文件,用户不需要关心 ❌ 为什么图一有 3 个文件,图二只有 2 个? - 图二是还没合并的 pr(#open),获取不到构建 crx 的 key,所以没有 crx,也没有 ptpp 维护者确认过,通常不保证稳定性,但是可以提前体验到一些最新最热的 feature。图一是已经合并(#merged)的 pr,经过 ptpp 维护者的确认,也构建了 crx,虽然可能略慢一点点,但是有人 review 过应该会减少一些出现 bug 的可能性。 简而言之:追求最新最热 feature 而且不那么在乎稳定性,并且也不用 crx 的可以选择 @PTPPAction 中 #open 的进行安装。 如果更在乎稳定性也需要 crx 的应选择 @PTPPAction#merged 进行安装。

Hashtags

123•••10•••20•••2930
ПредишнаСтр. 1 от 30Следваща