Как стать автором
Обновить
0.74

Visual Studio *

Основной инструмент разработчика на платформе .NET

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

Индексы (Indices) в C# 8

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

Всем привет. Начиная с этой статьи начинаю цикл статей про нововведения в C# 8 версии.

Сейчас мы рассмотрим работу с индексами (Indexes). Забегая вперед, скажу, что теперь мы, C# разработчики, можем работать с индексами как в Python.

Пристегнитесь. Начинаем?

Погнали

PVS-Studio для Visual Studio 2022

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

Команда PVS-Studio пишет много статей на разные интересные темы. Но вот вопросы взаимодействия с самим анализатором затрагиваются редко. Исправим этот недочёт обзорной статьёй, описывающей плагин PVS-Studio для среды Visual Studio 2022.

Читать далее

Инструменты тестирования для .NET и кроссплатформенных приложений

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

В повседневные инструменты тестирования добавлено несколько новых полезных функций, которые, я надеюсь, улучшат ваш внутренний цикл тестирования. Чтобы узнать больше об этих новых функциях, смотрите подробности в видеоролике «Советы и рекомендации по Visual Studio» в разделе «Тестирование». Ну или можете продолжить читать эту статью!

Читать далее

PascalABC.NET, повторная проверка

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

Приветствуем всех любителей чистого кода. Сегодня у нас на разборе проект PascalABC.NET. Ранее мы уже искали ошибки в этом проекте при помощи сразу двух инструментов статического анализа, а именно плагинов для SonarQube: SonarC# и PVS-Studio. Этому была посвящена статья в далёком 2017 году. В этот раз мы решили ограничиться только C# анализатором PVS-Studio последней актуальной версии и посмотреть, какие новые ошибки можно найти в PascalABC.NET сегодня. Тем более что за это время наш анализатор стал гораздо более продвинутым и обзавелся новыми возможностями поиска ошибок и потенциальных уязвимостей в коде.


0912_PascalABCNET_2_ru/image1.png

Читать дальше →

Истории

Представляем Q# Formatter

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

За последние несколько лет, по мере развития Q#, его синтаксис развивался вместе с ним. Было внесено несколько изменений в синтаксис, которые привели к устареванию способов выполнения стандартных действий в Q#, таких как удаление круглых скобок вокруг условий цикла for. Чтобы помочь нашим пользователям обновлять свой код с помощью новейшего синтаксиса, мы добавили в QDK несколько новых функций.

Когда вы используете расширения Q# для Visual Studio или Visual Studio Code для редактирования кода Q# с устаревшим синтаксисом, рассматриваемый код будет подчеркнут зелеными волнистыми линиями, и будут доступны предложения для обновления синтаксиса. В прошлом у нас уже были предложения по обновлению каждого устаревшего фрагмента кода. В выпуске 0.21 мы добавили действие кода для обновления всего устаревшего синтаксиса в файле:

Читать далее

Представляем .NET MAUI Preview 12

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

Сегодня мы выпускаем 12 превью-версию .NET Multi-platform App UI со многими улучшениями качества и некоторыми новыми возможностями. По мере того, как мы приближаемся к выпуску нашей первой стабильной версии, баланс работы начинает смещаться в сторону улучшения качества и стабильности, хотя есть еще и несколько интересных нововведений, на которые стоит обратить внимание, в том числе:

Новая документация по значкам приложений, жизненному циклу приложений, кистям, элементам управления и Single Project; Обработчик FlyoutView реализован на Android; Добавлены обработчики совместимости для RelativeLayout и AbsoluteLayout; Добавлено свойство Z Index; Унификация .NET 6 — типы iOS; Расширенная панель инструментов Windows — без оболочки.

В этом выпуске также представлено крутое усовершенствование Shell. Давайте более подробно рассмотрим Shell в Preview 12.

Читать далее

Как я делал user-control на WPF (VS2019, c#)

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

Всех приветствую, решил выложить свой первый пост на Хабре, не судите строго - вдруг кому-нибудь да пригодится =)

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

Задача: сделать контрол кнопки (WPF): круглая, с возможностью использования в качестве иконки объекта Path, с возможностью использовать свойство IsChecked, и сменой цветовых схем при наведении/нажатии.

Читать далее

Patch Tuesday: Microsoft выпустила январские обновления безопасности

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

Microsoft выпустила первые обновления безопасности в 2022 году для закрытия 97 уязвимостей (отдельно 26 уязвимостей были закрыты в браузере Microsoft Edge), 9 из которых были классифицированы как критические, а 6 уязвимостей были обнародованы публично (0-day). Одна из уязвимостей потенциально может быть использована для сетевого червя с автоматическим распространением по сети! Ни одна уязвимость не была зафиксирована в реальных атаках.
Максимальный рейтинг по шкале CVSS среди всех закрытых уязвимостей составил 9.8 из 10.

В этой статье я расскажу о самых важных моментах январского вторника обновлений.

Узнать, как защитить свою систему

Архитектура приложений Virto Atomic Architecture — что это такое и как работает

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

Все мы знаем про такую полезную штуку в архитектуре приложений как модульность. А веб-дизайнеры знают имя Брэда Фроста, создателя атомарной концепции дизайна на основе идеи русских матрешек. Почему бы не соединить обе концепции в одну при разработке приложений, и упорядочить модули ПО в виде атомарной био-подобной структуры?

Читать далее

Интегрированный чат в Live Share для Visual Studio 2022

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

В нашей популярной фиче Live Share, доступной уже несколько лет в Visual Studio, не было чата... до сегодняшнего дня! Теперь, если есть такая необходимость, вы можете в live-режиме обсуждать с коллегами в чате работу над кодом. И для этого больше не обязательно созваниваться.

Читать далее

Как из браузера отправлять команды в COM порт?

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

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

Читать далее

Контент с .NET Conf 2021 — видео, презентации, демонстрации и многое другое

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

.NET Conf 2021 была крупнейшей .NET Conf когда-либо с более чем 80 сессиями от докладчиков со всего мира! Мы хотим сказать огромное спасибо всем, кто выступил в прямом эфире, задавал вопросы в ленте Twitter и участвовал в интерактивах. Смотрите повторы сессий и следите за репозиторием нашей конференции на GitHub, где мы собираем все слайды и демонстрации от докладчиков. Подробности под катом.

Читать далее

Представляем новый редактор Razor в Visual Studio 2022

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

С выпуском Visual Studio 2022 вы можете использовать новый редактор Razor для локальной разработки ASP.NET Core с использованием MVC, Razor Pages и Blazor. Загрузите Visual Studio 2022 и обязательно обновите его до версии 17.0.2, чтобы получить последние обновления Razor. В статье подробнее о новых фичах и дальнейших планах на Razor.

Читать далее

Ближайшие события

25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

Опыт создания сценариев в платформе электронной коммерции Virto Commerce с «Low Code» сервисом Azure Logic Apps

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

Low code development — это претендующий на тренд подход к созданию и настройке приложений. Считается, что здесь не требуется глубокого знания языков программирования. Платформы Low code используют визуальные интерфейсы для построения алгоритмов,подобно конструктору Lego. В этой статье — общие понятия о Low code development и пример интеграции программного обеспечения middleware на платформе электронной коммерции Virto Commerce, используя Azure Logic Apps.

Читать далее ...

Разбитое стекло & пиксел

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

Приехал ко мне брат. Отдохнуть, повидать родственников, посмотреть на родной город. А ему на машине заднее стекло разбили. Прямо во дворе нашего дома. Неприятно.

Читать далее

Что нового в Windows Forms в .NET 6.0

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

Мы продолжаем поддерживать и внедрять инновации в среду выполнения Windows Forms. В этой статье обсудим, что мы сделали в рамках .NET 6.0. В том числе среди улучшений: улучшения и исправления специальных возможностей; начальная загрузка приложения; обновления шаблона; больше конструкторов среды выполнения; высокий DPI и улучшения масштабирования и другое.

Читать далее

Я устал вручную удалять мобильное приложение с устройства и написал расширение для VS Code

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

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

Когда я работал над нативными Android-приложениями, меня спасал плагин для Android Studio ADB Idea. Очень удобно через шорткат можно было вызвать окошко с основными ADB командами по типу "Удалить приложение", "Принудительно завершить приложение", "Перезапустить приложение" и т.п.

Читать далее

Лучшие срабатывания статического анализатора

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

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

Читать далее

Увлекательная история о раскрашивании парных скобок — как VSCode ускорил раскраску в 10,000 раз

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

Прим. Wunder Fund: в этой статье из блога VSCode рассказана увлекательная алгоритмическая история о решении проблемы раскрашивания скобок. Господам удалось достичь значительногоускорения этого процесса. Нам самим очень нравится решать подобные задачи при работе над торговой системой, а если они вам тоже интересны, то пишите:)

Когда имеешь дело с глубоко вложенными скобками в Visual Studio Code — может быть непросто понять то, у каких скобок есть пары, а у каких — нет.

Для того чтобы упростить решение этой задачи, в 2006 году пользователь CoenraadS разработал восхитительное расширение для VS Code — Bracket Pair Colorizer, позволяющее раскрашивать парные скобки, и опубликовал его в VS Code Marketplace. Это расширение стало весьма популярным, теперь оно, с более чем 6 миллионами установок, входит в 10 самых скачиваемых расширений.

Для того чтобы решить проблемы, касающиеся производительности и точности работы расширения, в 2018 году CoenraadS выпустил расширение Bracket Pair Colorizer 2, которое тоже стало популярным и было установлено более 3 миллионов раз.

Читать далее

Начинающему сетевому программисту

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

Тема сетевого программирования является для разработчиков одной из важнейших в современном цифровом мире. Правда, надо признать, что большая часть сетевого программирования сосредоточена в области написания скриптов исполнения для web-серверов на языках PHP, Python и им подобных. Как следствие - по тематике взаимодействия клиент-сервер при работе с web-серверами написаны терабайты текстов в Интернете. Однако когда я решил посмотреть, что же имеется в Интернете по вопросу программирования сетевых приложений с использованием голых сокетов, то обнаружил интересную вещь: да, такие примеры конечно же есть, но подавляющее большинство написано под *nix-системы с использованием стандартных библиотек (что понятно – в области сетевого программирования Microsoft играет роль сильно отстающего и менее надежного «собрата» *nix-ов). Другими словами все эти примеры просто не будут работать под Windows. При определенных танцах с бубнами код сетевого приложения под Linux можно запустить и под Windows, однако это еще более запутает начинающего программиста, на которого и нацелены большинство статей в Интернете с примерами использования сокетов.

Ну а что же с документацией по работе с сетевыми сокетами в Windows от самой Microsoft? Парадоксальность ситуации заключается в том, что непосредственно в самой документации приведено очень беглое описание функций и их использования, а в примерах имеются ошибки и вызовы старых «запрещенных» современными компиляторами функций (к примеру, функция inet_addr() - https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-listen ) - такие функции конечно же можно вызывать, заглушив бдительность компилятора через #define-директивы, однако такой подход является полным зашкваром для любого даже начинающего программиста и категорически не рекомендуется к использованию. Более того, фрагмент кода в примере от Microsoft по ссылке выше.

Читать далее

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