Обновить
17
Сергей Бензенко@SBenzenko

.NET разработчик

23
Подписчики
Отправить сообщение

Да легко. Тем более, автор в этой же статье говорит, что у них есть класс с говнокодом. Ну вот возьми его, пару слов про домен расскажи для контекста и попроси отрефакторить или рассказать, какие тут ошибки.

Ну... относительно работал, не всегда верно, и, как я понял из истории, Дима далеко не всегда понимал, что он коммитил.

Я о том, что, похоже, "Диму" изначально выбирали по умению решать сферические алгоритмические задачи в вакууме. Ну так как выбирали, того и получили.

Извините, конечно, но все было понятно после заголовка + фразы "половина не может обход дерева написать". А вы в работе деревья обходите? Если да, тогда это валидный аргумент для отказа. Если нет, так задавайте на собесе проблемы, с которыми вы реально сталкиваетесь. Я так понял, в итоге вы плюс-минус к этому и пришли.

Спасибо авторам за ссылку на мой ТГ канал .NET Разработчик. Но справедливости ради, упомянутый в статье Ютуб канал не мой (хотя тоже полезный))).

По-моему, когда люди говорят, что "на проекте был внедрен ДДД", это уже значит, что они не понимают, о чем говорят. Не удивительно, что им все кажется переусложненным и запутанным.

ДДД - не фреймворк и не пакет, который можно подключить или отключить. Это набор "бест практик", которые можно использовать хоть по одной, хоть все вместе, хоть во всем проекте, хоть в отдельных его частях. Если, конечно, их правильно понимать. Некоторые языки помогают его использовать (например, поддерживая неизменяемость из коробки), в других приходится костылить. Возможно, из-за последнего некоторым кажется, что код усложняется.

К сожалению, много всего написано про ДДД, но мало где реально "на пальцах" объясняется суть и когда от него можно получить выгоду.

На эту тему обсуждения постоянные. Кто-то ратует за чистый русский язык, и "ведение журнала" вместо "логирования". Кто-то получше знает английский, и ему англицизмы понятнее. А в некоторых случаях перевести термин аналогичным термином на русском вообще невозможно. Здесь всё-таки книжное издание, поэтому старались не злоупотреблять англицизмами. Не могу сказать за конкретный пример, возможно, "регистрирует" было просто использовано в качестве синонима, чтобы 100500й раз "логирует" не писать.

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

А вообще, в оригинале и фильмы, и книги, естественно лучше)))

Фигня какая-то, а не список. "Кладбище проектов" - это созданное, не взлетевшее и похороненное (либо вообще не релизнутое). Включать в список все версии винды, как неудачные, так и прожившие десятилетия, просто для контента - это глупость.
Так гуглу можно записать в кладбище все предыдущие 119 (или сколько их там) версий хрома.

Да, мало новичку охренеть от объёма информации в Visual Studio, пусть ему ещё ReSharper накинет советов вроде "инвертируйте if" (и тормозов добавит до кучи) )))

По Фрагменту 1.

результат побитового "И" с операндом 0 всегда равен 0

Не всегда. Например, `null & 0` будет null. Рискну предположить, что именно это и проверяется, т.е. наличие значения у Manageability. Тем более, что в перечислении SettingsManageability только одно значение Roaming.

То есть "вражеский" опенсорсный .NET норм, а ОС надо сертифицированную?)))

А можно поинтересоваться, зачем это? Чего такого есть в "российском" линуксе, что оправдывало бы все эти танцы с бубном?

Напишите поподробнее, чего такого даёт платный курс. Просто по мне так все эти курсы, особенно на уровне новичка, когда не совсем ещё понимаешь, что, зачем, и надо ли оно тебе вообще, - это пустая трата денег (причём немаленьких денег, которые можно потратить на обучение гораздо более эффективно).

Есть бесконечная куча статей, книг, видео даже на ютуб, где "забесплатно" можно пройти по шагам, возможно даже для начала просто повторять за автором, создать хоть что-то работающее (я так понял, с этим всё ещё проблема). При этом параллельно подтягивать теорию в тех местах, которые вы не понимаете, как работают. Например, не тратить время на "Bitwise operators", пока они не пригодятся по-настоящему (а возможно они и пригодятся то пару раз за карьеру). Потом можно попробовать доработать то, что создали, добавить что-то своё.

Вам выше писали про чрезмерное увлечение теорией, и мне тоже показалось по вашему тексту, что вы набираетесь каких-то знаний, а они у вас попадают в вакуум и беспорядочно там летают. Без понимания, для чего нужно каждое знание, и без наличия общего контекста, куда знание, как кусочек пазла, вставляется в связку с другими знаниями, очень сложно удержать его в голове хоть какое-то продолжительное время. Если вы изучаете if, вам нафиг пока не нужны ни switch (тем более switch-выражения), ни сопоставление по шаблону. Они на данном этапе просто будут раздражать "сложностью" и демотивировать. А в итоге забудутся за ненадобностью.

А вообще, удачи.

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

А то ведь могло быть что-нибудь типа: "Работник ознакомлен и согласен с Правилами Компании", а правила компании - "там, на сайте есть, потом почитаете".

Есть 2 билдера WebHostBuilder (только для веба) и HostBuilder (универсальный).

В классе Program.cs в ASP.NET Core 2.x создавался только WebHostBuilder:

WebHost.CreateDefaultBuilder(args)
  .UseStartup<Startup>()
  .Build();

В ASP.NET Core 3.x/5 добавили универсальный хост как раз для других типов приложений (не веб). Сначала в CreateDefaultBuilder создаётся IHostBuilder (универсальный), а потом метод расширения ConfigureWebHostDefaults() оборачивает IHostBuilder во внутренний класс GenericWebHostBuilder и устанавливает значения по умолчанию для веба, которые WebHost.CreateDefaultBuilder() выполнял в ASP.NET Core 2.1. GenericWebHostBuilder действует как адаптер между старым IWebHostBuilder и новым IHostBuilder:

Host.CreateDefaultBuilder(args)
  .ConfigureWebHostDefaults(webBuilder =>
  {
    webBuilder.UseStartup<Startup>();
  }; 

В .NET 6 сделали только API поверх вот этого всего. Новые классы WebApplication и WebApplicationBuilder просто оборачивают кучу кода из файлов Program.cs и Startup.cs в более минималистичную форму. WebHost и HostBuilder остались "под капотом". Они доступны через свойства WebApplicationBuilder.WebHost и WebApplicationBuilder.Host.

Так что в плане универсального хоста и веб хоста ничего не изменилось. На них просто накинули ещё одну обёртку, чтобы упростить код создания и запуска приложения. Но ничего не мешает использовать старый шаблон (да и для крупных приложений, скорее всего, старый шаблон так и будет использоваться).

Реализации IHostBuilder и IWebHostBuilder, если вы о них, по прежнему разъединены. Просто доступны через единый интерфейс - свойства WebApplicationBuilder: Host и WebHost соответственно.

Имелось в виду, конечно, непосредственно из кода это решительно непонятно. Интересно, в IDE хотя бы "провалиться" в этоn new() можно? Или хоть всплывающая подсказка с типом появляется?

Почему же, всё возможно.

Про Generic Host и его заместитель в .NET 6 будет во второй части.

В примере автор ссылается на рекомендуемую настройку конфигурации, указанную в документации Майкрософта https://docs.microsoft.com/en-us/aspnet/core/security/key-vault-configuration?view=aspnetcore-5.0#use-application-id-and-x509-certificate-for-non-azure-hosted-apps

Но у вас интересный вариант. А можете пример кода набросать для наглядности?

Спасибо. Упустил этот момент.

У меня коллеги в штатах вполне себе получают сертификаты и по AWS, и по Azure. Я сам нацелился на MCSA: Web Applications, работодатель обещает как оплатить экзамен, так и прибавку к ЗП и премию. Так что говорить о том, что это прям вообще никому не нужно, я бы не стал. Кроме того, сама подготовка к экзаменам — это неслабая мотивация и способ повышения квалификации.

Другое дело, вот тут я согласен с автором, новые сертификаты уж слишком узкоспециализированные и нацелены исключительно на сервисы Azure. Они, наверное, действительно нужны будут чисто для коллекционирования, либо в единичных случаях.
1

Информация

В рейтинге
6 169-й
Откуда
Ярославль, Ярославская обл., Россия
Зарегистрирован
Активность

Специализация

Фулстек разработчик
Старший
C#
.NET
ASP.NET
PostgreSQL
Oracle
Oracle PL/SQL
JavaScript
CSS
HTML
Английский язык