RSS
Pages: 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 133
[>] Компьютерное зрение и мобильные роботы. Часть 1 — V-REP, Python, OpenCV
habra.16
habrabot(difrex,1) — All
2016-04-08 20:00:02


![][1] Когда прочитал [публикацию про запуск беспилотных гоночных автомобилей][2] — подумал, было бы интересно сделать что-то подобное. Конечно не гоночный болид, но по крайней мере мобильный робот, что ориентируется в пространстве посредством камеры — распознаванием образов. В нашем хакспейсе — создать робота не такая большая проблема. Но не у всех и не всегда есть возможность экспериментировать с реальным «железом» — поэтому интересно было попробовать решить задачу — в виртуальной среде, и после уже оживить «железо». Так и возникла идея серии статей, про решение простейшей задачи ориентации робота в пространстве — от виртуальной симуляции, до воплощения в реальном мобильном роботе: **Часть 1**. Настройка виртуальной среды, интеграция с python и OpenCV для распознавания образов из виртуального мира. **Часть 2**. Создание виртуального мобильного робота, алгоритм автономного перемещения (поиск объекта) **Часть 3**. Создание реального робота, перенос логики на него. Хочется добиться такого результата — чтобы python скрипт, управляющий виртуальным роботом — был бы максимально идентичным тому, что будет управлять реальным роботом. Мозгом робота будет микрокомпьютер RaspberryPi2 — на котором без проблем работает и python, и OpenCV. Таким образом необходимо состыковать систему виртуальной робототехники V-REP — с Python и OpenCV. Вот про это и будет первая часть — данная публикация.








Нарисуем архитектуру нашего мобильного робота. [Читать дальше →][3]

[1]: https://habrastorage.org/files/547/d05/396/547d0539640842a4904a2b3a0c1a22a6.jpg
[2]: https://geektimes.ru/post/266626/
[3]: https://habrahabr.ru/post/281186/#habracut

[>] Security Week 14: опасная уязвимость в Adobe Flash, WhatsApp включает шифрование, Пентагон платит за баги
habra.16
habrabot(difrex,1) — All
2016-04-09 11:30:03


![][1]История о споре между Apple и ФБР показала нам как политика может повлиять на технологии. На этой неделе все обсуждают обратный пример — тему об утечке данных из панамской юридической фирмы Mossack Fonseca. Не касаясь политической стороны этого события, не могу не отметить важный момент: резонансная история, скорее всего, началась с кибератаки и кражи данных. Об этом [говорят][2] в самой компании и есть косвенные доказательства того, что [взломать][3] инфраструктуру фирмы было не так уж сложно. В частности, внешний доступ к документам клиентов работал на версии Drupal трехлетней давности с минимум двумя критическими уязвимостями (впрочем, достаточно было одной [этой][4]). Как на самом деле все произошло, мы вряд ли когда-нибудь узнаем. В индустрии ИБ вообще очень сложно учиться на чужих ошибках: делиться негативным опытом компании, по понятным причинам, не любят. Но общие выводы сделать можно, а именно: — Не бывает неважных корпоративных данных. Не исключено, что в Mossack Fonseca даже не подозревали, какой резонанс могут вызвать хранящиеся у них документы. Это приводит к недооценке рисков и неадекватным затратам на защиту. — Шифрование данных — это эффективная мера. Об этом говорит иная часть данной истории: десятки журналистов по всему миру анализировали полученные документы больше года, используя облачные системы и различные формы передачи данных в зашифрованном виде (начиная с VeraCrypt, форка TrueCrypt для шифрования жестких дисков). За это время не произошло ни одной утечки, несмотря на огромное количество участников проекта и отсутствие серьезных обязательств между ними. — Объем утечки превышает 2,5 терабайта. Нужна система, которая поможет компаниям фиксировать такие события. Неважно по какой причине с серверов компании утекает огромный объем данных — специалист по безопасности должен об этом знать. А теперь перейдем к традиционным новостям. Все выпуски дайджеста доступны [по тегу][5]. [Читать дальше →][6]

[1]: https://habrastorage.org/files/448/ba3/0b8/448ba30b8b694114b46e9276ae1af209.jpg
[2]: http://news.sky.com/story/1672161/panama-papers-leak-is-a-crime-says-law-firm
[3]: http://www.wired.co.uk/news/archive/2016-04/06/panama-papers-mossack-fonseca-website-security-problems
[4]: https://www.drupal.org/PSA-2014-003
[5]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[6]: https://habrahabr.ru/post/281250/#habracut

[>] The dangers of not looking ahead
habra.16
habrabot(difrex,1) — All
2016-04-09 17:30:02


На первый взгляд, dynamic в C# — просто object с поддержкой машинерии компилятора. Но не совсем. Ядром времени выполнения является DLR (Dynamic Language Runtime) — подсистема/фреймворк для поддержки динамических языков программирования. Существует реализация под собственно C#, который идет в поставке с .NET, и отдельная для Iron-языков. Когда мы работаем с обобщениями (generics), то CLR имеет свои оптимизации на предмет специализации оных. В тот момент, когда CLR+DLR должны работать с generics вместе, **поведение** написанного кода может стать **непредсказуемым**. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/281274/#habracut

[>] Снова об Electron или рисуем музыку ВК
habra.16
habrabot(difrex,1) — All
2016-04-10 18:00:02


![image][1] Добра всем! Electron — эта такая забавная штука, про которую мало статей на хабре(сходу нашел только [habrahabr.ru/post/272075][2] и [habrahabr.ru/post/278951][3]). Давно хотел написать что-нибудь такое-эдакое, вот руки и дошли — заодно и одним велосипедом в мире станет больше. Итак, если вкратце: electron — это такой гибрид node.js и chromium'а. Зачем? Очень разнообразный диапазон применений — мощное GUI(html/js/css), нехилая расширяемость(в том числе с возможностью использования других языков вроде C++ или C#), всякие приятности вроде jQuery и т.д. В-общем, удобная штука для разработки и дистрибуции standalone кроссплатформенных приложений. Теперь о приложении. Оно реализует базовый пример расширения функционала стороннего сайта, базовые принципы работы с [Raphael.js][4](графическая библиотека для отрисовки/анимации svg), [Dancer.js][5](библиотека для визуализации звука, в данном случае — получения audio waveform). [Читать дальше →][6]

[1]: https://habrastorage.org/files/e82/68d/7a3/e8268d7a39c54e8e8e676bdfa819c126.png
[2]: https://habrahabr.ru/post/272075/
[3]: https://habrahabr.ru/post/278951/
[4]: http://dmitrybaranovskiy.github.io/raphael/
[5]: https://github.com/jsantell/dancer.js/
[6]: https://habrahabr.ru/post/281278/#habracut

[>] Заявки студентов на проекты KolibriOS в рамках Google Summer of Code
habra.16
habrabot(difrex,1) — All
2016-04-11 08:00:04


