Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 September 05

Y

Yaroslav in NodeUA - JavaScript and Node.js in Ukraine
@xanf_ua, ты попал в телевизор в радио-т)
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Забавно
источник

И

Иван in NodeUA - JavaScript and Node.js in Ukraine
Где именно?
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
В самом конце, вопросы слушателей
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
То они ещё не увидели что я из гитлаба :)
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
Учитывая их любовь к гитлабу
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Самое интересное, что там где bobuk СТО-шит пишуи как раз на жаваскрипте в основном и так же в основном юзают гитлаб.
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Кстати по поводу логгирования в шарпе
docs.microsoft.com/en-us/dotnet/core/extensions/logger-message-generator
Как там вы писали, "пушка"?
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
Опять же, фишка не в логгировании, а в приеме. Это же компайл тайм атрибут, а не декоратор
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
Сами сможете подобный написать без рефлексии?
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
Та и это даже еще не релизнулось. Мне интересно будет ли как то компилятор валидировать
hostName
В
public partial class InstanceLoggingExample
{
   private readonly ILogger _logger;

   public InstanceLoggingExample(ILogger logger)
   {
       _logger = logger;
   }

   [LoggerMessage(
       EventId = 0,
       Level = LogLevel.Critical,
       Message = "Could not open socket to `{hostName}`")]
   public partial void CouldNotOpenSocket(string hostName);
}
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
мб даже будет игнорить опечатки и ложится в рантайме в таких случаях
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
та и опять же рефлексия, вместо тонкой обертки в виде функций. А потом удивляются почему нода уделывает .net сервера
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Тем не менее, это вполне "пушка" :)
А в вашем примере декоратор нужен для аоп, и я давал ссылку на статью в которой перечислены возможные реализации аоп в шарпе
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
Это скорее просто хороший фасад) Честно говоря наличие этого аттрибута никак не доказывает надежность шарпа с точки зрения типов, потому что почти любой аттрибут это примешевания метоинформации к типам в рантайме, а потом манипуляция с этими данными через рефлексию, а где идет рефлексия это уже чистого вида программирования в стиле динамической типизации, при чем очень не дешевым программированием.
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
Стоял же вопрос не чем платформа .net хороша, а чем система типов в шарпе хромая, так ведь? Так вот аттрибуты яркий тому пример.
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Нет, вопрос стоял иначе. На чём проще писать, на шарпе или тс. Атрибуты одна из возможностей, которые упрощают написание кода
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
Да и поэтому то что есть логгер атрибут никак не доказывает что в шарпе система типов надежная и выразительная и что с ней можно писать легко и надежно наивные декораторы.
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
Честно говоря дискуссия странная получилась, я вам указывая явные проблемы C# и где тс лучше, но Вы как будто умышленно не видите их и просто приводите какие то косвенные решения, которые лечат симптоматику, а не диагноз
источник

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
Вот уже где макретинг майкросотфа постарался - в продвижении шарпа.
источник