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

.NET *

Хаб со знаниями про NET Framework

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Высокопроизводительная вставка с помощью SqlBulkCopy с IDataReader

.NET *SQL *C# *
Из песочницы
Перевод

SqlBulkCopy можно использовать в трех вариантах: вставка данных, представленных в виде DataTable, массива DataRowили IDataReaderэкземпляра. В этой статье я продемонстрирую две реализации IDataReaderинтерфейса, которые используются в сочетании с SqlBulkCopyвысокопроизводительной вставкой в ​​базу данных. Два других варианта похожи друг на друга и могут использоваться для относительно небольших объемов данных, поскольку они требуют, чтобы все записи были предварительно загружены в память перед их передачей SqlBulkCopy. Напротив, этот IDataReaderподход более гибкий и позволяет работать с неограниченным количеством записей в «ленивом» режиме, что означает, что данные могут передаваться SqlBulkCopyна лету так быстро, как сервер может их использовать. Это аналогично подходу IList<T>vs.IEnumerable<T>.

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

Я не могу спроектировать архитектуру своего интернет-магазина или как я пишу «под клиента»

Разработка веб-сайтов *Программирование *.NET *Разработка под Windows *

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

Читать!
Всего голосов 15: ↑4 и ↓11 -7
Просмотры 3.7K
Комментарии 14

Разработка кроссплатформенного приложения на Avalonia для Raspberry Pi с использованием Github Action

.NET *Яндекс API *C# *GitHub Разработка на Raspberry Pi *
Из песочницы

Вступление

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

Примерный план был такой: приобрести Raspberry PI 3 и экран, подключить его к интернету, написать приложение, повесить на стенку и пользоваться с удовольствием.

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

Для решения проблемы, я пообщался в чатах, почитал в интернете несколько советов и выбрал для себя оптимальный способ развёртывания десктопного кроссплатформенного приложения.

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

Выбор технологий для разработки и настройка Raspberry Pi

Для решения поставленных задач, нам потребуется ряд технологий, а именно:

-        Кроссплатформенный фреймворк для работы логики и GUI приложения;

-        ПО для автоматического развертывания приложения;

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

CI/CD для Dynamics CRM на базе Azure DevOps. Часть 2. Continuous Deployment

.NET *CRM-системы *Microsoft Azure DevOps *

В прошлой статье я рассказал как собрать CI часть пайплайна непрерывной поставки CI/CD на базе Azure DevOps Pipelines для Microsoft Dynamics CRM. Сегодня же поговорим о CD (Continuous Deployment) части.

Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 646
Комментарии 0

Нагрузочное тестирование сайта на Microsoft Azure

Тестирование IT-систем *.NET *Microsoft SQL Server *Microsoft Azure
Из песочницы

В последние лет пять про облачные технологии слышно все чаще. Microsoft и Amazon отчитываются о высоком росте доли облачных сервисов в отчетах о прибыли. Российский Яндекс относительно давно продвигает свое Облако. К этому подключился и Сбер со своим облачным продуктом. Часто можно услышать и о других, менее крупных игроках.

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

Цель этой статьи можно выразить в 2х пунктах:

1. С одной стороны мы познакомимся с тарифными планами службы веб-приложений и службы хостинга баз данных

2. С другой стороны мы проведем нагрузочное тестирование тремя стратегиями тестирования в разрезе разных тарифных планов.

Перейдем к эксперименту
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.4K
Комментарии 7

Реализуем рефлексию при помощи source generators

Высокая производительность *Ненормальное программирование *.NET *C# *

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

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

