Search
Write a publication
Pull to refresh
0
Richard_Ferlow @Richard_Ferlowread⁠-⁠only

User

Send message

Несколько интересностей и полезностей для веб-разработчика #17

Reading time5 min
Views35K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Intercooler.js


Кто нибудь помнит FullAjax — разработку Руслана Синицкого sirus (нынешний основатель Jelastic)? Вкратце это библиотека для работы с AJAX с помощью объявления определенных атрибутов у элементов, а подробнее об этом написано в постах «Прямые ссылки на AJAX веб-сайтах – наша технология Fullajax Direct Link», «Полный AJAX. Теория и Примеры. Фишки и Фичи» и «Fly AJAX — пишите меньше, имейте больше. Нестандартный AJAX и индексация поисковиками». Вернемся к Intercooler, это нечто похожее:

<div id="targetDiv">Results Div...</div>
<i id="indicator" style="display:none" class="fa fa-spinner fa-spin">
<input id="hiddenInput" type="hidden" name="hidden" value="42"/>

<div ic-trigger-on="click" ic-verb="POST" ic-src="/example" ic-include="#hiddenInput" ic-indicator="#indicator" ic-target="#targetDiv" ic-transition="none">
    Click Me!
</div>

После клика по div, отправляется POST запрос со значением поля с #hiddenInput, а в процессе будет отображаться #indicator. Ответ будет передан в блок #targetDiv. Разве не здорово?

Читать дальше →

Как оптимизировать сайт для мобильных устройств с помощью PageSpeed Insights

Reading time2 min
Views86K
Уровень подготовки веб-мастера: для всех

Мы опубликовали на сайте PageSpeed Insights новые рекомендации, которые помогут улучшить сайты для мобильных устройств.
PageSpeed Insights для мобильных устройств
Недостаточная оптимизация может свести на нет все преимущества быстрой загрузки сайта. В среднем загрузка одной страницы на мобильных устройствах длится более 7 секунд, но правильное использование инструмента PageSpeed Insights позволяет значительно сократить это время. Предположим, вам удалось добиться загрузки сайта не за семь секунд, а всего за две. Но какой в этом смысл, если пользователю все равно придется потратить ещё 5 секунд на то, чтобы увеличить размер шрифта и прокрутить страницу до нужного места? Новые рекомендации PageSpeed Insights помогут выявить и устранить подобные проблемы.
Список новых рекомендаций

waSlideMenu.js. Многоуровневое прокручивающееся меню

Reading time3 min
Views16K
jQuery-плагин, который превращает вложенное (древовидное) меню в систему прокручивающихся меню.

Репозиторий: github.com/webasyst/waslidemenu
Попробовать: jsfiddle.net/7LnSY/
Пример: demo-ru.webasyst.com
Подробнее о плагине

lemongrab: плагин валидации веб-форм

Reading time4 min
Views26K
Добрый день.
В этом топике я расскажу о удобном jQuery-плагине для валидации веб-форм, простом и мощном, при том — совершенно неизбыточном. Если вам не интересны подробности создания и сравнение с аналогами (точнее — с аналогом), смотрите конец топика, там ссылка на примеры и исходный код.

Некоторое время назад мне пришлось дорабатывать клиент-сайд ресурса, включающего просто невероятное количество анкетных форм. Одной из неприятных особенностей этих форм было жуткое количество разнотипных правил валидации ввода и ещё большее количество взаимосвязей между полями.
Пример: если выбран чекбокс А, то в поле Х можно ввести только цифры, а поле Y должно быть скрыто, но если дополнительно выбрана радиокнопка Z, то поле Y нужно показать, а в поле X можно ввести всё, кроме цифр.
Иными словами — сущий ад, рождённый нездоровым сознанием маркетологов.


Читать дальше →

Поиск VPS — теперь с поиском по выделенным серверам

Reading time6 min
Views15K
Всем привет!

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

Но для начала хочу отвлечься и сказать, что это последний пост на ХабраХабре. Администрация habrahabr.ru продлевает бесплатный блог только тем стартапам, которые не используют монетизацию.


Читать дальше →

Интерфейс приложения: наши ошибки и 16 советов как их не повторить

Reading time6 min
Views39K
Как только мы сделали первую версию iOS приложения, я начал упорно приставать к людям на футбольных полях и баскетбольных площадках с просьбой установить Topic и пощелкать его прямо при мне.

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


Изображение №1: поиск игр (Find a game в меню приложения)
Читать дальше →

Иной взгляд на оформление заказа в интернет-магазине

Reading time4 min
Views63K


В странах СНГ не менее 75-80% заказов приходятся на cash-and-delivery (оплата заказа при доставке). Это отличие российского и западного потребителя легло в основу редизайна оформления заказа Сотмаркета еще в 2012 году. Тогда впервые в России интернет-магазин перестал требовать авторизации или регистрации клиента перед совершением покупки.

Фоновая регистрация и авторизация пользователей


Хотя авторизация на последнем шаге покупки и не несет никакой ценности для пользователя, это западное клише глубоко укоренилась в Рунете. Со средней частотой покупки (техники) раз в 9-10 месяцев люди зачастую не запоминают регистрационных данных: эл. почты, логина, пароля. Парадокс в том, что большинство интернет-магазинов с готовностью принимают заказы по телефону, но при этом создают искусственные препятствия при совершении покупке онлайн.

Это наблюдение легло в основу концепции фоновой регистрации и авторизации пользователей.
Читать дальше →

AniJS – библиотека для декларативного описания CSS-анимации

Reading time1 min
Views25K
На днях занимался созданием лэндинга с приличным набором анимации, возникающей во время взаимодействия со страницей. Прям чувствовал, что должна быть какая-нибудь крутая библиотека для решения задачи. И тут я нашёл AniJS, которая меня совершенно покорила!

Читать дальше →

12 уроков из управления проектами и запуска стартапов

Reading time9 min
Views126K
Я разработал около сотни проектов, в том числе — стартапов. Многие из них достигали пика и умирали, некоторые работают до сих пор. Делал как B2C, так и B2B.

В последнее время наблюдается поток вопросов от знакомых и друзей, которые делают одни и те же ошибки. Я хотел бы рассказать о своем опыте в посте тезисов. И если он будет успешен — продолжить серию.

Если лень читать — ролик, выражающий основной дух и главный смысл, находится внизу. Ролик вызовет восхищение — отлично, идите делать очередной релиз. Ролик вызовет отторжение — читайте пост до другой реакции сколько угодно :)



1. Важнее всего — желание

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

Кеширование всего HTML и подключение JS «на ходу»

Reading time5 min
Views16K
Однажды я совершил страшное дело – посмотрел исходный код главной страницы Яндекса и задумался – что-то тут не так. Я вижу 5 заголовков последних новостей, несколько картинок, поле поиска, ссылочки и вот вопрос:
Где тут 700Кб, которые требуют 1,56с моего времени? (по данным веб-инспектора Safari 7.0.3)

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

image
Читать дальше →

Как можно снизить потребление оперативной памяти на VPS в 2 раза, ничего не меняя в настройках программ

Reading time3 min
Views33K
Взял VPS, построенный на OpenVZ. Поставил туда Debian Lenny и всякие программы (обычный LAMP, по сути). С точки зрения потребления ресурсов ничего почти не настраивал, вышло где-то 200М занятой оперативной памяти (сразу после старта).
Написал ulimit -s 1024 в /etc/init.d/rc ближе к верху. Перезагрузился. Потребление памяти на VPS упало более чем вдвое, стало около 100М.

Если у Вас VPS на Xen или аналогичных, то у Вас нет граблей, с которыми я тут боролся. Если на OpenVZ (Virtuozzo) со товарищи — у Вас, скорее всего, на VPS эти же грабли.

В статье — почему и как это работает.

Читать дальше →

Изучаем Derby 0.6, пример #2

Reading time14 min
Views13K
todos

Этот пост — продолжение серии, начатой здесь (предыдущую часть читать обязательно). Сегодня мы создадим, так называемый, «список дел» (Todo-list из проекта TodoMVC). За основу возьмем вариант, сделанный на Angular, и попробуем воссоздать функционал на derby.
Читать дальше →

Mediabox

Reading time5 min
Views26K
Mediabox – GPL3 web-приложение, позволяющее хранить файлы, воспроизводить audio и video в форматах, которые воспроизводит medialement js, показывать изображения, делать пометки на них, добавлять теги и писать комментарии.



Mediabox продолжает идеи прошлых Ostora FM и Photo, а также является немного измененным Mediabox, созданной для компании Xvid.

Читать дальше →

Релиз KPHP и движков

Reading time6 min
Views164K
Довольно часто, выступая на различных конференциях, мы делились желанием выпустить под открытой лицензией KittenPHP, согласно традиции, заложенной крупными IT-компаниями, такими как Google и Facebook.

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

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


Читать дальше →

Прототип уходит в Open Source: Биржа телефонных операторов

Reading time6 min
Views20K

История


Одним прекрасным вечером мой товарищ спросил, смогу ли я сделать одну штуку. Я сказал, что смогу, и за следующие пару месяцев, в свободное от работы и отдыха время сделал работающий прототип вот чего:

Биржа телефонных операторов, работающих самостоятельно из дома.
Альтернатива традиционным колл-центрам, позволяющая избавить сотрудников от холодных звонков, быстро проинформировать или опросить существующих клиентов и выяснить потребность потенциальных.

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

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



Узнать все подробности

Ускоряем PHP (с ReactPHP)

Reading time11 min
Views81K
В этом посте я хотел бы поделиться не совсем обычным, для мира PHP, способе построения приложения, если угодно — архитектурой. Данный подход позволяет средствами PHP увеличить количество обрабатываемых запросов в разы. Так же я поделюсь своими наработками в этом направлении. Конечно данный подход не бесплатен, в плане требований к коду, но давайте всё по порядку.
Читать дальше →

Популярность средств веб-аналитики

Reading time5 min
Views12K
Весной и осенью от имени IAB Russia выпускается карта экосистемы инернет-рекламы и мобильной рекламы. По состоянию на 22 апреля (в версии, приуроченной к РИФ 2014) вкладка веб-аналитики на ней выглядит так.



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

Нам, Openstat, очень легко подкрепить интуитивное ощущение точными данными количества доменов с установленными системами веб-аналитики — фактами. У нас есть отчеты, полученные краулером Openstat, который обнаружил интернет-счетчики почти на 2 млн. сайтах.

С августа 2013 года краулер Openstat индексирует Рунет, Байнет, Уанет. Общий объем анализируемых данных 5,69 млн. хостов, но фактически краулер индексирует 4,6 млн. «живых» доменов Рунета, дающих ответ 200 Ok. На проиндексированных страницах выделено около одной тысячи сигнатур, соответствующих электронным способам оплаты, CMS, кодам рекламных сетей, средств веб-аналитики и т.д. Собирается также много технометрик, для которых также можно найти подходящие хабы на Хабре. В результате обработки подобных данных составляются различные отраслевые отчеты, с указанием, к примеру, числа сайтов с формами оплаты электронных денег, карт на сайт или интернет-счетчиков, которые стали темой этой записи.

Читать дальше →

N2O: Erlang Web-фреймворк на WebSockets

Reading time8 min
Views32K
N2O Erlang Framework

ВВЕДЕНИЕ


Данный пост подразумевает хорошее интро в N2O на русском.

Что такое Erlang/OTP Web Framework N2O и в чём его фишка для веб-разработки, можно узнать на странице в github и официальном сайте SynRC. Там всё как вы любите с графиками и презентациями.

А здесь рассмотрим принципы работы фреймворка и поговорим о вечном.
Читать дальше →

Сеть между офисами с VLAN'ами на базе оборудования Mikrotik

Reading time3 min
Views103K

Присказка


Было счастье, производство и офис находились на одной территории (за городом). Но фирма росла и стало тесно. Решили открыть офис в городе. Так как на предприятие уже имелось большое кол-во телефонных линий и стояла мини-АТС Panasonic TDA-600 ставить новую АТС в офис не хотелось. Выбрали вариант модернизации TDA 600 до TDE 600, любит начальство железные решения. Так как я уже давно раскидываю отдельные системы (видеонаблюдение, wifi, АСУТП) по VLAN'ам, то и телефонию вынес в отдельный VLAN. Для маршрутизатора был приобретён очередной Mikrotik.
Читать дальше →

Marionette.js. Drag&Drop сортировка моделей в коллекции

Reading time3 min
Views15K


Достаточно распространенная задача — поменять местами элементы в списке. Но как правило эта задача решается жуткими костылями, особенно если это Drag&Drop.
Сейчас я расскажу вам очень простой и гибкий способ сделать это, используя Marionette.js и jQuery UI Sortable.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity