TG Telegram Group Link
Channel: C# 1001 notes
Back to Bottom
🔎 Полное руководство по созданию приложения-клона Google Translate с нуля на .NET

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

Сегодняшний проект является клоном приложения Google Translate с использованием Google translate API v2. Я эстет, поэтому я представлю вам красивое приложение, однако оно будет не только «красивым», но также будет переводить текст, определять язык на основе пользовательского ввода, отображать поддерживаемые языки и менять местами пользовательский ввод с результатом перевода. Так что, если вы так же взволнованы, как и я, давайте сделаем это!

Статья
Полный код

@csharp_ci
Как добавить тесты для существующего кода с методами, которые не являются публичными

https://dev.to/ant_f_dev/how-to-add-tests-for-existing-code-with-methods-that-arent-public-3e5o

@csharp_ci
Легкий способ получать свежие обновлении и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:

Data Science: hottg.com/data_analysis_ml
Java: hottg.com/javatg
Базы данных: hottg.com/sqlhub
Машинное обучение: hottg.com/ai_machinelearning_big_data
Go: hottg.com/Golang_google
C/C++/ hottg.com/cpluspluc
C#: hottg.com/csharp_ci
Хакинг: hottg.com/linuxkalii
Мобильная разработка: hottg.com/mobdevelop
Docker: hottg.com/+0WdB4uvOwCY0Mjdi
Python: hottg.com/python_job_interview
Rust: hottg.com/rust_code
Javascript: hottg.com/javascriptv
React: hottg.com/react_tg
PHP: hottg.com/phpshka
Android: hottg.com/android_its
Linux: hottg.com/+A8jY79rcyKJlYWY6
Big Data: hottg.com/bigdatai
Devops: hottg.com/devOPSitsec
Тестирование:https://hottg.com/+F9jPLmMFqq1kNTMy
Собеседования: https://hottg.com/machinelearning_interview

💼 Папка с вакансиями: hottg.com/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: hottg.com/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: hottg.com/addlist/eEPya-HF6mkxMGIy
Папка ML: https://hottg.com/addlist/2Ls-snqEeytkMDgy

😆ИТ-Мемы: hottg.com/memes_prog

🇬🇧Английский: hottg.com/english_forprogrammers

ИИ: hottg.com/vistehno

📕Ит-книги бесплатно: https://hottg.com/addlist/BkskQciUW_FhNjEy
🖥 Запуск приложений на .NET в качестве службы на Linux-системе с systemd

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

Чтобы организовать атаку на цепочку поставок при помощи .NET, мне потребовалось настроить DNS-сервер, который перехватывал бы те хост-имена, которые ко мне направляются. Давайте возьмём этот кейс для примера.

Читать: https://habr.com/ru/companies/timeweb/articles/759966/
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Погружаемся в замыкания на C#

Данная статья раскроет принципы работы и теорию замыканий в C# на примерах .


📌Статья

@csharp_ci
🖥StereoDB

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

StereoDB поддерживает создание Stateful Services (API или ETL Worker), которые хранят все данные в памяти и могут обеспечить миллионы запросов в секунду для RPS с одного узла.

Github

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Improvements to the Caching Abstraction in ASP.NET Core

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

📌 Читать

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Бенчмарки .NET 8 FrozenDictionary .

В приведенном ниже бенчмарке скорость чтения на 68% выше, чем у обычного словаря 🔥 ...

Значительное улучшение времени работы с .NET 8 Preview 1 по сравнению с Preview 7. FrozenDictionary (и FrozenSet) теперь подходят для гораздо большего числа случаев использования.

Разбор с сайта MS devblogs в начале этого года ->
https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-1/comment-page-2/#comment-17478

@csharp_1001_notes
⚡️ Тестирование на основе данных - это метод тестирования, при котором тестовые данные предоставляются через некоторый внешний источник. Поэтому его также называют параметризованным тестированием.

Популярной библиотекой тестирования в .NET, поддерживающей параметризованное тестирование, является xUnit. В ней для определения тестовых методов используются атрибуты. Атрибут Fact определяет простой тест, а атрибут Theory - параметризованный тест.

В этой статье показано четыре способа написания параметризованных тестов с помощью xUnit.

https://www.milanjovanovic.tech/blog/creating-data-driven-tests-with-xunit

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Эта возможность C# поможет вам нагромождения в коде.

С версии C# 10 можно отказаться от ненужного блочного оператора вокруг объявления пространства имен.

Просто и эффективно.

Это стандарт для всех моих проектов.

И даже есть возможность очистки кода в Visual Studio.

А вы используете эту фичу?

Репост = Отправьте другу, чтобы избавить его от нагромождений в коде♻️

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Что такое сетевая привязка (Session affinity)?

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

Сетевая привязка - это способ привязать последовательность запросов к определенному месту назначения API.

Как правило, к тому, который обработал первый запрос.


Например, в качестве балансировщика нагрузки или API-шлюза можно использовать обратный прокси YARP.

Чтобы включить сродство сессий, достаточно определить соответствующий параметр SessionAffinity в конфигурации JSON.

Вот как начать работу с YARP: https://www.milanjovanovic.tech/blog/implementing-an-api-gateway-for-microservices-with-yarp

@csharp_1001_notes
⚡️ Вы когда-нибудь хотели, чтобы #Blazor мог моделировать привязку и валидацию HTTP-формы в режиме рендеринга на стороне сервера?

Попробуйте атрибут [𝚂𝚞𝚙𝚙𝚕𝚢𝙿𝚊𝚛𝚊𝚖𝚎𝚝𝚎𝚛𝙵𝚛𝚘𝚖𝙵𝚘𝚛𝚖].

Готовы попробовать? Посмотрите это пошаговое руководство.

@csharp_1001_notes
Одним из моих любимых способов реализации паттерна Options является использование подхода `IConfigureOptions`.Вот как его можно использовать:

@csharp_1001_notes
𝗖𝗹𝗲𝗮𝗻 𝗰𝗼𝗱𝗲 𝘁𝗶𝗽 : как объединить вложенные операторы IF в одно условие.

Это простое изменение может улучшить читаемость вашего кода.

Но что такое чистый код в первую очередь?

Чистый код — это код, который:
- Легко читать
- Просто обслуживать
- Легко понять

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

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

В исходном примере:
- Вложение условий увеличивает сложность
- Вложенность затрудняет анализ кода.


Решение состоит в том, чтобы объединить вложенные операторы IF в одно логическое выражение.

Я достиг этого, используя сопоставление с образцом в одном примере.

Или вы можете предоставить метод, который оборачивает условие и возвращает логическое значение.
HTML Embed Code:
2025/07/10 13:30:32
Back to Top