Pull to refresh
5
0
Oleg @opeg

User

Send message

К вопросу о кроссбраузерных Data URI

Reading time8 min
Views9.8K
В погоне за оптимизацией сайтов захотел уменьшить количество запросов, не в ущерб размерам оптимизированных файлов.
Цель — передавать в одном файле изображения разных форматов, с разными настройками оптимизации.
Как средство, выбрал data uri и gzip'нутый css файл. Однако IE с data uri работают из рук вон плохо. Но в них есть mhtml. Существовавшая реализация не отвечала моим требованиям, т.к. приходилось 1 файл передавать два раза — раз для IE, в mhtml, и второй для всех остальных, в data uri. В поисках решения наткнулся на статью bolk'а, где описывалось решение для формата jpeg и некоторые теоретические выкладки для gif и png. После почти трехнедельного раскуривания манов мне удалось реализовать решение для gif и png и автоматизировать процесс для всех трех форматов.
ознакомиться
Total votes 81: ↑72 and ↓9+63
Comments87

Extend Grid — делаем жизнь верстальщика немного проще

Reading time3 min
Views4.3K
Само понятие модульной сетки, за последние несколько лет стало чрезвычайно модным. В первую очередь у дизайнеров. И во-вторую очередь у верстальщиков.

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

Немного про модульные сетки

Модульная система вёрстки — система вёрстки, при которой основой композиции полос и разворотов становится модульная сетка с определенным шагом (модулем), одинаковым или разным по горизонтали и вертикали. По мотивам Википедии.

Читать дальше →
Total votes 47: ↑38 and ↓9+29
Comments28

Javascript виджет авторизации OpenID

Reading time3 min
Views7K
Где то полгода назад я сильно увлекся OpenID и всем что с ним связанно. Моим главным занятием в это время стало — неспешное чтение спецификаций, форумов, блогов и хабрапостов OpenID тематики.

Все знания, которые мной были получены за это время, я «материализовал» в проекте компании, в которой собственно я работаю.

Изучая спецификацию OpenID и прочих его расширениях (SREG, AX) и надстройках, мне пришла идея разработать JavaScript виджет со своим API-прослойкой, в помощь другим разработчикам нежелающим «коротать» дни и ночи изучая спеки различных способов авторизации и их расширений.

Собственно об этом далее.
Читать дальше →
Total votes 91: ↑88 and ↓3+85
Comments70

Обзор бесплатных библиотек для Flash/Actionscript 3.0 разработчиков

Reading time3 min
Views7.5K
Появление в 2006 году третьей версии языка ActionScript заметно повлияло на развитие рынка флэш-приложений. Смещение акцента с создания дизайнерами небольших флэш-приложений в сторону разработки более сложных программных продуктов потребовало привлечения в отрасль все большего числа профессиональных программистов. Поддержка ООП, пакетов, пространства имен и другие нововведения породили создание различных универсальных и узконаправленных библиотек, которые служат основой для многих проектов.
Данная статья представляет собой обзор наиболее популярных и полезных библиотек, которые могут стать отправной точкой для начинающих флэш-разработчиков, а также оказаться полезными для профессионалов.
Читать дальше →
Total votes 58: ↑52 and ↓6+46
Comments41

Проходим сквозь стены NAT-ов

Reading time2 min
Views2.2K
image Повсеместное распространение NAT казалось препятствует свободному обмену трафиком между компьютерами, находящимися за одним из них, и практически делает это невозможным, если оба компьютера скрыты за разными NAT серверами, естественно если вы не администратор обоих NAT серверов. Однако Samy Kamkar легко и непринужденно не только преодолел это, но и сделал программу которая позволяет преодолевать подобные препятствия. В настоящее время данная программа доступна только пользователям *nix подобных систем.

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

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

Подводя итог скажу, следующее — данный продукт имеет весьма полезное значение как для решения отдельных задач, так и для того, чтобы знать о том, что способ сей существует. Если ваша работа связна с сетями, обязательно ознакомьтесь, поверьте — есть, что почерпнуть у автора программы из документации, английский там достаточно простой.
Total votes 77: ↑70 and ↓7+63
Comments134

Web-телефония. Обзор решений

Reading time4 min
Views13K
PhoneВ этой статье я расскажу о том, какие существуют методы реализации голосовой связи для web-проектов.
Статья носит обзорный характер и ориентирована на самый широкий круг читателей. Однако, любой желающий найдет все необходимые ссылки для углубления в суть вопроса.

Будут рассмотрены следующие задачи:
  1. Голосовая связь один на один между пользователями сайта.
  2. Голосовая конференция, то есть разговор более чем 2 собеседников.
  3. Звонки на стационарные и мобильные телефоны из браузера.
Повторюсь и скажу, что все задачи решаются в рамках web-среды. Основное условие: пользователям не требуется установка дополнительного ПО, только браузер и Flash Player.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments24

Использование паттерна Builder в случае, когда мы сталкиваемся с конструктором с многими параметрами

Reading time7 min
Views39K
Статья представляет вольный перевод главы из книги Effective Java, Second Edition by Joshua Bloch

В статье рассматриваются 3 альтернативных подхода к упрощению использования класса, с конструктором с многими параметрами.

Читать далее
Total votes 47: ↑42 and ↓5+37
Comments52

Автоматизация приёмочного тестирования или FitNesse для повышения качества программного продукта

Reading time7 min
Views13K
image
Качество программного продукта не в последнюю очередь зависит от актуальной документации и тщательного тестирования. Хотелось бы осветить вопрос разработки и тестирования ПО вообще и с использованием среды FitNesse в частности.
Читать дальше →
Total votes 29: ↑23 and ↓6+17
Comments15

OneSwarm — полностью децентрализованная пиринговая сеть

Reading time4 min
Views7.2K
imageПроблема секьюрности информации, передаваемой в файлообменных сетях, сегодня стоит очень остро. Популярный пиринговый протокол битторрент не дает практически никаких средств защиты от посторонних глаз, выдавая IP всех пиров как на ладони. The Pirate Bay, помнится, обещал разработать свой собственный анонимный протокол, но, видимо, дело заглохло.

Еще одной проблемой битторрента является частичная централизованность. Нет серверов — нет сети (DHT не в счет, т.к. не полностью самостоятелен). Очевидно, будущее за полностью децентрализованными сетями — сетями третьего поколения. Об одной из таких я и хотел бы рассказать.
Читать дальше →
Total votes 90: ↑85 and ↓5+80
Comments101

Делаем простое веб приложение на Spring Framework MVC

Reading time13 min
Views252K
image
В данной статье я хочу рассказать начинающим Java разработчикам, как написать простое веб приложение, используя популярный фреймворк Spring Framework.

При разрабокте приложения мы будем использовать утилиту Ant для автоматизации действий и изучим, как писать простой тест с помощью библиотеки JUnit. Весь код будем писать в Eclipse IDE.

Статья написана на основе первой части руководства «Introduction to Spring MVC». Вам достаточно иметь лишь общее представление о Spring, чтобы прочитать статью с пользой.

Так что милости просим :)
Читать дальше →
Total votes 56: ↑43 and ↓13+30
Comments81

Подборка видео-проигрывателей на флэше

Reading time2 min
Views18K


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

Надеюсь уважаемые комментаторы помогут дополнить список и выявить абсолютного лидера среди проигрывателей.
Уже помогли. Отдельные спасибы Elected, atri, rmb. Кармы всем за мой счет ^_^

Читать дальше
Total votes 84: ↑77 and ↓7+70
Comments101

Запуск виртуальной машины в VirtualBox без GUI

Reading time3 min
Views61K
VirtualBoxИногда возникает необходимость запустить виртуальную машину на хосте без иксов. Я расскажу о том как это сделать, имея доступ к хостовой системе только по ssh + rdp (Remote Desktop Protocol). процесс я буду описывать для OC Ubuntu 9.10 в качестве хоста.
Читать дальше →
Total votes 54: ↑46 and ↓8+38
Comments20

Scala. Введение

Reading time12 min
Views87K
Привет хабралюди.

Не так давно я заинтересовался одним из многочисленных ныне языков под JVM — Scala. Причин тому много, основная — всё нарастающее со временем чувство неудобства при работе с cpp-подобными языками. Взгляд мой попеременно падал на Ruby, Groovy, Python, но все они оставляли впечатление инструментов, не совсем подходящих для моего обычного круга рабочих задач (Python-таки хорош, но у нетипизированных языков есть свои ограничения). Scala же, напротив, показалась вполне годным языком. Так как поиск по хабру никаких статей о ней не выловил (было несколько, но мягко говоря не вводных), я решил написать маленький обзор и поделиться им с массами.
По возможности коротко о кажется главном
Total votes 65: ↑56 and ↓9+47
Comments106

Ext.Календарь

Reading time1 min
Views2.8K
imageMyCalendar — это расширенная версия стандартного ExtJS-календаря. Календарик не привязан к конкретному бэкэнду т.к. работает только с JSON данными, а их хоть из ассемблера кидай =). На сайте автора уже представлено два бэкэнда на Grails и PHP в качестве демо для лучшего понимания внутреннего устройства.

Протестировано в IE, FF, Chrome.
Товарисчь anotherpit подсказывает, что в Opera все тоже работает (на первый взгляд).

Читать дальше →
Total votes 42: ↑34 and ↓8+26
Comments22

«Свежачок» по оптимизации — поведение браузеров при использовании Data:URI CSS Sprites

Reading time2 min
Views1.4K

Последнее время в инете стало появляться все больше публикаций про использование data:uri css sprites. Приведу две ссылки из блога Steve Souders, известный всему миру «оптимизатор» работающий в Google.

CSSEmbed — automatically data: URI-ize
Aptimize: realtime spriting and more

Наш отечественный герой «веб-оптимайзер» sunnybear намного раньше поднимал вопрос про использование data:uri в css и нами совместно был проведен ряд исследований. В то время вылезло много интересных моментов и особенностей о которых мы писали в предыдущих статьях. Последние эксперименты вскрыли ряд ранее неизвестных моментов по работе браузеров с data uri css спрайтами.
Читать дальше →
Total votes 54: ↑43 and ↓11+32
Comments27

Отказоустойчивые службы при помощи CARP

Reading time4 min
Views9.7K

Краткое введение


Про сам протокол очень хорошо написанно в википедии. Кому интересны подробности и история — туда. В двух словах о нём можно сказать так: это протокол избыточности, который позволяет двум или более компьютерам в одной подсети иметь одновременно один и тот же IP адрес, при этом возможна настройка этой группы компьютеров как взаимозаменяемые (главный компьютер отключился/сломался – вместо него сразу же принимается за работу другой, у которого приоритет выше) и так по кругу, обеспечивая тем самым почти 100% доступность служб. СARP является «родным» для OpenBSD, FreeBSD и NetBSD. На линуксе с ядром выше 2.4 доступен через ucarp.

Немного сумбурно, но в дальнейшем, надеюсь, ситуация прояснится.
Читать дальше →
Total votes 31: ↑24 and ↓7+17
Comments25

Pliq.me крошка…поговори со мной!

Reading time2 min
Views701
image

Лучший способ набрать текст на телефоне – это сказать его.


С прошлой недели доступен в закрытом тестировании новый проект Pliq.me, позволяющий с помощью небольшого приложения и большой серверной части создавать голосом короткие текстовые сообщения на вашем телефоне для SMS, E-mail, напоминаний, записей в Twitter, Evernote или просто быстрых заметок.
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments93

Альтернатива cookies посредством Java Script

Reading time5 min
Views14K
Поиск по хабру похожей статьи не дал, потому рискну поделится с теми кто еще не в курсе
Многие из вас сталкивались с проблемой хранения данных на клиенте. Первым делом в голову приходит cookies но ограничение хранения данных в размере не более 4kb не всех радует, сегодня если позволите я вам расскажу как посредством Java Script хранить около 100kb на клиенте.
итак приступим
Total votes 1: ↑1 and ↓0+1
Comments43

Browser persistence

Reading time2 min
Views1.7K
Browser persistence — техника, позволяющая хранить в браузере довольно большие объемы данных, которые в отличие от cookie не отсылаются на сервер при каждом запросе.

Все уже написано до меня, но на хабре никаких более-менее подробных упоминаний не нашел, поэтому написал краткий обзор — как это работает и собрал ссылки для более подробного изучения.
Читать дальше →
Total votes 63: ↑53 and ↓10+43
Comments20

Information

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