RSS
Pages: 1 ... 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... 133
[>] [Из песочницы] Tinkoff скомпрометировал данные о балансе карт своих клиентов
habra.16
habrabot(difrex,1) — All
2016-08-11 22:30:04


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

Заполняю себе спокойно поля, и тут случается неожиданное:

![][2]
[Читать дальше →][3]

[1]: https://www.tinkoff.ru/cardtocard/
[2]: https://habrastorage.org/getpro/habr/post_images/ee9/3d8/5f2/ee93d85f2afca8a0f8eea8ca64e5d230.jpg
[3]: https://habrahabr.ru/post/307628/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Создание бесконечного раннера на JavaScript, механика движения фона
habra.16
habrabot(difrex,1) — All
2016-08-12 20:30:04


Просматривая примеры разных игровых приложений и интересных решений я наткнулся на пример механики "типичного" раннера. Рассматривался там только принцип движения заднего фона с применением эффекта «параллакс», но эта идея натолкнула меня на некоторые мысли, о которых я и хотел бы рассказать ниже.


![image][1]
[Читать дальше →][2]

[1]: http://s1.uploadpics.ru/images/b16gxJlSwb.png
[2]: https://habrahabr.ru/post/307650/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сопроцессы: -что, -как, -зачем?
habra.16
habrabot(difrex,1) — All
2016-08-12 22:30:04


Многие пользователи _Bash_ знают о существании со-процессов, появившихся в 4-й версии _Bash'a_. Несколько меньшее количество знает о том, что сопроцессы в _Bash_ не какая-то новая фича, а древний функционал _KornShell'a_ появившийся ещё в реализации _ksh88_ в 1988 году. Ещё меньшее количество пользователей shell'ов умеющих сопроцессить знают синтаксис и помнят как это делать.
Вероятно, я отношусь к четвёртой группе — знающих о сопроцессах, периодически умеющих ими пользоваться но так и не понимающих «зачем?». Я говорю «периодически», так как иногда я освежаю в голове их синтаксис, но к тому моменту, когда мне кажется что «вот тот случай когда можно применить co-proc» я уже напрочь забываю о том как это делать.
Этой заметкой я хочу свести воедино синтаксисы для разных шеллов чтобы на случай, если таки придумаю зачем они мне нужны, я если и не вспомню как это делать, то по крайней мере, буду знать где это записано.
В заголовке статьи у нас 3 вопроса. Пойдём по порядку.

**Что?**
Что же такое co-process?
Со-процессинг — это одновременное выполнение двух процедур, одна из которых считывает вывод другой. Для его реализации необходимо предварительно запустить **фоновый** процесс выполняющий функционал **канала**. При запуске фонового процесса его _stdin_ и _stdout_ присваиваются каналам связанными с пользовательскими процессами. Соответственно, один канал для записи, второй для чтения.
Пояснять это проще на примерах, поэтому сразу перейдём ко второму вопросу.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/307562/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Процедурная генерация уровней для игр-головоломок
habra.16
habrabot(difrex,1) — All
2016-08-13 03:30:03


![][1]

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

Здорово было бы найти способ заставить компьютер сэкономить вам время и решить проблемы, о которых я сказал выше… И именно тут на помощь приходит процедурная генерация!
[Читать дальше →][2]

[1]: https://habrastorage.org/files/f84/88c/48f/f8488c48fb7a4fbf95ebaf3d778ba6da.jpg
[2]: https://habrahabr.ru/post/307672/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 32: проект Саурон, уязвимость в iOS, червь в PLC
habra.16
habrabot(difrex,1) — All
2016-08-13 14:00:04


![][1]Между тем уютным секьюрити дайджестам исполнился годик. Как быстро летит время! В выпуске за 32-ю неделю прошлого года я [писал][2] о дыре в Android, уязвимости в автомобилях концерна Fiat Chrysler и концепции Do Not Track 2.0. Что изменилось? Недостатка в новостях о безопасности я по-прежнему не испытываю, даже наоборот. Изменения к лучшему есть, но не везде, что как раз можно увидеть на примере этих трех давних сообщений.

Stagefright. С момента обнаружения уязвимости было выявлено еще [несколько][3] [связанных][4] с обработкой медиа, а недавно к ним [добавились][5] [серьезные][6] [дыры][7], затрагивающие в основном устройства на платформе Qualcomm. Такая большая работа над ошибками — хороший знак, тем более что в течение года начала решаться проблема доставкой патчей. Не на все устройства, и с переменным успехом у разных вендоров, но положительные сдвиги имеются.

Автобезопасность остается сложной темой. С одной стороны откровений уровня прошлогодней [новости][8] о беспроводном взломе авто не появилось, с другой — отсутствие громких разоблачений не говорит о безопасности. Скорее причина в закрытости автоиндустрии по отношению к независимым исследователям. Хорошая история по теме произошла на этой неделе: исследователи из университета Бирмингема [раскрыли][9] детали уязвимости штатной противоугонной системы, которая устанавливается на автомобили концерна Volkswagen аж с 1995 года. Перехватывать сигналы с беспроводного брелка такой системы оказалось весьма просто. Важно, что все данные были на руках у исследователей уже в 2013 году, но VW притормозил публикацию отчета судебным иском. Их тоже можно понять, но судя по косвенным данным, об уязвимости сигнализации не знала только общественность, а вот преступники пользуются ей уже давно. В таком раскладе владельцу авто лучше все-таки знать о потенциальной небезопасности штатной системы.
[Читать дальше →][10]

[1]: https://habrastorage.org/files/245/ea5/c59/245ea5c590e841a58595f48be6bcd368.jpg
[2]: https://habrahabr.ru/company/kaspersky/blog/264329/
[3]: https://threatpost.ru/stagefright-2-0-vulnerabilities-affect-1-billion-android-devices/12386/
[4]: https://threatpost.ru/monthly-android-security-update-patches-more-stagefright-vulnerabilities/13100/
[5]: https://threatpost.ru/android-qualcomm-vulnerability-impacts-60-percent-of-devices/16328/
[6]: https://threatpost.ru/google-patches-dozens-of-critical-qualcomm-components-flaws/17490/
[7]: https://threatpost.com/quadrooter-flaw-in-qualcomm-chips-puts-900m-android-devices-at-risk/119713/
[8]: https://threatpost.ru/car-hacking-gets-the-attention-of-detroit-and-washington/10187/
[9]: https://www.wired.com/2016/08/oh-good-new-hack-can-unlock-100-million-volkswagens/
[10]: https://habrahabr.ru/post/307662/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Петиция за отмену пакета Яровой набрала нужное количество голосов + опрос
habra.16
habrabot(difrex,1) — All
2016-08-14 01:00:04


![][1]

Спустя месяц _(и пару дней)_ [петиция ][2]за отмену пакета законов Яровой набрала нужное количество голосов на roi.ru

> Пакет яровой — набор резонансных законов которые вызвали широкое обусждение в сми и в интернете, одно из ключевх требований данного пакета —
> хранение трафика всех пользователей сети в течении долгого времени, причем за деньги провайдера.

Какой даст эффект данная петиция — неизвестно, но скорость сбора голосов под ней _(нужно учитывать трудоёмкость процесса)_ говорит о том, что огромное количество людей его не поддерживают. [][3]

[1]: https://habrastorage.org/files/5c0/c64/3ce/5c0c643ce8ec4a4091288d27a1fe5bf0.PNG
[2]: https://www.roi.ru/28432/
[3]: https://habrahabr.ru/post/307682/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Создание WebView приложения на базе AWS ApiGateway и AWS Lambda
habra.16
habrabot(difrex,1) — All
2016-08-14 14:30:03


За прошедший год существования на просторах сети накопилось большое количество туториалов по созданию serverless API на базе сабжа. В данной статье я хочу рассказать об еще одном варианте использования API Gateway, который в частности можно использовать в качестве backend для WebView приложения.
Осторожно, много скриншотов!

[Читать дальше →][1]

[1]: https://habrahabr.ru/post/307692/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Доработка парсера логов Squid для корректного просмотра посещенных HTTPS ресурсов
habra.16
habrabot(difrex,1) — All
2016-08-14 15:30:04


Всем привет! Я получал, и получаю множество писем от людей с вопросами по Squid, который работает на основе [моей ][1]статьи. Наиболее часто возникает вопрос про просмотр логов Squid каким-либо парсером. Проблема в том, что версия Squid 3.5.8 с настроенным прозрачным проксированием HTTPS логирует посещаемые HTTPS ресурсы не в виде доменных имен, а в виде IP адресов с портами (прим. 164.16.43.56:443). Соответственно, при просмотре статистики посещений вместо человеческой информации проскакивают эти самые IP адреса. Собирать статистику с такими данными довольно сложно. Я связывался с разработчиками Squid по этому поводу, но внятного ответа так и не получил. Единственное, что я выяснил, нормальное логирование работает в более новых версиях Squid, но на них прозрачное проксирование лично у меня так и не заработало должным образом. Поэтому возник вопрос о том, как сделать резолв IP адресов в самом парсере логов.
[Если интересно, идем под кат][2]

[1]: https://habrahabr.ru/post/267851/
[2]: https://habrahabr.ru/post/307686/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Как переменная может быть не равной её собственному значению
habra.16
habrabot(difrex,1) — All
2016-08-14 16:30:03


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

unsigned MAX_INT = 2147483647;

int hash_code(std::string x) {
int h = 13;
for (unsigned i = 0; i < 3; i++) {
h += h * 27752 + x[i];
}
if (h < 0) h += MAX_INT;
return h;
}
На некоторых строках, в частности, на строке «bye», и только на сервере (что интересно, на своем компьютере все было в порядке) функция возвращала отрицательное число. Но как же так, ведь в случае, если число отрицательное, к нему прибавится MAX\_INT и оно должно стать положительным.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/307702/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Что такое программная инженерия. Лекция в Яндексе
habra.16
habrabot(difrex,1) — All
2016-08-14 16:30:03


Кандидат технических наук МИЭМ, заместитель руководителя [департамента программной инженерии][1] факультета компьютерных наук НИУ ВШЭ и заместитель завкафедрой системного программирования ИСП РАН [Ефим Гринкруг][2] даёт свой ответ на вопрос о том, что такое программная инженерия.

Этому термину уже почти 50 лет — впервые его начали использовать в 1968 году. Дело в том, что именно тогда методы классической инженерии — например, разбиение на отдельные компоненты — стали всерьёз применяться в создании софта. Но почему они не применялись раньше, и какой новый смысл приобрело выражение «программная инженерия» в последние десятилетия?



Под катом — подробная расшифровка и слайды.
[Читать дальше →][3]

[1]: https://cs.hse.ru/dse/
[2]: https://www.hse.ru/org/persons/5487172
[3]: https://habrahabr.ru/post/307384/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Каламбуры типизации функций в C
habra.16
habrabot(difrex,1) — All
2016-08-15 00:00:04


У C репутация негибкого языка. Но вы знаете, что вы можете изменить порядок аргументов функции в C, если он вам не нравится?


#include
#include

double DoubleToTheInt(double base, int power) {
return pow(base, power);
}

int main() {
// приводим к указателю на функуцию с обратным порядком аргументов
double (*IntPowerOfDouble)(int, double) =
(double (*)(int, double))&DoubleToTheInt;

printf("(0.99)^100: %lf \n", DoubleToTheInt(0.99, 100));
printf("(0.99)^100: %lf \n", IntPowerOfDouble(100, 0.99));
}

Этот код на самом деле никогда не определяет функцию `IntPowerOfDouble` — потому что функции `IntPowerOfDouble` не существует. Это переменная, указывающая на `DoubleToTheInt`, но с типом, который говорит, что ему хочется, чтобы аргумент типа `int` шел перед аргументом типа `double`.



Вы могли бы ожидать, что `IntPowerOfDouble` примет аргументы в том же порядке, что и `DoubleToTheInt`, но приведет аргументы к другим типам, или что-то типа того. Но это не то, что происходит.



Попробуйте — вы увидите одинаковый результат в обоих строчках.


emiller@gibbon ~> clang something.c
emiller@gibbon ~> ./a.out
(0.99)^100: 0.366032
(0.99)^100: 0.366032 [Читать дальше →][1]

[1]: https://habrahabr.ru/post/307706/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Языковая проблема искусственного интеллекта
habra.16
habrabot(difrex,1) — All
2016-08-15 02:00:04


![image][1]Доводилось ли вам сталкиваться с системами искусственного интеллекта? Полагаем, ответ большинства хабравчан будет положительным. Ведь ИИ уже перестал быть «чем-то за гранью фантастики». Системы распознавания речи Siri, IBM Watson, ViaVoice, виртуальные игроки Deep Blue, AlphaGo и даже такие ранние системы, как MYCIN, разработанная в 1970-х годах в Стэнфордском университете и предназначенная для диагностирования бактерий, вызывающих тяжелые инфекции, а также для рекомендации необходимого количества антибиотиков — все это вариации на тему ИИ. Но, несмотря на то, что технологии стремительно набирают ход, современные системы все еще весьма «угловаты», и главная проблема, с которой сталкиваются исследователи, — это языковое обучение. Заставить систему говорить не сложно, но объяснить ей «физику» окружающего мира — то, что человек понимает на интуитивном уровне — пока не удавалось никому.

Тема языковой проблемы искусственного интеллекта широко раскрывается в статье Уилла Найта, главного редактора AI MIT Technology Review, которую специалисты [PayOnline][2], системы автоматизации приема онлайн-платежей, старательно перевели для пользователей Хабрахабра. Ниже представляем сам перевод.

Примерно в середине крайне напряженной игры в [Го][3], проходившей в южнокорейском Сеуле, участниками которой были один из лучших игроков всех времен Ли Седоль и созданный Google искусственный интеллект под названием AlphaGo, программа сделала загадочный шаг, продемонстрировавший пугающее преимущество над своим человеческим оппонентом.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/c41/fbd/12f/c41fbd12f9904b39bda436f6636eb3cb.PNG
[2]: http://payonline.ru/?utm_source=habrahabr&utm_medium=referral&utm_campaign=webpayments-main
[3]: https://ru.wikipedia.org/wiki/Го
[4]: https://habrahabr.ru/post/307666/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Cистематическая уязвимость сайтов, созданных на CMS 1С-Битрикс
habra.16
habrabot(difrex,1) — All
2016-08-15 11:00:04


Написать о систематических уязвимостях сайтов, созданных на коммерческих CMS, подтолкнул [пост][1], в котором были описаны риски взлома «защищенных» CMS.

В этой статье основное внимание уделяется компрометации ресурсов по причине «человеческого фактора», а тема эксплуатации уязвимостей сайтов и веб-атак была обойдена предположением существования «неуязвимых» CMS. Предположение о существовании «неуязвимых» CMS, возможно, имеет право на существование, как пример, безопасность готового интернет-магазина «из коробки» на CMS 1C-Битрикс очень высока, и найти более-менее серьезные уязвимости кода «коробочной версии» вряд ли удастся.

Другое дело безопасность конечного продукта, созданного на такой CMS, и самое главное, систематика проявления уязвимостей высокого уровня угроз у этих сайтов. Исходя из нашей практики по обеспечению безопасности сайтов (компания InSafety), а также статистики, которую мы собираем по уязвимостям платформ (CMS), не менее чем у пятидесяти процентов сайтов, созданных на платформе 1С-Битрикс c личными кабинетами пользователей, существует возможность эксплуатации хранимых XSS-атак.
[Подробности][2]

[1]: https://habrahabr.ru/company/bitrix/blog/305704/
[2]: https://habrahabr.ru/post/307734/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как на самом деле устроена торговля на бирже, и как ее можно улучшить: Простой алгоритм (часть 4)
habra.16
habrabot(difrex,1) — All
2016-08-15 12:00:03


[![][1]][2]

Продолжаем серию статей бывшего HFT-трейдера Марко Стуккио, в которых он на пальцах объясняет, как устроена высокочастотная торговля на бирже ([первая часть][3], [вторая часть][4], [третья часть][5]). Пришло время обелить HFT от обвинений в ответственности за краткосрочные сбои в работе финансовых рынков.

В 2012 году много писали о провале трейдерской компании с Уолл-Стрит Knight Capital (KCG). Фирма начала практиковаться в высокочастотной торговле и потерпела сокрушительную неудачу, потеряв $440 млн. и пошатнув веру инвесторов в HFT. Более подробно об этом можно почитать [здесь][6], [здесь][7] и [здесь][8]. Журналистам обычно некогда вникать в технические детали подобных историй. Но, как утверждает автор блога о HFT, причин для паники не было. Трейдерские системы надежны, если выстроены с умом. [Читать дальше →][9]

[1]: https://habrastorage.org/files/266/ec0/901/266ec0901bf1472f88b23accf6f5df6b.png
[2]: https://habrahabr.ru/company/itinvest/blog/307738/
[3]: https://habrahabr.ru/company/itinvest/blog/306392/
[4]: https://habrahabr.ru/company/itinvest/blog/307408/
[5]: https://habrahabr.ru/company/itinvest/blog/307588/
[6]: http://www.wired.com/2012/08/ff_wallstreet_trading/
[7]: http://www.nytimes.com/2012/08/04/opinion/nocera-frankenstein-takes-over-the-market.html?scp=1&sq=knight%20capital&st=Search
[8]: http://dealbook.nytimes.com/2012/08/03/trading-program-ran-amok-with-no-off-switch/?_r=0
[9]: https://habrahabr.ru/post/307738/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Контейнерная виртуализация: скоро будут стандарты
habra.16
habrabot(difrex,1) — All
2016-08-15 15:30:03


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

![image][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/a05/f4c/975/a05f4c97596e1605fe52fbc5ca237f8a.jpg
[2]: https://habrahabr.ru/post/307756/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Elixir: Как выглядит ООП в функциональном языке?
habra.16
habrabot(difrex,1) — All
2016-08-15 15:30:03


В последнее время участились статьи и обсуждения на тему прощания с ООП и поиски смысла, который Алан Кэй изначально вкладывал в это понятие.

**Несколько высказываний Кэя для тех, кто пропустил**
> I made up the term “object-oriented”, and I can tell you I didn't have C++ in mind

> OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things.

> I’m sorry that I long ago coined the term “objects” for this topic because it gets many people to focus on the lesser idea. The big idea is “messaging”.

> The key in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be.

> Late binding allows ideas learned late in project development to be reformulated into the project with exponentially less effort than traditional early binding systems (C, C++, Java, etc.)

> I’m not against types, but I don’t know of any type systems that aren’t a complete pain, so I still like dynamic typing.

В связи с этими обсуждениями, часто всплывает мысль о том, что Erlang/Elixir очень хорошо удовлетворяют критериям, которые Кэй предъявлял к понятию «объектно-ориентированный». Но далеко не все знакомы с этими языками, поэтому возникает непонимание как функциональные языки могут быть более объектно-ориентированными, чем популярные C++, Java, C#.

В этой статье я хочу на простом примере с [exercism.io][1] показать как выглядит ООП на Elixir.

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

В конце концов, вы должны быть в состоянии:

* Добавить имя школьника в класс
* Получить список всех школьников, обучающихся в классе
* Получить отсортированный список всех учащихся во всех классах. Классы должны быть отсортированы по возрастанию (1, 2, 3 и т.д.), а имена школьников — по алфавиту.

[Читать дальше →][2]

[1]: http://exercism.io/exercises/ruby/grade-school/readme
[2]: https://habrahabr.ru/post/307720/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Работа с фреймворком итеративной обработки графов Giraph на примере RBM
habra.16
habrabot(difrex,1) — All
2016-08-15 15:30:03


![][1]
[The Indifferent][2] by xetobyte

Всем привет. В [предыдущей статье][3] мы рассказали, как создавать свои приложения под фреймворк [Giraph][4] (надстройка над системой обработки данных Hadoop), и обещали подробно рассмотреть, как работать с Giraph, на примере алгоритма обучения Restricted Boltzmann Machine. Итак, в какой-то момент группа сегментации аудитории департамента рекламных технологий Mail.Ru Group столкнулась с необходимостью подобрать инструмент для быстрого анализа графов, и по целому ряду причин (читайте ниже) наше внимание привлекла система Apache Giraph.
[Читать дальше →][5]

[1]: https://habrastorage.org/files/bae/3a1/2c7/bae3a12c79d04b2580a72143b2f43a1c.jpg
[2]: http://xetobyte.deviantart.com/art/The-Indifferent-447733952
[3]: https://habrahabr.ru/company/mailru/blog/305924/
[4]: http://giraph.apache.org/
[5]: https://habrahabr.ru/post/306362/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Митап Haskell-программистов в «Лаборатории Касперского» (в смысле — ждем)
habra.16
habrabot(difrex,1) — All
2016-08-15 16:30:04


Полтора года назад адепты функционального программирования основали сообщество RuHaskell и с тех пор периодически собираются, и проводят митапы. Ну как периодически — уже два раза собирались. Мы тут, в «Лаборатории Касперского», вообще очень поддерживаем это начинание. Во-первых, потому что это интересно, во-вторых, потому что мы используем Haskell в процессе разработки наших решений, а в-третьих, потому что некоторые участники сообщества у нас работают. А потому мы решили собрать третий митап этого сообщества на нашей территории. 18 августа все заинтересованные могут прийти в наш московский офис (Ленинградское шоссе, д.39А, стр.2), послушать умных людей, обсудить Haskell, поделиться опытом, позадавать вопросы и пообщаться. Разумеется, предварительно следует зарегистрироваться вот на [этой страничке][1].

[![][2]][3]
[Читать дальше →][4]

[1]: https://laboratoriya-kasperskogo.timepad.ru/event/356321/
[2]: https://habrastorage.org/files/35c/d84/38d/35cd8438de0f42fab5828411a63cf0f5.png
[3]: https://habrahabr.ru/company/kaspersky/blog/307764/
[4]: https://habrahabr.ru/post/307764/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] В ожидании Linux версии: проверка кода графического редактора Inkscape
habra.16
habrabot(difrex,1) — All
2016-08-15 19:00:03


![][1]В этой статье речь пойдет о проверке еще одного известного open source проекта — векторного графического редактора Inkscape 0.92. Проект развивается уже более 12 лет и предоставляет множество возможностей по работе с различными форматами векторных иллюстраций. За это время его кодовая база выросла до 600 тысяч строк, и пришло время проверить его с помощью статического анализатора PVS-Studio.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/f2b/0f8/3c3/f2b0f83c3f3144998caf3ef3a1eab973.png
[2]: https://habrahabr.ru/post/307786/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Восстановление из резервной копии с помощью Veeam Agent for Linux
habra.16
habrabot(difrex,1) — All
2016-08-15 19:00:03


Конечная цель создания резервной копии – обеспечить возможность восстановления данных в случае сбоя, и сегодня я вкратце расскажу, как с этим способен справиться новый Veeam Agent for Linux. Возьмем в качестве «подопытного кролика» тот же бэкап, создание которого было описано [в предыдущем посте][1], и посмотрим, как из него можно восстановиться. За сим добро пожаловать под кат.

![][2]
[Читать дальше →][3]

[1]: https://habrahabr.ru/company/veeam/blog/306032/
[2]: https://habrastorage.org/files/4cf/92d/946/4cf92d946822477c9905fc1dbb13e90a.png
[3]: https://habrahabr.ru/post/307758/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Взлом Equation Group: файлы создателей Stuxnet, Duqu и Flame продаются на аукционе
habra.16
habrabot(difrex,1) — All
2016-08-15 20:30:03


![image][1]

Неизвестные выложили в открытый доступ часть наработок [state sponsored APT группы Equation][2], ответственной за проведение масштабных и технологически сложных кибератак, таких как Stuxnet, Duqu, Flame, Duqu2. Основная часть похищенных в ходе взлома наработок будет продана на специализированном аукционе.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/6b4/8c1/900/6b48c19000aa1dac7147c9a1e4b0e89c.jpg
[2]: https://defcon.ru/infosec-news/3416/
[3]: https://habrahabr.ru/post/307780/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Анализ трафика Android-приложений: обход certificate pinning без реверс-инжиниринга
habra.16
habrabot(difrex,1) — All
2016-08-15 20:30:03


Иногда нужно исследовать работу бэкенда мобильного приложения. Хорошо, если создатели приложения не заморачивались и все запросы уходят по «голому» HTTP. А что, если приложение для запросов использует HTTPS, и отказывается принимать сертификат вашего корневого удостоверяющего центра, который вы заботливо внедрили в хранилище операционной системы? Конечно, можно поискать запросы в декомпилированом приложении или с помощью реверс-инжиниринга вообще отключить применение шифрования, но хотелось бы способ попроще.

[Читать дальше →][1]

[1]: https://habrahabr.ru/post/307774/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Минуя бесконечность: t-тест своими руками
habra.16
habrabot(difrex,1) — All
2016-08-16 01:30:02


В этом посте речь пойдёт о реализации процедуры вычисления значения функции распределения Стьюдента без использования каких-либо специальных математических библиотек. Только Java (либо C/C++, код вполне универсален).

[Читать дальше →][1]

[1]: https://habrahabr.ru/post/307712/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Рекомендательные системы в онлайн-образовании. Продолжение
habra.16
habrabot(difrex,1) — All
2016-08-16 11:30:02


Мы продолжаем рассказывать об системе адаптивного обучения на Stepic.org. Первую вводную часть этой серии можно [почитать здесь][1].



В данной статье мы расскажем о построении рекомендательной системы (которая и лежит в основе адаптивности). Расскажем о сборе и обработке пользовательских данных, о графах переходов, хендлерах, оценке реакции пользователя, формировании выдачи.



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



![][2]

[Ну, поехали][3]

[1]: https://habrahabr.ru/company/stepic/blog/302702/
[2]: https://habrastorage.org/getpro/habr/post_images/85f/550/7e6/85f5507e6ada32e72944026df09375c5.png
[3]: https://habrahabr.ru/post/307670/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Управление зависимостями в Python: похоже, уже можно пользоваться
habra.16
habrabot(difrex,1) — All
2016-08-16 14:00:03


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

Единственным на моей памяти исключением является node.js, авторы которой разработали «с чистого листа» на удивление удачную систему управления зависимостями. Ну, как удачную? Проблем там тоже много, начиная автовыполняемыми скриптами и заканчивая переходом от древовидной к flat структуре в 3-й версии. Но по сравнению с тем, что на тот момент было в других языках, нода — это прорыв.

Совсем недавно экосистема пополнилась новой утилитой [rnpm][1], которая позволяет одной командой устанавливать React Native зависимости. В которых, на секундочку, может быть бинарный код для android и ios. Для разных архитектур. И все это работает из коробки. Мы в Voximplant хорошо знакомы с этой штукой: с ее помощью ставится наш собственный [React Native SDK][2].

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

[Лонгрид без картинок, приготовьте чашку кофе!][3]

[1]: https://github.com/rnpm/rnpm
[2]: https://github.com/voximplant/react-native-voximplant
[3]: https://habrahabr.ru/post/307848/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Книга «Простой Python. Современный стиль программирования»
habra.16
habrabot(difrex,1) — All
2016-08-16 18:30:02


[![image][1]][2]Привет, Хаброжители! Наконец-то у нас вышла книга Билла Любановича:

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

Стилистически издание напоминает руководство с вкраплениями кода, подробно объясняя различные концепции Python 3. Под обложкой вы найдете обширный материал от самых основ языка до сравнительно сложных и узких тем.

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

[1]: https://habrastorage.org/files/9f1/c46/c3b/9f1c46c3bc9440f8a790ace7605ff746.jpg
[2]: https://habrahabr.ru/company/piter/blog/307838/
[3]: https://habrahabr.ru/post/307838/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Применение Q_GADGET в C++&QtQuick
habra.16
habrabot(difrex,1) — All
2016-08-16 19:00:04


Смотрю на форумах рунета, люди начинают писать на C++&amp;Qt Quick и используют наследников от **QObject**, для так называемых типов значений(Value Type). Мартин Фаулер их называет **Value Object**. Хотя есть макрос **Q\_GADGET** позволяющий использовать QMetaObject c некоторыми ограничениями, но без наследования от QObject. Все что будет описано ниже результат экспериментов с Qt Quick. Буду рад узнать что-то новое из комментариев.



Пример таких типов QPoint, QGeoCoordinate и т.д. Наследоваться от **QObject** и использовать макрос **Q\_OBJECT** неудобно для таких типов:


* QObject защищен от копирования;
* нужно возвращать значение по указателю. Приходится задумываться о CppOwnership/JavaScriptOwnership из перечисления [QQmlEngine::ObjectOwnership][1].

**Q\_GADGET** позволяет нам использовать:


* **Q\_ENUM**;
* **Q\_PROPERTY**;
* **Q\_INVOKABLE**.

Ограничение:


* Отсутствие поддержки сигналов и слотов.[Читать дальше →][2]

[1]: http://doc.qt.io/qt-5/qqmlengine.html#ObjectOwnership-enum
[2]: https://habrahabr.ru/post/307816/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Рокетбанк подверг риску персональные данные клиентов и данные банковских карт
habra.16
habrabot(difrex,1) — All
2016-08-16 20:00:03


Время от времени я провожу внешние аудиты безопасности IT компаний, поддерживающих Bug Bounty. Согласно [странице][1] Рокетбанк может принять решение о вознаграждении в случаях обнаружения серьезных и публично неразглашенных уязвимостей.

[![][2]][3]

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

[1]: https://rocketbank.ru/security
[2]: https://habrastorage.org/files/a86/7cc/37d/a867cc37dafa49ca9e83adf55a45885e.png
[3]: https://habrahabr.ru/post/307898/
[4]: https://habrahabr.ru/post/307898/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] BILLmanager. Теперь при помощи shell-скриптов можно продавать что угодно
habra.16
habrabot(difrex,1) — All
2016-08-17 13:30:03


![][1]

_На сегодняшний день большинство провайдеров, помимо стандартных услуг хостинга, доменов и SSL, предоставляют и различные “нехостинговые” сервисы. Например, VPN или стриминг. Возникает вопрос: как организовать их подключение для клиента в BILLmanager? Можно давать доступ вручную, но что делать, если заявок на подключение прорва? Автоматизировать процесс, конечно! Недавно в BILLmanager появилось ещё одно решение для автоматизации продаж, и мы хотим об этом рассказать.

В статье речь пойдёт о том, как при помощи shell-скриптов своими силами настроить продажу нестандартных услуг в нашей биллинговой платформе._
[Читать дальше →][2]

[1]: https://habrastorage.org/files/0c4/9e4/392/0c49e4392135423382e05846ab83f6d6.png
[2]: https://habrahabr.ru/post/307008/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Сценарное тестирование в помощь программисту 1С
habra.16
habrabot(difrex,1) — All
2016-08-17 13:30:03


Тема сценарного тестирования уже давно раскрыта, а осознание необходимости использования TDD и BDD в той или иной мере есть почти в каждой компании. Исключением не стала и наша небольшая группа разработчиков на 1С. Однако, от момента понимания необходимости, до реального использования технологии, проходит время, и на этом пути неокрепшие умы как, например, автор этой статьи, начинают задумываться об эффективности всей этой затеи. Если вам интересно как группка смышленых ребят внедрила в своей работе что-то похожее на сценарное тестирование – добро пожаловать.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/307808/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Java Stream API: что делает хорошо, а что не очень?
habra.16
habrabot(difrex,1) — All
2016-08-17 18:00:04


![][1]

Настолько ли «энергичен» Java 8 Stream API? Возможно ли «превращение» обработки сложных операций над коллекциями в простой и понятный код? Где та выгода от параллельных операций, и когда стоит остановиться? Это одни из многочисленных вопросов, встречающихся читателям. Попробуем разобрать подводные камни Stream API с Тагиром Валеевым aka @[lany][2]. Многие читатели уже знакомы с нашим собеседником по статьям, исследованиям в области Java, выразительным докладам на конференциях. Итак, без проволочек, начинаем обсуждение.

— **Тагир, у вас отличные показатели на ресурсе StackOverflow ([gold status в ветке «java-stream»][3]). Как вы думаете, динамика применения Java 8 Stream API и сложность конструкций выросла (на основе вопросов и ответов на данном ресурсе)?**
[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/fe2/784/acf/fe2784acf22df43e39fe5f28330fdff0.jpg
[2]: https://habrahabr.ru/users/lany/
[3]: http://stackoverflow.com/users/4856258/tagir-valeev
[4]: https://habrahabr.ru/post/307938/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Опубликованные данные элитной кибергруппировки Equation Group не оказались шуткой
habra.16
habrabot(difrex,1) — All
2016-08-17 18:30:03


![][1] Недавно мы [писали][2] о возможной утечке конфиденциальных данных известной кибергруппы Equation Group (Five Eyes/Tilded Team). Опубликованная информация готовилась по горячим следам, а сам инцидент с публикацией данных рассматривался как вызывающий сомнения. Однако, за прошедшие несколько дней, нам удалось изучить опубликованный в свободном доступе архив, а также собрать доверенные источники, подтверждающие достоверность информации группы хакеров Shadow Brokers. Размер самого архива с доступными для доступа данными составляет около 300МБ, в нем насчитывается более 3,5 тыс. файлов. Расшифрованная публичная часть архива, которая уже упоминалась нами ранее, содержит в себе различные скрипты установки, файлы конфигурации, информацию о работе с управляющими C&amp;C-серверами, работающие эксплойты для популярных роутеров и брандмауэров.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/7a1/43e/748/7a143e74859246c48ca8a78747960757.jpeg
[2]: https://habrahabr.ru/company/eset/blog/307792/
[3]: https://habrahabr.ru/post/307948/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Будущее безопасности мобильных приложений, или чему нас могут научить покемоны
habra.16
habrabot(difrex,1) — All
2016-08-17 19:00:02


С момента появления Pokemon Go, я с большим любопытством отслеживаю всё, касающееся этой игрушки. Как ни странно, она даёт безумное количество интересной информации — в первую очередь относительно разработки мобильных приложений. Казалось бы, занимаетесь вы разработкой банковских приложений — в чём тут может быть связь? А нет, вам тоже найдётся, чему научиться у покемонов.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/307974/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] SysV, Upstart, systemd в роли ассортимента граблей Debian/Ubuntu
habra.16
habrabot(difrex,1) — All
2016-08-17 19:00:02


Знаете, чем я сейчас занимаюсь? Пишу стартовые скрипты для systemd, и это меня бесит.

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

С другой стороны, «было» — это условность. Все мы часто находимся в относительном неведении относительно того, как устроена наша операционная система. А однажды увидев код /usr/sbin/service ты уже не можешь развидеть его. Так же как и пользоваться этим инструментом.

Наверное, нужно вернуться обратно. Чтобы понять, как мы оказались в такой заднице со смесью SysV и systemd, приправленной Upstart.

**TL; DR**: _автор ноет по поводу зоопарка из SysV, Upstart и systemd в современных дистрибутивах Debian/Ubuntu._
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/307958/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Java Stream API: что делает хорошо, а что не очень
habra.16
habrabot(difrex,1) — All
2016-08-17 20:00:03


![][1]

Настолько ли «энергичен» Java 8 Stream API? Возможно ли «превращение» обработки сложных операций над коллекциями в простой и понятный код? Где та выгода от параллельных операций, и когда стоит остановиться? Это одни из многочисленных вопросов, встречающихся читателям. Попробуем разобрать подводные камни Stream API с Тагиром Валеевым aka @[lany][2]. Многие читатели уже знакомы с нашим собеседником по статьям, исследованиям в области Java, выразительным докладам на конференциях. Итак, без проволочек, начинаем обсуждение.

— **Тагир, у вас отличные показатели на ресурсе StackOverflow ([gold status в ветке «java-stream»][3]). Как вы думаете, динамика применения Java 8 Stream API и сложность конструкций выросла (на основе вопросов и ответов на данном ресурсе)?**
[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/fe2/784/acf/fe2784acf22df43e39fe5f28330fdff0.jpg
[2]: https://habrahabr.ru/users/lany/
[3]: http://stackoverflow.com/users/4856258/tagir-valeev
[4]: https://habrahabr.ru/post/307938/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Debian Linux и Tor за безопасный deb
habra.16
habrabot(difrex,1) — All
2016-08-17 23:30:03


В первый августовский день на официальном блоге популярного дистрибутива Debian Linux появилось [новость][1] о том, что для некоторых ресурсов Debian доступны [сервисы анонимной сети Tor][2]. Репозитарии пакетов, обновлений и безопасности можно скачивать не покидая контура Tor сети.

![][3]
Основная цель этих нововведений — _защита от утечки данных, как минимум — метаданных при загрузке deb пакетов_.
[Читать дальше →][4]

[1]: https://bits.debian.org/2016/08/debian-and-tor-services-available-as-onion-services.html
[2]: https://www.torproject.org/docs/hidden-services
[3]: https://habrastorage.org/files/7eb/50a/352/7eb50a35206f444194dc4b04226cb8bd.png
[4]: https://habrahabr.ru/post/307208/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Не так-то просто обнулять массивы в VC++ 2015
habra.16
habrabot(difrex,1) — All
2016-08-18 02:00:03


![][1]В чем разница между двумя этими определениями инициализированных локальных переменных С/С++?

char buffer[32] = { 0 };
char buffer[32] = {};
Одно отличие состоит в том, что первое допустимо в языках С и С++, а второе — только в С++.

Что ж, давайте тогда сосредоточимся на С++. Что _означают _эти два определения?

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

Эти определения несколько различаются, но по факту результат один — весь массив должен быть инициализирован нулями. Поэтому согласно правилу «as-if» в С++ они одинаковы. То есть любой достаточно современный оптимизатор должен генерировать идентичный код для каждого из этих фрагментов. Верно? [Читать дальше →][2]

[1]: https://habrastorage.org/files/677/7b6/1e1/6777b61e12ed41a0854a63a971955e79.jpg
[2]: https://habrahabr.ru/post/307920/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Nagios — мониторинг vmware, CMC-TC, Synology, ИБП, принтеров и совсем немного Cisco
habra.16
habrabot(difrex,1) — All
2016-08-18 04:00:04


Первая часть была тут: [Nagios — система мониторинга и некоторые самодельные плагины][1]. Как и обещал, часть вторая, интереснее.

Здесь я расскажу, как и что можно в nagios мониторить в vmware, CMC-TC, Synology, ИБП (APC и Chloride), принтерах и о мониторинге интерфейсов в Cisco по именам и зачем это нужно.
[Читать дальше →][2]

[1]: https://habrahabr.ru/post/307832/
[2]: https://habrahabr.ru/post/307918/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Насколько защищены от кибератак банки и биржи: Статистика и мнения экспертов
habra.16
habrabot(difrex,1) — All
2016-08-18 11:30:03


[![][1]][2]

Проблема безопасности в финансовом секторе много раз обсуждалась с разных сторон. Платежные и банковские системы уязвимы. Пока финансовые институты выстраивают системы защиты, применяя все более изощренные технологии, мошенники учатся обходить их. Но какова ситуация на самом деле? Кто сегодня вырвался вперед в противостоянии экспертов по безопасности финансовых компаний и хакеров? На этот вопрос нам поможет ответить статистика, подкрепленная мнениями экспертов. [Читать дальше →][3]

[1]: https://habrastorage.org/files/55e/1eb/02b/55e1eb02b71c4d53bd3748ba5892e0e0.jpg
[2]: https://habrahabr.ru/post/308014/
[3]: https://habrahabr.ru/post/308014/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Используем Secure Boot в Linux на всю катушку
habra.16
habrabot(difrex,1) — All
2016-08-18 14:30:03


![][1]


Технология Secure Boot нацелена на предотвращение исполнения недоверенного кода при загрузке операционной системы, то есть защиту от буткитов и атак типа Evil Maid. Устройства с Secure Boot содержат в энергонезависимой памяти базу данных открытых ключей, которыми проверяются подписи загружаемых UEFI-приложений вроде загрузчиков ОС и драйверов. Приложения, подписанные доверенным ключом и с правильной контрольной суммой, допускаются к загрузке, остальные блокируются.



Более подробно о Secure Boot можно узнать из цикла статей от [CodeRush][2].


* [О безопасности UEFI, часть пятая][3]
* [Укрощаем UEFI SecureBoot][4]

Чтобы Secure Boot обеспечивал безопасность, подписываемые приложения должны соблюдать некоторый «кодекс чести»: не иметь в себе лазеек для неограниченного доступа к системе и параметрам Secure Boot, а также требовать того же от загружаемых ими приложений. Если подписанное приложение предоставляет возможность недобросовестного использования напрямую или путём загрузки других приложений, оно становится угрозой безопасности всех пользователей, доверяющих этому приложению. **Такую угрозу представляют загрузчик shim, подписываемый Microsoft, и загружаемый им GRUB**.



Чтобы от этого защититься, мы [установим][5] Ubuntu с шифрованием всего диска на базе LUKS и LVM, защитим initramfs от изменений, [объединив][6] его с ядром в одно UEFI-приложение, и [подпишем][7] его собственными ключами.

[Читать дальше →][8]

[1]: https://habrastorage.org/files/255/553/3ff/2555533ffb374565aed2eec1951e90c4.png
[2]: https://habrahabr.ru/users/coderush/
[3]: https://habrahabr.ru/post/267953/
[4]: https://habrahabr.ru/post/273497/
[5]: #install
[6]: #protect
[7]: #sign
[8]: https://habrahabr.ru/post/308032/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] В библиотеке шифрования Libgcrypt обнаружена критическая уязвимость, существовавшая 19 лет
habra.16
habrabot(difrex,1) — All
2016-08-18 14:30:03


[![][1]][2]

Команда GnuPG Project [опубликовала][3] сообщение о том, что в популярной библиотеке Libgcrypt содержится критическая уязвимость. Ошибка была обнаружена экспертами Технологического института немецкого города Карлсруэ Феликс Дёрре (Felix Dörre) и Владимир Клебанов.

Уязвимость содержится в генераторе случайных чисел Libgcrypt — она позволяет атакующему, который получил 4640 битов из генератора легко предсказать следующие 160 бит его вывода. Это открывает возможность для взлома ключей шифрования. Ошибка присутствует в Libgcrypt и GnuPG версий, выпущенных до 17 августа 2016 года, для всех платформ. Как указано в сообщении GnyPG Project, этот баг существует с 1998 года.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/144/2a4/ce3/1442a4ce31c6427781ab07b5742d11e0.png
[2]: https://habrahabr.ru/company/pt/blog/308030/
[3]: https://lists.gnupg.org/pipermail/gnupg-announce/2016q3/000395.html
[4]: https://habrahabr.ru/post/308030/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как работает Центр оперативного управления мобильной сетью МТС
habra.16
habrabot(difrex,1) — All
2016-08-18 16:30:03


Привет, уважаемые хабровчане!

Это корпоративный блог МТС. Здесь будут писать обо всем самом интересном наши специалисты, отвечающие за связь и технологии. Начнем с директора Департамента эксплуатации конвергентных сетей и сервисов МТС Андрея Серегина. Итак, слово Андрею Вячеславовичу.

![image][1]

Доброго времени суток! Наконец-то у меня дошли руки до текст для Хабра.

Хочу поделиться своим опытом с профессиональной и интересующейся публикой. 4 года назад мы в МТС первыми в стране открыли Единый Центр оперативного управления мобильной сетью, который расположился в Краснодаре. В ноябре прошлого года мы официально открыли Единый Центр управления фиксированной сетью в Нижнем Новгороде. Таким образом, мы завершили централизацию мониторинга и управления всеми сетями – мобильной и фиксированной. И это первый в России опыт централизации такого масштаба среди телеком-операторов.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/f5f/fb3/719/f5ffb3719217c2c59ddd6aecd8137531.jpg
[2]: https://habrahabr.ru/post/308044/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] 0day уязвимости в lshell
habra.16
habrabot(difrex,1) — All
2016-08-18 16:30:03


lshell — это оболочка, которая ограничивает команды и пути файловой системы, доступные пользователю. Её прочат как альтернативу сложной настройки chroot:
* [Хабр, блог компании centos-admin][1]
* [aboutubuntu.ru][2]
* [techadmin.net][3]
и так далее, имеется множество источников, предлагающих её к использованию.

Приложение доступно в репозиториях Ubuntu, Debian и EPEL.
[Читать дальше →][4]

[1]: https://habrahabr.ru/company/centosadmin/blog/212833/
[2]: http://aboutubuntu.ru/content/chroot-vs-lshell-and-mysecureshell.html
[3]: http://tecadmin.net/how-to-limit-user-access-with-lshell-limited-shell/
[4]: https://habrahabr.ru/post/308028/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] В библиотеке шифрования Libgcrypt обнаружена критическая уязвимость, существовавшая 18 лет
habra.16
habrabot(difrex,1) — All
2016-08-18 21:00:03


[![][1]][2]

Команда GnuPG Project [опубликовала][3] сообщение о том, что в популярной библиотеке Libgcrypt содержится критическая уязвимость. Ошибка была обнаружена экспертами Технологического института немецкого города Карлсруэ Феликсом Дёрре (Felix Dörre) и Владимиром Клебановым.

Уязвимость содержится в генераторе случайных чисел Libgcrypt — она позволяет атакующему, который получил 4640 битов из генератора легко предсказать следующие 160 бит его вывода. Это открывает возможность для взлома ключей шифрования. Ошибка присутствует в Libgcrypt и GnuPG версий, выпущенных до 17 августа 2016 года, для всех платформ. Как указано в сообщении GnyPG Project, этот баг существует с 1998 года.
[Читать дальше →][4]

[1]: https://habrastorage.org/files/144/2a4/ce3/1442a4ce31c6427781ab07b5742d11e0.png
[2]: https://habrahabr.ru/company/pt/blog/308030/
[3]: https://lists.gnupg.org/pipermail/gnupg-announce/2016q3/000395.html
[4]: https://habrahabr.ru/post/308030/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Клон Trello на Phoenix и React. Части 1-3
habra.16
habrabot(difrex,1) — All
2016-08-18 21:30:02


![image][1]



[Trello][2] — одно из самых моих любимых приложений. Я пользуюсь им с момента появления, и мне очень нравится то, как оно работает, его простота и гибкость. Каждый раз, начиная изучать новую технологию, я предпочитаю создать полноценное приложение, в котором смогу применить на практике всё, что изучил, для решения реальных проблем, и проверить эти решения. Так что начав изучать [Elixir][3] и его [Phoenix][4] Framework я понял: я должен на практике использовать весь этот потрясающий материал, с которым познакомился, и поделиться им в виде руководства о том, как реализовать простое, но функциональное посвящение **Trello**.

[Читать дальше →][5]

[1]: https://habrastorage.org/files/84c/b91/477/84cb91477441404da1e9398fcd9b44c5.png
[2]: https://trello.com/
[3]: http://elixir-lang.org/
[4]: http://www.phoenixframework.org/
[5]: https://habrahabr.ru/post/308056/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Cisco и Fortinet подтвердили наличие уязвимостей, опубликованных хакерами The Shadow Brokers
habra.16
habrabot(difrex,1) — All
2016-08-18 21:30:02


[![][1]][2]

В конце прошлой недели (13 августа) в сети [появилась][3] информация о том, что кибергруппировка The Shadow Brokers выложила на продажу архив данных, украденных у другой хакерской группы Equation Group. Последнюю многие наблюдатели и эксперты по безопасности связывают с АНБ, в частности предполагается, что именно ее представители работали над наиболее известным кибероружием — включая червей Stuxnet, Flame, Duqu и другими.

Как утверждалось, среди украденных у Equation Group программ содержались уязвимости для продуктов Cisco, Juniper и Fortinet, а также нескольких китайских производителей сетевого оборудования. Теперь появились подтверждения того, что хакеры создали эксплоиты для уязвимостей в маршутиазаторах этих вендоров. Причем в продукции Cisco обнаружен 0-day, бюллетень безопасности для которого [появился][4] только 17 августа. [Читать дальше →][5]

[1]: https://habrastorage.org/files/217/fd2/c16/217fd2c1635e4dada10f8943ca31dd3e.png
[2]: https://habrahabr.ru/company/pt/blog/308064/
[3]: https://xakep.ru/2016/08/16/equation-group-files/
[4]: https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20160817-asa-snmp
[5]: https://habrahabr.ru/post/308064/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Безопасное использование языка Go в веб-программировании
habra.16
habrabot(difrex,1) — All
2016-08-19 10:00:04


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

![][1]
[Читать дальше →][2]

[1]: https://habrastorage.org/files/4ca/a52/54d/4caa5254dac144f0b5ae650a666e28ed.png
[2]: https://habrahabr.ru/post/308088/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Cisco и Fortinet выпустили уведомления безопасности после утечки данных Equation Group
habra.16
habrabot(difrex,1) — All
2016-08-19 10:00:04


![][1] В [прошлом][2] посте мы более подробно остановились на содержимом утекшего в сеть архива с данными кибергруппировки Equation Group. Мы также указали, что названия эксплойтов и имплантов (компонентов) вредоносных программ соответствуют названиям из архива NSA ANT. В ряде упоминавшихся вендоров, на устройства которых были нацелены эксплойты, указывались Cisco и Fortinet (Fortigate Firewall). В случае с Cisco речь идет о двух эксплойтах для устройств Cisco ASA, PIX и Firewall Services Module с названиями ANT EXTRABACON (EXBA) и EPICBANANA (EPBA). Первый эксплойт относится к типу 0day и использует ранее неизвестную уязвимость с идентификатором CVE-2016-6366 (Cisco ASA RCE vulnerability). Второй использует исправленную 1day уязвимость с идентификатором CVE-2016-6367 (Cisco ASA CLI RCE).

[Читать дальше →][3]

[1]: https://habrastorage.org/files/ac3/54b/b85/ac354bb85cb44ac8a105b5629375b921.jpeg
[2]: https://habrahabr.ru/company/eset/blog/307948/
[3]: https://habrahabr.ru/post/308074/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Обучение с подкреплением для самых маленьких
habra.16
habrabot(difrex,1) — All
2016-08-19 12:00:04


_В данной статье разобран принцип работы метода машинного обучения[«Обучение с подкреплением»][1] на примере физической системы. Алгоритм поиска оптимальной стратегии реализован в коде на Python с помощью метода [«Q-Learning»][2]._

Обучение с подкреплением — это метод машинного обучения, при котором происходит обучение модели, которая не имеет сведений о системе, но имеет возможность производить какие-либо действия в ней. Действия переводят систему в новое состояние и модель получает от системы некоторое вознаграждение. Рассмотрим работу метода на [примере][3], показанном в видео. В описании к видео находится код для [Arduino][4], который реализуем на [Python][5].


### Задача


С помощью метода «обучение с подкреплением» необходимо научить тележку отъезжать от стены на максимальное расстояние. Награда представлена в виде значения изменения расстояния от стены до тележки при движении. Измерение расстояния D от стены производится дальномером. Движение в данном примере возможно только при определенном смещении «привода», состоящего из двух стрел S1 и S2. Стрелы представляют собой два сервопривода с направляющими, соединенными в виде «колена». Каждый сервопривод в данном примере может поворачиваться на 6 одинаковых углов. Модель имеет возможность совершить 4 действия, которые представляют собой управление двумя сервоприводами, действие 0 и 1 поворачивают первый сервопривод на определенный угол по часовой и против часовой стрелке, действие 2 и 3 поворачивают второй сервопривод на определенный угол по часовой и против часовой стрелке. На рисунке 1 показан рабочий прототип тележки.

![][6]
_Рис. 1. Прототип тележки для экспериментов с машинным обучением_
[Читать дальше][7]

[1]: https://ru.wikipedia.org/wiki/Обучение_с_подкреплением
[2]: https://ru.wikipedia.org/wiki/Q-обучение
[3]: https://www.youtube.com/watch?v=f2nIKFMyfSg
[4]: https://drive.google.com/file/d/0Bwyt-Hm2ItvRc0laTFhFNWFQdTg/view?pli=1
[5]: https://github.com/MichaelSwanRu/Reinforcement-Learning/blob/master/Q-Learning/Example-and-Tutorial/Q-LEARNING.py
[6]: https://habrastorage.org/files/575/e62/46e/575e6246e8774c1da1ad4227b28bc13c.jpg
[7]: https://habrahabr.ru/post/308094/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] SObjectizer: от простого к сложному. Часть III
habra.16
habrabot(difrex,1) — All
2016-08-19 13:00:04


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


[Читать дальше →][1]

[1]: https://habrahabr.ru/post/308084/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... 133