Этого треда уже нет.
Это копия, сохраненная 28 июля 2022 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
16345765468970.png101 Кб, 941x1025
C#/Сишарп/.NET Тред #34 /csharp/ 2247357 В конец треда | Веб
Прошлый тред: >>2205513 (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
2 2247358
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#".
Спиженные книги: https://mega.nz/folder/zdoCBLqY#Q6eS_76VECpQZmPmw9vLew

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
2 2247358
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#".
Спиженные книги: https://mega.nz/folder/zdoCBLqY#Q6eS_76VECpQZmPmw9vLew

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
3 2247361
никому не нужный тред ненужного языка
4 2247363
>>247358
О, нихуя, получается, можно изменять интернированные строки
5 2247364
Надо было девочек в шапку!
jatnik.png169 Кб, 421x468
6 2247512
>>247361

>пук жабакала


C# летит туземун в трендах у разработчиков, а в этом году уже появились первые стартапы на нем.
7 2247517
Поясните вот за шо.
Правильно ли я понимаю.
Вот есть петухон, стильный модный молодежный. Пилят к примеру проект на Django. Ясное дело что он будет медленнее чем жава или шарп. Но тогда почему выбирают именно петухон?
Разработчик дешевле да и планку оперативы легче вставить чем нанимать жависта или шарписта?
8 2247520
>>247517

>Разработчик дешевле да и планку оперативы легче вставить чем нанимать жависта или шарписта?


Да.
9 2247530
>>247517

>Django


В вебе, во-первых, нет жестких требований по производительности: юзер не заметит разницу отрисовалась его страничка за 300 или за 400 ms. Во-вторых, все оптимизации производительности работы кода приложения почти незаметны по сравнению с временем затрачиваемым на запросы в базу, кеш, другие сервисы. Ты скорее упрешься в Ethernet, чем в скорость работы кода.
10 2247538
Здарова, реквестирую способы автоматического обхода капчи необязательно даже на решетке В принципе знаю тукапчу, но может знаете еще чего получше и подешевле
11 2247539
>>247538
сри хандред бакс и решение у тебя в кармане
12 2247542
>>2247444 →
Думаю это от него скорее и ожидали. Я с unsafe, байтиками и игрищами с указателями я, скорее всего, пошел не в ту сторону.
А тут - нет вероятности перезатереть что-то полезное и вообще, выглядит оно не так страшно и вообще, более ООПшно.

Хотя, задание для стажера, какое-то странное на самом деле.
13 2247546
>>247517

>Но тогда почему выбирают именно петухон?


Потому что изначально пайтон создавался с прицелом на академеков и близких к ним. Чтобы пр ивозникновении какой-нибудь обсчитываемой концепции они могли по быстрому накидать прототип и проверить ее, не будучи задротами от мира IT. Ну а потом уже если концепция подтвердится, то либо так и оставить, либо переписать на чем-нибудь побыстрее. Вследствие этого, в пайтоне очень хорошо срабатывает метод "хуяк-хуяк и в продакшен". Особенно когда нужно по быстрому сваять проект и показать инвесторам, а вот когда они подкинут бабла, тогда уже можно нанять бородача, который узкие места оптимизирует на сях, либо на джависта/шарписта который все перепишет. Ну или оставить все как есть, потому что похуй, бабки получены, проект хоть как-то работает и ладно.
14 2247559
>>247357 (OP)

>недавно вышел .NET 5 и С# 9.0.


Разве не .NET 6 и С# 10.0.?
15 2247560
>>247539
Подробнее? Нужно за три сотки купить какой-нибудь курс по нейросеткам и запилить все самому?
16 2247566
>>247559
Тред легаси-эдишн
17 2247576
>>247560

>нейросеткам и запилить все самому?


А потом потратить тыши даларов на обучение.
Уже все придумано и обучено.
zennolab.com/ru/products/capmonster/
xevil.net/ru/
18 2247577
>>247364
Два чаю. Девочек нужно было.
19 2247598
>>247512
мантры решеткобляди)
image.png53 Кб, 300x300
20 2247609
>>247512

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



Спустя 21 год после релиза?
21 2247623
>>247609
По факту спустя год после релиза. До NET5 были проблемы с подключением бд не от майков и скоростью на линукс серверах. Это еще учитывая, что первая открытая версия дотнета вышла в 2016.
22 2247630
Как внедрять зависимости?
23 2247641
>>247623

>предыдущие 20 лет релизов, оказывается, больше не релизы



Вообще какой смысл пилить стартап на шарпе, когда для этого есть более подходящие инструменты? Ну тот же питухон, нода или го, с которыми скорость разработки будет выше, чем на шарпе, на которых легко можно писать микросервисы и встраивать в контейнеры. Быстрый старт, сервисы много не жрут. А что дотнет? Ровным счетом такая же ситуация, как и у жабы - долгий старт, большое потребление памяти.
24 2247643
>>247630
Нормального DI в шарпе до сих пор нет, увы. Если так сильно нужен DI, то лучше смотри в сторону жабы и спринга.
25 2247644
Как пишут код в серьёзных фирмах? Наверняка пишут веб-приложение для развертывания в линуксе, но ведь в самом линуксе нет вижлы.
26 2247650
>>247644
Серьезные фирмы с шарпом до сих пор IIS используют, который только под винду идет. Ну и вообще во многих местах еще очень много всего завязано на инфраструктуре майкрософта.

А так, можно райдер использовать, имхо в разы лучше чем VS.
27 2247664
>>247644
неткору похую на какой оси работать. Я девелопил и дебажил свое говно под виндой, и деплоил в прод в никсовый кокер контейнер
28 2247672
Смотрите. У меня на заводе в одном приложении была такого рода фигня: канал связи+протокол. Ну, т.е. канал связи - это какой-нибудь TCP, Com-порт, USB, PLC и т.д. Протокол - какие байтики слать.
Так вот. Это было десктопное приложение. Сейчас - переносится в облака. Менеджеры - хотят чтобы вот эта вот фигня была и в облаке. Я - не совсем понимаю, можно ли это вообще реализовать в контексте облаков так как было раньеше. Да, TCP и протоколы - без проблем. Но в видении архитектора нашего - должны и USB, и COM и все остальное поддерживаться. Ну, он видит это как ряд микросервисов каналов связи. И тут возникает вопрос: А как эти микросервисы будут про протоколы узнавать? Опять же, в видении нашего архитектора - должен быть отдельный микросервис для протоколов и, примерно следующее взаимодействие: клиент шлет запрос микросервису канала связи, указав протокол, уже микросервис - обращается к сервису протоколов - и получает нужный протокол, затем начинается взаимодействие. Только вот как, блджад это-то реализовывать? Как мы можем-то по HTTP - передать протокол взаимодействия, не костыляя протокол для сериализации этого протокола? Я - не понимаю. Тем более, что разные протоколы дают возможность разного взаимодействия: тут - мы можем только посмотреть аптайм устройства и серийный номер, а там, если устройство протокол поддерживает - по хардкору - включать-выключать датчики, читать логи работы, замыкать-размыкать релешечки.
Я вижу возможным решением только: у нас есть DLL с протоколами, все каналы связи - эту DLL получают, затем достают протокол оттудова, генерируют клиенту JSON с ViewModel того что можно по протоколу делать, ну а дальше - работаем. А вот этот вот микросервис протоколов - выглядит, по моему, странно. Но может быть вы шарите лучше и поясните мне, как оно может работать.
29 2247698
>>247630
Через конструкторы.
Ahu--xGKIA.jpg149 Кб, 1120x356
30 2247699
Эту херню вообще возможно сделать? Фактор сортировки это типа якорь для быстрой сортировки? Просто подскажите куда двигаться. Ещё и как отсортировать не полностью, чтобы итератор выдавал отсортированное начало, и не тратил время на конец
31 2247701
>>247650

>райдер


Он платный. Ещё летом можно было продлевать лицензию через удаление пары файлов в конфиге, а теперь они прикрутили авторизацию на их сайте.
32 2247712
>>247701
Так и студия платная.
33 2247715
>>247712
И что делать? Писать в блокноте и компилировать в командной строке?
34 2247716
>>247641
>>247712
>>247715
Репорт джавапидору за щитпостинг
35 2247721
>>247664
С таким подходом бывают очень неприятные баги, когда в винде - все отлично работает, но разворачиваешь на сервере - хуяк, все по пизде пошло и ошибки всплывают там, где ты их вообще не ожидаешь.
36 2247731
>>247664
Как ты запускал ехе-файлы в линуксе?
image.png72 Кб, 698x498
37 2247733
>>247357 (OP)
И в чем он не прав?
38 2247734
>>247733
Во всем прав
39 2247746
>>247733
Ни одного дельного аргумента кроме отсутствия VS для прыщей
40 2247748
>>247746
Всё по делу
41 2247749
42 2247766
А кто-то еще спрашивал, почему так долго не перекатывали предыдущий тред.
.png46 Кб, 643x655
43 2247788
>>247699
Я бы вот так сделал. В душе не ебу что хотят эти вот составители задания. По времени - не оптимально(если элемент не граничный - мы должны пройтись до того, который больше него и вставить). По памяти - не оптимально(создаем буффер для сортировки элементов). Зато просто и быстро реализуется.
44 2247801
>>247733

>в чем он не прав?


Перетолстил. Сработает разве что для тех кто программирование только в мемах видел.
45 2247869
После двух лет чистого бэка либо десктопа на .NET, тупо не могу делать ничего на фронте. Начинает тошнить от npm, css/html, обрубков JS/TS, если тут кто сейм? Я ведь вообще начинал фулл-стеком на разоре в энтерпрайз конторе, неужели фронт для меня таки закрыт и пути туда без боли нет? А ведь на .NET много модных молодежных вакансии - это таки фулл-стеки.
46 2247904
Есть аспнет кор сайтец, на нем есть авторизация на основе политик (+Idenity +Cookie). Я могу как-то в политике реплейснуть юзера (ClaimsPrincipal)? Мне иногда надо удостоверится, что у пользователя не отозваны/выданы права, для чего надо слазить в базу. Я знаю, что можно в событиях кук, но тогда будет лезть в базу при каждом запросе, мне такое не надо. Если я просто рефрешу SignIn, то разумеется, это работает только на следующий запрос. Есть способы это разрулить?
47 2247911
>>247869
Ну, тошнить-то тошнит. Но я стараюсь и в этом говне находить плюсы. Верстку правда я делаю на похуй, но кроме сеошников и мамкиных фронтов - никто не жалуется, потому что со стороны клиента-то оно одинаково выглядит, а эта вся семантическая хуйня - ну, идите нахуй, я бекендер, а мы вообще-то делаем тырпрайз хуйню, которая будет внутри корпаративной сети работать, какая еще нахуй сео-оптимизация, болезненные?
48 2247989
>>247749
Правда глаза колет..
49 2248063
>>247869
удваиваю, вот сейчас ищу работку без этой поебени бо с прошлой уже желчь идёт горлом
50 2248076
>>247788
Какое-то ебанутое задание. Спасибо, хоть за такое решение, а то отправил бы ничего
51 2248105
>>247672

>не костыляя протокол для сериализации этого протокола


А это разве не проще?
52 2248108
Как там дела с ботами обстоят, стоит ли писать, или лучше на питон посмотреть?
53 2248172
>>248108
С какими ботами? На чем умеешь на том и пиши.
54 2248225
>>247699
Что это и как тебя угораздило?
55 2248258
На макоси сисярп с неткором нормально работает? Какие камни в этом?
56 2248285
>>248258
Половина обучающих видео по . Net-у в ютубе на маках записано. Есть знакомые .net помидоры которые только на маках работают. Я не спрашивал, но сужя по всему они довольнфв. Даже сами майки на последних презентациях с собой эпловскую технику таскают. Так что думаю работает норм.
57 2248297
>>248285

>Какие камни в этом?


Самодовольство будет зашкаливать и свои пердежные газы нюхать начнешь.
58 2248606
Везде пишут что когда начинает работу сборщик мусора работа приложения полностью приостанавливается. Но как это возможно, если этого не видно? Приложение не начинает резко не работать несколько секунд
59 2248699
>>248606
Потому что сборка мусора обычно не занимает несколько секунд.
Но если тебе не верится в то что в доках написано вот пример. https://ideone.com/OVf7ew запусти сначала так, а потом раскомментирую явный вызов сборки мусора, разница в скорости работы будет заметна.
60 2248763
>>247699

>Фактор сортировки это типа якорь для быстрой сортировки?


>Ещё и как отсортировать не полностью, чтобы итератор выдавал отсортированное начало, и не тратил время на конец


Фактор сортировки - это как раз чтобы ты мог определить, где конец и какие данные можно считать отсортированными. А так - нормальное задание на джуна.
61 2248774
Я тут вот о чем подумал.
В шапку, как по мне, следует добавить гитхабы опенсорсных хороших проектов, типа Nancy, NetCoreServer, mono и собственно самого .Net и ASP.Net(предложите еще свои варианты)
Мотивация. Как по мне - многие нюфаги - не умают читать чужой код(да и где им учиться-то?). Плюс, они не умеют отличать хороший код от плохого. Изучение хороших репок - помогает в этом. Ты, как минимум - не будешь впадать в состояние первобытного страха, увидев проект на 200мб исходников и мыслью: Я лучше перепишу сам, чем буду в этом разбираться.
Да, скажите, что кто хочет - сам посмотрит. Но как по мне - на этапе: я уже что-то знаю и могу писать какие-то вещи, хочу посмотреть - человек еще не имеет насмотренности в плане кода, чтобы отличить хороший код от плохого и понимать, почему те или иные решения приняты. И в отличии от того же обучения в вузе - нет возможности смотреть как другие делают, спрашивать мудного препода, который пояснит что-то.
В общем. Что думаете насчет?
62 2248792
>>248763
Ну, я вот мидл. Я понял зачем нужен фактор сортировки, но мне настолько лень разбираться и городить что-то, что ИРЛ я бы сдела что-то в духе:
return inputStream.OrderBy(x=>x);
И на собесе бы я бы попросил показать, где в их проектах они вот такие вот велосипеды городят. Если не городят - то хули вы мне мозги делаете. А если таки да, то я бы сам сказал: Вы мне не подходите.
63 2249030
Почему в c# все дружно обновляются до последней версии, а на яве сидят на 8 лол?
64 2249033
Нужно быть душевнобольным хуесосом без малейшей симпатии к программированию, чтобы в 2022 писать на c#.
Просто сравните джаву с .NET (https://jdk.java.net/18/release-notes), который создавался превратился в прекрасного лебедя
65 2249051
>>249030
Винда сама обновляет дотнет. А если у тебя винда не поддерживает актуальную версию, то надо обновлять винду. Кто сидит на старых вёндах, у того вообще ничего не работает.
Каков план действий? 66 2249065
Вводные: РАБотаю прогером в SAP болоте, разрабатываю на Х++ (похож на шарф но не он). Есть пара проектов на шарфе на гитхабе (простенькие расширения для VS, для РАБоты надо было). Сейчас решил систематизировать знания по шарфу, так что начал по сути с нуля и читаю The C# Player's Guide в оригинале (просто на русском не нашел). Сейчас на разделе с ООП.

Цель: хочу укатить в гейдев прогером на той же юнити хотя бы.

Вопрос: хули мне делать дальше? Уже начинать пилить свое инди говнище для ПОРТФОЛИО, или пока рано? Что после той книги изучать? Я сам хотел литру по алгосам или по написанию не говнокода. Все правильно? Помогите мне!
67 2249070
>>249033
Ну ты то в шарпотред припёрся срать - только бы на джаве не писать.
68 2249125
>>249065
Наш тред ничего общего с геймдевом не имеет. Пройди в /gd/.
69 2249129
>>249030
Почему продолжают выпускать новые версии джавы если все до сих пор сидят на 8-й?
70 2249132
>>249065

>Что после той книги изучать? Я сам хотел литру по алгосам или по написанию не говнокода.


1) Шаблоны игрового программирования. Роберт Найстром.
2) Иди в /gd
71 2249151
Есть проект с List<Shit> ListOfShits, и я хочу попробовать сделать для него ГУИ на ВПФ, в котором будет листбокс, выводящий объекты ListOfShits, но если просто на него забиндиться, то изменений в листбоксе не будет.

Вместо List<T> лучше подходит ObservableCollection<T>, но... И даже если я заменю, то потеряю в функциональности - например у ObservableCollection<T> нет Sort().

new ObservableCollection<Shit>(ListOfShits)? Но это же только скопирует ссылки, а изменений всё равно не будет.

У List<T> ещё и событий нет.
72 2249204
>>249125
>>249132
Ну с шарфом то связан мой вопрос... А на гд меня дружно проигнорили. Спасибо за помощь!
73 2249249
>>249204
Для юнити полно курсов и готовых минипроектов. Только не обучайся по видео с ютуба.
Знание шарпа тоже поможет, только внимательно чекай разные фичи и сахар. Многое в юнити не работает, да и версия языка запаздывает.
74 2249260
>>249249
Падажжи а как тогда обучаться? Вообще я планировал просто свой аналог галаги сделать с одной механикой, спиздив бесплатных ассетов
75 2249277
>>249030
Вообще все не так однозначно, проектов на .NET 5, а тем более 6 довольно мало. Как мне кажется, во многих местах до сих пор сидят на коре с кусками фреймворка.

На яве 8 версия просто потому, что переезжать на новые версии смысла особого нет. Вот уже начиная с 17 версии смысл есть, так как спринг 6 будет поддерживать жабы начиная с 17 версии. А там может годика через 2 лум и вальхаллу подвезут, вот тогда начнется массовая миграция на новые версии.
76 2249283
>>249260

>Падажжи а как тогда обучаться?


https://learn.unity.com/ например. Книги по юнити тоже есть, курсов полно. Официальная документация тоже подойдёт.
Просто юнити прощает и поощряет невероятно припизднутые вещи. Поэтому существует множество инфоцыган, которые берут какую-нибудь типовую задачу, делают по принципу "ну работает же", записывают видос с умными комментариями и оставляют ссылку на патреон.
77 2249335
>>249277
Массовая миграция с жабы на новые версии дотнета, пофиксил. Видел бенчмарки, жабий спринг во всем проигрывает asp net core. Это если помнить, что в жабью виртуальную машину десятки корпораций вкладывались ресурсами, а на выходе такой жидкий пук получается спустя 25+ лет, пока майки считай в соло дотнетом занимались
78 2249354
>>249033
Это что, сайт из девяностых?
79 2249359
>>249283
Аааа... в этом смысле. Этот сайт знаю, 30% их курса прошел, сейчас особо времени нет. Но спасибо!
80 2249377
>>249033
Кекус, перефорс поста из джава тред
81 2249387
>>249377
Хоть кто-то понял
82 2249401
>>249335
Переписать код со спринга на asp.net будет тяжеловато, имхо.
А жабий спринг медленный потому что там под капотом буквально все завязано на рефлексии и прочей магии, которая обеспечивает работу DI. Да и к тому же сам томкат сервер не шибко быстрый сам по себе.
83 2249413
>>249151
Ты всегда можешь написать свою коллекцию, реализующую NotifyCollectionChanged. Внутри можешь использовать тот же лист. Но вообще тебе стоит погуглить, как это делается в впф. Что-то я смутно припоминаю, для листвью и прочих контролов есть вариант сортировки на стороне вью.
84 2249421
>>249151
>>249413
Во, вспомнил есть ListCollectionView, которое и сортировку может и INotifyCollectionChanged с INotifyPropertyChanged реализует.
85 2249511
Как средствами EntiityFramework получить значение встроенной функции?
Вот, допустим, у меня есть какая то таблица, в ней есть ID, я хочу получить максимальный ID этой таблицы.
Средствами sql все просто - SELECT MAX(ID) FROM Table_Name, а с энтити всё геморройно.
Да, можно прямым способом,
int id = context.Table.ToList().OrderByDescending(t => t.ID).First().ID - но это ппц какой удар по производительности, если строк много.
Есть вариант создать некую промежуточную сущность
class MaxID {public int Id{get; set;}
и написать код типа этого
int id = context.MaxID.FromSqlRaw("SELECT MAX(Id) as Id FROM Table_Name").FirstOrDefault().Id;
Это работает, но тогда создаётся в бд лишняя таблица нахуй там не нужная. А если на класс повесить атрибут [NotMapped], то таблица не создаётся, но и код без таблицы не работает.
Есть варианты, что можно сделать?
изображение.png1,2 Мб, 665x987
86 2249543
Не спрашивайте, при чём тут сишарп, просто тут толковых людей много, хочу именно у вас спросить.
А вы как-нибудь документируете ваши баги и архитектурные косяки? Какой софт для этого используете, если используете? Какие вопросы себе задаёте, когда описываете допущенный именно вами баг? Возвращаетесь ли к чтению этих описаний, или исправили, описали и забыли?
Моя идея в том, что если задавать себе, помимо вопросов о том, в чём именно баг и как его надо исправить, ещё и вопрос "почему же я затупил", и "как не тупить подобным образом в будущем", то можно навести чуть больше порядка в своей голове и в итоге пореже ходить по граблям. Вот только не совсем уверен, что это сработает.
87 2249556
>>249543
Нет, у меня 99% багов - не тот символ поставил, не с той переменной сравнил и т. д. От невнимательности короче. Что тут документировать? Архитектурные просчёты - тут тоже бывает скорее из за незнания каких то нюансов, допуск подобных сам проходит, когда разберёшься.
88 2249563
>>249543
95% багов которые у меня были, сдетекченные на этапе тестирования - из-за моей невнимательности и отсутствия четкого ТЗ с тем что нужно.
Допустим. Сказано: держать соединение с клиентом, но при этом, если клиент не выходит на связь при пинге, считать соединение потерянным. Окей. Я делаю: отдельный тред, который по таймеру проверяет время, когда был последний сеанс связи, если истек таймаут - пингую, если в течении заданного в настройках интервала не пришел ответ - считаю что связь утеряна. НО оказывается-то, на заводе производителе - забыли это во многие железки заложить, потому - вот эта вот модель устройств - не отвечает на пинги и сама наоборот шлет пинги мне, я должен отвечать. Мне это кидают в багтрекер, только, блядь, ни в ТЗ, ни в тех доках устройства про это нет, просто вот тестировщики - знают про эту особенность ряда устройств, а я - нет, не знаю, вынужден это узнавать из баг-трекера.
Так вот. Моменты с невнимательностью - не фиксирую никак. Это обычно 1 строчка исправлений, потому похуй.
Моменты с отсутствием информации - фиксирую в текстовом файлике в проекте в папочке DOC для проекта и комментаторами в коде в духе:
// Едрить его в корень, оказывается надо вот так, потому что вот так вот
Относительно архитектуры - нигде не фиксирую, разве что в коде - говеные решения помечаю TODO для рефакторинга.
89 2249616
>>249556
Но ведь этих багов тоже можно было бы избежать. Какие-нибудь там линтеры или статические анализаторы кода могли бы помочь, например. Или сразу написанные тесты.
>>249563
Ясно.
Я в общем-то примерно так же действую, но у меня иногда бывают баги не просто по невнимательности, а из-за неверных предположений, которые я сразу мог бы опровергнуть, если бы логически докопался бы до истины.
Ну вот например, очень тупой баг. Фиксирую изменения в неком каталоге. Если файлы в нём исчезают - добавляю их имена в список удалённых. Если изменяются или появляются новые - добавляю их в список новых. Суть в том, что создать что-то вроде инкрементального бэкапа. Вот только почему-то я предполагаю, что этих списков достаточно. А по факту файл может быть сначала удалён, а потом может снова появиться. В итоге дважды фиксируя изменения получаю хрен знает что. Логически можно было бы подумать, что изменение может быть либо туда, либо обратно. Либо файл удаляем, либо обновляем. Но не то и другое одновременно. Стало быть, если он всё-таки появлялся и удалялся, то из первой фиксации изменений данные об удалении или добавлении надо выкинуть. Но я почему-то об этом сразу не подумал. Подумал чуть позже, и в итоге обнаружил, что бэкап-то уже кривой, пришлось руками чинить.
Невнимательность - да. Чёткое ТЗ отсутствует - да. Может быть, проблема в том, что я начал пилить решение раньше, чем полностью продумал его. Но заранее полностью построить решение в голове как будто бы трудно. Не знаю, это нормальное явление, или мне лучше в таксисты пойти?
90 2249644
>>249616

> это нормальное явление


Нормальное. Нужно максимально уточнять что от тебя хотят, долбя разными сценариями взаимодействия с твоей системой. Да, когда будешь совсем-совсем старым сеньером и все эти сценарии уже миллион раз делал - какие-то общие вещи можно не уточнять, но, я так понимаю, ты не древний сеньер-помидор, а задача для тебя новая, а потому что-то не понимать или не учитывать - норма. Для того и существуют разные этапы разработки. И да, сейчас проблема в том, что программисту говорят в общих чертах, что от него хотят, в итоге ты - идешь с завязанными глазами, доверяясь интуиции, и всегда оказываешься крайним из-за того что что-то не предсказал. Просто запомни это, в следующий раз - будешь знать что вот в таком сценарии нужно еще и это учесть.
91 2249652
>>249511
context.Table.Max(i => i.Id)
92 2249757
93 2249777
>>249652
Ну, в целом да, спасибо, работает. Показал как сделать это средствами Еф. Правда тестирование показало что выполнение через встроенную функцию раз в 15 быстрее, но тут уже никуда не денешься..
94 2249839
>>249777
Чивооо? Это транслируется ровно в тот же sql запрос, что ты приводил. Посмотри в логах. Но а если ты сравниваешь скорость выполнения зароса в базе со скоростью выполнения запроса + маппинг да всё это с включенным чейнж треккером, то чтож, земля пухом.
95 2249901
>>249151

> у ObservableCollection<T> нет Sort().


Как так вышло?
96 2249961
Стажёр в крупной компании=Джун в обычной?
97 2250011
>>249961
Нет, наоборот. В большой компании ты можешь будучи стажером и даже джуном, первые месяцы нихуя не делать, почитывая мануальчики на онбординге. А потом еще полгода будут подтирать сопли.
А в обычной конторе джуном тебе максимум неделю дадут на то, чтобы въехать, а потом ебашить начнешь. А стажеров туда обычно не берут, а если и берут то таких, на которых сразу пахать можно.
98 2250066
>>249901

>Как так вышло?


А зачем оно там?
99 2250068
>>249839
Ну я про это и говорю, что EF по умолчанию будет много всякого тормозящего но иногда полезного делать. Наверно, кстати, это поведение можно и переопределить, но не уверен что мне настолько хочется лезть в эти дебри.
100 2250130
>>250068
Пока что выглядит всё так, что ты вообще не понимаешь, о чем говоришь. Если EF делает что-то лишнее на твой взгляд, то тебе в этой задаче EF не нужен. Поскорее бы тред утонул снова.

другой анон
101 2250151
>>250130
Начнём с того, что EF по сути - это синтаксический сахар. Нет ни одного случая, когда нельзя обойтись без EF и не сделать всё силами чистого sql. Цель EF - писать более лаконичный код. Ну и позволять более умным людям заботится о тех вещах, о которых ты мог забыть или не знать.
И делать что то лишнее - он вполне может. Вот как пример. Недавно пришлось работать с sql, которая была подключена как linked server к серверу, к которому у меня был доступ. И не секрет, что EF обёртывает все изменения в бд - в транзакцию. И вот при такой работе как с linked server - для работы транзакций нужно для каждой сессии добавлять set xact_abort on, иначе вылетает эксепшн. В целом то это реализуемо, но если транзакция по смыслу не требуется, то EF добавляет лишнее усложнее (Ну и ещё надо учитывать моё время и нервы, пока я в этом разобрался).
102 2250173
>>250151

> EF по сути - это синтаксический сахар


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

> Цель EF - писать более лаконичный код


EF -- довольно стандартный ORM. Цель его -- быть ORM, то есть быть адаптером между РСУБД и ООП-языком.

> но если транзакция по смыслу не требуется, то EF добавляет лишнее усложнее


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

Также хочу обратить твоё внимание, что всё сказанное выше справедливо для всех полноценных и зрелых ORM. То есть это не особенности EF, это особенности целого класса инструментов. Ты просто не понимаешь, зачем этот инструмент нужен и сравниваешь хуй с пальцем. Повторюсь, поскорее бы тред снова утонул.
103 2250186
>>250173

>ы просто не понимаешь, зачем этот инструмент нужен


Если бы инструмент был нужен только для одной цели - там был бы один метод - Выполнить. А так как там туева хуча разных настроек, опций, возможностей и т.д. - то целей его применения может быть дохерища. И да, вполне возможно что то из его базовой реализации мне не нужно.
104 2250231
>>250186

> Если бы инструмент был нужен только для одной цели - там был бы один метод - Выполнить.


Ты не понимаешь сложностей склеивания ужа с ежом, то есть реляционного мирка с объектным. ORM решают довольно сложную задачу, поэтому там много нюансов и сценариев, в которых хочется всё вручную решить. По-другому никак, они сделаны из компромиссов. Я не хочу тебе это объяснять, потому что это уже лет двадцать в интернетах со всех сторон обсасывается и все трудоустроенные аноны из этого треда должны бы понимать, зачем ORM нужны и какие проблемы решают.
105 2250234
Я когда писал на РНР, то всё делал через прямые запросы MySQL типа "select * from table_name where column_name = 'something'". Так что все эти надстройки для торопыжек, кому лень написать sql-запрос.
106 2250248
>>250234

>select *


Ух бля
107 2250304
Как понять, какие должны быть интерфейсы у объекта, чтобы его можно было биндить в ВПФ?
Например, чтобы забиндить ListBox к коллекции с отражением изменений, нужны:
- System.Collections.Specialized.INotifyCollectionChanged
- System.ComponentModel.INotifyPropertyChanged
Но это я смог понять, изучая ObservableCollection<T>. А "нормально" как?

>>249421
ListCollectionView это, как я понимаю, класс не для хранения данных, а для вывода в ГУИ.

>>249901

>Как так вышло?


Это ж BCL, откуда мне знать.
108 2250325
>>250304

>какие должны быть интерфейсы у объекта, чтобы его можно было биндить в ВПФ


Виндится всё.

>смог понять, изучая ObservableCollection<T>. А "нормально" как?


Зайти на мсдн и прочитать как работает система биндинга
https://docs.microsoft.com/en-us/dotnet/desktop/wpf/data/?view=netdesktop-6.0
109 2250332
>>250173

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


Да никто не знает, везде пихают этот дебильный термин, всё что угодно им называют. Откуда эта мода пошла?
110 2250334
>>250332

>Да никто не знает


И книг по впф нет, верно?
111 2250363
>>250334
Подскажи хорошую.
112 2250386
>>250363
Опять ты свое говно на 300 постов разводить собрался?
113 2250413
>>250332
Нет такой моды. По крайней мере, в моём окружении. Это только на двачах то и дело встречаются шизики, которые не хотят ни в чем разбираться и додумывают значения устоявшихся терминов по своим ощущениям.
114 2250436
А команда, генерирующая команду поменьше - это уже совсем?
115 2250440
>>250436
Это конечная.
116 2250450
>>250413
Ладно, я согласен, что синтаксический сахар здесь может быть неправильно использовать, поскольку этот термин должен применяться к элементам языка, а EF - это фреймворк.
Но всё таки, EF - фреймворк, который не делает (не должен делать по своему прямому предназначению) никакой полезной работы, кроме как позволяет не писать sql код, а работать с бд как с объектами.
Поэтому если сделать допущение, что синтаксическим сахаром можно назвать фреймоврки - то EF - первый кандидат.
117 2250466
>>250450

> Поэтому если сделать допущение, что синтаксическим сахаром можно назвать фреймоврки


На этом месте врач делает пометку в медкарте, закрывает её и просит увести тебя в палату.
118 2250620
>>250450

>Поэтому если сделать допущение, что синтаксическим сахаром можно назвать фреймоврки


Так можно додопускаться, что любой ЯП является синтаксическим сахаром по отношению к байткоду. Только вот зачем?
119 2250663
>>250386
Нет, просто спрашиваю хорошую на твой. Я находил только совсем старьё сомнительного качества и что-то вроде бы неплохое, но в каком-то глазоебательном виде.
120 2250730
>>250663
У меня была какого макдональдса, не скажу что очень полезно, но какие-то моменты там вычитывал. Но МСДН лучше.
121 2250851
Осознал, что не могу ничего юзать кроме дотнета, хотел запилить имиджборду, сделал всё красиво на бэке, а фронт так и не смог осилить. Грустно, хотел фул-стеком в одно ебло потом продукт какой-нибудь сделать.
122 2250858
>>250851
TypeScript, не?
123 2250869
>>250851
Сделай нативный клиент
124 2250877
>>250858
Не помогло, я делал React/TS, меня вся экосистема фронтовская выбешивает.

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

Похоже прийдеться терпеть.
125 2250882
>>250851
Blazor?
126 2250885
>>250882
Есть книги по нему?
127 2250887
>>250882
Наебнут опять. Они поиграются и выбросят. Кароче пойду дальше редукс ковырять.
128 2250888
>>250877

>Не помогло, я делал React/TS, меня вся экосистема фронтовская выбешивает.


Меня по началу от реакта тоже тошнило прям. Но потом поработал и немного пообвыкся. Правда только на той версии что на классах. Та что на хуках, до сих пор омерзение вызывает.
129 2250916
Пчелс, с какой книги начать? вкатывальщик с небольшим опытом пет-проектов в джаве (spring), но она заебала (ибо пидоры какие-то там спринг и всю хуйню писали)
Троэлсен норм вариант? Или может курсы от хохлов из itvdn?
130 2251004
>>250877

> кому нахуй нужен сегодня нативный UI.


Как бы любым адекватным людям? Для телефона это норма, а на компьютере их не хватает, все делают кривые уродские лагающие сайты. А у тебя будет няшка на Maui
131 2251029
>>250916
По шарфу нет хороших книг. Совсем.
Это тебе не как в джаве с её великолепными шедеврами вроде двухтомника Хорстмана или философией Эккеля. А Блох?
Эх, хоть сами пиши книги...
132 2251031
>>250916
Троелсен норм, из того что есть
133 2251039
Легко далось изучение асинхронности, многопоточности, делегатов и событий и всего всего, но ебаный yield return никак не дается. Есть какой-то источник, разжевывающий эту конструкцию для совсем идиотов?
134 2251044
>>251039
Если что то по основам шарпа с примерами хорош этот ресурс
https://metanit.com/sharp/tutorial/4.12.php
В глубину он не часто лезет, но и побольше большинства чисто справочных
135 2251047
>>251039
Напиши простой код:
yield return 2;
yield return 3;
и посмотри каким нибудь ILSpy'ем во что это превращается, и вся магия пропадет

>Легко далось изучение асинхронности


async/await? Довольно странно, там компилятор изъебывается намного сильнее и извращеннее. чем при yield
136 2251050
>>251047

>async/await


Хотя бы понимаешь, для чего это нужно и когда применяется. С yield что-то затупил, а тут еще iAsyncEnumerable какой-то появился.
137 2251054
>>251050

>для чего это нужно и когда применяется


если на пальцах
async/await - чтобы не пердолить руками продолжение задач
yield - чтобы не пердолить руками enumerator'ы
138 2251091
>>251004
Но тогда на старте iOS/Android отпадут. Уже не говоря про windows only.
139 2251101
На меня вышли через знакомых с предложением написать проект. Вычисление стоимости строительных конструкций, справочники, возможно система аутентификации, графический интерфейс, а так же мобильная версия приложения. Попросили сказать, во сколько это обойдется.
Как блять вычислить цену? В своей конторе я получаю 8-10 долларов в час. Наверное легче всего оценить время разработки и подсчитать по тому же тарифу, что получаю на работе?
Так получается где-то 7-8 к долларов
140 2251109
>>251101
Ну учитывая, что ты будешь один за всех на этом проекте, то надо повышать ставку. И тут вопрос. а ты можешь адекватно оценить время на проект? Я бы вот не смог.
141 2251112
>>251091
Шизик, не начинай.
142 2251118
>>251109
Нас будет двое. Повышать ставку нужно бы еще за то, что я нихуя не шарю в мобильной разработке, планирую написать WEB API на core, потом подключить к мобилке с помощью флаттера или реакта. Думаем закончить за 3-4 месяца минимум.
143 2251125
>>251101

>Как блять вычислить цену?


Отошли ТЗ в различные конторы и фрилансерам и посмотри сколько времени они запросят, и сколько денег.
144 2251127
>>251112
Не начинать про что? Про что UI на шарпе виндовс онли, если делать без веба? Давай притащи ещё свою проститутки авалонию.
145 2251131
>>251125
ТЗ еще написать нужно самому. Фрилансеров дотнетчиков в наших краях сложно найти, одни php-нишки кругом, а они и за шаурму работать готовы
146 2251139
Недооцененная годнота, автор постоянно фиксит до актуальной информации:
https://metanit.com/sharp/tutorial/
147 2251212
>>251101
Тут счёт на миллионы идет и полгода разработки очень слаженной командой из трёх-четырёх человек, не считая аналитика.
148 2251214
>>251139
Ну вот на самом деле - хуй знает.
Я в вузе когда учился - как раз на метанит часто заходил. И вот например с событиями - было нихуя не понятно.
Вот цитата оттуда:

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



Вот какой, блядь системе? Как они сигнализируют и вообще что это должно значить-то, блядь?

Понимать как оно работает, я стал исключительно после того, как в вузе на плюсах, в ходе написания курсача - сам изобрел издатель-подписчики. Потом таки дошли руки и прочитал про паттерны. А вот на метаните - было нихуя непонятно. Просто пиздец.
149 2251248
>>251212
Вот они, современные менеджеры.
Я б сделал в соло за месяц работы и месяц опытной эксплуатации. Деньги - 200к в месяц, итого 400к (если б у меня работы не было).
Ну если нужен прям красивый интерфейс - то плюс работа художника.
150 2251251
>>251214
Метанит - это всё таки глубокий туториал, а не прям справочник.
Из плюсов - вполне по примерам оттуда можно писать рабочие программы.
А создание высоконагруженных и многопоточных систем - это да, в другом месте копать надо.
151 2251255
Оказалось выпилили компиляцию "в один файл" в 7 винде. Интересно специально, ибо на Net 5 работало или же правда какая-то техническая сложности погнать всех обновлять ос :)
152 2251260
>>251251
глубокий туториал
Поверхностный ткториал а-ля квикстарт.

>писать рабочие программы.


Doubt. Разве что хэлоуворды. А так шаг в сторону и всё - сел в лужу.

>в другом месте копать надо


Да в общем-то нет такого места где есть всё, придется много где рыть.
153 2251269
>>251255
Даже если и есть техническая возможность сделать это на 7 (хотя наверняка заюзали что-то, что есть только в 7+), то нет смысла поддерживать то, что уже не поддерживается. Это же все равно будут затраты человекочасов.
154 2251273
>>251248
Я хотел отдельно для доёбщиков написать, что это можно в соло за месяц-два-три сделать, если сам разработчик и хорошо владеешь предметной областью, имеешь в ней опыт, а ещё тебе это интересно, но тут явно ситуация не такая. Кабанелло хочет йобу для бизнеса, которую вряд ли сформулировал на уровне, пригодном для разработки. Кабанелло ищет разработчиков по знакомым, так как не понимает нихуя в разработке как отрасли и действует так, как если бы искал разнорабочих подешевле.

Кабанелло проебёт деньги и в лучшем случае получит криво работающий MVP, который на самом деле никакую конкретно полезную функцию не выполняет.
155 2251296
>>251269
Ппц ты недалекий уровня офисного планктона. А вообще, твое мнение не несет никакой полезной информации, так как ты не в курсе проблемы. Это как ответы на мэйл ру.
156 2251310
>>251296
Заходи еще.
157 2251331
>>251273
Ну вот это да. Ко мне тоже неоднократно выходили с предложением написать ёбу для своего бизнеса.
Когда я пытался с ними сесть и детально обговорить техзадание - почти все резко ливали на первых шагах.
В итоге все хотят себе раба, который будет пилить все их хотелки за копейки.
>>251260
Программа - понятие растяжимое. Вот что то работающее для такой вот строительной программы - очень даже.
Конечно профессиональный продающийся инструмент - нет.
158 2251339
>>251248
Таких пидарасов раньше называли штрейкбрехерами и ноги ломали после работы
159 2251344
>>251339
А таких как ты - называют Путинворами
IMG20211229142537.jpg91 Кб, 1440x377
sage 160 2251365
161 2251369
>>251365
Еще бы, картинку с текстом в жпг сохраняет!
Рассказывай подробнее. Мы тут любим грязные сплетни.
162 2251370
>>251331

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


Потому что они не знают чего хотят.
Типо сделайте мне красиво и шобы работало и шобы деньги приносило.
По этому надо сразу брать предоплату за составления тех задания, что бы заказчик был на крючке.
Ты не возьмешь ну значит другие возьмут.
163 2251387
>>251369
Это сяоми, нигде нельзя поставить png. Что тут рассказывать, уже второй месяц пошёл
164 2251396
>>251369
Двачую.

>>251331

> В итоге все хотят себе раба, который будет пилить все их хотелки за копейки.


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

>>251248
А когда кабанелло не может и не хочет сам думать, он покупает целую команду и она ему реализует проект, который будет работать и который даже принесёт многоденег, если кабанелло угадал с фичей и если команда правильно её проанализировала и реализовала. Причем, прибыль может быть не прямая. То есть задумка кабанеллы может не приносить прибыль напрямую, но окажется хорошим конкурентным преимуществом, которое привлечёт много новых клиентов в бизнесу. За это и платятся миллионы, в реальности так всё и делается. А два месяца и 400к в одни руки -- это фантазии.
165 2251400
>>251387

>Что тут рассказывать


Как ты обосрался конечно же.
166 2251405
>>251370
Ну, я в целом не против, что б этот геморрой

>В итоге все хотят себе раба, который будет пилить все их хотелки за копейки.


взял кто то другой.
Ну а то что либо тот кто возьмёт имеет либо скилл разруливать такие ситуации, либо имеет в штате чувака что разруливает такие ситуации - ну что ж..
Гей шлюхи тоже дорого берут, но это не значит что я бросаю всё и иду в гейшлюхи.
167 2251414
>>251405

>Гей шлюхи тоже дорого берут, но это не значит что я бросаю всё и иду в гейшлюхи.


Профессии отличаются только записью в трудовой.
168 2251421
>>251396
Хорошо, если у тебя есть варики с такими кабанелло, который может заплатить несколько лямов.
А если не может?
Вот мне встречалась хозяйка небольной ветеринарки с зооаптекой. Лично знаю её, миллионы не таскала, так как не дс, но на жизнь хватало.
Приходила с предложением сделать ей экосистему. Что б были модули учёта и ведения клиентов, работы персонала, расходования материалов и товаров, а также онлайн запись клиентов.
Примерно то что хочет этот кабанчик, только без мобильного приложения.
В целом мы в цене всё таки не сошлись, она хотела за копейки, а у меня времени нет. Но если б раза в два подняла предложение, я б сделал. А с подходом как у этого еврея - даже близко было бы без шансов.
169 2251439
>>251421
Малому бизнесу нужна готовая CRM и местный интегратор, который занидорага всё настроет и будет обслуживать.

> Что б были модули учёта и ведения клиентов


CRM.

> работы персонала


CRM.

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


ERP очень типовая конфигурация 1С, один хуй вся бухгалтерия через него у неё проводится.

> а также онлайн запись клиентов


CRM.

В этой истории встретились Биба и Боба. Биба думала, что для её очень стандартного бизнеса нет готовых инструментов. Боба всерьез готов был делать свой велосипед.
170 2251445
>>251439
Варианты с CRM были и ей предлагали, только управляемые как раз вот такими евреями. И стоило это дороже того варианта, который я был бы готов сделать. И без некоторых фич.
Собственно с этого и началось, что она пришла с буклетом, сделать примерно также, но без красивостей.
171 2251460
>>251405

>взял кто то другой


Другой взял но уже не за копейки.
Это как в автосервисах, клиент объездит 10 сервисов +- цена у всех одинаковая, и за копейки ни кто не работает. Клиента получит тот кто с него первый возьмет предоплату.
172 2251466
>>251460
А потом окажется что этот клиент за свои бабки тебя и выебет.
Конечно если ты и не против читай - умение разруливать такое - то поздравляю.
Я предпочту работать с лояльными клиентами.
173 2251488
>>251466
Бля пытался найти статью но не нашел.
Корочи смысл был таков.
У чела было $50к, и идея. Сервис в котором люди могут взять обзор на машину которую хотят купить.
Например видят что тачка продается в другом городе, заказывают на нее обзор, специально обученный человек идет и проверяет тачку, ну там не бита не крашена. Вся инфа сохраняется и потом выдается другим людям. Сайт +моб приложение.
Обратился он в компанию.
2 года разработки, ни денег ни приложения.
Пошел в суд, суд отказал ему в компенсации.
Чел просто не знал что хотел. Вот у него была эта идея а как дальше хуй знает. Наверняка по 5 раз на дню придумывал что то новое что тормозило разработку.

Имхо нужно сразу брать предоплату хотя бы $100 за составление тз. После того как ТЗ составили уже договаривается о цене. Как только договорились о цене то изменение тз влечет и увеличения стоимости разработки. А там уже поебать, пусть в конвульсиях хоть бьется, деньги то он платит частями, заплатил работаем дальше, не заплатил то пусть идет нахуй. И если клиент платит 3 копейки то и получает сервис за 3 копейки.

Лет так 7 назад на пьянке как то чел попросил смогу ли я ему запилить сайт. Ну я сказал хули там конечно смогу. Он попросил типо интернет магазин автозапчастей. Ну я накинул что во первых надо ИП, хостинг, домен. Так как дело в рб происходило в то время хостинг и домен уже влетали в 50$. Подключение сервисов оплаты. Заполнение каталога. Разработка дизайна. И это просто что бы был. А на рекламу еще тыши даларов. Ну вот после этого всего он ответил "Понятно, значит не можешь.".
Просто у него в голове созрел план а как реализовать его он хуй знает.
174 2251494
>>251488
Я не спорю, что такой подход норм. Но это как отдельный скилл - умение и желание общаться с людьми, разжёвывать, составлять сметы, настаивать на своей позиции при оплате и т.д. С этим навыком - можно вообще программировать не уметь. У меня вон пол организации аналитиков таких.
У меня нет ни умения таким заниматься, ни желания. И без этого программированием на хлеб с маслом заработаю.
175 2251577
>>251405

>гейшлюхи


В 30 лет есть шансы вкатиться?
176 2251688
Почему один и тот же json newtonsoft может преобразовать в структуру, а стандартный нет? Просто выдает пустой объект, без ошибок
177 2251731
>>251688
Потому что никакого стандартного не было. Майки его просто не добавляли, везде был свой зоопарк для работы с Джейсоном, пока не появился Newtonsoft.Json, который стал де-факто стандартной либой.

С очередной версией фреймфорка корпорация опомнилась и заставила разрабов делать свой Ньютонсофт, что было ошибкой. Через пару лет они уберут опять системную ассембли для работы с json, поняв, что лучше уже не сделают. Не помню, недавно что-то майки ещё убирали со словами юзайте gRPC)) wcf?.
178 2251820
>>250877
Так ректал с тайпскриптом это интерпрайз мира фронтеда. 100500 зависимостей, вебпаки, гранты, хуянты, транскомпиляторы. Конечно с наскока такую порцию говна не получился съесть. Нужно было vue-няшу брать и на ванильном жс делать.
179 2251848
>>250885
Вот такая есть
https://docs.microsoft.com/ru-ru/dotnet/architecture/blazor-for-web-forms-developers/
Так же хороший плейлист с уроками
https://www.youtube.com/watch?v=xLv31QztIGE&list=PLrTvxXQSRKAMAotVG4HV5jwNScrhYepKc&ab_channel=MasterProgger

Так же вот это ахуенное видео
https://www.youtube.com/watch?v=09GKW8ajGWk&ab_channel=CodeFestRussia
Показывает простоту блейзора.

И почему вы думаете что технология умрет?
Как по мне сейчас все языки идут к упрощению. Блейзор как раз таки и упрощает разработку. Зная просто синтаксис C# разобраться в ней не очень сложно. А вот если посмотреть на веб формс то это просто пиздец какой то. Имхо мне там нихуя вообще не понятно.
И вообще я думаю майки стремятся все упросить. Поставил VS и прогай. не надо ставить апачи хуячи ножс сервера и прочию хуйню. Так сказать программирование для тупых.
Ну а если блейзор медленный то и похуй. 16g ram 10$ стоят.
Вообще сейчас оптимизация стоит на последнем месте. Главное быстрее выкатить продукт.
image.png33 Кб, 314x541
180 2251857
>>251054

>async/await - чтобы не пердолить руками продолжение задач


А если не использовать async/await, то пердолить что то вроде пикрилейтеда и постоянно вызывать Perform(), или выпердоливать коллбекового монстра?
181 2251896
>>251400
Да что тут рассказывать, какое-то ебанутое интервью по тестовым заданиям. Ну я попутал в некоторых местах, они вдвоем даже не знают толком что им нужно, как мне на это ответить
182 2251943
Проекты для портфолио выкладывать под mit лицензией? Всё равно эксперты лучше сделают с нуля. на всякий случай, я знаю что всем похуй
183 2252029
>>251848
Потому что во фронтенде React, Angular и Vue. Остального в дикой природе не существует. Кто возьмёт Blazor себе на проект, тот сядет на хуй, с которого нельзя будет быстро и безболезненно слезть. И тяжело потом будет новых разработчиков под эту хуйню находить. Буквально весь энтерпрайз понимает, что Blazor -- это игрушка, которую разве что в петпроджектах потыкать можно для разнообразия.
184 2252034
>>251943
GNU GPL
/thread
185 2252060
>>249065

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


Там зряплаты говно, нахуй это надо.
186 2252077
>>250011
Двачую. Все так и было. Был самостоятельным мидлом, которому техлид давал ебанутое задание и отправлял исполнять на месяц, ушел в корпорацию где ит отдел 2к рыл. Тут работаю по скраму. Так я тут только деградирую. Двигаю кнопки, изменяю сценарии в winform, пиздец короче.
187 2252129
>>249961
В крупные конторы стажеров нанимают преимущественно среди студентов вузов, которые неплохо умеют решать задачи на литкоде, но при этом во всяких кишках фреймворков не сильно разбираются, как и толком не умеют ничего делать полезного.
У обычных контор нет денег обучать стажера, который умеет только в алгоритмы, поэтому стараются взять джуна, который уже умеет писать какие-нибудь круды на asp.net/spring/node.js/go, но при этом пусть и не умеет в алгоритмические задачки. Как-то так, на мой взгляд.
188 2252198
>>251943
Под WTFPL+NIGGER
16400586762600.png53 Кб, 512x512
189 2252389
Здравствуйте, извините за заранее возможно глупый реквест. Говнокожу в рога и копыта приложения на wpf'e, уже есть относительно готовый продукт. Кабан захотел перевести этот продукт в веб. Начал пилить на асп.нет коре, опыта в вебе практически нету. Пока накидал фронт на бутстрапе, где-то половину или больше логики нужно будет переписать на js. Читаю мануалы по js'у - 80-90% похож синтаксис шарпа, все понятно, просто пробегаюсь глазами по нюансам.
Вопрос следующий - где можно почитать для максимально быстрого вката информацию про взаимодействие логики клиента (js) с асп сервером? К примеру мне нужно на нажатие кнопки обновлять картинки на странице (без обновления самой страницы), но я также не хочу их выставлять в виде заранее готовых урлов, я хочу чтобы к примеру js отправлял на сервер условный id, сервер записывал в бд действие клиента и отправлял сырую пикчу клиенту.
190 2252412
>>252389
Тебе нужно прежде всего перейти во-первых на TypeScript, во вторых взять фреймфорк из большой тройки: Angular, Vue, React.

Но Реакт всё таки для буйных, поэтому Ангуляр либо Вью остаются.

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

Есть ещё блейзор - но ты не верь что здесь пишут, мол будущее веба, это очередной UI высер от майкрософта, который умрёт через пару лет и прийдеться вилкой чистить упоминание этого шедевра в твоем резюме, как чистят веб-формс.
191 2252415
>>252412
Молодец, собрал весь тредовский щитпостинг от людей без опыта в один пост.
192 2252416
Вообще зачем майкрософт влошилась в blazor? Очевидно ведь, что очередная замена вебформам и сильверлайту (ровно как умершие jsp и апплеты в джаве), хоть и компилируется в webasm (кстати как? хочу почитать как оно там реализовано, неужели своего рода микро-clr встроена туда), вряд ли когда-либо взлетит.
193 2252418
>>252416
Говорят, что джава-аплеты возродят на вебассембли
194 2252422
>>252418
Джава апплеты мертвы уже наверное лет как 15, да и из самой jdk их полностью выпилили давно. Никто их возрождать уже никогда не станет, так как нет никакой необходимости крутить жаба код в браузере, когда есть js. Собственно, все эти апплеты, Flash, Silverlight сдохли давным-давно, потому что пришла эпоха джаваскрипта.
А webasm нужен для того, чтобы сложную графику отрисовывать, да и то, его почти никто не использует.
195 2252436
>>252415
Олежка, привет, ты ещё жив?) Ты до сих пор здесь сидишь, вот уж не ожидал.

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

> 80-90% похож синтаксис шарпа, все понятно, просто пробегаюсь глазами по нюансам


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

> Вопрос следующий - где можно почитать для максимально быстрого вката информацию про взаимодействие логики клиента (js) с асп сервером?


Во-первых, тебя интересует не JS, а TypeScript.

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

В-третьих, если нет и не предвидится отдельных сильных фронтовых ребят, лучше взять Angular. Тоже фреймворк (а не библиотека), тоже есть DI, тоже есть ощущение энтерпрайзного спермяка во рту. Только как можно раньше освой RxJS и не пиши бизнес-логику в компонентах. Говорю по своему опыту и коллег опыту. У нас был проект, где нам сделали опытные чуваки фронт на Vue, который мы заебались поддерживать и который переписали на Angular.
197 2252650
>>252389

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



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

это все делается через асинхронный джаваскрипт и технологию AJAX. Технология древняя как говно мамонта, недавно ее заменили на Fetch API (ну естессно индусы напилили кучу разных npm модулей поверх нее, к примеру AXIOS).
В общем для понимания того как это работает из под коробки, тебе нужно изучить как JS работает с DOM (ну это считай самые основы работы в браузере, т.е. буквально тебе нужно узнать как JS работает с ХТМЛ элементами на странице, как выбирает их и как изменяет их, как повесить на тот или иной элемент обработчик того или иного события), изучить как работает асинхронный JS (через промисы или асинк/авейты, что в общем тоже самое что и промисы только другой взгляд), а так же собсно изучить непосредственно сам Fetch API (ну или аксиос).
Грубо говоря, если не брать фреймворки всякие, при нажатии на кнопку срабатывает обработчик события, в этом обработчике посылается асинхронный запрос на сервер, там уже делается какая-то хуйня независимая от клиентской стороны, и тут же JS ловит ответ. Это может быть как и удачный ответ, так и ошибка, он может обработать оба в разных вариантах. И тут же ты ищешь элемент на странице, который хочешь изменить в соответствии с полученной информацией и тут же его и меняешь, никакого обновления страницы при этом не происходит.
Там все довольно просто и изучить при желании это можно за пару дней.

Тут говнари тебе зачем-то тайпскрипта насоветовали, но тайпскрипт здесь не при чем. Это все равно что посоветовать вижуал бейсик в вопросе про технологию .NET. Типа, ну да, может где-то и удобнее он, но это блядь просто блядь другой вариант описания, лол. Ну или в спринге вместо джавы посоветовать использовать котлин, типа, ну да, так красивее, но ответа на вопрос "как сделать это" не дает.
197 2252650
>>252389

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



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

это все делается через асинхронный джаваскрипт и технологию AJAX. Технология древняя как говно мамонта, недавно ее заменили на Fetch API (ну естессно индусы напилили кучу разных npm модулей поверх нее, к примеру AXIOS).
В общем для понимания того как это работает из под коробки, тебе нужно изучить как JS работает с DOM (ну это считай самые основы работы в браузере, т.е. буквально тебе нужно узнать как JS работает с ХТМЛ элементами на странице, как выбирает их и как изменяет их, как повесить на тот или иной элемент обработчик того или иного события), изучить как работает асинхронный JS (через промисы или асинк/авейты, что в общем тоже самое что и промисы только другой взгляд), а так же собсно изучить непосредственно сам Fetch API (ну или аксиос).
Грубо говоря, если не брать фреймворки всякие, при нажатии на кнопку срабатывает обработчик события, в этом обработчике посылается асинхронный запрос на сервер, там уже делается какая-то хуйня независимая от клиентской стороны, и тут же JS ловит ответ. Это может быть как и удачный ответ, так и ошибка, он может обработать оба в разных вариантах. И тут же ты ищешь элемент на странице, который хочешь изменить в соответствии с полученной информацией и тут же его и меняешь, никакого обновления страницы при этом не происходит.
Там все довольно просто и изучить при желании это можно за пару дней.

Тут говнари тебе зачем-то тайпскрипта насоветовали, но тайпскрипт здесь не при чем. Это все равно что посоветовать вижуал бейсик в вопросе про технологию .NET. Типа, ну да, может где-то и удобнее он, но это блядь просто блядь другой вариант описания, лол. Ну или в спринге вместо джавы посоветовать использовать котлин, типа, ну да, так красивее, но ответа на вопрос "как сделать это" не дает.
198 2252682
>>252389
>>252650
Алсо, ответ в большинстве случаев ловят JSом (ну и соответственно отправляют бэкэндом) не в виде TEXT/HTML, а в виде JSON (что-то типа XML, только проще). Т.е. на стороне ASP тебе нужно будет сделать обработчик запроса (get/post/и так далее, в зависимости от того что отправил JS) (даже не ебу как там в ASP все это делается пока, наверное какой-нибудь контроллер с экшонами, ну или как-то так) который в свою очередь что-нибудь сделает там в базе данных ну и направит ответ не в виде View (как в MVC), а JSON'чик. Это частично называется REST технологией, хотя REST это не только джейсончики и обработка запросов.

Собственно именно поэтому фронтэнд называют вешателями обработчиков на формочки, а бэкэнд - складывателями инфы в джейсончики
199 2252693
>>252558
Ангуляр выглядит реально монструозным комбайном и работает с такой же скоростью, не говоря о том сколько времени нужно запрягать хелоу ворлд.
Если видел админки гугловских сервисов типа адмоба или консоли гуглплей, они построены на ангуляре, и это типо один тяжеленный дашборд на сотни тыщ строк тормозного жс говна.
Для spa, которые юзаются как приложения это норм тема, но это подойдёт далеко не каждому сайту. Как и реакт, и вью, и тс. Только огромное преимущество вью, что не нужно тащить всю нодовскую экосистему чтобы юзать человеческие двусторонние байндинги. Просто подключенишь его через cdn как в старые времена без говняка и всё. имхо
200 2252813
>>252412
>>252558
>>252650
>>252682
Всем спасибо, буду ковырять этот ваш Fetch api.
201 2252818
Хули Ява так похоже, одни и те же слова
202 2252821
>>252818
Это не ява на шарпы похожа, а шарпы на яву так как создавались с оглядкой на него.
Тащемта все языки похожи друг на друга.
203 2252837
>>252818
хайпануть думали
204 2252905
Поясните за gRPC. В чем профиты по сравнению с православным json'ом ?
Стоит вкатуну его учить или можно просто ознакомится?
так с первого взгляда чет сложным все это кажется. Есть ли какая приблуда которая может конвертить обычные объекты в grpc ?
205 2253052
>>252818
Тебе надо было поменять местами типы и раздраконить конструктор? Шарп вдохновился джавой и плюсами. хера джава так похожа на плюсы, лол, пориджы
206 2253058
>>253052

>хера джава так похожа на плюсы


Ну джава действительно похожа на говно мамонта
207 2253117
Проверьте мои знания по многопоточности.
Не имеет смысла создавать больше Thread чем ядер у процессора. х2 если есть Hyper-Threading
Не имеет смысла создавать больше потоков чем ядер у процессора для операций требующих один поток, например запись файла. Имеется в виду что инфа которую пишем в файл уже есть и ждать ее не надо.
Лучше юзать Task чем Thread. Если точно знаешь зачем и почему тебе нужен Thread то тогда юзать его.
Таски надо юзать когда есть время ожидания ответа. Например HTTP запросы.

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

И правильно ли я понимаю, к примеру имеется 2 ядра на процессоре2 потока. Задача записать 10к файлов. Быстрее будет в цикле создавать по 2 таски и писать по 2 файла, чем просто создать 10к тасок и записать все файлы?
208 2253121
>>253117
Данные на жесткий диск пишутся последовательно, параллелить это не имеет смысла, только замедлишь.
Вот если запись на ссд там другая история.
209 2253124
>>253121

>Вот если запись на ссд там другая история.


А что за история? Разве не будет делить скорость запись на количество одновременно записываемых файлов?
210 2253199
>>251857
Ну, там со свичами стейтмашина генерируется.
Хорошее видео про это https://youtu.be/fi_N_ghu4Ug и https://youtu.be/U6h6p1tJ7XM
211 2253204
А вообще, в VS Code на C# нормально всё или есть херня? Просто VSS, ИМХО, жырная слишком, насчёт эклипсов и прочих не знаю, а жыдбрайнсы... Жыдбрайнсы, да.
h0asq1tnl5hz.png130 Кб, 512x768
212 2253259
Запилите противоположный мем, кому не трудно
image.png135 Кб, 1708x445
213 2253283
>>253259
Зачем, я почти уверен, если бы у них был честный сборщик мусора, то спринг бы удалялся сразу после запуска.
214 2253299
>>253283
Вот смотрю я на это и так и хочется запилить свой MVC'шный фреймворк на плюсах, просто чтоб все пососали. Но, к сожалению, понимаю, что в соло буду долго слишком делать. Был бы студентотой - таки запилил бы.
215 2253304
>>253283
>>253259
Чел пришёл за боевой картиночкой против шарпошиза, а его в шарпотреде встретил шарпошиз... Топ 10 сюжетных аниме поворотов.
216 2253309
>>253204
А щито поделать.
Для разработки машина должна быть достаточно мощной. Настолько, чтобы тебя вопрос размеров средств разработки не волновал от слова совсем.
217 2253324
>>253299

> Вот смотрю я на это и так и хочется запилить свой MVC'шный фреймворк на плюсах, просто чтоб все пососали


Пососал бы скорее ты, и делал это говно до старости или с кучей багов. Язык говно
218 2253345
>>253324
Тащемта "запилить" и "допилить до продукшен реди" — ахуеть какие разные вещи. И запилить в соло изи можно за пару-тройку недель.
219 2253348
>>253304
На картинке ГЦ удаляет жабу при запуске, чел просит наоборот. Но растодебилу не хватило даже на это мозгов, иди пиши свою утилиту cat.
220 2253359
>>253348

> картинке ГЦ удаляет жабу при запуске, чел просит наоборот.


Да я имел ввиду для c# тоже самое, а не наоборот, не так написал
16399974954570.png484 Кб, 750x548
221 2253361
>>253348
Спок, шарпошиз.

>иди пиши свою утилиту cat.


Мне-то зачем? Это у тебя на сперме её нет.
222 2253365
>>253361
Безработного раст-борщехлёба порвало))
Все уже зависимости в mod.rs ручками прописал? Все ошибки через хрезульт вверх пробросил? Нет? А ну бегом дописывать, а то останешься без стектрейса, средневековые долбики.
223 2253368
>>253361
Самое смешное, чтобы собрать раст на винде им нужно поставить билдер С++ из Visual Studio (или саму IDE).
Вот так челики победили С++.
224 2253369
Artboard.png210 Кб, 507x512
225 2253370
image.png45 Кб, 200x150
226 2253377
>>253370
Пьяный борщехлёб даже промахнулся и прожал пустой пост))
227 2253380
>>253377

>выёбистый шизоджун пытается в перефорс


Спок, макаба просто не поддерживает webp.
228 2253386
Шарпаны. В общем, вот и наступил 2022 год.
Желаю тем кто вкатывается - вкатиться в наш любимый .net. А тем, кто уже вкатился - офферов пожирнее и адекватных кабанчиков, которые будут ценить вас и понимать, что если фичу надо делать две недели, то ее нужно делать 2 недели!
В общем, успехов всем.
229 2253398
>>253380
Тогда зачем ты процитировал пустой пост, пьяный ты хаскелист.
230 2253403
>>253398
Потому что я могу, как и полагается чэду. А ты можешь сидеть и выцеливать конкретные посты, чмоня.
200c779b5340e288c06bc4cb912ba0bc.jpg8 Кб, 160x160
231 2253404
haskell.jpg246 Кб, 1024x768
232 2253409
>>253403
Ахах, чэд!
Да ты перепил, ща в драку полезет, борщепьянь
ac665e35cbe686b683af7cc3597d9f33.jpg23 Кб, 480x360
233 2253413
>>253409

>эти проекции борщехлёба


Спок, маня. Вкатится не сложно, у тебя всё получится.
234 2253421
>>253368
разве не кланг?
235 2253422
>>253398
то хс, то раст
237 2253427
>>253425
жесть, убийца плюсов юзает для сборки что-то от плюсов, так ещё и от МС вс
238 2253437
>>253421
>>253427
Кланга на шинде нет (официально), заводится только с кучей ебли.

А ещё на шинде ни LLD (линкера), ни LLDB (дебаггера), ни отладочных сибволов для рантайма и стдлиба и наверняка ещё вороха тулз, которые гугы и эплы не хотят пилить под винду, и для сборки нативных бинарников юзаются нативные средства, но шиза почему-то от этого рвёт.

>>253425

> так ещё и от МС вс


Не то чтобы был выбор. Можно конечно поебаться и собрать какой нибудь кланговский/гнушный тулчейн — но даже для их сборки придётся тащить MSVC ибо иначе ты с системными либами хуй чего слинкуешь, закрытая система как есть. Напоминаю: вендорлок — выдуманная хуйня.
239 2253438
>>253427
Ко-ко-ко мы убивцы С++
@
100500 страниц холиваров на всех форумов мира.
@
Прошло почти 7 лет с релиза.
@
Поставьте пожалуйста средства разработки С++, иначе мы не соберёмся у вас.
00be7861d215393ca559a8d342db1611.jpg83 Кб, 750x477
240 2253439
>>253438
@
ЕБАНЫЕ ТРАНСЫ ДАЖЕ ВЕНДОРЛОК НЕ МОГУТ АБАЙТИ!1
241 2253485
>>249065
Прорешай ulearn.me, толку больше будет чем от книжки
242 2253517
>>251139
Хули недооцененная то? Основной сайт вкатунов и не только
243 2253521
>>251139
Там всего пару разделов написаны до конца и обновляются. Большая часть - это 4-5 глав с инфой за 2015 год.
244 2253528
>>253437
Коварный МС не открывает нам коды линкера, чтобы мы могли стырить форкнуть код, который 7 лет написать сами не можем. Чет проиграл с этих угнетателей С++.
245 2253551
>>253528

>написать сами не можем


>написать уже написанный тулчейн для платформы


Давай трезвей и заканчивай подливить уже.
246 2253573
Вопрос по структуре папок.
Вот я, на данный момент, придерживаюсь правила: Неймспейс отражает структуру папок, а папки вложены друг в друга.
Ну, т.е. как-то так:
Папки Data->Migrations->Sqlite
Неймспейс получается Data.Migrations.Sqlite

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

Так вот. В ходе изучения репок я видел что некоторые делают так:
Data
Data.Migrations
Data.Migrations.Sqlite

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

В общем. Как вы организуете все это дело? Может быть есть какой-то третий путь, который не имеет недостатков этих вот?
247 2253585
>>253551

>гугы и эплы не хотят пилить под винду


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

Завязка на тулкит visual studio (6гигов) это фиаско, братан.
248 2253589
>>253573
Организуй все по папкам, используй хоткеи чтобы найти нужный класс/файл, вместо серфинга по структуре.
16410243201720.jpg64 Кб, 640x480
249 2253606
>>253585
Конечно ломать синтаксис каждые 2 года (чего не было уже 2 или 3 года) куда интереснее чем заниматься медвежьим трудом.

>Завязка на тулкит visual studio (6гигов) это фиаско, братан.


Фиаско винды, ты хотел сказать?
250 2253611
>>253606
Ну да, а редакции 2015, 2018 и 2021 года, так от балды.
Я помню еще был момент между реакциями что-то ломали, но уже не пруфану.
251 2253617
>>253606

>Фиаско винды, ты хотел сказать?


Где винда, а где твой SJW-программный код с пет проектами.
252 2253618
>>253611

>реакциями


редакциями*
16409425556720.jpg95 Кб, 800x764
253 2253622
>>253611

>Ну да, а редакции 2015, 2018 и 2021 года, так от балды.


А новые фичи по твоему ломают синтаксис?

>Я помню еще был момент между реакциями что-то ломали, но уже не пруфану.


Последний ломающий релиз был в 2018, за тебя пруфану
https://doc.rust-lang.org/edition-guide/rust-2018/index.html

>>253617

>пук сночала добейся среньк

254 2253629
Не кормите шизика, он ноулайфер нигилист, который отрицает любое мнение (во всех тредах) лишь бы пофлудить. Причем виляет жопой даже когда его откровенно тычут носом в факт.
255 2253666
Я тупой.
Поясните за DI в текущем виде в asp.

Ну, вот допустим, у меня есть класс. Я зарегал его как Scoped. Допустим в этом классе в конструкторе я прошу дать мне еще несколько классов. При этом все классы просют DbContext какой-то. Правильно ли я понимаю, что все классы получат один и тот же инстанс и если я в одном из классов руками закрою или задиспозю контекст - в остальных - он тоже будет задиспозин?
Просто у меня создалось впечатление что да.
256 2253731
>>253666
Тебе не ответят, слишком плохие цифры выпали. Попробуй сходить на исповедь в java тред.
257 2253790
Как работать со всякими библиотеками dll и so? Хочу с ффмпег поиграться. Может так больше контроля будет, чем через cli wrap и пайплайны
258 2253853
>>253666

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


А почему бы тебе не взять и не проверить ручками, как оно на самом деле?
259 2254085
Мне кажется микрософты ни когда не выпустят вижлу на линупс и не будет кроссплатформенных десктопных приложений. Всё это обман. Они купили Моно, чтобы его удушить, а не развивать.
260 2254088
>>254085
Пчел, VS нет нигде кроме винды и никогда не будет, потому что она написана на WPF. На маке там просто обрубок.
261 2254092
>>254085

>Они купили Моно, чтобы его удушить, а не развивать.


Моно они купили за полгода перед выпуском .NET Core, подумай зачем.

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


Не нужно. А как ты себе это представляешь? Все кросс-платформенные ГУИ - это дикий ужас, не говоря уже о том, что на выходе получается говно. Разве что джабаскрипт в вшитом браузере гонять.

Если мы даже говорим про шиндоус, то WinForms - едиственный вменяемый, не убитый, ГУИ фреймворк ноудискас, а ты кросс-платформенный ГУИ просишь.
262 2254096
>>253666

>все классы получат один и тот же инстанс


Если ДбКонтекст зареган как скоупт, то получат один и тот же.

>он тоже будет задиспозин?


Если это будет один и тот же объект, то очевидно, что да. Но не ты создавал объект, не тебе и диспозить. Плюс контекст обычно регают через специальный метод расширения, поэтому лучше посмотри для чего нужны и чем отличаются AddDbContext/AddDbContextPool AddDbContextFactory/AddPooledDbContextFactory.
263 2254099
>>254088

>На маке там просто обрубок.


На маке не обрубок, а другая иде, бывшая xamarian studio.
>>254085

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


Шизик, плиз. Во-первых, они уже есть, во вторых под пинус есть райдер.
bebe.png7 Кб, 648x290
264 2254100
Ковыряясь в либах асп коре, я вижу, что там много всего обвешано логгерами. Но почему оно не выводится даже при установленном логлевеле в трейс? Я могу как-то увидеть эти логи?
265 2254115
>>254100
Вроде настроил. Переместив конфигурацию логинга из appsettings.Development.json в appsettings.json. Хотя установлен "ASPNETCORE_ENVIRONMENT": "Development" и вроде как у appsettings.Development должен быть приоритет. Буду копать дальше
266 2254119
>>254115
Ладно, я всё понял. Пить надо меньше.
267 2254122
>>254099

>На маке не обрубок, а другая иде, бывшая xamarian studio.


"Другая иде" называется Visual Studio, очевидно что анон ожидает увидеть не полумёртвую кусок говна с 1/5 функционала студии и апдейтами раз в 3 года.

>Шизик, плиз. Во-первых, они уже есть, во вторых под пинус есть райдер.


1) Чел говорит про майкрософт;
2) У КРОССПЛАТОРМЕННОГО дотнета единственная нормальная кроссплатформенная иде написана на жабе, которую он убивает. Ару.
268 2254131
>>254092

>Не нужно.


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

>>254085
Вижлы точно не будет.
А в плане гуя, вроде есть какие-то потуги в плане нового тулкита:
https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/
https://github.com/dotnet/maui
что-то Flutter/SwiftUI подобное (т.е. react inspired, со всей жопаболью стейтменеджмента и лагами которую он вызывает).
269 2254140
>>254131
Шизик, что переписывтаь? Методичку обнови.

Те кто, кто писали windows-only b2b - им и так норм и никто ничего переписывать не будет.

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

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

Итог: никому по факту кросс-платформенный новый декстопный фреймфорк от майкрософта уже и не нужен.
270 2254142
>>254122

>иде написана на жабе


Все что жабе остается - обслуживать дотнет инфрастуктуру.
271 2254152
>>254140

>Шизик, что переписывтаь?


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

>нет и нинужна(9


Вот это аналитика рынка от энтерпрайз макаки.
272 2254153
>>254142

>дотнет инфрастуктуру


Которая настолько кросплатформенная, что через 20 лет на ней не написан даже тулкит для работы с ней. Ну прямо-таки новые жопаскриптеры, которых весь мир обслуживает, хех.
WindowsForms.jpg38 Кб, 667x230
273 2254157
20 лет разработки. Итоги.
274 2254171
>>254131
Как оно работать будет, если даже сейчас компилируются разные файлы в разных ОС? Надо будет отдельно для каждой ОС собирать свою сборку. В чём кроссплатформенность заключается и нафига тогда нужны виртуальные машины, если всё равно не совместимо?
275 2254183
>>254157

>20 лет разработки. Итоги.


В итоге даже не научился сборки подключать? Печально.
276 2254185
>>254183
Раньше она сама подключалась
277 2254186
>>254185
В консольном-то проекте? Ну-ну.
ReleaseBuild.jpg30 Кб, 615x142
278 2254189
Допустим, я написал свою прогу. Откомпилировал в релиз версии. И что мне вот все эти файлы надо передавать на другой комп, чтобы работало? Или можно выкинуть всё кроме ехешника?
279 2254193
>>254152

>цитируешь где там было что-то про переписывание



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


>одумается и пойдёт хуярить нативный софт



Имелось в виду, что никто никуда не пойдет ничего писать под нативный софт, потому что кому надо, уже давно это делают, а днище-конторы не нужны. Но психичка придирается к словам, ок.
280 2254195
>>254189
Только exe нужен, просто output папка одна у тебя, там и exe и файлы, которые нужны были для сборки.
ReleaseBuild2.jpg20 Кб, 617x110
281 2254211
>>254195
Не работает просто ехе. Методом научного тыка выяснил, что нужны 3 файла для запуска. Если хоть одного нет, то ничего не работает.
282 2254215
>>254211
А да, это другое, а не то, что я думал, давно не делал ничего для десктопа.

Попробуй инструкции из конца:

https://docs.microsoft.com/en-us/dotnet/core/deploying/single-file
283 2254216
>>253199
Ясно, спасибо. Теперь гораздо понятнее как оно работает. Только что точно можно оттуда почерпнуть так это то, что await генерирует таск даже, если ждать не пришлось вообще.
Но что тогда лучше делать, если скорее всего результат вернётся сразу?
Тянуть до самого верха async/await в логике, которая чаще всего выполняется синхронно?
Сесть и подумать как ты слепил говнину, в которой столкнулся с такой проблемой? Или это распространённый случай?
284 2254245
>>254215
А вот в Джаве можно собрать один jar-файл и он спокойно запустится без перекомпиляции на 7 миллиардов устройств.
285 2254293
>>254245
Почему тогда все приложения сложнее хелоуворда имееют отдельные дистрибутивы по каждую ос (dbeaver/smartgit/miecraft) даже если брать только бинарики без инсталлеров? Неудобно получается.
286 2254326
>>254193
Мало того что читать не умеешь, так ещё и писать? Хуёво быть тобой.
Ну раз уже тебе нинужна, то наверно оно так и есть.

>>254171
Да за тебя там скриптики напишут которы бандлы для систем будет раскладывать, проблем-то. Тащемта, вся кроссплатформа именно так и работает, а запустить где угодно скомпилировав 1 раз можно разве что консольную жава утилиту, кек.
287 2254375
>>254189
-Либо нужно рантайм .NET на компе,
-Либо собираешь все dll в одну папку
-Либо вообще все в один файл (не работает с Net 6 для 7 винды).
Но тогда твой хеллоу ворд в exe будет весит мегов 60, за то один exe.

Если хочешь распространять софт и пишешь под последний .NET, то нужен уже упаковывать в какой-то инсталлер, который будет предлагать ставить нужный тебе .NET (либо по аналогии боли С++, собирай в такой древний рантайм, который был бы у многих).
288 2254376
>>254189
-Либо нужно рантайм .NET на компе,
-Либо собираешь все dll в одну папку
-Либо вообще все в один файл (не работает с Net 6 для 7 винды).
Но тогда твой хеллоу ворд в exe будет весит мегов 60, за то один exe.

Если хочешь распространять софт и пишешь под последний .NET, то нужен уже упаковывать в какой-то инсталлер, который будет предлагать ставить нужный тебе .NET (либо по аналогии боли С++, собирай в такой древний рантайм, который был бы у многих).
289 2254382
>>254245
А вот если бы джава развивалась, то запускалась бы так же через экзешник.
290 2254394
>>254375

>либо по аналогии боли С++


Не понятно что за боли, но вместе с C++ но выглядит очень кеково.
291 2254412
>>254394
Где ты слово вместе С++ увидел? Речь про то, что последние рантаймы шарфа (и С++), не всегда у всех стоят, поэтому приходится собираться под древний рантайм.
292 2254413
>>254382
В жабе сейчас есть jlink и jpackage, и судя по постам выше это мало чем отличается от дистрибьюции .net высеров
мимо
293 2254416
>>254099

>райдер


Как его ломануть?
Снимок экрана 2022-01-02 в 17.24.50.png1 Мб, 1028x990
294 2254444
>>254099

>На маке не обрубок, а другая иде, бывшая xamarian studio.


Ахацхахфафхаахах умираю нахуй

Дотнет. 20 лет. Итоги.
14870561.jpg263 Кб, 900x900
295 2254447
>>254412
Я увидел

>боли С++


дислексик, пиздуй в библиотеку а не на сосаче сиди.

>Речь про то, что последние рантаймы шарфа (и С++)


Вот с этого опять крикнул. В плюсах рантайм 10-15 мб весит и линкуется к бинарнику одним флагом, что и кому там приходится?
296 2254452
>>254413
После инцидента с log4j, люди начнут в тройне осторожнее относиться к ноунейм высерам на жабе.
Без официальной поддержки, такое страшно юзать.
297 2254462
>>254452
А что сделать сборку для дотнета, её надо подписывать ЭЦП. А цены на ЭЦП ты видел? Одно Крипто-Про - цена половины проекта будет.
298 2254463
>>254447
То-то закачки "Visual C++ Redistributable Packages 201х" стали мемом
299 2254465
>>254462
Десктопщики должны страдать
300 2254479
>>254463
Какое-то наследие легасиговна видимо.

Можешь чекнуть —
https://docs.microsoft.com/ru-ru/cpp/windows/latest-supported-vc-redist?view=msvc-170
инсталлер с релизной и дебажной версиями + отладочными символами = 25 мб.
301 2254481
>>254452

> Без официальной поддержки


Йобу дал? Это официальный упаковщик, оракл это говно и ещё пару штук для дистрибьюции почти 10 лет пердолили. Но оказалось никому не нужно, потому что клиенской практически не существует.
14870561.jpg263 Кб, 900x900
302 2254483
>>254444

>2015: майкрософт покупает замарин, ЖАВА НИНУЖНА, ТЕПЕРЬ КРОССПЛАТФОРМА ПОД ДОТНЕТОМ!1


>2022: пук срень установите пожалуйсто моно иначе визуал студио фор мак низапуститца(9

image.png45 Кб, 200x150
303 2254503
>>254483
2020 год, жабисты все еще путают кроссплатформу дотнета
c IDE (которая даже не оригинальная visual studio).
Конечно Visual Studio и дотнет это же одно и тоже.
304 2254507
>>254444
Моно всё ещё на фреймворке работает? Они его не планируют на Core переводить?
305 2254644
А вы смотрите Сергея Берегового?
306 2254649
>>254644

>Сергея


*Степана
307 2254741
>>254644
>>254649

>Кто умеет, тот делает; кто не умеет, тот учит других.


Ни разу не видел чтобы кто-то что-то полезное выложил, везде рассказывают про базовые конструкции, ифы, типы, или же абстрактно болтают об высоком (абстрактном).

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

Ничего нет посмотреть по программированию. Либо новичковая параша, или бестолковые и скучные подкасты, от которых засыпаешь.
mCHKwdj8QdILYh8DzIOjYA.gif2 Мб, 540x540
308 2254756
>>254503

>нинужна!1


Ох уж эти манявры. Столько пиздежа, и по итогу единственная кроссплатформенная иде на дотнете — перекрашенный опенсорс проект на попенсорсной версии дотнета...
309 2254757
>>254507
Не ебу что они планируют, но что (моно/визуал/ксамарин) студия на моно работает — факт.
310 2254782
>>254756

>VS никогда не была кроссплатформенным.


>Джава баран пытается троллит тем, что VS не кроссплатформенный.


Либо додик перепил или пориджы совсем отупели.
311 2254784
>>254757
MAUI они пытаются сделать.
312 2254788
>>254741

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


А ты попробуй читать. Есть такая штука - книги называется.
313 2254807
>>254788
Мне нужен информационный материал по программированию, поридж предлагает учебный. изучай синтаксис до посинения
314 2254810
Признайтесь честно - линукс парню здесь делать нечего. Его знания не пригодятся. Все пропитано корпоративным духом винды. В каждой вакансии плюсом iis, sharepoint, и т.д. В хелловорлде интеграция с азурой. Нельзя как нормальных стеках начать с табула раза и по пути выбирать что тебе по душе, по карману и по карме.

https://www.youtube.com/watch?v=fn1R-5p_j5c
315 2254815
>>254810
@
40% новый пользователей в дотнете это следствие появления .Net Core.
@
Мягкие настолько вдохновляются, что делают core по умолчанию и объединяют все под линейками Net 5, Net 6.
@
Дотнетчики Net Framework ощутимо в офигивают.
@
Даже xamarin и mono пытаются привести к общему виду, максимально унифицировать интерфейс.
@
ASP.NET под линуксом показывает очень хорошие результаты на уровне неуправляемых языков - С++ и Раста. Спринг просто сосёт.
@
Но специалист из /зк, изучив объективные данные своего мухосраня, решил признаться честно за всю индустрию тупая макака из жабы пытается в троллинг, но очень глупа и поэтому получается только пук и среньк
316 2254817
>>254810

>линукс парню здесь делать нечего


Зато ему есть что делать там, где надо в жопу ебаться
317 2254820
>>254807
Пиздуй в тик-ток, поридж. Я уверен, что для вас даунят там уже есть какие-нибудь видосы "по программированию".
318 2254821
>>254815
Ради интереса спрашиваю, есть ли нормальные примеры проектов на asp.net core? Например что-то по типу https://github.com/spring-projects/spring-petclinic
Пока выходные хочу потрогать asp, может на него со спринга когда-нибудь перекачусь
319 2254824
>>254815
Я не джавист. Я хочу в серьезный стек свичнуться. Но сейчас объективно нельзя начать на net 6. Нужно знание кучи легаси и мухосрань тут не причем, все умеют пользоваться хх. Может лет через 5...
320 2254832
>>254784
Очевидная хуита для мобилок.
321 2254834
>>254815

>Даже xamarin и mono пытаются привести к общему виду, максимально унифицировать интерфейс.


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

> 40% новый пользователей в дотнете это следствие появления .Net Core.


По каким данным? От тех же маркетолухов, которые студию на всех платформах обещали?
322 2254836
>>254815

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


Ну анон выше пояснил за ненужность кроссплатформенного гуя, а этот пояснил за ненужность дотнета. Зк — это площадка свободомыслия для шизов, спок, фанбой.
323 2254837
>>254821
Был бы программистам, знал бы что есть поиск в гитхламе и что по наймспейсу или классам или зависимости можно найти туеву кучу того что тебе нужно

>>254824
Через 5 лет будет .NET 11 и ты будешь тут ныть, что нельзя писать ничего на NET 11, и вообще надо опять ждать.

>>254820
А если бы промолчал и не показал свою некомпетентность, не порвался бы так при людях.

>>254832
И снова пук и среньк
324 2254839
Чем студия 2022 отличается от студии 2013 какой-то?
325 2254841
>>254839
Большим количеством кода на шарпе и меньшик количеством кода на плюсах. И вытекающими лагами.
image.png46 Кб, 1540x190
326 2254842
>>254834
Не знаю имеют ли смысл пруфать что-то троллю.

Ты же знаешь, что в скандинавской-айтишной мифологии, будучи троллем, если ты получаешь пруф, ты теряешь одну извилину и так пока не превратишься в камень.
327 2254844
>>254842
Гладкий моск фанбоя размером с фисташку как обычно продолжает неиронично принимать информацию от топ кабанчиков. И клеймить всех критически настроенных к подобному пиздежу троллями. Классика.
328 2254845
Увидел, что в райдере оказывается можно одним кликом смотреть исходники классов стандартной библиотеки, типа Dictionary, Math и т.п.
А в студии так можно?
Пробовал нажимать F12, но вместо кода она показывает какую-то парашу (throw null вместо тела любого метода).
329 2254850
>>254844
Если перестать принимать информацию, можно превратиться в камень. Будь осторожен.
330 2254851
>>254845
Ты не должен воспринимать, что дотнет это сразу VS. Юзай что удобнее или практичнее.
331 2254857
>>254850

>пук


Я хуею с наивности анальников конечно. Ты наверно ещё предвыборным обещаниям веришь, да, поридж?
332 2254891
>>254845
Да даже если бы райдер сам код писал, то это не отменяет того факта, что он платный.
333 2254910
Получается, что все вакансии на сишарп - это фуллстек, немного бэкенда, а основная нагрузка - это фронтенд? Получается помимо сишарпа надо учить ещё жабаскрипт/тайпскрипт и фреймворк типа ангуляра/реакта?
334 2255021
>>254910
Да, а что ты хотел? Какой-то ультрахайлоад на шарпе не пишут, большой бекенд тоже редко. Остаются только небольшие галеры, где важнее нахуярить нормально фронт, а бекенд оставить как прослойку между фронтом и БД.
335 2255022
>>254910
Нет
336 2255027
>>255021
Обиженный тролль из раст треда (скорее всего просто качающий между тредами шизик) пытается манипулировать фактами, создавая неудобные наводящие вопросы.
337 2255030
>>255027
Ты тот самый фанбой шарпа? Тебе же лет 13-15, верно? Ну ничего страшного, в твоем возрасте я тоже любил троллить двач и засирать треды. Только лучше делай это в /b, а не в тематике.
338 2255032
>>255027

>создавая неудобные наводящие вопросы


>неудобные вопросы


проиграл
339 2255035
>>254810

>Признайтесь честно - линукс парню здесь делать нечего


Более того, линукс парню вообще делать нечего!
Сколько шизов грезило кроссплатформой, а на деле под линукс в десктопе толком ничего и не пишут. Одни только формочки-мордочки поверх каких-то консольных команд/файлов. Про геймдев я вообще молчу.

Линукс это 1-2% пользователей, которых еще тщательно отъедает макось. Получается, что кроме сетевых серверных технологий на линуксе заняться больше нечем.
О чем ты вообще?
340 2255039
>>255035
Чел, ты раздел перепутал. Это не /vg Каких пользователей?
341 2255044
>>254851
Ты не должен воспринимать, что еда это сразу хлеб. Если хлеб чем-то не устраивает, юзай пирожные.
342 2255049
>>255035
Сейчас бюджетные конторы переходят на отечественную ось (линупсы) и им нужны аналоги десктопных программ из венды. Это золотая жила! Но из-за нерасторопности микрософтов шарф оказывается в пролёте.
343 2255058
>>255049
Есть avalonia.

>Сейчас бюджетные конторы переходят на отечественную ось


На моей памяти они переходят уже 15 лет.
344 2255060
>>254845
ctrl+клик разве не работает? Для крестов вроде бы работало
345 2255061
>>255058
Не получается, нет замены ПО, а работу надо выполнять каждый день. Невозможно закрыть учреждение и вывесить табличку: услуги не оказываем, ждём когда погроммисты напишут новые программы.
346 2255064
>>255060
Только сигнатуры методов. В райдере насколько я понимаю встроенный dotPeek. Но честно как-то похуй, с детства пользуюсь ILSpy.
347 2255065
>>255049
1С из браузера работает.
На OpenOffice кабаны уже шильдик повесили в реестр внесли.
А ещё то чего не хватает? Потребности на 95% покрыты.
Остальные потребности специфические, местечковые и малочисленны, и там ловить нечего.
348 2255081
"Я не умею читать, что посмотреть?" на английском по WPF на ютабе?
349 2255097
>>255081
Буд-то кто-то знает что тебе надо. Если просто поаутировать и обмануть себя типа ты обучаешься, то вот чел
https://www.youtube.com/user/xamltv
350 2255161
>>255044
Терпеть не могу хлеб, ем все без него.
351 2255164
Сука какая же боль изучать ef по древней книге 17ого года, где часть примеров просто нахуй не работает
352 2255167
>>254910

>Получается, что все вакансии на сишарп - это фуллстек, немного бэкенда, а основная нагрузка - это фронтенд?


Нет, не все.

>Получается помимо сишарпа надо учить ещё жабаскрипт/тайпскрипт и фреймворк типа ангуляра/реакта?


Сейчас реалии таковы, что js нужно учить практически всем кто хоть немного связан с вебом. Увы.
353 2255173
>>255164
Есть же "Entity Framework Core in action" Джона Смита 2021-го года.
354 2255177
>>255173
Ну там чисто по всему EF. Потом накачу
Мне бы просто ознакомиться, а модуль у Троелсена пиздец устаревший.
355 2255205
>>255173
Это всё на английском только. На русский такие книги не переводят.
356 2255209
Я только вкатываютсь, поэтому такой вопрос

Есть ли принципиальная разница в кодовой базе и архитектурах между аналогичными технологиями .Net и Core? Вот к примеру, как сильно отличаются ASP.NET на технологиях винды от нового оупенсорсного брата? Нужно ли мне изучать два фреймворка будет потом, или достаточно изучить Core, как самый новый, и при этом я смогу писать под старый (естесно с небольшими правками за счет версионности?
357 2255218
>>255205
Ужас какой. Но ведь для того чтобы быть нормальным программистом английский знать необязательно, правда ведь?
358 2255219
>>255209
Учи новый. А если предложат писать на старом - беги.
359 2255241
>>255219
Почти все вакансии в моей мухосране на старом .Net
360 2255252
>>255241
Но ведь работать программистом можно удаленно из любой точки мира
361 2255254
>>255218
Если бы мне нравилось заниматься переводами с английского, то я бы пошёл в переводчики и зарабатывал бы больше, чем какой-нибудь программист, которые уже не нужны, с ними уже борются.
362 2255257
>>255241
Ну если так стоит вопрос и ты уверен что вот прямо пойдешь туда работать, то учи старый. В принципе там не особо большая разница (хотя, честно говоря, я х.з. как это с точки зрения новичка). Но я бы на твоем месте поискал нормальную удаленку с современным стеком.
Опять же смотри. Старый стек подразумевает, что у тебя типа есть какой-то опыт. А новичок в 2022-м году изучающий его, а не Core, вызывает подозрения.
363 2255264
>>255254

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


При чем тут нравится или нет. Умеешь в английский - берешь и просто читаешь. Без превозмоганий и мучений. Не умеешь - ну тогда не жалуйся, что на твоем языке только просроченная инфа имеется.
364 2255302
В чем отличие CookieAuthenticationOptions.ExpireTimeSpan от CookieAuthenticationOptions.Cookie.MaxAge? Я так понимаю maxage это для браузера, а ExpireTimeSpan для серверной валидации. И если это так должен ли MaxAge быт больше, чем ExpireTimeSpan?
365 2255317
Аноны. Вопрос тупого новичка.
Есть OData контроллер который через GET запрос вытаскивает разные данные из БД и отдает их в виде IActionResult на фронт. Мне нужно сделать так, чтобы данные типа double отдавались на фронт в виде string'а. Я понимаю что это можно сделать через фильтр, но что в нем делать с ответом?
367 2255348
>>255302
Оба это аттрибуты куки для браузера. Разница в формате, в max age это секунды, в expires это конкретная дата.
Если заданы оба то у max age приоритет
368 2255377
>>255348
А ты не путаешь CookieAuthenticationOptions.ExpireTimeSpan и CookieAuthenticationOptions.Cookie.Expiration? Первый это часть тикета, который храниться внутри куки в зашифрованном виде.
369 2255402
>>255377
Да, не заметил что в одном случае к тикету относится а не к кукам.
Тогда да, все верно.
>>255302

>И если это так должен ли MaxAge быт больше, чем ExpireTimeSpan?


Зависит, если есть смысл в том, чтобы браузер слал куку которая на деле уже Expired - то, если смысла в этом нет - то нет, ставь равными значениями или MaxAge меньшим
370 2255403
>>255402

>которая на деле уже Expired - то


то да
371 2255780
Здравствуйте, извините за очень неофитовый вопрос - можно ли как-то в asp.net core хранить и использовать данные в контексте текущей сессии на стороне сервера. У меня проект - обычные тесты какая ты фея винкс, вопросы хранятся в базе - при загрузке вопроса идет js fetch на урл апи контроллера который возвращает данные вопросов/ответов. Было бы очень удобно не ебаться с перекидкой кучи айдишников по типу какой конкретно вопрос нужно достать, айдишники на отправку запроса для следующего вопроса и т.д., а просто делать fetch без всех этих параметров и на стороне контроллера сразу хранить всю нужную инфу в сессии на стороне сервера. На всех страницах у меня стоит [Authorize].
372 2255869
Иногда студия генерит код с аттрибутом DisallowNullAttribute. Вот пример такого кода:
public int GetHashCode([DisallowNull] string obj)
{ throw new NotImplementedException(); }

Студия добавляет этот атрибут, даже не смотря на то, что во всём проекте используется <Nullable>enable</Nullable>. Имеет ли это какой-то смысл?
373 2255926
Мне нужно имплементировать IEqualityComparer<string>. Строки он должен сравнивать как обычный чувствительный к регистру строковый компарер. Но есть следующие отличия:
1. все пробельные символы слева и справа должны игнорироваться. Внутренние несколько пробельных символов должны считаться одним пробелом.
2. есть наборы символов синонимов, которые должны интерпретироваться как одинаковый символ. Например, разные символы умножения (*, x (eng), х (ru), ×, ·) или же цифры (3, ³).

Как реализовать bool Equals(string? x, string? y) ???
Мне видится два подхода:
1. сделать x.Trim(), x.Replace(...), то же для y. Возможно самому заменятель, чтобы он один раз пробегался по всем символам и была бы только одна дополнительная аллокация нового стринга. Тут проблема в том, что доп. аллокация будет и в Equals, и в GetHashCode.
2. Написать свой компарер, который не будет ни разу ничего аллоцировать, а будет работать только пробегаясь по исходным стрингам. Но это что-то сложно кажется. Даже не знаю, как подступиться по нормальному.

Что посоветуете? Может есть готовый компарер с наборами символов-синонимов?
23 374 2256046
Двач помоги. Как на C# можно объявить переменную с именем по значению другой переменной... На Пыхе это просто:
$a = 'myvar';
$$a='myvalue';
echo $myvar;
---------------
myvalue
375 2256061
>>256046
Тебе еще может eval дать? Меняй подход, это статический ЯП.
376 2256083
Скрываю нахуй этот тред.

Твари джависты, давно уже здесь обосновались.

В этот раз молодцы, снимаю шляпу, очень тонко скатили тред, не доебешься.
мимо миддл
377 2256089
>>256083
Хуидл.
12.gif63 Кб, 1443x905
Аноним 378 2256096
>>256061
А как тогда не городить китайский код (копипастинг одного и тогог же) в таком коде?
379 2256108
>>256096
Остановись пока не поздно.
380 2256119
>>256096
var dick = new Dictionary<string, Dictionary<string, string>>();
foreach (var field in fields) {
dick.Add(field, stmt.getDic(field))
}
381 2256125
>>256119
Dictionary<string, Dictionary<int, string>>
382 2256126
>>256096
>>256119

> new Dictionary<string, Dictionary<string, Dictionary<string, Dictionary<string, Dictionary<string, Dictionary<string, Dictionary>>>>>


У вас есть классы, интерфейсы, наследование, агрегация и прочие радости, но нет не хочу делать типы, которые будут описывать сущности в коде, хочу ебланить и пердолить изуверские конструкции.
Аноним 383 2256127
>>256125
Смысл понял, большое спасибо!
384 2256132
>>256126
Для сущностей есть классы/структуры. Сбрызни чудо растер.
385 2256148
>>256132
Есть. Но ты зачем-то лепишь франкенштейнов.
386 2256152
>>256126

> new Dictionary<string, Dictionary<string, Dictionary<string, Dictionary<string, Dictionary<string, Dictionary<string, Dictionary>>>>>


Сразу раст вспомнил, лол.
387 2256157
>>256148
Будущий шарфо-мэн попросил объяснить как представить из динамико-дресни в статику-дресню концепцию динамического связанного списка, я ему и показал. А то что он там словарь прикручивает, так это его желание. Сбрызни, ржавый
388 2256196
>>256157
Ты ему показал как блевотину заменить дриснёй. А он теперь по-незнанию так и сделает и это будет на твоей совести.
389 2256533
1. Почему кто-то еще работает на внутреннем рынке, когда такое большое количество вакансий для удаленки? И не везде требуется английский. Мидлам предлагают 3к+ зеленых, неужели мидлы в России получают больше?
2. Сколько приблизительно времени требуется для подготовки к собеседованию на тему структуры данных и алгоритмы?
390 2256536
1. Почему кто-то еще работает на внутреннем рынке, когда такое большое количество вакансий для удаленки? И не везде требуется английский. Мидлам предлагают 3к+ зеленых, неужели мидлы в России получают больше?
2. Сколько приблизительно времени требуется для подготовки к собеседованию на тему структуры данных и алгоритмы?
391 2256557
>>256536

>Сколько приблизительно времени требуется для подготовки к собеседованию на тему структуры данных и алгоритмы



Смотря в какое место. Тот же тинькофф требует, чтобы ты умел решать задачи на динамическое программирование уровня "хард" на литкоде. А есть места, где тебя максимум попросят односвязный список развернуть.
392 2256596
>>256536

>Почему кто-то еще работает на внутреннем рынке, когда такое большое количество вакансий для удаленки?


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

>структуры данных и алгоритмы?


Это спрашивают не потому, что это нужно в деле, а просто потому что это маркер, который легко проверить и легко отсеять лишних. Соизволь подготовиться.
Времени займёт как универский курс на данную тему. 30 часов лекций + 30 часов практических семинаров + 50 часов самостоятельного решения задач + 30 часов самостоятельного изучения теории. Примерно также. Но самому будет дольше, так что лучше - на платные курсы.
393 2256631
В начале года выбирал яп и технологию веб-разработки для смены работы. Выбирал между .Net, Java, Python и Go, ориентировался по сложности входа, количеству вакансий и средней зп. Остановился на .Net, изучил и нашёл работу. И тут в последнее время из каждого тапка доносится «Зарплаты разработчиков в IT в 2021 начали расти с каждым месяцем», «Java разработчики снова на коне» и прочее. В нашей компании половина команды Java разработчиков из стороннего проекта за последние пол года ушли на место получше. Легенды в рабочих чатах гласят, что нашего сеньора из Java команды забрал всем известный жёлтый банк за 500к деревянных. Компания начала подымать зп Джавистам, чтоб попадать в рынок. Но данное чудо не произошло с нашей .Net командой, как были те же ребята с той же вилкой, так и остались. Общался со своим куратором и спросил, почему он так же не ушел в место получше. Отнекивался тем, что только у Java сейчас растут зп. Начал смотреть вакансии от HH до групп в телеграме, сравнивать с разными яп и периодом, когда только выбирал язык в начале года. И действительно Джависты повысили свой уровень очень заметно, в то время как .Net сильно то и не изменился, кроме количества самих вакансий, которое увеличилось. У остальных ЯП по вэкэнд разработке (PHP, Python и прочее) зп дошли до уровня .Net, а то и выше, по сравнению с началом года. Про Golang вообще молчу, синьору со знанием английского предлагают совсем неприличный ценник в у.е. Почему Java разрабы так сильно выросли по зп по сравнению с .Net, хоть они и делят общий рынок enterprise разработки и крутятся в той же предметной области? И по какой причине остальные бэк яп начали догонять и обгонять .Net по зп? Не говорит ли это о низкой востребованности .Net разработчиков и отсутствии новых проектах на .Net?
394 2256638
>>256631
Дефицит квалифицированных рабочих, приводит к росту цен. Я уверен кобол программисты получают больше.

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

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

Важно не только много получать, куда важнее комфортно работать.
395 2256648
>>256638

>Поэтому специалист по джаве дороже, но и в башке там каши держать надо больше.


>Важно не только много получать, куда важнее комфортно работать.



Ну это все понятно, но почему на том же голанге или расте платят ощутимо больше? Если про джаву понятно - банки, легаси, кровавый энтерпрайз, дремучее легаси, то почему за хипстерские технологии платят больше?
396 2256650
Окей, вот мои 5 центов:

1) я пытался использовать C# для WP платформы, но они умерли (7,5, 8, 10)

2) я пытался использовать C# для UWP, но они превратились в ходячих мертвецов

3) C# использовал для Desktop-приложений, но потом Microsoft, сообразив на двоих Google, фактически убил запуск неподписанного кода для домохозяек. Сорян, платить 250 баксов в год за воздух, точнее сертификат, которым Мейлру подписывает свой Мейлру бар, я не вижу смысла. А, и еще разрешает подписывать (разрешал, окей) им любой код "партнёров". Но у Мейлру это безопасно (потому что подписано), а у меня нет.

Так, я полностью ушёл с платформы (т.е. дропнул Windows, MS SQL Server, VS, C#). Теперь винда нужна только для запуска игрушек, которые не заводятся в Valve Proton/WINE.

мимо бывший MCSA, владелец аккаунта-разработчика для WP/UWP
397 2256699
>>256648

>Ну это все понятно, но почему на том же голанге или расте платят ощутимо больше?


Нехватка спецов. Именно сеньеров-помидоров, который вытащил бы на себе все говно.

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

Проблема в том, что в новом стеке надо рогом самому все бурить, там реально скилл уже нужен, знаю тонну случаев, когда хипстота в 2010годы разводила кабанчиков на молодежные технологии и потом там же буксовала просерая все полимеры (одно дело поиграться, другое дело бизнес
).
398 2256701
>>256648

>Ну это все понятно, но почему на том же голанге или расте платят ощутимо больше?


Нехватка спецов. Именно сеньеров-помидоров, который вытащил бы на себе все говно.

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

Проблема в том, что в новом стеке надо рогом самому все бурить, там реально скилл уже нужен, знаю тонну случаев, когда хипстота в 2010годы разводила кабанчиков на молодежные технологии и потом там же буксовала просерая все полимеры (одно дело поиграться, другое дело бизнес
).
399 2256702
>>256650

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


А по подробнее?
мимо пишу морды только для своих нужд
400 2256715
>>256702
Он видимо про то, что UWP приложения вымерли полностью, а для классических десктопных приложух нужна специальная подпись, иначе SmartScreen будет уведомления постоянно присылать, что мол небезопасное приложение запускается.
401 2256722
>>256715
А причем тут шарп? Это справедливо для всех десктопных приложений винды и мака?
402 2256725
>>256699
Тем не менее на голанг уже прилично вакансий у нас в РФ несколько лет как, тот же озон, авито и вайлберис уже перешли на него, в яндексе клауд начинают на го писать, в тинькоффе тоже.
Да и хипстерские технологии предыдущих лет так и не умерли - руби все еще жив, не говоря уже о ноде или питоне.
403 2256731
>>256725
Всегда нравилось вот эта ассоциация с компания. Ты знаешь вообще какой объем кода и какое число разработчиков пишет? Зачем вы их постоянно в пример приводите? Ты знал что некоторые компания пытаются пропиариться среди свежих языков, чтобы их лейбл получил лояльность, среди тесного сообщества. Или чтобы такие как ты разносили рекламу о них.

Сейчас раст, до этого го, еще раньше руби и нода. Ты программист, будь технически грамотнее, а не как блондинка вестись на каждый пшик в индустрии моды.
404 2256735
>>256631
Попробуй выстави свое резюме (можешь даже анонимно, если боишься) и посмотри на предложения которые тебе придут. И вот потом уже делай выводы.
Примечание: январь если что не показатель, а вот в феврале уже можешь так делать.
405 2256740
Почему мое приложение с формочками не требует от меня никаких подписей? Когда и как начинает это работать?
406 2256742
>>256740
Когда ты попробуешь запустить его на другом компьютере. Сразу SmartScreen заблокирует.
407 2256743
>>256742
Как он определяет это?
408 2256746
>>256742
Запустил на другой машине, ничего не произошло (windows form). Что я делаю не так?
1641407683645.jpg173 Кб, 1280x1230
409 2256808
>>247357 (OP)
Нужно сделать приложение под андроид, в каком IDE это можно сделать максимально быстро и просто?
410 2256819
>>256746
Залей в инторнет, скачай из инторнета
411 2256839
>>256808
Android Studio.
412 2256879
>>256839
Поставил, не нахожу сишарпа
413 2256901
>>256879
Нинужно, ява тоже самое
414 2256906
>>256819
Я на второй комп по сети качал. Но у меня и там и там сдк, может поэтому??
416 2256908
>>256839
>>256901
Это старинное говно мамонта так и не умеет в кроссплатформенную разработку.
417 2256910
>>256908
Так чел же хочет

>сделать приложение под андроид


>максимально быстро и просто


и проще чем на котлине и в нативной среде вариантов нет.
Кроссплатформы без ебли не бывает.
418 2256911
>>256901
Что?
419 2256920
>>256907
А какую редакцию покупать?
изображение.png4 Кб, 450x88
420 2256950
Вопрос скорее всего тупой до предела, но как правильно вызвать такой пикрелейтед метод в дочернем к интерфейсу классе?
421 2256959
>>256920
Попробуй триал профессионала. Я хз можно ли с комьюнити писать под мобилки, но можешь и бесплатную комьюнити потестить.
422 2256960
>>256910

>Кроссплатформы без ебли не бывает.


Бред, писать под каждую платформу - затратнее.
423 2256968
>>256950
Чел ты..
424 2256969
>>256968
Да, я уже понял почему я долбоёб, дико извиняюсь
425 2256971
>>256960

>писать под каждую платформу - затратнее.


>сделать приложение под андроид


>максимально быстро и просто


Ты стекломоя объелся?
image.png118 Кб, 1888x646
426 2257007
>>256971
Лол, шизик

>Кроссплатформы без ебли не бывает.


>писать под каждую платформу - затратнее.



Хватит вилять попой, аки проститка, на лучше прочитай про свой ржавый язык
http://rustmustdie.com/

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

Вы только посмотрите на картинке, как две строчки компиляться в 2700 строк ассебмлера!!!
https://goo.su/adnl
427 2257021
>>257007
К чему ты это вообще высрал, сумашедший? Сначала съехал на «каждую платформу пилить долга» на вопрос про приложение конкретно для андроида, а теперь выдавил какую-то несвязанную хуйню про раст.
Иди отнеси это в раст тред, если у тебя к ним предъявы.
428 2257027
>>257007

>на лучше прочитай



Ссылаешь на студента Столярова, который путается в базовых терминах и понятиях? Ебанутый?

>как две строчки компиляться в 2700 строк



Тоже, как он не осилил ключи компиляции и ебащишь отладочные сборки вкачестве пруфов? Малаца.
429 2257033
>>257027

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


Отладочные сборки в онлайн редакторы? Ну собери в релиз, опровергни, зачем пуки в воздух?

>Ссылаешь на студента


Какая разница если он говорит правильную инфу? Раст по сути использует ГЦ, более того, без него написать ничего нельзя. Зачем вообще весь этот сюр с владением и прочем, если все свелось к подсчету ссылок у смарт-указателя?

Ты сам просто попробуй осознай, что все это тупо маркетинг вокруг фич, которых в реале не используют. В реальности просто используется совсем другой подход.
430 2257036
Если нужно сделать простое приложение, альтернатив WinForms до сих пор нет? Почему так нахуй? Может какой-нибудь фреймворк завезли? Реально, ничего не нужно, главное как можно проще
431 2257042
>>257036
Куда проще WinForms??
432 2257045
>>257042
Нет, не проще, а на таком же уровне, но современнее. Может кроссплатформа появится, но не обязательно
image.png40 Кб, 1434x390
433 2257049
>>257045
Ладно, на. Только некому не говори
https://avaloniaui.net/
434 2257093
>>256596

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


Так я же не про фриланс говорю, а про полноценный аутстафф или аутсорс. Хорошие деньги + уникальный опыт, какие риски?
Снимок экрана 2022-01-06 в 13.02.23.png107 Кб, 1860x442
435 2257201
>>257007
>>257033

>Ну собери в релиз, опровергни, зачем пуки в воздух?


Спок, шиз, заканчивай кидаться на анонов.

>Раст по сути использует ГЦ, более того, без него написать ничего нельзя.


Опять тупостью троллишь?
image.png106 Кб, 1200x776
436 2257218
Если я 2 часа потратил на такую реализацию сортировки вставкой, по кривому псевдокоду
Я даун?
студяга
437 2257222
>>257218
Ты молодец, мы всем двачем тобой очень гордимся. У тебя явно талант к программированию, продолжай в том же духе. Мало кто смог также. Даже у какого-нибудь кармака при таких же вводных это заняло бы никак не меньше 8-12 часов.
438 2257225
>>257222
Бля я ожидал чмореня по факту
Наверняка тут есть кринж код
439 2257236
>>257218
А если надо отсортировать не массив int, а массив double? Ещё раз такую функцию напишешь?
440 2257243
>>257236
Не знаю, но сенкс за идею вечером попробую
441 2257336
>>257201

>Ну собери в релиз, опровергни, зачем пуки в воздух?


>Спок, шиз, заканчивай кидаться на анонов.


Слив засчитан
442 2257341
>>257225
Шизик из го/раст/жаба треда еще не проснулся, а остальным пох (написал и написал, молодец).
16414638346390.png116 Кб, 736x736
443 2257342
>>257336
Шиз не увидел 50 строк ассемблера с флагом -O?
444 2257352
>>257342
Раз раст язык с ГЦ, может еще его прогреть надо?
445 2257360
>>257342
Даже с оптимизацией
-C opt-level=2.
Там высерается 50 строк на одну лямбду.

Зиро кост абстракшен - как есть.
Аноним 446 2257405
>>247357 (OP)
Подскажите студенту-заочнику, как получить из строки уникальные слова по пробелу.
Пффф.. в Пыхе одной командой делал...
447 2257407
>>257360
Зирокост абстракции выглядят вот так.
Ох уж эти зумеры, один высрал хуйню с жырным троллингом, а второй тупень на серьёзных щах с ней по всей борде носится.
14058904353382.jpeg46 Кб, 600x450
448 2257412
>>257352
Попытка не пытка.
sage 449 2257417
>>257405
Можно воспользоваться уникальным навыком гугления:
https://stackoverflow.com/questions/1388361/getting-unique-items-from-a-list
450 2257442
>>257407
>>257360
А на сперме-то какая красота...
451 2257449
>>257342
>>257407
>>257412
Кто открыл загон с говнорастом, что они забыли в языке с ГЦ? Плюсовики погнали их ссаными тряпками они теперь в управляемые языки приползли? Какой-то гребанный сюр.
image.png368 Кб, 1345x487
452 2257453
Тут оказалось, что фактически язык с ГЦ (кроме базового хелло-ворда), поэтому C# ему конкурент.
Не может управляемый язык с подсчетом ссылок конкурировать с С++ где смарт-указатели опциональны.
Аноним 453 2257456
>>257417
Как-то слишком коротко получилось и норм?

var items = index.ToLower().Replace(" "," ").Split(' ');
var unique_items = new HashSet<string>(items);
string st = "";
foreach (string s in unique_items) st = st + " " + s;
454 2257462
>>257456
А тебе количество кода важно?
14870561.jpg263 Кб, 900x900
455 2257464
>>257449
>>257453
О, аргументы закончились, начал пукать.
Ты сам это говно начал, не плакай теперь.
Аноним 456 2257465
>>257462
Вообще нет, лишь бы быстро работало...
Ну меня последняя строка немного смущает, склеивание строки по букофкам... Как тут говорят - чиорт побери...выглядит немного всрато
457 2257466
>>257465
https://docs.microsoft.com/ru-ru/dotnet/api/system.string.join?view=net-6.0

Используй это для склеивания строк
458 2257479
>>257465
Так же, если надо будет склеивать реально строки, есть
https://docs.microsoft.com/ru-ru/dotnet/api/system.text.stringbuilder?view=net-6.0
Чтобы не аллоцировать тонну строк в памяти.
459 2257527
>>257407
С C-строками (которые выводятся из литералов если не указывать вручную "string") на GCC 53 строки.
460 2257535
>>257527
А на кланге не смогло скомпилировать...
461 2257606
>>257479
А что лучше, String.Join или стрингбилдер?
462 2257653
>>257606
В твоем случае Join практичнее.
Открой исходники, внутри наверняка будет сбор через стрингбилдер.
image542 Кб, 640x480
463 2257656
>>257453
Да мы наблюдаем на дваче исторические разоблачение раста-самозванца.
Надо бежать, роняя кал, писать линупсу торвальдусу, чтобы он это говно из ядра линупса поскорее удолил взад.
464 2257658
>>257653
Там даже круче, используется какая-то оптимизация для получение билдера
https://github.com/microsoft/referencesource/blob/5697c29004a34d80acdaf5742d7e699022c64ecd/mscorlib/system/string.cs#L103
465 2257660
>>257656
Поздно, Линус уже зашкварен. Только в ядре гугла вовремя сообразили и выкинули сие говно.
Снимок экрана 2022-01-06 в 23.19.05.png150 Кб, 2058x580
466 2257675
>>257527
Если уж серьёзно к этому относится — то правильнее для такого сравнения в расте использовать полноценные строки, а не литералы, иначе это какой-то замер способности компилятора фолдить код с константами, а не сравнение реально генерируемого кода. И ещё в лямбде фильтра в плюсах ожидать string_view а не string, но результат не меняет, раст таки чуть лучше это фолдит.

Хотя как не крути, такое сравнение всё равно будет каким-то школьным бредом, чтобы манипулировать шизом и прочими, лол.
467 2257694
>>257675
Как бы там не рисовались растеры, как бы не подгонялись тесты и как бы не ставили раст в противовес полноценного ООП языка, все равно на этом говне приходится кодить только через Rс и тому подобном.
Чуда не произошло, никаких супер технологий не завезли, маркетинг опять победил.
468 2257780
Avalonia годнота или нет? Туториалов по ней вообще нет, что за хуйня
469 2257800
>>257780
У нее и доки говно, пилил небольшую граф приложуху, если в wpf шаришь, разберешься.
470 2257804
>>257800
Не шарю, как вкатиться с нуля?
471 2258210
>>257804
Никак, это говно без задач. Нужно только если ты уже знаешь WPF.
В остальных случаях — вкатывайся либо в WPF и пердоль легаси, либо сразу в MAUI.
472 2258241
У меня три года стажа, но впадаю в ступор на задачах из leetcode. Это лечится? Слышал дают задачи с этого сайта на собеседованиях, а я хочу сменить место работы.
473 2258248
>>258241
Ну так начинай с самых простых, они же там размечены.
Просто ты вебмакака, это лечится, но не быстро.
474 2258268
>>258248
Лечится так себе, на самом деле. Если ты задротил алгоритмы в школе, побеждал в олимпиадах и сейчас без проблем сможешь решить какую-нибудь задачу на два указателя. А если нет, то сможешь решить после того, как нарешал 3-4 подобных задачи. Но суть в том, что ты спустя пару месяцев забудешь напрочь как ты эту задачу решал. Ну вот из головы вылетит и все, и на собеседовании уже вряд ли сможешь повторить. Но тут еще такое дело, что если периодически повторять уже решенные задачи, то может и запомнишь решения и идеи основные и уже не так сильно облажаешься.
476 2258860
На сколько нормально будет сделать виртуальную машину с виндовсом, чтобы там программировать на сишарпе в студии?
477 2258865
>>258860
Нахуя?
478 2258898
В rust локальные переменные по умолчанию неизменяемые.
Чтобы получить изменяемую переменную, её надо отдельно поменить ключевым словом mut.
В C# все локальные переменные изменяемые. Почему нельзя сделать локальные переменные только для чтения, помечая их readonly?
Например, readonly int z = x + y;
Хотя бы для структур почему так не сделали?
С точки зрения компилятора, это совсем не сложно реализовать.
При этом было бы удобно, сразу видеть, какие переменные могут далее меняться, а какие вычислены на месте и окончательно.
479 2258902
480 2258937
>>258315
Если честно написано плохо. Дёрганно, не структурированно, лишняя информация. Нашёл другой сайт, может здесь лучше будет https://wpf-tutorial.com/
481 2258955
>>258898

>переменные


>неизменяемые


Это безумие уже не остановить.
482 2259008
>>258955
В матеше и лямбда исчисл тоже переменные, но там явно не про изменяемое состояние
483 2259016
>>258865
Диск не могу поменять, а студия лезет на системный хотя указываю другой))
484 2259471
Как работают фри триалы в шарповых либах? Если я использую их не для коммерции мне все равно придется платить? И каким образом?
485 2259481
>>259471
По разному, предполагаю.
Где-то может быть специальный нюгет фид, который сдохнет после триала, зато ПОЛНОЦЕННУЮ ВЕРСИЮ дают потрогать, где-то обрубок функционала, а чтобы был не обрубок, введи код и прочее.
Если разрабы допускают использование их либы не для коммерции, то там явно должно быть это обговоренно (что считается "некоммерцией", как пользоваться либой в бесплатном режиме, etc), иначе по умолчанию должен купить либу.
Разбирайся конкретно с каждой либой, там везде свои способы навернуть говна.
486 2259485
>>259481
Понял, спасибо.
487 2259676
Андройд тред мерт так что спрошу как обычно тута.
Как и чем отловить запросы мобильных приложений? Какой эмулятор юзать? Реально ли будет подделать запросы? Хочу сделать смсБомбер. Понятно что сначало буду сайты добавлять, но хотелось бы на будущие знать стоит ли заморачиватся с моб приложениями?
488 2259677
>>259676
Доп вопрос.
Шифруются ли запросы?
489 2259680
>>259676
Смотри программу proxycap, ей загоняешь запросы в дебаг проксю и готово. Хттпс можно, но надо будет добавить сертификат прокси.
490 2259703
>>259676
Иди уроки учи, дебил. Какой нахуй бомбер, пиздец зумеры из тиктока ебанулись
491 2259759
>>259703
Сам иди учи, хуеплет.
492 2259808
>>258898

>Почему нельзя


Потому что для твоих околоматематических выебонов существуют функциональные языки. В CLR среде это F# и там все это есть.
493 2259812
>>259676
Говна наверни.
494 2259849
>>259808
Ридонли = математика? Клоун, зачем тогда в твоём любимом языке const/in?
495 2259864
>>259849

>Ридонли = математика?


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

> зачем тогда в твоём любимом языке const/in


А ты сначала разберись как они работают, а потом вякай. const это просто способ заменять статические значения в компайл-тайме. А in нужен как один из механизмов обеспечения инкапсуляции.
496 2259881
Вопрос. В шарпе же нету модификаторов доступности которые бы давали только первым наследникам доступ к чему-то, но не давали наследникам наследников доступа к этому? или там можно как-то сделать такое переопределяя метод через new?
497 2259898
>>259881
Зачем?
498 2259908
>>259864
in - инкапсуляция? я про const& аргументы.
Конст для замены? А это нахуя? для прироста производительности? Ридонли локальные в нормальных яп дают прирост. Есть ещё ридонли нелокальные, забыл. И ридонли не как не связано с алгоритмами и/или ооп, это просто гарантии, они в любом виде полезны. Но можно конечно защищать дизайн языка, потому что кругозор этим языком и ограничился.
499 2259929
>>259908

>это просто гарантии


Гарантии чего? Если тебе не нужно менять локальную переменную, так не меняй ее, в чем проблема?
500 2259945
>>259898
чтобы спрятать посильней разумеется. но вообще мне недавно понадобилось расширить один абстрактный класс другим абстрактным классом и например часть методов у него из виртуальных стали абстрактными, а некоторые виртуальные методы и вовсе хотелось бы скрыть для наследуемых от второго класса так как нехуй туда лезть
501 2259953
>>259929
1 Гарантии компилятору
2 Для защиты программиста от самого себя придумано дохуя вещей, особенно в с#. Примеры: гц, отсутствие множественного наследования (и ввод интерфейсов и абстрактных классов), типы, все внутри unsafe и т.д.
502 2259954
>>259953
на самом деле отсутствие множественного наследования не является положительной чертой шарпа.
503 2259993
>>258898

> Почему нельзя сделать локальные переменные только для чтения, помечая их readonly?


Ну а что тебе это должно дать?
Серьезно.
Вот допустим код:
readonly User user = new User();

Какое поведение ты ожидаешь в ООП?
То что теперь нельзя сделать user = new User("Zalupa", "Petrov")? Или нельзя user.UserName = "Zalupa"?
Допустим как в JS и эфшарпах - я не могу первое сделать. Что мне как программисту кодящему в парадигме ООП это дает-то? Я, обычно, использую локальные переменные для того чтобы 1. Обеспечить потокобезопасность, скопировав ссылку на нужную мне хуйню; 2. Улучшить читаемость, чтобы не писать user.Role.Privileges в коде, а просто писать privileges. А вся остальная хуета берется из полей класса в котором я все реализую, а эти поля как раз могут быть либо readonly, либо мутабельными, если это требуется. Так зачем мне для локальных переменных это вот? Я действительно не совсем понимаю. Тем более, что во всякой хитрой бизнес логике(а это основная логика, которую приходится на шарпе писать), у тебя в любом случае большая часть переменных будет мутабельной.
16417200638450.jpg309 Кб, 705x676
504 2259996
>>259864

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

200c779b5340e288c06bc4cb912ba0bc.jpg8 Кб, 160x160
505 2260000
>>259993

>Обеспечить потокобезопасность


>скопировав ссылку на нужную мне хуйню


Пиздуй уроки учи, кек
506 2260041
>>260000
Няша. Окей.
Вот у тебя есть класс:
class A{
public SomeRefObject SomeRefProp;
}

У тебя есть два метода:

async Task Foo(A a){
if(a.SomeRefProp is null){
throw new Exception();
}
await SomeLongRunningTask();
a.SomeRefProp.SomeMethod();
}

void Bar(A a){
a.SomeRefProp = null;
}

Что произойдет, если пока SomeLongRunningTask выполнялся, я в другом потоке вызову Bar и передам тот же объект что и в Foo?

А теперь что будет в случае :

async Task Foo(A a){
var prop = a.SomeRefProp;
if(prop is null){
throw new Exception();
}
await SomeLongRuningTask();
prop.SomeMethod();
}

Ты, конечно, можешь не считать это элементом потокобезопасности, можешь хоть как это называть. Только вот открываешь код самого фреймворка и там это используется повсеместно и сами майки пишут //thread safeness. Я - человек простой, книг не читал, в вузе не учился, и вообще на работу попал по знакомству, но я доверяю тому, что пишут майкрософт в комментариях к своему же коду. Конечно, может быть они - врут и троллят, чтобы такие хуи как я, изучая исходники - попадали в ловушку, но хуй знает.
506 2260041
>>260000
Няша. Окей.
Вот у тебя есть класс:
class A{
public SomeRefObject SomeRefProp;
}

У тебя есть два метода:

async Task Foo(A a){
if(a.SomeRefProp is null){
throw new Exception();
}
await SomeLongRunningTask();
a.SomeRefProp.SomeMethod();
}

void Bar(A a){
a.SomeRefProp = null;
}

Что произойдет, если пока SomeLongRunningTask выполнялся, я в другом потоке вызову Bar и передам тот же объект что и в Foo?

А теперь что будет в случае :

async Task Foo(A a){
var prop = a.SomeRefProp;
if(prop is null){
throw new Exception();
}
await SomeLongRuningTask();
prop.SomeMethod();
}

Ты, конечно, можешь не считать это элементом потокобезопасности, можешь хоть как это называть. Только вот открываешь код самого фреймворка и там это используется повсеместно и сами майки пишут //thread safeness. Я - человек простой, книг не читал, в вузе не учился, и вообще на работу попал по знакомству, но я доверяю тому, что пишут майкрософт в комментариях к своему же коду. Конечно, может быть они - врут и троллят, чтобы такие хуи как я, изучая исходники - попадали в ловушку, но хуй знает.
507 2260055
>>259993
Для классов иммутабельность не работает. Потому что не возможно гарантировать, что вызов метода чего-нибудь не поменяет.
Поэтому даже нет классов readonly class, а readonly struct есть.
Можно было бы дать возможность помечать в классах методы как readonly, что даст возможность конпилятору делать проверки иммутабельности, но тогда придётся и всю стандартную либу переписать.
Для структур же это уже работает.
508 2260175
Есть ли какая-то возможность добавить в код C# возможность использовать для возведения в степень отдельный оператор, например, как в петухоне, две звёздочки. Может надстройка для студии какая?
Хочется писать нормальный код с формулами, легко читаемый людьми с физ-мат. подготовкой, а не макаками.
509 2260189
>>260175
Матанодебич, спок
df6a82d8f778167b2e3c3ab323d9beff.jpg37 Кб, 720x405
510 2260208
>>260041
Пиздец, товарищи.

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

То, что ты высрал — это костыль by design. Сколько макак не учи — всё равно будут высирать шаренный стейт.

Короче, перестань срать терминами которых не понимаешь а лучше пиздуй делать домашку на зимние, завтра в школу.
16325884961860.png783 Кб, 1000x895
512 2260211
>>260175
>>260209
А лучше сразу на хачкелб посмотри — там вообще всё для

>физ-мат. подготовкой, а не макаками.

513 2260223
>>260175
Нету такой возможности.
Вообще, если честно, я бы вообще убрал нафиг все операторы которые к математике относятся. Даже булевые операторы. Потому что хуйня это все. Держать в голове порядок действий - это слишком сложно для программиста. С вызовом методов - все просто: ПОСЛЕДОВАТЕЛЬНО.
Да и читается легче:

int i = 5;
i = i+++++i;

против
int i = 5;
i = i.Add(i.PostIncrement(1), i.PreIncrement(1));
514 2260241
>>260223

>Держать в голове порядок действий - это слишком сложно для программиста


Двачую, лишп рулит.
image19 Кб, 2048x420
515 2260269
>>260223
А потом набивка одной умеренной формулы превратиться в 300 строк нечитаемых помоев.
516 2260277
>>260208
Дядя. Меня почему-то учили, что потокобезопасность - когда поведение кода программы не зависит от порядка вызова потоками. Все.

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


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

> То, что ты высрал — это костыль by design.


Майки пользуют. Чем я хуже?

> Короче, перестань срать терминами которых не понимаешь


Ну, я использую термин в том виде в котором он дан в той де википедии:

> Thread safety is a computer programming concept applicable to multi-threaded code. Thread-safe code only manipulates shared data structures in a manner that ensures that all threads behave properly and fulfill their design specifications without unintended interaction



А ты - как раз придумал себе в голове что-то и доебался до меня. Код в сценарии 1 - не потокобезопасен исходя из определения. Во втором - потокобезопасен. То что ты можешь сам объект SomeRefProp из третьего потока превратить в кашу - это уже дизайном класса будет обусловлено, но это уже к тем двум сценариям не относится.
517 2260309
>>260269
тот кто такую хуйню нечитаемой пишет того надо хорошенько отпиздить. такое надо записывать в сотню строк большая часть из которых комменты.
16417198451100.png139 Кб, 773x750
sage 518 2260329
>>260277

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


Ого, а в чём выражается результат этого "поведения программы"? В данных на выходе. Поздравляю, ты сказал то же самое в 4 раза длиннее.

>Майки пользуют. Чем я хуже?


Да ничем, indus-driven-design самое то для таких овощей, как ты.

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


>ну я магу ссылку сахранить пук срень


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

Пиздуй делать уроки, хватит читать что индусы высрали, на неокрепший моск слишком сильно давит.
519 2260334
В шарпе есть зеленые потоки как в Го? Или все выполняется на реальных системных потоках?
520 2260346
>>260329

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



async Task Foo(A a){
var prop = a.SomeRefProp;
if(prop is null){
throw new Exception();
}
await SomeLongRuningTask();
prop.SomeMethod();
}

Давай, покажи что тут может смутировать, если SomeRefProp - иммутабелен. Очень интересно посмотреть.
521 2260349
>>260346

> если SomeRefProp - иммутабелен


Объект класса SomeRefObject - иммутабелен
фикс
522 2260383
Есть ли какой-то StringComparer, который будет считать равными символы, которые на экране выглядят одинаково? Например, русская и английская с, или х.
523 2260437
>>260383
Какое безумие, в чем практичность сие?
524 2260447
>>260437
Парсинг для рынка СНГ. Стоит в таблице градусы цельсия, С. И попробуй угадай, в какой раскладке её напечатали, в русской, украинской или латиницей.
525 2260465
>>260447
Надо либо запрещать такое либо ввести правило и писать автозамену.
Так как тети сраки часто вместо "Си" пишут русскую "эС", было сделано предупреждение об этом (алгоритм прост, если в слове больше кириллицы и встречается латинская или другая буква - это вероятно ошибка, предупредить).

А вот на веб сайте вообще запрещаем в никах мешать ру с не ру.
Так же я предложил сделать предупреждение в словах, а то поисковики не поймут, но клиент оказался беден.
526 2260496
>>260175
>>260211
В Agda можно миксфиксные (1 арг, 2, 3, 4...) операторы с любыми названиями: 0#, _≤_, ∣_∣, if_then_else_ (и например ∃[ x ] P(x), но это не совсем оператор).
В Lean есть нотации и юникод, мб можно тоже такого добиться.
В Coq вроде нет юникода, но есть нотации.

>>260223
>i+++++i
Чел...
527 2260644
>>260465
Чел, айти - это не только веб-параша.
В моём случае например, приходится парсить готовые отчёты в ворде. Отчёт давно сдан, автор может уже на пенсии, некому запрещать, некого предупреждать.
Можно только пометить, что требуется помощь человека, что должно быть исключительным случаем, иначе за что нам деньги платить тогда?
528 2260715
>>260644
Какие же программисты пошли тупые.
В посте приводится два примера, второй явно оговариваться что из веб, подразумевая что первый пример из чего-то другого.
529 2260731
>>260383
Это называется homoglyph search. Не смог найти библиотеки для c# https://www.npmjs.com/package/homoglyph-search
530 2260768
Мужики, а где 4-е издание C# player's guide достать? Неужели его никто не спиздил за столько времени?
531 2260967
>>260334
Наверное нет (хз как оно там в го), но у нас есть пул потоков.
532 2261100
>>260731
Это известный список TR-39. Но человеку который хочет сравнивать, а не обнаруживать подмену лучше об этом не говорить.

На самом деле в юникоде столько говна, что имеет смысл по диапазонам вычленять все это говно. Но вопрос в другом, что считать этим самым говном? Поэтому такой общей либы быть не может, а написать свой, скажем для русский и английских символов - дело 5 минут.
533 2261101
>>260334
Шарф основатель моды async await
534 2261135
>>261101
Зелёные потоки ≠ корутины; если верить стаковерфлов в шарп это пришло с f#, туда идеи с хаскеля
535 2261167
>>261135
Одно и тоже. Асинхронное программирование.Зеленные потоки - термин популяризированный ныне благодаря жаба конференций, которые гордятся тем, что когда они у них были
536 2261199
>>261167
Зеленые потоки - софтовые потоки, наверн именно реализованные в юзер моде.
Корутины - функции с паузами.
537 2261222
>>261199
Одно и тоже, потоки на уровне программы (не системные).

>Корутины - функции с паузами.


Какие паузы))
539 2261445
Позвали на интервью без тестового задания, это как? Может в этот раз ещё и нормальные вопросы придумают?
540 2261545
Использовать полновесную БД для хранения настроек приложения норм или не оч идея? Просто с этим appsettings.json майки так бегают, что создается впечатление, будто это то как надо делать. А мне чет кажется, что удобнее было бы вынести настройки в БД, можно даже в том же жсоне хранить их, если так уж хочется. При этом можно еще и версинификацию настроек иметь, типа обновилось АПИ, добавились новые настройки, а у нас несколько версий одного сервиса запущены и удобно можно из одного места все получить.
Чи я не прав? Поясните, хуевая или не совсем хуевая практика?
541 2261559
>>261545
У меня так было, база на тестовой машине могла на неделю отличаться от прода, это было не очень удобно, я хотел переписать в файл, чтобы еще версионировалось.
542 2261588
>>261559
И да, на тестовой машине другие немного настройки есть. Тоже каждый раз восстанавливать
543 2261730
Как мне развиваться как программисту, если в команде нет ни одного синьора? Если в книгах и курсах показывают простенькие примеры, которые далеки от реальных рабочих проектов?
544 2261732
>>261445

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


Есть два стула, на одном море говна, на второе полотенце брошено. Сколько лет ёжику?
545 2261911
>>261167
Нет. Async await это просто удобный способ работы с promise/future и не более.

Зеленые потоки в Го (горутины) - это как раз

>софтовые потоки, наверн именно реализованные в юзер моде


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

>>261167

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



Они были во времена 90-х годов, потом от них отказались в пользу системных. Потом после бума гоуленга и ноды они решили-таки запилить Loom.
В дотнете тоже были попытки запилить зеленые потоки во времена .NET 1.x и .NET 2.x, но они тоже успехом не увенчались, вместо этого позже добавили удобный способ работать с future/promise.
546 2261994
>>261911
Был бы я таким умным на дваче не сидел бы. шучусидел бы а ты не умный
547 2262002
Что быстрее проверка на налл ссылочного типа или сравнение на равенство интежеров? string1 == null vs myInt = 666
А для наллабл<Т> !nullable1.HasValue vs nullable1 == null vs myint == -13
Вопрос чисто теоретический.
16417548216301.png203 Кб, 300x283
548 2262006
>>261911

>но они тоже успехом не увенчались


Заканчивай вилять жопой и говори прямо: не осилили.
549 2262017
А есть те кто вкатился в шарф с нуля и сам с какого нибудь алкозавода? А то смотрю на ютубе успешных успехов и там каждый первый вошедший в айти с нуля "ну я там в 12 лет на паскале писал, потом сайт пхп запили отучился на сисадмина и потом решил а не пойти ли мне в айти и за пол года научился пиздеть выучил ЯП и пошел работать" А есть ли истории от подпивасных петровичей? Или если с детства 10 лет не задротил айти шансов 0?
550 2262029
>>262006
Нет, они их как раз осилили, что в джаве, что в дотнете, но очевидных преимуществ зеленых тредов перед системными тогда не видели, а задачи в основном предполагали не гружение джейсонов на бекенде, а cpu-bound вычисления на десктопе. Сейчас, конечно, всем достаточно одного потока и евент лупа, как в ноде, но это сейчас, в те времена люди еще использовали тяжелую многопоточку повсеместно.
551 2262032
>>262029

>евент лупа


А евент пупа?
552 2262163
>>261911

>термин популяризированный ныне благодаря жаба конференций


Так и знал что найдется баран, который начнет вспоминать историю, игнорируя поправку "популяризированный ныне". Вот настолько программисты тупые, что видят слово-триггер начинают печатать одну и туже пасту, снова и снова, как дрессированная макака.
553 2262180
>>261911

>Нет. Async await это просто удобный способ работы с promise/future и не более.


Жопоскрипщик пожаловал. А promise/future это блин не асинхронное программирование, да?

>Горутины тем и отличаются


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

Квази потоки (зеленные) софтины - это и есть асинхронное программирование, без разницы как там они сделаны. Отказались в свое время (в жабе тоже), ибо говно без задач в то время, а накладывает определенные условия на программиста.
554 2262185
>>262029

>Сейчас, конечно, всем достаточно одного потока и евент лупа, как в ноде, но это сейчас,



кому всем? кто эти все?
555 2262219
>>261730
читай код чужих проектов. особенно те которые low allocation. возьми хотя бы асп.нет коре и изучай код. и тому подобные Microsft.extensions.*
А также реализацию десериализаторов и асинк примитивов
556 2262253
>>262180
Зеленые потоки могут быть реализованы с использованием корутин, но это не значит, что эти термины равнозначны.
557 2262289
>>261730
Пили сам что-то в свободное время.

Ну и да. Термин сеньер - это игрушка дьявола. Во многих конторах его за выслугу лет просто навешивают. По факту, для рынка в вакууме - сеньер это РЕШАЛА, который может и роутер настроить, и архитектуру масштабируемую в соло построить, и код пишет как в мемах про хацкеров, и за ассемблеры разные пояснит(и даже напишет свой загрузчик, если придется), и нат пробьет, и CI/CD сделает, и нубов научит, и с клиентами попиздит. Но скажи средниму мидлу, что чтобы стать сеньером - ему нужно быть вот таким вот челом, начнется вонь, про то что с хуя, я ж [выбери область]-программист, делаю хуйню монотонную уже 5+ лет, дайте мне лычку и ЗП побольше. А вот. Сравни как раз дедов, которые на том самом: ИЗИ ВКАТИТСЯ БЫЛА, БРАЛИ ВСЕХ ПОДРЯД. Для примера с ютуба - Соер. Хуи, что знают все подряд и продолжают учиться, будучи дедами, а в свободное время для дополненной реальности проекты пилят, да ведут блоги, семинары и вообще. Ведь такие в массе - успели и сисадминами побыть, и с кучей фирм разного размера поработать, и сайтики делали, самописные фреймворки, библиотеки, паять умели, и принтер заправлять, ну ты понял короче.
Короче. Если тебе в конторе сеньером - ПРОЯВЛЯЙ ЛОЯЛЬНОСТЬ(не факт правда, что после смены пары менеджеров про твою лояльность не забудут и тебя не пошлют лесом). Если хочешь быть НАСТОЯЩИМ ТРЕЙД МАРК СЕНЬЕРОМ - изучай все до чего дотягиваются руки, пиши все свободное время, читай статьи, ездий на конференции и постоянно повышай планку. Только второй тип - это про тебя прет от работы или ты ясно видишь, что сможешь применять эти знания чтобы улучшить положение. Сейчас, к счастью, есть много наглядных примеров, которые показывают, что эти все знания хорошо стоят, даже какой-нибудь кобол, а потому попроще.
558 2262331
>>260383
Такой и самому вроде несложно сделать
559 2262487
Такое дело. Нужно написать две аппы. Сервис крутящийся в бекграунде, и гуй для его настройки. Как можно обмениваться данными и ивентами между ними?
560 2262490
561 2262496
Читаю про синтаксис шарпа, имея бэграунд ООП хренова десятка лет, просто офигиваю как он продуманно сделан. Причем языку то немало лет.
Свойства - без какой либо сокрытой магии, какие и должны быть.
Явные виртуальные методы и явный оверрайд (и sealed)
Скрытие (перекрытие) свойств/методов.

Люди явно делали язык с душой. Вот гляжу сейчас на кокотлин, как они надругались над конструкторами и понимаю, что люди просто местами тяп-ляп налепили.
562 2262498
>>262496
пишу на обоих языках, причем на шарпе с самого его рождения
И год на котлине. И именно лаконичный синтаксис котлина очень сильно накидал камней в огород моего любимого шарпа

Синтаксис - сильная сторона котлина (ну кроме некоторых WTF, но и в шарпе их хватает)
image.png25 Кб, 459x534
563 2262505
>>262496
Про свойства - без магии. В котлине так наговнили с дизайном что нельзя сделать публичный геттер и приватный сеттер.

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

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

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

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

>но и в шарпе их хватае


Например?
566 2262533
>>262508

>придется импортить все через звездочку


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

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


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

>>262509
если не сравнивая с котлином, а исклчюительно про синтаксис...навскидку
- необходимость писать new
- именованный конструктор
- ConfigureAwait(false)
- = null!
- шаблон Main в дотнет 6 просто ахтунг
- нет break level (зато есть goto хы хы)
- [^1] понятно, но уродливо же
- Func<,,,> сигнатура
- is var
- неймспейсы. только вот позволили не ставить {}
- МНОГОСЛОВНО ВСЕ пипец. Не так как в жава, но все равно
... я спать
567 2262537
>>262487
Много как. Можешь запилить шину сообщений в которую гуй будет писать что-то, а серсис из этой шины - читать. Можешь в сервисе сокет открыть и реализовать дуплексную связь(удачи, кек, майки-то поленились сделать что-то нормальное, а тот велосипед что я делал - я не дам). Можешь по ресту как предложили, еще и сверху вебсокеты прикрутить, чтобы если сервис упал - в гуе сразу это было видно. Можешь с помощью файликов реализовать, если это на одной пеке работает или есть общая сетевая папка. Короче. Вариантов куча.
568 2262556
>>262533
Единственное это неймспейсы, остальное притянуто за уши.

>именованный конструктор


Вообще говорит о тебе что ты пришел со скриптов.

>шаблон Main в дотнет 6 просто ахтунг


Это для обучение и фаст-консольного письма, это же опционально.
569 2262558
>>262533

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


Как раз без IDE импорты по звезде вообще не читаемы (видимо на это и расчет, как с корутинами вышло).
570 2262592
>>262017
Зависит от конторы. Наши взяли оноклассника сына директора по блату, абсолютный ноль. Спустя два года научился писать простенькие круды, копипастом.
571 2262599
>>262219
Можешь дать парочку конкретных примеров приложений, только попроще, чем исходники asp.net core - от них у меня депрессия начинается.
572 2262652
>>262185
макаки-бекендеры видимо
573 2262655
>>262163
Так зеленые потоки стали популярны не благодаря жабе ведь. Когда они решили пилить свой лум 4 года назад так до сих пор и допилили, лол, на лютом хайпе был модный молодежный гоуленг с его горутинами. Из гоуленга все и пошло тащем-то.
574 2262662
А почему связный список не поддерживает индексацию, как массив?
575 2262695
>>262556

>Единственное это неймспейсы, остальное притянуто за уши.


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

>Вообще говорит о тебе что ты пришел со скриптов.


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

>Это для обучение и фаст-консольного письма, это же опционально


Да хер там плавал. Создается в новой студии по дефолту и приходится потом руками создавать старый вариант. Реально напрягает. И не меня одного - на гитхабе даже issue на этот идиотизм есть

>>262558

>Как раз без IDE импорты по звезде вообще не читаем


верно, но импорты по звезде создаются вручную
Я вот пишу в Android Studio и он мне подсказывает иморт и звезды сам никогда не ставит
576 2262697
>>262662
потому что там нет индексов же. Каждый элемент знает только о соседе. И никакого другого знания нет.
577 2262703
>>262697
Енто понятно. Но почему бы не допилить индексы из коробки. Был бы идеальный вариант между Листом и обычным массивом.
578 2262712
>>262703
А зачем там индексы? Получение элемента по индексу самому легко написать, просто эта операция будет требовать O(N) по времени, в то время как в массивах O(1) всего лишь.
579 2262788
>>262712

> O(1)


Чтобы вот этого добиться. В обычном списке, чтобы дойти до нужного элемента, нужно пройти через все ссылки перед ним, то есть O(n).
580 2262802
>>262788
Связанный список это базовая структура. Индексы ведь тоже где то хранить нужно. А это потеря памяти на ровном месте. А если не хранить отдельно индексы, а хранить элементы связанного списка тупо в массиве, то получим все неудобства массива - необходимость хранить все вместе, изменение размера...

Никто не запрещает делать гибридную структуру где есть доступ обоих видов
581 2262854
>>262788

>В обычном списке


Обычный список это List<T>? Тогда нет там O(n), внутри у него обычный массив и доступ по индексу идет за O(1).
582 2262856
>>262289

>с хуя, я ж [выбери область]-программист


Всё так и есть. Смотрю сеньйорские вакансии 5+ лет и охуеваю - в среднем дают по зарплате всего лишь больше примерно на 50-70% от моей, но знать требуют в несколько раз больше.

Тут уже думать надо, может лучше свой SaaS маленький делать, а в конторе миддлом сидеть.
583 2262987
>>262854
Связном списке.
584 2263252
>>262695

> Создается в новой студии по дефолту


Если у тебя так горит - сделал бы давно шаблон свой. Делается оно за 2 минуты.
Ну и да. ИРЛ ты не создаешь по 10 проектов в день. Обычно ты над одним пердишь год-два, а потому то что по дефолту там создалось - до пизды.
585 2263253
>>262695

> ведь мы говорим всего лишь про синтаксис


Речь была про WTF. А не вкусовщину или синдром утенка.
Вот в котлине очень много WTF, там в целом как-будто половину смогли, а половину как-будто наспех сделали.
Хотя решения с груви и скалы там удобные есть. Отказ от точки запятой удобен, но местами очень сомнителен. Двоеточие для типа, тоже такое себе. Тупость с иммутабельностью let вообще смешно, когда 99% работаем с объектами, на которых это не работает распростроняется.

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


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

>Создается в новой студии по дефолту


Создал бы пустой, тоже пришлось руками создавать классы. Смешно, но дефолтный класс и раньше всегда приходилось руками править. В общем, сложна жизнь программиста.
На самом деле очень удобно стало создавать из консоли подобие скриптов, так как не хотелось бы csproj ручками каждый раз писать.
dotnet new console
dotnet run

>верно, но импорты по звезде создаются вручную


Насколько помню, последний раз как раз идея пыталась портянку из списка импортов свести к звезде и надо было отключать в настройках это. Хотя могу наврать, не помню уже, но помню что нередко на звезду в гитхабе натыкался.
586 2263290
>>263252
создаю. папка тест просто засрана проектами для "а ну попробую эту штуку как она работает". И код там посложнее хелловорлд на порядок, но это все равно прототип какой то мелочи.

>>263253

>Речь была про WTF. А не вкусовщину или синдром утенка.


вкусовщина это где писать тип функции или def/fun/function/void...
А это просто неудачные решения, которые делают синтаксис более монструозным или семантически запутанным. или просто корявым
ConfigureAwait(false) например. Народ предпочитает его не писать полагасясь на "авось не будет контекста".
is var вообще без 0.5 не разберешься интуитивно

>Вот в котлине очень много WTF,


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

>Двоеточие для типа, тоже такое себе.


наоборот удобно.
А вместо
Func<int, int, int, string> callback
симпотное
callback: (int,int,int)-> string

>Тупость с иммутабельностью let вообще смешно,


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

>Я согласен что спец слово лучше, но это просто историческое решение.


ну то что оно историческое - не делает его нормальным.

>Я вижу ты не совсем часто кодишь, как бы это уже давно ипостась IDE


я не про рефакторинг. При прототипировании копипаст просто зашкаливает.

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


ну звезда это ручками. При автоимпорте IDE выдаст полный импорт и при оптимизации звезду тоже не нарисует.
586 2263290
>>263252
создаю. папка тест просто засрана проектами для "а ну попробую эту штуку как она работает". И код там посложнее хелловорлд на порядок, но это все равно прототип какой то мелочи.

>>263253

>Речь была про WTF. А не вкусовщину или синдром утенка.


вкусовщина это где писать тип функции или def/fun/function/void...
А это просто неудачные решения, которые делают синтаксис более монструозным или семантически запутанным. или просто корявым
ConfigureAwait(false) например. Народ предпочитает его не писать полагасясь на "авось не будет контекста".
is var вообще без 0.5 не разберешься интуитивно

>Вот в котлине очень много WTF,


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

>Двоеточие для типа, тоже такое себе.


наоборот удобно.
А вместо
Func<int, int, int, string> callback
симпотное
callback: (int,int,int)-> string

>Тупость с иммутабельностью let вообще смешно,


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

>Я согласен что спец слово лучше, но это просто историческое решение.


ну то что оно историческое - не делает его нормальным.

>Я вижу ты не совсем часто кодишь, как бы это уже давно ипостась IDE


я не про рефакторинг. При прототипировании копипаст просто зашкаливает.

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


ну звезда это ручками. При автоимпорте IDE выдаст полный импорт и при оптимизации звезду тоже не нарисует.
587 2263388
>>261545

>Использовать полновесную БД для хранения настроек приложения норм или не оч идея?


Зачем полновесную? скулайт прикрути, тебе для любых настроек хватит. А держать ее можешь хоть в памяти, хоть на диске.
588 2263400
>>263388
Ну, я исходя из того, что полновесная и так нужна приложению, а так, в ней одна табличка с настройками добавилсь и при старте проинициализировали все дело.
589 2263401
>>262788
Если тебе от связанного списка нужно O(1) на получение элемента, то ты жестко проебался еще на этапе проектирования. Возвращайся к началу и переделывай.
590 2263410
>>263400
Ну это исходя из того зачем и как у тебя используется БД в приложении. Если чисто для технических нужд и внутренней логики, то в принципе еще одна табличка погоды не сделает. Если же у тебя там данные и логика бизнеса хранятся, то тут уже могут возникать проблемы. Начиная от того, что тебе постоянно придется учитывать эту таблицу, чтобы она не смешивалась с бизнесом (например экспорт/импорт, права доступа, хитрые индексации и т.д.). Плюс если потом будешь БД на другую менять можешь проблем огрести. А на скулайте по сути один раз сделать и забыть. И работать будет везде, независимо от среды.
591 2263455
Даже вот взять каст.
if (obj is User user)...
и просто котлинувскую версию, где есть тоже самое, но магией (автоматически) каститься все в переменную obj. Кажется настолько простая вещь в дизайне, но какое сильное решение.
Они могли бы тупо скопировать версию котлина и забить, но челики посидели и подумали и сделали явное действие, сведя на нет магию, где переменная не затеняется.
Видно что над фичами потеют и стараются все предвидеть.

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

>Если тебе от связанного списка нужно O(1) на получение элемента


В чем проблема?
593 2263488
>>263455
Чел, если тебе так нрввится котлин - на здоровье же.
Я вот в свое время почитал про него, взялся проект писать мелкий для своих нужд. Плевался постоянно, потому что все эти охуительные вещи - оказались нихуя не удобны во многих сулчаях, еще и всюду торчит хуйня из старой жавы. Блядь, почему ебучие майки могут для одного дотнета нормально поддержку всех языков: хош паскаль, хош - f#, хош - VB, все шо хош делай, а котлин, который под патранажем гугла делается - выглядит как тайпскрипт над жаваскриптом ебучий, т.е. не полноценный язык, а хуйня какая-то.
Короче. Я не знаю, чего ты горишь. Если тебе не нравится шарп, но хочется дотнета - можешь запилить поддержку котлина, делается это не так уж сложно, за месяц - справишься. А если тебе и дотнет не нравится, то в чем смысл всей этой хуйни?
594 2263514
>>263488
с чего ты взял что мне не нравится шарп?
шарп мой основной и любимый язык. Я его использую с его рождения и до сих пор причем на острие (благо работа позволяет)

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

На котлине код лаконичнее и выразительнее - просто факт.
595 2263565
>>263488
Ничего, что я про конструкцию из дотнета и за дотнет говорю?
Вы биороботы, вы даже не вникаете текст, а просто как роботы треггиритесь на раздражитель.
596 2263595
Сука, какой же вижуалстудио кал. Мало того что это говно медленное, весит минимум 20гб, имеет отвратительный интерфейс и шлёт всю порнуху с твоего компа лично Гейцу, так оно еще рандомно ломается. Просто на ровном сука месте. За три месяца мне пришлось эту парашу 4 раза переустанавливать. То у нее подсветка синтаксиса сломается, то она стандартную библиотеку перестаёт видеть, то метаданные не видит, то просто нахуй отказывается что-либо компилировать. Сегодня сломался установщик плагинов. Ах да, установщик плагинов отдельной программой. И необходимость перезапускать всю иде чтобы установить\обновить плагины. Ебаные мелкомягкие индусы горите в аду нахуй!
597 2263596
>>263595
ничего лучше нету увы
598 2263636
>>263595
Может у тебя винт сыпется?
599 2263638
>>263514

>На котлине код лаконичнее и выразительнее - просто факт.


Звездеж конфиренц.попугая, та же сама жаба ничего выразительного. Может на мобилках там модно и молодежно, но на бэкенде та же жаба, да еще с всплывающими вечно нюансами "100%" совместимости.

companion object -
mutableListOf
600 2263639
>>263638
Очень выразительно
companion object
mutableListOf
hashMapOf("a" to "x", "b" to "y", "c" to "zz")

Ну и вишенка на торте это печать символа $
println("${'$'}")
601 2263778
>>263638

>та же сама жаба ничего выразительного


>Может на мобилках там модно и молодежно, но на бэкенде та же жаба


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

>companion object -


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

>mutableListOf


а такое наоборот лучше чем new List<string> {}
выразительнее

>>263639

>hashMapOf("a" to "x", "b" to "y", "c" to "zz")


а вот это а to b ну да бред
один из WTF

>println("${'$'}")


простое экранирование через \ работает
602 2263830
>>263778

>семантике и устыдился


Даже глава проекта признал что наговнили и теперь это еще мешает.

>а такое наоборот лучше чем new List<string> {}


Не, куда лучше realEnterpriseMutableListBuilderOf()

>простое экранирование через \ работает


Хм, и правда пофиксили. Это очень забавно выглядело раньше, как-будто не учли этот момент и показали хак. То есть, в реале никто там в проде этот котлин толком и не тестил вообще
603 2264008
>>263596
Райдер +- неплох, но под виндой наверное лучше студию использовать.
604 2264365
>>263830

>Даже глава проекта признал что наговнили и теперь это еще мешает.


Где признался? что наговнили?
ну понятно что наговнили они во многом, но не тут.

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

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

>Не, куда лучше realEnterpriseMutableListBuilderOf()


не. лучше mutableListOf
не нужно утрировать.
605 2264401
>>247364
>>247358
>>247357 (OP)
Хах, спасибо насчет английского. Сейчас учу шарп по видео курсам Романа Труфанова, в данный момент учу web api asp. Net core 5. Немного касаюсь фронтенда. Надеюсь, стану прогером и полюблю кодинг
606 2264609
>>264365

>и если хочется расширить статический класс, то хрен там.


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

>наговнили они во многом


Речь про компаньоны я еще за тебя за нитью разговора должен следить?

>не нужно утрировать.


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

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

какие задачи на сишарпе решаете у себя на работе? какой выбор направлений есть, десктоп, бэкенд, etc?

нет, это не троллинг
608 2264727
>>264657
Думаю тут лучше какой-нибудь питон подойдёт. Заодно коллеги своим питоном поделятся.
609 2264730
>>264727
а кроме шаринга питонов между коллегами какие еще аргументы в пользу пайтон имеются?
610 2264752
Господа, вот я наконец освоил, так сказать, мечту, вкатился в it. Меня взяли в контору на постоянку на сорт оф фуллстак мидла (Шарп, sql, js, html). Начальство ценит, коллеги уважают. С задачами справляюсь, а с чем не справляюсь - гуглю. Но и вечно в этой конторе находится не буду, зп не космическая, перспективы туманные. Нужна что бы получить заветные год-два стажа.
Свободное время есть, хотелось бы и дальше развиваться, но что то я никак не решу, в какую сторону.
1. Глубже погружаться в шарп, паттерны, в алгоритмы, всякие деревья и т.д.
2. Сопутствующие технологии. JS фреймворки (vue, angular), сетевое администрирование, освоить линукс и т.д.
3. Начать писать свой пет проект для портфолио. До этого делал, но сейчас понимаю что он ужасен, надо с новыми знаниями.
4. Освоить второй язык. Варианты - Java для мобилок, Питон потому что модно, руби, потому что есть знакомый рубист, который рубит просто горы зелени.
5. Податься во фриланс параллельно, благо время есть. Правда я плохо представляю что можно делать на шарпе для фриланса.
6. Ваш вариант?
Что б вы выбрали?
Screenshot2022-01-14-12-41-32-890ru.hh.android.jpg620 Кб, 1440x3200
611 2264763

>55000


>От года работы


Ебало представили
Скриншот 14-01-2022 125025.jpg92 Кб, 799x449
612 2264769
>>264763
Не обязательно же на первый попавшийся вариант бросаться.
613 2264847
>>264609

>Безумие не знает границ.


Не читал(использовал), но осуждаю (с)

>Поля/методы статического класса, это форма представление этого самого класса и больше никого


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

>Наследование по статике это уже каша для предметной области ООП


Бред. Ничем наследование по статике не грозит, кроме удобства. Расширение по статике несет столько же вреда, сколько методы расширения для экземпляров или методы в интерфейсах
Ты все равно не сможешь эту статику никуда передать вместо экземпляра. А не заводить новый класс ClassEx приятно

>Речь про компаньоны


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

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


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

В шарпе вон даже контрактное программирование не взлетело
Какое то отношение "да все будет норм".
614 2264851
>>247357 (OP)
Здравствуйте. Возникла, у меня, следующая проблема. Дело в том, что в Visual Studio у меня, почему то, при создания проекта нету возможности создания консольного приложения. Установил уже какие только можно компонентыпик 2, но возможность создания консольного приложения так и не появляется. Пытался решить проблему через гугл, но ничего не вышло. Как можно решить данную проблему?
615 2264855
>>264851
Хорошая привычна - не ставить локализацию на студию, чтобы вот так не пришлось потом гадать что гуглить
Не нужно вбивать "консоль", посмотри там же выпадающий список что там за варианты и как они написаны
616 2264868
>>264769
Я уже наизусть знаю, эти ебланы скорее мидла ищут, там же написано
502 Абу уебан азерский чмо
617 2264979
>>264657
Я недавно видел трапа в документации к либе FastReport, еще думал мб в тред кинуть.
618 2265071
https://krausest.github.io/js-framework-benchmark/current.html
Выбирал на чём бы потеребонькать сделать морду для пет проекта, вспомнил что там майки выпустили, решил посмотреть... и хрюкнул кекнул в гiлос. Хуйперформанс вротенд технология насасываяе у жопаскрипта. Индусы там походу уже всех вытеснили.
619 2265114
>>265071
Ох уж это сравниватели
1 wasm by design работает медленнее с DOM
2 нужно учитывать еще и работу программиста.
Одно дело когда задал шаблон а-ля WPF DataTemplate и забыл, а другое когда ручками кодишь изменение этого шаблона

но зачем такие тонкости, ведь дрочим на цифирь
(сам я блазор не использую, просто глянул код бенчей и кто там с кем соревнуется)
620 2265148
>>265114

>1 wasm by design работает медленнее с DOM


Пик 1. Даже пидораст со сборкой мусора несмотря на все "проблемы" работает с домом на уровне ванильного жса.

>2 нужно учитывать еще и работу программиста.


Пик 2. Даже реакт-лайк залупа на нём же, написанная полутора трапами поверх попенсорсной хуиты от полутора энтузиастов, ебёт блейзор, в который ввалили бабла больше чем вся твоя семья заработала за твою жизнь. Это пиздец билли, индусы всё проебали.
Снимок экрана 2022-01-14 в 21.43.56.png321 Кб, 830x1908
621 2265159
Ладно бы только проёб в скорости работы с домом от 2 до 20 раз, так оно ещё весит в 15 раз больше и даже памяти жрёт больше.
Хуй знает на что я надеялся, опять жабу в бровзер принесли.
622 2265202
>>264979
Ты их исходники видел? Не удивлюсь, если там все трапы.
623 2265352
>>265148
>>265159
Допилят, говорят еще МС в хром котрибутить стал, поэтому по-любому допилят. очевидно что молодые болячки, редко при запуске оптимизируют сразу, сначала важны фичи. В общем, как-то один анон ванговал про будущее и появление движков на вебассембле, вероятно blazor будет одним из первопроходцем. Собственное реакто-макакам уже припекает.
624 2265524
Сука, как я должен использовать вашу Авалонию если нормального XAML дизайнера нет на Linux, кроме платного ЖидБрейнс, который я вообще никогда не юзал? Получается мне легче UI на React/TS делать.
sage 625 2265534
>>265524

WINDOWS MUSTDIE
@
ПОСТАВИЛ ПИНУС
@
ДЕСЯТЬ ТРЕДОВ НОЕШЬ ЧТО В ЛИНЕ НИХУЯ НЕ РАБОТАЕТ

типичный мамкин линуксоид
626 2265540
>>265534
Чел, я на работе сижу с винды на VS и вообще бэк делаю только.

Хотел поковырять дома на пингвине кросс-платформенный .NET GUI - оказывается нормально делать можно только с блендером ваш XAML или платным райдером.
627 2265591
>>265540
Забавно что VS тоже денег стоит (и райдер на винде тоже денег стоит!!!).
Что там с блендером не так?
628 2265600
>>265540
Вот у него пердак порвется, когда все на MAUI переедут.
Ты походу какой-то фронтендщик, тебе тут с таким взглядом не выжить.
629 2265603
>>265352
Вряд ли что-то к лучшему сильно изменится. Изначально webassembly предполагался не как замена js и его фреймворкам, а как способ запускать использовать компилируемые языки вроде C/C++/Rust в браузере для тяжелой графики. Это не про сайты и не про формочки, а про какие-нибудь raytracer'ы и физические движки, шобы можно было игры запускать. Тащить managed языки в вебасм смысла нет никакого. Даже тот же Go, который компилируется в бинарник и у которого довольно легковесный рантайм, считается медленным для вебасма и его там никто не использует, хотя такая возможность есть. Затянуть огромный и тяжелый дотнет в webasm, да еще и чтобы он быстро работал, это что-то на уровне фантастики.

В MS каким-то хуем решили, что на вебасме можно будет крутить сайты-однострачничники (ведь именно для этого создан blazor). Идея конечно полная хуйня, сайты-одностраничники на дотнете никто в принципе не делает, а большие проекты на блазоре точно делать никто в здравом уме не станет. В итоге получается этакая технология Silverlight v2, которая опять окажется никому не нужна и отомрет через несколько лет.
630 2265604
>>265600
MAUI на пингвинах не будет официально поддерживаться.
631 2265608
>>262163

>пук


Если хочешь написать что-то в тред, то пиши по делу, а не засоряй его своими тупыми высказываниями.
632 2265619
>>265608

>пук

image.png684 Кб, 1024x638
633 2265629
>>265604
Написано же что через поддержку комьюнити. Он же линупсоид, вот пускай пишет.
Пинус-десктоп очень важная платформа, как не читаешь форум все кросс-пинус спрашивают, вот наверное за столько лет уже мильён окошек кроссплатформенных понаписали, да? Мудачье, даже для своей платформы не могут нормальные морды к настройкам сделать, за то в каждом треде на каждом форме с пеной у рта кричат про необходимость кроссплатформы для своих 2% пользователей
634 2265642
>>265629
Жаль, что MS так и не выпустит нормальные UI для десктопа под линукс. Вообще, было бы неплохо, если MS сама запилила свое графическое окружение под линукс, и портировала хотя бы винформы туда. Был бы лютый вин, но на это нужно очень много денег, потому что десктопы на линухе сейчас в ужасном состоянии до сих пор пребывают.

А так в российских реалиях кроссплатформенный пинус десктоп был бы популярен. Всякие оборонные предприятия сейчас вынуждены неудобный Qt использовать по большей части.
635 2265646
>>265603
Какая же каша в голове. То есть, спрос на реакты, ангуляры показывает, что есть огромный спрос на веб-приложения (которые по сути являются костылем на js). А полноценное нативное веб-приложения (на васме) у него не востребовано.

Ты понимаешь насколько это абсурд и какое у тебя туннельное виденье технологий?
636 2265659
>>265642
Они сами себе не пишут, а тут в пустоту столько денег залить.
637 2265680
>>265646
На реакте и ангуляре написано очень много всего. Буквально каждый фронтенд сегодня - это либо реакт, либо ангуляр/vue. И работает все с неплохой скоростью. Почему это костыль я не знаю, так наверняка думаешь только ты и другие фанбои MS. Пересаживаться с js на webasm никто не планирует, это две разные технологии под разные задачи.

>>265646

>А полноценное нативное веб-приложения (на васме) у него не востребовано


Почему оно должно быть востребовано? Веб-приложения как правило включают в себя не только фронтенд, а еще и бекенд, где есть и БД, и интеграции с другими сервисами, и бизнес-логика и еще много всего.
Поместить это все один проект и заставить работать на клиенте у пользователя слабо представляется возможным, поэтому MS продвигает blazor как технологию для разработки простых одностраничных сайтов.
Другой вопрос, а нахуя нужен дотнет для этого, когда есть другие инструменты проверенные временем, которые к тому же показывают большую производительность, лол, хотя на нее в таких проектах похуй всем максимально.
И да, дотнет в васме не особо-то и нативный, в отличие от плюсов или раста.
С тем же успехом можно поинтересоваться, почему не взлетели и уже давно мертвы Silverlight/Adobe Flash/java апплеты. Почему webasm до сих пор очень мало кто использует, а фронтендеры на жопаскрипте нужны всем и каждому?
638 2265700
>>265600

>когда все на MAUI переедут.


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

Проще авалонию юзать
639 2265710
>>265680
Ты туп и ппц как графоманишь сотрясая воздух.

> Silverlight/Adobe Flash/java апплеты.


Флэш убили, он взлетел так, что 10 лет его убивали. Все остальное не зашло потому что требовались плагины (флеш же по дефолту шел, люди могли даже браузер поменять если флеша не было). Это настолько очевидно что просто даже писать лен.

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

Почему так медленно развивается - потому что нет прямой выгоды с написания движков. Только такие гиганты как МС могут себе позволить быть первопроходцами.
Шарп очень гибкий и у него большой потенциал в оптимизации, игры тому доказательство, а твои веб морды это совсем не рокет-сайнс.
640 2265737
>>265710
у шарпа большой потенциал в оптимизации?
641 2265742
>>265710

>HTML-документ херова пригоден под апплиухи, поэтому твой реакт и костыль



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

>>265710

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


А причем тут игры? Я конкретно про blazor говорю, который не для игр, а для веб-морд создан. Мне кажется, что это хуйня и не взлетит, потому что ничего нового ms не предлагает. Те же вебморды успешно пишутся на джаваскрипте. Пусть даже весь html и js - это сплошной костыль, но blazor от этого никуда не ушел по сути.
642 2265751
>>265642
Даже жаба честно рисовала окошки (сколько было попыток). Красноглазые не оценили. Им просто нравится, что где-то что-то кросс, но трогать они это не собираются, так, чисто на форумах побросаться. Сейчас видел бобёжку на реддите, когда слово кросс, не включало пинус.
643 2265762
>>265751
Жаба рисовала, но было слишком убого. Да и к тому же, зачем брать жабу, если есть Qt, который в нативный бинарник скомпилируется?
Собственно Qt поэтому и стал №1 UI фреймворком. На втором месте, конечно же, электрон.
644 2265766
>>265751

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


Телеграм, дискорд, слак - кроссплатформенные. Ты думаешь, что ими никто не пользуется на пингвинах? А VS Code?
Лично у меня почти весь используемый сторонний софт написан либо на Qt, либо на электроне, либо на Swing/AWT привет, JetBrains. Все кроссплафторменное. Если бы этой кроссплатформенности не было, думаю, популярны были бы совсем другие инструменты.
645 2265768
>>265762
Тогда зачем ты тот пост высрал, если шарп на вирт машине?
646 2265774
>>265768
Я к тому, что Winforms и WPF получились годными инструментами, в отличие от того, что есть в жабе для ГУИ.
UI фреймворки в жабе получились слишком убогими, это факт. Поэтому проще взять нормальный Qt, который к тому же не будет требовать установки JRE на машину или постоянно таскания за собой этой самой JRE.
Если бы MS портировали их под линь, то получилась бы убергоднота, немотря на то, что шарп на CLR работает, но увы, этого никогда не произойдет.
image.png218 Кб, 1766x236
647 2265777
>>265766

>никто не пользуется на пингвинах?


Сейчас бы переживать про 2% говна.
Когда говорят кроссплатформа, я думаю в первую очередь считают макось
image.png52 Кб, 1452x507
648 2265781
>>265774

>WPF


Ну вот есть же avalonia. И что, все стали под линукс писать?
Там даже её джетбрейнс юзает как-то.
649 2265788
>>265781
где есть? она написана 3.5 человеком
Только недавно вышла из статуса альфа (если вообще вышла - не слежу особо)
Под виндой выглядит не нативно, ну и шрифты мыло.
sage 650 2265969
>>265766

> у меня почти весь используемый сторонний софт написан либо на Qt, либо на электроне, либо на Swing/AWT


Мои соболезнования.
651 2266076
>>265352

>Собственное реакто-макакам уже припекает.


От лагов первопроходца, насасывающего даже поделиям 3,5 челов версии 0.0.3 и 0.2?
Ебало билли-фанбоя представили?
652 2266109
>>265710

>и у него большой потенциал в оптимизации


Такой потанцевал что челам пилящим юнити пришлось делать свой компилятор и несовместимые расширения языка для этой самой оптимизации.

>игры тому доказательство


Магнум опус игр на шарпе — это геншин импакт с мобильной графикой, успокойся.

>а твои веб морды это совсем не рокет-сайнс.


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

Тащемта, потому на жопаскрипт и есть спрос, потому что никто не в состоянии высрать замену. Гугл со своим дартом — обосрался и зачем-то этого ублюдка от жса и жабы потащил на мобилки, руиня крутой флаттер выбором языка, фейсбук высравший ризонмл — вообще забудем, майки — пока что самыек адекватные тут — начали с прикольного тайпскрипта типизация в котором по итогу не работает, а закончили каким-то сильверлайтом 2.0.
653 2266200
>>265591
Дура, перечитай ещё раз, на работе я предпочитаю сидеть с VS и мастдая, дома мне это нахуй не нужно. VS Code достаточно и покупать IDE для XAML я не собираюсь.

>>265600
Вкатыш, я пишу .NET бэк исключительно, ибо всё остальное не нужно. Во фронте вообще не ориентируюсь кроме пары компонентов в реакте на тайпскрипте в пет проекте. Хотел попробывать дома поковырять единственный дотнетовский кросс-платформенный ГУИ - авалонию. MAUI твой сдохнет как все остальные поделки корпорации в этом направлении.
654 2266402
>>266076
Смеется над дотнетом и кидает боевую картинку где ASP всех рвет. Пориджи, что с вами не так.
655 2266403
>>266109

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


Ну так чем не потанцевал? Попробуй иди на жабе свой компилятор сделай.
image.png1,5 Мб, 1280x720
656 2266404
>>266109

>Магнум опус игр на шарпе — это геншин импакт с мобильной графикой


Нуда, нуда. раст написан не на расте, лол
657 2266405
>>266200
Вот и спалился, сказочник.
Либо ультра джун, либо местный шизик сказочник.
658 2266489
>>266405
А в чем сказочник? Что MAUI - это подстилка для псин, очередной фреймфорк кампании? Так это все знают.
659 2266493
>>266489
В /b ты мог стать кем угодно - няшей стесняшей, успешным бизнесменном. Но нет, ты сидишь на зекаче и мимикрируешь под дотнетчика.
Сережка, ты вообще код пишешь или нет? Почему с го ушел?
660 2266521
>>266493
Вкатун в мастдай, чини детектор, а то вчера я у тебя был фронтовиком, сегодня гошником
661 2266535
>>266403
Причем тут жаба? Суть в том, что в юнити нет классической CLR, там стоит йоба-компилятор в С++, потому что производительности CLR для игр может быть недостаточно во многих случаях.
Это не потанцевал платформы, ты +- для любого языка можешь написать компилятор в С++. Вон, в VK изначально все было на пыхе написано, а потом они сделали kphp. Теперь нужно всем говорить, что у пыхи огромный потенцевал?
662 2266689
>>266404

>параша с мобильной графикой требующая 10 гб оперативки


Ну геншин импакт куда лучший пример, чем эта лагающая хуита с пустырями, чел.
663 2266692
>>266403
Да куча компиляторов есть, как для самой жабы так и для жвм языков. Только есть одно но — это в 9 из 10 случаев уже другие языки, просто на 90% с тем же синтаксисом, и потанцевал платформы они явно не показывают. Потому что отношения к ней не имеет.
664 2266732
>>266535

> что в юнити нет классической CLR, там стоит йоба-компилятор в С++


Почему не засудили?

>Вон, в VK


Это внутренняя кухня, а тут продукт.
665 2266733
>>266689
Что за переобувания налету?
666 2266737
>>266733
А в чём переобувания-то? Если ты играл в гнешин импакт и раст — первый намного качественнее сделан, лол. Хотя, ты, навено арма-говноед который к такому привык.
667 2266742
>>266733
А в чём переобувания-то? Если ты играл в гнешин импакт и раст — первый намного качественнее сделан, лол. Хотя, ты, навено арма-говноед который к такому привык.
668 2266752
>>266737
Уже арму приплел, ржу тут.
669 2267061
>>263595
Я студией непрерывно лет 6 уже пользуюсь. Не могу не нарадоваться. Пробовал другие IDE, в том числе и для других языков и просто блевал. Студия - это глыба, конечно.
670 2267092
>>266732
А почему должны были засудить? Или нельзя написать свой компилятор для сишарпа?
В любом случае, наверняка у них там все схвачено.
image.png19 Кб, 572x202
671 2267554
_editableCollection (ссылку на который извне получить нельзя) будет в CollectionChanged вечно хранить ссылки на каждый ReadOnlyObservableCollection, полученный методом GetReadOnlyObservableCollection() ?
672 2268213
Шарпач, поясни.
Смотрю код коллеги сеньера.

Примерно следующий код:

class UserController: ContorllerBase{
publc UserController(AppDbCtx ctx) => _ctx = ctx;

...
public IActionResult GetUsers() => new UserRepo(_ctx).GetUsers();
}

Ну, думаю вы поняли.
Так вот. Я тупой и не шарю. Но если UserRepo - не IDisposable - вся эта фигня с управлением жизненным циклом работать будет разве? Ну, т.е. да, я понимаю, что, наверное, когда-нибудь туда придет сборщик мусора и убъет объект репки, но типа не правильнее было бы - просто в конструкторе передать зависимость, и зарегистрировать ее как Scoped?
673 2268347
заебался я искать ТРУ инфу про mvvm, на каждом ру-ресурсе мало того что инфы нихуя особо нет, а там где есть то челы говорят что нихуя это не мввм и ваще нарушение паттерна. Короче подскажите где норм правильно описан mvvm с норм примерами кода желательно на русском, но можно и на англе...
674 2268349
>>268347
сука думаю ща прочитаю про mvvm и начну проектик которые хотел, и вот такой тупик, СПАСИТЕ...
676 2268423
Давайте будем объективны. C# — это так называемая "хуйня", если вы понимаете о чём я. Ведь все здесь согласятся с этим?
677 2268433
>>268354
ох. майки таки поняли, что все мввм фреймворки обладают фатальным недостатком - и исправили это

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

там еще сверху перпендикулярно MVVM
- навигация
- коммуникация
- DI
- Lifetime
но тут уже каждый понимает по своему в каждом фреймворке
678 2268453
Сап анончики. Такая ситуация неприятная, надо диплом писать. Шарага древняя, требования никакие, из языков - делфи. Несколько часов тратить на написание программы на этом языке нет никакого желания, гораздо полезнее будет на windows forms это сделать, хоть попрактикуюсь. Препода уговорил что бы я на C# писал диплом, решил файловый менеджер на listbox сделать. Но чёт выходит шляпа какая-то внешне неказистая и с кучей костылей.

Нахуя я рассказал такие подробности? Чтобы сразу было понятно что кроме перетаскивания кнопочек на формочку в делфи я ничем 2 года не занимался первые два курса мы вообще почти не программировали, так что их не считаю. С# несколько месяцев назад начал учить самостоятельно и знания весьма скромны.

Может подскажете что мне в качестве дипломной работы сделать? Я был бы очень признателен, если бы кто-то подсказал
679 2268484
>>268453
Не надо пытаться сразу что-то сложное сделать, начни с простых приложений. Сделай блокнот, калькулятор и т.д.
680 2268529
>>268213
Контекст задиспозится контейнером, репу сборщик соберет. Неясно нахера инжектить контекст в контроллер, а потом передавать в репозиторий, если норм поцоны инжектят контекст в репу, а репу уже куда требуется. Тут получается какая-то каша, вместо норм абстракции.
681 2268558
>>268453
А чем тебе файловый менеджер не угодил то?
Ну и как вариант, лучше разберись в wpf и на нём можно какую-нибудь игру запилить, интересных вариантов миллион, куда лучше чем скучную околоофисную приблуду.
682 2268583
>>268453

>диплом


>файловый менеджер на listbox


Это законно? Я думал там минимум надо машинлёрнинг, блокчлен и вот это все.
>>268529

>Неясно нахера инжектить контекст в контроллер, а потом передавать в репозиторий


Если так делает сеньор, то это вау, это недосягаемый полет мысли. Если это сделает ждун, то это сычев, блять, переделавай все нахер.
683 2268605
>>268583
Говорю же, у нас древние технологии. Мы сейчас изучаем Visual FoxPro…
684 2268610
>>268605
Я не про новизну технологий, а про уровень диплома. Файловый менеджер, как мне кажется, едва на курсач тянет. Но, видимо, какая шарага, такие и дипломные и дипломы.
685 2268627
>>268610
Ну да. Мы код почти не пишем :(

>>268558

>А чем тебе файловый менеджер не угодил то?



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

>>268484
>>268558

Спасибо, аноны
686 2268699
>>268627
А чем вы там занимаетесь? Всё по старинке, куча математики?
изображение.png18 Кб, 720x259
687 2268730
>>268433
вкратце: есть модель машины (Car), мы создаем в вьюмодели массив из машин, правильно ли это? пример из метанита.

допустим я понимаю, что во вью у нас разметка и биндинги к свойствам, а модель это по сути класс описывающий модель (например машину), но я не понимаю что должно быть во вьюмодели, где должны быть комманды, где списки/массивы объектов и т.д
image.png33 Кб, 810x439
688 2268751
Сложилось такое мнение, что мягким как-то все-равно на опенсорс, ну типа они увидели выгоду для облаков своих, или MAUI для андроида (оставив на обочине линукс). Ну, то есть, я думал изначально они хотят завоевать расположение коммьюните, но в реале им как-будто все равно.

Насколько я неправ? Просто, для себя считаю шарп наилучшим решением на сегодня, но не уверен насколько стоит инвестировать силы и время.
689 2268810
>>268730
бамп вопросу, объясните что должно вообще находиться в ViewModel
690 2268823
>>268751
Если им всё равно то зачем сделали открытую кроссплатформенную реализацию? Что за Чушь? Они активно развивают, для этого нужно время чтобы сделать хорошо
691 2268833
>>268751

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


Офк майкрософт — коммерческая компания делающая $ и им похуй на всё, что не приносит денег прямо или косвенно.

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

Нравится шарп — вкатывайся.
Хочешь гуй на линуксе на современном языке — посмотри на Compose Multiplatform, жидбрейнс на линукс точно не забьют.
692 2268849
>>268730
Ну вот этот ApplicationViewModel содержит данные которые вид будет рисовать. В этом и смысл.

А юзать ли Phone или делать PhoneViewModel...
1 ну если у тебя биндинг не Mode=OneTime, то без INPC будет утечка памяти. Иначе нормик
2 Если тебе нужно хранить еще что то, например IsSelected, то конечно ты не можешь это делать в Phone, ибо текущий выделенный пункт на экране это чисто UI-шное понятие и потому нужен будет PhoneViewModel

Делать ли PhoneViewModel как враппер или с такими же полями - фломастеры
693 2268896
>>268823
На само сообщество я не надеюсь, есть ли у них какой-то у мягких roadmap? Как они планируют развиваться?

>Compose Multiplatform


Это вроде как котлин? Так, вроде, он до бэкенда нормально не добрался? у джавы не очень де-факто стандарт либы, мне не заходит, какой бы там синтаксис не был
694 2268904
Что напиздеть на интервью про собственные проекты? Ну я там писал конечно немного, но что-то прям показать годного не могу. Просто рассказать что делал приложения по работе с данными из интернета, по записи в базу данных, и т.д?
695 2268912
>>268833

>Compose Multiplatform


Какая лютая фигня. Начиная с названия, я подумал это с мобильника вообще. Заканчивая попыткой захватит все и вся.

Пока мир пытается в вебассембли, а мягкие делают хотрелоад, чтобы удобно тыкать UI. Брейнсы, без флагманских фрейворков и даже нормальной стандартной либы, пытаются в лоб взять пьедестал js в веб. они даже не представляют, как далеко ушел фронтент и как эти примеры с получением DOM выглядят примитивно сейчас
696 2268931
>>268912

>как эти примеры с получением DOM выглядят примитивно сейчас


какие примеры?
куда ушел фронтенд?
Все эти react/flutter/swiftui/compose - они как братья выглядят. Разница в возможностях конкретного языка для выражения.
697 2268932
>>268912

>Начиная с названия, я подумал это с мобильника вообще


Ну оно изначально так и есть.

>Заканчивая попыткой захватит все и вся.


>пытаются в лоб взять пьедестал js в веб


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

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

>react/flutter/swiftui/compose - они как братья выглядят


Последние 3 про дом вообще ничего не знают, мне кажется он явно не о том.
699 2268957
>>268932

> которые на этом зарабатыввают


Они сами пишут что только какое-то там приложение JetBrains Toolbox App (на мильён пользователей) почему не 3 billion devices?. Вот когда эта штука с пруфами будет на их рабочей лошадке - IDE, тогда и посмотрим.

>история такая — начали пилить какую-то новую десктопную тулзу, на захотели тащить половину идеи ради гуя и кринжанули с авт/свинга


Так у них IDE же на подобие свинга? Как они кринжанули, если это их хлеб? Зачем вообще жабисты в Qt полезли.
В общем, это очень весело.
700 2268976
>>268957

>Вот когда эта штука с пруфами будет на их рабочей лошадке - IDE, тогда и посмотрим.


На ней уже вроде как делают Fleet.
Энивей это дело времени.

>Так у них IDE же на подобие свинга?


Да, они на лэндосе сами пишут для чего эту хуетень делают

>Excellent AWT and Swing interoperability.



>Как они кринжанули, если это их хлеб?


Ну ты бы наверно тоже кринжанул, если бы тебе на MFC и каком нибудь C++/CLR пришлось новый проект начинать, нет? Или хлеб не пахнет?
От жавы же как-то тоже кринжевать начали. Ахуенная логика у тебя, конечно.

>Зачем вообще жабисты в Qt полезли.


Не захотели хуйлион строк легаси тащить, видимо.
701 2269008
>>268976

>Энивей это дело времени.


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

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

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

Kotlin - 341 repository results
Rust - 565 repository results

Даже раст обогнал по числу реп, хотя у него чуть меньше было 2 года назад (где-то в районе ~250 было)
https://github.com/search?l=Rust&q=stars:>1000&type=Repositories
702 2269025
>>269008

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


так жависты динозавры люто ненавидящие современные подходы к программированию.
703 2269041
>>269025
Конечно, опять программисты не те, а политика развития верная всегда.

Смешно, но если бы кто-то изначально высрал бы подобие Kotlin -> LLVM (без JVM и тем более JS), то думаю, у такого продукта, шансов было бы куда больше.
704 2269043
>>269008

>Понял, опять нужно подождать.


Как с MAUI и вообще всем, что начали пилить меньше 3-5 лет назад.

>котлин станет мейнстримным языком


На андроиде таки стал. А в интерпрайзе и на джаву после 8 не переезжают.

>Высрали десктоп, который в эту эпоху знатно так затухает.


Ну разрабы-то с десктопов никуда не слезут пока не станет возможным провод в мозг въебать, они просто пилят продукт для себя.
Те же майки, очевидно, не будут догфудить MAUI на десктопах (ибо нахуя), и first class поддержка будет только у мобилок и винды (хотя последнее тоже не факт).

Короче, тут вопрос в том, стоит ли у того анона которому я изначально отвечал на кроссплатформенный десктоп или нет. Судя по его посту — ещё как, лол.
705 2269051
>>269041

>Kotlin -> LLVM


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

Это же язык задизайненный под жвм, лол.
706 2269090
>>269041

>Конечно, опять программисты не те


Да. программисты не те.
Это же жависты. Они пишут на многословном убогом языке. Им норм. И абсолютно не хотят ничего нового изучать.

>>269043

>На андроиде таки стал


Не стал. Стал рекомендуемым дефолтным, но не основным.
707 2269149
>>269051

>Kotlin -> LLVM


Ключевое слово "изначально", в реальности котлин появился как баг-фикс синтаксиса джавы, со всеми вытекающими. И только потом "это" начали портировать в native.
А мог бы стать хорошим полу/функциональным языком с вменяемым синтаксисом, без оглядки на жабу, с прикрученным подсчетом ссылок. На LLVM даже исключения есть, лол.
708 2269158
>>269043

>Как с MAUI и вообще всем


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

>На андроиде таки стал.


Так, что теперь на ведре надо изучать сразу два языка, жабу и котлин. "Даешь два языка, за ту же зарплату", красавцы.
Года два назад видел статистику, где жаба занимала более 50% кода на ведре
709 2269160
>>269090

>Не стал. Стал рекомендуемым дефолтным, но не основным.


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

>>269149
Тогда котлин не удалось бы затащить на мобилки. И вообще, что бы писали на котлине, не имея он совместимости с жабой? Сейчас ты можешь и на андроид бахать приложухи, и писать энтерпрайз на спринге.
image.png395 Кб, 1566x821
710 2269178
>>269043

>На андроиде таки стал


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

Котлин мог покорить бэкенд, и запилить флагман в виде какого-нибудь ASP.Spring или хотя бы унифицировать частоиспользуемые библиотеки (и не трогать пока native и js), в общем могли запилить свои батарейки (хотя бы как в го), чтобы люди не чувствовали что до сих пор пишут на той же джаве. Могли сделать многое, Но нет, они сделали нейтив, js и вот десктоп.
711 2269182
>>269090

>Не стал. Стал рекомендуемым дефолтным, но не основным.


По общему количеству кода — офк нет и не станет, по проектам — все либо уже переехали либо переезжают. Либо этот проект — телеграм под ведроид.

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

>>269158

>Так что цель была не супер десктоп, а больше чтобы потыкать в телефоны.


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

>Года два назад видел статистику, где жаба занимала более 50% кода на ведре


Так в этом году официальному форсу котлина на ведре только 3-й год будет.
712 2269189
>>269178

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


Ага, будет умирать как винда?
713 2269194
>>269178

>Котлин мог покорить бэкенд


От жабы этих библиотек там как говна. Да и языков, тащут вообще всё. Другой вопрос, нахуя тебе гигансткая залупа в стиле спринга/асп, язык с вм и всё вот это чтобы пилить микросервисы.
Питухон/го делают брррррррр тебе за щеку.
714 2269199
>>269182
Пишу прямым текстом - "думаю" (т.е. размышляю/фантазирую).
@
Анон упрекает, что я фантазирую.


У нынешнего зумерья память как у рыбки, контест трех постов так сложно в голове удержать.
715 2269216
C# — ХУЙНЯ
716 2269348
>>269216
Линус, не шали.
image.png31 Кб, 861x177
717 2269359
>>269216
Будешь ругаться и тебя купят!
718 2269680
Где можно найти годные туториалы по работе с базами данных? На Ютубе выдает дударя. На метаните скомкано. Можно на английском
719 2269935
Шарфисты, нужна помощь с автоматизацией. Пришло 10к запросов о наличии задолженности на ГИС ЖКХ, нужно всем проставить "нет" в этой графе на сайте. Может уже кто автоматизировал процесс?
Эта хуета будет приходить и дальше, скорее всего в таком же объёме
720 2269943
>>269935
Api там вроде открытый, но разобраться все ещё не могу
721 2269971
>>269680
Что именно тебя интересует? Администрирование, sql, орм'ы или внутреннее устройства бвз (индексы, связи, планировщик), а может acid или нормализация? Когда определишься сможешь нормальный запрос гуглу дать, а так... ну википедию почитай.
722 2270039
>>269971
Да самые основы, sql там
723 2270050
>>270039
Во-первых, есть тред по базам, где в шапке есть инфа для изучения. Во-вторых, если ты не можешь найти материал по основам sql, то это пиздец.
https://www.w3schools.com/sql/
https://www.guru99.com/sql.html
724 2270086
>>270050
А, то есть знания для Mysql подойдут для Microsoft? Спасибо
image.png42 Кб, 639x627
725 2270099
По MVVM так "правильно"?
В модели не должно быть ивентов, если они не нужны для самой модели, а ViewModel должна быть посредником на каждое свойство модели И она же должна вызывать ивенты?
726 2270173
>>270086
По большей части. Про мускул не скажу, но например, то что в mssql называется cross apply в postgresql называется lateral join, но суть одна, а в sqlite этого вообще нет.
image.png151 Кб, 1158x240
727 2270200
Двач, меня унижает моя тюльпа, она говорит что ее член больше код лучше чем мой, как мне фиксить мой код двач?
Она говорила что-то про рефлекции но она всегда говорит на ельфийском и я ничего не понимаю.
Пожалуйста помоги те уже нет сил терпеть этот презрительный взгляд
728 2270209
>>270099
модель - основная логика. ничего не знает про отображение, смотрят на нее или не смотрят. Ни про кого не знает.

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

вид отвечает за КАК отображать и знает про всех.

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

Лепить враппер вьюмодель для модели. Да - если она мутабельная. Но если рид онли то лень же
И даже если не рид онли то....
Например, в твоем классе Model (со скрина) не ожидается INPC (не вьюмодель же)...но все таки.

Вот вьюмодель может подписаться на INPC модели и когда модель улетела в свой слой (в котором конечно ничего не знают про вьюмодели) и там с ней что то происходит, то вьюмодель видит это и реагирует, а за ней и вид.

Нарушение ли это? Ну хз. Но если посмотреть на INPC, то там ничего "исключительно гуишного". По факту же это просто один из способов уведомления об изменениях. И лежит он в System.ComponentModel.

Да и враппер вокруг модели или же вьюмодель-клон модели - кому как удобно по ситуации.

вьюмодели - логическое место "где должен быть код относящийся к визуальному состоянию". Но не "какой это код". А потому в реализации вьюмоделей целый зоопарк - и прямые ссылки на рутовую вьюмодель во вложенных, и обычные события, и слабые события ака мессенджер, выставляют наружу Func<>, и контроллеры (которые призваны решить проблему "пипец вьюмодели тяжелые god-object, но опять же каждый понимает по своему) то есть MVVMC.
Например, лично мне не очень нравится подход "защищаемся от утечек памяти слабыми событиями, а если еще и Dispose нужно вызывать, то хер с ним" поэтому я использую подход с Lifetimes.

Так что.
это из разряда "как отображать или имеет ссылки на контролы (сборки визуальной части) и тому подобное?" - в вид
это из разряда "что отображается, содержит логику ЧТО отображать или состояние этого ЧТО отображать и не содержит ссылок на сборки из gui" - вьюмодели. Например, Visibility это просто флаг, но он ссылается на сборку из гуи, а потому во вьюмодели быть не должен. То есть правильная вьюмодель - если ты вынесешь их все в отдельную сборку, где не будет зависимость ни на какие System.Windows/PresentationFramework/Xaml и тому подобное и оно без проблем будет компилироваться.

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

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

вид отвечает за КАК отображать и знает про всех.

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

Лепить враппер вьюмодель для модели. Да - если она мутабельная. Но если рид онли то лень же
И даже если не рид онли то....
Например, в твоем классе Model (со скрина) не ожидается INPC (не вьюмодель же)...но все таки.

Вот вьюмодель может подписаться на INPC модели и когда модель улетела в свой слой (в котором конечно ничего не знают про вьюмодели) и там с ней что то происходит, то вьюмодель видит это и реагирует, а за ней и вид.

Нарушение ли это? Ну хз. Но если посмотреть на INPC, то там ничего "исключительно гуишного". По факту же это просто один из способов уведомления об изменениях. И лежит он в System.ComponentModel.

Да и враппер вокруг модели или же вьюмодель-клон модели - кому как удобно по ситуации.

вьюмодели - логическое место "где должен быть код относящийся к визуальному состоянию". Но не "какой это код". А потому в реализации вьюмоделей целый зоопарк - и прямые ссылки на рутовую вьюмодель во вложенных, и обычные события, и слабые события ака мессенджер, выставляют наружу Func<>, и контроллеры (которые призваны решить проблему "пипец вьюмодели тяжелые god-object, но опять же каждый понимает по своему) то есть MVVMC.
Например, лично мне не очень нравится подход "защищаемся от утечек памяти слабыми событиями, а если еще и Dispose нужно вызывать, то хер с ним" поэтому я использую подход с Lifetimes.

Так что.
это из разряда "как отображать или имеет ссылки на контролы (сборки визуальной части) и тому подобное?" - в вид
это из разряда "что отображается, содержит логику ЧТО отображать или состояние этого ЧТО отображать и не содержит ссылок на сборки из gui" - вьюмодели. Например, Visibility это просто флаг, но он ссылается на сборку из гуи, а потому во вьюмодели быть не должен. То есть правильная вьюмодель - если ты вынесешь их все в отдельную сборку, где не будет зависимость ни на какие System.Windows/PresentationFramework/Xaml и тому подобное и оно без проблем будет компилироваться.

остальное распихивается куда удобно
729 2270237
>>270209
Тогда получается, что... эээ... Если я запилю INotifyPropertyChanged в модели, то логично будет написать ВьюМодель так, чтобы она просто давала ссылку на модель и всё, потому что если дублировать свойства, то придётся и подписываться на ивент модели и перевызывать ивент ВьюМодели, и при этом имена свойств должны быть идентичными...

С другой стороны, если вдруг в дальнейшем для уже существующей модели с INotifyPropertyChanged приспичит написать ещё один ГУИ на другом фреймворке, который - чисто гипотетически - ожидает другой интерфейс и другие типы событий, то, при условии неизменности модели, мне придётся запилить ВьюМодель, которая вынужденно будет дубировать модель, подписываться на её PropetyChanged и вызывать другой ивент, генерируя для него совершенно новый объект, потому что иначе хер там, а не изменения, верно?
730 2270258
>>270237

>Если я запилю INotifyPropertyChanged в модели


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


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

> мне придётся запилить ВьюМодель


это ж другой гуи, у него свои правила и ему нужно вьюмодель - пишем вьюмодель.
731 2270271
>>270258

>Смотря зачем делать в модели INPC.


Я не знаю. Я просто потихоньку учусь. Чуть-чуть освоил шарп и почти сразу полез в ВПФ. Так что для меня

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


>UI контекст


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

>это ж другой гуи, у него свои правила и ему нужно вьюмодель - пишем вьюмодель.


Поэтому мне сейчас кажется, что вьюмодель должна таки дублировать модель и реализовывать ивенты, а модель не стоит захламлять ивентами для целей ГУИ.
732 2270303
>>270271

>чёрная магия


да никакой магии. Обновив свойство в другом потоке дернется OnPropertyChanged, который вызовет обновление контрола не из UI потока, на что тот ругнется исключением.
Потому модель может реализовывать INPC как средство нотификации об изменении своих свойств, но если ее свойства будут изменяться из других потоков, то без Dispatcher не обойтись, а это уже не дело модели знать про это
733 2270471
Что лучше, котлин или сишарп работаёбов прошу не беспокоить
734 2270519
>>270471
для чего лучше?
735 2270538
>>269680
Если апи открытый и единообразный, просто берешь HttpClient, Json.Net и посылаешь нужные запросы. Возможно предварительно надо будет залогиниться, тогда шлеш запрос на логин и в зависимости от схемы(токен или кука) - крепишь к последующим запросам.
Вообще, для автоматизации, можешь вместо шарпов взять постман, почитай инструкцию. Он умеет в переменные и жс, так что если данные в обычном жсоне гоняются или xml - просто собери их, потом в обычном цикле - нужный ответ пошли. Опять же плюс постмана в этом плане - можешь посмотреть как данные гоняются наглядно и сразу видеть что тебе пришло, что ты отправил, что ответили.
736 2270591
>>270519
Для разработки, очевидно.
737 2270605
>>270591
для разработки чего?
вот я на питоне разное быстрое прототипное или вообще что нужно быстро написать, где потоки не нужны или очень нужны батарейки.
на шарпе пишу фундаментальное, то есть где уже должно работать хорошо и долго. Ну и десктоп тоже, если нужно - ибо "а на чем еще" (на текущий момент)
а под андроид пишу на котлине, потому что выразительность котлина + jetpack compose (ну и конечно нативность) для меня превышают "не хочу изучать новый язык, есть же хамарин", а на не-андроиды мне с большой колокольни.
738 2270625
>>270605
90% Бэкенд (многолетний, по большой части монолитный).
10% разного рода консольные утилитки-хелперы (возможно некоторые не консольные, а с примитивным GUI'ем)
739 2270666
>>270625
ну выбор очевиден. если ты не жавист и нет зависимости от жава либ, то шарп
740 2270697
>>270666
Адовая рекомендация.
741 2270708
>>270697
ок. если у тебя нет зависимости от дотнета (а ее нет), то выбирай котлин. Но потом пеняй на себя
742 2270751
>>270708
Я про трипл.
743 2270896
есть один список List<int> list.

в ходе выполнения программы его длина должна быть равна 2 .
Console.WriteLine(list.Count) так и выводит 2.

но когда я собираюсь напечатать list[1] возникает ошибка 'Index was out of range. Must be non-negative and less than the size of the collection.

При этом Console.WriteLine(list[0]) и Console.WriteLine(list[-1]) срабатывают без ошибок

Перебор списка foreach тоже срабатывает без ошибок. Я не понимаю в чем дело, помогите
744 2270898
>>270896
то есть не Console.WriteLine(list[-1]) , а Console.WriteLine(list[^1])
745 2270917
>>270896
попробовал ещё кое-что. в итоге

Console.WriteLine(list[list.IndexOf(list[^1])]); // печатает что надо
Console.WriteLine(list[1]); // выдает ошибку,

причем list.IndexOf(list[^1]) возвращает 1 типа System.Int32
746 2271045
>>247357 (OP)
Сап ,аноны ,дайте совет зелени . Прочитал книжку по шарпу , хорошо освоил теорию , немного попрактиковался и меня взяли работать за еду. Работаю уже полтора месяца . Мне очень трудно , у меня все плохо получается . Бывает сижу очень долго с ерундовыми задачами ,который джун бы как орешки щелкал у меня позиция интерна. Понимаю ,что учиться надо было раньше ,но все же. Хожу на постоянном стрессе , меня постоянно троллит ментор и часто не понимает меня . Я не могу так больше работать . Один раз намекнул на вторую неделю работы ,чтобы я шел к директору увольняться ,но директор посмеялся и сказал остаться . Все через это проходят ? Сегодня просто был какой-то день ,что я почти выгорел . Стоит увольняться ,или это обычный путь всех начинающих ?
747 2271101
>>271045
Я за свои первые полтора месяца был самым счастливым человеком в офисе. Мне было глубоко параллельно, что о моем посредственном навыке думали окружающие, потому что писать код для меня это самое охуенное занятие какое только придумало человечество. А когда код работает и выполняет функции по тз, то этот момент круче, чем секс. Любой начальный стресс этого стоит.

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

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

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


Пидорас, пошёл нахуй. Я вот ищу третий месяц и нихуя нет. То интервью ебанутые, то спрашивают как с мидла.
749 2271167
Как взломать райдер? Раньше можно было продлевать 30-дневную лицензию, а сейчас они это прикрыли.
750 2271184
Как в консольный проект .NET 6 подключить System.Windows.Forms? Есть инструкции для Framework, но они уже не работают.
751 2271211
>>270917
Очевидно, у тебя в листе только один элемент.
6129084299.jpg748 Кб, 839x1200
752 2271225
Там это, вышло 5-е издание Библии C#!!!
753 2271230
>>271184
Что там может не работать? Подключаешь dll -> юзаешь
754 2271231
>>271230
Как подключить dll в Visual Studio 2022?
755 2271235
>>271231
Чел... Напиши тоже самое в гугл. Также как и VS2019
756 2271269
>>271235
Ты понимаешь, что просто dll и dll из комплекта .NET 6 - это разные вещи и они по разному подключаются. Если не знаешь, то лучше вообще не советуй. В гугле тоже пишут такие советчики, даже не понимая что отвечают. В итоге весь топ гугла - говно-советы не к месту по данному вопросу.
757 2271275
>>271269

>просто dll и dll из комплекта .NET 6 - это разные вещи


В чем принципиальная разница, без учета IL/машинный код

>по разному подключаются


Ну если ты пытаясь подключить нетовскую либу ищешь как подключать COM, то сам дурак. Хотя оно тоже подключается в том же окне.
758 2271291
>>271117
Ну я тоже не в первый день нашёл. Есть фидбек? Какие именно мидловские вопросы задают?
759 2271315
>>270625
Да вообще похуй, бери любой яп на который пипирка стоит, это не те области, где язык принципиален.
image.png135 Кб, 1158x240
760 2271329
Двач, меня унижает моя тюльпа, она говорит что ее член больше код лучше чем мой, как мне фиксить мой код двач?
Она говорила что-то про рефлекции но она всегда говорит на ельфийском и я ничего не понимаю.
Пожалуйста помоги те уже нет сил терпеть этот презрительный взгляд
761 2271345
>>271329
Прочитай книжку Стив Макконнелла "Совершенный код"
762 2271383
>>271230
Так уже не работает. Теперь другой принцип

>2271184


добавь
<UseWindowsForms>true</UseWindowsForms> в *.csproj
763 2271407
>>271383
error : неопознанный элемент <UseWindowsForms> в элементе <Project>
764 2271411
>>271407
да почему в Project то
в PropertyGroup надо. Ниже указания фреймворка допиши
и то что используется <Project Sdk="Microsoft.NET.Sdk"> уже само собой разумеется.
765 2271417
>>271407
ну и до кучи
подключить WPF
<UseWPF>true</UseWPF>

Убрать генерацию локазированных dll. всякие папки ru, zh-Hans
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
766 2271463
>>271225

> .net 5


чел...
767 2271481
>>271463
По .NET 6 только Прайс выпустил книгу и то её ещё не перевели.
768 2271496
Почему стоит выбрать C#
https://youtu.be/04WIzQOC-IM
769 2271502
>>271481

>не перевели


А зачем? Как вообще можно учить программирование на каком-то языке, если не знаешь хотя бы базового технического английского? Я вот тоже не особо могу в него, так я пользуюсь переводчиком на незнакомые или редкие слова, и этого хватает. Перевод мало того, что ждать дополнительно надо, так ещё и перевод может быть кривым.
770 2271506
>>271502
У Флёнова сразу на русском
771 2271513
>>271506
ага, спустя полтора года, да и к автору вопросы есть у обитателей интернета
772 2271567
Почему не выпускают книг по Blazor?
773 2271684
Поясните за XAML + MVVM шизоидов? Работаю в .NET уже больше трех лет, в основном веб + иногда ковыряю винФормс.

Вот эти все WPF, Xamarin, UWP, MAUI - это вообще что такое, типо эксперимент над разработчиками? Всегда, когда вижу обсуждения, вздыхаю с облегчением что не приходилось копаться в этом дерьме за исключением мелкого проекта на WPF.
774 2271691
Зырьте чего придумал https://ideone.com/3hTIWV
А? Круто? Круто же? А? Или не круто? Что думаете в общем? И вообще, чего я не учел и почему оно - говно по вашему менению?
775 2271714
>>271691
Там правда при отписке немного напартачил из-за того что при удалении проверяю handlers. Тяжело в блокнотике код писать(((
776 2271745
>>271691
Ну, заодно я поясню нахуя я эту хуйню придумал.
Хочу понизить связность кода. Вооот. Ну, типа меня заебало что я логгер постоянно дергаю а потом оказывается что какие-то сообщения - не особо-то и нужны и приходится по всему коду искать, где ж я это сообщение пишу в логгер. А так у меня будет LogHandler который реализует логгирование всех нужных мне событий, я в одном месте буду править логи и не нужно как ебалдуй бегать. При этом никакой статики. Статика ж зашквар вроде как. А дальше, может быть у меня будут какие-то события прикладного уровня, ну, типа я захочу статистику вести - сделаю Statistic и он будет реализовывать интерфейсы событий, по которым надо статистику.
Но меня конечно немного смущает что EventDispatcher - нужно передавать везде где будет подписка-отписка и события кидаться. Я пока не придумал как это решить.
777 2271768
>>271684
Аналогично хвалю богов что мне не приходится иметь дело с фронтедом, браузерами и прочей херней, а есть нормальный нативный фреймворк для построения GUI, а не ебанизм в виде электронов и хтмл с жс
778 2271790
>>271567
Потому что он нахуй никому не нужен. А книги кому-то надо продавать.
F пока его не допилят до состояния, когда он будет реально иметь хоть какое-то приемущество перед жопаскриптом — он и не станет никому нужен.

Проблема почти всех новых технологий, короче.
779 2271800
>>271684

>WPF, Xamarin, UWP, MAUI - это вообще что такое, типо эксперимент над разработчиками


Это же майкрософт, у них так всегда — везде есть фатальный недостаток.

Если ты не знаком с этой историей — можешь ознакомится с знаменитой пастой, которую почему-то стали забывать:
История программных революций от Microsoft, вкратце: Сначала были Windows API и DLL Hell. Революцией №1 было DDE – помните, как ссылки позволили нам создавать статусные строки, отражающие текущую цену акций Microsoft? Примерно тогда же Microsoft создала ресурс VERSION INFO, исключающий DLL Hell. Но другая группа в Microsoft нашла в DDE фатальный недостаток – его писали не они! Для решения этой проблемы они создали OLE (похожее на DDE, но другое), и я наивно вспоминаю докладчика на Microsoft-овской конференции, говорящего, что скоро Windows API перепишут как OLE API, и каждый элемент на экране будет ОСХ-ом. В OLE появились интерфейсы, исключающие DLL Hell. Помните болезнь с названием «по месту», при которой мы мечтали встроить все свои приложения в один (возможно, очень большой) документ Word? Где-то в то же время Microsoft уверовала в религию С++, возникла MFC решившая все наши проблемы еще раз. Но OLE не собиралась сложа руки смотреть на это, поэтому оно заново родилось под именем COM, и мы внезапно поняли, что OLE (или это было DDE?) будет всегда – и даже включает тщательно разработанную систему версий компонентов, исключающую DLL Hell. В это время группа отступников внутри Microsoft обнаружила в MFC фатальный недостаток – его писали не они! Они немедленно исправили этот недочет, создав ATL, который как MFC, но другой, и попытались спрятать все замечательные вещи, которым так упорно старалась обучить нас группа COM. Это заставило группу COM (или это было OLE?) переименоваться в ActiveX и выпустить около тонны новых интерфейсов (включая интерфейсы контроля версий, исключающие DLL Hell), а заодно возможность сделать весь код загружаемым через броузеры, прямо вместе с определяемыми пользователем вирусами (назло этим гадам из ATL!). Группа операционных систем громким криком, как забытый средний ребенок, потребовала внимания, сказав, что нам следует готовиться к Cairo, некой таинственной хреновине, которую никогда не могли даже толком описать, не то, что выпустить. К их чести, следует сказать, что они таки представили концепцию «System File Protection», исключающую DLL Hell. Но тут некая группа в Microsoft нашла фатальный недостаток в Java - её писали не они! Это было исправлено созданием то ли J, то ли Jole, а может, и ActiveJ (если честно, я просто не помню), точно такого же как Java, но другого. Это было круто, но Sun засудило Microsoft по какому-то дряхлому закону. Это была явная попытка задушить право Microsoft выпускать такие же продукты, как у других, но другие. Помните менеджера по J/Jole/ActiveJ, стучащего по столу туфлей и говорящего, что Microsoft никогда не бросит этот продукт? Глупец! Все это означало только одно – недостаток внимания к группе ActiveX (или это был COM?). Эта невероятно жизнерадостная толпа вернулась с COM+ и MTS наперевес (может, это стоило назвать ActiveX+?). Непонятно почему к MTS не приставили «COM» или «Active» или «X» или «+» – они меня просто потрясли этим! Они также грозились добавить + ко всем модным тогда выражениям. Примерно тогда же кое-кто начал вопить про «Windows DNA» (почему не DINA) и «Windows Washboard», и вопил некоторое время, но все это почило раньше, чем все поняли, что это было. К этому моменту Microsoft уже несколько лет с нарастающей тревогой наблюдала за интернет. Недавно они пришли к пониманию, что у Интернет есть фатальный недостаток: ну, вы поняли. И это приводит нас к текущему моменту и технологии .NET (произносится как «doughnut (пончик по-нашему)», но по-другому), похожей на Интернет, но с большим количеством пресс-релизов. Главное, что нужно очень четко понимать - .NET исключает DLL Hell. В .NET входит новый язык, C#, (выясняется, что в Active++ Jspresso был фатальный недостаток, от которого он и помер). .NET включает виртуальную машину, которую будут использовать все языки (видимо, из-за фатальных недостатков в процессорах Интел). .NET включает единую систему защиты (есть все-таки фатальный недостаток в хранении паролей не на серверах Microsoft). Реально проще перечислить вещи, которых .NET не включает. .NET наверняка революционно изменит Windows-программирование... примерно на год.
779 2271800
>>271684

>WPF, Xamarin, UWP, MAUI - это вообще что такое, типо эксперимент над разработчиками


Это же майкрософт, у них так всегда — везде есть фатальный недостаток.

Если ты не знаком с этой историей — можешь ознакомится с знаменитой пастой, которую почему-то стали забывать:
История программных революций от Microsoft, вкратце: Сначала были Windows API и DLL Hell. Революцией №1 было DDE – помните, как ссылки позволили нам создавать статусные строки, отражающие текущую цену акций Microsoft? Примерно тогда же Microsoft создала ресурс VERSION INFO, исключающий DLL Hell. Но другая группа в Microsoft нашла в DDE фатальный недостаток – его писали не они! Для решения этой проблемы они создали OLE (похожее на DDE, но другое), и я наивно вспоминаю докладчика на Microsoft-овской конференции, говорящего, что скоро Windows API перепишут как OLE API, и каждый элемент на экране будет ОСХ-ом. В OLE появились интерфейсы, исключающие DLL Hell. Помните болезнь с названием «по месту», при которой мы мечтали встроить все свои приложения в один (возможно, очень большой) документ Word? Где-то в то же время Microsoft уверовала в религию С++, возникла MFC решившая все наши проблемы еще раз. Но OLE не собиралась сложа руки смотреть на это, поэтому оно заново родилось под именем COM, и мы внезапно поняли, что OLE (или это было DDE?) будет всегда – и даже включает тщательно разработанную систему версий компонентов, исключающую DLL Hell. В это время группа отступников внутри Microsoft обнаружила в MFC фатальный недостаток – его писали не они! Они немедленно исправили этот недочет, создав ATL, который как MFC, но другой, и попытались спрятать все замечательные вещи, которым так упорно старалась обучить нас группа COM. Это заставило группу COM (или это было OLE?) переименоваться в ActiveX и выпустить около тонны новых интерфейсов (включая интерфейсы контроля версий, исключающие DLL Hell), а заодно возможность сделать весь код загружаемым через броузеры, прямо вместе с определяемыми пользователем вирусами (назло этим гадам из ATL!). Группа операционных систем громким криком, как забытый средний ребенок, потребовала внимания, сказав, что нам следует готовиться к Cairo, некой таинственной хреновине, которую никогда не могли даже толком описать, не то, что выпустить. К их чести, следует сказать, что они таки представили концепцию «System File Protection», исключающую DLL Hell. Но тут некая группа в Microsoft нашла фатальный недостаток в Java - её писали не они! Это было исправлено созданием то ли J, то ли Jole, а может, и ActiveJ (если честно, я просто не помню), точно такого же как Java, но другого. Это было круто, но Sun засудило Microsoft по какому-то дряхлому закону. Это была явная попытка задушить право Microsoft выпускать такие же продукты, как у других, но другие. Помните менеджера по J/Jole/ActiveJ, стучащего по столу туфлей и говорящего, что Microsoft никогда не бросит этот продукт? Глупец! Все это означало только одно – недостаток внимания к группе ActiveX (или это был COM?). Эта невероятно жизнерадостная толпа вернулась с COM+ и MTS наперевес (может, это стоило назвать ActiveX+?). Непонятно почему к MTS не приставили «COM» или «Active» или «X» или «+» – они меня просто потрясли этим! Они также грозились добавить + ко всем модным тогда выражениям. Примерно тогда же кое-кто начал вопить про «Windows DNA» (почему не DINA) и «Windows Washboard», и вопил некоторое время, но все это почило раньше, чем все поняли, что это было. К этому моменту Microsoft уже несколько лет с нарастающей тревогой наблюдала за интернет. Недавно они пришли к пониманию, что у Интернет есть фатальный недостаток: ну, вы поняли. И это приводит нас к текущему моменту и технологии .NET (произносится как «doughnut (пончик по-нашему)», но по-другому), похожей на Интернет, но с большим количеством пресс-релизов. Главное, что нужно очень четко понимать - .NET исключает DLL Hell. В .NET входит новый язык, C#, (выясняется, что в Active++ Jspresso был фатальный недостаток, от которого он и помер). .NET включает виртуальную машину, которую будут использовать все языки (видимо, из-за фатальных недостатков в процессорах Интел). .NET включает единую систему защиты (есть все-таки фатальный недостаток в хранении паролей не на серверах Microsoft). Реально проще перечислить вещи, которых .NET не включает. .NET наверняка революционно изменит Windows-программирование... примерно на год.
780 2271819
1. Как биндят команды/методы с разными айди скажем к кнопкам в датагриде (WPF), если проект не MVVM ?

2. Как через httpclient уже залогинившись допустим на сайте - получить с него куку session_id, хранить ее, и соотвественно далее нужные манипуляции проводить удерживая текущую сессию?
781 2271856
>>271800
Паста хоть и смешная, но явно писалась оч давно.
.NET - таки прочно закрепился. Как бы не крыли хуями, но формы все еще используются, просто обычно это локальное использование, для внутренних нужд, ну, а в вебе - там сейчас работы полно и на .net писать веб очень даж охуенно, разве что я не понял нахуя они сначала решили обучить людей женерик-хосту, который как-бы где хош используй, а потом выкатили для веба это вот говно с WebApplication. ИМХО - это апи - нахуй не упало если честно.
782 2271906
>>271800
Автор промахнулся, дотнет задержался не на год.
Вообще это нормальный этап эволюции, в рамках компании.

Не знаю какой сейчас фатальный недостаток у десктоп решений, но отказ от гуи линукса у MAUI, мне это напомнил про EEE. очень печально, я реально надеюсь, развитие дотнет кор, это не старая игра мягких
783 2271948
>>271856
Паста из 2001, офк в плане названий технологий устарела.
Но вот дух майков как компании передаёт и по сей день — только недавно было 2 дотнета, лол.

>>271906

>Вообще это нормальный этап эволюции, в рамках компании.


Конкретно в компании майкрософт.
Раз уж начали про гуйню, то давай посмотрим как дела с ней в других огородах:
1) Эпл — на маке есть AppKit, на афйоне есть UIKit, недавно на обоих появился SwiftUI. Политика компании — высирать большой монолит и катить его до следующего просёра ещё 20 лет.
2) Гугл — на андроиде есть нативный UI (не знаю, есть ли вообще название) и недавно выкатили Compose. В перерывах выходит хуйлион мелких либ, (на которые/с которых) все бегут туда-сюда. Политика компании — высрать что-то фундаментальное, жидко пердеть 2-3 раза в год до следующей большой какахи через на 10 лет.
3) Майкрософт — хуярим MFC последний апдейт — 17 год, оно живое, WinForms, WPF, WinUI, UWP, MAUI, Xamarin (хоть и не сами писали), недавно видел что-то про Blazor Desktop, вот будет хохма-то... И это не только с гуем так — оно так во всём. Политика компании — срать каждый год как можно больше, 1 какаха из 10 точно взлетит.
784 2272038
>>271291
На вакансии стажёра спрашивали реализацию собственного алгоритма сортировки который учитывал несколько условий, например чаще используются первые значения, а не весь список, про интернирование строки и замену её через unsafe (нахуя?)
785 2272046
>>272038

>собственного алгоритма сортировки


обыденность

>интернирование строки


проверка на знание некоторых деталей внутреннего устройства дотнета

>и замену её через unsafe


проверка на углубленные знания или на интерес ко всяким глубококопаниям

Кто знает. Может они ищут людей, которые увлечены программированием, а может и тех, для кого это не более чем ремесло.
786 2272098
>>271948
Ответ простой, эпл и гугл редко что делает для разработки. Гугл вообще выкатил на серьезных щах го и сказал жрите как хотите (и теперь у нас еще один узкоспецичный язык, но уже для микросервисов).

Так что мягкие, (вероятно, имея внутри конкурирующие группы), пилят наилучшие решения и получается как в опенсорс с 100500 решений в какой-то области.
Это лучше, чем тебе дадут свифт и скажут ешь! Неудачные решения должны затухать и исчезать.
Так что все нормально, загляни в какую-нить жабу, ты SQL фреймворков найдешь больше чем изучишь за жизнь (и все они не о чем).
787 2272126
>>271906

>отказ от гуи линукса у MAUI


Получается нет смысла изучать шарп?
788 2272148
>>271906

>гуи линукса у MAUI


Появится компания, которая запилит гуй, если будет востребовано майки их купят, а если нет, то зачем им лишний геморрой.
ХЗ, на самом деле кому нужен гуй на лине кроме 1,5 анонимов с двача. Десктоп и так полмертв, а на лине даже родиться не успел.
789 2272152
>>271948

>1 какаха из 10 точно взлетит


ВЕНЧУРНЫЙ ИНВЕСТОР
790 2272157
>>272126

>Получается нет смысла изучать шарп?


Если твоя цель писать гуи для пинуса, то ты где-то свернул не туда шарп, очевидно не твой друг.
791 2272164
>>272126
Весь попенсорс отдан попенсорсу (тот же MAUI, или полудохлая авалония), но реальность попенсорса такова, что никто там за идею не работает (только GNUтнутые).

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

Для меня шарп сейчас самый лучший язык для бэкенда со статической типизацией и перформансу. Котлин убивает жабье наследие, на го что-то многолетние писать кромя микрокаках больно.
792 2272166
>>272126
а зачем, там же консольки дрочат, а гуи для слабаков
793 2272168
>>272148
Вот захочу я себе запилить дискорд++, чтобы юзеры могли юзать в телефоне, на винде, на маке и линуксе. И получится, что с MAUI я сосну тунца.
794 2272191
>>272168
Ну соснешь и соснешь. Я же говорю майкам до полутора пилильщиком дискордов дела нет. Им линух только для облаков нужен.А если кто-то считает что на гуе под линь можно бабла срубить может запилить поддержку линя.
795 2272303
Всем привет,подскажите пожалуйста как через условный оператор обработать случай, когда массив имеет ссылку на null. Задача на codewars (If an empty value ( null, None, Nothing etc. ) is given instead of an array, or the given array is an empty list or a list with only 1 element, return 0.)
796 2272329
>>272168
Нравится, когда двачеры от лица компании говорят, как-будто что-то понимают.
Игра в опенсорсе простая, либо ты играешь со всеми, либо катишься к тунцам.
ЕЕЕ тут не пройдет.
797 2272473
С MAUI они меня в ноябре расстроили, а сейчас прям добили(((
798 2272483
Сап #арпач, в разработке проекта встал конструктивный вопрос, можете сказать за какую сторону вы?

Есть приложение на винформс C#, которое обращается кроме всего и в БД

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

2. Вынести абсолютно все обращения на сторону базы, обращаться только через вызовы фанки

Может пойти по третьему пути и селекты оставить в приложении, а запросы которые изменяют данные (инсерты, селекты, дропы) вынести в фанки?
799 2272628
>>272098

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


Ну так если бы майки не поступили с шарпом как эпл со свифтом — он сейчас был бы никому не нужен, как и 5 конкурирующих языков, бывших бы в разработке в таком случае.

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

>Так что все нормально, загляни в какую-нить жабу, ты SQL фреймворков найдешь больше чем изучишь за жизнь (и все они не о чем).


Очередную ORM написать — даже в одиночку не проблема, хуй знает к чему ты это вообще приплёл, можно с таким же успехом на жс фреймворки пальцем показать.
800 2272636
Раз MAUI не будет, то стоит перекатываться в Java?
801 2272637
>>272038
Ну вообще-то это не мидловские вопросы. Я тоже бывал на собесах ,где спрашивали вещи, которые я не помнил наизусть . Может у тебя просто плохо получилось себя продать
802 2272704
>>272126
На кой хуй тебе гуй? Еще и на шарпе? Ну реально?
Ну а если так нужен гуй, то хули ты как норм челы не поступишь? Гуй на какой-нибудь нативной платформе либо средствами ЖС, а основное приложение - на шарпе/любом удобном тебе языке, и общаешься либо по средствам своего протокола, либо как норм челы - рестом/rpc. На кой хуй это вот бредовое желание с тем чтобы учить одну технологию, чтобы все писать? Так - тебе только в си/плюсы, но ты там просто утонешь и нихуя не сделаешь в принципе.
Ну и да, гуй не нужон на деле. Поживешь годик на линухе - поймешь, что 99% задач - тупо быстрее и проще сделать в консольке, а гуй только чтобы видяшки/картинки смотреть и нужон.
803 2272711
>>272704

>Гуй на какой-нибудь нативной платформе либо средствами ЖС


выучил шарп - учи еще 1005000 языков. ну а хуле )

>либо как норм челы - рестом/rpc


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

>с тем чтобы учить одну технологию, чтобы все писать?


ответ кроется в этом вопросе )
804 2272720
>>271045
Не стесняйся спрашивать у тех кто рядом.
Только аутисты типа меня, которых мамка в детстве пиздила за 4 и единственный способ хотя бы как-то самоутвердиться у них был - научиться, способны в самостоятельное обучение. Ну и всякие гении и креативные личности с талантом, которым просто прет от всего подряд и сегодня они на скрипке играют, завтра компуктер изобретают, послезавтра ебут красоток.
Прими что ты не такой. Так вот. Тебе не стоит отчаиваться. Таких как ты - большинство. И ты должен понимать, что большинство челов вокруг - такие же, просто они уже прошли этап, получили навыки и могут спокойно справляться с рядом повседневных задач(обычно это семья и 2,5 профессии, т.е. когда ты освоишь кодинг, ты сможешь еще экономику/управление/что-то еще по выбору освоить и что-то третье-на средненьком уровне). А обучение обычных людей - всегда лучше происходит в группе. Ты смотришь на других, говоришь о своих проблемах, получаешь несколько решений, возможно появляется дискуссия о том как лучше и ты наблюдаешь, видишь аргументы тех кто шарит.
Короче. Я тебе про правило часа хотел пояснить. Делаешь таску. За час не понял как нормально сделать - гуглишь, выбираешь готовые решения которые как минимум выглядят компетентно, пытаешься их применить - не подходит - идешь к старшим и плачешься , какое ты чмо, что вот, я пытаюсь решить задачу, вроде как нашел 2-3-10 вариантов, но не знаю как лучше потому что: поясняешь хули ты не копипастнул первое из SO.
805 2272728
Сап, какие есть способы управления AD решеткой?
806 2272732
>>272711
Ну, по факту-то, сделать прям охуеть какой фреймворк для гуев - пиздецки сложно. Чтоб все-все-все. Вот, есть опенапи, есть родное апи системы чтоб окно создать и за мышкой и прочими устройствам следить. Дерзай.
Ну а хули? По факту-то реально если хочется кросплатформенного гуя, ты либо так делаешь, либо берешь браузерный движок и на жс пишешь, либо кучу костылей с платформа-специфичным кодом костыляешь. А, ну да, можешь попробовать жаву и понять что на деле - что-то сложнее пары кнопок, текстбоксов, галок и выпадающих менюшек - там так же не сделаешь просто так. Это все специфика гуев и нихуя ты не денешься от этого.
Хочешь на линуксе писать гуй - бери либы специфичные для линукса, бери си/плюсы/твой язык и пиши.

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


И покажи этих нормальных челов. А потом ответь, какого хуя даже в среде линукса эти нормальные челы не могут у себя порешать так, чтобы гуи от разных DE и наличия окружений - не падали и вели себя одинаково.
807 2272746
>>271045
У тебя ментор - токсик, еще и самоутверждается за счет таких как ты челов, у которых завышенные требования к себе.
Мне вот, допустим, дали на первой настоящей работе задачу: сделай нам коммуникационный сервер, чтоб 10к rps на нашем протоколе поверх ТЦП, чтоб с веб-мордой, кроссплатформенно и микросервисной архитектурой. Ну, я еблан и сделал. В итоге - круглые глаза, когда я при этом выжатый как лимон - прошу уволить меня. Типа, бля, ты за 3 месяца сделал то что наши челы до тебя 4 года делали-делали и дропнули не осилив все требования. А я - еще и съебланил, написав заявление, но отдал его своему руководителю, а он его просто выбросил, кек, потом узнал только что нужно было сразу идти либо в отдел кадров, либо к директору. В итоег еще год сидел ждал, не понимая, хули мне не отдают трудавую и плотят ЗП. Только когда был оффер с другой конторы, в которой придложили в 4 раза больше чем тут и мой жлоб-руководитель не решился пытаться выбить мне ЗП чтоб перебить это - таки нормально уволился и на втором месте понял, что это вот все было не нормально.
Короче. Не парься. Все тупят. И тупят много. Просто кто-то воспринимает тупняки как должное, либо сравнивает себя с собой же, а кто-то зачем-то смотрит на других и сам себя дрочит. Не дрочи себя и все будет ок.
808 2272750
вот только и хтмл + жс не является кросс. оно перекладывает кросс на движок браузера.
И на выходе получается говно - памяти жрет много, умеет мало, выглядит как веб.

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


это нерентабельно. А энтузиасты делают, но им еще и жить на что то надо.

Лично я для кросс возьму авалонию если нужно будет.
правда там выглядит не нативно (как будто хтмл нативно выглядит) и беда со шрифтами (внезапно под винду), впрочем такая же беда и в хромодвижках (а значит электронах и прочем)
809 2272755
>>272750
Сделать кросс в движке бровсера - проще. Няша. Ты думаешь, почему опенгл - не имеет своего механизма окошек и прочего и чтобы само окно отрисовать в которое ты уже передашь контекст, все еще нужны какие-то костыли в виде glut, sdl или еще чего-то? Потому что если мы хотим делать общее решение - мы должны абстрагироваться от конкретной платформы. И да, выглядеть будет не нативно. В контексте опенгла - не так страшно, потому что там обычно костылают свое все время и не нужны РОДНЫЕ компоненты.
810 2272761
>>272755

>Сделать кросс в движке бровсера - проще


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

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


>И да, выглядеть будет не нативно


то же самое делает авалония. в чем разница?
811 2272779
Сап двач, устроился 3 месяца назад на первую работу и у меня ощущение, что я там деградирую, а не расту. Как бы в теории я вижу больше, знаю больше, но из практики у меня только писание эндпоинтов и юнит тестов к ним. Проект вроде интересный, много чего можно выучить, но мне почему то так похуй на него.. и пропало любое желание учить что то связанное с кодингом в не рабочее время. До того как устроиться на работу я очень любил читать умные книжки рассказывающие внутреннее устройство языка, в первые дни работы начал читать CLR via C# и дропнул его потому что мне было ну максимально скучно, хотя зная себя мне такие вещи нравятся больше всего.. В общем вопрос у всех было вначале так или я один из тех долбаебов которые ошибся с професией
21 лвл доучиваюсь в универе еще
812 2272782
>>272761
Вы все здесь забываете, что кросс-платформа - это 99% не про Линукс. Имеется в виду Windows/Mac + iOS/Android. На данный момент альтернатив вебу нету.

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

Поэтому все эти потуги в виде флатера, ксамарина, авалонии ни к чёму в итоге не приведут.

В любом случае, когда нужна кросс-платформа здесь и сразу - это значит кабан тупо хочет сэкономить. Правильно делать полноценный API + клиент к вебу, а потом нанимать разработчиков отдельно для нативных клиентов, если нужно. Кароче фулл-стек - это всегда игрушка кабана, не лезьте туда, и не выдумывайте якобы проблему отсутствия кросс-платформенного ГУИ, нахуй он нам не нужон этот ваш кросс-платформенный ГУИ.
813 2272805
>>272782

>На данный момент альтернатив вебу нету.


скажите это телеграму.

>Всё попытки сделать GUI на все платформы выливаются в переизобретение браузеров


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

>Поэтому все эти потуги в виде флатера, ксамарина, авалонии ни к чёму в итоге не приведут


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

>нахуй он нам не нужон этот ваш кросс-платформенный ГУИ.


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

> В любом случае, когда нужна кросс-платформа здесь и сразу - это значит кабан тупо хочет сэкономить


Неистово двачую.
Говорю это как бывший замарин разраб.
815 2272810
>>272779

>CLR via C#


Такие книги невозможно просто взять и читать. Я например могу раз в неделю загореться и прочесть какую-нибудь главу. Можно взять некоторые главы в начале, где рассказывается про heap/stack, GC, типы, но читать в упор эту книгу - это плохая затея.

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

Чтобы не выгорать на работе можно почитывать reddit, stack-overflow, ycombinator, например по темам Why Entity Framework sucks или OOP sucks - там будут разные дискуссии, которые заставят тебе смотреть взглядом других людей и ты сможешь так развиваться и анализировать свой код, потому что локально у тебя всегда ограниченный круг мнений о конкретно твоем проекте и о том что ты делаешь.
816 2272814
>>272805

>скажите это телеграму


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

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

Бля. Я к чему. Профессия нужна чтоб бвбло зарабатывать. Когда у тебя будут скиллы - сможешь свалить на то что больше нравится. Если уж совсем-совсем не нравится и ты прям уверен что это не из-за того что ты что-то другое ожидал, думал что ты там будешь ежедневно сложные задачи решать, на которые годы положили лучшие умы и тут пришел такой ты и все порешал, то да, профессия таки во многом не такая, тут нужно делать много однотипной хуйни и стараться делать ее максимально качественно и быстро(соответственно и дорого). А пилить что-то интересное тебе или чем-то еще заниматься, можно и в свободное время.
818 2272817
>>272805
Более того, те проблемы, которые ты говоришь, что проблемы

>флаттера - дарт


>ксамарина проблема - внезапно шарп


когда это совсем не проблемы для больших проектов.

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

>React Native


>Flutter


>Xamarin


>Avalonia


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

>>272814
819 2272821
Какой я дебил.
Блядь.
Придумал охуевшее решение с семафорами, из-за которого в одном конкретном запросе - просидает перформанс, вместо того чтобы просто кидать Task в очередь и ждать его там где мне надо. Пиздец я даун(((
image.png53 Кб, 923x244
820 2272891
Почему не работает? Как обратиться к последнему элементу?
821 2272982
>>272817
да я уже вообще запутался за что ты топишь
лично я топлю против технологий "делаем все в браузере на богомерзком жс, да еще связываясь с ядром приложения будто это сервер какой то"
822 2273037
Как изучать ASP.NET? Уже третий раз берусь его освоить, но нифига не понимаю.
823 2273038
>>272711

>выучил шарп - учи еще 1005000 языков


Кстати, заметил, что многие вакансии на шарп требуют ещё и знания фронтенда. В то время как вакансии джава - это чистый бекенд без фронта.
824 2273050
>>273037
Ты пробовал выключить и включить?
825 2273052
>>273037
Ну там, короче, ехала лямбда через лямбду, внедряла зависимость через зависимость
826 2273053
>>273038
Жабий тырпрайз разросся до такой степени, что для крудинга нужен отдельный спец. В реале это еще связанно с тем, что надо знать 100500 либ, в шарпе же многое унифицировано. жабу тоже когда-то пытались, но возможностей не хватило
827 2273075
>>272891
Потому что те кто делали JArray не имплементировали эту фичу(возможно из-за необходимости обратной совместимости со старым фреймворком, где еще не ввели слайсы). Используй стандартный подход с Count-1. Либо линку TakeLast(1)
image.png60 Кб, 880x527
828 2273079
Кстати к слову о зоопарке микрософт. Допустим, что мне НЕ надо кросплатформенность, просто гуи софт под винду написать(не спрашивайте, зачем). Что сейчас является каноном под вин 10+? Как я понял, последнее, что они высрали, это winui 3. Но как же я проиграл с названия видео и первого же коммента. Т.е. по факту очередной высер МС, который конкурирует с остальными высерами.
829 2273110
>>273079
Раз не говоришь зачем, то формочки
830 2273116
>>272728
Ап. Я, конечно, нашел майковскую библиотеку, но до конца еще не вникал, какие возможности по управлению АД она предоставляет
831 2273122
>>273079
Лучшее решение что они придумали для гуи - винформы. Это просто лучший инструмент именно для программистов. Решения с WPF-UWP и прочим калом, это попытки выкатить говно, для средних и больших команд, где есть дизайнеры, которые условно не в состоянии нормально писать приложения, но при этом могли бы делать тот самый дизайн, темки и это вот все говно. Тебе как программисту, если ты собираешься писать софт в соло или небольшой команде - винформы будут охуеть как удобны. При этом винформы - самый логичный инструмент из всех, и самый экономичный в плане ресурсов. Лучше только голове винапи, но в таком случае тебе бы больше подошли плюсы.
832 2273214
>>273079
Юзай Лазарус
833 2273215
>>273079
Юзай Лазарус
834 2273314
>>273122

>винформы будут охуеть как удобны


ровно до тех пор пока не захочешь свой вид контрола
и с этого момента понимаешь, что WPF круче
835 2273369
>>273122
Есть книги по винформам? Раньше Петзольд писал, но там жуткое старьё и сейчас уже нигде не найдёшь книгу, а то, что выложено - кривой скан с пропуском страниц и не читабельный.
836 2273412
>>272483
Бамп или никто с БД не работает?
837 2273416
>>272483
1. This.
2. Выиграть 0.000001 сек на каждый запрос на парсинге и проебать в поддерживаемости и гибкости. 12/10.

>Может пойти по третьему пути и селекты оставить в приложении, а запросы которые изменяют данные (инсерты, селекты, дропы) вынести в фанки?


Успокойся и оставь базу данных базой данных.
838 2273460
>>273075
Ооо спасибо
839 2273472
Есть основной проект в solution и есть проект побочный. У побочного проекта есть своё окно с вьюхами. Можно ли как-то через datatemplate добавить окно побочного проекта на окно основного? Лично что-то пока не совсем понимаю, как это сделать
840 2273475
>>273472
точно так же, как будто эти вьюхи лежат в твоем основном проекте, просто в другом неймспейсе. Никакой разницы нет.
841 2273504
>>273416
Я сам за первый вариант, но как его обосновать?
Мне говорят что так всегда разрабатывались клиент серверные приложения, что это быстрее и безопаснее и что можно не перекомпилируя проект внести изменения на стороне базы.

Я пытаюсь рбъяснить что это все превратит дальнейшую разработку и поддержку в ад, но нужны пруфы несостоятельности второго подхода.
842 2273566
Собираюсь попробовать запилить extension для visual studio 2022. На чет там можно писать gui? Мне нужно будет всякие кастомные tool windows делать. winforms? wfp? Или что там сейчас вообще?
843 2273612
Парни, что можете сказать по этому бесплатному курсу по C# ?
Хочу вкатится в GamerDev, практически ничего не смыслю в программировании, но как основа для будущего как оно?
https://www.youtube.com/watch?v=KyFWqbRfWIA&list=PLQOaTSbfxUtD6kMmAYc8Fooqya3pjLs1N&index=1&t=1s&ab_channel=#SimpleCode
844 2273647
>>273566
ну тулз винды на WPF можно
а вот то что в Options - там похоже только винформсы
845 2273671
>>273612
Чел что канал ведет - не дотнетчик. Скорее всего плюсовик, который использует .net из-за удобства и простоты. Часто подсматривает SO.
Для нуба - там все равно много полезного, наверное. Если прям совсем ничего не знаешь. Рассказывает довольно просто и понятно. Но видно что ООП это не совсем его.
Короче. Я к чему. Если совсем нуб - то норм вполне. Просто-понятно и быстро.
Я бы советовал таки видосики с тем лысым хреном с ITVDN. Хотя для игродела будующего - там много кишочков дотнета, которые будут лишними в юнити.
Вообще. Да. Я тут подумал. Наверное именно симплкод для освоения основ и потом переходить к примерам которые сами юнити как обучающие дают - самое то для нуба. Хотя я бы конечно таки лысого хера с ITVDN советовал, он разжевывает так хорошо, и при этом много кишков, которые таки не в геймдеве - полезны оказываются.
846 2273677
>>273671
Спасибо большое за ответ, обязательно чекну ITVDN.
847 2273685
>>273677
На всякий случай таки уточню, что именно с лысым дядькой. Там есть несколько вариантов курса. Те что с лысым дядькой - годные.
Ну и да. Они есть на торрентах если что. И часть на ютубе.
848 2273702
>>273504

>Я сам за первый вариант, но как его обосновать?


Вот так

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



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


Нельзя, чел. Ты просто сломаешь код в 9 из 10 случаев.

>но нужны пруфы несостоятельности второго подхода.


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

Иначе ты делаешь из базы данных часть приложения, лепя их в монолит. Что сломается в какой части при изменении какой-то хранимки — с ростом проекта будет расти и геморой, а если кому-то придёт идея побить проект по частям/сделать ещё один — этот геморой моментально лопнет нахуй, как и разобраться в хуйлиарде хранимок под каждый кейс, которые будут копится с каждой итерацией, на всякий пожарный или потому что какую-то часть решили оставить так.
849 2273710
>>273671

>ITVDN


Скоро там весенний набор на дотнет-разработчика?
850 2273823
У меня серьезный вопрос.
Неужели я один такой, кому не норм что в у шарпа нет нормального фреймворка для разработки сетевых приложений? Типа да, я понимаю, что те кто вкатились - скорее всего по хэтэтэпе гоняют жсоны, а те кому таки нужно было в свое время - просто брали сокет в руки и скорее всего боятся что-то там допиливать, типа работает и хуй с ним.
Но блин. Меня эт напрягает. Я хочу чтоб у дотнета был нормальный, мать его фреймворк не привязанный к конкретному протоколу. При этом чтобы большая часть плюшек асп была валидной. Но сук. Я ж не смогу в соло это сделать в контексте долговременной поддержки.
Типа да, я таки могу сделать пруф оф концепт в соло, но как потом с этим быть? Я же не смогу его вечно поддерживать, а чтобы пользовались - нужно всякие кодеки будет писать, новые технологии впихивать и т.д.
Короче. У меня вопрос. Как привлечь внимание майков, если я таки сделаю свою хуйню, которую хочу подарить миру, чтобы каждый васян потом мог быстренько свой прикладной протокол придумать и на его основе уже свое клиент-серверное приложение делать.
851 2273960
>>273702
Спасибо, попытаюсь донести.

А можешь что сказать про использование nhibernate (с orm не работал, но движение в его сторону мне кажется перспективным, nhibernate выбрал рандомно), если все перевести на него? Там же тогда не будет гемора с sql кодом? Правда не знаю что там и как со сложнымы запросами с подзапросами и кучей проверок, но такое буквально есть в нескольких местах.
Еще он же может работать без локального кеширования таблиц, если таблицы тяжелые?
852 2274218
>>273823
Пишешь. Поддерживаешь. Создаешь вокруг продукта коммьюнити. Привлекаешь туда заинтересованных. Пишешь статьи. Публикуешь на профильных ресурсах. Выступаешь на конференциях с докладами. Общаешься с нужными людьми. Если у твоего продукта есть потанцевал, то вполне возможно, что тебя заметят и выкупят/инвестируют.
853 2274233
>>273823
Чем тебе имеющиеся либы не нравятся? Или тебе надо чтобы о них рассказали сначала на конференции. Типа либа если не с конфы, то фи? В первой же найденной либе есть пример клиент-серверного кода и даже гифкой!
854 2274335
>>274233

> Чем тебе имеющиеся либы не нравятся?


Тем что все что есть, по факту, это попытка netty портировать на .net, которая заброшена(оно вроде как работает, но некоторые баги так и не закрыты, да и не уверен я что оно Production Ready), есть NetCoreServer, который с точки зрения плюшек - чуть лучше сокетов и не ООПшный по сути, там просто есть клиент, есть сервер - дальше сам пили контексты, кодеки и следи за буффером и стейтом сессии. Есть еще WatsonTCP, но когда я его тестил - он тупо не был в состоянии обработать простой разрыв коннекта, в результате - одно из ядер - загружено на полную, пока у него не пройдет HeartBeat и он таки не дропнет соединение, плюс он Tcp-специфичный, а там как-бы QUIC таки вроде таки пытаются проталкивать как новый стандарт, пусть он уже и давно придуман.
>>274218
Да я просто сколько не пытаюсь где-то про это вякнуть - создается впечатление, что никому оно не надо. Дедам -все хочется сокеты теребить, жависты - имеют нетти/мину, а нубы - не знают что в мире есть что-то кроме реста и http
855 2274342
>>274335
А, ну да. Есть еще Project Bedrock. Он, судя по примерам того что хотели - покрыл бы большее из того что лично мне надо. Но его в .net6 вроде как обещали выкатить, но с тех пор как я интересовался - никаких новых новостей не слышал, а последине коммиты - хрен знает когда были. Есть мнение, что проект тупо закрыли или положили на полку, ну или взяли наработки себе и в открытую их не хотят выкатывать.
856 2274439
>>274335
Хочу это, это и это и еще бесплатно. Ты откуда такой губастый к нам?
https://www.youtube.com/watch?v=lg9Awh4uEGk

Не одной баги не открыто.
https://github.com/Azure/DotNetty/issues?q=is:open+is:issue+label:bug
Хз, я бы с удовольствием пописал что-то сетевое, было бы время.
857 2274486
Вообще, что думаете насчет событийно-ориентированной модели в контексте монолита?
А то чет я гуглю и сейчас это исключительно про микросервисы будто стало. А мне вот хочется примерно следующего:
await ApplicationContext.DispatchEventAsync<DomainEvent>(new DomaunEvent());
И чтобы логгер - залоггировал это событие, а какой-нибудь обработчик - обработал и возможно создал новое событие, которое уже обработает другой обработчик.
Типа да, с одной стороны - я смотрю на это и сложность понимания когда что вызывается - должна повысится. Но с другой - понизится свзяность кода и можно будет проще с этим всем делом управляться, а главное - тестировать, т.к. не нужно будет всю цепочку проходить, а можно просто дергнуть хендлер, замокать диспечер и все чики-брики должно быть в плане тестов.
Что думаете-то?
858 2274494
Что лучше gradle с репой maven или nuget?
859 2274531
Сап. Мне тут студия предлагает

>Member 'Pisos' does not access instance data and can be marked as static


Есть ли какие-то преимущества, если использовать статику?
860 2274579
>>274531
Есть.
Если у тебя метод статичный - не нужна проверка на то что объект создан. Таким образом - нет лишних проверок того что есть объект метод которого вызывается.
861 2274642
Такой вопрос. Не совсем про язык, скорее про статический анализатор.
Допустим у меня есть метод который принимает аргумент который должен быть в неком диапазоне значений. И у меня есть проверка которая бросает ексепшн если это не так. Однако анализатор не ругается когда я пытаюсь передать неподходящее значение. Возможно ли сделать так чтобы он помечал подобное как ошибку, подобно тому как это делается в питоне через тайпхинтинги (пик2)?
862 2274666
>>274642
Возможно. В крайнем случае - сам можешь анализатор написать, который тебе подсветит ошибки, апи - есть.
863 2274693
>>272816
Дело не в интерестности заданий. Просто я смотрю на своих коллег и не понимаю откуда у них столько знаний если они выполняют такую же однотипную ерунду как и я? Тратят свое личное время? если да, то я явно им не ровня ибо после конца рабочего дня я даже думать о кодинге отказываюсь
864 2274707
>>274693
Ну почему обязательно личное время? Кто-то в рабочее, если все успевает - просто не спешит бежать за новой порцией задач и спокойненько что-то там читает. Ну и зачастую ты ж несколько лет занимаешься этой однотипной хуйней, много разных штук повидал. Она-та однотипной кажется на первый взгляд, а на деле - вот тут лучше так сделать, там - вот так. Ну и да, в свободное время полезно книжки вумные читать и это вот, просто это не с наскока делается за год взял и все выучил, а постепенно, пока работаешь.
865 2274797
>>274642
Ты там енумы придумать пытаешься?
866 2274993
Чем можно профайлить приложение на шарпе? DotTracer платный, а из опенсорсных утилит нахожу только старье, которое уже лет 5 не обновляется
867 2275051
>>274993
Встроенным в студию профиллировщиком. Он хоть и не такой крутой как доттрейс, но основные моменты - позволяет отследить и пофиксить.
image.png35 Кб, 821x442
868 2275252
пикрил
Почему все джосн юзают?
869 2275254
>>275252
Тебе же прямо написали "удобно и human readable". Если эти качества перевешивают ускорение и оптимизацию, то поэтому и юзают.
Ну и если они изначально бинарные форматы через json-ы гоняля, то сами себе долбоебы. Охуеть достижение "мы для перегонки бинарников взяли формат подходящий для перегонки бинарников и стало быстрее, чем с форматом не годящимся для передачи бинарников". Ясен хуй, что так и будет.
870 2275263
>>275254

>Тебе же прямо написали


Дак неужели это перевешивает скорость ?
Ну если у вас высоконагруженное приложение, не логично ли будет сразу взять самое быстрое решение? Ну да мб разработка будет четка медленнее зато софт быстрее работает.
871 2275339
>>275254

>Ну и если они изначально бинарные форматы через json-ы гоняля, то сами себе долбоебы


Ты где там такую хуйню высмотрел, поехавший?
872 2275340
>>275263
Тогда у команды перформанса работы не будет.
873 2275371
>>275252
Ты, интереса ради, попробуй сам захуярить свой сервис с бинарным форматом для апи. Причём не какой нибудь протобаф (хотя и с ним куча гемора), а на messagepack, блять. А потом написать к этому сервису хотя бы 3 клиента. И что-то изменить в сервисе и посмотреть кого как распидорасит.
Отлаживать такое — ебанёшься просто.
874 2275375
>>275339
А ты где высмотрел, что он высмотрел такую хуйню? Вроде на программаче люди должны быть знакомы с конструкцией "если то".
875 2275383
>>275375
"Если что" вот это

>Ну и если они изначально бинарные форматы через json-ы гоняля, то сами себе долбоебы


несвязанный поток хуиты, смысл которой я пытаюсь понять.
876 2275431
В общем, пока тролль нагнетал тут, я рили понял что на текущем дотнете (тот что из core) реально мало либ и мелкософту как-то на это класть.
Го ужасен в плане длительной разработки.
Судьба раста непонятна. Да и либ мало.
Котлин ужасен в длительной компиляции и вообще дизайне (вчера только упало двухлетнее приложение, почему-то стал цеплять экстеншен фукцию T.run() вместо компаньёнской. Офигенно открыть утилитку, которая перестала компилиться со временем.).
Жаба - топорна.

Куда вкатываться то, в жопоскрипт чтоли??
877 2275475
Вопрос от неофита: как получить данные из HttpContext.Session в контроллере? Данные в сессию я складываю из вью моделей страниц, но в контроллере их нету. Я подозреваю что в контроллере создаётся другой контекст и сессия.
878 2275479
>>275431

>что на текущем дотнете (тот что из core) реально мало либ


ну так то оно поддерживает либы из старого дотнета, пока там нет зависимостей на то, что вырезали.
879 2275481
>>275431

>реально мало либ


Каких библиотек не хватает?
880 2275500
>>275431
А что тебе нужно? Какие задачи?
Все инструменты говно в той или иной степени.
Если нужно просто в бекенд вкатиться, то js/java/kotlin/go на сегодня вполне рабочие варианты.

Из всех вариантов думаю go самый нормальный вариант на сегодняшний день. Нет легаси и огромного нагромождения абстракций ради абстракций. Код читается просто, в отличие от раста, плюсов или джавы/шарпа, где происходит магия под капотом того же спринга или asp.
881 2275575
>>274642
Нет, то что ты хочешь - называется dependent type system. Нормальная реализация такого есть в Idris.

Можно указать компилятору, что функция принимает List<int>[n] и возвращает List<int>[n + 1], где n - это количество элементов в списке.

В питоне, как видно, просто юзается обёртка Literal. Такой костыльный анализатор ты тоже можешь написать для C#, но это всё будет неполноценно если этого нет на уровне компилятора.
882 2275641
>>273671
А что можешь сказать по поводу данного сабжа? https://www.youtube.com/watch?v=eVNmcT14wzo&list=PLDSdUQf0A9mB7PEs0vs84iLWWsOh2XtkX
Мне чёт прям очень зашёл канал, однако страшно довериться.
883 2275893
Когда там уже .NET MAUI в релиз выйдет то?
Разговоров было то пиздец, а он до сих пор в превью.
Хочу немного научится гуи делатьхз нахуя, так для общего развития, вот жду его. Или нахуй тот гуи?
884 2276015
>>257225
так тебя и зачморили лол
512.jpeg57 Кб, 512x504
885 2276135
Есть тут такие кто из чистого шарпа перекатился в фуллстэк? Как это вообще делается? Я на Рякте + Асп изи помогу написать несложное вэб приложение. Но что касается теории, я вообще не шарю за фронт. Включил тут интервью друна ряктиста, так вообще половину вопросов не понимаю и о чем речь.
886 2276179
>>276135

>Я на Рякте + Асп изи помогу написать несложное вэб приложение.


Ну так для шарписта - это и есть фулстек. Компонент накидать сможешь, который пруф-оф-концепт изменений на бэке проверит и достаточно. А дальше пусть верстальщики трахаются.
Не вижу смысла переката во фронт. Бабок больше не заработаешь, а как только узнают, что ты и верстку можешь, так сразу начнут все дерьмовые таски вроде "марджин лефт 10 пикселей" скидывать.
887 2276248
>>276179
т.е. обычно фуллстеки редко хуярят тз от ux дизайнеров с точностью до пикселя?
888 2276422
4 года всякого говна от библиотек и расширений до функций и серверлес поеботы в облаке

сейчас перешёл на галеру 5к+ тел, нанимался как бекер но у меня нихуя опыта в асп нету, сказали дадут 3 месяца испыталки

на время испыталки 150к, потом до 250к (перформ ревью будет)

как оцениваете такую поеботу? продешевил? мне дали предложение которого я не заслуживаю? какие сейчас рейты я вообще нихуя не секу — 4 года как страус засунув голову под землю сидел в своей говноконторе
889 2276538
>>276422

>до 250к


В целом норм, главное чтоб не наебурили.

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

А стремиться совсем к полному фулстеку, чтобы делать совсем все смысла нет.
891 2276542
>>276422
Норм. Если не наебут с повышением.
Если наебут - всегда сможешь срулить, главное успей побольше прокачаться за это время.
1643121473794.jpg21 Кб, 300x440
892 2276600
Хорошему проверенному человеку нужна помощь в выполнении заданий по С#, а именно по Windows Presentation Foundation.

Тг для связи: t.me/iglerrr

Заранее спасибо
893 2276625
Существует ли быстро гайд для беженца с .нет фреймворка в асп нет кор - как совладать там с энтити фреймворк кор? Раньше я создавал контекст через using и делал все что нужно, сейчас так не сделаешь ибо нужно подключать сервис и из конструктора вью моделей доставать контекст. У меня есть "utility" класс который работает с конекстом (помимо еще самих вью моделей) который я туда передаю. Из-за этого я ловлю "instance of entity type 'anontable' cannot be tracked because another instance with same key value is being tracked.".
Можно было бы вынести utility класс в сам контекст, но тогда бы пришлось создавать на каждую таблицу по несколько методов типа Add/modify (т.е. вызывать их вью моделей, вместо дефолтных энтити методов) но это какая-то шляпа и я чего-то явно не знаю.
894 2276629
>>276538
>>276542

понял, спс

тогда два месяца буду вJOBобовать, на последнем подниму вопрос ревью и параллельно анкету свою активирую
895 2276753
Профессионал c# хотя бы на среднем уровне должен знать java? Запросто мог бы небольшие изменения додумать в проекте?
896 2276766
>>276753
профессионал Go должен знать Python?

нет блядь, не должен, но если попросят должен сказать что надо разобраться, вот за столько времени я чонить скажу, если надо давайте
897 2276848
>>276766
Очень смешно, эти два языка очень похожи, и очевидно копировались друг на друга.
898 2276867
>>276753
А что подразумевается под знанием жавы?
Ну, допустим - я ее не учил. Но мне нужно было портировать одно приложение с жавы на шарпы из-за того что чел, который делал на жаве - уволился, а больше никто не знал как оно работает. Было смутное ТЗ за 2005й год и воспоминания стариков, что дескать такие вот были кейсы, но мы точно не помним, вроде клиент когда-то просил такую фичу, но хуй знает запилил ли тот чел ее или нет. История коммитов была в SVN и коммиты оформлялись в духе: Внес изменения... и дохуя файлов измененных, какие изменения внес - ну, иди смотри.
Ну, без особых проблем разобрался в жава-коде, зная только шарп. Плевался правда с него, типа, пиздец, как люди без свойств живут-то, куча GetHuinya(), SetHuinya(Huinya huinya). Хотя их енумы мне понравились, хотелось бы подобное в шарпе видеть. Ну и понравилось таки то что сахарка в том коде было меньше, в этом плане - чем ближе к си - тем удобнее понимать, т.к. синтаксис сахарка - нужен только тем, кто кодит постоянно на языке.
Короче. Я к чему. Если ты умеешь читать код и приблизительно понимаешь паттерны которые используют - понять код на ООПшном языке - не сложно. Всякие специфичные штуки, типа как там у них фреймворки устроены какие, где чел обосрался в контексте жавы, а где не - это да, тут просто так не поймешь, но надо ли оно шарповоду, которому нужно бизнес-логику было понять?
899 2277028
>>276848
т.е. ты сейчас вот на голубом глазу хочешь подписаться на разработку говна на НЕПРОФИЛЬНОМ для тебя языке?

ты не хочешь посидеть, подумать, прикинуть что будет с этого лично тебе?

может у тебя в должностных обязанностях есть знание двух языков?
image.png17 Кб, 990x95
900 2277198
Ребят хелп. После выполнения кода test равняется null. sparkData точно не null. Чета я туплю.
901 2277204
>>277198
Забейте, я даун )
902 2277217
>>277028
Да нет, ничего такого, я для себя. Например мод для майнкрафта запилить, под андроид добавить фишку
>>276867
Спасибо
903 2277225
Анончик, анончик. Что думаешь над популярным сейчас у геймдеверов ECS-подходе? Я в контексте: а можно ли это нормально использовать в той-же веб-разработке?
Ну, просто когда я пытаюсь придумать кейс из не геймдева, все выливается в то, что это будут просто маленькие интерфейсы, а СУЩНОСТИ - просто фасадами. Т.е. никакого отхода от ООП, по факту. Но вот в геймдеве - кричат что нифига и это какой-то новый подход и не ООП. Но ведь если убрать из "ECS" букву S, то это же, как уже сказал - обычный такой подход с фасадированием. А теперь вернув S - получаем, что вполне себе классический ООПшный подход, мы выделили "сущности", в них с помощью DI - протолкнули нужные нам "компоненты", ну а системы - некие наши сервисы, которым как раз "сущность" не важна, а важна работа с компонентами.
Может быть я что-то не так понимаю? Ну и может быть кто-то хотя бы в своих проектах пользовал в качестве эксперимента такой подход не в контексте геймдева. Как оно? Ложится или не?
Просто классическое ООП - надоело. Геймдев-няшки говорят что ECS - подход это якобы не ООП, хотя я смотрю и то же самое ООП классическое. Но просто я слышал про выражение, что если у тебя в руках молоток, то все вокруг кажется гвоздями, потому и думал спрасить у более прошаренных.
904 2277375
>>277225

>Я в контексте: а можно ли это нормально использовать в той-же веб-разработке?


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

> все выливается в то, что это будут просто маленькие интерфейсы, а СУЩНОСТИ - просто фасадами. Т.е. никакого отхода от ООП


пофикшу:

> все выливается в то, что это будут просто маленькие тайпклассы, а СУЩНОСТИ - просто композиция функций/типов. Т.е. никакого отхода от ФП кроме мутабельного стейта


кек.

>если у тебя в руках молоток, то все вокруг кажется гвоздями


Тащемта, всё так. У тебя принципы SOLID-а в голове уже слились с ООП, хотя применить их можно к чему угодно.
От ООП отличает шаренность стейта, от ФП — его мутабельность.
В целом каких-то специфичных для ООП/ФП вещей в реализации не требуется, паттерн прекрасно реализуется хоть на Go.
905 2278344
VS 2021 также нельзя полностью установить на отдельный диск, и она все равно немного засрет системный?
906 2278554
>>278344
Блять, купи ссд
907 2278675
>>278554
При чем тут ключи нахуй? Меня просто напрягает необходимость засирать системный том, который я по дурости сделал очень маленьким. Вон, жависты ставят свою IJ с JDK спокойно на нужный диск.
908 2278811
>>278675
Ну так сделай его побольше, в чём проблема. Что за неудобства на ровном месте
.png47 Кб, 754x951
909 2279221
Сколько из десяти дадите этому коду?
910 2279388
Можно ли как то юзать десереализацию без создания класса?
К примеру как то так
string name = JsonSerializer.Deserialize(json).name;
Например я получаю json но мне там нужна всего ли одна строка, можно и регуляркой распарсить конечно. Но можно ли ее как то так получить?
911 2279482
>>279221
Слишком маленькая концентрация await на строчку кода. Нужно намного больше. Не, ну серьезно, что запиздец?
912 2279483
>>278675

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


Ну так проблема в тебе.
Тем более, что все пакеты и сдк все равно потом будут на системный диск скачиваться (как и у джавистов, кстати), а они места побольше чем IDE займут.
913 2279502
Анон, такой вопрос по Visual Studio 2019

У меня есть интерфейс, который реализуется в куче классов.
Я хочу в этом интерфейсе изменить одно свойство, так чтобы оно изменилось и во всех имплементациях.
Если с именем проблем нет (Ctrl+R два раза и везде поменяется), то как быть с типом?
Как изменить тип свойства в интерфейсе, чтобы он так же изменился и во всех реализациях. Все облазил, но команды такой не нашел.
914 2279689
Что подразумевает под собой "уверенное знание .NET"? Вот есть C#, я его учу и могу понимать, какие темы я хорошо усвоил, какие штуки нужно ещё практиковать, и к каким ещё рано притрагиваться. Что же значит знание dotnet? Умение собрать своё приложение?
915 2279841
>>279689
Чему будут равняться decimal.Round(2.5m,0) и decimal.Round(3.5m,0) ? И почему?
916 2279912
>>279841
2 и 3
Потому что так реализовали. Ну серьезно, что за вопросы почему? Сто пудов какой-то говностандарт как с float, который по каким-то причина, ведомым составителям, так себя ведёт.
917 2279966
>>279912
Мы вам перезвоним.
918 2280073
>>279841
2,4, так как жидовская хуйня стремится в сторону ближайщего кратного 5.
919 2280103
>>279689
как только перестанешь задавать такие тупорылые вопросы — подходишь

фраза чисто отсеять малохольных невротиков
920 2280154
>>279966
Спасибо, но не стоит. С душнилами я работать не люблю.
921 2280170
>>280103
Та вот лично по моему опыту, я бы на этом не останавливался. Потому что бывают всякие няши, которые вопросов не задают, накопипастят кода, не понимая, что он делает, лишь бы вроде как работало, даже не думая о том чтобы это минимально было читаемо. В итоге, когда вскрывается - тебе переписывать за долбоебом, который, как только запахло жаренным - съебался в закат.
Ко-ко-ко, кодревью. Какое нахуй кодревью, когда в команде 3 человека и у каждого по несколько проектов?
image.png17 Кб, 1000x157
922 2280279
Я так понимаю, весь этот опенсорс, это снова стратегия EEE от мягких?
И что теперь? Кококотлин?
923 2280294
>>280279
Речь про MAUI, который Xamarin.Forms и из которого выпилили линух.
924 2280304
>>280103
Ну а с чего мне не быть малохольным невротиком, я вкатываюсь сам с нуля, без вузов и курсов. Я же не знаю как там у крутых дядек заведено. Спасибо за ответ, анон.
925 2280337
>>279388
Можно, в Newtonsoft можно сделать чето типа такого(пишу по памяти, но знаю, что можно при десериализации не указывать конкретный тип): dynamic obj = JsonConvert.DeserializeObject(json). Затем obj.SmthProp
926 2280341
>>279689
Когда знаешь тонкости каких-то моментов. Вообще познание внутреннего устройства шарпа очень поможет в осознании некоторых моментов, например - автосвойства, или например во что превращается async/await, чем отличается event от обычрого delegate. Уверенное знание С# это уверенное знание механизма и структуры языка. Это как вот твоя рука, она инкапсулирует метод "дрочить хуй", но как устроено внутри? Посылается сигнал мозу, сокращаются мышцы, вырабатываются гормоны, учищается сердцебиение... и вот это всё и есть уверенные знания конкретной области
927 2280343
>>279502
Никак
928 2280345
>>280341
Остается только вопрос: НАХУЯ? Вот серьезно. Ну я вот знаю во развернется хуйня с async/await, я лазил по исходникам рослина, я разбирал сборку и тыкал палкой. Ну, типа я это делал ради интереса. Только вот нахуя эти знания в повседневной работе, я если честно - не ебу. Вообще профитов не вижу. ИМХО - умение писать простой и понятный код - намного более важный скилл и именно за него нужно спрашивать. А как там эвенты работают - до пизды, потому что сегодня они работают так, завтра майки решат устранить очередной фатальный недостаток - и будут работать не так. Хули толку-то с этого знания?

заводчанин
929 2280348
>>280345
Все так анончик, я тоже лазил из интереса, только толку от этого нет. Я тоже с завода, пока что, в планах перекатываться куда-то на стажировочку.
930 2280357
>>280345

>нахуя



Чтобы таких тупорылых как ты осадить и вместо 5к бачинских выдать 200к деревянных. Больше незачем
931 2280364
>>280357
Двачаю адеквату. Пидарундели не понимают, что IL код можно оптимизировать в некоторых ситуациях тем самым выигрывая в производительности, да и в целом полезно знать как всё работает на самом деле так как появляется полная картина мира без магии.
932 2280370
>>280357
Пф. Учитывая что я на заводе 60к получаю, я за 200к - могу и на дуде сыграть.
Но вообще, как я уже сказал, я-то могу за все это пояснить. Проблема в том, что на работе есть еще плюсы, есть ассемблеры разные, есть всякая хуйня связанная с линуксами, свехру микросервисы еще и фронтенд на реакте, а под конец - дельфи и джава. И все это активно используется, в зависимости от проекта. И именно навык умения писать аккуратный и понятный код, лично мне как раз и начал после всего этого зоопарка казаться самым важным. Потому что хороший код, в случае необходимости - легко и непринужденно можно поправить. Когда у тебя звиздец с кучей зависимостей, когда у тебя хуй пойми что где и зачем, когда нет одного стиля - похуй на знания кишков, потому что ты потом дохуя времени будешь тратить, чтобы тупо разобраться, как это говно вообще работает.
933 2280371
>>280279
А ты чего ожидал? Что они пойдут и начнут контрибьютить в попенсорс ради добра?
934 2280378
>>280370
Ищи новую галеру, на заводе нет будущего
935 2280381
>>280370

>на заводе 60к


>фронтенд на реакте


>дельфи и джава


>плюсы


>ассемблеры



И за всё это отвечаешь ТЫ и получаешь при этом 60к?

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

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

Я бы понял ещё если ты патриот и надеешься промышленность россии поднять таким макаром. Но ты задаёшь вопросы "а хули меня на собесах режут"
936 2280389
>>280381

> И за всё это отвечаешь ТЫ


В основном я таки на шарпах пишу. Это все - побочки работы на заводе, где каждый месяц 2-3 человека то в танки убегут, то в хуяндекс, а проекты - никуда не деваются. А я не бегу, потому что все что предлагали - с переездом, а у меня - батя болеет, нужно быть таки рядом, чтобы если что.
937 2280399
>>280389
А на linkedin не пробовал к буржуям устроится на дистант? Попробуй.
938 2280409
>>280399
Благодаря ковиду можно и в ебенях на зп в 4 раза выше изи присесть, даже язык учить не надо. Он либо вкатыш либо жирно троллит.
939 2280418
>>280409
5 лет работаю на заводе программистом. Сразу как вуз закончил и прошел практику на этом же заводе. Не считаю себя вкатышем. Ну, и не троллю. Я бы вообще про ЗП не говорил, если бы про нее не вспомнили, потому что основной-то мой пост был про то что кишки это про интерес, но при приеме на работу нужно смотреть в первую очередь на код и главное на его простоту и понятность. Все.
940 2280426
>>280371
Нет, но тут они выпилили поддержку, которая вроде как уже была.
Если так, то это же старое доброе EEE.
941 2280430
>>280426

>Если так, то это же старое доброе EEE.


Ты явно что-то пропустил. На винде теперь есть WSL! Слышишь! ПИНУС ТОЛЬКА ДЛЯ СЕРВЕРА! НИНУЖНА! КУПИ ШИНДУ! СЛЫШЬ! КУПИ!1
942 2280512
>>280418
Код, его красоту и понятность не сможешь продемонстрировать ни ты ни они. Все эти репозитории в гитхабе - фуфло, никто не будет их смотреть ДО интервью. Максимум на собесе вы откроете проект чтобы попиздеть.

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

Даже если ты привязан к дому - попробуй пройти собесы в любую контору. Даже ЕБАМ подойдёт на самом деле (тем более что они не против совместительства). Все этапы собесов идут удалённо. Документы можно высылать почтой/сканы. 60к за 5 лет опыта это ненормально, имей достоинство
943 2280584
>>280512

>Все эти репозитории в гитхабе - фуфло, никто не будет их смотреть ДО интервью


Тыскозал? На superjob и hh часто просят в сопроводительном письме отправить ссылочку на гит
944 2280900
>>280584
яскозал, если мне дают ссылку на репо кандидата я максимум что сделаю - зайду посмотрю чо там за проекты висят и на встрече попрошу рассказать о чём-то
945 2281066
Есть смысл тратить время и деньги на сертификат az900? Именно с точки зрения бекендера, я не хочу в девопсы перекатываться
946 2281093
Compose Multiplatform
947 2281094
>>281066
хуярь сразу az200, и обязательно сдери с работодателя эти 80$
X63r31KuZrk.jpg41 Кб, 452x363
948 2281232
Здравствуйте, господа. Нужно начинать думать насчет дипломного проекта, а идей вообще нет. Из минимальных требований есть только базы данных ( ну и желательно подключить к проекту мобилки ). Хочу не очень сложное, но и не очень простое, НО интересное. Подскажите ?
949 2281343
>>281232
Сделай движок для имиджборды, лол. С админкой и всем таким. Это довольно просто и если опыта нет - интересно.
Если кажется слишком изи - систему управления умным домом. Придется подзаебаться довольно сильно.
Это если у вас дипломы проктической направленности.
Если у вас теоретическая - колоночная субд и имплементация в ней древовидных структур. Сложно, заебистои, интересно. Все отличники - пытаются и обсираются, ограничиваясь связным списокм.
950 2281450
>>281232
Нейронка для распознавание детей, подростков, взрослых
3.png353 Кб, 1250x1250
951 2281636
image.png39 Кб, 611x606
952 2281744
Весь вечер шелесчу интернеты, нихуя не помогает.
Мне нужно, чтобы после того, как ArrayQuestions отобразится два раза, код перестал выполняться, иначе возникает ошибка "индекс вышел за границы массива". Я пытался это сделать посредвством "если count пробовал и ArrayQuestions и timer вставлять больше 3, то return. Но код продолжает крутиться, ошибка возникает каждые две секунды если в 12 строчке указать другое значение, то каждое это значение, будто до части кода с if вообще не доходит.
Помоги, добрый анон, умоляю!
image.png14 Кб, 571x288
953 2281790
>>281744
Сделал так, ошибка ушла, благодарю!
954 2281794
>>281744
>>281790
Блять ебаные ишаки, вы можете всем своим табром вкатышей в юнити начать не с юнити а с сишарпа?
955 2281800
>>281794
Да ебать нахуй, это даже не мне надо было, а сестре дз по информатике сам в ахуе.
.png56 Кб, 524x842
956 2281854
>>281744
Я бы сделал так(((
957 2281867
>>281343

> Сделай движок для имиджборды, лол. С админкой и всем таким. Это довольно просто и если опыта нет - интересно.


Ебать у тебя ориентиры ДОВОЛЬНО ПРОСТО
958 2281889
>>281867
А что не так-то, няша? За полгода-год, которые пишешь диплом - движок борды написать в неторопливом темпе - не проблема. Конечно, если не будешь ебланить это время, играть в дотку, да пивчанский посасывать, а потом, за неделю до сдачи не вспомнишь, что тебе нужна практическая часть, а ты не начинал.
959 2281914
>>281854
Пиздец. Ну и говнокод.
960 2282476
>>281889
За 2-3 месяца с ОПЫТОМ можно сделать в расслабленном режиме, только если без фронта. С нулевыми знаниями - ну это думать нужно сколько займет.
961 2282564
Ребят поясните пожалуйста. Я вот вообще стал учить си шарп ради xamarin, но вот заскочил в раздел сетевое программирование на метаните. Почитал про протоколы, сокеты, посмотрел примеры создания клиент серверных простецких приложений. И вроде как оно понятно все. Но потом я увидел что есть asp.net для создания веб приложений и что то в моей голове сломалось и уничтожилось. В моём отдалённом мирке в голове казалось, что сетевое == веб. Ведь в этих разделах мы по сути и создавали сервера и клиентов. А какое тогда отличие веб приложения от сетевого? Какие задачи решает asp.net? Я понимаю что возможно спросил хуйню, но т.к я далёк от веба и прочего хотел расставить для себя все точки
962 2282618
>>282564
Сетевое - это нетворк аппликатион. Т.е. в общем вообще все что по сети можно передавать. Тот же IRC, например, если застал - это свой протокол, клиент и сервер для него - это сетевые приложения и сетевое программирование; торренты - про то же, ну а шире - modbus, dlms, всякие snmp, smtp, sntp т.д.
Веб - это конкретно про HTTP, т.е. подмножество сетевых приложений, повязанных на этом ебучем хипер текст трансфер протокол.
Ну по крайней мере я так это разделение вижу и судя по всему не только я.

> Какие задачи решает asp.net?


Ну, вот ты видел сокеты энти вот. Вот. Представь, что тебе каждый раз, когда нужно ебучую страничку отдать - нужно было бы свой сервер с сокетов начинать пилить, думать про то как ты будешь это говно парсить, роутить, как ты запилишь поддержку всех версий протоколов, еще и решать важную задачу: асинхронно, али ебануть каждому клиенту по потоку или вообще - по процессу. Допустим это ладно. Но ведь тебе нужно будет какую-то динамику реализовывать, отдавать странички, которые генерирует сервер, отдавать те же ебучие жсоны, xml и прочее. Короче, много говна. Так вот, ASP - в свое время решил эту проблему. Началось все с того, что в веб-страничку можно было впихнуть какое-нибудь говно, которое бы сервер мог обрабатьывать, ну и завертелось-закрутилось, сейчас, из-за SPA и огромного количества фронтоблядей - эта фишка уже не так нужна, но вот все остальное что там в контексте веб-сервера нагородили, с фильтрами, роутингом, мидлварями, контроллерами и прочим говном - очень даже удобно и ты свое веб-приложение можешь за 2,5 минуты сделать, просто подключил базу, сделал пару апишных контроллеров и сидишь дрочишь хуй чайки гоняешь, пока фронтобляди - пытаются красиво сделать и дергают за ручки.
963 2282627
>>282618
О, спасибо за развёрнутый ответ. Вроде картина проясняется.
То есть если бы я хотел допустим стать бэкендером, то я бы мог просто осваивать asp нет и не думать про сокеты всякие там?
.png22 Кб, 1548x170
964 2282632
>>282627
Ну да. Простейшее приложение на asp сейчас вот так выглядит
1.jpg49 Кб, 1080x729
965 2282642
>>282627

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



ну максимум понимать Stream, если нужно стримить.
Да и в обычном программировании опускаться на уровень сокетов нет причин
966 2282646
>>282627
Но только это. Про общее понимание сокетов и что происходит - некоторые галеры, где деды сидят - так спрашивают, потому знание - точно не лишним будет. Так что не думай, если изучил уже, что время зря проебал, если знаешь про наты, как там TCP выглядит и чем от UDP отличается, про то что пакеты могут недоходить на практике и прочее - это таки плюсик будет, как минимум покажешь, что интересуешься и все такое. Деды-то, иногда впадают в деменцию и хотят подрючить и показать на собесе, что они-то аксакалы и все такое, ну и если ты пойдешь в отрицалово, дескать, нахуй мне чтоб жсоны гонять - знать как там CRC рассчитывается - могут и попустить. Потому - если изучил нормально - можешь считать что как минимум для собеса полезно, на практике, если не на завод пойдешь, или свой веб-сервер писать не будешь - не пригатдиться.
967 2283128
Последние несколько лет фигачу на платформе Террасофта в парке компаний. Сейчас выбираю между внутренней разработкой (в финансовой компании, которую хорошо знаю), и разработкой у интегратора - но там технологические процессы интереснее и не только Террасофт.
Вот думаю, что лучше. Склоняюсь к интегратору, там можно прокачаться, и может быть интереснее.
image.png27 Кб, 688x385
968 2283709
>>282632
Лол шарп погнался за модными и молодежными ембедед фреймворками? Зачем? Чтобы получит 100500 вариантов решения одной задачи, чтобы путать новичков?
969 2283737
Аноны, никогда до этого к шарпу не притрагивался, только Си в универе изучал. Но тут наткнулся на вот такую статью
https://codingvision.net/c-predict-random-number-generator-net
Попробовал запустить пример, у меня совпадающих значений совсем нету. Это я что-то делаю не так, или алгоритм формирования случайного числа мог измениться к нашему времени?
970 2283848
>>283709
Ну, лично мне на самом деле не оч нравится на самом деле. Система с контроллерами и сервисным слоем, как по мне, наиболее логична в контексте микросервисов. Но видимо был запрос какой-то, а может быть просто чтобы выебываться, дескать: смотрите, у нас тоже в пару строк можно.
971 2284060
>>283737

>to underline the predictability of the random… or better said pseudo-random number generator


Дальше не читал. Очередной вкатыш открывает людям истину, что псевдослучайные числа не случайны. А пацаны то и не знали.
972 2284297
>>284060
Жаль, но если вкратце, там есть пример кода, где при наличии 55 рандомных чисел последовательности, можно предсказать следующие числа. Только у меня, например, это не работает, а в примере у него реально показывает следующие числа.
Вот я и подумал, мб статья устаревшая и сейчас уже гпсч по другому принципу работает?
Вот ещё такой же пример, но с целыми числами, и он тоже не работает, хотя все пишут что должен работать:
https://stackoverflow.com/questions/39093911/can-random-next-be-predicted-from-its-outputs?answertab=oldest
973 2284800
>>284297
Если ты про рандом из дотнета, то вот исходники https://github.com/microsoft/referencesource/blob/master/mscorlib/system/random.cs
Твою статью не смотреть, но предсказать, зная то что уже насеяно - возможно вполне.
974 2284910
>>284800
Исходники уже смотрел, написать что-то своё не хватает скилла. А готовые решения, которых всего 2 удалось найти, не работают.
Еслиб было понятно, какой тип гпсч используется, я бы мб и продвинулся дальше. Но в этом C# какое-то своё решение, в отличие от остальных языков. По сути, там всё должно быть по линейно конгруэнтному методу, но из исходников не понятно, что чему равно чтоб в формулу подставить.
975 2285059
>>284910
в .net 6 они сменили алгоритм на xoshiro, раньше хз какой был, он менялся от версии к версии за исключением рандома с сидом, в котором используется для обратной совместимости самый хуёвый алгоритм 20 летней давности
https://www.youtube.com/watch?v=mnlnhA0s0Iw
976 2285068
поясните про эти книги, в каком порядке читать? Сначала Рихтер потом Скит или наоборот? Или вместе? Или только одну?
977 2285071
>>285068
Ни в каком.
Рихтер - душный и читается исключительно когда ты уже вкатился, чтобы джунов попускать, при этом еще и устарел.
А Скит - говно без задач уровня метанита, растянутый на здоровенную книгу.
978 2285279
Сколько весит хелоу ворлд на замарине под андроид?
979 2285363
Какой асп.нет стоит учить для вката? Вижу вышла 6 версия, но перейдут на неё наверное все не скоро? А отличаются они с 5 не то, чтобы сильно но заметно
980 2285606
У меня есть форма multipart/form-data, у которой помимо прочего есть прикрепленный файл. На сервере соответственно есть вьюмодель с IFormFile Attachment. Когда вьюмодель придет в контроллер фйал уже будет полностью загружен на сервер?
981 2285982
>>285363
1) Выучив 5-й будешь иметь больший выбор мест для вката. Плюс всегда сможешь доучить 6-й

2) Вкатыша не возьмут туда на новые проекты с новыми фреймворками. Туда предпочитают брать помидорок с опытом или хотя бы крепких середнячков. Поэтому учи 5-й спокойно и иди копать легаси.
982 2286102
>>285982
А через сколько лет теоретически будет доминировать шестой?
983 2286160
>>285279
3.2 метра вроде было когда я пробовал.

>>285606
ну а как иначе
asp.net вынужден разобрать тело запроса чтобы создать все эти IFormFile для биндинга.
Вот он и разбирает создавая IFormFile-ы, которые представляют собой Stream-ы, в которые впихнуто тело файла из мультипарт секции формы и если оно до 30кб, то только в памяти, иначе - на диск пишет в темп файл.
(гм. это получается если грузить огроменные файл, то нельзя сделать как в похапэ move_uploaded_file, а именно придется копировать весь файл через CopyTo)
984 2286309
>>286102
Года через 2.
Но к тому времени уже 8-й выйдет.
Но через 2 года тебя точно так же никто не подпустит к таким проектам. Максимум к тем которые будут переходить с 3.1 на 6 или позднее. Так что тебе все равно нужно будет старые знать.
985 2286319
>>286160

> 3.2 метра вроде было когда я пробовал.


Как это, так мало? Там же нужно тащить виртуальную машину, она же мегабайт 60 весит?
986 2286336
сап двач
я начинающий трап

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

нет, это не троллинг
987 2286354
>>286336
Перетолстил
988 2286384
Почему метанит такой популярный? Настолько душное непонятное дерьмо же
989 2286399
>>286384
Потому что когда ты уже все понял но чутка забыл метанит помогает вспомнить.
Это как справочник.
990 2286401
>>286384
Потому что когда ты уже все понял но чутка забыл метанит помогает вспомнить.
Это как справочник.
991 2286474
>>286384
Потому что когда ты уже все понял но чутка забыл метанит помогает вспомнить.
Это как справочник.
992 2286520
>>286384

А где информация подаётся лучше?
На метаните есть все по си шарпу из основного и без воды.

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

Как итог учить си шарп и технологии либо по книгам всяких олдскульных
мужиков которые ещё более душные либо метанит
993 2286578
>>286520
Без воды, как и без нормального объяснения принципа работы. Просто скопируй код, а почему именно такой, хуй знает
994 2286582
>>286354
я же пишу, что это не троллинг
как ты предложишь добыть иначе информацию по моим вопросам?
995 2286639
Когда же я всё таки вкачусь? Пошёл третий месяц. Одни отказы
996 2286700
>>286319
С чего ей столько весить. В том же блазоре она не 60. А после shrink столько и остается, хелло-ворлд же.
другое дело - старт этого всего на слабых девайсах.
997 2286937
>>286336
В геймдев вкатывайся. Там таких половина. Ну и да, в РФ геймдев это 99% юнити.
Главное не приставай к коллегам и все будет норм.
На завод - сразу ебнут.
В тырпрайз, как только в чулочках начнешь ходить.
Геймдев - как раз рассадник таких вот.
image.png2 Кб, 261x97
998 2287121
Антоны, поясните, пожалуйста за различия между Web App и Web Api app.

Какой из них брать, если я, допустим, хочу сделать клон двача?

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

А чем Web App отличается от него?
999 2287152
>>287121
Это просто шаблончики проектов для asp.net (core).
По факту - у тебя есть класс Controller и ControllerBase. Тот что просто контроллер - типа задуман что ты будешь отдавать какие-нибудь разорпейджи и прочее бесполезное говно. Контроллер бейс - допилили до состояния, что ты можешь удобно и без лишних телодвижений срать жсонами. Ну и вместе - там механизм мидлварей и фильтров, который позволяют тебе не ебаться с придумыванием того как авторизацией заниматься, проверять всякую хуйню и т.д.

А относительно вопроса. Ничем кроме темплейта сатртового оно не отличается. Просто в случае WebApp у тебя будет структура проекта со всякими www, pages и прочей бесполезной нормальному бекендеру хуетой, при этом ты вполне дальше можешь забить хуй и пилить на чем хочешь проект, просто это будет то что тебе предложат изначально. С вебапи, если ты ебанат - ты так же без проблем это все прикрутить можешь, делается одной кнопкой, просто изначально у тебя будет только класс Program, Startup(в версиях с минимал апи - выпилили) и папка с контроллерами, дальше - сам что надо делай как тебе нужно.
1000 2287173
>>286474
Для этого подходит и офф документация, нахера идти на метаникт, который не обновлялся сто лет?
1001 2287177
>>286520
Для чтения офф документации тебе нужны довольно базовые знания инглиша, скачай себе расширение для перевода незнакомых слов, через месяц мучений на офф доке сможешь и без него большинство инфы понимать. И это тебе точно пригодится в будущем.
1002 2287200
>>287152
Т.е. нормальная практика срать жейсонами, а фронтэнд прикрутить позже отдельно, например используя реакт или допустим мобильный клиент?
1003 2287237
>>247698
а через поле как?
1004 2287239
>>247869
на рейзоне начинал? он же появился только недавно
1005 2287253
>>287237
Это тебе не нужно
1006 2287305
>>287253
В спринге все так делают
1007 2287339
>>287305
они мазохисты, им нужно
qwenqwenq224.mp41,3 Мб, mp4,
1280x720, 0:19
1008 2287354
Когда уже гейтс ответит за эту хуйню? Почему простейшие действия в примитивнешем графическом редакторе так грузит проц? Если также двигать большой прямоугольник - там ваще под 80%
1009 2287363
>>287354
Ты ебанат, поставь 11 Винду
1010 2287365
>>287363
я ебанат - ок
1011 2287410
>>287200
Конечно нормальная. Смотри что сами майки показывают, как пример хорошей архитектуры.
https://github.com/dotnet-architecture/eShopOnContainers
1012 2287417
>>247630
Делаешь класс ApplicationContextServiceProvider
Делаешь класс ApplicationContextServiceProviderBootstrapper
У класса ApplicationContextServiceProvider два метода Attach<T>(T service) и AttachFactory<T>(Func<ApplicationContext, T> serviceFactoty) и еще два метода GetService<T>() и GetServiceFactory<T>()

Ну а дальше. Всем твоим классам, которым нужна зависимость прокидываешься ApplicationContextServiceProvider как тебе удобно. И дергаешь. В бутстраппере - заполняешь нужными тебе зависимостями.
Тестировать - изи бризи. Реализовать - две минуты времени.
1013 2287553
>>287417

>Всем твоим классам, которым нужна зависимость прокидываешься ApplicationContextServiceProvider как тебе удобно



зачем этим классам зависимость от ApplicationContextServiceProvider? Им свои зависимости нужны
1014 2287599
>>287553
Ну, я простое решение предложить хотел.
Так-то можно конечно по хардкору:
делаем класс
ServiceDescriptor - класс который описывает зависимость, что за тип, какой интерфейс, время жизни
ServiceCollection - класс в котором эти вот дескрипторы хранятся(контейнер)
ServiceProvider - класс для получение нужной зависимости уже в виде конкретного инстанса метод Get<T>()
ServiceScope - скоуп для контейнера, на случай если мы хотим управлять временем жизни. Можно тут прикрутить пул и переиспользовать инстансы, если нам оно надо, так что можно сделать еще ServicePool
ServiceScopeFactory - фабрика для скоупов, как-то ж скоупы нужно создавать
ServiceBuilder - класс для того чтобы в рамках времени жизни - создавать нужные нам инстансы и прокидывать их в конструктор пользуясь рефлексией
ApplicationHost - наш хост который будет хранить в себе конфиг приложения, коллекцию зарегистрированных сервисов и имеет методы Start, Stop.
Таким образом - в ServiceBuilder - мы будем строить граф объектов которые нужно запровайдить, создавать инстансы и прокидывать туда, куда нужно. Всякие синглтоны - делаем ленивыми, чтобы экономить память. Что там дальше? А, ну да, в ApplicationHost - главный поток ищет то что мы будем считать главными приложениями, допустим мы выделим интерфейс IRunable с методом RunAsync, запускает все это дело и потом ждет, пока они все не завершатся. Как-то так.

Такое нормально запилить уже посложнее будет и лично для себя я бы пользовался ApplicationContextServiceProvider
1015 2287629
>>287599
Суть не в том насколько сложно организован тот, кто собирает зависимости - ему нечего делать в конечных классах подсовывая себя вместо нужных зависимостей. Исключение - фабрики.
1016 2287687
Что можете сказать про написание софта на си шарп? Сейчас многие студии все ещё ищут людей со знанием wpf, иногда даже винформс можно найти, так же непонятно что происходит с uwp. А теперь с новой версии студии появляется ещё и maui который обещает быть супер кросплатформенным и вообще крутым и классным. Стоит ли в 2022 году идти по направлению написанию софта и если да то какую технологию смотреть? Или же си шарп это про веб и геймдев?
1017 2287696
>>287687

> maui который обещает быть супер кросплатформенным и вообще крутым и классным



где обещает? во-первых, это хамарин, который слабее чем WPF по фичам. Во-вторых, поддержка кросс так себе ибо "кому нужно сами пилите".
1018 2287711
>>287696

*обещает по словам самих же разрабов

Так выходит остаётся только wpf и тот под виндовс?
Либо катиться копать веб и геймдев
1019 2287731
>>287711
разрабы говорят, что не хотят поддерживать линукс, что противоречит "обещает быть супер кросплатформенным по словам разрабов". Ограниченно кросплатформенным разве что.
К тому же нужно иметь мак, чтобы кодить под мак

В шарпе нет нормального кроссплатформенного гуи. Либо мощно, но только винда (WPF), либо неполнокросс и слабенько по фичам (MAUI), либо кросс, но своеобразно и глючно (авалония), либо экзотика вида Uno, который вообще хз как работает (как мауи что ли?)
1020 2287755
Подскажите пожалуйста как грамотно выполнить что я хочу, я мучаюсь уже больше недели, никак не получается.
Есть JSON документ, внутри много каких данных, но меня интересует массив словарей formats
И я хочу написать с помощью LINQ разные запросы которые находят данные по определённым параметрам, например я хочу получить элемент, у которого format_note равен 1080p и vcodec avc1.4d4015. Ещё бы понять как сделать без кучи if условие чтобы если не нашло 1080, возвращало 720 и т.д. Сколько я пытался накручивать разные команды по туториалам получал в ответ только новые непонятные ошибки.
Можно было бы сделать тоже самое с помощью циклов, но это быстро приведёт к путанице, а если ещё и нужно несколько параметров. Может стоит взять официальную json библиотеку?
Смысл программы в том, чтобы посчитать сколько потребуется места чтобы скачать множество видео, и показать разные варианты
Ссылка на потуги и json https://dropmefiles.com/mJ4pT
1021 2287797
>>287755
1. Вставляешь всой Json вот сюда (https://json2csharp.com/), конвертишь JSON to C#
2. Копируешь к себе в код, приводишь к C# code style (юзай атрибут [JsonProperty("name")]
3. Делаешь linq-запрос к свойству List<Format> formats:

formats.Where(x => ( x.format_note == "1080p" || x.format_note == "720p") && x.vcodec == "avc1.4d4015").ToArray()

Немного глянул жсон, в Where можно использовать x.format_note.Contains(1080") || x.format_note.Contains("720") т.к там есть форматы 1080p60.. значит есть и другие. Хотя тут сам смотри, LINQ позволяет дохуя чего делать
1022 2287803
>>287731

>К тому же нужно иметь мак, чтобы кодить под мак


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

>>287731

>В шарпе нет нормального кроссплатформенного гуи.


А где он есть?
1023 2287805
>>287803
В пайтоне.
1024 2287809
>>287803

> сюрприз - так будет с любым языком


авалония не требует наличия мака для билда под мак

>А где он есть?


QT и там где он поддерживается
1025 2287832
>>287629
Делаешь себе модельку с твоего жсона(класс с нужными тебе свойствами). Десериализуешь строку с жсоном в свою модельку.
Затем линку
var result = myData.Where(x=>x.format_note == "1080p" && x.vcodec == "avc1.4d4015" || x.format_note == "720p")
//остальная логика
1026 2287843
>>287797
>>287832
Это у меня не получилось потому что пытался без модели сделать? В c# динамически совсем неудобно делается?
1027 2287854
>>287843
Сишарп типизированный язык.
Если тебе лень модель делать, можешь использовать десериализацию к словарю в виде Dictionary<string,string> и тогда ключем - будет имя свойства, значением - то что там лежит. Проблема такого подхода - с вложенными объектами, которые тебе так же придется десерилазовать и держать в голове, что вот эту хуету - нужно.
1028 2287866
>>287843
мог и динамически. Просто он сам не может вывести тип, но ты мог подсказать через Select или Cast
1029 2287915
>>287854
>>287866
Можно пожалуйста пример, чтоб я имел представление о таком способе?
.png18 Кб, 1068x380
1030 2288005
Я тут в одном треде в б постил прикриплейд.
Что, блин, людям не понравилось-то в этом коде? Можете объяснить?
1031 2288296
>>288005
Реализуй Dispose pattern полностью, добавь финализатор класса и напиши GC.SuppressFinalize(this) чтобы GC не сожрал твой объет случайно так как ты сам хочешь управлять временем жизни.
image.png17 Кб, 175x174
1032 2288304
FFFFFFF

Я прошел 3хчасовой бесплатный курс по Azure Fundamentals на ютабе. Я написал по этому курсу конспект на 46 страниц, запилил кучу скриншотов и попробовал это все на практике.

скачал тестовые вопросы и ответил НЕ ПРАВИЛЬНО 7/20 раз.

БЛЯТЬ! ВСЕ ЭТИ ВОПРОСЫ НЕ РАССМАТРИВАЛИСЬ В ТОМ КУРСЕ!!!

ПОЧЕМУ БЛЯТЬ?! Какого хуя? Как подготовиться и здать наконец без трахотни

- AZ-900 - чисто поорать, чтоб быть уверенным в своих силах
- AZ-204 - уже по делу - эта хуйня нужна для устройства на работу

АНТОН, ВЫРУЧАЙ
1033 2288305
>>288005
Я как только вижу в конструкторе что-либо кроме инициализации филдов сразу иду бить ебало.
1034 2288307
Этот тред в бамплимите? о
1035 2288687
Подскажите, каким образом написать про проекты в резюме? Ну не прям они там такие крутые, но я же не профессионал. Отдел кадров наверное особо не поймет что я там понаписал, а передаст главному, который уже и поржёт с этого. Написал приложение показывающее пустое окно на WPF.
1036 2288710
>>288687
Напиши следующее: "есть петпроекты: github.com/туттвойайди"
1037 2288711
>>288687

>показывающее пустое окно


Ты новый проект чтолиь создал?
1038 2288715
>>288710
Так и написал, но там какая-то мусорка, и никто не смотрит
>>288711
Да, долго старался, лучшая моя работа
1039 2288717
>>288715

>Так и написал, но там какая-то мусорка, и никто не смотрит


Всё так. На hh всем пох, на superjob часто просят гитхаб/код
1040 2288720
>>288717
Всем пох, но я уже 2 месяц не могу вкатиться. Причём на интервью вроде нормально отвечаю. Нормальные вопросы по типу сколько поколений у gc ни разу не спрашивали, а всякую херню постоянно. Даже на стажёра за 30 тысяч отклонили, это я такой тупой или просто не везёт?
1041 2288746
>>288304

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


>корзиночка решила реально задротить никому нахуй не нужные данные



https://www.gratisexam.com/microsoft-certification/
1042 2288818
>>288746
пасеб.

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


За года работы я профилирование видел лишь в экзамене. Однако позднее, после того как его зарешал, я начал применять эти знания. Получилось оч круто.
IMG20220207132620.jpg616 Кб, 1440x1929
1043 2289634
Это точно задание для джуна?
1044 2289650
>>289634
Абсолютно точно, задания базовые, это основа основ.
1045 2289653
>>289650
Отдел кадров, плиз. Если нужен мидл так и пишите
16393989921-abrakadabra-fun-p-tsvetok-ded-insaid-mem-2.jpg176 Кб, 1080x1008
1046 2289701
Пиздец, первое техинтервью на английском, и сразу же реалтайм кодинг, тоже первый в моей карьере. Еще и пан-сеньор меня поунижал немного. Говорит еще чо у меня вижуал студио на русском. Тебя ебет пёс, а?

Так и подохну в снг парашах пердоля винформы.

>>289634
Да , для мидла это слишком изи.

Только пункт про отправку емаилов всратый, будь я помощником на хайре, вычеркнул его бы нахер.
1047 2289703
>>289634
Джун/стажер.
1048 2289773
>>289653

>Web сервис долже нпринимать post запрос


Ок, на такое только миддл способен

>Уметь работать с почтой


Ок, на такое только миддл способен

>Добавлять в бд


Ок, на такое только миддл способен

>Web сервис должен принимать get запрос


Ок, на такое только миддл способен

А что в твоем понимании джуниор в асп? Умеющий писать штмл? HTTP запросы и работа с бд это база, это основа любого бэкенд разработчика.
1049 2289925
>>289773
Ладно, убедил. Это я не работал с asp просто
image.png356 Кб, 659x731
1050 2290319
>>289650
>>289701
>>289703
Вот задание на позицию сыньор.нет

не устроился. я хотел 4.5 после налогов, а он до.
1051 2290321
>>290319
Какие низкие требования.
1052 2290323
Как стать уверенным джуном? Ну посмотрел кучу туториалов на Ютубе. Повторил как в видео. Написал парочку проектов. А в голове чувствуется помойка из ненужных знаний. И собеседованиях отказывают.
1053 2290332
>>290323

>Как стать уверенным джуном?



А что такое "уверенный джун"? Тот, кто знает по верхам, но быстро разбирается при необходимости?
1054 2290336
>>290332
Тот, кого ждут работодатели. Вроде и джун, а вроде и чего-то не хватает, вот как тут узнать. Опыта работы блять не хватает?
1055 2290341
>>290321
дык, нагавнякать это может каждый, а хорошо написать - другое дело.
1056 2290391
>>290336

>Опыта работы блять не хватает?


Да.
Представь мир розовых поней где обучение где-нибудь в околовузике не пережиток советского прошлого где учат паскаль и бейсик, а нормальное упругое обучение хоть как-то нацеленное на рынок.
При нормальном обучении за 3..4 года ты успеешь пройти как минимум 2...3 'производственных' практики на которых заимеешь нормальный опыт на боевых или около проектах, сделаешь нормальные курсачи и т.д. Т.е. как раз и заработаешь тот самый опыт который нужен работодателю.
И когда ты получишь диплом, и пойдешь на работу, то у тебя уже будет нормальный опыт и ты сможешь со старта уже приносить пользу.
Вот примерно этого и ждут от джуна. Никому не нужен стажер не имеющий опыта. Т.к. по сути нанимая тебя работодатель теряет 1...2 года, пока ты наберешь ту самую практику и знания, которые должен был набрать на обучении. Т.е. по факту работодателю придется взять на себя функции вуза и обучать студента, прежде чем он начнет приносить пользу.
1057 2290398
>>289634
Ну да.

Мне вот только что интересно. Вот я бы сделал как деды и майки показывают, т.е. в контроллере весь код хуйнул. Меня бы взяли из расчета что это же джун? А если бы я наоборот - вынес бы в сервис-леер, меня бы посчитали мудаком, что лишние абстракции для такой простой задачи делает? А если бы я взял тот же HTTPListener, вместо того чтобы контроллеры и это вот использовать? Вот что из этого со стороны потенциального работодателя - хуже и на каком уровне?
1058 2290413
>>290323

>И собеседованиях отказывают


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

Ну и плюс минимальный набор ASP, EF, SQL, LINQ.

Я как-то задрочил Рихтера, галера-бодишоп отправила на собеседование к заказчику я там раскидал все вопросы, а когда пришло время увольняться из галеры, местный техлид предложил мне позицию сеньера, хотя у меня опыта было полтора года. Но я тогда не пошел кним, ибо у них ставка сеньера была 190к, при средней по рынку 300к.
1059 2290459
>>290323
2 книги именно в таком порядке:
- Джон Скит: Jon Skeet - C# in Depth (4th) - 2019
- Ben Watson - Writing High Performance .NET Code - 2014

Прям делаешь по ним конспекты и учишь всё что там написано. Похуй, будет оно применяться или нет.
- кастомные Task классы
- state machine в yield return с ексепшенами
- асинхронные IDisposable
- обработка исключений в многопоточных приложениях

Да, ты этого нихуя не найдешь в живых проектах, зато сможешь смотреть на некоторых "сеньеров" как на говно.
1060 2290471
>>290391
Ну кто виноват что образование в рашке не работает? Пускай конденсируют это пониженной зарплатой на первое время.
>>290413
На интервью мне не задают настолько сложных вопросов чтоб я прям не знал что ответить, а хотя я знаю. То что в списках "это точно спросят на интервью" даже ни разу не спрашивали про типы по значению и ссылке, про сборщик мусора, про виртуальную машину и т.д.
>>290459
И в чём смысл Джуна который знает какие-то сложные штуки про которые его никогда не спросят и которые не пригодятся при его уровне развития?
1061 2290502
Добрый день. Чуть меньше месяца назад я начал изучать c# и пока изучаю, чисто, синтаксис языка. Хотелось бы узнать, у более опытных анонов, насколько часто желательно повторять весь изученный матерьял? И нужно ли, во время повторения, пробегаться по теории или достаточно будет сделать парочку задач по теме?
1062 2290505
>>290502
Языковые конструкции учатся очень быстро поскольку используются всегда и везде, нет смысла их повторять и задрачивать, они сами задрочатся по мере изучения, но конечно нельзя пропускать мимо ушей практику. Усвоил циклы - пошел их практиковать и экспериментировать.. и так далее по всем основам. Если ты уже умеешь юзать циклы условия итд, то переходи к более сложным вещам.
1063 2290556
>>290323
Книги бро
Потом практика, если сам себе задачку придумать не можешь
Стырь с курсов, только не скиллбокс, лучше у индусов, лол
1064 2290561
>>290556
Какие книги? Какая практика? Ну я же писал выше, мне нужно конкретнее
1065 2290608
>>290561
Ну Троелсен к примеру, но на русике очень старое издание
Параллельно алгоритмы и структуры данных поверхностно подрочить
Потом делаешь простой интерфейс к бд на каком нибудь впф, или аспе
1066 2290651
>>290608

> Потом делаешь простой интерфейс к бд на каком нибудь впф, или аспе


Ну на впф я такое могу сделать. Могу называться джуном значит? Как это точно определить, мне отказываются из-за того, не везёт или чего-то не хватает? Пробовал собеседование уже около 5 раз
1067 2290741
>>290651
Ну видимо ты реализуешь его по каким-то старым паттернам, или вообще без паттернов а тяп ляп
Глянь пример простейшего МввМ приложения на впф, и сделай что-нибудь подобное
Какой нибудь парсер погоды хз, не важно
Главное показать что ты понимаешь концепцию модель вьюха вьюмодель, или на аспе мвс, или апи
Круто если еще и тестами покроешь
Ef тоже плюсом будет
Ну и на гите чтоб это все было
Ждут обычно чего-то такого
1068 2290773
>>290471

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


Ну это как сказать мол Ерохин и Сычов одинаково угловато вынлядят в костюмах. Вот только на Ерохе костюм сидит, т.к. тот на турнички ходит по утрам, а Сычов пинус в доте сосет дрочит.

Короче в работе это отражается в том, какой код пишет в итоге.
1069 2290790
посоветуйте нормальный, адекватный сборник задач по с#, где нету всякой хуйни, типо "переведи там двоичный код в биты-хебиты, бла бла" или "сделай задачу на тригометричискую-хуемитрическую функцию" и т.п.
1070 2290884
>>290790
leetcode
1071 2291021
>>290323
Я сейчас тебе на самом деле дам годный совет.
Делаешь мелкий проект через TDD. Проект выбираешь не на похуй, чтобы сделать, а что-то что тебе самому хотелось бы автоматизировать, чтобы ты понимал как этим пользоваться будешь. Даже ебучая поваренная книга совмещенная с ведением учета того что у тебя в холодильнике, если это то что тебе нужно - будет полезнее в плане экспы, чем прога, которую ты вроде как сделал, а не знаешь нахуя и зачем. Потому что по факту, охуенный код, который не решает задачи бизнеса - нахуй никому не нужен, ты сам подумай, с хуя столько вони про легаси и хуевый код дедов, но при этом он - крутится на серверах и им пользуются. А если у тебя будет и охуенный код(полученный через TDD) и еще он что-то полезное делает, то ты в глазах хуев что тебя нанимают - потенциальный менеджер-хуенеджер или тимлид.
Берешь докер и учишь пайплайн(там просто, вечер посидеть поразбираться).
Запихиваешь свой проект в докер.
Все, ты уверенный джун.

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

Книги - хуйня. Но если ты решишь, что тебе таки нужны, рихтера сразу нахуй.
1072 2291025
>>290790
Кодварс. Там задачки интересные, а не унылота как на литкоде.
1073 2291071
>>291025
Не троль
1074 2291073
>>291071
Хочешь сказать, что задачка неинтересная?
https://www.codewars.com/kata/52ffcfa4aff455b3c2000750

Оно и интереснее и больше всяких штук затрагивает, в отличии от литкода, гда даже хард задачки - это конец первого курса вуза. Вот пример что я скинул - это уже как минимум - конец второго. По крайней мере у нас мы такое на втором делали.
изображение.png385 Кб, 1094x377
1075 2291080
>>291073
Извиняй, просто у нас, видимо, вышло недопонимание. Я, первоначально, когда увидел твой пост, зашел на Кодварс и увидел пик, после этого я решил, что ты просто меня решил обидеть. Но думаю я был не прав, ведь сперва стоит попробовать и только потом уже делать выводы.
1076 2291081
>>291080
А, лол, я не на тот сайт просто попал...
1077 2291157
Посмотрел видос как на твиче накручивают миллионы зрителей, и там попалась дллка которая показывает что это всё написано на c#. Каким образом вообще пишутся приложения которые могут создавать такое огромное количество соединений? Что там за такая крутая архитектура? Ни одного компьютера не хватит чтобы столько соединений открыть с прокси без продуманной структуры. Каким образом это вообще пишется?
1078 2291160
>>291157
столько это сколько?
1079 2291193
>>291157
Если найдешь экзешник проги - можно будет декомпилировать и глянуть исходники
1080 2291201
>>291160
Сотни тысяч сколько, мало что-ли
>>291193
А если накрыли каким нибудь говном?
1081 2291230
>>291157
воображаю

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

сервер: всем смотреть какое-то говно на твиче
ботинки: открыть соединение
твич: ого сколько зрителей!...

да такое дети в школах пишут, если честно
1082 2291236
>>291201

>Сотни тысяч сколько, мало что-ли


Где взять сотни тысяч проксей для одновременного использования? А нигде.
1083 2291280
>>290471

>Ну кто виноват что образование в рашке не работает? Пускай конденсируют это пониженной зарплатой на первое время.


Ну кабаны по факту это и делают. Если вкатуну удается устроиться куда-нибудь без опыта, то только за еду.
Вот когда он год-полтора попердолится и оботрется, тогда сможет на что-то претендовать.
По сути 3-х летний студент с нормальной(!) практикой по уровню равен вкатышу после полуторагодовых курсов и тех же полутора лет работы за подачки.
Остальное зависит уже от личных качеств. У кого лучше хардскилы, тот берет умением, у кого лучше софт скилы, тот языком дорогу прокладывает.
1084 2291281
>>290471

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


Показывает кругозор и уровень. Если кандидат способен интересоваться сложными штуками да еще и понимать их, то с простыми у него точно проблем быть не должно.
1085 2291318
>>247357 (OP)
Есть база данных SQLite3.
И есть СSharp.
Есть System.Data.SQLite: https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
Есть документация в CHM-файле: https://system.data.sqlite.org/index.html/doc/trunk/Doc/SQLite.NET.chm?mimetype=application/x-chm
И есть библиотика - System.Data.SQLite.dll : https://system.data.sqlite.org/downloads/1.0.115.5/sqlite-netFx20-binary-bundle-Win32-2005-1.0.115.5.zip

Как работать с базой данных, блядь?
Надо создать какой-то cs-файл, чтобы там подключиться к базе, и прописать там методы всяке ебучие, и его потом подключать, верно?
Как называется эта хуйня? Есть ли исходники с чем-то подобным?
Может создать? Только я ебу как правильно эту хуету назвать.
1086 2291363
>>291318
паттерн репозито(а)рий что ли?
1087 2291378
Добавил новую view и viewmodel в программу, как делал сотни раз до этого и ВНЕЗАПНО началась какая-то дичайшая утечка памяти. Комменчу contentcontrol до viewmodel и она исчезает. Я уже всё проверил что только можно, пробовал и целиком комментить код viewmodel с view, чтобы там вообще нихуя не оставалось - всё равно утечка. Пробовал и onewaytosource ставить, вместо twoway - нихуя. В чём вообще может быть проблема?
1088 2291379
>>291201

>А если накрыли каким нибудь говном?


Сомневаюсь
1089 2291380
>>291378
Проблема там, где мы её не видим. Показывай код
1090 2291383
>>291380
Кода там порядочно во вьюхе и вьюмодели, но, как я говорил, я его пробовал убирать целиком, проблема осталась.
<ContentControl Grid.Row="0" Grid.Column="0" Content="{Binding ObjToolBar,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
Больше даже не знаю, что показать. Показывать просто нечего
1091 2291385
>>291383
Значит проблема в UI, иди на ruSO, там тебе ответим с пацанами
1092 2291396
>>291385

>ruSO


Что?
1094 2291414
>>291378
ну так посмотри же кто в куче живет
1095 2291415
>>291398
Если уж совсем не смогу решить. Но всё же, как проблема может быть c UI связана? Я этот contentcontrol положил в TabItem TabControl'а, в этом табайтеме у меня уже 2 других контенконтрола лежит и всё с ними нормально. Я эту операцию проделывал уже ёбаную кучу раз и в этот раз я всё сделал как обычно и уже всё что можно перепроверил, просто хуею
image42 Кб, 705x928
1096 2291426
Ну да, UI, если я всё правильно посмотрел. Только что теперь делать с этой информацией?
image9 Кб, 955x115
1097 2291429
1098 2291435
>>291426
>>291429
Хотя нет, стоп, это я цп смотрю
1099 2291441
>>291415
Пройдись в отладчике, мб у тебя цикл бесконечный где-то.
1100 2291447
>>291441
Проходил. И если бы он был бесконечным, то всё вообще вылетало бы, а так прога работает, только отжирает 2 гига памяти, вместо 300.
1101 2291556
>>291447
А может у тебя проблема вовсе не в новой вью и вьюмодел?
1102 2291576
>>291383
Короче, у меня был Grid.ColumnSpan у ContentControl, я его убрал и память перестала утекать. Почему - даже примерно не ебу, просто абсурд, нахуй
1103 2291577
>>291556
Лол, нет
>>291576
1104 2291860
>>291157

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


Берешь и пишешь

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


С хуя? Вот буквально на работе нужно было перформанс моего TCP-сервера проверить и отказоустойчивость. Обычное ВПФ приложение, открыл сокет и понеслась. 50к - спокойно открываются, по потребленю памяти - около 100МБ на эти самые 50к(но тут я еще еблан, не периспользую память, никаких пулов и прочего, просто хуяк-хуяк, создал клиенту буффер и туды-сюда елозю), и это не просто открытое соединение, вполне себе шлют по протоколу пакетики, стейт меняют и все такое. Так что я хуй знает с чего ты решил, что не должно хватить мощностей.
Ну а архитектура:
-Core // тут парсер пакетов и все остальное относящиеся к протоколу
-Net
--Connection.cs // обертка над сокетом
-Application // тут прикладной уровень
--ClientAdapter.cs // стейт-хуейт, держит в себе парсер, соединение, при разрыве переподключается, умеет с прокси работать
-Views - единственная вьюшка тут с обычным датагридом чтоб за стейтами следить, настроечки тут же, чтобы можно было задать настройки подключения и всякое разное
-ViewModel
--AppViewModel.cs // тут вьюмодель
EntryPoint.cs // сюда Main запихиваю потому что я хочу так Код void Main(string[] args) => new Program(args).Run();
Program.cs // Приложение собираю тута, там создаем окошко и погнали
1105 2292010
>>291378
Смотри что за объекты выделяются. Удобнее конечно с доттрейсом, но и студийный профайлер пойдет.
Так вот. После того как увидел что - ищи где конкретно.
1106 2292305
Ребята, как совладать с datepicker'ом в разор страницах? Мне нужно вывести чисто дату, сейчас на html странице у меня такое:
@Html.TextBoxFor(model => model.DateTimeProperty, new
{ value = Model.DateTimeProperty.ToString("dd/MM/yyyy"),
type = "date"
}

В модели:
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime DateTimeProperty { get; set; }

Бинд проперти я уже специально убрал. В итоге у меня вывод просто дефолтного значения дд.мм.гггг (буквально), хотя в нем находится value в виде 10.02.2022 00:00:00. Как заставить DateTime поле не передавать время, а только дату в html?
1107 2292331
Двач, посоветуй чисто практических книг по шарпу, но не Рихтера - он показался тяжеловесен, с большим количеством избыточной теории.
1108 2292338
>>292331
Тем более, что 4-ое издание датируется 2013 годом.
Я хотел бы почитать что-то не менее качественное, но более актуальное.
1109 2292356
>>292331
- Jon Skeet - C# in Depth (4th) - 2019
- Ben Watson - Writing High Performance .NET Code - 2014

алсо, не понимаю, тех кто читаю рихтера. там про 4.5
1110 2292399
>>291363
Ну, что-то типа того.
Что надо делать, чтобы работать с базой?
Подключиться к ней, открыть соединение с ней, и дальше читать SQL-запросы из ввода, исполнять их и возвращать результат, в виде таблиц, значений всяких, с разными типами, и так далее и тому подобное.
Добавлять данные туда, вставлять строчки, обновлять их, и всякое такое. Делать CRUD всякий с базой.
Вот, что-то подобное хочу написать, и залить на гибхаб. Токо не знаю как назвать эту парашу ебучую.
1111 2292535
>>292399
дак ты сначала напиши очередную админку для баз данных, а уж потом про название подумаешь.
1112 2292558
Когда тред перекатите? Заебали уже, если честно. В дотнете все такие инфантильные?
1113 2292596
>>292558

>В дотнете все такие инфантильные?


Тогда чего ты тут забыл?
1114 2292653
Для чего в туториалах по wpf для совсем новичков рекомендуют использовать caliburn micro, mvvcross? Разве не лучше сначала без них научится работать?
1115 2292697
>>292653
без них это как? написать свой MVVM фреймворк? Так для его написания нужен опыт работы с ними. А без MVVM это ж вам не винформсы = стрелять себе в ноги
1116 2292723
>>292558
Зачем. Все равно первые 500 постов набегают разные расто- джава- делфи- и прочие шизики и засирают тред до бамплимита. Зато потом можно спокойно общаться один хуй куда он с тематики денется.
1117 2292797
>>292697
Даже для очень простых приложений нужен фреймворк? Почему его из коробки тогда нет?
>>292558
Да перекачу, в c++ сидели до 2000 постов почти и нормально, тоже я перекатывал
1118 2292813
>>292797

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


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

>Почему его из коробки тогда нет?


https://docs.microsoft.com/en-us/windows/communitytoolkit/mvvm/introduction
1119 2292851
>>292813

>https://docs.microsoft.com/en-us/windows/communitytoolkit/mvvm/introduction


А какой их них вообще самый простой?
1120 2292860
>>292851
хз. обычно выбирают же по обратному принципу "какие возможности".
Я начинал с MVVM Foundation. Почитал их код и вникнув в example app отформатировал мозг на понимание MVVM.
А дальше...да все фреймворки как братья, где в каждом что-то по своему сделано.

Для меня же все они обладают фатальным недостатком - у них weak модель управления жизнью всего
1121 2292987
>>292851
хотя у майков какой то странный фреймворк. дока так все по верхам как то. Непонятно как навигация, как вьюмодели создавать, как и кто меняет IsActive для вьюмоделей (даже если это UWP, то кто меняет?), не все есть, но есть и не раскрыто лишнее вида AsyncRelayCommand и т.д.
Зато раздел по перфомансу, причем на уровне будто это хайлоад сервер код какой то пишем.
1122 2293004
>>292987
Ясно, дальше на caliburn посижу
1123 2293096
>>292535
Уже написал.
Это не админка, а просто консольная хуйня, в одном cs-файле, принимает sql-запрос через Console.ReadLine(), выводит данные и пишет их в лог. Есть также пара методов для возврата значений разных типов, datarow, datatable там, блобы, вот это вот всё.
Под каким именем сранину вхуярить на гитхаб - даже не знаю. Как это говно назвать?

Насчет админки, я вижу в OpenServer есть некий SQLite Менеджер, доступный по URL.
Но это не совсем то, что у меня.
1124 2293133
>>293096
Назови ее пупса

Выбор имени - сложное дело. Искать говорящее про функционал имя и свободное, и не выглядело банальным типа SqlRequesterLite...бяка
А постороннее... А какое?

Поэтому пупса. Спросят тебя "а что это значит". А ты скажешь "анон подсказал"
1125 2293136
>>293004
Да свой напиши, раз уж захотелось чего то другого
1126 2293442
>>292356

>Jon Skeet - C# in Depth (4th) - 2019



Я так понимаю, это всё есть в электронной форме?
https://csharpindepth.com/
1127 2293552
>>293442
где хочешь. можешь с амазона бумажный вариант заказать
1128 2293577
Смотрел документацию по СигналР, и насколько я понял метод OnDisconnectedAsync может принимать налл, отлично стильно соверменно, но я не понимаю как это обрабатывать? Что бы я не делал мне визуал студио все время говорит что я делаю это не правильно

Как у настоящих матерых программистов принято писать код в таком случае?
1129 2293627
>>293577
ну if(exception!=null) точно не нужен
1130 2293735
>>293577
Там новый сахарок в виде bang-bang оператора завезли, попробуй его использовать. Потом расскажешь.
image.png311 Кб, 1280x797
1131 2293737
>>293735
>>293577
Кортинко забыл
image.png23 Кб, 881x119
1132 2293749
>>293737
Не работать
1133 2293762
>>293749
а фреймворк сменить?
1134 2293764
>>293737
а шарп 11 завезли?
1135 2293776
>>293762
В смысле с дот нет 5 на дот нет 6? а там будет работать?
Но на самом деле не важно, я не могу вот так взять и просто сменить фремворк, у меня все поломается
1136 2293778
>>293776
конечно не будет.
дотнет 6 это шарп 10
шарп 11 еще ждать и ждать
1137 2293781
Значит есть aspnet core сайтец. Есть у него слой работы с бд (б-гомерзкий еф), есть апликуха(контроллеры и вот эта вся хттп параша) и между ними лежит слой сервисов. Среди прочего прочих сервисов методов есть такие, которые просто отдают сущность из бд. Т.е. контроллер просит у сервиса, например, страну по айди, сервис тащит из бд CountryEntity, конвертит это в CountryDTO и отдает контроллеру. Таких запросов много, а стран мало и, очевидно, надо бы это закешировать. Вопрос: какой слой должен работать с кэшем?
1138 2293809
Здарова, интересует такой вопрос: как лучше соединить код на фортране с шарпом. У моего научника есть достаточно старая программа написанная на фортране, он предложил написать для неё более новый интерфейс на шарпе. До этого я писал только простенькие проги на питоне, ну и синтаксис Си знаю немного. Есть предложения с чего лучше начать? Курить матчасть из шапки?
1139 2293914
А как так вышло, что большая часть вакансий на C# это фуллстековые потогонки?
1140 2293926
>>293914
они на словах фулстековые
>>293781
да ни в какой. поставь редиску между фронтом и бекендом и все.
1141 2293991
В чем его проблема? почему этот ajax не работает?
почему я никак не могут передать сраный стринг
1142 2294014
а оно вообще не работает
/
ВООБЩЕ НАХРЕН!

даже это
$.ajax({ url: _SetQuickReservationUrl, data: "test", type: 'POST' });

или это
$.ajax({ url: _SetQuickReservationUrl, data: {serializedInputs :"test"}, type: 'POST' });
1143 2294055
>>293991
>>294014
Может роуты хуёвые.
1144 2294070
>>294055
Собственно я к тому же склоняюсь, я это делаю в апи контроллере, его недавно начал использовать
.png31 Кб, 505x831
1145 2294117
>>293577
Показываю только один раз. Запоминай.
Лень устанавливать сигналр, но ты думаю не тупой, все поймешь.
1146 2294130
>>294117

>ex is not null


Как в тред питухона зашёл...
1147 2294142
>>293764
Да, походу еще нет. Сорян, лоханулся, в конфе прочитал новость и потом уже только посмотрел. Но срачик на гитхабе знатный на эту тему.
1148 2294490
За три года работы я уже почти забыл основы, по типу как устроена хешмапа, алгоритмы все эти и прочую залупистику.
Т.е. я помню названия, я помню как погуглить, что какой сложностью обладает, когда то, когда это применять. Но вот как оно написано - реально уже не помню.
Стоит ли освежить эти знания, если я собираюсь походить по собесам? Или теперь таки буду про проекты спаршивать и это вот? Слышал раньше, что после того как есть реальный опыт - начинают про него спрашивать, но чет сам думаю, что чтобы быть спокойным - следует таки поелзать-посмотреть на кишки.
1149 2294561
>>294490

>Стоит ли освежить эти знания, если я собираюсь походить по собесам?


Лишним не будет. Иногда спрашивают. Но в основном таким джавистов ебут. У шарпистов обычно максимум спрашивают как List под капотом устроен.
1150 2294615
>>293133

>Назови ее пупса


>Поэтому пупса. Спросят тебя "а что это значит". А ты скажешь "анон подсказал"


Заебись название. Мне нрав.
PUPSA - Program Usage Providing SQLite3 Access.
Тут говнокод, короче: https://github.com/username1565/PUPSA
Можете оптимизировать, дописать, потестить, а то и вовсе переписать. Предложения/пожелания - в issues.
1151 2294657
>>294615

>PUSDA - Provide Usage SQLite Data Access.


было бы попижже, я думаю
1153 2294733
>>293926

>да ни в какой. поставь редиску между фронтом и бекендом и все


Ну неее. Данные из Country используются для валидации и определения дальнейших действий, т.е. юзеру могут лететь разные ответы
1154 2295363
>>294694
ну их "а давайте все сделаем свое ибо фатальный недостаток" - у них стала абсолютной сильно позже рождения WPF
1155 2295388
>>292813
С хера ли мазохизм? Винформы - топ за свои деньги. Прост как молоток. Понятен даже дебилу. Куча готовых компонентов, спиздил вопхнул себе и в ус не дуешь.
Пилить что-то на винформах, не обмазываясь фреймворками за пределами самого .net - легче легкого.
Фатальный недостаток форм это то что поддерживать и кастомизировать это дело чуть сложнее.
1156 2295426
>>294657
Ну всё, пупсе - пизда. Можешь перепроверить.
1157 2295435
>>295426
В аутсорс.
1158 2295457
>>295388
А причем тут вообще винформсы, если речь идет о WPF

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


Ага, плодя портянки в code-behind ибо это дефолтный путь для винформс. Если захочется чистоты, то прикручиваем MVP

Но в WPF изначально сделана крутая система биндингов и писать в стиле винформс (лезем к контролам напрямую, да все в code-behind) - мазохизм.
1159 2295530
Я вас категорически приветствую.
Есть ли смысл искать стажировки в мск, будучи студентом, или лучше смотреть в сторону джуновских вакансий? Насколько вообще глубоко опрашивают на собесах? В портфолио 1.5 проекта на винформах с ef-ом, в основном курсач вузовский
1160 2295619
Какое же это говно ваш аспшлейфговнакор, отвратная документация мсдн с кучей ненужных деталей и опечаток, уххххх ыыыы new Random().NextIndus() скозал создавать дто для каждой ебучий хуйни, чтоб защититься от оверпостинга, ух ух названия типов настолько длинные что даже в сайдбар не влезают на их говносайте,
мы же блять любим печатать, private readonly URETRAServiceProviderManagerContext ___________service1
private readonly GOVNOEBANOEApiControllerTvoeuMamiContextAttribute _services2

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

> dotnet watch run


>[info] Microsoft.ShlyapuSnimau.Kogda.Vi.Pochinite.Cveta.V.Etom.Ebuchem.Govne

1161 2295620
>>295619
Дополню:

Нахуя нам нужна перегрузка операторов? Кто ей пользуется?

Спасибо, мелкософт, теперь в одниx ифах obj is null в других используем обычный ==. КРАСОТА
image183 Кб, 938x567
1162 2295709
Пилю петпроект для нужд текущей инженерной работы. Есть вопрос по организации кода.
Вот есть файлы с исходным кодом программы, которая вычисляет что-то полезное.
Есть ресурсы. Например экселевская табличка и она же, конвертированная в формат csv. Иногда картинки, которые отобразятся на WinForm'е.
Есть файлы с исходным кодом тестов программы на корректность работы.
Есть файлы с исходным кодом тестов алгоритмов на производительность (где проверяется, что сравнительная скорость работы соответствует ожиданиям, и нет где-то внезапной просадки скорости вычислений в 10-100 раз).
Есть файлы с исходным кодом простых примеров использования кода программы. Обычно я вычислительную часть делаю отдельным проектом и отдельным проектом делаю GUI + чтение и сохранение исходных данных. И вот есть пример кода, типа Getting started, для кода вычислительной части.
Есть файлы с документацией. Сейчас в файлах MS Word. Там текст с перекрестными ссылками, оглавлением, формулами, набранными в редакторе формул, картинками (фотки/сканы листочков с формулами и схемами или просто всякие другие картинки). Так же в документацию входят файлы Excel, где какие-то промежуточные вычисления для наглядности реализованы формулами Excel, чтобы легко всё увидеть, как считается, и что получается.
Вопрос. Как всё это грамотно хранить по папочкам на диске, по проектам и решению/решениям? Как называть? Есть какие-то лучшие практики? Чтобы легко было ориентироваться, и человеку со стороны было понятно, чтобы ничего не терялось и сразу находилось там где ожидаешь. Чтобы минимально плодить сущности.
ad6ee05ad1c41f4eaeffb0a76d58c63e.jpg53 Кб, 564x560
1163 2295767
Можно немножко оды любви Шарпу?

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

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

Как так получается - для меня шарп оказался наиболее интуитивно понятным или просто повезло, что мне хороший ментор попался с пачкой литературы, разделённой по уровням?
1164 2295779
>>295767
Двачаю, шарп мой первый ЯП и надеюсь последний, уже не представляю свою жизнь без LINQ и другого сахара. Тоже смотрел пайтон чтобы помогать мл. брату готовиться к ЕГЭ и это пиздец, насколько же конченый синтаксис и типизация. Жс еще хоть Си-подобный.
1165 2295784
Сап шарпач помогай.
У Васи есть X белых и Y чёрных квадратных клеток паркета. Он хочет составить квадрат наибольшего размера. Любые две соседние по стороне клетки этого квадрата должны иметь разные цвета. Угловые клетки квадрата могут иметь какой угодно цвет. При изготовлении квадрата не обязательно использовать все имеющиеся клетки.

Какой самый большой квадратный паркет сможет составить Вася?

Например, если X = 3 и Y = 3, то вывод 4 (поле 3х3, наибольшее - 4)
1166 2295785
>>295784
Напиздел на счет входных:

входные данные
9 9
выходные данные
4
1167 2295803
>>295530
Два раза проходил стажёром, тупо отказали. Лучше уж джуном на не полную ставку
1168 2295816
>>295767
Тричую. До шарпа перепробовал несколько языков, но остановился именно на нём, сразу понял, что это моё. Просто эстетически даже импонирует. Даже логотип приятного цвета, сине-фиолетовый, не то что кофеек жабовский. Даже naming conventions — всё с большой буквы, методы, свойства, файлы, папки. Охота распрямить спину, когда пишешь на шарпе.
1169 2295833
>>295779
перебробовал с 10+ языков и у меня 3 лидера
питон - нормальный там синтаксис и сахар из коробки (учитывая на каких простых концепциях оно все построено), самая быстрая скорость кодирования "думаю о проблеме, а не о том "как б... в этом языке ее выразить". Ну и батарейки конечно. для прототипов и быстрых вещей.

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

котлин - очень выразительный и лаконичный язык. приятно на нем "выражаться затейливо", а уж сила этой выразительности вовсю проявляется в jetpack compose (описание GUI под андроид) - шарп бы там выглядел куда более коряво (пример корявости - тот же флютер). У меня от него синтаксический экстаз...ну пока дело не касается "а вот ушки жавы торчат хаха".
1170 2295933
>>295530

>В портфолио 1.5 проекта на винформах


В современном мире тем у кого есть деньги на стажеров, винформы нахрен не уперлись, а у тех кому уперлись денег на стажеров нет.
Учи asp.net и прочий веб. Ну или хотя бы WPF если именно в десктоп хочешь, с ним хоть что-то еще поймать можно.
1171 2295987
>>295933

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


Тут скорее дело в том, что проекты на формах намного более стабильны. Ни о каком динамично развивающемся проекте на винформах в 2к22 и речи быть не может.
Это браузерный скот готов терпеть любые унижения новыми интерфейсами и редизайнами, придумываемыми каждые полгода по инициативам менеджеров, которых без бурной деятельности без бонусов оставят.
Коммерческие проекты на формах начаты обычно очень давно, может быть и 15 и 20 лет назад, используют их консервативные корпоративные клиенты. На таких проектах просто никогда не возникнет нужда в срочных, внезапных, глобальных изменениях, которые можно было бы закидывать стажерским мясом. Да и джуны тут не очень нужны. Фичи медленно и планомерно пилят понурые скуфы 40+. К молодому, упругому и бесполезному отношение будет не очень.
1172 2296309
Хм. Хм. Как сделать логгер быстрее, при этом:
1. Не использовать буффиризацию стрима(приводит к тому что флашится он когда буффер заполнен, а это приводит к тому, что иногда сообщение лога не полностью выводится, пока буффер вновь не заполнится)
2. Не захватывая файл все время(нужно смотреть что он достиг лимита на размер лога и удалять старый, при захвате файла с этим проблемы)

Да, я знаю что как-бы да, велосипед и все такое. Но такое дело. ПО что пишется - пишется под определенный протокол, в протоколе заложены свои логи(можно считать скоупами в привычном смысле) и свои уровни(их там 15, и обычным адаптером придется сверху уродливую конструкцию мутить для того чтобы парсить лог при запросе последних данных из него, а чтобы быстро было - проще хуйнуть sqlite базу, в которой эти уровни будут отдельной табличкой, на а экономить место можно храня только уникальные записи эвентов, таким образом - сама таблица с логами выглядит примерно как: id, dateTime, eventId, level, scope)
Так вот. Если я включаю уровень trace в своем логере, а в приложении идет активная хуйня, то логгер без буффиризации и захвата файла - начинает работать пиздецки медленно, задержка может достигать нескольких минут, что мне кажется неоч. Но как без этого сделать быстрее - я не знаю.
1173 2296312
>>296309

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


буфер сообщений переполнился - запись с флушем. хз где тут не полная запись

>при захвате файла с этим проблемы


ну так расхвати и сделай ротацию. У тебя там многопоточный доступ к файлу что ли.
1174 2296317
>>295767
Ну а я бы поспорил.
Во-первых, плюсы - пизже в плане возможностей. Когда берешь плюсы - прямо чувствуешь себя программистом настоящим. У тебя полный контроль над всем. Хочешь вывести в консольку анимешную картинку - да изи, никаких проблем, взял хендлер окна, из памяти загрузил картинку, чики-брики у тебя в консольки анимешная девочка. Чтобы такое сделать на шарпах, ты либо unsafe и винапи тереби, либо бери чью-нибудь либу, которая это же делает.
Хочешь вычислений на видяшке - тоже изи бризи
Проблема плюсов только в том, что туда как в топовый спорткар заложили просто дохуища всего, что в целом-то и не нужно среднестатистическому кодеру. Ну, и этого слишком дохуя, чтобы нормально освоить даже за года практики. А в остальном - плюсы - лучший язык. Низкоуровневый, оопшный, удобный. Люблю плюсы. Жалко что за них тута платют мало, так бы в них пошел.
1175 2296320
>>296312

> У тебя там многопоточный доступ к файлу что ли.


Ну да. По протоколу клиент может запросить данные за диапазон времени для определенного скоупа определенного уровня. Нужно будет прочитать из файла чтобы сформировать ответ. В это же время логгер должен будет писать в файл.
1176 2296327
>>296320
ну пусть пишет. какая проблема? винда что ли?
1177 2296336
>>296317
Ну ты же понимаешь, что ЭТОДРУГОЕ?
Для какой-нибудь МК я не буду на шарпе писать, а на плюсах или чистом си - это очевидно вроде
изображение.png19 Кб, 559x162
1178 2296380
Поясните, что некорректного в строках?
1179 2296390
>>296317
На плюсах тебе ровно также надо будет винапи дергать.
Фишка в том, что на шарпе сейчас можно писать в ансейфе код прямо как на чистом С, и память нативную выделять. Т.е. ты в рамках одного языка в одном месте пишешь низкоуровневый код, а в другом месте, буквально в соседнем файле - нормальный божественный шарп во всей его красе. Можно поизучать стандартную библиотеку шарпа, там почти везде примерно так и делается.
16446943479140.jpg218 Кб, 1080x1080
1180 2296477
>>295767
>>295779
>>295833
А можно я вам тупой вопрос задам? Я ньюфаг, есть мысль написать приложение виндовое одной направленности. В начале пробовал питон, вроде всё понятно было, но решил дропнуть из-за направленности в бэкенд и нежелании ебаться с костылями. Начал смотреть уроки по шарпу. В начале полное ощущение того, что всё просто и понятно, а местами "ёпт в питоне почти точно так же". А потом смотришь урок и башка гуманитария взрывается от синтаксиса пизда.елда.хуйзалупа(сосибибу.пизда.елда).
Это мне кажется и надо брать яйца в кулак и просто разбираться, всё не так сложно, или реально про сравнению с питоном, щарп - ебаное нагромождение?
1181 2296531
>>296477
А что сложного в

> пизда.елда.хуйзалупа(сосибибу.пизда.елда)


Это же наоборот удобно и просто.
1182 2296536
Проект на WPF, Caliburn Micro.
Захотел добавить модальное окно. Создал окно, класс, но View никак не хочет ничего привязывать из ViewModel. Названия файлов 100% совпадают EditView.xaml и EditViewModel.cs. В чём проблема?? Тоже самое написал в ShellViewModel и там всё работает. Как вызываю окно на последнем скрине.
Это приложение для контактов, хочу показать окно чтобы посмотреть данные о контакте и отредактировать его если нужно.
1183 2296537
>>296477

>пизда.елда.хуйзалупа(сосибибу.пизда.елда).


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

У меня была ровно обратная ситуация. Я привык в шарпе из классов, как из кубиков собрать структуру, которую пнул - и оно поехало.
А в питоне такое ощущается противоестественно. Конечно я такое видел, но как то чужеродно. В питоне же есть модули, и можно без классов писать (а в шарпе методы не могут быть без классов), к тому же куча вымученного синтаксиса вида list(map(reduce или i for i in ...

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

кстати у меня с котлином было то же самое. Я кучу языков и парадигм переварил, но котлин ну никак в голову не шел. А потом тут на дваче нашел "котлин для питонистов" и я такой "а зачем я пытаюсь искать аналогии с шарпом, если котлин = рубипитон с типизацией" - и тогда очень все хорошо пошло.
1184 2296539
>>296536
За MessageBox в ViewModel стегать нагайкой
1185 2296540
>>296477

>про сравнению с питоном, щарп - ебаное нагромождение?


Ну в некоторых местах нагромождение. Но ты бери во внимание что в c# удобнее писать из за того что у переменных есть типы, будет меньше ошибок во время работы, подсказываются методы, а ещё язык намного быстрее работает. Золотая середина по мне
>>296380
Этот метод не принимает строку, тебе надо Double.Parse()
1186 2296710
Как отправлять письма по электронной почте в хтмл формате?
1187 2296719
>>295767
Если бы ещё на нём работа была
Нужен парсер 1188 2296728
Сап шарпач!
Есть один файл, структурированный по-питоновски (подэлементы дерева отбиваются табами).
Хотелось бы узнать, есть ли в природе парсеры общего назначения, в которые я бы загрузил свои правила и он бы мне мой файл конвертнул в ЖСОН.
1189 2296792
Метод PasswordSignInAsync возращает false, хотя логин и пароль переданы корректно. В чем может быть ошибка?
1190 2296795
>>296792
await не забыл?
1191 2296802
>>296795

>await не забыл?


Нет. await _signInManager.PasswordSignInAsync
1192 2296870
https://dotnet.microsoft.com/en-us/
20 лет сегодня

>>296536
Бамп вопросу
1193 2297032
>>296536
я не знаю что там в калибурне, но вот на 3 скрине ты создаешь окно и вызываешь его показ, но нигде не ставишь у него DataContext
1194 2297121
>>296380
Школу вспоминай. В российской культуре разделитель дробной части это запятая, а не точка
1195 2297126
>>296540

>Этот метод не принимает строку


Если б не принимал, была бы ошибка компиляции.
1196 2297139
>>296719
Да уж побольше чем на Go или Котлине
1197 2297927
Второй месяц готовлюсь к собеседованию на одну компаний с джинни. По синтаксису вроде все подтянул, не считая нескольких моментов, сейчас надрачиваю ASP.NET фреймворк. В следующем месяце собираюсь перейти на структуры данных и алгоритмы, а после паттерны проектирования.
Одновременно с этим начинаю поднимать уровень английского, пока что самостоятельно по Мерфи, позже запишусь к репетитору.
У кого-то тут был опыт таких подготовок к собеседованиям?
1198 2298045
>>297927

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


Вот тебе задачка с собеса.
Как из словаря <string, object> достать элемент независимо от регистра ключа? Например в словаре у тебя ключ "Zalupa", а в запросе "zAlUpA". Доступа к созданию экземпляра словаря у тебя нет.
1199 2298051
>>298045
Обойти все ключи и найти нужный. Делов то. Про скорость в задаче не вижу
1200 2298052
>>297927

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


>У кого-то тут был опыт таких подготовок к собеседованиям?


Что за компания которая готова ждать полгода, пока ты подготовишься к собесу? Или это стажировка за еду какая-то?
За полгода-год, в принципе, можно и в какую-нибудь мелкоконтору вкатиться за плюс-минус нормальный прайс.
1201 2298057
>>298045
.Where(x => x.key).Where(x => String.ToLower(x)).Where(x => x == "zalupa")
1202 2298060
>>298051

>Обойти все ключи и найти нужный.


На такой ответ первый же вопрос будет: как ты будешь ключи обходить? Даже могут на листочке код попросить написать.
1203 2298062
>>298057
Все, спасибо, я пошел это в прод вставлять.
1204 2298066
>>298060
dic.Keys..Select/Where
dic.Select/Where
да хоть тупо в цикле, а на вопрос "почему не LINQ" отвечать "так быстрее, LINQ тормоз, такова моя вера"
1205 2298069
>>298057
Вот будет весело тебе, когда попросят по шагам расписать, что этот код делает (и да он работать не будет)
1206 2298070
>>296728
Судя по количеству ответов никто такой хуитой не занимается. Я вчера гуглил километры матана, голова вспухла от парсеров, лексеров и прочей красноглазой дряни. В общем, сваял свой парсер. Однопоточный, говновсратый, ифами-ветвящийся швайнопарсер. Над 15 кб файликом пыхтит джве минуты. Сойдёт.
1207 2298071
>>298066

>так быстрее, LINQ тормоз, такова моя вера


Кстати на нормальных собесах сейчас ебут за сентенции вроде "X медленный поэтому я использую Y"
За последние два года в .net столько всяких оптимизаций наебенели, что такие фразы однозначный признак, того что собеседуемый завис где-то в 2017-м году.
1208 2298082
>>298045

> Как из словаря <string, object> достать элемент независимо от регистра ключа? Например в словаре у тебя ключ "Zalupa", а в запросе "zAlUpA". Доступа к созданию экземпляра словаря у тебя нет.


foreach (var item in tvoyDict) if (item.Key.ToLower() == "zalupa") return item;
Мне перезвонят?
1209 2298083
>>298071

> .net столько всяких оптимизаций наебенели


наебенили, да не везде. LINQ все равно проиграет в оптимизации и в количестве аллокаций.

Более того, если бы все было именно так, то дотнет не предлагал бы такое количество штук для оптимизации.
1210 2298092
>>298069
Берёт наш словарь и извлекает только ту часть которая слева, ключ (string)
Преобразует этот ключ во все нижние буквы
Теперь отфильтровывает только ключи с нужным названием
Не работает, тогда надо в визуал студии проверить
1211 2298097
>>298092

> и извлекает только ту часть которая слева


А тебе надо ключевую пару отдать. Вот ты и объебался.
1212 2298106
dic.Where(p => p.Key.Equals("zalupa", StringComparison.OrdinalIgnoreCase)).Select(p=>p.Value).FirstOrDefault();
1213 2298114
>>298106
правда тут не отличить "значения нет" от "значение null" так что цикл удобнее будет
1214 2298117
>>298082
foreach (var item in tvoyDict) if (item.Key.Equals("zalupa", StringComparison.OrdinalIgnoreCase)) return item;
Вот теперь точно перезвонят.
Спасибо, анон.
1215 2298120
>>298117
нет. скажут "а че не StringComparison.CurrentCultureIgnoreCase". ты надеешься что в кеях будет только латиница. Ты что - оптимист что ли? Оптимисты нам не нужны. Нам нужен надежный код.
1216 2298132
>>298120

> ты надеешься что в кеях будет только латиница


>>298117

> "zalupa"


Ого! В дотнете можно получать доступ к строковым константам? Покажи как?
1217 2298153
>>298132
с unsafe можно многое
1218 2298180
>>298132
public class Program
{
const string constanta = "zalupa";

public static unsafe void Main(string[] args)
{
fixed (char* p = string.Intern(string.Concat("zal", "upa"))) p[0] = (char)0x10;
Console.WriteLine(constanta);
}
}
1219 2298207
>>298132
даже проще
public static unsafe void Main(string[] args)
{
fixed (char* p = string.Intern(string.Concat("zal", "upa"))) p[0] = (char)0x10;

Console.WriteLine("zalupa");
}

значит меня склероз не подводит что все хардкор строки - интернированные
1220 2298210
>>298180
>>298207
Каеф! Чорная магия процветает!
1221 2298211
>>298207
не говоря уже о том что string.Concat и не нужен - можно прямо значение писать и сразу в интернированные попасть. А string.Concat только для примера чтобы была видна суть
1222 2298216
>>298210
то есть в дебрях делаешь такое, да еще чтобы срабатывало не сразу и рэндомно

fixed (char* p = "zalupa") p[0] = (char)0x10;

и увольняешься.
1223 2298224
>>298216
Меняет букву z на символ перевода каретки? Но что это даёт? Не могу сообразить.
Image 1.png8 Кб, 554x148
1224 2298230
>>298224

>Меняет букву z на символ перевода каретки?


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

А дает это вот такую отладку.
на скрине условие не сработает. Но попробуй догадайся почему.
1225 2298285
>>296728
Lex/yacc
ANTLR
1226 2298295
>>298285
а также Sprache, где можно описывать все в шарпе, но есть ограничения, и PEG вместо ANTLR
1227 2298478
>>296728
Тебе ответили.
Но если там просто дерево обычное и типа его узлы, то самому написать такой парсер - дело 10 минут же.
1228 2298618
>>298052
То опечатка. Я имел в виду удаленку в любую забугорную компанию с перспективой релокейта и зп больше 2.5 к.
1229 2298657
>>295435
Там это... PUSDE - PISDA
1230 2298707
в сигналР есть он коннект и онДисконект методы, проблема в том что онДисконект выполняется при каждой перезагрузке страницы, п у меня нет онРеконект евента, поэтому я не знаю новый ли это пользователь или тот же который был, обновил страницу, как это фиксить?
1231 2298909
>>247357 (OP)
Привет, двачата.
Начал изучать си шарп с абсолютного нуля. Из знаний программирования только школьные уроки паскаля, которые я тоже забыл, так что уровень моей осведомленности, думаю, можете понять. Щас смотрю уроки по каналу SimpleCode да, реклама на ютубе, прохожу методы. Доволен собой, что понимаю хотя бы 70% из материала, но без тупости не обходится. В видосе дадя говорит, что для примера Console.WriteLine не возвращает никакого значения, только символы на консоль. Мне как раз не понятно, что такое "возврат значения" и почему тот же Console.WriteLine ничего не возвращает, а делает что-то там внутри себя. По моей текущей логике я вижу, что Console.WriteLine выдает мне на консоль символы, то есть для меня это и есть значение, которое мне вернули. Может кто мне объяснить, пожалуйста, почему Console.WriteLine ничего не возвращает и в чем суть возврата чего-либо?
1232 2298931
>>298909

//void - ничего не возвращает
private void DoSomething(){
}

//int - возвращает целое число
private int GetSomeValue(){
return 123;
}

// где-то в другом методе можно сделать такой вызов:
var someVariable = GetSomeValue(); //в переменную someVariable запишется 123
DoSomething(); // а вот тут просто вызов метода который ничего не возвращает (void)
1233 2298941
и плохо что void то не возвращаемое значение. Это один из просчетов создателей шарпа
1234 2298942
>>298909
По аналогии с человеком.

Ты сказал человеку купить бутылку воды, он пошел купил и дал тебе бутылку воды.
В другом случае ты сказал купить бутылку воды, он пошел купил но тебе ничего не отдал.
1235 2298957
Ребят, как встроить гугол рекапчу с двоща в десктопное приложение?
1236 2299055
>>298909

> в чем суть возврата чего-либо?


Когда у оператора return есть аргумент, происходит ВОЗВРАТ.
Как написал анон выше:

>>298942

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


water BuyBottle(int amount) { return amount; } // Возвращает воду.
water myWater = BuyBottle(1); // Nice!

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


void BuyBottle(int amount) { return; } // Ничего не возвращает, или как говорят англоязычные, "возвращает ничего".
BuyBottle(1); // And what?
1645022607332.png296 Кб, 770x664
1237 2299059
>>298941

> void


> просчет


> шарпа

1238 2299078
>>299059
Ну а чей? когда делали шарп конечно делали "пилим свою жаву", но никто в заложниках членов семьи не держал и не заставлял делать именно как там не подумав.
А нам теперь разгребай это.
1239 2299082
>>298931
>>298942
>>299055

Ну то, что именно войд не возвращает значения, я, допустим, понял. Пример с бутылкой тоже понятен. Однако, я не понял почему Console.WriteLine не возвращает ничего. На тех же примерах, я передаю консоли (человеку) команду написать строку (купить воды), результатом у меня строка в консоли (вода в моих руках). Эта же строка работает по умолчанию в static void Main(string[] args), то есть войд мне что-то возвращает. Вот так я понимаю. Если неправильно, объясните, пожалуйста, еще раз
1240 2299086
>>299082
да елки палки
возвращаемое значение - значение которое может вернуть метод, как результат своей работы, если он может сформировать такой результат и в этом есть смысл.

а что делает метод - его личное дело

>о есть войд мне что-то возвращает


попробуй
var result = Console.WriteLine() и пусть тебе компилятор пояснит что такое void
1241 2299096
>>298909

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


Ты различай себя который кодит и себя который смотрит на окно консоли - это разные люди.
Первый дает команду Console.WriteLine, которая что-то куда-то отправляет. Может быть в консоль, а может еще куда. Ему похуй. Он отдал данные - метод их отправил и все, обратно в _программу_ он ничего не вернул.
А вот второй сидит и пялится в окно, в котором по волшебству возникают буковки. Никаких программ, кода или еще какой-то программерской вуду-юду. Просто смотришь в экран, а там картинка меняется. Чудеса.
1242 2299105
>>299082

> результатом у меня строка в консоли (вода в моих руках)


Нет. Строка в консоли, это пока челик ходил в магаз, по пути написал ХУЙ на заборе. А вернувшись воды тебе не дал. Потому что void.
1243 2299108
>>299082

>На тех же примерах, я передаю консоли (человеку) команду написать строку (купить воды), результатом у меня строка в консоли (вода в моих руках).


Нет, чувак!. В твоих случаях будет так:
В твоем случае "строка в консоли" != "вода в моих руках"
"Строка в консоли" == "вода в руках чувака, который за ней ходил".
Чтобы эта вода оказалась в твоих руках, тебе нужно дать другую команду.
Вот если бы ты выполнял какую-нибудь метод Console.WriteLineAndGetResult("купи водой") который возвращает значение, то ты бы получал какие-нибудь данные, но не те же самые которые вывелись в консоли. То что вывелось в консоли это часть самого путешествия за водой, а не его результат.
1244 2299116
>>299082

> почему Console.WriteLine не возвращает ничего


Потому что индусы в майкрософт сделали именно так.

А вот помнится ,в былые времена, в МС любили делать функции, которые возвращали код выполнения, то есть, если бы шарп был запроектирован как диды кодили, то было бы int WriteLine(...) и ты бы мог написать что-то типа:

> if ( Console.WriteLine("Купи воды") == ErrorCode.OK )


> // Oll Correkt


> else


> // OMG samsin wrong

1245 2299118
>>299116
и щас любят. просто стараются называть такие методы Try....
1246 2299125
>>299116

>> if ( Console.WriteLine("Купи воды") == ErrorCode.OK )


>> // Oll Correkt


>> else


>> // OMG samsin wrong


Вы, блядь, поехавшие тут что ли. Нахуй вам вообще такая конструкция, в применении к консоли? Это команда в стиле "отправил и нахуй забыл". Или вы какие-то хитрые колбеки от консоли ловить хотите на простой вывод меседжа?
1247 2299127
>>299082
вывод в консоль это не возвращаемое значение,а выполняемая работа. Оно выводит в консоль и при этом код может выполняться на сервере где никакой сессии с консолью нет и никто не смотрит вовсе
1248 2299134
>>299125

> Вы, блядь, поехавшие тут что ли.


Ага. Проблемс?
>>299118

> называть такие методы Try


Кстате да.
1249 2299138
>>299082

>(вода в моих руках)


это как раз то что метод бы вернул тебе.

А метод Console.WriteLine("вода в моих руках") это всё равно что если бы человек, которого ты отправил за водой, крикнул на всю улицу "Вода в моих рука!"
1250 2299151
>>299138

>А метод Console.WriteLine("вода в моих руках") это всё равно что если бы человек, которого ты отправил за водой, крикнул на всю улицу "Вода в моих рука!"


Ну точно ебанутый. Console.WriteLine, это аналог команды "напиши на заборе...". Ты же почему-то ожидаешь, что когда ты дал команду НапишиНаЗаборе("Хуй"), этот "хуй" у тебя мистическим образом в руках окажется.
1645027256796.jpg42 Кб, 599x449
1251 2299157
>>299078

> разгребай это


Как теперь жить-то? Консоль не возвращает значение.
1252 2299160
>>299157
не знаю причем тут вообще консоль. В моем сообщении на "проеб с void"не было ни слова про консоль, ни ссылки ну любой чужой пост где бы упоминалась консоль
1253 2299164
>>299151
Так я и не ожидаю ничего в руках. "Крикнуть", тоже самое что и "написать на заборе". Это просто один из способов передачи текста.

Я думаю ты не тому анону ответил. Я же наоборот пытаюсь объяснить тому анону, в чем суть метода WriteLine()
1254 2299181
>>299138
Так, то есть, если результат возврата значения, это вода в моих руках, то как это выглядит? Не понимаю тогда как с точки зрения программирования вода действительно находится в руках, а не просто сообщает мне, что она в руках.

Если я создам калькулятор в консоли, сосчитаю 2+2, то 4 будет результатом или чем-то другим?
1255 2299193
>>299181

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


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

>Если я создам калькулятор в консоли, сосчитаю 2+2, то 4 будет результатом или чем-то другим


Да, это будет результатом выполнения твоего алгоритма. По сути любой код это алгоритм. Группы схожих алгоритмов можно группировать в классы, а сами определенные алгоритмы(т.е не посредственно "рабочий" код который там что-то считает умножает в хуй ебется) - в методы
1257 2299199
>>299181
ну сказали же. возвращаемое значение - то что возвращается через return, этот результат можно получить после вызова метода, сохранить в переменную, намазать на хлеб, свернуть и засунуть в, забыть про него и так далее.

метод может вывести в консоль, сохранить в файл, написать на заборе, проорать во весь голос в магазине - это не возвращаемое значение (хотя бы потому что чтобы его получить нужно делать дополнительные телодвижения)
1258 2299256
Действительно ли читать книги более эффективно чем смотреть туториалы на ютубе? (английский знаю). Как будто они не в целом язык разбирают, а узкие темы. Если потом попробуешь самостоятельно что-то исследовать не будет понятно, придётся всё постоянно гуглить. Ну у меня такое ощущение примерно. Посоветуйте книгу не для совсем новичка, чтоб подтянуться до джуна, не очень огромную
1259 2299267
>>299256
самое эффективное это что то кодить реальное (неважно какой степени полезности) с учителем у кого можно спросить "а как тут правильнее". Сильно хуже - вместо учителя гугл. Ну а книжки читать по диагонали для построения индекса подходов в голове. Ну еще и чужой код активно изучать сильно лучше чтения книг.
Ютуб - сильно медленная подача и не спросить детали
1260 2299280
>>299267
И где взять такого учителя? Частенько возникают вопросы не только как правильнее, а как вообще это сделать и почему не работает. Гуглёж не особо помогает. Сюда кидаю но не часто отвечают
1261 2299299
Может здесь кто-нибудь такой найдётся, кто будет помогать мне в изучении языка? Мне в школе говорили мальчик умный, старательный но ленивый. А потом и на работку вкачусь.
1262 2299315
>>299280

>а как вообще это сделать и почему не работает.


это и есть "как правильнее"

>И где взять такого учителя?


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

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

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

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

Еще конечно можно писать свои велосипеды (либы, фреймворки - потому что сложно придумать "что бы написать полезное"). Получатся будет убого, но это не имеет значения - будут закрепляться знания и подходы.
1263 2299333
>>299256

>Если потом попробуешь самостоятельно что-то исследовать не будет понятно, придётся всё постоянно гуглить.



Это основной навык. В голове всё удержать не получиться. Нужно уметь искать информацию в интернете.
1264 2299358
>>299315

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


Да мне всё равно что писать. Меня просто не берут на работу, якобы я чего-то не знаю. Вот думаю как мне достаточно подтянуть знания чтобы взяли
1265 2299395
>>299358

>Меня просто не берут на работу, якобы я чего-то не знаю


ну проходить собеседование и быть хорошим разрабом - разные вещи
собеседование это дичь
1266 2299474
>>299256

>Действительно ли читать книги более эффективно чем смотреть туториалы на ютубе?


Да. Ноу дискас.
1267 2299532
>>298941

>и плохо что void то не возвращаемое значение. Это один из просчетов создателей шарпа


>>299059

> void


> просчет


> шарпа


>>299157

>Как теперь жить-то? Консоль не возвращает значение.


>>299160

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


>>299078

>А нам теперь разгребай это.


>public static bool Method(){


> try{


> MethodVoid();


> return true;


> }catch(Exception ex){


> Console.WriteLine("Method ex: "+ex);


> return false;


> }


>}

1268 2299539
>>299532
Я повторюсь еще раз - моя ремарка про void не касается консоли, а говорит о void вообще. Именно поэтому я не ссылался ни на какой пост (и не думай что я не умею ссылаться, ведь я ссылаюсь сейчас на твой пост)

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

А теперь про void
void плох тем, что он не возвращаемый тип. void не несет никакой пользы, кроме указания "результата нет".
Нельзя сделать Task<void> - а значит будь добр пилить в либах почти идентичный код для Task и Task<T>
В других языках используется структура Unit. Даже в либах самого мелкософта можно ее встретить - самопальная структура велосипед) для внутренних нужд.
1270 2299542
>>299532
и вот еще пример (жаль нельзя редактировать пост)
https://github.com/jbogard/MediatR/blob/c1ad66ef52434a22c10a0de5e060d13b185ef80b/src/MediatR/Unit.cs
там даже подписано зачем это.
void - один из косяков создателей шарпа
и жаль, не единственный.
1271 2299554
>>299539
В чем, блядь косяк? В чем? Блядь. void == ничего не кладем в какой-нибудь EAX после завершения.
Ну или в контексте паскалеподобноых терминов - void == процедура. Если тебе нужно чтобы процедура возвращала значение, ты пользуешься функциями. Если ты так хочешь какого-то результата от void - прими таблетки передавай внутрь ссылку на хуйню которая тебе все сохранит куда-то, почему.
1272 2299752
>>299554
Косяк в том, что кто то насмотрелся обрыганских видосов на ютубе и теперь давит интеллектом харкач.
1645096231691.jpg12 Кб, 252x240
1273 2299861
>>299542

> void - один из косяков создателей шарпа


> void


> косяк


> шарпа

1274 2299924
>>299554

>В чем, блядь косяк?


я же русским по белому написал чем плох. мне повторить?

>Косяк в том, что кто то насмотрелся обрыганских видосов на ютубе


ну да. авторы реактива и mediatr тоже насмотрелись и поэтому решили вводить свой велосипедный тип Unit вместо священного void от просто так ага. так и запишем.

Вообще тип Unit он норм, просто он не стандарт, а каждый пилит свой велосипед.

>>299861
А чей? папы римского?
1275 2299930
>>299554

>Если ты так хочешь какого-то результата от void


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

Тогда бы не спрашивал что не так.
изображение.png18 Кб, 400x400
1276 2299991
Привет Шарпистам.
Хочу сделать приложение кроссплатформенное под всю хуйню (Вин, Линукс, Андроид, плюсом будет ВЕБ), решил что возьму либу Avaliona потому что она умеет в MVVP по этим параметрам. Далее - приложуха будет plugin-based, что значит надо найти какую-то либу, решение и т.д., которое позволяло бы загружать плагины и дампать API, чтобы вообще знать а что расширять-то можно.
Есть какие-нибудь гайды, главы в книгах, статьи о том как такое сделать? Можно на аглицком
Или можете хотя бы указать какие либы ЛУЧШЕ всего подходят под такую задачу?
1277 2300014
>>299991

>Андроид, плюсом будет ВЕБ


авалония в это не умеет.

Это нужно смотреть в сторону https://platform.uno/ или мауи (хз может ли он веб)
1278 2300015
>>299930

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


А ты писал?

>решили вводить свой велосипедный тип Unit вместо священного void от просто так ага


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

>В других языках используется структура Unit


Так в шарпе должен быть Unit, свой стандартный вшитый фабричный отточенный, или void должен нести значение?

void используется, когда ничего возвращать не надо, надо что то возвращать - возвращаешь. И в этом и суть велосипедного типа Unit: зачем то им надо что то возвращать, и это что то должно вести себя определённым образом - та-да! они это возвращают.
А ты серишь просто бессмысленный поток сознания. Что то где то увидел и пошёл повторять с умным видом. Скоро вернёшься размазывать мантру "с++ лудший потому что всё есть и всё можно написать а ещё самый быстрый!!!"
16438315159522.png170 Кб, 500x335
1279 2300023
>>300014
Ты хоть погуглил бы 5 минут прежде чем отвечать

https://github.com/wieslawsoltes/NodeEditor
https://wieslawsoltes.github.io/NodeEditor/

>Avalonia is mature and production ready. We also have in beta release support for iOS, Android



Но ладно. По твоему Уно будет лучше Авалонии? Чем лучше? Меньше кода для кроссплатформенности?

Алсо, я так и не понял как систему плагинов запилить
1280 2300033
>>300015

>А ты писал?


конечно писал. И конкретно с этой проблемой дела имел. И в итоге тоже завел себе тип Unit

>То есть любая пользовательская структура данных - велосипед?


именно. Все знают про Task/Task<T> ибо это в языке задумано. А про Task<Unit> - нужно доки читать

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



Когда ты пишешь клиентский код, то проблем нет - нужен T, юзаешь Task<T>, не нужен - юзаешь Task. То есть пишешь один из вариантов - что тебе нужно.

Но когда ты пишешь либы, то должен предусмотреть все варианты использования Task<T> и Task. И вот тут наступает трабла, потому что ты вынужден кодить параллельную цепочку для Task (а если еще кодогенерация, то туши свет). То есть тупо повторяешь кучу кода, только потому что Task это вам не Task<T>. И либо кодируй отдельно для Task, либо вводи Task<Unit>, что авторы представленных либ и сделали.
1281 2300037
>>300015

>Так в шарпе должен быть Unit, свой стандартный вшитый фабричный отточенный, или void должен нести значение?


ничего не должно быть. жить можно. просто конечно лучше бы изначально был unit вместо void и не приходилось бы свое вводить, в доке описывать и так далее
1282 2300043
>>300023

>По твоему Уно будет лучше Авалонии?


хз. я с уно дел не имел. с авалонией имел но давненько ито что они в блазор полезли - не знал
но вот с авалония бета я запарился. Того нет, этого нет, это работает не так, траблы под ios и сколько времени потратишь переписку и фикс - хз. Вижу бета - прохожу мимо.
1283 2300050
>>300033
Так в чём проблема то? В том, что нет стандартной структуры почти без функционала? Но с этим ещё можно согласиться, в самописном Unit есть фатальный недостаток.
Но как из этого следует, что void должен возвращать значение? Все методы, которые ничего не возвращают, должны срать структурой, только потому, что у тебя функциональность Task и Task<T> дублируется?
1284 2300052
>>300043
Ну да, в этом плане лучше пользовать уже готовый ЮИ фреймворк.
1285 2300056
>>300050

>Все методы, которые ничего не возвращают, должны срать структурой, только потому, что у тебя функциональность Task и Task<T> дублируется?


ну, во первых, не только у меня, а у всех либописателей.
а, во вторых, почему нет - в некоторых языках (щас не вспомню) именно так и сделано изначально. Потому что нет разницы между "нет результата" и "результат не имеет значения/нужности". Unit не привносит проблем, просто не имеет ограничений как void
(как и тот же companion object в котлине, который я хейтил что "смотрите как они уродливо сделали статические методы", пока не понял что так лучше)

>Так в чём проблема то?


Понимаешь, со всем можно жить. Ну вообще совсем. Жили же с null и ничего. Это потом автор нулл назвал это "охрениллиард долларов". Но ведь жить можно. Вон сколько кода написано. Да что автор понимает то )

Но если быть честным, то такие "можно жить" по факту - косяки. А мешают они сильно или слабо - не меняет факта ошибочности идеи.

навскидку
void - пояснил
виртуальные свойства - там я уже не помню ибо сам никогда такое не юзаю
IReadOnlyList - изначально забыли, а потом уже к IList не прилепить. То есть понятно что IReadOnlyList должен быть родителем для IList, а поздно. В итоге нельзя передать в IList в метод ожидающий IReadOnlyList
null safety - в итоге как варнинги, да и от кучи кода без оглядки на него никуда не денешься.
events - необходимость для отписки давать тот же делегат плохая идея. Вариант с диспозабле токеном или lifetime куда лучше.
раз уж выше написал про статики - статики нельзя расширить как экземпляры. Приходится писать свои ClassEx

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

Вот только клиентский код должен теперь разбираться "а кто отменил" явно проверяя "а это точно не я отменил все или оно само и мне нужно повторить?"

В итоге это "пофиксили" - теперь TaskCancelledException содержит InnerException = TimeoutException, чтобы можно было отличить хоть как то с фильтром when для исключений.
Дикий костыль, но ради обратной совместимости иначе никак.

Конечно, я не всё это считаю "ууу виноваты, бестолковые", но все же неудачные идеи остаются неудачными.
1285 2300056
>>300050

>Все методы, которые ничего не возвращают, должны срать структурой, только потому, что у тебя функциональность Task и Task<T> дублируется?


ну, во первых, не только у меня, а у всех либописателей.
а, во вторых, почему нет - в некоторых языках (щас не вспомню) именно так и сделано изначально. Потому что нет разницы между "нет результата" и "результат не имеет значения/нужности". Unit не привносит проблем, просто не имеет ограничений как void
(как и тот же companion object в котлине, который я хейтил что "смотрите как они уродливо сделали статические методы", пока не понял что так лучше)

>Так в чём проблема то?


Понимаешь, со всем можно жить. Ну вообще совсем. Жили же с null и ничего. Это потом автор нулл назвал это "охрениллиард долларов". Но ведь жить можно. Вон сколько кода написано. Да что автор понимает то )

Но если быть честным, то такие "можно жить" по факту - косяки. А мешают они сильно или слабо - не меняет факта ошибочности идеи.

навскидку
void - пояснил
виртуальные свойства - там я уже не помню ибо сам никогда такое не юзаю
IReadOnlyList - изначально забыли, а потом уже к IList не прилепить. То есть понятно что IReadOnlyList должен быть родителем для IList, а поздно. В итоге нельзя передать в IList в метод ожидающий IReadOnlyList
null safety - в итоге как варнинги, да и от кучи кода без оглядки на него никуда не денешься.
events - необходимость для отписки давать тот же делегат плохая идея. Вариант с диспозабле токеном или lifetime куда лучше.
раз уж выше написал про статики - статики нельзя расширить как экземпляры. Приходится писать свои ClassEx

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

Вот только клиентский код должен теперь разбираться "а кто отменил" явно проверяя "а это точно не я отменил все или оно само и мне нужно повторить?"

В итоге это "пофиксили" - теперь TaskCancelledException содержит InnerException = TimeoutException, чтобы можно было отличить хоть как то с фильтром when для исключений.
Дикий костыль, но ради обратной совместимости иначе никак.

Конечно, я не всё это считаю "ууу виноваты, бестолковые", но все же неудачные идеи остаются неудачными.
1286 2300064
>>300052
в авалонии под винду мыльные шрифты (увы). конечно зависит от монитора и хз чего, но лично на моем мыльновато
и никак это не решить.
wpf тоже мыло, но там есть настройки.
1287 2300071
>>300050
Забыл про свой любимый ConfigureAwait(true) по умолчанию. И мне, как либописателю, это очень напрягает - или везде ставь ConfigureAwait(false), или насильно теряй SynchronizationContext (и не дай бог забыть потерять его на входе), или юзай ConfigureAwait.Fody (что я и делаю), но это уже дикий костыль, ведь он скрытый от глаз и если кто-то посторонний смотрит на код, то он про эту тонкость не знает.
1288 2300107
Дайте годную идею для веб приложения.
1289 2300110
Господа! как бороться с мыслями которые постоянно лезут в голову, что я тупой. Вот допустим изучал как то делегаты, вроде все понятно, но с течением времени изучив много чужого кода я пришёл к выводу, что нифига я не знаю о них. И так касаемо всего, даже операции с обосцаными строками если копнуть, то можно столько всякого откопать. Создаётся впечатление, будто программирование это бесконечно глубока бездна в которой нет дна. Поэтому кажется будто я тупой, либо программирование удел гиков-аутистов, которые знают весь код наизусть как Отче наш.
1290 2300132
>>300110
Просто берёшь и без задней мысли кодишь, а если что то не понимаешь, то гуглишь.
1291 2300177
>>300056

>HttpClient при таймауте кидает TaskCancelledException. Почему? Да потому что автор либы посчитал что метафора "задача отменена" тут подходит. Таймер отменяет задачу запроса в сеть, вроде все логично. Но не кидает наверх TimeoutException, ведь работает метафора "задача отменена"


>


>Вот только клиентский код должен теперь разбираться "а кто отменил" явно проверяя "а это точно не я отменил все или оно само и мне нужно повторить?"


О, да. Мне вот эта хуита с "was cancelled" в случае таймаута, стоила кучки нервов в свое время.
1292 2300208
>>299930

> Либы видать никогда не писал


Писал. Хуй знает правда при чем тут void и чем он в контексте либы плох.
Ну давай. Допустим я пишу логгер.
У меня есть метод
void Log<TScope>(TScope scope, LogLevel level, string messageFormat, params object[] logEventParameters);
Почему void - плохо тут? Что бы ты хотел, чтобы там было? LogEventWriteState? int с кодом ошибки? Может быть объект для того чтобы можно было подождать пока сообщение таки будет всеми писателями записано и ты бы с этим что-то делал? А может быть это все хуйня и тут void - норм, как раз для пользователей моего кода, а в своем коде - я могу с internal нахуячить чего мне надо?
1293 2300216
>>300208

>Почему void - плохо тут?


без понятия почему ты считаешь что он плох тут
Тут он просто сигнатура, которая никому не мешает.

Мешает он когда у тебя нужно Task<void>, но поскольку Task<void> нельзя, то ты пишешь Task. А это вынуждает тебя писать параллельную к Task<T> логику обработки этого случая. При этом код на 99% копипаст из логики с Task<T>
То есть есть у тебя метод с Task<T>, который по цепочке там на 10 что то вызывает - придется сделать дубликат всей этой логики для Task

Там же рядом ходит и необходимость в интерфейсах указывать Task и Task<T> раздельно. А потом еще и реализовывать это (даже клиенту)
https://github.com/jbogard/MediatR/wiki#request-types
1294 2300252
>>300208
И так то не проблема, что либа вводит свой Unit
просто это не стандарт, а значит люди не привыкши
что приводит к необходимости писать об этом в доках

был бы введен Unit при рождении TPL и все про него знали - здорово
был бы Unit изначально - еще лучше

А без этого рождаются вот такие вопросы
https://qna.habr.com/q/858409
1645119486589.jpg31 Кб, 500x372
1295 2300294
>>299924

> А чей? папы римского?


> священного void


От самого Иисуса!
1296 2300309
>>300216

> При этом код на 99% копипаст


Пиздёжь. Делаешь класс без дженерика, который наследует скажем Класс<int> и один раз оборачиваешь его методы в void-овые. Например, если у твоего Task<T> есть метод T Run(), то тебе не надо копипастить код этого метода. Наследуешься от Task<int>, прячешь int Run(), прячешь int Result, делаешь void Run() { base.Run(); } и всё. Инт возвращается, но уходит в пустоту. Которая по английски и есть void.

Такшта надуманная проблема. Лучше бы софт делал, а не этой хуйнёй маялся.
1297 2300323
>>300309

>Такшта надуманная проблема


ну да ну да. расскажи это автору хотя бы того же Mediatr, что он неуч и нихрена не понимает, и все его регалии
https://mvp.microsoft.com/ru-ru/PublicProfile/4025502?fullName=Jimmy Bogard
херня, ведь анону с двача виднее

Расскажи это авторам Reactive Extensions, что они тупые, ведь никакой проблемы нет

Они то всего лишь практики. А практика хуйня )
1298 2300330
>>300323

> расскажи это автору


Рассказал.

> Расскажи это авторам


Рассказал.

Харкнул им в ебала. Твои действия?
1299 2300371
>>300330

>Твои действия?


пойду киношку погляжу. ведь диалог продолжать нет смысла
1300 2300372
>>300323
Аргументум ад регалиум.

У меня дед, который 20+ лет работает и кучу всего полезного за время работы написал - хуячит методы по 10к строк и все пишет зачастую в одном Program.cs, потому что ему так вот нравится, ссыт на ебало всем любителям ООП и ФП, потому что начинал он с си, а асинхронщину по заветам APM хуячит. Ну, дед-входит в тех, кто составляет стандарты на уровне европки для нашей предметной области, дед - дохуя всего сделал, у деда ЗПха охуенная, ну, давай как дед AsyncCallback'и хуячить и ебашить ансейфом, просто по фану, потому что можем. У него ж столько регалий, куча выступлений на конференциях и вообще, дед - довольно известный в кругах этой вот предметной области.
1301 2300374
>>300372
не сомневаюсь
Но что еще делать, если не получается пояснить суть тем, кто далек от темы

Даже прямыми словами у авторов написано что они вводят юнит, потому что void нельзя вернуть - не аргумент. "Авторы дураки и придумали это от просто так" (с) анон с двача
1302 2300379
>>300309
ага. у рх проблема не с тасками - я не знаю, я его не юзаю. (что пофиг ибо суть проблемы та же)
цитата
"Поскольку мы не можем реализовать интерфейс IObservable<void>, разработчики библиотеки Rx добавили тип Unit, который как раз и играет роль отсутствия возвращаемого значения."
http://sergeyteplyakov.blogspot.com/2010/11/blog-post.html
tuples.png26 Кб, 271x281
1303 2300410
Давайте ещё вброшу обратное от Task<void>.

Разве пикрелейтед - это не костыльная ООП-имлементация tuples?

>where TRest : struct


Ну это вообще ахуенно, бонус, тюпл в тюпле.
1304 2300433
>>300410
а зачем так было сделано? какую проблему решали?
1305 2300445
>>300433
Скорее не захотели встраивать нормальные tuples (как в F#) в компилятор, а реализовать средствами языка.
1306 2300509
>>300379

> разработчики библиотеки Rx добавили тип Unit


Я сделал то же самое, только не добавляя типа. Вместо какого-о лишнего Юнит, у меня инт.
1307 2300568
Дорогие аноны, как можно ускорить два метода, один из которых парсит данные из листа структур в лист удобно читаемых строк, а другой ищет по префиксу все подходящие вхождения в получившемся листе?

Пробовал две реализации на пикрелейтедах, причём с параллелизмом стало медленнее. Как быть?
1308 2300604
>>300330

>Твои действия?


Мутирую в гидралиска.
1309 2300651
>>247357 (OP)
Привет, подскажите, пожалуйста, как перейти на версию c# 8.0? В одном видосе сказано нажать "Открыть папку в проводнике" в решении, там зайти в .csproj и скопировать строку <LangVersion>8.0</LangVersion> из <PropertyGroup> в <PropertyGroup> повыше. Проблема в том, что у меня нет строки <LangVersion>8.0</LangVersion> и некоторые операторы не работают, например ??=. У меня Visual Studio 22 17.1.0 версии, стоит только "разработка классических приложений .NET.
1310 2300661
>>300107
Бамп.
1311 2300675
>>300651
допиши эту строку в первый PropertyGroup, там где фреймворк указывается
иначе он автовыбирает по фреймворку
Потому вписав дотнет 6 получишь шарп 10 и не нужно ничего мудрить лишнего
1312 2300775
>>300675
Поменял на 6.0, visual studio просит установить версию 6.0.2. Я ее поставил, но все равно не могу на нее перейти почему-то
1313 2300789
>>300775
Я раньше тоже с этими волшебными списками опций игрался и нихуя не понимал, а потом освоил консолечку (dotnet CLI) и горя не знаю теперь.
1314 2300816
>>300775
VS2019 что ли
Хз. я давно перешел на 22
1315 2300825
>>300816
Не, 22
1316 2300829
>>300816
Я давно перешёл на вс коде. Запускается за полсекунды, в руке лежит, как влитой. Разницы со студией ноль.
Image 4.png32 Кб, 820x774
1317 2300844
>>300825
тогда хз чего у тебя настройки выглядят так (по старому). а не как у меня на пике
1318 2300846
>>300829

>Разницы со студией ноль.


юморист )))
1319 2300861
>>300846
Формошлёп, ты?
1320 2300890
>>300861
Конечно, только формы и шлепаю. Заодно и куличики леплю
1.jpg229 Кб, 1039x704
1321 2300927
>>300844
А где такие настройки? У меня даже при создании проекта нет возможности выбрать другие версии кроме этих
1322 2300951
>>300927

>А где такие настройки?


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

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

но вообще есть старый стиль *.csproj и новый sdk
может для каждого стиля свой вид настроек. Я давно перешел на новый во всех проектах еще задолго до выхода даже дотнет 5
1323 2301112
>>300568
В общем. Если бы я еще знал что эти циферки значат.
Да, заполнял лист фуллнеймов по 1000 валидных и 1000 невалидных.
1324 2301116
>>301112
А, ну да, еще наверное такая дикая разница из-за того что тестовые данные я как ебанат составил:
Valid
Invalid
кек. Наверное нужно было бы поиграться.
1325 2301124
>>300568
Юзай регулярки
1326 2301145
>>301112
а как по твоему сравнивается StartWith в строках? До первого несовпадающего символа же - дальше нет смысла искать. Поэтому ручная имплементация самому лишена смысла.

Хочешь ускорить - параллель (если плата за это не превосходит выигрыш) либо структуру какую типа префиксного дерева
1327 2301161
>>301145

> а как по твоему сравнивается StartWith в строках


Ну, они сравниваются как-то так. А потому, свой велосипед вполне нормальное решение, если тебя все эти культуры и прочее не волнует.
1328 2301210
>>301161
но не в 500 же раз если на скринах бенчи именно этого
1329 2301229
Что я делаю не так? Первый скрин - вывод в консоль и курл
Второй - собственно код
С заголовками-то все ясно. Но вот решил, что хорошо бы и тело доставать. И чет пизда. Что в постмане, что в curl - уходит в выделенном куске в бесконечное ожидание. Смотрю что там в сокете, написано Available = 0. Но блядь. А куда тело-то делось? Чи шо? Чи я тупой и что-то не прочитал?
1330 2301245
>>301161
хотя да. сделал бенчи ориг StartWith и второго варианта (проверяем по символу в цикле)

если без указания StringComparison то дико медленно
| Method | Mean | Error | StdDev |
|-------------- |-------------:|-----------:|-----------:|
| TestOrigin | 5,809.44 us | 29.262 us | 25.940 us |
| TestNaive | 20.21 us | 0.065 us | 0.061 us |

а вот с StringComparison.Ordinal вменяемо
| Method | Mean | Error | StdDev |
|-------------- |-----------:|---------:|-----------:|
| TestOrigin | 29.50 us | 0.216 us | 0.191 us |
| TestNaive | 20.43 us | 0.238 us | 0.222 us |
1331 2301247
>>301229

>что в curl - уходит в выделенном куске в бесконечное ожидание


нужно проверять i
если он i==0 то значит поток закрылся и данных больше не будет и нужно выходить из цикла
1332 2301257
>>301247
Ну, поток-то не закрылся на деле. Он вполне принимает нормально ответ.
Плюс я постманом файл текстовый пытался отправить. Вот его таки читает, но не целиком, последние несколько строк куда-то проебываются. Но куда - я не понимаю.
1333 2301266
>>301257
все дело в ридере и его ReadLineAsync()
он выгребает кусок из стрима, сплитит его по \n и в нем остается остаток

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

читай из чего то одного
1334 2301272
Авалония?
1335 2301276
>>301266
Действительно!
Спасибо. Сам бы я скорее психанул бы и отказался как от стримов, так и от ридеров и взялы бы пайпы и с сокетом забавлялся, нахуячив какой-нибудь ебанутый парсер со стейтмашиной.
Еще раз спасибо.
1336 2301286
>>301276
ну так и делают, ведь с ними проще
asp.net core юзает пайпы
даже вот они юзают пайпы
https://github.com/microsoft/vs-streamjsonrpc/blob/main/src/StreamJsonRpc/HeaderDelimitedMessageHandler.cs
1337 2301304
Там превью версия .NET 7 вышла
1338 2301315
>>301286
Ну, как я знаю, пайпы в asp юзают не потому что проще, а потому что хотят дать пососат. Типа в плане использования ресурсов - оно таки круче и при этом есть удобное решение для работы с буфферами. Но в плане кода - выходит на самом деле тот еще ужас, как минимум на уровнях что близко к сокетам.
Brokenranks 1339 2301416
Двач, как подключить динамически длл к консольке?
Делаю как в гайде ниже, не выходит.

https://vscode.ru/prog-lessons/dinamicheskoe-podklyuchenie-dll-v-c.html
1340 2301491
>>301416
Не бывает классов без неймспейсов. Соотвественно, неймспейс - часть полного имени класса.
1341 2301505
Готовлюсь к собесам по стеку WEB API, MVC по книжке Фримана. Насколько важно учить тег-хелперы? Часто ли применяются в разработке или эту главу можно пропустить?
1342 2301507
>>301491
Вау. ты спаситель, заработало
Блин вот из-за таких как ты я понимаю что мне в программировании ничего не светит, вы просто на голову умнее меня
1343 2301538
>>301505
Используешь хтмл - нужны
отдаешь только жсоны - не нужны конечно
1344 2301711
Зареган на линкедин и мне написала рекрутер из EPAM (в который я очень хочу попасть как-нибудь в будущем. Я хоть и готовлюсь к собесу, но пока что я сырой (надо подтянуть паттерны и алгоритмы со структурами данных) и не хочу даже пытаться. Что можно ей ответить? Попросить подождать?
1345 2301716
>>301711
Игнорируй просто, ответишь чуть позже когда станешь умнее
1346 2301760
Вопрос. Вот в шарпе есть индексаторы object this[int index]. И есть свойства с довольно похожим синтаксисом. А свойств с индексаторами нету, да? Чтобы я в свойство мог совать аргумент как с индексатором в свойство и через set get что-то делать.
1347 2301764
>>301760

> И есть свойства с довольно похожим синтаксисом


????
1348 2301771
>>301764
про-пер-тис
https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/classes-and-structs/properties
значение знаешь?

что одна хуйня имеет set get что другая. только свойства я могу как-то назвать, а в индексатор совать аргументы. а я хочу и назвать свойство и аргумент туда совать.
1349 2301772
>>301771
Ну это можно извернуться, но зачем.
троллейбус_из_хлеба.жпег
1350 2301779
>>301772
У свойств то синтаксис приятный можно написать в одну и ту-же хуйню что она читает и что она меняет! И индексаторы приятные.

Вот написал класс который менеджит ресурсы на гпу. Раньше следил он там за своими текстурками и я через индексатор обращался к этим текстуркам. Удобно. А теперь хочу чтобы он ещё и за буфферами следил. Но второй индексатор то я не могу сунуть. Задумался что хочу иметь возможность обращаться к нужным мне ресурсам примерно так-же как обращался бы им в словариках. То есть написать например хранилка.текстуры["имя"], хранилка.буффер["имя"]. Но как мне такой синтаксис иметь без словариков то?

Наверно остается только написать дженерик класс для хранения ресурсов у которого обращение к его ресурсам происходит через индексатор и просто собрать из двух таких один.
1351 2301792
>>301779
Если я правильно тебя понял, то ты можешь что-то типа такого намутить.
1352 2301813
Буквально на днях вентилировал этот же вопрос: что учить в 2022 году для разработки >бэкэнда<. Несколько дней гуглил, читал статьи и прочее. Краткие выводы к которым я пришёл для себя (на истину в последней инстанции не претендую):

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

2) C# медленно, но верно загибается, МС судя по всему будет продолжать активно развивать его, в результате чего он имеет шансы обогнать Java со временем. Т.е. проще говоря он будет терять свою долю рынка медленнее чем Java. Тем не менее учить его с нуля в 2022 тоже нет смысла, главный аргумент тут: он не используется в core-сервисах крупнейших IT компаний мира (разумеется, сама МС не в счет). Пока гугл, амазон или мета не перепишет свою инфраструктуру на C#, смотреть в его сторону тоже не стоит.

3) Думаю, что следующая троица: node+ts, kotlin и golang в течение нескольких лет практически полностью вытеснят java и c# с бэкэнда везде, включая банки, телекомы и тп. В конечном счете всё будет переписано на данных языках. Старые технологии местами останутся, если серьезные доработки не требуются, но с нуля разрабатывать на них уже не будут.

Поскольку, последние 5 лет я пишу исключительно на node+ts (до этого, немного разрабатывал на c#), в этом году я решил изучить golang. Думаю, что спрос на golang разработчиков вырастет в разы в ближайшие годы.

Напоследок, хочу поделиться с вами прекрасным постом на реддит который я нашел пока вентилировал данную тему. Там не только про dotnet ui фреймворки, но и про политику МС к разработчикам в целом (в хроме можно использовать встроенный переводчик, смысл остается вполне понятен) https://www.reddit.com/r/csharp/comments/f9i9hc/comment/firr467/?utm_source=share&utm_medium=web2x&context=3
1352 2301813
Буквально на днях вентилировал этот же вопрос: что учить в 2022 году для разработки >бэкэнда<. Несколько дней гуглил, читал статьи и прочее. Краткие выводы к которым я пришёл для себя (на истину в последней инстанции не претендую):

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

2) C# медленно, но верно загибается, МС судя по всему будет продолжать активно развивать его, в результате чего он имеет шансы обогнать Java со временем. Т.е. проще говоря он будет терять свою долю рынка медленнее чем Java. Тем не менее учить его с нуля в 2022 тоже нет смысла, главный аргумент тут: он не используется в core-сервисах крупнейших IT компаний мира (разумеется, сама МС не в счет). Пока гугл, амазон или мета не перепишет свою инфраструктуру на C#, смотреть в его сторону тоже не стоит.

3) Думаю, что следующая троица: node+ts, kotlin и golang в течение нескольких лет практически полностью вытеснят java и c# с бэкэнда везде, включая банки, телекомы и тп. В конечном счете всё будет переписано на данных языках. Старые технологии местами останутся, если серьезные доработки не требуются, но с нуля разрабатывать на них уже не будут.

Поскольку, последние 5 лет я пишу исключительно на node+ts (до этого, немного разрабатывал на c#), в этом году я решил изучить golang. Думаю, что спрос на golang разработчиков вырастет в разы в ближайшие годы.

Напоследок, хочу поделиться с вами прекрасным постом на реддит который я нашел пока вентилировал данную тему. Там не только про dotnet ui фреймворки, но и про политику МС к разработчикам в целом (в хроме можно использовать встроенный переводчик, смысл остается вполне понятен) https://www.reddit.com/r/csharp/comments/f9i9hc/comment/firr467/?utm_source=share&utm_medium=web2x&context=3
1353 2301817
>>301813

>1) Ванильная Java - уже фактически труп


бред

>2) C# медленно, но верно загибается


бред

>3) node+ts, kotlin и golang в течение нескольких лет практически полностью вытеснят java и c#


еще больший бред

"боже вас сохрани, не читайте до обеда советских газет" (с)
1354 2301823
>>301817

>бред


Аргументы будут?
1355 2301843
>>301813

> В конечном счете всё будет переписано на данных языках


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

Относительно остального.
Жава - жива и помирать не собирается, сколько бы ее не хоронили.
Шарпик - если майки не обосрутся - будет делить ту же нишу что и джава в области бекенда. Держим пальчики, чтоб очередная война гидры внутри конторы - не сменила вектор развития шарпика и не откатились к началу десятых.
Про ноду уже сказал. Говно без задач. Котлин - на мобилках норм, в бекенде - говно. Гошка - только для микросервисов и годиться, что-то большое и сложное - заебешься писать и поддерживать и как-бы микросервисы не пытались продвигать, на деле - оказывается, что это нихуя не серебрянная пуля и нормально спроектированный монолит - пизже во множестве кейсов.
1356 2301853
>>301823
другой анон за меня пояснил >>301843
1357 2302158
>>247357 (OP)
Аноны, объясните, пожалуйста, в чем разница между int.Parse(Console.ReadLine()) и Convert.ToInt32(Console.ReadLine())?
1358 2302170
>>301779
Но ты же можешь сделать хранилка[типхранимого.текстура]["имя"]
.png4 Кб, 501x139
1359 2302253
>>302158
В случае с string -
Convert.ToInt32(string str) просто дергнет int.Parse(str)
Так что разницы никакой нет.
1360 2302272
>>302253
Понял, спасибо
1361 2302565
Странное решение с этим IHttpClientFactory
получается каждый раз создается новый HttpClient
Ну да, он берет хендлер из пула, но разве тот же singleton сервис не может захватить этот HttpClient надолго (и тем самым захватить и хендлер мешая смене dns).
Получается нужно в сервисы закидывать фабрику и создавать HttpClient на каждый запрос
выглядит диковато

Почему не сделали хендлер, который сам все меняет - хз
1362 2303034
>>301304
Пиздец у них продакшон полетел без тормозов.
1363 2303064
>>301304
всмысле?
image.png967 Кб, 1600x1040
1364 2303065

>You can separate these route actions to multiple files easily. RouteGroup would become more useful if in the future c# gets support for top-level functions(not just for Program.cs).


Ебушки-воробушки, они думают над тем чтобы затащить функции?
1365 2303067
>>303065
Они со своим top-level херню сделали, от которой постоянно материшься.
1366 2303102
>>247357 (OP)
Есть, значит
bool arg1 = false;
и оно может быть тру-фелсе.
И есть, значит:
public static Namespace.Class object = new Class(arg1);
Который тупо срабатывает когда arg1 = false.

Есть Main(string[] args) с arg1 внутри.

Но ебучий паблик статик создаётся до обработки аргов. Шо делать с этой хуйнёй?
1367 2303106
>>303102
Всё, понял. null по дефолту и {get; set} надо въебать туда.
1368 2303136
Есть сайт с авторизацией (айдентити + кастомная), инфа о юзвере лежит в HttpContex.User (все стандартно). Но вот какой нибудь айдишник или еще что может понадобиться в других частях/либах приложения. Как грамотно организовать доступ к инфе о юзвере. У меня такие варианты:
-прокидывать ihttpcontextaccesor, и из него тануть юзера (мне такое не нравиться по нескольким причинам, как минимум не хочется тянуть хттпконтекст в слои далекие от хттп, плюс в том слое еще понадобиться знание о клаимах и т.д.)
-сделать iuserinfoservice, который уже будет работать с ihttpcontextaccesor'ом. Вроде норм, но меня смущает то, что его я буду использовать и в контроллере, т.е. будет поле ClaimsPrincipal User и IUserInfoService UserInfo, по сути обертка над ClaimsPrincipal User. Довольно странно.
В общен нужен ваш совет/варианты.
1369 2303143
>>303067
Может они хотят сделать добее легкого скриптинга?
1370 2303198
>>302158

>в чем разница между


>>302253

>разницы никакой нет


Разница есть в обработке наллов. Конверт вернет 0, а Парсе бросит исключение.
1371 2303208
>>247357 (OP)
Может кто знает, в чем причина полной нагрузки памяти компа пустым проектом VS? Первый раз за день проект может загружаться очень долго, к тому же, хотя кода там нет совсем
1372 2303231
>>303208
Полной это в гб сколько? Что за студия? Что за проект?
Переустанови студию вместе с шиндус
1373 2303246
>>303231
Получается, что около 10гб съедается при первом запуске, при том, что в нормальном состоянии потребляет около 1гб или чуть больше. Студия 22, 17.1.0, консольное приложение .Net Framework
1375 2303378
>>303343
А дотнет7 может крутить приложения под дотнет5/6? Или надо все версии рантайма устанавливать?
1376 2303390
>>303034
В смысле?
image.png4 Кб, 138x75
1377 2303396
>>303208
Обрати внимание на левый нижний угол приложения. Там будет вот такой значок. Это бэкграунд таски которые студия делает после загрузки. Там может быть дохрена всего, грузится интеллисенс, пакеты, тулзы какие-нибудь, анализаторы всякие и т.д.
Дальше лень объяснять гугли что-нибудь вроде "Visual Studio Background Tasks"
1378 2303403
>>303390
Я только к пятому привык, шестой ещё не начинал учить, а тут седьмой на подходе.
1379 2303404
>>303208

> в чем причина


В древней пеке для учобы?
1380 2303408
Ну что там ваш распиаренный МАУИ? (который по факту - переименованный хамарин, который по факту переименованный впф для мобилок).
Кто на ём десктопные кроссплатформенные приложения пилит?

И вдогонку вопрос. На чём пилить кроссплатформенные десктопные приложения в 2022 веку?

Авалония идёт нахуй.
1381 2303447
>>303408

>кроссплатформенные десктопные приложения в 2022 веку


не нужны. но если нужны, то электрон
1382 2303503
>>303143
Какому шарписту, привыкшему что все лежит на своем месте, проще от того что все в одной большой лапше куче? да никакому. Это просто ломает привычку,а пользы ноль

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

Тут аноны рекомендовали типа "ну создай свой шаблон"
Из чего (цензура) создай. Где я в 22 студии создам старый тип проекта чтобы сохранить его как шаблон? Да и нахера оно мне надо?

Для легкого скриптинга так же отлично подходил метод Main - пиши тупо в нем хоть 10к строк - никаких проблем не было. Идиотская идея в общем, как и с ConfigureAwait
1383 2303542
>>247357 (OP)
Када перикат?
1384 2303562
>>303503

>Для легкого скриптинга так же отлично подходил метод Main


Да, если для одного файла не нужно было бы создавать проект с csproj

Иногда нужна папка с тулзовыми скриптами для проекта, один файл один скрипт. Все это бы "без статик воид мэн" даже сейчас
уже зашло .
1385 2303563
>>303542
С релизом .Net 7
1386 2303704
>>303378
Рантайм должен быть установлен тот который указан в .csproj. .NET 6 не может запускать .NET Core 3.1 приложения, например.
1387 2303795
>>303704
А Net5 может? Или клиенту надо иметь Net5/6/7, помимо коре и фв?
.png34 Кб, 1214x786
1388 2303801
Тупой вопрос.
Смотрите, есть табличка в которую записывается считанное значение, есть табличка устройств, есть табличка параметров устройства, которые можно читать.
Так вот. Я хочу достать из базы все последние значения для какого-то устройства.
Если бы я делал это на sql, то это было-бы примерно так:
Группирую значения по параметру и устройству и MAX(Dt), джойню с самим собой, доставая таким образом последние считанные значения для каждого параметра устройства
Делаю правый джоин со всем списком параметров устройства(ну, мне хочется знать, что что-то мы еще не читали)

Ну, я примерно так решил делать на EF.
И EF говорит что низя, сделать вот так:

var lastParams = from readed in db.ReadedVals
group by new { readed.deviceId, readed.parameterId } into g
select g.OrderByDescending(x=>x.Dt).FirstOrDefault()

Вернее можно. Но тогда чтобы сджойнить его с устройством - нужно привести результат к массиву/списку/IEnumerable, а мне это не нравится и хочется чтоб EF таки как-то это транслировал.
Писать SQL-запрос для этого - не хочется по причинам того, что всюду линку, а тут будет нативный запрос, просто уродливо, тогда уж все менять на sql.

Может быть я что-то не так делаю и есть способ эту же фигню написать так, чтобы не приводить к массиву и при этом ef не ругался, что не может транслировать запрос? Ну или есть какой-то простой способ сказать ef что я от него хочу в контексте sql вот таким вот запросом, чтобы он таки транслировал его?
Просто мой гуглеж завел в тупик, т.к. все просто делают .ToArray и не парятся, а мне не хочется ToArray делать.
1389 2303811
>>303795
у меня стоит 5 и 6
приложения 3,1 запускаются
1390 2303833
>>303447

> то электрон


Кстате думал о нём. Это ж на нём написан МС коде. Пойду изучу. Спс.
1391 2303836
>>303801

> все просто делают .ToArray и не парятся, а мне не хочется ToArray делать.


Зделой сначала ту эррей, а потом ту лист. И спрячь в отдельном модуле.
1392 2303849
>>303811
Запускаются приложения у которых в .csproj указано netcoreapp3.1? А сделай-ка скрин вывода команды dotnet --list-runtimes
1393 2303852
>>303795
Конечно надо иметь, они ж новее.
1394 2303859
>>303849
гм. а реально

$ dotnet --list-runtimes
Microsoft.AspNetCore.App 3.1.21 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.21 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.1.21 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.12 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

при этом в программы и компоненты только 5 и 6 упоминаются.
я помню удалял из программы и компоненты старые фреймворки, а оно эна как
1395 2303860
Кстати. Я тут недавно на паскале чуть пописал.
И вот концепция модулей вполне прикольная жи. В спеках .net описываются модули. Когда их завозить-то будут? А то чет посмотрел роадмапу .net7 - там какая-то хуета беспонтовая, в 6 больше ништяков завезли. А модули бы были норм.
1396 2303873
>>303859

>при этом в программы и компоненты только 5 и 6 упоминаются.


Ты может старые SDK удалил, их можно посмотреть --list-sdks
1397 2303874
>>303859

>при этом в программы и компоненты только 5 и 6 упоминаются.


Может ты старые SDK удалил, их можно посмотреть --list-sdks
1398 2303925
>>303860
Модули в паскаль пришли из си. Хочешь модулей - добро пожаловать в чистый си.
Screenshot2022-02-22-05-27-20-531com.android.chrome.jpg746 Кб, 1440x3200
1399 2303967
Подскажите, что это значит? Что за автоматизация бизнес процессов? Это связано с программированием?
1400 2303971
>>303967
То что программист делает всегда.
Вот у тебя есть процесс: "прием заказа". В классическом виде: Клиент припиздовал, сказал человеку, человек на бумажечку записал, потом передал это тому кто формирует заказ. Так вот, ты можешь автоматизировать - теперь заказ можно сделать на сайте (исключая как физическую необходимость клиента припиздовать, так и необходимость в том, кто заказ примет и тонны бумаги, чтобы это записывать). Ну и таких процессов миллионы в любом бизнесе: расчеты ЗП, инвентаризация, всякие специфичные хуйни(ну, допустим вот у телеканала есть процесс - "вещание", раньше сидел челик и ручками выводил всякое в эффир, сейчас - составили программу передач на год вперед, программа сама переключает, делаем прямые включения только по необходимости и иногда корректируем программу; у всяких больниц - ведение карты больного и т.д.)
Короче. Ты понял. Специфичные процессы какого-то бизнеса, которые приносят прибыль обычно.
Как связано с программированием? Ну, блядь, а кто будет делать электронный журнал какой-нибудь? Или корпаративный планировщик задач? Тетя Зина-бухгалтерша и дядя Петя - ответственный за соблюдение ТБ и заведование складом?
1401 2303986
>>303971
Спасибо. А SAP это не связано, это как 1C получается?
1402 2304093
>>247357 (OP)
двач, посоветуйте книги, чтобы вкатиться в c#, учитывая то, что знаю java на уровне ждуна
1403 2304189
>>247357 (OP)
Как скачать файл cURL'ом в байты, не сохраняя файл?
1404 2304244
>>303801
Сделай хранимку и дергай ее
1405 2304331
>>247357 (OP)
Анон, как эта хуйня работает и как должна работать, и почему она не пашет?
https://github.com/username1565/nanoboard/blob/nanodb-sqlite/nanodb.exe-source/PngTransport/CurlWebClient.cs
1406 2304388
А напишите у кого чего на студии (не коде) из расширений стоит
может чего нужного себе найду про что я не знаю

у меня вот (VS2022)
resharper
suprecharger
XamlStyler
Origin Blue Theme
OzCode debug
VisualHg
BuildVision вот собираюсь
1407 2304412
>>304388
Ничего. Раньше codeMaid стояла, но нахуй не нужна оказалась.
1408 2304458
Как это понимать?
(a) => () => a.Foo(...)
1409 2304467
>>304458
Ну, примерно как:

void Foo(MyClass a){
a.Foo();
}
image.png23 Кб, 1363x285
1410 2304492
Так наверно будет лучше.

>>304467

>Ну, примерно как:


>void Foo(MyClass a){


>a.Foo();


>}


А это разве не
(a) => a.Foo()
?
1411 2304498
>>304492
ты регистрируешь лямбду, которая возвращает лямбду, которая уже возвращает нужный сомевьюмодель

лишний уровень лямбдовости
image.png7 Кб, 545x156
1412 2304519
>>304498
Мэдскиллз верен?

Я думал, что после
(s) =>
должен быть стейтмент или даже блок, а там опять параметр, и только потом стейтмент, и ЯННП.

И получается, что на пике nested lambda - это и есть стейтмент?
1413 2304526
>>304388
Visual Studio Spell Checker - удобно подсвечивает ошибки на скроллбаре

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

Shrink Empty Lines - сжимает визуально пустые строки

Solution Error Visualiser - подсвечивает ошибки в дереве проекта

Match Margin - подсвечивает выделенное слово на скроллбаре, если оно еще где-то в коде встречается

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

Fine Code Coverage - показывает покрытие кода тестами (не самое лучшее в своем классе, но бесплатное)
1414 2304527
>>304519
смотря что ты хочешь сделать?
то что на пике закинет в инжект Func<SomeViewModel>

иначе же
services.AddSingleton(p=>p.GetRequiredService<SomeViewModel>());
1415 2304539
>>304527
Я самостоятельно учу с нуля нет, не вкатун и прихуел от формы записи.
Лямбды вида (s) => Foo(s) понятны, а с той, что на пике, впервые столкнулся. Пытался что-нибудь нагуглить, но не получилось.
1416 2304544
>>304539
Просто если зарегать лямбду ака фабрику в контейнере через эти методы, то контейнер при резолве вызовет эту ламду, котоая вернет зависимость.
поэтому регистрируют ламбду, которая возвращает ламбду

ну можно создать и метод расширение типа services.AddFactory(...) но это будет путать
1417 2304659
Перестаньте так сложно говорить!
wut.png130 Кб, 436x1082
1418 2304801
Почему студия меня унижает? Создал пустой консольный проект, а он мне говорит дотнет у меня неправильный. Ну пиздец.
1419 2304826
>>304801
Выполни команду

>sysprep/sysprep.exe


И нажми ОК в открывшемся окошке. Дождись перезагрузки. Проверь, исчезла ли проблема.
1420 2304832
>>304826
Да я уже нажат на инсталл в подсказке, он сказал что установит Net5 (на 7Мб, лол) и предупреждение ушло. Но список сдк/рантаймов не поменялся.
Мне, как диванному эксперду, кажется, что майки хуиту творят с зоопарком дотнетов.
.png30 Кб, 568x533
1421 2304877
>>304458
Вот тебе пример более развернутый.
1422 2304881
>>304458
Вот кстати с лямбдами в коротком виде - хуйня в том, что если ты вот так делаешь - не зная что там делает a.Foo(...)- ты не можешь сказать, это делегат с void или каким-то возвращаемым значением.
Как по мне - нужно убрать нахуй короткую запись лямбды и делать со скобками, чтобы разночтений и необходимости мышкой водить не возникало.
1423 2304886
>>304881

>ты не можешь сказать, это делегат с void или каким-то возвращаемым значением.



все могу и без проблем. Никаких пробле со чтением лямбд
1424 2304889
>>304886

> все могу и без проблем


> var x = () => SuperDupperMethod();



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

А было бы нормально написано:

Func<int> x = () => { return SuperDupperMethod(); };
или
Action x = () => { SuperDupperMethod(); };

Вообще никаких проблем бы не возникло. А тут - води мышкой, и это хорошо если в студии сидишь. А если код нельзя открыть в иде? Короче, var и короткая запись там, где тип не очевиден - говно, тот кто так пишет - говнокодер и его нужно выгонять из айТи за целенаправленное вредительство. Завтра он начнет рефлексией доставать приватные методы и выделять руками память, дергать указатели на строки и прочую хуйню делать. Фу таким быть.
1425 2304890
>>304889

> А если код нельзя открыть в иде?


а лямбды тут причем вообще?
это уже проблема var vs Type
ты сам привел пример как явное указание типа решило для тебя проблему чтения
1426 2304903
>>304458
как джсер тебе скажу, что это функция, которая принимает параметр А и возвращает другую функцию, которая вызывает a.Foo(...)
1427 2304907
>>304889
суть в том, что вот так var x пишется очень редко
обычно лямбды используются сразу по месту - LINQ, тот же service.AddSingleton(...)
и даже если ты читаешь без IDE, то как то не встает вопрос, а что там возращает a.Foo(), ведь контекст больше смещен на что делает AddSingleton

так что с этим никогда проблем чтения не было (а я читаю без IDE больше кода чем c IDE).
Вот с неймспейсами больше проблем при таком чтении. Видишь использование класса Foo и хрен поймешь в каком он неймспейсе. После такого многословный импорт в котлине сказкой кажется.
1428 2305087
Можно ли в шарпе как-то в рантайме классы создавать и потом инстанцировать?
1429 2305088
1430 2305112
>>304889
Чел... В 2к22 никто не пишет код в блокнотах.
1431 2305224
Как всё заебало! Ничего нихуя не работает! Ёбаный wpf, конченная хуйня. Что с ним сделать блядь чтобы ебучие кнопки в EditView заработали? И так пробовал, и вписывал Button cal:Message.Attach="Delete()" и писал функцию в другом вью для теста, он только вылетает с ошибкой и всё. Кому не поебать гляньте код
https://github.com/shitshitsh3412/ContactsWPF
1432 2305256
>>305224

> Что с ним сделать блядь чтобы ебучие кнопки в EditView заработали?


Прописать им в хамл параметр x:name, затем в код-бихайнд класс добавить соответствующие добавленным именам свойства. Например:
В хамл:

> <Button "x:Name"="TButton1"/>


В классе:

> Button TButton1 { set; get; }


И далее пишешь в коде конструктора класса после InitializeComponent, в котором эти кнопки из хамла прибиндятся к членам код-бихайндового класса:

> TButton1.OnClick += (s, e) => { //твой код };



> конченная хуйня. Что с ним сделать блядь


Юзать Eto.Forms который проще, прозрачнее, и кроссплатформеннен. И хамл код у него попроще. И если тебя насяльника заставляет ебаться с МВВМ, то там это тоже можно реализовать.
1433 2305371
>>305224

>cal:Message.Attach="Delete()"


интересно зачем юзает такое? чем это лучше чем простые команды, кроме того что это хуже
1434 2305409
>>305256

>И если тебя насяльника заставляет ебаться с МВВМ, то там это тоже можно реализовать.


МВВМ - плохо?
1435 2305451
>>305409

> МВВМ - плохо?


Не плохо. Но ты должен понимать, что и для чего ты используешь. МВВМ придуман для больших и сложных приложений, если ты пишешь какую-то мелкую утилиту, юзать там МВВМ - как стрелять из пушки по воробьям.
1436 2305479
>>305451
Ты так написал, будто МВВМ - говно, вот я и спросил.
1437 2305484
>>305479
Сорян. Двачдеформация. Я всё описываю так, будто оно говно. Даже небо. Даже аллах.
1438 2305837
1439 2306033
>>305837
Тред тонет кстати. Перекатывать будет кто? Заебали. Перекатывайте.
1440 2306036
>>305451

>МВВМ придуман для больших и сложных приложений


он просто придуман отделить визуальную логику от визуального рендеринга для тестирования и снижения лапши. И размер приложения значения не имеет.
Это всякие призмы придуманы для "больших и сложных", а не сам мввм
1441 2306037
>>306036

> придуман отделить визуальную логику от визуального рендеринга


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

> для тестирования и снижения лапши


Нет. Тестирование и понятность приплелись позже.

Проверим твою эрудицию, о какой третьей стороне речь?
1442 2306126
А есть паттерны для простых маленьких приложений?
Я долбоёб и ничего не умею, но по чуть-чуть учусь, и уже придумал, что буду первое пилить.
1443 2306137
>>306037
ты про х-сервер что ли?
Абсолютно не в тему
1444 2306144
>>306126

>А есть паттерны для простых маленьких приложений?


MVVM же. не слушай чудиков

Вот твой путь
1 пишешь как в WinForms, то есть обработчики событий, команды (те которые роутед), будешь работать напрямую с контролами если нужно чего то извлечь
2 Потом тебе это надоест и " а где же биндинги, даже в формсах есть биндинги, унылые, но есть" - и вот ты уже юзаешь биндинги, кодишь классы, которые проецируются в этот биндинг - и вот ты уже почти MVVM
3 И потом очередная мысль - а нахера все в кучу в code behind мешать, может вынести в отдельный класс логику" - и вот ты уже изобрел MVVM )

Это настолько простой паттерн, что больше беспокоит "блин нужна будет зависимость от какой то либы где есть всякие ViewModelBase/RelayCommand" чем "ааа зачем мне это сложно"
1445 2306193
>>306137
Не угадал. Ещё попытка - и мы вам не перезвоним.
1446 2306199
>>306193
Наплевать
Если вещи похожи - это не значит что это одно и то же.
Это просто ты пытаешься выдать одно за другое
Те же паттерны прокси, адаптер, политика выглядят как братья в реализации - значит это один паттерн ага
1447 2306274
>>306199
Мы вам перезвоним.
1448 2306517
Че думаете, переходим на это в связи с санкциями?
https://тхаб.рф/wiki/Перфолента.NET
1449 2306563
>>306517
Сцук. Я лучше нахуй тогда это погромирование брошу и за станок вернусь.
1450 2306699
Нам сисярп не блокнут случаем? Его в Росси вообще будут использовать? Пендокомпании не побанят работников из Раши? Какие курсы по 1С посоветуете?
1645860310632.png152 Кб, 480x360
1451 2306707
>>306699
Кто ж его блокнет? Он же - опен-сорц!
1452 2307029
>>306707
Репозиторий локальный сделал уже? А от там это, интернет может быть всё
1453 2307078
>>307029
Двач, кстати, уже под дудосом второй день лежит, по джве минуты посты отправляются.
1454 2307950
>>306517
Походил по ссылкам. Чушь полнейшая. Это русифицированный бейсик, блять. Я понимаю, что это тралинг такой, но надо же тоньше, блять.
Сегодня, во времена юникода, программирование на национальных символах - не проблема.
Проблема у этой жырноты в другом: после того, как 99% кодеров привыкли к описательной пунктуации в ключевых конструкциях, никто больше не вернётся к словесным ключевым конструкциям.

> Класс Собака : Млекопитающее { }


Короче, читаемее и эффективнее, чем

> Класс Собака Родитель Млекопитающее


> Конец Класса

1455 2309086
Посмотрите на это позорище ебаное. Какое убогое чмо, стыдно что они пишут на таком же языке. Там ещё и у некоторых поддержавших в комментариях написана компания и должность, может устроим травлю ебанатам, чтоб их снесли с работы? Например Александра B Senior QA/Test Lead в Luxoft. Самое мерзкое и бессмысленное действие которое можно осуществить, электричество и ресурсы на ветер

https://dou.ua/forums/topic/36795/
1456 2309149
>>309086

> https://dou.ua


> ua


Не твоя личная армия, петушок. Иди воюй в специальный военный тред.
1457 2309571
>>305112
Зато читает ПР-ы в онлайн блокнотах.
image.png37 Кб, 1000x368
1458 2309934
Сап аноны, хочу обучить нейронку с использованием Unity, а он использует C#. Вопрос следующий, какие библиотеки можно использовать для обучения нейросети?
В идеале хотел бы использовать tensorflow или pytorch, но как я понимаю, их под C# нет
1459 2309962
>>309934
Нашел Unity ML Agents - выглядит, как то, что мне нужно!
1460 2310190
>>309962
Хорошо, когда анон сам спрашивает, сам отвечает, и оставляет названия решений для потомков, для истории.
1461 2310422
всем привет! сори если оффтоп, но любопытно было бы узнать: есть ли здесь кто-то, кто свичнулся с дотнета и если да, то как впечатления, стоило ли оно того?
1462 2310423
>>310422
Я ушёл с дотнета по трём причинам:
1. Мало кто использует язык в современных реалиях. В большинстве вакансий, что я видел был старый дотнет (который под винду), WCF и пр. Где-то даже мелькали WinForms и IIS. Очень редко можно было встретить вакансию с современными стеком и архитектурой.

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

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

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

А на го как-то побольше интересных вакансий
1463 2310491
>>310423
2 притянуто за уши
альтернативы?
1464 2310492
>>310491
Более того странно это выглядит в контексте перехода на ГО, который уж точно не про функциональщину.
1465 2310525
Я после этого поста >>310423 сходил в гугл, почитал про Го. Ну и дрисня.

> компилятор афтоматичиски добавляет ; в конец каждой строки


> поэтому нельзя переносить открывающую скобачьку { на новую строку


Нахуя, блять? Что за блажь ебучая? Зумерам из гугла было лень ; писать?
sage 1466 2310557
Зачем нужен Mono, если .NET(Core)теперь и так кроссплатформенный?
мимонуб
1467 2310580
>>310525
Зайди в их тред, там еще больше веселого есть. На это специальный язык с низком порогом входа, на котором сложнее говнокодить. Не то чтобы невозможно, но просто заставить обычную макаку писать на нем простую хуйню не создавая проблемы.
image.png2 Кб, 1140x18
1468 2310631
Аноны, подскажите зелёному: 1) стоит ли тестировать котроллеры?
2) Если стоит, то как в тесте из Task<ActionResult<List<Zalupa>>> вытащить этот самый List<Zalupa>? result.Result.Value возвращает null, хотя в отладке видно, что значение есть (pic 1).
1469 2310708
Возможно, мои мысли полная хуйня, но может же чисто теоретически Microsoft полностью огородить рашку от всех ее продуктов, в том числе и dotnetа? Тогда конец вакансиям на нем или я еблан как и всегда?
1470 2310710
>>310631
await ставил на вызов? Выглядит так будто ты резулт смотришь до того как выполнится task.
1471 2310715
>>310708
как они дотнет отберут? проверку по днк блять сделают в 7 коре?
1472 2310718
>>310708
тебе максимум лицензию на вижуалстудию продавать небудут. Но думаю это можно пережить.
1473 2310719
>>310715
Перекроют доступ к сайту, гитхабу, тем самым возможно пропадет 90% вакансий (стоит еще допустить, что Россию могут от тырнета отключить и будет как в Китае, свой)
1474 2310720
>>310719
"сайту" это ты про msdn? 90% из-за гитхаба и документации, что ж это за ахуенные вакансии такие?
1475 2310722
>>310720
я также и про доступ к новым версиям дотнета
1476 2310726
>>310722
Обойти блокировку раз в год очень сложно. Или ты из тех то обновляет кор при каждом обновлении?
1477 2310761
посоны, чего можно на неткоре написать, чтобы освежить свои знания
1478 2310793
>>310557
Unity до сих пор на Mono, например.
.jpg181 Кб, 630x840
1480 2310814
Смотрите. Есть веб-приложение. Оно генерирует JWT и отправляет мне. Я знаю секрет(это публичный ключ, который приложение крепит к запросу) и алгоритм подписи(ES512). Я хочу проверить что подпись валидна. Как мне это сделать?
Я просто тупой в этом плане немножко. Типа я понимаю как это концептуально делается: я должен просто взять, посчитать хеш ключа, затем взять и посмотреть что при хешировании вот этим вот ключем - заголовок и тело JWT - совпадают. Но блин. Я не понимаю как это делается на .net. Я гуглю - JWT Signature validation .net - мне выдает всякое добро про bearer, а мне не для авторизации нужно, а для своих темных дел, и проверка сигнатуры нужна исключительно чтобы знать от кого пришло. Опять же, я начал гуглить - и узнал много интересного про криптографию в .net - но те жк ecdsa у майков как-то странно работают, просто pem - нельзя, какие-то ебатеки с x509, плюс, пока читал - там еще ебатеки с тем что одно работает на линуксе - другое не. А у меня просто блин лежит файлик с публичным ключем и я хочу проверить что jwt-пришел от того самого приложения.
1481 2310817
>>310557
Потому что по желанию левой пятки - майки могут забить на кроссплатформенность, могут захотеть закрыть исходники, дам много чего могут сделать. МОНО - попенсорс, под божественной GPL, так что там - хуй, никуда не денется.
1482 2310949
>>310525

>Нахуя, блять? Что за блажь ебучая? Зумерам из гугла было лень ; писать?


Это та же хрень, что и с питоном. Сначала идет декларация "мы не любим скобки, скобки не нужны, нам хватит отступов", потом срач на кучу лет, что использовать в качестве отступов: табы или пробелы. А потом периодические статьи на тему: "как бы нам впилить скобки или их аналог в пайтон, а то неудобно ведь оказывается"
1483 2310957
>>310631

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


В основном их и стоит тестировать.
1484 2310959
>>310718
А ее хоть кто-нибудь покупал? Я таких не разу не встречал.
1485 2311101
>>310959
Незнаю, все кого я видел сидят на комьюнити
1486 2311131
>>310817

> могут захотеть закрыть исходники, дам много чего могут сделать.


не могут захотеть. Иначе тогда они вернутся к тому, от чего так настойчиво бегут - "никто не хочет использовать язык и райнтам из-за закрытости". Предыдущее их "мы обещаем не преследовать" никого не убеждало, и только вот такая открытость стала вытаскивать язык из тени жавы.
1487 2311140
>>311101
Угу. Так же как и срайдером. Который вроде как и не принято пиратить, но у каждого второго он пираченый, а у тех кого нет, просто куплен на бабки кабанчика.
1488 2311226
>>310799

>Всё?


Похоже что всё, кто пишет в рашке под дотнет (MS санкционочка) и джаву (Oracle санкционочка) - повод задуматься о смене стека либо об эвакуации, так как репозитории и вся документация в скором времени перестанет быть доступна без танцев с бубном.
1489 2311276
>>311226
Хороший повод наконец пощупать go
1490 2311324
Тупой вопрос: если функция очень часто и многократно вызывается, то объявление в ней локальных переменных является ресурсоемким действием? Насколько это шатает оперативу по сравнению с работой с уже инициализированной переменной?

Многократное выделение памяти и освобождение — это вообще естественный процесс?
1491 2311332
>>311276

> Хороший повод наконец пощупать go


Задумался я вчера. Полез гуглить, ознакамливаться. И БАЦ! БДЫЩ! БАБАХ! >>310525
1492 2311338
>>310525

> поэтому нельзя переносить открывающую скобачьку { на новую строку


Чет подобное есть в жабаскрипте, у меня тогда сильно припекло.
1493 2311351
>>311338
Я (есличо) вернусь обратно на фрипаскаль (из которого пришёл в шарп). Он ПОЛНОСТЬЮ опенсорц, не имеет в зависимостях всяких ёбнутых зумерских виртуальных машин и байткода. Запускается на любой системе, включая очень экстравагантные.

Жаль конечно будет переходить обратно на begin end после таких-то удобных скобачек. Эххх...
1494 2311356
>>310525

>Нахуя, блять? Что за блажь ебучая? Зумерам из гугла было лень ; писать?


Я всё понимаю, но этого не понимаю.
мимо бесикоблядь

Я могу понять в чем хуевость динамической типизации, я могу согласиться с определенными пунктами обсирания VB; но единственное, чего я не понимаю, это ебучей точки запятой в каждой строке. Это самый тупой культ в программировании — только ради того, чтобы тебя посчитали "своим".

>>310525

> компилятор афтоматичиски добавляет ; в конец каждой строки


> поэтому нельзя переносить открывающую скобачьку { на новую строку


"вам шашечки или ехать?"
Именно поэтому в VB отсутствуют открывающие скобки, но в GO решили избавиться от ; при этом оставить скобочки. А вообще попахивает несовершенством компилятора. Неужели в 2к22 нельзя научить компилятор при детекте скобок, учитывать контекст предыдущей строки, даже если там стоит ; ?
1495 2311362
>>311351

>Я (есличо) вернусь обратно на фрипаскаль (из которого пришёл в шарп).


Но это же безумие. Это не выход.
1496 2311367
>>311362
Дело привычки.

>>311356

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


Благодаря ей гугловский парсер разбирает код на термины. Действительно непонятно, зачем им точка с запятой, если у них уже есть конструкция области (scope), то есть скобачьки {}. Видимо так быстрее где-то в чём-то. Я гугловский го парсер не тестировал, не знаю.
1497 2311370
>>311356

> в VB отсутствуют открывающие скобки


В ВБ тем не менее есть области (scope) они начинаются ключевым словом, которое предполагает область и заканчиваются end'ом.
1498 2311424
>>311324

>локальных переменных


сами по себе локальные переменные повисают в стеке. Стек заранее выделен. А вот где их значения - зависит от типа
То есть если у тебя функция инициирует только переменные значимого типа - у тебя будет нулевая аллокация (если нигде не было упаковки)
В случае ссылочного - конечно в куче будет выделено место для значения, а ссылка повиснет в стеке

>Многократное выделение памяти и освобождение — это вообще естественный процесс?


памяти в куче если. это аггрит сборщик мусора. Потому alloc-free алгоритмы приносят свои плоды. Но нужен здравый смысл.
Смотри на частоту сборок мусора и оптимизируй (по возможности) горячие места.
Туда же и memory traffic - незачем копировать если можно не копировать.
1499 2311437
>>311367

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


Есть такой локальный язык Zscript для программы Zbrush — там для удобства парсера абсолютно любая операция заключается в скобки. Ну просто песня для парсинга. Зацени объявление переменной MyVariable и присвоение числа 5:
[VarDef, MyVariable, 5]
Просто присвоение там вот такое:
[VarSet, MyVariable, 10]
Шо фсё? Нет, не фсё? Как тебе сложение:
[VarAdd, MyVariable, 42]

А вот с точки зрения человека, там лютый трэш.
[[[Код] превращается], [[в] мегатонны] скобочек]
Но компилятору удобна )))))
1500 2311464
>>311437
Забавная хрень. Бывает же!
1501 2311529
>>311356
Потому что блять, код не только пишется, но еще и рефакторится и отлаживается. И вот если в первом случае все эти модные флюшки вроде отсутствия точек с запятыми или отступы вместо скобок еще норм, то вот во втором и третьем случае начинается пиздец.
1502 2311665
>>311529
Отказ от точек с запятыми вообще никак не влияет ни на отладку ни на тем более рефакторинг, чем меньше символов на экране тем проще воспринимается текст.
1503 2311667
>>310710
Да, ставил. Второй день пытаюсь, если не лист залуп возвращать, а инт например, то копипаста того, что сейчас возвращает нулл, возвращает нормальное значение.
1504 2311899
Сап всем анонам. Есть строки, каждая из которых дополняется набором атрибутов (строчных), причём для разных строк могут встречаться одни и те же атрибуты. Для всех таких строк есть базовая строка без атрибутов - ключ в словаре, к которому значением является словарь с вложенными строками и их атрибутами. Строк, как и атрибутов, может быть овердохуя.

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

Я хэширую каждый атрибут и запоминаю в отдельный словарь атрибутов (получается Dictionary<string, long>). Для атрибутов каждой вложенной строки хэш составляется как произведение всех хэшей её атрибутов. Итоговый словарь, по которому ищу - Dictionary<string, Dictionary<long, string>>. Собственно, найти какую-нибудь вложенную строку от базовой прохэшировав атрибуты я могу, но как получать именно первый результат? Была мысль заменить хэширование в атрибутах на использование последовательности простых чисел, но это тоже кажется костылём.
tl;dr как хэшировать всё множество так, чтобы понимать, что некоторое подмножество содержится в нём?
1505 2311948
>>311899
google.com: C# prefix tree
1506 2311960
>>311948
Если навешивать к атрибутам в конце пути по дереву строки, то в моём случае миллионы строк могут висеть после конечного узла. Например есть атрибут существительного и лярд существительных. А ещё префиксное дерево не особо уживается со структурой, при которой есть базовая строка и связанные с ней вложенные. По крайней мере не понимаю как это увязать.
1507 2312010
>>311960
Ты случайно не проходишь стажировку в скб контур?
1508 2312013
>>312010
Случайно прохожу. Поздно начал только с заданиями, плюс откисал неделю после великой победы пыни.
1509 2312021
>>312013
Я перестал делать т.к на основной работе дохуя тасков, нет времени + еще на две работы пригласили, так что нет смысла идти к ним
1510 2312030
>>312021
Я студентота в поисках стажировки/работы, поэтому хватаюсь за всё.
1511 2312036
>>312030
А ты сам откуда? Может помочь могу, Контур это слишком большая контора для вката с нуля, слишком большие требования и там не требуются джуны
1512 2312040
>>312036
Из Перми. По поводу требований ощутил, конечно.
1513 2312042
>>312040
Не иди на двач за вопросами по таким заданиям, лучше на ruSO или обычный SO
1514 2312055
>>312042
Спасибо, анон. Впрочем, решил задачу ту, просто не совсем эффективно.
1515 2312067
Как узнать размер пустого листа? Или в частности насколько сильно различается отжираемая память экземпляра класса А и листа, содержащего один экземпляр А?
1516 2312144
>>311899
А сколько у тебя тех атрибутов? Может проще их флагами битовыми заебенить, а потом по маске просто искать.
1517 2312160
Помогите пожалуйста, я пока тупенький джун и у меня возникла проблема с запросами к БД из нескольких потоков. Юзаю EF 6.
Суть задачи:
Есть некий товар и его остаток на складе, например 100 штук, товар можно забронировать, тогда его остаток на складе уменьшается на определённое число а в другую таблицу соответсвенно пишется запись о брони таким-то юзером такого-то товара. Собственно проблемы у меня начинаются когда допустим 10 потоков пытаются бронировать 1 товар. Например 10 потоков по 100 раз бронируют по 2-3 штуки товара, мне нужно чтобы:
товар доставался первому бронирующему в честной конкурентной борьбе - кто первый бронирует, тому и достаётся товар
не получилось так, чтобы забронировался товар без остатка
верно подсчитывался остаток после бронирования
верно сохранялась информация о брони
Плдскажите в какую сторону копать пожалуйста.
1518 2312192
>>312144
99 штук. С битовыми масками годная идея, попробую, спасибо.
1519 2312234
>>312160
Ну с дивана могу посоветовать добавить товарам блокировки, а лучше состояния. Кажется в СУБД такое искаропки есть.
Смысл в том, что если товар получил запрос на некую транзакцию, он переводит своё состояние в "занято", и сколько бы ни было потоков, они при открытии транзакции получают ответ, что занято и надо подождать.
Когда первая транзакция завершится, открывается вторая в очереди. Статус не меняется, очередь растёт. Насколько это уязвимо к хайлоаду я ХЗ. С дивана же советую.
1521 2312246
1522 2312359
>>312234
Ну это решение мне приходило в голову, одна проблема, не знаю как написать такую "очередь"
1523 2312431
>>312234
Если на одну транзакцию уходит 0.5 секунды для юзера, то при 1000 пользователях конечному придется ждать 500 секунд?
1524 2312458
Аноны, которым удалось добавить авторизацию через гугл, КАК ВЫ ЭТО СДЕЛАЛИ?

Я следовал инструкции:https://developers.google.com/identity/sign-in/web/sign-in

получил свой OAuth 2.0 айди 32082523667-b4a2752lb52cq01popq6hgcqvbeхххх.apps.googleusercontent.com

в итоге у меня ошибка пик 2

Они хоть бы написали в чем дело, почему не работает? Я же понятие не имею!
image.png254 Кб, 500x500
1525 2312478
>>312458
Может кто-то спокойно обяснить что они хотят? потмоу что в их документации какая-то шиза от

Просто вставте копипаст себе на страницу и все будет работать до
вам нужен этот айди, но зачем мы вам не скажем, а вообще запилите видео на ютуб как вы разрабатывали сайт.
1526 2312493
>>312458
https://ulogin.ru/ попробуй это
1527 2312801
>>312160
Лол, кек. Волгоград?
Я похоже знаю в какую контору ты вкатываешься.
1528 2312802
Не волгоград
1529 2312809
>>312802
Забавно, а задание один в один как тестовое в одну из местных контор.
1530 2312812
>>312809
И ты делал? поделись))))
1531 2312845
>>312801
Лол, тут оказывается не только я из волгограда. Вроде конторка интегрикс называется, я не подавал, но у меня друг туда кидал резюме и ему давали такое же тз.

Анончик, а ты где работаешь?
1532 2313115
Пр/в есть 10 классов у которых одинаковый конструктор, полостю. Т.е. один объект, как один аргумент и инициализация свойства класса этим объектом.
Как сделать инициализацию проще?
Один раз передали объект без усилий инициализации 10
1533 2313148
>>313115

> Как сделать инициализацию проще?


Фабрикой.
1534 2313291
Аноны, никто не знает, как наебать джетбреинс с их райдером на линуксе?
1535 2313312
>>313291
заплатить за лицензию, но кодить на визуал студии )
1536 2313333
>>313312
А если не хочется платить за лицензию?
1537 2313350
>>313148
Где более-менее есть примеры
1538 2313369
>>313333
Тогда надо пройти нахуй.
1539 2313375
>>313333
тогда гуглить ja-netfilter на гитхабе
1540 2313500
>>312845

>Вроде конторка интегрикс называется,


Я х.з. не помню контору только город.

>я не подавал, но у меня друг туда кидал резюме и ему давали такое же тз.


Я тоже не подавал, кореш мой устраивался. Лол, может ты это я?
1541 2313520
>>312812

>И ты делал? поделись))))


Нет, не делал. Но там ничего сложного.

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

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

На клиентской части просто делаешь библиотеку с двумя апишками. По одной делаешь заявку, по второй проверяешь статус. Потом цепляешь эту библиотеку к любой приложухе, хоть консоль, хоть wpf и в кучу потоков начинаешь резервировать товары.
1542 2313908
>>313520
Ля как сложно. Нипанятна.
1543 2313944
>>312160
Сделал бля, отправил на проверку, итог:
Комментарий от тимлида: Вы смогли защитить код метода Reserve в рамках одного процесса - теперь представьте, что ваша программа работает в нескольких экземплярах. как будет работать бронирование товаров в этом случае? Я думаю, что Вам нужно еще подумать над решением.
1544 2314045
>>312067
Если у тебя в шарпе возникают такие вопросы, то ты где-то пошел не туда. Пальцем в небо могу предположить, байт на 50-100, для ссылочного типа.
1545 2314094
>>314045
Да это просто загон был. Иногда трудно справиться с приступами преждевременной оптимизации.
1546 2314109
>>313944
Синглтон ебани потокобезопасный и мозг не еби. А на претензии, что не ООП-угодно говори, что пацаны во дворе сказали, что норм будет. А если честно, то х.з. мы же не знаю,что там у тебя.
Алсо, если ты действительно устраиваешься в ту контору о которой я думаю и хочешь устроится, то спокойно переделывай тестовое и посылай по второму разу. Шансы пройти есть, если норм сделаешь. Можешь даже еще времени недельку попросить.
>>313908

> как сложно. Нипанятна


Это уровень примерно 4...5 месячного вкатунца с говнокурсов. Т.е. даже не джуна.
1547 2314278
двачик, помоги. Где можно скачать пиратку rider'а от jetbrains и при этом не нахватать вирусов?
1548 2314325
>>313944
Ишак ебаный. Динахуй отседава
1549 2314338
>>314278
рутрэкер
1550 2314363
>>314278
да еп. выше ж написали куда копать
что за ленивый народ
1077383c71773dac5ce40f11a9364611.jpg346 Кб, 1336x1806
1551 2314376
Что в шарпе есть для реализации ECDH?
ECDiffieHellmanCng - какая-то хрень. Во-первых, судя по тому что мне студия пишет - только под винду, во-вторых, слишком уж много возни.
Мне-то нужно положить байтики публичного ключа клиента, байтики своего приватного ключа и создать таким вот образом сессионный ключ, чтобы закодировать сообщение.
Пример от майков-то работает, но там нужно либо сертификаты, либо с байтиками, но тогда, как мне студия пишет - только под винду.
Я наверное чего-то не понимаю или не знаю.
Кто-нибудь с криптографией на шарпах-то дело тут имел? Можете пояснить?
1552 2315494
Посоны, пишу на дотнете. Дома неплохой десктоп, но сейчас срочно нужен ноутбук на случай ... длительной зарубежной командировки.
Нужен недорогой - на месте потом можно купить мощнее за валюту.
Хватит ли i3, или прямо обязательно i5? В связи с затратами на... командировку все ресурсы на счету до цента.
1553 2315518
>>315494
Чел, ну что ты как целка выдумываешь тут командировки всякие. Так и скажи - "Пацаны я обосрался и съябываю заграницу роняя в спешке кал"
А если по теме, то хуй тебя знает. Если ты каким-нибудь гейдевом на юнити занимаешься, то с i3 тебе будет мучительно и больно. Если ты крудошлеп, то тебе меньше за глаза хватит. Опять же не все от проца зависит, количество оперативы тоже критично, ну и слишком медленный винт тоже головной боли добавит.
1554 2315520
>>313944
Чел, я тебе могу сказать, уже то что тебе, джуну, тимлид хоть какой-то фидбек дал на твое тестовое, говорит, что ты не совсем пропащий. Т.е. если поднапряжешься и исправишь косяки, то имеешь все шансы вкатиться.
Обычно все ограничивается отпиской от самой эчарши, вроде "вы нам не подходите", без подробностей. А чаще всего джунам даже не отвечают.
0e0a1b4124544de4802e6993b0b78847.jpg287 Кб, 1152x1120
1555 2315580
Почему никто не отвечает на мои вопросы? Я настолько дегенерат разве, и вопросы такие простые, что их предпочитают игнорить?
>>314376
>>310814
1647107120716.jpg175 Кб, 951x1500
1556 2315585
>>315580
Я не знаю, что тебе ответить, это слишком сложно для меня. А остальные аноны треда по подвалам сидят без интернетов. Такщта воть. Держи няшку. Не расстраюйся.
1557 2315619
>>315580
Варианты:
1) Большинство не знает
2) Те кто знают, понимают, что это выходит за рамки стандартных знаний по использованию jwt, сертификатов и т.д. и такая информация не выдается просто так хуй пойми кому. И дело даже не в какой-то секретности, а в том что на получение подобной инфы приходится тратить усилия отличные от "посмотреть туториал все о шифровании за полчаса".
3) Мутный ты какой-то. Возьмет анон поможет тебе, а ты его же завтра скамить этим будешь.
1558 2316166
>>315518
Не было нужных моделей с i5, взял с Ризеном 5.
SSD на 512, 8 оперативки. Я крудошлёп, но юнька - хобби.
1559 2316348
Приветствую всех, ребзя. Коротко о себе: студент первого курса деревенского вуза, после 1 курса в голову ударила моча, и я понял, что нужно ебошить, чтобы стать специалистом. Сейчас планирую немного подзабить на ненужные дисциплины в вузе и вкатываться в Шарп(веб разработка). Учусь по The Player's Guide + metanit.com, решаю простые задачки, но понимаю, что нужно закреплять всё чем-то более серьёзным. Пока что 3-я неделя изучения, к ASP.NET даже не притрагивался. Может ли кто-то натолкнуть на верный путь, как лучше взяться за основы веба? Стоит ли вообще идти в веб, если интеллектуальные способности ниже среднего? Буду благодарен каждому ответу.
1560 2316416
>>316166
В принципе на форсмажорные времена сойдет. Если конечно ты не собираешься кучу серваков в докере крутить, то сойдет.
Удачи в бегстве. Расскажешь потом как доехал.
1561 2316421
>>316348

>Сейчас планирую немного подзабить на ненужные дисциплины


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

>The Player's Guide


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

>metanit.com


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

>Пока что 3-я неделя изучения, к ASP.NET даже не притрагивался.


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

>Может ли кто-то натолкнуть на верный путь, как лучше взяться за основы веба?


Ебашишь базу, потом Asp.Net in action.

>Стоит ли вообще идти в веб, если интеллектуальные способности ниже среднего?


Стоит учиться и становиться умным, тогда можешь хоть куда идти.
1562 2316426
>>316348

>Буду благодарен каждому ответу.


Забыл сказать. Я бы советовал читать Албахари. Причем и полную версию для методического изучения. И краткую версию справочника таскать постоянно с собой, чтобы читать в свободное время и обновлять знания.
1563 2316526
Ананасы, посоветуйте годный плейлист по шарпу на русском.
1564 2316569
>>316526
Канал Хача.
1565 2316721
>>290398
ты заебистый, уже не понятно зачем брать такого заебистого. джун должен делать так как принято и не выебываться.
1566 2316997
Я так отчаялся что пришел сюда.
Почему он в запросе это выдаёт?
Timeouts are not supported on this stream.
1567 2317188
>>316997
А что он должен выдавать? MemoryStream не поддерживает таймаут (в силу бесполезности) и сообщает об этом.

Почему MemoryStream? Да потому что клиент по дефолту он читает все тело ответа прежде чем вернет. И читает он его в MemoryStrea. Чтобы возвращал управление сразу после того как пришли хидеры, нужно указывать HttpCompletionOption.ResponseContentRead

Тогда можно будет сразу после получения хидеров получить поток и сразу из него читать (но конечно не в твоем случае ибо у тебя вообще положено на асинхронность .Result вместо await)
1568 2317190
>>316997
блин
HttpCompletionOption.ResponseHeadersRead
1569 2317453
Есть переменные (пик 1) и проверка (пик2). Проблема в том, что когда я добавляю подобную переменную - мне нужно модифицировать и код проверки, а хотелось бы чтобы все добавлялось в одном месте. Сюда бы подошло что-то вроде енамов со стринговыми значениями, но их в шарпе, насколько я понял, нет. Есть ли какой способ использовать в коде именованные строки, чтобы можно было добавлять их в одном месте, не городить кучу классов для этого и не ебаться с рефлексией?
1570 2317483
>>317453
Ну, допустим...
Я другого способа не знаю.

Можешь конечно запилить, допустим, словарик с Enum'ом ключ - элемент enum'а значение - строка. Но это дополнительно нужно будет всегда чтобы получить строку - обращаться к этому словарику, а проверка всегда будет сводиться к проверке значений в словарике.

А вот в жаве - есть енумы, которым можно какие хош значения прихуячивать. Вот я хуй знает почему все так копротивляются такие же в шарп добавить. Охуенная вещь же.
1571 2317484
>>317483
Да, я как обычно еблан, забываю что в Any можно так же передавать условие. Т.е. то что в Where - в Any можно запихать и на строчку меньше выйдет.
1572 2317504
>>317483

>Ну, допустим...


447>Можешь конечно запилить, допустим, словарик с Enum'ом ключ - элемент enum'а значение - строка.
Так а профит в чем? Все равно для добавления нужно лезть и в enum, и в словарь.
1573 2317506
>>317483
А как ты скриншоты делаешь, что они у тебя по порядку нумеруются?
1574 2317541
>>317453
Выглядит как попытка удаления гланд через задницу
>>317483
А вот и месье проктолог с рабочим результатом
1575 2317543
>>317453
Ну а если серьезно. Нахуа?
Какой кейс ты пытаешься решить этим?
Если ты используешь константы, то присваивая эти значения где-то в коде ты и так знаешь, что ты присваиваешь (хотя судя по тому, что ты называешь их переменными, ты слабо представляешь что представляют из себя константы в шарпе)
Если ты берешь это откуда-то динамически, то нахуй тебе константы.
Ну и судя по содержимому, все это вполне можно через какой-нибудь конфиг прокидывать и брать оттуда.
1576 2317544
>>317483

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


1) С учетом того как устроены строки под капотом шарпа (а точнее clr) - нахуй не нужны
2) С учетом разных альтернатив (вплоть до запиливания собственного енама) - тоже нахуй не нужны.
1577 2317595
>>317188
>>317190
Спасибо!
16427635737980.png349 Кб, 640x676
1578 2317648
АХАХА КАКОЙ ЖЕ УЕБИЩНЫЙ ЯЗЫК
Самодостаточность? Нет, нахуй нужно. И еще какой-то кретин пиздел в тредике про низкоуровеньщину.
https://github.com/dotnet/corert/search?l=c++&p=4

Рантайм, тобишь БАЗА до сих пор на крестах, то есть без крестов это говно нормально нигде не запуститься.

Когда вы пишите на крестах, вам никто не нужен, но всем нужны кресты. Какая ирония. А могли бы один язык выучить и спокойно заниматься настоящим программированием, а не выступать в веб цирке с gay.js клоунами
1579 2317661
>>317648

>Рантайм, тобишь БАЗА до сих пор на крестах, то есть без крестов это говно нормально нигде не запуститься.


Вот бы мне еще на это не похуй было.
image.png526 Кб, 604x653
1580 2317662
>>317648

>заниматься настоящим программированием

1581 2317699
>>317648
Вот будет дефицит серверов (если даже серые через Казахстан/Армению/Турцию/етц не смогут ввозить), тогда и будем на крестах писать
AmpleAmusingHawaiianmonkseal-sizerestricted.gif1,7 Мб, 444x250
1582 2317735
>>317661

>пук



>>317662

>пук



>>317699

>среньк



Доска вроде /pr/, a где программисты то, в тредах системщины, а вы просто девелоперы?
1583 2317797
>>317648

> Рантайм, тобишь БАЗА до сих пор на крестах, то есть без крестов это говно нормально нигде не запуститься.


Ты не понимаешь вообще, что такое рантайм, няша.
1584 2317840
>>317648
А в чем проблема? Ну gay.js так gay.js, почему меня должно сильно беспокоить, что где-то там в недрах CLR есть код на С++? Зачем дрочить на самодостаточность?
1585 2317844
>>317648
Самодостаточность - это про Golang, где и компилятор, и рантайм написаны на Go.
1586 2317954
>>247357 (OP)
Есть задание, где пользователь выбирает раздел реестра.
Как можно реализовать выбор раздел реестра?

Через folderBrowserDialog не может выбраться путь с реестрами, всегда мне выдаёт дефолтный "Мои документы", хоть я и кодом пытался выставить систему, потом в настройке на форме тоже выставлял систему, нихуя.
1587 2317960
>>317954
Если тебе нужно сорт-оф regedit - то бери обычный TreeView и заполняй содержимым риестра.
https://docs.microsoft.com/ru-ru/dotnet/api/microsoft.win32.registry?view=net-6.0
image.png69 Кб, 1510x240
1588 2317966
>>317960

>Если тебе нужно сорт-оф regedit


Ну мне нужно чтобы пользователь зашёл в regedit и выбрал там папку.

Через folderBrowserDialog нельзя зайти в регистры. думал может там изначальный путь изменить можно чтобы зашёл грубо говоря в regedit

Задание пикрил
1589 2318035
Стоит ли создавать сайт на си шарпе? Профессионально занимаюсь разработкой .net приложений и unity приложений. Поступил заказ на сайт. Стоит ли ебаться с си шарпом? 3 часа разбирался в ебанном пхп и ларавель, говнище полнейшее.
1590 2318049
>>318035
если не знаешь пхп, то зачем делать на пхп?

На шарпе конечно сильно приятнее, чем на пхп. СИЛЬНО.
1591 2318197
>>317966
Реестр - это не папка где-то на диске. Это файл с базой данных где-то на диске. Стало быть, стандартным диалогом он не откроется. Вообще никак. Ответ тебе дали. Иди по ссылке читай.
1592 2318198
>>318197
Кстати, если бы майки догадались переименовать "реестр" в "Windows Settings Database" - все зумеры были бы их.
1593 2318304
>>318197
Хорошо, спасибо.
1594 2318521
Объясните плиз с MVC и EF:
С EF Core сделал код фёрст базу данных (делаю имиджборду на MVC).
Class Board (id, name, List<Thread>)
Class Thread (id, text, List<Post>)
Так вот - добавил миграции, апдейтнул бд - всё ок. Все в бд зависимости и связи тоже - У таблицы Threads есть столбик BoardID, всё ок.
Вопрос - Я хочу в контроллере BoardsController через экшн GetThreads получить все треды на борде выбранной. Как это сделать? Я хотел что-то типа
public IActionResult GetThreads(int? id)
{
var threads = _context.Threads.Where(t => t.BoardID == id);
return View(threads);
}
Но естественно у Threads мне недоступен BoardID, потому что в классе не описан (а в бд создался еф кором)
Как мне такое вот сделать?
1595 2318533
>>318521
Я погуглил - Я типа обязательно в свойствах класса должен указать что-то типа public int BoardId?
1596 2318629
Подскажите лучший ресурс, книги, курсы для изучения WPF. Можно на английском. Хочу сделать лучшее в своём классе приложение
1598 2318648
>>318640
Я как то натыкался на эти уроки, там вроде не супер подробно объясняется, мне бы посильнее разжевать надо
1599 2318747
>>318533
Вот оно, развращающее влияние юнити на мозги. Да, прикинь, должен.

Это, для тех кто не в курсе, у юнити принято класть хуй на модификаторы доступа и через атрибуты редактор юнити с лёгкостью получает доступ к приватным членам классов в скриптах. Это пиздец, нахуй!
1600 2318811
>>318747
Ну блин, я первый раз код Фёрст делаю, до этого всегда проектировал бд руками и скаффолдил так сказать, а в обратную сторону даже не подумал чёт
1601 2318844
>>318629
Посмотри на libgen, что есть по теме. Только для ознакомления, естественно. Чтобы потом обязательно купить заинтересовавшую книгу.
https://libgen.is/search.php?&req=windows+presentation+foundation&phrase=1&view=simple&column=def&sort=year&sortmode=DESC
1602 2318875
Анонасы, есть такая проблема. Пишу на WPF

Надо запускать сканирование папки на наличие новых файлов (если файлы есть - отправляю по API контрагенту).

Так же, если есть файлы от контрагента - скачиваю их.

Я хочу это запихнуть в одну ViewModel и в конструкторе вызвать методы (условно) "Outbound.Start()", "Inbound.Start()", но есть одно но: я так полагаю это нарушает ебаный принцип единой отвественности ибо моя VM становится ответственнена за включение и выключение каких-то двух хуёвин. Че делать? Или норм?
1603 2318886
>>318875
ну всякие действия в конструкторе кроме присвоения полей - зло

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

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

так то VM в MVVM - НЕ ЗНАЧИТ что нужно делать канонично все. Нет никаких правил описывающих как именно должен быть реализован этот слой. Потому мудри что хочешь, лишь бы фреймворк позволял
1604 2318944
Анончики, а что вот написать джуну в резюме? У меня 8 месяцев опыта работы. Текущее моё резюме выглядит так. Что можно добавить/удалить/изменить?

Изучаю C# 1.5 года
Чем владею:
• C#
• WPF (MVVM), WinForms
• Entity Framework Core
• xUnit
• Autofac
• MS SQL
С чем знаком:
• ASP.NET (MVC)
• Migrations
• Neo4j
Был опыт работы с HTTP протоколами, сокетами (tcp/udp), портами.
Знаю принципы SOLID, GoF паттерны и некоторые паттерны для параллельного программирования, DI/IoC, автотесты
1605 2318948
>>318944
зачем удалять что-то?
имел дело с чем то,значит знаком и потому упоминаешь. Значит тебе не нужно с нуля изучать эту технологию.
Ты же не утверждаешь что ты в этом списке во всем профи, а всего лишь то, что ты можешь с этим работать.
1606 2318999
>>318944
К Autofac'у добавиь стандартный майкрософтовский DI
К EF добавь еще какую-нибудь orm, даппер там, или еще что-нибудь.
Хорошо когда указан уровень владения sql-ем. Плюс одного MS SQL мало, хотя бы постгрес изучи.
Напиши, с чем конкретно работал с .Net Framework и .Net Core. (даже если это очевидно, все равно пиши)
Nlog
Rest API
0cad05d64dcb3bb3784c862e70a660e3.jpg190 Кб, 637x900
1607 2319099
В общем. В качестве тестового задания дали сделать прокси на шарпе.
Типа веб-сервис, есть списочек СПА-приложений с путями. Нужно чтобы пользователь по условному пути: www.example/app1 - получал веб-морду спа-приложения и работал с ним будто к нему напрямую подключился.
Я просто хуйнул мидлварь. Беру из контекста имя приложения, смотрю в списочке, пересылаю запрос куда надо, копирую результат.
Так вот. С чем столкнулся в контексте СПА. 1. По какой-то непонятной причине - все, блядь, поганят роут на стороне фронта, в результате - все что более-менее статичное - работает, но если хуйня пытается к своему апи обращаться - все, пизда. 2. В не СПА, допустим приложение это обычный yginx который дергает пхп-скрипты - при попытке скрипты эти выполнить - белая страница, при том что судя по тому что отдает сайт - HttpClient - я все нормально получил, достал заголовки, ответ скопировал, но нихуя. Ну и мелкая проблема была, но ее довольно просто решил - это то что скрипты, стили - не грузились через прокси, но это таки решается тем что я заменяю все стандартные пути на мое прокси и через него гоняю.
Так вот. Как решить 1 и 2? Я не понимаю. Типа эти пути - могут быть захардкожены в приложении и так же просто как с ref="/img/lol.png" - не получится.
Кто делал подобное? Как это делается?
1608 2319137
>>318844
Еба, огромное спасибо за эту годноту, я думал кроме Флибусты нет сайтов подобных
1609 2319152
>>319137
да книги то не проблема. проблема - сами книги
книги == очень медленное и обычно "не туда" повествование. Я вот не могу книги ну никак. только статьи, чужой код...
А книги ну слишком нудно
1610 2319175
>>319152
Не знаю, мне почему-то в книгах больше нравится, там подробнее объясняют, есть какие-то контрольные точки. В хорошим по крайней мере.
1611 2319323
>>319152
Ты просто не умеешь работать с книгами. У книг есть оглавление. Есть номера страниц, которые можно пролистать по ссылке из оглавления. Прииикииинь? Оказывается, книгу не обязательно читать от начала до конца! Можно заглянуть в середину и даже (о ужас!) в конец и сразу узнать, чем закончится!
1612 2319409

>>231932


>Оказывается, книгу не обязательно читать от начала до конца!


А еще ее можно вообще не читать, а нагуглить материал, который подан сжато, доходчиво и под разными углами, чем выискивать где это в книге (книгах). Гугл = тоже оглавление
1613 2319989
>>319409

>Гугл = тоже оглавление


По факту если ты правильно сформируешь запрос, то тебе первой ссылкой выкинет на тот же MSDN, который мало чем отличается от книги и у которого, вот сюрприз, есть свое оглавление. Дальше будет стековерфлоу, в котором тоже, прикинь, народ часто ссылается либо на ту же документацию, либо на те же книги.
А дальше будет дрисня вроде рекламы, кривых копий стековерфлоу с кучей рекламы ну и видосы с индусами, которые на своем овечьем хинглише будут час тебе разжевывать, то что читается за несколько минут в книге.
Редко когда попадается толковая статья которая рассматривает какие-нибудь редкие случаи.
1614 2320039
>>319989

>то что читается за несколько минут в книге.


если это не решение какой то проблемы то so просто пропускаю
если это не базовое "забыл пример". то и msdn (хотя можно просто загуглить "такое то + пример")

Остаются статьи в стиле "как сделать это и что это такое". открываю с 10к вкладок, читаю по диагонали, приходит понимание. с 99% вероятностью натыкаюсь на глубокую статью, которую кидаю в закладки как кладешь инфы по данному вопросу

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


все относительно. ну да на 1 такую статью можно открыть 20 вкладок, но после нахождения онной цель достигнута и хлам можно закрыть

вот ты прочел в книге, но не понял, то ли подано неудачно, то ли не раскрыты детали
что делать будешь? другую книгу брать?
1615 2320371
>>318049
Да похуй. Уже больше 50 часов потратил на изучение пхп и освоился немного. Особенно доставляет заголовки для элементов массивов и не типизированные переменные. Сейчас ебусь с фронтендом. Тут блять своих приколов дохуя, но вроде справляюсь.
1616 2320468
У меня есть родительский cshtml (пусть будет GeneralProfile), в котором находится js функция getNumber, возвращающая ViewBag.Number.
Есть дочерний cshtml (пусть будет DisabledProfile), у которого есть свой дочерний cshtml (Filters), в котором используется метод getNumber. Можно ли как-то в DisabledProfile заоверрайдить значение ViewBag.Number или жыэс функцию? Если да, то как?
1617 2320553
Крч, решил потыкать реакт. Ну и создал проект из шаблона asp core + react. Нажимаю ctrl+f5, а студия меня нахрен шлет, видите ли у меня нода не установлена. И тут у меня встал вопрос: а нахуа? Реакт вроде это то, что работает у клиента, а нода - серверная часть, но у меня же сервер это aspnet, а он и без ноды прекрасно себя чувствует. Объясните что к чему, я в этих ваших жсах не шарю, а вы тут все фуллстеки 666к/нс.
1618 2320651
>>320371

>Уже больше 50 часов потратил на изучение пхп и освоился немного


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

Помню у меня так вылезло боком стремление все переводить в число. Я сериализовывал и обратно словарик (ака ассоциативный массив) и в один момент все нае...упало. Оказалось, он при десериализации пытался ключи массива читать как числа типа '123abc' => 123. Полечил простым добавлением _ к названию ключа на записи и чтении, чтобы он не смог его в число превратить. Но узнал то я о такой подлянке уже в продакшене.

У пхп только один плюс - у него на одном пуле процессов можно сделать бесконечное количество сайтов (в отличие от того же руби/питона/шарпа).
1619 2320720
>>320553
Нода нужна для разработки, она из твоего говнокода будет собирать приложуху и гонять ее, чтобы ты мог заниматься отладкой и т.д.
image.png74 Кб, 723x663
1620 2321070
Что с ебалом шарперы?
1621 2321091
>>321070
Судя по фуллстаку это скрин с фриланс биржи. Так что гуляй, мальчик, шарп применяется в настоящем секторе экономики.
1622 2321106
>>321070

>turing.com

изображение.png98 Кб, 1527x723
1623 2321204
Сап, анон, помоги разобраться, будь добр.
В общем учу ЖС и чтобы понять что такое ООП начал ковырять шарп, в документации есть гайд по классам, начал его делать и соснул хуя, пруф на пике.
Понятное дело, что в таком случае нам небходим сеттер, и что без него свойство является "только для чтения", но вот если я создаю простенький сеттер уровня:
set
{
balance = value;
}
то получаю бесконечный цикл. Ориентируясь на знания из ЖС учебника я бы создал свойство private decimal _balance и balance с геттером и сеттером соответственно, но я не знаю насколько это легитимно в шарпе, так как это решения из сахарного недоООП ЖС, плюс в гайде об этом как не говорится. В общем как правильно поступить в этом случае? С меня как всегда.
1624 2321263
>>321204

>я бы создал свойство private decimal _balance и balance с геттером и сеттером соответственно


так и надо. {get; set;} сахар всего лишь создает __backingField за вас. Но без этого сахара все ручками (в отличие от хотя бы котлина, где кроме ссылки на значения value есть и ссылка field)
1625 2321267
>>321263
Понял, а как тогда насчет конвенции? Я так понял через подчеркивание (_balance) в шарпе не пишут, а вместо этого геттер/сеттер называют с большой буквы, а свойство (поле?) называют с маленькой. Так и делать?
Алсо как я понял все такие поля должны быть private, как опять же говорится в доках, но при этом при создании полей (свойств??) с {get; set;} используют public, и это логично, но не соответствует конвенции, можете прояснить этот момент?
1626 2321268
>>321267
При создании public свойств ты задаешь сеттеры / геттеры и в них пишешь свою логику. Можешь не просто public Zaloopa {get{ return zaloopa;} делать, а какую-то предварительную обработку.
1627 2321273
>>321267

>Понял, а как тогда насчет конвенции?


Да как и везде - "кто в лес, кто по дрова"
в исходниках фреймворка всякие m_state, s_LinkedTokenCancelDelegate

мне же нравится просто _state
да и просто иду по пути наименьшего сопротивления "как принято в инструментарии", а у меня это решарпер.

правда и решарпер сам не знает чего хочет. задолбал постоянно жаловаться на

const string AnyValue =
и предлагать переименовать в
const string ANY_VALUE =
а после перезапуска студии (или хз по какому триггеру) - жалуется и предлагает переименовать обратно. И так по кругу
1629 2321287
>>321282
>>321273
>>321268
Принял, от души, парни!
1630 2321297
Шарп бояре, помогите. начинаю изучать этот язык, мне необходимо выполнить лабораторную работу. склонировал репозиторий на комп, в солюшн эксплорере 2 проект - с заданиями и юнит тестами. Я не понимаю - их надо выполнять и проверять в первом проекте или создать новый проект и вызывать там методы из первого? Энивей при запуске без созадния нового проекта появляется ошибка как на пике 2. Почаны помогите, я совсем уже ебануляся...
1631 2321320
>>321297
Это у тебя библиотека, а не программа. Ее надо открыть, как библиотеку в другом проекте.
1632 2321322
>>321320
Это же написано на скрине.
1633 2321344
>>321320
Спасибо, добрый человек!
1634 2321667
>>321273

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


.editorconfig настрой и пропиши там правила.
1635 2321671
>>321267

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



В современном кодстайле в шарпе принято приватные поля класса называть с подчеркивания + lowerCamelCase
Свойства принято называть в UpperCamelCase

Пихать логику в геттеры-сеттеры сейчас не принято (вроде как даже многие голосуют, за выпил этого из шарпа). Обычно, если ты это делаешь, то ты уже где-то проебался с архитектурой. Допустим, то, что у тебя на скрине >>321204 уже нихуя не ООП-угодно. Это либо в отдельный метод нужно выносить, либо в отдельную структуру/класс
1636 2321689
>>321106
>>321091

И что? Чем туринг плох?
1637 2321821
Почему размер файла это лонг

Но при этом когда мы пробуем прочитать участок из файла то оффсет (отступ) указываем как инт?

Тоесть мы интом буквально не можем указать читать файл с какого-то места если его размер превышает максимальное значение инта?

Какой-то Абсурд
image.png23 Кб, 931x78
1638 2321844
Ну чушь же! Что же чертовщина! Это в принципе так не может работать!
1639 2321872
>>321821
>>321844
Потому что ты долбоеб. offset к bufer относится, а не к стриму. Доки читай.
1640 2322053
Привет шарписты! Очевидно, что у вас тут постоянно появляются вкатывальщики с однатипными вопросами, но всё же. Хочу вкатиться в backend и сейчас пытаюсь определиться с ЯП. Может кто-то дать дельный совет по этому поводу? Пока что выбор стоит между Питоном и Шарпом. На сколько я понял, без HTML, CSS и фреймворка JS тоже не обойтись. Вопрос вот в чём: если выбирать между Питоном и Шарпом, то с чем сейчас объективно легче найти какую-нибудь стажировку и в дальнейшем работу? В питоне есть совсем небольшой опыт, но толком все равно ничего на нём не писал. Просто у меня такое ощущение, что с Питоном вкатиться будет куда сложнее, т.к. его пытаются учить все кому не лень(я в том числе). Может посоветуете какие-то другие варианты? На Шарпе думал начать заниматься по курсу на ULearn + параллельно читать какую-нибудь книгу из шапки треда. С чтением/прослушиванием на английском проблем нет. Только на днях узнал про курсы Олежки Тинькова, но к сожалению, набор туда закончился в феврале. Заранее спасибо за ответы!
1641 2322056
>>322053

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


А также использовать все кому не лень.
С ним проще найти работу.

Питон очень неплох, если бы правда не GIL
1642 2322061
>>322053
Одногруппник сдал msdn'овский тест по .net framework (вроде, один хуй тест уже недоступен), с полученным сертификатом нашел работу.
Я питонистом искал работу около года, нашел хуйню в которой питон почти не нужен был, уже в компании выучил шарп с дотнетом и сменил проект, месяца 2 назад сказал что хочу уволиться и мне еще замену не нашли.

Выводы делай сам.
Как много питонистов-вкатывальщиков, так много и разных затычек на проектах для них -- дата инженегры, бекенд разработчики, автоматизаторы хуйни, чел чтобы включать кофемашинку. Я бы сказал что в обоих случаях сложность получения работы примерно одинакова, но рекомендовал бы шарпы, т.к. приучишь себя к полезным вещам в слабо-типизируемых языках.
По поводу стажировок и курсов -- чекни епам тренинги и яндекс академию, объявления на хх.ру и линкедине или что у тебя в регионе популярно.
1643 2322062
>>322061

>Я питонистом искал работу около года


Это очень общая фраза.
Вопрос в том на сколько вакансий ты собеседовался.
1644 2322079
>>322061
Спасибо за инфу, анон. А что думаешь по поводу Java? Насколько я понял, Java и Шарп очень похожи, но по ощущениям стажировок и прочего по Java больше, чем по .NET. Просто глаза разбегаются со всем этим многообразием языков, если честно. Сложно понять куда инвестировать время и силы
1645 2322081
>>322079

>А что думаешь по поводу Java?


ага, как ваз и иномарка. обе машины, на обоих можно ездить, но есть нюанс
1646 2322085
>>322061
И да, можешь пожалуйста рассказать как ты примерно учил шарп и донет? Может какой-то курс проходил и читал что-то? Так сказать небольшой роадмэп бы увидеть, чтобы лучше понимать что учить и откуда брать
1647 2322099
Есть ли где-то .Net book zero на русском? Нашёл здесь перевод, но к сожалению только первые 7 глав из 28. https://book-ee.ucoz.ru/index/net_book_zero/0-19
image.png661 Кб, 1060x3142
1648 2322100
>>322085

>как ты примерно учил шарп


Открываешь справочник Албахари и учишь все подряд. В шарпе нужно знать все.
А дальше забиваешь в поиске .net developer roadmap и подбираешь, то что тебе по нраву.
Вот например вполне годный для бэкендера:

https://github.com/MoienTajik/AspNetCore-Developer-Roadmap
1649 2322167
>>321872
Погоди, тогда я ничерта не понимаю, вот у меня есть файл, я открываю стрим, и хочу его прочитать, но частями (предположим файл 14 гб а озу у меня только 8 свободно 4) тогда как мне прочитать часть стрима?
1650 2322179
>>322167
Ну ебана. Сказали же - доки читай.

Перемотку используй:
long Seek(long offset, SeekOrigin origin)

В документации идет сразу же после методов чтения. Совсем себе мозги видосиками разжижили, пару лишних строчек прочитать не осиливают.
1651 2322384
сап, у нас в вузе изучается .Net Remoting, я погуглил, мне на 1 же странице гугла выдает страницу 2003 года, эта хуета не используется как я понял уже?
1652 2322387
>>322384
Да. Вместо него грпц или вцф
1648130544978.gif1,6 Мб, 350x197
1654 2322389
>>322384
Вузеки в своём репертуаре.
1655 2322390
>>322388
блять, то есть он даже языком уже не поддерживается, а мы это учим? ебаный стыд
1656 2322393
>>322390
ну так фреймворк никуда не делся. То, что кор пришел ему на замену, не значит что сразу все на него перешли. Дюже дорогое удовольствие.
Так что шанс попасть на работу, где все легаси - довольно высокий.
1657 2322401
>>322390
бля братан, я в своей шараги тоже дохуя бесполезного делаю, но у тебя хотя бы надо на шарпе писать
1658 2322433
Смотрите. Вот я в ef core делаю:
var post = new Post(Images=_images)
_context.add(post)
И у меня и в табличке Posts и в табличке Images создаются записи (потому что есть связь 1-много)

А вот теперь если я из бд хочу пост с картинками достать (и хранить это в модели Post с полем list<images>) - надо писать linq запрос с джоинами и вот этим вот всем, или я что-то неправильно делаю всё-таки?
1659 2322455
>>322433
Я нашел! За такое в еф отвечает Include() он как раз в соответствующую модель добавит то, что по связи должно входить
image.png195 Кб, 2553x1329
1660 2322471
Я написал имиджборду, могу идти жуниор бэкенд ебелопер?
1661 2322481
>>322471
Оно в докере? Очереди прикрутил? Верстка адаптивная? Вебемки загружать можно? Что там с продажей пасскодов? Админкой?

Вообще. Я не верю что ты серьезно спрашиваешь. Я вот первую работу нашел, после того как в консольке сделал хелловорлд и на формах хуйнул рисование прямой по алгоритму брезенхема, кек. Просто решил, что хули я буду сидеть и нихуя не делать. Пришел на собес, сказал что знаю шарпы и перечислил технологии про которые слышал. Все. Взяли. Да, это было в 2020м. Так что да, можешь идти искать работу жуниором,
lll.gif2,2 Мб, 690x544
1662 2322486
>>322481

>в консольке


>по алгоритму брезенхема

1663 2322612
>>322486
Прикольненко. Еще бы не мерцала - было бы совсем заебись.
1664 2322646
>>322612
Это один из первых вариантов.
Я потом вроде бы делал с нормальным выводом без мерцания. Но мне лень сейчас это искать, собирать и новую гифку записывать.
Эта картинка просто валялась в удобном месте.
1665 2323007
А вот такой вопрос
Допустим есть абстрактный сервис который выполняется
у него есть поле типа

public ServiceState State {get;}

и для желающих наблюдать за изменениями ну пусть будет событие такое

public event EventHandler<ServiceState> StateChanged = delegate { };

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

Кто как будет решать проблему чтения текущего State и подписки на изменения без побочных эффектов от гонки потоков?
1666 2323239
>>323007
Я не понял вопроса. Можно как-то перефразировать?
1667 2323252
>>323239
Ну смотри. Есть у тебя сервис, он работает, у него какое то свойство, которое меняется и событие, которое сигнализирует об этом изменении. Сервис изнутри меняет свойствои сигнализирует об его изменении.

Если просто читаешь время от времени это свойство, то все норм. И если подписался до старта сервиса, то тоже норм ибо события не пропустишь.

Но ты подключаешься в рэндомный момент и плохое решение выглядит так
1 свойство State = States.Foo
2 мы подключаемся, читаем свойство State, и собираемся подписаться
3 Пока мы шагали до подписки на событие, то State = States.Bar
4 Мы подписываемся на событие изменения и начинаем следить. В итоге мы изменение не видели и в полной уверенности что там Foo, а на деле оно Bar

ну в общем то классика.
1668 2323262
>>323252

> В итоге мы изменение не видели


Конечно. Мы же ещё не подписались.
1669 2323276
>>323262

>Конечно. Мы же ещё не подписались.


ну как бы это и так понятно
а теперь вернемся к первоначальному вопросу

Кто как будет решать проблему чтения текущего State и подписки на изменения без побочных эффектов от гонки потоков?
1670 2323283
>>323007
>>323276
Я вынесу стейт в базу и буду вьюхой из не читать, а сервисом в нее писать.
Изи-бризи.
1671 2323286
>>323283
Как это хоть как то что то решает?
1672 2323290
>>323286
Это решает все проблемы. Это индустриальный стандарт.
1673 2323291
>>323290
Ясно. Если нечего покушать, то можно станцевать.
Но лучше послушаю других.
1674 2323307
Шарпач, предлагают релок (пара вариантов, но скорее всего к балканским братушкам).

Проекты MS Dynamic, но там махровое легаси с WPF. Релок очень интересен, но вдруг легаси с WPF будет унылым?
1675 2323373
Сап, я даун. Каким образом через EF добавлять данные из связанной таблицы в DataGrid и биндить для редактирования? Как-то забиндил, так теперь при изменении меняются значения в связанных таблицах.
1676 2323375
>>323307
Офк переезжай, уровень жизни апнешь, западные ребята тебя научат важному и главному, а дальше дела еще лучше пойдут
1677 2323378
>>323373
Если у тя ObservableCollection забинжено к DataGrid, то просто повесь событие на CollectionChanged или чето типа того, а в нём просто добавляй и изменяй. К примеру:

void OnCollectionChanged()
{
if(item.Id == 0) //ну или чето другое
database.Add(item)
else
database.Update(item)
}

это очень грубо говоря и не самый лучший способ. Лучше повесить ICommand в котором изменять коллекцию и асинхронно изменять бд. А еще лучше - иди на ruSO, там очень быстро отвечают по шарпу пару челов
1678 2323450
>>323307

>но вдруг легаси с WPF будет унылым?


Как будто WPF сам по себе не уныл, без всяких если.
1679 2323460
Сап, я новичок. Как правильнее будет сделать?
Я через рефлексию получаю коллекцию каких-то различных типов(штук 5 видов в различных количествах) в формате object[] и передаю его как лист в определенную фабрику в зависимости от задачи. Там они просто кастятся к нужным типам/провожу валидацию и создаю готовый объект.
Мне очень не нравится, что приходится в фабрику передавать лист обджектов. Это вообще норма или хуйня и нужно переделать?
Если переделать, то как?
Думал насчёт анонимных типов. В эту сторону гуглить? Или dynamic параметр сделать? По скорости и затратности каста мне разницы нет, это происходит только один раз, дальше просто эти данные живут на протяжении всей работы.
1680 2323462
>>323291
>>323007
>>323252
Просто ты проблему на пустом месте создаешь.
Классический подход при решении такой хуйни: у тебя есть стейт где-то. Текущий стейт при этом иммутабельный. И он - единственный источник истины. Как там есть - то и считаем правдной.
Так вот. В контексте классических приложений этот стейт кладут в БД. Все. В контексте фронта - его выносят в какой-нибудь редакс, ngrx или vuex. Все. Твои сервисы - свое состояние коммитят в БД/стор. Твои вьюшки достают из бд/стора при коммите новое состояние. БД/Стор - при этом иммутабельны по своей природе, пока там что-то пишется, тот кто возьмет данные - получит правду на момент обращения, когда коммит будет завершен - он будет оповещен и елси нужно - обратится снова и получит новое состояние.

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

А про гонку и прочее. Оно тут вообще ни к селу, ни к городу. В том кейсе который ты описал - там никакой гонки быть не может в принципе, т.к. сделать безопасное чтение, при условии что пишет один поток - не представляется чем-то сложным, а ситуация когда стейт меняет несколько потоков - долбоебизм.
1681 2323542
>>323460
Ты можешь сразу к типу какому-то кастовать через Convert.ChangeType
1682 2323559
>>323542
Я его использую.
Просто у меня в конечном итоге получается массив к примеру {string, bool, mytype, int}. И меня интересует как лучше его передавать параметром. В каждой фабрике я уже знаю на каком идексе какой тип и какие могут отсутствовать. Поэтому могу просто (string)param[0] перекинуть в конструктор, либо посмотреть после каста значение и дальше решать кидать его или нет.
1683 2323569
>>323462

>Так вот. В контексте классических приложений этот стейт кладут в БД. Все


хватит мыслить категориями классических CRUD приложений с базами данных.
я говорю совсем про другую проблему. Она ближе к теме "события + мультипоточность" (для примера вот https://www.codeproject.com/Articles/886223/Csharp-Multithreading-and-Events ) И базы данных там даже рядом не лежало. В приложении вообще может не быть никакой базы данных.
ты просто зацепился за слова сервис и стейт из примера. И понеслось

Хорошо. пусть это будет датчик (много датчиков) и его состояние. Датчик может менять свое состояние и делать это может как триллион раз в секунду, так и 1 раз в год, то есть время смены состояния неизвестно. И у него есть свойство где можно прочитать текущее значение, ну и событие чтобы подписаться на изменения. И очевидно!!! что база данных тут вообще не к месту - какая разница где хранить текущее состояние? - А НИКАКОЙ. Нет никакого смысла где-то еще хранить, если у нас оно и так хранится в свойстве - бери да читай.

И вот тебе нужно в РЭНДОМНЫЙ момент атачиться к этому датчику и начинать активно за ним следить, переставать следить, снова подключаться.

>А про гонку и прочее. Оно тут вообще ни к селу, ни к городу.


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

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

И тут решение нисколько не простое.

Навскидку можно несколько вариантов
- использовать SyncRoot ( это тот который антипаттерн) со всеми его недостатками
- заставить этот датчик использовать SyncronizationContext. Работать будет, но тогда любому, кто будет использовать датчик, нужен будет работать в таком контексте.
- Если у нас UI, то у нас есть Dispatcher и мы подписываемся, но в подписке планируем обработчик выполниться в UI потоке, а раз мы в нем находимся, то его выполнение станет после нас. (то есть это решает мой пример, но я говорю про общий случай)
- замудрить свое событие которое будет сразу выдавать последнее значение при подписке, а-ля SharedState в андроиде, то есть это уже не событие, а целый IObservable с выдачей последнего значения подписчику
(и в общем то неплохо, но это уже велосипед и это опять же применимо если мы пишем класс датчика. Да и где взять готовое такое, самому писать чистое решение не так просто)
- расчитывать на авось и в один момент получить хрень (даже нет смысла обсуждать)
1683 2323569
>>323462

>Так вот. В контексте классических приложений этот стейт кладут в БД. Все


хватит мыслить категориями классических CRUD приложений с базами данных.
я говорю совсем про другую проблему. Она ближе к теме "события + мультипоточность" (для примера вот https://www.codeproject.com/Articles/886223/Csharp-Multithreading-and-Events ) И базы данных там даже рядом не лежало. В приложении вообще может не быть никакой базы данных.
ты просто зацепился за слова сервис и стейт из примера. И понеслось

Хорошо. пусть это будет датчик (много датчиков) и его состояние. Датчик может менять свое состояние и делать это может как триллион раз в секунду, так и 1 раз в год, то есть время смены состояния неизвестно. И у него есть свойство где можно прочитать текущее значение, ну и событие чтобы подписаться на изменения. И очевидно!!! что база данных тут вообще не к месту - какая разница где хранить текущее состояние? - А НИКАКОЙ. Нет никакого смысла где-то еще хранить, если у нас оно и так хранится в свойстве - бери да читай.

И вот тебе нужно в РЭНДОМНЫЙ момент атачиться к этому датчику и начинать активно за ним следить, переставать следить, снова подключаться.

>А про гонку и прочее. Оно тут вообще ни к селу, ни к городу.


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

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

И тут решение нисколько не простое.

Навскидку можно несколько вариантов
- использовать SyncRoot ( это тот который антипаттерн) со всеми его недостатками
- заставить этот датчик использовать SyncronizationContext. Работать будет, но тогда любому, кто будет использовать датчик, нужен будет работать в таком контексте.
- Если у нас UI, то у нас есть Dispatcher и мы подписываемся, но в подписке планируем обработчик выполниться в UI потоке, а раз мы в нем находимся, то его выполнение станет после нас. (то есть это решает мой пример, но я говорю про общий случай)
- замудрить свое событие которое будет сразу выдавать последнее значение при подписке, а-ля SharedState в андроиде, то есть это уже не событие, а целый IObservable с выдачей последнего значения подписчику
(и в общем то неплохо, но это уже велосипед и это опять же применимо если мы пишем класс датчика. Да и где взять готовое такое, самому писать чистое решение не так просто)
- расчитывать на авось и в один момент получить хрень (даже нет смысла обсуждать)
1684 2323697
Если я создаю Timer то это уже отдельный поток, мне не надо создавать для него отдельный Thread?
1685 2323708
Стоит ли вкатываться в wpf по книжке петцольда? Уже до второй главы дошёл, вроде съедобно
1686 2323713
>>323697
Таймер не поток. Это всего лишь запланированное выполнение чего-либо. И где будет это выполнено - зависит от выбранного таймера (https://professorweb.ru/my/csharp/thread_and_files/1/1_15.php)
1687 2323749
>>322062
Собеседований 10 было, обычно присылали отказ либо игнорировали.
>>322079
На жабу действительно больше вакансий и стажировок. Ничего не думаю.
>>322085
С# Players Guide + metanit + дали написать мини-проект, вот по нему гуглил моменты и с разных сайтов инфу впитывал.
1688 2323750
>>323708

>9. Литература по WPF


>— Pro WPF 4.5 in C# (Matthew MacDonald)


>— Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)



Бтв, почему эти книги? Даже нет WPF Unleashed которую тоже хвалят
1689 2323842
>>323559
Значит я не понимаю, что ты имеешь в виду. Запомни, код нельзя объяснять на словах, его нужно просто показывать
1690 2323851
>>323750
Потому что эту хуйню никто не обновляет. Я помню три или четыре треда ныл, чтобы добавили .NET 5 наконец-то в ОП пост. Уже давно .нет 6, а его никто в оп-пост не добавил
1691 2323913
>>323851

> Уже давно .нет 6


Зачем они так часто номера версий обновляют?
1692 2323974
>>323851

>Потому что эту хуйню никто не обновляет


WPF не изменился за много лет (даже баги не фиксят) и выход дотнет 6 ничего не меняет.
1693 2324062
>>323974
MAUI там обещают подвезти.
1694 2324109
>>324062
И что в нем такого этакого для виндузятника? Для видузятника целая куча WPF замен и так есть, которые слабее по фичам чем WPF

А как кросс - MAUI хуже других ибо другие хотя бы поддерживаются их авторами (а не пойми кем) на линуксах
1695 2324203
>>324109

>MAUI хуже других ибо другие хотя бы поддерживаются их авторами (а не пойми кем) на линуксах


Что ты несешь? Майки сделали мауи они и будут поддерживать. Или майки это непойми кто?
1696 2324253
>>324203
Майки-то майки, только опять без линупс десктопа
1697 2324266
>>324203
https://docs.microsoft.com/en-us/dotnet/maui/supported-platforms

Additional platform support
...
Linux, supported by the community.

Перевожу - "поддержки под линукс нет, еб....сь сами".

После такого заявления ждать MAUI смысла нет.
1698 2324299
>>324266
Я ему это ещё год назад говорил. Но он же фанатик. Не объяснишь.

мимо фанат Eto.Forms
1699 2324376
>>324266
Так а нахуй нужен линукс? Главное что андроид поддерживается
1700 2324409
Джентельмены! С какой версии asp.net core щас лучше вкатываться? Вижу вышла 6 не очень давно. Или все таки с 5?
1701 2324418
>>324376

> Так а нахуй нужен линукс?


Я на андроиде страдаю, когда шарпотред не перекатывают.
Перекатите тред!
Я страдаю!
image.png11 Кб, 445x180
1702 2324463
Зачем нужен атрибут [ApiController]? Вроде, и без него все работает, нет?
1703 2324468
>>324409
Вообще, разницы нет особой, можешь хоть с 7-й начинать, превью уже выпустили. Их каждый год выпускают, разница небольшая. Ну а вообще, если тебе это так критично - то 6, это LTS версия, 5-ю нет смысла никакого изучать.
1704 2324472
>>324299
Так это понятно, ну какой MAUI на линуксе, але, это же конкурирующая платформа, у майков основной продукт - винда.
1705 2324485
>>324376

>Главное что андроид поддерживается


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

>>324472
>ну какой MAUI на линуксе
А зачем он тогда нужен вообще? чтобы мобильщики могли писать под десктоп? Ну может быть. А остальным оно нафиг не нужно
1706 2324490
>>324463
вот о нем написано

The [ApiController] attribute can be applied to a controller class to enable the following opinionated, API-specific behaviors:

Attribute routing requirement
Automatic HTTP 400 responses
Binding source parameter inference
Multipart/form-data request inference
Problem details for error status codes

по ссылке пояснение по каждому пункту
https://docs.microsoft.com/en-us/aspnet/core/web-api/?view=aspnetcore-5.0

Если получится понять
1707 2324494
>>324468

Спасибо!
1708 2324559
>>324409
На новые проекты где сразу юзают онли 6-й .net, сейчас берут в основном стронг мидлов и синьоров. Тебя туда не возьмут.
В конторах куда у тебя есть шанс вкатиться скорее всего юзают core 3.1 или потихоньку переползают с него на .net6. Чтобы туда взяли нужно уверенно знать и 3.1 и понимать чем от него отличается 6-й. Поэтому твой выбор 3.1
1709 2324570
>>324485

>А зачем он тогда нужен вообще? чтобы мобильщики могли писать под десктоп?


Да, чтобы к единой базе все привести, на основе ксамарина.
1710 2324690
>>324570
без линукса это не единая база
кончится ничем. десктопщикам не нужно такое, а мобильщикам - а им зачем вообще десктоп...
1711 2324784
>>324690

>без линукса это не единая база


Линукс - конкурирует с основным продуктом, для него не нужно. А то напилят еще программ на линукс, кто тогда винду покупать будет?
1712 2324797
>>324784
это ИХ проблема
а моя проблема, как разработчика софта - чтобы он работал нормально на всех системах. И линукс в их числе.

А раз этого нет, значит это мертворожденный проект для десктоперов. А мобиловодам десктоп вообще не нужен
1713 2324803
>>324784
Я думаю со временем виндовс переедет на их облако и станет облачной ос по подписке
1714 2324991
Я щас поставил шаблоны MAUI через dotnet new и создал простое приложение, чисто повтыкать в файлы шаблона, потому что оно у меня ожидаемо не запустилось, потому что я из под линукса сижу. Дак вот чо. Майкрософт в своём репертуаре. Сгенерированный пустой проект-хелловорлд содержит в себе кучу нечитаемого xml-говна, манифесты, манифесты, тысячи их! Сделано всё специально так, чтобы разобраться в этом можно было только через формочки-редакторы в вижуал-студии.

Нет простоты, элегантности и лаконичности нет. Как например, если я создам шаблон приложения в Eto.Forms, создастся 4 папки, по два-три файла в каждой:
1. Платформонезависимое окно, компилирующееся как dll, файлы: проект и шарпокод. Если выбрать шаблон с кодебихайндом, будет третий файл хамл.
2. Приложение GTK, компилирующееся как запускаемый бинарник, файлы такие же, проект и шарпокод.
3. Приложение Шындовс.
4. Приложение МАК.

Но у Eto.Forms другой минус (для зумера) там по умолчанию нет андроида и его надо пердолить ручками самостоятельно, и для макак с галер есть минус, нет модного MVVM шаблона, все модели и вьюмодели надо создавать ручками.

Бумеру инди-девелоперу же, взросшему на Дельфях в эпоху Ильхама Мокрописечного - тут одни плюсы.
1715 2324994
>>324991
Ах да, самое главное забыл. В МАУИ все платформы перечислены внутри едиственного проекта, который тянет все зависимости, но просто логикой внутри огромного раздутого файла-проекта их переключает.

В Ето.формсах 4 проекта в 4 отдельных папках, каждый со своими зависимостями. Кому-то это может показаться неудобно, я же проникся мощю этого гениального подхода. Кодишь на винде - не думаешь о зависимостях линукса, запускаешь нативную приложуху и она работает. Надо перейти на линукс - переходишь в папку с линуксовой сборкой и конпелируешься оттуда, не думая о зависимостяз венды.
image.png219 Кб, 683x740
1716 2325559
>>247357 (OP)
Чуваки я сильно всрался, что купил пикрил?
или кто то читал и проходил?
1717 2325567
>>325559
Любой покупающий бумажную техлитературу в 2z22 - всрался. Бамажка устарела аккурат в тот момент, когда на типографии отпечатали половину тиража.

Бумажку имеет смысл покупать если ты бумажкофил, любишь переворачивать хрустящие страницы и вдыхать аромат белил с чернилами.
1718 2325573
>>325567
Я про содержание книги
Мне неудобно читать с компа литературу
1719 2325577
>>325573
Я тоже про содержание. Повторяюсь. Содержание морально устарело аккурат в тот момент, когда отпечатали половину тиража.
1720 2325581
>>325573
Купи электронную читалку на e-ink.
1721 2325601
>>325577
Ну почитаю, скажу свое мнение
Я так то решил вкатится не в шарп, как таковой
А в шарп в контексте юнити
В гейдев треде думаю не так быстро и качественно ответят как тут
1722 2325604
>>325601

> шарп в контексте юнити


Выше в треде уже давали подробный расклад по данному вопросу. Ищи юнити поиском по странице.
Бумажная книжка такого функционала тебе не предоставит.
1723 2325606
>>325604
Окей, значит я всрался
штош, не в первой
1724 2325608
>>325559
На Ютубе другого Васильева открой, тоже хороший человек
1725 2325746
>>325559
2018-й год
Ни слова про коллекции, дженерики, интерфейсы, linq и прочую базу которая сейчас мастхэв. Судя по содержанию книга даже не для студентов, а для совсем школьников.
1726 2325752
>>325746
Ну, в контексте юнити коллекция только одна - массив, интерфейсы не нужны, а за linq тебе и вовсе пальцы поломают.
1727 2325791
>>247357 (OP)
На связи даун! Как создать нечто подобное https://pastebin.com/1Yktd7aT в C# ?
1728 2325807
>>325791
Точно так же.
1729 2325814
>>325807
Но ведь в c# нет такого типа данных как "object" в отличии от JS. Точнее есть, но насколько я сейчас понимаю он просто позволяет не писать конкретный тип данных. Не могу понять как создавать подобные вложенности. Через классы или через библиотеку получается какая-то хуйня, которую не понятно как инициализировать, хотя очевидно это я что-то не то горожу.
1648646099231.png36 Кб, 683x755
1730 2325819
>>325814
Я пытаюсь набросать тебе пример через анонимные типы, но он не компилится в онлайн ИДЕ, а студию мне запускать впадлу. Если тебе надо прям вот так же динамически, можно ещё заюзать сторонние либы, например ньютонсофт ЖСОН.

Вот пока что НЕРАБОЧИЙ вариант, как я это вижу:
1731 2325822
>>325819
>>325814
Если же без анонимных типов и прочей динамической пидерсии, то тебе надо сначала описать элементы коллекций, а потом завести коллекции. Строго типизированно.
1732 2325829
>>325819
Пытался через анонимный var делать, не получалось. Оказывается забывал "new". Спасибо большое!
1733 2325995
Это нормальное поведение? Первый раз с такой хуйней сталкиваюсь просто.
Есть enum Keys из форм с кучей констант. Хочу стринг конвертить в него. Юзаю Enum.Parse.
Например в таких случаях работает корректно:
Enum.Parse("A"), true); // A
Enum.Parse("Asd"), true); //exception
А в таком он мне не кидает эксепшн:
Enum.Parse("A,S,D"), true);
Возвращает W.
1734 2326013
>>325995
А, понятно. Он запятую использует как сепаратор для битового или. Пиздец, нахуя это сделано.
1735 2326021
>>325752

>в контексте юнити


А, сорян, проебался. Ну тогда, учитывая насколько дерьмовая реализация шарпов в юнити, лучше тогда книжку постарше поискать, года так 2008-го.
1736 2326023
>>325791
Через анонимные типы.
1737 2326259
>>325746
Старина, а где прочитать про это?
Я вот читаю Васильева этого. пока нихуя не понятно
Видимо или я тупой, или реально книга кал
1738 2326272
>>322389
Блять, я понять одного не могу
Это какая то загадка человечества величайшая
Как, с такой всратейшей системой образования (высшее)
где изучается некро говно 2003 года, русский програмист спокойно перекатывается забугор и работает и его все облизывают?
Это единицы "вопреки" или как? Как ВУЗы учащие некромантию способны выпускать студентов наносеков?
1739 2326363
Вкатуны есть которые вкатились за последние пол года?
Травите байки.
Ебаная "спец операция" половину ваканский порезала. Хуй знает как теперь вкатится. Всем опыт нужен блять от года.
1740 2326372
>>326363
Ох, жиза. Вката.NET
Может летом вернутся галеры
1741 2326383
>>326272
Всё очень просто. Если ты изучил БАЗУ, если ты изучил КЛАССИКУ, БЛЯТЬ, КОТОРУЮ ЗНАТЬ НАДО, то тогда ты с лёгкостью осваиваешь любой зумерский фреймворк, который отличается от дидовских тулкитов только тем, что в нём А заменили на Б. Поэтому в вузах преподают ОСНОВЫ, вплоть до командных интерфейсов.

Как-то так.
1742 2326391
>>326259
Гм. Если тебе даже Васильев не понятен, то что-то серьезнее тебе читать еще бесполезнее будет.
Тебе надо на какой-нибудь совсем базовый курс, где тебе расскажут о программировании без привязки к языку и технологиям. Я х.з. какой-нибудь школьный курс типа scratch-а или еще, что-нибудь.
1743 2326395
>>326272

>Как,


Про базу верно уже сказали.
Еще один момент - ограничение инструментария, при должной мотивации, дает неплохой буст развития. Т.к. мозг учится обходить все эти ограничения, решая попутно множество интересных сопутствующих задач. Ну а айтишники в РФ всегда были поставлены в позицию тех, кому нужно изъебнуться, чтобы достичь результата. Начиная с взлома игрушек и винды, по причине невозможности их купить, и заканчивая самостоятельным изучением и доработкой технологий, которые недоступны на данный момент.
Ментальность такая. Пока условный западный прогер будет сидеть на жопе и ждать когда ему подадут нужный для работы инструмент или технологию и обучат им пользоваться, условный местный прогер возьмет все сам и сам научится.
ЛУчшие художники тоже всегда сначала учились сначала простым карандашом рисовать, а не со всего набора красок начинали.
1744 2326428
>>326272

>Как, с такой всратейшей системой образования (высшее)


>где изучается некро говно 2003 года, русский програмист спокойно перекатывается забугор и работает и его все облизывают?


>Это единицы "вопреки" или как? Как ВУЗы учащие некромантию способны выпускать студентов наносеков?


1. Да, это единицы "вопреки".
2. Традиция программирования еще не вполне образовалась, а, учитывая что задача вузов - именно приобщения к традиции, они для программирования не особо нужны.
1745 2326434
>>326363

>Хуй знает как теперь вкатится.


Учить 1С или js (он будет всегда и везде). С шарпами и прочими питухонами нам теперь будет туго, это да.
108f5ed9f6dc6861c448b1888c303148.png208 Кб, 546x357
1746 2326718
Короче.
Есть несколько АйПи-камер.
Что я хочу. Я хочу чтобы они подключались по ВПН к моему серваку, ну а дальше, пользователь входит и в зависимости от прав доступа - смотрит что там на камерах.
Так вот. На текущий момент - я как делаю, я просто храню АйПи, пользователь должен руками настраивать ВПН, на фронте он клацает на камеру, его через ВПН подключает к нужной камере.
Момент с настройкой ВПН мне не нравится. Заеб для пользователя и вообще какая-то хуета, типа тот кто подключился к ВПН - может в обход основного приложения доступ к камерам получать.
Так вот. Что я хочу. Я хочу чтобы ВПН был только между мной и камерами, а пользователь, только после входа в приложении - мог подключиться.
Как я сделал. Я сделал обычный мидлвар, который после проверки прав доступа - просто шлет запрос камере, отдает пользователю.
Ну, собственно, в чем проблема такого решения. В том, что камеры сейчас дюже умные, не только картинку стримят, но и имеют возможность настройки и прочего. В связи с этим возникает хуета, типа у камеры фронтенд - всякие ссылки вида /settings, /dashboard /hui/zaluipa использует, оно соответственно шлется на мой сервак, который таким образом не знает куда роутить маршрут и отдает 404.
Так вот. Как по человечески делать-то такую хуйню? Я пока что придумал только: смотрим куку, если в куке обращались по прокси, считаем что это запрос по прокси и соответственно роутим к последней камере. Думаю в чем проблема тут - ясно, если маршруты совпадают - на сервак мой без чистки кук уже не так просто попасть будет, ну и плюс - если камеры одинаковые - роутить будет к последней подключенной, разве что я буду чистить куки при обращении к новой камере каждый раз.
Может быть есть какие-то предложения, няши?
Да, я загуглил, есть такая штука как YARP, но чет оно какое-то сложное, а простые примеры - это статичная прокси для одного маршрута, а нужно, условно, по запросу /api/cam/{id} - посмотреть в базе, проверить права доступа пользователя, ну и если все ок - послать запрос к нужной камере и дальше типа чел с камерой работает.
108f5ed9f6dc6861c448b1888c303148.png208 Кб, 546x357
1746 2326718
Короче.
Есть несколько АйПи-камер.
Что я хочу. Я хочу чтобы они подключались по ВПН к моему серваку, ну а дальше, пользователь входит и в зависимости от прав доступа - смотрит что там на камерах.
Так вот. На текущий момент - я как делаю, я просто храню АйПи, пользователь должен руками настраивать ВПН, на фронте он клацает на камеру, его через ВПН подключает к нужной камере.
Момент с настройкой ВПН мне не нравится. Заеб для пользователя и вообще какая-то хуета, типа тот кто подключился к ВПН - может в обход основного приложения доступ к камерам получать.
Так вот. Что я хочу. Я хочу чтобы ВПН был только между мной и камерами, а пользователь, только после входа в приложении - мог подключиться.
Как я сделал. Я сделал обычный мидлвар, который после проверки прав доступа - просто шлет запрос камере, отдает пользователю.
Ну, собственно, в чем проблема такого решения. В том, что камеры сейчас дюже умные, не только картинку стримят, но и имеют возможность настройки и прочего. В связи с этим возникает хуета, типа у камеры фронтенд - всякие ссылки вида /settings, /dashboard /hui/zaluipa использует, оно соответственно шлется на мой сервак, который таким образом не знает куда роутить маршрут и отдает 404.
Так вот. Как по человечески делать-то такую хуйню? Я пока что придумал только: смотрим куку, если в куке обращались по прокси, считаем что это запрос по прокси и соответственно роутим к последней камере. Думаю в чем проблема тут - ясно, если маршруты совпадают - на сервак мой без чистки кук уже не так просто попасть будет, ну и плюс - если камеры одинаковые - роутить будет к последней подключенной, разве что я буду чистить куки при обращении к новой камере каждый раз.
Может быть есть какие-то предложения, няши?
Да, я загуглил, есть такая штука как YARP, но чет оно какое-то сложное, а простые примеры - это статичная прокси для одного маршрута, а нужно, условно, по запросу /api/cam/{id} - посмотреть в базе, проверить права доступа пользователя, ну и если все ок - послать запрос к нужной камере и дальше типа чел с камерой работает.
1747 2326774
>>326434

>С шарпами и прочими питухонами нам теперь будет туго, это да.


Почему? Что изменилось в применении шарпов за этот месяц?
1748 2327250
Господа. Сегодня зачем то решил обновить студию 22 и вылезло окошко об ошибке, что .нет 4.8 не может обновиться. Пробовал чистить кэш, переставлять заново и студию и лаунчер, но все одно и тоже. Кто нибудь сталкивался с подобным?
Контрактное тестирование 1749 2327389
Аноны, может кто сталкивался с контрактным тестированием, с использованием Pact, и может поделиться годным репозиторием с примерами как для дебилов. Что бы прям пошагово и понятно. Буду очень благодарен.
1750 2327433
Здарова, шарпаны. Помогите, я тупой.
Вот есть у меня асп где

Контроллер
{
Метод(данные)
{
Тут пишем в данные в бд
Вопрос
Как вернуть приславшему данные "Все норм, ок, понял,
принял записал"
А потом тригернуть другой метод (может в другом классе, неважно), который уже на моей стороне спокойно займется чтением и обработкой этих данных в бд
}
}
1751 2327459
>>327433
Запустить сервис аля BackgroundService/IHostedService, где будет входящая очередь (хотя бы Chanel). В нее закинул в очередь и ответил юзеру
1752 2327613
>>327433
Если тебе не принципиально что сначала вернуть, потом - триггернуть, то делаешь простой медиатор, на стороне контроллера - триггеришь, на стороне того кто должен что-то делать - делаешь. Это, что называется - самое простое решение.
Можно и по другому:
Делаешь класс:
TasksQueue,
в нее просто кидаешь лямбду с задачей, которую ты собираешься спокойно выполнять, делаешь обработчик этой очереди, как - сам решишь, вон предложили уже IHostedService. Решение чуть сложнее и нужно исключительно если у тебя нужно как-то ограничивать нагрузку, при этом как человек пользоваться нормальными очередями и лоадбалансерами - ты почему-то не хочешь.
Можешь, как человек - делать Event Driven архитектуру. Твой контроллер - просто передает хендлеру и ждет ответ, хендлер уже кидает кидает события, у события могут быть миллиард обработчиков. Пример хороший - IdentityServer, они вот так как раз и делают.

Короче. Вариантов тьма.
1753 2327617
>>327433
Я бы примерно так сделал...
1754 2327736
>>327459
>>327613
>>327617
Спасибо, няши, попробую
16489056033761.png50 Кб, 553x808
1755 2327774
>>327617
Вообще изначально что-то подобное и планировал с асинк/эвейт, но теперь с новыми советами еще по-другому попробую
Я правильно понимаю, что вот в этом месте вернет id только когда дойдет жо первого await в вызываемых методах? Т.е. после первого await в DoWork в данном случае?
1756 2327810
>>327774

> Я правильно понимаю, что вот в этом месте вернет id только когда дойдет жо первого await


Ну да. Если это критично - можно сделать вот так:
_workTask ??= Task.Run(async () => await DoWork(_stopWorkTokenSource.Token));
Тогда ты еще до входа в метод выйдешь на верх и вернешь Id.
1757 2327851
Как я понимаю, в C# есть 3 типа сущностей: валью тайпы, хранят данные фиксированного размера по месту, классы - хранят ссылку на объект фиксированного размера в куче и строки/массивы - почти как классы, но со своими заморочками, по типу незаданного размера и прочего. Как в эту систему вписывается тип Span<T>?
1758 2327854
>>327851
Для всего выделяется память. Span - унифицированный доступ к куску памяти, где бы она не была выделена.
И нет у строк и массивов никаких заморочек.
1759 2327855
>>327851
Держи просто в голове, что все - это просто память с которой ты работаешь. Велью - могут лежать в куче, а референсы, при определенных условиях - на стеке и сразу же освобождаться.
Никакой магии тут нет на самом деле. Это разделение нужно скорее для семантики, а не сути.
Span<T> - обертка над памятью, раньше бы ты то же самое делал unsafe кодом, но unsafe'а боятся нубы(да и не только нубы, а еще те кто с шарпа-жавы начинал), будто это какая-то черная магия, которая скораптит и они будут долбиться указателями в сраку. Ну, потому придумали оберточку удобную в виде легкой структурки, которая соответственно еще и не нагружает GC.
1760 2327886
>>327854

>И нет у строк и массивов никаких заморочек.


Ну как же нет, когда есть. Т.е. про что там по строкая - я плохо представляю (я смотрю на https://source.dot.net/#System.Private.CoreLib/String.cs,8281103e6f23cb5c и для меня это как эльфийский, насколько же C# отвратный непонятный язык), а вот массивы - я уверен, что они с точки зрения памяти совсем по особому управляются, хранятся и обрабатываются, не как классы.
1761 2327892
>>327855

>Ну, потому придумали оберточку удобную в виде легкой структурки, которая соответственно еще и не нагружает GC.


И вот с организацией этой оболочки мне и непонятно. Т.е. определяется оно через структуру, но там же тоже все как на эльфийском (https://source.dot.net/#System.Private.CoreLib/Span.cs,d2517139cac388e8), и мне вот интересно, это просто хитровыебанная структура, или это магическая структура, по типу как аррей - магический класс, который на уровне clr обрабатывается особым образом, не как все другие классы.
1762 2327981
>>327886

>Т.е. про что там по строкая - я плохо представляю


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

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

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

А вот Span являются магическим. Там есть особенности завязанные на рантайм, поэтому в неткор они работают лучше чем в старом фреймворке, где есть ограничения.
1763 2328173
Аноны, на странице регистрации есть один комбобокс в который я загружаю данные из базы в конструкторе. Есть в страницы OnPost в которой проверяется правильная ли модель и если зарегистрировать пользователя не удалось то добавляются ModelState.AddModelError() и делается return Page(); (а при валидности всех данных идет редирект на страницу входа).
Все ошибки подсвечиваются НО, после этого у меня комбобокс на странице абсолютно пустой, хотя сам конструктор через брейкпоинт срабатывает. Что я делаю не так?
Где блять искать РАБоту? 1764 2328261
Может быть мне кто-то тут поможет...

Короче вводные: Есть вышка по ИТ, сейчас получаю магистра. РАБотаю 9 месяц разработчиком ERP говна (Microsoft AX) на языке, схожим с шарпом. Шарп тоже изучил базу, в ооп могу, но делегаты с интерфейсами и LINQ со списками не умею. До этого РАБотал помощником сисадмина, изучил сети. Есть гит, на нем лежат разработанные тулзы для VS, для разработчиков сделал. Еще на юнити игру написал. Однако не знаю паттернов проектирования и алгоритмов всяких. Английский С1 деревенское есть, и сертификат тоже, но не долбаеба.

Вопрос: где блять искать работу? Хочу со своих 30к перекатиться куда-то в более приемлемое место, хотя бы на 50. Какую сферу деятельности смотреть? Смотрел гейдев, но там нужны онли мидлы, а я себя с трудом джуном назвать могу. Ищу везде: ХХ, Хабр, Линкедин - все по нулям нахуй. Никому не нужен. Руки опускаются конкретно, особенно на фоне моих дногруппников которые якобы нихуя не умеющие вкатываются на 70к в месяц. Что мне делать? Муравью уже хуй приделал, не помогло.
image.png106 Кб, 1826x782
1765 2328363
ПОМОГИТЕ! Что я делаю не так? Как использовать класс из другого файла?
1767 2328406
>>328261

> Что мне делать?


Вот ты главное не злись, не ругайся, ок? Я чисто по брацки посоветую. Иди на завод.
1768 2328407
>>328406
Обидно потраченных сил
1769 2328412
>>328407
Жизнь лотерея. Не всем удаётся ухватить джек-пот взамен на потраченные усилия.

Делай персональные проекты, нарабатывай портфолио. Лет через 5 работы на заводе и писания своих проектов вечерами, наработаешь авторитет и найдёшь работу по специальности.
1770 2328414
>>328412
Дык я сейчас на айти заводе работаю по сути. А то и на айти каторге. После которой сил вообще не остается, а потом учеба. Опять же сил только на одну игру хватило, и на расширения, но не очка. Ну и с учебы пара сайтов есть на пейтоне, но это я даже за проекты не считаю
1771 2328420
>>328414
Как говорил Наполеон: Кто только подумал о поражении, тот уже проиграл.
1772 2328427
>>328261
Забудь про геймдев. Он и до события в РФ был почти что мертв. А сейчас когда все площадки для сбыта огородили, уже не почти.
В твоем случае нужно делать:

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

2) Вариант долбиться в вакансии где дают тестовые. Берешь тестовое и делаешь. Похуй на то укладываешься в указанные сроки или нет. Делаешь, отсылаешь, просишь фидбек. Не получаешь, идешь к знакомому, на форум, к преподу и просишь тоже самое.
1773 2328441
>>328427
2 вариант годный, надо попробовать, а насчет первого, мне говорили что у меня норм резюме (хотя на дваче обсирали конкретно).

Я валился именно на собесе, даже если собес хорошо проходил. За исключением тяжелых где я сам понимал что тупой в основном собесы состояли из примитивнейших вопросов, на которые я отвечал и мне говорили что я молодец. А потом слали на хуй. Или было когда отбор в несколько ступеней, сначала пишут что я успешно прошел этап и со мной свяжутся для следующего а потом тупо игнорили (это я так в МТС проходил). А самое крутое было, когда на вопрос почему меня не взяли, мне сказали "вы уже обладаете высоким уровнем знаний но их к сожалению недостаточно до базового уровня". Понимай как хочешь.
1774 2328444
>>328420
Да, я ловлю себя на мысли что у меня выученная беспомощность. Но сука, а как ей не быть если все вот так?

Эх, если бы блять была работа где бы мне платили за мое нытье... Я бы заработал миллионы а потом уволился потому что причин для нытья нет, пошел бы к психологу или психиатру, вылечился бы и начал бы нормальную в моем понимании жизнь с нового листа. Если б да кабы...
1775 2328471
>>328441

>вариант годный, надо попробовать,


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

>а насчет первого, мне говорили что у меня норм резюме (хотя на дваче обсирали конкретно).


Я вот тоже так когда-то думал и не понимал почему мне никто не отвечает. Потом одна опытная херочка (из тех которые только 500К наносеков хантят) подсказала что и как у меня неправильно и заставила переписать, хотя я и сильно сопротивлялся, думая что это полная херня. И мне неожиданно сами начали названивать и приглашать на собесы.

>>328441

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



Нормальный собес должен по времени распределяться где-то так. 40% времени ты отвечаешь на вопросы. 40% времени это попизделки о твоем предыдущем опыте, и 20% презентация для тебя фирмы в которую ты устраиваешься. Если у тебя на ответы на вопросы уходит 80% времени, то это плохо. Ответы на вопросы не должны быть тупо по учебнику. "Что такое x? - x это 'определение' " - плохой ответ.
Нормальный ответ: "Что такое x? Да знаю, это то-то и то-то, я вот такую штуку делал и мне x там очень пригодился, а вот в другом случае я вместо него y применил и вообще обалдел"

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

Алсо, насчет контор типа МТС и прочих подобных больших шарашек. Там часто собесами просто штаны протирают, чтобы массу просеять и ходить на них стоит только ради опыта прохождения собесов. Лучше искать конторы поменьше, человек на 100...200. Там может и не по верху рынка платят, но вполне приемлимо. И новичкам больше рады.
1775 2328471
>>328441

>вариант годный, надо попробовать,


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

>а насчет первого, мне говорили что у меня норм резюме (хотя на дваче обсирали конкретно).


Я вот тоже так когда-то думал и не понимал почему мне никто не отвечает. Потом одна опытная херочка (из тех которые только 500К наносеков хантят) подсказала что и как у меня неправильно и заставила переписать, хотя я и сильно сопротивлялся, думая что это полная херня. И мне неожиданно сами начали названивать и приглашать на собесы.

>>328441

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



Нормальный собес должен по времени распределяться где-то так. 40% времени ты отвечаешь на вопросы. 40% времени это попизделки о твоем предыдущем опыте, и 20% презентация для тебя фирмы в которую ты устраиваешься. Если у тебя на ответы на вопросы уходит 80% времени, то это плохо. Ответы на вопросы не должны быть тупо по учебнику. "Что такое x? - x это 'определение' " - плохой ответ.
Нормальный ответ: "Что такое x? Да знаю, это то-то и то-то, я вот такую штуку делал и мне x там очень пригодился, а вот в другом случае я вместо него y применил и вообще обалдел"

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

Алсо, насчет контор типа МТС и прочих подобных больших шарашек. Там часто собесами просто штаны протирают, чтобы массу просеять и ходить на них стоит только ради опыта прохождения собесов. Лучше искать конторы поменьше, человек на 100...200. Там может и не по верху рынка платят, но вполне приемлимо. И новичкам больше рады.
1776 2328529
>>328471
Понял, спасибо больше за помощь
1777 2328559
>>325995

> //exception


А если:
string what = "Asd";
var result = Enum.TryParse(what) ? Enum.Parse(what) : Enum.YourDefaultConstant;
Какой вектор развития выбрать? 1778 2328662
Изучил шарпы, могу всякую хуйню делать, куда развиваться? Какие сферы можно рассмотреть? Может идей для пет проектов дадите? Заранее спасибо
1779 2328905
Как из waitHandle слепить CancellationToken?
Есть способ навесить на waitHandle какой нибудь обработчик события что бы он дергал токен?
1780 2328923
>>328662

> идей для пет проектов дадите?


Народу не хватает визуального (WYSIWYG) дизайнера форм. Чтобы он отдельно запускался. Чтобы конфигрурировался под разные форматы: xaml, axaml, xeto, jeto. Чтобы мог из одного в другой формат формочки конвертировать, открывать, сохранять.
Цены бы тебе не было, если б ты такой дизайнер запилил.
Представь себе, есть например, софт на WPF и разраб хочет поставить его на кроссплатформенные рельсы. От осознания что весь ворох форм ему придётся заново дизайнить в другом UI-тулките он приходит в ужос! И тут появляешься ты, спаситель, со своим многоформатным дизайнером форм!
1781 2328948
>>328905
Так а проблема то в чем навесить?
1782 2329038
Смотрите. Ef core с пятой версии может many-to-many сам в бд в три таблицы превращать (без дополнительного указания в коде промежуточной сущности). И в коде собственно без проблем делаю муди = хуй.инклюд(х=>х.яйца). Но доступ к яйцам тогда получается только через for/foreach.

А можно ли без промежуточной сущности в коде тогда получить аналог хуй.join(ХуйЯйца).Join(Яйца)? Или как бы сахар сахаром, а как что-то сложнее - делай третью сущность?
image.png255 Кб, 1200x628
1783 2329047
>>328923
А чего нибудь такого чтобы сразу нахуй не выгореть есть?
1784 2329082
>>328662
Там говорят новый UUID придумали. Сделаешь хороший генератор - будешь молодец.
1785 2329090
>>328948
А как? У WaitHandle только методы ожидания есть, а надо что бы когда он засигналит мой обрабочик отработал где бы я токен отменил.
1786 2329122
>>329047
Калькулятор.
1787 2329155
>>329090
ну напиш код где после Wait заканселишь нужный токе и этот код в пул потоков. Ну заблокируешь один поток из пула если свой не создашь. Не хочешь блокировать - юзай асинк WaitHandle
1788 2329156
>>329090
вот тебе пример
https://stackoverflow.com/questions/13741694/construct-task-from-waithandle-wait

чудь подправь и будет тебе на выходе токен вместо таски
1789 2329174
Я правильно понимаю, что у C# нет будущего? Посудите сами:

1. Половина интернета работает на php, и переписывать ее никто не собирается, а если и собирается - то частями, на более новый php

2. На .Net практически нет готовых решений. CMS, движки для блогов, шаблоны лендингов, форумов, да чего угодно - на том же js миллионы решений, разворачивающихся из коробки одной командой и делающие что надо. А на дотнете - а нет нифига на дотнете, какой-нибудь облезший e-commerce, да и только.

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

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

5. Даже если производительность важна - .net все равно сосет. Ведь есть go, который можно выучить и встроить в cicd пайплайн быстрее, чем прочитать про весь синтаксический сахар, добавленный в последней версии C#, и при этом go еще прямо из коробки, с дефолтными настройками и интуитивно написанным кодом, давит стрелку в пол. Да, asp.net тоже может уложить стрелку, но тебе для этого придется обмазаться конфигами, пулами, спанами и прочим аллокейшн-фри кодом.

6. Фронт все равно на JS. Майки могут сколько угодно рассказывать про блейзор, но у него нет будущего, никто никогда не будет учить xml и не будет встраивать нативную поддержку блейзора в браузеры. Т.е. все это будет медленно, криво и некрасиво. А если все равно учить js - то зачем платить больше (и тратить время на C#)?

7. Перспектив роста нет. Рост ведь зависит от того, куда течет новая кровь, на каком языке кодят - тот и растет. Вот только по данному параметру C# тоже глубоко сосет у JS. JS уже установлен в любом браузере, нюфагу даже делать ничего не нужно, чтобы получить доступ к среде выполнения, можно прямо в браузере код писать и радоваться, что что-то происходит. VS Code позволяет полноценно программировать на js. У шарпа же все очень плохо. Вс-кодом пользоваться попросту невозмо, это адская боль. Никаких платных райдеров новичок покупать не будет. Остается только огромная, гигантская студия, занимающая 50 гигабайт. Новые пользователи отсеиваются уже на этапе решения какой язык попробовать.

8. Язык превратился в срань. Когда-то C# был хорошим, приятным языком. Но теперь это уже не так. За эти годы в него добавили не только прекрасные линкью, кортежи и свитч экспрешены, но и адские кучи адского говнища, при этом оставив старое для обеспечения обратной совместимости. Теперь код на c# выгляди как франкенштейн из разных стилей, одну и ту же задачу можно решить десятком разных внешне непохожих способов, нет единообразия, нет простого понятного синтаксиса. C# скатывается уже даже не к C++, он скатывается к брейнфаку.

9. На нем нет работы. Никому C# не нужен. Да, если ты синьор - ты не пропадешь. Но даже знакомые миддлы испытывают проблемы при трудоустройстве, на интервью буквально издеваются, требуя наизусть цитировать Священное Писание (Рихтера) об аллокации памяти. Причем надо ответить именно как написано у Рихтера, а не как оно работает сейчас, включая те версии, на знание которых тебя собеседуют. Что уж говорить про войтивайтишников. На каждую вакансию - по 3 тысячи кандидатов, вас по js и фронтенду будут дрочить больше, чем на собеседовании на позицию js-фронтендера.

Короче, вы как хотите, а я выкатываюсь из C#. До конца неделю подтяну базу по ноде и реакту, и буду рассылать резюме на жс-ера. Нужно спрыгивать с поезда, пока он еще не слетел в обрыв.
1789 2329174
Я правильно понимаю, что у C# нет будущего? Посудите сами:

1. Половина интернета работает на php, и переписывать ее никто не собирается, а если и собирается - то частями, на более новый php

2. На .Net практически нет готовых решений. CMS, движки для блогов, шаблоны лендингов, форумов, да чего угодно - на том же js миллионы решений, разворачивающихся из коробки одной командой и делающие что надо. А на дотнете - а нет нифига на дотнете, какой-нибудь облезший e-commerce, да и только.

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

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

5. Даже если производительность важна - .net все равно сосет. Ведь есть go, который можно выучить и встроить в cicd пайплайн быстрее, чем прочитать про весь синтаксический сахар, добавленный в последней версии C#, и при этом go еще прямо из коробки, с дефолтными настройками и интуитивно написанным кодом, давит стрелку в пол. Да, asp.net тоже может уложить стрелку, но тебе для этого придется обмазаться конфигами, пулами, спанами и прочим аллокейшн-фри кодом.

6. Фронт все равно на JS. Майки могут сколько угодно рассказывать про блейзор, но у него нет будущего, никто никогда не будет учить xml и не будет встраивать нативную поддержку блейзора в браузеры. Т.е. все это будет медленно, криво и некрасиво. А если все равно учить js - то зачем платить больше (и тратить время на C#)?

7. Перспектив роста нет. Рост ведь зависит от того, куда течет новая кровь, на каком языке кодят - тот и растет. Вот только по данному параметру C# тоже глубоко сосет у JS. JS уже установлен в любом браузере, нюфагу даже делать ничего не нужно, чтобы получить доступ к среде выполнения, можно прямо в браузере код писать и радоваться, что что-то происходит. VS Code позволяет полноценно программировать на js. У шарпа же все очень плохо. Вс-кодом пользоваться попросту невозмо, это адская боль. Никаких платных райдеров новичок покупать не будет. Остается только огромная, гигантская студия, занимающая 50 гигабайт. Новые пользователи отсеиваются уже на этапе решения какой язык попробовать.

8. Язык превратился в срань. Когда-то C# был хорошим, приятным языком. Но теперь это уже не так. За эти годы в него добавили не только прекрасные линкью, кортежи и свитч экспрешены, но и адские кучи адского говнища, при этом оставив старое для обеспечения обратной совместимости. Теперь код на c# выгляди как франкенштейн из разных стилей, одну и ту же задачу можно решить десятком разных внешне непохожих способов, нет единообразия, нет простого понятного синтаксиса. C# скатывается уже даже не к C++, он скатывается к брейнфаку.

9. На нем нет работы. Никому C# не нужен. Да, если ты синьор - ты не пропадешь. Но даже знакомые миддлы испытывают проблемы при трудоустройстве, на интервью буквально издеваются, требуя наизусть цитировать Священное Писание (Рихтера) об аллокации памяти. Причем надо ответить именно как написано у Рихтера, а не как оно работает сейчас, включая те версии, на знание которых тебя собеседуют. Что уж говорить про войтивайтишников. На каждую вакансию - по 3 тысячи кандидатов, вас по js и фронтенду будут дрочить больше, чем на собеседовании на позицию js-фронтендера.

Короче, вы как хотите, а я выкатываюсь из C#. До конца неделю подтяну базу по ноде и реакту, и буду рассылать резюме на жс-ера. Нужно спрыгивать с поезда, пока он еще не слетел в обрыв.
1790 2329181
>>329174
зачем вообще с этим бредом в тред заходить? чтобы напихали по самое?
1791 2329185
>>329174
Могу только сказать, что монополия JS это худшее, что случилось в айти за последние десятилетия.
Пункт 8 согласен.
1792 2329191
>>329174

>можно решить десятком разных внешне непохожих способов,


и что? даже в питоне, который типа идеал единообразия - та же самая картина

>но и адские кучи адского говнища


ну из говнища там разве что топ левел маин и следствие от него. лютая ненавистная дичь. Что еще?
в остальном шарп страдает что не добавляют нужного в угоду чем то бесполезному
1793 2329215
>>329174
Мне похуй, мне просто C# нравится. PHP и JS я пробовал и даже делал небольшие проекты и больше на них не вернусь, это реально конченная срань.

>любая задача решается подключением библиотеки


Из личного опыта - либы на жиес часто забрасываются и депрекейтятся, из-за чего и сборщик орет матом, и гвард гитхаба тоже орет матом что там в либах критикал вулнерабилитиес. npm это похоже реально русская рулетка в которую нужно играть постоянно.
1794 2329217
>>329155
Легаси клиента не хочется трогать.

>>329156
Cпс, хоть и сложновато но походу другого пути нет.
1795 2329238
>>329122
Да я уже игру разработать успел, надо что-то чуть потяжелее но не пиздец какое тяжелое
1796 2329240
>>329082
Поподробнее можно?
1797 2329254
Есть лист элементов с определённым набором полей. Как можно динамически переопределить в нём некоторые поля у элементов?
1798 2329255
>>329254
А пример можно?
1799 2329261
>>329255
Например так обычно делает переопределение
var List = List.Select(item=>
{
item.field1= 1;
item.field2= 2;
item.field3= 3;
return item;
}).ToList();
А я не знаю, какие field мне могут понадобиться и должен как-то на лету их подставить.
1800 2329263
>>329261
Так может требуемые поля как то в массив вкидывать а потом циклом их подставлять для вызова?
1801 2329272
>>329263
Как? У меня была какая-то похожая идея, но как по мне это хуйня. Потому что нужно именно оригинальный лист нужно переопределить, ибо он привязан к интерфейсу и обновлённые данные должны там отобразиться, а если просто на основе его что-то там собрать, то толку не будет
1802 2329273
>>329272
Блин, тогда не знаю... Не сеньор и не мидл
1803 2329287
>>329261
и что с этим решением не так? То, что изменяет оригинальные item? ну делай клоны. Ну или использовать recod .. with - где те же клоны за тебя пишет компилятор
1804 2329289
>>329287

>и что с этим решением не так?


То, что я не знаю заранее ни какие филды мне надо будет переопределить, ни их количество. Инфа об это приходит из другого метода в виде строк
1805 2329295
>>329240

>Встречайте UUID нового поколения для ключей высоконагруженных систем


https://habr.com/ru/post/658855/
1806 2329299
>>329289
Ну значит использовать кодогенерацию. Сделать какой нибудь PropertySetter у которого вызывать propSetter.Set(item, 'PropName', value)
Конечно будет боксинг, но работать будет
1807 2329377
>>329299
Попробую, хотя по времени это пиздец будет, скорее всего
1808 2329431
>>329238

> игру разработать успел


Показывай.

> надо что-то чуть потяжелее но не пиздец какое тяжелое


Инженерный калькулятор с простыми дробями, графиками функций и т.д.
1809 2329440
>>329431
А что можно такого сделать, чтобы на собеседовании потом не косились с видом "Ты зачем это делал? Ты что, идиот?".
1810 2329478
>>329431
https://github.com/OUTS1D3R047/Pong

Код говнище из жопы, буду рефакторить, но игра работает
1811 2329548
>>329440

> чтобы на собеседовании потом не косились с видом "Ты зачем это делал? Ты что, идиот?"


Без обид анон, но если ты уже так думаешь, то скорее всего на тебя уже косятся, ЧТО БЫ ТЫ НИ ДЕЛАЛ.
1812 2329657
>>329478

>I did not leave any comments because the code is not hard to understand.


Перевод: "Я ленивая жопа. Мне насрать на тех с кем мне придется работать."

>I have some gaps in my knowledge of GitHub to avoid storing junk files :c


Перевод: "Я еще более ленивая жопа, т.к. мне лень потратить 5 минут, чтобы разобраться с базовым функционалом"
1813 2329723
>>329377
Да там ничего сложного. Прочитал тип, получил все свойства и для каждого создал setter_writer любым удобным способом - кодоген через expression/emit или вообще без онных - используя virtual/override механизм. Полученные врайтеры в словарик и юзать этот словарик.
Если допускать боксинг, то изи, а вот без него...а оно надо такой гемор?!
1814 2329742
>>329657

>я ленивая жопа


Да, все так. Хотя там реально интуитивно понятно

>насрать на тех с кем предстоит работать


Мне не с кем работать. А на своей работе я комменты оставляю
1815 2329763
>>329377
Вот например наивная реализация без кодогена
https://pastebin.com/Jj4esAFD

с кодогеном примерно так же - море всего (so примеры или куча готовых либ) что позволяет сгенерить из геттера сеттера метод ридер врайтер - через Expressions/emit и точно так же держать в словарике
image.png13 Кб, 1089x99
1816 2330200
Как это вообще возможно?
1817 2330218
>>330200
Нихуя не понимаю, что тебе нужно? Этот тег так и работает
1818 2330237
>>330218
??????????????????
чего?
ну хорошо, а где именно тогда хранится вот то самое текущее состояние, как его изменить?
1819 2330248
>>330237
Я вообще не понимаю, что тебе нужно и при чем тут HTML в си шарп треде?
1820 2330367
)
1821 2330409
Сап, аноны, недавно первый раз прорешал тестовое задание на стажировку, прошёл этап, дальше намечается техническое собеседование. О чём могут на нём спрашивать? В самом тестовом были задачи более-менее прикладного характера из разряда реализации префиксного дерева, обработки огромного файла и подобия написания микросервиса.

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

Ещё подозреваю, что могут задать вопросы конкретно по шарпам, к каким есть смысл готовиться? Попросят ли пояснить разницу между ref и out или интерфейсом и абстрактным классом, как это пишут во многих "топ-146 вопросов по C# к собеседованию"?

Могут ли дать какой-нибудь лайвкодинг, учитывая, что тестовое вроде как уже написал? А ещё, что делать, если понимаешь, что не знаешь ответа и обосрался или что-то около того?
1822 2330433
>>330409
Не парься, тебя не возьмут
1823 2330454
>>330409

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


Покупаешь C# 8.0 Pocket Reference (Joseph Albahari и Ben Albahari) (есть на русском, можно для 9-й версии, в зависимости от того что учил)
Часа за 3...4 до собеса пролистываешь ее, там вся база максимально ужато и понятно, для быстрого обновления знаний.
Еще так же накати перед собесом несколкьо первых глав из "Грокаем Алгоритмы", там где O-нотация разжевывается и базовые сложности.
Если собес онлайн, то держи их при себе как шпаргалки.

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

>Попросят ли пояснить разницу между ref и out


Обязательно, кое-где еще и про in спросят.

>или интерфейсом и абстрактным классом


Тоже обязательно. Плюс спросят возможно ли в шарпе множественное наследование. И для справки - интерфейсы реализуются. Скажешь, что они наследуются - обоссут.
Еще обязательно спросят про коллекции (словарь и лист)
Про GC сейчас часто спрашивают. Сколько поколений, как работает, что есть LOH и SOH.
Про делегаты еще спрашивают, но вяло.
Про асинхронщину обязательно спросят.
Стек, куча, упаковка-распаковка. Референс и вэлью тайпы и т.д.
Вобщем читай албахари, там все есть.

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


Сейчас что-то серьезное лайвкодить на собесах не дают, кроме самых отбитых. Обычно дают простенькие задачки вроде:
1) Простой пример когда асинхронный метод вызывается из неасинхронного. Что произойдет и в каком порядке буковки выведутся в консоль. Как исправить, чтобы вывелись в нужном порядке (вставить aync Task и await в нужных местах)
2) Составить какой-нибудь не сильно навороченный sql-запрос с парой джойнов и условий.
3) Покажут кусок говнокода и спросят твое мнение о нем. Все ли тебе нравится в нем и не хочешь ли ты там, что-нибудь поменять. Тут просто хуяришь по заветам дяди Боба, насколько фантазии хватит. Сможешь к этом хотя бы S из солида приплести уже хорошо будет.

Еще хорошо будет если вопросы твои ответы будут перекликаться с твоим опытом, с тем же тестовым заданием. Спросят тебя например про интерфейсы, ты не просто рассказываешь, что это. А при случае вворачиваешь "А вот в тестовом которое я для вас делал, я их применял вот так и так". Чтобы было понятно, что ты "не просто знаешь как хер в руках держать, но и пристроить его куда нужно умеешь"
1823 2330454
>>330409

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


Покупаешь C# 8.0 Pocket Reference (Joseph Albahari и Ben Albahari) (есть на русском, можно для 9-й версии, в зависимости от того что учил)
Часа за 3...4 до собеса пролистываешь ее, там вся база максимально ужато и понятно, для быстрого обновления знаний.
Еще так же накати перед собесом несколкьо первых глав из "Грокаем Алгоритмы", там где O-нотация разжевывается и базовые сложности.
Если собес онлайн, то держи их при себе как шпаргалки.

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

>Попросят ли пояснить разницу между ref и out


Обязательно, кое-где еще и про in спросят.

>или интерфейсом и абстрактным классом


Тоже обязательно. Плюс спросят возможно ли в шарпе множественное наследование. И для справки - интерфейсы реализуются. Скажешь, что они наследуются - обоссут.
Еще обязательно спросят про коллекции (словарь и лист)
Про GC сейчас часто спрашивают. Сколько поколений, как работает, что есть LOH и SOH.
Про делегаты еще спрашивают, но вяло.
Про асинхронщину обязательно спросят.
Стек, куча, упаковка-распаковка. Референс и вэлью тайпы и т.д.
Вобщем читай албахари, там все есть.

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


Сейчас что-то серьезное лайвкодить на собесах не дают, кроме самых отбитых. Обычно дают простенькие задачки вроде:
1) Простой пример когда асинхронный метод вызывается из неасинхронного. Что произойдет и в каком порядке буковки выведутся в консоль. Как исправить, чтобы вывелись в нужном порядке (вставить aync Task и await в нужных местах)
2) Составить какой-нибудь не сильно навороченный sql-запрос с парой джойнов и условий.
3) Покажут кусок говнокода и спросят твое мнение о нем. Все ли тебе нравится в нем и не хочешь ли ты там, что-нибудь поменять. Тут просто хуяришь по заветам дяди Боба, насколько фантазии хватит. Сможешь к этом хотя бы S из солида приплести уже хорошо будет.

Еще хорошо будет если вопросы твои ответы будут перекликаться с твоим опытом, с тем же тестовым заданием. Спросят тебя например про интерфейсы, ты не просто рассказываешь, что это. А при случае вворачиваешь "А вот в тестовом которое я для вас делал, я их применял вот так и так". Чтобы было понятно, что ты "не просто знаешь как хер в руках держать, но и пристроить его куда нужно умеешь"
1824 2330504
>>330454
Спасибо, анон! Албахари наворачиваю тоже, в том числе сейчас. Хотел ещё уточнить по поводу линка, часто ли по нему спрашивают что-то, если да, то на примерно каком уровне? В последнее время много его вижу в чужом коде, по видимому довольно популярный.
1825 2330585
>>330504
Linq - это тема. Офигенно удобная штука. Если хоть каким-то образом работаешь с данными (коллекции, БД и т.д.) то без этого ты в работе не обойдешься. Он сейчас практически везде.
Но что удивительно, на собесах его не сильно дрючат. В основном спрашивают за базовые методы (Where, Select, FirstOrDefault (и в чем его отличие от простого First), Any).
В контексте Linq могут спросить про отличие от IEnumerable и IQueryable. И про отложенное и немедленное.
1826 2330590
>>330409
Тебя ещё за дефолтные интерфейсы могут спросить. IEnumerable, IQueryable, IDisposable. Туда же копирование, сравнение. Что-нибудь про yield. Про линк: select, where, orderby, aggregate и тд. Могут просто кинуть код с линком и попросить запрос оптимизировать. Про рефлексию могут спросить. Что-нибудь про using, во что превращается и зачем нужна. Также за string vs StringBuilder. Что под капотом у билдера, плюсы/минусы, кейсы использования.
Это что касается самого шарпа без привязки к фреймворкам.
1827 2330609
>>330590

>Про рефлексию могут спросить.


Это уж совсем редкость. Такое уже спрашивают либо если видят, что кандидат сильный и дохуя знает, либо чтобы просто доебаться.
С рефлексией вообще все стараются по минимуму дела иметь, только если это не спец проект какой-нибудь вроде какой-нибудь ERP c кодогенерацией структуры БД на лету или хитрой системы плагинов. Но новичков к таким делам обычно не подпускают, т.к. там не умея легко хуйни наделать.
1828 2330761
>>330248
Чел, КАК ЭТО В ПРИЧНИПЕ ВОЗМОЖНО что бы внутри елемента было одно, а браузер показывал вообще другое, КАК? вот там слово TEST ОТКУДА оно взялось если не с хтмл? ГДЕ ОНО? как его посмотреть или найти, где оно?

в с# треде потому что это происходит в блазоре
1829 2331620
Чем можно читать XLS из excel в net core 6? Именно XLS, а не XLSX

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

Как сделать по нормальному?

(вообще почему такая жопа в net core с ms office? Реально все через жопу, либо вообще никак)
1830 2331624
>>331620
Не рассматривай мой ответ всерьёз, подожди других анонов, но я с дивана вижу только вариант через неуправляемый код, через дидову автоматизацию открыть ексель-объект, в нём открыть документ и делать свои дела.
1831 2331789
>>330454

>И для справки - интерфейсы реализуются. Скажешь, что они наследуются - обоссут.



interface IHeroOFCSharp : IDvacher
{ }
interface IDvacher { }

поссал сверху
1832 2332118
Аноны, я себя умственно-отсталым чувствую. Год писал разные небольшие десктоп программы на Delphi, когда вкатывался в программирование. Сейчас решил ASP.Net Core изучать, работу всё-таки надо искать. И что-то пиздец как трудно даже начало даётся…
Суть я уловил, контроллеры, гет делит апдейт итд. Но когда пытаюсь решить задачи постоянно спотыкаюсь. Как будто изучил недостаточно.
Можете посоветовать что-нибудь почитать по микросервисам на webAPI? Я уже думаю блять ментора нанимать, только хз где его искать…

Нет, конечно я бы наверное мог пойти работать на десктоп разработку, деньги меня не сильно волнуют. Но хочется развиваться в профессии, а не сидеть в зоне комфорта
1649436463450.png210 Кб, 608x352
1833 2332122
>>332118

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


> решил ASP.Net Core изучать


В нете конкуренция охуевшая. Макаки-крудошлёпы тебя сожрут, блять.
1834 2332126
>>332122
Да сейчас везде конкуренция ахуевшая
1835 2332136
>>332126
Не в тему треда, но я щас щупаю движок Django, нраица, но это питон.
1836 2332219
>>331789
Контекст был "класс <-> интерфейс".
1837 2332224
>>332118

>посоветовать что-нибудь почитать


"ASP.NET Corr in action". Русек в наличии.
1838 2332225
>>332224
Core конечно же. Очепятался.
1839 2332251
>>332224
а про Адама Фримана что скажешь ?
1840 2332252
>>330454

>Сколько поколений, как работает, что есть LOH и SOH


POH забыл
пт.png4 Кб, 488x261
1841 2332268
Шарпаны, может вы знаете. Где-нибудь на просторах интернетов можно найти какие-нибудь сборники отдельных кадров ascii анимаций в виде символов для копипаста в консоль. Вот эта птичка чуть ли не единственное, что удалось найти. Тонны блядь ебучих гифок без исходного текста фреймов, килограммы гайдов как запилить свой собственный конвертер, и на все это одна сука птичка при этом
1842 2332279
>>332268
https://www.qqpr.com/
Вот здесь например, можешь из жс файлов кадры как раз вытащить. Они правда с хтмл тэгами
1843 2332381
>>332252
Он только в 5-м .net-е появился. Про него еще не все знают.
1844 2332395
Аноны, как можно два list с разными классами объединить в один list с классом-DTO.

У меня есть рабочий linq запрос, возвращающий список со агрегатными функциями сгруппированными по времени, создающий DTO через select new DTO(){}. Сейчас количество полей в DTO увеличилось, так как надо передавать данные ещё с другого запроса...
Но как оба запроса объединить в один класс?
1845 2332431
Создаём класс A с методом B, возвращающим byte[]

И так.

int c = A.B().Lenght

byte[] d = A.B()

int e = d.Lenght

Что вернет c==d?
1846 2332448
>>332431
шта?
1847 2332489
>>332395
выборка из нескольких источников?
1848 2332509
>>332489
Выборка из одной таблицы, но с разными условиями (отрицательные и положительные числа)
1849 2332570
>>332431
Вернет ошибку что такой код нельзя скомпилировать ведь c - int, а d - byte[]
1850 2332591
>>332570
Да, мой косяк. Я про c==e хотел спросить?
1851 2332618
>>332591
вернет true
1852 2332621
>>332618
Уверен?
image.png21 Кб, 650x436
1853 2332625
1854 2332626
Ребят, как на Azure портале зарегаться? Чет карту не принимает. А без карты нельзя, даже к бесплатным сервисам нет доступа.
1855 2332628
>>332625
Static же
1856 2332629
>>332626
Если ты из рф - никак. Виза и мастеркард не работают и оплатить ты соответственно тоже не можешь
>>332628
Причем тут статик? Ты вообще C# знаешь?
1857 2332638
>>332395
Никто не подскажет?
1858 2332805
>>332629

>Причем тут статик? Ты вообще C# знаешь?


Потому что у меня был не статический класс, и я хочу понять, что за херня там случилось.
1859 2332813
>>332638
объедини два запроса в 1
1860 2332815
>>332813
Проблема не в union. а в том, как передать из двух запросов создать список с объектом, в котором содержатся значения из обоих запросов.
1861 2332816
Почему в c# есть удобные свойства которые одинаково задаются в одну строчку, а в яве ты постоянно должен писать get set методы где ещё и можно ошибиться с названием, ещё и занимает лишнее место?

Если хочешь пользоваться линуксом, под него есть только две бесплатные флагманские ide это idea и pycharm, то есть выбор ограничен всего двумя языками, когда на винде кроме этих ещё и есть visual studio поддерживающий кучу языков и более удобный. Но он не совсем бесплатный, а от jetbrains вообще свободный исходный код.
1862 2332818
>>332816
Короче, может ли visual studio code полностью заменить легаси visual studio? Или всегда на него нужно ставить миллион плагинов? А как насчёт kotlin и idea? А может jetbrains fleet станет новым стандартом?
1863 2332821
>>332816
насчёт сокращения записи свойств, посмотри для джавы либу lombok, особенно её аннотации @getter, @setter, @data и тд
1864 2332858
>>332816
Вот как раз для джавы нет проблем с иде: хочешь идею, хочешь эклипс, хочешь нетбинс и все кроссплатформенные. А на сишарпе всё ограничено виндой с её вижлой.
1865 2332862
>>332805
Да без разницы, это ни на что не влияет кроме того, что метод можешь вызвать без создания объекта а напрямую из класса
Без имени.png144 Кб, 1280x1026
1866 2332975
Шаблон "ASP.NET core Api". Собственно вопрос: а где Startup.cs?
1867 2332985
>>332975
Так его же в последнем Net убрали.
1868 2332987
>>332985
Уже понял. Но спасибо за ответ. Осталось разобраться как теперь жить без него.
1869 2333011
>>332975
>>332985
Никуда его не убирали. Если написать всё ручками и запустить - всё будет работать. Это просто новый синтаксис
1870 2333043
>>333011
Это не новый синтаксис, это новый пайплайн, типа всю настройку производим внутри верхнего уровня. Плюс там небольшие улучшения работы с конфигурациями.
>>332975
Использовать Sturtup - можно как и раньше, если есть желание, просто перенеси конфигурирование сервисов и мидлвара туды.
В текущем виде - есть свои плюшки, типа ты можешь довольно просто без лишних телодвижений намутить нужные тебе мидлвари, проинициализировать все как надо в нужном порядке и вообще.
1871 2333462
Удивительно, но получилось объединит агрегатные функции Linq с рефлексией.
1872 2333529
А что если микрософт отключат в РФ шарп? Есть какие-нибудь варианты защититься от отключения? Может есть пиратские сборки дотнет, которые не управляются микрософт?
1873 2333568
>>333529
Что значит отключат от шарпа? Ну, будем нюгетами через фидонет обмениваться, щито поделать
1874 2333586
>>333568
Я боюсь, что за зря выучу шарп, а окажется, что шарписты никому не нужны.
1875 2333588
>>271496
Почему ему не стыдно?
1876 2333654
Вот в винде сборка - это ехешник или dll-файл. А что из себя представляет сборка в других ОС? В линупсе, к примеру?
image.png400 Кб, 610x666
1877 2333674
BLAZOR
Анон, мне очень нужно имплементировать скачивание большого файла (10-20 гб) с сервера

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

КАК ЭТО СДЕЛАТЬ! мне ведь как-то нужно записать первый чанк на диск, потом когда прийдёт второй чанк указать что надо дописать биты в тот файл... легко записывать файфлы по стороне сервера, как записывать большые файлы по стороне клиента?
1878 2333678
>>333586
В твоем случае лучше бояться, что ты ничего не выучишь и итак будешь никому не нужен.
1879 2333679
>>333586
В твоем случае лучше бояться, что ты ничего не выучишь и итак будешь никому не нужен.
image.png151 Кб, 1293x523
1880 2333740
>>333674
Позвольте уточнить,
на прикриле пример, скачивается файл 13 гб уже скачано более 3, при этом это очевидно больше чем занимает озу хром.
КАК ОН ЭТО ДЕЛАЕТ?
Очевидно что он открывает какой-то поток с сервера к клиенту и пишет с сервера прямо в файл, КАК?
Когда я пытаюсь скачать файл он сначала буфферизируется в озу, а только потом пишеться на диск.

Как это фиксить, что читать? Где искать?
1881 2333749
>>333740
Ничего не понять. Открываешь файл и пиши в него данные по мере поступления.

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


с чего вдруг. он пишется в темп файл и в конце переименовывается/переносится
1882 2333752
>>333749
Какой файл открыть? у тебя на клиентене же нет таких прав создавать и открывать файл какой захочешь.
Разве нет?
и Что значит по мере поступления?
1883 2333766
>>333752
уппс. не увидел про блазор. Ну такой файл может скачать только браузер. Хитромудрости, что пытаются юзать на жс (а у блазора по идее те же ограничения), больше 4гб не смогут
1884 2333769
>>333674
Скачай локально средствами браузера и открывай клиентом
1885 2333770
>>333769
Локально тоесть в память? мой вопрос именно в том как это обойти, потому что загружать в память возможно по 10-20 гигов я не могу себе позволить
1886 2333775
Когда планируется перекат?
1887 2333781
Кто-нибудь нашёл способ ломануть Rider?
1888 2333796
Как вернуть старые стартовые шаблоны проектов с полным описанием класса и метода Main, вместо новых укороченных?
1889 2333883
Как добавлять дополнительные ссылки на сборки для .Net Core в Visual Studio 2022?
1890 2333940
Как сделать валидацию на стороне сервера с razor pages? Пока я делаю просто через blazor, viewdata и js, а я хочу вернуть view (или просто добавить на страницы ошибки валидации) на пост как в контроллере, только если я возвращаю page я возвращаю модалку у которой на работает код в модели (cshtml.cs).
1891 2334031
>>333796

>Как вернуть старые стартовые шаблоны проектов с полным описанием класса и метода Main, вместо новых укороченных?



Создаешь приложение под .net5

Потом в настройках изменяешь
<TargetFramework>net5.0</TargetFramework>
на
<TargetFramework>net6.0</TargetFramework>.
1893 2334125
>>334031
>>334032
Что за бредовые костыли? Пиздец конечно Майкрософт
1895 2334348
>>332431
Какой-то ебанутый вопрос. Очевидно что зависит от реализации B.
1896 2334761
>>332224
Больше спасибо, анон
1897 2336719
>>333674
Делай как человек:
Запрос: размер чанка - порядковый номер - хеш. Ответ - в случае если это первый кусок либо хеш в порядке - новый кусок с порядковым номером, куском и данных, в случае если шех не совпадает с тем что ты рассчитал для предыдущего куска - ошибка с номером предыдущего куска.
Не клиенте - создаешь временный файл в котором в метадату пишьешь номер последнего удачного куска. Когда все скачается - удаляешь метаданные.
Собственно все. СигналР тут не особо нужен, плюс - появляется возможность продолжить скачивание хоть через месяц.
1898 2336847
>>333586
Поздно боишься, уже произошло. Вкатиться в шарпы сейчас нереально. Учи ноду, если хочешь прогером стать.
1899 2363386
>>336847
Ну охуеть. Шарпы ему поздно, а ноду не поздно И с хуя ли поздно стало шарпы учить? Все будет на ноде? Прими таблетки, маня!
1900 2363480
Шарпаны, сколько примерно может стоить написания враппера для двача?
Тред утонул или удален.
Это копия, сохраненная 28 июля 2022 года.

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

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