Date | Title | Description |
29.10.2024 | The Power of Autofac: Streamlining Dependency Management in C# | In the world of software development, managing dependencies can feel like juggling flaming torches. One misstep, and everything can come crashing down. Enter Autofac, a robust dependency injection (DI) library for C#. It’s like a safety net... |
29.10.2024 | Navigating the Digital Frontier: A Dive into Modern Development Frameworks | In the ever-evolving landscape of software development, choosing the right tools can feel like navigating a dense forest. Each path leads to different outcomes, and the choices can be overwhelming. This article explores the journey of a dev... |
29.10.2024 | Windows Server 2025: A New Era of Performance and Flexibility | The tech world is buzzing with anticipation as Windows Server 2025 approaches its release. Set to launch in the fourth quarter of 2024, this new operating system promises a host of enhancements that could redefine server management. From ho... |
29.10.2024 | Управление зависимостями с Autofac в C# | Привет, Хабр! Сегодня у нас на повестке дня библиотека Autofac — один из самых популярных инструментов для внедрения зависимостей в C#. Разберемся, как она помогает упорядочить код и сделать проект более управляемым. Установка
Начнём с само... |
27.10.2024 | ActiveSession — новая библиотека. Общее описание
Введение
Общее описание библиотеки ActiveSession
Начало работы с библиотекой ActiveSession
Использование библиотеки ActiveSession в обработчиках запрос... | Ну вот, я наконец-то сделал ее — первую версию библиотеки ActiveSession для ASP.NET Core. И для того, чтобы описать эту библиотеку, я написал эту статью.
Библиотека ActiveSession дает возможность, пока пользователь работает с веб-приложение... |
23.10.2024 | The Art of Refactoring: A Path to Clean Code | In the world of software development, code is like a garden. It needs regular care and attention to flourish. Refactoring is the gardener's tool, a way to prune and shape the code, making it cleaner and more efficient. This article explores... |
22.10.2024 | К чистому коду через рефакторинг | Чистые функции — это такие методы, при выполнении которых не возникает побочных эффектов. В функциональном программировании чистые функции — скорее правило, чем исключение. Но в большинстве объектно-ориентированных языков с ними приходится ... |
21.10.2024 | Валидация модели данных в ASP.NET Core 8.0 на основе HTMX | Валидация данных на стороне сервера с HTMX 2.0. Разбираемся с валидацией модели данных на основе платформы ASP.NET Core.
В статье мы освоим базовую реализацию валидации данных на стороне сервера. На стороне сервера мы используем самый прост... |
18.10.2024 | Navigating the NuGet Landscape: A Guide to Downloading Packages Efficiently | In the world of software development, NuGet stands as a vital repository for .NET packages. It’s a treasure trove of libraries, tools, and resources that developers rely on. But what if you want to make a local copy of all those packages? T... |
17.10.2024 | Как скопировать все пакеты с nuget.org | Допустим, вам захотелось, на всякий случай, сохранить копию всех пакетов nuget.org. Как обнаружить и скачать все пакеты не привлекая внимания админов сервиса?Протоколы NuGet
Как NuGet-клиент обнаруживает пакеты? У клиента есть список пакето... |
14.10.2024 | Экспорт данных из базы данных в Excel на C#: 5 проверенных методов | Экспорт данных из базы данных в Excel - важнейшая задача для многих организаций, позволяющая пользователям легко анализировать, визуализировать и обмениваться информацией. Этот процесс обеспечивает беспрепятственный перенос данных, сохраняя... |
03.10.2024 | Navigating the Landscape of Data Models: Enums vs. Tables | In the world of software development, choosing the right data model is akin to selecting the right tool for a job. Each option has its strengths and weaknesses. Two common approaches are enums and tables. Understanding when to use each can ... |
02.10.2024 | Что выбрать для типов моделей: Enums VS Tables? | Проблема
Зачем использовать вообще одно из этих решений?
Существуют модели, у которых необходимо выделить разновидности и сделать это именно с помощью типов, а не категорий... Разберёмся...
Тип - разновидность модели, не всегда, но влияющая... |
16.09.2024 | Microsoft пообещала «невероятный прирост производительности» современных приложений Windows 11 | Microsoft заявила, что приложения на основе Windows App SDK в Windows 11 теперь смогут работать значительно быстрее. Ранние тесты показывают улучшение времени загрузки до 50% и уменьшение размера пакета приложения в 8 раз.
Windows App SDK —... |
10.09.2024 | TypeScript 5.6: A Leap Forward in Type Safety and Iteration | On September 9, 2024, Microsoft unveiled TypeScript 5.6, a significant update to its popular programming language that builds on JavaScript. This release introduces new syntactic checks, iterator helper methods, and stricter type checks, en... |
10.09.2024 | Релиз TypeScript 5.6 | 9 сентября 2024 года Microsoft представила релиз TypeScript 5.6 с новыми синтаксическими проверками nullish/truthy, вспомогательными методами итератора и проверками строгости, проверкой с приоритетом региона в редакторах и гибким поведением... |
04.09.2024 | Открытые инструменты для GPU-вычислений | Вычисления на GPU могут быть полезны многим разработчикам, поскольку они позволяют повысить производительность кода. Эта технология доступна, но для ускорения выполнения кода или создания красочной визуализации нельзя просто перенести вычис... |
03.09.2024 | Что будет, если скрестить конструирование компиляторов, DDD и Clean Architecture? Опыт HydraScript | В этой статье я расскажу о двухлетнем эксперименте, проводимом над моим пет-проектом, интерпретатором ЯП HydraScript. Почему к разработке из области системного программирования были применены промышленные практики, и зачем конструированию к... |
30.08.2024 | Апгрейд с Xamarin.Native на .NET 8 | Привет, Хабр!
Меня зовут Андрей и я Xamarin разработчик в компании EvApps. Для тех, кто занят в кроссплатформенной мобильной разработке на Xamarin не секрет, что Microsoft прекратил поддержку этой платформы и выкатил обновленную реализацию ... |
22.08.2024 | The Power of Generating Series in SQL Server: A Deep Dive into Efficiency and Versatility | In the world of databases, generating sequences is akin to crafting a symphony. Each note must align perfectly to create harmony. SQL Server 2022 introduces a new function, `GENERATE_SERIES`, that simplifies this process. It’s a game-change... |
19.08.2024 | GENERATE_SERIES в SQL Server 2022 и более ранних версиях | Я часто сталкиваюсь с необходимостью генерирования строк на лету. И не только для простого получения последовательности чисел или дат, но и, например, для наполнения базы данных тестовыми данными, создания сводных таблиц (pivot) с произволь... |
12.08.2024 | Собиратель конфигураций на Go | Начну с того, что я C#-разработчик, но Go мне очень нравится и один из проектов я решил для разнообразия и расширения знаний написать в связке Go + React.js + MongoDB. И тут я понял, что не могу найти библиотеку пакет для чтения единых наст... |
09.08.2024 | The Power of Reactive Extensions in C#: A New Era of Asynchronous Programming | In the fast-paced world of software development, efficiency is king. Developers crave tools that simplify complexity. Enter Reactive Extensions (Rx.NET), a game-changer for .NET developers. This library transforms how we handle asynchronous... |
08.08.2024 | Библиотека EremexControls.NET для Avalonia UI — Обновление июль-август 2024 | Мы решили на регулярной основе рассказывать вам о развитии нашей линейки контролов для Avalonia UI. За время, прошедшее с момента предыдущей публикации, появилось несколько интересных моментов и один новый компонент.
Avalonia 11.1
Наши конт... |
03.08.2024 | The Evolution of .NET: A Deep Dive into Recent Developments | The world of .NET is ever-changing, a river that flows with new features, updates, and innovations. In this landscape, developers are like explorers, navigating through the currents of technology. The latest updates, particularly with .NET ... |
02.08.2024 | .NET Digest #2 | Добро пожаловать на второй выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! Первый выпуск вам понравился, так что C# команда PVS-Studio снова собрала для вас самые интересные и полезные материалы. Поехали!
Мы стараемся... |
17.07.2024 | Microsoft улучшит драйверы Windows с помощью WDK NuGet и с установщиками ISO и MSI | Microsoft объявила, что улучшает упаковку драйверов Windows. Компания представила для них пакет NuGet WDK (Windows Driver Kit).
До сих пор WDK был доступен в виде файлов MSI (Microsoft Installer) или ISO. Теперь Microsoft объяснила преимуще... |
15.07.2024 | Организация игровых данных на примере игры Mind Over Magic | Об игре
Mind Over Magic — это симуляционная игра, разработанная Sparkypants и изданная Klei Publishing.
Проектируйте, стройте и оптимизируйте каждый аспект своей идеальной школы магии! Держите всех в живых и довольных, готовя студентов к ис... |
01.07.2024 | Библиотека EremexControls.NET для Avalonia UI — Обновление май-июнь 2024 | Наконец это свершилось. Сегодня мы официально выпускаем первую версию наших контролов, которые получили немало важных изменений с момента публикации нашей предыдущей статьи.Развитие линейки Chart-контролов
Новая версия библиотеки существенн... |
24.06.2024 | Ещё одна статья Unity vs Unreal Engine | Сравнение Unity и Unreal Engine — популярная тема для дискуссий среди разработчиков игр и частый запрос у начинающих. В интернете достаточно статей на эту тему, но большинство из них сосредоточены на наиболее очевидных отличиях. Кроме того ... |
02.06.2024 | .NET Aspire — империя дотнета наносит ответный удар | Когда я первый раз услышал про .NET Aspire, я подумал что это какая-то очередная лажа от Майкрософта, про которую все забудут через неделю.
Особенно, учитывая какую дичь часто завозят в шарп (например те же ужасно спроектированные Primary C... |
31.05.2024 | Rust: за пределами синтаксиса. Обретение просветления в неожиданных местах | Я ненавижу C++. Обычно мне нравится программировать, но каждый проект на C++, за который я брался, казался мне утомительной рутиной. В январе 2023 года я решил изучить Rust, чтобы иметь возможность сказать, что знаю язык системного программ... |
22.05.2024 | Microsoft sprinkles some AI magic onto PowerToys v0.81.0 with new Advanced Paste tool | Hitting a new release cycle, Microsoft has unleashed PowerToys v0.81.0 complete with a brand-new module. With the arrival of the Advanced Paste utility, users gain access to a AI-powered clipboard that makes it possible to paste copied text... |
07.05.2024 | Новая версия FlatValidator, теперь 2.3.0 | FlatValidator обновился до версии 2.3.0. Здесь был сделан акцент на встроенных функциях проверки пользовательских данных. Корректность формата почтового адреса, к примеру, теперь легко проверить без добавления внешней логики. Добавились фун... |
28.04.2024 | Миграция json файлов | Для любого приложения у которого есть реальные пользователи и больше чем одна версия, рано или поздно встает вопрос версионирования данных и их миграции.
В данной статье мы разберем проблему и ее решение в виде open source плагина и труднос... |
23.04.2024 | События в .NET: стандартная реализация, альтернативы, и причем тут сахар | События – это объекты, которые получают уведомления о некотором действии в разрабатываемом ПО и могут запускать реакции на это действие. Разработчик может определить эти действия, добавив к событию обработчик. Разберем в этом материале само... |
22.04.2024 | Who are you, Platform Engineering. Часть 2: типовая архитектура, варианты и примеры реализации IDP | В докладе Gartner методология Platform Engineering определена в качестве одного из стратегических технологических трендов на 2024 год, что свидетельствует о дальнейшем эволюционном развитии подходов DevOps. Несмотря на это, для многих компа... |
09.04.2024 | An incursion under C#. Протаскиваем F# в Godot | Вы когда-нибудь бывали на боевом задании?
Что вы имеете ввиду?
Вторжение под водой с целью взятия крепости, захваченной элитным подразделением, имеющим в своём распоряжении 15 управляемых снарядов с газом VX.
Godot — игровой движок, который... |
08.04.2024 | Распознаем голосовые сообщения Telegram без СМС и пересылок ботам | Как всем известно, люди делятся на две категории:
Те, кто любит отправлять голосовые сообщения
Те, кто кто надеются, что для первых приготовлен отдельный котел, градусов так на 200. Можно сделать похолоднее, вот инструкция:
Но мы здесь не д... |
21.02.2024 | Лучшие практики модульного тестирования | В этой статье мы рассмотрим лучшие практики модульного тестирования. Сначала я объясню, что такое модульное тестирование и почему мы должны использовать его в наших проектах. Затем мы рассмотрим лучшие практики модульного тестирования. Я пр... |
20.02.2024 | Полезные модули PowerShell. Переводчик в консоли, SpeedTest, Syslog и другие | Всем привет! Порой, написать графическую форму для консольного приложения может оказаться очень удобным решением, тем самым не нужно запоминать все ключи программы, особенно, если пользоваться им приходится изредка, тем самым автоматизируя ... |
15.02.2024 | Мониторинг температуры Windows. Создание метрик, настройка InfluxDB и Grafana | Всем привет! Мониторинг температуры, нагрузки и других показателей системы всегда актуален, специалисты в области ИТ применяют разные подходы для реализации этой задачи, чтобы в конечном итоге визуализировать и наблюдать динамику полученных... |
11.02.2024 | Об одном способе веб-скрапинга сайтов, защищенных Cloudflare | Сразу оговорюсь, что описанное ниже носит исключительно информационно-образовательный характер, и не имеет целью нанесение какого-либо ущерба компаниям, использующим защиту из заголовка статьи. По этим же причинам фокусировка статьи именно ... |
05.02.2024 | Валидация входных данных в фильтрах Minimal API .NET, просто и без затей | Начну с риторического вопроса - что может быть увлекательнее процесса изучения новой технологии, когда понимание происходит "на лету", а клеточки мозга воспринимают новые знания как нечто знакомое, но слегка подзабытое?
Ответ - да... |
11.01.2024 | PowerShell и Selenium. Проще, чем кажется | Всем привет! В продолжении публикации о возможностях PowerShell, упомянул, что выделю в отдельную статью использование библиотеки Selenium с упомянутым языком. Этот небольшой гайд также может подойти для понимания, что из себя представляет ... |
05.01.2024 | Introducing MailDex.Lib: A Powerful .NET Standard Library for Reliable Email Parsing | MailDex.Lib, a powerful .NET Standard Library designed for software developers working Outlook PST, OST, and OLM files, is now available in NuGet.
We use MailDex.Lib in our own projects, so you can trust it in yours.”
— Darren Leno
FARGO, N... |
28.12.2023 | Новое в SQL Server 2022: Microsoft.Data.Sqlclient | Популярная среди администраторов баз данных SQL Server Management Studio (SSMS) для подключения к серверам баз данных (по версию 18.12.1 включительно) использовала System.Data.Sqlclient (SDS). Новая версия SQL Server теперь поставляется с б... |
25.12.2023 | Агент по анонимности: Альтернативные фронтенды сайтам | Всем привет! Наверняка вы заинтересованы в сохранении собственной анонимности, обхода цензуры и сторонники конфиденциальной работы в сети.
Существуют множество методов обхода блокировок и обеспечения анонимности - VPN, прокси-серверы и друг... |
11.12.2023 | Оптимизация DevOps: Как персональные стенды и Grafana улучшают разработку и мониторинг | Всем привет, меня зовут Зуев Алексей, и я работаю DevOps-инженером в компании Bimeister! Сегодня я расскажу вам о том, как мы облегчаем жизнь нашим разработчикам и как разработчик может отследить состояние своего микросервиса в namespace Ku... |
04.10.2023 | Pure.DI помогает сделать DI чистым | Репозиторий проектаЧто такое DI?
Все конечно же знают, что DI — это акроним от слов Dependency Injection и что этот термин означает. Но как объяснить это значение человеку, далекому от программирования? В книге Dependency Injection в.NET Ма... |
25.09.2023 | Design API First. Кодогенерация Roslyn | Привет, Habr! С вами Антон, руководитель Архитектурного комитета компании SimbirSoft. Мы продолжаем цикл статей, посвященных практическому внедрению подхода Design API First в разработку наших проектов. Прежде чем погрузиться в новую тему, ... |
10.09.2023 | Запуск приложений на .NET в качестве службы на Linux-системе с systemd | В этом материале будет рассмотрено, как запускать приложение .NET Core / .NET 5 в качестве сервиса под Linux. Мы воспользуемся Systemd, чтобы интегрировать наше приложение с операционной системой, научимся запускать и останавливать наш серв... |
07.08.2023 | Fancy Widgets — виджеты рабочего стола на AvaloniaUI | Привет, Хабр!
Около трёх месяцев назад, я и мой друг - начинающие .NET разработчики, решили разработать свои виджеты на рабочий стол Windows, так как официальных нормальных виджетов нет (те что в Windows 11 не считаются). Недавно мы выпусти... |
06.08.2023 | Базы Данных + Telegram Бот на C#. SKitLs Framework v.2 | Добрый день, уважаемые читатели!
Не так давно опубликовал статью об экспресс-создании бота для Telegram на фреймворке SKitLs.Bots.Telegram. С тех пор внутренний состав фреймворка солидно изменился, вместе с тем были выпущены предварительные... |
20.07.2023 | ReactiveValidation 2.0: валидация данных в Avalonia и WPF | Всем привет!
5 лет назад я рассказывал, как написал библиотеку для валидации данных в WPF. Всё это время активно развивался и продолжает развиваться другой десктоп фреймворк - Avalonia UI. Мне очень хотелось поддержать также и его, что и бы... |
13.07.2023 | Artifex Acquires Ghostscript.NET Repository, Boosts C# Developer Support | Artifex announced the acquisition of the Ghostscript.NET GitHub repository from open-source software developer Josip Habjan.
Ghostscript.NET's integration will cater to our existing users while attracting more C# developers, thus fostering ... |
04.07.2023 | Паттерн спецификация в .NET | Понимаю, что тема избитая, есть масса статей на хабре (например раз, два, три) и если с теорией все гладко, то все попавшиеся мне на глаза реализации (не только на хабре, но и на гитхабе в том числе) этого паттерна обладали теми или иными о... |
03.07.2023 | Развлечения с хеш-коллизиями | Мой друг и коллега по цеху, блоггер Сэм, недавно опубликовал своё третье иллюстрированное руководство, темой которого стало хеширование. Нет острой необходимости читать его руководство перед прочтением моей статьи, но я очень рекомендую вам... |
01.07.2023 | FaceAuth или как с легкостью встроить FaceID в любое .NET приложение | В программировании есть много разных способов аутентификации и каждая из них имеет как свои плюсы, так и минусы. В этой статье я хотел бы сделать обзор библиотеки, позволяющей с легкостью добавить аутентификацию лица в ваше .NET приложение.... |
27.06.2023 | Как впилить Allure TestOps в свой проект, если ты простой тестировщик | В прошлом году нашей QA-команде нужно было интегрировать Allure TestOps в проекты. До этого никто из нас этим не занимался, но вместе разобрались и сделали. Я осознал, что в одиночку потратил бы на это очень много времени или вообще бы не р... |
25.06.2023 | C# Linq для GraphQL-запросов | Немного про GraphQL
Дисклеймер: В статье рассматриваются только Query (аналог GET-запросов). Мутации и подписки не рассматриваются.
GraphQL - это инструмент, позволяющий заменить привычное API. Вместо написания контроллеров и методов, вы пи... |
22.06.2023 | Когда отладочных символов стало слишком много | Смерть, налоги и безудержно разрастающиеся браузерные движки — вот три вещи, в которых можно быть твёрдо уверенным. Актуально это было и на начало 2020 года, когда я осознал, что из-за безжалостного роста Chromium рано или поздно мы будем с... |
19.06.2023 | Трейсим .NET микросервисы через OpenTelemetry | Вступление
Всем привет.
При разработке микросервисов важную часть уделяют Observability - способность чувствовать свои сервисы как 3 руку.
Одним из компонентов часто выделяют трейсинг запросов.
За многие года создания микросервисных архитек... |
17.06.2023 | AlterNET Studio version 9 released - with .NET 7 support and improvements for Code Editor, Scripter, and Form Designer. | AlterNET Studio 9.0 is a significant milestone, further enhancing our solution for extending WinForms and WPF .NET applications with code editing, scripting, and user interface designing capabilities.
SYDNEY, Australia (PRWEB) June 17, 2023... |
05.06.2023 | Создание CLI-приложений при помощи System.CommandLine в .NET | Создание CLI-приложений при помощи System.CommandLine в .NET
В .NET уже несколько лет существует библиотека System.CommandLine, позволяющая быстро создавать CLI-приложения. Несмотря на то, что библиотека ещё в стадии beta, её активно исполь... |
10.05.2023 | Вам нужен медиатор | Этой весной в чатах и сообществах dotnet (не забываем #DropTheDot) обострились анти-медиаторные настроения. Поначалу меня это забавляло, потом удивляло: люди подхватывают лозунги, не пытаясь разобраться в вопросе. Квинтэссенцией обострения ... |
20.04.2023 | Использование библиотеки MediatR при реализации бизнес-логики в проектах, реализуемых на базе .NET | На просторах интернета появились библиотеки, позволяющие упростить и ускорить построение бизнес‑логики разрабатываемого приложения. Одна из таких библиотек — MediatR. В данной статье я хочу описать небольшой пример из реального проекта. Про... |
05.04.2023 | HiveMQ Adds C# Client to Open-Source MQTT Client Libraries | "HiveMQ is dedicated to providing MQTT clients that are regularly tested and supported so companies can feel comfortable investing in them long-term."
LANDSHUT, Germany (PRWEB) April 05, 2023
HiveMQ, a global leader in enterprise ... |
30.03.2023 | ArrayPool: подводные камни
Allocator vs Pool
ArrayPool
Выводы
Ссылки | Автоматическая сборка мусора упрощает разработку программ, избавляя от необходимости отслеживать жизненный цикл объектов и удалять их вручную. Однако, чтобы сборщик мусора был полезным инструментом, а не главным врагом на пути к высокой про... |
21.03.2023 | Парсинг string в enum ценой в 50 Гб: разбираем уязвимость CVE-2020-36620 | В этой заметке разберём уязвимость CVE-2020-36620 и посмотрим, как NuGet-пакет для конвертации string в enum может сделать C# приложение уязвимым к DoS-атакам.
Представим ситуацию: есть серверное приложение, которое взаимодействует с пользо... |
07.03.2023 | Микросервисная реализация объектно-ориентированных баз данных | В настоящее время объектно-ориентированные базы данных (ООБД) не имеют достаточно большого распространения в повседневном использовании, да и более того, не настолько популярны как реляционные базы данных, которые не один десяток лет уже ак... |
07.03.2023 | Swagger и полиморфные контракты в .NET 7 | Не так давно состоялся релиз седьмой версии платформы .NET. Он привнёс множество изменений и интересных нововведений, по которым уже успели пробежаться в рамках новостного обзора.
В этой статье мы рассмотрим развитие сериализации платформы ... |
20.02.2023 | OpenAPI Comparator — детектор изменений, ломающих [большие] API | Защита от изменений API, которые могут повлиять на ваших клиентов, — одна из самых больших проблем при разработке HTTP API. Если вы вносите критические изменения, то создаете клиентам серьёзные проблемы. Стабильный API — ключ к удовлетворен... |
10.02.2023 | .NET Reflection. Упрощаем работу и используем в тестировании | В данной статье хочу немного рассказать о классе Reflector, который был написан для облегчения работы с объектами и методами предоставляемыми.NET Reflection API из пространства имен System.Reflection. Отражение позволяет выполнять задачи по... |
26.01.2023 | Подключаем SignalR к Unity | Часто в играх необходимо получать обновления игрового баланса, обновлять профиль игрока, сохранять достижения и выдавать награды. Если хранить данные прямо в клиенте, то придется ждать публикации нового патча командой. Как более гибкое реше... |
24.01.2023 | Структурное логирование в .NET на примере Serilog | Все мы знаем, что логирование - вещь очень полезная для современного проекта. С помощью него можно быстро локализовать и устранить ошибку в продукте, восстановить кейс, который к ней привёл, посмотреть историю действий пользователя.
Существ... |
06.01.2023 | Шаблон приложения Asp .Net Core 6 Web API с предустановкой и настройкой необходимых инструментов | Обычно моя работа связана с разработкой функционала REST веб-сервисов. Чаще всего, разработка эта ведется на базе уже существующих приложений, созданных и настроенных ранее по шаблону Web API в VisualStudio. Создавать новые приложения прихо... |
22.12.2022 | Тест – это вещь! F#, тестирование на базе Expecto. Часть первая | Expecto — фреймворк для тестирования, написанный на F# и для F#. Он довольно хорошо известен в рамках F#-сообщества, и у разработчиков, сумевших отгородиться от C# в достаточной степени, используется как платформа для тестов по умолчанию. Н... |
20.12.2022 | Своя криптосистема с открытым ключом. Задача о рюкзаке. Часть I — пакет | Все мы знаем популярную задачу о рюкзаке. Все мы также знаем, что такое асимметричное шифрование и для чего оно используется. А если не знаете - то вот и повод узнать, потому что в этой статье мы попытаемся на основе задачи о рюкзаке написа... |
21.11.2022 | Мой опыт работы с OData | OData - очень интересная технология. В несколько строчек кода вы можете добавить к своему сервису возможность фильтрации данных, постраничной выборки, частичной выборки данных, ... Сегодня ей на смену приходит GraphQL, но OData всё ещё очен... |
15.11.2022 | Руководство по созданию облачного приложения под Microsoft Azure на основе опенсорсных технологий. Часть 1 | “Cloud Native” (или «облачно-ориентированный») — это подход к разработке приложений, который нацелен упростить процессы их создания и развертывания, а также улучшить их масштабируемость и удобство сопровождения. Моя цель в этой статье — пок... |
15.11.2022 | Загадочный EF Core, или Как написать свое расширение | В EF Core много полезных фич по работе с базами данных, но что, если этих возможностей не хватает? Я был удивлен, когда узнал, что фреймворк из коробки не умеет создавать вьюшки и отслеживать изменения их исходного кода. А что, если нам нуж... |
01.11.2022 | История о том, как мы монолит с .NET Framework на .NET 6 и Kubernetes переводили | В 2011 году 2 разработчика начали создавать свою информационную систему, чтобы через неё принимать заказы в Додо Пицце. 2 года назад мы рассказывали про раннюю архитектуру Dodo IS здесь и здесь. За это время монолит нашей системы пережил не... |
28.10.2022 | Защита web.config с помощью цифровых сертификатов в Windows и Azure | Поскольку утечки данных случаются в наши дни все чаще, крайне важно делать приложения максимально защищенными. Одной из основных областей, где можно найти бреши в защите, является файл web.config. Получив доступ к этому файлу, который обычн... |
28.10.2022 | Визуализация последовательности Web-запроса | Современные запросы к Web-сервисам представляют собой сложные вещи. Сервис, к которому вы обращаетесь, может сам вызывать другие сервисы, те - третьи и т. д. Все эти запросы могут идти параллельно. Конечно, система логирования хранит информ... |
19.10.2022 | Блеск и нищета мапперов объектов в .net | Не каждый бобер способен разглядеть в себе единорога
Всем привет, меня зовут Сергей, я системный архитектор в компании Bimeister, и, как вы уже догадались, сегодня мы поговорим про маппинг объектов в .net.
Мы сравним несколько популярных по... |
17.10.2022 | Сравнение AutoMapper и Mapster | Когда мы читаем/записываем/обрабатываем данные в приложении, то часто нужно переместить информацию между разными слоями приложения (прочитать из БД entity, преобразовать её в модель для api и отдать пользователю) или преобразовать данные в ... |
02.10.2022 | Создание .NET библиотеки от А до Я | До начала разработки
Первым делом стоит представлять, для чего вы собираетесь создавать библиотеку. Можно придумать массу уважительных причин:
добавить красивую строчку в резюме, показав заодно потенциальному работодателю пример вашего кода... |
12.09.2022 | PowerShell, HTML Agility Pack: получение значения атрибута HTML-элемента | Мне интересен атрибут «class» HTML-элементов, поэтому в примерах буду работать с этим атрибутом. Но изложенное в этой статье, по идее, можно применить к любому атрибуту HTML-элементов.
Примеры написаны на языке PowerShell и предполагаются д... |
09.09.2022 | Вероятно вам не нужен MediatR | MediatR - это очень популярная библиотека, которая используется для уменьшения зависимостей между объектами. Она популяризует архитектуру, основанную на крайне значимых принципах проектирования:
препятствование прямому общению между объекта... |
09.09.2022 | Готовим приватные репозитории с помощью Artipie | Многочисленные санкционные ограничения могут стать преградой для использования существующих систем управления бинарными репозиториями, например, при приобретении необходимых лицензий. Таким образом, альтернатива существующим инструментам мо... |
12.08.2022 | PowerShell: HTML Agility Pack и AngleSharp | Начало: «PowerShell: парсер HTML, устаревшие методы».Получение библиотек «HTML Agility Pack» и «AngleSharp»
Обе эти библиотеки (наборы классов) можно бесплатно получить в хранилище пакетов «www.nuget.org» в интернете:
www.nuget.org/packages... |
25.07.2022 | Представляем Entity Framework Core 7 Preview 6: Улучшение производительности | Пакет Entity Framework 7 (EF7) Preview 6 опубликован и доступен для загрузки через nuget.org (в конце поста есть ссылки на индивидуальные компоненты пакета). Этот пост блога раскрывает реализованные в пакете улучшения, направленные на увели... |
30.06.2022 | Ответственное управление пакетами в Visual Studio | Почти девять лет назад миру был представлен новый опенсорсный проект под названием NuGet (www.NuGet.org). Спустя два года после своего дебюта NuGet начал поставляться в Microsoft Visual Studio, что актуально и по сей день. NuGet — это один ... |
15.06.2022 | Разработка графического кроссплатформенного приложения на C#. LXUI | Всем привет! Меня зовут Леонид, я являюсь разработчиком программного обеспечения (ПО) на языках программирования С++, C# и Java. Основной род деятельности за последние 10 лет создание систем сбора данных, мониторинга и автоматизации в промы... |
12.05.2022 | Давай дружить. OpenId Connect и Yarp | Предисловие
Сегодня в этой статье я хочу поделиться личным опытом работы и решением конкретного кейса. Работали над ним небольшой командой, но для простоты повествования буду писать от первого лица. Собственно сам кейс: есть Windows сервер ... |
08.05.2022 | Анонсирован выпуск .NET Community Toolkit 8.0 | .NET Community Toolkit - это коллекция классов-хелперов и API, которые могут использовать все .NET - разработчики и которые не зависят от конкретной платформы пользовательского интерфейса.
Toolkit поддерживается и публикуется Microsoft и яв... |
06.05.2022 | Цитирование в языках программирования | Задача
Задачу я встретил, решая упражнения из книги Структура и Интерпретация Компьютерных Программ). Обычно её называют SICP (читается сик-пи) — это аббревиатура названия на английском языке.
Раздел 2.3 посвящён цитированию в LISP и символ... |
30.04.2022 | Упрощение сложной фильтрации в LINQ с помощью шаблона «Спецификация» и библиотеки XSpecification | Как гласит Википедия:
«Спецификация» в программировании — это шаблон проектирования, посредством которого представление правил бизнес логики может быть преобразовано в виде цепочки объектов, связанных операциями булевой логики.
Реализация и... |
28.04.2022 | К чему приводят тестовые задания или как я реализовал Match-3 для терминала | Вы когда-нибудь играли в Match-3 в текстовом терминале? Вот и я бы не подумал, что поводом для этого, может стать очередное тестовое задание.
В разработке я уже около 10 лет и в последнее время начал задумываться, а не уйти ли мне в геймдев... |