RSS
Pages: 1 ... 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ... 133
[>] ФСТЭК: требования к файрволам
habra.16
habrabot(difrex,1) — All
2016-09-28 13:30:04


Итак, произошло долгожданное событие и ФСТЭК РФ в дополнение к ранее выпущенным [Профилям антивирусной защиты][1] выпустил (точнее выложил на [сайте][2]) и требования к межсетевым экранам. В том числе программным для установки на рабочие станции. К сожалению выложены не все документы — традиционно выложены Профили четвертого, пятого и шестого класса защиты. Остальные классы защиты описываются в документах с грифом ДСП и широкой публике недоступны.

Что же должны уметь межсетевые экраны по мнению ФСТЭК?
[Читать дальше →][3]

[1]: https://habrahabr.ru/post/262413
[2]: http://fstec.ru/tekhnicheskaya-zashchita-informatsii/dokumenty-po-sertifikatsii/120-normativnye-dokumenty/1185-metodicheskie-dokumenty-utverzhdeny-fstek-rossii-12-sentyabrya-2016-g
[3]: https://habrahabr.ru/post/311188/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

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


![][1]
_Иллюстрация [@alvaro\_sanchez][2]_



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



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



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

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

[1]: https://habrastorage.org/files/717/e67/4f7/717e674f7a714fe4a0e00eee50a55e9a.jpg
[2]: https://twitter.com/alvaro_sanchez
[3]: https://habrahabr.ru/post/311208/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как научиться оценивать задачи, если не умеешь: 4 фактора сложности
habra.16
habrabot(difrex,1) — All
2016-09-28 15:00:03


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

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

В одной из команд, где я работал, мы придумали **оригинальный метод** для предварительной оценки задач. Метод синтезирует некоторые известные из литературы приёмы, но в приведённой форме, пожалуй, никем не описан. Концепция была следующей: объективность (связь с измеримыми показателями); интегрируемость с Agile; повторяемость; быстрота оценки (меньше 0.5% от объема задачи); доступность для начинающих разработчиков. Я буду рад обсудить нашу идею и не исключаю, что кому-то из Хабрааудитории она придётся по душе.
[Читать дальше →][1]

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

[>] [Из песочницы] Программирование&Музыка: понимаем и пишем VSTi синтезатор на C# WPF. Часть 1
habra.16
habrabot(difrex,1) — All
2016-09-28 15:30:03


Занимаясь музыкальным творчеством, я часто делаю аранжировки и записи на компьютере — используя кучу всяких [VST плагинов и инструментов][1]. Стыдно признаться — я никогда не понимал, как "накручивают" звуки в синтезаторах. Программирование позволило мне написать свой синтезатор, "пропустить через себя" процесс создания звука.



Я планирую несколько статей, в которых будет пошагово рассказано, как написать свой VST плагин/инструмент: программирование осциллятора, частотного фильтра, различных эффектов и модуляции параметров. **Упор будет сделан на практику**, объяснение программисту простым языком, как же все это работает. Теорию (суровые выводы и доказательства) обойдем стороной (естественно, будут ссылки на статьи и книги).



Обычно плагины пишутся на C++ (кроссплатформенность, возможность эффективно реализовать алгоритмы), но я решил выбрать более подходящий для меня язык — C#; сфокусироваться на изучении самого синтезатора, алгоритмов, а не технических деталей программирования. Для создания красивого интерфейса я использовал WPF. Возможность использования архитектуры .NET дала возможность библиотека-обертка [VST. NET][2].



Ниже представлен обзорный ролик [моего простого синтезатора][3], полученных интересных звучаний.




Предстоит нелегкий путь, если вы готовы — добро пожаловать под кат.


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

[1]: https://ru.wikipedia.org/wiki/Virtual_Studio_Technology
[2]: https://vstnet.codeplex.com/
[3]: https://github.com/lis355/Syntage
[4]: https://habrahabr.ru/post/311220/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как переписать SDK на TypeScript, обновить платформу и ни о чем не жалеть
habra.16
habrabot(difrex,1) — All
2016-09-28 15:30:03


![image][1]


У нас новая версия WebSDK – v4. Пока это только public beta версия, но она уже стабильна для большинства повседневных кейсов. Мы старались сохранить обратную совместимость новой версии.



А еще обновилась платформа – v3. Там много всего нового и интересного. Все работает быстрее и веселее. О подробностях ниже.



Как видите, у нас дабл страйк! Под катом – что получилось за 6 месяцев перекрестного дебага, непрерывного улучшения и боли. Спойлер: больше никакого древнего Flash. Только чистый WebRTC + ORTC.

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

[1]: https://habrastorage.org/files/68a/0fa/e5e/68a0fae5e2df4028b445b10d561f93ab.jpg
[2]: https://habrahabr.ru/post/310740/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как мы проверяем работоспособность серверного кода без мобильных клиентов
habra.16
habrabot(difrex,1) — All
2016-09-28 16:00:04


![][1]

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



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

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

[1]: https://habrastorage.org/files/640/5fe/e5d/6405fee5de6d411cad38ee4912c7de04.png
[2]: https://habrahabr.ru/post/311218/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Измеряем производительность кэша Apache Ignite
habra.16
habrabot(difrex,1) — All
2016-09-28 17:30:04


