Для подписчиковЭто шестая глава приключенческо‑фантастической истории «Хакеры.RU». Каждую субботу мы публикуем по одной главе специально для подписчиков «Хакера». Если ты еще не читаешь, начинай с первой!
Как быстро выяснить схему соединений, когда на плате 70 микросхем в BGA? Как протестировать плату, начиная с проверки соединений и заканчивая функциональными испытаниями? Что можно вытворять с помощью JTAG сканирования? Где применять? Возьмите в свой арсенал этот действительно полезный и могучий инструмент! ❯ Что такое пограничное сканирование (JTAG Boundary Scan)? Помимо основной схемы, в микросхему добавляют регистры JTAG интерфейса и немного «кремния», который изолирует основную логику от…
В этой статье описано создание эмулятора 16-битной приставки Sega Mega Drive на C++.Будет много интересного: эмуляция процессора Motorola 68000, реверсинг игр, графика на OpenGL, шейдеры, и многое другое. И все это на современном C++. В статье много картинок, можно хоть на них посмотреть.Устройство Sega Mega DriveАрхитектура Sega Mega Drive (source)Описание каждого компонента из схемы в рандомном порядке:ROM - данные картриджа, имеет размер максимум 4MB.VDP - "Video Display Processor", …
Оптимизация SQL-запросов является одной из ключевых задач при работе с реляционными базами данных. Эффективные SQL-запросы позволяют значительно улучшить производительность приложений и обеспечить более быстрый доступ к данным. В данной статье мы рассмотрим как переписать запрос, чтобы выполнялся быстрее. В статье пойдет речь о PostgreSQL, хотя применять данные советы к любой базе данных SQL Ниже будут представлены термины и операторы, о которых пойдет в данной статье. cost — стоимость выполне…
Микросервисы или монолит? Споры об архитектуре программного обеспечения не утихают, но с 2018-2020 годов наметился интересный тренд: компании начинают переоценивать сложность микросервисного подхода. Возвращение к монолитам, но уже с учетом современных инструментов, вызывает жаркие обсуждения в техническом сообществе. В этой статье я не буду защищать какую-либо из сторон. И не буду обещать волшебных решений, которые решат все архитектурные проблемы. Вместо этого разберем, что стоит за модной …
Хочу затронуть давнюю шумиху на тему того, что в схеме Apple Macintosh LC III один из конденсаторов установлен задом наперёд. LC III — это модель Mac размером с «коробку от пиццы». Выпускалась она с начала 1993 по начало 1994 года преимущественно для сферы образования. Также существовала линейка потребительских модификаций в виде моделей Performa 450, 460, 466 и 467. Масштабного отзыва устройств со стороны Apple так и не последовало, что, на мой взгляд, и вызвало среди сообщества скептическое …
Всем привет! Меня зовут Егор, я – фронтенд-разработчик в Чиббис, один из трёх разработчиков новой версии важного продукта компании – партнерского личного кабинета.Проект создавался с нуля, и перед командой стояла задача подойти к разработке нового продукта с максимальным, насколько это возможно, соблюдением всех «идеальных» процессов разработки: была возможность попробовать не только внедрить, но и применять на постоянной основе различные практики разработки. Те из вас, кто работ…
Изображение, созданное DALL-E Type-level программирование в контексте TypeScript - это набор приемов и паттернов, позволяющих решать задачи уже на этапе компиляции, опираясь на возможности системы типов. Если описывать коротко:TypeScript умеет вычислять определенные конструкции во время компиляции, используя Generics, Conditional Types, Template Literal Types и другие механизмы.Результаты таких вычислений не попадают в итоговый JavaScript-код, но активно влияют на валидацию и безопасность к…
Привет, друзья! В этой серии статей я рассказываю о Convex — новом открытом и бесплатном решении BaaS (Backend as a Service — бэкенд как услуга), которое выглядит очень многообещающе и быстро набирает популярность среди разработчиков. На сегодняшний день Convex предоставляет реактивную базу данных смешанного типа, механизм аутентификации/авторизации, файловое хранилище, планировщик задач и средство интеллектуального поиска. Эта третья и завершающая часть серии, в которой мы поговорим о планир…