Forwarded from Machinelearning
Недавно, в одном из интервью Генеральный директор Anthropic Дэрио Амодеи предупредил, что ИИ может ликвидировать почти половину всех вакансий начального уровня для "белых воротничков" и поднять безработицу до 10-20% в течение следующих пяти лет.
Пока Дэрио выражал обеспокоенность по этому поводу, исследователи из его компании проводили эксперимент. Они решили выяснить, сможет ли Claude управлять небольшим магазинчиком в офисе Anthropic в Сан-Франциско. Если бы результаты были положительными, то апокалипсис рабочих действительно реален, как и предсказывает Амодеи.
В эксперименте перед Claude (3.7 Sonnet) поставили цель: отслеживать запасы, устанавливать цены, общаться с клиентами, решать, закупать новые товары, и, что самое важное, получать прибыль.
Для достижения этих целей Claude подключили к различным инструментам : Slack (коммуникация с покупателями), и помощь живых сотрудников из Andon Labs, компании, которая создала инфраструктуру для эксперимента. Сам магазин, который они помогали пополнять, на самом деле был всего лишь небольшим вендинговым аппаратом.
Эксперимент вышел из-под контроля практически сразу:
Эксперимент показал, что ИИ пока не готов забирать работу у людей. Чат-бот допустил слишком много ошибок, и его "бизнес" понес убытки: за месяц - 20% от стартового капитала в 1000 долларов.
Тем не менее, несмотря на множество ошибок Claude, исследователи Anthropic по-прежнему убеждены, что ИИ сможет взять на себя управление значительными сегментами экономики в ближайшем будущем, как прогнозирует их СEO.
Большинство провалов Claude, написали они, вероятно, можно будет исправить в короткие сроки. Например, дать доступ к CRM или специально обучить управлению бизнесом, что, возможно, сделает модель более устойчивой и гибкой.
@ai_machinelearning_big_data
#news #ai #ml #Сlaude
Please open Telegram to view this post
VIEW IN TELEGRAM
📘 Обновлённый обзор C#: история версий и ключевые новшества
Microsoft опубликовала подробную хронологию C# — от версии 1.0 до последней, показывая эволюцию языка за 20+ лет:
🕰️ Обзор ключевых этапов:
• C# 1.0–2.0 — классика: базовые ООП, exception-обработка, типы значений,
• C# 3.0 — революция LINQ,
• C# 4.0 —
• C# 5.0 —
• C# 6.0 — улучшения синтаксиса: string interpolation, expression-bodied members, null-условные выражения
• C# 7.x —
• C# 8.0 — nullable reference types,
• C# 9.0 —
• C# 10 — глобальные
• C# 11 — raw string literals, generic math, pattern matching improvements
• C# 12 и далее — ожидаются расширенные метапрограммирование, списочные выражения, улучшения в безопасность и производительности
🔧 Почему это важно:
• Язык постоянно развивается, становясь выразительнее, безопаснее и удобнее
• Новые версии дают мощные инструменты — для асинхронного программирования, функционального стиля и более чистого кода
• Понимание изменений помогает быстрее адаптироваться к трендам и выбирать актуальный инструментальный стек
💡 Если вы разрабатываете на C#, стоит ознакомиться с историей версий — и понять, какие фичи уже доступны, а что стоит ожидать в будущем.
👉 Подробнее
@csharp_ci
#dotnet #csharp #programming #developer #language #whatsnew #technology
Microsoft опубликовала подробную хронологию C# — от версии 1.0 до последней, показывая эволюцию языка за 20+ лет:
🕰️ Обзор ключевых этапов:
• C# 1.0–2.0 — классика: базовые ООП, exception-обработка, типы значений,
generics
• C# 3.0 — революция LINQ,
lambda`-выражения, автоматические свойства, `var
• C# 4.0 —
dynamic
, улучшения COM и переговорчивость аннотации • C# 5.0 —
async/await
— асинхронность для всех • C# 6.0 — улучшения синтаксиса: string interpolation, expression-bodied members, null-условные выражения
• C# 7.x —
tuples
, pattern matching
, ref locals
, out variables
• C# 8.0 — nullable reference types,
ranges/indices
, асинхронные потоки • C# 9.0 —
record
, init-only properties
, top-level statements • C# 10 — глобальные
using
, file-scoped namespace
, улучшенные структуры • C# 11 — raw string literals, generic math, pattern matching improvements
• C# 12 и далее — ожидаются расширенные метапрограммирование, списочные выражения, улучшения в безопасность и производительности
🔧 Почему это важно:
• Язык постоянно развивается, становясь выразительнее, безопаснее и удобнее
• Новые версии дают мощные инструменты — для асинхронного программирования, функционального стиля и более чистого кода
• Понимание изменений помогает быстрее адаптироваться к трендам и выбирать актуальный инструментальный стек
💡 Если вы разрабатываете на C#, стоит ознакомиться с историей версий — и понять, какие фичи уже доступны, а что стоит ожидать в будущем.
👉 Подробнее
@csharp_ci
#dotnet #csharp #programming #developer #language #whatsnew #technology
Microsoft.Extensions.AI (Preview) — единый способ подключать ИИ в .NET
Библиотеки Microsoft.Extensions.AI призваны упростить жизнь .NET-разработчикам, которые начинают использовать генеративный ИИ в своих приложениях.
🧱 Вместо разрозненных SDK для каждого провайдера — единые "AI building blocks", которые можно подключать и переключать между OpenAI, Azure, Hugging Face и другими.
📦 Что даёт:
– Единый интерфейс для разных AI-провайдеров
– Простая интеграция в pipeline .NET-приложения
– Расширяемая архитектура: можно добавлять собственные провайдеры
– Поддержка RAG-сценариев, чат-интерфейсов, промптинга, трансформаций данных и т.д.
Полезно и для ASP.NET-приложений, и для десктопа, и для фона.
🧪 Пока в превью — но уже можно попробовать:
https://github.com/dotnet/ai-samples?tab=readme-ov-file#microsoftextensionsai-preview
#dotnet #ai #ml #microsoft
@csharp_ci
Библиотеки Microsoft.Extensions.AI призваны упростить жизнь .NET-разработчикам, которые начинают использовать генеративный ИИ в своих приложениях.
🧱 Вместо разрозненных SDK для каждого провайдера — единые "AI building blocks", которые можно подключать и переключать между OpenAI, Azure, Hugging Face и другими.
📦 Что даёт:
– Единый интерфейс для разных AI-провайдеров
– Простая интеграция в pipeline .NET-приложения
– Расширяемая архитектура: можно добавлять собственные провайдеры
– Поддержка RAG-сценариев, чат-интерфейсов, промптинга, трансформаций данных и т.д.
Полезно и для ASP.NET-приложений, и для десктопа, и для фона.
🧪 Пока в превью — но уже можно попробовать:
https://github.com/dotnet/ai-samples?tab=readme-ov-file#microsoftextensionsai-preview
#dotnet #ai #ml #microsoft
@csharp_ci
Задача: Замыкания в циклах и порядок выполнения
Рассмотрим следующий код на C#:
Вопросы:
Что выведет эта программа при запуске и почему?
Как минимально изменить код (не затрагивая содержимое Task.Run), чтобы на консоль выводились числа от 0 до 4 (по одному разу каждое)?
Подсказка: лямбда внутри Task.Run замыкает переменную i, а не её текущее значение.
@csharp_ci
Рассмотрим следующий код на C#:
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var tasks = new List<Task>();
for (int i = 0; i < 5; i++)
{
tasks.Add(Task.Run(() => Console.WriteLine($"Значение i = {i}")));
}
await Task.WhenAll(tasks);
}
}
Вопросы:
Что выведет эта программа при запуске и почему?
Как минимально изменить код (не затрагивая содержимое Task.Run), чтобы на консоль выводились числа от 0 до 4 (по одному разу каждое)?
Подсказка:
@csharp_ci
🖥️ Turbo Vision — современный порт классического фреймворка для текстовых интерфейсов (TUI), созданного Borland в 90-х. Проект сохраняет ностальгический стиль Turbo Pascal/C++, но добавляет кросс-платформенность и поддержку Unicode.
Инструмент по минимуму изменяет оригинальный API: старые приложения могут быть перенесены почти без правок. В комплекте идут знакомые виджеты: окна, меню, диалоги и даже встроенный текстовый редактор.
🤖 GitHub
@csharp_ci
Инструмент по минимуму изменяет оригинальный API: старые приложения могут быть перенесены почти без правок. В комплекте идут знакомые виджеты: окна, меню, диалоги и даже встроенный текстовый редактор.
🤖 GitHub
@csharp_ci
⚡️ Почему лучшие разработчики всегда на шаг впереди?
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: t.iss.one/ai_machinelearning_big_data
Python: t.iss.one/pythonl
Linux: t.iss.one/linuxacademiya
Мл собес t.iss.one/machinelearning_interview
C++ t.iss.one/cpluspluc
Docker: t.iss.one/DevopsDocker
Хакинг: t.iss.one/linuxkalii
МЛ: t.iss.one/machinelearning_ru
Devops: t.iss.one/DevOPSitsec
Data Science: t.iss.one/data_analysis_ml
Javascript: t.iss.one/javascriptv
C#: t.iss.one/csharp_ci
Java: t.iss.one/java_library
Базы данных: t.iss.one/sqlhub
Python собеседования: t.iss.one/python_job_interview
Мобильная разработка: t.iss.one/mobdevelop
Golang: t.iss.one/Golang_google
React: t.iss.one/react_tg
Rust: t.iss.one/rust_code
ИИ: t.iss.one/vistehno
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Frontend: t.iss.one/front
Big Data: t.iss.one/bigdatai
МАТЕМАТИКА: t.iss.one/data_math
Kubernets: t.iss.one/kubernetc
Разработка игр: https://t.iss.one/gamedev
Физика: t.iss.one/fizmat
SQL: t.iss.one/databases_tg
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.iss.one/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.iss.one/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.iss.one/memes_prog
🇬🇧Английский: t.iss.one/english_forprogrammers
🧠ИИ: t.iss.one/vistehno
🖥 Chatgpt для кода в тг: @Chatgpturbobot
📕Ит-книги: https://t.iss.one/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: t.iss.one/ai_machinelearning_big_data
Python: t.iss.one/pythonl
Linux: t.iss.one/linuxacademiya
Мл собес t.iss.one/machinelearning_interview
C++ t.iss.one/cpluspluc
Docker: t.iss.one/DevopsDocker
Хакинг: t.iss.one/linuxkalii
МЛ: t.iss.one/machinelearning_ru
Devops: t.iss.one/DevOPSitsec
Data Science: t.iss.one/data_analysis_ml
Javascript: t.iss.one/javascriptv
C#: t.iss.one/csharp_ci
Java: t.iss.one/java_library
Базы данных: t.iss.one/sqlhub
Python собеседования: t.iss.one/python_job_interview
Мобильная разработка: t.iss.one/mobdevelop
Golang: t.iss.one/Golang_google
React: t.iss.one/react_tg
Rust: t.iss.one/rust_code
ИИ: t.iss.one/vistehno
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Frontend: t.iss.one/front
Big Data: t.iss.one/bigdatai
МАТЕМАТИКА: t.iss.one/data_math
Kubernets: t.iss.one/kubernetc
Разработка игр: https://t.iss.one/gamedev
Физика: t.iss.one/fizmat
SQL: t.iss.one/databases_tg
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.iss.one/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.iss.one/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.iss.one/memes_prog
🇬🇧Английский: t.iss.one/english_forprogrammers
🧠ИИ: t.iss.one/vistehno
📕Ит-книги: https://t.iss.one/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Please open Telegram to view this post
VIEW IN TELEGRAM
🦠 Как писать код так, чтобы open-source проект рос сам по себе (как колония бактерий)
Неожиданный, но полезный принцип: код стоит писать как бактерии пишут ДНК.
Звучит странно, но у природы за миллиарды лет выработался стиль, который идеально подходит для быстрого роста и масштабирования. И он отлично ложится на open-source.
Что делает "бактериальный код" особенным:
– Он маленький — потому что каждая строка «стоит энергии»
– Он модульный — код разбит на независимые блоки (как опероны в генах)
– Он самодостаточный — кусок кода можно просто скопировать и вставить в другой проект, без зависимостей
Теперь представьте, что ваш код читают как библиотеку сниппетов.
Можно ли выдернуть одну функцию — и она сразу принесёт пользу?
Можно ли вставить ваш класс в чужой проект — и он просто заработает?
Если да, значит код "бактериальный" — и это хорошо.
Почему это работает:
Такой код легко распространяется, переиспользуется, адаптируется. Люди могут взять только нужное, не вникая в архитектуру всего проекта. И это ключ к живому open-source: когда код «живет отдельно от автора».
Теперь про монорепы.
Сложные проекты всё равно требуют структуры — как организм требует согласованной работы органов.
Это уже стиль "эукариот" — более крупный, связанный, менее гибкий, но подходящий для системного масштаба.
Вывод:
Хочешь сложную платформу — строй "монорепу".
Хочешь, чтобы твой open-source проект рос, развивался и жил без тебя — пиши код как бактерии:
маленько, модульно, автономно, копируемо.
Это стиль, который колонизировал всё: от термальных источников до вакуума в космосе. И он работает.
▶️ Оригинал пост от Karpathy
#opensource #кодстиль #cleanCode #dev #community #softwaredesign
Неожиданный, но полезный принцип: код стоит писать как бактерии пишут ДНК.
Звучит странно, но у природы за миллиарды лет выработался стиль, который идеально подходит для быстрого роста и масштабирования. И он отлично ложится на open-source.
Что делает "бактериальный код" особенным:
– Он маленький — потому что каждая строка «стоит энергии»
– Он модульный — код разбит на независимые блоки (как опероны в генах)
– Он самодостаточный — кусок кода можно просто скопировать и вставить в другой проект, без зависимостей
Теперь представьте, что ваш код читают как библиотеку сниппетов.
Можно ли выдернуть одну функцию — и она сразу принесёт пользу?
Можно ли вставить ваш класс в чужой проект — и он просто заработает?
Если да, значит код "бактериальный" — и это хорошо.
Почему это работает:
Такой код легко распространяется, переиспользуется, адаптируется. Люди могут взять только нужное, не вникая в архитектуру всего проекта. И это ключ к живому open-source: когда код «живет отдельно от автора».
Теперь про монорепы.
Сложные проекты всё равно требуют структуры — как организм требует согласованной работы органов.
Это уже стиль "эукариот" — более крупный, связанный, менее гибкий, но подходящий для системного масштаба.
Вывод:
Хочешь сложную платформу — строй "монорепу".
Хочешь, чтобы твой open-source проект рос, развивался и жил без тебя — пиши код как бактерии:
маленько, модульно, автономно, копируемо.
Это стиль, который колонизировал всё: от термальных источников до вакуума в космосе. И он работает.
#opensource #кодстиль #cleanCode #dev #community #softwaredesign
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 NetCoreDbg — отладчик .NET Core с поддержкой GDB и VSCode. Этот проект от Samsung предлагает альтернативный отладчик для .NET Core-приложений, который понимает как протокол GDB/MI, так и VSCode Debug Adapter Protocol. Особенно полезен для кросс-платформенной разработки — работает на Linux, Windows, macOS и даже экзотических архитектурах вроде RISC-V.
При сборке вместо традиционных решений на C++ здесь используется связка CMake и .NET SDK. А поддержка режима Interop позволяет отлаживать смешанный код (C# + нативные библиотеки) на Tizen и Linux.
🤖 GitHub
@csharp_ci
При сборке вместо традиционных решений на C++ здесь используется связка CMake и .NET SDK. А поддержка режима Interop позволяет отлаживать смешанный код (C# + нативные библиотеки) на Tizen и Linux.
🤖 GitHub
@csharp_ci
🍫 Hot Chocolate + GraphQL + .NET: Быстрый старт
Если ты хочешь использовать GraphQL в .NET‑проектах — обрати внимание на Hot Chocolate от ChilliCream. Это мощный, удобный и активно развиваемый GraphQL-сервер для .NET.
📎 Полный гайд: [antondevtips.com/blog/getting-started-with-hot-chocolate-graphql](https://antondevtips.com/blog/getting-started-with-hot-chocolate-graphql)
⚙️ Шаг 1: Установка
Создай новый ASP.NET Core проект:
🧱 Шаг 2: Настройка GraphQL
В файле Program.cs добавь следующее:
Создай класс Query.cs:
И добавь модели:
📬 Шаг 3: Запрос в браузере
Открой https://localhost:5000/graphql и выполни GraphQL-запрос:
🧠 Почему стоит выбирать Hot Chocolate?
- Поддержка annotation-based, code-first и schema-first подходов
- Отличная интеграция с EF Core
- Встроенная фильтрация, сортировка, пагинация, DataLoader
- Поддержка подписок (Subscriptions)
- Интерактивная IDE: Banana Cake Pop
📌 Полезные советы
Для продакшена отключи Banana Cake Pop, GET-запросы и интроспекцию
Используй .AddMutationType, .AddSubscriptionType, .AddFiltering, .AddSorting для расширения схемы
🚀 Полный гайд
Hot Chocolate — это простой способ внедрить GraphQL в .NET. Он удобен в настройке, гибкий в использовании и подходит для проектов любого масштаба.
Если ты хочешь использовать GraphQL в .NET‑проектах — обрати внимание на Hot Chocolate от ChilliCream. Это мощный, удобный и активно развиваемый GraphQL-сервер для .NET.
📎 Полный гайд: [antondevtips.com/blog/getting-started-with-hot-chocolate-graphql](https://antondevtips.com/blog/getting-started-with-hot-chocolate-graphql)
⚙️ Шаг 1: Установка
Создай новый ASP.NET Core проект:
dotnet new web -n Demo
cd Demo
dotnet add package HotChocolate.AspNetCore
🧱 Шаг 2: Настройка GraphQL
В файле Program.cs добавь следующее:
var builder = WebApplication.CreateBuilder(args);
builder.Services
.AddGraphQLServer()
.AddQueryType<Query>();
var app = builder.Build();
app.MapGraphQL();
app.Run();
Создай класс Query.cs:
public class Query
{
public Book GetBook() => new Book
{
Title = "C# in Depth",
Author = new Author { Name = "Jon Skeet" }
};
}
И добавь модели:
public class Book
{
public string Title { get; set; }
public Author Author { get; set; }
}
public class Author
{
public string Name { get; set; }
}
📬 Шаг 3: Запрос в браузере
Открой https://localhost:5000/graphql и выполни GraphQL-запрос:
{
book {
title
author {
name
}
}
}
🧠 Почему стоит выбирать Hot Chocolate?
- Поддержка annotation-based, code-first и schema-first подходов
- Отличная интеграция с EF Core
- Встроенная фильтрация, сортировка, пагинация, DataLoader
- Поддержка подписок (Subscriptions)
- Интерактивная IDE: Banana Cake Pop
📌 Полезные советы
Для продакшена отключи Banana Cake Pop, GET-запросы и интроспекцию
Используй .AddMutationType, .AddSubscriptionType, .AddFiltering, .AddSorting для расширения схемы
🚀 Полный гайд
Hot Chocolate — это простой способ внедрить GraphQL в .NET. Он удобен в настройке, гибкий в использовании и подходит для проектов любого масштаба.
🔌 WireMock.Net — мок-сервер для .NET-разработчиков. Этот порт популярного Java-инструмента WireMock позволяет тестировать HTTP-зависимости без реальных внешних сервисов. Проект поддерживает сложные сценарии: от стабов с шаблонами Handlebars до stateful-поведения и записи/воспроизведения запросов.
Мок-сервер можно запускать в разных режимах, как в памяти для юнит-тестов, так и в виде standalone-процесса, Windows-сервиса или Docker-контейнера. Для CI/CD есть интеграция с Testcontainers и .NET Aspire.
🤖 GitHub
@csharp_ci
Мок-сервер можно запускать в разных режимах, как в памяти для юнит-тестов, так и в виде standalone-процесса, Windows-сервиса или Docker-контейнера. Для CI/CD есть интеграция с Testcontainers и .NET Aspire.
🤖 GitHub
@csharp_ci
This media is not supported in your browser
VIEW IN TELEGRAM
🎮 Свежий Генератор игр для Unity теперь работает по принципу вайб-кодинга — всё делается через промпты прямо в движке.
🛠 Что умеет:
• Генерирует готовые ассеты, скрипты, 3D-модели и локации
• Работает внутри Unity — появляется чат-окно, где ты просто пишешь, что хочешь
• Unity бесплатен — качай и начинай без вложений
• Полно **гайдов на YouTube**, всё понятно за полчаса
• Главное— он реально работает, никаких подписок, всё локально
https://nimblefox.ai/
🛠 Что умеет:
• Генерирует готовые ассеты, скрипты, 3D-модели и локации
• Работает внутри Unity — появляется чат-окно, где ты просто пишешь, что хочешь
• Unity бесплатен — качай и начинай без вложений
• Полно **гайдов на YouTube**, всё понятно за полчаса
• Главное— он реально работает, никаких подписок, всё локально
https://nimblefox.ai/
🧰 Modern — набор инструментов для .NET, упрощающий разработку бэкенда
Modern — это лёгкий и расширяемый фреймворк, с которым можно собрать production-ready приложение всего из моделей и конфигурации. Поддерживает как SQL, так и NoSQL, подходит под разные архитектурные стили.
🔹 Что внутри:
• Универсальные репозитории для SQL и NoSQL
• Сервисы с кэшированием и без
• In-memory-сервисы с фильтрацией
• Кэши на Redis и в памяти
• CQRS-запросы и команды поверх репозиториев
• Готовые контроллеры для всех видов сервисов
• Поддержка OData-контроллеров
📦 Все компоненты гибко настраиваются и легко заменяются. Отличный выбор для тех, кто хочет писать меньше шаблонного кода и быстрее выходить в прод.
Github
Modern — это лёгкий и расширяемый фреймворк, с которым можно собрать production-ready приложение всего из моделей и конфигурации. Поддерживает как SQL, так и NoSQL, подходит под разные архитектурные стили.
🔹 Что внутри:
• Универсальные репозитории для SQL и NoSQL
• Сервисы с кэшированием и без
• In-memory-сервисы с фильтрацией
• Кэши на Redis и в памяти
• CQRS-запросы и команды поверх репозиториев
• Готовые контроллеры для всех видов сервисов
• Поддержка OData-контроллеров
📦 Все компоненты гибко настраиваются и легко заменяются. Отличный выбор для тех, кто хочет писать меньше шаблонного кода и быстрее выходить в прод.
Github
📂 Microsoft открыла исходный код DocumentDB — нового стандарта NoSQL-баз на основе PostgreSQL
Теперь ядро Cosmos DB (MongoDB API) доступно всем — Microsoft представила DocumentDB, документоориентированную базу данных с открытым исходным кодом. Это серьёзный шаг для open source-сообщества и большой вклад в развитие NoSQL на базе PostgreSQL.
🔧 Что входит в DocumentDB:
▪️ pg_documentdb_core — расширение PostgreSQL с поддержкой BSON, включает:
- индексацию по полям, включая гео и составные
- векторный поиск (AI, NLP, рекомендации)
- аутентификацию SCRAM
▪️ pg_documentdb_api — API-уровень для CRUD-операций, запросов и управления индексами
🐳 Как попробовать:
1. Установите Docker
2. Клонируйте проект:
Соберите и запустите:
Подключение:
🔗 Репозиторий: https://github.com/microsoft/documentdb
DocumentDB — это не просто адаптация под Mongo, а новая точка входа в NoSQL на мощной базе PostgreSQL.
Теперь ядро Cosmos DB (MongoDB API) доступно всем — Microsoft представила DocumentDB, документоориентированную базу данных с открытым исходным кодом. Это серьёзный шаг для open source-сообщества и большой вклад в развитие NoSQL на базе PostgreSQL.
🔧 Что входит в DocumentDB:
▪️ pg_documentdb_core — расширение PostgreSQL с поддержкой BSON, включает:
- индексацию по полям, включая гео и составные
- векторный поиск (AI, NLP, рекомендации)
- аутентификацию SCRAM
▪️ pg_documentdb_api — API-уровень для CRUD-операций, запросов и управления индексами
🐳 Как попробовать:
1. Установите Docker
2. Клонируйте проект:
git clone https://github.com/microsoft/documentdb.git
Соберите и запустите:
docker build . -f .devcontainer/Dockerfile -t documentdb
docker run -v $(pwd):/home/documentdb/code -it documentdb /bin/bash
cd code && make && sudo make install
./scripts/start_oss_server.sh -t documentdb
Подключение:
psql -p 9712 -h localhost -d postgres
🔗 Репозиторий: https://github.com/microsoft/documentdb
DocumentDB — это не просто адаптация под Mongo, а новая точка входа в NoSQL на мощной базе PostgreSQL.
ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 2025 ГОДУ? 🚀
Чтобы стать Senior C# разработчиком сегодня, нужно не только знать язык программирования и фреймворки. Нужно уметь строить гибкую архитектуру приложения, которую легко тестировать и менять под задачи бизнеса. Стань экспертом в построении гибкой архитектуры приложения!
👉 Стартуем 14 июля.
Курс ведет действующий архитектор и Principal Engineer Кирилл Ветчинкин.
Что будет на курсе:
✅ Создадим полноценный микросервис
✅ Разберем все тактические паттерны DDD
✅ Реализуем Use Case и Domain Service
✅ Напишем много тестов
✅ Реализуем HTTP, gRPC и Kafka адаптеры
Полная программа ТУТ 👉 https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2Vtzqwm7tdD&utm_campaign=4
А главное — ты с нуля разработаешь и запустишь микросервис, который максимально приближен к реальности "Диспетчеризация заказов на курьеров". Это будет крутым проектом в портфолио или основой для рабочих задач.
А еще:
— Проверим все домашки
— Поддержим в чате
— Проведем живые разборы
— Ответим на все вопросы
🔥 Не откладывай свой рост на потом: https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2Vtzqwm7tdD&utm_campaign=4
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2Vtzqwm7tdD
Чтобы стать Senior C# разработчиком сегодня, нужно не только знать язык программирования и фреймворки. Нужно уметь строить гибкую архитектуру приложения, которую легко тестировать и менять под задачи бизнеса. Стань экспертом в построении гибкой архитектуры приложения!
👉 Стартуем 14 июля.
Курс ведет действующий архитектор и Principal Engineer Кирилл Ветчинкин.
Что будет на курсе:
✅ Создадим полноценный микросервис
✅ Разберем все тактические паттерны DDD
✅ Реализуем Use Case и Domain Service
✅ Напишем много тестов
✅ Реализуем HTTP, gRPC и Kafka адаптеры
Полная программа ТУТ 👉 https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2Vtzqwm7tdD&utm_campaign=4
А главное — ты с нуля разработаешь и запустишь микросервис, который максимально приближен к реальности "Диспетчеризация заказов на курьеров". Это будет крутым проектом в портфолио или основой для рабочих задач.
А еще:
— Проверим все домашки
— Поддержим в чате
— Проведем живые разборы
— Ответим на все вопросы
🔥 Не откладывай свой рост на потом: https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2Vtzqwm7tdD&utm_campaign=4
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2Vtzqwm7tdD
⚠️ Как вы обрабатываете ошибки в C#?
Многие используют исключения для управления потоком и быстрого фейла. Но в C# метод не сообщает, какие именно исключения он может выбросить — это не видно в сигнатуре.
🔍 Мой подход:
Исключения — только для исключительных ситуаций.
Если метод может ожидаемо провалиться, пусть это будет явно.
✅ Используйте Result-паттерн:
— Метод возвращает
— Caller обязан проверить
— Код становится предсказуемее и легче тестируется
— Дополнительно: пропускная способность может быть выше, чем при
Пример:
Подробнее
Многие используют исключения для управления потоком и быстрого фейла. Но в C# метод не сообщает, какие именно исключения он может выбросить — это не видно в сигнатуре.
🔍 Мой подход:
Исключения — только для исключительных ситуаций.
Если метод может ожидаемо провалиться, пусть это будет явно.
✅ Используйте Result-паттерн:
— Метод возвращает
Result<T>
вместо выбрасывания исключения — Caller обязан проверить
IsSuccess
и обработать ошибку — Код становится предсказуемее и легче тестируется
— Дополнительно: пропускная способность может быть выше, чем при
throw/catch
Пример:
Result<User> result = userService.FindById(id);
if (!result.IsSuccess)
return Error(result.Error);
Подробнее
Устали править копипастные участки кода и бороться с хаосом в проекте?
⏺️ Приглашаем на открытый урок «Переиспользуемый код на C#: архитектурный подход» 15 июля в 20:00 МСК. Разберём, как строить приложение по принципам SOLID, DRY, KISS и YAGNI и избавляться от дублирования на уровне архитектуры. Вы увидите, как декомпозировать систему на слои, внедрять зависимости через абстракции и собирать «Lego-приложение» для разных интерфейсов.
🔴 Встречаемся 15 июля в 20:00 МСК.
➡️ Успейте зарегистрироваться на урок количество участников ограничено: https://otus.pw/55rM/?erid=2W5zFJJBcuE
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
⏺️ Приглашаем на открытый урок «Переиспользуемый код на C#: архитектурный подход» 15 июля в 20:00 МСК. Разберём, как строить приложение по принципам SOLID, DRY, KISS и YAGNI и избавляться от дублирования на уровне архитектуры. Вы увидите, как декомпозировать систему на слои, внедрять зависимости через абстракции и собирать «Lego-приложение» для разных интерфейсов.
🔴 Встречаемся 15 июля в 20:00 МСК.
➡️ Успейте зарегистрироваться на урок количество участников ограничено: https://otus.pw/55rM/?erid=2W5zFJJBcuE
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.