Pull to refresh
23
0
Вячеслав Łącki @lacki

User

Send message

Google выпускает mod_pagespeed для Apache

Reading time1 min
Views11K
В прошлом году Google в рамках своих инициатив по ускорению веб проектов представила свой инструмент для разработчиков Page Speed. Теперь же для упрощения труда разработчиков и вебмастеров Google предлагает нам новый инструмент.

Сегодня Google представила новый модуль для Apache под названием mod_pagespeed. По словам разработчиков время загрузки страницы удалось уменьшить на 50 процентов, а на отдельных проектах эта цифра значительно выше.

Сравнительная демонстрация с включенным модулем и без него



Ссылка для скачивания

UPD

Модуль представляет из себя набор фильтров, каждый из них и примеры использования представлены и описаны в Документации. Применять и использовать модули следует исходя из потребностей своего проекта, у каждого фильтра есть свои особенности, которые следует учесть при использовании, обращая внимание на раздел «Risks» в их документации.
Total votes 107: ↑81 and ↓26+55
Comments52

«Spirit»: Node.js MVC Framework

Reading time13 min
Views8.2K

Привет, ребята! С этого момента я хочу начать цикл статтей с подробностями по созданию сообственного MVC фреймворка для node.js, название которому будет — Spirit.

Первая статья будет состять из четырех частей:
1. Идея и миссия фреймворка
2. Настройка сервера
3. Создание каркаса фреймворка
4. Создание продвинутого и удобного роутера

Предупреждаю сразу, что статья — огромна, с кучей текста и большими блоками кода.

Читать дальше →
Total votes 77: ↑65 and ↓12+53
Comments87

Пишем свой драйвер под Linux

Reading time8 min
Views68K
image

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

То, что мы сегодня создадим, корректнее будет назвать LKM (Linux Kernel Module или загрузочный модуль ядра). Стоит сказать, что драйвер – это одна из разновидностей LKM.

Писать модуль мы будем под ядра линейки 2.6. LKM для 2.6 отличается от 2.4. Я не буду останавливаться на различиях, ибо это не входит в рамки поста.

Мы создадим символьное устройство /dev/test, которое будет обрабатываться нашим модулем. Хочу сразу оговориться, что размещать символьное устройство не обязательно в каталоге /dev, просто это является частью «древнего магического ритуала».

Читать дальше →
Total votes 251: ↑240 and ↓11+229
Comments78

Реализация паттерна Observer средствами PHP 5.3

Reading time3 min
Views11K
Прочитав недавно нововведения PHP 5.3, я обратил внимание на несколько интересных особенностей, скомпоновав которые можно получить реализацию шаблона проектирования Observer, гораздо красивее, чем имеющиеся в pear и symfony, причём вся реализация займёт всего несколько строк кода.
Читать дальше →
Total votes 78: ↑60 and ↓18+42
Comments28

Решение проблем обработки XSLT на стороне клиента

Reading time3 min
Views6.9K
Вы уже используете XSLT в качестве шаблонизатора на сервере. Настал черёд перенести xsl-трансформацию на клиента. Можно, например, воспользоваться способом описанным в статье На клиенте! Получить XML! Получить XSL! Сделать XHTML! Марш!. Но это было бы слишком просто, потому что каждый браузер добавляет несколько своих нюансов при работе с XSLT.

Вопросы о способе загрузки xsl- и xml-файлов и их обработки в различных браузерах был рассмотрен в указанной выше статье. Рассмотрим другие вопросы:
1) инклудинг;
2) кеширование;

Все примеры опубликованы на этой странице ra-project.net/xsl_tests и работают в браузерах Opera, Chrome, IE6, Firefox, Safari.
Читать дальше →
Total votes 39: ↑33 and ↓6+27
Comments40

Что стоит знать задумавшемуся о переходе на Ubuntu

Reading time8 min
Views115K


Знакомый, в глаза не видевший Linux, но заинтересовавшийся опенсурсом, после выхода Ubuntu 10.10 попросил написать ему, "чем хорошо, чем плохо, какие осложнения, какие тонкости, как наладить отношения с вин7", чтобы он мог решить, нужно ли ему это счастье.


Сначала подумал "зачем буду писать текст, когда наверняка его уже сто человек написали — быстро нагуглю, пошлю ссылку, а потом уже на конкретные вопросы отвечать буду". Но затем обнаружил, что по запросам вроде "миграция на ubuntu" вываливаются гигантские мануалы с тонкостями настройки compiz, а недлинный текст для "неопределившихся" быстро найти не получается ни в интернете вообще, ни на ubuntu.com и ubuntu.ru (то есть все как и писал в предыдущем посте), ни на Хабре — вот и подумал, что пусть теперь хотя бы на Хабре будет.


Участники "Убунтариума" вряд ли узнают из текста что-то новое, зато они могут дополнить его в комментах (не претендую на звание гуру, так что много важного наверняка упустил), и тогда люди, которые позже введут в гугл что-то вроде "переход на ubuntu", найдут тут счастье.

Читать дальше →
Total votes 232: ↑184 and ↓48+136
Comments638

Шикарный эффект для checkbox и radio-button на CSS3

Reading time1 min
Views8.4K

Вот такой шикарный эффект для чекбоксов и радио-кнопок был реализован швейцарским CSS3-гуру. В качестве иконок были использованы символы из шрифта Pictos.

Демо: lab.simurai.com/css/umbrui
К сожалению, демо пока работает только в Safari и Chrome (с небольшими дефектами).
Total votes 122: ↑97 and ↓25+72
Comments97

CodeFest — улетели до весны

Reading time3 min
Views676
imageВ четверг, 23 сентября, весь Новосибирск встал в одной большой пробке: как оказалось, не зря мы написали целых 3 поста на Хабр о предстоящей конференции CodeFest, потому что число участников, приехавших на конференцию, уже к обеду перевалило за 400 человек.

Правда, тут мы не до конца протестировали процесс регистрации, в результате чего пришлось сдвинуть открытие CodeFest и дождаться, пока все желающие получат бейджики и пройдут в зал. Что ж, мы взрослые мальчики и девочки и признаем, что допустили ошибку: полёты разобраны, выводы сделаны, и в следующий раз регистрация будет молниеносной.

Так или иначе, утренние неполадки никак не сказались на оставшемся дне: всё прошло весьма энергично и позитивно. Уже сейчас в интернетах можно прочитать отзывы о CodeFest и конкретно о докладах и докладчиках. Мы же вкратце осветим другие интересные моменты.
Скандальные подробности!
Total votes 30: ↑26 and ↓4+22
Comments8

VirtualBox 3.2: теперь можно запускать MacOS X в виртуальной машине. Под windows и linux

Reading time2 min
Views73K
logoНеожиданно тихо прошел релиз новой версии virtualbox, в котором впервые появилась возможность запускать в виртуальной машине MacOS X. Официально. С оригинального диска. Не хакинтош.

Почитать что получилось а что нет
Total votes 184: ↑176 and ↓8+168
Comments290

Getting Started with MongoDB and PHP

Reading time18 min
Views62K
Generation Next
За последний год произошла небольшая революция в мире СУБД, связанная с появлением безсхемных (безструктурных) СУБД таких как Apache CouchDB. В этих базах данных используется другой подход нежели в реляционных БД. Они достаточно быстро становятся популярны среди Web-разрабочиков из-за своей гибкости, простоты и легкой интеграции с современными технологиями такими как JSON.
В данной статье изложен краткий обзор MongoDB, одной из новых поколений безсхемных СУБД, которая получила большое внимание разработчиков.
Let's get started!
Total votes 105: ↑96 and ↓9+87
Comments75

Your Personal DNS — еще немного о DNS хостинге

Reading time2 min
Views2.2K
Как уже не раз говорилось, в вопросе хостинга DNS есть ненулевое количество нюансов.
Часть из них, под девизом «мой провайдер предоставляет DNS сервера», описаны например вот тут:
http://habrahabr.ru/blogs/hosting/94496/
http://habrahabr.ru/blogs/hosting/90533/

Помимо оного существует еще ненулевое количество других вопросов. Начиная от фразы «Какие еще TXT записи? Какой еще sip?» и заканчивая «А сегмент сети, в котором наши DNS сервера из вашей %%%%%% не доступен. Нам очень жаль»

Мы думали, думали и решили, что наш лунный модуль будет, ну, как минимум, не хуже существующих.
А тут еще и EveryDNS продали.
Вообщем, если вкратце — то еще одним публичным и бесплатным DNS менеджером прибыло.

Читать дальше →
Total votes 102: ↑95 and ↓7+88
Comments186

Альтернативный вид страницы для opera speed dial

Reading time1 min
Views3.3K
Давно искал способ детекта Speed Dial от Opera, чтобы для Speed Dial отдавался специальный вид страниц.
Путем экспериментов было установлено, что в режиме «скриншотера Speed Dial» Opera устанавливает жесткие значения для document.documentElement.clientHeight и document.documentElement.clientWidth в 768 и 1024 соответственно, естественно при наличии body тега внутри документа.

Вот, собственно, код, который детектит «opera speed dial mode»:
var sd = document.documentElement.clientHeight == 768 && document.documentElement.clientWidth == 1024 && window.opera;

Страница для теста dl.dropbox.com/u/2899751/opera-speed-dial/test.html
Исходинк pastebin.com/msfc9aYj

Просто добавляем dl.dropbox.com/u/2899751/opera-speed-dial/test.html в одну из ячеек Opera Speed Dial.
В нормально режиме будет выдаваться «Common page» в режиме Speed Dial будет валлпапер с андроидом droidfreeapps.com/wp-content/uploads/2010/01/android_logo.gif
Total votes 24: ↑21 and ↓3+18
Comments12

Мастер-классы по профессиональному Javascript, AJAX/COMET, jQuery

Reading time1 min
Views2.9K
Приглашаю уважаемых разработчиков к участию в мастер-классах по профессиональному Javascript-программированию, AJAX/COMET, оптимизации, jQuery.

Они пройдут — в Ярославле (24-25 сентября), Новосибирске (3-4 октября), Казани (9-10 октября), Минске(16-17 октября), Днепропетровске (23-24 октября), Одессе (30-31 октября) и Самаре (13-14 ноября).
Читать дальше →
Total votes 57: ↑46 and ↓11+35
Comments31

Поддержка MySQL в Node.js: node-mysql-libmysqlclient

Reading time4 min
Views16K
Я довольно долго откладывал этот анонс, однако сейчас настало его время.

Встречайте: node-mysql-libmysqlclient v0.0.7, коннектор к MySQL для Node.js, поддерживающий синхронное и асинхронное выполнение запросов к БД и имеющий API, близкое к API аналогичных коннекторов для PHP/Perl/Ruby etc.

Читать об истории создания и возможностях последней версии коннектора.
Total votes 44: ↑41 and ↓3+38
Comments36

Основы проектирования веб-интерфейсов в Axure RP Pro

Reading time8 min
Views123K
Axure RP ProВ последнее время разработчики веб-проектов все чаще начинают задумываться о том, что до начала разработки продукта было бы неплохо узнать, что это будет за продукт и как он будет выглядеть.

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

Средств для визуального проектирования становится все больше. Одни пользуются Adobe InDesign, другим нравится Visio, третьи довольствуются OpenOffice Draw. Но все больше поклонников появляется у довольно тяжелой и функциональной программы Axure RP Pro.

О том, как с ее помощью облегчить себе жизнь, и пойдет речь в этой статье. Осторожно, трафик!
Total votes 62: ↑51 and ↓11+40
Comments76

Доставка видеоконтента пользователям

Reading time7 min
Views11K
[ Часть I. Доставка видеоконтента ] [ Часть II. CDN своими руками ]

Что такое «контент» для видеохостинга? Во-первых, контент видеохостинга – это просто видео, которое представляет собой набор файлов в различных форматах, в частности, в формате FLV для просмотра пользователем через Flash Player. Эти файлы статичны, видеохостинг при загрузке пользователем видеоролика осуществляет конвертацию во все требуемые форматы с необходимым битрейтом. Хранение такого контента — это хранение обычных файлов, только довольно большого размера. Отдача контента — это, по сути, организация скачивания файлов.
Во-вторых, контент видеохостинга — это «живые» потоки или вещания. Вещания не записываются на диск, не происходит их конвертация, потоки раздаются клиентам с учетом пропускной способности каналов (происходит пропуск пакетов, если канал клиента недостаточен для получения потока вещания в полном качестве). Отдача контента в данной ситуации — это раздача потока на большое количество подключенных пользователей (тысячи смотрящих).
Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments79

Обработка пользовательких видео

Reading time3 min
Views4.4K
Некоторое время я занимался (и занимаюсь до сих пор) веб-проектом, где необходимо было добавить фичу для загрузки пользовательских видео-роликов. Собственно, какие могут быть пользовательские видео? Очень разного качества и разнообразных форматов. Начиная от обычных flash файлов, которые представляют наименьшую проблему, до различных записей с телефонов. Встала задача — сделать демона, который бы занимался обработкой очереди загруженных файлов и выполнял следующие функции:
— Конвертирование видео в flash формат (FLV), ипользуя VP6 кодек
— Обновление метаинформации видеофайла
— Создание thumbnails из видео
— Дальнейшии манипуляции с БД

Конкретно в этой статье я рассмотрю варианты обработки уже сконвертированного в формат flash видео-ролика. Итак приступим.
Читать дальше →
Total votes 78: ↑74 and ↓4+70
Comments33

PhpVirtualBox позволяет вам управлять вашими виртуальными машинами через веб-интерфейс

Reading time1 min
Views8.2K
image

Опен-сорс веб-панелька phpVirtualBox поможет вам управлять вашими VirtualBox виртуальными машинами через ваш браузер. После установки веб-сервера запущенного с vboxwebsrv utility, вы сможете пользоваться веб-интерфейсом который мало чем отличается от программного.

phpVirtualBox может быть запущен на любой платформе.
Total votes 61: ↑59 and ↓2+57
Comments47

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

Reading time2 min
Views41K
image

После моего тотального перехода на Ubuntu, однажды мне понадобилось сделать скриншот сайта целиком. Я, наивный, открыв FireFox, стал искать свой привычный плагин FireShot, и к глубокому своему разочарованию обнаружил что сие не работает под Linux. Самое удивительное, что я не нашел и достойного аналога этого плагина ни в FireFox, ни в Chromium. Несколькими днями позже я наткнулся на Shutter, программу для снятия скриншотов, и я приступил к изучению этого средства.
Осторожно - трафик!
Total votes 88: ↑78 and ↓10+68
Comments54

Притча о шаблонах

Reading time8 min
Views1.9K
 — Здравствуй *с широко развевающейся по лицу улыбкой* дружок.
 — Ваа! *с ярким блеском в широко распахнутых глазах* Тётя Ася приехала!
 — Да, и у меня есть для тебя новая сказка *присела и взяла малыша за руки* хочешь послушать?
 — Конечно! *слегка смутился и отвёл взгляд* Мне тут дядя такие страшные истории рассказывал…
 — Ну, надеюсь моя история тебя не испугает *потрепала его по волосам* Она должна научить тебя мыслить шаблонно.
 — Эээ? *лицо перекосилось от недопонимания* Это как?
 — М… сейчас узнаешь *подмигнула и взяла на ручки* Вот когда тебе нужно вставить переменные в строку — ты как поступишь?
 — Ну… *взял карандаш и чирканул на лежащей рядом бумажке* примерно так:
var query= 'xxx'
var resultCount= 512
var message= 'По запросу <kbd>' + query + '</kbd> найдено страниц: ' + resultCount

 — Ты ничего не забыл? *победоносно подняла голову*
 — Да вроде нет… *уткнулся носом в код, ещё раз внимательно его проверяя*
 — Что, если пользователь введёт… *выдержала многозначительную паузу и добавила*
какого же порева она там добавила?
Total votes 232: ↑157 and ↓75+82
Comments164

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity