Search
Write a publication
Pull to refresh
@nikitasiusread⁠-⁠only

Java разработчик, SQL фетишист и фанат nginx

Send message

NetPing: конструктор для администратора и досуг для программиста

Reading time10 min
Views65K


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

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

Речь пойдет про устройства NetPing. Эта российская разработка периодически упоминается на хабре, но детального рассказа я не встречал. Пусть эта статья будет продолжением серии «Оборудование российского производства». Мне достался самый универсальный прибор линейки – UniPing RS-232. Основная сфера его применения – удаленный мониторинг и управление множеством устройств в квартире, доме, офисе. Конечно, давно существует понятие «умный дом», но, как правило, это преподносится как вариант для состоятельных людей, хотя получают они черный ящик с жестко заданным, пусть и большим, набором функций. Однако, можно ведь все собрать и запрограммировать самому!

Интересно?

Какие бывают типы OutOfMemoryError или из каких частей состоит память java процесса

Reading time3 min
Views209K
Если вы словили OutOfMemoryError, то это вовсе не значит, что ваше приложение создает много объектов, которые не могут почиститься сборщиком мусора и заполняют всю память, выделенную вами с помощью параметра -Xmx. Я, как минимум, могу придумать два других случая, когда вы можете увидеть эту ошибку. Дело в том, что память java процесса не ограничивается областью -Xmx, где ваше приложение программно создает объекты.

image

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

nginx, memcached и SSI

Reading time3 min
Views19K
Моя первая статья, не судите строго...

Приветствую вас, уважаемые хабрадевелоперы!

Многие из вас знают о прекрасном легковесном веб-сервере nginx.
Некоторые также знают, что он умеет работать с memcached.
Но лишь немногие в курсе, при чём здесь SSI и как его можно использовать в связке с nginx и memcached.

Как известно, новое — это хорошо забытое старое. Каждый названный инструмент и технология вам наверняка известны. Я же хочу рассказать о том, как и зачем свалить всё это в одну кучу :)
Читать дальше →

Яндекс.Деньги слили информацию о сторонниках Навального органам

Reading time2 min
Views17K
В сети появились жалобы сторонников Навального, на то, что их обзванивают коммисары движения Наши и спрашивают зачем они поддержали Навального. Резонный вопрос, как к Нашим попали контактные данные и номера телефонов сторонников Навального, которые перечисляли через Яндекс.Деньги сердства на поддержку проекта Роспил?

жалобы:
nykolaich.livejournal.com/72274.html
gunlinux.org/%D0%BD%D0%B0%D1%88%D0%B8-%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B8%D0%BD%D0%B3-%D0%B8%D0%B7-%D0%B7%D0%B0-%D0%BD%D0%B0%D0%B2%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE
www.forum.mista.ru/topic.php?id=545355&page=1

апдейт:
Навальный у себя в твиттере:
мы знаем откуда утечка. я напишу об этом после майских. Точно не из РосПила, у нас таких данных нет.


апдейт2:

комментарии Яндекс.Денег с роема
Читать дальше →

Fullmetal NAS

Reading time5 min
Views12K


Предыстория

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

Ну на atom’e я ничего не собирался собирать, так как у меня его банально нет. Я предпочёл второй вариант, он подходил мне больше, но у меня нет такого туалета, куда бы все это поместить и был придуман вариант немного другой.

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

FreeBSD 8.2, Samba 3.4, Active Directory и кириллические логины

Reading time5 min
Views8.9K
В нашей компании давно и успешно работает такая связка: Samba 3.x, установленная на FreeBSD (6.x или 7.x), для доступа к шарам использует аутентификацию пользователей в домене Active Directory. Все клиенты – Windows XP и выше. Домен AD – Windows 2003.
Все было хорошо, пока один из серверов FreeBSD не был обновлен до версии 8.2. После обновления пользователи с кириллическими логинами не смогли получить доступ к расшаренным ресурсам этого сервера. В то же время пользователи с логинами в латинице нормально аутентифицировались. Команды wbinfo -u и wbinfo -g как и положено показывали всех пользователей и группы AD, включая кириллические. Другой сервер FreeBSD 7.3 с такой же версией Samba – 3.4.9 и с таким же конфигом работал нормально с любыми логинами.
Читать дальше →

Хорошая новость для тех, кому нужен HPC, HA и просто SSI-кластер, наконец

Reading time1 min
Views9.1K
У меня для вас есть хорошая новость. Кажется, я сегодня уломал отцов Kerrighed дебианизировать свои труды.

Что это означает для нас, для обычных людей? У вас есть компьютер, где стоит Ubuntu или ещё какой-то Дебиан-подобный Linux? Назовём его Компьютер №1. На нём вы сможете сделать что-то обычное, типа

apt-get install kerrighed-kernel...

ну, вероятно, придётся уж потратить и пару минут на конфигурацию. Далее, перезагрузив Ubuntu, вы увидите новоиспечённое ядро в grub-меню. Выбираете и попадаете в обычную Ubuntu с одним необычным свойством, назовём его "SSI with DRBL"…

Что за зверь «SSI with DRBL»?

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

Трансляция WiFi на пустых телечастотах

Reading time2 min
Views4K

Слева направо: УКВ-фильтр, конвертер, материнская плата ПК и карта WiFi, блок питания

Американский студент Райан Гуерра (Ryan Guerra) соорудил работающее устройство для трансляции WiFi-сигнала на расстояние более 1600 м.

Самодельная конструкция (на фото вверху) состоит из стандартной карты WiFi, компьютера под Linux и экспериментального конвертера Alcatel Lucent, который понижает частоту с 2,4 ГГц (ширина канала 20 МГц) до 563 МГц (неиспользуемый канал ТВ, ширина 5 МГц). На выходе к конвертеру подключена обычная ТВ-антенна, которую можно установить снаружи дома.
Читать дальше →

Книга о мухах за $23,698,655.93

Reading time3 min
Views16K
Несколько недель назад один доктор из моей лаборатории зашёл на Амазон чтобы купить копию книги Питера Лоуренса The Making of a Fly — классический труд по биологии развития, с которым мы — и другие биологи, работающие с дрозофилами — сверяемся регулярно. Книга, вышедшая в 1992 году, уже не переиздаётся. Но на Амазоне было в продаже 17 копий: 15 использованных от $35.54 и две новых, от $1,730,045.91 (+$3.99 за доставку).
Полтора миллиона долларов за книгу о мухах?

Захват видео с сетевых камер, часть 2

Reading time19 min
Views262K

В первой своей статье «измерение расстояния до объекта и его скорости» я рассмотрел захват изображений с веб-камер через Video4Linux2 и через DirectX. В следующей статье «захват видео с сетевых камер, часть 1» я рассмотрел как работать с сетевыми Motion-JPEG камерами. Сейчас я поведаю Вам о захвате изображений с сетевых RTSP камер, в частности поток Motion-JPEG по RTSP.

Задача эта более сложная нежели Motion-JPEG по HTTP, так как необходимо больше действий, больше подключений, но взамен мы получаем большую гибкость, скорость, функциональность и даже некую универсальность. Честно говоря, RTSP для простых задач избыточен, но я не сомневаюсь, что найдутся ситуации, где он будет необходим.

Приступим

Настройка и оптимизация MySQL сервера

Reading time9 min
Views317K
В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
Читать дальше →

nginx — строим свой letitbit

Reading time2 min
Views5.2K
Появилось желание сделать сервис подобный letitbit.net в отдельно взятой стране на окраине Европы.
Требовалось:
  • позволять загружать/отдавать большие файлы;
  • не позволять перепубликовывать прямые ссылки на файлы;
  • ограничивать количество одновременно скачиваемых файлов.

Для реализации выбрали NGINX в связке с PHP через fastcgi.
В NGINX добавили:
  1. великолепный Nginx upload module, который позволяет избежать многократное копирование загруженного файла на пути NGINX-PHP. К тому же, при небольшой доработке, возможна загрузка сразу в нужную папку, что позволяет использовать простое переименование вместо копирования в PHP
  2. нужную заплатку к модулю secure_link, позволяющую делать безопасные ссылки действительными ограниченное время

PHP взяли самый обычный и запустили через spawn-fcgi.
Поставили сервачок, напихали туда штук 12 терабайтных дисков.
Программист написал PHP код, а Марис Рускулис придумал следующий трюк с rewrite для NGINX, позволяющий избежать обращение к PHP при скачивании файла.
В результате, конфигурация NGINX выглядела примерно так:
http {
limit_zone regular $zonekey 10m;
limit_zone premium $zonekey 10m;
server {
root /www/oursiteishere;
location / { try_files $uri @files; }
location ~ \.php$ { try_files $uri @files; fastcgi_stuff_here; }
location @files { rewrite ^(.*)$ /index.php?$1 last; }
location /storage/ { root /storages/; internal; }
# Location for regular users
location ~ /download/.+/(.+)/0/.+/.*/(.+)$ {
set $fname $2;
set $username $1;
set $zonekey "$binary_remote_addr $username";
limit_conn regular 1;
limit_rate '100k';
secure_link_secret megasecret;
secure_link_ttl on;
if ($secure_link = "") { return 403; }
add_header Content-Disposition "attachment; filename*=UTF-8''$fname";
rewrite ^/download/([a-f0-9]+)/([\.~0-9a-zA-Z_]+)/([01])/([0-9]+)/(.+)/.+$ /storage/$4/$5 break;
}
# Location for premium users
# Location for upload using upload module
}
}

Замечательной вещью в данном конфиге является тот факт, что при скачивании файла по сгенерированной защищённой от подмены временной ссылке (проверку осуществляет secure_link) не вызывается PHP с последующим X-Accel-Redirect.
Возможно, данное решение накладывает ограничение на присутствие логики перед непосредственной отдачей файла, но тем не менее, на мой взгляд, является довольно оригинальным трюком, позволяющим немного сэкономить на fastcgi.

Оповещение при подключении к SSH

Reading time2 min
Views21K
По результатам этого вопроса.

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

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

Разработка видеохостинга на Erlang

Reading time12 min
Views19K
Представляем вашему вниманию доклад Максима Лапшина, сделанный им на конференции Application Developer Days. Мы собрали воедино видео и аудио, слайды презентации, а также стенограмму доклада. Последнее потребовало огромных усилий, но оно явно того стоит. Сорокаминутный доклад можно «услышать» в несколько раз быстрее.

Свел видео и презентацию в единый ролик, а также записал стенограмму Стас Фомин (человек и пароход локомотив :)).
Читать дальше →

Базовые рекомендации для повышения безопасности *nix веб-сервера

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

Не nginx`ом единым…

Reading time1 min
Views920
12 апреля уже позади, как и релиз 1.0 версии nginx`а ) Вспоминал времена «до» nginx`а. Соответственно, на моём опыте. Апач в то время уже не очень рулил, а если и рулил, то обрезанный, без всяких реврайтов и htaccess`ов. И вдруг вспомнил замечательный сервер 0w (ZeroWait), от создателя счётчиков ракса (ныне ли.ру), Максима Зотова. Вроде как работа над сервером завершилась 3 года назад, но вот что интересно. Как и nginx, 0w не стремился к мажорным цифрам и релизам. Приятно ведь ) приятно что у нас такие разработчики. И ведь посмотрите. Самый быстрый веб сервер — русский. Реализация fastcgi для php — русская. Самый быстрый шаблонизатор, Blitz — русский.
Вот до чего доводит голод и отсутсвие железных ресурсов русских разработчиков…

Мой опыт открытия бесплатного хостинга

Reading time2 min
Views5.7K
Два с половиной года назад я открыл бесплатный хостинг.

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

Обычно, бесплатный хостинг создаётся по следующим бизнес-моделям:
— Заработок средств на размещении рекламы и платных дополнительных услугах (пример: ucoz.ru).
— Привлечение клиентов на свой же платный хостинг (пример: jino-net.ru)
Читать дальше →

GZip и nginx: влияние на производительность

Reading time2 min
Views36K
Добрый день. Недавно меня заинтересовал модуль ngx_http_gzip_static_module, и я решил погонять мой домашний сервер немного с разными настройками сжатия nginx, чтобы убедится, действительно ли современные процессоры настолько быстрые, что можно ставить сжатие в 9-тку и не париться. В качестве подопытного файла выступала слитая главная страница lenta.ru – 170кб. Во время тестирования обнаружилась интересная особенность, которая изменила мои взгляды на выбор количества процессов nginx.
Читать дальше →

Information

Rating
Does not participate
Location
Франция
Registered
Activity