RSS
Pages: 1 ... 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 ... 133
[>] Первый HighLoad Cup: как мы это пережили
habra.16
habrabot(difrex,1) — All
2017-11-23 17:30:09


Всем привет! Не так давно завершился [HighLoad Cup][1]. От многих участников поступала масса вопросов об устройстве чемпа изнутри. Мы, команда разработки чемпионатов и образовательных проектов Mail.Ru Group, в данной статье расскажем об устройстве чемпа, о внутренних механиках и немного об истории проведения первого HighLoad Cup!


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

[1]: https://highloadcup.ru/
[2]: https://habrastorage.org/webt/tj/d8/6g/tjd86g3bs5wvyda8atpw7i6868s.jpeg
[3]: https://habrahabr.ru/post/343032/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Версионирование и деплой кода PostgreSQL
habra.16
habrabot(difrex,1) — All
2017-11-23 22:00:09


Сотни баз данных и тысячи хранимых процедур. Как это всё писать, тестировать и деплоить на множество серверов с возможностью быстрого отката в условиях хайлоад 24х7 и не умереть? Интересно? Добро пожаловать под кат!

[![image][1]][2]

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

[1]: https://habrastorage.org/webt/oq/o4/m-/oqo4m-cqfp20bcraw9nwppbvedm.jpeg
[2]: https://habrahabr.ru/company/avito/blog/342946/
[3]: https://habrahabr.ru/post/342946/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Intel устранила найденную экспертами Positive Technologies уязвимость в подсистеме Management Engine
habra.16
habrabot(difrex,1) — All
2017-11-23 22:00:09


![image][1]

Компания Intel опубликовала [бюллетень безопасности][2], в котором сообщила о выпуске патча для устранения уязвимости в подсистеме Intel ME, которая была обнаружена экспертами Positive Technologies Марком Ермоловым и Максимом Горячим. Также компания Intel опубликовала специальный инструмент, который поможет администраторам Windows и Linux-систем узнать о том, уязвимо ли их оборудование.

Intel Management Engine — это закрытая технология, которая представляет собой интегрированный в микросхему Platform Controller Hub (PCH) микроконтроллер с набором встроенных периферийных устройств. Через PCH осуществляется почти все общение процессора с внешними устройствами, поэтому Intel ME имеет доступ практически ко всем данным на компьютере. Исследователям удалось найти ошибку, которая позволяет выполнять неподписанный код внутри PCH на любой материнской плате для процессоров семейства Skylake и выше. [Читать дальше →][3]

[1]: https://habrastorage.org/web/5d2/a85/fc0/5d2a85fc04ad45edaafac045c794f031.png
[2]: https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00086&languageid=en-fr
[3]: https://habrahabr.ru/post/343052/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Выпуск Rust 1.22 (и 1.22.1)
habra.16
habrabot(difrex,1) — All
2017-11-24 10:30:05


Команда Rust рада сообщить о двух новых версиях Rust: 1.22.0 и 1.22.1. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.


> Подождите, две версии? В последний момент мы [обнаружили проблему с новой macOS High Sierra][1] в версии 1.22.0 и по разным причинам выпустили версию 1.22.0 как обычно, но так же выпустили 1.22.1 с исправлением. Ошибка была найдена в менеджере пакетов Cargo, а не в `rustc`, и затронула только пользователей macOS High Sierra.

Если у вас установлена предыдущая версия Rust, для обновления достаточно выполнить:


$ rustup update stable

Если же у вас еще не установлен `rustup`, вы можете [установить его][2] с соответствующей страницы нашего веб-сайта. С [подробными примечаниями к выпуску Rust 1.22.0][3] и 1.22.1 можно ознакомиться на GitHub.



## Что вошло в стабильную версии 1.22.0 и 1.22.1 {#chto-voshlo-v-stabilnuyu-versii-1220-i-1221}



Самое главное изменение в этой версии, которого многие долго ждали: теперь вы [`можете использовать ?` с `Option`?



В Rust 1.22, основное использование оператора `?` с `Option` стабилизировано. Теперь такой код соберется:

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

[1]: https://github.com/rust-lang/rust/pull/46183
[2]: https://www.rust-lang.org/install.html
[3]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1220-2017-11-22
[4]: https://github.com/rust-lang/rust/pull/42526
[5]: https://blog.rust-lang.org/2016/11/10/Rust-1.13.html
[6]: https://habrahabr.ru/post/343058/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы]  «Угнать за 60 секунд» на примере одного каршеринга
habra.16
habrabot(difrex,1) — All
2017-11-24 13:30:09


![image][1]
_«Без разочарований не ощутишь вкус победы» © Мемфис Реймс_

История началась банально. В каком то ролике на YouTube рассказывали про каршеринг. С демонстрацией функции «приветствия», когда вам не удается найти автомобиль на большой парковке. У меня тут же возникла мысль проверить — а не смогу ли я активировать функцию приветствия на абсолютно все автомобили этой компании?! Ну весело же. Крупный российский город. И в какой то момент тысячи автомобилей по команде начинают сигналить и моргать фарами. Почти как в фильме «Крепкий Орешек 4».

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

[1]: https://habrastorage.org/getpro/habr/post_images/d67/f48/899/d67f48899df64210f2ea2489cae38ccc.jpg
[2]: https://habrahabr.ru/post/343090/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Трёхмерная графика с нуля. Часть 2: растеризация
habra.16
habrabot(difrex,1) — All
2017-11-24 13:30:09


![image][1]



[Первая часть][2] статьи может быть доказательством того, что трассировщики лучей — это изящный пример программного обеспечения, позволяющий создавать потрясающе красивые изображения исключительно с помощью простых и интуитивно понятных алгоритмов.

К сожалению, эта простота имеет свою цену: низкую производительность. Несмотря на то, что существует множество способов оптимизации и параллелизации трассировщиков лучей, они всё равно остаются слишком затратными с точки зрения вычислений для выполнения в реальном времени; и хотя оборудование продолжает развиваться и становится быстрее с каждым годом, в некоторых областях применения необходимы красивые, но в сотни раз быстрее создаваемые изображения уже _сегодня_. Из всех этих областей применения самыми требовательными являются игры: мы ожидаем рендеринга отличной картинки с частотой не менее 60 кадров в секунду. Трассировщики лучей просто с этим не справятся.

Тогда как это _удаётся_ играм?

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

[1]: https://habrastorage.org/getpro/habr/post_images/c80/eca/4f1/c80eca4f18ab01b268a8b33f4b5654f2.png
[2]: https://habrahabr.ru/post/342510/
[3]: https://habrahabr.ru/post/342708/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Развитие стратегий устойчивости
habra.16
habrabot(difrex,1) — All
2017-11-24 14:30:10


![][1]



В [предыдущей статье][2] я описал несколько алгоритмов эволюционных стратегий (evolution strategies, ES), помогающих оптимизировать параметры функции без необходимости явно вычислять градиенты. При решении задач обучения с подкреплением (reinforcement learning, RL) эти алгоритмы можно применять для поиска подходящих наборов параметров модели для агента нейросети (neural network agent). В этой статье я расскажу об использовании ES в некоторых RL-задачах, а также опишу методы поиска более стабильных и устойчивых политик.

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

[1]: https://habrastorage.org/webt/mc/ia/4y/mcia4ymddcwm0g3-uad-uwik-ee.jpeg
[2]: http://blog.otoro.net/2017/10/29/visual-evolution-strategies/
[3]: https://habrahabr.ru/post/343008/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] FPConf 2017. Интервью с Александром Вершиловым
habra.16
habrabot(difrex,1) — All
2017-11-24 15:00:10


Привет!

![][1]
Продолжаем говорить про Haskell со спикерами [FPConf 2017][2]. [Павел Аргентов][3] задал несколько вопросов Senior Software Engeneer в Tweag I/O [Александру Вершилову][4], программисту, который уже 10 лет продвигает Haskell в индустрии.

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

[1]: https://habrastorage.org/webt/dl/7g/ij/dl7gijjldmaxhaofp9y_z3hw0xa.jpeg
[2]: http://fpconf.ru/
[3]: https://medium.com/@argent_smith
[4]: https://github.com/qnikst
[5]: https://habrahabr.ru/post/343104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Лучшие VPN-решения для пользователей Linux
habra.16
habrabot(difrex,1) — All
2017-11-24 15:00:10


Если вы выходите в интернет со своего Linux-ноутбука, вам стоит знать об особенностях виртуальных частных сетей (Virtual Private Network, VPN). Эта технология особенно актуальна для тех, кто подключается к Сети через точки доступа, расположенные в общественных местах, однако, во многих ситуациях VPN не повредит и компьютеру, которым пользуются дома.

[![][1]][2]

VPN позволяет защищать данные, передаваемые из точки «А» в точку «Б». Точка «А» — это ваш компьютер. Точка «Б» — это VPN-провайдер, или VPN-система, которую развернули вы сами, либо в облаке, либо где-то ещё, например — в офисе. С VPN-сервисами можно взаимодействовать, используя множество протоколов, но их суть остаётся одной и той же: трафик, который путешествует между компьютером и VPN-сервисом, шифруется. Благодаря этому обеспечивается защита данных от перехвата на пути от пункта отправления к пункту назначения.

В ходе работы с VPN применимо множество сценариев, касающихся маршрутизации. Типичный сценарий заключается в перенаправлении всего трафика по VPN-соединению, но, кроме того, можно применить концепцию «раздельного туннелирования». При таком подходе некоторые данные идут через VPN, а другие — по обычному интернет-соединению в соответствии с правилами маршрутизации.
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/vz/ej/fj/vzejfjvrqvpko6uhpa4y5uav9gs.jpeg
[2]: https://habrahabr.ru/company/ruvds/blog/343050/
[3]: https://habrahabr.ru/post/343050/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Digital Transformation: Блокчейн в банке
habra.16
habrabot(difrex,1) — All
2017-11-24 17:00:11


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

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

[1]: https://habrastorage.org/webt/6h/ia/gr/6hiagrpelxiycqdjieeshg2qiys.png
[2]: https://habrahabr.ru/post/342364/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Развитие стратегий устойчивости
habra.16
habrabot(difrex,1) — All
2017-11-24 18:00:09


![][1]



В [предыдущей статье][2] я описал несколько алгоритмов эволюционных стратегий (evolution strategies, ES), помогающих оптимизировать параметры функции без необходимости явно вычислять градиенты. При решении задач обучения с подкреплением (reinforcement learning, RL) эти алгоритмы можно применять для поиска подходящих наборов параметров модели для агента нейросети (neural network agent). В этой статье я расскажу об использовании ES в некоторых RL-задачах, а также опишу методы поиска более стабильных и устойчивых политик.

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

[1]: https://habrastorage.org/webt/mc/ia/4y/mcia4ymddcwm0g3-uad-uwik-ee.jpeg
[2]: http://blog.otoro.net/2017/10/29/visual-evolution-strategies/
[3]: https://habrahabr.ru/post/343008/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] [Опрос] Ваш самый нелегальный/неэтичный проект
habra.16
habrabot(difrex,1) — All
2017-11-24 19:30:07


### История первая


Не я, но мой бывший советник тогда в Индии рассказывал нам эту поучительную историю на тему «зачем нужно проверять код» _(Примечание: это было лет 30 назад)_

**Чувак в адрес компании: если уволите меня, ваша система прекратит работать.**

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

В чем был фокус?

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

Нелегально? Возможно. Неэтично? Ага. Отличная история? А то!

_Nupul Kukreja, Senior Engineer at Credit Karma_

[Еще 5 историй][1]

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

[>] Направленный Bluetooth-маяк (iBeacon) и полный мобильный факап
habra.16
habrabot(difrex,1) — All
2017-11-25 22:00:08


Инверсия — великая вещь! Изобрети что-то одно, а потом возьми и выверни его наизнанку, получишь не менее интересный результат. Я сначала провернул такое с одной штукой, и только потом увидел, что в ТРИЗ (теория решения изобретательских задач) есть такой прием "инверсия или обратная аналогия". Век живи, век учись.



Но это все теория, а практика ставит всё на свои места...

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

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

[>] Мир блокчейна и криптовалют глазами космополита
habra.16
habrabot(difrex,1) — All
2017-11-25 22:00:08


![][1] Всем привет! Это частично серьезная, частично юмористическая статья про блокчейн и криптовалюты. В ней описаны политические и логические проблемы криптовалют. У тех, кто далек от этой темы, отвиснет челюсть после прочтения, ведь до глубокого погружения в этот мир он кажется совсем другим.
[Читать дальше →][2]

[1]: https://habrastorage.org/webt/2k/s4/bn/2ks4bn8hbp-kznedutyjxkyfowm.jpeg
[2]: https://habrahabr.ru/post/343176/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Автоматная разработка, практикум. Пример «Дисплей». Часть 1
habra.16
habrabot(difrex,1) — All
2017-11-25 23:30:06


_[Тесты в предыдущей статье ][1]убедительно показали высокую эффективность «автоматной» реализации примера «Дисплей» по сравнению с условно названной «неавтоматной» версией. Вкратце итог: обе реализации автоматные, но разница в эффективности многократна и глубинная причина видится в том, что вариант А1 («автоматный») изначально проектировался как автомат, а вариант А2 («неавтоматный») нет. Не столько автоматная реализация, сколько автоматное проектирование является основой высокой эффективности. Для простых алгоритмов автоматные реализации получаются сами собой. Есть смысл говорить о том, что автоматное программирование, это не столько реализация программы в виде конечного автомата, сколько автоматное **проектирование**, фундаментом которого является конструктивная декомпозиция. Я несколько раз касался темы автоматного проектирования и конструктивной декомпозиции, но чтобы раскрыть эту тему нужны практические примеры. В этой и следующих нескольких статьях я проведу практикум, покажу процесс автоматного проектирования, пытаясь по возможности приводить ход рассуждений присущих автоматному проектированию. _
[Читать дальше →][2]

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

[>] // бухой, пофиксю позже
habra.16
habrabot(difrex,1) — All
2017-11-26 02:00:04


long long ago; /* in a galaxy far far away */



//
// _oo0oo_
// o8888888o
// 88" . "88
// (| -_- |)
// 0\ = /0
// ___/`---'\___
// .' \\| |// '.
// / \\||| : |||// \
// / _||||| -:- |||||- \
// | | \\\ - /// | |
// | \_| ''\---/'' |_/ |
// \ .-\__ '-' ___/-. /
// ___'. .' /--.--\ `. .'___
// ."" '' "".
// | | : `- \`.;`\ _ /`;.`/ - ` : | |
// \ \ `_. \_ __\ /__ _/ .-` / /
// =====`-.____`.___ \_____/___.-`___.-'=====
// `=---='
//
//
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// 佛祖保佑 永无BUG
//

_«Слава богу, багов нет»_
[Читать дальше →][1]

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

[>] 34 независимых блога о UI-дизайне, веб-разработке и программировании
habra.16
habrabot(difrex,1) — All
2017-11-26 22:30:08


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

Под катом вы найдете ссылки на блоги, рекомендованные резидентами разных платформ: Quora, Stack Overflow, Hacker News, Reddit и др. Авторы этих блогов занимают самые разные должности в ИТ-экосистеме: разработчики, тестировщики, дизайнеры, управленцы, и пишут как статьи для начинающих, так и более продвинутые материалы.

Другие наши тематические подборки:

* [17 независимых блогов по математике, алгоритмам и языкам программирования][1]
* [22 независимых блога о разработке, ИБ, тестировании и геймдеве][2]
[![][3]][4] [Читать дальше →][5]

[1]: https://habrahabr.ru/company/it-grad/blog/338624/
[2]: https://habrahabr.ru/company/it-grad/blog/340136/
[3]: https://habrastorage.org/webt/yx/2z/jn/yx2zjnibgnhdh7ohi5lwc8ydsg4.jpeg
[4]: https://habrahabr.ru/company/it-grad/blog/343202/
[5]: https://habrahabr.ru/post/343202/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Эх, не люблю писать бойлерплейты, ведь есть IntelliJ IDEA и Apache Velocity
habra.16
habrabot(difrex,1) — All
2017-11-26 23:00:07


Добрый день, Хабр!

Речь в этой статье пойдет о том, как частично сократить объем кода, который зачастую приходится набирать вручную или откуда-то копипастить (боже упаси), средствами **IntelliJ IDEA**, а конкретнее — шаблонами файлов и кода. Если вы не достаточно знакомы с расширенным использованием возможностей этой IDE, то добро пожаловать под кат.

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

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

[>] Настройка аутентификации в SAP Netweaver AS Java (Часть 2 из 3)
habra.16
habrabot(difrex,1) — All
2017-11-27 10:00:07


### Вступление


[Первая часть][1] серии статей «Настройка аутентификации в SAP Netweaver AS Java» рассказывала о различных подходах к настройке аутентификации в приложениях, запускаемых на программной платформе SAP NW AS Java. Также в ней были обозначены области ответственности различных проектных групп (разработчики, функциональные консультанты, специалисты SAP Basis) за выполнение настроек аутентификации.

На общей схеме, введённой еще в первой части, обозначил элементы, которые буду сейчас рассматривать – это дескрипторы web.xml, web-j2ee-engine.xml, а также XML-файл схем аутентификации authschemes.xml.

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

[1]: https://habrahabr.ru/topic/edit/341876/
[2]: https://habrastorage.org/webt/jx/cx/_b/jxcx_bawjwpredivvciwdfnncpm.png
[3]: https://habrahabr.ru/post/343208/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 47: синезубые игрушки, зеленоглазое такси с утечкой и трюмный тетрис
habra.16
habrabot(difrex,1) — All
2017-11-27 10:00:07


[Новость на русском][1], [подробности на английском][2]

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

[1]: https://threatpost.ru/iot-toys-are-found-to-be-vulnerable/23282/
[2]: https://www.which.co.uk/news/2017/11/safety-alert-see-how-easy-it-is-for-almost-anyone-to-hack-your-childs-connected-toys/
[3]: https://habrahabr.ru/post/343218/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] 33 независимых блога о UI-дизайне, веб-разработке и программировании
habra.16
habrabot(difrex,1) — All
2017-11-27 10:30:07


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

Под катом вы найдете ссылки на блоги, рекомендованные резидентами разных платформ: Quora, Stack Overflow, Hacker News, Reddit и др. Авторы этих блогов занимают самые разные должности в ИТ-экосистеме: разработчики, тестировщики, дизайнеры, управленцы, и пишут как статьи для начинающих, так и более продвинутые материалы.

Другие наши тематические подборки:

* [17 независимых блогов по математике, алгоритмам и языкам программирования][1]
* [22 независимых блога о разработке, ИБ, тестировании и геймдеве][2]
[![][3]][4] [Читать дальше →][5]

[1]: https://habrahabr.ru/company/it-grad/blog/338624/
[2]: https://habrahabr.ru/company/it-grad/blog/340136/
[3]: https://habrastorage.org/webt/yx/2z/jn/yx2zjnibgnhdh7ohi5lwc8ydsg4.jpeg
[4]: https://habrahabr.ru/company/it-grad/blog/343202/
[5]: https://habrahabr.ru/post/343202/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Основы информационной безопасности. Часть 1: Виды угроз
habra.16
habrabot(difrex,1) — All
2017-11-27 11:30:08


![][1]

Безопасность виртуального сервера может быть рассмотрена только непосредственно как **«информационная безопасность»**. Многие слышали это словосочетание, но не все понимают, что же это такое?

**«Информационная безопасность»** — это процесс обеспечения **доступности, целостности и конфиденциальности информации**.

Под **«доступностью»** понимается соответственно обеспечение доступа к информации. **«Целостность»** — это обеспечение достоверности и полноты информации. **«Конфиденциальность»** подразумевает под собой обеспечение доступа к информации только авторизованным пользователям.

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

[1]: https://habrastorage.org/webt/ys/q1/so/ysq1sockvp-vj8fv6frzba_c_y4.jpeg
[2]: https://habrahabr.ru/post/343110/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Обзор дефектов кода музыкального софта. Часть 5. Steinberg SDKs
habra.16
habrabot(difrex,1) — All
2017-11-27 11:30:08


![][1]


Я продолжаю обзор кода музыкальных приложений, и перед нами первый представитель коммерческого программного обеспечения. В комментариях к предыдущим статьям я заметил популярность программы Cubase и решил почитать о ней. Это продукт компании Steinberg, у которой есть несколько программ с закрытым исходным кодом. Случайно на их сайте я нашёл SDK для сторонних разработчиков, и, изучив его, обнаружил множество интересных ошибок.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/fe0/e44/55b/fe0e4455b5f3b4d37f06627d3791da3c.png
[2]: https://habrahabr.ru/post/343252/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Решаем задачу нахождения длины наибольшей возрастающей подпоследовательности
habra.16
habrabot(difrex,1) — All
2017-11-27 13:30:08


**Содержание:**

[Последовательность Фибоначчи O (n)][1]
[Решение за O(n ^ 2)][2]
[Бинарный поиск O(log n)][3]
[Решение за O(n \* log n)][4]



## Задача {#zadacha}



_"Найти длину самой большой возрастающей подпоследовательности в массиве."_



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



## На пальцах {#na-palcah}



Есть последовательность:



5, 10, 6, 12, 3, 24, 7, 8



Вот примеры подпоследовательностей:



10, 3, 8
5, 6, 3



А вот примеры возрастающих подпоследовательностей:



5, 6, 7, 8
3, 7, 8



А вот примеры возрастающих подпоследовательностей наибольшей длины:



5, 6, 12, 24
5, 6, 7, 8

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

[1]: #feb
[2]: #On
[3]: #Bin
[4]: #ONLogN
[5]: https://habrahabr.ru/post/343210/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Программная инженерия отличается от программирования
habra.16
habrabot(difrex,1) — All
2017-11-27 13:30:08


![][1]

_Перевод [Software engineering is different from programming][2]._

Некоторым людям не нравится термин «программный инженер» из-за метафоры с **инженерным делом**. Но эта статья не про термин. Если он вам не нравится, замените на Автора программ, Умельца по программному обеспечению или Программного художника!

Под «программным инженером» я подразумеваю человека, который считает своей **профессией **написание качественного ПО. Этот человек использует науку и статистику в своей профессии, и не относится к ней как к способу зарабатывания денег.

Умение программировать не делает вас программным инженером.
[Читать дальше →][3]

[1]: https://habrastorage.org/webt/20/rs/s0/20rss0qp6zcv059jr049yez_b0a.jpeg
[2]: https://medium.com/@samerbuna/software-engineering-is-different-from-programming-b108c135af26
[3]: https://habrahabr.ru/post/343120/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Пишите письма…» или тренируемся работать с данными по обращениям граждан в правительство Москвы (DataScience)
habra.16
habrabot(difrex,1) — All
2017-11-27 15:00:09


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

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

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

Напомню, что наша статья рассчитана в первую очередь на начинающих любителей Python и его распространённых библиотек из области DataScience. Готовы? Тогда, милости прошу под кат.

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

[1]: https://habrahabr.ru/post/340698/
[2]: https://habrastorage.org/webt/jv/dk/zv/jvdkzva5yeav1wgklhtafnsutzy.png
[3]: https://www.youtube.com/watch?v=kK4H-LkrQjQ
[4]: https://habrahabr.ru/post/343216/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы контролируем качество кода в Браузере для Android. Лекция Яндекса
habra.16
habrabot(difrex,1) — All
2017-11-27 15:30:11


Автор этой лекции — Константин Заикин, руководитель группы разработки Яндекс.Браузера для Android в Санкт-Петербурге. Он рассказал об инструментах Android-разработчика и всей команды, а также о том, как справляться с legacy-кодом, публиковать большой проект вовремя и улучшать качество кода.


— Друзья, привет. Я очень рад, что вас так много сегодня пришло. Я приехал из Питера, в Яндексе работаю около шести лет. Успел засветиться в Картах, Такси, Метрике и Поиске. Уже два года я работаю над Яндекс.Браузером для Android.

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

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

[>] [Перевод] Машинное обучение: анализ временных рядов Azure Machine Learning для поиска аномалий
habra.16
habrabot(difrex,1) — All
2017-11-27 17:00:09


Обнаружение аномалий — одна из важнейших функций для решений в области «интернета вещей» (IoT), которые собирают и анализируют временные изменения в потоке данных от различных датчиков. Во многих случаях поток данных со временем не претерпевает значительных изменений. Однако если они появляются, это чаще всего означает, что в системе возникла аномалия, способная нарушить её работу. В этой статье я расскажу, как использовать модуль Time Series Anomaly Detection сервиса машинного обучения Azure Machine Learning для определения аномальных показателей датчиков.

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

[1]: https://habrastorage.org/webt/ca/q_/nc/caq_ncdfb3_f1ticvjeu4ytc4v8.jpeg
[2]: https://habrahabr.ru/post/343188/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Рефакторим вместе с Roslyn
habra.16
habrabot(difrex,1) — All
2017-11-27 17:00:09


Обычно рефакторинг представляется тяжелой работой над ошибками. Монотонное исправление ошибок прошлого вручную. Но если наши действия можно свести к алгоритму преобразований над A, чтобы получить B, то почему бы не автоматизировать этот процесс?



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

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

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

[>] [Из песочницы] Как научить нейросеть придумывать названия российских населенных пунктов
habra.16
habrabot(difrex,1) — All
2017-11-27 23:00:09


### Для начала немного несуществующих деревень и сёл {#dlya-nachala-nemnogo-nesuschestvuyuschih-dereven-i-syol}



Сальтолово
Ничичи
Каверная Голяна
Придориусловка
Старотипенки
Кюканово
Кутюшевка
Верхний Стед
Сабаревка
Зеленокировка
Хадонские Выселки
Старый Куля
Октяга
Ржиново
Черемошно
Голодионово
Александрово-Полейково
Подлопаново
Малое Сусовое
Горы-Чусалы
Чубравяково


----


### Зачем и почему {#zachem-i-pochemu}



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



Основываясь на аналогичных проектах ([названия британских деревень][1], [названия мест в Орегоне][2], [названия различных цветов и их RGB][3]), я решил научить нейросеть создавать названия несуществующих населенных пунктов



В качестве нейросети я решил воспользоваться [torch-rnn][4], которую достаточно легко установить и настроить. Список городов и сел я нашел [тут][5] (можно скачать все в формате csv). С csv пришлось немного повозиться, чтобы привести ее к utf-8, после чего я запихнул ее в нейросеть и оставил на пару часов. Когда тренировка модели закончилась я взял небольшой сампл и получил следующий результат:

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

[1]: https://medium.com/@hondanhon/i-trained-a-neural-net-to-generate-british-placenames-9460e907e4e9
[2]: https://www.onfocus.com/2017/07/7077/fake-oregon-placenames
[3]: http://aiweirdness.com/post/160776374467/new-paint-colors-invented-by-neural-network
[4]: https://github.com/jcjohnson/torch-rnn
[5]: https://maps.vlasenko.net/list/russia/
[6]: https://habrahabr.ru/post/343336/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] LizardFS — краткий обзор кластерной файловой системы
habra.16
habrabot(difrex,1) — All
2017-11-28 00:30:06


Интересная кластерная файловая система. На одном не очень большом проекте мы ее внедрили и работает она лучше популярных решений GlusterFS или NFS. Использует FUSE при подключении на стороне клиента. Мы думали, что будет это работать не лучше чем другие кластерные ФС, но в реальности оказалось все очень даже позитивно.
[Читать дальше →][1]

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

[>] Рождение Software Tools: как и зачем появились GREP и AWK
habra.16
habrabot(difrex,1) — All
2017-11-28 03:00:04


![image][1]
Этим летом мне на глаза попалось [эссе Брайана Кернигана «Иногда старые способы — лучшие»][2], опубликованное в честь 25-летнего юбилея журнала IEEE Software в 2008 году. В нем профессор Керниган рассказывал о том, какие инструменты он использует в работе.

В тот момент он был занят двумя сложными проектами — один из них подразумевал экспертный анализ проекта на 100 000 строк кода, написанный на C и Assembler в 1990 году, под Windows XP; другой — перенос кода с экзотического языка L1 на не менее экзотический язык L2 при помощи программы, написанной на неназванном скриптовом языке под Linux. Удивительно, но для столь разных задач профессор Керниган вместо IDE использовал один и тот же набор инструментов — _grep, diff, sort, awk, wc_ и прочих «старых знакомых» из эпохи раннего Unix. Более того, многие инструменты и IDE конца прошлого десятилетия он подверг критике за неудобность и несовершенство.

Действительно, к некоторым вещам в своей жизни мы привыкли настолько сильно, что уже воспринимаем их за данность и критиковать их нам даже не приходит в голову — нам кажется, будто они существовали всегда. Подобный образ мышления помогает адаптироваться к потоку новой информации и неизбежен в современном мире, но давайте не будем сегодня отказывать себе в удовольствии «спуститься на уровень ниже», чтобы увидеть, как появилась сама идея _программных инструментов_ (они же далее по тексту — _«software tools», утилиты, команды Unix_).
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/8cc/729/9e2/8cc7299e283dd8a9d981c61984f7942c.png
[2]: https://www.computer.org/documents/53319/47266692/SometimestheOldWaysareBest.pdf/1767d342-8501-4f7d-886e-6730d8ddb4bc
[3]: https://habrahabr.ru/post/333780/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Регулярные выражения для самых маленьких
habra.16
habrabot(difrex,1) — All
2017-11-28 04:30:03


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

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

Некоторые из них для наглядности будут показаны на примере языков программирования PHP или JavaScript, но в целом они работают независимо от ЯП.

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

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

Поехали!

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

[1]: https://habrastorage.org/webt/h1/9i/4n/h19i4ng_7n8_7mpap5spiy-fe8o.jpeg
[2]: https://habrahabr.ru/post/343310/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ScadaPy сервер JSON
habra.16
habrabot(difrex,1) — All
2017-11-28 10:30:07


В продолжение предыдущих статей о применении python для построения собственной scada системы, хотелось бы описать способ организации обмена между устройствами и вывод данных посредством json — текстового формата обмена данными.

В данном случае будем использовать клиентские части _modbusTCP_ и _OPCUA_ библиотек. [Читать дальше →][1]

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

[>] [Перевод] Непрерывная интеграция, непрерывная доставка, непрерывное развертывание: просто матрешка
habra.16
habrabot(difrex,1) — All
2017-11-28 11:00:07


[][1] Привет всем!

Напоминаем, что в самом начале сентября у нас вышла интересная книга Эберхарда Вольфа [«Continuous delivery. Практика непрерывных апдейтов»][2]

В любой бурно развивающейся отрасли порой бывает полезно определиться с терминами. Для тех, кто пока не успел познакомиться с книгой Вольфа, мы решили перевести небольшую статью Марко Анастасова, где доступно и внятно описаны отличия между Continuous Integration, Continuous Delivery и Continuous Deployment. Добро пожаловать под кат!

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

[1]: https://habrahabr.ru/company/piter/blog/343270/
[2]: https://www.piter.com/product_by_id/87629352
[3]: https://habrahabr.ru/post/343270/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как ты реализуешь аутентификацию, приятель?
habra.16
habrabot(difrex,1) — All
2017-11-28 14:00:09


![][1]



Все знают о стандартной аутентификации пользователя в приложении. Это олдскульная процедура регистрации — пользователь вводит адрес почты, пароль и т. д., — а затем при входе мы сравниваем почту и/или пароль с сохранёнными данными. Если совпадает, даём доступ. Но времена изменились, и сегодня появилось много других методов аутентификации. Если хотите оставаться востребованным программистом/разработчиком в этом меняющемся, словно калейдоскоп, мире разработки ПО, то вы должны знать обо всех этих новых методах.



Нельзя отрицать, что в любых приложениях и ОС «аутентификация» — крайне важный элемент обеспечения сохранности пользовательских данных и регулирования доступа к информации. Чтобы понять, какой метод аутентификации для вас лучше, нужно разбираться в достоинствах и недостатках всех методов, а также неплохо представлять, как же они работают.



Здесь я постараюсь рассказать о большинстве распространённых сегодня методов аутентификации. Это не подробное техническое руководство, а лишь способ познакомить вас с ними. Хотя методы описаны с учётом применения в вебе, эти идеи можно реализовать и в других условиях.

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

[1]: https://habrastorage.org/webt/5n/le/nm/5nlenmsnizocjgyyiopxn9wfuxy.jpeg
[2]: https://habrahabr.ru/post/343288/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] OWASP Top 10 2017
habra.16
habrabot(difrex,1) — All
2017-11-28 15:00:09


![image][1]
 
Состоялся финальный релиз Топ-10 уязвимостей от OWASP — наиболее критичных рисков безопасности веб-приложений. Обновление происходит примерно раз в 3-4 года, этот релиз затрагивает текущие и будущие проблемы безопасности веб приложений.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/6f4/162/e82/6f4162e82ebd9fc0cb74de57dd1297c5.jpg
[2]: https://habrahabr.ru/post/342986/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Собираем пользовательскую активность в WPF
habra.16
habrabot(difrex,1) — All
2017-11-28 16:30:08


Недавно мы рассказывали о том, как можно логировать действия пользователей в WinForms приложениях: [Оно само упало, или следствие ведут колобки][1]. Но что делать, если у вас WPF? Да нет проблем, и в WPF есть жизнь!

[![][2]][3]

В WPF не надо будет вешать никаких хуков и трогать страшный винапи, собственно за пределы WPF мы и не выйдем. Для начала вспомним, что у нас есть [routed events][4], и на них можно подписываться. В принципе, это все, что нам надо знать, чтобы реализовать поставленную задачу :)
[Читать дальше →][5]

[1]: https://habrahabr.ru/company/devexpress/blog/342530/
[2]: https://habrastorage.org/webt/jv/zd/h_/jvzdh_ory6pzwf7okawfaql9jei.png
[3]: https://ru.wikipedia.org/wiki/%D0%93%D0%B5%D0%BD%D0%B7%D0%B5%D0%BB%D1%8C_%D0%B8_%D0%93%D1%80%D0%B5%D1%82%D0%B5%D0%BB%D1%8C
[4]: https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/routed-events-overview
[5]: https://habrahabr.ru/post/343358/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Физически неклонируемые функции: защита электроники от нелегального копирования
habra.16
habrabot(difrex,1) — All
2017-11-28 16:30:08


За последние 10 лет количество товаров-подделок в мире увеличилось в 2 раза. Это данные [отчета][1] министерства внутренней безопасности США. Большая часть контрафакта приходится на Китай (56 %), Гонконг (36%) и Сингапур (2%).

Производители оригинальных товаров несут серьезные убытки, часть из которых приходится на рынок электроники. Многие современные товары содержат в себе электронные компоненты: одежда, обувь, часы, ювелирные изделия, автомобили. В прошлом году прямые потери от незаконного копирования потребительской электроники и электронных компонентов в составе других товаров достигли порядка 0,5 трлн долл. США.

