Этого треда уже нет.
Это копия, сохраненная 28 сентября в 07:34.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
475A323A-0C2F-4DB0-86D8-D278B5306297.webp22 Кб, 500x500
C# - самый лучший язык программирования в мире /csharp/ 2821627 В конец треда | Веб
c# самый лучший язык программирования в мире

Я тут сел на геймдев после разработки сайтов и надрочился на c#. Как же на нем сука легче делать операций, насколько он лаконичный, насколько строг, но при этом не сложный, как c++. Хуле все пиздят, что Джаваскрипт проше?? Джаваскрипт полное дерьмо сука, как же меня заебало плясать с динамичной типизацией вонючей нахуй, а также {} и ; с (), которые в отличий от c# ставятся куда угодно, абсолютный хаос нахуй. Ненавижу джаваскрипт
2 2821628
Это буквально идеальный язык, просто идеальный

Он едийнственный в мире язык который используется буквально везде - от разработок сайтов, программ под виндовс, игр, драйверов бэкенда, везде сука и везде под ним огромный рынок

Это один из самых быстрых языков, особенно сли сравнивать с питоном
3 2821630
>>2821627 (OP)

>как же меня заебало плясать с динамичной типизацией вонючей нахуй



Про typescript слышал что-нибудь?
4 2859837
>>2821628
Лол, так не сравнивай с питоном. Сравни с гулангом, например. C# реально хорош, но гуланг круче, т.к. современней. Хотя на гуланге ты работу никогда не найдешь
5 2863611
>>2821630
Typescript не дает статической типизации, скорее имитацию, или как говорят type assertion
6 2863684
>>2863611
А ты даешь имитацию мышления шизофреника со своей личной терминологией.
7 2936896
>>2863684
Ахахахахахах
8 2936915
>>2859837
В дс на дотнет (без юнити геймдева) - 543 вакансии
На голанг - 523 вакансии
9 2971151
Сам учу .Net, сам язык неплохой, но не нравится что для комфортной разработки нужно ставить этого бегемота VS. Да можно конечно поставить VS code, но лень потом отдельно все лепить, проще уж из коробки все взять. Просто когда пробовал JS и Python, там конечно побыстрее развернуть прототип например веб приложухи.
10 2971475
Такой прекрасный язык и нет горутин или виртуальных тредов. Используется худшее возможное решение в виде асинк/эвейт
11 2972163
>>2971475
Жабадебил, уходи.
await - это лучшее решение
12 2972179
>>2972163
А разве в жабе нет асинк/эвейт? Сами же языки похожи настолько, что временами беру решение на жабе, копипаст в студию и чутка синтаксис поправить.
13 2972340
>>2972163

>яссккоооооозал!!!!! ни мишайте жрать гавно!!!!!

14 2972342
>>2972163
Проход в жабодебила всего на 11 посте. Сегодня без премии.
15 2973088
Прошу с выяснениями что круче: виртуальные треды или таски всех перенаправлять вот сюда:
https://2ch.hk/pr/res/2973076.html (М)
Розжиг со стороны конкурирующих платформ прошу репортить
16 2988018
>>2971151

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


Это уровень сравнения "язык Х лучше потому что хеллоу ворлд можно на 10 символов короче написать"
17 3062144
>>2971151
Так vs сейчас никто котирует, почти все на райдер перешли.
18 3062155
>>2971151

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


Ты смеешься? Один npm install у тебя больше времени займет чем VS поставить, это не говоря уже про еблю с пакетами версиями ноды и т.д.
19 3062772
Это официальный перекат? А то ОП как-то странно пост оформил, ну да ладно. Я доразвился до изучения файла csproj. Хочется почитать где-то полный список тегов-команд, которые там есть. Гугл выдаёт всё что угодно кроме нужной мне спискоты. Я уже по сто раз прочитал, что есть пропертьгруп и айтемгруп. А где мне взять-то списки возможных пропертей и айтемов? Ткните носом, шарпаны, плиз.
21 3067523
>>3062144
vs+resharper всё еще живы
>>2971151
хочешь ide - ставишь ide за пару минут. Хочешь минимализм vim/notepad + net run. Та же хуйня что и всех этих нод и пайтонов
22 3068753
>>2821627 (OP)
Что лучше: Vosk, Picovoice, MS.Speech, System.Speech? Из требований возможность работы полностью офлайн и возможность бескостыльной работы вне Windows. Пока лидирует Vosk т.к. Picovoice требует акк хотя бы для первоначальной настройки, с MS.Speech и System.Speech непонятно как это будет работать вне Windows, в частности неясно как языковые пакеты ставить вне винды т.к. на сайте Майкрософт я вижу только MSI
23 3068778
>>3068753
Карочи, ты пришёл сюда пиарить воск. Ясно.
24 3069087
>>3068778
Скорее я пришел узнавать у анонов с какими косяками они сталкивались при работе с этими пакетами. Если System.Speech может оффлайн работать на Linux, то ест-но я выберу его
image.png50 Кб, 1000x1000
25 3097544
Теперь это Blazor тред.
26 3097551
>>3097544
База...
27 3097552
>>3097544
блазОр-хуязор
28 3097581
Ээээээх как же хочется прикрутить самсунговский дебаггер к vscode...эхххх, объяснил бы кто тупому как именно.
29 3097629
>>3097581
Хуёво, что при всех MS заявлениях об опенсорсе единственный официальный дебаггер для дотнета - проприетарщина, которая работает только в студии и вскоде.
30 3097666
>>3097629
Сделай сам - будет у тебя опенсурсный дебаггер.
31 3097786
>>3097666
Дык уже есть
https://github.com/Samsung/netcoredbg
Только я слишком даун чтобы прикрутить его к вскоду

Ээээхххх, объяснил бы кто на пальцах...

>>3097629
Да, там ещё и какая-то тупая лицензия к оф расширению паровозом идёт
32 3097820
>>3097629
Но у майкрософтов лучший в истории человечества дебагер. В 90-х он лучий был у Борланда.
fu.jpg23 Кб, 798x238
33 3097957
>>3097820
А ТО!
слишком хорош для всего остального этого вашего стороннего
1711290491436.mp41,7 Мб, mp4,
900x720, 0:09
34 3098132
И далее совсем неожиданное заявление от 70-летнего пенсионера:
>>3097820

>у майкрософтов лучший в истории человечества дебагер. В 90-х он лучий был у Борланда

image.png37 Кб, 699x259
35 3130625
Видеокарточка нвидия 960м 4 гб. Не будет ли на таком сложностей в изучении юнити?
36 3130752
>>2971151

> для комфортной разработки нужно ставить этого бегемота VS


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

Сейчас на шарпах меньше пишу, кажется, что все идёт к тому, что везде будет VS Code, которой хватает для базовых рефакторингов типа ренейма, а для всего остального есть копайлот. Потом ещё энтерпрайз допилят, который будет обучаться на репозитории, подсказки будут ещё полезнее
шарпомух.webm7,9 Мб, webm,
576x1024, 0:30
37 3130757
>>2821627 (OP)

>c# самый лучший язык программирования в мире

38 3130813
>>2821627 (OP)

>c# самый лучший язык программирования в мире


Только если ты не живешь в РФ. В эРэФии потихоньку выпиливают всех этих вендоров и майкрософт в первую очередь. Вообще С# - это идеальный вариант для работы в США.
39 3130817
>>3130813
и на что пересаживают? 1C.NET?
40 3130819
>>3130813

>В эРэФии потихоньку выпиливают всех этих вендоров и майкрософт в первую очередь.


И при чем тут C# ?
Каким образом отказ от майкрософта, азуры, MSSQL и прочего мешает и дальше работать с шарпом?
41 3130823
>>3130813

>потихоньку выпиливают всех этих вендоров


И тут еще стоит добавить, что выпиливают ну совсем потихоньку. Вон тот же банкинг как крутился на IBM-вских серваках, а там такой дичайший вендорлок, что никакому майкрософту и не снилось.
42 3130828
>>3130813
Куча госухи пилится на дотнете, не только легаси кал, а .NET 6, 8.
43 3130832
>>3130817
На скрепный астра линукс и отечественное импортозамещение
44 3130834
>>3130823

>IBM


Это вообще кто? Перфокарты выпускают?

>И тут еще стоит добавить, что выпиливают ну совсем потихоньку. Вон тот же банкинг как крутился на жабе, так и дальше крутится

45 3130837
>>3130819

>Каким образом отказ от майкрософта, азуры, MSSQL и прочего мешает и дальше работать с шарпом?


Юнити тоже помрет из за охуевших кабанчиков. А пет-проекты можешь хоть на шарпе хоть на делфи делать.
46 3131032
Как в VS заставить копылот работать в РФ?
47 3131042
>>3131032
Ну не знаю, он у меня буквально в эту пятницу в вс-коде работал. Такую хуйню предлагал - я его отключил нахуй.
48 3131050
>>3131042
А у меня как-то на лайвкодинге по фронту охуительно так помог в кодесандбокс. Кста, из фронта на шарпы перекачиваюсь после 7 лет.
49 3132908
>>3131050

> Кста, из фронта на шарпы перекачиваюсь после 7 лет.


хоспаде, нахуй оно тебе нужно, на фронте спокойно можно по 4 часа в день работать, найди себе такую же вторую работу и не еби мозги
50 3133031
>>3132908
Двачую. Сишарп - это умирающая технология, достаточно прочекать линкедин. На сишарпе есть три типа вакансий:
1. Фулстек с ангуляром в говностартап. Казалось бы, нахуя тут дотнет, если весь бэк можно прекрасно сделать на нодежс.
2. Тимлид девопс с навыками QA на хохляцкую галеру уровня люксофт, оплата ветками.
3. Какое-то древнее легаси на WPF, где будешь разгребать каловые залежи от преддыдущих 20 поколений писателей.
Ни денег, ни славы, ни перспектив. Нахуй так жить?
51 3133093
>>3132908

>на фронте спокойно можно по 4 часа в день работать


Ты не знаешь о чем пишешь. Последние два года как сеньор-фронтенд разработчик я въебывал как ебанутый и в итоге все равно увольнялся либо меня увольняли потому что "мало времени уделял работе". При этом видел рядом с собой всяких джавистов которые вникли в предметку и были как святой грааль и им прощали всё, даже две недели работы на какую=то хуету банальную. Просто ноль вопросов. А фронтендеру по еблу хлыстом, потому что на рынке еще 50 тысяч таких же после курсов и с накрученными резюме. Да, кста, забыл сказать, на фронта теперь будучи реальным синьором невозможно фактически устроиться меньше чем за 2-3-4 месяца. Столько приходится искать работу на ру рынке. Можете верить, можете не верить, так оно и есть. На шарпы перекатываюсь фактически из-за безысходности.
52 3133137
>>3133031
Это правильное направление мысли. Продолжай думать так же и дальше.
53 3133141
>>3133031
Все так, есть еще один тип это старые проекты которые решили переписывать на cloud native с норм облаком, там как правило интересно работать, но такого мало и не для СНГ быдла, а для белых господ из бритахи \ иногда для хохлов за миску риса

В целом у дотнета один минус это ебучий майкрасофт со своим говном и "СВОЙ ПУТЬ", Blazor, .NET Aspire и прочее не ликвидное на рынке говно, но которое зачем-то кто-то использует

>>3133093
хз где ты работал, везде где я работал фронты в целом не напрягались

Ты забываешь что в добавок к шарпу тебе нужны БД, а они разные, а еще желательно понимать внутрянку т.к спросят на собесе, а еще микросервисы и паттерны к ним, брокеры сообщений и тд, если зарубежный рынок то еще и Azure нужен

На фронте же все проще, на выбор один из трех фреймворков, везде один и тот же HTML, чуток отличаются препроцессоры и собственно все, ну может еще где микрофронты делать придется и либа с компонентами другая, но все равно все плюс-минус одинаковое

А теперь вопрос, нахуя перекатывать?
Зарплаты на шарпе не сильно выше фронтендерских, я бы еще понял перекат в ГО где сейчас платят дохуя
Ремоут вакансий на забугор конкретно на дотнете очень мало, сильно меньше чем на ноде

Если уж тебе так хочется бэкендом заниматься возьми ноду для начала

>>3133093

>накрученными резюме


Сейчас и на ГО и на Питон крутят опыт, если уж собираешься тоже перекадываться, то тоже крути опыт, т.к в противом случае шансов у тебя нет
54 3133183
>>3133141
Дружище, у тебя понимание фронта из 2009. Сейчас ебаный тайпскрипт с пересечениями типов, дженерики, дженерики дженериков, а как тебе в целом такая индустрия в котором в один год просто говорят "а чо, нам давайте теперь новый язык вместо джаваскрипта". То есть ты берешь все что у тебя есть: детей, животных, увлечения и просто отодвигаешь потому что кабан теперь хочет новый язык програмиирования во фронте, не говорю уже про новые фреймворки раз в 3 года (именно как стандарт и доля на рынке) и каждые три месяца новые мажорные версии с новыми ебучими хуками, компонентами и прочей дрянью красноглазой.
Я бы с удовольствием дальше верстал интернет-магазины и делал корзины к ним, но этого всё меньше и всё больше оверинжиниринга. Я хочу один раз выучить говно и чтобы это говно было хотя бы лет 10 актуально и можно было сидеть в пыльном банке и ковырять потихоньку его.
55 3133343
>>3133183
Я в целом весь фронт с 2013 года застал (где-то до 22 года); и knockout js с angular js до react без хуков и с хуками, и ангуляр свежий и svelte; не трогал только vue;

И все это в сравнение не идет с тем что там на бэкенде за эти 11 лет произошло

Хз если у тебя план вкатится в банк и сидеть 10 лет на одном проекте то может и ок, но учти что на бэкенде тоже дохуя чего меняется, банально при смене компании те же вещи будут решаться другими инструментами \ внутренними велосипедами и по сложности они сильно сложнее фронта

Например

Базы: MsSQL, MySQL, PostgreSQL, Oracle, MongoDB, Cassandra, MemCache, Redis
Cloud: AWS, GPC, Azure

Продолжать можно бесконечно

Я уже молчу что MS стабильно раз в пару лет срут новыми фичами языка, хотя на это как правило похуй

Если тебе просто фронт приелся можешь конечно вкатываться, но будет больно, так что удачи и не забудь резюме крутануть, т.к в противном случае это гиблое дело
56 3133345
>>3133183
Как вариант кст можешь на фронта куда вкатиться в банк и попросить тебе иногда задач на бэк наваливать, мб пойдут на встречу и вкатишься, кажется что этот вариант должен быть сильно проще
57 3133389
>>3133343
Ой, ну спасибо за мнение. Может и подумаю тогда. Пока буду в любом случае барахтаться во фронте, ибо тут хотя бы реальный опыт и знания есть. А так съебал бы из этой айтишной срани, если бы были где-то похожие деньги и перспективы. Уже почти невыносимо. Тоже заставал уже и первый ангуляр и жквери и нокаут даже могу вспомнить собесы из 2016 когда спрашивали пишу ли я на прототипе, была такая библа.
А щас на чем пишешь? Если на шарпах то как у тебя с активностью эйчарок? На фронте просто пиздец мертвяк, я уже думал что может мне мразь какая поставила ЕДИНИЧКУ в профиль или что-то подобное, но не похоже. Собесы есть, просто максимум одно в неделю. Больше не выходит.
58 3133398
Да как вкатиться в этот ваш шарповый бэк? Пишу на впф уже который год и откровенно видеть его уже не могу. Начал смотреть в сторону Бэка и вообще не понимаю что учить. Каждая гребаная это свой отдельный набор технологий, у каждой говноконторы свой неповторимый зоопарк
59 3133422
>>3133398

> Каждая гребаная


вакансия
60 3133425
>>3133389

>А щас на чем пишешь?


Все так же на шарпе, только уже без фронта
>>3133389

>Если на шарпах то как у тебя с активностью эйчарок


Я в аутсорсе, рекрутеры от хотелок как правило сливаются, но у меня еще параллельно позиция полупогонщика на галере, поэтому и зп выше

Если в целом брать - жопа сейчас везде и на дотнете в том числе, хотя мне кажется сеньерам бэкендерам действительно попроще чем фронтендерам

>>3133389

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



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

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

Ну или погонщиком на галере, но их тоже сейчас прут, сытые времена закончились

>>3133398

Смотришь asp net core, rabbit mq, без деталей, желательно по-минимуму на практике пробуешь основы, читаешь про kubernetes, про микросервисы базу
Пиздишь у кого-нибудь резюме и крутишь опыта на одном проекте года два
Дальше важно складно пиздеть на собеседовании чтобы не спалили
На испыталке ебашишь по 12 часов

Ну или честно ищешь голодного работодателя кто тебя за миску риса согласится терпеть пока ты будешь в процессе учится
61 3133949
>>3133183

> хочу один раз выучить говно и чтобы это говно было хотя бы лет 10 актуально


Никогда такого не было. Никогда! Технологии меняются раз в 2 года. Не умеешь переучиваться - вон из профессии.
62 3134072
>>3133093

>Последние два года как сеньор-фронтенд разработчик я въебывал как ебанутый и в итоге все равно увольнялся либо меня увольняли потому что "мало времени уделял работе". При этом видел рядом с собой всяких джавистов которые вникли в предметку и были как святой грааль и им прощали всё, даже две недели работы на какую=то хуету банальную. Просто ноль вопросов. А фронтендеру по еблу



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

Возможно ты просто не сошелся характером с лидом или с командой в целом. Если у тебя за последние 2 года 2 увольнения было, при том, что ты не джун, который ради зп прыгает с места на место, а сеньор с 7 летним опытом, то это будет красным флагом в резюме.

Ну и перекатываться в сишарп после 7 лет на джаваскрипте это как-то очень странно. Возможно тебе стоит понять, каких скиллов тебе не хватает сейчас на фронтенде. Либо попробовать перекатиться в nodejs бекенд, все же это будет проще, чем с нуля новую платформу осваивать, которая на рынке РФ сейчас сильно сдала позиции из-за изначально малого количества РУ проектов.
63 3134520
>>3133949

>Не умеешь переучиваться - вон из профессии.


Многовато берешь на себя. Даже в интернетике. Поспокойнее.
1714030458186.jpg535 Кб, 999x1280
64 3134751
>>3133389

> я уже думал что может мне мразь какая поставила ЕДИНИЧКУ в профиль


Что?

>>3133183

> Я хочу один раз выучить говно


Реакт не подходит? Ну да, был один крупный переезд с классов на функциональные компоненты, а потом как-то все устаканилось. Конечно, это не 10 лет, но года три жизни без дообучения можно устроить.
Тайпскрипт же просто облегчает жизнь, женерики женериков только в коде библиотек, в клиентском коде, как правило, так не пишут, потому что потом придет какой-нибудь челибобик и не сможет поддерживать. TS не новый язык, это надстройка

>>3133398

> Да как вкатиться в этот ваш шарповый бэк?


Вкатился в бэк, потому что слишком тупой для WPF. Эти депенденси проперти и ксамл просто чудовищная параша

> вообще не понимаю что учить


Да хуй его знает, сначала пройдись по aspnet, чтобы веб пощупать

> Каждая гребаная это свой отдельный набор технологий


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

>>3133949

> Не умеешь переучиваться - вон из профессии.


Лицо этого чухана-ноулайфера имаджинировали? Столько злости, а ведь ИРЛ будет тупить глазками в пол, если попадется вам на пути
65 3134794
>>3134751

> Вкатился в бэк, потому что слишком тупой для WPF. Эти депенденси проперти и ксамл просто чудовищная параша


А прям хотел в впф что ли?
1714066225150.jpg378 Кб, 750x750
66 3135486
>>3134794
Нет, я искал работу после универа, хватался, за что было. Посидел на wpf пару месяцев, потом надо было новый проект начинать, я взялся и писал его уже на razor pages. Конечно, первый блин комом, но как я кайфовал от html, css и js (даже не react с typescript)

Xaml это конченная технология, я не понимаю людей, которые ее хвалят. Тулинг говна, синтаксис мочи (там ещё надо вначале файла xmlns и прочие заклинания писать?), разбивать на компоненты сложно. Я пытался читать статьи, как писать поддерживаемый код, но ты как будто ссышь против ветра. В том же вебе все для людей сделано (в сравнении)

Ну и, конечно же, килотонны бойлерплейта. Я когда react/vue для себя открыл, охуел, насколько все лаконично получается

Так что если ты xaml осилил, то с вебом как-нибудь разберёшься, надо только чутка попотеть на начальном этапе, всё-таки другой стек, поначалу может быть отторжение
67 3135506
>>3135486

>я не понимаю людей, которые ее хвалят


Никто его не хвалит, это максимально ублюдочный пиздец. Поэтому микрософт и проебал десктопную разработку, а когда-то это говно пытались засунуть даже в веб. Для WPF есть библиотеки для людей типа caliburnmicro, но оригинальная технология - это хтоническая шизофрения и рак мозга в терминальной стадии.
68 3135899
Хочу перекатиться с вуе и ларавель на сишорп и ангуляр. Меня после такого свитча начнут херочки слать нахуй?
69 3135914
>>3133093
Ты - это я!

Мимо меня судьба выкатила из фулхема в чистый фронтенд. А тут ебанная потогонка, долгий поиск работы из-за миллиона вкатунидзе и версточка. Хотя мне всегда больше бек нравился... Хотя я не синьор, а 20-летний мидол.
70 3135966
>>3135506

> Никто его не хвалит


kekeks хвалит, например. В соседнем треде.
Enjoykin - Мухи.mp47 Мб, mp4,
640x360, 1:52
71 3136056
72 3136309
>>3135914

>20-летний мидол


За два года миддлом не становятся, прости.
73 3136379
>>3136309
А за сколько? Просто джуном я уже не могу назвать себя.
74 3136383
>>3136379
Я могу тебя назвать джуном.
75 3136400
>>3136383
почему7
76 3136403
>>3136400
Ну если ты сам не можешь, кто-то должен это сделать.
77 3136412
Джуны ощущают себя мидлами.
78 3136428
>>3136379

>я уже не могу


А я могу. Ты джуниор.
80 3136573
Почему это говно провалилось?
81 3136712
>>3135899
Зачем перекатываться с технологий, на которых дохуя вакансий в технологии, на которых хуй найдешь работу?
82 3136717
>>3136712
Ну по твоей логике надо вообще гей-шлюхами работать.
83 3136786
>>3136309
>>3136383
>>3136403
>>3136412
>>3136428
Как высчитываете кто жунжун а кто уже нет? Если прошел собес на позицию мидла ты мидл и похуй какой у тебя стаж, хоть нулевой
84 3136804
>>3136786

>Если прошел


>ты мидл


Нет
Если ты выполняешь таски как мидл - ты мидл. А прошел ты или пролез не играет роли
85 3136806
Если тебе объясняют как делать, ты джун
Если тебе объясняют что делать, ты мидл
Если у тебя спрашивают как делать, ты сенька
Если у тебя спрашивают что делать, ты лид
86 3136811
А это нормально что даже решение задачи уровня 2х2 в кодинге вызывает у меня паническую атаку и я в душе не ебу как сопоставить эти закорючки скобочки буковки чтобы получить решение?
Думаю даже школьник бы интуитивно догадался, а я не могу.
Как развить элементарную логику?
87 3136939
>>3136712
На ларе и вуе делают сайты для дилдаков. Мало вакансий из числа нормальных. Можно замараться об битрикс. А я хочу в банке работать!
1714215909599.jpg46 Кб, 595x420
88 3137072
>>3136806
Схоронил! Это же база!
89 3137187
>>3136811

>Как развить элементарную логику?


Ну очевидно решать задачки на элементарную логику. Идешь в книжный магазин и покупаешь стопку книжек из раздела "задачки для дошкольников". И сидишь решаешь пока все на автоматическом уровне не отложится. Затем переходишь на задачи для младших школьников и так далее. Весь смысл обучения как раз в том, чтобы задрочить мозг, чтобы он сам все понял и на автомате делал, а ты на расслабоне решал только что-то высокоуровневое. А всякие концепции вроде "достаточно понять тему и ты сможешь в ней разбираться" - хуета.
1000005590.webm4,1 Мб, webm,
576x1024, 0:06
90 3137306
>>3135966
Кекс даже Avalonia для xaml запилил и продает платную бесшовную миграцию с wpf. Было бы странно хейтить то, во что вбухал несколько лет усилий и что приносит тебе доход

