3
Karma
0
Rating
Роман Букин @nomoreload

BackEnd разработчик ASP.NET Core.

Пессимизм насчёт многопоточности

+3
Не правильный у вас какой-то сервер-сайд. В правильном сервер-сайде асинхронность > многопоточности. А ещё лучше, если сервер-сайд умеет и в одно, и в другое.

Ещё один dsl на Kotlin или как я печатал PDF из react

0
Ну и на худой конец есть wkhtmltopdf, которому на вход можно подать страницу в stdin, а из stdout забрать байты pdf’а.

Internal DSL & Expression Trees — динамическое создание функций serialize, copy, clone, equals (Часть I)

0
Там степень оптимизаций настолько упорота, что даже порядок свойств определённый.

Авторизация для ленивых. Наши грабли

0
Советую его рассмотреть. Из всех спек oidc он не умеет только в динамическую регистрацию клиентов. По сути хост idsrv — это обычное mvc приложение, и если вы сможете аутентифицировать пользователя в этом приложении через какой-либо провайдер, то значит у вас +1 способ для логина. Только разбор советую начать с чтения спецификаций OAuth2.0 и oidc, а то можно долго путаться в его абстракциях, пытаясь изобразить требуемый результат))

Angular: авторизация, рефрешим токен и HttpInterceptor

DevDay про .NET: ленивая авторизация & союз DSL и C#

0
Только OpenID Connect — это всё же протокол аутентификации (пользователей), который построен поверх OAuth 2.0, который уже, как раз, протокол авторизации (приложений). Как-то так)

CQRS. Факты и заблуждения

0
Фабрики там служат сугубо для того, чтобы обернуть вызов IoC контейнера. Вопрос был в том — а нормально ли использовать его как основу для CQRS? API нравится, вроде даёт всё нужное. Правда интерфейс один — IRequest, но можно ведь сделать команды и запросы в разных сборках и следить за тем, чтобы обработчики запросов не изменяли состояния. Что скажете на этот счёт?

CQRS. Факты и заблуждения

0
Дорого поддерживать DTO и SQL, так как схема может ощутимо так измениться в процессе рефакторинга. За этим и спросил по поводу «срезать углы» в этом моменте. А уже после, когда будет уверенность в том, что со схемой всё ок, и мы описали нашу предметную область на столько, на сколько это было возможным — уже «заплатить по счетам» и таки реализовать чтение полностью независимым от домена и EF, возможно переработав API и то, как данные возвращаются из API.

CQRS. Факты и заблуждения

0
«Чистый» — это с полноценно раздельной записью и чтением, когда модификация состояния — это EF + DDD с транзакциями, а чтение — Dapper/ADO+DTO.
Я спросил, на счёт того — допустимо ли использование бизнесовых сущностей и контекста БД не только для модификации, но и для чтения на начальных этапах проектирования системы, так как домен там постоянно изменяется по мере уточнения требований. А так же спросил на счёт возможности использования готовой библиотеки в качестве инфраструктурной основы.

CQRS. Факты и заблуждения

0
DTO. Потому что на начальном этапе это может быть довольно дорого в плане рефакторинга. Ваш ответ понял, стал чувствовать себя спокойнее)

CQRS. Факты и заблуждения

0
А если на начальном этапе разработки в качестве хранилища взять тот же EF Core, и оперировать его контекстом, как в командах, так и в запросах. А потом, по мере роста нагрузок и усложнения логики — проводить постепенный рефакторинг, устраняя узкие места (с использованием того же Dapper или вообще ADO).
Допустимо ли строить архитектуру таким образом?
Потому что строить чистый CQRS изначально, с отдельным представлением данных для CUD и R — довольно дорого, особенно в условиях, когда даже нет целостного представления о том какой должна быть модель (а это означает постоянный рефакторинг. Много рефакторинга).

И второй вопрос — что скажете на счёт MediatR в качестве инфраструктуры для CQRS. Там правда всего один интерфейс, но проблема деления на команды и запросы решается нэймингом.

FAQ по теме интеграции с ЕСИА

0
Прочитал документацию. Написал код, который работает. Для криптографии под доткор взял BouncyCastle.

Больше чем Java?

+8
Помимо mono для C# существует ещё и .net core — который, во-первых открытый, во-вторых кросс-платформенный. Если не затруднит — прогоните ваш бенчмарк и на нём.

FAQ по теме интеграции с ЕСИА

0
При реализации провайдера аутентификации через OAuth 2.0 неистово «доставил» динамический client_secret

Простая реализация Token для взаимодействия мобильного приложения с WebAPI

0
Для авторизации есть OAuth 2.0.
Для аутентификации — OpenID Connect 1.0.
Зачем изобретать изобретённое?
В случае дотнета — есть IdentityServer, который реализует оба протокола.

Производительность выгрузки большого количества данных из Mongo в ASP.NET Core Web Api

Ростелеком: чужие счета — это не спам

0
Полностью аналогичная проблема. Вообще никогда не пользовался услугами «Ростелеком», а смс приходят регулярно. Кстати, сегодня был даже звонок.

Производительность выгрузки большого количества данных из Mongo в ASP.NET Core Web Api

0
Ну всё же хотелось бы увидеть тесты при работе с yield’ами. Если можно.

Производительность выгрузки большого количества данных из Mongo в ASP.NET Core Web Api

Производительность выгрузки большого количества данных из Mongo в ASP.NET Core Web Api

+1
А какая разница? Доткор всё равно обработку ответа выполняет на потоке из тредпула. Зато памяти не ест практически.

Производительность выгрузки большого количества данных из Mongo в ASP.NET Core Web Api

0
А нельзя yield’ить результаты из базы? Да, минус в том, что Content-Length не будет, так как неизвестна длина ответа, но потребление памяти при таком раскладе должно быть ещё меньше чем при батчинге.

Книга «Angular для профессионалов»

Как IIS поддерживает нашу BI-аналитику, и в чем особенности настройки под Highload

Работаем с долгими API в ASP.NET Core правильно или тонкости переезда на новую платформу

0
Советую ещё на Hangfire посмотреть — тоже весьма годный планировщик. К слову, есть порт под .NET Core. Имеет реализации хранилищ под разные СУБД, позволяет запускать таски на нескольких серверах, хранит всю историю, позволяет запускать и перезапускать таски вручную, из коробки имеет дашборд и интегрирован с DI. Единственный минус — синхронный API. Так что для вызова асинхронных методов — GetAwaiter().GetResult()

Самое сложное в программировании это…

+8
There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery

Пора убить C#

+2
Просто decimal. А автору желаю пользоваться банками, в которых всё написано на JS (хоть таких и нет, но нужно, чтобы для таких фанатов появился).

Электронные документы в российских судах, как критерий электронной зрелости России

Электронные документы в российских судах, как критерий электронной зрелости России

+1
Есть ещё такая «прекрасная вещь», как СМЭВ. Авторы которой, заслуживают отдельного котла в аду. Во-первых, в документации мех поллитра не разобраться, во-вторых, через одного лежат тестовые окружения, в-третьих, всё его использование завязано на проприетарных CSP. При работе с этим «чудом» инженерной мысли, складывается стойкое впечатление, что всё это — один большой проект по распилу бюджетов, который вроде бы работает, но вот толку от этого в районе около нуля…

Необразованная молодёжь

+3
Внесу свою лепту. Учился в колледже. С 1 курса эникействовал (Win/macOS переустановить, айфон прошить/Jailbreak’нуть), в конце 3 курса посчастливилось устроиться админом… наверное в стартап… Начиналось всё с 10 машин, интернета Yota, и Wi-Fi роутера Zyxel, а закончилось 400 пользователями, 7доп.офисами, своим ЦОД’ом, десятком серверов и пятком СХД (и это всё за 3 года). На 4м курсе на учебу перестал ходить (при том, что учился очно), не до неё было (у отца нашли злокачественную). Кое-как получил диплом (у многих преподавателей бзик на посещаемости был). Где-то в промежутке между открытием доп.офисов и конфиганья GPO открыл для себя C# (ирония в том, что меня мой знакомый, учившийся в ВУЗе просил помочь сделать лабы по нему). Консоль, WinFirms, WPF, ASP.NET. Застал зарождение и становление ASP.NET Core. Начали поджимать ЗП (когда курс валюты в 2 раза прыгнул), ушёл по собственному. После этого полтора года проработал в компании, занимающейся разработкой учетной системы, которая была ядром всего на 1м месте работы. Но перспективы получать оклад без какого-либо роста не радовали. После полутора лет ушёл по собственному, нашёл работу с белой ЗП в 2 раза большей, чем на прошлом месте работы. На данный момент занимаюсь разработкой под ASP.NET Core.
Мне 23. Все мои знания, которые я ежедневно применяю на практике — добыты мною лично. Образование (по крайней мере в нашем регионе) ничего практического не даёт. Единственные союзники на пути в IT — это жгучее желание познания этой сферы, и умение заглушать депрессивные позывы всё бросить и заняться чем-то попроще.
Никто из всего потока (потока, Карл!!!) не программирует. Кто-то поступил в универ, кто-то админит/эникеит.
Но пока народ играл условную в доту(cs/lineage/своё по вкусу), я въезжал в то, как работает IoC, async/await, многопоточность и блокировки, читал RFC и исходники IdentityServer, пытаясь понять то, как он работает, реализовывая свой сервис аутентификации…
Тогда я им завидовал. Мне было 18 и хотелось заниматься соответствующими вещами. Но сейчас, я понимаю, что из-за того, что жизнь меня поставила у суровые условия, через которые я смог прорваться — у меня всё отлично.
Конечно, это не повод «сесть, ножки свесить», ведь IT, это такая сфера, где чем больше узнаёшь, тем больше понимаешь, насколько велико твоё «начерта не знаю» (а оно обширно, как сама Вселенная). Поэтому, необходимо постоянно находить и познавать новое. Хотя бы просто для того, что бы иметь актуальный стек технологий и понимание того, как они работают.
Учитесь сами и превосходите других, применяя свои знания на практике. У вас для этого есть величайшее изобретение в истории — интернет. Используйте его по-назначению))

Stream API & ForkJoinPool

-2
Это такой аналог PLINQ из враждебной вселенной, если я правильно понял?

Переход с ASP.NET к ASP.NET Core 2.0

0
Можно и не писать, если у вас весь стек обработки запроса синхронный. А вот если асинхронный, то лучше потоку другие запросы пообрабатывать, чем, скажем, на IO у базы сидеть, в ожидании ответа.

Переход с ASP.NET к ASP.NET Core 2.0

Переход с ASP.NET к ASP.NET Core 2.0

Типичное использование Observable объектов в Angular 4

+3
Огромное Вам, человеческое, спасибо! Весьма годная подборка для начинающего. На русском материала по RxJS практически нет. Вы осветили крайне полезные (по крайней мере, для меня) юзкейсы.

OO VS FP

+1
Прочитал ObjectOriented VisualStudio FunctionalProgramming. ASP.NET головного мозга, блин)

Как я проходил собеседования на позицию Junior .Net Developer

Имплементация OpenId Connect в ASP.NET Core при помощи IdentityServer4 и oidc-client

0
К слову, уже есть rc версия под .NET Core 2.0, включая пакет для работы с EF Core (тоже 2.0). Только валидацию токенов на стороне API ещё не завезли, так что OpenIdConnect и JWT-only (их middlewar'а даёт интроспекцию и возможность юзать Reference-токены)

Ожидание длиной в 15 лет. Nginx Application Server

Развертывание .NET Core проекта в Azure Web App для Linux

Основы Angular: HttpClient

0
Можете подписаться на все события, мониторить окончание запроса и в зависимости от результата смапить его в результат, либо в ошибку. Ну то есть в зависимости от требуемого кейса, успешным может быть не только 200, но и 201, например.
1 There