Taras Kovalenko / Notes
Про мене
Вітаю у моєму блозі про розробку програмного забезпечення! Цей блог створено для того, щоб ділитися досвідом та знаннями, які я отримую під час роботи з сучасними технологіями .NET та веб-розробки. Тут ви знайдете навчальні матеріали, пояснення поточних тенденцій розробки, а також детальні розбори проблем та їх вирішення, з якими я стикаюся на своєму шляху.
Моя мета - ділитися корисною інформацією, яка може допомогти іншим розробникам у їхній роботі. Я постійно навчаюся, і завжди є щось нове для вивчення. Якщо ви помітили, що я щось пропустив, помилився, або маєте ідеї для покращення контенту - будь ласка, залишайте коментарі або надсилайте повідомлення. Я завжди відкритий до зворотного зв'язку та нових ідей!
Про мене
Я - провідний software engineer із понад 10-річним досвідом проєктування та розробки вебзастосунків і розподілених систем. Працюю із сучасною платформою .NET, ASP.NET Core, Entity Framework та TypeScript, створюючи продуктивні API, сервіси й інструменти для розробників. Проєктую cloud-native рішення для Azure та AWS, використовую Docker, Kubernetes, автоматизовані CI/CD-процеси й спостережуваність на базі OpenTelemetry. У розподілених системах застосовую event-driven architecture, RabbitMQ, Azure Service Bus, CQRS і Domain-Driven Design. Окремий напрям моєї роботи - інтеграція AI у прикладні системи, зокрема побудова AI-native сервісів та інструментів на основі Model Context Protocol. Фокусуюся на рішеннях, які залишаються масштабованими, надійними та зрозумілими в довгостроковій підтримці.
Open-source проєкти
Я активно займаюсь розробкою інструментів для покращення якості коду та продуктивності розробників.
AzVault - кросплатформний desktop-клієнт для безпечної роботи з Azure Key Vault. Застосунок побудований на Tauri 2, Rust, React і TypeScript, використовує автентифікацію через Azure CLI та не зберігає значення секретів або refresh tokens локально.
Ключові особливості:
- Перегляд і керування secrets, keys та certificates
- Створення, видалення, відновлення й остаточне очищення секретів
- Імпорт секретів із JSON та безпечні bulk-операції
- Глобальний пошук і command palette
- Локальний audit log із редагуванням чутливих даних
- Підтримка Windows, macOS і Linux
EntityLengths.Analyzer - це Roslyn аналізатор, який допомагає контролювати обмеження довжини рядків у C# коді. Він аналізує присвоєння властивостей та перевіряє їх відповідність обмеженням довжини, визначеним через атрибути або конфігурації Entity Framework.
Ключові особливості:
- Автоматична перевірка обмежень довжини рядків
- Інтеграція з Entity Framework конфігураціями
- Підтримка атрибутів для визначення обмежень
- Попередження на етапі компіляції
EntityLengths.Generator - це C# генератор вихідного коду, призначений для автоматичного створення констант довжини рядків на основі конфігурацій Entity Framework та анотацій даних. Аналізуючи конфігурації ваших моделей, він усуває потребу в ручному підтримуванні констант та зменшує ризик використання жорстко закодованих значень довжини у вашому додатку.
Ключові особливості:
- Автоматична генерація констант на основі EF конфігурацій
- Підтримка Data Annotations
- Зменшення ризику помилок при рефакторингу
- Покращення підтримки коду
CentralConfigGenerator - dotnet tool для автоматичного створення централізованих конфігураційних файлів для проєктів .NET. CentralConfigGenerator аналізує структуру вашого рішення і створює правильно налаштовані файли Directory.Build.props та Directory.Packages.props для стандартизації налаштувань у всіх ваших проектах.
Давайте разом вивчати та досліджувати світ сучасної розробки програмного забезпечення!