Pull to refresh
29
0
quard @quard

User

Send message

Adobe Flash Player и передача потоковых данных без участия сервера, часть 1-я: организация пирингового вещания

Reading time6 min
Views18K
    Как известно недавнее обновление продуктов Adobe Flash Player до 10.1 и Adobe AIR до 1.5 версий осуществило целый фурор, презентовав новый протокол связи Real-Time Media Flow Protocol (RTMFP). Заранее попрошу не путать вышеупомянутый с Real-Time Messaging Protocol (RTMP) для использования которого был необходим Adobe Flash Media Server (FMS) на стороне обслуживающего сервера.
    Разработчики обещают, что протокол будет обладать низкой задержкой во времени при пересылке пакетов, но самое главное, протокол ориентирован на организацию пиринговой сети.
Читать дальше →
Total votes 49: ↑44 and ↓5+39
Comments30

FAQ по верстке рассылок

Reading time5 min
Views23K
С момента публикации моего первого топика и по сей день я регулярно получаю различные вопросы о верстке рассылок. В этой статье я на них отвечу со своей точки зрения, которая основывается на моем личном опыте и статистических данных. Если вы со мной в чем то не согласны, я с удовольствием выслушаю вашу точку зрения в комментариях.
Приступим
Total votes 21: ↑11 and ↓10+1
Comments11

Добавление настроек приложения в Settings

Reading time3 min
Views12K
Если у вас есть неигровое приложение (в игровых принято размещать настройки в самом приложение, хотя нет правил без исключений) с некоторым количеством настроек, то вместо того, чтобы реализовывать выбор и хранение настроек в самом приложении можно добавить их в приложение «Настройки/Settings» самого телефона, причем делается это очень быстро и легко.

Image Hosted by ImageShack.us

Я столкнулся с необходимостью добавить к приложению несколько настроек, просмотрел некоторое количество уроков и статей, но почти везде описания были какие-то обрывочные и слишком запутанные, поэтому сейчас я попытаюсь вкратце и доступно изложить основные принципы создания окошка настроек своего приложения в Settings.
Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments20

Плагин для «живых» форм

Reading time4 min
Views15K
Статья посвящена плагину, который упрощающает жизнь client-side программиста.

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

И что дальше

Часто такая логика остается без реализации, однако если вы заботитесь о своих пользователях, то делать это нужно.

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

Второй подход это писать «портянки» javascript'а который всю эту логику реализует на стороне клиента. Особенно грустно писать «каскадную» логику типа «если ввели a в поле A, показать B, если ввели c в поле B, то показать D. Если в A ввели что-то другое, спрятать B, а потом D».

Оба варианта нельзя назвать удобными. Прежде всего потому что логика реализуется императивным стилем вместо уместного для таких случаев декларативного. Но выход есть!
Читать дальше →
Total votes 114: ↑112 and ↓2+110
Comments67

RVM — подробно

Reading time4 min
Views97K

RVM — Ruby Version Manager
Программа для управления версиями Ruby.

Как быть если один проект использует Ruby 1.8.7, а другой 1.9.2? А что если при этом у вас 2 проекта под версией 1.9.2, но с разными наборами гемов? Хотелось бы вам иметь отдельные наборы gem's для каждого проекта?

Основные задачи:
1. Физическое разделение версий ruby и наборов гемсетов
2. Возможность иметь несколько версий ruby и переключаться между ними
3. Возможность для каждой версии ruby иметь несколько gemsets — наборов gem's и переключаться между ними

Под катом будут описаны:
1. Установка RVM
2. Работа с разными версиями Ruby
3. Работа с gemsets
4. Задание окружения под отдельный проект с помощью .rvmrc
5. Команды RVM которые могут оказаться полезными
6. Шпаргалка по основным командам RVM

Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments44

Техники сжатия кода

Reading time5 min
Views5.6K
Джед Шмидт, Томас Фухс и Дастин Диаз — достаточно известные в JavaScript-коммьюнити ребята в последнее время нашли себе новую развлекуху — писать полезные штуки размером не больше одного твита, то есть 140 байт. Даже домен зарегали — 140byt.es, куда приглашаются все желающие попробовать свои силы в написании супер-компактных функций.

Естественно, в ход идут все самые изощренные способы и техники уменьшения размера исходника. У них есть вики-страничка с советами, которую я и решил перевести.

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

Читать дальше →
Total votes 146: ↑140 and ↓6+134
Comments121

Unity customization

Reading time5 min
Views35K
Доброго времени суток.

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

Немного предыстории

Началось все с выпуска Ubuntu 11.04 Beta 2, очень уж мне захотелось попробовать в деле пакет Ayatana Scrollbars, однако установка его на 10.10 оказалась невозможной — версии в PPA начинаются с Natty.
Честно говоря, исходники то доступны, так что, теоретически, установить overlay-scrollbar на 10.10 можно, но для этого придется обновить libglib до версии 2.28, а в Synaptic'е Maverick'а наивысшая версия — 2.26. А переставлять libglib руками — это то еще удовольствие.
Читать дальше →
Total votes 56: ↑53 and ↓3+50
Comments54

