В стендап-митингах приходится участвовать каждый день. Зачастую их проводят утром, например, через час после начала рабочего дня. Стендапы — это важная составляющая процесса разработки, в частности, позволяющая распространяться знаниям о проекте в команде. Поэтому очень важно сохранять этот процесс эффективным и не допускать превращения его в нудные «бубнилки». Мы определили три простых правила, которые нам помогают в этом.
вторник, 22 декабря 2015 г.
четверг, 17 декабря 2015 г.
Работа с кастомными поддоменами в веб-приложении Django
В нашей компании сейчас идет разработка SaaS-системы для вендоров, чье программное обеспечение продается по подписке. Зарегистрировавшись в нашей системе, вендор может создать поддомен, на котором будет отображаться сайт с информацией об их компании и решении, которое они предлагают. Этот сайт можно всячески кастомизировать, но сейчас речь пойдет не об этом. Я хотел бы рассказать о том, как мы реализовали возможность создания кастомных поддоменов и их обработку.
вторник, 6 октября 2015 г.
Story Mapping: мощный инструмент в арсенале разработчиков
Эта статья снова родилась просто из повседневной практики. Признаться, Story Map для проектов мы начали строить не так давно, до этого мы обходились просто написанием общих концептов. Однако после внедрения Story Mapping мы сразу получили массу плюсов от этой практики. А плюсы эти появляются еще до того, как начинается непосредственно разработка проекта. В общем, сегодня расскажу о том, как мы это делаем и что в итоге получаем.
четверг, 24 сентября 2015 г.
Прозрачный процесс разработки ПО
У молодых компаний-разработчиков программного обеспечения одна из наиболее важных проблем, встающих на пути развития, заключается в невысоком уровне лояльности (доверия) [потенциальных] клиентов. В общем-то со временем, при условии качественной работы, она постепенно устраняется естественным образом. Однако, каким способом можно ускорить решение этого вопроса? Организацией прозрачного процесса разработки.
воскресенье, 5 июля 2015 г.
Проектирование высоконагруженных приложений. Часть 4. Отложенная обработка данных.
В предыдущих статьях мы рассмотрели основные способы оптимизации и масштабирования frontend-ов, backend-ов и баз данных. Этих начальных знаний уже достаточно для того, чтобы у вас в голове сложилось понимание того, как проектируются и работают распределенные системы, которым приходится обрабатывать огромное количество задач.
Сегодня мы попробуем разобраться с темой масштабирования во времени, т.е. как использовать знания о предметной области для того, чтобы обрабатывать данные не сразу, а только тогда, когда это нужно.
понедельник, 29 июня 2015 г.
Проектирование высоконагруженных приложений. Часть 3. База данных.
В предыдущей статье мы рассмотрели frontend и backend, разобрали возможные способы их оптимизации и масштабирования. В этой статье мы будем говорить о базах данных, очень важном звене в нагруженных системах. Попробуем разобраться, какие существуют подходы к масштабированию базы данных. Сразу скажу, что это, пожалуй, самая сложная тема.
воскресенье, 21 июня 2015 г.
Проектирование высоконагруженных приложений. Часть 2. Frontend и Backend.
В первой статье мы вспомнили все основные определения и понятия, чтобы дальше разговаривать на одном языке и понимать друг друга. Мы остановились на трехзвенной архитектуре и поняли, что каждое звено должно иметь свою зону ответственности: frontend делает первичную обработку запроса (возможно сразу отвечает клиенту), backend делает основные вычисления и обрабатывает данные, полученные от третьего звена, — хранилища.
Теперь давайте подробнее обсудим Frontend и Backend с точки зрения масштабирования и оптимизации.
Теперь давайте подробнее обсудим Frontend и Backend с точки зрения масштабирования и оптимизации.
понедельник, 15 июня 2015 г.
Проектирование высоконагруженных приложений. Часть 1. Начало.
Основным направлением деятельности нашей компании является создание интернет-проектов, потенциально рассчитанных на средние и высокие нагрузки. Такие проекты требуют иногда совершенно другого подхода к проектированию архитектуры в отличие от типичных корпоративных приложений. Нам приходится изучать много материалов по теме highload.
Этой публикацией я хочу начать серию небольших статей, в которых раскрою основные темы, необходимые для понимания устройства систем, рассчитанных на работу под высокими нагрузками. Эти статьи являются компиляцией нашего опыта, полученного при работе над сложными проектами, а также опыта наших коллег и материалов с конференций Highload++.
Начну с самого начала.
понедельник, 8 июня 2015 г.
Разработали новый проект
По просьбам наших друзей и коллег, разработали Track Radar — это веб-сервис, который в реальном времени анализирует лучшие музыкальные паблики VK.com по определенным направлениям, и показывает Вам выборку из треков, которые больше остальных понравились пользователям. Сегодня о нем и расскажу.
понедельник, 18 мая 2015 г.
Главное качество хорошего разработчика
За время своей профессиональной деятельности мне приходилось работать в самых разных командах. Больших и маленьких. Профессионально сильных и не очень. Когда я был тимлидом, ко мне постепенно начало приходить понимание того, чем хороший разработчик отличается от посредственного. Когда я открыл свою компанию, я стал еще больше в этом убеждаться.
Об этом качестве сегодня и пойдет речь. Это мое личное мнение и Вы, скорее всего, будете с ним не согласны.
вторник, 28 апреля 2015 г.
Мотивация или дисциплина?
Не сидеть на месте, что-то делать, выдергивать себя из зоны комфорта — все это требует мотивации... или дисциплины? Попробую написать записку прежде всего для самого себя.