Pull to refresh
137
-0.8
Андрей Дмитриев @AndreyDmitriev

Пользователь

Send message

Как за один pet-проект получить два диплома

Level of difficulty Medium
Reading time 12 min
Views 22K

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

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

Читать далее
Total votes 61: ↑61 and ↓0 +61
Comments 22

Инструменты Дата-сайнтиста. Универсальная база

Reading time 4 min
Views 8.4K

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

Какие инструменты нужны для анализа данных
Total votes 14: ↑12 and ↓2 +10
Comments 2

Полезные модули PowerShell. Переводчик в консоли, SpeedTest, Syslog и другие

Level of difficulty Medium
Reading time 10 min
Views 7.2K

Всем привет! Порой, написать графическую форму для консольного приложения может оказаться очень удобным решением, тем самым не нужно запоминать все ключи программы, особенно, если пользоваться им приходится изредка, тем самым автоматизируя работу с данным приложением в дальнейшем. Но, ситуация может быть обратной, когда приложение имеет только графический интерфейс, а вам нужно получить вывод его работы в консоли, например, для возможности передачи метрик в систему мониторинга. С тех пор как начал проводить все больше времени в консоли, заметил, что становится менее удобно переключаться на ранее привычные инструменты, лишний раз использовать мышь, держать открытыми излишние приложения или вкладки в браузере, особенно, если работаешь на удаленной машине без прямого доступа к графическому интерфейсу. У меня накопилась небольшая коллекция полезных модулей, большинство из которых написаны совсем недавно, успел привыкнуть при регулярном использовании и хотелось бы ими поделиться. Осознавая, что тенденция ухода Windows систем на территории РФ растет, тем не менее думаю еще очень много людей, кто так же как и я продолжают использовать данную систему и автоматизировать свою работу, возможно, представленные модули так же смогут пригодятся. Все модули опубликованы в репозитории на GitHub и менеджере пакетов Nuget, откуда их можно установить одной командой.

Читать далее
Total votes 19: ↑19 and ↓0 +19
Comments 0

На проблемном рынке флешек появились низкокачественные чипы: их добывают из электронного мусора и почти не проверяют

Reading time 4 min
Views 27K
image

Источник: CBL

Сейчас что в российском, что в зарубежном сегментах интернета появилось много жалоб на проблемные флешки. Некоторые вообще не работают, часть — функционируют, но с проблемами. Одна из причин сложившейся ситуации — низкокачественные чипы памяти, которые устанавливают разные производители. Причем большинство чипов — вовсе не ноунейм. Подробности — под катом.
Читать дальше →
Total votes 45: ↑39 and ↓6 +33
Comments 33

Сохраняем простоту кода и ускоряем разработку за счет отказа от оверинжиринга

Reading time 8 min
Views 8.8K
В процессе программирования я всегда стараюсь сделать программу, минимально удовлетворяющую требованиям с максимально аккуратной архитектурой. Почему? Потому что хочу выдать продукт как можно скорее – у меня нет лишнего времени, нет лишнего внимания и хочется как можно скорее получить фидбек. Быстрое продвижение – это распространенная мотивация, но целенаправленность также имеет большое значение. Под давлением очень просто перескочить через этап планирования, но, когда цикл разработки запускается в спешке, это часто приводит к тому, что разработчик снижает требования к качеству и при этом, сам того не сознавая, уходит в оверинжиниринг.

Мой совет: если хотите ускориться, пишите код как можно проще и как можно чище.
Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Comments 10

Perfect DLL Hijacking. Разбор техники

Level of difficulty Medium
Reading time 37 min
Views 2.7K

Привет, Хабр, на связи лаборатория кибербезопасности компании AP Security!  В статье речь пойдет о такой технике, как DLL Hijacking, а именно как это работает от А до Я.

DLL Hijacking - это техника, позволяющая внедрять сторонний код в легитимный процесс (EXE), обманывая его загрузкой неправильной библиотеки (DLL). Чаще всего это происходит путем размещения похожей DLL выше в порядке поиска, чем предполагаемая, в результате чего ваша DLL выбирается загрузчиком библиотек Windows первой.

Несмотря на то, что в основном DLL-хакинг является решающей техникой, у нее всегда был один существенный недостаток, заключающийся в том, что после загрузки в процесс он выполняет наш сторонний код. Это называется Loader Lock, и при запуске нашего стороннего кода на него накладываются все жесткие ограничения. Это и создание процессов, и сетевой ввод/вывод, и вызов функций реестра, и создание графических окон, и загрузка дополнительных библиотек, и многое другое. Попытка выполнить любое из этих действий под Loader Lock приведет к аварийному завершению или зависанию приложения.

До сих пор существовали только довольно грубые или быстро становящиеся бесполезными техники. Поэтому сегодня мы проводим 100% оригинальное исследование загрузчика библиотек Windows, чтобы не просто обойти Loader Lock, но и, в конечном итоге, полностью его отключить. Кроме того, мы разработали несколько стабильных механизмов защиты и обнаружения, которые могут быть использованы защитниками.

Читать далее
Total votes 10: ↑9 and ↓1 +8
Comments 1

Об отображении 10-бит цвета с использованием OpenGL (GLFW)

Level of difficulty Easy
Reading time 13 min
Views 3.5K

Вашему внимания предлагается небольшой этюд, посвящённый отображению 10-битного цвета (1024 градаций по каждому каналу) на мониторе через OpenGL при помощи библиотеки GLFW. Под катом мы напишем пару небольших приложений, открывающих два окна, где рассмотрим тестовые изображения в восьмибитном и десятибитном режимах на оборудовании, поддерживающем такую опцию. Включение 10 бит в основном позволяет избавиться от эффектов «полосатости» (также используются термины «бандинг» или «постеризация»), возникающих на протяжённых градиентах со слабо меняющейся интенсивностью, когда вы начинаете видеть границы между отдельными градациями, но по какой-либо причине не хотите пользоваться дизерингом, подмешивая в изображение шум.

Читать далее про тысячу оттенков серого
Total votes 25: ↑25 and ↓0 +25
Comments 85

Из пушек по воробьям. Генерация и решение лабиринта не самым обычным способом

Level of difficulty Medium
Reading time 19 min
Views 4.5K

На уходящей неделе мне попалась симпатичная, хоть и не новая мини‑серия статей на Дзен‑канале @zdgzdgzdg про процедурную генерацию лабиринта методом «коллапса волновой функции». Пока я читал эти статьи и знакомился с кодом, меня осенило: ведь это же вычисления в комонаде, погружённые в монаду! Я не издеваюсь, действительно, речь идёт о композиции двух паттернов функционального программирования: комонады Zipper, превращающей локальные правила в глобальное состояние, и монады Random, позволяющей генерировать случайные объекты.

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

Читать далее
Total votes 38: ↑38 and ↓0 +38
Comments 7

Книги, о которых редко говорят

Reading time 4 min
Views 45K

Дал ему подборку книг, он приходит месяца через два, и с порога такой сразу:
— Я с друзьями не могу разговаривать.
— Ну да есть такой, недостаточек.
интервью Жака Фреско

Читать далее
Total votes 91: ↑89 and ↓2 +87
Comments 26

Старый софт: как мы обошли запрос пароля в Shadow Defender и зачем пользоваться приложением, которое не обновляется

Reading time 11 min
Views 2.8K

Привет, Хабр! Меня зовут Илья Буймистров, я занимаюсь исследованиями в области инфобеза для сервиса централизованного управления уязвимостями CICADA8. Это один из проектов  блока инноваций FC компании МТС RED.

Чтобы защищать пользователей, надо понимать, где слабые места в их ИТ-системах. Сегодня я расскажу, как можно обойти ввод пароля в достаточно известной программе Shadow Defender. Если вы росли в 2000-х, наверняка сталкивались с ней в компьютерных клубах и других местах, где ПК доступен большому количеству людей. Иногда её называют антивирусом, но не совсем точное определение. Обо всём по порядку.

Читать далее
Total votes 25: ↑25 and ↓0 +25
Comments 2

Best free software: какой софт мы использовали 15 лет назад (часть 1)

Reading time 10 min
Views 12K

Чем быстрее идут годы, тем чаще мы ностальгируем по временам, когда трава была зеленее, горы выше, а приложения не требовали подключения к сети, создания аккаунтов и подписок. И если сейчас о свободном программном обеспечении не знает только ленивый, в 2007-2008 годах было несколько иначе.

Тогда компьютерные журналы составляли подборки лучшего ПО на разные случаи жизни. Давайте вспомним, что было популярным лет 15 назад. Осторожно: от скриншотов может свести олдскулы (мы вас предупредили).

Читать далее
Total votes 45: ↑42 and ↓3 +39
Comments 94

Что нужно знать о gRPC системному аналитику

Level of difficulty Easy
Reading time 14 min
Views 18K

Всем привет! Я Ирина Матевосян, системный аналитик в направлении продуктового и системного анализа в отделе Tinkoff Mobile Core. Мы разрабатываем общие библиотеки, которые используют все мобильные приложения экосистемы Тинькофф. 

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

Читать далее
Total votes 19: ↑19 and ↓0 +19
Comments 6

Как собрать Си программу в OS Windows

Level of difficulty Easy
Reading time 9 min
Views 9.8K

Иногда возникает ситуация, когда надо что-то посчитать согласно сложному алгоритму прямо на LapTop PC. При этом сам алгоритм написан на Си.

Это может быть цифровой фильтр, дискретное преобразование Фурье, генератор QR кода, кусок линейной алгебры с векторами, какое-то тригонометрическое вычисление, программный модулятор, статистическая обработка случайной величины.

Да всё, что угодно! То есть Вы хотите использовать язык Си как гибкий и быстрый калькулятор в Windows.

В этом тексте представлено минимальное окружение для сборки Си кода в Windows.

Читать далее
Total votes 21: ↑8 and ↓13 -5
Comments 56

Obsidian: Мой опыт с LYT/Ideaverse и его русификация

Level of difficulty Easy
Reading time 6 min
Views 12K

В этой статье я расскажу о том, как организовал себе единое место для заметок, документов и проектной документации с помощью Obsidian и шаблона LYT, а также дам ссылку на русифицированный шаблон для создания своей такой системы.

Читать далее
Total votes 18: ↑18 and ↓0 +18
Comments 40

Мозговые имплантаты помогли пяти людям восстановиться после серьёзных травм

Reading time 4 min
Views 1.8K

Травматические повреждения мозга оставили более пяти миллионов американцев инвалидами навсегда. Им трудно сосредоточиться даже на простых задачах, и они часто вынуждены бросать работу или уходить из школы.

Исследование, опубликованное в понедельник, дало им проблеск надежды. Пяти людям со средними и тяжёлыми травмами мозга вживили в голову электроды. Когда электроды стимулировали их мозг, их показатели в когнитивных тестах улучшились.

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

«Это первое доказательство того, что можно сдвинуть с мёртвой точки решение этой проблемы», — сказал доктор Николас Шифф, невролог из нью-йоркского медицинского центра Weill Cornell, возглавлявший исследование.

Читать далее
Total votes 14: ↑9 and ↓5 +4
Comments 2

Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить

Level of difficulty Easy
Reading time 26 min
Views 155K

Всем доброго времени суток. Я давно обещала выложить сюда подробный гайд на тему того, как можно изучать Machine Learning самостоятельно, не тратя деньги на платные курсы, и, наконец, выполняю свое обещание. Надеюсь, этот гайд станет подсказкой, которая поможет найти правильное направление новичкам, которые хотят погрузиться в нашу область.

Читать далее
Total votes 159: ↑157 and ↓2 +155
Comments 44

О хранении изображений в памяти с выравниванием

Level of difficulty Medium
Reading time 23 min
Views 4.3K

В разговорах с коллегами, а также по отдельным постам на форумах я заметил, что даже относительно опытные разработчики порой не достаточно глубоко понимают особенности хранения изображений в памяти. Если вы знаете, что такое выравнивание на границу 64-x байт, а также термины типа «длина или шаг строки (LineWidth/StepWidth, Stride)», «зазоры выравнивания (Alignment Gaps)», кроме того в курсе размеров линий кэша и страниц памяти на вашем компьютере, то вам, вероятно, не будет интересно, а остальные, особенно те, кто интересуется обработкой изображений — могут ознакомиться с предлагаемым материалом, и, возможно найдут для себя что-то новое и полезное. Под катом будет немножко кода на Си и ассемблере, пара LabVIEW скриншотов, предполагается также, что у читателя есть базовые знания OpenCV. Для экспериментов понадобится компьютер с камушком, поддерживающим AVX2.

Читать далее
Total votes 22: ↑21 and ↓1 +20
Comments 12

Семь приемов в Excel, которые делают диаграммы профессиональными

Reading time 8 min
Views 59K

Хотя сейчас я работаю в ИТ-отрасли, много лет назад я верстал рекламную газету, и с тех пор дизайн – мой профессиональный навык и увлечение за пределами профессии.

Сделать диаграммы привлекательными гораздо проще, чем вы думаете. Получить рекомендации на все случаи жизни не выйдет, но освоить несколько приемов в Excel и узнать азы теории, вы сможете за 10 минут. 

Из тридцатилетнего опыта и десятков прочитанных книг я выбрал семь полезных приемов. Их мы и разберем в этой статье в блоге ЛАНИТ.

Читать далее
Total votes 88: ↑87 and ↓1 +86
Comments 37

Что нового в .NET 8?

Reading time 4 min
Views 31K

.NET 8 вышел в релиз, значит можно начинать переносить свои проекты на новую версию. В этой статье мы рассмотрим новые улучшения и фишки: C# 12, производительность, Native AOT, GC, новые типы, направленные на повышение производительности, NuGet Audit и прочее.

Читать далее
Total votes 35: ↑35 and ↓0 +35
Comments 33

Information

Rating
Does not participate
Location
Ahrensburg, Schleswig-Holstein, Германия
Date of birth
Registered
Activity