Обновить
111.57

C# *

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

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

Шаблон Go-микросервиса для начинающих от .NET разработчика. Часть 1

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

Привет, Хабр! У многих разработчиков на .NET вызывает интерес относительно свежий язык программирования Go (Golang). Однако при поиске информации и учебных материалов он может отпугивать. Нам предлагается забыть все удобное и красивое, чему нас научила .NET, и принять что-то новое, но кажущееся непривычным и не всегда приятным.

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

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

Читать далее

.NET Aspire — империя дотнета наносит ответный удар

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

Когда я первый раз услышал про .NET Aspire, я подумал что это какая-то очередная лажа от Майкрософта, про которую все забудут через неделю.

Особенно, учитывая какую дичь часто завозят в шарп (например те же ужасно спроектированные Primary Constructor'ы про которые я писал, или вот прикол-пропозал от самого Тоуба). Так что ожидания у меня, честно говоря, были ниже нуля.

Но попробовав его лично, я был, честно говоря, шокирован. Трепещите, жависты!! Трепещите гошники! Трещепищите питонисты - такого вы еще точно не видели.

Я даже представить не мог, что DevEx можно сделать настолько офигительным.

Узнать про Aspire без смс и регистрации

Desktop приложение для хранения текстовой информации

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

В статье рассказываю о разработанном Desktop приложении для Windows, чтобы поделиться им со всеми желающими и получить обратную связь.

Читать далее

Запускаем .NET на RISC-V и разрабатываем IoT приложение для Sipeed Lichee RV

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

До недавнего времени разрабатывать IoT приложения на C# можно было только для компьютеров построенных на архитектуре ARM или x86. Поддержка RISC-V процессоров для платформы .NET уже давно в стадии разработки. В начале этого года был представлен не официальный .NET 8.0 SDK, который уже сейчас вы сможете запустить на RISC-V процессоре под ОС Debian/Ubuntu. В качестве платформы запуска возьмем одноплатный компьютер Sipeed Lichee RV на RISC-V процессоре Allwinner D1 (ядро Alibaba/T-Head Xuantie C906 RISC-V). В первой части поста рассмотрим установку .NET 8.0 SDK на Sipeed Lichee RV. Во второй, запустим приложение для работы с контактами GPIO и датчиком BME280 для замера температуры, влажности и давления.
Читать дальше →

Как создать приложение на C# с использованием приложения на Python

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

Интеграция скриптов Python в приложение на C# позволяет использовать обширные библиотеки Python, сохраняя при этом возможности C#. Этот гайд предоставляет пошаговое руководство по созданию приложения на C#, которое вызывает скрипт Python, использует виртуальное окружение для зависимостей Python и измеряет время выполнения скрипта.

Читать далее

Настоящий эффект параллакса

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

Parallax 3D

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

Читать далее

CLI для Eppie — p2p почта в командной строке

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

Если вы любите децентрализованные технологии и консольные клиенты электронной почты, у нас для вас новость. Вышла альфа версия Eppie-CLI — официального консольного клиента для Eppie. GitHub репозиторий здесь.

Читать далее

Garnet. Хранит ли баги кэш-хранилище от Microsoft?

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

Microsoft представили Garnet — проект кроссплатформенного быстрого кэш-хранилища с открытым исходным кодом, написанный на языке C#. Предлагаю расчехлить статический анализатор и посмотреть, какие ошибки и странности содержатся в исходном коде проекта.

Читать далее

Delta-Rle-Huffman (DRH) Texture Format

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

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

Внимание! В статье много картинок.

Кому интересно, добро пожаловать под кат!

Пример деплоя Web-приложения на C# Mono на хостинг

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

Для развертывания на сервере мы применим GitOps подход. 

Чтобы развернуть приложение, выполним следующие шаги:

1. Напишем приложение
2. Создадим конфигурационный файл
3. Выгрузим все файлы (можно через git, а можно через интерфейс) на сервер и запустим сборку. 

Рассмотрим процесс подробнее.

Читать далее

Работа с XML в C#

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

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

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

В статье рассмотрим как работать с XML в C#.

Читать далее

История создания моей первой игры на Unity

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

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

Читать далее

Pet проект. Разделитель PDF документов

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

Привет, молодые успешные!

Как часто вы работаете с PDF документами? Случалось ли вам сталкиваться с проблемой монолитности этого формата? Я часто сталкивался с такой проблемой, когда мне требовалось лишь несколько листов из всего документа, например чтобы отправить их по почте. Да можно воспользоваться бесплатными онлайн сервисами которых полно в интернете...

Читать далее

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

Прочитал книгу по C# или что написал Рома Сакутин

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

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

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

Потом в какой то момент Рома создал свою онлайн-школу для программистов на C# и я даже приобрел его курс. И тогда то, я понял, что он учит не сильно лучше, чем другие школы.

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

Читать далее

Реверс-инжиниринг нативно скомпилированных .NET-приложений

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


Изучение внутреннего устройства приложений, созданных с использованием нативной опережающей компиляции (AOT).


На платформе .NET 7 впервые была представлена новая модель развертывания: опережающая нативная компиляция. Когда приложение .NET компилируется нативно по методу AOT, оно превращается в автономный нативный исполняемый файл, оснащённый собственной минимальной средой исполнения для управления выполнением кода.
Читать дальше →

Разбираемся с паттерном REPR в ASP.NET Core

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

В этой статье мы рассмотрим паттерн проектирования REPR (request‑endpoint‑response — «запрос‑конечная_точка‑ответ»), как он упрощает разработку API и как его можно реализовать на C#.

Читать далее

Сравнение Vosk и Whisper

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

Доброго времени суток Хабр. Меня зовут Андрей, я занимаюсь разработкой на C# и сегодня я предлагаю сравнить Whipser и Vosk.

Читать далее

Написал книгу по C#

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

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

Читать далее

Хостинг приложения Asp.Net Core Blazor c БД PostgreSQL на сервер через git push

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

В этой статье мы рассмотрим, как развернуть на сервере Asp.Net приложение. Подключим его к PostgreSQL и сделаем так, чтобы доставка обновлений осуществлялась через простое обновление кода в Git-репозитории.

Читать далее

Парсинг математических выражений AngouriMath, DynamicExpresso и MathExpressionEval

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

Пожалуй большинство программистов так или иначе сталкивались с с++. Как и я большинство таких людей начинали познавать с++ через его великого основателя Бьярне Страуструпа. Одна из его энциклопедий по с++ начиналась с калькулятора. С подобной задачей написания калькулятора для расчета выражений нам довелось столкнуться в рамках одного из спринтов только уже на c#. (AngouriMath, DynamicExpresso, MathExpressionEval)

Читать далее

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