Как стать автором
Обновить
33.63
Рейтинг

Разработка под Windows *

Разработка под операционные системы от Microsoft

Сначала показывать
Порог рейтинга

Нововведения Windows 11 2022 Update (22H2)

Интерфейсы *Разработка под Windows *Софт
Перевод

Релизной версией Windows 11 2022 Update (22H2) стала 22621.382.ni_release_svc_prod1.220804-1759, которая уже доступна для скачивания.

В Windows 11 22H2 появились новые параметры для настройки раздела "Рекомендуем" на начальном экране. Хотя отключить и удалить раздел по-прежнему невозможно, теперь можно выбрать один из трех вариантов, чтобы показывать меньше рекомендаций и больше закреплений.

Читать далее
Всего голосов 44: ↑42 и ↓2 +40
Просмотры 25K
Комментарии 116

Новости

Как сделать стриминговый сервис

Разработка мобильных приложений *Разработка под Windows *
Из песочницы

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

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

Читать далее
Всего голосов 14: ↑9 и ↓5 +4
Просмотры 4.2K
Комментарии 9

Примеры кошмарного программирования вокруг нас. Выученная беспомощность

Блог компании RUVDS.com Ненормальное программирование *Программирование *Системное программирование *Разработка под Windows *

Нет в мире совершенства. Куда ни глянь — всюду костыли и компромиссы. Вроде каждый в отдельности хочет сделать как лучше, но чем больше участников — тем сильнее хаос…

Возьмём классический пример — реестр Windows. Этот странный артефакт инженерной мысли представляет некое подобие иерархической БД для хранения абсолютно всех настроек — и системных, и приложений, и драйверов. Центральное бинарное хранилище заменило массу файлов .ini, разбросанных по всей системе и должно было упростить жизнь. Но вышло наоборот. И глядя на монструозный тормозящий конструкт, возникает только один вопрос: как это исправить? Ответ тоже простой: «Если вкратце, то никак». И так во всём. Мы создаём монстров, а потом не можем от них избавиться.
Читать дальше →
Всего голосов 101: ↑84 и ↓17 +67
Просмотры 35K
Комментарии 184

IopReadyDeviceObjects: медвежья услуга от ядра и как с ней сосуществовать

Системное программирование *Разработка под Windows *

Всем привет! Столкнулся я недавно с одной интересной и не вполне понятной с первого взгляда проблемой в KMDF драйвере, разработкой которого я в данный момент занимаюсь. Опыта в этой сфере у меня не много - это первый проект на KMDF которым я занимаюсь. В деталях описывать проект не могу (всё-таки частная собственность), да это и не нужно, но идея такова: есть 2 драйвера, один из них становится в стек устройств определённого класса и предоставляет интерфейс через который второй драйвер может подписаться на добавление новых и уже подключенных устройств (несколько callback-ов), получать обратные вызовы на определённых операциях и так далее. Таким образом первый драйвер находится в системе постоянно и для своей замены требует перезагрузки и содержит минимальную логику, а второй может свободно обновляться на ходу (без перезагрузки) и принимает решения. Логика этого драйвера подразумевает создание control device для каждого устройства-фильтра, установленного в стек (нужен дополнительный функционал без коллизий с функционалом стека) - и вот тут у меня возникла проблема, на определение причин которой и дальнейшее решение я потратил довольно много времени. Статью об этом решил написать именно сегодня - как-никак это неплохой способ сделать что-то полезное на свой профессиональный юбилей - 10 лет в разработке :-)

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 1.1K
Комментарии 7

Решение тестового за день

C++ *Visual Studio *Сетевые технологии *Разработка под Windows *
Recovery mode
Из песочницы

Предисловие

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

Читать далее
Всего голосов 19: ↑11 и ↓8 +3
Просмотры 7.6K
Комментарии 55

Страх и ненависть в протоколе RDP

Блог компании RUVDS.com Системное администрирование *Разработка под Windows *

Все те из нас, кто всё ещё администрирует Windows на серверах, привыкли к протоколу RDP.

Последовательность: Win+R->mstsc зашита не то что в мышечной, а наверняка уже в генетической памяти.

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

В этой статье я расскажу, что происходило с протоколом RDP, куда всё катится и чего надо бояться.
Читать дальше →
Всего голосов 58: ↑55 и ↓3 +52
Просмотры 16K
Комментарии 41

PowerShell, HTML Agility Pack: разбор классов CSS на узле HTML-дерева

CSS *Программирование *PowerShell *HTML *Разработка под Windows *
Tutorial

Я развиваю скрипт на языке PowerShell для обхода и визуализации HTML-дерева из файла на языке HTML для анализа кода HTML на ошибки. В частности, для поиска ошибок при именовании классов CSS. Для этого сначала нужно получить набор классов из атрибута class HTML-элементов, а затем перебрать эти названия классов в цикле. Для разбора HTML я использую библиотеку «HTML Agility Pack». Также я разбираю, как можно обработать ссылки на символы (их еще называют по-английски «HTML-entities») средствами указанной библиотеки.

Читать далее
Рейтинг 0
Просмотры 1K
Комментарии 0

SophiApp, или Как мы делали опенсорс программу для настройки Windows 10 & 11

.NET *C# *Читальный зал Разработка под Windows *Дизайн

Я от лица команды хочу показать вам SophiApp — графический наследник Sophia Script for Windows: бесплатная, портативная и полностью опенсорная программа для тонкой настройки Windows 10 и Windows 11.

В этой статье я расскажу, как оброненная мной фраза в комментарии 3 года назад под моей статьей из цикла про тонкую настройку Windows развернула мою жизнь на 180°, а чуть позже — и еще одного человека.

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

Читать далее
Всего голосов 57: ↑57 и ↓0 +57
Просмотры 12K
Комментарии 103

PowerShell, HTML Agility Pack: связь с исходным HTML-файлом при его анализе

Программирование *PowerShell *Разработка под Windows *
Tutorial

В скрипте для программы-оболочки «Windows PowerShell» версии 5.1 (или «PowerShell» версии 7) в операционной системе «Windows 10» я получаю текст из файла с кодом на языке HTML для дальнейшего анализа. С помощью библиотеки «HTML Agility Pack» превращаю этот текст в объект $dom, содержащий HTML-дерево, представляющее исходный файл.

Как при анализе объекта с HTML-деревом получить сведения о местонахождении определенного узла HTML-дерева в исходном файле (номер строки, номер позиции в строке), чтобы вывести сообщение об ошибке? Оказывается, библиотека «HTML Agility Pack» обеспечивает такую возможность.

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

Разбираемся с EXCEPTION_CONTINUE_EXECUTION

C *Разработка под Windows *
Из песочницы

Механизм структурированной обработки исключений (Structured Exception Handling, SEH) позволяет не только "отловить" сгенерированное исключение, но и вернуться к инструкции, вызвавшей сбой и попробовать выполнить ее заново.

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

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 2K
Комментарии 9

История одного перехода с gcc на clang

Блог компании Timeweb Cloud C++ *Компиляторы *Разработка под Linux *Разработка под Windows *
Tutorial


На прошлой неделе, после нескольких месяцев разработки, вышла очередная версия языка программирования NewLang. Одной из технических особенностей данного релиза является переход на использования компилятора clang вместо gcc.

Данная статья описывает причины смены компилятора, некоторые особенности этого процесса, проблемы, которые приходилось решать и итоговые выводы.

Автор надеется, что эта информация может оказаться полезной и позволит сэкономить кучу времени, если заранее знать некоторые подводные камни, а так же положительные стороны от перехода на clang.
Читать дальше →
Всего голосов 17: ↑14 и ↓3 +11
Просмотры 7K
Комментарии 5

Есть ещё выдающиеся программисты, кроме Торвальдса, Беллара и Дина? Знакомьтесь — Джастин Танни

Блог компании RUVDS.com Системное программирование *Разработка под Linux *Разработка под Windows *Биографии гиков
Программистам не дают Нобелевские премии. Хотя некоторые заслуживают. В нашей отрасли есть настоящие герои с выдающимися достижениями. Эти люди не строят карьеру, перепрыгивая с одной должности на другую, прокачивая зарплату. Создаётся впечатление, что им карьера вообще не важна. В силу высокого интеллекта, врождённой любознательности и особого характера эти люди не способны выполнять скучные, рядовые задания. Только интересные или важные. И только по своей воле, не по указанию сверху.

На Хабре рассказывали про «чак норрисов» от программирования, таких как Линус Торвальдс, Фабрис Беллар и Джефф Дин. Конечно, есть и другие феноменальные таланты, их много. Зачастую эти люди далеки от публичности, никогда не давали интервью и известны только по никам. Но их объединяет одно — выдающиеся индивидуальные разработки, которые разрывают шаблон и выделяются из общей массы.

Мы собирали этот список несколько лет. Начнём с последних строчек своебразного хит-парада… Знакомьтесь — Джастин Танни (Justine Tunney), хакерша и гений системного программирования.
Читать дальше →
Всего голосов 146: ↑132 и ↓14 +118
Просмотры 33K
Комментарии 84

Flutter Flame: подходы к оптимизации

Разработка мобильных приложений *Разработка игр *Разработка под Android *Разработка под Windows *Flutter *

В предыдущей статье я разбирал проблемы Bonfire и причины, по которым он не очень подходит для сложных игр. Несмотря на то, что чистый Flame намного легче, там тоже не всё так гладко. В этой статье я поделюсь своими рецептами увеличения производительности игры и распишу причины, почему это работает. Хочу сразу заметить, что среди этих рецептов нет серебряных пуль, и маловероятно получить существенный буст, применив только что-то одно. Однако в комплексе они достаточно эффективно работают – проверено часами медитации над CPU-профайлером.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 1.4K
Комментарии 5

PowerShell: обход и визуализация HTML-дерева из файла

PowerShell *Алгоритмы *HTML *Визуализация данных *Разработка под Windows *
Tutorial

Вывод HTML-дерева из локального файла в окно программы-оболочки «Windows PowerShell» версии 5.1 (или в окно программы-оболочки «PowerShell» версии 7) с помощью скрипта на языке PowerShell в операционной системе «Windows 10». Используется библиотека «HTML Agility Pack».

В качестве упражнения в алгоритмах и структурах данных рассмотрено несколько способов обхода и вывода HTML-дерева: NLR (прямой с приоритетом обхода потомков слева направо), NRL (прямой с приоритетом обхода потомков справа налево), LRN (обратный). Примеры практической реализации.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 3.2K
Комментарии 14

PowerShell: HTML Agility Pack и AngleSharp

Программирование *.NET *PowerShell *Оболочки *Разработка под Windows *
Tutorial

Как получить и использовать библиотеки «HTML Agility Pack» и «AngleSharp» для создания простого парсера HTML в скрипте для программ-оболочек «Windows PowerShell» версии 5.1 и «PowerShell» версии 7 в операционной системе «Windows 10». Приведен простой пример кода для обеих библиотек.

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Просмотры 1.3K
Комментарии 6

Tkinter, раскрытие потенциала. + Игра на рабочем столе

Python *Разработка под Windows *
Из песочницы

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

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

Если вы плохо знакомы с Tkinter, вот прекрасный курс, рекомендую >>>

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 5.3K
Комментарии 18

Философия борьбы с NAT

C++ *Сетевые технологии *Серверное администрирование *Разработка под Linux *Разработка под Windows *

Приветствую всех.

В этом посте я расскажу о назначении и устройстве небольшой, но полезной утилиты plexus, работа над исходной версией которой недавно завершилась. Утилита написана на C++, но этот материал будет интересен не только и не столько пишущим на плюсах, но и тем кто имеет отношение к сетевому программированию.

Небольшая ремарка.

Все мы видим как радикально изменила мир цифровая революция. Весь мир, без преувеличения, переселился в Интернет. Первыми были ученые и программисты, за ними последовала продвинутая молодежь, далее пришел бизнес и все закрутилось. Реклама, бурное развитие социальных сетей, появление IT гигантов. С опозданием и скрипом, чертыхаясь, порой как слон в посудной лавке, подтянулось и государство. Однако, если в 90-х и 00-х Интернет был своеобразной территорией свободы и даже анархии, то теперь он все больше становится похожим на Матрицу, ну или некоторое множество её вариаций. Парадокс в том, что Интернет задумывался как децентрализованная система, но в социальном его воплощении движется в сторону гиперцентрализации. Торрент, Tor, криптовалюты это скорее история ярких бунтов на корабле подтверждающих неоднозначность его курса. Причин такому развитию много, но главная пожалуй в том, что Сеть при всех возможностях расширяющих социальные границы это еще и гигантские возможности по сбору и анализу информации, и как следствие торговля и манипулирование информацией и даже формирование информационных потоков. И все это умножается с развитием ИИ. Даже посто чувствовать себя рыбкой в аквариуме не очень приятно, не говоря уже о прочих угрозах. Виртуальная реальность, хоть и является проекцией реальной жизни, но сильно обделяет нас одной важной естественной возможностью из реального мира. Это возможность устанавливать и развивать связи без посредников. Распределенные системы построенные на peer-to-peer связях в социальном сегменте Сети пока скорее экзотика. Исключение разве что криптовалюты. Тем не менее непрерывные скандалы с утечками персональных данных, слежками, блокировками, модерациями и манипуляциями в социальных сетях, на мой взгляд формируют соответствующий социальный запрос. С чисто технической стороны, одним из препятствий тормозящим многие годы широкое развитие распределенных систем является все никак не уходящий IPv4 и порожденный им NAT. Собственно об этом мы дальше и поговорим. Кому интересно съедаем красную пилюлю и отправляемся в суровый Зион. Синяя пилюля вернет вас назад в мир сладких грез.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 4.8K
Комментарии 16

Использование цвета в терминале

PowerShell *Оболочки *Usability *Разработка под Windows *История IT
Tutorial

Я пишу небольшие скрипты для работы в программах-оболочках «Windows PowerShell» версии 5.1 и «PowerShell» версии 7 в операционной системе «Windows 10». Иногда тянет подсветить текстовый вывод в консоль разными цветами. В этой статье я хочу рассказать о паре грабель, на которые можно при этом наступить.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 4.7K
Комментарии 5

PowerShell: парсер HTML, устаревшие методы

Программирование *.NET *PowerShell *Оболочки *Разработка под Windows *
Из песочницы

Обзор двух устаревших методов преобразования кода на языке HTML в объект (HTML-парсер) на скриптовом языке PowerShell в операционной системе Windows 10.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 2.7K
Комментарии 5

Вклад авторов

Работа