C# (C Sharp) programming
18.7K subscribers
750 photos
38 videos
8 files
671 links
По всем вопросам- @haarrp

C# - обучающий канал Senior C# разработчика.

@ai_machinelearning_big_data - Machine learning

@itchannels_telegram - 🔥лучшие ит-каналы

@csharp_ci - C# академия

@pythonlbooks- книги📚

Реестр РКН: https://clck.ru/3Fk3kb
Download Telegram
Уроки Unity C# с нуля / Изучение основ программированная в Unity

1. Изучаем C# в Unity с нуля
2. Установка и настройка редактора
3. Базовые концепции скриптов в Unity
4. Встроенные методы (Awake, Start, Update)
5. Работа с объектами и компонентами
6. Создание объектов (Instantiate)
7. Отслеживание действий пользователя
8. Физические действия (Rigidbody, Collision, Collider)
9. Постоянное выполнение кода (Coroutines)
10. Разработка мини игры. Дизайн и функции

#video #csharp #unity

https://www.youtube.com/watch?v=k9SwHzNDWYI&list=PLDyJYA6aTY1mKdPdoxBW_UAiI-I7enTnb&ab_channel=%D0%A8%D0%BA%D0%BE%D0%BB%D0%B0itProger%2F%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
O3DE Кросс-платформенный 3D-движок с открытым исходным кодом, который позволяет разработчикам и создателям контента создавать AAA-игры, 3D-миры как в кино и высококачественные симуляции

Ссылка на проект

@csharp_ci | #Cpp #Engine #3D #Interesting
Языка С/C++ не существует

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

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

Громадная часть С кода хоть и компилируется в С++, но является undefined behavior. В первую очередь из-за того, что все типы в С являются тупым набором байт и никакая эмуляция полиморфизма здесь не поможет. Язык позволяет относится со всем как с байтами, тогда как в С++ все типы это объекты инкапсулирующие свою логику через конструкторы и деструкторы, есть понятие лайфтайма, относится как к байтам можно только к тривиально копируемым объектам и то не всегда и не везде, только в С++20 валидно было бы реинтерпретировать байты как int, а в С коде это происходит повсеместно.

Согласно стандарту С++ программа с undefined behavior не является программой на С++, а значит как только вы скомпилировали сишный файлик скорее всего ваша программа перестала быть С++ кодом.

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

С - фактически императивный язык структурного программирования(да и с этим можно поспорить из-за обилия goto в некоторых проектах). Он не предполагает никакой декларативности, полиморфизма, инкапсуляции, иммутабельности и прочих модных слов. Его сфера использования это места, где нет С++ компилятора(глубокий наколеночный эмбед)

Современный С++ в свою очередь это во многом декларативный и функциональный - шаблоны, алгоритмы, итераторы и ренжи, RAII - язык с элементами ООП в виде инкапсуляции логики в объекты(типа вектора) или наследования для реализации чего-то(но почти никогда не так, чтобы пользователь абстракции знал что она реализована через наследование). Писать что-то в императивном стиле в современном С++ просто странно.

Эти подходы(декларативный и императивный) фактически противоположны, поэтому разработчик на С++ будет с трудом писать на С, а разработчик на С, как показывает практика, вообще не сможет писать в стиле С++

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

Давайте уже одумаемся.

@csharp_ci
Taskbar groups – Небольшая, легковесная утилита, позволяющая юзеру сгруппировать несколько приложений и закрепить их в таскбаре или на рабочем столе.

Имеет широкий диапазон настройки вплоть до горячих клавиш или цветовых тем

#GitHub | #CSharp #Windows #Useful #Customization

@csharp_ci
Парсинг сайта Госзакупок (ЕИС закупки)

Нахождение контрагента на сайте ЕИС закупки в реестре недобросовестных поставщиков / подрядных организаций вероятнее всего повлияет на решение сотрудничества с ним, так и на формирование резервов под него (например, в банковском кредитовании).

Для быстрой проверки, когда ИНН заемщиков слишком много, был написан код на c# для удобного поиска по этому списку:

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

@csharp_ci
Немножко кодгена

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

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

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

@csharp_ci
Files-RemoteФайловый менеджер SSH, позволяющий редактировать файлы, как если бы они были локальными

Работает как на Windows так и на Linux/MacOS

Демо
Ссылка на проект

@csharp_ci | #C #File #Manager #Useful
MangoHudОверлей Vulkan и OpenGL для мониторинга FPS, температуры, загрузки процессора / графического процессора и т. Д

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

Ссылка на проект

@csharp_ci | #C #Interesting #Monitoring #System
ML.NETплатформа для машинного обучения с открытым исходным кодом и кроссплатформенностью для .NET

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

Ссылка на проект

@csharp_ci | #CSharp #ML
ImGuiбиблиотека для построение графических интерфейсов на C++

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

Ссылка на проект

@csharp_ci | #Cpp #UI #Interesting
RNNoiseбиблиотека для шумоподавления, основанная на рекуррентной нейронной сети, которая позволяет убрать лишние шумы со звуковой дорожки

Вся дополнительная информация есть в этой статье.
Там описано как работает данная нейронка и освещены некоторые аспекты темы

Ссылка на проект

@csharp_ci | #C #Audio
Metacall – библиотека которая позволяет вызывать функции, методы, процедуры между разными языками

Ссылка на проект

@csharp_ci | #Interesting #C #Cpp
🗒 Работаем с файлами на С#. Как преобразовать любой файл в текстовый

В рамках этого поста рассмотрена задача –как получить данные из следующих файлов:

MS Word (форматы .docx, .doc, .rtf)
MS Excel (форматы .xlsx, .xls, .xlsm)
MS PowerPoint (форматы .pptx, .ppt, .pptm)
MS Outlook (формат .msg)
Файлы формата .pdf
Для начала создаем проект в Microsoft Visual Studio (у меня это обычное консольное приложение) и подключаем нужные библиотеки. Для этого в решении проекта (рисунок 1) находим Reference и правой кнопкой мыши открываем меню, нам нужен пункт Add Reference

➡️ Читать дальше

@csharp_ci
​​connmap – настольный виджет X11, который показывает местоположение ваших текущих сетевых пиров на карте мира

Ссылка на проект

@csharp_ci | #C #Security #Privacy #Interesting
BlenderОфициальное зеркало проекта Blender на гитхаб!

Blender - это бесплатный набор для создания 3D графики с открытым исходным кодом

Он поддерживает абсолютно всё: конвейерное моделирование, такелаж, анимацию, моделирование, рендеринг, композитинг, отслеживание движения и редактирование видео

Ссылка на проект

@csharp_ci | #C #3D #Graphics
flecsECS-фреймворк с кучей интересных особенностей, что позволяет создавать игры и симуляции с миллионами сущностей

ECS – это новый способ организации кода и данных, который позволяет создавать игры, которые больше, сложнее и легче расширяются

Ссылка на проект

| #C #Cpp #Game #Interesting
Внедрение зависимостей на платформе .NET

Парадигма внедрения зависимостей (DI) в течение минувшего десятилетия де-факто стала одной из доминирующих на платформе .NET и теперь обязательна к изучению для всех .NET-разработчиков.

Это переработанное и дополненное издание классической книги «Внедрение зависимостей в .NET». Вы научитесь правильно внедрять зависимости для устранения жесткой связи между компонентами приложения. Познакомитесь с подробными примерами и усвоите основы работы с ключевыми библиотеками, необходимыми для внедрения зависимостей в .NET и .NET Core.

В книге:
• Рефакторинг существующего кода в слабо связанный код
• Методы DI, которые работают со статически типизированными ОО языками
• Интеграция с общими платформами .NET Framework
• Обновленные примеры, иллюстрирующие DI в .NET Core

📓 Книга

@csharp_ci