RSS
Pages: 1 ... 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 ... 133
[>] [Перевод] Простой эксплойт даёт злоумышленникам возможность изменить содержимое письма после отправки
habra.16
habrabot(difrex,1) — All
2017-08-24 17:30:05


[![][1]][2]

Считаете ли вы, что содержимое письма электронной почты нельзя изменить после доставки? Если вас интересует вопрос информационной безопасности, вам следует узнать о методе атаки, который исследователи из Mimecast назвали ROPEMAKER.

Акроним ROPEMAKER расшифровывается как «Remotely Originated Post-delivery Email
Manipulation Attacks Keeping Email Risky». В действительности ROPEMAKER — это тип хакерской атаки через электронную почту, обнаруженный Франциско Рибейро (@blackthorne) из Mimecast. Этот эксплойт может дать злоумышленнику возможность удаленно изменять контент письма электронной почты в любое время после доставки. Является ли ROPEMAKER уязвимостью, которую необходимо исправить, чтобы защитить обычных пользователей? Мы надеемся, что эта статья поможет ответить на этот вопрос. [Читать дальше →][3]

[1]: https://habrastorage.org/web/b71/fac/a0e/b71faca0e4564b43b918f9b3b9367a46.png
[2]: https://habrahabr.ru/company/cloud4y/blog/336296/
[3]: https://habrahabr.ru/post/336296/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Установка и настройка главной сцены в MajorDoMo
habra.16
habrabot(difrex,1) — All
2017-08-24 17:30:05


Система умного дома сейчас в моде. Каждый хочет у себя дома сделать какую-нибудь автоматизацию. Например, когда вы подходите к своему дому, чтоб камера стоящая на улице вас распознала и отключила систему безопасности. Либо если к вам пытается кто-то залезть, чтоб система приняла какие-то меры. Также систему умного дома можно настроить так, чтоб она поддерживала необходимую влажность, температуру и т.п. в доме, управление освещением с мобильных устройств, прогноз погоды, курс валют и многое другое. Естественно, чтоб всем этим можно было управлять голосовыми командами. Всё это (и не только это) можно настроить в системе умного дома **MajorDoMo** (Major Domestic Module или Главный Домашний Модуль).
[Читать дальше →][1]

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

[>] [Перевод] Реверс-инжиниринг вредоносного мошеннического скрипта
habra.16
habrabot(difrex,1) — All
2017-08-24 18:30:04


![][1]



Несколько дней назад я бродил по сети и зашёл на сайт с вредоносной рекламой. Хотя такие рекламные баннеры не редкость, но этому удалось проникнуть через защиту AdBlocker и немедленно перенаправить меня на сайт, который выглядел [так][2].



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

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

[1]: https://habrastorage.org/web/951/511/c9f/951511c9f5bf4590b563b6a7ba3869a8.jpg
[2]: https://habrastorage.org/web/1db/fe0/62d/1dbfe062d7214a99a2b4ff8bc9b8ecc7.png
[3]: https://habrahabr.ru/post/336232/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Случайный лес vs нейросети: кто лучше справится с задачей распознавания пола в речи (ч.2)
habra.16
habrabot(difrex,1) — All
2017-08-24 19:00:05


[Первая часть][1] нашего гайда была посвящена интересной задаче машинного обучения – распознаванию пола по голосу. Мы описали общий подход к большинству задач speech processing и с помощью случайного леса, обученного на статистиках акустических признаков, решили задачу с довольно большой точностью – 98,4% верно классифицированных аудиофрагментов.

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

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

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

[1]: https://habrahabr.ru/company/neurodatalab/blog/334136/
[2]: https://habrastorage.org/web/ed4/a89/4d7/ed4a894d7c094bbf86e27c0425f1c779.jpg
[3]: https://habrahabr.ru/company/neurodatalab/blog/335804/
[4]: https://habrahabr.ru/post/335804/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Тьюринг-полнота Generic типов Java
habra.16
habrabot(difrex,1) — All
2017-08-24 22:00:04


Периодически на хабре можно встретить статьи о том, какие невероятные вещи можно сделать на шаблонах C++: [конечные автоматы][1], [лямбда-исчисление][2], [машина Тьюринга][3] и многое другое.



Параметризованные типы в Java традиционно считаются лишь пародией на шаблоны C++ (несмотря на то, что их даже сравнивать как-то некорректно), и причины этого несложно понять. Тем не менее не всё так плохо, и компилятор Java можно заставить производить во время проверки типов любые вычисления, лишь бы хватило оперативной памяти. Конкретный способ это сделать был описан в ноябре 2016-го года в [этой прекрасной публикации][4]. Его я и хотел бы объяснить.



Для затравки приведу следующий код. Корректен ли он? Предлагаю скомпилировать и проверить, угадали ли вы результат.


class Sample {

interface BadList {}

public static void main(String[] args) {
BadList badList = null;
List list = badList;
}
}
**Узнать ответ**
Компилятор выбросит `java.lang.StackOverflowError` независимо от размера стэка.


Разберёмся, почему компилятор ведёт себя именно так (я бы не назвал это багом), как понимание данных причин может быть полезно и причём тут машина Тьюринга.

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

[1]: https://habrahabr.ru/post/179089/
[2]: https://habrahabr.ru/post/218341/
[3]: https://habrahabr.ru/post/279745/
[4]: https://arxiv.org/pdf/1605.05274.pdf
[5]: https://habrahabr.ru/post/330724/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Игра в Бога, или как я «Волчий остров» писал
habra.16
habrabot(difrex,1) — All
2017-08-25 02:30:03


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

![][1]

