Pull to refresh
63
0
Александр @Treg

CTO

Send message

Новогоднее настроение от разработки Яндекс.Практикума

Reading time2 min
Views4.5K


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

Меня зовут Александр Трегер, я руковожу разработкой платформы профессий Практикума. В посте расскажу, что мы сделали.
Читать дальше →
Total votes 20: ↑13 and ↓7+6
Comments4

История одного лендинга

Reading time5 min
Views27K
Здравствуйте, дорогие хабравчане! В этом посте я хочу рассказать о том, как и в какую цену я заказывал сайт у фрилансеров, в какие сроки я получил результат и что из этого сделал сам. Задача была создать “лендинг-магазин”: одностраничный сайт для двух товаров, с возможностью сразу же сделать заказ через полнофункциональную корзину.

Этот пост содержит совсем немного технических подробностей и рассказывает больше о рабочем процессе и взаимодействии с людьми.

Сколько стоит лендинг у фрилансера?
Total votes 39: ↑31 and ↓8+23
Comments55

PHP UK Conference 2016

Reading time5 min
Views6.3K
В начале каждого года мы с коллегами составляем список интересных нам конференций, как российских, так и зарубежных. Поскольку я многократно посещал «конференции широкого профиля», то в этот раз решил посетить более узкоспециализированную, и мой выбор пал на PHP UK Conference.

PHP UK Conference проводится с 2006 года и изначально задумывалась как профильная конференция для местного PHP-сообщества, где разработчики могли бы делиться знаниями и узнавать из первых уст о об опыте профессионалов и последних достижениях в индустрии.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments0

PHP-фреймворк Badoo

Reading time10 min
Views29K
Код нашего сайта повидал уже не одну версию PHP. Он неоднократно дополнялся, переписывался, модифицировался, рефакторился — в общем, жил и развивался своей жизнью. В это время в мире появлялись и исчезали новые best practice, подходы, фреймворки и тому подобные явления, облегчающие жизнь разработчику и готовые решить все основные проблемы, возникающие в процессе создания веб-сайтов.
В этой статье мы расскажем о нашем пути: как был организован код изначально, какие возникали проблемы и как появился текущий фреймворк.

Что было


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

С архитектурной точки зрения это выглядело так: были объекты страниц, наследуемые от целой иерархии базовых классов, отвечающих за инициализацию окружения, сессии, пользователя и т.п. Каждая страница сама решала, когда, как и что ей выводить, делать редирект и т.п. В иерархии базовых классов было собрано много вспомогательных функций для инициализации и генерации стандартных блоков страниц, проверки пользователей, показа промежуточных промо-страниц и т.п. Со временем большинство из них было переопределено наследниками до неузнаваемости, что в разы усложнило и понимание того, как работает сайт, и саму поддержку кода.
Читать дальше →
Total votes 73: ↑56 and ↓17+39
Comments39

Система офлайн-уведомлений Badoo

Reading time6 min
Views80K
Для того чтобы пользователи, находясь офлайн, узнавали о событиях на сайте, мы создали специальную систему уведомлений. В её задачи входит аккумулировать события для пользователя и в нужный момент сообщать о них через доступные каналы связи, такие как электронная почта и push-уведомления на смартфоны.
Как организовано хранение событий? О каких событиях приходят уведомления? В какой момент они отправляются и по какому принципу? Сегодня мы постараемся ответить на все эти и другие вопросы.

Статья дает общее описание архитектуры системы с небольшими техническими подробностями и будет интересна тем, кто только собирается или уже каким-то способом уведомляет своих пользователей обо всём новом, что произошло за время их отсутствия на сайте (в приложении, сервисе и т.п.)

Читать далее...
Total votes 62: ↑57 and ↓5+52
Comments8

Процесс разработки в Badoo

Reading time8 min
Views38K
Сегодня мы проведём экскурсию по цеху разработки Badoo, в котором создаётся новый функционал нашего сайта, расскажем о самом процессе — от постановки задачи и до момента выкладки в боевое окружение.

За время существования компании её рабочий процесс эволюционировал от стохастического к хорошо контролируемому и понятному. Ещё полтора-два года назад никто точно не мог ответить на вопрос, какие задачи попали в сегодняшнюю выкладку, а менеджер опрашивал программистов, кто и что выложил. Сейчас же процесс максимально автоматизирован, таск-трекер тесно связан с системой контроля версий, задачи проходят несколько стадий проверки. При этом сохранилась высокая скорость разработки: нормальной считается ситуация, когда задача появилась утром, а после обеда новый функционал уже доступен пользователям на сайте.
Что ж, пройдём?
Total votes 108: ↑89 and ↓19+70
Comments80

Приглашаю всех в кино!

Reading time1 min
Views803
Здравствуйте, уважаемые хабрапользователи! Я очень люблю ходить в кино и полагаю, что многие из вас так же часто или не очень посещают кинотеатры. Мне долгое время не хватало удобного, а главное, быстрого поиска по ближайшим сеансам, как по времени так и местоположению. В связи с этим я решил сделать свой собственный сайт с расписанием сеансов, удовлетворяющий этим требованиям — kinogeo.ru

На сайте есть возможность отфильтровать расписание по нескольким фильмам, выбрать время и место. Практически по всем фильмам можно сразу же посмотреть трейлер. К некоторым доступно описание и отзывы с твиттера.

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

На данный момент доступно расписание для двух городов — Москва и Санкт-Петербург. Ближайший к вам город автоматически определяется по ip. В скором времени планируется добавить многие другие города, а также мобильную версию и возможность бронирования билетов.

Пользуйтесь на здоровье! Готов ответить на технические вопросы по реализации как серверной так и клиентской части.
Total votes 34: ↑29 and ↓5+24
Comments33

Стоит ли хранить предпочтения незарегистрированных пользователей?

Reading time1 min
Views916
Создаем новый проект тематических блогов. Встал вопрос хранения интересов и предпочтений пользователя до регистрации в системе.

Вариант 1. Предпочтения пользователя накапливаются только после регистрации. До регистрации или авторизации выдача материала формируется без учета интересов юзера.

Вариант 2. Неавторизованный пользователь просматривает какие-то топики, смотрит интересующие статьи, в это время для его сессии накапливается набор предпочтений и в соответствии с ними формируется выдача. Как только пользователь проходит регистрацию, этот набор предпочтений окончательно к нему привязывается. Либо, если он проходит авторизацию, в определенном случае (личный компьютер), предпочтения суммируются с уже существующими в его профиле.

Второй вариант кажется очень интересным, но в то же время, относительно неудобным в плане реализации. Хотелось бы услышать Ваше мнение.
Total votes 31: ↑25.5 and ↓5.5+20
Comments41

wysiwyg своими руками

Reading time3 min
Views24K
Существует куча платных\бесплатных визуальных редакторов на любой вкус и цвет. Но что, если они работают не во всех браузерах, Вас не устраивает дизайн или функциональность, или просто душа лежит к написанию своего собственного? Ответ на вопрос, как это сделать —
Читать дальше →
Total votes 71: ↑61.5 and ↓9.5+52
Comments47

Шесть советов по написанию более понятного программного кода

Reading time1 min
Views575
Достаточно давно я прочел статью Джеффа Вогела — «Six ways to write more comprehensible code», наверняка, кто-то знаком с ней. На меня она оказала очень большой эффект, в некотором смысле открыла глаза и помогла сделать мой код лучше.
ссылки и краткое содержание
Total votes 11: ↑7 and ↓4+3
Comments26

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity