Небольшие правки в первой части и программа для связки пары ключей для подписи и домена(имени).1. Исправление первой частиЯ предожил использовать резолвинг имени на хеш для проверки принадлежности ключей домену. "Aккаунтом в эфире можно считать пару публичного и приватного ключей ECDSA, а хеш публичного ключа это адрес аккаунта". "Из сигнатуры и хеша данных мы получаем публичный ключ, считаем хеш публичного ключа и сравниваем его с тем хешем который получили из ENS для ens.eth."…
Ускоряй! (Accelerate). Авторы этого пособия посвятили целую главу архитектуре приложений и тому, как архитектура влияет на эффективность разработки. И вся эта глава крутится вокруг понятие слабой связанности (loosely coupled).Зачем нужна архитектура?Цель использования какой‑либо архитектуры заключается в минимизации избыточного общения между командами. Независимая разработка, без n синков с фронтендерами, девопсерами, дизайнерами, офис‑менеджерами, стажёрами офис‑менеджеров, а также помощникам…
Привет, Хабр! Меня зовут Никита, и я Go-разработчик. В свободное от работы время я интересуюсь платформенной разработкой, а в рабочее — практикую в команде PaaS в СберМаркете. Моя специализация — локальное окружение разработчика и тулинг. Главная метрика, на которую работает моя команда, — Тime-Тo-Мarket, совокупное время, затраченное на разработку фичи от самого начала разработки и до релиза на пользователей. В сложившихся процессах разработки всегда найдется место для оптимизации затрат ресу…
Представьте сайт интернет-магазина, на котором пользователи совершают покупки. Микросервисы, обрабатывающие запросы пользователей, отправляют в kafka сообщения об очередной сделанной покупке. В kafka один топик с одной партицией, из которой читает сообщения микросервис. Этот микросервис формирует историю покупок по каждому пользователю. Однажды одновременных покупок было совершено так много, что история у многих пользователей не обновлялась несколько часов.Почему так произошло и как этого избе…
Я люблю время от времени взять и переделать что-нибудь уже готовое. Цель не в том, чтобы сделать что-то лучше или доказать свою гениальность – я просто ищу опыт. Как получить опыт в разработке сложного инструмента, если ты берешь уже готовые фреймворки и пакеты и просто собираешь из них свое решение? Да, это быстро и часто довольно эффективно, но получаешь ли ты ценный опыт, узнаешь ли о вероятных подводных камнях и начнешь ли ты лучше понимать язык на котором программируешь? Конечно нет. Сраз…
Привет, Хабр!Когда приложения становятся все более сложными и распределенными, и эффективное управление ими требует глубокого понимания происходящего внутри. Мониторинг позволяет нам наблюдать за состоянием приложения, собирать ценные метрики о его работе и предоставлять нам обратную связь в реальном времени. Это помогает в обнаружении и устранении проблем до того, как они станут серьезными. Мониторинг также дает возможность планировать масштабирование и оптимизацию, основываясь на данных, а н…
Хотел бы поделиться интересным решением, которое, уверен, было бы полезно для кооперативов и товариществ.Современные технологии постепенно проникают во все области нашей жизни. Сегодня сложно представить соседей многоквартирных домов или земельных участков СНТ/ДНТ без группового чата в мессенджере. Такие группы удобны для общения, они позволяют оперативно решать вопросы, публиковать объявления, делиться новостями и даже проводить опросы и голосования.Кстати, голосование в мессенджере может име…
В версии Go 1.21, был добавлен новый пакет под названием slices. Этот пакет представляет собой набор функций, которые облегчают выполнение наиболее распространенных операций со слайсами. Пакет появился благодаря добавлению дженериков ранее в 1.18. Все функции в пакете являются обобщенными (или "generics").Что такое generics?Generics - это функции или типы, которые могут работать с любым типом данных. В Go generics были введены в версии 1.21 и они означают, что вы можете написать функци…
Программное обеспечениеПреимущество программного обеспечения заключается в том, что оно может изменяться. Именно поэтому его называют "soft" обеспечение - оно более податливо, чем аппаратное обеспечение. Отличная команда инженеров должна быть замечательным активом компании, создавая системы, которые могут развиваться вместе с бизнесом, чтобы продолжать приносить пользу.Так почему же мы так плохо справляемся с этой задачей? Сколько проектов, о которых вы слышали, полностью проваливаются…