М.Двач / Программирование

119 Кб, 960x540
C# / дотнет тред #61 Летний тред лучшего языка на планете. 1. Ресурсы: — https://learn.microsoft. 12 июня, 09:37 3474778 В конец треда | Веб

C# / дотнет тред #61

Летний тред лучшего языка на планете.

1. Ресурсы:
— https://learn.microsoft.com/en-us/dotnet/
— https://ru.stackoverflow.com/a/416585/422180
— https://metanit.com
— https://professorweb.ru
— https://github.com/uhub/awesome-c-sharp
— https://sharplab.io/
— https://www.jimmybogard.com/you-probably-dont-need-to-worry-about-mediatr/
— https://cezarypiatek.github.io/post/why-i-dont-use-automapper/?utm_source=chatgpt.com

2. С# для веб
— https://docs.microsoft.com/ru-ru/aspnet/core

3. C# для десктопа
— https://docs.microsoft.com/ru-ru/dotnet/desktop

4. С# для игр
— https://ru.stackoverflow.com/a/609901/422180

5. С# для мобильной разработки
— https://docs.microsoft.com/ru-ru/dotnet/maui

6. Годные ютуб-каналы
— https://www.youtube.com/c/CODEBLOG
— https://www.youtube.com/c/AndreyShyrokoriadov
— https://www.youtube.com/c/DevJungles
— https://www.youtube.com/user/Shmachilin
— https://www.youtube.com/c/Elfocrash
— https://www.youtube.com/user/IAmTimCorey

Шапка: https://pastebin.com/HT7Hi6FD
Прошлый тред: https://2ch.hk/pr/res/3395748.html (М)

Ответы74955751117531583028

2 12 июня, 10:30 2 3474812

Напоминаю, что MediatR - говно

Ответы74820

3 12 июня, 10:31 3 3474813

Напоминаю, что Automapper - говно

Ответы7482074933

4 12 июня, 10:45 4 3474820

>>3474812
>>3474813
Напоминаю что ничего не истинно, ничего не вечно

5 12 июня, 13:53 5 3474933

>>3474813
Предлагаешь ручками писать конвертеры дтошек?

Ответы7493975044

6 12 июня, 13:59 6 3474939

>>3474933
> Предлагаешь ручками писать конвертеры дтошек?

предлагаешь ручками писать конфигурации маппингов конвертеров дтошек?

7 12 июня, 14:26 7 3474955

>>3474778 (OP)
А почему на ОП пикче голанг разработчик?

Ответы75074

8 12 июня, 14:50 8 3474978

>писать на подмелкомягком платформозависимом вбенчмаркахсосущем гетсетожужжащем языке в 2025

Ответы7504775071

9 12 июня, 16:29 9 3475041

.

10 12 июня, 16:35 10 3475044

>>3474933
В конфиге автомаппера приходится РУКАМИ писать методы-конвертеры.
То есть кода с говёным автомаппером получается БОЛЬШЕ, чем без него.
Впрочем, за это его и любят нубы: нахуярил конфигов и можно коммитить - вроде как не бездельничал.

11 12 июня, 16:37 11 3475047

>>3474978
Сигара уже давно не зависит от платформы и спокойно крутится на линуксе.

Ответы7504875664

12 12 июня, 16:37 12 3475048

>>3475047
Сишарп*

13 12 июня, 16:40 13 3475049

По поводу new.
Например, нужно читать большие файлы в десятки гигабайт и обрабатываться чанками.
Вот так написал хейтер new:

while ...
byte[] bytes = reader.ReadBytes(count);

После чего был обоссан, выебан ножкой от стула и выгнан на мороз с волчьим билетом.
Если размер файла 16 Гб, а count = 16K, то получаем всего лишь миллион аллокаций массива. Зато new нет...

Ответы750507505375078

14 12 июня, 16:42 14 3475050

>>3475049
с new было бы в два раза больше аллокаций

15 12 июня, 16:43 15 3475051

А вот так можно переписать с new:

byte[] buffer = new byte[count];

while ...
int n = stream.Read(buffer, 0, count);

Единственная аллокация с new.
Да, можно пойти ещё дальше, сделав буфер полем класса, статическим полем класса или, более того, заюзав пул, но это уже мелочи.
Факт в том, что хейтеры new - имбецилы. И пока вы существуете, я ценюсь выше как специалист.

16 12 июня, 16:44 16 3475053

>>3475049
если это на разок считать данные скриптом - то и похуй. Главное, что ЗАПАХОВ кода нет. По хорошему, надо спрятать метод ReadBytes за автомаппером чтобы был достаточный уровень абстракции

Ответы75058

17 12 июня, 16:49 17 3475056

Читал тред и поражался. Млять, неужели кто-то до сих пишет мапперы (конфиги мапперов) вручную? Установите в IDE расширение для маппинга и генерируйте код одним кликом мышки или нажатием шортката.

Ответы750627506475097

18 12 июня, 16:53 18 3475058

>>3475053
Абстракции всегда текут. ИЧСХ, текут говном. Там не просто ЗАПАХ, там ВОНИЩА!

456 Кб, 2683x1570
19 12 июня, 16:57 19 3475062

>>3475056
Я же вчера скидывал, как правильно делать. Просто рефлексией пробегаешься по всем классам в сборке и конфигурация готова

Ответы75079

20 12 июня, 17:01 20 3475064

>>3475056
> пишет мапперы

Я, если без шуток, в ахуе, откуда берётся столько маппинга у людей.

Видел на проектах вплоть до 6-7 слоёв. А всё потому что ебутся с медиатром, в котором нельзя методы вызывать по нормальному и все аргументы надо объектом передавать.

ПРосто выкидываешь медиатр, и автомаппер автоматически становится не нужен

21 12 июня, 17:13 21 3475071

>>3474978
То ли дело лобком генерировать гетсеты и не иметь ни одной нормальной комьюнити иде с коробочным спрингом...
>подмелкомягком
У дотнета лицензия то посвободней будет чем у наших дорогих друзей
>платформозависимом
Вылезай из криокамеры

Ответы75664

22 12 июня, 17:18 22 3475074

>>3474955
Потому что джависты перекатывают, у них аллергия на джаву здорового человека

23 12 июня, 17:22 23 3475078

>>3475049
Про ArrayPool слышал, обоссышь?

127 Кб, 787x1333
24 12 июня, 17:22 24 3475079

>>3475062
Умение способный уникальное учен
ик. Мы втроем шли по тропинке ноги топали по мягкой мокрой грязи издавая шлепающий звук Сегодня днем шел дождь и от него земля была грязной а ноги липкими Ботинки были порваны

25 12 июня, 17:54 25 3475097

>>3475056
>Установите в IDE расширение
Какое? Вроде такой функции нет и там минимальная поддержка. А так да, бывают сложные мапперы и нужно как следует посидеть и тщательно написать код, а затем тесты на мапперы

Ответы75141

26 12 июня, 18:15 26 3475111

>>3474778 (OP)
Ну и нахуя перекатили? Чтоб ещё пару ебланов закатились и себе жизни поломали? На Линкедине половина вакансий создана чтоб обучать нейроHRов, четверть чтоб компании показывали свой рост перед инверсторами. Оставшаяся четверть ищют людей-оркестров с функционалом айтиотдела на зп в 2к баксов.

Ответы75115

27 12 июня, 18:32 27 3475115

>>3475111
Потому что круговорот финтеха, где сидят одни и те же 50 летние жабисты/плюсисты этот круговорот начавшие. В геймдеве на позиции шарпистов нормально мест есть, про бугор ваще молчу.

Ответы75119

28 12 июня, 18:40 28 3475119

>>3475115
В гейдеве традиционно низкие зп и ублюдочные мрази на менеджерах. Без исключений.
За бугром дотнет умер. Из реальных вакансий либо знание какого-нибудь нахуй не нужного датского и ворк пермит с хождением в офис в Эйхуйнахуйховене, либо ебаный человек-оркестр в стартап за три копейки, чистить говна за паджитами.

Ответы751297514375156

29 12 июня, 19:01 29 3475129

>>3475119
>За бугром дотнет умер.
Да откуда вы такую хуйню берёте?

Ответы75133

30 12 июня, 19:04 30 3475133

>>3475129
Внезапно из вакансий на линкедине.

Ответы75348

31 12 июня, 19:24 31 3475141

>>3475097
>тесты на мапперы

Подключаешь Automapper
@
А ты и не знал, что надо писать тесты на маппинги

Ответы75347

32 12 июня, 19:26 32 3475143

>>3475119
>За бугром дотнет умер.

кек

33 12 июня, 19:59 33 3475156

>>3475119
>В гейдеве традиционно низкие зп
База. В гейдеве найти норм зп это как в лотерею выйграть. В ентерпрайзе в 10 раз легче.

>За бугром дотнет умер.
База x2. Зряплаты на уровене таксистов уже давно.

34 13 июня, 01:34 34 3475315

>>3474778 (OP)
Опять тег проебали.

35 13 июня, 04:57 35 3475347

>>3475141
За автомаппер пиздить надо.

Ответы75375

36 13 июня, 04:59 36 3475348

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

37 13 июня, 09:20 37 3475375

>>3475347

Да. Одно только включение автомаппера в код добавляет сомнений и тряски над каждым свойством

А что если это свойство используется неявно...
А что если это свойство НЕ ИСПОЛЬЗУЕТСЯ неявно, но это так и должно быть...

Особенно какая-нибудь ебень, когда автомаппер встроен в дженериковый метод, типо "GetEntityById". Это вообще пиздец, можно сразу вешаться

Ответы7538975515

38 13 июня, 09:57 38 3475389

>>3475375
Именно. Я с ним писал и до сих пор жалею.
Экономия кода не стоит того.

312 Кб, 1266x433
39 13 июня, 13:09 39 3475456

Усатый давно уже доказал, что автомаппер говно.

Ответы7551580071

823 Кб, 1000x666
40 13 июня, 15:43 40 3475505

Анон, подскажи. Вкатываюсь в ойти, выбрал c#. Посмотрел по требованиям в среднестатистической вакансии (пока что фронт), помимо самого с# нужно знать .net, asp.net и sql. Есть ли разница, в каком порядке их изучать, и есть ли вообще "программа минимум", чтобы хотя бы на стажировку залететь самоучке без бумажке?
про необходимость накрутки стажа осведомлен

И дополнительный вопрос. У большей части просмотренных вакансий есть пункт "знание реакта - большой плюс", или что-то такое. Нахуя им нужно мое знание джавы, если вакансия для шарписта? Мне ее действительно нужно хотя бы до базового уровня довести будет, или можно забить на первых порах?

Заранее спасибо

Ответы755277557776255

41 13 июня, 16:10 41 3475515

>>3475456
>>3475375
Т.е. ваш говномаппер в рантайме через рефлексию поля сетает, лол? Какое свойство, перодля? У вас нет проверки на этапе компиляции, что есть маппинг из сорса в таргет? Вы идиоты?)))))

Ответы755237552876268

42 13 июня, 16:35 42 3475523

>>3475515
>Вы идиоты?
Да, использующие автомаппер - идиоты.
Тем более он стал платным...

43 13 июня, 16:56 43 3475527

>>3475505
>чтобы хотя бы на стажировку залететь самоучке без бумажке

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

60 Кб, 320x320
44 13 июня, 17:02 44 3475528

>>3475515
>Т.е. ваш говномаппер в рантайме через рефлексию поля сетает, лол

В этом его главное приемущество. Благодаря позднему связыванию объекты не зависят друг от друга, а разработчик может не беспокоиться о том, какие свойства куда замаппятся.

Всё работает само и бесплатно, а тебе только остаётся зарегистрировать маппинг один раз при старте проекта.

Ответы75535

45 13 июня, 17:10 45 3475535

>>3475528
>в рантайме через рефлексию
>бесплатно
>один раз при старте проекта
хорошо, что вас, мерзких гандонов, не пускают на нормальные проекты. сидите дальше црмки пилите, уроды

46 13 июня, 17:54 46 3475577

>>3475505
>выбрал c#.
Беги пока еще не поздно, свичься в джависты и живи нормально с освоеным спрингом, жрать везде найдешь (кроме геймдева, но там впринципе жрать нехуй)
>Нахуя им нужно мое знание джавы, если вакансия для шарписта?
Потому что ищут фуллстеков за 3 рубля и хотят натравить тебя на то что паджиты не доели, ибо недурные. По делу - забей на рекакт и просто освой js, он простой и тебе хватит, а все их местные фреймворки подтянешь там где возьмут. Максимум доку прогляни чтобы с умным видом что-то проквакать на собесе

Ответы7558175582

47 13 июня, 18:13 47 3475581

>>3475577
>спрингом

И ебись с десятилетними DDD агрегатами и AOP в XML. Java стек собрал всех ёбнутых долбоёбов, там до сих пор этой хуйнёй занимаются

Ответы75583

48 13 июня, 18:15 48 3475582

>>3475577
>Беги пока еще не поздно, свичься в джависты
Я бы в бэк хотел уйти, после того, как хотя бы минимально в профессии освоюсь. Красить кнопки как-то мех, учитывая, что я не дегенерат.

>По делу - забей на рекакт и просто освой js, он простой и тебе хватит, а все их местные фреймворки подтянешь там где возьмут.
Хорошо, спасибо.

Ответы75584

49 13 июня, 18:16 49 3475583

>>3475581
Лучше ебаться с этой хуйней за нормальную зепку чем с голоду помереть

50 13 июня, 18:19 50 3475584

>>3475582
Ты java с javascript часом не путаешь? Языки то разные и области тоже. Бежать я советовал в java а не js

Ответы75587

51 13 июня, 18:35 51 3475587

>>3475584
Не понял из сообщения прошлого.

А в чем разница между шарпом и джавой? Бэк же и на том, и на том пишется, и с вакансиями проблем нет особых, судя по хедхантеру.

Ответы75636

52 13 июня, 20:04 52 3475636

>>3475587
>А в чем разница между шарпом и джавой? Бэк же и на том, и на том пишется, и с вакансиями проблем нет особых, судя по хедхантеру.

java это ёбаный всеми трижды обоссаный спринг, разгребание XML, DDD, паттерны, ГОФ и хуй знает как собранный проект из кусков байткода 2008 года

c# это современный язык общего назначения и более адекватное сообщество разработчиков, приятная система пакетов в нугете и хайлоад.

Ответы75642

53 13 июня, 20:16 53 3475642

>>3475636
>C# - это чистить говно за паджитами в аутстаф галере с хохлами
Поправил тебя.

54 13 июня, 20:43 54 3475664

>>3475071
>а вот у джавистов
А вот у джавистов ничего из перечисленного нет.

> У дотнета лицензия то посвободней будет чем у наших дорогих друзей
А? Куда свободнее GPL?

>>3475047
Не говорите ему что львиная доля стдлиба только для шинды.

Ответы7566875700

55 13 июня, 20:48 55 3475668

>>3475664
>доля стдлиба только для шинды
Какая еще стдлиба в шарпе? Ты тредом ошибся.

Ответы75671

56 13 июня, 20:49 56 3475671

>>3475668
Долбоёб, стдлиба это не обязательно плюсовая стдлиба. Это просто любая стандартная библиотека.

Ответы7567775810

57 13 июня, 21:01 57 3475677

>>3475671
Ну окей, давай покажи какая "львиная" доля System до сих пор прибита к винде и не работает на линуксе.

Ответы79995

58 13 июня, 21:38 58 3475700

>>3475664
>А вот у джавистов ничего из перечисленного нет.
Включая гетсеты которые они генерируют руками лобком

>А? Куда свободнее GPL?
Ну например отсутствие требования на публикацию сырцов форка, уже сильно свободнее
>Не говорите ему что львиная доля стдлиба только для шинды.
Платформозависимый код заключается в следующем:
Сокеты
Треды и локи
Файловая система
Консоль и дескрипторы окон
Импорт библиотек
Все работает из коробки под всеми заявленными платформами кроме потоков на вебассембли, хз о чем речь.

Ответы75711

59 13 июня, 21:56 59 3475711

>>3475700
> Включая гетсеты которые они генерируют руками лобком
Так трясёт, потому что ИТТ свиньям не дали такого же и надо ручками натыкивать?

> требование не ограничивать выданные свободы
Так куда свободнее GPL?

> Платформозависимый код заключается в следующем:
> Сокеты
> Треды и локи
> Файловая система
> Консоль и дескрипторы окон
> Импорт библиотек
> Все работает из коробки под всеми заявленными платформами кроме потоков на вебассембли, хз о чем речь.
Что сказать-то хотел? Лишь бы высрать тебе что-ли?

Ответы7572975732

60 13 июня, 22:58 60 3475729

>>3475711
>Так куда свободнее GPL?
Ты жопой читаешь? Сравни степень разрешительности MIT (под которой дотнет) и GPL
>Что сказать-то хотел? Лишь бы высрать тебе что-ли
Да просто думал с человеком а не с дебилом разговариваю который не знает как обеспечивается кроссплатформа и какие ньюансы у нее, my bad

Ответы75790

61 13 июня, 23:12 61 3475732

>>3475711
>Так трясёт, потому что ИТТ свиньям не дали такого же и надо ручками натыкивать?
Та как будто это единственная проблема жабы. Она просто самая ощутимая после шарпов, к хорошему увы привыкаешь быстро. А вот условные деревья выражений, методы расширения и еще масса мелких но приятных фич, включая unsafe может и не пользуется большим спросом, но после вольностей шарпа такое ощущение будто сел писать на визуалбейсике который почему-то похож на шарп и даже если хочется порой чего-то эдакого то сразу думаешь что ну его впизду, и так сойдет и так будет работать

Ответы7577079996

62 14 июня, 01:48 62 3475770

>>3475732
Зачем тебе деревья выражений? Чтобы что? Я сильно сомневаюсь, что ты занимаешься статическим анализом, с вероятностью 102% ты пукаешь джейсоном в автомапер.

Ответы7581275814

63 14 июня, 03:22 63 3475790

>>3475729
>Сравни степень разрешительности MIT
Сравниваю:
GPL - код открыт
MIT - спиздил и закрыл код
Итого:
GPL - степень разрешительности 100%
MIT - степень разрешительности 0%

Ответы75815

64 14 июня, 06:12 64 3475810

>>3475671
>Не говорите ему что львиная доля стдлиба только для шинды.

Какая стдлиба?

Расскажи мне, какую львиную долю могу написать "только для шинды"?

Ответы79995

65 14 июня, 06:29 65 3475812

>>3475770
чтобы генерировать SQL запросы автомаппером, очевидно же.

И похуй, что так делают только долбоёбы, но в java коде такого ещё 10 лет не будет.

Зато есть Spring, уюбищный бесконечный монолит, где всё встроено и работает хуй знает как, и на изучение котороно необходимо тратить МЕСЯЦЫ. Даже всеми трижды отхуесошенного медиатра как отдельной библиотеки в спринге нет, надо колдовать с XML, аннотациями спринга и прочей хуйнёй.

Большинство актуальных java проектов сейчас работает на спринге 2-3 версий, с JAVA десяти-15 летней давности, потому что обновлять что-то нереально.

А там даже VAR нет

Кто сравнивает java с дотнетом - у него 78 IQ уровня хoxoл. Объективно java сейчас только на легаси проектах осталась

Ответы75824

66 14 июня, 06:45 66 3475814

>>3475770
Чтобы писать рантайм генерацию кода и при этом быть в аот. Например, для своего очень быстрого бинарного сериализатора. Я ж говорю, фича популярностью не пользуется, но это не значит что ее никто не использует в тех же клонах автомаппера, которые имеют скорость х0.5 от нативного маппинга. А не было бы ее - осталась бы только генерация исходников перед компиляцией либо рефлексия с падением производительности в порядок.

Ответы75822

4 Кб, 228x221
67 14 июня, 06:48 67 3475815

>>3475790

Ответы79997

68 14 июня, 07:17 68 3475822

>>3475814
> которые имеют скорость х0.5 от нативного маппинга

К слову, всем похуй на это наносекундное дрочево.

Но то, что экспрешшены автомаппера могут компилироваться до МИНУТЫ на старте приложения - вот эта хуйня бесит.

Ты хочешь поотлаживать коды, а они после конпеляции конпелируются

69 14 июня, 07:21 69 3475824

>>3475812
Тем не менее, на джаве зарплаты выше, а работа будет и через 20 лет. На модном крутом сишарпе все вакансии - это чистка говна в аутстафе с хохлами за три копейки.

Ответы75826

70 14 июня, 07:29 70 3475826

>>3475824
>Тем не менее, на джаве зарплаты выше

Ну посмотри на отношение количества вакансий к зарплатам.

Увидишь те самые протухшие галеры на втором спринге, где если человека не удержать - всё ёбнется к хуям

71 14 июня, 08:12 71 3475830

Есть ли причины в современном коде использовать оператор NEW? Помогите разобраться

Ответы7583776000

72 14 июня, 08:31 72 3475837

>>3475830
Есть ли причины спрашивать это чаще, чем new используется? Помогите разобраться.

73 14 июня, 08:37 73 3475839

Моча, пожалуйста забаньте уже этих шизиков.

74 14 июня, 14:51 74 3475941

Тред закрепят когда-нибудь? Вы нахуя его перекатили?

Ответы75989

75 14 июня, 16:50 75 3475989

>>3475941
Да я ебу как это делается?

76 14 июня, 17:13 76 3476000

>>3475830
Выше есть примеры кода, где без new миллионы аллокаций, а с new - единственная аллокация.

Ответы76052

77 14 июня, 19:01 77 3476052

>>3476000
>Выше есть примеры кода, где без new миллионы аллокаций, а с new - единственная аллокация.

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

Ты бы хоть для вида рихтера почитал

Ответы76054

78 14 июня, 19:09 78 3476054

>>3476052
Ты уже вытекаешь из треда.

79 15 июня, 01:17 79 3476255

>>3475505
>Вкатываюсь в ойти, выбрал c#.
Если любишь Россииюшку и планируешь в ней жить лучше уж 1с учить. Также профитно, а конкуренции меньше.

А если ты хочешь на западного барина работать то забей. Бешеная конкуренция с паджитами, которые за косарь бачей в очередь станановятся. По удаленке, 40$ это потолок для лидов. К тому времени когда ты до этого грейда доберешься через 10-15 лет код уже никто писать не будет. И умение писать код будет как умение паять схемы сейчас, т.е. прикольно, но нахуй никому не всралось. Готовые оттестированные модули будут писать нейронки, а другие нейросети, под присмотром паджита сеньера будут их как лего собирать, и вываливать в энтерпрайз.

Вообще не советую сейчас в любое кодописательство вкатываться. Это гиблое дело.

80 15 июня, 01:48 80 3476268

>>3475515
Там скорее всего рефлексия на этапе инициализации, и в её время динамически генерируется код самого маппинга.
Судя по скорости рефлексия в тайнимаппер (сука, тайни наоборот должен быть самым быстрым).
При этом маппинг никогда не является бутылочным горлышком, поэтому будь он даже в 10 раз медленнее, это было бы в рамках погрешности всего приложения.
Мы не любим автомаппер за то, что то, что там происходит, слишком неявное. Тебе IDE может показывать, что какое-то свойство не используется, а на самом деле это не так. И из-за этого может быть просто невероятно сложно отследить поток данных.

Ответы76289

81 15 июня, 05:29 81 3476289

>>3476268
>Мы не любим автомаппер за то, что то, что там происходит, слишком неявное
Хуй знает, я не вникаю в ваши говнопроблемы. Нормальные библиотеки для маппинга еще на этапе компиляции кода генерируют все мапперы и фейлятся, если ты проебал сорс-дестинейшн и еще 100500 гардов, чтобы не обосраться в рантайме. А ваша хуитка от Жимми Богурда только в рантайме начинает чето там разбирать через рефлекшн и пытается смапить классы дэтэох и моделек, лол

Ответы7629277961

125 Кб, 1400x1070
82 15 июня, 06:57 82 3476292

>>3476289
>Нормальные библиотеки для маппинга

Какие нормальные библиотеки? Сами себе проблем насоздают и потом героически их решают.

Подключаешь медиатр и внезапно тебе нельзя использовать входящее DTO в обработчике команды. Нужно его обязательно замаппить на реквест потому что вызывать методы напрямую ты себе запретил.

И не дай боже вызвать медиатр из медиатра. Тогда всё повторяется и получается ёбаная матрёшка:

dto в контроллере -> автомаппер -> команда -> обработчик команды -> маппинг в другую команду -> другая команда -> маппинг результата другой команды -> основная команда -> контроллер -> маппинг результата команды.

И где-то между этими слоями прячется логика. И в автомаппер переезжает половина логики обработки данных.

Надо быть долбоёбом с окраины с IQ 78, чтобы тушить проблему лишних слоёв автомаппером.

Пиздец, столько простых проектов загубили. Ёбаная архитектурная боггартянка. Превратили обычные круд-репозитории в зубодробительное говно

Ответы76319

83 15 июня, 10:41 83 3476319

>>3476292
Не подключаешь медиатр.
@
Не пытаешься эмулировать сеть внутри локального процесса, какой долбоеб это придумал, а просто напрямую вызываешь методы.
@
Никакого бугурта.

Ответы77968

84 17 июня, 18:58 84 3477961

>>3476289
Это тоже хуита, потому что до генерации у тебя получается несобираемый код и красные подчёркивания в студии.

85 17 июня, 19:08 85 3477968

>>3476319
Прикол в том, что у тебя несколько слоёв абстракции. И нельзя между ними всеми прокидывать один и тот же объект, потому что где-то надо ты поменять, какие-то данные спрятать и т.д.
При этом 90% свойств перекочёвывают без изменений. И тут возникает желание, вместо того, чтобы писать конверторы ручками, взять автомаппер и написать правила типа это свойство игнорировать, это конвертировать таким кодом, а все остальные просто скопировать.
Но на практике это создаёт кучу проблем.
Я вообще один раз засунул веб-реквест в маппинг. Потом посмотрел на это и ужаснулся. Но переписывать не стал. С тех пор в новые места маппинг не добавляю.

Ответы7812278135

86 17 июня, 22:31 86 3478122

>>3477968
>Прикол в том, что у тебя несколько слоёв абстракции.

медиатор не используй и не будет лишних слоёв абстракции. Автомаппер сам рассосётся.

Это ловушка такая, через неё проходили все в 2016-2018 годах. Называется архитекрурная боггартянка. Подключаешь медиатр - и его нужно тушить автомаппером. Зато код дохуя "крутой" и "правильный".

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

Ну не надо наших ошибок повторять

87 17 июня, 23:05 87 3478135

>>3477968
У тебя ровно три слоя: контроллер, бизнес логика и дата лэйер. Все. Перекладывание происходит в трех местах: IDataReader -> DTO, Request -> DTO, DTO -> Response. Первое делается автоматически дапером. Второе и третье - это одна строка result.UserName = model.UserName и у тебя работает вся навигация по коду. Автомапер не нужен.

Ответы78205

88 18 июня, 01:43 88 3478205

>>3478135
>У тебя ровно три слоя: контроллер, бизнес логика и дата лэйер. Все. Перекладывание происходит в трех местах: IDataReader -> DTO, Request -> DTO, DTO -> Response. Первое делается автоматически дапером. Второе и третье - это одна строка result.UserName = model.UserName и у тебя работает вся навигация по коду. Автомапер не нужен.
Ты какой-то хелловорлд описал.
Между дл и бл и между бл и контроллером должны быть разные типы. В бизнес-логике объект может собираться из нескольких, например. В веб-респонсе тоже может быть свой формат из-за специфики http.

Ответы7821879145

89 18 июня, 03:08 89 3478218

>>3478205
Ты описал паджитский говнокод уровня епам. Посмотри, как пишут охуительно быстрые сервисы на расте и голанге, там нет никаких 100500 слоев мапинга над мапингом. Одна ручка - один запрос в бд - одна дто - ебейший рпс. Да, код строится вокруг бд, потому что бд - это сердце системы и самое медленное звено. В дотнете же разработчики деградировали и разучились писать простые и эффективные программы, у всех ддд головного мозга.

Ответы7823479143

90 18 июня, 05:12 90 3478234

>>3478218
>Одна ручка - один запрос в бд - одна дто - ебейший рпс
Как на примере создания заявки я должен обойтись одним дто? При создании заявки не указывается id сущности, например, т.к. он создается в момент сохранения энтити в бд. При создании заявки, пользователю нужно отдать дто где будет id сущности. Т.е. одним дто уже не обойтись. И это первое что пришло в голову. Да и смешно слушать про какие-то там сервисы на гоу и расте где элементарно зависимости подтягиваются через таги на артифакты в гитхабе, лол

Ответы78237

91 18 июня, 05:48 91 3478237

>>3478234
>При создании заявки, пользователю нужно отдать дто где будет id сущности.
То есть, ты не понимаешь, как работает sql. Ты настоящий дотнет разработчик, миллионы паджитов гордятся тобой.

Ответы7838979146

92 18 июня, 11:25 92 3478389

>>3478237
Хеллоухер обосрался с программированием, перешел на личности.

Ответы78419

93 18 июня, 12:11 93 3478419

>>3478389
Дурачок, ты не знаешь, как вставить данные и вернуть ID новой записи за один поход в бд? Туда ли ты зашел?

Ответы78436

94 18 июня, 12:36 94 3478436

>>3478419
Ну, а возвращать клиенту ты что собираешься? Прямо энтитю, которую достал из бд?

Ответы78498

95 18 июня, 14:01 95 3478498

>>3478436
Верну джейсон какой надо. Из бд я достаю не энтити и не объекты, я достаю датасет какой мне нужен здесь и сейчас. У каждой ручки свой.
Кстати, в EF Core паджиты добавили projections когда поняли, насколько обосрались с перфомансом.

Ответы786557893979147

96 18 июня, 16:17 96 3478655

>>3478498
Ну так твой датасет - это и есть результат мапинга энтити на какое-либо ДТО (которое кстати объект)

97 18 июня, 20:26 97 3478939

>>3478498
У тебя так получится хуева туча дублирующейся логики, которую потом заебёшься поддерживать при каких-то изменениях.

Ответы79079

98 18 июня, 23:26 98 3479079

>>3478939
Логика написана в сервисах, которые принимают интерфейсы дтошек. Будет какой-нибудь OrderService.Checkout(IOrderDTO), а данные в IOrderDTO каждый раз берутся из разных запросов в бд. Интерфейсы можно миксовать как угодно и у тебя все еще работает навигация по коду, в отличие от автомапера ебаного.
Дело в том, что рич ООП хорошо работает на локальной машине и плохо в сети. Для ситуаций, где класс Button наследуется от Control и перегружает виртуальный метод Draw, рич заебись. Когда твои данные лежат на другой машине, их надо каждый раз загружать, а поход по сети занимает дольше, чем обработка - лучше подходит анемик.

Ответы7914379151

99 19 июня, 04:17 99 3479143

>>3479079
Где у тебя тут сервис?
У тебя наоборот получается куча логики то ли в квери, то ли, прости господи, в хранимках.
>>3478218

Ответы79157

100 19 июня, 06:02 100 3479145

>>3478205
>Ты какой-то хелловорлд описал.

Согласен. пятилетний проект, всё работает, три слоя у нас. Автомаппер в каждом методе используется минимум два раза.

>В бизнес-логике объект может собираться из нескольких, например.

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

Просто надо вызвать его несколько раз и в профиле последовательно описать, какие свойства из какого источника брать, а какие заигнорить

> веб-респонсе тоже может быть свой формат из-за специфики http.

Согласен. Автомаппер позволяет лаконично и без запахов кода сконвертировать один объект в другой.

101 19 июня, 06:08 101 3479146

>>3478237
>То есть, ты не понимаешь, как работает sql. Ты настоящий дотнет разработчик, миллионы паджитов гордятся тобой.

Всё равно модель отдельную надо для фронта, иначе лишние свойства будут в сваггере и тестировщики тупо баг заведут.

Но маппинг всё равно лучше руками написать. Модель БД и dto запрос начинает расходиться моментально

Ответы79159

102 19 июня, 06:13 102 3479147

>>3478498
>Кстати, в EF Core паджиты добавили projections когда поняли

проекции были ещё в старом ентити фреймворке, задолго до появления ef core

103 19 июня, 06:48 103 3479151

>>3479079
>интерфейсы дтошек

понапишут своего долбоёбского ООП с интерфейсами на дтошках, а могли бы просто автомапер взять, и всё бы работало САМО, и кода в 10-20 раз меньше

104 19 июня, 07:16 104 3479157

>>3479143
Что для тебя логика? А то так можно дойти до безумия, когда джойны тоже логика.

105 19 июня, 07:25 105 3479159

>>3479146
У фронта две модели. Входящий джейсон - это request, исходящий - response. В сервисах модель называется DTO. В репозитори - это параметры хранимок и голый датасет, который приезжает из базы. Получил в контроллере джейсон - переложил руками в дто - что-то сделал в сервисе - передал дто в репозиторий - там внутри переложил из полей дто в параметры - вызвал хранимку - получил датасет - отмапил дапером на другое дто - вернул сервису - сервис вернул в контроллер - в контроллере руками переложил в джейсон и отдал наружу. Что писать код для перекладывания, что писать конфиг для автомапера - один хуй надо писать, только в коде работает навигация.

Ответы7922279258

106 19 июня, 10:09 106 3479222

>>3479159
>это параметры хранимок
> вызвал хранимку
Да вы, сударь, говноед.

Ответы79651

107 19 июня, 10:44 107 3479258

>>3479159
А мог просто взять автомаппер, он бы за тебя всё замаппил сам, и запросы сформировал какие нужно. ч

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

108 19 июня, 16:45 108 3479651

>>3479222
О, вы из епама!
Удачи разбираться с дедлоками, когда твой sql сгенерирован через соплю IQueryable.

Ответы79731

109 19 июня, 18:13 109 3479731

>>3479651
>О, вы из епама!
Нет. Но мои знакомые оттуда, тоже в рот ебали хранимки.

>Удачи разбираться с дедлоками
Удачи тебе с отладкой всего твоего хранимого говна.

Ответы79797

110 19 июня, 19:04 110 3479757

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

Ответы7991279971

111 19 июня, 19:58 111 3479797

>>3479731
Ты и твои друзья с аутстаф галер даже не понимаете суть проблемы. Ваш уровень - разгребать говно за индусами.

112 19 июня, 22:15 112 3479912

>>3479757
>, я буду цениться как специалист.
нахуй ты нужен, если тебя заменяет одна библиотека?

113 20 июня, 03:27 113 3479971

>>3479757
Хорошо, что подобных любителей писать свои конвертеры на дтошки и потом это говно покрывать тестами мы увольняем пачками))))

Ответы80063

114 20 июня, 06:14 114 3479995

>>3475677
>>3475810
Всё гуйное.

АЛЁ, ШАРПРОПРОЕБАНЫ, КАКОГО ВАМ ОСОЗНАВАТЬ ЧТО ВАША ХУЙНЯ В СУХУЮ ПРОЕБАЛА ДЖАВЕ В КОНКУРСЕ ПОГОДНЫХ СТАНЦИЙ?

Ответы80079

115 20 июня, 06:16 115 3479996

>>3475732
Какая ещё проблема джавы? Это такой хитрый ход отвечать "в джаве ещё проблемы есть" на "вот тут твоя шарпохуита сосёт по гланды"?

Ответы80068

116 20 июня, 06:17 116 3479997

>>3475815
Слив засчитан.

Ответы80070

117 20 июня, 09:58 117 3480063

>>3479971

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

Да и хуй с ними

118 20 июня, 10:04 118 3480068

>>3479996
>Какая ещё проблема джавы

необновляемый спринг десятилетней давности из xml перемешанного с худшими практиками DDD и AOP ? Который вдобавок хуй пойми как собирать?

Ответы8013780466

119 20 июня, 10:08 119 3480070

>>3479997
Клоун, ты опять выходишь на связь?

Ответы80467

120 20 июня, 10:09 120 3480071

>>3475456
А есть ссылка на сорс ?

Ответы8008980106

121 20 июня, 10:29 121 3480079

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

Ответы80468

122 20 июня, 10:49 122 3480089

>>3480071
> А есть ссылка на сорс говна?

https://github.com/AutoMapper/AutoMapper

123 20 июня, 11:06 123 3480106

>>3480071
>Не знает усатого
https://www.youtube.com/watch?v=U8gSdQN2jWI

124 20 июня, 11:44 124 3480137

>>3480068
В чем проблема обновить спринг? xml остался в начале нулевых. Про какие "худшие практики DDD и AOP" ты говоришь? С худшими практиками можно и на сисярпе писать, если проекты на нем будут, лол

125 20 июня, 18:02 125 3480466

>>3480068
Что за фантазии?

126 20 июня, 18:02 126 3480467

>>3480070
Терпи, говнопис.

Ответы80481

127 20 июня, 18:04 127 3480468

>>3480079
Чё? Где? Во всех бенчмарках кроме каких-то беспруфных на непонятных ии-сайтах джава ебёт.

>небольшая цена за удобный для работы язык
Отдельно с этого проиграл. Удобство это гет сет кококо?

Ответы80481

128 20 июня, 18:37 128 3480481

>>3480467
Клоун, твое клоуничанье не поможет убрать говно в твоих трусах
>>3480468
https://programming-language-benchmarks.vercel.app/csharp-vs-java
>Удобство это гет сет кококо?
Так у тебя и этого нет, терпила) Не говоря про методы расширения, про нормальный ансейф и рантайм кодогенерацию, нету span<t> и структур под них. И это при том что чтобы начать юзать спринг нужно занести в кассу жижбрейну или качать крякнутые иде, иначе разрабатывать это говно ебаное нереально, поддержка сторонних иде нулевая, при том что комьюнити визуалка поддерживает всё кроме деплоя на азуру. И вообще вся инфраструктура языка похожа на парад костылей который без платной иде собрать нереально, ну это ладно, вкусовщина.

Ответы80516

129 20 июня, 20:40 129 3480516

>>3480481
> Клоун, твое клоуничанье не поможет убрать говно в твоих трусах
Терпи, говнопис.

>vercel.app
https://www.techempower.com/benchmarks/
Что, уже щёчки от злости надулись? :)

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

> рантайм кодогенерацию
Чаво? Лучшая среди всех языков.

> И это при том что чтобы начать юзать спринг нужно занести в кассу жижбрейну или качать крякнутые иде
Спринг != джава во-первых, во-вторых миллион у тебя срыг плагинов для любых иде на любой вкус, не знаю, что за хуйню ты несёшь, для вс кода есть, для эклипса, для чего угодно, для комьюнити жидеи даже.

> методы расширения
А в петушарпе они что-ли есть?

А теперь готовься реветь:

Огромная экосистема. Это включает в себя:
Возможность выбора наилучшего, подходящего под твою задачу между несколькими инструментами, выполняющих похожие задачи
Maven. Системы сборки подобной стабильности, удобства, качества, нет ни в одном другом языке. Новые версии Gradle тоже могли бы выглядеть как сносные системы сборки, тоже надирающих задницы системам сборки в других языках, но, увы, Gradle не умеет не ломать обратную совместимость и не внедряться в кишки JVM, из-за чего постоянно приходиться И обновлять Gradle, чтобы использовать новую Java, И бороться с поломками обратной совместимости.
Инструментарий для генерации бойлерплейт кода при компиляции, по сути расширяющий синтаксис Java. Это включает в себя Lombok и Manifold, откуда мы можем взять такие вещи как генерацию конструкторов, акцессоров, делегатов, перегрузку операторов и другое.
JVM. JVM является невероятно умной системой, поддерживающей самые разные языки программирования, как дающих гарантии (например, Rust), так и не дающих гарантии и требующих вмешательства со стороны рантайма (Java) с высокой производительностью. В JVM есть огромное количество сборщиков мусора на выбор, есть умный JIT, позволяющий делать оптимизации, а также мы ожидаем Project Valhalla, который должен позволить ещё сильнее оптимизировать работу кода.
Java имеет приятный, OG синтаксис из времён начала программирования человекочитаемыми конструкциями, грациозно расширяемый каждые полгода и поддерживаемый в современном состоянии.
Кроссплатформенность.
Обратная совместимость.
Джава является единственным языком, который на самом деле поддерживает многопоточность. Во всех остальных языках многопоточность является огромной бойлерплейтной болью, а гарантии через спецификацию являются рудиментарными, о которых никто не знает. Доходит до того, что пособия по многопоточности в Java являются отличным вариантом для изучения многопоточности в большинстве других языков.
Java поддерживает платформенную многопоточность. Некоторые языки пошли по пути исполнения кода глобально effectively в одном потоке. Таким образом, они избавились от части недостатков многопоточности (низкоуровневых багов), ценой отказа от увеличения производительности за счёт нескольких ядер процессора, оставив многопоточность для тех случаев, когда она нужна не для увеличения производительности, а для реализации непосредственной логики. Java даёт возможность пользоваться всеми ресурсами машины.
В Java есть огромнейший инструментарий для организации многопоточного flow, что регулярно расширяется с новыми обновлениями. Он настолько всеобъемлющий, что, например, на одном из классов Java были основаны все корутины в Kotlin поначалу (ForkJoinPool).
В Java есть полноценная теория о многопоточности, что позволяет подходить к построению многопоточных приложений с научной точки зрения. В основном, это представлено книгой Java Concurrency in Practice. Если не понимать всей сложности темы и просто забить хуй на неё, то очень скоро столкнёшься с непонятными проблемами вызывающими сомнения в реальности происходящего, поэтому без теории не может быть никакого многопоточного программирования, а в Java теория есть.
В Java присутствует решение проблемы тяжеловесности потоков общего назначения без всех минусов корутин, таких как замедление кода в 11 раз или загрязнение кодовой базы async/await/suspend приводящими к дублированию методов.
Preview процесс в разработке Java, благодаря которому каждая новая фича языка выпускается наивысшего качества.

129 20 июня, 20:40 129 3480516

>>3480481
> Клоун, твое клоуничанье не поможет убрать говно в твоих трусах
Терпи, говнопис.

>vercel.app
https://www.techempower.com/benchmarks/
Что, уже щёчки от злости надулись? :)

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

> рантайм кодогенерацию
Чаво? Лучшая среди всех языков.

> И это при том что чтобы начать юзать спринг нужно занести в кассу жижбрейну или качать крякнутые иде
Спринг != джава во-первых, во-вторых миллион у тебя срыг плагинов для любых иде на любой вкус, не знаю, что за хуйню ты несёшь, для вс кода есть, для эклипса, для чего угодно, для комьюнити жидеи даже.

> методы расширения
А в петушарпе они что-ли есть?

А теперь готовься реветь:

Огромная экосистема. Это включает в себя:
Возможность выбора наилучшего, подходящего под твою задачу между несколькими инструментами, выполняющих похожие задачи
Maven. Системы сборки подобной стабильности, удобства, качества, нет ни в одном другом языке. Новые версии Gradle тоже могли бы выглядеть как сносные системы сборки, тоже надирающих задницы системам сборки в других языках, но, увы, Gradle не умеет не ломать обратную совместимость и не внедряться в кишки JVM, из-за чего постоянно приходиться И обновлять Gradle, чтобы использовать новую Java, И бороться с поломками обратной совместимости.
Инструментарий для генерации бойлерплейт кода при компиляции, по сути расширяющий синтаксис Java. Это включает в себя Lombok и Manifold, откуда мы можем взять такие вещи как генерацию конструкторов, акцессоров, делегатов, перегрузку операторов и другое.
JVM. JVM является невероятно умной системой, поддерживающей самые разные языки программирования, как дающих гарантии (например, Rust), так и не дающих гарантии и требующих вмешательства со стороны рантайма (Java) с высокой производительностью. В JVM есть огромное количество сборщиков мусора на выбор, есть умный JIT, позволяющий делать оптимизации, а также мы ожидаем Project Valhalla, который должен позволить ещё сильнее оптимизировать работу кода.
Java имеет приятный, OG синтаксис из времён начала программирования человекочитаемыми конструкциями, грациозно расширяемый каждые полгода и поддерживаемый в современном состоянии.
Кроссплатформенность.
Обратная совместимость.
Джава является единственным языком, который на самом деле поддерживает многопоточность. Во всех остальных языках многопоточность является огромной бойлерплейтной болью, а гарантии через спецификацию являются рудиментарными, о которых никто не знает. Доходит до того, что пособия по многопоточности в Java являются отличным вариантом для изучения многопоточности в большинстве других языков.
Java поддерживает платформенную многопоточность. Некоторые языки пошли по пути исполнения кода глобально effectively в одном потоке. Таким образом, они избавились от части недостатков многопоточности (низкоуровневых багов), ценой отказа от увеличения производительности за счёт нескольких ядер процессора, оставив многопоточность для тех случаев, когда она нужна не для увеличения производительности, а для реализации непосредственной логики. Java даёт возможность пользоваться всеми ресурсами машины.
В Java есть огромнейший инструментарий для организации многопоточного flow, что регулярно расширяется с новыми обновлениями. Он настолько всеобъемлющий, что, например, на одном из классов Java были основаны все корутины в Kotlin поначалу (ForkJoinPool).
В Java есть полноценная теория о многопоточности, что позволяет подходить к построению многопоточных приложений с научной точки зрения. В основном, это представлено книгой Java Concurrency in Practice. Если не понимать всей сложности темы и просто забить хуй на неё, то очень скоро столкнёшься с непонятными проблемами вызывающими сомнения в реальности происходящего, поэтому без теории не может быть никакого многопоточного программирования, а в Java теория есть.
В Java присутствует решение проблемы тяжеловесности потоков общего назначения без всех минусов корутин, таких как замедление кода в 11 раз или загрязнение кодовой базы async/await/suspend приводящими к дублированию методов.
Preview процесс в разработке Java, благодаря которому каждая новая фича языка выпускается наивысшего качества.

Показать весь текст
Ответы805278176681770

130 20 июня, 21:02 130 3480527

>>3480516
>в джаве есть это
>в джаве есть то
Так нахуя ты в этом треде-то пасешься, если в твоей джаве так все охуенно?

Ответы80530

131 20 июня, 21:09 131 3480530

>>3480527
Эффект Винни Пуха. Необдуманно оставить начальный говнопост легко, а прекратить спор значит слиться.

132 20 июня, 21:32 132 3480540

>https://www.techempower.com/benchmarks/
сурс бенчей где? Я ебу что этот паджит там накорябал и выдал за perfomance comparsion. В моей ссылке сурс есть и там по http дела у жавы не очень и сурс есть.

>А в петушарпе они что-ли есть?
Есть, и очень, очень давно. И в нем еще очень много чего есть, советую ознакомиться.

>Чаво? Лучшая среди всех языков.
С каких пор написание ручного генератора java файлов на основе рефлексии стало рантайм кодогенерацией? Про деревья выражений слышал?

>Спринг != джава во-первых, во-вторых миллион у тебя срыг плагинов для любых иде на любой вкус, не знаю, что за хуйню ты несёшь, для вс кода есть, для эклипса, для чего угодно, для комьюнити жидеи даже.

Пиздаболище, я их тыкал вот буквально на днях. Единственное что не похоже на говно это amplicode, за бабки, остальное неюзабельный кал. А без спринга джава впринципе не нужна, обычный недошарп. По мнению самих же джавистов эклипсы хуипсы это все неюзабельное говно и если надо работать - меньше чем энтерпрайзом жижбрейнса не обойтись.

>Да и нормальный он, лол.
Нормальный != отсутствующий, пиздабол.

>В Java есть огромнейший инструментарий для организации многопоточного flow
Я могу сказать какого инструмента для организации многопоточного flow у джавы нет. И у шарпа нет. Это коллекции позволяющие производить блокировку по каждой отдельной записи на чтение и монопольно на запись, не блокируя всю коллекцию, так как это делают базы данных. Приходится в итоге велосипедить. Остальное это так, пыль в глаза, еще один способ стрелять себе в ногу по новому. Корутины, асинки, потоки, а нормального решения для параллелизации работы с крупным набором данных нет, сами подгатывайте мультипоточный флоу чтобы не нарваться на гонку или на дедлок, епта.

Пасту уноси, конкретики ноль, кейсов ноль, джава все ещк недоязык.

Ответы80545

133 20 июня, 21:37 133 3480545

>>3480540
> сурс бенчей где? Я ебу что этот паджит там накорябал и выдал за perfomance comparsion. В моей ссылке сурс есть и там по http дела у жавы не очень и сурс есть.
Далбаёб, 5 секунд поиска по странице. https://github.com/TechEmpower/FrameworkBenchmarks/wiki/Project-Information-Framework-Tests-Overview

> Есть! Пруфов небудет.
Ясн.

> С каких пор написание ручного генератора java файлов на основе рефлексии стало рантайм кодогенерацией? Про деревья выражений слышал?
Чего? Ты откуда это взял вообще? Опыт петушарпа проецируешь?

> Пиздаболище, я их тыкал вот буквально на днях.
Поищи проблемы в межплечевом прыще.

> Нормальный != отсутствующий, пиздабол.
Сам-то понял, что высрал?

> Пасту уноси, конкретики ноль, кейсов ноль, джава все ещк недоязык.
Слив принят, опущенец.

Ответы80551

134 20 июня, 21:54 134 3480551

>>3480545
С телефона видно не очень. Замерить бы всё что он юзает, но мне в целом похуй, тебя даже если в его паджитизм носом ткнуть ты ж все равно будешь в тред срать дальше.
>Ясн
Яндекс не используешь по религиозным причинам?

>Чего? Ты откуда это взял вообще? Опыт петушарпа проецируешь?
Из гугления. Но тебе ничего не мешает притащить пруфы, благо это быстрее чем мне проверять что там этот паджит нахуевертил.

>Поищи проблемы в межплечевом прыще.
Я знаю эту проблему, называется привык к нормальному и не знал что значит платить за инструментарий.

>Слив принят
Конкретики всё еще нет, только куча говнокода от паджита который юзает ToList() в бенчмарке вот здесь
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/CSharp/aspnetcore/src/Minimal/Database/BatchUpdateString.cs
>Enumerable.Range(0, lastIndex).ToList()
Как это делают питонисты, генерируя блять коллекцию вместо for, а это уже показатель.

Ответы80570

135 20 июня, 22:21 135 3480570

>>3480551
> С телефона видно не очень. Замерить бы всё что он юзает, но мне в целом похуй, тебя даже если в его паджитизм носом ткнуть ты ж все равно будешь в тред срать дальше.
Слив.

> Яндекс не используешь по религиозным причинам?
Какой ещё яндекс? Причём тут яндекс?

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

> Я знаю эту проблему, называется привык к нормальному и не знал что значит платить за инструментарий.
Давай по кругу, пока не дойдёт:
>во-вторых миллион у тебя срыг плагинов для любых иде на любой вкус, не знаю, что за хуйню ты несёшь, для вс кода есть, для эклипса, для чего угодно, для комьюнити жидеи даже.

> Конкретики всё еще нет
Тебе стена текста конкретики на ебальничек вывалена.

> Конкретики всё еще нет, только куча говнокода от паджита который юзает ToList() в бенчмарке вот здесь
> // Copyright (c) .NET Foundation. All rights reserved.
> // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
Ааххахахахахахахаххахахахахаах блядь. Этот дебил только что своего барина закопал.

Ответы80581

136 20 июня, 22:39 136 3480581

>>3480570
Дауненок, ты что то кроме стрелочничества знаешь? Я тебе порядочно пруфов принес.
>стена конкретики
>Ровно ноль буковок про технологии, обеспечивающие тот набор хуйни, вываленной взбесившимся паджитом-маркетологом
Шиз, таблетки

>Ааххахахахахахахаххахахахахаах блядь. Этот дебил только что своего барина закопал.
Даун не знает что такое NET Foundation. Обьясняю для тех кто не в курсе что такое поисковик - это продукты существующие в рамках программ поддержки майкрософт, но не являющиеся частью дотнета, что-то типа спринга но от условного стороннего разраба.

Ответы80584

137 20 июня, 22:43 137 3480584

>>3480581
> Дауненок, ты что то кроме стрелочничества знаешь? Я тебе порядочно пруфов принес.
> Шиз, таблетки
Слив.

> Даун не знает что такое NET Foundation. Обьясняю для тех кто не в курсе что такое поисковик - это продукты существующие в рамках программ поддержки майкрософт, но не являющиеся частью дотнета, что-то типа спринга но от условного стороннего разраба.
Ну и?

Ответы80586

149 Кб, 720x548
138 20 июня, 22:45 138 3480586

>>3480584
Да ты заебал)

Ответы80588

139 20 июня, 22:46 139 3480588

>>3480586
Ну что, всё, слился, лошок петушарповый безпруфный?

Ответы80591

140 20 июня, 22:46 140 3480591

>>3480588
Слился в твою дохлую мамашу

Ответы80594

141 20 июня, 22:47 141 3480594

>>3480591
>рррря
Терпи, микрософтозависимая гетсетная шиндонативная тормознутая хуита.

Ответы80624

142 20 июня, 23:28 142 3480624

>>3480594
>>рррря
Не угадал, я просто перешёл на твой уровень аргументации

Ответы80626

143 20 июня, 23:29 143 3480626

>>3480624
>нет тииии
Терпи, микрософтозависимая гетсетная шиндонативная тормознутая хуита.

144 21 июня, 07:03 144 3480730

> шиндонативная тормознутая хуита.
>в два раза быстрее жабы на погодных станциях под линуксом
Блять, просто съеби, долбоёб тупой.
мимо-проходил

145 21 июня, 10:24 145 3480768

https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/CSharp/aspnetcore/src/Minimal/Database/BatchUpdateString.cs
>Enumerable.Range(0, lastIndex).ToList().ForEach(i => sb.Append($"(@Id_{i}, @Rn_{i}), "));
То однострочники это хуёво, то однострочные LINQ - заебись... Вас, программистов, хуй поймёшь.

А вообще такая портянка вместо for - клиника.

мимо

Ответы80798

146 21 июня, 10:40 146 3480777

Почему мне не похуй, какой кусок говна быстрее, если всё, чем я занимаюсь - заливаю однотипный говнокод из гптшки в прод, как и 100% "програмеров" на этой доске, лол.

147 21 июня, 11:31 147 3480798

>>3480768
Я под однострочный for написал вот такое расширение https://pastebin.com/TJkNiB12, (ну и еще кучу ему подобных под всякие варианты итераций), но да, за представленнные в том гите такие однострочники нужно немедленно гнать в шею

Ответы80839

148 21 июня, 12:41 148 3480839

>>3480798
Зачем ты выделяешь память под список, чтобы один раз по нему пройтись?
Вот так надо https://pastebin.com/7un6Eh7D

Ответы80851

149 21 июня, 12:58 149 3480851

>>3480839
Делаю снапшот. У меня код максимально многопоточный, не хайлоад, избегаю разрушения итератора. Можно конечно ещё оптимизировать, подтянуть блокируемые списки, но и так тоже сойдёт.

Ответы80856

150 21 июня, 13:02 150 3480856

>>3480851
Если твой код многопоточный, то где блокировки?
Зачем делать многопоточный цикл? Чтобы что? Это же просто сраный цикл, базовая конструкция языка.

Ответы8085880900

151 21 июня, 13:04 151 3480858

>>3480856
А к чему блокировать снапшот? Внутри экшена и будут блокировки для его обьектов. Дело не в многопоточном цикле а в многопоточном доступе к коллекции.

152 21 июня, 14:08 152 3480900

>>3480856
>Зачем делать многопоточный цикл
Что обработка 1кк элементов шла параллельно в 10 потоках в 10 раз быстрее чем будет пердеть 1 поток?

Ответы809268097681196

153 21 июня, 14:32 153 3480926

>>3480900
Не, это не для такого случая. Такая конструкция нужна если коллекция может поменяться извне (добавиться удалиться элемент) и только в случаях если элементы коллекции независимы друг от друга. Параллелизация обработки такой коллекции - это Parallel.foreach и в качестве основы concurrency типы, такие как сумка/стек или велосипедный блокируемый список, чтобы не было проблем с разрушением итератора.

154 21 июня, 15:40 154 3480976

>>3480900
Совершенно не факт кстати, однопоточный пеформанс намного выше и масштабирование нелинейное там, 10 потоков не ускорит в 10 раз.
Лучше протестируй и сравни результаты.

155 22 июня, 05:11 155 3481196

>>3480900
Во-первых, сишарп плохой выбор для хайперфоманса. Блокчейн на нем никто не пишет.
Во-вторых, чтобы твои 10 потоков реально работали параллельно, надо все данные сериализовать в массив, чтобы вообще не было ссылок куда-то наружу в память. Потом загнать этот массив в кеш процессора и ебнуть simd инструкции. Кто будет этим заниматься в языке для попукивания в кафку - вопрос риторический.

Ответы81211

156 22 июня, 07:04 156 3481211

>>3481196
>сишарп плохой выбор для хайперфоманса.
У хайперфоманса градации есть. Плюсовик будет стоить в 2 а то и в 3 раза дороже. Да и к тому же так исторически сложилось что у шарпа все математические и ИИ либы сдохли, а ml.net не взлетел, потому на нём такое мисать в первую очередь больно, и только во вторую проигрышно по перфомансу.
>реально работали параллельно
Ты вместо реальной параллельности описал способ как избегать кешмисов при обработке массива. Это конечно очень интересно, но обычно процесс обработки элемента раз в 100000 тяжелее чем его взятие по ссылке из коллекции и нужно прям совсем экономить чтобы заниматься нарезкой коллекции на чанки array под каждый физический поток. Можно конечно и даже не очень сложно, но обычно да, это никому кроме разрабов Unity DOTS не надо. Про SIMD вообще смешно, ты сюда из /gd забрел? Напоминаю, что simd обрабатывает только типы из numerics и типы значений, задач для них у дежурного с# формошлепа нет ни одной, кроме быстрого сравнения строк/массивов, при том что в string.equal уже заложен этот функционал. Параллелизм же в первую очередь достигается формированием данных, готовых к параллельной обработке, а это самое сложное. Сложно сделать такую параллельность рентабельной, сложно достигнуть синхронизации с ресурсами, к которым обращаешься при параллельной обработке коллекции, сложно обеспечить нулевую связность элементов массива друг с другом для избежания гонки, а остальное это так, мелочи, технические ньюансы.

Ответы81213

157 22 июня, 07:07 157 3481213

>>3481211
do not hallucinate

Ответы81214

149 Кб, 720x548
158 22 июня, 07:11 158 3481214

>>3481213

107 Кб, 1346x956
159 22 июня, 07:40 159 3481216

Реклама нейроговна прямо в доках

Ответы81217

160 22 июня, 07:45 160 3481217

>>3481216
Ну надо же коупилот как-то продавать

166 Кб, 1042x1022
161 22 июня, 19:19 161 3481766

>>3480516

Как-то это не помешало мне свалить с джавы

Ответы82930

162 22 июня, 19:29 162 3481770

>>3480516
>Джава является единственным языком, который на самом деле поддерживает многопоточность. Во всех остальных языках многопоточность является огромной бойлерплейтной болью, а гарантии через спецификацию являются рудиментарными, о которых никто не знает. Доходит до того, что пособия по многопоточности в Java являются отличным вариантом для изучения многопоточности в большинстве других языков.
>Java поддерживает платформенную многопоточность. Некоторые языки пошли по пути исполнения кода глобально effectively в одном потоке. Таким образом, они избавились от части недостатков многопоточности (низкоуровневых багов), ценой отказа от увеличения производительности за счёт нескольких ядер процессора, оставив многопоточность для тех случаев, когда она нужна не для увеличения производительности, а для реализации непосредственной логики. Java даёт возможность пользоваться всеми ресурсами машины.
>В Java есть огромнейший инструментарий для организации многопоточного flow, что регулярно расширяется с новыми обновлениями. Он настолько всеобъемлющий, что, например, на одном из классов Java были основаны все корутины в Kotlin поначалу (ForkJoinPool).
>В Java есть полноценная теория о многопоточности, что позволяет подходить к построению многопоточных приложений с научной точки зрения. В основном, это представлено книгой Java Concurrency in Practice. Если не понимать всей сложности темы и просто забить хуй на неё, то очень скоро столкнёшься с непонятными проблемами вызывающими сомнения в реальности происходящего, поэтому без теории не может быть никакого многопоточного программирования, а в Java теория есть.
>В Java присутствует решение проблемы тяжеловесности потоков общего назначения без всех минусов корутин, таких как замедление кода в 11 раз или загрязнение кодовой базы async/await/suspend приводящими к дублированию методов.

async/await делает бррррр

Ответы82930

163 23 июня, 16:29 163 3482579

Ысе вот эти вот Visual studio 20... (не важно какой версии, кроме 2017 ) и все вот эти вот эмуляторы - это всё тухлая поебень которая либо на работает вообще, либо компилируется 50 часов нахуй. А тем более visual studio Code. Я на этом VSC в жизни даже хеллоу Ворда не смог скомпилировать. Он просто не знаю даже для чего создан. А потому что "Multi " , а всё что мульти - это вроде как и для всех платформ сразу, но в тоже самое время и не для какой вообще.

Моя задача это делать примитивные программы но желательно с GUI и обязательно для двух платформ. Андроид и Винда (7я даже стоит дома) терпеть не могу «новинки».
Так вот я пришёл в выводу, что для того чтобы я пользовался родным C# я обязан перейти исключительно на консольные приложения.
Тупо мутить интерфейс из символов псевдографики наподобие Borland Pascal IDE если кто помнит.
По крайней мере это единственный РАБОЧИЙ вариант кодинга под две платформы. БЕЗ переписывания кода, без всей этой ебаты с элементами пользовательского GUI (где а MAUI то кнопка сползла за экран, то ещё какой-то там pading отвалился, то вообще всё накрылось к чертям.
Конечно, этот подход не годится для коммерческого программирование да и вообще для коммерческого сорта. Но я пишу для себя всякие автоматизатопы и парсеры и мне похуй на тренды. Зато код абсолютно идентичный получается и можно писать прямо в телефоне. Вплоть до того, что вечером дома на компе уже готовый код тестировать(после теста в телефоне).
Хули толку от этого xamarina если приложения постоянно отваливаются и с ними вечно какие-то проблемы. Или к примеру от Java, если для запуска его «УНИВКРСАЛЬНЫХ» «мультиплатформенного» кода, я вынужден таскать за собой гигабайты SDK и эмуляторов для каждой платформы чтобы это всё хоть как-то запустилось

Ответы8263782743

164 23 июня, 17:37 164 3482620

В .NET рантайм уже какое-то время как смержили CoreCLR Interpreter (https://github.com/dotnet/runtime/issues/112748). Но что-то я не вижу упоминаний по поводу того что с ним будут делать кроме iOS и WASM (по типу, выкинут ли Mono runtime, будут ли юзать интерпретатор в NativeAOT и т.д.). Кто что знает (ну и мнение)?

Ответы82690

165 23 июня, 17:57 165 3482637

>>3482579
>Хули толку от этого xamarin

Не, ксамарин норм. Только не тот, где формы и ксамл, о тот, который просто Xamarin native.

Там у тебя ровно те же самые типы, что на андроиде, но написанные на c#.

По про

166 23 июня, 19:05 166 3482690

>>3482620
>мнение

Нас всех заменят компьютеры, эйай будет везде, а операционные системы уже пишут на пэйфоне.

167 23 июня, 20:07 167 3482743

>>3482579
Как можно было обосраться с vsc хоть убей не пойму. Просто блять 3 простейших шага
Дотнет сдк
Расширение c# + c# devkit + intellisense по желанию
dotnet new console
Всё нахуй. Сижу на вскод последний год и решительно не понимаю в чем проблема, если для личного пользования. Wpf стал кроссплатформой, есть авалония уже очень давно. В конце концов можно поставить Target 4 фреймворк и запускать под моно винформу.

168 23 июня, 23:40 168 3482930

>>3481766
>да норм мне говно жрать
Да знаю я.

>>3481770
Что сказать-то хотел? Там про твои асинки прямым текстом написано. Это помои, которыми прикрывают свою порваную жопу шарподауны за неимением альтернатив.

Ответы8295482964

169 24 июня, 04:04 169 3482954

>>3482930
>Что сказать-то хотел?

Всё, что ты описал, в C# есть.

>за неимением альтернатив

Как просто ПОДОЖДАТЬ http запрос в джаве?

Ответы85165

170 24 июня, 05:42 170 3482964

>>3482930
>Это помои, которыми прикрывают свою порваную жопу шарподауны за неимением альтернатив.

какие альтернативы? Коллбеки писать?

Ответы85167

171 24 июня, 09:53 171 3483028

>>3474778 (OP)
Видел родителей ОПа. Нормальные мужики.

172 24 июня, 15:38 172 3483286

Бля, пришлось кодить на Node.JS, какое же говнище ебаное по сравнению с дотнетом.

Ну ладно, из плюсов, всё можно поднять парой строчек кода. Окей. Но сука, дебаг череж жопу, куча уёбских any, сука бля.

Ответы8436984382

173 26 июня, 01:03 173 3484369

>>3483286
Всё так.

174 26 июня, 02:14 174 3484382

>>3483286
>всё можно поднять парой строчек кода
Java сервисы тоже, если написать докерфайл. Мухам в винду так и не завезли синего кита? В десятке же появился какой-то Docker Desktop вроде.

Ответы84815

175 26 июня, 09:44 175 3484474

Как думаете что сейчас перспективней в плане вакансий: C# для веба или десктопа? Что лучше учить новичку

Ответы84723

176 26 июня, 16:05 176 3484723

>>3484474
Веб. Точнее, бекенд, откуда c# выдавливает джаву

177 26 июня, 18:27 177 3484815

>>3484382
Мне кажется, ты не понял, что тебе написали.
На ноде можно написать пару строчек кода, и оно уже будет что-то полезное делать.
Для спринга и аспнета нужно больше кода. В обоих случаях начальный бойлерплейт уже есть в шаблонах, но всё равно надо что-то ещё написать. Ну и бойлерплейт, который сам создаётся, тоже довольно объёмный.

Ответы85225

178 27 июня, 00:25 178 3485131

Дотьнет умер нахуй? Мне кажется, что уже unity по кол-ву вакансий начитает конкурировать с основным стеком c#

Ответы85137

179 27 июня, 00:38 179 3485137

>>3485131
Ладно, я ебу дал, беру свои слова назад

Ответы85170

180 27 июня, 03:09 180 3485165

>>3482954
>есть! яскозал!
Ясн.

>Как просто ПОДОЖДАТЬ http запрос в джаве?
var result = http.request();
Что, совсем мозг повредило асинками? Самый нормальный вариант белого человека без обмазывания кода говном уже в голову и не лезет?

Ответы85230

181 27 июня, 03:10 181 3485167

>>3482964
Один из вариантов. Ещё виртуальные потоки есть для хипстеров.

Ответы85171

182 27 июня, 03:23 182 3485170

>>3485137
Ёбу дал — ёбу взял.

183 27 июня, 03:24 183 3485171

>>3485167
Асинк авейт и есть виртуальные потоки. Это вообще то же самое за исключением синтаксиса.

Ответы8517285206

184 27 июня, 03:28 184 3485172

>>3485171
Разница в том, что с асинками ты засираешь код говном и дублируешь методы.

Ответы85232

185 27 июня, 08:33 185 3485206

>>3485171
>Асинк авейт и есть виртуальные потоки
Нихуя себе. Блиииин а я то все какие-то машины состояний себе представлял и сохранение состояния потока при переключение.

Вот собственно с кем мы тут сидим. Виртуальные потоки в асинк эвейт.

Ответы8522085231

186 27 июня, 08:59 186 3485220

>>3485206
> я то все какие-то машины состояний себе представлял

Долбоёб, что-ли? Ты понимаешь, что такое зелёные потоки?

187 27 июня, 09:08 187 3485225

>>3484815
>Для спринга и аспнета нужно больше кода.

С небольшой разницей. Дотнет просто запустится на любом современном железе, а JAVA будет ебать мозги 3-4 часа манипуляциями с бинарями, неработающим мавеном и правками в хуй знает каких xml файлах.

Собственно, мы поэтому от спринга и отказались. На вид джава почти как сишарп, но как работать начинаешь - понимаешь, что джава скорее аналог дотнет-фреймворк-4.5.2, который ты пытаешься запустить через wine.

Ответы85235

188 27 июня, 09:24 188 3485230

>>3485165
>var result = http.request();

этот вызов будет стоить одного потока? Твоя пропускная способность теперь зависит от количества доступной оперативной памяти.

Ответы85240

189 27 июня, 09:29 189 3485231

>>3485206
Я не знаю, что ты себе там представлял.

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

190 27 июня, 09:32 190 3485232

>>3485172

> засираешь код говной
Лучше написать async/await, чем размазывать запрос по коллбекам. Ну или как у вас там не блокируя код писать?

>дублируешь методы.
Охуеть, оправдание, конечно. Ты фреймворк пишешь или рабочий код?

191 27 июня, 09:36 191 3485235

>>3485225
>С небольшой разницей. Дотнет просто запустится на любом современном железе, а JAVA будет ебать мозги 3-4 часа манипуляциями с бинарями, неработающим мавеном и правками в хуй знает каких xml файлах.

Да, у меня тоже такое ощущение.
Куча команд типа clean, install, build, deploy, и так далее, причём делают они совсем не это. Куча источников параметров вплоть до переменных окружения (это уровень php какой-то). Куча параметров сборки без которых нихера ничего не выйдет.
Нет нормальной среды разработки, которая все нюансы подхватывает. Вечно либо код красный, но собирается, либо наоборот.
Ну и несколько реп пакетов без синхронизации версий. Пакет одной версии в одной репе может оказаться совсем другой версией во второй.

Ответы85237

192 27 июня, 09:44 192 3485237

>>3485235
Ты скорее всего совсем тупой. Либо один день с непривычки такое пишешь.

Ответы85989

193 27 июня, 09:46 193 3485240

>>3485230
Ты наркоман? Производительность любой машины зависит от количества доступной оперативной памяти.

Ответы85753

194 27 июня, 17:53 194 3485621

Откликаюсь на стажерские вакансии - нихуя. По рофлу отправил отклик на джуновскую, и сразу предложили созвон. Но я зассал, условия хорошие, но до требований я явно не дотягиваю. Компания логистическая, а у меня пет проект для логистической компании, походу поэтому и ответили.
Но он довольно посредственный. Обычное рест апи, по сути можно только создавать заказы и управлять ими, а также отслеживать их. Есть система аутентификации и авторизации, распределение доступа к действиям по ролям, бизнес-логики почти нет никакой, ну расчет стоимости, а расстояние определяется через стороннее апи, юнит тесты для галочки, интерфейса нет. Насколько это кал, такое вообще стоит показывать?
Еще есть программа для учёта дебиторской задолженности на wpf, делал его для мамы, так как 1с у них не было. Делал года 2 назад, с нулевыми знаниями wpf и xaml, без mvvm. Стоит его вообще указывать, учитывая, что я уже почти все забыл и особо пояснить не смогу? Просто убил на него много времени, да и получился довольно объемным (ну для меня).

Ответы85707

195 27 июня, 19:17 195 3485707

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

196 27 июня, 20:18 196 3485753

>>3485240
Ты понимаешь что такое блокирующие и не блокирующие вызовы?

Ответы8577186028

8 Кб, 505x226
197 27 июня, 20:59 197 3485771

>>3485753
Неблокирующий вариант можно сделать через CompletableFuture

198 27 июня, 22:56 198 3485879

Как в вашем C# с линуксом? .net core работает? Планирую перекатываться на C# и искать на .net core работу, но виндовсом не пользуюсь совершенно

Ответы85914

199 27 июня, 23:31 199 3485914

>>3485879
Сервера на линупсе, но разработка на винде, ведь студия есть только на винде, а вскод и райдер до неё не дотягивают.

Ответы86026

200 28 июня, 01:59 200 3485989

>>3485237
Я дотнет разработчик, которому очень редко приходится что-то делать с джавой. У меня, конечно, колоссальная разница в опыте между шарпом и джавой, но как правило почему-то когда я беру где-то шарповый код, то его можно просто открыть в вс и запустить, нажав f5, а с кодом на джаве так не получается.

201 28 июня, 05:34 201 3486026

>>3485914
Двачую, реально какой-то шизостек. Код пишется под виндой, но на проде работает под линуксом.

202 28 июня, 05:46 202 3486028

>>3485753
А ты понимаешь, что ядро не дает квант времени потоку, который ждет ответа на сисколе? Легковесные потоки - это просто дань моде, а так ты спокойно можешь запустить 1000 тредов или даже форкнуть 1000 процессов, повесить их на один сокет и все будет работать без хитровыебаных асинков.

Обновить тред

« /pr/В начало тредаВеб-версияНастройки

/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.gq, m2ch.cf, m2ch.fapp.in, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion