Обновить
102.88

.NET *

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

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

Kubernetes security: с чего начать защиту своего кластера

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров685

markdown

🚀 Практический чеклист для начала

Обновите кластер — используйте актуальную версию K8s

Примените Pod Security Standards — хотя бы baseline профиль

Настройте Network Policies — начните с default-deny

Проверьте RBAC — удалите лишние cluster-admin binding

Сканируйте образы — встройте в pipeline

Включите аудит — хотя бы базовые события

Запустите security scan — kube-bench или kube-hunter

Читать далее

Новости

Книга «Современный C#. Разработка настольных, облачных, мобильных и веб-приложений». Работа со встроенными массивами

Время на прочтение9 мин
Количество просмотров1.1K

Приветствуем, Хабр.

Сегодня расскажем о нашей большой ноябрьской новинке – книге «Современный C#. Разработка настольных, облачных, мобильных и веб-приложений». Иэн Гриффитс продолжает многолетнюю работу над своим справочником по C#, и в новом издании осветил версию C#12. Вот ссылка на гитхаб-репозиторий с примерами к книге.

Более ранние издания этой книги (по версиям C#5 и C#8) уже выходили на русском языке, поэтому данное энциклопедическое пособие наверняка известно опытным .NET-разработчикам. Мы не претендуем на лавры «подхвативших упавшее знамя», но решили выпустить новую версию книги, так как она в подробностях затрагивает облачные и контейнерные аспекты работы.  Вот что появилось нового в этом издании по сравнению с версией «C# 8», опубликованной на русском языке в 2021 году:

Читать далее

Кастомные WPF-контролы, часть 2: ComboBox с фильтрацией содержимого, TimePicker, DateTimePicker

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров391

В этой статье я продолжу разбирать нюансы разработки WPF-контролов. В прошлой части мы рассмотрели, как сделать свой стиль для кнопки и переключателя. Сейчас разберем ComboBox и DateTimePicker.

Читать далее

Как мы заменили Loopback на универсальный .NET API и получили единый контракт для 90% эндпоинтов

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.2K

Миграция с устаревшего фреймворка — это не только боль, но и возможность "переизобрести" свой продукт. В результате мы не просто мигрировали, а создали универсальный шаблон, который позволяет добавлять новые эндпоинты для справочников буквально за 5 минут, обеспечивая им из коробки пагинацию, фильтрацию, сортировку и валидацию

Читать далее

От школьного репетиторства до 14 курсов и 1000 студентов: мой путь в edtech

Время на прочтение9 мин
Количество просмотров1.8K

Последние несколько лет я параллельно писал код, преподавал и экспериментировал с форматами обучения. В какой-то момент понял, что преподавание — это тоже проект, просто с другим типом пользователей. И за 2 года обучил более 1000 студентов. В этой статье подробно расскажу, зачем вообще разработчику делать курсы и как системно подойти к их созданию. Бонусом в конце поделюсь советами и инсайтами.

Читать историю

Шестидесятилетний заключённый и лабораторная крыса. F# на Godot. Часть 11. Описываем деревья

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров791

В прошлой главе мы избавились от необходимости непрерывно соприкасаться с C#-генераторами Godot, после чего пришли к выводу, что нам нужен адекватный задаче DSL. Я дам небольшую вводную по написанию самого дешёвого, но при этом крайне эффективного варианта, а все возможные навороты и прочую крутотень оставлю для DLC статей за пределами текущего цикла (иначе он никогда не закончится). Начнём мы с инициализации нод, настройки статических характеристик и выстраивания иерархии, а в следующий раз разберёмся с описанием их поведения.

Читать далее

Система резервации заказов на Postgres, продолжение

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров677

В комментариях к предыдущему посту "Система резервации на 600 заказов в секунду без буферизации и другой дичи" только ленивый не упомянул явные блокировки в Postgres, как способ борьбы с дедлоками.

Это не удивительно, так как select for update - очень популярный прием во всех СУБД, даже на Хабре есть статья на эту тему.

Что же окажется быстрее?

Три неудачных патча и одно озарение: реверсим клиентскую аутентификацию на HTB

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.2K

Название: Bypass
Категория: Reversing
Сложность: Easy
Ссылка: https://app.hackthebox.com/challenges/Bypass

Разбираю задачу Bypass с Hack The Box. Путь от трех неудачных патчей в IDA Pro до элегантного решения с помощью dnSpy. Показываю, как выбор правильного инструмента решает всё.

Читать далее

Как я решил бросить программирование, стать вайбкодером и что из этого вышло

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров38K

Я был программистом больше 20 лет. Начинал с плюсов и геймдева, но работал и с HFT, и с мобильными играми на Java, писал под Unity и C#, трудился на банки и автоматизировал бизнес.

В конце 2023 года я конкретно выгорел и, имея на счету средства, чтобы не работать несколько лет, решил отдохнуть. Примерно в это же время начал усиливаться хайп вокруг нейросетей, к которым я всегда относился очень скептически, поскольку помнил их возможности ещё со времён универа. Для меня это была полузабытая технология из 50-х.

Первая модель, с которой я решил поиграться, — это был GPT-3.5, ретранслировавшийся в телеграм-канал. Особо ничего не ожидая, я попросил его написать код, который делит отрезок пополам. И... у меня отвисла челюсть, когда он действительно это сделал. Дрожащими руками я скопировал и вставил код небольшого контроллера и попросил его запилить в Angular-сервис. И опять он справился на отлично! Назад дороги не было. В первый же день я твёрдо решил бросить опостылевшее программирование и полностью переложить на нейросети написание кода, оставив себе только генерацию идей и тестирование (там, где это необходимо).

Аргументы, что, дескать, «тупая железяка никогда не заменит человека», меня всегда веселили. Да мне плевать, кто там и где кого заменит. Если раньше при сборке приложения вываливались непредвиденные ошибки и я, чертыхаясь, откладывал задачу, то теперь я просто на автомате копипастил код, шёл на кухню за кофе и вставлял правки, которые предлагала та самая «тупая железка».

Первый проект, на котором я решил опробовать нейросети, — это ru-ticker.com. Он много лет кормил меня, но конкуренты выросли в большие корпорации с капитализацией в миллиарды, и мне уже было не угнаться со своим пет-проектом, который принёс только несколько миллионов, но рублей. Задача была портировать его на Angular, который я знал посредственно — на уровне «поправить баги в корпоративном проекте». В итоге примерно за полтора-два месяца я полностью портировал фронт проекта, который до этого ковырял пару лет, плюс походя реализовал такие плюшки, как автоматический парсинг данных и текста с преобразованием нейросетью для лучшей индексации поисковиками.

Читать далее

Заводим друзей в C# (аки C++ friend, однако, более того)

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров2.3K

Премьера! Драматическое признание в любви (к Ф...).

100 рублей и 100_000 юаней!

Реализации аналогов друзей в C#, различные подходы, сравнительный анализ. Элвис жив!
Вах, заходи дорогой(-ая), другом будешь!

Читать далее

Отказ от DevExpress Reports: переход на собственную систему отчетности

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.1K

Всем привет! Меня зовут Леонид, я разработчик компании DD Planet.

Как мы все прекрасно понимаем, ни один бизнес‑проект немыслим без разного рода отчетов. Быстрота и удобство их создания зачастую критично важны.

В нашей компании мы долгое время использовали инструмент DevExpress Reports. Однако после ухода DX с отечественного рынка остро встал вопрос о пересмотре архитектуры формирования отчетов — особенно тех, что создавались с помощью визуального дизайнера форм.

Раньше, при использовании компонентов DevExpress, такие отчеты можно было создать в несколько кликов и практически без знания кода — за счет мощного и удобного дизайнера:

Читать далее

Сборка docker image под windows

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.9K

Тем кто собирает что-то под windows и задумался о версионировании сборочного окружения.

Как ведь бывает, прилетает баг, нужно пересобрать старый релиз, а сборочный агент уже с другим окружением. И даже если вы каким-то образом сохраните нужное окружение, как защитить от его от самих сборок? Делать снапшоты, откатываться, или разворачивать агенты с некого золотого образа и прочее.

Версии окружения поднимаются, само окружение усложняется, требование команд к окружению растут и расходятся. Как тут всем угодить?

Исторически так сложилось, что в linux docker заехал как родной, а вот в windows вроде бы есть, но про него не слышно, на Хабре так уж точно. Поэтому если вы решили это попробовать, то эта статья для вас.

Читать далее

Код, понятный IDE и AI: использование атрибутов из JetBrains.Annotations

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.5K

У JetBrains есть фреймворк JetBrains.Annotations для .NET, который предоставляет набор полезных атрибутов. Они выступают дополнительными метаданными для статического анализатора JB, который включён в их IDE и ReSharper, для самих разработчиков и даже для нейросетей, которые работают с этим кодом.

Какие атрибуты доступны, как и где ими воспользоваться — об этом кратко и с примерами далее.

Читать далее

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

Claw Engine: как студенты из НИУ ВШЭ релизнули MVP игрового движка

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.8K

Claw Engine: как студенты из НИУ ВШЭ релизнули MVP игрового движка

Всем привет! На связи Bear Head Studio, команда Claw Engine. Мы рады сообщить об открытом релизе нашего игрового движка :)

Читать далее

Атаки на умный дом: ваш холодильник может стать врагом

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.8K

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

По данным исследования Palo Alto Networks, 98% трафика IoT-устройств не шифруется, а средняя квартира с умным домом содержит 10-15 уязвимых устройств. Каждое из них может стать точкой входа в вашу личную жизнь.

Читать далее

Requestum: CQRS-библиотека для .NET как альтернатива MediatR

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.4K

Привет, Хабр! Хочу поделиться библиотекой Requestum, которую написал как открытую альтернативу MediatR.

Читать далее

Atomic — свежий взгляд на разработку игр Unity и C#

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров8.9K

На прошлой неделе вышла вторая версия архитектурного фреймворка Atomic, который применяет атомарный подход в разработке игр на Unity и C#.

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

В этой статье мы подробно разберём концепцию атомарного подхода и посмотрим, как можно проектировать архитектуру из «болтиков» и «винтиков». Также рассмотрим способ разработки игр на чистом C#, используя Unity в качестве визуализации.

Читать далее

MVC в Unity. Часть 2. MVP

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров563

Продолжаю цикл статей, посвящённый концепции MVC.

Продолжим решать задачи с предыдущей статьи. У нас есть панель статистики, в которой указаны наши HP. Мы не реализовали функционал показа и скрытия этого окна через UI. 

Для этого мы...

Читать далее

Мастерское масштабирование: создаем утилиту для лупы в играх без риска для античита

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.3K

Сегодня мы разберемся, как создать легковесную утилиту, которая решает эту проблему элегантным и, что самое главное, безопасным с точки зрения античитов способом.

Читать далее

Cex в C# (вычисление выражений из строк)

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров4.9K

Хочу поделиться небольшим кусочком кода для быстрого вычисления математических выражений из строк, который изначально был написан для моей инди игры. Проект я решил назвать Context EXpressions 🥰

Читать далее
1
23 ...

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