Обновить
90.11

C# *

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

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

Почему тяжело писать про хороший код?

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

Всем привет. Меня зовут Гриша Дядиченко, и я технический продюсер. Почему так сложно писать про хороший код? Меня периодически спрашивают, почему я так мало пишу про архитектуру. В то же время я даже среди заказчиков встречаю мнение что “в Unity пишется только плохой код”. Чтож, давайте один раз попробуем, а точнее я попробую показать, почему это очень сложно. Разработаем вместе такую “простую вещь” как инвентарь.

Читать далее

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

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

Вышел .NET 7, а это значит, что можно вдоволь насладиться различными нововведениями и фишками. Расскажем про самые интересные улучшения: C# 11, контейнеры, производительность, GC и прочее.

Читать далее

Руководство по созданию облачного приложения под Microsoft Azure на основе опенсорсных технологий. Часть 1

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

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

Читать далее

Практическое применение async/await в Unity

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

Использование async/await позволяет сделать код легче для понимания, убирает необходимость в функциях обратного вызова и протаскивании необходимых данных (или их сохранения в полях объекта).
Требования и ограничения async/await с примером реализации для UI.

Читать далее

Через две недели: эмулятор Сферы, часть 3

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

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

После долгого перерыва — снова Сфера. Прошлые статьи (раз, два) были про то, как войти в игру и в ней остаться на всю жизнь. Гулять по миру, конечно, интересно, но быстро надоедает: делать в нем нечего, монстров и NPC нет, даже в озере утонуть не выйдет. Начнем нашу дорогу в темное средневековье там же, где начинается сама игра — в стартовом данже.

Читать далее

Как построить управление анимациями персонажа в Unigine

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

Всем привет, не так давно я перешел на Unigine, и хотел бы поделиться опытом создания системы анимаций персонажа, так как релевантных материалов по теме как-то не нашлось, а примеры разработчиков мне показались чересчур сложными. Пример будет написан на C#.

Читать

Как побороть Stale Element Reference Exception при E2E тестировании современных SPA-приложений

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

Всем привет, меня зовут Денис, я Software Developer Engineer in Test (SDET) в компании Bimeister. Я занимаюсь разработкой софта для тестирования — это фреймворки, автоматизированные тесты, настройка CI Pipeline’ов и многое другое.

В статье расскажу, как мы победили исключение Stale Element Reference Exception при разработке нашего фреймворка, используя Selenium WebDriver и C#.

Читать далее

Как написать игру на Monogame, не привлекая внимания санитаров. Часть 4, решаем основной вопрос философии

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

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

Читать далее

Build godot from source on linux with c# support and web export template

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

Проблема: чтобы собрать UE из сурсов, достаточно команд; чтобы собрать UE докер-образ, достаточно 1 команды. А чтобы собрать godot из сурсов с поддержкой c# на линукс и с возможностью экспортировать проект в web, надо прочитать 5+ статей и потратить кучу времени на понимание оных. Чтобы вы могли не тратить своё время, я собрал всю необходимую информацию в одной статье. Здесь приведены краткие инструкции по сборке godot движка из сурсов на debain 11 (64bit).

Собрать godot

Сумачечая производительность LINQ в .Net7

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

Исторически так сложилось, что LINQ взыскал "сомнительную" репутацию за его скромную производительность. LINQ медленный, аллоцирует память, сложно читается, поэтому обычно его используют как инструмент запросов к БД и то, зачастую сложные запросы легче написать на SQL. Даже на собеседованиях джунов просят не использовать LINQ в алгоритмах.

Однако в .NET 7 всё будет по-другому...

Подробней...

Что такое катастрофический возврат и как регулярное выражение может стать причиной ReDoS-уязвимости?

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

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

Читать далее

Топ-10 докладов DotNext 2022 Spring

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

У нас есть традиция: каждые полгода до того, как провести конференцию DotNext, мы публикуем на Хабре десять докладов с предыдущей конференции, которые особенно понравились участникам.

Сейчас до осеннего DotNext остаются считанные дни (он пройдёт 3–4 ноября в онлайне, 20 ноября в Москве с возможностью онлайн-просмотра). Так что публикуем десятку с весеннего. Как обычно, в тексте доклады расположены от десятого места к первому — для максимальной интриги.

Читать далее

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

Какие доклады будут на DotNext 2022 Autumn

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

Как снизить вероятность ошибок в коде? Что нового в .NET и C#? Как правильно работать со статистикой при замерах производительности? Как научить ребёнка программировать? 

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

А сам DotNext начнётся уже на следующей неделе. Дни 3-4 ноября будут полностью онлайновыми, а вот 20 ноября — на выбор участников: в Москве пройдёт офлайн-часть, но при желании и к ней можно будет подключиться удалённо.

Читать далее

Масштабирование. Алгоритм Уменьшения и Увеличения изображения

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

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


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

И какие могут быть проблемы?

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

Читать далее

Размещение .NET 6 WebAPI на Heroku с PostgreSQL, без контейнера

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

В интернете не так много информации о том, как можно разместить приложение .NET на облачном сервисе Heroku, в том числе немного сказано о приложениях с БД. Как без мороки и элегантно разместить ваш .NET - проект - узнаете в этой статье.

Читать далее

Обзор нововведений в C# 11

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

C# 11 выходит уже совсем скоро, так что пора детально изучить новые особенности, которые появятся в языке. И хотя их немного, среди них есть довольно интересные: обобщённая математика, исходные строки, модификатор required, параметры типа в атрибутах и прочее.

Читать далее

Принципы Solid и как они помогают сделать код лучше

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

Про принципы Solid написано немало, в том числе на Хабре. Показывали в картинках, рассказывали на примерах.  

Так чем же будет отличаться эта статья, спросите вы? А мы скажем: подходом. Сначала мы расскажем про ситуации, которые порой возникают на проектах, как код разрастается, становится сложнее и как сделать так, чтобы этот самый код не потерял в качестве и был читаем. 

Читать далее

VPN на минималках ч.3

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

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

Перефразируя известного персонажа, чью роль исполнил Саша Барон Коэн, можно с уверенностью утверждать, что безопасность данного решения это боль в моя…в общем, если смотрели фильм, то понимаете о чем я.

Читать далее

AiPainter — цифровой AI-художник

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

Доброго времени суток, уважаемые коллеги по цеху! Хочу рассказать о своём последнем проекте, написанном по фану - обёртке для трёх нейросетевых проектов: нашумевшей StableDiffusion (используется её форк InvokeAI) и более старых - lama-cleaner и rembg.

Вроде интересно, почитаю подробности

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