Pull to refresh
12
0
Максим Шадрин @makc9I

User

Send message

Интерактивная инфографика с анимациями CSS и SVG

Reading time7 min
Views47K
Одной из наименее обсуждаемых функций, все чаще появляющейся в последних браузерах, является поддержка файлов формата SVG. Этот формат характеризуется абсолютной свободой в отображении: легко изменяется в размере, может быть отображен в любом разрешении без потери качества. Во многих случаях SVG весят гораздо меньше, чем, например, PNG или JPG.

image

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

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

Простое управление вашим Arduino через web

Reading time6 min
Views107K
Эта статья предназначена для новичков. Здесь будет описано как из web приложения при помощи ajax запросов посылать команды phyton скрипту, который будет передавать их через serial port непосредственно на наш arduino.
Вы приобрели себе Arduino, попробовали несколько примеров, поигрались со скетчами. Но вам этого мало, вы хотите управлять, управлять всем этим добром через интернет. Самый простой способ — это приобрести шилдик с Ethernet-портом и подключить его к Arduino (или приобрести платку с уже встроенным Ethernet ). Но она и стоит дороже и в управлении надо поднатаскаться.

Если интересно, тогда читаем дальше.

Обзор инструментов для сжатия изображений

Reading time15 min
Views373K


Для ускорения сайта, некоторые рекомендуют проанализировать каждую страницу: оптимизировать запросы HTTP и любые перенаправления, сжать скрипты и стили и т. д. Все это без сомнения необходимо, но в первую очередь важно рассмотреть основы. В частности, вы уверены, что любая графика, которую вы используете на создаваемых сайтах, полностью оптимизирована для Интернета?
Читать дальше →

HINT.css — всплывающие подсказки средствами CSS

Reading time1 min
Views33K

Что


Hint.css — библиотека, реализующая всплывающие подсказки, средствами CSS3 без применения JavaScript.

Библиотека использует атрибут data-*, псевдоэлементы, свойство content и CSS3 transitions для вывода всплывающих подсказок.
Читать дальше →

Спорт и Android: приложения, облегчающие жизнь

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

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


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

NASA по-русски: #2 видео-дайджест про космос

Reading time1 min
Views32K
image

В прошлом выпуске мы показали превод событий от NASA за неделю. Сегодня представляем видео с переводом:

  • данные от марсохода Curiosity;
  • роботы для дозаправки в космосе;
  • интервью о проекте Discover-AQ 2013;
  • события NASA за неделю от 18 января.
Читать дальше →

Physics Snake. С нуля. Часть первая

Reading time12 min
Views20K
Статья с тэгом «обучающий материал». С нуля, поэтому будем писать свой не сложный (для начала) физический движок и сразу же не сложную игру (я выбрал змейку) на нем. Но статья скорее будет не об этом, так как это не такое уж и сложное задание, а о том, как это все будет на JavaScript, причем с максимально красивым (правильным) кодом (жду, что все что можно сделать еще лучше вы опишите в комментариях). «А в ответ полетели спелые помидоры..». Начнем.
(кто дочитал аж до сюда, держите печеньки, управления стрелками влево-вправо):
вот что будет: в части один
и это же (dev-mode)
Читать дальше →

Общение между окнами одного браузера средствами cookie

Reading time2 min
Views28K
Статья будет очень короткой, но описывает неплохой способ обмена данными между окнами в одном браузере.

Способ поможет нам среагировать на событие, которое произошло в другом окне. Например, как это делает VK — когда в одной вкладке у нас играет музыка, а в другой мы открываем видео или включаем другой трек.

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

Cпойлер средствами css…

Reading time3 min
Views108K
В предпраздничные дни выдалась минутка, захотелось отвлечься — окунуться в мир занятных идей, отстранясь от забот праздника. В итоге, — идея: не ожидая пришествия html5, — смастерить спойлер «по клику» посредством css и HTML.

Подробности

Думайте при разработке

Reading time16 min
Views51K
Недавно наткнулся на ошибку в Android приложении Яндекс.Метро. Если бы был чемпионкой мира по синхронному плаванию, то обязательно спросил бы: «Кто создавал программу „для галочки“? Кто работал „на отшибись“? Кто слабое звено?». Недоумение вызывала не сама ошибка, а то, что она попала в приложение и всё ещё не исправлена.

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

Начать хотелось бы с главы «Изучение знаменитых (и не очень знаменитых) ошибок» из книги «Наука отладки». Если ещё не читали, то рекомендую прочитать. В этой главе описаны «глупые» ошибки и стечения обстоятельств, которые стоили жизней и миллионы долларов. Все эти ошибки объединяло то, что выявляющий их тестовый сценарий было чрезвычайно сложно воспроизвести, в результате многие проверки были просто пропущены.

В статье же мы будем рассматривать распространённые приложения, которые протестировать может любой участник команды. Давайте проведём небольшой эксперимент. Если у вас нет Android устройства, то попросите минут на десять у коллег или друзей. Скачайте приложение Яндекс.Метро и попробуйте его протестировать. Интересует актуальная на текущий момент версия 1.63 от 02.11.2012 сборка 159 (на Google Play стоит дата 21.01.2013). Для корректности проверки предлагаю снять галочку «Автообновление» в настройках Google Play.

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

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


Продолжение

Тренды фронтэнда. Javascript APIs для мобильных устройств

Reading time8 min
Views18K
Презентация: http://sergey.makoveev.info/2013/01/frontend.js-apis-mobile.presentation/.
Примеры: http://goo.gl/5jv4i.
Исходники: http://goo.gl/YYj0R.

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

Полезные хаки и сниппеты для .htaccess

Reading time7 min
Views469K


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

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

Если же вам нужны базовые сведения о предназначении данного файла, то вы можете получить из нашей статьи введение в .htaccess (перевод данной статьи не делал, так как там основы, их достаточно в русскоязычном сегменте Сети, но если будет проявлен интерес, то можно и ее перевести для полноты картины — прим. переводчика), в которой достаточно подробно раскрыты все аспекты его применения.
Узнать больше

PHP класс для удобной и безопасной работы с MySQL

Reading time9 min
Views117K
После написания статьи про защиту от инъекций я взялся за написание класса, реализующего изложенные в ней идеи.
А точнее, поскольку ключевой функционал уже использовался в рамках рабочего фремворка, я занялся выделением его в самостоятельный класс. Пользуясь случаем, хочу поблагодарить участников PHPClub-а за помощь в исправлении нескольких критических ошибок и полезные замечания. Ниже я постараюсь описать основные особенности, но сначала небольшой
дисклеймер
Есть несколько способов работы с SQL — можно использовать квери-билдер, можно ORM, можно работать с чистым SQL. Я избрал последний вариант, потому что мне он ближе. Я совсем не считаю первые два плохими. Просто лично мне всегда было тесно в их рамках. Но я ни в коем случае не утверждаю, что мой вариант лучше. Это просто ещё один вариант. Который можно использовать, в том числе, и при написании ORM-а. В любом случае, я считаю, что наличие безопасного способа работать с чистым SQL не может принести какой-либо вред. Но при этом, возможно, поможет последним оставшимся приверженцам использования mysql_* в коде приложения, отказаться, наконец, от этой порочной практики.

В двух словах, класс строится вокруг набора функций-хелперов, позволяющих выполнять большинство операций с БД в одну строку, обеспечивая при этом (в отличие от стандартных API) полную защиту от SQL инъекций, реализованную с помощью расширенного набора плейсхолдеров, защищающих любые типы данных, которые могут попадать запрос.
В основу класса положены три базовых принципа:
  1. 100% защита от SQL инъекций
  2. При этом защита очень удобная в применении, делающая код короче, а не длиннее
  3. Универсальность, портабельность и простота освоения

Остановлюсь чуть подробнее на каждом из пунктов.
Читать дальше →

Управление декоративной подсветкой на Arduino с телефона

Reading time6 min
Views40K

Предисловие


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

Хотелось, чтобы была возможность:

  • Управлять режимами подсветки (скорость затухания, яркость свечения) удаленно, с Android-телефона по синезубу или пульта ДУ домашней техники по ИК
  • Возможность легкого перепрограммирования режимов работы на самом устройстве
  • Стоимость — чем меньше, тем лучше
  • Доступность компонентов

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

Прототипирование с помощью Wireframesketcher

Reading time3 min
Views13K
Как-то раз у меня возникла задача нарисовать для дизайнера небольшой, по возможности интерактивный прототип сайта. Естественно первым делом полез искать достойный инструмент на любимый хабрахабр.

Поиск инструмента


Быстро нашел две хорошие статьи с перечнем необходимого софта:

Далее

Arduino&Oregon или погодная станция своими руками

Reading time4 min
Views134K
Не так давно ко мне в руки попал набор юного радиолюбителя Arduino и много разных проектов получили путевку в жизнь (или «в стол»), но дурная голова рукам покоя не дает до сих пор.
Благодаря удачному стечению обстоятельств случилось так, что в одном месте оказались:
  • Arduino — 1 шт.
  • Датчик для измерения температуры и влажности Oregon THGN132N — 2 шт.
  • RF-kit (приемник и передатчик) на 433МГц — 1 шт.

Дополнительно к вышеперечисленному (исключительно для быстрого прототипирования) использовался Starter Kit от Seeed Studio (из него понадобился base shield, дисплей 16х2 с последовательным интерфейсом, модуль светодиода и соединительные кабели).
Что же получилось?

В поисках идеального css-фреймворка. Требования, реализация, maxmertkit

Reading time14 min
Views70K


Я обожаю twitter bootstrap. Прост, местами логичен, достаточно красив, подходит для быстрого прототипирования веб-интерфейсов. Но этого оказалось недостаточно. Взяв twitter bootstrap в большой проект, мне пришлось целиком его разобрать и переосмыслить css-фреймворки как боевые единицы в веб-проектах. В результате переосмысления родились требования к любому css-фреймворку, удобному как верстальщику, так и frontent-разработчику.
Требования и реализация

Прокрастинация. Символическая система вознаграждения. Часть 1

Reading time7 min
Views154K
Что такое прокрастинация? Это термин в психологии, который подразумевает склонность к постоянному откладыванию дел или мыслей. Прокрастинация не является ленью, лень это отсутствие или недостаток трудолюбия. В чём проявляется прокрастинация? В том, что человек осознаёт выполнение важных дел, но откладывает их на потом или заменяет дела развлечениями. Когда сроки подходят, он либо бросает всё, либо пытается выполнить работу за короткий промежуток времени, с предсказуемым результатом.

Для тех кто хочет преодолеть прокрастинацию быстро, просто прочитав эту статью
Подробности под катом

Светодиодная лента в качестве освещения комнаты

Reading time15 min
Views1.3M
Изначально для основного освещения одной из комнат, где шёл капитальный ремонт, планировалась обычная люстра. Но недавно мне на глаза попалась суперяркая светодиодная лента Ultra 5000 со светодиодами smd 5630 торговой марки Arlight. Решение было принято быстро, окончательно и бесповоротно — хочу такую ленту в качестве основного света в комнате.



О реализации светодиодного периметра освещения далее

Information

Rating
Does not participate
Location
Вологда, Вологодская обл., Россия
Date of birth
Registered
Activity