Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 76 7 20
C# / дотнет тред #61 Летний тред лучшего языка на планете. 1. Ресурсы: — https://learn.microsoft. Аноним 12/06/25 Чтв 09:37:40 3474778 1
nuzhen-li-kuram[...].jpg 119Кб, 960x540
960x540
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
Аноним 12/06/25 Чтв 10:30:40 3474812 2
Напоминаю, что MediatR - говно
Аноним 12/06/25 Чтв 10:31:01 3474813 3
Напоминаю, что Automapper - говно
Аноним 12/06/25 Чтв 10:45:01 3474820 4
>>3474812
>>3474813
Напоминаю что ничего не истинно, ничего не вечно
Аноним 12/06/25 Чтв 13:53:12 3474933 5
>>3474813
Предлагаешь ручками писать конвертеры дтошек?
Аноним 12/06/25 Чтв 13:59:48 3474939 6
>>3474933
> Предлагаешь ручками писать конвертеры дтошек?

предлагаешь ручками писать конфигурации маппингов конвертеров дтошек?
Аноним 12/06/25 Чтв 14:26:43 3474955 7
>>3474778 (OP)
А почему на ОП пикче голанг разработчик?
Аноним 12/06/25 Чтв 14:50:06 3474978 8
>писать на подмелкомягком платформозависимом вбенчмаркахсосущем гетсетожужжащем языке в 2025
Аноним 12/06/25 Чтв 16:29:42 3475041 9
.
Аноним 12/06/25 Чтв 16:35:20 3475044 10
>>3474933
В конфиге автомаппера приходится РУКАМИ писать методы-конвертеры.
То есть кода с говёным автомаппером получается БОЛЬШЕ, чем без него.
Впрочем, за это его и любят нубы: нахуярил конфигов и можно коммитить - вроде как не бездельничал.
Аноним 12/06/25 Чтв 16:37:12 3475047 11
>>3474978
Сигара уже давно не зависит от платформы и спокойно крутится на линуксе.
Аноним 12/06/25 Чтв 16:37:35 3475048 12
Аноним 12/06/25 Чтв 16:40:38 3475049 13
По поводу new.
Например, нужно читать большие файлы в десятки гигабайт и обрабатываться чанками.
Вот так написал хейтер new:

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

После чего был обоссан, выебан ножкой от стула и выгнан на мороз с волчьим билетом.
Если размер файла 16 Гб, а count = 16K, то получаем всего лишь миллион аллокаций массива. Зато new нет...
Аноним 12/06/25 Чтв 16:42:38 3475050 14
>>3475049
с new было бы в два раза больше аллокаций
Аноним 12/06/25 Чтв 16:43:25 3475051 15
А вот так можно переписать с new:

byte[] buffer = new byte[count];

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

Единственная аллокация с new.
Да, можно пойти ещё дальше, сделав буфер полем класса, статическим полем класса или, более того, заюзав пул, но это уже мелочи.
Факт в том, что хейтеры new - имбецилы. И пока вы существуете, я ценюсь выше как специалист.
Аноним 12/06/25 Чтв 16:44:26 3475053 16
>>3475049
если это на разок считать данные скриптом - то и похуй. Главное, что ЗАПАХОВ кода нет. По хорошему, надо спрятать метод ReadBytes за автомаппером чтобы был достаточный уровень абстракции
Аноним 12/06/25 Чтв 16:49:46 3475056 17
Читал тред и поражался. Млять, неужели кто-то до сих пишет мапперы (конфиги мапперов) вручную? Установите в IDE расширение для маппинга и генерируйте код одним кликом мышки или нажатием шортката.
Аноним 12/06/25 Чтв 16:53:44 3475058 18
>>3475053
Абстракции всегда текут. ИЧСХ, текут говном. Там не просто ЗАПАХ, там ВОНИЩА!
Аноним 12/06/25 Чтв 16:57:24 3475062 19
17496568598930.png 456Кб, 2683x1570
2683x1570
>>3475056
Я же вчера скидывал, как правильно делать. Просто рефлексией пробегаешься по всем классам в сборке и конфигурация готова
Аноним 12/06/25 Чтв 17:01:57 3475064 20
>>3475056
> пишет мапперы

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

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

ПРосто выкидываешь медиатр, и автомаппер автоматически становится не нужен
Аноним 12/06/25 Чтв 17:13:01 3475071 21
>>3474978
То ли дело лобком генерировать гетсеты и не иметь ни одной нормальной комьюнити иде с коробочным спрингом...
>подмелкомягком
У дотнета лицензия то посвободней будет чем у наших дорогих друзей
>платформозависимом
Вылезай из криокамеры
Аноним 12/06/25 Чтв 17:18:32 3475074 22
>>3474955
Потому что джависты перекатывают, у них аллергия на джаву здорового человека
Аноним 12/06/25 Чтв 17:22:25 3475078 23
>>3475049
Про ArrayPool слышал, обоссышь?
Аноним 12/06/25 Чтв 17:22:54 3475079 24
17037756237580.jpg 127Кб, 787x1333
787x1333
>>3475062
Умение способный уникальное учен
ик. Мы втроем шли по тропинке ноги топали по мягкой мокрой грязи издавая шлепающий звук Сегодня днем шел дождь и от него земля была грязной а ноги липкими Ботинки были порваны
Аноним 12/06/25 Чтв 17:54:51 3475097 25
>>3475056
>Установите в IDE расширение
Какое? Вроде такой функции нет и там минимальная поддержка. А так да, бывают сложные мапперы и нужно как следует посидеть и тщательно написать код, а затем тесты на мапперы
Аноним 12/06/25 Чтв 18:15:54 3475111 26
>>3474778 (OP)
Ну и нахуя перекатили? Чтоб ещё пару ебланов закатились и себе жизни поломали? На Линкедине половина вакансий создана чтоб обучать нейроHRов, четверть чтоб компании показывали свой рост перед инверсторами. Оставшаяся четверть ищют людей-оркестров с функционалом айтиотдела на зп в 2к баксов.
Аноним 12/06/25 Чтв 18:32:58 3475115 27
>>3475111
Потому что круговорот финтеха, где сидят одни и те же 50 летние жабисты/плюсисты этот круговорот начавшие. В геймдеве на позиции шарпистов нормально мест есть, про бугор ваще молчу.
Аноним 12/06/25 Чтв 18:40:35 3475119 28
>>3475115
В гейдеве традиционно низкие зп и ублюдочные мрази на менеджерах. Без исключений.
За бугром дотнет умер. Из реальных вакансий либо знание какого-нибудь нахуй не нужного датского и ворк пермит с хождением в офис в Эйхуйнахуйховене, либо ебаный человек-оркестр в стартап за три копейки, чистить говна за паджитами.
Аноним 12/06/25 Чтв 19:01:48 3475129 29
>>3475119
>За бугром дотнет умер.
Да откуда вы такую хуйню берёте?
Аноним 12/06/25 Чтв 19:04:28 3475133 30
>>3475129
Внезапно из вакансий на линкедине.
Аноним 12/06/25 Чтв 19:24:56 3475141 31
>>3475097
>тесты на мапперы

Подключаешь Automapper
@
А ты и не знал, что надо писать тесты на маппинги
Аноним 12/06/25 Чтв 19:26:02 3475143 32
>>3475119
>За бугром дотнет умер.

кек
Аноним 12/06/25 Чтв 19:59:45 3475156 33
>>3475119
>В гейдеве традиционно низкие зп
База. В гейдеве найти норм зп это как в лотерею выйграть. В ентерпрайзе в 10 раз легче.

>За бугром дотнет умер.
База x2. Зряплаты на уровене таксистов уже давно.
Аноним 13/06/25 Птн 01:34:12 3475315 34
Аноним 13/06/25 Птн 04:57:45 3475347 35
>>3475141
За автомаппер пиздить надо.
Аноним 13/06/25 Птн 04:59:03 3475348 36
>>3475133
Ну хуй знает, с чем ты там сравниваешь. Я уже почти десять лет работаю за бугром в нормальных компаниях.
Аноним 13/06/25 Птн 09:20:17 3475375 37
>>3475347

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

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

Особенно какая-нибудь ебень, когда автомаппер встроен в дженериковый метод, типо "GetEntityById". Это вообще пиздец, можно сразу вешаться
Аноним 13/06/25 Птн 09:57:25 3475389 38
>>3475375
Именно. Я с ним писал и до сих пор жалею.
Экономия кода не стоит того.
Аноним 13/06/25 Птн 13:09:28 3475456 39
image.png 312Кб, 1266x433
1266x433
Усатый давно уже доказал, что автомаппер говно.
Аноним 13/06/25 Птн 15:43:20 3475505 40
image.png 823Кб, 1000x666
1000x666
Анон, подскажи. Вкатываюсь в ойти, выбрал c#. Посмотрел по требованиям в среднестатистической вакансии (пока что фронт), помимо самого с# нужно знать .net, asp.net и sql. Есть ли разница, в каком порядке их изучать, и есть ли вообще "программа минимум", чтобы хотя бы на стажировку залететь самоучке без бумажке?
про необходимость накрутки стажа осведомлен

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

Заранее спасибо
Аноним 13/06/25 Птн 16:10:54 3475515 41
>>3475456
>>3475375
Т.е. ваш говномаппер в рантайме через рефлексию поля сетает, лол? Какое свойство, перодля? У вас нет проверки на этапе компиляции, что есть маппинг из сорса в таргет? Вы идиоты?)))))
Аноним 13/06/25 Птн 16:35:06 3475523 42
>>3475515
>Вы идиоты?
Да, использующие автомаппер - идиоты.
Тем более он стал платным...
Аноним 13/06/25 Птн 16:56:14 3475527 43
>>3475505
>чтобы хотя бы на стажировку залететь самоучке без бумажке

Да нахуй ты нужен? Ну ты, конечно, можешь попробовать прикоснуться к прекрасному, но я бы нахуй послал разгребать пейфон и джаваскрипты
Аноним 13/06/25 Птн 17:02:53 3475528 44
G031WJYjo.jpg 60Кб, 320x320
320x320
>>3475515
>Т.е. ваш говномаппер в рантайме через рефлексию поля сетает, лол

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

Всё работает само и бесплатно, а тебе только остаётся зарегистрировать маппинг один раз при старте проекта.
Аноним 13/06/25 Птн 17:10:32 3475535 45
>>3475528
>в рантайме через рефлексию
>бесплатно
>один раз при старте проекта
хорошо, что вас, мерзких гандонов, не пускают на нормальные проекты. сидите дальше црмки пилите, уроды
Аноним 13/06/25 Птн 17:54:20 3475577 46
>>3475505
>выбрал c#.
Беги пока еще не поздно, свичься в джависты и живи нормально с освоеным спрингом, жрать везде найдешь (кроме геймдева, но там впринципе жрать нехуй)
>Нахуя им нужно мое знание джавы, если вакансия для шарписта?
Потому что ищут фуллстеков за 3 рубля и хотят натравить тебя на то что паджиты не доели, ибо недурные. По делу - забей на рекакт и просто освой js, он простой и тебе хватит, а все их местные фреймворки подтянешь там где возьмут. Максимум доку прогляни чтобы с умным видом что-то проквакать на собесе
Аноним 13/06/25 Птн 18:13:36 3475581 47
>>3475577
>спрингом

И ебись с десятилетними DDD агрегатами и AOP в XML. Java стек собрал всех ёбнутых долбоёбов, там до сих пор этой хуйнёй занимаются
Аноним 13/06/25 Птн 18:15:25 3475582 48
>>3475577
>Беги пока еще не поздно, свичься в джависты
Я бы в бэк хотел уйти, после того, как хотя бы минимально в профессии освоюсь. Красить кнопки как-то мех, учитывая, что я не дегенерат.

>По делу - забей на рекакт и просто освой js, он простой и тебе хватит, а все их местные фреймворки подтянешь там где возьмут.
Хорошо, спасибо.
Аноним 13/06/25 Птн 18:16:34 3475583 49
>>3475581
Лучше ебаться с этой хуйней за нормальную зепку чем с голоду помереть
Аноним 13/06/25 Птн 18:19:07 3475584 50
>>3475582
Ты java с javascript часом не путаешь? Языки то разные и области тоже. Бежать я советовал в java а не js
Аноним 13/06/25 Птн 18:35:43 3475587 51
>>3475584
Не понял из сообщения прошлого.

А в чем разница между шарпом и джавой? Бэк же и на том, и на том пишется, и с вакансиями проблем нет особых, судя по хедхантеру.
Аноним 13/06/25 Птн 20:04:53 3475636 52
>>3475587
>А в чем разница между шарпом и джавой? Бэк же и на том, и на том пишется, и с вакансиями проблем нет особых, судя по хедхантеру.

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

c# это современный язык общего назначения и более адекватное сообщество разработчиков, приятная система пакетов в нугете и хайлоад.
Аноним 13/06/25 Птн 20:16:28 3475642 53
>>3475636
>C# - это чистить говно за паджитами в аутстаф галере с хохлами
Поправил тебя.
Аноним 13/06/25 Птн 20:43:01 3475664 54
>>3475071
>а вот у джавистов
А вот у джавистов ничего из перечисленного нет.

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

>>3475047
Не говорите ему что львиная доля стдлиба только для шинды.
Аноним 13/06/25 Птн 20:48:28 3475668 55
>>3475664
>доля стдлиба только для шинды
Какая еще стдлиба в шарпе? Ты тредом ошибся.
Аноним 13/06/25 Птн 20:49:23 3475671 56
>>3475668
Долбоёб, стдлиба это не обязательно плюсовая стдлиба. Это просто любая стандартная библиотека.
Аноним 13/06/25 Птн 21:01:35 3475677 57
>>3475671
Ну окей, давай покажи какая "львиная" доля System до сих пор прибита к винде и не работает на линуксе.
Аноним 13/06/25 Птн 21:38:24 3475700 58
>>3475664
>А вот у джавистов ничего из перечисленного нет.
Включая гетсеты которые они генерируют руками лобком

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

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

> Платформозависимый код заключается в следующем:
> Сокеты
> Треды и локи
> Файловая система
> Консоль и дескрипторы окон
> Импорт библиотек
> Все работает из коробки под всеми заявленными платформами кроме потоков на вебассембли, хз о чем речь.
Что сказать-то хотел? Лишь бы высрать тебе что-ли?
Аноним 13/06/25 Птн 22:58:11 3475729 60
>>3475711
>Так куда свободнее GPL?
Ты жопой читаешь? Сравни степень разрешительности MIT (под которой дотнет) и GPL
>Что сказать-то хотел? Лишь бы высрать тебе что-ли
Да просто думал с человеком а не с дебилом разговариваю который не знает как обеспечивается кроссплатформа и какие ньюансы у нее, my bad
Аноним 13/06/25 Птн 23:12:24 3475732 61
>>3475711
>Так трясёт, потому что ИТТ свиньям не дали такого же и надо ручками натыкивать?
Та как будто это единственная проблема жабы. Она просто самая ощутимая после шарпов, к хорошему увы привыкаешь быстро. А вот условные деревья выражений, методы расширения и еще масса мелких но приятных фич, включая unsafe может и не пользуется большим спросом, но после вольностей шарпа такое ощущение будто сел писать на визуалбейсике который почему-то похож на шарп и даже если хочется порой чего-то эдакого то сразу думаешь что ну его впизду, и так сойдет и так будет работать
Аноним 14/06/25 Суб 01:48:18 3475770 62
>>3475732
Зачем тебе деревья выражений? Чтобы что? Я сильно сомневаюсь, что ты занимаешься статическим анализом, с вероятностью 102% ты пукаешь джейсоном в автомапер.
Аноним 14/06/25 Суб 03:22:52 3475790 63
>>3475729
>Сравни степень разрешительности MIT
Сравниваю:
GPL - код открыт
MIT - спиздил и закрыл код
Итого:
GPL - степень разрешительности 100%
MIT - степень разрешительности 0%
Аноним 14/06/25 Суб 06:12:58 3475810 64
>>3475671
>Не говорите ему что львиная доля стдлиба только для шинды.

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

Расскажи мне, какую львиную долю могу написать "только для шинды"?
Аноним 14/06/25 Суб 06:29:17 3475812 65
>>3475770
чтобы генерировать SQL запросы автомаппером, очевидно же.

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

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

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

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

Кто сравнивает java с дотнетом - у него 78 IQ уровня хoxoл. Объективно java сейчас только на легаси проектах осталась
Аноним 14/06/25 Суб 06:45:54 3475814 66
>>3475770
Чтобы писать рантайм генерацию кода и при этом быть в аот. Например, для своего очень быстрого бинарного сериализатора. Я ж говорю, фича популярностью не пользуется, но это не значит что ее никто не использует в тех же клонах автомаппера, которые имеют скорость х0.5 от нативного маппинга. А не было бы ее - осталась бы только генерация исходников перед компиляцией либо рефлексия с падением производительности в порядок.
Аноним 14/06/25 Суб 06:48:12 3475815 67
images(1).jpg 4Кб, 228x221
228x221
Аноним 14/06/25 Суб 07:17:17 3475822 68
>>3475814
> которые имеют скорость х0.5 от нативного маппинга

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

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

Ты хочешь поотлаживать коды, а они после конпеляции конпелируются
Аноним 14/06/25 Суб 07:21:33 3475824 69
>>3475812
Тем не менее, на джаве зарплаты выше, а работа будет и через 20 лет. На модном крутом сишарпе все вакансии - это чистка говна в аутстафе с хохлами за три копейки.
Аноним 14/06/25 Суб 07:29:41 3475826 70
>>3475824
>Тем не менее, на джаве зарплаты выше

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

Увидишь те самые протухшие галеры на втором спринге, где если человека не удержать - всё ёбнется к хуям
Аноним 14/06/25 Суб 08:12:58 3475830 71
Есть ли причины в современном коде использовать оператор NEW? Помогите разобраться
Аноним 14/06/25 Суб 08:31:32 3475837 72
>>3475830
Есть ли причины спрашивать это чаще, чем new используется? Помогите разобраться.
Аноним 14/06/25 Суб 08:37:35 3475839 73
Моча, пожалуйста забаньте уже этих шизиков.
Аноним 14/06/25 Суб 14:51:08 3475941 74
Тред закрепят когда-нибудь? Вы нахуя его перекатили?
Аноним 14/06/25 Суб 16:50:22 3475989 75
>>3475941
Да я ебу как это делается?
Аноним 14/06/25 Суб 17:13:37 3476000 76
>>3475830
Выше есть примеры кода, где без new миллионы аллокаций, а с new - единственная аллокация.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов