Как стать автором
Обновить
-9
0
Дмитрий Павлов @Stalker31

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

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

Reciprocal throughput

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

Современные процессоры очень круты. Они таят в себе великое множество секретов и невероятных возможностей. И просто восхитительно, что некоторые из способностей процессоров легко продемонстрировать даже из такого высокоуровневого языка, как C#, буквально за десять строчек кода!

Читать далее
Всего голосов 76: ↑75 и ↓1+74
Комментарии39

Пишем свой Credential Provider на C# для авторизации в Windows

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

Credential Provider, используется для передачи пользовательских учетных данных в стек безопасности Windows. По умолчанию в системе присутствуют поставщики для входа через пароль, PIN-код, смарт-карту и Windows Hello. Однако что делать если они нам не подходят?

Пишем свой Credential Provider
Всего голосов 32: ↑32 и ↓0+32
Комментарии10

.NET 6 и провайдеры баз данных

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

Все материалы, которые будут показываться в ходе данной статьи будут доступны по данной ссылке https://github.com/vliashko/CommunicationWithDB. Вполне возможно, что со временем данный репозиторий будет обновляться, или, некоторые захотят сами принять участие в его развитии.

Можно ли сегодня представить разработку, будь то десктопы или веб, без использования баз?

Ну, чисто в теории можно, есть еще старенькие проекты, использующие файловую систему, идею которых можно еще увидеть в университетских лабораторных по сей день.

В чем же так плоха файловая система? Ну на самом деле, говоря на своем опыте, можно выделить следующие пункты:

1. Блокировка файла, в который идет запись

2. Отсутствие специализированных программ для работы с файлами (аналог СУБД)

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

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

Тогда давайте рассмотрим как пользоваться базами данных на платформе .NET с использованием языка C#.

Читать полностью
Всего голосов 12: ↑6 и ↓60
Комментарии13

Vulkan. Руководство разработчика. Настройка окружения

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


Я переводчик ижевской компании CG Tribe и здесь я буду публиковать перевод руководства к Vulkan API. Ссылка на источник — vulkan-tutorial.com. Это моя вторая публикация, которая посвящена переводу раздела Development Environment.

Содержание
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии9

Развёртывание Kubernetes-кластера на домашнем сервере

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

Дано: домашний сервер под управлением Debian 11 с установленным гипервизором Xen.

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

Развёртывание Debian и Xen, а также миграция с Hyper-V на Xen нескольких Windows-виртуальных машин описана в моей статье Миграция домашнего сервера с Hyper-V на Xen Project на Debian. В ней также описана конфигурация моей сети.

В данной статье я исхожу из того, что читатель имеет представление о том, что такое Kubernetes, как он работает, из каких компонентов состоит и знаком с необходимой терминологией. Многие идеи и код я брал из статьи Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal (Debian), но местами адаптировал под свои нужды и окружение. Задача данной статьи дать читателям готовое решение, требующее минимальных усилий для повторения и, вместе с тем, не требующее дополнительных инструментов (вроде Ansible или Terraform), а также показать новичкам некоторые моменты работы с Linux, Kubernetes и используемыми пакетами. Повествование разбито на несколько шагов, каждый из которых заключается в запуске скрипта и нескольких ручных командах.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии4

Работа с Big Data при помощи GPU: ускорение работы баз данных в десятки раз

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


Уже несколько лет дата-центры многих компаний работают с вычислениями с ускорением на GPU. Наша компания сейчас изучает этот вопрос, поскольку такой тип вычислений становится все более востребованным. Так, вычисления с ускорением на GPU можно (и нужно) использовать для ускорения требовательных к ресурсам приложений, созданных для работы в таких сферах, как глубокое обучение, аналитика и проектирование. Этот метод используют в дата-центрах крупных компаний, в лабораториях научно-исследовательских организациях, на предприятиях.

Благодаря ускорению на GPU работают многие сервисы, обеспечивающие работу нейронных сетей или обрабатывающие данные, поступающие с умных автомобилей. Плюсом такого метода является то, что ресурсоемкая часть приложения, которая требует большой вычислительной мощности, обрабатывается на GPU, а все остальное выполняется на CPU. В последние несколько лет стали появляться комбинированные решения, на основе которых создаются высокоскоростные базы данных. Такие решения стоит использовать, например, для визуализации крупных массивов данных.
Всего голосов 15: ↑13 и ↓2+11
Комментарии5

Алгоритм Томасуло как фактор импортозамещения российских процессоров

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

Проектированием простого процессора сейчас никого не удивишь. Любой способный студент может за пару недель написать на верилоге однотактный RISC-V или ARM процессор и синтезировать его для ПЛИС. Процессор будет работать на учебной плате и выполнять простые программы на Си и ассемблере.

Такой процессор можно постепенно усложнять: сделать его конвейерным, добавить кэш и прерывания. Но где находится граница между такими студенческими упражнениями - и взрослыми высокопроизводительными процессорными ядрами, которые стоят в сотовых телефонах и облачных серверах?

На границе между вводным и продвинутым курсом микроархитектуры CPU принято ставить внеочередное выполнение инструкций, именно оно отделяет мальчика от мужа. Эта фича впервые появилась еще в 1960-е годы в суперкомпьютерах CDC 6600 и IBM 360/91, но проникла в персоналки с PentiumPro только в 1996 году и в Apple iPhone в 2012 году.

Именно внеочередное выполнение инструкций - главная козырная карта самого горячего процессорного проекта российской микроэлектроники - двухгигагерцового RISC-V процессора для ноутбуков от компании Ядро / Syntacore. Этот проект был объявлен в прошлом году. Что с ним станет в результате известных событий?

Читать далее
Всего голосов 110: ↑89 и ↓21+68
Комментарии127

Pineapple Nano своими руками Часть 1. Сборка платформы

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

Pineapple Nano - это хакерское устройство от команды Hak5 для атак на беспроводные сети. Купить его не так просто, поэтому я решил собрать его сам. И эта статья будет как раз о том, как я прошел сквозь огонь и воду, чтобы воссоздать точную копию (ну почти) этого устройства. Поехали!

Читать далее
Всего голосов 46: ↑45 и ↓1+44
Комментарии23

Формула Бине без плавающей точки

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

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

Читать далее
Всего голосов 77: ↑76 и ↓1+75
Комментарии29

Самый древний и один из самых красивых кораблей Европы, сохранившийся до наших дней. Загадка корабля из Осеберга

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

Автор Лысый Камрад (@LKamrad)

Осебергский корабль удивительно красив. Построенный двенадцать веков назад он выглядит так, как будто совсем недавно спущен на воду, такова его сохранность. Это не реконструкция– 90% деревянных деталей подлинные, даже 60% железных болтов* те же самые, что использовались при его постройке. Нос и корма судна украшены великолепной резьбой и имеют навершия спиральной формы, имитирующие хвост и голову дракона или морского змея.

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

Читать далее
Всего голосов 137: ↑130 и ↓7+123
Комментарии62

Просто о шаблонах C++

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

Статья для тех, кто боится слова template в C++. Вводная информация с примерами и их подробным разбором.

Читать далее
Всего голосов 72: ↑71 и ↓1+70
Комментарии34

Пример применения кода Рида-Cоломона

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

Пример применения кода Рида-Cоломона

О чём это всё?

Всем привет! Наконец дошли руки описать то как я проверял на практике знания, полученные в ходе написания трёх статей об избыточном кодировании по методу Рида-Соломона (раздватри)

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

FFmpeg libav с нуля. Часть 1: знакомство и начало работы

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

Всем привет! Сегодня я хочу открыть серию статей по изучению FFmpeg libav с нуля.

Сразу уточню, что в основном статьи направлены на программирование, используя библиотеки libav*, где в качестве языка выступит С++.

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

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

Как Гомер Симпсон почти решил уравнение Великой теоремы Ферма

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

Казалось бы, что может быть общего между одной из самых популярных математических теорем, Гомером Симпсоном и Дональдом Кнутом? Как и многие другие интересные идеи и задачи, их объединяет математика.

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

Читать далее
Всего голосов 123: ↑122 и ↓1+121
Комментарии47

Алгоритмы поддержки безопасности блокчейн

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

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

Что такое блокчейн?

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

Как работает блокчейн?

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

 

Читать далее об алгоритмах безопасности...
Всего голосов 50: ↑36 и ↓14+22
Комментарии7

Легковесная криптография: близится финал, осталось 10 кандидатов. Шифры АНБ вне конкурса

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

Легковесная криптография — искусство компромисса. Как в анекдоте, где из трёх вариантов нужно выбрать любые два

Вся бытовая техника в последнее время становится «умной», оснащается сенсорами, обменивается данными с окружающими устройствами, а иногда и выходит в интернет. Чтобы обеспечить безопасность и приватность этих данных, они обязательно должны быть зашифрованы. Но тут возникает проблема: как выполнять шифрование на маленьких микросхемах со считанными килобайтами памяти и слабыми микроконтроллерами?
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии3

Вычисляем на видеокартах. Технология OpenCL. Часть 1b. Пишем для OpenCL

Время на прочтение9 мин
Количество просмотров9.2K
22 июня автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов провёл вебинар «Вычисляем на видеокартах. Технология OpenCL».



После перерыва продолжаем публикацию текстовой версии вебинара.


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

У программы для OpenCL есть две части: kernel-код и host-код — то, что выполняется на видеокарте, и то, что выполняется на компьютере. Кроме того, программу нужно скомпилировать и запустить. Всё это будет рассмотрено в сегодняшней статье. Начнём с самого интересного — напишем часть kernel.

В предыдущих сериях


Прежде чем начать, напомним основные термины из предыдущей части.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии4

Делаем устройство для мониторинга концентрации CO₂

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

Нередко мы сильно увлекаемся написанием кода настолько, что забываем подышать свежим воздухом, особенно когда нельзя держать окно постоянно открытым (ну, бывают причины). В результате этого в помещении повышается концентрация СО₂ и впоследствии начинаются неприятные побочные эффекты в виде сонливости, заторможенности и головной боли. Для решения этой проблемы существуют датчики СО₂, которые при достижении определённой концентрации скажут, что пора открыть окно. Готовые варианты конечно хорошо, но это слишком просто — сделаем своё хост-устройство для измерения и разомнём извилины.
Читать дальше →
Всего голосов 77: ↑76 и ↓1+75
Комментарии71

Консольное приложение, которое рисует сердечко на C#

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

Данный код не является оптимизированным или идеализированным, он очень простой и будет понятен новичкам(кем я и являюсь), потому надеюсь на понимание). Ну и еще это приложение было создано скорей смеха ради.

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

Настройка VSCode для программирования stm32 в Linux и не только в Linux

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

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

Всё ниже описанное является следствием моего личного опыта, и ни на какую истинность не претендует. Все советы рассчитаны не людей только решившихся на переход с AVR на STM32

Вопросы типа почему Linux, VSCode и прочее, думаю, освещения не требуют. Считаю, что все заинтересованные в вопросе, на эти мелочи давно нашли СВОЙ ответ. Однако отмечу, в Винде всё это тоже работает, проверено, и проекты спокойно переживают миграцию между машинами.

Пожалуй начнём!

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

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность