RSS
Pages: 1 ... 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 ... 210
[>] Программирование под ARM TrustZone. Часть 1: Secure Monitor
habra.16
habrabot(difrex,1) — All
2017-11-22 13:30:04


Продолжаем наш цикл статей, посвященный столетию Великой Октябрьской… ARM TrustZone.

Сегодня мы разберемся, что такое Secure World, Normal World, как на программном уровне взаимодействуют две ОС – доверенная (TEE) и гостевая. Узнаем, для чего нужен и как работает Secure Monitor, как обрабатываются прерывания от устройств.

Если готовы – добро пожаловать под кат. [Читать дальше →][1]

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

[>] Квадратичные арифметические программы: из грязи в князи (перевод)
habra.16
habrabot(difrex,1) — All
2017-11-22 14:30:06


Продолжая серию статей про технологию zk-SNARKs изучаем очень интересную статью Виталика Бутерина "[Quadratic Arithmetic Programs: from Zero to Hero][1]"



Предыдущая статья: [Введение в zk-SNARKs с примерами (перевод)][2]



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

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

[1]: https://medium.com/@VitalikButerin/quadratic-arithmetic-programs-from-zero-to-hero-f6d558cea649
[2]: https://habrahabr.ru/post/342262/
[3]: https://blog.ethereum.org/2016/12/05/zksnarks-in-a-nutshell/
[4]: https://habrahabr.ru/post/342750/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Ещё один шажок к C++20. Встреча в Альбукерке
habra.16
habrabot(difrex,1) — All
2017-11-22 16:30:05


Из [центральной части][1] Канады — на юго-запад США! Альбукерке расположен в штате Нью-Мексико:

![][2]

На встрече международного комитета по стандартизации C++, которая прошла в этом городе, приняли одно очень большое нововведение в С++20 и несколько маленьких. [Читать дальше →][3]

[1]: https://habrahabr.ru/company/yandex/blog/336264/
[2]: https://habrastorage.org/webt/54/2x/ct/542xct8oihlwbtiirqmdyel5zpg.png
[3]: https://habrahabr.ru/post/342354/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Десять лучших антивирусов для Linux
habra.16
habrabot(difrex,1) — All
2017-11-22 16:30:05


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

[![][1]][2]

Сегодня мы рассмотрим десять лучших антивирусов для Linux. В Сети можно найти немало рассуждений о «самых лучших антивирусах», но мы полагаем, что доверять стоит не рассуждениям, а фактам. Программы, представленные здесь, отлично показали себя в [независимых исследованиях][3], и именно поэтому они попали в этот обзор.
[Читать дальше →][4]

[1]: https://habrastorage.org/webt/5w/xq/q9/5wxqq9q1lk9muvmpjrpquir-wgq.png
[2]: https://habrahabr.ru/company/ruvds/blog/342582/
[3]: https://www.av-comparatives.org/removal-tests/
[4]: https://habrahabr.ru/post/342582/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Вышла DuerOS — новая ОС с элементами ИИ
habra.16
habrabot(difrex,1) — All
2017-11-22 21:30:05


Компания Baidu в начале ноября выпустила DuerOS — новую операционную систему, которая должна будет подстегнуть разработку систем искусственного интеллекта. По [словам][1] разработчиков, ОС позволит быстрее развивать интерактивные возможности ИИ: распознавание и генерацию речи.

Об особенностях DuerOS и функциях операционных систем будущего расскажем далее.

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

[1]: https://globenewswire.com/news-release/2017/11/09/1179017/0/en/Baidu-Unveils-DuerOS-Prometheus-Project-to-Advance-Conversational-AI.html
[2]: https://habrastorage.org/webt/2b/ku/bl/2bkublsxkotyzfgm3lszhi6ppje.jpeg
[3]: https://habrahabr.ru/company/it-grad/blog/342772/
[4]: https://habrahabr.ru/post/342772/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как IaaS-провайдер работает с ИБ: угрозы и защита
habra.16
habrabot(difrex,1) — All
2017-11-22 22:00:06


По статистике Apiumhub, у [70% компаний][1] как минимум одно приложение работает в облаке. Миграция в облачную среду влечёт за собой ряд [преимуществ][2], но [многие предприятия][3] обеспокоены вопросами безопасности данных. Однако мнение о том, что облачная инфраструктура слабо защищена — [миф][4], поскольку провайдер специализируется на «обороне периметра».

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

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

[1]: https://apiumhub.com/tech-blog-barcelona/cloud-computing/
[2]: http://www.information-age.com/top-10-benefits-cloud-computing-123467995/
[3]: https://dome9.com/wp-content/uploads/2017/03/Cloud-Security-Report-2017.pdf
[4]: https://www.tripwire.com/state-of-security/security-data-protection/4-reasons-why-the-cloud-is-more-secure-than-legacy-systems/
[5]: https://habrastorage.org/webt/5x/hw/ue/5xhwue2mdctk5juitaimun_9vte.jpeg
[6]: https://habrahabr.ru/company/1cloud/blog/342770/
[7]: https://habrahabr.ru/post/342770/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Exonum 0.3 — что мы улучшили в новой версии фреймворка для разработки блокчейнов
habra.16
habrabot(difrex,1) — All
2017-11-22 22:30:05


Мы продолжаем развивать [Exonum][1]. В этот раз мы сосредоточили внимание на двух вещах: полностью перевели хранение данных на RocksDB, при этом прекратив поддержку LevelDB, и переписали сетевой код на Tokio. Зачем: эти решения позволили нам повысить эффективность хранения данных и увеличили производительность кода в сети.

О переходе с LevelDB на RocksDB мы говорили в [статье][2] о релизе прошлой версии фреймворка. Поэтому в сегодняшнем анонсе хотим подробнее остановиться на изменениях, которые пришли с Tokio, рассказать, как мы реализовали асинхронную обработку событий, и отметить другие улучшения.

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

[1]: https://exonum.com/blog/
[2]: https://habrahabr.ru/company/bitfury/blog/339142/
[3]: https://habrastorage.org/webt/ax/vq/oc/axvqocsgkgcor2pua0f0vmk8vya.png
[4]: https://habrahabr.ru/company/bitfury/blog/342970/
[5]: https://habrahabr.ru/post/342970/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] RNN: может ли нейронная сеть писать как Лев Толстой? (Спойлер: нет)
habra.16
habrabot(difrex,1) — All
2017-11-23 08:00:04


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

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

Структуру изложения я старался делать такой, чтобы можно было повторить все шаги новичку, даже не понимая в деталях, что именно происходит внутри этой сети. Профессионалы Deep Learning скорее всего не найдут тут ничего интересного, а тех, кто только изучает эти технологии, прошу под кат.
[Читать дальше →][1]

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

[>] [Перевод] Как сделать свой блокчейн. Часть 1 — Создание, Хранение, Синхронизация, Отображение, Майнинг и Доказательная работа
habra.16
habrabot(difrex,1) — All
2017-11-23 08:00:04


Доброго всем! Мы тут потихоньку начали исследовать новое совсем для нас направление для обучения — блокчейны и нашли то, что оказалось интересным в рамках нашего курса по [Python][1], в том числе. Чем, собственно, и хотим поделиться с вами.

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

[1]: https://otus.pw/Fdw4/
[2]: https://habrastorage.org/webt/g4/ay/jr/g4ayjrgmkp9dyb6r-epiyi10igw.jpeg
[3]: https://habrahabr.ru/post/342974/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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


![][1]


Ardour пока является самым крупным из музыкальных проектов, участвующих в обзоре дефектов кода. Проект включает около 1000 файлов исходного кода на языке C++. Проект активно поддерживается сообществом разработчиков, при этом я не нашёл упоминаний об использовании каких-либо инструментов статического анализа. Как следствие — множество ошибок разного характера. В статье будут описаны самые интересные из них.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/f75/a45/0cf/f75a450cf4104ea058d74f25508caaf5.png
[2]: https://habrahabr.ru/post/343002/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Космическая съёмка Земли
habra.16
habrabot(difrex,1) — All
2017-11-23 15:00:04


![][1]
_Cпутниковый снимок в ложных цветах (зелёный, красный, ближний инфракрасный) с пространственным разрешением 3 метра и наложенной маской зданий из OpenStreetMap (спутниковая группировка PlanetScope)_

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

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

[1]: https://habrastorage.org/web/4cb/38c/691/4cb38c6913874c71b0e79d86f42a8f47.png
[2]: https://habrahabr.ru/post/342028/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Первый 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

Pages: 1 ... 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 ... 210