This media is not supported in your browser
VIEW IN TELEGRAM
❓Монолитная архитектура VS архитектура микросервисов❓
В области архитектуры программного обеспечения выбор между монолитом и микросервисами может определить судьбу вашего приложения.
1️⃣Монолитная архитектура 🏰
- Один большой замок: Монолиты похожи на величественный замок, где все компоненты тесно связаны в единую структуру.
- Унифицированность и простота: Легко разрабатывать и внедрять благодаря единой структуре. Изменения вносятся в одном месте, что упрощает разработку.
- Проблемы масштабирования: Масштабирование может быть сложной задачей. Когда одна часть системы требует обновления, необходимо масштабировать все приложение.
2️⃣Архитектура микросервисов 🌐.
- Город специализированных зданий: Микросервисы напоминают шумный город, где каждый сервис - это специализированное здание, выполняющее определенную функцию.
- Масштабируемость и гибкость: Предлагает масштабируемость на основе каждого сервиса.
- Повышенная сложность: С ростом числа сервисов управление связью между ними может стать сложным.
Почитать про архитектурные шаблоны
@csharp_ci
В области архитектуры программного обеспечения выбор между монолитом и микросервисами может определить судьбу вашего приложения.
1️⃣Монолитная архитектура 🏰
- Один большой замок: Монолиты похожи на величественный замок, где все компоненты тесно связаны в единую структуру.
- Унифицированность и простота: Легко разрабатывать и внедрять благодаря единой структуре. Изменения вносятся в одном месте, что упрощает разработку.
- Проблемы масштабирования: Масштабирование может быть сложной задачей. Когда одна часть системы требует обновления, необходимо масштабировать все приложение.
2️⃣Архитектура микросервисов 🌐.
- Город специализированных зданий: Микросервисы напоминают шумный город, где каждый сервис - это специализированное здание, выполняющее определенную функцию.
- Масштабируемость и гибкость: Предлагает масштабируемость на основе каждого сервиса.
- Повышенная сложность: С ростом числа сервисов управление связью между ними может стать сложным.
Почитать про архитектурные шаблоны
@csharp_ci
Microsoft наконец-то сделала правильную работу с фоновыми задачами.
Что они сделали?
Для тех, кто не знает:
Фоновые задачи позволяют обрабатывать некоторые части работы приложения в фоновом режиме, чтобы не прерывать обычную работу приложения.
Например, это может быть обработка сообщений в фоновом режиме без остановки других действий в приложении.
Что было не так до выхода .NET 8?❓
До .NET 8 при запуске приложения размещенные в нем службы запускались одна за другой. Каждая служба должна была завершить запуск, прежде чем могла начаться следующая.
Обычно это не вызывало проблем, но иногда медленная служба могла задержать запуск всего приложения.
Решение в .NET 8:
В .NET 8 две новые функции позволяют нам запускать или останавливать службы одновременно, а не одну за другой. Вы можете включить эту функцию, изменив настройки в HostOptions для всех используемых служб.
@csharp_ci
Что они сделали?
Для тех, кто не знает:
Фоновые задачи позволяют обрабатывать некоторые части работы приложения в фоновом режиме, чтобы не прерывать обычную работу приложения.
Например, это может быть обработка сообщений в фоновом режиме без остановки других действий в приложении.
Что было не так до выхода .NET 8?❓
До .NET 8 при запуске приложения размещенные в нем службы запускались одна за другой. Каждая служба должна была завершить запуск, прежде чем могла начаться следующая.
Обычно это не вызывало проблем, но иногда медленная служба могла задержать запуск всего приложения.
Решение в .NET 8:
В .NET 8 две новые функции позволяют нам запускать или останавливать службы одновременно, а не одну за другой. Вы можете включить эту функцию, изменив настройки в HostOptions для всех используемых служб.
@csharp_ci
❓Архитектура MVC и MVP - в чем разница?❓
MVC (Model View Controller) и MVP (Model View Presenter) - это паттерны проектирования, которые разделяют приложение на отдельные компоненты. Оба паттерна направлены на разделение задач, но в их подходе есть некоторые различия.
1️⃣Взаимодействие с пользователем
Оба паттерна начинаются, когда пользователь взаимодействует с пользовательским интерфейсом приложения, который управляется представлением.
2️⃣Обработка событий
В MVC представление пересылает событие соответствующему контроллеру. В то время как в MVP представление пересылает событие соответствующему презентеру.
3️⃣Обновление модели
Процесс на этом этапе снова очень похож для обоих шаблонов. Если требуется изменить данные, то и контроллер, и ведущий дают указание модели обновить данные.
MVP было создано для доработки недостатков MVC системы. Оба типа архитектуры актуальны по сегодняшний день и выбор крайне ситуативен
@csharp_ci
MVC (Model View Controller) и MVP (Model View Presenter) - это паттерны проектирования, которые разделяют приложение на отдельные компоненты. Оба паттерна направлены на разделение задач, но в их подходе есть некоторые различия.
1️⃣Взаимодействие с пользователем
Оба паттерна начинаются, когда пользователь взаимодействует с пользовательским интерфейсом приложения, который управляется представлением.
2️⃣Обработка событий
В MVC представление пересылает событие соответствующему контроллеру. В то время как в MVP представление пересылает событие соответствующему презентеру.
3️⃣Обновление модели
Процесс на этом этапе снова очень похож для обоих шаблонов. Если требуется изменить данные, то и контроллер, и ведущий дают указание модели обновить данные.
MVP было создано для доработки недостатков MVC системы. Оба типа архитектуры актуальны по сегодняшний день и выбор крайне ситуативен
@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
ℹ️8 основных протоколов Интернета, которые вы должны знатьℹ️
▷ HTTP (Hypertext Transfer Protocol) - это стандарт для передачи веб-контента через Интернет.
▷ HTTPS (Hypertext Transfer Protocol Secure) - это защищенная версия HTTP, которая шифрует данные для безопасного веб-общения.
▷ TCP (Transmission Control Protocol) - это надежный, ориентированный на соединение протокол для передачи данных по сетям, обеспечивающий доставку данных.
▷ IP (Internet Protocol) - это набор правил, регулирующих маршрутизацию и адресацию пакетов данных в Интернете.
▷ FTP (File Transfer Protocol) используется для передачи файлов между компьютерами в сети или через Интернет.
▷ SSH (Secure Shell) - защищенный протокол для удаленного доступа к сетевым устройствам и серверам.
▷ SMTP (Simple Mail Transfer Protocol) используется для отправки электронных сообщений между почтовыми серверами.
▷ UDP (User Datagram Protocol) - протокол передачи данных по сетям без подключения и более быстрый, но не гарантирующий доставку.
@csharp_ci
▷ HTTP (Hypertext Transfer Protocol) - это стандарт для передачи веб-контента через Интернет.
▷ HTTPS (Hypertext Transfer Protocol Secure) - это защищенная версия HTTP, которая шифрует данные для безопасного веб-общения.
▷ TCP (Transmission Control Protocol) - это надежный, ориентированный на соединение протокол для передачи данных по сетям, обеспечивающий доставку данных.
▷ IP (Internet Protocol) - это набор правил, регулирующих маршрутизацию и адресацию пакетов данных в Интернете.
▷ FTP (File Transfer Protocol) используется для передачи файлов между компьютерами в сети или через Интернет.
▷ SSH (Secure Shell) - защищенный протокол для удаленного доступа к сетевым устройствам и серверам.
▷ SMTP (Simple Mail Transfer Protocol) используется для отправки электронных сообщений между почтовыми серверами.
▷ UDP (User Datagram Protocol) - протокол передачи данных по сетям без подключения и более быстрый, но не гарантирующий доставку.
@csharp_ci
❓Что такое GraphQL и как его использовать в .NET?❓
GraphQL - это язык запросов для API.
Он позволяет клиентам получать именно те данные, которые им нужны.
Чем это полезно?
Это может повысить производительность за счет сокращения количества обходов.
Конечные точки GraphQL могут вернуть все необходимые данные за один запрос.
Как это работает на сервере?
Когда GraphQL-запрос попадает в ваш API, вы по-прежнему запрашиваете базу данных. Но вы разбираете GraphQL-запрос и получаете необходимые данные.
Так что в этом отношении GraphQL похож на REST.
Однако в GraphQL проще сформировать ответ API.
Вы также можете реализовать это с помощью REST API, но это будет более многословным.
Hot Chocolate - это популярный сервер GraphQL для приложений .NET.Он устраняет все сложности, связанные с созданием GraphQL-совместимых API.
Вы можете использовать клиент Postman GraphQL для тестирования ваших API.
@csharp_ci
GraphQL - это язык запросов для API.
Он позволяет клиентам получать именно те данные, которые им нужны.
Чем это полезно?
Это может повысить производительность за счет сокращения количества обходов.
Конечные точки GraphQL могут вернуть все необходимые данные за один запрос.
Как это работает на сервере?
Когда GraphQL-запрос попадает в ваш API, вы по-прежнему запрашиваете базу данных. Но вы разбираете GraphQL-запрос и получаете необходимые данные.
Так что в этом отношении GraphQL похож на REST.
Однако в GraphQL проще сформировать ответ API.
Вы также можете реализовать это с помощью REST API, но это будет более многословным.
Hot Chocolate - это популярный сервер GraphQL для приложений .NET.Он устраняет все сложности, связанные с созданием GraphQL-совместимых API.
Вы можете использовать клиент Postman GraphQL для тестирования ваших API.
@csharp_ci
❓EF Core: Что такое декартов взрыв?❓
EF Core: Что такое декартов взрыв? 💥
И как его избежать? 👇
Декартов взрыв возникает, когда запрос выдает непропорционально большое количество записей из-за объединения каждого элемента одного множества с каждым элементом другого множества.
В базах данных это часто приводит к проблемам с производительностью, поскольку набор результатов может стать чрезвычайно большим.
Например, если есть 100 авторов и 1000 книг, то этот запрос выдаст 100 * 1000 = 100 000 записей, многие из которых могут быть нерелевантными, если вас интересуют только пары, в которых автор связан с книгой.
На практике такой запрос обычно уточняется с помощью условия объединения, которое определяет, как связаны элементы двух наборов.
👉 Почитать
@csharp_ci
EF Core: Что такое декартов взрыв? 💥
И как его избежать? 👇
Декартов взрыв возникает, когда запрос выдает непропорционально большое количество записей из-за объединения каждого элемента одного множества с каждым элементом другого множества.
В базах данных это часто приводит к проблемам с производительностью, поскольку набор результатов может стать чрезвычайно большим.
Например, если есть 100 авторов и 1000 книг, то этот запрос выдаст 100 * 1000 = 100 000 записей, многие из которых могут быть нерелевантными, если вас интересуют только пары, в которых автор связан с книгой.
На практике такой запрос обычно уточняется с помощью условия объединения, которое определяет, как связаны элементы двух наборов.
@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Дайджест полезных материалов из мира C# за неделю
Почитать:
— 1000 и 1 способ инициализации типов в C# 12.0
— Почему x^0 = 1 наглядно
— Алгоритм MiniMax. Использование минимакса в Unity на примере игры Поймай Овечку
— Недооцененный паттерн «Спецификация» в связке с паттерном «Репозиторий»
— Современные варианты баз данных
— 8 бесплатных курсов по большим языковым моделям
— 🎬 Video - Beautiful Idea 2023 - Return Template
— C# - Extended Property Patterns
— Game Dev Digest — Issue #215 - Shaders, Performance, Design and more
— C# .NET Top 10 Compiler and .NET environment limits
— Understanding Value Types and Reference Types in C#
— C# - Record Structs for Immutable Value Types
— How to Add Watermarks and Bookmarks in .NET using the PDF Library
— Advent of Code 2023: Day 6 - Wait For It
— 🎬 Video - How to use CodeBehind framework?
— C# - Interpolated String Handling
Посмотреть:
🌐.NET Configuration In Depth | .NET Conf 2023
🌐 6 INSANE Things You Didn't Know You Could Write in C# (⏱ 12:26)
🌐 Why Aren't More Developers Using C#? (⏱ 10:55)
Хорошего дня!
@csharp_ci
Почитать:
— 1000 и 1 способ инициализации типов в C# 12.0
— Почему x^0 = 1 наглядно
— Алгоритм MiniMax. Использование минимакса в Unity на примере игры Поймай Овечку
— Недооцененный паттерн «Спецификация» в связке с паттерном «Репозиторий»
— Современные варианты баз данных
— 8 бесплатных курсов по большим языковым моделям
— 🎬 Video - Beautiful Idea 2023 - Return Template
— C# - Extended Property Patterns
— Game Dev Digest — Issue #215 - Shaders, Performance, Design and more
— C# .NET Top 10 Compiler and .NET environment limits
— Understanding Value Types and Reference Types in C#
— C# - Record Structs for Immutable Value Types
— How to Add Watermarks and Bookmarks in .NET using the PDF Library
— Advent of Code 2023: Day 6 - Wait For It
— 🎬 Video - How to use CodeBehind framework?
— C# - Interpolated String Handling
Посмотреть:
🌐.NET Configuration In Depth | .NET Conf 2023
🌐 6 INSANE Things You Didn't Know You Could Write in C# (⏱ 12:26)
🌐 Why Aren't More Developers Using C#? (⏱ 10:55)
Хорошего дня!
@csharp_ci
Что выведет на экран этот код?
Anonymous Quiz
43%
True True
17%
True False
16%
False True
24%
False False
Классная библиотека для структурированного и красочного вывода любого объекта в консоль, трассировку, отладочные события или ваш собственный пользовательский вывод.
https://github.com/karenpayneoregon/csharp-11-ef-core-7-features/tree/master/DumpifySample
@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
Изучаем разработку на .net и С#
1. Что такое бизнес логика и как она реализуется в приложении
2. Что такое JWT аутентификация и как ее использовать в C#
3. Что такое валидация моделей и валидация вообще
4. Зачем нужна интеграция с разными сервисами и как ее делать на примере github
5. Как подключить БД к проекту - Entity Framework Core
6. Работа с БД через EF Core | для чего нужен AutoMapper
7. Закрепляем цикл разработки на C# используя изученныe технологии #1
8. Закрепляем цикл разработки на C# используя изученныe технологии #2
9. Подключаем swagger документацию в asp.net core
10. Начинаем работать с логированием в C#
#video #csharp
https://www.youtube.com/watch?v=5nGuYcm-lM0&list=PLmmIuINqEtvwYxvF_ty6c1tsc3Hbg4E-G
@csharp_ci
1. Что такое бизнес логика и как она реализуется в приложении
2. Что такое JWT аутентификация и как ее использовать в C#
3. Что такое валидация моделей и валидация вообще
4. Зачем нужна интеграция с разными сервисами и как ее делать на примере github
5. Как подключить БД к проекту - Entity Framework Core
6. Работа с БД через EF Core | для чего нужен AutoMapper
7. Закрепляем цикл разработки на C# используя изученныe технологии #1
8. Закрепляем цикл разработки на C# используя изученныe технологии #2
9. Подключаем swagger документацию в asp.net core
10. Начинаем работать с логированием в C#
#video #csharp
https://www.youtube.com/watch?v=5nGuYcm-lM0&list=PLmmIuINqEtvwYxvF_ty6c1tsc3Hbg4E-G
@csharp_ci
https://infoworld.com/article/3711422/the-best-new-features-in-microsoft-net-8.html #aspnetcore
@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Дайджест полезных материалов из мира C# за неделю
Почитать:
— Разворачиваем и заворачиваем в docker проект ASP.NET core на Ubuntu в связке с PostgreSQL
— Пример для иллюстрации принципов SOLID который я (кажется) понял
— Наиболее часто используемые команды Linux
— 79 Ресурсов, которые следует прочитать, чтобы улучшить свои навыки в области проектирования систем:
— Бесплатные сертификационные курсы для специалистов по данным
— Road Run, или как я свою первую игру делал. Часть 6
— C#: Bug ou Feature?
— Mejorando Rendimiento y Escalabilidad: Guía de Caché Distribuido en ASP.NET Core
— Get The Total Free Space Available On A Drive
— Get The Total Free Space Available On A Drive
— C# - System.Text.Json Source Generators
— Game Dev Digest — Issue #216 - The Road Ahead
— Get The Total Free Space Available On A Drive
— Primary Constructors in C# 12.0
— Convert Excel to CSV or CSV to Excel in C#
— How to Build a Razor Class Library for Web Camera Access
Посмотреть:
🌐 Mixtral 8x7B - это сет из 8 нейронок, которые работают вместе
🌐 Unlock Creativity with .NET Generate, Validate and Customize Random Words Effortlessly! 🚀 (⏱ 11:18)
🌐 NativeAOT in .NET 8 Has One Big Problem (⏱ 14:47)
🌐 The 2 New Web Application Types Added in .NET 8 (⏱ 10:33)
Хорошего дня!
@csharp_ci
Почитать:
— Разворачиваем и заворачиваем в docker проект ASP.NET core на Ubuntu в связке с PostgreSQL
— Пример для иллюстрации принципов SOLID который я (кажется) понял
— Наиболее часто используемые команды Linux
— 79 Ресурсов, которые следует прочитать, чтобы улучшить свои навыки в области проектирования систем:
— Бесплатные сертификационные курсы для специалистов по данным
— Road Run, или как я свою первую игру делал. Часть 6
— C#: Bug ou Feature?
— Mejorando Rendimiento y Escalabilidad: Guía de Caché Distribuido en ASP.NET Core
— Get The Total Free Space Available On A Drive
— Get The Total Free Space Available On A Drive
— C# - System.Text.Json Source Generators
— Game Dev Digest — Issue #216 - The Road Ahead
— Get The Total Free Space Available On A Drive
— Primary Constructors in C# 12.0
— Convert Excel to CSV or CSV to Excel in C#
— How to Build a Razor Class Library for Web Camera Access
Посмотреть:
🌐 Mixtral 8x7B - это сет из 8 нейронок, которые работают вместе
🌐 Unlock Creativity with .NET Generate, Validate and Customize Random Words Effortlessly! 🚀 (⏱ 11:18)
🌐 NativeAOT in .NET 8 Has One Big Problem (⏱ 14:47)
🌐 The 2 New Web Application Types Added in .NET 8 (⏱ 10:33)
Хорошего дня!
@csharp_ci
Но главной особенностью является новый API массового обновления.
Добавлено два новых метода:
- ExecuteUpdate
- ExecuteDelete
Разумеется, есть асинхронные перегрузки каждого из них.
ExecuteUpdate
позволяет запустить массовое обновление с помощью LINQ
. ExecuteDelete
позволяет написать запрос на удаление с помощью LINQ
. Почему это полезно?
Теперь вы можете писать оптимизированные запросы
UPDATE и DELETE.
@csharp_ciPlease open Telegram to view this post
VIEW IN TELEGRAM