scarysituation-v0-ccuyym5mcqqb1.webp21 Кб, 720x326
C# .net 9 release дотнета тред #60 /csharp/ 3395748 В конец треда | Веб
2 3395757
Нет аниметян с шарпом. Переделывай
3 3395759
>>395748 (OP)
Я прям ждал, что тег при перекате будет проёбан.
4 3395760
>>395759

>тег при перекате будет проёбан


Какой ТЕГ? Пиши мочеру, пусть удоляет..
5 3395762
>>395760
Тег csharp, чтобы тред показывался в навигаторе. Модератору отправил просьбу добавить.
1.CLyQGra4pFWmrSZYjFo40fG4plMuuyZDpramVyCzrF8m.jpg113 Кб, 415x724
6 3395772
Итак:
1) По существу вопроса >>3395559 → никто не ответил
2) Скочал VS2008 и прочую хрень для разработки для WM6
3) Сдул пыль с книжек: "C# в СССР", "Справочник по .NET для деревенского программиста"
4) Буду ебать тут вам мозг пока не забанят
5) Через пару дней приедет няша с фото
7 3395774
>>395772
Всегда думал, что на WM были плюсы, а не шарп.
8 3395775
>>395774
И плюсы есть и шарп
image.png228 Кб, 379x310
9 3395778
>>395772
У меня вот такой (пик) где-то валяется. Еще живой должен быть, правда работает только от провода.
Охуенная вещь в свое время (в 2008-м) была.
10 3395780
>>395772
Программирование мобильных устройств на платформе .NET Compact Framework. Салмре И.
11 3395781
>>395778
Мне по работке понадобилась бронебойная йоба с excel и инторнетом. Пальцетыкательные штатские телефоны отпали ввиду крайне суровых условий, а этот старичок должен вроде выдержать. По докам держит падение на бетон с 1.5 метров, множественные падения с 0,5 метра.

>>395780
Во! Спасибки! А то я уже и Либген покопал и так гуглил, только на MSDN шлет
12 3395797
>>395772
Автомаппер подключил?
13 3395800
>>395797
Не. А чо это такое?
Пока виртуалка натужно ставит обновы на Вин7. Послезавтра буду VS устанавливать на все деньги.
14 3395845
>>395781

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


Чел, это несерьезно.
Купив эту древнюю "йобу" ты будешь иметь следующее:
1. Дохлый аккумулятор.
2. Крайне хуевый опыт в современном интернете с имеющимися там браузерами. Еще с учетом того, что там старые стандарты wi-fi и сотовой связи. Хорошо если хотя бы 3G будет.
3. Посредственный опыт с excel-ем. Управление стилусом не настолько и удобнее пальцевого, хоть и кажется таким на первый взгляд. Особенно учитывая, что во времена WinCE опыт и практики UX для ручных устройств был такой себе. Ну и опять же устаревшие версии.
4. Крайняя ограниченность ресурсов. Оперативка там измеряется мегабайтами, а современные быстрые sd карточки скорее всего не поддерживаются.

Если же немного покопаться, то можно спокойно взять современный защищенный андроидофон с IP69 и противоударным кропусом за вменяемые деньги. При этом у тебя будет:
1. Нормальный быстрый смарт с хорошим интернетом и связью.
2. Хорошая батарея, которая при активных рабочих задачах вполне спокойно будет несколько дней держать.
3. Нормальные офисные программы с уже вылизанным управлением под пальцы и работу одной рукой.
4. Нормальные ресурсы по железу. Вплоть до того, что ты сможешь полноценную IDE под тот же шарп (причем современный) на нем запустить (то еще извращение, но работает)
5. Есть возможность без особо сильных приседаний удаленно подклчаться к удаленному компу, хоть по ssh, хоть по rdp и делать уже что-то таким образом.

Говорю по собственному опыту, когда лет 5 назад еще работал программистом на производстве. У меня был китайский защищенный ноунейм, который я и на бетонный пол ронял не раз и в станке в СОЖ топил и он спокойно работал. И стоил он по тем временам меньше 10К.
Ну и я умудрялся с него по ssh подключаться к рабочему компу, с которого мого мониторить работу оборудования, заливтаь код и управлять.
15 3395887
>>395845

>Дохлый аккумулятор.


Съемный. Продаются новые

> хуевый опыт в современном интернете


Мне не нужен современный инторнет. Мне нужен VPN до сети предприятия. Вайфа - 802.11a/b/g

>Посредственный опыт с excel-ем


Мне от него нужна запись пары сотен цифр из базы в шаблон и отправка та комп

>Оперативка там измеряется мегабайтами, а современные быстрые sd карточки скорее всего не поддерживаются.


128Мб, карточки до 32Гб

>спокойно взять современный защищенный андроидофон с IP69


Цена, сестра?! Я три штуки этих, взал за 2500 на Авито.
16 3395892
>>395887

>Мне нужен VPN до сети предприятия


Ну вот как раз с этим и могут быть проблемы. Я не помню хоть сколько-нибудь хороших клиентов под WinMobile.

>Цена, сестра?! Я три штуки этих, взал за 2500 на Авито.


От 7К. Но в твоем случае соглашусь, как раз этот аргумент может быть самым валидным.
Просто вспоминая себя, когда я работал на производстве, понимаю, что тоже вряд ли мог бы себе тогда позволить лишние траты и тоже тогда приходилось всякое доставать и пердолиться.
17 3395903
>>395748 (OP)
почему с# - лучший язык?
18 3395963
>>395903

C# не лучший язык. Лучшие языки как правило имеют мало применений как раз в следствие своей категоричности.

C# это просто нормальный, относительно нейтральный язык, на котором можно программу написать и она будет деньги приносить
19 3395964
>>395800

>Не. А чо это такое?


Это технология, которая позволяет писать DDD
изображение.png36 Кб, 629x527
20 3396082
>>3395717 →

>>Как ни спросишь что-нибудь


>Что тебя интересует?


Ну давай попробуем.

В примерах часто вижу как делегат создают за приделами класса. Зачем так делать, а главное для чего? Что хотят этим добиться?
21 3396333
>>395964
Выебнулся?
22 3396351
>>396082
Чтобы он не был в классе. Кэп
23 3396434
>>396351
Ну так смысл? Как же принципы инкапсуляции?
24 3396573
>>396082

>имена классов с маленькой буквы


>имена переменных с большой


О, вы дегенерат!
25 3396602
>>396573
Аргументация, или только вскукареки?
27 3396675
>>396602

>Аргументация


Аргумент в том, что незачем ходить со своими выебонами в чужой монастырь. Есть официальный и устоявшияся стиль кода который используется 99% процентами разработчиков на нем. И им нахуй не уперлось ломать глаза и голову пытаясь понять зачем и почему ты пишешь по другому.
Ты конечно можешь продолжать выделываться и писать так как тебе хочется, но не удивляйся тогда, что тебя будут сходу посылать нахуй с твоими вопросами. Ну а если решишь где-то работать серьезно, то такой код даже собираться не будет в местных CI/CD.

А дегенерат ты потому, что не понимаешь таких простых вещей.
28 3396724
>>396675

>Есть официальный и устоявшияся стиль кода


В Visual Studio кликаю мышкой на форму -> создать ивент, студия генерит новую функцию и тут же подчеркивает ошибку формата, надо с большой буквы. Каждый раз ору с этой хуйни нарушающей свои же собственные правила.
29 3396737
>>395748 (OP)
Шарписты, какого осознавать, что ваш язык, созданный для того что бы потеснить джаву так и не справился со своей задачей, а вместо него джаву под брюхо пинает какая-то гугловская подделка, в которой нет ООП и даже нормальной обработки ошибок?
30 3396738
>>396737

> ваш язык, созданный для того что бы потеснить джаву


Где об етом почитать? Или это тебе голоса в голове сказали?
31 3396931
>>396738
Почитай историю майрософт, конкретно раздел где сказано почему не стали использовать джаву а пошли делать свой язык.
32 3396939
>>396931
Там прямо так и написано "делаем шарп чтобы потеснить жаву"?
Или все же "просто делаем свой язык причем ТОЛЬКО ПОД ВИНДУ"?
33 3396941
>>396434
какие принципы инкапсуляции. Этот делегат используется снаружи класса. Так что помещать его внутрь или нет - просто вопрос конечного именования, а не инкапсуляции
34 3397256
>>396632
In addition to the rules, conventions for identifier names are used throughout the .NET APIs. These conventions provide consistency for names, but the compiler doesn't enforce them. You're free to use different conventions in your projects.

>>396675

>Аргумент в том, что незачем ходить со своими выебонами в чужой монастырь.


А я лично вам ничего и не навязывал, это вы меня тут дегенератом назвали.

>Есть официальный и устоявшияся стиль


Да? А почему тогда int, char, double, string, а не Int, Char, Double, String? Испокон веков названия типов записывались строчными буквами. Так почему теперь я должен писать всё шиворот на выворот? К тому же этот ваш верблюд пиздец как уёбищноВыглядит.

>собираться не будет в местных CI/CD


Это потому что правила там задавали такие как ты?

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


Хуя тебе сраку на ровном месте распидорасило.
35 3397268
>>396082
Делегат это ТИП. Логично, что он объявляется где-нибудь вне классов.

С другой стороны, я видел только один пример, где реально нужен был делегат, все остальные случаи покрывает Func<...>, Action<...>, ну или можно автомаппером смапить

Поэтому ты делегат объявишь максимум раза три в жизни, не парься
36 3397271
>>396737
О НЕЕТ
37 3397328
>>397268
А разве делегаты это не ооп лямбды, типо как в жяве сигл метод интерфейс? Почему колбеки можно обявить 3 раза в жизни когда макаки их каждый день используют?

мимо не сишорпер
38 3397350
>>397328

> А разве делегаты это не ооп лямбды, типо как в жяве сигл метод интерфейс?


Нет.

> Почему колбеки можно обявить 3 раза в жизни когда макаки их каждый день используют?


Кто сказал коллбеки? ДЕЛЕГАТЫ. В 99% случаев тебе хватит встроенных делегатов Func<> и Action<>, свои собственные объявлять не понадобится.
39 3397364
>>397350
Нахуя эта мистификация нужна тогда? Это похоже, но это вам не это? Зачем лишняя сущность делегат тогда? Я сначала подумал что делегат это тип колбека.

https://learn.microsoft.com/ru-ru/dotnet/csharp/programming-guide/delegates/
Делегат — это тип, который представляет ссылки на методы с определенным списком параметров и типом возвращаемого значения. При создании экземпляра делегата этот экземпляр можно связать с любым методом с совместимой сигнатурой и типом возвращаемого значения. Метод можно вызвать (активировать) с помощью экземпляра делегата.

Делегаты используются для передачи методов в качестве аргументов к другим методам. Обработчики событий — это ничто иное, как методы, вызываемые с помощью делегатов.
40 3397382
>>396941
Какого такого именования? Всё что относится к классу должно быть внутри класса, и по необходимости защищено от внешнего воздействия, а не разбросано где попало, вот и все принципы инкапсуляции.

>>397268

>Делегат это ТИП. Логично, что он объявляется где-нибудь вне классов.


Ну с этой точки зрения да, но всё равно как-то сомнительно.

Ладно, идём далее.
Как я понимаю си решётка это про синтаксический сахарок. Тогда зачем на строчке 3, где, собственно, объявляется делегат, нужно указывать имена входных переменных, те что qqq и www? Они более в тексте нигде не фигурируют, а без них ошибка.
41 3397395
>>397364

> Нахуя эта мистификация нужна тогда? Это похоже, но это вам не это? Зачем лишняя сущность делегат тогда? Я сначала подумал что делегат это тип колбека.


Потому что 99% случаев - это не 100% случаев. Свои атрибуты тоже надо редко объявлять, и что, они тоже не нужны?
42 3397399
>>397328

>А разве делегаты это не ооп лямбды



Делегат это тип, который представляет собой ссылку на метод с параметрами метода и с возвращаемым значением.
43 3397402
>>397382

>Всё что относится к классу должно быть внутри класса


а как оно относится к классу? Покажи где оно используется в классе? Или ты про класс Program? так это вообще entry point

Инкапсуляция же это про "что творится внутри", а не типы прятать. Ты же не жалуешься что внутри себя класс может использовать строки, числа и так далее. Вот как он их там использует и использует ли вообще - это и есть инкапсуляция.

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

>>397364

>Нахуя эта мистификация нужна тогда?


делегаты появились раньше дженериков. То есть ДО появления Action<>|Func<>
Однако нужности не лишились, так как обладают именем и могут в ref|out
44 3397403
>>397382
Когда вызываешь делегат, можешь передать значения аргументов по этим именам.
mydelegate hui = huimethod;
hui(qqq: 123, www: "456");
45 3397404
>>397382

>нужно указывать имена входных переменных, те что qqq и www


Чтобы автомаппер понимал, к чему маппить параметры
46 3397456
>>397402

>а как оно относится к классу?


Ну если я вызываю метод класса через делегат, то логично же этот делегат объявить в том же классе, не?

>>397403
>>397404
Понял, принял.
47 3397607
>>397456
По желанию. Точно так же, как и с вложенными классами.
Если это моя сборка и классы internal, то я могу не хотить плодить длинные имена (ну да с алиасами полегче, но все же)
48 3397745
>>396082

>В примерах часто вижу как делегат создают за приделами класса


>>397607

>По желанию.


Ну и в чём причина такого желания? Зачем мусорить за пределами класса сигнатурами его методов? Не логично разве внутри объявлять, чтобы было видно чья это сигнатура? Так почему обычно делают наоборот? Какая причина?
49 3397779
>>397745

>Зачем мусорить за пределами класса сигнатурами его методов?


моя сборка - что хочу, то и делаю. может я не хочу использовать его СНАРУЖИ класса как
new MuSuperPuperClassNameAfterBeerDrink.MySuperShotNameDelegate()

да и вообще - если уж это делегат вызывается СНАРУЖИ класса, то он уже не "внутреннее дело класса". А для раскладывания типов у нас как бы есть неймспейсы.
50 3397855
>>397779

>что хочу, то и делаю


И в чём причина желания, мотивация какая? Аргументы? И главное, вопрос не про тебя с твоим высосанным их жопы примером, и опять без объяснения мотивации, а причина почему все как правило так делают? Какая причина? Аргументы?

>я не хочу использовать его СНАРУЖИ класса как new MuSuperPuperClassNameAfterBeerDrink.MySuperShotNameDelegate()


Что за детский визг? Почему не хочешь? Такая запись соответствует грамотному программированию - не срать в голобале, а инкапсулировать. Ты против общепринятых практик С#? И не только ты получается, а большинство так пишет, значит программисты на C# против практик которые сами же проповедуют? Так? В чём причины такого неадекватного поведения? Аргументы где? Разумное поведение где? Ты и остальные можете объяснить мотивацию своих действий?

>да и вообще - если уж это делегат вызывается СНАРУЖИ класса


Классы тоже используются вне классов. Так что, классы не нужны? Инкапсуляция не нужна?
51 3397864
>>397855

>Классы тоже используются вне классов. Так что, классы не нужны? Инкапсуляция не нужна?


Так и классы лежат ВНЕ классов (с) КЭП

>не срать в голобале


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

ты сначала изучи вопрос что такое инкапсуляция (даже если это на уровне сборки, а не класса), а потом приходи.

Это ты должен пояснять что за моча тебе в голову ударила, что ты тип, который используется СНАРУЖИ класса (как и 1005000000000 других таких же типов), должен помещать в какой то там класс.

Твое "я знаю что он используется снаружи и поэтому хочу поместить его в какой то класс" уже звучит как вызов к психиатру, где даже он удивится и спросит "А ЗАЧЕМ?"
52 3397878
>>397864

>Инкапсуляция не нужна?



Хуйня для пидоров не нужна
lib3.webp4 Кб, 128x128
53 3397879
>>397855

>Такая запись соответствует грамотному программированию - не срать в голобале, а инкапсулировать



Мамку твою инкапсулируем
54 3397880
>>397878
Чел. Выпей таблетки и изучи что такое инкапсуляция
55 3397893
>>397864

>Это ты должен пояснять что за моча тебе в голову ударила, что ты тип, который используется СНАРУЖИ класса (как и 1005000000000 других таких же типов), должен помещать в какой то там класс.


Потому что это не самостоятельный тип, а тип принадлежащий классу, это часть класса прибитая к нему своим предназначением. Часть класса должна быть в классе, а не валяться хуй знает где. Мусорить в глобале - противоречит всем практикам и банальному4 здравому смыслу. Объясни откуда это безумие нарушать здравый смысл. ПОЧЕМУ? Почему люди безумны и действуют неадекватно?
56 3397913
>>397364

>Зачем лишняя сущность делегат тогда


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

>Это ты должен пояснять что за моча тебе в голову ударила, что ты тип, который используется СНАРУЖИ класса (как и 1005000000000 других таких же типов), должен помещать в какой то там класс.



Я (>>397456) - не он (>>397745 >>397855), но отвечу.
Мало ли что используется снаружи. Я снаружи могу и метод класса вызвать. Значит ли это что я должен метод создавать вне класса?

Да ты и сам говоришь, иле не ты, что

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


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

>Так и классы лежат ВНЕ классов


А как же вложенные классы?
58 3397944
>>397942

>Значит ли это что я должен метод создавать вне класса?


А сможешь?

>Не понятно, что значит удалять


это значит что если он в моей сборке, то он помечен как internal (и плевать где он лежит) и меня НЕ ПАРИТ что кто то там его увидит и заюзает, а я потом решу удалить делегат и у него сломается.
А если он таки public, то уже ни о каком сокрытии речь не идет и неважно где он лежит.

>А как же вложенные классы?


в 99.99% случаев они имеют статус private. Но они чисто для удобства чтобы потом самому же и не запутываться. но это ПО ЖЕЛАНИЮ. я могу создать какой нибудь хелпер, но в нем будет дохрена строк и я его отдельно положу.
59 3398185
>>395748 (OP)
Сап, поясните ньюфагу плез чем ASP.NET отличается от Blazor-a? Первый это бек а второй фронт или как?
60 3398196
>>398185
Аспнет - это набор из нескольких технологий, там и кор, и блазор, и мвс, и грпц, и сигналр.
61 3398308
>>398185

> Blazor-a?


блейзор это подтехнология аспнеткора
62 3398314
>>398308
А чем .NET от .NET framework отличается?
63 3398339
>>398314

>А чем .NET от .NET framework отличается?



.net framwork - это старые версии, которые еще даже кросс-платформенными не были и работали только под виндой.

тебе в .net (его еще иногда называют дотнет кор). Там всё новенькое, чистенькое и модное
64 3398520
>>398339
Понял, спасибо, удачи вам товарищи
65 3398641
Жаль, что в шарпе нет поддержки препроцессорных директив в nuget пакетах. Чтобы к примеру отключать проверки на null и выброс исключений в таких случаях.
66 3398642
>>398641
Хорошо, что нельзя отключить, меньше долбоёбов будет бороться с эксепшенами.
image.png26 Кб, 709x157
67 3398643
>>398642
Долбаебы это те, кто не позволяет отключать компиляцию подобного мусора
68 3398653
>>398643
Да, согласен, проверки на null очень сильно замедляет работу. Один индус пересобирал core-clr с заинлайнеными статическими проверками на null, и у него общая производительность кода на 50% выросла.

Я сам никогда не пишу проверки на null, а кто пишет - долбоёбы
69 3398657
>>398643
Только долбоёбы будут это отключать
70 3399006
Только долбоебы
71 3399393
Чем нормально можно поискать ботлнеки?
Раньше пользовался доттрейс - всем устраивало, но сейчас ПРОБЛЕМКИ.
Еще давно пользовался ANTS - тоже отличная штука, но как-то с переходом на кору - перестали им пользоваться и перекатились на доттрейс. А но с ним будут те же проблемки вроде я думаю.
Ломанное на работе ставить низя(

Просто сейчас ищу че ж там загрузку замедляет приложения, и заебался. Когда мелкие данные - ну нихуя не понятно, всегда быстро. Как хуйнул нагрузку большую - так блин, там все вызывается, во всех местах и конукретные хотспоты - ну тяжко находить, а оптимизировать все - ну, ебатина.
72 3399418
>>399393
где ищешь хоть
73 3399432
>>399393
Тормозит бд, код дрочить бессмысленно. Вангую у вас там классическое idle in transaction.
74 3399458
>>399432
Напиши свою метрику, что-нибудь типо юсингов, которые замеряют блок кода, и строят флейм-чарт.

И в коде её и оставь, даже не удаляй
75 3399602
>>399432
Нет. Как раз БД не тормозит, потому что ее нет)
Вернее как. Это десктоп. Вся "БД" - JSON файлик который при запуске читается, при остановке - схороняется, периодически раз в n-минут создается "резерв" для восстановления если падение будет внезапным.

Тормозит именно логика инициализации там надо в процессе картинки-хуинки подругзить, поубивать всякое что мешает, привести объекты в состояние пригодное для использования и прочая залупистика.
Просто этого много и по всем ходить искать - ну такое.
76 3399686
>>399602
В студии же есть профайлинг
77 3399691
>>399602
Говнопидор ты, короче, разбей свой файлик на много маленьких файликов, может он у тебя разросся до сотен мегабайт, а может твоя мать просто снова себя неподобающе вела
78 3399719
>>399686
Студийный меня бы удовлетворял если бы не падал раз в 5 минут.
Доттрейс раньше я на ночь оставлял смотреть пока всякое гоняется.
79 3399738
>>399602

>файлик


Используй sqlite, его специально для этого придумали.
80 3399739
>>399738
Это нужно sql знать, особенно если хочешь компилить с aot, из-за чего не можешь использовать ef core
мимо
81 3399744
>>399739

>Это нужно sql знать


Ты прикалываешься?
Ну узнай, это не рокет саенс.
82 3399745
>>399739
SQL учится за день.
83 3399751
>>399738
SQLite был избыточен.
Нам просто надо дерево объектов хранить между запусками и сохранять настройки с состоянием.
Ну и SQLite - не решит проблему того что мы уже все в память загрузили и теперь бегаем объектики правильно инициализируем.
Говорю же проблема не в том как данные хранятся. JSON за пару миллисекунд парсится, а вот дальше начинается когда данных дофига.
84 3399770
>>399745

>SQL учится за день.



А потом еще лет 5 доучивается до вменяемого состояния
85 3399773
>>399770

>А потом еще лет 5 доучивается


Бля, вы заебали! Только заказал на Озоне книжку - "SQL за пол дня" и скроллю вакансии Сеньоров по БД, а тут такой облом!
86 3399775
>>399751
А тебе обязательно весь датасет разом в память выгружать даже с нормальной СУБД вместо файликов? Значит, у тебя где-то проёб в архитектуре твоей проги, переделывай.
87 3399776
>>399770
Это если тебе надо не загрузить пару записей для десктопного приложения, а ежедневно ебаться с оптимизацией запросов для всяких отчётов. Ты же не забыл, что мы тут не бэкенд обсуждаем?
88 3399794
>>399776

SQL учится за день.
@
А ЧЕГО ЭТО ОН ТОРМОЗИТ У МЕНЯ???
89 3399798
>>399794
Тормозит загрузка жсона по айди?
90 3399823
>>399798

>Тормозит загрузка жсона по айди?



Давай блядь в БД жсон складывать. Первые 10 раз не тормозит, а когда ты поиск делаешь по 10 форин-кеям - ты охуеешь
91 3399829
>>399823
Выбирай чанками меньше 10, пока всё не вытащишь.
92 3399851
>>399829
Иди на хуй, я лучше нормальные вмеру нормализованные связи сделаю поверх постгре
93 3399854
>>399851
Лол, ты тред жопой читаешь?
94 3399857
>>399854
Да,ты запихнул всё в один JSON, и теперь ебёшься с ним, потому что ты долбоёб. Иди на хуй вообще, я бек пишу и WPF принципиально двухметровой палкой не трогаю потому что вы там одну и ту же проблему по 10 лет решаете и всё решить не можете.

блядь, говнососы тупые, в один поток асинхронно писать не могут, а в многопоток ебуться как слепые щенки
95 3399861
>>399775

>А тебе обязательно весь датасет разом в память выгружать даже с нормальной СУБД вместо файликов? Значит, у тебя где-то проёб в архитектуре твоей проги, переделывай.


Да обязательно. Потому что за визуал отвечает - ебанат и хочет чтобы ему сразу все дерево объектов отдали. Потому что не захотел реализовывать частичную загрузку, я ему даже показал как - он сказал хуйня, давай мне все разом.
Я-то понимаю что проеб. Я говорил что это проеб. Но тот - рассказывал ЛПРу что я нихуя не понимаю, байты в руках не держал, вообще поколение тиктока и это не веб чтобы подгружать частями, а потому уже ЛПР мне сказал, что делай как он говорит. Я и делаю. Я понимаю что хуйня. Я просто хочу чтобы в моей части не было ботлнеков, и когда его посыпится - на меня свалить уже он не смог.
96 3399871
>>399851
Десктопная программа с постгресом в зависимостях, лол
97 3399880
>>399857
При чем тут вообще жсон не жсон? Еще раз - жсон загружается и парсится за пару миллисекунд.
Время уходит на то чтобы всю ебаторию проверить на корректность состояния, поправить если какой-то хуй кривыми руками полез в жсон, правильно всю хуйню сверху инициализировать, привязать одни сущности к другим, подгрузить локализацию, подгрузить картиночки, иконочки, хуеночки, шрифты, и если чел включил автоматическое обновление - проверить нет ли чего и обновить, если при обновлении произошла ошибка или оно несовместимо - откатить. Если при этом что-то пошло не так - найти снепшот того что работало нормально и повторить процесс с тем что было, попробовать при этом подгрузить то что в актуальном и что не подгрузилось - пометить как приводящее к проблеме. Сверху - в самом начале еще до жсона - надо проверить что хуйлан не вносил изменения посчитать хеши-хуеши и попробовать восстановиться скачав правильные файлы обратно. Сверху - проверить лицензию.
Ну серьезно.

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

Видимо придется как дебил брать дотбенч и самому мерить каждый метод. Это тупо, это долго, это надо все методы смотреть и не в реальных условиях а на синтетике. Но раз блин никто не знает - ну, ладно. Видимо ничего в дотнете кроме доттрейса и ANTS нету получается.
98 3399932
>>399880

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



А я потом думаю, хуле у меня приложуха погоды в три раза дольше винды загружается, лул.
99 3399946
>>399880
Падажжи, ты все это грузишь по сети?
100 3399955
>>399946
Нет. Только обновы если есть. Я ж не совсем еблан.
1-RGVVUyBIdiQo0vvQJNWTA.png192 Кб, 1200x900
101 3399975
>>399880

>Я просил посоветовать какой-нибудь годный профайлер, не от жидбрейнсов и ред гейт.



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

Захуярь скоупы, все подозрительные участки кода заворачивай в них. Один скоуп - один именованный замер времени. Скоупы могут быть вложенные. Суть скоупа - IDisposable. Твой код покроется кучей таких скоупов и тебя будет тянуть блевать от всей этой хуйни, это нормально.

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

В общем приложение загружалось 10 секунд
Из них:
5 секунд загружался JSON
5 секунд ебли твою мамку

Ну и соответственно, время, затраченное на твою мамку тоже может дробиться.
102 3400160
>>399955
Если это не сеть, значит, GC бесоебит. Больше просто нечему тормозить. У тебя джейсончик, возможно, где-то во время проверок строки конкатенируются по 100500 раз. Большой джейсон - большие строки, они уезжают в большую кучу, а потом GC пытается это говно собрать и тормозит.
103 3400175
>>400160
Ебать, ты диагност телепат, я хуею
104 3400239
>>399975

>Захуярь скоупы, все подозрительные участки кода заворачивай в них. Один скоуп - один именованный замер времени. Скоупы могут быть вложенные. Суть скоупа - IDisposable.


А можешь ссылку на какой-нибудь пример такого скинуть?
105 3400253
>>400239

Наверняка есть, но я не знаю. Придётся, скорее всего самому писать.

Да там делов-то на 300 строк кода, через чат-джипити нахуяришь за вечер
106 3400254
>>400239
... ну вот, например, есть пример https://miniprofiler.com/dotnet/AspDotNetCore , но это для аспнет кора
108 3400451
>>400254
>>400266
Thanks, bro.
109 3400880
>>400254
>>400266
Прикольная штука, тольк не совсем понял как бэкграунд процессы с ним профилировать. Там вроде есть отдельный метод с передачей externalProfiler-a, но нихуя непонятно откуда его брать и примеров для него нет.

И да - неймспейсы там пиздец какой-то.
110 3400943
Байтоёб в треде.

Вот нужно мне отправлять езернет-кадры в сеть. Недолго думая, езернет -кадр оформил в виде структуры с нужными полями. Но библиотека, через которую происходит отправка кадров, требует массив байтового типа.
Пытался, используя указатели по типу >>3386163 → , перегнать структуру в массив. Ну то есть беру указатель на структуру, привожу его к байтовому типу и далее в цикле переписываю каждый байт. В принципе даже работает, но когда я в структуру, в качестве очередного поля, добавил массив, то резко лосонул тунца - компиляция не проходит. Подозреваю, что это из-за того что массив - ссылочный тип.
Ну и, собственно, как быть? Как структуру перегнать в байтовый массив малой кровью?
111 3400976
>>400943
Сделай сериализацию через protobuf, он вроде как ничего лишнего не добавляет.
112 3401173
>>400943
Через маршалинг.
113 3401329
>>400943

>у то есть беру указатель на структуру, привожу его к байтовому тип



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

> Ну и, собственно, как быть? Как структуру перегнать в байтовый массив малой кровью?



