Оптимизация кода: взгляд изнутри
Программисты часто сталкиваются с дилеммами оптимизации. Наш автор, будучи «джуниором», делится опытом рефакторинга кода. Как выбрать правильные алгоритмы и ускорить операции, например, через бинарный поиск? Когда объёмы данных растут, это становится ключевым аспектом. Обучение с LeetCode: личный опыт
Платформа LeetCode — это отличный выбор для изучения алгоритмов. Она не только предлагает разнообразные учебные планы, но и позволяет видеть разные решения задач благодаря большому сообществу. Используя визуализацию заметок в Obsidian, я углубил знания и отслеживал прогресс. Как эффективно использовать Obsidian для обучения
В статье обсудили важность практического подхода к обучению. Обзор показывает, что Obsidian отлично подходит для структурирования и пересмотра изученного материала. Это мощный инструмент для управления задачами и ведения личных записей.
Читать подробнее: https://habr.com/ru/companies/icl_group/articles/905020/
#ru
@dot_net_c_sharp | Другие наши каналы
Программисты часто сталкиваются с дилеммами оптимизации. Наш автор, будучи «джуниором», делится опытом рефакторинга кода. Как выбрать правильные алгоритмы и ускорить операции, например, через бинарный поиск? Когда объёмы данных растут, это становится ключевым аспектом. Обучение с LeetCode: личный опыт
Платформа LeetCode — это отличный выбор для изучения алгоритмов. Она не только предлагает разнообразные учебные планы, но и позволяет видеть разные решения задач благодаря большому сообществу. Используя визуализацию заметок в Obsidian, я углубил знания и отслеживал прогресс. Как эффективно использовать Obsidian для обучения
В статье обсудили важность практического подхода к обучению. Обзор показывает, что Obsidian отлично подходит для структурирования и пересмотра изученного материала. Это мощный инструмент для управления задачами и ведения личных записей.
Читать подробнее: https://habr.com/ru/companies/icl_group/articles/905020/
#ru
@dot_net_c_sharp | Другие наши каналы
🤣3💊1
Forwarded from Типичный программист
LLM4Decompile: языковая модель для декомпиляции бинарников
Это опенсорс LLM-ка, способная превращать бинарный код программы в читаемый C-код. Сейчас она поддерживает декомпиляцию Linux x86_64 на всех уровнях оптимизации GCC — от O0 до O3.
Проект активно развивается: в будущем планируется поддержка других архитектур и языков. А все материалы и модель — в свободном доступе.
Реально крутой проект, аналогов пока не видел🔥
#инструменты
Это опенсорс LLM-ка, способная превращать бинарный код программы в читаемый C-код. Сейчас она поддерживает декомпиляцию Linux x86_64 на всех уровнях оптимизации GCC — от O0 до O3.
Проект активно развивается: в будущем планируется поддержка других архитектур и языков. А все материалы и модель — в свободном доступе.
Реально крутой проект, аналогов пока не видел
#инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
🔐 Безопасность плагинов: новый взгляд
В статье обсуждают создание системы безопасности для менеджера плагинов. Автор делится опытом внедрения защиты динамической загрузки .dll, используя паттерн "Наблюдатель" и контроллер разрешений. Эти решения увеличивают гибкость и устойчивость системы, предотвращая угрозы.
Читать подробнее: https://habr.com/ru/articles/905232/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье обсуждают создание системы безопасности для менеджера плагинов. Автор делится опытом внедрения защиты динамической загрузки .dll, используя паттерн "Наблюдатель" и контроллер разрешений. Эти решения увеличивают гибкость и устойчивость системы, предотвращая угрозы.
Читать подробнее: https://habr.com/ru/articles/905232/
#ru
@dot_net_c_sharp | Другие наши каналы
Реализация пула зависимостей в ASP.NET Core
Пост: В продолжение предыдущей статьи, автор делится примером реализации "пулового" времени жизни в ASP.NET Core. Эта концепция позволяет снизить издержки ресурсноёмких операций, улучшая производительность, благодаря повторному использованию сервисов в пределах пула. Узнайте больше о требованиях и нюансах внедрения в новой статье. 🔍 Нужен ли пул сервисов в .NET?
В статье обсуждается реализация "пулового" времени жизни для сервисов в .NET и тестируется её работа. При этом выясняется, что преимущества от пулов могут нивелироваться сложностью их реализации и особенностями сборки мусора. Конечный вывод: использовать или нет, зависит от конкретного сценария.
Подробности: https://andrewlock.net/creating-a-pooled-dependency-injection-lifetime/
#en
@dot_net_c_sharp | Другие наши каналы
Пост: В продолжение предыдущей статьи, автор делится примером реализации "пулового" времени жизни в ASP.NET Core. Эта концепция позволяет снизить издержки ресурсноёмких операций, улучшая производительность, благодаря повторному использованию сервисов в пределах пула. Узнайте больше о требованиях и нюансах внедрения в новой статье. 🔍 Нужен ли пул сервисов в .NET?
В статье обсуждается реализация "пулового" времени жизни для сервисов в .NET и тестируется её работа. При этом выясняется, что преимущества от пулов могут нивелироваться сложностью их реализации и особенностями сборки мусора. Конечный вывод: использовать или нет, зависит от конкретного сценария.
Подробности: https://andrewlock.net/creating-a-pooled-dependency-injection-lifetime/
#en
@dot_net_c_sharp | Другие наши каналы
Погружение в акторную модель с Алексеем Деевым
Ознакомьтесь с акторной моделью, которая помогает решать проблемы потоковых архитектур и улучшать управляемость сложных систем. Алексей Деев рассказывает об использовании акторам и фреймворке Orleans для .NET, а также о различиях между Proto.Actor и Akka.NET.
Читать подробнее: https://habr.com/ru/companies/avanpost/articles/905428/
#ru
@dot_net_c_sharp | Другие наши каналы
Ознакомьтесь с акторной моделью, которая помогает решать проблемы потоковых архитектур и улучшать управляемость сложных систем. Алексей Деев рассказывает об использовании акторам и фреймворке Orleans для .NET, а также о различиях между Proto.Actor и Akka.NET.
Читать подробнее: https://habr.com/ru/companies/avanpost/articles/905428/
#ru
@dot_net_c_sharp | Другие наши каналы
👍3
Игнорируя null: почему старый подход работает в F#
В статье обсуждается, как последние изменения в F# влияют на работу с null и почему команда автора продолжает использовать традиционные методы. Это помогает новым разработчикам легче ориентироваться в коде. Узнайте, какие компромиссы приходится делать, взаимодействуя с C#-фреймворками.
Читать подробнее: https://habr.com/ru/companies/first/articles/904772/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье обсуждается, как последние изменения в F# влияют на работу с null и почему команда автора продолжает использовать традиционные методы. Это помогает новым разработчикам легче ориентироваться в коде. Узнайте, какие компромиссы приходится делать, взаимодействуя с C#-фреймворками.
Читать подробнее: https://habr.com/ru/companies/first/articles/904772/
#ru
@dot_net_c_sharp | Другие наши каналы
🔧 Автоматизация публикации .NET MAUI библиотеки с помощью GitHub Actions
В статье рассказывается, как настроить GitHub Actions для автоматизации сборки, упаковки и публикации .NET MAUI библиотеки в виде NuGet пакета. Используется динамическое версионирование и подпись пакета для защиты содержимого. Публикация возможна как на NuGet.org, так и на Azure DevOps.
Подробности: https://devblogs.microsoft.com/dotnet/dotnet-maui-libraries-github-actions/
#en
@dot_net_c_sharp | Другие наши каналы
В статье рассказывается, как настроить GitHub Actions для автоматизации сборки, упаковки и публикации .NET MAUI библиотеки в виде NuGet пакета. Используется динамическое версионирование и подпись пакета для защиты содержимого. Публикация возможна как на NuGet.org, так и на Azure DevOps.
Подробности: https://devblogs.microsoft.com/dotnet/dotnet-maui-libraries-github-actions/
#en
@dot_net_c_sharp | Другие наши каналы
Переосмысление паттерна Visitor в C#
В статье исследуется реализация паттерна Visitor на C#, решающая проблемы с типобезопасностью и динамическим приведением типов. Рассматриваются классические и современные подходы, улучшения структуры кода и снижение циклических зависимостей для более поддерживаемых проектов.
Читать подробнее: https://habr.com/ru/companies/ruvds/articles/896752/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье исследуется реализация паттерна Visitor на C#, решающая проблемы с типобезопасностью и динамическим приведением типов. Рассматриваются классические и современные подходы, улучшения структуры кода и снижение циклических зависимостей для более поддерживаемых проектов.
Читать подробнее: https://habr.com/ru/companies/ruvds/articles/896752/
#ru
@dot_net_c_sharp | Другие наши каналы
🔍 Как работать с API Яндекс Метрики: краткое руководство
Чтобы начать работу с API Яндекс Метрики, необходимо сначала зарегистрировать приложение через Яндекс OAuth и получить токен авторизации. Этот токен потом используется для синхронизации данных, таких как возрастные интервалы, с вашей базой данных. Основные шаги включают регистрацию, получение и сохранение токена. 🔍 Обработка возрастных данных с помощью Яндекс Метрики
Новый метод синхронизации с Яндекс Метрикой позволяет получить возрастные данные за заданный период. Сначала формируется запрос через API, включая все необходимые параметры, такие как токен и фильтры. Данные группируются по датам и сохраняются в базе, что обеспечивает более точное понимание аудитории. 🔍 Анализ возрастных интервалов с Yandex Metrica
В статье раскрыт процесс интеграции с Yandex Metrica для сбора данных о возрастных группах посетителей. Рассмотрены модели данных, построение запросов к API и особенности работы с метриками. Для более точной настройки предложено сверять данные с официальной документацией.
Читать подробнее: https://habr.com/ru/articles/906362/
#ru
@dot_net_c_sharp | Другие наши каналы
Чтобы начать работу с API Яндекс Метрики, необходимо сначала зарегистрировать приложение через Яндекс OAuth и получить токен авторизации. Этот токен потом используется для синхронизации данных, таких как возрастные интервалы, с вашей базой данных. Основные шаги включают регистрацию, получение и сохранение токена. 🔍 Обработка возрастных данных с помощью Яндекс Метрики
Новый метод синхронизации с Яндекс Метрикой позволяет получить возрастные данные за заданный период. Сначала формируется запрос через API, включая все необходимые параметры, такие как токен и фильтры. Данные группируются по датам и сохраняются в базе, что обеспечивает более точное понимание аудитории. 🔍 Анализ возрастных интервалов с Yandex Metrica
В статье раскрыт процесс интеграции с Yandex Metrica для сбора данных о возрастных группах посетителей. Рассмотрены модели данных, построение запросов к API и особенности работы с метриками. Для более точной настройки предложено сверять данные с официальной документацией.
Читать подробнее: https://habr.com/ru/articles/906362/
#ru
@dot_net_c_sharp | Другие наши каналы
❤1
Гибридный подход в EF Core: T-SQL и .NET
Хотите повысить производительность .NET Core приложений? Узнайте, как гибридный подход с использованием T-SQL и LINQ в Entity Framework Core может улучшить ваш проект. Статья рассматривает способы оптимизации и лучшие практики работы с базами данных.
Читать подробнее: https://habr.com/ru/articles/906522/
#ru
@dot_net_c_sharp | Другие наши каналы
Хотите повысить производительность .NET Core приложений? Узнайте, как гибридный подход с использованием T-SQL и LINQ в Entity Framework Core может улучшить ваш проект. Статья рассматривает способы оптимизации и лучшие практики работы с базами данных.
Читать подробнее: https://habr.com/ru/articles/906522/
#ru
@dot_net_c_sharp | Другие наши каналы
👍2
Кодогенерация на C#: как начать правильно
Авторы новой серии статей объясняют, как эффективно применять кодогенерацию на C#. Вы узнаете о настройке генераторов, использовании Microsoft.CodeAnalysis и преимуществах создания точек входа. Это поможет ускорить процессы разработки .NET проектов. Рекомендуем к прочтению!
Читать подробнее: https://habr.com/ru/articles/906778/
#ru
@dot_net_c_sharp | Другие наши каналы
Авторы новой серии статей объясняют, как эффективно применять кодогенерацию на C#. Вы узнаете о настройке генераторов, использовании Microsoft.CodeAnalysis и преимуществах создания точек входа. Это поможет ускорить процессы разработки .NET проектов. Рекомендуем к прочтению!
Читать подробнее: https://habr.com/ru/articles/906778/
#ru
@dot_net_c_sharp | Другие наши каналы
Необычные запросы на разработку: плакать или смеяться?
В статье разработчик из финтех-компании Богдан делится забавными и иногда абсурдными требованиями от коллег. Один случай: API вместо отчета возвращает ошибку, а команда просит переделать так, чтобы ошибка отображалась в PDF, потому что система не обрабатывает ошибки. Необычные истории интеграций
Как вы относитесь к параметрам на кириллице? А к JSON-телам в 1С? Наши коллеги столкнулись с забавными вызовами при интеграции, от экзотических методов до идей вроде контроля загрузки по CPU. Эта статья — дорожка в мир нестандартных решений и изобретательных подходов. Забавные моменты из жизни IT-специалистов
В статье обсуждаются нелепые и смешные ситуации, с которыми сталкиваются IT-специалисты при работе. Одна из них — предложение адаптировать потоки в зависимости от загрузки ЦПУ, а также требования зашифровать данные с помощью Base64, как будто это надежное шифрование.
Читать подробнее: https://habr.com/ru/articles/907134/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье разработчик из финтех-компании Богдан делится забавными и иногда абсурдными требованиями от коллег. Один случай: API вместо отчета возвращает ошибку, а команда просит переделать так, чтобы ошибка отображалась в PDF, потому что система не обрабатывает ошибки. Необычные истории интеграций
Как вы относитесь к параметрам на кириллице? А к JSON-телам в 1С? Наши коллеги столкнулись с забавными вызовами при интеграции, от экзотических методов до идей вроде контроля загрузки по CPU. Эта статья — дорожка в мир нестандартных решений и изобретательных подходов. Забавные моменты из жизни IT-специалистов
В статье обсуждаются нелепые и смешные ситуации, с которыми сталкиваются IT-специалисты при работе. Одна из них — предложение адаптировать потоки в зависимости от загрузки ЦПУ, а также требования зашифровать данные с помощью Base64, как будто это надежное шифрование.
Читать подробнее: https://habr.com/ru/articles/907134/
#ru
@dot_net_c_sharp | Другие наши каналы
😁2🗿1
Инновации в C#: использование await this
Текст: В статье обсуждается необычное применение await this в C#. Автор делится опытом использования этой конструкции для последовательной асинхронной обработки данных, что устраняет дублирования и пропуски. Если вас интересуют нетривиальные решения, эта статья — находка.
Читать подробнее: https://habr.com/ru/articles/906790/
#ru
@dot_net_c_sharp | Другие наши каналы
Текст: В статье обсуждается необычное применение await this в C#. Автор делится опытом использования этой конструкции для последовательной асинхронной обработки данных, что устраняет дублирования и пропуски. Если вас интересуют нетривиальные решения, эта статья — находка.
Читать подробнее: https://habr.com/ru/articles/906790/
#ru
@dot_net_c_sharp | Другие наши каналы
Нужен ли сеньору второй язык программирования? Опытом поделился разработчик с 18 годами стажа
Нужен ли сеньору второй язык программирования? Опыт и выводы разработчика с 18 годами стажа — когда и зачем изучать новые языки
Читать: «Нужен ли сеньору второй язык программирования? Опытом поделился разработчик с 18 годами стажа»
#ru
@dot_net_c_sharp | Другие наши каналы
Нужен ли сеньору второй язык программирования? Опыт и выводы разработчика с 18 годами стажа — когда и зачем изучать новые языки
Читать: «Нужен ли сеньору второй язык программирования? Опытом поделился разработчик с 18 годами стажа»
#ru
@dot_net_c_sharp | Другие наши каналы
👍3
Новое AI-шаблон для .NET позволяет быстро создать чат-приложение на основе больших языковых моделей. В превью-версии доступны GitHub Models, OpenAI и локальный запуск, а также разные способы хранения данных для прототипирования и экспериментов. Новый .NET AI Chat Web App позволяет создавать чат-ботов, умеющих отвечать на вопросы, используя данные из PDF-файлов. В основе — генерация эмбеддингов и поиск по ним, что обеспечивает точные ответы с указанием источников. В следующем посте рассмотрят работу с веб-данными.
Подробности: https://andrewlock.net/exploring-the-new-ai-chat-template/
#en
@dot_net_c_sharp | Другие наши каналы
Подробности: https://andrewlock.net/exploring-the-new-ai-chat-template/
#en
@dot_net_c_sharp | Другие наши каналы
❤2👍1
Почему стартапы выбирают C# для своих продуктов? В статье рассказывается, как язык сочетает высокую продуктивность, богатую стандартную библиотеку и отличные инструменты разработки. Этот выбор помогает быстро запускать и поддерживать сложный B2B SaaS-продукт.
Подробности: https://devblogs.microsoft.com/dotnet/why-we-built-our-startup-in-csharp/
#en
@dot_net_c_sharp | Другие наши каналы
Подробности: https://devblogs.microsoft.com/dotnet/why-we-built-our-startup-in-csharp/
#en
@dot_net_c_sharp | Другие наши каналы
❤7👍1
Новый синтаксис extension members в C# 14 расширяет возможности расширяющих методов и свойств. Теперь можно объявлять статические и экземплярные расширения, улучшая читаемость и организацию кода без потери обратной совместимости. Новый синтаксис расширяющих методов в C# 14 упрощает создание расширений, сохраняя совместимость с существующими. Обсуждаются ограничения и детали реализации, которые помогут лучше понять изменения и использовать новые возможности языка. Подробнее о нововведениях – в статье.
Подробности: https://devblogs.microsoft.com/dotnet/csharp-exploring-extension-members/
#en
@dot_net_c_sharp | Другие наши каналы
Подробности: https://devblogs.microsoft.com/dotnet/csharp-exploring-extension-members/
#en
@dot_net_c_sharp | Другие наши каналы
👍2
JSON в Unity: сохраняем прогресс игрока
JSON — идеальный формат для сохранения данных в Unity. В статье описывается, как с его помощью можно сохранять и загружать положение игрока между сессиями. Используйте JsonUtility или Newtonsoft.Json для сериализации данных и облегчения управления объектами и зависимостями в проекте.
Читать подробнее: https://habr.com/ru/articles/908296/
#ru
@dot_net_c_sharp | Другие наши каналы
JSON — идеальный формат для сохранения данных в Unity. В статье описывается, как с его помощью можно сохранять и загружать положение игрока между сессиями. Используйте JsonUtility или Newtonsoft.Json для сериализации данных и облегчения управления объектами и зависимостями в проекте.
Читать подробнее: https://habr.com/ru/articles/908296/
#ru
@dot_net_c_sharp | Другие наши каналы
👍1
🚀 Расширение возможностей WPF приложений
Команда OpenSilver адаптировала свою технологию для запуска WPF приложений на iOS и Android, используя .NET MAUI Blazor Hybrid. Это позволяет сохранить нативный интерфейс и доступ к API платформы. Основное препятствие — работа с потоками, что было успешно преодолено. OpenSilver и MAUI Blazor Hybrid: Новый уровень разработки приложений
Текст: С использованием OpenSilver и MAUI Blazor Hybrid разработка на всех платформах становится проще. Теперь доступ к нативным API возможен напрямую из C#, что значительно ускоряет процесс. Разработка происходит в Visual Studio 2022, поддерживая Windows и Android. Новые горизонты для кроссплатформенных приложений с OpenSilver и MAUI
Преобразуйте свои классические десктопные приложения в универсальные кроссплатформенные решения с помощью OpenSilver и MAUI. Эти инструменты позволяют публиковать приложения во всех основных магазинах, открывая новые возможности для разработчиков. Узнайте больше о ToDoCalendar!
Читать подробнее: https://habr.com/ru/articles/908244/
#ru
@dot_net_c_sharp | Другие наши каналы
Команда OpenSilver адаптировала свою технологию для запуска WPF приложений на iOS и Android, используя .NET MAUI Blazor Hybrid. Это позволяет сохранить нативный интерфейс и доступ к API платформы. Основное препятствие — работа с потоками, что было успешно преодолено. OpenSilver и MAUI Blazor Hybrid: Новый уровень разработки приложений
Текст: С использованием OpenSilver и MAUI Blazor Hybrid разработка на всех платформах становится проще. Теперь доступ к нативным API возможен напрямую из C#, что значительно ускоряет процесс. Разработка происходит в Visual Studio 2022, поддерживая Windows и Android. Новые горизонты для кроссплатформенных приложений с OpenSilver и MAUI
Преобразуйте свои классические десктопные приложения в универсальные кроссплатформенные решения с помощью OpenSilver и MAUI. Эти инструменты позволяют публиковать приложения во всех основных магазинах, открывая новые возможности для разработчиков. Узнайте больше о ToDoCalendar!
Читать подробнее: https://habr.com/ru/articles/908244/
#ru
@dot_net_c_sharp | Другие наши каналы
👍5🔥3🤔1
Новый шаблон .NET AI Chat Web App позволяет создавать чат-ботов, которые отвечают на вопросы, используя содержимое сайтов. В примере с подкастом The Modern .NET Show реализован чат, который анализирует веб-страницы и предоставляет точные ответы на основе последних данных. Создан пример приложения на .NET, которое индексирует страницы сайта и позволяет общаться с чат-ботом, отвечающим с цитатами из источника. В статье подробно описывается процесс загрузки, обработки и оптимизации данных для улучшения работы чат-бота.
Подробности: https://andrewlock.net/using-the-new-ai-template-to-create-a-chatbot-about-a-website/
#en
@dot_net_c_sharp | Другие наши каналы
Подробности: https://andrewlock.net/using-the-new-ai-template-to-create-a-chatbot-about-a-website/
#en
@dot_net_c_sharp | Другие наши каналы
🤣4👍1
Обновление .NET 10 Preview 4: улучшена производительность рантайма, новые возможности для ASP.NET Core, Blazor и .NET MAUI. Обновления затрагивают также F#, Windows Forms и Entity Framework Core. Подробности и ссылки на полный список изменений доступны в официальных заметках.
Подробности: https://devblogs.microsoft.com/dotnet/dotnet-10-preview-4/
#en
@dot_net_c_sharp | Другие наши каналы
Подробности: https://devblogs.microsoft.com/dotnet/dotnet-10-preview-4/
#en
@dot_net_c_sharp | Другие наши каналы
👍2