RSS
Pages: 1 ... 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ... 133
[>] Такая разная асинхронность
habra.16
habrabot(difrex,1) — All
2016-08-07 23:00:03


Здравствуйте, меня зовут Дмитрий Карловский и я… многозадачный человек. В смысле у меня много задач и мало времени, чтобы их все уже, наконец, закончить. Отчасти это и к лучшему — всегда есть чем заняться. С другой стороны — пока ты разрываешься между проектами, мир катится куда-то не туда и некому забраться на броневик и призвать толпу остановиться и немного подумать. А вопрос-то серьёзный — долгое время мир JS был погружён в _ад обратных звонков_ и с ними не только не боролись — их боготворили. Потом он чуть менее чем полностью погряз в обещаниях. Сейчас к ним с разных сторон усиленно вставляют подпорки разной степени кривизны. А света в конце тоннеля всё не видать. Но обо всём по порядку...



# Теория многозадачности



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



Не редки ситуации, когда для выполнения одной задачи требуется выполнение дополнительных задач — "подзадач". Например, для обработки запроса пользователя, необходимо скачать файл с удалённого сервера.



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



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

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

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

[>] Kaggle – наша экскурсия в царство оверфита
habra.16
habrabot(difrex,1) — All
2016-08-08 00:00:03


Kaggle — это платформа для проведения конкурсов по машинному обучению. На Хабре частенько пишут про неё: [1][1], [2][2], [3][3], [4][4], и.т.д.
Конкурсы на Kaggle интересные и практичные. Первые места обычно сопровождаются неплохими призовыми (топовые конкурсы — более 100к долларов). В последнее время на Kaggle предлагали распознавать:
* [Диабет по сетчатке глаза][5]
* [ Фотографии со спутников и их порядок ][6]
* [Одинаковые рекламные объявления][7]
И многое-многое другое.
Мне давно хотелось попробовать, но что-то всё время мешало. Я разрабатывал много систем, связанных с обработкой изображений: тематика близка. Навыки более лежат в практической части и классических Computer Vision (CV) алгоритмах, чем в современных Machine Learning техниках, так что было интересно оценить свои знания на мировом уровне плюс подтянуть понимание свёрточных сетей.
И вот внезапно всё сложилось. Выпало пару недель не очень напряжённого графика. На kaggle проходил интересный конкурс по близкой тематике.Я обновил себе комп. А самое главное — подбил [vasyutka][8] и [Nikkolo][9] на то, чтобы составить компанию.
Сразу скажу, что феерических результатов мы не достигли. Но 18 место из 1.5 тысяч участников я считаю неплохим. А учитывая, что это наш первый опыт участия в kaggle, что из 3х месяц конкурса мы участвовали лишь 2.5 недели, что все результаты получены на одной единственной видеокарте — мне кажется, что мы хорошо выступили.
О чём будет эта статья? Во-первых, про саму задачу и наш метод её решения. Во-вторых, про процесс решения CV задач. Я писал достаточно много статей на хабре о машинном зрении([1][10],[2][11],[3][12]), но писанину и теорию всегда лучше подкреплять примером. А писать статьи по какой-то коммерческой задаче по очевидным причинам нельзя. Теперь наконец расскажу про процесс. Тем более что тут он самый обычный, хорошо иллюстрирующий как задачи решаются. В-третьих, статья про то, что идёт после решения идеализированной задаче в вакууме: что будет когда задача столкнётся с реальностью.
![][13]
[Читать дальше →][14]

[1]: https://habrahabr.ru/post/305026/
[2]: https://habrahabr.ru/post/254151/
[3]: https://habrahabr.ru/post/264653/
[4]: https://habrahabr.ru/post/248395/
[5]: https://www.kaggle.com/c/diabetic-retinopathy-detection
[6]: https://www.kaggle.com/c/draper-satellite-image-chronology
[7]: https://www.kaggle.com/c/avito-duplicate-ads-detection
[8]: https://habrahabr.ru/users/vasyutka/
[9]: https://habrahabr.ru/users/nikkolo/
[10]: https://habrahabr.ru/post/274725/
[11]: https://habrahabr.ru/post/208090/
[12]: https://habrahabr.ru/post/224339/
[13]: https://habrastorage.org/files/220/060/3a2/2200603a2cb5438798dec072ee0c500c.jpg
[14]: https://habrahabr.ru/post/307078/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] GetLazarus тот же Lazarus, но лучше и еще больше похож на Delphi
habra.16
habrabot(difrex,1) — All
2016-08-08 10:30:04


Друзья, все мы знакомы с кроссплатформенным инструментом быстрой разработки **Lazarus**.
Сегодня мы поговорим об одной сборке **GetLazarus**, которая, на мой взгляд, заслуживает некоторого внимания.
Это не форк, это удачная сборка, которая **сразу готова к работе с еще большим Delphi-подобным внешним видом**.

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

[1]: https://habrastorage.org/files/2a4/7f3/f44/2a47f3f44b244bbd8f9015fc2ce36645.png
[2]: https://habrahabr.ru/post/307304/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Устанавливаем Sailfish OS на свой смартфон (на примере Nexus 5)
habra.16
habrabot(difrex,1) — All
2016-08-08 11:30:07


![SailfishOS on nexus5 Moto g2][1]

В этой статье я расскажу, как установить Sailfish OS на свой смартфон и все тонкости этого процесса.

У меня был [самый первый телефон от Jolla][2] и он мне вполне нравился. Но время его не пощадило: у него сломался слот СИМ-карты и он превратился в оффлайн-смартфон. Какое-то время я пользовался Андроидом, но хочется возвратиться обратно и я начал смотреть в сторону неофицильных прошивок. Первый телефон Jolla морально устарел на сегодня, у него отвратительная камера, железо уже неактуальное и экран с небольшим разрешением. У меня завалялся телефон Moto G 2, на который я попробовал установить SFOS, но она была не совсем готова (камера не работала, Bluetooth работал частично, нету проигрывания видео и многие другие недочёты) и её польский автор как-то не торопился её допиливать. Поэтому я посидел несколько недель на eBay и нашёл для себя б/у телефон Nexus 5 для экспериментов. Сегодня я постараюсь вам описать все подводные камни процесса установки SailfishOS на Андроид-смартфон.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/5b2/6f7/218/5b26f7218c5a4a95ad2daf9df82c6b63.jpg
[2]: https://habrahabr.ru/post/206280/
[3]: https://habrahabr.ru/post/307152/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] SObjectizer: от простого к сложному. Часть II
habra.16
habrabot(difrex,1) — All
2016-08-08 11:30:07


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

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

[1]: https://habrahabr.ru/post/304386/
[2]: https://habrahabr.ru/post/306858/
[3]: https://habrahabr.ru/post/307306/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Математика для искусственных нейронных сетей для новичков, часть 2 — градиентный спуск
habra.16
habrabot(difrex,1) — All
2016-08-08 12:00:03


[Часть 1 — линейная регрессия][1]

В первой части я забыл упомянуть, что если случайно сгенерированные данные не по душе, то можно взять любой подходящий пример [отсюда][2]. Можно почувствовать себя [ботаником][3], [виноделом][4], [продавцом][5]. И все это не вставая со стула. В наличии множество наборов данных и одно [условие ][6] — при публикации указывать откуда взял данные, чтобы другие смогли воспроизвести результаты.


#### Градиентный спуск


В прошлой части был показан пример вычисления параметров линейной регрессии с помощью метода наименьших квадратов. Параметры были найдены аналитически — ![][7], где ![][8] — псевдообратная матрица. Это решение наглядное, точное и короткое. Но есть проблема, которую можно решить численно. Градиентный спуск — метод численной оптимизации, который может быть использован во многих алгоритмах, где требуется найти экстремум функции — нейронные сети, SVM, k-средних, регрессии. Однако проще его воспринять в чистом виде (и проще модифицировать).
[Читать дальше →][9]

[1]: https://habrahabr.ru/post/307004/
[2]: http://archive.ics.uci.edu/ml/datasets.html
[3]: http://archive.ics.uci.edu/ml/datasets/Iris
[4]: http://archive.ics.uci.edu/ml/datasets/Wine
[5]: http://archive.ics.uci.edu/ml/datasets/Online+Retail
[6]: http://archive.ics.uci.edu/ml/citation_policy.html
[7]: https://habrastorage.org/files/81a/74a/133/81a74a133511412cb86b9662f71973c3.png
[8]: https://habrastorage.org/files/d3f/9fa/906/d3f9fa90602d483faabc47523b69ed77.png
[9]: https://habrahabr.ru/post/307312/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Машинное обучение»: Потенциал и возможности
habra.16
habrabot(difrex,1) — All
2016-08-08 13:30:03


[][1]

/ фото [Jaro Larnos][2] [CC][3]

Облачные технологии широко применяются в самых разных научных сферах: как-то раз мы рассказывали от том, как облака используются в [физике и астрономии][4], а также [географии и генетике][5]. [Виртуальные инфраструктуры][6] позволяют ученым обрабатывать огромное количество информации в кратчайшие сроки, что приводит к новым открытиям.

Но есть еще одна технология, способная изменить наше представление об обработке информации. Речь идет о машинном обучении, которое в последнее время приобрело особую популярность.
[Читать дальше →][7]

[1]: https://habrahabr.ru/company/it-grad/blog/306220/
[2]: https://www.flickr.com/photos/jlarnos/
[3]: https://creativecommons.org/licenses/by/2.0/
[4]: https://habrahabr.ru/company/it-grad/blog/304652/
[5]: https://habrahabr.ru/company/it-grad/blog/304656/
[6]: http://www.it-grad.ru/iaas/iaas-vmware/virtual-infrastructure/
[7]: https://habrahabr.ru/post/306220/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Когда юнит-тестрирование действительно необходимо
habra.16
habrabot(difrex,1) — All
2016-08-08 14:00:03


Представим, что вы разработчик на JavaScript, Ruby, Phyton или PHP. Ваш язык программирования не ищет ошибок во время компиляции. Собственно, у него компиляции, как таковой, нету. Если вы допустите синтаксическую ошибку, вы, конечно, о ней узнаете. Когда запустите программу.

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

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

[>] Летний дедлайн: Топ-10 курсов Microsoft Virtual Academy
habra.16
habrabot(difrex,1) — All
2016-08-08 14:30:04


Это последняя статья из серии материалов для прокачки скиллов в виртуальной академии [Microsoft MVA][1]. Предыдущие две можно найти [здесь][2] и [здесь][3]. В ней подобраны must-have курсы для подготовленных специалистов: виртуализация ЦОД с помощью Windows Server 2012 R2 и System Center 2012 R2, безопасность доступа в корпоративным ресурсам, детали развертывания Windows 10 на предприятии, Linux Cluster в Azure, виртуализация рабочих нагрузок Linux в Windows Server 2012 R2, гибридные решения от экспертов Microsoft, глубокое погружение в Windows Server 2016, Windows Nano Server, Office 365 API для мобильных приложений и настройка SharePoint Server.

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

[1]: https://mva.microsoft.com/
[2]: https://habrahabr.ru/company/microsoft/blog/305294/
[3]: https://habrahabr.ru/company/microsoft/blog/306352/
[4]: https://habrastorage.org/files/5a9/968/013/5a99680134db40619e5ab83072aa0a46.png
[5]: https://habrahabr.ru/post/307126/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Настройка wifi авторизации через sms под ubuntu 16.04
habra.16
habrabot(difrex,1) — All
2016-08-08 14:30:04


Привет Хабр! Не так давно, в нашей организации встала задача узаконить wifi доступ, но чтобы в дальнейшем использование системы было бесплатно. (Согласно постановлению Правительства №758 от 31 июля 2014г. и №801 от 12 августа 2014 г. — все публичные WIFI сети обязаны производить идентификацию пользователей). У нас 10 залов для мероприятий (от 30 до 400 человек), а в день в среднем проходит от 4 до 12, плюс постоянная текучка народа и капризные пользователи.

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

[1]: https://habrastorage.org/getpro/habr/post_images/b0c/d71/ef9/b0cd71ef9506f8917b017833b5b73039.png
[2]: https://habrahabr.ru/post/307338/
[3]: https://habrahabr.ru/post/307338/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] CodeRush for Roslyn: Part 3 — обзор возможностей для изучения кода
habra.16
habrabot(difrex,1) — All
2016-08-08 16:00:04


Каждый день в мире создаётся новый код. Много кода. Какая-то часть этого кода может быть полезна вам. Может снизить затраты на разработку или сэкономить ваше время. Но чтобы воспользоваться кодом, в нём необходимо разобраться, поэтому ленивые разработчики больше читают, чем пишут. Быстрое понимание как работает код – это ценный навык, который приобретается с годами практики. В этой статье мы расскажем как [CodeRush for Roslyn][1] (далее **CRR**) помогает быстрее читать код даже тем, кто еще не овладел в совершенстве этим навыком. Статья будет интересна хакерам и ленивым разработчикам.

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

[1]: https://www.devexpress.com/Products/CodeRush/coderush-for-roslyn.xml
[2]: https://habrastorage.org/files/5b3/562/faa/5b3562faa5d74cb9a9533d695814b05c.png
[3]: https://habrahabr.ru/post/307346/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Примеры кода с летней школы по Node.js и JavaScript в КПИ
habra.16
habrabot(difrex,1) — All
2016-08-08 17:00:04


![][1]Товарищи инженеры, докладываю вам об успехах в подготовке научно-технических кадров в области программной инженерии в [Киевском политехническом институте][2] и публикую интересные примеры кода, которые были написаны для учебного курса, но будут, надеюсь, интересны и с практической точки зрения. Идея, внедрить JavaScript и [Node.js][3] в учебный процесс, вызревала у меня уже несколько лет. Но для освоения базовых вещей в программировании мне больше нравится C, чтобы люди прочувствовали машину, научились контролировать себя и свой код. А вот для прикладных задач, в которых уровень абстракции C уже не достаточно иллюстративен, мультипарадигменный и гибкий JavaScript прижился. Вместе с мощным и простым API Node.js, писать концептуальный код прямо на паре, оказалось очень удобно. Кроме того, знания JavaScript обязательно пригодятся на практике любому инженеру, работающему в ИТ. Часть кода, разработанного студентами курса, уже попала в серьезные Open Source проекты и это прекрасная практика, которую может повторить каждый, ведь лабораторные работы мы постепенно [выкладываем на github][4] и будем делать это и дальше, снабжая их методическими указаниями и не заботясь о том, что студенты будут списывать из форков, ведь все это нужно в первую очередь им самим. Примеры я еще раз разложу по полочкам на летней школе, которая проходит с 9 по 26 августа 2016 года в Киеве, и расписание которой [можно найти тут][5]. Итак, переходим к самым показательным примерам кода.

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

[1]: https://habrastorage.org/files/014/c98/210/014c982107d74c4bb01d65ff8ef78a06.jpg
[2]: http://kpi.ua/
[3]: https://nodejs.org/
[4]: https://github.com/HowProgrammingWorks
[5]: http://www.meetup.com/KievNodeJS/
[6]: https://habrahabr.ru/post/307332/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Когда юнит-тестирование действительно необходимо
habra.16
habrabot(difrex,1) — All
2016-08-08 17:30:03


Представим, что вы разработчик на JavaScript, Ruby, Phyton или PHP. Ваш язык программирования не ищет ошибок во время компиляции. Собственно, у него компиляции, как таковой, нету. Если вы допустите синтаксическую ошибку, вы, конечно, о ней узнаете. Когда запустите программу.

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

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

[>] [Из песочницы] Модифицированный алгоритм Geometry Buffer Anti-Aliasing
habra.16
habrabot(difrex,1) — All
2016-08-08 18:30:04


Алиасинг представляет одну из фундаментальных проблем компьютерной графики, и для борьбы с ним придумано множество разнообразных алгоритмов антиалиасинга. Появление [MLAA][1] привлекло интерес к алгоритмам, работающим на этапе постобработки. Одним из таких алгоритмов (с небольшой оговоркой) является _Geometry Buffer Anti-Aliasing_ (GBAA). В этом материале описана попытка модификации оригинального алгоритма для улучшения качества антиалиасинга в некоторых случаях.

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

[1]: https://habrahabr.ru/post/124913
[2]: http://i77.fastpic.ru/big/2016/0808/b0/037b643d9676b68346535ed372179ab0.png
[3]: https://habrahabr.ru/post/307366/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Модель взаимодействия судов с водой в видеоиграх
habra.16
habrabot(difrex,1) — All
2016-08-08 19:00:04


![][1]




## Давайте поговорим о физике транспортных средств


Физика транспортных средств в видеоиграх не очень сильно обсуждается. Статьи в Интернете о физике транспорта в видеоиграх немногочисленны и поверхностны; обычно они посвящены самым основам. Программист транспорта для видеоигр ощущает себя сегодня в относительном вакууме. Возможно, такая ситуация возникла, потому что эту тему довольно сложно объяснить, а может быть, мы просто стыдимся признаваться в использовании хаков, упрощений и хитростей, которые мы вносим по сравнению с «правильной», реалистичной симуляцией физики. Как бы ни обстояло дело, видеоигры имеют уникальные проблемы в симуляции транспорта, а значит, об этом стоит писать. Это захватывающая тема, относящаяся к физике, работе с камерой, звуку, спецэффектам, а также к восприятию и психологии человека.

Я решил сначала поговорить о судах, потому что недавно работал с ними; ещё я обнаружил, что их динамика не совсем понимается даже на уровне исследований (хотя многое и понятно). Модели и теории формулируются таким образом, что их становится сложно применить непосредственно в видеоиграх. Или же они требуют очень ресурсоёмких методов симуляции, которые практически невозможно контролировать и адаптировать под причудливые потребности разработчиков и игроков. Но можно написать упрощённую модель, которая учитывает важные параметры судна. В этом определённо есть доля искусства, «прыжка веры» и небольшая доля «творческой» физики, которая заставит Кельвина и Стокса перевернуться в могилах.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/125/442/d4f/125442d4f6404c418abfc098bcb6d35e.png
[2]: https://habrahabr.ru/post/307362/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Web приложение для работы с markdown заметками
habra.16
habrabot(difrex,1) — All
2016-08-08 20:00:03