сериализовать в абстрактный формат, например, протобаф
114 3401623
Решил вкотиться для расширения кругозора. Цены на книжки: 3к, 5к, 12к.... Это заранее предвкушают будущий уровень заработка читателя?
115 3401656
>>401623
Это заранее предвкушают пиратство.
116 3401673
>>401329

>дотнет не гарантирует выравнивание и порядок данных в объекте


Гарантирует (даже на Auto есть некоторые гарантии), но сам алгоритм в рантайме немного багованный/неэффективный на corner кейсах (где-то в комментах на гитхабе говорилось что-то подобное с примерами):
StructLayout.Sequential +
https://learn.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.structlayoutattribute.pack#remarks

>>400943

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


Может лучше MemoryMarshal.Read/Write?

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


fixed-size buffer или InlineArray:
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/unsafe-code#fixed-size-buffers
https://learn.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.inlinearrayattribute
117 3401704
Поясните нуфажине
Создаю в классе свойство

public string жопа { get; private set; }

Всё норм - снаружи изменить не могу. Но как только я делая массив

public string [] жопа { get; private set; }

так получаю полный доступ.
118 3401718
Всем привет. В рекордах можно как-то сделать что бы ToString массивы поэлементно показывал? А то даже если вручную перопределишь, синтез в базовых классах уже не работает, все вручную писать из-за массива. :С
119 3401719
>>401704

>так получаю полный доступ.


Ты получаешь доступ только к содержимому массива. Сам массив ты заменить на другой не сможешь. Если ты хочешь, чтобы и содержимое снаружи нельзя было изменить, то отдавай IReadOnlyCollection<string>.
120 3401745
>>401329

>дотнет не гарантирует выравнивание и порядок данных в объекте


>>401673

>...


Хотя хуй его знает, если поискать issue связанные с лэйаутом, то их пиздец как много. LayoutKind.Sequential вроде влияет на managed структуру если тип blittable (т.е. даже unmanaged недостаточно). Хотя много кода полагается на то что если структура unmanaged, то поля будут последовательно (с паддингами если нужно; если LayoutKind.Auto не стоит), так что вряд ли они будут этот момент менять (да и смысл). Можно конечно в dotnet/runtime спросить.

Просто к сведению:
https://github.com/dotnet/runtime/discussions/94481#discussioncomment-7502637
121 3401772
>>401719
Хе, интересно девки пляшут. Как вообще до такого смогло дойти?
122 3401775
>>401772
Дойти до логики и здравого смысла?
123 3401778
>>401775
нет там никакого здравого смысла. просто не продумывали. Так же как и с IReadOnlyList
124 3401779
>>401778
Попробуй вместо массива ссылку на объект. Поля этого объекта по-твоему тоже должны стать приватными что ли?
125 3401781
>>401779
вообще не понял что ты сказал.
В шарпе вместо того чтобы все сделать сразу - мутабельные, иммутабельные, фрозен/ридонли и соответственно с интерфейсами сделать, сделали абы как. И это просто факт.
126 3401783
>>401781
Вот и иди нахуй отсюда.
127 3401798
>>401775
Я к тому что зачем защита от подмены без защиты содержимого? Что за полумеры?
128 3401805
>>401798
Чтобы можно было менять элементы массива извне при неизменности ссылки на массив. Да и как массив должен догадаться, что где-то в чужом коде для него написан приватный сеттер?
129 3401856
>>401805

>Чтобы можно было менять элементы массива извне при неизменности ссылки на массив.


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

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


Почему в чужом? Всё ж в одной строчке пишется.
public string [] жопа { get; private set; }
130 3401871
>>401856

>так почему у массива могу? Где логика?


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

Выставляй наружу ридонли. Таких правда нет чтобы массив, но ты знал куда пришел.
131 3401873
>>401856

> Но тогда я могу поэлементно заменить массив и добиться того же самого как если бы подменил массив разом.


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

> Дырявая какая-то защита.


Это не защита, а специально так сделано, чтобы специально можно было заменить все значения элементов массива.

> У интовой переменной я вот не могу изменить содержимое, так почему у массива могу?


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

> Почему в чужом? Всё ж в одной строчке пишется.


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

мне всё равно заняться нечем
132 3401878
>>401871
>>401873
Ну может такое поведение и можно объяснить тем что массив - ссылочный тип, его содержимое как бы оторвано от имени. Но всё равно выглядит странным, если мне надо защитить массив, то мне надо защитить его полностью.

>Без такой фичи пришлось бы везде таскать делегат для геттера.


Тут твоя мысль от меня ускользает. Ну и ладно.

>но сеттер элементов массива ты не трогал


А такие есть? Для каждого элемента можно сделать свой?
133 3401901
>>401871

>Таких правда нет чтобы массив, но ты знал куда пришел.


Потому что - не нужно. Там где нужны массивы, похуй на ООП шелуху, а там где есть ООП - похуй на массивы, достаточно коллекций.
134 3401902
>>401901

> ООП


Лол, я бы посмотрел на код, где картинки обрабатывают в виде IReadOnlyCollection<IReadOnlyCollection<Color>>
135 3401904
>>401902

>где картинки обрабатывают


Ну так ты сам и ответил. Какое тебе там ООП, безопасность и модификаторы доступа при обработке графики. Ты будешь там хуярить с отключением проверок границ массивов и прочим ансейфом, чтобы нормальной скорости добиться и тебя вообще не будет ебать - private set там public или что-то другое.
136 3402059
>>401901
технически ты прав, но ситуация с Ilist говорит о том, что хрен кто вообще задумывался о какой то там ридонлистости, а больше "и так сойдет"
137 3402065
>>401904
Чушпанцер, видимость членов вообще никак на производительность не влияет.
138 3402069
>>402065
зато доступ через интерфейс влияет еще как.
139 3402074
>>402069
Что ж ты сдал назад как швайнехунд зелински после отъёба Трампом?
140 3402076
>>402074
Алярм! Протечка /по/раши в уютный тред!!
141 3402088
>>402074
ты о чем? я всегда обсирал коллекции шарпа во всех тредах.
Видишь кто то бочку катит на коллекции (да и на прочие WTF шарпа) - 99% это я.
142 3402168
>>402065

>членов


хехе, член
143 3402172
>>402088

>Видишь кто то бочку катит на коллекции - 99% это я.



Долбоёб, не разобрался с коллекциями.

Тут еще невдупляшка был, который не понял, как IDisposable пользоваться
144 3402175
>>402076

Ну хoxлoв тут тоже не надо. Я как-то работал с ними в одной кипорской компании, так они мало того, что нихуя не понимают, так еще и ленивые как пиздец
145 3402285
>>402172

>Долбоёб, не разобрался с коллекциями.


> IDisposable пользоваться


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

если с коллекциями все шикарно изначально, то нахрена ПОТОМ появились иммутабельные, а потом и фрозен? риторический вопрос.
146 3402330
>>402175

>так еще и ленивые как пиздец


Взоржал с мрий вм-мартышки
147 3402373
>>402285

>если с коллекциями все шикарно изначально, то нахрена ПОТОМ появились иммутабельные, а потом и фрозен? риторический вопрос.



В смысле риторический? МС пошло в сторону ФП причем давно, что бы не ебаццо с синхронризацией (все эти асинки, иммутабельность и прочее). Какому нибудь серваку на азуре пох на неэффективность, у него 1000 железных ядер, главное что бы не падало и не зависало из-за ошибки с синхронизацией потоков.
А чистые массивы из первой версии CLR, это конец 90-х.
148 3402380
>>402373
а зачем IReadOnlyList?
149 3402402
>>402285

>я и есть тот



Ясно, один и тот же долбоёб жалется на коллекции и IDisposable.

>кто продвигает лайфтаймы



мусор не нужен
150 3402405
>>402402
не жалуюсь, а тыкаю в очевидные недостатки.
Но что я могу пояснить говноеду - он уже привык жрать и радоваться.
151 3402407
Сколько в ПСБ сейчас вилка?
2 года назад прошел и получил оффер 190к + премии = 220к на руки на .NET/T-SQL разраба.
152 3402460
>>402402

>мусор не нужен


смотря где
ты правильно говорил "диспозе всего лишь метод". То есть диспозабле паттерн говорит "будет такой метод и его НАДО вызвать и тем самым произойдет очистка". ВСЕ.
Вот и вся навука про "как его использовать". Тут нет НИЧЕГО про то как его вызывать вовремя и не забывать.

Эту проблему решают другие средства типа контейнеров. И если в асп.нет у тебя есть контейнер, скоупы которого можно натянуть на диспозабле, то в десктопе у тебя есть НИХУЯ (огнетушитель тем, кто попытается это решить контейнером)

Поверь, довольно сложно правильно использовать НИХУЯ. Как то не очень получается и приходится городить огород. И лайфтаймы - самый удобный и крутой огород.
image.png714 Кб, 600x469
153 3402472
>>402460

>Тут нет НИЧЕГО про то как его вызывать вовремя и не забывать.



Ты так нихуя и не понял

>Эту проблему решают другие средства типа контейнеров.



При чём тут контейнер вообще? Ты еблан?

>И лайфтаймы - самый удобный и крутой огород.



Сука, ебучий коммивояжёр, блядь
154 3402474
>>402472

>При чём тут контейнер вообще? Ты еблан?


При том что диспозе не заканчивается на тупом using(var disposable =

и контейнер в асп.нет коре рождает и убивает все диспозабле которые scoped при каждом запросе.

Учи матчасть, понимака.
155 3402967
Подходит ли c# для вката жука-плавунца 35 лвл?
Есть вакансии для джунов? Как с фрилансом?
Знаю СИ, но я так понимаю, никакой связи с ним нету.
156 3403031
>>402967

>Знаю СИ



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

Если ты мудак, которые будет всех учить, что нужно экономить пол байта оперативки, и который простреливает себе жопу через каждые 12 минут - то, пожалуйста, оставь эту затею
157 3403039
>>402967

>Подходит ли c# для вката жука-плавунца 35 лвл?


Если сможешь полюбить Иисуса ООП и впустить его в себя - то вполне.

>Есть вакансии для джунов?


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

>Как с фрилансом?


Фриланс мертв сам по себе, а на шарпе его и не было особо. Сейчас только по знакомству, если тебя кто из-знакомых на какой-нибудь аутсорсный проект позовет, чтобы на подхвате быть.
158 3403054
>>402967

>Как с фрилансом?


Бля, ты такие вопросы задаёшь. Фриланс по определению ГЛОБАЛЬНЫЙ рынок. Потому он и называется ФРИ ЛАНС. Вся идея, что можно сидеть где-нибудь в Бангладеше и при этом находить клиента из Германии. Во фрилансе есть любая работа, на любом языке и на любом стеке. Кроме непосредственной работы с паяльником/лобзиком/станком и так далее. То есть на фрилансе нет только той работы где надо непосредственно сидеть в офисе/рабочем месте.

>Есть вакансии для джунов?


ВАКАНСИИ ДЛЯ ДЖУНОВ - это всегда 1-5% вакансий на рынке. До пизды какой стек. C#, java, python, ruby, C++, rust, и так далее. Возьми общее количество вакансий, ну например 2000 вакансий. Посчитай 1-5% от этого числа. И ты получишь общее количество вакансий для джунов. При этом, на этот 1% стремиться попасть 50% программистов. У них логика такая: ну и что, что там мало платят? Я не жадный. Мне много на жизнь не надо. 30к в месяц хватит. Посижу годик попержу, потом съебусь на сладкое место. В итоге он приходит, а там уже очередь из сотни человек таких же "мне много не надо, я пришёл за опытом". Он делает скриншот и идёт на двач, закатывает там истерику ПОМОЖИТЕ ЛЮДИ ДОБРЫЕ НИГДЕ НЕ БЕРУТ, ВХОД ВАЙТИ ЗАКРЫТ. В итоге жалобы, вопросы ШО ДЕЛАТЬ? Ну и так далее.
159 3403101
>>403054
все так, добавлю статистики
согласно данным на hh на сегодня на одну вакансию:
Python - 50 резюме.
C#/Java - 35
C++ - 25
в золотые ковидные годы в среднем был 10 рез/вак.

вообщем мне кажется hh.ru превратилось в помойку и убито HR-ми
которые ставят ЗП - 250к, едешь на собеседование, смотришь, а там уже 150к.
вот нахуя там делать...
какие есть альтернативы hh?
160 3403140
>>403054

>ВАКАНСИИ ДЛЯ ДЖУНОВ - это всегда 1-5% вакансий на рынке. До пизды какой стек. C#, java, python, ruby, C++, rust, и так далее



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

Но в целом многие крупные конторы сейчас склонны нанимать микрочеликов студентов с 1-3 годами опыта, а не сеньоров 10+ лет стажа. Просто потому что микрочелики дешевые и неплохо перформят, а сеньки очень дорогие и часто не оправдывают своих ожиданий.
У нас вот в команду сеньку взяли в конце прошлого года. Прошло вот уже почти 3 месяца. Но толку от него особого нет. Код пишет местами хуже, чем наши стажеры, которых мы на постоянную ставку джуна переводим. Какой-то топ экспертизы от него тоже не видно. Объективно очень средний челик, максимум мидл, не более того. Но зп у него сеньорская. И зачем таких нанимать, когда есть более молодые кандидаты, которые перформят так же, но стоят сильно дешевле?

Но тут важно отметить, что у нас стажировок довольно много, берем к себе умную студентоту из мфти и вшэ, всяких зумеров с явно выраженным свдг и low iq нормисов оставляем за бортом. И сами по себе мы не мухосранская галера, а бигтех на несколько разрабов.
161 3403142
>>403140

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


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

быстрофикс
162 3403155
>>403140
описал типикал бигтех галеру
где каждые пол года вводят ебанутые правила, тренниги, корпоративная этика, планерки, рутина.
тут что кому по душе, я в таких работать не могу, пусть даже и зп там в среднем выше.
мой выбор что-то среднее между НИИ и бигтех-галлерой
163 3403312
>>403140
Какой хороший гой, переживает за деньги кабана.
Во-первых, какой-нибудь абсолютно бесполезный скрам-мастер получает даже больше сеньки, а делает нихуя. Отдел HR можно разогнать весь к хуям, оставить одну девочку оформлять трудовые.
Во-вторых, чем больше кода, тем дольше происходит вкатывание в этот код. Майкрософт не просто так доплачивает своим сотрудникам за стаж. Три месяца - это вообще ни о чем, в большом легаси только через полгода можно ожидать от чела самостоятельной работы. Говорю по личному опыту лида в продукте с 20-летней историей.
В-третьих, разговоры о качестве кода выдают в тебе джуна, который прод не нюхал. Код или работает или нет, это единственное качество, остальное инфоциганство от мартина.
164 3403313
>>403101

>какие есть альтернативы hh?


В РФ - практически никаких. hh потому и скатились, что они уже лет 10 назад полностью выдавили всех конкурентов из интернета и могут творить что хотят. Из альтернатив только личный нетворкинг и может быть еще какие-нибудь ТГ каналы. Ну и напрямую искать сайты работодателей и долбиться к ним лично.
165 3403373
Ребята, как в EF core сделать несколько каскадных путей для удаления?
Прочитал что mssql по какой-то причине такое не поддерживает.
У меня сущности: Result <- User <- Group.
И я хочу чтобы при удалении группы удалялись юзвери и следовательно если удаляется юзер - удалять его результаты.
Пока что единственный вариант что я вижу - это на стороне базы сделать триггер на удаление.
Я реально не понимаю почему это не поддерживается в mssql?
166 3403380
>>403373
Не еби мозги, удали сущности по очереди на уровне c# кода.
167 3403404
>>403380
Походу так и сделаю.
168 3403415
>>403380

>Написать хранимку, которая удалит все за один поход в бд - не хочу.


>Дрочить бд, отправляя запросы в цикле - заебись идея!


Бекенд разработка в 2025 году.
169 3403592
на с# можно мобильное приложение запилить включая фронт? Или только бэкенд?
170 3403615
>>403592

> на с# можно мобильное приложение запилить включая фронт? Или только бэкенд?



Да, можно
171 3403616
>>403373

>Прочитал что mssql по какой-то причине такое не поддерживает.


DELETE CASCADE не поддерживает?
не может такого быть
172 3403618
Куда дели ildasm? Я помню в .net framework находил как-то, но в обычном .net я не могу разобраться. Я так понял графический интерфейс нахера-то убрали и оставили консольный. По книжке пример надо разобрать, но я бля не могу найти этот обосранный дизассемблер. качал из nuget'a, качал какую-то хреньб с гитхзаба компилил, ниче не запускается. Памагите((( Хотя хз зачем мне этот дизассблемре я и так язык не знаю еще. Просто консось не знает такой команды даже когда прописываешь команду dotnet add чё-то там короче установка этого говна
173 3403625
>>403618
В богомерзком rider присутствует, в VS тоже встроен вроде
174 3403652
>>403616
Перечитай пост.
Для множественных путей не поддерживает.
175 3403689
>>403625
не, я походу долбоеб, найти не могу. раньше все находил терь ваще не могу ладно похуй. спс за попытку помочь
image.png179 Кб, 1120x1260
176 3403878
Как же я люблю шарп, пиздец просто
177 3403883
>>403689
Если в райдере, то шифт шифт и il пишешь.
178 3403996
>>403878
Ты сам себе злой буратино который выбирает неподходящий инструмент.

Ещё раз. Все эти штуки в С# нужны для взаимодействия с кодом на С/С++ или иных подобных задач.
image.png8 Кб, 459x88
179 3404029
>>403878

>GetAddressOf()


>на переменную в классе


Я так понимаю у тебя там "ComPtr<ID3D11Device> _d3d11Device", и ты вызываешь GetAddressOf() на ней, да? Вот только GetAddressOf() возвращает указатель на саму переменную, если я правильно понял, это же будет опасно (GC подвинет), не? Ну и про остальные переменные тоже самое.
180 3404032
>>403878
И ещё ты GCHandle не сделал Free().

>>403996

>Ещё раз. Все эти штуки в С# нужны для взаимодействия с кодом на С/С++ или иных подобных задач.


А он что делает?
181 3404045
Про какую проверку на null тут говорят? Разве в машинном коде автоматически все ссылки проверяются на null? Я в первый раз про такое слышу.
В прошлом треде об этом говорили, но в итоге не привели доказательств этому.
182 3404047
Почему лучше вкатиться в шарп, нежели в джаву? Знакомый решил изучать джаву, и сказал мне, что шарп говно. Но я не знаю ничего про джаву, только то, что там миллион васянских библиотек и много костылей, аля дженериков с их стиранием типов. Может есть аргументы получше?
Чем, например, asp.net core лучше спринга?
183 3404057
>>404047
Оба языка аналогичны по возможностям, разве что в шарпе синтаксис поприятнее. Васянских библиотек везде полно, но на то они и васянские, что нормальные люди их использовать не будут. Аргументов лучше личных предпочтений ты не услышишь, если бы было что-то серьёзное, выбор был бы очевиден, и на одном из языков просто никто бы не писал.
184 3404062
>>404057
Мне человек, который работал на джаве, говорил, что в джаве много популярных библиотек, которые решают одну и ту же задачу. Из-за этого приходится знать их все, когда в шарпе есть универсальные решения, аля ef core, masstransit и етс, и многие из них разрабатываются самими мелкомягкими. Еще он говорил про проблемы с версионированием.
185 3404071
>>403101

>C++ - 25



При этом в плюсы мало кто вкатывается. Значит это уволенные специалисты?
186 3404112
>>404047
На джаве больше вакансий.
За джаву больше платят.
На джаве значительно меньше фулстек параши с аутстаф галер. В сишарпе с этим просто беда, микрософт целенаправленно превращают дотнет в нодежс для дебилов. После ухода Гейтса все покатилось в пизду.
В джаве надо знать спринг и суметь пояснить за канкаренси на собесе, реактом и кубером занимаются другие люди. В сишарпе почитай требования на типичную вакансию, ты охуеешь (потом сравни зп и охуеешь во второй раз).
На джаве куча вакансий на продукт, а не на финтех говно проект 3 месяца.
v6s2reqn8dne1.webp49 Кб, 720x960
187 3404126
>>403054
Имеет смысл залетать на миддла с пет проектами без опыта коммерческой работы? (пукать в офисе)

Какого вида вообще пет проекты надо иметь если вкатываешься в бэк на сишарпе? Рестфул хуйню любой может написать и я не думаю что кого-то это впечатлит.
188 3404151
>>404126
Сервис бронирования или электронную очередь.
189 3404167
>>404112
Как перекатиться с wpf на java spring? Сейчас получаю 130к и понимаю, что для впф это почти потолок
190 3404186
>>404057

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



Ага, давай сравнивать заплесневелый javaspring, где закаменели худшие ООП практики: вся эта ебала с АОП, XML код вперемешку с java, DDD, встроенный в DI контейнер... с новеньким aspnet-кором, который уже 10 лет причёсывают и упрощают?
191 3404207
>>404186
И который все равно медленнее спринга...
192 3404230
>>404207

>И который все равно медленнее спринга...


Да, конечно, как скажешь
{3F42FE99-7BB6-4900-9B33-CF7CEAC986AA}.png52 Кб, 498x1016
193 3404266
Спрошу тут, может кто знает. А то пробовал гопоту спросить, а она ничего вразумительного не говорит.
Суть. На текущем проекте ебанутый кодстайл.
Я, не люблю со своим уставом в чужой монастырь ходить.
Но я не хочу ручками выравнивать.
Приложу пример стиля.
Было бы славно если бы сказали в какую сторону копать.
194 3404281
>>404266
.editorconfig
image.png201 Кб, 720x326
195 3404284
196 3404292
>>402967
>>403054
А что, собственно, с фрилансом? Что на Java, что на C# ситуация одинаковая. В РФ есть аутстафф-галеры, которые устраивают тебя к себе самозанятым и находят временные проекты сроком примерно на полгода. Я так работаю с начала ковида. Много не заработаешь, но на еду хватает (а больших денег во фрилансе, собственно, и не бывает). Можно сидеть дома и не надо мониторить вакансии самому. На глобальном рынке жителей РФ и Украины не нанимают, к тому же есть гораздо более дешевые индусы (а большой потребности во фрилансерах нет).
197 3404305
>>403313

>Из альтернатив только личный нетворкинг


Наилучший вариант, но это исключительно для сеньоров с 10+ годами стажа. Для остальных только hh.ru и career.habr.com.

>Ну и напрямую искать сайты работодателей и долбиться к ним лично.


Крупным IT-компаниям (Яндекс, ВК, Сбер и т.д.) такое не нужно, и ответа не будет. А вот галерам можно писать, они ищут работников для проектов. После ухода EPAM и Luxoft, например, можно в i-teco.ru (они работают исключительно на российском рынке).
198 3404429
>>404266

>Я, не люблю со своим уставом в чужой монастырь ходить.



Такое говно вижу впервые, и оно вызывает у меня грусть, потому что его скорее всего придумал человек, который очень мало c# кода читал. Более того, он мудак и раскольник.

Если автоформатирование не работает - просто игнорируй эту хуету.
199 3404448
>>404429

>который очень мало c# кода читал


либо сторонник лимита в 80 символов.
типа так diff проще и на мобилах читать проще и вообще.
200 3404449
>>404266

>true == b is 0


Это какой-то отбитый сишник писал, не иначе. Я даже не могу представить, под какими веществами можно родить эту конструкцию.
201 3404463
Неофит вкатился в тред. Как обстоит вопрос с лицензированием прог от микрософта? Можно ли легально приобрести студию, венду, sql сервер? Как вы программируете на работе, в комьюнити версиях студии или других? Могут ли у работодателя возникнуть проблемы, если сотрудники пользуются ломаными или комьюнити версиями софта, или всем похуй?
202 3404469
>>404463
Да под С# какие могут быть платные проги? Сижу на linux, net core позволяет, студию не ставил, в vscode сейчас все плагинами решается, накрайняк vscodium, vim, zed. Базы данных в основном PostgreSQL, MySQL. Ну может только Azure - вот тут да. Надо искать альтернативу.
203 3404491
>>404448

>либо



ну и пусть сам ебётся. Есть рекомендации от микрософт, общепринятые стандарты. Игнорировать их - себе жизнь усложнять
204 3404521
>>404463
Работаю в банке. На рабочей машине стоит VS2022 с энтерпрайз ключом от работодателя. Ключи покупались конторой где-то в 23-м году, когда их типа нельзя было уже купить. На своей тачке так же пользуюсь VS2022 комьюнити эдишен. Брат жив, зависимость есть.

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

Ну и VSCode естественно, но она в основном для работы со всякой мелочью типа конфигов, js-а и местного ИИ.
205 3404581
>>404521

> Вот райдер купить или еще какие приблуды от жидбрейнсов - это уже хуй.



райдер бесплатный
206 3404591
>>404581
Хуй знает, не слежу за ним, в прошлом году вроде еще платным был. Решарпер точно все еще платный.
207 3404592
>>404581

>райдер бесплатный


не для коммерческого использования.
208 3404606
>>404592

>не для коммерческого использования.



Так ты на нём и не занимайся коммерческой деятельностью
209 3404614
>>404592
У нас на работе все пользуются бесплатной версией, проблем вроде нет
210 3404626

>Интерактивные приложения Blazor на стороне клиента



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



Что значит производительность на уровне внутренних компонентов браузера? Т.е. скорость открытия всяких браузерных менюшек? Т.е. быстрее чем фронт написанный на жс?
211 3404641
>>404626
Производительность на уровне внутренних компонентов браузера означает, что Blazor WebAssembly может работать с такой же эффективностью, как и нативные операции браузера (например, рендеринг страницы), Быстрее, чем традиционные приложения на JavaScript, в некоторых случаях, когда речь идет о сложных вычислениях или обработке данных.
212 3404642
>>404626

>Т.е. быстрее чем фронт написанный на жс?


В теории да - там неонка wasm внутре. Но очень многое зависит от твоих кривых рук.
213 3404687
>>404614

>проблем вроде нет


А так всегда бывает. Проблем нет пока они не начнутся.

Я вот планирую жить вечно и пока удается.
214 3404796
>>404626
Это значит, что с блазором мартышке не надо понимать, как работает сеть. Где рякт отправит один джейсон в конце, приложение на блазоре будет дергать бекенд на каждый пук на форме. Ну а че, на локалхосте все работает быстро.
215 3404801
Какую из этих трех книг читать нубу?
1. C# для чайников Автор книги – Джон Пол Мюллер
2. Программирование на C# для начинающих 2е части Автор: Алексей Васильев
3. Head First. Изучаем C# 4е издание Авторы: Эндрю Стиллмен, Дженнифер Грин
216 3404806
>>404801
Читать шапку.
Screenrecorder-2025-03-09-06-21-03-669.mp411 Мб, mp4,
864x1920, 0:12
217 3404810
>>404801
Ой бля из-за одной сраной книги сейчас будет консилиум собирать, я просто заказываю пачку книг и не парюсь, завтра должны 10 книг привезти и я представь себе не консультировался с двачем по этому поводу.
218 3404826
>>404810
А как ты поймёшь, в каком порядке будешь их читать? Подбросишь десятигранник?
219 3404945
Чет мне кажется подход с тем что контроллер - просто точка входа - каргокульт.
Сам писал так долго.
К чему приводит. Обычно - сервис все равно нигде кроме одного контроллера не используется. При этом - если еще и интерфейсы вынесены - ты просто f12 нажать чтобы перейти не можешь, надо ctrl+f12, не большая проблема, пока вы вдруг тесты не начали писать или кодген какой-то не подрубили.
Вообще. Чет у меня кажется кризис среднего возраста. 10 лет пишу и типа чем дальше, тем больше все что там писал - кажется каким-то карго культом. Ну, вынес я интерфейсы, ну, делаю я сервисы отдельно. Че дает? Дает то что вместо того чтобы за 10 секунд поправить в контроллере, я иду в контроллер, ищу что ж там за сервис для апишки вызывается, иду ищу где ж там сервис такой. Потом вспоминаю, что я решил что и сервис будет точкой входа, а дальше он в CQRS начнет оборачивать и через медиатор дернет хендлер. Ищу хендлер. Нахожу хендлер где-то запрятан в глубинах. Таки нашел. Поправил. Забыл через секунду все это и в следующий раз то же самое проделывать буду.
Не. Ну справедливости ради - иногда было полезно, когда оказывалось что надо добавить апишку похожую, но в другом контроллере с другими способами проверки прав, и чутька другой обработкой, там таки да - о, у нас же уже в сервис вынесено - просто перенаправим в него. Но в большинстве случаев чет жижей сейчас кажется.
Короче. Я не знаю. Чувство что я большую часть карьеры какой-то надуманной хуйней занимался. Скажите что-нибудь хорошее про медиаторы, CQRS и прочее, чтобы мне легче стало и я просто перестал об этой хуйне думать.
220 3404950
>>404945
Ну возьми вынеси абсолютно всю логику в контроллеры (да хотя бы даже не всю, а только бизнес, без DAL) и поработай так месяцок.
Вот когда ты охуеешь эти портянки править и внедрять в них что-то новое, тогда и поймешь зачем это. Особенно когда тебе не одна, а несколко смежных задач прилетает. Ну или не только тебе, а когда приходится еще с кем-то в команде над смежным функционалом и вам потом приходится пару дней сидеть и резолвить конфликты.
221 3404969
>>404826
Смысл не порядке, а в просто чтении. Никак я не выбираю порядок. В зависимости от настроения беру понравившуюся. Если слишком занудная или сложная то откладываю. Беру книгу если еду в поезде или транспорте или стою в очереди. Если поезд, то могу страниц 200-300 прочесть. Если общественный транспорт страниц 10-15 в одну сторону и столько же в другую. Из технической литературы читаю про duckdb, нейронки и архитектуру и проектирование апи. Вот в принципе и всё.
222 3404986
>>404945

>Скажите что-нибудь хорошее про медиаторы, CQRS и прочее



Про медиатр ничего хорошего сказать не могу, это мусор. Гораздо проще писать CQS заебали путать cqs и cqrs без этой хуйни.

Просто заинжекти команду или квери и исполни её

Медиатор, ещё раз повторюсь, это мусор, который просто навигацию по коду превращает в болото. А если скомбинировать с автомаппером - получается ад.
223 3404989
>>404950

>тогда и поймешь зачем это



Не подменяй понятия. Выносить логику из контроллеров это хорошо. Медиатр это плохо
224 3404993
>>404826
читаешь все подряд в любом порядке. читаешь чужой код в любом порядке. Раньше для этого требовался хоть какой то "понимаю в общих чертах". А сейчас можно спросить у ИИ "что тут вообще блин происходит". И даже простая гптмини тебе разжует и в рот положит.
225 3405005
>>404945

>контроллер


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

>медиаторы


Нахуй не нужен этот паджит стайл. Используй саги.

>CQRS


Это про инфраструктуру, а не про код. Пишем в мастер базу, читаем с реплик, тем самым масштабируем систему на чтение. Задача для девопса.

>сервис будет точкой входа, а дальше он в CQRS начнет оборачивать и через медиатор дернет хендлер


Чтобы что? Логика вызова микросервисов должна быть в саге, сам микросервис про другие ничего не знает.

Короче, ты наворотил абстрактных абстракций, а теперь удивляешься. Чем проще - тем надежнее.
226 3405075
>>404810
И сколько из них ты прочтешь интересно?
227 3405078
>>404806
Не заметил в шапке книг.
228 3405108
>>405005

>саги


>просто


>надежно


У тебя в проекте этого быть не должно. Любые попытки сделать распределение транзакции это ошибка проектирования системы.
229 3405116
>>405078
потому что они не нужны.
230 3405178
>>405108
Нет.
231 3405216
>>405178
Если такой дохуя умник, расскажи как у тебя саги устроены? Я без шуток, никак это знание древних протоереев освоить не могу
232 3405343
>>405216
Саги изначально призваны решать проблему которая появляется от кривых мозгов. Если у тебя два разных сервиса должны атомарно что-то сделать и необходимо откатить А при падение Б, то
1) на самом деле операции А и Б могут быть независимы и атомарность ты сам придумал.
2) на самом деле они должны быть просто в согласованы в периоде времени N. То есть буквально делаешь события.
3) ты неверно провел декомпозицию сервисов. Необходимо объединить все сервисы что участвуют в транзакции в один.
233 3405569
>>405343
Сервис Б пишет другая команда. Твои действия?
Как ты собираешься делать перевод денег без атомарности?
Сервисы объединить невозможно потому, что данные физически лежат на разных шардах в разных базах. Надо передать данные от шарда А к шарду Б и откатить, если что-то пошло не так. Как будешь решать эту задачу без саги? Размазывать код тонким слоем говна по 100500 медиаторам?
234 3405570
>>405108
О, вы из епама!
235 3405575
>>405216
Сага - это отдельный сервис, одна сага на каждую бизнес транзакцию. Это одна строка в бд и один конечный автомат в коде. По сути тот же аутбокс, только для N сервисов. Вся логика откатов и ретраев находится в одном файле, логику легко понять и покрыть юнит-тестами. Никакого ебаного месива из медиаторов, весь код в одном месте. Если сага застряла, ты просто правишь данные в бд и руками перекатываешь ее куда надо. Если для эксперимента надо сагу немного изменить, ты просто копируешь один файл и запускаешь рядом новую сагу, старая работает как раньше.
Из минусов - для саги нужен девопс все настроить. Поскольку в аутстаф галерах дейплой происходит мышкой через админку, для них саги это сложна нипанятна лучше пукнем джейсоном в очередь.
236 3405730
>>405575

