Написал для вас подробный технический разбор Polymarket — децентрализованного рынка предсказаний на блокчейне. В статье мы рассмотрим ключевые компоненты протокола: интерфейс, смарт-контракты, оракул, токенизация исходов и механизмы управления ордерами. Материал поможет глубже понять, как устроены и функционируют современные платформы прогнозирования на основе блокчейна.
Криптовалюты, финансы, распределенные системы
Почему СУБД такие медленные
Недавно на Хабре публиковался перевод статьи «Просто выберите Postgres» (оригинал, англ. яз) с аргументами, что Postgres — оптимальная БД для десктопных и мобильных приложений. Аналогичное мнение высказывают в других популярных статьях вроде «До свидания MongoDB, здравствуй PostgreSQL». Главным недостатком SQLite называют то, что данные хранятся в одном файле, а MongoDB (а также DynamoDB и Cassandra) — низкую производительность:
«Всё это связано с тем, что подобные базы данных, по сути, представляют собой огромную распределённую хеш-таблицу. Единственные операции, работающие без необходимости сканирования всей базы данных — это поиск по секционному ключу и сканы, при которых используется ключ сортировки.
…Если паттерны доступа существенно изменятся, то может потребоваться полная повторная обработка всех данных».
Более производительные резидентные БД хранят данные в памяти (Redis, Valkey), но их использование ограничено объёмом ОЗУ.
После такого заявления интересно посмотреть на независимые тесты производительности разных СУБД.
Паттерны многопоточности в Go
В этой статье я постараюсь рассказать о том как их компоновать в самые популярные паттерны для поддержки масштабируемости и удобства сопровождения будущих систем.Почему же многопоточность так важна? Сегодняшние приложения должны быть быстрыми и отзывчивыми, а для этого нужно выполнять множество задач одновременно.
Представь себе, что твоя программа обрабатывает запросы пользователей, одновременно загружает данные с сервера и проводит вычисления. И все это должно происходить без задержек и ошибок. Для всего этого у тебя есть горутинки! Однако если с ними обращаться неосторожно, то могут возникнуть такие ошибки, которые сложно будет сразу отловить. Вот здесь на сцену выходят паттерны многопоточности, которые помогают структурировать и оптимизировать параллельную работу.
Как в цифровом мире безопасно рассказать информацию не выдавая себя?
К примеру контрибьютер опенсорс проекта хочет рассказать о планах но при этом остаться анонимным.
Или еще пример: какая-то технологическая фирма замешана в тёмных делишках и некоторый честный сотрудник хочет это прекратить. Он не знает сколько таких же как он единомышленников, но при этом он точно знает что если эти тёмные дела подтвердят только один-два человека то их быстро уволят и ничего не изменится. Он пишет сообщение на анонимном форуме и получает поддержку от других пользователей которые утверждают что они якобы его коллеги, но верить этому нельзя потому что это может быть просто тролль.
Или просто какая-то тема запрещена для обсуждения которую очень хочется обсудить.
Как же быть? Использовать кольцевые подписи!
Как потратить шесть лет и быть невидимкой в Play Market
Всем привет!
Этот пост в большей степени — рассказ о пути одной идеи к реализации.
И немного — о трудностях, с которыми я сталкиваюсь прямо сейчас, когда вроде бы всё готово — но никто о твоей игре не знает.
Если вкратце: шесть лет трачу вечера на то, чтобы написать собственную игру.
Игра доступна на своём сайте, но в Play Market её не видно.
Этот учёный хочет постепенно заменить ваш мозг
Американское агентство, занимающееся революционными разработками в области здравоохранения, наняло учёного, предлагающего крайне радикальный план победы над смертью.
Его идея? Заменить части тела. Все. Включая мозг.
Ожидается, что Жан Эбер, новый сотрудник агентства перспективных проектов США в области здравоохранения (ARPA-H), возглавит новую крупную инициативу по «функциональной замене мозговой ткани» – идее добавления новой ткани в мозг людей.
Президент Джо Байден создал ARPA-H в 2022 как агентство в составе Министерства здравоохранения и социальных служб для реализации того, что он назвал «смелыми, неотложными инновациями» с изменяющим потенциалом.
Собираем сетевое хранилище (NAS) XPenology
Привет! С вами снова Александр, DevOps из Банки.ру. Прошлая статья «Домашний сервер на базе Proxmox» вызвала интерес сообщества и бурное обсуждение в комментариях.
Сегодня продолжу тему и расскажу о сборке NAS (Network Attached Storage) своими руками из доступного сейчас железа. Остановлюсь на процессе выбора, покупках, ориентировочной цене общей сборки на данный момент.
Насколько быстры B-деревья по сравнению с хэш-таблицами?
Во многих «скриптовых» языках для стандартных ассоциативных структур данных используется хэш-таблица (hashmap) (объекты Javascript, словари Python и так далее). Хэш-таблицы обладают множеством раздражающих свойств:
- Уязвимость к hash flooding.
- В случае защиты от hash flooding случайными seed порядок итераций становится недетерминированным, что мешает при тестировании снэпшотов, создании воспроизводимых сборок и так далее.
- При вставке может требоваться рехэширование, что в наихудших случаях создаёт для больших хэш-таблиц ужасные задержки.
- Многократное увеличение больших распределений памяти без фрагментации сложно реализовать в целевых платформах wasm, потому что трюки с виртуальной памятью недоступны, а для страниц невозможно выполнить unmapping.
- Векторные команды в wasm ограничены, а команды AES отсутствуют. Это делает многие хэш-функции ещё более медленными.
Упорядоченные структуры данных наподобие B-деревьев не имеют этих недостатков. Обычно они медленнее хэш-таблиц, но меня удивило, насколько разнятся ожидания людей относительно их скорости.
Тернистый путь к единому хранилищу метрик
Метрики — один из трёх базовых типов телеметрии и основа мониторинга любого приложения. Но что, если необходимо собирать их в рамках крупной и высоконагруженной экосистемы? Как собрать метрики с десятков тысяч хостов разных ЦОДов и сотен типов приложений? И как упростить инженерам настройку правил алертинга и создание дашбордов?
Привет, Хабр! Я Филипп Бочаров, руководитель стрима мониторинга и наблюдаемости в МТС Digital. Мы занимаемся всеми типами телеметрии: логами, трассировкой и, конечно, метриками. Единое хранилище метрик экосистемы — часть нашей платформы наблюдаемости. Для этих целей мы используем агент Telegraf и большой кластер VictoriaMetrics, принимающий 10+ миллионов сэмплов в секунду.
В этой статье расскажу, как мы реализовали централизованное управление конфигурацией агентов, удобный интерфейс для настройки алертинга и правил сбора метрик. Покажу, как менялась архитектура решения с ростом нагрузки, как мы боролись с отставанием и потерей данных. Посмотрим, как это позволило собрать все метрики в единое хранилище и построить дашборды здоровья по ключевым продуктам.
Техническая история Kubernetes: секреты создателя
Однажды Брайан Грант, первый lead architect Kubernetes, написал в Twitter серию тредов о технической истории проекта. Он рассказал о появлении разных фичей в K8s и логике, которая стояла за принятием отдельных решений. В этом году в честь очередного юбилея оркестратора Брайан собрал все твиты в одну статью. Под катом — её перевод, из которого вы узнаете, как появились контроллеры рабочих нагрузок, декларативная модель ресурсов, descheduler и многое другое.
Шины данных для очень больших инсталляций, или Почему большим компаниям сложно с опенсорсом
Как технический менеджер в Яндексе я отвечаю за эксплуатацию больших кластеров, через которые мы передаём данные, — для этого мы используем YDB Topics, собственный аналог Apache Kafka, о котором я уже рассказывал.
Но если посмотреть не только на нас, но и на примеры других крупных систем, то становится понятно, почему энтерпрайзу сложно брать готовые опенсорс‑решения. Стоит лишь представить, что бывает, если команда с большими масштабами начинает использовать Apache Kafka.
В этой статье я покажу собирательный образ такой крупной системы из нашего опыта общения с большими распределёнными командами, и мы увидим разницу в TCO Apache Kafka и YDB Topics на конкретных цифрах.
Лоттократия лучше демократии! Статья о криптографических выборах
Тайное голосование с применением однотипных бюллетеней впервые появилось в Австралии в 1856 году. Насколько хорошо эта система была спроектирована? Если бы вы замыслили в наши дни создать систему выборов, защищённую от мошенничества и фальсификаций, получилось бы у вас то же самое? На мой взгляд, такая система не соответствует разумным требованиям безопасности и изначально основана на принципах, которые неизбежно приводят к узурпации власти той или иной влиятельной группировкой.
В последние десятилетия появились системы сквозного проверяемого голосования, такие как Prêt à Voter, Scantegrity или DRE-ip, в той или иной мере использующие криптографические методы для защиты от фальсификаций. В этой статье я немного расскажу об одной из этих систем, после чего опишу систему случайного голосования с использованием non-malleable time lock puzzles, которая вообще отказывается от того, чтобы предоставлять гражданам осознанно выбирать руководящих лиц государства.
Дизайн и реализация виртуальной машины CPython
Наиболее интересной частью каждого языка, компилируемого в байт‑код является виртуальная машина (также известная как интерпретатор байт‑кода), в которой происходит исполнение байт‑кода. Поскольку это наиболее важная часть реализации языка, она должна быть крайне производительной. Даже если вы не занимаетесь разработкой компиляторов, знание внутреннего устройства ее реализации может дать вам возможность найти новые способы оптимизации вашего кода, что может быть полезно в других областях вашей работы. А если вы занимаетесь разработкой компиляторов, вам всегда стоит исследовать реализации в других языках, чтобы найти для себя новые трюки и потенциально упущенные детали.
В этой статье мы обсудим формат инструкций байт‑кода CPython, а также реализацию цикла обработки байт‑кода в интерпретаторе, где он и исполняется.
LotItBit или история ранней криптолотереи
LotItBit или как я создал криптолотерею и потерял все.
Эта история будет интересна и как любопытный технический проект, и как пример того, насколько внутренние убеждения участников важны и могут влиять на результаты работы и жизнеспособность продуктов. Идея выразить в тексте этот опыт просилась на свет уже давно и в свете наступления очередной волны интереса к криптопроектам, я решил сделать из этого своеобразный творческий эксперимент. Так что не судите строго и приятного чтения.
Настройка CI/CD для GitLab-репозитория: работа с микросервисами
Рассказываем о полезных практиках конфигурации пайплайна с помощью GitLab CI/CD в контексте микросервисной архитектуры. Рассмотрим: добавление заданий в пайплайн путём проверки изменений в определённых микросервисах, концепцию модульных пайплайнов и явное указание зависимостей между заданиями для их выполнения не по этапам.
Как снизить расходы на мониторинг: более разумный подход к данным
Мониторинг может стать дорогостоящим из-за огромных объемов данных, которые необходимо обрабатывать. В этой статье вы узнаете о лучших способах хранения и обработки метрик мониторинга для снижения расходов и о том, как VictoriaMetrics может в этом помочь.
Книга: «Разрушители. Грибки и грядущая пандемия»
Грибки есть везде. Есть безвредные, есть даже полезные. Однако некоторые из них — это жестокие убийцы. Если мы абстрагируемся и взглянем на все со стороны, то можно утверждать, что грибы являются самыми разрушительными организмами на Земле. Они могут уничтожить все вокруг и остаться единственными на планете.
В книге автор Эмили Моноссон рассказывает, как торговля, путешествия и меняющийся климат делают нас всех более уязвимыми для пандемии.
Однако не стоит пугаться раньше времени. Да, грибки — это жестокие организмы, способные уничтожить все живое на планете, но профилактика не невозможна!
Прослеживая историю распространения грибков и самые последние открытия в этой области, Моноссон знакомится с учеными, которые неустанно работают над защитой видов, находящихся под угрозой, чьи инновационные подходы к инвазии грибков могут спасти человеческие жизни. Углубляясь в тематические исследования, одновременно увлекательные, отрезвляющие и обнадеживающие, эта книга служит тревожным сигналом, напоминанием о тонкой взаимосвязанности мира природы. И является уроком, позволяющим смотреть на жизнь на нашей планете с осознанием ее хрупкости.
Как снизить расходы на мониторинг: замена Prometheus на VictoriaMetrics
Мониторинг может оказаться дорогим делом из-за огромных объемов данных, которые необходимо обрабатывать. В этой статье вы узнаете о лучших способах хранения и обработки метрик мониторинга для снижения расходов и о том, как VictoriaMetrics может в этом помочь.
(cм. вторую статью из этой серии — Как снизить расходы на мониторинг: более разумный подход к данным.)
Потребление ресурсов в Prometheus: кто виноват и что делать (обзор и видео доклада)
У Prometheus есть серьёзный недостаток — чрезмерное потребление ресурсов. Проблема может заключаться в недостаточном понимании инструмента и его неверном использовании. А Prometheus требует грамотного управления метриками и лейблами.
В своем докладе технический директор Deckhouse Observability Platform Владимир Гурьянов выяснил, кто виноват в этом и что делать.
Попробуйте Tauri
Хочу рассказать про один из моих любимых Opensource проектов: Tauri. Это среда для создания десктопно-мобильных приложений на JavaScript, но быстрых и легковесных. С опциональными дополнениями на Rust, а через него и на всех других языках.
Information
- Rating
- Does not participate
- Location
- Киев, Киевская обл., Украина
- Date of birth
- Registered
- Activity