Pull to refresh
5
0
Ярослав @jahy

User

Send message

Срез по наиболее динамично растущим агентствам/студиям

Reading time2 min
Views9.2K
Привет, Хабр! Вчера мы опубликовали большой материал про подготовку КП на создание сайта на боевом примере, которую вроде все восприняли хорошо (даже вошли в лучшее за сутки, спасибо вам). А сегодня мы возвращаемся к нашей основной теме про исследования рынка веб-разработок и других digital-услуг, такой уж профиль деятельности.

Как вы, возможно, знаете, на проекте Ruward мы агрегировали огромное количество данных, разных рейтингов по всем сегментам агентского рынка, вышедших за всю историю отрасли (сейчас у нас 55 разных рейтингов, не считая их годовых версий и более 1 700 компаний в базе данных). Мы используем эту информацию для формирование разных сводных чартов, ну и прочей аналитики.

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

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

В итоге мы получили список компаний агентского рынка, которые наиболее быстро росли по всем локальным чартам на отрезке 2012-2013 года (2014 пока не брали, так как еще не все опубликовали свои топы):
Что получилось в результате
Total votes 20: ↑16 and ↓4+12
Comments2

Онлайн размещение документов на сайте

Reading time3 min
Views23K
В наше время, когда Интернет широко шагает по стране, компании все чаще создают собственные сайты. Почти на каждом присутствует информация о ценах на продукцию, услуги и т.д., проще говоря – прайсы. Зачастую прайсы сразу сверстаны в html страницу или дается ссылка на их скачивание. В первом случае хорошо, если на сайте установлена CMS и можно редактировать страницы, а если нет? Во втором, нужно закачать прайс по ftp. Оба случая могут явиться камнем преткновения при обновлении прайса на сайте, если нет собственного вебмастера. Да и копирование информации из готового прайса на сайт, может привести к неточностям и ошибками, особенно если прайс не маленький. А это чревато потерей клиентов. Рассмотрим, как упростить размещение прайсов online. Сразу оговорюсь, что рассматривать мощные системы, где CMS сайта взаимодействует с бухгалтерией компании я не буду.
Читать дальше →
Total votes 72: ↑66 and ↓6+60
Comments31

Веб-сайт как набор готовых сервисов

Reading time2 min
Views772
Раньше как было, написал ТЗ и по нему реализовал функционал. Теперь же такой вариант становится сложным, потому что требований в ТЗ все больше под современный мир, а времени меньше.

Например, надо вам на сайте сделать комментирование материалов. Конечно, можно написать самостоятельно. Но что, если взять сервис intensedebate.com, который предоставляет прекрасный интерфейс для комментариев с большими возможностями и очень плотно интегрируется с несколькими популярными блог-платформами? На любом же другом сайте работает через javascript. При этом тут вам и нативная авторизация, и авторизация через популярные сервисы типа Twitter или Facebook. И много-много других плюшек.

Читать дальше →
Total votes 28: ↑22 and ↓6+16
Comments15

Ненормальное программирование. Может так писал Бог?

Reading time3 min
Views2.4K

Допустим надо написать Мир. Запрограммировать.
Как бы тогда назывался среда программирования?

