Shub
к концу года обещано затащить это в dotnet templates
Shub
а, да. это код Рубена
Doge
Типа шаблон проекта эта сложно, надо в студию устанавливать.
А вот скопипастить эталонный проект и руками переименовать все названия в нём - это по нашему, это хорошо.
Shub
Shub
типа "команда приняла решение, это решение себя зарекомендовало, сложившиеся практики хорошо поддерживают бизнес кейсы, у нас выработалось доверие"
Roman
Крылатый
Так до шаблонной магии из плюсов недалеко
Maksym
Зачем сишарпу что то перенимать с фшарпа если оно и так хорошо работало, мне совсем не нравится концепции смешивание стилей в одном языке кроме linq, потому что все пишут в разных стилях, и постоянно нужно переключать внимание что за стиль используется
Ilya
Стиль контролируется тулзами же.
Ayrat
https://twitter.com/0xaryan/status/1263215824501985283?s=09
Andrew
Ilya
Maksym
😂
x
Vasiliy
Ахахахха, я про npm
Vasiliy
Крылатый
Крылатый
Офигенный план: поставить автокоммитилку, которая будет обновлять копирайт каждый день.
Крылатый
И таким образом за 5 лет на пакет из одной строки is_odd накопится 1825 коммитов. Профит!
Vasiliy
https://www.theolognion.com/
Андрей
да пофиг ваш мокрософт! поздравляю экспатов с папа-днём!
поднимаем ёмкости с этанолосодержащим и подвергаемся ультрафиолетовому облучению, в умеренных дозах и в рамках законности и здравомыслия конечно
Андрей
никто вчера не кидал, а ведь классная штука
А чем она классная то? Не на все 10ки ставится, ноль фич. вот одна из представленных поделок, где неработающая шняга затмевает уже имеющиеся продукты только блямбой «от мокрософта». Мне пох, Альфредо лучше
Anatoly
Hog
Нормально вы так выездную сессию устроили :)
Hog
Кого вы хотите переубедить?
Крылатый
Hog
Stas
Если бы каждая сторона не троллила, их спор кладезь знаний, а так хер пойми, где подъеб, а где истина(
Ayrat
спец олимпиада
Denis
а где этот чат ?
Stas
https://t.me/pro_net
Doge
спец олимпиада
Ну правда в том, что хкт и ему подобные нужны, чтобы можно было норм библиотеки писать, с кучей логики, не пришитой к конкретным типам.
Ayrat
Doge
Ну а расширяемость CE - в присутствиии макросов, это уже не столь критично. (Но хорошо, если бы была из коробки, да)
Vladimir
Подскажите плиз как вот эта штука работает
https://github.com/apache/pulsar/blob/branch-2.5/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java#L127-L129
Vladimir
и потом вызывается в одном месте только вот тут
https://github.com/apache/pulsar/blob/branch-2.5/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java#L394
Vasily
А это не синглтон часом?
Doge
Ayrat
эта штука апдейтит поле атомарно
Ayrat
в самом классе
Ayrat
НАХУЯ
Ayrat
не имею понятия
Vladimir
я думал что это аналог обычного волатайла с атомарным инкрементом, но вот тут пишут, что он одновременно учитывает апдейты нескольких инстансов
https://github.com/apache/pulsar/blob/branch-2.5/pulsar-client/src/main/java/org/apache/pulsar/client/impl/PartitionedProducerImpl.java#L118-L122
Ayrat
sequenceId = msgIdGeneratorUpdater.getAndIncrement(this);
когда такое вызывается, оно лезет в поле msgIdGenerator
Ayrat
и видимо инкрементит его.
Vladimir
ну т.е. в инстансах это по логике должно быть независимо? в одном 0,1,2 и в других тоже 0,1,2?
Ayrat
О.о
Vasily
А это не Interlocked.Increment часом?
Ayrat
Я не понимаю зачем так сложно.
Vasily
Это джава
Ayrat
Выглядит как обычный атомарный инкремент
Doge
Ayrat
но сука через рефлексию над волатайл полем
Ayrat
Doge
(Что мешало обьявить поле AtomicLong'ом, я не знаю)
Doge
Которые в шарпе нужны для работы Interlocked.Increment
Ayrat
ref параметров нет
подожди. Я ж могу объявить Int (именно классом, а не примитивом) и это будет по рефу передаваться, не?
Doge
Doge
Имеется в виду, что для примитивов нет ref'ов, поэтому остаются хаки, если хочешь оставить примитив
Ayrat
Аааа, понял. Они хотели атомарный инкремент без боксинга
Doge
Ayrat
Но да, AtomicLong и вперде
Ayrat
Если я ничего не упустил
Vladimir
вроде для перформанса
Vladimir
https://www.javamex.com/tutorials/synchronization_concurrency_7_atomic_updaters.shtml
Doge
вроде для перформанса
Но тут вопрос, насколько бы критичен была разница между AtomicLong'ом и этой штукой.
Но это надо мерять
Vasily
Иногда инкремент это просто инкремент
Vladimir
ок, я подтвердить хотел) потому что в комменте написано single generator for all partitions https://github.com/apache/pulsar/blob/branch-2.5/pulsar-client/src/main/java/org/apache/pulsar/client/impl/PartitionedProducerImpl.java#L118-L122
Vladimir
а в реальности у каждого продьюсера дочернего свой генератор получается
Shub
In a few years, C# 20.0 will have only one release note: Changed the name from C# to F#
Shub
C# is Microsoft Research's 20-year-long con to turn Java programmers into OCaml programmers so slowly that they don't notice.
Vasily
Ну вот да
Stas
орнул, к слову недавно задавался вопросом "зачем учить теперь F#, если C# скоро станет F#"