**Что на картинке**
_Stop/Start_ — Запустить мир
_Turn_ — Остановить мир
_Restart_ — Пересоздать мир
_Зеленые клетки_ — Клетки с травой. Чем зеленее, тем больше травы.
_Маленькие зайцы и волки — щенки_
_Большие зайцы и волки — взрослые особи_
_Красные и синие полоски на пиктограммой зверей_ — текущая сытость. Красные — самцы, синие — самки.
_Число в левом нижнем углу каждой клетки_ — количество существ на данной клетке
_Внизу_ общее количество зайцев и волков, а также время, занявшее обработку последнего ход
[Читать дальше →][2]

[1]: https://habrastorage.org/web/d43/f48/4aa/d43f484aa7bf4b0c8ee09674dcff9905.PNG
[2]: https://habrahabr.ru/post/336330/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Генератор документации средствами встроенного языка 1С: Предприятие 8.3.10
habra.16
habrabot(difrex,1) — All
2017-08-25 07:00:05


Добрый день!
Пару недель назад почитал форумы и подготовил универсальную обработку на встроенном языке 1С анализирующую исходный код любых отчетов и обработок «1С: Предприятие 8». Вызван анализ исходного кода был появлением продаж на моей домашней страничке. Попытки написать в ручную документации для нескольких тысяч файлов успеха не имели.
[Читать дальше →][1]

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

[>] [Перевод] Мьютексы и захват замыканиями в Swift
habra.16
habrabot(difrex,1) — All
2017-08-25 12:00:06


![][1]

_Перевод [статьи Мэтта Галлагера][2]._

В этой статье речь пойдёт об отсутствии потокового выполнения (threading) и инструментов синхронизации потоков в Swift. Мы обсудим предложение о внедрении «многопоточности» (concurrency) в Swift и то, как до появления этой возможности потоковое выполнение в Swift будет подразумевать использование традиционных мьютексов и общего изменяемого состояния (shared mutable state).

Использовать мьютекс в Swift не особенно сложно, но на этом фоне хотелось бы выделить тонкие нюансы производительности в Swift — динамическое выделение памяти во время захвата замыканиями. Мы хотим, чтобы наш мьютекс был быстрым, но передача замыкания для исполнения внутри мьютекса может снизить производительность в 10 раз из-за дополнительных расходов памяти. Давайте рассмотрим несколько способов решения данной проблемы.
[Читать дальше →][3]

[1]: https://habrastorage.org/web/fbb/bce/eb1/fbbbceeb15c940ba9d81ea140aa98700.png
[2]: https://www.cocoawithlove.com/blog/2016/06/02/threads-and-mutexes.html
[3]: https://habrahabr.ru/post/336260/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Человек посередине», использующий отозванные сертификаты. Часть 2
habra.16
habrabot(difrex,1) — All
2017-08-25 12:00:06


![][1]


В нашей [предыдущей статье][2] были описаны основные механизмы проверки статуса сертификатов (проверки, является ли сертификат отозванным). В этой статье мы ответим на следующие вопросы:

1. Как механизмы проверки статуса сертификатов реализованы в современных Веб-браузерах?
2. Кто виноват? Почему они реализованы именно так?
3. Что делать? Какие есть перспективы?

Эта статья будет полезна тем, кому интересно разобраться в применяющихся на практике механизмах проверки статуса сертификатов.

На Хабре уже писали на данную тему (например, [тут][3] и [тут][4]), мы же в этой статье решили привести ещё более подробное описание проверок, выполняемых современными браузерами, более актуальную информацию об их настройках, и, наконец, описание того, как можно исправить сложившуюся ситуацию в будущем.
[Читать дальше →][5]

[1]: https://habrastorage.org/web/4c5/cad/041/4c5cad0410714528a64da31d0307f389.jpg
[2]: https://habrahabr.ru/company/neobit/blog/325490/
[3]: https://habrahabr.ru/post/332730/
[4]: https://habrahabr.ru/company/eset/blog/220003/
[5]: https://habrahabr.ru/post/334714/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как создать расистский ИИ, даже не пытаясь
habra.16
habrabot(difrex,1) — All
2017-08-25 12:00:06


На днях, по мотивам [очередной статьи][1], посвященной проблеме расизма в распознавании речи, я участвовала в большом споре о том, кто в этом виноват. Часть людей была уверена, что это заговор программистов. На самом деле, правда кроется в данных, которые ИИ использует для своего обучения. Я решила провести эксперимент, чтобы наглядно доказать это. Оказалось, что Роб Спир (Rob Speer) уже все сделал за меня.

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

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

[1]: https://www.technologyreview.com/s/608619/ai-programs-are-learning-to-exclude-some-african-american-voices/
[2]: https://habrastorage.org/web/76a/657/343/76a6573430514aaab341abcf8b0f1a8d.jpg
[3]: https://habrahabr.ru/post/336358/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] OCaml и RESTful JSON API с использованием Eliom
habra.16
habrabot(difrex,1) — All
2017-08-25 12:00:06


Привет, Хабр! Представляю вашему вниманию перевод туториала [RESTful JSON API using Eliom][1].

В этом туториале рассказывается, как создать простой, но полный REST API с использованием JSON в качестве формата сериализации.
[Читать дальше →][2]

[1]: http://ocsigen.org/tuto/4.0/manual/rest
[2]: https://habrahabr.ru/post/336336/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Paraquire, или Перестаньте доверять библиотекам
habra.16
habrabot(difrex,1) — All
2017-08-25 12:00:06


# TL; DR



Использование npm — пакетного менеджера NodeJS — сопряжено с проблемами безопасности. Штатными средствами невозможно контролировать права доступа, предоставляемые библиотекам. Вкупе с обилием микромодулей это может привести к непредсказуемым последствиям, часть из уже случившегося описана [здесь][1], и в лучших традициях экосистемы npm я на неё сошлюсь.





Под катом описывается proof-of-concept библиотеки, реализующей механизм загрузки npm-модулей с возможностью установить права подобно тому, как на Android можно выдавать приложению конкретные разрешения.


Вместо
var lib = require('untrusted-lib');

предлагается писать где-нибудь
var paraquire = require('paraquire')(module);

и затем
var lib = paraquire('untrusted-lib');

или же
var lib = paraquire('untrusted-lib', {builtin:{https:true}});

Исходный код доступен [на гитхабе][2] под LGPLv3.

Кроме того я, не будучи достаточно опытным NodeJS-разработчиком, прошу у сообщества советов и обсуждения.
[Читать дальше →][3]

[1]: https://habrahabr.ru/company/ruvds/blog/335602/
[2]: https://github.com/nickkolok/paraquire
[3]: https://habrahabr.ru/post/336334/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как сделать проект по распознаванию рукописных цифр с дообучением онлайн. Гайд для не совсем начинающих
habra.16
habrabot(difrex,1) — All
2017-08-25 16:00:06


Привет, Хабр!



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







Я хотел бы рассказать о том, как создал [проект][1] по распознаванию рукописного ввода цифр с моделями, которые дообучаются на нарисованных пользователями цифрах. Используется две модели: простая нейронная сеть (FNN) на чистом numpy и сверточная сеть (CNN) на Tensorflow. Вы сможете узнать, как сделать практически с нуля следующее:


* создать простой сайт с использованием Flask и Bootstrap;
* разместить его на платформе Heroku;
* реализовать сохранение и загрузку данных с помощью облака Amazon s3;
* собрать собственный датасет;
* натренировать модели машинного обучения (FNN и CNN);
* сделать возможность дообучения этих моделей;
* сделать сайт, который сможет распознавать нарисованные изображения;


Для полного понимания проекта желательно знать как работает deep learning для распознавания изображений, иметь базовые знания о Flask и немного разбираться в HTML, JS и CSS.


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

[1]: https://digits-draw-recognize.herokuapp.com/
[2]: https://habrahabr.ru/post/335998/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Лучше чем C
habra.16
habrabot(difrex,1) — All
2017-08-25 17:00:05


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

Благодаря усилиями команды разработчиков языка у D теперь появилось совместимое с чистым Си подмножество обладающее не только привычным для любого программиста Си синтаксисом, но и значительно расширяющее функционал языка. Новое подмножество называется «betterC». Это подмножество позволяет перевести написание Си приложение на новый уровень.
[Читать дальше →][1]

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

[>] Погода и маршруты в MajorDoMo
habra.16
habrabot(difrex,1) — All
2017-08-25 17:00:05


![][1]

Это вторая статья в которой я попытаюсь рассказать как настроить погоду и маршруты в системе умного дома **MajorDoMo** и сделаем для них отдельные сцены. А также настроим вывод данных о погоде на главной сцене.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/af4/abf/50f/af4abf50fcb946e4ab5a1b694003889c.jpeg
[2]: https://habrahabr.ru/post/336386/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] ColumnsGrid для WPF
habra.16
habrabot(difrex,1) — All
2017-08-26 14:30:04


Размещение элементов в контроле Grid может быть утомительным. Удобнее, когда они автоматом размещаются по ячейкам, как в UniformGrid.

ColumnsGrid добавляет к этому следующие возможности:
1. Колонки задаются одной строкой Columns=«Auto,\*,200,Shared1»
2. Задается интервал между колонками Spacing=«4»
3. Переход на следующую строку задается элементом <Separator Height=«4»/>
[Читать дальше →][1]

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

[>] Конкурс по программированию: JSDash (предварительные результаты)
habra.16
habrabot(difrex,1) — All
2017-08-26 18:00:05


Спасибо всем, кто принял участие в нашем [конкурсе по программированию][1]! Мы получили 132 решения от 67 уникальных участников. Неделю назад было примерно вдвое меньше — нельзя недооценивать волшебную силу надвигающегося дедлайна.

Сегодня мы публикуем все решения, участвующие в финальном тестировании, и результаты тестов.
[Читать дальше →][2]

[1]: https://habrahabr.ru/company/hola/blog/332176/
[2]: https://habrahabr.ru/post/336448/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Поддержка системных ошибок в C++
habra.16
habrabot(difrex,1) — All
2017-08-26 19:00:05


## Предисловие


Я долго думал, нужно ли делать перевод этого, уже известного, цикла статей под названием «System error support in C++0x», повествующего о `` и обработке ошибок. С одной стороны он написан в 2010 году и меня попросту могут счесть некрофилом, а с другой стороны в рунете очень мало информации по этой теме и многие довольно свежие статьи ссылаются на этот цикл, что говорит о том, что он не теряет актуальности и по сей день.

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

Сразу хочу предупредить, что опыта переводчика у меня нет и вообще май инглиш из бед. И огорчений. Так что буду рад вашей критике и предложениям, желательно в личку.

Итак, приступим.
[Читать дальше →][1]

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

[>] [Из песочницы] Идеи о новых возможностях обычного/параллельного программирования (расширение C++)
habra.16
habrabot(difrex,1) — All
2017-08-27 02:00:04


Здравствуйте, уважаемые читатели.

Предлагаю всем, кто заинтересуется, обсудить некоторые основные идеи классического и параллельного программирования в расширении C++, основанном на процедурах/функциях с планированием повторного входа (ПППВ/ФППВ). В минимальном варианте — это процедура или функция, у которой есть статический или динамический план исполнения. [Читать дальше →][1]

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

[>] Продвинутый Jekyll
habra.16
habrabot(difrex,1) — All
2017-08-27 02:30:05


![][1]

[Jekyll][2] — генератор статических сайтов. Это означает, что на вход ему даётся какая-либо информация, а на выходе получается набор HTML-страничек. Всё отлично когда сайт простой или даже одностраничный. Но что насчёт более сложных сайтов? Справится ли Jekyll? Будет ли удобно?



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

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

[1]: https://habrastorage.org/web/b61/e05/b26/b61e05b26b2441a4a20b61301859f348.png
[2]: https://jekyllrb.com
[3]: https://habrahabr.ru/post/336266/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Точим себе инструмент на PyQt
habra.16
habrabot(difrex,1) — All
2017-08-27 15:00:04


Мне нужен был инструмент. Острый, практичный, универсальный. Отвечающий всем моим требованиям и расширяемый по моему желанию.

![image][1]

Но простой и удобный. Тут надо отметить, что на основной работе я не разработчик, поэтому постоянной среды программирования на рабочем компе не имею и, когда это требуется, пишу на чем придется — bat, JScript, VBA в MSOffice (да, это Windows, корпоративные системы, тут нет bash и perl «из коробки»), макросы в разном ПО и т.д. Все это помогает решить текущую задачу, но уровень и возможности маленько не те, что хотелось бы иметь.

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

Вы скажете, что сейчас есть инструменты на любой вкус и цвет, только выбирай. Лягушка aka TOAD под Oracle, SoapUI для шины и продукты GNU и Apache для всего остального.
Но проблема в том, что все они они специализированы под одну какую-то деятельность, а с другой стороны слишком универсальны — можно сделать многое, но многими действиями. А если возможность в продукте отсутствует, то добавить ее нельзя. Либо продукт закрытый, либо нужно разрабатывать/покупать плагин, либо качать исходники и в них разбираться. А мне нужен был инструмент, в котором простые действия делаются просто, а на сложные сначала тратится немного времени и дальше опять все просто.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/d55/f5d/618/d55f5d61827946408fb682eb6fc78037.jpg
[2]: https://habrahabr.ru/post/336478/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Решение прямой и двойственной задачи линейного программирования средствами Python
habra.16
habrabot(difrex,1) — All
2017-08-27 19:00:05


### Введение


Следует отметить, что методы решения задач линейного программирования относятся **не к экономике, а к математике и вычислительной технике.** При этом экономисту нужно обеспечить максимально комфортные условия диалога с соответствующим программным обеспечением. В свою очередь такие условия могут обеспечивать только динамично развивающиеся и интерактивные среды разработки, имеющие в своём арсенале набор необходимых для решения таких задач библиотек. Одной из каких сред разработки программного обеспечения безусловно является Python.


### Постановка задачи


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

Однако известно [3], что каждой задаче линейного программирования соответствует так называемая выделенная(двойственная)задача. В ней по сравнению с прямой задачей строки переходят в столбцы, неравенства меняют знак, вместо максимума ищется минимум (или наоборот, вместо минимума — максимум). Задача, двойственная к двойственной — эта сама исходная задача.

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

Оптимальные значения стоимости материала и труда будут оцениваться по их вкладу в целевую функцию. В результате будут получены «объективно обусловленные оценки» сырья и рабочей силы, которые не совпадают с рыночными ценами. [Читать дальше →][1]

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

[>] Знай свой инструмент: Event Loop в libuv
habra.16
habrabot(difrex,1) — All
2017-08-28 02:30:04


![image][1]
_Юдель Пэн. Часовщик. 1924_

> «Компьютер — это конечный автомат. Потоковое программирование нужно тем, кто не умеет программировать конечные автоматы» 
> Алан Кокс, прим. Википедия

“Знай свой инструмент” — твердят все вокруг и все равно доверяют. Доверяют модулю, доверяют фреймворку, доверяют чужому примеру.

Излюбленный вопрос на собеседованиях по **Node.js** — это устройство **Event Loop**. И при всем том, очевидном факте, что прикладному разработчику эти знания будут полезны, мало кто пытается самостоятельно погрузиться в устройство событийного цикла. В основном, всех устраивает картинка сверху. Хоть это и похоже на пересказ фильма, который ты не смотрел, а о котором тебе рассказал друг.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/830/526/c83/830526c832dce7a03f53f5545624c7c3.jpg
[2]: https://habrahabr.ru/post/336498/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Язык Terra — низкоуровневый партнёр Lua
habra.16
habrabot(difrex,1) — All
2017-08-28 10:30:04


Terra — низкоуровневый язык системного программмирования, встраиваемый и имеющий возможность метапрограммирования с помощью языка Lua.

![][1]

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

[1]: https://habrastorage.org/web/3c5/425/78c/3c542578c1b04aec8778786e90983716.jpg
[2]: https://habrahabr.ru/post/336406/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Доступно о криптографии на эллиптических кривых
habra.16
habrabot(difrex,1) — All
2017-08-28 11:00:06


![image][1]



Тем, кто знаком с криптографией с открытым ключом, наверно известны аббревиатуры **ECC**, **ECDH** и **ECDSA**. Первая — это сокращение от Elliptic Curve Cryptography (криптография на эллиптических кривых), остальные — это названия основанных на ней алгоритмов.

Сегодня криптосистемы на эллиптических кривых используются в [TLS][2], [PGP][3] и [SSH][4], важнейших технологиях, на которых базируются современный веб и мир ИТ. Я уже не говорю о [Bitcoin][5] и других криптовалютах.

До того, как ECC стала популярной, почти все алгоритмы с открытым ключом основывались на RSA, DSA и DH, альтернативных криптосистемах на основе модулярной арифметики. RSA и компания по-прежнему популярны, и часто используются вместе с ECC. Однако несмотря на то, что магия, лежащая в фундаменте RSA и подобных ей алгоритмов легко объяснима и понятна многим, а [грубые реализации пишутся довольно просто][6], основы ECC всё ещё являются для большинства людей загадкой.

В этой серии статей я познакомлю вас с основами мира криптографии на эллиптических кривых. Моя цель — не создание полного и подробного руководства по ECC (в Интернете полно информации по этой теме), а **простой обзор ECC и объяснение того, почему её считают безопасной**. Я не буду тратить время на долгие математические доказательства или скучные подробности реализации. Также я представлю **полезные примеры с визуальными интерактивными инструментами и скриптами**.
[Читать дальше →][7]

[1]: https://habrastorage.org/getpro/habr/post_images/365/385/e3c/365385e3cf8b5295a8bca46c3f07a3d7.png
[2]: https://tools.ietf.org/html/rfc4492
[3]: https://tools.ietf.org/html/rfc6637
[4]: https://tools.ietf.org/html/rfc5656
[5]: https://en.bitcoin.it/wiki/Secp256k1
[6]: http://code.activestate.com/recipes/578838-rsa-a-simple-and-easy-to-read-implementation/
[7]: https://habrahabr.ru/post/335906/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Текстонезависимая идентификация по голосу
habra.16
habrabot(difrex,1) — All
2017-08-28 13:30:06


Я люблю истории про апокалипсис, про то, как нашу планету порабощают пришельцы, обезьяны или терминаторы, и с детства мечтал приблизить последний день человечества.



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



![image][1]



Мой рукодельный терминатор будет несколько упрощён — он не сможет ходить, стрелять, говорить "I'll be back". Единственное на что он будет способен — распознать голос Коннора, ежели он его услышит (ну или, например, Черчилля, если его тоже надо будет найти).

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

[1]: http://habrastorage.org/web/f87/0b2/491/f870b2491bec4cde9d08ce71198cf416.png
[2]: https://habrahabr.ru/post/336516/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Pygest #16. Релизы, статьи, интересные проекты из мира Python [15 августа 2017 — 28 августа 2017]
habra.16
habrabot(difrex,1) — All
2017-08-28 13:30:06


![image][1] Всем привет! Это уже шестнадцатый выпуск дайджеста на Хабрахабр о новостях из мира Python.

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

А теперь к делу!
[Перейти к дайджесту][2]

[1]: https://habrastorage.org/files/aa2/815/f22/aa2815f2207940fab9ac72e85219fe3c.png
[2]: https://habrahabr.ru/post/336416/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Почему с NDFLka.ru вы полюбите очередь
habra.16
habrabot(difrex,1) — All
2017-08-28 15:00:14


![][1]

Сталкиваясь с налоговыми декларациями, не подкованный в бумажных делах человек часто нуждается в помощи специалиста. И когда он, потерянный и жаждущий налогового вычета, звонит, важно его не потерять — и дать ему ответы немедленно. Ради этого в сервисе NDFLka.ru готовы работать 24/7. Но с организацией телефонии в рабочие часы компания придумала пару полезных хитростей. Читайте о них под катом.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/a2e/139/dd2/a2e139dd2217497c9a1cb1f83da4c354.jpeg
[2]: https://habrahabr.ru/post/336526/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Linux: перенаправление
habra.16
habrabot(difrex,1) — All
2017-08-28 15:30:06


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

[![][1]][2]

Для оболочки, интерпретатора команд Linux, эти дополнительные символы — не пустая трата места на экране. Они — мощные команды, которые могут связывать воедино различные фрагменты информации, разделять то, что было до этого цельным, и делать ещё много всего. Одна из самых простых, и, в то же время, мощных и широко используемых возможностей оболочки — это перенаправление стандартных потоков ввода/вывода.
[Читать дальше →][3]

[1]: https://habrastorage.org/web/c1a/b80/66b/c1ab8066b930473e8d663e467a787287.jpg
[2]: https://habrahabr.ru/company/ruvds/blog/336320/
[3]: https://habrahabr.ru/post/336320/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Смена платежного сервиса с помощью A/B теста через HAProxy
habra.16
habrabot(difrex,1) — All
2017-08-28 18:00:05


Мы в Avito внимательно следим за развитием других классифайдов по всему миру. И конечно, нам интересны лучшие практики работы с такой непростой системой, как биллинг. Сегодня я публикую перевод поста моего коллеги по группе [Naspers][1] (Avito входит в её состав), М. Рафай Алема, инженера-программиста из [Dubizzle][2]. Это ведущий сайт объявлений в ОАЭ, входит в OLX Group — сеть крупнейших онлайн-рынков в 45 странах мира с более чем 1,9 млрд. посещений, 37 млрд. просмотров страниц и 54 млн. объявлений ежемесячно. Тема заинтересует всех, кто занимается созданием и развитием собственного платежного сервиса.


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

[1]: https://www.naspers.com/
[2]: https://dubizzle.com/
[3]: https://habrastorage.org/web/86b/bb7/c2a/86bbb7c2a68f4ec8a68be1a852b13e5f.jpeg
[4]: https://habrahabr.ru/post/336508/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Выключаем Intel ME 11, используя недокументированный режим
habra.16
habrabot(difrex,1) — All
2017-08-28 19:00:05


[![][1]][2]

В ходе исследования внутренней архитектуры Intel Management Engine (ME) 11-й версии был обнаружен механизм, отключающий эту технологию после инициализации оборудования и запуска основного процессора. О том, как мы нашли этот недокументированный режим, и о его связи с государственной программой построения доверительной платформы High Assurance Platform (HAP) мы расскажем в этой статье.

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

[1]: https://habrastorage.org/web/5d2/a85/fc0/5d2a85fc04ad45edaafac045c794f031.png
[2]: https://habrahabr.ru/company/pt/blog/336242/
[3]: https://habrahabr.ru/post/336242/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Декларативное программирование в web-е
habra.16
habrabot(difrex,1) — All
2017-08-29 00:30:04


![image][1]



Что же такое декларативное программирование? [Википедия][2] подскажет нам:


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

Далее в статье пойдет речь о том, как использовать данную парадигму в современном web-программировании. В частности, я хотел бы затронуть вопрос о валидации/верификации входных данных для веб сервисов. Примеры будут на php, так как это язык мне наиболее близок в профессиональном плане.

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

[1]: https://habrastorage.org/web/bdd/32d/dca/bdd32ddca2f74e469023a914f1a6f717.jpg
[2]: https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BA%D0%BB%D0%B0%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
[3]: https://habrahabr.ru/post/336096/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Go, go, go… Первые впечатления
habra.16
habrabot(difrex,1) — All
2017-08-29 13:30:05


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

[Go, go, go...][1]

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

[>] Дайджест докладов с митапов в офисе Mail.Ru Group
habra.16
habrabot(difrex,1) — All
2017-08-29 14:00:05


![][1]



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



Ниже мы публикуем подборку видео с митапов лета 2017-го:


* Moscow Data Science Junior, 10.06
* QA Meetup в Нижнем Новгороде, 06.07
* MySQL Meetup, 11.07
* IT-HR Meetup, 19.07
* Moscow Python Meetup 47, 27.07[Читать дальше →][2]

[1]: https://habrastorage.org/web/985/4ef/a80/9854efa802974cc9be37183da5d1b35e.jpg
[2]: https://habrahabr.ru/post/335282/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как новичок в Go контрибьютил
habra.16
habrabot(difrex,1) — All
2017-08-29 14:00:05


![][1]
_Rocky Runs Up The Stairs_



_Привет, Хабр. Вы, наверно, меня помните: я – Марко Кевац, системный программист в Badoo. Недавно я наткнулся на небольшой рассказ о том, как новичок сделал изменение в рантайме языка Go. Несмотря на то, что этот пост, наверное, довольно неожиданно встретить в хабраблоге Badoo, и многие могут сказать, что он банален и переполнен наивной радостью, я считаю, что такие истории демонстрируют, насколько сообщество Go доброжелательно и внимательно по отношению ко всем его участникам. Поэтому и перевел его. _



_А ещё в посте есть два интересных факта, связанных с внутренностями языка. Приятного чтения! _

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

[1]: https://habrastorage.org/web/62a/08e/816/62a08e8162cb4c4fa277cf05b5355931.jpg
[2]: https://habrahabr.ru/post/336620/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Хранилище логов для облачного хранилища. Опыт внедрения ELK
habra.16
habrabot(difrex,1) — All
2017-08-29 15:30:04


![][1]

_[Источник][2]_



Всем привет! Сегодня мы продолжим рассказывать про [облачное хранилище Техносерв Cloud][3], но уже с точки зрения эксплуатации. Ни одна ИТ-инфраструктура не обходится без инструментов мониторинга и управления, и наше облако не исключение. Для решения повседневных задач, связанных с мониторингом, мы используем продукты с открытым исходным кодом, одним из которых является [стек ELK][4]. В этой статье мы расскажем, как в нашем облаке устроен мониторинг журналов, и как ELK помог нам пройти аудит PCI DSS.

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

[1]: https://habrastorage.org/web/3f0/2a5/52c/3f02a552cc86489ca75ae2be2bbf67e6.png
[2]: https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elk-stack-on-ubuntu-14-04
[3]: https://habrahabr.ru/company/technoserv/blog/329338/
[4]: https://www.elastic.co/products
[5]: https://habrahabr.ru/post/336154/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Метаслой: идеи о применении предсказания для оптимизации программирования и распределения ресурсов в ОС
habra.16
habrabot(difrex,1) — All
2017-08-29 16:00:04


Здравствуйте, уважаемые читатели.

Сейчас много говорят о **«больших данных»**, обработка которых должна дать нам множество новых возможностей в самых различных сферах. В этой публикации я хотел бы немного рассказать об одной своей уже давней работе, которая, вообще говоря, предполагает **полезную обработку** некоторых «больших данных», естественным образом возникающих в процессе работы конечной программы или даже операционной системы. Если кратко, то речь идет, по меньшей мере, о временных профилях выполнения кода и о его различных внутренних характеристиках/переменных — это могут быть универсальные (например, размеры запрашиваемых у ОС блоков памяти) или локальные (внутренние переменные программы) значения. Я думаю, что несомненный интерес представляют:

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

б) поиск логических и приближенных математических зависимостей одних внутренних переменных программы от других.
[Читать дальше →][1]

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

[>] Хранилище логов для облачной платформы. Опыт внедрения ELK
habra.16
habrabot(difrex,1) — All
2017-08-29 18:00:04


![][1]

_[Источник][2]_



Всем привет! Сегодня мы продолжим рассказывать про [облачное хранилище Техносерв Cloud][3], но уже с точки зрения эксплуатации. Ни одна ИТ-инфраструктура не обходится без инструментов мониторинга и управления, и наше облако не исключение. Для решения повседневных задач, связанных с мониторингом, мы используем продукты с открытым исходным кодом, одним из которых является [стек ELK][4]. В этой статье мы расскажем, как в нашем облаке устроен мониторинг журналов, и как ELK помог нам пройти аудит PCI DSS.

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

[1]: https://habrastorage.org/web/3f0/2a5/52c/3f02a552cc86489ca75ae2be2bbf67e6.png
[2]: https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elk-stack-on-ubuntu-14-04
[3]: https://habrahabr.ru/company/technoserv/blog/329338/
[4]: https://www.elastic.co/products
[5]: https://habrahabr.ru/post/336154/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Шесть мифов о блокчейне, или Почему это не такая уж и плохая технология
habra.16
habrabot(difrex,1) — All
2017-08-29 18:30:05


**Про CryptoNote, Lightning Network, Plasma, PoS и прочее**

_Автор статьи — Алексей Маланов, эксперт отдела развития антивирусных технологий «Лаборатории Касперского»._

Недавно мы опубликовали статью [«Шесть мифов о блокчейне и Биткойне, или Почему это не такая уж эффективная технология»][1]. Статья была положительно встречена Хабра-сообществом и активно обсуждалась в комментариях, что явно свидетельствует о большом интересе к этой теме.

Было среди комментаторов и несколько возмущенных. Кто-то негодовал: «Зачем вы пишете очевидное, ведь это все давно всем прекрасно известно?» На это трудно возразить по существу. Но были и те, кто писал в ключе: «Все это неправда, на самом деле все проблемы решены там-то и там-то».

В ближайшее время мы планируем выпустить еще две статьи, в которых мы анализируем и критикуем те или иные аспекты, относящиеся к теме блокчейна. Чтобы не расстраивать блокчейн-адептов и Биткойн-оптимистов, мы решили, что для разнообразия стоит вне очереди написать и оптимистичную статью. Мы рассмотрим те же мифы, что и в прошлый раз, но только с позиции того, как решаются эти проблемы.
[Читать дальше →][2]

[1]: https://habrahabr.ru/company/kaspersky/blog/336036/
[2]: https://habrahabr.ru/post/336674/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Об операторах Publish, Connect, RefCount и Share в RxSwift
habra.16
habrabot(difrex,1) — All
2017-08-29 19:00:05


Привет, Хабр! Представляю вашему вниманию перевод статьи [Understanding Publish, Connect, RefCount and Share in RxSwift][1].

_Примечание переводчика.
В оригинале статьи используется Swift второй версии и соответствующая версия RxSwift. Я имел смелость переписать приведенные ниже куски кода под Swift 3.
Так же хочется отметить, что такие понятия, как Observable и Sequence, можно считать одним и тем же. То же касается Observer и Subscriber._

В этой статье я постараюсь объяснить такие операторы для работы с Connectable Observable в RxSwift, как `publish, connect, refCount` и `share`. Они используются вместе в различных комбинациях. Очень важно понимать разницу между:

* **`publish().connect() `**
* и **`publish().refcount()`** (или просто **`share()`**)

### Активные и пассивные Observables


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

Давайте горячий Observable мы будем называть Active Sequence, а холодный Passive Sequence.

* Active Sequence эмитит элементы **постоянно**, независимо от того, подписан на нее кто-нибудь или нет
* Passive Sequence начинает эмитить элементы **по запросу**
Примером Passive Sequence может служить запрос в сеть, который начинается только тогда, когда мы подписались на последовательность. Примерами Active Sequence могут служить web-socket соединение, события таймера или текст, производимый `UITextField`'ом.

И это все. Думайте об активных и пассивных последовательностях. Понятия горячих/холодных/теплых/прохладных Observables слишком запутанны и могут сбить с толку.
[Читать дальше →][2]

[1]: http://www.tailec.com/blog/understanding-publish-connect-refcount-share
[2]: https://habrahabr.ru/post/336662/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Быстрый тест производительности Python для вычислительных задач
habra.16
habrabot(difrex,1) — All
2017-08-29 19:30:04


## Мотивация


Совсем недавно вышла новая версия 0.34 библиотеки оптимизирующего JIT компилятора [Numba][1] для Python. И там ура! появилась долгожданная семантика аннотаций и набор методов для организации параллельных вычислений. За основу была взята технология [Intel Parallel Accelerator][2].

В данной статье я хочу поделиться результатами первого тестирования скорости вычислений на основе этой библиотеки для некоторой современной машины с четырехядерным процессором.
[Читать дальше →][3]

[1]: http://numba.pydata.org/
[2]: https://github.com/IntelLabs/ParallelAccelerator.jl
[3]: https://habrahabr.ru/post/336684/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Чемпионат #PGHACK. Платформа
habra.16
habrabot(difrex,1) — All
2017-08-29 19:30:04


Уже в эту субботу в московском офисе Avito пройдёт чемпионат по PostgreSQL. Это соревнование по управлению базами данных с практическими задачами. Мы реализовали его на платформе, полностью собранной из опенсорс-компонентов. Протестировали уже на двух внутренних соревнованиях (получилось интересно), и теперь готовимся к тому, чтобы провести #PGHACK для всех желающих постгресменов (мы ещё принимаем заявки на участие, ссылка в конце текста). В этом посте я расскажу о том, как мы готовили платформу для чемпионата.
![][1]

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

[1]: https://habrastorage.org/web/535/0b3/04e/5350b304e44743bda9b011dd88afc654.jpg
[2]: https://habrahabr.ru/post/336246/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] RailsClub 2017: Интервью с Nick Sutterer. Rails умирает (а Ruby нет)
habra.16
habrabot(difrex,1) — All
2017-08-29 21:00:05


Привет!
Сегодня публикуем интервью с [Ником Сатерером][1]. Ник создатель [Trailblazer][2], автор нескольких гемов и новых слоев абстракции в Rails, Rails contributor. Накануне [RailsClub 2017][3], где Ник будет делать доклад, Дмитрий Матвеев пообщался с ним о его работе и взглядах на развитие Rails.


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

[1]: https://github.com/apotonick
[2]: http://trailblazer.to/
[3]: http://railsclub.ru/
[4]: https://habrastorage.org/getpro/habr/post_images/6d1/922/211/6d1922211e1fa16071e3d99e83353b7f.jpg
[5]: https://habrahabr.ru/post/336690/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Приложения для Tarantool 1.7. Часть 2. OAuth2-авторизация
habra.16
habrabot(difrex,1) — All
2017-08-30 13:30:05


Как построить свое приложение для Tarantool и при этом не городить огород каждый раз, когда требуется сделать, казалось бы, элементарную вещь? Это продолжение цикла статей о том, как создавать свои приложения для Tarantool.



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



![][1]

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

[1]: https://habrastorage.org/web/6bc/a42/ca2/6bca42ca2fc74d00923ad3348e4cdb09.png
[2]: https://habrahabr.ru/post/336648/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Полезные трюки при работе с netcat
habra.16
habrabot(difrex,1) — All
2017-08-30 15:00:05


![image][1]


В данной статье я рассмотрю популярную сетевую утилиту netcat и полезные трюки при работе с ней.

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

[1]: https://habrastorage.org/getpro/habr/post_images/31d/a34/37d/31da3437d1ee391bf1bddb81a1c147ee.jpg
[2]: https://habrahabr.ru/post/336596/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как не обломать мозг об пароли вроде eLkdC,lk#jB
habra.16
habrabot(difrex,1) — All
2017-08-30 15:00:05


![image][1]

Нормальный стойкий пароль фиг запомнишь. Почти аксиома. Еще и безопасники радостно подбрасывают дровишек в этот костер ужаса, заставляя раз в месяц учить чудовищный фарш из мешанины символов. Параноидальные меры безопасности в лучших традициях [«Хакера в столовой»][2] приводят лишь к тому, что пользователи заботливо царапают пароли на мониторе или складывают под клавиатуру. Нет, серьезно, ну кто из обычных пользователей в здравом уме будет соблюдать требования к паролю в духе:

1. Длиннее 8 символов,
2. Содержит прописные, строчные буквы, числа и специальные символы,
3. Не повторяет ни один из предыдущих,
4. Меняется ежемесячно.
Давайте вспомним классическую историю про скрепки, батарейку, корректных лошадей и заодно посмотрим на пару клевых оффлайновых генераторов человекочитаемых паролей. В свое время это сильно облегчило мне жизнь.
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/e9b/15b/218/e9b15b2180f6ae52698ea1c5401fce5f.jpg
[2]: https://xakep.ru/2006/12/16/35784/
[3]: https://habrahabr.ru/post/334202/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Алгоритм машинного обучения Flappy Bird
habra.16
habrabot(difrex,1) — All
2017-08-30 16:00:05


Я познакомлю вас с полным **туториалом на HTML5** с демо по **алгоритму машинного обучения** видеоигре **Flappy Bird**. Цель этого эксперимента — написать игровой контроллер **искусственного интеллекта** на основе **нейросетей** и **генетического алгоритма**.

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

Прочитав теорию, лежащую в основе этого проекта, можно скачать исходный код в конце этого туториала. Весь код написан на HTML5 с использованием [фреймворка Phaser][1]. Кроме того, мы использовали [библиотеку Synaptic Neural Network][2] для реализации нейросети, чтобы не создавать её с нуля.


## Демо


Для начала посмотрите демо, чтобы оценить алгоритм в действии:

![][3]

[Запустить в полноэкранном режиме][4]
[Читать дальше →][5]

[1]: http://phaser.io/ "Phaser Framework"
[2]: https://synaptic.juancazala.com/
[3]: https://habrastorage.org/web/c7f/c72/6b0/c7fc726b0d8e45228e9726e5d1ee5e44.png
[4]: http://www.askforgametask.com/html5/tutorials/flappy/
[5]: https://habrahabr.ru/post/336612/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [в закладки] PDF-версия статей про Bash-скрипты
habra.16
habrabot(difrex,1) — All
2017-08-30 17:00:04


Привет Хабр! Летом мы переводили цикл статей про Bash-скрипты — судя по отклику, статьи оказались для вас полезными. И, по многочисленным просьбам, мы решили сделать PDF-версию перевода.

[![][1]][2]

Подробности под катом.
[Читать дальше →][3]

[1]: https://habrastorage.org/web/1d6/c47/951/1d6c479515ad434b8845e00445cc7b7f.jpg
[2]: https://habrahabr.ru/company/ruvds/blog/336764/
[3]: https://habrahabr.ru/post/336764/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Прототип проекта стоимостью $86 миллионов в 57 строках кода
habra.16
habrabot(difrex,1) — All
2017-08-30 17:30:04


![][1]



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



_Представлюсь: меня зовут Иван Греков, я из фронтенд-команды Badoo. Мне очень понравился этот пост, я просто не смог пройти мимо и не перевести его. Этот пост – отличный источник вдохновения для любителей прототипирования устройств и open-source-решений. Перевод публикуется с сохранением авторской точки зрения и, надеюсь, будет интересен вам. _

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

[1]: https://habrastorage.org/web/49c/5b2/e2f/49c5b2e2f66c4ae994acdc3f7fe31bc3.png
[2]: https://habrahabr.ru/post/336766/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Двойная бюстгалтерия* глазами программиста
habra.16
habrabot(difrex,1) — All
2017-08-30 20:00:05


![][1]

Большинство из нас сталкивались с бухгалтерами. Многим их терминология кажется китайской грамотой, как для гуманитария обратная польская запись. Однако разобравшись, понимаешь насколько это удобный и мощный инструмент.

Статья не академическая, а отражает сугубо мой упрощенный взгляд, и для тех кто уже осилил академические статьи — будет неинтересной. Тех же кому интересно понять такой простой и мощный инструмент как «двойная запись» — прошу под кат.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/73f/606/e1d/73f606e1d75e486fa81e91e974b3a321.jpg
[2]: https://habrahabr.ru/post/336656/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 ... 133