uk
Feedback
Купер.тех

Купер.тех

Відкрити в Telegram

Мы tech-команда, которая создает сервис доставки из магазинов и ресторанов (ex СберМаркет) и делает это с любовью. Хабр: https://bit.ly/3xOhSYw Видео: https://bit.ly/3SW9MCw VK: https://bit.ly/45NudZC Вакансии: https://team.kuper.ru/tech

Показати більше
8 074
Підписники
-224 години
-47 днів
+3230 день

Триває завантаження даних...

Залучення підписників
липень '26
липень '26
+94
в 0 каналах
червень '26
+34
в 0 каналах
Get PRO
травень '26
+36
в 1 каналах
Get PRO
квітень '26
+40
в 2 каналах
Get PRO
березень '26
+67
в 1 каналах
Get PRO
лютий '26
+79
в 1 каналах
Get PRO
січень '26
+106
в 0 каналах
Get PRO
грудень '25
+94
в 0 каналах
Get PRO
листопад '25
+217
в 6 каналах
Get PRO
жовтень '25
+108
в 3 каналах
Get PRO
вересень '25
+155
в 0 каналах
Get PRO
серпень '25
+134
в 1 каналах
Get PRO
липень '25
+115
в 0 каналах
Get PRO
червень '25
+125
в 0 каналах
Get PRO
травень '25
+149
в 0 каналах
Get PRO
квітень '25
+98
в 1 каналах
Get PRO
березень '25
+113
в 0 каналах
Get PRO
лютий '25
+209
в 1 каналах
Get PRO
січень '25
+218
в 0 каналах
Get PRO
грудень '24
+331
в 7 каналах
Get PRO
листопад '24
+419
в 13 каналах
Get PRO
жовтень '24
+399
в 10 каналах
Get PRO
вересень '24
+373
в 14 каналах
Get PRO
серпень '24
+421
в 9 каналах
Get PRO
липень '24
+265
в 20 каналах
Get PRO
червень '24
+415
в 23 каналах
Get PRO
травень '24
+406
в 12 каналах
Get PRO
квітень '24
+414
в 14 каналах
Get PRO
березень '24
+509
в 25 каналах
Get PRO
лютий '24
+304
в 4 каналах
Get PRO
січень '24
+210
в 1 каналах
Get PRO
грудень '23
+379
в 5 каналах
Get PRO
листопад '23
+482
в 3 каналах
Get PRO
жовтень '23
+242
в 9 каналах
Get PRO
вересень '23
+301
в 0 каналах
Get PRO
серпень '23
+549
в 0 каналах
Get PRO
липень '23
+318
в 0 каналах
Get PRO
червень '23
+642
в 0 каналах
Get PRO
травень '23
+408
в 0 каналах
Get PRO
квітень '23
+318
в 0 каналах
Get PRO
березень '23
+508
в 0 каналах
Get PRO
лютий '23
+330
в 0 каналах
Get PRO
січень '23
+194
в 0 каналах
Get PRO
грудень '22
+211
в 0 каналах
Get PRO
листопад '22
+185
в 0 каналах
Get PRO
жовтень '22
+123
в 0 каналах
Get PRO
вересень '22
+101
в 0 каналах
Get PRO
серпень '22
+119
в 0 каналах
Get PRO
липень '22
+67
в 0 каналах
Get PRO
червень '22
+84
в 0 каналах
Get PRO
травень '22
+287
в 0 каналах
Get PRO
квітень '22
+51
в 0 каналах
Get PRO
березень '22
+51
в 0 каналах
Get PRO
лютий '22
+102
в 0 каналах
Get PRO
січень '22
+115
в 0 каналах
Get PRO
грудень '21
+194
в 0 каналах
Get PRO
листопад '21
+309
в 0 каналах
Дата
Залучення підписників
Згадування
Канали
27 липня+1
26 липня+1
25 липня+2
24 липня+3
23 липня+4
22 липня+2
21 липня+3
20 липня+6
19 липня+2
18 липня+2
17 липня+6
16 липня+6
15 липня+7
14 липня+6
13 липня+3
12 липня+5
11 липня+1
10 липня+3
09 липня+9
08 липня+5
07 липня+3
06 липня+3
05 липня0
04 липня+2
03 липня+3
02 липня+1
01 липня+5
Дописи каналу
⚽️Выспались и готовы работать — или смотрели вчера ночью футбол? Чемпионат мира в 2026 году получился богатым на яркие момент
+8
⚽️Выспались и готовы работать — или смотрели вчера ночью футбол? Чемпионат мира в 2026 году получился богатым на яркие моменты, а интернет, как обычно, быстро превратил их в мемы. Мы не смогли пройти мимо и собрали футбольные кадры, которые слишком хорошо описывают корпоративную жизнь.

2
💭 Лучше спросите Евгения React Native — важный стек для нашей мобильной разработки, а лучший способ поговорить о нём — задат
💭 Лучше спросите Евгения React Native — важный стек для нашей мобильной разработки, а лучший способ поговорить о нём — задать вопросы человеку, который видит и техническую сторону, и продуктовый контекст. Поэтому решили сделать короткий Q&A с Евгением Прокопьевым, руководителем группы мобильной разработки: 🟢Как изменился React Native за последние 2–3 года? Можно с уверенностью сказать, что фреймворк повзрослел: апдейты сейчас проще и чище, если вы уже переехали на новую архитектуру. В комьюнити выделились явные лидеры по разработке самых актуальных пакетов, и они активно их поддерживают. Около года назад React Native завершил переезд на новую архитектуру, и перформанс сильно подрос, особенно на старых девайсах. 🟢Есть технология, за которой ты следишь? Что сейчас must have? В последнее время появляется много интересных решений. Они закрывают разные проблемы, например: • react-native-streamdown — для быстрого рендера MD-формата. Очень актуально в наших реалиях, например для чата с ИИ; • react-native-nano-icons — удобное решение для рендера SVG-иконок. Поддерживается полное API SVG Multicolor; • nitro-modules — их нельзя назвать чем-то новым, но я хочу всех призвать писать нативные модули с помощью этого API. 🟢AI сейчас везде — внедрился ли он и в мобильную разработку? У мобильной разработки есть некоторые ограничения по сравнению с веб-разработкой — например, тестирование вёрстки или целого флоу. Но комьюнити активно развивает это направление. Например, библиотека argent даёт возможность агенту подключаться к девайсу и протыкивать флоу: его можно сохранить в YAML и потом использовать как e2e-тесты, читать логи Metro, профайлить код. Плюс сейчас в библиотеках комьюнити часто можно встретить файлы для LLM, что упрощает интеграцию. В общем, флоу, где ты можешь отдать ссылку на Figma и получить хороший результат, выглядит реальным. 🟢Куда, как ты думаешь, это всё будет развиваться? Как уже говорил, фундамент React Native сейчас стабилен, все критически важные старые проблемы закрыты. По мне, сейчас всё идёт в сторону: • ещё более широкой кроссплатформы: десктоп, HarmonyOS, TV; • упрощения написания под GPU — тут проекты типа TypeGPU и возможность использования Three.js; • API стилизации, которая при этом как будто становится всё более похожей на веб; • Hermes в сторону AoT-компиляции — Hermes V1 здесь пока что только первый шаг; • и, конечно, более глубокой интеграции с ИИ. А если вы тоже работаете с React Native, делитесь в комментариях: что радует, что всё ещё хочется починить и за какими инструментами следите?
1 249
3
Прошло
1
4
💅🏻Твой вайб в эту пятницу:
1 983
5
Відеоповідомлення
1 899
6
📝 Не сошлись в отчётах: как дебажить метрики У отчётов тоже бывают свои «галлюцинации»: метрика называется одинаково, запрос
📝 Не сошлись в отчётах: как дебажить метрики У отчётов тоже бывают свои «галлюцинации»: метрика называется одинаково, запрос выглядит правильно, формулы проверены, а цифры почему-то не совпадают. Прежде чем превращать такие данные в продуктовые решения и задачи для разработки, нужно понять, где именно они разошлись. Лилия Ивановская, старший продуктовый аналитик в команде, где ищут точки роста бизнеса на основе данных, рассказывает, как быстро дебажить такие расхождения: 1️⃣ Сначала понять, что именно сравниваем В е-grocery легко незаметно запутаться даже в одинаково выглядящих метриках: — выручка: gross vs net (до/после промо, отмен, субсидий); — заказы: оформленные vs собранные vs доставленные; — товары: заказанная корзина vs фактически доставленные позиции (с учётом ненайденных товаров, которые были заменены/отменены); — время: учитываем ли мы часовой пояс или приводим все к московскому времени; — разные идентификаторы: в одном сервисе используются одни идентификаторы сущностей, в другом — другие. Поэтому первым шагом лучше убедиться, что совпадает не только название метрики, но и её смысл. 2️⃣ Упростить запрос до примитива В отчётах и запросах всегда есть несколько слоев: сырые данные (логи заказов/событий) ➔ агрегация метрик по разрезам ➔ финальный расчет метрик с учетом фильтров. Если цифры не сходятся, то идём вниз: — берём одну таблицу (например, таблицу с заказами); — убираем все JOIN и фильтры; — проверяем базовую агрегацию; — затем добавляем шаги обратно по одному. Расхождение почти всегда появляется на одном конкретном слое трансформации. 3️⃣ Проверить кардинальность JOIN’ов Одна из самых частых причин расхождения — JOIN, который ведёт себя не так, как мы от него ждали. Например, кажется, что связь должна быть 1-к-1, а на деле получается 1-к-N. В e-grocery это можно понять по разным признакам: в одном заказе может быть несколько позиций, товар при сборке могут заменить, часть товаров могут отменить, а у заказа может быть несколько событий со статусами. Если не учесть это в логике соединения таблиц, цифры начинают незаметно расходиться. Обычно это видно по симптомам: выручка как будто немного выросла, заказов стало подозрительно больше, а средний чек начал «плавать». В такой момент стоит проверить не только условие JOIN, но и то, сколько строк получается до и после него. 4️⃣ Сравнивать не агрегаты, а строки Когда в одном отчёте 100 млн, а в другом 102 млн, сама по себе разница почти ничего не объясняет. Гораздо полезнее найти конкретные заказы, события или товары, которые эту разницу создают. Что делать? — вместо того, чтобы спорить на уровне итоговых чисел, берём разницу двух выборок до строк; — ищем, какие идентификаторы заказов есть в одной строке, но отсутствуют в другой; — проверяем, на каком шаге они появились/исчезли; После этого несложного шага часто сразу видно причину ошибки: отмена, а может дубль события или JOIN. Возможно какие-то вещи являются базовыми, но про них стоит вспомнить лишний раз, чтобы тратить меньше времени на работу и не беспокоиться за отчёт.
1 997
7
🔄 Всё, что вы забыли обновить, будет использовано против стабильности Когда сервисов много, метрики, дашборды и алерты должн
🔄 Всё, что вы забыли обновить, будет использовано против стабильности Когда сервисов много, метрики, дашборды и алерты должны меняться вместе с системой. Иначе это очень быстро превращается в проблему доверия к данным. В новой статье, Вячеслав Литкович, руководитель группы SRE-инженеров, рассказывает, как мы выстраивали SLO-подход в большой продуктовой инфраструктуре. Поговорим про: 📌 первые SLI и дашборды 📌 error budget и почему он не всегда удобен в ежедневной работе 📌 бизнес-процессы, которые нельзя описать одной метрикой 📌 странные кейсы с Kafka, inbox/outbox и низким трафиком 📌 автогенерацию Grafana-дашбордов 📌 декларативные индикаторы и эскалации как код 🏃 Читайте на Хабре!
2 352
8
⏰ Разработка без стресса — кажется, что это невозможно Не всё в разработке решается новым фреймворком или ещё одним сервисом.+8
⏰ Разработка без стресса — кажется, что это невозможно Не всё в разработке решается новым фреймворком или ещё одним сервисом. Иногда стоит немного пересмотреть то, как мы сами работаем. Собрали пост про вещи, которые кажутся базовыми, но о них очень легко забыть в круговороте задач и созвонов. А какими приёмами пользуетесь вы, чтобы сохранять своё душевное спокойствие? Делитесь в комментариях!
2 146
9
💔 Что делать, если упала производительность? Плохой план обычно выглядит так: посмотреть логи → открыть код → предположить с+6
💔 Что делать, если упала производительность? Плохой план обычно выглядит так: посмотреть логи → открыть код → предположить самое очевидное → ошибиться → повторить ещё несколько раз. Чтобы не тратить много времени на поиск проблемы, в Go есть pprof — встроенный профилировщик, который показывает, где сервис действительно тратит ресурсы. В карточках инженер-разработчик на Go Артём Юзюк рассказывает, как с его помощью искать утечки горутин, проблемы с памятью и горячие точки в коде.
2 229
10
CodeFest всё! Насыщенные вышли выходные 🚀 Делимся атмосферным видео и рассказываем, как это было. Мы собирали башню из купер
CodeFest всё! Насыщенные вышли выходные 🚀 Делимся атмосферным видео и рассказываем, как это было. Мы собирали башню из куперян, играли в крокодила с нейросетью, разбирались в архитектуре, делились историями об инцидентах и просто очень круто проводили время. Спасибо всем, кто был с нами! И Новосибирску за теплый прием. Вы супер, CodeFest в сердечке, а общение бесценно. ❤️
1 749
11
🔥 Передаём привет от нашей команды с CodeFest! Мы тут со стендом, хорошим настроением и инженерными разговорами — заглядывай, пока конференция в самом разгаре.
1 721
12
Відеоповідомлення
1 603
13
🎉 Хабру исполняется 20 лет! А значит, самое время вспомнить, как всё начиналось! Собрали ретро-карточки, в которых вспоминае+5
🎉 Хабру исполняется 20 лет! А значит, самое время вспомнить, как всё начиналось! Собрали ретро-карточки, в которых вспоминаем ранний Хабр и рассказываем, когда там появился Купер.тех. И раз уж сегодня говорим про Хабр, есть ещё один приятный повод. Сразу три наших статьи попали в шорт-лист премии «Технотекст»: ✨«Как запускать проекты без команды? Главное о кросс-командном проджект-менеджменте» — Марина Гончарова ✨«LLM‑разметка в поиске: от эксперимента к инструменту» — Александр Баранов ✨«Три мушкетера из мира DevSecOps. Внедряем инструменты для развития AppSec-процессов» — Максим Коровенков Гордимся ребятами! ❤️
2 175
14
⚡️Новосибирск, мы едем! 30–31 мая будем со стендом на конференции CodeFest, где можно будет пообщаться с нашими экспертами, з
⚡️Новосибирск, мы едем! 30–31 мая будем со стендом на конференции CodeFest, где можно будет пообщаться с нашими экспертами, задать вопросы, поучаствовать в активностях и просто провести время по-соседски, как мы любим. Если планируете быть на CodeFest, заглядывайте к нам. Будем рады познакомиться или увидеться снова.❤️
1 953
15
🌍Тестировать нельзя надеяться В Купер.тех много микросервисов, интеграций и сценариев, которые завязаны друг на друга. Поэто
🌍Тестировать нельзя надеяться В Купер.тех много микросервисов, интеграций и сценариев, которые завязаны друг на друга. Поэтому тестирование здесь редко ограничивается проверкой одной фичи: важно понимать, как изменение поведёт себя в системе целиком и что будет под нагрузкой. В мини-интервью Арсений Лагутин, руководитель обеспечения качества тестирования, рассказал, как в большом e-commerce-продукте подходят к QA: 👉 Проверяете ли вы отдельные сервисы изолированно или чаще тестируете пользовательский путь целиком? Основной объем нашей системы представляют собой микросервисы. Подход и уровни тестов зависят от задачи, модулей системы, которые она затрагивает или влиянию на пользовательский путь. Новую реализованную фичу в ветке стараемся проверять на изолированном окружении для сохранения гигиены master. Здесь же запускаем изолированные функциональные и интеграционные автотесты. Далее, при необходимости, проводится ручное интеграционное тестирование и Е2Е, а также приемочное на production или stage окружениях. 👉 Какие инструменты и подходы используете для автоматизации тестирования? Тут у нас «сборная солянка». Для автоматизации используем Golang, Python, JS (Detox) и TS (Playwright). Определяем уровни автоматизации под потребности системы и команды, а зону ответственности делим между QA и разработчиком. Автоматизируем в рамках своей предметной области и стараемся запускать прогоны на каждое новое изменение сервиса. Автоматизацией занимается QA в продуктовой команде, а не отдельный департамент. За счет глубокого знания тестируемой области повышаем эффективность автотестов и стараемся привлекать разработку для разбора упавших автотестов в рамках создаваемых ими изменений. 👉 Как вы понимаете, что система готова к высоким нагрузкам и «переживёт» сезонный пик? Ориентируемся на цели бизнеса прежде всего. Основным фактором для нас является ожидаемое число заказов. В компании имеется инструменты для проведения нагрузочного тестирования как на stage, так и на production окружениях изолированно для сервисов и Е2Е (в связке) на отдельных тестовых сущностях. Нагрузочное тестирование проводим на регулярной основе и в рамках валидации крупных изменений. Успехом является соответствие ожидаемой выдерживаемой нагрузки относительно бизнес-целей и реальной, полученной на production-окружении. В случае отклонений анализируем, проводим оптимизации и повторяем, пока всё не будет хорошо работать. 👉 Насколько QA вовлечён в продуктовые решения? QA подключаем к ранним этапам SDLC. Для нас это окончание Discovery, когда продукт сформировал свое видение задачи и оформил по нему ожидания. Из-за отсутствия формализации требований не проводим классического анализа, а вместе с командой разбираемся, как задача должна работать технически, какие есть риски и какой подход выбрать. Так удаётся заранее заметить, где ожидания продукта могут расходиться с техническими ограничениями или логикой системы. В итоге часть ошибок мы ловим ещё до разработки, а значит быстрее и дешевле доводим задачу до релиза.
2 243
16
🌍Тестировать нельзя надеяться В Купер.тех много микросервисов, интеграций и сценариев, которые завязаны друг на друга. Поэто
🌍Тестировать нельзя надеяться В Купер.тех много микросервисов, интеграций и сценариев, которые завязаны друг на друга. Поэтому тестирование здесь редко ограничивается проверкой одной фичи: важно понимать, как изменение поведёт себя в системе целиком и что будет под нагрузкой. В мини-интервью Арсений Лагутин, руководитель обеспечения качества тестирования, рассказал, как в большом e-commerce-продукте подходят к QA: 👉 Проверяете ли вы отдельные сервисы изолированно или чаще тестируете пользовательский путь целиком? Основной объем нашей системы представляют собой микросервисы. Подход и уровни тестов зависят от задачи, модулей системы, которые она затрагивает или влиянию на пользовательский путь. Новую реализованную фичу в ветке стараемся проверять на изолированном окружении для сохранения гигиены master. Здесь же запускаем изолированные функциональные и интеграционные автотесты. Далее, при необходимости, проводится ручное интеграционное тестирование и Е2Е, а также приемочное на production или stage окружениях. 👉👉Какие инструменты и подходы используете для автоматизации тестирования? Тут у нас «сборная солянка». Для автоматизации используем Golang, Python, JS (Detox) и TS (Playwright). Определяем уровни автоматизации под потребности системы и команды, а зону ответственности делим между QA и разработчиком. Автоматизируем в рамках своей предметной области и стараемся запускать прогоны на каждое новое изменение сервиса. Автоматизацией занимается QA в продуктовой команде, а не отдельный департамент. За счет глубокого знания тестируемой области повышаем эффективность автотестов и стараемся привлекать разработку для разбора упавших автотестов в рамках создаваемых ими изменений. 👉👉Как вы понимаете, что система готова к высоким нагрузкам и «переживёт» сезонный пик? Ориентируемся на цели бизнеса прежде всего. Основным фактором для нас является ожидаемое число заказов. В компании имеется инструменты для проведения нагрузочного тестирования как на stage, так и на production окружениях изолированно для сервисов и Е2Е (в связке) на отдельных тестовых сущностях. Нагрузочное тестирование проводим на регулярной основе и в рамках валидации крупных изменений. Успехом является соответствие ожидаемой выдерживаемой нагрузки относительно бизнес-целей и реальной, полученной на production-окружении. В случае отклонений анализируем, проводим оптимизации и повторяем, пока всё не будет хорошо работать. 👉 👉Насколько QA вовлечён в продуктовые решения? QA подключаем к ранним этапам SDLC. Для нас это окончание Discovery, когда продукт сформировал свое видение задачи и оформил по нему ожидания. Из-за отсутствия формализации требований не проводим классического анализа, а вместе с командой разбираемся, как задача должна работать технически, какие есть риски и какой подход выбрать. Так удаётся заранее заметить, где ожидания продукта могут расходиться с техническими ограничениями или логикой системы. В итоге часть ошибок мы ловим ещё до разработки, а значит быстрее и дешевле доводим задачу до релиза.
1
17
Немає тексту...
1
18
👀 Иногда случайно узнаёшь прошлую специализацию коллеги — и потом уже невозможно смотреть на него как раньше. Собрали истори+5
👀 Иногда случайно узнаёшь прошлую специализацию коллеги — и потом уже невозможно смотреть на него как раньше. Собрали истории ребят из нашей команды о том, как они меняли профессии, учились с нуля, писали OpenSource-проекты, строили дороги, переводили с японского и в какой-то момент поняли, что хотят заниматься технологиями. Сейчас все они работают в Купер.тех и развивают наши продукты. 🏃Если у вас тоже есть такая история — делитесь в комментариях!
2 267