RSS
Pages: 1 ... 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 ... 133
[>] Как вы вирус назовете?
habra.16
habrabot(difrex,1) — All
2017-09-08 22:00:05


![][1]



Petya, Misha, WannaCry, Friday 13th, Anna Kournikova… Имена компьютерных вирусов, вызвавших настоящие эпидемии в сети, долго остаются на слуху. Их постоянно повторяют СМИ, как правило, не вдаваясь в технические подробности и путая модификации между собой.

А вы когда-нибудь интересовались, как и кто дает имена вирусам? Ведь компьютерных зловредов много, их миллионы, и все надо как-то называть. Под катом — краткий экскурс в нейминг вирусов, троянов и прочей компьютерной нечисти.
[Читать дальше →][2]

[1]: https://habrastorage.org/web/178/fb7/dc5/178fb7dc5b6a4b45a09af115e7986810.jpg
[2]: https://habrahabr.ru/post/337474/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Итерируемый объект, итератор и генератор
habra.16
habrabot(difrex,1) — All
2017-09-08 22:30:05


Привет, уважаемые читатели Хабрахабра. В этой статье попробуем разобраться что такое итерируемый объект, итератор и генератор. Рассмотрим как они реализованы и используются. Примеры написан на Python, но итераторы и генераторы на мой взгляд фундаментальные понятия, которые были актуальны 20 лет назад и еще более актуальны сейчас, при этом за это время фактически не изменились.

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

[1]: https://habrastorage.org/web/d44/fdc/2b7/d44fdc2b7d1b4ac99c2ca757c97eddb5.gif
[2]: https://habrahabr.ru/post/337314/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] 10 лет с Колибри: как это было
habra.16
habrabot(difrex,1) — All
2017-09-09 16:30:03


Обзор в честь моего 10-летия участия в проекте создания операционной системы [Kolibri][1].

Кем я только не работал и что только не делал в этом проекте. Именно знания, полученные в процессе работы над Колибри дали мне возможность кардинально изменить свою жизнь — найти работу мечты, новых друзей и получить невероятное количество фана!

![image][2]

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

[1]: https://habrahabr.ru/company/kolibrios/profile/
[2]: https://habrastorage.org/getpro/habr/post_images/dac/d93/12b/dacd9312bc8055a122434f61da893a0b.png
[3]: https://habrahabr.ru/post/337532/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Практика формирования требований в ИТ проектах от А до Я. Часть 5. Сущности предметной области. Немного о стратегиях
habra.16
habrabot(difrex,1) — All
2017-09-09 22:30:04


С частью 4 можно ознакомиться, перейдя по [ссылке][1]


## VIII Определяем сущности предметной области


> Все, что видим мы, — видимость только одна.
> Далеко от поверхности мира до дна.
> Полагай несущественным явное в мире,
> Ибо тайная сущность вещей — не видна
> Омар Хайям
![][2]
Определив абстрактные хранилища продукта, мы получаем костяк для построения детальной модели данных. При проектировании структуры сущностей продукта, удобно использовать канонические диаграммы «Сущность-связь» (ERD), логическую диаграмму (Logic Diagram) или диаграмму классов (Class diagram).

**Цель этой группы работ — спроектировать модель хранилищ данных для использования в продукте, а также задокументировать сущности системы и способы их взаимодействия.
**
Теория проектирования такого типа диаграмм детально изложена в литературе, описывающей работу с UML. Например, эта тема очень удачно представлена в [11]. Поэтому остановлюсь лишь на некоторых аспектах, интересных на мой взгляд,.
[Читать дальше →][3]

[1]: https://habrahabr.ru/post/337228/
[2]: https://habrastorage.org/web/9a9/b64/faa/9a9b64faa71b4072996b7960fb7dc06a.jpg
[3]: https://habrahabr.ru/post/337400/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Learnopengl. Урок 2.4 — Текстурные карты
habra.16
habrabot(difrex,1) — All
2017-09-10 00:00:04




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


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

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

[>] PUSH-авторизация в сервисах с помощью мобильного приложения
habra.16
habrabot(difrex,1) — All
2017-09-10 00:00:04


Мы рады представить сообществу сервис [**PushAuth**][1], который позволяет Вашим клиентам авторизироваться с помощью PUSH-сообщений на мобильном устройстве!



![][2]



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

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

[1]: https://pushauth.io/
[2]: https://habrastorage.org/web/2d1/433/21d/2d143321dc4248d18a12622332722a31.png
[3]: https://habrahabr.ru/post/337072/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Учим webworkers хорошим манерам
habra.16
habrabot(difrex,1) — All
2017-09-10 00:00:04


Рано или поздно у каждого кто работал с webworkers возникает ситуация когда код превращается в кашу вроде этого:

**main.js**
const worker = new Worker('test.worker.js');
worker.onmessage = (data) => {
if(data.eventName === 'someFuncResult')
someFunc();
else if(data.eventName === 'someFunc2Result')
someFunc2();
};

worker.postMessage({eventName: 'someFunc'});

**test.worker.js**
self.addEventListener('message', (data) => {
if(data.eventName === 'someFunc') {
doSomeFunc();
self.postMessage('someFuncResult');
}

if(data.eventName === 'someFunc2') {
doSomeFunc();
self.postMessage('someFunc2Result');
}
})


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

Цели:
— Читаемость кода
— Конкурентные запросы
— Ассинхронные функции
— Прозрачная обработка ошибок
— Возможность отправки промежуточных результатов выполнения процедуры
[Читать дальше →][1]

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

[>] CaptureManager SDK
habra.16
habrabot(difrex,1) — All
2017-09-10 00:00:04


Эта статья представляет мой «Hobby» проект — **CaptureManager** для настольной платформы Windows. Этот проект является простым набором функционала (SDK) для включения поддержки широкого набора видео и аудио источников в разрабатываемое приложение.
[Читать дальше →][1]

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

[>] [Из песочницы] Исправляем 7 распространенных ошибок обработки исключений в Java
habra.16
habrabot(difrex,1) — All
2017-09-10 02:30:04


Привет, Хабр! Представляю вашему вниманию перевод статьи [Fixing 7 Common Java Exception Handling Mistakes][1] автора Thorben Janssen.

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

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

[1]: https://dzone.com/articles/fixing-7-common-java-exception-handling-mistakes
[2]: https://habrahabr.ru/post/337536/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как воскресить Ягуара за тысячу часов?
habra.16
habrabot(difrex,1) — All
2017-09-10 15:30:05


![image][1]Бывает меня спрашивают — как я пишу эмуляторы? Попробую ответить на примере одной провалившейся консоли.

Эмуляция — почти бесконечное занятие, всегда остаются неточности, и если меня спросят сколько я потратил на эмуляцию 3DO, то я лишь пожму плечами, но одно знаю точно — с эмуляцией 3DO все очень хорошо. Поэтому пришло время найти новую жертву и ей оказался Atari Jaguar. 1000 часов — примерно столько я потратил на разработку ядра эмуляции данной консоли в проекте [«Феникс»][2], и вероятно еще столько же понадобится, чтобы поднять совместимость с текущих 95% до 99%, а оставшийся 1% потребует еще, возможно не одну тысячу часов, но это уже отдельные скучные истории про отладку едва уловимых глюков.
[Читать дальше →][3]

[1]: https://habrastorage.org/web/712/418/2e6/7124182e630043329c5e59ba7ff32ab2.png
[2]: http://www.arts-union.ru/node/23
[3]: https://habrahabr.ru/post/337566/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Что «под капотом» у LinkedList?
habra.16
habrabot(difrex,1) — All
2017-09-10 15:30:05


Добрый день, хабрачитатели!

Как работает **_ArrayList_**, вполне понятно. Есть много статей по этому поводу, часть из них иллюстрированы замечательными картинками, так что даже новичкам становится сразу все ясно. К лучшим статьям на эту тему я отношу [«Структуры данных в картинках. ArrayList»][1], написанную [tarzan82][2].

Этот же автор описывает принципы работы **_LinkedList_**, однако часть данных устарела еще с выходом Java 7, поэтому попытка детально разобраться, что происходит внутри этой коллекции, [по рисункам tarzan82][3] уже сложно. Да и в других источниках я не встретила понятных картинок, потому и возникла идея написать эту статью.
[Читать дальше →][4]

[1]: https://habrahabr.ru/post/128269/
[2]: https://habrahabr.ru/users/tarzan82/
[3]: https://habrahabr.ru/post/127864/
[4]: https://habrahabr.ru/post/337558/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Считаем до трёх: четыре
habra.16
habrabot(difrex,1) — All
2017-09-11 00:00:05


# Proof of concept: однотритный вычислитель



Это уже четвёртая статья, по мере готовности будет продолжение. Оглавление:

* [Считаем до трёх: раз (троичный мультиплексор и сумматоры)][1]
* [Считаем до трёх: два (память)][2]
* [Считаем до трёх: три (счётчики)][3]
* **Считаем до трёх: четыре (однотритный вычислитель и система команд трёхтритного)**
Вот так выглядит основная железка, о которой сегодня будет идти речь (больше перемычек богу перемычек!):

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

[1]: https://habrahabr.ru/post/324062/
[2]: https://habrahabr.ru/post/324650/
[3]: https://habrahabr.ru/post/328162/
[4]: https://habrastorage.org/getpro/habr/post_images/0dd/671/20f/0dd67120f00abfa5f1a77bc136d6d9d3.jpg
[5]: https://habrahabr.ru/post/337606/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Открытые проблемы в области распознавания речи. Лекция в Яндексе
habra.16
habrabot(difrex,1) — All
2017-09-11 00:30:05


Работа большинства специалистов по речевым технологиям состоит не в том, чтобы придумывать концептуально новые алгоритмы. Компании в основном фокусируются на существующих подходах. Машинный интеллект уже умеет распознавать и синтезировать голос, но не всегда в реальном времени, не всегда локально и не всегда «избирательно» — когда нужно реагировать только на ключевые фразы, робот может ошибаться. Подобными проблемами как раз и заняты разработчики. Муаммар Аль-Шедиват @Laytlas рассказывает об этих и других вопросах, которые пока не удаётся решить даже большим компаниям.


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

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

[>] [Перевод] Создание языка программирования с использованием LLVM. Часть 10: Заключение и другие вкусности LLVM
habra.16
habrabot(difrex,1) — All
2017-09-11 10:00:16


Оглавление:
[Часть 1: Введение и лексический анализ][1]
[Часть 2: Реализация парсера и AST][2]
[Часть 3: Генерация кода LLVM IR][3]
[Часть 4: Добавление JIT и поддержки оптимизатора][4]
[Часть 5: Расширение языка: Поток управления][5]
[Часть 6: Расширение языка: Операторы, определяемые пользователем][6]
[Часть 7: Расширение языка: Изменяемые переменные][7]
[Часть 8: Компиляция в объектный код][8]
[Часть 9: Добавляем отладочную информацию][9]
**Часть 10: Заключение и другие вкусности LLVM**

![][10]


### 9\.1. Заключение


Добро пожаловать в заключительную часть руководства “Создание языка программирования с использованием LLVM”. На протяжении этого руководства, мы вырастили наш маленький язык Калейдоскоп с бесполезной игрушки до довольно интересной (хотя, возможно, по-прежнему бесполезной) игрушки.
[Читать дальше →][11]

[1]: https://habrahabr.ru/post/119850/
[2]: https://habrahabr.ru/post/120005/
[3]: https://habrahabr.ru/post/120424/
[4]: https://habrahabr.ru/post/120516/
[5]: https://habrahabr.ru/post/120881/
[6]: https://habrahabr.ru/post/336080/
[7]: https://habrahabr.ru/post/336468/
[8]: https://habrahabr.ru/post/336876/
[9]: https://habrahabr.ru/post/336980/
[10]: https://habrastorage.org/web/6e5/879/803/6e58798030874db09d00f2c502b3b104.png
[11]: https://habrahabr.ru/post/337240/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Специфика использования Redux в Polymer и Vue
habra.16
habrabot(difrex,1) — All
2017-09-11 10:32:02



Как я уже писал в своих предыдущих статьях я работал и с [polymer][1] и с [vue][2] в связке с [redux][3]. Поэтому хотелось бы поделиться опытом, связанным со спецификой использования [redux][4] в данных библиотеках. Рассматривать будем на простейших атомарных контролах: нативных (input, checkbox) и обернутых, в виде компонентов данных библиотек.

В статье я опуская описание настройки интеграции `redux` с [polymer][5] и [vue][6], а так же описание азов самого redux, дабы не эту тему хочу раскрыть в статье.
[Читать дальше →][7]

[1]: https://habrahabr.ru/post/333660/
[2]: https://habrahabr.ru/post/336352/
[3]: https://habrahabr.ru/post/335868/
[4]: http://redux.js.org/
[5]: https://github.com/tur-nr/polymer-redux
[6]: https://habrahabr.ru/post/336352/
[7]: https://habrahabr.ru/post/337564/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Зачем мы сделали VOD на WebRTC
habra.16
habrabot(difrex,1) — All
2017-09-11 10:32:02


![][1]


VOD — это про video on demand, т.е. проигрывание обычных роликов, как это делается на YouTube или другом стриминговом сервисе. WebRTC — это видео реалтайм с низкой задержкой. Вы спросите — как эти две вещи могут быть связаны? Заходите под кат за подробностями. [Читать дальше →][2]

[1]: https://habrastorage.org/web/ed1/a09/c3e/ed1a09c3e82647f8b93d69d0404c23c8.jpg
[2]: https://habrahabr.ru/post/337560/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Кто все эти люди? Давайте спросим К50
habra.16
habrabot(difrex,1) — All
2017-09-11 14:00:05


![][1]



Привет, Хабр. Не будем лить воду до ката, сразу приступим к делу. Оптимизатор ставок в контекстной рекламе платформа К50 предлагает своим клиентам инструменты для увеличения эффективности рекламы. Большая часть имеет отношение к онлайн-среде, что вполне логично, ведь речь идет о сетевых технологиях. Для компаний, у которых обращения по телефону составляют 30% (а в некоторых тематиках – до 70-80%) от общего числа входящих обращений, данных для анализа рекламы было недостаточно. Именно для таких клиентов К50 решили разработать сервис, чтобы получить детальную информацию по каждому звонку, включая его длительность, запись, ключевое слово и цепочку событий-визитов, которая и привела клиента. Звучит сложно, но реализовано это было достаточно оперативно благодаря готовым компонентам Voximplant (ну, чуть-чуть себя похвалили, простите).

[Сорвать покровы бесплатно без регистрации и SMS][2]

[1]: https://habrastorage.org/web/9b4/489/2a7/9b44892a7c6d47a9a5f613ae8546c23a.jpg
[2]: https://habrahabr.ru/post/336522/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] MBLTdev 2017: первые спикеры, последние билеты по выгодной цене
habra.16
habrabot(difrex,1) — All
2017-09-11 14:30:05


[![][1]][2]

Привет, Хабр! 27 октября в Москве состоится Международная конференция мобильных разработчиков [MBLTdev 2017][3].

MBLTdev — это хардкорные доклады уровней Middle+ и Senior, нетворкинг, новые знакомства и полное погружение в мир мобайла. Приглашённые эксперты из США, Европы и России поделятся опытом iOS- и Android-разработки.

Под катом — подробности о программе и последние билеты по выгодной цене! [Читать дальше →][4]

[1]: https://habrastorage.org/web/cbf/1c0/244/cbf1c0244e2a4918a65931bd4eba9c74.png
[2]: https://mbltdev.ru/ru?utm_source=habr&utm_content=firstspeakers
[3]: https://mbltdev.ru/ru?utm_source=habr&utm_content=firstspeakers
[4]: https://habrahabr.ru/post/337480/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Pygest #17. Релизы, статьи, интересные проекты из мира Python [29 августа 2017 — 11 сентября 2017]
habra.16
habrabot(difrex,1) — All
2017-09-11 14:30:05


![image][1] Всем привет! Это уже семнадцатый выпуск дайджеста на Хабрахабр о новостях из мира Python.

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

А теперь к делу!
[Перейти к дайджесту][2]

[1]: https://habrastorage.org/files/aa2/815/f22/aa2815f2207940fab9ac72e85219fe3c.png
[2]: https://habrahabr.ru/post/337628/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Быстрый рендеринг океанских волн на мобильных устройствах
habra.16
habrabot(difrex,1) — All
2017-09-11 14:30:05


![][1]


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



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

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

[1]: https://habrastorage.org/web/90d/f2c/30a/90df2c30a2d74061a09e6222e8be48a8.png
[2]: https://habrahabr.ru/post/336998/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сегментация лица на селфи без нейросетей
habra.16
habrabot(difrex,1) — All
2017-09-11 15:30:05


Приветствую вас, коллеги. Оказывается, не все компьютерное зрение сегодня делается с использованием нейронных сетей. Хотя многие стартапы и заявляют, что у них дип лернинг везде, спешу вас разочаровать, они просто хотят хайпануть немножечко. Рассмотрим, например, задачу сегментации. В [нашем слаке][1] развернулась [целая драма][2]. Одна богатая и высокотехнологичная селфи-компания собрала датасет для сегментации селфи с помощью нейросетей (а это непростое и недешевое занятие). А другая, более бедная и не очень развитая решила, что можно подкупить людей, размечающих фотки, и спполучить базу. В общем, страсти в этих ваших Интернетах еще те. Недавно я наткнулся [на статью][3], где без всяких нейросетей на устройстве делают очень даже хорошую сегментацию. Для сегментации от пользователя требуется дать алгоритму несколько подсказок, но с помощью [dlib][4] и [opencv][5] такие подсказки легко автоматизируются. В качестве бонуса мы так же сгладим вырезанное лицо и перенесем на какого-нибудь рандомного человека, тем самым поймем, как работают маски во всех этих снапчятах и маскарадах. В общем, классика еще жива, и если вы хотите немного окунуться в классическое компьютерное зрение на питоне, то добро пожаловать под кат.

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

[1]: http://ods.ai/
[2]: https://opendatascience.slack.com/archives/C0PKXDBAR/p1500993522183900
[3]: http://gip.cs.technion.ac.il/files/cutout_report.pdf
[4]: http://dlib.net/
[5]: http://opencv.org/
[6]: https://habrahabr.ru/post/336594/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Learnopengl. Урок 2.5 — Источники света
habra.16
habrabot(difrex,1) — All
2017-09-11 16:00:05




## Источники света


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

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

**В передыдущих сериях**
Часть 1. Начало

1. [OpenGL][1]
2. [Создание окна][2]
3. [Hello Window][3]
4. [Hello Triangle][4]
5. [Shaders][5]
6. [Текстуры][6]
7. [Трансформации][7]
8. [Системы координат][8]

Часть 2. Базовое освещение

1. [Цвета][9]
2. [Основы освещения][10]
3. [Материалы][11]
4. [Текстурные карты][12]
5. Источники света

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

[1]: https://habrahabr.ru/post/310790/
[2]: https://habrahabr.ru/post/311198/
[3]: https://habrahabr.ru/post/311234/
[4]: https://habrahabr.ru/post/311808/
[5]: https://habrahabr.ru/post/313380/
[6]: https://habrahabr.ru/post/315294/
[7]: https://habrahabr.ru/post/319144/
[8]: https://habrahabr.ru/post/324968/
[9]: https://habrahabr.ru/post/329592/
[10]: https://habrahabr.ru/post/333932/
[11]: https://habrahabr.ru/post/336166/
[12]: https://habrahabr.ru/post/337550/
[13]: https://habrahabr.ru/post/337642/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Машинное обучение руками «не программиста»: классификация клиентских заявок в тех.поддержку
habra.16
habrabot(difrex,1) — All
2017-09-11 16:00:05


Привет! Меня зовут Кирилл и я алкоголик более 10 лет был менеджером в сфере ИТ. Я не всегда был таким: во время учебы в МФТИ писал код, иногда за вознаграждение. Но столкнувшись с суровой реальностью (в которой необходимо зарабатывать деньги, желательно побольше) пошел по наклонной — в менеджеры.



![image][1]

Но не все так плохо! С недавнего времени мы с партнерами целиком и полностью ушли в развитие своего стартапа: системы учета клиентов и клиентских заявок [Okdesk][2]. С одной стороны — больше свободы в выборе направления движения. Но с другой — нельзя просто так взять и заложить в бюджет "3-х разработчиков на 6 месяцев для проведение исследований и разработки прототипа для…". Много приходится делать самим. В том числе — непрофильные эксперименты, связанные с разработкой (т.е. те эксперименты, что не относятся к основной функциональности продукта).

Одним из таких экспериментов стала разработка алгоритма классификации клиентских заявок по текстам для дальнейшей маршрутизации на группу исполнителей. В этой статье я хочу рассказать, как "не программист" может за 1,5 месяца в фоновом режиме освоить python и написать незамысловатый ML-алгоритм, имеющий прикладную пользу.

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

[1]: https://habrastorage.org/web/0e1/913/664/0e1913664039495987c4d8777b330acd.jpg
[2]: https://www.okdesk.ru
[3]: https://habrahabr.ru/post/337278/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Технокубок 2017-2018
habra.16
habrabot(difrex,1) — All
2017-09-11 16:30:05


Каждый год Министерство образования и науки РФ публикует перечень школьных олимпиад, дающих льготы при поступлении в вузы. С 2015 года в этот список входит и [Технокубок][1] — олимпиада по программированию под эгидой Mail.Ru Group.



![image][2]



Поучаствовать в Технокубке могут ученики 8—11-х классов. Олимпиада позволяет ребятам оценить свои силы и пообщаться с профессионалами IT-отрасли, а главное — дает шанс поступить в ведущие профильные вузы России.

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

[1]: https://technocup.mail.ru/
[2]: https://habrastorage.org/web/85f/d36/fc9/85fd36fc9d664ada8087d14051823821.png
[3]: https://habrahabr.ru/post/337646/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Эзотерический язык, транслирующийся в шаблоны C++
habra.16
habrabot(difrex,1) — All
2017-09-11 17:30:05


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

[1]: https://habrastorage.org/web/14f/b2b/c94/14fb2bc947ec47788192892c9553a44e.png "Факториал, написанные математически (сверху), на шаблонах C++ (посередине) и на описываемом в статье языке (снизу)"
[2]: https://habrahabr.ru/post/337590/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как на Java c помощью КриптоПро подписать документ PDF
habra.16
habrabot(difrex,1) — All
2017-09-11 19:00:05


[![][1]][2]

Привет! Я сотрудник Альфа-Банка и занимаюсь разработкой программного обеспечения со встроенными средствами криптографической защиты информации.

В данной статье хочу рассказать о следующих вещах:

* преимуществах формата PDF в качестве документа с электронной подписью;
* платформе Java, библиотеке itextpdf и СКЗИ КриптоПро CSP, как инструментах подписи;
* о том, с какими трудностями пришлось столкнуться, о доработке itextpdf;
* привести пример кода, выполняющего несколько подписей;
* поговорить о целесообразности использования формата PDF в качестве документа с подписью.[Читать дальше →][3]

[1]: https://habrastorage.org/web/6f5/e23/4e7/6f5e234e72b24f04803646a28077b5c0.jpg
[2]: https://habrahabr.ru/company/alfa/blog/337668/
[3]: https://habrahabr.ru/post/337668/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Apache Ignite 2.1 — теперь со вкусом Persistence
habra.16
habrabot(difrex,1) — All
2017-09-11 19:00:05


В конце июля вышла версия Apache Ignite 2.1. Apache Ignite — распределенная свободная HTAP-платформа (HTAP — Hybrid Transactional and Analytical Processing, системы, которые могут обрабатывать как транзакционную, так и аналитическую нагрузку) для хранения данных в оперативной памяти и на диске, а также вычислений в реальном времени. Ignite написан на Java и может быть плотно интегрирован с .NET и C++.

Версия 2.1 очень богата на значимые, практически применимые функции, базирующиеся на фундаменте, заложенном в Apache Ignite 2.0.

С Apache Ignite 2.1 можно использовать распределенное дисковое хранилище Apache Ignite Persistent Data Store с поддержкой SQL, первые распределенные алгоритмы машинного обучения, новые функции DDL, и кроме того значительно улучшена поддержка платформ .NET и C++.

Persistent Data Store выводит Apache Ignite в новый сегмент — теперь это не просто in-memory data grid, но полноценная распределенная масштабируемая база данных HTAP с возможностью надежного хранения первичных данных, с поддержкой SQL и обработкой информации в реальном времени.
[Читать дальше →][1]

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

[>] [Из песочницы] Получение текста запросов из SoapHttpClientProtocol
habra.16
habrabot(difrex,1) — All
2017-09-11 19:00:05


У .NET есть несколько вариантов создания SOAP клиента, одним из них является его генерация с помощью wsdl.exe. На выходе получаем файл (поскольку пишу я на C#, то генерировал cs, соответственно), основой которого является класс, унаследованный от SoapHttpClientProtocol. Подробнее [тут][1].

С моей точки зрения, это достаточно удобный способ, к тому же сам клиент можно подразогнать с помощью sgen.exe ([очень хороший пример][2]). Тем не менее есть у него один очень серьезный недостаток — это отсутствие штатной возможности получения текста запроса/ответа. А это было бы крайне удобно при первичной отладке сервисов, разборе ошибок и, самое главное, при возможных разбирательствах со стороны, эти самые сервисы предоставляющей.

Впрочем, если очень хочется, то нужно сделать.


### Основная идея

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

[1]: https://msdn.microsoft.com/en-us/library/7h3ystb6(v=vs.100).aspx
[2]: https://uwekaessner.wordpress.com/2009/02/08/crm-4-0-tutorial-boost-performance-with-pre-generated-xmlserializers/
[3]: https://habrahabr.ru/post/337672/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Микросервисы — MIF на C++
habra.16
habrabot(difrex,1) — All
2017-09-11 20:00:07


![][1]Около трех лет назад у меня была идея создания небольшого каркаса для разработки небольших сервисов, которые могли бы как-то взаимодействовать между собой, предоставлять API во вне, работать с базами данных и кое-что по мелочи еще. Во время решения некоторых рабочих задач, окончательно сформировалась идея своего проекта, близкого к решению рабочих задач. Примерно год назад все это сформировалось в проект [MIF (MetaInfo Framework)][2]. Предполагалось, что с его помощью можно будет решать такие задачи, как:

* Разработка легковесных HTTP сервисов
* Коммуникация микросервисов через передаваемые между процессами интерфейсы
* Сериализация и десериализация на базе рефлексии структур данных в разные форматы
* Работа с базами данных
* Некоторые вспомогательные компоненты для создания каркасов сервисов
Все это ориентировано на разработку backend сервисов для веба, но может использоваться и в других системах.
[Читать дальше →][3]

[1]: https://habrastorage.org/web/7ce/1fb/996/7ce1fb99603d4d6195b4b9e9f9a5f7fb.png
[2]: https://github.com/tdv/mif
[3]: https://habrahabr.ru/post/239571/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Простой WebScraping на R через API hh.ru
habra.16
habrabot(difrex,1) — All
2017-09-11 21:00:05


#### Доброго времени суток, уважаемые читатели {#dobrogo-vremeni-sutok-uvazhaemye-chitateli}



Не так давно преподаватель дал задание: cкачать данные с некоторого сайта на выбор. Не знаю почему, но первое, что пришло мне в голову — это hh.ru.



Далее встал вопрос: "А что же собственно будем выкачивать?", ведь на сайте порядка 5 млн. резюме и 100.000 вакансий.

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

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

[>] Продвинутое конфигурирование Docker Compose (перевод)
habra.16
habrabot(difrex,1) — All
2017-09-11 21:30:05


Docker Compose обладает целым рядом нетривиальных способов применения, которые мы рассмотрим в этой заметке. Это очередной [перевод статьи][1], которую мы разбирали при подготовке материалов нашего курса Python для Web-разработки.

![][2]


### Контроль порядка запуска


Docker Compose запускает контейнеры в порядке зависимостей, используя опцию depends\_on, чтобы указывать, когда запускается сервис. Для определения порядка запуска Compose применяет depends\_on, links, volumes\_from и network\_mode: «service: ...».

Если контейнер должен дождаться состояния “ready” другого контейнера, можно использовать инструменты wait-for-it или dockerize. Они будут проверять хосты и порты до тех пор, пока TCP соединение не будет подтверждено. Для включения принудительного ожидания в композицию необходимо добавить entrypoint:

version: '2'

services:
web:
build: .
ports:
- "80:8000"
depends_on:
- db
entrypoint: "./wait-for-it.sh db:5432"
db:
image: postgres
Вы всегда можете самостоятельно написать скрипт-обёртку, если возникнет необходимость в усилении контроля.
[Читать дальше →][3]

[1]: https://runnable.com/docker/advanced-docker-compose-configuration
[2]: https://habrastorage.org/web/a01/63c/2ec/a0163c2ec6a4452c8956b940f4365c0d.png
[3]: https://habrahabr.ru/post/337688/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Архитектурная пирамида приложения
habra.16
habrabot(difrex,1) — All
2017-09-12 09:00:05


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

Разбираясь со всем этим по отдельности, меня заинтересовал вопрос — как они взаимосвязаны? Пытаясь выстроить иерархию и вдохновившись небезызвестной пирамидой [Маслоу][1], я построил свою пирамиду «архитектуры приложения».

О том, что из этого вышло — читайте под катом.
[Войти в пирамиду][2]

[1]: https://en.wikipedia.org/wiki/Maslow%27s_hierarchy_of_needs
[2]: https://habrahabr.ru/post/336496/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Пишем оператора для Kubernetes на Golang
habra.16
habrabot(difrex,1) — All
2017-09-12 11:30:04


_**Прим. перев.**: Операторы (operators) — это вспомогательное ПО для Kubernetes, призванное автоматизировать выполнение рутинных действий над объектами кластера при определённых событиях. Мы уже писали об операторах в [этой статье][1], где рассказывали об основополагающих идеях и принципах их работы. Но если тот материал был скорее взглядом со стороны эксплуатации готовых компонентов для Kubernetes, то предлагаемый теперь перевод новой статьи — это уже видение разработчика/DevOps-инженера, озадаченного реализацией нового оператора._

![][2]

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

Пример, который будет описан, таков: в нашем кластере Kubernetes каждый `Namespace` представляет окружение-песочницу какой-то команды, и мы хотели ограничить доступ к ним так, чтобы команды могли играть только в своих песочницах. [Читать дальше →][3]

[1]: https://habrahabr.ru/company/flant/blog/326414/
[2]: https://habrastorage.org/web/bd8/170/127/bd817012717e4aeebf1a3ccddda39dcd.png
[3]: https://habrahabr.ru/post/337698/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Яндекс.Блиц. Почему и какие алгоритмические задачи нужно уметь решать, работая в поиске
habra.16
habrabot(difrex,1) — All
2017-09-12 15:30:05


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



[![][1]][2]



Для [Блица][3] мы выбрали исключительно алгоритмические задачи. Хотя для оценки раундов и применяется система ACM, в отличие от спортивного программирования все задания максимально приближены к тем, которые постоянно решают в продакшене Поиска. Те, кто решит успешно хотя бы четыре задачи из шести, могут считать, что прошли первый этап отбора в Яндекс. Почему алгоритмы? В процессе работы часто меняются задачи, проекты, языки программирования, платформы — те, кто владеет алгоритмами, всегда смогут перестроиться и быстро научиться новому. Типичная задача на собеседовании — составить алгоритм, доказать его корректность, предложить пути оптимизации.



Квалификацию можно пройти с 18 по 24 сентября включительно. В этом раунде вам нужно будет написать программы для решения шести задач. Можете использовать Java, C++, C# или Python. На всё про всё у вас будет четыре часа. В решающем раунде будут соревноваться те, кто справится как минимум с четырьмя квалификационными задачами. Финал пройдёт одновременно для всех участников — 30 сентября, с 12:00 до 16:00 по московскому времени. Итоги будут подведены 4 октября. Чтобы всем желающим было понятно, с чем они столкнутся на Блице, мы решили разобрать пару похожих задач на Хабре.

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

[1]: https://habrastorage.org/web/6f7/d55/75b/6f7d5575bff64085b73b7e9922240ca5.jpg
[2]: https://habrahabr.ru/company/yandex/blog/337690/
[3]: https://yandex.ru/promo/jobs/blitz/newhire#registration
[4]: https://habrahabr.ru/post/337690/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Moving Java forward faster
habra.16
habrabot(difrex,1) — All
2017-09-12 16:30:05


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



Недавно в мире Java случилось пара важных событий: Марк Рейнхольд опубликовал письмо, в котором предложил перейти на полугодовой график релизов Java, а за этим последовало [сообщение][1] от Oracle, где они предлагают ряд серьезных измненеий в работе над OpenJDK:


* Начиная с JDK 9 GA, Oracle будет выпускать OpenJDK билды под GPL лицензией
* Java SE перейдет на постоянный график релизов (письмо Марка)
* Oracle внесет ранее коммерческие фичи (как Java Flight Recorder) в OpenJDK
* Oracle будет сотрудничать с другими разработчиками OpenJDK чтобы обеспечить современню, полную и доступную среду

Несмотря на то, что коммерческая версия Oracle JDK останется, целью компании станет сделать ее полностью совместимой и взаимозаменяемой с OpenJDK (до конца 2018).



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

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

[1]: https://blogs.oracle.com/java-platform-group/faster-and-easier-use-and-redistribution-of-java-se
[2]: https://habrahabr.ru/post/337704/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Как перейти на gRPC, сохранив REST
habra.16
habrabot(difrex,1) — All
2017-09-12 19:00:05


Многие знакомы с gRPC — открытым RPC-фреймворком от Google, который поддерживает 10 языков и активно используется внутри Google, Netflix, Kubernetes, Docker и многими другими. Если вы пишете микросервисы, gRPC предоставляет массу преимуществ перед традиционным подходом REST+JSON, но на существующих проектах часто переход не так просто осуществить из-за наличия уже использующихся REST-клиентов, которые невозможно обновить за раз. Нередко общаясь на тему gRPC можно услышать "да, мы у нас в компании тоже смотрим на gRPC, но всё никак не попробуем".



Что ж, этой проблеме есть хорошее решение под названием grpc-rest-gateway, которое занимается именно этим — автогенерацией REST-gRPC прокси с поддержкой всех основных преимуществ gRPC плюс поддержка Swagger. В этой статье я покажу на примере как это выглядит и работает, и, надеюсь, это поможет и вам перейти на gRPC, не теряя существующие REST-клиенты.



![][1]

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

[1]: https://habrastorage.org/web/a5d/52e/bf2/a5d52ebf2e2048ac9eb1efd893ffbdf5.png
[2]: https://habrahabr.ru/post/337716/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Охота на кремлевского демона
habra.16
habrabot(difrex,1) — All
2017-09-12 19:00:05


![image][1]



Нельзя сказать, что я не искал с этим демоном встречи. Я дождался пока он вылезет и выследил его логово. Поиграл с ним немного. Потом демон исчез, как обычно, по расписанию — в 9.00. Я успокоился и занялся своими бытовыми делами.



Дело было в том, что у нас в Питере не найти в книжных магазинах рабочую тетрадь по английскому языку "Планета знаний" 3 класс. Ну как в Союзе было, дефицит. И мне жена дала задание — зайти в книжные в Москве. Дескать, в столице все есть, тетки на форуме оттуда заказывают, платят 500 рублей за доставку, а ты, пользуясь случаем, купишь сам и сэкономишь для семьи. Хоть какой-то толк от неудачника будет. Я включаю Гугль-карту, задаю фразу "книжные магазины" и не понимаю. Ни Красной площади, ни реки, какие-то непонятные улицы.



Черт! Он вылез опять! Я ведь еще успел только до Варварки дойти.



И, повинуясь зову природы, я расчехлил опять свое оружье.

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

[1]: https://habrastorage.org/web/c43/8e5/275/c438e5275cd9497b9e680f028ba87e9d.png
[2]: https://habrahabr.ru/post/337608/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] 10 лет Computer Science клубу
habra.16
habrabot(difrex,1) — All
2017-09-12 20:30:05


![][1]


В этом году Computer Science клубу в Санкт-Петербурге исполняется 10 лет. С 2007 года в клубе проходят открытые лекции и курсы, где любой желающий может познакомиться с классическими результатами, современным положением дел и открытыми задачами в различных областях computer science. Вход на все лекции свободный, регистрация не требуется. Слайды и видеозаписи всех прошедших лекций доступны с сайта клуба.



Поздравить клуб с юбилеем приедут сотрудники следующих организаций: Академический университет, Математический институт Стеклова в Санкт-Петербурге, Санкт-Петербургский государственный университет, Яндекс, JetBrains, Montpellier University, Northwestern University, Toyota Technological Institute at Chicago, University of Bergen, University of California at San Diego, Yahoo Research. Они прочитают мини-курсы по следующим темам.


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

[1]: https://habrastorage.org/web/cf2/eeb/a0c/cf2eeba0c95e4d4bb16a3ee80c046f34.jpg
[2]: https://habrahabr.ru/post/337720/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] DevOps с Kubernetes и VSTS. Часть 1: Локальная история
habra.16
habrabot(difrex,1) — All
2017-09-12 21:30:05


Последнее время я часто рассказываю про контейнеры, Docker и Kubernetes. На фоне этого коллеги всё чаще стали спрашивать о том, а где же здесь технологи Microsoft? Чтобы объяснить, я нашёл несколько материалов, в том числе этот набор из пары статей от Colin Dembovsky. В них есть всё: Docker, Kubernetes и наши технологии. Думаю, что для читателей Хабры это тоже должно быть интересно. Итак, встречайте, перевод первой части.

![][1]

Если вы читаете мой блог, то знаете, что я фанат контейнеров в целом и [Docker][2] в частности. Когда вы в последний раз ставили софт на «голое железо»? Может быть, только на ноутбук, но и то шансы невелики. Виртуализация кардинально изменила наше отношение к ресурсам центра обработки данных, значительно увеличив их плотность и эффективность использования. Следующим этапом повышения плотности стали контейнеры, только ВМ размещаются на физических серверах, а контейнеры — в самих ВМ. Очень скоро большинство из нас не будет работать не только на уровне серверов, но даже на уровне ВМ, все рабочие нагрузки переместятся в контейнеры. Но это в перспективе.
[Подходы к локальной разработке с использованием Kubernetes и minikube][3]

[1]: https://habrastorage.org/web/e1f/553/79a/e1f55379ab224485bc0f1b9b12fbc601.jpg
[2]: http://docker.com
[3]: https://habrahabr.ru/post/337626/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] 67 полезных инструментов, библиотек и ресурсов для экономии времени веб-разработчиков
habra.16
habrabot(difrex,1) — All
2017-09-12 21:30:06


[![][1]][2]
В данной статье я не буду вам рассказывать о больших веб-фреймворках, таких как React, Angular, Vue и т.д… не будет в ней и перечня наиболее популярных текстовых редакторов – Atom, VS Code, Sublime… В данной статье я поделюсь с вами инструментами, которые, по моему мнению, могут сделать рабочий процесс веб-разработчиков более простым и быстрым.

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

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

[1]: https://habrastorage.org/web/fc5/491/a55/fc5491a55da34463a4350bc897f76fcb.jpeg
[2]: https://habrahabr.ru/post/337768/
[3]: https://habrahabr.ru/post/337768/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] ReactOS 0.4.6 доступен для загрузки
habra.16
habrabot(difrex,1) — All
2017-09-13 00:00:05


Привет всем хабра-читателям!

Практически одновременно с развязкой третьего сезона сериала _Twin Peaks_ мы выпустили очередной релиз операционной системы ReactOS с номером 0.4.6. Релиз доступен для загрузки прямо сейчас, и _совсем не нужно ждать октября или ноября, как в случае с iPhone X._

![][1]

[Скачать][2] | [Прочитать официальную новость][3] | [Посмотреть список изменений][4] | [TL;DR][5] | [Тесты][6]

В этом релизе Вас ожидает поддержа распределенной файловой системы [NFS][7], улучшенная поддержка файловой системы UDF, в очередной раз обновленная поддержка тем оформления и значительно исправленный шрифтовой движок.

![image][8] [Читать дальше →][9]

[1]: https://habrastorage.org/web/210/dac/bfb/210dacbfb4d74896a79930d43386fea9.jpg
[2]: https://www.reactos.org/download
[3]: http://www.reactos.org/project-news/reactos-046-released
[4]: https://www.reactos.org/wiki/ChangeLog-0.4.6
[5]: http://www.reactos.org/wiki/Community_Changelog-0.4.6
[6]: https://reactos.org/wiki/Tests_for_0.4.6
[7]: https://en.wikipedia.org/wiki/Network_File_System
[8]: https://habrastorage.org/getpro/habr/post_images/894/fc6/42c/894fc642c9414ae373ee70ae16a22e6d.jpg
[9]: https://habrahabr.ru/post/337772/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Уязвимость BlueBorne в протоколе Bluetooth затрагивает миллиарды устройств
habra.16
habrabot(difrex,1) — All
2017-09-13 00:30:05


![image][1]
 
Исследователи из компании Armis обнаружили восемь критичных уязвимостей в реализациях Bluetooth. Уязвимости получили следующие CVE: CVE-2017-0781, CVE-2017-0782, CVE-2017-0783, CVE-2017-0785 (Android); CVE-2017-1000251, СVE-2017-1000250 (Linux); CVE-2017-8628 (Windows). Устройства на iOS пока не получили CVE-идентификатора. Все уязвимости объединены под общим названием: BlueBorne.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/e05/f05/557/e05f055579dee3eaf769c9f9ffbb75c4.png
[2]: https://habrahabr.ru/post/337780/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Чтоб root стоял и фичи были
habra.16
habrabot(difrex,1) — All
2017-09-13 02:00:07


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

![][1]_Картинка [взята тут][2], подпись наша_
[Читать дальше →][3]

[1]: https://habrastorage.org/getpro/habr/post_images/dd2/672/0f6/dd26720f627f69a48d868061f60654da.jpg
[2]: http://www.penta-club.ru/forum/user/16565-feuer/
[3]: https://habrahabr.ru/post/337778/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Сигнатура Snort для уязвимости CVE-2017-9805 в Apache Struts
habra.16
habrabot(difrex,1) — All
2017-09-13 08:30:04


Друзья, добрый день!

7–8 сентября в СМИ и блогах стали появляться сообщения о взломе одного из крупнейших бюро кредитных историй Equifax. Представители американской компании сообщили, что «утекли» данные 143 миллионов человек: имена, адреса, номера социального страхования и в некоторых случаях номера кредитных карт. Те, кто знает, какое число сервисов в США работают с этими идентификаторами, могут предположить потенциальным масштаб будущих краж личности.

Сама утечка произошла в мае 2017, стало известно о ней только в конце июня. И более месяца факт утечки не предавался огласке. Из-за этого и из-за [странного поведения топ-менеджмента][1] (они, возможно, слили свои доли в компании за несколько дней до обнародования проблем) акции Equifax сделали так:

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

[1]: http://www.vestifinance.ru/articles/90819
[2]: https://habrastorage.org/web/6ef/4e8/1a8/6ef4e81a86a5467396e02d08bcdc7a2c.png
[3]: https://habrahabr.ru/post/337734/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Из песочницы] Имплементация OpenId Connect в ASP.NET Core при помощи IdentityServer4 и oidc-client
habra.16
habrabot(difrex,1) — All
2017-09-13 08:30:04


[![][1]][2]



Недавно мне потребовалось разобраться, как делается аутентификация на OpenId Connect на ASP.NET Core. Начал с примеров, быстро стало понятно, что чтения спецификации не избежать, затем пришлось уже перейти к чтению исходников и статей разработчиков. В результате возникло желание собрать в одном месте всё, что необходимо для того, чтобы понять, как сделать рабочую реализацию OpenId Connect Implicit Flow на платформе ASP.NET Core, при этом [понимая][3], что Вы делаете.

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

[1]: https://habrastorage.org/web/4f5/56f/c6c/4f556fc6c8b14038a78fc7874c5053cd.png
[2]: #habracut
[3]: http://catb.org/jargon/html/koans.html#id3141171
[4]: https://habrahabr.ru/post/337784/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод] Эксплойт BlueBorne на Android, iOS, Linux и Windows: более 8 миллиардов устройств критически уязвимы
habra.16
habrabot(difrex,1) — All
2017-09-13 08:30:04


[![][1]][2]

Вектор атаки BlueBorne может потенциально повлиять на все устройства с Bluetooth, количество которых сегодня оценивается более чем в 8,2 миллиарда. Bluetooth является ведущим и наиболее распространенным протоколом для ближней связи и используется всеми устройствами — от обычных компьютеров и мобильных до IoT-устройств, таких как телевизоры, часы, автомобили и медицинские приборы.

**Итак, в чём проблема?** Bluetooth сложный. Эта чрезмерная сложность является прямым следствием огромной работы, которая была проведена при создании спецификации Bluetooth. Чтобы проиллюстрировать это отметим, что, в то время как спецификация WiFi (802.11) умещается на 450 страницах, объём спецификации Bluetooth достигает 2822 страниц. Результатом непрозрачности является большое количество уязвимостей, о части из которых мы расскажем в этой статье.

Спецификация Bluetooth имеет не менее 4 разных уровней фрагментации, как показано на диаграмме, взятой из спецификации:

[![][3]][4]


## Обзор BlueBorne

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

[1]: https://habrastorage.org/web/fe3/25b/b94/fe325bb94b2445608683cfdf9068d595.png
[2]: https://habrahabr.ru/company/cloud4y/blog/337782/
[3]: https://habrastorage.org/web/147/07a/ad0/14707aad03294631934cd3b4d04bd9e1.png
[4]: https://habrahabr.ru/company/cloud4y/blog/337782/
[5]: https://habrahabr.ru/post/337782/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] От Торонто до Томска: подведение итогов и планирование будущих семинаров по микроэлектронике в России
habra.16
habrabot(difrex,1) — All
2017-09-13 09:00:06


Видите японского робота-собачку слева от девушки Ирины? Этот робот из компьютерного музея у офиса Гугла управлялся встроенным процессором MIPS R4000. Дальний потомок этого процессора, MIPS microAptiv UP, станет темой нескольких докладов [на семинаре по обмену опытом преподования электроники, который пройдет в Томске на следущей неделе][1]. Ядро MIPS microAptiv UP, в своем бесплатном варианте, MIPSfpga, стало удобной морской свинкой для студенческих экспериментов по микроархитектуре процессорных ядер и созданию систем на кристалле.

Важная часть экспериментов с MIPSfpga случилась в России, на Украине и в Казахстане в течении двух прошлых лет — про это [рассказала на конференции в Торонто][2] Сара Харрис, профессор Университета Лас-Вегаса. В семинарах на эту и смежные темы проектирования чипов (Nanometer ASIC) приняли участие МГУ, МФТИ, МИФИ, МИЭТ, ИТМО и другие ведущие университеты.

Сейчас эксперимент продолжается: в этом месяце, помимо конференции в Томске, в Россию [приезжает Роберт Оуэн][3], известный консультант по университетским образовательным программам в области микроэлектроники. За последние 23 года Роберт Оуэн посетил сотни университетов в Европе, Азии, Америке и даже Африке, как представитель Texas Instruments, ARM, Xilinx и Imagination. Он помогал университетам поставить программы в области DSP, микроконтроллеров, встроенных процессоров и систем на кристалле.

Вся эта деятельность — не абстрактное образование ради образования. На технологиях разработки микросхем с использованием языков описания аппаратуры Verilog и VHDL и использовании синтезируемых ядер стоит бизнес таких российских компаний как ЭЛВИС-НеоТек и Байкал Электроникс, о которых [расскажет в лекции на этой неделе никто иной как Чубайс][4].

![][5]

Про эти и другие мероприятия из прошлого и будущего подробнее под катом.
[Читать дальше →][6]

[1]: http://bit.ly/tomsk2017
[2]: https://projects.ncsu.edu/wcae/ISCA2017/papers/chaver.pdf
[3]: http://bit.ly/robert-owen-2017
[4]: https://edunano.ru/events/rossiyskaya-nanoindustriya-2007-2017-2027/#
[5]: https://habrastorage.org/getpro/habr/post_images/7e6/82e/f9e/7e682ef9ea8028c982da6641fb6f14ac.png
[6]: https://habrahabr.ru/post/337702/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Книга «Аудит безопасности информационных систем»
habra.16
habrabot(difrex,1) — All
2017-09-13 09:00:06


[![image][1]][2] В книге Никиты Скабцова (магистр CS, опыт работы инженером по информационной безопасности – 10 лет, преподаватель «компьютерные сети, операционные системы», сертификаты: CEH, CCSA, LPIC, MCITP) рассматриваются методы обхода систем безопасности сетевых сервисов и проникновения в открытые информационные системы. Информационная безопасность, как и многое в нашем мире, представляет собой медаль с двумя сторонами. С одной стороны, мы проводим аудит, ищем способы проникновения и даже применяем их на практике, а с другой — работаем над защитой. Тесты на проникновение являются частью нормального жизненного цикла любой ИТ-инфраструктуры, позволяя по-настоящему оценить возможные риски и выявить скрытые проблемы.
[Читать дальше →][3]

[1]: https://habrastorage.org/web/d9e/7b6/4b7/d9e7b64b733e4c2b87c9659235ad2fe2.jpg
[2]: https://habrahabr.ru/company/piter/blog/337714/
[3]: https://habrahabr.ru/post/337714/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] [Перевод - recovery mode ] Эксплойт BlueBorne на Android, iOS, Linux и Windows: более 8 миллиардов устройств критически уязвимы
habra.16
habrabot(difrex,1) — All
2017-09-13 11:30:05


[![][1]][2]

Вектор атаки BlueBorne может потенциально повлиять на все устройства с Bluetooth, количество которых сегодня оценивается более чем в 8,2 миллиарда. Bluetooth является ведущим и наиболее распространенным протоколом для ближней связи и используется всеми устройствами — от обычных компьютеров и мобильных до IoT-устройств, таких как телевизоры, часы, автомобили и медицинские приборы.

**Итак, в чём проблема?** Bluetooth сложный. Эта чрезмерная сложность является прямым следствием огромной работы, которая была проведена при создании спецификации Bluetooth. Чтобы проиллюстрировать это отметим, что, в то время как спецификация WiFi (802.11) умещается на 450 страницах, объём спецификации Bluetooth достигает 2822 страниц. Результатом непрозрачности является большое количество уязвимостей, о части из которых мы расскажем в этой статье.

Спецификация Bluetooth имеет не менее 4 разных уровней фрагментации, как показано на диаграмме, взятой из спецификации:

[![][3]][4]


## Обзор BlueBorne

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

[1]: https://habrastorage.org/web/fe3/25b/b94/fe325bb94b2445608683cfdf9068d595.png
[2]: https://habrahabr.ru/company/cloud4y/blog/337782/
[3]: https://habrastorage.org/web/147/07a/ad0/14707aad03294631934cd3b4d04bd9e1.png
[4]: https://habrahabr.ru/company/cloud4y/blog/337782/
[5]: https://habrahabr.ru/post/337782/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

[>] Создание и нормализация словарей. Выбираем лучшее, убираем лишнее
habra.16
habrabot(difrex,1) — All
2017-09-13 15:00:06


![][1]

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

[1]: https://habrastorage.org/web/bda/a95/bb0/bdaa95bb0cc8454b824e65ffe7086105.jpg
[2]: https://habrahabr.ru/post/337718/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut

Pages: 1 ... 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 ... 133