Pull to refresh

V for Validator

Reading time4 min
Views5.6K

Когда перед нами стоит выбор инструмента для валидации пользовательских данных, то речь чаще идет о интерфейсе задания правил. Сегодня таких инструментов превеликое множество от декларативных до объектных. Каждый валидатор пытается быть выразительным и простым в использовании. Но я хочу обратить ваше внимание на результат работы валидатора – отчеты. Каждый разработчик норовит сделать свое решение и если для интерфейсов от разнообразия лишь польза, то для получаемого результата наоборот. В общем, давайте взглянем на проблему.


Осторожно! После прочтения статьи вы, возможно, захотите выкинуть ваш любимый валидатор.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments6

Автоматизация российской «Джиры»: как настроить все как в Jira, но в российском аналоге?

Level of difficultyMedium
Reading time7 min
Views7.5K

С момента ухода компании Atlassian с российского рынка прошло уже больше года. Те кто пользовался её продуктами, отлично понимал возможности для автоматизации в системе. Это делалось и с помощью базового функционала, а также с помощью плагинов вроде ScriptRunner. Автоматизировали различные настройки workflow, автоматическое назначение задач, behaviors-поля и кучу всего другого. 

Так как мы заменяем Jira, Confluence и Jira Service Management в России, мы реализовали те же самые возможности в продуктах EvaTeam. В этой статье рассказывается какие виды автоматизаций есть, в каких случаях использовать конкретный способ и как продолжить работать также как в Jira, но в российском сервисе.

Читать далее
Total votes 9: ↑7 and ↓2+5
Comments2

Иван Чашкин: «Мне нравится, что OpenStreetMap — это открытые данные, которые доступны всем и всегда»

Reading time7 min
Views2.8K

Иван Чашкин — web-программист и владелец небольшого интернет-магазина из Нижнего Новгорода. Но после работы он — волонтер. Причем в абсолютно разных проектах: он и куратор «Добрых крышечек» в своем городе и опытный картограф OSM, который сделал несколько интересных инструментов. Почему он кайфует от JOSM, зачем надо отмечать подъезды и как лучше всего это сделать — обо всем этом он рассказал в интервью.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments0

8 важных веб-приложений для разработчиков

Reading time3 min
Views21K
Предлагаем вам познакомиться с переводом статьи Jamie Bullock, опубликованной на сайте medium.com. Автор рассказывает, какие веб-приложения он обычно использует в работе.

Читать дальше →
Total votes 31: ↑21 and ↓10+11
Comments8

Что делают арбитраж боты, что из себя представляет MEV, и почему это проблема всех блокчейнов

Reading time5 min
Views14K

Disclaimer: обычно я пишу про крипту почти на ежедневной основе в канале миллениалы делают веб3, но когда удается найти что-то особенно интересное, получается лонгрид.

MEV maximum value that can be extracted from block production in excess of the standard block reward and gas fees by including, excluding, and changing the order of transactions in a block [initially referred to as "miner extractable value" во времена майнеров и PoW, но после мерджа у нас ни первого ни второго].

В теории определять включение транзакций в блок должны валидаторы, на практике это делают серчеры (searchers), независимые участники которые ищут потенциально выгодные транзакции и запускают в них своих ботов. Валидаторы все равно немного выигрывают, потому что серчеры ставят газ фи выше среднего, а дельта идет валидаторам в замен за повышенную вероятность включения транзакции в ближайший блок.

Assuming searchers are economically rational, the gas fee that a searcher is willing to pay will be an amount up to 100% of the searcher's MEV.

Но фокус в том что за одну транзакцию могут бороться много серчеров сразу (например в случае дексов) и газ физ могут правда доходить до 90% от MEV.

Так как стоимость транзакции = цена за газ * количетсво газа, а цена за газ -- высоко конкурентная переменная, появились програмируемые транзакции которые минимизируют необходимое количество газа.

Каким образом можно минимизировать необходимое количество газа:

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments4

7 и 1/2 подходов к проверке атрибутов классов в Python

Level of difficultyMedium
Reading time12 min
Views11K

Проверка типов и проверка значений обрабатываются в Python гибким и неявным образом. В Python начиная с Python 3 появился модуль typing, который обеспечивает поддержку подсказок типов. Но для проверки значений не существует единого способа проверки.

Один из сценариев, в котором нам нужна проверка значений — это инициализация экземпляра класса. На первом этапе мы хотим убедиться в правильности вводимых атрибутов, например, адрес электронной почты должен иметь правильный формат xxx@xx.com, возраст не должен быть отрицательным, фамилия не должна превышать 20 символов и т.д.

В этой статье я хочу продемонстрировать 7(с половиной - прим.пер.) вариантов проверки атрибутов класса с помощью встроенных модулей Python или сторонних библиотек. Интересно, какой вариант вы предпочитаете? Если вы знаете другие варианты, пишите в комментариях. Поехали.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments8