Pull to refresh
20
0
Александр Андреев @alexandreyev

User

Send message

Как я делал самый популярный сайт о выборах

Reading time10 min
Views15K
Статистика President2012.ru Друзья, я хочу вам рассказать историю развития проекта president2012.ru. Сайт является лидером по тематике выборов президента России, за 3 месяца его посетило около 2 млн. человек, в пике имел до 20 тыс. посетителей онлайн и более 1 млн. хитов в сутки, задействовано было 3 сервера облака.

Интересных моментов в процессе работы над проектом набралось столько, что держать в себе эти знания я не могу, и хочу поделится с вами. Я понимаю, что многое, о чем я сейчас собираюсь рассказать, уже описано качественнее в специализированных разделах, и ничего нового я не открою. Моя задача скорее в том, чтобы через отдельные нюансы передать ту атмосферу, в которой проходила работа над проектом. А так же в миллионный раз с помощью success story показать таким же как я людям, что всё возможно и всё в их руках.

Кому это может быть интересно? Всем, кто так или иначе занимается созданием тематичных веб-сайтов и рассчитывает работать с высоконагруженными проектами.
Читать дальше →
Total votes 274: ↑253 and ↓21+232
Comments214

Техническое задание на сайт

Reading time11 min
Views698K
UPD: Продолжение статьи с примером техзадания

Не так давно на хабре были две статьи (Согласно техническому заданию и А зачем мне ТЗ? Я и так знаю!) посвященные техническим заданиям. У меня обе статьи вызвали, мягко говоря, недоумение, в особенности статья «Согласно техническому заданию». На мой взгляд, это вообще вредная статья, которая приводит к неверному понимаю сути ТЗ. В связи с этим хочу выразить свой взгляд на этот вопрос. Не буду говорить обо всех тех. заданиях, слишком широка тема, но думаю смогу рассказать о ТЗ на сайт.

То описание технического задания, о котором речь пойдет ниже, не является пересказом ГОСТа, но скорее является его творческой переработкой, хорошо сдобренной горьким опытом. Описанный ниже подход к ТЗ не охватывает все аспекты сайтостроения, но задает общее направление.

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

1. Обоснование необходимости ТЗ


А зачем вообще нужно ТЗ на сайт? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.

Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:



Далее много букв
Total votes 212: ↑209 and ↓3+206
Comments141

Единая авторизация пользователей с поддержкой нескольких сервисов

Reading time6 min
Views68K
Yii EAuth extension При реализации одного из проектов на Yii framework у меня возникла задача сделать регистрацию и авторизацию пользователей через сторонние сервисы (Google, Facebook, Twitter, etc).

У данной задачи есть два пути решения:
  • Использовать сервис авторизации, например Loginza;
  • Реализовывать функции авторизации самостоятельно для каждого сервиса.
UPDATE: Актуальная версия и инструкция по настройке доступны на github.com. Инструкция в данной статье подходит для EAuth версии <= 1.1.3.
Я выбрал второй вариант...
Total votes 148: ↑136 and ↓12+124
Comments105

Разработка мобильных приложений на Adobe Flash + AIR: обзор возможностей

Reading time14 min
Views26K
Недавно замечательная flash-игра Machinarium заняла 1 место в рейтинге платных игр для iPad. Тем не менее много талантливых разработчиков flash-игр с опаской смотрят в сторону мобильных платформ. На русском языке информации по теме крайне мало. Надеюсь эта статья немного улучшит положение вещей. Желаю приятного прочтения.


Читать дальше →
Total votes 54: ↑47 and ↓7+40
Comments38

Установка GSM-сигнализации на даче

Reading time6 min
Views61K
Для того, чтобы знать о том, что происходит с дачным домом в моменты отсутствия, я решил установить там охранную систему. Хочу поделиться со всеми этим опытом и деталями ее выбора и установки. Думаю, что многим это окажется полезным.

Выбор сигнализации
Вначале я проанализировал доступные варианты и понял, что мне подойдет GSM-сигнализация. Попытки выбрать что-то готовое и комплектное в магазинах типа OBI я оставил довольно быстро, т.к. то, что там продается достаточно дорого, изрядно китайско и не подходит для моей задачи по набору компонентов.

image
Головное устройство сигнализации.

В интернетах я прочитал про GSM-сигнализации и стал искать сайты продавцов. В результате нашлась одна контора, которая предлагала несколько головных блоков на выбор и к ним – всякие датчики и прочую комплектуху. Цена головного устройства в 4000 рублей устроила меня полностью и я стал прикидывать то, что требуется для покупки.
Читать дальше →
Total votes 142: ↑133 and ↓9+124
Comments163

GitHowTo — тур обучения гиту на русском

Reading time1 min
Views15K
image

Спешу поделиться радостной новостью о запуске проекта GitHowTo — интерактивного тура-обучалки основам Git.

За основу были взяты идеи gitimmersion.com, но переведены на русский язык и немного изменены под реалии не-ruby разработки, поэтому спешите любить и жаловать — githowto.com!

Буду чрезвычайно рад любым замечаниям и пожеланиям к проекту.
Total votes 179: ↑178 and ↓1+177
Comments68

Инструкция-шпаргалка для начинающих

Reading time2 min
Views133K
Если в один прекрасный момент вам ударило в голову желание насадить разумное, доброе, вечное, и пересадить всех с SVN на GIT, сразу встают три проблемы:
  • Объяснить зачем это нужно разработчикам и руководству
  • Ввести в обиход новую схему работы с кодом
  • Научить ничего не подозревающих девелоперов новым техникам
Читать дальше →
Total votes 117: ↑100 and ↓17+83
Comments67

Флаги 254 стран одним спрайтом

Reading time1 min
Views16K
Однажды, nickivanov нарисовал миниатюры для кучи разных флагов и выложил их в свободный доступ. А недавно, artpolikarpov собрал их в один спрайт и написал к нему удобный css, который позволяет легко отобразить любой флаг просто указанием нужного класса.

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

И был бы этот топик топиком-ссылкой, да по необъяснимым причинам не разрешает Хабр в топиках-ссылках указывать авторов, заслуживающих похвал. Так что вот они ссылки:
Описание: artpolikarpov.ru/projects/flags
Архив с флагами: artpolikarpov.ru/projects/flags/flags.zip
Total votes 215: ↑200 and ↓15+185
Comments39

Копирование объектов с помощью ByteArray

Reading time4 min
Views4.9K

Копирование простых объектов


Чаще всего ByteArray используют для копирования объектов. AMF сериализатор и десериализатор (не люблю эти слова, но не нашёл подходящего перевода) доступен через ByteArray API. Для дублирования объектов с помощью ByteArray мы будем использовать методы writeObject и readObject:

// Создаём пустой ByteArray
var stream:ByteArray = new ByteArray();
// Создаём объект
var parameters:Object = { age : 25, name : "Bob" };
// «Переводим» объект в формат AMF и сохраняем его в ByteArray
stream.writeObject( parameters );
// Сбрасываем позицию
stream.position = 0;
// Считываем объект
var objectCopy:Object = stream.readObject();

Читать дальше →
Total votes 44: ↑34 and ↓10+24
Comments10

12 навыков создания защищенных веб-приложений

Reading time8 min
Views22K
Данная статья не содержит никаких откровений. В первую очередь информация о типовых уязвимостях и методах их решения будет полезна начинающим. Опытные разработчики все это знают, или должны знать, если считают себя таковыми.

Большинство примеров кода не привязаны к какому-либо конкретному языку программирования, но для наглядности я буду использовать PHP.

Итак, поехали.

Читать дальше →
Total votes 246: ↑203 and ↓43+160
Comments194

Способы «защиты» flash-приложений

Reading time20 min
Views40K

Здравствуйте. Я попытаюсь рассказать о нескольких способах защиты от исследования кода, мошенничества и воровства, используемых при разработке flash-приложений, а также о том, как можно обойти некоторые из них.
Стоит заметить, что сейчас существует немало отличных презентаций и работ на эту тему (см. ссылки в конце статьи), однако, я бы хотел немного подробней расписать некоторые нюансы, и объединить множество информации по теме в одном месте. По крайней мере, я постараюсь это сделать.
Читать дальше →
Total votes 119: ↑109 and ↓10+99
Comments33

Про Git на пальцах (для переходящих с SVN)

Reading time8 min
Views279K
Год назад мы с командой решили перейти с SVN на Git. Зачем это было надо — писать не буду, т.к. на эту тему уже и так много написано. А хочу я описать типичные алгоритмы работы, понятные человеку, который долгое время пользовался SVN. Ниже — памятка, написанная для команды год назад, чтобы легче было мигрировать. Надеюсь, кому-нибудь пригодится.
Читать...
Total votes 179: ↑175 and ↓4+171
Comments100

Использование git во Flash разработке

Reading time10 min
Views5.8K
Я давно уже начал писать эту статью, но меня опередили (8.
Основная задумка была объяснить братьям флэшерам как работать с git. В статье я попытался описать свой личный опыт, а не просто перечислить очевидные плюсы git. Поэтому она будет полезна всем.

В первую очередь буду рад дополнениям и исправлениям. И конечно же вопросам.

Что такое git


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

У себя в компании я смог перевести клиентскую разработку на git и до сих пор не пожалел ни минуты. Время от времени я натыкаюсь на споры по поводу какая система контроля версий лучше, часто приходится объяснять чем все-таки мне нравится git.

Читать дальше →
Total votes 56: ↑46 and ↓10+36
Comments97

10 хитростей Google Analytics

Reading time4 min
Views37K
Казалось бы, установка и настройка счетчика Google Analytics — задачи простые. На деле, эта «простота» скрывает за собой множество подводных камней. Мы постоянно сталкиваемся с тонкостями, неочевидными особенностями подсчета и глубоко спрятавшимися ошибками (конечно, обычно виноваты мы сами:).

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

Проверка регулярных выражений при установке целей

Достаточно часто при указании адреса цели приходится использовать регулярные выражения: например, если искомый фрагмент адреса окружен другими частями. Регулярные выражения – тонкая материя, а ждать обновления данных для проверки правильности написания не хочется. Проверить правильность выражения можно мгновенно, перейдя в раздел «Содержание – Самое популярное содержание» и введя в поле фильтра выражение. Содержимое сразу же отфильтруется, а вы сможете убедиться в корректности кода.
Читать дальше →
Total votes 83: ↑63 and ↓20+43
Comments18

Упрощение рутинной работы с документами для ИП и ООО

Reading time2 min
Views18K
Привет!

Сегодня мы расскажем о том, какие документы нужно создавать ИП или ООО в своей работе с клиентами и покажем как этот муторный процесс можно упростить и ускорить с помощью сервиса MoeDelo.org

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

Договор на оказание услуг или на продажу товара


Обычно в компании есть один или несколько стандартных договоров, в которые копипастятся данные о новых клиентах старательными офис-менеджерами или самим владельцем бизнеса, мечтающим о том, как он поручит это делать пышногрудым офис-менеджерам.
Читать дальше →
Total votes 80: ↑69 and ↓11+58
Comments60

Google Analytics: Определение позиции сайта по ключевому слову в поисковой системе Google

Reading time3 min
Views46K
На текущий момент с помощью инструментов веб-аналитики можно отследить множество различных параметров, в том числе и ключевые слова, по которым пользователи перешли на сайт из поисковых систем. Но нам предоставляется информация только о том поисковом запросе, с которого пользователь перешел на сайт, но не его место в выдаче поисковой системы, на которое кликнул посетитель.

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

image
Читать дальше →
Total votes 92: ↑77 and ↓15+62
Comments43

Два протокола управления проектами

Reading time5 min
Views5.2K
Доброго времени суток.

Я пришел в управление проектами из программирования. То есть, нет так давно, я еще писал код и мне это очень нравилось. Меня мало беспокоили волнения, происходящие где-то на верху — «у менеджеров». Все поменялось в 2004, когда меня назначили тим лидом.

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

Тогда я начал задумываться о причинах такой ситуации, начал читать посты и книги по менеджменту. Как программист, находящийся под впечатлением революционных архитектурных решений — таких, как MVC и паттерны Фоулера, я полагал, что есть *техническое* решение наших проблем с менеджментом — нужно его только отыскать и применить.

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

Сейчас я расскажу о моем текущем видении проблемы, а также опишу одну из возможных стратегий совместного использования этих двух протоколов.
Читать дальше →
Total votes 84: ↑77 and ↓7+70
Comments39

Трехмерный движок для Флеша — Papervision3D. Как и с чем его едят

Reading time6 min
Views12K


Papervision3D — это библиотека классов для ActionScript 3.0, которая позволяет создавать полноценные 3D флеш-ролики.
Таким образом пользователю не требуется качать какие-то альтернативные плагины (как это было с VRML, например), кроме собственно Flash Player'a.

Итак, что же повзоляет нам Papervision3D:

— Добавлять во флеш-ролик встроенные примитивы: Plane, Sphere, Cylinder, Cone, Cube, Paperplane, Arrow
— Импортировать модели созданные в 3D-редакторах, вместе с анимацией.
— Накладывать на объекты в качестве материалов однородные цвета, битмапы, мувиклипы и даже потоковое видео
— Использовать источники света
— Накладывать встроенные во флеш фильтры (Blur, Glow и т.п.) на 3D объекты
— Управлять отдельными вершинами и фейсами объектов. Пример
— Назначать на 3D объекты и материалы обработчики событий (клик, наведение мышки и т.п.)

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

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

Читать дальше →
Total votes 79: ↑71 and ↓8+63
Comments49

Несколько фишек для изучающих английский язык

Reading time1 min
Views48K
1. Анонимные чаты: omegle.com, chatroulette.com
2. Сайты-помощники: kwiz.me, kimir.org, englishtips.org
3. Подкастинг: eslpod.com, effortlessenglish.com, npr.podcast.com, businessenglishpod.com,
4. Качаем фильмы/сериалы, затем субтитры к ним. Просматривать можно с замедлением в VLC плеере чтобы лучше переваривать. Еще рекомендую комик шоу, например Important Things with Demetri Martin — не пожалеете.
5. В скайпе ищем каких нибудь индусов со статусом SkypeMe и не стенсняясь знакомимся.
6. При прочтении какой-то книги или просмотра фильма неплохо бы подготовится таким образом: берем текст, устанавливаем длину слова и частоту употребления в тексте и запускаем, например, этот скрипт (PHP): pastebin.com/m7672c2a9
В итоге имеем дайджест слов большинство из которых вы уже знаете но остальные стоит подучить. И когда вы будете смотреть фильм или читать книгу вы автоматом поймете это слово.
7. Произношение слов — ставим в Google.translate режим Русский->English и в поле текста пишем английское слово — оно без перевода встанет справа вместе с флэшкой которое произносит слово. Также forvo.com, howjsay.com
8. Социальные сервисы ответов:
answers.yahoo.com, vark.com
9. Социальные сети для изучения языка:
livemocha.com, lingq.com, italki.com
10. Остальное:
nytimes.com, ecenglish.com, urbandictionary.com
allengl.narod.ru/top/phvTOP170.htm

Надеюсь каждый нашел для себя что-то полезное:)
Total votes 190: ↑171 and ↓19+152
Comments114

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Date of birth
Registered
Activity