Как стать автором
Обновить
161.9
Карма
0
Рейтинг
habracut @habracut

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

  • Подписчики 11
  • Подписки 9
  • Публикации
  • Комментарии

Получаем IP-адреса HTTPS-клиентов с HAProxy (frontend) на Nginx (backend) в режимах HTTP и TCP-балансировки

Nginx
Довольно часто требуется балансировать нагрузку между несколькими веб-серверами. При этом, как правило, необходимо, чтобы веб-приложения получали реальные IP-адреса клиентов, а не IP балансировщика.

В случае балансировки и терминации HTTP(S)-трафика на HAProxy (Layer 7 [1]) данная задача легко решается добавлением заголовка “X-Real-IP” и его обработкой на Nginx при помощи модуля ngx_http_realip_module [2]. При балансировке TCP-трафика от HTTPS-клиентов и передаче его на веб-сервера напрямую без модификации или терминации (Layer 4 [3]) добавить данный заголовок невозможно, поэтому требуется воспользоваться возможностями, предоставляемыми Proxy Protocol [4, 5, 6].

Рассмотрим оба варианта (балансировка L7 и L4) на примере выдержек из конфигурационных файлов haproxy 1.5.9 и nginx 1.6.2

Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Просмотры41K
Комментарии 14

Видео докладов с DevOps Meetup про Docker

Блог компании Badoo
Недавно в офисе Badoo проходил DevOps Meetup про Docker и контейнерную виртуализацию. Делимся с вами видео докладов.

1. «Docker в Badoo: от восторгов к внедрению».
Антон banuchka Турецкий, Раудсепп Илья, Badoo.



Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Просмотры16K
Комментарии 5

За один проход

Спортивное программированиеПрограммированиеАлгоритмы
Среди задач по программированию часто попадаются такие: дана последовательность однотипных элементов (обычно это числа), требуется за один проход по ней найти какую-нибудь характеристику (среднее квадратическое отклонение, количество минимальных элементов, непрерывный участок с наибольшей суммой...) Дополнительное ограничение — последовательность может быть очень длинной, и в память не поместится. Других ограничений на элементы последовательности, обычно, не накладывается.
С этими задачами всё, более или менее, понятно: нужно найти то, что на мехмате МГУ называют «индуктивным расширением» искомой функции, и реализовать её вычисление. Если найти не удалось (требуемый объём памяти слишком велик), то задача не решается.
Но попадаются и другие задачи. В них есть дополнительные ограничения на элементы последовательности в совокупности, и эти ограничения приходится существенно использовать для решения (и проверять их не надо). Простейшая такая задача выглядит так:

Задача 1. В последовательности записаны целые числа от 1 до N в произвольном порядке, но одно из чисел пропущено (остальные встречаются ровно по одному разу). N заранее неизвестно. Определить пропущенное число

Решение очевидно: просматриваем числа, находим их количество K и сумму S. По условию, N=K+1, значит, сумма чисел от 1 до N будет равна (K+1)*(K+2)/2, и пропущенное число равно (K+1)*(K+2)/2-S. Если вы почему-то боитесь переполнений, то работайте с беззнаковыми числами (там переполнения не страшны — но будьте осторожны при вычислении (K+1)*(K+2)/2 :) ), или вместо суммы ищите XOR всех чисел.
Другие задачи
Всего голосов 73: ↑72 и ↓1+71
Просмотры126K
Комментарии 55

25 полезных шорткатов для Photoshop

IT-компании
Перевод
Здравствуй, дорогой хабрадруг! В этой статье приводятся 25 самых полезных сочетаний клавиш (шорткатов) в Photoshop, которые вы можете использовать, для того чтобы ускорить выполнение вашей работы. Некоторые из них редко упоминаются, некоторые применяются довольно часто, а некоторые вообще доступны только в Photoshop CS5. Я надеюсь, что каждый из вас найдет новые и полезные шорткаты в этой статье. Итак, давайте же начнем!


Читать дальше →
Всего голосов 126: ↑103 и ↓23+80
Просмотры93K
Комментарии 76

Интернет через ICMP

Сетевое оборудование
Здравствуйте! Вы забыли заплатить за интернет, провайдер заблокировал TCP и UDP, а про ICMP забыл, и любой ресурс пингуется? Тогда этот топик для вас!

image
Читать дальше →
Всего голосов 193: ↑181 и ↓12+169
Просмотры15K
Комментарии 83

Как не потерять деньги, желая сэкономить. Правила интернет покупок из-за рубежа

Управление e-commerce
    Давно собирался написать эту статью, но все не находил на это время. Последней каплей, подтолкнувшей меня к изложению аккумулированного за шесть лет опыта покупок за рубежом стали две статьи о массовом разводе дешевыми Киндлами, изложенные на хабре. Случай, когда такое количество человек попало на обычный для Ебея развод показал, что эта тема освещена недостаточно и людям не хватает базовых знаний в вопросе безопасности покупок.
    Ниже, я попытаюсь изложить то, что почерпнул за годы покупок как на своем опыте, так и из жалостливых писем с мольбами о помощи от коллег покупателей на профильных форумах. Все нижеизложенное я считаю тем минимумом, который необходимо усвоить ДО того, как пытаться что либо купить за рубежом. Более тонкие вещи можно почерпнуть на соответствующих тематических форумах.

Итак, начнем. Заранее прошу прощения за большое количество текста и излишнее словоблудие.
Читать дальше →
Всего голосов 263: ↑253 и ↓10+243
Просмотры165K
Комментарии 189

О чем недоговаривают производители SSD [Обновлено!]

Накопители
Это перевод статьи с сайта «The SSD Review». По правде сказать, это не совсем перевод — скорее выжимка смысла с добавлением графиков, которые говорят сами за себя. Я намеренно оставил без внимания рекламу накопителей Intel. Ну и еще один момент — автор странно передергивает, сначала показывая преобладание random 4-8k write, а затем приводя на графиках как меру производительности random 4-8k read. Ощущение, что он сам что-то недоговаривает. Будет неплохо, если кто-то из компетентных людей оставит в комментариях свое мнение.

UPD:
Достоверность информации в статье подтверждена опытным путем. Проделал опыты, написал парсер и выложил результаты хабражитель deseven, за что ему огромное спасибо. Табличку с его данными вы можете посмотреть в конце статьи.

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

Итак, в чем же обман?
Читать дальше →
Всего голосов 202: ↑185 и ↓17+168
Просмотры25K
Комментарии 291

Статистика по вашим сообщениям в соц. сети Вконтакте

Социальные сети и сообщества
Для любителей статистики, был написан jsскрипт (не мной) который делает статистику по вашим сообщениям.
image

смотрим под кат
Читать дальше →
Всего голосов 38: ↑15 и ↓23-8
Просмотры10K
Комментарии 46

Chatroulette своими руками — 50 строк кода

IT-компании
image
Пару месяцев назад я приглашал всех на веб-семинар о p2p во Flash, но сделал это слишком поздно, поэтому наверняка большое количество желающих на него не попало. Самое ценное, что я извлек из этого семинара — то, что peer-to-peer приложения во Flash делать очень легко. Правда у самого руки очень долго до этого не доходили.

Но буквально вчера руки очень сильно зачесались, и посидев ночку я разобрался в том, как работает технология p2p во Flash. Соединить видеопотоки двух flash-клиентов мне показалось мало, поэтому решил сделать что-то более интересное:
  1. Пользователь открывает страничку
  2. Выбирает тему для разговора (один из постов на главной хабры)
  3. Разговаривает со всеми, кто выбрал эту же тему

Сделал. Тут мой пример видеоконференции, исходники клиента и сервера можно скачать отсюда. Минимальные требования для примера — наличие Flash Player 10 и вэб-камеры.

UPD: Все это добро хостится на AppEngine, могут закончиться бесплатные квоты и все перестанет работать. Перекинул клиента на narod.ru. Если работать не будет — заходите сюда
Всего голосов 78: ↑72 и ↓6+66
Просмотры16K
Комментарии 59

Исследование надёжности SSD дисков Intel опытным путём

Компьютерное железо
Тут я расскажу, как я вывел некоторые примерные цифры надёжности SSD Intel принадлежащих к mainstream серии и использующих MLC технологию. Почему Intel? Всё просто, у меня их две штуки. Да и на текущий момент это наиболее адекватные SSD на рынке по всем соотношениям, которые можно применить к SSD дискам, а именно: Скорость/Надёжность/Цена. Вдобавок к этому они достаточно популярны (если не самые популярные) и найти других пользователей данных SSD совсем не трудно. Ну и наконец, у компании Intel есть замечательная программа Intel SSD Toolbox, которая и помогла мне определить возможный уровень надёжности этих дисков. Исследование я провёл по чужим показаниям этой программы. К слову говоря, подошла бы любая программа, которая умеет читать S.M.A.R.T. значения с контроллера диска, но искать данные проще по названию известной программы.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Просмотры22K
Комментарии 101

Угадай 2/3 среднего, %username%

Краудсорсинг
В 2005 году датская газета Politiken предложила своим читателям сыграть в следующую игру: каждый желающий мог прислать в редакцию действительное число от 0 до 100. Тот, чье число оказалось бы ближе всего к 2/3 от среднего арифметического присланных чисел, выигрывал 5000 датских крон (на тот момент около $800).
Читать дальше →
Всего голосов 105: ↑96 и ↓9+87
Просмотры9K
Комментарии 89

Провайдер заблокировал доступ к блогу Навального по запросу ФСБ

Законодательство в IT
Вчера обнаружил, что не могу зайти в блог Навального. Пинги до navalny.livejournal.com не идут, в то время как остальные блоги ЖЖ работают нормально (На текущий момент ни один блог на домене livejournal.com не открывается).

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

В техподдержке сказали дословно следующее: «Доступ к этому сайту заблокирован по требованию ФСБ».

update: На мой запрос пришел ответ от провайдера:
От кого a.kamcharov@evolife.su
Когда 17 мая 2011 в 20:50

доступ к ресурсу navalny.livejournal.com временно приостановлен по приказу ФСБ
--
Специалист технической поддержки ООО "Телеком.ру" тел. 8 (8422) 270303


update 2: Запись разговора с техподдержкой (прошу прощения за ужасное качество).

update 3: Сильно удивлен всеобщим недоверием. Считаю, что лучшим вариантом, проливающим ясность на событие, был бы звонок самого Алексея или его представителя в техподдержку провайдера. Если «аудиозапись разговора с техподдержкой тоже не кажется очень убедительной», что мешает сделать самому такую же?

update 4: В связи с появившемся официальным комментарием директора компании «Телеком.ру» с изложением точки зрения об ошибке оператора, хочу заметить, что как минимум 2 различных представителя службы техподдержки указывали на то, что причина блокировки крылась в запросе ФСБ.

У меня нет желания идти в противоречие с мнением директора, а доношу лишь известные мне факты.
Читать дальше →
Всего голосов 348: ↑292 и ↓56+236
Просмотры553
Комментарии 257

Ускорение загрузки Windows for fun and profit

Разработка под Windows
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Всего голосов 532: ↑516 и ↓16+500
Просмотры448K
Комментарии 363

Пробежки: хороший спорт для айтишника или как начать бегать

Здоровье
Всем известно что IT специалисты, в большистве своём, ведут сидячий образ жизни. Практически все рабочее время они проводят на своей 5-й точке. Это явно не идёт на пользу здоровью. А если учесть тот факт, что рацион среднестатистического ITшника достаточно вреден для организма, то в результате всех ждут: избыточный вес, атрофирование мышц, и еще всякие «мелкие неприятности» (вроде геморроя и импотенции). В этой статье я раскажу о пользе регулярных физических нагрузок, о беге трусцой, чем он хорош, и главное — как начать им заниматься.

Регулярные физические нагрузки нужны и полезны. Среднестатистический ITшник недополучает физических нагрузок на работе, это факт. Он не таскает холодильники на 9й этаж без лифта, не носит мешки с цементом на стройке, не бегает за мамонтом в надежде на вкусный ужин. Так что со временем он только «хиляет» и «сдувается». Думаю, это ощущает каждый, кто еще не занимается спортом по какой-либо причине, будь то нехватка времени, лень, или растеряность. Если же желание всё же возникает, то вместе с ним возникает и вопрос — какой же спорт выбрать?
П.С. Регулярный бег позволяет эффективно сбросить вес.
Читать дальше →
Всего голосов 254: ↑216 и ↓38+178
Просмотры14K
Комментарии 272

10 приемов для работы с YouTube

Чулан
1. Просмотр видео в высоком качестве.
YouTube позволяет просматривать видео в HD-формате, если этот формат доступен для выбранного ролика. Чтобы проверить, существует ли данный ролик в высококачественном формате, нужно добавить к адресу ‘&fmt=18′ (стерео, разрешение 480 x 270) или ‘&fmt=22′ (стерео, разрешение 1280 x 720)

2. Встраивание высококачественного видео.
Вышеописанный прием касается воспроизведения. Если вы хотите встроить HD-видео на страницу, вам надо добавить ‘&ap=%2526fmt%3D18′ или ‘&ap=%2526fmt%3D22′ cоотвественно к адресу встраивания (embed).

3. Перемотка к нужной части.
Хотите, чтобы нужное видео начиналось в нужный момент (например, если вы знаете, что нужный эпизод начинается в 03:22). Все, что нужно сделать – это добавить к адресу видео #t=03m22s (#t=XXmYYs для XX мин. и YY сек.).

4. Скрывание поля поиска.
Поисковое поле появляется при проведении курсором над встроенным видео. Чтобы скрыть его, добавьте к адресу ‘&showsearch=0′.

5. Встраивание части видеоролика.
Добавьте к адресу ‘&start=30′, чтобы пропустить (перемотать) 30 секунд. Т.е. вставьте нужную цифру в секундах после start=, чтобы перемотать к нужной части.

6. Автопроигрывание видео.
Обычно встроенное видео после загрузки не начинает проигрывать автоматически, ожидая, когда пользователь нажмет кнопку “Play”. Чтобы запустить автопроигрывание ролика после загрузки, добавьте ‘&autoplay=1′ к адресу.

7. Автоповтор.
Для автоматического переигрывания (повтора) ролика, добавьте к адресу ‘&loop=1′.

8. Отключение похожих видео.
Если Вы публикуете контент в форме YouTube-роликов и не хотите отображения похожих (т.е. в некотором роде конкурирующих) видео, добавьте к адресу ‘&rel=0′ – это отключит функционал предложенных похожих видео.

9. Отключение региональной фильтрации.
Некоторые ролики доступны только в определенных странах мира. Для определения местоположения пользователя (и, таким образом, разрешения или отказа в доступе к ролику) используется его IP. Чтобы обойти эту ситуацию, измените адрес с www.youtube.com/watch?v=<код_видео> на www.youtube.com/v<код_видео>.

10. Скачка видео.
Не совсем YouTube-прием, но все же имеющий к нему отношение. Чтобы скачать нужный ролик, замените в адресе youtube на kickyoutube – вас перенаправит на KickYouTube с сохранением всех опций ролика.
Похожий функционал доступен и на KeepHD – замените в адресе youtube на keephd, чтобы скачивать HD-видео.

Автор оригинальной статьи: Varun Kashyap
Всего голосов 66: ↑48 и ↓18+30
Просмотры2.1K
Комментарии 9

Автоматически убираем фон у сфотографированного текста в Photoshop или ImageMagick

Чулан
Хочу поделиться трюком, который немного помогает улучшить качество при печати в ч/б всякого рода конспектов, если их почему-то «оцифровали» фотоаппаратом вместо сканера.
image
Читать дальше →
Всего голосов 70: ↑56 и ↓14+42
Просмотры975
Комментарии 25

Собираем среду разработки сайтов на Маке

Чулан
Хотелось бы дать небольшую наводку маководам, как установить себе окружение для локальной разработки сайтов. В данном примере рассматривается установка с MacPorts набора Apache+PHP+MySQL+phpMyAdmin. Сразу скажу, что я данный топик не является детальным и отлаженным руководством по установке и у кого-то что-то может не получиться, поэтому сделаю ссылку на готовые и отработанные решения — продукт MAMP и руководство по установке, на которое ссылается php.net.
Среда в которой выполнялась установка: Mac Mini, OS X 10.4.
Итак, ставим среду разработки на Мак:
  1. Устанавливаем MacPorts.
  2. Устанавливаем Apache.
    Вводим в терминале:
    sudo port install apache2
    Пароль, который спросят — ваш маковский пароль
    Первоначально я хотел поставить апач 1.3, но связать его с php5 с ходу не получилось, поэтому поставил второй.
    Запускаем:
    sudo /opt/local/apache2/bin/apachectl start
    Проверка: смотрим в браузере localhost
  3. Устанавливаем PHP с поддержкой MySQL:
    sudo port install php5 +mysql5
    sudo cp /opt/local/etc/php.ini-dist /opt/local/etc/php.ini
  4. Добавляем модуль PHP в Apache
    sudo /opt/local/apache2/bin/apxs -a -e -n «php5» /opt/local/apache2/modules/libphp5.so
    Вставляем содержание /apache2/conf/extras-conf/mod_php.conf в /apache2/conf/httpd.conf ручками или инклудом в том же httpd.conf.
    Добавляем index.php в индексные файлы.
    Перезапускаем апач:
    sudo /opt/local/apache2/bin/apachectl restart
    Проверка: создаём test.php в /opt/local/apache2/htdocs/ с содержанием <?php phpinfo() ?> и проверяем его по адресу localhost/test.php
  5. Устанавливаем MySQL:
    sudo port install mysql5 +server
    Даём права пользователю mysql на /opt/local/var/db/ и вложения в неё. Я делал через Finder, наверное можно и через терминал.
    Устанавливаем БД:
    sudo /opt/local/bin/mysql_install_db5 -user root
    Запусаем демона:
    sudo /opt/local/libexec/mysqld -u root
  6. Устанавливаем phpmyadmin:
    sudo port install phpmyadmin
    Заходим на localhost/pma/setup/index.php
    Устанавливаем новый сервер localhost без пароля
    Заходим в phpmyadmin под root


К сожалению автоматический запуск MySQL и Apache, как это обещал MacPorts у меня не заработал, поэтому запускаю ручками:
$ sudo /opt/local/apache2/bin/apachectl start
$ sudo /opt/local/libexec/mysqld -u root
Данная проблема с MacPorts уже описывалась на Хабре и были найдены какие-то решения.
Всего голосов 23: ↑12 и ↓11+1
Просмотры561
Комментарии 8

Вардрайвинг, сбор информации о беспроводных сетях

Чулан
Сбор информации о беспроводных сетях или wardriving (в зависимости от способа передвижения, это может быть и warwalking, и warflying, и, как было продемонстрировано на BlackHat 2008 — warbalooning) занятие очень увлекательное и при этом предоставляющее богатые статистические данные об уровне защищености беспроводных сетей по городу.

Читать дальше
Всего голосов 22: ↑20 и ↓2+18
Просмотры9K
Комментарии 14

BitTorrent Tracker based on Django

Чулан
Как то захотелось поставить себе персональный трекер для того чтобы публиковать большие файлы. Те существующие трекеры, которые я нашел, меня не удовлетворили, и я тогда решил написать свой, да и повод нашелся все таки изучить Django.
В общем встречайте, SimpleBTT.
Часть концепции взял у tokyotosho.com и nyaatorrents.org

В общем смотрите, критикуйте, вносите предложения.
Собственно сам трекер
Исходники на git GPLv3

P.S. Упреждая вопрос, на самом деле трекеры на джанго уже есть, но все таки свой велосипед удобнее.
P.S.S. Грабить корованы оно не будет.
Всего голосов 15: ↑15 и ↓0+15
Просмотры343
Комментарии 5

Бекапим сервер

Чулан
Нередкая это задача, но делается довольно просто!

Приступим:

1) бэкап мускула

Для этого есть очень хорошая утилитка “mysqldump”, она входит в состав мускула. (если вы юзаете lampp то она лежит в “/opt/lampp/bin/mysqldump”)

Вобщем набиваем в консоли примерно следующее:
mysqldump –all-databases > /mysql.12.12.2008.dump


эта команда забекапит все базы данных в файл “mysql.12.12.2008.dump” в корне! на самом деле пишем любой удобный путь! Если вы не рут то нужно указать логин/пароль с помощю –user логин –password пароль

Приготовьтесь, это может занять серьёзное количество времени если бд приличного размера.

Фишка может не работать, если в какой-нибудь из бд есть ошибки…

Кстати говоря можно подойти к проблеме немного подругому и не бекапить все базы, а каждую отдельно, плюс если в какойто из них есть ошибки то мы узнаем в какой, делается так:
Читать дальше →
Всего голосов 17: ↑11 и ↓6+5
Просмотры778
Комментарии 19

Информация

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