Как стать автором
Обновить
73.67
Сначала показывать

Квоты в Kubernetes: очевидные, менее очевидные и совсем не очевидные

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров8.5K

Привет, Хабр! Я Виктор, техлид продукта CI/CD в Samokat.tech. А это, :(){ :|:& };: fork-бомба, которая создаёт свои дочерние процессы бесконечно. Запуск такой штуки в контейнере без ограничений роняет всю ноду. Не используйте в проде! Если запустить в WSL, то винду тоже укладывает. Как же избежать запуска такой штуки на проде? Помогут квоты.

Давайте разберемся как работают квоты в Kubernetes. Там есть немало граблей. В этой статье поделюсь своим опытом по работе с квотами – расскажу, чем квоты хороши, что у них под капотом, в каких задачах используются и почему нужны даже в среде single-tenant.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии7

От 20 до 200 человек за полтора года: как мы строили дизайн-департамент Samokat.tech

Время на прочтение9 мин
Количество просмотров1.8K

Привет! Меня зовут Олег, я руковожу дизайн-направлением Samokat.tech. За последние пару лет наша команда выросла в 10 раз и стала одним из крупнейших департаментов компании. 

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

Надеюсь, мой рассказ будет полезен дизайнерам и руководителям, которые находятся на пороге или в процессе больших перемен. Они смогут сравнить наш опыт со своим и найти для себя пару-тройку инсайтов. 

Читать далее
Всего голосов 6: ↑3 и ↓30
Комментарии2

Отключаем ненужный функционал плагина для Jira с помощью кастомной аннотации Spring

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров1.9K

Привет, Хабр! Меня зовут Игнат, в Samokat.tech я пишу плагины, автоматизации и интеграции для Jira. 

Как разработчик-самоучка, который до «вот этого всего» немного писал на Java, но не пользовался ни средствами сборки (привет, Maven!), ни фреймворками (привет, Spring!), и первые шаги делал по мануалам Atlassian, я сталкивался (и продолжаю) с проблемами, решений которых вендорская документация не подскажет, и эти решения приходится открывать самому. 

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

Эта статья ориентирована на начинающих разработчиков в стеке Atlassian и администраторов, пробующих себя в разработке плагинов для Jira. Те, кто до знакомства с Atlassian SDK уже разрабатывал «под ентерпрайз», не обязательно найдут здесь что-то новое, остальных – приглашаю под кат.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии6

Гайд по микрофронтендам на single-spa, или Как уже наконец-то уйти от монолита во фронтенде

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров14K

Привет, Хабр! Меня зовут Данил, я Frontend-разработчик в Samokat.tech. Недавно мы с командой распилили монолит на Angular и перешли к микрофронтендам на Vue. 

Наш опыт я постарался упаковать в пошаговый гайд – надеюсь, этот материал поможет тем, кто только начинает свой путь в мире микрофронтендов. По ходу статьи мы с вами вместе пройдём от полного незнания до понимания принципов и ответа на заветный вопрос — нужно ли всё это вам. На практике мы сделаем небольшую демонстрацию, которую вы сможете использовать в своём проекте. Поехали!

Читать далее
Всего голосов 22: ↑21 и ↓1+20
Комментарии18

Как мы боролись с овербукингом Kubernetes-кластеров

Время на прочтение10 мин
Количество просмотров9.2K

Привет! Меня зовут Александр Лебедев, я SRE в Samokat.tech. Мы строим надёжную платформу для сервисов быстрой доставки и в зону ответственности моей команды входят поддержка Kubernetes-кластеров и управление их ресурсами.

Под катом история о том, как мы пришли к своему варианту resource management через борьбу с овербукингом по CPU.

Читать далее
Всего голосов 25: ↑24 и ↓1+23
Комментарии6

Приходите на Flow 2023 Meetup #9 про системный и бизнес-анализ

Время на прочтение3 мин
Количество просмотров1.4K

Когда: 21 июня (среда), 17:30 — 21:30 (СПб)

Формат: офлайн (СПб) и онлайн 

Задать вопросы спикерам и узнать больше о докладах можно в Telegram-чате.

Регистрация на митап тут

Послушаем спикеров из Samokat.tech, Почтатех и USABILITYLAB. Поговорим об изменениях в жизни аналитиков и разработчиков при переходе на микросервисы, совместной работе юзабилити-исследователя и бизнес-аналитика, а также инструментах для моделирования сквозных процессов между продуктовыми командами.

В программе — как поделить функциональность и настроить интеграции при росте числа продуктовых команд, как аналитикам и командам разработки безболезненно перейти от монолита к микросервисам и о том, как юзабилити-исследователь превращает данные в ценные инсайты для бизнес-аналитика.

Посмотреть описание докладов
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Load2SRE: от нагрузки к доступности, без потери производительности

Время на прочтение10 мин
Количество просмотров2.3K

Привет! Меня зовут Кирилл Юрков, я SRE Team Lead в Samokat.tech. Уже более десяти лет занимаюсь ускорением и проблемами производительности, а также нагрузочным тестированием. 

Отвечая на вопрос, что делает SRE в Samokat.tech, скажу, что это те, кто занимается инцидентами и проблемами на всём их жизненном цикле, от этапа архитектуры и разработки до postmortem'а после инцидента.

В этом посте я хочу рассказать, как из нагрузочного тестировщика превратиться в SRE-инженера. Поделюсь, как этот путь проходил я сам, с какими сложностями сталкивался и что случалось на каждом этапе. Также раскрою в деталях саму роль SRE-инженера, чем он занимается и чем полезен. Возможно, после этого вы в команде решите, что вам такая роль тоже нужна (если у вас её ещё нет).

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

Приходите на Samokat.tech Meetup про Golang-разработку

Время на прочтение2 мин
Количество просмотров1.7K

Когда: 18 мая (четверг), 18:00 – 20:15 МСК/СПБ

Формат: онлайн-трансляция 

Задать вопросы спикерам и узнать больше о докладах можно в Telegram-канале.

Регистрация на митап тут

Послушаем спикеров из Samokat.tech, Авито и Тинькофф. Поговорим об особенностях использования Go в разработке и перехода на него с других языков. Только конкретные примеры из практики и личный опыт спикеров.

В программе — как эффективно работать с памятью и CPU на Go, как в интеграционных тестах с помощью Go-testcontainers получить легкость и простоту модульных тестов и не потерять надежность с реальными зависимостями. Обсудим, кому и когда стоит переходить на Go, что необходимо учесть и где «подстелить соломку».

Постараемся сделать интересно для разработчиков, кто уже пишет на Go, и тех, кто думает о переходе или находится в процессе изучения языка.

Посмотреть описание докладов
Всего голосов 9: ↑5 и ↓4+1
Комментарии0

Как сделать единый заглушечный контур и освободить себя от рутины

Время на прочтение6 мин
Количество просмотров4.9K

Привет, Хабр! Меня зовут Ира, я SRE в команде Samokat.tech. В этом посте хочу поделиться подходом в тестировании, которым мы пользуемся сами. Если вам при подготовке тестов часто приходится писать похожие друг на друга как две капли воды заглушки (или, как их ещё называют, «моки»), а затем заботиться о том, чтобы их развернуть, то вам может понравиться наше решение. Освободившись от части рутинных забот, вы можете уделить больше времени чему-то более важному.

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

Такие заглушки редко переиспользуются и что важнее, никто ими не делится, так как они либо тривиальны, либо написаны не самым лучшим способом (могут оказаться слишком сложными или неоптимальными).

Сложно представить тестировщика в роли доброго самаритянина, раздающего коллегам свои заглушки. Его к этому вряд ли что-то мотивирует, да и работы у него всегда прилично. Некогда отвлекаться! Так, давайте разгрузим немного нашего трудягу.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии2

Приглашаем на Samokat.tech Meetup #2 — безопасность, Next JS и микрофронтенды

Время на прочтение3 мин
Количество просмотров1.3K

24 марта 2023 года проведем в Москве Samokat.tech Meetup про frontend. Мы делаем этот митап, чтобы рассказать, как устроена технологическая сторона ритейла реального времени. В программе — три доклада от спикеров из e-commerce и e-grocery. Посмотрим, чем разработка для этих индустрий похожа или отличается от фронтенда в других сферах. После митапа — интерактив и afterparty.

Samokat.tech Meetup пройдет 24 марта в 18:00, офлайн (в Москве) и онлайн (на YouTube).

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Эволюция подходов к работе с таблицами во фронтенде

Время на прочтение13 мин
Количество просмотров11K

Всем привет! Меня зовут Аня Ланда, я фронтенд-разработчик в Самокате. В компании я больше двух лет, общий стаж во фронтенде – 6 лет и всё это время я делаю таблицы. В этом посте расскажу про эволюцию подходов к работе с ними, что меняется на пути от нескольких сотен до сотен тысяч элементов в таблице.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии17

Как фронтендеру стать мобильным разработчиком, или Перевод API React в Jetpack Compose

Время на прочтение11 мин
Количество просмотров3.8K

Привет, я Данильян, работаю в Самокате фронтенд-разработчиком, разрабатываю бэкофисное приложение с использованием React. Когда я только начинал изучать Jetpack Сompose, я наткнулся на статью, в которой простым языком для людей, пришедших из мира веб-технологий в мир мобильной разработки, расписано, как писать код для мобильных устройств, чтобы было как в React. Из материала в статье особенно подкупали примеры: вот, что вы делали в React, а вот, как в Jetpack Compose получить то же самое. 

Делюсь с вами переводом этой статьи.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Как тестировать современный фронтенд

Время на прочтение19 мин
Количество просмотров40K

Бывало, замечаешь в коде «нехороший» модуль или функцию и тут же тянутся руки их отрефакторить. Но как потом убедиться, что правки не сломали какой-нибудь сценарий в приложении или вовсе не положили продакшен? Этих ситуаций можно избежать, если в проекте есть тесты. 

Меня зовут Александр Моргунов, я техлид в Самокате. Пишу на TypeScript, React, ReactNative. В разное время писал тесты для фронтенда, бэкенда и мобилок. В этом посте хочется поговорить о том, как можно тестировать современные фронтенд-приложения и какие подходы к тестированию сейчас актуальны. 

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

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии12

Ruby под нагрузкой, или Как поменять Puma на Falcon за неделю до релиза

Время на прочтение9 мин
Количество просмотров4K

Всем привет! Меня зовут Александр Шерман, я тимлид в команде CRM в Самокате. Мы в первую очередь известны по своей модели доставки заказов от 15 минут. Чтобы укладываться в такой норматив, у нас достаточно жёсткие SLA (2,5 минуты на сборку заказа), что, в свою очередь, диктует строгие требования к надёжности и быстродействию сервисов.

Часть проектов у нас написана на Ruby. Если раньше в качестве web-сервера для них мы использовали Puma (который уже стал de-facto стандартом) и горя не знали, то в определённый момент нам его производительности стало не хватать. В статье, сделанной по мотивам моего доклада на конференции Ruby Russia 2022 расскажу, как и зачем мы переехали на другой веб-сервер.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии5

Нюансы поддержки npm в Deno

Время на прочтение5 мин
Количество просмотров1.6K

Всем, привет! Меня зовут Данильян, я работаю в Самокате фронтенд-разработчиком и разрабатываю бэкофисное приложение с использованием React. Помимо работы, у меня есть несколько сайд-проектов, в которых я широко использую Deno. В последнее время этот проект радует новыми фичами чуть ли не каждую неделю и об одной из них я хотел бы рассказать в этом посте.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии11

Как найти клад: ищем продуктовые инсайты в обратной связи от пользователей

Время на прочтение7 мин
Количество просмотров1.4K

В каком проекте вы бы ни работали, малом или огромном, рано или поздно встают вопросы: «А что делать дальше? Как развиваться, какую фичу взять в разработку?». Ответы можно поискать в обратной связи от пользователей.

Привет, Хабр! Меня зовут Марина Кобзева, я менеджер по успеху клиентов в Самокате. Сегодня мы поговорим о том, как улучшать свой продукт через обратную связь, что поддержка знает о пользователях, как общение с поддержкой влияет на клиентский опыт, и как вопросы, проблемы или предложения, с которыми люди приходят, влияют на их дальнейшее поведение. 

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

Как построить прогноз спроса и не потерять голову

Время на прочтение13 мин
Количество просмотров13K

Всем привет! Представьте себе ситуацию: ваша уютная маленькая команда Data Science занимается прогнозированием спроса для пары десятков дарксторов с помощью какого-нибудь коробочного Prophet. И в один прекрасный день к вам приходит бизнес. Бизнес садится, закидывает ногу на ногу, закуривает сигару и говорит:

«Мы хотим максимально автоматизировать закупки. Нам нужно, чтобы вы умели строить прогноз по всем товарам, старым и новым, для всех дарксторов, старых и новых. А их будет много, их будут сотни, тысячи, миллионы. А ещё у нас будет миллион видов скидок и разные типы ценообразования, и ещё куча промо-механик и конкурсов интересных. Мы хотим, чтобы прогноз обязательно адекватно на всё это реагировал». (с) Типичный Бизнес

Хорошо, думаем мы, кажется, что это звучит нетрудно… 

С этой задачи начинается моя история о прогнозе спроса в Самокате. Меня зовут Мария Суртаева, я Data Scientist и расскажу о концепции прогноза спроса, его практических задачах и роли градиентного бустинга.

Читать далее
Всего голосов 27: ↑27 и ↓0+27
Комментарии23

Информация

Сайт
samokat.tech
Дата регистрации
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Алексей Долгушев