Forwarded from Machinelearning
GitHub только что опубликовал свой последний отчет о состоянии открых проектов. Авторы отметили тренд на использование разработчиками технологий искусственного интеллекта и тренд на создание приложений на основе искусственного интеллекта.
Они выделили основные тенденции:
🔹 Разработчики все чаще используют генеративный ИИ: Все больше разработчиков работают с моделями OpenAI ( 92% ) и с моделями других ИИ-компаний; в 2023 году проекты генеративного ИИ с открытым исходным кодом входят в десятку самых популярных проектов по количеству контрибьюторов.
🔹 Наблюдается тренд на работу с облачными приложениями:
Развертывание облаков становится стандартом; резко возросло количество использования разработчиками
Docker
контейнеров, IaC
и других облачных нативных технологий.🔹 В 2023 году на GitHub было создано 98 млн новых проектов (за 2022 год - 85.7 млн, за 2021 - 61 млн, за 2020 - 60 млн). Общее число проектов достигло отметки в 420 млн (+27%), а число публично доступных репозиториев - 284 млн (+22%).
🔸 За год добавлено около 65 тысяч новых проектов, связанных с машинным обучением, это на 248% больше, чем в прошлом году. Число AI-проектов за год выросло на 148%.
🔸 Аудитория GitHub за год выросла на 20.2 млн пользователей (+26%) и теперь достигает 114 млн (в прошлом году было 20.5 млн, позапрошлом - 73 млн, три года назад - 56 млн). На первом месте по числу разработчиков находится США, на втором - Индия, на третьем - Китай, на четвёртом Бразилия, на пятом - Великобритания, на шестом - РФ, на седьмом Германия. К 2027 году Индия обгонит США как крупнейшее сообщество разработчиков на GitHub
🔸Javascript остается самым популярным язком. Второе место сохраняет за собой Python.Популярность TypeScript выросла на 37 %. и он вытеснил на четвёртое место язык Java. 5, 6 и 7 места удержали за собой языки С#, C++ и PHP. На восьмое место поднялся язык С, который вытеснил на девятое место Shell. Десятое место занял Go.
🔸 𝗥𝘂𝘀𝘁 растет быстрее всех остальных языков в этом году (рост на 40 % по сравнению с предыдущим годом).
🔸 𝟰.𝟯 миллиона открытых и приватных репозиториев используют 𝗗𝗼𝗰𝗸𝗲𝗿𝗳𝗶𝗹𝗲𝘀. Это является следcтвием роста использования Terraform и других облачных нативных технологий, который мы наблюдали в течение последних нескольких лет.
🔸 Сингапур занял первое место по количеству новых разработчиков на душу населения.
📌 Полный отчет
ai_machinelearning_big_data
Please open Telegram to view this post
VIEW IN TELEGRAM
The GitHub Blog
Octoverse: The state of open source and rise of AI in 2023
In this year’s Octoverse report, we study how open source activity around AI, the cloud, and Git are changing the developer experience.
1. Реляционные базы данных 💼
- Модель данных: Организует данные в таблицы со строками и столбцами.
- Примеры: MySQL, PostgreSQL, Oracle, SQL Server.
- Ключевые особенности: Соответствие стандарту ACID, высокая степень согласованности данных, структурированное хранение данных, поддержка SQL-запросов, хорошая приспособленность к сложным транзакциям и созданию отчетов.
2. База данных для документов 📄.
- Модель данных: Хранение данных в виде полуструктурированных или JSON-подобных документов.
- Примеры: MongoDB, CouchDB, Firebase Firestore.
- Ключевые особенности: Гибкая схема, горизонтальная масштабируемость, поддержка полуструктурированных данных, хорошо подходит для систем управления контентом и приложений реального времени.
3. In-Memory Database 🚀.
- Модель данных: Хранит данные полностью в оперативной памяти (ОЗУ) системы.
- Примеры: Redis, Memcached, Apache Ignite.
- Ключевые особенности: Сверхбыстрый поиск данных, низкая задержка, подходит для кэширования, управления сессиями и аналитики в реальном времени.
4. Графовые базы данных 🌐.
- Модель данных: Представляет данные в виде узлов и ребер для моделирования отношений.
- Примеры: Neo4j, Amazon Neptune, ArangoDB.
- Ключевые особенности: Эффективный запрос сложных отношений, обход графов, подходит для социальных сетей, рекомендательных систем и обнаружения мошенничества.
5. Базы данных для временных рядов 📈.
- Модель данных: Оптимизирована для упорядоченных по времени точек данных, таких как показания датчиков или файлы журналов.
- Примеры: InfluxDB, Prometheus, TimescaleDB.
- Ключевые особенности: Эффективное хранение и извлечение данных временных рядов, агрегирование, , идеально подходит для мониторинга IoT данных.
6. Пространственные базы данных 🌍.
- Модель данных: Предназначена для хранения пространственных или географических данных.
- Примеры: PostGIS (расширение для PostgreSQL), MongoDB Geospatial, Microsoft SQL Server Spatial.
- Ключевые особенности: Геопространственная индексация, поддержка пространственных типов данных (точки, полигоны, линии), подхожит для сервисов, основанных на определении местоположения, ГИС (географических информационных систем) и картографических приложений.
@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
Предварительная версия 2 .NET Aspire уже доступна! 🎉
Вы прочитать об этом на https://devblogs.microsoft.com/dotnet/announcing-dotnet-aspire-preview-2/.
Полный список изменений в примечаниях к выпуску на https://github.com/dotnet/aspire/releases/tag/v8.0.0-preview.2.23619.3.
@csharp_ci
Вы прочитать об этом на https://devblogs.microsoft.com/dotnet/announcing-dotnet-aspire-preview-2/.
Полный список изменений в примечаниях к выпуску на https://github.com/dotnet/aspire/releases/tag/v8.0.0-preview.2.23619.3.
@csharp_ci
Что выведет на экран этот код, с параметрами компиляции по умолчанию?
Anonymous Quiz
27%
Возникнет исключение OverflowException
21%
System.Byte System.Byte
38%
System.Byte System.Int32
14%
System.Int32 System.Int32
🔥 Дайджест полезных материалов из мира C# за неделю
Почитать:
— Ошибки и подозрительные места в исходниках .NET 8
— Топ-10 ошибок, найденных в C#-проектах за 2023 год
— .NET CLI — Зачем загружать все родительские сборки при загрузке сборки
— Атомарный подход в Unity
— Как на самом деле Async/Await работают в C#. Часть 1. Проблемы модели асинхронного программирования (APM)
— MIDI → Метр → MIDI
— Zenject: приемы и хитрости
— Windows form move items up/down in ListView and more
— C# - Using Static Caches for Efficiency
— Bugs and suspicious places in .NET 8 source code
— HashMap in C#: Detailed Guide
— Circuit Breaker Pattern in C#
— Advent of Code 2023: Day 13 Point of Incidence
— C# - with expressions
— Removing comments from code-based data source
— How to Customize the Rows of ASP.NET Core DataGrid using Templates
— Using ByteSize to Represent Byte Size
Посмотреть:
🌐 C# 12 - The Best New Features from the .NET 8 Release! (⏱ 18:53)
🌐 The New Data Protection Features of .NET 8 (GDPR) (⏱ 14:10)
🌐 Don’t Use the Wrong LINQ Methods (⏱ 12:42)
Хорошего дня!
@csharp_ci
Почитать:
— Ошибки и подозрительные места в исходниках .NET 8
— Топ-10 ошибок, найденных в C#-проектах за 2023 год
— .NET CLI — Зачем загружать все родительские сборки при загрузке сборки
— Атомарный подход в Unity
— Как на самом деле Async/Await работают в C#. Часть 1. Проблемы модели асинхронного программирования (APM)
— MIDI → Метр → MIDI
— Zenject: приемы и хитрости
— Windows form move items up/down in ListView and more
— C# - Using Static Caches for Efficiency
— Bugs and suspicious places in .NET 8 source code
— HashMap in C#: Detailed Guide
— Circuit Breaker Pattern in C#
— Advent of Code 2023: Day 13 Point of Incidence
— C# - with expressions
— Removing comments from code-based data source
— How to Customize the Rows of ASP.NET Core DataGrid using Templates
— Using ByteSize to Represent Byte Size
Посмотреть:
🌐 C# 12 - The Best New Features from the .NET 8 Release! (⏱ 18:53)
🌐 The New Data Protection Features of .NET 8 (GDPR) (⏱ 14:10)
🌐 Don’t Use the Wrong LINQ Methods (⏱ 12:42)
Хорошего дня!
@csharp_ci
В основе рефакторинга лежит последовательность небольших эквивалентных (то есть сохраняющих поведение) преобразований. Поскольку каждое преобразование маленькое, программисту легче проследить за его правильностью, и в то же время вся последовательность может привести к существенной перестройке программы и улучшению её согласованности и чёткости.
Одно изменение (рефакторинг) мало что дает. Но последовательное применение различных техник рефакторинга приводит к значительным изменениям в коде.
Нет лучшего способа научиться рефакторингу, чем практика.
Представляем вам упражнения по рефакторингу и 5 потрясающих техник рефакторинга кода с примерами.
📌 Читать
@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
Вот 10 лучших статей еженедельника The .NET за этот год.
1. Архитектура вертикального среза - https://www.milanjovanovic.tech/blog/vertical-slice-architecture.
2. Использование нескольких EF Core DbContexts в одном приложении - https://www.milanjovanovic.tech/blog/using-multiple-ef-core-dbcontext-in-single-application
3. Правильный способ использования HttpClient в .NET - https://www.milanjovanovic.tech/blog/the-right-way-to-use-httpclient-in-dotnet
4. Как подойти к созданию чистой структуры папок в архитектуре - https://www.milanjovanovic.tech/blog/clean-architecture-folder-structure
5. От монолита к микросервисам -https://www.milanjovanovic.tech/blog/monolith-to-microservices-how-a-modular-monolith-helps
6. Реализация API-шлюза для микросервисов с помощью YARP - https://www.milanjovanovic.tech/blog/implementing-an-api-gateway-for-microservices-with-yarp
7. Health Checks In ASP .NET Core For Monitoring Your Applications - https://www.milanjovanovic.tech/blog/health-checks-in-asp-net-core
8. Запуск фоновых задач в ASP .NET Core - https://www.milanjovanovic.tech/blog/running-background-tasks-in-asp-net-core
9. Функциональная обработка ошибок в .NET с помощью шаблона результатов - https://www.milanjovanovic.tech/blog/functional-error-handling-in-dotnet-with-the-result-pattern
10. Паттерн CQRS с помощью MediatR - https://www.milanjovanovic.tech/blog/cqrs-pattern-with-mediatr
@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
Вот примеры лучших практик при разработке приложений :
- Логирования запросов в Serilog
- Использование системы конфигов
- Добавление
CorrelationId
в логи- Регистрация всех важных событий
- Использование
Seq
при разработкиЕсли вы хотите узнать, как получить максимальную отдачу от Serilog, ознакомьтесь с этой статьей.
@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ В модульном монолите можно построить взаимодействие модулей двумя способами:
1) Вызовы методов (синхронные)
2) Обмен сообщениями (асинхронный)
Но какой из них выбрать?
📌 Читать статью
@csharp_ci
1) Вызовы методов (синхронные)
2) Обмен сообщениями (асинхронный)
Но какой из них выбрать?
📌 Читать статью
@csharp_ci
В этой статье перечислены некоторые из основных актуальных изменений в документации.
📌 Читать
@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
Декоратор (англ. Decorator) — структурный шаблон проектирования, предназначенный для динамического подключения дополнительного поведения к объекту.
Паттерн декоратор предоставляет гибкую альтернативу практике создания подклассов с целью расширения функциональности.
Для его реализации вы можете использовать инъекции зависимостей
ASP .NET Core.
📌 Вот полная реализация
@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
Не стоит начинать новый проект с микросервисов, даже если вы уверены, что ваше приложение будет достаточно большим, чтобы это было целесообразно.
Основная причина этого - сложность систем на основе микросервисов.
За микросервисы приходится платить:
- Сложность координации работы команды
- Потосянная борьба с отказами
- Автоматизация развертывания
- Управление множеством сервисов
Но я хочу обратить ваше внимание на кое-что еще.
Есть способ объединить:
- физическую архитектуру монолитов
- логическую архитектуру микросервисов.
И получить преимущества обоих.
Это называется модульный монолит.
Модульный монолит — это подход к проектированию приложений, который позволяет, с одной стороны, отложить во времени операционную сложность использования микросервисов, а с другой — избежать превращения монолитной системы в большой комок грязи.
📌 Почитать про модульные монолиты
📌Дорожная карта разработчиков .NET/C# в 2024 году для начинающих
У вас когда-нибудь была возможность построить такую архитектуру ?
@csharp_ci
Основная причина этого - сложность систем на основе микросервисов.
За микросервисы приходится платить:
- Сложность координации работы команды
- Потосянная борьба с отказами
- Автоматизация развертывания
- Управление множеством сервисов
Но я хочу обратить ваше внимание на кое-что еще.
Есть способ объединить:
- физическую архитектуру монолитов
- логическую архитектуру микросервисов.
И получить преимущества обоих.
Это называется модульный монолит.
Модульный монолит — это подход к проектированию приложений, который позволяет, с одной стороны, отложить во времени операционную сложность использования микросервисов, а с другой — избежать превращения монолитной системы в большой комок грязи.
📌 Почитать про модульные монолиты
📌Дорожная карта разработчиков .NET/C# в 2024 году для начинающих
У вас когда-нибудь была возможность построить такую архитектуру ?
@csharp_ci
Задействуйте все свои навыки создайте самую быструю реализацию для решения этой задачи!
📌 Реализация известного Java челенджа на .NET
🔎 Github
🔎Пример решения
@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
#ПятничныйКвиз
В скобках операторы приведения. опретаоры +- унарные.
т.е. получается,
берем -2 кастуем к long
к -2 применяем унарный оператор + и кастуем к int получаем -2
к -2 применяем унарный оператор - получаем 2 и кастуем к char
к 2 применяем унарный оператор + получаем 2 и кастуем к byte
@csharp_ci
т.е. получается,
берем -2 кастуем к long
к -2 применяем унарный оператор + и кастуем к int получаем -2
к -2 применяем унарный оператор - получаем 2 и кастуем к char
к 2 применяем унарный оператор + получаем 2 и кастуем к byte
@csharp_ci
🔥 Дайджест полезных материалов из мира C# за неделю
Почитать:
— Изучаем C# в 2024 году
— Университет MIT: бесплатные онлайн-курсы для программистов и студентов.
— Включаем Nullable reference type в Unity за несколько минут
— Как Uber вычисляет расчетное время прибытия при полумиллионе запросов в секунду
— Метод быстрого марша (Fast Marching Method)
— Как на самом деле Async/Await работают в C#. Часть 2 Артефакты от EAP шаблона, SynchronizationContext
— Сто паттернов для разработки корпоративных программ. Часть первая
— GigaChat API для .NET Core
— Собираем автономную игру на C# в 2 килобайтах
— Чистая архитектура на примере
— Chain Of Responsibility Pattern In C# – Simplified How-To Guide
— Concurrent Collections in C#
— Game Dev Digest — Issue #218 - Patterns, Abstractions, Complete Tutorials and more
— How I Built a NuGet Package
— How to Edit and Convert PDF, PNG, JPEG, and TIFF Files in Blazor Apps
— Understanding the Fundamentals of Database Programming Languages
— Exploring Function Behavior in C#
— Demystifying OOP in C#: Your Guide to Building Robust and Flexible Applications
— Beginner's guide to Unit Testing with NUnit.
— Solid Principle : Liskov Substitution Principle
Посмотреть:
🌐 Introduction to Machine Learning in C#. Classification using ML.NET (⏱ 31:03)
🌐 Await Async Might Change Completely in .NET 9 (⏱ 09:55)
🌐 "Stop Using Singletons in .NET!" | Code Cop #009 (⏱ 13:52)
Хорошего дня!
@csharp_ci
Почитать:
— Изучаем C# в 2024 году
— Университет MIT: бесплатные онлайн-курсы для программистов и студентов.
— Включаем Nullable reference type в Unity за несколько минут
— Как Uber вычисляет расчетное время прибытия при полумиллионе запросов в секунду
— Метод быстрого марша (Fast Marching Method)
— Как на самом деле Async/Await работают в C#. Часть 2 Артефакты от EAP шаблона, SynchronizationContext
— Сто паттернов для разработки корпоративных программ. Часть первая
— GigaChat API для .NET Core
— Собираем автономную игру на C# в 2 килобайтах
— Чистая архитектура на примере
— Chain Of Responsibility Pattern In C# – Simplified How-To Guide
— Concurrent Collections in C#
— Game Dev Digest — Issue #218 - Patterns, Abstractions, Complete Tutorials and more
— How I Built a NuGet Package
— How to Edit and Convert PDF, PNG, JPEG, and TIFF Files in Blazor Apps
— Understanding the Fundamentals of Database Programming Languages
— Exploring Function Behavior in C#
— Demystifying OOP in C#: Your Guide to Building Robust and Flexible Applications
— Beginner's guide to Unit Testing with NUnit.
— Solid Principle : Liskov Substitution Principle
Посмотреть:
🌐 Introduction to Machine Learning in C#. Classification using ML.NET (⏱ 31:03)
🌐 Await Async Might Change Completely in .NET 9 (⏱ 09:55)
🌐 "Stop Using Singletons in .NET!" | Code Cop #009 (⏱ 13:52)
Хорошего дня!
@csharp_ci