Как стать автором
Обновить
65
0
Павел Малышев @PaulMaly

Программист

Отправить сообщение

Месяц с генератором красивых QR-кодов

Время на прочтение4 мин
Количество просмотров20K
На днях нас посетила забавная идея — провести анализ QR-кодов, которые генерируют пользователи. Результаты оказались, с одной стороны, несколько предсказуемыми, с другой — удивили, а с третьей — даже повеселили.
Но обо всем по порядку.
Всего голосов 15: ↑8 и ↓7+1
Комментарии21

Как разместить картинку внутри QR-кода

Время на прочтение2 мин
Количество просмотров139K
Автор блога Hack A Day Брайан Бенчофф (Brian Benchoff) разобрался в алгоритме генерации QR-кодов (стандарт ISO 18004) и составил инструкцию, как можно внедрить в QR-код произвольное изображение. Например, логотип фирмы.

Для работы использовались генератор QR-кодов и Microsoft Paint для попиксельного редактирования.

Шестая версия QR-кодов представляет собой квадрат со стороной 41 пиксел.



На картинке показан шаблон QR. На нём чёрные пикселы всегда обязаны быть чёрными, а белые обязаны быть белыми. Серая зона свободна для творчества.
Читать дальше →
Всего голосов 162: ↑143 и ↓19+124
Комментарии61

Читаем QR код

Время на прочтение5 мин
Количество просмотров1.1M
Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.

В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.

Иллюстраций: 14, символов: 8 510.
Читать дальше →
Всего голосов 623: ↑614 и ↓9+605
Комментарии109

Генерируем QR-код на PHP

Время на прочтение2 мин
Количество просмотров80K

QR-code, уже давно распространен повсеместно, во всех сферах человеческой жизни. Вроде такая популярная вещь, а нормальной библиотеки (Open Source) на PHP — нет. Товарища deltalab, очень напрягла эта проблема и он решил переписать имеющиеся в наличии С библиотеки ibqrencode от Kentaro Fukuchi, на более привычный ему язык PHP.
Читать дальше →
Всего голосов 62: ↑56 и ↓6+50
Комментарии39

Дайджест интересных новостей и материалов из мира айти за последнюю неделю №4 (28 апреля — 4 мая 2012)

Время на прочтение6 мин
Количество просмотров13K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


Читать дальше →
Всего голосов 33: ↑24 и ↓9+15
Комментарии4

Асинхронное программирование на JavaScript — Остаться в живых

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

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

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

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

Сообщество JavaScript в курсе этого, особенно сообщество Node.JS, так как Node.JS ставит акцент на асинхронном коде.
Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии22

Успешный проект – проект, ориентированный на пользователя

Время на прочтение12 мин
Количество просмотров2.7K
Ориентируя проект на цели пользователя, можно создать новые, удобные и востребованные сервисы. Более того, можно создавать социальные коммуникации вокруг товаров, и это успешно монетизируется! Вот только… Что поможет учесть цели ваших пользователей? Маркетинг? К сожалению, «лобовой» перенос в интернет практики обычного маркетинга не даёт результата.

Текст доклада Павла Коноплицкого на конференции SocialExperience 2008

Разные пользователи — разные потребности

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

Успех лидеров рынка и недостаток информации о пользователях, попытки использовать в вебе оффлайновый опыт создания нового продукта или услуги часто превращается в порочное убеждение, что для успешности проекта он должен удовлетворять интересам максимального количества человек.
Читать дальше →
Всего голосов 1: ↑0 и ↓1-1
Комментарии65

OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

Время на прочтение14 мин
Количество просмотров346K
Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
Читать дальше →
Всего голосов 126: ↑116 и ↓10+106
Комментарии180

Оптимизация связки Nginx, Apache, PHP, MySql

Время на прочтение9 мин
Количество просмотров80K
Неожиданно поступила задача разобраться почему определенный сайт не работает столь быстро сколь хочется. В основе его CakePHP, в связке с Apache и MySQL. В статье описание процесса поиска узких мест и приведение в порядок на столько, на сколько это возможно.

Название сайта светить не буду — думаю, программисты сами узнают. Скажу лишь, что это приложение для социальной сети нагрузкой 70-150 тысяч посетителей в обычное время. Все усложняется тем, что периодически производится рекламная рассылка, которая привлекает около 200-300 тысяч посетителей за пару часов.

Итак, под катом описание всей борьбы на протяжении 4 дней.
Читать дальше →
Всего голосов 95: ↑79 и ↓16+63
Комментарии108

Тренды на осеннем Форуме Технологий 2012: хабраопрос

Время на прочтение5 мин
Количество просмотров3.7K
Друзья, у нас планируется большое событие — осенний Форум Технологий Mail.Ru Group (те, кто не был с нами этой весной и в прошлом году, могут почитать про Форум тут). Проходить он будет 17 октября в Москве, в информационно-выставочном центре «ИнфоПространство».

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

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

Читать дальше →
Всего голосов 28: ↑22 и ↓6+16
Комментарии8

Кластеризация на клиенте или как показать 10000 точек на карте

Время на прочтение7 мин
Количество просмотров30K
Существует несколько типов проектов,
для которых вывод геоинформации является
необходимым: сайты по недвижимости, каталоги компаний,
каталоги достопримечательностей, доски объявлений и другие.
Для этих сайтов я решил разработать плагин к goolge API 3 и Яндекс API 2.

Основные требования:
  1. Возможность подключения без глубокой подготовки данных на сервере, а именно, используя только уже имеющиеся географические координаты объектов.
  2. Простой протокол подготовки и передачи данных.
  3. Быстрый клиентский кластеризатор с ДВУМЯ типами меток: кластер и группа. Кластер — несколько объектов, расположенных рядом. При клике кластер “раскрывается”, то есть увеличивает зум пока объекты будут на расстоянии, большем чем расстояние кластеризации. Группа — несколько объектов в одной точке (на минимальном расстоянии). При клике на группу на любом зуме выводится список объектов в группе.
  4. Отображение до 10000 точек с использованием кластеризатора.
  5. Отображение в ie7, на мобильных устройствах (iPad первого поколения).
  6. Шаблонизация на клиенте двух инфоокон — группового кластера и самого объекта.
  7. Использование спрайта для меток.
  8. Возможность использования неограниченного количества типов меток (иконок) для разных типов объектов.
  9. Возможность использования нескольких размеров иконки для разного диапазона зума.

В статье я опишу несколько подходов, которые были использованы для реализации этого плагина.
Читать дальше →
Всего голосов 53: ↑52 и ↓1+51
Комментарии22

Ресурсы, которые помогают дизайнерам. Часть 2

Время на прочтение2 мин
Количество просмотров12K
Привет, наверное многие читали мой пост Десяток ресурсов, которые помогают быть дизайнером. Как я понял эта тема интересная (147 плюсов как никак). А раз так, я решил не останавливаться на достигнутом и вот наконец-то закончил работу над своеобразным продолжением первой части. Надеюсь получилось не хуже. Итак, кому интересно, что получилось, прошу под кат.
Читать дальше →
Всего голосов 93: ↑84 и ↓9+75
Комментарии23

Десяток ресурсов, которые помогают быть дизайнером

Время на прочтение2 мин
Количество просмотров37K
Работать дизайнером очень интересно. Это творческая работа. И как любому творческому человеку, дизайнеру нужна муза или вдохновение.

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

Естественно, если вы расскажите о своих ресурсах, я буду благодарен.

Хочу сразу предупредить, что практически все ресурсы, собранные мной — англоязычные. Только лишь один на русском. Так же я не очень приветствую узкопрофильные ресурсы (речь о ресурсах, на которых можно скачать только кисти для photoshop и прочее).
Читать дальше →
Всего голосов 185: ↑166 и ↓19+147
Комментарии94

Обзор зарплат WEB программистов

Время на прочтение2 мин
Количество просмотров228K
После длительного перерыва мы вновь публикуем результаты нашего исследования рынка труда в IT индустрии. Напомним, что в предыдущих наших постах мы рассказали о зарплатах «Мобильных» разработчиков, Дизайнеров, Руководителей проектов по разработке ПО, Системных администраторов windows и даже описали из чего состоит социальный пакет в IT компании.



Это пост мы решили посвятить отцам интернета — Web программистам:
  • HTML верстальщик, Web мастер
  • Программист PHP
  • Старший (ведущий) программист PHP
  • Программист ASP.NET
  • Программист JavaScript
  • Программист (старший, ведущий) Perl
  • Программист (старший, ведущий) Python
  • Программист (старший, ведущий) Ruby
  • Программист Flash/Flex
Читать дальше →
Всего голосов 169: ↑142 и ↓27+115
Комментарии221

62 полезных инструмента для адаптивного дизайна (Responsive web design)

Время на прочтение14 мин
Количество просмотров203K
UPD. Для краткого введения в адаптивный дизайн рекомендую прочитать статью «Как сделать один сайт для всех устройств (Responsive Web Design)».

Перевод крайне ценной статьи «Responsive Web Design Techniques, Tools and Design Strategies» популярного интернет-издания для разработчиков Smashing Magazine.

Еще в январе мы опубликовали статью об адаптивном дизайне «Responsive Web Design: What It Is and How To Use It» (Адаптивный веб-дизайн: Что это такое и как им пользоваться). Адаптивный веб-дизайн продолжает привлекать к себе много внимания, но, учитывая, насколько он отличается от традиционных методов разработки сайтов, он может показаться заоблачно сложным для тех дизайнеров и разработчиков, которые его не пробовали.

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

Техники Responsive web design


1. CSS Transitions and Media Queries
CSS Transitions и Media Queries

Elliot Jay Stocks подробно рассказывает о методе сочетания CSS Media Queries и CSS transitions. Основная идея в следующем: разрабатывая адаптивный сайт с помощью Media Queries, вы постоянно изменяете ширину вашего браузера, чтобы посмотреть, как сайт ведет себя при этом. Но каждый раз, когда отрабатывает один из ваших Media Queries, виден жесткий переход между стилями (первый, например, для десктопов, второй — для планшетов). Почему бы не использовать CSS transitions для сглаживания этих жестких переходов с помощью анимации?



Читать дальше →
Всего голосов 112: ↑107 и ↓5+102
Комментарии14

TeamLab: прогулка по каналам продвижения, или как мы создавали social buzzz

Время на прочтение5 мин
Количество просмотров10K
Когда мы рассказывали о нашей системе переводов, нас попросили написать и о том, как идет продвижение TeamLab, в особенности, на зарубежные рынки. Сегодня попробуем. Были и взлеты и падения, шли очень часто методом проб и ошибок, но любой опыт бесценен, вот им и поделимся, может, кому пригодится. Не будем писать умных, и уже ставших банальными, советов про SEO, Adwords и прочее, постараемся быть по максимуму конкретными.



Итак, выжимка из основных методов привлечения новых пользователей и укрепления лояльности уже существующих, которые успешно срабатывают для нашего проекта и по сей день:
Читать дальше →
Всего голосов 47: ↑43 и ↓4+39
Комментарии2

Удобная работа с LocalStorage. Ну и с SessionStorage заодно

Время на прочтение3 мин
Количество просмотров24K
Хочу представить вашему вниманию библиотеку для удобной работы с Local и Session Storage. Она появилась, как побочный продукт работы над проектом и содержит несколько довольно удобных функций. Библиотека поддерживает все современные браузеры, а именно:

  • Internet Explorer 8+
  • Mozilla Firefox 3.5+
  • Google Chrome 4+
  • Safari 4+
  • Opera 10.5+

Помимо традиционных — set/get/inc/dec, есть набор удобных «вкусностей»:

  • inc работает со строками
  • extend для объектов
  • много методов для работы с массивами
    • обычные append/prepend/takeLast/takeFirst/getLast/getFirst
    • с проверкой уникальности — .appendUnique/.prependUnique
    • во все append/prepend методы можно передавать лимит — удобно для организации MRU списков
  • calls chaining — я от него в восторге :)

Если заинтересовал — прошу под кат за примерами. Мне кажется они достаточно хорошо показывают возможности библиотеки.

Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии19

Web-интерфейсы без использования колесика мышки

Время на прочтение2 мин
Количество просмотров3.4K
Считаете ли вы тач-интерфейсы удобными? Я думаю, что считаете. Ведь это, и правда удобно – общаться с интерфейсом на “ты”. Зачем нам нужен посредник в нашем общении? Зачем все усложнять?

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

Суть упрощения заключается в том, что пользователь, находясь на странице сайта, может
Читать дальше →
Всего голосов 33: ↑9 и ↓24-15
Комментарии51

HTML5: Доступ к батарее через javascript

Время на прочтение4 мин
Количество просмотров6.4K
HTML5 спецификация наполняется и медленно начинают появляться API, позволяющие получать информацию об устройстве, на котором запущено приложение. Одним из последних является Battery Status API. Как вы уже догадались, API позволяет получить информацию о батареи используя javascript. Так что теперь у вас есть возможность отключиться тяжелую анимацию на вашей странице, предложить пользователю сохранить данные или самому активно ее сохранять в локальное хранилище. Рабочий пример вы можете найти здесь. Следует заметить, что свойство «Battery time left», было недоступно, когда я открыл страницу. Но оно обновилось через пару минут.

Я тестировал это API с последних бета-версий Mozilla и оно пока не работает на Mac (но работает на iOS, Android и Windows). Так же мне не удалось получить положительный результат статуса зарядки, зато время разрядки и уровень батареи работали корректно. В этом маленьком примере мы просто отобразим информацию из API на простенькой странице, как эта (скрин из моей таблетки):



В этой статье мы рассмотрим:

  • Использование Battery API
  • Создание полей, для отображения информации из API
  • Создание картинки для отображение статуса батареи
  • Использование eventListener для обновления информации
Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии35

Простая замена phpMyAdmin для гиков

Время на прочтение2 мин
Количество просмотров14K
Довольно часто возникает ситуация, когда надо быстренько запустить пару запросов к MySQL базе у клиента на сервере. При этом есть только FTP и параметры соединения с СУБД. Самый простой выход — загрузить туда phpMyAdmin, ну а дальше дело техники. Обычно все это проиcходит на фоне того, что у клиента уже установлена какая-то CMS — WordPress, Drupal, Joomla…

Я люблю простые, красивые и удобные вещи. Я тепло отношусь к phpMyAdmin но в 90% моих Use Cases мне он не нужен. Нужно что-то простое. В идеале такое, что можно просто залить на сервер и открыть в браузере — не настраивая.

Пара вечеров и пакет готов.
Читать дальше →
Всего голосов 120: ↑114 и ↓6+108
Комментарии116

Информация

В рейтинге
Не участвует
Откуда
Нижегородская обл., Россия
Зарегистрирован
Активность