![][1]
За долгое время у меня накопилось много различных заметок, подсказок и шпаргалок на различные темы, как связанные с it, так и совсем не связанные. Появилась необходимость это удобно и структурировано хранить.

Я попробовал различные wiki движки, но не всё мне в них нравилось, иногда функционала было недостаточно, а иногда было слишком много. Я подумал, что если хочешь сделать хорошо — сделай это сам нужно написать свой велосипед.

Мне давно хотелось написать web-приложение на Python, поэтому выбор пал на этот язык. Под катом исходный код и описание, а также ссылка на репозиторий.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/fc6/70b/583/fc670b583a6045f9bd2f720aca20b485.png
[2]: https://habrahabr.ru/post/307318/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как на самом деле устроена торговля на бирже: Простой алгоритм (часть 2)
habra.16
habrabot(difrex,1) — All
2016-08-09 12:30:04


[![][1]][2]

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

[1]: https://habrastorage.org/files/803/7bc/a08/8037bca085f0437ba58df9cf567df3e0.jpg
[2]: https://habrahabr.ru/company/itinvest/blog/307408/
[3]: https://habrahabr.ru/company/itinvest/blog/306392/
[4]: https://www.chrisstucchio.com/blog/2012/hft_apology2.html
[5]: https://habrahabr.ru/post/307408/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Семантический перенос строк
habra.16
habrabot(difrex,1) — All
2016-08-09 13:00:04


**От переводчика:**



Некоторое время назад на Хабре публиковался перевод статьи под названием ["Искусство командной строки"][1]. Среди прочего, в статье было рекомендовано освоить vim. Исходник статьи, выложенный на Гитхаб, по иронии судьбы, оказался совершенно непригодным к редактированию именно этим редактором, так как в нём на один параграф приходилась ровно одна строка.



Я тогда выразил своё недоумение автору и попросил его выровнять текст на 80 символов. Но после непродолжительной дискуссии в коментариях дали ссылку на описание форматирования исходников литературных текстов по семантическому принципу. Идея, заложенная в этом принципе в общем довольно простая, но я был поражён её глубиной, которой, пусть и запоздало, хочу поделиться с окружающими.



Хочу предупредить, что не все ссылки в статье работоспособны, но я решил оставить их как есть — мало ли что.

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

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

[>] Генерируем красивую Google-таблицу из своей программы (используя Google Sheets API v4)
habra.16
habrabot(difrex,1) — All
2016-08-09 13:00:04


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


Пусть нам нужно создать программой на языке Python [вот такую таблицу][1]:

![image][2]

Особенности этой таблицы:
* задана ширина столбцов;
* верхняя ячейка является объединением **A1:E1**;
* в некоторых ячейках настроены: формат отображения, размер шрифта, жирность, выравнивание текста и цвет фона;
* значения в последнем столбике вычислены формулой (например, в **E4** написано **=D4-C4**);
* нарисована граница под ячейками **A3:E3**;
* присутствует Пикачу (но это останется как домашнее задание для энтузиастов).
Интересно? Тогда добро пожаловать под кат.
[Читать дальше →][3]

[1]: https://docs.google.com/spreadsheets/d/1kygOW5wSSVqwf26M-OCT72i0FX0olZAz4duT2i6psp4/edit?usp=sharing
[2]: https://habrastorage.org/files/5c8/3b1/1f8/5c83b11f836a4dac84a584158a40a6c1.png
[3]: https://habrahabr.ru/post/305378/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как важно писать код, который могут читать люди
habra.16
habrabot(difrex,1) — All
2016-08-09 14:00:03


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

Яркие примеры нечитаемого кода встречаются на соревнованиях [JS1k][1], цель которых заключается в написании лучших JS-приложений, состоящих из 1024 символов или того меньше. То же самое можно сказать и про [JSF\*ck][2], крайне своеобразный стиль программирования, использующий только шесть разных символов для написания JS-кода. Глядя на выложенный на этих сайтах код, вы будете ломать голову, пытаясь понять, что здесь происходит. А представьте, каково это: написать подобный код и спустя месяц пытаться исправить баг.

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

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

_Оригинал статьи: _
[Читать дальше →][3]

[1]: http://js1k.com/
[2]: http://www.jsfuck.com/
[3]: https://habrahabr.ru/post/307380/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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


### Зачем?


Скажем так, в одном месте решение не было найдено. Потратив время на рабочую компоновку решил поделится с собществом. Пригодится тем, кто предпочитает переключение языков на клавиатуре 'Ctrl+Shift', 'Alt+Shift'..., вместо 'Alt+Space' или 'Ctrl+Alt+K' по умолчанию.

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

[1]: http://q4os.org/
[2]: https://habrahabr.ru/post/307414/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Бот-кассир на pywinauto, или GUI automation для платежного шлюза
habra.16
habrabot(difrex,1) — All
2016-08-09 14:30:04


Я работаю в небольшом израильском стартапе, наш продукт — платформа для заказа еды из ресторанов, кафе и магазинов. В отличие от десятков подобных сервисов, мы монополисты на студенческом рынке в США. Мы обрабатываем на пике несколько сотен тысяч заказов в день и один из платежных шлюзов в продакшне построен на автоматизации GUI для Win32 приложения с помощью библиотеки [pywinauto][1].
[как мы к этому пришли][2]

[1]: http://pywinauto.github.io/
[2]: https://habrahabr.ru/post/307420/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Об охоте на «насекомых»: программа bug bounty в Одноклассниках
habra.16
habrabot(difrex,1) — All
2016-08-09 16:00:04


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



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

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

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

[>] Стилизация изображений с помощью нейронных сетей: никакой мистики, просто матан
habra.16
habrabot(difrex,1) — All
2016-08-09 17:30:03


Приветствую тебя, Хабр! Наверняка вы заметили, что тема стилизации фотографий под различные художественные стили активно обсуждается в этих ваших интернетах. Читая все эти популярные статьи, вы можете подумать, что под капотом этих приложений творится магия, и нейронная сеть действительно фантазирует и перерисовывает изображение с нуля. Так уж получилось, что наша команда столкнулась с подобной задачей: в рамках внутрикорпоративного хакатона мы сделали [стилизацию видео][1], т.к. приложение для фоточек уже было. В этом посте мы с вами разберемся, как это сеть "перерисовывает" изображения и разберем статьи, благодаря которым это стало возможно. Рекомендую ознакомиться с [прошлым постом][2] перед прочтением этого материала и вообще с основами [сверточных нейронных сетей][3]. Вас ждет немного формул, немного кода (примеры я буду приводить на [Theano][4] и [Lasagne][5]), а также много картинок. Этот пост построен в хронологическом порядке появления статей и, соответственно, самих идей. Иногда я буду его разбавлять нашим недавним опытом. Вот вам мальчик из ада для привлечения внимания.


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

[1]: https://hi-tech.mail.ru/news/artisto-neural-network-app/
[2]: https://habrahabr.ru/company/mailru/blog/252965/
[3]: https://habrahabr.ru/company/yandex/blog/307260/
[4]: https://github.com/Theano/Theano
[5]: https://github.com/Lasagne/Lasagne
[6]: https://habrahabr.ru/post/306916/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ProjectSauron: кибершпионское ПО, взламывающее зашифрованные каналы связи госорганизаций
habra.16
habrabot(difrex,1) — All
2016-08-09 17:30:03


### ProjectSauron пять лет маскировался под фильтр паролей для систем Windows, оставаясь незамеченным


[][1]
«Лаборатория Касперского» [обнаружила][2] мощный специализированный вирус, работавший незамеченным в сетях разных госорганизаций с 2011 года. Действия вируса были направлены на взлом зашифрованных каналов связи скомпрометированных систем. Специалисты по информационной безопасности определили наличие этого malware в сетях более 30 организаций разных стран.

Malware классифицируется, как ПО для кибершпионажа класса APT (Advanced Persistent Threat). Этой классификации соответствуют только самые сложные и длительные атаки кибершпионского ПО. APT malware являются также [Equation][3], [Regin][4], [Duqu][5] и [Careto][6]. ProjectSauron (кодовое название Strider) долго оставался незамеченным благодаря тому, что он находился в системе в качестве исполняемой библиотеки, загруженной в память контроллера домена в сети под управлением Microsoft Windows.
[Читать дальше →][7]

[1]: https://habrahabr.ru/post/307430/
[2]: https://securelist.ru/analysis/obzor/28983/faq-the-projectsauron-apt/
[3]: https://securelist.ru/blog/issledovaniya/25144/equation-zvezda-smerti-galaktiki-vredonosnogo-po/
[4]: https://securelist.ru/blog/issledovaniya/24694/regin-vzlom-gsm-setej-pri-podderzhke-na-gosudarstvennom-urovne/
[5]: https://securelist.com/blog/incidents/32463/duqu-faq-33/
[6]: https://securelist.ru/blog/issledovaniya/15647/caretomaska-apt-chasto-zadavaemye-voprosy/
[7]: https://habrahabr.ru/post/307430/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Уязвимости онлайн-банков 2016: лидируют проблемы авторизации
habra.16
habrabot(difrex,1) — All
2016-08-09 18:30:03


Так как системы дистанционного банковского обслуживания (ДБО) представляют собой общедоступные веб- и мобильные приложения, для них характерны все уязвимости, известные в сфере безопасности приложений, а также угрозы, связанные со спецификой банковской сферы: хищение денежных средств, несанкционированный доступ к данным платежных карт, персональным данным и банковской тайне, отказ в обслуживании и другие угрозы, реализация которых может привести к существенным финансовым и репутационным потерям.

[![][1]][2]

Данный отчет содержит статистику, собранную в ходе работ по анализу защищенности систем ДБО, проведенных специалистами компании Positive Technologies в 2015 году, а также сравнение с результатами исследований прошлых лет. [Читать дальше →][3]

[1]: https://habrastorage.org/files/4ed/02b/b7e/4ed02bb7e6f743c0b889a8c722144c7c.png
[2]: https://habrahabr.ru/company/pt/blog/307450/
[3]: https://habrahabr.ru/post/307450/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Машинное обучение для прогнозирования тенниса: часть 2
habra.16
habrabot(difrex,1) — All
2016-08-09 19:00:03


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

![][2]

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

[1]: https://habrahabr.ru/post/306944/
[2]: https://habrastorage.org/files/69f/5b2/55f/69f5b255ff6e43af9ac66bccee5ae0d4.jpg
[3]: https://habrahabr.ru/post/307422/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Multigrain: особенности вредоносной программы для PoS-терминалов
habra.16
habrabot(difrex,1) — All
2016-08-10 13:00:04


![][1]

**Multigrain – это вредоносная программа для PoS-терминалов**, которая специализируется на краже информации с банковских карт при использовании техник RAM-Scraping (она напрямую обращается к ОЗУ из определенных процессов для получения информации о картах). Это стало очень популярным методом, т.к. международное законодательство запрещает хранить эту информацию на диске (даже временно).

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

[1]: https://habrastorage.org/files/b04/6a1/66f/b046a166f50148e6b14e5b1fb743f75d.jpg
[2]: https://habrahabr.ru/post/307320/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Особенности файловых систем, с которыми мы столкнулись при разработке механизма синхронизации Облака Mail.Ru
habra.16
habrabot(difrex,1) — All
2016-08-10 13:00:04


![][1]

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

[1]: https://habrastorage.org/files/db5/f84/192/db5f841924334aa788718b4103af0fea.jpg
[2]: https://cloud.mail.ru/
[3]: https://habrahabr.ru/post/307412/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [recovery mode] Разработка облачного сервиса Scorocode: часть 1
habra.16
habrabot(difrex,1) — All
2016-08-10 13:30:04


![][1]

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

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

[1]: https://habrastorage.org/files/6d9/d90/e12/6d9d90e12be246139023237eac5280d5.jpg
[2]: https://habrahabr.ru/post/307056/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] RailsClub 2016: 22 октября в Москве выступит создатель Ruby Yukihiro Matsumoto и не только он
habra.16
habrabot(difrex,1) — All
2016-08-10 15:00:04


Привет Хабр! Осталось три месяца до главного Ruby-события года в России. Конференция [RailsClub 2016][1] пройдет в этом году **22 октября** в Москве, в Конгресс-центре Технополис. Отличный список спикеров, самые горячие темы, один день, два потока, 500 участников. Начинаем раскрывать детали!

![image][2]

Для нас конференция в этом году особенно важна. В первую очередь потому, что после долгих лет уговоров к нам таки приедет выступать сам создатель Ruby **Юкихиро Мацумото**! Мы очень долго готовились к этому событию, записали с помощью всего сообщество ролик-приглашение для Мацумото-сан. Если еще не видели, то смотрите:



Все получилось!
[Читать дальше →][3]

[1]: http://railsclub.ru/
[2]: https://habrastorage.org/getpro/habr/post_images/1b9/ae0/a49/1b9ae0a4907a53f322b9e277fc6dbbd9.jpg
[3]: https://habrahabr.ru/post/307416/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Пишем мультиплатформенного бота для перевода денег с карты на карту с помощью Microsoft Bot Framework V1
habra.16
habrabot(difrex,1) — All
2016-08-10 16:00:04


Во время конференции Microsoft Build 2016 был анонсирован Microsoft Bot Framework (сессия с Build 2016: [видео][1]). С его помощью можно создать бота (на C# или Node.js), которого потом можно подключить к различным каналам / приложениям: СМС, Skype, Telegram, Slack и т.д. Мы пишем бота, используя Bot Builder SDK от Microsoft, а все проблемы взаимодействия с третьесторонними API берет на себя Bot Connector (см. изображение). Звучит красиво, попробуем создать простого бота, который мог бы переводить деньги с карты на карту (логику перевода возьмем у Альфа Банка — тестовый стенд, описание API: [Альфа Банк][2]), испытав все прелести продукта, находящегося в альфа-версии.

Disclaimer: во время написания статьи Microsoft выпустил новую версию фреймворка, так что ждите вторую серию: мигрируем бота с v1 на V3.

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

[1]: https://channel9.msdn.com/Events/Build/2016/B821
[2]: http://docs.alfabank.ru/
[3]: https://habrastorage.org/files/27d/0b6/f33/27d0b6f338d3454c8e1e7a61807c37bf.png
[4]: https://habrahabr.ru/post/307530/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Анализ NetFlow v.9 Cisco ASA с помощью Logstash (ELK)
habra.16
habrabot(difrex,1) — All
2016-08-10 16:00:04


Возможно, многие среди тех, кто хоть раз озадачивался поиском программы-анализатора NetFlow v.9, знают, что доступных бесплатных решений нет не так уж и много. Особенно если это решение open source. В моем случаем мне нужно было получить, разобрать и визуализировать трафик NetFlow v.9 cisco ASA 5585. Для этого я использовал ELK (Elasticsearch+Logstash+Kibana):

![image][1]

Вот ссылка на [официальный сайт][2].

**Спойлер**
Данный продукт является open source решением, а это значит, что в нем было и будет немало «багов», с которыми мне посчастливилось пришлось столкнуться. Ниже будет представлена рабочая сборка.

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

[1]: https://habrastorage.org/getpro/habr/post_images/4f8/21d/1f2/4f821d1f29d3242cea071f7faf0a61d4.png
[2]: http://www.elastic.co
[3]: https://habrahabr.ru/post/307528/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] QRLJacking: новый тип атаки угрожает безопасности пользователей ряда сервисов и интернет-мессенджеров
habra.16
habrabot(difrex,1) — All
2016-08-10 18:30:04


_QR-аутентификация не так безопасна, как принято считать_



Мохамед Басет (Mohamed Baset) — специалист по информационной безопасности, разработавший метод атаки на пользователей интернет-мессенджеров. Метод этот основан на использовании QR-кодов. Сейчас QR-коды используются для аутентификации во многих приложениях, включая WeChat, Line и WhatsApp. SQRL (Secure QR Logins) считался вполне безопасным методом, но похоже, что это не так.

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

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

[>] Как я повысил продуктивность с помощью стриминга
habra.16
habrabot(difrex,1) — All
2016-08-10 19:00:03


Точно не помню как я начал стримить, но помню какое впечатление это на меня произвело. Я начал программировать в 2003 году [[1][1]], хотя в то время у меня еще даже не было интернета. У меня была книга [Symfonia C++][2] и старый компилятор Borland 3.11.



![][3]



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


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

[1]: https://github.com/noisy/MyFirstProgramsFrom2003
[2]: http://www.ifj.edu.pl/~grebosz/symfonia_c++_std_p.html
[3]: https://habrastorage.org/files/69d/372/8be/69d3728be6a04d2f8e8f60fc703e2131.png
[4]: https://habrahabr.ru/post/307536/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Приглашаем на Tarantool meetup 25 августа
habra.16
habrabot(difrex,1) — All
2016-08-10 20:30:04


![][1]

В последний четверг этого лета приглашаем гостей в московский офис Mail.Ru Group на третий Tarantool meetup. Наша компания разрабатывает Tarantool — opensource NoSQL In-Memory СУБД, которая ориентирована на максимально возможную производительность. Об этой базе данных вы неоднократно могли читать в нашем блоге. Мы поговорим об основных отличиях и преимуществах Tarantool, поделимся опытом использования и планами на будущее. Событие будет интересно разработчикам, системным администраторам Unix и другим IT-специалистам, работающим с базами данных. В программе встречи три доклада, подробности и программу встречи читайте под катом.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/445/6d7/3df/4456d73dfd5c426292d3a20f5708884e.jpg
[2]: https://habrahabr.ru/post/307548/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Microsoft исправила уязвимости в Windows
habra.16
habrabot(difrex,1) — All
2016-08-11 00:30:03


Microsoft выпустила набор обновлений для Windows и Office. Обновлению подверглись веб-браузеры Internet Explorer и Edge, а также такие печально известные компоненты Windows, как драйвер Win32k.sys, графическая библиотека Gdiplus.dll, библиотека Windows PDF Glcndfilter.dll. В рамках обновления [MS16-096][1] в веб-браузере Edge было исправлено восемь уязвимостей, большинство из которых относятся к типу RCE и могут быть использованы атакующими для удаленного исполнения кода с использованием специальным образом сформированной веб-страницы.

Как и в прошлый раз, обновлению подвергся механизм безопасной загрузки Windows 8.1 & 10 под названием Secure Boot. Обновление [MS16-100][2] исправляет в нем уязвимость CVE-2016-3320 типа Security Feature Bypass (SFB). С использованием этой уязвимости атакующие могут скомпрометировать такие функции безопасности Windows как проверка аутентичности загружаемых драйверов, а также разрешить в системе загрузку драйверов с тестовой цифровой подписью.
[Читать дальше →][3]

[1]: https://technet.microsoft.com/library/security/MS16-096
[2]: https://technet.microsoft.com/library/security/MS16-100
[3]: https://habrahabr.ru/post/307540/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Золотой ключик — неустранимая уязвимость в механизме Secure Boot многих устройств
habra.16
habrabot(difrex,1) — All
2016-08-11 10:00:03


![][1]

Исследователями безопасности MY123 и Slipstream был найдена уязвимость в реализации механизма Secure Boot многих устройств, позволяющая полностью обойти требование наличия надлежащим образом подписанного исполняемого кода для запуска на этих устройствах. Это, в частности, означает, что владельцы планшетов с Windows RT смогут вновь получат возможность устанавливать альтернативную операционную систему. Но так же это означает, что и головной боли у системных администраторов прибавиться, ведь уязвимость открывает новые возможности для установки руткитов.



Энтузиасты разместили подробную информацию на [специальной страничке][2], оформленной в стиле демо-сцены.


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

[1]: https://habrastorage.org/files/0fd/562/c26/0fd562c2639548f3abb0544ea1ae7575.png
[2]: https://rol.im/securegoldenkeyboot/
[3]: https://habrahabr.ru/post/307564/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Золотой ключик — неустранимая уязвимость в механизме Secure Boot многих Windows-устройств
habra.16
habrabot(difrex,1) — All
2016-08-11 11:00:04


![][1]

Исследователями безопасности MY123 и Slipstream был найдена уязвимость в реализации механизма Secure Boot многих устройств, позволяющая полностью обойти требование наличия надлежащим образом подписанного исполняемого кода для запуска на этих устройствах. Это, в частности, означает, что владельцы планшетов с Windows RT смогут вновь получат возможность устанавливать альтернативную операционную систему. Но так же это означает, что и головной боли у системных администраторов прибавиться, ведь уязвимость открывает новые возможности для установки руткитов.



Энтузиасты разместили подробную информацию на [специальной страничке][2], оформленной в стиле демо-сцены.


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

[1]: https://habrastorage.org/files/0fd/562/c26/0fd562c2639548f3abb0544ea1ae7575.png
[2]: https://rol.im/securegoldenkeyboot/
[3]: https://habrahabr.ru/post/307564/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Голосовые «отпечатки» теперь официально работают (и как выглядит процесс внедрения в Приорбанке)
habra.16
habrabot(difrex,1) — All
2016-08-11 12:00:03


![][1]

_— А не западло ли вам там в банке отвечать на анонимные вопросы?
— Нет, Владимир Петрович, не западло._

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

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

[1]: https://habrastorage.org/files/bf7/85f/4ac/bf785f4ac26f414ea6b62e3cefb07cfa.jpg
[2]: https://habrahabr.ru/post/307576/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Поиск недействительных паспортов или учимся готовить бинарные файлы
habra.16
habrabot(difrex,1) — All
2016-08-11 12:30:04


![][1]В комментариях к публикации [Почему Go превосходит посредственность][2], один из хабраюзеров предложил в качестве примера написать алгоритм поиска по списку недействительных паспортов.
Одним из условий задачи было — не использовать для этой цели СУБД. Также решение должно по минимуму использовать память, место на диске и ЦП.

К своему удивлению обнаружил, что большинство комментаторов предлагали всё же использовать СУБД, несмотря на то, что решение, использующее стандартные базы данных будет весьма громоздким (кроме того, что для самих данных нужно использовать минимум 5 байт на запись, так ещё и почти столько же места на индексы).

Имея опыт работы над бинарными базами для [Sypex Geo][3], я решил попробовать набросать формат бинарного файла и алгоритм поиска по нему. [Читать дальше →][4]

[1]: https://habrastorage.org/files/6ae/ab4/875/6aeab48753da440da7d782041199a841.png
[2]: https://habrahabr.ru/post/260451/
[3]: http://sypexgeo.net/
[4]: https://habrahabr.ru/post/307568/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Игра в кошки-мышки: как создавался антиспам в Почте Mail.Ru и при чем здесь Tarantool
habra.16
habrabot(difrex,1) — All
2016-08-11 13:00:03


![][1]

Привет, Хабр! В этой статье я хочу рассказать о системе антиспама в Почте Mail.Ru и опыте работы с Tarantool в рамках этого проекта: в каких задачах мы используем эту СУБД, с какими трудностями и особенностями ее интеграции столкнулись, на какие грабли наступали, как набивали шишки и в итоге познали дзен.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/054/ee2/8c5/054ee28c504b4cd1a195069f6ec9c056.jpg
[2]: https://habrahabr.ru/post/307424/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Как на самом деле устроена торговля на бирже, и как ее можно улучшить: Простой алгоритм (часть 3)
habra.16
habrabot(difrex,1) — All
2016-08-11 13:30:05


[![][1]][2]

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

[1]: https://habrastorage.org/files/489/202/27b/48920227b8a84b66bd46ffa7fc052247.jpg
[2]: https://habrahabr.ru/company/itinvest/blog/307588/
[3]: https://habrahabr.ru/company/itinvest/blog/306392/
[4]: https://habrahabr.ru/company/itinvest/blog/307408/
[5]: https://www.chrisstucchio.com/blog/2012/hft_whats_broken.html
[6]: https://habrahabr.ru/post/307588/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Системы обработки данных при проведении тестирования на проникновение
habra.16
habrabot(difrex,1) — All
2016-08-11 15:00:04


![][1]

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

[1]: https://habrastorage.org/files/74e/19b/bf7/74e19bbf7e994b20a0bdf46a32df2c77.png
[2]: https://habrahabr.ru/post/283056/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Золотой ключик — неустранимая возможность полного обхода Secure Boot на большинстве Windows-устройств
habra.16
habrabot(difrex,1) — All
2016-08-11 15:00:04


![][1]

Исследователями безопасности MY123 и Slipstream был найдена уязвимость в реализации механизма Secure Boot многих устройств, позволяющая полностью обойти требование наличия надлежащим образом подписанного исполняемого кода для запуска на этих устройствах. Это, в частности, означает, что владельцы планшетов с Windows RT смогут вновь получат возможность устанавливать альтернативную операционную систему. Но так же это означает, что и головной боли у системных администраторов прибавится, ведь уязвимость открывает новые возможности для установки руткитов.



Энтузиасты разместили подробную информацию на [специальной страничке][2], оформленной в стиле демо-сцены.


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

[1]: https://habrastorage.org/files/0fd/562/c26/0fd562c2639548f3abb0544ea1ae7575.png
[2]: https://rol.im/securegoldenkeyboot/
[3]: https://habrahabr.ru/post/307564/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Java DevTools: модно не значит хорошо
habra.16
habrabot(difrex,1) — All
2016-08-11 18:00:04


Сегодня с нами Антон Архипов — разработчик и менеджер продукта JRebel в компании ZeroTurnaround, — и говорим мы о правильных средствах разработки и их неправильном использовании. Антон профессионально занимается разработкой на Java более десяти лет. Основные интересы связаны с языками программирования и инструментарными средствами разработки ПО. Очень любит vim и IntelliJIDEA. Часто выступает на международных конференциях — за спиной выступления на таких конференциях как JAX, JavaOne, Joker, JPoint, GeeCON, Jfokus, JavaZone, EclipseCon.

![][1]
**— Антон, чем вы занимаетесь в области Java-разработки?**

— Последние шесть лет я работаю в компании «ZeroTurnaround», и по долгу службы занимаюсь любимым делом – разработкой инструментов для Java-разработчиков. Наш известный продукт – JRebel для Java-разработчиков, и наш второй крупный продукт – это XRebel, тоже для Java-разработчиков, но больше для тех, кто занимается веб-разработкой. Я занимался первые три года JRebel, и последние три года участвую в создании XRebel.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/ccc/347/c40/ccc347c406d2496dbe464f7714842b88.jpg
[2]: https://habrahabr.ru/post/307606/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Mirantis Unlocked validation program. Часть 2: Hard and Soft
habra.16
habrabot(difrex,1) — All
2016-08-11 18:00:04


_Авторы: Евгения Шумахер, Илья Стечкин_

_Представляем вашему вниманию второй материал, посвященный программам валидации, которые предлагает Mirantis своим партнерам. В [прошлом посте][1] мы рассказывали о том, кому и для чего нужно валидировать fuel-плагины. Сегодня поговорим о валидации приложений и “железа”._ [Читать дальше →][2]

[1]: https://habrahabr.ru/company/mirantis_openstack/blog/303522/
[2]: https://habrahabr.ru/post/307470/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Random User-Agent — версия вторая
habra.16
habrabot(difrex,1) — All
2016-08-11 18:00:04


Прошло два года с того момента, как вышла первая версия этого расширения для Chromium-based браузеров (работает в Google Chrome, Yandex.Browser и т.д[.][1]), задача которого проста и понятна — скрывать настоящий User-Agent. На данный момент это расширение работает у +6.000 пользователей _(что очень скромно)_, и несколько дней назад получил на почту письмо с просьбой его немного доработать. Оценив состояние кода, к которому два года никто не притрагивался, было решено — переписывать его с нуля. Четыре дня работы, и вуаля — встречаем свежую мажорную версию, значительно улучшенную и с новым функционалом.



![image][2]



Под катом будут некоторые мысли как по поводу чуть-более анонимного веб-серфинга, настройке браузера Google Chrome, и почему это расширение может быть полезно. Чуть-чуть опытные анонимусы не найдут в посте для себя чего-либо интересного, поэтому для них, как и для самых нетерпеливых, традиционно — [исходники на GitHub][3] и расширение в **[Google Webstore][4]**.

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

[1]: https://blog.kplus.pro/
[2]: https://habrastorage.org/files/8b7/13a/887/8b713a887e2843d4aab697de32ded217.jpg
[3]: https://github.com/tarampampam/random-user-agent
[4]: https://goo.gl/5zl2hW
[5]: https://habrahabr.ru/post/307574/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Переводчик с языка жестов: реализация метода опорных векторов на Intel Edison
habra.16
habrabot(difrex,1) — All
2016-08-11 19:30:03


В мире живёт 30 миллионов человек, имеющих проблемы с речью. Для того, чтобы общаться с окружающими, они пользуются языком жестов. А что, если собеседник такого языка не понимает? Как преодолеть языковой барьер? Наш сегодняшний рассказ посвящён проекту распознавания жестов. Плата Intel Edison принимает сведения от датчиков, закреплённых на специальной перчатке, обрабатывает их с использованием метода опорных векторов, узнаёт, какой букве соответствует жест, и отправляет то, что получилось, Android-приложению для озвучивания.

[![][1]][2]
_Intel Edison и перчатка с датчиками: основа системы распознавания языка жестов_
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/118/ccb/2b7/118ccb2b706d8ee6ab6b76fd60ad466b.jpg
[2]: https://habrahabr.ru/company/intel/blog/306948/
[3]: https://habrahabr.ru/post/306948/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Возможности C++ Builder 10.1 Berlin Starter
habra.16
habrabot(difrex,1) — All
2016-08-11 21:00:04


Друзья! Сегодня я с вами поделюсь своим взглядом на продукт “**C++ Builder 10.1 Berlin Starter**”. Надеюсь, мой опыт будет полезен, он избавит нас от лишних ожиданий или поможет ответить на некоторые вопросы, что есть и чего нет в Starter-версии (практически тоже самое можно сказать и про редакцию Delphi 10.1 Berlin Starter).

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

[1]: https://habrastorage.org/files/4de/4e5/063/4de4e50632cf4c24ad90e5c958ae78d6.png
[2]: https://habrahabr.ru/post/307586/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ... 133