Как стать автором
Обновить
7
0
Родион @CrazyRad

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

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

Nginx UploadProgress Module

Время на прочтение2 мин
Количество просмотров7.3K
Модуль для nginx, с помощью которого достаточно просто мониторить прогресс загрузки файлов на сервер. Ранее были подобные решения, через модули к php, ruby, через стороние скрипты, flash объекты итп. Автор предлагает универсальное решение на уровне web сервера. Подробную информацию и инструкции вы можете найти на wiki.codemongers.com (кстати, один из лучших проектов, посвященных nginx`у). Тут я хотел обратить внимание на другое.
Использовал модуль совместно с nginx upload module, работает на ура. Однако файлы, что я заливаю, достаточно большие (поддерживаю файлообменник), пытался запихнуть в директиву upload_progress размер обрабатываемых файлов — 1g, при релоаде nginx`а получил варнинг, мол непонятный размер вы поставили. Странно, т.к. в client_max_body_size у меня стоит 1g и нормально себя чувствует. Глянул исходники nginx`а и модуля, выяснелось, что модуль обрабатывает директиву upload_progress функцией ngx_parse_size, тогда как сам nginx обрабатывает ту же client_max_body_size соседней функцией ngx_parse_offset, функции абсолютно идентичны (на мой взгляд), разве что первая не понимает размерность «g», а вторая понимает =) Для того, чтобы модуль нормально обрабатывал размерность в директиве upload_progress, надо в исходнике модуля (ngx_http_uploadprogress_module.c) в строчке 1151 исправить ngx_parse_size на ngx_parse_offset.
В общем это не критично, т.к. директива нормально обрабатывает значение 1024m, но как-то нелепо выглядит подобная запись =)))
А вообще модуль очень понравился, очень удобное решение, не зависящее от бэк-енда.

update: Внимание, совершил глупую ошибку. Стыдно. Деректива upload_progress задает не максимальный размер загружаемых файлов для указанной зоны, как я думал, а размер оперативной памяти, выделяемой для обсчета одной загрузки в эту зону. Значение для этой дерективы — 1,2m, максимум 10-20m. Задавая 1g вы будете тратить гигабайт оперативки на каждую загрузку. Стыдно, ошибку не повторяйте.
p.s. тем не менее баг найден, автору сообщил, он обещал исправить.
Всего голосов 63: ↑57 и ↓6+51
Комментарии23

Обрати внимание

Время на прочтение1 мин
Количество просмотров693
ui
Зачастую необходимо обратить внимание пользователя на какую-либо деталь интерфейса.

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

Я хочу Вам показать прием позволяющий обратить внимание пользователя, на мой взгляд, с большой точностью.
Читать дальше
Всего голосов 75: ↑50 и ↓25+25
Комментарии36

Организация постоянных редиректов с www.domain на domain и обратно.

Время на прочтение1 мин
Количество просмотров21K
Так исторически сложилось, что домены сайтов называют с префиксом www или без.

Есть несколько взглядов как истинно должен называться домен, прогрессивное человечество считает, что без www — nowww.ru, многие западные эксперты считают обратное.

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

Читать дальше →
Всего голосов 41: ↑37 и ↓4+33
Комментарии59

Ajax-машина

Время на прочтение11 мин
Количество просмотров4.1K
Знали ли разработчики LiveScript из Netscape о том, какое влияние окажет их язык, позже переименованный в JavaScript, на лицо интернета — веб-сайты, или, может быть, они твердо на это рассчитывали, но факт остается фактом — JavaScript на сегодняшний день является одним из самых важных и распространенных языков в мире.

В то время, как на стороне сервера трудится разношерстная компания языков в лице php, perl, python, ruby, .net, java и многих других, на стороне клиента JavaScript существует буквально в гордом одиночестве. Фактически, из маленького дополнения к html, JavaScript превратился в полноправного члена банды «html+css+js», который, зачастую, уже командует остальными, сверкая золотым браслетом с надписью «ajax» и делая недовольное лицо $( ) при случае.
продолжить чтение
Всего голосов 142: ↑131 и ↓11+120
Комментарии91

Клиентская оптимизация и этапы разработки

Время на прочтение9 мин
Количество просмотров4.2K
Обычно пользователю нет дела до того, какие подходы мы применяем при разработке, как настроен сервер, какие клиентские и серверные фреймвёрки мы используем. Его может волновать на сколько сайт полезный, удобный и быстрый. Наша же задача заключается в том, чтобы не доставлять пользователю неудобства, радовать его, и тем самым заставлять его покупать наш мега-продукт или смотреть на наши замечательные баннеры. Эта статья о том, как создавать быстрые сайты.
Читать дальше →
Всего голосов 71: ↑65 и ↓6+59
Комментарии33

MySQL Performance real life Tips and Tricks. To be continued.

Время на прочтение6 мин
Количество просмотров8.1K
По заявкам трудящихся решил написать еще одну статью, посвященную оптимизации запросов в MySQL.

В прошлой статье habrahabr.ru/blogs/mysql/38907 рассматривались вопросы оптимизации LIMIT, GROUP BY, COUNT.

В данной статье я немного вернусь к вышеописанному и опишу пару примеров, с которыми столкнулся на проекте недавно, после этого приведу еще пару небольших примеров относительно того что такое хорошо и что такое плохо в MySQL.
Читать дальше →
Всего голосов 84: ↑80 и ↓4+76
Комментарии65

Архитектура REST

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

Введение


В русскоязычной части Интернета присутствует большое количество статей, посвященных веб-службам на основе SOAP и XML-RPC, но почему-то почти ничего нет про вполне заслуживающую внимания (но менее распространенную) архитектуру RESТ.

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

Читать дальше →
Всего голосов 85: ↑78 и ↓7+71
Комментарии75

SSH для частого использования

Время на прочтение2 мин
Количество просмотров69K
Наверное, многие из читающих «Linux для всех» пользуются SSH. Я, например, администрирую большое количество UNIX-систем, и, чтобы быстро получить доступ к нужной машине, приходится использовать возможности протокола на уровне, отличном от примитивного.
Читать дальше →
Всего голосов 155: ↑143 и ↓12+131
Комментарии120

Теория кэша

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

Введение


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

В данной статье я попытаюсь «разложить по полочкам» проблему кэширования, ориентированную прежде всего на сайты и системы управления контентом. Сразу предупреждаю, это мои личные соображения, которые не претендуют на истину в последней инстанции. Вся терминология так же моя, вы можете использовать её, если считаете нужным на своё усмотрение. Конструктивная критика приветствуется.
Читать дальше →
Всего голосов 129: ↑111 и ↓18+93
Комментарии65

Заворачиваем Amarok на MySQL

Время на прочтение4 мин
Количество просмотров1.8K
Или софтверная зоофилия


Amarok — на мой, взгляд — гениайнельший из всех ныне существующих аудиоплееров, снабжён не менее гениальной музыкальной библиотекой.(Именно переход на линукс и амарок приучил меня пользоваться этим инструментом музыкоорганизации, винамповская и вин-медиаплеерская либари просто таки пугали своей непонятностью и несуразностью.) Как известно, вся эта музыкальная библиотека крутится на определённой базе данных. В стандартной конфигурации, это SqlLite. Такая чудненькая легковесная БД, не требующая ни пользователе-паролей, ни каких-либо настроек, просто включил и оно себе работает. Но, у нее есть один серьёзный недостаток: она медленная, нет-нет, не то слово, просто таки тормозная!
Так как же нам быть, и что с этим делать?
Всего голосов 56: ↑47 и ↓9+38
Комментарии59

Linux, ATI, Compiz-Fusion и игры

Время на прочтение2 мин
Количество просмотров2.6K
Практически всем известно, что видеокарты ATI для работы под Linux — далеко не лучший выбор. Но тем не менее, по каким-либо причинам, у многих пользователей видеокарты именно этой фирмы (У меня например ATI X1300 в ноутбуке). Я не буду пересказывать полностью ситуацию с драйверами, опишу лишь свои проблемы (использую проприетарные драйвера): первая — мерцание видео при включенном композитном менеджере окон (в моем случае — compiz fusion), вторая — мерцание 3D приложений, опять же, при включенном Compiz. И если проблема с видео решается практически сразу, то с играми было тяжелее. Приходилось либо писать скрипт, отключающий Compiz на время игры, либо делать это вручную. Что не очень приятно, согласитесь.
Поиски решения навели меня на интересный скрипт — xgame и его оболочку xgame-gtk.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии40

Конструируем форму для комментариев

Время на прочтение3 мин
Количество просмотров4.3K
Хотелось бы изложить свое мнение по поводу темы затронутой в топике «Идеальное комментирование» (автор dezmaster). У меня появились свои идеи, как сделать более удобной эту форму регистрации:

Я, разумеется, не претендую на идеал, но сотни заполненных подобных форм позволяют мне высказать несколько мыслей.
Читать дальше →
Всего голосов 71: ↑57 и ↓14+43
Комментарии154

Шаг 2. Настройка интернета

Время на прочтение3 мин
Количество просмотров26K
В первом шаге я рассмотрел установку Ubuntu и детали, которые очень важны при этом.
Пойдем дальше и посмотрим на вещи, которые следует настраивать сразу после установки Ubuntu.

Настройка интернета


Несмотря на пакет network-manager, с настройкой интернета на Ubuntu могут возникнуть проблемы.
Если ваша сеть настраивается без статических IP, то, возможно, вам повезло и вся настройка пройдет в GUI.

Читать дальше →
Всего голосов 40: ↑30 и ↓10+20
Комментарии79

Идеальное комментирование

Время на прочтение5 мин
Количество просмотров1.3K
Как можно понять из недвусмысленного заголовка выше — речь пойдет о том, чем мы пользуемся в глобальной сети всё больше и больше — комментированием уникальных (и не очень) материалов на разнообразных социальных (и опять же не очень) сервисах, сайтах, блогах, социальных сетях (социальные социальные сети — как звучит! Наверное есть где-то антисоциальные).
Идеальное комментирование
Почему так происходит? Потому, что каждый сайт считает своим долгом предоставить возможность пользователю оставлять свое мнение к какому-либо материалу (будь то статьи, программы или что-либо другое). Не могу сказать, что это плохо, или хорошо. Я считаю, что каждый функционал должен создаваться под аудиторию, а не подгонять аудиторию под определенный функционал. Хотя опять же обе ситуации сосуществуют вместе и довольно мирно — зависит от типа пользователя, и его инициативности.
По всей видимости меня явно не туда понесло, пожалуй закруглюсь с предисловием, скажу только, что дальше в статье пойдет речь о том, что же нужно людям от комментариев, и непосредственно от формы комментирования, с помощью которой мы и имеем возможность оставить свое мнение. Приступим.

Читать дальше →
Всего голосов 68: ↑56 и ↓12+44
Комментарии135

Jevix 0.9.5

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


Опубликована новая версия Jevix — 0.9.5.

Основное отличие новой версии в том, что с этих пор Jevix можно использовать как средство для всестороннего контроля и преобразования текстовых данных больших интернет-проектов с «User-Generated» материалом.

Теперь Jevix умеет не только применять правила типографики, унифицировать HTML/XML разметку, но и контролировать перечень допустимых тегов с возможностью определения списка допустимых атрибутов для каждого тега отдельно. Также предусмотрена возможность предотвращения вероятных XSS-атак, скрытых в HTML-коде.

Читать дальше →
Всего голосов 44: ↑39 и ↓5+34
Комментарии56

Почему WiFi нужно держать открытым

Время на прочтение4 мин
Количество просмотров23K
Известный специалист по IT-безопасности и выдающийся криптолог Брюс Шнайер рассказывает, почему его домашняя точка доступа WiFi всегда была открыта для всех подряд, без пароля и шифрования. Брюс говорит, что именно этот элемент в его навороченной системе безопасности чаще всего вызывает удивление окружающих.

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

Мне говорят, что незваные незнакомцы могут подъехать на машине к моему дому и рассылать спам, перехватывать пароли, выкладывать и скачивать что угодно: от пиратских фильмов до детской порнографии. Как результат, со мной могут случиться разные неприятности: начиная от занесения моего IP в чёрный список и заканчивая визитом полиции.
Читать дальше →
Всего голосов 83: ↑77 и ↓6+71
Комментарии169

PHP библиотека для jQuery

Время на прочтение2 мин
Количество просмотров8.3K
jQuery-PHP

С тех пор как сочетание «Web 2.0» пришло в массы, все чаще разработчикам сайтов приходиться добавлять «web 2.0 красивости» к сайтам. Очень помогает в этом JavaScript фреймворк jQuery. Описывать все прелести данного фреймворка я думаю не имеет смысла (о нем и так слишком много написано), но мне, как PHP разработчику, нехватало удобного сервер сайда для генерации AJAX ответов, в итоге на свет появилась PHP библиотека jQuery-PHP
Читать дальше →
Всего голосов 50: ↑37 и ↓13+24
Комментарии78

Псевдокласс: first-letter

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


Уже довольно давно использую псевдокласс :first-letter для назначения двух фоновых изображений для одного элемента. Самое интересное что :first-letter, один из немногих псевдоклассов, которые работают в 6-ом Интернет Эксплорере. Но есть одна маленькая хитрость, которую нужно знать.

К делу. Как сказано выше, HTML элемент у нас один. Пусть это будет заголовок первого уровня.
Читать дальше →
Всего голосов 67: ↑67 и ↓0+67
Комментарии105

Давайте убьем IE6

Время на прочтение1 мин
Количество просмотров1.8K
Internet Explorer 6.0 был представлен публике 27 августа 2001 года. Ни для кого не секрет, что он содержит большое количество ошибок рендеринга, плохо поддерживает стандарты, плох с точки зрения безопасности и удобства.
Читать дальше →
Всего голосов 131: ↑123 и ↓8+115
Комментарии320

Как удачно расчитать цену и время проектов во фрилансе

Время на прочтение2 мин
Количество просмотров8.3K
Одна из самых больших проблем начинающих фрилансеров — оценка стоимости задания.

На самом деле — оценка стоимости проектов — очень не простой момент и очень важно научится правильно оценивать стоимость проекта, что предлагается.

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

Так как же правильно оценить проект?

Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии32

Информация

В рейтинге
Не участвует
Откуда
Беларусь
Дата рождения
Зарегистрирован
Активность