Эволюция визуализации данных: опыт DDPlanet с Grafana
Команда DDPlanet заменила собственный интерфейс на Grafana и Apache Airflow для автоматизации KPI и аналитики. Благодаря гибким дашбордам и уведомлениям в мессенджерах повысилась прозрачность работы и скорость реакции руководства.
Читать подробнее: https://habr.com/ru/articles/921156/
#ru
@dot_net_c_sharp | Другие наши каналы
Команда DDPlanet заменила собственный интерфейс на Grafana и Apache Airflow для автоматизации KPI и аналитики. Благодаря гибким дашбордам и уведомлениям в мессенджерах повысилась прозрачность работы и скорость реакции руководства.
Читать подробнее: https://habr.com/ru/articles/921156/
#ru
@dot_net_c_sharp | Другие наши каналы
❤2
Работа с вложенными ветками в Git: эффективный подход для крупных фич. В статье рассказывается о преимуществах stacked branches и как упростить ребейз и пуш цепочки таких веток с помощью опции --update-refs и кастомной команды git push-stack. Как правильно ребейзить стек веток в Git после squash-слияния. В статье объясняют, как с помощью ключа --onto избежать конфликтов при ребейзе стека, если одна из веток уже объединена в main с помощью squash, и как безопасно обновить и запушить такие ветки.
Подробности: https://andrewlock.net/working-with-stacked-branches-in-git-part-2/
#en
@dot_net_c_sharp | Другие наши каналы
Подробности: https://andrewlock.net/working-with-stacked-branches-in-git-part-2/
#en
@dot_net_c_sharp | Другие наши каналы
Как внедрить внешний код в игру на C# без крашей
В статье рассказывается, как через Reflection и изменение ключевых функций запустить изменённый клиент Stronghold Kingdoms и создать бота для автоматизации торговли и управления ресурсами в игре. Полезный опыт интеграции и работы с внутренним API.
Читать подробнее: https://habr.com/ru/articles/225663/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье рассказывается, как через Reflection и изменение ключевых функций запустить изменённый клиент Stronghold Kingdoms и создать бота для автоматизации торговли и управления ресурсами в игре. Полезный опыт интеграции и работы с внутренним API.
Читать подробнее: https://habr.com/ru/articles/225663/
#ru
@dot_net_c_sharp | Другие наши каналы
❤3
Точный замер времени в .NET: почему Stopwatch лучше DateTime для измерения производительности. В статье объясняется, как Stopwatch с высокоточным таймером HPET помогает получить точные результаты и избежать ошибок, связанных с ограничениями DateTime и системными нюансами.
Читать подробнее: https://habr.com/ru/articles/226279/
#ru
@dot_net_c_sharp | Другие наши каналы
Читать подробнее: https://habr.com/ru/articles/226279/
#ru
@dot_net_c_sharp | Другие наши каналы
❤2
Как справляться с интеграциями внешних XML-сервисов
Интеграции с внешними системами часто проблемны из-за устаревших технологий и нестабильности. В статье архитектор Алексей Мерсон рассказывает, как адаптировать, тестировать и изолировать такие сервисы для повышения надежности и удобства разработки.
Читать подробнее: https://habr.com/ru/companies/karuna/articles/574420/
#ru
@dot_net_c_sharp | Другие наши каналы
Интеграции с внешними системами часто проблемны из-за устаревших технологий и нестабильности. В статье архитектор Алексей Мерсон рассказывает, как адаптировать, тестировать и изолировать такие сервисы для повышения надежности и удобства разработки.
Читать подробнее: https://habr.com/ru/companies/karuna/articles/574420/
#ru
@dot_net_c_sharp | Другие наши каналы
Автоматическое обновление версии приложения с Azure DevOps
Статья рассказывает, как настроить автоматическое увеличение номера версии приложения в .NET Core при каждом коммите в ветку main через Azure DevOps Pipeline. Это помогает точно отслеживать актуальную версию продукта в разных средах. Автоматическое обновление версии в Azure DevOps
В статье описан скрипт для автоматического увеличения номера версии AssemblyVersion при каждой CI-сборке в ветке main. Новый номер версии фиксируется в отдельной локальной ветке без запуска повторных сборок. Автоматизация CI/CD: как автоматически объединять ветки и деплоить проект в Azure DevOps. В статье подробно показан пример настройки пайплайна, который при успешной сборке выполняет merge ветки в main с помощью PowerShell и загружает изменения в удалённый репозиторий.
Читать подробнее: https://habr.com/ru/articles/576464/
#ru
@dot_net_c_sharp | Другие наши каналы
Статья рассказывает, как настроить автоматическое увеличение номера версии приложения в .NET Core при каждом коммите в ветку main через Azure DevOps Pipeline. Это помогает точно отслеживать актуальную версию продукта в разных средах. Автоматическое обновление версии в Azure DevOps
В статье описан скрипт для автоматического увеличения номера версии AssemblyVersion при каждой CI-сборке в ветке main. Новый номер версии фиксируется в отдельной локальной ветке без запуска повторных сборок. Автоматизация CI/CD: как автоматически объединять ветки и деплоить проект в Azure DevOps. В статье подробно показан пример настройки пайплайна, который при успешной сборке выполняет merge ветки в main с помощью PowerShell и загружает изменения в удалённый репозиторий.
Читать подробнее: https://habr.com/ru/articles/576464/
#ru
@dot_net_c_sharp | Другие наши каналы
Эволюция программиста 2005–2025: от CRT-мониторов до квантовых алгоритмов
Эпохи развития программирования в России и в мире. Какие стадии прошли разработчики и к чему пришли в настоящий момент. Прогнозы на будущее.
Читать: «Эволюция программиста 2005–2025: от CRT-мониторов до квантовых алгоритмов»
#ru
@dot_net_c_sharp | Другие наши каналы
Эпохи развития программирования в России и в мире. Какие стадии прошли разработчики и к чему пришли в настоящий момент. Прогнозы на будущее.
Читать: «Эволюция программиста 2005–2025: от CRT-мониторов до квантовых алгоритмов»
#ru
@dot_net_c_sharp | Другие наши каналы
🤣1
6000 строк боли: как несистемный код убил игру с поддержкой крупного издателя. Опыт одного геймдев-разработчика показывает, что отсутствие архитектуры и хаос в коде могут погубить даже многообещающий проект. Учимся на чужих ошибках! Почему стоит постоянно учиться в геймдеве? Статья раскрывает, как страх удаления старого кода превращается в технический долг, тормозящий проект. Рост приходит через работу в команде, разбор чужого кода и постоянный фидбэк. Оставаться на месте — опаснее всего.
Читать подробнее: https://habr.com/ru/articles/922162/
#ru
@dot_net_c_sharp | Другие наши каналы
Читать подробнее: https://habr.com/ru/articles/922162/
#ru
@dot_net_c_sharp | Другие наши каналы
🔥4
Упрощение XAML в .NET MAUI: начиная с .NET 10 Preview 5, появилась возможность глобально объявлять пространства имён для XAML. Это избавляет от необходимости указывать xmlns и префиксы в каждом файле, делая код чище и удобнее для поддержки. Как избежать конфликтов типов в .NET MAUI XAML
В .NET MAUI могут возникать коллизии имен, например с собственными контролами и встроенными типами. В статье рассказывается, как с помощью XmlnsPrefix задать префиксы для пространств имён и избежать конфликтов в XAML. Важно учитывать, что сейчас это находится в предварительной версии с некоторыми багами.
Подробности: https://devblogs.microsoft.com/dotnet/simpler-xaml-in-dotnet-maui-10/
#en
@dot_net_c_sharp | Другие наши каналы
В .NET MAUI могут возникать коллизии имен, например с собственными контролами и встроенными типами. В статье рассказывается, как с помощью XmlnsPrefix задать префиксы для пространств имён и избежать конфликтов в XAML. Важно учитывать, что сейчас это находится в предварительной версии с некоторыми багами.
Подробности: https://devblogs.microsoft.com/dotnet/simpler-xaml-in-dotnet-maui-10/
#en
@dot_net_c_sharp | Другие наши каналы
🔥6❤2
Новый взгляд на работу с устаревшими системами: в статье описан опыт создания кастомного ORM и выбора эффективного протокола передачи данных для ускорения работы с базами Oracle и интеграции с WinForms. История борьбы с тормозами и хаосом в коде.
Читать подробнее: https://habr.com/ru/articles/922672/
#ru
@dot_net_c_sharp | Другие наши каналы
Читать подробнее: https://habr.com/ru/articles/922672/
#ru
@dot_net_c_sharp | Другие наши каналы
🔥2
Обзор современных инструментов логирования в .NET: почему ELK-стек востребован, несмотря на сложную настройку, и как он помогает собирать и анализировать логи через Elasticsearch и Kibana. Также рассматриваются альтернативы — Loki и .NET Aspire. Полезно для разработчиков. Настройка ELK для C#: простой способ интеграции логов и телеметрии через Elastic.Extensions.Logging и OpenTelemetry. В статье описывается запуск всех компонентов ELK через docker-compose и базовая конфигурация для сбора и визуализации данных в Kibana. Как настроить логирование в .NET с ELK и Serilog
В статье рассказывается о полезных инструментах для логирования в .NET: Filebeat для сбора логов, Serilog как продвинутый логгер и удобный Nuget-пакет Elastic для быстрой интеграции с ELK-стеком. Также упоминаются сложности и альтернативы.
Читать подробнее: https://habr.com/ru/articles/922942/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье рассказывается о полезных инструментах для логирования в .NET: Filebeat для сбора логов, Serilog как продвинутый логгер и удобный Nuget-пакет Elastic для быстрой интеграции с ELK-стеком. Также упоминаются сложности и альтернативы.
Читать подробнее: https://habr.com/ru/articles/922942/
#ru
@dot_net_c_sharp | Другие наши каналы
👍3
n8n: установка, настройка и интеграция с Python, Node.JS и PHP
Подробный туториал по установке и настройки n8n. Примеры интеграции с Python, Node.JS и PHP и взаимодействия с LLM Mistral AI.
Читать: «n8n: установка, настройка и интеграция с Python, Node.JS и PHP»
#ru
@dot_net_c_sharp | Другие наши каналы
Подробный туториал по установке и настройки n8n. Примеры интеграции с Python, Node.JS и PHP и взаимодействия с LLM Mistral AI.
Читать: «n8n: установка, настройка и интеграция с Python, Node.JS и PHP»
#ru
@dot_net_c_sharp | Другие наши каналы
.NET 10 упрощает запуск приложений: теперь для запуска C# достаточно одного файла без проекта .csproj. Этот подход облегчает изучение языка и создание утилит, позволяя новичкам и разработчикам быстро запускать и настраивать код через dotnet run app.cs. Новый опыт запуска single-file приложений в .NET 10 позволяет выполнять C#-скрипты напрямую через «dotnet app.cs» без команды run. Появилась поддержка публикации NativeAOT-приложений и удобная работа с shebang в Linux. Подробнее об обновлениях в статье.
Подробности: https://andrewlock.net/exploring-dotnet-10-preview-features-1-exploring-the-dotnet-run-app.cs/
#en
@dot_net_c_sharp | Другие наши каналы
Подробности: https://andrewlock.net/exploring-dotnet-10-preview-features-1-exploring-the-dotnet-run-app.cs/
#en
@dot_net_c_sharp | Другие наши каналы
👍9🔥9
Оптимизация работы с коллекциями в .NET: новые версии ускоряют метод Any() благодаря внутренним улучшениям, но в многопоточных коллекциях лучше использовать IsEmpty или итератор. В статье также представлен анализатор для автоматического поиска неэффективного кода.
Читать подробнее: https://habr.com/ru/companies/skbkontur/articles/917570/
#ru
@dot_net_c_sharp | Другие наши каналы
Читать подробнее: https://habr.com/ru/companies/skbkontur/articles/917570/
#ru
@dot_net_c_sharp | Другие наши каналы
🥰2
Forwarded from Типичный программист
ntfy: крутой open-source сервис для пуш-уведомлений
Эта open source тулза для пуш-уведомлений, которая позволяет отправлять уведомления на телефон или компьютер с помощью простых HTTP-запросов PUT/POST. Кто пробовал Telepush или Pushover — найдёт много общего: отправляй хоть curl’ом, хоть через свой бэкенд.
Настроить проще, чем объяснить заказчику дедлайн. Для всего, что должно всплывать мгновенно — тудушки, алёрты, CI/CD или, не дай бог, упавший прод.
Поддерживает и яблоки и андройд, так что пользуйтесь
Эта open source тулза для пуш-уведомлений, которая позволяет отправлять уведомления на телефон или компьютер с помощью простых HTTP-запросов PUT/POST. Кто пробовал Telepush или Pushover — найдёт много общего: отправляй хоть curl’ом, хоть через свой бэкенд.
Настроить проще, чем объяснить заказчику дедлайн. Для всего, что должно всплывать мгновенно — тудушки, алёрты, CI/CD или, не дай бог, упавший прод.
Поддерживает и яблоки и андройд, так что пользуйтесь
👍2❤1
Новые возможности .NET 10 и локальные AI-модели помогают быстро создавать подробные описания для изображений (AltText). Это улучшает доступность и автоматизирует процессы без задержек и ограничений облака. Простая реализация на C# демонстрирует, как улучшить UX с помощью AI.
Подробности: https://devblogs.microsoft.com/dotnet/alttext-generator-csharp-local-models/
#en
@dot_net_c_sharp | Другие наши каналы
Подробности: https://devblogs.microsoft.com/dotnet/alttext-generator-csharp-local-models/
#en
@dot_net_c_sharp | Другие наши каналы
❤2
Microsoft выпустил бесплатный курс по Model Context Protocol с практикой на Python, C# и Java
Microsoft запустил бесплатный практический курс по протоколу Model Context Protocol (MCP) с примерами на Python, C#, Java и TypeScript для разработки LLM-приложений и серверов MCP.
Читать: «Microsoft выпустил бесплатный курс по Model Context Protocol с практикой на Python, C# и Java»
#ru
@dot_net_c_sharp | Другие наши каналы
Microsoft запустил бесплатный практический курс по протоколу Model Context Protocol (MCP) с примерами на Python, C#, Java и TypeScript для разработки LLM-приложений и серверов MCP.
Читать: «Microsoft выпустил бесплатный курс по Model Context Protocol с практикой на Python, C# и Java»
#ru
@dot_net_c_sharp | Другие наши каналы
⚡4
Полиморфизм в деталях: что скрывается под капотом
В продолжение теории о полиморфизме новая статья раскрывает его внутренние механизмы и объясняет, как он реализуется в программировании. Интересно всем, кто хочет глубже понять эту ключевую концепцию.
Читать подробнее: https://habr.com/ru/articles/923178/
#ru
@dot_net_c_sharp | Другие наши каналы
В продолжение теории о полиморфизме новая статья раскрывает его внутренние механизмы и объясняет, как он реализуется в программировании. Интересно всем, кто хочет глубже понять эту ключевую концепцию.
Читать подробнее: https://habr.com/ru/articles/923178/
#ru
@dot_net_c_sharp | Другие наши каналы
❤🔥1
Безопасное исполнение ненадёжного кода
Методы безопасного исполнения ненадёжного кода. Рассматриваются уровни изоляции кода, методы ограничения ресурсов процесса, проблемы жёсткого лимитирования и подходы к их решению. Обсуждаются вопросы управления песочницами, а также использование инструментов контейнеризации.
Читать: «Безопасное исполнение ненадёжного кода»
#ru
@dot_net_c_sharp | Другие наши каналы
Методы безопасного исполнения ненадёжного кода. Рассматриваются уровни изоляции кода, методы ограничения ресурсов процесса, проблемы жёсткого лимитирования и подходы к их решению. Обсуждаются вопросы управления песочницами, а также использование инструментов контейнеризации.
Читать: «Безопасное исполнение ненадёжного кода»
#ru
@dot_net_c_sharp | Другие наши каналы
Tproger
Безопасное исполнение ненадёжного кода: управление песочницами и лимитирование ресурсов
Методы безопасного исполнения ненадёжного кода. Рассматриваются уровни изоляции кода, методы ограничения ресурсов процесса, проблемы жёсткого лимитирования и подходы к их решению. Обсуждаются вопросы управления песочницами, а также использование инструментов…
Как решить проблему визуализации электронной подписи в PDF-документах без переплат? В статье разбирают сложности стандартных решений и предлагают более экономичный подход на базе .NET и сертифицированных криптосредств, подходящий для малого и среднего бизнеса. Создано десктопное приложение на C# для Windows, которое программно добавляет визуализацию электронной подписи в PDF. Интеграция с Adobe Reader, удобное управление сертификатами и настройками подписи обеспечивают простой и надежный процесс подтверждения документов. Криптографическая подпись PDF: процесс и перспективы
Статья рассказывает о важности правильного подписания PDF-документов с использованием сертификатов и возможностей проверки целостности через КриптоПро. Обсуждаются планы по расширению функционала и интеграции с другими системами.
Читать подробнее: https://habr.com/ru/articles/925730/
#ru
@dot_net_c_sharp | Другие наши каналы
Статья рассказывает о важности правильного подписания PDF-документов с использованием сертификатов и возможностей проверки целостности через КриптоПро. Обсуждаются планы по расширению функционала и интеграции с другими системами.
Читать подробнее: https://habr.com/ru/articles/925730/
#ru
@dot_net_c_sharp | Другие наши каналы
❤3
От Линейного Преобразования к Живому Мышлению: новая статья раскрывает принципиальные отличия больших языковых моделей и настоящего искусственного разума.
Автор предлагает архитектуру AGI с самонастройкой и субъективным восприятием, выходящую за рамки текущих трансформеров. AGI как живое мышление: гибкое, адаптивное и субъективное. В отличие от LLM, AGI использует динамическое внимание с самосознанием, стохастические процессы и обмен опытом между агентами. Мышление здесь — это поток с внутренней целью и обратной связью. Путь к созданию искусственного общего интеллекта рассматривается как переход от простых алгоритмов к саморефлексии и осознанию. От трансформеров к трансцендентности — от имитации к настоящему бытию. Эта идея открывает новые горизонты в развитии ИИ.
Читать подробнее: https://habr.com/ru/articles/925832/
#ru
@dot_net_c_sharp | Другие наши каналы
Автор предлагает архитектуру AGI с самонастройкой и субъективным восприятием, выходящую за рамки текущих трансформеров. AGI как живое мышление: гибкое, адаптивное и субъективное. В отличие от LLM, AGI использует динамическое внимание с самосознанием, стохастические процессы и обмен опытом между агентами. Мышление здесь — это поток с внутренней целью и обратной связью. Путь к созданию искусственного общего интеллекта рассматривается как переход от простых алгоритмов к саморефлексии и осознанию. От трансформеров к трансцендентности — от имитации к настоящему бытию. Эта идея открывает новые горизонты в развитии ИИ.
Читать подробнее: https://habr.com/ru/articles/925832/
#ru
@dot_net_c_sharp | Другие наши каналы
💊1