48 полноценных бесплатных книг для программистов (happy developer's day)

Open source *Программирование *.NET *Читальный зал DevOps *
Tutorial

Привет, Хабр! Немного запоздало (ко дню программиста) делюсь подборкой бесплатных книг по программированию. Все они полезные, уровень скорее профессиональный, хотя и для развития от базового тоже подойдет, но, к сожалению, на английском. Среди тем книг: .NET, Алгоритмы, Android, iOS, Angular, C, C++, C#, JS, Linux, Python. В целом, найдется почти любая тема, которая приходит в голову.

Дисклеймер. Все эти книги взяты с одного ресурса, который существует за счет донейшенов. Получить книги можно без осуществления донейшенов, ресурс полностью бесплатный, пожертвования опциональны. Все книги написаны на основе контента со StackOverflow и являются код-ориентированными. Книги со временем обновляются. По ссылкам -- книги, актуальные на 15.09.2021.

Читать далее
Всего голосов 83: ↑82 и ↓1 +81
Просмотры 44K
Комментарии 47

Делаем быстрый поиск по неточному совпадению среди 100 миллионов товаров

Поисковые технологии *.NET *Алгоритмы *C# *Разработка под e-commerce *
Tutorial

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

Мы делаем проект по управлению большими каталогами товаров, и нам потребовалось быстро искать товары по неточному совпадению.

Забегая вперед, скажу, что от идеи до рабочего решения на продакшене прошло пять часов.

Исходная ситуация такова: таблица в MS SQL базе, 50 миллионов записей, записи добавляются постоянно, удаляются или обновляются крайне редко. Средняя длина названия товара составляет 64 символа. Поиск по неточному совпадению работает, для этого используются триграммы и полнотекстовый индекс по столбцу с триграммами. Ранжирование результатов осуществляется при помощи функции CONTAINSTABLE. Результаты получаются релевантные, но поиск работает откровенно медленно, 2-5 секунд на запрос, в зависимости от длины запроса. Мы хотим ускорить его раз в 20, а лучше в 100 подручными средствами.

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

Асинхронные потоки от Стивена Клири

Блог компании JUG Ru Group Программирование *.NET *C# *Конференции


Про Стивена Клири можно сказать «он всерьез занялся многопоточным программированием еще до того, как это стало мейнстримом». Клири стал палочкой-выручалочкой для тысяч разработчиков, терпеливо объясняя на StackOverflow, почему программы не работают и как их исправить.


Еще в 2019-м на нашей конференции DotNext Стивен рассказал об асинхронных потоках: чем они могут быть полезны, чем отличаются от существующих библиотек вроде System.Reactive и RxJS, а также как задействовать их в проектах.


Спустя пару лет этот доклад остается полезным — поэтому теперь, в преддверии нового DotNext, мы решили сделать для Хабра текстовый перевод доклада Стивена. Видео тоже есть под катом. Далее повествование будет от лица спикера.

Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 7.7K
Комментарии 13

Самодельный стратостат. Часть 2

.NET *Разработка на Raspberry Pi *DIY или Сделай сам

Vostok-3b view


Long, long time ago… Нет, не так. 4 месяца назад я рассказал вам, как из клея и резиновых сапог создать с нуля свой стратостат с телеметрическим модулем и видеокамерой. Я так же описал наш опыт запуска и поиска этого метеозонда, обозначив несколько возникших проблем. Что ж. Мы анализировали, анализировали и доанализировались до четвертого шара. И сейчас я расскажу вам, что произошло за это время, почему он четвертый, и где пропавшие два. Эта часть будет менее технической, т.к. изменений конструкции почти не было, но те что были — имеют значение. Если вы вне контекста, то эту часть советую читать только после прочтения первой (хотя бы технических разделов). Ссылка на первую часть ниже. Будет много фото, видео и графиков. Поехали?

Читать дальше →
Всего голосов 72: ↑71 и ↓1 +70
Просмотры 12K
Комментарии 94

Топ-10 докладов DotNext 2021 Piter

Блог компании JUG Ru Group Высокая производительность *.NET *Конференции

Весной мы провели DotNext 2021 Piter. А теперь, пока готовим следующий DotNext (пройдёт 21-22 октября), выложили на YouTube видеозаписи весеннего.

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

Если вы .NET-разработчик, то почти наверняка под катом есть что-то, полезное для вас: там и перформанс, и глубокая отладка, и БД с разных ракурсов, и даже детективное расследование.

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

Почему я ненавижу JS или как я в 15 лет переписывал свой интернет-магазин

JavaScript *Программирование *.NET *Node.JS *C# *

Я написал интернет-магазин для магазинов мяса на Blazor Server. Попробовал переписать его на React + Node.

Сейчас расскажу, почему после этого я так возненавидел JS...

Читать, почему я ненавижу JS
Всего голосов 72: ↑28 и ↓44 -16
Просмотры 15K
Комментарии 89

Blazor WebAssembly: динамическое создание компонентов по JSON описанию

.NET *ASP *C# *WebAssembly *
Tutorial

В заметке описан способ динамического добавления на страницу компонентов по JSON-описанию с помощью DynamicComponent из ASP.NET Core 6.0 (в настоящее время в статусе Preview).

Динамическое создание компонентов пригодится например при реализации конструктора форм:

• Форма описывается JSON-ом;

• Элементы (или контролы) формы не ограничены предустановленным набором. Контролы можно добавлять, в том числе подгружать из других dll-библиотек.

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

Повысьте свою продуктивность с помощью расширений Productivity Power Tools в Visual Studio 2022

Блог компании Microsoft Программирование *.NET *Visual Studio *C# *

Visual Studio 2022 уже здесь, и ее можно настраивать еще удобнее, чем когда-либо. Однако этот опыт может быть неполным без необходимых расширений, которые вы знаете и любите. Поскольку существующие расширения продолжают переноситься, мы рады сообщить, что один из самых популярных и ожидаемых наборов расширений теперь доступен для загрузки: инструменты повышения производительности для Visual Studio 2022!

Пакет Productivity Power Tools (PPT), разработанный командой VS, представляет собой набор расширений, которые повышают вашу общую продуктивность и эффективность в Visual Studio. Этот пакет расширений бустит вашу продуктивность с самого начала, позволяя установить весь пакет сразу, а не по отдельности. Не уверены, подходят ли вам расширения PPT? Давайте посмотрим на некоторые расширения пакета, которые могут сэкономить ваше время и снизить утомление при работе в VS.

Read more
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 3.6K
Комментарии 6

Представляем .NET MAUI Community Toolkit (Preview)

Блог компании Microsoft .NET *Разработка мобильных приложений *C# *Xamarin *

Команда Community Toolkit рада объявить о первых предварительных выпусках двух новых наборов инструментов .NET Multi-platform App UI (.NET MAUI): CommunityToolkit.Maui и CommunityToolkit.Maui.Markup.

Как было объявлено в прошлом месяце, эти библиотеки являются развитием Xamarin Community Toolkits. Они содержат .NET MAUI Extensions, Advanced UI/UX Controls, Effects и Behaviors, чтобы облегчить вам жизнь в качестве .NET MAUI-разработчика.

Функции, которые вы добавляете в .NET MAUI Toolkit, однажды могут быть включены в официальную библиотеку .NET MAUI. Мы используем наборы инструментов сообщества, чтобы представить новые функции, и тесно сотрудничаем с командой разработчиков .NET MAUI, чтобы выбирать функции для добавления.

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

Ускоряем запуск приложений с .NET 6, .NET на холодильнике и многое другое

Блог компании Samsung Open source *.NET *Компиляторы *Разработка под Tizen *

Данная статья содержит небольшое введение в JIT-компиляцию и .NET Core (отныне .NET 5, .NET 6 и так далее), а также несколько практических примеров ускорения запуска приложений на .NET. Данные советы могут быть полезны как для приложений, запускаемых на больших многоядерных x64 серверах, так и для приложений, запускаемых на ARM чипах с малым числом ядер. Например, подобные оптимизации используются в операционной системе Tizen, об этом далее.

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

Печать при помощи API nanoCAD

Блог компании Нанософт .NET *API *CAD/CAM *C# *
Tutorial

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

Этой статьей мы запускаем цикл материалов, посвященный API печати nanoCAD, в котором предложим ответы на традиционные вопросы начинающих САПР-программистов. Начнем с того, что разберемся, как программно отправить чертеж на печать.

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

Как Visual Studio 2022 съела 100 Гб памяти и при чём здесь XML бомбы?

Блог компании PVS-Studio Информационная безопасность *.NET *Visual Studio *C# *

0865_VS2022_XMLBomb_ru/image1.png


В апреле 2021 года Microsoft анонсировала новую версию своей IDE – Visual Studio 2022, попутно объявив, что она будет 64-битной. Сколько мы этого ждали — больше никаких ограничений по памяти в 4 Гб! Однако, как оказалось, есть нюансы...

Читать дальше →
Всего голосов 59: ↑56 и ↓3 +53
Просмотры 26K
Комментарии 29

Техники обработки отказов сервиса в микросервисных архитектурах, или Альтернативы Circuit Breaker

Блог компании Аркадия Программирование *.NET *Microsoft Azure Распределённые системы *

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

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

Автоматическое управление номером версии c помощью Azure DevOps

.NET *Git *Microsoft Azure GitHub DevOps *
Из песочницы

В этой статье я расскажу, как мы организовали последовательное автоматическое увеличение номера версии приложения при выполнении коммита в ветку main с помощью Azure DevOps Pipeline.

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

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

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