Доверия к отзывам простых девелоперов, которые прохавали devex, больше
91 3137320
>>3137306

> которые прохавали devex


Он же небесплатный. В чём вообще проблема? Как тянул с торрентов, так и тяни.
92 3137539
>>3137320
Пытался понять, но не смог. Авалония бесплатная, но у нее есть некоторые различия с WPF. Слой совместимости платный, его и продают. Тянуть с торрентов – такое видел только один раз за всю дорогу. Хер его знает, что там выложили самаритяне, а крутиться оно будет с настоящими данными, так что нахуй надо
93 3137622
>>3137539
Диван, ты подрасти немношк, узнаешь жизнь, как на галерах работают (пиздят на торрентах все тулкиты, какие понравились)
1000003458.mp44,4 Мб, mp4,
720x1280, 0:09
94 3137667
>>3137622
Я только в продуктовых компаниях работаю, на галеры страшновато идти – самое сложное, это домен в голове уложить, а если проекты разные, то это часто придется делать
Когда домен понял, можно пилить код и чилибобить в свободном темпе (если процессы ок). Или я не прав? Послушал бы историй с другой стороны
95 3137716
>>3136806
Мидлу просто ставишь задачу - он ставит сроки и делает ее, сам может гуглить и т.д.
Джуна надо контролировать и учить всему, к самостоятельному решению он не способен.
Сеньор может учить джунов/мидлов и руководить ими.
Тимлид может руководить сеньорами.
PM может руководить тимлидами.
96 3137719
>>3136939
Муха, во всех банках жаба (или котлин/скала).
97 3137724
>>3133949

>Не умеешь переучиваться - вон из профессии.


PHP/1C учится один раз и на всю жизнь. Раньше еще была Delphi, но теперь десктоп умер.
98 3137730
>>3137724

> десктоп умер


У меня куча десктопных приложений, работающих автономно, без сети, и только одно веб-приложение (json editor online) хз, каким хуем тебе пришла в голову эта хуйня про десктоп умер. Наверное ты повёлся на чей-то троллинг.
99 3137734
>>3137730
Так у тебя опенсорс, который не приносит денег. А вакансий нет. В нулевые каждая контора писала для себя софт на Delphi и искала программиста для этого.

Сейчас полтора приложения, которые не могут перенести в браузер, пишут на Electron'е.
100 3137741
Посмотрел, что стоит на компе из коммерческого софта: PhotoShop (у меня он пиратский), антивирус Касперского, несколько игр. Все. На юзерах сейчас денег не заработать. А в энтерпрайзе повсеместно веб-приложения.
101 3137909
>>3137734

>Сейчас полтора приложения, которые не могут перенести в браузер, пишут на Electron'е.


На ИДЕшках ~75% рынка - это приложения на Java/Swing
102 3137936
>>3137909
Если JetBrains, то они теперь не на Swing. А остальные IDE не являются коммерческими.
103 3137958
>>3137734

> на Electron'е.


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

Надо будет попробовать самому на электроне чё-нить сделоть.
104 3137968
>>3137719
Не во всех, таракан.
105 3138523
Господа подскажите что выбрать для небольшого пет-проекта. Blazor или Asp net mvc ? Портал будет с регистрацией и несколькими страницами.
106 3138906
>>3138523
Делай оба.
107 3138924
>>3138523
Не надо MVC. Это для убогих.
Делай или блейзер, или API + SPA на каком-нибудь js фреймворке.
108 3139038
>>3138906
>>3138924

> блейзер, или API + SPA на каком-нибудь js фреймворке.



Спасибо аноны, скорее всего так и сделаю. Думал не трогать js, но без него похоже никуда.
109 3139086
>>3139038
Ну я вот недавно смотрел видос, там челик на серьёзных щщах затирал, что вот он может из шарпа в жс транпилировать.
110 3139093
>>3138924
>>3139038
Blazor для убогих тоже, не бери его

Только обычный web api + SPA, а лучше фронтенд вообще трогай
111 3139162
>>3139086
Я тоже могу из шарпа в жс транспилировать.
Открываешь в одном окне код на шарпе, и пишешь во втором окне аналог на жс.
112 3139191
>>3139162
Транспилер это сделает быстрее тебя, и не попросит зарплату.
113 3146719
Сап, программач. Какие проекты делать для портфолио? Хочу устроиться С#-программистом, надо ли делать портфолио из своих работ (GitHub) и если да, то где можно взять идеи для таких работ?
114 3146920
>>3146719

>Хочу устроиться С#-программистом


Аналог ютуба напиши.
115 3147543
>>3146719

> где можно взять идеи для таких работ?


У нас есть спецтред с идеями. Берёшь любую и хуячишь. >>2669550 (OP)
116 3147562
>>3139191
Только на самом деле нет никаких транспиляторов жс-шарп и наоборот. Может есть что-то совсем убогое, которое сильно урезанные подмножества языков умеет переводить.
117 3147667
>>3147562

> на самом деле нет никаких транспиляторов


Если и есть, то не бесплатно.
118 3148827
Работаю бекендером и в работе активно использую asp.net. В последнее время в голове витает идеч сделать чисто для себя аналог двача. Понятно, что asp.net пригодится, а что для генерации хтмл использовать?
119 3148886
Добрый вечер господа, можете издеваться сколько хотите, но хочу попробовать сделать одну 2d игру на unity3d, у кого есть время подсказать мне пару моментов, как связаться с вами? Денег немного, но могу 2к рублей закинуть если поможете с основой, сам с КЗ
120 3148893
>>3148886
Смеяться не будем. Смотря, что хочешь сделать. Вбиваешь в гугл(яндекс) "Как создать платформер/topdown/рогалик/метроидванию 2д на Unity". От версии к версии процесс создания игры меняться не будет, так что ты спокойно можешь смотреть гайды хоть пятилетней давности
121 3148908
>>3148893
Дело в том что моя идея мне казалось простой, но я не смог найти нужную информацию, да и без опыта в этом деле возможно тупо не умею правильно искать, например я сделал клетку 8 на 8 квадратиков, как я это сделал, добавил пустой объект, добавил компонент sprite renderer, добавил спрайт png белую картинку с темными рамками, и скопировал этот объект 64 раза чтобы была сетка 8 на 8, теперь вопрос в чем, допустим у меня есть новый объект, как заставить его крепиться к углам этой сетки, в общем трудно расписать, поможешь? В дискорде или типо того? Я объясню что хотел бы сделать)
122 3148909
>>3148827
Сделай на блейзоре с сигналр чтобы новые посты моментально подгружались
123 3149457
>>3137936
А на чем сейчас idea написана?
124 3149571
>>3149457
На вижуал бейсик 5.
125 3150445
>>3149457
на jcef, суть вебвьюшки в дажве
126 3151017
как аллокации пофиксить?

public static string FormatSeconds(float seconds)
{

var mins = (int)(seconds / 60);
var secs = (int)(seconds % 60);

StringBuilder sb = new();
sb.Append(mins);
sb.Append(":");
sb.Append(secs.ToString("D2"));

return sb.ToString();

}
127 3151031
>>3151017
Убери StringBuilder. Просто используй стандартную интерполяцию строк. Для нее сейчас компилятор эффективную реализацию с использованием DefaultInterpolatedStringHandler генерирует.
image.png2,8 Мб, 1920x1080
128 3151423
>>2821627 (OP)
Анончик, а можешь раскидать +- приблизительный роадмап что вообще учить и в каком порядке для вката в гейдев на юнити? Я в айтишечке не совсем нуб, работаю веб-макакой на питоне, но вот с С# и Юнити познакомился только неделю назад, пока посоздавал квадратики в редакторе Юнити и прошел немного базы синтаксиса С шарпа.
129 3151430
>>3151423
Вот тебе канал
https://www.youtube.com/@Brackeys/playlists
смотри, изучай, повторяй.
130 3151455
>>3151430
Спасибочки
131 3151458
Пацаны пацанчики. Что думаете по поводу MonoGame? Кто пробовал, у кого какой опыт, какие мнения? Движки это хорошо, а кто то вот так с библиотекой простой пилил игру на C# ? Стоит ли оно того ?
132 3151479
>>3151458
Если у тебя геймплей нестандартный, то выгоднее так пилить, без движков-редакторов, чисто в IDE, с тулкитом типа этого твоего моногейма, или SDL. А если геймплей стандартный, то зачем изобретать велосипед? Ты полюбас в одиночку не сделаешь лучше то, что сделали тысячи кодеров до тебя.
133 3151552
>>3151458
Только если ты профи в геймдеве (знаешь механики, умеешь в геймдизайн и т.д.) и разработке (шаришь за паттерны, архитектуру и т.д.). Тогда через 3..4 года можешь сделать неполохую инди-игру.
Ну т.е. имеет смысл если для тебя весь фан именно в процессе пиления игры или движка.
134 3151776
Подскажите вкатуну книга Чарльз Петцольд: Windows Presentation Foundation: Базовый курс 2008г совсем старье? Или шо поновее искать?
135 3151786
>>3151017
Это байтоёбство всё. Используй просто TimeSpan.FromSeconds, а потом ToString с нужным форматом.
136 3152312
Ребят, хелпаните плз, я нуб, пытаюсь сделать игру, как лучше реализовать игровую сетку и систему drag on drop для спрайта, есть например L-фигура из тетриса, его нужно поставить на сетку 5х5, но код из chat gpt делает только так чтобы центр спрайта не выходил за сетку, а кончик буквы L может выбирать, как лучше это реализовать? Можно ли сделать так чтобы код проверял если коллайдер спрайта не полностью встаёт на коллайдер ячеек сетки то нужно его двигать и притягивать к центру сетки чтобы полностью поместить внутри игрового поля?
137 3152428
>>3152312

>Можно ли сделать так


Нет. Если чат-гпт, сказал, значит должно работать так и никак иначе. По другому просто работать не будет.
138 3152437
>>3151776

>совсем старье?


15 лет прошло уже, сам-то как думаешь?
Capture.PNG326 Кб, 1523x910
139 3153073
Как называется хуйня, код которой на пике и генерируется визуалкой?
Где посмотреть/почитать гайды по этой хуйне?
Оно иногда ломается на ровном месте ( буквально всё работало, а через два дня снова запустил и ошибка какая-то) и неприятно все файлы копировать в новый проект, но починить иначе не могу, тк даже хз, что это и нихуя не понимаю.
140 3154554
>>3153073
msbuild
141 3155039
>>3154554
Спасибо, теперь смогу изучить это, чтоб проще было работать с визуалкой.
142 3156872
Есть староверы кто в MonoDevelop работает? Как вам среда ? Её ещё поддерживают хотя вроде все пересели на VS и VScode, Rider. Чем то напоминает мне Netbeans. Может она для каких то задач получше будет? Кто в теме ?
143 3157413
>>3156872
Поддерживают, да? А почему последний релиз был в 2020?
Я был бы рад хоть в SharpDevelop работать, если бы мейнтейнеры не забили на эти проекты хуй, оставив выбирать из проприетарщины.
144 3157427
>>3151458
Давным-давном пилил небольшую игру на нём. Я, конечно, далёк от игровой индустрии, но больше смысла имеет сейчас вкатываться в Unity/Godot имхо, на monogame слишком много приходится руками пилить
145 3160243
Ну шо анонче, когда уже гребцов заменит чят жпт?
146 3160298
>>3160243
Я тут попробовал у гопоты функцию объяснения кода и заметил такую закономерность. Если подсовывать ему куски которые написаны по Clean Code, СОЛИД-у и т.д., то он их в принципе неплохо понимает и объясняет, даже угадывает некоторые моменты которые явно не обозначены. Плюс может понять чисто алгоритмическую хуйню (всякий ширпотреб с литкода). А вот если подсовывать ему реальный код с реальных проектов, который написан обычными кодерами (а не солидодрочерами) - то он начинает нести откровенную хуйню.

Выводы:
1) Хуй он меня заменит.
2) Нахуй чистый код.
147 3160314
>>3160243
Джунов уже заменил. Вкат всё.
148 3161102
Почему мой код не работает, пикрил 1, а код протыка с ютуба пикрил 2 ему на видео не дает ошибку?

asc.puk не существует в данном контексте , то же для asc.i
149 3161265
>>3161102
Ты класс внутри функции обьявил или ты пишешь код вне функции
Не?
150 3161270
>>3161265
код внутри класса public partial class Form1 : Form внутри неймспейса. Всё, больше вложенности никуда нет.
151 3161279
>>3161270
Так, а ты зачем вызываешь asc.puck вне функции?
Создать объект вне функции можно, но вызывать функцию вне функции - нельзя (?). Я сам пишу на джаве, так что за с# могу слегка ошибаться
152 3161281
>>3161279
А, тип у него в функции мейн штука исполняется, а у меня вне функции никогда не исполнится?. Спс, попробую сейчас.

Я изначально вообще функцию класса, получается, пытался отдельно объявить.
153 3161356
>>3161281
вне функции ни одна функция не исполняется, если она не привязана к чему-либо (ну это чутка другая тема, сам разберешься, когда будешь изучать работу функций более подробно)
154 3163800
Здравствуйте. Сейчас делаю сайт с применением принципа BFF, фронт на реакте. Также есть IdentityServer, который проводит авторизацию и аутентификацию. Вопрос такой: откуда мне делать запросы к ресурс серверу? Прямо из реакта скорее всего нет или делать запрос из контроллера в bff сервере. И если из контроллера в bff сервере, то как это сделать?
155 3164517
Походу сейчас из за вакансии придется осваивать шарпы
Какие подводные
Мимо 2 курс недоинтерн с гошкой
156 3164581
>>3164517
Жирно. Сишарп в 2024 году никому не нужен. Все вакансии - это или нищебродские стартапы, где ты фулстек девопс с навыками qa, или древнее легаси с wpf и mongodb (почему-то именно такое сочетание). На бекенде дотнет умер нахуй.
157 3164586
>>3164517
а что случилось? го дропнули?
158 3164781
>>3164581
Десктоп интереснее бэка же. Если бы только еще платили нормально.
Хотя WPF никогда не нравился, вот WinForms годнота. Прямо как в Delphi, только еще и растягиваться сам умеет.
159 3165065
>>3164581
Сьеби в загон клоун.
160 3165168
>>3164586
Не, наоборот
Насколько я понял, начинают переписывать код с шарпов на го
161 3165640
Есть кто для своего сайта использовал шарп?
Ну прям реально сервер арендовал или vps? Сколько памяти жрет дефолт-сайт под небольшой нагрузкой?
162 3165685
>>3165640
80мб в простое и в пике ну 300мб, 330к get запросов от ботов в сутки. Я их побанил птому но это так для примера. С учетом того что при первом заходе нужно было сгенерить тело страницы и сохранить на диск, последующие заходы на эту страницу уже брал это тело, собирал страницу и отдавал.
Дело не в шарпе а в самом сайте. Делай кеш в раме и будет у тебя как нехуй делать 300рпс на впс за 1$.
163 3165718
>>3165685
О, спасибо, полезная информация.
164 3165749
>>3165685

>С учетом того что при первом заходе нужно было сгенерить тело страницы и сохранить на диск, последующие заходы на эту страницу уже брал это тело, собирал страницу и отдавал.


Генерировал html'ку? Или ты про сборку html-шаблона (у вас вроде razor pages)?
165 3165756
>>3165749
На одном приложении asp net core висело 10 сайтов. У каждого сайта свой шаблон, из бд бралось наполнение(текст) вставлялся в html шаблон, эта страница сохранялась на диск. При следующий заходах эта страница бралась уже с диска, на неё добавлялись еще некоторые данные и отдавалась юзеру.
Разор пейдж это другое.
166 3165783
>>3165756
Я просто не знаю какие у вас шаблонизаторы. То что ты описал это какой-то самописнный шаблонизато, я так понял? Или дефолтный (как называется, куда копать)?

А с обычными шаблонами работал? При таких нагрузка в впске 512мб уместиться?
167 3165810
>>3165783
Шаблон это просто каркас html страницы в которой есть тег [TEXT] который я регуляркой заменяю на текст для каждой страницы.
Всё это были костыли. Говорят в пхп мультисайтник делается гораздо проще.
У меня просто юзеру возвращало return Content(htmlPage, "text/html");
В данном случае MVC не подходил так как там дизайн страницы компилируется и его нельзя менять в рабочем приложении.
Обычные шаблоны это какие?
И куда тебе копать и зачем?
168 3165857
>>3165810
Ну у asp.net есть же свой сервер-сайд шаблонизатор?
По типу jinja, mustache, Handlebars, Thymeleaf, Freemarker идт.
169 3165875
>>3165857
Нету такова. Или я просто не понимаю про что ты говоришь.
в mvc или razor pages страница рендерится на сервере и передаётся клиенту, что бы поменять дизайн страницы нужно менять его в исходниках и полностью перекомпилировать проект
170 3167376
>>3165783
Тебе нужно понять как устроен ASP.NET Core. Язык шаблонизации у него 1, это язык Razor, но он может использоваться в разных типах генерации страниц. Например, есть приложение Blazor. Оно рендериться или на сервере или на клиенте. Есть другие виды приложений, там рендеринг немного другой.
171 3167414
а че там с десктопом на линуксе?
172 3167467
>>3165783

>При таких нагрузка в впске 512мб уместиться?


Лол, на однодолларовую польскую впс 512 мб ты можешь хоть сотню сайтов поместить. А данные ты откуда будешь брать, из жопы? PostgreSQL с включённым движком innodb минимально требует 1 гигабайт оперативной памяти. Это уже больше чем 512. Выход либо на sqlite переходить, либо брать движок myisam/aria. Либо у тебя будет тупо статический сайт и всё.
173 3167490
Стоит выкатываться к вам после нескольких лет во фронтенде?
174 3167515
>>3167467
LiteDB же. Самая быстрая база.
175 3167563
>>3167467

> PostgreSQL с включённым движком innodb минимально требует 1 гигабайт оперативной памяти


На 256мб сидел на пхп с мускулем, что у вас там не так?
176 3167587
>>3167563
Да можешь хоть в 100 мб уместить. Я просто говорю, что это зависит не только сишарпа. Свежезапущенная убунта жрёт 300 мб. Плюс база данных. Если это монга - то минимум 4 гига. Если innodb - то минимум гиг. Если там ещё clamav какой-нибудь, то ещё гиг. Если там php-fpm, то минимум 128, умножим на количество воркеров, 8 воркеров x 128 = ещё гиг. Если там вордпресс с кучей плагинов, то 128 мб будет мало, увеличиваем до 256. Ну и т.д.

Естественно, это всё регулируется.
Да я знаю что убунту можно на firecracker заменить
Да я знаю что бд можно легковесную поставить
Подкрутить демоны, отключить модули ядра
Общей сути не меняет
512 мб может хватить, а может и нет, зависит от задачи и твоих хотелок
177 3167616
>>3167587
Да я понял, пойду на гошечку. Надеюсь центос еще жив и не жрет 300метров.
178 3167622
>>3167616

>Да я понял, пойду на гошечку.


Пойдешь копать вилкой (Go) вместо того чтобы взять экскаватор (.NET)? Все из-за экономии 200 рублей в месяц? Разрабатывая на Go ты потеряешь намного больше времени, а оно бесценно. И все равно твое решение будет хуже чем ASP.NET Core - лучшая веб платформа на данный момент, сочетающая в себе плюсы многих других платформ и не имеющая их минусов.
179 3167656
>>3167622
Да реальные тесты mvc тормозят так же как все остальное, дебагер прибит к вижле, вижла к винде, тупит хотрелоад на линуксах. С мауи они четко показали как относят к кроссплатформе и линуксу. Половина либ то на винду то на коре, половина положили болт. Туча базвордов в которых путаешься. Вот тот же razor и razor page, разная херня, непонятно (как и всякие версии стандартов, эти нет кор и не нет кор, эти версии шарпа эти отдельные версии дотнета, я даже не понял LINQ для всех или для избранных, да и вообще на котлине это тупо калбэки, лол.).

В общем, это реально опять какой-то наяб от мягких. Вам нравится, кушайте, но уж лучше взять жабу и сидеть в честном опенсорсе. Ссори за срачный выпад (думал даже об юнити, как плюс, но там свой сишарп, ппц).
180 3167738
>>3167656

>реальные тесты mvc тормозят так же как все остальное


Показывай.

>дебагер прибит к вижле


https://learn.microsoft.com/ru-ru/visualstudio/debugger/remote-debugging-dotnet-core-linux-with-ssh?view=vs-2022
Чем тебя не устраивает VS Code?

>тупит хотрелоад на линуксах


Конкретней. Что за хотрелоад вообще?

>Туча базвордов в которых путаешься.


>Вот тот же razor и razor page, разная херня, непонятно (как и всякие версии стандартов, эти нет кор и не нет кор, эти версии шарпа эти отдельные версии дотнета, я даже не понял LINQ для всех или для избранных, да и вообще на котлине это тупо калбэки, лол.).


Поначалу действительно можно запутаться. Все очень просто если разобраться.

>лучше взять жабу


Пожалуйста, но там ты не получишь Blazor, SignalR, LINQ и другие фичи.
181 3167749
>>3167656
Как там в 2015-м?
1716549798047.jpg251 Кб, 736x981
182 3167780
>>3167656

> Да реальные тесты mvc тормозят так же как все остальное


Не упирался в тормоза, да и похуй как-то – это бд сложно распараллелить, а поднять ещё один инстанс приложения за балансировщиком вроде бы несложно (мне не приходилось, но видел, как делают)

Плюс, mvc уже давно не вижу в ходу. C# – это webapi, а фронт на react. Периодически вижу вакансии на angular, но пахнет пуками

> проще взять жабу


Тот же самый си-подобный синтаксис, а система типов отличается незначительно и сосет. Разве что без LINQ грустно, но, по иронии, лямбды в шарпе срут в кучу, а в джаве нет. Если что, я на джаве не писал, но кореш свичнулся с шарпов, так как х2 предложили (он только начинал), так что говорю с его слов

> unity


В геймдеве кранчами массируют простату и ЗП на карту капает меньше, если посмотреть статистику. Ладно для себя игры писать, но идти туда с головой и завязывать свой доход на гейминдустрию – не понимаю таких людей

> кор не кор


Уже все понятно, а года четыре назад, да, путаница была

> Maui


Реинкарнация уебского xamarin с не менее уебским xaml'ом. Впрочем, не знаю ни одного способа писать десктопные приложения с удовольствием:
- чтобы приложение стартовало быстро, а не как просмотрщик фотографии винды. Кажется, на языках с gc и рантаймом это плохо получается
- без рантайма есть плюсы, но деды рассказывают такие истории, от которых мурашки по коже. Ещё есть Раст, но тут без комментариев. Хотя, добавлю один: в нем нельзя нормально описывать деревья, а интерфейс это как раз дерево компонентов. Так что писать на нем сложный ui вряд ли будет приятно

В итоге на десктоп даже не смотрю, все в браузер ушло
183 3167971
>>3167414
Есть Авалония (если любишь XML) и есть Ето.Формсы (если ненавидишь XML).
184 3167978
>>3167780

>mvc уже давно не вижу в ходу. C# – это webapi, а фронт на react. Периодически вижу вакансии на angular, но пахнет пуками


База.
185 3167983
>>3167656
Почитай Metanit. Потом доку когда поймешь что есть что. Еще книги можно.
186 3167986
>>3167780

>C# – это webapi, а фронт на react


Худшее, что случилось с вебом. Благо теперь есть Blazor.
187 3167994
Шарписты, кто подскажет: хочу на .net7 + kestrel получить список стандартных сессий пользователей. Про ассембли знаю, но там этого нет. Гугление указывает на то, что нужно писать свои костыли или по допиливать стандартные сессии. Но интуиция подсказывает: раз сервер хранит состояние сессий, значит список можно получить, и, вероятно, им управлять.
1716563597967.jpg8 Кб, 275x183
188 3168036
>>3167986

> блазор


Если это blazor-server, то задержка ощутима, так как пинг. В каждой локации по серверу держать? Ни одна похожая технология не взлетела

А если это blazor wasm, то нужно подождать полминуты, пока clr скачается и начнет крайне неспешно работать. За примерами можно сходить на любой сайт ui-кита, типа syncfusion. Лагает даже на m1pro маке

Блазор, наверное, подойдёт для внутренней админки, когда пользователь никуда не денется
189 3168050
>>3168036

>задержка ощутима


Че ты лепишь, всякие spa грузятся несколько секунд и потом тормозят ужасно. Эти задержки это мизер. Запросы по вебсокетам всегда быстрее.
190 3168053
Шарпатые, вопрос:
Есть в .net возможность runtime compilation. Как эта херня по факту работает? Net Компилит представление каждый раз при запросе или только когда представление изменилось?

Как эта фича влияет на производительность?
1000002550.jpg335 Кб, 1080x1350
191 3168285
>>3168050
Дорогой мой, поехавший, свидетель блазора. Твой обожаемый блазор на сокетах это подмножество так нелюбимых тобой SPA – при открытии страницы сперва должно скачаться около 200кб js-кода, который и будет отвечать за рендер. Или ты думал, что браузер слушает сокет, а тот ему нашёптывает, как кнопку отрендерить?

И это ещё пустяк. Когда я говорил о задержках, я имел ввиду задержки, которых SPA лишены. Например, ты решил ответить на мой пост. Жмешь кнопку ответить, моментально появляется форма и ты в нее пишешь. Почему моментально? Потому что это SPA, и работает оно на клиенте. Тебе пока не надо слать ничего на сервер – тебе надо открыть форму, а, значит, ты можешь сделать это даже оффайн.
При блазоре на сокетах клиент не знает, что, например, вышеупомянутая форма должна открыться. Он шлёт запрос на сервер, в котором передает, условно, айди кнопки и событие. А сервер уже рендерит изменения и шлёт инструкции по модификации страницы клиенту. Получается пинг на весь интерактив, и это очень дерьмово ощущается. Вязко и заторможенно. Чекбокс, который имеет задержку, ощущается как сломанный

Я думаю, что ты просто толстишь, но ведь кто-то мог купиться, поэтому вот такой маленький разбор
192 3168494
>>3168285
Какие задержки. На таких spa с тонкими клиентами на вебсокетах делают игры, делали еще 10 лет назад. Никаких доказательств у тебя нет, просто болтовня свидетеля реакта.
193 3168514
Думаю вкатиться в сишарп и делать различные desktop приложения (ДЛЯ СЕБЯ, НЕ ДЛЯ ПРОДАЖИ). Есть хорошие фреймворки под это дело? Или у вас там только MAUI, только хардкор?
194 3168554
>>3168514

>Для себя


Ты представляешь количество рутины, которое надо для реализации даже простых вещей? Забьшь даже толком не начав. Для себя можно делать только костыли на скриптовых языках, типа питухона, автоматизирующую какую то часть работы. Приложение - это очень долгая рутинная работа по запиливанию фич. Поэтому говорить, что сейчас как Денис Попов себе весь десктоп заменю очень смешно.
195 3168587
>>3168554
1. Я уже пишу на котлине (мобилки) и иногда на спринге фикшу личный сайт. Вполне успешно, работаю 2 года.
2. Если нет по делу сказать, нахрен ты пишешь? Сам не осилил и теперь думаешь, что никто не осилит?
196 3168588
>>3168587
1. Фикшу* на джаве, конечно же
197 3168624
>>3168514
А зачем тебе для себя гуи?
Гуй лишняя ебня, для себя проще консольные приложения делать. Ну или морду управления делать в web если уж очень сильна нужна.
198 3168717
>>3168624
Да мне надо сделать мультиплатформенное приложение, чтоб было проще смотреть аниме и читать мангу. Вот и решил взять шарпы, узнать что там да как. Делать что-то под веб мне вообще не хочется из-за некоторых причин.
199 3168778
>>3168494
Ты будешь сравнивать игры, где применяют компенсирующие пинг алгоритмы с сайтами? Причем даже ui в игре, типа того же меню, будет работать на клиенте. Меню-то мгновенно открывается

Для остальных: можете сами убедиться тут. Только попробуйте с телефона, с сотовой сети – через wi-fi, как правило, пинг меньше:
https://demos.devexpress.com/blazor/CheckBox
200 3168780
>>3168778
Особенно рекомендую пораскрывать тут select'ы
https://demos.devexpress.com/blazor/CheckBox#Alignment
201 3168959
>>3168778

>https://demos.devexpress.com/blazor/CheckBox


Попробовал и что? Работает не хуже Озона или Сбера. Они даже медленнее чем это. Еще неизвестно как это написано, надо бы код смотреть. Никто не говорил, что нужно все на Блэйзоре писать. Можно использовать все варианты рендеринга asp.net в одном проекте.
202 3169055
Впустите меня в дуднет после нескольких лет фронтенда?
203 3169221
>>3168959
>>3168778
Попробовал. Совсем хуёво ощущается. СПА дают фидбек сразу даже если начинают под капотом что то ворочать.
Хз как приложение озона написано, но думаю это какая то смесь из жабы и спа как аппка алика.

На телефоне wifi5

мимо
204 3169284
Этосамое. Помогите дураку, на ночь глядя ничего не соображаю.
Захотел поиграться с OpenIddict. Создал новый проект, в csproj честно прописал
<PackageReference Include="OpenIddict.AspNetCore" Version="5.6.0" />
<PackageReference Include="OpenIddict.EntityFrameworkCore" Version="5.6.0" />
Пишу - services.AddOpenIddict() - symbol not found.
Пишу - using OpenIddict.Server - symbol OpenIddict not found.

Какое-то КВН получается - купил, включил, не работает.
205 3169285
>>3169284
dotnet restore? Если не поможет то посмотри что внутри сборок, может там такого и нет с какого то хуя
206 3169289
Бля. Я редактировал Startup.cs от другого проекта. Спать!
207 3169426
>>3169289

>Startup.cs


Да тебе еще и протрезветь надо, если у тебя до сих пор в проектах startup.cs есть.
208 3169479
>>3168285
>>3168778
Ставил сейчас скорость 256кбитс и пинг 500 (в сети хрома)
чекбоксы тут реагировали нормально, не прям GUI, конечно, чувствуется что-то, но сеть не влияла.
Но при загрузке, когда UI прогрузилось, оно не отвечает, это бесит.

Вероятно чекбоксы к сети не привязаны, но для UI тормозные.
Если в реале правда весь отклик привязан к сети, то мягкие обосрались. Спасибо анон за инфу.
209 3170319
>>3169479

> Если в реале правда весь отклик привязан к сети, то мягкие обосрались. Спасибо анон за инфу.


Зависит от реализации, если вставки на js, то они будут работать локально. CSS анимации тоже позволяют сгладить углы, но, в целом, да – шляпа это все
210 3171768
На маке уютно писать на шарпе?

У меня мак и говноноут на винде, на котором когда печатаешь обжигаешь пальцы....
211 3171769
>>3171768
Студия сваливает, если есть райдер то жить можно.
Сам дотнет уже пропатчили под м'ки
212 3171887
>>3171768
Бекенд да, на райдере пишу
Приятно, что можно лёжа с ноутом работать и он не превращается в печь при открытии монолита
image.png20 Кб, 397x434
213 3172120
>>3171768

> говноноут на винде, на котором когда печатаешь обжигаешь пальцы....


1) Выкинь/поменяй раздувшуюся батарею (которая скорее всего и дает самый большой нагрев).
2) Поставь энергопотребление проца на 99%.
3) Разбери, прочисти, поменяй термопасту.
214 3172142
>>3172120
От с самой покупки такой.. мсай за 30к
image.png50 Кб, 817x413
215 3172419
https://www.microsoft.com/openjdk

Морды шарпомух имаджинировали?
216 3172441
>>3172419
А вместо MVC они сделали тайпскрипт и ангуляр.
Вс код написан на жсе, а не на шарпах.
А что на их серверах происходит это же ужас, там стоит линукс, а не винда.
Ахуеть куда мир катится!
217 3172453
>>3172419
А еще они разрабатывают Rust и многие другие языки и платформы. Майкрософт уже много лет лидер по количеству опенсорс проектов и по величине вклада в опенсорс.
218 3172465
>>3172441
Ангуляр гугл делает
>>3172453
Раст мозиловцы же создали для серво

Так то многие крупные спецы по опенсорсу в Майкрософте работают: Гвидо, Поттеринг и т.д.
219 3172469
>>3172465

>Раст мозиловцы же создали


Майкрософт тоже участвует в разработке. Еще участвуют в разработке Ubuntu или Red Hat Linux.
https://foundation.rust-lang.org/members/
220 3172529
>>3172419
Это EEE.
221 3172541
>>3172419

>Морды шарпомух имаджинировали?


Нормальные морды.
План - пушка-гонка. Оттянуть часть корпоратов на поддержку и затянуть их в свою среду. А потом всех мягко посоветовать "зачем вам уебищная JVM, давайте меняться на наш охуенный блестящий CLR".
222 3172543
>>3172541
Видимо так и рассуждают бигбосы в микрософт, пока индусы добавляют в сишарп нахуй не нужные спаны и серчвэльюс. В реальности же дотнет катится в сраное говно. На линкедине все какансии по дотнету - это или фулстек у нищебродов, или легаси помойка на wpf, куда срали десять поколений паджитов. Нишу веба проебали, мобильники проебали, в геймдеве дали жидкого, на серверах везде линукс, осталось просрать десктоп и все. Зато можно генерить похабные картинки в нейросетке, невероятно полезная вещь.
223 3172547
>>3172543
Да как проебали-то, если под веб на шарпе больше всего вакансий. Или это только на линкедине такое попадается? Может, у тебя в навыках в профиле эти самые вкусные десктоп-фреймворки?
224 3172561
>>2821627 (OP)
когда жабаскрипт выкинут на помойку я буду пить и танцевать неделю напролет
225 3172577
>>3172547
Покажи эти вакансии. Вангую там asp.net core + angular + azure expert для стартапа из Израиля, лол. Иными словами, классический фулстек у жлобов.
Знаешь, что такое фулстек? Это когда вместо трех человек (фронт,бэк,девопс) нанимают одного и вешают на него все проблемы. Заканчиваются такие проекты всегда одинаково: разраб просто исчезает, оставив за собой кучу кривого говна, которое роняет прод по кд. Нанимается новый фулстек из Индии с 30 годами опыта из прошлой жизни, он высирает еще большую кучу говна и тоже сваливает. Снова нанимается фулстек, в этот раз хохiл из епама, он творит всякую хуйню и сваливает, когда становится совсем плохо. Вы находитесь здесь. В итоге проект или закрывается нахуй, или переписывается уже с нормальной командой.
226 3172953
>>3172543

>Видимо так и рассуждают бигбосы в микрософт



Ну конечно, куда менеджерам самой богатой компании планеты до Васяна с двачей. Он то точно знает какие фреймворки и технологии развивать. Ща он тут нам полный расклад даст почему .Net не нуж0н, и вообще C# умер.
227 3172957
>>3172953

> .Net не нуж0н, и вообще C# умер.


База
228 3173060
>>3172453

> Майкрософт уже много лет лидер по количеству опенсорс проектов


лидер
Много лет реализует ЕЕЕ, последняя попытка подмять жабу обернулась судом и последующим рождением шарпа.
229 3173067
>>3172543

>Нишу веба проебали


А кто там победил? Как сидел пхп с около 70% рынком, так и сидит.
230 3173080
>>3172953
Эти менеджеры за десятки лет просрали все рынки, даже покупая готовые решения, кроме гитхлама, хотя еще не вечер.
Так что да, васян может быть компитентнее тут.
231 3173088
>>3172953

>.Net не нуж0н, и вообще C# умер.


Пытались попенсорс поджать, но чет не поджимается? Почему?
После того как кинули с мауи линупсоидов, можно уже сворачивать эти смешные попытки EEE.
232 3173103
Двач, как развиваться в профессии? Перкатился в IT 5 лет назад. Сейчас имею много опыта работы с CRM-системами как фуллстэк (правда фронтедн там был говном). В принципе, сейчас уверенно пишу микросервисы на asp.net, всякие тесты и интеграцию, работаю с БД, пишу какой-то фронт, анализирую код и требования заказчиков. Немного умею работать с докером.

Работал с американскими заказчиками через бодишоп, хочу выйти напрямую. Язык достаточный, чтобы проходить технособесы и общаться по задачам. ИП и банковский счет в Сербии есть.

Думаю, что выгодно будет изучить ML.Net. По нему не так много специалистов, но он производительнее, чем змея. Ну и набить руку на Ангуляре.

Что ещё делать и как?
233 3173351
>>3173060
.NET сейчас во всем опережает джаву.
234 3173367
>>3173103
Выучить все алгоритмы и устроиться в майкрософт
235 3173387
>>3173367

>Выучить все алгоритмы и устроиться в майкрософт


Типа сесть за "Грокаем алгоритмы" и олимпиадное программирование? + Они увидят, что я шарю в ML.Net, скажут "молодца" и пригласят работать в Рэдмонд за овер 9000 USD?
236 3173433
>>3173080

>Эти менеджеры за десятки лет просрали все рынки



Однако капитализация компании растет. Васька, ну давай не будем делать свой убогий анализ на основе твоего пук-среньк опыта. Корпорация в триллионы $ со штатом более 100 тыс. сотрудников наверное знает что такое бизнес и в какие активы вложиться.
237 3173464
>>3173433
Если думать в духе "ну, эта, там большие дяди с огромными головами за нас все продумали, куда ты свой нос суешь", то далеко так не уедешь. От неверных решений никто не застрахован
238 3173465
>>3173387
Да, все так
Осталось только выучить
239 3173468
>>3173464

Не было представлено пруфов того, что компания загибается
image.png1,2 Мб, 1560x877
241 3173485
Сап, двач. Какие пет-проекты вообще делать? Во всех резюме нужны петы, но какие именно, какой сложности, не уточняется. Можете помочь? Собираюсь устроиться C# джуном
242 3173496
>>3173485
Реши какую то свою задачу, напиши доку, настрой ci, запили релизы, проверку апдейтов
243 3173500
>>3173496
Говно, спок.
мимо шапроеб
244 3173502
>>3173496
Что-то типо этого пойдет?
https://youtu.be/wjmU28ukjwA?si=KH9Q84Joxyy1csse
245 3173505
>>3173502
Это решение какой-то твоей проблемы или очередной туду лист?
Вопрос риторический
246 3173510
>>3173505

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


Проблема в том, что у меня нет проблемы, которую нужно решить. Мне просто нужно сделать пет-проект в портфолио
247 3173511
>>3173510
Мне бы такую проблему как отсутствие проблем которые нужно запрогать.
Увы тогда у меня лапки
248 3173515
>>3173464

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



Однако это так и работает в крупных корпорациях. От ошибок они застрахованы целыми департаментами с просчетом всех рисков и финансов. В таких компаниях как IBM, Oracle, Huawei, Российском БигТехе тысячи людей делают прогноз куда бабки вложить акционерам. Это еще не считай консалтинговые агентства оказывающие им услуги. Да даже если Microsoft тупо похоронит все свои продукты, они милиарды будут лутать с одного MS Excel
так что вскукареки местных "хелоувордщиков" про смерть .NET просто пыль. Java - хоронят уже лет двадцать, а спецов до сих пор не хватает.
249 3173517
>>3173515

>хелоувордщиков


Мимокрок интересуется. А что надо уметь, чтобы не быть "хелоувордщиком"?
250 3173518
>>3173351
Нет, все куда хуже чем кажется.
C#.jpeg176 Кб, 825x1171
251 3173521
252 3173533
>>3173433
Так надо смотреть за счет чего растет, за счет купленного скайпа, может за счет релиза старфилда, или успехов вин-телефонов, а может быть за счет интернет эксплорера?

Было бы все хорошо, не занимались бы EEE.
253 3173537
>>3173502
Такое на MAUI можно сделать?
254 3173544
>>3173521
Только начало, а там уже wcf, ef6...
Ебать, братишка, ты копролитов принёс
255 3173546
>>3173515
Чтобы жить, оно должно хотя бы выстрелить, нельзя только на одном поддуве от мягких развиваться, надо чтобы попенсорс жил сам по себе, а с последней новости что даже Avalonia ливнула с фонда, говорит о плохой судьбе кроссплатформы. С учетом какая у мягких репутация они просирают последний шанс и как только просрут и облака, то линусовый шарп потеряет всякий смысл.

То есть, большая вероятность, что коре-дотнет это не эволюция, а просто попытка сделать кусь у рынка. Что мягкие делают не очень.
256 3173549
>>3173511
Так проблемы кабана и таски - не твои проблемы
Моя проблема бабки - как запрогать бабки?
257 3173687
>>3173549
void GetMoney()
{
if(money =< 0)
{
money++;
}
}
258 3173717
>>3173103

>Двач, как развиваться в профессии?


Очевидно либо вкачивать ветку лид->ПМ, либо в архитекторы.

>>3173103

>Думаю, что выгодно будет изучить ML.Net. По нему не так много специалистов, но он производительнее, чем змея.


То что в ML реально требует производительности, пишется на плюсах. А пайтон поверх этого по сути "удобный" интерфейс который любая домохозяйка может освоить.
259 3173724
>>3173687
Знаешь почему у тебя нет Money?
А всё просто - Get возвращает void.
1717017461259.png1 Кб, 89x73
260 3173733
261 3173737
>>3173485

>Какие пет-проекты вообще делать?


Именно "петы" для устройства - нахуй не нужно. Пет - это по сути рабочий проект который делается под какие-то свои задачи, которые у тебя никогда не совпадут с работодателем.
Если же тебе нужен просто проект типа дипломного, чтобы показать работодателю, что ты не хуй с горы, а ровный джун, то сделай проект электронной очереди. Там ты сможешь абсолютно любую технологию пощупать, чтобы было что предъявить.
262 3173746
>>3173733

>светлая тема


Извращенец
263 3173781
>>3173479
Твой ответ означает отсутствие аргументов. Что и требовалось доказать. .NET и C# во всем превосходит Джаву.

>>3173518
Аргументы будут?
264 3173796
>>3173781

>.NET и C# во всем превосходит Джаву


В пресс-релизах от мелкомягких маркетологов. В жизни достаточно открыть линкедин, вычеркнуть мусорные вакансии уровня "фулстек девопс в израильский финтех стартап" и осознать, что дотнет никому нахуй не нужен.
265 3173868
>>3173717

>лид->ПМ


Да че-то не слишком хочу в ПМ, они там какие-то грустные и больше занимаются созвонами ради созвонов.

Хочу в мышинное обучение, АИ, вот это всё.
266 3173890
После блокировки докера дизмораль поймал
Нам божественный Шарп не заблокируют так?
267 3173896
>>3173890

>После блокировки докера дизмораль поймал


>Нам божественный Шарп не заблокируют так?


Уезжай в Сербию, тут няшно.
268 3173899
>>3173890
Всегда есть полностью опенсорсная джава без корпоративного хуя от майкрософта в жопе. Собсвтенно поэтому все банки в России сидят на джаве.
269 3173947
>>3173899

База
В сишарп скатываться НЕ НАДО
Надо учить ДЖАВУ
270 3173982
>>3173947

>База


>В сишарп скатываться НЕ НАДО


>Надо учить ДЖАВУ


Нахуй нужна эта ваша джава с этим вашим богомерзским спрингбутом, где программирование сводится к написанию xml-файлов настроек?
271 3174093
>>3173781
Твое утверждение было первым, разумно ждать сначала твои аргументы.
272 3174106
>>3173899
Я бы сказал, что всегда есть языки общего потребления, типа джавы, с/с++, js, где нет центрального хера, который решает только в свои интересах. Поэтому го, шарпы, котлины, тайпскрипты - идут лесом.

А еще важно наличие опенсорс библиотек и желательно не только есть, но еще не кривые и заброшенные.
273 3174185
>>3173890
На счёт SDK сомневаюсь что будут запрещать,. А вот доступ к nuget.org могут с российских айпишников перекрыть.
274 3174195
>>3174106

>где нет центрального хера, который решает только в свои интересах



Как тебе Большой дядя с Майкрософта мешает писать на .Net, Конкретно аргументы можешь привести. Где он он тебя конкретно ограничивает ? Какой из инструментов от тебя зажали и не дают. Только аргументировано и без воды.
275 3174240
>>3174195
Обезумивший шарпо-дотнетовский мух поспешает на захист майкрософта.
276 3174243
>>3173796

>достаточно открыть линкедин


Что и требовалось доказать. Нет ни одного аргумента чем джава лучше. Потому что она ни чем не лучше.

>>3174093
Да, но ты опровергаешь мое утверждение. Вот и приведи аргументы. Я не опровергал ничего. Мне просто интересно что вы будете писать. Ведь джава ни чем не лучше. Современный .NET обощел ее очень сильно. Это не старый .NET Framework только для винды, и это даже не главное его преимущество.
277 3174249
>>3174240
>>3174106
Вообще то Майкрософт уже не занимается развитием C# и .NET. Есть специальная организация .NET Foundation, которая это делает. Проекты все опенсорс. Вы отстали. Версий .NET с тех пор как он опенсорс вышло наверное больше чем когда он был закрытым. Развивается он так быстро, что не успеваешь узнавать фичи.
sage 278 3174272
>>3174249

> узнавать фичи.


Ты хотел сказать обновлять код до нового говнета из-за брекинг ченджей?
279 3174314
>>3173899

> язык плохой, так как вакансий нет!


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

> После блокировки докера дизмораль поймал


Заблокировали докерхаб. Если провести аналогии, могут заблочить nuget. Сам по себе язык, кажется, под MIT лицензией, стало быть, ничего с ним не будет. А по поводу nuget – наверное, нужно ставить посередине что-то вроде jfrog
Джавистам тоже могут обрубить доступ к их хранилищу сборок, js'ерам к npm, расту к карго и так далее – инфраструктурные ограничения мало от языка зависят
280 3174316
>>3174272
Таракан, успокойся.
Во-первых, там как правило вообще ничего менять не приходится.
Во-вторых, хотя jvm обратно-совместима, жаба таковой не является. Поэтому код точно так же приходится "обновлять". Ну или сидеть на древних версиях с кучей бойлерплейта.
В-третьих, иди чини дедлоки в луме.
281 3174339
>>3174314
BTW, у тараканов несколько репозитариев пакетов, причём они не являются точными копиями друг друга, где-то есть нудный пакет, а где-то нет (и иногда один и тот же пакет имеет разные версии в разных репах лол), поэтому приложения зачастую тянут пакеты сразу из нескольких репозитариев. Поэтому может стать очень плохо, если даже один из репозитариев заблокирует РФ.
282 3174361
>>3174240

>Обезумивший шарпо-дотнетовский мух поспешает на захист майкрософта.



Давай без детского сада, если это тот анон что жалуется на ограничения. Я повторяю свой вопрос

>Какой из инструментов .Net от тебя зажали и не дают пользоваться. Только аргументировано и без воды.

283 3174468
>>3174195
Дебагер и горячая перезагрузка норм только на винде. То есть, мне как бы дядя намекает, что комфортнее будет на более правильной ОС, причем последней версии.

Это смешно продавать свой мейн продукт через 1,5 программиста.
284 3174474
>>3174243
Я дал обобщенный ответ на твою позицию. Ты сразу заплакал и попросил конкретизации, на что я уточнил, что сначала конкретизировать должен ты.

Ты хочешь победить в логике бывалого программиста?
285 3174476
>>3174249

>Вообще то Майкрософт уже не занимается развитием C# и .NET. Есть специальная организация .NET Foundation


Ты пытаешься всех переиграть через наивность?
286 3174483
>>3167656
>>3097629
>>3174468

>>3133031
>>3172543
>>3173796

О боже, у шарпового колосса две глиняных ноги
287 3174487
>>3174483
В России две беды:дураки и дороги
У дотнета две беды: дебаггер и линкедин
288 3174507
>>3174483

>О боже, у шарпового колосса две глиняных ноги


У жабы, кстати, тоже так же, тоже слишком раздут пузырь величия.

-Нехера не развивается.
-Срыг тормозит, если юзать кроме срыга - тотальных колхоз.
-Всякие тырпрайз базворды - нечитаемы, тонна размазанного говнокода.
-У котлина асинхронщина тормозит на уровне динамикодресни, то есть ты берешь асинки и у тебя становится хуже, лол
-Жрет память аке быдло, бобр курва!
-Тормозит ппц, пока джит не проснется и не уберет говно из кода, а потом в середине накроется тазом и снова вставит не оптимизированный байткод, чтобы в прайм-тайм все от нагрузки офигели.
-Легаси, одно сплошное легаси, спасет только вакансия котлина, раз в месяц.

Ну еще туча говна, которого я не вспомнил.
289 3174513
>>3174474

Если бы тебе реально было что сказать, ты бы просто сказал - и не растягивал беседу
290 3174517
>>3174507
Это все покроют "как ты написал так у тебя плохо и работает"
291 3174532
>>3174474
https://springframework.net/

Даже спринг на наш дотнет переписали, шах и мат!
292 3174541
>>3174532
Пиздец 👍
293 3174606
>>3173890
Так clr же открытая, сделайте свой православный сишарп
294 3174610
>>3174606

>Так clr же открытая, сделайте свой православный сишарп


Z#

Zадача будет Скомпилирована.
295 3174611
>>3174517
Так так и есть. Я участвовал в проекте распределенного фултекстового поискового движка, так он гигабайты перемалывал полностью на джаве без проблем. А если начитаться клин кода или ещё какой-нибудь мало связанной с реальностью дрисни, так можно и с++ заставить лагать, дурное дело - нехитрое.
296 3174612
>>3174610
Ну вот, может даже гранты какие-нибудь выбъете с таким названием
297 3174614
>>3174532
Пахахаххахахах, вот это гениально. Просто похлопаю в ладоши за этот "маркетинговый" ход.
298 3174619
>>3174468
Горячая перезагрузка -- это изначально порочное говно, которое никогда и нигде нормально не работает.
299 3174631
>>3174619
Правильно, не нужно, только выиграли
300 3174660
>>3174631
Кто куда выиграл? Я просто говорю, что на каких бы языках я не писал, везде хот релоад работал глючно, через жопу, и единственным нормальным способом убедиться, что твоё изменение кода работает как надо, приходится перезапускать программу. Потому что дохуя всего происходит при инициализации приложения или сайта, и простая подстановка нового кода на уже существующее неактуальное состояние приводит твоё приложение в совершенно невообразимую форму, где могут появляться несуществующие глюки или, наоборот, существующие могут себя никак не проявлять. Никто никогда не может тебе дать гарантий, что твой софт после хот релоада работает так же, как и при перезапуске, поэтому эта фича не только бесполезная, но и просто вредная.
301 3174661
А вообще, сидеть на линуксе, когда есть винда, это какой-то отдельный вид сумасшествия для любителей ебаться с компом вместо того, чтобы им пользоваться. Место линукса в докер контейнере, больше он нигде нахер не нужен. Даже сервер с контейнерами лучше иметь на винде.
302 3174667
>>3174661
Вот это наброс. Пойду всем проповедовать кубы на винде, надеюсь только обоссут
303 3174673
>>3174660
Да лан тебе, в флаттере и фронтенде хот-релоад это благо, без итераций по 5 сек было бы очень неудобно. Так что это не порочно, это хуево реализовано

>>3174339
Думаю, это так же все фиксится jfrog'ом. Сама мера, правда, топ – олигархи как кайфовали, так и кайфуют, а вот ты, Ваня, нехороший такой, хуй тебе, а не докер-образ! После этого ведь все сразу станет хорошо
304 3174709
Аноны, джунов на C# сейчас берут?

Алсо CLR via C# 2008 года издания устарела? Взял в буккроссинге.
305 3174713
>>3174709
Сейчас какой год?
306 3174714
>>3174619
В рамках моей задачи было то что нужно. Я даже поэтому в шарпы залез, увидев рекламку где-то.
Но мягкие видимо начали закручивать EEE, раз работает норм только на винде.
307 3174716
>>3174661
Ну мы тут и говорим, хочешь хорошие шарпы, изволь маздаять, а то видишь ли, попенсорсу захотелось.
308 3174717
>>3174713
Ну мало ли, может фундаментальные принципы, БАЗА так сказать, остались неизменными.

Или ты это к вопросу про джунов...
309 3174719
>>3174713
2011, а чо?
310 3174768
>>3174709
С тех пор появилась дохуя всего нового в языке.
>>3174717
Принципиальная база это if while int char[], все остальное нахуй. Но ты ведь хочешь листы словами лямбды делигаты хуяты. Вот по этому нужно сразу читать как можно более новую версию. Читай метанит.
311 3174774
>>3174532
"У меня есть спринг и у тебя есть спринг. У меня есть asp.net, а ты идешь нахуй."
312 3174777
>>3174717

>Ну мало ли, может фундаментальные принципы, БАЗА так сказать, остались неизменными.


Та самая бааз-база, которая описана у Рихтера может быть и актуальна, но джуну совсем нахуй сейчас не уперлась.
313 3174978
>>3174673
У меня как раз во флаттере вообще постоянно ломался хот релоад.
Это всего год назад было. Может, конечно, сейчас что-то починили, но это кажется сомнительным. Мне вообще задача хот релоада кажется уровнем задачи останова, то бишь нерешаемой. Могут быть только приблизительные решения, которые, как я уже писал, никаких нормальных гарантий дать не могут.
314 3175078
>>3174774

>У меня есть спринг и у тебя есть спринг


но есть НЮАНС
315 3175714
>>3175078
Да похуй собственно. Все равно в своей нише удобнее asp.net-а для разработки человечество ничего не придумало пока.
316 3176887
Шарпаны. Пока работаю на международный финтех с российскими корнями, но буду искать западных удаленных заказчиков. Нужен именно ремоут, не релокация, я решил остановиться в моей текущей евролокации. Вот думаю, как лучше искать: самостоятельно возиться с рассылкой по бесчисленному количеств сайтов или влошиться в job search service? Опыт 5+ лет, пилю всякий asp.net и всё такое.
image.png201 Кб, 584x895
317 3176892
>>3174777

>но джуну совсем на🌶 сейчас не уперлась.


Джуну не нужно много знать про CRL. Есть C# in Nutshell.
А вообще, джуну нужно МНОГО ПРАКТИКИ, а не теорию дрочить.
318 3177293
>>3176887
Влошись, если не жмёт.
sharp.png1,4 Мб, 1951x2560
319 3177634
320 3177645
>>3177634
Почему эта хрень отжирает память в 2-3 раза больше чем жаба?
https://youtu.be/6WL4UjubvOE?t=162
image.png43 Кб, 998x599
321 3177830
322 3177952
>>3177830

нода ебет джаву получается
323 3177986
>>3177830
Маня-тесты, в которых замеряет размер дефолтного пула.
Единственно кто там дал 1млн тасок это го (2кб на горутину)
324 3178366
>>3177293
Находил российскую компанию AgileFluent, но отзывов о ней мало, и те, что находились, плохие. Везде светились с агрессивной рекламой, а по факту правят CV и работают с ленцой.

Берут они до🌶. Например, 1000 USD за 200 вакансий, аналогигчные фрилансеры https://www.fiverr.com/ берут по доллару за вакансию.

Есть ещё recruitment agency, но это надо изучать. Там рынок честнее, как я понимаю.
325 3179535
анончики, помогите с даппером.

есть таблица
CREATE TABLE [dbo].[Table] ( [Type] CHAR(3), [Author] TEXT, [Name] TEXT);
Да, без первичного ключа. у меня база данных 30 летней давности в которой никто этого не делал. мне с ней работать - запросики пулять

соответственно к ней модель
class Table
{
public string Type { get; set; }
public string Author { get; set; }
public string Name { get; set; }
}

Пишу запрос
var sql = "SELECT FROM [dbo].[Table] WHERE Author = '@authorName'";
var table = connection.Query<Table>(sql, new { authorName = "test" }).ToList();

хуй, выдает ошибку
The data types text and varchar are incompatible in the equal to operator."

ИИ Чат даппера предлагает переписать запрос так
"SELECT
FROM [dbo].[Table] WHERE CONVERT(nvarchar(MAX), Author) = @authorName"

ну это же хуеблядство - я же и беру ORM чтобы не ебаться со всеми этими конвертациями типов
326 3179668
Здравствуйте! Посоветуйте материал где разжевывают тему с массивами и операциями по ним? Уже третью неделю не могу понять как они работают и как их заполнять. Заранее спасибо
327 3179745
>>3179535

>я же и беру ORM чтобы не ебаться со всеми этими конвертациями типов


Ну так даппер - это мини-ОРМ, не хочешь трахаться - бери полноценную.
328 3179887
>>3179535
Даппер не виноват, что у убогого sql несколько типов для хранения строк.
329 3179953
>>3179535
А если подумать
Char хранит ASCII.
Char(3) - это три символа ASCII, например HEX будет (48 45 58)
А если будет конвертировать в UTF16, то первый символ будет иметь код u+4845, а второй - u+58... а второй код какой? Ну значит такая строка не конвертируется
show.png1 Кб, 256x50
330 3180394
Кто-то юзает дотнет на линуксе? Кроме веб сервера?
331 3180409
Для тех кто говорил зачем хотрелоад
https://www.youtube.com/watch?v=72y2EC5fkcE
332 3180895
>>3179668
Chatgpt (только 4 и 4о, но никак не 3.5!) объяснит и ответит даже на самые тупые вопросы
333 3180921
>>3180895
Только неправильно в половине случаев.
"Мне повезёт"
https://futurism.com/the-byte/study-chatgpt-answers-wrong
334 3181142
>>3180409
Так это фича игровых движков (и то не всех), она к майкрософтовскому хотрелоуду отношения не имеет от слова совсем.
335 3181245
>>3181142
Практический как и шарп в юнити
336 3182766
>>3180921
Ты напоминаешь какого-то деда с хабра с фурри на аве, который тоже в лютое отрицалово уходит, мол, да как можно пользоваться нейронками, надо верить только сертифицированным кадрам!

Просто попробуй. Если нет доступа, я могу заскринить ответ на твой вопрос. GPT-4/4о уж точно сможет объяснить массивы, это не какая-то сложная математика, где можно столкнуться с неверной инфой. Маленькая вероятность поесть говна с лихвой перекрывается возможностью спросить что угодно

+ если пользоваться учебниками и просить объяснить непонятные моменты, то вероятность галлюцинаций еще меньше. Если что, новую инфу я только так и постигаю, потому что план обучения в книге явно лучше будет составлен. А когда уже знаешь, как должен выглядеть конечный результат, но лень самому его воплощать руками – тут-то нейронки раскрываются во всей красе
337 3182857
>>3182766

>Ты напоминаешь какого-то деда с хабра с фурри на аве, который тоже в лютое отрицалово уходит, мол, да как можно пользоваться нейронками, надо верить только сертифицированным кадрам!



>Просто попробуй. Если нет доступа, я могу заскринить ответ на твой вопрос. GPT-4/4о уж точно сможет объяснить массивы, это не какая-то сложная математика, где можно столкнуться с неверной инфой. Маленькая вероятность поесть говна с лихвой перекрывается возможностью спросить что угодно



Я те конкретно скинул ссылку на исследование результатов, где написано, что вероятность поесть говна не маленькая. Плюс я сам некоторое количество времени провёл оценивая эти ответы (см. dataannotation), и ни разу не встречал идеально хороший ответ.

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


Совсем базовые вещи, ок. Да, на вопросы, которые разжёваны сотни раз, гопота ответит нормально. Только непонятно нахер она нужна, если этот ответ и так будет во всех десяти первых ссылках в гугле.

>А когда уже знаешь, как должен выглядеть конечный результат, но лень самому его воплощать руками – тут-то нейронки раскрываются во всей красе


Это полная чушь. Если я знаю, какой должен быть код, мне проще его написать самому, потому что нейронка напишет его в неправильном стиле. И вообще нейронка не создаст мне структуру из десятка дто и сервисов с интерфейсами, и не пропишет их все в DI, а это как раз самое тупое занятие, которое неплохо бы автоматизировать.
А если ты не знаешь ответ, то за нейронкой надо всё проверять, а для этого надо самому разобраться, а это как раз занимает больше всего времени, и толку от нейронки, получается, никакого нет. Ну или можно это хуяк-хуяк и в продакшен, а потом извиняться перед клиентами за проёбанные данные и полгода баги фиксить. Короче говоря, то же самое, что в Индию на аутсорс отдать проект, получив if(val.ToString()=="True") на выходе.
337 3182857
>>3182766

>Ты напоминаешь какого-то деда с хабра с фурри на аве, который тоже в лютое отрицалово уходит, мол, да как можно пользоваться нейронками, надо верить только сертифицированным кадрам!



>Просто попробуй. Если нет доступа, я могу заскринить ответ на твой вопрос. GPT-4/4о уж точно сможет объяснить массивы, это не какая-то сложная математика, где можно столкнуться с неверной инфой. Маленькая вероятность поесть говна с лихвой перекрывается возможностью спросить что угодно



Я те конкретно скинул ссылку на исследование результатов, где написано, что вероятность поесть говна не маленькая. Плюс я сам некоторое количество времени провёл оценивая эти ответы (см. dataannotation), и ни разу не встречал идеально хороший ответ.

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


Совсем базовые вещи, ок. Да, на вопросы, которые разжёваны сотни раз, гопота ответит нормально. Только непонятно нахер она нужна, если этот ответ и так будет во всех десяти первых ссылках в гугле.

>А когда уже знаешь, как должен выглядеть конечный результат, но лень самому его воплощать руками – тут-то нейронки раскрываются во всей красе


Это полная чушь. Если я знаю, какой должен быть код, мне проще его написать самому, потому что нейронка напишет его в неправильном стиле. И вообще нейронка не создаст мне структуру из десятка дто и сервисов с интерфейсами, и не пропишет их все в DI, а это как раз самое тупое занятие, которое неплохо бы автоматизировать.
А если ты не знаешь ответ, то за нейронкой надо всё проверять, а для этого надо самому разобраться, а это как раз занимает больше всего времени, и толку от нейронки, получается, никакого нет. Ну или можно это хуяк-хуяк и в продакшен, а потом извиняться перед клиентами за проёбанные данные и полгода баги фиксить. Короче говоря, то же самое, что в Индию на аутсорс отдать проект, получив if(val.ToString()=="True") на выходе.
338 3182934
Здарова, посоветуйте бесплатный хост куда можно залить аспнет приложение с базой.
339 3182939
>>3182934
Был оракл и авс, но теперь их нет
340 3182949
>>3182939

>Был оракл и авс, но теперь их нет


Не 🍑и чепушило. Кого нет-то, долбоёбина? Можно любую рандомную страну на любом рандомной сайте указать. Чё они пойдут паспорта проверять или что? Вбиваешь в гугл "виртуальные номера для приёма смс", стоит от 1 до 5 рублей активация. https://5sim.biz/ и всё берёшь пользуешься.
341 3183046
>>3182949
Угомонись, чурка
342 3183087
>>3182934

>бесплатный хост куда можно залить аспнет приложение с базой


localhost
343 3183124
>>3183087

>>бесплатный хост куда можно залить аспнет приложение с базой


>localhost


А можно я залью свое приложение на твой локалхост? моргание ресницами
344 3183872
>>3183124
Заливай на dumb@127.0.0.1
345 3184175
>>3178366
Бамп вопросу.

Как вообще расти профессионально? Работаю лет 5. Подрочить Литкод? Писать и дальше микросервисы? Проходить курсы по мышинному обучению в Coursera?
346 3184240
>>3184175

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


Брать на себя все более сложные и навороченные задачи. Попробовать утянуть часть функционала лида/аналитика/архитектора.
>>3184175

>Работаю лет 5. Подрочить Литкод?


Если у тебя после 5-ти лет работы возникают вопросы, а не политкодить ли мне, то что-то ты делаешь неправильно. Для тебя это должен быть уже пройденный этап.
347 3184439
>>3184240

>а не политкодить ли мне, то что-то ты делаешь неправильно. Для тебя это должен быть уже пройденный этап.


Я не заморачивался алгоритмами, но слышал, что это полезно для воображения.
image.png705 Кб, 957x785
348 3185992
349 3186016
>>3185992

>decript


Ещё и английский не родной у них
350 3186059
https://www.reddit.com/r/dotnet/comments/1db9f0t/most_desirable_skills_for_experienced_net/

.net core - must

Asp.net core - recommended , must if working with APIs

Angular/react/blazor - 1-2 of listed is essential

Node - good to have

Python, powershell - meh

Docker, Microservices - must

Kubernetes(k8)- good to know

Sql server - good to know

NoSql, cosmos/mongo - one is must

Devops, Jenkins - good to know

Azure/AWS/GCP - you must be a living god in one of them

ARM/Bicep/Terraform - one or more is good to know

Service bus/Kafka/RabbutMQ(Eventing) - one is a must

AI, LLM - very nice to have
350 3186059
https://www.reddit.com/r/dotnet/comments/1db9f0t/most_desirable_skills_for_experienced_net/

.net core - must

Asp.net core - recommended , must if working with APIs

Angular/react/blazor - 1-2 of listed is essential

Node - good to have

Python, powershell - meh

Docker, Microservices - must

Kubernetes(k8)- good to know

Sql server - good to know

NoSql, cosmos/mongo - one is must

Devops, Jenkins - good to know

Azure/AWS/GCP - you must be a living god in one of them

ARM/Bicep/Terraform - one or more is good to know

Service bus/Kafka/RabbutMQ(Eventing) - one is a must

AI, LLM - very nice to have
351 3186061
>>3186059
I have been job searching recently and I found the below skills in order of highest demand in the UK market.

Docker/Kubernetes. Requested by absolutely everyone even companies that are not using them. Particularly for backend jobs, this also comes with the expectation of knowing some bash/powershell for scripting build automation.

AWS/Azure. Same as with above, universally asked even where not practiced. Most .NET shops want Azure but every non-.Net role (if you’re okay with branching out) seemed to want AWS. Every Java, Go, Node.JS job out there was AWS. If you’re more backend than frontend, expect to be asked about Terraform too.

JS/TS + React/Angular. I would say 7-8/10 full stack roles I came across were React, it’s that dominant in my region. Also, more than half of the jobs were full stack. There are backend-only jobs in .Net if that’s your thing, but it seems rather limiting job-wise if you cut front-end work completely off.

SQL/NoSQL. On the SQL side MS SQL Server is dominant for .Net roles. PostgreSQL seemed to have more traction outside of them, with MySql secondary. On the non-SQL side it was mostly MongoDB and ElasticSearch. Some CosmosDB and Azure AI search here and there. SQL skills in demand, EF a nice bonus but not must have.

Messaging and Distributed Caching. Azure Service Bus, Rabbit MQ, Kafka and Redis seemed most dominant here.
352 3186062
>>3186059
>>3186061
В чём они не правы?
353 3186088
>>3186062
В рамках рф клауд не нужен, нода тоже, ангуляр почти не встречается, LLM вообще в рф проспали кабаны.
354 3186093
>>3186088

>LLM


Когда этот хайп уже пройдёт?
355 3186132
>>3186093
Хайп - это конец 2022, когда во всех тредах каждый третий пост был про чатботы. Сейчас так, отголоски прошлого. Лет через 5 и вовсе перестанут упоминать.
356 3186222
>>3186088

>В рамках рф клауд не нужен, нода тоже, ангуляр почти не встречается, LLM вообще в рф проспали кабаны.


А если я не в РФ?
357 3186260
>>3186062
Челик выше уже сказал. В России пользуются нулевой популярностью:
1) Клауды (любые) и прочие саасы. Здесь привыкли к опенсоурсу.
2) Любые nosql, включая mongodb. Монга хейтится почти всеми.
3) LLM в зайчаточном состоянии.

>>3186222

>А если я не в РФ?


Вне рф это всё вполне жизнеспособно.
358 3186303
>>3186222
В Белоруссии всё то же самое.
359 3186373
>>3186062
Они намешали три роли в одну: фронт, бэк и девопс. Так бывает в помойных израильских финтех стартапах и на галерах у индусов и хохлов, которые эти стартапы обслуживают. Один человек не может работать за троих, получается всегда говно. В продуктовых конторах такой хуйни нет, там или ангуляр, или тераформ, а не заебаный человек-оркестр.
360 3186375
>>3186260
Nosql - это кафка и редис, есть почти везде. Монга - это литерали говно без задач, постгрес умеет делать то же самое и намного больше.
361 3186384
>>3186373
Это неправда. В продуктовых конторах вполне может быть в команде 5 программистов, каждый из которых фуллстек и даже немного девопс. Суть в том, что они более-менее взаимозаменяемые, и если один сваливает в отпуск, увольняется или попадает под автобус, то работа внезапно не встаёт, потому что все остальные не знают как терраформ настроить или в галпе что-то поменять.
362 3186386
>>3186375

> Nosql - это кафка


Нихуя себе.
363 3186533
>>3186373

>Они намешали три роли в одну: фронт, бэк и девопс.


https://www.youtube.com/watch?v=SuQb-FksaRI
364 3186544
>>3186303

>В Белоруссии всё то же самое.


>>3182857

>А если ты не знаешь ответ, то за нейронкой надо всё проверять, а для этого надо самому разобраться, а это как раз занимает больше всего времени, и толку от нейронки, получается, никакого нет. Ну или можно это хуяк-хуяк и в продакшен, а потом извиняться перед клиентами за проёбанные данные и полгода баги фиксить. Короче говоря, то же самое, что в Индию на аутсорс отдать проект, получив if(val.ToString()=="True") на выходе.



Нейронка помогает изучать некоторые нюансы по принципу "уточнил у нейронки затык, протестировал решение на практике, читнул доки и статьи, разобрался в теории и практике, отлично запомнил".
image95 Кб, 1280x719
365 3186549
Думайте
366 3186555
>>3186549
Уровень "it-юмор на пикабу", oh wait...
367 3186563
17178761612690.mp41,2 Мб, mp4,
720x1080, 0:12
368 3186575
369 3186834
шарпач, посоветуй годную либу для OCR русского текста и цифр
370 3186838
>>3186834
Попенсорсного кроме тессеракта ничего не знаю
371 3187376
>>3186838
то что надо збс
372 3188981
Поясните, чем разработка бэка на шарпе лучше/хуже джавы? Пока только могу сказать, что у майкрософта просто наипарашнейший нейминг, разобраться во всех этих asp.net, asp.net core, asp.net mvc и т.д. тяжело, в джаве попроще как-будто. Плюс коммьюнити какое-то дохлое и вялое. У жабы куча всяких чатов в телеге, где можно быстро что-то спросить, у шарпа - НИ-ХУ-Я
373 3189007
>>3188981
Что конкретнее тебя интересует? По чатам лучшие это:
- https://t.me/DotNetRuChat (общий по дотнету без геймдева)
- https://t.me/pro_net (для байтоебов)
374 3189008
>>3189007
DotNetRuChat
Помойка ебеная, года так 3 назад забанили за вопрос так как посчитали его не этичным. А всего то спросил как текст со страницы взять, или что то в этом роде, корочи нубский вопрос.
375 3189562
>>3188981

>у майкрософта просто наипарашнейший нейминг


К сожалению да, это всегда было.

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


У майков для этого есть нормальная документация и stackoverflow, на которых практически все разжевано. Если ты не найдешь этого там, то и чаты тебе не помогут.
376 3189643
Насколько часто используется record?
Приведите пример использования.
377 3189694
>>3189643

>Насколько часто используется record?


Постоянно.

>Приведите пример использования.


Любой кейс где нужна иммутабельность.
378 3189700
>>3189643
Часто. Для различных DTO-х.
379 3189893
>>3189562

>У майков для этого есть нормальная документация


Ну хуй знает, я только с wpf работал в основном и это была просто, блять, худшая документация
380 3190453
>>3189893
Тут уже выше горели с этих трёх букв
381 3191059
На шарпе можно задать значение как часть типа, например тип массива длины N?
382 3191372
>>3189893
Что тебя конкретной не устроилов документации?
383 3191442
>>3191372
У wpf нет документации, там сплошь xml магия и люди пользуются отладчиками чтобы отследить иерархию объектов ради накостылять хаков чтобы работало как тебе надо. Ебучий вендорлок.
384 3191452
>>3191442
Вся история с хамл разметкой хуета. В уно вон у сишарповской возвращаются.
385 3191453
>>3191452

>Вся история с хамл разметкой хуета.


И все фреймворки зацикленные на ней говно.
386 3191461
>>3191442
Ты дурачок? Документация в ВПФ одна из лучших, если не лучшая, среди всех фреймворков. И с чего ты решил, что какая либо документация может избавить тебя от необходимости заглядывать в дерево объектов мне не ясно.
387 3191463
Как сделать свитч по типу? Паттерн матчинг не работает т.к. там нужен экземпляр типа. А мне именно по типу надо кейсы разложить.
388 3191467
>>3191463
Либо кейс либо ифы, если ты решишь сделать свич по строкам вида "Систем.Инт", то тебя рано или поздно отпиздят
389 3191775
>>3191461
Ты ебанутый? ты скажи, не стесняйся
Я и во фронт умею, и в бэк, и в обработку данных, но когда в самом начале моего опыта, мне дали проект на wpf, это был пиздец, это был кошмар, это была моя Варфоломеевская ночь в мире разработка
390 3191782
>>3191463
Пиши ифы, патерн матчинг нечитаемое говно.
391 3191953
>>2863611

> Typescript не дает статической типизации


Как раз её он и даёт, если не выключать проверки. Статическая типизация = проверке корректности работы типов во время компиляции.
В рантайме все также динамическая типизация, и очень ограниченная информация о типах.
392 3192794
Коллеги жизненна?
https://www.youtube.com/watch?v=bXzTXD_OJo0
393 3193916
>>3191782
Cкажи это Луговскому.
394 3193933
>>3191461
КАВО нах? У впф её считай нет. Хочешь посмотреть, как работает такая-то хуйня, гуглишь, а там просто описание в одну строчку. Всё. 0 примеров, 0 пояснений, просто нихуя. Даже хуй пойми какие аргументы передавать.
395 3193934
>>3191463
Пример твоего кода?
396 3193940
>>3193934
Делаю бинарный кастомный сериализатор. Хотел по свитчу все типы красиво мэппить в байты и обратно. В одну сторону на сериализации нормально работает т.к. там значение передается, а в обратную хер там, т.к. на руках только массив байт и тип.

byte[] Serialize<T>(T obj);
T Deserialize<T>(byte[] bytes);
397 3193983
>>3191775
Саня?
398 3194049
>>3193983
Нет. Думаю, с таким опытом много людей
399 3195051
>>3193940
Так у тебя похоже проблема не со свичем по типу, а с классом дженерика
400 3195331
>>3195051
Почему это?
image.png140 Кб, 1107x1011
401 3195916
Подскажите пожалуйста, почему конкретно в этом операторе компилятор не видит данный класс, хотя выше свободно его использует.

inb4:ты додик и т.п и т.д
402 3195917
>>3195916
а блять, надо сам класс передавать, а не переменную.
image.png83 Кб, 786x437
403 3196005
Как в этом языке получить свойство класса по строке? Пробую через рефлекшен, он мне null возвращает. Что я не понимаю?
404 3196044
>>3191775
Я мимокрок, неделю сижу хуярю в WPF и мне очень нравится. XAML прям 1 в 1 HTML+CSS. По разметке все очень понятно, а в остальном по фронту я чет не понимаю какие проблемы могут быть и что там непонятно кроме самого C#, от него по сути только и нужно что создавать элементы\вешать хендлеры на них.
405 3196080
>>3196044
Проблема не в WPF. Если ты пишешь как на ангуляре, все ок.
Проблема в концепции MVVM. Она не прошла проверку временем, ее придумали когда еще не было смартфонов, не было бэкэнда, в современном программировании это литерали хуйня без задач. Если неопытный джун начинает писать по гайдам, получается лютый пиздец. У микрософт в принципе все плохо с современными технологиями, там сидят деды, которые застряли в 1995 году, и придумывают Blazor.
406 3196194
>>3196080
Не пизди поредж, как раз когда писали деды всё было ок, последние лет 15 там по квотам набрали всяких баб, чурбанов и педерастов вот они и наговнокодили.
407 3196244
>>3196080
mvvm это круто, а ты чух неосилятор.
408 3196373
А какие сейчас самые популярные решения для фронта в плане десктоп приложений, если WPF "не популярен"? Я думал как миниимум половина продукции на нем пишется.
409 3196561
>>3196373
Uno Platform
410 3196851
>>3196373
Разве сейчас кто-то пишет десктопные приложения? Как бы 2024 год на дворе, не 1994.
411 3196961
>>3196373
Это не WTF не популярен, а весь десктоп как таковой не популярен.
>>3196561
Не успели запилить авалонию, так уже изобретают её убийц. Опенсорс такой опенсорс.
412 3197442
>>3196851
Ну не всем же веб мастерами работать и писать тупопёздные апплеты для куриц.
413 3198618
сап пограместы, сейчас ботаю синтаксис на метаните и задумался, там вся информация нужна? просто трачу много времени чтобы осмыслить все
414 3198619
сап пограместы, сейчас ботаю синтаксис на метаните и задумался, там вся информация нужна? просто трачу много времени чтобы осмыслить все
415 3198620
>>3198619
ебанная макака абу со своей капчей
416 3198660
>>3198618
Нет, конечно, что-то используется всё время, что-то очень редко. Но учить лучше всё, мало ли чей код придётся поддерживать.
417 3199334
Generic Host который в ASP.net Core внедряет зависимость только для сервисов синглтонов? Весь апи вроде прочитал и ничего не нашел и примеров нет. Везде эти чертовы сервисы, а обычного DI нет.
418 3199400
>>3199334
DI же у майков один. Функциональность тоже одинаковая
419 3199931
>>3198618

Чем кроме метанита пользуешься?
420 3200036
>>3199931
Мефедроном
421 3201937
>>3199400
Похоже то что мне надо это Transient или Scope, по названиям не допер.
422 3201964
Анон, подскажи, пожалуйста, в чём я просчитался в следующем примере.
Есть приложение WPF, в нём 2 окна: mainWindow и searchWindow. Основное окно отображает подробности о записях из БД (пусть будет фио, возраст, пол, зарплата, стаж, адрес), а поисковое показывает сокращённую информацию (например, только фио и возраст, а вся остальная информация содержится в локальной ObservableCollection и ждёт пока её отправят в основное окно) о тех же записях после поиска по БД.
Что я хочу: после поиска по БД отобразить информацию в датагриде основного окна.
Как я это пытался сделать:
использовал привязку к глобальной ObservablaCollection датагрида из основного окна, а в методе передачи данных сперва чистил эту коллекцию .Clear(), а затем пересоздавал примерно так
App.globalCollection= new ObservableCollection<MyType>(SearchWindowCollection);
В результате в основном окне был пустой датагрид, но сама App.globalCollection была с данными.
При замене кода пересоздания коллекции на заполнение с помощью foreach всё заработало как нужно. Разве привязка не должна ориентироваться на переменную, а не на объект где-то в памяти?
423 3201998
>>3201964
Пробовал делать NotifyChanged для свойства с коллекцией? Т.е. если в main window ты биндишься на Items, сделай NotifyChanged(nameof(Items)).
424 3202027
425 3202028
>>2859837

>говноланг


Ещё больший жир.
426 3202041
>>2859837
Голанг это кал для ебаньков.
427 3202058
>>3202041
Но в рф голанг прямо сейчас заменяет сишарп.
428 3202066
>>3202058
C точки зрения малолетнего долбоёба - безусловно.
429 3202068
>>3202066
Это был пук с точки зрения безработного скуфидона? Или ты провинциальный программист на заводе и за рынком совсем не следишь?
430 3202074
>>3202068
Это был пук в ебало малолетнего долбоёба у которого вместо мозга насрано.
431 3202097
>>3202058
Ну и ладно, чо.
432 3202154
>>3202058
Зачем? Может на Си сразу заменять, ещё удобнее будет
433 3202177
>>2971151
vim-like эдиторы ставишь и кайфуешь
434 3202581
Хз, братва, вижу что на пхп достаточно много проектов стартует, перспективный язык. Добавили енамы, скоро подвезут дженерики, будем кататься в масле. Ещё через пол годика поди завезут статический анализ, хотя он и нахуй не нужен, есть пхп стан. Так что перекатываемся на единственно верный язык для веба - пхп. Шарп не нужен. Майкрософт уже давно некоторые круды переписывает на пхп 8й версии. Думаем.
435 3202867
>>3202581
После этих слов в треде начался сущий кошмар
436 3202884
>>3201937
Они во всех di библиотеках одинаково называются
437 3202992
>>3202884
В большинестве вообще никак не называются, просто есть параметр которым управляешь логикой инстанцирования.
438 3203148
>>3201998

>Пробовал делать NotifyChanged


Нет. Но на всякий случай загуглил - устарело не менее 7 лет назад. Но идея интересная, надо глянуть. А вообще, я и так с не особо свежим шарпом работаю, а тут выходит ещё большее погружение.
439 3203199
>>3193933
Пиздабол. Приведи хоть один пример такого
440 3203215
>>3202992
Что? Ты везде регистрируется как transient, scoped или singleton. Где-то ещё есть per web request, что просто является частным видом scoped.
Это так в NInject, Castle Windsor, Autofac и нынешнем встроенном DI ASP.NET Core.
Я абсолютно уверен, что у жаб оно так же называется.
441 3203792
>>3203148

>Но на всякий случай загуглил - устарело не менее 7 лет назад


А что сейчас модно и молодежно?
442 3203823
>>3201964

>Как я это пытался сделать:


использовал привязку к глобальной ObservablaCollection датагрида из основного окна, а в методе передачи данных сперва чистил эту коллекцию .Clear(), а затем пересоздавал примерно так

>App.globalCollection= new ObservableCollection<MyType>(SearchWindowCollection);



ObservableCollection уведомляет только, если ты меняешь итемы. Но если ты меняешь сам экземпляр коллекции, то никаких уведомлений для твоей вьюшки естественно не произойдет. Поэтому свойство, содержащее коллекцию тоже должно вызывать PropertyChanged (гугли INotifyPropertyChanged).

Во-вторых, проблема ObservableCollection в том, что привязка может одномоментно зафиксировать изменение только одного итема, поэтому там нельзя как в List добавить\удалить несколько итемов за один раз. Даже если ты обманешь систему и создашь свою кастомную коллекцию, наследующую ObservableCollection, и реализуешь методы AddRange или RemoveRange, то они просто так не сработают. В связи с чем возникают вопросы относительно метода Clear, потому что в данном случае он будет работать как RemoveRange и при помощи цикла удалять по одному итему с вызовом события по каждому такому удалению.
Но это так, просто пища для размышлений на тему того, что ты решил обойти отсутствие AddRange и RemoveRange. Поэтому у тебя два пути:
1. Ты оставляешь как есть, и правишь только один ридонли экземпляр коллекции: очищаешь итемы и циклом заполняешь.
2. Либо переделываешь свойство коллекции в INotifyPropertyChanged. Это вариант более предпочтителен хотя бы потому, что у тебя может быть несколько баз данных. В этом случае не нужен Clear, если тебе нужно один список заменить на другой.

Ну и еще. Ты не спрашивал, но читая про mainWindow и searchWindow, второе окно мне напомнило фильтрацию списка. Это так называемый список-прокладка между твоим датагридом и оригинальным списком данных, в котором содержатся только отфильтрованные элементы по правилу, которое ты сам создаешь. Этих правил может быть множество.
Грубо говоря, ты мог бы сделать только одно окно mainWindow, но со строкой поиска и каким нибудь комбобоксом или чекбоксами, при помощи которых ты бы отображал только фио и возраст, а все остальное скрывал.
Тутор: https://youtu.be/wpBRHNDFXYI

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

>>3203148

>Но на всякий случай загуглил - устарело не менее 7 лет назад.


Возможно он так сократил INotifyPropertyChanged, потому что я не слышал, чтобы это устарело, к тому же коллекция ObservableCollection сама реализует INotifyPropertyChanged и INotifyCollectionChanged.
442 3203823
>>3201964

>Как я это пытался сделать:


использовал привязку к глобальной ObservablaCollection датагрида из основного окна, а в методе передачи данных сперва чистил эту коллекцию .Clear(), а затем пересоздавал примерно так

>App.globalCollection= new ObservableCollection<MyType>(SearchWindowCollection);



ObservableCollection уведомляет только, если ты меняешь итемы. Но если ты меняешь сам экземпляр коллекции, то никаких уведомлений для твоей вьюшки естественно не произойдет. Поэтому свойство, содержащее коллекцию тоже должно вызывать PropertyChanged (гугли INotifyPropertyChanged).

Во-вторых, проблема ObservableCollection в том, что привязка может одномоментно зафиксировать изменение только одного итема, поэтому там нельзя как в List добавить\удалить несколько итемов за один раз. Даже если ты обманешь систему и создашь свою кастомную коллекцию, наследующую ObservableCollection, и реализуешь методы AddRange или RemoveRange, то они просто так не сработают. В связи с чем возникают вопросы относительно метода Clear, потому что в данном случае он будет работать как RemoveRange и при помощи цикла удалять по одному итему с вызовом события по каждому такому удалению.
Но это так, просто пища для размышлений на тему того, что ты решил обойти отсутствие AddRange и RemoveRange. Поэтому у тебя два пути:
1. Ты оставляешь как есть, и правишь только один ридонли экземпляр коллекции: очищаешь итемы и циклом заполняешь.
2. Либо переделываешь свойство коллекции в INotifyPropertyChanged. Это вариант более предпочтителен хотя бы потому, что у тебя может быть несколько баз данных. В этом случае не нужен Clear, если тебе нужно один список заменить на другой.

Ну и еще. Ты не спрашивал, но читая про mainWindow и searchWindow, второе окно мне напомнило фильтрацию списка. Это так называемый список-прокладка между твоим датагридом и оригинальным списком данных, в котором содержатся только отфильтрованные элементы по правилу, которое ты сам создаешь. Этих правил может быть множество.
Грубо говоря, ты мог бы сделать только одно окно mainWindow, но со строкой поиска и каким нибудь комбобоксом или чекбоксами, при помощи которых ты бы отображал только фио и возраст, а все остальное скрывал.
Тутор: https://youtu.be/wpBRHNDFXYI

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

>>3203148

>Но на всякий случай загуглил - устарело не менее 7 лет назад.


Возможно он так сократил INotifyPropertyChanged, потому что я не слышал, чтобы это устарело, к тому же коллекция ObservableCollection сама реализует INotifyPropertyChanged и INotifyCollectionChanged.
443 3203836
>>3203823
Ах да, не помню точно, но вроде как у меня возникала проблема, когда циклом добавлял элементы в ObservableCollection, и если они добавляются слишком быстро, то возникают траблы с обновлением привязки. Точно не помню как я это решил, надо посмотреть.
444 3204185
>>3203215
Не согласен.
445 3204792
Как в этом языке-шутке добавить глобальный префикс для моих контроллеров? Ответ официальной доки - заюзать мидлтварь, лол. Так и она не работает. usePathBase тоже. Я в ахуе просто с этого языка, пойду сейчас 20-ти контроллерам проставлять всё вручную.
446 3204796
>>3204792
У всех работает, а у тебя не работает...
Вот ведь оказия какая!
447 3204992
Как устроена привязка к свойству? Я знаю про мягкие ссылки и мягкую подписку, и про событие PropertyChanged, которое содержит имя изменяемого свойства, и что обязательно должна быть связка DP + INPC или DP + DP, но не INPC + INPC. Но вот что конкретно меня интересует. Допустим мне во вьюшку приходит экземпляр модели и я хочу отследить изменение определенного свойства этой модели.

Способ 1. Я могу подписаться на PropertyChanged, а потом устроить что-то вроде if с проверкой имени изменяемого свойства. Проблема в том, что это событие будет возникать гораздо чаще, чем будет изменяться интересующее меня свойство. Плюс проверка стрингов как-то не очень эффективна на мой взгляд, особенно когда свойств будет несколько десятков.

Способ 2. Я могу создать подписку при помощи
BindingOperations.SetBinding, ну или обычным биндингом в XAML. Но вопрос в том, как эта привязка работает, и будет ли она более эффективной, чем вышеописанный способ 1? Потому что для привязки указывается путь к привязываемому свойству в виде той же строки, и это выглядит так, что она подписывается на все тот же Source.PropertyChanged и все так же при помощи Path определяет необходимое свойство.
448 3205194
>>3204796
Ну вот, ради такой простой задачи приходится вешать целый мидлварь. Вопрос - нахуя и зачем? Почему в языке в котором есть рефлексия нет фичи которая при сборке бы проходилась по всем контроллерам и добавляла бы к их роуту префикс?
449 3205215
>>3205194
Очевидно потому что никто дальше хотелки не ушёл, а текущее решение позволяет менять префикс глобально для всех путей, динамически, несколько раз и не ломая логику всех обработчиков которые не знают про префикс. И даже ты пришел просто повонять, но не сделать хоть что то.
Пиздеть не мешки ворочать.

Хуёвое но быстро работающее решение это патчить дерево по которому подбирается эндпоинт один раз при запуске.
450 3205244
>>3205215
Я не воняю, у меня просто боль что есть много вещей которые а) делаются миллионом разным путей и приходится ещё определять который из способов актуален для моей платформы и не похерит мне всё после внедрения и б) делаются длинной и зачастую не самой интуитивной мишурой из кода.
451 3205594
>>3205244
Ну так переключись на другой язык, где тебе все понятно и удобно и от которого ты будешь кайфовать.
452 3205620
>>3205594
Ну если бы на расте была работа я бы тут не ныл
453 3205625
>>3205244

>Я не воняю, у меня просто боль что есть много вещей которые а) делаются миллионом разным путей и приходится ещё определять который из способов актуален для моей платформы и не похерит мне всё после внедрения и


Увы, это так везде.

>б) делаются длинной и зачастую не самой интуитивной мишурой из кода.


Не бывает так, чтобы все вещи всегда делались легко и просто. Обычно делают так, чтобы наиболее часто используемые вещи делались просто, а всё остальное как получится.
Мне вот за 10 лет разработки веба на шарпе ни разу не приходилось делать так, чтобы у всех контроллеров в проекте были одинаковые префиксы.
454 3205636
>>3205625
Его задача с префиксами решается за один вызов метода. Скорее всего он просто не разобрался с подходом работы мидлвэеров и влепил юзпасбэйс куда нибудь в самый конец
1719526518945204.jpg100 Кб, 1387x550
455 3205838
Не забывайте!
456 3205861
>>3205838
походу джуны позвонили в 911
457 3205941
>>3205861
Обосрался
458 3206415
Как в net 8 пректе нацеленном на win выставить х86 платформу (надо т.к. используются native библиотеки к одной железке которые строго x86)? Когда выставляю в настройка проекта х86 не собирается:

error NETSDK1032: The RuntimeIdentifier platform 'win-x64' and the PlatformTarget 'x86' must be compatible

В гугле ничего путного не находит.
459 3206421
>>3206415
трай сборку с -r win-x86
460 3206424
>>3206421
А как это сделать под VS? Я не из командной строки собираю.
461 3207271
Я подкатыш, подскажите пжл
Блейзор ковыряю, хочу сделать отдельной либой дтохи, но в одной из дтох используется интерфейс блазора.
Я думал что достаточно адд пэкейдж этого неймспейса сделать, он загрузился, но сук именно нужного интерфейса почему-то там нет, шо за хуйня?
Про IBrowserFile речь в AspNetCore.Components.Forms

Скорее всего я что-то горожу фундаментально неправильное, буду благодарен если поправите
462 3207276
>>3207271
Тебе нужно указать что либо юзает асп кор
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/target-aspnetcore
463 3207289
>>3207276
Ой, вместо Forms там Web оказывается, не то подтягивл. Спасибо спасибо
464 3207314
Шарпаны, есть вопрос.

Есть сервис, который читает сообщения из рэббита, сообщения (json-ы) из очереди имеют три разных типа. Тип в данном случае - это enum, который записывается в одном из полей сообщения, и в зависимости от типа идёт сохранение в соответствующий репозиторий.

сейчас тип проверяется с помощью switch и на каждом case идёт сохранение в соответствующий репозиторий.

Есть идея заменить switch на словарь, то есть, в классе обработчика сообщений будет поле:

IDictionary<MessageDataType, Func<Message, Task>> _handler = new IDictionary()
{
MessageDataType.Software, async (Message msg)
{
await _softwareRepository.SaveAsync(msg);
}
};

в методе получение сообщения будет вызов:

await _handler[msg.DataType].Invoke(msg);

Насколько сильно это может ускорить обработку, если сообщений может быть несколько тысяч?
465 3207342
>>3207314
Что то мне говорит что внутренняя логика сохранения в несколько порядков дольше работает чем выбор куда сохранять.
Ты бы в начале трейсы собрал а потом уже что то делал. Сейчас ты тычешь в небо.

И несколько тысяч месседжей это копейки. Тестил не так давно асп кор на рпс, весь стандартный для веб сервиса пайплайн аспа + достаточно средней тяжести логики выдавал 5-6к рпс, а дальше упирался в гигабитную сеть -_-
466 3207509
>>3207314

>Насколько сильно это может ускорить обработку


Нинасколько, switch быстрее, тем более по enum-у.
image.png225 Кб, 761x396
467 3207527
>>3207314

>ускорить обработку

468 3207538
>>3207342
Сохранение идёт в redis
469 3207549
>>3207538
И? Это уже сериализация и перегонка байтов по сети + работа редиски и не забывай что при получении с рэбита делается тоже куча вещей. А ты пытаешься сэкономить время на одном вызове (и как выше сказали хочешь сделать даже хуже чем есть).
Сделай замеры хотя бы прикрутив тот же otel, а потом приходи к нам. Никто не любит таких мамкиных оптимизаторов которые думают что вот точно сделают лучше и ускорят весь пайплайн но даже не знают где теряется время
470 3207629
>>3207314

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


Никогда так не делай. Ты охуеешь потом разбираться в коде. Свич у тебя вот он весь перед глазами, а словарь ебаный заполняется хуй пойми где.
471 3207715
>>3207629
Вопрос удобства сопровождения кода. Со словарем ты тупо можешь загонять в него логику из конфига или БД, а со свичом тебе при каждом изменении придется лезть в код, где этот switch может быть запрятан хер знает где, в то время как словарь обычно сразу в начале класса болтается в private readonly, или где-нибудь в инициализации.
472 3208512
Помогити.

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

Как мне их запастись "впрок" чтобы чуть ли не каждый цикл к ней не обращаться? Как это будет выглядеть на Языке? Спасибо.
473 3208540
>>3208512

>Как мне их запастись "впрок"


Складывай их за щеку, а потом проверяй.

Какой вопрос - такой ответ.
474 3208566
475 3208717
Как делать кастомную десериализацию в рекорды? Какие есть правильные подходы?
2024-07-0111-49-22.jpg27 Кб, 1586x222
476 3208719
>>3208512
Я видел подобное в библиотеке Whisper.net
Там идет распознавание речи с аудио или видео, и ты при помощи асинхронного цикла, каждую итерацию получаешь строку субтитров с временным диапазоном (пикрил 1). Можешь эту либу поковырять и посмотреть как устроено.

