Пользователь
Ansible: тестируем плейбуки (часть 2)

Напомню несколько условий, при которых мы будем выполнять тестирование конфигураций:
1. Вся конфигурация хранится в git-репозитории;
2. Jenkins периодически опрашивает git-репозиторий с нашими ролями/плейбуками на предмет внесённых изменений;
3. При появлении изменений Jenkins запускает job с тестированием конфигурации. Тесты состоят из двух этапов:
3.1 Kitchen-CI берёт обновленный код из репозитория, запускает полностью свежий docker-контейнер, заливает в них обновлённые плейбуки из репозитория и запускает Ansible локально, в docker-контейнере;
3.2 Если первый этап прошёл успешно, в docker-контейнере запускается serverspec и проверяет, корректно ли встала новая конфигурация;
4. Если в Kitchen-CI все тесты прошли успешно, то Jenkins инициирует заливку новой конфигурации.
В идеале, весь процесс от написания плейбука и коммита в репозиторий до внесения изменений на сервера, должен проходить без нашего участия. Сильно углубляться в установку Jenkins и подробно расписывать о пайплайнах в данной статье не планируется. Первое делается без проблем из стандартных репозиториев, а второе — сугубо индивидуальное.
Ansible с чего начать

Как обучается ИИ

Источник изображения.
Есть ли связь между трехглазой жабой и нейронными сетями? Что общего у программы, выигрывающей в го, и приложением Prisma, перерисовывающим фотографии под стили картин известных художников? Как компьютеры одолели нарды, а затем покусились на святое — и выиграли у человека в “Космических захватчиков”?
Дадим ответы на все эти вопросы, а еще поговорим о революции, связанной с глубоким обучением, благодаря которому удалось добиться прорыва во многих областях.
Всё, что вы хотели узнать о RAID-контроллерах, но лень было искать

Дисковый массив с нотками ретро.
На плечах RAID-контроллеров лежит ответственная задача — управление дисковой подсистемой, то есть всей информацией, хранимой на сервере. Именно они отвечают за работу дисковых массивов, позволяя повысить производительность сервера или надёжность хранения данных. Поэтому давайте поговорим о RAID-контроллерах, установленных в серверы вендоров «большой тройки», об их возможностях и особенностях.
2D магия в деталях. Часть первая. Свет

Игры большие и трехмерные уже давно радуют глаз реалистичным освещением, мягкими тенями, бликами и прочей осветительной красотой. В двумерных же играх — во главе стола прямые руки художника, который подсветит и затенит где нужно, спрайт за спрайтом, или даже пиксель за пикселем. А если хочется динамики и без художника, и да, в пиксельарте?
Проект «Око». Конец

Фото: A.V. Photography
Последняя, заключительная часть. Проект «Око» окончен. «От автора» можно будет почитать в конце публикации.
Под катом я оставлю небольшую памятку по персонажам для тех, кто читает в онгоинге.
Для новых же читателей внутри есть ссылка на книгу целиком в форматах для читалок.
Ссылки на предыдущие части и обращение к тем, кто видит публикации Ока впервые:Око — мой личный литературный проект, работу над которым я начал в мае этого 2015 года. Из небольшой зарисовки он перерос в научно-фантастическое произведение, главы которого я выкладываю, по мере написания, на GT.
Предыдущие части:
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9
Часть 10
Часть 11
Часть 12
Часть 13
Часть 14
Часть 15
Часть 16
Часть 17
Часть 18
Часть 19
Часть 20
Часть 21
Часть 22
Часть 23
Часть 24
Часть 25
Предыдущие части:
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9
Часть 10
Часть 11
Часть 12
Часть 13
Часть 14
Часть 15
Часть 16
Часть 17
Часть 18
Часть 19
Часть 20
Часть 21
Часть 22
Часть 23
Часть 24
Часть 25
Книга «Проект Око» вышла на краудфандинг
Начался сбор средств для печати тиража самиздата