После того, как в предыдущих статьях данной серии обзоров распределённого Java-фреймворка [Apache Ignite][1] мы сделали [первые шаги][2], познакомились с основными принципами [построения топологии][3] и даже [сделали стартер для Spring Boot][4], неизбежно встаёт вопрос о кэшировании, которое является одной из основных функций Ignite. Прежде всего, хотелось бы понять, нужно ли оно, когда библиотек для кэширования на Java и так полным-полно. Тем, что предоставляется реализация стандарта JCache (JSR 107) и возможность распределённого кэширования в наше время удивить сложно. Поэтому прежде чем (или вместо того чтобы) рассматривать функциональные возможности кэша Apache Ignite, мне бы хотелось посмотреть, насколько он быстр.
![][5]
Для исследования применялся бенчмарк [cache2k-benchmark][6], разработанный с целью доказательства того, что у библиотеки [cache2k][7] кэш самый быстрый. Вот заодно и проверим. Настоящая статья не преследует цель всеобъемлющего тестирования производительности, или хотя бы научно достоверного, пусть этим занимаются разработчики Apache Ignite. Мы просто посмотрим на порядок величин, основные особенности и взаимное расположение в рейтинге, в котором будут ещё cache2k и нативный кэш на ConcurrentHashMap.
[Читать дальше →][8]

[1]: https://ignite.apache.org/
[2]: https://habrahabr.ru/post/310334/
[3]: https://habrahabr.ru/post/310464/
[4]: https://habrahabr.ru/post/310672/
[5]: https://habrastorage.org/files/f21/2f0/301/f212f0301afe40d19ac43378944d260c.jpg
[6]: https://github.com/cache2k/cache2k-benchmark
[7]: http://cache2k.org/
[8]: https://habrahabr.ru/post/311140/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Обзор визуальной среды разработки SBM Composer
habra.16
habrabot(difrex,1) — All
2016-09-28 17:30:04


У нас уже есть несколько публикаций, посвященных платформе Serena Business Manager (SBM).

» [Версия 11.1][1]
» [Версия 11.01][2]

Поскольку поступил запрос рассказать подробнее о платформе, среде разработки, примерах решений, я начну с рассказа о поставляемом в составе платформы инструменте для разработки приложений – SBM Composer.

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

[1]: https://habrahabr.ru/company/softmart/blog/308540/
[2]: https://habrahabr.ru/company/softmart/blog/278925/
[3]: https://habrahabr.ru/post/311162/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] learnopengl. Урок 1.2 — Создание окна
habra.16
habrabot(difrex,1) — All
2016-09-28 17:30:04


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

Заинтересовавшихся прошу под кат.
[Читать дальше →][1]

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

[>] Microsoft представила защитную технологию Windows Defender Application Guard для веб-браузера Edge
habra.16
habrabot(difrex,1) — All
2016-09-28 21:00:03


Microsoft ранее уже [анонсировала][1] специальные защитные меры от вредоносного ПО и кибератак, которые основаны на механизме виртуализации Hyper-V. С выпуском Windows 10 компания представила так называемую среду Virtual Secure Mode (VSM) и две основанные на VSM защитные меры: Device Guard и Credential Guard (доступны для enterprise версий Windows 10). Основное их предназначение заключается в изоляции критических для безопасности операций в мини-ОС, которая работает в отдельной виртуальной машине с высоким уровнем доверия.

![][2]
К таким критическим операциям относится проверка легитимности данных UEFI-прошивки компьютера, драйверов режима ядра (Device Guard) и выполнение процедур, которые относятся к аутентификации пользователей (Credential Guard). Новая [функция безопасности][3] под названием Windows Defender Application Guard для веб-браузера Edge выполняет аналогичную изоляцию на основе Hyper-V, но только, в этом случае, ненадежных источников контента в веб-браузере.

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

[1]: https://blogs.technet.microsoft.com/ash/2016/03/02/windows-10-device-guard-and-credential-guard-demystified/
[2]: https://habrastorage.org/files/cdf/9ad/566/cdf9ad56694144fbab648c11c0fad8ce.png
[3]: https://blogs.windows.com/msedgedev/2016/09/27/application-guard-microsoft-edge/#Gf28reVOUGgOS5CJ.97
[4]: https://habrahabr.ru/post/311242/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [systemd/udev] ppp: корректный автостарт system‐wide демона
habra.16
habrabot(difrex,1) — All
2016-09-29 07:30:03


Пакет `usb_modeswitch` обычно поставляется с готовыми udev‐правилами для автоматического переключения режима модема. `ppp`, независимо от него, помимо самого себя, включает сервис для демонизации. Эти конфигурации независимы друг от друга.


![][1]

Если использовать их одновременно, _может возникнуть конфликт_: `pppd` запустится до того, как udev переключит модем `usb_modeswitch -J`‐ем.



Можно оставить на откуп `Restart=on-failure` с `RestartSec=5s`, но спортивно ли это?

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

[1]: https://habrastorage.org/files/c27/5ab/49d/c275ab49d5474ea79aa2c5d27a176943.png
[2]: https://habrahabr.ru/post/311268/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Минимальный набор знаний молодого разработчика
habra.16
habrabot(difrex,1) — All
2016-09-29 10:00:10


Мой [предыдущий][1] пост возымел определенный эффект – несколько человек посчитали его очень мотивирующим и попросили меня дать некоторые советы и рекомендации, с чего же начать карьеру разработчика. Очевидно, вопрос слишком широкий и не имеет ответа как такового, поэтому я поставлю его более узко: что должен знать молодой java-разработчик, пишущий back-end?



Этот пост не является курсом молодого бойца, а является лишь:


* Моей попыткой выбрать основные направления, в которых должен ориентироваться каждый начинающий java back-end разработчик.
* Небольшим собранием материалов к изучению.
* Описанием тестового проекта, который разработчик должен суметь реализовать с использованием указанных инструментов.

Цель:


* Осветить список основных инструментов экосистемы языка, которыми необходимо уметь пользоваться и понимать на базовом уровне. Я не ставлю целью дать глубокое понимание инструментов, так как это самое понимание можно приобрести лишь с опытом.
[Читать дальше →][2]

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

[>] [Из песочницы] Google Photos не может удалять файлы с SD карты
habra.16
habrabot(difrex,1) — All
2016-09-29 11:00:23


Многие пользователи Android столкнулись с досадной проблемой, связанной с доступом приложений к SD карте. Одним из таких приложений является Google Фото. Когда-то всё было нормально. Но в Android 4.4 Google внедрили новую системную конфигурацию, которая запрещает приложениям писать на sd-карту. Удалять изображения через галерею, а затем снова удалять их же в google photos крайне неудобно.

Для себя я проблему решил рутованием девайса и исправлением конфигурации. Подробности на видео:



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

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

[>] Избыточность сочетаний
habra.16
habrabot(difrex,1) — All
2016-09-29 11:30:05


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

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

[>] JSON-сериализатор на быстрых шаблонах
habra.16
habrabot(difrex,1) — All
2016-09-29 14:00:04


![][1]

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

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

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

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

[1]: https://habrastorage.org/files/c8c/cda/b29/c8ccdab29a2445e7ab7438051d13c4bd.jpg
[2]: https://habrahabr.ru/post/311262/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Опорный алгоритм в Excel по В. Ф. Шаталову
habra.16
habrabot(difrex,1) — All
2016-09-29 15:00:03


Педагог-новатор Виктор Федорович Шаталов в 70-х годах прошлого века разработал систему обучения с использованием опорных сигналов — взаимосвязанных ключевых слов, условных знаков, рисунков и формул с кратким выводом [1].



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


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

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

[>] Релиз YouTrack 7.0: новая концепция Agile доски, диаграмма Ганта и многое другое
habra.16
habrabot(difrex,1) — All
2016-09-29 15:00:03


Всем привет! Недавно мы выпустили YouTrack 7.0, новую версию баг-трекера от JetBrains.

![image][1]

Что нового в YouTrack 7.0?
[Читать дальше →][2]

[1]: https://habrastorage.org/files/927/6bf/e9d/9276bfe9dd674e4fa6122b053a24a216.png
[2]: https://habrahabr.ru/post/311110/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Позволит ли формальная верификация кода микроядра создавать сверхнадежные ОС
habra.16
habrabot(difrex,1) — All
2016-09-29 20:30:04



В 2015 году американская компания [Rockwell Collins][1] совместно с Boeing и 3D-Robotics провела испытания устойчивых ко взлому квадрокоптера Iris и беспилотного вертолёта Little Bird со «сверхнадежной» операционной системой.

Разработка защищённых от взлома дронов ведётся по заказу Агентства перспективных оборонных проектов (DARPA) Министерства обороны США, которое заинтересовано в защите перспективных беспилотных и опционально пилотируемых летательных аппаратах от возможных уязвимостей.

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

Разработанная Rockwell Collins операционная система на базе микроядра [seL4][2] устойчива ко всем трём типам взлома. [Читать дальше →][3]

[1]: https://www.rockwellcollins.com/
[2]: https://sel4.systems/
[3]: https://habrahabr.ru/post/311366/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Как не надо делать сети
habra.16
habrabot(difrex,1) — All
2016-09-29 21:00:04


Весной 2016 года состоялись соревнования по информационной безопасности в Новосибирске NSK CTF. Соревнования проводились два дня подряд, первый день отдан школьникам, второй — студентам. Всего участие приняло 162 человека, 19 школьных и 12 студенческих команд. К слову, с момента прошлых соревнований ([статья о Sibsutis-CTF][1] и [видео о Sibsutis school CTF 2015][2]) интерес к мероприятию только увеличивается, как увеличивается и уровень подготовки участников. Так ли всё просто?
[Читать дальше →][3]

[1]: https://habrahabr.ru/post/252303/
[2]: https://www.youtube.com/watch?v=y2R4LHwuFqY
[3]: https://habrahabr.ru/post/311368/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] learnopengl. Урок 1.3 — Hello Window
habra.16
habrabot(difrex,1) — All
2016-09-30 03:00:04


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

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

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

[>] История одной одержимости, или как я писал календарный скрипт для Photoshop
habra.16
habrabot(difrex,1) — All
2016-09-30 11:00:04


![][1]

Эта статья о том, как я писал скрипт для создания календарей в Photoshop, от самого начала и до самого конца, с багами и пасхалками. Много текста, некоторого кода и чуть-чуть иллюстраций.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/bbb/519/8b5/bbb5198b509949cfa941b5c28bd64c78.jpg
[2]: https://habrahabr.ru/post/311390/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Создаем своего бота для игры в Го
habra.16
habrabot(difrex,1) — All
2016-09-30 12:00:03


![][1]

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

[1]: https://habrastorage.org/files/83d/a45/1fc/83da451fc45644a9b16b96125d0fbae6.png
[2]: https://habrahabr.ru/post/311392/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Format preserving encryption или как правильно шифровать номера кредиток
habra.16
habrabot(difrex,1) — All
2016-09-30 13:00:03


![][1]
Привет, %username%!
Сегодня у нас немного пятничная криптотема
В марте 2016 года вышла интересная публикация от NIST под номером [800-38G][2] (pdf) и с очень интересным называнием **Recommendation for Block Cipher Modes of Operation:Methods for Format-Preserving Encryption**
в которой отписываются два алгоритма, позволяющие не менять формат данных при шифровании. То есть, если это будет номер кредитки
1234-3456-4567-6678, то после шифрования он тоже останется номером, просто другим. Например
6243-1132-0738-9906.
И это не простой xor, там AES и вообще всё серьезно. Давайте немного поговорим о FPE вообще, и об одной из реализаций в частности.
[А так можно вообще?][3]

[1]: https://habrastorage.org/files/989/5ce/1df/9895ce1dfebd42fb84ead32f8c00f5f0
[2]: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38G.pdf
[3]: https://habrahabr.ru/post/311200/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] «Правда, чистая правда и статистика» или «15 распределений вероятности на все случаи жизни»
habra.16
habrabot(difrex,1) — All
2016-09-30 13:00:03


Статистика приходит к нам на помощь при решении многих задач, например: когда нет возможности построить детерминированную модель, когда слишком много факторов или когда нам необходимо оценить правдоподобие построенной модели с учётом имеющихся данных. Отношение к статистике неоднозначное. Есть мнение, что существует три вида лжи: ложь, наглая ложь и статистика. С другой стороны, многие «пользователи» статистики слишком ей верят, не понимая до конца, как она работает: применяя, например, тест [Стьюдента][1] к любым данным без проверки их нормальности. Такая небрежность способна порождать серьёзные ошибки и превращать «поклонников» теста [Стьюдента][2] в ненавистников статистики. Попробуем поставить токи над i и разобраться, какие модели случайных величин должны использоваться для описания тех или иных явлений и какая между ними существует генетическая связь.
[Читать дальше →][3]

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

[>] Результаты летней стажировки в Digital Security. Отдел исследований
habra.16
habrabot(difrex,1) — All
2016-09-30 13:00:03


![][1]



Наша компания в конце апреля этого года [объявила][2] об открытой стажировке в трех самых технических отделах: исследований, анализа защищенности и безопасности бизнес-систем. Этот опыт был для нас новым, и хочется поделиться им.

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

[1]: https://habrastorage.org/files/a90/064/8a7/a900648a7388417aafd61e00b6313897.png
[2]: https://dsec.ru/news/press/we_invite_to_training_in_digital_security/
[3]: https://habrahabr.ru/post/311374/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Критическая уязвимость библиотеки OpenSSL позволяет проводить DoS-атаки
habra.16
habrabot(difrex,1) — All
2016-09-30 15:00:05


[![][1]][2]

_Изображение: [thehackernews.com][3]_

В конце прошлой недели (22 сентября) организация OpenSSL Foundation [объявила][4] об устранении более десятка уязвимостей своей криптографической библиотеки. Среди найденных «багов» была и ошибка, эксплуатация которой позволяет злоумышленникам осуществлять DoS-атаки. [Читать дальше →][5]

[1]: https://habrastorage.org/files/18b/d5f/ac1/18bd5fac1edf4400839f6e163a2fc1a5.png
[2]: https://habrahabr.ru/company/pt/blog/311408/
[3]: http://thehackernews.com/
[4]: https://www.openssl.org/news/secadv/20160922.txt
[5]: https://habrahabr.ru/post/311408/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] .NET и CLR: Взгляд изнутри
habra.16
habrabot(difrex,1) — All
2016-09-30 15:30:03


![][1]

Что такое C#? Объектно-ориентированный эсперанто со сборщиком мусора, функциональными примочками и бесплатным массажем после обеда. Он позволяет писать Действительно Важные Вещи, скрывая от нас ненужные детали работы с памятью, процессором и прочее низкоуровневое программирование. Естественно, находятся люди с повышенным уровнем любопытства в крови, желающие знать как же .NET работает на самом деле (само собой, они изучают .NET исключительно ради повышения производительности разрабатываемого софта). Сегодня с нами разговаривают:
[Читать дальше →][2]

[1]: https://habrastorage.org/files/e7c/676/7f6/e7c6767f69da412eb1c988d98c83ad3e.jpg
[2]: https://habrahabr.ru/post/311286/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Zerodium повысила сумму вознаграждения за удаленный jailbreak для iOS
habra.16
habrabot(difrex,1) — All
2016-09-30 16:00:04


Пока компания Apple [устраивала][1] приватное мероприятие для узкого круга security-ресерчеров своих продуктов (анонсированная недавно программа bug bounty), фирма Zerodium [анонсировала][2] повышение вознаграждений, которые она выплачивает за обнаруженные уязвимости. В частности, вознаграждение за удаленный jailbreak устройства под управлением iOS 10 выросло до $1,5M. Напомним, что iOS 10 на iPhone 7 уже [была][3] скомпрометирована 19-летним security-ресерчером, также приглашенным на закрытое мероприятие Apple.

![][4]
Мы уже не раз упоминали в своих постах корпоративного блога основателя фирмы Zerodium Chaouki Bekrar, который известен своими скандальными высказываниями в адрес Apple и Google в связи с недостаточными выплатами вознаграждений исследователям безопасности. В одном из своих твитов Bekrar [подтвердил][5], что Zerodium не имела отношения к Trident эксплойтам, о которых мы писали ранее. Связка из этих эксплойтов [позволяла][6] осуществлять удаленный jailbreak iOS 9 и оценивалась Zerodium в $1M.

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

[1]: http://www.forbes.com/sites/thomasbrewster/2016/09/28/apple-iphone-hacker-meet-cupertino/
[2]: https://www.zerodium.com/program.html
[3]: https://twitter.com/qwertyoruiopz/status/778495024514404352/photo/1
[4]: https://habrastorage.org/files/af6/025/9d6/af60259d66d6482ab84ce5e8d1b730cc.png
[5]: https://twitter.com/cBekrar/status/769159940942409729
[6]: https://habrahabr.ru/company/eset/blog/308558/
[7]: https://habrahabr.ru/post/311428/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как считать счётчики и не сбиться со счёта
habra.16
habrabot(difrex,1) — All
2016-09-30 18:00:03


![][1]



Число подписчиков блога. Число опубликованных постов пользователя. Число положительных и отрицательных голосов за комментарий. Число оплаченных заказов товара. Вам приходилось считать что-то подобное? Тогда, готов поспорить, что оно у вас периодически сбивалось. Да ладно, даже у вконтакта сбивалось:


![][2]

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

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

[1]: https://habrastorage.org/files/1cf/4ee/758/1cf4ee7584d94241b45aab71b40aeed9.jpg
[2]: https://habrastorage.org/files/75a/0b8/490/75a0b8490b224ac29bd34c27e02fe3ab.jpg
[3]: https://habrahabr.ru/post/311436/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как посчитать перестановки. Лекция в Яндексе
habra.16
habrabot(difrex,1) — All
2016-10-01 15:30:03


Некоторое время назад в московский офис Яндекса приезжал Игорь Пак — ученый с множеством научных работ, выпускник мехмата МГУ и аспирантуры Гарварда. Сейчас Игорь работает в Калифорнийском университете. Его лекция в Яндексе была посвящена различным классам последовательностей и перестановкам. В том числе прямо по ходу лекции он представил выкладки, опровергающие [гипотезу Нунана и Зайлбергера][1] — одну из ключевых в области перестановок.



Под катом — подробная текстовая расшифровка и большинство слайдов.
[Читать дальше →][2]

[1]: https://arxiv.org/abs/math/9808080
[2]: https://habrahabr.ru/post/311480/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Security Week 39: взлом Yahoo, брутфорс бэкапов iOS 10, макромалварь скрывается от исследователей
habra.16
habrabot(difrex,1) — All
2016-10-01 16:30:03


![][1]Что случилось с Yahoo? Как любит писать британское издание [The Register][2], у Yahoo! на! прошлой! неделе! украли! полмиллиарда! паролей! ([новость][3]! [официальное! заявление! Yahoo][4]!) В [предыдущей серии][5] я кратко упомянул это событие, посчитав его масштабным, но не настолько значимым, чтобы дополнительно растекаться мыслью по древу. Ан нет. И дело не в том, что украли очень много паролей: предположительно взлом инфраструктуры Yahoo! случился! (вот, опять) в 2014 году, а сейчас базы поступили в свободную продажу в дарквебе. На фоне других взломов количественные характеристики хака впечатляют, но все же давно в курсе, что парольная защита — [устаревший и неэффективный инструмент][6].

Интересно то, как Yahoo и другие реагировали на данный инцидент. В процессе обсуждения взлома вскрылось много интересных деталей, исследователи обратили внимание на нынешнее состояние инфраструктуры, видимой со стороны, и признали, что там все не так хорошо, как хотелось бы ([новость][7] этой недели). В утекшей базе помимо паролей хранились номера телефонов и другая личная информация, а часть паролей была захеширована признанным ненадежным алгоритмом MD5.

Но самое интересное в этой истории — последствия киберинцидента для крупной и публичной компании. Возникли справедливые упреки в том, что в самой Yahoo могли знать об инциденте, и скрывали эту информацию (последнее могло произойти и по миллиону уважительных причин). Позавчера New York Times со ссылкой на анонимных инсайдеров [сообщила][8], что в компании банально экономили на средствах безопасности, включая системы обнаружения взлома.
Список предыдущих серий [тут][9].
[Читать дальше →][10]

[1]: https://habrastorage.org/files/941/edd/f1f/941eddf1fb954caf964cd82f66f9092a.jpg
[2]: http://www.theregister.co.uk/2016/09/22/yahoo_500m_email_accounts_hacked/
[3]: https://threatpost.ru/500-million-yahoo-accounts-stolen-by-state-sponsored-hackers/18269/
[4]: https://yahoo.tumblr.com/post/150781911849/an-important-message-about-yahoo-user-security
[5]: https://habrahabr.ru/company/kaspersky/blog/310778/
[6]: https://habrahabr.ru/company/kaspersky/blog/309542/
[7]: https://threatpost.ru/masshtabnyj-vzlom-yahoo-vyzyvaet-vse-bolshe-voprosov/18357/
[8]: http://mobile.nytimes.com/2016/09/29/technology/yahoo-data-breach-hacking.html
[9]: http://habrahabr.ru/search/?target_type=posts&q=%5Bklsw%5D%20&order_by=date
[10]: https://habrahabr.ru/post/311438/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Обходим детектирование виртуальной машины программами в VMWare
habra.16
habrabot(difrex,1) — All
2016-10-01 19:30:03


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

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

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

[>] FreeType 2.7 — превосходное качество шрифтов Linux
habra.16
habrabot(difrex,1) — All
2016-10-02 02:00:04


В первой декаде сентября без фанфар и шумихи [вышел FreeType версии 2.7][1], и это событие, без сомнения, можно назвать праздником на улице пользователей Linux, FreeDBS, NetBSD, ReactOS и других товарищей. Попробуем разобраться, от чего у нас такое безудержное веселье.
FreeType — библиотека с открытым кодом на Си, которую используют для растеризации шрифтов и операций над ними. В новой версии по-умолчанию используется алгоритм обработки инструкций `TrueType` v40.


![][2]


Это позволило добиться качественного субпиксельного сглаживания шрифтов, как в майкрософтовском `DirectWrite/ClearType`, но _на самом деле никакого субпиксельного сглаживания не используется_. Кроме того, алгоритм v40 рендерит быстрее `Infinality`, который использовался в предыдущем алгоритме v38, при этом конечный результат не хуже.

[в чем-же дело][3]

[1]: https://www.freetype.org/index.html
[2]: https://habrastorage.org/files/3c3/5c6/684/3c35c66844234432ae45e9f7688f777b.png
[3]: https://habrahabr.ru/post/311462/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Google Tango: управляем роботом в режиме дополненной реальности
habra.16
habrabot(difrex,1) — All
2016-10-02 14:30:03


Благодаря Хабрахабру и Google к нам в лабораторию робототехники Сколтеха на неделю попал дев-кит планшет проекта Google Tango. Мы не только протестировали данное устройство, но и написали небольшое демо по управлению мобильным роботом в режиме дополненной реальности. Но об этом чуть позже, сначала немного об устройстве и наших впечатлениях от него.
> ![][1]
> _Статья автора Дмитрия Сенашенко, в рамках конкурса [«Device Lab от Google»][2]_.
[Подробнее][3]

[1]: https://habrastorage.org/files/3f9/977/d61/3f9977d610b345d2af1c3739e91b74d0.jpg
[2]: http://special.habrahabr.ru/google/lab
[3]: https://habrahabr.ru/post/309870/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Исходный код составляющих IoT-ботнета Mirai выложен в свободный доступ
habra.16
habrabot(difrex,1) — All
2016-10-03 02:30:04


![image][1]

На прошлой неделе было зафиксировано несколько мощных DDoS-атак. Сначала от рук хакеров пострадал журналист Брайан Кребс, на сайт которого обрушили DDoS мощностью порядка 620 Гбит/с. Затем об атаке сообщили представители французского хостинг-провайдера OVH, атака на которых достигала 1 Тб/с.

Атака была осуществлена посредством ботнета, состоящего более чем из 152 000 IoT-устройств, в том числе камер наблюдения и DVR. Данный ботнет насчитывает порядка 150 000 камер и способен генерировать атаки мощностью до 1,5 Тб/с, используя tcp/ack, tcp/ack+psh и tcp/syn.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/ff7/375/8a9/ff73758a917390ae90edb26e1b3ee65e.jpg
[2]: https://habrahabr.ru/post/311552/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как перестать отлаживать асинхронный код и начать жить
habra.16
habrabot(difrex,1) — All
2016-10-03 08:30:04


## Андрей Саломатин (@filipovskii\_off)


![Андрей Саломатин][1]

Сегодня каждый день появляются новые языки программирования — Go, Rust, CoffeeScript — все, что угодно. Я решил, что я тоже горазд придумать свой язык программирования, что миру не хватает какого-то нового языка…

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

Что в нем не очень обычно, что может даже оттолкнуть, на первый взгляд, — это то, что в Schlecht!Script функции имеют цвет. [Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/3c5/792/17f/3c579217f44dd53f3f002800db6eec29.jpg
[2]: https://habrahabr.ru/post/311554/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Обзор ESB-систем ServiceMix и Fuse
habra.16
habrabot(difrex,1) — All
2016-10-03 12:30:03


Представляю вашему вниманию небольшой обзор систем ESB (Enterprise Service Bus) на основе [Apache Camel][1]: [Apache ServiceMix][2] и [Red Hat JBoss Fuse][3]. Эти две системы построены на одних и тех же компонентах и обладают схожими возможностями. Более того, в большинстве случаев, они взаимозаменяемы. [Apache ServiceMix][4] разрабатывается open-source сообществом, [Red Hat JBoss Fuse][5] компанией [Red Hat][6]. По большей части, это одни и те же люди.

![][7]
Для начала, разберемся что такое ESB и зачем системы такого класса используются в информационной инфраструктуре предприятий. На современных предприятиях используется всё большей приложений различного класса: ERP, CRM, BPM, DWH, ECM и ещё множество трех-буквенных аббревиатур. Все эти приложения используют для интеграции различные протоколы и различные форматы данных. Для того чтобы связать все эти системы между собой и используется ESB.
[Читать дальше →][8]

[1]: https://camel.apache.org/
[2]: https://servicemix.apache.org/
[3]: http://developers.redhat.com/products/fuse/overview/
[4]: https://servicemix.apache.org/
[5]: http://developers.redhat.com/products/fuse/overview/
[6]: https://www.redhat.com/
[7]: https://habrastorage.org/files/821/b93/782/821b93782f9d4296bdff8657228aec28.jpg
[8]: https://habrahabr.ru/post/311540/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Анонс Rust 1.12
habra.16
habrabot(difrex,1) — All
2016-10-03 14:00:04


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



Как обычно, вы можете [установить Rust 1.12][1] с соответствующей страницы официального сайта, а также ознакомиться с [подробным списком изменений][2] в этой версии на GitHub. В этот выпуск вошёл 1361 патч.



### Что вошло в стабильную версию 1.12



Выпуск 1.12 — возможно, самый значительный с момента выпуска 1.0. Нам есть о чём рассказать, но если у вас мало времени, вот краткое содержание.

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

[1]: https://www.rust-lang.org/install.html
[2]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1120-2016-09-29
[3]: https://habrahabr.ru/post/311384/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Что сделать, чтобы вас захотел организатор конференции
habra.16
habrabot(difrex,1) — All
2016-10-03 14:30:03


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

[Вот, чему он научился][3]

[1]: https://medium.com/@housecor/conference-speaker-here-s-7-tips-for-getting-accepted-6151af513148#.db7kccxud
[2]: http://lanyrd.com/profile/housecor-5573/
[3]: https://habrahabr.ru/post/311588/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Чат-боты, и как нам с этим поможет Microsoft
habra.16
habrabot(difrex,1) — All
2016-10-03 15:00:04


![][1] Эта обзорная статья посвящена изучению стремительно набирающего в последнее время популярность направления в IT-индустрии — чат-ботам, а также роли Microsoft в процессе их развития. Будут рассмотрены: история возникновения, особенности ботов, основные и неожиданные области их применения, перспективы и ограничения технологии.
[Читать дальше →][2]

[1]: https://habrastorage.org/files/cf3/995/70a/cf399570ae2b4706b939ecd9f1d8c4c6.png
[2]: https://habrahabr.ru/post/311592/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Обработка голосовых запросов в Telegram с помощью Yandex SpeechKit Cloud
habra.16
habrabot(difrex,1) — All
2016-10-03 15:30:03


### Как все начиналось



Этим летом я участвовал в разработке бота [Datatron][1], предоставляющего доступ с открытыми финансовыми данными РФ. В какой-то момент я захотел, чтобы бот мог обрабатывать голосовые запросы, и для реализации этой задачи решил использовать наработками Яндекса.

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

[1]: https://telegram.me/datatron_bot
[2]: https://habrahabr.ru/post/311578/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] О взломе серверов FirstVDS
habra.16
habrabot(difrex,1) — All
2016-10-03 16:00:04


Не так давно появилась [заметка][1] с рассказом о большом количестве скомпрометированных серверов FirstVDS. Мы встрепенулись, провели собственное расследование по горячим следам, и хотим рассказать о его результатах.
[Читать дальше →][2]

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

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


[![][1]
][2]
Меня всегда интересовала разработка многоразового и целостного кода. Но проблема многоразового кода останавливается на этапе переноса в другую инфраструктуру. Если приложение расширяется плагинами, то плагины пишутся под конкретное приложение. А что если вынести логику приложения в плагин (далее — модуль), а интерфейс приложения из управляющего звена превратить в управляемый модулем компонент. На мой взгляд, самая главная задача в подобном сценарии, упростить базовые интерфейсы до минимума и дать возможность переписать или расширить любой фрагмент всей инфраструктуры в отдельности. Если интересно, что вышло из идеи модульного кода, то добро пожаловать под кат.
[Читать дальше →][3]

[1]: https://habrastorage.org/files/21b/137/c9d/21b137c9d9ae477f887d0b1feba91fea.png
[2]: //habrastorage.org/files/6a3/24d/47b/6a324d47b8dc4214b395aea563958d2a.png
[3]: https://habrahabr.ru/post/303032/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Power Query: как перестать бояться функционального программирования и начать работать в расширенном редакторе запросов
habra.16
habrabot(difrex,1) — All
2016-10-03 16:30:04


Не так давно наткнулся на статью на Хабре о том, как пользоваться Power BI и как проводить с помощью него [Простой план-фактный анализ][1]. Автору огромный респект за труд — материал, действительно, полезный. Более чем достаточно для начинающего. Однако, насколько я понял, для многих работа с PQ/PBI так и заканчивается нажатием на кнопочки в интерфейсе.

В принципе, большинству пользователей этого вполне достаточно для решения несложных задач. Тем более, что это самое большинство, что называется, в быту — непрограммистывообщениразу. Да и, как показала практика, далеко не все знают, что в PQ есть режим расширенного редактирования запросов. А между тем, боязнь (нежелание/неумение) копнуть глубже лишает возможности задействовать весь заложенный функционал PQ/PBI в полной мере. Отмечу хотя бы тот факт, что в интерфейсе присутствуют далеко не все кнопочки, для которых есть функции. Думаю, не сильно ошибусь, если скажу, что функций, пожалуй, раза в два больше, чем кнопок.

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

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

[1]: https://habrahabr.ru/post/262655/
[2]: https://habrastorage.org/files/30a/c60/841/30ac60841b4a4e2b8ca747af1a00c356
[3]: https://habrahabr.ru/post/311600/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Ограничения (сonstraints) PostgreSQL: exclude, частичный unique, отложенные ограничения и др
habra.16
habrabot(difrex,1) — All
2016-10-03 19:00:04


Целостность данных легко нарушить. Бывает так, что в поле price попадает значение 0 из-за ошибки в коде приложения (периодически всплывают новости, как в том или ином инет-магазине продавали товары по 0 долларов). Или бывает, что удалили юзера из таблицы, но какие-то данные о нем остались в других таблицах, и эти данные вылезли в каком-то интерфейсе.

PostgreSQL, как и любая другая СУБД, умеет делать некоторые проверки при вставке/изменении данных, и этим обязательно нужно уметь пользоваться. Давайте посмотрим, что мы можем проверять:


## 1\. Кастомный подтип через ключевое слово DOMAIN

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

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

[>] [Перевод] 96 вычислительных ядер и оптимизация кода муравьиного алгоритма поиска маршрутов
habra.16
habrabot(difrex,1) — All
2016-10-03 20:00:04


Сегодня поговорим об оптимизации кода, который реализует муравьиный алгоритм нахождения оптимальных путей на графах. Узкие места в программе будем искать с помощью [Intel VTune Amplifier XE][1] 2016 Update 2, а оптимизировать с использованием [MPI][2], OpenMP и библиотеки Intel Threading Building Blocks.

![][3]

Наша цель заключается в том, чтобы добиться эффективной работы программы на компьютере с четырьмя процессорами [Intel Xeon E7-8890 v4][4]. Система оснащена 512 Гб оперативной памяти, на ней установлена Linux 3.10.0-327.el7.x86\_64, код компилировался с помощью Intel Parallel Studio XE 2016 U2.
[Читать дальше →][5]

[1]: https://software.intel.com/en-us/intel-vtune-amplifier-xe
[2]: https://computing.llnl.gov/tutorials/mpi/
[3]: https://habrastorage.org/getpro/habr/post_images/dc9/43b/6d1/dc943b6d1065e4fba0ead458ae3aa156.jpg
[4]: http://www.intel.com/content/www/us/en/processors/xeon/xeon-processor-e7-family.html
[5]: https://habrahabr.ru/post/311618/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Атаки на банкоматы: прошлое, настоящее и будущее
habra.16
habrabot(difrex,1) — All
2016-10-04 01:00:04


![][1]В посте про [интернет вещей][2] я, практически с шашкой наголо, отнес к таковому и банкоматы — по критериям автономной работы и наличию постоянного подключения к интернету. В общем-то все так и есть, но если от слов перейти к делу — то есть к реальной специфике защиты банкоматов от взлома, то сразу же возникает множество неудобных деталей. Современный банкомат — это полноценный компьютер, заточенный под выполнение одной конкретной задачи, но пригодный к запуску любого кода, в том числе и вредоносного. Банкомат обвешен и контактирует с множеством датчиков и специализированных устройств, через которые банкомат можно взломать. А можно и не взламывать, перехватив управление устройством для выдачи наличных или клавиатурой для ввода PIN-кода.

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

Как и в случае с [историей расследования кампании Lurk][3], данный текст представляет собой вольный пересказ первоисточников. За деталями отправляю к ним: это обзорная [статья][4] на Securelist на русском, [исследование][5] «Будущие сценарии атак на коммуникационные системы, взаимодействующие с банкоматами» на английском, краткая [выжимка][6] оттуда — только описание атак и методов противодействия, а также более ранние публикации: [описание][7] вредоносной программы Skimer и целевой атаки на банкоматы [Tyupkin][8].
[Читать дальше →][9]

[1]: https://habrastorage.org/files/db1/af4/716/db1af47164024010b991dba9683b7189.jpg
[2]: https://habrahabr.ru/company/kaspersky/blog/311076/
[3]: https://habrahabr.ru/company/kaspersky/blog/309260/
[4]: https://securelist.ru/analysis/obzor/29354/future-attack-scenarios-against-atm-authentication-systems/
[5]: https://securelist.com/files/2016/09/Future_ATM_attacks_report_eng.pdf
[6]: https://securelist.com/files/2016/09/Descriptions_of_attacks_eng.pdf
[7]: https://securelist.ru/blog/issledovaniya/28631/atm-infector/
[8]: https://securelist.ru/blog/issledovaniya/23950/tyupkin-manipulirovanie-bankomatami-s-pomoshhyu-vredonosnogo-po/
[9]: https://habrahabr.ru/post/311622/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Как списать деньги клиента банка Авангард по номеру карты
habra.16
habrabot(difrex,1) — All
2016-10-04 03:00:04


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

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

[>] Дайджест интересных событий из мира Java, и вокруг нее #9 (01.09.2016 — 30.09.2016)
habra.16
habrabot(difrex,1) — All
2016-10-04 09:30:04


![image][1]


## В этом выпуске


— Релиз **Java 9** отложен
— **NetBeans** переходит под крыло **Apache**
— Вышла alpha-версия **Hadoop 3**
— Сколько греть JVM?
… и многое другое
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/498/392/ef7/498392ef7100a2a3826d60d54b99e69e.jpg
[2]: https://habrahabr.ru/post/311530/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Я был просто обязан проверить проект ICQ
habra.16
habrabot(difrex,1) — All
2016-10-04 10:30:10


![PVS-Stusiop and ICQ][1]Я не могу пройти мимо открытых исходников мессенджера ICQ. Это культовый проект, и когда исходные коды появились на сайте GitHub, вопрос, когда мы проверим его с помощью PVS-Studio, стал лишь вопросом времени. Конечно, у нас много и других интересных проектов, ждущих проверки. Например, недавно мы проверили GCC, GDB, Mono. Теперь наконец очередь дошла и до ICQ.


## ICQ


[ICQ][2] (от англ. I seek you) это централизованная служба мгновенного обмена сообщениями, в настоящее время принадлежащая инвестиционному фонду Mail.ru Group. Количество пользователей ICQ снижается, но всё равно это приложение крайне популярно и широко известно среди IT-сообщества.

ICQ по меркам программистов является маленьким проектом. Я насчитал в нём 165 тысяч строк кода. Для сравнения, голое ядро анализатора PVS-Studio для анализа C++ кода реализуется с помощью 206 тысяч строк кода. Голое C++ ядро анализатора — это точно маленький проект.

Из интересного стоит отметить маленький процент комментариев. Утилита SourceMonitor утверждает, что в исходных кодах ICQ только 1,7% cтрок являются комментариями.

Исходники ICQ доступны для скачивания на сайте github: .
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/da3/270/2d2/da32702d2deef86f282e1d32bf46208b.png
[2]: https://icq.com
[3]: https://habrahabr.ru/post/311648/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ... 133