Так же ты можешь запустить асинхронный метод, который выдает результат при помощи вызова события. Так работают, к примеру анимации в WPF - там есть событие когда анимация полностью завершена и событие для каждого шага анимации.

Или такое используется в именованных каналах (NamedPipe). Причем подписка на событие идет прям в момент запуска метода. Я видел и такое. Мне надо было передать информацию из одного приложения в другое, и я пользовался NamedPipe. Как только одно приложение отправляет данные, то второе приложение при помощи события эти данные получает.
477 3208819
>>3208719
Спасибочки большое, анонче! Посмотрю! Очень хорошо разжевал.
2024-07-0114-55-14.jpg15 Кб, 1045x252
478 3208914
>>3208819
Да ты не спеши с благодарностью. Там по каждой теме я несколько дней ковырялся.

По поводу метода с событием. Чтобы ты понимал в какую сторону копать, возьмем например именованные каналы: на скрине асинхронный метод BeginRead принимает делегат типа AsyncCallback - сюда ты пихаешь ссылку на метод, который будет вызываться изнутри асинхронным методом по каким-то там твоим условиям. Обычно указанный метод вызывается по завершению работы асинхронного метода, потому что делегат возвращает только успешность завершения метода

> public delegate void AsyncCallback(IAsyncResult ar);



Если тебе нужно, чтобы метод вызывался всякий раз, когда набирается определенное количество байтов, то вероятно нужен какой-то свой делегат, чтобы ты мог передавать через него данные.
Но лучше пойти по пути Whisper.net, я просто тогда о таком варианте не знал.
3123123213.png23 Кб, 763x271
479 3209121
Такой нубский вопрос:
Создаю двумерный массив
int [,] govno = new int [2,2];

Я правильно понимаю что кол-во элементов в этом массиве будет 9? Пушто считается с нуля типо. Если да, то как нахуй отобразить эту парашу нормальным образом? У меня получается только 4.
480 3209140
>>3209121

> Я правильно понимаю что кол-во элементов в этом массиве будет 9?


Нет. Когда ты пишешь new int[n, m], ты сразу указываешь сколько там будет элементов, а не ебешься с индексами. То есть в итоге в массиве элементов будет 4.
481 3209155
>>3209140
Блядь, а какой осёл вообще придумал с нуля считать ну нахуя? Я путаюсь постоянно блядь, заебало это программирование нихуя не понятно везде анал карнавал
482 3209163
>>3209155
Ну и иди нахуй, не для тебя долбаеба делали.
483 3209167
>>3209140
>>3209155
Падажжи чего блядь!?
new int [2,2] если представить в виде таблицы получается
Х Х Х
Х Х Х
Х Х Х

Иначе никак, ибо если обратится к элементу массива int[0,0], то это будет первая строка первый столбец. [1,1] вторая строка второй столбец.
Следовательно,[2,2] это третья строка и третий столбец. Ну вот где я не прав, ну давайте, обоссыте блядь и тут меня.
484 3209174
>>3209167
А теперь создай двумерный массив в котором 0 элементов. Посмотрим что ты придумаешь
485 3209196
>>3209167

> new int [2,2] если представить в виде таблицы получается


> Х Х Х


> Х Х Х


> Х Х Х


Я же тебе сказал, [2, 2] здесь это количество строк и столбцов. Я хз, как ты увидел в

> Х Х Х


> Х Х Х


> Х Х Х


2 столбца и 2 строки
486 3209411
>>3208719
>>3208914

Так он же сказал, что можно сразу много байтов запросить за раз, если нужно.
487 3209428
>>3209121

>int [,] govno = new int [2,2];


>Я правильно понимаю что кол-во элементов в этом массиве будет 9?


В VB.net указывается максимальный индекс, а в C# указывается количество элементов. В VB.net это тянется с VBA, где коллекция начиналась с единицы, а не нуля, поэтому максимальный индекс и количество элементов совпадали. Потом VB стал таким же как и шарп — индекс начинался с нуля, но объявление оставили как есть т.е. по максимальному индексу.

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

>>3209155

>Блядь, а какой осёл вообще придумал с нуля считать ну нахуя?


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

Система шарпа требует меньше телодвижений в этом плане.
488 3209434
>>3209411
Ну как я понял, он сам не понял как лучше сделать.

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

Поэтому там при помощи цикла ты обращаешься к функции и берешь готовые куски, потом в теле цикла эти куски объединяешь, ну или что-то делаешь еще.

Ну и в целом, в большинстве случаев обен идет пакетами данных. Никто не пересылает огроменный кусок байтов.
489 3209765
Шарпаны, есть список из интов:
List<int> numbers = [10, 20, 30, 40, 50];
Как из него вытащить N рандомных элементов?
490 3209835
>>3209765
YourList.OrderBy(x => rnd.Next()).Take(N)
491 3209855
>>3209835
Стаковерфловер, ты?
Точно такой же код загуглил, но он не всегда возвращает N сообщений, иногда меньше.
492 3209890
>>3209835
Я не понял, что произошло, но .ToArray() в конце сделало это рабочим.
image.png193 Кб, 1481x964
493 3209892
>>3209855

>Стаковерфловер, ты?


>Точно такой же код загуглил, но он не всегда возвращает N сообщений, иногда меньше.


Попизди мне еще тут.
494 3209896
>>3209890

>Я не понял, что произошло, но .ToArray() в конце сделало это рабочим.


Меньше смотри видосиков от индусов и читай мануалы, чтобы понимать как LINQ работает. Иначе хуй ты сможешь нормально с ним работать.
495 3209904
>>3209892
>>3209896
Простите, был неправ. У меня вообще нет понимая, как ваш Шарп работает, делаю задачку для учебы с помощью Гугла.
496 3210031
Если есть голый проект NET 8 который таргетирован на андроид, как в нём можно получить текущую активность?
497 3210238
Посоветуйте годный видео-курс для самых самых вкатунов. Желательно по структурам данных и типизации. А то эти ваши листы, словари, енумераблы и Class[] ломают мне мозг после PHP.
498 3210240
>>3210238
Что ты хочешь от людей которые заводят треды без перекатов.
499 3210258
>>3210238

Это простая штука и вообще универсальная для любого языка
У вас кста в пэхапэ все работает как словарь = хэштаблица
А лист це двусвязный список или же динамический массив, при котором не нужно ручками менять размер массива или выделять память самому и хранится он уже на куче, а не на стеке
Может косноязычно описал, но суть передал

Алсо реквестирую примеры симпл код шаблон дтох в контроллерах, а то попадается только где в контроллере сразу используется модель
500 3210263
>>3210258
Даже обозвать можете как-нибудь, но киньте код,,,,
501 3210277
>>3210263
Ищи "C# для маленьких и тупых" от ExtremeCode:
https://www.youtube.com/watch?v=86KLS8das2k&list=PLuGqgO5WmeGPTZqDHZDIum3h7HnfBfzmZ

Его же товарищ SimpleCode разъясняет на более серьезных щах:
https://www.youtube.com/watch?v=KyFWqbRfWIA&list=PLQOaTSbfxUtD6kMmAYc8Fooqya3pjLs1N
502 3210278
>>3210277
Кликай по ссылкам и перейдешь на плейлист
2024-07-0300-34-02.jpg118 Кб, 1397x849
503 3210286
>>3210277
Это когда у булеана был размер в один байт? У него четыре байта.
504 3210406
>>3210286

>Это когда у булеана был размер в один байт? У него четыре байта.


Байтоебство без причины - признак дурачины. В шарпе, это может быть и 1 байт и 2 и 4 и 8, все будет зависеть от архитектуры на которой CLR ворочается и до какого значения оно будет выравниваться.
А если более глобально, то если ты не вылезаешь за пределы x64 архитектуры, то тебе должно быть вообще похуй сколько там байт за каким типом в шарпе сидит (ну может только за исключением decimal, да и то больше по другим причинам)
505 3210829
>>3208717
а) берешь
и
б) делаешь

какие проблемы то?
506 3211329
>>3210829
Например рекорды неизменяемы а десериализатор должен заниматься всякими рекурсинвыми проходами по объектам, так что либо оверхед по копированиям одного и того же либо какой-то изврат с временными переменными, вот собственно и хочеццо посмотреть как это правильно делается.
507 3211474
>>3211329
А какая разница между рекордом и любым классом который инстанцируется через конструктор с параметрами?
508 3211648
>>3211474
Так десериализация работает после инстанцирования и инициализации. Или там какая-то сложная параллельная техника когда ты сначала десериализуешь куда-то а потом уже инициализируешь рекорд. Но тут получается все равно оверхед будет, миниимум лишнее копирование.
image.png1,1 Мб, 960x720
509 3211810
>>3211329
>>3211648
Чел, в таких случаях, если у тебя так зудит, ты берешь и делаешь бенчмарк, где выясняешь что с какой скоростью работает и сколько аллоцирует памяти. Если не знаешь как - изучи, это несложно и быстро.
По факту, большинство сценариев использования рекордов подразумевают, что ты работаешь либо по заветам дяди Боба, либо функциональщиков, а там вопросы оптимизации и рядом не стоят.
510 3211897
Как объединить коллекцию и асинхронное перечисление?
Допустим мой метод возвращает IAsyncEnumerable, сам он сначала получает коллекцию (из кэша) а потом у сервиса запрашивает IAsyncEnumerable, я думал прокатит для первого yield return а потом вернуть IAsyncEnumerable, но нет, в лоб дает вернуть только одно из двух.
511 3212003
>>3211648

>Так десериализация работает после инстанцирования и инициализации


кто сказал? Есть десериализация и через конструктор, просто она требовательна к именам параметров.

Есть и другой путь - ты можешь инстанцировать рекод задав default для каждого параметра. А ужо потом выставить значения свойств как это делает тот же Dapper - то есть с помощью рефлексии пишет в бэкингфилд. Можешь стыбзить у него алгоритм детекта имени бэкингфилда и пиши себе.
15197554593941.jpg1,1 Мб, 900x900
Зачем я хочу учить шарп? 512 3212040
Посоны, я хочу перекатиться из своей гуманитарной залупы и попробовать в программирование. Выбрал шарп, потому что вроде как не самый звездец, в юнити используется и т.п.
Но тут чекнул объявления в своей мухосрани: сишарп вакансий в принципе почти нихера нет. Ну может какой-нибудь юнити девелопер за 60к. Звучит как какая-то хуйня, когда рядом объявления 1с программиста за овер100к.

Можете неграмотному объяснить, что я не обосрался с выбором языка и меня не ждёт зарплата в 60к максимум (ясен хуй я ленивая жопа и ничего не выучу, но даже если выучу, то меня точно не возьмут в тинькоф жрать круасаны, потому что я без опыта). Короче что в принципе делает шарпист в 2024 году?
513 3212043
>>3212040
Работает шарпист.
Но ты вкатывайся в 1эсс или перл
514 3212056
>>3212043
Я же явно не отберу твой кусок хлеба. Скажи нормально, чем сейчас занимаются шарписты.
515 3212122
>>3212040

>что я не обосрался с выбором языка


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

>в юнити используется


Синтаксис языка это 5% от всего остального, что тебе придется знать. В юнити свои библиотеки. Помимо прочего, нужно знать и сам юнити. Так что считай это новый сишарп.
Тоже самое и с анрил энжин — там C++ это не обычный C++, там даже примитивные типы заменены на свои собственные, не говоря уже о стандартных библиотеках.

>>3212056
Ты отравлен мыслями о деньгах, и думаешь, что другие такие же. Анон молчит не потому, что боится потерять кусок хлеба, а потому, что такие, как ты, появляются здесь регулярно, но после расспросов о вакансиях не возвращаются никогда, потому что их мало интересует язык — им интересен треп на бесполезные темы.

Если ты хочешь, чтобы тебя покормили темами о зарплатах и вакансиях, то обратись к инфоцыганам типа Скаутина или Дударя — это их хлеб.
516 3212127
>>3212040

>и меня не ждёт зарплата в 60к максимум


Ждет. На первое время даже меньше чем 60К.
Вот если сумеешь продержаться хотя бы год, тогда у тебя будет шанс въехать в более высокие зарплаты. Но для этого нужно будет въебывать так, как ты себе даже представить не сможешь.
517 3212239
Пора перекат?
518 3212250
>>3212239
Перекат запрещён пока не будет разрешён вопрос >>3211897

супермодератор
519 3212270
>>3212122
А в чём претензия к Скакутину? Собирался учиться по его книге и курсу.
>>3212122
>>3212127
Да вы на вопрос-то не ответили. Я ж говорю, в моей мухосрани сейчас видел только одну вакансию - юнити разраб. Какие ещё варианты для шарписта? Остальных вакансий на другие языки хоть жопой жуй.
520 3212306
>>3212270

>А в чём претензия к Скакутину? Собирался учиться по его книге и курсу.


Чел, если ты сам не можешь объективно по имеющейся открытой информации (по его собственному каналу хотя бы) оценить почему Ромка говноед и качество выдаваемого им контента, то может быть разработка это не твое?

>>3212270

>в моей мухосрани сейчас видел только одну вакансию - юнити разраб. Какие ещё варианты для шарписта?


Очевидный - рассматривать вакансии в других городах.
Если конкретные направления:
1. упомянутый тобой юнити и около геймдев - не советую, зарплаты низкие, потогонка, опыт специфический, не пригождающийся за пределами геймдева почти никогда
2. десктоп разработка. Тут есть два варианта
2.1. Корпоративный софт (часто внутренний) и разработка всяких специфического софта (вроде САПР-ов или еще каких-нибудь инженерных и около того программ) - требуется хороший опыт десктоп разработки, понимание ОС на которой это будет крутиться, часто предметной области и даже вышки. Зарплаты не очень большие, но есть места где платят очень хорошо, плюс можно попасть на реально интересный проект. Но новички там обычно не нужны.
2.2. Всякие заводы и бюджетные конторы с самописным софтом для теть срак из отдела кадров и бухгалтерии. Крайне не советую. Вкатиться легко, но хер потом из этого вылезешь. Низкие зарплаты, паршивые условия и опыт который не пригодится потом нигде (даже в предыдущей категории). И никакой удаленки.
3. Веб разработка. Хорошие зарплаты, много удаленки, много вакансий. Большая конкуренция на вкате. Надо хорошо знать не только язык, но и мейнстримовые фреймворки (ASP.NET, EF и т.д.), SQL, очереди, докеры, паттерны и всякие солиды-хуелиды и дохуя чего еще. Плюс надо учитывать, что от новичков часто требуют фулстек экспириенса, так что придется изучать что-нибудь вроде React-а или Angular-а.
521 3212319
>>3212270

>А в чём претензия к Скакутину? Собирался учиться по его книге и курсу.


Он инфоцыган — соответственно, пользуется слабостями вкатунишек. Устраивал показательные срачи с другими инфоцыганами. Есть большая вероятность, что ты будешь отвлекаться на что-то еще, кроме кодинга, либо автор будет смещать фокус проблемы на какую-то ненужную шелуху.

Как в том туторе про валидацию данных текстбокса в WPF, где один дебил по кличке Дударь делал валидацию If-ами внутри обработчика события Click кнопки, а другой дебил по кличке Сакутин назвал первого плохим программистом и пытался заменить if-ы паттерном "строитель", хотя самого главного они не сказали: в WPF для валидации данных есть ValidationRule и с этого надо начинать, и тогда не нужны никакие флоу интерфейсы и прочий кал. В итоге развели суету, покидались говном, впечатлили вкатунов знаниями паттернов, а код как был в своей основе говном, так таковым и остался.

Но в целом, от просмотра Сакутина, приступы тошноты должны появиться естественным образом, даже если ты не знаешь всего того, что я написал выше. Должен ощущаться некий вайб человека, у которого украли душу.
Ну а если к личности Сакутина вопросов нет, то можешь смотреть.
522 3212323
Подскажите пж пж
Запрашиваю лист сущностей, которые содержат в моделе айдишник и экземпляр другой сущности
Хочу обратиться к экземпляру другой сущности через запрошенные, но не могу... это не так работает? Чому-то казалось что оно автоматом запрашиваться будет, если запрашиваю первые
523 3212346
>>3212306

>Чел, если ты сам не можешь объективно по имеющейся открытой информации (по его собственному каналу хотя бы) оценить почему Ромка говноед и качество выдаваемого им контента, то может быть разработка это не твое?


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

>Если конкретные направления:


Вот за это спасибо.
>>3212319

>Он инфоцыган — соответственно, пользуется слабостями вкатунишек. Устраивал показательные срачи с другими инфоцыганами. Есть большая вероятность, что ты будешь отвлекаться на что-то еще, кроме кодинга, либо автор будет смещать фокус проблемы на какую-то ненужную шелуху.


Т.е. не читал, но осуждаю? У него на 9 часов бесплатный курс, где больше половины курса вообще другой хрен обучает. Прокликал по диагонали - вроде никаких показательных срачей там нет. Единственное, что я понял с просмотра некоторых видосов Сакутина, что все остальные говно он топит за нейминг из документации к языку и поливает остальных говном.
524 3212444
>>3212250
никак. перекатывай.

И ни в коем случае не делай foreach yield return для кешированной коллекции, и то же самое потом для IAsyncEnumerable.
525 3212588
>>3212323
Вместо помощи обсуждаете инфоцыгана который не прогал ни разу
526 3212590
>>3212346

>Т.е. не читал, но осуждаю?


Я тебе буквально привел пример из его туториала про валидаторы.

>Прокликал по диагонали - вроде никаких показательных срачей там нет.


А его канал не ограничивается этим говнокурсом.

>У него на 9 часов бесплатный курс


Помню как его форсили. Типа "курс слили, скорее набегайте, а то удалят". Когда меня считают идиотом и скотиной еще на этапе заголовка, то ничего стоящего внутри точно не будет. А когда этот же курс потом переименовывают в "весь C# за 9 часов", то что можно сказать об этом? Что-то уровня С++ за 21 день.
527 3212603
>>3212323
Ты покажи код и какое исключение выдает.
Код кидай через https://pastebin.com/

Но из тобою описанного, все должно работать, кроме нескольких случаев:
1. По каким-то причинам на момент присваивания ссылки на экземпляр сущности, у тебя там оказался null.
2. У тебя мягкая ссылка (WeakReference) — тогда экземпляр может быть уничтожен GC.

Откинем второй случай, иначе бы ты об этом упомянул.
А если первый, то прежде чем обращаешься к свойству экземпляра, ты должен проверить существует ли экземпляр.

Есть два варианта условного свойства. Первый:

> public string Text { get; set; } = string.Empty;


В этом случае свойство не может быть null. Тебя даже студия заебет тем, что свойству ничего не присвоено. Именно поэтому я присвоил string.Empty, что равносильно

> Text = "";


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

> Console.WriteLine(Text.Length)


и не получить исключения. При этом ты не можешь такому свойству присвоить null.

Второй вариант:

> public string? Text { get; set; }


Тоже самое, только после string стоит вопрос. Это значит, что твоя переменная nullable. Она может быть пустой, а если она может быть пустой, то ты ОБЯЗАН проверить свойство на существование экземпляра. Например:

> if(Text != null) { Console.WriteLine(Text.Length); }


Есть сокращенная форма проверки, но об этом ты узнаешь потом.

Так вот, рассматривая твою проблему, у тебя может быть nullable свойство, в котором как раз и хранится null на момент, когда ты к этому свойству обратился. Может быть ты этому свойству что-то присваивал, но ведь факт присваивания чего-то не гарантирует, что присваиваемое не равно null, правда? Ты же не проверял?
528 3212611
>>3212603
Рассмотрим первый вариант свойства, который не может быть null.

Есть такой класс KeyGesture, который хранит данные о сочетании клавиш. У него есть свойство Key, который хранит код клавиатурной клавиши. А так же свойство Modifiers, которое хранит коды клавиш модификаторов(Control, Shift, Alt).

Так вот, у этого класса не существует стандартного конструктора, в котором нет параметров:

> var gesture = new KeyGesture(); //это работать не будет



Зато есть вот такой конструктор, запрашивающий код клавиши

> var gesture = new KeyGesture(Key.R);


Либо запрашивающий код клавиши и код клавишей-модификторов

> var gesture = new KeyGesture(Key.R, ModifierKeys.Shift);



Ты обязательно должен указать хотя бы код клавиши, чтобы создать экземпляр KeyGesture. Зато при обращении к свойству gesture.Key тебе не надо проверять его на null. Ты всегда можешь быть уверен, что там есть значение.
529 3212621
>>3212590

>Я тебе буквально привел пример из его туториала про валидаторы.


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

>А его канал не ограничивается этим говнокурсом.


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

>Что-то уровня С++ за 21 день.


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

Короче, давай я попробую переформулировать вопрос: как энтри левел, чтоб получить какие-то грамотные основы, книжка и курс Сакутина - норм, или есть гораздо более хорошие варианты?
530 3212689
>>3212621

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


Этому везде учат. Почти в каждом гайде/книге по шарпу есть абзац, что нехуй экономить буквы и писать надо так, чтобы было понятно что переменная содержит.
531 3212694
>>3212621

>конкретно подкупает, что он упирает на то, что только он такой умный


На это и расчет.

>Меня конкретно подкупает, что он упирает на то, что только он такой умный, что учит сразу писать понятный код с нормальными наименованиями


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

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

> есть гораздо более хорошие варианты


Симпл код, хотя я бы книгу навернул. Не знаю что там щас актуально.
532 3212788
А как юнит тесты делать под net 8 с таргетом на андроид? И так и сяк пробовал вручную nunit прикрутить, ничего не выходит.
533 3214799
>>3212323
Дай угадаю EF? Используй Include()
534 3214849
АРРРЯЯ КУРСЫ КУРСЫ КУРСЫ
@
ТАМ УМНЫЙ ЧЕЛОВЕК, СРАЗУ УЧИТ ПИСАТЬ ПОНЯТНЫЙ КОД!!!
@
ДЕВЯТЬ ЧАСОВ ЮЕСПЛАТНОГО КАЛТЕНТА
@
ОООО КУРСЫ ЕБАТЬ ВИДЕО


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

Книга будет лучше какого-то чухана, что записал видео на Ютуб. А это именно чухан, чушок и чушпан, преследующий свои цели. Разбираться в этом говне – нахуя?
Вы случайно тут не продвижением этого дерьма занимаетесь? Мм? Код понятный писать учат, охуеть! Сука, пока год не поебешься, не будет нормальный читаемый код, никакой васян тебе не поможет, тут просто брать и писать, смотреть как у других и тренировать свою нейронку в голове

Единственный, наверное, норм вариант – курсы от контура, в которых они бесплатно готовили под себя. Там ещё и тренажёр для проверки. Только это все устарело, наверное
535 3215117
>>3214849

>Думайте


Я думаю, что ты дебил. То что работает для одного, не обязательно работает для другого. Один хорошо воспринимает информацию из книг, другой хорошо из видео. Если бы курсы были бы такой хуйнёй, то никто бы по ним не выучился, а таких дохуя. Может кто-то стал хорошим программистом, кто-то хреновым, но чему-то научился. Если твой кореш долбоёб, то это не курсы виноваты.
>>3212694

>Симпл код


А я начинал как раз с него и он, сука, через переменную а и б всё писал.
536 3215356
Шарит за блейзер кто?
Не могу понять, могу ли я из ссылки брать параметр и использовать его в онИнициалайзед().
В мануале вроде как параметры присваиваются уже ПОсЛе, но это же ссылка....
537 3215613
>>3215356
@page "/Page1/{id:int?}/

[Parameter]
public int Id { get; set; }

protected override void OnInitialized()
{
var uri = new Uri(Navigation.Uri);
var queryParams = Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery(uri.Query);
if (queryParams.TryGetValue("id", out var idValue))
{
Id = Int32.Parse(idValue);
}
Console.WriteLine($"OnInitialized called Id:{Id}");
}
538 3216017
>>3215117

>А я начинал как раз с него и он, сука, через переменную а и б всё писал.


Пиздеж
539 3216029
Можно ли как-то учитывать атрибуты майкрософтовской либы System.Text.Json для Newtonsoft.Json? Интересует атрибут [JsonIgnore].

У меня есть библиотека с классом, где расставлены атрибуты System.Text.Json.Serialization.JsonIgnore, но ньютнософтовский сериализатор эти атрибуты в упор не видит — ему нужен свой собственный атрибут.

Не буду же я во все библиотеки пихать ньютонсофтовскую библиотеку или игнорить свойства через резолверы?Глупость какая-то. Почему нельзя установить какое-то соответствие атрибутов?
540 3216051
>>3216029
Там вроде есть контракт резолвер который можно наследовать и пропатчить пару методов
541 3216070
>>3216051
Ну вот контракт резолвер я использую в качестве фильтра свойств. Мой резолвер проверяет имена свойств, и если имя совпадает со списком игонорируемых, то его сериализатор его тоже игнорирует.

Но это временное решение. Если сериализуется класс со сложной структурой и в котором есть совпадающие имена свойств, то такой подход может стать проблемой. Да и в целом, зачем расставлять тогда атрибуты [JsonIgnore]? Если по итогу ты все это вилкой чистишь?
542 3216075
>>3216070
Тебе в резолвер из base() прилетает лист мемберов вот и смотри что в нём и какие атрибуты, если что то не нравится то удаляй.
За сравнение названий полей по имени без привязки к типу пиздят ломами по хребту в приличном обществе
543 3216076
>>3216070
И вообще иди читай сорсы дефолтКонтрактРезолвера, там не рокет саенс
544 3216089
>>3216075

>За сравнение названий полей по имени без привязки к типу пиздят ломами по хребту в приличном обществе


Да жопой чувствовал, что этот совет со SO как всегда надежен как швейцарские часы.
545 3216138
>>3216070

>Но это временное решение.


Любое решение кроме выпиливания ньютонсофта в пользу System.Text.Json будет временным
546 3216169
После предыдущего ответа я успокоился и продолжил как есть, сюда давно не заглядывал, а, оказывается, зря.

>>3203792
ObservableCollection и фреймворки, реализующие mvvm. Про устарелость я не из бложиков инфу взял, а от майкрософта (сейчас попробовал ещё раз поискать и что-то не удалось).

>>3203823

> привязка может одномоментно зафиксировать изменение только одного итема


Благодарю, всё встало на свои места.

>Ну и еще.


В БД миллионы записей, пользователь ищет некоторую выборку и работает с ней, поэтому в mainWindow данные накапливаются из результатов поиска из searchWindow. Да и привычней заказчику работать с кучей окошек, чем делать одно мега-окно, в котором он (заказчик) точно накосячит.
547 3216182
>>3216169

>от майкрософта (сейчас попробовал ещё раз поискать и что-то не удалось).


вот вот. и "оф инва" элегантно превращается в высер одного человека который знает человека, который знает человека, который когда то купил лицензию на винду, и то с ноутом вместе

Что у нас с заменами? MVU(I)? А правда замена?
Ну конечно я люблю писать GUI кодом (но не в шарпе конечно - он для этого слабоват в выразительной мощи, это вам не котлин) и как быть с идеями типа Blend? никак? ну ок ок, я и не пользовался, но не скажу что не нужно никому. Внезапно в том же вебе верстальщики это отдельный класс работников и какой то хтмл юзают, а не чисто кодом пишут - видать они не понимают "устаревшести"
548 3217406
>>3216169
Если бы ты заглянул в ObservableCollection, то увидел, что коллекция реализует INotifyPropertyChanged и INotifyCollectionChanged т.е. то, что по-твоему устарело.

>а и привычней заказчику работать с кучей окошек


А как это отменяет фильтры? Просто у тебя окно может иметь определенные параметры фильтрации, или какой-то свой фильтр. Тогда ты можешь спавнить один класс окна сколько угодно раз. А так тебе придется под каждый тип поиска рисовать отдельное окошко.
549 3217712
Выдало ошибку The type initializer for 'Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.Mapping.NpgsqlBigIntegerTypeMapping' threw an exception. когда подключал готовую базу данных по этому гайду: https://metanit.com/sharp/efcore/7.3.php (в конце). Все делал по гайду.
550 3217769
>>3217712

>когда подключал готовую базу


Да хуй знает. Если под "подключал готовую базу" ты имеешь в виду Base First подход, то возможно где-то несоответствие твоих моделей и структуры в БД судя по тому, что на мапинг рукается. Алсо, проверь еще, чтобы пакеты npgwsql и ef соттветствовали друг-другу (чтобы не было так, что например один для .net8, а другой для .net9 и т.п.)
551 3218743
>>3217712
Давай схему бд и модели
552 3243836
>>3130752

>везде будет VS Code,


Лол
image.png235 Кб, 1390x1030
Xamarin 553 3246041
Что делать, если при запуске Xamarin нет изначального приложения?
b8ef3101dd053bc771d68680c4a1b1cd.jpg51 Кб, 682x1011
554 3266655
Девочки, 10 лет я молчал, но после того, как узнал что на двачах есть раздел по программированию, я решил поделиться наблюдениями о библиотеке Automapper, которую ненавижу всей душой.

Всё началось примерно 10 лет назад, когда "О, АРХИТЕКТОР" решил переписать наше приложение на микросервисы. Нам обещали DDD, чистую архитектуру, аспектно ориентированное программирование, полное покрытие интеграционными тестами, и всю прочую хуету, которую публиковали в то время на хабре.

Постольку, поскольку у нас был всего один домен (расчёт цены автострахования + админка), то микросервис у нас получился ровно один, и вся груда кода жила в одном дотнет солюшене.

Получили мы в итоге, естественно, хуй. Этот пидорас просто заменил DI контейнер на MediatR (сегодня не об этом), размазал код по хитровыебанной системе зависимостей проектов (Core.Domain, Common.Core, Shared.Common, Application.Interaces, BusinessLogiс.Domain, Core, Domain, где надо было архитектора лично спрашивать, в какую папку чего ложить, не дай бог промахнёшься). Естественно, как алмаз в корону архитектурного величия он въебал автомаппер. Сениур-дотнет-девелоперы подхватили модную тенденцию и автомаппером было захуярено всё. Буквально за два месяца проект превратился в ад, а через год от наших услуг отказались. Один и тот же класс учавствовал в двух, а иногда и трёх маппингах. Все маппинги были сложены один класс, разумеется, общий для всей кодовой базы. Сколько тысяч сторок кода я не помню, но дохуя.

Я с ужасом вспоминаю отладку на этом проекте. Я перестал вообще пытаться разбираться в бизнес-логике проекта, потому что она попросту стала непостижима, учитывая, что и раньше она была довольно сложной. Для построения дерева вызовов от БД до JSON объекта, который передавался пользователям, буквально уходили часы. Плюс, у нас падали ошибки в рантайме в совершенно неочевидных местах. Мне не нравилось искать ошибки в автомаппинге, там же не поставишь брейкпоинт. Я испытывал физическую боль, когда в очередной раз попадал в метод AfterMap. Но мне в голову не приходило, что это не нормально. Я думал, что это стандартная практика, и я просто тупой, а все вокруг коронованые сениур девелоперы и знают как правильно. Потом я понял, что что-то идёт не так, я уволился и долго проработал на проектах, где в ответ на просьбу включить автомапер, каждый раз изворачивались и не делали этого.

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

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

Мне буквально втирали, что Автомаппер - это волшебная библиотека, которая нужна ЧТОБЫ ОПТИМИЗИРОВАТЬ ЗАПРОСЫ В БД, иначе происходит "Select *". Мне объясняли, что автомаппер НЕОБХОДИМ ДЛЯ DDD. а Чистая архитектура без него, очевидно, невозможна.

Буквально в каждом маппинге был "AfterMap". Экспрешены были сложные, куча конвертирований. При обновлении версии автомаппера у нас поплыли исключения. Сами маппинги невозможно было удержать в голове, потому что одной бляди нравилось взять на навесить маппинг с помощью атрибутов. И тут буквально надо про каждое свойство составлять карту. Строки маппили в числа, децималы в даблы и инты. Даты в текст. Маппили абсолютно непохожие объекты, плоские на глубокие, и наоборот.

Эти мудаки даже каким-то образом в AfterMap умудрились встроить доменные события (они думали, что это доменные события, на самом деле нет).

И ни разу даже не задумались, что они переписали простой синхронизатор в монстра на 100000 строк кода, а работать стало хуёво.
Я каждый раз спрашивал, почему тогда просто не использовать c#, и мне чуть по ебалу не били, как будто я задел священную корову. Мне буквально один челик сказал, что вот это - плохой код ПОТОМУ ЧТО ВЫЗЫВАТЬ КОНСТРУКТОР ЯВНО ЭТО ДУРНОЙ ТОН И ТАМ ЗАПАХИ.

public static FineDbo ToFineDbo(this FineInfoDto src) => new
{
Amount = src.FineDetails.Amount,
Uin = src.Uin,
ArticleCode = src.FineDetails.ArticleCode,
DepartmentName = src.FineDetails.DepartmentName,
BillDate = src.FineDetails.BillDate,
Description = src.FineDetails.Description,
DiscountDate = src.FineDetails.DiscountDate,
DiscountedSum = src.FineDetails.DiscountedSum,
DocumentNumber = src.DocumentNumber.ToLower(),
DocumentType = src.DocumentType,
DueDate = src.FineDetails.DueDate,
Sum = src.FineDetails.Sum,
HasDetails = src.FineDetails.HasDetails,
HasPhoto = src.FineDetails.HasPhoto,
IsPartiallyPaid = src.FineDetails.IsPartiallyPaid,
KoapDescription = src.FineDetails.KoapDescription,
OffenseDate = src.FineDetails.OffenseDate,
Location = src.FineDetails.Location,
OriginalAmount = src.FineDetails.OriginalAmount,
PaymentLink = src.PaymentLink,
TotalAmount = src.FineDetails.TotalAmount,
Id = src.Uin.ToLower(),
IsClosed = src.IsClosed,
ValidUntilDate = src.FineDetails.ValidUntilDate,
RawProviderResponse = src.RawProviderResponse
}

Стоит упомянуть, что он был грекокиприот, который после 8 лет разработки андроида решил заняться беком на c#.

а этот код - хороший код, просто потому что

CreateMap<FineInfoDto, FineDbo>()
.ForMember(dst => dst.Amount, opt => opt.MapFrom(src => src.FineDetails.Amount))
.ForMember(dst => dst.Uin, opt => opt.MapFrom(src => src.Uin))
.ForMember(dst => dst.ArticleCode, opt => opt.MapFrom(src => src.FineDetails.ArticleCode))
.ForMember(dst => dst.DepartmentName, opt => opt.MapFrom(src => src.FineDetails.DepartmentName))
.ForMember(dst => dst.BillDate, opt => opt.MapFrom(src => src.FineDetails.BillDate))
.ForMember(dst => dst.Description, opt => opt.MapFrom(src => src.FineDetails.Description))
.ForMember(dst => dst.DiscountDate, opt => opt.MapFrom(src => src.FineDetails.DiscountDate))
.ForMember(dst => dst.DiscountedSum, opt => opt.MapFrom(src => src.FineDetails.DiscountedSum))
.ForMember(dst => dst.DocumentNumber, opt => opt.MapFrom(src => src.DocumentNumber.ToLower()))
.ForMember(dst => dst.DocumentType, opt => opt.MapFrom(src => src.DocumentType))
.ForMember(dst => dst.DueDate, opt => opt.MapFrom(src => src.FineDetails.DueDate))
.ForMember(dst => dst.Sum, opt => opt.MapFrom(src => src.FineDetails.Sum))
.ForMember(dst => dst.HasDetails, opt => opt.MapFrom(src => src.FineDetails.HasDetails))
.ForMember(dst => dst.HasPhoto, opt => opt.MapFrom(src => src.FineDetails.HasPhoto))
.ForMember(dst => dst.IsPartiallyPaid, opt => opt.MapFrom(src => src.FineDetails.IsPartiallyPaid))
.ForMember(dst => dst.KoapDescription, opt => opt.MapFrom(src => src.FineDetails.KoapDescription))
.ForMember(dst => dst.OffenseDate, opt => opt.MapFrom(src => src.FineDetails.OffenseDate))
.ForMember(dst => dst.Location, opt => opt.MapFrom(src => src.FineDetails.Location))
.ForMember(dst => dst.OriginalAmount, opt => opt.MapFrom(src => src.FineDetails.OriginalAmount))
.ForMember(dst => dst.PaymentLink, opt => opt.MapFrom(src => src.PaymentLink))
.ForMember(dst => dst.TotalAmount, opt => opt.MapFrom(src => src.FineDetails.TotalAmount))
.ForMember(dst => dst.Id, opt => opt.MapFrom(src => src.Uin.ToLower()))
.ForMember(dst => dst.IsClosed, opt => opt.MapFrom(src => src.IsClosed))
.ForMember(dst => dst.ValidUntilDate, opt => opt.MapFrom(src => src.FineDetails.ValidUntilDate))
.ForMember(dst => dst.RawProviderResponse, opt => opt.MapFrom(src => src.RawProviderResponse));

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

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

Хочешь DDD? Очевидно же, надо начать с автомапера
Хочешь CQRS? Очевидно же, надо начать с автомапера
Хочешь слои? Автомаппер
Хочешь Clean Architecture? Ответ очевиден! Захуярь всё автомапером

Вопрос к необучаемым. За каким хуем вы повторяете одни и те же ошибки?
Вопрос к мелким программистам. За каким хуем вы повторяете наши ошибки? Мы уже так давно не пишем
b8ef3101dd053bc771d68680c4a1b1cd.jpg51 Кб, 682x1011
554 3266655
Девочки, 10 лет я молчал, но после того, как узнал что на двачах есть раздел по программированию, я решил поделиться наблюдениями о библиотеке Automapper, которую ненавижу всей душой.

Всё началось примерно 10 лет назад, когда "О, АРХИТЕКТОР" решил переписать наше приложение на микросервисы. Нам обещали DDD, чистую архитектуру, аспектно ориентированное программирование, полное покрытие интеграционными тестами, и всю прочую хуету, которую публиковали в то время на хабре.

Постольку, поскольку у нас был всего один домен (расчёт цены автострахования + админка), то микросервис у нас получился ровно один, и вся груда кода жила в одном дотнет солюшене.

Получили мы в итоге, естественно, хуй. Этот пидорас просто заменил DI контейнер на MediatR (сегодня не об этом), размазал код по хитровыебанной системе зависимостей проектов (Core.Domain, Common.Core, Shared.Common, Application.Interaces, BusinessLogiс.Domain, Core, Domain, где надо было архитектора лично спрашивать, в какую папку чего ложить, не дай бог промахнёшься). Естественно, как алмаз в корону архитектурного величия он въебал автомаппер. Сениур-дотнет-девелоперы подхватили модную тенденцию и автомаппером было захуярено всё. Буквально за два месяца проект превратился в ад, а через год от наших услуг отказались. Один и тот же класс учавствовал в двух, а иногда и трёх маппингах. Все маппинги были сложены один класс, разумеется, общий для всей кодовой базы. Сколько тысяч сторок кода я не помню, но дохуя.

Я с ужасом вспоминаю отладку на этом проекте. Я перестал вообще пытаться разбираться в бизнес-логике проекта, потому что она попросту стала непостижима, учитывая, что и раньше она была довольно сложной. Для построения дерева вызовов от БД до JSON объекта, который передавался пользователям, буквально уходили часы. Плюс, у нас падали ошибки в рантайме в совершенно неочевидных местах. Мне не нравилось искать ошибки в автомаппинге, там же не поставишь брейкпоинт. Я испытывал физическую боль, когда в очередной раз попадал в метод AfterMap. Но мне в голову не приходило, что это не нормально. Я думал, что это стандартная практика, и я просто тупой, а все вокруг коронованые сениур девелоперы и знают как правильно. Потом я понял, что что-то идёт не так, я уволился и долго проработал на проектах, где в ответ на просьбу включить автомапер, каждый раз изворачивались и не делали этого.

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

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

Мне буквально втирали, что Автомаппер - это волшебная библиотека, которая нужна ЧТОБЫ ОПТИМИЗИРОВАТЬ ЗАПРОСЫ В БД, иначе происходит "Select *". Мне объясняли, что автомаппер НЕОБХОДИМ ДЛЯ DDD. а Чистая архитектура без него, очевидно, невозможна.

Буквально в каждом маппинге был "AfterMap". Экспрешены были сложные, куча конвертирований. При обновлении версии автомаппера у нас поплыли исключения. Сами маппинги невозможно было удержать в голове, потому что одной бляди нравилось взять на навесить маппинг с помощью атрибутов. И тут буквально надо про каждое свойство составлять карту. Строки маппили в числа, децималы в даблы и инты. Даты в текст. Маппили абсолютно непохожие объекты, плоские на глубокие, и наоборот.

Эти мудаки даже каким-то образом в AfterMap умудрились встроить доменные события (они думали, что это доменные события, на самом деле нет).

И ни разу даже не задумались, что они переписали простой синхронизатор в монстра на 100000 строк кода, а работать стало хуёво.
Я каждый раз спрашивал, почему тогда просто не использовать c#, и мне чуть по ебалу не били, как будто я задел священную корову. Мне буквально один челик сказал, что вот это - плохой код ПОТОМУ ЧТО ВЫЗЫВАТЬ КОНСТРУКТОР ЯВНО ЭТО ДУРНОЙ ТОН И ТАМ ЗАПАХИ.

public static FineDbo ToFineDbo(this FineInfoDto src) => new
{
Amount = src.FineDetails.Amount,
Uin = src.Uin,
ArticleCode = src.FineDetails.ArticleCode,
DepartmentName = src.FineDetails.DepartmentName,
BillDate = src.FineDetails.BillDate,
Description = src.FineDetails.Description,
DiscountDate = src.FineDetails.DiscountDate,
DiscountedSum = src.FineDetails.DiscountedSum,
DocumentNumber = src.DocumentNumber.ToLower(),
DocumentType = src.DocumentType,
DueDate = src.FineDetails.DueDate,
Sum = src.FineDetails.Sum,
HasDetails = src.FineDetails.HasDetails,
HasPhoto = src.FineDetails.HasPhoto,
IsPartiallyPaid = src.FineDetails.IsPartiallyPaid,
KoapDescription = src.FineDetails.KoapDescription,
OffenseDate = src.FineDetails.OffenseDate,
Location = src.FineDetails.Location,
OriginalAmount = src.FineDetails.OriginalAmount,
PaymentLink = src.PaymentLink,
TotalAmount = src.FineDetails.TotalAmount,
Id = src.Uin.ToLower(),
IsClosed = src.IsClosed,
ValidUntilDate = src.FineDetails.ValidUntilDate,
RawProviderResponse = src.RawProviderResponse
}

Стоит упомянуть, что он был грекокиприот, который после 8 лет разработки андроида решил заняться беком на c#.

а этот код - хороший код, просто потому что

CreateMap<FineInfoDto, FineDbo>()
.ForMember(dst => dst.Amount, opt => opt.MapFrom(src => src.FineDetails.Amount))
.ForMember(dst => dst.Uin, opt => opt.MapFrom(src => src.Uin))
.ForMember(dst => dst.ArticleCode, opt => opt.MapFrom(src => src.FineDetails.ArticleCode))
.ForMember(dst => dst.DepartmentName, opt => opt.MapFrom(src => src.FineDetails.DepartmentName))
.ForMember(dst => dst.BillDate, opt => opt.MapFrom(src => src.FineDetails.BillDate))
.ForMember(dst => dst.Description, opt => opt.MapFrom(src => src.FineDetails.Description))
.ForMember(dst => dst.DiscountDate, opt => opt.MapFrom(src => src.FineDetails.DiscountDate))
.ForMember(dst => dst.DiscountedSum, opt => opt.MapFrom(src => src.FineDetails.DiscountedSum))
.ForMember(dst => dst.DocumentNumber, opt => opt.MapFrom(src => src.DocumentNumber.ToLower()))
.ForMember(dst => dst.DocumentType, opt => opt.MapFrom(src => src.DocumentType))
.ForMember(dst => dst.DueDate, opt => opt.MapFrom(src => src.FineDetails.DueDate))
.ForMember(dst => dst.Sum, opt => opt.MapFrom(src => src.FineDetails.Sum))
.ForMember(dst => dst.HasDetails, opt => opt.MapFrom(src => src.FineDetails.HasDetails))
.ForMember(dst => dst.HasPhoto, opt => opt.MapFrom(src => src.FineDetails.HasPhoto))
.ForMember(dst => dst.IsPartiallyPaid, opt => opt.MapFrom(src => src.FineDetails.IsPartiallyPaid))
.ForMember(dst => dst.KoapDescription, opt => opt.MapFrom(src => src.FineDetails.KoapDescription))
.ForMember(dst => dst.OffenseDate, opt => opt.MapFrom(src => src.FineDetails.OffenseDate))
.ForMember(dst => dst.Location, opt => opt.MapFrom(src => src.FineDetails.Location))
.ForMember(dst => dst.OriginalAmount, opt => opt.MapFrom(src => src.FineDetails.OriginalAmount))
.ForMember(dst => dst.PaymentLink, opt => opt.MapFrom(src => src.PaymentLink))
.ForMember(dst => dst.TotalAmount, opt => opt.MapFrom(src => src.FineDetails.TotalAmount))
.ForMember(dst => dst.Id, opt => opt.MapFrom(src => src.Uin.ToLower()))
.ForMember(dst => dst.IsClosed, opt => opt.MapFrom(src => src.IsClosed))
.ForMember(dst => dst.ValidUntilDate, opt => opt.MapFrom(src => src.FineDetails.ValidUntilDate))
.ForMember(dst => dst.RawProviderResponse, opt => opt.MapFrom(src => src.RawProviderResponse));

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

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

Хочешь DDD? Очевидно же, надо начать с автомапера
Хочешь CQRS? Очевидно же, надо начать с автомапера
Хочешь слои? Автомаппер
Хочешь Clean Architecture? Ответ очевиден! Захуярь всё автомапером

Вопрос к необучаемым. За каким хуем вы повторяете одни и те же ошибки?
Вопрос к мелким программистам. За каким хуем вы повторяете наши ошибки? Мы уже так давно не пишем
555 3266658
>>3156872
Давно заброшена, лучше используй VSCODE, Rider. На винде еще Visual Studio есть, выбор богат.

MonoDevelop нужна была только давно, когда ещё не было .net corе и люди ебались с MONO. Ну может, в Юнити как-то используется, но думаю, уже вряд-ли
556 3266718
>>3212323
Либо тебе нужно включать подсущности руками: Include(...)
Либо тебе нужно сделать экспрешшен, который будет включать подсущности и генерировать джоины: .Select(x -> x.SubEntity.Price)
Либо тебе надо включать LazyLoading. Но это такая ёбань, от которой 10 лет назад плевались все
557 3266720
>>3216182

> он для этого слабоват в выразительной мощи, это вам не котлин


чего блядь?
558 3267655
>>3266655
Лол, у нас его запретили к хуям, и мне это нравится. Очень не люблю ебучие автомаппер и медиатр. Я, блядь, код с типами пишу, чтобы мог понять, что в нем происходит, просто прочитав код. С товарищами выше такой фокус не пройдет, сиди, расставляй брейкпоинты

Мне кажется, что иногда человек пишет бекенд, пишет, пишет, потом ещё пишет, потом у него начинает течь колпак. Ну, знаете, как у людей, которые всю жизнь в миссионерской позе ебутся – это надоедает. Кто-то начинает обмазываться говном (автомаппером) и говорить, что так запаха нет. А кто-то вносит разнообразие в свою жизнь иначе – интересуется смежными областями или уходит в менеджмент. Не обмазывайтесь говном, аноны
559 3271583
Какую код конвенцию вы используете? Есть от гугла, но вроде она аутдейтед. Есть от майков, с ней всё норм. А есть то что прописано в ReSharper по лефолту и это какая-то модернизация майковской.

В общем, что у вас в секции code style написано в редми проекта?
560 3271883
>>3271583
Ничего не написано у нас, пусто.

Очень вольный стиль используем. Разработчики пишут как хотят, при условии, что у всех опыт довольно богатый. Код слабо форматируется. Но более-менее попадаем в гайдлайны микрософта.

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

Но это надо много опыта иметь, чтобы не беситься смотря на то, как другие форматируют
561 3271890
>>3271583
К слову, у нас довольно простые гайдлайны:

Комментарии стараемся не писать

Явный однозначный код всегда предпочтительней, чем рефлексия, динамические прокси и прочая хуета

Строжайще запрещен автомаппер.
562 3271929
>>3271883
>>3271890
Я в шоке коллеги. У вас не бывает джунов в команде? Не бывает споров о максимальном количестве символов в строке и тому подобного?
563 3272757
>>3271929

>Не бывает споров о максимальном количестве символов



Нет, не бывает споров

Я однажды понял, что код - он уродлив в любом случае. Хоть ты 10 раз обложишь его гайдлайнами.
image.png27 Кб, 680x161
564 3275560
Главное, что должен понимать любой разработчик (простительно для ебанатов с синдромом пэйтон) - нельзя хардкодить айдишники для тестирования.

Когда этот код выстрелит? Можно ли его удалять? Быть может, это подпорка для реального пользователя?

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

Я однажды потратил неделю, разыскивая, почему у пользователя одно калькулируемое поле было 31.96. Притом, оказалось, что мне предоставили гит-репозиторий от другого сервиса, где такой проблемы нет, заверили, что это именно тот сервис задеплоен. В итоге я искал проблему там, где её нет

Также напомню, что код не должен содержать в себе отсылок на окружения. То есть:
- #if DEBUG - это не очень хорошо, можно же передать это значение "снаружи"
- if (Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") == "Development") - тоже не очень хорошо, но, всё же, при добавлении нового окружения придётся выискивать по коду все подобные места
565 3275583
>>3275560

> Пик


Кошмарьте обезьяну кто это написала и вторую обезьяну, которая поставила апрув на мердж реквест.
566 3275588
Я вкатун из жабы. Хотел поделиться наблюдением, которое сломало мне мозг вчера. От отрицания до принятия прошел путь.

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

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

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

В общем, я правильно понимаю, что это не баг, а фича или есть ситуации когда доступ к приватным полям/методам на уровне экземпляра внутри класса приводило вас к пиздецу?
567 3275792
Кто-нибудь, пж обьясните, почему именно на C# такие ебанутые требования в вакансиях и на собесах какие-то чсв-красноглазики сидят и пытаются самоутвердиться
568 3275839
>>3275792
Смотри на доменную область и всё станет ясно
569 3277229
>>3275583

> Кошмарьте обезьяну кто это написала и вторую обезьяну, которая поставила апрув на мердж реквест.



Да я бы с радостью, но эти говноеды в сторону отскочили
570 3278526
>>3275839
Очень разные проекты бывают. Дотнет огромный.

В основном, там вопросы стандартные -

C#
алгоритмы, сложность
мультипоточка в dotnet
паттерны, солид
СУБД, ACID, уровни изоляции транзакций
Может быть DDD или архитектура

Если ебут на собеседовании - скорее всего коллектив слабоват. Опытные разработчики обычно по косвенным признакам поймут, что ты долбоёб и ты даже не заметишь этого.
571 3278527
>>3275588

namespace SomeNames
{
public class SomeType
{
private float _privateField = 11;

public void UpdatePrivateField(SomeType obj)
{
this._privateField = obj._privateField;
}
}
}

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

https://stackoverflow.com/questions/5737602/why-and-how-does-c-sharp-allow-accessing-private-variables-outside-the-class-its
572 3278554
>>3278527
Да я вроде уже принял и смирился, просто в плюсах и жабе, которые я знаю не так вот и сначала мозг сломался.

Позабавило, что в комментариях на стековерфлоу пишут, что в жабе также, что просто враньё. И что в плюсах тоже самое, мол смотрите концепцию frindly классов, что есть виляние жопой, потому что в плюсах есть конкретный модификатор private и конкретный модификатор friend и они разделены. В C# же модификатора private из плюсов/жабы в том же смысле отсутствует.

Ну, ладно, это даже не проблема, просто непривычный подход к модификаторам доступа для тех кто начинал не с С#.
573 3278835
>>3278554
И чего, как тебе дотнет? Уже кайфанул от структур? В АОТ собирать пробовал? Как тебе LINQ?
574 3278877
>>3278835
Да я в геймдеве сижу и тут только пару скриптиков написал пока что. Ощущается как жаба. Ничего негативного сказать не могу, ничего положительного тоже
575 3279222
Вот и пришло время рассказать про мою работу с греками и пакистанцами.

Греки - долбоёбы, очень тупые разработчики.
Пакистанцы - долбоёбы, очень тупые разработчики.

Расскажу об одном примере, который растянулся примерно на пол года.

У нас был сервис. Этот сервис перекладывал объекты из АПИ в БД. Там была проблема, он тормозил и работал с ошибками.
К нам буквально раз в месяц заваливался владелец компании, австралиец в золотых кроссовках и орал на нас благим английским матом. Ему было лет 50, он торчал, но выглядел как перекачанный сморщенный подросток.

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

А как переписать в DDD? Говно вопрос, просто надо использовать CQRS.
А CQRS подразумевает под собой конечно же MediatR. Ну команды же, квери. BEST PRACTICES

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

Первое, что он делает, он пишет автоматический регистратор объектов в DI, основанный на рефлексии.
Правильно же, только сраный джуниор пишет все эти AddTransient 50 раз. А у серьёзных парней всё происходит автоматически.

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

Затем, был выведен чистейший и единственно правильный юнит-оф-ворк-репозиториев-аггрегированных-рутов. Это было что-то типо двойной обёртки над DBContext, но обёртка была настолько обобщённая, что не понимала, с какими объектами БД она работает.
Поэтому было решено всем объектам захардкодить ID типо Long, а DBontext сделать публичным свойством.
В итоге у нас был царь-юнит-оф-форк-репозиторий, который предоставлял возможность выполнить на себе кастомный SQL код, и у нас были агрегаты, которыми было всё, что можно было извлечь из этого UOW.
В том числе и сообщения очереди, которая была ядром этого сервиса. Ну очередь в БД. Ну вы поняли.
Эта самая очередь выгружала сообщения раз в минуту, потому что нехуй заёбывать БД. Использовать AMAZON SQS было запрещено. Потому что крутые синиуры используют только кафку, но кафки у нас не было.

А я на это дело смотрю, и ничего не могу поделать. Могу только починить очевидный баг в логике, и никак не могу повлиять на архитектурное решение.

Разумеется, им нужны были доменные события. Их вхуярили в DBContext. Где-то в момент сохранения, через медиатор.

Затем, все сервисы были переписаны через MediatR. Потому что инжектить 2-4 сервиса НЕЛЬЗЯ. Уууу, конструктор слишком большой!

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

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

В итоге код выглядел как огромная количество команд и кверей, в каждой по 20 строчек не более. Вызовы команд чередовались с вызовами автомаппера (где жила вся логика), квери возвращали ienumerable, могли записывать в бд.
Где начинался и где заканчивался код - загадка.
Просто какие-то случайные команды звали случайные квери. Структура была потеряна, код напоминал желе из говна. Опять же пошло в бой глубокое наследование, AfterMap и прочее блядство.

И, разумеется, были бихавеуры. Штук 8. У нас был общий бихавиор под обработку ошибок, общий бихавиор под логирование, общий бихавиор под маппинг, общий бихавиур под валидацию, и так далее.

Всё было обобщённое. Всё имело базовый класс. Базовая команда, базовый ответ команды. Все команды имели валидаторы. Квери часто возвращали IEnumerable, лениво блядь, без материализации.

Тут этот дибил выкатил своё решение, и посадил меня его ДОДЕЛЫВАТЬ блядь, потому что он пошёл переписывать следующий сервис.
Этот пидор просто навалил все "BEST PRACTICES", про которые мельком прочитал в единственной книге, которую прочитал (какая-то общая книга от микрософта, что-то про микросервисы). Ну кроме аспектно ориентированного програмирования, его не было.

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

И тут начался пиздец. Он превратил сервис, который буквально отвечал за 7 операций в то же самое, но с "BEST PRACTICES". Починены ли изначальные проблемы никто не знал.

Во первых этот ебанат зареферинсил библиотеки из .net framework 4.5.2. Он просто не знал, чем дотнет кор отличается от фреймворка.
DBContext взрывался с ObjectDisposedException. Челик просто возвращал ленивый IEnumerable и не парился.
Память утекала линейно (y=2x), за 2 часа мы падали с OutOfMemoryException. Оказалось, что ребята просто не знали что у объектов есть время жизни и их иногда надо диспозить. Память утекала во многих местах. Но самое дебильное, она утекала в ЛОГИРОВАНИИ.
Я нахуй никогда не видел, чтобы человек был настолько ебанатом, чтобы у него память утекла в ЛОГИРОВАНИИ БЛЯДЬ.
Далее. Приложение иногда просто останавливалось намертво. Дедлок нахуй. Вы когда нибудь доводили свой код до дедлока?
Стек-трейсы ошибок буквально состояли из какой-то каши, многократно помноженной на 7-8 бихавиоров. Ну. то есть, буквально, не влазили на два экрана.
Код, если очень долго вглядываться, по своей сути повторял структуру предыдущего сервиса, но привносил хуеву тучу проблем и вообще перестал читаться.
Это было ёбаное бесконечное навигирование от команды к её хендлеру через конфиг автомаппера. Понять что-то можно было только почитав исходник оригинала.
Я разворачивал этот сервис два месяца.

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

Мораль простая. Я теперь работаю только с русскими. Дотнет даёт безграничные возможности, чтобы возвести сложность кода в квадрат. Код опытного разработчика отличается своей наивной простотой. Сервис, который мы переписывали, таким и был. Его писали отцы с хорошим бекграундом в БД. Но тормозил и возвращал ошибки только потому что там отправляли неправильный запрос, который банально неэффективно расходовал ресурсы и починку можно было свести к 100 строчкам. MediatR - это не замена DI. За слова BEST PRACTICES надо бить в ебало.
575 3279222
Вот и пришло время рассказать про мою работу с греками и пакистанцами.

Греки - долбоёбы, очень тупые разработчики.
Пакистанцы - долбоёбы, очень тупые разработчики.

Расскажу об одном примере, который растянулся примерно на пол года.

У нас был сервис. Этот сервис перекладывал объекты из АПИ в БД. Там была проблема, он тормозил и работал с ошибками.
К нам буквально раз в месяц заваливался владелец компании, австралиец в золотых кроссовках и орал на нас благим английским матом. Ему было лет 50, он торчал, но выглядел как перекачанный сморщенный подросток.

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

А как переписать в DDD? Говно вопрос, просто надо использовать CQRS.
А CQRS подразумевает под собой конечно же MediatR. Ну команды же, квери. BEST PRACTICES

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

Первое, что он делает, он пишет автоматический регистратор объектов в DI, основанный на рефлексии.
Правильно же, только сраный джуниор пишет все эти AddTransient 50 раз. А у серьёзных парней всё происходит автоматически.

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

Затем, был выведен чистейший и единственно правильный юнит-оф-ворк-репозиториев-аггрегированных-рутов. Это было что-то типо двойной обёртки над DBContext, но обёртка была настолько обобщённая, что не понимала, с какими объектами БД она работает.
Поэтому было решено всем объектам захардкодить ID типо Long, а DBontext сделать публичным свойством.
В итоге у нас был царь-юнит-оф-форк-репозиторий, который предоставлял возможность выполнить на себе кастомный SQL код, и у нас были агрегаты, которыми было всё, что можно было извлечь из этого UOW.
В том числе и сообщения очереди, которая была ядром этого сервиса. Ну очередь в БД. Ну вы поняли.
Эта самая очередь выгружала сообщения раз в минуту, потому что нехуй заёбывать БД. Использовать AMAZON SQS было запрещено. Потому что крутые синиуры используют только кафку, но кафки у нас не было.

А я на это дело смотрю, и ничего не могу поделать. Могу только починить очевидный баг в логике, и никак не могу повлиять на архитектурное решение.

Разумеется, им нужны были доменные события. Их вхуярили в DBContext. Где-то в момент сохранения, через медиатор.

Затем, все сервисы были переписаны через MediatR. Потому что инжектить 2-4 сервиса НЕЛЬЗЯ. Уууу, конструктор слишком большой!

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

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

В итоге код выглядел как огромная количество команд и кверей, в каждой по 20 строчек не более. Вызовы команд чередовались с вызовами автомаппера (где жила вся логика), квери возвращали ienumerable, могли записывать в бд.
Где начинался и где заканчивался код - загадка.
Просто какие-то случайные команды звали случайные квери. Структура была потеряна, код напоминал желе из говна. Опять же пошло в бой глубокое наследование, AfterMap и прочее блядство.

И, разумеется, были бихавеуры. Штук 8. У нас был общий бихавиор под обработку ошибок, общий бихавиор под логирование, общий бихавиор под маппинг, общий бихавиур под валидацию, и так далее.

Всё было обобщённое. Всё имело базовый класс. Базовая команда, базовый ответ команды. Все команды имели валидаторы. Квери часто возвращали IEnumerable, лениво блядь, без материализации.

Тут этот дибил выкатил своё решение, и посадил меня его ДОДЕЛЫВАТЬ блядь, потому что он пошёл переписывать следующий сервис.
Этот пидор просто навалил все "BEST PRACTICES", про которые мельком прочитал в единственной книге, которую прочитал (какая-то общая книга от микрософта, что-то про микросервисы). Ну кроме аспектно ориентированного програмирования, его не было.

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

И тут начался пиздец. Он превратил сервис, который буквально отвечал за 7 операций в то же самое, но с "BEST PRACTICES". Починены ли изначальные проблемы никто не знал.

Во первых этот ебанат зареферинсил библиотеки из .net framework 4.5.2. Он просто не знал, чем дотнет кор отличается от фреймворка.
DBContext взрывался с ObjectDisposedException. Челик просто возвращал ленивый IEnumerable и не парился.
Память утекала линейно (y=2x), за 2 часа мы падали с OutOfMemoryException. Оказалось, что ребята просто не знали что у объектов есть время жизни и их иногда надо диспозить. Память утекала во многих местах. Но самое дебильное, она утекала в ЛОГИРОВАНИИ.
Я нахуй никогда не видел, чтобы человек был настолько ебанатом, чтобы у него память утекла в ЛОГИРОВАНИИ БЛЯДЬ.
Далее. Приложение иногда просто останавливалось намертво. Дедлок нахуй. Вы когда нибудь доводили свой код до дедлока?
Стек-трейсы ошибок буквально состояли из какой-то каши, многократно помноженной на 7-8 бихавиоров. Ну. то есть, буквально, не влазили на два экрана.
Код, если очень долго вглядываться, по своей сути повторял структуру предыдущего сервиса, но привносил хуеву тучу проблем и вообще перестал читаться.
Это было ёбаное бесконечное навигирование от команды к её хендлеру через конфиг автомаппера. Понять что-то можно было только почитав исходник оригинала.
Я разворачивал этот сервис два месяца.

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

Мораль простая. Я теперь работаю только с русскими. Дотнет даёт безграничные возможности, чтобы возвести сложность кода в квадрат. Код опытного разработчика отличается своей наивной простотой. Сервис, который мы переписывали, таким и был. Его писали отцы с хорошим бекграундом в БД. Но тормозил и возвращал ошибки только потому что там отправляли неправильный запрос, который банально неэффективно расходовал ресурсы и починку можно было свести к 100 строчкам. MediatR - это не замена DI. За слова BEST PRACTICES надо бить в ебало.
576 3279484
>>3279222
Бля, жму тебе руку
17272436986560.jpg43 Кб, 370x291
577 3281672
Раньше пользовался JetBrains Rider. Я просидел в нём с первых бета версий по начало 2024 года.

Основной причиной было то, что Visual Studio на то время была 32-битным процессом, и при установке JetBrains Resharper, крашилась от недостатка памяти раз в несколько часов. Забегая вперёд, оказалось, что с Visual Studio всё в порядке, она просто не была готова к утечкам памяти в r#.

Я настолько привык в нём работать, что даже однажды оплатил подписку на Rider сам. Я прикинул, что два стакана кофе в год (на тот момент 150 евро вне зависимости от региона) я потяну и подписался.

Тут хотелось бы уточнить, что как специалист, я разделяю места, в которых уместна политика и места, в которых политика вредит. И рабочий процесс - это именно место где о политике говорить НЕЛЬЗЯ. Но JetBrains после начала войны ударились в политоту. Трёх моих знакомых разработчиков уволили оттуда за политическую позицию. Перед другими поставили ультиматум о переезде в европейский офис и так же уволили. Так же они публиковали у себя манифесты о поддержке войны со стороны Украины и удаляли из поддержки аккаунты российских пользователей? открыто хамили в комментариях. Ещё мне рассказывали, что ребят, которые собеседовались в JB, буквально спрашивали, поддерживают ли они украинские войска. То есть, в то время когда мы как разработчики-специалисты всеми силами игнорировали политические вопросы на работе, осознавая, что за соседним столом сидит гражданин государства, с которым мы воюем, компания JetBrains активно гадила. Потом дошло до того, что они принципиально отключили загрузку своих продуктов из России. Это стало последней каплей, но сегодня не об этом.

Сегодня у меня хорошая новость! Я окончательно пересел на VS, c продуманным планом отхода на VS CODE в случае чего.

И вот, что я заметил:

Во первых, производительность и качество Rider за 6-8 лет стала значительно ниже, чем на старте. Это была основная фишка Rider перед VS, теперь наоборот.

Сегодня VS гораздо быстрее. И более того, она расходует НА ПОРЯДОК меньше памяти. Райдеру нужно не менее 5 гигабайт оперативки просто чтобы раздуплиться. Студия работает от сотен мегабайт.

Ещё раз. Мой проект открывается в VS, и, после продолжительной разработки, расходует 1200 мегабайт.
Мой проект открывается в Rider cжирает 5 гигабайт памяти НА СТАРТЕ, а потом утекает до 6-8 гигабайт. Rider очень долго открывается, он греет ноутбук. При работе в Rider, ноутбук постоянно шумит вентиляторами.

Далее, фичи. Райдер всё еще удобнее для меня при работе с гитом. Так же запуск тестов удобнее. Но VS догнала все фичи, которые былы в r# и rider! Теперь это только дело привычки. Я уверен, что сейчас никто не назовёт киллер-фичу райдера.

Ещё одной неприятной особенностью райдера был ЭЙАЙ, который они встроили в райдер и отключили, пока не заплатишь им ещё больше денег.

Подводя итог, райдер растерял все свои преимущества, а его разработчики токсичные снобы. Сегодня бесплатная Visual Studio Community как минимум НЕ ХУЖЕ.
17272436986560.jpg43 Кб, 370x291
577 3281672
Раньше пользовался JetBrains Rider. Я просидел в нём с первых бета версий по начало 2024 года.

Основной причиной было то, что Visual Studio на то время была 32-битным процессом, и при установке JetBrains Resharper, крашилась от недостатка памяти раз в несколько часов. Забегая вперёд, оказалось, что с Visual Studio всё в порядке, она просто не была готова к утечкам памяти в r#.

Я настолько привык в нём работать, что даже однажды оплатил подписку на Rider сам. Я прикинул, что два стакана кофе в год (на тот момент 150 евро вне зависимости от региона) я потяну и подписался.

Тут хотелось бы уточнить, что как специалист, я разделяю места, в которых уместна политика и места, в которых политика вредит. И рабочий процесс - это именно место где о политике говорить НЕЛЬЗЯ. Но JetBrains после начала войны ударились в политоту. Трёх моих знакомых разработчиков уволили оттуда за политическую позицию. Перед другими поставили ультиматум о переезде в европейский офис и так же уволили. Так же они публиковали у себя манифесты о поддержке войны со стороны Украины и удаляли из поддержки аккаунты российских пользователей? открыто хамили в комментариях. Ещё мне рассказывали, что ребят, которые собеседовались в JB, буквально спрашивали, поддерживают ли они украинские войска. То есть, в то время когда мы как разработчики-специалисты всеми силами игнорировали политические вопросы на работе, осознавая, что за соседним столом сидит гражданин государства, с которым мы воюем, компания JetBrains активно гадила. Потом дошло до того, что они принципиально отключили загрузку своих продуктов из России. Это стало последней каплей, но сегодня не об этом.

Сегодня у меня хорошая новость! Я окончательно пересел на VS, c продуманным планом отхода на VS CODE в случае чего.

И вот, что я заметил:

Во первых, производительность и качество Rider за 6-8 лет стала значительно ниже, чем на старте. Это была основная фишка Rider перед VS, теперь наоборот.

Сегодня VS гораздо быстрее. И более того, она расходует НА ПОРЯДОК меньше памяти. Райдеру нужно не менее 5 гигабайт оперативки просто чтобы раздуплиться. Студия работает от сотен мегабайт.

Ещё раз. Мой проект открывается в VS, и, после продолжительной разработки, расходует 1200 мегабайт.
Мой проект открывается в Rider cжирает 5 гигабайт памяти НА СТАРТЕ, а потом утекает до 6-8 гигабайт. Rider очень долго открывается, он греет ноутбук. При работе в Rider, ноутбук постоянно шумит вентиляторами.

Далее, фичи. Райдер всё еще удобнее для меня при работе с гитом. Так же запуск тестов удобнее. Но VS догнала все фичи, которые былы в r# и rider! Теперь это только дело привычки. Я уверен, что сейчас никто не назовёт киллер-фичу райдера.

Ещё одной неприятной особенностью райдера был ЭЙАЙ, который они встроили в райдер и отключили, пока не заплатишь им ещё больше денег.

Подводя итог, райдер растерял все свои преимущества, а его разработчики токсичные снобы. Сегодня бесплатная Visual Studio Community как минимум НЕ ХУЖЕ.
578 3281682
>>3281672
Мне лень переучиваться под VS. На работе используем PyCharm, Android Studio, Intellij Idea и Rider. Всё продукция JetBrains. Попытка сесть за любую другую иде приведет к тому, что я начну путаться в горячих клавишах, забывать где какие настройки, придется дублировать плагины к которым привык (и то если они ещё есть на другой иде). В общем такое себе.

Насчёт политоты: пофиг. Их право задавать вопросы какие хотят во время собеседования, моё право в ответ на эти вопросы встать и сказать гудбай и уйти работать в другую компанию.
579 3282192
Столкнулся в работе с библиотекой Volo.ABP https://abp.io/

Крайне не рекомендую к использованию по следующим причинам:

- Volo.ABP имеет огромное количество неявных зависимостей, в том числе Autofac и динамические прокси Castle.

- Многие классы работают только благодаря перехватам вызовов и плохо спроектированному AOP. Вы будете ненавидеть слово Interceptor.

- Volo.ABP.AspnetCore ломает предсказуемую логику ASPNet.Core. Некоторые стандартные вещи, в том числе сериализация времени будет работать неожиданным образом.

- Внутри ABP.Volo устроен очень сложным способом. Один только репозиторий MongoDb имеет дерево зависимостей из примерно 150 классов.

- Многие методы расширения мимикрируют под стандарнтый dotnet. То есть, вы используете метод, из System.Collections.Generic. А на самом деле, э
то Volo сложили свои методы расширения в пространство имён дотнета. Первый раз такое вижу.

- Много ломающих изменений от версии к версии. Код перестаёт работать при обновлении

- Очень глубокая иерархия наследования, где дочерние классы ПЕРЕТИРАЮТ поведение родительских. Парни буквально не поняли концепцию наследования и отношения "А является Б"

В сухом остатке - никогда не связывайтесь с Abp.Volo.
580 3282199
>>3282192
Хм, а альтернативы есть, кроме как пилить свой велосипед?
581 3282257
aspnet core + 4 базовых класса по сто строк?
Тред утонул или удален.
Это копия, сохраненная 28 сентября в 07:34.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски