Как стать автором
Обновить
2
0
Дмитрий @ExiveR

Администратор баз данных

Отправить сообщение

Отображение иерархии в SQL запросе

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров13K

В процессе тестирования одного курса по SQL на stepik.org встретилась задача, из которой сочинилась другая, более интересная:

Необходимо с помощью одного SQL запроса с использованием обобщенных табличных выражений отобразить иерархию, в соответствии с иллюстрацией выше

Читать далее
Всего голосов 30: ↑30 и ↓0+33
Комментарии4

Книга: «Чистый дизайн. Практика эмпирического проектирования ПО»

Время на прочтение8 мин
Количество просмотров6.8K
image Привет, Хаброжители!

Грязный код создает проблемы. Чтобы код было проще читать, проходится проводить его очистку, разбивая на части, с которыми удобно работать. Кент Бек, создатель методологии экстремального программирования и первопроходец в области паттернов проектирования, рассказывает нам, где и когда лучше проводить очистку для улучшения кода с учетом общей структуры системы.

Книга не заставляет читателя проводить очистку сразу и целиком, а позволяет протестировать несколько примеров, которые подходят для поставленной задачи. Вы узнаете, как логически разделить на части большую функцию, содержащую множество строк кода. Познакомитесь с теоретическими понятиями программного дизайна: сцеплением, связностью, дисконтированными денежными потоками и вариативностью.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+11
Комментарии0

Внутри картриджей Super Nintendo

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров15K

Одна из исключительных особенностей игровых картриджей Super Nintendo — это способность упаковать в микросхемы ПЗУ не только инструкции и ресурсы. Если открыть картридж и посмотреть на плату, можно найти чип защиты от копирования CIC, SRAM и даже платы расширения. Давайте посмотрим чуть детальнее!

Читать далее
Всего голосов 20: ↑20 и ↓0+23
Комментарии5

Распознавание, хранение и поиск лиц в базе данных

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров14K

В этой статье я максимально коротко и просто объясню принцип распознавания, хранения и поиска лиц в базе данных. В качестве примера будет использована библиотека Insightface и база данных PostgreSQL.

Читать далее
Всего голосов 30: ↑25 и ↓5+28
Комментарии6

Анонимная сеть Hidden Lake → анализ QB-сетей, функций шифрования и микросервисов на базе математических моделей

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров4.3K

Анонимная сеть Hidden Lake (HL) - это децентрализованная F2F (friend-to-friend) анонимная сеть с теоретической доказуемостью. В отличие от известных анонимных сетей, подобия Tor, I2P, Mixminion, Crowds и т.п., сеть HL способна противостоять атакам глобального наблюдателя. Сети Hidden Lake для анонимизации своего трафика не важны такие критерии как: 1) уровень сетевой централизации, 2) количество узлов, 3) расположение узлов и 4) связь между узлами в сети.

Читать далее
Всего голосов 13: ↑13 и ↓0+16
Комментарии3

Обобщённые типы. Часть 1/3. Полиморфные типы высокого рода

Уровень сложностиСредний
Время на прочтение37 мин
Количество просмотров6.5K

В предыдущей статье раскрывались некоторые базовые понятия теории типов. В этот раз мы рассмотрим обобщённые типы (generics) – необходимость появления такой абстракции, ключевые особенности и различные сценарии использования в программировании.

Читать первую часть обзора
Всего голосов 16: ↑16 и ↓0+18
Комментарии5

Хеш-функция, что это такое?

Время на прочтение8 мин
Количество просмотров166K

Приветствую уважаемого читателя!

Сегодня я хотел бы рассказать о том, что из себя представляет хеш-функция, коснуться её основных свойств, привести примеры использования и в общих чертах разобрать современный алгоритм хеширования SHA-3, который был опубликован в качестве Федерального Стандарта Обработки Информации США в 2015 году.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии6

Шифр Цезаря на Ассемблере

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.4K

Друзья, коллеги, всех приветствую! В этой статье мы напишем шифратор на грязном "макро-чистом" Ассемблере и в качестве элементарного шифра будем использовать Шифр Цезаря (Шифр сдвига с ключом k = n). Статья написана для новичков, которые могут погрузиться в мир "первой" криптографии. З.Ы. Код можно доработать, как вы захотите (например, реализовать другой шифр), и использовать, например, в курсовой (в ВУЗе). Благо, в профильных ВУЗах еще уделяют какое-то время языку Ассемблера :)

Читать далее
Всего голосов 12: ↑11 и ↓1+11
Комментарии7

Как работают алгоритмы музыкальных стримингов. Разбираем на примере

Время на прочтение9 мин
Количество просмотров11K

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

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

Так как они это делают?

Читать далее
Всего голосов 34: ↑32 и ↓2+35
Комментарии19

Последнее издание культовой книги «Искусство схемотехники» стало доступно русскоязычным читателям

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров48K

“Электронщики, как учит нас Парацельс, самозарождаются среди паяльников, радиодеталей, универсальных плат и проводов” (@teap0t)

Возможно, это действительно так, но без хорошей книги - учебника или справочника, которые служат катализатором, этот процесс может так и не завершиться. А лучшей книгой для начинающих разработчиков электронных схем и практически библией электронщиков последние сорок лет, считается "Искусство схемотехники" (англ. - The Art of Electronics) Пауля Хоровица и Уинфилда Хилла.

Читать далее
Всего голосов 74: ↑74 и ↓0+83
Комментарии137

Книга «SQL. Pocket guide, 4-е изд.»

Время на прочтение7 мин
Количество просмотров5.6K
image Привет, Хаброжители!

Если вы аналитик или инженер по обработке данных и используете SQL, популярный карманный справочник станет для вас идеальным помощником. Найдите множество примеров, раскрывающих все сложности языка, а также ключевые аспекты SQL при его использовании в Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL и SQLite.

В обновленном издании Элис Жао описывает, как в этих СУБД используется SQL для формирования запросов и внесения изменений в базу. Получите подробную информацию о типах данных и их преобразованиях, синтаксисе регулярных выражений, оконных функциях, операторах PIVOT и UNPIVOT и многом другом.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+14
Комментарии1

Расшифровка BitLocker — добыча ключа из микросхемы TPM

Время на прочтение4 мин
Количество просмотров21K

Подключение сниффера к модулю TPM по шине LPC

Полнодисковое шифрование BitLocker в ОС Windows считается довольно надёжным способом сохранения данных. По умолчанию оно использует алгоритм Advanced Encryption Standard (AES) в режиме сцепления блоков (CBC) или в режиме подстроенной кодовой книги с кражей шифротекста (XTS) на базе xor-encrypt-xor (XEX) со 128- или 256-битным ключом.

В теории это довольно крепкая схема. Проблема только в том, что секретный ключ BitLocker хранится в Trusted Platform Module (TPM), а в некоторых случаях (на некоторых компьютерах) его можно извлечь, получив физический доступ к устройству.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+26
Комментарии43

Как я делал сеть на 10 гигабит с минимальным бюджетом

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров71K


Решил я ускорить тривиальную задачу в виде передачи файлов с одного компьютера на маленький домашний NAS. Раньше 10 гигабит были для меня чем-то заоблачным (с учётом цены на свичи, а также сетевые карты). Но благодаря апгрейду дата-центров, а также свежим чипам для свичей от Realtek, апгрейд оказался недорогим и безболезненным.

О выборе железа и тестах — под катом.
Читать дальше →
Всего голосов 109: ↑108 и ↓1+134
Комментарии148

Логи в файлах: написал своё приложение для просмотра структурированных логов

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.1K

Не каждому проекту нужно децентрализованное логирование. В моём случае, оказалось проще хранить логи в .json файлах формата Compact Log Event Format (CLEF). Мне нужно было простое и бесплатное решение для просмотра логов.

Читать далее
Всего голосов 10: ↑10 и ↓0+11
Комментарии12

Как не надо проверять размер массива в С++

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров27K

Как часто вам приходится сталкиваться с конструкцией sizeof(array)/sizeof(array[0]) для определения размера массива? Очень надеюсь, что не часто, ведь на дворе уже 2024 год. В заметке поговорим о недостатках конструкции, откуда она берётся в современном коде и как от неё наконец избавиться.

Читать далее
Всего голосов 66: ↑63 и ↓3+83
Комментарии103

Книга «Генеративное глубокое обучение. Как не мы рисуем картины, пишем романы и музыку. 2-е межд изд.»

Время на прочтение8 мин
Количество просмотров5.2K
image Привет, Хаброжители!

Генеративное моделирование — одна из самых обсуждаемых тем в области искусственного интеллекта. Машины можно научить рисовать, писать и сочинять музыку. Вы сами можете посадить искусственный интеллект за парту или мольберт, для этого достаточно познакомиться с самыми актуальными примерами генеративных моделей глубокого обучения: вариационными автокодировщиками, генеративно-состязательными сетями, моделями типа кодер-декодер и многим другим.

Дэвид Фостер делает понятными и доступными архитектуру и методы генеративного моделирования, его советы и подсказки сделают ваши модели более творческими и эффективными в обучении. Вы начнете с основ глубокого обучения на базе Keras, а затем перейдете к самым передовым алгоритмам.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

Секретная китайская плата с ЦАП: вспоминаем COVOX

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров7.9K


Привет, Хабр! Сегодняшний радиоконструктор меня очень порадовал. Предельно простая схема позволяет получить весьма интересную форму выходного сигнала, благодаря программируемому двоично-десятичному счётчику КР1533ИЕ2 (74LS90) и резистивному цифро-аналоговому преобразователю, как в винтажной звуковой карте «COVOX».

КР1533ИЕ2 сама по себе является очень интересной микросхемой стандартной логики, которую стоит рассмотреть подробнее.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+43
Комментарии14

Домашняя виртуальная лаборатория. Готовим собственный сервер виртуализации для обучения. 2. Выбираем сервер

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров15K

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

Читать далее
Всего голосов 11: ↑9 и ↓2+11
Комментарии54

Уравнение с тремя неизвестными: как отлавливать баги в системах хранения данных

Время на прочтение15 мин
Количество просмотров2.8K

Привет! Меня зовут Никита Гуцалов, я инженер в компании YADRO и занимаюсь разработкой ПО для системы хранения данных TATLIN.UNIFIED. Вообще с системами хранения данных (СХД) я работаю уже много лет и люблю эту тему, поскольку она постоянно бросает новые вызовы, заставляя решать довольно сложные и нестандартные проблемы, что очень увлекательно само по себе, а удачные решения приносят огромное удовлетворение.


В статье я попытаюсь погрузить читателя в проблемы, с которыми нам, инженерам YADRO, приходится сталкиваться при отладке программного обеспечения СХД. Также покажу особенности работы с такими системами. Расскажу, какие инструменты, а иногда и решения, которые мы пишем сами, приходится для этого применять. А еще постараюсь сформулировать условия, которые необходимы для нахождения причин возникновения ошибок обработки данных в системе.

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

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии2

Ассемблер: x86/x86_64/Arm32/Arm64

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров10K

Я достаточно давно решил ознакомится с ассемблером архитектуры Arm. По большей части для ознакомления и понимания внутренних процессов архитектуры. Чем больше я изучал литературу и различные источники, тем больше я понимал, что нужна практика. Я решил вспомнить ассемблер для x86-х машин и заодно потренироваться на архитектуре Arm.

Но как всегда для практики надо быть подготовленным, а как оказалось, я был не подготовлен...

Читать далее
Всего голосов 12: ↑11 и ↓1+13
Комментарии34

Информация

В рейтинге
Не участвует
Откуда
Караганда, Карагандинская обл., Казахстан
Дата рождения
Зарегистрирован
Активность