Pull to refresh
0
0
Send message

React Native — серебряная пуля для всех проблем? Как мы выбирали кросс-платформенный инструмент для Profi.ru

Reading time7 min
Views6.2K
Всем привет, меня зовут Геворг. Я Head of Mobile в Profi.ru. Хочу поделиться с вами историей нашего эксперимента с React Native. Расскажу, как мы оценивали плюсы и минусы разработки на React Native — в теории и на практике. Статья будет полезна тем, кто интересуется кросс-платформенной мобильной разработкой, но пока не решил, идти в эту сторону или нет.

Максимальное ускорение



Всё началось с того, что мы решили ускорить разработку в 10 раз на уровне компании. Поставили невыполнимую цель, чтобы выйти за привычный горизонт событий и попробовать новое. Все команды разработки Profi.ru взялись за эксперименты. На тот момент в компании было 13 нативных мобильных разработчиков, включая меня и двух тимлидов. Моя команда работала над двумя мобильными приложениями. В первом клиенты ищут специалистов, во втором — специалисты клиентов. Для меня этот период был непонятным и эмоционально напряжённым. По моим ощущениям, мы и так много делали, чтобы всё работало быстро.

Использовали общую архитектуру на всём проекте и следили за чистотой кода. Использовали генераторы, которые создают все файлы модулей. Всю бизнес-логику старались выносить на backend. Настроили CI/CD, а приложения покрыли E2E-тестами. За счёт всего этого стабильно релизили некоторые приложения раз в неделю. Я понятия не имел, как ускорить разработку даже в два раза. Куда уж в 10. Поэтому мы определили, что для нас важно.
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments12

Python: метапрограммирование в продакшене. Часть первая

Reading time12 min
Views31K

Многие считают, что метапрограммирование в Python излишне усложняет код, но если использовать его правильно, то можно быстро и элегантно реализовать сложные паттерны проектирования. Помимо этого, такие известные Python-фреймворки, как Django, DRF и SQLAlchemy, используют метаклассы, чтобы обеспечить легкую расширяемость и простое переиспользование кода.



В этой статье расскажу, почему не стоит бояться использовать метапрограммирование в своих проектах и покажу, для каких задач оно подходит лучше всего. Еще больше о возможностях метапрограммирования можно узнать на курсе Advanced Python.

Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments7

«Нужно быть ленивым, чтобы стать хорошим тестировщиком»

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



Вместе с руководителем отдела QA/QC в Redmadrobot и куратором нашего курса Software Testing Marishunya_QA мы разобрались, какими навыками нужно обладать тестировщику, куда можно развиваться в тестировании, с чем на самом деле связана текучка кадров и почему даже хорошим программистам не следует брать на себя обязанности тестировщика.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments4

Языковой барьер и NLP. Почему чат-боты нас не понимают?

Reading time7 min
Views8.8K
Люди давно хотели научить машину понимать человека. Однако только сейчас мы немного приблизились к сюжетам фантастических фильмов: можем попросить Алису убавить громкость, Google Assistant — заказать такси или Siri — завести будильник. Технологии языкового процессинга востребованы в разработках, связанных с построением искусственного интеллекта: в поисковых системах, для извлечения фактов, оценки тональности текста, машинного перевода и диалога.


О двух последних направлениях мы и поговорим: они имеют богатую историю и оказали значительное влияние на языковой процессинг. Кроме того, разберемся с основными возможностями обработки естественного языка при создании чат-бота вместе со спикером нашего курса AI Weekend компьютерным лингвистом Анной Власовой.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments3

Изучаем климат городов России с помощью Python

Reading time6 min
Views12K
На Python можно работать с данными и визуализировать их. Пользуются этим не только программисты, но и ученые: биологи, физики, социологи. Сегодня мы вместе с shwars, куратором нашего курса Python jumpstart for AI, ненадолго превратимся в метеорологов и изучим климат городов России. Из библиотек для визуализации и работы с данными используем Pandas, Matplotlib и Bokeh.



Сами исследования мы проводим в Azure Notebooks — облачной версии Jupyther Notebook. Таким образом для начала работы с Python нам не потребуется ничего устанавливать себе на компьютер и работать можно будет прямо из браузера. Необходимо лишь осуществить вход со своим Microsoft Account, создать библиотеку и в ней — новый ноутбук Python 3. После чего можно брать фрагменты кода из этой статьи и экспериментировать!
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments4

Как управлять командой и собой: 15 книг для менеджера проекта

Reading time3 min
Views23K
image

Преподаватели курса Project management in IT — менеджеры из «МегаФона», OneTwoTrip, Redmadrobot составили список книг на лето, которые пригодятся каждому проджекту. Узнайте, зачем современному менеджеру древний военный трактат, что общего между котами и разработчиками и где ошибались CEO General Motors и Zappos.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments7

От гордыни до отчаяния: четыре ошибки в продуктовом мышлении

Reading time4 min
Views6.3K
image

Хороший продакт всегда думает о проблемах пользователя, интересах компании и о том, что надо сделать, чтобы обе стороны были довольны. Это и есть продуктовое мышление. Оно помогает принимать решения и находить точки роста. Но даже у опытных менеджеров бывают слепые зоны — незаметные ловушки, которые приводят к ошибкам. Спикер курса Product Owner Weekend Алексей Авдей — директор сайта sberbank.ru, ранее — Chief Product Officer «ЦИАН» и руководитель Яндекс.Маркета, перечислил типичные ошибки на каждом из этапов жизни продукта и рассказал, как с ними бороться.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments0

Information

Rating
Does not participate
Registered
Activity