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

Резултати

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

Търсене: #gusd

当前筛选 #gusd清除筛选
Илья AGI TV 🤖

@ilia_plasma · Post #223 · 17.10.2023 г., 03:56

🦄#Uniswap вводит дополнительную комиссию в 0.15% за своп основных токенов через Интерфейс сайта uniswap.org Очень последовательное убивание репутации Uniswap, после вброса про #KYC. 👑 На какие токены будет распространяться комиссия: #ETH , #USDC, #WETH, #USDT, #DAI, #WBTC, #agEUR, #GUSD, #LUSD, #EUROC, #XSGD Knowledge Baze: - Первое, что нужно знать пользователю в #DeFi, что фронтенд (сайт) проекта и протокол - это две разныe инфаструктуры. На сайте проекта можно сделать все что угодно и повесить любые комиссии, а на протоколе сделать ничего нельзя (ну кроме как взломать его); - В случае с Uniswap есть два ЛПР - Uniswap Team (команда во главе с Hayden) и Uniswap Governance (ДАО протокола); - Финансовые потоки и сами проекты никак не связаны друг с другом. Uniswap Team не имеет влияния на протокол, а только разрабатывает его новые версии и поддерживает сайт uniswap.org, а Uniswap Governance через токен и голосование может вводить комиссии и управлять самим протоколом. Ситуация с комиссиями: Uniswap Governance (DAO) уже давно пытается ввести комиссии на уровне самого протокола, для сбора доп.денег в токен UNI и treasury протокола. Постоянно обсуждаются такие инициативы, но дело с мертвой точки не двигается. Тут есть несколько проблем: - комиссии, которые мог бы собирать протокол - крошечные и не повлияют никак на поддержку миллиардной капитализации $UNI токена; - увеличивая комиссии протокола, провайдеры ликвидности начинают получать меньше дохода, что делает юнисвоп менее привлекательным чем другие DEX и может в долгосроке дать “капитальную течь”; - нет налоговой регуляции в США для такого типа распределения в DeFi, это не дает возможности американцам правильно считать capital gain и taxes. А вот как раз комиссий на фронтенде, которые забирает себе юрлицо Uniswap, как доход со свопов, ввести не представляет никакой сложности. А что делают конкуренты: 🦄#1inch собирает комиссии используя новый инструмент Fusion (~0.5%) 🦊#Metamask в своих приложениях и расширениях собирает до 1% комиссий за своп - самый невыгодный курс обмена на рынке DEX, вообще не рекомендую там свопать .. и не забываем про #MEV и сендвич атаки, которые иногда забирают до 100% комиссий с транзакции себе. Как не платить DEXкомиссии в DeFi: Самый простой и надежный способ - это использовать агрегатор HyperDEX, который работает напрямую через контракты #Uniswap (минуя любые доп.комиссии) и при этом дополнительно роутит ваши транзакции через пуллы различных дексов с наилучшей ликвидностью, что автоматически гарантирует вам лучший результат за своп. Pro Tips: Для защиты от MEV ботов и атак жетально использовать приватные RPC, например RPC от Ethermine и Flashbots. Устанавливаются вручную в ваш кошелек. 🔥 Рынок #DEX движется сейчас в двух направлениях - с одной стороны есть краткосрочные игроки, которые снижают комиссии и вознаграждают LP своими токенами (такие DEX в долгосрочной конкуренции всегда умирают) и есть #Uniswap который плавно внедряет комиссии и которые позволяют ему построить стабильный кеш флоу на долгие годы и пережить любых агресcивных конкурентов.