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 подобни публикации

Търсене: #dom

当前筛选 #dom清除筛选

Друзья, всем привет!👋 Хотим поделиться с Вами прекрасной новостью - в этом году, компании AXELOT исполняется 25 лет!🥳 Представляете?😱 Целая четверть века, которую мы посвятили созданию и развитию своих продуктов, которые сделали нас лидерами рынка автоматизации логистики. Четверть века развития отраслевых компетенций и географии присутствия. И это все для того, чтобы помогать нашим Заказчикам развивать свой бизнес в ногу со временем.🥇 Мы решили с размахом отметить такую знаменательную дату и хотим поделиться своей радостью со всеми! Мы предоставляем скидку 25% на приобретение конфигурации #AXELOT при условии покупки лицензий до 30 июня 2023 года. 👉Все подробности можно уточнить у @Zhdanov_Axelot и @AndreyVolgai #AXELOT#WMS#WOS#TMS#TOS#DOM

Mirracoin Новости

@MirraChannel · Post #243 · 04.12.2024 г., 08:26

#DOM#Bid#Ask#Spread#база 🚀 Глубина рынка криптовалют: ключ к успешной торговле В мире криптовалют понимание глубины рынка (Depth of Market, DOM) является важным инструментом для трейдеров. DOM отображает совокупный объём заявок на покупку (биды) и продажу (аски) по различным ценовым уровням, предоставляя информацию о ликвидности и потенциальных ценовых движениях. 🔍Основные компоненты глубины рынка: 1⃣ Биды (Bid): заявки на покупку актива по определённой цене. 2⃣ Аски (Ask): аявки на продажу актива по заданной цене. 3⃣ Спред (Bid-Ask Spread): разница между самой высокой ценой покупки и самой низкой ценой продажи. Анализируя эти данные, трейдеры могут оценить ликвидность актива и определить оптимальные точки входа и выхода из сделок. Глубокий рынок с большим количеством бидов и асков обеспечивает стабильность цен и позволяет исполнять крупные ордера без значительных ценовых колебаний. ⚡ Факторы, влияющие на глубину рынка криптовалют: 1⃣ Ликвидность: большее количество активных трейдеров повышает ликвидность, снижая вероятность резких ценовых движений при крупных сделках. 2⃣ Спред: узкий спред свидетельствует о высоком интересе к активу и стабильности рынка. 3⃣ Популярность биржи и объём торгов: крупные биржи с высоким объёмом торгов, такие как Millionero, обеспечивают лучшую глубину рынка. 4⃣ Торговые пары: основные пары, например, BTC/USDT, обычно обладают большей глубиной по сравнению с менее популярными. 5⃣ Экономические индикаторы: положительные новости и экономический рост усиливают доверие трейдеров, увеличивая глубину рынка. Понимание и использование глубины рынка позволяет трейдерам принимать обоснованные решения, эффективно управлять рисками и повышать прибыльность торговых операций. 💬 Хотите узнать больше о том, как использовать глубину рынка в своей стратегии? Подпишитесь на наш канал, чтобы получать самые актуальные советы и инсайты! ___________ @MirraChannel😎

Cason's life

@CasonKervis · Post #590 · 12.03.2026 г., 03:31

#优质博文#JavaScript#DOM#前端#新特性 Goodbye innerHTML, Hello setHTML:介绍 JavaScript 新方法 .setHTML() 及其替代 .innerHTML() 并提升 Web 安全性的能力。 引用了 Mozilla Hacks 上的一篇文章 Goodbye innerHTML, Hello setHTML: Stronger XSS Protection in Firefox 148,阐述了 Firefox 148 中加强 XSS 防护的细节。 一篇博客文章 shows the recipe,其中展示了如何利用 .setHTML() 几乎完全消除 DOM-XSS 风险。 AI 摘要:这篇博文重点介绍了 JavaScript 中新推出的 .setHTML() 方法,它是 Sanitizer API 的组成部分,旨在取代传统的 .innerHTML() 方法,从而显著增强网站对跨站脚本 (XSS) 攻击的防护能力。文章指出 .setHTML() 能够作为 .innerHTML() 的直接且更安全的替代方案,并提及 Mozilla 对此功能的完美命名,同时引用了多篇相关技术文章和播客节目,深入探讨了该方法如何“基本消除所有 DOM-XSS 风险”。 author Chris Coyier

GitHub Trends

@githubtrending · Post #15044 · 09.08.2025 г., 13:00

#javascript#capture_screenshots#clone#dom#js#screenshot snapDOM is a very fast and accurate tool that captures any part of a webpage (HTML elements) as images, including styles, fonts, shadows, and even hidden parts like shadow DOM. It can save these captures in many formats like SVG, PNG, JPG, WebP, or canvas, and works without extra dependencies using standard web APIs. You can easily customize the image size, quality, and even exclude parts you don’t want. It handles complex web features and is much faster than similar tools, making it great for quickly creating high-quality snapshots of web content for use in apps or presentations. This saves you time and effort in capturing styled webpage visuals. https://github.com/zumerlab/snapdom