Так… думаем…
Что у нас в мире главное?
Правильно — информация!
Information — длинно. Во — inform. 6 — букв :(
Добавляем седьмую, получаем — inform7.

Гуглим —

есть!



www.inform7.com


image



Все как всегда бесплатно и есть под все платформы
I7_5Z71_OSX.dmg
Mac OS X version

I7_5Z71_Windows.exe
Windows version

I7_5Z71_Linux_all.tar.gz
Linux version

Устанавливаем.
Ну что напишем?
Hello word или Notepad?
Голосуем…



Понял! C Hello word все просто. Значит Notepad.
Блокнот это тип вещи. Блокнот имеет упорядоченный текст, который называется заметка. Обычно заметка в блокноте это "".<br>


Так… не проходит. Ах да, все языки программирования на английском! Пишем:…

Читать дальше →
Total votes 54: ↑36 and ↓18+18
Comments29

Прелести онлайн-переводчиков, или сервис по-французски.

Reading time2 min
Views1K
Исследуя поиск по грамматическим формам для своего лингвистического проекта, наткнулся на интересное объявление:
«Россия, купляо и продажа пив бутылок от случая или 9.»
Первой  мыслью решил, что опять наши китайские друзья бесплатными онлайн-переводчиками балуются. Но, перейдя по ссылке,  потешился изрядно...
Как оказалось, это французы решили порадовать мир новым сервисом в стиле Web 2.0  - огромной  международной  доской обьявлений с широким спектром категорий товаров, возможностью подписаться на сообщения о свежих поступлениях и прочими вкусностями и полезностями.  Сервис уже функционирует в Франции и некоторых франкоговорящих странах, но затеян он действительно с размахом...
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments60

Ситуационный анализ / предпроектный этап разработки сайта

Reading time2 min
Views11K
Продолжаю серию обучающих материалов для агентств и web-студий. В этот раз поделюсь знаниями о ситуационном анализе рынка на предпроектном этапе разработки. Тема скучная, ленивая, но в картинках крайне доступна и проста для понимания.
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments0

Правильный подход к использованию API Вконтакте

Reading time5 min
Views99K
Привет, Хабр!

В своё время, бороздя просторы интернета на предмет рационального использования API Вконтакте, я не смог найти чего-то вразумительного, единственные библиотеки, которые были найдены мной были реализованы без использования каких-либо общепринятых практик и без красивого кода. Я решил исправить, сложившееся недоразумение и написал свою библиотеку для работы с API Вконтакте.
Животрепещущие подробности и подходы под хабракатом.
Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments21

Адаптивные изображения без шаманства

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

На типичных сайтах изображения могут появляться тремя способами.
  1. Быть элементами дизайна сайта (бекграунды, кнопки и т.д.).
  2. Загружаться через специальные модули (например, изображения в фотоальбом).
  3. Вставляться через WYSIWYG-редактор CMS (например, в текст статьи).


Мы захотели получить такое решение, которое было бы некой «надстройкой» над сайтом. Чтобы можно было не лезть в код CMS, через которую загружаются изображения на сайт, а также не готовить адаптивные картинки вручную.

Сначала на помощь приходит реализация Adaptive Images
Но что происходит потом?
Total votes 35: ↑30 and ↓5+25
Comments19

Несколько полезных CSS-трюков

Reading time3 min
Views56K
Во время работы над последним проектом накопилось несколько интересных CSS-трюков, о которых хочу рассказать. Хотя, возможно, это уже придумано до нас и все об этом уже знают. В примерах используется LESS, а не чистый CSS.

Событие автоподстановки в инпут поля


Проблема: узнать, что пользователь воспользовался функцией автоподстановки. Задача была в том, чтобы подсвечивать кнопку Login, если в полях e-mail и password введено что-либо. Проблема в том, что если эти поля заполняются автоподстановкой из ключницы браузера, то событие change на инпутах не выстреливает.

Решение: использовать псевдокласс :valid. Он срабатывает у инпута, если в нем есть контент, который удовлетворяет типу инпута (text, e-mail) и если у этого инпута стоит атрибут required. Правда решение не работает в IE, но нам не требуется поддержка этого браузера.

<input required="required" class="email-input" type="email" />
<input required="required" class="password-input" type="password"/>
<div class="go">Login</div>

.email-input:valid ~  .password-input:valid ~ .go {
	//стили для активной кнопки Login
}


Читать дальше →
Total votes 75: ↑64 and ↓11+53
Comments10

Опрос. Как вы делаете деплой на production сервер(а)?

Reading time1 min
Views64K
Коллеги расскажите, пожалуйста. как вы делаете деплой на production сервер(сервера) веб-проектов.
Если у вас используется 3 или 4 вариант, то как вы переключаете document_root — создаете симлинк на новый релиз или переписываете (скриптом) конфиг nginx?
Если переключать симлинк не бывает проблем с APC или XCache?
Если не хватает какого то варианта пишите в комментарии.

UPD: Спасибо всем за комментарии, пятничный пост получился очень продуктивным и полезным думаю для многих.
UPD2: Небольшой обзор комментариев:
подробные разборы деплоя habrahabr.ru/post/211733/#comment_7286111 habrahabr.ru/post/211733/#comment_7287769
утилиты для создания deb пакетов habrahabr.ru/post/211733/#comment_7286187
наиболее популярное готовое ПО capistrano, fabric, teamcity
Total votes 56: ↑42 and ↓14+28
Comments149

Как и зачем дружат веб-студии в Петербурге?

Reading time10 min
Views9.4K
6 декабря 2013 года в СПЕЦИА (содружество петербургских цифровых агентств) вступила 70-я компания. Среди наших участников — крупнейшие агентства Санкт-Петербурга (Nimax, Кельник, RealWeb, Trinet, Astra Media Group, Serenity, Wебком и многие другие), большие продуктовые компании (1С-Битрикс, UMI, LiveTex), мобильные разработчики (Touch Instinct, Бегемот-Бегемот), образовательные структуры (Графен, Epic Skills, HTML Academy), а также множество веб-студий размером от 2 до 20 человек.

Деятельности СПЕЦИИ уже больше года, и мы не совсем обычная ассоциация. Наверное, совсем необычная. Чтобы узнать, какие гипотезы о формировании региональной ассоциации оказались ошибочными, какие сработали, что отличает СПЕЦИЮ от других ассоциаций, и причём здесь краудсорсинг, милости просим под хабракат.

Надеемся, что наш опыт поможет вам самоорганизоваться в вашем регионе.


Читать дальше →
Total votes 12: ↑7 and ↓5+2
Comments11

Абсолютное горизонтальное и вертикальное центрирование

Reading time5 min
Views310K
Сколько уже было сломано копий о задачу выравнивания элементов на странице. Предлагаю вашему вниманию перевод отличной статьи с решением этой проблемы от Стефана Шоу (Stephen Shaw) для Smashing Magazine — Absolute Horizontal And Vertical Centering In CSS.

Все мы знали о margin: 0 auto; для горизонтального центрирования, но margin: auto; не работало для вертикального. Это можно легко исправить, просто задав высоту и применив следующие стили:

.Absolute-Center {
  margin: auto;
  position: absolute;
  top: 0; left: 0; bottom: 0; right: 0;
}

Я не первый, кто предложил это решение, однако такой подход редко применяется при вертикальном выравнивании. В комментариях к статье How to Center Anything With CSS Simon ссылается на пример jsFiddle, где приводится отличное решение для вертикального центрирования. Вот еще несколько источников на эту тему.

Рассмотрим способ поближе.
Читать дальше →
Total votes 112: ↑106 and ↓6+100
Comments10

Создаем быстрый прототип мобильного приложения

Reading time6 min
Views217K
На хабре уже присутствует некоторое количество статей, посвященных процессу прототипирования в разработке программного обеспечения. Есть достаточно фундаментальные статьи с обзорами стандартов и расчетами, есть статьи про прототипирование устройств, есть цикл из двух статей про процесс выбора инструмента для прототипирования. К сожалению, процесс создания прототипов мобильных приложений освещен очень скудно – в виде единственной статьи в 2010 году, и пара слов в статье Разработка мобильных приложений: с чего начать.

Хотелось бы исправить эту ситуацию, и предложить вашему вниманию большой обзор доступных инструментов для прототипирования мобильных приложений.
Читать дальше →
Total votes 61: ↑59 and ↓2+57
Comments55

Способы создания navicon

Reading time2 min
Views30K
Navicon — это иконка для появляющегося меню на адаптивных сайтах при просмотре на мобильных устройствах. Обычно представляет собой три горизонтальный полоски. Пример можно видеть на множестве сайтов, например:



Существует несколько способов создания такой иконки. Ниже представлены несколько.
Читать дальше →
Total votes 25: ↑18 and ↓7+11
Comments5

PhoneGap: как сделать приложение отзывчивым

Reading time11 min
Views56K
На сегодняшний день существует немалое количество обзорных статей о PhoneGap, но к сожалению, написаны они или front-end разработчиками, которые решили заняться мобильными платформами, или нативными программистами, которые решили попробовать себя в кроссплатформенной разработке. И именно с этих позиций рассматриваются достоинства и недостатки PhoneGap'а, возникают статьи о том, «насколько крута кроссплатформа», или об «ущербности кроссплатформенных решений».

В качестве затравки — видео демо-приложения, написанного за 6 часов; готовым был взят UI-бутстрап, наверстанный за 3,5 часа; использовались библиотеки iScroll, backbone, underscore, Jquery, и небольшая обертка на backbone (RAD.js — rapid application development, архитектурный фреймворк, берущий на себя часть оптимизации, связанной с мобильной средой выполнения).


Еще 2 часа было потрачено на фикс движка. Но сегодня речь не о том, что что-то тормозит, дергается, или самописный свайп не всегда вовремя отрабатывает на 14000 объектах данных; речь о том, что на PhoneGap можно и нужно писать.

Выносим на Ваше рассмотрение мнение людей, которые занимаются кроссплатформеной разработкой на PhoneGap, дабы рассказать о том, какие тонкости мы находим нужными и важными при разработке на PhoneGap, и почему они так важны.
Читать дальше →
Total votes 93: ↑87 and ↓6+81
Comments31

Оптимизация сайта для планшетов

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

Ускорение набора текста с помощью добавления спецсимволов


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

Читать дальше →
Total votes 105: ↑97 and ↓8+89
Comments24

Личный кабинет для оптовой компании. Неужели так сложно?

Reading time4 min
Views20K
Личный кабинет(ЛК) — привычная практика

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

Оптовик: “Хочу на сайте личный кабинет”
Читать дальше →
Total votes 20: ↑11 and ↓9+2
Comments15

Ранжирование страниц по степени важности для интернет-магазина

Reading time5 min
Views3.9K
Есть некоторый опыт проектирования, и реализации интернет магазинов который мы решили обобщить. Мы были удивлены выводами о степени важности разделов в интернет магазине, но приняли их к сведению. В каждом новом проекте мы идем по этому списку и в этом порядке. Объясняем заказчику, почему нужно начинать с описания «аудитории», а не с «главной страницы» сайта.
Читать дальше →
Total votes 57: ↑50 and ↓7+43
Comments24

Отладка iframe приложения непосредственно в среде vk.com с использованием php + xdebug

Reading time3 min
Views7.3K

В этой статье вы узнаете, как можно отлаживать iframe приложение непосредственно внутри среды vk.com, то есть как белый человек. Разработка приложения непосредственно в среде не требует создания песочниц (эмуляции вконтакте), очень удобно работать непосредственно с API вконтакте, видя все переменные, которые передаются туда и обратно непосредственно в трейсе. Не претендую на оригинальность, я просто проверил, что такой статьи нету в тырнете и все, а идея очевидна и проста. Идею придумал за кружкой чая, ибо если бы я успел его допить, то начал бы гуглить.
Читать дальше →
Total votes 43: ↑32 and ↓11+21
Comments20

Улучшаем юзабилити за 5 минут

Reading time4 min
Views7.3K
В этой блогозаписи я намерена поделиться несколькими такими советами по увеличению юзабилити сайта, каждый из которых очень лёгок в реализации. Не все они кросс-браузерны, но всё равно они «глазурь на тортике»: читатель и не заметит, что их нет.

1. Отображайте нажатия кнопок и кнопкоподобных ссылок


Мой излюбленный совет. Когда стиль кнопки задаётся в CSS, или когда для отображения необычной кнопки используется рисунок (либо как фон, либо как элемент <img />), то кнопка не реагирует на нажатие во всех или в некоторых браузерах (зависит от ситуации). Вот какой простой уловкою вы можете дать знать посетителю сайта, что он и впрямь нажал на нечто нажимаемое:

.mybutton:active {
   position: relative;
   top: 1px;
   left: 1px;
}

Этим кодом кнопка смещается на 1 пиксел направо и на 1 пиксел вниз, когда её нажимают. Испробуйте: выглядит весьма убедительно.

Есть другие, не менее быстрые варианты: придать границе свойство inset, указать свойству text-indent значение 1px, изменить направление градиентного фона (что можно сделать быстро, если для этого не придётся прибегнуть ко графическому редактору, то есть если где-то ещё на сайте используется готовый перевёрнутый градиент), или комбинация нескольких из них.

2. Плавные переходы (CSS3 transitions)


Читать дальше →
Total votes 206: ↑179 and ↓27+152
Comments45

Information

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