Как-то так получилось, что работая в редакции, мне часто приходилось писать новостные заметки про Game Boy. Про ту саму легендарную консоль, буквально перевернувшую идею гейминга и позволившую играть везде, а не быть привязанным к телевизору или монитору. Я писал про порты современных игр на платформу 1989 года и мне стало интересно узнать, как же писали и продолжают писать игры под Game Boy. За все это время мне удалось узнать много нового, разобраться в деталях и теперь я готов поделиться этим.
Новости
DevOps для firmware
В этом тексте я намерен пофантазировать каким мог бы быть абстрактный процесс разработки firmware с точки зрения DevOps. И перечислить атрибуты такого процесса.
Кастомный JsonConverter: уменьшаем связность и экономим ресурсы
Рассматриваем некоторые возможности, которые нам предоставляет кастомный JsonConverter
Моделирование упаковки с использованием API SolidWorks
В качестве иллюстрации этого утверждения приведем пример, в котором с такой задачей столкнулись даже IT-специалисты. Как раз на момент написания этой статьи программисты одного из подразделений ООО «Специальный технологический центр» занимались подбором комплектующих для комплекса радиоэлектронной аппаратуры, в состав которого входили серверы и автоматизированные рабочие места. Мне как конструктору в этот момент пришлось принять участие в выборе тары для укладки ЗИП (первое изображение под катом). Как могут решаться подобного рода задачи – см. далее.
Скрытые друзья в плюсах
Как известно, ключевое слово friend в C++ используется для предоставления доступа к закрытым членам класса внешним функциям и классам. Помимо этого, friend наделена еще одной фишкой, о которой знают далеко не все. В этой статье речь пойдет о hidden friends. Желающих разобраться в сабже, прошу под кат.
Разработка игры на Unity с нуля до релиза. Часть 3
Приветствую Хабр! 👋
«Разработка игры с нуля до релиза» - это серии статьей, где я покажу, как создать свою игру с самого нуля до публикации в Google Play и Itch.io на ОС GNU\Linux. Часть 3
Жизнь за пределами Metasploit Framework, сравниваем альтернативы
ДИСКЛЕЙМЕР: Внимание! Вся представленная ниже информация предназначена только для ознакомительного изучения. Автор не несет никакой ответственности за любой причиненный вред с использованием изложенной информации.
К вопросу о PoL, или импортозамещение бывает
Я так и не понял, как работать с этим инфернальным редактором.
А речь пойдет о сравнении неизолированных малогабаритных понижающих преобразователей отечественного и импортного производства.
Оценка рисков информационной безопасности по методике Facilitated Risk Analysis Process
Мы продолжаем серию обзоров методик оценки рисков информационной безопасности (далее – ИБ), и сегодняшний выпуск будет посвящен методике Facilitated Risk Analysis Process (далее – FRAP).
Автор: Евгений Баклушин, старший аналитик УЦСБ
Почему FRAP?
Методика FRAP ориентирована на качественную оценку рисков ИБ с точки зрения их влияния на достижение бизнес-целей организации, а не на выполнение каких-то каталогов мер безопасности или требований аудита. При этом методика обладает несколькими преимуществами по сравнению с количественной оценкой рисков, такими как:
Существенное сокращение времени и усилий на проведение оценки.
Документация имеет практическое применение, а не представляет из себя бесполезную стопку бумаги.
Оценка учитывает не только опыт и навыки специалистов отдела ИБ, но и опыт владельцев бизнес-процессов.
Дополнительно может учитываться опыт, полученный из национальных центров реагирования на инциденты ИБ, профессиональных ассоциаций и профильной литературы.
ТОП-3 ИБ-событий недели по версии Jet CSIRT
Сегодня в ТОП-3 — уязвимости в среде выполнения контейнеров и ядрах Linux, а также бэкдор, который распространяется через уязвимость в библиотеке Log4J. Новости собирал Андрей Маслов, аналитик центра мониторинга и реагирования на инциденты ИБ Jet CSIRT компании «Инфосистемы Джет».
Подробнее — под катом.
WFM: планирование рабочего времени и управление персоналом
Одной из проблем, свойственным заведениям из сферы HoReCa (рестораны, фастфуды, кафе и отели) и Call Center/Contact Center, является планирование расписания. Проблемы с планированием, в первую очередь, возникают из-за плавающих графиков, различных типов совмещений и построения рабочих графиков исходя из квалификации сотрудников (компетенции). Особенно остро данный вопрос стоит у крупных сетей с большим товарооборотом, где правильная расстановка смен определяет качество обслуживания, оперативность и, самое главное, влияет на выручку и прибыль заведения либо всей сети.
Для решения данных вопросов были придуманы многочисленные системы планирования, учета и оптимизации рабочего времени сотрудников (workforce management, WFM), которые уже не первый год пользуются популярностью за рубежом.
Обобщенное программирование – обзор реализаций
В большинстве сильно типизированных языков поддерживается обобщенное программирование. Круг проблем, которые решаются на этих языках, один и тот же, но сами проблемы решались в разное время разными способами, и у каждого из этих способов были свои «за» и «против». Мы рассмотрим историю реализаций обобщенного программирования, чтобы вы могли распробовать его как инженер. Наилучшего подхода не существует, любой подход – это всегда компромисс, при котором одними преимуществами жертвуют ради других. Мы рассмотрим три популярных языка, обогативших нашу индустрию новыми подходами: C++, Java, C#(.Net). Для каждого из рассматриваемых языков мы ответим на следующие вопросы:
Шаблоны C++: как итерировать по std::tuple — std::apply и еще пара приемов
В предыдущей статье, посвященной перебору элементов кортежей, мы рассмотрели только основы. В результате нашей работы мы реализовали шаблон функции, который принимал кортеж и мог красиво вывести его в консоль. Мы также реализовали версию с оператором <<
.
Сегодня мы пойдем немного дальше и рассмотрим другие техники. Первая — с применением std::apply
из C++17, вспомогательной функции для кортежей. В этой статье также будут рассмотрены некоторые стратегии, позволяющие сделать итерацию более универсальной и обрабатывать кастомные callable-объекты, а не только выводить их в консоль.
Структурная адаптация, brand-new самоорганизующаяся сеть на палочках и кружочках
Речь в статье пойдет о принципиально новой ИИ методологии, основанной на распространении потока в адаптивной многомерной структуре (фильтре). Ранее подход описан нигде не был, знакомьтесь.
Чек-лист начинающего арт-директора: как организовать работу арт-отдела от малых до распределенных команд
Привет! Меня зовут Денис Рычковский. Всю сознательную жизнь я люблю две вещи: арт и игры. С 2015 года я работаю в геймдев-индустрии, а последние 3,5 года — на позициях лида и арт-директора.
Сегодня я хочу поделиться накопившимся опытом и поговорить о самых разных аспектах организации арт-отделов: про особенности и отличие команд в зависимости от их численности, о планировании и коммуникациях, арт-пайплайнах, менеджменте, хантинге и развитии сотрудников — эдакий глоссарий и практические советы, о чем стоит знать каждому арт-лиду.
Игра «Ну, погоди!» на Arduino (продолжение)
Всех приветствую! Это продолжение моей публикации «Игра "Ну, погоди!" на Arduino». Оформил всё на печатной плате и сделал корпус. Подробности ниже.
Разбираем алгоритмы компьютерной графики. Часть 2 — «Туннель из демо «Second Reality»»
В 1993 году на демопати Assembly, которая проходит в Финляндии, команда Future Crew презентовала свою новую работу «Second Reality».
(хороший разбор исходников этой демо можно найти здесь же на Хабре, по этой ссылке «Анализ кода демо Second Reality»)
Графические эффекты использованные в демо, в то время производили неизгладимое впечатление. Да и сегодня эту работу можно пересматривать с большим удовольствием. Под DosBox она запускается без каких-либо проблем. Именно это демо многие кодеры называли в качестве источника вдохновения для своих работ и толчком для них самих, чтобы начать заниматься компьютерной графикой.
Сегодня мы попробуем воспроизвести один из эффектов демонстрируемых в этом демо, а именно эффект плавающего туннеля.
Баги в Hello World
Hello World, должно быть, самая часто создаваемая компьютерная программа. Уже десятилетия это первая программа, которую пишут люди, когда начинают изучение нового языка программирования.
Конечно же эта простая программа не должна иметь баги. Верно?
Kubernetes Resource Model (KRM), или YAML всему голова
Connections by GrahamSym.
YAML (YAML Ain't Markup Language) — язык сериализации данных, который обычно применяется в файлах конфигурации, используемых в Kubernetes, Docker, Ansible и многих продуктах. Сейчас этот инструмент незаслуженно недооценен, многие просто не понимают пользы YAML для Kubernetes.
Меня зовут Дмитрий Евдокимов, я основатель и технический директор компании Лантри. Мы разрабатываем Observability-решения, помогающие клиентам повышать прозрачность происходящего на всех уровнях Kubernetes. И в том числе видеть, как компоненты работают и взаимодействуют между собой.
Я расскажу, как YAML может упростить управление системами и автоматизацию большинства процессов, чтобы Kubernetes был удобной рабочей системой не только для DevOps и SRE, но и для всех ИТ-специалистов.
Статья написана на основе моего выступления на VK Kubernetes Conference — вы можете посмотреть его в записи.