Channel: C# 1001 notes
🔎 Полное руководство по созданию приложения-клона Google Translate с нуля на .NET
Добрый день! Я действительно взволнован проектом, который мне удалось создать для вас. Я сделал всё возможное, чтобы представить вам что-то с почти полной функциональностью, что-то, что вы можете продемонстрировать в своём портфолио, если вы новичок, и не волнуйтесь, дальше я начну создавать проекты для разработчиков среднего и продвинутого уровня, просто имейте немного терпения, пока я сосредоточен на новых разработчиках .NET.
Сегодняшний проект является клоном приложения Google Translate с использованием Google translate API v2. Я эстет, поэтому я представлю вам красивое приложение, однако оно будет не только «красивым», но также будет переводить текст, определять язык на основе пользовательского ввода, отображать поддерживаемые языки и менять местами пользовательский ввод с результатом перевода. Так что, если вы так же взволнованы, как и я, давайте сделаем это!
▪Статья
▪Полный код
@csharp_ci
Добрый день! Я действительно взволнован проектом, который мне удалось создать для вас. Я сделал всё возможное, чтобы представить вам что-то с почти полной функциональностью, что-то, что вы можете продемонстрировать в своём портфолио, если вы новичок, и не волнуйтесь, дальше я начну создавать проекты для разработчиков среднего и продвинутого уровня, просто имейте немного терпения, пока я сосредоточен на новых разработчиках .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
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
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 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
Данная статья раскроет принципы работы и теорию замыканий в C# на примерах .
📌Статья
@csharp_ci
Сверхбыстрая и легкая база данных внутрипроцессной памятм, написанная на языке 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
В данной статье описываются новые методы оптимизации кэширования в 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
В приведенном ниже бенчмарке скорость чтения на 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# 10 можно отказаться от ненужного блочного оператора вокруг объявления пространства имен.
Просто и эффективно.
Это стандарт для всех моих проектов.
И даже есть возможность очистки кода в Visual Studio.
А вы используете эту фичу?
Репост = Отправьте другу, чтобы избавить его от нагромождений в коде♻️
@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Что такое сетевая привязка (Session affinity)?
Сетевая привязка широко используется в сценариях балансировки нагрузки, когда несколько экземпляров API обслуживают запросы.
Сетевая привязка - это способ привязать последовательность запросов к определенному месту назначения API.
Как правило, к тому, который обработал первый запрос.
Например, в качестве балансировщика нагрузки или API-шлюза можно использовать обратный прокси YARP.
Чтобы включить сродство сессий, достаточно определить соответствующий параметр
Вот как начать работу с YARP: https://www.milanjovanovic.tech/blog/implementing-an-api-gateway-for-microservices-with-yarp
@csharp_1001_notes
Сетевая привязка широко используется в сценариях балансировки нагрузки, когда несколько экземпляров 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
Попробуйте атрибут [𝚂𝚞𝚙𝚙𝚕𝚢𝙿𝚊𝚛𝚊𝚖𝚎𝚝𝚎𝚛𝙵𝚛𝚘𝚖𝙵𝚘𝚛𝚖].
Готовы попробовать? Посмотрите это пошаговое руководство.
@csharp_1001_notes
Одним из моих любимых способов реализации паттерна
@csharp_1001_notes
Options
является использование подхода `IConfigureOptions`.Вот как его можно использовать:@csharp_1001_notes
𝗖𝗹𝗲𝗮𝗻 𝗰𝗼𝗱𝗲 𝘁𝗶𝗽 : как объединить вложенные операторы IF в одно условие.
Это простое изменение может улучшить читаемость вашего кода.
Но что такое чистый код в первую очередь?
Чистый код — это код, который:
- Легко читать
- Просто обслуживать
- Легко понять
Я считаю написание чистого кода навыком.
И это навык, который вы можете изучить и улучшить путем практики.
Общий принцип, лежащий в основе этого, называется принципом «раннего возврата».
Ранний возврат означает, что вы должны вернуться из метода, как только будут выполнены условия.
В исходном примере:
- Вложение условий увеличивает сложность
- Вложенность затрудняет анализ кода.
Решение состоит в том, чтобы объединить вложенные операторы IF в одно логическое выражение.
Я достиг этого, используя сопоставление с образцом в одном примере.
Или вы можете предоставить метод, который оборачивает условие и возвращает логическое значение.
Это простое изменение может улучшить читаемость вашего кода.
Но что такое чистый код в первую очередь?
Чистый код — это код, который:
- Легко читать
- Просто обслуживать
- Легко понять
Я считаю написание чистого кода навыком.
И это навык, который вы можете изучить и улучшить путем практики.
Общий принцип, лежащий в основе этого, называется принципом «раннего возврата».
Ранний возврат означает, что вы должны вернуться из метода, как только будут выполнены условия.
В исходном примере:
- Вложение условий увеличивает сложность
- Вложенность затрудняет анализ кода.
Решение состоит в том, чтобы объединить вложенные операторы IF в одно логическое выражение.
Я достиг этого, используя сопоставление с образцом в одном примере.
Или вы можете предоставить метод, который оборачивает условие и возвращает логическое значение.
HTML Embed Code: