RSS
Pages: 1 ... 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 ... 133
[>] Awless — мощная альтернативная CLI-утилита для работы с сервисами AWS
habra.16
habrabot(difrex,1) — All
2017-06-07 14:30:05


![][1]

Все пользователи облачных сервисов Amazon давно знают про родной консольный инструмент для работы с ними — aws-cli. Но оказалось, что далеко не всем его достаточно: по этой причине компания WALLIX выпустила альтернативное и более функциональное решение под названием [awless][2].

Исходный код awless написан на языке Go (использует AWS Go SDK) и опубликован на GitHub под свободной лицензией (Apache License 2.0). Текущая версия awless — 0.1.0. Поддерживаются операционные системы GNU/Linux, Mac OS X и Windows. Что же позволяет эта утилита? [Читать дальше →][3]

[1]: https://habrastorage.org/web/2d6/4d2/b14/2d64d2b14c754bd5817703702c6fcf32.png
[2]: https://github.com/wallix/awless
[3]: https://habrahabr.ru/post/330398/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Поездка на Google I/O: как, зачем и сколько стоит
habra.16
habrabot(difrex,1) — All
2017-06-07 16:30:04


В этом году я впервые побывал на [Google I/O][1]. По итогу, могу с уверенностью сказать, что было круто! О докладах я рассказал в предыдущей [статье][2], а теперь — о самой поездке. Рекомендую каждому Android-разработчику туда съездить. Под катом — лайфхаки на тот случай, если вы хотите побывать на Google I/O, но не знаете, как это сделать и во сколько вам это обойдётся.

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

[1]: https://events.google.com/io/
[2]: https://habrahabr.ru/company/e-Legion/blog/329454
[3]: https://habrastorage.org/web/864/c9c/590/864c9c590867435990d7b84776c0fdb5.jpg
[4]: https://habrahabr.ru/post/330318/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Предварительная программа PyConRu-2017: выступят докладчики из Disney, Facebook, Яндекса, JetBrains, Тинькофф Банка
habra.16
habrabot(difrex,1) — All
2017-06-07 23:00:04


Привет! 16-17 июля в 95 км от Москвы пройдет пятая конференция для python-разработчиков [PyCon Russia][1]. Видео прошлогодних докладов можно посмотреть на [YouTube-канале][2].

Программа PyCon-2017 получается отличной. На конференции выступят: **Paul Hildebrandt** (Walt Disney Animation Studios, США), **Łukasz Langa** (Facebook, США), **Nina Zakharenko** (Venmo, США), **Александр Кошкин** (Positive Technologies), **Кирилл Борисов** (Яндекс), **Елизавета Шашкова** (JetBrains), **Михаил Юматов** (ЦИАН), **Ольга Сентемова** (Тинькофф Банк), **Игорь Новиков** (Scalr), **Олег Чуркин** (Rambler&Co) — и это не все. Подробности программы — под катом.

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

[1]: http://pycon.ru/2017/program/content/?utm_source=habr&utm_medium=post&utm_campaign=6.06
[2]: https://www.youtube.com/user/videoitpeople/playlists
[3]: https://habrastorage.org/web/b12/aba/93f/b12aba93f1a84fed9c64d92bf01eaebc.png
[4]: https://habrahabr.ru/post/330408/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Нативные EcmaScript модули: новые возможности и отличия от webpack
habra.16
habrabot(difrex,1) — All
2017-06-08 00:00:03


![image][1]



В предыдущей статье [Нативные ECMAScript модули — первый обзор][2] я рассказал историю JavaScript модулей и текущее состояние дел реализации нативных EcmaScript модулей.



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

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

[1]: https://habrastorage.org/web/477/efc/32e/477efc32e4624306acb9a5bb1f903570.png
[2]: https://habrahabr.ru/company/tuturu/blog/326716/
[3]: https://habrahabr.ru/post/329918/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Генерируем произвольные последовательности на выводах платы Raspberry Pi
habra.16
habrabot(difrex,1) — All
2017-06-08 02:00:04


![][1]

_Автор: Николай Хабаров, Embedded Expert DataArt, евангелист технологий умного дома._

В этой статье я расскажу, как написать обычное user space-приложение на Python для современного ARM-процессора с ОС Linux для генерирования сложных последовательностей импульсов на выводах платы. Суть идеи — использовать DMA-модуль процессора для копирования из предварительно подготовленного буфера в памяти в GPIO с высокой точностью по времени.

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

Я реализовал генерацию импульсов для управления шаговыми двигателями [проекта PyCNC][2] — проекта контроллера машин с ЧПУ, станков, 3D-принтеров, полностью написанного на Python и запускаемого на современном ARM-процессоре на плате Raspberry Pi.

Статья может быть полезна желающим реализовать генерацию сложных последовательностей установки уровней на выводах одного или нескольких GPIO на других высокоуровневых языках программирования, используя DMA-модули других процессоров. [Читать дальше →][3]

[1]: https://habrastorage.org/web/ab2/295/840/ab22958408144746a9961c0ce03bef5e.jpg
[2]: https://github.com/Nikolay-Kha/PyCNC
[3]: https://habrahabr.ru/post/330378/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Выстраиваем процесс разработки и CI pipeline, или Как разработчику стать DevOps для QA
habra.16
habrabot(difrex,1) — All
2017-06-08 13:30:04


**Дано:**

1. крупный проект на Java с фронтом на Angular,
2. разрабатываемый небольшой командой (~15 человек),
3. с использованием кучи (порядка 40 штук параллельно) фич-бранчей,
4. в git-репозитории;
5. несколько виртуальных серверов в приватном амазоновском облаке, которые можно использовать под задачи разработки;
6. разработчик, который немного подустал от Java, и хочет сделать что-нибудь по-настоящему полезное для постановки процессов.
**Требуется:**

1. обеспечить возможность команде QA инженеров тестировать каждый фич-бранч, как вручную, так и автоматизированно, на выделенном стенде, который не мешает остальным.
[![][1]][2]
_Консоль управления космическим кораблёмQA стендом_

Вот приходишь ты работать в маленький стартап с американскими корнями…
[...уже интригует? Дальше будет особенное девоповское порно][3]

[1]: https://habrastorage.org/getpro/habr/post_images/f48/65c/bdd/f4865cbdd78e7797bde41e9278e06ede.jpg
[2]: https://habrastorage.org/getpro/habr/post_images/f48/65c/bdd/f4865cbdd78e7797bde41e9278e06ede.jpg
[3]: https://habrahabr.ru/post/330366/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем пасьянс «Косынка»
habra.16
habrabot(difrex,1) — All
2017-06-08 13:30:04


Девять лет назад я имел неосторожность приобрести приставку PSP, чему был очень рад. Омрачало радость только отсутствие пасьянса. Не то, чтобы я был любителем пасьянса, но как-то привык я раскладывать один из вариантов — “Косынку”. Пришлось такой пасьянс написать самому. В дальнейшем этот написанный для PSP пасьянс я портировал под Windows и под QNX. В этой вот статье я и расскажу, как написать такую игру.

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

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

[>] Будущее MDN — фокус на Web Docs
habra.16
habrabot(difrex,1) — All
2017-06-08 13:30:04


На волне роста Mozilla Developer Network в сторону гораздо более крупного свода документации не только по продуктам компании (Firefox, Gecko и др.) было принято [решение][1] окончательно изменить фокус проекта и сконцентрировать его на открытых Веб-технологиях.

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

[1]: https://blog.mozilla.org/opendesign/future-mdn-focus-web-docs/
[2]: https://habrastorage.org/web/496/e4c/cc3/496e4ccc3d224f6dbda69a24fdf807bf.jpg
[3]: https://habrahabr.ru/company/1cloud/blog/330178/
[4]: https://habrahabr.ru/post/330484/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Когда docker-compose не хватает
habra.16
habrabot(difrex,1) — All
2017-06-08 15:00:04


## О чем пойдет речь {#o-chem-poydet-rech}



Здесь периодически появляются посты, в которых авторы делятся своими подходами по использованию [docker][1]. Ну что же, вот вам еще один. Ниже я расскажу о нашем опыте использования docker-окружения, о неудобствах, с которыми мы столкнулись, как мы с ними боролись, и во что это вылилось. А также поделюсь небольшим, но столь полезным для нас, инструментом.



![image][2]

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

[1]: https://www.docker.com/
[2]: https://habrastorage.org/web/db7/9e4/3c6/db79e43c6fcd48da85f51fc25a4fc07b.jpg
[3]: https://habrahabr.ru/post/330452/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] PHDays 2017: как это было
habra.16
habrabot(difrex,1) — All
2017-06-08 15:30:04


![][1]

Команда [mClouds.ru][2] побывала на международном форуме по практической безопасности Positive Hack Days (PHDdays VII), который прошёл 23-24 мая 2017 года в Москве. Форум собрал большой круг специалистов в области информационной безопасности, руководствуясь принципом — минимум рекламы и максимум полезных знаний.
[Читать дальше →][3]

[1]: https://habrastorage.org/web/c8d/7cf/b09/c8d7cfb093d046df9a96e3b6abafd3ec.png
[2]: https://mclouds.ru
[3]: https://habrahabr.ru/post/330468/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Побеждаем Android Camera2 API с помощью RxJava2 (часть 1)
habra.16
habrabot(difrex,1) — All
2017-06-08 15:30:04


![][1]



Как известно, RxJava идеально подходит для решения двух задач: обработки потоков событий и работы с асинхронными методами. В одном из [предыдущих постов][2] я показал, как можно построить цепочку операторов, обрабатывающую поток событий от сенсора. А сегодня я хочу продемонстрировать, как RxJava применяется для работы с существенно асинхронным API. В качестве такого API я выбрал Camera2 API.



Ниже будет показан пример использования Camera2 API, который пока довольно слабо задокументирован и изучен сообществом. Для его укрощения будет использована RxJava2. Вторая версия этой популярной библиотеки вышла сравнительно недавно, и примеров на ней тоже немного.



Для кого этот пост? Я рассчитываю, что читатель – умудрённый опытом, но всё ещё любознательный Android-разработчик. Очень желательны базовые знания о реактивном программировании ([хорошее введение – здесь][3]) и понимание Marble Diagrams. Пост будет полезен тем, кто хочет проникнуться реактивным подходом, а также тем, кто хочет использовать Camera2 API в своих проектах. Предупреждаю, будет много кода!



Исходники проекта [можно найти на GitHub][4].

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

[1]: https://habrastorage.org/web/342/d66/230/342d6623018f4d7b8d0392137429a5ba.jpg
[2]: https://habrahabr.ru/company/badoo/blog/304488/
[3]: https://habrahabr.ru/company/badoo/blog/328434/
[4]: https://github.com/ArkadyGamza/Camera2API_rxJava2
[5]: https://habrahabr.ru/post/330080/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Зачем хакеры воруют торговые алгоритмы хедж-фондов и HFT-компаний
habra.16
habrabot(difrex,1) — All
2017-06-08 17:30:04


[![][1]][2]

_Изображение: [Russ Allison Loar][3], [CC BY 2.0][4]_

После перерыва блог ITinvest возвращается на Хабр. Ранее мы уже рассказывали о том, как хакеры [атакуют][5] биржи и финансовые компании для кражи инсайдерской информации. Однако, часто злоумышленники не ограничиваются похищением финансовых данных и стремятся завладеть торговыми алгоритмами, которые хедж-фонды и HFT-фирмы используют для торговли на бирже. [Читать дальше →][6]

[1]: https://habrastorage.org/web/0d5/831/5d1/0d58315d11d34ea8a035f8c55d609e72.png
[2]: https://habrahabr.ru/company/itinvest/blog/330514/
[3]: https://www.flickr.com/photos/russloar/2484507721/
[4]: https://creativecommons.org/licenses/by/4.0/legalcode
[5]: https://habrahabr.ru/company/itinvest/blog/264471/
[6]: https://habrahabr.ru/post/330514/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Распределенные структуры данных (часть 2, как это сделано)
habra.16
habrabot(difrex,1) — All
2017-06-08 17:30:04


В предыдущей статье — [часть 1, обзорная][1] — я рассказал о том, зачем нужны распределенные структуры данных (далее — РСД) и разобрал несколько вариантов, предлагаемых распределенным кешем [Apache Ignite][2].



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



Итак:


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

[1]: https://habrahabr.ru/post/328086/
[2]: http://ignite.apache.org
[3]: https://habrastorage.org/web/f4a/0b7/a59/f4a0b7a5959f4aba953c80cefd9e6ffe.jpg
[4]: https://habrahabr.ru/post/328368/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Dagaz: Забегая вперёд
habra.16
habrabot(difrex,1) — All
2017-06-08 17:30:04


![image][1]        **_Сто тринадцать раз в секунду оно тянется, и достает все дальше. Если бы пришло подтверждение, сигнал — оно могло бы остановиться, и оно не останавливается. Оно тянется и находит всё новые способы. Оно импровизирует, оно изучает. Оно не сознает, что делает…

        Джеймс Кори «Пожар Сиболы»_**

Вообще говоря, «сильный» игровой AI не является моим приоритетом. Глупо соревноваться со специализированными игровыми движками, занимаясь универсальным и имея лишь однопоточный JavaScript, встроенный в браузер, в качестве вычислительного ресурса. Кроме того, есть целый ряд игр, в которых потребности в сложном AI просто не возникает. Вот [здесь][2], например, весь AI сводится к [поиску кратчайшего пути][3], а в [этой игре][4] с задачей прекрасно справляется [рандом][5]. Увы, такие игры скорее исключение чем правило. Гораздо чаще, приходится изрядно потрудиться, чтобы программа делала ходы, которые не казались бы попросту идиотскими.
[Читать дальше →][6]

[1]: https://habrastorage.org/getpro/habr/post_images/43e/794/3a3/43e7943a3e289a281570ab8b68d347b8.png
[2]: https://glukkazan.github.io/breakthrough/french-military-small.htm
[3]: https://github.com/GlukKazan/Dagaz/blob/master/src/debug/games/breakthrough/breakthrough-ai.js
[4]: https://glukkazan.github.io/stalemate/hunt.htm
[5]: https://github.com/GlukKazan/Dagaz/blob/master/src/debug/kernel/controller/ai/random-ai.js
[6]: https://habrahabr.ru/post/330320/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Объектное Реактивное Программирование
habra.16
habrabot(difrex,1) — All
2017-06-08 18:30:04


[Дмитрий Карловский][1] из [SAPRUN][2] представляет… ммм...


> Это — текстовая версия одноимённого выступления на [FrontendConf'17][3]. Вы можете [читать её как статью][4], либо [открыть в интерфейсе проведения презентаций][5].














































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

[1]: https://github.com/nin-jin/
[2]: http://www.saprun.com
[3]: http://frontendconf.ru/2017
[4]: https://github.com/nin-jin/slides/blob/master/orp/readme.md
[5]: https://nin-jin.github.io/slides/orp/
[6]: https://habrahabr.ru/post/330466/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как я участвовал в хакатоне Angular Attack, и что из этого вышло
habra.16
habrabot(difrex,1) — All
2017-06-08 20:30:04


Привет, друзья. Меня зовут Алексей, я работаю фронтенд-разработчиком в Санкт-Петербургском офисе компании Wrike, и сегодня я хочу рассказать про то, как я поучаствовал в хакатоне [AngularAttack][1], где моя работа Sherlock в итоговом протоколе заняла первое место.
![][2]
[Читать дальше →][3]

[1]: https://www.angularattack.com/
[2]: https://habrastorage.org/web/00c/873/5ba/00c8735ba9ed453494ee4c001b79f187.png
[3]: https://habrahabr.ru/post/330504/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] VDS для всех даром и пусть никто не уйдёт обиженным
habra.16
habrabot(difrex,1) — All
2017-06-08 23:30:04


Приветствую тебя, %USERNAME%.

Я представляю одну молодую хостинговую компанию. У нас пока нет корпоративного блога на Хабре и прочих прибамбасов большой и успешной компании, но у нас есть кое что получше. Кому стало интересно — прошу под кат.

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

[1]: https://habrastorage.org/web/9f9/9a1/e13/9f99a1e132a84624b8e21d1a83913003.jpg
[2]: https://habrahabr.ru/post/330546/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Быстрое восстановление данных. Чем нам помогут LRC?
habra.16
habrabot(difrex,1) — All
2017-06-09 00:00:04


![][1]


В современном мире наблюдается экспоненциальный рост объемов данных. Перед вендорами СХД возникает целый ряд задач, связанных с колоссальными объемами информации. Среди них — защита пользовательских данных от потери и максимально быстрое восстановление данных в случае выхода из строя сервера или диска.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/f74/957/da0/f74957da0b8041b3996a8ea6765c231e.jpg
[2]: https://habrahabr.ru/post/330530/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как получить оффер в Badoo в день собеседования. Часть вторая, для PHP-разработчика
habra.16
habrabot(difrex,1) — All
2017-06-09 12:00:04


![][1]



Привет, Хабр! Меня зовут Павел Мурзаков, я – PHP-тимлид в Badoo, и сегодня я расскажу вам о новой возможности получить предложение по работе в Лондоне за один день. Как вы, возможно, знаете, недавно в Москве прошло [рекрутинговое мероприятие][2] Badoo по поиску мобильных разработчиков. Оно оказалось очень успешным – мы предложили работу в Лондоне восьми ребятам и надеемся скоро увидеть их в составе нашей мобильной команды.



И, чтобы не отставать от наших iOS- и Android-команд (ведь их теперь на восемь человек больше!), мы решили ответить достойно и провести аналогичное мероприятие, на котором рассчитываем найти server-side-коллег нашим новым мобильным разработчикам!

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

[1]: https://habrastorage.org/web/78a/732/ac7/78a732ac7b1e4b22ac609f10fcb9a284.png
[2]: https://habrahabr.ru/company/badoo/blog/328322/
[3]: https://habrahabr.ru/post/330558/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] В 2017 году зафиксировано пятикратное увеличение DDoS-атак
habra.16
habrabot(difrex,1) — All
2017-06-09 14:00:05


Число DDoS-атак в первом квартале 2017 года возросло в пять раз по сравнению с аналогичным периодом прошлого года. Такие данные [приведены][1] в опубликованном 6 июня докладе Nexusguard Inc.

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

[1]: https://news.nexusguard.com/threat-advisories/q1-2017-ddos-threat-report
[2]: https://habrastorage.org/web/e80/34f/63c/e8034f63c67240d2aa22c49c09e4c805.jpg
[3]: https://habrahabr.ru/company/it-grad/blog/330340/
[4]: https://habrahabr.ru/post/330340/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Пишем софт, который будут ненавидеть
habra.16
habrabot(difrex,1) — All
2017-06-09 15:30:05


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

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

[1]: https://habrastorage.org/web/761/f57/321/761f5732168c4e918e092c45c38461ed.jpg
[2]: https://habrahabr.ru/company/ruvds/blog/330596/
[3]: https://habrahabr.ru/post/330596/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Третья IT-конференция GeekDay — три дня бесплатных мастер-классов по программированию
habra.16
habrabot(difrex,1) — All
2017-06-09 19:00:05


![][1]



Новость для тех, кто мечтает получить IT-профессию: с 22 по 24 июня пройдёт онлайн-IT-конференция GeekDay #3. За это время вы сможете прослушать 20 бесплатных мастер-классов по различным сферам программирования и разработки.



Что вас ждёт на третьем GeekDay?


1. Вы узнаете, как разработать и кастомизировать Android-приложение, как создать несколько приложений под iOS и 2D-игру. Поймёте, как сделать код лаконичным и красивым.
2. На мастер-классах вы сможете пообщаться с профессиональными практикующими программистами уровня Senior. У каждого спикера — профильное образование, солидный стаж работы по специальности и большой опыт разработки сервисов и приложений для крупных компаний (Mail.Ru Group, МегаФон, Билайн).
3. Общение и обмен опытом со специалистами поможет вам сформулировать идею и реализовать свой проект.[Читать дальше →][2]

[1]: https://habrastorage.org/web/f82/8cc/23c/f828cc23c1b14274bf1afc6e575eb644.png
[2]: https://habrahabr.ru/post/330600/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 23: EternalBlue портировали на Win10, ЦРУ атакует с файлсерверов, маркетологи незаметно заразили весь мир
habra.16
habrabot(difrex,1) — All
2017-06-09 22:30:04


Приключения EternalBlue продолжаются: теперь исследователи из RiskSense [портировали][1] его на Windows 10. На первый взгляд это деструктивное достижение, однако же, именно в этом состоит немалая часть работы исследователя-безопасника. Чтобы защититься от будущей угрозы, сначала надо эту угрозу создать и испытать, причем крайне желательно сделать это раньше «черных шляп».

Ранее RiskSense разработали EternalBlue-модуль для Metasploit, который отличается от оригинала тем, что его гораздо хуже детектят IDS. Из него выкинули имплант DoublePulsar который слишком хорошо изучен и не особо умеет скрываться на машине, демаскируя атаку. Вместо него исследователи разработали собственный шеллкод, который способен загрузить нужную нагрузку напрямую.

Исходный EternalBlue, как и его модуль для Metasploit, работает лишь на Windows 7 и Windows XP, а также на Windows Server 2003/2008 R2. В своем [отчете][2] компания подробно анализирует все цепочку багов, используемых эксплойтом, и из документа видно, что к подобной атаке уязвимы все системы на базе ядра NT – однако выручают защитные технологии, часть из которых EternalBlue обходить умеет, часть – не очень.
[Читать дальше →][3]

[1]: https://threatpost.com/nsas-eternalblue-exploit-ported-to-windows-10/126087/
[2]: http://risksense.com/download/datasets/4353/EternalBlue_RiskSense Exploit Analysis and Port to Microsoft Windows 10_v1_2.pdf
[3]: https://habrahabr.ru/post/330626/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] По щучьему велению… (язык программирования Pike)
habra.16
habrabot(difrex,1) — All
2017-06-10 18:30:04


Статья представляет собой очень краткое введение в Pike. Признайтесь — мало кто из вас слышал об этом языке. Однако язык Pike даже применяется в продакшене (для работы Opera в режиме Turbo).
[Читать дальше →][1]

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

[>] Красно-черные деревья: коротко и ясно
habra.16
habrabot(difrex,1) — All
2017-06-10 18:30:04


История из жизни. Девушка предложила своему парню-программисту пройти психологический тест:
> Девушка: Нарисуй дерево.
> Программист: (рисует бинарное дерево)
> Девушка: Нет, другое.
> Программист: Я и красно-черное дерево могу нарисовать.
Итак, сегодня хочу немного рассказать о красно-черных деревьях. Рассказ будет кратким, без рассмотрения алгоритмов балансировки при вставке/удалении элементов в красно-черных деревьях.
![][1] [Читать дальше →][2]

[1]: https://habrastorage.org/web/ae2/9ed/b02/ae29edb02c724c209d25ec3ee48724f5.png
[2]: https://habrahabr.ru/post/330644/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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


### Зачем решать экстремальные задачи


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

К сожалению, не всегда можно положиться на интуицию. Допустим Вы сотрудник коммерческой фирмы и отвечаете за рекламу. Затраты на рекламу в месяц не должны превышать 10 000 денежных единиц (д.е). Минута радиорекламы стоит 5 д.е., а телерекламы 90 д.е. Фирма намерена использовать радиорекламу в два раза чаще чем телерекламу. Практика показывает, что 1 минута телерекламы обеспечивает объём продаж в 30 раз больший чем 1 минута радиорекламы.

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

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

[>] [Перевод] Внимание! Хакеры начали использовать уязвимость «SambaCry» для взлома Linux-систем
habra.16
habrabot(difrex,1) — All
2017-06-10 22:00:05


![][1]

**Помните SambaCry**?

Две недели назад мы сообщали об обнаружении в сетевом программном обеспечении Samba (иная реализация сетевого протокола SMB) критической уязвимости 7-летней давности. Она обеспечивает возможность удалённого выполнение кода и позволяет злоумышленнику взять под контроль уязвимые Linux- и Unix-машины.

Чтобы узнать больше об уязвимости SambaCry (CVE-2017-7494), вы можете прочитать [нашу предыдущую статью][2].

В то время было обнаружено, что в Интернете существует около 485 000 компьютеров с поддержкой Samba и открытым портом 445. Исследователи предсказывали, что атаки на основе уязвимости SambaCry могут распространяться так же как WannaCry ransomware.

Предсказание оказалось довольно точным. Компьютер-приманка, созданный командой исследователей из «Лаборатории Касперского», подцепил вирус, который использует уязвимость SambaCry для заражения компьютеров Linux — загрузки инструкций и криптомайнера. [Читать дальше →][3]

[1]: https://habrastorage.org/web/3b4/d11/e10/3b4d11e10b384525bccc28d0b61a6afa.png
[2]: https://habrahabr.ru/company/cloud4y/blog/329464/
[3]: https://habrahabr.ru/post/330660/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Делаем бота для дракончика в Google Chrome
habra.16
habrabot(difrex,1) — All
2017-06-11 02:30:03


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

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

[1]: https://puu.sh/w9VmY/b481e7dbcc.png
[2]: https://habrahabr.ru/post/330672/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Настройка Reverse Proxy Apache (Debian 8) с автоматической выдачей Let's Encrypt
habra.16
habrabot(difrex,1) — All
2017-06-11 15:30:05


Так как за частую сайтов в организации много, а IP адресов мало, нужно иметь решение с Reverse Proxy. Для моих целей раньше всегда выступал Microsoft TMG, но у него есть свои недостатки, как и плюсы. Один из основных минусов, это то что на TMG нужно подгружать сертификаты публикуемого ресурса, что с Let's Encrypt довольно неудобно, ввиду обновления сертификатов каждые 90 дней.

Решение было найдено: поднять Reverse Proxy на Apache и сделать так, чтобы работала автовыдача сертификатов Let's Encrypt. А после чего спокойно публиковать его на Firewall, при этом порты буду перенаправляться с http на https.

За основу берем что у нас стоит чистый Debian GNU/Linux 8 (jessie). Подробнее под катом.
[Читать дальше →][1]

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

[>] Создаём динамическую обложку ВКонтакте
habra.16
habrabot(difrex,1) — All
2017-06-11 22:30:03


В последнее время всё большую популярность обретают различные интерактивные способы завлечь аудиторию и привлечь к себе больше внимания. Тут и боты для социальных сетей и мессенджеров, и другие решения, придающие «уникальности».
Среди них можно выделить и динамические обложки для сообществ, официально поддерживать которые ВКонтакте начали [в марте][1].
Почему я решил написать эту небольшую статью? Хотя ажиотаж вокруг этой темы и спал, всё равно она остаётся довольно популярной, находятся как «клиенты», готовые платить очень большие деньги, так и желающие научиться это делать самому.
Я работал с одной «студией», которая берет шестизначные суммы за эту работу, при этом кидая своих разработчиков и мелких клиентов.
Так вот, чтобы в этой сфере не было монополии, и все увидели, насколько легко это делается, я и решил написать статью.


_На примере моего пустого сообщества-песочницы_
[Читать дальше →][2]

[1]: https://vk.com/wall-1_340417
[2]: https://habrahabr.ru/post/330682/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Язык программирования SPL — пример решения задачи
habra.16
habrabot(difrex,1) — All
2017-06-12 02:00:03


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

[1]: http://erdani.com/tdpl/hamlet.txt
[2]: https://habrahabr.ru/post/330678/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Идиоматичный Redux: Дао Redux'а, Часть 1 — Реализация и Замысел
habra.16
habrabot(difrex,1) — All
2017-06-12 04:00:05


Мысли о том, какие требования выдвигает Redux, как задумано использование Redux и что возможно с Redux.



## Введение



Я потратил много времени, обсуждая онлайн паттерны использования Redux, была ли это помощь тем, кто изучает Redux в [Reactiflux каналах][1], дискуссии о возможных изменениях в API библиотеки Redux на Github'е, или обсуждение различных аспектов Redux'а в комментариях к тредам на [Reddit'е][2] или [HN (HackerNews)][3]. С течением времени, я выработал свое собственное мнение о том, что представляет собой хороший, идиоматичный Redux код, и я хотел бы поделиться некоторыми из этих мыслей. Несмотря на мой статус [мейнтейнера][4] Redux'а, **это всего лишь мнения**, но я предпочитаю думать, что они являются достаточно хорошими подходами.



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



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



В то же время, [продолжаются жалобы][5] на то, как Redux «заставляет» вас делать вещи определенными способами. Многие из этих жалоб на самом деле включают концепции связанные с тем, как Redux обычно используется, а не фактическими ограничениями наложенными самой библиотекой Redux. (Например, только в одном недавнем HN треде я видел жалобы: «слишком много шаблонного кода», «константы action'ов и action creator'ы не нужны», «я вынужден редактировать слишком много файлов чтобы добавить одну фичу», «почему я должен переключаться между файлами чтобы добраться до своей логики?», «термины и названия слишком сложны для изучения или запутанны», и _слишком_ много других.)

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

[1]: https://www.reactiflux.com/
[2]: https://www.reddit.com/r/reactjs/
[3]: https://news.ycombinator.com/
[4]: https://github.com/markerikson
[5]: https://habrahabr.ru/post/330072/
[6]: https://habrahabr.ru/post/330692/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Теория и практика unattended upgrades в Ubuntu
habra.16
habrabot(difrex,1) — All
2017-06-12 12:00:05


**Unattended upgrades** — это родной для Debian/Ubuntu (и других основанных на них дистрибутивов GNU/Linux) механизм автоматических обновлений. По умолчанию он включён в системе благодаря наличию установленного пакета `unattended-upgrades` и конфигурационного файла `/etc/apt/apt.conf.d/50unattended-upgrades`, а настроен на обновления пакетов только из security-репозитория, куда попадают, например, критичные исправления для пакета libssl, которые выходят в результате очередного пополнения базы уязвимостей CVE.

![][1]

_**Примечание**: здесь и далее рассматриваются unattended upgrades в контексте серверных редакций Ubuntu, что скорее всего применимо «как есть» и к другим дистрибутивам, но могут встречаться свои особенности, оставшиеся вне рамок статьи._

Итак, какие возможности предоставляют unattended upgrades и к каким проблемам могут привести? [Читать дальше →][2]

[1]: https://habrastorage.org/web/e24/f34/23d/e24f3423d4d746b384f4967cbc047755.png
[2]: https://habrahabr.ru/post/330406/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Об оптимизации комбинаторных алгоритмов
habra.16
habrabot(difrex,1) — All
2017-06-12 14:00:04


Не знаю, стоило ли делать отдельную заметку по оптимизации уже опубликованных алгоритмов или нужно было просто добавить в [старую статью][1] revised code. Я решил, что все же новенькое будет интереснее. Сразу должен сказать, что данная заметка предназначена не для профессиональных программистов, а скорее, для «студентов» гуманитариев [Читать дальше →][2]

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

[>] [Перевод] Отзывчивые столбчатые диаграммы с Bokeh, Flask и Python 3
habra.16
habrabot(difrex,1) — All
2017-06-12 21:00:05


# От переводчика {#ot-perevodchika}



Недавно наткнулся в [python digest][1] на туториал по Flask+Bokeh. Туториал ориентирован на новичков, не требуется даже знать синтаксис Python и HTML. Примеры работают под Ubuntu 16.04, на Windows немного отличается работа с виртуальными окружениями.
![image][2]

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

[1]: https://pythondigest.ru/
[2]: https://www.fullstackpython.com/img/170526-bar-charts-bokeh-flask/chart-example-64.png
[3]: https://habrahabr.ru/post/330706/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Реформа SQL-ориентированного подхода в DAO
habra.16
habrabot(difrex,1) — All
2017-06-12 21:00:05


## Вводная


Мне часто в проектах приходится сталкиваться с фреймворками по работе с БД. Концептуально, эти фреймворки можно разбить на 2 больших класса:
* **ORM**-ориентированные
* **SQL**-ориентированныеНекоторые из них хороши, какие-то не очень. Но субъективно могу сказать: SQL-ориентированные уступают в развитии ORM-ориентированным. Подчеркну, в развитии, а не в возможностях. Хоть изменить эту чашу весов и не получится, но предложить необычный взгляд на мир SQL-ориентированного подхода — вполне. Кому интересно, добро пожаловать под кат
[Читать дальше →][1]

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

[>] [Из песочницы] Клиент-сервер шаг — за — шагом, от однопоточного до многопоточного
habra.16
habrabot(difrex,1) — All
2017-06-13 00:30:04


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



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

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

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

[>] Нейрокурятник: часть 4 — итоговая модель и код на прод
habra.16
habrabot(difrex,1) — All
2017-06-13 06:30:04


![image][1]

_Типичный день в нейрокурятнике — куры часто еще и крутятся в гнезде_

Чтобы довести, наконец, проект нейрокурятника до своего логического завершения, нужно произвести на свет работающую модель и задеплоить ее на продакшен, да еще и так, чтобы соблюдался ряд условий:
* Точность предсказаний не менее 70-90%;
* Raspberry pi в самом курятнике в идеале мог бы определять принадлежности фотографий к классам;
* Нужно как минимум научиться отличать всех кур друг от друга. Программа максимум — также научиться считать яйца;

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

**Статьи про нейрокурятник**
**Заголовок спойлера**
1. **[Вступление ][2]про обучение себя нейросетям**
2. **[Железо, софт и конфиг][3] для наблюдения за курами**
3. [**Бот**][4], который постит события из жизни кур — без нейросети
4. [**Разметка **][5]датасетов
5. Работающая [**модель **][6]для распознавания кур в курятнике
6. Итог — работающий бот, распознающий кур в курятнике

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

[1]: https://habrastorage.org/getpro/habr/post_images/a5f/c10/51e/a5fc1051e661e784e3bdf26bfacd78e0.jpg
[2]: https://habrahabr.ru/post/328138/
[3]: https://habrahabr.ru/post/327978/
[4]: https://habrahabr.ru/post/328940/
[5]: https://habrahabr.ru/post/330740/
[6]: https://habrahabr.ru/post/330738/
[7]: https://habrahabr.ru/post/330738/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как создать современную CI/CD-цепочку с помощью бесплатных облачных сервисов
habra.16
habrabot(difrex,1) — All
2017-06-13 11:30:05


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


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



Такой способ создания программного обеспечения используется в процессах Непрерывной интеграции (Continuous Integration) и Непрерывного развертывания (Continuous Deployment), или CI/CD-цепочке. В этой статье мы пройдем по всем шагам настройки такой цепочки, используя для ее построения бесплатные облачные сервисы.

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

[1]: https://habrastorage.org/web/56f/7f2/f27/56f7f2f27b60494db942174510afe20f.jpeg
[2]: https://habrastorage.org/web/cd2/7b8/154/cd27b815499e4fe798591ef067a8216f.png
[3]: https://habrahabr.ru/post/329262/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Цена ошибки: кто и сколько платит за промахи программистов?
habra.16
habrabot(difrex,1) — All
2017-06-13 12:30:04


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



![Picture 4][1]

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

[1]: https://habrastorage.org/getpro/habr/post_images/f91/32d/b45/f9132db453ea24dac015d1454b1e1269.png
[2]: https://habrahabr.ru/post/330762/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как масштабировать биткойн-блокчейн
habra.16
habrabot(difrex,1) — All
2017-06-13 12:30:04


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

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

* Какой самый большой недостаток биткойн-блокчейна?
* Какие решения предлагало мировое сообщество?
* Какое из них станет частью биткойн-сети?
[![][2]][3] [Читать дальше →][4]

[1]: https://habrahabr.ru/company/bitfury/blog/326340/
[2]: https://habrastorage.org/web/790/d74/fe2/790d74fe217847eb91592c7abaff40eb.jpg
[3]: https://habrahabr.ru/company/bitfury/blog/330726/
[4]: https://habrahabr.ru/post/330726/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем Guard
habra.16
habrabot(difrex,1) — All
2017-06-13 13:30:05


![][1]



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



Есть несколько способов проверять аргументы на правильность. Например, для проверки на null можно использовать:


1. if (!ReferenceEquals(arg, null)) throw…
2. [Code Contracts][2]: Contract.Requires(!ReferenceEquals(arg, null))
3. Guard.IsNotNull(arg, nameof(arg))

В статье я рассмотрю только третий вариант (все примеры кода — для C#, однако некоторые из них будут полезны и в Java).

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

[1]: https://habrastorage.org/web/bcb/8bc/056/bcb8bc056a8147839ee16e5b162f65eb.jpg
[2]: https://msdn.microsoft.com/ru-ru/library/dd264808.aspx
[3]: https://habrahabr.ru/post/330150/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Выпуск Rust 1.18
habra.16
habrabot(difrex,1) — All
2017-06-13 14:30:05


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



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


$ rustup update stable

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

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

[1]: https://www.rust-lang.org/install.html
[2]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1180-2017-06-08
[3]: https://habrahabr.ru/post/330778/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как при помощи токена сделать Windows домен безопаснее? Часть 2
habra.16
habrabot(difrex,1) — All
2017-06-13 18:00:03


![Вам письмо][1]

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

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

[1]: https://habrastorage.org/web/49c/66e/274/49c66e27466f4e1499e348e5ee1d6f51.jpg
[2]: https://habrahabr.ru/post/329904/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Советы начинающему скалисту (Часть 2)
habra.16
habrabot(difrex,1) — All
2017-06-14 00:00:04


**Часть 2. Обо всем и ни о чем**



Сегодня мы обсудим ряд скалических идиом, которые не поместились в [первую часть][1] статьи. Мы рассмотрим вопросы интероперации языка с Java и, главное, неправильное использование объектно-ориентированных особенностей Scala.

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

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

[>] Внимание, Хабрахабр: IBM открывает бесплатный доступ к большому количеству своих ресурсов
habra.16
habrabot(difrex,1) — All
2017-06-14 02:30:04




Компания IBM уже много лет публикует материалы о своих разработках на Хабрахабре. Мы рады, что многие статьи интересны читателям. Тем не менее, мы также не раз видели желание наших читателей начать работу с сервисами и ресурсами IBM на бесплатной основе. И сегодня мы рады сообщить о том, что теперь многие пользователи смогут получить бесплатный доступ к большинству ресурсов Академического хаба, IBM Bluemix, когнитивным технологиям IBM Watson и Интернета вещей.

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

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

[>] Советы начинающему скалисту (часть 2)
habra.16
habrabot(difrex,1) — All
2017-06-14 02:30:04


**Часть 2. Обо всем и ни о чем**



Сегодня мы обсудим ряд скалических идиом, которые не поместились в [первую часть][1] статьи. Мы рассмотрим вопросы интероперации языка с Java и, главное, неправильное использование объектно-ориентированных особенностей Scala.

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

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

[>] [Из песочницы] Автоматизация тестирования OpenStack
habra.16
habrabot(difrex,1) — All
2017-06-14 06:00:06


![image][1]


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

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

В начале описывается сам процесс автоматизации со схемами и диаграммами. После описания процесса рассмотрены инструменты, которые предназначены для автоматизации тестирования OpenStack.
[Читать дальше →][2]

[1]: http://www.picshare.ru/uploads/170612/vCj9LgTx63.jpg
[2]: https://habrahabr.ru/post/330776/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Симметричное и асимметричное шифрование. Разбор алгоритма передачи шифрованных данных между серверами
habra.16
habrabot(difrex,1) — All
2017-06-14 13:30:04


Если имеется две машины и требуется переслать в одну или другую cторону данные в шифрованном виде — библиотека на php, написанная мною несколько месяцев назад и допиленная вчерашним вечером — то чем я хотел бы поделиться.

Условимся, что машина, которая передает шифрованные данные — это всегда машина A, а машина, которая их принимает — имеет условное обозначение B.

Библиотека решает два возможных случая (при необходимости довнесу функционал):

1) Случай, когда имеется машина (B), которой нужны данные от машины A (например, ей нужно получить толкен клиента) и эти данные должны быть получены безопасно. Т.е. инициатором передачи является машина B.
2) Случай, когда имеется машина и ей необходимо передать шифрованные данные на другую машину (B). В этом случае инициатором передачи является первая машина (А).
[Читать дальше →][1]

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

[>] Пишем простой драйвер под Windows для блокировки USB-устройств
habra.16
habrabot(difrex,1) — All
2017-06-14 13:30:04


Вряд ли пользователь домашнего ПК заинтересуется тем, чтобы блокировать устройства на своем ПК. Но если дело касается корпоративной среды, то все становится иначе. Есть пользователи, которым можно доверять абсолютно во всем, есть такие, которым можно что-то делегировать, и есть те, кому доверять совсем нельзя. Например, вы заблокировали доступ к Интернету одному из пользователей, но не заблокировали устройства этого ПК. В таком случае пользователю достаточно просто принести USB-модем, и Интернет у него будет. Т.е. простым блокированием доступа к Интернету дело не ограничивается.

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

В этой статье я расскажу немного теоретическую часть, на основе которой все строится, и расскажу принцип самого решения.
[Читать дальше →][1]

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

Pages: 1 ... 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 ... 133