Search
Write a publication
Pull to refresh
34
0
Дмитрий @Keyten

JavaScript

Send message

Интерфейсель: Запутанная история

Reading time7 min
Views28K

Многим из нас чуть не ежедневно приходится сталкиваться с недружным строем разнообразных разъёмов для подключения между собой различных устройств. Вспомнить хотя бы многообразие портов на некоторых компьютерах некоторое время назад, когда на одном системном блоке можно было встретить COM, LPT, PS/2, MIDI, USB и FireWire одновременно. По счастливому стечению обстоятельств, COM, LPT, PS/2 и FireWire на современных бытовых компьютерах вымерли, теперь для целей подключения периферии у нас остался только USB. Разнообразной периферии стало больше. А интерфейсов ещё больше.

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

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

Reading time5 min
Views19K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


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

Программирование под MeeGo для начинающих

Reading time10 min
Views7.7K
Введение

В данной статье будет дано введение в разработку приложений для платформы MeeGo. Начиная с самых азов, установки и настройки вспомогательного программного обеспечения, и заканчивая отладкой и развертыванием приложения. Мы создадим простое приложение, выполняющее основные операции над числами (калькулятор), данное приложенное довольно простое и имеет множество способов реализации, а мы рассмотрим пример нестандартного решения представленный в книге [7].
Читать дальше →

T(ether) позволяет редактировать виртуальные объекты в реальном мире

Reading time1 min
Views1.5K


Конечно же, дело здесь не столько в перчатках, сколько во всей системе, созданной студентами Массачусетского Технологического Института. Разработчики — David Lakatos и Matthew Blackshaw создали интересный проект, T(ether), который дает возможность управлять виртуальными объектами в реальности. Для работы нужны упомянутые уже перчатки, специализированное ПО, плюс iPad.

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

Дизайн основанный на принципах AIDA

Reading time4 min
Views17K
В этой статье я хочу рассказать об элементах продающего дизайна для сайта. AIDA — (Attention, Interest, Desire, Action — внимание, интерес, желание, действие) — принятая в практике американского маркетинга модель потребительского поведения, описывающая последовательность событий, ведущих к принятию решения о покупке: внимание → интерес → потребность → действие.

Принципы AIDA главным образом относятся к дизайну целевых страниц (landing pages), где, как правило, маркетинг и веб дизайн объединяются в единое целое. Эти страницы нацелены на продажу продукта, услуги или подписки.
Читать дальше →

Русские в чате

Reading time6 min
Views7K
Думаю, на Хабре нет человека, который бы не пользовался мессенджерами хоть раз. А у ж скорее всего — ежедневно. Мы пользуемся IM-клиентами на десктопах, мы пользуемся ими и на мобильных телефонах. Телефоны уже сменились раз десять, а мы по-прежнему выходим в онлайн и слышим тук-тук-тук, о-оу и звуки уведомлений от более современных протоколов типа Jabber. А знаете ли вы, кто делает ваши любимые джаббер-клиенты?
Мессенжеры меняются — появляются новые, забрасываются и исчезают старые, но одно остаётся неизменным: русские в деле. Именно тому, кто из наших соотечественников развивает IM, и посвящается эта статья.
Особенно приятно встречать засланцев и в зарубежных компаниях:)
Все, кого я нашёл, под катом.

Алгоритм шифрования Anubis на PHP

Reading time7 min
Views18K
Anubis
Продолжая своеобразную неделю криптографии на Хабре, я решил поделиться своей реализацией алгоритма шифрования Anubis на PHP. Anubis представляет собой блочный алгоритм шифрования, являющийся, по-сути, модификацией алгоритма Rijndael, принятого в качестве стандарта шифрования в США. Авторами шифра являются Винсент Рэймен — один из разработчиков Rijndael и Пауло С. Л. М. Баррето — известный криптограф, один из разработчиков хэш-функции Whirlpool.