GitHowTo — тур обучения гиту на русском

Reading time1 min
Views15K
image

Спешу поделиться радостной новостью о запуске проекта GitHowTo — интерактивного тура-обучалки основам Git.

За основу были взяты идеи gitimmersion.com, но переведены на русский язык и немного изменены под реалии не-ruby разработки, поэтому спешите любить и жаловать — githowto.com!

Буду чрезвычайно рад любым замечаниям и пожеланиям к проекту.
Total votes 179: ↑178 and ↓1+177
Comments68

node.js сокращатель ссылок

Reading time6 min
Views8.1K

Привет, Хабр! В этой статье я пошагово рассмотрю создание простого веб-приложения — сокращателя ссылок на node.js, используя mysql-libmysqlclient, MooTools на сервере и jQuery на клиенте. Статья предполагает, что читатель уже прошёл упражнение «Hello world» и разобрался в самых основах node.js.
Читать дальше →
Total votes 56: ↑52 and ↓4+48
Comments60

Ревью кода в mercurial

Reading time3 min
Views4.6K

hg review — полезная плюшка для mercurial'а


У git'а есть GitHub, а у Mercurial'а есть hg review. На самом деле я сравнил козу с бояном.
image
Ревью кода.

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

И вот появился проект, который дает нам инструмент, а как его использовать — решать нам.
Читать дальше →
Total votes 59: ↑52 and ↓7+45
Comments21

Веб-шрифты на распутье

Reading time11 min
Views31K
Перевод не претендует на 100%-ную точность, но я постарался максимально точно передать мысли и слог автора. Комментарии приветствуются.

Начиная с Интернет Эксплорера 4 в 1998-ом, а затем с марта 2008-ого и до марта 2010-ого, один за другим, вся «большая пятерка» десктопных браузеров — Сафари, Файрфокс, Опера и Хром — выкатили сравнительно похожие реализации правила @font-face для привязки шрифтов. Вместе с тем, неотъемлимая часть веб-издательского паззла, часть, которой не хватает с начала Веба, встала на место и теперь настоящая, веб-ориентированая типографика начинает принимать форму.

Для начала, обзор последних событий:
  1. 18-ого марта 2010 года была учреждена группа Web Fonts Working Group в W3C. Её первая задача была утвердить спецификацию WOFF как стандарт доставки sfnt (OTF и TTF) шрифтов в веб в «сжатом» виде.
  2. Была представлена отрисовка шрифтов в IE9 с помощью Windows’s DirectWrite в IE9 Platform Preview.
  3. Появились первые инструменты для подготовки веб шрифтов, такие как Font Squirrel’s @Font-Face Generator и EOTFAST.
  4. Пошла новая волна «шрифтохранилищ» в виде Typekit, Typotheque и бесплатного, опенсорсного Kernest.
  5. Появились первые “трастовые/кредитные” лицензии на веб-шрифты от дизайнеров коммерческих шрифтов.
  6. CSS3 Fonts Module включил в себя некоторые продвинутые свойства OpenType.
  7. Adobe Flash, когда-то надежная, кросс-платформенная среда замены текста (sIFR), сейчас выглядит абсолютно убогой.
  8. Google запустил бесплатный сервис шрифтов с растущей библиотекой. Все шрифты в библиотеке доступны и для частного хранения/использования.

Теперь пройдемся по пунктам…
Читать дальше →
Total votes 66: ↑63 and ↓3+60
Comments43

Прикручиваем клевые шрифты с помощью @font-face

Reading time3 min
Views43K
Недавно столкнулся с задачей прикручивания достаточно необычного шрифта для мобильного веб клиента. Так как работа была под айфон, то я решил, что в этой задаче мне поможет css 3 и такая штука как @font-face. Пользу от такого способа решения задачи, я думаю, видят все, потому что:
  • сохраняется поиск по тексту, потому что это текст, а не картинка;
  • появляется возможность использовать онлайн-переводчики и разные фишки связанные с текстом;
  • никто не отменяет для нас использование line-height, letter-spacing, text-shadow,text-align, и селекторов вида ::first-letter и ::first-line

Читать дальше →
Total votes 98: ↑88 and ↓10+78
Comments48

Облака становятся более доступными

Reading time1 min
Views1.2K
Радостная новость пришла к нам из-за океана.
Amazon AWS EC2 сервис добавил поддержку микро-конфигураций до 613Mb.

image

Цена на Linux конфигурации стартует от $0.02 в час. Что при постоянном использовании обойдется $15 в месяц, а это существенно ниже, чем у Small instance — $0.085 в час.
Я сам уже около года пробую разные операционки и настройки, но пока нет необходимости постоянно держать и оплачивать свой сервер. А при таком раскладе и в моем случае появляется смысл запустить и поддерживать нормальный выделенный сервер. Доступны как 32, так и 64-битные архитектуры. Лично меня у Амазона привлекает гибкость настроек, расширяемость и, конечно, поддержка от одной из самых уважаемых контор.

Подробнее можно прочитать в документации на Амазоне.
Для тех, кто еще не пробовал — хорошее введение доступно в соответствующем хабратопике.

Расклад по Micro Instance:

613 MB memory
Up to 2 EC2 Compute Units (for short periodic bursts)
EBS storage only
32-bit or 64-bit platform
I/O Performance: Low
API name: t1.micro

остальные конфигурации
Total votes 51: ↑43 and ↓8+35
Comments35

Внутри MP3. А как оно всё устроено?

Reading time5 min
Views106K


Однажды мне понадобилось решить простенькую (как мне тогда казалось) задачу – в PHP-скрипте узнать длительность mp3-файла. Я слышал о ID3 тегах и сразу подумал, что информация о длительности хранится либо в тегах, либо в заголовках mp3-файла. Поверхностные поиски в интернете показали что за пару-тройку минут решить эту задачу не получится. Поскольку от природы я довольно любопытен а время не поджимало — решил не использовать сторонние инструменты а разобраться в одном из самых популярных форматов самостоятельно.

Если Вам интересно, что там внутри – добро пожаловать под кат (трафик).
Читать дальше →
Total votes 231: ↑219 and ↓12+207
Comments55

jQuery плагин визуального стека сообщений

Reading time2 min
Views3.8K
Стояла задача динамического визуального отображения реакции на действия пользователя со стороны системы.
Другими словами: изменилось какое-то состояние объекта — вывести сообщения об удачном завершении сохранения изменения в базе/системе.
Написание плагина не заставило себя ждать...
 
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments35

Aptana IDE 2.0.5 + Django = в картинках

Reading time2 min
Views2.8K
Тут будет немного показано, как создать Django-проект, путем импортирования из существующего.
Создать Git-репозиторий, и основные функции использования репозитория.

Несмотря на то, что я уже видел, на хабре, парочку статей на тему использования и настройки Aptana IDE, решил продолжить тему, т.к. она ещё не до конца освещена.

Можно серию из аналогичных визуальных пособий сделать, что бы легче было войти в курс дела и подолгу не искать, для новичка. Показать, в этой IDE все возможности, которые облегчают жизнь. Или подсказать что-то новенькое тем людям, кто не использует до конца её возможности. Ну или же как правильно использовать возможности этой IDE.

Например, здесь описано как скрестить Eclipse и Redmine.

А здесь — введение в работу с Aptana, её установки и настройки. В некоторых моментах могу повторить, что есть там, и на хабре.

Перед тем, как делать скриншоты были предустановленны PyDev и Git. Наверное всем легко будет разобраться, как это сделать. Тем более, что стартовая страница приветствия Aptana, после установки, сразу предлагает установить новые модули, в числе которых их и можно найти.

Предлагаю всем высказаться, на тему того — как сами её используете, и показать это в картинках.

Осторожно, трафик
Total votes 26: ↑13 and ↓130
Comments4

Хранение, обработка и отдача статики

Reading time4 min
Views7.8K
У начинающих (и не очень) разработчиков часто возникают вопросы по поводу того как правильно работать с пользовательским контентом, а конкретно с картинками. У данной темы множество аспектов и не один вариант решения. Здесь будет рассматриваться всего лишь один из возможных вариантов имеющий свои плюсы и свои минусы. Так же будем считать что статика и код хранятся на одном единственном сервере, а файлы загружаются по одному.

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

Поехали

Читать дальше →
Total votes 61: ↑45 and ↓16+29
Comments49

Считаем репутацию пользователей социальных сетей

Reading time2 min
Views11K

Зачем нужна репутация?


Репутация может отражать множество связей в системе, связей между системами, их величину и актуальность. Репутация — это статус данного элемента в системе, будь-то это конкретный человек, книга, фильм, сайт или что-то другое. Она позволяет конечному пользователю ориентироваться среди большого объема информации, выбирать для себя лучшее, а так же, если он сам является элементом системы как, например, в социальных сетях, самому «показать себя».

Простейшим и наиболее широко используемым видом репутационной системы является рейтинг без связей. Например, пользователи оценивают какой-либо товар в интернет-магазине или фильм на сайте, репутация которых в итоге равна просто количеству продаж этого товара или количеству людей, просмотревших и оценивших данный фильм.
Подробнее...
Total votes 66: ↑39 and ↓27+12
Comments17

Отправляем SMS.ru с удобством

Reading time7 min
Views7.2K
Было дело, проскакивала на хабре статься о сервисе sms.ru
Попробовал, работает. Понравилось. Тогда на этом дело и закончилось.
Но вот недавно потребовалось мне сделать отправку SMS подписавшимся клиентам. API на сайте сервиса хорошо документирован и приведены примеры, но не хватает удобства использования. В результате написал небольшой класс для взаимодействия с sms.ru.

Читать дальше →
Total votes 25: ↑16 and ↓9+7
Comments14

Иконки типов файлов

Reading time1 min
Views6.3K
По просьбе гражданина dio нарисованы 25 иконок типов файлов в размерах 64х64, 48х48, 32х32 и 16х16. Иконки распространяются на условиях лицензии CC BY-ND.
Этот сет является дополнением к первому и второму бесплатным наборам.
Скачать иконки можно здесь

image
Total votes 125: ↑106 and ↓19+87
Comments134

Information

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