Как стать автором
Обновить

Компания Учи.ру team временно не ведёт блог на Хабре

Сначала показывать

Оптимизация и автоматизация в бэкенд-разработке мобильных приложений: как ускорить разработку в четыре раза

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

Привет, Хабр! Меня зовут Александр Меркулов, я занимаюсь разработкой более 20 лет, с 2011 года пишу на Ruby. Сейчас я — backend-техлид в Учи.ру. Наша команда использует большой монолит, который написан на Rails. Также мы создаем и поддерживаем микросервисы, у нас есть нативная мобилка: целых четыре приложения под веб-платформу.

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

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

Как написать проект по автоматизации на Python, Pytest и Playwright и настроить запуск автотестов в CI с нуля

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

Привет, Хабр! Меня зовут Александр Бехтерев, я работаю QA-инженером в Учи.ру. Не так давно перед нами встала задача перехода с библиотеки Selenium на новую и мощную библиотеку Playwright. Этот переход был вызван желанием улучшить процессы тестирования и попробовать что-то новое. 

В этой статье я постараюсь подробно рассмотреть процесс создания проекта на Python, Pytest и Playwright с применением паттерна Page Object, а также оставлю шаблон yml, который позволит запускать автотесты в CI. 

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

Как контракты помогают QA-специалисту не «сгореть» от багов в приложении

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

Привет, Хабр! Меня зовут Ирина Иванова, я работаю QA-инженером в команде разработки внутренних проектов в Учи.ру. Мы занимаемся такими сервисами, как виджет поддержки, личный кабинет сотрудников пользовательской поддержки, карьерный сайт и так далее. 

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

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

Как реагировать на негатив в экспертных статьях и не потерять мотивацию

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

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

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

Команда HR-бренда Учи.ру решила разобраться, как реагировать на критику и негатив в комментариях, чтобы не потерять мотивацию, и почему авторам важно продолжать делиться своим опытом на внешних площадках.

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

Сделали библиотеку компонентов, но пришлось переделывать. Почему так вышло и чем дело кончилось

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

Привет, Хабр. Меня зовут Артем Арефьев, я руковожу Frontend-разработкой в направлении продукта для учеников в Учи.ру. Фронтендом занимаюсь уже 11 лет, шесть из которых работаю у нынешнего работодателя. Еще принимаю участие в проектах Open Source (например, внес вклад в проект Lerna), несколько лет был наставником в «Хекслет». Хочу рассказать о том, как у нас в Учи.ру возникла необходимость в создании библиотеки компонентов, почему первое решение не сработало, какие выводы мы сделали и чем закончился наш проект библиотеки.

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

Информатика в России: от ЭВМ и «бейсика» до проекта «Код Будущего»

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

Привет, Хабр! Меня зовут Александр Спирин и я — учитель информатики и методист в команде Учи.ру. Вместе с коллегами создаю интерактивные задания для школьных курсов по программированию, и даже немного завидую детям: ведь в наше время таких курсов не было.

Сейчас информатика — весьма важная дисциплина: технологии тесно вплетены во все сферы жизни. Мы читаем новости, смотрим фильмы, играем и учимся онлайн. Практически все профессии связаны с использованием профессиональных программ, а цифровые специальности приобрели огромную популярность. 

Мы в Учи.ру делаем курсы по программированию для детей от 7 лет, собираем их отзывы — и видим, что сфера IT очень привлекает школьников. Если в прошлом веке ребята грезили о карьере космонавтов или футболистов, то теперь мечтают стать разработчиками, тестировщиками, UX-дизайнерами. 

Просто удивительно, какие масштабные изменения происходят буквально на наших глазах — ведь каких-то 40 лет назад никакой информатики в школе не было (зато было кое-что другое). Сегодня предлагаю вам вместе разобраться, когда и как появилась информатика в школе и как менялся процесс обучения: будет интересно!

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

Как и зачем проводить интегральный мониторинг SSR-приложений

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

Привет, Хабр! На связи команда Frontend-разработки Учи.ру. Знаем, что сейчас активно развиваются SSR-фреймворки — Next.js и другие. Если ваше приложение создано с использованием подобной технологии, вы можете отслеживать корректность его работы с помощью интегрального мониторинга. В этом материале мы расскажем, почему он важен, какие инструменты позволяют его проводить, как с ним работать Frontend-разработчику. И конечно, поделимся своим опытом — как нашли и исправили серьезную ошибку в продукте.

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

Свидание с клиентом: как провести онбординг по правилам онлайн-знакомств

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

Привет, Хабр! Меня зовут Юра Золотухин, я — Product Owner в Учи.ру. Наша компания создает образовательные курсы для школьников, а непосредственно моя команда отвечает за первую сессию пользователя: его знакомство с преимуществами продукта и тарифами, объяснение ценности.

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

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

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

Новый тимлид на удаленке: как перестать быть «говорящей головой» и заручиться поддержкой команды

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

Привет, Хабр! Меня зовут Надя Терехова, я руководитель дизайна в отделе продукта для младшей школы Учи.ру. Я работаю в компании немногим больше года: за это время мне удалось не только показать результат для бизнеса, но и завоевать доверие команды (хотя это было довольно сложно в условиях удаленки). Сегодня я поделюсь своим опытом и расскажу, куда новому тимлиду лучше направить фокус в первые месяцы работы и как заручиться поддержкой команды.

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

Новые вспомогательные сервисы и инструменты: итоги года глазами команды разработки Учи.ру. Часть II

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

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

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

JWT, FSD и сервисный подход. Итоги года глазами команды разработки Учи.ру

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

Привет, Хабр! Команда Учи.ру традиционно подводит итоги учебного года. Для нас — это сезон не только крупных продуктовых релизов, но и изменений под ИТ-капотом Учи.ру. Сегодня команда поделится, что нового произошло в архитектуре и разработке платформы и что сподвигло их на эти изменения.

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

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

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

Привет, Хабр! Меня зовут Анастасия Скворцова и я младший Frontend-разработчик в компании Учи.ру. Некоторое время назад я полностью поменяла профессию — из архитектуры и дизайна ушла в IT. Хочу рассказать, как у меня получилось найти работу в нестабильных условиях, с какими трудностями я столкнулась в первые дни и какие ошибки совершила.

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

Как организовано управление маршрутизацией приложений в Учи.ру

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

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

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

Real-time аналитика в Учи.ру: как смотреть сложные метрики

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

Привет, Хабр! Меня зовут Андрей Скиба и я Python-разработчик в ML-команде Учи.ру. Разным командам в нашей компании важно получать доступ к ключевым метрикам пользователей (количество сессий, DAU и другим) в режиме реального времени. Поэтому мы создали свою собственную систему real-time аналитики — быструю, простую и с удобным для нас функционалом. Сегодня я расскажу, как она устроена. 

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

Тестирование remote push notifications на iOS, когда используем Firebase Cloud Messaging

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

Привет, Хабр! Меня зовут Максим Толстиков и я iOS-разработчик в Учи.ру. Для отправки пуш-уведомлений наша команда использует Firebase Cloud Messaging. Недавно у нас появилась задача — написать свой шаблон запроса на отправку тестового пуша, который будет эмулировать работу бэкенда. При этом нам важно было оставить  возможность кастомизировать payload, чтобы независимо от инфраструктуры компании разрабатывать клиентскую часть пушей. В ходе решения задачи выяснилось, что Cloud Messaging не так уж и прост — пришлось немало потрудиться, чтобы в нем разобраться. Если вы собираетесь разрабатывать подобные запросы, наша статья поможет вам сэкономить время и силы.

Материал рассчитан на тех, кто уже имеет некоторые навыки в программировании и в целом знаком с iOS, командной строкой, сталкивался с сервисами Firebase и понимает, как устроены пуш-уведомления.

Читать далее
Рейтинг0
Комментарии2

Специфика DataOPS в Учи.ру

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

Привет, Хабр! Меня зовут Сергей Поляков и я DataOps‑инженер в Учи.ру. Наша платформа объединяет почти 19 млн пользователей, которые совершают сотни миллионов действий. При этом нам важно хранить эти данные, чтобы совершенствовать продукт. Главная задача Data‑инженеров — поддерживать стабильную инфраструктуру и внедрять инструменты для централизованной работы с данными. Я расскажу, какие решения по автоматизации и DevOps‑практики мы используем для этого.

Инфраструктура и источники данных

Наша инфраструктура располагается на проекте Data Warehouse. Примерный объем хранилища данных — около 100 ТБ и ежедневная дельта — в районе 10 ТБ. Все данные мы размещаем в облачном хранилище от Selectel.

Основными источниками данных являются:

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

Хуки в React — как надо, когда не надо и нужны ли свои?

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

В 16.8 версии библиотеки React впервые появились хуки (hooks) — функции, которые упрощают работу с компонентами React и переиспользованием какой-либо логики. В экосистеме React уже есть много дефолтных хуков, но также можно создавать и свои. Я Михаил Карямин, фронтенд-разработчик в Учи.ру, расскажу, как и в каких случаях хуки в React облегчают жизнь разработчику и как с ними работать.

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

Инкрементация и сохранение сборки на CI

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

Привет, Хабр! Меня зовут Паша Филимонов и я Android-разработчик в Учи.ру. Наша небольшая команда занимается разработкой мобильных приложений — «Учи.ру» и «Учи.ру для учителей». Мы сторонники автоматизации и считаем, что настройка CI/CD необходима  для улучшения процессов разработки продукта. Каждый раз, приступая к новой сборке приложения, нам приходилось вручную прописывать ее код версии. Это довольно рутинная задача, которую мы решили автоматизировать. Рассказываю, как мы это сделали.

Читать далее
Рейтинг0
Комментарии10

Как в Учи.ру построили платформу для анализа A/B-тестов на ClickHouse

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

Привет, Хабр! Меня зовут Федор Тюрин, я руководитель команды продуктовой аналитики в Учи.ру. Мы проводим очень много А/Б-тестов (десятки запусков в неделю и сотни в течение года). В таких условиях очень важна автоматизация процесса анализа и подведения итогов теста.

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

Архитектура Учи.ру: облака, модульность и унификация

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

В этом году Учи.ру исполняется 10 лет. За это время компания пережила технологические и архитектурные трансформации. Она выросла из простого сайта, где можно было решать примеры на счёт столбиком, до группы компаний с курсами по школьным и внешкольным предметам, олимпиадами и многим другим. Команда научилась справляться с внезапным усилением трафика, одновременно запускать несколько задач и «распиливать» огромный монолит на кусочки.

Сейчас может показаться, что все используемые нами решения стандартны, но в далеком 2012 году мы внедряли их одними из первых. Я, Алексей Вахов, директор по инновациям Учи.ру, расскажу о ключевых технологиях и архитектурных принципах, которые лежат в основе платформы.

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии1
Изменить настройки темы