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

User

Send message

Замены для nginx (Web Sockets)

Reading time1 min
Views9.5K
В своё время nginx стал глотком свежего воздуха для Web-разработки.

В настоящее время, к сожалению, этот продукт тормозит развитие Web, так как является динозавром эпохи HTTP/1.0.

Если Вы используете современные возможности HTTP/1.1, или partial updates, или Web Sockets, нужна рабочая альтернатива.
Читать дальше →

Построение интерфейса: описание паттерна «Активные фильтры» (Active Filtering)

Reading time5 min
Views7.4K
image image image image
Фильтры — мы сталкиваемся с ними постоянно, они на сайтах и в приложениях. У кого, при поиске той или иной информации, не возникала мысль: «Здесь бы фильтр не помешал»?

Мы предлагаем поговорить о фильтрации. Зачем она нужна? Ведь кто ищет, тот всегда найдет? И проанализирует? Или все же нет?

Предположим ваш сайт или приложение содержит необходимую для пользователя информацию, причем в большом объеме. Обратиться ли пользователь к Вам? Да, конечно. В худшем случае человек просто запутается в объеме данных, в лучшем сможет самостоятельно отобрать необходимое и отправиться сводить и анализировать все предоставленное ему в отдельных документах и таблицах, которые он будет создавать самостоятельно. Вернется ли он к вам, или пойдет искать более удобное представление необходимым ему данным? Скорее второе.

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

Построение интерфейса: описание паттерна «Активные ссылки» (Action links)

Reading time4 min
Views2.8K
image image image image
Ссылки — это просто или совсем не просто?

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

Мы говорим о хорошем интерфейсе. И говорим о нем на профессиональном
языке, глядя в сторону опыта западных специалистов. Стало быть, одной примитивной классификации: ссылка или не ссылка (а например кнопка), нам очень скоро станет недоставать. В статье идет описание одного из вида — ссылок, называемого Активными ссылками.

— При нажатии на ссылку произойдет создание резервной копии? – это Активная ссылка
— Поля форм, заполнятся автоматически-определяемыми значениями? – это Активная сылка
— А может еще что-то…

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

Навыки и работа («меня не ценят»)

Reading time4 min
Views19K
Наблюдал у многих, с кем я работаю, этот синдром. Даже у себя наблюдал [из-за чего с предыдущей работы ушёл]

Синдром, если в кратце, звучит так: «Меня не ценят».
Человек работает, работает, и постепенно понимает, что деньги, которые ему тут платят, не соответствуют его навыкам.

Как это выглядит? Я попробовал нарисовать схему и пояснить её:

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

Отключение дискретной видеокарты в Ubuntu на примере Acer Timeline 3810TG

Reading time2 min
Views10K
Доброго всем времени суток!
Недавно зайдя на Хабр обнаружил целых два обзора ноутбуков Acer Timeline. Сам я являюсь счастливым обладателем 13.3" модели из этой линейки, что и побудило меня развить эту тему. Дело в том что для работы мне удобнее использовать Ubuntu, которую я и установил на второй день после покупки ноутбука. Ранее я имел дело с убунтой на моем Acer aspire one, на котором у меня абсолютно все заработало «из коробки». В данном же случае все было не столь радужно.
Читать дальше →

Лог комита: зачем он нужен на самом деле?

Reading time4 min
Views5.3K
Разработчики уже давно привыкли пользоваться системами контроля версий. Для кого-то это является естественным переходом, кто-то воспринимает сначала систему контроля версий как некоторое дополнительное усложнение своей работы, но работа над проектом в команде невозможна без этого инструмента.

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

  • «фикс бага»;
  • «закомитил всё, что сделал»;
  • «тестовый комит»;
  • «исправил опечатку»;
  • и т.п.

Почему это плохо?

Пара полезных плагинов к jQuery

Reading time2 min
Views1.1K
Написал пару плагинов по jQuery, чтобы немного облегчить себе верстку и кодинг.

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

Первый — jquery.outlinefix.js. Используется для удаления раздражающих рамок с ссылок, являющихся якорями (например, <a href="#">ссылка</a>).

Проблема:

(у ссылок после клика остается рамка)

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

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

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

Быстрая реализация резервного копирования в Amazon S3

Reading time3 min
Views25K
Я устал испытывать определённые опасения за сохранность данных на выделенном сервере, наблюдая за происходящим у хостеров последнее время… 3FN, Agava, Hosting.UA, МакХост — тенденция получается очень нехорошая.

В итоге, МакХост стал последней каплей, и, чтобы не оказаться в числе тех, кто «уже делает бекапы», я перевёл систему бекапов своего сервера на Amazon S3. Получилось вполне себе быстро и прозрачно.

Хочу поделиться с общественностью простейшей реализацией.
Читать дальше →

CSS Sticky Footer — новая версия

Reading time1 min
Views4.2K
Обновился код CSS Sticky Footer (мой перевод старой версии).

Автор отказался от clearfix-хака в пользу простого overflow: auto и двух селекторов для Оперы и IE8.

По его заверениям, футер надежно прилипает более чем в 50 браузерах.

Как и раньше, решение не подходит для тех, кому футер хочется сделать резиновым.

Горячие клавиши ctrl+shift+[key] и переключение языков по ctrl+shift (решено)

Reading time1 min
Views27K
Проблема: При настройке переключения раскладок на ctrl+shift горячие клавиши вида ctrl+shift+ отказываются работать.
Оказывается совсем недавно (буквально месяц назад) Илья Муравьев написал патч, исправляющий данное недоразумение. Суть сводится к тому что переключение языка после патча срабатывает не на нажатие, а на отпускание кнопок ctrl+shift.

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

Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables

Reading time7 min
Views67K
Здравствуй, Хабр!
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).

Способ реализация

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

Область применения

Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.

SEO под DDoS-ом

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

Стоимость и эффективность

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

Создание круговых панорам (flash)

Reading time5 min
Views142K
Как сделать панорамное фото с трехмерным обзором


Вертеть головой — потянув мышкой, или курсорами ← →, приближение/удаление — колесиком мышки.

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

Вообще, сделать панорамное фото (в т.ч. круговую панораму) совсем не сложно.
При минимальном навыке на всё уйдет минут 10.

Перечислю всё, что нам понадобится:
Читать дальше →

Критическая уязвимость в lighttpd, DoS

Reading time1 min
Views1.6K

С официального сайта



Security Announce: slow request DoS/OOM attack
February 1st, 2010

Li Ming reported a serious bug in lighttpd:

If you send the request data very slow (e.g. sleep 0.01 after each byte), lighttpd will easily use all available memory and die (especially for parallel requests), allowing a DoS within minutes.

As far as we know all versions are affected.

Перевод



Если посылать данные с большими промежутками (например, делать паузу в 0.01 секунды после каждого байта), то Лайти начнет использовать всю доступную память и завалится (особенно в случае параллельных запросов), это позволяет организовать отказ в обслуживании в течение нескольких минут.

Насколько известно разработчикам, все версии сервера содержат баг.

ссылка на баг в трекере и патч
Пререлиз 1.4.26 c исправлением (via eugeneorlov)
Исправление для Debian (via esten)

Будьте бдительны!

Визуализация данных в вебе: диаграммы Ганта

Reading time1 min
Views23K
В связи с недавней серией постов на тему визуализации данных в вебе меня попросили посоветовать библиотеки для рисования диаграмм Ганта, что с удовольствием и делаю.

Диаграмма Ганта (англ. Gantt chart, также ленточная диаграмма, график Ганта) — это популярный тип столбчатых диаграмм, который используется для иллюстрации плана, графика работ по какому-либо проекту. Является одним из методов планирования проектов.

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

Межсайтовая авторизация 2

Reading time2 min
Views28K
По итогам поста, сделанного в июле 2009 и продолжительным испытаниям, мы пришли к простой и оптимальной для нас схеме межсайтовой авторизации.
Спешу поделиться с общественностью

Альтернатива визивига или новый инструмент?

Reading time2 min
Views2K
В нашей компании мы всегда стараемся следить за достижениями прогресса и использовать все новейшие разработки. Конечно, это сложнее, чем идти протоптанными дорожками и не всегда находит одобрение, но такова судьба всех первопроходцев. Сегодня хотелось бы рассказать о нашем редакторе отчётов, который был разработан для нашей социальной сети Геоид.

При разработке интерфейсов всегда надо опираться на то, что чем больше возможностей даёшь пользователю, тем более неправильно он их использует. Целые тома рукописей известных и не очень писателей, написанные без использования красных букв на зелёном фоне, жирных выделений и подчёркиваний с перечёркиваниями, остаются великими произведениями. Наша задача, если и не пробудить в пользователе второго Александра Сергеевича, то, как минимум, помочь ему легко, гибко и удобно написать красивую статью, но при этом полностью исключить возможность её испортить. Это не ограничение свободы, это лишь свод законов, которые мы не даём нарушить. Это правила, по которым, в конечном счёте, живёт общество. И любая социальная сеть, по своей сути, является своеобразным государством со своими гражданами (пользователями) и чиновниками (администраторами ресурса). Но, это уже совсем другая история, вернёмся к нашей теме…
Читать дальше →

Getters & Setters в IE5+

Reading time2 min
Views2.4K
Вот этим навеяло habrahabr.ru/blogs/javascript/66242

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

<script language="vbscript">
' Объявляем класс, экземпляр которого в последствии будем использовать из яваскрипта
Class Accessor
  Public Property Let hook(val)  ' объявляем сеттер для свойства hook класса Accessor
   MsgBox val
  End Property
End Class

Dim access ' объявление переменных в VB обязательно
Set access = New Accessor  ' создаем экземпляр класса Accessor
</script>

<script language="jscript">
// т.к. у VB и JS общее пространство имен, можно вполне использовать созданный ранее access
access.hook = 'ololo';
</script>


* This source code was highlighted with Source Code Highlighter.


Другими словами аксессоры есть в VB, VB есть во всех IE и пространство имен VB и JS общее, можно пользовать.
Кроссбраузерный пример

Проигрывание FLV в Silverlight — Для чего это нужно

Reading time2 min
Views2.5K
FLVО чем это я?
FLV это, грубо говоря, формат видео файла, воспроизводимый Flash приложениями в сети Интернет. Я хочу научить приложения Silverlight понимать этот формат точно также, как это делает Flash.
Цель этого сообщения – понять необходимость использования FLV видео контейнера в Silverlight приложениях. Так же хочу заметить, что с Flash я поработал достаточно и съел не один десяток ложек дёгтя и всего пару ложек мёда. И напоследок, не судите строго, это мой первый пост.
Читать дальше →

Information

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