В реализации системного вызова ptrace выявлена уязвимость CVE-2014-4699, позволяющая поднять свои привилегии в системе либо вызвать панику ядра. Уязвимость проявляется только на архитектуре x86_64 при использовании некоторых моделей Intel процессоров. Проблема проявляется начиная с ядра 2.6.17, но техника эксплуатации для разных выпусков может отличаться. Для проверки наличия уязвимости опубликован рабочий прототип эксплоита. Внимание, тестировать только на виртуалках))))
l0rda @l0rda
User
Проектировние интернет-магазина: субституты, комплементы, сравнение и другие инструменты увеличения конверсии
18 min
21KTutorial
Новая статья по проектированию интернет-магазинов, на этот раз описана механика ряда блоков, которые увеличивают конверсию. В этой части мы расскажем про субституты, комплементы, сравнение и другие инструменты увеличения конверсии. В прошлый раз мы осветили несколько десятков функциональных блоков магазинов: «Проектирование интернет-магазина: исследования», «Проектирование интернет-магазина: модули интернет-магазина» и «Проектирование интернет-магазина: карточка товара и не только» эта статья логическое продолжение.


+18
Canary: умная система безопасности для дома
3 min
25K
Систем безопасности для дома существует огромное количество, есть продвинутые системы, есть очень продвинутые, а есть — простые и очень простые.
Система Canary выделяется из ряда себе подобных, в первую очередь тем, что ее действительно можно назвать «умной» — реагирует она не только на разного рода события, типа открытие/закрытие дверей, но и на необычные сигналы, например, необычное время открытия двери в квартиру.
+23
Мультитест мультиварок: что купить IT-шнику, если хочется плова и борща
33 min
176KНам неоднократно поступали предложения о тестировании мультиварок, но до определенного времени мы от них отказывались — ну что такого можно рассказать о мультиварке. Однако, предложения продолжали поступать, и примерно после 5-6 письма редакция Box Overview задумалась, и решили сделать не просто тест одной мультиварки, а глобальное тест-сравнение 8 мультиварок нижнего ценового сегмента от разных брендов.

В нашем тесте участвуют 8 мультиварок от компаний Vitek (VT-4209), Kitfort (KT-201), Scarlett (SL-MC411S01), Polaris (PMC 0527D), Rolsen (RMC-5500D), Redmond (RMC-250), Philips (HD2173) и Panasonic (SR-MHS181).
Мы не будем рассказывать вам о дизайне — его можно посмотреть на фотографиях, не будем уточнять наличие контейнера для сбора конденсата — в него он попадает лишь в редких случаях, мы не будем говорить о «эффекте русской печи» и прочей маркетинговой шелухе, которую так любят продавцы.
Мы расскажем о более интересных вещах — об удобстве управления, о качестве рецептов из комплекта, о физической и химической стороне процесса приготовления, о типах антипригарных покрытий, о реальном, а не маркетинговом функционале и о том, что у мультиварок внутри.

В нашем тесте участвуют 8 мультиварок от компаний Vitek (VT-4209), Kitfort (KT-201), Scarlett (SL-MC411S01), Polaris (PMC 0527D), Rolsen (RMC-5500D), Redmond (RMC-250), Philips (HD2173) и Panasonic (SR-MHS181).
Мы не будем рассказывать вам о дизайне — его можно посмотреть на фотографиях, не будем уточнять наличие контейнера для сбора конденсата — в него он попадает лишь в редких случаях, мы не будем говорить о «эффекте русской печи» и прочей маркетинговой шелухе, которую так любят продавцы.
Мы расскажем о более интересных вещах — об удобстве управления, о качестве рецептов из комплекта, о физической и химической стороне процесса приготовления, о типах антипригарных покрытий, о реальном, а не маркетинговом функционале и о том, что у мультиварок внутри.
+343
Десятимиллионный скрипт резервного копирования
10 min
47KTutorial

Это статья-мануал по скрипту резервного копирования, написанному мной. Скрипт написан на python для Linux. Кому интересно прошу под хабракат.
+39
+2
Python Party в Москве
2 min
1.8KПривет, мы решили собраться в ещё одно Python-сообщество в Москве. Точнее, их у нас не так много (ребята из Moscow Django Meetup, молодцы). Первая встреча пройдёт в офисе компании Яндекс, 19 июля (суббота) в 12.00.
11.30-12.00 Регистрация участников
12:00 «Python сегодня», Николай Марков (Mirantis)
12:45 «Python в ядре Яндекс.Диска», Сергей Иващенко, Яндекс
13:30 Перерыв
Программа мероприятия:
11.30-12.00 Регистрация участников
12:00 «Python сегодня», Николай Марков (Mirantis)
Говорят, чтобы «быть в тренде», надо следить за новостями в мире. Это касается не только моды, но и сферы IT.
Я проведу краткий экскурс в то, что сейчас происходит во вселенной Python, какие интересные темы можно в ней найти и куда копать, если хочется что-то сделать на Python, но сложно выбрать, что именно.
12:45 «Python в ядре Яндекс.Диска», Сергей Иващенко, Яндекс
Я расскажу о том, как мы используем Python в Яндекс.Диске, какие применяем библиотеки и фреймворки, какие задачи решаем и с какими проблемами сталкиваемся. Также затрону тему логирования и обработки асинхронных операций.
13:30 Перерыв
+6
Апшифтинг для программиста в Таиланде
16 min
115KСудя по коментам, статья «Дауншифтинг для программиста? Камбоджа, опыт выживания и опыт жизни» вызвала интерес Хабрасообщества и захотелось поделиться своим опытом.
Наверное, многим поступок «бросить все и уехать жить в ЮВА» кажется безрассудным, и даже опасным. Среди нас, айтишников, много основательных людей, педантичных к мелочам и желающих просчитывать каждый шаг, каждую мелочь, знать все риски, планировать каждую деталь своей жизни. Я тоже являюсь таким человеком, даже сказал бы что «грешу» этим намного выше среднего. Еще до отъезда в тай, все это вызывало у меня подсознательный страх: бросить хорошую работу, оставить родных, друзей и уехать без обратного билета. Это выходило за рамки моего состояния комфорта и множилось непониманием близких родственников. Однако, вся затея оказалась совершенно не страшной, как я себе представлял изначально, и вот уже почти год мы с женой комфортно живем в тае. О различных аспектах постоянной жизни здесь, понимание которых могло бы помочь вам избавиться от подобных страхов, я и хочу написать.
Наверное, многим поступок «бросить все и уехать жить в ЮВА» кажется безрассудным, и даже опасным. Среди нас, айтишников, много основательных людей, педантичных к мелочам и желающих просчитывать каждый шаг, каждую мелочь, знать все риски, планировать каждую деталь своей жизни. Я тоже являюсь таким человеком, даже сказал бы что «грешу» этим намного выше среднего. Еще до отъезда в тай, все это вызывало у меня подсознательный страх: бросить хорошую работу, оставить родных, друзей и уехать без обратного билета. Это выходило за рамки моего состояния комфорта и множилось непониманием близких родственников. Однако, вся затея оказалась совершенно не страшной, как я себе представлял изначально, и вот уже почти год мы с женой комфортно живем в тае. О различных аспектах постоянной жизни здесь, понимание которых могло бы помочь вам избавиться от подобных страхов, я и хочу написать.
+75
Возможности метатаблиц в Lua на примере реализации классов
7 min
28KTutorial
В Lua ООП нет. И оно, в общем-то и не нужно: удобной модульности и функций первого класса достаточно для реализации многих вещей. На этом можно было бы и закончить, но пост не про это. В данном случае я распишу работу с метатаблицами, где в качестве примера шаг за шагом будет реализовываться системка по работе с классами в несколько таком python-стиле. Для понимания нужен хотя бы основной базис языка: таблицы, upvalues.
+22
Простой Ethernet-туннель на Linux в четыре-шесть команд
2 min
94KTutorial
Краткая шпаргалка:
Четыре команды на туннель и две на firewall (не нужны если трафик между своими серверми уже разрешен)
Это всё что нужно, дальше длинное объяснение с подробностями.
HOST1: ip link add grelan type gretap local <IP1> remote <IP2>
HOST1: ip link set grelan up
HOST1: iptables -I INPUT -p gre -s <IP2> -j ACCEPT
HOST2: ip link add grelan type gretap local <IP2> remote <IP1>
HOST2: ip link set grelan up
HOST2: iptables -I INPUT -p gre -s <IP1> -j ACCEPT
Четыре команды на туннель и две на firewall (не нужны если трафик между своими серверми уже разрешен)
Это всё что нужно, дальше длинное объяснение с подробностями.
+36
Несколько интересностей и полезностей для веб-разработчика #19
4 min
54KДоброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Библиотека позволяет создавать великолепные многоуровневые/масштабируемые кроссплатформенные графики и диаграммы с моментальным перерендерингом при пользовательском взаимодействии. За процесс визуализации отвечает знаменитая d3.js, а за анализ многомерных наборов данных crossfilter.js. Кстати кроссфильтр — проект небезызвестной компании Square.
DC.js

Библиотека позволяет создавать великолепные многоуровневые/масштабируемые кроссплатформенные графики и диаграммы с моментальным перерендерингом при пользовательском взаимодействии. За процесс визуализации отвечает знаменитая d3.js, а за анализ многомерных наборов данных crossfilter.js. Кстати кроссфильтр — проект небезызвестной компании Square.
chart.renderlet(function(chart){
// smooth the rendering through event throttling
dc.events.trigger(function(){
// focus some other chart to the range selected by user on this chart
someOtherChart.focus(chart.filter());
});
})
+195
MongoDB Sharded Cluster на Centos 6.5
8 min
21KВ этой статье мы рассмотрим только конфигурацию MongoDB, не затрагивая вопросы подключения репозитория монги и установки пакетов в систему.
Распределенный кластер MongoDB состоит из следующих компонентов:
Шард
Шард — это инстанс mongod, который хранит часть данных шардированной коллекции. Для использования в production, каждый шард должен быть набором реплик (replicaSet).
Сервер конфигураций
Так же экземпляр mongod, который хранит метаданные кластера. Метаданные указывают какие данные хранятся на каком шарде.
Сервер маршрутизации
Экземпляр mongos. Его задача — маршрутизация запросов от приложений к шардам.
Ниже приведена схема работы шардированного кластера MongoDB

Распределенный кластер MongoDB состоит из следующих компонентов:
Шард
Шард — это инстанс mongod, который хранит часть данных шардированной коллекции. Для использования в production, каждый шард должен быть набором реплик (replicaSet).
Сервер конфигураций
Так же экземпляр mongod, который хранит метаданные кластера. Метаданные указывают какие данные хранятся на каком шарде.
Сервер маршрутизации
Экземпляр mongos. Его задача — маршрутизация запросов от приложений к шардам.
Ниже приведена схема работы шардированного кластера MongoDB

+6
Сравнение способов резервного копирования
11 min
112K
Подготовку нового сервера к работе следует начинать с настройки резервного копирования. Все, казалось бы, об этом знают — но порой даже опытные системные администраторы допускают непростительные ошибки. И дело здесь не только в том, что задачу настройки нового сервера нужно решать очень быстро, но еще и в том, что далеко не всегда бывает ясно, какой способ резервного копирования нужно использовать.
+21
«Правильное» ограничение скорости в Nginx. Миф или реальность?
3 min
35K
Вот уже много лет пользователей Nginx мучает один и тот же вопрос: «Как можно ограничить скорость в целом для IP адреса независимо от числа сессий (соединений)? Почему Nginx этого не умеет? Почему разработчики Nginx так упорно не хотят реализовать этот простой функционал?» И ответить мне им нечего, о чём думают разработчики Nginx — не понятно и известно, наверное, только господу богу.
Бороться с этим можно по разному, кто-то использует скрипты на подобие htb.init, кто-то пишет скрипты шейпинга самостоятельно и делится удачным опытом на Хабре, а некоторые и вовсе используют PHP для ограничения скорости отдачи файлов. Только представьте себе, каким будет оверхед и расход памяти, при использовании PHP в подобных целях.
+39
Отправка уведомлений Zabbix в скайп (звонки со скайпа — бонусом)
7 min
23K
Случилось так что в компании, из-за перебоев электропитания, несколько раз падали сервера, а администраторы узнавали об этом только утром когда сотрудники не смогли приступить к работе.
Основной проблемой стало то, что все уведомления администраторам отправлялись по почте — которая, как можно с легкостью догадатся, тоже лягла.
Тогда у меня и зародилась идея — «А давайте админам звонить в критических ситуациях!»
За реализацией и скриптами — прошу под кат.
+20
Проблема с mongorestore между mongodb2.4 и mongodb2.6
1 min
4.4KВсем доброго времени суток!
Не так давно пересобрал world в gentoo, что повлекло обновление mongoDB. Запустил консольку, выполнил привычные
mongodump
и mongorestore
. Открываю свое приложение и вижу кучу ошибок о том, что часть коллекций не существуют. Перезапустил mongodump
, mongorestore
, проверяю список колекций и вижу, что из 50 коллекций существует только ~30. Начал разбираться и пришел к выводу, что проблема таилась в следующем: на сервере установлена mongodb2.4, а у меня установлена mongodb2.6. Первой мыслью было: быстро
+21
Что нового нас ожидает в Django 1.7
5 min
24KВ данном посте представлен обзор новшеств и особенностей популярного среди Python разработчиков фреймворка Django 1.7. Релиз позиционируется как сообществом, так и основными разработчиками — как наиболее значимый релиз, с момента выхода в свет Django 1.0.


+55
Пару слов о перехвате HTTP/HTTPS трафика iOS приложений
3 min
48KTutorial

+22
Sysdig — инструмент для диагностики Linux-систем
16 min
52K
Для сбора и анализа информации о системе в Linux используется целый набор утилит. Для диагностики каждого из компонентов системы используется отдельный диагностический инструмент.
+57
Reedy – Скорочтение, которое действительно можно использовать
Easy
9 min
245KCase

В последнее время наблюдается рост интереса к скорочтению на основе технологии RSVP. Однако большинство приложений и расширений на эту тему, при более близком знакомстве, увы, оказываются не очень удобны для ежедневного использования. А ведь в потенциале они могу помочь значительно экономить время и быстрее получать информацию. Мой друг OlegCherr решил доработать технологию, создав реализацию пригодную для постоянного использования, а я ему в этом помогаю. После двух месяцев постоянной практики чтения, тестирования, исследований и улучшений решил написать статью с разбором того, что получилось в результате, потому что результат, смею считать, будет интересен и другим. На текущий момент всё выполнено в виде расширения к браузеру Chrome и названо Reedy. Приложение под Android на подходе.
+189
Information
- Rating
- Does not participate
- Registered
- Activity