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

Резултати

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

Търсене: #windows11

当前筛选 #windows11清除筛选
Kompyuter Bilimlari | Windows Blog

@kompyuter_bilimlari · Post #6221 · 05.01.2024 г., 10:01

🫣Windows 11 2001-yilda qanday ko'rinishga ega bo'lardi 📅 Agar Microsfot Windows 11 ni 22 yil oldin ishlab chiqqanida taxminan uning dizayni shu ko'rinishda bo'lardi.Bu siz uchun hunuk ko'rinishi mumkin ammo ushbu dizayn 2001-yil uchun supper! Reaksiyani mazasini qochiramiz 🔥 🌐Birinchi raqamli Windows Blog | #windows11

Hashtags

Kompyuter Bilimlari | Windows Blog

@kompyuter_bilimlari · Post #6032 · 24.10.2023 г., 16:20

🫣Windows 11 2001-yilda qanday ko'rinishga ega bo'lardi 📆 Agar Microsfot Windows 11 ni 22 yil oldin ishlab chiqqanida taxminan uning dizayni shu ko'rinishda bo'lardi.Bu siz uchun hunuk ko'rinishi mumkin ammo ushbu dizayn 2001-yil uchun supper! 👉🏼Birinchi raqamli Windows Blog | #windows11

Hashtags

Kompyuter Bilimlari | Windows Blog

@kompyuter_bilimlari · Post #5835 · 19.07.2023 г., 04:31

🫣Windows 11 2001-yilda qanday ko'rinishga ega bo'lardi 📆 Agar Microsfot Windows 11 ni 22 yil oldin ishlab chiqqanida taxminan uning dizayni shu ko'rinishda bo'lardi.Bu siz uchun hunuk ko'rinishi mumkin ammo ushbu dizayn 2001-yil uchun supper! 👉🏼Birinchi raqamli Windows Blog | #windows11

Hashtags

#Windows11 WSA 侧载方式(Dev 适用,正式版未测试但理论能行,无需切换通道以及切换美区) 1、前往 https://store.rg-adguard.net/ 下载 Slow 通道的 "Windows Subsystem For Android" 应用安装包 (或者通过此处分流进行下载) 2、前往 "控制面板 - 程序 - 启用或关闭 Windows 功能" 启用 "Hyper-V" 后重启(补充:据说只启用“虚拟机平台”也是可以的) 3、用管理员身份运行 Powershell 输入命令 "Add-AppPackage -Path <应用安装包路径>" 进行回车 4、等待安装完毕后你就能在开始菜单找到他了,开始尝鲜吧~ !!!当前WSA为测试版,存在 BUG 是非常正常的,建议遇到问题后积极提供反馈给官方!!!

Hashtags

#Windows11 来点传统艺能 微软宣布了 Win11 正式版 Build 22000.194 已知的三个问题(未来可能会出现更多),我们一起来看看: Oracle VirtualBox 兼容性问题 微软表示 VirtualBox 和 Windows 11 之间存在兼容性问题。升级到 Windows 11 后,如果已安装 Hyper-V,则 VirtualBox 计算机将无法访问。微软已经应用了一个更新保护,来阻止使用 VirtualBox 的设备进行更新。微软正在调查这些报告,很快就会发布一个修复程序。用户也可以选择手动删除 VirtualBox 或禁用 Hyper-V,可能需要 48 小时之后才能获得升级。 Intel Killer 网卡问题 微软意识到一些 Intel Killer 网卡存在 Windows 11 问题。在这些设备上安装 Windows 11 可能会导致 UDP 丢包,基于 UDP 的协议将造成性能问题的情况。例如,在线播放视频时,用户可能会遇到网站加载时间较慢的问题。IT之家了解到,该问题将在 10 月 12 日进行的下一次 10 月安全更新中修复。 Cốc Cốc 浏览器兼容性问题 Windows 11 更新会造成越南浏览器 Cốc Cốc 浏览器崩溃,使用该浏览器的用户请不要更新。目前微软官方正计划进行一次大规模的 Windows 11 累积更新,以解决操作系统中存在的问题。

Hashtags

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