читать дальше
Кирилл @XHunter
User
Как сделать один сайт для всех устройств (Responsive Web Design)
3 min
292KВчера была опубликована хорошая статья «Веб-дизайн. Каждому устройству свое представление». Несмотря на неплохие размышления, к сожалению, вывод в ней довольно глупый. А именно:
«Нужно определить, какими устройствами могут пользоваться ваши посетители, проработать и создать для этих устройств представление вашего сайта, определить устройство посредством проверки заголовков браузеров, и отправить наиболее подходящее представление.»
Во-первых, никто не сможет предугадать, какими устройствами будут пользоваться ваши посетители. Нужно ориентироваться не на устройства, а на разрешения.

Это скриншот из презентации «Beyond the mobile web by yiibu» (очень рекомендую).
Во-вторых, если вы не facebook или yandex, скорее всего, вы не потянете создание и поддержку разных версий сайта для каждого устройства. Да и это не имеет особого смысла. Потому что ситуация становится похожа на реалии пятнадцатилетней давности. Тогда делали сайт «под браузер», а сейчас автор предлагает делать сайт «под устройство».
«Нужно определить, какими устройствами могут пользоваться ваши посетители, проработать и создать для этих устройств представление вашего сайта, определить устройство посредством проверки заголовков браузеров, и отправить наиболее подходящее представление.»
Почему это глупо
Во-первых, никто не сможет предугадать, какими устройствами будут пользоваться ваши посетители. Нужно ориентироваться не на устройства, а на разрешения.

Это скриншот из презентации «Beyond the mobile web by yiibu» (очень рекомендую).
Во-вторых, если вы не facebook или yandex, скорее всего, вы не потянете создание и поддержку разных версий сайта для каждого устройства. Да и это не имеет особого смысла. Потому что ситуация становится похожа на реалии пятнадцатилетней давности. Тогда делали сайт «под браузер», а сейчас автор предлагает делать сайт «под устройство».
Как сделать один сайт для всех устройств
+137
Разработка своего первого USB устройства. Маленький шаг вперед
5 min
62KДавным-давно уже бредил мечтой собрать какое-нибудь устройство, пусть незамысловатое, но которое бы выполняло определенные действия под управлением компьютера. По профессии я web-разработчик, опыта в программировании микроконтроллеров никакого, но тема интересная. Навыков пайки тоже мало (ну наушники или проводки разные могу спаять конечно, но чипы паять не пробовал). Поэтому решил, что начинать необходимо с чего-то простого — например на основе уже готовой макетной платы с микроконтроллером.
В посте я расскажу о своем опыте разработки своей первой поделки, которая управляет светодиодами на плате с помощью программы на компьютере, а конкретнее некое подобие индикатора уровня громкости с одной полосой визуализации.
Что будет в посте?
В посте я расскажу о своем опыте разработки своей первой поделки, которая управляет светодиодами на плате с помощью программы на компьютере, а конкретнее некое подобие индикатора уровня громкости с одной полосой визуализации.
+109
Chosen: сделай выпадающие списки более дружественными
1 min
55KПлагин Chosen создан для оформления красивых и удобных выпадающих списков с помощью jQuery и Prototype. Для установки плагина достаточно просто скачать файлы и прописать одну строчку:
По умолчанию в Chosen вместо длинного текстового списка предлагается поле, по нажатию на которое появляется список. Поддерживается автодополнение ввода, выбор нескольких пунктов меню, элемент optgroup и др. Выглядит вполне нативно. В общем, лучше один раз увидеть.
Поскольку Chosen заменяет стандартный элемент HTML, то не нужно беспокоиться, как он работает с браузерами без поддержки JavaScript. Также не нужно ничего менять в бэкенде: формы сабмиттятся как обычно, изменения только в пользовательском интерфейсе.
Некоторые форки:
Chosen для MooTools
Модуль Chosen для Drupal 7
$(".chzn-select").chosen()
(версия для jQuery)По умолчанию в Chosen вместо длинного текстового списка предлагается поле, по нажатию на которое появляется список. Поддерживается автодополнение ввода, выбор нескольких пунктов меню, элемент optgroup и др. Выглядит вполне нативно. В общем, лучше один раз увидеть.
Поскольку Chosen заменяет стандартный элемент HTML, то не нужно беспокоиться, как он работает с браузерами без поддержки JavaScript. Также не нужно ничего менять в бэкенде: формы сабмиттятся как обычно, изменения только в пользовательском интерфейсе.
Некоторые форки:
Chosen для MooTools
Модуль Chosen для Drupal 7
+236
Неограниченый объём облачного хранилища
2 min
9.5KНа сегоднящний день известно множество сервисов, предоставляяющих доступ облачного хранения данных (наиболее популярный из них — dropbox). Почти во всех есть бесплатный аккаунт с ограниченным объёмом данных. В статье Прокачиваем DropBox в режиме «Full auto» рассказывалось как можно увеличить объём вашего dropbox аккаунт а на 8 Гб не тратя при этом никаких усилий.
Однако в данной статье пойдёт речь о получении «неограничнного» объёма в облаке, используя сервисы на основе WebDAV.
Кому интересно – добро пожаловать!
Однако в данной статье пойдёт речь о получении «неограничнного» объёма в облаке, используя сервисы на основе WebDAV.
Кому интересно – добро пожаловать!
+20
Что не скрывает LastPass?
4 min
35KДумаю, все знают, что такое Lastpass. Многие доверили ему хранение всех своих логинов и паролей. И как не доверить, ведь, разработчики декларируют, что вся информация защищена и шифруется на стороне клиентов. Помятуя о недавней истории я решил разобрать плагин LastPass на кусочки и понять, что действительно защищено, а что нет и продолжить свой цикл статей про маленькие проблемы в крупных проектах.
+96
Как качать торренты не выходя из Google Reader – способ для ленивых
4 min
5.8KВведение
Я активно пользуюсь сервисом Google Reader для чтения RSS-каналов в общем и для отслеживания появления интересующих меня раздач на torrent-трекерах в частности. А также частенько качаю с торрентов любимые сериалы. В некоторый момент захотелось избавиться от промежуточных шагов между просмотром записи канала и скачиванием торрента и немного автоматизировать процесс вылавливания из сети интересной и нужной информации.
Вряд ли для кого-то окажется откровением то, что если не все, то почти все современные torrent-клиенты поддерживают загрузку RSS-каналов и даже автоматическую загрузку торрентов из этих каналов. Но, как правило, большая часть выдаваемых определенным каналом раздач мне просто не нужна. Да и дисковое пространство далеко не резиновое и выкачивать все возможные раздачи любимого, например, сериала не представляется возможным. Я не настолько большой фанат, чтобы держать на дисках одновременно несколько версий одной и той же серии или фильма.
На этом месте внимательный читатель непременно заметит: так ведь можно на каждый RSS-канал средствами torrent-клиента настроить фильтры и выкачивать только те раздачи, которые представляют реальный интерес. Заметит и получит резонный, по-моему, ответ: на все случаи жизни фильтры не настроишь. Нужен более универсальный вариант.
Таким вариантом для меня стала автоматическая закачка раздач, отмеченных в Google Reader. О том, как это реализовать подручными средствами, рассказано под катом.
+54
MBR для флешки своими руками или как сделать из одного устройства три
8 min
114KМое почтение читающему!
Топик мог бы получиться просто катастрофически огромным, поэтому перейдем сразу к делу. Впереди вас ждет рассказ, о том, как можно одну флешку сделать одновременно загрузочной как для ОС семейства Windows, так и *nix, а также сделать из нее live-usb. Заранее прошу прощения за жаргон, не сторонник, но так короче.
Как-то пришлось много раз подряд устанавливать на одну и ту же машину кучу разных операционных систем, как оттоварищей господ из Майкрософт, так и любимых всеми нами *nix`ов. При этом инсталляторы вновь устанавливаемых ОСей периодически терли загрузчики ранее установленных, так что приходилось их восстанавливать вручную, загружаясь с live-usb. Но самое ужасное, что при всем при этом под рукой была всего одна флешка (и еще 15 компьютеров правда, но толку от них было мало, так как разбирать их по причинам гарантии в надежде на лишний жесткий диск было нельзя). Флешка к счастью была большого объема. Вот тут-то и возникла идея сделать из одной флешки две, а лучше три (хотя можно и 4) разных девайса.
Как сделать из одной флешки несколько с целью последующей установки на нее одновременно нескольких установщиков ОС и еще live-операционки? Ответ очевиден — сделать на флешке несколько разделов!
Топик мог бы получиться просто катастрофически огромным, поэтому перейдем сразу к делу. Впереди вас ждет рассказ, о том, как можно одну флешку сделать одновременно загрузочной как для ОС семейства Windows, так и *nix, а также сделать из нее live-usb. Заранее прошу прощения за жаргон, не сторонник, но так короче.
Аннотация
Как-то пришлось много раз подряд устанавливать на одну и ту же машину кучу разных операционных систем, как от
Немного теории
Как сделать из одной флешки несколько с целью последующей установки на нее одновременно нескольких установщиков ОС и еще live-операционки? Ответ очевиден — сделать на флешке несколько разделов!
+169
Подбор паролей к WPA/WPA2 с использованием видеокарты
6 min
204KПривет, Хабр!
Сегодня я расскажу и покажу вам, как можно использовать всю мощность ваших видеокарт дляигр перебора паролей к Wi-Fi. Как-то не комильфо в наше время использовать только процессорные мощности под эти задачи (в частности aircrack-ng), когда в 80% компьютеров есть видеокарта. Поэтому разумно использовать всю потенциальную мощность ваших систем. А именно, речь пойдет о замечательной программе pyrit.
Сегодня я расскажу и покажу вам, как можно использовать всю мощность ваших видеокарт для
+132
Generating PDF files with PHP and FPDF
5 min
117KTranslation
Большинство web-сервисов экспортируют данные в разных форматах для дальнейшего использования. Данная статья о том, как экспортировать данные в pdf-формате.
Хотя многие знают как это делать, я опишу кратко для тех кто не знает.
Хотя многие знают как это делать, я опишу кратко для тех кто не знает.
+32
Парсер формул с помощью метода рекурсивного спуска
6 min
79K
Доброго времени суток, уважаемые Хабровчане!
Хочу поделится с вами реализацией алгоритма «Метод рекурсивного спуска» на примере написания парсера формул с поддержкой переменных и функций на языке Java
Эта статья в (скорее всего, во всяком случае я надеюсь :) ) будет интересна для новичков, или кому-то применить как фундамент для своего решения данной задачи.
Кому интересно — прошу под кат
+44
Debian: Apt-Pinning на примере php5-fpm и nginx 1.0.4 (Debian way)
3 min
6KВсем Debian'щикам известно, что Debian настолько же стабилен, насколько тормознут на «новинки». В частности, пакета php5-fpm, так многими любимого, в стабильном репозитории до сих пор нет. Решив чуток поискать, как делают люди, понял, что многие собирают его из «сорцов». Мне это как-то стало не по душе. Поэтому сегодня я поставил его в стиле Debian-way, с помощью Apt-Pinning.
Apt-Pinning, вкратце, это технология, которая показывает, из какого репозитория предпочтительнее ставить пакет.
Apt-Pinning, вкратце, это технология, которая показывает, из какого репозитория предпочтительнее ставить пакет.
+27
Какие единицы измерения выбирать при верстке
3 min
26KВ прошлой моей статье я затронул единицы измерения и тут же в комментариях начались на эту тему споры и обсуждения, поэтому я решил вынести этот вопрос в отдельный пост. Вот теперь и обсудим :)
+83
Это должен знать каждый
3 min
83KСпрос на Android-разработчиков весьма велик сейчас. Я решил подготовить список того, что нужно знать каждому разработчику под эту платформу. Это не только то, что вас могут спросить на собседовании, а весь спектр знаний, который скорее всего пригодится в работе. Бонусом идет пара интерсных вопросов про платформу.
+109
Одна простая вещь
1 min
3.8KTranslation
Если вы хотите защитить важную директорию от удаления вследствие небрежного обращения с командой rm -rf *, то создайте файл с именем -i, это заставит rm запросить подтверждение:
touch ~/important-directory/-i
+81
Flash-игры для «чайников»
1 min
21K
Вышла первая версия фреймворка StencylWorks — это довольно продвинутый инструмент для создания двухмерных Flash-игр на компьютере Mac или Windows (скоро появится поддержка iOS). Программой можно пользоваться без знания языков программирования (design mode), а для кодеров имеется отдельный мощный интерфейс (code mode) через ActionScript 3 API с поддержкой любого стороннего редактора.
+46
Упрощаем регистрацию и вход на сайт
7 min
35KTutorial
Представляю вашему вниманию перевод статьи под названием "Innovative Techniques To Simplify Sign-Ups and Log-Ins" от Anthony T. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением издания Smashing Magazine.
Существует множество различных способов создания форм регистрации и авторизации. Большинство дизайнеров знакомы с традиционными способами.
Однако, зная и используя некоторые инновационные техники, можно сделать формы понятнее и легче для заполнения.

Форма авторизации на сайте Basecamp
В этой статье мы представляем несколько идей, которые могли бы оказаться полезными для ваших проектов. Но, собираясь использовать их, пожалуйста убедитесь в том, что правильно понимаете контекст, в котором их следует применять. А еще мы будем рады увидеть результаты юзабилити-тестирований, подтверждающие или опровеграющие советы, изложенные ниже.
+227
MUX.Dialog плагин для красивых диалогов в вашем проекте
3 min
2.4K
Основные характеристики
- Полнофунциональные диалоги. А значит из коробки работают модальность, многооконность, закрытие по Esc, перетаскивание, растягивание (опционально), удобный механизм добавления кнопок и другие вкусности. При этом все очень ненавязчиво.
- Простой API для кастомизации и манипуляции диалогами.
- Стилизация через CSS, что означает что многие, если не все свойства связанные с внешним видом и даже некоторые связаные с поведением можно переопределить в своих CSS файлах, а значит вы легко впишете диалоги в стиль своего проекта (см. примеры).
- События позволят вам перехватывать ключевые моменты поведения диалогов и дополнять их собственным поведением.
- Работает из коробки с MUX.Loaders, но не требует их если вы не хотите их использовать. Просто подключите файл лоадеров до диалогов и все — анимация сама запустится перед событием
submit
и остановится при закрытии. - Полная документация и примеры.
Проект на github https://github.com/lavmax/MUX.Dialog.
Тестировалось на IE7+, FF3+, Chrome, Safari, Opera последних версий.
Некоторые примеры использования и кастомизации
+26
Как стать системным администратором — пособие для начинающих (часть 3)
9 min
151KTutorial
Предыдущая часть: habrahabr.ru/post/118966
В этой части: как закончить быть эникеем и стать системым администратором.
Итак, допустим, вы работаете эникеем. Возможно, уже вторую или даже третью работу. Допустим, вы восприняли всерьёз мой совет читать по 20-30 айтишных книжек в год и прочитали за прошедшие два года аж 4 книги. У вас обширный экспириенс общения с пользователями, вы перестали бояться бить в бубен, а удачно посылать пользователей вы научились лучше админа. (Не в этом ли причина третьей по счёту работы?).
В «завершении карьеры» есть два важных фактора: куда уйти и как уйти.
Я сейчас скажу очень важную вещь, её многие, работающие на «младших должностях» не понимают, а на самом деле это очень важно:
В этой части: как закончить быть эникеем и стать системым администратором.
Итак, допустим, вы работаете эникеем. Возможно, уже вторую или даже третью работу. Допустим, вы восприняли всерьёз мой совет читать по 20-30 айтишных книжек в год и прочитали за прошедшие два года аж 4 книги. У вас обширный экспириенс общения с пользователями, вы перестали бояться бить в бубен, а удачно посылать пользователей вы научились лучше админа. (Не в этом ли причина третьей по счёту работы?).
В «завершении карьеры» есть два важных фактора: куда уйти и как уйти.
Я сейчас скажу очень важную вещь, её многие, работающие на «младших должностях» не понимают, а на самом деле это очень важно:
Не портите себе карму
Не увольняйтесь внезапно.+107
Бесплатный Wi-Fi, с небольшой изюминкой
7 min
50KДанная статья повествует о небольшом проекте бесплатной Wi-Fi сети, об основных технических проблемах и решениях. Цель – просто рассказать о достаточно оригинальном проекте.
Чуть меньше года назад, моё руководство решило на территории организации развернуть сеть бесплатного Wi-Fi для посетителей. Все было бы просто и прозаично, если бы не одно интересное условие: прежде чем пользователь попадет в Интернет, он должен посмотреть информационную страницу, с нашей «рекламой».
После небольшого анализа пришли к выводу, что подобное можно реализовать только с помощью отдельного сервера- шлюза, скорее всего на Linux-е. Краткое ТЗ с общим описанием задачи разосланное по компаниям, занимающимся разработкой/внедрением решений хотя бы приближенных к подобному, показало, что при заказе внешнего решения стоимость проекта взлетит за облака.
После долгих раздумий и фантазий на тему: как же это реализовать (с погружением в глубины протоколов, и десятками эротических фантазий как же подменить пакеты, заголовки и т.д.) было найдено простое и логичное решение.
Чуть меньше года назад, моё руководство решило на территории организации развернуть сеть бесплатного Wi-Fi для посетителей. Все было бы просто и прозаично, если бы не одно интересное условие: прежде чем пользователь попадет в Интернет, он должен посмотреть информационную страницу, с нашей «рекламой».
После небольшого анализа пришли к выводу, что подобное можно реализовать только с помощью отдельного сервера- шлюза, скорее всего на Linux-е. Краткое ТЗ с общим описанием задачи разосланное по компаниям, занимающимся разработкой/внедрением решений хотя бы приближенных к подобному, показало, что при заказе внешнего решения стоимость проекта взлетит за облака.
После долгих раздумий и фантазий на тему: как же это реализовать (с погружением в глубины протоколов, и десятками эротических фантазий как же подменить пакеты, заголовки и т.д.) было найдено простое и логичное решение.
+21
Information
- Rating
- Does not participate
- Location
- Луганск, Луганская обл., Украина
- Date of birth
- Registered
- Activity