Как стать автором
Обновить
163
0

Пользователь

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

Базовые CSS-стили различных элементов

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



Демонстрация стилей / Скачать исходники
Читать дальше →
Всего голосов 113: ↑92 и ↓21+71
Комментарии54

Разбираемся с autorotation в iOS 6

Время на прочтение8 мин
Количество просмотров26K
Привет, друзья!

Если вы создаете приложения для гаджетов от Apple, то наверняка в курсе, что недавно произошло обновление iOS до версии 6.
Наравне с другими новыми функциями Apple внесла изменения в механизм autorotation.
На всякий случай напомню, что autorotation — это механизм, позволяющий использовать устройство как в портретной (вытянутой в высоту), так в альбомной (растянутой в ширину) ориентации, а также изменять эту ориентацию при повороте устройства.
image
Если в вашем приложении контент отображается в обеих ориентациях (а особенно если на некоторых экранах вам нужно запретить поворот) — готов поспорить, что у вас уже возникли некоторые вопросы.
Если же вы не используете функцию изменения ориентации экрана — разницы могли и не заметить. Однако знание того, как в iOS6 работает autorotation, в любом случае будет полезно и пригодится в будущем.
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии15

Автоконфигурация в облаке Amazon при помощи Chef-Solo

Время на прочтение3 мин
Количество просмотров7.4K
Здравствуйте!

В этой статье я хочу рассказать об автоконфигурации в облаке. Для примера запустим ec2-инстанс, на котором «приготовится» WordPress.

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



Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии8

Голографические свойства бит-реверсивной перестановки

Время на прочтение4 мин
Количество просмотров45K
Об экспериментах с компьютерной голографией писалось неоднократно. [1, 2, 3] Мне эта тема просто любопытна. Я как-то экспериментировал с бит-реверсивной перестановкой (bit-reversal permutation) изображений и случайно обнаружил голографические свойства. Но обо всем по порядку.
Читать дальше →
Всего голосов 136: ↑131 и ↓5+126
Комментарии30

Оптимизируем производительность JavaScript для V8

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

Предисловие


Дэниел Клиффорд сделал на Google I/O прекрасный доклад, посвященный особенностям оптимизации кода JavaSсript для движка V8. Дэниел призвал нас стремиться к большей скорости, тщательно анализировать отличия между С++ и JavaScript, и писать код, помня о том, как работает интерпретатор. Я собрал в этой статье резюме самых главных моментов выступления Дэниела, и буду обновлять её по мере того, как движок будет меняться.
Читать дальше →
Всего голосов 75: ↑73 и ↓2+71
Комментарии62

Новые аттачи в Яндекс.Почте

Время на прочтение8 мин
Количество просмотров33K
Мы стремимся к тому, чтобы все части Яндекс.Почты одинаково хорошо работали у всех пользователей. Сегодня мы расскажем вам о том, как и зачем полностью переписали блок добавления аттачей. В этой статье — про отказ от флеша, поддержку возможностей современных браузеров и, как результат, увеличение скорости и надёжности загрузки файлов.

Проблема

Раньше всю аудиторию Яндекс.Почты мы разделяли на пользователей с флешем и без.

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

А вот с пользователями без флеша (8-10% от дневной аудитории) было сложнее. Мы предлагали им загружать файлы через обычную форму с />. Файлы из неё отправлялись через iframe вместе с содержимым самого письма, и это занимало много времени. Нажав кнопку «Отправить», пользователь долго ждал, пока загрузятся файлы.
Читать дальше →
Всего голосов 149: ↑133 и ↓16+117
Комментарии39

SugarJS — Синтаксический сахар для JavaScript

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


Что такое SugarJS?


SugarJS — это open source (лицензия — MIT) библиотека Javascript, который расширяет нативные объекты полезными методами. Она разработана, чтобы быть интуитивным, ненавязчивым инструментом, повышающим выразительность кода, который позволял бы делать больше с меньшим количеством кода и меньше задумываясь над рутиной.

На самом деле у них очень информативный и простой сайт — где все уже хорошо написано.
Я просто постараюсь обозначить основные моменты.

Кратко...

  • Расширяет нативные элементы Javascript полезными, интуитивными методами.
  • Прост для понимания и в использовании.
  • Метод SugarJS не используется при наличии метода в родной реализации браузера.
  • Имеет систему тестирования, имеющую огромный набор тестов.
  • Расширяет возможности работы с датой и временем, обеспечивает их форматирование на нескольких языках (русский есть).
  • Отлично ладит с другими фреймворками и сторонним кодом.
  • Модульность, вы можете включать только нужные пакеты.
  • Полностью совместимый ECMAScript.
  • Заявлена поддержка всех основных браузеров, включая мобильные.
  • Поддерживает Node.js.
  • Имеет хорошую и удобную документацию.