На КДПВ белорусские рубли. В переводе на российские общая сумма составляет ~205 000 RUB
Вчера утром на белорусской площадке «Улей» я запустил кампанию по сбору средств для печати тиража книги, которая на протяжении 13 последних месяцев публиковалась по главам специально для читателей Geektimes.
В первую очередь я сделал это потому, что многие читатели GT на протяжении последнего года спрашивали о возможности купить бумажный экземпляр после окончания работы над произведением.
Почему я пошел на краудфандинг? Первое — полностью сохранить права на произведение. Это дает возможность выполнить пункт №2: я считаю, что обязательно должна остаться возможность прочитать «Око» в электронном варианте бесплатно для всех желающих. И не важно где, на Geektimes, в формате книги для читалок или скачать с одной из библиотек/раздач.
Проишествие в облаках (рассказ)
Руководство по работе с Redux

В этом руководстве мы рассмотрим создание с нуля full-stack приложения с использованием Redux и Immutable-js. Применив подход TDD, пройдём все этапы конструирования Node+Redux бэкенда и React+Redux фронтенда приложения. Помимо этого мы будем использовать такие инструменты, как ES6, Babel, Socket.io, Webpack и Mocha. Набор весьма любопытный, и вы мигом его освоите!
Чем полезен мономорфизм?

Выступления и посты в блогах о производительности JavaScript часто обращают внимание на важность мономорфного кода, однако обычно не дается внятного никакого объяснения, что такое мономорфизм/полиморфизм и почему это имеет значение. Даже мои собственные выступления зачастую сводятся к дихотомии в стиле Невероятного Халка: «ОДИН ТИП ХОРОШО! ДВА ТИП ПЛОХО!». Неудивительно, что когда люди обращаются ко мне за советом по производительности, чаще всего они просят объяснить, что на самом деле такое мономорфизм, откуда берется полиморфизм и что в нем плохого.
Ситуацию осложняет еще и то, что само слово «полиморфизм» имеет множество значений. В классическом объектно-ориентированном программировании полиморфизм связан с созданием дочерних классов, в которых можно переопределить поведение базового класса. Программисты, работающие с Haskell, вместо этого подумают о параметрическом полиморфизме. Однако полиморфизм, о котором предупреждают в докладах о производительности JavaScript – это полиморфизм вызовов функции.
Я объяснял этот механизм столькими различными путями, что наконец-то собрался и написал данную статью: теперь можно будет не импровизировать, а просто дать на нее ссылку.
Я также попробовал новый способ объяснять вещи – изображая взаимодействие составных частей виртуальной машины в виде коротких комиксов. Кроме того, данная статья не покрывает некоторые детали, которые я посчитал незначительными, излишними или не связанными напрямую.
Проект «Око» ч.25

Фото: A.V. Photography
Эту часть я бы мог смело назвать 24.5, но не будем путать хронологию. В любом случае, финал близко.
Под катом я оставлю небольшую памятку по персонажам для тех, кто читает в онгоинге.
Для новых же читателей внутри есть ссылки на предыдущие главы с 1 по 25, объединенные в один файл, в форматах для читалок.
Ссылки на предыдущие части и обращение к тем, кто видит публикации Ока впервые:Око — мой личный литературный проект, работу над которым я начал в мае этого 2015 года. Из небольшой зарисовки он перерос в научно-фантастическое произведение, главы которого я выкладываю, по мере написания, на GT.
Предыдущие части:
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9
Часть 10
Часть 11
Часть 12
Часть 13
Часть 14
Часть 15
Часть 16
Часть 17
Часть 18
Часть 19
Часть 20
Часть 21
Часть 22
Часть 23
Часть 24
Предыдущие части:
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9
Часть 10
Часть 11
Часть 12
Часть 13
Часть 14
Часть 15
Часть 16
Часть 17
Часть 18
Часть 19
Часть 20
Часть 21
Часть 22
Часть 23
Часть 24
Мультиплеер в быстрых играх (Часть IV: Хэдшот! Путешествуем во времени)

Как повесить идеальный хэдшот если у тебя пинг 2 секунды? Вы узнаете в этой статье.
Текущий алгоритм работы мультиплеера
- Сервер получает команды с клиентов и времена их отправления
- Сервер обновляет состояние мира
- Сервер с некоторой частотой отправляет свое состояние всем клиентам
- Клиент отправляет команды и локально воспроизводит их результат
- Клиент получает обновленные состояния мира и:
- Применяет состояние от сервера
- Заново применяет все свои команды, которые сервер не успел применить.
- Интерполирует предыдущие состояния других игроков
- С точки зрения игрока, есть два серьезных последствия:
- Игрок видит себя в настоящем
- Игрок видит других в прошлом.
Обычно это отлично работает, но это становится большой проблемой для событий, которым нужна высокая пространственно-временная точность. Например если хочется разнести врагу башку!
Мультиплеер в быстрых играх (Часть III: появление врага)

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

«Давным-давно, кажется, в прошлую пятницу» автору попалась на глаза статья, в которой сравниваются разные популярные методы индексации небесных объектов. По причине неровного дыхания к этой теме пришлось разбираться в тонкостях и делать выводы.
Вы спросите: «Кому вообще интересны эти небесные объекты?» и даже: «Ну и при чём здесь 2ГИС?» и будете отчасти правы. Ведь методы пространственного индексирования являются универсальной ценностью.
Обычно, имея дело с геоданными, мы работаем с локальной проекцией на плоскость и тем самым отмахиваемся от искажений. В масштабах планеты это сделать труднее — начинают выпирать астрономические проблемы.
Что касается объёмов данных, уже сейчас в OSM более 4 млрд точек и 300 млн дорог. Это соизмеримо с масштабами, характерными для звёздных объектов. Да и помимо всего прочего, звёздные атласы — отличный стенд для разработки и отладки пространственных алгоритмов.
Обещанные тонкости и выводы под катом.
Мультиплеер в быстрых играх (части I, II)

Предлагаю вашему вниманию перевод статьи Fast-Paced Multiplayer (Part I): Introduction.
Разработка игры — само по себе непростое занятие. Но мультиплеерные игры создают совершенно новые проблемы, требующие разрешения. Забавно, что у наших проблем всего две причины: человеческая натура и законы физики. Законы физики привнесут проблемы из области теории относительности, а человеческая натура не даст нам доверять сообщениям с клиента.
Проект «Око» ч.24

Фото: A.V. Photography
Под катом я оставлю небольшую памятку по персонажам для тех, кто читает в онгоинге.
Для новых же читателей внутри есть ссылки на предыдущие главы с 1 по 24, объединенные в один файл, в форматах для читалок.
Ссылки на предыдущие части и обращение к тем, кто видит публикации Ока впервые:Око — мой личный литературный проект, работу над которым я начал в мае этого 2015 года. Из небольшой зарисовки он перерос в научно-фантастическое произведение, главы которого я выкладываю, по мере написания, на GT.
Предыдущие части:
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9
Часть 10
Часть 11
Часть 12
Часть 13
Часть 14
Часть 15
Часть 16
Часть 17
Часть 18
Часть 19
Часть 20
Часть 21
Часть 22
Часть 23
Предыдущие части:
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9
Часть 10
Часть 11
Часть 12
Часть 13
Часть 14
Часть 15
Часть 16
Часть 17
Часть 18
Часть 19
Часть 20
Часть 21
Часть 22
Часть 23
Проигрываем звук на DualShock4 с компьютера

Выбирая геймпад для своего компьютера, я остановился на DualShock4, так как мне понравилась идея, что можно будет слушать аудио через подключаемые к нему наушники. Но после покупки я узнал, что, оказывается, никто не знает, как передать звук на геймпад через Bluetooth. Поэтому я решил разобраться с данным вопросом. Если вам интересно узнать, как DualShock4 общается с игровой консолью, жду под катом.
Нейронная сеть Хопфилда на пальцах
Статья посвящена введению в нейронные сети и примеру их реализации. В первой части дано небольшое теоретическое введение в нейронные сети на примере нейронной сети Хопфилда. Показано, как осуществляется обучение сети и как описывается ее динамика. Во второй части показано, как можно реализовать алгоритмы, описанные в первой части при помощи языка С++. Разработанная программа наглядно показывает способность нейронной сети очищать от шума ключевой образ. В конце статьи есть ссылка на исходный код проекта.
Активируем Ubuntu On Windows в свежей Windows 10 Build 14316

Надо сразу отметить, что стеснительные Microsoft форсируют новомодную пепяку именно под названием Bash, хотя на самом деле это весь user-mode *nix софт (в ближайшем будущем точно).
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity