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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 2254 277 445
C#/Сишарп/.NET Тред #35 /csharp/ Аноним 12/04/22 Втр 09:04:19 2334153 1
16404031776720s.jpg 5Кб, 229x250
229x250
zGxD3c2zCXs.jpg 460Кб, 1280x854
1280x854
Прошлый тред: >>2247357 (OP)

Литература вторым постом

1. Ресурсы:
https://dotnet.microsoft.com/learn
https://docs.microsoft.com/ru-ru/dotnet/csharp/
https://metanit.com/

2. Онлайн-компиляторы:
https://ideone.com/
https://dotnetfiddle.net/

3. WinForms или WPF?
Зависит от задачи. Для небольших проектов, скорее всего, будет достаточно винформочек. В случае, если разрабатываемое приложение достаточно серьёзное, то возможно его стоит писать с использованием WPF. WPF очень хорошо работает с паттерном MVVM ( https://ru.wikipedia.org/wiki/Model-View-ViewModel ), и позволяет пилить очень кастомизированные интерфейсы с помощью XAML, что в случае с WinForms делать намного сложнее.

4. Мне тут знакомый_нейм сказал, что C# умирает, это правда? Может не стоит его учить?
Неправда. C# активно развивается, недавно вышел .NET 5 и С# 9.0. Дотнет стал полностью опенсорсным и кроссплатформенным. В том же энтерпрайзе он очень даже востребован.

5. Какую IDE выбрать?
Для Windows самым очевидным вариантом будет Visual Studio ( https://visualstudio.microsoft.com/ru/downloads/ ). Бесплатной Community-версии более, чем достаточно для большинства задач. Также есть версия для macOS.
Кроссплатформенный полуредактор/полуIDE VS Code ( https://code.visualstudio.com/ ).
Кроссплатформенный IDE Rider ( https://www.jetbrains.com/rider/ ).
Также существуют C#-плагины для Atom и Sublime Text, но функциональность там достаточно сильно урезана.

6. С# для мобильной разработки
https://dotnet.microsoft.com/apps/xamarin

Новые возможности C# 9.0: https://devblogs.microsoft.com/dotnet/c-9-0-on-the-record/

Текст шапки: https://pastebin.com/pbK8CGqw
Аноним 12/04/22 Втр 09:05:07 2334154 2
7. Что почитать?
The C# Player's Guide, третье издание (RB Whitaker) — отличная книга для ньюфагов, всё расписывается довольно подробно, очень много примеров кода.
C# 9 and .NET 5 – Modern Cross-Platform Development (Mark Price) — подойдёт для ознакомления с платформой. Затрагивает все технологии, имеющиеся в .NET (веб, мобильная разработка, машинное обучение), ни во что не углубляясь.
C# 8.0 in a Nutshell (Joseph Albahari и Eric Johannsen) — огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином.
C# 8.0 Pocket Reference (Joseph Albahari и Ben Albahari) — просто выжимка из книги сверху, можно всегда держать рукой.
Pro C# 8 with .NET Core 3 (Andrew Troelsen) — 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.

8. Более хардкорный материал
CLR via C# (Jeffrey Richter) — это классика, это знать надо.
C# in Depth (Jon Skeet) — написана в виде истории версий C#, начиная с C#1.0. Описываются возможности, которые были добавлены в определенной версии и далее достаточно хардкорно и подробно эти возможности расписываются.
Writing High Performance .NET Code (Ben Watson) — отличная книга. Фокусируется на методах оптимизации приложений, профилировании. Крутейшая и достаточно детальная глава по GC. Рассматриваются достаточно известные проблемы вроде "for vs foreach", "класс vs структура", кастинг, боксинг, перфоманс регулярок, коллекций, исключений. Короче всё, что нужно, чтобы вам перезвонили.

9. Литература по WPF
— Pro WPF 4.5 in C# (Matthew MacDonald)
— Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)

10. Литература по ASP.NET
— Pro ASP.NET Core 3 (Adam Freeman)
— Professional ASP.NET MVC 5 (Jon Galloway, Brad Wilson, K. Scott Allen, David Matson)

11. Литература по асинхронности и параллелизму
— Concurrency in C# Cookbook (Stephen Cleary) — книга, написанная в формате "проблема - решение". Кроме базовых вещей, вроде асинков и параллелизма рассматриваются TPL Dataflows, Rx (реактивные расширения), тестирование всего этого асинхронного добра, ну и работа этого всего на более низких уровнях абстракции.
— Multithreading with C# Cookbook (Eugene Agafonov) — в основном ничего интересного, но есть довольна неплохая глава про синхронизацию, пусть и не слишком детальная.
— Pro Asynchronous Programming with .NET (Richard Blewett, Andrew Clymer) — опять же, интересного немного, но неплохие главы про асинхронность + UI и анализ дампов памяти в windbg.

12. Литература по мобильной разработке
— Creating Mobile Apps with Xamarin.Forms (Charles Petzold)
— Xamarin.Forms Projects (Johan Karlsson, Daniel Hindrikes)
— Mastering Xamarin.Forms (Ed Snider)

13. Литература по машинному обучению
— Introduction to Neural Networks for C# (Jeff Heaton) — изучение нейронных сетей с примерами кода на шарпе. Под конец пишем программу для распознавания символов и нейроботов.
— Machine Learning Using C# Succinctly (James D. McCaffrey) — довольная коротенькая книга на тему машинного обучения с примерами кода на C#. Ничего особого: k-средние, классификация, наивный байес, но с кодом, который всегда можно поразбирать, если что неясно.

14. Разработка игр
Unity-тред в /gd/

15. Но я не знаю английский, как я буду это все читать?
На некоторые из перечисленных книг есть переводы, которые можно найти на том же рутрекере, однако зачастую эти переводы неактуальны и/или содержат неточности. Кроме того, переводы обычно пилятся только для нескольких самых популярных книг, более-менее серьёзный материал не переводят. Всегда можно сесть со словарем и понемногу читать, переводя непонятные фрагменты. Это очень полезно, так как в любом случае в программировании без знания английского делать нечего. Если очень хочется, то гуглить по запросам: "C# 7.0. Справочник. Полное описание языка", "C# для профессионалов. Тонкости программирования", "Программирование на платформе Microsoft .NET Framework 4.5 на языке C#".

16. Что еще нужно знать, чтобы взяли работать за еду?
— Базы данных — подойдет любая книга по MSSQL/MySQL/PostgreSQL. DDL, DML. Джойны, индексы, нормализация. В контексте шарпа еще ORM: Entity Framework, Dapper.
— Системы контроля версий — обычно гита достаточно: add/commit/push, merge, rebase, checkout, remote, diff, разрешение конфликтов.
— GitHub — issues, пулл-реквесты, теги, релизы, Actions.
— Алгоритмы — сортировка, поиск, оценка сложности алгоритмов, рекурсия, алгоритмы на строках.
— Структуры данных — связанные списки, деревья (бинарные, красно-чёрные, b-деревья), хеш-таблицы, графы.
— Если идти в веб — HTML, CSS, JavaScript, веб-сокеты, REST, JS-фреймворки (Angular, React, Vue).
— Паттерны проектирования, стиль кода, архитектура приложения, внедрение зависимостей, MVVM (если хочется в WPF), SOLID.

17. Я не умею читать, что посмотреть?
— C# Fundamentals: Development for Absolute Beginners — https://goo.gl/meyyxO
— Набор курсов по C# от O'Reilly Media (28 часов, на английском) — http://rutracker.org/forum/viewtopic.php?t=5082978
— Канал по C# IAmTimCorey (на английском) — https://www.youtube.com/user/IAmTimCorey
Аноним 12/04/22 Втр 09:34:28 2334168 3
image.png 7636Кб, 2000x2664
2000x2664
Аноним 12/04/22 Втр 09:34:59 2334169 4
>>2334168
Это для следующего треда
Аноним 12/04/22 Втр 09:43:45 2334173 5
>>2334169
Чтобы не потерялось.
Аноним 12/04/22 Втр 10:29:42 2334213 6
Что вы тут напрограммировали, пока меня не было?
Аноним 12/04/22 Втр 11:04:13 2334244 7
>>2334213
Пытаемся понять как на блазоре скачивать большие (10-30 гб) файлы с сервера
Аноним 12/04/22 Втр 11:08:26 2334246 8
image.png 34Кб, 809x205
809x205
Аноним 12/04/22 Втр 11:47:44 2334288 9
>>2334246
Не проще передать ссылку на файл, чтобы браузер сам скачал? Т.е. элементарно создается тег:
<a href="ссылка">Скачать бесплатно и без СМС</a>
Аноним 12/04/22 Втр 11:49:57 2334291 10
>>2334288
Так в любом случае это ссылка и браузер скачивает, минуя браузер ты никак не скачаешь, вопрос в том как это должно быть имплементировано в самом блазор сервере
Аноним 12/04/22 Втр 12:16:05 2334308 11
Кстати, по поводу блазора, это норм вообще в блазоре в ввв-рут пихать всякие тяжёлые библиотеки вроде фонт асом или бутстрапа?
Аноним 12/04/22 Втр 13:23:16 2334356 12
Посоветуйте десктопный, кроссплатформенный UI-фреймворк. Для написания десктопных приложений. Не надо веба. Не надо мобилок. Просто десктоп. Чтоб написанное под вендой собиралось на линуксе и наоборот.
Авалонию не предлагать!
Аноним 12/04/22 Втр 13:24:59 2334358 13
image.png 56Кб, 466x848
466x848
image.png 63Кб, 485x820
485x820
Помогите.

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

Ну и я почти ничего не умею, так что о всяких там командах, сервисах, вьюмоделях и всём остальном пока ещё почти не думал.
Аноним 12/04/22 Втр 13:43:33 2334379 14
>>2334356
MAUI?

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

Потоки.
Аноним 12/04/22 Втр 13:59:54 2334399 15
Аноним 12/04/22 Втр 14:26:39 2334409 16
>>2334379
> MAUI?
Мобилы.
>>2334399
> Java
Щоблт? Ты в шарпотреде, жабист.
Аноним 12/04/22 Втр 14:37:46 2334416 17
>>2334356
Смог формализовать свои требования более точно: Нужна поддержка wpf/gtk/qt. Остальное не нужно.
Аноним 12/04/22 Втр 17:10:53 2334532 18
Сложно ли выучить git?
Аноним 12/04/22 Втр 17:14:59 2334536 19
>>2334532
инопланетная система контроля версий для инопланетян
Аноним 12/04/22 Втр 17:30:10 2334552 20
Я сейчас читаю книжку Троелсена по C# 7. Видел, что уже вышла по 9 версии, но не нашёл где скачать. Как потом догнать оставшиеся версии?
Аноним 12/04/22 Втр 17:32:08 2334554 21
>>2334552
прочитать заметки "что нового" в языках новых версий.
Аноним 12/04/22 Втр 17:39:59 2334563 22
Аноним 12/04/22 Втр 17:44:49 2334569 23
>>2334552
>Как потом догнать оставшиеся версии?
C#8
- индексы и диапазоны - удобная штука, пользуюсь
- nullable eference types - спорная штука
- дефолтная реализация в интерфейсах - многие до сих пор не понимают нахуя
- pattern matching - опять что-то у функциональщиков спиздили, х.з., что не разбирался.

Это в принципе все.

Че там в девятом, я х.з. не трогал еще.
Аноним 12/04/22 Втр 18:20:48 2334602 24
>>2334569
>Че там в девятом, я х.з. не трогал еще.
Тебя в заложниках что ли держат, заставляют использовать только старье?
Аноним 12/04/22 Втр 18:26:58 2334607 25
Аноним 12/04/22 Втр 18:40:05 2334620 26
image.png 47Кб, 594x331
594x331
Хочу забиндится в блейзоре к РГБА у текста. РГБ биндится к инту без проблем, а вот альфа канал биндится только через стринг, потому что нужна точка, а у шарпа формат вывода с запятой.
Это нормальная практика или я ебанько можно более лучше? Полчаса пытался понять почему биндинг не работает у альфы
Аноним 12/04/22 Втр 18:56:15 2334632 27
>>2334607
Мне вообще глубочайше похую что там нового выходит, максимально допизды на изменения в девятом и тридцать девятом сишарпе. Когда вижу восторженные восклицания как у тебя - искренне недоумеваю как это может кого-то интересовать. Иногда из-за этого мне кажется что я ненастоящий погромист.
Не для срача, просто наблюдение насколько разные люди в индустрии.
Аноним 12/04/22 Втр 19:00:33 2334634 28
>>2334607
> MAUI
Тупое говно тупого говна.
Тысячи мусорных файлов-конфигов-манифестов в хелловорлдовом проекте. Я как увидел, аж в кресла встал от охуевания. Невозможно передать степень моего отвращения к этой параше.
Я хочу такой UI-фреймворк, чтобы его хеллоуворлд состоял из нескольких строк в единственном шарп-файле.
1. dotnet install blablaframework
2.
using blabla;

void main(){
var mainform = new blablaform() { Text = "Hello World" };
var app = new blablaapp();
app.run(mainform);

}

И всё, блять! Ничего лишнего. Ни манифестов. Ни хмл. Но, если я захочу комплексное приложение, пусть мне будет доступен сериализатор искаропки.
Аноним 12/04/22 Втр 19:06:46 2334637 29
>>2334632
Кем ты себя видишь через 5 лет?
Аноним 12/04/22 Втр 19:08:19 2334638 30
А это что такое?

readonly State<int> count = 0;

[Body]
View body() => new StackLayout
{
new Label("Welcome to .NET MAUI!"),
new Button(
() => $"You clicked {count} times.",
() => count.Value ++)
)
};

попытка сделать как в флютер, жетпак композе, свифт комбине?

Выглядит похоже (намек на MVU) но чет слабенько
Аноним 12/04/22 Втр 19:13:15 2334640 31
Аноним 12/04/22 Втр 19:21:44 2334646 32
>>2334637
Хз, мидлом в Майкрософте или в НАСА.
Аноним 12/04/22 Втр 19:47:06 2334658 33
Аноним 12/04/22 Втр 20:05:05 2334669 34
>>2334640
Ну на мобиле (compose) такое мне нра (тем более с мощным синтаксисом котлина)
Но на десктопе такое тяжеловато работает и без таблиц уныло
Аноним 12/04/22 Втр 21:52:56 2334720 35
Аноним 13/04/22 Срд 02:11:38 2334824 36
>>2334720
Да я просто написал
Аноним 13/04/22 Срд 08:24:03 2334863 37
563567897897676.jpeg 236Кб, 1165x2048
1165x2048
Тред разработки приложений на Android утонул. Спрошу тут.

На сколько у C# всё плохо с мобильной разработкой?
Есть тут в треде кто-нибудь, щупавший Bluetooth? Очень сложно?
Аноним 13/04/22 Срд 09:15:58 2334877 38
>>2334824
А оно и просто сработало.
Аноним 13/04/22 Срд 09:19:22 2334880 39
>>2334863
На хамарине более менее. Чекни например xamarin-bluetooth-le. Можно работать из натива (в формсах тоже), будет все +- как в жаве
Аноним 13/04/22 Срд 11:22:02 2334924 40
Как вынести методы и вообще какие-то внутренности класса из самого файла но при это так что бы они оставались быть частью класса

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

то-есть мне нужно как бы папочку внутри класса
Аноним 13/04/22 Срд 11:55:47 2334944 41
Аноним 13/04/22 Срд 12:41:46 2334973 42
>>2334944
Спасибо большое!
А я не могу папочку назвать так же как класс?
И это вообще как с точки зрения производительности иметь класс с большим количеством статических методов в нем?

Я переживаю что каждое маленькое обращение в базу (а они все в одном классе) будет расчехлять огромный статичкский класс который будет долго инициализироваться
Аноним 13/04/22 Срд 13:29:57 2334995 43
>>2334973
А зочем если базу сервисом делать
Аноним 13/04/22 Срд 13:32:27 2334997 44
>>2334995
>базу сервисом делать
ММ?
Аноним 13/04/22 Срд 17:31:55 2335092 45
>>2334973
>И это вообще как с точки зрения производительности иметь класс с большим количеством статических методов в нем?

>Я переживаю что каждое маленькое обращение в базу (а они все в одном классе) будет расчехлять огромный статичкский класс который будет долго инициализироваться
Статические классы только один раз инициализируются, так что с производительностью проблем не будет. Но за такой говнокод тебя выебут на проекте, вообще не SOLIDно
Аноним 13/04/22 Срд 19:27:05 2335170 46
>>2334153 (OP)
>очередной перекат
>очередная шапка с .NET 5 который даже не LTS
Не заебало старье постить, деды?
Аноним 14/04/22 Чтв 00:18:18 2335344 47
Вкатыш на связи, где почитать про часто используемые библиотечные методы? Есть где-то списком это все?
Аноним 14/04/22 Чтв 00:29:31 2335349 48
>>2335170
Вот будет следующий перекат - тогда и заживём.
Аноним 14/04/22 Чтв 01:20:59 2335372 49
>>2335344
Открыть вакансии прочитать что требуют.
Самое странное тестовое в моей жизни Аноним 14/04/22 Чтв 06:24:30 2335397 50
Задание:
Нужно прислать пример идеального кода, который максимально эффективно сплавляется с конкретной задачей. Просьба в начале указать цель, далее сам образец кода и в конце краткое пояснение, почему он подходит :)

Страшная хуйня пиздец, на что это тест? На софт скилы?
Аноним 14/04/22 Чтв 08:05:36 2335405 51
>>2335397
Я бы отослал HelloWorld.cs и хуй забил на такую контору.
Если они так тестовые задания ставят, то представь какой пиздец у них твориться при постановке реальных боевых задач.
Аноним 14/04/22 Чтв 08:08:56 2335408 52
>>2335397
>на что это тест?
Если серьезно, то это тест на умение предугадать хотелки заказчика по минимальным вводным и реализовать их так, чтобы он остался доволен.
Если ты собеседуешься на какого-нибудь боевого аналитика, массирующего простату бизнеса, то вперед.
Если же твоя цель стать разрабом работающим по нормальному ТЗ, то нахуй.
Аноним 14/04/22 Чтв 08:24:27 2335414 53
>>2335170
Дак шапку никто не обновляет, поэтому при перекатах используется та, что есть.
Аноним 14/04/22 Чтв 09:01:43 2335424 54
Как происходит развёртывание и запуск дотнет-приложений на линукс? Всё кидаем в папку и пишем скрипт для запуска типа dotnet run что ли?
Аноним 14/04/22 Чтв 09:26:59 2335438 55
>>2335424
Делаешь публишь, копируешь папки на линукс, потом dotnet zhopa.dll
Аноним 14/04/22 Чтв 10:07:22 2335456 56
Работаю почти 3 года. В основном раскапываю древнюю бизнес-логику чтобы понять куда внести изменения, копаюсь в легаси, правлю баги и подобное. Где-то год назад начал подозревать что нихуя не развиваюсь, ничего по сути не умею: ни веб-фрейморки, ни ORM, ни построение REST API, ни паттерны.
Как думаете я правильно мыслю и действительно нихуя не умею и если хочу развиваться, то надо менять работу? Или может на самом деле все так же работают? Знают пару технологий, которые использует их контора и всё?
Аноним 14/04/22 Чтв 10:22:23 2335461 57
>>2335456
Да, меняй работу если уже не поздно
Аноним 14/04/22 Чтв 10:29:59 2335463 58
>>2335456
>Как думаете я правильно мыслю и действительно нихуя не умею и если хочу развиваться, то надо менять работу?
Проверяется просто. Составляешь резюме с описанием тех своих скилов в которых уверен и выкладываешь. Только именно честных скилов, которые умеешь и могешь, а не те которых просто касался или слышал о них.
А потом смотришь сколько и с какими предложениями по работе тебе будут звонить.
С учетом нынешних реалий, если твои навыки чего-то стоят и с учетом 3-х летнего опыта, тебе в норме должны поступать предложения на мидла и выше. Вот по качеству этих предложений можешь и рассуждать о том насколько у тебя все плохо или хорошо.
Аноним 14/04/22 Чтв 12:05:36 2335501 59
Кто-нибудь использует пиратский Rider? Как вы его ломаете?
Аноним 14/04/22 Чтв 12:30:55 2335517 60
>>2335501
@echo off
for I in ("WebStorm", "IntelliJ", "CLion", "Rider", "GoLand", "PhpStorm", "Resharper", "PyCharm") do (
for /d
a in ("%USERPROFILE%\.I*") do (
rd /s /q "
a/config/eval"
del /q "%%a\config\options\other.xml"
)
)

rmdir /s /q "%APPDATA%\JetBrains"
reg delete "HKEY_CURRENT_USER\Software\JavaSoft" /f
Аноним 14/04/22 Чтв 12:47:16 2335532 61
>>2335092
Я читал про солид, много теоретических изложений но что это означает на практике? вот взять те же интерфейсы без которых 2 из 4 принципов солид вообще не мыслимы. НО если разобраться что такое интерфейс? это просто список методов которые нужно имплементировать
ВСЕ!
Ну и зачем они нужны? я не понимаю зачем нужно учить все это если по сути это просто списочек, аля документация но в коде.

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

а главная задача программиста делать код который работает просто быстро и исправно, а не который выглядит красиво.
Аноним 14/04/22 Чтв 12:52:07 2335535 62
>>2335532
>а главная задача программиста делать код который работает просто быстро и исправно, а не который выглядит красиво.
Эх вкатусик, сколько открытий тебя ждет впереди
Аноним 14/04/22 Чтв 12:53:25 2335537 63
image.png 14Кб, 926x215
926x215
>>2335517
Абу пидор, вот рабочий
Аноним 14/04/22 Чтв 12:58:37 2335545 64
>>2335537
Этот способ разве не пофиксили осенью прошлого года? Теперь, чтобы получить триал, надо регистрироваться на сайте жидбрейнс и срок уже отсчитывается на аккаунте, а не локально на твоём пека.
Аноним 14/04/22 Чтв 13:05:19 2335552 65
>>2335545
У меня все пашет, хз
Аноним 14/04/22 Чтв 13:33:03 2335571 66
rider-no-30-day[...].jpg 67Кб, 863x621
863x621
>>2335552
Поставил на чистую систему и пишет, что даже пробные 30 дней только после регистрации.
Аноним 14/04/22 Чтв 13:36:30 2335574 67
Screenshot20220[...].png 45Кб, 535x334
535x334
Команда пиздузиастов пригласила к себе в разработку - согласился. На что мне выдали пикрил. Я, то есть, буду работать бесплатно, но от меня требуют сделанного ТЗ.
Послать нахуй, или всё же они правы?
Аноним 14/04/22 Чтв 13:41:37 2335576 68
>>2335532
>если статические классы инициализируются 1 раз, хорошо кешируются и прогнозируются
как то читал что статический конструктор влияет на производительность. А так статическому классу чего быть медленным.

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

> делать код который работает просто быстро и исправно, а не который выглядит красиво.
код, который легко сопровождается. Говнокод тоже работает быстро и исправно, а времени на модификацию в разы больше, да и хрупкость дикая.
Аноним 14/04/22 Чтв 13:59:17 2335592 69
>>2335574
они прям так и сказали, что работать будешь бесплатно?
Аноним 14/04/22 Чтв 14:09:37 2335599 70
Screenshot20220[...].png 30Кб, 757x193
757x193
Аноним 14/04/22 Чтв 14:56:26 2335628 71
>>2335599
Лично я бы поискал других. Более менее крупные компании мониторил. Нахуй эти стартапы. Еще и за бесплатно работать. Небось никакой трудовой договор не будут составлять.
Я бы послал бы их нахер.
Аноним 14/04/22 Чтв 15:01:09 2335633 72
Аноним 14/04/22 Чтв 17:09:14 2335736 73
>>2335532
>Ну и зачем они нужны?
Интерфейс это в первую очередь контракт, через который одна часть приложения взаимодействует с другой. Он уменьшает связанность и позволяет хорошо пилить приложение на слои и модули, с легкой взаимозаменяемостью компонентов.
Аноним 14/04/22 Чтв 17:27:27 2335754 74
>>2335574
ТЗ это техническое задание. Вот уже сразу можно сказать что ты долбоеб и я бы тебя даже бесплатно не взял. Но всё равно отвечу по существу: если джун и нихуя не умеешь, то делай тестовое и не выебывайся, это будет полезно.
Аноним 14/04/22 Чтв 18:00:04 2335786 75
>>2335754
>ты долбоеб
От чего ты так порвался, херок? От того, что я не стал делать вашу курсовую?
Аноним 14/04/22 Чтв 19:47:06 2335848 76
Чему ровно X ?? 0 + Z ?? 0
Аноним 14/04/22 Чтв 19:57:02 2335858 77
Аноним 14/04/22 Чтв 20:26:08 2335884 78
UWP приложение можно установить не в дефолтную директорию? Установщик вообще не предлагает выбора директории
Аноним 14/04/22 Чтв 20:40:05 2335898 79
1.png 14Кб, 392x473
392x473
2.png 52Кб, 551x920
551x920
>>2334358
Я бы как-то так делал...
Ну и я не понял логики. Типа зачем тегу знать про запись? Тег же это более широкая фигня. Если ты типа хочешь организовать доступ из тега к записи, то проще взять БД, там эта вот фигня за тебя реализована механизмом ключей, бери пользуйся.
Аноним 14/04/22 Чтв 23:16:20 2336029 80
>>2335574
Поделись тестовым.
Хочу посмотреть что они хотят то.
А на каких условиях работа то? Пока бесплатно а потом если выстрелит пошлем тебя нахуй?
Аноним 15/04/22 Птн 00:05:26 2336064 81
>>2336029
>Пока бесплатно а потом если выстрелит пошлем тебя нахуй?
Пока бесплатно а потом иди нахуй (без если выстрелит)
мимо другой ананас
Аноним 15/04/22 Птн 00:39:03 2336085 82
>>2336029
1a. Необходимо разработать БД, которая позволит хранить магазины и товары магазинов.
Описание сущностей:
Магазин: наименование, адрес, режим работы.
Товар: название, описание.
1b. Нужно сделать страницу, которая будет выводить список магазинов в виде таблицы.
В каждой строчке должна быть ссылка на товары магазина. По нажатии на ссылку - отображение товаров магазина в виде таблицы.
1с. На странице товаров магазина, должна быть возможность добавления, редактирования и удаления товаров открытого магазина.

Требования к технологиям:
1. ASP.NET / ASP.NET Core
2. UI – MVC или Angular(или любой другой UI фреймворк) + WebAPI
3. MiddleTier – ORM EF, Repository.
4. Необходимо использовать DI (любой IoC-контейнер –ninject, autofac, нативный asp.net core и тд)
5. DB – MSSQLServer
При первом обращении к базе она должна автоматически создаваться и заполняться тестовыми данными – несколько магазинов и несколько товаров в каждом из них.
Аноним 15/04/22 Птн 00:41:15 2336086 83
image.png 67Кб, 300x168
300x168
>>2336029
>А на каких условиях работа то?
Хуй его знает, я месяц лениво пилил тз, а потом призадумался самое время, да что из меня пытаются делать пикрил, лол.
Аноним 15/04/22 Птн 00:54:17 2336089 84
>>2336085
Для джуна дня на 2 задача. Для опытного на полдня-день.
Аноним 15/04/22 Птн 01:33:14 2336098 85
>>2336089
>Для джуна дня на 2 задача
и для очень опытного тоже 2 дня
Аноним 15/04/22 Птн 02:31:21 2336103 86
>>2336085
>2. UI – MVC или Angular(или любой другой UI фреймворк) + WebAPI
Поясните вот за юту строчку.
WebAPI это же бек, а на фронте ну жс или ангулар или вью. А MVC это же патерн. По сути штемель страница. Ну вот это вот все, делаем запрос на страницу страница обращается к контролеру контроллер возвращает модель и формируется страница. Просто Не пойму почему в этой строке приводится MVC как аналог ангулару.
Аноним 15/04/22 Птн 06:48:15 2336132 87
>>2336089
Все зависит от подхода. Если бы я на похуях, типа чтобы просто подтвердить что таки могу что-то там, делал - это можно сделать за 3-4 часа, если делать нормально, с нормальным фронтом, анимашки там красивые добавить, пытаться в интересный дизайн, апи сделать не минимальное, а чтобы вся хуйня с ролями-клеймами-токенами была, запилить докер-композ, какой-то пайплайн для CI/CD заложить ну и тесты прикрутить - работы на неделю точно, причем фуллтайм.
Аноним 15/04/22 Птн 09:18:33 2336157 88
>>2336085
>MSSQLServer
MSSQLServerMSSQLServerMSSQLServerMSSQLServerMSSQLServerMSSQLServer

>2022
Аноним 15/04/22 Птн 09:35:31 2336169 89
>>2335532
> интерфейс? это просто список методов которые нужно имплементировать
> ВСЕ!
> Ну и зачем они нужны?
Лично для меня их главное удобство в том, что ты можешь в одном массиве объединить разные объекты, но реализующие один интерфейс. Объясню, как водится на собачках. Собаки наследуются от псовых, человечки наследуются от приматов. Псовые и приматы наследуются от млекопитающих. Казалось бы, ты можешь создать массив млекопитающих и без задней мысли добавлять в него собачек и человечков. Но нет, это не СОЛИДно. Какой-нибудь хацкер напихает тебе в массив дельфинов и антилоп, например, и твоя софтина ляжет.

И тут на сцену выходят интерфейсы. Помимо наследования у собачек и человечков есть реализации. Лично ты, как автор софта, решаешь, что наследуется, а что реализуется. И вот тебе нужен список чешущихся. Ты делаешь интерфейс ИЧешущийся, и реализуешь его собачками и человечками. И затем ты создаёшь массив чешущихся и решаешь свою задачу. Это солидно и минималистично. И кроме того, если ты добавишь реализацию чешущихся рептилий, тебе не придётся переделывать код в уже готовых модулях. А тебе пришлось бы переделывать, потому что массив млекопитающих тебе пришлось бы переделать на массив животных, чтобы в него можно было включать рептилий. А хацкер смог бы тебе в этот массив ещё и черепах накидать, хотя ты думал лишь о крокодилах.
Аноним 15/04/22 Птн 09:37:21 2336171 90
>>2335736
Очень заумные и красивые слова, тем не мене это все еще списочек, совершенно бесполезный по факту. код можно так же написать и без него
Аноним 15/04/22 Птн 09:40:50 2336174 91
>>2336169
а почему точно так же нельзя делать без интерфейсов

МлекопитающиеМенеджер => возвратитьЧешущийся() и внутри один хер такая же реализация. точно так же работает только не надо читать тонны литературы
Аноним 15/04/22 Птн 09:46:02 2336176 92
>>2336174
Я описал, почему. Читай внимательнее.
Аноним 15/04/22 Птн 10:19:33 2336188 93
>>2336176
И что ты написал? Не солидно! ты же понимаешь что мой бугурт именно в том что и состоит что солид существует сам по себе и для себя. код должен быть солидным потому что.... потому что код должен быть солидным, а по факту под этим ничего нет, пустые слова.
Аноним 15/04/22 Птн 10:21:14 2336190 94
>>2336171
>код можно так же написать и без него
Да не вопрос - пиши, никто не запрещает. Только вот когда у тебя приложение дорастет до весомого уровня и ты поебешься с заменой одних реализации на другие - тогда поймешь зачем нужны интерфейсы.
Аноним 15/04/22 Птн 10:28:25 2336197 95
>>2336188
>солид существует сам по себе и для себя
Нет. Основной смысл существования солида, чтобы ты открыл чужой код или свой собственный, но который делал очень давно и сразу начал с ним работать, не пытаясь мучительно понять/вспомнить, что тут и зачем. Для этого и существуют все эти правила и абстракции.
Например принцип SRP позволяет тебе спокойно брать любой модуль и что-то в нем менять, зная что у тебя не посыпется весь код, т.к. у тебя будет только одна причина для того чтобы этот кусок кода изменять. Если у тебя есть интерфейсы, то ты легко можешь менять одни модули на другие, не парясь чем и как они друг от друга отличаются.
Например нужно тебе в приложении заменить тип баз данных. Если у тебя нормально все разбито по слоям и спрятано за интерфейсы, ты просто выкидываешь один провайдер БД и подставляешь вместо него другой. И тебе не нужно будет лезть по всему коду и выискивать где и как у тебя идет взаимодействие с БД. И так во всем.
Аноним 15/04/22 Птн 10:34:16 2336200 96
>>2336197
>Нет. Основной смысл существования солида, чтобы ты открыл чужой код или свой собственный, но который делал очень давно и сразу начал с ним работать, не пытаясь мучительно понять/вспомнить, что тут и зачем. Для этого и существуют все эти правила и абстракции.

открываешь класс, понимаешь что не понимаешь ничего, открываешь документацию.
Документацию есть всегда, зачем делать одну и ту же работу 2 раза!?
Аноним 15/04/22 Птн 11:21:55 2336240 97
>>2336200
>Документацию есть всегда, зачем делать одну и ту же работу 2 раза!?
О да, в современном-то мире IT-разработки?
Где на каждом углу ебучий скрам с ебучим эджайлом? Одним из основных принципов которого является "Похуй как работающий код важнее документации, поэтому ебашим, а доки когда-нибудь потом, может быть напишем"
Тебе повезет если хотя бы будет брошюрка о том как проект должен выглядеть со стороны заказчика.
Аноним 15/04/22 Птн 11:24:45 2336243 98
>>2336171

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

Но, к сожалению, есть и другие. Боюсь, что их — большинство. Эти системы похожи на бесформенный ком пластилина. Сначала создаётся маленький шарик базовой функциональности. Возможно, где-то в глубине его спрятан проволочный каркас грамотной и продуманной архитектуры. Но потом всё меняется. Каждая новая функция, каждое новое исправление и модификация делается наспех, по принципу «лишь бы работало». Каждый раз, внося такое исправление, мы берём комок пластилина и прилепляем сбоку к уже существующей системе.

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

И вот, в какой-то момент, появляется задача, которая влияет на несколько составных частей системы. Привычным движением мы лепим очередной комок… Но вдруг осознаём, что у нас перестала работать какая-то совершенно другая функция. Мы исправляем её, налепив очередной кусок, и получаем ошибки ещё в двух. И это – цепная реакция.

В лучшем случае за ней следует глобальный, сложный и очень дорогой рефакторинг, который уничтожает всякие надежды на поставку системы вовремя и в рамках бюджета. В худшем – система поставляется «как есть», с огромным количеством ошибок и абсолютной невозможностью её расширения или модификации. За редким исключением, такой продукт проваливается на рынке, на руководителя (на мой взгляд, вполне заслуженно) накладывается епитимья, после чего он отправляется в изгнание.
Аноним 15/04/22 Птн 11:30:16 2336247 99
Не могу пройти пятое подряд собеседование на бэкендера в зарубежные аутсорс компании. Вроде бы нормально отвечаю на все вопросы по синтаксису, солид, базам и тд.
Может ли быть то связано с тем, что не знаю ни одного js фреймворка, что нет опыта в CI\CD, облачных технологиях, не особо силен в юнит тестах, а так же во всяких Rabbit, Signal и тд?
Аноним 15/04/22 Птн 12:30:42 2336309 100
>>2336247
Так ты нихуя не знаешь тогда, собака
Аноним 15/04/22 Птн 13:24:02 2336327 101
>>2336243
Я такие пасты уже 1000 раз читал, это звучит красиво, но НА ПРАКТИКЕ ТО ЧТО? НА ПРАКТИКЕ!

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

Вот только вчера смотрел на пример блазора клиент-сервер в котором поломался индентити в сигналР. ну и где ваши кубики если у вас сферические примеры в вакууме ломаются при обновлении фремворка.

а если я не прав, так ПРИМЕР покажите! ПРИМЕР! я не хочу слушать пространные речи о том как офигенно работать со структурированным, блочным, инкапсулированым кодом.
Приятно спору нет, только причем тут ваш интерфейс? Это гребаный списочек. И с интерейсом можно говно написать. И без интерфейсов можно сделать конфетку

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

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

Вот так я думаю.
Аноним 15/04/22 Птн 13:29:04 2336328 102
Аноним 15/04/22 Птн 13:55:54 2336345 103
>>2336309
C#, PL/SQL, ASP/NET CORE MVC/API
ORACLE, PostqreSql, MsSql
HTML/CSS/JS/Bootstrap
Плюс три года коммерческой разработки. Да, легаси, поэтому у нас нет всяких модных штучек. Неужели этих знаний не хватит для устройства на работу?
Аноним 15/04/22 Птн 14:24:54 2336361 104
>>2336247
>js фреймворка
Да. В вебе на C# фронт сейчас никто ничего не делает почти. То что было раньше уже почти умерло, то что есть нового еще очень сырое. Сколько я не видел, обычно C# идет в связке с чем-нибудь вроде Reacta или еще чего-то JS-сного. Т.е. ты можешь не знать досконально всех кишок, но написать простой компонент, подтянуть данные с бэка, отправить запрос и т.д. по мелочи должен уметь.
>>2336247
>что нет опыта в CI\CD
Ну блин, это уже скоро станет обязательным как знание гита. Как минимум дернуть контейнер и запустить его, или настроить сборку в гитлабе нужно уметь.
>>2336247
>облачных технологиях
А вот это сейчас разрабу нахрен не нужно. Это проблемы девопса.
>>2336247
>в юнит тестах
Это как с манной кашей в детстве. Ты можешь их не любить и не использовать, но знать и применять обязан.
>>2336247
>так же во всяких Rabbit, Signal
В большинстве случаев это выглядит, так. Приходишь на проект "О, у нас тут RabbitMQ мы его вот только внедрили/внедряем. Все будет круто и быстро". Через полгода, "Не, чет не получилось. Нормально настроить не получилось. Чет все медленно и падает. Ну его нахуй - будем по старинке анус БД дергать".
Все любят про это спрашивать даже не представляя нахрен зачем оно им надо.

Итого. Потрать 1...2 месяца на изучение JS-фреймворка. Несколько дней на CI/CD. И неделю...две на юнит тесты.
Аноним 15/04/22 Птн 14:28:21 2336364 105
>>2336327
>Вот в с++ никаких интерфейсов вообще нет, и что?
Там есть абстрактные классы и множественное наследование, что по сути то же самое. И их именно в качестве интерфейсов все и юзают.
Аноним 15/04/22 Птн 14:38:04 2336373 106
>>2336327
>НА ПРАКТИКЕ ТО ЧТО? НА ПРАКТИКЕ
а что на практике? на практике либо ты продумываешь и инкапсулируешь модули, либо получаешь гемор в виде каскадных багов при росте проекта выше определенной величины хаоса.

>И без интерфейсов можно сделать конфетку
можно конечно. ведь с интерфейсами, но единственной! реализации для него = без интерфейсов вообще.
(я сейчас не говорю про задачи, где без интерфейсов не решается в принципе)

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

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

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

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

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

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

Идем далее. Расширяемость. Вот тот же асп.нет кор (и либы вида Microsoft.Extensions.) активно юзает DI, при этом имеют единственную (дефолтную) реализацию интерфейсов.
Это позволяет расширять. Например, когда я захочу переделать убогую систему виджетов асп на нормальные компоненты, то я не буду делать форк, а просто сделаю свою реализацию нужных частей и зарегистрирую в services.Add
и все заработает потому что асп дает такую возможность расширять. Не используй он интерфейсы - мне пришлось бы делать форк асп и тучи библиотек.



Аноним 15/04/22 Птн 14:40:25 2336374 107
>>2336373
ох уж этот парсер. звездочки превратил в курсив
Аноним 15/04/22 Птн 15:28:56 2336421 108
В какой IDE разрабатывают программы на профессиональном уровне? Раз сейчас шарп становится кроссплатформенным, то разумней использовать VS Code вместо Visual Studio или нет?
Аноним 15/04/22 Птн 15:38:16 2336431 109
>>2336373
судя по тому что я не понял это :
>Беда будет если у тебя не тупо поменялся один класс на другой, а класс раздербанился на несколько, был частично заменен частями из других старых классов и тогда тебя ждет увлекательное путешествие по коду с целью почиинить все что поломалось. И, в зависимости от ситуации, это может быть очень много изменений (контракт похерился, может быть появились циклические зависимости и так далее).
И все это вместо того чтобы просто поменять в одном месте реализацию и сделать пару адаптеров если нужно.

Я еще не дорос до Солида, а точнее до уровня на котором солид нужен, я и тесты не использую
Аноним 15/04/22 Птн 15:38:24 2336432 110
>>2336421
во всех. выбор IDE - фломастеры
Аноним 15/04/22 Птн 15:56:49 2336450 111
>>2336432
Мне кажется VS Code более классный, а Visual Studio скучная
Аноним 15/04/22 Птн 16:03:20 2336458 112
>>2336431
Ну...суть солида - помогать писать код, который легче сопровождать и расширять, в котором при добавлении новой фичи пришлось бы модифицировать как можно меньше кусков кода, что минимизирует вероятность "каскадного распространения бага".

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

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

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

>>2336450
я ж говорю - фломастеры. Я выбираю VS - из-за Diagnostic Tools и Xaml дизайнера (хоть я пишу хамл руками). Ну и возможность интеграции с TortoiseHG, а не использовать родную для IDE работу с CVS
Аноним 15/04/22 Птн 17:18:22 2336522 113
Аноним 15/04/22 Птн 17:23:32 2336527 114
>>2336522
Как вы его оплачиваете? Жидбрейнс же свалили в Прагу и делают вид, что иностранная фирма.
Аноним 15/04/22 Птн 17:38:04 2336543 115
>>2335501
Чекни на рутрекере в теме райдера 2020.2.4, там вроде на новые версии в обсуждении есть кряки
Аноним 15/04/22 Птн 17:46:56 2336559 116
Аноним 15/04/22 Птн 19:01:54 2336657 117
>>2336543
Ничего там нет, они сами не знают как ломануть
Аноним 15/04/22 Птн 20:57:44 2336731 118
>>2336657
последний раз ломался тем же, чем и пишармы разные. После этого не смотрел. пишарм/рубимайн/пхпсторм обновились и продолжили работать. Значит и райдер должен
Аноним 15/04/22 Птн 21:55:25 2336777 119
>>2335501
Нахуя нужен райдер, когда есть божественный Vim?
Вот серьезно. Хоть одну причину назови, зачем нормальному человеку - райдер.
Аноним 16/04/22 Суб 01:35:13 2336907 120
>>2336657
2021.3.1 Update
Download this https://www38.zippyshare.com/v/Xvt9Ve3t/file.html
Add in vmoptions -javaagent:/path/to/ja-netfilter.jar=jetbrains Note: this is now automated if you run scripts/install.sh on Mac/Linux or install-current-user.vbs on Windows.
Open your Jetbrains IDE. Click Activate by licence server and type in https://jetbra.in
Should now be activated
Вот это вот
Аноним 16/04/22 Суб 10:23:59 2336978 121
Первый раз работаю с гитом и не понимаю как добавить изменение, чтобы оно не публиковалось на гитхабе. Вижла 2022 почему-то пишет, что можно только в гитхаб отправить, а не в локальный репозиторий.
Как вы учили гит?
Аноним 16/04/22 Суб 10:46:46 2336994 122
Аноним 16/04/22 Суб 11:00:27 2337007 123
>>2336978
Хуй знает я просто гитхаб десктоп пользуюсь там все наглядно без доёбов
Аноним 16/04/22 Суб 11:42:30 2337029 124
>>2336994
Но ведь там нет вижлы
Аноним 16/04/22 Суб 12:01:03 2337045 125
>>2336907
Что-то сложно. И эта старая версия не поддерживает дотнет 6.
Аноним 16/04/22 Суб 12:27:16 2337061 126
>>2337045
Поддерживает же. 2021.2.1 уже поддерживала
2021.3.1 это от декабря того 21 года, поддержка есть
Аноним 16/04/22 Суб 12:34:47 2337066 127
Пасаны, сделал веб приложение на Blazor WASM, выложил на клаудфлейр пэйджес (на гитхаб и хероку не получилось выложить лол), все ок.
Но работает все только при первом заходе на страницу или при обновлении по Ctrl+F5.
Если просто обновить по ф5 или перезайти на страницу - не удается получить доступ к сайту ERR_FAILED.
Проект суть дефолтный шаблон, ничего в роутингах или эппсеттингс не менял.
Гугол не помог, куда смотреть?
Аноним 16/04/22 Суб 12:42:08 2337073 128
Аноним 16/04/22 Суб 16:25:31 2337258 129
Аноним 16/04/22 Суб 16:50:09 2337280 130
16/04/22 Суб 16:59:17 2337293 131
>>2337280
Потому что ты ебаная анимеблядь, съеби говноед
Аноним 16/04/22 Суб 17:00:31 2337296 132
>>2337280
Кастопидоры с уёбищной системой типов должны страдать.
Аноним 16/04/22 Суб 17:08:39 2337303 133
>>2337293
Ожидаемо, но лень было менять названия
>>2337296
Чем ругаться лучше помоги разобраться
Result является прямым наследником AnimeMangaIdBase. Для TData тоже указано условие наследования от этого типа. Почему он не хочет делать неявное приведение?
Аноним 16/04/22 Суб 17:21:07 2337314 134
>>2337303
>Result является прямым наследником AnimeMangaIdBase
Но не наследником или базовым классом для TData.

Это как блядь у тебя и 2 типа int и string, они тоже являются наследниками типа object, попытайся скастить один в другой.

Если тебе станет легче, такое говно с промежуточным кастом пишут все. Частично от этого иногда спасает какой-нибудь DI в проекте.
Аноним 16/04/22 Суб 17:38:57 2337331 135
Аноним 16/04/22 Суб 18:06:38 2337347 136
>>2336328
Ну тогда и мне, балбесу, заодно помогите :-(

VS Community
Xamarin

Вроде нашёл, что мне надо: https://github.com/xabre/xamarin-bluetooth-le/blob/master/Source/BLE.Server.Droid/BleServer.cs#L45

Пытаюсь подсунуть в MainPage.xaml.cs - борода.
ругается, что нет пространства имён:
using Android.Bluetooth;
using Android.Bluetooth.LE;
using Android.Content;
using Java.Util;

Пошарился по остальным файлам в проекте - указанные выше библиотеки (большая часть) есть в MainActivity.cs
Добавил их там - на не найденное пространство имён не ругается.

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

Ссылка на говно-проект: https://drive.google.com/file/d/1Aolw3VryI6Wm1pSRDftFuNB1UXhYU0t0/view?usp=sharing
Аноним 16/04/22 Суб 18:19:55 2337355 137
Как сделать так, чтобы при нажатии кнопки запустился некий процесс, который работает сам по себе неопределенное количество времени, реагирует на действия пользователя, при этом основная часть программы ожидает, пока этот процесс не завершится и не вернет значение?

Гугл подсказывает async/await. Но как мне в процессе работы потока передать ему данные или команду прервать работу?
Аноним 16/04/22 Суб 18:25:03 2337357 138
>>2337355
ну тот же принцип как и HostedService работает (да и вообще все на свете)
Создай класс в котором по нажити кнопки стартанешь вечный цикл и передай ему ConaellationToken или заведи метод Stop/Cancel(). Корми его данными в рэндомные моменты через обычные методы этого класса (а внутри можешь использовать Channel).
Для ожидания окончания заведи у него поле Task Completion которое закончится при выходе из цикла. Ну или сделай Async версии методов StopAsync/CancelAsync

Как больше нравится в общем
Аноним 16/04/22 Суб 18:31:16 2337361 139
>>2337355
А если это процесс, то стартуешь процесс и у него есть Process.WaitForExitAsync(CancellationToken) чтобы можно было подписаться на ожидание окончания его работы.
Ну а кормить его данными - тут уже выбирай любимый метод IPC
Аноним 16/04/22 Суб 18:59:51 2337371 140
>>2337007
Ну хз, я так и не понял, например, как мне выкачать в произвольную папку файлы проекта по состоянию на такую-то дату.
Он только изменения показывать может, а мне это нахуй не надо.
Я думал, что раз я пользуюсь гитом, то могу смело ебашить стрёмные изменения в мой петпроект, а если что-то пойдёт по пизде, всегда смогу откатиться назад. А как оказалось - нихуя (ну либо я тупой, не знаю консольных команд). Пришлось короче в этом гитхаб десктом ручками смотреть все изменения и ручками их вносить.
Но опять таки возможно я просто тупой.
Аноним 16/04/22 Суб 19:48:40 2337417 141
>>2337357
>>2337361
Короче, при любых реализациях избежать бесконечного цикла не удастся.

>Создай класс в котором по нажити кнопки стартанешь вечный цикл и передай ему ConaellationToken или заведи метод Stop/Cancel().
Ну я что-то подобное делал: цикл проверял поле, в котором была ссылка на значение. Только получалась фигня, когда значение могло меняться быстрее, чем это детектил цикл.

Щас по пробую реализовать через события.
Аноним 16/04/22 Суб 19:56:59 2337422 142
>>2337417
циклы(очереди) - они везде. Не нужно их избегать.

>Щас по пробую реализовать через события.
не усложняй. В CancellationToken тоже есть подписка. Было бы что подписывать.
Аноним 16/04/22 Суб 20:16:54 2337436 143
>>2337417
вот тебе прототипы на коленке
https://pastebin.com/C7qv02G6

в EnqueueDataAsync добавляются данные в очередь и в цикле они выгребаются.

Service1 - там стартуешь и отменяешь токеном, а где то подписываешься на Completion
Service2 - это наследник BackgroundService тот который IHostedService. Там просто соединяется StartAsync/StopAsync в один токен, чтобы самоу то же самое не делать в каждом классе (посмотри реализацию и поймешь)
Можно и Start/Stop + Completion

Да как угодно можно. Тут ничего сложного
Аноним 16/04/22 Суб 20:28:07 2337453 144
>>2337355
Абортируй тред нахуй. В чем сложность?
Аноним 16/04/22 Суб 20:32:55 2337459 145
>>2337453
сложно абортировать тред без существования Abort()
Аноним 16/04/22 Суб 20:39:02 2337464 146
>>2337459
Ты же на винде я думаю работаешь. Дергай TerminateThread и живи спокойно.
Аноним 16/04/22 Суб 20:45:03 2337467 147
>>2337464
Не на винде, но интересно как из Thread получить то, с чем можно вызывать TerminateThread
Аноним 16/04/22 Суб 20:51:25 2337472 148
Подскажите как на асп нет коре можно определять залогиненный ли сейчас определенный пользователь. Я хочу не пускать его логиниться если у него открыта сессия.
Аноним 16/04/22 Суб 20:53:32 2337475 149
>>2337459
>>2337467
Но если серьезно, то другого "правильного" способа, кроме как использовать CancellationToken - виндобляди не предоставили, после отказа от Abort. Что поделать?
Можешь вот это посмотреть:
https://docs.microsoft.com/ru-ru/dotnet/api/microsoft.visualstudio.threading.threadingtools.withcancellation?view=visualstudiosdk-2022
Я пока что не тестил, но судя по описанию, оно должно работать +- как нужно.
Аноним 16/04/22 Суб 21:11:04 2337502 150
>>2337475
>другого "правильного" способа,
есть такое. это беда. если вызываю что то такое тяжелое то никакого способа отменить

>оно должно работать +- как нужно.
не. это одна из реализаций метода WithCancellation для операций, что не принимают токен. Просто делается TaskCompletionSource для токена отмены и далее Task.WhenAny. Если сработает таска от токена, то выходим. Но основная таска продолжает работать ничего не зная ни про какую отмену
Аноним 16/04/22 Суб 21:45:54 2337546 151
>>2337464
Ага разобрался. Нужно получить тредайди
Thread.BeginThreadAffinity();
_treadId = GetCurrentThreadId();
Thread.EndThreadAffinity();

и дальше можно абортить
IntPtr ptrThread = OpenThread(1, false, (uint)_tread);
TerminateThread(ptrThread, 1);

пригодится. жаль только винда
Аноним 16/04/22 Суб 22:51:49 2337576 152
>>2337464
даже сделал себе класс хелпер для поддержки TPL
https://pastebin.com/bm6jFU1G

Кстати, наглядный пример неудобства что void не тип - приходится писать 2 реализации с дублированием кода для Task и Task<T>.
Был бы дефолтный Unit в фреймворке - сильно бы легче было.
Аноним 17/04/22 Вск 02:26:49 2337691 153
>>2337464
не. дохлый номер
поток умирает, но Thread остается жить и если сделать GC.Collect(), то падает рантайм
Fatal error. Internal CLR error. (0x80131506)
Аноним 17/04/22 Вск 08:30:19 2337738 154
Вот вы говорите: не стоит боятся санкций, ведь дотнет кор попенсорсный, а микрософт блочит гитхаб и вам становится не доступен весь попенсорс.
Аноним 17/04/22 Вск 09:20:58 2337758 155
Как принято делать реализацию доступа к api? Пока у меня вот такая https://codeshare.io/Rbr9XQ дрянь, но мне кажется, что за это непотребство в цивилизованном обществе расстреливают.
Аноним 17/04/22 Вск 11:28:32 2337781 156
>>2337691
> поток умирает
Я краем глаза прочёл "котик умирает" и подумал, что ты тот ебанутый попрошайка, что носится по всем разделам. Уже хотел отправлять persistent data по коду 0x80131506, но вовремя перечитал пост.
Аноним 17/04/22 Вск 14:04:21 2337897 157
Здрасьте. Вопрос такой. Приложению нужно принимать некий жиссон от строннего приложения и мапить объекты из него на свои собственные объекты. В частности предполагается мапинг стрингов на энамы. Нормально ли создать в принимающем контролере (ну или сервисе) свойства словари по типу:

Dictionary DictionaryProperty = {"A" = SomeEnum.One, "B" = SomeEnum.Two, "C" = SomeEnum.One}

Т.е. вопрос в том, т.к. это свойство класса контроллера, оно ж будет создаваться при каждом запросе и не сильно ли такое повлияет на производительность? Словари не большие, их максимум будет 4 по 10 значений. Не ругайтесь сильно, позязя, я нуб и боюсь слепить совсем не производительное говно
Аноним 17/04/22 Вск 14:23:02 2337907 158
Стоит ли уже начинать использовать Generic Math и abstract static методы и свойства в интерфейсах? Или оно всё ещё сыро и неустойчиво по API.
Я был удивлён, что оказывается нельзя оставить абстрактной реализацию abstract static метода интерфейса в абстрактном классе.
Аноним 17/04/22 Вск 14:34:50 2337917 159
>>2337347
Спасибо, посоны. Люблю вас просто за то, что вы есть.
Аноним 17/04/22 Вск 15:54:44 2337951 160
>>2337897
Делай словарь статичным и ридонли. В чем проблема?
Аноним 17/04/22 Вск 16:10:03 2337962 161
>>2337917
Тебе трудно отвечать, потому что ты вопросы по дурацки задаешь. Создается впечатление, что ты базовые вещи не занаешь, при этом просишь специфичную для замарина и андроида хуйню.

Сформулируй нормально что тебе и где надо.
>>2336328
Посмотри это https://medium.com/enigmamx/how-to-integrate-bluetooth-le-in-xamarin-forms-2dcdf974703a
Я замарин последний раз в 2018 трогал и в те времена блютуз мне был не особо нужен. Суть. Замарин - говно без задач. Хочешь что-то для мобилок писать - бери жаву либо котлин и делай как человек. Инструмент для задачи, а не задача для инструмента.
Аноним 17/04/22 Вск 17:06:16 2337996 162
>>2337962
>Хочешь что-то для мобилок писать - бери жаву либо котлин и делай как человек
ага. а еще свифт и свифтуи или комбине, делов то )
Аноним 17/04/22 Вск 17:08:22 2337997 163
>>2337951
>В чем проблема?
Вот этой идеи не хватало
>Делай словарь статичным и ридонли.
А вечный словарик в памяти не слишком много сожрёть?
Аноним 17/04/22 Вск 17:11:43 2338001 164
>>2337997
Как бы при любом POST на контроллер с жсоном в теле происходит парсинг этого жсона на объекты. В чем твое отличается от этого?
О чем разговор вообще?
Аноним 17/04/22 Вск 18:28:48 2338041 165
>>2337997
Не сильно.

>>2338001
Ну, как я понял, ему прилетает жсон вида:
{
propA:"Zalupa"
}
он хочет его смапить к:
class A{
public SuperDupperEnum Element {get;set;}
}

и в обработчике:

a.Element = _dictionary[request.propA] сделать.
Скорее всего "Zalupa"- не в енаме, иначе бы фреймворк за него смапил.
Аноним 17/04/22 Вск 18:42:59 2338046 166
>>2338001
>О чем разговор вообще?
Нуууу, смотри. Дело такое, есть нечто стороннее на пыхе, которое кидает жиссон с массивом различных объектов с некоторыми пересекающимися полями (в частности там есть поле "Type"). Плюсом в жиссоне идет такая особенность как Price: "100" т.е. числительные в кавычках, стрингой. (собираюсь использовать [FromBody] и не уверен что оно автоматически сможет спарсить такое в кавычках в decimal). Планирую принимать массив общих объектов со всеми стринговыми полями (ибо не уверен что Price: "100" можно сразу в десимал спарсить) и потом в зависимости от значения в Type парсить с , т.е. принимается массив
CommonObject
{
string Type
string Price
string Property1
string Property2
string Property3
string Property4
}

и затем каждый общий тип в массиве мапится на

Object1
{
int TypeId
decimal Price
string Property1
string Property2
}

Object2
{
int TypeId
decimal Price
string Property3
string Property4
}

Object3
{
int TypeId
decimal Price
string Property1
string Property4
}

Причем даже значение string PropertyN из общего объекта не всегда точно равно string PropertyN в конкретном объекте.
В связи с чем есть план запилить словарики какие стринги из стороннего входящего объекта равны каким значениям моих внутренних объектов

>О чем разговор вообще?
А это вообще хороший план со словариками, так быстрее работать будет? И если да, то пусть лучше эти словарики создаются каждый раз при запросе (пока запросы планируются не слишком частыми, т.е. нагрузка так себе) или сделать их статичными и пусть висят в памяти всё время работы приложения
Вот
Аноним 17/04/22 Вск 18:44:28 2338048 167
Аноним 17/04/22 Вск 18:55:51 2338062 168
>>2338048
Держать такой словарь в памяти (статика) это такая мелочь по сравнению с остальным, что просто ну ни о чем.

А если хочется тотальной экономии, то такой небольшой словарь можно всегда заменить на switch и потребление памяти будет нулевое.
Аноним 17/04/22 Вск 20:52:34 2338161 169
Есть ли у асп нет кора изподкоробки возможность проверить онлайн ли сейчас конкретный идентити юзер? Если нет, то можете подсказать куда копать/как это реализовать?
Аноним 17/04/22 Вск 21:10:52 2338183 170
>>2338161
Нет, как ты это проверишь. Пинговать его будешь постоянно?
Аноним 17/04/22 Вск 21:34:11 2338207 171
Блять, посоны, я посмотрел вакансии и джун бэкендер не нужен никому.
Я думаю, стоит ли мне рашить сейчас и бежать на собеседования хоть куда-либо или подождать нормальной вакансии
Аноним 17/04/22 Вск 21:39:16 2338214 172
>>2338161
Можешь для этих целей вебсокеты использовать. Правда зачем в контексте ХТТП это вот надо - я хрен знает.
Аноним 17/04/22 Вск 21:46:52 2338225 173
>>2338183
Ну на js'e мб держать как-то коннект с сервером я хз. Вот пока читаю что на асп нет есть memberuser.isonline, правда пока не знаю что там под коробкой, да и мне на коре нужно.
Аноним 17/04/22 Вск 22:00:47 2338239 174
>>2338214
Объясню - у меня петпроект прохождение всяких нестандартных нескучных тестов. Я пока точно не тестил, но прикинул что в теории юзер вполне может ебануться и залогиниться два раза в свою учетку с разными куками и это в теории может распидорасить сервак, как минимум мне кажется можно словить какой-то db concurrency update, ну или еще кучу всяких уязвимостей чисто моей реализации потому что я этого не предсказал. Самое тупое пока что я придумал - просто не пускать его в систему пока он залогинен, как например в веб версии телеги, правда там это в контексте пары вкладок. Мне показалось что асп нет коре что-то должно быть как например есть дебаг конект с самой студией.
Аноним 17/04/22 Вск 22:09:55 2338242 175
>>2338239
HTTP - по своей сути - запрос-ответ протокол, в HTTP 1.1 по дефолту - сокет закрывается сразу после обработки запроса. "Подключение" к приложению строится обычно на базе сессий.
Так вот в контексте db concurrency update - тебе боятся нет смысла, оно не про это, а про попытку двух потоков обновить сущность, в твоем контексте - оно как может произойти даже если у тебя будет механизм отслеживания, так может и не произойти, даже если два одинаковых пользователя будут обновлять запись.
Если бы ты хотел фишку как в ВКшечке какой-нибудь, типа пользователь вышел и кружок стал сереньким, то это делается двумя путями: вебсокеты, либо реализуешь логику на стороне клиента, когда он раз в какой-то интервал времени шлет запрос, который означает, что он еще подключен, приложение обновляет статус клиента, если условно он минуту этот запрос не слал - считаешь его не в сети.
Аноним 17/04/22 Вск 22:16:46 2338246 176
>>2338225
>Ну на js'e мб держать как-то коннект с сервером я хз.
И чем SignalR плох тогда?
Аноним 18/04/22 Пнд 22:09:52 2338751 177
То есть мне чтобы в каком-то foreach например быстренько литерал объектов по которым пройтись надо нужно хуярить new залупа[] {}? Чем шарп блять просто [] не устроил?
Аноним 18/04/22 Пнд 23:14:51 2338793 178
image.png 9Кб, 480x329
480x329
Пытаюсь разобраться, как работает api. Пока возникли следующие вопросы:
1. В коде есть app.UseHttpsRedirection(); Но в браузере при попытке открыть ссылку по http пик 1. Почему так?
2. В инсомнии (http-клиент) мне выдает ошибку Error: SSL peer certificate or SSH remote key was not OK. Как это работает? В моем представлении Visual Studio установил на компьютер сертификат разработчика, и все должно работать даже в инсомнии.
3. Роуты регистронезависимые, поэтому /demo и /DEMO выдают один и тот же результат. Вот только когда я в строке браузера задаю /DEMO - строка изменяется на /demo. Как это происходит? Я сначала думал, что это какой-то редирект, но в инсомнии никаких редиректов не отображает, обычный плеин текст, никаких подозрительных заголовков, один запрос на /DEMO и один ответ. Как браузер понимает, что /DEMO и /demo - это одно и то же, и нужно заменить в строке адреса /DEMO на /demo?
Аноним 19/04/22 Втр 01:20:03 2338850 179
>>2338793
>Пытаюсь разобраться, как работает api
Просто закоментируй и убери пока строку app.UseHttpsRedirection();
чтобы не ебать себе мозг пока постигаешь и юзать обычный http. Потом когда поймешь, что и как вернешься и освоишь https и прочую шелуху.
Аноним 19/04/22 Втр 02:18:01 2338859 180
>>2338850
>>2338793
На самом деле с первым пунктом я ступил (порт перепутал), и app.UseHttpsRedirection(); работает как и ожидалось. А вот остальные 2 пункта - непонятно.
Аноним 19/04/22 Втр 11:09:03 2338975 181
image.png 15Кб, 807x161
807x161
Как получить дескриптор дллки подключенной к процессу?

Process = Process.GetProcessesByName(NAME_PROCESS).FirstOrDefault();
ModuleClient = Process.GetModule(NAME_MODULE_CLIENT);

ModuleClient = налу и Marshal.GetLastWin32Error() - выводит 0 (типо всё окей)
Аноним 19/04/22 Втр 13:35:10 2339086 182
Где взять пример унит тестов и интеграционных тестов для мвс? Те семплы которые есть на мсдн не компилируются даже
Аноним 19/04/22 Втр 14:07:39 2339130 183
>>2338207
>Блять, посоны, я посмотрел вакансии и джун бэкендер не нужен никому.
учи php
Аноним 19/04/22 Втр 14:45:44 2339151 184
Где взять пример унит тестов и интеграционных тестов для мвс? Те семплы которые есть на мсдн не компилируются даже

Самое главное что что меня интересует как РЕАЛЬНО написать какие-то тесты которые РЕАЛЬНО

Все эти гавкающие кошки и мяукающие песики из примеров это конечно хорошо НО меня интересует реальное применение, а не эта чушь.

Например когда представление возвращает not authorized это ошибка или нет? тест пройден или нет?

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

Короче все РЕАЛЬНО ВАЖНЫЕ вопросы не раскрыты, а везде пространные речи про солид, DI и котиков-собачек.
Аноним 19/04/22 Втр 15:22:42 2339168 185
>>2339151
У Троелсена есть примеры, где машина разгоняется и у неё движок ломается, если превышает определенную скорость.
Аноним 19/04/22 Втр 15:32:32 2339172 186
>>2339151
>Короче все РЕАЛЬНО ВАЖНЫЕ вопросы не раскрыты, а везде пространные речи про солид, DI и котиков-собачек.
А это типично. В инете миллионы статей где показано как решать простые случаи.
Из-за этого приходится мониторить ресы разные и класть в закладки норм статьи, чтобы потом не искать.
Аноним 19/04/22 Втр 16:55:55 2339222 187
>>2339151
Ты немножко не понимаешь сути тестов и SOLID

Ты создаёшь объект с определенной целью, например сложения двух чисел. Что там накодил - вторично, для тестов важно только одно - полученные данные и возвращаемое значение. Если твой объект на 1+2 возвращает 3 - хорошо, возвращает 12, null или ExceptionError - тест не проходится. Всё.


>или вот мы получаем сущность с базы, а база пустая, или не созданая это как? ошибка или нет? Ну или иначе я что должен заполнять базу тестовыми значениями? ну а если у меня разные инстанции, тогда тесты не будут повторяемыми.
Гугли Mock-объекты
Аноним 19/04/22 Втр 20:08:34 2339422 188
569650original.jpg 55Кб, 736x546
736x546
Господа! Подкиньте ресурс для проверки знаний основ C#. Желательно актуальные вопросы на собеседованиях. Посмотрел Курс Александра Гудка, прочитал 18 глав Шилдта и хочу чекнуть свой скилл 33 лвл, ноулайфер
Аноним 19/04/22 Втр 20:45:04 2339442 189
>>2339422
Просто сходи на реальный собес хоть куда
Аноним 19/04/22 Втр 20:52:43 2339444 190
>>2339151
>Ну или иначе я что должен заполнять базу тестовыми значениями? ну а если у меня разные инстанции, тогда тесты не будут повторяемыми.
Нет, ты просто мокаешь бд в своих юнит тестах.
Аноним 19/04/22 Втр 21:33:16 2339466 191
Привет из gamedev!Godot engine
Насколько сложно пилить сервер на C#?
На линуксе проблем не будет?

Аноним 19/04/22 Втр 22:42:52 2339535 192
Аноним 19/04/22 Втр 23:04:32 2339551 193
>>2339466
Ща тебе насоветуют.
Местные совершенно иначе понимают слово "сервер". Здесь другие ребята, здесь суровый ентерпрайз.
мимо ОП годотреда
Аноним 20/04/22 Срд 07:36:25 2339652 194
нужно модифицировать старый проект на EF. используется ModelFirst, но в модель.edmx сотни таблиц как мне найти нужную и обновить её?
Аноним 20/04/22 Срд 10:51:45 2339729 195
Можете посоветовать библиотеку для чтения данных из excel файла, чтобы ее можно было использовать на VS Code?
Аноним 20/04/22 Срд 13:51:39 2339954 196
>>2339729
Возможно стоит перефразировать вопрос: Как записать большое кол-во данных в БД?
Аноним 20/04/22 Срд 14:58:28 2340029 197
>>2339954
INSERT INTO название таблицы VALUES (значения полей)
Аноним 20/04/22 Срд 15:05:37 2340041 198
>>2339729
Можно сконвертить в CSV-файл и читать как простой текстовый файл. Совместимость с VS Code присутствует.
Аноним 20/04/22 Срд 15:46:13 2340065 199
>>2340029
Если в таблице 1,5-3к строк, тот же способ?
Аноним 20/04/22 Срд 16:15:53 2340101 200
>>2340065
Можно и тем же, можно одним запросом - инсерт инто таблица вэльюз (значения строки 1), (значения строки 2), ...
Пара тыщ строк это не сложная задача для БД.
Аноним 20/04/22 Срд 16:53:12 2340122 201
>>2339729
что особенного в VS Code что нужны какие то особые библиотеки?
Аноним 20/04/22 Срд 17:03:48 2340133 202
>>2340122
В том, что microsoft.interop.excel не подходит, ибо у меня mac. А решения без использования Framework я не нашел. Поэтому такой запрос.
>>2340101
Те вбивать все ручками в самой СУБД или нормальный программист заполнит с 0, при необходимости, БД через EF, попутно разработав структуру БД?
Аноним 20/04/22 Срд 18:10:39 2340182 203
>>2339954
Очевидный dbeaver.
Версия под мак - есть.
Подключенте к любой бд - есть
Импорт/экспорт в/из БД их любого говна - есть.
Аноним 20/04/22 Срд 18:22:36 2340199 204
>>2339729
Смотри, есть два формата данных в office - xsl и xslx

XSL - это бинарник, тут всё сложно без библиотек

Но XSLX - это же обычный архив с кучей xml файлов, можно использовать как OpenXml, так и вручную через Linq to XML
Аноним 20/04/22 Срд 19:08:04 2340248 205
>>2340133
оффтоп, но зачем маководам шарп? никогда не понимал.
Аноним 20/04/22 Срд 19:21:53 2340266 206
>>2340182
Так это та же самая Postgre. Ввод данных тот же INSERT INTO
>>2340199
Тоже подумал, что проще видимо парсить xml. Расчитывал, что можно это сделать без "сохранить как".
>>2340248
1. Домашний пк на маке. 2. Далее потребуется воспользоваться одной либой для конвертации файлов, которая написана только под шарп с последующим наполнением БД.
И разве сейчас шарп не позиционируется как кросс платформенный? Даже при "хотели как на бумаге, да забыли про овраги", то выбор из подобных языков, по моему представлению, не велик, либо я так и смог корректно понять какой яызк для чего.
Аноним 20/04/22 Срд 20:01:03 2340311 207
>>2340266
Джава полностью кроссплатформенна и работает одинаково на 3 миллиардах устройств.
Аноним 20/04/22 Срд 20:08:16 2340317 208
image.png 29Кб, 513x282
513x282
>>2334153 (OP)
'Axis object – Auto interval error due to invalid point values or axis minimum/maximum
как же эта хуйня заебала, я просто в рулетку какую-то играю
почему нахуй. почему я не могу просто взять и начертить график, надо ебаться с говном
Аноним 20/04/22 Срд 20:18:38 2340327 209
image.png 24Кб, 539x405
539x405
>>2340317
я понял, там значение большое высчитывается после чего нулл хранится видимо
Аноним 20/04/22 Срд 20:24:26 2340331 210
>>2340266
>Так это та же самая Postgre. Ввод данных тот же INSERT INTO
Там из csv есть импорт с кучей настроек и маппингом на нужные столбцы
Аноним 21/04/22 Чтв 00:55:46 2340507 211
>>2340311
только гадость, которую не хочется кушать.
Аноним 21/04/22 Чтв 12:28:47 2340651 212
>>2340266
>Расчитывал, что можно это сделать без "сохранить как".
Ты про что?
Аноним 21/04/22 Чтв 12:42:46 2340662 213
>>2340507
Я за месяц прочитал Эккеля "Философия Java" и теперь лучше понимаю шарп, потому что таких книг чисто по шарпу нет. Тот же Троелсен очень поверхностно всё описывает и порой не понятно и что и зачем нужно.
Языки очень похожи и если знаешь один, то другой учится быстро.
Аноним 21/04/22 Чтв 13:03:54 2340700 214
>>2340651
Рассчитывал, что можно в более серьезном ЯП без преобразования исходного файла, открыть и сделать записи в объект и все.
Аноним 21/04/22 Чтв 13:21:52 2340722 215
image.png 308Кб, 1000x1000
1000x1000
Здраститя, у меня вопрос. Есть у меня структура данных напоминающая внутреннюю часть хэшсета где:

T[] массив с данными;
int[] массив со следующими индексами;
int последний занятый индекс;
пулл со свободными индексами;

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

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

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

Все идеи как это сделать у меня какие-то хуевые. Наверно лучшая это просто на время многопотока разбивать каждый отдельный индекс на свой отдельный массив и лочить его когда туда щемится какой-то из потоков, а в конце просто собирать их обратно. Но это звучит как-то так себе.
Аноним 21/04/22 Чтв 13:39:13 2340752 216
Аноним 21/04/22 Чтв 13:44:03 2340762 217
>>2340752
Что, предлагаешь просто нахуй всю хуйню лочить при изменениях в ней? Может ещё и чтобы потоки в самом начале лочили эту хуйню? Потокобезопасненько!
Аноним 21/04/22 Чтв 14:46:29 2340810 218
Аноним 21/04/22 Чтв 15:19:32 2340843 219
>>2340762
Я предлагаю блокировать доступ к переменной.

>>2340810
Зачем? XLSX - это и есть несколько XML файлов.
Аноним 21/04/22 Чтв 16:20:28 2340903 220
>>2340843
Но причём тут переменная?
Аноним 21/04/22 Чтв 16:24:33 2340907 221
2022-04-2116-09[...].png 16Кб, 918x237
918x237
Пытаюсь по этому тутору установить бенчмарк
https://youtu.be/8Slzd1G7f9Q

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

Если из консольного приложения сделать приложение windows, то становится недоступна консоль.
Аноним 21/04/22 Чтв 16:33:35 2340915 222
>>2340903
>Вероятность того что разные потоки будут дергать один и тот-же "стартовый индекс" довольно маленький, но не равен нулю.

Это.
Аноним 21/04/22 Чтв 16:56:20 2340936 223
2022-04-2116-55[...].png 9Кб, 621x167
621x167
>>2340907
Короче, в свойствах проекта дописал магический ключ
Аноним 21/04/22 Чтв 18:56:56 2341081 224
>>2340915
Но причём тут переменная то. Если я для каждого отдельного индекса буду лочить что-то это проблему не решит. Если для удаления, или чтения, что-то из линкед листа ещё ладно хуй с этим сгодилось бы, то для добавления не особо, так как там уже общий массив для всех индексов.

Впрочем, медитация в потолок натолкнула меня на пару свежих мыслей.
Аноним 22/04/22 Птн 02:33:55 2341339 225
Что именно делает net runtime optimization service? Зачем ему требуется столько процессора? Есть где то нормальное объяснение работы? В гугле написана полнейшая чушь, не объясняющая ничего, и инструкции для отключения
Аноним 22/04/22 Птн 03:09:52 2341342 226
>>2341337
>почему не работает?
Потому что ты тупой. Тебе же прямым текстом написано, что ты пытаешься в текущей области видимости объявить переменную с именем которое уже используется во внешней (по отношению к ней) области.
Сначала читать научись, потом лезь в программирование.
Аноним 22/04/22 Птн 06:37:13 2341359 227
>>2340722
При добавлении-удалении -
var readlData = //твоя фигня которую ты собрался менять
while(true)
{
var localCopy = CopyDataMustBeChanged();
var expect = DoOperation(localCopy);
var real = DoOperation(realData);
if(expect == real){break;}
}
Аноним 22/04/22 Птн 06:40:03 2341360 228
>>2341359
Криво написал, но суть я думаю всем ясна.
Аноним 22/04/22 Птн 08:33:30 2341382 229
>>2341359
Гораздо элегантнее использовать тут цикл do - while
Аноним 22/04/22 Птн 09:04:32 2341396 230
20220408093312.jpg 39Кб, 598x499
598x499
>>2341342
Это то я понял, ты мне лучше скажи как это исправить, накинь ссылок

Гугл нихуя не выдаёт
Аноним 22/04/22 Птн 09:31:11 2341405 231
>>2341396
>как это исправить
Имя переменной process поменяй. Либо той которая в foreach, либо той которая снаружи.
Аноним 22/04/22 Птн 15:24:12 2341656 232
Поясните за Lifetime в DI в WPF.

В ASP с этим более-менее понятно, но вот как это всё выглядит в десктопе?
Аноним 22/04/22 Птн 16:40:21 2341733 233
>>2341656
Там нету встроенного DI
Аноним 22/04/22 Птн 17:13:25 2341759 234
Если выучил все с гайда по шарпу на метоните то это какой уровень погромирования будет? Мидл? Не тролю, просто вкатываюсь в шарпы с нуля, хочу понять уровень предстоящего пиздеца.
Аноним 22/04/22 Птн 17:25:51 2341767 235
>>2341759
Да ну какой же ты мидл без реального опыта. У тебя базовые знания.
Аноним 22/04/22 Птн 17:48:03 2341785 236
Аноним 22/04/22 Птн 17:57:40 2341801 237
>>2341656
Смотря какие лайфтаймы

Если лайфтаймы от DI типа OpenScope(), то это одно. Если что то типа IApplicationLifetime (как в асп) то другое. А "лайфтаймы - они везде", то это третье

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

Вот тут вариант с пояснениями https://www.youtube.com/watch?v=ZzmK7K2ZIxI и типа репа https://github.com/saltukkos/lifetime-demo
Но опять же все по верхам по верхам конкретного применения.

Я же использую Jetbrains.Lifetime (https://www.youtube.com/watch?v=Sq_h5bVWJ0k) + DI от майков.


Аноним 22/04/22 Птн 17:59:37 2341802 238
>>2341801
Это именно наши изобретения. Много лет спустя спросят, кто изобрёл лайфтаймы? А ответом будет - русские!
Аноним 22/04/22 Птн 18:16:49 2341820 239
>>2341802
Потому что это верная концепция. IDisposable прост примитив, который никак не отвечает на вопросы
- когда вызывать dispose(). нам бы тут задиспозить, но мы передали зависимость куда-то, а вдруг она там нужна
- а если мне в конструктор передали зависимости и меня диспозят, то мне эти завимости диспозить или нельзя. Вступает в конфликт с предыдущим, в итоге никто не диспозит )
- как не забыть вызвать dispose()

А еще кривая концепция событий

Аноним 22/04/22 Птн 18:28:50 2341837 240
>>2341801
Я про троицу Transient - Scoped - Singleton.
И больше всего вопросы вызывает Scoped в WPF
Аноним 22/04/22 Птн 18:45:47 2341850 241
>>2341759
Не выучишь. Там уровень материала "Рассказать новичку, чтобы он понял зачем это вообще нужно" и "Вспомнить зачем эта хрень, когда давно ей не пользовался".
Уровень где-то стажер, стажер+.
Аноним 22/04/22 Птн 18:49:29 2341852 242
>>2341837
Нуу тогда это нужно искать проекты с контейнерами, но там обычно все "а вот создаем вьюмодели через контейнеры" и все. Сложные случаи типа scoped - редкость. А при scoped контейнер же уже похоже Lifetime из описанного выше. Но хуже, ведь scoped диспозит только скопед элементы, да и таскать контейнер везде бред. Поэтому вместо "а как же быть" лучше lifetime как отдельная концепция и реализация.
Аноним 22/04/22 Птн 18:55:50 2341860 243
>>2341850
А что нужно для уровня сеньор? Прочитать Рихтера?
Аноним 22/04/22 Птн 19:23:52 2341889 244
>>2341860
Пчел, это не ева с синхропакетами, нужен экспириенс.
Аноним 22/04/22 Птн 19:51:10 2341923 245
У вас возникает чувство стыда, когда вы пишите на сишарпе?
Аноним 22/04/22 Птн 20:16:28 2341959 246
>>2341923
Опять джавист жмет шарфик кунов
Аноним 22/04/22 Птн 21:21:32 2342033 247
>>2341759
Нууууу. Мидл-хуидл от конторы зависит.
Я работал в местах, где 2 программиста - там и это было уже ведущий, кек, и работал в местах, где 100+ человек кодеров, и там это даже чтобы собес пройти не подходило, если ты не студент какой-то(тип к еще студентам спрос меньше, можно взять посмотреть, вдруг что выйдет путнего). Так что да.
Чисто по своему ощущению, я бы людей с метанитом никак не оценивал, потому что он дает готовый кук-бук, а понимания что ты делаешь - не дает.
Для мидла я бы считал норм - основы (базовая информатика, алгоритмы, дискретка, динамическое программирование, это вот все), паттерны, немного архитектуры кода, сети (если в веб метишь: уровни модели OSI, какие еще модели были, можешь пояснить на каком уровне ты работаешь, пару протоколов назвать, можешь какой-нибудь SNTP-сервер нафигачить по спекам), железо (понимаешь что есть разные архитектуры и как минимум знаешь пару названий и особенностей, можешь привести примеры что нужно на одной учитывать чтобы код работал нормально), операционки (знаешь что такое, что оно за тебя делает, можешь пояснить как бы писал код, не будь у тебя операционки), многопточка (что, зачем, как там с шаред стейтом, вот это вот все); про работу общие вещи(методолгии, скрамы-хуямы, ватерфолл, спиральная, этапы разработки, можешь объяснить в чем разница между продакт-овнером и скрам-мастером), ну и умение решать задачки быстро, не отвлекать, гуглить и самому понимать, что от тебя хотят. Как-то так вот.
Аноним 22/04/22 Птн 21:32:40 2342054 248
>>2342033
>можешь объяснить в чем разница между продакт-овнером и скрам-мастером
Один бесполезный хуесос, а другой бесполезный пидарас?
Аноним 22/04/22 Птн 23:05:40 2342131 249
>>2341923
> У вас возникает чувство стыда, когда вы пишите на сишарпе?
У меня чувство хуйни, когда я пишу на годном и удобном сишарпе и понимаю, что вместо православного нативного кода у меня конпелируется богомерзкий МСИЛ и исполняется на подзондированном дотнете.
Ну почемууу не сделали нативный компилятор шарпа???
Аноним 22/04/22 Птн 23:15:58 2342143 250
На собесе гоняли по С#, а в итоге пилю код на VBscript + SQL. Проект древний. C# поминимуму. Это норм? Или нужно валить из этой конторы?
Аноним 23/04/22 Суб 00:07:39 2342179 251
>>2342033
>можешь пояснить как бы писал код, не будь у тебя операционки)

Ну попробуй напиши, дрлбоеб
Аноним 23/04/22 Суб 01:42:48 2342255 252
Вопрос - почему здесь так много WPF-шников и десктопов. Почему люди до сих пор используют эту мочу устаревшую.

Аноним 23/04/22 Суб 04:10:42 2342273 253
>>2342255
что то есть адекватное на замену?
Только не нужно про "щас все в вебе" задвигать.
Аноним 23/04/22 Суб 08:21:12 2342299 254
>>2342273
Java + Swing, на которой написан Rider
Аноним 23/04/22 Суб 08:27:43 2342301 255
>>2342143
Как вы строки нумеруете? Через 10?
К примеру, так вот?
10 LET A = 0
20 FOR I = 1 TO 10
30 PRINT I
40 NEXT I
Аноним 23/04/22 Суб 10:08:19 2342322 256
>>2342179
Ни разу что-ли не писал низкоуровневый код? С кем я тут сижу, нахуй? Давай, подумай логически, какая ос была у каких-нибудь компуктеров в 50-е 60-е? Небось и перфокарт не видел. Пиздец.
Аноним 23/04/22 Суб 10:19:44 2342327 257
>>2342179
Та блин. Банальный бутлодер-то любой, кто мидлом себя называть хочет - должен был писать. Серьезно. Чем вы там занимаетесь-то? Жсоны в базу гоняет целыми днями, да с кабаном в курилке о премиях разговариваете?
Аноним 23/04/22 Суб 10:25:25 2342328 258
>>2342322
>>2342327
Я раньше на Спектруме программировал. Хотел написать свою ОС для Спектрума 128Кб, где вместо гибкого диска был бы электронный диск, а потом это всё выгружалось единым дампом на кассету с магнитной лентой.
Аноним 23/04/22 Суб 10:56:12 2342330 259
>>2342255
Потому что для внутреннего пользователя нахуячить на впф - быстро и просто, быстрее и проще только на формах. А куче мелких и средних контор - дешевле нанять кодера, который им за условные 40-60к рубасов в месяц будет пилить то что им надо, чем платить условные 20к бачей в год за готовое решение, которое пилится под всех и ваши хотелки за огромный прайс и в порядке очереди.

Аноним 23/04/22 Суб 11:00:41 2342332 260
>>2342330
Я так работал после универа за 15к, а потом, когда написал им все программки, мне сказали, что нам больше программисты не нужны. Пришлось уволиться.
Аноним 23/04/22 Суб 11:05:06 2342335 261
>>2342332
Та я так же работал. Потому и сбежал в ОйТи контору. Просто предложений работы со стороны всяких мелких бизнесов таки довольно велико, да плотют там мало, культуры никакой, да и вообще, объективно говно там работать, но что поделать на первых парах.
Аноним 23/04/22 Суб 13:07:11 2342418 262
Мне где-то неделю назад приснился сон, что вышла Mini-CLR и её можно установить даже на 8-битную ЭВМ и там программировать на сишарпе.
Аноним 23/04/22 Суб 13:12:50 2342426 263
>>2341759
Это весьма серьезный уровень, если всё так. Стронг-джун или мидл.
Большинство мидлов ни одной книжки, ни одного гайда до конца не прочитали. Просто изо дня в день копипастят со стековерфлоу из ответа с галочкой.
На самом деле, макаки любят причислять себя к интеллектуальной элите, обладающей недоступными большинству знаниями. По факту это не так. На каких-нибудь инженеров или врачей реально надо учиться многие годы. Готовый макакер же выпускается на рынок готовым к работе за 1-2 месяца, за это время он приобретает 80% своих знаний, которые ему когда либо пригодятся.
Аноним 23/04/22 Суб 13:39:32 2342448 264
Аноним 23/04/22 Суб 14:34:17 2342471 265
>>2342299
>Java
я не говноед. Конечно щас шарп чет одну хрень вводит в новых версиях, но предлагать вместо этого жаву...
Я бы еще понял котлин (хотя он поверх жавы и в этом его беда)
>Swing
Это может заменить разве что винформс.
Аноним 23/04/22 Суб 14:34:59 2342472 266
>>2342327
>>2342322
Там в исходном сообщение предлагалось на собесе спрашивать чего делать если нет операционки. Какой еще може быть ответ кроме как сначала написать ОСь???

Или вот ещё из смешного:
>OSI, какие еще модели были
Что за дурацкий вопрос? OSI сама по себе услованя и абстрактная классифицация так что в альтернативах нет смысла и их никто не знает и знать не хочет.
Аноним 23/04/22 Суб 14:56:36 2342493 267
>>2342471
Винформс только под винду, а Swing полностью кроссплатформенный под 3 миллиарда устройств. Можешь и на Котлине всё писать, там можно также выбирать языки как в дотнете между сишарпом или визуал бейсиком.
Аноним 23/04/22 Суб 15:47:18 2342517 268
>>2342493
>Винформс только под винду
а причем тут это. WPF тоже только под винду.
ты спринг притащил как кроссплатформенную замену WPF
Я же говорю что он может заменить лишь винформс и нисколько не является заменой для WPF

Avalonia замена да
Может быть jetpack compose для десктопа когда нибудь в далеком будущем

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

>Можешь и на Котлине всё писать
угу можно. только там жава рантайм внутри от которого не уйти. Я пишу на котлине, мне припекает от type erasure (конечно может это несовершенство IDE который не может понять суть, но мне какая разница, кто мне палки в колеса ставит)
Аноним 23/04/22 Суб 16:30:39 2342567 269
>>2342472
> Какой еще може быть ответ кроме как сначала написать ОСь???
Ну, напрямую работать с железом, кек. Или ты предлагаешь, допустим, для задачи вывода на дисплей часов текущего времени - целиком ОС писать?
>Что за дурацкий вопрос?
Нормальный вопрос. Для человека что жсоны гоняет - нужно чтобы он хотя бы понимал, что под ним там tcp, за ним ip, дальше наты-хуяты, роутеры, провода с сигналами. Я вот хуй знает как вы работаете, но ты не представляешь, какое "удовольствие", объяснять чуваку, что такое маска подсети, пояснять за наты-хуяты, про маршрутизаторы, когда ему тупо нужно поднять сервер для тестов, а он не в состоянии сделать этго сам.
> так что в альтернативах нет смысла
Кхм, есть более простая модель TCP/IP, поверх которой считай веб(и не только) и построен, и да, это тоже сетевая модель. И знать ее таки имеет смысл.
Аноним 23/04/22 Суб 16:32:28 2342570 270
>>2342033
Сохронил, буду это потихоньку чекать помимо кодинга, чтоб хоть половину слов из написанного понимать
Аноним 23/04/22 Суб 17:07:11 2342591 271
Как изучить ASP.NET? Сам сишарп выучил довольно легко, но вот ASP.NET не понимаю как изучать.
Аноним 23/04/22 Суб 17:14:12 2342598 272
>>2342591
Самый простой способ - попробовать написать свой ХТТП сервер с сокетов, затем подумать, а как мне генерировать странички, а как мне отдавать жсончики, а как мне роутить маршруты, а как права разные для доступа к ресурсам и т.д.
Ну, собственно, так вот оно учится просто, потому что пока ты пилил такой вот сервер - ты понял что за тебя фреймворк делает и +- представляешь как, остается найти как называется та хуйня что тебе нужна.
Аноним 23/04/22 Суб 18:02:01 2342649 273
>>2342598
Я раньше на РНР писал сайты, но тут что-то всё запутано.
Пишут типа давайте создадим модель и пишут класс, где куча свойств с гет-сет. И это модель? А откуда она данные берёт?
Дальше контроллер то же класс, который плавает сам по себе в коде и как он связан с хттп-запросами и другими действиями?
Представление вроде бы понятно, но раньше на РНР я формировал его программно, т.е. у меня была куча логики, которая по кусочкам собирала итоговую страничку, а не примитивный шаблон один на все случаи.
Аноним 23/04/22 Суб 22:21:06 2342833 274
>>2342649
>Я раньше на РНР писал сайты, но тут что-то всё запутано.
идентично 1 в 1
все RoR подобные фреймворки - близнецы братья
Аноним 24/04/22 Вск 01:17:24 2342893 275
>>2342649
> Пишут типа давайте создадим модель и пишут класс, где куча свойств с гет-сет. И это модель?

Да.

> А откуда она данные берёт?

Откуда угодно.

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

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

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

В ASP страница тоже может собраться из кучи подшаблонов. Изучай вопрос более пристально. Монолитный WebForms забыт уже много лет, а Razor - очень крутая штука.
Аноним 24/04/22 Вск 08:57:55 2342954 276
Как вы вообще на первую работу попадали? Я на трёх собеседованиях побыл, и там же пиздец, у меня на всех трёх спрашивали помимо Шарпа html, css, js, sql, git. Как это вообще всё выучить? Ты учишь sql - забываешь linq, учишь js - забываешь c#. Причём ладно бы ещё поверхностно спрашивали, так нет же, в залупу лезли, то им расскажи какой там база план для sql запроса составляет, вот прям из головы, в блокнотике, то как v8 машинный код из джава скрипта получает. Да типа я ебу что-ли? Еще и по миддлварам ебут, и по http заголовкам, словно я ебучая энциклопедия. На одном про кишки ef cora спрашивали и показывали такой css код, что я чуть не принял его за какое-то программирование. На другом просили НАПИСАТЬ какой il- код получится, словно я ебучий компилятор. Это всегда так было, или после геополитических пыняходовочек началось?
Аноним 24/04/22 Вск 09:07:41 2342956 277
Я что реально не могу написать такой метод?
T Add(T x1, T x2) {
return x1 + x2;
}
И этот язык считает себя круче джавы?
Аноним 24/04/22 Вск 09:22:34 2342958 278
>>2342956
А какие гарантии что у T перегружен оператор сложения ?
Аноним 24/04/22 Вск 10:08:38 2342972 279
>>2342649
>Пишут типа давайте создадим модель и пишут класс, где куча свойств с гет-сет. И это модель? А откуда она данные берёт?
Ну да, это модель. Данные берет откуда тебе нужно. Хочешь - массивчик сделай, хочешь из базы тяни, в случае базы: если юзаешь EF - оно тебе смаппит.
Просто тут у тебя может быть проблема в том, что ты привык к тому что прямо в модели ты берешь данные откуда тебе надо, в дотнете обычно модель - анемична, а данные берутся из какого-нибудь репозитория(база, внешний сервис, файлик, до пизды в общем)
> Дальше контроллер то же класс, который плавает сам по себе в коде и как он связан с хттп-запросами и другими действиями?
А вот тут - как раз писал бы с сокетов - понимал, столкнувшись с тем, что заебало тебя руками роутить запросы.
Если конкретно про это вопрос, то под капотом есть условный ApplicationBuilder, который при старте - смотрит что ты там решил использовать, плюс рефлексией из сборки достает классы который от ControllerBase наследованны, строит маршруты. Я немного упрощаю и в кучу сваливаю, сейчас майки решили по SOLID работать и этот ApplicationBuilder - разбит на хуилион разных Features, Router, Middleware и прочего.
Ну, а дальше - все просто, пришел запросик валидный, гоним по мидлварям, и так до нужного тебе метода, если метода не нашли - возвращаем 404.
> Представление вроде бы понятно, но раньше на РНР я формировал его программно, т.е. у меня была куча логики, которая по кусочкам собирала итоговую страничку, а не примитивный шаблон один на все случаи.
Кхм. Так ведь для этого фреймворки и нужны, чтобы ты не занимался руками роутингом, проверкой кук и всем этим вот.
Аноним 24/04/22 Вск 10:15:23 2342977 280
image.png 31Кб, 765x450
765x450
Постите ваши ебала
Аноним 24/04/22 Вск 10:20:37 2342979 281
>>2342956
Та в этом плане да, пиздец какая хуйня. Бесит жутко посли плюсов(((
Но мне тут пытались пояснить, дескать это не баг а фича, вообще это круто, что ты не можешь сделать просто простую хуйню, а тебе приходится делать сложно, ведь сто пудов у вас будет вредитель, который сломает все с таким вот подходом. Только мой взгляд на проблему такой: вы пишете тесты, если вредитель завелся в команде и после него тесты падают - проще от вредителя избавится, чем надеяться на то что язык не даст ему хуйню творить. А потому нужно бороться не с штуками, которые позволяют долбоебу стрелять себе в ногу, а с долбоебами, которые видя курок - наводят дуло себе на ногу и нажимают на него.
Аноним 24/04/22 Вск 10:46:50 2342995 282
>>2342977
100к - это всегда была норм зп для мидла, особенно вне ДС. х5 к среднегречневой зп в регионе, так-то.
Аноним 24/04/22 Вск 10:52:29 2342997 283
>>2342979
С твоим подходом, тебе в JS или в петухоне самое место.
C# - это строго типизированный язык. И то, что тебе не нравится, то ты этого просто не понимаешь. Это супер фича, это своего рода аспект красоты языка, которая впрочем не доступна простолюдину.
Конечно, в ряде аспектов применение дженериков долгое время не было логически завершенным, но теперь, с приходом Generic Math и abstract static методов и свойств https://devblogs.microsoft.com/dotnet/preview-features-in-net-6-generic-math/ эта фича становится ультимативной.
Аноним 24/04/22 Вск 10:57:20 2342998 284
image 71Кб, 857x462
857x462
>>2342954
Все это заучивается за пару недель. Это азы.
В IT до сих ломятся толпы, особенно сейчас, когда будущее Родины становится туманным, человеку хочется иметь международную профессию.
Там за забором вкатунов стоит на каждую вакансию по тысяче человек.
Зачем брать тебя?
Они подрючат по максимуму каждого и выберут лучшего.
Не значит конечно, что ты должен идеально ответить на всех их вопросы. Достаточно лишь, чтобы никто другой не ответил лучше тебя.
Аноним 24/04/22 Вск 11:12:11 2343015 285
Аноним 24/04/22 Вск 12:01:42 2343051 286
>>2342995
Какой потолок для сеньора?
Аноним 24/04/22 Вск 12:23:28 2343058 287
>>2342956
>И этот язык считает себя круче джавы?
Конечно круче. Нет type erasure и все проверяется на этапе компиляции.
Аноним 24/04/22 Вск 13:09:32 2343069 288
image 1235Кб, 799x780
799x780
>>2343051
В компаниях где я работал практически всегда была на самом деле весьма витиеватая схема оплаты труда: оклад, месячная, квартальная премия, годовой бонус, стимулирующий пакет, какие-то проценты с чего-то там, но не более таких-то сумм и т.п. Но более менее гарантированная часть - это оклад + месячная либо квартальная премия. И если на это смотреть, без учёта хитрых и нестабильных надбавок, то в среднем по рынку картина уже многие годы более менее стабильна: джун - 50к, мидл - 100к, синьор - 150к, начальник отдела - 200к. И я бы сказал, что это очень хороший доход в любом регионе РФ, даже в Москве. Если столько платят в регионе - то это ты удачно попал, в устойчивую и современную компанию. Обычно платят-то меньше. Потому что ну такой тут рынок труда и такие тут зп. Если ты самый умный, ну вали в москву, всем будет лучше, ты найдёшь своё место, а оставшиеся будут более сговорчивы. А уехать могут без серьезных последствий ну может 1 из 5. Хотя в Москве наверное намного больше мест, кроме IT, где можно столько же заработать.
Кто-то подумает, что на такую зп к вам пойдут только середняки, а лучшие пойдут в другие компании. Только на самом деле это хорошо, если ты хоть что-то понимаешь в менеджменте. Бизнесу нужны легко заменяемые работники, чтобы уход одного человека создавал минимум проблем. Никто не собирается в условном Златоусте или Каменско-Уральске создавать прорывной стартап, изменяющий мир, тут IT - это просто обслуга местного кабаничества.
Аноним 24/04/22 Вск 19:16:29 2343317 289
>>2342954
> Как вы вообще на первую работу попадали
Пришел на завод, показал диплом, сказал что готов работать за миска риса, даже без кошка-жена. Отработал год - съебался на деньги и кошка-жена.
Аноним 24/04/22 Вск 19:22:46 2343324 290
>>2343069
> Никто не собирается в условном Златоусте или Каменско-Уральске создавать прорывной стартап, изменяющий мир
Я собираюсь. Что ты мне сделаеш?
Аноним 24/04/22 Вск 22:17:25 2343443 291
>>2343324
>Я собираюсь.
Ты московская корзиночка, жизни не видел и не знаешь.
Тут твоему стартапу дадут подрасти, набрать жирка, окрепнуть, а потом даже швабру показывать не придётся, даже вичовому сокамернику в СИЗО не придётся спускать штаны, чтобы ты всё оформил на уважаемого делового человека.
Аноним 24/04/22 Вск 22:37:08 2343454 292
2ch я тут вкатываюсь, и вот вопрос как импрувить практическую часть? я ж не знаю какие там они в тырпразйе задачи делают, может кто знает где можно тестовых понарыть поделать или реальную задачу типо того core учу сейчас. Там выше ананас кидал свое тестовое, его сейчас делаю, есть чтото еще?
Аноним 24/04/22 Вск 22:37:47 2343456 293
>>2343443
Проблема в том, что люди бывают создатели и разрушители. Разрушитель конечно может отобрать стартап у создателя, но создатель просто создаст ещё один стартап, но уже в другой стране (телеграм), а разрушитель приведёт отобранное к упадку (вк).
Аноним 25/04/22 Пнд 11:21:19 2343618 294
Почему во всех книгах пишут, как круто, что дотнет кор сейчас кроссплатформенный, можно писать код в любой ОС? А потом говорят, давайте сейчас установим вижлу. Здесь вся хваленная кроссплатформенность и заканчивается.
Аноним 25/04/22 Пнд 11:48:22 2343630 295
>>2343618
не используй вижлу
Аноним 25/04/22 Пнд 11:50:43 2343634 296
>>2343618
Ты когда деплоить на сервер начнешь,тогда и поймешь в чем фишка. А IDE и система, в которой ты работаешь это вопрос комфорта. Можно и на линухсе на шарпе Asp net прогать в VS code.
Аноним 25/04/22 Пнд 11:58:42 2343645 297
>>2343630
А что использовать?

>>2343634
VS Code не такой функциональный как вижла. Там много нет.
Аноним 25/04/22 Пнд 14:02:21 2343730 298
>>2343618
Как там без WSL и докера?
Аноним 25/04/22 Пнд 14:39:39 2343745 299
>>2343730
Я не знаю что это такое. В книжках про это не пишут.
Аноним 25/04/22 Пнд 14:52:59 2343757 300
>>2343618
Так фишка-то не в разработке, а в деплое. Писать можешь хоть на листочке.
Аноним 25/04/22 Пнд 15:34:03 2343805 301
mvc pages.jpg 96Кб, 940x649
940x649
Фриман пишет надо создать MVC View Page и уточняет, что не следует выбирать страницу Razor Page, которая не относится к MVC.
А у меня на выбор только Razor Page, а MVC View Page нет вообще.
Аноним 25/04/22 Пнд 16:05:11 2343838 302
1573367417701.jpg 84Кб, 648x426
648x426
Долучaйся!
Аноним 25/04/22 Пнд 16:49:46 2343868 303
>>2343645
Сразу видно ньюбис, еще и спорит. 90% говна, которое предоставляет Visual Studio не нужно.
Аноним 25/04/22 Пнд 17:38:18 2343918 304
>>2343618
>можно писать код в любой ОС
писать? или выполнять?
Аноним 25/04/22 Пнд 20:18:32 2344037 305
>>2341359
>>2340722
Вообще, кстати, я сделал и даже работает вроде.
Ограничил через лок возможность потокам соваться в начало конкретного линкед листа, чтобы только один поток мог читать/писать/смотреть цепочку.
Каждый поток имеет свой собственный пул свободных индексов в основном массиве чтобы разные потоки не совались на один и тот-же индекс.
Когда пул свободных индексов заканчивается у какого-то потока я через ReaderWriterLockSlim пополняю запасы свободных индексов, или расширяю массив. Вот про этот лок я что-то долго вспоминал.

Вопрос: А в шарпе ведь нет никакого массива с локами? Чтобы я мог сказать "ну вот на этом индексе залочь". Я могу конечно сгруппировать как-то обжекты которые я лочу, которые репрезентуют индексы, но не хотелось бы плодить сущности.
Аноним 25/04/22 Пнд 21:07:13 2344057 306
>>2343618
Хуй знает. Я вот в свое время в универе принципиально делал лабы на Mono, ибо ебал я эту винду, и раз уж на сишарпе пишу, буду на моно делать. Нормально писал. В то время кстати еще не было коры. В те времена даже была такая штука как MonoDevelop для линукса, но имхо немного вырвиглазная, потому только vim, только хардкор.
Ну, а сейчас я чуть менее принципиальный, и .NET/.NET core - норм.
Студией никогда не пользовался.
Аноним 25/04/22 Пнд 21:11:37 2344063 307
>>2344037
Не понял что ты понимаешь под массивом с локами.
В шарпе у любого массива есть Array.SyncRoot
Если ты хочешь делать лок на элемент по индексу бери и лочь этот элемент.
Аноним 25/04/22 Пнд 21:40:38 2344080 308
>>2344063
>Array.SyncRoot
а нахуя, если есть тредсейф коллекции? Только узнал о этом SyncRoot
Аноним 25/04/22 Пнд 21:46:23 2344083 309
>>2344063
ммм ну например я могу сделать
object[] myArray
напихать туда объектов и когда мне надо залочить конкретный индекс то я делаю
lock(myArray[index])
и тогда я лочу объект который как-то могу ассоциировать с конкретным индексом. но это по объекту на индекс. чето многовато.

ну а в шарпе к несчастью нельзя тип значений совать в лок же насколько я знаю. я не могу написать lock(index) потому что оно сконвертирует index в object и если я туда суну один и тот-же index то это будет два разных object

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

и встроенные Concurrent коллекции сюда тоже не воткнуть, так как тут массив где только для его небольшой части нужен такой функционал по итогу
25/04/22 Пнд 21:53:23 2344090 310
Аноним 25/04/22 Пнд 22:02:06 2344093 311
>>2344083
>>2344083
нипони шо тебе надо, но почему тебе не подходит что-то типа
ConcurrentDictionary<int, ConcurrentQueue<T>>
Аноним 25/04/22 Пнд 22:06:40 2344095 312
>>2344093
Хотя мож я тут и хуню написал
Аноним 25/04/22 Пнд 22:12:03 2344102 313
Аноним 25/04/22 Пнд 22:38:45 2344124 314
>>2344083
Сделай уже собственную обертку над этим массивом, сделай у нее индексатор и в нем уже реализуй какие угодно локи. А снаружи у тебя будет обращение как к обычному массиву.
Но сдается мне, что твоя основная проблема не вот это вот все, а то что ты изначально неверную структуру данных выбрал для своей задачи и маешься хуйней.
Аноним 25/04/22 Пнд 23:08:42 2344149 315
image.png 166Кб, 980x371
980x371
>>2344093
хотел написать некоторые причины но ты и сам из нашел. да и так ли это важно? думой в рамках задачи!

>>2344124
ну кстати а как сделать обёртку для lock? через делегаты чтоли?
я так то уже сделал и работает, просто я не в восторге от того что она через массив с обжектами работает. хочется вжух написать число и сказать "ну вот тут лок".

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

но а потом такая хуйня как-то разрослась до чего-то более самостоятельного. внезапно иметь коллекцию где я могу написать индекс и добавить к нему множество объектов это заебись. накидал туда ещё кода который бы собирал эту коллекцию в другого сорта пару массивов которые гораздо удобней линейно читать, добавил функционал для расширения базовых индексов, предикты и прочий вспомогательный код, теперь вот ещё чтобы в многопоточности работать могло и вообще заебись стало. довольно удобно собирать в ней какие-то однотипные данные в небольшие кучки.
Аноним 25/04/22 Пнд 23:28:36 2344166 316
image.png 387Кб, 500x500
500x500
>>2344083
вообще, если подумать чуть дольше, то мне не нужен как таковой массив с обжектами. я могу просто держать коллекцию с занятыми потоками индексами и перед тем как щемится в этот индекс я могу просто проверить через залоченную коллекцию имеется ли он там.

интересно какие есть хитрые методы для проверки "есть ли число Х в маленькой коллекции"
Аноним 25/04/22 Пнд 23:47:21 2344188 317
>>2334244
Чанки же.
Блейзор говно кста
Блейзор сервер - вообще пиздец
Аноним 26/04/22 Втр 00:56:24 2344219 318
>>2344188
Расскажи про блэйзер сервер
Аноним 26/04/22 Втр 06:02:06 2344252 319
>>2344149
>ну кстати а как сделать обёртку для lock?
Не над локом. А над массивом твоим или что-там у тебя за франкенштейн.
Делаешь класс, запихиваешь в него свою структуру данных, реализовываешь индексатор и через него уже пердолишь внутри любую свою логику. Внутри можешь сделать как хочешь, хоть через локи, хоть очередью, хоть еще каким вывертом. А снаружи ты будешь работать с экземплярами этого класса как с массивом, не заботясь о том, что он там внутри у тебя делает (если конечно все правильно сделаешь)
Аноним 26/04/22 Втр 06:47:19 2344254 320
1581011566641.jpg 84Кб, 647x435
647x435
Долучaйся!
Аноним 26/04/22 Втр 10:06:05 2344305 321
Считается, что WebForms были плохи тем, что скрывали всё от разработчика, но разве современный ASP.NET Core MVC Razor Pages Web API не делает тоже самое? Ты не пишешь html, а пишешь всякие магические штуки типа asp-action. Надо соблюдать жесткую структуру самого приложения, чтобы происходил обмен между компонентами. Если попытаешься сделать шаг в сторону, то всё перестаёт работать.
В том же РНР тебе дают простые кубики для взаимодействия с HTTP-протоколом, а всё остальное - это твоя логика. Делай как хочешь! А здесь надо заучивать все эти "приёмы" по написанию правильного приложения.
Аноним 26/04/22 Втр 10:27:23 2344319 322
>>2344149
Interlocked не пробовал?
Аноним 26/04/22 Втр 11:38:58 2344367 323
>>2344252
наркоман чтоли. очевидно что я это уже сделал? нахуй ты мне инкапсулировать это советуешь, если вопрос про реализацию?
как бы сам пишу, сам использую, если под капотом говна наделал, то говном и пользуюсь.

>>2344319
пробовал, считаю им суммарное количество элементов в массиве, например. но тут наверно логичней будет SpinLock использовать.

хотел лол использовать ConcurrentDictionary где была бы пара поток-индекс, но оказывается у него нету ContainsValue.
Аноним 26/04/22 Втр 15:39:00 2344574 324
Начал учить LINQ
fuck this shit
Аноним 26/04/22 Втр 17:55:07 2344700 325
>>2344574
Охуенная тема. Научишься - будешь урчать, за уши не оттащишь.
Аноним 26/04/22 Втр 17:58:08 2344705 326
>>2344700
Да у меня голова треснет. Чувство что я выбрал стул с хуями, причем конскими такими.
Аноним 26/04/22 Втр 18:30:17 2344745 327
>>2344305
Все эти приемы сложные до тех пор, пока ты не вырастешь до мидла+. Кажется что "Хули тут всё за меня", да всё просто - майкрософт лучше тебя напишут ту же хуйню, которую ты будешь писать из раза в раз в каждом новом проекте. Вся структура максимально простая, а если ты хочешь углубиться то как это работает - source.dot.net

Это как методы Linq, ты их и сам можешь написать и обойтись даже без дженериков, только вот нахуя? Все залупки в асп настраиваются отлично и без мозгоебства, код стандартизирован и имеет одинаковую (почти) структуру во всех приложениях (т.е. времени на вкат в новйы проект на новой работе уменьшается), в то время как на пыхе каждый обрыган пишет так, как ему захочется и хуй кто там че поймет
Аноним 26/04/22 Втр 18:34:47 2344753 328
>>2344705
Люди.Выбрать(Головы).Найти(2344705).Треск();
Стулья.Выбрать(СХуями).Найти(КонскийТакой).Посадить(Люди.Выбрать(Жопы).Найти(2344705));
Аноним 26/04/22 Втр 19:06:18 2344773 329
>>2344753
вот вот. дикий оверхед с кучей аллокаций
Аноним 26/04/22 Втр 19:38:18 2344798 330
Аноним 26/04/22 Втр 19:44:33 2344801 331
>>2344773
>дикий оверхед с кучей аллокаций
Ты, наверно, 1С никогда не видел. Там шляпа покруче будет.
Аноним 26/04/22 Втр 20:40:04 2344819 332
>>2344773
> оверхед
Вполне себе читаемо, да ещё и в одну строку.
> с кучей аллокаций
Ваще ПА ХУ Ю
Аноним 26/04/22 Втр 21:07:26 2344836 333
>>2344798
>Байтоёб, спокуха.
это ты GC скажи

>Там шляпа покруче будет
что где-то еще хуже - ничего не меняет

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

>Ваще ПА ХУ Ю
поэтому и имеем что современный софт на компах в 100500 ядер и триллионы йотабайт рамы и сверхбыстрыми ссд работают с такой же скоростью, как софт на вин 95 на 32 метрах рамы (и умеет не больше)
Аноним 26/04/22 Втр 21:27:16 2344855 334
>>2344836
>это ты GC скажи
Что ему сказать? Что он после первой же сборки мусора сожрет всю хуйню? Это он и без меня знает.

>что где-то еще хуже - ничего не меняет
Всё так.

>оверхед не в плане читабельности. Как раз наоборот, сахар читабельные решения более ресурсоемки
Байтоёб, спокуха. JIT в Release всё по кайфу делает, дай бог там 10 кб наберется этого сахара.

>поэтому и имеем что современный софт на компах в 100500 ядер и триллионы йотабайт рамы и сверхбыстрыми ссд работают с такой же скоростью, как софт на вин 95 на 32 метрах рамы (и умеет не больше)
Не поэтому, а потому, что какой-то долбоёб не умеет в типы данных и вместо условного поиска по дереву просто сделал выборку Where из линка потратив 500000 наносек вместо 1000.
Аноним 26/04/22 Втр 21:35:01 2344863 335
>>2344855
>Что ему сказать? Что он после первой же сборки мусора сожрет всю хуйню? Это он и без меня знает
сожрет, а оно еще набежит. он еще сожрет, а оно еще набежит. а лучше бы спал и не просыпался пожрать.

>Байтоёб, спокуха. JIT в Release всё по кайфу делает, дай бог там 10 кб наберется этого сахара.
да елки палки. я говорю по оверхед ВЫПОЛНЕНИЯ. такая декларативность не дается бесплатно. Просто обычным формошлепам и "пишем бложик" на это плевать

> а потому, что какой-то долбоёб не умеет в типы данных
нет не поэтому. А потому что для всего берут фреймворки и либы где абстракция поверх абстракции поверх абстракции. Вон из-за этого веб стал тяжелым и тормозным - это отлично заметно что уже невозможно серфить на старых мобильных устройствах
Аноним 26/04/22 Втр 21:55:26 2344870 336
>>2344863
А когда через 100 лет все на квантовых пк будут капчевать так же будешь ныть хули на некроговне не работает ПО нового столетия?
Аноним 26/04/22 Втр 23:18:16 2344905 337
image.png 42Кб, 895x317
895x317
image.png 56Кб, 985x662
985x662
image.png 12Кб, 841x502
841x502
>>2334153 (OP)
Аноны, сделал лабу, хочу у вас спросить, правильно ли я её сделал.

Основной вопрос, главным потоком можно назвать то, что держит сам процесс (окно) программы?
Аноним 27/04/22 Срд 00:22:51 2344928 338
>>2344905
Блять, пришлось под таск все переделывать, потому что waitall для треда не нашёл.
Таск это тоже потоки открывает или это другая хрень?
Аноним 27/04/22 Срд 02:25:56 2344977 339
>>2344870
вот через 100 лет и приходи
а пока что закон мура перестает действовать
а с акумами так вообще полный швах

и да - по осталось прежним. браузер остался браузером и особо не изменился. Изменилось количество говна которое ему приходится выполнять чтобы открыть сайт.
Аноним 27/04/22 Срд 02:39:57 2344984 340
>>2344928
>waitall для треда не нашёл
Join() для каждого потока и есть WaitAll

>Таск это тоже потоки открывает или это другая хрень?
в классе Task там есть фабрика для старта, которая стартует либо на пуле либо отдельным потоком как и new Thread(), что делает new Thread() нужным только если нужен не фоновый поток

Ну и шоркат в виде Task.Run

Ну а сам объект Task никакого отношения к потокам не имеет.

Аноним 27/04/22 Срд 03:50:57 2344989 341
image.png 9Кб, 645x159
645x159
Подскажите как это сделать вменяемо

В чем суть. На работе юзаю MS SQL к которому подключаюсь через SqlConnection.

А дома у меня нет MS SQL, поэтому делаю копию базы данных в обычном MS Access, к которой подключаюсь через OleDbConnection. (как вариант можно через SQLite - а там тоже свой класс)

using ( MyConnection connect = new(connectionReleaseStr))
Где MyConnection становится нужным мне классом.


Как это сделать? Да, знаю что есть всякие EE, но сложно, да и уже куча кода набита и работает - а работает, значит не трожь
Аноним 27/04/22 Срд 04:55:57 2344995 342
>>2344989
что сделать то? вот ты на пике сделал
разве что нужно юзать интерфейс IDbConnection
Аноним 27/04/22 Срд 06:47:53 2345003 343
image.png 33Кб, 833x243
833x243
Что за наркомания?

Вылетает исключение при File.Copy с таким текстом... Да насрать мне что там SMB1, это мой личный комп, это моя личная локальная программа.. Как мне блядь скопировать файл?
Аноним 27/04/22 Срд 07:00:10 2345004 344
>>2344989
Ты хоть бы написал на чем ты пишешь. Я когда-то делал класс-обертку для контекста.
27/04/22 Срд 08:03:11 2345011 345
>>2345003
Отключи smb1 в системе
Аноним 27/04/22 Срд 08:30:37 2345019 346
>>2345011
В какой системе?

Если в той, где лежит файл - то нельзя, там и сам комп древний (с какой-то древней виндовс-сервер времен XP), и пара XP компов туда же лезут.
Аноним 27/04/22 Срд 09:36:14 2345039 347
Дано: есть WPF. net core

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

Как сделать с минимальным велосипедством и время-забратами? Может что-то готовое есть (желательно бесплатное)
Аноним 27/04/22 Срд 09:42:28 2345043 348
Аноним 27/04/22 Срд 12:06:07 2345112 349
Вот вы говорите: зачем тебе новые книги, можно и по старым учиться. Сейчас создал пустой ASP.NET проект, а там всё по другому, чем в книге. Ничего сопоставить не могу даже. Как учиться в таком случае?
Аноним 27/04/22 Срд 14:30:07 2345229 350
Прохожу базово-базовый курс по решеткам. Предлагается такой пример кода по сравнению строк:
string str1 = "Strasse";
string str2 = "Straße";

bool areEqual = string.Equals(str1, str2, StringComparison.Ordinal);
Console.WriteLine(areEqual);
areEqual = string.Equals(str1, str2, StringComparison.InvariantCulture);
Console.WriteLine(areEqual);
areEqual = string.Equals(str1, str2, StringComparison.CurrentCulture);
Console.WriteLine(areEqual);

В первом варианте должно быть false, в остальных двух true. Но Мелкософты поменяли библиотеку локалей NLS на ICU в .NET 5.0 в угоду кроссплатформенности и теперь везде получается false. Прогуглил весь Гугл и нашел только вариант с включением NLS обратно - тогда все работает, но при этом теряется кроссплатформенность. Что надо сделать в текущей версии .NET, чтобы и с ICU буква ß раскрывалась как ss и во втором и третьем варианте получалось true?
Аноним 27/04/22 Срд 16:54:38 2345344 351
Есть какие-нибудь годные обучающие видео у русскоязычных ютуберов ?
Аноним 27/04/22 Срд 16:55:21 2345345 352
Аноним 27/04/22 Срд 17:17:31 2345355 353
>>2345229
>Что надо сделать
Забить хуй.
Определить базовый набор символов, на все что за него выходит кидать отлуп.
Пусть на отдающей стороне ебутся с нормальизацией данных.
Аноним 27/04/22 Срд 18:24:16 2345386 354
>>2345355
Так можно вообще на все хуй забить, но я же таким образом ничему не научусь.
Аноним 27/04/22 Срд 18:27:40 2345391 355
>>2345386
кто вообще решил что ß == ss
бред какой то
поэтому зачем возвращаться к бреду если новый вариант правильнее
Аноним 27/04/22 Срд 18:41:47 2345400 356
>>2345391
Почему sizeof(System.Char) == 2, а Marshal.SizeOf(System.Char) == 1?
Гуглю. Вопрос популярный. Проблема в том, везде копипастят однотипные тупорылые ответы, типа:
>Marshal.SizeOf returns the size after the type has been marshaled, whereas sizeof returns the size as it has been allocated by the common language runtime, including any padding.

Как это вообще работает, когда банально (int)'ж'=1078? Это вот вообще никак и нихуя не влазит в 1 байт.
Аноним 27/04/22 Срд 18:42:23 2345402 357
>>2345400
Вопрос был не этому >>2345391, а самостоятельный.
Аноним 27/04/22 Срд 18:51:34 2345409 358
Аноним 27/04/22 Срд 18:53:32 2345413 359
Вопрос по asp.net core / ef core. Будет ли дополнительно выделяться память на ef объект если он вытягивается из базы в контексте другого пользователя? Т.е. условно два и более пользователя в условно один момент времени инициализируют объект по типу:
var row = dbContext.TestTable.AsNoTrackable().First(); .
Будет ли это разные области памяти или будут ссылка на одну? Если разные - можно ли как-то реализовать так что бы инициализировалась только одна область в памяти? Все записи из бд условно ридонли и меняться во время работы не будут.
inb4: грузи сразу всю таблицу в память.
Аноним 27/04/22 Срд 20:24:34 2345491 360
>>2344863
> такая декларативность не дается бесплатно
Какая даётся дешевле?
Поподробнее с этого места, плиз.
Аноним 27/04/22 Срд 20:30:38 2345499 361
1651080637882.png 43Кб, 775x423
775x423
>>2345019
Значит наоборот включи СМБ1 в своей новой системе. В десятке. Самостоятельно найдешь? Или скриншот кинуть?
Аноним 27/04/22 Срд 20:50:57 2345520 362
>>2345491
такая же, но с оптимизациями
например перегрузка ToList, которой можно передать размер если его знаешь.
Или же учитывать, что может быть не только IEnumerable, а сразу списки. Вон внутри ToList используется интерфейс IIListProvider, который дешевле позволяет делать, но разве обычный List<T> хоть где то реализует этот интерфейс

ну а для особо упоротых что то типа https://habr.com/ru/post/648529/
Аноним 27/04/22 Срд 20:53:21 2345521 363
Аноним 27/04/22 Срд 21:55:25 2345554 364
Вопрос. Хочу ставить на паузу несколько потоков до достижения нужной мне кондиции счётчика. сейчас написал:
while (Interlocked.Read(ref counter) > 0)
Thread.Sleep(1);
Пока в других потоках дёргается этот counter.
А какие ещё альтернативы? как сделать то-же самое но через WaitHandle, например?
Аноним 27/04/22 Срд 22:42:19 2345594 365
Аноним 27/04/22 Срд 23:07:12 2345615 366
>>2345594
блин на самом деле всё здорово, но он же сигналит при достижении 0 если судить по документации.
а у меня может быть 0 с самого начала.
Аноним 27/04/22 Срд 23:38:06 2345632 367
>>2345409
Да, мощный ответ, спасибо.
На русском глубокие ответы со знанием дела. На английском только мусор, копипаста документации без осмысление. Будущее программирования за РФ.
Аноним 28/04/22 Чтв 00:52:25 2345658 368
>>2345615
и он сразу будет в нужном состоянии. из доки
"Если initialCount значение равно 0, событие создается в сигнальном состоянии."
Аноним 28/04/22 Чтв 02:16:18 2345679 369
image 197Кб, 1619x1215
1619x1215
Для быстрой, но широко кастомизируемой обработки строк использую function pointers, чтобы был прямой, а не виртуальный вызов.
С указателями на статические методы всё вроде просто.
Но можно ли как-то через fixed или ещё как получить указатель на метод инстанса?
Аноним 28/04/22 Чтв 04:59:27 2345715 370
Аноним 28/04/22 Чтв 06:58:20 2345722 371
>>2345679
>не виртуальный вызов
как будто у string он виртуальный.
Аноним 28/04/22 Чтв 07:31:13 2345726 372
image.png 26Кб, 354x380
354x380
image.png 8Кб, 661x93
661x93
Почему в первом методе память не аллоцируется, а во втором - аллоцируется и скорость на порядок ниже?
Аноним 28/04/22 Чтв 08:34:17 2345735 373
Допустим я изучил синтаксис, а что дальше ?
Аноним 28/04/22 Чтв 08:37:19 2345737 374
>>2345735
И команды, познакомился с ООП и тд*
Аноним 28/04/22 Чтв 08:38:04 2345738 375
>>2343805
Задолбался, ни один пример не могу сделать по книжке Фримана, ASP.NET полностью поменялся и старые примеры не работают, выдают миллион ошибок.
Аноним 28/04/22 Чтв 08:58:46 2345742 376
Оказывается у Фримена уже вышла книга по ASP.NET Core 6, а наши не переводят, ленивые жопы!
Аноним 28/04/22 Чтв 08:58:56 2345743 377
>>2345726
ну если не ошибаюсь, то в первом случае компилятор просто сгенерит ламбду и впихнет ее как статик метод в этот же класс (потому что нет захваченных переменных инстанста), а во втором будет каждый раз создавать делегат
Аноним 28/04/22 Чтв 09:16:27 2345751 378
Заметил, что в современном сишарп коде отказались от конструкторов и задают значения напрямую свойствам. Не кажется ли вам, что это нарушение принципов ООП? Ведь в таком случае мы взаимодействуем не как с объектом, а как со структурой. Наш код становится не ООП, а старым процедурным кодом.
В настоящем же ООП стиле надо стремится всё делать через конструкторы, передавая более маленькие сущности большим, как бы оборачивая простой функционал более сложным. К примеру,
A a = new A(
new B1(
new C()
),
new B2(
new D1(), new D2(), new D3
)
);
a.run();
Аноним 28/04/22 Чтв 09:21:58 2345754 379
>>2345751
yegor256 (Yegor Bugayenko) вы тредом ошиблись. Жабисты двумя этажами ниже.
Аноним 28/04/22 Чтв 09:32:30 2345756 380
image.png 23Кб, 1097x175
1097x175
Аноны, Разве атрибут ForeignKey не значит что ЕФ должен получить сущность из дб с этим ключем?

Или я не понимаю как это работает?

Почему он налл, и как это фиксить?
Аноним 28/04/22 Чтв 09:48:39 2345760 381
>>2345751
никто от конструкторов не отказывался. это бред. родной DI контейнер от майков вообще в принципе не умеет в свойства.
Просто сделали сахар для случаев когда нужно использовать именно поля - удобнее и защита от потенциальных JIT проблем.
Аноним 28/04/22 Чтв 10:05:36 2345767 382
Кто-нибудь вообще понимает эти лямбда-выражения? Я вот не понимаю как они работают и нафига их придумали.
Аноним 28/04/22 Чтв 10:18:12 2345772 383
>>2345767
все понимают. чего там не понимать то. По факту просто анонимные функции без имени - только параметры и тело.
а придумали чтобы на каждый чих не создавать отдельные методы. Попробуй LINQ с методами писать - запаришься
не говоря уже о том, что лямбды можно кешировать
Аноним 28/04/22 Чтв 11:06:50 2345788 384
>>2345772
Откуда там параметры берутся? В обычной функции мы делаем явный вызов и передаём ей значения для обработки, а тут какие-то левые параметры всплывают и куда потом результат идёт и что является результатом?
Аноним 28/04/22 Чтв 11:24:28 2345794 385
>>2345788
>Откуда там параметры берутся?
из сигнатуры делегата же.
где то что то принимает допустим Func<string,char, int>
из чего следует, что это сигнатура метода принимающего строку и чар и возвращающий int
ему можно скормить метод
int <MethodName> (string a, char b) - это сама себе сигнатура подходящая под Func<string,char, int>

или же лямбду
(a, b)=>42

тут типов нет, но лямбда не может существовать в вакууме. Она ассоциируется с какой то сигнатурой.
ты не можешь написать var func = (a, b)=>42, ведь так компилятор реально не знает что за a,b
поэтому только так
Func<string, char, int> func = (a, b) => 42;
то есть func требует чтобы ей присвоили что-то подходящее под сигнатуру Func<string, char, int> (делегаты же)

Так и при передаче лямбды в метод. Там есть ожидающая сигнатура. и типы будут взяты из сигнатуры Func<string,char, int> (поэтому компилятор подсказывает типы) и если лямбда не нарушает (допустим возвращает не int, а bool), то все будет работать
Аноним 28/04/22 Чтв 12:05:09 2345825 386
>>2345715
Для перформанса.

>>2345722
У делегатов он виртуальный. Когда на каждый char будет вызываться 2-3 таких метода, обработка строк будет мягко говоря не быстрой.
Аноним 28/04/22 Чтв 12:22:16 2345843 387
Сап, двач. Есть ли какая-то библиотека или встроенное решение для сериализации объектов в виде content`а для http post/put/patch, чтобы самому каждый раз не писать new StringContent(value, name), а что-то вроде этого https://codeshare.io/r9xw0K код писался прям в codeshare с придумками из головы. Я просто хотел отобразить суть
Аноним 28/04/22 Чтв 12:53:05 2345858 388
>>2345788
Попробую даже понятнее

Вот кто-то принимает Func<int, int, bool>
Конечно ты можешь передать ему метод

private bool Foo(int a, int b) => a>b;

но писать каждый раз именованный метод ради использования в 1 месте и засорять им класс (а в многоэтажном LINQ такого может быть навалом и все это как методы делать еще и имена придумывать)...ну такое себе

Поэтому рождаем метод на месте. Сигнатура у нас уже есть - Func<int, int, bool>, а значит нам нужно предоставить реализацию. При этом компилятор знает количество и типы параметров и тип результата. И область видимости не нужно. И имя - делегату на имя плевать.

Поэтому просто выбрасываем все лишнее для реализации
private bool Foo(int a, int b) => a>b;

и что же остается...

(a, b) => a > b;
Аноним 28/04/22 Чтв 12:56:33 2345860 389
Аноним 28/04/22 Чтв 13:03:56 2345868 390
>>2345679
>>2345825
Как оказалось, существует метод:
Marshal.GetFunctionPointerForDelegate
Он легко позволяет получить указатель на метод инстанса. Например, вот так:

Func<char, char> del = Some_instance_method;
void fptr = Marshal.GetFunctionPointerForDelegate(del).ToPointer();
delegate
<char, char> pointer_to_some_instance_method = (delegate*<char, char>)fptr;

Этот код валиден. Но проблема в том, что нигде нет оператора fixed. Как GC поймёт, что не нужно пока удалять делегат, или же тот инстанс, на метод которого он ссылается???
Аноним 28/04/22 Чтв 13:10:15 2345871 391
Аноним 28/04/22 Чтв 13:19:29 2345878 392
>>2345871
Func<int,int,bool> это сигнатура с 2мя параметрами. На имена параметров ему плевать. Типы он сам знает.Так что a, b в ламбде берутся оттуда же, откуда и в методах - просто придумываешь как назвать параметры.
Аноним 28/04/22 Чтв 13:25:40 2345889 393
>>2345868
никак не поймет. поэтому в справке к Marshal.GetFunctionPointerForDelegate есть заметка

"Делегат необходимо вручную не собирать сборщиком мусора из управляемого кода. Сборщик мусора не отслеживает ссылки на неуправляемый код."
Аноним 28/04/22 Чтв 13:26:22 2345891 394
>>2345878
А как туда конкретные значения попадают? Обычную функцию мы вызываем явно, а тут как она вызывается?
Аноним 28/04/22 Чтв 13:29:23 2345898 395
>>2345891
точно так же, как попадают в метод, если мы передаем метод.

>Обычную функцию мы вызываем явно
не вызываем мы ее явно. Кто-то ждет Func<,,> и мы передаем ему метод, но этот кто-то работает с делегатом. В этом и есть смысл - делегат он как интерфейс, только для методов. И мы можем подсунуть ему существующий метод или создать анонимный на месте (лямбда)
Аноним 28/04/22 Чтв 13:51:05 2345913 396
>>2345735
> а что дальше ?
1. Сделай калькулятор.
2. Сделай КРУД-менеджер домашних финансов.
3. Сделай бочку (игра про пилотов-асов).
4. Выложи всё сделанное на гитхаб, добавь ссылку в своё резюме.
5. Воруй, убивай, еби гусей, жди ответного гудка.
Аноним 28/04/22 Чтв 13:57:42 2345923 397
Аноним 28/04/22 Чтв 14:10:12 2345932 398
Аноним 28/04/22 Чтв 14:11:51 2345935 399
>>2345825
>Для перформанса.
Бенчмарки покажи.
Аноним 28/04/22 Чтв 15:46:11 2345995 400
image 91Кб, 647x510
647x510
>>2345935
Для моего кейса разница 20% в пользу указателей на функцию по сравнению с делегатами.
Не в разы конечно, но тоже стоит иметь ввиду.
https://pastebin.com/2MpdzDTq
Аноним 28/04/22 Чтв 16:46:06 2346033 401
Аноним 28/04/22 Чтв 18:38:33 2346138 402
image.png 33Кб, 776x554
776x554
image.png 13Кб, 361x397
361x397
>>2345923
Вставил код из бенчмарка. В каком месте DelegateArrow() там без аллокаций, если он делегат аж через целый дополнительный класс разворачивает?
Аноним 28/04/22 Чтв 21:27:14 2346256 403
>>2346138
и кеширует его в статическом поле <>9__0_0
Аноним 28/04/22 Чтв 21:27:26 2346257 404
>>2344574
А что там сложного-то?

Если классический - то это тот же SQL, только селект не в начале, а в конце.
Если тот что через Fluent, ну, тоже не понимаю что тут такого страшного, если каким-нибудь fluent-билдером пользовался, то суть должна быть ясна.
А по сути - ну вот ты бы без линку писал:
public IEnumerable<T> Where<T>(IEnumerable<T> source, Func<T, bool> predicate)
{
foreach(var i in source)
if(predicate(i))
yield return i;
}
Аноним 28/04/22 Чтв 21:37:07 2346264 405
>>2345751
Кто отказался и где?
Или ты предлагаешь в анемичной модели и DTOшках конструкторы лепить, чтобы сериализаторы и мапперы - просирались, а тебе приходилось это говно руками хуячить?
В остальных случаях - все и везде юзают конструкторы. То что обычно он один - это другой вопрос.

Ну серьезно. Я не понял с чего ты это взял. Я вообще за последние лет 5-7 нигде не видел, чтобы люди в своем коде что-то типа:
myApplicationContext.Logger = serviceProvider.GetLogger();
myApplicationContext.Repo = serviceProvider.GetRepo<User>();
А раньше такая хуйня - повсеместно была. И хорошо если такая, а не хуйнть синглтон и уже в самом классе тащить все что хочется через него, ууу, бля, как вспомню...
Аноним 28/04/22 Чтв 22:16:39 2346274 406
>>2345843
Не понял зачем.
Тем более что в примере того что ты приводишь - это выглядит как обычный жсон, который ты буквально можешь вот без лишних движений получать апи-контроллерами.

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

[ApiController, Route("products")]class MyController: ControllerBase{
[HttpPost]public void PostProduct(ProductModel model) => Console.WriteLine(model.Username);
}
Аноним 28/04/22 Чтв 23:03:54 2346315 407
Можно ли из C# открыть браузер по умолчанию и отобразить в нём простую статичную html-страницу из сгенерированного внутри кода стринга?
Аноним 29/04/22 Птн 04:31:05 2346372 408
>>2346315
нужно создать временный файл, куда все записать и запустить как ShellExecute путь к этому файлу file:// и он откроет в дефолтном браузере
Аноним 29/04/22 Птн 05:50:55 2346379 409
>>2346372
Можно без временных файлов, открыть сервачок на локалхосте и передать шеллу ссылку на него.
Аноним 29/04/22 Птн 06:53:11 2346389 410
Аноним 29/04/22 Птн 07:46:49 2346400 411
>>2346274
> получать апи-контроллерами
Да. Но мне не нужно получать. Мне нужно давать. Я не понимаю как составить post/put/patch запрос со сложным content`ом
Аноним 29/04/22 Птн 08:05:48 2346409 412
>>2346400
Ладно, я разобрался. В либе автор накрутил хуйни поэтому я не мог понять как фиксить. А это просто жсон
Аноним 29/04/22 Птн 09:51:17 2346466 413
>>2345913
6. Вкатывайся в пятерочку
Аноним 29/04/22 Птн 10:49:16 2346490 414
flenov.jpg 135Кб, 1280x720
1280x720
Каких видеоблогеров по сишарпу вы смотрите?
Аноним 29/04/22 Птн 11:00:19 2346496 415
Аноним 29/04/22 Птн 11:23:56 2346508 416
>>2346496
Дак там не на русском
Аноним 29/04/22 Птн 13:35:06 2346598 417
>>2346379
Да вот этот способ интересует.
Где-то, возможно даже здесь, видел код в одну строчку, без всяких созданий файлов, который запускал браузер и выводил hello world из консольного приложения C#.
Но не могу теперь найти.

>>2346372
1. Винда иногда рандомно блочит программное создание и перезапись файлов, ну может в мои документы и roaming ещё можно из васянопрограммы срать, а больше никуда нельзя.
2. Мусорить файлами, а возможно даже изнашивать ресурс SSD, мне не очень нравится.
Аноним 29/04/22 Птн 13:49:51 2346608 418
>>2346598
в темп же писать. для этого эта папка и придумана

А запускать вебсервер - это HttpListener расчехлять. Ну или kestrel, но кто знает как его запускать в десктопном приложении как просто дополнительный модуль, а не как вот асп.нет сделано? никто не знает. Я видел способ на гитхабе, да потерял.
Аноним 29/04/22 Птн 20:20:10 2346975 419
>>2346490
Nick Chapsas
Хотя какие нахуй виоблогеры? Ты по ним не вкатишься, это пузатымм сениорам когда скучно можно посмотреть
Аноним 29/04/22 Птн 20:31:25 2346979 420
Это для таких долбней-вкатунов как тут некоторые минмал апи придумали?
Или чтоб с еще большей скоростью плодить новые микросервисы, которые отваливаются как сучки и это называют "фолт толеранс"?
Аноним 29/04/22 Птн 20:36:13 2346981 421
16500944544170.mp4 9229Кб, 560x944, 00:00:24
560x944
две рюмки и уже норм
жаль что потом и вся бутылка до дна не приблизит , но все равно выпьется
Аноним 29/04/22 Птн 22:04:25 2347037 422
>>2346979
Да, иди на Коболе писать, любитель бойлерплейта ебаный.
Аноним 29/04/22 Птн 23:33:51 2347110 423
>>2347037
малышок, там для тебя дядки нарот.ру придумали. Иди девелопить
Аноним 30/04/22 Суб 13:36:53 2347275 424
>>2347110
> нарот.ру
Проект закрыт уже лет 10. Из какой криокапсулы ты вылез, дед?
Аноним 30/04/22 Суб 17:31:35 2347449 425
>>2346975
Мне нужно для сохранения мотивации
Аноним 30/04/22 Суб 17:39:09 2347455 426
16412080862440.png 347Кб, 1080x1243
1080x1243
>>2346979
Чтобы конкурировать с жопаскриптом.
Будущее — оно такое.
Аноним 30/04/22 Суб 17:53:08 2347462 427
Сапч {\u0022data\u0022:{\u0022episodes\u0022:14}} почему System.Text.Json.JsonSerializer.Serialize(object) подсовывает мне \u0022 вместо кавычек? И как это исправить?
Аноним 30/04/22 Суб 18:12:54 2347475 428
Аноним 30/04/22 Суб 22:11:09 2347667 429
333.png 7Кб, 973x543
973x543
2.png 68Кб, 849x478
849x478
111.png 56Кб, 706x532
706x532
Будьте добры, объясните как выбрать столбец/строку в контейнере, куда я добавлю кнопку, а то получается что они добавляются по индексам 0 0.
Аноним 30/04/22 Суб 22:49:17 2347688 430
>>2347667
Grid.SetRow(Array, RowIndex);
Grid.SetColumn(Array, ColumnIndex);
Аноним 01/05/22 Вск 06:33:12 2347810 431
>>2347475
Не. Не помогает. Никакие манипуляции с encoding не дают нужного результата
Аноним 01/05/22 Вск 16:59:49 2348082 432
Может ли битард написать симфонию partial view заменить editor template? Для темплейта я могу использовать Html.EditorFor(vm => vm.Penis), но если я напишу <partial model=Penis...>, то не сработают атрибуты валидации на клиенте, что в общем-то очевидно. Могу я как-то патиалу намекнуть, что свойство которое у него в модели часть большей вьюмодели, обвешенной атрибутами?
Аноним 02/05/22 Пнд 13:38:43 2348526 433
image.png 832Кб, 905x1035
905x1035
Вопрос по блазору.

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

И есть джс который должен что-то с ней сделать.
Каким образом блазор должен узнать что конкретный див уже отрендерил на станице и можно безопасно вызывать функцию которая на нем оперирует?
Аноним 02/05/22 Пнд 22:53:58 2348899 434
Привет, мне кажется 에스파 больше подходит для аватара, чем Everglow.
Аноним 03/05/22 Втр 11:58:52 2349188 435
Что за парашная аватарка в целом? Какой нахуй кпоп? Вы ахуели там? У меня есть два условия:
1. Добавьте .NET 6 и C# в шапку
2. Добавьте нормальную аватарку, а не этих блядей крашеных попущеных
Аноним 03/05/22 Втр 13:16:45 2349248 436
>>2349188
>1. Добавьте .NET 6 и C# в шапку
Сам добавь.
>2. Добавьте нормальную аватарку, а не этих блядей крашеных попущеных
Сам добавь.
Аноним 03/05/22 Втр 13:22:36 2349254 437
>>2349248
Нет. Я только указывать могу, а вы перекатчики перекатывайте нормально.
Аноним 03/05/22 Втр 17:35:12 2349443 438
>>2349254
>а вы перекатчики
Торжественно принимаем тебя в перекатчики. Теперь можешь не только указывать.
Аноним 03/05/22 Втр 18:09:29 2349459 439
photo2022-04-22[...].jpg 133Кб, 1280x922
1280x922
Судя по картинке, на дуднете пишут петухи
Аноним 03/05/22 Втр 18:17:40 2349465 440
>>2349188
Ты офигел kpop-богинечек оскорблять!?
Аноним 03/05/22 Втр 18:19:55 2349467 441
Аноним 03/05/22 Втр 18:21:56 2349470 442
>>2349467
Виабу - это кто любит японское, а kpop - это корейское
Аноним 03/05/22 Втр 18:33:08 2349478 443
Аноним 03/05/22 Втр 20:29:30 2349565 444
БЛЯТЬ как на азуре зарегаться, если не принимает карту?
03/05/22 Втр 20:32:35 2349568 445
Аноним 04/05/22 Срд 08:39:30 2349690 446
>>2344057
> только vim, только хардкор
А там можно навести мышку на класс или на метод и получить всплывающей подсказкой краткую документацию по использованию? Нет? Ну вот и пшёл нахуй.
Аноним 04/05/22 Срд 08:42:16 2349695 447
>>2343918
Выполнять дотнет-код можно только в одной "ос" на дотнет-платформе. А вот сама платформа доступна сейчас на нескольких ос. Это интерпретатор. Это скрипты. Хоть их джит-компилятором назови, хоть виртуальной машиной. Суть та же, что и во времена хтонических пращуров на фортране.
Аноним 04/05/22 Срд 08:44:42 2349697 448
>>2349695
Получается на линуксе запускается эмулятор винды и в нём выполняется дотнет-код?
Аноним 04/05/22 Срд 08:47:57 2349699 449
>>2349697
В некоторых моментах, да. Прям чувствуется винда. Виндовс-вэй.
Аноним 04/05/22 Срд 12:30:31 2349852 450
image.png 38Кб, 441x276
441x276
Шарпаны, что я делаю не так? При задании значения переменной в коде все работает ок, а через Console.Read() какая-то поебень выходит, пик стронгли релейтед
Аноним 04/05/22 Срд 12:42:46 2349864 451
Какой фреймворк учить: ASP.NET Core, ASP.NET Core MVC или ASP.NET Web API?
Аноним 04/05/22 Срд 12:49:47 2349881 452
image.png 21Кб, 519x124
519x124
>>2349852
Все понял, Console.Read() возвращает char, который при конвертировании в double конвертируется в ASCII-код символа. Console.ReadLine() возвращает string, которая уже конвертируется нормально
Аноним 04/05/22 Срд 12:52:00 2349887 453
>>2349881
Эз, а я только ответ хотел написать
Аноним 04/05/22 Срд 13:00:52 2349902 454
>>2349887
Да я чет думал, что разница между Read и ReadLine в том, что ReadLine после ввода делает перенос строки, а Read нет. Ну типа как Write и WriteLine, а оказывается нихуя не так
Аноним 04/05/22 Срд 15:01:49 2349995 455
>>2349864
>Какой фреймворк учить: ASP.NET Core, ASP.NET Core MVC или ASP.NET Web API?
ASP.NET Core включает в себя MVC и Web API.
Аноним 04/05/22 Срд 15:16:39 2350005 456
>>2349995
Почему обычный C# без проблем изучается, а этот ASP.NET какой-то взрыв мозга? Какие-то конфигурации, маршрутизации, логирование, хуирование. И это всё ещё ни как не приближает к собственно к самому написанию приложения, где ещё надо соблюдать магию соглашения, которые работают по левой пятке разработчиков.
Когда пытаешься написать свой сайт, то каждый раз спотыкаешься, потому что просто не знаешь как это сделать, а чтобы понять как надо изучать 100 страниц мануалов. А потом следующую фичу и ещё 100 страниц. В итоге знаешь дофига всего про кишки ASP.NET, но сайт так и не написан.
Кто вообще этот бред придумал? Может ему лечится надо, а не фреймворки разрабатывать.
Аноним 04/05/22 Срд 16:58:55 2350095 457
as.png 67Кб, 767x689
767x689
Подскажите, пожалуйста, как исправить ошибку
Аноним 04/05/22 Срд 18:23:35 2350150 458
>>2349864
Написано - Children - это не статическое свойство, и может применяться только с экземпляру класса (что логично, откуда у статичного класса потомки?)
Аноним 04/05/22 Срд 18:50:00 2350173 459
Аноним 04/05/22 Срд 18:55:22 2350178 460
>>2350005
Потому что всё это облегает жизнь когда ты начинаешь понимать это. Сам ведь наверняка ахуевал с линка и его удобности, тут тоже самое. Вместо говна из жопы на пыхе майкрософты дали нам костяк и основу того, как выглядит веб приложение. В итоге код написанный для веб приложения может повторно использоваться в каком-нибудь десктоп приложении.
Аноним 04/05/22 Срд 20:02:18 2350215 461
>>2349695
>А вот сама платформа доступна сейчас на нескольких ос
WPF/UWP тоже часть дотнет. как мне выполнить их на линукс?
Аноним 04/05/22 Срд 20:08:38 2350221 462
>>2350095
у тебя есть экземпляр!!! Canvas на форме ( у него еще имя вида Name=""/x:Name="" в XAML)- в него и добавляй. Чего ты в статический класс добавить пытаешься.
Аноним 04/05/22 Срд 20:20:20 2350230 463
>>2349690
Ну, при остром желании - можно.
Только вот нахуя? Если ты нормальный кодер - чужое апи ты изучаешь перед применением, а свое пишешь так, чтобы никаких подсказок нахуй нужно не было.
Серьезно. Вот я спизжу в описании своего апи или тупо забуду в ходе фикса обновить описание, ты заюзаешь, обосрешься, полезешь гуглить. Если бы был нормальным человеком - ты бы сразу загуглил что за апи, как работает и миллион подводных камней еще до применения запреметил и писал бы нормально. А в командах так вообще писать комменты - дурной тон.
Аноним 04/05/22 Срд 21:09:03 2350254 464
>>2350215
Нет не часть.
У дотнета есть спецификация. WPF-UWP-Forms - это технологии которые поверх нахуячили. Как и ASP кстати, но ASP - портировать таки ЧУТКА легче, чем разбираться с зоопарком графических апи.
А так - ну, ворд на плюсах написан, хули я не могу ворд на линуксе запускать? Плюсы не кроссплатформенные штоли?
Аноним 04/05/22 Срд 22:15:32 2350288 465
>>2350095
> Button[] Array = new Button[10];
Ммм... Калькулятор!
Аноним 04/05/22 Срд 22:22:31 2350295 466
>>2350254
> разбираться с зоопарком графических апи
Нынче графические тулкиты собраны по уму. Сразу генерируешь шаблон исполняемого файла, в котором указано, что на винде подключить WPF, на линуксе GTK, на маке - что там маковское, на андроиде - что там андроидовское.
И всё.
Затем ты описываешь платформонезависимое окно, которое собирается как библиотека-зависимость для вышеуказанных частей общего шаблона. Ваще заебись придумано. А майкрософт так не смог.
Аноним 04/05/22 Срд 23:08:43 2350323 467
Кто нибудь знает, от чего таймеры работают неровно?
Я про System.Windows.Threading.DispatcherTimer
Выглядит как рывки, хотя если в абсолютно такой же ситуации запустить через бесконечный цикл в делеем, то все збс. Что такого в этих таймерах и для чего они нужны?


Делаю так:
private void Begin()
{
DispatcherTimer Timer = new DispatcherTimer();
Timer.Interval = new TimeSpan(5);
Timer.Tick += Update;
}


private void Update()
{
Debug.Print(Mouse.GetPosition(Canvas1).ToString);
}


На самом деле я бейсикоблядь и завидую, что вот эта хуйня:
AddHandler Timer.Tick, AddressOf Update
у вас пишется так:
Timer.Tick += Update
Честно, заебался простыни писать, особенно когда надо подписаться на пятерку эвентов, а потом еще и отписаться.
Аноним 04/05/22 Срд 23:09:54 2350324 468
>>2350323
... Еще забыл стартануть таймер в коде, ну вы поняли.
Аноним 04/05/22 Срд 23:46:49 2350360 469
Аноним 05/05/22 Чтв 00:16:44 2350395 470
>>2350360
Правильно я понял, что таймеры нужны для долгосрочных работ, где важно малое влияние на батарею и частота должна быть начиная от 1мс и выше?

А если надо что-то быстрое и точное, вплоть до тиков, то лучше юзать бесконечные циклы.
Аноним 05/05/22 Чтв 00:33:09 2350400 471
>>2350254
>WPF-UWP-Forms - это технологии которые поверх нахуячили.
ну так вот и "писать код" это технологии которые поверх

>>2350323
>от чего таймеры работают неровно?
из-за того что винда не RTS и таймеры объединяются в очередь для оптимизации, а не каждый независим
Аноним 05/05/22 Чтв 07:36:04 2350453 472
>>2350230
>Если ты нормальный кодер - чужое апи ты изучаешь перед применением
Да изучаю, только мне нахуй не уперлось держать в памяти описание тысячи методов и каждого параметра к ним.

>А в командах так вообще писать комменты - дурной тон.
Ой, а вот за это - сразу нахуй.
Мое любимое развлечение придя в новую команду, доебывать старожилов на тему "а почему тут вот так сделали, а не так", "а чем отличаются вот эти два метода", и т.д. Ну и хуесошу их на тему того, что "одна строчка коментов на тему почему здесь так, а не иначе, сэкономила бы тебе целый час пиздежа со мной."
Коменты не нужны там где идет простая алгоритмика, а вот там где у тебя предметная или бизнес-логика, то ты охуеешь в этом говне разгребаться. Особенно если аналитики на пару с заказчиками мудаки и для них проблема составлять внятное ТЗ и инструкции.
Аноним 05/05/22 Чтв 08:51:41 2350463 473
Шарпаны, я мудак и я пилю круды винформах (ибо так мне намного быстрее), а само приложение на асп .нет 6. Поясните за winforms core. У меня в главном приложении ef core, со стандартными identity aspNetUsers. Я могу к своим крудам подключить либу Microsoft.AspNetCore.Identity и менять им через PasswordHasher пароль?
Аноним 05/05/22 Чтв 10:02:11 2350472 474
>>2346490
Я вот его и смотрю. У меня наклевывалась виза в Канаду, думал легко там устроиться в первую попавшуюся компанию .net разрабом за еду, но в одном видосе он рассказывает, что в Канаде дохрена безработных прогеров и дикая конкуренция.
Аноним 05/05/22 Чтв 11:08:06 2350512 475
>>2350472
А когда ты кому-нибудь признаешься, что пишешь на шарпе, то у тебя не возникает чувства стыда?
Аноним 05/05/22 Чтв 11:29:07 2350531 476
>>2350512
Раньше возможно, но после появления Core шарп дал пососать всем конкурентам, в СНГ он уже обошел Джаву. Главное, что за спиной шарпа стоит величайшая ИТ компания вселенной.
Аноним 05/05/22 Чтв 11:47:56 2350541 477
>>2350531
>в СНГ он уже обошел Джаву
Чем же, блять? Вы можете сидеть в манямирке, в котором ява - говеный язык, фи-фи-фи, но уж в СНГ количество вакансий на яве и зарплата явистов побольше будут, чем у шарпистов. Это просто факт нахуй. Да и по миру в целом это тоже так, вроде.
Аноним 05/05/22 Чтв 12:27:00 2350564 478
>>2350541
>оличество вакансий на яве и зарплата явистов побольше будут
что не отменяет факта что ява говно
и будучи жавистом - будешь жрать это говно бочками без вариантов.
Аноним 05/05/22 Чтв 13:05:26 2350587 479
>>2350531
Недавно встретил знакомого на улице и он спросил чем сейчас занимаюсь. Я почему-то не решился сказать, что изучаю шарп и ляпнул, что изучаю джаву, хотя на самом деле учу шарп.
Аноним 05/05/22 Чтв 14:01:16 2350626 480
>>2350587
А взявшие Иисуса отвели Его к Каиафе первосвященнику, куда собрались книжники и старейшины. Петр же следовал за Ним издали, до двора первосвященникова; и, войдя внутрь, сел со служителями, чтобы видеть конец. (…) Петр же сидел вне на дворе. И подошла к нему одна служанка и сказала: и ты был с Иисусом Галилеянином. Но он отрекся перед всеми, сказав: не знаю, что ты говоришь.

Аноним 05/05/22 Чтв 14:01:36 2350627 481
>>2350587
Когда же он выходил за ворота, увидела его другая, и говорит бывшим там: и этот был с Иисусом Назореем. И он опять отрекся с клятвою, что не знает Сего Человека.
Аноним 05/05/22 Чтв 14:01:56 2350628 482
>>2350587
Немного спустя подошли стоявшие там и сказали Петру: точно и ты из них, ибо и речь твоя обличает тебя. Тогда он начал клясться и божиться, что не знает Сего Человека. И вдруг запел петух. И вспомнил Петр слово, сказанное ему Иисусом: прежде нежели пропоет петух, трижды отречешься от Меня. И выйдя вон, плакал горько.
Аноним 05/05/22 Чтв 15:00:25 2350648 483
>>2350564
>ява говно
Похуй. О том, какой язык лучше, пиздят двачата и швабродебилы, устраивая массовые холивары. Адекватному человеку вообще похуй, как часто новые обновления, какие там фичи, какой там перформанс, критерий один - многаработы и многаденег. И джава ебет шарп в этом плане, даже вы это не отрицаете. Ну вот и все нах.
Аноним 05/05/22 Чтв 16:53:30 2350742 484
>>2350648
Конкуренции тоже много. Миллионы индусов, китайцев, СНГ итд итп знают Java идеально.
Аноним 05/05/22 Чтв 16:54:17 2350743 485
>>2350742
С недавнего времени еще и негры добавляются
Аноним 05/05/22 Чтв 17:10:06 2350760 486
А можно при наследовании класса, дополнить метод или свойство базового класса? Ну т.е. чтобы оно делало тоже самое плюс кое что еще.

Например, я хочу наследовать Controls.Grid, но чтобы при изменении свойства .Width автоматом менялось свойство .Height. Я не ебу как они там под капотом работают, чтобы переопределить целиком.
Аноним 05/05/22 Чтв 17:33:24 2350788 487
>>2350760
В переопределенном методе вызываешь метод родителя, а после этого пишешь свой код
Аноним 05/05/22 Чтв 17:36:05 2350790 488
Аноним 05/05/22 Чтв 18:22:28 2350817 489
>>2350790
Спасибо. Блин, свойство не является Overridable.
Сделал через Shadows.
Аноним 05/05/22 Чтв 18:49:10 2350836 490
>>2350648
>какие там фичи, какой там перформанс, критерий один - многаработы и многадене
поэтому мне и жаль жавистов. шарпист зарабатывает столько же, но писать куда приятнее.

Особняком стоит котлин. Самому дико нравится его выразительность (но не рантайм ибо это жава рантайм), но мы то говорим о жаве
Аноним 05/05/22 Чтв 18:59:48 2350846 491
>>2350288
На котором только цифры, математических операций нет. Эксклюзив для зумеров, миллионы скачиваний, видосы на тик-токе.
Аноним 05/05/22 Чтв 20:09:31 2350908 492
.jpg 47Кб, 800x450
800x450
.jpg 127Кб, 1208x805
1208x805
Вчера запустил студию, обнаружил, что nuget не работает, соединение с api.nuget.org падает с ошибкой. В итоге два убитых вечера на поиск решения проблемы. Ебучие админы нюгетовского сайта, гондоны обоссанные, чтоб они со своими изменениями настроек прямо на рабочем месте жидко обосрались. Пидорасы.
Аноним 05/05/22 Чтв 20:20:43 2350916 493
>>2350846
Ты что, сейчас модно по отдельному приложению на каждую цифру с синхронизацией через облако.
Аноним 05/05/22 Чтв 20:34:23 2350926 494
За сколько времени вы выучили ASP.NET?
Аноним 05/05/22 Чтв 21:08:14 2350946 495
>>2350453
> одна строчка коментов на тему почему здесь так, а не иначе, сэкономила бы тебе целый час пиздежа со мной
Угу. И в коменте - пиздежь, потому что коммент писался под первый кейс, а спустя 100500 итераций - от того кейса нихуя не осталось.
Тем более что ты спизданул про предметную логику - на все ответ будет: потому что вот такой кейс, вот тебе ссылка на тикет. Все.
И да, если ты не способен писать нормальный код, который понятен без коментов, то ты еблан. Коменты допустимы исключительно в случаях хаков и всяких костылей по обходам багов, в остальных случаях их пишут только хуесосы и студенты.
Аноним 05/05/22 Чтв 22:24:28 2350969 496
>>2350926
Его нельзя "выучить". Огромный фреймворк.
Аноним 05/05/22 Чтв 22:33:53 2350972 497
Аноним 05/05/22 Чтв 23:56:33 2351016 498
>>2350846
> На котором только цифры
Хороший сарказм, но не наблюдательный. Я в юные годы освоения кодинга, как этот анон тоже такие калькуляторы делал. Одни массив на кнопки, с одним обработчиком, второй массив на операции, с другим обработчиком.
Дааа... Были времена.
Аноним 06/05/22 Птн 00:02:32 2351025 499
>>2350323
> я бейсикоблядь и завидую
> Честно, заебался простыни писать
Первый шаг к становлению на путь истинный. Что тебя останавливает? Тупо привычка. Вместо
> sub foo()
> end sub
пишешь
> void foo()
> { }
Это же так просто!
А как божественнен сишный for! Хоспаде! Вызывает мгновенное привыкание!
> for ( объявляешь переменную цикла; объявляешь условие выхода из цикла; объявляешь выражение итерации переменной цикла) { }
Просто охуенно!
Аноним 06/05/22 Птн 04:59:53 2351063 500
>>2350946
Вот такие пидоры как ты, как раз и ленятся, не то что коменты актуализировать, а даже ссылку на тикет указать. И в коммит-меседжах пишут хуйню вроде "пофиксил баг".
Нахуй путешествуй.
Аноним 06/05/22 Птн 09:31:31 2351107 501
>>2351025
Даже не помню, когда последний раз использовал for со счётчиком
Аноним 06/05/22 Птн 09:52:55 2351117 502
>>2351025
Да я знаком с синтаксисом шарпа, и так уже гуглю ответ для него.
Просто уже пишу проект на VB, и переходить на середине — тупо. Приходится иногда ЗАВИДОВАТЬ.

> sub foo()
> end sub
У студии автокомплит, я пишу только первое. Зато визуально знаю где конец класса, где конец метода и где конец цикла. В C# без наведения курсора не разберешься. Да знаю я, что если написал столько вложенной хуйни, что уже непонятно, то это уже вызывает вопросы.

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

Но все это решаемые проблемы автоматическим дополнением. На C# я пранирую перейти, как только закончу свой проект. Я и так с VBA перешел, для меня VB.NET - сплошные ништяки.
Аноним 06/05/22 Птн 10:19:35 2351122 503
>>2350323
>Timer.Tick += Update
вот только евенты в шарпе неудачное решение. Вроде бы очевидное - "хотим добавлять методы как хендлеры и вот вам немного сахара", но дико неудобно вышло
Аноним 06/05/22 Птн 13:46:33 2351231 504
2022-05-0613-41[...].png 59Кб, 1244x702
1244x702
2022-05-0613-45[...].png 22Кб, 978x509
978x509
Ошибка BC31399 Класс "Geometry" не имеет доступного "Sub New" и не может быть унаследован.

Чому класс PathGeometry спокойно наследует Geometry, а я получаю пизды за такое?
Пикрил1 — метаданные PathGeometry. Пикрил2 - мой класс.
Аноним 06/05/22 Птн 13:48:58 2351234 505
>>2351231
Прошу прощения за бейсик. Тут я не знаю как переводить и скорее всего поломаю.
Аноним 06/05/22 Птн 14:32:15 2351259 506
>>2351234
у Geometry internal конструктор

а бейсик это жжжесть
Аноним 06/05/22 Птн 15:40:07 2351292 507
>>2351122
> дико неудобно вышло
А как бы тебе хотелось? Опиши в псевдокоде.
Аноним 06/05/22 Птн 17:02:24 2351347 508
>>2351292
Да хотя бы классический Subscribe возвращающий IDisposable токен. + перегрузка принимающая lifetime
Аноним 06/05/22 Птн 17:53:51 2351397 509
Аноним 06/05/22 Птн 18:54:55 2351425 510
Аноним 06/05/22 Птн 19:26:47 2351447 511
>>2351259
Ясно. Извне никак не наследовать.
Аноним 06/05/22 Птн 21:33:10 2351558 512
Допустим я хочу вот такую хуевину сделать:
Есть устройства: принтеры, лампочки, розетки, колонки, чайники.
Я хочу сделать приложение, в котором пользователь бы мог все это добро подключить, а затем управлять, настраивать, смотреть состояние, мутить скрипты.
Так вот. Я сделал базовую имплементацию: устройства сами могут зарегистрироваться. Я могу все это делать.
Проблема. Все это сделано отдельными приложениями, которые на шарпе, одно по модбасу шлет пакетики, другое по snmp, третье жсоны гоняет. У каждого устройства, в зависимости от протокола - нужно сначала настроить к какому приложению слать запросики. Ну и дальше - проблема в том, что протоколы придумывали баки и они между собой так себе совместимы: в одном - 1 == true, 2 == false, в другом 1 == true, 0 == false, в жсоне - true == true ну вы поняли. А какие-то специфичные данные, типа яркости лампочки, так это же пиздец, вот по такому модбас-адресу лежит яркость.
Пока что для себя - я как ЭКСПЕРТ - знаю что и куда слать, допустим - 255 максимальная яркость, 0 - выключить лампочку. По такому-то OID - посмотреть количество чернил в принтере. Но хочется какой-то универсальности, чтобы я мог какую-то дашборду иметь и данные не зависили от протокола и типа устройства.
Но как это сделать?
Я думал о такой вот структуре:
есть абстрактное устройство. Device
у него есть абстрактный набор данных, методов и событий(Data, Actions, Events)
Данные - что можем почитать или иногда записать
Действия - что можем сделать, например выключить лампочку или перезагрузить роутер
События - некий триггер(настраиваю я) или инициативное сообщение(если устройство в него умеет), который нужен чтобы не пропустить что-то(например, чайник закипел - чайнки перешел в состояние закипел - я это считал и на дашборде - вывелось - "чайник закипел")
Но вот как это связать с конкретными устройствами и протоколами? Вот допустим в SNMP - есть дохерища текстовых конвенций, типа никаких тебе дробных чисел, тебе прилетит Integer и если у него синтаксис fixDiv100 - то это значит что надо на 100 разделить, чтобы валидный результат получить, если там IPAddress - нужно посмотреть длину строки октетов, понять что прилетел IP-адрес такой-то дилны или такой-то и потом привести его к виду IPv6 или IPv4, в Modbus - 255 - это вообще что угодно может быть в зависимости от спецификации устройства, смотри карту регистров и понимай.
Так вот. Может быть у вас есть какие-то предложения относительно того как это можно ООПшно и конфигурируемо сделать? Ну, типа допустим я смотрел как делают опенсорсные проекты похожего толка - и там либо руками все это прописали, либо - делают основу в виде форматтеров-конвертеров и хитрых конструкторов, но это ж пиздец заебешься настраивать, если у тебя нет базы по нужным устройствам.
Аноним 07/05/22 Суб 00:12:14 2351667 513
>>2351558
Паттерн "Адаптер". Гугли.
Аноним 07/05/22 Суб 00:13:03 2351669 514
>>2351558
Ну тебе нужны интерфейсы и какой нибудь паттерн: строитель или фабричный метод. Настраиваешь шаблоны под разные ситуации, а как еще?
Потому, наверно, у каждой компании свой набор устройств со своими стандартами.

А ты хочешь замутить что-то универсальное для всего на свете, но вроде как еще никто этого не смог сделать. Да еще хочешь сделать это в одно рыло.
Аноним 07/05/22 Суб 00:17:29 2351673 515
>>2351667
Адаптер шатает уже созданное. Это чтобы состыковать нестыкуемое, а анон на стадии зайчатия своей идеи.
Аноним 07/05/22 Суб 00:41:06 2351684 516
>>2351673
Внимательно его пост перечитай. У него куча девайсов с драйверами от разных вендоров, с разным АПИ в драйверах.
Аноним 07/05/22 Суб 00:53:03 2351688 517
>>2351558
>Вот допустим в SNMP - есть дохерища текстовых конвенций, типа никаких тебе дробных чисел, тебе прилетит Integer и если у него синтаксис fixDiv100 - то это значит что надо на 100 разделить, чтобы валидный результат получить, если там IPAddress - нужно посмотреть длину строки октетов
Делаешь класс для каждого такого случая: SNMP, fixDiv100, IPAddress. И основываешь их на интерфейсе (абстрактном классе) типа IProtocol. А как еще? Если каждый из них тоже имеет кучу вариаций, то дробишь еще на более мелкие классы и так же объединяешь общим интерфейсом.
У тебя в итоге должны быть типа наборы c общей абстрактной базой, которые ты перетасовываешь в зависимости от нужной конфигурации, которую ты сам удачно описал.

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

>>2351684
>У него куча девайсов с драйверами от разных вендоров, с разным АПИ в драйверах.
Адаптер это декоративная хуета, он не является стратегией. Грубо говоря, нужен чтобы милицию переименовать в полицию, но эта полиция все так же будет выполнять обязанности милиции.
Надеюсь меня не посадят на бутылку за данную аналогию.
Аноним 07/05/22 Суб 02:29:26 2351702 518
>>2351016
>>2350846
>>2350288
Хз вообще почему вы подумали, что я буду делать калькулятор. Я просто начал читать про WPF, разные контейнеры и решил вот затестить.
Аноним 07/05/22 Суб 03:08:32 2351712 519
>>2351688
>Грубо говоря, нужен чтобы милицию переименовать в полицию
(я другой анон).
Как бы это и требуется. Никто не ожидает от принтера что он начнет варить кофе.

Задача элементарная
1 определяем общий(е) интерфейсы. IDevice если нужно так обобщать или IPrinter, Ичайник и так далее, если нужно работать с ними по разному. Придумывается общий контракт
2 Для тех устройств что есть что-то готовое пишется обертка для реализации этого общего контракта (собственно сами адаптеры)
3Для тех, для кого нет ничего, пишется реализация на основе этого общего контракта. И будет ли это прямо реализация на месте (автор упарывается в YAGNI) или "немного подумаю сделаю обособленную реализацию и свяжу через адаптер то есть как в пункта 2"...зависит (с)

ps2: да гребанная кнопка стикеры поверх вводимых букв. Какого хера она делает поверх тектареа ввода текста
Аноним 07/05/22 Суб 09:03:23 2351743 520
>>2351712
>ps2: да гребанная кнопка стикеры поверх вводимых букв. Какого хера она делает поверх тектареа ввода текста
Дизайнер — уебан. Стикеров давно нет, а счетчик символов можно опустить на панель инструментов. А пока приходится ставить пробелы, которые забываешь убрать и каждый раз поучается вот такая пустая ебала ↓





Аноним 07/05/22 Суб 09:24:27 2351746 521
>>2351712
>2 Для тех устройств что есть что-то готовое пишется обертка для реализации этого общего контракта (собственно сами адаптеры)
Насколько я понял, готового нет. У него наоборот нейминг может сохраняться, а вот внутрянка имеет разную логику в зависимости от спецификации устройства. Собственно из-за этого и бугуртит.
У него есть функция Trigger. Но вариантов обработки её аргументов великое множество:
а) 1 == true, 2 == false,
б) 1 == true, 0 == false,
в) true == true

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

Вообще эти паттерны ебень какая-то. Сферический конь в вакууме.
Аноним 07/05/22 Суб 10:26:19 2351757 522
>>2351746
>Если ему нужно поменять логику после работы функции, то Адаптер подойдет
ты путаешь с декоратором. Адаптер нужен для того чтобы реализовать контракт. Язык же со статической типизацией.

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

Так что сила паттернов в коммуникации и метафорах.
Паттерн дает семантику. Указав в названии класса Adapter ты даешь понять что это адаптер, и посторонний (или ты через год) понимает что делает класс и почему он вообще был создан и его функционал.

>Но вариантов обработки её аргументов великое множество
вообще хз о чем ты. Ему нужен унифицированный доступ к подмножеству девайсов. А значит очевидно унифицированный контракт (интерфейс) - а уже от него все пляшет
Аноним 07/05/22 Суб 11:00:56 2351767 523
Аноним 07/05/22 Суб 11:30:24 2351784 524
2022-05-0711-11[...].png 16Кб, 846x789
846x789
>>2351259
>у Geometry internal конструктор
Хочу объединить класс RectangleGeometry с классом MyProperties в один единый класс (пикрил).

На самом деле задача иметь RectangleGeometry с доп свойствами. Раньше я брал RectangleGeometry и в свойство Tag(Object) пихал класс MyProperties. Но подумал, может есть более эстетичный вариант? Мне даже не нужны все методы и свойства RectangleGeometry, а только небольшая их часть.

Сперва я подумал, что можно просто создать свой класс EbanoeGeometry, внутри которого создать экземпляр RectangleGeometry и к нему уже обращаться. Но все бы ничего, только вот для какого нибудь Canvas, мой класс это неведомый зверь, потому что в чилдрены Canvas могут добавляться только наследники класса Geometry.
А делать что-то типа такого Canvas1.Childrens.Add(EbanoeGeometry.GetGeometry) чет не хочется. Хочется, чтобы это выглядело прям как собрат RectangleGeometry.

Такое вообще возможно?
Аноним 07/05/22 Суб 11:36:51 2351786 525
>>2351784
>А делать что-то типа такого Canvas1.Childrens.Add(EbanoeGeometry.GetGeometry)
... кроме всего прочего я еще и растеряю дополнительные свойства, это даже не даункаст получается, а кастрация какая-то. Не то чтобы я собирался с Кэнваса получать объект, но мне дурно от такого.
Аноним 07/05/22 Суб 11:43:19 2351788 526
>>2351767
>В чем разница
А те не похуй? Там родмап длинною в жизнь. Пока ты туда дойдешь, уже тыщу раз сам решишь что релаьно нужно.
Просто выдумай себе проект и пытайся максимально по уму сделать, некоторые вещи сами собой начнут напрашиваться. Можешь родмап использовать как основу для выдумывания проекта.

А если сидеть вот так по пунктикам заучивать без привязки к реальным задачам, то быстро вылетит из головы.
Аноним 07/05/22 Суб 11:59:54 2351795 527
>>2351788
Так я пока только базу синтаксиса знаю и могу делать простенькие консольные приложения. А на галеру надо притащить уже целое готовое веб-приложение, развернутое на сервере, наверное еще и с мордой на тс с каким-нибудь фреймворком. Между этим большая пропасть, которую хз как пройти без подобного роадмапа, я понятия не имею, как подступиться вообще дальше.
Аноним 07/05/22 Суб 12:23:00 2351801 528
>>2351795
Кстати кто-нибудь может объяснить почему каждая вторая вакансия на NET это фуллстак? Это из-за того, что шарфик преподают с первого курса и в среде работадателей знание платформы считается дефолтным навыком и типа возможно потребовать себе универсального кодера?
Аноним 07/05/22 Суб 12:49:31 2351811 529
>>2351801
Потому что у нас одни шарашкины конторы? Любая мелкая фирма не может позволить себе большой штат сотрудников, поэтому нанимают себе и швеца, и жнеца, и на дуде игреца. Предполагается, что ты будешь работать за пятерых, а платить тебе будут 0.2 от зарплаты одного.

Даже среди дизайна такая же херь. Я сначала гордился, что и рисовать могу, и 3д делать, и в CADах работать, и даже программировать. А потом оказалось, что таких как я только в шаражки и берут. Но тут нюанс в том, что таким фирмам нужно знать все, но на поверхностном уровне.

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

Если захочешь наебать систему и задрачивать со старта что-то одно, то полно примеров среди художников, которые задрачивали онли пошив одежды и щас глубоко соснули, потому что заказов нет, а перебиться на чем-то менее прибыльном не в состоянии из-за отсутствия других знаний. Короче, жизнь тебя обязательно выебет, так что не парься и решай задачи по мере их поступления.
Аноним 07/05/22 Суб 13:17:39 2351821 530
Аноны, я тут начинаю медленно готовиться к собеседованию, пока на рынке труда совсем пиздец не настал.
Сам умею в стандартный шарп, Рихтера перечитывал недавно и выучил фишки из новых версий.
.Net Core web api
Entity Framework новый тоже подучил.
Умею работать с CQRS, Mediatr, Automapper.
Виндовс формочки, куда же без них.
SQL тоже знаю.
В принципе знаю, где меня на собеседовании могут выебать, ибо уже до ковида ходил на собесы, но не получилось из-за проблем с военкоматом, сейчас все куда сложнее наверное будет.
Что посоветуете подучить?
Аноним 07/05/22 Суб 13:18:21 2351822 531
>>2351821
Ну и да, в планах у меня пока только GIT и Docker.
Аноним 07/05/22 Суб 13:27:07 2351827 532
>>2351821
>>2351822
Я думаю еще подучить Dapper, но нужен ли он, часто его юзают?
Ну и наверное придется опуститься до изучения HTML и JS, а дальше к Vue.js, я их немного знаю, но всегда отвращение к формошлепству имел к этому.
Аноним 07/05/22 Суб 20:14:39 2352040 533
>>2351786
>а кастрация какая-то
абсолютно нормально.
Аноним 07/05/22 Суб 20:59:16 2352073 534
>>2351827
Dapper юзают когда нужно супер быстро. EF юзают окгда не так важно.
Аноним 07/05/22 Суб 21:02:44 2352075 535
>>2352073
и когда не любят EF со всеми его заморочками. Есть огромное количество других ORM
Аноним 07/05/22 Суб 21:36:27 2352094 536
>>2352040
Ну так-то первоначально калечный вариант хранить класс со свойствами в тэге дает куда больше возможностей.
Аноним 07/05/22 Суб 21:43:24 2352100 537
>>2352094
А вот это как раз уже и выглядит как костыль
Правда тут проблема именования ведь Tag как то по названию не подразумевает "доп свойствА",но по факту для этого придуман.
Аноним 07/05/22 Суб 21:54:51 2352113 538
>>2352100
Ну если зырить в корни, насколько я помню, в vba тэг был стринговым. Это в .NET его сделали объектом, а в MDSN так и пишут
>Хранит дополнительную информацию об объекте.

Лучше бы они какую нибудь хуету замутили, чтобы можно было делать обертку поверх класса не трогая базу. И все эти ваши Декораторы и Адаптеры проблему не решат.
Аноним 07/05/22 Суб 22:04:42 2352122 539
>>2352100
Алсо, я экстеншн метод сделал и у меня идет обращение не к тэгу, а к Properties, да еще и возращает нужного типа.

Кстати, нет какого нибудь сахара с приведением к типу на лету?
А то мне приходится всегда делать так:

Object sender
Rect R = sender
R.Width


А вот так иногда может выдать ошибку:
sender.Width
Аноним 07/05/22 Суб 22:19:11 2352130 540
>>2351821
Теория на ASP.NET собес:
1) Пайплайн стандартных middleware и что делают: CORS, Authorization, Model binding, Model validation, Action filters, Exception filters. Зачем понадобится написать кастомный middleware.
2) Model validation: как реализована, ModelState (структура и API), FluentValidation nuget.
3) Model binding: атрибуты FromQuery, FromBody, FromRoute, FromService, зачем может понадобиться custom model binder.
4) Dependency Injection: Singleton/Transient/Scoped.
5) Action filters (зачем и примеры стандартных). Exception filters.
6) HTTP/REST: принципы, семантика глаголов, коды ответов.
7) Authentication: OAuth/OpenID flows (Implicit, PKCE), Azure Active Directory, JWT (refresh/access token), SSO, ASP.NET Identity.
8) OData.
9) Microservices: monolith vs microservice (pros/cons), как реализовать распределённую транзакцию (2PC, SAGA), коммуникация (HTTP, message bus), CAP теорема, как реализовать high availability.
10) Нормализация данных: что это и зачем, нормальные формы, как организовать 1-to-1/1-to-many/many-to-many отношения в SQL бд.
11) SQL: View vs Materialized View, Index (когда ставить, когда не ставить), операторы (отличие UNION/UNION ALL).
12) Entity Framework: __EFMIgrationHistory, как смапить сущность без первичного ключа (SQL View), какие ограничения, трансляция деревьев выражений (как реализовать кастомные операторы, как зафорсить client evaludation), AsNoTracking(), ChangeTracker, FluentAPI vs Data Annotations, Disconnected graph management (кейс: смержить 1-to-many дерево пришедшее с клиента в бд через EF).
13) Unit testing: отличие in-memory provider EF от реальной бд (Include-ы). XUnit (отличие от NUnit/MSUnit).
14) Знания/опыт работы с Cloud Computing провайдерами (AWS, Azure, GCP): знакомые сервисы, сертификаты.

Задачи на ASP.NET:
1) Как реализовать валидацию на уникальность Email и вернуть клиенту JSON с остальными ошибками стандартной валидации.
2) Есть REST Web API на ASP.NET Core + Entity Framework Core, есть веб-клиент, который с ним общается через JSON. На клиенте отображается pageable грид. Как будет выглядеть формат JSON-объекта-запроса, JSON-объекта-ответа. Как реализовать "страничную" выборку данных на бэкэнде используя EF Core. Как реализовать сортировку по любому полю JSON-объекта.
3) Есть REST Web API на ASP.NET Core. Веб-клиент постит на разные endpoint-ы JSON-объекты, в которых есть строковые свойства. Как централизованно затриммить (убрать пробелы с начала и конца) все строковые свойства принимаемых JSON-объектов. Чтобы в базу вдруг случайно не попали одинаковые текстовые entry, отличающиеся только количеством пробелов с начала или конца строки.
4) Как глобально перехватить все необработанные exceptions и вернуть клиенту модифицированный JSON с добавлением какой-то кастомной проперти.
5) Клиент аутентифицируется используя JWT + implicit flow. Как реализовать принудительный revoke сессии (инвалидация refresh token-а ~ "бан пользователя админом").
6) SQL/EF: как реализовать аудит сущности.
7) EF: optimistic concurrency implementation.

Аноним 07/05/22 Суб 22:22:45 2352134 541
>>2352113
>чтобы можно было делать обертку поверх класса не трогая базу
ну мс вообще противник расширения и потому делает интернал и sealed все на свете. Приходился кое что выдирать весь исходник и юзать или обходить рефлексией

>И все эти ваши Декораторы и Адаптеры проблему не решат.
ну да. принтер плохо варит кофе, значит принтеры бесполезны )

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

Аноним 08/05/22 Вск 00:32:13 2352182 542
image.png 69Кб, 1920x1080
1920x1080
qqqqq.png 41Кб, 493x453
493x453
Шо я делаю не так?
Аноним 08/05/22 Вск 00:34:47 2352183 543
>>2352130
Ебать простыня, это все говно ж года 3 учить
Аноним 08/05/22 Вск 00:38:02 2352184 544
>>2352182
Убрал строчку, где я создаю контейнер Canvass и всё заработало, хз почему, буду признателен если кто-то объяснит
Аноним 08/05/22 Вск 05:32:42 2352215 545
>>2352182
все не так. во первых, свой код нужно размещать после InitializeComponent. Во вторых, определяешь канвас в хамл и далее просто обращаешься по имени, а в своем коде ну создал ты инстанс канваса, ну заполнил и...конструктор закончился и GC его скушал. В третьих, не давай имена локальным переменным с большой буквы, котята дико орут от котятоцида. В четвертых, зачем там Array? вот создаешь ты массив кнопок, кладешь в него кнопки чтобы...тут же из него сразу эту кнопку достать, а в конце массив просто выбросить и все. В пятых - нахрена эта строка поиска на панели задач, что ты там ищешь что ей можно отдать столько места, да еще и виджет погоды, уууу
Аноним 08/05/22 Вск 05:50:03 2352219 546
08/05/22 Вск 07:06:48 2352220 547
>>2352215
> Во вторых, определяешь канвас в хамл и далее просто обращаешься
Не надо, сначала в коде научится как, а потом в хамл переходить
Аноним 08/05/22 Вск 08:08:49 2352235 548
>>2352220
>Не надо, сначала в коде научится как
Бесполезная трата времени. 99% будешь использовать хамл, а 1% код, но поскольку хамл это тот же код, выраженный в виде хмл, то там не сильно сложно.
Аноним 08/05/22 Вск 09:28:17 2352252 549
>>2352215
>нахрена эта строка поиска на панели задач, что ты там ищешь что ей можно отдать столько места, да еще и виджет погоды
В последних шиндовсах можно заменить на иконку залупы, практически так же быстро ищется, но место занимает гораздо меньше.

>виджет погоды
Последнее чем я буду интересоваться в своей берлоге. И уж тем более, эта информация не заслуживает немедленного оповещения.
(если только ты не в деревне, а у тебя понос и сортир на улице, тогда виджет погоды я бы поставил)
Аноним 08/05/22 Вск 11:49:25 2352378 550
>>2352182
>Шо я делаю не так?
Если это не мауи, то абсолютно всё не так. Это в XAML надо писать.
Аноним 08/05/22 Вск 12:29:31 2352411 551
Аноним 08/05/22 Вск 12:37:01 2352414 552
Аноним 08/05/22 Вск 12:56:09 2352422 553
Аноним 08/05/22 Вск 13:16:54 2352441 554
>>2352422
Ну тогда удачи в стрельбе себе по ногам
Аноним 08/05/22 Вск 14:06:22 2352488 555
>>2352130
>Как будет выглядеть формат JSON-объекта-запроса,
Блин настолько уже привык с odata работать, что вот эту вот ззуйню забыл совсем.
Аноним 08/05/22 Вск 15:38:16 2352586 556
>>2352411
Даст возможность не брать за щеку у самого себя же в процессе разработки.
Аноним 08/05/22 Вск 15:55:54 2352594 557
>>2352130
Бля, я только половину из этого отвечу наверное.
Аноним 08/05/22 Вск 16:06:45 2352607 558
>>2352183
Да нихуя, месяца 3-4 максимум.
Спасибо анонче, я знаю, к чему готовиться теперь примерно.
Аноним 08/05/22 Вск 16:08:17 2352613 559
>>2352183
Нет, в процессе обучения это всё само собой потрогается и посмотрится, поскольку это основа основ. По сути как циклы, условия, массивы - всё это основа которая в процессе изучения сама появляется как нужность
Аноним 08/05/22 Вск 16:11:14 2352620 560
>>2352613
Я вот пока диплом делал ( мессенджер ), из этого списка процентов 10-15 пощупал от силы
Аноним 08/05/22 Вск 16:18:03 2352628 561
>>2352620
Первые 13 пунктов уже гарантировано мог бы заюзать. Это сразу больше половины списка, не говоря уж о том, что можно ебануть апишку и это сразу вся оставшаяся часть. Даже если проект десктопный - инструменты те же абсолютно, меняется только вьюшка грубо говоря и немного структура приложения, так что непонятно что ты там за мессенджер делал
Аноним 08/05/22 Вск 16:26:00 2352632 562
>>2352628
Я если что не доебываюсь, у меня у самого уровень на написания диплома был ниже говна из жопы, но это я так, просто к слову о том, что ту хуйню выше учить долго
Аноним 08/05/22 Вск 17:14:02 2352691 563
>>2352235
> хамл
>>2352378
> XAML
>>2352414
> Декларативность
Декларативность это заебца. И в хамле она неплохо реализована, но у хамла есть один минус, как и у любого потомка хмл - дичайшее количество мусорных символов. Когда набираешь его по схеме в студии, проблем нет, интеллисенс тебе всё автодополняет и подстанавливает. А вот когда надо поправить в блокноте, тут-то и вылезает дичайшая жопоболь.
Мне больше по душе ЖСОН. Но к сожалению, на нём очень мало тулкитов. Из найденных мной только один поддерживает кодбихайнд в связке шарпа с жсоном, это... Eto!
Но воще хотелось бы ещё более простой (но декларативный) язык описания интерфейсов. Эх, посаны, знаете, хочеца как-то вот так:
object Form
[TAB] name = "MyForm"
[TAB] title = "My Helloworld Form"
[TAB] size = [800,600]
[TAB] object Label
[TAB][TAB] name = "Label1"
[TAB][TAB] text = "Hello, world!"
[TAB]object Button
[TAB][TAB] name = "Button1"
[TAB][TAB] text = "OK"
Аноним 08/05/22 Вск 17:18:02 2352694 564
>>2352586
Это в теории, а на практике соснешь от любого нестандартного пука в сторону, и тут начинается полный балаган. И уже хуй поймешь почему скругления кнопочек находятся в XAML, а отступы находятся в C# и почему ты должен как обезьяна в анекдоте бегать туда-сюда. Вместо того, чтобы в одном месте реализовать все настройки.
Аноним 08/05/22 Вск 17:23:22 2352697 565
>>2352691
>>2352694
Ну для этого и придумали недавно мауи. Больше никакой ебли с хамл. Разметку ебашишь на шарпике и балдеешь
Аноним 08/05/22 Вск 18:22:55 2352748 566
>>2352628
Ну так-то некоторые вещи я использовал, но особо не вникал даже. Да и велосипедов насочинял достаточно.
В общем буду летом НОРМАЛЬНО делать, теорию учить и по собесам похожу.
Опыт смежный есть год ковыряния легаси ERP на MS dynamics ax, параша та ещё
Аноним 08/05/22 Вск 18:31:44 2352762 567
Кто-нибудь пробовал на железках уровня малинки и слабее шарп гонять?
В общем. Я столкнулся с острым желанием это делать. Но вот дела, программулины стартуют ОООООООООООООООЧ медленно. Иногда раздупляется эта фигня до двух минут, иногда даже дольше. Еще и первое время кучу потоков плодит, память как-то странно выделяет на пустом месте. Аналогичная программулина на плюсах - стартует мгновенно и сразу нормально работает, шарповская же - раздупляется довольно долго, как раздуплилась - разница уже не такая большая, порядка 3-4 раз в пользу плюсов, но это уже не так существенно в данных кейсах.
В общем. Вопросы к гуру. Есть ли какой-то способ это вот раздупление ускорить и вообще поясните, чому так. Так-то я бы на плюсах хотел писать, но сейчас в команду - хрен плюсовиков найдешь, а дотнетчиков местный вуз плодит в бешенных масштабах, что легче на них скинуть какую-то некритичную фигню.
Аноним 08/05/22 Вск 18:31:51 2352763 568
Аноним 08/05/22 Вск 19:46:30 2352864 569
>>2352763
> Yaml
Википедия: Следует заметить, что наличие варианта записи в однострочном формате делает JSON допустимым подмножеством YAML.
Ништяк! Я вактически уже его выбрал.
>>2352697
> Ну для этого и придумали недавно мауи. Больше никакой ебли с хамл. Разметку ебашишь на шарпике и балдеешь
Впереди лжец.
Аноним 08/05/22 Вск 19:47:14 2352865 570
>>2352762
C# долго раздупляется на старте из-за того, что компилируется в промежуточный язык CIL, и уже потом при старте программы собирается в бинарник. Именно поэтому на старте долго, но быстро в процессе. Это сделали ради универсальности, но вот такой вот минус. Но вроде как стартовать только первый раз должно долго, и если ты не пересобираешь проект, то другие разы должны быть быстрее.

>Есть ли какой-то способ это вот раздупление ускорить
Выкинуть малинку к хуям. Сколько она щас стоит, тысяч 20?
Ты осознаешь, что можешь купить за эти деньги планшет на виндовс, у которого будет ТАЧ ЭКРАН, БАТАРЕЯ, КАМЕРА. И если хочется, законнектить по USB ардуину — для пинов. И представляешь? Оно не будет греться и будет мощнее.

Я просто в ахуе. Ебаные маркетологи подсадили ребятушек по соусом "компактно и дешево", а оно уже давно не дешево нихуя. Это уже оскорбительное безумие, потому что плюсов от росбери нет вообще: ни цены, ни простоты, ни удобства, ни красоты.
Аноним 08/05/22 Вск 20:10:58 2352893 571
>>2352865
>Выкинуть малинку к хуям
Малинка это чтобы понимать мощности. А малинка используется исключительно чтобы быстро можно было закинуть программулину и посмотреть как оно на близком к реаному железу работать будет до того как получим реальные образцы(как же с этого горит на деле, типа блядь, выдать пару экземпляров разрабам - хуй, собирайте из говна и палок что-то сами, завод, хули).
Ну и да. Стартует-то не только в первый раз долго. Любой холодный старт оно чет-там раздупляется. Опять же, создает потоки хрен пойми зачем. Памяти выделят тоже больно много. Я думал, что возможно дело в том, что дотнет что-то там JITом делает, плюс че-то "подгружает" в процессе, ну, типа как я знаю ваши женерики - генерируются в момент первого вызова(как минимум мне дотнетчик так рассказывал), вот я и хочу узнать - что там да как, можно ли как-то это все дело сделать шустрее. Говорю ж, я - плюсовик, и дотнет использовал только когда нужно было на формах какую-нибудь утилитку быстро накидать чтобы потестить что-то, но плюсовиков сейчас хрен найдешь, а дотнет и под ARM стало можно запускать, дотнетчиков - дохрена вокруг, вот и было принято решение, их привлекать к работе, но чет первые тесты с работой на устройствах - не впечатляют, даже в качестве вспомогательного инструмента.
Аноним 08/05/22 Вск 22:04:17 2352959 572
>>2352893
>Малинка это чтобы понимать мощности
>как оно на близком к реальному железу работать будет
Тогда совершенно непонятны твои вопросы про C#. Используй С.
Малинка не близка ни к чему вообще, это просто недоразумение.

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

>дотнетчиков - дохрена вокруг
А психологов еще больше, можно поискать среди них)

Аноним 08/05/22 Вск 22:23:20 2352968 573
>>2352959
> Ты пробовал запускать пустое приложение или консольное?
Это должен быть демон обычный, который своей фигней заниматься должен. Проблема как раз в том, что чтобы остальные демоны стартовали - этот тоже должен, ну и соответственно если эта вот хрень стартует 2 минуты, потом несколько таких будет в перспективе, то пока вся система проинициализируется - может хрен знает сколько времени пройти.
Ну и да. Это не мое решение на шарпе это все делать. Мне нужно теперь вот думать как, мать его, на малине мутить это все.
Аноним 08/05/22 Вск 23:43:35 2352992 574
как думаете, MAUI выстрелит или также будет никому не нужной, как Blazor
Аноним 09/05/22 Пнд 00:38:56 2353005 575
>>2352992
> также будет никому не нужной
Ставлю бочку солёных дотнетцов на это. Майки опоздали со своим мауи года на джва. Уже есть несколько популярных юи-фреймворков, которые в рот и под хвост выебут твой мауи.
Аноним 09/05/22 Пнд 01:00:32 2353008 576
>>2352694
>от любого нестандартного пука в сторону, и тут начинается полный балаган
довольно редкая вещь.
>а отступы находятся в C# и почему
конечно не поймешь, ведь они не должна там находиться

>>2352697
>Больше никакой ебли с хамл. Разметку ебашишь на шарпике и балдеешь
не знаю как в мауи, на андроиде у такого подхода слабая часть это превью в редакторе, ведь для нее должен выполниться сам код. Да и разметка на шарпике...выразительная мощь скоупов котлина даже не рядом, ну больше похоже на swift combine - ну на мобиле можно. а на десктопе элементов в экран влазит поболе . (ну разве что писать имбецильные мобильные приложения под десктоп


>>2352992
>как думаете, MAUI выстрелит или также будет никому не нужной
для мобил почему бы и нет. jetpack compose вышел ня и swift combine тоже неплохо, но это для мобил
Я пробовал jetpack compose для десктопа...не не не.



Аноним 09/05/22 Пнд 10:19:22 2353054 577
>>2352992
Как эта хуйня собирается конкурировать с флаттером, электроном и вот этим https://youtu.be/-X8evddpu7M я не представляю. Мертворожденный проект
Аноним 09/05/22 Пнд 10:34:39 2353056 578
>>2353054
Очевидно
Не все хотят писать на говножс и таком же дарт
Если бы не флаттер дарт нах никому не нужен
Аналогично и с жс
Аноним 09/05/22 Пнд 10:42:50 2353060 579
>>2353056
Учитывая, какой пиздец творят майки с сишарпом с 2017 года, мысль писать на современном жс/тс уже не кажется хуевой
Аноним 09/05/22 Пнд 14:24:25 2353180 580
>>2353060
А какой пиздец они творят?
Аноним 09/05/22 Пнд 14:28:23 2353183 581
>>2353060
а какой творят? выбросили половину шарпа? да нет. вроде все на месте
жалко только AppDomain и Thread.Abort
Аноним 09/05/22 Пнд 15:13:37 2353210 582
>>2352992
Не, до уровня блейзора не опустится.
Просто со временем заполнит те 0,3% рынка, которую сейчас занимает замарин, который пиздецки устарел.

Майки как обычно. Подождали несколько лет пока все ниши займут и решили начать влезать.
Аноним 09/05/22 Пнд 15:17:09 2353212 583
>>2353210
А что конкретно в замарине устарело? Вот WPF стар и что? - он все равно мощнее своих новомодных альтернатив по фичам.
Аноним 09/05/22 Пнд 19:20:34 2353412 584
Аноны, подскажите пожалуйста. Собираюсь новый компьютер покупать, сначала продав нынешний. То есть несколько дней я буду без компьютера, а продолжать учиться надо. Есть ли вариант писать на C# с телефона айфон если что? Сейчас ASP.Net прохожу.
Аноним 09/05/22 Пнд 20:20:39 2353470 585
Аноним 09/05/22 Пнд 20:22:54 2353471 586
>>2353412
>>2353470
Я серьезно, кстати. В институте мы сначала писали программу в тетрадке, а потом пытались запустить. Тест на внимательность, так сказать.

У тебя есть пару дней, чтобы все продумать. Смотри не обосрись.
09/05/22 Пнд 20:28:04 2353474 587
взлом препода.jpg 143Кб, 843x789
843x789
>>2353412
Чё ебанутый? Пару дней отдыха сделай
>>2353471
Пикрил
Аноним 09/05/22 Пнд 22:39:29 2353534 588
>>2353212
>Вот WPF стар и что?
Вот это
>в замарине устарело
потому что он ни разу не
>мощнее своих новомодных альтернатив по фичам.

Все новые фреймворки уже предлагают декларативный гуй с хотрелоадом, нормальную среду разработки на любой платформе (2/3 мобильных разрабов, даже ведроидеры, гоняют с маками) и нормальную экосистему либ.
Первые 2 пункта предлагает MAUI, третий VS для мака, четвёртый без коммьюнити не запилить.
Аноним 10/05/22 Втр 00:17:46 2353608 589
>>2353534
>Вот это
что вот это? еще раз - по фичам WPF мощнее современных замен, которые выглядят в лучшем случае как урезанный WPF, а то и вообще винформс

>нормальную среду разработки на любой платформе (2/3 мобильных разрабов, даже ведроидеры, гоняют с маками)
я думал ты про исполнение, а ты про разработку. Ну да ну да - мир это только мобилы конечно конечно. Впрочем, можно ли в студию это какие такие другие фреймворки имеют нормальную среду разработки на другой платформе
Можно ведь и не стрелять себе в ноги и не сидеть на маке. мак это как ходить с айфоном, а можно ведь не мешать самому себе.

>Первые 2 пункта предлагает MAUI
Только вот он еще не существует. И даже когда выйдет - он наследник замарина со всеми его "кастрированный WPF". Или для тебя "десктоп давно умер"?

>и нормальную экосистему либ
ммм. это о чем? причем тут WPF?

все твои аргументы не касаются мощи WPF, а относятся к сопутствующим вещам

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

А когда решил покодить под мобилу для себя, то попробовав замарин (ну ведь тот же хамл и шарп ура ура) - я в итоге выучил котлин и jetpack и юзаю их.
Только что смотрел на синтаксис MAUI (который MVU) - как и ожидалось, ограничения шарпа дают свои плоды и получится разве что на уровне свифт комбайн, а значит все равно останусь на jetpack
Аноним 10/05/22 Втр 00:37:27 2353616 590
>>2353412
C# Shell (C# Offline Compiler)
Правда там asp.net core 2.2 максимум. Но для учебы пойдет.
Есть редактор с подсветкой, компиляция. Можно собирать apk-шки или dll-ки. Для asp.net-а запускает локальный хост. Можно нюгеты дергать.
Правда для комфортной работы нужно купить (ну или спиздить), но он какие-то смешные деньги стоит (по крайней мере полгода назад стоил)
Аноним 10/05/22 Втр 00:39:31 2353617 591
>>2353412
Бля, не увидел, что у тебя пидорофон. Сорян, тогда мой совет про C# Shell отпадает.
Страдай.
10/05/22 Втр 01:46:13 2353632 592
>>2353616
> Правда для комфортной работы нужно купить (ну или спиздить), но он какие-то смешные деньги стоит (по крайней мере полгода назад стоил)
Купить ничего невозможно совершенно, только на Айфоне есть способ, и то убрали один из двух уже
Аноним 10/05/22 Втр 07:39:34 2353660 593
>>2353632
На 4пда ломаные были вроде.
Аноним 10/05/22 Втр 09:07:18 2353664 594
Что быстрее:
10 * 0.5 или 10 / 2 ?
Аноним 10/05/22 Втр 09:19:02 2353667 595
>>2353412
Скачай книжку по шарпу на телефон и почитай эти дни. Гораздо полезнее будет.
Аноним 10/05/22 Втр 09:19:36 2353668 596
Сеньйоры помидоры, могу ли я присобачить Identity UserManager в винформы на коре? Если да, то как его инициализировать (у него 9 параметров)?
Inb4: запили апи и обращайся к нему, запили свой UserManager.
Аноним 10/05/22 Втр 09:29:52 2353670 597
>>2353668
А в чем проблема-то? Для каждой зависимости манагера есть дефолтная реализация.
Аноним 10/05/22 Втр 11:17:09 2353706 598
>>2353664
Второе. В ассемблерном виде код будет следующим:

Для 10*0.5
L0000: vzeroupper
L0003: vmovsd xmm0, [0x7ffd04220458]

Сначала происходит обнуление 128 битов (16 байт) командой vzeroupper, а только потом уже присваивается значение

Код для 10 / 2:
L0000: mov ecx, 5

Тут нихуя не обнуляется, сразу перемещается число 5 в регистр.


Ответ мой очень неточный так как я не программировал никогда на ассемблере.
Аноним 10/05/22 Втр 11:24:20 2353714 599
Аноним 10/05/22 Втр 11:52:20 2353723 600
>>2353706
Но ведь си шарп не в ассемблер компилируется, а в IL-код для стековой CLR-машины.
Аноним 10/05/22 Втр 12:02:07 2353731 601
16414546622790.jpg 10Кб, 512x382
512x382
>>2353608
>все твои аргументы не касаются мощи WPF
Пиздец, сам приплёл WPF и сам же на что-то сгорел.

>Ну да ну да - мир это только мобилы конечно конечно.
Нет, но вот MAUI именно про них. Десктоп и ко там как у флаттера — пришили сбоку потому что могут, но никто не юзает (и не будет).

>все твои аргументы не касаются мощи WPF
Потому что я про него ничего и не говорил, кек.

>А когда решил покодить под мобилу для себя, то попробовав замарин (ну ведь тот же хамл и шарп ура ура) - я в итоге выучил котлин и jetpack и юзаю их.
Бля, так зачем же нужен MAUI? Ведь замарин настолько WPF В мире мобил, что даже пробитые биллибои вроде тебя с него бегут.

>ограничения шарпа дают свои плоды
Какие ограничения? Ты по синтаксису выбираешь, пчел?

>и получится разве что на уровне свифт комбайн
А ты эти базвроды в глаза-то видел?
Аноним 10/05/22 Втр 12:04:51 2353737 602
df6a82d8f778167[...].jpg 37Кб, 720x405
720x405
>>2353723
А эта виртуалка работает в вакууме?
Аноним 10/05/22 Втр 12:10:50 2353743 603
>>2353723
Вся хуйня компилируется в конечном итоге в ассемблер. C# -> IL (intermediate language) -> ASM
Аноним 10/05/22 Втр 13:03:52 2353791 604
Аноним 10/05/22 Втр 13:10:05 2353796 605
Аноним 10/05/22 Втр 13:11:19 2353798 606
>>2353743
По сути да, ассемблер, но не по факту. По факту есть виртуальная машина с виртуальным процессором, не идентичная реальному железу. Она выполняет ассемблероподобный код в своём формате.
Аноним 10/05/22 Втр 13:13:46 2353800 607
Screenshot 2022[...].png 1130Кб, 3862x1028
3862x1028
>>2353796
Компилятор в релизе меняет деление на умножение — >>2353714 судя по всему, чел на SO был прав — умножение всегда быстрее.

Аноним 10/05/22 Втр 13:15:12 2353802 608
>>2353798
А сделано это для того, чтобы
1. Избежать проблем современных архитектур. Нативный машинный код, который выполняется недостаточно быстро на реальном железе, выполняется быстрее на виртуальной машине.
2. Машинный код виртуальной машины универсален везде, где запускается виртуальная машина. Разраб один раз делает реализацию виртуальной машины на ранее неизвестной аппаратной платформе - и вуаля, весь багаж приложух становится доступен там.
Аноним 10/05/22 Втр 13:26:03 2353811 609
>>2353802
По факту они 14 лет делали CLR для линупсов
Аноним 10/05/22 Втр 13:27:52 2353813 610
>>2353664
Этому
>>2353706
и этому

>Ответ мой очень неточный
Он пиздец какой неточный.
Во первых в clr оптимизация идет не только при переводе шарп кода в IL код, но и при дальнейшем переводе IL кода в ассемблерный код конкрентного проца.
Во вторых ты изучаешь как переводятся операции с литералами в IL код. Копмилятор в этом случае будет по максиму пытаться заменить их константными значениями. Поэтому он и пихает вместо 10/2 сразу 5. Т.к. целочисленное деление 10 на 2 всегда будет давать 5. Если поставить именно две переменных и их разделить друг на друга, то выглядеть это все будте уже по другому. Он их сначала кинет на стек, потом совершит операцию и заберет результат со стека.
В третьих как я выше написал это разные действия в одном случае это действие с плавающей точкой в другом это целочисленное деление, так что результат тоже будет разный.
В четвертых большинство конечных компиляторов давно уже умеют при целочисленных операциях заменять все эти разделить умножить на 2 или 0.5 на обычный сдвиг на бит влево/вправо и в конечном итоге вообще похуй.

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

Поэтому не страдай хуйней, а изучай лучше сам шарп.
Аноним 10/05/22 Втр 16:38:46 2353944 611
image.png 141Кб, 737x720
737x720
image.png 62Кб, 627x358
627x358
image.png 14Кб, 372x240
372x240
Посаны, че он выебывается? Классы не могут быть массивами или че?
Аноним 10/05/22 Втр 16:46:44 2353946 612
>>2353944
1. Переименуй на нормальные имена
2. В исключении на втором скрине всё написано

Хоть ты и обращаешься к инициализированному массиву длинной 100, однако этот массив пуст. Грубо говоря есть 100 ящиков, но все они пустые. Соотвественно у пустого ящика (объекта класса Kniga) отсутствуют поля nazvanie, avtor, god, obyom.
Аноним 10/05/22 Втр 16:48:06 2353947 613
>>2353944
Класс это контейнер, где хранятся свойства. Ты лезешь в контейнер и где там у тебя массив?

Ты либо объявляй в классе массив, либо создавай массив из своих классов (это наверно правильнее).


Аноним 10/05/22 Втр 16:59:39 2353956 614
Аноним 10/05/22 Втр 16:59:50 2353957 615
>>2353944
Тебе нужно пройтись по всем ячейками и создать дял каждой новый экземпляр класса "kkkNigga"
Аноним 10/05/22 Втр 19:32:39 2354054 616
1652200355394.gif 2040Кб, 375x375
375x375
Аноним 10/05/22 Втр 20:14:26 2354099 617
Если запрос к серверу создается через фетч, а авторизация через куки, то нужно ли использовать антифоржеритокен? Будет ли браузер отправлять куку авторизации жертвы (same-site=Strict) если злодей делает такой же фетч со своего сайта?
Аноним 10/05/22 Втр 21:08:55 2354140 618
изображение.png 17Кб, 502x125
502x125
Поцоны, кто-то работал с dnlib?

Как заставить его детектить инструкции внутри делегатов? Код на скрине не возвращает тела делегатов совсем.
Аноним 10/05/22 Втр 21:21:12 2354150 619
>>2353731
>Пиздец, сам приплёл WPF и сам же на что-то сгорел.
да. я начал с того, что WPF по фичам лучше других. и от своих аргументов не отказывался.

>Нет, но вот MAUI именно про них
вообще то задумка мауи - привнести десктопы в замарин. А иначе бы просто сделали очередную версию замарина. Возможность писать "и на десктопах" - одна из основных причин "почему мауи"

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

>Бля, так зачем же нужен MAUI?
десктопы, батенька, десктопы. "одна UI на все системы". И решили взять за основу замарин и добавить в него десктопы.

> Ведь замарин настолько WPF В мире мобил, что даже пробитые биллибои вроде тебя с него бегут.
WPF это WPF, а замарин это замарин. Нечего их по фичам сравнивать. замарин изначально вообще проект левой конторы. Конкретно в замарин мне не понравилось
1 долгий запуск (не касается фич да)
2 на момент моей пробы физически не было возможности сделать "лонгтаплистенер" на нужно мне элементы. Я почитал советы "а ты сам напиши"
3 ну и что AppShell всегда держит первый скрин в памяти. Потом я понял что этот идиотизм и на андроиде, но было уже поздно, тем более, что в compose это не так

>Какие ограничения? Ты по синтаксису выбираешь, пчел?
это разные вещи. синтаксис это вкусовщина. А ограничения определяют дизайн кода. В compose блоки это функции и свободно манипулируешь ими, дробишь как угодно, определяешь где угодно и как угодно стейты. Гибкость невообразимая.
в шарпе и свифте это классы (структуры в свифте, но разницы нет) и вот уже ты должен определять стейты именно так, код писать именно так. Жить можно конечно. но гибкости меньше

>А ты эти базвроды в глаза-то видел?
видел. мне как то подарили айпхон + айпат + макобук с целью пересадить меня и "наставить на путь" и мой путь в мобилописание в MVU я начал именно с swift combine (ну сразу после того как в замарин уперся с лонгкликом) ибо "мне для себя и нах учить древности, поэтому только самое новое".
В итоге экосистема эпл меня запарила и я убежал обратно на андроид, а там уже котлин и compose. И я считаю compose гибче и заслуга в этом именно котлина с его скоупами, делегатед проперти и так далее.
Аноним 10/05/22 Втр 21:55:11 2354168 620
Анон, я тут учусь в бекенд на ASP.NET и задумываюсь, как мне пилить пет-проджекты. Это получается мне нужно будет где-то развернуть сервак и поднять там .NET, чтобы можно было все протестировать и показать рекрутеру в рабочем виде или как это вообще делается? Плюс для веб-приложения надо будет делать какую-то морду, это мне надо еще вдовесок учить хотя бы базово HTML, CSS и JS или можно сделать нативно в .NET'е?
Аноним 10/05/22 Втр 23:02:37 2354194 621
>>2354168
В 95% случаев достаточно будет гитхаб с этим проектом показать.
Если так уж хочешь - берешь самый дешевый сервак, либо покупаешь у провайдера статический АйПи и разворачиваешь на своей пекарне.
Относительно фронтенда. Взял бутстрап в зубы и быстро заебенил на каком-нибудь Vue по двум туториалам.
Аноним 10/05/22 Втр 23:03:56 2354197 622
zoomer-tide-pods.gif 317Кб, 498x427
498x427
>>2354150
> я начал с того, что WPF по фичам лучше других
Ты начал с того, что приравнял замарин к впф-у, пчел. Я про впф вообще нихуя не писал, ты просто порвался от своих же шизовысеров.

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

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

>десктопы, батенька, десктопы. "одна UI на все системы". И решили взять за основу замарин и добавить в него десктопы.
Молодец что ответил на свой же вопрос, есть одно но — десктопы в целом полумёртвые.

>WPF это WPF, а замарин это замарин. Нечего их по фичам сравнивать
Так эту хуйню ты начал с первого сообщения
>>2353212
>А что конкретно в замарине устарело? Вот WPF стар и что?

> шарпе и свифте это классы (структуры в свифте, но разницы нет) и вот уже ты должен определять стейты именно так, код писать именно так. Жить можно конечно. но гибкости меньше
У тебя в голове это создаёт какие-то ограничения, проблему понял.

>видел. мне как то подарили
Ок, всем похуй.
Аноним 10/05/22 Втр 23:33:31 2354214 623
>>2354197
>Ты начал с того, что приравнял замарин к впф-у, пчел
бред. ничего я не приравнивал на старте. я просто на примере WPF показал что возраст не коррелирует с "устарел выбросить".
Замарин устареет только при выходе мауи, вот только мауи - не что то совершенно кардинально иное, а выглядит как развитие замарина с добавление десктопа.

вот цитата от мелких
".NET MAUI is the evolution of Xamarin.Forms, a cross-platform mobile first framework for Android, iOS, and UWP."

>дропнуть это легасиговно...Да, именно поэтому они не могли сделать
Ага. Так не могли, настолько разные что
"You don't need to rewrite your Xamarin.Forms apps to move them to .NET Multi-platform App UI (.NET MAUI)."

>Так эту хуйню ты начал с первого сообщения
а ты перечитай. А если не понял, то я повторю - WPF стар но все равно мощнее альтернатив по фичам, в том числе и MAUI. Кроссплатформенность это одна сторона медали, а когда ты упираешься в "я не могу это сделать потому что not supported" - это уже недостаток функционала. Да, я понимаю аргумент что "WPF на линуксах вообще ничего не сделать" (впрочем на MAUI тоже не особо), но с точки зрения предоставленного функционала "хочу этакую кнопку с блекжеком и шлюхами и чтобы вот так вот и не натыкаться на "это не поддерживается" - то тут WPF мощнее других"
Сам то я WPF сменил ибо в нем не фиксят баги, но все замены только усложнят жизнь, а не принесут ничего

>У тебя в голове это создаёт какие-то ограничения,
вменяемые аргументы закончились. ясно )

>Ок, всем похуй.
как и мне. просто я, практик, спорю с теоретиком.

закрыли тему
Аноним 10/05/22 Втр 23:34:57 2354216 624
>>2354214
>Сам то я WPF сменил
фикс на "Сам то я WPF сменил бы"
Аноним 11/05/22 Срд 00:33:53 2354258 625
16421751907010.jpg 9Кб, 261x193
261x193
>>2354214
>бред. ничего я не приравнивал на старте. я просто на примере WPF показал что возраст не коррелирует с "устарел выбросить".
Единственное что WPF показывает — так это то, что десктоп просто стагнирует в полумёртвом состоянии.

А замарин показывает, что в мобилах жизнь бурлит, и проёб времени закончился тем, что уже быстрее запилить 2 нативных приложения на SwiftUI/Combine чем 1 на замарине, чего уж про флаттер и рн говорить, которые мс уже не потеснить.

>WPF WPF WPF MAUI WPF
Спок, шиз.

>вменяемые аргументы закончились. ясно )
Они появляются когда есть что аргументировать. Ты высрал что-то хуйню — вот результат.

>просто я, практик,
написавший 2 хэловорда.

Давай, уёбывай в психушку.
Аноним 11/05/22 Срд 01:06:06 2354274 626
>>2354194
>В 95% случаев достаточно будет гитхаб с этим проектом показать.
А как я без разворачивания своего сервака научусь с ним взаимодействовать в коде и вообще пойму, как оно все устроено?
Аноним 11/05/22 Срд 02:21:04 2354307 627
>>2354258
>Давай, уёбывай в психушку.
у тебя проблемы с логикой и аргументами. прыгаешь с одного на другого, а потом еще критикуешь будто я притащил, как голубь в шахматах.

А теперь еще раз по ОСНОВНОМУ ВОПРОСУ - чем "пиздецки устарел" замарин?
При всей моей нелюбви к нему - ему на замену идет мауи который выглядит так же (не удивляюсь даже что там активно переиспользовалась кодовая база) + поддержка десктопа.

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

combine/compose предлагают кардинально новый подход. мауи же брат близнец замарина. Как альтернативу там пилят MVU подход, но старый (который по твоим словам пиздецки устарел) никуда не делся.

мауи - просто эволюция замарина в сторону десктопа и MVU. Разработка для замаринцев в большей части останется прежней.

никакого "пиздецки устарел и вот вам кардинально новое" - покажи где
Аноним 11/05/22 Срд 06:16:21 2354328 628
>>2354168
1) Покупаешь самый дешевый VPS, с самым дешевым доменом. Изучаешь IIS, настраиваешь и потом напрямую из студии делаешь туда publish и можешь показывать, что хочешь, кому хочешь. Туториалов в сети полно.
2) Если ты прицеливаешься на чистый бэк, то изучи swagger. На нем, поковырявшись в настройках, можно вполне неплохую чисто утилитарную морду сделать, которая даст доступ ко всему api с описанием и позволит его конкретно пощупать.
Аноним 11/05/22 Срд 06:20:10 2354329 629
>>2354274
>научусь с ним взаимодействовать в коде
С чем ты там помимо api который сам выставляешь взаимодействовать собираешься? Тебе вообще должно быть похуй, где и как он развернут, ты просто посылаешь запросы и получаешь ответы.
Ты можешь его вообще как сервис в винде развернуть и он будет у тебя в фоне постоянно крутиться - взаимодействуйся нехочу.
Аноним 11/05/22 Срд 06:23:08 2354330 630
>>2354328
Что так сложно то. Есть же ngrok и даже как расширение к студии
И даже если vps то iis лишнее
Аноним 11/05/22 Срд 07:49:31 2354348 631
>>2354330
>ngrok
Если стоит цель выкладывания проектов для того, чтобы хрюшки и собеседователи его могли посмотреть в любой момен, то использовать для этих целей свои локальные ресурсы, пусть даже и через туннель - ну такое себе.
>И даже если vps то iis лишнее
Честно говоря хуй знает. Я пару лет назад день поковырялся, настроил себе - с тех пор оно и крутится. Когда нужно что-то выложить, просто создаю новый поддомен, жмякаю кнопку в студии и проект уже там. Работает и хуй с ним. У меня там помимо всяких тестовых проектов и проектов для резюме еще своя всякая полезная мелочь крутится. По принципу закинул и забыл.
Аноним 11/05/22 Срд 09:39:20 2354373 632
>>2354328
>дешевый VPS
>Изучаешь IIS
Дешевый vps на винде? Это фантастика. Да и зачем? Пет проект можно и голым кестрелом выставить в интернет. Ну, если хочется поебаться, то энжинксом прикрыть.
Аноним 11/05/22 Срд 09:42:27 2354375 633
>>2354099
Проснулись? Отвечайте!
Аноним 11/05/22 Срд 10:59:48 2354421 634
Не понимаю обобщения. Хочу я, значит, сделать универсальную функцию для типов Point, Vector, Vector2.
Все что мне нужно, это свойства .X и .Y — они есть у всех.
Но как только я делаю операции через этот ваш обобщенный тип T, пытаюсь достучаться чем-то вроде T.X, мне в ебало прилетает вот это:
X не является членом T
И че теперь?
Аноним 11/05/22 Срд 11:00:14 2354422 635
Вот не пойму, допустим я описал модель классом пустышкой со свойствами, а откуда там возьмутся данные? По идее надо писать ещё один класс, который хранит уже реальные данные, имеет свойства работы с ним. Куда его пихать в модель? Контроллер? Почему этот важный момент ни где не описывается толком?
Аноним 11/05/22 Срд 11:08:55 2354425 636
>>2354421
Далай интерфей IHasXAndY со свойствами X и Y. И установи ограничение на тип генерика Kek<Lol> where Lol:IHasXAndY
>>2354422
Чё?
Аноним 11/05/22 Срд 11:15:17 2354433 637
Мужики, студия перестала обновляться, это только у меня проблема или Ma$$ заблокировало РФ?
Аноним 11/05/22 Срд 11:33:46 2354442 638
00IxSGEWUE0.jpg 50Кб, 500x377
500x377
image.png 22Кб, 905x380
905x380
Аноним 11/05/22 Срд 11:39:07 2354448 639
>>2354442
Тред можно закрывать.
Аноним 11/05/22 Срд 11:43:08 2354452 640
>>2354433
с 2х часов ночи страдаю. Хост вроде не заблокирован (пингуется же) но не качает инсталляционные файлы.
Один раз при сотне перезапусков что то там начало качать, думал заработало но хер
Аноним 11/05/22 Срд 11:45:56 2354454 641
Аноним 11/05/22 Срд 11:50:54 2354459 642
>>2354422
Ты вероятно не знаком с конструкторами классов. Гугли что это, ты когда пишешь New, то при создании экземпляра срабатывает дефолтный метод внутри этого экземпляра, который и заполняет все свойствами, и вообще делает все что твоей душе угодно.

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

Несмотря на то, что ты его не писал раньше, он там есть, просто дефолтный и не делает ничего (а должен делать).

//-------------------------------
НО, ты можешь обойтись без конструктора — тогда ты должен заполнять поля класса вручную, после создания экземпляра:
MyClass HuiPizda = new MyClass();
HuiPizda.Djegurda = 666;

Но как ты понял, в случае с массивами это говно не очень удобно и придется буквальной пройтись по каждым ячейкам и назначить данные. Лучше бы это делать на ходу, а для этого и нужны конструкоры (да и вообще, чтобы каждый раз не париться с этой хуйней, особенно когда у тебя внутри этого класса куча других экземпляров класса)

Аноним 11/05/22 Срд 11:52:19 2354461 643
>>2354459
Это кал. Есть только один конструктор cons vsl
Аноним 11/05/22 Срд 11:54:40 2354462 644
16417548216301.png 203Кб, 300x283
300x283
>>2354307
>>2353534
>Все новые фреймворки уже предлагают декларативный гуй с хотрелоадом, нормальную среду разработки на любой платформе (2/3 мобильных разрабов, даже ведроидеры, гоняют с маками) и нормальную экосистему либ.
Аноним 11/05/22 Срд 11:54:55 2354463 645
>>2354461
Я недостаточно продвинут, чтобы понять данную шутку.
Аноним 11/05/22 Срд 12:13:09 2354475 646
>>2354422
>а откуда там возьмутся данные?
Из источников данных. К которым ты будешь делать запросы. А результаты запросов мапить в модели. Ручками или через маппер.

Вот этого >>2354459 не слушай. Пихать в конструктор что-либо сложнее прокидывания зависимостей или инициализации коллекций - долбоебство и признак гнилой архитектуры.
Аноним 11/05/22 Срд 12:25:39 2354488 647
>>2354475
Я для примера сказал, что в конструкторе можно все т.к. это обычная функция по сути. Просто для понимания. Но в данном случае ему как раз и нужно инициализировать коллекции (или другие экземпляры классов внутри класса).

Просто это ему надо сделать для массива из 100 экземпляров. Он забил массив экземплярами, а сами экземпляры пустые. При обращении к каждому выдает ошибку и ему придется пройтись по каждому экземпляру и забить его изначальными данными, хотя он мог это сделать на стадии конструктора.
Аноним 11/05/22 Срд 12:39:15 2354498 648
>>2354425
>Далай интерфей IHasXAndY
Ебань какая-то. Я хочу передать этой функции обычную структуру Point или Vector, а вместо этого я должен буду их приводить к интерфейсу, прежде чем передать.
Аноним 11/05/22 Срд 12:46:06 2354509 649
>>2354498
Собсно код

//Интерфейс
public interface IPoint
{
double X { get; set; }
double Y { get; set; }
}


//Метод
public static void Perpendicular<T1, T2>(T StartLine, T EndLine, ref T2 Target)
where T1 : IPoint
where T2 : IPoint
{ ... }



//Вызов не работает по причине:
//Аргумент типа "Point" не наследует или реализует строгий тип "IPoint".

{
Perpendicular<Point, Point, Point>(P1, P2, P3);
}


Аноним 11/05/22 Срд 13:31:36 2354538 650
>>2354442
Как ломануть Райдер последней версии?
Аноним 11/05/22 Срд 13:48:29 2354541 651
>>2354538
Выще писали. Или в прошлом треде
Аноним 11/05/22 Срд 14:04:55 2354557 652
>>2354538
Пост 120й этого треда
Но лучше самому с гитхабов качать а то мало ли
Аноним 11/05/22 Срд 14:18:07 2354569 653
>>2354509
>не наследует
Ну ты наследуй. Или не наследуй, выкинь генериеи и сделай перегрузки под конкретные типы как это сделано в System.Math
Аноним 11/05/22 Срд 14:51:40 2354597 654
>>2354433
В забуграх тоже не обновляется. Скорее всего тетя Лаура моет сервер обновлений, подождем.
Аноним 11/05/22 Срд 14:58:54 2354608 655
>>2354373
А зачем на винде? Все ж должно быть кроссплатформенное, нет? Я планировал накатить какой-нибудь бубунту-сервер и там крутить что мне надо.

>Пет проект можно и голым кестрелом выставить в интернет. Ну, если хочется поебаться, то энжинксом прикрыть.
Мунспик.
Аноним 11/05/22 Срд 15:01:12 2354611 656
>>2354569
>Ну ты наследуй.
Я пытаюсь упростить себе жизнь. Лучше уж конвертировать поинт в вектор, если на то пошло.

>выкинь генериеи и сделай перегрузки под конкретные типы как это сделано в System.Math
Ну вот моя функция принимает 3 аргумента, а еще есть как минимум 3 возможных типа: Point, Vector, Vector2. Это сколько мне надо сделать перегрузок, чтобы реализовать все вариации? 3^3?

Как обычно погромистский сферический маняприем не работает по факту. Держал в голове эти ваши обобщения, а когда надо, так они не применимы. Это еще надо дождаться, когда звезды сойдутся, чтобы случился определенный момент под определенным углом, чтобы обобщения заиграли светом и я воскликнул "настал ваше время, дженерики!".

Почему Object позволяет обращаться к свойствам, которые присутствуют только у его потомков, а обобщенный тип — нет? Загадка.
Аноним 11/05/22 Срд 15:07:05 2354619 657
>>2354611
А для кого Source Generator придумали?
Я кстати не понял почему вдруг не работает интерфейс ну да ладно
Аноним 11/05/22 Срд 15:08:56 2354622 658
>>2354611
но вообще я бы решал через implicit cast
Аноним 11/05/22 Срд 15:19:07 2354636 659
>>2354557
Код Райдера выложен на гитхабе? А за что они берут плату? За собранный проект?
Аноним 11/05/22 Срд 15:48:34 2354667 660
>>2354622
>implicit cast
Отсутствует в VB, но эт опо сути просто конвертер типов. Я тоже самое сделал через расширения.

>>2354619
>Я кстати не понял почему вдруг не работает интерфейс ну да ладно
Мне кажется это слишком сложно для чего-то, что должно быть простым. Это будет такая же библиотека как System.Math, которая считает перпендикуляр. И она ща будет тянуть интерфейсы за собой.
Аноним 11/05/22 Срд 15:51:57 2354671 661
>>2354636
Кряк выложен на гитхабе
Аноним 11/05/22 Срд 15:54:22 2354673 662
>>2354608
Вот и я спрашиваю зачем на винде. Тебе предложили IIS+VPS, а IIS это винда.
>>2354611
Значит ты так и не понял, что такое дженерик.
Аноним 11/05/22 Срд 17:20:24 2354748 663
У меня сработало добавить в hosts
93.184.215.201 download.visualstudio.microsoft.com

что там майки чудят блин
Аноним 11/05/22 Срд 17:40:58 2354758 664
>>2354509
Попробуй заменить на IPoint<T>
{
T X
T Y
}

Аноним 11/05/22 Срд 18:48:15 2354815 665
Как в вижле работать только с локальным репозиторием гита без гитхаба? Вижла постоянно суёт этот гитхаб, а я не хочу выкладывать на гитхаб.
Аноним 11/05/22 Срд 18:55:20 2354823 666
Поясните за блейзор, нормальная тема круды шлепать или говно без задач? Реально ли ним можно полностью заменить нативный js? Пока вижу там везде наделали немного другой синтаксис нежели в простом mvc проекте, много ли по нем информации? Блейзор онли для spa или можно и простые страницы крафтить? Мб есть у кого нормальный вводной видео курс?
Аноним 11/05/22 Срд 19:05:30 2354827 667
Где можно почитать/спиздить про архитектуру проекта? Как бы вопрос в том как дизайнить проект так, чтобы не все лежало в одном файлике на 7к строк (видел и похуже), а было распределено по паопчкам/файликам/субпроектам/солюшенам и было легко поддерживаемым кодом.
Аноним 11/05/22 Срд 19:14:18 2354833 668
Аноним 11/05/22 Срд 19:18:36 2354834 669
>>2354833
>>2354815
Так у вас разные проблемы, не?
Анон реквестит наоборот чтобы НЕ создавало гитхаб репу (честно, может не понимаю его проблему, т.к. никогда не было проблем с локальными репами), а в ишью пчел пишет о том, что он хочет создать репу в гитхабе, но та не создается.
Аноним 11/05/22 Срд 19:22:53 2354838 670
>>2354823
Минусы:
1) Нету либ (заинтегрять либу из npm не очень просто).
2) Ебалово с интеропом (просто так написать JS-скрипт нельзя).
3) Webassembly js размер бандл слишком огромный.
4) Производительность так себе.

Плюсы:
1) Кодовая база клиента и сервера шарится (переиспользование кода).
2) Стек технологий, которые необходимо знать значительно короче, чем в React/Angular/Vue мире.

Сюда по нашей конторе Блейзор использовани только для каких-то внутренних (не публичных) приложений клиента.
Аноним 11/05/22 Срд 19:26:48 2354839 671
no local git.jpg 55Кб, 752x555
752x555
>>2354834
У меня тупо нет кнопки "локальный репозиторий". Может это ограничение бесплатной версии и она только в платной?
Аноним 11/05/22 Срд 19:30:26 2354844 672
Привет господа,

Не подскажете есть ли у вас на проектах или у знакомых на слуху какие-то проекты, где блокчейн используется как инструмент для решения какой-то проблемы заказчика? Может слышали какие вообще есть реальные области применения блокчейна как инструмента для более эффективной реализации чего-либо?
Спасибо.
Аноним 11/05/22 Срд 19:33:38 2354847 673
AAAAAAAAAAAAAAA[...].png 10Кб, 453x283
453x283
>>2354839
Врем переустанавливать шиндуз
vs2022 community
Аноним 11/05/22 Срд 19:36:43 2354849 674
>>2354839
покажи окно git->settings
Аноним 11/05/22 Срд 19:46:45 2354854 675
git-settings.jpg 170Кб, 971x818
971x818
Аноним 11/05/22 Срд 19:57:16 2354867 676
>>2354854
>платная
community же, т.е. бесплатная
>Вот
Ну тогда хз.
Аноним 11/05/22 Срд 20:09:01 2354876 677
Аноним 11/05/22 Срд 20:09:13 2354877 678
>>2354854
>>2354839
Чел, ну ты чел. Получил такое окно, когда уже создана локальная репа и тогда пункт меню создания репы заменяется на пункт пуша репы.
Аноним 11/05/22 Срд 20:16:13 2354881 679
>>2354877
И как это исправить?
Аноним 11/05/22 Срд 20:18:30 2354883 680
>>2354881
Что исправить? Ты ку-ку? У тебя уже создано локальная репа.
Аноним 11/05/22 Срд 20:20:20 2354884 681
>>2354883
Как туда добавлять изменения без гитхаба?
Аноним 11/05/22 Срд 20:28:47 2354888 682
>>2354884
-Через студию (окно git changes)(очень кастрировано).
-Через лубую прогу для гита(кракен, сурстри и т.д.)(кастрировано, но для основных операций хватит)
-Через консоль гита
Аноним 11/05/22 Срд 20:32:14 2354891 683
>>2354888
Дак при нажатии кнопки "Отправить" вылазит окно с гитхабом и там нет пункта "Локальный репозиторий"
Аноним 11/05/22 Срд 20:36:46 2354895 684
>>2354891
Во-первых, возьми учебник по гиту.
Во-вторых ты не пушь делай, а коммит.
Аноним 11/05/22 Срд 20:47:15 2354902 685
>>2354895
Я не понимаю эти пуши, коммиты. У меня только кнопка "Отправить" и всё, а там выбор только гитхаб или азура.
Аноним 11/05/22 Срд 20:52:20 2354904 686
ааа.png 20Кб, 436x375
436x375
>>2354902
>Я не понимаю эти пуши, коммиты
>Во-первых, возьми учебник по гиту
Аноним 11/05/22 Срд 21:00:01 2354907 687
>>2354904
Я думал, это выпадающий список, а не кнопка. Как всегда не очевидный интерфейс вижлы...
Спасибо, теперь всё получилось без гитхабов.
Аноним 11/05/22 Срд 21:03:06 2354912 688
>>2354838
> Ебалово с интеропом (просто так написать JS-скрипт нельзя).
Спасибо анон, а вот с этого места поподробнее? Я разве не могу написать скрипт и просто в странице подключить его?
Аноним 11/05/22 Срд 22:28:37 2354941 689
>>2354844
Я работал с таким проектом. Подробностей рассказать не могу, т.к. госзаказ и НДА. Блокчейн там используется для цепочки "компоненты -> сборочные единицы -> сертификаты". Возможно еще подписание ЭЦП там завязано, но не уверен.
Насчет эффективности не знаю, не разбирался.
Аноним 11/05/22 Срд 22:33:40 2354943 690
>>2354902
>Я не понимаю эти пуши, коммиты.
Терпеть не могу работать с такими ушлепками. Если такого подключают к проекту, то начинается лютый хаос в ветках и коммитах, пока им пиздюлей не выдадут, либо не пидорнут нахуй.
Аноним 12/05/22 Чтв 02:59:35 2355009 691
>язык который не собирается без крестов
хорошо наверное работать с несамодостаточным говном?
Аноним 12/05/22 Чтв 06:28:12 2355028 692
>>2355009
Плохо. Девки не дают, пацаны на районе не уважают, родители из дома выгоняют, прохожие плюют в след. Эх, надо было ассемблер учить. Вот там сила, там дух старой школы.

Серьезно - 2К20 на дворе. Кому должно быть не похуй?
Аноним 12/05/22 Чтв 06:38:03 2355030 693
>>2354838
>>2354912
А чё с интержопом такого? Да, в нет мвц или разор страницах проще конечно, но и здесь норм
В индекс хтмл добавляешь

​    ​<​script​>
​        ​window​.​copyClipboard​ ​=​ ​(​)​ ​=>​ ​{
​            ​navigator​.​clipboard​.​writeText​(​'ОП ХУЙ'​)​;
​        ​}
​    ​</​script​>

В .разор.кс пишешь

​await​ ​JSRuntime​.​InvokeVoidAsync​(​"copyClipboard​"​);
Аноним 12/05/22 Чтв 08:07:51 2355056 694
Аноним 12/05/22 Чтв 08:46:00 2355066 695
Аноним 12/05/22 Чтв 09:08:44 2355074 696
Аноним 12/05/22 Чтв 09:13:52 2355077 697
Вопрос не совсем в тему.

Может кто-то объяснить почему разработчики читов для игр cheathappens используют .NET для своих поделок?

Писали, что у C# дела с доступом к памяти гораздо хуже, чем у Си или крестов. А тут на тебе...
Аноним 12/05/22 Чтв 09:36:33 2355081 698
>>2355077
>Писали
Кто писал? Пальцем покажи.
Аноним 12/05/22 Чтв 10:13:56 2355089 699
Не понимаю я этот ASP.NET. В книжке Фримена он жонглирует моделями, кодом, а давайте напишем так, а давайте сяк, но при этом что это и как работает он не объясняет, типа читайте дальше, где он якобы всё расскажет. Дак мне чтобы написать простой сайт надо все 800 страниц прочитать, дак я забуду начало, к тому моменту, когда дочитаю до конца. Обычно книги пишут, что можно по кусочкам разбирать материал.
Прочитал половину и пытаюсь написать сам простой сайт, но ни черта не выходит. Я просто не понимаю как связывать модели с контроллерами и представлениями. У меня есть класс пустышка, а как туда загрузить данные? У Фримена так и не нашёл места, где он туда запихивает данные, т.е. нет явных операторов new над объектом. Оно типа как-то само создается?
Почему нельзя было сделать нормально без этой неочевидной фигни? У меня горит уже от этой магии. Кто вообще этот ASP.NET придумал? Может ему самому надо лечиться, а он ещё не знает об этом, не представляет.
Аноним 12/05/22 Чтв 10:28:50 2355093 700
>>2355077
Иногда люди где-то услышат бред с одной стороны, потом бред с другой стороны, затем эти два бреда объединяют в единое целое и этой концентрированной хуйней ставят в ступор специалистов, типа "Вот известно же, что белки срут кверху жопой, но как тогда они варят кумыс?"

Да хуй знает! Ну раз делают, значит проблемы преувеличены.
Аноним 12/05/22 Чтв 10:35:16 2355098 701
>>2355081
Школьники на перемене поспорили.
Аноним 12/05/22 Чтв 10:56:12 2355110 702
i-dunno-face.png 82Кб, 600x436
600x436
>>2355081
Вот: https://2ch.hk/b/arch/2016-11-01/res/139077463.html#139085777
Мнение сеньора-разработчика из /b/

>>2355093
>Ну раз делают, значит проблемы преувеличены.
Дык, пытаться в байто-ёбство на шарпе изварт или нет? это чем-то обосновано - выбор в пользу шарпа, весто крестов и си?
Аноним 12/05/22 Чтв 11:20:08 2355124 703
>>2355110
>Дык, пытаться в байто-ёбство на шарпе изварт или нет?
Что такое байтоебство?
Аноним 12/05/22 Чтв 11:21:18 2355125 704
А что можно прямо жёстко курнуть по МВВМ. Особенно интересует момент реализации этого с БД.
Аноним 12/05/22 Чтв 11:30:04 2355133 705
>>2355110
Не хочешь вызывать сборщик мусора — используй структуры, вместо классов, не требующие после себя сборщика. Ах да, это превращается в НИУДОБНА.
Аноним 12/05/22 Чтв 11:36:42 2355136 706
StructVsClass.mp4 9539Кб, 1200x548, 00:02:24
1200x548
Аноним 12/05/22 Чтв 12:59:04 2355206 707
>>2355110
А что cheathappens это игровой движок и его задача 60 раз в секунду обсчитывать сцену?
Во многих играх вон вообще скриптование на Lua или что то подобное используется, что еще медленнее
Аноним 12/05/22 Чтв 13:04:50 2355208 708
>>2355136
Как такие тесты делать?
Аноним 12/05/22 Чтв 13:09:13 2355209 709
Аноним 12/05/22 Чтв 13:41:14 2355220 710
Аноним 12/05/22 Чтв 13:46:19 2355222 711
>>2355089
Замечательный фреймворк! Нельзя сделать, чтобы на одной странице была форма и результаты. Видите ли модель может быть только одна! Почему на РНР я как угодно могу комбинировать страницы, формы, чтобы выводить, а тут всё прибито гвоздями? И это передовая технология!? Вот реально охота плюнуть в рожу разработчикам.
Аноним 12/05/22 Чтв 13:52:07 2355224 712
>>2355222
Если тебе так стремно, зачем ты лезешь-то? Сидел бы дальше на уютном ПэХеПе и горя не знал бы.
Аноним 12/05/22 Чтв 14:13:27 2355231 713
>>2355224
Я слышал, что РНР-программистов заставляют переучиваться на сишарперов.

Но я представить не мог, что в ASP.NET всё настолько плохо.
Вот взять ViewBag. Это что такое? Они считают программиста какой-то красной шапочкой, что он должен складывать "пирожки" в корзинку, чтобы передавать данные от одной части приложения к другой? И вся привязка моделей по сути такая же "корзинка". Ладно бы тут была офигенная гибкость, но нет, всё прибито гвоздями. У меня только одна корзинка, а вторую я взять уже не могу. В итоге я вынужден подстраивать организацию веб-приложения под систему фреймворка, потому что он видите ли по-другому не умеет.
Аноним 12/05/22 Чтв 14:15:25 2355232 714
>>2355222
бред какой-то
нет никакой разницы в подходах. все RoR подобные фреймворки близнецы.
Исключение - питон, в силу его особенностей (модули) и типа Nette (на пхп) где немного другой подход (который лучше кстати и печально что в асп.нет он не такой)
Аноним 13/05/22 Птн 10:19:14 2355594 715
Блять, хуево сделали этот ваш блейзор, переделывайте.
Как мне передать на страницу компонент .razor данные со стороны сервера типа OnGet()? Я не хочу делать на каждый чих ебучее апи и контроллеры, я хочу хранить и доставать данные из сессии и инитить страницу ними при загрузке.
Почему нельзя было объединить эти подходы?
Аноним 13/05/22 Птн 12:03:47 2355649 716
>>2355594
А как ты его изучал? Книг же по нему нет
Аноним 13/05/22 Птн 12:43:31 2355678 717
Планирует ли микрософт выпускать Visual Studio for Linux?
Аноним 13/05/22 Птн 12:44:07 2355679 718
Я смотрю часто для нубов рекомендуют Моша Хамидани и у вас в шапке рекомендуют курс от O'Reilly Media. Все бы хорошо, но обе эти хуйни аж 2015 года выпуска, там еще .нет фреймворк 4.5, который уже три раза окаменел. Есть смысл учиться по этим курсам или лучше поискать что-то более новое? И где это новое можно добыть, чтобы на том же уровне качества подачи?
Аноним 13/05/22 Птн 12:46:42 2355680 719
>>2355678
Вроде как на хую они линуксоидов вертели. Поэтому на пингвине только райдер.
Аноним 13/05/22 Птн 12:48:07 2355681 720
>>2355649
спросил он в интернете )
Аноним 13/05/22 Птн 13:25:44 2355695 721
>>2355680
Я слышал, что микрософт любит линупс
Аноним 13/05/22 Птн 13:40:49 2355703 722
>>2355695
Вот только это не касается GUI
даже в их новомодном мауи они линукс не хотят делать
Аноним 13/05/22 Птн 14:26:46 2355723 723
image.png 17Кб, 621x424
621x424
image.png 479Кб, 1280x720
1280x720
Двач, как-то не удобно даже спрашивать, но я завалился на классической задаче сортировки.....
И я не знаю как сделать сортировку наиболее эффективным образом.

Анончик, отчитай меня!
Аноним 13/05/22 Птн 15:34:50 2355772 724
>>2355679
Если тебе чисто язык с нуля, то вполне. Если язык знаешь и нужен advanced левел, то ищи что поновее.
Аноним 13/05/22 Птн 16:05:36 2355794 725
Аноним 13/05/22 Птн 17:08:17 2355860 726
>>2355723
Анана по жопе тапкой!
Быстра пшол в гугл смотреть готовые реализации сортировки деревьев!
Аноним 13/05/22 Птн 17:13:47 2355865 727
>>2355723
> отчитай меня
Могу ещё вычитку произвести (читать нараспев, по церковному):
Гооосподи Боже святый всесущий всеведующииииииий
Ныне и присно избави раба божьего Анонимаса от тупняка в его головееееее
И ниспошли ему откровение как древа цифровые ему отсортироваааааать
И чтобы он перестал на двачах вниманиеблядствовааааааааать

Аноним 13/05/22 Птн 19:28:28 2355948 728
Почему string a = 1 + "" работает, а string b = 1 не работает?
Аноним 13/05/22 Птн 19:43:59 2355962 729
45cc23dc3effa66[...].png 103Кб, 600x654
600x654
>>2334153 (OP)
Сап, дотнетогоспода.
Нубыч здесь.
Поясните, пожалуйста, за практическое применение следующей хуйне:
1) Небезопасный код
2) Модификатор extern
3) Рекорды (records)
И если на реальной работе применяли, расскажите вкратце про ситуацию, где это может применяться.
Спасибо
Аноним 13/05/22 Птн 20:18:31 2355980 730
>>2355962
1 - например при обработке изображений может применяться, для существенного ускорения.
2 - ни разу не попадалось
3 - если архитектура по DDD, тогда полезно.
Аноним 13/05/22 Птн 20:25:34 2355982 731
>>2355962
Какие то странные вопросы.
1 небезопасный код вызывать понятно зачем - а как еще использовать то, что не написано на шарпах, хотя бы тот же винапи. Если это вопрос про unsafe, то это оптимизации ибо разница значительная. Тем более в до-span-овую эпоху. И даже спаны это медленнее из-за лишних проверок.
2 хз. ну он нужен для вызова внешних функций. А значит никуда без него. Для обычного чела, что не пишет биндинги - все равно время от времени пишет свой класс NativeMethods (если кодит под десктоп) для вызова винами и пасется на сайте https://www.pinvoke.net/
3 иммутабельная херь. Мне будет полезна при многопотоке. мелкие давно выкатили иммутабле пакет, но там только коллекции и вручную кодирование иммутабельных классов напрягает. Конечно рекорды не полные классы, но все же уже лучше.
Аноним 13/05/22 Птн 20:38:46 2355986 732
>>2355962
>Небезопасный код
Оптимизация говна из жопы. https://www.youtube.com/watch?v=JB_6NslNDVg&ab_channel=CODEBLOG
>Модификатор extern
Когда надо вызвать метод из C++ DLL-ки например, ну или из любой другой dll. Гугли p/invoke
>Рекорды
Нужно, чтобы не изменить случайно то, что не должно измениться. Просто удобная фича для того, чтобы код было приятнее писать. По сути как модификаторы доступа, как бы можно все сделать public, но это неудобно с точки зрения разработки.

Аноним 13/05/22 Птн 21:38:14 2356016 733
u30TNFvzP-g.jpg 387Кб, 1772x2048
1772x2048
>>2355962
>Небезопасный код
Ну, вот выжал ты все из алгоритмов, а все еще медленно, у пидорасов что на плюсах пишут в 10 раз быстрее при более хуевых алгоритмах - берешь в зубы и хуяишь.
> Модификатор extern
Ну вот купили давно в вашей конторе либу на плюсах, либа всем либам либа, только вот те у кого купили сдохли, теперь у вас есть либа и желание ее в шарповский проект вхуячить, т.к. своя реализация годы займет - берешь и хуячишь.
> Рекорды
Ну вот надо тебе гонять данные и быть увереным что просто так они не изменятся - вот бери рекорды и хуячть. DTO те же самые, оч удобно.
Аноним 13/05/22 Птн 22:02:24 2356020 734
>>2355723
Держи наиболее оптимальную сортировку!
void Sort<T>(T[] input, Func<T, T, int> comparer, out T[] sorted)
{
int l = input.Length;
sorted = new T[l];
input.CopyTo(sorted, 0);
for (int i = 0; i < l - 1; i++)
{
for (int j = i+1 ; j < l; j++)
{
if (comparer(sorted, sorted[j]) >= 0)
{
T temp = sorted;
sorted = sorted[j];
sorted[j] = temp;
}
}
}
}
Аноним 14/05/22 Суб 08:02:07 2356103 735
>>2355678
Тогда у некоторых компаний исчезнет причина покупать винду, оно им надо? А визуалку по цене винда+визуалка покупать вообше не будут.
Аноним 14/05/22 Суб 08:06:22 2356105 736
>>2355948
Потому что в первом случае 1 приводится к строке автоматически, а во втором это инт, можно писать 1.toString()
Аноним 14/05/22 Суб 08:13:34 2356107 737
>>2356105
> 1 приводится к строке автоматически
Почему? А почему char + int будет int?
Аноним 14/05/22 Суб 08:18:30 2356110 738
>>2356107
Когда в выражении первый или второй член (точно не помню правила, можешь поиграться) является строкой, то всё выражение приводится к строке. А char это не строка.
Аноним 14/05/22 Суб 10:03:01 2356136 739
Аноним 14/05/22 Суб 10:03:43 2356138 740
Решил начать изучение Entity Framework, а там какие-то танцы с бубном, чтобы поработать с базой данных. Мне почему-то казалось, что в таких средах как Visual Studio всё должно работать в стиле нажать кнопочку "Подключить базу данных".
Аноним 14/05/22 Суб 10:08:43 2356140 741
Есть кнопка и её событие, как внутри события получить доступ к свойствам данной кнопки, чтобы поменять их данные? В параметре sender вроде как должна быть инфа, но ничего кроме базовых методов там нет Нафига оно вообще надо?, а в e слишком много вложенных свойств
Аноним 14/05/22 Суб 10:36:38 2356152 742
>>2356140
кастуй сендер к баттону
Аноним 14/05/22 Суб 10:39:15 2356153 743
Аноним 14/05/22 Суб 10:46:24 2356156 744
>>2356153
Если уверен, что обработчик прикреплен к кнопке, то так
var button = (Button)sender;
если может быть другой источник события, то
if(sender is Button button){
button...
}
Аноним 14/05/22 Суб 11:32:38 2356179 745
Аноним 14/05/22 Суб 11:34:27 2356181 746
Почему когда я объявляю локальную переменную Point (System.Windows), то я могу в дальнейшем присваивать ее свойствам .X, и .Y значения:
Point CurPoint = new Point();
CurPoint.X = 10;


Но если у меня в экземпляре класса есть свойство типа Point, то я уже не могу отдельно менять .X, и .Y — они становятся чем-то вроде ReadOnly, при этом пометки таковой нет, но компилятор ругается, что присвоить им ничего нельзя. Что-то похожее есть во всяких свойствах .Location контролов — там ты не можешь отдельно изменить одну из осей.

Почему так?
Аноним 14/05/22 Суб 12:35:35 2356200 747
biolokacziya-2.jpg 25Кб, 768x551
768x551
2022-05-1412-19[...].png 4Кб, 674x91
674x91
2022-05-1412-17[...].png 5Кб, 683x114
683x114
2022-05-1412-14[...].png 4Кб, 673x103
673x103
>>2356181
Официально, бенчмарк дот нет — это пикрил(1).
Сделал три замера и везде результат разный. Хрен с ним со временем, это может быть в рамках погрешности, но чому Rank меняется?

А еще
CurPoint.X = 10; CurPoint.Y = 10;
по времени тоже самое и порой даже медленнее, чем
CurPoint = new Point(10,10);

И ответ почему нельзя менять отдельно свойство .X, если поинт находится в классе, я так и не нашел.
Аноним 14/05/22 Суб 13:31:20 2356222 748
Как сделать так, чтобы при нажатии на кнопку, она не подсвечивалась?
Аноним 14/05/22 Суб 14:16:38 2356244 749
>>2356222
Конструировать свою кнопку. Я вообще делаю на основе любого другого элемента, типа canvas. Только там нет события клика — они разбиты на ButtonDown и ButtonUp. Ну и последующий гемор, например пользователь может зажать кнопку мыши на одном элементе, сдвинуть курсор и отпустить кнопку мыши на другом элементе.

Но умные люди говорят, что надо все это дело сооружать на xaml, делать свой стиль. Я пока не дошел до этого. Где-то даже есть пример переделки всего мультибокса.
Аноним 14/05/22 Суб 14:20:21 2356246 750
>>2356181
Неужели лучше срать в тред, чем прочитать базу по шарпу? Потому что поинт это структура, т.е. значимый тип. Ты из свойства получаешь копию.
Аноним 14/05/22 Суб 14:21:22 2356247 751
>>2356244
Так если речь про впф, то можно просто темплейт кнопки изменить.
Аноним 14/05/22 Суб 14:27:49 2356254 752
>>2356244
>Конструировать свою кнопку. Я вообще делаю на основе любого другого элемента, типа canvas
Зачем? Если это WPF (или иже с ним), то там основной принцип что "как работает" отделено от "как выглядит" и настраивать внешний вид элемента по своему есть норма
Аноним 14/05/22 Суб 14:27:55 2356255 753
>>2356244
Звучит сложно и страшно
Аноним 14/05/22 Суб 15:18:00 2356274 754
>>2356181
Потому что у тебя в твоём классе Point это скорее всего проперти, т.е ты получаешь КОПИЮ структуры и хуй ты чё поменяешь в оригинале. Если так хочется внутри класса менять, то сделай Point приватным филдом и к нему прикрути проперти для доступности этой стракты наружу класса.

Это сделано как костыль от выстрела себе в хуй.
Аноним 14/05/22 Суб 15:59:56 2356287 755
>>2356255
Ну вот потому и предложил шатать другой элемент, типа image, canvas или panel. У тебя будет по сути плоское что-то без каких либо паразитных подсветок и эффектов, к которому ты так же привязываешь события по клику мыши, добавляешь иконки и свою подсветку.

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

>>2356254
>>2356247
Да про это я и писал выше. Но я по какой-то причине органически не перевариваю html\xml-подобную разметку, как будто у тебя есть автомобиль, у которого не поворачивает руль вправо. Это надо сесть и погрузиться конкретно в эти дела.
Аноним 14/05/22 Суб 17:07:08 2356307 756
>>2356287
> Но я по какой-то причине
по причине визуального шума конечно же
я как гляну на хамл портянку - уууу
но все же читается на порядок легче чем код.
Аноним 14/05/22 Суб 20:28:48 2356453 757
Я с шарпом вашим деграднул знатно.
Пиздец. Попросил знакомый, что еще в универе учится написать простенький Make-файл. И пиздец. Я не помню как это делается. Часа 4 все либы подключал и вспоминал как там инклуды на плюсах подрубить.
Как же хуево. Мозг просто разжижается от этих ваших нугетов и прочего говна.
Аноним 14/05/22 Суб 21:18:54 2356484 758
>>2356453
> Я с шарпом вашим деграднул знатно.
Значит перестал жрать засохшее говно страуса, поздравляю.
> Make-файл
Хуета нечитабельная. Один раз написал универсальный под структуру проекта и таскал его потом везде. Чем сложнее процесс билда, тем больше магии в этом мейке. И ладно примитивный написать просто, но чтоб он каждый раз не пересобирал заново и не приходилось хардкодить сорцы это надо изъебнуться.
> Часа 4 все либы подключал и вспоминал как там инклуды на плюсах подрубить.
Так большинству похуй, они абсолютный путь указывают и мейком это как-то собирают, тупа хардкодя имена сорцов. Нет чтобы по-человечески сделать.
Аноним 14/05/22 Суб 21:57:38 2356499 759
Сап. Ну, выучил я немного основы шарпа, вплоть до коллекций и linq. Несколько программ с бд на wpf написал. Можно наверное дальше двигаться, ASP.Net учить, получается?

Разумеется я сам нагуглю инфу и про метатнит конечно знаю. Но если вы можете что-то на эту тему из собственного опыта подсказать чё где как учить, мне бы это лишним не было
Аноним 15/05/22 Вск 01:40:29 2356642 760
>>2356499
Могу посоветовать professorweb.ru, там хоть C# и старых версий, но тему изучается более углубленно.
Аноним 15/05/22 Вск 14:19:07 2356842 761
Используете ли вы Async суффикс в именах асинхронных действий контроллера? С одной стороны принято добавлять суффикс к асинхронным методам, с другой использование nameof() для создания путей, генерирует не очень красивые пути example.com/comment/AddAsync/. Ну тип нахрена светить вовне асинхронный у тебя обработчик или нет.
Аноним 15/05/22 Вск 14:47:14 2356854 762
Мне нужна помощь тех, кто разрабатывал внутренния приложения для компании или предприятия (CAD-системы, системы управления ценообразованием, автоматизация планирования, ERP, WMS).
Расскажите, какая архитектура была у этих приложений, откуда какие данные шли и какие инструменты использовались при разработке?
Аноним 15/05/22 Вск 16:43:58 2356893 763
>>2356842
>использование nameof() для создания путей
Ты совсем больной?
15/05/22 Вск 16:47:18 2356896 764
>>2356842
> Используете ли вы Async суффикс в именах асинхронных действий контроллера?
Да
> использование nameof() для создания путей, генерирует не очень красивые пути example.com/comment/AddAsync/.
Ну так не делай так, лол
Аноним 15/05/22 Вск 17:15:21 2356909 765
>>2334153 (OP)
Допустим, у меня есть грид 10 на 10. Возможно ли как-то работать с ним, как с массивом? Обращаться к элементу контейнера по индексам, не зная название?
Аноним 15/05/22 Вск 17:16:07 2356910 766
image 160Кб, 1778x1584
1778x1584
1. Почему статический метод класса String.Format(...):
String Format(IFormatProvider? provider, String format, params object?[] args)
и метод инстанса например Int32.ToString(...):
String ToString(string? format, IFormatProvider? provider)
работают по разному и дают разный результат? Хотя по смыслу ожидаешь строго идентичного поведения.
См. приложенную картинку.

2. Есть ли какой-то вообще смысл в том, как сейчас устроен IFormatProvider? Он принимает Type и возвращает Object. Т.е. имеем и рефлексию и отсутствие типизации. Зачем оно так сделано в строго типизированном языке? Это ж уровень джаваскрипта и питона.
Аноним 15/05/22 Вск 17:46:55 2356933 767
>>2356642
Спасибо анон, не знал о нём <3
Аноним 15/05/22 Вск 18:01:37 2356942 768
Допустим, у меня есть грид 10 на 10. Возможно ли как-то работать с ним, как с массивом? Обращаться к элементу контейнера по индексам, не зная название?
Аноним 15/05/22 Вск 19:17:41 2356994 769
>>2356942
Всё, понял, произошёл затуп
Аноним 15/05/22 Вск 20:16:10 2357038 770
>>2356896
>>2356893
А какие варианты? Хардкодить стринги? Запилить константы и вешать атрибуты ActionName() на все методы?
Аноним 16/05/22 Пнд 00:03:46 2357176 771
>>2357038
ничего не делать. асп знает про суффикс Async
Аноним 16/05/22 Пнд 00:39:06 2357192 772
>>2356910
Все дело в методе GetFormat.

>Он принимает Type и возвращает Object
В нем в параметре formatType указывается, что нужно вернуть

string.Format ожидает что вернется что то реализующее ICustomFormatter - и только ему принадлежит метод Format

А ToString() у инта ожидает что тот вернет NumberFormatInfo (региональные настройки форматирования числа),

"Параметр provider — это объект, реализующий IFormatProvider интерфейс. Его GetFormat метод возвращает NumberFormatInfo объект, предоставляющий сведения о формате, зависящее от языка и региональных параметров, о формате строки, возвращаемой этим методом. "

например

new NumberFormatInfo() { NegativeSign = "~" };

и он ничего не знает про ICustomFormatter и его метод Format

>Зачем оно так сделано в строго типизированном языке
ну родилось оно еще в первом дотнете, а дженерики позже подвезли.
Аноним 16/05/22 Пнд 13:03:05 2357347 773
А можно в аргументах метода установить ограничение по размеру массива?

Мне вообще-то нужно что-то вроде структуры Thickness из четырех свойств, но только применительно к четырем углам прямоугольника (Rect не предлагать, это не то).
Аноним 16/05/22 Пнд 13:22:30 2357355 774
>>2357347
Создай
public struct NotRect : INotRect

а в конструкторе public MyClass(INotRect notRect)



Аноним 16/05/22 Пнд 13:27:53 2357356 775
>>2357355
Да блин, я думал есть стандартные.
А зачем реализовывать интерфейс? Можно же просто структуру.
Аноним 16/05/22 Пнд 13:28:30 2357357 776
>>2357356
>Можно же просто структуру.
Имею ввиду просто public struct NotRect
Аноним 16/05/22 Пнд 13:37:01 2357359 777
>>2357356
>Да блин, я думал есть стандартные.
Так и это есть стандартное. При передаче массива или списка подразумевается, что количество данных там неопределенно.

>А зачем реализовывать интерфейс? Можно же просто структуру.
Привычка.
Аноним 16/05/22 Пнд 14:05:00 2357374 778
16443357390180.jpg 148Кб, 622x615
622x615
Позиция треда по .NET MAUI ?
Аноним 16/05/22 Пнд 14:10:58 2357376 779
image.png 328Кб, 500x560
500x560
>>2355860
>Быстра пшол в гугл смотреть готовые реализации сортировки деревьев!
Угу-Угу

>>2356020
Спасибо анон, это лучшее что я смог найти!
Аноним 16/05/22 Пнд 15:01:45 2357402 780
>>2357347
Кортежи можешь юзать, если не хочешь сам обёртку для данных писать
Аноним 16/05/22 Пнд 15:21:12 2357406 781
Аноним 16/05/22 Пнд 15:41:58 2357422 782
>>2357402
А кортеж можно ограничить по числу элементов? Мне-то нужно сообщить пользователю метода, что нужно передать четыре параметра.

Ладно, я уже сделал свою структуру.
Аноним 16/05/22 Пнд 17:41:05 2357459 783
>>2357422
кортеж, как и любой класс с конструктором или структура с конструктором, потребует этим конструктором задать все значения, коих 4 штукенции
Аноним 16/05/22 Пнд 17:42:25 2357460 784
>>2357422
Картеж тут не поможет

Картеж хорош для возврата значений

(bool ok, string result) MyFunction()

Потом делаешь var c = myFunction(),

И потом легко получаешь доступ к t.ok и t.result без лишних движений.
Аноним 16/05/22 Пнд 18:01:25 2357467 785
>>2357460
А я всегда передавал аргументы по ссылке, если нужно было возвратить больше одного значения.
Аноним 16/05/22 Пнд 19:50:51 2357508 786
А можно разом создать массив с новыми экземплярами в каждой ячейке?
Аноним 16/05/22 Пнд 20:35:22 2357534 787
>>2357176
И как сделать чтоб он отсекал асинк?
<form method="post"
asp-route="someRoute"
asp-action=@nameof(KekController.LolAsync)

выдаст .../LolAsync/..
Это же дичь. Как минимум эстетически.
Аноним 16/05/22 Пнд 22:28:19 2357597 788
>>2357534
это из-за твоего желания использовать nameof
должно быть asp-action="Kek/Lol"
Аноним 16/05/22 Пнд 22:31:57 2357598 789
>>2357597
Ну так я и говорю, значит хардкодить.
Аноним 16/05/22 Пнд 23:04:56 2357615 790
1652731496040.jpg 44Кб, 720x540
720x540
>>2357374
> Позиция треда по .NET MAUI ?
Сколько десятков тысяч строк в десятках манифестов там генерируется, чтобы написать хеллоуворлд? Напомни, а то я запямятовал.
Аноним 17/05/22 Втр 05:09:39 2357678 791
>>2357598
угу там все на конвенциях. не самое лучшее решение
Можно написать свои хелперы, которые отсекут Controller/Async
Аноним 17/05/22 Втр 05:15:57 2357679 792
Аноним 17/05/22 Втр 08:33:45 2357723 793
Аноним 17/05/22 Втр 09:24:34 2357741 794
Аноны, есть ли в asp net core/блейзоре какой-то механизм изподкоробки для получения ошибок с сервера или надо пилить велосипед? Вот у меня есть круд, клиент отправляет через Http.PostAsJsonAsync на контроллер сервера данные для добавления нового пользователя - как мне вернуть назад и посмотреть на клиенте сообщение что такой пользователь уже существует? Где-то есть пример как это белые люди реализуют?
Аноним 17/05/22 Втр 09:39:26 2357746 795
>>2357422
> А кортеж можно ограничить по числу элементов?
Он всегда ограничен, до 16 максимум кажется. По-сути кортеж это просто структура, которая объединяет n переменных, ничего более. Ты с таким же успехом можешь в отдельном файле сделать свою структуру.
Как выше уже писали, их удобно юзать как контейнер для возвращаемого результата. Но также можно и в качестве аргумента передавать, не то чтобы это сильно удобно и красиво, но можно.
> Мне-то нужно сообщить пользователю метода, что нужно передать четыре параметра.
Пойдет любая структура с конструктором, который принимает твои 4 параметра, в том числе кортеж.
Аноним 17/05/22 Втр 09:40:53 2357747 796
>>2357746
Хотя нет, спиздел про ограничение до 16, с другим попутал.
Аноним 17/05/22 Втр 10:45:43 2357782 797
Анон, подскажи, можно ли на .Net Core WebApi создать такую штуку, чтобы можно было маршруты на лету создает.
Например запускаю я сервер и у меня наружу выставлен один только маршрут POST \api\CreateRoute
Я ему в бади отсылаю имя нового маршрута (например MyNewRoute), тип и образец того, что он должне отдавать (джейсончик какой-нибудь например)
И если все норм, то на этом сервере появляется еще один маршрут GET /api/MyNewRoute который будет отдавать то, что я задал.
Цель сделать мок сервис для тестов, который можно конфигурировать на лету, без пересборки и перезапуска сервака.
Аноним 17/05/22 Втр 14:12:51 2357951 798
image.png 45Кб, 632x361
632x361
Аноним 17/05/22 Втр 14:59:09 2357996 799
>>2357951
Развивай мышление. Найди и устрани. Изи же.
Аноним 17/05/22 Втр 15:20:16 2358015 800
>>2357951
Я не понимаю что такое comparer, что это за дичь, откуда ее брать?
Аноним 17/05/22 Втр 16:31:10 2358071 801
>>2358015
его передадут извне.
Аноним 17/05/22 Втр 16:33:57 2358073 802
>>2357951
а какой смысл делать out параметр? религия?
Аноним 17/05/22 Втр 16:36:12 2358075 803
>>2358015
Comparer - это Func<T, T, int>
Func<T, T, int> - это любая функция вида int F(T t1, T t2)

Подразумевается, что это функция получит два объекта и вернет -1, если t1>t2, 0 если t1=t2 и 1 при t1<t2.
Аноним 17/05/22 Втр 16:58:01 2358092 804
>>2358075
А можно нормальную сортировку, без бубнов с подразумевания...

я вот вообще не понял как это работает

Я хочу красивый метод где в одному метсе одним параметров входит не отсортированный, а в обычном старом добром сишном ретурне выходит отсортированный.

Мне алгоритм нужен а не псевдоСахар.

ну или поясни в чем фича.
Аноним 17/05/22 Втр 17:08:26 2358095 805
>>2358092
>выходит отсортированный.
сортированный по какому признаку? сортировка она разная бывает
Аноним 17/05/22 Втр 23:17:05 2358266 806
Безымянный.png 23Кб, 554x215
554x215
Не могу понять, почему метод Sort() у списка не сортирует его, объясните плез почему.
Аноним 17/05/22 Втр 23:21:17 2358268 807
>>2358266
Понял, всё он сортирует, но по возрастанию просто
Аноним 18/05/22 Срд 08:13:19 2358354 808
изображение.png 29Кб, 367x223
367x223
Юзаю ентити с постгрее. При добавлении .ToList() пикрелейтед бросает NpgsqlOperationInProgressException.

Как мне тогда преобразовать запрос в лист?
Аноним 18/05/22 Срд 08:54:29 2358359 809
>>2358354
Уже починил, надо было просто ToList() раньше делать, сразу после места где был запрос в бд. А в пикрелейтеде у меня уже преобразование полученных из бд сущностей в объекты бизнес логики
Аноним 18/05/22 Срд 14:32:32 2358523 810
>>2358092
> поясни в чем фича
Метод анона универсальный. В этом фича. Туда подаётся на вход два массива специализированного под требуемый тип и функция сравнения под этот тип. И метод сортирует что угодно.

Пойми, типом могут быть абстрактные конструкции, которые сравниваются по сложным алгоритмам. Метод анона легко обработает такие типы.
Аноним 18/05/22 Срд 15:35:42 2358553 811
>>2358523
А чё не квиксорт а пузырь позорный?
Аноним 18/05/22 Срд 15:50:49 2358566 812
>>2358553
Это у автора поста надо спрашивать.
Аноним 18/05/22 Срд 16:43:46 2358613 813
Как на асп нет коре узнать причину статус кода 500 на клиенте, если в контроллере нормально проходишь дебагером return Ok(сущностьнейм);
Аноним 18/05/22 Срд 16:46:30 2358616 814
И в try/catch эксепшена нету.
Аноним 18/05/22 Срд 17:13:41 2358644 815
>>2358613
>500
В логах смотреть.
Аноним 18/05/22 Срд 19:53:52 2358726 816
Аноним 18/05/22 Срд 19:55:24 2358727 817
>>2358613
В фильтрах смотри значит
Аноним 18/05/22 Срд 20:20:16 2358747 818
FQxhQDDaUAYOf2r.jpg 753Кб, 2464x3280
2464x3280
Хм. Хм.
Допустим есть ряд железок уровня малинки.
Вооот.
Допустим у меня есть приложение, которое может к этим малинкам обращаться. На разных малинках - разное ПО крутится. Какие-то используются чтобы включать лампочки в подъезде, какие-то для того чтобы поливалку в огороде. Часть - следит за температурой и влажность в ванне и включает вентиляцию. Ну и какие-то еще хотелось бы присобачить для того чтобы можно было настроить разогрев чайника по таймеру, чтобы еду я домой, а оно мне уже горячий чайник вскипятило, а я чайку попил.
Ну, собственно, у меня есть сервер домашний с белым АйПи к которому я могу подключиться. Проблема на стороне малинок. Суть, я использовал готовые решения для всяких модбасов, чтобы этим всем управлять. Ну, и собственно столкнулся с тем, что мне приходится на стороне моего сервера - дублировать эти вот протоколы, но уже на шарпе. А т.к. я шарп люблю - возникло острое желание - и в малинках его крутить.

Собственно и вопрос-то в чем. Кто-нибудь подобное делал? Насколько это жизнеспособная система? Т.е. условно одна библиотека с реализацией протокльной части для устройства и сервера. С телефончика я услоно шлю по рест-апи на сервер запрос, допустим вида: [post]{"command":"switch_relay", "device_id":10, "delay":"00:00:30", "commandId":"1"}; сервер уже - преобразует это в запрос по протоколу - отправляет на устройство, а потом мне по веб-сокету - на телефоне приходит уведомление, что что команда принята на исполнение, а после этого еще и что выполнена. При этом протокол у устройства и сервера - на шарпе написан и соотвтетственно в малинке - дотнет. Что может пойти не так и вообще, что думаете об этом?
Аноним 18/05/22 Срд 21:29:40 2358785 819
>>2358747
>Что может пойти не так и вообще, что думаете об этом?
Запустил ты чайник с работы, приезжаешь, а дом сгорел.
А если серьезно то уже года 3 нет проблем с запуском .net core на малине. Можно напрямую, можно в докере (правда я не в курсе как там из докера с доступом к gpio). Из явных подводных долгий холодный старт и потребление памяти, но в твоем случае это не должно быть сильным минусом.
Аноним 18/05/22 Срд 23:09:09 2358856 820
Мне нужно сделать графическое приложение, что-то вроде базы данных. Я предполагаю сделать блок, на котором будут некоторые другие элементы, в которых будут записаны данные (типа ячейки таблицы). Нажав на некий элемент интерфейса, пользователь должен мочь создать копию такой панели с точно такими же элементами интерфейса, как и первый, но со значениями по умолчанию. Такие в C# возможно, чтобы в ходе работы программы в окне появлялись и исчезали элементы интерфейса? Как такое сделать?
Аноним 19/05/22 Чтв 04:23:31 2358932 821
>>2358856
>возможно, чтобы в ходе работы программы в окне появлялись и исчезали элементы интерфейса?
Да
>Как такое сделать?
Изучить какой-нибудь фреймворк вроде WinForms или WPF в зависимости от твоих потребностей.
Аноним 19/05/22 Чтв 11:44:22 2359044 822
Нафига они в каждой версии всё перелопачивают так, что невозможно ничего сопоставить со старой? Сейчас пытался выполнить пример из книги, а мне фиг с маслом, потому что всё по другому. Ничего не работает и не компилируется даже. Что за бред вообще?!
Аноним 19/05/22 Чтв 11:57:01 2359051 823
Каким образом работать в EF, когда есть таблицы без первичного ключа? Допустим, временная таблица для чеков, накладных или прочей хероты.
Аноним 19/05/22 Чтв 12:20:35 2359058 824
>>2359044
не бери книжку по дотнет 1.1
уже как бы дотнет 6
Аноним 19/05/22 Чтв 12:58:15 2359087 825
>>2359058
Дак нет книжек по дотнет 6. Ещё не написали.
Аноним 19/05/22 Чтв 13:09:32 2359104 826
.png 133Кб, 325x400
325x400
Аноним 19/05/22 Чтв 13:12:15 2359106 827
>>2359104
Это пустая книга и я уже прочитал по 8 версии. Знаний из неё извлёк очень мало.
Аноним 19/05/22 Чтв 13:21:17 2359118 828
Читаю Фримена и он выдаёт такие портянки невразумительного кода:
builder.Services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration["Data:SportsStoreProducts:ConnectionString"]));
Что это? Куда это? При этом у меня это не компилируется, потому что метода UseSqlServer просто нет.

Вот нахрена так писать, что ничего не работает. Нельзя было сделать проще? Обязательно надо сделать всё через длинные портняки непонятного кода?

ASP.NET вообще такая параша. Что он вообще упрощает? Надо заучивать миллионы такой вот хрени, чтобы запустить простое веб-приложение, когда на том же РНР тоже самое достигается парой строчек абсолютно понятных команд.
Я вот просто не знаю как его изучать. Все старания разбиваются об стену того, что ничего невозможно сопоставить. В книге пишут одно, на деле совершенно другое. В каждой версии разрабы-придурки ещё раз 100 всё поменяют, чтобы гарантировано ничего не работало. Какой-то бред...
Аноним 19/05/22 Чтв 13:23:19 2359119 829
>>2359118
>UseSqlServer просто нет
Надо Entity Framework подключить вроде
Аноним 19/05/22 Чтв 13:26:44 2359125 830
Аноним 19/05/22 Чтв 13:47:51 2359138 831
>>2358747
> Что может пойти не так и вообще, что думаете об этом?
Серверный скрипт гораздо короче клиентского. Ради 3.5 строчек кода тянуть тяжелый дотнет на портативную железку я бы не стал. Наверняка в этих ваших малинках есть портативные сервера искаропки, я бы потратил энное время в часах, но не более пары дней на изучение имеющихся искаробочных решений и просто сделал бы клиент на шарпе. И протокол свой, с требуемыми типами запросов и ответов. И реализовал бы его на сервере скриптами. И всё.
Аноним 19/05/22 Чтв 13:55:48 2359143 832
>>2359118
> Обязательно надо сделать всё через длинные портняки непонятного кода?
Вот тут с тобой согласен. В книгах надо писать подробно расписывая всё по строчкам для новичков и опционально в конце давать однострочный вариант. Как-то так:

> HurrDurr builder = new HurrDurr();
> DBOptions options = new DBOptions();
> config = Configuration["Data:SportsStoreProducts:ConnectionString"];
> options.UseSqlServer(config);
> builder.Services.AddDbContext<ApplicationDbContext>(options);
Or if you're not derp:
> builder.Services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration["Data:SportsStoreProducts:ConnectionString"]));
Аноним 19/05/22 Чтв 14:54:51 2359172 833
Аноним 19/05/22 Чтв 17:17:00 2359271 834
Поцоны поцоны. Вот мне надо выполнять некие действия раз в некое время. Генерировать и писать в Бд случайные числа
Ну в пшп это крон. А в АСП нет коре что? Нагуглил Quartz.NET. Его нормальные пацаны юзают чи есть что другое по проще и по лучше?
Аноним 19/05/22 Чтв 17:28:49 2359282 835
>>2359271
> чи есть что другое по проще и по лучше?
Я бы на твоём месте отталкивался от платформы, на которой у тебя АСП-сервер крутится. В ней, стало быть я бы вызвал стандартный для платформы планировщик, тот же крон для линукса. И далее по накатанной.
Аноним 19/05/22 Чтв 17:32:27 2359283 836
Аноним 19/05/22 Чтв 18:17:49 2359311 837
Думал, сейчас подрублю NET Core 3.1, чтобы писать спокойно примеры из книжки, но они всё выпилили уже. Пользуйся, этим корявым NET 6! Гады просто!
Аноним 19/05/22 Чтв 19:33:36 2359374 838
>>2359311
кто выпилил? ставь и страдай.

>>2359271
примитивный HostedService с вечным циклом и Task.Delay
Аноним 19/05/22 Чтв 19:55:05 2359386 839
>>2359374
Микрософты. Есть только 3.1 рантайм, а инструментов разработчика 3.1 нет.
Аноним 19/05/22 Чтв 20:04:20 2359394 840
Аноним 19/05/22 Чтв 20:07:52 2359396 841
>>2359394
А вижла её найдёт? Мне надо, чтобы ещё шаблоны создавала старые, а не из 6 версии, где всё испортили.
Аноним 19/05/22 Чтв 20:12:53 2359401 842
>>2358932
А на что именно мне оттуда может пригодиться? У меня не так много времени, чтобы учить всё.
Аноним 19/05/22 Чтв 20:32:08 2359414 843
>>2358856
Я забыл упомянуть, что эта "БД" должна быть просто локальной программой, никакого майэскеля там не нужно, никаких браузеров и веба. Только простая локальная программа и всё.
Аноним 19/05/22 Чтв 20:50:07 2359425 844
Как из кода XAML добавить объекту событие, которое находится в каком-то классе кода C#?
Аноним 19/05/22 Чтв 21:10:32 2359435 845
>>2359425
Вызывать этот какой-то класс из вьюмодели, которую ты к хамлу забиндил, например
Аноним 19/05/22 Чтв 21:18:46 2359440 846
>>2359396
С шаблонами скорее всего будет облом, впрочем надо ставить и смотреть. Я этого за тебя делать не буду. В самом тяжёлом случае, просто скачай шаблоны с форумов каких-нибудь МСДН-шных.
Аноним 19/05/22 Чтв 21:49:18 2359464 847
>>2359396
А в чем смысл некрофилии?

дотнет 6 это коре 3.1 + сверху
Аноним 19/05/22 Чтв 22:05:34 2359471 848
>>2359396
> Мне надо, чтобы ещё шаблоны создавала старые, а не из 6 версии, где всё испортили.
Вот ещё тебе совет из гугла:
1. Создаёшь проект такой командой: dotnet new имяшаблона --framework net5.0
2. Открываешь файл csproj
3. Меняешь <TargetFramework>net5.0</TargetFramework> на <TargetFramework>net6.0</TargetFramework>
4. Профит.
Аноним 19/05/22 Чтв 22:12:34 2359476 849
Сап, у меня вопрос!
The C# Player's Guide - какое на данные момент актуальное издание?
Хватит ли b2 лвл, чтобы осилить? Или стоит почитать перевод?
Если будет линк на актуальную pdf + тебе в карму анон. Спасибо!
Аноним 19/05/22 Чтв 22:17:44 2359479 850
>>2359471
ну в 22 поправили для асп.нет коре проектов эту хероту и там при создании можно поставить галку
Аноним 19/05/22 Чтв 23:40:30 2359525 851
Аноним 20/05/22 Птн 01:15:05 2359553 852
Аноним 20/05/22 Птн 06:33:35 2359599 853
>>2359271
Если у тебя там логики особой нет и выполнение не критично - то >>2359374 про примитивный хостед сервис, ну или можешь свой планировщик. Ну или если это на линуксе - дать крону запускать скрипт.
Если у тебя веб-приложение и вот нужно чтобы кластеры-хуястеры и надежно - Hangfire
Аноним 20/05/22 Птн 09:40:04 2359653 854
Фримен и микрософты - козлы! Один всякую хероту пишет непонятную, другие всё меняют постоянно так, что старый код не работает.
Второй день бьюсь и не могу его примеры с базой запустить. Абсолютно ничего не работает.
Аноним 20/05/22 Птн 09:57:51 2359668 855
>>2359271
Кварц, нормальная тема.
Аноним 20/05/22 Птн 10:11:38 2359672 856
>>2359051
https://docs.microsoft.com/ru-ru/ef/core/modeling/keyless-entity-types?tabs=data-annotations

Либо тупо через чистый sql, в принципе так даже быстрее. Т.к. обычно работа с такими таблицами идет по следующей схеме: "Закинуть сырые данные" -> "Изменить/связать сырые данные с актуальными" -> "Перекинуть их в целевую таблицу"
Такое проще единым sql запросом делать либо напрямую из кода, либо как хранимую процедуру дергать.
Аноним 20/05/22 Птн 10:14:52 2359673 857
>>2359311
Ну не пизди, а. На днях только 2022-ю студию поставил, все там есть. И сдк и шаблоны.
Аноним 20/05/22 Птн 10:18:19 2359675 858
Аноним 20/05/22 Птн 10:20:10 2359676 859
image.png 32Кб, 1105x730
1105x730
>>2359311
Вот пример, что в 22-й студии все есть
Аноним 20/05/22 Птн 10:22:18 2359678 860
vs2022inst.jpg 152Кб, 1275x721
1275x721
>>2359673
>>2359676
А как установить? У меня только рантайм доступен.
Аноним 20/05/22 Птн 10:25:37 2359680 861
Аноним 20/05/22 Птн 11:13:19 2359701 862
image.png 11Кб, 466x303
466x303
Всем привет.
Нужно предотвратить случай, когда 2 пользователя пытаются одновременно оплатить заказ.
Сейчас делаю, как на скрине, оба платежа прерываются.
Если делаю transaction.Rollback(), то ошибка "This SqlTransaction has completed; it is no longer usable.".
Нормальное решение или нет ? Если нет, то подскажите, как реализовать ?
Аноним 20/05/22 Птн 11:33:34 2359712 863
>>2359701
Это не должно быть проблемой, ты используешь статический класс? Покажи как имплементирована бизнес логика.
Аноним 20/05/22 Птн 11:35:02 2359715 864
>>2359701
И вообще, нахрена тебе там транзакция, для простого добавления рекорда создавать транзакции не нужно, ентити сам это делает.
Аноним 20/05/22 Птн 11:52:01 2359730 865
image.png 53Кб, 978x349
978x349
>>2359712
Для добавления использую статический метод.
Транзакцию убрал.
Аноним 20/05/22 Птн 11:59:22 2359734 866
>>2359730
А где собственно проблема кроме попытки роллбека выполненной транзакции?
Аноним 20/05/22 Птн 12:00:49 2359736 867
>>2359712
Кстати в обоих случаях оказывается оба платежа проходят. Думал мб поставить как-то в EF уровень изоляции serializable.
Аноним 20/05/22 Птн 12:07:34 2359739 868
>>2359736
Я не понимаю проблему, если не хочешь что бы добавлялись одновременно сделать статический класс и очередь, нет не делай статический класс и очередь. можешь нормально объяснить в чем проблема?
Аноним 20/05/22 Птн 12:19:35 2359753 869
>>2359701
Зачем ты вызываешь DIspose, если он автоматически вызовется при выходе из using?
Аноним 20/05/22 Птн 12:21:24 2359759 870
image.png 56Кб, 921x222
921x222
>>2359739
Ну если одновременно отправить 2 запроса на сервер чтобы обновить одну и ту же запись в таблице (снять деньги со счета), то оба запроса обработаются. Пробовал добавлять таблицу, в которую заносятся счета, которые в данный момент используются в операции и проверку (используется ли сейчас счет), но при одновременном запросе это не помогает.
По идее ведь изоляция транзакций уровня serializable должна решить эту ситуацию, но хз пока, как в EF её настроить, чтобы проверить.
Аноним 20/05/22 Птн 12:23:14 2359764 871
>>2359753
Забей, я еблан, показалось, что это каким-то чудом помогло, но на самом деле нет
Аноним 20/05/22 Птн 12:34:18 2359780 872
>>2359764
Скинь текущий код, который не работает, тогда
Аноним 20/05/22 Птн 12:49:05 2359798 873
image.png 337Кб, 599x599
599x599
>>2359759
Я все еще не понимаю, в чем проблема сделать очередь?
У тебя же статический класс.
Аноним 20/05/22 Птн 13:34:57 2359847 874
>>2334153 (OP)
Аноны , на связи зеленый джун. Написал тут простенькое wpf приложение на работе. Как сделать так , чтобы после развертывания приложения при помощи установщика можно было обновлять версии приложения без переустановки программы?
Аноним 20/05/22 Птн 13:47:11 2359860 875
2022-05-2013-46[...].png 6Кб, 624x140
624x140
Можно при отладке проекта, попутно запускать какую нибудь еще прогу, кроме основной?
Аноним 20/05/22 Птн 13:57:45 2359874 876
2022-05-2013-56[...].png 14Кб, 584x551
584x551
>>2359847
Насколько я видел в других прогах, отдельным приложением работает проверяльщик — он стучится на сервер и если там есть новый апдейт, то он скачивает его и переустанавливает основную программу.

1. Основная программа при старте запускает проверяльщик
2. Если проверяльщик нашел что-то новое на твоем сервере, то спрашивает у пользователя разрешение на установку.
3. Если пользователь соглашается, то проверяльщик закрывает основную программу, скачивает обновление, переустанавливает, запускает основное приложение и закрывает себя.

Так же и эррор репортинг часто находится отдельным экзешником (все это, конечно находится в основной директории, а не разосрано в програм файлс)
Аноним 20/05/22 Птн 14:04:13 2359881 877
C# Semaphore.mp4 1962Кб, 608x1080, 00:00:59
608x1080
>>2359759
Семафор
Тик-ток дети на месте. Меня автор тоже бесит..
Аноним 20/05/22 Птн 14:19:27 2359901 878
>>2359881
Ну я это для теста делал. В реале ведь к базе вообще с разных устройств будет обращение.
Аноним 20/05/22 Птн 14:23:23 2359908 879
>>2359874
Спасибо большое ,всех благ тебе ,анончик
Аноним 20/05/22 Птн 14:31:06 2359918 880
>>2359908
Еще проверку на существование других экземпляров программы проверь, а то мало ли — пользователь не сохранил работу и все похерится.
Обычно программы требуют пользователя закрыть все проекты перед обновлением. Например вижуал студия.
Аноним 20/05/22 Птн 18:33:12 2360154 881
есть инфа от инсайдеров, что MAUI взлетит и займет 40% рынка мобилок
Аноним 20/05/22 Птн 19:10:30 2360169 882
>>2360154
А книжки напишут по MAUI?
Аноним 20/05/22 Птн 19:57:10 2360210 883
Блин, а там вышла книжка "Spring в действии" за 2022, а книжки "ASP.NET в действии" свежей нет.
Аноним 20/05/22 Птн 20:24:58 2360232 884
>>2360154
> есть инфа от инсайдеров, что MAUI взлетит и займет 40% рынка мобилок
Нет инфы.
Аноним 20/05/22 Птн 20:40:06 2360240 885
>>2359701
Всмысле один заказ?
В таком случае в реальном мире выносят это дело на сторону базы. А как ты хотел? Вешаешь constraint и триггеры, делаешь хранимку по оплате, которая должна падать, если товар уже оплачен, избегая таким образом блокировок накладываемых сверху транзакцией.
Аноним 20/05/22 Птн 21:21:27 2360273 886
1653070884820.png 90Кб, 902x727
902x727
1653070884842.png 130Кб, 962x767
962x767
1653070884843.png 129Кб, 1085x757
1085x757
1653070884844.png 1533Кб, 2304x1440
2304x1440
>>2360154
Есть инфа, что ты уже сегодня можешь создавать полнофункциональные кроссплатформенные приложения уровня пикрелейтеда на стабильном и документированном UI-тулките.

https://github.com/picoe/Eto
Аноним 20/05/22 Птн 21:43:58 2360287 887
Как же жопно в шарпе объявляются свойства. Нет дефолтного Set и Get.
В VB есть волшебное слово и никакого визуального мусора.
Property Var as Integer = 5

А еще я сегодня узнал, что можно один проект на шарпе написать, а другой на бейсике и вместе это работает. Какой я у мамы молодец, непонятно нахуя, но забавно ломать пустой мозг.
Аноним 20/05/22 Птн 21:45:19 2360288 888
>>2360273
Это что, возврат в виндовс формс?
Аноним 20/05/22 Птн 22:00:39 2360299 889
>>2360287
>Как же жопно в шарпе объявляются свойства. Нет дефолтного Set и Get.
Ты тупой?

public string PropertyName {get;set;}

или

public string PropertyName
{
get
{
if(...) ///
}
set
{
// if(...)
_propertyName = value;
}
}
Аноним 20/05/22 Птн 22:15:09 2360304 890
>>2360299
Ты разве не видишь, что {get;set;} это далеко не property?
Чисто механически слово набирать проще, чем микс из слов и символов. Да, можно юзать помощник VS, который поле конвертирует в свойство, но все равно я считаю пососной реализацией. Я помощник использую только для конвертации в полноценное свойство, как у тебя на втором примере.

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

Зато у вас int вместо Integer.
Аноним 20/05/22 Птн 22:24:09 2360314 891
>>2360288
Ни в коем случае. Твои любимые зумер баззворды MVVM и XAML там есть.
Аноним 20/05/22 Птн 22:49:53 2360325 892
>>2360154
>есть инфа от инсайдеров, что MAUI взлетит и займет 40% рынка мобилок
Не взлетит и не займет. Этот ваш ксамарин - раздутый, сложный медленный и ну очень долго запускается. И всратый ксамл вместо всем знакомого html, с убогой поддержкой css. А еще майки его сознательно кастрировали, лишив поддержки линукса, чтобы виндовс у них лучше продавался. Мертворожденная технология, причем намеренно. Типа, си-шарперу будет быстрее изучить условный реакт, получив при этом больше скорости и кросплатформенности, чем понять, как там ваш маюай делать.

>>2360169
>А книжки напишут по MAUI?
Это просто переименованная новая версия ксамарина. Уже миллионы книжек написаны.
Аноним 20/05/22 Птн 22:55:34 2360329 893
>>2360325
> си-шарперу будет быстрее изучить условный реакт
Вот с этого момента поподробнее, плиз. Давно присматриваюсь к нему, но никак руки не доходят. Есть годные гайды/туториалы для быстрого вката?
Аноним 21/05/22 Суб 00:39:45 2360362 894
>>2360287
>А еще я сегодня узнал, что можно один проект на шарпе написать, а другой на бейсике и вместе это работает.
Через какую же задницу ты гланды удалял изучал VB и C# если этого не знал. Это буквально одна из базовых особенностей .net-а
Аноним 21/05/22 Суб 00:42:28 2360363 895
>>2360273
Не, ну вот первый пик на мой взгляд очень охуенный. Все просто как топором вырублено, без всяких пидорских завитушек, скруглений и прочей поебени. Люблю этот старый win3.11 стайл
Аноним 21/05/22 Суб 02:58:52 2360381 896
>>2360325
>И всратый ксамл вместо всем знакомого html, с убогой поддержкой css
Нашел что сравнить
html - чисто язык разметки, а xaml - выражение кода через хмл.
Аноним 21/05/22 Суб 03:12:21 2360383 897
>>2360325
>получив при этом больше скорости и кросплатформенности
и необходимость выучить и знать еще один язык, причем язык уродливый. а еще 100500 тулзов к нему. всего лишь ))))))

>>2360329
>но никак руки не доходят
и пусть дальше не доходят. не перегружай голову. занимайся чем то одним.
Аноним 21/05/22 Суб 09:06:04 2360430 898
>>2360362
Я знаю про промежуточный язык IL, но я думал это удобно для переваривания операционной системой конечного продукта.

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

Вот взять DLL, а там не все так универсально. Библиотека на .net идет нахуй т.к. она управляемая. Вот тебе НО.
Аноним 21/05/22 Суб 11:56:15 2360516 899
enum.png 20Кб, 659x190
659x190
Почему я не могу сделать ИЛИ для двух значение енума?
Аноним 21/05/22 Суб 11:58:36 2360517 900
>>2360430
>К тому же, в теории там что-то совместимо, а на практике даже в конкретном языке может встретиться какое
Во первых полной 100%-й совместимости в разных платформах не бывает нигде и никогда.
Во вторых для решения этих вопросов и был придуман CTS. Если твои поделия ему соответствуют, то они будут совместимы.
>>2360430
>которое перечеркивает все, типа как запрет наследования.
Это вообще мимо, т.к. решение, что запечатать принимает разработчик.
>>2360430
>С чего бы и тут не стоял бы какой нибудь менеджментский припон?
Ага, еще жидорептилоидов приплети.

Аноним 21/05/22 Суб 11:59:16 2360519 901
>>2360516
Наверное потому, что он у тебя не флаговый.
Аноним 21/05/22 Суб 12:12:39 2360527 902
>>2360517
>что запечатать принимает разработчик
Не важно кто и почему, важно что в итоге возникает преграда, обрубающая определенные возможности. И вопросы уровня "а ты и не знал, что .net совместим" — хуета. Возмущает сам факт обвинения меня в том, что я посмел усомниться в совместимости.

>Ага, еще жидорептилоидов приплети.
При чем тут жидорептилоиды? Я просто пишу, что в 90% случаев всплывает какая-то хуйня, которая делает невозможным совместимость, потому я даже и не пытался совместить проекты на разных языках.
Аноним 21/05/22 Суб 12:35:33 2360533 903
pupa.png 5Кб, 397x88
397x88
>>2360519
Не. Так можно делать с любым енумом. Но почему-то через генерик не даёт.
Аноним 21/05/22 Суб 12:51:06 2360537 904
>>2360533
Генерик это вообще весьма частный случай. Я так же не смог через генерик достучаться к свойствам. У меня был поинт и вектор, и у обоих есть свойство .X, нот хуй там.
Аноним 21/05/22 Суб 13:20:29 2360551 905
>>2360537
Да ты-то дурак, не мог нормально иерархию сотворить и ограничения поставить.
Аноним 21/05/22 Суб 13:20:44 2360553 906
Если есть асинхронный метод, ToListAsync, который возвращает Task, то как из него вытащить собственно сам получившийся Лист?
Аноним 21/05/22 Суб 13:26:12 2360557 907
>>2360553
var result = await Huy.ToListAsync()
Аноним 21/05/22 Суб 13:36:10 2360566 908
Пока получилось так, может есть подводные и хз, что с производительностью, но вроде работает.
Спасибо, двач, как всегда не помог.
Аноним 21/05/22 Суб 13:36:28 2360567 909
sss.png 33Кб, 776x269
776x269
Аноним 21/05/22 Суб 13:46:41 2360575 910
>>2360567
Чет, глядя на твой код, сдается мне, что ты неправильно енамы юзаешь.
Аноним 21/05/22 Суб 14:17:07 2360595 911
>>2360575
Ну тот код это просто для тестирования. А так задача простая: провалидировать значение енума. С нефлаговым все просто: IsDefined<T>. С флаговым сложнее: надо, чтобы для enum Foo { A = 2, B = 4}, значения -1,0,1,3,8... определялись как недопустимые и валидатор мог работать с любыми енумами. Вот и ебусь. Не я знаю про способ !value.ToString().All(char.IsDigit), но плодить строки это же фу.
Аноним 21/05/22 Суб 14:56:11 2360627 912
Вопрос больше к тем, кто уже работал по специальности, желательно в том числе за бугром. Насколько важно знать что-то из фронтенда? Встречаю весь спектр мнений от "нихуя" до "в совершенстве знать всё + какой-то фреймворк". Спрашивают ли эти знания при приеме в джуны, нужны ли они уже в процессе работы? Если да, то что именно действительно стоит учить?
Аноним 21/05/22 Суб 15:09:52 2360631 913
Аноним 21/05/22 Суб 15:17:45 2360634 914
>>2360551
Какую иерархию? Это уже готовые структуры. Мне предлагали свое делать, а так каждый дурак сможет и без этих ваших обобщений.
Аноним 21/05/22 Суб 15:19:20 2360635 915
Кто может на примере winforms пояснить, как реализовывается mvvm паттерн? Я никак понять не могу, где должна быть каждая из этих трех частей, как должна выглядеть и как сообщаться с остальными частями.
Аноним 21/05/22 Суб 15:22:59 2360638 916
>>2360627
Тащемта секретов тут нет. Чем мельче контора, тем меньше сотрудников в шате, тем сильнее им необходим универсал. Ну и зарплата и качество знаний по каждому вопросу там меньше.

Я думаю, что в теории ты должен знать все огульно, а дальше углубляешься во что-то конкретное. Стартовать тебе все равно придется с шарашек.
Аноним 21/05/22 Суб 16:40:44 2360675 917
>>2360635
никто. ибо для винформс мввм не подходит. там подходит MVP
Аноним 21/05/22 Суб 18:35:11 2360741 918
Аноним 21/05/22 Суб 19:19:44 2360773 919
Есть диалоговое окно wpf, в котором можно указать и папку и файл одновременно?
Аноним 21/05/22 Суб 20:21:57 2360820 920
>>2360773
Зачем? Почему по очереди нельзя?
Аноним 21/05/22 Суб 20:58:24 2360840 921
>>2360820
Представь, что у тебя на клавиатуре вместо одной кнопки delete, будет delete folder и delete file. Удобно? Ну вот, мне надо, чтобы пользователь указал, что ему нужно удалить: это может быть файл, а может быть папка, а может все вперемешку.
Аноним 21/05/22 Суб 21:14:16 2360849 922
Кто нибудь наблюдал баг 2019й, когда невозможно работать окном свойств wpf? Кликаешь по любому свойству и окно коллапсируется. Иногда спустя время очухивается, а иногда нет.
Аноним 21/05/22 Суб 22:21:26 2360886 923
>>2360849
Да. Но решилась это апдейтом студии
Аноним 22/05/22 Вск 04:48:17 2360987 924
>>2360773
у WPF вообще беда с этими диалогами
https://github.com/dotnet/wpf/issues/438

из представленного там...
- винформс OpenFileDialog может мультивыбрать, но отдаст только имена файлов
- https://www.codeproject.com/Articles/5255769/Csharp-Select-FolderDialog-for-NET-Core-3-0 если убрать флаг FOS_PICKFOLDERS и добавить FOS_PICKFOLDERS, то можешь мультивыбрать, но получение результата нужно переписывать. Как? хз
- ookii-dialogs-wpf там типа уже сделано получение мультирезультата, но если убрать FOS_PICKFOLDERS, то все равно ((IFileOpenDialog)dialog).GetResults(out IShellItemArray results); возвращает только файлы. Так что тоже тупик. Там еще есть ((IFileOpenDialog)dialog).GetCurrentSelection но хз че с этим делать.

так что ничего нету.
Аноним 22/05/22 Вск 11:11:43 2361049 925
Что лучше изучать: джаву или сишарп?
Аноним 22/05/22 Вск 11:17:00 2361051 926
Аноним 22/05/22 Вск 11:25:24 2361052 927
Пацаны. Помогите спроектировать правильно библиотеку для работы с TCP/IP
Смотрите какие сущности я вижу:
IAcceptor - тут все просто, метод Accept - принимает входящие соединение
IConnection - собственно само входящее соединение, имеет метод Open, Close, Input - стрим из которого приложение получает данные этого самого соединения, Output - тут приложение пишет данные и потом под капотом реализующий соединение - отправляет их куда-то
С этим понятно, аксептор нужен для сервера, IConnection - используется и сервером и клиентом.

Но дальше - я придумал выделить сущность IProtocol, которая нужна для того чтобы можно просто было ждать именно Сообщений.
И вот тут уже чет проблемы.
Как я это видел:
interface IProtocol<TMessage, TContext>
{
Task<TMessage> ReceiveMessage(Stream input, TContext context, CancellationToken ct);
Task Send(Stream output, TContext context, CancellationToken ct);
}

И меня смущает во первых - контекст. Я TContext использую, т.к. некоторые протоколы - Stateful и в зависимости от текущего состояния сессии - нужно всякое разное делать, в том числе - при парсинге - учитывать, что этот поток байт вообще этого протокола чи нет.
Во-вторых, то что оно вот так вот размазано. Потому что в коде который я вижу в интернете от, бессомненно, более умных и талантливых людей, обычно просто есть TCPServer, TCPSession и сбоку TCPClient, там просто хендлеры на Receive, Send, а протоколы делаются путем наследования и создания уже внутри клиента или сессии своих особенных штук.
Аноним 22/05/22 Вск 11:44:48 2361058 928
>>2361052
>Пацаны. Помогите спроектировать правильно библиотеку для работы с TCP/IP
А чем встроенная плоха?
Аноним 22/05/22 Вск 12:02:33 2361062 929
>>2361058
Тем что слишком низкоуровнево.
Я хочу в конечном счете получить что-то типа:

var application = TcpServerBuilder
.Use<SocketListener>(80)
.UseProtocol<HttpProtocol>()
.MapMessages(m => MyApplicationRouter.Map());
application.Run();
Аноним 22/05/22 Вск 12:16:35 2361066 930
>>2361051
Меня пугает обилие синтаксического сахара в сишарпе, который надо будет заучивать и в каждой новой версии они ещё накидывают. А вот джава медленно меняется и учить надо меньше и можно по старым книжкам, которые хорошо всё разжёвывают.
Аноним 22/05/22 Вск 12:47:49 2361084 931
>>2361066
>и учить надо меньше
и, как следствие, использовать. Там где шарпист обойдется 1 строкой - на жаве будешь городить огород, причем не всегда этот огород будет эквивалентен.
Аноним 22/05/22 Вск 12:58:45 2361089 932
>>2361084
Я когда вижу какой-нибудь LINQ, то мне сразу становится плохо.
Аноним 22/05/22 Вск 12:59:06 2361090 933
>>2361066
Тебя, по хорошему, должно пугать только то, что шарп все еще детище MS и эти черти слишком уж любят ломать через колено то к чему уже привыкли и что работает, просто потому что один из управленцев решил получить повышение, протолкнул какую-то хуйню и теперь вот у нас так. А вы как-то живите с этим.
Времена начала времен кора - оч это иллиюстрируют, когда нам сказали - теперь вы JSON'ами пользуетесь, потом - ой, чет json-хуйня, давайте обратно к XML. Или куча фигни - сломать, чтобы потом героически починить.
В жаве в этом плане - такое происходит реже и постепенно.
А синтаксис и прочее - ну, это конечно важно, но на самом деле - нихуя. Учится оно по мере использования, и учится на самом деле быстро.
Аноним 22/05/22 Вск 13:02:16 2361092 934
>>2361089
А что там такого в LINQ-то? Обычный Fluent(https://ru.wikipedia.org/wiki/Fluent_interface) если мы про обычное использование. В старом варианте - там да, инородная хуйня, похожая на SQL, но тем кто с SQL знаком - даже удобнее было.
Аноним 22/05/22 Вск 13:23:13 2361100 935
>>2361089
ну так готовь капельницу. в жава тоже есть такое - Java Stream API
но да - там ДОХРЕНА чего нет.
Аноним 22/05/22 Вск 16:12:24 2361187 936
>>2360595
>провалидировать значение енума.
Зачем валидировать флаговый enum ?
Ты работаешь только с теми битами которые ты в нем определил, на остальные тебе должно быть насрать. Даже если там, что-то левое приходит, просто не учитываешь это и все.
Аноним 22/05/22 Вск 17:04:20 2361230 937
Учил C#, сгорел ноут, на нетбук (1 ядро х32, 2гю памяти) visual studio вставать отказался, где можно побомжекодить
Аноним 22/05/22 Вск 17:06:50 2361233 938
>>2361230
Я пробовал на vs code, но конечно не так удобно как в вижле.
Аноним 22/05/22 Вск 19:06:07 2361312 939
udm2ji.jpg 32Кб, 600x595
600x595
enm.png 16Кб, 929x286
929x286
>>2361187
Ну вот так вот получилось. Кстати стоковый EnumDataTypeAttribute проверяет, но там вообще ух. Сначала енум упаковывается в обжект, потом конвертится в андерлаингТайп, который преобразуется в строку. Потом в строку преобразуется енум и сравниваются две строки на равенство. В общем от того, что майки сами не смогли со своими енумами ничего придумать мне полегчало и я тоже оставил у себя проверку через строку
Аноним 22/05/22 Вск 19:10:27 2361316 940
>>2360381
> xaml - выражение кода через хмл
Что ты такое блять несешь?.webm
Аноним 22/05/22 Вск 21:19:39 2361369 941
>>2361316
>блять несешь?
просвещение в массы.

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

В отличие от хтмл, который никакого отношения к коду не имеет вообще, и потому в нем "выражайся как хочешь - плоди свои тэги, пиши какие угодно атрибуты, вкладывай что хочешь во что хочешь - запретов нет"
Аноним 22/05/22 Вск 21:48:52 2361377 942
image.png 285Кб, 1890x965
1890x965
>>2334153 (OP)
Дорогие Сеньёры-Помидоры СИшарписты, требуется помощь блядским XAML`ом.
Суть такая: делаю курсовую, нужно нашкодить систему управление складомна самом деле складами, но мы опустим эту подробность .
Пытаюсь впендюрить Listbox для вывода бд со списком товаров на складе ,впендюриваю её в StackPanel. В самом StackPanel есть разметка, так вот, эта разметка ебёт мозги и не работает, Вот скриншот со всем эти калом, помогите пожалуйста
Аноним 22/05/22 Вск 21:55:19 2361380 943
>>2361377
по коду не понять что изобрести пытаешься
какой то грид в гриде и с чего вдруг TextBlock в DataTemplate должны видеть все эти Grid.Column

что вообще должно быть в итоге то. картинками.
Аноним 22/05/22 Вск 22:06:19 2361388 944
image.png 444Кб, 985x666
985x666
>>2361380
Конкретно пытаюсь изобрести табличку как на пикреле. TextBlock в DataTemplate мне предложил сама VS, а грид в StackPanel я нахуевертил потому что подумал, что оно сработает. Ну и по поводу привязок блоков к колонне грида - VS не поругалась на это, поэтому предположил, что сработает
Аноним 22/05/22 Вск 22:10:51 2361390 945
>>2361388
Кто запрещает взять DataGrid или ListView(с GridView) если нужна скорость?
Аноним 22/05/22 Вск 22:30:10 2361401 946
>>2361390
Препод посоветовал организовать это через ListBox, ибо можно сделать темплейт по которому новые данные будут отображаться автоматически
Аноним 22/05/22 Вск 22:33:41 2361402 947
>>2361401
что это значит? Я бы понял еще если бы разные шаблоны для разных данных (хотя это может любой списковый компонент), но из картинки этого не следует - там обычная таблица
Аноним 22/05/22 Вск 22:36:25 2361403 948
>>2361402
Это была аргументация моего преподавателя, я вообщее в XAML`е не смыслю поэтому и приполз за советом
Аноним 22/05/22 Вск 22:46:18 2361411 949
>>2361388
>VS не поругалась на это
она не будет ругаться на это - это всего лишь дополнительное свойство, которое интересно гриду когда он думает как расположить вложенные компоненты.

>>2361403
> аргументация моего преподавателя
хз о чем он.
листбокс плохо подходит для создания таблицы. это нужно лепить гриды с SharedSizeGroup. Но зачем??? Если не нужны полностью разные строки, то бери DataGrid - он для этого и придуман.

Аноним 23/05/22 Пнд 04:40:40 2361544 950
Работяги, Кто-нибудь делал urn://smev-gov-ru/xmldsig/transform? Поделитесь пожалуйста
Аноним 23/05/22 Пнд 09:45:15 2361589 951
2022-05-2309-26[...].png 5Кб, 666x128
666x128
2022-05-2309-38[...].png 9Кб, 1040x186
1040x186
Как же я проигрываю с клоунского сишарпа. Когда ты добавляешь себе точку с запятой не потому что логически необходимо, а для того, чтобы мимикрировать под стадо "уважаемых пацанов". Схуя ли форматирование студии заставляет перенести открывающую скобку метода на следующую строку? В 2000х вот за такой перенос, как на пикрил, били по ебалу, насколько я помню.

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

Казалось бы, вот он плюс точки с запятой в шарпе, но нет, кек. Конечно, это не приведет к другим последствиям, но факт примечателен. Точка_с_запятой-бляди, зачем вы ее носите с собой?
Аноним 23/05/22 Пнд 10:15:27 2361598 952
>>2361589
>Казалось бы, вот он плюс точки с запятой в шарпе, но нет, кек
к жава этих претензий у тебя нет?
Аноним 23/05/22 Пнд 10:45:34 2361611 953
>>2361589
Тоже интересует этот вопрос. Я не вижу причин, почему не могут сделать парсер, который разбитает код на токены перед компиляцией, такой, чтобы ему не требовались знаки препинания.
Если я пишу:
> string a = "abc" int b = 123
То очевидно же, что есть способ распарсить эту строку на две переменные, и точка с запятой там не нужна.
> using System using Forms namespace Foo { class Bar { string a int b = 10 bool c Bar(string newA) { if (newA.Length > 0) { c = false a = newA } } } }
Всё прекрасно разделяется на токены без точек с запятой. Ящитаю, это дань традиции, когда парсеры не умели в токенизацию.
Аноним 23/05/22 Пнд 10:54:44 2361613 954
brac.png 31Кб, 608x581
608x581
>>2361589
>форматирование студии заставляет
Прям заставляет?
Аноним 23/05/22 Пнд 11:02:32 2361615 955
cd.png 34Кб, 834x321
834x321
>>2361611
Код он для человеков, машине и брейнфак разпарсить не проблема. А так как люди разные, то и универсального решения нет. Я бы не хотел такое читать и всегда стараюсь разносить по линиям
Аноним 23/05/22 Пнд 11:04:06 2361616 956
>>2361613
"рекомендует"
Тут ведь интересен сам факт, что эта дефолтная рекомендация не имеет под собой основания конкретно для шарпа. Это было бы логично для бейсика, где знак окончания строки ставится автоматически.

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

Совершенно очевидно, что точка с запятой — маркетинговый ход, чтобы набрать веса среди авторитетной части программистов, болеющих терминальной стадией синдрома утенка. Инструменты студии притворяются, что им нужна эта точка с запятой.
Аноним 23/05/22 Пнд 11:05:30 2361617 957
>>2361615
Я специально написал одной строкой, чтобы показать, что парсер в конечном итоге работает с одномерным потоком данных, неважно на сколько визуальных строк ты его разобъёшь для своего удобства. Один токен отделяется от другого пробелом, табом, кареткой в любых их сочетаниях. И всё.
Аноним 23/05/22 Пнд 11:12:27 2361620 958
>>2361615
>Я бы не хотел такое читать и всегда стараюсь разносить по линиям

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

А вот при таком подходе проблем не будет. Тут сразу видно принадлежность скобок:
if (false == false) {
KEK.Show();
return;}
Аноним 23/05/22 Пнд 11:18:38 2361624 959
2022-05-2311-18[...].png 8Кб, 840x225
840x225
>>2361620
Истина как всегда посередине.
Аноним 23/05/22 Пнд 11:20:17 2361625 960
148571035018129[...].png 66Кб, 468x520
468x520
>>2361624
Пориджи попытались в демагогию.
Аноним 23/05/22 Пнд 11:20:53 2361627 961
>>2361624
>>2361620
Анон выше вообще-то к точкам с запятой доебался. Почему вы двое на скобки съехали? К ним претензий нет.
Аноним 23/05/22 Пнд 11:24:56 2361628 962
>>2361627
Так о том и речь, что в шарпе должно быть все равно где начинается скобка — это на усмотрение пользователя. Но студия почему-то намекает, что это важно.
Аноним 23/05/22 Пнд 11:27:00 2361629 963
>>2361628
> Но студия почему-то намекает, что это важно.
Выше анон скинул скрин, что это "важное" отключаемо в настройках, а значит это вопрос стиля, а не сложностей парсинга.
Аноним 23/05/22 Пнд 11:29:13 2361630 964
>>2361616
> Совершенно очевидно, что точка с запятой — маркетинговый ход, чтобы набрать веса среди авторитетной части программистов, болеющих терминальной стадией синдрома утенка. Инструменты студии притворяются, что им нужна эта точка с запятой.
Двачую. Надо, чтобы в настройках была аналогичная галка, чтобы отключить требование точек с запятой и писать уже спокойно без них.
Аноним 23/05/22 Пнд 11:31:19 2361632 965
>>2361628
Это важно когда на кодом работает несколько человек. Но если все согласны использовать другое расположение скобок, то можно настроить. По-умолчания студия форматирует под общепринятые стандарты.
Аноним 23/05/22 Пнд 11:34:33 2361633 966
>>2361620
> Тут сразу видно принадлежность скобок:
Да с чего это хрен пойми как расположенные скобки для тебя более читаемы, чем выровненные по отступам и с вертикальной соединяющей линией? А теперь накидай скобок от условий, циклов и лямбд.
Аноним 23/05/22 Пнд 11:53:30 2361636 967
>>2361633
Ну во-первых, так тупо быстрее писать.
А тело блока я воспринимаю наличием табуляции.
В конце нет вот этого злоебучего
      }
   }
}
когда можно случайно захватить ненужную скобку при копировании.

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

Еще я заметил, что в шарпе не всегда автозавершение работает полноценно. Почему-то в бейсике у меня полноценно пишется .ToString(), а в шарпе я круглые скобки дописываю вручную. Тоже самое касается указания региона. В бейсике #endregion дописывается автоматом.
Аноним 23/05/22 Пнд 12:01:48 2361638 968
C# autocomplete.mp4 196Кб, 480x172, 00:00:09
480x172
VB autocomplete.mp4 137Кб, 480x172, 00:00:05
480x172
>>2361636
Собственно, автокомплит в шарпе и в бейскике.
Аноним 23/05/22 Пнд 12:10:34 2361643 969
>>2361636
>Ну во-первых, так тупо быстрее писать
По-подробнее? Я пишу открывающую скобку на той же строке и жму энтер. Студия сама переносит скобку и ставит закрывающую.
> воспринимаю наличием табуляции.
Табуляция ровно такая же.
>нет вот этого злоебучего
Зато такое }}} или вобще рандомно разбросано по строкам?
>случайно захватить
Опять же не понятно почему, они же выровнены табами + подсвечиваются + соединены линией. А вот как выцеплять скобки с концов строк неясно.
Аноним 23/05/22 Пнд 12:25:28 2361648 970
Написано, что создайте файл bower.json и вижла сама всё подгрузит. Создал и ничего не произошло. Как заставить вижлу выполнять свою работу? Вот когда не надо, она под руку всякую фигню вставляет, а когда надо загрузить пакеты, то хрен тебе - будет стоять и тупить, как-будто ничего не произошло.
Аноним 23/05/22 Пнд 12:30:32 2361651 971
>>2361643
>Зато такое }}} или вобще рандомно разбросано по строкам?
Не, в конце блока только скобка закрывающая этот блок. Остальные скобки на следующей строке.
Тут речь идет о малых блоках внутри больших.

>Опять же не понятно почему, они же выровнены табами
Речь о секундах, нужна хотя бы секунда чтобы въехать какая куда скобка. А в моем варианте я копирую на автомате.

Аноним 23/05/22 Пнд 12:36:04 2361658 972
Хочу использовать await, но он работает только в методе async, который требует вызова await, который работает только в методе async, который ...

Как прервать этот порочный круг? У меня есть таймер, который должен вызвать и ожидать асинхронную функцию. Как это сделать?
Аноним 23/05/22 Пнд 12:48:30 2361665 973
Вопрос по зумерскому блейзору - есть у меня несколько одинаковых повторяющихся блоков с элементами (input, checkbox и т.д.). На странице я могу их через foreach "динамически" создать. Вопрос в том как мне их динамически забиндить к шарп коду на клиенте? Написать через коллекции что-то типа @bind-Value="mylistvalues" или есть какое-то более элегантное решение?
Аноним 23/05/22 Пнд 12:50:38 2361668 974
*mylistvalues[і], вакаба съела индекс.
>>2361665
Аноним 23/05/22 Пнд 12:54:25 2361669 975
>>2361658
> await, но он работает только в методе async
Да
>async, который требует вызова await
Нет, хоть асинк без эвэйта и тупо
>Как это сделать?
Вызвать и ожидать.
>>2361651
Дай скрин с кодом как у тебя скобки расставляются.
Аноним 23/05/22 Пнд 13:01:32 2361672 976
>>2361669
>Вызвать и ожидать.
Я не могу вызвать await, если у меня функция не async.
Аноним 23/05/22 Пнд 13:02:12 2361674 977
>>2361672
>если у меня функция не async.
Я имею ввиду вызывающую функцию.
Аноним 23/05/22 Пнд 13:04:22 2361675 978
>>2361672
Почему ты не можешь сделать функцию асинхронной? Ты все еще можешь ожидать таску синхронно, но бойся дэдлоков. Ты можешь работать с тасками как во времена до асинков - через продолжения задач.
Аноним 23/05/22 Пнд 13:04:39 2361676 979
>>2361658
А зачем таймеру ожидать? это ожидание ни на что не влияет
Влияет если после ожидания перепланировать таймер, чтобы избегать накладок одновременного выполнения - но тогда лучше переписать в вечный цикл с Task.Delay
В общем таймер некуда впихнуть
Аноним 23/05/22 Пнд 13:07:01 2361677 980
>>2361674
Ну это очевидно. Наличие асинк у вызываемого метода никак не влияет на его вызов. Это же просто указание компилятору развернуть метод в стейт машину.
Аноним 23/05/22 Пнд 13:09:54 2361679 981
>>2361675
>но бойся дэдлоков
как я понимаю для этого придумали JoinableTaskFactory, хотя сам никогда не использовал
Аноним 23/05/22 Пнд 13:11:31 2361680 982
Почему ASP.NET такое говно? Чтобы сделать 3 ссаные ссылки на страницы надо городить огород из каких-то моделей, тэгхелперов, 100500 представлений, превращать контроллер в малопонятную хренотень из абстракций.
Вроде читаешь книгу по языку, то всё понятно, всё красиво. Переходишь к фреймворку и на тебя словно ушат говна выливают.
Не понимаю, в какой момент программирование превратилось в такой кал!?
Аноним 23/05/22 Пнд 14:28:06 2361717 983
2022-05-2314-21[...].png 4Кб, 854x162
854x162
Студия, за что ты такая свирепая? Почему тебе не нравится var? Ну функция же возвращает переменную явного типа.
Аноним 23/05/22 Пнд 16:01:14 2361790 984
>>2361230
>Учил C#, сгорел ноут, на нетбук (1 ядро х32, 2гю памяти) visual studio вставать отказался, где можно побомжекодить
>>2334153 (OP)
>2. Онлайн-компиляторы:
>— https://ideone.com/
Вот через это реально что-то наговнокодить?
Аноним 23/05/22 Пнд 16:29:08 2361815 985
>>2361790
Дерьмо какое-то для хело ворлд.

А вс код пробовал? Он же легче даже комьюнити-версии. Там накатишь аддон для шарпа и все.
Аноним 23/05/22 Пнд 17:19:05 2361871 986
>>2361717
Решарпер ставь ёпта
Аноним 23/05/22 Пнд 17:21:05 2361873 987
Как тут относятся к Rider? Есть смысл вместо визуалки попробовать? В идее и пайчарме работал, зашло (кроме градла ебаного).
Аноним 23/05/22 Пнд 17:52:40 2361934 988
>>2361871
Все это есть и в стандартной студии.
Аноним 23/05/22 Пнд 18:37:04 2361966 989
Есть какой варик прикрепить к прекоммиту гита статический анализ кода, прогон линтера типа StyleCop, чтобы не давал коммитнуться при нарушениях в добавляемых файлах?
Аноним 23/05/22 Пнд 18:59:58 2361985 990
Аноним 23/05/22 Пнд 19:08:32 2361993 991
>>2361873
>Есть смысл вместо визуалки попробовать?
за попробовать не бьют. но пока там нет diagnostic tools - на студии удобнее.
Аноним 23/05/22 Пнд 21:18:24 2362068 992
>>2360304
>Ты разве не видишь, что {get;set;} это далеко не property?
Повторюсь, ты тупой? get и set в конечном итоге развертываются в 2 метода (коими и являются). Это просто сахар.
>Чисто механически слово набирать проще, чем микс из слов и символов.
Не проще. Сам попробуй по написать public string PropertyName {get;set;} или делать 2 метода get/set
>Ну и укороченная версия все равно мусорно выглядит, если так по факту-то.
Не мусорно. Просто ты жабо-долбоеб не можешь принять факт и смириться, что шарп за 10 лет развился раз в 6 лучше чем твоя залупа которой 100 лет в обед.
Аноним 23/05/22 Пнд 21:24:11 2362072 993
>>2361066
> А вот джава медленно меняется и учить надо меньше и можно по старым книжкам, которые хорошо всё разжёвывают.
Частые релизы с 5-7 апдейтами воспринимается намного лучше и быстрее чем раз в 2 года по 100500 апдейтов какого-то говна. Мало того, что багов будет пиздец как много, так еще и к хуям старая хуйня наебнется, если внезапно отрубили поддержку хуйни_Нейм.

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

Аноним 23/05/22 Пнд 21:29:33 2362075 994
>>2361658
Я как-то задавал подобный вопрос на стековерфлоу. Дядя мне ответил следующее:

>Все эти таймеры, обработчики события и прочее создавались во времена где Task'ов еще в помине не было. Поэтому, если тебе нужен асинхронный таймер - сделай его сам через Task.Delay
Аноним 23/05/22 Пнд 21:47:21 2362083 995
>>2362068
>Не проще. Сам попробуй по написать public string PropertyName {get;set;} или делать 2 метода get/set
В бейсике я не делаю два метода. В бейсике я пишу:
public Property Name as string
В короткой версии у меня вообще нет {get;set;}

>Это просто сахар.
Не очень сладкий.

>Просто ты жабо-долбоеб
Я бейсикодолбоеб, ты жопой читаешь.
Аноним 23/05/22 Пнд 22:08:42 2362092 996
>>2362083
>В бейсике я не делаю два метода. В бейсике я пишу:
Чет я проорал. Ты там с завода Красный Октябрь в Волгограде капчуешь?

>Не очень сладкий.
Ладно. видимо написать public Property Name as string это намного быстрее чем get;set;
Аноним 23/05/22 Пнд 22:11:03 2362094 997
>>2362083
>В бейсике я пишу
А не пихуй? Пишешь prop и жмякаешь tab и студия все сделает.
мимовстрял
Аноним 23/05/22 Пнд 23:57:25 2362139 998
>>2361985
Вопрос не про гит, а линтеры. Стайлкоп, например, не может в запуск не из вижлы, а его гитхабовский консольный аналог с проблемами.
Аноним 24/05/22 Втр 00:11:10 2362146 999
>>2362092
>Ладно. видимо написать public Property Name as string это намного быстрее чем get;set;
Конечно быстрее. У тебя микс из букв и занков.

>>2362094
>Пишешь prop и жмякаешь tab и студия все сделает.
Да? Тогда звиняйте.
Аноним 24/05/22 Втр 01:34:33 2362173 1000
Аноним 24/05/22 Втр 17:57:13 2362457 1001
Как настроить студию, чтобы она не заменяла мой ввод на свои "интеллектуальные" предположения? К примеру, печатаешь одно слово, а она полностью заменяет на другое и вставляет его в код.
Вообще, есть какой-нибудь джентльменский набор настроек, чтобы сделать студию менее навязчивой?
Аноним 24/05/22 Втр 18:50:02 2362500 1002
IntelliCode.png 31Кб, 810x658
810x658
Аноним 24/05/22 Втр 19:14:05 2362522 1003
>>2362146
>Конечно быстрее. У тебя микс из букв и занков.
студия {} поставит автоматически, ; ставишь правой, get set набирается левой т.к находятся близко друг к другу, пока ты там по всей клаве пройдешься ради всего алфавита - я уже напишу три проперти
Аноним 24/05/22 Втр 21:43:28 2362631 1004
>>2362522
Чел, тебе же уже сказали. В последней студии уже достатоно набрать p и нажать tab два раза и у тебя вся конструкция набрана. И остается набрать только тип и название свойства (причем курсор уже стоит там где нужно.
Аноним 24/05/22 Втр 22:49:38 2362676 1005
>>2362631
Чел, тебя вчерашний шторм не разбудил.
Достаточно стукнуть хуем по клаве удерживая TAB, и студия сама пишет десять пропертей, конструктор, затем открывает вкладку двача и набирает за тебя капчу.
Аноним 24/05/22 Втр 22:52:45 2362678 1006
>>2362676
В 2023-й экспериментальной версии если почесать правое яйцо, то расставляются все точки с запятой в конце строки, а если левое, то добавляется табуляция.
Аноним 24/05/22 Втр 23:18:22 2362691 1007
>>2362676
>>2362678
Плохо что-ли? Хорошо же.
Главное чтобы кабанчик об этом не знал.
Аноним 25/05/22 Срд 02:13:42 2362781 1008
Учу WPF и меня сильно раздражает, что фреймворк не кросспалтформенный. Стоит ли мне переключиться на изучение авалонии? Какие от этого плюсы и минусы, сильно ли оно отличается друга от друга?
Аноним 25/05/22 Срд 02:37:24 2362789 1009
Какой проект можно запилить, чтобы максимум из >>2352130 пощупать/выучить?
Аноним 25/05/22 Срд 06:30:47 2362812 1010
Как MonoDevelop установить на винду в 2022?
Аноним 25/05/22 Срд 06:36:55 2362813 1011
>>2362781
плюсы - крос и другая система стилей
минусы - отличаются. будет обычно "блин да вон в WPF есть, а тут как делается, где нормальная дока, а не чат".
Например CollectionViewSource из последнего у меня - правда я авалонию не учил чтобы уж конкретно, просто нужно было сразу писать и я вижу что нету, а искать запаришься. А ранее вот не видно таблицу под линукс - и оказывается нужно добавить стиль дефолтный. А ведь на все это нужно время...если конечно авалония не твой дефолтный движок и ты все это знаешь.
Аноним 25/05/22 Срд 06:46:54 2362815 1012
>>2362781
А еще минус для меня - рендер шрифтов. Как ни крути - под виндой лично у меня на мониторе получается МЫЛО.
Аноним 25/05/22 Срд 09:14:28 2362853 1013
>>2362781
> Стоит ли мне переключиться на изучение авалонии?
Авалония - это говно от российских наёбщиков.
Юзай православное импортное Eto.Forms
Аноним 25/05/22 Срд 10:32:47 2362894 1014
Как лучше именовать версии?
HuinyaName-1.0.0
или
HuinyaName_1.0.0
или
HuinyaName 1.0.0
Аноним 25/05/22 Срд 10:39:00 2362896 1015
>>2362894
> HuinyaName 1.0.0
Я выбираю это.
Аноним 25/05/22 Срд 10:39:58 2362897 1016
Как сделать, чтобы в зависимости от выбранного пользователем шаблона сайта, подгружалось разное представление.
Раньше на РНР это легко делалось через куки. Т.е. скрипт читал значение куки и подгружал нужный шаблон примерно так:
/templates/_COOKIES['template']/index.html
Но как так сделать в ASP.NET? Тут всё гвоздями прибито и ни какой гибкости.
Аноним 25/05/22 Срд 11:02:14 2362904 1017
>>2362897
> Тут всё гвоздями прибито и ни какой гибкости.
Пиздишь же.
Я в этом асп не работал ни разу, но просто логически делаю вывод, что асп может в куки, если бы не мог, не достиг бы своей популярности.
А раз он может в куки, ты точто так же можешь там хранить любые буквы, как хранил до этого.
Соответственно, в шарпе тебе ничего не мешает завести массив темплейтов и выдавать их как-то так (псевдокод):
> var template = TemplatesArray[CookieManager.GetByKey("template")];
Аноним 25/05/22 Срд 11:03:02 2362905 1018
>>2362897
Сейчас вроде никто уже не использует ASP.net для фронта. Его нормальная ниша это чистый бэк с веб-апи. А фронт все делают либо на React/Angular, либо еще на чем-нибудь.
Так что ты херней маешься на мой взгляд.
Аноним 25/05/22 Срд 11:04:22 2362906 1019
>>2362897
Алсо, да. Подтверждаю этого >>2362904, асп вполне может в куки, так что наворотить можно чего угодно.
Аноним 25/05/22 Срд 11:08:56 2362908 1020
>>2362904
>>2362906
Дело не в куках, а в жесткой привязке View к структуре проекта
Аноним 25/05/22 Срд 11:09:18 2362909 1021
>>2362897
вечно у тебя проблемы. следи за руками
1 регистрируем services.AddHttpContextAccessor();
2 теперь мы можем в контроллере получить IHttpContextAccessor httpContext)
3 у него можем заглянуть в куки
httpContextAccessor.HttpContext!.Request.Cookies.ContainsKey("...");
httpContextAccessor.HttpContext!.Request.Cookies["..."];
4 на основании велению левой пятки выбираем нужный шаб
return View("FooBar");
или пробрасываем значение во вьюху и пусть там разгребают

1005000 раз повторяю - нет разницы от пхп, руби и так далее
Аноним 25/05/22 Срд 11:14:45 2362911 1022
>>2362905
еще как используют.

>А фронт все делают либо на React/Angular,
такая же маркетинговая чушь как и "рсубд устарели, NoSql рулят".
Аноним 25/05/22 Срд 12:26:15 2362939 1023
>>2362908
Это ты про mvc? В разор компонентах такого нету.
Аноним 25/05/22 Срд 13:02:54 2362956 1024
>>2362939
кто использует Razor Pages - сами себе буратины
Аноним 25/05/22 Срд 14:01:38 2362999 1025
>>2362909
Добавлю, что в зависимости от задач, можно это делать не в самом контроллере, а фильтре, чтобы код один и тот же код не пердолить везде.
Аноним 25/05/22 Срд 14:08:45 2363007 1026
>>2362911
>такая же маркетинговая чушь как и "рсубд устарели, NoSql рулят"
Ну так-то да, но к сожалению чушь порешавшая рыночек.
Но с другой стороне, на таких проектах у меня есть возможность уютно пилить свой бэк, полностью забив хуй че и как там у них крутится на фронте. Максимум согласовывая ДТО-шки с фронтовиками, а то и вовсе можно им отдельный загон с ними выделить и пусть сами пехаются с ними.
Аноним 25/05/22 Срд 18:51:28 2363243 1027
Изучил основы, всё такое, куда двигаться дальше, как прям сложные вещи начать изучать? Когда сажусь за них, вообще всё сложно и не понятно, интерес пропадает
Аноним 25/05/22 Срд 19:05:24 2363264 1028
>>2363243
Значит все норм. Оставайся на комфортном для себя уровне.
Аноним 25/05/22 Срд 21:54:48 2363410 1029
>>2363264
Да, очень смешно, я имел ввиду что сложность возрастает раз в 10
Аноним 25/05/22 Срд 22:54:46 2363453 1030
>>2363410
Она возрастает только потому, что у тебя слабая база. Ты считаешь что изучил основы, но - нифига подобного. Ты с ними всего-лишь ознакомился и думаешь, что все постиг. А когда пытаешься перейти к более комплексным вещам, то мозг буксует, т.к. не плохо понимает основные кирпичи из которых все состоит.
Грубо говоря - это как если ты пытаешься решать квадратные уравнения только вчера изучив основные арифметические действия и толком еще не понимая где надо складывать, а где умножать.
Концепция того, что "достаточно в чем-то разобраться/понять и ты уже изучил тему" - неверная. Вернее это всего лишь часть процесса познания. А вот во второй части тебе надо именно, что задрачивать навыки, так чтобы они стали автоматическими. Только тогда более сложные вещи станут для тебя настолько же понятны как и основы.
Аноним 25/05/22 Срд 22:57:39 2363455 1031
Как мне перекатиться с впф на бэк? Я просто реально не знаю, с чего начать даже. Чем вы вообще занимаетесь на работе? Каким стэком обмазываться? Как практиковаться? Всё максимально непонятно. Сколько вакансии ни смотрел, чтоб хотя бы примерно понять, куда копать, так и не понял, ибо у каждой свой набор буков непонятных
Аноним 25/05/22 Срд 23:28:20 2363471 1032
>>2363453
Как понять, что я освоил основы?
Аноним 26/05/22 Чтв 03:48:49 2363558 1033
>>2363455
Если по минимуму.

Предусловия.
Хорошая знание C#. Понимание работы с коллекциями, LINQ, интерфейсы, DI, делегаты, анонимные методы, лямбды, расширения, асинхронщина и т.д.
Понимание принципов работы БД. Таблицы, связи, ключи, индексы. Знание SQL хотя бы на уровне простых запросов.
Понимание что такое HTTP запросы, в чем их суть из чего состоят. Умение работать с Postman-ом или Rest Client-ом VSCode. Знание отладочной консоли браузера.

---

Создаешь новый проект ASP.Net Core 3.1 Web Api (именно Api, а не App, не перепутай)

Изучаешь как работает DI. Как прокидывать сервисы.
Изучаешь работу с контроллерами.
Откуда они берутся, как запрос проходит через них, как формируется ответ.
Затем работа с БД и EF. Как подключать, как создавать, как обращаться и гонять данные туда-сюда.
Изучаешь типичные структуры приложений вроде луковой или cqrs. Учишься применять их правильно, а не по уебански.
Изучаешь валидацию и мапперы.
Изучаешь авторизацию.
Изучаешь логгирование.
Изучаешь swagger (опционально, но идеально для показа своих бэкэндерских высеров, если неохота к ним нормальный фронт пилить)

В принципе после этого личинка бекэндера готова. Можешь перекатываться на стажерские позиции и учить дальше.
Аноним 26/05/22 Чтв 03:59:22 2363559 1034
>>2363471
Когда для тебя это станет как воздухом дышать.
Как минимум ты не должен задумываться что и как делает какая-нибудь конструкция в языке. Ты просто берешь и ебашишь, то что лучше подходит под ситуацию или больше тебе по нраву.
Не будешь задумываться что тебе выбрать for или while, string или StringBuilder и т.д.
Когда ты смотришь какой-нибудь пример из длинного запроса к БД через EF, ты должен именно разбирать что и в каком порядке у тебя по запросу выдается, а не пытаться мучительно вспоминать, что означают всякие => и как работают методы расширений и т.д.

Вобщем, чем меньше ты будешь думать при написании кода, тем лучше ты знаешь язык. Мозг он тренируется точно так же как всякие механические рефлексы вроде вождения или слепой печати. Задрачиваешь ситуации пока в твоей нейросетке не образуется отдельный участок отвечающий конкрентно за то, что тренируешь и дальше он действует сам независимо от тебя.
Аноним 26/05/22 Чтв 08:07:40 2363590 1035
>>2363558
Спасибо большое. Схоронил
Аноним 26/05/22 Чтв 09:17:04 2363633 1036
>>2363471
Когда начнешь относиться к коду не как к нерушимым заклинаниям.
Аноним 26/05/22 Чтв 09:46:30 2363658 1037
Немного оффтопа, но я тут некоторое время изучаю матчасть по нейросетям, и сделал для себя фундаментальное открытие, благодаря которому вот этот гринтекст считаю некорректным
>>2363559
> пока в твоей нейросетке не образуется отдельный участок отвечающий конкрентно за то, что тренируешь
дело в том, что распространено заблуждение, что у человека в мозгу одна нейросеть. Чуть позже, годах в 70х возникло уточнение, что их там две, по одной в каждом полушарии, но это как я выяснил, тоже заблуждение. На самом деле в мозгу множество нейросетей, каждая отвечает за свою обработку сигнала. Часть из них дублируется между полушариями, другая часть - не дублируется, что чаще всего можно заметить после инсульта.
Короче, более точно я бы пофиксил анона так
> пока в твоём мозгу не образуется отдельная нейросеть, отвечающая конкретно за то, что тренируешь

Спасибо всем за внимание. Просто поделился знаниями, мимокрокодя.
Аноним 26/05/22 Чтв 10:05:36 2363688 1038
>>2363658
Не могу остановиться, потому продолжу. Вот вы понимаете, аноны, я вскрыл фундаментальную ошибку в проектировании искусственного интеллекта. Многие популяризаторы науки стращают народ тем, что якобы вот мы изобретём ИИ, а он нас уничтожит. Это ошибка, базирующаяся на вышеописанном фундаментальном недопонимании работы мозга.

Учёные думают, что в будущем иожет быть изобретён эдакий думающий разум внутри машины. Моё же видение будущего (с полным пониманием безблагодатности футурологии) в том, что интеллектуальные способности человечества будут расти, но не за счёт появления искусственных личностей, вступающих во взаимную конкуренцию с естественными личностями, а засчёт модульной расширяемости наших с вами естественных личностей. Будут совершенствоваться нейроинтерфейсы, и с их помощью мы будем подключать и отключать себе специализированные нейросети, когда нам это будет требоваться. Проще всего это описать знаменитыми словами из фильма "Матрица" - "Вау, я знаю кунг-фу!"

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

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


Аноним 26/05/22 Чтв 10:09:50 2363691 1039
>>2363688
А если в критический момент начнётся сборка мусора?
Аноним 26/05/22 Чтв 10:16:17 2363696 1040
>>2363691
То мы ему по морде чайником! И отучим собирать!
Аноним 26/05/22 Чтв 10:28:39 2363704 1041
Почему Entity Framework надо выкачивать как какую-то левую библиотеку, а она не встроена сразу в дотнет?
Аноним 26/05/22 Чтв 10:30:30 2363707 1042
>>2363704
Потому что дотнет это не СУБД и доступ данным там не требуется абсолютно всем. И нехуй пихать в него всё подряд.
Аноним 26/05/22 Чтв 11:47:31 2363761 1043
>>2363704
А зачем? Вдруг я хочу Dapper использовать.
Аноним 26/05/22 Чтв 12:25:23 2363794 1044
>>2363707
Пусть лежит в пакете SDK, а кому надо вызовет. А так надо обязательное подключению к интернету.

>>2363761
Почему тогда ASP.NET встроен? Для него нет замены?
Аноним 26/05/22 Чтв 12:37:59 2363806 1045
>>2363794
>Пусть лежит в пакете SDK, а кому надо вызовет.
А давай все в SDK покладем - пусть лежит и устаревает

>Почему тогда ASP.NET встроен?
потому что веб фреймворк должен предоставлять работу с бд. так принято. традиция.
Аноним 26/05/22 Чтв 12:56:47 2363828 1046
>>2363794
>А так надо обязательное подключению к интернету.
Ну да, проблема, ведь основной SDK и винду ты до сих пор на дисках покупаешь.
Аноним 26/05/22 Чтв 13:29:17 2363862 1047
А что там с книгами? Почему ничего нового не выходит? Дотнет 6 всё кардинально поменял, а книг по нему до сих пор нет.
Аноним 26/05/22 Чтв 14:28:25 2363921 1048
Аноним 26/05/22 Чтв 17:28:50 2364075 1049
2022-05-2617-03[...].png 36Кб, 1505x497
1505x497
Кто нибудь делал расширения для VS? Как сделать автозапуск команды при открытии решения?

Нагуглил какой-то ProvideAutoLoad
Я так понял там можно автозапускать при каком либо событии: открытие решения, открытие проекта, закрытие и проч.
Но у меня не фурычит и вообще не понимаю какая команда должна запускаться, если у меня несколько кнопок. Хуета какая-то.
Аноним 26/05/22 Чтв 17:36:53 2364083 1050
>>2364075
>100500 аннотаций
>1 строчка кода
Современные стандарты программирования...
Аноним 26/05/22 Чтв 17:39:29 2364087 1051
>>2364083
Че бухтишь дед? Там за одним методом сидит десять методов, которые базируются на 50 методах каждый.
Аноним 26/05/22 Чтв 19:25:07 2364162 1052
2022-05-2619-05[...].png 35Кб, 1475x490
1475x490
2022-05-2619-04[...].png 17Кб, 870x385
870x385
>>2364075
Короче, запускается с ProvideAutoLoad — выполняется все то, что в InitializeAsync, а там только инициализация, естественно.

Ну я взял и добавил туда свой метод Test (пикрил 1), который запускает таймер (пикрил 2). И вот тут начинается ХУЕТА. Сам метод выполняется, запускает таймер, но в дебаге я получаю только одну строку:
### Test ###
После этого тишина, метод Tick не срабатывает и ничего не печатает. При этом, если я эту же функцию запускаю обычно без автозапуска, то событие таймера отрабатывает нормально. Что произошло такого, что событие не отвечает? Как отследить?


Аноним 26/05/22 Чтв 19:46:39 2364183 1053

ВНИМАНИЕ, ПЕРЕКАТЧИКИ!
ИЗМЕНИТЕ ШАПКУ НА .NET 6 И C# 10!

ДЛЯ ВИН-ФОРМ НИКТО НЕ ЮЗАЕТ МВВМ, ЮЗАЮТ МВП! ИЗМЕНИТЕ ЕБАНУЮ ШАПКУ!

ДОБАВЬТЕ ИНФУ О MAUI
Аноним 26/05/22 Чтв 19:46:47 2364185 1054
>>2364162
Какой-то бред. В общем, только я обращаюсь через инициализацию в класс Checking, не важно к какой функции, у меня перестает работать таймер. Что это такое?
Аноним 26/05/22 Чтв 20:12:55 2364196 1055
>>2364183
> ДЛЯ ВИН-ФОРМ НИКТО НЕ ЮЗАЕТ МВВМ, ЮЗАЮТ МВП! ИЗМЕНИТЕ ЕБАНУЮ ШАПКУ!
Так в шапке и не написано, что мввм в винформс используется
Аноним 26/05/22 Чтв 21:17:26 2364229 1056
Надо запилить кравлер с кучей скрапперов(в виде плагинов наверное), и всякие сервисы для парсинга. Решил вкатиться в этот ваш сишарп. Я жс кодерок с 4 годами опыта. Посмотрим на этот ваш дотнет, многопоточку и прочие di.

Начать решил с доки + справочника по с# с петухом на обложке. Посоветуйте, что еще почитать, посмотреть по шарпу, но не для совсем нулевых вкатутось?
Аноним 26/05/22 Чтв 21:35:55 2364237 1057
Аноним 26/05/22 Чтв 21:47:59 2364245 1058
Аноним 26/05/22 Чтв 21:54:13 2364253 1059
>>2364075
>>2364162
>>2364185
Методом тыка определил, что таймер начинает работать, когда я присваиваю новый экземпляр:
TestTimer = New();

Но так и не понял почему тоже самое не всегда работает на этапе объявления:
private static DispatcherTimer TestTimer = new DispatcherTimer();

Из одного метода работает, а из другого нет. Причем таймер находился в совершенно другом классе и никак не связан с вызывающими методами. Магия какая-то. Есть эксперты почему так происходит?
Аноним 26/05/22 Чтв 22:09:40 2364259 1060
>>2364253
Сука 3 часа проебался из-за этой хуйни.
Аноним 27/05/22 Птн 00:27:43 2364326 1061
>>2364183
> ДОБАВЬТЕ ИНФУ О MAUI
Пошёл нахуй.
Аноним 27/05/22 Птн 09:05:08 2364429 1062
image.png 231Кб, 2518x1132
2518x1132
>>2364326
>Пошёл нахуй.
Обосрался что шарпик еще и телефоны начнет захватывать?
Аноним 27/05/22 Птн 09:58:30 2364443 1063
>>2364429
Я обосрался в голосину от твоих потуг форсить обосранный убогий хамарин переименованный в новое зумерское название.
Аноним 27/05/22 Птн 17:07:48 2364913 1064
>>2364429
Эта та самая жава, которая активно вытесняется котлином на мобилах лол )))
Аноним 27/05/22 Птн 17:17:30 2364924 1065
Метанит - нормальный сайт? Можно ли выучить wpf по метаниту? Что делать, если постоянно возникает ощущение, что я учу язык как-то не так, паралельно с этим забывая то, что я уже знал раньше?
Аноним 27/05/22 Птн 17:29:02 2364936 1066
>>2364924
профессорвеб намного лучше имхо.
Аноним 27/05/22 Птн 18:16:53 2364966 1067
Думаю в качестве джуновского пет-проекта замутить что-то вроде Эверноута, но с поправленным функционалом на мой вкус. Сложно ли будет реализовать зеленому и насколько для этого шарп вообще подойдет? Какой фронтовый фреймворк лучше всего заюзатьд для подобной задачи?
Аноним 27/05/22 Птн 18:37:40 2364977 1068
>>2364966
>вроде Эверноута
Лучше Obsidian за образец возьми. Но лучше ты вряд ли сделаешь.
Аноним 27/05/22 Птн 19:43:55 2365027 1069
>>2364924
Знач вот те таска на неделю: на wpf mvvm сделать просмотр видео, можно загружать файлы в прогу, офк будут должны сохраняться в БД. Битые файлы должны будут обрабатываться соответствующим образом. Потом кинешь репозиторий на гитхабе я те кодревью устрою с пацанами
Аноним 28/05/22 Суб 01:25:48 2365191 1070
>>2364966
> Какой фронтовый фреймворк лучше всего заюзатьд для подобной задачи?
Очевидный Eto.Forms
Аноним 28/05/22 Суб 01:35:04 2365193 1071
>>2365191
Гугл говорит, что это десктопный фреймворк, а я пока собираюсь веб делать, чтобы всю эту кухню понять и освоить.
Аноним 28/05/22 Суб 01:53:56 2365196 1072
>>2365193
А десктоп не фронтенд? А что? Бэк? Ну надо же. Буду знать.
Аноним 28/05/22 Суб 02:14:44 2365198 1073
>>2365196
Я пока в такой терминологии не шарю, понимаю фронт только как часть сайта или веб-приложения, с которой взаимодействует юзер. Это получается десктопный фреймворк можно заюзать в качестве такого вот фронтенда?
Аноним 28/05/22 Суб 02:15:36 2365199 1074
>>2365198
А что у тебя по инглишу в четверти?
Аноним 28/05/22 Суб 06:33:39 2365217 1075
>>2364924
Нет, метанит это просто справка по языку, если ты его знаешь
Аноним 28/05/22 Суб 09:21:14 2365245 1076
>>2365217
Не согласен. Справка по языку если его знаешь, это интеллисенс, в котором помимо автодополнения ещё и описания методов, со всеми перегрузками. Мне больше ничего и не надо.
Аноним 28/05/22 Суб 09:35:40 2365249 1077
Слушайте, вот у меня есть два проекта в решении. Я первый привязываю ко второму, и теперь из второго у меня есть доступ к классам первого.

А как сделать тоже самое, но в обратную сторону? Мне из первого нужны классы второго. Ссылку я добавить не могу, получается зацикленность. Более того, в одном из проектов статический класс, я его даже передать по ссылке не могу.
Аноним 28/05/22 Суб 09:41:05 2365254 1078
>>2365249
Ах да, в общем задача такова, что функция из проекта А запускает функцию из проекта Б, которая по итогу своей работы запускает функцию из проекта А.
Аноним 28/05/22 Суб 09:59:58 2365257 1079
>>2365254
В функцию проекта б передавай делегат
Аноним 28/05/22 Суб 11:15:25 2365291 1080
>>2365249
>А как сделать тоже самое, но в обратную сторону? Мне из первого нужны классы второго. Ссылку я добавить не могу, получается зацикленность. Более того, в одном из проектов статический класс, я его даже передать по ссылке не могу.
Пересмотреть архитектору проекта
Аноним 28/05/22 Суб 11:21:01 2365297 1081
>>2365249
Так нельзя, тебе даже студия запретит так сделать. Вынеси логику общую в отдельный проект. Почитай про DDD
Аноним 28/05/22 Суб 11:27:43 2365303 1082
>>2365297
А про что прочитать?
Аноним 28/05/22 Суб 11:29:13 2365305 1083
Аноним 28/05/22 Суб 11:30:04 2365306 1084
>>2365305
Про что именно, хули ты мне свои смайлики пихаешь? Смешно, да?
Аноним 28/05/22 Суб 11:30:41 2365307 1085
2022-05-2811-30[...].png 128Кб, 447x248
447x248
Аноним 28/05/22 Суб 11:32:54 2365311 1086
Аноним 28/05/22 Суб 11:37:44 2365315 1087
2022-05-2811-35[...].png 3Кб, 528x52
528x52
>>2365297
Что-то сектантское. Что-то уровня девичьих приворотов.
Аноним 28/05/22 Суб 11:40:46 2365318 1088
Аноним 28/05/22 Суб 11:56:38 2365336 1089
>>2365199
Я понимаю термин, но не понимаю суть. Есть вот например просто React для веба, а для десктопа уже юзают React Native. Или там у жс есть фреймворк Electron для десктопа, но его же в веб не пихают? Или я просто не встречался? Олсо, чет этот Eto.Forms выглядит всратенько, я хочу стильно модно молодежно, чтобы рекрутеры не подумали, что я дед.
Аноним 28/05/22 Суб 12:00:06 2365339 1090
>>2365318
Совершенно точно не мое. Но разве меня это остановит?
Прости за петросянство, тут скорее юмор не мое.
Аноним 28/05/22 Суб 12:02:32 2365342 1091
>>2365339
и то и другое не твоё
Аноним 28/05/22 Суб 12:02:34 2365343 1092
>>2365336
Тащемта и на десктопе тож есть фронт и бэк. Вообще, бэкенд это вся бизнес-логика. Она может быть одна под несколько платформ: веб, десктоп, мобилы. Фронт же делится на html в вебе и на xaml в десктопе. Вообще вся бизнес логика должна быть максимально отделена от фронтенда для того, чтобы можно было менять всякие формочки или странички без проблем. Таким образом мы получаем 1 бизнес логику и несколько представлений. Фронт и бэк это не только про сайты. Если посмотришь на хх или где-нибудь еще - ищут верстальщиков на xaml для WPF.
Аноним 28/05/22 Суб 21:26:06 2365849 1093
jopt.png 25Кб, 700x189
700x189
Вот есть такая штука Utf8JsonWriter и мне нужно записать в него мой объект как пропертю, т.е. получить на выходе:
{
... ,
"jopt": { "foo": "bar" ... },
...
}
Получилось как на пике, но меня не покидает ощущение, что это можно сделать проще. Помогите.
Аноним 28/05/22 Суб 21:53:27 2365862 1094
>>2365849
Кстати, видел в зет-скрипте (не относится к шарпу) есть возможность добавить уникальную логику для первого и последнего элемента цикла.

>сделать проще
лямбды?
Аноним 28/05/22 Суб 22:16:12 2365879 1095
jopt.png 11Кб, 653x50
653x50
>>2365862
Я имел ввиду упростить синтаксис, чтоб не дрочить проперти, а разом объект записать. Думал есть что-то типа writer.WriteObject(string name, object o). Но в итоге как на пике тоже норм получилось.
Аноним 28/05/22 Суб 22:31:01 2365885 1096
>>2365879
Правда форматирование отступов едет к хуям. Так что все еще жду ваших советов.
Аноним 28/05/22 Суб 22:47:54 2365900 1097
>>2365879
А эти методы самописные или дефолтные?
Если самописные, то юзай конструктор.

Если дефолтные, то сделай наследник класса (если разрешено) и добавь свой метод WriteObject.
Если недоступен, то можно еще расширение сделать.

Но тут вопрос в том, как часто ты это все будешь юзать. Если ты это используешь пару раз, то нет смысла (это я про варианты решения дефолтного случая)
Аноним 29/05/22 Вск 00:37:26 2365985 1098
>>2356138
Ты чё охуел? EF тебе по факту и предоставляет функционал уровня "ну я там модель описал ёпта строку подключения скормил и ебать всё работает пока я машку ипу".
Аноним 29/05/22 Вск 00:39:25 2365987 1099
>>2356200
Акиньшин что-то у себя в докладе про бенчмарки говорил про подобную хуйню с плавающими результатами.
Аноним 29/05/22 Вск 00:41:35 2365989 1100
image.png 507Кб, 578x595
578x595
Аноним 29/05/22 Вск 07:34:26 2366029 1101
>>2365985
Там надо миграции делать командой в консоли, а не кнопочкой в вижле!
Аноним 29/05/22 Вск 09:24:43 2366086 1102
Зачем нужен FileStream если есть более специализированные Бинарные/Текстовые потоки?
Аноним 29/05/22 Вск 09:34:33 2366094 1103
>>2366086
Ну так тебе не только текст в файлы писать. А для BinaryReader/Writer нужен стрим в которые они будут писать, и для файлов это как раз FileStream.
>>2365900
Это стандартный Utf8JsonWriter. Просто для меня удивительно, что в его апи нет метода для записи объекта разом.
Аноним 29/05/22 Вск 10:12:05 2366115 1104
>>2366094
>Просто для меня удивительно, что в его апи нет метода для записи объекта разом.
Извечный конфликт настраеваемости и простоты. Видимо есть какие-то подводные камни, которые ты еще не осознал.

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

Тебе сначала нужно скомпоновать BezierSegment, потом добавить это в PathFigure, потом это добавить в PathGeometry, и только потом добавить в Path, а потом все это добавить на Canvas. Задаешься вопросом: а почему это не сделать одним вложением и тупо задать точки кривой, ну на крайняк сегменты? Начинаешь городить, велосипед и постепенно понимаешь, что если ты хочешь некой универсальности для всех случаев, которые перед тобой возникнут, тебе придется дробить все это на части. И на фоне настраиваемости, какой-то метод, выполняющий все настройки, становится выглядеть куском засохшего кала на волосне, который нужен одному проценту пользователей. Да, всем нужна простая функция, но у каждого свой набор конфигураций, а упрощенная функция внезапно этого не обеспечит.

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

Аноним 29/05/22 Вск 10:15:10 2366117 1105
Аноним 29/05/22 Вск 10:18:40 2366119 1106
>>2366115
Алсо, я не дебил, и взял и написал билдер, который делает все это за раз:
>Тебе сначала нужно скомпоновать BezierSegment, потом добавить это в PathFigure, потом это добавить в PathGeometry, и только потом добавить в Path, а потом все это добавить на Canvas.

Думаешь я это применял в проекте? Да хрен там. Максимум для быстрых тестов.
Аноним 29/05/22 Вск 10:21:35 2366122 1107
>>2366117
Метанит же для многих языков, я там бейсик учил, а потом написал зонд на линкус.
Шутка. Там в новостях зонд для линукса написали на бейсике. Но бейсик я действительно учил в метаните.
Аноним 29/05/22 Вск 10:27:39 2366126 1108
>>2366117
>Почему метанит написан на РНР, а не на сишарпе?
Потому что в 2012 году C# был плохим языком для написания веб приложений.
Аноним 29/05/22 Вск 13:05:38 2366273 1109
>>2366115
По итогу все оказалось проще, хоть и не совсем логично
writer.WritePropertyName("jopt");
JsonSerializer.Serialize(writer, obj, options);
Аноним 29/05/22 Вск 13:42:39 2366301 1110
>>2366094
>Ну так тебе не только текст в файлы писать. А для BinaryReader/Writer нужен стрим в которые они будут писать, и для файлов это как раз FileStream.
Все равно не понимаю, какую задачу можно было бы решить только с FileStream, а не любым другим стримом.
Аноним 29/05/22 Вск 13:54:45 2366330 1111
>>2365254
Почему ты просто не сделаешь в проекте Б - событие, на которое подпишешься в том же проекте A?
А вообще, по хорошему, ты какую-то странную архитектуру придумал. Разбивать на проекты нужно как раз для того чтобы у тебя логику можно было переиспользовать и изолировать слои друг от друга.
Так вот, как ты себе представляешь ситуацию, когда третий проект будет хотеть и B - дергнуть функцию, а это вызовет дерганье хуйни из A? Сам-то подумай, как это потом отлаживать.
Если не хочешь события- просто хуйни все в один проект и не выебывайся.
Аноним 29/05/22 Вск 13:59:52 2366342 1112
>>2366301
FileStream как следует из названия нужен, чтобы работать в файлом. Х.з. что тут не понятного. При создании StreamReader/Writer с указанием пути он просто автоматически создает внутри FileStream. И про какие любые другие потоки ты говоришь? Есть MemoryStream, он пишет в память и не трогает файлы. Binary... пришет в любой стрим и не привязан к файловому. StreamWriter тоже может работать с любым стримом.
Аноним 29/05/22 Вск 15:25:19 2366414 1113
>>2366301
ты можешь сколько угодно наворачивать абстрактных стримов, но в итоге тебе все равно придется написать код, который будет открывать файловый дескриптор, работать с ним, правильно закрывать. И все это будет с контрактом стрима - вот это и есть FileStream

Так что с любым другим стримом ты не можешь писать в файл, ведь они тупо не знают ничего про файл, про системные вызовы и так далее.
Аноним 29/05/22 Вск 16:07:21 2366439 1114
7.png 44Кб, 681x444
681x444
>>2366414
>>2366342
Я понял. В голове просто все смешалось поначалу с этими стримами. Я не сообразил, что одно работает поверх другого.
Аноним 29/05/22 Вск 18:33:10 2366567 1115
Почему сраная виржуал студио лагает сильнее, чем даже игровые движки? А они полноценное 3д пространство рендерят в реальном времени, а не просто строчки кода
Аноним 29/05/22 Вск 19:06:40 2366583 1116
>>2366567
Если тебе от студии нужен только рендер кода, то возьми notepad++ vs code.
Аноним 29/05/22 Вск 20:31:00 2366633 1117
>>2366567
было бы что рендерить. основное делает видяха.
Аноним 29/05/22 Вск 21:24:24 2366656 1118
>>2366583
> vs code
А там winforms и wpf есть? А maui?
Аноним 29/05/22 Вск 22:23:32 2366707 1119
1.png 12Кб, 328x487
328x487
>>2366439
Не то чтобы в тему. Но пиздец как же меня эта лесенка из скобок заебала в шарпах.
Вот уродливо же.
И как охуенно в сях...
Аноним 29/05/22 Вск 23:06:21 2366732 1120
>>2366707
Что мешает писать как и в сях? Кроме здравого смысла - ничего. Но здравый смысл лучше послушать
Аноним 30/05/22 Пнд 01:18:24 2366782 1121
>>2366567
Там парсинг всего проекта в риалтайме, с логикой. Ты условно переменную удалил, а студия начинает шарить и смотреть как это повлияло на проект. Твои игори до сих пор не могут в то, чтобы можно было пнуть рандома на одном конце карты и чтобы это повлияло на события на другом конце. Можно ли в ведьмаке срубить дерево, из-за которого краснолюд не получит работу, сопьется и не построит мост в Новиграде? Ммм?

Кстати, студия какая-то непостоянная. Когда переходил на c#, то она предлагала такой вариант создания нового экземпляра:
Huemoe H = new();
А потом в какой-то момент такая "Нихуяшеньки, давай вот так:"
Huemoe H = new Huemoe();
(хотя может это потому что я подключил inelsence)

То настаивает на упрощенном варианте каких-то вещей, но при этом не любит вот это:
var H = new Huemoe();
Хотя присваеваемый тип очевиден и неопределенности быть не может.
Аноним 30/05/22 Пнд 01:28:44 2366783 1122
image.png 16Кб, 251x506
251x506
В чем разница и что это такое?
Аноним 30/05/22 Пнд 08:18:18 2366841 1123
Вот что мне не хватает в вижле, дак это автодобавление using, при написание кода. Приходится ручками дописывать их, а если не напишешь, то "интеллектуальная" система не понимает, что я хочу.
Аноним 30/05/22 Пнд 08:35:45 2366847 1124
>>2366841
Хз, само добавляет же почти всегда. Может какие-то классы из некоторых нюгетов не понимает, но в целом всякие ефы, юзинги локальных классов - все добавляет по альт ентеру
Аноним 30/05/22 Пнд 09:23:15 2366858 1125
>>2366841
>"интеллектуальная" система не понимает, что я хочу.
1. Понимает и может сама добавить (см. контекстное меню подсказок). Просто есть как минимум два логичных варианта решения задачи: добавить юзинг или дописать к типу полное имя. И тут студия уже не понимает какие у тебя планы.
2. Добавление юзинга на автомате может привести к конфликту имен нескольких библиотек, и вот такое тихое добавление может попить тебе крови. Только вот вчера с этим столкнулся — добавил юзинг и мне перекосоебило весь проект, пришлось даже перезагружать (удалил юзинг, собрал проект, а студия все равно видит конфликт).

Так что самый подходящий вариант — первый, полуавтоматический. Напиши функцию из отсутствующей либы, и если она стандартная, то ПКМ из подсказки выбери один из вариантов: добавить using, или дописать полное имя.
Аноним 30/05/22 Пнд 10:28:13 2366907 1126
>>2366783
Разница в возвращаемых значениях. Это варианты реализации IEnumerable

>>2366841
>Приходится ручками дописывать их, а если не напишешь
и правильно. откуда кому то знать когда нужно диспозить. даже человек не всегда знает (потому что сам паттерн диспоза очевиден, но с недостатками).
Аноним 30/05/22 Пнд 11:22:55 2366954 1127
>>2366707
Во первых ты можешь настроить конфиг проекта и студия сама будет тебе их расставлять как надо.
Во вторых стиль К&R, который тебе нравится - уебанский. Он может быть экономит тебе целую строку текста (байтики сейчас дорогие да), но зато ебет мозг при изучении и рефакторинге хоть сколько нибудь комплесного кода. Не будь утырком используй стиль Олмана.

>>2366782
>Кстати, студия какая-то непостоянная. Когда переходил на c#, то она предлагала такой вариант создания нового экземпляра:
Это тоже все настраивается в конфиге проекта.
Аноним 30/05/22 Пнд 11:23:06 2366956 1128
Если я запущу отдельным такском
await Task(() => File.SetCreationTime(targetFile, curTime));

То это ведь не гарантирует, что таск завершится только когда функция завершит свою работу? В этом случае он бесполезен?
Аноним 30/05/22 Пнд 11:25:54 2366959 1129
>>2366956
await - это сахар для
var a = GetAwaiter.Task();
a.OnCompletion(){ };
Аноним 30/05/22 Пнд 11:34:42 2366966 1130
>>2366959
А что подразумевается под a.OnCompletion(){ };
Чем это отличается от того, что функция дошла до конца? Ну стартанул я в таске копирование файла, которое длится пять минут, в это время таск мгновенно комплит не дожидаясь фактического завершения копирования.

Т.е. по сути это ничем не отличается от вызова обычной функции?
Аноним 30/05/22 Пнд 11:38:06 2366971 1131
Аноны, где можно спиздить все курсы по шарпу с ITVDN?
Аноним 30/05/22 Пнд 11:44:57 2366977 1132
>>2366966
Я что-то в конец запутался в основах. Почему когда я копирую файл, программа не дожидается завершения функции и начинает выполнять следующие? Разве не должно быть последовательное выполнение операций? Где та грань, когда я должен вызывать await и просто пользоваться a = 5 + 3; без ожидания?

Почему не сделали наоборот, чтобы можно было указать, что "вот эта функция должна работать синхронно — не жди, иди дальше"?
Тогда почему фризится GUI при циклах? Совсем каша.

Аноним 30/05/22 Пнд 12:11:51 2366998 1133
>>2366966
В этом и суть, что когда доходишь до перевого awaita управление возвращается в основной поток, а этот с задачей продолжается фоном
Аноним 30/05/22 Пнд 12:17:10 2367003 1134
>>2366998
Но await не даст идти дальше, пока не завершится таск.
Это блокировка того, что должно идти своим ходом.
Ничего не понимат.
Аноним 30/05/22 Пнд 12:22:29 2367006 1135
>>2366956
если там Task.Run то гарантирует. в этом случае он полезен если что то должно выполняться в фоновом потоке и нужно дождаться результата. Нормально для вызовов из GUI
Аноним 30/05/22 Пнд 13:25:48 2367036 1136
>>2366977
Потому что ты путаешь Task и Thread.

Task - это параллельное программирование, не многопоточное.

Попробуй перепиши программу например так
Task T = (асинхронная задача)

остальной код.
await T;
Аноним 30/05/22 Пнд 15:46:41 2367145 1137
Аноним 30/05/22 Пнд 16:13:57 2367163 1138
В чем разница using и try/catch? Юзинг освобождает низкоуровневые ресурсы, но при этом не ловит исключения?
Аноним 30/05/22 Пнд 16:16:32 2367167 1139
>>2367163
>В чем разница using и try/catch?
Может using и try/finally?
Аноним 30/05/22 Пнд 16:16:59 2367169 1140
>>2367145
>Мнение по required вместо конструктора?
очевидно что только в нужных местах, то есть в классах dto вида. Наивно полагать, что одно заменяет другое.

>>2367163
using !=catch а finally
Аноним 30/05/22 Пнд 16:18:30 2367171 1141
>>2367167
>>2367169
В смысле using вызывает Диспос метод, но не ловит исключения, в этом отличие?
Аноним 30/05/22 Пнд 16:21:05 2367172 1142
>>2367171
именно так
эквивалент
try{
...
finally{
.Dispose()
}
Аноним 30/05/22 Пнд 16:24:51 2367173 1143
Аноним 30/05/22 Пнд 16:26:51 2367176 1144
>>2367145
Битва ради чего? Ради фигурных скобочек вместо круглых? Что мешает писать вот так:
public class Test
{
public Test(int Huy, int Pizda, int Djigurda){}
}

public void Main()
{
var t = new Test(
Huy: 1,
Pizda: 2,
Djigurda: 3);
}


Борьба с "телескопическими" аргументами работает при помощи создания других классов.

Типа как в RectangleGeometry, который не принимает x, y, with, height, а принимает Rect, который как раз и принимает x, y, with, height.

Если у тебя десятки обязательных аргументов, то это повод задуматься. В чем смысл этого дерьма?
Аноним 30/05/22 Пнд 16:32:03 2367180 1145
В смысле нельзя в шарпе передать аргумент опционально по ссылке? А в бейсике можно.
Аноним 30/05/22 Пнд 16:35:25 2367183 1146
Аноним 30/05/22 Пнд 16:43:03 2367187 1147
>>2367183
да, но чтобы аргумент был необязательным.
Аноним 30/05/22 Пнд 16:47:48 2367189 1148
Аноним 30/05/22 Пнд 16:57:08 2367204 1149
>>2367189
вот так
Sub Test(Optional ByRef a As String)
End Sub
Аноним 30/05/22 Пнд 16:57:38 2367205 1150
>>2367204
>Sub Test(Optional ByRef a As String = "")
фикс
Аноним 30/05/22 Пнд 17:49:51 2367295 1151
>>2367176
Как я понимаю, все ради того, чтоб не писать конструктор просто лишний раз когда особо и не надо, вот этот весь
ctor(string a, int b){
A=a;
B=b;
}
Понятно что во всяких di нет смысла в этом, а в среднем по больнице - вполне идея.
Не уверен пока только как погроммист будет понимать, что там реквайред, а не конструктор
Аноним 30/05/22 Пнд 18:22:36 2367321 1152
>>2367295
>Не уверен пока только как погроммист будет понимать, что там реквайред, а не конструктор
Самый кек будет с перегрузками. Как их реализовать рекваердами, я хрен знаю.

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


Аноним 30/05/22 Пнд 18:24:34 2367324 1153
>>2367205
А если прогнать через IL и посмотреть что выходит?
Аноним 30/05/22 Пнд 18:45:18 2367331 1154
freeman-kozel.jpg 27Кб, 632x236
632x236
Какой же Фриман всё таки козёл! Написал нерабочий код, а я должен разгребать. Посмотрел в версии книги для асп 3.1 он полностью переписал всё так, что у него даже файлы другие и всё по-другому. А мне теперь разгребай. Да откуда я должен знать, почему эти сранных методов нет!? Очевидно, микрософты - козлы, их выпилили. Зачем? Хрен его знает! Надо же создавать иллюзию работы, вот и выпиливают куски кода. И ведь прошло всего 3 года. В другом языке это всё бы работало без проблем, но только не здесь. Измения ради изменений.
Аноним 30/05/22 Пнд 18:45:23 2367332 1155
2022-05-3018-39[...].png 183Кб, 474x314
474x314
>>2367145
Летит программист в высокоуровневом крылатом сишарпе, все выше, и выше, и выше.
Так и не нашел старую озвучку — одно говно новое, поэтому будет только скрин.
Аноним 30/05/22 Пнд 19:00:49 2367347 1156
>>2367331
> а я должен разгребать

да. это недостаток достоинства модели подключения модулей асп.нет кор. Удобство - подкинул нюгет пакет и services.AddFooBar и радость. Но если чужой отрывок кода и просто тупо не знаешь что нужно подключать. Даже знание неймспейса не поможет ибо к какой либе оно относится. И решарперовский поиск по нюгету оп неймспейсу не особо помогает.

И это мешает читать чужой код не в иде ибо хз из какого неймспейса класс.



Аноним 30/05/22 Пнд 19:09:21 2367353 1157
>>2367295
кейс

обычный класс анемик модели с кучей get/set. как любят разные орм.
И вот мы создаем такой объект и думаем "а как бы тут защититься от человеков" - и лепим конструктор. Но вот беда - поля то все равно открыты... и закрываем их. И тут уже ломается наш орм который не умеет через конструктор все делать. Ну делаем для орм пустой конструктор - и снова опасность от человеков который макакооспой заражаются.
делаем конструктор интернал - и ничего не работает.

туда же и сериализаторы разные. Я аж удивляюсь что нельзя сделать интернал/привате конструктор.

Вот для таких случаев очень не хватает required,
Аноним 31/05/22 Втр 08:59:08 2367730 1158
Что лучше в начале прочитать: Рихтера или Скита?
Аноним 31/05/22 Втр 09:02:55 2367732 1159
>>2367730
А какой у тебя уровень? Если низкий то тебе рано скита читать. Если нет понимания архитектур, паттернов и прочего, а только знания синтаксиса и возможностей C# - то нет смысла читать скита
Аноним 31/05/22 Втр 09:16:11 2367740 1160
>>2367732
Уровень: прочитал Троелсена.
Аноним 31/05/22 Втр 09:28:20 2367746 1161
>>2367740
Это ни о чем не говорит. Зайди на sharplab.io и сделай асинхронный метод какой-нибудь и посмотри во что он компилируется компилятором. Или сделай метод с yield return. Если поймешь хотя бы больше половины - читай Скита
Аноним 31/05/22 Втр 10:46:22 2367792 1162
Подскажите дорожную карту изучения ASP.NET Core
Аноним 31/05/22 Втр 11:29:36 2367823 1163
помогите с тестом:
.core 5.0 апи метод контроллера должен вернуть сгенерированный файл txt в кодировке windows-1251, попробовал несколько вариантов из гугла, файл всегда в кодировке utf-8
Аноним 31/05/22 Втр 12:14:47 2367842 1164
(int) всегда берёт ближайшее большее целое?
Аноним 31/05/22 Втр 15:15:50 2367977 1165
>>2367823
я конечно хз че там с кодировками, но всегда можно отдать как байты.
Аноним 31/05/22 Втр 15:37:47 2368000 1166
советую, пока не поздно, вкатится в разработку на MAUI
платформа выглядит крайне перспективной на айти рынке
майки наконец смогли показать, что они могут в кроссплатформенность
Аноним 31/05/22 Втр 15:59:23 2368020 1167
Аноним 31/05/22 Втр 16:03:05 2368022 1168
>>2367977
>но всегда можно отдать как байты.
А ты не очень умный.
Аноним 31/05/22 Втр 16:12:33 2368030 1169
>>2368022
не буду спорить. я не настолько умен, чтобы плодить кодировки. предпочитаю использовать везде юникод.
Аноним 31/05/22 Втр 16:25:04 2368043 1170
>>2367977
да был бы у меня выбор пихнул бы всё в пдф.
но вот нужен именно txt в определенной кодировке
Аноним 31/05/22 Втр 16:55:24 2368074 1171
Аноним 31/05/22 Втр 17:15:43 2368088 1172
Как вы изучали ASP.NET Core?
Аноним 31/05/22 Втр 17:23:20 2368098 1173
>>2367792
>>2368088
Сначала изучи тему сетей и протоколов, osi, весь стек tcp/ip, попрактикуйся с реализацией этих алгоритмов на чистом Си. Потом уже можешь к асп переходить.
Аноним 31/05/22 Втр 17:25:32 2368099 1174
>>2368098
>Сначала изучи тему сетей и протоколов, osi, весь стек tcp/i
Чек. У меня даже сертификат Cisco CCNA есть

>попрактикуйся с реализацией этих алгоритмов на чистом Си
Зачем мне тогда асп, если я напишу сам всё?
Аноним 31/05/22 Втр 19:01:43 2368189 1175
>>2368000
Даже линупс приложения можно писать?
Аноним 31/05/22 Втр 20:12:21 2368256 1176
Кто нибудь писал расширения для студии?
Как там выводить сообщения в Immediate Window?
Аноним 31/05/22 Втр 20:54:08 2368287 1177
>>2368189
Сообщество будет поддерживать.
Аноним 01/06/22 Срд 00:56:05 2368387 1178
Интересна тема машинного обучения. Стоит ли мне учить какой-то другой, заточенный под эту задачу язык?
Аноним 01/06/22 Срд 02:04:25 2368422 1179
>>2368387
Да, другой.
И тема машинного обучения в плавне "интересности" сильно переоценена. Если у тебя мозг явно не заточен под это (и я не про любовь в математике и решение задач, а скорее колупание в статистике), то будет смертельно скучно.
Аноним 01/06/22 Срд 09:57:52 2368532 1180
Как сконвертировать байты в мегабайты?
мегабайты = байты /1000000
мегабайты = байты / 1024/ 1024

И что показываешь виндовс в проводнике? Мебибайты или мегабайты? Почему нас в школе учили, что в мегабайт равен 1024 байту?
Аноним 01/06/22 Срд 09:59:40 2368534 1181
>>2368422
Так процесс всегда скучен. Интересен результат.
Аноним 01/06/22 Срд 10:39:19 2368553 1182
>>2368532
Самое простое для запоминания.
Байт - единица хранения данных.
Бит - единица скорости передачи данных
Аноним 01/06/22 Срд 10:47:15 2368556 1183
>>2368532
>что в мегабайт равен 1024 байту?
готовили из вас кассиров для пятерочки. в мегабайте 1024 килобайта, а не байта

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

Кто проводник писал - программисты или маркетолухи?
Аноним 01/06/22 Срд 10:49:02 2368557 1184
>>2368532
>И что показываешь виндовс в проводнике? Мебибайты или мегабайты? Почему нас в школе учили, что в мегабайт равен 1024 байту?
Учили тебя правильно. Но есть такие ублюдки как маркетологи. Которые решили, что мы будем писать на жестком диске 100Мб и все будут думать, что там 102400 байт, а на самом деле там будет 10000, а разницу в карман. Та же самая фигня и с гигабайтами и с террабайтами.
Ну так вот, Билли не прогнулся под мудаков и винда показывает честные x1024 все единицы. А вот у пингвинояблочников соснули и жрут маркетологический высер.
Аноним 01/06/22 Срд 10:57:34 2368561 1185
>>2368532
> Как сконвертировать байты в мегабайты?
Так
> мегабайты = байты /1000000

> И показываешь виндовс в проводнике?
Мебибайты

> Почему нас в школе учили, что в мегабайт равен 1024 байту?
Потому что так написано в Постановлении Правительства РФ
Естественно, там не 1024 байта в мегабайте, а 1024 килобайта
Аноним 01/06/22 Срд 12:07:34 2368617 1186
>>2368557
Вот это нежданчик, не знал.
Аноним 02/06/22 Чтв 12:12:31 2369497 1187
А правда, что сейчас все отказываются от Visual Studio в пользу VS Code?
Аноним 02/06/22 Чтв 13:04:04 2369537 1188
>>2369497
кто эти все? меньше слушай байки.
Аноним 02/06/22 Чтв 13:58:47 2369590 1189
>>2369497
вс код, насколько я встречал, в основном служил для редактирования. Если тебе нравится урезанный функционал, то вперед, если тебе нравится добирать плагинами то, что из коробки у студии, то вперед.

Единственное, как это дерьмо влияет на жизнь — это лезет в выдачу поисковика при запросе студии.
Аноним 02/06/22 Чтв 14:05:16 2369599 1190
Слушайте, а можно как-то игнорировать хит по элементу, который расположен слоем выше в WPF? Я так понял, если есть хоть 0,1 непрозрачности, то он будет блокировать хит нижнего элемента.

Хочу сделать кастомную иконку курсора, но там динамическое изменение формы, поэтому просто кастомный курсор не подойдет. Решил прятать курсор и выводить свою иконку в виде пикчи, но она начинает блокировать тач-слой моего окна.
Аноним 02/06/22 Чтв 14:24:36 2369616 1191
>>2369599
Щас заметил, что в фотошопе, где кастомный курсор со сложным поведением, иконка немного смещена или сделана так, чтобы хитпоинт был пустым. В другой просто насрали на функционал и там просто нет источника проблемы.

Еще была идея сделать битый пиксель в иконке.
Аноним 02/06/22 Чтв 14:51:49 2369638 1192
>>2364936
в профессоре совсем нет ничего про async await.
Аноним 02/06/22 Чтв 15:05:29 2369658 1193
>>2367003
и правильно сделает, что не даст идти дальше. Поскольку метод Main завершится быстрее, чем скопируется твой файл во вторичной таксе.
Аноним 02/06/22 Чтв 15:43:04 2369692 1194
>>2334569
>nullable eference types - спорная штука
Норм тема статический анализатор теперь ебет за нулл и сложнее его проебать.
> дефолтная реализация в интерфейсах - многие до сих пор не понимают нахуя
Кал говна
Аноним 02/06/22 Чтв 15:44:55 2369695 1195
>>2334924
Не делай так никогда. Partial тоже не используй, разве что если хочешь генерируюмую часть от самописной отделить.
Аноним 02/06/22 Чтв 15:48:26 2369699 1196
>>2335532
Солид не для вкатунов. Просто забудь пока для него. Пока не поешь говнокода на проектах, не поймешь зачем он нужен. Говнокод можно кстати написать, если слишком упарываться по солиду, потому что в этом деле нужно искать баланс.
Аноним 02/06/22 Чтв 15:51:59 2369703 1197
image.png 15Кб, 903x483
903x483
Двач, нужна помощь.
Есть кнопка, создающая на windows форме массив кнопок. Нужно модифицировать этот код так, чтобы программа создавала эти кнопки в виде цветков. Пытался найти в гугле и что-то нифига дельного не нашел. Код можно глянуть тут https://0bin.net/paste/SxhzkgTX#9gwqRes9DFl4kdmFRL53+BLC-R6x36mzGCxLzG/6FtY
Аноним 02/06/22 Чтв 15:53:38 2369705 1198
Аноним 02/06/22 Чтв 15:57:31 2369710 1199
>>2342956
В превью версии можешь, в 11 шарпе добавили дженерик математику. Олсо в джаве фейковые дженерики со стиранием типов в рантайме.
Аноним 02/06/22 Чтв 16:00:33 2369715 1200
>>2369703
Что значит в виде цветков?
Аноним 02/06/22 Чтв 16:00:59 2369716 1201
>>2346975
Двачую базированного шарписта. Хотя не во всем с ним согласен.
Аноним 02/06/22 Чтв 16:04:15 2369721 1202
image.png 266Кб, 416x396
416x396
>>2369715
ну что-то в виде вот этого
Аноним 02/06/22 Чтв 16:24:06 2369736 1203
>>2369703
Растровых? Тогда кидай .png на бэкграунд c прозрачным фоном, у кнопки выстави флат-стиль и выстави в ноль обводку.

Если нужно поменять контур кнопки, то надо переходить на wpf. Я именно из-за этого туда и перешел — там можно векторный контур использовать в качестве формы кнопки.


Аноним 02/06/22 Чтв 16:30:12 2369745 1204
Аноним 02/06/22 Чтв 16:33:11 2369751 1205
>>2369745
Охренеть. Какая же клевая штука, я уже нацелился городить города. Вообще-то я уже непоправимо нагородил кое чего.
Аноним 02/06/22 Чтв 17:15:32 2369790 1206
>>2369751
А нужно было всего лишь нормально погуглить..
Аноним 02/06/22 Чтв 17:47:13 2369821 1207
>>2369710
А что там с ковариантностью и контравариантностью?
Аноним 02/06/22 Чтв 19:41:13 2369935 1208
А можно как-то узнать, что экземпляр класса удален?
Вот я создал
var R = new MyRectangle();
а потом снова
R = new MyRectangle();

Как узнать, что первый удален со всеми данными? Писали, что сборщик мусора сделает все сам, но у меня например был случай, когда там оставалась подписка на событие и экземпляр продолжал спамить в консоль, хоть переменной я уже присвоил новый экземпляр. Как быть уверенным?
Аноним 02/06/22 Чтв 20:28:08 2369989 1209
>>2369935
Деструктор написать. Но и там вроде гарантий нет.
Есть ещё iDisposable
Аноним 02/06/22 Чтв 20:49:09 2370009 1210
Аноним 02/06/22 Чтв 21:06:35 2370031 1211
>>2370009
Разве это не просто удалит ссылку?
Аноним 02/06/22 Чтв 21:14:42 2370039 1212
>>2369935
Переходить на концепцию lifetime-ов. Для веба обычно людям хватает того, что встроено в DI (лично мне не очень), а для десктопа нужно пошире решение.

>>2369989
>Деструктор написать
финализатор не будет вызван ибо объект не потерян

>Есть ещё iDisposable
Очевидная, но слабая концепция

Аноним 02/06/22 Чтв 23:08:28 2370126 1213
>>2369935
Вызвать GC.Collect, GC.WaitForPendingFinalizers и проверить что объект - null
А что ты хотел в управляемой среде-то?
А такие проблемы как у тебя - решаются профилировщиком и следованием гайдлайнам.
Аноним 02/06/22 Чтв 23:13:05 2370131 1214
0 fEhv9-qJAAfBk[...].png 11Кб, 536x160
536x160
Вот я пишу свой велосипедный http-сервер. Ну, типа чтобы лучше понять как это все работает.
Ну, собственно - когда я пробую дудосить этот вот сервер - примерно прикриплейд наблюдается. Т.е. горбатый коллектор - постоянно что-то там удалить хочет.
Я и пулы памяти вроде использую, и переиспользую AsyncEventArgs, но вот такая вот хрень.
Как мне узнать причину и какие есть способы снизить число дерганья GC?
Аноним 03/06/22 Птн 07:19:09 2370256 1215
>>2370031
Если на объект нет ссылок GC смывает его в парашу.
Аноним 03/06/22 Птн 11:17:39 2370430 1216
Задача со звездочкой.

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

В общем суть такая, у меня есть список объектов у которых внутри могут быть списки с такими же списками, глубина условно не ограничена. Так вот мне надо имея айди обьекта удалять его из любого уровня в котором он бы не находился, я пока придумал только фор форов н-форов, что делать Анон?
Аноним 03/06/22 Птн 11:27:35 2370442 1217
>>2370430
Подписывать объекты при их создании на ивент удалить(айди). Если айди == мой, то удалить себя.
Аноним 03/06/22 Птн 11:35:25 2370447 1218
>>2370430
Ну или рекурсией ещё. В рекурсивной функции будет только один фор, который перебирает список чайлдов и для каждого чайлда вызывает эту же рекурсивную функцию. Таким образом, ты вызываешь один раз удалить(айди) для корневого элемента, он сначала смотрит, не равен ли айди его собственному, если равен, то сам сразу и удаляется. Иначе вызывает удалить(айди) для каждого чайлда, который так же вызывает для каждого своего чайлда, который также... ну ты понел.
Аноним 03/06/22 Птн 11:44:08 2370453 1219
>>2370447
А чем это лучше фора в форев н-форов?
Аноним 03/06/22 Птн 11:45:40 2370456 1220
>>2370442
А вот тут поподробнее, как это сделать, первый раз о таком слышу.
есть, где пример как это работает?
Аноним 03/06/22 Птн 11:52:19 2370467 1221
>>2370456
> есть, где пример как это работает?
Есть. В МСДН. Я уже на обед убегаю. Давай сам. Учись добывать инфу.
Аноним 03/06/22 Птн 11:57:03 2370473 1222
>>2370453
Лаконичнее в плане кода. Но затратнее в плане памяти. Вообще задача говно, а не со звездочкой, и все только потому, что кто-то дико проебался с проектированием классов.
Аноним 03/06/22 Птн 12:07:40 2370482 1223
>>2370430
Типичный поиск по графу. Хочешь в глубину, хочешь в ширину.
Аноним 03/06/22 Птн 12:13:07 2370487 1224
image.png 288Кб, 860x784
860x784
>>2370482
А можно это сложный и долгий алгоритм обойти вот как этот >>2370442 анон предложил? Он что-то адекватное запостил?
Аноним 03/06/22 Птн 12:14:16 2370489 1225
>>2370487
Я как-то не понял например что значит "удалить себя"
Аноним 03/06/22 Птн 12:35:02 2370503 1226
>>2370489
> что значит "удалить себя"
Удалить ся из списка и отдать ся во власть ГЦ. Или если объект диспозабл - диспознуться.
Аноним 03/06/22 Птн 12:38:07 2370508 1227
image.png 288Кб, 860x784
860x784
>>2370503
ММ, ясно... ничего не понял.
Аноним 03/06/22 Птн 12:47:23 2370515 1228
>>2370430
Анон хочет удалить:
> Аноны, у меня типичная алгоритмическая задачка, где легко скатится в факториал форов.
> В общем суть такая, у меня есть список объектов у которых внутри могут быть списки с такими же списками, глубина условно не ограничена. Так вот мне надо имея айди обьекта удалять его из любого уровня в котором он бы не находился
>>2370508
Ему посоветовали, как удалить. То что не понял ты - конечно печально для тебя.
Аноним 03/06/22 Птн 12:52:33 2370518 1229
>>2370515
Извини бро, но диспозабл элемента коллекции в коллекции которая не должна диспоузнутся это звучит как толстый троллинг... ну или я не понял
Аноним 03/06/22 Птн 12:56:02 2370525 1230
>>2370518
> ну или я не понял
Или я невнятно выразился. Я имел ввиду:
1. Удалиться из коллекции.
2. И только потом, в зависимости от типа объекта:
2.1. Ничего не делать, ГЦ сам всё сделает.
2.2. Самостоятельно диспознуться, если объект диспозабл.
Аноним 03/06/22 Птн 13:11:06 2370539 1231
>>2370525
Но у меня же в евент хандлере не будет доступа к родительской коллекции.
Аноним 03/06/22 Птн 13:12:31 2370543 1232
image.png 9Кб, 694x85
694x85
>>2370525
Ну вот кстати что пишут на стак оверфлов по поводу этого.
Аноним 03/06/22 Птн 13:30:35 2370568 1233
>>2370430
Просто Сериализируй твою коллекцию и удали все что тебе надо из нее одним заходом с помощью обычного регакса, а потом десериализируй обратно, ИЗИ ЖЕ НУ!
Аноним 03/06/22 Птн 14:37:01 2370637 1234
Шарпаны, сколько примерно может стоить написания враппера для двача?
Аноним 03/06/22 Птн 14:52:38 2370650 1235
>>2370637
Студенты могут сделать такое на лабе.
Аноним 03/06/22 Птн 14:56:01 2370652 1236
>>2370543
Поэтому бери старую добрую рекурсию.
Аноним 03/06/22 Птн 15:00:11 2370654 1237
>>2370652
Да, я подозревал что магии не получиться,
прям закон сохранение вычислительной способности получается.
Аноним 03/06/22 Птн 15:09:28 2370667 1238
>>2370650
Что-то ты переоценивашь студентов. Даже в рамках курсовой 95% не сможет.
Аноним 03/06/22 Птн 16:47:11 2370812 1239
>>2370487
>Он что-то адекватное запостил
Нет. Это оверхед. Граф обойти проще.
Аноним 03/06/22 Птн 16:50:33 2370816 1240
>>2370568
самый правильный подход.
Аноним 03/06/22 Птн 16:55:00 2370822 1241
Пересел с крестов на шарп. Это просто язык богов. Столько возможностей, голова кругом идёт.
Аноним 03/06/22 Птн 16:55:08 2370823 1242
>>2370812
Что есть "обход графа" как не фор форов, до которого додумался вопрошающий изначально?
Аноним 03/06/22 Птн 17:07:47 2370833 1243
>>2370822
только выразительности не хватает, наследие поганой жавы
Аноним 03/06/22 Птн 17:09:00 2370836 1244
>>2370833
> выразительности не хватает
Например?
Аноним 03/06/22 Птн 17:47:01 2370877 1245
>>2370836
все познается в сравнении. тебе не с чем сравнить, поэтому для тебя норм.
я же пишу еще на котлин и питоняше и у меня на шарпе глаз дергается. в котлин упор на минимизации синтаксического шума (хотя не без WTF иногда), в шарпе же "делаем свою жаву".

такого добра много, но все вспоминать..., да и где грань между "синтаксически уродливо" и "нет такого функционала вообще"
- точки с запятой.
- if не возвращает значение (хотя бы switch завезли но то такое).
- нет блоков let, also, with и т.д. if(param is {} v) выглядит уродливо. Своя реализация Let тоже. Ну Also еще можно слепить как extension
- определение ламбд где необходимо всегда упомянуть параметры (нет неявного it) и проставить =>
- уродливая сигнатура функций вида Func<int, string, string> - бррр
- нет Unit в шарпе. Я уже ранее писал, что это адски мешает если ты либописатель и либописатели обычно просто плюют на все и вводят свой Unit (пример реактив и тот же Medaitr)
- неймспейсы. тут товарищ выше писал что хер поймешь откуда класс. но это 2 стороны одной медали - в котлине нужно указать весь импорт и это может быть емко. Но тут я за котлин ибо можно *
- в котлин можно функции без классов, а также можно делать extensions для статически классов. в шарпе приходится лепить ClassEx
- val (а не только var) полезен. А еще так обозначаются свойства. В
- в шарпе все лепят IList, который к тому же не кастануть к IReadOnlyList (поэтому и лепят IList)
- как же достало что нельзя использовать везде Array.EmptyList<T> ибо "неизвестно во время компиляции".
- аналогично с string.Empty


Аноним 03/06/22 Птн 18:16:47 2370898 1246
>>2370877
Дак в котлине всё равно JVM со всеми недостатками рантайма типа стирания типов.
Аноним 03/06/22 Птн 18:25:53 2370901 1247
>>2370898
но разговор то о выразительности кода (лаконичность, минимальность "а как это выразить"), а не о рантайме

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

на шарпе же вечно "да сколько можно писать этот new" ) или какой то анализатор жалуется на Task.Run "рекомендуется использовать перегрузку принмающий скедулер" и просто мозг сломаешь подобрать эту перегрузку из подсказок (а если зайти в доку то там от <<<<>>>> глаза потекут)

шарп сильно слаще жавы, но все же в основе своей "делаем свою жаву"
Аноним 03/06/22 Птн 19:29:38 2370935 1248
>>2370877
> тебе не с чем сравнить
Говори за себя, вычислитель знания по переписке.
Аноним 03/06/22 Птн 19:32:49 2370940 1249
>>2370935
лол.ты сам сказал что пересел с крестов. Был бы в твоем багаже более выразительный язык чем кресты - ты бы скромнее в оценке шарпа.
Аноним 03/06/22 Птн 19:32:59 2370941 1250
>>2370901
Получается лучше изучать джаву, а потом переходить на котлин, а не маяться с сишарпом?
Аноним 03/06/22 Птн 19:35:41 2370944 1251
>>2370941
нет конечно
жава вообще страх и ужас.
И я так то не защищаю котлин, а критикую шарп
но нахожусь то я все равно в треде про шарп.

котлин более выразителен - факт
но жава рантайм все портит.
Аноним 03/06/22 Птн 19:50:37 2370954 1252
Вот все говорят: начинайте с практики, а потом читайте книги/изучайте теорию.
Ок, сажусь писать свой сайт на ASP.NET. И что я могу без теории написать? Ничего! Только потыкать стандартную заготовку и закрыть редактор.
Аноним 03/06/22 Птн 19:53:23 2370957 1253
>>2370940
> ты сам сказал
Ты что-то путаешь, я крестов ваще не знаю. И "пересаживаться" мне не надо. Я просто беру нужный язык и пишу на нём, держа под рукой документацию. Ифы и форы там везде одинаковые.
Аноним 03/06/22 Птн 19:54:28 2370958 1254
>>2370954
Речь не про продакшен-левел веб-сервисы, дурилка, а про простые программки уровня калькулятора.
Аноним 03/06/22 Птн 19:55:17 2370962 1255
>>2370944
> котлин более выразителен - факт
Какой факт? Чем именно эта параша более выразительна? Это же не язык, а дрисня!
Аноним 03/06/22 Птн 19:58:42 2370969 1256
>>2370958
Ещё проблема, что по ASP.NET MVC 6 нет книг. Я находил только старые книги по ASP.NET MVC 2 на русском и 3.1 на английском. Но они уже не актуальные и код из них не работает.
Я где-то с апреля пытаюсь разобраться, но всё разбивается о эту несовместимость.
Аноним 03/06/22 Птн 20:11:31 2370992 1257
>>2370969
Попробуй МСДН вместо книг. Будь современным!
Аноним 03/06/22 Птн 20:18:04 2370999 1258
>>2370957
>Ты что-то путаешь, я крестов ваще не знаю
бывает. тут все аноны, а мне откуда знать кто тут кто. Первоначалный пост был про "пересел с крестов".

>>2370962
>Чем именно эта параша более выразительна?
много чем. достаточно сделать порт с одного на другое увидеть разницу. Там сразу минимизирован синтаксический мусор вида new, ;, единственный параметр в лямбде (вместо него неявный it), if возвращает результат, изначально нормальный switch, вменяемые enum, у которых значение может быть не только число, наличие Unit из коробки, val, изначальное разделение коллекций на мутабельный и нет, возврат из лямбд и так далее
А всякие там делегация свойств, расширение скоупов, расширение статиков позволяют делать шикарные DSL.

Я люто ненавижу жаву и ее рантайм, но выразительность котлина отрицать не могу - получается короче и менее замусорено чем в шарпах.
Аноним 03/06/22 Птн 20:41:02 2371006 1259
>>2370969
>по ASP.NET MVC 6 нет книг
За каким хуем вы все в эту 6-ку с нуля лезете-то?
3.1 вполне себе актуальна, на данный момент и инфы по ней достаточно. Изучаешь, практикуешься. Потом перескочить на 6 будет дело недели-двух времени.
Аноним 03/06/22 Птн 20:50:24 2371011 1260
1.png 63Кб, 1547x908
1547x908
>>2370430
Я бы как-то так делал...

Аноним 03/06/22 Птн 21:08:41 2371020 1261
>>2371011
Ты рекурсию нарисовал.
Аноним 03/06/22 Птн 21:09:30 2371021 1262
>>2371006
> За каким хуем вы все в эту 6-ку с нуля лезете-то?
В этом треде сидят сороки-белобоки, любящие всё новое, блестящее.
Аноним 03/06/22 Птн 21:17:13 2371026 1263
>>2371021
>всё новое,
почти год уже дотнету 6, который при этом LTS
Аноним 03/06/22 Птн 21:28:24 2371028 1264
>>2371020
Ну да. Что в этом плохого?
Аноним 03/06/22 Птн 21:41:05 2371033 1265
>>2371028
Ничего. Её сразу предложили в треде, некоторые покочевряжились, но в конце все сошлись в том, что рекурсия топ. А ты её нарисовал блок схемой, даже не зная, что это она и есть.
Аноним 03/06/22 Птн 22:25:46 2371050 1266
>>2371026
>почти год уже дотнету 6, который при этом LTS
Ебаклак еле 7 месяцев с релиза прошло, какой год.
Ты попробуй сначала проекты нормальные найди на 6-м дотнете-то, чтобы имело смысл за него браться игнорируя все предыдущее.
Аноним 03/06/22 Птн 22:34:13 2371052 1267
>>2370969
А там разница кроме стартап.кс есть? Я вот сделал свой минидвач на мвц на .нет6 по книжке для 3.1. Литералли разницы никакой
Аноним 03/06/22 Птн 22:37:56 2371054 1268
>>2371050
мне искать не нужно. у меня давно перешли. это ведь не равносильно переходу с 4.8 на кор
Ощущения крайне положительные.

>>2371052
вот именно что разница не "старое все сломалось нах". Да и стартуп никуда не делся. Ну да пришлось програмс.кс подправить.
Аноним 04/06/22 Суб 07:03:34 2371189 1269
>>2371050
Зачем искать проекты на 6 дотнете, если на него прекрасно переносятся проекты с 5 + новые фичи и повышение производительности. Сколько проектов не перенес, только одно ломающее изменение в Npgsql было.
Аноним 04/06/22 Суб 08:01:46 2371200 1270
>>2371020
Это поиск по графу в глубину
Аноним 04/06/22 Суб 08:50:08 2371231 1271
>>2371200
> кококо, это баззворд по баззворду
Это рекурсия, чувак.
Аноним 04/06/22 Суб 09:10:46 2371244 1272
>>2371231
Алгоритм можно реализовать как рекурсивно, так и итеративно.
Аноним 04/06/22 Суб 09:28:34 2371254 1273
2022-04-2208-46[...].png 63Кб, 1410x533
1410x533
>>2370901
>больше ориентирован на задаче и самый минимум на том "а как это выразить"
Смотрел недавно какое-то видео по питону и мне чуть не поплохело. Типа
a = 5
b = 5
a is b //true

a = 1200
b = 1200
a is b //false

Это такая же мотня как с жаваскриптом, когда пытаются облегчить жизнь юзеру, но в итоге ломают логику поведения, генерируя исключения из правил. Лично мне такой подход, как в примере выше кажется сложнее и запутаннее, чем в c# — он не последователен.

Как в бэ скинули родмап по джаваскрипту, а там какие-то поднятия, какие-то let помимо var. Но если все это посмотреть, то дерьмо создано только для того, чтобы уйти от логики большинства языков, и что характерно создает проблему, которую либо вот так оставляют, называя ее ПОДНЯТИЕМ, к примеру, либо фиксят изобретением велосипеда, типа var на смену let (нахера ее изначально придумывали, дундуки?)

Ну да МЫ ЖЕ ДОЛЖНЫ СОСРИДОТАЧИВАТЬСЯ НА ЗОДАЧЕ, а в итоге голова засрана какой-то хуйней из исключений из правил. Ебал я в рот петухон и жаваскрипт.
Аноним 04/06/22 Суб 09:37:23 2371268 1274
Можно в студии как-то чистить список ошибок? Иногда возникают такие, типа ошибки записи в файл, когда вроде файл давно освобожден, сборка успешно прошла, но ошибка висит мертвым грузом и не собирается уходить.
Аноним 04/06/22 Суб 10:38:58 2371295 1275
Ньюфаговопрос. Вот есть у меня два класса, в каждом есть большой жирный метод. В другом классе я хочу вызывать эти методы, но не сразу, а сначала часть метода из первого класса, потом часть из второго, потом снова часть из первого (с того места, где в прошлый раз была остановка) и так далее. Какие мне слова гуглить для такой реализации?
Аноним 04/06/22 Суб 10:39:41 2371297 1276
>>2371254
потому что ты ожидаешь что питоновский is то же самое что шарповский, а это не так.
(кстати это типичная проблема "со своим уставом...". Я изучил туеву хучу языков, но с котлин у меня была проблема, пока я не перестал искать аналогии с шарпом и тогда произошел взрывной рост обучения)

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

> а там какие-то поднятия, какие-то let помимо var.
я хз че такое let, но если иммутабельная переменная, то штука полезная. Вообще всякие val, разделение на мутабельные коллекции и остальные происходит у тех, кто давно кодит и приходит к строгости, к контрактному программированию, когда не надеешься на авось, а хочется средств от языка, что не дают выстрелить человеческому фактору (помимо конечно тех оптимизаций что дает этот let/val типа захвата переменных)

В шарпе как то не приживается это все. Вот кто использует контрактное программирование от мелких, кроме них самих в фреймворке? Даже в визуал студии слепили свое vs-validation. Кто использует IReadOnlyList вместо "везде IList"? Все на авось, все по нашему.

>в итоге голова засрана какой-то хуйней из исключений из правил
поверь это не так. Питон прост как сатиновые трусы, то есть основан на простых принципах и о них не думаешь. Я много пишу на обоих языках и на питоне в разы быстрее именно из-за нулевой загруженности "а как тут выразить". И, самое главное, есть подсказки типов, из-за чего intellisence работает.
Аноним 04/06/22 Суб 10:47:41 2371302 1277
>>2371295
пишешь ручную кооперативную многозадачность? зачем?
Обычно они решаются (если нет async/await) через yield (генераторы в питоне, файберы в руби, а в шарпе ...ну посмотри на корутины в Unity). в общем гугли c# корутины
Аноним 04/06/22 Суб 12:02:30 2371340 1278
>>2371297
>я хз че такое let, но если иммутабельная переменная, то штука полезная.
var — это переменная, работающая в пределах блока, где она была объявлена. Но у джаваскриптеров ее раньше не было, была let, а ей поебать где она была объявлена т.е. если ты ее вызываешь раньше, чем она была объявлена (даже если внутри функции), то она перемещается вверх (то самое поднятие) и объявляется до ее непосредственного применения. Ну т.е. джаваскрипт поступил с юзером как мама с сынкой-корзинкой — начинает потакать желаниям корзины, несмотря на то, что это ведет к неминуемым разрушениям.

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

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


Аноним 04/06/22 Суб 12:11:35 2371343 1279
>>2371295
>В другом классе я хочу вызывать эти методы, но не сразу, а сначала часть метода из первого класса, потом часть из второго
Разбивать метод на части, я щитаю. Тебе судьба сама подсказывает, что твой метод слишком жирный.

Лучше сделай еще один метод, который будет запускать два-три коротких. Тогда у тебя появится возможность либо разом запускать всю цепочку целиком, либо и по отдельности каждое из звеньев. Я пришел к такому подходу. И читаться будет проще.
Аноним 04/06/22 Суб 12:13:34 2371345 1280
>>2371340
>Я способен что-то отпустить, если оно покажется мне более простым или функциональным
для этого нужно сначала выключить синдром утенка, что не так то просто. Обычное дело - писать на другом языке как в любимом. При изучении это нормально (по аналогиям быстрее учишься), но дальше только вредит. Не все видно сразу. Я вот хейтил котлиновские companion object считая их уродливой заменой шарповским статикам, но потом понял их силу и теперь хейтю от шарповских статиков, которые меня ограничивают

>или подписку на события
а потом приходит время и заменяешь ущербный сахар подписок на свою реализацию и толку от этих event... только мешают

>А шарповский он логичен, у меня не вызвало никаких вопросов
это работает в обе стороны. если бы ты был питонист, то при изучении шарпа бы точно так же жаловался. И is в питоне означает "тот же самый объект", что не менее логично чем "var is string"
Аноним 04/06/22 Суб 12:26:36 2371359 1281
>>2371345
>для этого нужно сначала выключить синдром утенка, что не так то просто.
Я тебе на примерах расписал, что могу.

>И is в питоне означает "тот же самый объект"
Я был бы согласен, если бы это работало всегда. Теперь поясни, почему это те же самые объекты
a = 5
b = 5
a is b //true
хотя это разные переменные с разными ID. И почему тут внезапно они стали действительно разными, как и должно быть:
a = 1200
b = 1200
a is b //false

А потом ты узнаешь, что там внутри питона вот есть особая логика, которая борется за все оптимизированное против всего неоптимизированного, которая вот думала-думала так, а потом хуякс и передумала. Нет последовательности. Либо ты сравниваешь ссылки, либо ты сравниваешь значения. В питоне какая-то хуйня. Я должен потом с этим ебаться и как-то разруливать. Зачем? Я не вижу в этом объяснения удобства.

>var is string
Си шарп как раз сравнивает ссылки. А ты приводишь пример сравнения по типу.
Аноним 04/06/22 Суб 12:39:36 2371367 1282
>>2371359
>Теперь поясни, почему это те же самые объекты
потому что в питоне все объект, то есть вообще все. все построено вокруг этого. И само собой это не дается даром, поэтому питон кеширует числа от 0 до не помню сколько ради экономии памяти (аналог шарповского string.Intern) - и на этом все.

Не мешает ибо вряд ли кто захочет сравнивать тождественность ссылки для числа вместо простого сравнения через ==. is это аналог ReferenceEquals. И даже если бы в шарпе числа были ссылочными, часто бы ты использовал ReferenceEquals? Да и вообще часто используешь ReferenceEquals?

>Си шарп как раз сравнивает ссылки.
Не знаю о чем ты. is в шарпе это изначально оператор проверки типа (https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/operators/type-testing-and-cast#is-operator)

c#: obj is MyType
python: isinstance(obj, MyType)

Аноним 04/06/22 Суб 12:44:14 2371368 1283
>>2371359
не забывай. питон старше шарпа на 10 лет и даже старше жавы. Он появился еще до всех этих концепций современного программирования и в нем заложены простые принципы, которые удачные и поэтому в 22 году этот язык такой популярный
Аноним 04/06/22 Суб 13:53:33 2371406 1284
Мне тут бабки во дворе рассказали, что любое считывание значения от пользователя надо оборачивать в TryParse. Мол, быстрее работает и ошибок можно избежать. Ладно если надо просто проверить, число ли ввел юзер, а вот если надо еще проверить, что это число меньше 100 и больше 0 и надо повторять запрос до корректного ввода, то получается достаточно большой огород из циклов и условий. Это норма или можно как-то лаконичнее это сделать?
Аноним 04/06/22 Суб 14:18:29 2371410 1285
>>2371406
для валидации согласованности данных используются валидаторы. А считывать через Try или исключения - тут холивар
Аноним 04/06/22 Суб 15:51:48 2371480 1286
image.png 49Кб, 591x689
591x689
image.png 8Кб, 365x122
365x122
Почему порядок инициализации членов классов такой всратый? C# специально так проектируют, чтобы он как можно более непонятный и нелогичный был?
Аноним 04/06/22 Суб 19:07:46 2371635 1287
image.png 273Кб, 720x478
720x478
Аноним 04/06/22 Суб 19:33:38 2371660 1288
>>2371635
Двачую этого. Какой-то патриот реши тральнуть кириллицей. Игнорируем петуха.
Аноним 04/06/22 Суб 20:01:50 2371702 1289
>>2371660
>рублис пеш Наследник
Ебало имаджинировали, как он после каждого слова переключал раскладку?
Аноним 04/06/22 Суб 20:06:35 2371708 1290
>>2371480
>Класс Поле
В котором поле _Поле
Аноним 04/06/22 Суб 20:16:27 2371719 1291
Почему по джаве столько классных докладов, а по сишарпу вообще ничего нет?
Аноним 04/06/22 Суб 20:19:47 2371722 1292
>>2371719
шта шта? да одного дотнетконф и дотнетру на трубе смотреть не пересмотреть
Аноним 04/06/22 Суб 21:45:45 2371767 1293
Сап, аноны. Никто не знает где можно книгу «ASP.NET CORE В ДЕЙСТВИ» (2021, на русском) скачать? Просто я ебал, у меня нет 2-3к сейчас… В интернете нашёл только версию на английском. Попытался начать читать конечно, но выходит супер медленно, я слишком слаб.
Её можно купить в PDF формате. Ну неужели блять никто не слил её в интернет?

Вообще не понимаю как этот ASP.Net осилить уже
Аноним 04/06/22 Суб 21:57:20 2371775 1294
>>2371767
Ну или посоветуйте книжку по asp.net не ниже 5.0 на русском пожалуйста
Аноним 05/06/22 Вск 00:09:48 2371850 1295
Аноним 05/06/22 Вск 10:47:44 2371892 1296
Подскажите как инициализировать COM-компоненту на C#.
Аноним 05/06/22 Вск 10:58:26 2371895 1297
>>2371850
Я слышал, что там майнер встроен
Аноним 05/06/22 Вск 11:13:07 2371905 1298
wtf.png 20Кб, 1439x258
1439x258
Как это работает? У меня мозг уже вытекает.
- Вызываю services.ConfigureApplicationCookie, он принимает Action<ConfigureApplicationCookie> в качестве конфигуратора
- Я ему скармливаю лямбду options => options..., где options это очевидно ConfigureApplicationCookie
- Затем настраивая этот ConfigureApplicationCookie я вызываю options.EventsType, который внезапно принадлежит не ConfigureApplicationCookie, а AuthenticationSchemeOptions и эти типы никак между собой не связаны. Как такое может быть?
Аноним 05/06/22 Вск 11:18:41 2371908 1299
>>2371895
Это было на professorweb.
Аноним 05/06/22 Вск 11:19:13 2371909 1300
>>2371850
Двачую. Вкатуны какой-то кал лезут добывать в бумажной оболочке, то вообще всякие Герберты Щиты с С# эры палеолита. Когда бля все тоже самое написано на Метаните и за бесплатно. ВСЕ сука тоже самое, главное под актуальную версию и местами даже лучше.
Аноним 05/06/22 Вск 11:20:02 2371912 1301
myWVKi67VI4.jpg 28Кб, 320x314
320x314
>>2371892
ПАМАХИТЕ НУ КТО НИБУДЬ.
Аноним 05/06/22 Вск 11:20:52 2371914 1302
>>2371905
> - Я ему скармливаю лямбду options => options..., где options это очевидно ConfigureApplicationCookie

> https://docs.microsoft.com/ru-ru/dotnet/api/microsoft.extensions.dependencyinjection.identityservicecollectionextensions.configureapplicationcookie?view=aspnetcore-6.0

>и эти типы никак между собой не связаны
> public class CookieAuthenticationOptions : Microsoft.AspNetCore.Authentication.AuthenticationSchemeOptions

Троллишь чи шо?
Аноним 05/06/22 Вск 11:25:26 2371915 1303
>>2371909
Я не знаю троллишь ты чи нет. Но вот лично мой опыт: я посмотрел метанит, увидел кучу годных коротких кукбуков. Если этого там нет что мне надо - посмотрел на SO. Если и там нет - пошел уже на MSDN. Из книг по шарпу читал только CLR via C# и то в вузе, просто потому что препод-ебанат заставлял ее прочитать и принимал по ней зачеты, понял на тот момент из нее я ровно нихуя.
Аноним 05/06/22 Вск 11:26:54 2371917 1304
>>2371914
>Троллишь чи шо?
Блять. Реально мозг вытек. Я смотрел по F12 и не увидел наследования, а теперь смотрю есть. Короче всем удачи, я поехал в дурку.
Аноним 05/06/22 Вск 11:43:25 2371926 1305
>>2371767
У меня есть, кину в тренд как домой приду
Аноним 05/06/22 Вск 11:47:27 2371932 1306
format.png 78Кб, 941x358
941x358
У всех ломается форматирование разора при добавлении sucktion section или время переустанавливать шиндуз?
Аноним 05/06/22 Вск 12:13:18 2371950 1307
>>2371909
Дак проблема, что это сайт, который в любой момент может закрыться. А книгу можно скачать на читалку и спокойно почитывать, не портя глаза.
Аноним 05/06/22 Вск 12:24:49 2371955 1308
>>2371932
Тоже ломается. А иногда чинится лол, оче ебано работает кароч
Аноним 05/06/22 Вск 12:30:18 2371957 1309
>>2371950
>это сайт, который в любой момент может закрыться
Если не будешь закрывать вкладку - не закроется.
Аноним 05/06/22 Вск 12:32:58 2371958 1310
>>2371932
Да, у всех. У меня на трёх ПК так, не ебу с чем связано. Думаю майкам просто впадлу делать нормально форматирование страниц и они забили хуй.
Аноним 05/06/22 Вск 12:49:18 2371972 1311
Аноним 05/06/22 Вск 12:50:18 2371974 1312
>>2371958
Мне в джава-треде сказали, что шаблонизаторы не нужны и теперь все делают REST API приложениям. Это в ответ на то, что Razor лучше Thymeleaf.
Аноним 05/06/22 Вск 12:58:45 2371985 1313
image.png 172Кб, 600x600
600x600
Аноним 05/06/22 Вск 13:01:00 2371986 1314
int characterCount = s == null ? 0 : s.Length;

int characterCount = s?.Length ?? 0;

Почему-то мне первая строчка гораздо понятнее, чем этот шарповский сахар, который надо ещё разворачивать в голове.
Аноним 05/06/22 Вск 13:20:10 2371996 1315
>>2371986
Дело привычки, наверно. Но сахар раскрывается на йоба выражениях. Пример из мсдн:
return setsOfNumbers?[indexOfSetToSum]?.Sum() ?? double.NaN;
Аноним 05/06/22 Вск 13:22:35 2371997 1316
>>2371986
Тернарные операторы для конченых долбоебов дрочащих на кол-во строк
Аноним 05/06/22 Вск 13:45:29 2372013 1317
>>2371926
Ебаааать спасибо анон
Аноним 05/06/22 Вск 13:58:27 2372020 1318
У кого-нибудь есть C# 9.0. Справочник. Полное описание языка Джозеф Албахари в электронной версии?
Аноним 05/06/22 Вск 14:59:40 2372055 1319
>>2371660
Оно так намного понятнее и читаемее для носителей русского языка. Смысла сейчас использовать английский - никакого.

>>2371702
>Ебало имаджинировали, как он после каждого слова переключал раскладку?
Раскладка переключается за пол секунды. Да, это добавляет капельку неудобства я вообще себе хочу педаль сделать под стол, чтобы когда ее нажимаешь - использовалась английская раскладка, а когда отпускаешь - русская, да все руки не доходят, но если программист предпочитает экономить секунды на нажатия клавиш написанию простого, понятного и читаемого кода - это говнокодер, а не программист. И это я еще молчу про экономию времени на этапе, когда ты лезешь в гугл чтобы узнать, как правильно "бухгалтерия" переводится или не ошибся ли ты в написании "frequency".
Аноним 05/06/22 Вск 15:17:05 2372068 1320
1654431424481.png 878Кб, 800x600
800x600
>>2372055
Хаха! Маладец! Всё по делу разложил!
Аноним 05/06/22 Вск 15:18:04 2372070 1321
>>2372055
>как правильно "бухгалтерия" переводится или не ошибся ли ты в написании "frequency".
То, что ты чмоня не умеяющая в английский, не означает, что остальным так проще.
Раскладку туда-сюда переключать тебя может и не заебывает, если ты аутист которому в кайф повторяющиеся механические движения. А вот дергать мозг из одного языка в другой такое себе удовольствие для нормального человека.
Аноним 05/06/22 Вск 15:18:33 2372071 1322
Как делать вывод отчётов в впф из ебучего сервера отчётов?
Аноним 05/06/22 Вск 15:23:41 2372079 1323
>>2371926
Боюсь проебать момент и потеряться. Если можешь, то продублируй в тележку ещё пожалуйста @arabskiyrock
Аноним 05/06/22 Вск 15:27:07 2372080 1324
>>2372055
>Раскладка переключается за пол секунды
Это да, но у тебя полсекунды через каждые полсекунды. В сумме это много времени.

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

>как правильно "бухгалтерия"
Да пиши ты транслитом.

>но если программист предпочитает экономить секунды на нажатия клавиш написанию простого, понятного и читаемого кода - это говнокодер, а не программист.
Ясно, жир.
Аноним 05/06/22 Вск 15:53:56 2372105 1325
>>2371635
Вот вы над челом >>2371480 ржете. А я в реальности видел такой код в реальном проекте. Т.е. вот так вот:
private Mutex поле_критическаяСекция;
private int поле_числоПовторений;
private int поле_времяОжиданияМиллисекунды;
private Socket поле_сервер;

...

И вот знаете что. Это был довольно понятный код. И этот код с 2005 года никто не трогал. Хотя прогер уже давно в MS съебал работать.
Такие вот дела.
Аноним 05/06/22 Вск 15:59:01 2372112 1326
Аноним 05/06/22 Вск 16:13:57 2372128 1327
>>2372070
>То, что ты чмоня не умеяющая в английский, не означает, что остальным так проще.
Означает. 95% разработчиков, с которыми я работал - делают именно так. Может, в ваших дотнетах и епамах был немного другой уровень владения английским у сотрудников, но если ты не заметил - епам все, конъюнктура российского рынка меняется, как и актуальность английского языка. И выбор за вами - писать простой, понятный и элегантный для русскоговорящих разработчиков код, или быть выкинутыми на обочину истории.

>>2372080
>Это да, но у тебя полсекунды через каждые полсекунды. В сумме это много времени.
И очень качественный код. Выбор очевиден.
>Не согласен. Появляется визуальный шум из череды английского и русского. И каждый раз когда я вижу подобный код на киберфоруме, мне даже не хочется его читать.
У тебя просто ресентимент. Подобный код реально чище, интуитивнее и проще воспринимается.
>Да пиши ты транслитом.
А оно так сложнее читать потом. Ну т.е. от английского в коде, как бы ватникам не хотелось, полностью не избавиться. Поэтому когда ты натыкаешься в тексте на транслит - ты пару секунд догнать не можешь, что это написано, и только потом понимаешь, что это не непонятная хрень на английском, а русское слово, записанное английскими буквами.
>Ясно, жир.
Ну да жир. Жертвовать качеством кода потому, что долго кнопку нажать - не говнокодерство. Яснопонятно.


Аноним 05/06/22 Вск 17:24:43 2372204 1328
Аноним 05/06/22 Вск 18:16:38 2372235 1329
>>2372204
Ну, для простых крудов - почему нет?
Но том примере - не так и много нагенерированного кода.
Аноним 05/06/22 Вск 19:24:42 2372319 1330
Есть мнение, что программист может освоить фреймворк за 4-5 дней. Я вот с прошлого года не могу ASP.NET освоить.
Аноним 05/06/22 Вск 19:42:22 2372328 1331
Аноним 05/06/22 Вск 20:24:40 2372372 1332
>>2372328
Ебать анон. Благослави тебя господь! Не знаю как тебя благодарить. Огромный респект
Аноним 06/06/22 Пнд 00:32:48 2372505 1333
Аноним 06/06/22 Пнд 06:15:40 2372556 1334
>>2372319
ASP.NET огромен. ЗА 4-5 дней его не освоишь.
Аноним 06/06/22 Пнд 10:05:16 2372609 1335
Что-то не пойму, даже LTS версия поддерживается только 3 года. Получается, что надо переписывать свои программки каждые 3 года, потому что ОС обновится, обновит дотнет и старые проги отвалятся. Как тогда поддерживают легаси проекты по 10-20 лет?
Аноним 06/06/22 Пнд 10:26:03 2372624 1336
>>2372609
Ничего там не обновится. Только в логах будет писать, что вы дескать на неподдерживаемой версии.
Аноним 06/06/22 Пнд 11:29:42 2372685 1337
Можно ли как-то заставить заполнять енум? как интерфейс, вот что бы для каждого енума надо было добавлять какое-то значения иначе будет ошибка компиляции.

В чем соль

У нас есть ебейший енум с правами на овер 100+ енумов
и нужно сделать так что бы когда кто-то добавляет в енум новую позицию он ОБЕЗАТЕЛЬНО добавил названия в другом месте реляцию ЕнамХСтарница, и что бы без добавления такой реляции солюция даже не билдовалась.

Это реально сделать?
Аноним 06/06/22 Пнд 13:54:30 2372764 1338
>>2372685
Юнит тест сделай, который будет проверять совпадение всех полей. Ну или валидатор делающий то же самое где-нибудь в стартапе. Смотря какой подход ты считаешь менее говнокодистым. То что сам по себе твой разросшийся енам уже говнокод, оставим за скобками
Аноним 06/06/22 Пнд 15:21:44 2372846 1339
>>2372764
>То что сам по себе твой разросшийся енам уже говнокод, оставим за скобками

Ну предположим я могу поменять на что угодно, но надо что бы отсутствия записи именно провоцировало ошибку компиляции, потому что речь идет о правах пользователей, и иначе при запуске и попытке что-то делать система может поломаться, могут быть созданы ошибки, мусор в дб в сесиях, уязвимости,и тп, ни в коем случае нельзя допустить даже простую компиляцию проекта
Аноним 06/06/22 Пнд 15:56:54 2372878 1340
>>2372846
Помазать тестами и запилить CI, чтобы с проваленными тестами нельзя было слить изменения.
Аноним 06/06/22 Пнд 16:07:25 2372882 1341
Аноним 06/06/22 Пнд 16:25:47 2372894 1342
>>2372319
Кто автор этого мнения? Обоссать, обосрать и посадить у параши его. Из того же разряда, как стать программистом за полгодика.
Аноним 06/06/22 Пнд 16:28:28 2372898 1343
>>2372204
Все эти авто-генераторы от VS - белеберда, тупо сахар, какая-то культура мышепрограммирования от майкрософт, чтобы завлечь в свою прекрасную VS. Тебе все равно в этом сгенеренном коде придется разбираться и поправлять его. Пользы от этих штук никакой. Проще самому с нуля пальчиками и клавиатурой набацать классов. Клавопрограммирование > мышепрограммирование.
Аноним 06/06/22 Пнд 16:31:07 2372899 1344
>>2371950
Качаешь сайт, в чем проблема. А еще есть куча сервисов с историей инета.
Какой-нибудь сайт по проге (и не только), по сути - это интерактивная книга, просто в восприятие хомо-сапиенса эта идея еще не ужилась.
Сам страдал книгодрочерством раньше.
Аноним 06/06/22 Пнд 16:54:17 2372921 1345
image.png 64Кб, 853x904
853x904
image.png 48Кб, 756x860
756x860
image.png 2Кб, 149x65
149x65
>>2334153 (OP)
Братишка, я тебе покушать принес.
Аноним 06/06/22 Пнд 17:04:41 2372925 1346
>>2372882
Понял. Ну что можно сказать, земля пухом вашей шараге.
Аноним 06/06/22 Пнд 17:09:17 2372931 1347
>>2372921
Хуйня, не по солиду, переделывай. Почему секс знает от том, случился он или нет. Если секса нет, то его и быть не должно. Почему логика получения секса написана в классе хуя да еще и захардкожена. Теперь тебе придется менять класс хуя, когда ты будешь добавлять возможность гомоебли.
Аноним 06/06/22 Пнд 17:46:55 2372989 1348
>>2372931
>Изучил солид.
>Единственное применение его в жизни - ревьювить говнокод про половую еблю, написанный на коленке, для двача.
Аноним 06/06/22 Пнд 18:28:29 2373061 1349
>>2372894
В каком-то подкасте на дотнетру слышал. Там они рассуждали, что можно взять джуна без знания фреймворков и он всё за пару дней изучит.
Аноним 06/06/22 Пнд 18:41:10 2373081 1350
Аноним 06/06/22 Пнд 19:11:07 2373107 1351
Я начинаю изучать C# с виндовс формс. Как повесить на кнопку открытие другой формы?
Аноним 06/06/22 Пнд 19:28:04 2373123 1352
И ещё, как сделать так, чтобы первой открывалась одна определённая форма?
Аноним 06/06/22 Пнд 19:28:08 2373124 1353
>>2372989
>Сап двачик, айти фсё!1 Чому не берут на работу??
Аноним 06/06/22 Пнд 19:28:38 2373125 1354
Аноним 06/06/22 Пнд 19:28:45 2373126 1355
>>2373107
Создаёшь в обработчике нажатия объект формы_2 и вызываешь у него show (кажется)
Аноним 06/06/22 Пнд 19:31:42 2373129 1356
>>2373125
Сам ты долбоёб. И вообще, гугл это вражеский сайт, так что надо писать "заяндекси"!
Аноним 06/06/22 Пнд 19:53:09 2373153 1357
Как и чем можно пилить отчёты (желательно, чтобы ещё можно по данным запроса)? FR и прочая триал-херота как бы нахуй. Как можно провернуть?
Аноним 06/06/22 Пнд 20:13:37 2373186 1358
>>2373129
Хорошо долбоёб. Ты можешь думать что хочешь, но раз ты не способен загуглить банальную хуйню - иди нахуй
Аноним 06/06/22 Пнд 21:26:36 2373245 1359
1.png 43Кб, 527x764
527x764
>>2372931
Я бы сделал как-то так...
Аноним 06/06/22 Пнд 21:43:45 2373261 1360
>>2373245
Полная хуйня. Это избыточно. Переделывай.
Аноним 06/06/22 Пнд 21:55:55 2373266 1361
16486586841880.jpg 74Кб, 749x689
749x689
>>2373261
А по мне в самый раз.
Я бы только реципиенту какие-нибудь абстрактные атрибуты добавил, чтобы стратежки по выбору партнеров можно было легче пилить. Ну и выделил бы какой-нибудь SexResult.
Другое дело, что тут выходит, что секс обязательно подразумевает поставщика и потребителя. С точки зрения бизнес-логики не совсем верно в ситуации, когда у нас они могут меняться ролями или учавствовать сразу несколько.
Аноним 06/06/22 Пнд 23:26:15 2373311 1362
1342816731624.jpg 45Кб, 745x800
745x800
Здрасте.
Думаю поизучать С#. Мне это нужно для атоматизации сборок в 3D cad системах вроде кати, макса, солида. Я так понял что С# более менее пересекается во многих программах такого уровня. Есть конечно С++, но я быстрее себе ноги отсрелю )
Собственно вопрос: книги в шапке сейчас актуальны?
Может есть онлайн курсы хорошие?
Конечный вариант для меня это создание окошка в скнопками и параметрами которые будут менять модель в кад системе.
Аноним 06/06/22 Пнд 23:37:40 2373316 1363
Аноним 07/06/22 Втр 00:01:24 2373331 1364
Аноним 07/06/22 Втр 07:49:00 2373429 1365
>>2373266
Можно участнику секса предлагать оффер секса, со списком других участников и их фетишей/ориентаций и возможно оплаты. В зависимости от оффера, фетишей и способностей участника, происходит отказ или выбор стратегии секса.
Аноним 07/06/22 Втр 07:51:51 2373431 1366
>>2373429
Так же каждый участник секса должен содержать коллекцию типа SexRequirement, по которой будут проверяться потенциальные участники и если требование не выполняется, производится отказ или если участников достаточное количество выполняется GangRapeStrategy.
Аноним 07/06/22 Втр 08:17:17 2373434 1367
>>2373316
Там половина старьё не актуальное по 4 и 5 версиям шарпа, а сейчас уже 10 актуальная.
Аноним 07/06/22 Втр 09:29:02 2373464 1368
>>2373107
>Я начинаю изучать C# с виндовс формс.
Если что, напоминаю, что на дворе 2022г.
Аноним 07/06/22 Втр 10:00:01 2373472 1369
>>2373081
Не карманный справочник?
Аноним 07/06/22 Втр 10:02:59 2373473 1370
.png 88Кб, 333x499
333x499
Аноним 07/06/22 Втр 10:08:25 2373475 1371
Аноним 07/06/22 Втр 10:13:16 2373477 1372
Аноним 07/06/22 Втр 10:19:28 2373484 1373
>>2373311
>Я так понял что С# более менее пересекается во многих программах такого уровня.
Разве? Я ничего не знаю про кад-системы, но обычно, если автоматизация заключается в "получить параметры, вызвать с параметрами" - то ее выполняют на баше, а в противном случае - на питоне.
Аноним 07/06/22 Втр 10:57:22 2373523 1374
>>2373311
>Я так понял что С# более менее пересекается во многих программах такого уровня.
Тут нужно смотреть для каждой системы отдельно.
Там либо предоставляется какая-то библиотека с описанным API который ты можешь подключить к своему проекту, тогда шарп вполне может подойти.
Либо может быть какой-то скриптовый язык (что-нибудь вроде JS-а, пайтона или вообще своей реализации).
Либо наоборот ты должен будешь написать свою библиотеку которая как плагин будет подключаться к CAD-системе. В этом случае там будет что-то вроде своего фреймворка для определенного языка.

Поэтому прежде чем браться за C#, крайне желательно узнать какие варианты сами CAD системы тебе дают иначе просто зря время потратишь.
Аноним 07/06/22 Втр 11:03:53 2373529 1375
Этой весной учил джаву и спринг. В целом было всё понятно, но инфы по спрингу мало и обучение застопорилось. Решил посмотреть ASP.NET. По нему инфы гораздо больше, но при этом я в упор не понимаю этот фреймворк. Все пишут про какие-то бесконечные конфигурации, промежуточное программное обеспечение, а как написать простое веб-приложение никто не пишет. В том же спринге достаточно расставить аннотации и уже получаем готовый контроллер, а здесь вообще ничего не понятно.
Аноним 07/06/22 Втр 11:11:55 2373532 1376
>>2373529
>а как написать простое веб-приложение никто не пишет.
Через app.UseMap((context)=> "Spring SUCK")
Аноним 07/06/22 Втр 12:36:34 2373629 1377
помогите вкатышу, чет вообще не одупляю. Подключаю js файл в html'e, если просто запустить то все окей. Если дело происходит через виртуалку visual studio выдает ошибку Uncaught SyntaxError: Unexpected token '<'. я так понимаю он js файл найте не может. Так как правильно там путь этот прописывать я уже все пробовал. да, дайте нраграду за самый тупой вопрос
Аноним 07/06/22 Втр 13:05:40 2373651 1378
>>2373629
Скриншоты кидай, ничего не понятно, что ты там "просто" запускаешь.
Аноним 07/06/22 Втр 13:07:06 2373655 1379
>>2373529
>а здесь вообще ничего не понятно.
Создаешь класс. Наследуешь от BaseController. Все контроллер готов.
Аноним 07/06/22 Втр 13:08:31 2373658 1380
>>2373629
>как правильно
Не использовать студию для веб дрисни. Она плохо переваривает js, html, xml и прочие подобные штуки.
Аноним 07/06/22 Втр 13:24:51 2373682 1381
>>2373658
Дак значит это правда, что все отказываются от студии и переходят на вс код?
Аноним 07/06/22 Втр 14:23:34 2373759 1382
image.png 14Кб, 392x117
392x117
image.png 8Кб, 207x195
207x195
image.png 7Кб, 398x95
398x95
Аноним 07/06/22 Втр 14:37:16 2373771 1383
Аноним 07/06/22 Втр 14:45:49 2373784 1384
>>2373682
Нет. Для .net языков студия в самый раз.
Аноним 07/06/22 Втр 14:48:00 2373789 1385
>>2373771
ничего не дало, если просто хтмл файл в браузере открыть, все норм, джс-файл подключается. Если через вебсервер visual studio, то вот такая ебала, не видит файл, хз как путь прописать
Аноним 07/06/22 Втр 15:04:15 2373800 1386
>>2373759
А ты добавил в конвеер промежуточного программного обеспечения обработку статических файлов? И почему папка называется html, а не wwwroot?
Аноним 07/06/22 Втр 15:17:10 2373818 1387
>>2373784
Посмотрел свежую книгу Фримана по асп 6 и там он всё делает через командную строку в расчёте на работу с вс кодом, а не на вижлу как в старых книгах.
Аноним 07/06/22 Втр 15:22:18 2373831 1388
>>2373800
это асп кор эмпти проект
я еще не знаю че это такое
Аноним 07/06/22 Втр 15:24:54 2373837 1389
>>2373831
Это тебе не РНР. Тут код сишарпа решает куда что отправлять и если не прописал, то ничего работать не будет.
Аноним 07/06/22 Втр 15:33:34 2373853 1390
>>2373837
понял, спасибо, учу дальше
Аноним 07/06/22 Втр 15:40:08 2373861 1391
>>2373475
Сейчас бы дрочить на книги по последней версии решета, когда можно задрочить предпоследнюю, а о новых 3 фичах на мсдн прочитать.
Аноним 07/06/22 Втр 16:05:41 2373880 1392
>>2373861
Дак старые версии уже не работают. Ты пишешь код из книжки, а он не компилируется. И что читатель должен делать, если он только учится, а не профи в языке?
Аноним 07/06/22 Втр 16:08:06 2373884 1393
На что можно поделить, чтобы получить ноль и без ошибок?
Умножение не подходит.
Аноним 07/06/22 Втр 16:17:00 2373894 1394
>>2373884
А точнее, на какие целочисленные значения нужно умножить или поделить 10, чтобы получить три значения:
0, 5, 10

При условии, что используется только умножение или только деление.
Аноним 07/06/22 Втр 16:20:14 2373899 1395
>>2373880
9-ка не работает, что?
Аноним 07/06/22 Втр 16:26:50 2373903 1396
>>2373880
>Ты пишешь код из книжки, а он не компилируется.
Ни разу не встречал такого, мимо новичок. Максимум что я встречал, это когда IntelSence подсказывал, что некоторые вещи устарели, но это было что-то на уровне оформления и на работоспособность не влияло. Я не знаю куда нужно влезть новичку, чтобы напороться на какие-то удаленные изменения.

Единственное из нерабочего, что я видел, это Set в VB — это выпилили с концами. И еще что-то было вместо Object раньше.
Аноним 07/06/22 Втр 16:29:07 2373904 1397
>>2373903
>И еще что-то было вместо Object раньше.
Вспомнил, Variant это называлось. Т.е. это не конкретно object, но использовался как универсальный тип.
Аноним 07/06/22 Втр 16:32:45 2373910 1398
>>2373861
Это книга, не учебник, а справочник, в котором разъясняют логику шарпа, а не учат программированию.
Аноним 07/06/22 Втр 16:56:31 2373934 1399
>>2373818
>всё делает через командную строку
Можно подумать те кто в Visual Studio работают не через командную строку все делают.
Аноним 07/06/22 Втр 16:58:27 2373936 1400
>>2373880
>Дак старые версии уже не работают. Ты пишешь код из книжки, а он не компилируется.
А что тебе мешает создать проект именно под ту версию по которой книга написана и работать с ней. Все будет компилироваться. Потом уже когда научишься перейдешь на новую версию.
Аноним 07/06/22 Втр 17:21:27 2373957 1401
>>2373936
Дак старые версии не установишь, они не поддерживаются. Только 3.1, да и та работает через пень-колоду.
Пробовал писать код с книжки Фримана по асп 2 и на одном моменте столкнулся, что код не поддерживается и даже заменить его не чем. На гитхабе нашёл код под новую версию, то полностью это место переписано - новые файлы и логика совершенно иная. Я уж молчу, что невозможно установить нугет пакеты старых версий, которых в репозитории просто нет.
Аноним 07/06/22 Втр 18:07:42 2374022 1402
>>2361233
>Я пробовал на vs code, но конечно не так удобно как в вижле
>>2361815
>Дерьмо какое-то для хело ворлд.
>
>А вс код пробовал? Он же легче даже комьюнити-версии. Там накатишь аддон для шарпа и все.

Накатил. Правда приходится смотреть уроки от Школа itProger, они единственные кто на нем пишут
Аноним 07/06/22 Втр 20:31:34 2374175 1403
Есть несколько разных классов со своими уникальными свойствами. Мне нужно вывести в окно все свойства класса, внести изменения и снова записать.

Есть какой-то грамотный подход, кроме как создавать if else для проверки типа каждого класса и потом на каждый из этих классов еще по два метода для чтения и записи свойств, которые я должен прописывать вручную?
Аноним 07/06/22 Втр 20:34:54 2374180 1404
Аноним 07/06/22 Втр 21:17:25 2374215 1405
>>2374175
Тебе со вложенностями или без?
Аноним 07/06/22 Втр 21:27:39 2374224 1406
>>2374175

var property = typeof(MyClass).GetProperty("propName", BindingFlags.Statis | BindingFlags.Public);

property.SetValue(myClassObj, smthValue);


Аноним 07/06/22 Втр 22:26:38 2374271 1407
image.png 14Кб, 645x397
645x397
image.png 7Кб, 639x174
639x174
>>2373957
>Дак старые версии не установишь,
Ну зачем пиздеть если не знаешь.
Вот тебе скрины и Visual Studio 2022. Обмазывайся чем хочешь.
Аноним 07/06/22 Втр 22:27:42 2374272 1408
image.png 27Кб, 475x749
475x749
>>2373957
>невозможно установить нугет пакеты старых версий
Тоже пиздеж. Вот тебе скрин оттуда же из нюгет менеджера.
Это не говоря уже о том, что можно подключать свои репы, либо вообще руками их закидывать.
Аноним 08/06/22 Срд 11:45:25 2374643 1409
>>2372071
Бамп вопросу. Вообще, нихуя непонятно, как это. В основном птолько пдф-файлы как-то, из генераторов отчётов всякие триалки ФР-ок и т.д.
Аноним 08/06/22 Срд 13:59:03 2374765 1410
Можно ли одномерный массив вывести в консоль по рядам? Например, у меня есть массив с числами от 0 до 8, я хочу вывести его так:
0 1 2
3 4 5
6 7 8

В гугле нихуя не нашел, там все про многомерные.
Аноним 08/06/22 Срд 14:25:20 2374787 1411
>>2374765
Так и выведи по элементу через цикл
Аноним 08/06/22 Срд 14:35:01 2374798 1412
>>2374787
Так оно выводится либо целой строкой через Console.Write();, либо одним столбиком через Console.WriteLine(); А мне надо по рядам.
Аноним 08/06/22 Срд 14:50:59 2374810 1413
>>2374798
Так ставь новую строку каждые n-символов
Аноним 08/06/22 Срд 14:56:56 2374813 1414
Что означает сие заклятие?
colorData |= color.G << 8;

Чуть длиннее
// Compute the pixel's color
int colorData = color.R << 16; // R
colorData |= color.G << 8; // G
colorData |= color.B << 0; // B
Аноним 08/06/22 Срд 15:12:19 2374834 1415
>>2374765
В твоём посте три строки и три столбца.
По какой формуле ты бы вычислил в какой строке число? Поделил бы нацело на число столбцов. Если 3 разделить на 3, получим 1. И действительно, тройка у нас в первой строке, начиная с нуля, разумеется. Теперь осталось высчитать в каком число столбце? Если мы поделим 4 на 3 нацело, получим 1 и в остатке 1. Нихуясебе! Остаток это же как раз номер столбца! Стало быть, для любого одномерного массива, если число столбцов подразумевается постоянным в каждой строке, то двумерные координаты будут таковы:
Xn = N mod ColumnsCount;
Yn = N div ColumnCount;
Аноним 08/06/22 Срд 15:14:01 2374838 1416
>>2374813
> Что означает сие заклятие?
> colorData |= color.G << 8;
Сдвиг влево на 8 регистров.
Было
0000 0000 0000 0001
Стало
0000 0001 0000 0000
Аноним 08/06/22 Срд 16:06:18 2374890 1417
image.png 134Кб, 1268x712
1268x712
Аноним 08/06/22 Срд 16:13:53 2374899 1418
Аноним 08/06/22 Срд 16:40:44 2374914 1419
изображение.png 26Кб, 946x188
946x188
Нет перегруженного метода для "Control.KeyPress", который соответствует делегату "KeyPressEventHandler".

Что делать? Как теперь сделать валидацию для колонок dataGridView?
Аноним 08/06/22 Срд 19:27:56 2375103 1420
mcmahongif.jpg 38Кб, 600x542
600x542
Аноним 08/06/22 Срд 19:43:06 2375114 1421
16532153027840.mp4 1710Кб, 576x1024, 00:00:15
576x1024
>>2334153 (OP)
Я конечно дико извиняюсь за такой вопрос, и скорее всего меня щас обоссут, но все таки, как вкатиться с нуля в ваш этот с#? В шапке сразу предлагается читать книги, чет это слишком для нюкека, может есть какие то видеокурсы на ютубе реально годные, чисто воодные чтобы хотя бы иметь базовое представление. В том же треде по джаваскрипт там есть понятный роадмап что учить с чего начать и куча уроков, а у вас что?
Аноним 08/06/22 Срд 19:48:01 2375120 1422
Screenshot (5).png 29Кб, 311x263
311x263
Аноним 08/06/22 Срд 19:48:54 2375121 1423
>>2375114
> чет это слишком для нюкека
В шапке как раз для таких
> 7. Что почитать?
> — The C# Player's Guide, третье издание (RB Whitaker) — отличная книга для ньюфагов, всё расписывается довольно подробно, очень много примеров кода.
Аноним 08/06/22 Срд 19:49:40 2375123 1424
Аноним 08/06/22 Срд 19:51:12 2375128 1425
>>2375114
Начни с канала SimpleCode на ютубах, там годный курс по самым основам. Дальше таки стоит почитать книжки, язык достаточно объемный. А последующий роадмап будет целиком зависеть от того, в какую сферу ты пойдешь: веб, десктоп, мобилки, игоры и так далее. Скорее всего тебе нужен веб, можешь в гугле написать asp.net roadmap и будет тебе роадмап.
Аноним 08/06/22 Срд 19:52:09 2375129 1426
Аноним 08/06/22 Срд 19:54:05 2375130 1427
>>2375121
Третье издание еще актуально? А то там уже пятое вышло.
Аноним 08/06/22 Срд 19:55:31 2375132 1428
>>2375128
Книжек на ру нет нормальных, я правильно понимаю?
Аноним 08/06/22 Срд 20:01:00 2375136 1429
>>2375114
Ищи на торрентах курсы от Александра Шевчука
Аноним 08/06/22 Срд 20:03:28 2375138 1430
>>2375132
Есть такой талмуд: Язык программирования C#9 и платформа .NET 5: основные принципы и практики программирования. Автор Троелсен Эндрю. Но это прям талмуд >1к страниц с подробным разбором всего и вся.
Аноним 08/06/22 Срд 20:17:18 2375151 1431
>>2375130
О, нарыл пятое, надо будет поглядеть.

>>2375132
Учи англюсик, все равно без него никуда. Пыхти, потей со словарем, запишись на курсы и так далее. Это один из ключевых скиллов при приеме на работу, на нем в разы больше инфы, намного больше мест для задавания тупых вопросов.
Аноним 08/06/22 Срд 20:18:45 2375154 1432
Мой гениальнейший нет линк запрос выдает вот это:
LINQ expression could not be translated. client evaluation explicitly by inserting a call to 'AsEnumerable', 'AsAsyncEnumerable', 'ToList'

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

Так вот, если идти простым путём явно запустить выполнение запроса на клиентской части то можно на сайте майков найти предостережение что не стоит в клиента грузить большие объёмы данных, может серьезно просесть по производительности. Большие это сколько в граммах? Применить Тулист на таблице в 2000-3000 строк это уже много или ещё нет?
Аноним 08/06/22 Срд 20:47:27 2375181 1433
>>2375114
Не хочу показаться токсичным. Но.
Какого блядь хуя? Что это сейчас была за хуйня? Какие еще видевокурсы? Бери книгу и читай. Блядь.
1. Книга - это быстрее чем видево.
2. Книга - больше информации.

И главное. Как с таким майндсетом ты "вкатываться" собираешься? Как будешь решать задачи, которые требуют глубокого изучения, чтения всяких датащитов, общения с вендорами. Пиздец. Блядь. Видева.
Аноним 08/06/22 Срд 20:47:48 2375182 1434
>>2375114
1. Начни с синтаксиса языка

2. Теперь ООП
•‎ Тут должен разобраться с async/await (или как минимум научиться юзать, но не понимать как это работает)

Первые два пункта закрывают следующие каналы на ютубе: CodeBlod, SimpleCode, Andrey Shirokoryadov

3. Теперь работа с БД: EFCore и SQL запросы. Тут ты должен скачать MS SQL MANAGEMENT STUDIO. Обязательно к изучению:
•‎ Базовые SQL запросы (select, insert, join..)
•‎ CodeFirst, Database First
•‎ Migrations
•‎ Ключи
•‎ Настройка сущностей (класс ModelBuilder)

4. Теперь переходим к десктопу: WPF
•‎ Учишь MVVM. Тут сначала создаешь всё руками, затем плавно перекатываешься в использование Microsoft.Toolkit.Mvvm
•‎ Учишь dependency injection (microsoft.di, autofac)
•‎ Учишь
•‎ Работа с Json, Xml (опционально protobuf)

5. Расширеный C#:
•‎ Reflection
•‎ Linq
Аноним 08/06/22 Срд 21:01:21 2375194 1435
>>2375182
Нахуя ему WPF? Может он ему нахуй не упал. По БД еще есть курс по PostgreSQL у Engineer Spock.
Аноним 08/06/22 Срд 21:03:58 2375195 1436
>>2375182
Странный порядок изучения.

Я бы давал так:
1.
Основы информатики(про байтики, АЛУ, ОЗУ и проч.)
Основы матана(базовый уровень, чтобы знал что такое матрица, что такое транспонирование матрицы, чтобы слово кватернион не пугало)
Дискретная математика(задача коммивояжера , всякие обходы, хуеды)
Алогоритмы-хуигаритмы, структуры данных.
Сети(какие, что, зачем, уровни модели оси)

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

3. Теперь поняв какое же си говно - берем, открываем MSDN и погнали.

4. Гуглим рефакторинг-гуру и статью рандомную про солид.

5. Идем устраиваться на работу, флекся тем, что можешь 1M-проблем сервер поднять на чистом си, без единого дедлока, и что ваш шарп писали индусы.

???

Профит
Аноним 08/06/22 Срд 21:06:28 2375197 1437
>>2375181
Ну не все такие умные как ты. Мне инглишь еще подтянуть нужно, чтобы читать книги на нем комфортно.
Аноним 08/06/22 Срд 21:08:01 2375200 1438
>>2375195
А мне говорили что матан в программировании не нужен...
Аноним 08/06/22 Срд 21:12:08 2375201 1439
>>2374890
пройди епамовский курс хотябы, хуй знает где ты это дерьмо нашел
как вкатыш вкатышу говорю
Аноним 08/06/22 Срд 21:14:01 2375202 1440
>>2375194
>Нахуя ему WPF
А нахуя ему ASP? На WPF задачки поинтереснее чем писать обосранный бэкенд шаблонный
Аноним 08/06/22 Срд 21:14:06 2375203 1441
>>2375181
хуйня, лучше пусть всеже теже видосы ютубные посмотрит где все разжовано пережевано, а потом сверху книгой отшлифует
Аноним 08/06/22 Срд 21:31:22 2375218 1442
>>2375201
>пройди епамовский курс хотябы,
Да? И зачем, что интересного я там узнаю?
>хуй знает где ты это дерьмо нашел.
На коленке где-то за минуту состряпал.
>как вкатыш вкатышу говорю
М-м-м. Советики от опытных.
Аноним 08/06/22 Срд 21:31:36 2375219 1443
>>2375195
Этого солевого не слушай есесна.

>>2375202
Твой интерес никого не ебет, если ты хочешь получить работу. Вакансий на асп намного больше чем на впф, потому что десктоп в 2022 - это ругательное слово. К тому же, асп я ему предложил исходя из того, что он уже интересовался говноскриптом, а значит скорее всего хочет в веб.
Аноним 08/06/22 Срд 21:35:59 2375229 1444
>>2375218
на алгоритмы хоть троху подрочат там, ты ж хуй откроешь сам
Аноним 08/06/22 Срд 21:47:03 2375236 1445
>>2375219
>а значит скорее всего хочет в веб
Не хочет. Это навязанное мнение, такое же как и среди долбоёбов "пайтон крутой яп". Он вкатился в жс потому что все вкатываются в жс
>десктоп умер
слышу это уже лет 7, всё никак не умрет что ли?
Аноним 08/06/22 Срд 22:00:33 2375246 1446
>>2375236
>слышу это уже лет 7, всё никак не умрет что ли?
Он уже несколько лет мертв. Это не значит, что он исчез или что на нем совсем нет вакансий, но это очень нишевые проекты. Вся главная елда сейчас происходит в вебе, а в ближайшее десятилетие туда уйдет вообще все.
Аноним 08/06/22 Срд 22:15:06 2375259 1447
1.png 39Кб, 708x396
708x396
2.png 66Кб, 925x618
925x618
3.png 3Кб, 563x103
563x103
>>2374765
Я бы сделал как-то так...
Аноним 08/06/22 Срд 22:21:51 2375264 1448
>>2375246
>Вся главная елда сейчас происходит в вебе, а в ближайшее десятилетие туда уйдет вообще все.
Уже представил как докер, ПО для бд, корпоративное ПО, ПО для графики, дизайна, моделирования, мессенджеры, читы-лаунчеры для игр, утилиты для пк переезжают в веб?
Аноним 08/06/22 Срд 22:23:43 2375266 1449
>>2375264
> ПО для бд, корпоративное ПО, ПО для графики, дизайна, моделирования, мессенджеры,
Уже перекатились в массе, лол.
Ты где последние 5 лет был?
Аноним 08/06/22 Срд 22:25:58 2375268 1450
>>2375266
>Уже перекатились в массе, лол.
Например? Мини утилитки которые там у фотки фон стирает? Ну тут да.
Аноним 08/06/22 Срд 22:31:24 2375271 1451
>>2375268
> корпоративное ПО
Тут вообще не понятен вопрос. Там давно все либо на своих мощностях, либо на арендуемых, но на вебе все что только можно.
> ПО для графики
ФШ семимильными шагами идет в веб. Уже половина функционала завязано на облаках и без них - это считай просто рисовалка, которая нахуй никому и не нужна в 2022 году.
> дизайна
Фигма - из коробки в вебе.
> моделирования
Если не рассматривать блендер, то ситуация аналогична ФШ. Еще и продаем свои мощности для рендера-хуендера.
> мессенджеры
Найди мне современный ПОПУЛЯРНЫЙ мессенджер не на вебе, лол.
Аноним 08/06/22 Срд 22:58:52 2375282 1452
>>2375271
>Фигма - из коробки в вебе.
Урезанный функционал для умственно отсталых. ВЛГ(стример) недавно ругался на своего работника, который не может сделать что-то более или менее сложное, и самое главное отказывается даже изучать другой софт, позволяющий реализовать задуманное.

Но в целом ты прав, тенденция печальна. А после санкций, когда легализовали пиратство, кабаны только потирают ручками, как бы все перевести на онлайн сервисы.
Аноним 08/06/22 Срд 23:05:17 2375289 1453
>>2375268
>Мини утилитки
Ты смеешься, а все к этому идет. Ты думал нас ждет суперсложынй софт и супернафаршированные соцсети, а в итоге приходим к фигме, тиктоку и мобильным играм нет требующих действий от игрока.
Аноним 09/06/22 Чтв 08:15:00 2375470 1454
>>2374838
>Сдвиг влево на 8 регистров.
Да, но какова цель вот этого всего
int colorData = color.R << 16; // R
colorData |= color.G << 8; // G
colorData |= color.B << 0; // B

Хранить в одной переменной все три числа? Как обратно вернуть? Никогда не понимал как люди орудуют сдвигами регистров на ходу.
Аноним 09/06/22 Чтв 08:39:55 2375481 1455
>>2374914
Ты че туда пихаешь? Событие, на которое ты подписался, уже сформировало аргументы, это обычно sender и eventArgs. Скорее всего твой метод Column_KeyPress имеет несоответствующие аргументы. И прикол в том, когда ты создаешь подписку, то на аргументы часто похуй (можно даже без аргументов завести), но когда ты подписку удаляешь, то вот тогда тебе дают леща.

Я бы обратил внимание на EventArgs — именно его часто модифицируют в зависимости от того, какие аргументы нужно передавать, поэтому это может быть MouseEventArgs если событие связано с мышью, ButtonEventArgs для клавиш, НебоИАллахEventArgs. А в твоем случае смотри подсказку, у тебя KeyPressEventArgs.

Погугли как создавать свое собственное событие и как его вызывать. У тебя отпадут вопросы.
Аноним 09/06/22 Чтв 08:53:16 2375485 1456
>>2375470
>Как обратно вернуть?
Выпихнуть лишнее за край (останутся нули), потом поместить значащий кусок в начало, и так для каждого числа.
Аноним 09/06/22 Чтв 09:28:02 2375494 1457
>>2375229
И чем плох алгоритм на скрине, в контексте заданной задачи?

Циферки выводятся? Выводятся.
Выводятся как в условии задачи? Да.
Алгоритм универсальный? Да.
Простой как валенок? Да.

"Чего тебе еще надобно, пес?"
Аноним 09/06/22 Чтв 09:33:49 2375497 1458
>>2375470
>Никогда не понимал как люди орудуют сдвигами регистров на ходу.
Изучи двоичную и шестнадцатеричную систему и как они между собой соотносятся. Считай все цветовые переменные только в шестнадцатеричной системе. Мозг перестроится и будет очень удобно.
Аноним 09/06/22 Чтв 11:26:06 2375554 1459
>>2375264
>ПО для графики, дизайна, моделирования
Это все пишется не на решетках с впф, лол, там сплошные кресты. На впф щас делают в основном всякие внутренние корпорастические продукты и изредка что-то другое, но тенденция явно гаснущая. Простой десктопный софт пилят на говноскрипте в основном, ибо кроссплатформенно, быстро, молодежно. Более сложный как писали 20 лет назад на крестах, так и будут продолжать еще столько же как минимум.
Аноним 09/06/22 Чтв 12:19:47 2375594 1460
Как в WPF свойству одного элемента присвоить свойство другого?

Хочу MyRectangle2 присвоить ширину MyRectangle1
<Rectangle x:Name="MyRectangle1" Width="15" />
<Rectangle x:Name="MyRectangle2" Width="MyRectangle1.Width" />
Аноним 09/06/22 Чтв 12:21:45 2375597 1461
>>2375594
нужно биндинг, только не на Width, а на ActualWidth
Аноним 09/06/22 Чтв 12:28:05 2375603 1462
>>2375594
>>2375597
Все, разобрался
{Binding Width, ElementName=MyRectangle1}

>только не на Width, а на ActualWidth
Вот эта хрень работает смотря где. Если в режиме стрейч, то ActualWidth показывает верно, но попадалось, что то ли вбитое вручную, толи еще почему, но ActualWidth выдавал 0, а вот Width показывал нужный размер.
Аноним 09/06/22 Чтв 12:31:34 2375607 1463
>>2375603
Width не является реальным размером.
Аноним 09/06/22 Чтв 12:42:09 2375615 1464
bandicam 2022-0[...].mp4 208Кб, 328x372, 00:00:07
328x372
А в WPF есть какое-то решение, когда ты юзаешь MouseMove и курсор выходит за пределы элемента и захват теряется. Не хочется юзать цикл потом морочиться с ограничением координат, когда уже есть MouseMove.
Аноним 09/06/22 Чтв 12:57:29 2375622 1465
image.png 98Кб, 815x550
815x550
image.png 69Кб, 784x288
784x288
Существуют ли в природе аноны которые юзают юнит тесты?
помогите вкатывальщику разобраться как они должны работать.

вот смотрите есть функции которая добавляет рекорды в БД
и есть вот такой тест для нее.
Как проверит что собственно все прошло хорошо и добавились рекорды там где надо а там где не надо не добавились?
Аноним 09/06/22 Чтв 13:35:08 2375657 1466
>>2375494
Не знаю что ему не понравилось, но мне то что если ввести уже двузначное число - оно поедет и будет некрасиво.
Аноним 09/06/22 Чтв 13:47:50 2375676 1467
Что лучше выбрать: Razor Pages или MVC?
Аноним 09/06/22 Чтв 13:50:58 2375680 1468
>>2375622
Мне кажется, что юнит тесты писать для своей функции, это как разговаривать самому с собой. В большинстве случаев ты уже знаешь, что тест выдаст и данное занятие с моей точки зрения выглядит бессмысленным.

Другое дело, когда функция чужая и нет желания разбираться как она устроена — тогда ты тыкаешь в нее палкой из тестов. Тогда смысл тестов появляется. Я это так понял.
Аноним 09/06/22 Чтв 13:51:32 2375681 1469
>>2375622
Юзаю. В твоём кейсе ты должен мокать репу и смотреть что там в репе после того как ты выполнил тест.
Аноним 09/06/22 Чтв 13:54:32 2375683 1470
>>2375680
Повторишь это себе, когда через 2 года нужно будет быстро пофиксить баг или новую фичу впиндерить(естественно дедлайн вчера, а то что ты про фичу только сейчас узнал - твои проблемы), а ты в результате все нахуй сломал.
Аноним 09/06/22 Чтв 13:58:33 2375684 1471
>>2375683
А если ошибка в юнит-тесте? Может стоит писать юнит-тесты на юнит-тесты?
Аноним 09/06/22 Чтв 14:06:37 2375686 1472
>>2375684
Юнит тестах почти нет логики, там обычно набор контрольных входящих значений и выходящих.
Как вообще можно в этом облажаться?
Аноним 09/06/22 Чтв 14:19:39 2375687 1473
>>2375681
Куда её мокать? В корыто с кипятком что ли?
Аноним 09/06/22 Чтв 14:20:33 2375688 1474
image.png 235Кб, 500x270
500x270
>>2375680
>В большинстве случаев ты уже знаешь, что тест выдаст
Я не знаю, функции еще нет, в тесте я пишу собственно то что хотел бы в теории получить на выходе.

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

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

Не знаю, может кому-то это лишнее, но будучи вкатанном я учился программированию на этих сервисах с задачками, и как-то привык к этим галочкам сигнализирующим выполнение задачи, без них как-то... некомфортно что ли.
Аноним 09/06/22 Чтв 15:17:08 2375729 1475
image.png 94Кб, 836x409
836x409
>>2375681
Что-то такое? Как мне в замещающую функцию передать параметры, то что я нашел в нете не работает.
Аноним 09/06/22 Чтв 15:40:05 2375755 1476
image.png 75Кб, 792x268
792x268
image.png 103Кб, 931x400
931x400
>>2375681
В общем в итоге получилось что-то такое, так будет хорошо?
Аноним 09/06/22 Чтв 15:53:05 2375761 1477
>>2375259
А зачем это лютое иезуитство для такой простой задачи, если можно сделать как я сделал: >>2375120? Не врубаюсь, будучи ньюфагом.
Аноним 09/06/22 Чтв 16:10:51 2375768 1478
>>2375657
Решается добавлением указания формата.
Аноним 09/06/22 Чтв 16:11:16 2375769 1479
>>2375676
Web Api и забить хер на фронт.
Аноним 09/06/22 Чтв 16:23:39 2375774 1480
>>2375761
А теперь переделай так, чтобы не по три, а по два числа в ряду было.
А потом так чтобы по четыре.
Повторяй с разными значениями, пока не дойдет.
Аноним 09/06/22 Чтв 19:57:34 2375917 1481
сколько же нужных штук имеют статус internal
Gen2GcCallback, ValueStringBuilder, StringBuilderCache, DelegateHandler, че то там с Path SpecialChars
утомляет копипастить или рефлексией лезть
Аноним 09/06/22 Чтв 20:22:27 2375932 1482
>>2375729
Для таких штук проще сделать мок руками и использовать листик, в котором обычным линку что-то доставать.
Если у тебя SRP соблюден и интерфейсы не раздуты - то с этим проблем не должно возникнуть.
>>2375755
Соложновато вникнуть. Но выглядит ок.
Ток ассерт лучше не True, а заменить на Equal и выводить сообщение какое-то с полезной инфой.
Аноним 09/06/22 Чтв 20:32:46 2375943 1483
>>2375470
> какова цель вот этого всего
RRRR 0000 GGGG 0000 BBBB
Вот такое число получится в бинарном виде. Вместо Р, Г и Б, соответственно вышеуказанные значения. Заметь, между цветами остаются промежутки, чтобы не наложились.
Потому что значок палочки - это побайтовое ИЛИ, которое добавит цвета к уже имеющимся (наложит, да, как в фотошопе), но поскольку мы сдвигаем цвета в разные регистры, то смешивания не будет.
Аноним 09/06/22 Чтв 20:47:27 2375946 1484
>>2375943
>между цветами остаются промежутки, чтобы не наложились.
Что за хуйню ты несешь? Какие нахуй промежутки если сдвиг побайтно идет?
Аноним 09/06/22 Чтв 20:57:57 2375950 1485
>>2375946
За такие шутки в оперативке бывают промежутки.
Аноним 09/06/22 Чтв 21:06:53 2375969 1486
>>2375946
> Какие нахуй промежутки если сдвиг побайтно идет?
Вот такие, например, представим себе, что
Color.R это FA
Color.G это CE
Color.B это 8D
тогда, вышеуказанный код приведет к вот такому числу:
FA 0000 00CE 0000 008D
Аноним 10/06/22 Птн 02:56:47 2376119 1487
>>2375969
> FA 0000 00CE 0000 008D
Вообще то к FACE8D, там же побитовый сдвиг, а 1111 1111 это как раз FF (255)
Аноним 10/06/22 Птн 08:30:14 2376164 1488
>>2375969
Ты совсем ебобо?
Команды >> и << это битовый сдвиг и соответственно <<8 это сдвиг на 8 бит или 1 байт, Так же как <<16 это сдвиг на 16 бит или всего два байта.

Соответственно в твоем случае будет 0xFACE8D, без всяких промежутков.

Уебки. Понаучатся по своим ютубам.
Аноним 10/06/22 Птн 10:15:12 2376241 1489
Как же раздражает, что размер окна в визуальном конструкторе не соответствует размеру запущенного. Такое ощущение, что оно не учитывает размер хидера и еще чего-то. Почему-то всегда размер меньше и по ширине и по высоте.

Есть какое-то решение?
Аноним 10/06/22 Птн 10:40:42 2376263 1490
>>2376164
Чего еще ожидать от вебшарпомакак, они же даже не отличают байты от битов.
Аноним 10/06/22 Птн 12:53:34 2376345 1491
1654854813983.jpg 96Кб, 1280x720
1280x720
>>2376263
> не отличают байты от битов
Простите. Я обосрался.
Аноним 10/06/22 Птн 15:21:18 2376448 1492
Зачем для ссылочных типов приписывают "?", если ссылке и так можно null присвоить?
К примеру:
string? str;
Аноним 10/06/22 Птн 15:36:14 2376456 1493
>>2376448
Это новая (относительно) фича из 8-го шарпа. Nullable Reference Type.
Вот тут достаточно просто для понимания:
https://metanit.com/sharp/tutorial/3.50.php

За остальным на МСДН.
Аноним 10/06/22 Птн 16:25:16 2376491 1494
>>2375676
Какой-то выбор между калом и калом. webapi конечно же.
Аноним 10/06/22 Птн 16:26:25 2376492 1495
>>2376263
На сях под линукс поди пишешь? Давно с тяночкой ебался?
Аноним 10/06/22 Птн 16:29:14 2376496 1496
2022-06-1016-20[...].png 1Кб, 141x118
141x118
Можно ли в XAML распарсить стринг.

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

Мне бы какой парсер, чтобы я в свойстве Content писал что-то вроде "H:/255/%", дальше это разбивалось на три строки по разделителю "/", например.
Аноним 10/06/22 Птн 16:29:53 2376497 1497
>>2376263
Вообще по факту, весь этот языковой шовинизм это признак недопрограммиста и инцела в том числе, само-удовлетворяющегося своей некоей элитарностью, по факту везде свои заморочки. Но да, если ты прогаешь и не отличаешь биты от байтов - ты мразь и гнида конченая.
Есть база, а начем ты прогаешь - какая вообще разница. Можно одинаково говнокодить на любом языке и нихера при этом не понимать.
Аноним 10/06/22 Птн 18:13:58 2376609 1498
>>2376497
Представь картину, что, слесарю (к примеру) кто-то-то начает затирать, что "Забивать гвозди молотком - это фу и вообще зашквар, а вот закручивать шурупы отверткой - топчик и вообще круто". Как думаешь похуй ему будет или нет?
Вот и программисту, для которого различные ЯП-ы - это те же самые инструменты для слесаря, должно быть похуй, кто-что думает о его инструменте или о том как он им пользуется?
Аноним 10/06/22 Птн 19:11:59 2376667 1499
>>2376496
Короче любые математические операции и вызовы функций это такой гемор, что не стоит того. Хотя на хабре челик заморачивался чтобы это делалось проще.
Аноним 10/06/22 Птн 19:46:10 2376695 1500
>>2376609
Нет, разбухтевшийся двачер должен быть обязательно попущен конечно же
Аноним 10/06/22 Птн 21:29:52 2376752 1501
Сап, сосач. Прошёл собес на дотнет дева, как быстро вкатиться?
Мимо бакалавриат CS + Java dev experience.
Аноним 10/06/22 Птн 21:31:29 2376754 1502
Аноним 10/06/22 Птн 21:37:31 2376760 1503
Аноним 10/06/22 Птн 21:43:48 2376765 1504
>>2375195
Ебало представили долбоеба, который учит основы ВТ, вместо того, чтобы учить сам ЯП?
Аноним 11/06/22 Суб 08:17:40 2376980 1505
>>2376752
Дак ты прошёл или планируешь пройти? Или проходил, но тебе отказали, потому что не смог ответить на вопросы?
Аноним 11/06/22 Суб 11:36:59 2377077 1506
>>2373934
Значит лучше сразу учиться на VS Code?
Аноним 11/06/22 Суб 12:06:21 2377096 1507
>>2373934
>не через командную строку все делаю
ни разу не использовал командную строку в вижле.
Аноним 11/06/22 Суб 12:07:01 2377097 1508
>>2377096
А как ты миграции делаешь?
Аноним 11/06/22 Суб 12:08:28 2377100 1509
>>2377097
ты определись "все делают" или что то

лично я никак не делаю. мне не нужно.
Аноним 11/06/22 Суб 12:21:12 2377107 1510
>>2377100
Ты синьёр-помидор или вкатутося, которая решила, что "нинужна"?
Аноним 11/06/22 Суб 15:51:21 2377211 1511
>>2377077
Учиться можно на чем угодно. Просто на VSCode для нормальной работы нужно обмазаться плагинами и по идее нужно понимание какие тебе нужны и как они работают. Плюс нужно много чего настроить будет в итоге.
В Visual Studio уже есть почти все из коробки, но многое из этого новичку может не понадобиться.
Но в Visual Studio мощнее отладчик, поумнее интелисенс, больше разных тулзов, анализаторов и т.д. С тестами удобнее работать. Плюс опять же большие проекты (а если еще и с сабмодулями), в VSCode крайне сложно будет ковырять.
Вообще я бы посоветовал осваивать и то и то одновременно.
Аноним 11/06/22 Суб 16:17:48 2377226 1512
Сап, шарпята. Смотрите есть некий класс, методы из которого используются в других классах. Каким должен быть этот некий класс? Статиком со статическими методами или лучше впендюрить его через депенденси и пксть каждый кому он нужен свой инстанс получает? Что нам на этот счет говорят бэст пратисис? Как лучше и почему?
Аноним 11/06/22 Суб 16:21:44 2377229 1513
>>2377226
>Статиком со статическими методами
У тебя по минимуму должно быть таких классов. Я обычно статику юзаю только для классов сериализациии/десериализации каких-нибудь условных строк или файлов
Лучше офк регать в контейнер какой-нибудь и юзать где надо
Аноним 11/06/22 Суб 16:53:31 2377254 1514
>>2377107
у меня другой профиль. Впрочем я не ставлю в один ряд "выполнение в консоли ибо так работает тулза" и "делаю в консоли от нехер делать, даже если можно не делать"

Понятно зачем в книгах пишут "добавляете нюгет пакет вот такой командой", но в реальной жизни проще залезть в гуи.
Аноним 11/06/22 Суб 18:14:06 2377307 1515
Когда мы подключает ms sql server через Microsoft.Data.SqlClient, где в итоге хранится СУБД? Она должна быть заранее скачана и базы создаются внутри нее или она скачивается вместе с этим пакетом и где-то там хранится? Где в итоге искать и просматривать получившиеся БД?
Аноним 11/06/22 Суб 19:05:14 2377335 1516
Аноним 11/06/22 Суб 19:06:17 2377337 1517
>>2336527
Теперь только креки, если не покупал лицуху на год.
Аноним 11/06/22 Суб 19:15:07 2377344 1518
2022-06-1119-13[...].png 1Кб, 201x40
201x40
А как в студии сделано, что файл с классом является дочерним элементом другого файла. Как это реализовано не используя папки?
Аноним 11/06/22 Суб 19:37:28 2377366 1519
WPF окно рисуется на глазах.
Можно как-то отключить визибилити, пока все стрейчевые элементы растягиваются и адаптируются?
Аноним 11/06/22 Суб 20:35:05 2377410 1520
>>2377335
Нуууу. Считаю что не нужон в модели.
Взаимодействие со стейтом должно происходить через какое-нибудь хранилище, которое по хорошему - имеет иммутабельный стейт, а уведомление об изменении модели происходит после комита нового стейта.
Аноним 11/06/22 Суб 20:52:03 2377413 1521
>>2377410
>Считаю что не нужон в модели.
Двачаю. Лишняя нагрузка модели. Можно просто сделать нотифайпропертиченжед на модель во вьюмодел и будет тот же результат.
Аноним 11/06/22 Суб 20:52:31 2377414 1522
>>2377366
Можно. Гугли события загрузки окна + погугли как отрисовывается WPF окно
Аноним 11/06/22 Суб 22:26:56 2377446 1523
2022-06-1121-39[...].png 8Кб, 203x342
203x342
>Гугли события загрузки окна
Ты про Initialized и Loaded? Первому вообще по барабану, даже пальцем не пошевелит, все начинает отрисовываться при Loaded.

После идет ContentRendered. Рекомендовали минимизировать окно до инициализации, а в ContentRendered выставить нормальный размер. Но у меня старт с минимизацией шатает все зависимости.
Аноним 11/06/22 Суб 22:59:38 2377470 1524
>>2377344
Открой csproj и посмотри какая там структура. Видел еще плагин чтобы так размещать файлы, не помню как называется.
Аноним 11/06/22 Суб 23:03:43 2377475 1525
>>2375114
В чем проблема сразу читать книги? В книгах обычно есть вводная часть, с базовыми представлениями, читать все умеют. Если ты совсем ноль и у тебя условно нет понимания даже что такое цикл и переменная, помноженное на неосиляторство - то тебе проще будет начать с какого-нибудь джеэса или питона, чтобы в условном браузере или юпитере потыкать в это самое программирование без лишних телодвижений.

>В том же треде по джаваскрипт там есть понятный роадмап что учить с чего начать и куча уроков, а у вас что?
У нас есть Рихтер. Просто читай его перед сном по 2 часа каждый день, вместо Библии, - и все будет.
Аноним 11/06/22 Суб 23:08:44 2377479 1526
>>2375195
>Основы матана(базовый уровень, чтобы знал что такое матрица, что такое транспонирование матрицы, чтобы слово кватернион не пугало)
>Дискретная математика(задача коммивояжера , всякие обходы, хуеды)
Нахуй это нужно? Говно без задач.

>2. Начинаем с Си. Пишем на си простой http-сервер, пишем базу данных, пишем компилятор, пишем движек для 2д игры.
Ты совсем ебанутый.

>флекся тем, что можешь 1M-проблем сервер поднять на чистом си
Тебя за одно это не возьмут, подумав что шиз какой-то, с которым лучше не связываться.
Аноним 11/06/22 Суб 23:08:45 2377480 1527
>>2377413
И на экране будут обновляться все свойства модели, вместо одного? Заебись оптимизация.
Аноним 11/06/22 Суб 23:11:01 2377484 1528
>>2375246
>Вся главная елда сейчас происходит в вебе, а в ближайшее десятилетие туда уйдет вообще все.
А в вебе вся главная елда сейчас происходит в ноде. js, вся хуйня.
Аноним 11/06/22 Суб 23:14:01 2377489 1529
>>2375264
>Уже представил как докер, ПО для бд, корпоративное ПО, ПО для графики, дизайна, моделирования, мессенджеры, читы-лаунчеры для игр, утилиты для пк переезжают в веб?
Ты же понимаешь, что в одной лишь верстке лендингов народу больше занято, чем программистов, занимающихся всем вот этим вот, суммарно существует?
Аноним 11/06/22 Суб 23:16:41 2377494 1530
Как защититься от региональных тонкостей при переводе числа с плавающей запятой в стринг?
Аноним 11/06/22 Суб 23:16:40 2377495 1531
>>2375282
>ВЛГ(стример) недавно ругался на своего работника
Но он его работник. Сечешь, да? Это как ошибка выжившего, только наоборот.
Аноним 11/06/22 Суб 23:26:52 2377502 1532
>>2377479
>Нахуй это нужно?
Как ты собрался что-то сложнее круда без вот этого делать?
Ну, давай, вот задача: есть фигура, нужно дать пользователю возможность поворачивать ее и масштабировать. Твое предложение как это сделать? Или ты настолько отупел от использования готовых решений, что думаешь будто компуктер сам имеет где-то отдельный вычислительный блок, который за поворот твоей хуйни отвечает, а тебе только и нужно, что вызвать: ROT, SCL?

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

> Тебя за одно это не возьмут, подумав что шиз какой-то, с которым лучше не связываться.
Возьмут. Меня же взяли.
Аноним 11/06/22 Суб 23:30:36 2377506 1533
Аноним 11/06/22 Суб 23:41:21 2377510 1534
>>2377494
Назначить вручную форматы при запуске..
Аноним 12/06/22 Вск 08:37:32 2377604 1535
изображение.png 54Кб, 1227x258
1227x258
Хочу спросить, насколько нормально/часто встречается валидация и пробрасивание исключений в конструкторе класа?
На стажировке дали тесты, по которым надо именно так сделать.

Просто я раньше видел что модели чисто дто, а логика создания на другом слое (CQRS например).
Аноним 12/06/22 Вск 09:07:42 2377606 1536
>>2377475
У меня получается только 1 час читать, потом ступор начинается.
Аноним 12/06/22 Вск 09:54:38 2377613 1537
>>2376496
> Можно ли в XAML распарсить стринг.
Может и можно, но зачем? Ведь не рекомендуется смешивать код (логику) и данные. ХАМЛ - это данные, код туда пихать не надо.
Аноним 12/06/22 Вск 10:54:22 2377644 1538
>>2377475
Можно ли вообще рассматривать Рихтера как учебник по сишарпу? Там предполагается, что язык уже знаешь, и хочешь узнать тонкости выполнения в среде CLR. Причём знания какого-нибудь С++ не сильно помогут.
Аноним 12/06/22 Вск 10:55:03 2377645 1539
>>2377613
>но зачем
Потому что когда я добавил в стиль тексбокса два лейбла, у меня перекрылся снаружи доступ к контенту этих лейблов. Они могут только биндить свойство родительского тексбокса.

Каким образом мне им назначить текст?
Аноним 12/06/22 Вск 11:14:14 2377650 1540
>>2377604
Зависит от того как принято в коллективе архтектуру строить.
С анемичной моделью - обычно у тебя есть отдельный сервис ЧтоТоТамValidator, который и будет отвечать за то, чтобы сущность была валидна.
В богатой модели - ты эту логику можешь в конструктор запихнуть, гарантируя таким образом, что сущность, которая некую бизнес-логику выполняет - никогда не будет создана.

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

Аноним 12/06/22 Вск 11:15:46 2377652 1541
>>2377650
> гарантируя таким образом, что сущность, которая некую бизнес-логику выполняет - никогда не будет создана
Если данные для инициализации невалидны или не полны.
Аноним 12/06/22 Вск 11:42:45 2377671 1542
Аноним 12/06/22 Вск 14:35:04 2377796 1543
>>2377366

Наверное, тебе нужно это:
Visibility.

Collapsed: Do not display the element, and do not reserve space for it in layout.
Hidden: Do not display the element, but reserve space for the element in layout.
Visible: Display the element.
Аноним 12/06/22 Вск 14:41:47 2377798 1544
Аноним 13/06/22 Пнд 13:52:20 2378639 1545
Почему в треде столько вопрос по WPF. В рашке все шарпистам за впф что-ли только платят?
Аноним 13/06/22 Пнд 13:53:22 2378641 1546
new { id = 5 }
Это что за покемон?
Аноним 13/06/22 Пнд 13:56:23 2378643 1547
>>2378639
Бэкенд захвачен джавой, но по Спрингу мало инфы
Аноним 13/06/22 Пнд 15:08:07 2378673 1548
>>2378641
List<int> xs = new();
List<int> ys = new(capacity: 10_000);
List<int> zs = new() { Capacity = 20_000 };

Ты про это видимо
Аноним 13/06/22 Пнд 16:16:21 2378722 1549
Правда ли сейчас и в ближайшей перспективе джуну без опыта работу найти практически нереально? Если да, то что вообще делать, есть какие-то хитрожопые пути? Например, годные пет-проекты или еще что-то.
Аноним 13/06/22 Пнд 16:24:42 2378727 1550
>>2378722
>есть какие-то хитрожопые пути?
Через постель
Аноним 13/06/22 Пнд 17:28:33 2378782 1551
>>2334153 (OP)
Работает кто на западного барина на дотнете на нормальных проектах с нормальной зп?
(нормальная это от 50$ в час для человека с опытом 3+ года опыта)
нормальные проекты это не говно легаси с вебформами
Аноним 13/06/22 Пнд 17:29:10 2378783 1552
>>2378782
Сам вопрос где вы ищите эти вакансии, потому что в линкдине какой-то тухлят
Аноним 13/06/22 Пнд 18:11:54 2378824 1553
Аноны, у кого-нибудь был опыт c XAML Islands?
В чем суть. Корпорация зла разрабатывает пакет для React Native под винду, react-native-windows, но, как в анекдоте, есть нюанс.
Совершенно случайно эта хуйня билдит только UWP приложения.
Полпроебанный дня позволили узнать, что есть такая штука как XAML Islands и с помощью нее можно всунуть UWP контролы внутрь win32 приложений(Похуй какое, впф, формы, хоть винапи, мне нужна ебаная экзешка).
На сайте майков есть гайды, но там то ли устарело, то ли у меня знаний не хватает, то ли uwp получаются не как в примере.

Я уже скоро ебанусь, спасите.
Аноним 13/06/22 Пнд 18:25:28 2378839 1554
Аноним 13/06/22 Пнд 20:14:03 2378948 1555

как открыть новое окно на месте старого? wpf
Аноним 13/06/22 Пнд 20:43:47 2378959 1556
>>2378948
А что стало со старым? :D
Аноним 13/06/22 Пнд 20:45:50 2378961 1557
>>2378639
Наверное, потому что все хотят делать асп нет сервисы, а ебаться с хамл разметками и мввм не очень хотят.
Аноним 13/06/22 Пнд 20:47:59 2378963 1558
>>2378961
Я бы лучше писал десктопные приложения, но приходится учить этот дурацкий асп.нет тупой.
Аноним 13/06/22 Пнд 20:53:46 2378964 1559
>>2378959
получается так: при запуске программы открывается первое окно, на нем есть кнопка,которая открывает другое окно с информацией, допустим мы перемещаем это первое окно влево, нажимаем на кнопку, оно закрывается(прячется ) и открывается другое окно с той самой информацией, но появится оно не на месте предыдущего, а на месте стартовой позиции, которая указана в свойствах
Аноним 13/06/22 Пнд 21:44:25 2379004 1560
>>2378641
>>2378673
не, это анонимный тип:
var v = new { Amount = 108, Message = "Hello" };
Аноним 13/06/22 Пнд 22:03:15 2379032 1561
>>2378964
Конкретно по твоему вопросу в лоб:
Юзай публичные свойства. Создаешь в своем классе окна что-то типа:
public StartupLocation as Size {Get; Set;}

Затем когда ты создашь новый экземпляр своего окна, то у тебя появится доступ к данной переменной извне. Типа
MyWindow1 MyWindow = new MyWindow;
MyWindow1.StartupLocation = new Size(200,150); //тут ты передал внутрь экземпляра данные еще до запуска окна
MyWindow1.Show;

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


Но если по уму, и не страдать хуйней с миллионами окон, и если у тебя WPF, то там есть так называемые страницы. Ты можешь с ними работать как с отдельными окнами, ничего не теряешь по функционалу, при этому у тебя будет только одно главное окно, В КОТОРОЕ ты загружаешь свои страницы.
Аноним 13/06/22 Пнд 22:05:59 2379039 1562
>>2379032
>public StartupLocation as Size {Get; Set;}
Простои анон, у меня бейсик головного мозга:
public Size StartupLocation { get; set; }
Аноним 13/06/22 Пнд 22:08:46 2379042 1563
>>2379032
>MyWindow1 MyWindow = new MyWindow;
И тут обосрался. Забыл, что тип переменной идет впереди в шарпе. Еще у вас скобочки автоматом не подставляются.
MyWindow MyWindow1 = new MyWindow();
Аноним 13/06/22 Пнд 22:23:28 2379048 1564
>>2379042
Спасибо за помощь, особенно с этими страницами, а то в нашей шараге приходится все самостаятельно изучать
Аноним 14/06/22 Втр 00:24:37 2379118 1565
Господа программисты, поясните вкатывальщику за C#. Как обстановка с поиском первой работы, перспективами? Не хочу я в попсовый питон или джаву. А вот на крестах нравилось в универе прогать, вроде как языки похожие
Аноним 14/06/22 Втр 02:03:44 2379149 1566
>>2379118
>вроде как языки похожие
Разве что буквой С в названии.
Аноним 14/06/22 Втр 05:35:56 2379203 1567
>>2377604
>Хочу спросить, насколько нормально/часто встречается валидация и пробрасивание исключений в конструкторе класа?
Если нужно для погуглить. Если это отнеосится к конструкторам моделей, то этот подход называется DDD (Domain Driven Development). Когда какая-то логика работы с моделью не по слоям размазывается, а по максимуму заезжает в саму модель. Подход в чем-то хорош, но я не сторонник такого подхода, мне больше с анемичными моделями нравится работать.
Если же у тебя какая-то логика прокидывается в конструкторах сервисов, то это ублюдочный подход. Особенное при использовании DI, т.к. в случае какой-то ошибки, у тебя посыпется вся цепочка зависимостей и хрен знает где у тебя этот эксепшен вылезет.
Аноним 14/06/22 Втр 05:39:36 2379206 1568
>>2379118
>Господа программисты, поясните вкатывальщику за C#.
Если зарплатные ожидания процентов на 50% урежешь, то можешь вкатиться. Но новички мало где нужны. Вот если хотя бы год проработаешь где-нибудь, то тогда уже работа сама тебя искать будет, а до этого тяжко.
Аноним 14/06/22 Втр 07:54:09 2379250 1569
Каким образом сделать сохранение FlowDocument в XPS (или другой формат) так, чтобы содержимое распределилось по всей ширине листа, а не в левом углу блять?
Аноним 14/06/22 Втр 09:17:39 2379263 1570
Замаялся со старыми книгами. Скачал свежую книгу Фримана по асп 6 на английском. Хотя я в английском не бум-бум, но зато можно переписывать код оттуда и он рабочий. Написал уже половину SportsStore и косяков не встретил.
Аноним 14/06/22 Втр 12:15:10 2379353 1571
А модно в цикле foreach узнать индекс элемента?
Аноним 14/06/22 Втр 12:25:03 2379364 1572
>>2379353
Можно, но не нужно. Если у тебя появилась такая необходимость, то ты где-то проебался. Foreach не для этого.
Аноним 14/06/22 Втр 14:12:56 2379468 1573
>>2379364
Необходимости нет, чисто из-за лени. В Форич писать меньше.
Аноним 14/06/22 Втр 14:20:11 2379471 1574
Приветствую шарпо-бояр итт. Прошу не обсыкать меня сходу, а отнестись с пониманием моего долбоебства - я вкатун. Имею вопрос и попрошу ответить на него, обращая внимания на короткий бекграунд.

Был опыт html/css, так же консольные проложения на пайтоне в далёком 2020 году. Но тогда я всё забросил. Тащемта вопрос я нихуя не шарю и не претендую даже, поэтому прошу совета:
1) Стоит ли вкатываться на .NET (ASP.NET Core) в 2к22 вкатуну или лучше стандартный JS/React с декларативычами (хтмл ксс)? Web направление, если что. Почему такой тупой вопрос, потому что в большинстве вакансий рядом с .NET присутствует ещё и какой-нить JS\React и хочется не проебаться, могу заинвестить пол года времени целыми днями, если что.
2) Как легко потом с поиском работы ASP.NET Core vs JavaScript? Английский, если что, крепкий В1, мб В2 даже. Сложно ли найти компанию за рубежом (я не в РФ) на ремоут?
3) Может кто-то проходил/знает курсы Epam (UpSkill)? Как они, котируются ли (если рассматривать направления .NET и Frontend)? Эйчарки написывают/названивают?

Зарание спасибо за любой ответ.
Аноним 14/06/22 Втр 15:16:21 2379503 1575
>>2379471
Надо выбирать то, что нравится самому. Можно потратить 1-2 недели на каждый язык и потом уже решить, что тебе больше нравится.
Я вот сам легко выучил сишарп, но споткнулся об фреймворки. Сейчас сижу и не знаю что делать. Так что все эти рассуждения стоит/не стоит - пустые, потому что может оказаться, что ты сам не осилишь этот путь.
Аноним 14/06/22 Втр 15:41:41 2379517 1576
>>2379503
>Я вот сам легко выучил сишарп
Сколько времени потратил и почему споткнулся об фреймворки?
Аноним 14/06/22 Втр 16:51:56 2379601 1577
>>2379471
>Стоит ли вкатываться на .NET (ASP.NET Core) в 2к22 вкатуну или лучше стандартный JS/React
Зависит, часто к дотнету еще ангуляр просят
>>2379471
>Сложно ли найти компанию за рубежом (я не в РФ) на ремоут?
Определи что значит за рубежом
Если ты в Европе и планируешь работать на локальный рынок проблем не будет
Если ты в условной Грузии и собираешься работать на заказчиков в США \ Европе то с JS будет проще т.к вакансий просто больше.
Если ты вдруг в Штатах, то бери JS, на дотнете как правило энтерпрайз с кучей легаси и говна, стартапы пишут но значительно реже.
Аноним 14/06/22 Втр 16:52:22 2379602 1578
>>2379517
Это наверное тот додстер, который про версии аспнета срет второй тренд уже
Аноним 14/06/22 Втр 16:53:56 2379603 1579
>>2379517
За 3 месяца + 1 месяц джавы, потому что по сишарпу нет такой классной книги как Б. Эккель "Философия Java". Но я и до этого знал многие языки программирования, так что это не первый язык.
Мало актуальной литературы по фреймворкам и уровень сложности значительно выше, чем при изучении языка и написании простых программ. Также есть отторжение от архитектурного подхода в самом фреймворке. Я когда писал свой сайт на чистом РНР, то выбрал более простую, но в тоже время легкорасширяемую архитектуру. Было одно удовольствие писать код. Здесь же надо применять всякие мерзкие штуки, которые насильно вставили во фреймворк.
К примеру, все запросы к БД я писал на чистом SQL, потому что язык и так хорошо подходит для работы с данными и зачем нужна прослойка вроде ORM, мне не понятно. А возни с ней больше, чем в обработке простого SQL-запроса.
Аноним 14/06/22 Втр 16:59:36 2379607 1580
>>2379603
>сишарпу нет такой классной книги как Б. Эккель "Философия Java".
Я конечно знал что мамонты еще читают книги, но сейчас 2022 год где документация более чем исчерпывающая

Книги есть, например Троелсен
>>2379603
>Мало актуальной литературы по фреймворкам
Вся актуальная информация есть в документации.
>>2379603
>Здесь же надо применять всякие мерзкие штуки, которые насильно вставили во фреймворк
Не хочешь не применяй, создаешь самый простой шаблон и получаешь просто шаблон с сервером под копотом и обработчиками в стиле node js
>>2379603
>зачем нужна прослойка вроде ORM, мне не понятно
Берешь ADO.NET (no ORM)\ Dapper (microORM) и лепишь свои голые запросы если душе угодно, никто не заставляет использовать EF

>>2379603
>выбрал более простую, но в тоже время легкорасширяемую архитектуру
Проиграл с того, какую ты там архитектуру мог выбрать более расширяемую чем на дотнете
Аноним 14/06/22 Втр 17:14:07 2379618 1581
>>2379607
>Троелсен
Ты явно не читал Эккеля. Аналог Троелсена по джаве двухтомник Хорстмана, где собрано всё обо всём, но в итоге ни о чём. А вот наиболее близкий аналог Эккеля в шарпе - это книга Гриффитса. Вот только Гриффитс пишет слишком путано, а у Эккеля легкий слог и сама книга выстроена как учебник, потому что сам Эккель преподаватель и отработал курс на студентах.

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

Я бы рад писать как мне нравится, но в вакансиях требуют знания определенных технологий, а не какие нравятся.
Аноним 14/06/22 Втр 17:26:32 2379629 1582
>>2379471
>Стоит ли вкатываться на .NET (ASP.NET Core) в 2к22 вкатуну или лучше стандартный JS/React с декларативычами (хтмл ксс)?
Выбор между фронтом и бэком получается. Это довольно разная работа. Почитай-посмотри про оба направления, попробуй сам по недельке хотя бы, потом решай, за что в первую очередь браться. К бэку потом можно доучить фронт и наоборот - станешь фулстеком.

>React
Это говно знают все собаки в твоем дворе, можешь сходить поинтересоваться. Да, вакансий много, но вкатунов в десятки раз больше. Педаль лучше Ангуляр, где 3,5 калеки в месяц на вакансию откликаются. На Реакт заебешься работу искать.
Аноним 14/06/22 Втр 17:36:52 2379643 1583
Буквально сегодня наткнулся на код по асп.нет:

TagHelperOutput output = new TagHelperOutput("div",
new TagHelperAttributeList(),
(cache, encoder) => Task.FromResult(content.Object));

И там такие строчек по 10 штук в каждом методе. Как их вообще осознавать?
Аноним 14/06/22 Втр 18:40:04 2379686 1584
>>2379643
>Как их вообще осознавать?
Выучить язык.
Аноним 14/06/22 Втр 18:51:50 2379701 1585
>>2379643
Да легко. Создаётся TagHelper, который в HTML будет подменятся <div> с пустыми атрибутами и заполненным данными из content.Object. Что тут сложного?
Аноним 14/06/22 Втр 19:19:14 2379735 1586
>>2379686
Я выучил, но это каждый раз приходится разгадывать эти ребусы.

>>2379701
Почему content.Object, а не просто content?
Аноним 14/06/22 Втр 20:15:27 2379799 1587
>>2379735
>Почему content.Object, а не просто content?
Надо смотреть на сам объект content, без него сложно сказать, что там происходит.
Аноним 14/06/22 Втр 21:17:24 2379849 1588
>>2379643
> Как их вообще осознавать?
Ctrl+клик на
> TagHelperOutput
И читать-читать-читать. До просветления.
Аноним 14/06/22 Втр 21:35:24 2379858 1589
>>2379618
>Ты явно не читал Эккеля
В следующий раз зайди в тред с 1С и скажи им что они Страуструпа не читали

Нахуя мне книги для вкатунов с тонной воды читать еще и для другого стека
>>2379618
>Аналог Троелсена по джаве двухтомник Хорстмана
Если для тебя Троелсен сложно пишет, у меня для тебя плохие новости, не вздумай открывать Рихтера

>>2379618
>Документация - не учебник. Я что-то не видел людей, которые изучили программирование по документации
>>2379618
>Мне в детстве кто-то подарил справочник по Delphi, но по нему я не смог освоить Delphi, потому что даже паскаль тогда не знал.
Я для тебя видимо открою секрет, документация это более широкий термин нежели сгенерированный по XML набор гиперссылок с минимальным содержанием.
Про то что документация сейчас != документация в книжке рассказывать нужно?
Документация это в том числе туториалы, нормальные примеры и приложения.
>Мало актуальной литературы по фреймворкам
Ух бля, по Spring дохуя "актуальной" литературы. (нет)

Ее нет, потому что документация сейчас примитивная с картинками \ видосами \ сиди да код копируй из снипетов.

У маек одна из лучших документаций и полно примеров хороших подходов в том числе для людей с опытом
(https://github.com/dotnet-architecture/eShopOnContainers)

Что ты планируешь делать когда будет 2+ года опыта работы и нужно будет разбираться с Azure \ Kubernetes \ микросервисами?
Тоже "книжку" АКТУАЛЬНУЮ ПОСЛЕДНЕЙ ВЕРСИИ искать будешь?

>>2379618
>но в вакансиях требуют знания определенных технологий
Так может есть какая-то причина, почему все-таки ORM нужны а не "ой сложно, я вот на чистом SQL хуяк хуяк накидал запросов и архитектура у меня лучше"?
Аноним 14/06/22 Втр 21:41:59 2379862 1590
>>2379858
>Так может есть какая-то причина, почему все-таки ORM нужны
потому что требуют ))))
Аноним 14/06/22 Втр 22:04:17 2379888 1591
image.png 52Кб, 1350x334
1350x334
Подскажите, пожалуйста: хочу добавить пакет NuGet, но мне вываливает кучу ошибок, что чет не установлено, где-то надо версию понизить. Существуют ли какие-то дефолтные наборы пакетов System, чтобы не ебать себе мозги и не устанавливать по одному?
Аноним 14/06/22 Втр 22:07:44 2379892 1592
image.png 9Кб, 450x246
450x246
>>2379888
Тут вообще нихуя не понятно, в NuGet максимум 1.5.0 можно скачать, откуда 5.0.0 мне высрать?
Аноним 14/06/22 Втр 22:13:54 2379899 1593
>>2379888
>>2379892
Ааааааааа, ебать меня в сраку, я ебал макаку. Это офлайн пакеты. Нихуя я дебил.
Аноним 14/06/22 Втр 22:15:44 2379902 1594
>>2379899
Пиздец, NuGet.org подрубил, и все само скачалось.
Аноним 15/06/22 Срд 09:14:50 2380079 1595
>>2379858
Я уже половину Рихтера прочитал. Нормально он пишет. Только это не помогает понять АСП.

Собственно, по АСП пробовал читать Фримана, но там проблема, что нет свежей книги, а 2.0 уже не работает совсем ни как.
Пробовал читать Эндрю Лока, но он слишком углубляется в теорию и приводит мало примеров кода. Вроде как понимаешь принцип работы, но ни строчки кода не можешь написать.

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

Если никто из программистов не знает как писать на новых технологиях, то писать на них не будут. К примеру, блейзор нигде не используют, потому что книг по нему нет. Как только появятся книги, так и начнут использовать.
Аноним 15/06/22 Срд 20:14:35 2380646 1596
>>2380079
>По Спрингу инфы меньше, но с другой стороны можно взять книгу за 2013 и весь код там рабочий. А возьми сейчас книгу по АСП за 2013, ни один пример даже не запустится.
>
Кому-нибудь другому эту сказку расскажи
У спринга API за 9 лет не поменялся и весь код рабочий, ага

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

>>2380079
>Вроде как понимаешь принцип работы, но ни строчки кода не можешь
Вот это да, оказывается писать код его нужно ПЫТАТЬСЯ писать

>>2380079
> К примеру, блейзор нигде не используют, потому что книг по нему нет.

1. Blazor in Action,
2. Microsoft Blazor: Building Web Applications in .NET 2nd,
Web Development with Blazor: A Hands-on Guide for .NET Developers to Build Interactive UIs with C#,
3. Learning Blazor: Build Single-Page Apps with WebAssembly and C#,
4. Blazor Revealed: Building Web Applications in .NET,
5. Exploring Blazor: Creating Hosted, Server-side, and Client-side Applications with C#,
6. Blazor WebAssembly by Example: A Project-based Guide to Building Web Apps with .NET, Blazor WebAssembly, and C#,
7. An Introduction to Building Applications with Blazor: How to get started creating applications using this exciting easy to use Microsoft C# framework,
8. Building a Web App with Blazor and ASP .Net Core: Create a Single Page App with Blazor Server and Entity Framework Core

Мне продолжать?

>>2380079
>К примеру, блейзор нигде не использую
Конечно, вкатут у которого рынок ограничен российским авторитетно заявляет что НИГДЕ НЕ ИСПОЛЬЗУЕТСЯ.
Дальше пойдут виляния жопой и НИГДЕ сменится вполне очевидным МАЛО используется.

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

Реальность такова, что проще написать фронт на ангуляре, чем ебаться со смесью говна Silverlight + Knockoutjs коим он и является

--------

Годы идут, документация собирается сообществом и пишется максимально просто, доступно и без воды, а вкатуны и дальше жрут говно от АВТОРНЕЙМ вместо того чтобы начинать потреблять оригинальный контент и решать задачи на работе за пару часов, вместо пары дней
Аноним 15/06/22 Срд 20:25:17 2380654 1597
Аноним 15/06/22 Срд 23:13:33 2380728 1598
Команда закрытия окна Close точно высвобождает все ресурсы?
У меня странная хрень, что при каждом новом экземпляре окна начинает все сильнее тормозить программа.
Аноним 16/06/22 Чтв 01:24:02 2380776 1599
image.png 31Кб, 590x321
590x321
Аноны, подскажите - это я еблан, или лыжи не едут? Почему у меня максимум больше 10, а минимум меньше на 10? Массив заполняю через рандом некст.
Аноним 16/06/22 Чтв 01:24:11 2380777 1600
>>2380728
ну если не подвесил само окно или что-то связанное с ним, то да
Аноним 16/06/22 Чтв 01:26:41 2380778 1601
>>2380776
>Почему у меня максимум больше 10, а минимум меньше на 10?
шта? на скрине минмах 5-75. о чем ты
Аноним 16/06/22 Чтв 01:28:21 2380779 1602
>>2380778
Посмотри вывод массива наверху: самое маленькое число там 15, а самое большое 85.
Аноним 16/06/22 Чтв 01:29:33 2380780 1603
Алсо, 10 на самом верху не часть массива. 10 я ввожу с консоли.
Аноним 16/06/22 Чтв 01:35:17 2380781 1604
>>2380779
все это ерунда. мы не видим код, который заполняет массив и выводит список. Алсо в выхлопе вообще нет чисел, которые в результате. Предлагаешь нам гадать по частям кода, когда сам с дебагером и полным кодом сидишь...
Аноним 16/06/22 Чтв 01:37:27 2380782 1605
image.png 63Кб, 455x657
455x657
>>2380781
> мы не видим код, который заполняет массив и выводит список
Держи.
>дебагером
Я начал вкат совсем недавно, и не умею им пользоваться.
Аноним 16/06/22 Чтв 01:55:01 2380785 1606
>>2380782
убери +'\n' - он тебе левые числа в консоли пишет
он твое число суммирует с (int)'\n' и сумму пишетв консоль. И ты видишь то, чего нет в массиве
Аноним 16/06/22 Чтв 01:56:26 2380786 1607
>>2380785
Понял, спасибо большое. Уже голову сломал с этой хуйней.
Аноним 16/06/22 Чтв 02:56:08 2380796 1608
>>2380786
На будущее, вообще не используй '\n' в строках.
Для этого есть Environment.NewLine
Аноним 16/06/22 Чтв 09:29:11 2380836 1609
>>2380646
Выходят новые версии Спринга, но старые всё также можно легко загрузить через мавен. Это не как у Микрософт, где через год они убирают старую версию из всех репозиториев или принудительно обновляют винду, что у тебя всё ломается.

Все книги по Блейзору на английском!

Я заходит на сайт Микрософт и пытался читать документацию, но это справочник, а не учебник. Откуда я знаю какую из 100500 функций в 100500 классов применять?
Книги читаются не пару дней, а месяц минимум. Особо толстые и дольше. Троелсена я читал наверно полгода, потому что книга жутко скучная. Успел в перерыве и по WPF почитать и ASP и даже Скита с Рихтером. Последние кстати гораздо веселее пишут и легче читаются, хоть и материал более сложный.
Аноним 16/06/22 Чтв 09:35:06 2380840 1610
Почему в вижле, когда создаёшь папку, то просто вводишь название и папка создаётся, а чтобы создать файл, то открывается какой-то монструозный мастер создания файла с миллионов шаблонов? Почему они не сделают такое же простое создание файлов как в VS Code?
Аноним 16/06/22 Чтв 09:59:03 2380851 1611
>>2380836
>где через год они убирают старую версию из всех репозиториев
Да ты заебал уже ныть об этом в треде. Никто ничего не убирает.
Тебе уже наглядно, сука, показывали, что все версии доступны.
Аноним 16/06/22 Чтв 10:00:14 2380854 1612
>>2380840
Потому что иди нахуй, вот почему.
Аноним 16/06/22 Чтв 12:38:36 2380995 1613
>>2380796
Всегда завидовал шарпистам, что у них есть \n, \t, когда в бейсике нужно писать vbCrLf или Chr(13) & Chr(10), а оказывается у вас тоже длинные поезда, засоряющие читабельность.
Аноним 16/06/22 Чтв 12:50:03 2381015 1614
2022-06-1612-46[...].png 2Кб, 147x168
147x168
>>2380840
Какой именно файл? Я вообще перетягиваю из проводника какую нибудь картинку или рандомный файл и он автоматом отображается в вижле. Я так туда даже файлы иллюстратора или корела кидаю, чтобы можно было запустить иллюстратор прямо из студии.

А если это какой нибудь класс или интерфейс, то тебе для удобства дают выбрать шаблон. Ты же хочешь не просто пустой текстовый файл, а файл с каким-то начальным блоком кода и xaml шаблонами.
Аноним 16/06/22 Чтв 13:29:04 2381054 1615
>>2380995
и только в 11 шарпе сделают """
Аноним 16/06/22 Чтв 14:58:56 2381118 1616
Можно как-то отследить общее количество подписок например на Button Click? Мне кажется из-за этого у меня каждый новый экземпляр еще сильнее тормозит программу.
Аноним 16/06/22 Чтв 15:27:21 2381142 1617
>>2381118
Можно. У делегата можно получить список инвокаторов (или как оно там). Вот только зачем? С чего вдруг у тебя на кнопке вешается не пойми кто кроме ближайшего code-behind в количестве одной штуки?

Обычно дело утечка памяти из-за забытых подписок (из-за чего лично полностью перешел на LifeTime паттерн), но блин не на кнопке же
Аноним 16/06/22 Чтв 15:38:11 2381159 1618
>>2380851
Кроме базового дотнет нужны ещё инструменты, а они не работают, потому что микрософт перешли на новые. В книге Фримана по АСП 2 используется bower, а сейчас надо всё через libman загружать. И помимо этого куча мелочей не работает.
Так что гладко только на бумаге...
Аноним 16/06/22 Чтв 16:02:41 2381172 1619
>>2381159
Эволюция есть эволюция. И приемы из асп2 не все применимы в современном асп. Но применимы в асп2. Берешь тогдашнюю студию, тогдашний фреймворк и вперед - все там будет тогдашнее.
Аноним 16/06/22 Чтв 16:17:37 2381182 1620
>>2381159
>Мам, я не могу найти релевантную информацию и читаю говно мамонта, а потом пытаюсь скампелиравать под новую версию копипасту оттуда, а она не компелироваться, памаги, пачиму мир так жесток
Ты никогда не вкатишься. Разработчик должен уметь адаптироваться к изменению технологию и находить информацию. Почитать книжку и посмотреть видосик для вката не выйдет.
Аноним 16/06/22 Чтв 16:50:42 2381212 1621
>>2380995
Это не проблема шарпа или какого-то конкретного языка. А совместимости систем. Эта хуйня идет еще с первых терминалов и принтеров. Просто одни делали так, что достаточно подать на устройство одну команду перехода на следующую строку и аппарат сам передвинет каретку вниз и в начало строки. А другие решили, что должно быть две разные команды на спуск вниз и на возврат к началу строки. И естественно создатели разных систем ну никак не могли прийти к одному стандарту и поэтому просто /n сработает у тебя в винде и выдаст хуйню на линухе. И наоборот.

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

Еще алсо, если тебе часто приходится форматировать строки подобным образом, то где-то у тебя проеб в архитектуре вывода сообщений. Такое допустимо для лабораторных работ ну или максимум для логов, но не в основном флоу программы.
Аноним 16/06/22 Чтв 16:56:57 2381213 1622
ColorPicker.mp4 1200Кб, 616x364, 00:00:12
616x364
>>2381142
Нашел одну кастомную подписку. У меня было несколько страниц, которые райзят событие, но это событие изменяет штук десять текстбоксов, причем частота там со скоростью MouseMove.

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

>из-за чего лично полностью перешел на LifeTime паттерн
Надо посмотреть. Меня уже эти подписки начинают пугать.
Аноним 16/06/22 Чтв 16:58:20 2381215 1623
>>2381159
>Так что гладко только на бумаге...
Ну что я могу сказать. Хуево быть тобой.
Я в свое время вкатывался в Dot.Net Core 3.1 не прочитав ни одной книги, только MSDN и несколько статей. Сейчас вот пилю микросервисы на .net6 вообще не читав никаких статей по нему кроме чейнджлога.
Так что ты либо соберись и учись добывать и обрабатывать информацию, либо это не твое.
Аноним 16/06/22 Чтв 17:08:10 2381222 1624
>>2381212
>Еще алсо, если тебе часто приходится форматировать строки подобным образом, то где-то у тебя проеб в архитектуре вывода сообщений.
Так я в основном использую в Debug.WriteLine или что-то в этом роде. Никак не могу привыкнуть к отладчику, мне проще логи читать. А точки останова как туман войны.

Аноним 16/06/22 Чтв 17:11:15 2381224 1625
>>2381213
>Надо посмотреть. Меня уже эти подписки начинают пугать.

Концепция проста. Есть отписки, есть Dispose, но как все это дело не забыть вызвать? Да и когда вызвать? Если мне передали в конструктор IDisposable, и я сам IDisposable, то должен ли я делать Dispose у этой зависимости?

Вот это все решает лайфтайм паттерн. Это когда есть кто-то, кто отвечает за "когда все дропать". Все имеет lifetime токен (типа как CancellationToken только lifetime) и с ним подписываешься и вообще все. И в ус не дуешь кого кому отписывать - за это отвечает тот, кто заведует твоим lifetime. И когда этот кто-то дропнет lifetime, то все умрет и отпишется и задиспозится автоматически

в вебе попроще. там есть DI который используется как Lifetime Manager - "пришел запрос, родили scope, в конце дропнули и все рады"

В десктопе же все живет, рождается, умирает хз как. И немощи
DI явно не хватает. Нужен не scope примитив, а мощный тулз
Поэтому я использую вот это
https://www.youtube.com/watch?v=Sq_h5bVWJ0k

У меня вьюмодельки, окна, контролы в WPF - все существует в каком то лайфтайме или являются холдером онного. И не используются слабые события, потому что можно смело подписываться сильной подпиской и не бояться утечек - подписка умрет вместе со мной, как только мой лайфтайм (лайфтайм моей вьюмодели) дропнут - это может быть родительская вьюмодель, workspace контрол какой нибудь или целое окно

хотя конечно WPF к этому предрасположен, как мужик к деторождению, но все же живу как то.


Аноним 16/06/22 Чтв 17:33:04 2381239 1626
>>2381224
>Хорошо знать языки
>Что такое out, что такое readonly
Инфоцыгане такие инфоцыгане. Это не основная тема видео, но чет проиграл.
Аноним 16/06/22 Чтв 17:35:19 2381241 1627
>>2381212
Нет, просто микрософты своровали СР/М-86 и назвали МС-ДОС, но ума не хватило сделать как в юниксах.
Аноним 16/06/22 Чтв 17:36:24 2381244 1628
>>2381215
А до этого какой был уровень? Наверняка знал АСП с фреймворка
Аноним 16/06/22 Чтв 17:37:02 2381245 1629
Это нормально в тестовом на бэк джуна на C# заставлять работать с сырым TCP?
Аноним 16/06/22 Чтв 17:42:45 2381249 1630
>>2381239
Ну идея проста. та же самая идея (и реализация) в - CancellationToken-ах. Разница только в семантике - токены отмены привычно отменяют действия, а токены лайфтайма - отменяют все. Как то подписываться с CancellationToken не делают, а подписка с lifetime уже норм. Но грань очень очень тонкая. Настолько, что мелкие в своем асп юзают CancellationToken как ApplicationLifetime события - от чего мозг плывет ибо от событий ожидаешь....событий.

>>2381245
ну работать же, а не жарить его )
Аноним 16/06/22 Чтв 18:04:09 2381272 1631
Ньюфаг спрашивает Аноним 16/06/22 Чтв 18:06:26 2381273 1632
16476848243270.jpg 68Кб, 604x583
604x583
Решил выучить язык, потому что есть одна идея небольшого приложения, которое сильно облегчит мне жизнь. Попробовал петухон, забил хуй, потому что нахуй он мне нужон, я хочу сделать виндовую программу с гуем, а бэкэнд и консольное приложение. Начал учить шарп. Пока всё нравится, всё в целом понятно, вижуал студия за тебя пишет код, только таб нажимай, всё что надо подчёркивается. Короче буду учить шарп.

Нравится, это конечно хорошо, но вопрос: а что в итоге-то можно делать со знанием шарпа? Ест-но никто меня в контору не позовёт сразу на зп, игоры на юнити делаются не за месяц.
Я имею в виду, что какой-нибудь жаба скриптер может не сдохнуть с голоду, потому что всегда кому-нибудь нужно будет сделать сайт. А как подрабатывают шарписты?
Аноним 16/06/22 Чтв 18:35:34 2381297 1633
>>2381273
>А как подрабатывают шарписты?
Шарп - это про энтерпрайз. То есть прямая противоположность подрабатыванию. Так что если шарписту зачем-то хочется подрабатывать - то он делает это как все: учит js, ноду, реакт? и пиздует на фриланс-биржу.
Аноним 16/06/22 Чтв 18:42:43 2381300 1634
>>2381272
> Степан Береговой сказал
Ну ты и еблан!
Поебать что сказал рандомный инфоцыган с ютуба. Его задача, чтобы ты ему просмотр принёс, лайк и подписку с колокольчиком. Ты принёс, молодец.
Аноним 16/06/22 Чтв 18:43:33 2381301 1635
>>2381297
Чушь от начала и до конца.
Аноним 16/06/22 Чтв 19:02:37 2381309 1636
>>2381301
Если он говорит чушь, то расскажи как на самом деле.
Аноним 16/06/22 Чтв 19:14:37 2381314 1637
>>2381309
шарпист берет шарп и ищет заказы на шарпе
ваш кэп
Аноним 16/06/22 Чтв 19:21:53 2381315 1638
>>2381314
Кэп, я ньюфаг, ёпт. Я не ебу какие заказы есть на шарпе для подработки, я поэтому и спрашиваю в профильном треде. Для меня шарп это пока что какие-то приложения для винды, юнити и вроде что-то там с бэкендом делают. Я даже специально залез на коворк и при поиске шарпа там 99% объявлений: сделаю десктопное приложение, и 1% - сделаю игру на юнити/проконсультирую. Покажи какие услуги ищут у шарпистов, будь ласка.
Аноним 16/06/22 Чтв 19:38:51 2381326 1639
>>2381315
>Я не ебу какие заказы есть на шарпе для подработки
Никаких нет. Это язык для создания огромных бэкендов командами из десятков человек. От кого конкретно ты собрался подработку получать? Максимум, что тебе светит найти - лабу какому-нибудь студенту за 300 рублей сделать. Если очень сильно повезет.

>шарп это пока что какие-то приложения для винды, юнити и вроде что-то там с бэкендом делают.
Такие себе у тебя представления. 85% работы на шарпе - создание и поддержка монолитов на ASP.NET. Юнити - процентов 5, а всякие приложения для винды, для мобилок и прочего - еще процента 3 суммарно.
Аноним 16/06/22 Чтв 19:43:37 2381328 1640
>>2381326
И добавь еще сюда то, что C# - он в основном на западном рынке используется, в России с ним сейчас будет вдвойне хуже. У нас тут люди больше js, php и java для бэка используют.
Аноним 16/06/22 Чтв 19:49:53 2381331 1641
>>2381315
Увы, у нас нечего ловить. Знание англ + скил и западные биржи (правда щас с этим жопца по понятным причинам)
И вообще никто не заставляет зацикливаться на одном языке. выучи несколько. В итоге и останешься на одном, если не перфекционист


Аноним 16/06/22 Чтв 20:15:10 2381347 1642
>>2381273
Десигнер. Делаю для себя плагины и микрописечки, даже в мыслях не было использовать шарп как единственный инструмент для заработка. Мне кажется, чтобы зарабатывать чисто на шарпе, это надо быть узкоспециализированным сверхбогом. Вообще, даже у нас в десигне, умение разбираться чисто в своей области уже никого не впечатляет — либо надо учить что-то смежное, либо надо задрачивать область до блеска. Иначе будешь сосать бибу за 10к в месяц в рогах и копытах, на уровне теть Глаш, условно "знающих фотошоп".
Аноним 16/06/22 Чтв 20:25:26 2381354 1643
>>2381347
знать проф несколько языков тоже дорого стоит. Голова не резиновая.
Аноним 16/06/22 Чтв 20:28:49 2381356 1644
Здаров, шарпята. Что есть годного для шарпа для обработки и создания эксель файлов? Epplus пойдет? На современном коре пашет? Там последняя халявная версия 4 какая-то древняя. За посвежее пизды не дадут? планируется небольшая приложушка для нужд фирмы, но чисто паре человек для внутреннего пользования Ещё знаю CLosedXML но там чукча не читатель, чукча писатель. Может ещё что-то знаете
Аноним 16/06/22 Чтв 20:41:49 2381366 1645
>>2381328
Получается я зря учу сишарп и надо было всё-таки дальше учить джаву?
Аноним 16/06/22 Чтв 20:51:08 2381376 1646
>>2381366
Ты блять программирование учи, блять, а не язык, блять! Паттерны учи, СОЛИДы! Зная это всё ты будешь просто брать новый модный молодёжный язык и писать на нём без задней мысли, даже не уча.
Аноним 16/06/22 Чтв 21:00:59 2381381 1647
.jpg 112Кб, 800x1094
800x1094
Вопросец.
Вот я хочу сделать примерно следующее. Есть некая сущность с которой по разному можно взаимодействовать: читать из нее что-то, писать, вызывать экшоны. Допустим это некое устройство. Мобилка, например: можем посмотреть ФС, можем IMEI посмотреть, можем время посмотреть, можем запустить приложение какое-то, посмотреть СМСки пользователя, можем реагировать на действия пользователя и регистрировать их, можем включить-выключить фонарик.
Ну, собственно, сейчас у меня есть некая сущность которая описывает вообще все что можно делать с таким вот устройтвом. И вот в контексте современных устройств - там дохуя всего. Не оч удобно.
Так вот, что я хочу. Я хочу немного абстрагироваться и дать себе возможность настроить что я хочу видеть, как часто что-то опрашивать и сохранять для статистики.

Ну, собственно, что я придумал: Сущность Page - некий шаблон странички, которую я буду уже фронтендом рисовать. Суность Block - это карточка нужная для позиционирования внутри Page, по сути просто имя-описание блока, состояние закрыто-открыто и все. Ну и Widget - сущность с каким-то элементом управления/отображения данных, допустим - просто индикатор: вкл/выкл с горящей иконкой; табличка с какими-то элементами, допустим логи работы с временем, типом сообщения, сообщением; график для каких-то исторических измеряемых величин; текстовый элемент в который можно поместить допустим последнее считанное значение.

Ну дык вот. Я не совсем понимаю как это вместе связать. До того как я придумал вот эту вот штуку с Page и прочим - были сущности Device, DeviceType, DeviceTypeTemplate, DataObject, DeviceTemplateDataObject, DeveceDataObject, типа тип - это просто описание устройства, шаблон - связывает некие операции и данные с типом, чтобы можно было при добавлении устройства подтянуть нужное, а потом уже у устройства поудалять-подобавлять нужное. А теперь я хочу оставить это же, но при этом сделать типа: Создать страничку, появляется пустая страничка, на ней я надобавлял блоков, надобавлял виджетов в блоки, и потом могу переключать устройства и чтобы страничка на основе этого подтягивала нужные данные. Но вот как это вот связать я чет не понимаю(((
Аноним 16/06/22 Чтв 21:01:14 2381382 1648
>>2381376
А меня потом возьмут на работу на удалёнку с теоретическими знаниями паттернов и солидов, но без знания шарпа и асп.нет?
Аноним 16/06/22 Чтв 21:01:24 2381383 1649
>>2381354
Как будто на один язык надо сил меньше. В случае с одним языком тебе знать надо не просто профессионально, а суперпрофессионально. В сумме это то же количество затраченной энергии, только шанс успеха понижается.

Аноним 16/06/22 Чтв 21:02:45 2381384 1650
>>2381382
Ой всё. Траль тупостью кого-нибудь ещё.
Аноним 16/06/22 Чтв 21:04:25 2381385 1651
>>2381384
Я про то и говорю, что спрашивают знание конкретных языков: сишарпа или джавы, и технологий: асп.нет или спринг.
Аноним 16/06/22 Чтв 21:08:05 2381389 1652
>>2381366
>Получается я зря учу сишарп и надо было всё-таки дальше учить джаву?
Если из России - то js и php учи, в новой то реальности. А может и вообще си, если плохо все пойдет, на заводе то всем похуй на твое знание веб-фреймворков.

>>2381376
>Ты блять программирование учи, блять, а не язык, блять! Паттерны учи, СОЛИДы!
Дерьмовый совет. Чтобы учить программирование - надо сначала на работу устроиться, программирование - это ремесло, к которому приобщаться нужно, нельзя книжек начитаться, курсов насмотреться - и стать программистом. Тут обратная связь нужна, без коллектива зрелых программистов - никак. А чтобы устроиться на работу - нужны не солиды и паттерны, нужен язык. То, что тебя по солиду с паттернами спросят на собеседовании - выучивается за неделю, кишки платформы - за две. А вот по синтаксису тебя конкретно ебать будут, именно его знание решит, станешь ты программистом или нет. Потому что на твое непонимание солида забьют хуй, а вот неспособность скомпилировать в голове самый хитровыебанный и редковстречающийся код - никогда.
Аноним 16/06/22 Чтв 21:08:49 2381391 1653
Какая же хрень эти ваши стрейч окна. В итоге нужно самому калькулировать все размеры и выставлять на этапе инициализации, чтобы все не растягивалось у тебя на глазах.

Ничего не спасает, ни хайд, ни коллапс.
Аноним 16/06/22 Чтв 21:09:46 2381393 1654
>>2381382
Не бывает джуниоров на удаленке, тебя в любом случае на нее не возьмут.
Аноним 16/06/22 Чтв 21:20:26 2381397 1655
.png 60Кб, 1350x830
1350x830
>>2381381
В принципе пока писал - подумал - учитывая что у операции и данные - отдельно - можно их связать с виджетами. А сами странички не привязывать ни к чему, и на фронтенде, который будет на Angular - запрашивать саму страничку, а потом каждому компоненту виджета передавать выбранное устройство - и он с сервера уже это будет тянуть. Наверное так будет норм. Но я пока не уверен.
Для наглядности - нарисовал что я примерно хочу.
Аноним 16/06/22 Чтв 21:32:08 2381407 1656
>>2381383
>тебе знать надо не просто профессионально, а суперпрофессионально
зачем? просто про, но тупо знать нужно меньше, чем держать про нескольких языков.

>>2381389
>Чтобы учить программирование - надо сначала на работу устроиться
чтоб научиться стрелять - нужно сразу на войну. А плавать - сразу в бурлящий водоворот кидать. Задерживать дыхание - выбросить в космос, там научишься ))

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

Пример - вот я понимаю async/await и не понимаю "как можно не понимать такое простое как оно работает". А ведь когда я впервые столкнулся с этим подходом (а это был шарп, на котором я писал с момента рождения шарпа), то у меня были сложности с пониманием. Потому что НЕПРИВЫЧНО
Туда же ФП, разные паттерны, солиды. Это когда освоишь "тьфу хули там сложного то", а поначалу мозг не отформатирован. Но упарываться не нужно - главное форматирование.
И тот же я никак не могу освоить толком реактивное программирование. Я легко его читаю, но мне трудно на нем писать, сложно думать в этой парадигме. Я себя заставлю, читаю чужие исходники (правда понимаю, что они еще меньше думают в этой парадигме чем я) но идет туго.

Аноним 16/06/22 Чтв 21:36:22 2381411 1657
>>2381407
>Пример - вот я понимаю async/await и не понимаю "как можно не понимать такое простое как оно работает"

То, что ты понимаешь как работает, не означает ничего. Оно понятно до тех пор, пока работа чего-то очевидного начинает работать не так, как ожидаешь — вот тогда и приходит осознание, что на самом деле ты ничего не понимаешь.
Аноним 16/06/22 Чтв 21:38:05 2381414 1658
>>2381411
Ты просто пиздобол, которому охота спорить ниочём.
Аноним 16/06/22 Чтв 23:22:06 2381456 1659
>>2381414
Если я запустил несколько асинхронных функций, каждая из которых обращается к общей переменной, функции мешают друг другу?
Аноним 17/06/22 Птн 00:22:18 2381501 1660
>>2381456
Если ты запустил их на пуле и никакой синхронизации их выполнения, то у тебя многопоточный доступ
Аноним 17/06/22 Птн 00:42:03 2381505 1661
Есть какой-то вариант без ракетостроения, чтобы ограничить частоту обработки событий?

На этом видеориле >>2381213 у меня при нажатии кнопки мыши, срабатывает две операции. Первая вслед за курсором двигает рамку и меняет цвет. Вторая меняет данные в текстбоксах.

Для первой важна высокая частота итераций, чтобы все выглядело плавно (каждые 5 тиков), а для второй это не важно, достаточно паузы в 100-200 тиков.

И еще левая часть это интегрированная страница, сперва там отрабатывается всё: определяются координаты, вычисляется цвет, перекрашивается все что нужно, а потом вызывает событие, которое ловит блок справа и переписывает данные в текстовой части. И правая часть самая прожорливая.
Я уж и асинк использовал в связке с вейт ол, но помогло отчасти — происходят бесючие микрофризы с непредсказуемой частотой.
Аноним 17/06/22 Птн 01:52:12 2381536 1662
>>2381244
Нет, вообще не знал. Шел по цепочке Basic->Asm->C->Delphi->C#, хорошо шарил за алгоритмы. Потом просто перекатился на .net Core и тогда же и стал учить Asp.Net Core.
Че там в нем до кора было, вообще в душе не ебу и не собираюсь узнавать, т.к. в принципе не собираюсь с таким легаси работать.
Аноним 17/06/22 Птн 01:56:04 2381537 1663
>>2381273
>А как подрабатывают шарписты?
Микросервисы пилю (чистый бэк). Неделя-две работы - соточка.
Но на такую подработку только по хорошему знакомству и рекомендациям берут.
Аноним 17/06/22 Птн 02:09:23 2381539 1664
>>2381315
>там 99% объявлений: сделаю десктопное приложение,
Это говорит только о том, что десктопщики нахуй никому не сдались сейчас, т.к. десктоп по сути мертв.
>>2381328
>что C# - он в основном на западном рынке используется, в России с ним сейчас будет вдвойне хуже.
Pizdesh i provocation. Все нормально с ним на местном рынке. Да вакансий меньше раза в два чем на джаву, но во в первых - этого более чем достаточно, а во вторых претендентов тоже в два раза меньше - т.е. меньше конкуренция.
А после выхода .net 6-го он стал той самой писечкой на которой все хотят пилить монолиты и микросервисы для своих стартапов. А так как сейчас время возможностей, то и запросов на такое становится больше. Джависты охуевшие и поднимать все это на джавве - как говна поесть. А у шарпистов пока еще относительно адекватный ценник (делать-то на шарпах тоже самое, что и на жабе, намного легче) и новенький оптимизированный стек, поэтому-то все их и хотят.
Но опять же. Вкатунам тут ничего не светит, хотят туда опытных и матерых. Если сможешь таким за год стать, то может быть и ухватишь свой кусок.

Алсо, нытье вроде "Бла-бла, после тех самых событий все изменилось, майкрософт ушел - всем пиздец" - хуита голима. Они никогда и не присутствовали в России от слова совсем, а во вторых не изменилось н-и-х-у-я.
Аноним 17/06/22 Птн 06:38:06 2381578 1665
>>2381505
Да.
Что-то Типа:

DateTime last;
object _syncRoot = new();
void OnZalupa(object sender, EventArgs a){
lock(_syncRoot){
if(DateTime.Now - last < TimeSpan.FromDay(365)){
return;
}
last = DateTime.Now;
}
...остальная хуйня.
}
Аноним 17/06/22 Птн 07:56:15 2381592 1666
>>2381456
Ты троллишь так? Мне просто сложно поверить, что человек в 2022 году будет такой вопрос задавать.
Аноним 17/06/22 Птн 08:49:35 2381606 1667
Razor Pages - это реинкарнация WebForms?
Аноним 17/06/22 Птн 09:24:16 2381629 1668
>>2381578
Не, ну это ракетостроение. Так-то я и сам сделал.
Аноним 17/06/22 Птн 10:20:54 2381670 1669
Почему многие говорят, мол, читай Рихтера, чтобы изучить шарп, а там даже про коллекции ничего не сказано. Да и вообще такое ощущение, что книга написана наполовину, потому что очень много тем не разобрано. В общем, я думал, что Рихтер - это крутая книга, а оказалось, что какие-то авторские заметки на тему.
Аноним 17/06/22 Птн 10:21:21 2381671 1670
>>2381505
или Task.Delay с отменой можно свелосипедить
Аноним 17/06/22 Птн 10:22:05 2381674 1671
>>2381578
как раз это не пчелы
событие может закончиться раньше чем сработает правило и в итоге будет неверное значение.
Аноним 17/06/22 Птн 11:18:04 2381715 1672
Кто-нибудь, разумеется кроме меня, собирается делать перекат?
Кто там новую шапку хотел - ваш час пробил.
Аноним 17/06/22 Птн 11:31:37 2381720 1673
>>2381715
Пофиг на шапку. Главное, кореяночек не забудь!
Аноним 17/06/22 Птн 11:32:43 2381721 1674
>>2381720
Увы, я не могу менять шапку
Аноним 17/06/22 Птн 12:48:26 2381790 1675
14956996275291.jpg 42Кб, 200x200
200x200
>>2381715
>Кто там новую шапку хотел
Считаю, что все желающие должны получить по шапке.
Аноним 17/06/22 Птн 13:01:00 2381796 1676
>>2381790
по НОВОЙ шапке, ибо эта уже устарела
Аноним 17/06/22 Птн 13:56:07 2381828 1677
>>2378722
>есть какие-то хитрожопые пути?
Да. Учить реакт. И вордпресс.
Аноним 17/06/22 Птн 16:44:03 2382022 1678
>>2378722
>Правда ли сейчас и в ближайшей перспективе джуну без опыта работу найти практически нереально?
Это парадигма была актуальна год назад. Сейчас джуну даже с опытом в год уже хрен устроишься. Берут только от мидлов и выше.
>есть какие-то хитрожопые пути?
Нет. Только учиться, зарабатывать опыт, делать проекты и пытаться вкатиться. Есть вероятность, что попадешь в контору, которая вот именно сейчас не против принять джуна на развитие.
Аноним 17/06/22 Птн 16:57:24 2382033 1679
изображение.png 12Кб, 661x228
661x228
В чем разница?
Аноним 17/06/22 Птн 17:33:40 2382051 1680
>>2382033
Наверно в первом случае идет речь о net.Core — очередная попытка в кроссплатформенность. Если ты не собираешься запускать приложение на мобильном шиндовс или линуксе, то юзай фреймворк.

Если ты думаешь "да, конечно же хочу!", то не забывай, что за универсальностью следуют ограничения и закатыватель губы в комплекте. Некоторые библиотеки не коннектятся, да и твои могут тоже, если они ранее были написаны под нет фреймфорк. Подключить какую нибудь либу, типа Drawing2d не получится. Еще не получалось юзать ресурсы.

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

Короче. Есть устаревшая проторенная дорожка на net framework, а есть новая менее неизведанная и полная приключений net.Core. По какой сам пойдешь, на какую глаз положишь? Пока ты будешь изучать net.core, это говно устареет и уже все будут дрочить вовсю на web
Аноним 17/06/22 Птн 17:36:18 2382053 1681
>>2381539
>Все нормально с ним на местном рынке.
>Да вакансий меньше раза в два чем на джаву
Нет. Даже до спецоперации вакансий было раза в 3 меньше, чем на джаве, а потом - их количество упало еще раза в 3. А джуновских вакансий - и вовсе раз в 5 меньше стало, чем до войны.

>А после выхода .net 6-го он стал той самой писечкой на которой все хотят пилить монолиты и микросервисы для своих стартапов.
Микросервисы никто на нем не пилит, платформа для этого неудобна, ты вместо микросервисов будешь писать на дотнете конфигурации для конфигураций конфигураторов. Монолиты для стартапов - такое есть. В США. А мы не в США. В России у стартапа в лучшем случае монолит на ноде, если модно, стильно молодежно. А если немодно - то пхп и жава.

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

>Алсо, нытье вроде "Бла-бла, после тех самых событий все изменилось, майкрософт ушел - всем пиздец" - хуита голима. Они никогда и не присутствовали в России от слова совсем, а во вторых не изменилось н-и-х-у-я.
Причем тут майкрософт? Ушли бодишопы (или просто прекратили наем), а это половина рынка дотнета в России и 80% джуниорских вакансий.
Аноним 17/06/22 Птн 17:44:13 2382061 1682
>>2382033
одно для дотнета 5-6 (которое выросло из кор)
второе для легаси .нет 4.8, которое старый фреймворк
Аноним 17/06/22 Птн 17:48:39 2382066 1683
>>2382053
>на дотнете конфигурации для конфигураций конфигураторов. Монолиты для стартапов - такое есть
ты попутал со старым дотнетом что ли. чего там неудобного то. новый дотнет активно задвигается как микросервисы. все для этого есть (хотя и на старом все для этого было просто микросервисы очень спорно когда нужны)
Аноним 17/06/22 Птн 17:51:58 2382071 1684
>>2382061
> одно для дотнета 5-6 (которое выросло из кор)
А куда xaml делся?
Аноним 17/06/22 Птн 18:37:21 2382108 1685
>>2382066
>новый дотнет активно задвигается как микросервисы.
Нет, это не так. Новый дотнет немного оптимизировали под написание условных лямбд в авс и прочий серверлесс, а вот микросервисы - нихуя. Мало того, что они ни разу не "микро" выходят, так и трупута на них нормального из коробки не получишь, не попердолившись с конфигурациями конфигураций предварительно.
Аноним 17/06/22 Птн 19:25:00 2382149 1686
Можно как нибудь сместить иконку курсора, чтобы так сказать точка хита была не в верхнем левом углу иконки, а в центре?

Я конечно мог бы координату хита смещать для своих расчетов, но проблема в том, что у меня криво срабатывают события типа MouseLeave.
Аноним 17/06/22 Птн 19:42:27 2382165 1687
>>2382053
И что ты предлагаешь? Учить джаву?
Аноним 17/06/22 Птн 20:04:12 2382173 1688
>>2382149
Все, нашел. Оказывается в редакторе студии есть специальный инструмент, который устанавливает координаты хотспота в .CUR.

Но теперь другой вопрос. XAML в упор отказывается видеть локальный адрес файла, хотя в коде вот это работает
StreamResourceInfo info = Application.GetResourceStream(New Uri("/ResourceFiles/CursorTest.cur", UriKind.Relative));
H_Ring.Cursor = New System.Windows.Input.Cursor(info.Stream);


А вот неработающий код в XAML (Ошибка: не удается найти ресурс)
<Page.Resources>
<Cursor x:Key="TestCursor">ResourceFiles/CursorTest.cur</Cursor>
</Page.Resources>


Чому так?
Аноним 17/06/22 Птн 20:10:23 2382180 1689
>>2382071
никуда не делся. Проекты из .нет4.8 работают и под 5-6
Так что разница только в рантайме, что весомо, но если у тебя легаси, то выхода нет (ну возможно и в формате файла csproj (не хочу проверять))
Аноним 17/06/22 Птн 20:39:20 2382205 1690
>>2382053
>Микросервисы никто на нем не пилит
Ой, да ладно. Нам вон с корешем на все лето работы накидали этих микросервисов пилить на .net6. За каждый по сотке на человека. Если после основной работы по вечерам где-то по час...два уделять времени на это то на каждый по неделе, максимум две уходит (ну т.е. фуллтайма дня 3..4 максимум. И это мы даже еще не мидлы.
Аноним 17/06/22 Птн 20:43:19 2382210 1691
>>2382053
> дотнете конфигурации для конфигураций конфигураторов
Я хуй знает на каком ты там дотнете пишешь, что такой хуйней страдать приходится. Ни разу больше чем стандартной конфигурации для моделей ничего не прописывал.
Аноним 17/06/22 Птн 21:08:54 2382226 1692
2022-06-1721-07[...].png 10Кб, 785x131
785x131
>>2382173
Создаю имедж, прикрепляю из тех же ресурсов и все норм, у курсора ошибка. И странный формат, нет Source.
Аноним 17/06/22 Птн 21:22:40 2382243 1693
2022-06-1721-17[...].png 5Кб, 366x208
366x208
>>2382226
В свойствах указал, что это ресурс.
Аноним 17/06/22 Птн 21:23:52 2382244 1694
>>2382243
>>2382226
Короче, нахуй. Указал через и сработало
Cursor="{Binding Source=/ResourceFiles/CursorTest.cur}"
Жопа какая-то.
Аноним 17/06/22 Птн 22:53:04 2382309 1695
>>2382051
>>2382061
Вы хотите сказать, что в WPF впилили кроссплатформенность? Он что под линуксом запускается? Не верю!
Аноним 17/06/22 Птн 23:14:47 2382330 1696
2022-06-1723-09[...].png 22Кб, 762x430
762x430
>>2382309
Кроссплатформа по макросовтовски.
Сначала да, потом нет и вообще такого никогда не было. Мы даже приставку Core выпилим.
Аноним 17/06/22 Птн 23:21:58 2382337 1697
>>2382309
WPF - Windows Presentation Foundation. В названии явно указано предназначение. Кор без гуи должен быть кроссплатформенным. А WPF, базирующееся на кор просто для того, чтобы не поддерживать старое.
Аноним 18/06/22 Суб 04:40:40 2382445 1698
Юзает ли тут кто-то ABP Framework? Как вам?
Аноним 18/06/22 Суб 06:29:56 2382463 1699
>>2382337
>Кор без гуи должен быть кроссплатформенным.
Ахаха, линукс навечно без гуя, консольки хватит.
Аноним 18/06/22 Суб 08:18:42 2382500 1700
Как вернуть отображение класса Program при создании консольного приложения?
Аноним 18/06/22 Суб 08:30:28 2382507 1701
>>2382500
Ни как. Микрософт его убрали.
Аноним 18/06/22 Суб 09:32:07 2382533 1702
1655533927545.png 407Кб, 540x524
540x524
>>2382330
> which is not easy
Для трансконтинентальной корпорации это нот изи. Хотя куча индюков пилит авалонии и этоформсы тока в путь. Ясно-понятно.
Аноним 18/06/22 Суб 10:20:51 2382570 1703
>>2382500
Создаешь приложение на .net5, потом в свойствах проекта меняешь на .net6
Аноним 18/06/22 Суб 10:39:42 2382587 1704
>>2382533
>Для трансконтинентальной корпорации это нот изи.
Анриал энжин 4 давно под кучу платформ игры конвертирует — просто выбираешь целевую платформу и все. А ведь в игре интерфейс это всего лишь десятая часть всех задач.
Аноним 18/06/22 Суб 12:21:55 2382627 1705
А правда, что шарпистов заставляют быть фуллстеками?
Аноним 18/06/22 Суб 12:36:42 2382640 1706
>>2382627
>А правда, что шарпистов заставляют быть фуллстеками?
Правда
мимо бывший WPF, заставили быть фуллстеком в вебе
Аноним 18/06/22 Суб 12:37:13 2382641 1707
Задача: отправить по tcp число и получить число в ответ. В ответе само число и мусор справа и слева (пробелы, точки, другие знаки).
Как делаю:
Создаю TcpClient
Вытягиваю из него NetworkStream
Из стрима создаю StreamReader, StreamWriter
writer.WriteLine(request)
writer.Flush()
reader.DiscardBufferedData()
var response = reader.ReadToEnd()
Потом пробегаю регуляркой и вытягиваю число.

Так вот, проблема в том, что иногда приходит что-то вроде ,.,.,. 69
А запросить в следующий раз - придёт ,.,.,. 69420.. .
И, вероятно, нормальным ответом может быть просто 69420
Как вообще такую херню нормально обработать?
Аноним 18/06/22 Суб 12:57:00 2382664 1708
>>2382500
они уже вернули в обновах последней студии. добавили галку которую нужно поставить при создании проекта.
Аноним 18/06/22 Суб 13:26:28 2382692 1709
>>2382641
ну ты же понимаешь что ты не привел кода сервера, который это самое число получает, чтобы потом вернуть.
Аноним 18/06/22 Суб 14:44:04 2382804 1710
.png 64Кб, 696x443
696x443
Аноним 18/06/22 Суб 16:16:51 2382919 1711
>>2382587
>в игре интерфейс
В игре нет интерфейса, там только картинки, которые движок и так рисует. Такие рисованые интерфейсы давно есть и без твоих ссаных унрылов, imgui и подобия. Только мало кому нужны такие фейки, только в те же игрульки встраивать в основном.
Аноним 18/06/22 Суб 16:24:57 2382926 1712
>>2382919
Типа в WPF не картинки. Скажи, какой элемент я не смогу реализовать в анриале.
Аноним 18/06/22 Суб 16:27:38 2382931 1713
>>2382926
В WPF веб-браузер, вдупли разницу.
Аноним 18/06/22 Суб 16:27:51 2382932 1714
>>2382926
Ну, попробуй на анриале сделать древовидный список с возможностью драг-н-дропа, при этом чтобы элемент списка мог быть кастомным, т.е. тута картинка, тама - только текст, а вот тута - кнопка.
Аноним 18/06/22 Суб 16:34:03 2382941 1715
>>2382931
В анриале есть даже нода веббраузера. Но я так и не понял в чем отличие. Парсер XML? Или что?

>Ну, попробуй на анриале сделать древовидный список с возможностью драг-н-дропа
Вся база для этого есть. Нет готовой функции, но я не вижу здесь чего-то сложного. Нарисовать графическую фигуру можно, вывести текст можно, вывести растровую иконку можно. У всего есть хитбокс, события и логика.
Аноним 18/06/22 Суб 16:50:55 2382959 1716
Все перекатываются с веба на десктоп или это период дипломов?
Аноним 18/06/22 Суб 17:13:30 2382973 1717
>>2382959
Кто все? Пара новичков (типа меня), которые очевидно делают запросы чаще остальных ИТТ.
Я вообще пишу плагин для приложения, мне веб не поможет.
Аноним 18/06/22 Суб 19:03:44 2383054 1718
Изучаю язык по книге Прайса М., C# 9 и .Net 5.0, насколько она актуальна? И насколько критично, что в книге используется VS Code, а не полноценное IDE?
Аноним 18/06/22 Суб 19:04:42 2383055 1719
>>2382959
Ну, я как раз диплом на крестах, питоне и гошке защитил, теперь изучаю шарп для трудоустройства на первую работу. Думаю за 2 недельки осилю на джуна.
Аноним 18/06/22 Суб 19:05:19 2383057 1720
>>2383054
>Изучаю язык по книге Прайса М., C# 9 и .Net 5.0, насколько она актуальна? И насколько критично, что в книге используется VS Code, а не полноценное IDE?
Пиздец...
Аноним 18/06/22 Суб 19:05:57 2383058 1721
Аноним 18/06/22 Суб 19:10:31 2383062 1722
>>2383058
Ты тупой. Что пояснить?
Аноним 18/06/22 Суб 19:11:22 2383063 1723
>>2383062
Ну и почему я тупой?
Аноним 18/06/22 Суб 19:13:34 2383066 1724
Господа! Давно изучил синтаксис (нет не до конца развиваться всегда куда есть), но слегка смущён разнообразием вакансий на шарпе. От чего возникает вопрос в какое направление вкатываться дальше. Вроде как чаще всего фигурирует асп нет, то десктопный софт (wpf) кажется как то поэротичнее, а Юнити так вообще вроде изи для вката. Поэтому призывай к вашей помощи дать совет куда копать дальше, чтобы не терять время
Аноним 18/06/22 Суб 19:17:27 2383070 1725
>>2383055
И сколько уже изучил?
Аноним 18/06/22 Суб 19:20:24 2383072 1726
>>2383063
Потому что ты не умеешь гуглить.
Аноним 18/06/22 Суб 19:21:43 2383074 1727
>>2383066
А ты сам-то что хочешь? Если тебя прям тошнит от жса и штмл - тебе в WPF. Если терпимо - в ASP. Уровень ЗП примерно одинаковый, но работы больше в АСП.
Аноним 18/06/22 Суб 19:23:19 2383076 1728
>>2383074
Говорят, что с работой туго. Многие перекатываются в джаву.
Аноним 18/06/22 Суб 19:24:20 2383077 1729
>>2383066
Что нравится туда и копай.
Аноним 18/06/22 Суб 19:35:29 2383087 1730
>>2383076
>Говорят, что с работой туго. Многие перекатываются в джаву.
Нихуя не туго. Если ты совсем-совсем без опыта, то да. Но с год+ опыта уже куда угодно устроишься
Аноним 18/06/22 Суб 19:37:20 2383091 1731
>>2383087
Дак где его взять этот 1+ год опыта?
Аноним 18/06/22 Суб 19:38:25 2383092 1732
>>2383091
Устроиться на работу. На завод например поддерживать легаси. Я в резюме написал что у меня 6 месяцев опыта. Просто напиздел чтобы устроиться хоть куда-то
Аноним 18/06/22 Суб 19:57:27 2383110 1733
>>2382664
>>2382570
Спасибо, работает. А аргумента для команды dotnet new нет?
Аноним 18/06/22 Суб 21:17:34 2383136 1734
>>2382587
Причём тут анрил энжин блеать?
Аноним 18/06/22 Суб 21:20:22 2383137 1735
>>2383092
Чуть меньше года на заводе поддерживаю легаси, никому я нахуй не нужон
Аноним 18/06/22 Суб 22:53:22 2383171 1736
>>2383137
Пизди в резюме
А
Устраивайся
Аноним 18/06/22 Суб 23:06:58 2383176 1737
Аноним 19/06/22 Вск 00:17:20 2383214 1738
Советую вкатываться в MAUI пока не поздно. Скоро будет полноценный релиз данного творения от майков со всеми соответствующими допилами. По прогнозам инсайдеров, платформа совершит прорыв в сфере кроссплатформенных приложений и поглотит львиную долю рынка.
Аноним 19/06/22 Вск 00:20:25 2383217 1739
>>2383214
тоже были по поводу этого мысли, думаю примерно так и будет
Аноним 19/06/22 Вск 00:25:47 2383220 1740
16474776032550.mp4 678Кб, 576x312, 00:00:08
576x312
Аноним 19/06/22 Вск 00:30:31 2383223 1741
>>2383214
>Советую вкатываться в MAUI пока не поздно.
Тоже самое вопили про WPF, в итоге это говно стало НИНУЖНЫМ до того, как я успел вкатиться. Через месяц мы узнаем, что не все так однозначно, есть НЮАНСЫ, поэтому у нас будет десять вариаций MAUI, каждая не работает, поэтому мы все переосмыслили и выкатываем новое творение KHui, оно сырое, спешите откушать пока не поздно, ссылочка в описании.
Аноним 19/06/22 Вск 00:31:51 2383226 1742
>>2383214
>По прогнозам инсайдеров
Голоса в твоей голове?
Аноним 19/06/22 Вск 00:40:55 2383231 1743
>>2383223
я не думаю, что майки будут наступать на те же грабли, что и прошлый раз
Аноним 19/06/22 Вск 06:08:40 2383282 1744
изображение.png 11Кб, 328x439
328x439
Создал папку для второго проекта в vscode, но компилируется все равно первый. И подсветка синтаксиса во второй не работает. В чем проблема? В launch.json указан путь для первого проекта, при попытке удалить и сконфигурировать повторно всё то же самое.
Аноним 19/06/22 Вск 08:42:54 2383316 1745
>>2383176
Ты заебал, иди нахуй. Я после 6 месяцев на заводе устроился на 50к
Аноним 19/06/22 Вск 09:36:00 2383331 1746
>>2383231
>я не думаю, что майки будут наступать на те же грабли, что и прошлый раз
>C# 1 - не кроссплатформенное говнище только под винду
>MAUI 1 - не кроссплатформенное говнище только под винду

ебало майков которые непонимают чому не выстрелило имагине?
Аноним 19/06/22 Вск 10:54:22 2383388 1747
С чего начать вкат если уже знаю плюсы?
Аноним 19/06/22 Вск 10:56:30 2383390 1748
>>2383388
> знаю плюсы?
Хорошая шутка.
Аноним 19/06/22 Вск 10:59:37 2383394 1749
>>2383390
Хорошо, ебло, специально для тебя - шарю в С++ на том уровне, когда способен высрать рабочую хуйню которая хотя бы конпелироваться будет.
Аноним 19/06/22 Вск 12:18:48 2383439 1750
>>2383176
Так пиздеть надо подготовившись
Аноним 19/06/22 Вск 12:36:29 2383458 1751
Безымянный.jpg 59Кб, 963x573
963x573
не понял
C# основан на JS?
Аноним 19/06/22 Вск 12:42:51 2383468 1752
>>2381389
чому жс и пхп, если на ебаный петон большо всего вакансий?
Аноним 19/06/22 Вск 13:07:20 2383489 1753
там майки уже запретили с России грузить виновс.
Скоро и .нет запретят?
Что надо скачать заранее, чтоб с# работал на компе у меня?
Аноним 19/06/22 Вск 14:51:59 2383590 1754
Аноним 19/06/22 Вск 15:23:50 2383632 1755
На чем щас вообще пишут в компаниях? Когда вот указывают в вакансиях asp net 6 значит ли что по умолчанию человек должен знать ещё mvc?
Аноним 19/06/22 Вск 16:01:49 2383691 1756
А вы знали, то EF сохраняет сущности в порядке их Id, а не в порядке их добавления через Add? Теперь знаете.
>>2383632
Наверно нужно. Если проект чисто апишный, то не будет вью части, а модели и контроллеры останутся.
Аноним 19/06/22 Вск 16:08:22 2383699 1757
>>2383458
Во-первых, JScript != JavaScript. Во-вторых, JScript != JScript.NET. В-Третьих, нет С# никак не связан ни с JScript ни с JScript.NET (ну кроме того, что оба под .net clr), картинку рисовал дебич.
Аноним 19/06/22 Вск 16:10:13 2383701 1758
>>2383458
Кста, покажи фулл, там наверно еще куча лулзов от джавафила.
Аноним 19/06/22 Вск 17:12:38 2383743 1759
>>2383331
Учитывая, как яростно они впихивает в Винду Линукс и андроид рантайм - хз конечно
Аноним 19/06/22 Вск 18:15:18 2383764 1760
>>2383701
я уже закрыл сайт тот
Аноним 19/06/22 Вск 18:16:05 2383765 1761
>>2383701
но помню что там по скорости было написано, что
C# медленнее C, а Жава - быстрее C#
Аноним 19/06/22 Вск 18:32:49 2383768 1762
Что нужно знать чтобы пилить мультиплатформенные проги с гуи?
Аноним 19/06/22 Вск 18:35:18 2383769 1763
>>2383768
Нужно знать, что мультиплатформенный гуй это говно.
Аноним 19/06/22 Вск 18:36:24 2383771 1764
Аноним 19/06/22 Вск 20:24:42 2383844 1765
>>2383771
потому что не выглядит нативным для каждой из систем, слабая интеграция (то есть выглядит как говно и говном является)

А для программиста имеет кучу ограничений по созданию если гуи общий. Либо умноженной мороки программирования своего гуи в каждой платформе.

Аноним 19/06/22 Вск 22:35:10 2383921 1766
Аноны, возможно ли собрать кроссплатформенные либы под одну конкретную платформу? Что за дегенерат придумал при сборке под винду требовать собирать для android, ios и mac catalyst? Причём для ведра надо ещё Android SDK, NDK и Java поставить. Даже в инструкции по сборке от индусов написано что я должен всё это дерьмо поставить. Они там совсем ахуели? До .NET 6 такой хуйни не было, а теперь MAUI и половина других новых кроссплатформенных либ требуют всё это говно. А я ведь всего лишь хотел собрать проект из папки samples на 100 строк кода.
Ещё дико бесит что теперь для всех проектов вкладка параметров проекта содержит разные параметры - жму properties и каждый раз как в первый раз, куча каких-то строк, чуть ли не xml заставляют редактировать в документации по MAUI даже пишут что надо копипастить в xml строки, пиздец какой-то.
А ещё больше очко горит когда либы майков собираются через мокропиську nuke.
Нахуй они это делают? С каждой версией всё пиздецовее становится процесс сборки, а билды из одного экзешника превращаются в кучу файлов. Недавно писал консольную софтину и оно собирает её в два файла даже при выборе single-file publish - exe и dll с таким же именем, без dll экзешник не запускался...
Аноним 19/06/22 Вск 22:37:37 2383923 1767
>>2383844
Ну бля, а если насрать на натив и рисовать везде одно и тоже? Может я полноэкранку хочу ебануть?
Аноним 19/06/22 Вск 22:54:10 2383934 1768
>>2383223
>Через месяц мы узнаем, что не все так однозначно, есть НЮАНСЫ, поэтому у нас будет десять вариаций MAUI
Не знаю, вроде весьма однозначно: линукса нет, а интерфейс описывается ксамелом. Мертворожденный кал, одним словом.

>>2383468
>чому жс и пхп, если на ебаный петон большо всего вакансий?
Это в какой такой вселенной? Или они упоминание слов в вакансиях девопсов посчитали? Питон - это дно язык с точки зрения рынка труда, не удивлюсь, если даже F#-перских вакансий больше, чем питоновских.

>>2383489
>Что надо скачать заранее, чтоб с# работал на компе у меня?
Ничего. Дотнет заопенсорсился. Даже если майки совсем ебанутся, и начнут русские айпишники на гитхабе блокировать - ты в тот же день сможешь зайти в этот тред и скачать по ссылке анонов все, что нужно.

>>2383765
>C# медленнее C, а Жава - быстрее C#
C# сегодня намного быстрее жавы, а если заморочиться с аллокейшен-фри кодом - то почти догоняет Си.

>>2383844
>потому что не выглядит нативным для каждой из систем, слабая интеграция (то есть выглядит как говно и говном является)
Ты из 20-го века капчуешь? Сегодня нет никакой необходимости использовать нативный гуй, можно без проблем полностью рисовать кастомный.
Аноним 19/06/22 Вск 22:57:12 2383938 1769
>>2383921
>оно собирает её в два файла даже при выборе single-file publish
>To embed those files for extraction and get exactly one output file, like in .NET Core 3.x, set the property IncludeNativeLibrariesForSelfExtract to true.
Аноним 19/06/22 Вск 22:57:13 2383939 1770
Насколько smooth и быстрым будет перекат из плюсов к вам?
Аноним 19/06/22 Вск 23:11:11 2383950 1771
>>2383934
> # сегодня намного быстрее жавы
Что-то в бенчмарках веб-серверов джава традиционно ебёт шарп даже не напрягаясь.
> почти догоняет Си
Шарп может только догнать джаву по потреблению памяти. В гей-бенчмарке .net 6 с AOT дал прирост в десятки процентов, а отставание от сишки всё ещё в разы. Говорить про скорость, когда шарп выступает скриптовым языком для вызова нативных библиотек - это дикость, вон питон тоже так может. Когда дело доходит до реализации алгоритмов на чистом шарпе, так сразу получаем потребление памяти гигабайтами и скорость как у дженерик параши уровня js.
Аноним 20/06/22 Пнд 01:16:43 2384043 1772
>>2383950
>В гей-бенчмарке .net 6 с AOT дал прирост в десятки процентов
Причем тут AOT, болезненный? Ты там в своих бенчмарках скорость компиляции измеряешь?
>Говорить про скорость, когда шарп выступает скриптовым языком для вызова нативных библиотек
Каких таких нативных библиотек? Что ты там с шарпом делаешь, больной ублюдок?
>Когда дело доходит до реализации алгоритмов на чистом шарпе, так сразу получаем потребление памяти гигабайтами и скорость как у дженерик параши уровня js.
Фантазии фантазера. По потреблению памяти на алгоритмах - разница чисто в размере среды выполнения, какие такие гигабайты? По скорости, если в твоих алгоритмах переиспользовать что переиспользуется, все остальное заменив стракт рефами и спанами - то разница с СИ будет процентов в 20 от силы. Или просто дауны как всегда, собрали приложение со сборщиком мусора в сервер-моде, и потом показывают, мол смотрите, он сожрал всю память?
Аноним 20/06/22 Пнд 02:05:13 2384064 1773
>>2383691
>EF сохраняет сущности в порядке их Id, а не в порядке их добавления через Add
А ты знал, что в такие проблемы ебут мозг только тем даунам, которые до сих пор в 2К22 году используют упорядоченные Id-шники, вместо GUID-ов.
Аноним 20/06/22 Пнд 02:15:02 2384067 1774
>>2383923
Да рисуй что хочешь. У каждого свой путь. Авалония рисует сама, МАУИ пытается в натив бэкенды, Я про то, что кроссплатформенные вещи из-за своего "кросс" являют собой абстракцию (как ORM над базами данных), а значит всегда меньше возможностей чем натив (из за попыток усидеть на всех стульях).

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

просто у пользователя выбора нет и приходится жрать, что дают.
Аноним 20/06/22 Пнд 02:17:29 2384070 1775
>>2383950
>Что-то в бенчмарках веб-серверов джава
в бенчмарках чего?
Опять сравнивают теплое с мягким
Аноним 20/06/22 Пнд 07:19:49 2384127 1776
C# - отличный хобби-язык: сложный, интересный, мне нравится. Жаль, что в постфевральской России рынок труда для него не завезли.
Аноним 20/06/22 Пнд 07:20:39 2384128 1777
Аноним 20/06/22 Пнд 07:58:04 2384136 1778
img.jpg 38Кб, 295x368
295x368
>>2384128
А прикиньте, как ждунам сейчас, по 3к откликов на вакансию.
Аноним 20/06/22 Пнд 08:00:55 2384138 1779
>>2384136
В России HTML ПРОГРАММИСТОМ(!!1!) проще устроиться, чем дотнетчиком.
Аноним 20/06/22 Пнд 08:14:53 2384140 1780
>>2384136
У меня в НСК на жаве без опыта 10 вакух, на шарпе 13, на питоне 16.
Аноним 20/06/22 Пнд 09:44:38 2384190 1781
>>2384136
HTML программист == .NET разработчик
Аноним 20/06/22 Пнд 10:01:45 2384206 1782
Я правильно понимаю что из сабжа я могу выжать 100% потенциала даже если я сижу на пингвине?
Аноним 20/06/22 Пнд 12:31:07 2384312 1783
image.png 46Кб, 850x509
850x509
Мне кажется, что ItemsCollection_B лучше, потому что при большом количестве итемов будет быстрее, чем А.
Но среди изучаемых материалов я вижу овердохуя А.

Таки мне не правильно кажется?
И как всё же будет "лучше"?
Аноним 20/06/22 Пнд 13:11:49 2384319 1784
ЯП на ХХ.jpg 109Кб, 882x1038
882x1038
>>2383934
>Это в какой такой вселенной? Или они упоминание слов в вакансиях девопсов посчитали? Питон - это дно язык с точки зрения рынка труда, не удивлюсь, если даже F#-перских вакансий больше, чем питоновских.

Ну как-то так.
Аноним 20/06/22 Пнд 13:12:45 2384320 1785
Аноним 20/06/22 Пнд 13:13:03 2384321 1786
>>2384312
У тебя туннельное зрение, ты акцентировал внимание на одной проблеме, не замечая, как вылезают другие, причем ирония ситуации в том, что именно они руинят все плюсы, к которым ты стремишься.

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

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

Ты должен разделить задачу на то, что должно использоваться чаще всего, и на то, что должно использоваться иногда. Вариант A этому удовлетворяет: на первом месте там список, и если ВДРУГ нужно обратиться по имени, то мы используем соответствующее свойство. А если в 95% случаев нам нужно обращаться по ключу итема, то мы делаем словарь базой и перебором возвращаем индекс или массив (как у тебя, ток нахер выкинуть лист)
Аноним 20/06/22 Пнд 13:17:06 2384323 1787
ЯП на Хабрк.jpg 99Кб, 786x824
786x824
Аноним 20/06/22 Пнд 13:17:42 2384324 1788
>>2384140
нск это новосибирск или что?
Аноним 20/06/22 Пнд 13:17:48 2384325 1789
>>2384321
>(как у тебя, ток нахер выкинуть лист)
Ну и два словаря это тоже как бы не тоже. И вообще у тебя словари обращаются в сторонний лист, что тоже не оче быстро. Бенчмарком тестировал скорость?
Аноним 20/06/22 Пнд 13:24:50 2384329 1790
>>2384321
В листах и словарях дублируются ссылки на объекты Item, то есть потребление памяти сравнительно небольшое, но при этом, хоть и ценой большЕго потребления памяти, но вариант В будет быстрее А, когда итемов станет овер9000.

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

>>2384325
>И вообще у тебя словари обращаются в сторонний лист
Зачем? Я ж в словари ссылки на объект добавлю к каждому ключу и всё.
Аноним 20/06/22 Пнд 13:53:54 2384334 1791
>>2384329
А ячейка со ссылкой что, занимает ноль места в памяти? При овер9000 она тоже будет занимать много места.

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

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

>Наверно это будет оптимальный вариант.
Кек, а ты попробуй. У тебя щас будет ДИЛЕММА между name и id.
Насколько я знаю, когда я пользовался скриптами в других программах, типа фотошопа или корела, там просто есть правило — получать итем по ID. А все остальное, типа имени, цвета — это все уже берется из самого объекта. Это сука база. И поэтому, если нам надо было найти имя объекта, мы перебирали по ID или просто список, и уже в каждом итеме узнавали его имя и сравнивали с искомым значением. И любая функция, любое свойство завязано на ID. И нет, нет там плохой производительности, если все обращаются по ID.

А твой подход, он как бы добавляет анархии, и тогда все последующие функции, которые будут работать с твоим списком, будут делаться по принципу кто в лес, кто по дрова. И я уже вангую, что ты будешь делать миллиард перегузок для каждого случая.
Аноним 20/06/22 Пнд 14:28:56 2384357 1792
Можно ли внутри where чекнуть коллекцию на null? Вот здесь где-то
>.Where(element=> list.Contains(element.Id)
Не хочется чёт в if до запроса проверять, придётся в else запрос дублировать. ? не сработает
Аноним 20/06/22 Пнд 14:48:29 2384376 1793
Аноним 20/06/22 Пнд 15:28:15 2384400 1794
2594efd4ae3350f[...].jpg 116Кб, 640x480
640x480
Ну шо анон посоветуй годный способ роскомназд

Стоит ли сейчас снижать ожидаемый уровень за до за жрат 1к usd? Или есть надежда что ситуация улучшится в ближайшие месяцы?

Или может стоит укатить на во фронт и учить ангуляр/реакт?

мимо дебил к дерьмовым опытом: год вин-форм + год asp фреймворка под iis
Аноним 20/06/22 Пнд 16:35:23 2384465 1795
image.png 136Кб, 480x363
480x363
Аноны, с точки зрения быстроты трансфера данных, что лучше, отправлять картинку с помощью SignalR, или с помощью SignalR
тригернуть нормальный GETзапрос
Аноним 20/06/22 Пнд 16:49:12 2384479 1796
Посоветуйте сервис с задачками с проверкой для с#
Аноним 20/06/22 Пнд 18:46:52 2384623 1797
>>2384400
Нет, 1k$ после двух лет - позор.
Аноним 20/06/22 Пнд 19:24:04 2384689 1798
>>2384064
И что? EF так же отсортирует сущности перед добавлением, хоть инт, хоть гуид.
>упорядоченные Id-шники, вместо GUID-ов.
Мань, PK из гуидов тоже будет отсортирован в базе или ты предлагаешь базе каждый раз фулскан делать для поиска записи по PK? Лол. И кстати из за это для PK используют специальные генераторы guid'овб которые генерируют их в порядке увеличения, чтобы при каждой вставке не перестраивать весь индекс, как если использовать полностью рандрмный гуид. Совсем двачер смузи обдолбался.
Аноним 20/06/22 Пнд 19:53:15 2384700 1799
Бля, если человек за 2 годы опыта 1к$ просить хочет, сколько околовкатуну ожидать? МРОТ?
Аноним 20/06/22 Пнд 19:55:50 2384702 1800
>>2384312
>Но среди изучаемых материалов я вижу овердохуя А.
1. На практике нет никакого большого количества айтемов, а твой второй кейс еще нужно обмазывать кодом для обеспечения консистентности.
2. Если обмазать кодом для обеспечения консистентности второй кейс - то это называется индексом.
3. На практике, когда подобные операции выполняются на большом количестве данных - эти данные лежат в базе данных. Именно поэтому, как несложно догадаться, базы данных и называются базами данных.

Собственно, из всего этого и следует ответ на твой вопрос - ты видишь первый кейс потому, что на практике у тебя будет не лист, на практике у тебя будет контекст базы данных, и код, описанный в первом кейсе, будет ормкой превращаться в запрос к базе данных. А там уже, на стороне базы данных, будет выполняться что-то похожее на твой код из второго кейса, что тебе абсолютно не нужно писать самому.
Аноним 20/06/22 Пнд 20:01:44 2384707 1801
image.png 1Кб, 156x27
156x27
Аноним 20/06/22 Пнд 20:05:26 2384711 1802
>>2384700
>Бля, если человек за 2 годы опыта 1к$ просить хочет, сколько околовкатуну ожидать? МРОТ?
На отечественном рынке дотнета? Примерно столько же. Только это вкатун штуку баксов платить должен, чтобы его на стажировку взяли.
Аноним 20/06/22 Пнд 20:55:07 2384751 1803
ee5589a42c11baa[...].jpg 41Кб, 750x625
750x625
>>2384623
Бля, а шо делать братан, я уже 4 месяца без работы. Если б я ша в рахе был бы, мог бы изи на 2 года гепнуться и ждать у моря погоды.

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

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

За те 4 месяца, что я без работы видел только одну вакансию на джуна, так что крепись, анон.
Аноним 20/06/22 Пнд 21:01:44 2384759 1804
image.png 86Кб, 528x746
528x746
Аноним 20/06/22 Пнд 21:09:44 2384766 1805
>>2384759
Сука. И что вот мне делать? Только закончил вуз, сейчас пытаюсь устроиться джуном на нет. Опыта работы нет.
Аноним 20/06/22 Пнд 21:27:08 2384779 1806
>>2384766
Подожди что будет месяца через 3-4. Может все устаканится.

Но мое имхо сейчас учить дотнет сейчас плохая затея. Поясню.
1. Всем нужны универсальные спецы. Почти во всех вакансиях уровня мидл/джун+ требуют или знания фронта или CI/CD. Знание sql/ef вообще не обсуждается, требуется просто везде. Плюс ебанную кучу побочного говна кафки, рэбиты, редисы.

Мне как-то спросили на собесе на одном знаю ли я Си, ебать.

2. Дрочка на теорию. Хуже только у С++. Знаю знакомого питониста и фронта, их ваше этой хуйней не дрочат. У нас же если не вызубрил Рихтера, ты не человек нахуй.

3. Потолок признания тоже высокий. На западе cеньер это 5+, лид 7+. В той же жаве сеньоров от 3+ набирают. На фронте 3+ уже иногда лидами называют себя.

4. ASP не взлетает, хуй знает почему, думаю тут репутация Майкрософта хуевая.

5. Сраебота с опытом. Тут возможно чисто моя проблема. Попал на хуевый проект - cчитай время зря проебал. Лично знаю что 5 лет опыта дрочки вин форм + sql, на рынке по зп приравнены к году хорошего проекта (asp 5 + азура + кубер + ef + редис)
Аноним 20/06/22 Пнд 21:37:59 2384788 1807
Аноним 20/06/22 Пнд 22:07:07 2384818 1808
>>2384759
>Я делал некоммерческий проект на стажировке
А кто его заставляет писать в резюме, что проект был некоммерческий.
Аноним 20/06/22 Пнд 23:40:27 2384863 1809
>>2384779
>Подожди что будет месяца через 3-4. Как ебанёт так уже ничего беспокоить не будет.
Поправил, можешь не благодарить.
Аноним 21/06/22 Втр 12:03:36 2385150 1810
Как же меня достало коллапсить все функции. Что за студия вредитель, почему она всегда все раскрывает? Да лучше бы она наоборот все коллапсировала.
Аноним 21/06/22 Втр 12:43:54 2385187 1811
>>2383768
> Что нужно знать чтобы пилить мультиплатформенные проги с гуи?
Eto.Forms
>>2383844
> не выглядит нативным для каждой из систем
Выглядит. Собирает на нативных виджетах выходной файл (win, gtk, mac).
> слабая интеграция
Интеграция на уровне дотнета. Что умеет дотнет, то умеет выходное приложение.
> имеет кучу ограничений по созданию
Ограничения только между десктопом и мобилами. Но даже ето можно урегулировать.
Аноним 21/06/22 Втр 12:44:19 2385190 1812
>>2384067
> Авалония
Моча
> МАУИ
Говно
Аноним 21/06/22 Втр 13:53:26 2385248 1813
>>2383934
>Сегодня нет никакой необходимости использовать нативный гуй
Тыскозал? Тупость сказал.
Сегодня нет никакой необходимости использовать ненативный гуй. Гуевая система только одна - винда, выбор отсутствует, нет смысла не использовать винду.

Еще есть мобилки, но попытка делать универсальное приложение под десктоп и мобилки на самом деле выдает мобилочное приложение под десктоп. Просто дерьмо ёбаное, потому что мобилка ну никак не является аналогом десктопа даже близко. Невозможно универсальное приложение, если его не обрезать под самую убогую систему - мобилки. Это по сути не универсальные приложение, а тупо отказ от десктопного софта как такового, т.е. отказ от нормального софта в пользу убогого мобилочного дерьма. Деградация, дегенерация, регресс. Кто это пропагандирует - сам дегенерат, вот и всё.
Аноним 21/06/22 Втр 14:16:38 2385260 1814
>>2385187
>Eto.Forms
И получаем ограничение на уровне "лепим формочки на винформс". Какие ограничения? да те же самые из-за которых при выборе между WPF и формами выбирают WPF

>>2385190
очень ценю твое мнение, вот если бы оно БЫЛО ПО ТЕМЕ.
Аноним 21/06/22 Втр 14:20:05 2385262 1815
>>2385248
именно. мир ебанулся. тянут свои моб приложения на дотнет как есть. то в виде метрошного говна, в котором только лютый примитив допустим, то в виде "а давайте эмулрятор андроида в винде сделаем ура ура"
Аноним 21/06/22 Втр 14:39:49 2385277 1816
Аноним 21/06/22 Втр 15:00:01 2385304 1817
>>2385260
> И получаем ограничение на уровне "лепим формочки на винформс".
Там есть зумерский МВВМ с ХАМЛ, если ты об этом. Тебя трудно понять, зумерок. Мямлишь что-то невнятное.
Аноним 21/06/22 Втр 15:59:27 2385370 1818
>>2385304
то есть отделение логики контрола от визуальной составляющей, что позволяет просто сделать нужное, а не устраивать магию с ручным рисованием контрола. про сложные контролы вообще жопа - потому и сущствуют всякие телерик. Как с этим у ето.формс? Подозреваю, что никак.

А также не имея проблем с разных DPI. Как с этим у формочек?
Аноним 21/06/22 Втр 16:20:15 2385388 1819
Студия 2022 предлагает только WPF Framework. Какого компонента не хватает для NEt 6?
Аноним 21/06/22 Втр 17:26:18 2385492 1820
>>2385388
Скрин приложи, непонятно нихуя
Аноним 21/06/22 Втр 17:40:12 2385517 1821
>>2385388
в установке компонентов там же галочки ставишь какие SDK Targets должны быть или как то так
Аноним 21/06/22 Втр 17:53:07 2385526 1822
>>2384779
>4. ASP не взлетает, хуй знает почему, думаю тут репутация Майкрософта хуевая.
Да нормально заходит. Просто зачем он в России? ASP - энтерпрайзный фреймворк, а у нас нет не только большого количества новых стартапов, которые и будут выбирать новый асп вместо проверенного спринга, так еще и у тех стартапов, которые есть - охват и нагрузки маленькие, им и на экспрессе норм, типа подумаешь, будут платить за веб-сервер 2к баксов в месяц вместо 500 долларов, разница меньше зарплаты одного программиста, зато жсеры универсальнее и толпами по улице ходят.
Аноним 21/06/22 Втр 17:55:16 2385530 1823
>>2384788
>Бля, эт что, на фриланс что ли лезть?
Фриланс - это как успешный поиск новой работы 2 раза в неделю. Т.е. ты один раз работу найти не смог, но надеешься находить ее по 2 раза в неделю.
Аноним 21/06/22 Втр 18:03:19 2385546 1824
>>2385492
>>2385517
Все нашел.
"Разработка классических приложений"
Аноним 21/06/22 Втр 18:15:32 2385559 1825
Image 1.png 31Кб, 634x460
634x460
>>2385546
ну это как бы само собой. а я говорил про это
Богдан 21/06/22 Втр 18:16:43 2385560 1826
Дарова шарпистеряне. Сори что спамлю. Тред создавал, но там тишина. Вот сама история. Попробую по тредам с языками пройтись и так решить мб... Заранее благодарен!
Закончил вузик в мск по ит специальности. И получилось так, что вроде и что-то делать пытался за время учёбы, а по итогу хуй в стакане. Сейчас дата сосист на питоне, но контора такая, что по факту я нихуя не знаю. Выиграл пару хакатонов даже пока учился. И вот теперь бесповортно пришло время выбирать как жить дальше. Как вообще найти стажировку себе или джуновину. Какой язык взять, чтобы точно начать карьеру можно было. Знаю все и по немного по факту, но на деле языка который я бы реально знал на достойном уровне нет. ООП понимаю вроде как. Я планирую выбирать из этого примерно: Java/C#/C++/(Мб питон, но не уверен насчёт него). Хотелось бы услышать совета от знающих людей... И что вообще сделать чтобы максимально эффективно и быстро найти полноценную норм работу себе(или стажировку)
Аноним 21/06/22 Втр 18:17:32 2385565 1827
Какой же ущербный шрифт в 22й версии. Мусорный какой-то с засечками и болдом, а я думал откуда у анона типа этого >>2380782
Думал это версия 1837 года.

И самое печальное, хотел вернуться в 2019ю, а там шрифт тоже изменен. Типа синхронизации. И я теперь не знаю, какой у меня был шрифт.
Аноним 21/06/22 Втр 18:19:27 2385568 1828
>>2385565
Для шарпа всегда шрифт был consolas
а лучшая тема - с 2017 синяя
Аноним 21/06/22 Втр 18:21:15 2385570 1829
>>2385568
>Для шарпа всегда шрифт был consolas
Точно, он. Начинаю вспоминать.
А новый какой-то слипшийся.
Аноним 21/06/22 Втр 19:16:00 2385646 1830
Всем ку шарписты, я Pytyon Junior Developer с коммерческим опытом в +- год, сейчас в своей стране я не могу найти ни 1 работы, решил попутно изучать си шарп + JS, посоветуйте годный материал для прошареного в основах и стоит ли сразу браться за ASP если +- имеешь опыт в с++/с и т.д?
Аноним 21/06/22 Втр 19:28:30 2385666 1831
>>2385560
>И что вообще сделать чтобы максимально эффективно и быстро найти полноценную норм работу себе(или стажировку)
Ты опоздал. Где-то до января еще можно было вкатиться относительно легко на низовые должности. Сейчас это практически как выйграть в лотерею.
Если ты закончил вуз по it специальности и у тебя нет вариантов куда устроится, то крайне хуево быть тобой. Да что там говорить, ты даже с языком толком не определился. Т.е. ты по факту просрал несколько лет своей жизни.
Так что отправляйся переучиваться и возвращайся когда будешь готов.
Алсо, язык вообще насрать какой. В твоей ситуации можешь брать любой, руководствуясь исключительно личными предпочтениями.
Аноним 21/06/22 Втр 20:39:05 2385750 1832
>>2385646
на ruSO ищи "учебные ресурсы язык_нейм"
Аноним 21/06/22 Втр 21:22:16 2385795 1833
>>2385370
> Подозреваю, что никак.
Плохо подозреваешь. Лучше бы взял и почитал. Всё там есть.
> проблем с разных DPI. Как с этим у формочек?
У бэка проблем нет, потому что бэк там как раз таки отделен от визуальной составляющей, которая вынесена во фронты (win (wpf/forms на выбор), gtk, mac) у которых с DPI так, как ты сам знаешь.

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

Охуенная система! Я сначала не понял, нахуя так много либ. А потом кааак понял! А потом каак въехал!
Аноним 21/06/22 Втр 21:45:43 2385808 1834
>>2385795
>Лучше бы взял и почитал. Всё там есть.
>потому что бэк там как раз таки отделен от визуальной составляющей

И все таки выходит что никак. Ты не понимаешь что такое lookless control.
Это не про отделение "бэк отдельно, а гуишки отдельно", а про способность вида "берем комбокбокс и ЛЕГКО!!! лепим внутри гриды с прогрессбарами и картинками сисек".

Такое возможно в Авалонии, потому что он рисует все сам (Кк и WPF), но ясен пень невозможно в том же гтк и формсах, где на выбор "стандартный контрол" или "них..я"
Аноним 21/06/22 Втр 21:56:44 2385819 1835
Какая же ебань эта ваша студия 2022. Секунд десять запускается и секунд десть закрывается. Раз в пять медленнее 19й. Т.е. они своей ссаной горячей перезагрузкой просто нахуй убили производительность.

Я ведь перешел, потому что в обновлении напугали, что NET 5 больше не поддерживается. У меня нет слов, одна ненависть, аж зубы скрипят.
Аноним 21/06/22 Втр 21:59:08 2385820 1836
>>2385819
Мне интересно. А зачем вообще продолжать сидеть на 5 нете если есть 6?
Аноним 21/06/22 Втр 22:05:09 2385825 1837
>>2385820
Ну вот перешел и пожрал говна. Для моего приложения пятого хватало, 19я комфортно и быстро запускалась даже без горячей перезагрузки.

Теперь же, создание простой программки сродни запуску космолета. Какая-то хуйня жрет 4Гб. Ебал я в рот.
Аноним 21/06/22 Втр 22:07:05 2385827 1838
>>2385825
ну "жрет" это ожидаемо. как никак 64 битную сделали. В остальном разницы не увидел. Как была тяжелой так и осталась.
Аноним 21/06/22 Втр 22:08:48 2385829 1839
>>2385825
>>2385827
Все, вырубил нахрен горячую перезагрузку и начало более или менее запускаться.
Аноним 21/06/22 Втр 22:13:05 2385835 1840
>>2385827
Ну я считай мгновенно перешел с 19 на 22, поэтому заметил разницу. Если переходить постепенно от версии к версии, то может и незаметно.
Аноним 21/06/22 Втр 22:27:48 2385849 1841
>>2385835
дык между 19 и 22 нет промежуточных. Лично я перестал пользоваться решарперовским Build & Run - студия теперь вроде бы собирает с такой же скоростью.
Аноним 22/06/22 Срд 02:09:46 2385903 1842
>>2375622
Тесты заебись, если проект пишется заебись.
Если хуёво пишется, то протестировать чаще всего нереально.
Но если начать их всё таки писать, и превозмогать, начинаешь понимать вот эту хуйню про связность и зацепление, абстракции, солиды и прочее вот это хипстерское и абсолютно бесполезное, ненужное задротское говно, ну ты понял.
На прошлой работке перекатывали проект на DDD, вот там было круто обмазывать новый функционал тестами.
К твоему вопросу про БД, это уже скорее не юнит, а интеграционный тест.
Погляди в сторону моков, если просто протестить юнит, если надо вкупе с БД, то посмотри на инмемори, либо можно задрочиться и каждый раз поднимать БД на тест.
Аноним 22/06/22 Срд 09:52:22 2386000 1843
В чем причина?
> значение "netstandart2.1" в TargetFramework не распознано
Аноним 22/06/22 Срд 10:30:09 2386016 1844
>>2385565
А попробуй вообще JetBrains Mono. Я как попробовал, везде на него перекатился, даже в терминале.
Аноним 22/06/22 Срд 10:43:45 2386033 1845
Аноним 22/06/22 Срд 11:49:08 2386091 1846
>>2386016
Интересный шрифт, спасибо. Каскадию пытался вытерпеть, но открыв на следующий день проект, просто все слилось — не было визуального понимания блока.
Аноним 22/06/22 Срд 12:47:41 2386161 1847
Аноним 22/06/22 Срд 12:57:28 2386170 1848
>>2386000
>netstandarT2.1
netstandarD2.1

Нет, ну мы тут будем твои опечатки исправлять?
Аноним 22/06/22 Срд 12:59:02 2386174 1849
image.png 51Кб, 922x375
922x375
Реквестирую советов мудрых. Так мудро придумано?
Аноним 22/06/22 Срд 13:06:04 2386181 1850
>>2386174
ну вместо while(true) можно и так.
Аноним 22/06/22 Срд 13:07:08 2386184 1851
Аноним 22/06/22 Срд 16:20:29 2386399 1852
>>2386184
Спасибо, приятно знать что goto всё еще рулит.

>>2386181
>while(true)
Выглядит как шиза.
Аноним 22/06/22 Срд 16:31:52 2386409 1853
>>2386016
Хороший все-таки шрифт. Уже немного привык, и в xaml хорошо смотрится. Спасибо, анон.
Аноним 22/06/22 Срд 16:32:03 2386410 1854
>>2386399
вообще то наоборот - переход по goto выглядит чужеродно
для семантики "повторять циклично" как бы цикл выглядит естественным, а не прыжки туда сюда по невнятной логике

так что goto незаменим только как break N
В остальном не нужен.
Аноним 22/06/22 Срд 16:47:22 2386420 1855
>>2386174
А в чем прикол? у тебя в конце цикла переход в начало цикла. Оно как бы само перейдет.
Аноним 22/06/22 Срд 16:52:28 2386427 1856
2022-06-2216-48[...].png 92Кб, 1124x452
1124x452
>>2386420
Пикча отвалилась. Чем у тебя Ignore от Retry отличается? Значит Retry у тебя дефолтное решение и не требует лишних телодвижений.
Аноним 22/06/22 Срд 16:58:29 2386430 1857
>>2386420
>>2386427
А, понял в чем суть, но я бы использовал вайл с индексом. Хотя с другой стороны он небезопасен и усложняет код.
Аноним 22/06/22 Срд 17:02:11 2386433 1858
>>2386181
>while(true)
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
А когда этот цикл закончится?
Аноним 22/06/22 Срд 17:27:57 2386448 1859
Нужно ли читать Рихтера?
Аноним 22/06/22 Срд 17:30:48 2386451 1860
>>2386433
на break. ваш КЭП

Там же, где обычно и прерываются циклы.
Аноним 22/06/22 Срд 17:44:52 2386459 1861
Аноним 22/06/22 Срд 17:47:57 2386462 1862
>>2386451
Там где "true" обычно брейк и пишется. Для этого условие и создано.
Аноним 22/06/22 Срд 17:56:11 2386466 1863
Шкала рихтера.mp4 6138Кб, 1016x724, 00:00:24
1016x724
>>2386448
Его не читают, а слушают.
Аноним 22/06/22 Срд 17:56:17 2386467 1864
>>2386462
while(true){
try{
//что то делаем
break;
}catch(НужныйИсключение){
варнянгаем и делаем паузу если хотим
}
}

и нахера ваш goto

Аноним 22/06/22 Срд 21:47:52 2386642 1865
>>2386459
Обычно брейк вешается на кнопочку с крестиком.
Аноним 22/06/22 Срд 21:50:13 2386644 1866
Как отсортировать Point только по X координате?
Аноним 22/06/22 Срд 21:50:47 2386647 1867
Аноним 22/06/22 Срд 22:03:49 2386662 1868
>>2386644
myArray.ToList().OrderBy(x => x.X).ToArray(), возможно можно обойтись без ToList()
Или вот так
Array.Sort(array, p => p.X)
Аноним 22/06/22 Срд 22:19:38 2386671 1869
>>2386459
Тут лучшие умы computer science доказать этого не могут, а тут ты у шарпистов спрашиваешь
Аноним 22/06/22 Срд 23:40:30 2386739 1870
Как получить ноль от деления по модулю, если делитель больше делимого? Без if.
Аноним 23/06/22 Чтв 00:02:21 2386755 1871
>>2386739
В C# оператор есть %, возвращает остаток от деления, если остаток 0 - вернет 0.
Аноним 23/06/22 Чтв 01:22:30 2386779 1872
>>2386755
В вот и нетути. К примеру:
70 % 90 = 70

А мне надо, чтобы было:
120 % 90 = 30
70 % 90 = 0

В VB обратный слэш возвращает целое число от деления, типа
70 \ 90 = 0, при этом 120 \ 90 = 1
Но это опять if
Аноним 23/06/22 Чтв 02:27:58 2386800 1873
>>2386174
На любом более-менее реальном проекте тебя за такое выебут. А потом отпиздят. А потом обоссут. и на всякий случай еще и пальцы переломают чтобы ты вообще кодить не мог.
Запомни на всякий случай в современном мире в языках высокого уровня нет нормальных кейсов для применения goto. Единственный возможный случай это применение в switch и то только если у тебя жадный алгоритм и во главе угла стоит оптимизация и скорость пиздец как важна. Но тебе такое не светит, так что забудь про goto.
Аноним 23/06/22 Чтв 02:35:52 2386804 1874
>>2386779
>А мне надо, чтобы было:
>120 % 90 = 30
>70 % 90 = 0

public int MyDivide(int x, int y) => x > y ? x%y : 0;
Аноним 23/06/22 Чтв 09:13:20 2386863 1875
1) Как вы совладаете с архитектурой? Заметил что ловлю дикие тормоза просто чтобы продумать какая должна быть инфраструктура/каркас приложения и на инфраструктурный код очень медленно у меня идет. Нужно загрузить в оперативную память мозга все модели и их свойства, контроллеры и т.д. и я ловлю мемориранаут. Где вы рисуете визуальные блоки/схемы?
2) Как совладать с ef DatabaseContext? У меня есть сущность которую я добавляю в бд в одном контроллере, делаю detach и dispose контекста, дальше в другом контроллере делаю modify и ловлю ексепшн "already begin tracked by another context". Я тупо не могу понять где еще он может отслеживаться.
Аноним 23/06/22 Чтв 11:15:28 2386957 1876
>>2386863
1) За тебя всё придумали - design patterns. Учишь их и в зависимости от задачи используешь тот или иной, но можно и комбинировать, тоже хорошо получается. А с опытом само придёт.
2) Неси конкретный пример с версией EF (или попробуй поиграться с DbContext.Entry)
Аноним 23/06/22 Чтв 12:08:24 2386983 1877
Что быстрее передать в аргументы: лист или массив?
Аноним 23/06/22 Чтв 12:23:22 2386986 1878
>>2386983
>Что быстрее передать в аргументы: лист или массив?
Превратим в
>Что быстрее передать в аргументы: ссылку на лист или ссылку на массив?
Упростим до
>Что быстрее передать в аргументы: ссылку или ссылку?

Как думаешь, какой ответ?
Аноним 23/06/22 Чтв 12:27:02 2386988 1879
>>2386986
А с чего ты решил, что он передает ссылку? Может ему нужна именно копия.
Аноним 23/06/22 Чтв 13:09:26 2387014 1880
>>2386986
Когда ты передаешь массив в функцию, разве не создается копия массива? Если ты ставишь ref, то тогда передается адрес.
Аноним 23/06/22 Чтв 13:36:24 2387040 1881
>>2384788
Фриланс сдох 24.02, осталось только разве что лабы студентам на винформах делать. На дотнете фриланса особо и не было никогда.

>>2384766
Айти в РФ более чем наполовину выкосило, осталась только работа в банках либо на государство.
Попробуй походи по всяким заводам и нии, хоть какой-то опыт может получишь.
Аноним 23/06/22 Чтв 13:38:26 2387044 1882
>>2384700
Вкатун в ДС 35-40к рублей где-то стоит. Но вообще это вкатун с минимальным опытом. Совсем без опыта - бесплатная стажировка где-то 3-4 месяца, потом на 25-30к переводят. Это в Москве, повторяю.
Аноним 23/06/22 Чтв 13:39:32 2387047 1883
>>2384400
>Стоит ли сейчас снижать ожидаемый уровень за до за жрат 1к usd?
Да, другого выхода по сути и нет.

>>2384400
>есть надежда что ситуация улучшится в ближайшие месяцы?
Нет, айти умерло. Кое-как перебивайся на хуевых говноработах за мрот, учи инглишь и съебывай.
Аноним 23/06/22 Чтв 13:46:38 2387057 1884
>>2381539
>микросервисы для своих стартапов
Дотнет это не про стартапы, а про энтерпрайз в большинстве случаев. В РФ энтерпрайз это банки и гос - дотнет есть, но явно не в большинстве случаев и явно не с микросервисами.

Стартапы на дотенете нужно искать где-нибудь в Калифорнии, Лондоне, Берлине, а не в Москве. Стартапов у нас особо и не было никогда, а теперь и подавно не будет.
Аноним 23/06/22 Чтв 14:59:17 2387113 1885
Screenshot20220[...].png 259Кб, 1079x461
1079x461
77kk3W7wSZU.jpg 77Кб, 1429x237
1429x237
Бля, ну это же тупо невнимательность, могли уж на собес то позвать...
Аноним 23/06/22 Чтв 15:17:03 2387151 1886
>>2387113
Если они не будут доебываться до этого, то перед ними встанет два чела с абсолютно равными навыками. Вот они и начинают искать хоть какую-то мелочь, которая бы отличала тебя от другого претендента. И чем сильнее схожи вы, тем мелочнее причина.
Аноним 23/06/22 Чтв 20:27:10 2387456 1887
image.png 122Кб, 1186x457
1186x457
Когда будут гринтреды из голанга? Даже в жабу их уже завезли спустя 6 лет
Аноним 23/06/22 Чтв 20:50:28 2387462 1888
>>2387456
как понять "даже в жаву завезли"?

из вики
"В Java 1.1 green threads являлись единственной потоковой моделью (моделью распараллеливания потоков), используемой в JVM[7], по крайней мере, в Solaris. Ввиду того, что green threads обладают ограничениями в сравнении с native threads, в последующих версиях Java основной упор сделан на native threads. "
Аноним 23/06/22 Чтв 21:23:00 2387469 1889
Аноним 23/06/22 Чтв 22:03:07 2387492 1890
Аноним 23/06/22 Чтв 22:20:08 2387498 1891
>>2387492
никто не запрещает просто пойти и создать нужный файл <имяпродукта>.exe.vmoptions в нужном месте.

просто у шарпистов ЛЕНЬ.Такая же, которая мешает перекатить тред.
Аноним 24/06/22 Птн 03:48:21 2387587 1892
>>2387014
Вам мы точно не перезвоним.
Аноним 24/06/22 Птн 10:32:53 2387673 1893
>>2387587
А можно где-то почитать про вот такую базу? Я же ведь вот это утверждение где-то и подхватил. Как читаемое не воспринимать по своему?
Аноним 24/06/22 Птн 11:31:58 2387711 1894
Почему в шарпе нет нормальной инкапсуляции, как в крестах?
Аноним 24/06/22 Птн 12:14:01 2387741 1895
>>2387014
Создаётся копия ссылки на массив.
Аноним 24/06/22 Птн 12:20:14 2387746 1896
>>2387462
>как понять "даже в жаву завезли"?
Чел, проджект луум (project Loom, virtual threads) завезли в JDK 19, которая выйдет уже в сентябре этого года.
Аноним 24/06/22 Птн 12:27:55 2387753 1897
>>2387673
>А можно где-то почитать про вот такую базу?
Любая книжка по C#. Одна из первых глав: Value and Reference Types
Если хочешь прям кишки понимать, то Рихтера.
>>2387673
>Я же ведь вот это утверждение где-то и подхватил. Как читаемое не воспринимать по своему?
Вникать в прочитанное, а не пытаться накладывать свой х.з. где подхваченный недоопыт на новые данные.
Аноним 24/06/22 Птн 12:34:20 2387758 1898
>>2387741
>Создаётся копия ссылки на массив.
И если я начну менять массив в другой функции, то я изменю оригинал, даже если там не стоит ref?
Аноним 24/06/22 Птн 12:38:19 2387760 1899
Аноним 24/06/22 Птн 12:40:30 2387764 1900
>>2387758
Если стоит ref, можно сделать new [].
Если реф не стоит - можно обращаться к элементам и их менять.
Аноним 24/06/22 Птн 13:12:37 2387794 1901
>>2387760
Например в шарпе доступ к полям получают напрямую, можно вызывать поле через точку и тут же присваивать значение. В крестах такое считается лютым говнокодом, и для каждой переменной создаются отдельные сеттер и геттер.
Аноним 24/06/22 Птн 13:18:57 2387798 1902
2022-06-2412-59[...].png 34Кб, 662x401
662x401
2022-06-2412-59[...].png 1Кб, 257x61
257x61
>>2387764
Проверил. Если внутри другой функции изменить список или массив, то меняется оригинал.

Удивительно как я до этого сотни раз не наткнулся на это. Всегда ставил ref. А почему же тогда, остальные структуры, типа поинт или интеджер передаются в качестве дубликатов. Массив же тоже структура?
Аноним 24/06/22 Птн 13:23:53 2387800 1903
>>2387794
Так в шарпе тоже самое. Применять публичные поля — лютый зашквар, для этих целей используется свойства, у которых есть параметр set и get. Что не так?
Аноним 24/06/22 Птн 13:34:32 2387811 1904
>>2387794
В старых версиях бейсика примерно так же было: чтобы изменить значение поля класса, надо было использовать Set. Синтаксический мусор, почему этим должен заморачиваться пользователь? Пусть этим морочится создатель поля. Ограничения на Get и Set есть в свойствах шарпа.
Аноним 24/06/22 Птн 13:38:50 2387813 1905
>>2387798
Массив это объект, он хранится в куче и передаётся по ссылке. Инт и стракт это value type, они передаются копированием.

var k = new int [10];
это сокращение для
var k = Array.CreateInstance(typeof(int), 10);
Аноним 24/06/22 Птн 13:45:35 2387816 1906
изображение.png 52Кб, 768x618
768x618
Аноним 24/06/22 Птн 13:46:41 2387818 1907
>>2387798
>Удивительно как я до этого сотни раз не наткнулся на это. Всегда ставил ref. А почему же тогда, остальные структуры, типа поинт или интеджер передаются в качестве дубликатов. Массив же тоже структура?

Ты сейчас путаешь ссылочный тип и ссылка.
Ссылка - это адрес памяти.
Ссылочный тип - объект, хранящийся в куче (heap)
Аноним 24/06/22 Птн 13:56:08 2387825 1908
Бля, может юнити начать учить, раз никому вкатун на asp не нужен?
Аноним 24/06/22 Птн 14:06:17 2387828 1909
На бейсик вообще забили. Оказывается у шарпистов есть IntelliSence, который дописывает строку. Вот когда юзаю бейсик, вообще тишина, хотя опции общие.
Аноним 24/06/22 Птн 14:46:05 2387853 1910
>>2387828
Попробуй в настройках пошариться. Или Rider попробуй.
Аноним 24/06/22 Птн 15:05:30 2387862 1911
>>2387746
Джависты сидят на 8 джаве, которая в поддержке до 2030, так что похуй абсолютно на гринтреды. Их юзать будут в максимум 10% от всех проектов
Аноним 24/06/22 Птн 15:30:37 2387889 1912
2022-06-2415-15[...].png 5Кб, 628x84
628x84
2022-06-2415-16[...].png 4Кб, 580x46
580x46
>>2387853
Да те же самые настройки. Я же только новую студию поставил.
Список подсказок выпадает, но вот такой штуки, чтобы серым цветом подсказывало целые комбинации, типа пикрила — нет.
Аноним 24/06/22 Птн 15:47:01 2387907 1913
>>2387828
Зачем он нужен? Это же не бейсик, а буквально шарп, только с неудобным бейсиковским синтаксисом.
Аноним 24/06/22 Птн 15:58:16 2387910 1914
>>2387889
Это не интеллисэнс, это нейронка. А на VB никто не пишет, поэтому не обучили.
Аноним 24/06/22 Птн 16:18:01 2387930 1915
>>2387907
В шарпе визуально не поймешь наследование это или реализация интерфейса, если в названии интерфейса не стоит префикс "I-". В бейсике это длинные незапоминаемые слова, но зато сразу видно что и где:
Public Class Employee
Inherits Person
Implements IAccount
End Class

И вообще, эта тенденция перекладывать часть информации на название (которое из без того может быть длинным), типа дописывать "Async", мне не очень нравится. В бейсике функция сама сообщает, что она поддерживает ожидание. Может это вызовет проблемы с показыванием списка в intelliSence, когда у тебя есть оба варианта, но почему бы не реализовать так же, как это сделано с перегрузками?

Так что я не скажу, что C# по всем параметрам имеет удобный синтаксис. Про свойства уже писал не раз.
Аноним 24/06/22 Птн 17:44:59 2387993 1916
>>2387746
ага вижу. делают плохое подобие котлина.
ну то жава, там даже такое в радость.
Аноним 24/06/22 Птн 17:56:11 2388013 1917
>>2387930
>В шарпе визуально не поймешь наследование это или реализация интерфейса,
Подсветку синтаксиса настрой и проблем и будешь понимать.
Аноним 24/06/22 Птн 18:42:39 2388060 1918
Я слышал, что await нельзя юзать для долгих ожиданий, что типа там есть какой-то временный предел. Так ли это и сколько приблизительно времени?

Можно ли его юзать как аналог ShowDialog?
Аноним 24/06/22 Птн 18:43:15 2388061 1919
Аноним 24/06/22 Птн 18:44:01 2388062 1920
Аноним 24/06/22 Птн 18:46:20 2388066 1921
>>2388060
>что await нельзя юзать для долгих ожиданий
Чушь чушная
Аноним 24/06/22 Птн 19:14:49 2388099 1922
>>2388060
Юзал await для ожидания запроса на 2 минуты, норм.
Аноним 24/06/22 Птн 20:19:46 2388211 1923
>>2388099
Ну две минуты — недолго. Я имею ввиду, что есть шанс, что пользователь откроет окно (которое технически не должно отнимать много времени), но вдруг решит свернуть приложение на час.

Я просто думаю стоит ли мне событие генерировать или эвейта достаточно. Или хотя бы детектить, что эвейт всё.
Аноним 24/06/22 Птн 20:29:32 2388231 1924
>>2387993
В котлине были только корутины, а это несколько иная технология, нежели гринтреды со своим планировщиком.

>>2387862
Доля восьмилетней восьмерки потихоньку снижается ежегодно. Там, где проект держат на плаву либо переезжают на котлин, либо на уже на 17.
Аноним 24/06/22 Птн 20:58:18 2388267 1925
Что-то я не пойму, как объявить делегат в коде верхнего уровня.
> Инструкции верхнего уровня должны предшествовать объявлениям пространств имен и типов.
Аноним 24/06/22 Птн 21:26:21 2388289 1926
>>2388267
Это значит на уровне импортирования библиотек, выше чем начинается первый неймспейс или класс.

Using
...
Delegate
...
Namespace
{
   Class
   {
   }
}


Аноним 24/06/22 Птн 21:31:28 2388295 1927
>>2388289
Это я знаю, но в 9+ версии при создании приложения по умолчанию не генерируется неймспейс, класс и main, вот я и спрашиваю, как в таком случае прописывать делегат, майки ведь явно это предусмотрели.
Аноним 24/06/22 Птн 21:43:43 2388307 1928
>>2388295
А, ну да, видел это дерьмо. Там же ссылка на статью с подробностями.
https://docs.microsoft.com/ru-ru/dotnet/core/tutorials/top-level-templates

Короче надо юзинги и делегаты добавлять в файл, смотри "глобальные директивы". Тут вопросик в том, почему они не генерируют файл (или я не заметил).

Ну либо отключить упрощенный формат. Я мимоходом это заметил, но пока работаю со старыми проектами и не вдавался в подробности.
Аноним 25/06/22 Суб 13:05:39 2388586 1929
Прохожу четвертый курс по шарпу (на этот раз это книга), уже могу рассказать весь синтаксис, если меня ночью разбудить. Но как сука нормально раскидывать логику по разным классам? Никто этого толком не объясняет в курсах и книгах, заебали. Я решаю все задачи, они работают как надо, но потом смотрю на свой код и на код препода - у него все четко и лаконично, а у меня вечно все распихано хуй пойми куда, пачка классов с одними методами (пушта я не ебу, какие данные туда пихать в поля и проперти и зачем), а в каком-нибудь основном классе наоборот целая куча логики. Совершенно непонятно, как связывать классы, как они должны работать: по цепочке или один главный должен вызывать вспомогательные. Вообще нихуя не понимаю. Куда копать, чтобы понять?
Аноним 25/06/22 Суб 13:36:48 2388610 1930
>>2388586
Хм. Странно.
Ведь в каждом треде твердят, что можно всему научиться самому. Без курсов, без вышки, без менторов. Неужели пиздят?
Аноним 25/06/22 Суб 13:53:01 2388627 1931
>>2388586
>Куда копать, чтобы понять?
Ну а если серьезно, то копать в сторону паттернов и принципов программирования. Вроде ООП, КОП, SOLID, инверсия управления, паттерны GoF, DDD, TDD, ONION, CQRS, UoW и т.д. и т.п. Только не на уровне "пройти собес", а по серьезному с прицелом на то как все это нужно на практике применять.
Вобщем, дохрена всего, где-то на полгода...год плотной учебы.
Можешь попробовать найти какую-нибудь стажировку (сорт оф импосибл на данный момент) ну или искать того кто все это тебе объяснит.
Аноним 25/06/22 Суб 13:55:01 2388630 1932
Как в темплейте биндить свойство другого элемента? Как Пупе получить контент Лупы?

<ControlTemplate TargetType="TextBox">
    <StackPanel>
        <Label x:Name="Lupa" Content="Zarplata" />
        <Label x:Name="Pupa"/ Content="{ Binding ElementName=Lupa, Path=Content}">
    </StackPanel>
</ControlTemplate>

Я проклинаю WPF и тек, кто наставила стили настраивать там. Все что имеет более или менее сложную логику, с мудреными отступами, превращается в ад. Кодом я бы написал это за три секунды.
Аноним 25/06/22 Суб 14:38:56 2388660 1933
>>2388627
О, благодарочка, пойду копать.
Аноним 25/06/22 Суб 15:04:25 2388674 1934
изображение.png 82Кб, 716x534
716x534
Можете растолковать этот момент? Допустим 42 хранится в другом участке памяти, а почему тогда string не хранится?
Аноним 25/06/22 Суб 15:35:07 2388705 1935
>>2388674
да откуда ж знать о чем это он. тут только часть код и все вырвано из контекста.

А без контекста у него пурга написана...значение 42 переданное...сравнении ссылочных типов.

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

Если судить по тексту то он принимает 42 как object, получает упаковку и хрен пойми как потом сравнивает. У стринга же упаковки не происходит.

Аноним 25/06/22 Суб 15:36:54 2388708 1936
>>2388705
> да откуда ж знать о чем это он. тут только часть код и все вырвано из контекста.
Есть класс thing с полем Data типа object. В нем одна функция, которая принимает также object и сравнивает его с Data
Аноним 25/06/22 Суб 15:37:23 2388709 1937
>>2388708
> одна функция
Один метод, фикс.
Аноним 25/06/22 Суб 15:39:55 2388714 1938
>>2388708
ну при сравнении обжект он только и может что сравнивать ссылки
с 42 он сравнивает обертки и ссылки разные
при строке обертки нет и ссылки одинаковые
Аноним 25/06/22 Суб 15:51:04 2388725 1939
>>2388708
хотя немного уточнений
в примере строка физически ссылается на одно место - работает интернирование
но даже если нет и хз как он сравнивает, но Equals виртуальный, то есть он перегружен в string и все равно были бы равны, даже с разными ссылками
Аноним 25/06/22 Суб 18:11:25 2388884 1940
>>2388674
Интернирование. При компиляции все одинаковые строковые литералы являются одним и тем же объектом в памяти (пик1). При этом, помимо того что разные 42 это разные объекты, при присвоении значимого типа к переменной ссылочного типа происходит упаковка и каждый раз это будет новый объект.
Короче, RTFM.
>>2388725
> хз как он сравнивает
Для стрингов переопределен ==
>Equals виртуальный, то есть он перегружен в string
в инте тоже
Поэтому можно сделать вывод, что в методе Process используется либо == либо ReferenceEquals
Аноним 25/06/22 Суб 18:14:16 2388885 1941
>>2388884
>>2388674
Да дополню, как я написал в предыдущем посте, нам неизвестно содержимое метода Process. Если там сравнение идет через ==, то дело в том, что он переопределен для строк и сравнивает значения. Если сравнение идет через ReferenceEquals, то дело в интернировании - одинаковые литералы ссылаются на один и тот же объект.
Аноним 25/06/22 Суб 19:10:11 2388930 1942
А есть базированная книжка по ноде по типу Рихтера? Чтобы прям с нуля новичкам объяснялось, что там с кодом происходит и как V8 этот java script выполняет?
Аноним 25/06/22 Суб 20:27:52 2388976 1943
А можно наследовать функцию? Я вывел повторяющийся код, но все равно в каждой следующей функции мне надо объявлять N переменных и вызывать N функций. Паттерн одинаковый, меняется только середина.
Аноним 25/06/22 Суб 22:52:26 2389073 1944
Вот те, кто считает, что MAUI заменит все на десктопах...покажите мне DataGrid на нем. Я вот вижу датагрид от девэкспресс...но он явно мобильный (и поэтому убогий)

вывод - может какой то мобилоид и портирует свой софт на десктоп и получится как с метро приложениями
Ну и всякие простые поделки можно

Но при такой "поддержке" линукса и фичастости - хз зачем оно нужно десктопщикам
Аноним 25/06/22 Суб 23:14:58 2389085 1945
>>2388976
>А можно наследовать функцию
Что ты имеешь в виду?
Если что методы public и protected наследуются, private тоже, но ты не сможешь их вызвать в наследнике. Если нужно написать другое тело метода - в базовом помечаешь метод или свойство как abstract или virtual, а в наследниках переопределяешь с помощью override. Так же можно обозначить метод как override sealed (или типа того, не помню точно) и тогда метод будет переопределен как законченный, все дальнейшие наследники наследника не смогут переопределить реализацию sealed метода.

Аноним 25/06/22 Суб 23:19:15 2389091 1946
>>2388976
вложи метод в метод. обычное дело

Аноним 26/06/22 Вск 00:40:50 2389163 1947
Анон, мне тут нужно по определенным причинам перелезть на линух, а я как раз параллельно учусь на шарпоида. Была бы возможность купить райдер - вопрос бы не возник, а так из вариантов остается только вскод. Насколько он плох в сравнении со студией, можно ли на нем нормально учить асп.нет, можно ли будет юзать вскод на работе в будущем или нахуй пошлют?
Аноним 26/06/22 Вск 00:42:22 2389166 1948
>>2389163
Кто запрещает зарегать образовательную почту и получить райдер бесплатно?
Аноним 26/06/22 Вск 01:46:45 2389211 1949
>>2389166
Щас ее зарегать достаточно проблематично и жетбрейнсы далеко не всегда это просто так хавают. Могут еще начать реально проверять и отключать.
Аноним 26/06/22 Вск 06:07:00 2389240 1950
>>2389073
>Но при такой "поддержке" линукса и фичастости - хз зачем оно нужно десктопщикам
Блин, десктоп на винде то уже мертв и воняет, нахуй он на линуксе то вам?
Аноним 26/06/22 Вск 06:58:46 2389247 1951
Аноним 26/06/22 Вск 08:42:04 2389265 1952
>>2389240
десктоп хоронят и хоронят. прям как винду, которая мастдай да никак не дай
Аноним 26/06/22 Вск 10:33:38 2389309 1953
>>2389247
А я сколько ни гуглил - пишут, что он люто тормозной, если поставить все нужные плагины, и по возможностям даже близко не тянет на продакшн. Ввиду своих малых познаний я пока не понимаю, чем это чревато и таки можно ли на нем нормально работать.
Аноним 26/06/22 Вск 10:39:41 2389314 1954
А у меня вот такой вопрос, чисто пользовательский. Допустим фотошопы всякие будут в вебе, но как устанавливать плагины? Этот вопрос как-то решается вообще? Я конечно понимаю, что будущее за упрощением инструментария жертвуя функционалом, и пориджи со своей фигмой не могут даже осилить стандартный функционал профессионального пакета, но что делать остальным? Смириться? Даже не на самом большом предприятии есть скриптики и плагины, без которых будет ну очень худо.

Есть какое-то решение интеграции пользовательского кода? Или это будет какой-то маркет, где будут одобренные партией расширения? Как это будет работать по вашему? Или уже есть кейсы?


Аноним 26/06/22 Вск 10:45:50 2389318 1955
>>2389309
вс код это для тех, кто оказался на необитаемом острове и у него ничего нет. Как у анона случай, когда некроноут не потянул студию.

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

В моем понимании это что-то мобильное и компактное, или даже бытовое.
Аноним 26/06/22 Вск 12:11:21 2389372 1956
Шарпяне, где в настройках проекта можно указать выходные пути для dll при сборке? Чтобы они не лежали все в одном корне с .exe.
Аноним 26/06/22 Вск 13:11:51 2389421 1957
>>2389372
Знаю что есть тулза, чтобы мерджить все DLL и вшивать в exe. А можно поинтерисоваться для чего перемещать?
Аноним 26/06/22 Вск 13:28:46 2389438 1958
Я правильно понимаю, что экзешник собранный получающийся при сборке кода на шарпе, это по сути упакованный код на промежуточном языке, а экзешник скомпиленный из си того же, готовый бинарный код?
Аноним 26/06/22 Вск 13:31:49 2389439 1959
>>2389318
>В моем понимании это что-то мобильное и компактное, или даже бытовое.
То есть непригодное для коммерческой разработки?
Аноним 26/06/22 Вск 13:50:43 2389454 1960
>>2389421
Корень проекта после сборки выглядит гипер засрано, хочется по своим папка разложить длл от нюгет пакетов
Аноним 26/06/22 Вск 14:55:05 2389500 1961
>>2389439
Это же ниже чем вс комьюнити. Я вот не понимаю, нафига себя ограничивать на своем рабочем месте? Это же как дизельный генератор — он хорош в походе или на даче, но нахрена его юзать в повседневной жизни? Это такая принципиальная цель, или что?
Аноним 26/06/22 Вск 14:58:45 2389503 1962
2022-06-2614-57[...].png 15Кб, 388x476
388x476
>>2389454
По-моему так во всех прогах. Я встречал отдельные папочки для только подключаемых плагинов и ресурсов.
Аноним 26/06/22 Вск 16:54:57 2389641 1963
16422799386310.jpg 68Кб, 899x528
899x528
Учу сейчас шарп на метаните. С какой примерно главы я могу считать себя джуном и идти искать галеру?
Аноним 26/06/22 Вск 18:09:23 2389725 1964
>>2389500
Я не специально, мне для других задач крайне нужен линукс на постоянку, а там нет студии (а теперь и райдера). Если б оно там было, то и вопрос бы не возник.
Аноним 26/06/22 Вск 18:10:33 2389728 1965
>>2389641
Ни с какой. Путь в джуны начнется, когда ты закроешь это говно и найдешь нормальный источник.
Аноним 26/06/22 Вск 18:25:38 2389738 1966
В общем.
Пилил я на работе сервер TCPшный. Ну, и меня чет оч грызет вот что. При 5к соединений он жрет 300МБ оперативки. И я не могу понять - много это или мало. Типа раньше был такой же сервер на жаве - он жрал 2 гига, но его другой человек писал, я хз что там да как. Но я понимаю, что на плюсах бы я должен был бы получить где-то 50МБ при этих же 5к соединений в худшем случае, как раз со всеми этими трейсами, логгированием и прочим.
В общем. Успокойте меня, скажите, что я ничего неправильно не делал и 300МБ на 5к соединений это норма.
Аноним 26/06/22 Вск 18:32:34 2389746 1967
>>2388976
void Foo(){
Console.WriteLine("Foo")
}

void Bar(int x){
Console.WriteLine(x);
Foo();
}
Аноним 26/06/22 Вск 19:55:13 2389825 1968
>>2389746
Да епр. Ему нужно что то подобие паттерна "шаблонный метод"
Вот только кроме наследования еще есть делегирование

и через делегирование для методов это делается просто
public static void Main(string[] args)
{
var method1 = () => BaseMethod(() => Console.WriteLine("mutable part 1"));
var method2 = () => BaseMethod(() => Console.WriteLine("mutable part 2"));
method1();
method2();
}

private static void BaseMethod(Action mutablePart)
{
Console.WriteLine("stable pre");
mutablePart();
Console.WriteLine("stable post");
}
Аноним 26/06/22 Вск 20:07:59 2389840 1969
>>2389825
Я не знаю как ты понял чего ему надо. Но видимо ты прав.

Хотя учитывая:
> Я вывел повторяющийся код, но все равно в каждой следующей функции мне надо объявлять N переменных и вызывать N функций. Паттерн одинаковый, меняется только середина
Я в душе не ебу как делегирование и шаблонный метод ему помогут.
Без кода короче, хуй знает.
Аноним 26/06/22 Вск 22:18:02 2389942 1970
>>2389728
>нормальный источник.
Это какой, например?
Аноним 26/06/22 Вск 22:24:01 2389955 1971
Аноним 26/06/22 Вск 22:29:45 2389965 1972
>>2389942
А можешь объяснить, чем метанит-то хуевый?
Аноним 26/06/22 Вск 22:46:22 2389979 1973
>>2389965
Тем, что большинство тем там расскрываются поверхностно. Научиться синтаксису языка - хуйня, это быстро, а писать нормальный код - дело практики и времени. Если активно обучаться будешь полгодика-год то изи выйдешь на уровень джуна. Запомни: джуниор это программист который умеет писать код, но не имеет коммерческого опыта. Имхо вот требования к джуну (все знания - поверхностные, ты просто должен уметь этим пользоваться):

1. LINQ, Основы рефлексии, C#
2. EFCore
3. Automapper
4. NoSql бд (MongoDb) + Postgresql
5. DI
6. Serilog
Аноним 27/06/22 Пнд 00:18:08 2390050 1974
>>2389979
>а писать нормальный код - дело практики и времени
Два чая. После каждой итерации чувствую себя говном. Я уже раз по пять каждый участок проекта переписал и все равно выглядит как детское поделие.

>>2389965
>А можешь объяснить, чем метанит-то хуевый?
А ты попробуй написать собственный проект и вопросики отпадут. Точнее начнут появляться вопросы, ответы к которым ты не найдешь на метаните.
Аноним 27/06/22 Пнд 01:31:55 2390076 1975
>>2389840
>Я в душе не ебу как делегирование и шаблонный метод ему помогут.
Ну так и помогут. В общий метод передается делагат, который и выполняется в том месте где нужна изменяющаяся часть, а все остальное одинаковое.
Аноним 27/06/22 Пнд 01:35:45 2390077 1976
>>2389965
Он не хуевый, просто это не учебник. Максимум сборник референсов для того, чтобы освежить память если что-то забыл.
Аноним 27/06/22 Пнд 01:38:04 2390078 1977
>>2389979
>3. Automapper
Терпеть не могу эту хуету. С какого-то момента писать мапперы руками становиться намного проще, чем пердолить все условия для этой хуйни.
Аноним 27/06/22 Пнд 02:05:30 2390085 1978
>>2390077
А есть какие-нибудь актуальные учебники по 11 шарпу? Глянул на торрентах и большая часть - это допотопная хуйня по 7 версии, в лучшем случае по 9.
Аноним 27/06/22 Пнд 02:09:04 2390087 1979
>>2389979
По идее все технологии кроме самого шарпа, SQL, ASP и базового кодерского мышления (солид, паттерны, алгоритмы и структуры) опциональны. У каждой компании свой стек, под все учиться всю жизнь будешь. Самое главное - очень хорошо знать базу, остальное на месте поймешь за пару дней в гугле. Плюс личные проекты, где ты так или иначе поймешь, как оно все устроено, и поюзаешь еще всяких разных штук. Еще сейчас полезно хотя бы немного знать фронт: жс + тот же ангуляр.
Аноним 27/06/22 Пнд 02:12:33 2390088 1980
>>2390085
Привет фронтендерам. 11 еще только в тестовой версии, полноценно выйдет вроде только в ноябре. Откуда по нему сейчас возьмутся актуальные учебники? Седьмая версия полностью валидна, девятая тем более. Потом просто сахар доучишь и все.
Аноним 27/06/22 Пнд 05:20:46 2390101 1981
>>2390085
Учишь 7-й. Там все актально. После того как выучишь 7-й, на освоение новых вещей из 8, 9, 10 уйдет неделя, максимум две.
Аноним 27/06/22 Пнд 08:10:18 2390132 1982
>>2390050
> Я уже раз по пять каждый участок проекта переписал и все равно выглядит как детское поделие.
Побольше констант и энумов - код будет точь в точь, как у профи дидов.
Аноним 27/06/22 Пнд 08:45:46 2390142 1983
>>2389979
Каким образом некоммерческий программист будет уметь пользоваться перечисленным говном? Разве оно используется в некоммерческих программах?
Аноним 27/06/22 Пнд 08:50:04 2390144 1984
>>2390050
>Я уже раз по пять каждый участок проекта переписал и все равно выглядит как детское поделие.
Двачаю. Я на первой работе проект переписывал с нуля раз 7 и всё равно не доволен.
Аноним 27/06/22 Пнд 08:55:36 2390145 1985
>>2390142
>Каким образом некоммерческий программист будет уметь пользоваться перечисленным говном?
Эти технологии используются вообще везде для любого проекта.
Аноним 27/06/22 Пнд 11:40:01 2390231 1986
Аноним 27/06/22 Пнд 12:34:23 2390265 1987
>>2390231
>>2389979

>1. LINQ
>2. EFCore

Вот эти две вещи встречаются везде. И их стоит знать, остальное из списка это nice to have и разобраться в них дело пары часов. От себя добавлю, что всё больше людей, которых я собеседую хуй клали на unit тестирование и все они были посланы нахуй.

>>2389641
Когда сможешь сделать, не заглядывая каждые 5 минут на msdn, какое-нибудь апи с обычным crud и записью в нормальную базу, а не в документ чтобы всё как по учебнику, с полиморфизмом и тестами и сваггером. А если к этому ещё прикрутишь какой-нибудь простой фронт, то вообще хорошо будет.

>Мимо-восемь-лет в .net
Аноним 27/06/22 Пнд 12:40:57 2390271 1988
class TurboFat<T>
{
List<T> _list;
public ReadOnlyCollection<T> ROC => new(_list);
}

или

class SlimSlowpoke<T>
{
List<T> _list;
ReadOnlyCollection<T> _roc;
public ReadOnlyCollection<T> => _roc;
public Yoba() { _list = new(); _roc = new(_list); }
}

Как определиться между вариантами? Знаний у меня чуть больше, чем нихуя, кроме предположения, что вариант 1 занимает больше памяти, но быстрее, а вариант 2 медленнее, но память экономит.
Аноним 27/06/22 Пнд 12:46:21 2390277 1989
image.png 830Кб, 1042x803
1042x803
Пацаны, а вы как обычно именуете булевы переменные? Везде ли используете префикс Is?

Допустим, слова Completed или Authenticated нет смысла писать с Is. У микрософтов где-то используют Is вместе с такими словами, а где-то нет. В книге по кодестайлу рекомендуют писать проще, то есть не использовать Is там, где и так всё понятно.

Я просто заметил, что иногда булевы свойства могут пересекаться с событиями в плане названий, если ты не используешь приписку Is. Допустим, у меня есть класс-сервис с свойством bool Connected. Мне понадобилось добавить событие, которое бы срабатывало, когда устанавливалось соединение. Разумное название для такого события - Connected, но тогда получается конфликт со свойством. Правда, я нашёл выход сделав событие ConnectionStateChanged<bool>
Аноним 27/06/22 Пнд 12:53:37 2390282 1990
>>2390277
Использую "is" или "has". Но нужно избегать названий типа "IsNotConnected" потому что тогда "!IsNotConnected" выглядит странно.
Аноним 27/06/22 Пнд 13:18:54 2390302 1991
>>2390265
ну так будь точным. знать концепции или конкретный инструмент.
Везде...в вакансиях, что конечно важно для джуна (да и то только асп.нет)


Аноним 27/06/22 Пнд 13:22:05 2390305 1992
>>2390271
что вообще пытаешься сделать хз
заводишь коллекцию и используешь. Наружу выставляешь как ридонли через интерфейс (или обертку если параноик)
Аноним 27/06/22 Пнд 13:28:18 2390311 1993
>>2390305
>что вообще пытаешься сделать хз
Что-нибудь. Просто что-нибудь.
>заводишь коллекцию и используешь. Наружу выставляешь как ридонли через интерфейс
Можно ведь обратно привести к исходному типу и сделать всё, что угодно.
>(или обертку если параноик)
Я не параноик, но хотел сделать так, типа чтобы точно не было возможности что-то изменить извне. Вопрос как лучше - создать заранее объект обёртки и передавать ссылку, или при каждом обращении создавать обёртку заново?
Аноним 27/06/22 Пнд 13:47:00 2390319 1994
Там майки сваливают с России.
.нет разрабам пизда?
Аноним 27/06/22 Пнд 13:48:02 2390320 1995
>>2390311
Можно не быть параноиком, но в шарпе слишком поздно ввели очевидные (фейспалмище) IReadOnly интерфейсы и поэтому обертки сами собой будут.

>опрос как лучше - создать заранее объект обёртки и передавать ссылку
Конечно же лучше не создавать лишний раз то, что можно не создавать.
Аноним 27/06/22 Пнд 15:17:27 2390389 1996
>>2390319
.NET и сам шарп - это фосс продукты, то есть с ними ничего сделать в принципе нельзя. Азур вроде уже отрубили, но он заменяем. Могут сделать вендекапец конкретно для нас, но это тоже не беда - пересядем на линукс, только вот для него иде нету, райдер у нас не достать. Ну, будем как деды писать в вскоде. А вообще можно просто врубить впн и продолжать весело сидеть в вижуал студии комьюнити. Как-то так.
Аноним 27/06/22 Пнд 16:15:01 2390438 1997
Microsoft удалит Россию из библиотеки System.Globalization.
Аноним 27/06/22 Пнд 16:32:35 2390459 1998
Аноним 27/06/22 Пнд 16:49:24 2390474 1999
Аноним 27/06/22 Пнд 19:13:39 2390604 2000
>>2389979
> Запомни: джуниор это программист который умеет писать код, но не имеет коммерческого опыта.
Ждунов без коммерческого опыта С# нонче берут только в госпомойки на .net 4.5 и винформы
Аноним 27/06/22 Пнд 19:23:03 2390612 2001
>>2390604
Ну и норм для первого опыта
Аноним 27/06/22 Пнд 19:26:58 2390620 2002
image.png 98Кб, 989x764
989x764
На сайте периодически появляются файлы запросы?, мне нужно отслеживать их появление и считать текст с них. Как я могу это реализовать, с чего вообще начать?
Аноним 27/06/22 Пнд 19:42:07 2390626 2003
>>2390604
Это пока. Когда столкнутся с огромным дефицитом мидлов и старше - начнуть брать даже бомжей с помойки, отмывать и учить.
Аноним 27/06/22 Пнд 19:48:06 2390630 2004
>>2390620
С гугления класса FileSystemWatcher
Аноним 27/06/22 Пнд 19:50:36 2390631 2005
>>2389314
Бамп вопросом. Плагины для веб-приложений реализуемы?
Аноним 27/06/22 Пнд 20:10:45 2390646 2006
>>2389314
>Допустим фотошопы всякие будут в вебе
Не будут. Браузеры не будут иметь доступа к файловой системе юзера как минимум и на этом уже можно закончить.
Аноним 27/06/22 Пнд 20:20:28 2390660 2007
>>2334153 (OP)
А есть у кого-нибудь на примете годный опенсорсный проект на микросервисах? Чтобы понять, как правильно с ними строить архитектуру. Или учебный курс в рамках которого такой проект реализуется.
Мимо-5-лет-пишу-монолиты
Аноним 27/06/22 Пнд 20:20:34 2390661 2008
>>2390646
>к файловой системе юзера
Ну это порешали даже в наше время. Например есть такая программа Fusion от автодеск (типа легкий CAD), так вот одно время они запретили бесплатным версиям сохранять файлы на жесткий диск, проекты можно было хранить только в облаке.

Это тебе обрисовка ситуации в бущуем.
Аноним 27/06/22 Пнд 20:20:35 2390662 2009
>>2390646
В смысле не имеют? А как мы скачиваем и загружаем пикчи? Я вижу другую проблему с облачными сервисами - ресурсы. Одно дело если это црмка какая-нибудь и совсем другое фш и прочее. На данный момент и на ближайшее будущее это будет либо слишком дорого, либо для ограниченного круга лиц (ынтырпрайз например). Плюс нужны бешеные каналы интернета, которые есть очень далеко не везде.
Аноним 27/06/22 Пнд 20:23:44 2390668 2010
>>2390662
Так в фотошопе добрая часть инструментария уже работает на стороне.
Аноним 27/06/22 Пнд 21:34:55 2390736 2011
>>2390662
Компоненты HTML еще не настолько развиты чтобы заменить десктоп полностью это раз, два - браузеру по большей части не доступен функционал IO, который доступен десктопу (реестр, файловая система, экран, микрофоны итд итп). Ты можешь только загрузить вручвную на сайт файл и редачить, но не можешь напрямую взаимодействовать с компонентами ОС как это делает десктоп, вот и получается тебе. Огромная часть ПО - десктоп, браузеры ограничены всратым HTML который годен только для отображения, но не для редактирования и тем более уж рисования и прочих сложных систем вроде размытия, рендера итд.
Аноним 27/06/22 Пнд 21:50:22 2390747 2012
>>2390736
Зачем системе взаимодействовать с реестрами и компонентами ОС, когда вся логика работает на сервере и ей важен доступ к компонентам ОС сервера?
Аноним 27/06/22 Пнд 21:53:17 2390750 2013
>>2390668
Это интересно какой? У меня фш наглухо отключен от интернетов и там все работает.

>>2390736
Я думаю еще возможно движение в сторону простой видеотрансляции, как у нвидии с играми, забыл название. То есть весь пк превратится в выделенные ресурсы в дата-центре с накатанной сверху ос, там же будет работать весь софт. А у юзера будет только монитор с клавиатурой и мышью/тачпадом. Офк, все это сделают закрытым и проприетарным, а железо либо вообще перестанут продавать просто так, либо оно будет дохуя стоить. Но это еще очень не скоро, мощностей нужно ебанись.
Аноним 27/06/22 Пнд 22:02:50 2390758 2014
>>2390750
>наглухо отключен от интернетов и там все работает.
В последнем. Новый функционал, где используется нейронные фильтры, типа лендскейп миксера https://youtu.be/3YZQ08GHbyA
Аноним 27/06/22 Пнд 22:24:59 2390767 2015
>>2390758
А, ну это говно никто не юзает.
Аноним 27/06/22 Пнд 23:34:20 2390818 2016
>>2389979
Шо это за хуйню ты тут выложил?

Вот нормальный список для джуна:
База
Информатика. ЦП, АЛУ, ОЗУ, базовая архитектура компуктеров, системы счисления.
ОС. Чтобы не срал в штаны, когда на другой системе ему вместо BigEndian LittleEndian прилетит и уебок не сможет догадаться в hex перевести и посмотреть. Это самый минимум. По хорошему, про то что такое ос, зачем нужно, какие механизмы используют, какие бывают. Как разные многозадачность реализуют и это вот все.
Сети. Блядские модели оси. Чтобы уебок, не фантазировал себе будто его байтики по эфиру какому-то передаются туда-сюда.
Многопоточка. Примитивы синхронизации, проблемы которые бывают, как решать. Всегда ли пизже чем однопоточка.
ООП. Базовая хуйня плюс пара паттернов.
SQL на уровне составить сложный запрос, а потом с помощью плана запроса - оптимизировать его, знать про индексы, какие бывают, знать про хранимки

База+
Матан, алгоритмы, дискретка.
HTTP на уровне в состоянии взять сокет и написать многопоточный сервер для отдачи статики
Трехуровневая архитектура, зачем, почему, какие еще бывают

.NET
История, может пояснить что было раньше, почему было хуево и как кора дала вторую жизнь. Чем вообще кора от .net'а старого отличается, кроме ко-ко-ко кроссплатформенности
Чем ссылочные типы отличаются от значащих
Коллекции
Женерики
Асинхронщина. Что зачем и почему. Плюсом будет, если сможет свою имплементацию простенькую написать, для банального таймера.
Parrallel. Когда оно лучше чем асинхронщина. Вообще, что делает.
Interlocked, как работает, зачем надо.
IDisposable, когда надо, когда не надо.
Финализаторы, чем от деструкторов отличаются, когда надо, когда не надо.
Ковариативность, контрвариативаность,

Собственно это темы, которые джун должен знать. А вот то что ты перечислил - в массе говнотехнологии, которые еще и далеко не везде юзаются, тот же серилог - нахуй не нужен, автомапер - говно без задач, а EF - так вообще пизда говна ебаная, которая жрет памяти охуевшая мразь и при этом там столько церемоний, что проще взять и руками сделать.
Аноним 27/06/22 Пнд 23:46:00 2390823 2017
image.png 101Кб, 1355x1175
1355x1175
image.png 31Кб, 1432x415
1432x415
16427501195962.webm 4702Кб, 1280x720, 00:00:39
1280x720
А это что получается, после выхода C# 9.0 операторы ==, !=, &&, || больше не нужны? Новый вариант записи выглядит читабельнее и приятнее. Что думаете? Будете переходить на новые операторы?
Аноним 27/06/22 Пнд 23:52:10 2390829 2018
>>2390818
Да. В дотнет еще забыл добавить
Делегаты, события, почему события говно и когда таки можно.
Статика, чем от обычных классов/методов отличается, когда надо, когда не надо.
Виртуальные методы, абстрактные классы.
Интерфейсы
Какие есть методы у Object и на кой хуй они нужны.
Аноним 28/06/22 Втр 02:14:21 2390883 2019
>>2334153 (OP)
Хочу начать научиться программированию на C#.
Есть макбук на м1. Хочу использовать последнюю версию Visual Studio, которая унифицирована с виндозовской по интерфейсу.

Какие подводные камни?
Аноним 28/06/22 Втр 02:33:42 2390885 2020
>>2390823
Говнина ебаная, размазывающая легкочитаемый лаконичный синтаксис в аморфную кашу.
Единственное, что из этого хоть как-то стоит использовать - is not в сочетании с null. Все.
Аноним 28/06/22 Втр 02:40:09 2390886 2021
image.png 518Кб, 585x870
585x870
image.png 12Кб, 482x173
482x173
Аноны, нужен ваш совет. Вот допустим, есть у меня пикрил1. До какого момента ориентировочно по нему учиться? Просто открывая вакансии, список требований сбивает меня с толку. Вот как понять, что у меня уже уверенные знания с# и я могу переходить к изучению следующего пункта?
Аноним 28/06/22 Втр 02:50:02 2390887 2022
>>2390818
>когда на другой системе ему вместо BigEndian LittleEndian прилетит и
Хм. Я не спорю что знать такое приятно и полезно. Но где современной кодомакаке придется с таким сталкиваться, с трудом себе представляю. Я сам с такими ньюансами сталкивался когда в лохматые годы под спектрум кодил и лет 10 назад в промышленных устройствах. С тех пор как в энтерпрайз ушел даже близко ничего такого не было.
Аноним 28/06/22 Втр 02:53:07 2390888 2023
>>2390886
Эта книжка содержит хорошо если процентов 20 от того что тебе нужно выучить.
Аноним 28/06/22 Втр 02:57:07 2390890 2024
>>2390888
А можешь посоветовать книгу, где будет хотя бы половина нужных знаний?
Аноним 28/06/22 Втр 03:18:53 2390892 2025
>>2390626
Тут то и настанет мой звездный час
Аноним 28/06/22 Втр 04:58:28 2390902 2026
>>2390890
Когда ж вы шапку уже читать начнете.
Для обучения:
>— C# 8.0 in a Nutshell (Joseph Albahari и Eric Johannsen) — огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином.
Читаешь внимательно, разбираешь каждую тему. Находишь/решаешь примеры. Закрепляешь.


Для контроля знаний и просто таскать с собой чтобы почитать в свободное время.
>— C# 8.0 Pocket Reference (Joseph Albahari и Ben Albahari) — просто выжимка из книги сверху, можно всегда держать рукой.
Когда сможешь взять любую тему из оглавления и вкратце ее пересказать, хотя бы так же как она описана в этом кратком справочнике, тогда можешь считать, что ты нормально знаешь шарп.

Алсо, эти книги есть для 9-й версии (возможно и для 10-й), но учить спокойно можно и на 8-й (и даже на 7-й)

После этого можешь считать, что ты знаешь шарп и где-то процентов на 60 готов к реальной работе. Далее тебе нужно учить фреймворки, паттерны, шаблоны и т.д.
Аноним 28/06/22 Втр 05:01:23 2390903 2027
>>2390890
И еще совет. Сразу забей хуй на фреймворки типа WinForms и WPF.
Не вылезай из консольных приложений, пока не будешь свободно плавать в стандартном синтаксисе.
Аноним 28/06/22 Втр 09:12:13 2390953 2028
Можете посоветовать годные книги по нашему стеку? Не обязательно по дотнету, а те, которые вам очень понравились?
Аноним 28/06/22 Втр 10:31:16 2391003 2029
image.png 538Кб, 600x600
600x600
>>2390953
Вот эту советую.
Пиздуй шапку читать, там все давно уже насоветовано.
Аноним 28/06/22 Втр 10:49:56 2391019 2030
>>2390474
> Он мертв.
Он опенсорц. Возьми исходники и оживи. В этом суть опенсорца. Он бессмертен. Он может казаться мёртвым, но на самом деле он спящий. Как Ктулху.
Аноним 28/06/22 Втр 10:51:33 2391021 2031
Аноним 28/06/22 Втр 10:54:18 2391026 2032
>>2390277
is isItem, isNot isNotItem, has hasItem, b bItem.

b boolean типа говорит какой это тип данных.
Аноним 28/06/22 Втр 11:10:42 2391050 2033
>>2391026
Про второе уже писали - долбоебизм, т.к. в логических условиях, любое отрицание идет по пизде в плане понимания.
Лучше такие конструкции заменять на положительные. Например вместо IsNotPresent использовать IsMissing и т.д.
Четвертое параша оставшаяся от C, не имеет смысла в шарпах.
Аноним 28/06/22 Втр 11:13:42 2391055 2034
>>2391050
как вариант, я не использую isNot, но использовал его когда сидел на луа love2d.
Аноним 28/06/22 Втр 11:54:50 2391091 2035
Так, а в модальном окне не детектится событие mouseLeave?
Аноним 28/06/22 Втр 12:38:14 2391127 2036
image.png 50Кб, 297x838
297x838
image.png 7Кб, 363x99
363x99
image.png 18Кб, 386x231
386x231
image.png 425Кб, 880x660
880x660
>>2390282
Пикрелейтед - как микрософты в основном именуют булевы свойства. Вроде логично. Но с другой стороны. Слово "Enabled" - это прошедшее время, а значит вместо Is нужно писать Was.

Или вот взять булево свойство, которое обозначает успех операции. У микрософтов можно встретить 3 вариант: Success, IsSuccess и IsSuccessful. Грамматически вернее всего последний пример вроде как?
Аноним 28/06/22 Втр 12:49:24 2391131 2037
>>2391091
Даже если модальное окно запускает другое окно, но в обычном режиме, то там тоже все идет по пизде.
Аноним 28/06/22 Втр 12:56:49 2391138 2038
>>2391127
Я иногда меняю местами слова в словосочетаниях тупо для удобного поиска в IntelliSence, или логической группировки. Да и Is приписываю просто чтобы все ISы были в одном месте.

>Successful
Слишком длинно томущо. Охуей в Environment.NewLine и попробуй это применить на практике.
Аноним 28/06/22 Втр 13:01:16 2391143 2039
>>2391127
>Но с другой стороны. Слово "Enabled" - это прошедшее время, а значит вместо Is нужно писать Was.
Учи инглиш, чтобы не be butthurt. Все правильно, это passive voice.
Аноним 28/06/22 Втр 13:01:16 2391144 2040
>>2391127
Со своей колокольни и многолетнего опыта скажу, что называть переменные стоит так, чтобы максимально просто понять, для чего она служит. Назовёшь ты её Enabled или IsEnabled, или Enbl - если в контексте всего кода легко понять, что она значит, то ты всё сделал правильно. Гайдлайны майкрософта это хорошо и полезно, но слепо следовать их советам не стоит, это всего лишь рекоммендации. Если в тиме какие-то разногласия по этому поводу, то выработайте свои правила наименования переменных но почти всегда всем похуй.
>>2390282 анон
Аноним 28/06/22 Втр 13:36:26 2391172 2041
Почему в шарпе нет явного обозначения ссылочных типов как в крестах?
Аноним 28/06/22 Втр 13:47:05 2391188 2042
Почему, когда я создаю новый экземпляр окна, оно тут же появляется, хотя я не использовал метод Show?
Аноним 28/06/22 Втр 13:48:32 2391191 2043
>>2391172
А чем тебе маркеры Structure и Class не нравятся?
Аноним 28/06/22 Втр 13:54:45 2391198 2044
>>2391188
Потому что иди на хуй, вот почему. Сука, тут, блядь, нету ни одного экстрасенса. Принеси свой вонючий код и покажи его нам, а мы скажем где ты съебланил.
Аноним 28/06/22 Втр 14:45:27 2391266 2045
>>2391198
Да я ебу что показывать? Там дохуя чего. Я думал что есть какие-то "НО", которое заставит запуститься окно.
Может поле какое.

Короче, есть два окна StrokeProperties и ColorPicker.
В первом окне я нажимаю на кнопку и в событии создается новый экземпляр ColorPicker, весь остальной код я закомментировал. В самом событии есть подписка на четыре события: Window_Initialized, Window_Loaded, ContentRendered.
Внутри этих событий все закомментировано, кроме сообщения в виде печати строки в окно интерпретации. Вот порядок их срабатывания:

## StrokeProperties: MouseLeftButtonUp
### ColorPicker: Window_Initialized
### ColorPicker: Window_Loaded
### ColorPicker: ContentRendered

Есть еще сообщение из функции Show (Shadowing), но его в списке нет, при этом какого-то хрена срабатывает Loaded и ContentRendered
Вот код под запускающей кнопкой:
ColorPicker CP = New ColorPicker();

Может че в xaml. Вот свойство окна:
<Window x:Class="ColorPicker"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ColorCurve"
mc:Ignorable="d"
Title="ColorPicker" Width="690" Height="375" Topmost="True" AllowsTransparency="True" Background="Transparent" WindowStartupLocation="CenterScreen" WindowStyle="None"
ShowInTaskbar="False" HorizontalAlignment="Stretch" VerticalAlignment="Top" SizeToContent="WidthAndHeight" Visibility="Visible" WindowState="Normal" ResizeMode="NoResize"
Initialized="Window_Initialized" Loaded="Window_Loaded" ContentRendered="Window_ContentRendered" >

Аноним 28/06/22 Втр 15:15:03 2391296 2046
>>2391198
Ну че, нашел? А я нашел. Дело действительно в xaml, конкретно в теге свойств окна Visibility="Visible". А теперь поясните шо происходит?
Аноним 28/06/22 Втр 15:56:30 2391346 2047
>>2390902
> C# 8.0 in a Nutshell (Joseph Albahari и Eric Johannsen)
Понял. А этой книги в пдф у тебя случайно нет? На торрентах не нашел, а 5к на озоне за нее отдать не могу - я нищееб.
Аноним 28/06/22 Втр 15:58:58 2391351 2048
>>2390885
Тебе надо проверить инт, равен ли он 3, 8 или 69. Твои действия?
Аноним 28/06/22 Втр 16:48:33 2391409 2049
>>2391346
Ты не станешь программистом.
Аноним 28/06/22 Втр 17:01:42 2391424 2050
>>2391003
Я читал книги из шапки...
Аноним 28/06/22 Втр 17:31:07 2391444 2051
>>2390823
>>2390885
>>2391351
Там что, синтаксис бейсика изобрели? Каково ощущение, что вас опускают до уровня домохозяек?
Аноним 28/06/22 Втр 18:16:46 2391491 2052
image.png 643Кб, 1023x683
1023x683
>>2391444
> Каково ощущение, что вас опускают до уровня домохозяек?
Если код становится красивее и понятнее, то почему бы и нет.
Аноним 28/06/22 Втр 18:21:01 2391498 2053
16159840288613.jpg 147Кб, 882x1080
882x1080
>>2391409
Почему не станет? Может, он там с зарплатой 20к хуй без соли доедает. Конечно, у него пятерка на книжку не найдеться.
Аноним 28/06/22 Втр 20:18:14 2391635 2054
>>2391491
Да просто забавно, как бейсик ссаными тряпками гнали, и все больше и больше заимствований я вижу. В целом, идея-то хорошая — взять все лучшее из бейсика, а бейсик похоронить.
Надо еще Properties забрать.
Аноним 29/06/22 Срд 08:58:07 2391898 2055
>>2391444
> синтаксис бейсика изобрели?
>>2391635
> бейсик
> заимствований
Не помню такого в бейсике. Начинал с ВБА в офисном пакете, пересел на стандалон ВБ5, потом ВБ6. Не помню такого.
Аноним 29/06/22 Срд 12:17:04 2392020 2056
>>2391346
> На торрентах не нашел
Даже для C# 10, не пизди
Аноним 29/06/22 Срд 13:17:32 2392067 2057
>>2391898
вба это говно мамонта, но по-моему даже там "or" и "and" были.
Аноним 29/06/22 Срд 13:24:09 2392072 2058
В чем принципиальное отличие DLL на net5 и framework? Нельзя просто так обратиться к библиотеке?
Аноним 29/06/22 Срд 13:44:33 2392097 2059
>>2392072
Из проекта на framework ты не обратишься к core библиотеке, наоборот можно.
Библиотеку на core можно собрать под разные платформы. На framework только под винджу.
Аноним 29/06/22 Срд 13:46:51 2392099 2060
>>2391346
Сцук, первая ссылка в гугле.
Аноним 29/06/22 Срд 14:04:54 2392111 2061
2022-06-2913-52[...].png 2Кб, 380x68
380x68
>>2392097
Ну ё-моё. У меня стороннее приложение обращается к неуправляемой библиотеке. Конвертер я сделал, но сборку Core приложение отказывается жрать и падает.

Пытался типа мост сделать, чтобы приложение обращалось к библиотеке на фреймворке, которая запускала библиотеку на коре. Результат — пикрил. А мне переделывать проект никак нельзя. Есть какие-то обходные пути?

У меня был запасной, как я полагал временный вариант — передачу информации в .exe через MemoryMappedFile, но это супер уебанский и неудобный вариант и я не хочу светить exe-шник, чтобы юзер своими потными ручками его не запускал. Есть какие нибудь мысли более грамотные?
Аноним 29/06/22 Срд 16:01:18 2392187 2062
>>2392111
А что за библиотека? Может можно ЕЁ пересобрать/переделать под фреймворк?
Аноним 29/06/22 Срд 18:40:54 2392311 2063
Где глянуть примеры приложений на андроид написанных на xamarin?
Аноним 29/06/22 Срд 18:59:31 2392317 2064
Можно ли это конвертировать из C++ в C#

float Test(char someText, double optValue, char outputBuffer, int optBuffer1Size,
char pOptBuffer2, int optBuffer2Size, char* zData)
{
strcpy(outputBuffer, "Hello!");
return 0.0f;
}


Вся проблема с outputBuffer. Это что-то вроде MemoryStream и передается ссылкой. Есть сторонная программа внутренним языком скритинга. Скрипт обращается к DLL с функцией выше, но преде этим выделяет память. Команда выглядит так:
[MemCreate, _mem , 256, 0] // _mem - имя переменной, 256 - выделенная память,
После отработки функции, я могу обратиться к _mem и получить данные.


Я попытался сделать аналог на C#. Да, на крестах неуправляемая библиотека, но я это уже превозмог.
private float Test(ref IntPtr someText, double optValue, ref IntPtr outputBuffer, int optBuffer1Size, ref IntPtr pOptBuffer2, int optBuffer2Size, string[] zData)
{
outputBuffer = "Hello!";
return 0.0f;
}


И у меня просто пустота на выходе. Точнее выдает либо пустоту, либо рандомный символ. Еще я читал про IntPtr, и делал даже так
outputBuffer = Marshal.StringToHGlobalAnsi("Hallo! Again!")
Это не помогло. А MemoryStream нужно стринговое название "переменной", но никак не ссылка.
Аноним 29/06/22 Срд 19:02:14 2392318 2065
2022-06-2919-01[...].png 23Кб, 1169x197
1169x197
>>2392317
Ах тыж бля, все звездочки по пизде пошли. Вот скрин когда на C++.
Аноним 29/06/22 Срд 19:05:18 2392320 2066
>>2392187
Ну вот я не хотел этого. Подстава на пустмо месте.
Аноним 29/06/22 Срд 19:12:26 2392326 2067
Аноним 29/06/22 Срд 19:14:54 2392329 2068
>>2392326
Ну вот тонкостей я не знаю. Находится в main.cpp
Лучше расскажи, что за магия происходит?
Почему простое присвоение переменной в C# ничего не происходит?
Аноним 29/06/22 Срд 19:58:23 2392373 2069
Сап, програмач. Аноны, которые учились в вузах, подскажите пожалуйста Московские вузы, где изучают C#.

Я уже подал документы в один, но больше никаких не знаю. В вышке C# не учат. А для страховки мне надо в несколько наверное подать.

и не надо мне рассказывать про то что вуз не нужен, я всё знаю, пропустим этот момент
Аноним 29/06/22 Срд 20:34:55 2392403 2070
>>2390818
Ты забыл дописать, что начинать надо с чистого С, а лучше с ассемблера. После окончания мехмата мгу офк, никак не раньше. А после изучения всего тобой предложенного радостно поскакать в ООО "Хуи и залупы" и ковырять там легаси говно на винформс до пенсии, унижая всех своими познаниями на двачах.

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

>>2391019
Жаль пока не дают пенсию за то, что ты вынужден сам себе писать рабочие инструменты. Так бы я с радостью, но мне надо работать, а не хуйней заниматься.

Аноним 29/06/22 Срд 21:10:04 2392425 2071
1113.jpg 34Кб, 473x1000
473x1000
>>2392318
Бамп анончег.
Аргумент char⚹ оutputBuffer
превратил в Ref string оutputBuffer
дальше присваиваю строку outputBuffer = "Hallo! Again!"

При каждом новом выполнении функции, выдает разный результат из кракозябр. Куда копать? неужели С#ом никак не заменить C?

Аноним 29/06/22 Срд 21:13:19 2392428 2072
>>2392425
Алсоу, если я до использования функции что нибудь впишу в по адресу оutputBuffer, то у меня функция вообще падает.
Аноним 29/06/22 Срд 21:46:48 2392449 2073
2022-06-2921-43[...].png 6Кб, 324x153
324x153
>>2392428
>>2392425
Новые вводные. Не передаю аргумент по ссылке, вот тупо
string оutputBuffer
При этом текст меняю до применения функции, и внутри функции все успешно читается. Что, мать его, не так делаю?
Аноним 30/06/22 Чтв 01:03:13 2392574 2074
>>2390626
>Это пока. Когда столкнутся с огромным дефицитом мидлов и старше - начнуть брать даже бомжей с помойки, отмывать и учить.
Не столкнутся. Половина шарпа - галеры. А они либо не нанимают, либо вообще уходят из России. C# закончился.
Аноним 30/06/22 Чтв 01:10:09 2392582 2075
>>2390885
>Говнина ебаная, размазывающая легкочитаемый лаконичный синтаксис в аморфную кашу.
Это для свича, маня. Покажи, каким ты синтаксисом свичи делать собрался.
Аноним 30/06/22 Чтв 06:55:20 2392645 2076
>>2392320
>Подстава на пустмо месте.
Ты говоришь так, как будто тебе кто-то когда-то обещал вечную совместимость со всеми предыдущими версиями. Тогда тебе лучше в джаву, там вон народ до сих пор на восьмой версии сидит и им норм.
Аноним 30/06/22 Чтв 08:09:11 2392663 2077
16565185361000.png 23Кб, 1169x197
1169x197
>>2392449
Да что за дерьмо? Как заменить этот ебаный char⚹ оutputBuffer из С++? Все советы на стаковерфлоу касаются импорта библиотеки, это не подходит.

Как только я использую string оutputBuffer или же IntPtr оutputBuffer , у меня внутри функции все адекватно читается, но не перезаписывается.

Но если я использую ref, то я читаю какой-то бред и около-пустоту. Как сделать аналог пикрила, на на шарпе? Даже Try не помогает защититься от вылета и отловить ошибку.
Аноним 30/06/22 Чтв 08:12:20 2392667 2078
>>2392663
Еще кое что. Если я использую Marshal.PtrToStringAnsi(OutputBuffer) то получаю пустоту, если я захочу использовать Marshal.PtrToStringUni или же Marshal.PtrToStringAuto, то получаю краш.
Аноним 30/06/22 Чтв 09:37:23 2392692 2079
videoplayback.mp4 297Кб, 640x360, 00:00:06
640x360
>>2392663
>>2392667
Ебаный в рот этого казино. Надо было использовать StringBuilder без всяких ref.
outputBuffer As StringBuilder
Он и так работает по ссылке.
Аноним 30/06/22 Чтв 11:37:01 2392748 2080
>>2392692
Это какое-то издевательство судьбы надо мной. Оказывается, что работает просто string outputBuffer.

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

И ведь недавно поднимался вопрос на тему ref и стрингов. И все равно те же грабли.
Аноним 30/06/22 Чтв 11:54:13 2392760 2081
9QmrjujkIfE.jpg 47Кб, 590x425
590x425
>>2392748
Хотя нет, вот чего я раньше не знал и действительно раньше просто string не работал.

Для начала снова обрисую ситуацию и заранее извиняюсь, что я засрал тред. Начнем с вводных данных:
В мою функцию передается массив символов по ссылке - Char*. Принимаю я их с помощью аргумента string outputBuffer.

Когда я просто присваиваю
outputBuffer = "Какой-то текст"
то снаружи функции не наблюдается изменений. Но если я использую, что-то типа
outputBuffer.Replace ("Старый текст", "Какой-то текст")
то изменения видны и снаружи.

В чем дело? Типа присвоением я создаю новую ссылку? Я всегда думал, присвоение значения это изменение данных по ссылке.
Аноним 30/06/22 Чтв 12:58:18 2392810 2082
>>2392760
В C# строки иммутабельны. Поменять строку по ссылке ты можешь только через unsafe.
Аноним 30/06/22 Чтв 13:25:51 2392836 2083
Пека5.jpeg 60Кб, 800x487
800x487
В очередной раз прокатили с работой. Просил 1800usd.
Обычные причины отказа:
-Нет опыта с облаками
-Нет опыта настройки пайп-лайнов гита
-Слабые теоретические знания фронта
-Нужен английский уровня С1

Сука еще и мода пошла уебанская с код ревью. Раньше на каждом втором собесе тупо гоняли по Рихтеру, ша на каждом втором собесе код ревью.

>>2384400 -кун
Аноним 30/06/22 Чтв 13:41:32 2392846 2084
1656585691251.jpg 2Кб, 200x200
200x200
Аноним 30/06/22 Чтв 13:43:58 2392850 2085
>>2392836
Учи ангуляр. Шли нахуй?, если просят C1 за 1800.
Аноним 30/06/22 Чтв 13:54:51 2392865 2086
>>2392846
Да, бля я бы и бесплатно согласился поработать пару месяцев, чтоб получить этот ебаный опыт с облаками этими вашими.
Аноним 30/06/22 Чтв 14:52:04 2392903 2087
>>2392836
С учетом требований за сотыгу, я бы не переживал на твоем месте.
Аноним 30/06/22 Чтв 18:02:52 2393030 2088
>>2392373
1. Идёшь в любой вуз где учат основам, алгоритмам, плюсам
1а. (Опционально) там ещё и не должны сильно ебать
2. Учишь актуальный шарп самостоятельно
3. ??????
4. PROFIT!
Аноним 30/06/22 Чтв 19:05:59 2393062 2089
Анон, в продакшне кто-то юзает до сих пор абстрактные классы или они уже в истории и все сидят на интерфейсах? Из свифта например это недоразумение выбросили.
Аноним 30/06/22 Чтв 19:08:32 2393064 2090
>>2393062
Да, ведь назначение у них разное.
Аноним 30/06/22 Чтв 19:44:22 2393084 2091
>>2392810
>В C# строки иммутабельны.
О спасибо!
Аноним 30/06/22 Чтв 21:37:31 2393150 2092
>>2393064
Может и разное, но по итогу все твердое и густое едят одной вилкой, а не выпендриваются набором из разновидностей столовых приборов.

Я прям щас расписался в своей неопытности
Аноним 30/06/22 Чтв 21:46:56 2393159 2093
>>2393062
В абстрактные классы ты можешь запихнуть методы, которые не нужно реализовывать, но которые можно использовать "из коробки".

В интерфейсах ты можешь только реализовывать свойства и методы, остальное придется дописывать ручками. Для того, чтобы реализовать полноценный абстрактный класс, тебе придется:
1) Написать базовый класс
2) Написать интерфейс
А зачем, когда абстрактным классом ты можешь сделать это за раз? Иногда это менее гибко, если речь идет о множественном наследовании, но иногда "нахуя"?

Аноним 30/06/22 Чтв 22:14:31 2393179 2094
>>2392187
>Может можно ЕЁ пересобрать/переделать под фреймворк?
Ну вот мне нужно WPF окно, но при этом оно должно запускаться из библиотеки классов. А из предложенного студией мне доступна библиотека "классов WPF на net 5-6".

И что в такой ситуации делать? Винформс это говнище с отсутствующим функционалом.
Аноним 30/06/22 Чтв 22:49:38 2393216 2095
>>2393064
>>2393159
А, я разобрался со свифторианами, у них есть экстеншены, с помощью которых можно с ноги закинуть дополнения в любой класс, а у нас это получается нужно делать изначально как раз с помощью абстрактных классов. Ну вот вроде наконец и разобрался, не прошло и недели.
Аноним 30/06/22 Чтв 23:25:44 2393240 2096
Есть макбук на м1.
Какие подводные для кодинга на сишарп на нем?
Аноним 30/06/22 Чтв 23:27:39 2393241 2097
>>2393216
>а у нас это получается нужно делать изначально как раз с помощью абстрактных классов
Можно не изначально, а потом. И тогда у всех потомков будет этот новый метод. Это касается и базовых классов.

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

Такие дела.
Аноним 30/06/22 Чтв 23:29:04 2393243 2098
Есть более надежный способ защиты, крмое try? У меня приложение вылетает даже с ней.
Аноним 30/06/22 Чтв 23:52:19 2393250 2099
>>2393240
Винду придется ставить, если хочешь нормальную иде. Либо ищи способ купить райдер.
Аноним 01/07/22 Птн 00:51:45 2393282 2100
>>2393179
Разобрался, переделал другой шаблон. Только теперь встал вопрос:
dll запускает окно и тут же закрывается (потому что окно не модальное)
А можно как-то ожидать закрытия не используя async?
Аноним 01/07/22 Птн 00:55:29 2393285 2101
>>2393250
>>2393240
А разве этот ваш мауи© не для маков тоже делают? Значит там и студия есть (от майков можно ожидать всякое). К тому же во всех туторах настоятельно рекомендуют покупать мак, если захотим пилить на мауи© под мак (из-за ограничений в лицензии эплоблядей)
Аноним 01/07/22 Птн 00:59:40 2393289 2102
Снимок экрана 2[...].png 471Кб, 2386x922
2386x922
>>2393285
>студия есть (от майков можно ожидать всякое)
Да студия-то есть, причем нативная, для м1

Я просто не пойму, подойдет ли вообще мак ось, причем на м1, для полноценной учебы и работы с сишарпом
Аноним 01/07/22 Птн 01:05:11 2393293 2103
>>2393289
Да хрен знает. Самому интересно какие там различия. Понятно что под нетфреймворк путь тебе заказан. Остается мауи и веб.
Аноним 01/07/22 Птн 01:07:28 2393296 2104
15025420974940.jpg 39Кб, 442x409
442x409
>>2393289
А если тебе скажут, что не подойдет, ты продашь? Ты начни по туторам делать и потом нам расскажешь о подводных камнях.
Аноним 01/07/22 Птн 01:12:44 2393298 2105
>>2393285
Какой в пизду мауи? Брось каку. В дотнете стоит юзать только асп.нет и впф, все остальное - это эксперименты майков над психикой разработчиков.

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

>>2393289
Это обрубок студии, который к виндовой студии почти никакого отношения не имеет. По сути это бывший опенсорсный Mono Develop, в котором майки поменяли логотип и забили хуй на это поделие. Как иде - полное говно.
Аноним 01/07/22 Птн 01:23:01 2393305 2106
>>2393298
>Им надо - пусть пилят
Это важные птицы. Это ты должен покупать их железо, а потом еще купить лицензию, если захочешь выставить приложение в сторе, иначе будет столько ограничений в правах, что вряд ли можно будет написать что-то работающее.

С другой стороны, я пишу приложуху для хуйдожников и теряю большой кусок аудитории, возможно более платежеспособной.
Аноним 01/07/22 Птн 01:41:31 2393308 2107
>>2393305
>я пишу приложуху для хуйдожников
Тогда лучше вообще писать нативно на свистке. А если там хоть сколько-то сильная работа с графикой, то это вообще строго плюсы.
Аноним 01/07/22 Птн 02:18:42 2393312 2108
>>2392403
>Тут в шапке и в теме много советов.
Да вас, честно говоря, хуй поймешь. Я сам, помню, тут спрашивал по поводу книг. Набегает несколько человек, каждый предлагает свой вариант и хуесосит варианты остальных. Кому верить-то? Тот же метанит, упомянутый в шапке - его тут не обхуесосил только ленивый.
Аноним 01/07/22 Птн 09:14:29 2393354 2109
Бамп вопросом.

Вызывается функция из DLL, эта функция запускает окно WPF

public static void RunWindow()
{
W = new MyWindow();
W.Show();
}


Но проблема в том, что запустив окно, не являющееся модальным, функция доходит до конца и закрывается вместе с окном. Кстати, когда я делал тесты с окном на WinForms, этого не происходило (кстати, почему?).

Я пытался тупо без async поставить while с ожиданием закрытия, но запускается окно по видимому в одном и том же потоке, поэтому интерфейс блокируется циклом. Как решается подобная задача, чтобы немодельное окно работало само по себе, а запускающий метод RunWindow не блокировал его и при этом ожидал завершения работы окна?
Аноним 01/07/22 Птн 13:33:44 2393540 2110
Расскажите про конвертацию .net в нативный код. Чет смущает, что я могу дотпиком восстановить исходник своей программы, разве что комментариев нет.
Аноним 01/07/22 Птн 14:32:16 2393596 2111
>>2393312
The Player's Guide тут несколько раз упоминали - очень годно для старта. Уже слито последнее издание по C#10 и .NET6 (ищи и найдешь). Послее нее уже можешь идти дрочить WPF, если ты именно на указанную тут >>2390886 вакансию собираешься. А там по ходу дела доучишь нужные темы более глубоко и освоишь инструменты вроде гита и так далее.
Аноним 01/07/22 Птн 15:49:29 2393658 2112
image.png 26Кб, 1034x73
1034x73
image.png 33Кб, 592x94
592x94
Аноны, у меня очень нубский вопрос, но из-за этого я даже не знаю как такое гуглить.

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

надо что то в стиле сделатьхорошо(любойисходнийОбект, любойНовыйОбект)
Аноним 01/07/22 Птн 15:56:40 2393666 2113
>>2393658
Попробуй загрузить исходный с .AsNoTracking(), а обновленный добавить в dbContext через .Update . По идее при сохранении контекста должен тогда уйти запрос на обновление всех полей у строки с заданным id.
Аноним 01/07/22 Птн 16:04:49 2393677 2114
>>2393666
Это было супер быстро, люблю тебя двач, спасибо Анон, два чая тебе, пофикшено,
Аноним 01/07/22 Птн 18:25:34 2393777 2115
Как думаете, когда C# эволюционирует в новый Си-язык? Мне кажется он сейчас слишком перегружен, хотя микрософты старательно избавляются от легаси говна, но всё же. Не могут же они до бесконечности навешивать новый функционал и переписывать фреймворки.
Аноним 01/07/22 Птн 20:07:59 2393850 2116
>>2393777
Куда ему в новый, он только родился по сути.
Аноним 01/07/22 Птн 20:21:00 2393873 2117
image.png 93Кб, 1277x827
1277x827
А Я НЕ ПОНЯЛ

Раньше же микрософты рекомендовали НЕ использовать префиксы для приватных полей. А теперь наоборот рекомендуют использовать "_", да ещё и "s_" для статических полей. Что за дела? Это вдруг стало стандартом?
Аноним 01/07/22 Птн 21:12:12 2393949 2118
>>2334154
> — C# 9 and .NET 5 – Modern Cross-Platform Development (Mark Price) — подойдёт для ознакомления с платформой. Затрагивает все технологии, имеющиеся в .NET (веб, мобильная разработка, машинное обучение), ни во что не углубляясь.
Уже вышла новая редакция с c# 10, в которой автор перешел с вскода на студию.
Аноним 01/07/22 Птн 21:50:04 2393974 2119
Какое же говно это расширение классов. Синтаксис максимально не очевидный.
Аноним 01/07/22 Птн 21:54:54 2393976 2120
QcEn7XJOuHc.jpg 69Кб, 550x550
550x550
Аноним 01/07/22 Птн 21:57:13 2393977 2121
>>2393949
Там в шапке почти все уже какое-то некроговно.

>>2393974
Ну-ка покажи.
Аноним 01/07/22 Птн 23:15:51 2394007 2122
В чем конкретные отличия get-only от использования init и филдов с readonly? Вроде бы во всех случаях мы можем задать значение только в конструкторе.
Аноним 01/07/22 Птн 23:20:22 2394009 2123
>>2394007
все это разные вещи
одно филд, другое свойство, а третье вообще не для конструкторов придумано
Аноним 01/07/22 Птн 23:21:18 2394010 2124
>>2393873
>Раньше же микрософты рекомендовали НЕ использовать префиксы для приватных полей.
Не рекомендовали использовать прочерк для именования классов. До сих пор не рекомендуют.

Прочерк активно используется в бейсике т.к. там отсутствует чувствительность к регистрам и нельзя сделать так:
value = Value // лично я такое осуждаю
поэтому там делается так:
_Value = Value
Возможно это осуждаю не один я и это очередной пример слияния с уходящим на покой бейсиком.

А еще не рекомендовали префиксы, дублирующие информацию о типе, вроде TextBox именовать как tb_MyText
Аноним 01/07/22 Птн 23:28:06 2394016 2125
>>2394009
Ну с филдой понятно, она отдельно. Но зачем кто-то будет делать init и прописывать значения при инициализации, если можно просто сделать конструктор? Непонятно применение.
Аноним 01/07/22 Птн 23:30:21 2394020 2126
>>2394016
Вот ты всяким либам сериализации, мапперам дтошек, ормкам расскажи что "юзайте всегда конструктор с параметрами, че это вы".
Аноним 01/07/22 Птн 23:32:57 2394022 2127
>>2394020
А, я до таких дебрей пока не дошел еще.
Аноним 02/07/22 Суб 01:42:45 2394087 2128
Аноним 02/07/22 Суб 02:04:00 2394090 2129
>>2394087
Я не вижу прочерков в названиях классов. Может я жопой смотрю.
Аноним 02/07/22 Суб 02:20:03 2394093 2130
image.png 170Кб, 1279x1084
1279x1084
>>2394090
> прочерков в названиях классов
А, не заметил, что ты про классы написал. Но они в целом не рекомендовали прочерк в именах. И ещё "s_", который теперь рекомендуют.

DO NOT use underscores, hyphens, or any other nonalphanumeric characters.

DO NOT use a prefix for field names. For example, do not use "g_" or "s_" to indicate static fields.
Аноним 02/07/22 Суб 04:36:09 2394102 2131
>>2334153 (OP)
Посоветуйте годные видеоуроки на русском, дорогие анончики. Чисто для старта. К книгам и прочим материалам хочу только в процессе перейти
Аноним 02/07/22 Суб 07:45:31 2394112 2132
1007099424.jpg 113Кб, 477x700
477x700
Какую книгу по wpf всё таки прочитать? Пока попробывал на пике и точка, неплохая
Петцольд лютая душниловка
Аноним 02/07/22 Суб 08:21:55 2394116 2133
А как в условиях санкций загружать пакеты на nuget? Пока еще все работает, но ведь дальше могут отключить аккаунты.
Аноним 02/07/22 Суб 09:06:51 2394125 2134
>>2394093
Я вот тоже не понимаю с чего вдруг в шарпе VB заставляет дублировать информацию, которая и так видна.

Чего мне не хватает, так это как-то визуально отделить поле от элемента графического интерфейса.
Аноним 02/07/22 Суб 09:10:19 2394127 2135
>>2394102
Канал #SimpleCode, Христ
Аноним 02/07/22 Суб 09:14:32 2394128 2136
>>2394102
Все что угодно, только не Леша Корепанов и Sergey Nemchinskiy, если не хочешь засрать голову бесполезным говном.
Аноним 02/07/22 Суб 10:54:52 2394157 2137
>>2393596
>ищи и найдешь
Нихуя не нашел. Просмотрел несколько страниц гугла и яндекса, проверил наши торренты и пират бай, и еще несколько англоязычных, специализирующиеся на книгах. Нашел только третью версию на рутрекере. Надеюсь, она не устарела?
Аноним 02/07/22 Суб 11:26:21 2394165 2138
>>2394102
Кроме Симплкода особо никого и нету. Есть еще курс от Ильи Фофанова, но он немножк сумбурный, хотя основы даст. Он щас его выкладывает у себя на канале в свободный доступ. Но Симплкод таки лучше.

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

>>2394128
Немчинский поп-инфу рассказывает, то есть это скорее развлечение, нежели образование какое-то.

>>2394157
Третья немного устарела. Новая, так уж и быть, тут: twirpx(тчк)com. Там вообще почти все книги в наиболее новых изданиях есть.
Аноним 02/07/22 Суб 12:23:43 2394179 2139
>>2393873
Подчеркивание в начале имен приватных полей уже года 2...3 как стандарт. Это в первую очередь позволяет избавиться от дохуилиона "this." в конструкторах и локальных методах/функциях.
Насчет "s_" пока не встречал. Но большое количество статических полей само по себе не слишком частый случай (в нормальной архитектуре по крайней мере), чтобы выделять для этого отдельный префикс. Тут обычно каждый лепит как привык, ну т.е. с простым подчеркиванием, как у нестатических полей.
Аноним 02/07/22 Суб 12:24:31 2394180 2140
>>2394165
>Кроме Симплкода особо никого и нету.
Христ, это что-то среднее между экстримкодом и симплкодом.
Аноним 02/07/22 Суб 12:27:34 2394183 2141
image.png 160Кб, 700x371
700x371
Аноним 02/07/22 Суб 12:28:50 2394184 2142
>>2394180
Еще он не сходу говорит как надо делать, а сначала идет по предсказуемому, но неправильному пути, показывает какой пиздец из этого получается, а уже потом показывает верный подход.
Аноним 02/07/22 Суб 12:29:39 2394185 2143
>>2394102
Канал ExtremeCode на ютубе. Старый плейлист "C# для маленьких и тупых"
Плюс еще несколько видосов того же времени.
Современные не смотри, там они уже просто хуйню ради хуйни снимают.
Аноним 02/07/22 Суб 12:34:20 2394190 2144
>>2394184
Такой подход для обучения лютое говно.
Т.е. ты ничего не знаешь по теме, чел начинает тебе что-то рассказывать. Т.к. ты не в теме то нормально проанализировать информацию не можешь и поэтому мозг запоминает ее как есть. А потом тебе так хуяк, "все говно, давай по новой".
На определенной итерации такой хуеты, твой собственный мозг пошлет тебя и ты заебешься разгребать кашу у себя в голове.
Аноним 02/07/22 Суб 12:50:04 2394209 2145
>>2394190
Я считаю напротив. Если человек не осознает почему ему нужно следовать конкретным правилам, то он не будет им следовать. Это как копипастить из стакофоверфлоу, в мозгу ничего не задержится. А потом рождаются либерахи, которым видите ли противны старые устои и начинают изобретать велосипеды грабли, на которые наступили миллионы раз их предки.


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

Аноним 02/07/22 Суб 13:02:30 2394223 2146
А можно в WPF как-то создать массив кнопок и не создавать для каждой подписку на событие? Это же потом чистить вилкой.
Есть какие-то альтернативные пути?
Аноним 02/07/22 Суб 13:09:55 2394229 2147
>>2394209
>Я считаю напротив. Если человек не осознает почему ему нужно следовать конкретным правилам,
Каким нахуй правилам он должен следовать если он самих правил не знает, и даже о чем эти правила говорят.
Это как если прийти в спортзал, тебе показывают приседания, а после того как ты наприседаешь, тебе скажут, "ну ты понял, почему ты таким образом грудные не накачаешь? Поэтому давай я тебе покажу отжимания, вот их нужно было делать"
Аноним 02/07/22 Суб 13:39:30 2394250 2148
>>2394229
> "ну ты понял, почему ты таким образом грудные не накачаешь? Поэтому давай я тебе покажу отжимания, вот их нужно было делать"
В данном примере сложно применить такой подход — он будет либо незаметен, либо деструктивен для здоровья. На примере с кодом это лишние 10 минут, зато более информативен.
Аноним 02/07/22 Суб 14:19:41 2394278 2149
>>2334153 (OP)
Шарпаны. Что нужно в .editorconfig прописать, чтобы нельзя было русские (и вообще unicode) символы использовать в именах переменных, классов, интерфейсов и т.д.?
Аноним 02/07/22 Суб 14:32:41 2394287 2150
изображение.png 126Кб, 851x409
851x409
изображение.png 6Кб, 399x137
399x137
Продолжаю изучать язык, и сейчас дошёл до ILSpy, в учебнике с его помощью открывают System.IO.Filesystem.dll и получают пик 1, а у меня там только пик 2. В чем причина?
Аноним 02/07/22 Суб 14:45:48 2394296 2151
img.png 106Кб, 1074x757
1074x757
>>2394287
Хз, но я нашел нужный тебе System.IO в System.Private.CoreLib.
Аноним 02/07/22 Суб 19:14:41 2394559 2152
>>2393540
Бамп вопросом или можно заюзать обфускатор, то какой? Все что я читал, было написано лет 10 назад и все склонялись к мнению, шо говно.

У меня нет ничего суперсекретного, нормальный программист сделает без меня и намного лучше, но я открываю дикдотпиком и там просто картина маслом.
Аноним 02/07/22 Суб 19:24:41 2394570 2153
>>2394559
Емнип, код жабы и шарпа никак нормально не обфусцировать.
Аноним 02/07/22 Суб 19:56:36 2394595 2154
Аноним 02/07/22 Суб 19:58:14 2394597 2155
>>2394559
Поверь - проще забить хуй. Проще не в том смысле, что обфусцировать сложно, а в том, что тебе должно быть насрать на то, что кто-то посмотрит твой код.
Аноним 02/07/22 Суб 21:52:10 2394641 2156
Пасаны, я запутался. Что такое сервисы в шарпе? Это что-то про DI?.. И чем сервис будет отличаться от статика и синглтона, если я правильно применяемость понимаю..
Аноним 02/07/22 Суб 22:44:59 2394685 2157
>>2394597
>тебе должно быть насрать на то, что кто-то посмотрит твой код
Большой и богатый энтерпрайз не может себе такого позволить. Во-первых, могут спиздить какие-то решения, обеспечивающие конкурентное преимущество. Во-вторых, недоброжелатели могут в этом коде найти уязвимости и использовать их в своих целях.
Аноним 02/07/22 Суб 23:22:40 2394711 2158
Важный вопрос.
Как снизить потребление памяти в связке webApi+Sqite без EF?
Просто как. Оно жрет в определенный момент 100МБ. Что как-то много. Типа у меня просто один поток, который берет из БД следующую задачу на чтение чего-то из стороннего апи, читаю, сохраняю в БД результат. При каждом запросе к БД - руками открываю соединие, закрываю руками, диспозю. Вроде как особо объектов не создаю, но 100МБ - жрется. Если я эти же задачи реализую путем чтения из файлика - такой фигни нет, но это геморно и вообще тупо. Из объектов что создаю - это как раз сущности из БД, чтобы задачу достать и послать куда надо HTTP-запросец, потом - получить ответ и все.

Код примерно следющий:

while(true){

var task = _repo.GetNextTask();
var taskResult = _api.ExecuteTask(task);
_repo.SaveResult(taskResult);
Thread.Sleep(500);

}
Аноним 03/07/22 Вск 00:41:49 2394773 2159
>>2394685
Ты долбоеб или как. Энтерпрайз наружу максимум апиш-ку от своего приложения выставит, и то не всю. А все остальное будет крутится в его внутренней сети под впн-ом и ты самого приложения даже и не увидишь.
Аноним 03/07/22 Вск 01:26:28 2394823 2160
>>2394685
Этого >>2394773 двачую. Это во-первых.
Во-вторых. Пиздинг чужих решений - это хуета из под коня. В реальном мире важнее занять первыми нишу и как можно большее количество пользователей захапать, а не ебаться с тем чтобы 2 года страдать непонятной хуйней, в итоге пока вы MVP выкатили - все пользователи у конкурента и фич там столько, что даже если они откроют исходники - вы на их анализ и перетаскивание себе - еще 2 года потратите.
В-третьих, использование уязвимостей в своих нехороших целях - это суд и 100500 лярдов долларов и несколько пожизненных, потому что в контексте вреда - вы уже можете нарисовать любую сумму, а каждый случай использования уязвимости рассматривается в международных судах как отдельное нарушение. Т.о. если кто-то нашел уязвимость - он обязан сообщать, если сообщения не было - суд; если было, а вы такие ебланы и проигнорировали, то хоть сколько ты там код прячь - вы ебланы. Ну и да, Кому надо - тот и до аппаратного уровня дойдет и что угодно сделает, а потому страдать непонятной хуйней ссылаясь на каких-то там нехороших людей - это детский лепет.
Аноним 03/07/22 Вск 02:31:45 2394846 2161
>>2394773
>>2394823
Сразу видно людей, которые никогда не сталкивались с опсеком.
Аноним 03/07/22 Вск 05:14:54 2394860 2162
>>2394641
сервис - широкое понятие от "вечноработающего демона" до обычного сервисного класса, в который впихнута какая то логика

Тебе нужно почту отправить... ты пишешь код отправки (подключение, отправка, отключение) и тебе нужно его куда то положить чтобы был порядок. Вот так и рождается у тебя сервисный класс
Аноним 03/07/22 Вск 09:13:53 2394883 2163
>>2394846
Сталкивался. И даже видел как народ несколько месяцев обфусцировал библиотеку которой не должно было быть в сертифицируемом софте. А так же наблюдал грустные ебала руководства которые эту идею выдали и потом не прокатило, потому что вскрывается это на раз.
Если у тебя опсек, то ты явно не будешь критические модули писать на языках подобных джаве/шарпу, или если будешь, то не будешь выставлять наружу ничего критического на чем тебя можно пробить.
Аноним 03/07/22 Вск 09:16:52 2394884 2164
>>2394860
Вроде понятно, но.
Вот допустим мввм. Когда класс пойдет в папку Models, а когда в Services?
Аноним 03/07/22 Вск 10:21:21 2394894 2165
>>2394884
> Когда класс пойдет в папку Models, а когда в Services?
В модель тот что ничего не делает и нужен для того чтобы данные представлять
В Services - когда что-то делает.

User - модель
UserEmailSendService - сервис
Аноним 03/07/22 Вск 11:10:17 2394903 2166
>>2394894
А как тогда разделять бизнес логику и логику приложения?.. (domain/business и application)
Аноним 03/07/22 Вск 11:23:27 2394907 2167
>>2394903
Ее разделение не на уровне в какую папочку что ложить происходит.
Короче. Смотри код, это почти кристально чистый пример того как дела делают сейчас
https://github.com/dotnet-architecture/eShopOnContainers
Аноним 03/07/22 Вск 11:25:38 2394908 2168
>>2394883
>Если у тебя опсек, то ты явно не будешь критические модули писать на языках подобных джаве/шарпу
И тут в комнату заходит бабло. У тебя целый офис шарпистов, вся инфраструктура под него. Нанимать целый новый отдел, включать его в работу, налаживать взаимодействие команд - это ебейшие затраты денег и времени.
Аноним 03/07/22 Вск 11:27:24 2394909 2169
Аноним 03/07/22 Вск 11:44:09 2394912 2170
>>2394908
>И тут в комнату заходит бабло. У тебя целый офис шарпистов, вся инфраструктура под него. Нанимать целый новый отдел, включать его в работу, налаживать взаимодействие команд - это ебейшие затраты денег и времени.
И поэтому ты идешь на двач, спрашивать советов, как тебе лучше обфусцировать свое дерьмо. Good choice.
Аноним 03/07/22 Вск 13:13:32 2394992 2171
image 556Кб, 2880x1462
2880x1462
Зачем в NumberFormatInfo свойство NumberDecimalSeparator сделали как string, а не char? Ведь в принципе среди всех локалей встречается только 3 разных децимал сепаратора: это точка, это запятая и это мумаййиз (тоже по сути запятая).
Стринг же не снижает перформанс при парсинге и форматтинге.
Оверинжиниринг и обобщение сверх меры, так ведь?
Аноним 03/07/22 Вск 13:17:51 2394997 2172
>>2394685
>какие-то решения, обеспечивающие конкурентное преимущество
Анон, код у всех примерно одинаковый сегодня.
Это в 1980-х в какой-то команде мог оказаться гениальный красноглазик и порвать рынок суперфичей. Сегодня прорывов в софте нет и не будет.
Аноним 03/07/22 Вск 13:18:47 2394998 2173
>>2394992
Ты можешь гарантировать, что это всегда будет точка или запятая? Вот для какого-нибудь научного софта для разделения целой и дробной части нужно будет .. использовать. Что будешь делать, если у тебя char использовался?
Аноним 03/07/22 Вск 13:21:42 2395000 2174
>>2393540
Ну если ты не совсем макака, то можешь поковырять сорсы rolsyn'а, там есть весь код, который из шарпа делает IL, и который из IL делает машинный код. Дальше покури, как устроены exe-шники под винду, и этот машинный код запакуй в exe-шник и его отдавай конечному потребителю. Наверняка кстати что-то такое опенсорсное есть.
Аноним 03/07/22 Вск 13:25:05 2395004 2175
>>2394998
Так-то ты прав, но. Для таких интересных случаев, как и например для 20-ричных систем исчисления племени охотников на крокодил с озера Чад, можно будет запилить свой кастомный нумбер формат инфо, парсер и форматтер, а для 99.9999999% юзеров съэкономить машинные такты. Всяких стандартных интерфейсов для такой кастомизации в шарпе предостаточно.
Аноним 03/07/22 Вск 13:27:15 2395005 2176
>>2394883
Тот же юнити транспилирует шарп в плюсы. Что мешало, например, сделать также и потом биндить нативную дллку?
Аноним 03/07/22 Вск 13:29:31 2395008 2177
>>2395005
Потому что у нас есть CLR. Нахуй в какие-то там плюсы транслировать, если байткод после оптимизаций - почти не отличается от плюсового?
Аноним 03/07/22 Вск 13:33:57 2395014 2178
>>2395008
>Нахуй
Человек задался вопросом как обфусцировать библиотеку. Вот - за этим. Чтобы дотпиком любой школьник не смотрел куда не положено.
Аноним 03/07/22 Вск 15:04:10 2395070 2179
У меня перестала выводиться региональная валюта, вместо символа рубля просто знак вопроса. В чем дело может быть?
Аноним 03/07/22 Вск 15:28:56 2395097 2180
Как научиться читать и писать сложные регулярки?
Аноним 03/07/22 Вск 16:36:40 2395188 2181
>>2395005
>Что мешало, например, сделать также и потом биндить нативную дллку?
Ничего не мешало, так же как не мешает делать и сейчас. Гугли AOT компиляцию в C# и пользуйся на здоровье.
Аноним 03/07/22 Вск 16:39:51 2395193 2182
>>2395097
Как дедушка ленин завещал. "Учиться, учиться, учиться."
Учить теорию, начинать с простых примеров. Задрачивать их до автоматизма. Переходить к более сложным и так же задрачивать. Удачные решения разбирать и записывать. Чаще использовать в работе и т.д.
Другого способа нет.
Аноним 03/07/22 Вск 17:35:17 2395249 2183
А куда Ngen сохраняет результат? В консоли пишется успех, но исходный файл неизменный. К тому же второй раз отказывается проводить операцию.
Аноним 03/07/22 Вск 17:49:39 2395268 2184
>>2395097
Регулярки никто не читает. Их пишут один раз для конкретной задачи.
Их проще переписать с нуля, чем искать ошибку.
Это как скрипты для билда или установки, их проще выкинуть и написать новые.
Ну а про писать сложные. Уже классическая хохма: "У вас проблема, и вы собрались использовать регулярные выражения для её решения. Теперь у вас две проблемы."

Так что вердикт: не нужно.
Аноним 04/07/22 Пнд 10:56:17 2395824 2185
Анон, чо там про кроссплатформенным приложениям? Стульев очень много. Вне мира .NET это React Native + ElectronJS и Flutter. В мире .NET еще целые Avalonia с UNO и MAUI. Из всех понятно выглядит только сравнение жс-поделий с Флаттером - второй шустрее и лучше, но надо учить отдельный язык, который больше нигде не нужен, и до кучи гугл в любой момент может все это дело прихлопнуть. А вот про остальное инфы очень мало. Мауи еще можно выбросить, потому что без линукса. Как выбирать между жс-калом, Флаттером, Авалонией и Уно? Собираюсь писать несложные приложения, которые опционально будут взаимодействовать с веб-бекендом и пристойно работать на всех платформах (десктоп + мобилки), чтобы одну кодовую базу написать и не ебать мозги.
Аноним 04/07/22 Пнд 11:18:20 2395839 2186
164715269310-kr[...].jpg 88Кб, 1200x764
1200x764
Анон как преодолеть бредовую ситуацию импорта библиотек?

Ситуация:
Приложение Application.exe импортирует unmanaged либу по некому специфическому пути:
[DllImport("E:\Libraries\Biba.dll")]

А та библиотека, в свою очередь, импортирует managed библиотеку по локальному пути
using Boba;
Библиотека лежит там же в "E:\Libraries\"

Я-то думал, что Biba.dll будет искать Boba.dll относительно своего нахождения, а оказывается библиотека ищется относительно пути запускающей программы Application.exe
Как мне заставить Biba.dll искать либу относительно своего адреса?
Аноним 04/07/22 Пнд 11:23:56 2395850 2187
>>2395839
Че бесит, что если бы я Boba.dll сделал тоже unmanaged и импортировал его так:
[DllImport("Boba.dll")], то искался бы относительно импортирующего.
Аноним 04/07/22 Пнд 11:30:31 2395853 2188
>>2395824
Тебе не позавидуешь.
Аноним 04/07/22 Пнд 11:38:18 2395863 2189
>>2395824
Флаттер на самом деле по ощущениям как сын шарпа и питона какого-нить. Я его не учил, разобрался по гайдам и чисто по ощущениям нашлепал нужную себе штуку, получилось даже норм.
Аноним 04/07/22 Пнд 11:52:56 2395871 2190
>>2395839
>>2395850
Как же бесит.
>Просто добавьте в конфигурацию вашего приложения probing privatePath
Это не мое приложение — я делаю плагин. Приложение подгружает мою либу, видит референс и пытается искать его по месту своего запуска, а не в папке с плагинами.
ууух, бля. И что за все время существования нельзя было сделать возможность установки относительного пути? До сих пор в свойствах netframework нельзя установить относительный путь запускаемого приложения. Энтерпрайз-лежбище котиков.
Аноним 04/07/22 Пнд 12:42:35 2395899 2191
lyKfI9W9-1g.jpg 59Кб, 600x483
600x483
>>2395871
Нарыл "позднее связывание"
Вы шо, ебанулись такие простыни, да еще через медленный рефлекшн делать? Методы и неймспейсы использовать "вслепую" — без IntelleSence. Я ебал в рот. Это же смешно, это издевательство над здравым смыслом. Огороды тупо из-за того, что нельзя указать относительный путь, хотя это возможно реализовать с неродной unmanaged библиотекой.
Аноним 04/07/22 Пнд 18:50:41 2396172 2192
Есть массив Char, у которого в конце ряд ячеек null. Как такой очистить?
Аноним 04/07/22 Пнд 19:31:45 2396211 2193
Посоветуйте алгоритм, который нужно использовать, чтобы распарсить и вычислить арифметическое выражение типа 1 + 2 (3 - 4 / 5).
Ещё до кучи, нужен класс, который получает в качестве аргумента строку типа: "1
x + 2 * (3 - 4 / x)" и имеет метод double Calculate(x), который это бы вычислил. Как это реализовать?
Что почитать на эту тему?
Аноним 04/07/22 Пнд 21:40:03 2396302 2194
>>2395863
А что там в сравнении с Авалонией и Уно? Юзал кто-нибудь эти поделки?
Аноним 04/07/22 Пнд 21:58:44 2396320 2195
>>2396211
1 - регулярка, 2 - польская запись?
Аноним 05/07/22 Втр 12:27:28 2396737 2196
>>2396320
>2 - польская запись?
Да.
Аноним 05/07/22 Втр 16:23:18 2397031 2197
Петушня, а вы слышали, что такое Javadoc? А у вас такое есть? Петушарперы, голос! Ахахахахахахахаха
Аноним 05/07/22 Втр 16:38:01 2397057 2198
Аноним 05/07/22 Втр 16:48:34 2397070 2199
>>2397057
То есть единого решения от самих разработчиков языка у вас нет?
Аноним 05/07/22 Втр 17:04:55 2397079 2200
>>2397031
Да, есть. В .csproj надо прописать:
<GenerateDocumentationFile>True</GenerateDocumentationFile>
Аноним 05/07/22 Втр 17:06:54 2397081 2201
Есть ли в новых дотнетах какой-то атрибут, которым можно помечать элементы enum'а, чтобы задать текст, которым этот enum будет выводиться в ToString()?
Или всё опять нужно велосипедить?
Аноним 05/07/22 Втр 17:08:33 2397083 2202
>>2397081
Можно пример желаемого?
Аноним 05/07/22 Втр 17:28:37 2397102 2203
>>2397083
Имеем енумчик:
public enum BinaryInfixOperator
{ Add, Subtract, Multiply, Divide}


Надо, чтобы BinaryInfixOperator.Add.ToString() выводился как "+", а не как "Add".



Аноним 05/07/22 Втр 18:49:29 2397178 2204
Аноним 05/07/22 Втр 18:50:50 2397180 2205
2022-07-0518-47[...].png 12Кб, 922x266
922x266
Зачем данный господин использует using?
Разве переменная, которую он использует не удалится сборщиком мусора при выходе из функции?
Аноним 05/07/22 Втр 18:51:31 2397182 2206
Аноним 05/07/22 Втр 19:01:17 2397186 2207
>>2397180
Переменная-то удалится, а вот обект процесса в химе нет. Он будет висеть и ждать сборки мусора. А заодно и держать системные неуправляемые ресурсы (дескрипторы и т.д.), которые только при финализации перед уборкой данного объекта освободятся. С using'ом он тоже в химе до сборки мусора висеть будет, но системные ресурсы отдаст сразу.
Аноним 05/07/22 Втр 19:02:02 2397187 2208
>>2397186
* в хипе висеть будет
Аноним 05/07/22 Втр 19:32:57 2397203 2209
Аноним 05/07/22 Втр 19:37:29 2397205 2210
Аноним 05/07/22 Втр 19:42:18 2397206 2211
Аноним 05/07/22 Втр 21:07:24 2397256 2212
>>2397203
Ну, в случае с массивом нужно просто в цикле для каждого объекта вручную метод .Dispose() дёрнуть. Ну или можешь свою обёртку написать и ее в using'е использовать, чтобы при выходе из блока все переданные в нее объекты задиспозились.
Аноним 05/07/22 Втр 23:39:09 2397345 2213
Изучаю ВПФ - объясните плиз чем принципиально вот эти две реализации RelayCommand отличаются? В целом понятно что обе делают, но почему в первой пасте выглядит попроще, а во второй накручено всякого и интерфейс реализуется через ICommand.CanExecute вместо просто CanExecute?

https://pastebin.com/1JY3n29h

https://pastebin.com/aqZU1vGy
Аноним 06/07/22 Срд 06:06:52 2397469 2214
>>2397345
первая попроще потому что там решили не заморачиваться с типом параметра в Action (а также с его возможным отсутствием)
Во втором случае это сделано

а через интерфейс тут 2 причины
1 очень маловероятно - ну чтобы работая с командой эти методы не путались в подсказке
2 крайне вероятно - так было тупо в нагугленом примере с которого каждый пилит свой велосипед

и это еще не накручено. Вот еще больше накручено https://pastebin.com/zbrtXwBD
Аноним 06/07/22 Срд 20:23:39 2398144 2215
Анон, тут такая задача возникла. Есть класс A, в проперти которого содержится двумерный массив инстанций классов, имплементирующих интерфейс B (B1, B2, B3 etc). В одном из классов B есть важная bool проперти (она только в этом классе, в интерфейсе ее нет). Как из класса С (то есть вообще левого) прочитать эту bool проперти? Она public { get; }. Целый день ебусь - никак не выходит.
Аноним 06/07/22 Срд 21:05:10 2398167 2216
ГУИ или бекэнд?
Аноним 06/07/22 Срд 22:02:01 2398212 2217
Аноним 06/07/22 Срд 22:11:25 2398219 2218
16565245274460.webm 881Кб, 1280x720, 00:00:06
1280x720
Аноним 06/07/22 Срд 22:12:28 2398220 2219
>>2398144
Тебе надо привести обратно к твоему классу B1(или что там у тебя)
Читай про даункаст и апкаст.

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

Т.е. тебе надо что-то вроде этого:
MyClass B1 = Array[0]; // я бейсикодебил, мог что-то проебать в синтаксисе
С этого момента у тебя снова будут доступны все доп свойства.
Аноним 06/07/22 Срд 23:59:30 2398290 2220
>>2398220
Пасиба, анон. Тоже думал про даункаст (или это апкаст, хз), но как-то он с первых попыток не получился и я забил. А сейчас поковырял еще и эта хуета наконец заработала. Фух, день прожит не зря.
Аноним 07/07/22 Чтв 01:15:14 2398322 2221
Кто нибудь нашёл инфу по документации?
Аноним 07/07/22 Чтв 09:17:20 2398397 2222
Кто нибудь запускал юнит тесты .NET 6 VS 2022 на линуксе? Чего-то нихера у меня не пашет, пишет якобы среда WSL не сконфигурирована хотя вроде все по инструкцции сделал. Более того, до этого из студии на той же WSL собирал сишный проект на CMake и все сходу завелось, студия сама предложила доустановить на линукс недостающие компоненты.
Аноним 07/07/22 Чтв 10:05:38 2398424 2223
Заберите своего долбоеба из жава треда
Аноним 07/07/22 Чтв 10:14:01 2398428 2224
>>2398424
Простите, Тамара Николавна, что мой негодник опять натворил?

На самом деле это вселенский долбоеб-беспризорник, срущий в каждом профильном треде.
Аноним 07/07/22 Чтв 10:14:11 2398429 2225
>>2398424
Дезва это кал для долбоёбов.
Аноним 07/07/22 Чтв 10:19:40 2398432 2226
>>2398424
Имхо ему в вашем треде самое место. А то у вас там весь мир на жабе написан, а на дотнете до сих пор ничего (вообще ничего, воооообще, лол).
Аноним 07/07/22 Чтв 11:07:23 2398486 2227
>>2398397
НИЕЕЕЕТ!!!!! ТУПОЙ ЖАБАЖАУН!!!!! ПЕТУШАРП КРОСС-ПЛОТ-ФОРММ-МЕНН-ННЫЙ И ДОТ! ТВЕРДО И ЧЕТКО!!!!!!
Аноним 07/07/22 Чтв 11:36:01 2398511 2228
Почему для работы с массивами нужно использовать статический класс Array, вместо работы с ними напрямую?
Аноним 07/07/22 Чтв 11:50:11 2398521 2229
>>2398486
В петушиный джезва-загон, животное!
Аноним 07/07/22 Чтв 11:50:42 2398523 2230
>>2398511
Потому что операции двухместные
Аноним 07/07/22 Чтв 11:53:50 2398525 2231
>>2398521
Ох как порвался, любо дорого посмотреть!
Аноним 07/07/22 Чтв 15:46:36 2398740 2232
как же шарпоблядь визжит, джава джедаи опять победили
Аноним 07/07/22 Чтв 15:55:59 2398746 2233
>>2398740
Ебло, хоть на двоичном коде фичи пиши. Если ты делаешь то, что нужно, оно работает как нужно и ты ещё за это бабки получаешь - ты уже победил.
Аноним 07/07/22 Чтв 19:34:58 2398949 2234
Аноним 07/07/22 Чтв 19:44:52 2398957 2235
>>2398746
Не обращай внимания. Это наш локальный жавашиз. Можете его зарепортить
Аноним 07/07/22 Чтв 21:37:01 2399055 2236
Как запросом можно получить информацию с сайта, которая появляется в коде только после клика?
Аноним 07/07/22 Чтв 21:42:55 2399060 2237
Почему в каждом треде всегда находится один агрессивный <нейм>шиз, скатывающий тематику в пустой срач? Статистика или заговор?
Аноним 07/07/22 Чтв 21:47:51 2399064 2238
А перекат будет нормальный или утонем?
Аноним 07/07/22 Чтв 21:57:11 2399066 2239
Есть какие то новости по документации?
Аноним 08/07/22 Птн 07:31:20 2399256 2240
Про документацию узнали что-нибудь?
Аноним 08/07/22 Птн 09:13:56 2399286 2241
Аноним 08/07/22 Птн 15:32:56 2399720 2242
1657283573094.gif 2040Кб, 375x375
375x375
>>2398212
>ГУИ?
Хуи!
> Бэкэнд?
Хуекэнд!
Аноним 08/07/22 Птн 21:43:35 2400171 2243
>>2394180
Конченный мудак который нихуя не обьясняет
Какие-то свои винформочки дрочит и пропускает 70 процентов всей темы
Аноним 10/07/22 Вск 23:15:53 2402061 2244
Аноним 11/07/22 Пнд 18:36:41 2402763 2245
Прочёл троелсона c# 9 .net 5 и рихтера. Что делать дальше? Куда податься, если c# далеко не приоритет на снг и, помимо всего прочего, дерьмософт начали вводить санкции для руснявых девелоперов?
Аноним 12/07/22 Втр 14:33:32 2403412 2246
>>2402763
Что за санкции? А вообще ты кал прочитал, троллсен это кал, почитай барта де смета хотя бы.
Аноним 12/07/22 Втр 15:43:59 2403498 2247
>>2403412
Можешь подробнее расписать чем он плох? куда ни глянь, везде пихают троелсона да штился(based)
Аноним 12/07/22 Втр 16:41:52 2403582 2248
>>2403498
Я вообще не представляю зачем его рекомендуют, чувак просто не умеет писать, он излагает не последовательно, не даёт точных определений а просто "пиздит" на заданную тему довольно сумбурно в результате если вдумыватьв в текст будет больше вопросов чем ответов.

Единственное моё объяснение почему он стал популярным - т.к. он описывает не только язык а еще кучу прикладных фреймворков вроде асп и впф (другое дело что там описание такое краткое что кодить на них все равно не сможешь) и видимо нашел свою аудитория среди западных студентов раздолбаев которые пытаются сэкономить и покупают одну книку вместо десяти.
Аноним 12/07/22 Втр 17:56:34 2403679 2249
>>2403582
тогда такой вопрос: достаточно ли сайта metanit.com для основ, а далее изучать конкретные направления по составляющи? Т.е. в полной ли мере там раскрываются основы?(Планирую подтянуть ещё одного человека не хотелось бы обосраться)
Аноним 12/07/22 Втр 18:15:09 2403716 2250
>>2403679
Так ты уже рихтера прочитал, это мега продвинутый уровень, зачем тебе курсы?

Я хз про курсы, не воспринимаю их, только по книжкам все изучаю.
Аноним 19/07/22 Втр 02:57:13 2409468 2251
Прочел RB Whitaker The C# Player's Guide, который тут неоднократно советовали. Могу ли я теперь считаться джуном и пытаться найти галеру?
Аноним 03/08/22 Срд 09:48:10 2423191 2252
>>2392067
> вба это говно мамонта
Тем не менее, ты прямо щас можешь открыть любой из МС офисов и написать на нём скрипт.
Странно, когда айтишники в одном месте кудахчут
> отточеная проверенная временем технология
а в другом месте
> говно мамонта
Аноним 03/08/22 Срд 09:55:07 2423194 2253
>>2393282
> dll запускает окно и тут же закрывается (потому что окно не модальное)
Не потому.
А потому, что в длл нет майнлупа. Когда-то давно я боролся с этой проблемой и как-то заборол. Но то было вообще не в сишарпе, а во фрипаскале, и я не помню, как заборол проблему, а если бы и помнил, тебе вряд ли это помогло бы.
ЕМНИП, майнлуп создаётся, когда мы пишем Application.Run(); и доступ к нему через инстанс Application. И вроде как я пробрасывал ссылку на этот инстанс из приложения, в либу. Что-то как-то так было вроде.
Аноним 03/08/22 Срд 15:29:07 2423529 2254
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов