ДИСКЛЕЙМЕР: Статья написана автором блога на основе интервью с Д. Литвиновым, совладельцем проката электровелосипедов.Когда вы ленитесь выйти из-за компа и заказываете доставочку, зарабатывают трое. – Сервис доставки Например, Яндекс.еда сразу скушает свой процент. – Ресторан/магазин – Курьер Человек, который пилит к вам и в дождь, и в снег. А еще зарабатываю я. Когда сдаю курьеру электровелосипед в аренду. Сервисы доставки не выдают электровелосипеды, они не держат своих механиков, не покупают…
Я работаю программистом последние 11 лет: первые 5 лет как PHP-разработчик, а последние 6 лет как Go-разработчик. Недавно я сходил на с десяток собеседований, и они меня очень сильно разочаровали.Хватит спрашивать тонкости языка программированияВопросы вроде: "Вот у нас есть слайс в Go, мы передадим его в функцию, там вставим 3 элемента - что мы получим?" Да ерунду вы получите! Есть best practices. Если в функции модифицируете слайс - нужно возвращать новый слайс, а не играть в угадайку…
Всем привет! Кажется, настало время поговорить о том, как внедрялись ограничители частоты запросов на бэкенд в Wildberries. В статье — о том, с какими трудностями мы столкнулись на этом благородном пути и как прошли через четыре схемы реализации — от простейшей in-memory до собственных gRPC-сервисов. Не обойдём вниманием и парочку лайфхаков ;) Например, с помощью рейтлимитов мы неожиданно решили проблему плавного отключения старых версий API.Немного обо мне. Меня зовут Дмитрий Виноградов, и я л…
Данная статья - это вырезка из книги Джона Боднера под названием "Go идиомы и паттерны проектирования". На момент чтения 14-й главы, посвященной теме контекста, мне показался полезным её подраздел про работу со значениями посредством контекста. Полезным в том смысле, что этот подраздел вполне может служить справкой для новичков сам по себе, взятый автономно из содержащей его книги. Справкой по конкретному вопросу чтения и записи значений из контекста, разумеется, а не обозревающей тему …
Проблема CRUD-подхода// Проблемы: // 1. История изменений теряется // 2. Конфликты при конкурентных обновлениях (или использование блокировок) func UpdateOrderStatus(orderID string, status Status) error { return db.Exec("UPDATE orders SET status=? WHERE id=?", status, orderID) }Решение: CQRS и Event SourcingАрхитектурное ядроАрхитектураКлючевые компоненты архитектуры1. Команда (Command)Запрос на выполнение действия ("Завершить заказ", "Списать средства")Компонент на …
Steroids UI KitЭто вторая статья из цикла про наш фреймворк Steroids, в которой мы расскажем об архитектурном подходе к построению UI-компонентов. Если вы ещё не читали первую статью — начните с неё. В ней мы объясняем, что такое Steroids и какие задачи он решает.Проблема большинства UI-фреймворковЧасто в готовых UI-библиотеках вы можете настроить цвета, тему, переопределить стили через className или sx, но не можете:получить доступ к JSX/HTML разметке компонента;изменить стили компонента, не д…
Всем, привет, меня зовут Дмитрий, я React-разработчик, и я снова здесь и попробую сегодня рассказать про Web Workers. Если вы хоть раз пробовали обрабатывать большой файл, парсить массив из сотен тысяч элементов или запускать сложные вычисления прямо в React-компоненте, то наверняка сталкивались с тем, что интерфейс подвисает, кнопки перестают реагировать, анимации застывают, и всё на секунду подвисает, пока скрипт не разлучит нас (ой, это не из этой сказки) завершит свою работу.Почему так прои…
В докладе на тему «Кибериммунитет для цифровой эры» Касперский подробно расскажет о современных вызовах, киберугрозах и новом подходе к защите цифровых экосистем.
В Microsoft сообщили, что злоумышленники могли использовать недавно исправленную уязвимость обхода Transparency, Consent, and Control (TCC) для кражи конфиденциальной информации пользователей macOS, включая кешированные данные Apple Intelligence.