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

User

Send message

Плагин для Bootstrap 3, повышающий accessibility интерфейсов

Reading time2 min
Views17K
Набор инструментов Bootstrap пользуется достаточно большой популярностью среди разработчиков. Тем не менее, интерфейсы, получающиеся с его помощью, зачастую имеют проблемы с accessibility, то есть с доступностью для пользователей с ограниченными возможностями. В результате, получившийся интерфейс может не соответствовать предъявляемым к нему требованиям, так как часто accessibility является одним из пунктов технического задания, да и в принципе не очень доступный интерфейс — это уже плохо.

Команда разработчиков PayPal некоторое время работала над решением ряда проблем доступности в Bootstrap 3, итогом чего стало появление accessibility плагина, который недавно был выложен в открытый доступ. Фактически он позволяет реализовать доступность интерфейса на базовом уровне без каких-либо особых знаний в этой области.
Читать дальше →

Мой удобный дом

Reading time14 min
Views309K
Относительно недавно здесь был текст про домашнюю автоматику, а в комментариях один товарищ высказал идею, о которой я тоже думаю очень-очень давно. Суть в том, что автоматика должна работать так, чтобы этого, по возможности, вообще не было заметно.

То есть, умный дом — это дом, который может все. А удобный дом — это дом, который все, что может, делает сам.

Давайте сначала я просто похвастаюсь тем, что умеет мой дом сейчас, а вы решите, имеет ли смысл читать про мой местами горький (а местами очень даже ничего) опыт дальше, ок?
Читать дальше →

Пишем, собираем и запускаем HelloWorld для Android в блокноте

Reading time10 min
Views131K


Когда я начал изучать Android, захотелось полностью написать и скомпилировать Android-приложение вручную — без использования IDE. Однако эта задача оказалась непростой и заняла у меня довольно много времени. Но как оказалось — такой подход принёс большую пользу и прояснил многие тонкости, которые скрывают IDE.

По-сути эта статья является переводом и переработкой статьи Building Android programs on the command line под современные на данный момент JDK (7) и Android SDK (API level 19). Кроме того, я многое упростил и добавил кое-что от себя.

Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
Читать дальше →

Поиск VPS — обновленная версия

Reading time5 min
Views112K
Незадолго до нового года я представил Хабру свой сервис поиска виртуальных серверов Поиск VPS. За эти два месяца на сайте произошёл ряд изменений, включая расширение списка параметров для ещё более удобного выбора и сравнения серверов, о которых я сегодня расскажу.



Первое и самое существенное нововведение — это появление новых параметров поиска и возможность выбора нескольких пунктов одновременно.

  • Тип жесткого диска (sata, sas, ssd)
  • Операционные системы, которые можно установить на виртуальный сервер
  • Способы оплаты, которые поддерживает хостер
  • Наличие бесплатной панели управления сервером (ISPmanager, cPanel, DirectAdmin, Plesk Panel)
  • Тип администрирования, который идет в комплекте в VPS
  • Возможность поддержки IPv6

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

Getting Started with MongoDB and PHP

Reading time18 min
Views62K
Generation Next
За последний год произошла небольшая революция в мире СУБД, связанная с появлением безсхемных (безструктурных) СУБД таких как Apache CouchDB. В этих базах данных используется другой подход нежели в реляционных БД. Они достаточно быстро становятся популярны среди Web-разрабочиков из-за своей гибкости, простоты и легкой интеграции с современными технологиями такими как JSON.
В данной статье изложен краткий обзор MongoDB, одной из новых поколений безсхемных СУБД, которая получила большое внимание разработчиков.
Let's get started!

Наш чеклист для фильтров на сайтах

Reading time7 min
Views54K
Довольно часто на сайтах е-коммерса нас просят реализовать фильтры. Хороший фильтр — довольно дорогая игрушка. Вообще, они не всегда уместны — пользователю проще посмотреть глазами на список, чем разбираться в логике разработчика фильтра. Конечно, если в этом списке не так много элементов. Скажем, не больше 200 в каждом разделе. Ниже в виде проверочного списка для наших QA, я зафиксировал некоторые требования, которые мы настойчиво внедряем на своих проектах с этого года. Стандартизация, ептэ.

Эти требования разумны. Часть из них трудно реализуема. Часть — очевидна. Часть — зависит от контекста. Но в целом они довольно универсальны. Если будут какие-то вопросы по конкретным пунктам — велкам в комментарии.


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

Ежемесячные расходы дизайн-студии на электроные сервисы

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



50$. Basecamp



image

Простая и удобная система управления проектами от команды 37signals. Это основной инструмент взаимодействия как внутри студии, так и с заказчиками. Все задачи заводятся в виде простых списков и легко меняются местами друг с другом простым перетаскиванием. Каждая задача выглядит как публикация с комментариями. Любой может указывать, кто из команды получит уведомление на email о его комментарии. Можно ограничивать видимость некоторых задач для клиента.
Читать дальше →

Новинки Opera 19 для разработчиков

Reading time2 min
Views30K
Догоняя релиз Opera 19 для Андроида на прошлой неделе, выходит Opera 19 для Mac и Windows (на основе Chromium 32). Дальше о том, что это значит для разработчиков.

Промисы в JavaScript


Так называемые «промисы» (promises) теперь доступны в JavaScript. Промисы — это удобный способ получить доступ к результатам выполнения операций в JavaScript, будь они синхронные или асинхронные. Самый простой пример:

var promise = new Promise(function(resolve) {
	setTimeout(function() {
		resolve('The time machine worked!');
	}, 2014); // see what I did there?
});

promise.then(function(result) {
	console.log('Promise resolved.', result);
});

Джейк Арчибальд недавно написал подробное введение в промисы, так что не пропустите, если у вас остались вопросы или стало интересно посмотреть на другие примеры.
Читать дальше →

TorrentMonitor и снова здравствуйте

Reading time4 min
Views23K
Полтора года назад я уже писал здесь о своей разработке TorrentMonitor. Кто-то может быть уже читал и давно пользуется, а кто-то может быть даже и не слышал, поэтому хочу поведать вам о ней ещё раз, тем более что полтора года я не сидел сложа руки. Это автоматическая система слежения за торрент-трекерами, которая автоматизирует процесс скачивания торрент-файлов.


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

Модификация стоковых прошивок для Android. Часть 4

Reading time21 min
Views50K
Здравствуй Хабр!

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

На прошлых скриншотах были следующие меню в моем самодельном твикере и вызвало множество приватных вопросов о реализации.

Предпочтительный слот
Выберите SIM карту на которой использовать передачу данных
Уведомление о соединении
Запретить оповещение об интернет подключении
Автоматическая запись звонков
Все звонки будут записаны стандартным диктофоном согласно его настройкам
Запретить энергосбережение
Запретить иконку энергосбережения в слайдере и статус баре
Запретить выключатели
Отключение в слайдере статус бара
Читать дальше →

Подсказки: API для ввода почтовых адресов и ФИО одной строкой

Reading time2 min
Views28K
Если вам когда-нибудь приходилось разрабатывать форму регистрации или оформления заказа, то вы знаете, что для получения из формы качественных данных нужно прикрутить множество проверок для ФИО, почтовых адресов, e-mail, телефонов. При этом так уж исторически сложилось, что разработчики пишут код валидации информации каждый раз заново. Ну а потом эти проверки приходится еще и поддерживать, а на поддержку, как известно, приходится 80% усилий.

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

Так не должно быть.

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

Web Components — это единственное светлое будущее веба. Смиритесь

Reading time11 min
Views57K

Вчера вышла [весьма достойная статья про Web Components, и я понял, что не могу не поделиться тем опытом, что я накопил за последние восемь месяцев. Я не буду рассказывать о том, как работать с Веб Компонентами, я расскажу, почему. Поэтому тем, кто не знает об этом стеке технологий, стоит прочитать статью по ссылке выше.
Дело в том, что в июне вышла первая стабильная версия моей библиотеки CornerJS. Начавшись как автономная реализация директив из AngularJS, она постепенно превратилась в более простой — как в использовании, так и в реализации — аналог (неточный, да, я знаю) Пользовательских Элементов из спецификации Веба Компонентов.

Я прошел через большое количество узких мест, а сейчас эта библиотека используется в нескольких больших и не очень проектах в реальных условиях.

Это замечательная, на мой взгляд, в реализации библиотека — я действительно считал ее основным инструментом в разработке, и в последнем проекте (видеопортале) она оказалась важнее jQuery: от него я мог бы отказаться, а от нее нет.

Но я, как человек, внедривший ее в нашу команду, и отказываюсь от нее — мы переходим на Mozilla X-tags для IE9+ сайтов и Polymer для IE10+ сайтов. К счастью, на моей памяти у нас был всего один или два проекта IE8+.

И в этом посте я расскажу, почему веб-компоненты — это не просто будущее веба. А единственное будущее веба.

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

Делаем вебсокеты на PHP с нуля

Reading time18 min
Views313K
Некоторое время назад я выбирал библиотеку для работы с вебсокетами. На просторах интернета я натыкался на статьи по интеграции node.js с yii, а почти все статьи о вебсокетах на хабре ограничивались инструкциями к тому, как использовать phpdaemon.

Я изучал библиотеки phpdaemon и ratchet, они достаточно монструозны (причём используя ratchet для отправки сообщения конкретному пользователю рекомендовано дополнительно использовать wamp). Мне не совсем было понятно для чего использовать таких монстров, которые требуют установку других монстров. Почитав исходники этих, а также других библиотек, я разобрался как всё устроено и мне захотелось написать простой вебсокет-сервер на php самостоятельно. Это помогло мне закрепить изученный материал и наткнуться на некоторые подводные камни, о которых я не имел представления.

Так я решил написать необходимый для меня функционал с нуля.

Получившийся код и ссылка на демонстрационный чат в конце статьи.
Читать дальше →

Опыт использования MNP в России или как я номер от оператора к оператору переносил

Reading time3 min
Views69K
Когда объявили об отмене мобильного рабства, я решил перенести свой номер из сети SkyLink в сеть Билайн, чтобы, наконец, иметь возможность использовать нормальные сотовые аппараты, ибо ассортимент CDMA450 телефонов совсем скуден.

О актуальности данных на старом договоре


В первую неделю декабря (число точно не помню) я обратился в один из московских офисов Билайн и попросил принять заявление на перенос номера. Они были готовы сделать это, но попросили убедиться в том, что у SkyLink сейчас имеются мои актуальные паспортные данные — это обязательное требование переноса номера. Оказалось, что таких данных у них не было. Началась переписка со SkyLink на тему смены паспортных данных в договоре, и поэтому процесс переноса номера затянулся на неделю.
Читать дальше →

Обзор бесплатных сервисов для веб-разработки

Reading time4 min
Views144K
Пост является личной подборкой полезных и нужных онлайн сервисов, которые позволяют бесплатно (или условно бесплатно) создавать действительно крутые вещи и разворачивать их в Сети. Не претендую на новизну или на полноту, но буду счастлив, если кому пригодится.

Всем нам иногда хочется попробовать новую идею, запилить какой-нибудь сайтик про манулов, но чтоб обязательно на node.js, хайлоад реди, с мемкешем, монго, фейловером и с претензией на мировое господство. У меня для Вас хорошие новости: благодаря щедрости проклятых западных капиталистов всё это можно получить совершенно бесплатно.
Читать дальше →

Облачная платформа Яндекса. Cocaine

Reading time13 min
Views106K
Некоторое время назад мы довольно подробно начали рассказывать об одной из базовых облачных технологий Яндекса — Elliptics. Сегодня настала очередь поговорить о другой — той самой, под которой работают «эльфы» и которая делает мечту о своем облаке чуть ближе к реальности. Речь пойдет о Cocaine.

Cocaine (Configurable Omnipotent Custom Applications Integrated Network Engine) — это PaaS-система (Platform-as-a-Service) с открытым исходным кодом, являющаяся по сути app engine и позволяющая создавать собственные облачные хостинги приложений — такие, как Google AppEngine, OpenShift, CloudFoundry или Heroku.



Всем известно, что облака могут решить все инфраструктурные проблемы, превратить издержки в прибыль и насытить вашу жизнь бесконечной радостью и счастьем на веки веков. Единственным препятствием на пути к этим целям являются, собственно, облака. IaaS, PaaS, SaaS? Whatever-as-a-Service? Какой именно загадочный набор букв нужно выбрать, чтобы всё наконец стало хорошо?

Мы потратили немало времени, изучая эти вопросы, отбирая лучшие, на наш взгляд, идеи и концепции, чтобы построить такую облачную платформу, которую хотелось бы немедленно установить, настроить и успешно использовать.
Как всё работает, и почему именно так

Система предсказания свободной парковки от Audi

Reading time3 min
Views24K


Когда мы с женой отправляемся провести вечер в Сан-Франциско, я не забиваю адрес ресторана в навигатор. Вместо этого я находу ближайшую парковку и использую её адрес как пункт назначения. Это чертовский проще, чем бескончено кружить по кварталам в поисках места для парковки.

Но в скором времени навигатор сможет привозить вас как раз к освободившемуся месту. Исследовательский проект Городской Интеллектуальной Помощи (Urban Intelligent Assist) компании Ауди использует большие объёмы данных, беспроводную связь и автомобильный навигатор для, помимо прочего, поиска улиц, доступных для парковки. Более того, система может предсказать, когда освободится место для вашей машины. Это словно Google Now, но для парковки.
Читать дальше →

14 инструментов для веб-дизайна и веб-разработки на 2014 год

Reading time3 min
Views155K
Вместе с WEB движущимся семимильными шагами (адаптивным дизайном, CSS препроцессорами, постпроцессорами и другими вещами) может оказаться проблемой попытка не отставать от чего-то нового и полезного.
Ниже Вы найдете 14 инструментов, 7 для веб-дизайнеров и 7 для веб-разработчиков, которые помогут веб-сайту перерасти из концепции в действительность.
Читать дальше →

Программу NameTag для распознавания лиц правозащитники назвали «жуткой»

Reading time2 min
Views166K


Новое приложение для смартфонов NameTag позволит проверить любого прохожего в социальных сетях и на сайтах знакомств. Увидели девушку в баре, навели камеру — и узнали имя и фамилию, возраст и где учится. Ещё удобнее, если у вас очки Google Glass, тогда проверять профили ещё проще.
Читать дальше →

Подходы к оптимизации (веб-)приложений

Reading time8 min
Views32K
Не знаю, как вы, я лично обожаю заниматься оптимизацией производительности программ. Я люблю, когда программы не тормозят, а сайты открываются быстро. В этой статье я бы хотел привести некоторые (базовые) подходы к улучшению производительности. В основном, они относятся к веб-приложениям, но некоторые вещи справедливы и для «обычных» программ. Я затрону такие темы, как профилирование, пакетная обработка, асинхронная обработка запросов и др. Этот топик можно считать продолжением «Стратегии оптимизации веб-приложений с использованием MySQL.
Читать дальше →

Information

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