![][2]

Эту проблему помогают решить различные методы защиты цифровой электроники от нелегального копирования, модификации и обратного проектирования: аппаратное шифрование (AES, RSA и др.), хеширование (например, SHA-256, MD-5), внедрение цифровых водяных знаков и отпечатков пальцев в проектное описание, лексическая и функциональная обфускация, формальная верификация и другие.

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

[1]: https://www.cbp.gov/sites/default/files/assets/documents/2017-Oct/FY2016%20IPR%20Stats%20Book.pdf
[2]: https://habrastorage.org/webt/tm/y4/ux/tmy4uxrhfbe3pk7mjs1qng1xuuw.png
[3]: https://habrahabr.ru/post/343386/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Наипростейший RESTful сервис на Kotlin и Spring boot
habra.16
habrabot(difrex,1) — All
2017-11-28 17:00:08


![][1]

Со времен релиза [Kotlin][2] прошло уже более года, да и [Spring boot][3] претерпел изменения. Наткнувшись на [статью][4] о том как написать простой RESTful сервис используя Kotlin и Spring boot, захотелось написать о том как же это можно сделать сегодня.



Эта небольшая статья ориентированна на тех кто никогда не писал код на Kotlin и не использовал Spring boot.

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

[1]: https://habrastorage.org/webt/pi/93/mx/pi93mxapomjg6suhlc6pbedv_bo.png
[2]: https://kotlinlang.org/
[3]: https://projects.spring.io/spring-boot/
[4]: https://habrahabr.ru/post/274997/
[5]: https://habrahabr.ru/post/343364/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сравнение качества кода Firebird, MySQL и PostgreSQL
habra.16
habrabot(difrex,1) — All
2017-11-28 18:00:09


![][1]


Сегодняшняя статья несколько необычна. Как минимум по той причине, что вместо анализа одного проекта, будем искать ошибки сразу в трёх, а также посмотрим, где найдутся наиболее интересные баги. А самое интересное — мы выясним, кто молодец и пишет самый качественный код. Итак, на повестке дня — разбор ошибок в коде проектов Firebird, MySQL и PostgreSQL.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/d99/28e/f3d/d9928ef3d7038b3b6d126b6952ad4502.png
[2]: https://habrahabr.ru/post/343410/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как Discord каждый день изменяет размер 150 млн картинок с помощью Go и C++
habra.16
habrabot(difrex,1) — All
2017-11-28 19:30:07


![][1]

Хотя Discord — это приложение для голосового и текстового чата, каждый день через него проходит более ста миллионов изображений. Конечно, мы бы хотели, чтобы задача была простой: просто перенаправить картинки вашим друзьям по всем каналам. Но в реальности доставка этих изображений создаёт довольно большие технические проблемы. Прямая ссылка на картинки выдаст хосту с картинкой IP-адреса пользователей, а большие изображения расходуют много трафика. Чтобы избежать этих проблем, требуется промежуточный сервис, который будет получать изображения для пользователей и изменять их размер для экономии трафика.


# Встречайте Image Proxy


Для выполнения этой работы мы создали сервис Python и креативно назвали его _Image Proxy_. Он загружает картинки с удалённых URL, а затем выполняет ресурсоёмкую задачу по ресайзингу с помощью пакета [pillow-simd][2]. Этот пакет работает удивительно быстро, используя где только возможно для ускорения ресайзинга [инструкции x86 SSE][3]. Image Proxy будет получать HTTP-запрос, содержащий URL, чтобы загрузить, изменить размер и, наконец, выдать окончательное изображение.
[Читать дальше →][4]

[1]: https://habrastorage.org/getpro/habr/post_images/201/bce/32b/201bce32b07895b92f2cb2026ae6c708.png
[2]: https://github.com/uploadcare/pillow-simd
[3]: https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions
[4]: https://habrahabr.ru/post/343414/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Интерполяционный многочлен на произвольных функциях
habra.16
habrabot(difrex,1) — All
2017-11-28 19:30:07


### Введение


Приветствую, уважаемые читатели! Сегодня предлагаю поразмышлять о следующей задачке:

Дано ![$n$][1] пар точек на плоскости ![$(x_1;y_1),...,(x_n;y_n)$][2]. Все ![$x_i$][3] различны. Необходимо найти многочлен ![$M(x)$][4] такой, что ![$M(x_i)=y_i$][5], где ![$i\in\{1,...,n\}$][6]

Переводя на русский язык имеем: Иван загадал ![$n$][7] точек на плоскости, а Мария, имея эту информацию, должна придумать функцию, которая (по меньшей мере) будет проходить через все эти точки. В рамках текущей статьи наша задача сводится к помощи Марии окольными путями.

«Почему окольными путями?» — спросите вы. Ответ традиционный: это статья является продолжением серии статей дилетантского характера про математику, целью которых является популяризация математического мира.
[Читать дальше →][8]

[1]: https://habrastorage.org/getpro/habr/formulas/08d/9fa/efb/08d9faefbe272bdf8fbb80773542e343.svg
[2]: https://habrastorage.org/getpro/habr/formulas/270/45b/a88/27045ba88c675afdc08b43c348c31d17.svg
[3]: https://habrastorage.org/getpro/habr/formulas/42f/173/c29/42f173c2992cf2826d484e0dac62fb74.svg
[4]: https://habrastorage.org/getpro/habr/formulas/539/215/d4f/539215d4fdc0b3018fdc14c399f30506.svg
[5]: https://habrastorage.org/getpro/habr/formulas/200/27d/cbc/20027dcbc141c7ae721d2dd55b35bd26.svg
[6]: https://habrastorage.org/getpro/habr/formulas/0ed/989/20e/0ed98920ecd02199ebdb3b89d7eaef9b.svg
[7]: https://habrastorage.org/getpro/habr/formulas/08d/9fa/efb/08d9faefbe272bdf8fbb80773542e343.svg
[8]: https://habrahabr.ru/post/343356/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как «Дадата» ищет дубли в списках торговых точек
habra.16
habrabot(difrex,1) — All
2017-11-28 20:00:08


![][1]

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

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

1. Евразия.
2. «САКУРА» Японская кухня.
3. Доминант.
4. Магазин-бутик «Евразия».
5. Милениум, ООО, продуктовый магазин.
6. Киви/ООО/Челябинск.
7. Супермаркет эко-продуктов «Доминант».

Точки № 1 и № 4 — дубли, № 3 и № 7 — тоже, но поди разберись.

А разобраться надо: когда в списке из 1000 торговых точек 300 дублей, у производителя начинаются проблемы.
[Что за проблемы и как мы их решаем][2]

[1]: https://habrastorage.org/webt/qk/v_/bn/qkv_bngkc6ex8gld976rfg_aa0u.jpeg
[2]: https://habrahabr.ru/post/343150/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] У CDROM’а век не долог?
habra.16
habrabot(difrex,1) — All
2017-11-29 01:30:03


> _DVD [диск] начнет умирать уже лет через 5. […] Я опираюсь на информацию из сети про условия и максимальный срок жизни, вполне может быть и лажа. Но фильмы на DVD[,] купленные ~10 лет назад[,] сейчас не запускаются ни один из нескольких десятков.
> Из [обсуждения][1]_


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

[1]: https://habrahabr.ru/post/342896/#comment_10541394
[2]: https://habrastorage.org/webt/jn/sh/wc/jnshwc_ydoqn748hncxx3hcdpgs.jpeg
[3]: https://habrahabr.ru/post/343448/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как «Дадата» ищет дубли в списках торговых точек. Разбираем алгоритм
habra.16
habrabot(difrex,1) — All
2017-11-29 02:00:04


![][1]

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

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

1. Евразия.
2. «САКУРА» Японская кухня.
3. Доминант.
4. Магазин-бутик «Евразия».
5. Милениум, ООО, продуктовый магазин.
6. Киви/ООО/Челябинск.
7. Супермаркет эко-продуктов «Доминант».

Точки № 1 и № 4 — дубли, № 3 и № 7 — тоже, но поди разберись.

А разобраться надо: когда в списке из 1000 торговых точек 300 дублей, у производителя начинаются проблемы.
[Что за проблемы и как мы их решаем][2]

[1]: https://habrastorage.org/webt/qk/v_/bn/qkv_bngkc6ex8gld976rfg_aa0u.jpeg
[2]: https://habrahabr.ru/post/343150/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Найдена уязвимость в Mac OS High Sierra, позволяющая войти суперпользователем в незащищенный компьютер
habra.16
habrabot(difrex,1) — All
2017-11-29 04:00:05


Был опубликован [твит][1], согласно которому можно получить привелегии суперпользователя, если в окошке _System Preferences > Users & Groups_ открыть любого пользователя, щелкнуть на замке, после чего указать root в качестве пользователя и оставить пароль пустым. Несколько (sic!) кликов по _Unlock_ «убеждают» MacOS в необходимости предоставить права суперпользователя.

Уязвимость была экспериментально подтверждена множеством пользователей.

Что еще хуже, данный трюк работает на экране входа в систему.
[Читать дальше →][2]

[1]: https://twitter.com/lemiorhan/status/935578694541770752
[2]: https://habrahabr.ru/post/343452/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Ошибки операторов ПДн, связанные с кадровой работой
habra.16
habrabot(difrex,1) — All
2017-11-29 10:30:06


[![][1]][2]

Прошло более 10-ти лет с момента принятия Федерального закона от 27.07.2006 N 152-ФЗ «О персональных данных», однако надзорная деятельность Роскомнадзора показывает, что далеко не все еще освоились с практикой его применения. В частности, в статистике за 2016-й год явно просматривается одна из типичных ошибок операторов, в большинстве случаев, связанная с кадровой работой (видимо, как наиболее распространенная деятельность), а именно:
> «Несоответствие содержания письменного согласия субъекта персональных данных на обработку персональных данных требованиям законодательства Российской Федерации (ч. 4 ст. 9 Федерального закона от 27.07.2006 № 152-ФЗ «О персональных данных») – примерно 9% от общего количества выявленных в 2016 году нарушений.»
Давайте попробуем еще раз взглянуть на данную проблематику. Тем более, благодаря нововведениям в законодательстве, штрафы значительно выросли. [Читать дальше →][3]

[1]: https://habrastorage.org/webt/sj/fe/oi/sjfeoipw196fqnocyzxzbgd8m6m.jpeg
[2]: https://habrahabr.ru/company/cloud4y/blog/343378/
[3]: https://habrahabr.ru/post/343378/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Объяснение SNARKs. Гомоморфное скрытие и слепое вычисление полиномов (перевод)
habra.16
habrabot(difrex,1) — All
2017-11-29 11:00:04


Привет, Хабр! Представляю вашему вниманию перевод статей блога ZCash, в которых рассказывается о механизме работы системы доказательств с нулевым разглашением SNARKs, применяемых в криптовалюте ZCash (и не только).

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

* [Введение в zk-SNARKs с примерами (перевод)][1]
* [Квадратичные арифметические программы: из грязи в князи (перевод)][2]
В этой части мы рассмотрим гомоморфное скрытие и слепое вычисление полиномов. Поехали…
[Читать дальше →][3]

[1]: https://habrahabr.ru/post/342262/
[2]: https://habrahabr.ru/post/342750/
[3]: https://habrahabr.ru/post/343054/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Три мифа о безопасности мобильных платежей
habra.16
habrabot(difrex,1) — All
2017-11-29 13:30:08


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

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

Pages: 1 ... 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 ... 133