Почему я выбрал именно Anubis? Это не патентованный алгоритм, доступный для свободного использования. Anubis отвечает современным требованиям безопасности — размер блока составляет, как и в AES, 128 бит, а длина ключа может варьироваться от 128 до 320 бит. Кроме того, с момента опубликования в 2000-м году, в алгоритме Anubis не обнаружено слабых мест. Он не попал в проект NESSIE, но лишь из-за своей схожести с Rijndael.
Чуть-чуть подробнее о конкретной реализации

Солим пароли

Reading time2 min
Views93K
Данная заметка призвана пролить свет на использование соли при хешировании пароля. Если посмотреть в комментарии к этому топику habrahabr.ru/post/145642, то возникает подозрение, что некоторые люди неправильно понимают предназначение соли. На примерах постараюсь показать, для чего используется этот механизм. Всех заинтересовавшихся прошу под кат.
Читать дальше →

Magenta: open-source клон iOS

Reading time1 min
Views15K


Magenta — реализация Darwin/BSD поверх ядра Linux, полностью бинарно совместимая iPhone OS 5.0 (использует тот же бинарный формат), работает на любом процессоре ARMv7.

Разработчик Кристина Б. взяла Darwin (основа iOS, опубликован под свободной лицензией APSL) и попыталась заменить все остальные проприетарные компоненты iOS свободными альтернативами.
Читать дальше →

Кризис идентичности пикселя

Reading time5 min
Views13K


Пиксель всегда был наименьшей единицей в цифровом дизайне. Это невидимая величина измерения для дизайнеров. Фраза «пиксель пиксель пиксель» была принята в помощь принт-дизайнерам, чтобы те могли понимать концепт фиксированной плотности экрана. Веб-дизайнеры в свою очередь приняли пиксели взамен точкам.
Читать дальше →

Возьми API, JavaScript; поди узнай скорей-ка, что в Файерфоксе нашем села батарейка!…

Reading time2 min
Views2.1K
Как известно, в W3C идёт работа над черновиком стандарта Battery API, реализация которого позволит джаваскрипту в браузере наблюдать за уровнем заряда аккумуляторной батареи в том мобильном устройстве (мобильнике, планшете, нетбуке, ноутбуке и так далее), на котором браузер запущен.

Речь идёт о появлении объекта navigator.battery со свойствами navigator.battery.charging (логическое; равно true, когда устройство подзаряжается) и navigator.battery.level (число от 0.0 до 1.0, выражающее величину заряда батареи по отношению к максимальному заряду её). Оба свойства — только для чтения. У этого объекта также будут события, позволяющие наблюдать за изменениями состояния батареи примерно так:

navigator.battery.addEventListener('chargingchange', function () {
   if (navigator.battery.charging) {
      console.log('Устройство только что воткнули в розетку.');
   }
}, false);

В конце осени нынешнего (2011) года соответствующий объект (под именем navigator.mozBattery) добавили в объектную модель Файерфокса одиннадцатой версии (см. баг 678694); её появления по графику следует ожидать в середине марта будущего (2012) года, а бету мы увидим в сáмом начале февраля. Жду с нетерпением, потому что мобильный Firefox одиннадцатой версии вообще обещает заблистать множеством изменений по сравнению с десятым.

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

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

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

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



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

  • Использование Battery API
  • Создание полей, для отображения информации из API
  • Создание картинки для отображение статуса батареи
  • Использование eventListener для обновления информации
Читать дальше →

Коллекции объектов в PHP. Часть вторая

Reading time7 min
Views6.6K
Прошло почти 3 недели с момента публикации моего первого поста о коллекциях объектов в PHP. За это время было сделано много работы и получено много опыта, которым я хочу поделиться. Наибольшее количество изменений претерпели карты, большая часть внимания будет уделена именно им.

В этом посте вы увидите:
  • Проект и реализацию коллекций объектов в PHP.
  • Тесты производительности.
  • Впечатления о написании первых Unit тестов.
  • Интересную информацию о работе с множествами объектов PHP.

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

Домашний медиа-сервер на основе Ubuntu Server 12.04 LTS

Reading time8 min
Views359K
Привет, Хабр! В ходе обсуждения одной статьи про «идеальную» домашнюю сеть, возник спор, что лучше, аппаратный NAS или мини-компьютер с Linux дистрибутивом. Автор предлагал использовать аппаратный NAS, т. к. якобы он проще в администрировании, не требует знаний Linux, да и вообще NAS тихий. Но при этом, для просмотра на DLNA-телевизоре видео, который он не поддерживает, предлагал включать ноутбук с транскодирующим DLNA. Меня это, мягко говоря, удивило, т. к. в идеальной сети такого быть не должно. Поэтому хочу представить своё видение одного из ключевых компонентов домашней сети — централизованного хранилища данных, и основано оно будет на мини-ПК с ОС Ubuntu Server.
Читать дальше →

Введение в CSS3 Multicolumn. Работаем с колонками

Reading time8 min
Views68K
apples

Как расположить текст на странице в несколько колонок? И можно ли это делать автоматически? Наверняка, многие из тех из вас, кто занимается или занимался раньше веб-разработкой, сталкивались с такой задачей — и часто упирались в сложные решения, требующие хитрых стилей, либо применения дополнительных библиотек на JavaScript (см. например Columnizer-плагин для jQuery).

Многоколоночная верстка контента (не путать с задачей общей многоколоночной верстки страницы, которая скорее ближе к проблеме расположения блоков по сетке) долго пробивала себе дорогу в мире веб-стандартов и, наконец-то, не просто достигла статуса Candidate Recommendation в виде соответствующего модуля CSS3 Multi-column Layout, но и получила достаточно широкую поддержку в браузерах: где-то с префиксами (-moz- или -webkit-) и где-то в актуальных (Opera 11.1+) и планируемых версиях (IE10+), причем сразу без префиксов.
Читать дальше →

Синтаксический сахар АОП в JavaScript

Reading time4 min
Views3.3K
Зачастую бывает полезно добавить какую-нибудь дополнительную логику в код, которая собирает данные по ходу работы приложения, например подсчет количества вызовов, или обработка ошибок. Но портить существующий компактно написанный код (если конечно у вас есть такое счастье) не очень-то хочется. Решение в виде приемов АОП существует уже давно, и широко применятся. На платформах .NET и Java многие АОП фреймворки ориентируются на применение атрибутов к методам и классам. Выглядит код почти неизмененным, а в распоряжении оказывается достаточно мощный механизм расширения функциональности.

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

Создание пользовательского контрола карты с помощью API Яндекс.Карт 2.0

Reading time3 min
Views11K

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

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

Reading time3 min
Views24K
Хочу представить вашему вниманию библиотеку для удобной работы с 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 — я от него в восторге :)

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

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

Icenium: кросс-платформенная облачная среда для создания мобильных приложений

Reading time2 min
Views11K
Icenium – это совершенно новая интегрированная облачная среда (integrated cloud environment — i-c-e — Icenium) для разработки мобильных приложений. Сервис, который является продуктом подразделения Telerik, только что вышел на стадию приватного бета-тестирования и находится в поиске разработчиков, желающих опробовать его. Первоначально Icenium фокусируется на создании iOS и Android приложений, а позже надеется перейти к другим мобильным платформам, и, в конце концов, к серверам и десктопам.

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

Немного о красоте T-фракталов

Reading time2 min
Views9.3K

В 1977 году Бенуа Мандельброт написал книгу «Фрактальная геометрия природы». В ней он подробно описал, как, руководствуясь простыми правилами, нарисовать сложный и красивый самоподобный узор. И до Мандельброта, и после, и по сей день фрактальные узоры привлекают к себе внимание математиков, программистов, художников и прочих любителей красоты.

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

Посмотреть на фракталы

Information

Rating
7,059-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity