Все потоки
Поиск
Написать публикацию
Обновить
229.8

C# *

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

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

Сервис очереди, или как подогнать код под все случаи

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

Привет! С вами снова писатель-программист из компании Simpl Group (да, без e).
Совсем недавно я выступала на нашем внутреннем Meet Up — уже 6-м, между прочим, — и рассказала своим коллегам занимательную историю, которую поведаю сегодня и вам. Не про ведьм и демонов, конечно, как в моей книге. А про цирк — цифровой цирк, в котором задачи прыгают через обручи, катаются на велосипедах и не падают. Или, по крайней мере, мы стараемся, чтобы не падали.

Читать далее

Книга «C# Concurrency. Асинхронное программирование и многопоточность» в правильном переводе команды DotNetRu

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

Сообщество DotNetRu совместно с издательством «Питер» завершило перевод книги Нира Добовицки «C# Concurrency». Мы тщательно выверили терминологию, сгладили стиль и сохранили точность оригинала. Это практическое руководство для тех, кто хочет уверенно проектировать конкурентные компоненты на .NET 8/9 — без догадок и шаманства.

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

Читать далее

ИИ в работе программиста

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

Меня зовут Артём, в данный момент я работаю на должности ведущего программиста. Перед вами текст в стиле черновика статьи о размышлениях автора на тему современных ИИ инструментов в разработке программного обеспечения — о том, как это связано с эффектом «Зловещей долины», помощью с развитием профессиональных навыков и инцестом.

Читать далее

Fallout 2 на Unity

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

Привет всем поклонникам вселенной Fallout, особенно её первых двух частей. Сегодня речь пойдёт о Fallout 2 — попытки перенести вторую часть Fallout предпринимались не единожды. Есть вот такой интересный ремейк, а ещё есть группа энтузиастов, пытающихся перенести вторую часть Fallout на движок Fallout 4. Я не знаю, в каком статусе находятся эти проекты; подозреваю, что воз и ныне там. Как бы то ни было, намерения самые что ни на есть благие. В этот раз я хочу представить очередную попытку перенести Fallout 2 в 3D, на этот раз на движок Unity.

Почему Unity?

Изначально мой выбор пал на Unreal Engine 5, так как уровень графики и богатый API движка впечатляют. Но я быстро понял, что Unreal Engine 5 — это выбор для AAA-проектов либо для полноценных команд, которые уже собраны и готовы работать. В то время как Unity идеально подходит для энтузиастов-одиночек. Дополнительным обстоятельством послужил мой ноутбук — Unreal Engine 5 он банально не тянет, даже редактор работает со скрипом. В итоге звёзды сошлись и указали на Unity: выбор сделан.

Читать далее

Книга: «C# Concurrency. Асинхронное программирование и многопоточность»

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

Привет, Хаброжители! Асинхронные и многопоточные программы могут выполнять несколько задач одновременно, не теряя скорости или надежности. Но правильная организация параллельного выполнения может вызвать затруднения даже у опытных разработчиков. Эта практическая книга научит вас создавать параллельные приложения на C#, работающие с максимальной скоростью и не имеющие взаимоблокировок и других проблем синхронизации, которые ухудшают производительность и требуют огромных усилий для их обнаружения.

«C# Concurrency» помогает получить полное представление об особенностях многопоточности и асинхронного программирования. В ней особое внимание уделено практическому использованию операторов async/await в C# для упрощения асинхронных задач. Вы научитесь избегать распространенных ошибок, обходить классические проблемы многопоточности, такие как состояния взаимоблокировки и гонки, а также узнаете о многих сложных нюансах управления потоками и использования потокобезопасных коллекций.

Читать далее

Всё про BlockingCollection и фичи с ними

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

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

В .NET живёт старый, понятный инструмент для конкурентной обработки — BlockingCollection<T>. Коллекция, которая упрощает модель producer–consumer, даёт строгую ограниченную вместимость и предсказуемую блокировку при пустоте или переполнении. Да, у нас есть Channel<T>, есть TPL Dataflow, есть миллион самодельных очередей на SemaphoreSlim. Но когда нужны простые правила и железный backpressure без BlockingCollection по-прежнему закрывает задачи хорошо.

Читать далее

FlaUI на практике: поиск элементов, умные ожидания и борьба с динамическим UI

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

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

Читать далее

Еще один честный взгляд на инди геймдев

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

Привет дорогой читатель, не спеши листать дальше, ведь тут очередной раз «без всякого вранья», автор пишет про то как он за 1-у неделю сделал игру своей мечты и заработал миллионы миллионов...Ладно, шучу. Хочу просто жестко проехать по вот таким вот статьям.

Много «букаф» не планирую, хотя как пойдет. Итак — добро пожаловать в Netkot бар:‑)

Читать далее

Оптимизация Unity-сцены: от Profiler до Object Pooling. Убираем лаги шаг за шагом

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

Твоя игра на Unity тормозит?
В этой статье гайд о том, как поднять FPS с 30 до 60+.
Мы вместе разберем Profiler, GC, Object Pooling и другие "болевые точки".

Читать далее

День знаний. Базовые курсы по автоматизации тестирования

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

Привет! Я Миша Симонов. Работаю в Контуре ведущим специалистом по тестированию и являюсь техлидом автоматизации тестирования кластера из 17 команд. Сегодня хороший день, чтобы рассказать об одной из задач, которой я занимаюсь — повышение квалификации сотрудников в области автоматизации тестирования.

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

Читать далее

Примеры применения EPLAN API для создания собственного модуля Add In

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

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

Если вы когда-нибудь чувствовали, что стандартных инструментов EPLAN не хватает, значит пора взглянуть на его API. В статье я покажу, как написать свой первый Add-In на C#, добавить кнопку на Ribbon и заставить её выполнять полезные действия. Всё на примерах — от простого «Hello World» до работы с объектами и настройками EPLAN.

Читать далее

На дворе LLM, а книгу о перцептроне так никто и не открыл!?

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

Сложно следить за околонаучными темами, и понимать, что ветка эволюции научного направления пошла не туда. Сейчас случился некий бум псевдонаучного взлета LLM, и я приведу в качестве современной статьи на хабре лишь одну, но это по прежнему массовое явление. Например, в статье компании Friflex за 2024 год История LLM-агентов: 10 ярких моментов по прежнему утверждается "На смену однослойному перцептрону Розэнблатта пришел многослойный. В статье Learning representations by back-propagating errors («Обучение представлений с помощью обратного распространения ошибки») Румельхарт и Хинтон показали, что многослойный перцептрон справляется с задачами, которые были не под силу его однослойному предшественнику. Например, с XOR. ". Совершенно излишне говорить, что это полное вранье, а авторы статьи даже не потрудились открыть эту статью, чтобы её прочитать. Это стало массовым явлением, и я его наблюдаю как минимум 20 лет, я когда то написал тут на хабре цикл статей объясняющих детали, лучше всего посмотреть эту Какова роль первого «случайного» слоя в перцептроне Розенблатта. Поэтому к этому возвращаться не будем. Я не знаю почему, может это массовая культура так влияет на людей, а порог вхождения в тематику ИИ слишком сложный? Не знаю, но не важно. Чтобы продемонстрировать скорость обучения перцептрона я написал несколько реализаций перцептрона Розенблатта и выложил их на гитхабе. А затем мы коснемся LLM.

Читать далее

Копаемся в открытом исходном коде Unity VR игр. Часть 2: NorthStar

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

Это вторая статья из небольшого цикла, посвящённого знакомству с некоторыми любопытными VR-играми, а заодно и с примерами проблем в их исходном коде, найденных с помощью PVS-Studio. Знакомьтесь, NorthStar!

Читать далее

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

SOLID для начинающих Unity-разработчиков: простыми словами и с примерами из жизни

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

SOLID для начинающих Unity-разработчиков.
Разбираю 5 принципов программирования через аналогии из жизни.
Каждый принцип - с примерами кода на C#.

Читать далее

Разворачиваем локально ИИ при помощи клиента Microsoft.Extensions.AI и Ollama

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

Если вы хотите создавать код по запросу, делать переводы текстов, генерировать резюме, и при этом всем не хотите чтобы данные уходили в сеть, то вы наверняка задумывались как развернуть свой ИИ(например deepseek) на локальном компьютере. Эта статья расскажет о том, как просто это сделать. Для этого нам понадобится небольшое знание C# и «docker» для ИИ моделей — Ollama.

Дальше будет интересно...

Копаемся в открытом исходном коде Unity VR игр. Часть 1: RocketMan

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

Это первая статья из небольшого цикла, посвящённого знакомству с некоторыми любопытными VR-играми, а заодно и с примерами проблем в их исходном коде, которые нашлись с помощью PVS-Studio. Знакомьтесь, RocketMan!

Читать далее

Книга: «.NET 8: инструменты и навыки. Лучшие практики и паттерны проектирования, отладки и тестирования»

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

Привет, Хаброжители! Хотим рассказать вам о новой книги Марка Прайса! В ней вы узнаете, как управлять исходным кодом и проектами с помощью Git, обеспечивая при этом контроль версий. Откроете для себя передовые методы отладки и стратегии выявления и устранения проблем, а также увидите, как правильно документировать код, API и сервисы, чтобы повысить удобство обслуживания проекта.

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

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

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

Читать далее

Params-коллекции и collection expressions в C#

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

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

В экосистеме C# за последние два релиза случилось ровно то, чего многим не хватало для аккуратной работы со списками значений. В C# 12 появились collection expressions — синтаксис вида [1, 2, 3] со spread-элементами .., который конвертируется в массивы, Span, ReadOnlySpan, интерфейсы коллекций и любые правильно устроенные типы. В C# 13 к этому добавили params-коллекции: теперь params может быть не только массивом, а почти любой поддерживаемой коллекцией, включая спаны и неизменяемые контейнеры.

Читать далее

Паттерн Saga через MassTransit. Оркестрация vs Хореография

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

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

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

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

Читать далее

Простыми словами для начинающих Unity-разработчиков учим принципы KISS, DRY, YAGNI и BDUF через аналогии из жизни

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

Большинство статей о принципах разработки написаны сложным языком и отпугивают новичков. В этом материале KISS, DRY, YAGNI и BDUF объясняются через бытовые аналогии с примерами на Unity C#. Плюс рассказываем, когда эти принципы стоит нарушать.

Читать далее

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