Как стать автором
Поиск
Написать публикацию
Обновить
108.62

C# *

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

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

Разбор рендера фейковых теней (и не только) в Танки Онлайн

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

Привет! Меня зовут Артур, я работаю разработчиком в команде Unity компании Альтернатива Гейм. В этой статье я расскажу, как мы реализовали технику фейковых blob-теней в нашей игре Танки Онлайн на Nintendo Switch, используя проекционные меши, а также о том, какие еще применения мы нашли для этой техники.

Читать далее

PVS-Studio в разработке на Unity: новые специализированные диагностики

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

По сей день Unity остаётся популярен у тысяч разработчиков. На этом движке созданы многие популярные игры, такие как V Rising, Beat Saber, Hearthstone, Genshin Impact и прочие. Насколько полезен был бы анализатор PVS-Studio разработчикам таких проектов? Какие ошибки и возможности для оптимизации кода он мог бы помочь найти? Давайте узнаем!

Читать далее

Педагогика на роботах: может ли помочь RPA в обучении программированию?

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

Привет! Я Кирилл Пронин, разработчик PIX RPA из PIX Robotics. А еще я семь лет преподавал основы программирования детям в частных технопарках в рамках дополнительного профессионального образования, а также студентам колледжей и вузов. Чтобы завлечь детей (и упростить работу себе — но об этом чуть позже) я стал внедрять программных роботов в процесс обучения. И понял, что RPA — отличная платформа для старта в разработке. Любой. Но обо всем по порядку. Здесь я расскажу, как продукт по написанию программных роботов может сделать обучение более эффективным и увлекательным, а также проанализируем, какие педагогические методы могут быть адаптированы для работы с RPA. Кроме того, я расскажу о собственном опыте внедрения этих технологий в образовательный процесс и дам несколько полезных советов, которые, надеюсь, помогут вам в вашей практике!

Читать далее

.NET Digest #6

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

Добро пожаловать на шестой выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! В этот раз набралось множество нового материала, так ещё и вышла предварительная версия .NET 10. Команда PVS-Studio рада представить вам подборку самых интересных и полезных материалов. Поехали!

Читать далее

Переезд с TeamCity на GitLab CI + K8s

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

Привет, Хабр! Меня зовут Даниил Мильков, я старший C# разработчик. Сразу хочу предупредить читателей, что про взаимодействие с k8s здесь сказано достаточно мало, разве что в разделе Kubernetes и PVC. На эту тему будет отдельная статья.

Начнём. Однажды наша команда решила перейти с TeamCity на GitLab CI…

Читать далее

Разработка конструктора для конфигурирования производственных этикеток в системе второго уровня TWS ТПЦ

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

В статье представлен опыт создания специализированного редактора этикеток для технологического персонала Трубопрокатного цеха (ТПЦ), направленного на устранение ограничений стандартного решения Danieli. Ранее процесс создания шаблонов для различных ГОСТов требовал ручного проектирования уникальных макетов, что снижало гибкость и увеличивало трудозатраты. Разработанный конфигуратор позволяет динамически формировать этикетки на основе универсального ZPL-шаблона, интегрирует параметры ГОСТ, а также обеспечивает централизованное хранение и доступ к шаблонам через систему TWS. Реализация включает визуальный интерфейс для операторов, логику динамической подстановки данных (вес, длина, сорт и др.) и поддержку нормативных стандартов.

Читать далее

Moq: пара фич для упрощения тестов, о которых знают не все

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

Пишете unit-тесты в .NET? Значит, скорее всего, пользуетесь Moq. На первый взгляд, это простой и легковесный фреймворк, про который все всё знают.

Но знаете ли вы, как сделать ваши тесты проще? В этой статье я расскажу о нескольких фичах Moq, которые помогут сделать ваши тесты чище, лаконичнее и удобнее для сопровождения. Погнали!

Читать далее

Copy-paste на большом экране: разбор ошибок и странных мест Radarr

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

Писать одно и то же — невероятно муторное занятие! Поэтому программисты регулярно используют copy-paste, но, помимо экономии времени, также растет и количество ошибок. Чтобы в этом убедиться, мы разберём ошибки и странные места проекта Radarr.

Читать далее

Как превратить сырые данные в аналитический отчет

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

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

Читать далее

Реверсивный Proxy в C#

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

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

Сегодня расскажу о паттерне «Реверсивный Proxy» на примере онлайн‑магазина кормов для котиков. Суть паттерна проста: вместо обычного прокси, который просто передаёт вызовы, мы можем динамически менять логику выполнения методов. Под катом — теория, примеры и объяснение кода.

Читать далее

XR-технологии на практике: создаем иммерсивное приложение в Unity

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

Будущее за иммерсивными технологиями? Уже сейчас они стремительно развиваются и находят применение в различных сферах жизни — здравоохранении, образовании, развлечениях и бизнесе. Расширенная реальность, XR (Extended Reality) открывает новые горизонты взаимодействия человека с окружающим миром, объединяя виртуальную (VR), дополненную (AR) и смешанную реальность (MR). 

Привет, Хабр! Меня зовут Андрей, я С#-разработчик в компании SimbirSoft. В этой статье хочу поделиться практикой создания простых приложений в Unity, где реализуются XR-технологии. Для наглядности и более детального понимания особенностей разработки рассмотрим их применение в промышленной сфере на примере станка TV16. По нашему замыслу (с командой) с помощью XR-технологий можно демонстрировать его потенциальным клиентам, а также обучать новых сотрудников.

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

Сортируем сотни млн строк в разы быстрее библиотечных алгоритмов. А не замахнуться ли нам на ммм… на O(n)?

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

Уважаемые читатели, в своей разработческой деятельности я люблю творчески рассуждать за пределами общепринятых рамок, ограничений, постулатов, мнений влиятельных экспертов и т. п., пытаясь рассуждать как можно шире, заглядывать за «горизонт». Увлечение такое. Не только на работе (там, конечно, приходится считаться с ограничениями — с дисциплиной и самодисциплиной у меня всё в порядке ещё с армии), но особенно в личное время, где полёт мысли ничто не сдерживает. Хотя и на работе эти мои творческие особенности иногда позволяли продуцировать весьма эффективные решения, было такое и не раз. Но описываемое явление скреативилось в личное время.

Кто-то в личное время покоряет Эверест, кто-то стрит-драйвит, кто-то на нижней Волге ловит спиннингом судаков и жерехов (я тоже, кстати, раз в году), кто-то разводит мадагаскарских шипящих тараканов, а кто-то развлекает себя эзотерикой. А я вот внерабочее время развлекаю себя тем, что напрягаю свой мозг математическими и алгоритмическими проблемами. Придумываю что-нибудь эдакое, необычное. Жаль, что за эту деятельность не платят. Говорят, такое напряжение мозга поможет в старости спастись от болезни Альцгеймера. Во всяком случае, весьма на это надеюсь.

И, рассуждая совсем о другой проблеме, но где имеет место быть сортировка большого количества объектов, в плане алгоритма сортировки объектов, меня осенило. Быстренько проверил кодом — ого, работает! Рассчитываю, что вам понравится.

Читать далее

Task Parallel Library в C#

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

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

Если ты всё ещё пишешь код на Thread или ThreadPool, пора остановиться и подумать. Зачем вручную управлять потоками, ловить дедлоки и страдать от гонок данных, если можно просто... не страдать?

Сегодня разберём Task Parallel Library (TPL) в C# — единственно правильный способ писать многопоточный код в 2025 году.

Читать далее

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

Порядок инициализации полей, статики и всего остального в C#

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

Всем привет! Многие сталкиваются с трудностями на собеседовании на вопросе по типу "Расскажите о порядке иницализации в C#". Либо банально когда видят квиз, стараются вспомнить, а что там должно инициализироваться? Сегодня многие вспомнят, а кто-то узнает о порядке инициализации. Затронем не только классы, а также структуры, а точнее - ключевое слово default для них.

Сделаем следующие классы и посмотрим, что будет при создании объекта B:

Читать далее

Новые интересные диагностики в PVS-Studio 7.35

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

С релизом PVS-Studio 7.35 в анализаторе появилось много новых диагностических правил. Вас ждёт: много MISRA для C, новые Unity-диагностики для C# и покрытие OWASP Top 10 для Java и многое другое!
Подробности вы сможете узнать в этой заметке.

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

Универсальный индекс по документам на эластике

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

Всем привет. Меня зовут Женя Редько, я работаю в ядре Диадока — это сервис электронного документооборота от Контура. В моей подкоманде Документов мы занимаемся основными бизнес-сценариями Диадока. 

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

Читать далее

PropertyBitPack: Упаковка свойств в поля

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

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

Читать далее

Отключение http-метрик в ASP.NET Core

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

Выход ASP.NET Core 9 порадовал возможностью выборочно отключать http-метрики. В статье сценарии использования с примерами и детальный разбор того, как всё устроено под капотом.

Хочу разобраться

От dotnet restore до publish, и что это значит для докера и построения CI/CD-пайплайна

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

Всем привет! Когда я узнаю, что человек передо мной начинает изучать c# - первым делом я его спрашиваю, как ему язык, на чем раньше программировал и прочее. И в какой то момент разговоры доходят до докера\пайплайнов => многие ребята (которые не пробовали это раньше) начинают нехотя избегать эту тему, считая её чересчур скучной, странной и вообще "это уже какой то девопс". Хотя на деле - зная базово, что значат папки в твоем проекте на компе - можно освоить базовые основы красивой работы докера (+ можно пришить пайплайны, основной мотив у них один). Поэтому сегодня я попытаюсь привлечь ваше внимание к базовым командам dotnet`а.

Все изучать и делать будем сразу в докере. Создаем такой докерфайл:

Читать далее

Стыковка космических аппаратов в Unity

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

Моделирование процесса стыковки космических аппаратов в Unity с использованием физики и решения задачи оптимизации.

Читать далее

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