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

C# *

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

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

Ищем ошибки в C# коде GUI-фреймворка Eto.Forms

Блог компании PVS-Studio .NET *C# *

Популярность GUI-фреймворков для .NET постоянно растёт – появляются новые, развиваются старые. Мы решили не обходить эту тему стороной и рассмотреть подозрительные места, найденные в C# коде одного из таких проектов – Eto.Forms.

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

Новости

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

Блог компании 1С JavaScript *Java *C++ *C# *

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

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

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

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

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

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

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

Блог компании SkillFactory Программирование *Алгоритмы *C# *Логические игры
Перевод
Tutorial

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

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

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

Блог компании PVS-Studio Open source *Программирование *.NET *C# *

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

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 3.1K
Комментарии 9

JSON-сериализация асинхронного стрима

.NET *ASP *C# *

Можно считать это продолжением публикации Кастомный JsonConverter: уменьшаем связность и экономим ресурсы. Там при рассмотрении списков верхнего уровня упор был сделан на десериализацию из JSON. Но чтобы что-то десериализовать, нужно сначала это сериализовать. Посмотрим, чем нам может помочь возможность сериализации IAsyncEnumerable<T> объекта.

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

Обобщенное программирование – обзор реализаций

Блог компании Издательский дом «Питер» Программирование *Java *C++ *C# *
Перевод

В большинстве сильно типизированных языков поддерживается обобщенное программирование. Круг проблем, которые решаются на этих языках, один и тот же, но сами проблемы решались в разное время разными способами, и у каждого из этих способов были свои «за» и «против». Мы рассмотрим историю реализаций обобщенного программирования, чтобы вы могли распробовать его как инженер. Наилучшего подхода не существует, любой подход – это всегда компромисс, при котором одними преимуществами жертвуют ради других. Мы рассмотрим три популярных языка, обогативших нашу индустрию новыми подходами: C++, Java, C#(.Net). Для каждого из рассматриваемых языков мы ответим на следующие вопросы:

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

Как обрабатывать необработанные исключения в ASP.NET Core Web API

Блог компании Plarium Программирование *.NET *ASP *C# *

Привет! Я Антон Антонов, Full Stack Developer из Plarium Krasnodar. Расскажу, как обрабатываю необработанные исключения в ASP.NET Core Web API, и дам примеры обработчиков ошибок, которые отвечают наиболее распространенным требованиям.

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

Подключаем к Экселю GPU и ускоряем Эксель в 300 раз

Ненормальное программирование *C# *Параллельное программирование *Visual Basic for Applications *

Попалась мне задачка оптимизации, а так как я большой фанат Экселя, то и выбор инструмента был скорым. Единственная пакость: Эксель дико медленный. Так, на одну итерацию уходило как минимум 35 минут, а таких итераций планировалось сделать 1275 (как минимум)!

Цель этого небольшого проектика – ускорить исполнение VBA скриптов задействуя все доступные мне железяки: GPU и CPU. Ну и до кучи, так как библиотека моя, была реализована многозадачность.

О, да, я хочу на это посмотреть!
Всего голосов 42: ↑42 и ↓0 +42
Просмотры 18K
Комментарии 26

Абстрактная алгебра в действии

Программирование *.NET *C# *Математика *Функциональное программирование *

В последнее время всё чаще я ощущаю математическое веяние в программировании. Нет, это не про интегралы с производными, а про что-то абстрактное, другое. Про то, что было всегда у нас под носом, но оставалось незамеченным. Наступит день - про это будут говорить на каждом углу. Но не сегодня. Сегодня мы с этим познакомимся.

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

C# Делаем поддержку «плагинов» для курсовой. Часть 1

.NET *C# *
Из песочницы

Давайте вновь создадим велосипед!

Создаю свой собственный язык разметки, так же параллельно добавляю поддержку плагинов на python для курсовой

Я буду использовать только .Net 5 для создание языка разметки, никакого Antrl!

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

Проектирование непредсказуемого интеллекта в играх. Часть 2 — интеллект толпы

Разработка игр *C# *Unity *Дизайн игр *Искусственный интеллект
Tutorial

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

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

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

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

Топ-10 ошибок, найденных PVS-Studio в проектах на ASP.NET Core

Блог компании PVS-Studio .NET *C# *

Миллионы людей используют веб-приложения, построенные на основе ASP.NET Core. Поэтому мы решили улучшить работу PVS-Studio при анализе таких проектов. Для демонстрации результата нашей работы мы проверим несколько open source проектов и представим топ срабатываний.

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

Утилизация «мусорщиком» сессий с истекшим сроком годности

.NET *ASP *C# *

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

Так что предположим, что запрос на полноценные сессии всё же имеется. И эти сессии надо как-то утилизировать после окончания их срока жизни. Навскидку можно предложить следующие решения.

Запуск параллельной задачи при очередном запросе с клиента.

Запуск специального потока.

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

Всё же осмелюсь предложить ещё одну идею.

Обновление: благодарю @Politura - комментарий о MemoryCache оказался очень полезным! Проверил и решил так и сделать.

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

Поговорим о фичах в предварительной версии C# 11

Блог компании SkillFactory Open source *Программирование *.NET *C# *
Перевод

К старту курса по разработке на C# рассказываем о новых конструкциях в предварительной версии языка C# 11. Среди них шаблоны списка, проверка Parameter на null и возможность переноса строки при интерполяции строк. За подробностями приглашаем под кат.

Читать далее
Всего голосов 15: ↑13 и ↓2 +11
Просмотры 6.4K
Комментарии 22

Роботизация для macOS по-взрослому

.NET *C# *Разработка под MacOS *
Tutorial

Несмотря на то, что на рынке существуют различные RPA-решения, большинство из них не работают на macOS. Microsoft выпускает самую распространенную операционную систему для конечных пользователей, и большинство вендоров предоставляют решения, совместимые только с Windows. При этом по данным StatCounter, macOS занимает четвертое место по доле рынка (8,25%) среди всех операционных систем.

Сегодня технология RPA (Robotic Process Automation) позволяет экономить тысячи человеко-часов за счет передачи рутинных задач роботам. До недавнего времени область применения RPA ограничивалась исключительно компьютерами под управлением Windows (если не брать в расчет компьютерное зрение «по удаленке»). В одном из прошлых постов мы с вами говорили о роботах под Linux, и вот, в декабрьской preview-версии, компания UiPath представила возможность использовать роботов под macOS! 

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

Статья написана при поддержке технического эксперта UiPath: Валентина Драздова.

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

Как не дать пользователю заснуть во время загрузки большого набора данных

.NET *ASP *C# *
Из песочницы

Одно из двух, — прошелестел он, — или пациент жив, или он умер. Если он жив — он останется жив или он не останется жив. Если он мёртв — его можно оживить или нельзя оживить.

А.Н. Толстой. "Золотой ключик, или Приключения Буратино"

Пользователю лень фильтровать запрашиваемые данные, а их бывает довольно много. Заставлять пользователя что-то фильтровать - негуманно и попахивает произволом. В таком случае пользователь сидит грустит, ругает разработчиков, давит на техподдержку. Если сделать "в лоб", сервер по запросу клиента будет собирать для отправки коллекцию объектов, загружая их из базы или ещё как-то. Потом всю эту махину он пошлёт в ответном HTTP-пакете, предварительно серилизовав в JSON, там это всё будет в один присест десериализовано в клиентские объекты, которые, наконец-то предстанут пред взором потерявшего надежду пользователя.

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

Представляем .NET 7 Preview 1

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

Мы рады объявить об очередной вехе в истории .NET. Отмечая 20-летие технологии, .NET 7 Preview 1 знаменует собой первый шаг вперед к следующим 20 годам .NET.

ASP.NET Core Preview 1 и EF7 Preview 1 также были выпущены.

.NET 7 строится на базе, созданной .NET 6, которая включает в себя унифицированный набор базовых библиотек, среду выполнения и SDK, упрощенный процесс разработки и более высокую производительность. Основные направления работы .NET 7 включают улучшенную поддержку облачных сценариев, инструменты, облегчающие обновление устаревших проектов, а также упрощение работы разработчиков за счет упрощения работы с контейнерами.

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 7.4K
Комментарии 19

Как мы создавали курс по C# и боролись за секунды

Блог компании Хекслет Блог компании Dodo Engineering Программирование *.NET *C# *

У сервиса онлайн-обучения программированию Хекслет есть собственный Open Source проект Code Basics, на котором выходят бесплатные курсы для начинающих на разных языках. Когда-то их было только два – PHP и JavaScript, сейчас уже более десятка. В компании Dodo Engeneering есть хорошая экспертиза по C#, поэтому мы вместе решили сделать курс с тренажером для тех, кто хочет начать изучение программирования именно с него. Во время написания курса оказалось, что из-за долгого холодного старта и ограничений учебной платформы все решения студентов падают.

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

Читать далее
Всего голосов 24: ↑22 и ↓2 +20
Просмотры 3.4K
Комментарии 4

Это Gaidai какой-то. Сервис HTTP сценариев

Блог компании ATI.SU .NET *C# *

Привет, Хабр, меня зовут Артем Кудряшов, некоторую кучу лет я работаю в ATI.SU — крупнейшей в России бирже грузоперевозок. В разное время я писал код, управлял командами и занимался другими весёлыми вещами. В статье, что вы видите, хочу рассказать об одном из наших сервисов с интересной функциональностью и крутым, по моему личному мнению, названием — Gaidai. Поехали.

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

Разных сообщений много: на момент написания статьи мы отправляем почти 350 типов сообщений. Вот так выглядит один из вариантов, который пользователь видит на сайте:

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

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

Работа