Обновить
88.77

C# *

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

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

В .NET 7 Preview 3 доступны обновления ASP.NET Core

Время на прочтение5 мин
Охват и читатели4.5K

Среди улучшений ASP.NET Core поддержка фильтров обработчиков маршрутов Minimal API, повышение тестируемости обработчиков маршрутов Minimal API, биндинг в контроллерах MVC и контроллерах API с помощью TryParse и не только. Материалом из блога разработчиков делимся к старту курса по разработке на C#.

Читать далее

Создание dungeon crawler'а с LeoECS Lite. Часть 1

Время на прочтение13 мин
Охват и читатели18K

Друзья, это начало нового цикла статей про создание игры жанра dungeon crawler с использованием фреймворка LeoECS Lite, и его задача – помочь вам быстро разобраться, как на практике применить LeoECS Lite для разработки игр на Unity и решить некоторые виды проблем. Перед чтением убедитесь, что вы понимаете принципы архитектурного паттерна ECS, так как отвлекаться на базовые понятия мы не будем, а перейдем сразу к практике.

Читать далее

Тестировало тестирование тестировщика, или Как мы используем и тестируем распределенную систему тестирования

Время на прочтение10 мин
Охват и читатели6.2K

Привет, Хабр!

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

Но что, если обновлений насчитывается 250+ типов? А если поддерживаемых ОС — порядка 250? И для тестирования требуется 7500+ тестовых машин? Такой вот типичный хайлоад. Который должен постоянно масштабироваться…

Я — Иван Лауре, менеджер по тестированию в «Лаборатории Касперского». Именно так, как я описал выше, выстроено «выкатывание» у нас. В этой статье я расскажу о центральной части всего процесса — как мы тестируем обновления для более чем 500 уникальных версий ПО, да и саму распределенную систему тестирования. Не сомневаюсь, что наш опыт будет вам полезен.

Читать далее

Секреты .Net-приложения в Яндекс.Облаке: Lockbox

Время на прочтение5 мин
Охват и читатели4.1K

Наверное, в любых проектах есть необходимость использования различных секретных данных - строки подключения к БД, АПИ-ключи внешних сервисов и т.д.. К сожалению, до сих пор далеко не всегда разработчики заботятся о соответствующей защите этих данных: на прошлой неделе Гитхаб даже выкатил функцию push protection, чтобы у пользователя был ещё один рубеж защиты от проникновения этих данных в репозиторий.

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

Давайте добавим работу с секретами из Яндекс.Облака в .Net Core приложение в виде одного из источников конфигурации.

Интересненько

Вот что такое тактический Git

Время на прочтение10 мин
Охват и читатели10K

Автор книг Dependency Injection in .NET («Внедрение зависимостей на платформе .NET») и Code That Fits in Your Head рассказывает о своём подходе к Git и git stash, позволяющем добиться большой гибкости в работе с кодом. Опытом Марка Симана делимся к старту курса по разработке на С#.

Читать далее

Властелин структур

Время на прочтение15 мин
Охват и читатели13K

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

Читать далее

Повторная проверка Unity статическим анализатором PVS-Studio

Время на прочтение9 мин
Охват и читатели3.4K

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

Читать далее

Переход от традиционного монолитного десктоп приложения к гибридной модели

Время на прочтение5 мин
Охват и читатели8.2K

У нас в Альфа-Банке в брокерском направлении уже достаточно давно существует терминал для профессиональной работы на бирже. Терминал представляет собой полноценное рабочее место профессионального трейдера. Есть и инструменты технического анализа, и алгоритмическая торговля (торговые роботы), и скальперский стакан. Приложение писалось и поддерживалось на протяжении длительного периода времени различными командами. В последние несколько лет в связи с активным притоком клиентов на российские торговые площадки возникла необходимость развития и доработки этого терминала.

Читать далее

Книга «Head First. Изучаем C#. 4-е изд.»

Время на прочтение2 мин
Охват и читатели19K
image Привет, Хаброжители! Стиль Head First позволяет сразу приступить к созданию собственного кода на C#, даже если у вас нет никакого опыта программирования. Не нужно тратить время на изучение скучных спецификаций и примеров! Вы освоите необходимый минимум инструментов, и сразу приступите к забавным и интересным программным проектам: от разработки 3D-игры до создания серьезного приложения и работы с данными. Четвертое издание книги было полностью обновлено и переработано, чтобы рассказать о возможностях современных C#, Visual Studio и .NET, оно будет интересно всем, кто изучает язык программирования С#. Особенностью данного издания является уникальный способ подачи материала, выделяющий серию «Head First» издательства O'Reilly в ряду множества скучных книг, посвященных программированию.
Читать дальше →

Проблемы работы с Entity Framework на Blazor Server

Время на прочтение4 мин
Охват и читатели6.2K

Blazor Server - технология для простого написания Web-систем на платформе .Net. Для удобной работы с базами данных была создана библиотека Entity Framework, которая позволяет работать программисту напрямую с моделями, не задумываясь об SQL-запросах. Но всё ли так хорошо, если соединить Blazor и EF?

Читать далее

Запуск фоновых задач в asp.net core

Время на прочтение10 мин
Охват и читатели64K

Небольшой обзор стандартных средств запуска бэкграунд-задач в аспнет приложениях — что есть, чем отличается, как пользоваться. Встроенный механизм запуска таких задач строится вокруг интерфейса IHostedService и метода-расширения для IServiceCollection — AddHostedService. Но есть несколько способов реализовать фоновые задачи через этот механизм (и ещё несколько неочевидных моментов поведения этого механизма).

Читать далее

OverScript — язык программирования, написанный на C#

Время на прочтение14 мин
Охват и читатели20K

Привет! Меня зовут Дмитрий, я написал на C# свой интерпретируемый язык программирования, который назвал — OverScript. Это си-подобный язык со статической типизацией. Сразу скажу, что это не прототип, а готовый проект. Весь код на 100% мой. Я подробно не интересовался, как написаны другие языки, поэтому вся реализация интерпретатора это моя чистая импровизация. Мой подход неконвенциональный, поэтому к техническим аспектам стоит относиться без ассоциаций с тем, что вы могли ранее видеть в других языках, несмотря на то, что некоторые вещи могут казаться знакомыми.


image

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

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

Проверка Barotrauma статическим анализатором PVS-Studio

Время на прочтение7 мин
Охват и читатели3K

Barotrauma – игра, в которой можно поуправлять подлодкой, попрятаться от монстров и даже поиграть на аккордеоне в попытке не пойти ко дну. Посмотрим, как проект, начатый инди-студией Undertow Games и продолженный совместно с FakeFish, выглядит изнутри. Для этого исследуем исходный код, преимущественно написанный на языке C#, с помощью статического анализатора PVS-Studio.

Читать далее

Собственный голосовой помощник off-line

Время на прочтение12 мин
Охват и читатели25K

Microphone вектор создан(а) storyset - ru.freepik.com

Никогда не был любителем голосового интерфейса, но пробовал дома и Amazon Echo, и Алису. Все-таки очень долго это и недостаточно надежно - произносить фразу и думать потом - правильно ли меня поняли и всё ли сделано, как я хотел.
Но после прочтения статьи и, главное, обсуждений после нее я пришел к выводу, что есть варианты, когда это правда удобно. Собственно, самым ярким мне показался пример с кухонным таймером - не хочется грязными руками что-то трогать - голосовой интерфейс тут идеален. А попробовав приложение и почитав код коллеги @janvarev я понял, что современные средства распознавания уже вышли на очень приличный уровень и легко подключаются в проекты с открытым кодом. Дальше стало интересно сделать что-то более удобное и более стабильно работающее (без обид, но проект "Ирина" у меня не весь заработал при вменяемых затратах времени и настроек там меньше, чем мне хотелось бы).

Читать далее

База данных с 1 трлн записей и опыт использования отображаемых на память файлов

Время на прочтение4 мин
Охват и читатели6.7K

До подобного момента надо ещё дожить, но однажды случается и такое. В один прекрасный день мне понадобилась БД с 1 триллионом записей. Причём, понадобилась на домашнем компьютере, где свободного места 700 гигабайт на двух дисках.

По счастью, моя БД не совсем обычная: размер записи всего 1 бит. В базе должны храниться данные о простых числах. Соответственно, вместо того, чтобы хранить сами числа, проще хранить один бит (1 - простое число, 0 - композитное). И тогда, чтобы хранить один триллион битов, нужно всего 116 ГБайт.

Однако сделав такой файл, мы получили только лишь хранилище, но не собственно БД. Нам нужен код, который будет записывать и считывать данные. Традиционный FileStream был отброшен сразу, по причине его медленности. Постоянное чередование Seek и чтения/записи по 1 байту даёт результат примерно в 100 раз худший, чем сопоставленные в памяти файлы, опытом использования которых я и хочу поделиться в этой статье.

Читать далее

Как создать telegram бот на C# быстро?

Время на прочтение6 мин
Охват и читатели176K

Как создать telegram bot на C# быстро?

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

Читать далее

Работа в Highload командах 1С сейчас: Java/С++/ C#/TS/JS  Hiring day

Время на прочтение2 мин
Охват и читатели6K

Вечером 30 марта 2022 года (среда) в формате онлайн мы проводим Java/С++/ C#/TS/JS  Hiring day.

Приглашаем всех заинтересованных в разработке на Java, С++, C#, JS,  TS принять участие!

На митапе в течение часа мы расскажем:

О разработке различных механизмов платформы корпоративных и облачных приложений, их внутреннем устройстве и принципах работы

Опыте разработки highload-решений, которые ежедневно используют миллионы людей

Читать далее

Как написать решатель «Пятнашек» на C#

Время на прочтение15 мин
Охват и читатели20K

Цель этой статьи — пробудить интерес читателей к удивительному миру и показать различные способы решения таких же интересных головоломок, как «Пятнашки». Создайте свою базу данных с шаблонами и начните решать головоломки менее чем за 50 миллисекунд. Материалом делимся к старту курса по разработке на C#.

Читать далее

Подозрительные сортировки в Unity, ASP.NET Core и не только

Время на прочтение5 мин
Охват и читатели5.1K

0928_OrderBy_Errors_ru/image1.png
Есть мнение, что опытные разработчики не допускают простых ошибок. Ошибки сравнения? Разыменования нулевых ссылок? Нет, это точно не про нас… ;) Кстати, а что насчёт ошибок сортировки? Как вы уже поняли из заголовка, с этим тоже есть нюансы.

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

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