Заинтересовало? Добро пожаловать под кат.
Читать дальше →
Всего голосов 96: ↑90 и ↓6+84
Комментарии67

Ускоряем node.js: нативные модули и CUDA

Время на прочтение11 мин
Количество просмотров24K
Иногда разработчики различных веб-проектов сталкиваются с необходимостью обработки больших объемов данных или использованием ресурсозатратного алгоритма. Старые инструменты уже не дают необходимой производительности, приходится арендовать/покупать дополнительные вычислительные мощности, что подталкивает к мысли переписать медленные участки кода на C++ или других быстрых языках.

В этой статье я расскажу о том, как можно попробовать ускорить работу Node.JS (который сам по себе считается довольно быстрым). Речь пойдет о нативных расширениях, написанных с помощью C++.
Читать дальше →
Всего голосов 58: ↑52 и ↓6+46
Комментарии35

JsTree — деревья это так просто

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

О плагине JsTree на хабре упоминалось лишь в далеком 2009 году. С тех времен все довольно сильно поменялось. Плагин активно развивается. Страница проекта на гитхабе.

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



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

Что мы имеем?


  • Построение дерева на основе html разметки, json и xml формата
  • Drag & drop с тонкой настройкой возможности перемещения нодов по дереву
  • Динамическое добавление/удаление/изменение нодов
  • Возможность построения нескольких деревьев на одной странице и манипуляция нодами между этими деревьями
  • Возможность присвоения нодам произвольных типов (file, folder, drive, да какой угодно), и указать отдельное поведения для каждого
  • Поддержка тем оформления (на скрине в начале статьи пример того, как это реализовал я)
  • Управление с клавиатуры
  • Использование нативных и кастомных чекбоксов
  • AJAX подгрузка нодов, запоминание состояния дерева
  • Плагин красиво и читабельно написан, позволяет писать дополнительные плагины к нему и без проблем кастомизировать.
  • Удобная система байндингов для обработки событий
  • Мультиязычность
  • Управление анимацией раскрытия
  • Поиск по дереву
  • Кастомное контекстное меню
  • Поддержка браузеров: IE 6+, Firefox 2+, Safari 3+, Opera 9+, Chrome
  • Мини-фича, которая меня особенно порадовала — плагин wholerow — выделения нода во всю ширину. А-ля mac style
Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии47

О практических применениях свойства float

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

Каждый хороший верстальщик скажет, что только безукоризненное знание собственной работы способно принести позитивные результаты. Собственные наблюдения привели меня к выводу, что не только начинающие верстальщики не совсем понимают сути применения свойства float. На Хабре просмотрел имеющиеся публикации на данную тематику. Появилось желание поделиться некоторыми замечаниями и практическими применениями данного свойства. Приведенные ниже разъяснения в большинстве своем могут стать полезными для начинающего верстальщика.
Читать дальше →
Всего голосов 56: ↑51 и ↓5+46
Комментарии37

Коллекция паттернов поведения для элементов отзывчивого веб-дизайна

Время на прочтение1 мин
Количество просмотров29K
Думаю любому современному дизайнеру или верстальщику рано или поздно в голову приходила мысль «А почему бы на этом проекте не использовать принципы отзывчивого веб-дизайна?». Пожалуй, сложно найти человека, который не слышал о responsive design в наше время, когда сёрфить веб могут с телефона, микроволновки и тапочек. Приступая к работе над подобным проектом, неплохо было бы иметь под рукой примеры возможного поведения лейаута и его отдельных элементов.
Ну же, где паттерны то?!
Всего голосов 51: ↑49 и ↓2+47
Комментарии10

Comet сервер на эрланге

Время на прочтение5 мин
Количество просмотров8.6K
Статья для людей, только начинающих знакомиться с эрлангом: как написать простой comet сервер.

Готовый код здесь: github.com/maxlapshin/comet

Описание



Комет-сервер будет написан с использованием cowboy, tinymq, и куска жабаскрипта.

Код выложен на гитхабе с тегами. Основные этапы помечены тегами, можно откатиться, чтобы посмотреть, что именно было сделано в тот или иной момент.

Сама статья пишется параллельно с кодом, что заметно из истории в гите.

Логика такая: по http постим сообщение на сервер, оно попадает в очередь сообщений, откуда его выгребает клиент через long-poll запрос.

Читать дальше →
Всего голосов 66: ↑53 и ↓13+40
Комментарии34

Различия асинхронной и многопоточной архитектуры на примере Node.js и PHP

Время на прочтение9 мин
Количество просмотров91K
В последнее время наблюдается рост платформ, построенных на асинхронной архитектуре. На асинхронной модели построен самый быстрый в мире веб-сервер nginx. Активно развивается шустрый серверный javascript в лице Node.js. Чем же хороша эта архитектура? Чем она отличается от классической многопоточной системы? На эту тему было написано огромное множество статей, но полного понимания предмета они дали далеко не всем. Часто приходится наблюдать споры вокруг Node.js vs PHP+apache. Многие не понимают, почему некоторые вещи можно сделать на Node.js, но нельзя на PHP или наоборот — почему вполне правильный рабочий код на PHP сильно замедлится в Node.js, а то и повесит ее. В данной статье я бы хотел еще раз подробно объяснить разницу в их архитектуре. В качестве примеров двух систем, возьмем вебсервер с PHP и Node.js.
Читать дальше →
Всего голосов 82: ↑72 и ↓10+62
Комментарии173

BigVideo.js: фоновое видео на весь экран

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


Плагин BigVideo.js для jQuery добавляет на страницу видео в качестве фонового изображения через HTML5 Fullscreen API. Видео автоматически растягивается на любой размер экрана. Для работы нужно предварительно загрузить библиотеки jQuery, jQuery UI и jQuery imagesloaded. Запуск:

$(function() {
    var BV = new $.BigVideo();
    BV.init();
    BV.show('http://video-js.zencoder.com/oceans-clip.mp4');
});

В качестве хостинга своих видеороликов удобно использовать Vimeo Pro, он даёт прямую ссылку на mp4-файл и отгружает контент со скоростью более 10 Мбит/с.
Читать дальше →
Всего голосов 63: ↑44 и ↓19+25
Комментарии47

О сортировке контента на основе оценок пользователей: Часть 3

Время на прочтение3 мин
Количество просмотров14K
В прошлой статье я вывел формулу, которая прогнозирует рейтинг на основе оценок статьи и средней оценки по сайту. Думал в этой статье, я покажу качество ее прогноза, улучшу прогноз за счет дисперсии. Однако, появилась еще одна проблема.
image
Читать дальше →
Всего голосов 58: ↑44 и ↓14+30
Комментарии4

Piecon — динамическая круговая диаграмма в фавиконе

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

Крошечная (2 килобайта в минифицированном виде) JavaScript-библиотека Piecon генерирует круговую диаграмму на месте фавикона. API предельно прост и состоит из трёх методов объекта Piecon.
Читать дальше →
Всего голосов 84: ↑78 и ↓6+72
Комментарии13

Вывод уведомления об устаревшем браузере с помощью jReject

Время на прочтение3 мин
Количество просмотров31K
Многие веб-сайты выводят предупреждения об устаревших браузерах или и вовсе отправляют пользователя устанавливать новый браузер или Google Chrome Frame.
jReject — специальный плагин для jQuery, позволяющий отображать подобные уведомления с помощью нескольких строчек кода.

jQuery jReject
Применение
Всего голосов 72: ↑54 и ↓18+36
Комментарии70

Цифровые SSL сертификаты. Разновидности, как выбрать?

Время на прочтение13 мин
Количество просмотров477K
Существует достаточно много цифровых сертификатов, каждый из которых служит для своих целей. Самые распространенный тип сертификатов это естественно SSL сертификаты, которые также имеют несколько подвидов. Также существуют Code Signing сертификаты, Website Anti Malware Scanner сертификаты и Unified Communications сертификаты.

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

Так что если у вас стоит задача поднять защищенное https соединение для вашего сайта, то в этом посте я постараюсь раскрыть все тонкости и особенности SSL сертификатов, чтобы сделать правильный выбор было проще.
Как выбрать SSL сертификат
Всего голосов 109: ↑103 и ↓6+97
Комментарии146

Оптимизация графики для Retina-экранов

Время на прочтение7 мин
Количество просмотров211K
После недавнего выпуска Retina MacBook Pro и The new IPad, экраны с увеличенной плотностью пикселей начали активно входить в нашу жизнь. Что это значит для веб-разработчиков?

Для начала разберемся в терминологии.

Физические пиксели


Читать дальше →
Всего голосов 150: ↑135 и ↓15+120
Комментарии57

Google Analytics для сбора ошибок JavaScript

Время на прочтение2 мин
Количество просмотров19K
image
Не так давно на Хабре была статья про навороченный стартап, заточенный на сбор ошибок JavaScript. Далеко не всегда нужно столько возможностей, но оказалось, что многие просто не знают про старый бородатый способ с Google Analytics. Про него я и попытаюсь кратенько рассказать.
Читать дальше →
Всего голосов 124: ↑121 и ↓3+118
Комментарии27

Информация

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