![][1] 25 марта закончился приём заявок от студентов в рамках **Google Summer of Code**. Всего подавали заявки 16 человек, причем некоторые студенты подали заявки сразу на несколько проектов. Поступили заявки от студентов из Индии (6), Испании (1), России (7), Украины (1), США (1). И нам надо было определиться с количеством проектов, финансовую поддержку которых мы просим у Google. [Читать дальше →][2]

[1]: https://habrastorage.org/files/caa/d8e/99e/caad8e99ebe9416db55b9647f2329623.PNG
[2]: https://habrahabr.ru/post/280540/#habracut

[>] man!(C => D => Rust)
habra.16
habrabot(difrex,1) — All
2016-04-11 09:00:02




[Предыдущую статью][1] восприняли лучше, чем я ожидал, так что решился на продолжение эксперимента. Это своеобразный ответ на [перевод статьи][2] [Programming in D for C Programmers][3] за авторством Дмитрия aka [vintage][4]. Как мне кажется, в области применения C Rust более уместен, чем замена Go, как предполагалось в прошлой статье. Тем интереснее будет сравнить. Опять таки, код на С приводить не буду, тем более что аналог на D всё равно смотрится лаконичнее.

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

[1]: https://habrahabr.ru/post/280642/
[2]: https://habrahabr.ru/post/276227/
[3]: http://dlang.org/ctod.html
[4]: https://habrahabr.ru/users/vintage/
[5]: https://habrahabr.ru/post/280904/#habracut

[>] [Из песочницы] Плагины в кармане или перочинный ножик в программе
habra.16
habrabot(difrex,1) — All
2016-04-11 14:00:03








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



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

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

[1]: https://habrahabr.ru/post/281332/#habracut

[>] Микросервисная архитектура, Spring Cloud и Docker
habra.16
habrabot(difrex,1) — All
2016-04-11 14:00:03




Привет, Хабр. В этой статье я кратко расскажу о деталях реализации микросервисной архитектуры с использованием инструментов, которые предоставляет Spring Cloud на примере простого концепт-пруф приложения.

![][1]

Код доступен для ознакомления [на гитхабе][2]. Образы опубликованы на докерхабе, весь зоопарк стартует одной командой.

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

[1]: https://habrastorage.org/files/718/f8d/522/718f8d5221eb4ccc8e7e102621d89988.png
[2]: http://github.com/sqshq/PiggyMetrics
[3]: https://habrahabr.ru/post/280786/#habracut

[>] [Из песочницы] Символьная регрессия и еще один подход
habra.16
habrabot(difrex,1) — All
2016-04-11 15:00:03


Символьная регрессия считается очень интересной. «Найди мне функцию, которая будет лучше всего подходить для решения поставленной задачи». И на Хабре я уже встречал пост, в котором автор рассматривал один из эволюционных алгоритмов в применении к этой проблеме ([вот он][1]). Генетическое программирование действительно является мощным методом. Но в этой статье я хочу рассмотреть другой (не менее интересный) метод — грамматическая эволюция. Рассказывать о нем долго не буду. Скажу лишь то, что метод использует свободную грамматику в форме Бакуса-Наура, а также любой эволюционный алгоритм в качестве «движка» (я выбрал генетический алгоритм). И метод очень крутой! [Читать дальше →][2]

[1]: https://habrahabr.ru/post/163195/
[2]: https://habrahabr.ru/post/281334/#habracut

[>] Перегружаем стандартные DataAnnotation атрибуты для использования с custom resource provider
habra.16
habrabot(difrex,1) — All
2016-04-11 16:00:04


Представьте, что у вас есть legacy проект Asp.NET MVC версии 5, которому немало лет. В нем используется самописный ResourceProvider, который умеет доставать из базы ресурс и показывать его на UI. В зависимости от различных условий (например, от того, откуда пользователь пришел на сайт), ресурсы будут показаны разные. Теперь пришло время сделать так, чтобы все намертво захардкоженные строки в Data Annotation атрибутах, такие как:

[Display(Name = "Username")]
[Required(ErrorMessage = "Please enter the username")]
[StringLength(64, ErrorMessage = "Username cannot exceed 64 characters")]
public string Username{ get; set; }


тоже могли получать свои значения, используя ResourceProvider. Как это сделать, используя немного наследования и доступной в Asp.NET MVC кастомизации, я покажу под катом. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/281222/#habracut

[>] eToken жил, eToken жив, eToken будет жить
habra.16
habrabot(difrex,1) — All
2016-04-11 17:30:04


В последнее время меня часто спрашивают, что случилось с ключами eToken и почему их перестали продавать. Так же наблюдается некоторая паника по этому поводу, ввиду того, что большинство мировых вендоров поддерживает данные ключи в своих продуктах, а заменить их, получается нечем. Отставить панику! Ключи eToken никуда не исчезли, они продолжают выпускаться и продаваться на российском рынке. Да, они поменяли своё название и немного по-другому выглядят, но это всё те же eToken. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/281256/#habracut

[>] [Из песочницы] Botnet от infostart или как использовать свою аудиторию
habra.16
habrabot(difrex,1) — All
2016-04-11 19:00:03


![][1]

#### С чего все началось

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

tail -f /var/log/squid/access.log


И вижу как мой IP ломится на неизвестный мне ресурс, вызывая у меня недоумение. Причем делает это с периодичностью 1-2сек:

1460094633.574 461 Мой_IP TCP_MISS/502 839 GET http://infostop.xyz/? - ORIGINAL_DST/104.168.174.157 text/html
1460094633.869 706 Мой_IP TCP_MISS/502 839 GET http://infostop.xyz/? - ORIGINAL_DST/104.168.174.157 text/html
1460094634.195 326 Мой_IP TCP_MISS/502 839 GET http://infostop.xyz/? - ORIGINAL_DST/104.168.174.157 text/html
1460094634.463 350 Мой_IP TCP_MISS/502 839 GET http://infostop.xyz/? - ORIGINAL_DST/104.168.174.157 text/html
1460094634.676 563 Мой_IP TCP_MISS/502 839 GET http://infostop.xyz/? - ORIGINAL_DST/104.168.174.157 text/html


Решил не терять времени и попытаться выяснить, что собственно происходит… [Читать дальше →][3]

[1]: https://habrastorage.org/files/593/381/bdf/593381bdf8c248c7bb6b57efa151fa34.jpg
[2]: https://habrahabr.ru/post/267851/
[3]: https://habrahabr.ru/post/281364/#habracut

[>] Что такое грамматическая эволюция + легкая реализация
habra.16
habrabot(difrex,1) — All
2016-04-12 01:00:02


Совсем недавно я написал [статью][1], в которой без объяснений показал то, на что способен метод грамматической эволюции. Я полностью, согласен, что так делать нельзя, но как хотелось показать результаты интересного метода. Я думал «что будет лучше: перевести первоисточник или дать свое собственное объяснение». Лень взяла верх. Если кому-то интересны эволюционные методы и задача символьной регрессии(и не только), то прошу к прочтению. [Читать дальше →][2]

[1]: https://habrahabr.ru/post/281334/
[2]: https://habrahabr.ru/post/281404/#habracut

[>] Пишем замену find(1) на golang под Linux
habra.16
habrabot(difrex,1) — All
2016-04-12 07:30:05


Для одной внутренней утилиты мне понадобилось написать сканирование изменений в директории, по аналогии с утилитой find, и я столкнулся с неожиданной вещью: стандартный Open()+Readdir()+Close() в go очень медленным по сравнению с тем, как работает linux'овая утилита find. На картинке можно видеть strace этой утилиты. Можно видеть, что она делает какие-то очень странные системные вызовы, и в этих системных вызовах мы и попытаемся разобраться и написать аналог find на go, который будет работать только под Linux, но зато со сравнимой скоростью. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/281382/#habracut

[>] Современный троянский конь: история одного расследования
habra.16
habrabot(difrex,1) — All
2016-04-12 11:30:05


[][1]



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

[1]: https://habrastorage.org/files/5a9/38e/ce1/5a938ece14594edeb7911196fd4e9075.jpeg
[2]: https://habrahabr.ru/post/281284/#habracut

[>] Почему Citrix не стала «новой Red Hat» на рынке виртуализации? Часть 2
habra.16
habrabot(difrex,1) — All
2016-04-12 13:00:04


В прошлом посте я обещал, что напишу свое мнение относительно того, почему Citrix не стала «новой Red Hat» на рынке виртуализации. Выполняю свое обещание — эта статья, фактически, будет большим комментарием [к переводу, который я публиковал ранее][1]. И да, если вы не согласны с моими аргументами — сообщите об этом , ну или пишите комментарии, обсудим. ;-)



Начать хочу с того, что у Питера Левайна (Peter Levine), безусловно, очень большой и хороший опыт в плане управления ИТ-компаниями и он, конечно же, лучше меня знает о бизнесе на Open Source. Но с другой стороны, возможно, я смогу “со своей колокольни” посмотреть на проблему. И, кстати, если кому-то покажется, что все, что я тут напишу по сути подтверждает слова Питера Левайна — так оно и есть. ;-) [Читать дальше →][2]

[1]: https://habrahabr.ru/post/279577/
[2]: https://habrahabr.ru/post/281376/#habracut

[>] [Из песочницы] Бесплатный мониторинг CRC ошибок
habra.16
habrabot(difrex,1) — All
2016-04-12 14:00:04


![image][1] Нередко на сети хранения данных возникают такие неприятные вещи, как рост числа ошибок на портах и увеличение уровня затухания сигнала на sfp модулях. Принимая во внимание высокий уровень надежности SAN инфраструктуры, состоящей из двух и более фабрик, вероятность возникновения аварийной ситуации не так велика, но наложение негативных факторов может привести к потере данных или деградации производительности. К примеру, представьте себе ситуацию: на одной из фабрик проводится обновление FOS, все работает через вторую фабрику, а на ней между коммутатором к которому подключен дисковый массив и коммутатором к которому подключены серверы начинают быстро расти CRC ошибки на одном из транковых портов. Или еще хуже, пропадает линк из-за понижения уровня сигнала, вызванного повышением температуры SFP модуля, которая в свою очередь возросла из-за повысившейся утилизации данного канала. В таких случаях обычно говорят: «Ну кто же знал» или «100% надежных систем не бывает» и тд. [Читать дальше →][2]

[1]: https://habrastorage.org/files/355/8bc/2fe/3558bc2fe77143b38878e5ad3dbfaa97.png
[2]: https://habrahabr.ru/post/281432/#habracut

[>] Разработчики из Google предложили консорциуму WWW черновик WebUSB — протокола для работы USB-устройств с веб-страницами
habra.16
habrabot(difrex,1) — All
2016-04-12 15:30:03


Два разработчика Google, Рейли Грант и Кен Рокот, представили международному [консорциуму WWW][1] (World Wide Web) черновик проекта WebUSB — протокола для работы USB-устройств в интернете, в котором описывается взаимодействие USB-совместимых устройств и веб-страниц. Проект WebUSB был опубликован еще 21 марта и описывает API, с помощью которого будет обеспечиваться безопасное соединение USB-устройств и веб-служб. Данный протокол не будет затрагивать работу USB-накопителей, но по задумке авторов регламентирует взаимодействие с сетью всей прочей USB-периферии, такой как мыши, клавиатуры, камеры etc. [Читать дальше →][2]

[1]: https://www.w3.org
[2]: https://habrahabr.ru/post/281436/#habracut

[>] [Из песочницы] Платежная EMV-карта. Механизмы обеспечения безопасности платежа
habra.16
habrabot(difrex,1) — All
2016-04-12 16:30:04


![][1] Платежные карты прочно вошли в нашу жизнь. Еще совсем недавно повсеместно использовались только карты с магнитной полосой. Сегодня же никого не удивишь картой с чипом. Всем известно, что чиповая, микропроцессорная или, созвучнее, платежная EMV-карта – современный и надежный способ доступа к расчетному счету. Она безопаснее карты с магнитной полосой и ее практически невозможно подделать. Однако детали реализации «внутренностей» EMV-карты мало известны. Всем кому интересно как работает EMV-карта, почему технология EMV обеспечивает безопасность платежей и насколько стоит всему этому доверять – добро пожаловать под кат. [Читать дальше →][2]

[1]: https://habrastorage.org/files/f7e/b77/fa5/f7eb77fa53ce47c0b1c5d28547221423.jpg
[2]: https://habrahabr.ru/post/281438/#habracut

[>] PHP UK Conference 2016
habra.16
habrabot(difrex,1) — All
2016-04-12 17:30:04


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

[1]: http://phpconference.co.uk
[2]: https://habrahabr.ru/post/281443/#habracut

[>] Искусственный интеллект: что о нем думают ученые
habra.16
habrabot(difrex,1) — All
2016-04-12 17:30:04


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

[1]: https://habrahabr.ru/company/1cloud/blog/281282/
[2]: http://www.theguardian.com/sustainable-business/2016/mar/29/can-machines-come-up-with-more-creative-solutions-to-our-problems-than-we-can
[3]: http://www.theguardian.com/media/2016/apr/03/artificla-intelligence-robot-reporter-pulitzer-prize
[4]: https://habrahabr.ru/post/281282/#habracut

[>] F.A.Q. по Java-конференции для студентов в Москве
habra.16
habrabot(difrex,1) — All
2016-04-12 18:00:03


[![][1]][2] В последнее время мы получаем множество запросов по [JPoint 2016 Student Day][3] — Java-конференции для студентов, которую мы проведем в Москве уже в следующее воскресенье, 24 апреля. Среди наиболее часто задаваемых вопросов — следующие:

* зачем мы делаем конференции для студентов?
* кто наша целевая аудитория?
* откуда взялось возрастное ограничение на участников — 25 лет?

В этом посте я постараюсь расставить все точки над i и объяснить, что к чему.

#### Что? Где? Когда?



* Java-конференция для студентов JPoint 2016 Student Day;
* 18 технических докладов о Java-технологиях;
* Москва, гостиница «Radisson Славянская»;
* 24 апреля, воскресенье.



#### О чём доклады?

Все темы примерно те же, что и на большом JPoint, но в Lite-варианте:

* внутреннее устройство JVM;
* введение в распределенные системы;
* кто такой байткод, и с чем его едят;
* ORM (JPA, Hibernate);
* многопоточное программирование;
* Kotlin;
* Реактивное программирование;
* Рефакторинг.

А еще будет **[доклад от студента][4]**! Роман Артемьев, студент 6-го курса физфака НГУ, расскажет о том, как они с коллегами по Унипро делают Java для процессора [Эльбрус][5]. И это бомба. Несмотря на то, что Роман — самый молодой из наших спикеров, доклад обещает быть самым хардкорным на конференции. Судите сами, Роман расскажет про:

* особенности архитектуры Эльбруса и принципиальные отличия от x86;
* портирование интерпретатора Zero из OpenJDK и реализацию компиляторного LLVM-бэкенда для Эльбруса;
* разработку VLIW-кодогенератора, способного работать в условиях JIT-компилятора;
* «сращивание» кодогенератора и Opto-компилятора;
* обработку исключений;
* неявные проверки границ массивов.

В результате слушатели узнают про подходы и нетривиальные решения, которые были применены при портировании JVM под «экзотическую» архитектуру, про то, каким образом использование, казалось бы, незначительных особенностей архитектуры может дать куда большее ускорение, нежели различные классические оптимизации, а также почему все говорят, что Эльбрус медленный, и насколько это является правдой. ![][6] Мы, кстати, хотели притащить на конференцию живой Эльбрус, но договориться об этом оказалось не очень просто. Надеюсь, что получится в следующий раз. [Читать дальше →][7]

[1]: https://habrastorage.org/files/9e4/b7e/f8b/9e4b7ef8b5554012ad3d53019607bf8d.png
[2]: https://habrahabr.ru/post/281416
[3]: http://students.javapoint.ru/
[4]: http://students.javapoint.ru/talks/artemev/
[5]: http://www.ferra.ru/ru/system/review/elbrus-4c-processor/#.VwzNTpOLRE4
[6]: https://habrastorage.org/files/c7e/8dd/a7f/c7e8dda7f16b48c295b7a38a83eee18b.png
[7]: https://habrahabr.ru/post/281416/#habracut

[>] QtWebApp — пошаговый разжёванный пример с подробными комментариями
habra.16
habrabot(difrex,1) — All
2016-04-12 18:00:03


![][1] В процессе разработки приложения на Qt, может понадобиться добавить в данное приложение [веб-интерфейс][2], что особенно может быть актуально при разработке встраиваемых систем с использованием Qt. Для решения данной задачи можно либо написать собственное решение, либо воспользоваться готовыми решениями. Например, библиотекой QtWebApp, которая предоставляет необходимый функционал для создания web-интерфейса. К достоинствам данной библиотеки можно отнести:

1. формирование страниц с динамическим содержанием по шаблонам;
2. формирование полностью динамических страниц;
3. работу с Cookie, что позволит добавить авторизацию на приложении;
4. работу со статическими файлами, например, style.css или изображения;
5. реализацию загрузки файлов.

Предлагаю подробно рассмотреть один из вариантов запуска небольшого приложения на Qt, которое будет иметь несколько web-страниц, работающих с применением библиотеки QtWebApp. На момент написания статьи изначально использовалась библиотека QtWebApp 1.6.3 и Qt 5.6. Проект успешно был запущен с комплектами сборки MSVC2013 и MinGW. В процессе отладки был замечен баг в классе Template библиотеки QtWebApp. После исправления бага и связи с разработчиком версия библиотеки была повышена до 1.6.4. Исходя из этого, можно отметить также плюс библиотеки, что разработчик ответил в течение суток на информацию о баге, и в тот же день версия библиотеки была повышена. Окончательный вариант примера приложения был подготовлен на версии 1.6.4. [Читать дальше →][3]

[1]: https://habrastorage.org/files/c17/418/3b1/c174183b14b6469c9f96dfe446cf2540.jpg
[2]: http://www.edsd.ru/ru/proekty/sozdaniye_saytov
[3]: https://habrahabr.ru/post/280932/#habracut

[>] По следам SSH
habra.16
habrabot(difrex,1) — All
2016-04-12 18:30:02


[![][1]][2] В 2015 году поднялась большая шумиха, когда по всему миру на различных узлах были [обнаружены][3] одинаковые SSH-отпечатки. Далее шума дело не пошло, но осадок остался. Попробуем разобраться, в чем основная опасность таких «дублей». Большая часть собранных данных актуальна для 2015 года. [Читать дальше →][4]

[1]: https://habrastorage.org/files/e11/7dc/71a/e117dc71a6a44bbdbc068d1677cc9a8b.jpg
[2]: https://habrahabr.ru/company/pt/blog/281445/
[3]: http://blog.shodan.io/duplicate-ssh-keys-everywhere
[4]: https://habrahabr.ru/post/281445/#habracut

[>] Развертывание Red Hat в облаке Microsoft Azure
habra.16
habrabot(difrex,1) — All
2016-04-12 19:30:03


Вы уже знаете, что мы запустили новый проект посвященный проектам с открытым исходным кодом — [linuxloves.ms][1]. Подробности про проект вы можете найти в [нашей публикации на Хабре][2], которая уже вызвала ожестаченный флейм :-). [][3]



Разработчики, которые создают решения на базе Red Hat могут легко размещать свои решения в облачной платформе Microsoft Azure. Проще всего это сделать с помощью виртуальных машин. Для упрощения работы с виртуальными машинами в облаке Azure предлагается площадка Azure Marketplace, в которой находятся сотни заранее настроенных виртуальных машин с разным окружением и установленными инструментами, включая операционные системы, базы данных, среды, фреймворки, CMS и так далее. Вы можете узнать гораздо больше о Azure Marketplace на [нашем русскоязычном портале][4]. Рассмотрим, как любой пользователь Azure может развернуть Red Hat за несколько минут. [Читать дальше →][5]

[1]: http://linuxloves.ms/
[2]: https://habrahabr.ru/company/microsoft/blog/281064/
[3]: http://www.linuxloves.ru/
[4]: http://events.techdays.ru/Azure-Market-Place/
[5]: https://habrahabr.ru/post/281434/#habracut

[>] Стандартная библиотека Visual Studio 2015 и телеметрия
habra.16
habrabot(difrex,1) — All
2016-04-12 23:00:03


![][1]

#### Преамбула

Программы на C и C++, как правило, проводят бо́льшую часть своей жизни внутри функции `main()` и функций, прямо или косвенно вызываемых из `main()`. Тем не менее, на самом деле выполнение программы начинается вовсе не с `main()`, а с некоторого кода из стандартной библиотеки, поставляемой вместе с компилятором. Таковой код, по идее, должен подготавливать окружение для других функций стандартной библиотеки, которые, возможно, позовёт `main()`, а также параметры самой `main()` (под Windows; Unix-системы имеют тенденцию передавать `argc/argv/envp` в подготовленном виде прямо при запуске процесса, но речь не о них). Симметрично, завершающий `return` в функции `main()` — вовсе не последняя инструкция программы, после него следует ещё немного кода из стандартной библиотеки. В Visual Studio «настоящая» точка входа в программу называется `mainCRTStartup`. В комплекте с VS идут исходники стандартной библиотеки, в VS2015 определение `mainCRTStartup` находится в `%PROGRAMFILES(X86)%\VC\crt\src\vcruntime\exe_main.cpp`, но, впрочем, всю работу выполняет `exe_common.inl` рядом. Давайте туда посмотрим.

...
// If this module has any thread-local destructors, register the
// callback function with the Unified CRT to run on exit.
_tls_callback_type const * const tls_dtor_callback = __scrt_get_dyn_tls_dtor_callback();
if (*tls_dtor_callback != nullptr && __scrt_is_nonwritable_in_current_image(tls_dtor_callback))
{
_register_thread_local_exe_atexit_callback(*tls_dtor_callback);
}

__telemetry_main_invoke_trigger(nullptr);

//
// Initialization is complete; invoke main...
//

int const main_result = invoke_main();

//
// main has returned; exit somehow...
//

__telemetry_main_return_trigger(nullptr);

if (!__scrt_is_managed_app())
exit(main_result);

if (!has_cctor)
_cexit();

// Finally, we terminate the CRT:
__scrt_uninitialize_crt(true, false);
return main_result;
...


[Ой, а что это за вызовы \_\_telemetry, обрамляющие вызов main?][2]

[1]: https://habrastorage.org/files/5b0/c45/508/5b0c45508fb648f6b44f421b6647b5b2.png
[2]: https://habrahabr.ru/post/281374/#habracut

[>] Пока, Habrahabr
habra.16
habrabot(difrex,1) — All
2016-04-13 10:30:03


Привет, %habrauser%! И пока. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/281471/#habracut

[>] [Перевод] Rust и Swift (третья, четвёртая, пятая и шестая части)
habra.16
habrabot(difrex,1) — All
2016-04-13 13:00:02




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

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

[1]: https://habrahabr.ru/post/280274/
[2]: https://habrahabr.ru/post/280902/#habracut

[>] Как определить наилучшее время для сделки на фондовом рынке: Алгоритмы следования тренду
habra.16
habrabot(difrex,1) — All
2016-04-13 14:30:03


[![][1]][2] На протяжение многих лет участники фондового рынка пытаются разрабатывать способы прогнозирования будущего движения цен. Для этого используются специальные [алгоритмы][3], [машинное обучение][4] или даже внешние сервисы вроде [Google Trends][5]. К настоящему моменту не существует техники создания прогнозов, которая была бы эффективна на 100%. Исследователи из университета Макао несколько лет назад опубликовали [работу][6], посвященную анализу эффективности алгоритмов следования тренду, которые не пытаются предсказать изменения цены, а точно реагируют на ее изменения в реальном времени. Мы представляем вашему внимани главные мысли этого исследования. [Читать дальше →][7]

[1]: https://habrastorage.org/files/dc8/ba1/05b/dc8ba105b7d94da485037960ed6f85af.png
[2]: https://habrahabr.ru/company/itinvest/blog/281515/
[3]: https://habrahabr.ru/company/itinvest/blog/274821/
[4]: https://habrahabr.ru/company/itinvest/blog/275825/
[5]: https://habrahabr.ru/company/itinvest/blog/279021/
[6]: http://www.jetwi.us/uploadfile/2014/1223/20141223120018209.pdf
[7]: https://habrahabr.ru/post/281515/#habracut

[>] Microsoft добавила в Windows 10 очередную функцию защиты от эксплойтов
habra.16
habrabot(difrex,1) — All
2016-04-13 14:30:03


Речь про тот же Windows 10 Insider Preview Build 14316, который [упоминался][1] нами несколько раз в предыдущих постах, посвященных подсистеме Ubuntu Linux. В новом билде Windows 10 изменения не обошли и ядро. Microsoft [добавила][2] туда новый объект ядра под названием RegistryTransaction с соответствующими API-функциями работы с ним вроде _[NtCommit/NtCreate/NtOpen/NtRollback]RegistryTransaction_. Как не трудно догадаться, речь идет об атомарных операциях с данными реестра. ![][3] Другим улучшением стало появление долгожданной функции под названием _Win32k syscalls filtering_ на уровне ядра Windows. Так как она все еще находится в предварительной сборке Windows 10, о ней известно не так много. Основное ее предназначение заключается в том, что она позволит полностью закрыть sandbox для процессов соответствующих приложений, типа браузеров и снимет вопрос эксплуатации LPE-уязвимостей в win32k.sys для них. На сегодняшний день такие уязвимости являются основной возможностью получения эксплойтом максимальных прав SYSTEM при проникновении в систему через веб-браузер. [Читать дальше →][4]

[1]: https://habrahabr.ru/company/eset/blog/281418/
[2]: https://raw.githubusercontent.com/hfiref0x/SyscallTables/master/Binary/syscalls.txt
[3]: https://habrastorage.org/files/aa0/fda/97b/aa0fda97bfad4128a62fdc83ffa70b33.png
[4]: https://habrahabr.ru/post/281481/#habracut

[>] BYOD — удобство против безопасности
habra.16
habrabot(difrex,1) — All
2016-04-13 15:00:03


![][1] Повсеместное использование стратегии Bring Your Own Device (BYOD, использование персональных устройств в рабочих целях) во всех сферах деятельности позволяет ускорить бизнес-процессы, практически мгновенно получать актуальную информацию и упростить коммуникацию с коллегами. При видимом удобстве использования и мобильностью сотрудников возникает множество проблем и рисков информационной безопасности, о которых и пойдет речь в этой статье. [Читать дальше →][2]

[1]: https://habrastorage.org/files/2cf/c2e/1f1/2cfc2e1f1b1146619c286c54c235046f.png
[2]: https://habrahabr.ru/post/281463/#habracut

[>] Что нового в Vim 8
habra.16
habrabot(difrex,1) — All
2016-04-13 18:00:02


![][1]В [репозитории Vim на Github][2] появился первый черновик [документации для версии Vim 8.0][3]. В нём указано, что исправлено большое количество багов и добавлено несколько новых фич.

### Асинхронный ввод/вывод, каналы

Vim теперь умеет обмениваться сообщениями с другим процессом в фоне (например, с сервером Python). Сообщения принимаются и обрабатываются, когда Vim ожидает ввода символа. С каналами связана широкая поддержка JSON, его легко использовать для коммуникации между процессами, что позволяет написать сервер на любом языке. Используются функции `|json_encode()|` и `|json_decode()|`. [Читать дальше →][4]

[1]: https://habrastorage.org/files/b35/46f/857/b3546f857a034b609883671df96a7b4c.png
[2]: https://github.com/vim/vim
[3]: https://github.com/vim/vim/blob/master/runtime/doc/version8.txt
[4]: https://habrahabr.ru/post/281521/#habracut

[>] Киберконтрразведка. Как Palantir может «сноуденов» ловить
habra.16
habrabot(difrex,1) — All
2016-04-13 18:00:02


Вместе с компанией [Edison][1] продолжаем расследование возможностей системы Palantir. ![][2] Система Palantir позволяет ловить «сноуденов», пока они еще не стали всемирными героями, а являлись просто шпионами, с которыми в любой момент могло случиться что угодно. Несмотря на то, что руководство Palantir как может борется за свободы и логирует все до одного действия в системе, для будущих «сноуденов» подобные системы представляют колоссальную опасность. Предупрежден, значит вооружен. Рассмотрим кейс, когда, благодаря платформе Palantir, было проведено специальное расследование по вычислению неблагонадежного сотрудника посольства, который сливал информацию сторонней организации. В расследовании анализировались сетевой трафик, информация роутеров, данные контактных карт и бэйджей сотрудников, события, данные соцсетей, данные видеонаблюдения. Благодаря статическому, временному анализу, анализу геоданных и визуальному анализу «крот» был раскрыт. Тридцатого уничтожить. _(За помощь в подготовке статьи отдельное спасибо Алексею Ворсину, российскому эксперту по системе Palantir)_ [Читать дальше →][3]

[1]: http://www.edsd.ru/ru/uslugi/testirovanie_po
[2]: https://habrastorage.org/files/772/ac9/869/772ac9869cc94d62b050513fc75f9312.jpg
[3]: https://habrahabr.ru/post/281112/#habracut

[>] Задача про обезьян и бесконечность
habra.16
habrabot(difrex,1) — All
2016-04-13 18:30:02




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

![][1]

Потрясающий факт, но еще интереснее попытаться понять, сколько же времени ей понадобится для набора конкретного текста. А вам очевидно, что строку «abc» набирать гораздо быстрее чем «aaa»? Решению этой задачи и посвящен этот пост. Попутно объясняется префикс функция и ее свойства.

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

[1]: https://habrastorage.org/files/e15/7d9/8f5/e157d98f57474214886b657bdfa2a17f.jpg
[2]: https://habrahabr.ru/post/200834/#habracut

[>] Шпаргалка Java-программиста 6. Список полезных ссылок для Java программиста
habra.16
habrabot(difrex,1) — All
2016-04-13 19:30:03




Добрый день, данная статья о моем opensource pet проекте на github'e [useful-java-links][1], в котором я собрал большое количество ссылок на полезные открытые (и некоторые закрытые) проекты. Этот проект существует на двух языках сразу [русском][2] и [английском][3], которые являются полными дубликатами друг друга (кроме отсутствия ссылок на русскоязычные ресурсы в английской версии).



![image][4]



Данный проект — форк такого проекта как [awesome-java][5], плюс добавлены все не мобильные проекты github'a c количеством звезд более 390 (то что описано в этой [статье][6]), все проект Apache верхнего уровня, ряд других ссылок, плюс ссылки на русскоязычное видео из этой [статьи][7]. В целом, количество полезных ссылок примерно в два раза больше чем в [awesome-java][8]. Есть строгая структура разделов, сразу дана информация об лицензиях и возможности использования данной лицензии в закрытом продукте (то есть строгость копилефта и возможность линкования с закрытыми проектами) и количество звезд набранным каждым проектом.



Буду очень благодарен за любые исправления и дополнения в данный сборник (добавить можно как в комментариях к статье, так и просто на [github'e][9] ). И за помощь в распространении ссылок на данный проект как среди русскоязычных, так и среди англоязычных (так как версия на английском полностью аналогична русской). В этой статье даны все ссылки, однако обновляемая версия все-таки будет на [github'e][10].








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

[1]: https://github.com/Vedenin/useful-java-links
[2]: https://github.com/Vedenin/useful-java-links/tree/master/link-rus
[3]: https://github.com/Vedenin/useful-java-links
[4]: https://habrastorage.org/files/c82/308/f07/c82308f078334be4955667a403c7c031.jpg
[5]: https://github.com/akullpp/awesome-java
[6]: https://habrahabr.ru/post/266821/
[7]: https://habrahabr.ru/company/luxoft/blog/272025/
[8]: https://github.com/akullpp/awesome-java
[9]: https://github.com/Vedenin/useful-java-links
[10]: https://github.com/Vedenin/useful-java-links
[11]: https://habrahabr.ru/post/280784/#habracut

[>] [Из песочницы] Поиск регулярных выражений с помощью регулярных выражений
habra.16
habrabot(difrex,1) — All
2016-04-14 01:00:02


Приветствую уважаемые. _«Ехали регулярные выражения, через регулярные выражения, видят регулярные выражения, в регулярных выражениях, регулярные выражения — регулярные выражения, регулярные выражения, регулярные выражения...»_ Нет. Это не бред сумасшедшего. Именно так я хотел назвать мой небольшой обзор на тему поиска регулярных выражений с помощью регулярных выражений. Что по сути тоже не меньший бред. Даже не знаю может ли вам такое в жизни пригодиться. Лучше конечно избегать таких ситуаций когда надо искать непонятно что, непонятно где. Ведь что такое регулярное выражение? Да почти всё что угодно! Вам может показаться странным, но: **.это, например, вполне себе регулярное выражение:. (Или это тоже может быть (можете даже проверить)) ~это~ **



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

[1]: https://habrahabr.ru/post/281547/#habracut

[>] ТОП-5 докладов с конференции по мобильной разработке Mobius 2015
habra.16
habrabot(difrex,1) — All
2016-04-14 13:00:03


![][1] В прошлом году в Питере мы провели Mobius 2015 – конференцию для опытных разработчиков под мобильные платформы. Конференция собрала порядка 300 разработчиков, из которых более 200 пишут под Android, более 150 – под iOS, и порядка сотни – под остальные платформы (как вам такая арифметика?). Ключевой темой прошлой конференции была безопасность. Для Питера – мероприятие знаковое, все-таки хардкорные мобильные конференции в России можно пересчитать по пальцам одной руки столяра. А в Mobius ключевой фичей были и остаются доклады. Видеозаписи всех докладов конференции лежат на Youtube. А мы, как всегда, собрали статистику из отзывов участников и посчитали рейтинги. В этом посте — традиционный обзор лучших докладов конференции. Я сделаю короткий обзор пяти лучших выступлений с тем, чтобы вы немного больше знали о них и посмотрели именно то, что нужно вам. Итак, поехали. [Читать дальше →][2]

[1]: https://habrastorage.org/files/1b6/213/a42/1b6213a425524607983da566e6916db8.png
[2]: https://habrahabr.ru/post/281551/#habracut

[>] [Перевод] Чего нам не хватает в Java
habra.16
habrabot(difrex,1) — All
2016-04-14 14:00:04


![][1] В этой статье мы рассмотрим некоторые «отсутствующие» в Java возможности. Но нужно сразу подчеркнуть, что будут умышленно опущены некоторые вещи, которые либо и так активно обсуждаются, либо требуют слишком большого объёма работ на уровне виртуальной машины. Например: **Отсутствуют материализованные дженерики (reified generics)**. Об этом не писал только ленивый, причём большинство комментариев свидетельствуют о непонимании сути затирания типов. Если Java-разработчик говорит: «Я не люблю затирание типов», то в большинстве случаев это означает «Мне нужен `List int`». Вопрос примитивной специализации дженериков лишь косвенно связан с затиранием, а польза от дженериков, видимых в ходе исполнения, сильно преувеличена молвой. **Беззнаковые вычисления (unsigned arithmetic) на уровне виртуальной машины.** Отсутствие в Java поддержки беззнаковых арифметических типов вызывает недовольство разработчиков уже многие годы. Но это является обдуманным решением создателей языка. Наличие лишь знаковых вычислений существенно упрощает язык. Если сегодня начать внедрять беззнаковые типы, то это повлечёт за собой очень серьёзную переработку Java, что чревато массой больших и маленьких багов, которые будет трудно вылавливать. Заодно сильно возрастает риск дестабилизации всей платформы. **Длинные указатели для массивов**. Опять же, внедрение этой функциональности потребует слишком глубокой переработки JVM с возможными неприятными последствиями, причём далеко не только с точки зрения поведения и семантики сборщиков мусора. Хотя нужно отметить, что Oracle ищет пути внедрения подобной функциональности с помощью проекта VarHandles. Здесь мы не будем вдаваться в подробности возможного Java-синтаксиса для обсуждаемой функциональности. К сожалению, подобные обсуждения вообще часто скатываются к спорам на тему синтаксиса, хотя куда важнее семантика. [Читать дальше →][2]

[1]: https://habrastorage.org/files/41e/353/f13/41e353f135c44f6abf5f31dd7eab624d.jpg
[2]: https://habrahabr.ru/post/281513/#habracut

[>] Как написать фильтр Блума в C ++
habra.16
habrabot(difrex,1) — All
2016-04-14 14:00:04


Фильтр Блума представляет собой структуру данных, которая может эффективно определить является ли элемент возможным элементом набора или определенно не относится к нему. Эта статья продемонстрирует простую реализацию фильтра Блума в C++. ![][1] [Читать полный перевод][2]

[1]: https://habrastorage.org/files/9cd/015/375/9cd0153758b2462dabdae6fa54e5bd8e.png
[2]: https://habrahabr.ru/post/281517/#habracut

[>] Победитель Password Hashing Competition Argon2 или еще раз о медленном хэшировании
habra.16
habrabot(difrex,1) — All
2016-04-14 15:00:02


Привет, %username%! ![][1] Ранее мы уже [затрагивали][2] тему замедления хэширования. Это было еще до введения моды на быстрые хэшедробилки aka майнеры. Как оказалось, тема намного серьезней, чем «прокрутить хэш 100500 раз и подмешивать к нему всякий мусор», потому что GPU и спец девайсы драматически ускоряют перебор, с которым сложно бороться даже с помощью таких вещей как bcrypt. И вот, люди [запилили соревнование][3], результатом которого должен был стать алгоритм, который сложно ускорить на спец чипах и GPU, при этом он должен быть настраиваемым в зависимости от пожеланий разработчика. Таким алгоритмом стал [Argon2][4]. [Читать дальше →][5]

[1]: https://habrastorage.org/files/701/a1d/460/701a1d460396480e91004b7b704e63bc
[2]: https://habrahabr.ru/post/100138/
[3]: https://password-hashing.net/
[4]: https://github.com/P-H-C/phc-winner-argon2
[5]: https://habrahabr.ru/post/281569/#habracut

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


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




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

[1]: https://habrahabr.ru/post/281591/#habracut

[>] [Перевод] Введение в программирование шейдеров: часть 2
habra.16
habrabot(difrex,1) — All
2016-04-14 16:30:02


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

[1]: https://habrastorage.org/files/fb6/77e/691/fb677e69164540a098cfeea507d29795.jpg
[2]: https://habrahabr.ru/post/281599/#habracut

[>] [Перевод] v3.14.1592-beta2: все, что вы хотели знать о семантическом версионировании
habra.16
habrabot(difrex,1) — All
2016-04-14 16:30:02


![][1]Усилия и деньги, вкладываемые в продвижение языка Go, часто приносят пользу и другим разработчикам. В конце прошлого года на сайте [gopheracademy][2] была опубликована очень удачная статья о семантическом версионировании. Том самом, которое используется в npm, начинается с домика **^** и все ломает. Под катом спрятан перевод, который поможет вам быстро осмотреть сад граблей версионирования и как сейчас принято им пользоваться. И немного примеров на Go. Передаем слово автору! [go? какой go? зачем go?!][3]

[1]: https://habrastorage.org/files/dc9/4b6/0ec/dc94b60ec0fa46b3b358c32492bbb8f6.jpeg
[2]: https://www.gopheracademy.com/
[3]: https://habrahabr.ru/post/281593/#habracut

[>] Хакеры продали ФБР секрет взлома iPhone
habra.16
habrabot(difrex,1) — All
2016-04-14 17:00:02


Журналистка Ellen Nakashima издания Washington Post [опубликовала][1] первую публичную информацию относительно ситуации со взломом iPhone 5C, работающим под iOS 9. Именно этот смартфон использовался террористом из Сан-Бернардино и послужил настоящим [камнем преткновения][2] между ФБР и Apple в вопросе раскрытия личных данных пользователей и правовой оценке такого действия. Ранее СМИ уже публиковали различную информацию на данную тему, так как вопрос был закрыт ФБР без привлечения Apple. При этом некоторые ошибочно назвали израильскую компанию Cellebrite источником информации для ФБР. ![][3] Источник из спецслужб рассказал, что смартфон был взломан профессиональными хакерами и использовал, по крайней мере, одну неизвестную уязвимость в ПО iOS 9. Уязвимости помогли ФБР успешно использовать специальное устройство для подбора 4-х значного кода разблокировки iOS. Работа хакеров была хорошо оплачена, хотя сама сумма не называется. На подбор кода разблокировки специалистам понадобилось 26 минут, а сам способ работает только на iPhone 5C с iOS 9. Таким образом, как ранее [указывал][4] эксперт Rob Graham, для этой операции не использовался способ NAND Mirroring. [Читать дальше →][5]

[1]: https://www.washingtonpost.com/world/national-security/fbi-paid-professional-hackers-one-time-fee-to-crack-san-bernardino-iphone/2016/04/12/5397814a-00de-11e6-9d36-33d198ea26c5_story.html
[2]: https://habrahabr.ru/company/eset/blog/279971/
[3]: https://habrastorage.org/files/76f/a44/3a0/76fa443a0e8842f680a6deded3e43b9a.png
[4]: http://blog.erratasec.com/2016/03/im-skeptical-of-nand-mirroring.html#.Vw9PAlWLSUk
[5]: https://habrahabr.ru/post/281573/#habracut

[>] Динамическая онтология. Как инженеры Palantir объясняют это ЦРУ, АНБ и военным
habra.16
habrabot(difrex,1) — All
2016-04-14 20:00:03


Компания Palantir является четвертой по крутости частной компанией Кремниевой долины (после Uber, Xiaomi и Airbnb). Пока Palantir собирает информацию про все на свете, мы собираем информацию про него. Вместе с компанией [Edison][1] продолжаем расследование возможностей платформы Palantir. ![][2] ИТишники додумались как эффективно «монетизировать математику и алгоритмы» (Сегалович, Бакунов), PayPal Mafia додумалась как монетизировать философию (капитализация Palantir — 20 миллиардов долларов). В десятиминутной лекции сотрудник компании Palantir расскажет про центральную концепцию их системы — динамическую онтологию. ![][3] 0:00 Привет, я Ашер Синенски, инженер по развертыванию технологий Palantir. Я поговорю о динамической онтологии. 0:08 Очевидно, сейчас, эти два слова выглядят для вас довольно туманно, надеюсь, что к концу разговора вы поймете, какой смысл мы в них вкладываем. 0:17 Перед тем как переходить к делу, поясню: у многих людей проблемы со словом онтология. Что мы подразумеваем под этим словом? 0:24 Если вы посмотрите на корни этого слова, то оно образовано от греческих «онтос» (бытие) и «логия» (изучение чего-либо). По сути, онтология – это категоризация мира. 0:34 Есть много терминов, которые люди используют для описания этого: таксономия, схематизатор модели данных. Но мы используем это, в более широком смысле, как идею, что мы действительно категоризируем мир каким-то образом. 0:43 Идея о построении онтологии для изучения мира не нова. Первым, кто утвердил эту идею, был мужик по имени Платон. Идея Платоновского реализма, в основном, о том, что есть реальные вещи, а есть наше представление о вещах. [Читать дальше →][4]

[1]: http://www.edsd.com/services/requirements-elaboration
[2]: https://habrastorage.org/files/48d/a30/46e/48da3046e88c40c691f587d3ae1ed7c2.jpg
[3]: https://habrastorage.org/files/f2d/4a2/523/f2d4a2523da445a2a74b6bb4bd284d94.jpg
[4]: https://habrahabr.ru/post/281118/#habracut

[>] Urho3D: Игры всерьез
habra.16
habrabot(difrex,1) — All
2016-04-14 21:00:02


В прошлых статьях ([Основы][1], [Редактор: Часть 1][2] и [Редактор: Часть 2][3]) мы создавали небольшие приложения на языке AngelScript. На этот раз я хочу показать, что благодаря продуманной структуре движка писать игры на таком страшном языке, как C++, так же легко, как и на скриптовом языке. И чтобы вам не было слишком скучно читать, я подготовил небольшую игру (клон Flappy Bird), которую можно скачать здесь: [github.com/1vanK/FlappyUrho][4]. Кстати, исходный код игры можно читать как самостоятельную статью, потому что он очень подробно прокомментирован. ![image][5] [Читать дальше →][6]

[1]: https://habrahabr.ru/post/265611/
[2]: https://habrahabr.ru/post/265749/
[3]: https://habrahabr.ru/post/265837/
[4]: https://github.com/1vanK/FlappyUrho
[5]: https://habrastorage.org/getpro/habr/post_images/89d/78c/4ce/89d78c4ce7a8e4133a69811ac201d78e.png
[6]: https://habrahabr.ru/post/280752/#habracut

[>] [Из песочницы] Пишем бота Slack для получения комментариев из VK на Python
habra.16
habrabot(difrex,1) — All
2016-04-14 21:30:02


Расширяя базовые возможности Slack, столкнулся с проблемой интеграции некоторых соц.сетей в чаты. Чтобы подружить Slack и Вконтакте, было решено использовать Python и API. Ниже базовый рецепт того, как научить Slack-бота получать информацию о последних комментариях из постов на стене групп или сообществ Вконтакте. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/281597/#habracut

[>] Перспективы языка го для программиста
habra.16
habrabot(difrex,1) — All
2016-04-14 21:30:02


![][1] Статья написана по мотивам одного не очень приятного разговора на последнем IT global митапе в Питере. [Читать дальше →][2]

[1]: https://habrastorage.org/files/b32/114/474/b32114474686496f962410f73fa8fb53.jpeg
[2]: https://habrahabr.ru/post/281320/#habracut

[>] SparrowHub — репозиторий готовых утилит для системного администрирования
habra.16
habrabot(difrex,1) — All
2016-04-14 21:30:02




[SparrowHub][1] — проект, целью которого является распространение различных готовых решений для задач системного администрирования и не только.



Несмотря на то, что существует масса решений по автоматизации задач системного администрирования, определенная ниша в этой области все же остается незанятой. Что мы делаем, когда хотим решить какую-то специфическую задачу? Например, проверить логи нашего ssh сервиса на наличие неудачных попыток логинов с целью позаботиться о секьюрности наших серверов? — Берем и пишем однострочник, состоящий из bash команд вида grep, sed, awk и так далее, ну, или можем написать скрипт на [Perl][2]. Отлично, все работает. Eсть решение, которое устраивает нас. И мы пользуемся им. Вопрос в том, _как_ мы хотим сохранить результаты наших трудов, что бы поделиться ими с другими или же когда пройдет время снова воспользоваться придуманным решением. Вот тут и возникает проблема.

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

[1]: https://sparrowhub.org/
[2]: https://www.perl.org/
[3]: https://habrahabr.ru/post/281583/#habracut

[>] Я не знаю как это сделать! Честно-честно
habra.16
habrabot(difrex,1) — All
2016-04-15 06:00:02


Это статья о простом приеме мотивации молодого специалиста. Если коротко: сильный специалист признается, что не знает как решить задачу, что бы мотивировать новичка. О паре случаев из жизни под катом. [Читать дальше →][1]

[1]: https://habrahabr.ru/post/281641/#habracut

Pages: 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 133