Search
Write a publication
Pull to refresh
19
0
Vladimir @mvs

Creator, founder, developer

Send message

Четыре зловещие шестнадцатеричные цифры на страницах ошибок — и как преодолеть их

Reading time2 min
Views3K
С этим загадочным глюком вы столкнётесь только при сочетании сразу нескольких условий.

Ваш сайт обслуживается Apache Server. (Это условие выполнить нетрудно: сейчас Apache — один из наиболее популярных вебосерверов.)

Ваш сайт также снабжён кэширующим сервером nginx. (Закупая shared-хостинг для небольшого сайта, вы можете до последней минуты ничего и не знать о том, что хостинговый провайдер, заботясь об экономии ресурсов, навесил nginx. Если, конечно, не полезете читать заголовки HTTP-отклика.)

Вы ставите какой-нибудь движок, работающий на PHP. (Например, CMS Drupal. Или, например, вики MediaWiki.)

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

И тогда приходят они. Четыре шестнадцатеричные цифры. Они появляются в коде страницы с описанием ошибки 404 (а также и 403), они стоят в этом коде перед «<!DOCTYPE», и поэтому многие браузеры (например, Firefox) стремятся отобразить их выше всего остального текста страницы — а значит, заметно разламывают дизайн, задуманный создателями CMS или вики:

3340
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
    <head>
          <title> … … …

В чём же дело?

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

Cтреловидные формы элементов с помощью CSS3

Reading time5 min
Views10K


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

Итак, начнем.

Организация доставки заказов: как работать с Amazon Fulfillment Network

Reading time5 min
Views6.4K
Дано: небольшая компания (или вообще ЧП) в США, Великобритании, Германии, Франции или Японии. Вы только что открылись с целью продавать… ну скажем, няшные чехлы для сотовых телефонов. Подняли сайт, на нем биллинг карточек, открыли счет в UPS / FedEx (подчеркнуть по вкусу), затоварились продукцией, накупили кучу упаковочного материала, и сели ждать первого заказа.

Поехали!

Channel.me → совместный просмотр сайтов

Reading time2 min
Views5.3K
Внезапно, у меня возникла задача выбрать товары в интернет-магазине вместе с сестрой. Казалось бы всё просто, только вот сестра находится на 800 км вдали от меня.

Кидать ссылки друг другу или шарить один из рабочих столов я посчитал неэффективным. Но нашёлся революционный сервис, который похож на Google Docs, но только для совместного посещения сайтов — Channel.me.



Ближе к делу: демо-канал для хабрапользователей | демо-канал №2
Комментарий от создателей по поводу хабра-эффекта в демо-канале:
The demo-channel is a bit crowded… Looks more like a stress test :-)
Our virtual server is running at 160% and with 20Mb/s traffic… cool!

Далее чуть-чуть текста, скриншот и ссылки на расширения

Реалистичные тени при помощи CSS3 без использования изображений

Reading time7 min
Views143K
Привет, Хабр!

Хочу поделиться замечательным мастер-классом по созданию реалистичных теней для блоков на чистом CSS, найденном на просторах рунета по адресу http://mainview.ru/css/realistichnye-teni-pri-pomoshhi-css3-bez-ispolzovaniya-izobrazhenij. Естественно, для того, чтобы примеры работали как надо, необходим браузер с поддержкой CSS3.

image

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

Несколько полезных сервисов

Reading time2 min
Views126K
Хочу поделиться ссылками на несколько полезных сервисов. Некоторые из них помогут сэкономить время, другие — сделают за Вас незнакомую/нелюбимую работу. Список разбит по категориям, чтобы было легче ориентироваться.

Сервисы опросов
userreport.com (добавил Romanych)
simpoll.ru
webanketa.com (добавил mihass)

Кнопки постинга в социальные сети
Кнопка от Яндекса
addthis.com (добавил UksusoFF)
share42.com
Читать дальше →

Backup решение от Cloud4Y

Reading time2 min
Views4.1K
Приветствуем Хабра людей!

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

На сайте www.cloud4y.ru заходим в панель управления под своим логином.

Для начала нужно создать новую виртуальную машину — create new virtual machine

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

«Правильная» utf-8 кодировка в настройках nginx/apache

Reading time3 min
Views98K
Надеюсь, что данный пост окажется полезным многим разработчикам, т.к. судя по многочисленным тредам в интернете, проблема-то довольно частая. Суть проблемы в следующем: неправильное наименование кодировки utf-8 в настройках nginx/apache. При этом отдаваемый сервером контент воспринимается нормально во всех браузерах, кроме Internet Explorer-a.
Читать дальше →

Новый продукт VDS-KVM от ColoBridge

Reading time3 min
Views7.5K
image

Друзья, здравствуйте!


Сегодня мы хотим предложить вашему вниманию новую линейку виртуальных серверов VDS-KVM (Kernel-based Virtual Mashine) от ColoBridge. Мы сравним ее с группой продуктов VPS-OpenVZ, представленной нами в начале 2011 года, обозначим целевую аудиторию, для которой интересна новая серия, и поделимся причинами выбора именно этого монитора виртуальных машин.

Почему KVM


Те, кто читал наш первый пост, возможно, вспомнят, что мы планировали выпустить на рынок в начале весны VDS на платформе виртуализации XEN. Но после посещения весной IT-выставки CeBIT и последовавшими за ней встречами с ребятами из RedHat, мы радикально поменяли стратегию и окунулись в KVM.
Читать дальше →

Обновление 0x4553-Intercepter

Reading time1 min
Views9.9K
К функционалу программы добавлены 2 техники: SSL MiTM и SSL Strip.

Первая является старой классической техникой подмены сертификатов.
Позволяет перехватывать данные любого протокола, защищенного при помощи SSL.
Стандартно поддерживаются: HTTPS\POP3S\SMTPS\IMAPS.
Опционально можно указать любой дополнительный порт.

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

Естественно, при использовании данного функционала неизбежны предупреждения браузера и другого
клиентского ПО.



SSL Strip — «тихая» техника для перехвата HTTPS соединений. Долгое время рабочая версия
существовала только под unix, теперь подобные действия можно проводить и в среде NT.

Суть в следующем: атакующий находится «посередине», анализируется HTTP трафик, выявляются все https:// ссылки и производится их замена на http://

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

Т.к. никаких сертификатов не подменяется, то и предупреждений нет.
Для имитации безопасного соединения производится замена иконки favicon.

Одно закономерное условие успешного перехвата — URL должен быть введен без указания префикса https.



Официальный сайт — sniff.su

Как мы разрабатывали интеграцию интернет-магазина с 1С: Предприятие и почему она стала массовой

Reading time9 min
Views111K
Как обеспечить актуальный каталог товаров и их наличие на сайте и обработать заказы покупателей в соответствии с внутренними бизнес-процессами? Многие владельцы интернет-магазинов сталкиваются с данной задачей.

Интегрировать отдельно взятый интернет-магазин с учетной системой предприятия в целом несложно. Реализовать готовую интеграцию в коробочной поставке CMS-системы и сделать ее простой и понятной для массового использования, универсальной для различных задач — непростая и интересная задача. Данный топик — о нашем опыте разработки интеграции интернет-магазина с популярной учетной системой 1С: Предприятие.



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

Дешевое и быстрое юзабилити-тестирование

Reading time3 min
Views2.1K
Сегодня я хочу развеять миф о том, что юзабилити – это дорого и сложно, а также представить вам новый сервис по краудсорсингу юзабилити-тестирования: usertest.ru.



Многие компании, проводящие юзабилити-тестирование, пишут о процессе, как о чем-то требующем особенных знаний, неподвластных простому смертному. Люди, проводящие тесты, называются не иначе как «эксперты». Много внимания уделяется специальному оборудованию (запись лица пользователя, отслеживание движения зрачков), как будто тестировать можно только в лабораториях. Неудивительно, что и ценники на подобные услуги измеряются в десятках и сотнях тысяч. Я уже чувствую, как в меня летят камни, грабли и факелы юзабилити-профессионалов, но если вы не Амазон, такие затраты вам ни к чему, даже несмотря на обоснование высоких цен через расчеты ROI (тут, тут или просто гугл). Почти такой же эффект можно получить с гораздо меньшим бюджетом.

Почему это не высшая математика

Верстка скругленных границ и острых углов

Reading time4 min
Views21K
Сложность элементов интерфейса увеличивается с каждым новым макетом, что доставляет немало хлопот верстальщикам. Развивающиеся технологии позволяют создавать в WEBе сложные приложения (Google не даст мне соврать), поэтому дизайнеры себя не сдерживают и рисуют всё более навороченные вещи. Как правило, это приводит к большому количеству графики на страницах.

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

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

Скрипт резервного копирования через rsync

Reading time3 min
Views28K
Возникла необходимость как-то и куда-то бэкапится. Причём чтобы процессоры не грузились и место не занималось, а бэкапы ротэйтились и удобно доставались. Раньше всегда пользовался fsbackup, но захотелось отказаться от архивирования. Для решения задачи была использована rsync и механизм жёстких ссылок (так называемых хардлинков) файловой системы.

Архитектура: есть отдельно стоящий сервер с большим винтом — на нём и работает скрипт. Есть много разных серверов с доступом по ssh, на которых в ~/.ssh/authorized_keys добавлен публичный ключ пользователя, под которым работает скрипт резервного копирования.
Читать дальше →

Валидация в JavaScript с помощью Valid8

Reading time2 min
Views5K
Часто приходится «насыщать» интерфейсы с помощью JavaScript. В основном работаю через jQuery, всё нравится, но одна беда – валидация. Постоянно приходится изобретать «велосипед», искать в сети обрывки кода; а ведь хочется написать пару строчек без углубления в детали. Радость не заставила себя ждать: нашёл библиотеку Valid8 (произносится как validate), и, наконец, решил проблему написания кода валидации.

Как пользоваться


Пользоваться библиотекой оказалось очень просто, чего не скажешь о склеивании jQuery «обрезков» из интернета. Чтобы подключить библиотеку, нужно зайти сюда и нажать заветный Download. Скачается архив, в котором особый интерес представляет файл jquery.valid8.js, его копируем в папку с js файлам нашего проекта и подключаем библиотеку в html:
<script src="/js/jquery-1.6.3.js" type="text/javascript" charset="utf-8"></script>
<script src="/js/jquery.valid8.js" type="text/javascript" charset="utf-8"></script>

Допустим у нас есть форма:
<form><ul>
<li><input type="text" id="inputSome" /></li>
</ul></form>

Добавляем валидацию (по умолчанию только проверка обязательности заполения), передавая в качестве параметра строку с сообщением об ошибке. Работаем в стиле jQuery:
$('#inputSome').valid8("Заполни это поле!");

После того как поле получит фокус и вы из него выйдете не заполнив, объемлющий тег (в нашем случае li) получит класс стиля error.
Для визуализации ошибок добавим CSS в head нашего документа:
<style>
.error input { background:pink; }
</style>

Валидация готова. Все.

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

Как мы «бэкапим» серверы в Amazon и отбиваемся от пираний

Reading time8 min
Views18K
Многие владельцы веб-проектов, размещенных в популярном облачном провайдере Amazon, наверняка задумываются о том, как создать эффективную и надежную конфигурацию веб-решения, как проводить резервное копирование машин, как действовать в случае коллапса датацентра, в котором размещены ваши серверы. К сожалению, официальная документация облачного хостинга «несколько» скупа на тему надежности и внутренней реализации веб-сервисов — поэтому приходится полагаться на собственный боевой опыт эксплуатации и армейскую смекалку.

Ситуацию усугубляет наблюдаемое ныне противостояние распространенного заблуждения, что в облаке все очень надежно и можно крепко спать: жесткие диски «из титана», сетевой трафик течет «по золотым проводам», а инженеры там крутые парни из Челябинска, рассекающие писсуар пополам — с рекомендациями облачного провайдера на тему «мы предоставляем сервисы достаточной надежности и быстрые каналы между ДЦ, а задача архитектора проекта — комбинировать наши технологии, доводя девяточки справа до нужного количества».

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

Оптимизация PNG и JPEG без потери качества. Часть 2

Reading time5 min
Views26K
Здравствуй Хабр!
Вот и настало время второй, и, надеюсь, долгожданной части. Настоятель рекомендую ознакомится с первой частью, ибо без этого будет тяжело понять, о чем я буду писать. В этой части я отойду от теории к практике, а именно покажу небольшое проект для комплексной оптимизации изображений.
Читать дальше →

Язык для работы с ActionScript событиями

Reading time1 min
Views1K
image

В текущем билде RASE мы зарелизили язык для коллекций. Сейчас трудимся над языком, который точно взорвет мозг флэш-разработчиков. Можно будет создавать специальные методы с аннотацией «Flow», код в котором будет выполняться ассинхронно. То есть код будет «останавливаться» — ждать события (или группы событий) и выполняться дальше, когда событие произойдет.



Также можно прыгать по точкам в коде — state, jump. И можно дождаться выполнения других flow-методов — chain.

В общем полноценный язык для работы Finite State Machine.

Кое-что о соглашениях об именах почтовых ящиков

Reading time4 min
Views55K

Заведя для себя «почту для домена» на Яндексе, я решил открыть свободную регистрацию посторонним юзерам почтовых ящиков на своем «модном» домене. Помимо включения функции catch-all, которая направляет всю входящую почту несуществующих ящиков моего домена на мой основной ящик, предо мной встала необходимость зарезервировать за собой все «стандартные» названия ящиков, чтобы не было недоразумений, когда какое-то имя уже забил посторонний, и вся «служебная» почта уходит совсем не вам. В П.Д.Д. можно, конечно, в любой момент экспроприировать любой ящик подконтрольного домена, но ведь осадочек-то остается. Я озадачился: какие же имена почтовых ящиков являются стандартными и системными? Техподдержка Яндекса ответила, что они резервируют для себя только имя postmaster@ на каждом домене, чтобы отслеживать жалобы и проблемы с почтой, и что на данный момент вопрос о наборе резервированных имен у них остается открытым. Далее, результат поиска в интернете оказался немного предсказуем.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity