Svoboda | Graniru | BBC Russia | Golosameriki | Facebook
BBC Russian
124.96

.NET *

Хаб со знаниями про .NET

Сначала показывать
Порог рейтинга
Уровень сложности

.NET на SBC максимально канонично

BBC RussianПростой
BBC Russian11 мин
BBC Russian2.1K

В интернетах всегда кто-то не прав. В этот раз, по моему максимально предвзятому мнению, оказался не прав @bodyawm.
Для меня .NET в каждой бочке затычка, поэтому меня бобмануло от использования mono в 2024 году. В этой статье я покажу своё видение того, как максимально канонично и современно писать на .NET для GNU/Linux и SBC (Single-board computer, aka одноплатник).

Читать далее
BBC Russian+24
BBC Russian6

Новости

Орфография в 1С через COM на C#

BBC RussianСредний
BBC Russian11 мин
BBC Russian1.5K

Всем привет, недавно столкнулся с задачей проверки орфографии и исправления опечаток в 1С. Посмотрев варианты решений (MS Word, Yandex, т.д.), понял, что они мне не подходят. Решил копнуть глубже. Лично мне понравилось решение на базе спелчекера, встроенного в Windows. Поскольку в 1С нет возможности напрямую обратиться к этому функционалу ОС, я реализовал его в виде DLL на языке C# и сделал COM-обертку. COM-объект подключил в 1С.

В итоге получилась вот такая простая форма, на которой при нажатии кнопки “Проверить опечатки” текст в Строке ввода анализируется и исправляется.

Читать далее
BBC Russian-4
BBC Russian35

Организация игровых данных на примере игры Mind Over Magic

BBC RussianСредний
BBC Russian6 мин
BBC Russian1.4K

Mind Over Magic — это симуляционная игра, разработанная Sparkypants и изданная Klei Publishing.

Игра включает строительство, ресеч, исследование мира и пошаговые бои, что делает её отличным примером для обсуждения организации игровых данных.

Узнать что там внутри
BBC Russian+7
BBC Russian6

Как я улучшил производительность JSON-парсера в два раза

BBC RussianСредний
BBC Russian6 мин
BBC Russian8.8K

Во время разработки игр объем данных, обрабатываемых игрой, увеличивается. Художники создают новые ресурсы, программисты пишут код, а геймдизайнеры добавляют больше конфигураций и настроек в игру. Когда размер этих конфигураций превышает десятки мегабайт, производительность даже самых тривиальных компонентов, таких как JSON-парсер конфигураций, становится критичной.

Читать далее
BBC Russian+18
BBC Russian17

Как принудительно уронить MS SQL Server чтобы он ушёл на перезагрузку

BBC RussianПростой
BBC Russian3 мин
BBC Russian2.3K

При чтении логов из базы данных, а именно, из LDF данных, в большинстве случаев вы наткнётесь на такие функции в запросе sys.fn_dblog(null, null), sys.fn_dblog_xtp(null, null)

Читать из LDF Вы захотите по различным причинам, но так или иначе основная проблема будет «у нас откуда‑то списались деньги остатки, пропал товар, упал прод, разберитесь».

Допустим, Вы захотите воскресить удалённый, дропнутый объект из базы.

Типичный скрипт

Посмотреть код
BBC Russian+4
BBC Russian1

Сам написал, сам полетал: как и зачем я разработал 3D-игру с нуля под компьютеры из 90-х в 2024 году?

BBC RussianСредний
BBC Russian21 мин
BBC Russian10K


Осторожно: Несмотря на кажущуюся сложность статьи о разработке целой 3D-игры с нуля, я постарался систематизировать и упростить материал так, чтобы понятно было любому заинтересованному читателю, даже если вы далеки от программирования в целом!

Статьи о разработке инди-игр — это всегда интересно. Но разработка чего-то абсолютно с нуля, без каких-либо движков или фреймворков — ещё интереснее! Почти всю свою жизнь, буквально с 13-14 лет меня тянет пилить какие-нибудь прикольные 3D-демки и игрушки. Ещё на первом курсе ПТУ я написал небольшую демку с 3D-вертолетиками по сети и идея запилить какие-нибудь прикольные леталки не покидала меня по сей день! Спустя 6 лет, в 22 года я собрался с силами и решил написать небольшую аркадную демку про баталии на самолетиках, да так, чтобы работало аж на видеокартах из 90-х — NVidia Riva 128 и 3DFX Voodoo 3! Интересно, как происходит процесс разработки игры с нуля — от первого «тридэ» треугольника, до работающей на реальном железе демки? Тогда добро пожаловать под кат!
Читать дальше →
BBC Russian+85
BBC Russian28

«Некрасивое» получение TCP-статистики существующего сетевого соединения в desktop-приложении .NET для Windows

BBC RussianСредний
BBC Russian4 мин
BBC Russian1.2K

Некоторое время назад у одного из клиентов начало сбоить desktop‑приложение, в разработке которого я участвовал. Проблему локализовать не получалось очень долго — в том числе потому, что она никак не воспроизводилась на компьютерах и разработчиков, и тестировщиков.

И лишь спустя время один опытный член нашей команды, вооружившись Wireshark, обнаружил, что у клиента есть проблемы с локальной сетью. После имитации потери пакетов внутри нашей сети, мы смогли локализовать проблему.

Эта заметка о том, как без использования Wireshark добавить в приложение.NET Framework /.NET 5+ для Windows код получения статистики TCP‑соединения (количество перезапрошенных (retransmitted) и переупорядоченных (reordered) байт, а также некоторую другую информацию).

Вполне вероятно, эти данные пригодятся и вам — если вы используете долгоживущие или «бесконечные» TCP‑соединения (по типу Twitter Streaming API).

Итак, приступим!

Читать далее
BBC Russian+6
BBC Russian0

Первый взгляд на переход с Xamarin Native на Flutter

BBC RussianПростой
BBC Russian12 мин
BBC Russian4.3K

Привет! Меня зовут Егор, сейчас я работаю в компании DD Planet, а разработкой мобильных приложений я занимаюсь уже более двух лет. В этой статье хочу поделиться своим опытом перехода с Xamarin Native на Flutter. Постараюсь сравнить два фреймворка с точки зрения личного опыта, расскажу о своих старых заблуждениях касательно декларативных фреймворков, которые развенчал опыт работы с Flutter, а в конце статьи порассуждаю о своем идеальном мобильном фреймворке мечты.

Читать далее
BBC Russian+15
BBC Russian18

Применение Identity Server 4 в распределенном монолите

BBC RussianПростой
BBC Russian6 мин
BBC Russian1.4K

Некоторое время назад перед нами возникла задача разграничения прав доступа к ресурсам, то есть задача аутентификации и управления аутентификацией. Поскольку архитектура основных проектов представляла нечто похожее на распределенный монолит, мы решили остановиться на Identity Server.

Читать далее
BBC Russian+3
BBC Russian12

От первокурсника до программиста: история 4 лет обучения в ВУЗе на программиста

BBC RussianПростой
BBC Russian9 мин
BBC Russian34K

В этом году я окончил бакалавриат “Прикладная информатика: в экономике”. Поэтому пока память свежая, хотел предоставить небольшую выжимку из 4 лет моего обучения.

Первый год, как и у всех, у нас преподавались общие предметы, такие как философия, русский язык, история, информатика, математика и логика. Всё это меня раздражало, но сейчас я понимаю, что эти предметы были полезными и не принесли никакого вреда. На информатике учились работать с Word и Excel. В начале мне это также не очень нравилось. Сидим, учим офисные программы, а ведь я сюда шел, чтобы учиться прогать. Однако со временем я осознал, что, хоть это и было неинтересно, умение работать с ними пригодилось на следующих курсах.

2 курс

Во втором курсе довольно много было предметов связанных с ...

Читать далее
BBC Russian+54
BBC Russian132

.NET Digest #1

BBC Russian4 мин
BBC Russian6.5K

Добро пожаловать на первый выпуск нашего дайджеста, посвященного новостям и событиям в мире .NET! Команда C# разработчиков из PVS-Studio собрала для вас самые интересные и полезные материалы, чтобы держать вас в курсе последних тенденций и разработок. Поехали!

Читать далее
BBC Russian+34
BBC Russian11

Как стать C#-разработчиком бесплатно? Программа обучения с нуля

BBC RussianПростой
BBC Russian2 мин
BBC Russian15K

Если вбить слово «С# разработка» в поисковую строку, можно найти огромное количество курсов по данному направлению. Проблема в том, что все курсы являются платными и, как правило, имеют ценник в несколько десятков тысяч рублей.

Чтобы разбавить засилие платных курсов, мы подготовили для вас программу обучения «C#-разработчик с нуля», которая состоит только из бесплатных материалов.

Читать далее
BBC Russian+11
BBC Russian14

Эволюция сервиса классификации

BBC Russian8 мин
BBC Russian988

Привет, Хабр. Меня зовут Аделина Ямалтдинова, я разработчик технологического сервиса «Классификатор» — одной из частей платформы «Преферентум».

Как вы могли догадаться из названия, сервис нужен для классификации неструктурированной информации — документов, заявок, звонков и т. д. Он применяется для маршрутизации обращений на горячую линию, сортировки входящих документов в СЭД, тематической классификации, выявления негативных отзывов, определения типа и контроля комплектности документации и т. п. Таким образом, «Классификатор» упрощает переход компаний к интеллектуальной автоматизации различных бизнес‑процессов, обогащая используемые системы ИИ.

В статье я расскажу об устройстве нашего «Классификатора» и о том, как мы его улучшаем.

Читать далее
BBC Russian+2
BBC Russian0

Ближайшие события

Библиотека EremexControls.NET для Avalonia UI — Обновление май-июнь 2024

BBC RussianПростой
BBC Russian4 мин
BBC Russian2.5K

Наконец это свершилось. Сегодня мы официально выпускаем первую версию наших контролов для Avalonia UI, которые получили немало важных изменений с момента публикации предыдущей статьи.

Читать далее
BBC Russian+31
BBC Russian14

Три недели кодирования экономят два дня проектирования

BBC RussianСредний
BBC Russian14 мин
BBC Russian23K

Когда я был юн, я ненавидел архитектурное проектирование и документацию, и считал единым источником правды код. Если вы знакомы с мемом в заголовке статьи, то конечно же знаете, к чему это привело меня в конечном счете.
Эта история про то, как я пришел к необходимости процесса обязательного технического анализа по задачам для программистов.

Писать постановку, но чуть-чуть
BBC Russian+78
BBC Russian73

Глубокое погружение в CancellationToken: эффективное управление отменой в .NET

BBC RussianСредний
BBC Russian14 мин
BBC Russian7.4K

Привет, Хабр! Меня зовут Давид, я C#-разработчик в SimbirSoft. В современном программировании эффективное управление ресурсами и контроль за выполнением задач становятся ключевыми аспектами для создания надежных и масштабируемых приложений. В C# одним из важнейших инструментов в для достижения этих целей является механизм Cancellation Token. Эта концепция позволяет разработчикам изящно и безопасно управлять долгосрочными или ресурсоемкими операциями, обеспечивая возможность их отмены по требованию.

В этой статье мы погрузимся в мир Cancellation Token в C#, исследуя его роль, принципы работы и практическое применение. Мы обсудим, как эта технология позволяет разработчикам улучшить производительность и надежность их приложений, а также — как избежать распространенных ошибок при работе с асинхронными операциями. Подробно рассмотрим примеры кода, демонстрирующие использование Cancellation Token в различных сценариях, что сделает наше обсуждение не только теоретически насыщенным, но и довольно практичным для программистов любого уровня.

Читать далее
BBC Russian+1
BBC Russian10

.NET: итерируемую в foreach коллекцию изменять нельзя. Или…

BBC RussianСредний
BBC Russian4 мин
BBC Russian8.4K

Сегодня поговорим о неочевидной особенности некоторых коллекций в .NET. Долго вокруг да около ходить не будем и начнём с задачки на самопроверку.

Читать далее
BBC Russian+37
BBC Russian27

Управление секретами IT-инфраструктуры

BBC RussianСредний
BBC Russian5 мин
BBC Russian5.8K

Хай, даров всем! Недавно защитил свой диплом по разработке системы для управления корпоративными секретами. В честь этого хотел представить небольшую выжимку из моей работы.

Что вы получите от статьи?

В статье будет показан практический пример применения шифрования и комбинацией разных видов шифрования. Также вы узнаете базовые принципы работы цифровой подписи и криптографии. Ссылка на исходный код проекта доступна в конце статьи.

Зачем это нужно?

У компании, в которой я проходил практику, есть около 60 веб-сервисов и приложений, которые продолжают улучшаться и поддерживаться. У каждого сервиса есть в среднем около 15-20 секретов, например: логин и пароль от админки, API-ключи, строки подключения к БД, ключи шифрования и т.д. Обычно они хранятся в специальных файлах конфигурации проекта (appsettings.json) либо прямо в коде. Управлять ими в таком формате, когда они разбросаны по разным репозиториям и файлам, проблематично. Под "управлять" я имею в виду такие действия, как получение и периодическое обновление секретов. Передаются эти секреты между разработчиками обычно через мессенджеры, что приводит к их расползанию.

Для решения этих проблем и что бы сдать этот диплом, я сделал свой сервис для управления секретами.

Показать полностью
BBC Russian+2
BBC Russian15

Подборка докладов по С# 2023-2024

BBC RussianПростой
BBC Russian3 мин
BBC Russian6.6K

Недавно мы публиковали подборку докладов по C++, но не будем же мы обделять и C# разработчиков. Поэтому предлагаем вашему вниманию интересные доклады из мира .NET и C#.

Вперёд к новым знаниям!
BBC Russian+11
BBC Russian0

Proton Mail в командной строке: пошаговая инструкция

BBC RussianПростой
BBC Russian2 мин
BBC Russian1.9K

Привет, Хабр!

В этом посте мы расскажем, как подключить учетную запись Proton Mail в Eppie CLI — консольный клиент Eppie.

Proton Mail использует при аутентификации протокол Secure Remote Password (SRP) — обычные почтовые клиенты его не поддерживают. В Eppie SRP реализован (мы об этом уже рассказывали здесь), попробовать можно уже сейчас, если скачать наше CLI приложение. Вся настройка займет минуту.

Прежде чем мы начнем, возможно, вам захочется узнать больше об Eppie. Это наш GitHub. Кое-что можно почитать и здесь, на Хабре. А теперь к делу.

Читать далее
BBC Russian+3
BBC Russian4
1
23 ...

Вклад авторов

Работа

.NET разработчик
58 вакансий