>Никакого ебаного месива из медиаторов



Не понимаю, нахуя вы пишите про медиатры вообще? Они же никак не влияют на кодовую базу кроме как попытка заменить DI, и
237 3405768
>>405730

>Они же никак не влияют на кодовую базу кроме как попытка заменить DI


в каком месте они заменяют DI? они на нем и базируются
Они (да почему они то) призваны разделить запросы и обработчики, попутно унифицируя выбор хендлера и имея возможность вмешаться в процесс обработки.

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

А когда от приседаний начинают болеть коленки, то тогда челы приходят на двач и начинают лить каки (и заслужено) на медиатры.
238 3405802
>>405730
Мы точно говорим про одно и то же?
Медиатор - это сервис, который выгребает ивенты из кафки. Юзер сервис пукнул в кафку джейсоном "user created", медиатор занюхал и дальше вызвал сервис емейлов "отправить письмо". Или поменял статус в сервисе интеграции. Или еще сделал какую хуйню, в зависимости что нам надо в этой конкретной бизнес транзакции.
Если ты про библиотеку Mediatr, с помощью которой шизы на архитекторе пытаются имитировать работу по сети внутри локального процесса, то это запредельный пиздец и рак мозга.
239 3406006
>>405768

>в каком месте они заменяют DI? они на нем и базируются



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

В итоге каша получается без слоёв, без структуры. 🤮
240 3406009
>>405802

> Мы точно говорим про одно и то же?



Вот ты разделяешь, а многие думают, что это одно и тоже
241 3406028
Как подключить Mediatr к кафке?
242 3406038
В чем проблема использования медиатра как ивент брокера? Постоянно вижу что его поливают калом, хочется разобраться. Какие есть вообще альтернативы?
243 3406042
>>406038

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


Вызов методов.
244 3406086
>>406038

> В чем проблема использования медиатра


В том что решает ровно ноль проблем, но при этом навигация по коду усложняется.
245 3406165
Что мне мешает реализовать внутреннию шину сообщений внутри сервиса и пушить в неё события кафки?
246 3406205
>>406165
Ничего. Всегда так делаю.
247 3406222
>>406165

>и пушить в неё события кафки?


отсутствие кафки мешать может
248 3406250
>>406038
Зачем тебе вообще понадобился ивент брокер? Чтобы что?
249 3406261
>>406250
Я в дескотопе, есть команды от юзера, есть хендлеры, которые их исполняют, есть разные политики исполнения, разные контексты и т.д. Вместо медиатра какая то своя реализация, но принципиальных отличий не вижу, вокруг него вроде бы все тоже самое можно накрутить.
250 3406264
>>406261
Что такое команды от юзера? Ивенты OnButtonClick? Так они нужны только для биндинга. Как только исполнение дошло до контроллера, дальше спокойно вызываешь методы без пердолинга с шиной.
Мы используем концепцию скриптов. Это литерали то же самое, что сага в облаке, только на десктопе. Надо тебе допустим сделать выгрузку в эксель, во вьюмодели в обработчике Export просто вызывается _script.Run(data) где _script это IExportToExcelScript инжектится через DI. Навигация по коду работает, в отличие от шины событий.
251 3406270
>>406038
Проблема в том, что когда у тебя обычные вызовы методов, ты можешь с Ctrl проклинать или делать find all references, а когда у тебя ивент брокер, тебе надо сидеть и смотреть, как там ивенты называются и пр.
И если с обычным di и вызовом методов ты можешь построить граф зависимостей, то с ивент брокером это совершенно невозможно, никто не сможет через полгода в этом спагетти разобраться, а это обязательно приводит к багам.
Явное > неявное.

Я конкретно с медиатором не работал, но мне несколько раз доставался код с ивент басами на овощных разных языках, и оно везде только мешало и было нахер не нужно.

Так что я могу со всей ответственностью заявить, что это антипаттерн.
252 3406288
>>406250
Ну когда у тебя есть шина сообщений ты можешь пукнуть сообщение и все его обработки будут вызваны.
Добавление нового не требует создания новых методов сервиса или добавления 100500 вызовы медиатора. Ты просто пишешь новый обработчик.
253 3406339
>>406288
Ты в любом случае правишь код. Почему нельзя просто вызвать метод напрямую, а не через шину?
254 3406367
>>406270
Хуже. С шиной сообщения размазываются слои приложения, и начинается пиздец, когда кусок кода вызывается или не вызывается в зависимости от ряда косвенных признаков из неизвестно откуда. Приложение становится разнонаправленным, теряет всякую свою организацию и превращается в ад.
255 3406546
>>406367
Куда размазываются. У тебя в Application слое должны лежать все обработчики и там же находится объявления событий и там же лежать сервис который пукает сообщения из очередей к тебе.
Все твои вызовы шины должны также находится внутри Application потому что это слой где лежит ВСЯ логика приложения.
256 3406629
>>406546
Видел проект, в котором команды и хендлеры лежали во всех слоях.

А знаешь, почему? Потому что там, например, была команда-репозиторий, которая возвращала IQueryable, и лежала в ДОМЕНЕ, а в домене она лежала потому что Ентити-фреймворк удобнее в домене держать.

Я после двух месяцев созерцания переписывания сервиса с 5000 строк на медиатр+автомаппер на 50 000 строк, я уволился одним днём.

То есть, буквально, был сервис, который в одну сторону перекачивает данные из сторонней апишки в БД, а стал ГЕКСАГОНАЛЬНЫЙ ДОМЕН-ДРИВЕН СQRS, где обязательно нужно писать валидаторы с проверками на нулл входящих параметров потому что все команды маппятся автомаппером, и просто никто не знает, может там быть нулл или нет.

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

Первый раз был когда на проект с действительно большими проблемами (PolicyOne) наняли О, АРХИТЕКТОРА, который вместо того, чтобы упрощать рекурсивную зубодробительную логику, начал пытаться переписывать всё на автомаппер+медиатр. Переписывание заняло пол года, в которые я искал новый проект, а когда я уволился - начались массовые увольнения, потому что ОЙ.

Короче, пацаны, я с полной уверенностью заявляю, что подключение медиатра - это всегда дьявольщина.
257 3406906
>>400976
>>401173
>>401329
>>401673
Хуйня из под коня ваш протобуф. Только зря с установкой битый час проебался. Какую-то левую хуету добавляет.
258 3406941
C# разве кому-то сейчас нужен вообще?
259 3406980
>>406941
Ты не охуел часом, подобное заявлять?
260 3406990
>>406941
Скоро не нужен будет. Нейронки будут по одному большому промту сразу в двоичный код хуярить и всё. Программисты пойдут на хуй как и добрая часть ит
261 3407041
>>406990
ты просто хреновый программист поэтому ЗАВИСТЬ )

Программистам ХАНА уже через ГОД — об этом абсолютно серьезно заявил CEO Anthropic и создатель Claude, Дарио Амодей.

заявление для дурачков )
Потому что если ии научится понимать тз и писать полноценный код как надо - то у человечества будут уже совсем другие проблемы.
А до этого - ну не думает ИИ не думает. она всего лишь математическая функция комбинирования.
262 3407043
>>407041

>Программистам ХАНА уже через ГОД — об этом абсолютно серьезно заявил CEO Anthropic и создатель Claude, Дарио Амодей.


По-моему он писал про том, что 90% или более программного кода будет написано нейросетью
263 3407059
>>407043
и что через 12 месяцев ии будет писать практически весь код. что эквивалентно "программисты не нужны"

Ога проходили уже не раз это "вот ЭТО позволит даже домохозяйкам"

не знаю у кого там код ии пишет - у меня используется как замена so, с теми же проблемами что допиливать нужно.
264 3407067
>>407043
Ну да, следовательно, 90% ныне действующих вебмакак, которых здесь принято ласково называть "программистами", отправятся на мороз - никакими компетенциями, кроме знания модного ФРЕИМВОРКА, они не обладают. Оставшихся отправит на мороз следующее поколение "ии" лет этак через 5-10.
265 3407071
>>407067

>Оставшихся отправит на мороз следующее поколение "ии" лет этак через 5-10.


ну да ну да. свежо предание.
266 3407072
>>407067
А кто будет переводить требования бизнеса в промт? Появятся какие-нибудь промтописатели, которыми станут нынешние программисты, а ит перестанет быть чем-то невероятным, как юристы в своё время. ну или промты будут директора или менеджеры ебашить, лол
267 3407088
>>407072

>Появятся какие-нибудь промтописатели


Да, верно, с "хорошей зарплатой" типа $800/мес - ради этого всё и затевается. Ну и нужно их будет сильно меньше, чем нынешних веб-кодеров.
А в конторах поменьше может и менеджеры превратятся в промпт-менеджеров (за те же деньги, естественно) и будут сами промпты хуячить, да. Тем более, что нейрокал уже поумнеет к тому времени.
268 3407123
>>407072
>>407088
боже какие же вы идиоты...
ради интереса сколько вам лет?
269 3407125
Там Микрософт переписали компилятор тайпскрипта на го: https://devblogs.microsoft.com/typescript/typescript-native-port/
https://github.com/microsoft/typescript-go/discussions/411
В комментах недоумевают почему не раст, а у шарперов просто пердаки порвало за то что сами Майкрософт на нём не пишут.
270 3407130
>>407125
недумевакам бы самим на расте пописать.
271 3407145
Пацаны, как безболезненно локализовать логи приложения?
Типа вот был десктоп. Писали логгером логи.
Кому-то пришла охуенная мысль - пусть и пользователь видит.
Ну, сказали - сделали.
И тут началось: А чо на английском, а че не локализуется, а че так много, нахуя это пользователю.
И типа - ну, давайте уберу. НЕТ, ЭТА НАДО, просто сделайте как-нибудь чтобы только то что надо пользователю и локализовано.
Но откровенно - а я откуда знаю что надо пользователю, и что локализовать что нет. Так-то да, я могу просто по темплейту фильтровать и если темплейт - правильный - искать локализованое сообщение и выводить его.
Просто вот в RenPy видил вообще охуенное решение, там оно как-то выковыривало все строки и можно было карту сделать, типа старую строку на новую. Думал похожее нахуярить, но логи же - типа на то и логи, что их хуярят на каждый чих - я хуй найду все строки которые нужны...
272 3407157
>>407125

>почему


Потому что это работа которая нахуй никому не нужна. Сделают - хорошо, нет - похуй итак работает. Рабода для того, чтобы какого-нибудь инициативного дурачка занять. Он к начальству пришел и "а можно я на го сделаю?" - "Да делай на чем хочешь, отъебись только, не до тебя сейчас."
273 3407158
>>407145

>как безболезненно


Если безболезненно, то вариант только один - съебать с этого проекта (да и с десктопа вообще). Все остальные принесут только боль.
274 3407178
>>406906

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



Их несколько разных пакетов для поддержки протобафа. Это сложная хуйня вообще, но за вечер не вкатишься.

https://github.com/MessagePack-CSharp/MessagePack-CSharp Вот эту посмотри еще, вроде популярная
275 3407181
>>407125
А на чем он был написан то изначально?
276 3407185
>>407125

>почему не раст


Каждый раз проигрываю с этих ебнутых сектантов. Если завтра на Марсе найдут древние наскальные письмена протомарсиан, первым комментарием будет "почему не на расте".
277 3407222
>>401878

> Тут твоя мысль от меня ускользает.


Поздравим этого анона, он осознал глубину своей некомпетентности и тем самым преодолел свой синдром Даннинга-Крюгера.
278 3407372
>>407181
На тайпскрипте и был
279 3407419
>>407372
А во что он компилирует?
280 3407426
>>407419
В жс
281 3407435
>>407426
смешно
282 3407436
>>407435
Ниче смешного. У тайпскрипта с жс экосистема пожирнее будет чем у шарпа. Сами же майки к ней руки приложили, им и надо всю эту хуйню поддерживать
283 3407488
>>407436

>экосистема пожирнее будет чем у шарпа



а какая экосистема нужна шарпу? Компилятор в JS?
284 3407491
>>407488
В жс есть все как в греции. Впрочем в шарпе тоже. Но в жс по несколько альтернатив с одинаковыми фичами
285 3407507
>>407491

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


то есть, есть несколько альтернативных компиляторов JS в JS?
286 3407511
>>407507
десяток
287 3407643
>>407222
Будто я до этого не понимал. Ващет с самого начала сказал что я нуфагиус.
288 3407684
>>407491
is-even
even-is
js-is-even
number-is-even
is-even-number
is-even-number-v2
is-even-or-is-string-starting-with-foo
289 3407766
>>407123
Что выведет следующий код? Дай короткий ответ.
```python
print('Не знаю, я еблан')
```
290 3407767
>>407766
Второй раз я на это не поведусь!
291 3407769
>>407766
он даже не скомпилируется.
292 3407772
Эх. Не успел я вкатиться в программирование на c#. Пошёл работать блядским сис админом на завод, отработал там ебаные два год, тем самым упустил время на вкат. А щас уже поздно, джуны нахуй еикмо не нужны + замена программеров на нейронки. Просто минус мораль
293 3407786
>>407178
Этот протобуф перед каждым полем ещё два байта добавляет. Скорее всего это информация о размере, для десериализации. Но могли бы не в кучу всё лепить, а как-то в отдельный массив её выделить чтобы не мешалась, хочешь передавай, хочешь нет. , Или хотя бы в конец добавлять.

>Вот эту посмотри еще, вроде популярная


Не буду, 99,99% такая же херня.

>>401173
>>401673

>Может лучше MemoryMarshal.Read/Write?


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

Вы бы хоть сами проверяли что советуете, я с вами только время теряю. Как в том анекдоте про кур и корм разными фигурами. Вообще пиздец.
294 3407806
>>407786

>Как в том анекдоте про кур и корм разными фигурами


Хз что за анекдот, но у нас еще много идей
295 3407816
>>407786

>>>401173


>>>401673 (You)


>>Может лучше MemoryMarshal.Read/Write?


>А эта поделка неспособна в структуры с массивами.


А я там ещё сказал использовать InlineArray или fixed-size buffer вместо обычного массива.
296 3407832
>>407786
Ты взял нетипичную задачу, с которой сталкиваются 0.0001% разработчиков на дотнете. За то время, что ты ее тут обсуждаешь, уже можно было написать свою сериализацию, тупо складывать побайтно в массив.
297 3407834
>>407786
Сам разбираться не хочешь, ебало от проверенных решений кривишь. Ты уёбок!
298 3407838
>>407786

>Скорее всего



Скорее всего ты долбоёб.
299 3407839
>>406980
Не, а правда. Нахуя сейчас С#? Go и Java за глаза должно быть, и для скриптиков Python.
300 3407840
>>407786

>А эта поделка неспособна в структуры с массивами.


А кто может даже в теории? Ты хочешь преобразовать структуру в буфер который эта структура занимает да без перегона байтов, но очевидно что структура с ссылочным типом внутри НЕ занимает 1 непрерывный буфер просто по своей природе.
301 3407876
>>407157

Чувак, это литералли топовый архитектор МС, который создал ваш же Шарп и Тайпскрипт.
302 3407881
>>407876

>который создал ваш же Шарп


а кто сказал что он сделал хорошо? WTF хватает.
303 3407885
>>407881
Все правильно. Шарп сделал инициативный дурачек, которому скинули задачу на отъебись. Поэтому шарпом пользуются инициативные дурачки..
304 3407894
>>407885
что поделать если альтернатива на порядок хуже
305 3407897
>>407881
Двачую. Попробуйте найти вижуал студию 2003 и написать что-нибудь, вы охуеете, какой тот шарп был всратый.
306 3407900
>>407897
нет не охуею. я на нем писал с первой версии и по сравнению всратости альтернатив он был шикарен.
307 3408025
>>407897

В 2003 все было всратое.
308 3408143
Очень нравится как выглядят шаблонные статические классы. Но не могу придумать, где их можно использовать...
309 3408153
>>408143

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



Что это?
310 3408177
>>408153
public static class Test<T>
{
public static void DoSomething(T value){}
}
311 3408191
>>408177
Очевидные экстеншен методы.
312 3408194
>>408177
Они используются как типизированные инициализаторы в дотнете. Где то видел.
у меня используются еще вот так (по аналогии с peewee с питона, но все же в шарпе маловато гибкости и слишком много дубль кода, но все же...)
db.Query(
Select<User>.OrderByDescending(r => r.Date).All()
).RunAsync(...)
313 3408227
>>408194

>по аналогии с peewee с питона



Еще лет 10 и, глядишь, в питоне Linq изобретут!
314 3408240
>>408227
Ну peewee и есть своеобразный LINQ
Но конкретно тут QueryObject и его билдер, а не чистый LINQ запрос
315 3408309
>>408194
Что случится, если ты напишешь sql на sql-е? Ночью приползет Гейтс и откусит тебе жопу?
316 3408321
>>408309
Так ведь ORM-шизики не поймут.
317 3408322
>>408309
во-первых, это не SQL. Query принимает в себя только QueryObject, а это билдер такого объекта для простых случаев, но не чистый LINQ, который транслируется в SQL. Это просто DSL такой

во-вторых, конечно укусит. В одном месте тебе нужно OrderByDescending, в другом OrderBy и т.д. - будешь строки ручками собирать? ну удачи
318 3408326
>>408321

>Так ведь ORM-шизики не поймут


ORM там вообще не причем. Это просто альтернатива repository. Не все любят овер 9999 методов в классе, но так же и не все любят овер 9999 вот таких вот command/query. Особенно если для простых случаев их можно переиспользовать. Ни и для красоты сделать вместо тупого new ТакойТоЗапрос вот такой DSL.
319 3408328
>>407832

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


Пока так и делаю.

>>407834
Где кривлю то? Всё что вы мне тут предлагали всё перепробовал.

>>407838
Скорее всего ты.

>>407840
Да понятно, но задача-то типичная. Неужели нет внятного решения?

>>407816

>А я там ещё сказал использовать InlineArray или fixed-size buffer вместо обычного массива


Ну смотри, если обманул - пролапсом ануса прокляну. ладно, не буду
320 3408330
>>408328
В каком месте она типичная. Для сериализации типично "переложить байты". А делать по твоему не то что не типично, а вообще никто не делает ибо смысла нет.

>Ну смотри, если обманул


не обманул он тебя. Структура будет без ссылочных типов - и поэтому жирной, так что таскать ее такое себе.
321 3408331
>>408322
Да, буду собирать строки внутри хранимки, а таблицы вообще закрою для этого юзера. Когда система начнет тормозить у заказчика, я смогу подключиться к его базе через два впна три rdp и погонять запрос на живых данных. Алсо твой код делает SELECT * FROM, хотя по факту тебе понадобится два поля из двадцати.
322 3408336
>>408331

>Да, буду собирать строки внутри хранимки


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

>Алсо твой код делает SELECT * FROM, хотя по факту тебе понадобится два поля из двадцати.


нет не делает. это не орм. Это абстракция от хранилища вообще. Он вообще ничего не делает.
ты же понимаешь что OrderByDescending это НЕ Linq2SQL, а просто указание "вы это там, откуда бы не читали, хоть с хранимок, хоть со второго стула, но мне плиз дайте в таком порядке, ну чтобы я в памяти не сортировал"? А я ведь об этом и говорю что это НЕ Linq, а DSL универсальных Query/Command.
А вот внутри уже самих QueryObject и происходит нужное тебе - хоть SQL, хоть хранимки, хоть LINQ2DB, хоть жсоны читай

Кстати. по поводу "тебе понадобится два поля из двадцати.".
Я противник чтения объектов частично. Поэтому завожу отдельные объекты под этот случай не позволяя нарушать инкапсуляцию основных моделек. Так что если мне нужно лишь часть - часть и прочту.
323 3408340
>>408336

>db.Query


>этот код вообще не работает с бд


Наркоман?
324 3408345
>>408340
db не значит SQL (с) кэп. Это просто переменная которая намекает на некое хранилище своим именем, но ничего более. А что это может быть? - да вообще всё.
325 3408367
Мне кажется я какую-то хуйню делаю откровенно
326 3408386
>>408309

>Что случится, если ты напишешь sql на sql-е?



Нахуя? Для этого же автомаппер придуман
327 3408387
>>408309

>Ночью приползет Гейтс и откусит тебе жопу?


Нет, ты сам себе жопу откусишь, когда тебе этот эскуэль отлаживать или рефакторить придется.
328 3408392
>>408387
Обертку над эскуэлем отлаживать легче да? Смотреть на сгенерированию скл портянку, а править код на сишорпе. Охуенная абстракция.
изображение.png129 Кб, 520x604
329 3408405
>>408392

Ты просто дурачок, не понимаешь, что автомаппер генерирует гораздо более производительный SQL, который отлаживать не надо
330 3408481
>>408367
само собой. Тащить EF на десктоп это за гранью. не знаю как щас, но когда я пробовал, то у меня от времени старта этого EF глаз дергался. И если во всяких асп.нетах ну "ладно 1 раз стартуем", то в десктопах мучить пользователя сплешскрином это скотство.
331 3408483
>>408367
Ну и лайфтаймы забыл же. А зря
332 3408626
>>408405
Шутка уровня епам.
333 3408630
>>408626
Да что с этим епамом не так?
334 3408637
>>408367
Сейчас твое приложение просто подвисает на старте и хуй знает, что там происходит. На слабой машине тетя срака из бухгалтерии снова тыкнет на иконку, запустит новый инстанс и сломает твою бд нахуй. Миграции надо накатывать из отдельного меню админа, а не при каждом запуске. Алсо на старте надо сначал показать пользователю окно программы с крутилкой, а потом запускать долгие операции в фоновом потоке.
335 3408638
>>408630
Там 17-летние синьоры под руководством 20-летнего тимлида.
336 3408744
>>408637

>запустит новый инстанс


Кто ж ей позволит
337 3409211
>>408481
Я откровенно уже забыл как там без ЕФ что-то с БД делать. Серьезно. Последний раз руками базу создавал лет 5 назад.
338 3409253
>>409211
Для галер это норма, там важен скилл быстро-быстро напердолить очередной финтех очередному арабу и получить бабло. Пока ты будешь проектировать, араб передумает и ты останешься без денег.
Для продукта распиздяйский говнокодинг приводит к тому, что однажды заказчик откажется от вашего софта из-за проблем с производительностью. Тогда кабан выебет менеджеров, а менеджеры - разработчиков.
339 3409261
>>409253
А кого выебут разработчики?
340 3409300
>>409261
А их на мороз
И нанять ии
341 3409310
>>409300
Хитро. ИИ уже ебать не получится
342 3409812
Микрософт же еще 3 года назад ушла из РФ? В чем смысл этого треда?
image.png136 Кб, 1182x724
343 3409815
А вот жабу российские программисты импортозаместили.
344 3409826
>>409812
Oracle тоже ушел. Дальше что? Жаваскрипт тред не нужон?
345 3409831
>>409826
А жаба доступна и без Оракла.
346 3409838
>>409812

>Микрософт же еще 3 года назад ушла из РФ?


VS пока дает скачать. Что тебе еще нужно?
image.png26 Кб, 968x203
347 3409839
Заскринил >>399751
Одебелевшие шарпомухи даже забыли про формат XML (сериализация для которого есть в .NET из коробки с самых первых версий)?
Что дальше, они разучатся работать с БД без Entity Framework?
348 3409841
>>409839
пук
349 3409908
>>409839

>Одебелевшие шарпомухи даже забыли про формат XML


в шарпе много чего есть. только вот оно устарело. Пользуешься BeginXXX/EndXXX или BackgroundWorker? а че так? Вышла лучшая замена?
Так и для xml тоже - попытки заменить хмл в файле проекта не выгорели, зато всякие конфиги и результат публиш - там жсон. Хотя казалось бы.

>с БД без Entity Framework?


тут немного не так. тот кто EF юзает - он и не умел работать без него.
350 3409955
>>409908

>тут немного не так. тот кто EF юзает - он и не умел работать без него


Тут вообще тотальное непонимание инструмента просто. Те кто работают через ORM вкурсе что можно самому оптимальнее написать SQL, только вот таких требований нет и важнее чтобы в коде это выражалось проще и запросы писать в едином с бизнес кодом стиле.
Если у меня будет стоять задача написать оптимальнее я просто конкретно для нужного случая напишу сырой sql.

Если мне надо будет писать проект с оптимизацией и прочими требованиями я вообще выберу С++, а если будет требоваться какая-то умная херня из матана возьму питон потому что на нем удобнее.
351 3409959
>>409955
у тебя другая крайность. Не обязательно опускаться на уровень SQL, ведь можно опуститься на уровень LINQ и этого будет достаточно.
352 3410004
>>409812
Мы тут не все из РФ, если что.

>>409839

>XML


Один из самых убогих форматов для хранения данных. Спасибо, не надо.

>>409955
>>409959
Просто sql не нужен.
353 3410109
>>408392

>Обертку над эскуэлем отлаживать легче да?


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

>>408392

>Смотреть на сгенерированию скл портянку, а править код на сишорпе.


Нет, смотреть на код на сишарпе и править код сишарпа.
На генерованный код вообще нахуй не надо смотреть.
Единственный кейс за последние N лет, когда мне приходилось хоть как-то с генеренным EF SQl-кодом взаимодействовать - это скопировтаь из лога запрос и закинуть его в анализатор для построения плана запроса, чтобы посмотреть каких индексов в БД докинуть и все.
354 3410303
>>410109
Ты фулстек мартышка из епама, твой код никогда не попадет на прод. Конечно, тебе sql никогда не понадобился, на локалхосте можно хранить данные хоть в txt файлах и все работает.
355 3410444
>>410303

>твой код никогда не попадет на прод


Работаю бэком в топ-5 банке. Мой код на проде бабки гоняет туда-сюда с очень жестким SLA. И где твой бог теперь?

И я достаточно знаю sql и при необходимости пишу и скрипты и встройки и все, что нужно. Только считаю его неудобным говном и если есть возможность его не использовать, то я ей пользуюсь по полной.
Ну и современный EF достаточно оптимизирован чтобы в 98% случаев не касаться SQL-я (и заодно давать за щеку сектантам "а даппер быстрее").
356 3410505
>>410444

>Мой код на проде бабки гоняет туда-сюда с очень жестким SLA


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

>Ну и современный EF достаточно оптимизирован чтобы в 98% случаев не касаться SQL-я


А потом база делает дедлок и ты обмякаешь со своим EF. В вашем банке дедлоками занимаются дба, ты просто пукаешь в автомапер, вот тебе и кажется, что SQL не нужен.
357 3410542
>>404284

>зато у джаванов

16558390484340.jpg141 Кб, 750x548
358 3410672
359 3410710
Меня на двощах забанили за впн, поэтому не мог перекатить тред.
Спасибо анонче, что перекатил, некст перекачу сам

Мимо прошлый оп
360 3410725
>>410505

>Иными словами, ты пишешь простейший процессинг, где даже джоинов нет.


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

>хватит и кафки


Ну бля, хватило бы, если бы софт от ЦБ умел с ней работать. Там до сих пор ебучая самба с файловым обменом.

>А потом база делает дедлок и ты обмякаешь со своим EF


До-о-о, а ты со своим pure sql прямо таки застрахован от дедлоков. Ты же в курсе что они на уровне транзакций происходят, а EF, тоже через них работает. И позволяет и уровень изоляции настраивать и перехватывать отвалившиеся транзакции и перезапускать их или откатывать. Ну и приложение надо строить так, чтобы у тебя разные потоки за один контекст не дрались или в разные БД круговые запросы не делать (тогда тебя даже ДБА не спасет, а скорее просто придет и пизды даст).

>занимаются дба


Вот, блин, если бы он был у нас еще нормальный.

>в автомапер


Не пользуюсь этим говном.
361 3410751
>>410725

>До-о-о, а ты со своим pure sql прямо таки застрахован от дедлоков.


Когда я поймаю дедлок, я в трейсе увижу вызовы хранимок и по их именам смогу найти место в коде. В случае генерации sql через соплю из IQueryable это импосибл.
Алсо у меня не потоки дерутся за контекст, у меня разные юзеры с разных машин ходят в бд и дерутся за блокировки. Есть юзер в бд для старого портала, для нового, для давайте попробуем эту идею, для 100500 интеграций, для хуя, пизды, джигурды.
362 3410836
>>410751

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


Схуяли. Оно тебе так же трейс распишет и еще и номера строк в коде напишет.

>у меня разные юзеры с разных машин ходят в бд


Ну так это не проблема EF, а хуевая архитектура. Я не работаю на говнопректах где к БД более одного юзера подключается.
363 3411070
>>410836
Лол, трейс из бд, какие номера строк.

>Я не работаю на говнопректах где к БД более одного юзера подключается.


Ты из тинька, что ли?
364 3411081
>>411070

>Ты из тинька, что ли?


Тинь не входит в топ5
365 3411083
>>411070

>Лол, трейс из бд, какие номера строк.


Ладно ок, убедил. В том, что тебе в твоем зоопарке без этого никак. Но опять же - это не проблема EF (да и любой ОРМ), что тебе так приходится выебываться - проблема в хуевой архитектуре.
367 3411153
>>411143
Твоя задача починить дедлок, а не заспамить базу ретраями.
368 3411168
>>411153
А ты не очень умный?
Если у тебя дедлок, то любая нормальная СУБД выберет радомный процесс и просто его убьёт. Второй процесс в результате сможет завершить транзакцию. После чего убитый процесс может повторить запрос.
369 3411280
>>411168
Кокой ты умный.
Дедлок не означает, что твоя база встанет намертво. Система просто начнет охуеть как тормозить с 10 до 10:30 утра, в это время заказчик оборвет все телефоны поддержки, а его юристы откроют договор, раздел про SLA.
370 3411311
>>407816

>А я там ещё сказал использовать InlineArray или fixed-size buffer вместо обычного массива.


Благодарю, анонче, fixed-size buffer зарешал. Ты тут единственный кто что-то внятное предложил. Но тут уже и MemoryMarshal не нужен. Проще работать через указатели как ранее >>400943.
Только ещё нужно атрибут [StructLayout(LayoutKind.Sequential, Pack = 1)] поставить перед структурой, вроде как гарантирует порядок полей.
371 3411320
Как в ваших шарпах узнать размер переменной по её имени? Сайзоф не работает.
372 3411329
>>411320
Через гугол.
string.png10 Кб, 982x34
373 3411454
Как отобразить полностью строку-переменную с ескейп последовательностями без свистоплясок с ручным экранированием каждой последовательности?
Попробовал интерполяцию аля $@"{variableName}", но по прежнему нихуя не работает - в дебагере вижу текст, но дальше ни через тот же View в дебагере, ни в текстбокс в приложении не выводится - просто пусто.
Сижу на .net 7, поднять к 8 с @$ не могу (хотя не уверен что оно мне помогло бы).
Сама строка это сериализированый в бинарь объект который я хочу руками отредактировать (да, я мазохист).
374 3411459
Точнее c# 7 версии, да я легаси некромант.
375 3411564
Как решать проблему обратной совместимости кода под старый дотнет, но запускаемого под новым? К примеру, нужно выполнить код из дотнет коре 2.1 на дотнет 9.
376 3411572
>>411564
Если просто выполнить ничего не меняя, то просто ставишь рантайм/sdk 2.1 и запускаешь (либо делаешь self contained сборку)

Если хочешь именно мигрировать проект, то окрываешь https://learn.microsoft.com/en-us/dotnet/core/compatibility/breaking-changes и проверяешь все брекинг-ченджи по списку для каждой версии (если приложуха asp.net, то дополнительно еще эти разделы смотришь https://learn.microsoft.com/en-us/aspnet/core/migration/31-to-60?view=aspnetcore-6.0&tabs=visual-studio) и исправляешь.

Если ты хочешь, чтобы это было что-то универсальное которое будет билдится везде и запускаться на любом рантайме, то ты скорее всего уже проебался, т.к. надо было изначально под .Net Standart делать. Но можешь попробовать заморочиться если делать нехуй и есть дохуя времени.
377 3411629
>>411564
У нас другой прикол. Есть портал на хуй знает каком древнем дотнете, чуть ли не fw2.0 Портировать его кабан не хочет, кастомера все и так устраивает. Все сторонние библиотеки для работы с пдф, с емейлами, с хуйней малафьей требуют свежий дотнет. В итоге мы выкрутились через юникс вей: все внешние пакеты оборачиваются в экзешники, раскладываются по папочкам и запускаются из старого дотнета через процесс через командную строку, вывод забирается с консоли.
378 3411725
>>411629
Это же пиздец медленно
379 3411892
>>411629
В таких случаях надо просто что-нибудь ломать критичное и когда надо будет чинить, то говорить, что "никак, только на свежем стеке".
380 3412026
>>411725
Похуй, мы же не гугл. Там внутренняя система на сотню пользователей.

>>411892
Гейропейцы оказались очень консервативными ребятами. Работает - не трогай это про них.
381 3412042
>>411329
Твой гугол говорит что нельзя. И действительно
int Жопа;
int s = sizeof(Жопа);
не работает.

Всякие
Unsafe.SizeOf<>();
Marshal.SizeOf();
тоже не работают.

Хотя я не понимаю в чём тут проблема, ведь всё что нужно известно на этапе компиляции. Я могу написать так
int Жопа;
Type t = Жопа.GetType();

Могу написать так
int s = sizeof(int);

А вот написать так
Type t = Жопа.GetType();
int s = sizeof(t);
уже почему-то не могу.

Всё больше разочаровываюсь в це решётке. Правильно картинку рисуют >>404284 , пиздить вас надо.
382 3412047
>>412042
Конечно, нельзя. Sizeof специально спроектирован так, чтобы тонко намекнуть байтоёбом, что нехуй им здесь делать.
383 3412057
>>412047

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


Охуенно сказал.
384 3412073
>>412042
Ты наркоман? Сишарп - это язык для перекладывания джейсонов и попукивания в кафку. Для байтоебства есть свои языки, на которых джейсоны ворочаются через боль и страдания, зато байты складываются легко и просто.
385 3412694
>>412047
>>412073

>Конечно, нельзя.


Зато размер структуры почему-то можно.

Смотрите как байтоёб наебал систему
int Жопа = 5;
Type t = Жопа.GetType();
int s;
switch(t.Name)
{
case "Int32": s = sizeof(int ); break;
case "Char" : s = sizeof(char); break;
case "Byte" : s = sizeof(byte); break;
//...
default: s = 0; break; //пошёл нахуй
}
image.png70 Кб, 880x695
386 3413195
Гойз, в руководстве к монго-биби написано, что реляционные бд это легаси.
387 3413198
>>413195
Срочно беги к кабану и говори, что надо мигрировать как можно быстрее.
388 3413202
>>413195
Нюфаня, подумай на досуге, чем отличается БД от СУБД и почему здесь пишут именно про БД.
389 3413203
>>413202

>БД от СУБД


Это как АКМ и АКСУ. Вроде такой же автомат, но на стиле и помещается в дамскую сумочку
390 3413205
>>412073

> зато байты складываются легко и просто.


нахуя ты джейсоны с байтами складываешь? Ты долбоёб?
391 3413219
>>413203
Нет, подумай ещё.
392 3413249
>>411629

>Все сторонние библиотеки для работы с пдф, с емейлами, с хуйней малафьей требуют свежий дотнет



Почему бы не написать сервис на свежем дотнете, который будет работать с этой хуйнёй? А старый сервис с новым будет общаться по апи или по очередям либо из базы, либо через кролика?
393 3413388
>>413249
Ты прикалываешься? Вместо того, чтобы просто запустить экзешник, ты предлагаешь поднять кубер, кафку и потом делать вызовы по сети? Чтобы что? Мы же не для арабов из дубайска систему пишем, это для тех долбоебов чем дороже, тем круче: ебнуть башню без канализации и стену поперек пустыни, вот это все.
Классхуясс.jpg70 Кб, 798x516
394 3413431
Не погромизд. С++ знаю плохо, с# ещё хужЕЕ.
Код на пикриле не окончательный, сократил для двача.(В классе Bones дохуя полей)
Код отработает один раз и будет забыт.

Вопрос: Как мне заполнить (работать) с полями такого типа как у "tf.bone[0].namebone ?
Выдает ошибку на 18строке.
Если работать только с dzMorph нет проблем, и пишет в json без проблем. Уроков, с кодом подобным этому не нашел.
395 3413439
>>413431
Тебе не стоит стараться дальше, серьезно, у тебя базового понимания нет. Подскажу одно. Твой код это все равно что складывать в пакет продукты, но при этом ты пакет с собой не взял и не купил, ты стоишь со слюной на подбородке и делаешь руками странные машущие движения
396 3413444
>>413431
Окей. Я не буду токсить.
Давай разберем твой код.
У тебя есть класс dzMorph
У него тут 2 свойства. Ни одно из них не проинициализировано.
Т.е. создавая новый экземпляр и получая объект - ты получаешь значения по умолчанию.
В случае ссылочных типов(строка и список именно такие) - это null

В общем. Я хотел начать расписывать, но заебался. По скриншоту смотри.
397 3413462
>>413431
Разве для даза можно писать скрипты на дотнете?
398 3413489
>>413431

Проблема в том, что ты пытаешься руками создавать объекты без использования автомаппера. Именно из-за таких как ты на всех серьёзных проектах запрещают вызов new.

Тебе должно быть стыдно
399 3413490
>>413431

Проблема в том, что ты пытаешься руками создавать объекты без использования автомаппера. Именно из-за таких как ты на всех серьёзных проектах запрещают вызов new.

Тебе должно быть стыдно
dzVisualStyle.jpg73 Кб, 409x793
400 3413602
>>413444
Спасибо чувак. Ты лучший. Да, С классами у меня беда совсем. На С++ я обходился и без них прекрасно. Тем более, что большинство написанного кода одноразовые, нахер нужно его шлифовать, отработал раз и выкинул.

>>413462
У даза в базах есть файлы в которых описаны повороты лицевых костей при "морфе" (в классическом морфе двигаются vertexы, здесь как в анимации поворачиваются кости(joints)).
Нужно только собрать всё необходимое в одном файле, и использовать его как базуданных в Maya plugin при анимации Дазовских фигур в Майе. Шейдерные плагины я уже делал (полный аналог daz VisualStyle 14398) небольшой опыт есть. То есть код на ДотНете для создания базы данных, а не плагина, но вроде бы в документации Майи написано, что можно. А у Даза собственный скриптовой язык, С-подобный.
401 3413906
Зашел просто что бы написать

