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

C# *

Объектно-ориентированный язык программирования

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

«Внешние» сортировки: что это, зачем это и как это реализовать?

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 2.5K

Статья про внешние сортировки слиянием. Что это вообще такое, зачем это нужно и как это реализовать? На все эти вопросы я постарался ответить в данной статье, а также привёл примеры кода, написанного на C# 11.

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

Новости

C#: [required] keyword, что это?

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 5K

Итак, после двухлетнего ожидания и многих обещаний мы можем пощупать LTS версию свежего .net 8, более менее спокойно мигрировать наши кодовые базы и потестировать от всей души свежую версию языка!

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

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

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

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

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

В каких аспектах улучшилась производительность в ASP NET Core 8

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

ASP.NET Core 8 и .NET 8 обогатились многочисленными потрясающими нововведениями, благодаря которым повышается производительность. В этом посте мы подчеркнём некоторые улучшения, сделанные в ASP.NET Core, и покажем, как с их помощью можно нарастить скорость и эффективность работы веб-приложения. Этот пост можно считать продолжением Performance improvements in ASP.NET Core 7, выходившего в прошлом году. Естественно, при его подготовке я также вдохновлялся постом Performance Improvements in .NET 8. Многие из перечисленных улучшений также прямо или косвенно способствуют повышению производительности ASP.NET Core.

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

Истории

Книга «Blazor в действии» в правильном переводе команды DotNetRu

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

Совместно с издательством ДМК Пресс мы, сообщество DotNetRu, рады сообщить об окончании работы над переводом новой книги «Blazor в действии» Криса Сэйнти.

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

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

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

Гуманитарий с 0 знаний в программировании. 3 часть. Первые шаги в C# (и слегка Unity)

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

Фрустрация + неизвестность + подготовка к госам/диплома + изучение C# = достаточный уровень напряжения и стресса.

Что этот ждуниор нам расскажет...
Всего голосов 16: ↑7 и ↓9 -2
Комментарии 20

Использование расширения VS Code «PVS-Studio» для эффективной борьбы с ошибками в C# коде

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

VS Code — это знакомый многим редактор кода, главная особенность которого — возможность дополнить свой функционал с помощью множества полезных расширений. Одно из них теперь помогает эффективнее находить ошибки не только в C, С++, но и в C# коде.

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

Оплата в Telegram | API Yoomoney С#

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

Как принимать платежи, узнать информацию о счете, историю платежей и др. используя библиотеку yoomoney-api и C#.

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 25

EF Core. Как 1 строчка может добавить x4 к быстродействию запросов к БД?

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

Многие, кто использует EF Core в работе в качестве ORM (Object-Relational Mapping) встречаются с множеством прелестей этого инструмента.

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

Читать далее
Всего голосов 16: ↑9 и ↓7 +2
Комментарии 32

Дизайним абилки как в X-COM

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

Через абилки в X-COM реализована большая часть взаимодействия оперативников с окружением во время миссий. Стрельба, перезарядка, навыки, активация предметов, важных для цели миссии, и даже открытие дверей сделано через абилки.

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

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

Узнать как
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 5

.NET 7 против российской криптографии. Часть 2. Штампы времени

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 7.4K

Практически неотъемлемой частью формирования электронной подписи стало формирование штампов времени (TS) на подпись. С их помощью обеспечивается доверенное подтверждение времени подписания документа. Со штампами времени в .NET 7 та же беда, что и с CMS-сообщениями - отсутствие нативной поддержки российских алгоритмов хэширования и электронной подписи на уровне фреймворка. Но, благо, старый добрый WinAPI и здесь поможет обойти проблему.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 8

Как я писала программу на C#, которая шифрует текст по принципу «Квадрат Полибия»

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 6.3K

В Древней Греции (2 век до н.э.) был известен шифр, называемый "Квадрат Полибия". Шифровальная таблица представляла собой квадрат с пятью столбцами и пятью строками, которые нумеровались цифрами от 1 до 5. В каждую клетку такого квадрата записывалась одна буква. В результате каждой букве соответствовала пара чисел, и шифрование сводилось к замене буквы парой чисел. Для латинского алфавита "Квадрат Полибия" имеет вид:

1 2 3 4 5

1 A B C D E
2 F G H J,I K
3 L M N O P
4 Q R S T U
5 V W X Y Z

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

Вообще "Квадрат Полибия" может иметь разный вид, но сегодня поговорим о создании программы с данной ранее таблице. Мы будем делать нашу программу в Visual Studio 2019, но для каких-нибудь 2020 и т.п. тоже подойдет.

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

И так, нам для работы нужны будут следующие библиотеки:

System;//основная
System.Collections.Generic;//основная
System.Linq;//основная
System.Text;//основная
System.Threading.Tasks;//основная
System.IO;//для записи и чтения файла
System.Threading;//основная

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

Читать далее что-то интересное
Всего голосов 27: ↑10 и ↓17 -7
Комментарии 41

Как провести курс для разработчиков (за 1.5 млн) в маленькой компании и не сойти с ума

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

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

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

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

Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
Яндекс Backend Tour
Дата 13 – 26 ноября
Время 18:00 – 23:00
Место Москва Нижний Новгород Екатеринбург Новосибирск Санкт-Петербург Онлайн
Национальный рекламный форум
Дата 15 – 17 ноября
Время 10:00 – 19:30
Место Москва
Онлайн IT HR-конференция HR42
Дата 17 – 18 ноября
Время 10:00 – 14:00
Место Онлайн
Импульс Т1
Дата 17 ноября
Время 13:00
Место Иннополис Онлайн
SMM TRENDS
Дата 22 ноября
Время 14:00 – 19:00
Место Онлайн
HighLoad++ 2023
Дата 27 – 28 ноября
Время 9:00 – 20:00
Место Москва Онлайн
Business Code Conference
Дата 30 ноября
Время 17:30 – 00:00
Место Москва
Импульс Т1
Дата 1 декабря
Время 12:30
Место Москва Онлайн
YaTalks 2023 — главная конференция Яндекса для IT сообщества
Дата 5 – 6 декабря
Время 9:00 – 23:59
Место Москва Белград Онлайн

Microsoft PowerToys: Король GitHub среди C# проектов с C++ ошибками

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 8K

Microsoft PowerToys – это мощный и полезный инструмент. Он не только упрощает некоторые сценарии работы с Windows, но и привносит новые. А еще он занимает первую строчку топа по звездам на GitHub среди C# проектов. Посмотрим, насколько хорошо пишут код его разработчики, и узнаем, при чём здесь C++!

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

Микросервис отправки писем через smtp Yandex .Net Web Api MailKit

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

Эта статья предназначена для новичков и рассматривает микросервис отправки писем через smtp Yandex с использованием .Net Web Api и MailKit. В ней будет рассмотрено, как настроить и использовать данный микросервис для отправки писем с помощью почтового сервиса через существующий почтовый ящик Яндекса.

Ссылки для понимания и работы

GitHub Документация Яндекс

Дерево проекта:

Читать далее
Всего голосов 11: ↑5 и ↓6 -1
Комментарии 16

C# делегаты изнутри. Можно ли расширить С++ стандарт для поддержки делегатов в стиле C#

Уровень сложности Сложный
Время на прочтение 13 мин
Количество просмотров 6.2K

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

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

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

CRC — это просто (деление столбиком)

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

Целостность можно достичь различными способами. Например, чек-суммами. Вот как раз была такая задача - обеспечить целостность с помощью чек-сумм.

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

Но это простой путь слишком просто - так не интересно (да и лишних часов на таску надо тоже поставить). Поэтому решил усложнить себе жизнь разобраться в работе CRC!

Читать далее
Всего голосов 27: ↑26 и ↓1 +25
Комментарии 8

Уязвимость XXE в .NET 6 SDK: с чем боролись…

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


Современный .NET даёт разработчикам защиту от XXE из коробки: парсишь себе XML и не забиваешь голову всякими DTD, сущностями и связанной с ними безопасностью. Разве не прекрасно? Однако жизнь — штука с иронией...


Под катом — разбор по кусочкам XXE из .NET 6 SDK: код, причины дефекта безопасности, фикс.

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

Архитектура unity проектов

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 7.1K

За всю карьеру удалось поработать на множестве игровых проектов в качестве лида. За более чем 5 лет удалось насмотреться на разные подходы к созданию проектов.

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

Не волнуйтесь, никаких SOLID и других изотерических практик. Коротко, по делу, подкрепленное использованием на нескольких проектах.

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

Мал, да удал. ASCADA. Простейшая система диспетчеризации (SCADA) для Arduino и других микроконтроллеров

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

Я, как любой другой любитель «поковыряться» в различных железках, связанных с датчиками, микроконтроллерами и сопутствующих штуках, несколько лет назад столкнулся с необходимостью связать очередную микроконтроллерную историю с ПК, а именно, мне нужно было выводить в реальном времени значения различных сигналов с микроконтроллера на дисплей компьютера в виде различных графиков, прогресс‑баров, а также, с помощью кнопок и ползунков управлять моим «железом».

Имея достаточный опыт работы с промышленными SCADA‑системами было принято написать свою! Да такую, чтобы с ней справился совсем уж начинающий программист.

Рад поделиться своими наработками и буду вдвойне рад если это пригодится еще кому‑то еще кроме меня!

Узнать подробнее про ASCADA
Всего голосов 25: ↑25 и ↓0 +25
Комментарии 45

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

Работа