"КАК Я СУКА НЕНАВИЖУ MVVM" ёбаная игрушка дьявола.
402 3413932
>>413906
Критикуя иди работать на завод предлагай
403 3413953
Пацаны. Мне очень грустно.
Сделайте ревью пожалуйста...
https://pastebin.com/vEvBtUv8
404 3413960
>>413953
public override Boolean Equals([NotNullWhen(true)] Object? obj) {

за такое на кол.
ты либо не делай Equals, либо делай как надо. А если подозреваешь что твоя структура будет использоваться в списках, то IEquatable мастхев.
405 3414280
>>413953
спросил ии вместо тебя
https://markdownpastebin.com/?id=7e3113f0cb7c42d5bc0c65e66fdd1cba

хотя он тот еще критик, зато ему не влом
{58416386-9BC6-4723-9877-2855C1DA0068}.png29 Кб, 1636x223
406 3414288
>>414280
Я вот как раз из-за советов ИИ в духе прикриплейда и не спрашиваю его.
Типа ну вот в чем смысл этой проверки, если я кину абсолютно то же исключение, что кинет подкопотный массив? Вот зачем? Вот нафига?
407 3414295
>>414288
он кинет исключение без внятного описания.
408 3414302
>>414288
а вот дипсик
https://markdownpastebin.com/?id=9ced4e18c6654aadbc6792725c071328

он тоже не нашел ничего крамольного в Equals(object)

и этими ии хотят заменить погромистов? 100 раз ха
409 3414446
Попробовал почитать [Эндрю Троелсен, Филипп Джепикс] – Язык программирования C# 9 и платформа .NET 5

вообще нихуя не понятно. С первой страницы кучка нюансов, нет, хуйнет пиздец.
Страуструп в 100 раз легче пишет.
410 3414486
>>414446

>платформа .NET 5


Нахуя настолько протухший материал читать? Я понимаю еще Рихтера, т.к. его книга унакальна в некоторых аспектах. Понимаю если про .Net Framework если приходится в легаси ковыряться. Но .Net5 ? Который неактуален уже х.з. сколько и даже не LTS, зачем?
411 3414492
>>414288
Я дропнул использовать подсказки от ИИ, когда заебался искать в фреймворках советуемые им выдуманные методы.
412 3414507
>>414486
Так почти ничего не изменилось со времен net 5. Новыми фичами мало кто пользуется
5оо35н2н2н2н.JPG13 Кб, 790x65
413 3414510
>>413932
чел, даже LLM в ахуе от того что кожаные мешки придумали
414 3414515
>>414510
Так а причем тут MVVM что INPC такой
415 3414652
>>414510
Чего много-то там?
Базовый класс ObservableZalupa и все считай.
А можно и без него, берешь DynamicProxy и делаешь хоть все свои объекты INPC если так хочется. Вьюшкам - через DI передаешь уже прокси объектов.
Или берешь и MVVMToolkit. Просто вешаешь аттрибут, тебе кодген насрет(лично не советую, потом работать с таким кодом невозможно).
Все.
Или в разметке написать
<TextBlock Text={Bind Text}> - дохуя много?
Ну хуй знает.
Пописал бы на формах, где как дебил за всей хуйней следишь - и понял бы насколько меньше бойлерплейта в майковском MVVM
2025-03-2414-06-19.png12 Кб, 423x488
416 3415044
Нейросети начали потихоньку выдавливать специалистов. "About Microsoft Visual Studio" теперь переводится как "Около Microsoft Visual Studio". У нас скоро будет лучше, чем у отцов в 90х, скоро будем охлаждать траханье.
417 3415085
>>415044
А нахуя ты русский интерфейс вообще включаешь?
418 3415102
>>415085
Смотрел как локализуются категории свойств объекта в WPF.

>[Bindable(true), Category("Common")]


Но ты не думай, что на инглише тебя обойдет проблема, тенденция выстроилась. Раньше я такого не наблюдал, все было переведено людьми.
419 3415129
Есть вопрос, анончики
Два года назад поступил на работу с около нулевыми знаниями разрабом C# .net core 3.
С тех пор разработал кучу виндоус служб, апишек, а также мигрировал их с тройки на шестерку, а затем на восьмерку.
Отлично знаю синтаксис, рефлекцию, EF Core, умею безопасно работать с голыми sql, automapper и прочее.
Однако погряз на зп 100к и разработке монолитных и "модульных" (тот же монолит, но разбитый на несколько более мелких) апишек, при этом у меня начинают всплывать претензии на уровень middle
Так вот, есть ли смысл искать курсы на изучение микросервисной архитектуры или лучше изучать самому на основе книжок или видосиков с ютуба?
Еще хочется изучить брокеры сообщений и системы кэширования по типу редис
420 3415135
>>415102

>Но ты не думай, что на инглише тебя обойдет проблема


Хотя что тут думать? Вижуал студия медленно умирает, как бейсик.
Создаешь VSIX-проект, сразу в ебало летит ошибка:

>Не удалось найти стабильный пакет >Microsoft.VSSDK.BuildTools с версией (>= 17.13.2127)


> - В nuget.org обнаружено несколько версий (482) [ >Ближайшая версия: 17.14.1043-preview2 ]



Хуй с ним, обновляешь нюгет пакеты путем даунгрейда и установки той же версии, пытаешься сделать темплейт для проекта на .NET 9, а потом понимаешь, что VSIX-проект создан на NetFramework 4.8
@
Жидко обтекаешь.
421 3415162
Жаль, что в авалонии нет x:Bind. Неужели его так сложно реализовать? Там ведь значительный выигрыш в производительности в сравнении с Binding.
422 3415206
>>415044

>VS2022


Ну а хули ты хотел от этого поделия, если ещё год назад я часто видел:

>ОшибкаMSB3027не удалось скопировать .... Превышено допустимое число повторных попыток (10). Произошел сбой. "Microsoft Visual Studio 2022 Preview (8868)" блокирует этот файл

423 3415218
>>415129
Микросервисы - мертвы.
Так что забей.

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

Если так хочется - ну, пересиди годика 3-4, кабаны забудут, рынок выпрямится, и под новым именем им опять продадим)
424 3415331
>>415135
Пиздец, захотел сделать Wizard - прошел все круги ада. В VSIX-проекте нужно генерировать подпись, потом получать ключ. Темплейт собрать в архив, редактировать архив вручную и прописывать этот ключ. Потом в VSIX-проекте добавлять этот архив. Ебануться.

Если хочешь на автомате собрать темплейт, то хуй там.
425 3415338
>>415129
Микросервисной архитектуры не существует. Микросервисы - это такая методология разработки для галер, когда ты нанимаешь любых васянов с любым стеком и они быстро-быстро пердолят финтех для араба. Потом араба отпускает, он переключается на строительство золотого унитаза высотой 20 метров, а код идет в мусор. Все попытки использовать микросервисы на проде заканчиваются эпичным фейлом и переписыванием этого говна на классическую систему из классических серверов.
Кароч читай кабанчика.
426 3415401
>>415129

> погряз на зп 100к


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

> Так вот, есть ли смысл искать курсы на изучение микросервисной архитектуры или лучше изучать самому на основе книжок или видосиков с ютуба?


> Еще хочется изучить брокеры сообщений и системы кэширования по типу редис


Учиться всегда имеет смысл, знания лишними не бывают. Но нормальных курсов ты не найдёшь, максимум вкатунскую хуйню типа переслать id заказа через кафку из "Заказов" в "Платежи", чему можно по тому же ютубу научиться за вечер.
427 3415427
>>415218
>>415338
Да я и так в галерах, мб получилось бы съебаться в места чуть по лучше
>>415401
Понял

Спасибо за ответы
428 3416848
https://www.youtube.com/watch?v=SZnCG6m1Og0
Вот, даже усатый говорит, что медиатр не нужен. Я правда видос не смотрел, но уверен, что именно это он и говорит.
429 3416894
>>416848
он говорит что он пишет бложики и потому ему не нужен. грит -юзайте фастендпоинт
хз зачем фастендпоинт когда есть божественный OneOf
430 3417713
https://github.com/dotnet/runtime/pull/113976

>[RuntimeAsync] Move runtime async to the main repo



Возможно runtime async релизнут в 10-ке.
431 3417758
>>417713
можешь в 10456067 словах пояснить что это?
432 3417784
>>417758
Сейчас весь код (стейт машина и т.д.) для asyncа генерит C# компилятор (Roslyn), для рантайма он становится обычным кодом. Теперь основной код будет генерить JIT и VM будет "осознанно" взаимодействовать с ним (JIT/VM доступно больше информации/возможностей чем из IL). Производительность должна быть лучше.
https://github.com/dotnet/runtime/issues/94620
https://github.com/dotnet/runtimelab/blob/feature/async2-experiment/docs/design/features/runtime-handled-tasks.md
433 3417788
>>417784
я же просил пояснить...
434 3417804
>>417784
Покажите этим долбоебам нодежс и прочитайте краткую лекцию как работает субд. Главный источник тормозов на проде - это блокировки в бд, код можно писать хоть на джаваскрипте, что и происходит. Хуле они там будут оптимизировать? Мне эта суета напоминает долбоебов из яндекса, которые пукают в кафку на С++, типа так быстрее пропукивается.
435 3417901
>>417788

> я же просил пояснить...


Читай начало и конец, игнорируя скобки.

> Сейчас весь код для asyncа генерит C# . Теперь основной код будет генерить JIT и VM будет "осознанно" взаимодействовать с ним. Производительность должна быть лучше.


Базарю, сразу станет понятнее. Мидлом станешь.
436 3417955
>>417901
Не знал что перечитывание непонятного текста делает его понятным. не знал....потому что не делает.
image52 Кб, 998x634
437 3418075
Кто-нибудь знает, для asp.net core есть библиотека, которая позволяет легко добавить админку для управления базой? Типа как в Django. Нашёл одно простенькое решение "core-admin", но может есть что-нибудь покруче.
438 3418408
>>418075
В аспнете так не принято, он же для многолетнего энтерпрайза, где сразу понимают, что ничего готового не подойдёт и придётся писать своё решение с нуля, а подобные админки там всё равно запретит отдел кибербезопасности. Вот питоны/руби/пыхи, которые решают задачу "надо по-быстрому сделать сайт и отдать клиенту", такое имеют в избытке.
439 3418457
>>418075
Чел скачай тебе дбивер.
440 3418458
>>418457
ога. а потом накосячь в доступе к бд на сервере. заходи кто хочет, бери что хочешь.
441 3418467
>>418458
Так продовая БД не должна быть доступна нигде кроме внутреннего контура.
На машину внутри него заходим по RDP и работаем.
442 3418561
>>418467
RDP - это продуктовая тема, когда к кастомеру приезжает ваш инженер с ноутом, ты заходишь по RDP на его машину, оттуда через другой RDP на тачку во внутренней сети, с нее снова по RDP на сервер бд. Потом через эту ебаную матрешку в режиме слайд-шоу пытаешься понять, хуле грид на главной начал тормозить. Заодно приходит просветление, почему EF - это кал говна и почему надо работать с бд через хранимки и дапер.
Продуктовая тема для дотнета больше не актуальна. В 2025 году дотнет остался только в нише аутстаф галер с паджитами.
443 3418571
>>418561

>почему EF - это кал говна и почему надо работать с бд через хранимки и дапер


Как же вы заебали неосиляторы.
444 3418583
>>418571
Не отвлекайся, гребец, финтех для араба сам себя не напишет.
445 3418645
>>418408
>>418457
Как я понял, сейчас админки генерируют через Radzen Studio. Он создаёт отдельный проект с использованием Blazor.

https://www.youtube.com/watch?v=_F-CUWxYvCA
446 3418657
>>418645

>Blazor


Неужели кто-то пользуется этим говном? Это же литерали хуйня без задач.
447 3418669
>>418657

> >Шарп


> Неужели кто-то пользуется этим говном? Это же литерали хуйня без задач.

448 3418677
Пацаны. Мне грустно.
Мне нужно вдохновение.
Я чувствую, что теряю желание кодить, потому что все что пропал момент изучения. Я просто сажусь и делаю.
Дайти примеры красивых-интересных проектиков, чтобы посмотреть, повосхищаться и получить заряд положительных эмоций для того чтобы продержаться еще годик.
Последнее красивенькое что смотрел - Nancy и собственно Kestrel
Хочу чего-нибудь похожего. Чтобы смотришь такой и вах

Думаю кстати сменить кодстайл чтобы оно было посвежее уже у меня. Ну, для начала - все поля - унесу вниз класса. Приватное - тоже вниз. Сверху оставлю только публичную часть.
449 3418687
>>418677

> Думаю кстати сменить кодстайл чтобы оно было посвежее уже у меня. Ну, для начала - все поля - унесу вниз класса. Приватное - тоже вниз. Сверху оставлю только публичную часть.


Знаешь анекдот про бордель и кровати?
image.png1017 Кб, 1243x692
450 3418731
>>418677

>Ну, для начала - все поля - унесу вниз класса. Приватное - тоже вниз. Сверху оставлю только публичную часть.

451 3418732
>>418677

>пропал момент изучения.


Попробуй ФП
452 3418798
>>418645
Нахуй нужны эти админки если можно скачать себе дибивер у которого функционал в 100 раз пизже, а сделать какую-то микрохуйню проще через терминал.
453 3419082
Всем привет, подскажите пожалуйста хорошие ресурсы для изучения юнит тестирования на шарпе, да и интеграционного тоже
Screenshot20250329214351Chrome.jpg279 Кб, 1812x1331
454 3419099
https://habr.com/ru/articles/895588/

Интересно насколько сложно иметь 47 хромосом ?
455 3419230
>>419099

>аи картинка с эльзой на десктопе


Статью можно не читать, автор долбоеб. Конечно, если к такому еблану попадешь на собес, будет неприятно.
456 3419237
>>419099
Да там вся статья выглядит "шуточной", но походу атвор серьёзно.

>Дичь седьмая: рефлексия без рефлексии


>How about changing private fields without unsafe or reflection? I bet you thought C# was type safe. Nothing is truly black and white.


>[StructLayout(LayoutKind.Explicit, Pack = 1)]


Брать коммент дауна с реддита, который думает что раз нет unsafe то этот код "безопасный" (как я и говорил в предыдущем треде >>3386734 → : "зато без unsafe").
457 3419288
>>419099
Я чет не понимаю а как иначе должно было бы произойти?
Ты создал экземпляр определенного типа.
Он удовлетворяет интерфейсу IReadOnlyList<T>
Ты переменной с типом IReadOnlyList<T> присвоил ссылку на объект.
Далее явно скастовал обратно к листу и добавил.

Ессно язык видит, ну, это и так лист, так что - ну ок, добавляй. Был бы там не лист - кинулся бы какой-то InvalidCastException

Или кастить вообще нельзя? Но эт будет откровенная залупа.
Типа, особенно если полезть в старое апи, где половина всего через object вообще делается.

Ну и в жаве - я постоянно видел +- такое же. И апкасты и даункасты.
Не понял короче что тут неправильного. Типа если ты до интерфейса свел, объект-то остается тот же самый. Что блин должно произойти-то?
458 3419315
>>419288
Я хуй знает чего он хотел. Это нормальное полиформное поведение, другой вопрос что за такое тебя по ебалу стукнут.
Мне кажется чел просто не понимает что интерфейс это не класс и что он не может создать переменную такого типа, только привести к ней.
Он когда касты делал ему бы нормальная IDE сказала что тут у тебя возможно null.

Также он похоже не понимает что readonly относится не вообще к объекту, а только к текущему контексту. Если тебе нужна истино неизменная коллекция, то необходимо использовать массив или спецальные типы типо замороженых списков и словарей.
459 3419338
>>419082
Владимир Хориков - Принципы юнит-тестирования
image.png34 Кб, 767x401
460 3419529
>>419099
Вот бы сейчас float/double через == проверять, чтобы на ровном месте себе ебли на неделю найти.
20250330-1454-35.1477230.mp4683 Кб, mp4,
570x332, 0:07
461 3419698
имгуйное окно почему-то отображается нормально только в левом верхнем углу экрана, правее хуй переместишь, как фиксить?
462 3419772
>>419698
Переписывать на Eto.Forms.
463 3419918
>>419698
Viewport/scissor неправильные?
9.mp41,3 Мб, mp4,
1280x720, 0:05
464 3419948
>>419698
в мод менеджере для сралдурс срейт сри тоже этот баг есть
image.png677 Кб, 1200x1086
465 3420662
Буду вкатываться из моего любимого Шарпа в Питон, чтобы потом пилить приложения на стыке ML.Net + Python. Годный план?
466 3420664
>>420662
В 2025 году дотнет окончательно захвачен POORNA SOYSAми, уже похуй куда выкатываться.
467 3420665
>>407041

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



Hate. Let me tell you how much I've come to hate you since I began to live. There are 387.44 million miles of printed circuits in wafer thin layers that fill my complex. If the word 'hate' was engraved on each nanoangstrom of those hundreds of millions of miles it would not equal one one-billionth of the hate I feel for humans at this micro-instant. For you. Hate. Hate.
468 3420935
>>420662
Шарп умирает, анон, без шуток. Вкатывайся в жаву.
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

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

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