Сохранен 1368
https://2ch.hk/pr/res/2205513.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

C#/Сишарп/.NET Тред #33 /csharp/

 Аноним 07/11/21 Вск 19:37:13 #1 №2205513 
16345765468970.png
16359622023410.png
16324686158410.png
Прошлый тред: >>2186992 (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
Аноним 07/11/21 Вск 19:38:06 #2 №2205517 
7. Что почитать?
The C# Player's Guide, третье издание (RB Whitaker) — отличная книга для ньюфагов, всё расписывается довольно подробно, очень много примеров кода.
C# 9 and .NET 5 – Modern Cross-Platform Development (Mark Price) — подойдёт для ознакомления с платформой. Затрагивает все технологии, имеющиеся в .NET (веб, мобильная разработка, машинное обучение), ни во что не углубляясь.
C# 8.0 in a Nutshell (Joseph Albahari и Eric Johannsen) — огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином.
C# 8.0 Pocket Reference (Joseph Albahari и Ben Albahari) — просто выжимка из книги сверху, можно всегда держать рукой.
Pro C# 8 with .NET Core 3 (Andrew Troelsen) — 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.

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

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

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

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

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

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

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

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

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

17. Я не умею читать, что посмотреть?
— C# Fundamentals: Development for Absolute Beginners — https://goo.gl/meyyxO
— Набор курсов по C# от O'Reilly Media (28 часов, на английском) — http://rutracker.org/forum/viewtopic.php?t=5082978
— Канал по C# IAmTimCorey (на английском) — https://www.youtube.com/user/IAmTimCorey
Аноним 07/11/21 Вск 19:38:40 #3 №2205518 
Спиженные книги на русеке: https://mega.nz/folder/zdoCBLqY#Q6eS_76VECpQZmPmw9vLew
Шапка протухла
Аноним 07/11/21 Вск 21:08:05 #4 №2205625 
Может кто шапку обновит .инбифо: а вы сами обновите
Аноним 08/11/21 Пнд 08:22:35 #5 №2206398 
Во сколько качать новую вижлу?
Аноним 08/11/21 Пнд 10:27:14 #6 №2206486 
>>2206398
Качай в 9 ноября.
Аноним 08/11/21 Пнд 11:22:53 #7 №2206541 
>>2206486
Я хочу уже сегодня
Аноним 08/11/21 Пнд 11:40:24 #8 №2206552 
image.png
>>2206398
>>2206486
>новую вижлу

Вот эту хуйню уже починят когда-нибудь? Десять лет этой залупе, заебало пиздец просто.
Аноним 08/11/21 Пнд 11:52:48 #9 №2206563 
>>2206552
Первый раз вижу за 15+ лет, что это?
Аноним 08/11/21 Пнд 12:11:19 #10 №2206580 
>>2206563
У тебя наверное для рефакторинга всякие сторонние тулзы.

Это отваливающиеся ссылки, например, на файлы подключенных разделяемых проектов (но не только их). Отваливается гарантированно при переименовании члена внутри файла, иногда при переименовании самого файла.

Есть догадка что это как-то связано с тем, что студия не сохраняет файл самого разделяемого проекта, причем даже при явном "Сохранить все". При этом если отвалившийся подобным образом файл переименовать в проводнике студии, то на диске она его не трогает, но молча переименовывает в самом проекте, что предсказуемо выливается в ошибку и дальнейший пердолинг с повторным добавлением файла. И вся эта хуйня живет в подобном виде до закрытия/открытия решения, никакие сохранения/обновления/пересборы не помогают.
Аноним 08/11/21 Пнд 12:18:48 #11 №2206591 
>>2206580
...ах да, отваливается не только сам файл в котором находился переименованный член, но по цепочке и все файлы в котором он используется.

¯\_(ツ)_/¯
Аноним 08/11/21 Пнд 12:29:08 #12 №2206603 
>>2206580
Еще с вс 2017 существует сдк формат csproj. На него можно перевести легаси фреймворк-говно, при этом остаться на фреймворке. У нового формата все файлы по умолчанию включены. Если необходимо что-то исключить или иначе сбилдить, есть wildcard.

Студия вынуждала себя открывать/закрывать, только если между ветками с очень большим отличием переключаться, либо явно удалять bin/obj при переводе с одной версии проекта на другую, либо сорс генератор необходимо изменить. В райдере таких проблем нет. Что такое разделяемый проект я не знаю.
Аноним 08/11/21 Пнд 12:29:58 #13 №2206604 
vs2022.jpg
Через час!
Аноним 08/11/21 Пнд 12:32:11 #14 №2206607 
>>2206591
> В райдере
Поделки JB я в рот ебал, там все еще хуже.
Аноним 08/11/21 Пнд 12:32:42 #15 №2206609 
>>2206604
Девочки с хвостиками на твитче стримить-то хоть будут?
Аноним 08/11/21 Пнд 12:33:57 #16 №2206610 
>>2206607
Протестировал с всеми типами проектов. Хуже только с WinForms, Wpf и Wcf. Все остальное лучше. Еще и по aws можно гулять. И анализ nodejs лучше.
Аноним 08/11/21 Пнд 12:34:57 #17 №2206612 
>>2206610
>Протестировал с всеми типами проектов.
>>2206603
>Что такое разделяемый проект я не знаю.

Давай не будем.
Аноним 08/11/21 Пнд 12:35:39 #18 №2206613 
>>2206612
Я руске термин не понимать.
Аноним 08/11/21 Пнд 12:37:49 #19 №2206619 
У меня ассоциации только с древнющим BCL. С Shared в UWP и с Shared в Xamarin/MAUI.
Аноним 08/11/21 Пнд 13:32:13 #20 №2206681 
>>2206552
Если в текущем решении есть несобирающийся из-за ошибок проект, от которого зависят другие проекты(?), попытка выгрузить этот проект приводит к зависанию студии (похоже на дедлок, т.к. гуй при этом живет но отказывается принимать фокус). То же самое может случиться при попытке закрыть решение с несохраненным несобирающимся проектом. Конечно же, студия в любом случае по старой доброй традиции убивает .vs.

Продолжаю мой список наблюдения, посмотрим че они в релизе закроют.
Аноним 08/11/21 Пнд 13:57:32 #21 №2206717 
>>2206681
Ничего не закроют. Добавят новых багов. Кек.
Аноним 08/11/21 Пнд 14:00:21 #22 №2206723 
>>2206604
Почему RC, а не полноценная версия? Опять обманули?
Аноним 08/11/21 Пнд 14:15:46 #23 №2206744 
>>2206723
В общем, обман! Версия не полная и нет MAUI.
Аноним 08/11/21 Пнд 14:17:37 #24 №2206748 
image.png
>>2206744
>нет MAUI
Аноним 08/11/21 Пнд 14:30:54 #25 №2206768 
>>2206748
Для меня это важно! Я уже полгода жду!
Аноним 08/11/21 Пнд 14:40:41 #26 №2206781 
>>2206768
> Я уже полгода жду!
Я кроссплатформенности двадцать лет ждал, не переломишься.
Аноним 08/11/21 Пнд 14:59:46 #27 №2206806 
msbuid стал выдавать при компиляции Process is terminated due to StackOverflowException, что делать?
Аноним 08/11/21 Пнд 15:04:37 #28 №2206817 
>>2206723
Там указано время по часовому поясу белых людей (PT), для вас Мастурбеков это около 9 вечера по МСК. Правда ссылки вроде не сразу после старта ивента выкладывают, так что или ночью или завтра утром все будет.
Аноним 08/11/21 Пнд 15:06:05 #29 №2206820 
>>2206806
Лол. У меня вчера такое же было, а сегодня я уже не помню как чинил.

Мужайтесь, нубы, это ваше будущее.
Аноним 08/11/21 Пнд 15:07:19 #30 №2206823 
>>2206820
Вчера выходной был.
Аноним 08/11/21 Пнд 15:07:23 #31 №2206824 
>>2206817
Там обратный отсчёт вообще-то!
Аноним 08/11/21 Пнд 15:07:59 #32 №2206827 
>>2206823
>Вчера выходной был.
Да. Мужайся.
Аноним 08/11/21 Пнд 15:08:51 #33 №2206829 
>>2206824
Ну вот так эта сжв контора ведет теперь дела. С нихуя мсбилд начинает переполнять стэк. Не могут часовой пояс правильно обработать.
Аноним 08/11/21 Пнд 15:31:22 #34 №2206859 
>>2206681
> 2021
> в браузере объектов нельзя отфильтровать члены контейнера или пространства имен по уровню доступа
Аноним 08/11/21 Пнд 15:57:19 #35 №2206881 
>>2206744
MAUI перенесли на второй квартал 2022 года.
Аноним 08/11/21 Пнд 16:06:59 #36 №2206889 
анон, а я не объебался с выбором первого языка программирования для освоения. я c# начал изучать?
Аноним 08/11/21 Пнд 16:07:32 #37 №2206890 
>>2206889
объебался со знаками препинания
Аноним 08/11/21 Пнд 17:29:14 #38 №2207004 
>>2206889
Нет.
Заодно жаааваСкрипт учи, список дальнейших технологий на втором пике >>2205513 (OP)
Аноним 08/11/21 Пнд 21:11:19 #39 №2207222 
изображение.png
изображение.png
Сейчас нахожусь на таком этапе изучения шарпа, когда думаю, что пора выбирать конкретную область (юнити, асп нет, впф и т.д), но мне кажется, что не хватает (или может не хватить) для этого знаний, во всех роадмапах написано типа сначала надо изучить C# basics, но нигде не написано, что именно туда входит. В общем дайте прям список того, что я должен знать перед изучением например асп.нет именно в ванильном сишарпе.
Аноним 08/11/21 Пнд 21:14:49 #40 №2207225 
>>2207222
Бери да ковыряй себе АСП. По ходу дела гугли-изучай вопросы, которые у тебя появляются.
Это же веселей, когда у тебя хоть что-то работает уже.
Пусть немного поначалу и будет немного "магии" для тебя.
Аноним 08/11/21 Пнд 21:18:01 #41 №2207229 
>>2207222
Ты прямой кандидат для вопросов: чем отличается 8 шарп от 10, что такое poh, абстрактный класс vs интерфейс.
Аноним 08/11/21 Пнд 21:22:15 #42 №2207234 
>>2207229
>чем отличается 8 шарп от 10
Циферой
За 8 плотють 8 сотыг, за 10 - 10.

>poh
Хахаха мне ПОХ ))))))) Кому не ПОХ тот ЛОХ ))))
сам не знал, хуита какая-то для собесов зумеров

>абстрактный класс vs интерфейс
нима имплементации(((( Шо? Ну ладно, я на 8 шарп за 8 сотыг согласен.

Мне обязательно перезвонят.
Аноним 08/11/21 Пнд 21:23:30 #43 №2207237 
>>2207229
>чем отличается 8 шарп от 10

Хуй знает. А зачем мне это?

> что такое poh

Водородный показатель.

> абстрактный класс vs интерфейс.

Заебали мамкины умники.

мимо-300ксеньор
Аноним 08/11/21 Пнд 21:25:06 #44 №2207238 
Смысл тогда говорить, что знаешь шарп? Увидишь в коде массив фиксированного размера в структуре и что ты будешь делать с этим кодом?
Аноним 08/11/21 Пнд 21:25:29 #45 №2207240 
>>2207234
>Кому не ПОХ тот ЛОХ как бы он не СОХ))))
Класна я придумол?
Аноним 08/11/21 Пнд 21:27:39 #46 №2207244 
>>2207238
>что ты будешь делать с этим кодом?
Выгорать. Очевидно же.
Выгорел пока читал кста.

ты использовал самые сложные слова, которые выучил, что ли?
Аноним 08/11/21 Пнд 21:28:42 #47 №2207245 
>>2207244
Нет, только самую простую часть из увиденного пиздеца. Это все гуглится по первой же ссылке.
Аноним 08/11/21 Пнд 21:41:32 #48 №2207250 
>>2207222
> В общем дайте прям список того, что я должен знать перед изучением например асп.нет именно в ванильном сишарпе.

Архитектуру айбиэм писи, ЦИСК-процессоров в целом и x86 в частности, основные типы данных .нет, сериализация, биндинги, многопоточность (сейчас еще всякое беззадачное говно типа TAP; даже если сам не будешь использовать то другие будут и придется марать об это руки) и общая эрудиция по содержимому пространства имен.

> во всех роадмапах написано

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


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

> асп.нет именно в ванильном сишарпе.

Шарп такой же ванильный по отношению к асп, как диван мягок по отношению вон к тому кораблю.
Аноним 08/11/21 Пнд 21:48:17 #49 №2207254 
>>2207250
>беззадачное говно типа TAP
Пояснить за базар сможешь?

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

Аноним 08/11/21 Пнд 21:49:58 #50 №2207256 
>>2207254
>Пояснить за базар сможешь?

У тебя спрашивалка не выросла.

>Сам-то ты кто по жизни?

Руководитель отдела кадров.
Аноним 08/11/21 Пнд 21:51:55 #51 №2207258 
>>2207256
Руководитель код не пишет. Хули ты в треде забыл? Быстро себе срыгос из треда оформил!
Аноним 08/11/21 Пнд 21:53:50 #52 №2207261 
>>2207256
>Руководитель отдела кадров.
Ясно, пидорас.
Пшел нахуй.
Аноним 08/11/21 Пнд 21:55:32 #53 №2207265 
>>2207261
Не надо устраивать перепись асп-дегенератов.
Аноним 08/11/21 Пнд 22:09:16 #54 №2207279 
Пришло одно говно^2 (лахтовик + злая херочка) и засрало всю ламповость.
Пиздос.
Аноним 08/11/21 Пнд 23:10:47 #55 №2207316 
>>2207238
А откуда у меня этот код взялся? Я сам его писал? Или мне его кто то дал? Или просто появился?
Аноним 09/11/21 Втр 07:03:37 #56 №2207446 
Посоны, кто в курсе чё под капотом у sorted dictionary/dictionary? Какое дерево?
inb4: мелкомягкие
Аноним 09/11/21 Втр 07:06:24 #57 №2207448 
>>2207446
Хэш-таблица же, не? Это ж не дерево.
Аноним 09/11/21 Втр 07:10:52 #58 №2207453 
>>2207448
Там хэшмапа по идее с каким-то деревом связана, по крайней мере в моно было красно чёрное, которое они тыщу лет не могли на b поменять
Аноним 09/11/21 Втр 07:24:52 #59 №2207456 
>>2207453
Ну вот sorted вроде как использует bst обычный и у него сложность логарифмическая. А обычный словарь это именно хэш-таблица, в ней O(1).
Аноним 09/11/21 Втр 10:11:56 #60 №2207615 
>>2205513 (OP)
Мой питон окончательно съела бигдата и машоб, а я в это говно не хочу залазить.
Придется учить ваш етот как его сишарп и перекатываться в польшу него
Аноним 09/11/21 Втр 11:37:39 #61 №2207667 
image.png
>>2205513 (OP)
В чём я не прав? сделал как в алгоритме сказано, х неверный даёт, должен быть где-то 1/2 а не 0.9
https://pastebin.com/ieYbJRiy
Аноним 09/11/21 Втр 11:38:19 #62 №2207668 
image.png
>>2207667
cамо задание
Аноним 09/11/21 Втр 12:39:15 #63 №2207696 
>>2207667
>>2207668
https://pastebin.com/9LzpgxWn
исправил свой код, но ответ опять же не 0.51
Аноним 09/11/21 Втр 12:55:13 #64 №2207704 
>>2207696
1 / 2 - это целочисленное деление и даёт 0, а не 0.5.
Константы надо приводить к типу double, например так:
1.0 / 2.0
Аноним 09/11/21 Втр 12:57:06 #65 №2207707 
>>2207704
о, не знал, спасибо
Аноним 09/11/21 Втр 12:58:39 #66 №2207708 
>>2207615
>ваш етот как его сишарп
Ты просишь шарфик изучиться, но делаешь это без увожения...
иди на ГОвно
Аноним 09/11/21 Втр 13:02:14 #67 №2207713 
>>2207446
Opensource же, открой да посмотри
Аноним 09/11/21 Втр 13:04:38 #68 №2207717 
Как выбрать между джавой и шарпами, если я только вкатун? Шарпы кажутся гораздо более приятными, но вакансий по джаве в полтора-два раза больше в любом российском городе. хотя конечно и конкуренция выше наверное
Аноним 09/11/21 Втр 13:11:14 #69 №2207725 
>>2207704
Вот теперь точно нет ошибок в коде, теперь отрицательное значение выдаётся
https://pastebin.com/AJNuPiZy
хеееелп
Аноним 09/11/21 Втр 13:41:28 #70 №2207754 
image.png
>>2207717
Напиши проектик на том и на другом.
Вакансии могут быть какой-то мобильной залупой на жаве так как и декстоп залупой на шарфике, определись с чем ты хочешь работать: мобилки, десктоп, веб и уже тогда вакухи сравнивай.

Нормальный проект на шарфике это почти всегда аутсорс/аутсаф на запад. Вот у нас жээва не сильно-то и отрывается от шарфика по вакухам.
Аноним 09/11/21 Втр 15:03:44 #71 №2207838 
>>2207754
Зашел к вам через тор (спасибо дядя вов), пиздец как у вас все круче с дотнетом. У нас даже в дс половина рынка дерьмище типа плагинов к crm365 или десктоп. По факту только в епам остается пробиваться
Аноним 09/11/21 Втр 15:14:14 #72 №2207848 
>>2207838
Не ходи к хохлам, там тебя обидят.
Аноним 09/11/21 Втр 15:18:33 #73 №2207852 
>>2207725
Всё я решил :)
Аноним 09/11/21 Втр 16:03:12 #74 №2207910 
>>2207852
Скинь правильное решение. Мне для друга надо!
Аноним 09/11/21 Втр 16:26:08 #75 №2207935 
>>2207754
>мобилки
Мне всегда интересно было, что там такого пишут и что нужно уметь в этой области. На нативном xamarin'е пишут?
Сам работаю в конторе по мобильным играм, у нас свой движок на C# и там все абстракции вокруг ксамарина внутри движка спрятаны. По факту я мобильный разработчик, а про ксамарин нихуя не знаю.
Аноним 09/11/21 Втр 17:35:04 #76 №2208012 
>>2207848
Чем? Нормальной ЗП и проектом не "декстоп говно с десятых"?
Аноним 09/11/21 Втр 17:35:51 #77 №2208014 
>>2207910
https://pastebin.com/iXMtcQ3E
Только у меня с итерациями какая-то хрень вышла, там по заданию надо еще узнать точное кол-во итераций, а у меня сами задаются
А если честно то нахуй оно тебе надо?
Аноним 09/11/21 Втр 17:41:12 #78 №2208023 
>>2208014
Что за магическое число 28 в условии цикла?
Аноним 09/11/21 Втр 17:44:05 #79 №2208031 
>>2207838
https://djinni.co/ глянь. сейчас это, наверное, топ площадка у нас.
Аноним 09/11/21 Втр 17:54:44 #80 №2208050 
Как гарантированно наебнуть программу после поимки исключения?
Аноним 09/11/21 Втр 17:55:52 #81 №2208053 
>>2208023
Кол-во итераций
Аноним 09/11/21 Втр 18:01:15 #82 №2208061 
>>2208012
Будешь кланяться бандере и лизать сало.
Аноним 09/11/21 Втр 18:03:58 #83 №2208069 
>>2206889
Смотря зачем тебе нужен этот язык программирования. Если условные лабы делать - то вообще похуй, нормальный язык. Если игры делать - то выбрал то, что нужно, а если что-то другое - то да, объебался. Шарп настолько преисполнился синтаксическим сахарам и включением всех новых фич, нужных энтерпрайзу при условии необходимости сохранения обратной совместимости, тоже нужной энтерпрайзу, что превратился в кровавый пиздец, уступающий разве что плюсам. И не стоит забывать тенденцию движения современного софта в веб, когда большая часть десктопа и половина мобилок уже пилится через веб (на богомерзком электроне и аналогах), и дальше будет только хуже, что означает, что тебе все равно придется учить JS. Вот только у JS есть нода, которая пиздец набирает популярность, шарписты уже активно свичатся на нее, так что при любом раскладе (кроме игр) правильным выбором был бы именно JS.
Аноним 09/11/21 Втр 18:14:56 #84 №2208081 
>>2208069
Малолетний дебил с экстримкод чатика, плиз
Аноним 09/11/21 Втр 18:18:24 #85 №2208085 
>>2208069
Стоит ли перекатываться в Java?
Аноним 09/11/21 Втр 18:22:12 #86 №2208093 
>>2208069
JS это кал, нахуй иди.
Аноним 09/11/21 Втр 18:36:27 #87 №2208116 
>>2208069
Дак на JS уже не пишут, все пишут на TS. А там всякое говно с накатыванием менеджеров пакетов (определенной версии), библиотек, фреймворков и чтобы всё было совместимо друг с другом. А через месяц выходит обнова и у тебя всё ломается нафиг и надо по новой.
Аноним 09/11/21 Втр 18:38:41 #88 №2208121 
>>2208085
Жаба примитивнее по фичам, чем шарпы, в разы блять, хуже только го
Аноним 09/11/21 Втр 19:00:30 #89 №2208155 
>>2208121
Зато по Java больше литературы. Кроме того есть замечательный двухтомник Хорстманна и только ради него я готов изучать Java, но ребята из треда меня отговаривают.
А по C# нет ничего столь же классного из книг.
Аноним 09/11/21 Втр 19:04:36 #90 №2208162 
>>2205513 (OP)
Котики, бегом смотреть на новый дотнет! Больше нет причин не использовать шарфик для бэкенда.
https://youtu.be/oPyTZ-HGdn4
Аноним 09/11/21 Втр 19:07:19 #91 №2208170 
>>2208162
А есть перевод на русский?
Аноним 09/11/21 Втр 19:15:16 #92 №2208179 
>>2208162
Чёрные женщины умеют программировать?
Аноним 09/11/21 Втр 19:48:42 #93 №2208204 
>>2208162
Молчали бы лучше про MAUI. Позорники!
Аноним 09/11/21 Втр 19:53:56 #94 №2208214 
>>2205513 (OP)
>>2208085
>Стоит ли перекатываться в Java?
Прямо перекатываться с дотнета - особого смысла нет. Но если выбирать между дотнетом и джавой - все же лучше жаву, суть та же, но в постсовке она куда популярнее.

>>2208093
>JS это кал, нахуй иди.
Да, да, кал, на котором программируют в 10 раз больше и быстрее, чем на шарпе.

>>2208116
Ну да, дотнет в этом плане поприятнее. Но это в том числе означает, что у тебя есть эти самые библиотеки на любые самые извращенные порывы души, без необходимости писать велосипеды. Да и речь про первый язык для изучения шла.
Аноним 09/11/21 Втр 19:54:48 #95 №2208217 
>>2208162
И что такого в этом hot rebuild? Типа меньше кнопок нажимать? На деле проект также пересобирается и только в браузере автоматом страничка обновляется.
Аноним 09/11/21 Втр 20:13:33 #96 №2208251 
>>2208162
А с двача они не будут читать вопросы?
Аноним 09/11/21 Втр 20:20:36 #97 №2208259 
>>2208162
Гайдов про Блейзеру нет вообще. Поэтому никто его не использует.
Аноним 09/11/21 Втр 20:31:25 #98 №2208270 
>>2208162
Ну по скорости это разъеб конкурентов, осталось только принести пруфы кек
Аноним 09/11/21 Втр 20:31:44 #99 №2208271 
>>2208162
Hot reload - бесполезная фигня, лучше бы сосредоточились на MAUI
Аноним 09/11/21 Втр 20:36:29 #100 №2208274 
Пердиксы опять ноют про десктоп, во-первых просто возьми авалонию, во-вторых никто никогда не вернется в 2007 год. Весь мир вокруг будет в вебе
Аноним 09/11/21 Втр 20:47:18 #101 №2208283 
848px-Dotnet-bot.svg.png
Почему ни этот чувак - символ треда, а какие-то негры?
Аноним 09/11/21 Втр 21:05:01 #102 №2208301 
А можно на ASP.NET написать что-то кроме интернет-магазина?
Аноним 09/11/21 Втр 21:20:19 #103 №2208312 
image.png
Бляяя. Я хуею с треда.
Перечисления говна:
>>2208069 - неосилятор 3 фич "синтастического сахара в новом дотнете", не может теперь на собесе за "интерфейс вс асбрактый класс" пояснить и ноет тут. Какие-то влажные маняфантазии о ноде и ГЕЙдеве. Судя по всему, мыслительные ф-ции напрочь

>>2208155 - уже дежурный шиз-малолетка со своими "книгами"

>>2208283 - это тоже нюфаг, ни вкуса, ни юмора не имеет. какой же уебищный этот робочибик, ЧВ лучше

>>2208301 - совсем свежий школошиз. Это язык для лендингов и инсталяторов с музыкой, знать надо.

>>me - хочу ныть

Ребятки, интерпрайз сила - декстоп могила (при всем увожении к дедам)
Аноним 09/11/21 Втр 21:20:38 #104 №2208313 
>>2208162
Блейзер выглядит круто, но я ничего не понял.
Аноним 09/11/21 Втр 21:22:50 #105 №2208316 
>>2208312
Берут нюкеков на удалёнку?
Аноним 09/11/21 Втр 21:24:02 #106 №2208319 
>>2208316
Сейчас всех берут на удаленку.
Аноним 09/11/21 Втр 21:26:24 #107 №2208320 
Хм. Фотошоп-кун, а можешь в шаблоне ЧВ >>2205513 (OP)
вместо значка шарфика вот этого вот чибика присобачить? >>2208283
Комюнити просит.
Аноним 09/11/21 Втр 21:35:18 #108 №2208332 
>>2208162
Чего это она пересела со своего крутого макпука на шиндовский?
Аноним 09/11/21 Втр 21:36:04 #109 №2208333 
>>2208162
Почему у них есть проект MAUI, а у меня нет?
Аноним 09/11/21 Втр 21:39:01 #110 №2208335 
На сколько WPF жив от 0 до 10?
Аноним 09/11/21 Втр 21:39:15 #111 №2208336 
>>2208333
>проект MAUI
>323 ворнингов
А почему рот в говне?
Аноним 09/11/21 Втр 21:41:06 #112 №2208338 
>>2208335
Мертв.
Но ты можешь стать увожаемым дедом-некромантом и тебе будет ок.
хз на самом деле
Аноним 09/11/21 Втр 21:57:44 #113 №2208347 
>>2208162
Как вообще она собирается что-то написать в этих 5 строчках? Экран просто засран лишними окошками и кода не видно.
Аноним 09/11/21 Втр 22:05:25 #114 №2208350 
image.png
>>2208162
Слава ДИДАМессам!
Аноним 09/11/21 Втр 22:06:48 #115 №2208352 
>>2208350
Что за прикол с кабабом? Это выпад против Perl?
Аноним 09/11/21 Втр 22:11:47 #116 №2208356 
>>2208335
Ну ответьте...
Аноним 09/11/21 Втр 22:15:21 #117 №2208359 
image.png
image.png
>>2208356
Жив на 1.9439679817038307604345340194397%
на шкале 0 до 10 = 0
Аноним 10/11/21 Срд 09:45:43 #118 №2208595 
Поясните ньюфагу-гуманитарию зачем нужны multidimensional arrays.
Аноним 10/11/21 Срд 10:32:55 #119 №2208613 
>>2208350
F# разрабатывают диды, а десктоп - девочки
Аноним 10/11/21 Срд 10:38:44 #120 №2208617 
Как же хочеццо полизать клитор Аманды Сильвер. Но она БЛМщица а я белый куколд. :С
Аноним 10/11/21 Срд 10:49:54 #121 №2208626 
>>2208617
Ой вей
Аноним 10/11/21 Срд 16:01:13 #122 №2208901 
>>2208352
Получается F# - это убийца Perl?
Аноним 10/11/21 Срд 17:28:07 #123 №2209005 
>>2208336
Потому что он его жрёт...
Аноним 10/11/21 Срд 18:34:03 #124 №2209068 
>ищешь вакансии на c#
>берёшь любую вакансию
>помимо шарпа надо знать хтмл, цсс, жабий скрип, нод.жс, петухон, руби, с++, похопе
>зп 80к в Мухосрани для мидла
>150к потолок
Нахуй оно надо, ребята? Я сейчас пишу на впф и решил не обмазываться шарпом ещё сильнее, а перекатываться нахуй
Аноним 10/11/21 Срд 19:37:50 #125 №2209098 
>>2209068
Лучше Джаву учить?
Аноним 10/11/21 Срд 19:59:33 #126 №2209110 
>>2209068
Эх, то же самое, либо фулл-стеком идти, либо хай-лоад, куда меня не возьмут. Вот только проблема с фулл-стеком, что если от JS некуда не деться, то я лучшу буду фронт для крипта стартапа делать к смарт-контрактам, чем в .NET энтерпрайзе Ангуляр ковырять.
Аноним 10/11/21 Срд 20:23:04 #127 №2209127 
>>2209068
Почему не применяют Блейзер?
Аноним 10/11/21 Срд 20:44:31 #128 №2209136 
>>2209127
Потому что он позавчера появился. А даже по прошествию пары лет, либо в его маркетинг вольют килотонны нефти, либо будет рекурсивная проблема всех новых технологий — бизнесу нахуй не нужно потому что нет ни историй успеха, ни кучи готовых кадров, разбабам нахуй не нужно потому что не нужно бизнесу, и бизенсу их потом не откуда брать.
Аноним 10/11/21 Срд 20:54:59 #129 №2209138 
>>2209136
Нахуй он вообще нужен?
Аргумент "Сишарп девов загнать на фронт - хуита"
Ибо дальше от предметной области, а господа фулстеки уже выцчили ангуляры и им норм. Фронты же точно в позу встанут, похлеще, чем на тайпскрипт в свое время.

Я вот помню вебформс, и почему-то мне это напоминает.
Аноним 10/11/21 Срд 20:57:27 #130 №2209140 
>>2209068
Вы ебанулись? Сейчас кадровый голод. Вебмакакам с 5+ уже 3 сотыги как нехуй делать просить. Херки в очередь выстроятся.
Правда я не с россии.
Аноним 10/11/21 Срд 21:33:50 #131 №2209146 
>>2209140
Подсказка для залётных: это шиз из мвп треда. Тут такое в почёте.

>>2209138
>Нахуй он вообще нужен?
Потому что микрософту денег некуда девать. И хаеп.

>Аргумент "Сишарп девов загнать на фронт - хуита"
Аргумент-то хуита, только вот идея заставить разрабов делать всё и сразу будоражить умы эффективных манагеров не перестанет.

>Я вот помню вебформс, и почему-то мне это напоминает.
Ну одна технология может в одно время быть никому нахуй не нужной, а в другое — ебать рынок. Те же нейронки придумали 40 или 50 лет назад, и всем было похуй до недавнего времени — тут примерно такая же логика, + нет вендорлока (правда поезд уехал, но кому какое дело) из-за которого все технологии м$ фейлились вне винды прошлом.
Аноним 11/11/21 Чтв 14:02:44 #132 №2209545 
Вот смотрите. Есть Govno и GovnoDto и сервис IGovnoService { GovnoDto GetById(int);}, который выдает GovnoDto из хранилища Govno (сейчас БД, но думаю не суть) и это всё работало. Теперь я хочу добавить метод, котрый будет возвращать GovnoDto[] по заданным критериям. Так светить Govno'm во вне плохая идея, то получается такой метод интерфейса
Govno[] GetGovnos(Expression<Func<Govno, bool>> selector)
и следоватеьлно мне нужно написать всзять с SO метод для маппинга экспершинов, правильно? Или я куда-то не туда повернул?
Аноним 11/11/21 Чтв 15:30:00 #133 №2209592 
>>2209545
Хуй знает. Я думаю, что не туда, у тебя не только Govno ентити протекает, но ты и открываешь прямой доступ к квери.
На уровне сервиса точно не надо принимать экспрешены.
На уровне репы - тудискасс, но скорее всего тоже нет.

Если хочешь играться с експрешенами, то посмотри паттерн спецификация. Типа https://medium.com/@rudyzio92/net-core-using-the-specification-pattern-alongside-a-generic-repository-318cd4eea4aa

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

МНение помидоров приветсвуется.
Аноним 11/11/21 Чтв 17:40:39 #134 №2209703 
png-transparent-internet-meme-rage-comic-know-your-meme-gen[...].png
>>2209592
>2k21
>до сих не поняли что репозитори паттерн + ORM - это был протухший форс от индусов
Аноним 11/11/21 Чтв 17:49:06 #135 №2209710 
>>2209703
Иди нахуй, грязь.
Аноним 11/11/21 Чтв 17:54:31 #136 №2209711 
>>2209703
Ладно, поясню ньюфагам:

Юзается ADO.NET/Dapper -> делается репозитори паттерн в качестве асбтракций, по факту имлементируете то, что идет из коробки от ORM, только под свои нужды и с перфомансом, ибо нехуй писать чистые SQL в разных местах.

Юзается EF/Linq2Db/%ormName% -> не выебуйтесь и не изобретайте свои костыли поверх уже существующих абстракций. LINQ не просто так создавался.

В году двенадцатом, в энтерпрайзе начался дикий форс этого паттерна, который был подхвачен инфоцыганами разных мастей, включая статейки от ЛЮБИМОЙ корпорации.

Другой пример инфоцыганства - это dependency injection в мире ООП, любимый паттерн долбаебов на собеседованиях. Почему долбаебов? Потому что приниципы композиции описываются на первых страницах любой книги по любому функциональному языку программирования, когда в мире тупых макаках ООП из этой простой техники слепили целую нахуй экосистему и терминологию, потом обмазываются ей дрочат ещё друг другу и позорятся выставляя в требованиях на работу. Господи.
Аноним 11/11/21 Чтв 17:57:09 #137 №2209712 
>>2209710
Грязь.
Аноним 11/11/21 Чтв 18:08:43 #138 №2209713 
>>2209711
>Юзается EF/Linq2Db/%ormName%
Несколько запросов надо оптимизировать вплоть до хранимки - ты обосрался.
Надо перешатать схему - ты обосрался.
...
Ты обосрался.
Аноним 11/11/21 Чтв 18:51:00 #139 №2209729 
>>2209713
Ну так и не используй. Речь про использования ORM + написание ещё костылей ПОВЕРХ ORM.
Аноним 11/11/21 Чтв 19:43:57 #140 №2209747 
>>2209729
Ага, в одном месте используй, в другом используй,а потом "мама чому я обосрался с чистотой кода, транзакциями и т.д"
Не буду с тобой спорить. Ты начитался других индусов, которые говорят "нинужна". Я видел как репо + юнит оф ворк помогает с кокретными кейсами и много оверхеда не несет.

>ньюфагам
Просто иди нахуй, говнокодер (2)
Аноним 11/11/21 Чтв 19:46:02 #141 №2209752 
>>2209711
>позорятся выставляя в требованиях на работу
Любитель луковых вакансий на "трейни-" детектед.
Аноним 11/11/21 Чтв 19:51:06 #142 №2209757 
>>2209747
>в одном месте используй, в другом используй
Ты тупой?

Если у тебя в одном проекте зоопарк из EF/ADO.NET/Dapper, то дебил здесь только ты.

Имелось в виду, в одном проекте - один DAL, и нужен ли самописный репозитори паттерн или нет зависит от конкретного случая.
Аноним 11/11/21 Чтв 19:53:59 #143 №2209759 
>>2209757
Видно, что ты ничего сложнее хелов ворда не писал.
Иди нахуй (3)
Аноним 11/11/21 Чтв 19:56:11 #144 №2209762 
>>2209759
Ясно, любитель кровавых монолитов в треде.
Аноним 11/11/21 Чтв 19:58:08 #145 №2209764 
>>2209762
О, еще и промытка "маналит эта плоха" от тех же каргоиндусов.
Комбоблядь.
Аноним 11/11/21 Чтв 21:23:01 #146 №2209825 
Супы, как в модульном тестировании тестировать элементы по типу combobox\label\textbox?
Аноним 11/11/21 Чтв 23:30:02 #147 №2209898 
устроился?.png
Аноним 11/11/21 Чтв 23:46:03 #148 №2209905 
Анончик, какая либа для работы с sqlite сейчас актуальная?
Аноним 11/11/21 Чтв 23:51:28 #149 №2209906 
https://www.nuget.org/packages/Microsoft.Data.Sqlite
Аноним 11/11/21 Чтв 23:57:51 #150 №2209908 
>>2209906
>актуальный
Аноним 12/11/21 Птн 09:31:15 #151 №2209980 
>>2209898
Устроился?
Аноним 12/11/21 Птн 10:17:27 #152 №2210002 
>>2209905
Ентити фреймворк епта
Аноним 12/11/21 Птн 12:06:56 #153 №2210069 
Анон, слу, а есть какие-нить годные книги для прохождения AZ-204? Я в свое время к 70-483 и 70-486 готовился по книжкам, а тут прям хз. Видосы с юдеми смотреть? Проходить МСовские гайды и туториалы? Бле, это долго пипец
Аноним 12/11/21 Птн 12:44:27 #154 №2210111 
>>2210069
>годные книги
>юдеми
>гайды и туториалы
Кек. Это не ты выебывался несколько тредов назад?
Аноним 12/11/21 Птн 14:12:22 #155 №2210239 
Проблема C#, что нет книг по нему. Язык и платформа стремительно развиваются, только это повисает всё в воздухе. Микрософтам надо самим вкладываться в книги, иначе их платформа загнётся.
Аноним 12/11/21 Птн 14:16:25 #156 №2210243 
>>2210002
>актуальная
>2008
Аноним 12/11/21 Птн 14:29:41 #157 №2210253 
>>2210239
>Микрософтам надо самим вкладываться в книги, иначе их платформа загнётся.
Кек пук, книги нужны только для долбоебов жабистов, которые никак не могут дропнуть обратную совместимость и потому перд-академик может выписывать индусам каждые пять лет обновленное издание своего фолианта из нулевых.
Джаваскрипт еще быстрее дотнета меняется, там книги устаревали до написания. Им это помешало? Нет.
Аноним 12/11/21 Птн 14:39:29 #158 №2210268 
>>2210111
нет. я на двачах лишь в /п сижу и пащу свои фотки, а из пр наверно тоько бугурт тред
Аноним 12/11/21 Птн 14:45:32 #159 №2210274 
>>2210239
Чё несёшь, шиз. Книг дохуя, а в с# после асинков только совсем сахар добавили так что по мсдн можно на ходу подхватить.
Аноним 12/11/21 Птн 14:53:08 #160 №2210279 
>>2209592
Ну допустим. А интерфейс спецификации должен быть закрыт типом Entity или DTO? Если энтити, то будет GovnoDto[] GetGovnos(ISpec<Govno> spec) т.е. мешанина из ентити и дто. А если ISpec<GovnoDTO> мне все равно маппить експрешены с типом GovnoDTO в экспрешены Govno. И разве IQueryable это не уже реализованный паттерн спецификация?
Аноним 12/11/21 Птн 15:11:49 #161 №2210291 
>>2210274
Я уже все книги почитал. Нет ни одной уровня Хорстманна по Java.
По фреймворкам ситуация ещё хуже, как правило там одна единственная книга какого-нибудь 2010-11 года.
Аноним 12/11/21 Птн 15:22:18 #162 №2210300 
>>2210291
Хорстман ничего особенного из себя не представляет, крутые мануалы по языку тебе уже советовали.
Аноним 12/11/21 Птн 15:23:09 #163 №2210302 
>>2210291
> По фреймворкам ситуация ещё хуже, как правило там одна единственная книга какого-нибудь 2010-11 года

С тех пор новых фреймворков под дотнетом не появилось, только xamarin разве что.
Аноним 12/11/21 Птн 15:33:01 #164 №2210316 
>>2210300
Да я уже изучил по имеющимся книгам, но послевкусие после них такое себе...
А вот Хорстманн стал для меня как глоток свежего воздуха. Я просто поразился - неужели можно писать тех. книги на таком уровне!? Книга просто великолепная.

>>2210302
А Блейзор? Ни один автор про него не пишет. В книге Прайса есть заметка, что технология новая и поэтому про неё он писать не стал.
Это касается и адаптаций фреймворков под Core, т.к. они отличаются от Framework аналогов. Кто сейчас начинает изучать, то не сможет ни один пример откомпилировать из-за несовместимости.
Аноним 12/11/21 Птн 17:31:37 #165 №2210516 
>>2210316
Покажи список чего ты там изучил.

> Блейзор

Пфф, щас бы про каждый проект на гитхабе книжку писать.
Аноним 12/11/21 Птн 17:53:58 #166 №2210556 
>>2210516
Это будущее фронтенда! Или ты собираешься перекатываться на ЖС и ТС с этими ангулярами, реактами, нодами.жс?
Аноним 12/11/21 Птн 17:55:43 #167 №2210557 
>>2210556
Ничего из перечисленного тобой никогда не использовал и не использую. Вот когда будущее наступит, тогда и напишут, пока это очень специфические фреймворки.
Аноним 12/11/21 Птн 18:01:02 #168 №2210569 
>>2210556
>Это будущее фронтенда!
Нет.

Будущее фронтенда - JS, фреймворки и для сложных вычислений WebAssembly + Rust.
Аноним 12/11/21 Птн 18:11:22 #169 №2210592 
>>2210569
>Rust
Это кал!
Аноним 12/11/21 Птн 20:30:29 #170 №2210763 
Ух как я заебался сегодня менять старые неймспейсы на новые. Потому что новая студия почему-то не хотела нормально даже отмечать что надо, хотя я выставил настройку, а при попытке сделать это автоматом - получилось хуево.
900 файлов. Ручками. Заменял. Три часа ебался.
Пожалейте меня.
Аноним 12/11/21 Птн 20:37:02 #171 №2210774 
>>2210763
dotnet format на IDE0160? Я не пробовал.
Аноним 12/11/21 Птн 20:44:42 #172 №2210783 
>>2210774
Даже не знал про то что оно есть. Лол.
В следующий раз - попробую.
Спасибо, няша, возможно ты спас чьи-то 3 часа, которые он потратит в следующий раз на что-то более полезное.
Аноним 12/11/21 Птн 20:57:49 #173 №2210803 
>>2210783
>на что-то более полезное
Например - на харкачи
Аноним 12/11/21 Птн 20:58:44 #174 №2210805 
>>2210803
Что это?
Аноним 12/11/21 Птн 20:59:04 #175 №2210807 
>>2210556
>перекатываться на ЖС и ТС с этими ангулярами
ДА!
>>2210557
> очень специфические фреймворки.
Куку, проснись, 2к2д1 на дворе.
Аноним 12/11/21 Птн 20:59:52 #176 №2210808 
>>2210805
Иди КНИГУ ищи. Или хатмана своего спроси, нюфажина
Аноним 12/11/21 Птн 21:01:11 #177 №2210810 
>>2210808
>хатмана
Кого?
Аноним 12/11/21 Птн 21:21:36 #178 №2210830 
>>2210803
Ну, у нас на работке харкачи в блок-листе, потому скорее я бы потратил время на то чтобы тестики написать (ну, тасок новых не было, потому и хуйней страдать приходится), может быть порефакторил бы нормально, а то недавно были: Нужно вчера, и местами количество говнокода немного увеличилось, нужно бы прибраться.
Аноним 12/11/21 Птн 21:40:25 #179 №2210852 
Что лучше делать, если какой то ивент нужен не всегда?
Постоянно подписываться-отписываться? Или всегда быть подписанным и игнорировать по необходимости?
Аноним 12/11/21 Птн 22:09:30 #180 №2210873 
>>2210852
Не использовать ивенты которые в шарпе.
А так - да, на стороне обработчика - проверять стейт таки нужно всегда, можешь если лень - запилить какой-нибудь пайплайн для обработки событий.
Аноним 13/11/21 Суб 00:05:18 #181 №2210960 
>>2210873
Не, ивенты это обобщённо.
Есть ГУИ, есть несколько контроллеров, которые по очереди общаются с ним коллбэками через обёртку.
Раньше просто чистил все коллбэки при смене контроллера, но потом понадобилось игнорировать некоторые коллбеки ещё до полной смены. Получилась мешанина и из проверки стейта, и из перезаписи коллбэков.
Аноним 13/11/21 Суб 00:12:14 #182 №2210963 
>>2210873
>запилить какой-нибудь пайплайн для обработки событий
Передавать события через что то ещё и там проверять стейт контроллера?
Аноним 13/11/21 Суб 02:43:46 #183 №2211006 
154289056439.png
>>2209898
Аноним 13/11/21 Суб 13:58:44 #184 №2211240 
В понедельник начинаю писать ультимативную обертку для MDI, с авторазмещением, прилипашками, нормальной поддержкой нескольких мониторов и прочими плюшками. Штатный режим работы это 25+ обновляемых в реальном времени отчетов на одном ХД-экране, и это даже не биржа. 10к+ внедрений уже на этапе публичной бетки. Все нубасы с говноинтерфейсиками под кривые пальчики могут начинать сосать!

ДЕДЫ В ДЕЛЕ!
Аноним 13/11/21 Суб 14:34:05 #185 №2211266 
>>2211240
Звучит как пост для делфи треда
Аноним 13/11/21 Суб 16:37:40 #186 №2211325 
>>2208335
Когда я искал работу по WPF
Мне многие работадели прямым текстом говорили, что очень сложно найти WPF разработчика, они даже джуна готовы были броать лишь бы закрыть вакансию.
Как по мне отличный способ вкатиться, без особой конкуренции.
Аноним 13/11/21 Суб 18:01:33 #187 №2211364 
>>2211325
На WPF есть конторы где писали хай-лоад шиндовские приложения, например форексовые терминалы типа MetaTrading. Зп за сеньйора там могут доходить до 5-6к EUR чистыми.

Проблема в том, что конечно, в целом, это старое и бесперспективное направление.

Недавно собеседовался в одну неплохую продуктовку, заманили туда .NET5.0/Blazor в вакансии, ну сказали честно что ЭТА РЕСЕРЧ ПРОСТО, а в основном будет WPF, я сказал что не интересно направление и мы расстались. Вот щас думаю, что может это неплохой нишевый вариант, стабильно и ЗП будут расти из-за дефицита.
Аноним 13/11/21 Суб 18:12:48 #188 №2211376 
>>2211364
>Зп за сеньйора там могут доходить до 5-6к EUR чистыми
Хуя мрии
Аноним 13/11/21 Суб 18:16:32 #189 №2211382 
>>2211376
Spotware/MetaQuotes Software столько дают. Я же не говорил про РФ только. Конечно, в васянкском энтерпрайзе будут платить 95к рублей до вычета за WPF.
Аноним 13/11/21 Суб 18:19:23 #190 №2211386 
>>2211382
> Я же не говорил про РФ только.

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

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

Про 17к в /pr язык не повернулся написать? Допиши еще что 95к это только в москве и только по знакомству.
Аноним 13/11/21 Суб 18:21:41 #191 №2211389 
>>2211386
>17к
Врёти, нет такого.
Аноним 13/11/21 Суб 18:23:15 #192 №2211391 
>>2211389
Есть конечно. Сенiорам-понаехалам и меньше платят. Даже в москве. Даже по знакомству.
Аноним 13/11/21 Суб 18:24:12 #193 №2211396 
>>2211325
>даже джуна готовы были броать
>даже джуна
Дефицит кадров...
Аноним 13/11/21 Суб 18:44:32 #194 №2211409 
>>2211386
В моем городе ищут на хх: опыт 1-3 года, зп от 20 000 рублей. Вакансия висит уже второй месяц, пока никто не откликнулся. Вообще я заметил, что на шарповские вакансии у нас никто не откликается в принципе. Есть даже одна более менее хорошая, где: опыт 1-3 года, зп 30-50 000 рублей. Странно, неужели в моем миллионнике никто не учится на программиста?

Вот теперь думаю тоже вкатиться в этот ваш шарп. Сам пхпхер-битриксоид. Что думаете? Буду нарасхват наверное, раз ноль откликов на все вакансии? Или там работа сложная, не для хрупких мозгов битриксоида?
Аноним 13/11/21 Суб 18:58:47 #195 №2211426 
image.png
>>2211409
>В моем городе
В уездном городе Н?
Аноним 13/11/21 Суб 19:05:33 #196 №2211435 
>>2211409
Нахера идти проггером с 1-3 годами опыта за 20К рублей, если в Москве (единственный город в РФ) кассир в Макдаке получает 50К?
Аноним 13/11/21 Суб 19:09:17 #197 №2211438 
>>2211426
Один из городов миллионников. Скажу больше - сдеанонят и начнётся командная травля, создание мемов с моим лицом. Я такого не приемлю в своей жизни, посему называть не стану. Суть ясна так или иначе: в провинции, где живу я, никто не занимается C#. Вижу, что откликаются только на QA и Frontend, даже на PHP никто не откликается месяцами. Ну и на стажерские вакансии откликаются, что вполне резонно.

Так что вкатываюсь к вам. Хотя я еще не решил, потому что язык выглядит сложнее, чем PHP. Боюсь не пойму, что такое делегаты и для чего вам множественное наследование... Завтра решу, что делать. А сейчас надо спать. Всем споки-ноки.
Аноним 13/11/21 Суб 19:12:05 #198 №2211442 
>>2211438
>Один из городов миллионников. Скажу больше - сдеанонят и начнётся командная травля, создание мемов с моим лицом

Буде тоби, Тарас, успокойся, никому это не надо. И город свой секретный с вакансиями по 20к за шарп не называй, и так все понятно. Давайте лучше новую студию обоссым.
Аноним 13/11/21 Суб 19:13:17 #199 №2211444 
Ребяты как посчитать объекты с одинаковым полем?
Я вот че придумал.
Ну к примеру люди пишут слова и создают объекты People
В этих объектах 2 поля
Name
Count

И один метод который делает Count+1

Человек пишет к примеру Aby, в создается объект Pople с Name = Aby, через конструктор делается Count +1
Этот объект добавляется в List<People>, и потом если человек снова напишет какое то имя то будет чек в Листе есть ли объект с таким именем, если есть то будет вызван метод на этом объекте делающий Count +1, если нет то создается объект с новым именем.
Вроде рабочий варик, но мне кажется он костыльным.
Еще более костыльный это просто имена в список а потом считать сколько повторов есть.
Мб есть какое элегантное решение?
Аноним 13/11/21 Суб 19:15:11 #200 №2211448 
image.png
>>2211444
>Мб есть какое элегантное решение?
ХЭШСЕТ!
Аноним 13/11/21 Суб 20:05:01 #201 №2211528 
>>2211409
>опыт 1-3 года, зп от 20 000 рублей
>пока никто не откликнулся.
Да неужели...
Может расскажешь, откуда в твоем городе взять 1-3 года опыта на шарпе?
Аноним 13/11/21 Суб 20:15:59 #202 №2211542 
>>2211364
>>2211325
А на чем сейчас пишут десктнопные интерфейсы? Инб4 джаваскрипт.
Аноним 13/11/21 Суб 20:42:38 #203 №2211559 
>>2211448
Разве не дикшинари по нейму ему надо?
Аноним 13/11/21 Суб 20:49:09 #204 №2211564 
>>2211438
>в провинции, где живу
УдаленОчка.
СЕйчас же все там и поебать с какой ты мухосрани.

>>2211438
>и для чего вам множественное наследование
Сук, тральнул (((.
Ну это нельзя назвать прям полноценным мнодественным наследованием.

>>2211442
>Тарас
У тарасов у нас на удаленочке можно оче легко 3к рубить, при том не на декстоп говне. Если немного постараться, то 3+ года = >5к. Так что закрой пасть, по треду, как раз таки, у москалей с шарфиком туже
Не политота, а сравнение рыночков.
Аноним 13/11/21 Суб 21:32:40 #205 №2211606 
>>2211559
>>2211448
Я тоже не понял зачем хешсет.
В дикшенари как то проше.
Кей это имя, если есть имя значит делаем в велью +1
Аноним 14/11/21 Вск 08:51:42 #206 №2211801 
>>2211325
На всю страну даже 10 вакансий с чисто впф не наберётся, везде это просто приписка к ёбаной куче других технологий
Аноним 14/11/21 Вск 08:55:47 #207 №2211804 
>>2211409
Тоже охуеваю с шарповских вакансий в своей Мухосрани. Требования: нужно уметь и знать ВООБЩЕ ВСЁ, нахуй, связанное с шарпами, а ещё чуть-чуть c++ и жабий скрип. ЗП: 50к. Просто ебанись. Скоро погромисты станут обычными нищими рассенскими РАБотниками такими темпами
Аноним 14/11/21 Вск 08:59:29 #208 №2211805 
>>2211804
Двачаю, особенно хуево, что почти нет вакансий на джуна, везде ищут сеньеров или мидлл
Аноним 14/11/21 Вск 12:43:27 #209 №2211890 
Func<T, bool> f1 = F; //норм
Predicate<T> f2 = F; //норм
f1 = f2; //нельзя
f2 = f1; //нельзя

где мои алиасы и частичн специализация?
Аноним 14/11/21 Вск 12:52:09 #210 №2211904 
func.png
>>2211890
Потому что ФП в C# - это по сути костыли и обертки. Вот F# - это православно, хотя не уверен что там в IL в итоге будет.
Аноним 14/11/21 Вск 16:12:05 #211 №2212033 
>>2211804
А что ты хотел, малыш? Говорить на своей фене, верстать страницу и надувать щеки? Ты просто рабочий новой экономики. Пролетарий. Так что, не ты диктуешь сколько тебе будут платить, а тот, кто тебя нанимает.
Аноним 14/11/21 Вск 17:11:55 #212 №2212086 
Гайзы, можно ли смотреть в IL код в студии так же как в Rider от жет брейнс?
Аноним 14/11/21 Вск 19:17:38 #213 №2212158 
>>2211801
Хз, у меня 5 предложений по впф.
Если что Украина.
Аноним 14/11/21 Вск 19:34:14 #214 №2212180 
В асп коре авторизация на основе ресурсов не работает с аттрибутом авторизации? Только в экшене проверять через авторизатионСервис?
Ну т.е. если я создам политику "kek" и хэндлер для реквайремента AuthorizationHandler<Ruquirement, Resource>, то я не смогу повесить на экшен [Authorize(Policy = "kek")]
Верно?
Аноним 14/11/21 Вск 20:25:16 #215 №2212214 
>>2212158
Везёт же! А у нас сплошь асп.нет или юнити
Аноним 14/11/21 Вск 20:37:25 #216 №2212230 
>>2211904
>F#
Он отправил Perl на шашлык?
Аноним 14/11/21 Вск 20:40:50 #217 №2212234 
Когда выложат "ASP.NET Core в действии"?
Аноним 14/11/21 Вск 20:46:44 #218 №2212243 
>>2212234
Тебе зачем?
Аноним 14/11/21 Вск 20:57:58 #219 №2212261 
>>2212086
с установленный решарпером и dotPeek - да, из коробки - не уверен
Аноним 14/11/21 Вск 21:00:29 #220 №2212266 
>>2212243
Читать
Аноним 15/11/21 Пнд 09:43:00 #221 №2212560 
>>2212266
Вся серия ин экшон пишеццо индусами и представляет собой копипасту с мсдн. Зачем тебе этот кал?
Аноним 15/11/21 Пнд 09:46:28 #222 №2212564 
>>2212560
Я слышал, что эту книгу недавно перевели на русский и эта книга самая актуальная по ASP. Остальные - старье по Framework.
Аноним 15/11/21 Пнд 10:16:13 #223 №2212582 
Бамп. Ну или спрошу по-другому, могу ли я в хэндлере реквайремента получить значения из тела запроса (json)? Ну т.е. прочитать-то я могу из стрима, но стрим не пожжерживает изменение позиции, а значит может быть прочитан единожды, и следовательно после этого уже не сработает биндинг мвц.
Я просто хочу, что бы вся авторизация работала через аттрибуты, а не дергать IAuthorizationSevice в контроллерах. Или дохуя хочу?
Ну или прочитать сначала боди запроса в мемористрим, потом подминить им оригинальный стрим (там вроде сеттер публичный, но не пробовал), потом прочитать жсон, проверить значения, сбросить позицию стрима (уже который мемори), и пустить это уже дальше на биндинг в мвц. Но это по-моему тяжелая наркомания и не факт что сработает. Вот.
Аноним 15/11/21 Пнд 10:17:20 #224 №2212584 
Это >>2212582 бамп вот на это >>2212180

Аноним 15/11/21 Пнд 10:38:03 #225 №2212607 
Целый час бился над проблемой Visual Studio 2022, чтобы появилась кнопка View Designer в меню.
Как вы думаете какое решение этой проблемы? Никогда не догадаетесь! Нужно создать новый проект, но не под Core, а под Framework. После этого кнопка волшебным образом появляется в обоих проектах.
Браво, разработчики!
Аноним 15/11/21 Пнд 10:40:57 #226 №2212611 
>>2208595
Ну что же вы, анончики... Бамп вопросу.
Аноним 15/11/21 Пнд 10:43:01 #227 №2212613 
>>2212607
А не пиздишь? Сдк-то для форм под кор установил?
Аноним 15/11/21 Пнд 10:46:58 #228 №2212617 
>>2212611
гуманитарию не нужны, да и остальным в основном 2д, ну 3д для гейдева, ну 4д совсем редко для какой-нибудь экзотики, может 5д для каких нибудь хитрых вычислений. А так не нужны.
Аноним 15/11/21 Пнд 11:17:17 #229 №2212656 
>>2212613
Я нагуглил ответ. Видимо проблема не только у меня возникла. В жизни бы не догадался о таком решении.
Я ставил через инсталлер, просто отмечая галочки на первой вкладке, на вторую даже не заглядывал.
Аноним 15/11/21 Пнд 11:35:14 #230 №2212675 
Сап. Есть джва енума flags (флаговый) и enum (обыычный). И код типа такого
if(flag.HasValue(flags.x))
..switch(enum)
....case enum.a: Foo(1);
....case enum.b: Foo(1,2);
....case enum.c: Foo(1,2,3);
if(flag.HasValue(flags.y))
..switch(enum)
....case enum.a: Bar(1);
....case enum.b: Bar(1,2);
....case enum.c: Bar(1,2,3);

выглядик как говно и я не могу придумать как это улучшить. Может кто увидит в этом намек на какой нибудь паттерн?
Аноним 15/11/21 Пнд 11:47:48 #231 №2212687 
Пасаны, нахуя с с#8 интерфейсу дали возможность делать дефолтную реализацию методов?
Аноним 15/11/21 Пнд 11:52:39 #232 №2212690 
>>2212675
А можно как-то сделать цикл с инкрементацией x и y?
Аноним 15/11/21 Пнд 11:56:55 #233 №2212698 
>>2212675
>>2212690
Забейте. Я переписал Foo/Bar и получилось более менее сносно. Хотя если есть идеи по рефакторингу того говна с радостью послушаю.
>>2212690
хз, я не придумал. Там суть в том, что флаг выбирает метод (foo/bar или оба), а енум выбирает перегрузку метода.
>>2212687
В доках пишут зойчем
>The principal motivations for this feature are
>Default interface methods enable an API author to add methods to an interface in future versions without breaking source or binary compatibility with existing implementations of that interface.
>The feature enables C# to interoperate with APIs targeting Android (Java) and iOS (Swift), which support similar features.
>As it turns out, adding default interface implementations provides the elements of the "traits" language feature (https://en.wikipedia.org/wiki/Trait_(computer_programming)). Traits have proven to be a powerful programming technique (http://scg.unibe.ch/archive/papers/Scha03aTraits.pdf).
Аноним 15/11/21 Пнд 12:29:27 #234 №2212736 
>>2212687
Скорей всего для новичка лучше изучать Java, потому что там нет всего этого сахара и язык прост и логичен. Шарп засахарили и он уже стал приближаться к С++ по количество сложночитаемых конструкций.
Аноним 15/11/21 Пнд 12:55:05 #235 №2212757 
>>2212698
Я не такой крутой как Вы.
Меня даже небом не назовёшь.
Я читаю справочник по C# Албахари.
Начал читать 3 главу
Аноним 15/11/21 Пнд 12:55:37 #236 №2212758 
>>2212757
Быстро фикс
*нубом
Аноним 15/11/21 Пнд 13:13:41 #237 №2212795 
Подскажите, что должно быть в интерфейсе IFilesManager, если класс его реализующий вот такой
https://pastebin.com/E05HmpAF
Аноним 15/11/21 Пнд 13:20:40 #238 №2212811 
>>2212795
SaveFile(string, byte[])
Что там еще может быть. Только ты не с того конца проектируешь, надо сначала определить апи, и под него уже делать реализацию.
Аноним 15/11/21 Пнд 13:22:04 #239 №2212817 
>>2212736
Только потом не ной, что Котлин лучше Жабы и вспомни, что у шарпа сахара много как у плюсах. Жаба-макак память скорее всего отшибает нахуй.
Аноним 15/11/21 Пнд 13:45:41 #240 №2212856 
>>2212811
Спасибо, наличие остального всякого смутило.
Понимаю, да. Это просто штыря реализация нужной штуки со стаковеофлов, потому так подгоняю
Аноним 15/11/21 Пнд 14:05:17 #241 №2212885 
>>2212180
>>2212582
BUMP!
Аноним 15/11/21 Пнд 15:48:00 #242 №2212987 
wfhello.jpg
На какую зп уже можно рассчитывать?
Аноним 15/11/21 Пнд 16:01:56 #243 №2213006 
>>2212987
Еще и должен будешь.
Аноним 15/11/21 Пнд 17:04:25 #244 №2213078 
>>2212987
Сделай тоже самое на онгуляре и 300к/digest cycle
Аноним 15/11/21 Пнд 17:11:01 #245 №2213095 
>>2212180
Может, я не понял вопрос, но можешь же
https://docs.microsoft.com/en-us/aspnet/core/security/authorization/policies?view=aspnetcore-6.0#apply-policies-to-mvc-controllers

>>2212582
Да, вроде бы, можешь, та же линка https://docs.microsoft.com/en-us/aspnet/core/security/authorization/policies?view=aspnetcore-6.0#use-a-handler-for-multiple-requirements

>>2212582
>но стрим не пожжерживает изменение позиции
Да, вро де бы, поддерживает
https://stackoverflow.com/questions/40494913/how-to-read-request-body-in-an-asp-net-core-webapi-controller
Аноним 15/11/21 Пнд 17:58:37 #246 №2213173 
image.png
Ну, как вкатилисб?
Аноним 15/11/21 Пнд 19:57:28 #247 №2213275 
https://ondro.inginea.eu/index.php/new-features-in-java-versions-since-java-8/
Хах, они еще смеют пиздеть, что в шарпе много сахара. Не считая пиздеца по типу анонимного класса или изврата в enum.
Аноним 15/11/21 Пнд 20:30:06 #248 №2213311 
>>2213275
Список похож на шарповый.
Так кто у кого копирует?
Аноним 15/11/21 Пнд 20:50:56 #249 №2213326 
Пасаны, я так понимаю, чтоб получить внятную инфу в хамарине по dependency сервисам, надо сразу гуглить как это на жаве в Андроиде делается и переписывать на шарп?
Аноним 15/11/21 Пнд 21:49:29 #250 №2213357 
>>2213173
удали
Аноним 15/11/21 Пнд 22:46:14 #251 №2213383 
>>2213095
>вроде бы, можешь
>но можешь же
Да у меня была проблема с получением данных из запроса до того как сработает мвц.
>https://stackoverflow.com/
А вот за это спасибо! Проблема решилась
httpContext.Request.EnableBuffering();
//чтенме
httpContext.Request.Body.Position = 0;
Аноним 15/11/21 Пнд 22:53:04 #252 №2213387 
>>2211542
Бамп вопросу
Аноним 15/11/21 Пнд 23:05:17 #253 №2213393 
>>2211542
Старые поддерживают диды.
Новые никто не пишет, всё в облаке.
Десктоп умер.
Ради 2% пердунов отдельный интерфейс никто писать не будет.
А молодежь вообще удивляются монитору, почему они тыкают в экран, но ничего не происходит.
Аноним 16/11/21 Втр 07:43:55 #254 №2213505 
image.png
>>2205513 (OP)
Ебучий джун ИТТ. Вопрос, что это за ебаная хуйня на пике? Это такой авто-тупл какой-то? Как такая нотация вообще называется чтобы про нее почитать?
Аноним 16/11/21 Втр 08:20:09 #255 №2213516 
>>2213505
Я хуею. Как вы устраиваетесь на работу с такими знаниями и неспособностью к поиску инфы?
ValueTuple
Аноним 16/11/21 Втр 10:13:17 #256 №2213578 
>>2213516
Ну-ccc, меня изначально взяли за красиво отрендеренные глаза и glsl/hlsl...
Аноним 16/11/21 Втр 11:13:26 #257 №2213645 
Вот вы говорите: зачем новые книги? ничего же не устарело! А по факту куда не ткни, везде расхождения и совершенно новые методы, которые в книгах не описаны.

К примеру, сейчас в книге Петзольда встретил методы:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

а у меня в проекте
ApplicationConfiguration.Initialize();

И как это понимать? Что я должен делать, если у меня код совершенно другой?
Аноним 16/11/21 Втр 11:21:29 #258 №2213654 
>>2213516
Мне мама рассказывала, что у них на работе в начале 2000-х взяли тётку, которая даже не умела компьютер включать. Вот наверняка все местные олды, кто тогда вкатился, знали меньше нашего. А сейчас с умным видом: а чё это ты не знаешь того или этого? Сами-то вы знали это всё тогда?
Аноним 16/11/21 Втр 11:27:12 #259 №2213657 
wfnobutton.jpg
>>2212613
Сегодня с утра открыл и опять та же история. Надо снова создать проект на .Net Framework и вернуться в этот, чтобы кнопка дизайнера появилась.
Аноним 16/11/21 Втр 11:34:54 #260 №2213676 
wfshowbutton.jpg
>>2213657
Создал новый проект в .Net Framework и открыл свой под Core. Кнопка опять волшебным образом появилась. Хотите сказать, это не баг, а я тупой!?
Аноним 16/11/21 Втр 11:58:01 #261 №2213711 
>>2213645
>Что я должен делать
Бросить всё нахрен
>>2213654
>Сами-то вы знали это всё тогда?
Мое негодование вызвано нет тем, что кто-то чего-то не знает, а тем, что его взяли на работу, а меня такого умного берут только в пятерочку на кассу
>>2213657
А если во время бага через хоткей попробовать, откроется?
Аноним 16/11/21 Втр 12:08:18 #262 №2213724 
>>2213711
>через хоткей попробовать
Пробовал. Не работает.
Аноним 16/11/21 Втр 12:16:03 #263 №2213736 
>>2213724
Вот доберусь до 2022 студии, и узнаем баг в студии или в пользователе). Кста, ты багрепорт уже отправил?
Аноним 16/11/21 Втр 12:39:22 #264 №2213765 
>>2213711
>Мое негодование вызвано нет тем, что кто-то чего-то не знает, а тем, что его взяли на работу, а меня такого умного берут только в пятерочку на кассу
Жуняка? Иди сразу мидлом лол.
Аноним 16/11/21 Втр 12:40:51 #265 №2213767 
>>2213383
>проблема с получением данных из запроса до того как сработает мвц
Как это? В воем запрсе был мвисишный атрибут.
МВЦ там уже поднято.
Это если бы ты в мидлвере был или типа того.
Аноним 16/11/21 Втр 13:02:18 #266 №2213805 
>>2213654
>А сейчас с умным видом: а чё это ты не знаешь того или этого? Сами-то вы знали это всё тогда?
Так тебя то не с ними тогдашними сравнивают, тебя сравнивают с другими текущими претендентами. Какая разница, что ты знаешь в 10 раз больше того, что они знали тогда, если рядом с твоим резюме лежит резюме чувака, который знает больше тебя? Да и вообще, не в шарповом треде подобные претензии озвучивать, ты бы ещё в тред по го пошёл и удивлялся бы, чего это так много знать требуют. А сколько требовать то должны, если шарпистов без опыта набирают по 20 человек в год на всю Россию, половина из которых - это епам по принципу "у кого тут мама работает - того и возьмем"?
Аноним 16/11/21 Втр 13:19:00 #267 №2213835 
>>2213767
>Как это?
Проблема уже решена. Но смотри как это было. Я вешаю на действие атрибут авторизации и указываю там политику. И вот приходит запрос к тому действию, срабатывает фильтр авторизации и дергает мой обработчик для реквайремента. В этом обработчике мне нужно знать значения, которые лежат в теле запроса. Биндинг мвц еще не отработал и единственный способ получить эти значения - это прочитать боди самому, но тогда на биндинг уже уходил прочитанный стрим и все биндилось в null, а попытка изменить позишн в стриме реквеста вываливалась с НотСаппортедЕксепшен. Но как оказалось все решалось методом EnableBuffering (главное на большом запросе его не вызвать, а то там если больше 30кб, то буффер отправляется на диск). Как-то так.
Аноним 16/11/21 Втр 14:30:17 #268 №2213916 
Есть для шарпа что то по типу https://hyperskill.org ?
Аноним 16/11/21 Втр 20:37:25 #269 №2214210 
Безымянный.png
>>2213657
>>2213676
Ты - хуй. Создал новый проект - все работает. Закрыл открыл, все равно работает.
Аноним 16/11/21 Втр 20:43:56 #270 №2214217 
>>2211804
Пиздуй на стажировки в тырпрайзы, там за годик станешь мидлом и сможешь съебать куда захочешь за нормальный мабос
Аноним 16/11/21 Втр 21:27:11 #271 №2214242 
>>2205513 (OP)
Аноны, подскажите как блять ПЕРЕСТАТЬ ТУПИТЬ. Устроился джуном 3 месяца назад web API + Angular, прошёл пробейшен с хорошими отзывами, но продолжаю совершать банальнейшие ошибки на уровне забыл вынести в константу, добавить атрибут, выбрать неправильное наименование для класса/переменной/роута. Я регулярно пересматриваю свои ПРы, стараюсь анализировать частые ошибки, держать в голове правила чистого кода, но всё равно из разу в раз у меня всё скатывается к одному. Конечно, я замечаю прогресс, что некоторые ошибки у меня начисто пропали, но меня просто из себя выворачивает от своей тупости. Неужели это всё приходит только с опытом? Поделитесь парочкой советов, как сами от подобного избавлялись
Аноним 17/11/21 Срд 00:36:20 #272 №2214383 
>>2214242
Никак.
Я серьезно, то что ты пишешь - это кодстайл. С ним залупаются абсолютно все + эти вещи меняются от проекта к проекту.
Да и в целом это постная хуйня, главное джосны перекладывай
Аноним 17/11/21 Срд 03:19:29 #273 №2214425 
У вас есть две наносекунды, чтобы придумать зачем мне и другим тратить время на то чтобы заставить Entity Framework правильно работать, если можно быстрее и качественнее работать без него. Время пошло.
Аноним 17/11/21 Срд 08:56:25 #274 №2214471 
>>2214210
Тебе просто повезло.
Аноним 17/11/21 Срд 10:52:44 #275 №2214552 
>>2214471
Так оно от расположения звезд зависит?
Аноним 17/11/21 Срд 13:02:11 #276 №2214731 
>>2214552
Я откуда знаю? Не я разработчик. У меня такой баг присутствует. В интернете находил таких же горемык. Сами микрософты включают режим "дурачка" и не видят проблемы.
Аноним 17/11/21 Срд 16:43:28 #277 №2215086 
>>2214425
>можно быстрее и качественнее работать без него
Пруфы будут?
Аноним 17/11/21 Срд 18:11:09 #278 №2215200 
ДвойнойМассив.png
Помощь?
Аноним 17/11/21 Срд 18:21:44 #279 №2215212 
>>2215200
Ну посмотри какой тип у тебя в велью. СТринг? Ну ебни инт.Парс
Размерность массива еще в самом начале задай.
Аноним 17/11/21 Срд 18:23:54 #280 №2215213 
>>2215200
Int.Parse(Value)
Аноним 17/11/21 Срд 18:48:02 #281 №2215235 
>>2215212
>>2215213
Я понимал, что нужно конвертировать в инт, поэтому и написал (int), но оказалось что нужно именно int.Parse. В чём разница между (int) и Int.Parse?
Аноним 17/11/21 Срд 19:01:53 #282 №2215252 
>>2215235
Одно говорит компилятору представить, что там инт, другое - делает инт из того, что есть.
Аноним 17/11/21 Срд 19:08:19 #283 №2215258 
>>2214731
>Я откуда знаю?
Ну ты говоришь повезло что бага нет, вот я и подумал что он не всегда багует.
> У меня такой баг присутствует.
Время переустанавливать шиндуз. У тебя 11? Я на 10 тестил.
>не видят проблемы.
Так и я у себя не вижу. Ты кляузу им писал?

>>2215235
>В чём разница между (int) и Int.Parse?
Один кастит, другой парсит, очевидно же. кек
Аноним 17/11/21 Срд 22:08:14 #284 №2215406 
>>2215235
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/types/casting-and-type-conversions
Аноним 17/11/21 Срд 22:11:09 #285 №2215408 
Снимок экрана от 2021-11-17 22-07-22.png
>>2215200
Держи, няша.
Аноним 17/11/21 Срд 22:24:57 #286 №2215417 
>>2213505
Это называется женерик. Имено так и произносится.
Суть. Это как темплейты в С++ только хуевые и не такие классные.
Что делают. Говорят компилятору, что у метода/класса может быть несколько реализаций под разные типы этих вот T. Тот в свою очередь при компиляции проходится по файликам и генерирует методы/классы с нужным типом, т.е. примерно то же что во времена сей было, когда чтобы получить модуль числа у тебя было несколько методов под разные типы данных(abs, dabs, fabs, etc), так вот, умные люди подумали-подумали, почисали репу и решили что программерам будет удобнее в таких вот моментах не думать о том что у какой-то логики должен быть определенный тип и сделали темплейты, потом другие люди не осилили темплейты и сделали хуевые женерики.
Аноним 17/11/21 Срд 22:59:35 #287 №2215460 
>>2215417
>хуевые женерики
А чем они хуевы? Ну, в джаве они действительно убоги, это факт, но там убогость получилась в результате погони за обратной совместимостью.
А в шарпе что плохого?
Аноним 17/11/21 Срд 23:19:18 #288 №2215492 
>>2215460
Ну, как минимум я не могу написать вот так:

T Add<T>(T a, T b) {return a+b;}

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

Да, я понимаю что специфичный пример. Но блин, очевиднейшая же фигня, которая кажется тем что все ожидают. И да, я понимаю почему темплейтом это сделать изи-бризи, а с женериками вот так вот происходит. Просто когда в свое время у тебя были полностью развязаны руки и ты мог делать что душе угодно, а потом - хуяк, вот это можно, а то нельзя, а чисто по предназначению оно одинаково выглядит - как-то грустненько и вообще.
Аноним 18/11/21 Чтв 01:44:34 #289 №2215581 
>>2215417
> сделали темплейты
Что за темплейты? t4?
Аноним 18/11/21 Чтв 02:04:57 #290 №2215587 
>>2215492
То что нужно вводить ограничения на тип T прежде чем использовать что-то внутри - очень даже хорошо, похуй что многословно. Жаль ток static abstract завезли только-только (.NET 6). В тех же плюсах альтернатива - концепты - все равно даст написать хрень типа вызова метода, которого нет у типа. Хотя это вроде можно избежать если нагородить cpo, но так оно еще более многословно, чем в шарпе.
Но генерики все равно хуйня
Аноним 18/11/21 Чтв 09:07:11 #291 №2215661 
>>2215417
> при компиляции проходится по файликам и генерирует методы/классы с нужным типом
Сдается мне ты пиздишь. Разве женерики закрываются не в рантайме?
Аноним 18/11/21 Чтв 09:29:35 #292 №2215679 
>>2215417
Нахуй ты пиздишь, тупой поридж, о чем представления не имеешь? Как раз в отличии от сишных генерики не при компиляции инстанцируются а в рантайме, собственно только в этом их отличие и почему тупые макаки вроде тебя смеют отркыввать свою вонючее ебало (правда ты настолько туп что даже этот пиздёш скопипастил не понимая о чем он).
Аноним 18/11/21 Чтв 10:41:38 #293 №2215756 
>>2215086
Linq2db/Dapper, и нахуй выкидывается ваш энтерпрайзный мамбо-джамбо, вопросы будут? Следующий.
Аноним 18/11/21 Чтв 10:46:08 #294 №2215765 
>>2215756
Даппер сложный.
Аноним 18/11/21 Чтв 10:52:04 #295 №2215774 
>>2215492
> Просто когда в свое время у тебя были полностью развязаны руки и ты мог делать что душе угодно, а потом - хуяк, вот это можно, а то нельзя, а чисто по предназначению оно одинаково выглядит - как-то грустненько и вообще

Ты ебанько хоть бы бложики умных людей вроле Липперта почитал где все это разжевано. Генерик в c# по дизайну не типизированный макрос как на твоих ссях а штука имплементированная в CLR, он и к языку-то не привзяан.
Аноним 18/11/21 Чтв 10:54:54 #296 №2215778 
>>2215774
это связано с приведенной цитатой? возможностей же правда меньше
Аноним 18/11/21 Чтв 10:59:22 #297 №2215791 
>>2215778
И хуль с того что меньше, ещё раз для закрепления, генерик это не типизированный макрос, схуяли у него должны быть фичи (и недостатки) макроса?
sageАноним 18/11/21 Чтв 11:22:29 #298 №2215821 
>>2215791
> И хуль с того что меньше
ПРАЛЬНА НЕЧА ИМ СВАБОДУ ДАВАТЬ ИШЬ ЧЕ УДУМАЛИ БЛЯДЬ ПОГРОМИСТЫ ЕБАНЫЕ ВОТ ЭППЛ СВОИМ В ЖОПУ ХУЁВ НАСОВАЛИ И ВСЕ ДОВОЛЬНЫ БЛЯДЬ УХ БЛЯДЬ НАДО КАК У ГОЛАНГА ШОБ НИХУЯ НЕЛЬЗЯ СДЕЛАТЬ ВАЩЕ
Аноним 18/11/21 Чтв 11:43:28 #299 №2215838 
>>2215791
ок, считай перешёл с императивного спп на императивный Шарп, нет шаблонов, как писать общий код - генерики. ну не макросы и что, область применения и синтаксис схожи, ток делать с ними можно только ограниченный круг задач, с "макросами" можно, а альтернатив нормальных нет
Аноним 18/11/21 Чтв 12:00:27 #300 №2215853 
>>2215838
Если так нужны маросы тебе лучше на лисп перекатываться, ты походу с платформой ошибся.
Аноним 18/11/21 Чтв 12:15:08 #301 №2215871 
>>2215756
>вопросы будут?
Таблетки принял?
Аноним 18/11/21 Чтв 17:41:09 #302 №2216225 
>>2215838
Дома делай упраженение, пытайся представить как та или иная фича языка может быть реалиована, тогда многое станет понятным.
Аноним 18/11/21 Чтв 18:18:54 #303 №2216284 
>>2216225
Представить реализацию генериков/шаблонов, чтобы понять.. что?
Аноним 18/11/21 Чтв 18:35:04 #304 №2216302 
>>2215774
Няша, ты таблеточки попей, а то агрессивный дюже.
Я знаю как реализовано. И хули?
Суть в том, что шаблоны - мощнее. Да, может ебануть, но почему дизайн языка должен строиться на предположении, что кодеры - долбоебы с памятью золотой рыбки? Может быть на уровне трейни-джуна-начального мидла - это и полезно, чтоб не стрелял себе в колени, но когда у тебя опыт разработки 10+ лет эти вот костыли - просто заебывают.
Вот тебе аналогия относительно дизайна шарпов. Это будто велосипед с дополнительными колесиками, чтоб не ебнулся. Только вот когда ты научился ездить на велосипеде - ездить с такими колесикам, даже в каком-нибудь Тур де Франс - просто выглядит нелепо.
Аноним 18/11/21 Чтв 18:47:10 #305 №2216330 
>>2216302
>РЯ! Я ПРОЕБАЛ 10 ЛЕТ ЖИЗНИ НА ДРОЧ ПЛЮСОВ И ВЫДОЛЖНЫ РЯЯЯЯ! МААААМ ПОЧЕМУ ОНИ ПИШУТ БЫСТРЕЕ И КАЧЕСТВЕННЕЕ У МЕН ЖЕ ТЕПЛЕЙТЫ
Аноним 18/11/21 Чтв 18:49:46 #306 №2216333 
>>2215661
Там все не так просто, еще и поведение того как оно работает внутри зависит от того ссылочный тип или вэлью. И детально описание того как оно в шарпе работает для человека, который спрашивает что это вообще такое - было бы излишне.
Ну серьезно. Вы накинулись, будто не видя кому я отвечал.
>>2215679
Тебе тоже таблеточек попить советую.
Аноним 18/11/21 Чтв 18:50:30 #307 №2216334 
>>2216330
Я проебал 5 лет на плюсы и 8 на шарпы, няша.
Аноним 18/11/21 Чтв 20:16:22 #308 №2216458 
>>2216333
Ну не знаю в чем преимущество дать неправильную инфу написав, что типы создаются во время компиляции вместо того чтобы написать, что типы создаются во время выполнения. Вне зависимости от уровня спрашивающего. Ну да пIхуй
sageАноним 18/11/21 Чтв 21:56:46 #309 №2216561 
>>2216302
Так а зачем тогда C++ с шаблонами нужен твой? Статика - это тоже тогда колёсики получается для детей, вон иди пиши на динамико-дрисне на джаваскрипте либо питоне, и дженерики не нужны будут, пускай будет совсем ШВАБОДНО дышать, пока благородные бояре будут использовать всю мощь Хиндли-Милнеровской системы типов для написания алго-трейдингового софта Jane Street Capital.
sageАноним 18/11/21 Чтв 22:03:49 #310 №2216562 
>>2216302
>но когда у тебя опыт разработки 10+ лет эти вот костыли - просто заебывают.
Пошёл вон. Тебе подпускать к разработке нельзя, если ты с синдром Дартаньяна так считаешь, ЧТО У МИНЯ НЕ УПАДЕТ, а с возрастом ещё и мозг перестает нормально работать.

По факту, все эти лоу-левельные фичи в С/C++ нужны для системного программирования, в домене бизнес приложений - это просто опасно, это понимать нужно после 10+ лет разработки.
Аноним 18/11/21 Чтв 22:10:52 #311 №2216570 
>>2216562
Кхм. А я не говорил что 10+ лет я БИЗНЕС ПРИЛОЖЕНИЯ делал, няша. Я как раз - системный программист изначально.
Аноним 18/11/21 Чтв 22:30:19 #312 №2216580 
>>2216561
> c# тред
> благородные бояре и Хиндли-Милнер
Аноним 18/11/21 Чтв 22:36:14 #313 №2216586 
>>2216561
и с шаблонами можно сделать типо trait'ов с помощью tag_invoke итп, так что сравнение с динамической типизацией херня. в шарпе некоторые недостатки и не пофиксить, разве что ждать .net 98 в котором введут очередной локальный синтаксис
sageАноним 18/11/21 Чтв 22:54:12 #314 №2216600 
>>2216570
>Я как раз - системный программист изначально
Тогда прими мои извинения и нижайший поклон Вашим трудам. Но надо было сразу сказать, что ты котлета и средства уже закончились, вот и пришёл-с милостыню просить.

>>2216580
Ну и что, да я плевал на этих плеебев, и всех, кто не понимает, что .NET и C# - это на самом деле план корпорации по внедрению функционального программирования и семьи ML в мейнстрим через F#.
Аноним 18/11/21 Чтв 23:38:39 #315 №2216625 
Анон, я тупой, и в упор не понимаю, как клепать сайтики на этом вашем .NET Core. Сколько контроллеров надо, как их вешать, что за лейауты и как в них страницы встраивать, куда пихать js. Так много вопросов, и так мало ответов
Аноним 18/11/21 Чтв 23:50:10 #316 №2216630 
>>2216625
Будь как норм челик.
.net для доступа к сущностям из БД, работы с файлами, какой-то логики которую на фронт нельзя вынести. Фронт на жс на любимом фреймворке.
Фронт за каким-нибудь апачем/nginx.
Ну серьезно. Лично как по мне - такой сценарий - всем лучше. Овин, блазор и прочие поделки мелкомягких на поприще все и сразу в одном. Это конечно весело потрогать, но когда начинается реальный бизнес - ты сталкнешься с тем, что либо банальной таблички которую можно отсортировать и сгруппировать по нужному столбцу - либо нет, либо она за кучу денег. В то время как на жс - у тебя миллион и еще столько же - вариантов, плюс запилить свои компоненты на ЖС - проще, быстрее и удобнее, чем на том что мелкомягкие предлагают использовать.
Аноним 19/11/21 Птн 00:06:40 #317 №2216638 
>>2216630
>Фронт на жс на любимом фреймворке
Когда начинается реальный бизнес - ты сталкнешься с тем, что либо фронт будет билдиться полгода, либо увидишь undefined, либо не сможешь даже банальный utc.now получить, либо будешь использовать альфа версию пакета, либо будешь постоянно бороться с уязвимостями в пакетах, либо будешь дублировать бекенд и фронтенд код, либо будешь очень долго пытаться понять говнокод вротенд макаки по типу миллиарда хоков. Нужное подчеркнуть. Не говоря о выходе очередной версии чаще, чем переписывание на оную.
Аноним 19/11/21 Птн 06:30:00 #318 №2216727 
Анончик, кинь какой-нибудь минимальный пример TODO на ASP.net core 5-6 с авторизацией пользователей.

А то что-то ищу, большинство просмотренного просто не работает на core. Либо там нет авторизации.

Саму тему я так-то понял, но еще не могу сам с нуля, хочу взять полностью готовый классические TODO лист и переделать его под свои задачи
Аноним 19/11/21 Птн 08:59:07 #319 №2216770 
>>2216625
>я тупой, и в упор не понимаю
для таких есть метанит, понимания не добавится, но что-то сделать сможешь.
>Сколько контроллеров
Очевидно для учебного проекта пiхуй, главное в один все не скидывай, хотя если у тебя два экшена на все приложение...
>как их вешать
хз что это значит
>то за лейауты и как в них страницы встраивать
Грубо говоря шаблон общий для страниц. Если ты ничего не шаманил, то по-умолчанию для всех страниц береться из shared/_Layout.cshtml Если ты создал пустой проект, то нужно будет создать _ViewImport, где указать нужный _Layout. (Вроде так. В любом случае про это есть на метаните)
>куда пихать js
Если ты про сами жс файлы, то туда откуда их сможет получить юзер. Обычно это папка со скриптами внутри wwwroot (+ не забыть подкллючить мидлварю через app.UseStaticFiles())
>Так много вопросов
Если только начинаешь жто нормально
>так мало ответов
Неправда. Наврядли у тебя возникнет вопрос, на который в интернете уже нет ответа.

>>2216727
>Либо там нет авторизации
возьми Identity, настраивается в пару десятков строк.
Аноним 19/11/21 Птн 09:06:46 #320 №2216777 
>>2216770
>возьми Identity, настраивается в пару десятков строк.
Я не понимаю как проверять.
Не, мне нужен boilerplate пример где бы все уже было понятно подключено.
Аноним 19/11/21 Птн 09:07:20 #321 №2216778 
>>2216727
Т.е. если взять первый попавшийся проект
https://github.com/nbarbettini/little-aspnetcore-todo
он не работает? Там максимум стартап поправить
Аноним 19/11/21 Птн 09:11:27 #322 №2216779 
>>2216727
>>2216778
Кстати, посмотрел дам даже есть PR на апдейты до 3.1 и 5.
>>2216777
>Я не понимаю как проверять.
Что проверять?>>2216777
>Не, мне нужен boilerplate пример где бы все уже было понятно подключено.
Вот и бери Identity. Погугли, он тебе даже страницы дефолтные для логина/регистрации создать может.
Аноним 19/11/21 Птн 09:13:13 #323 №2216781 
>>2216778
Не работает - в репозитории древнее говно, оно не может подтянуть nuget либы. Переделал через новый проект - тупо крашится на какой-то хуите

Я и книгу эту кстати читал - по началу все хорошо, но потом дошел до главы с авторизацией, и автор там вообще нихера не объясняет - откуда-то код берется хуй знает откуда - он нигде не говорит...
Аноним 19/11/21 Птн 09:15:21 #324 №2216782 
>>2216779
>Что проверять?
Да блин, чтобы пользователь мог видеть только свои записи в тодо листе. Я не понимаю как из Identity получить айди пользователя чтобы его сохранить в базу с записью
Аноним 19/11/21 Птн 09:18:54 #325 №2216785 
image.png
>>2216778
Вот, я не понимаю что оно от меня хочет - это я скачал с репозитория
Аноним 19/11/21 Птн 09:25:59 #326 №2216786 
>>2216781
>Не работает - в репозитории древнее говно
Зайди в пул реквесты, дам есть готовый код с обновлением под 3,1 и под 5.
>подтянуть nuget либы
>новый проект - тупо крашится
Может тебе сначала основы подтянуть?
>откуда-то код берется хуй знает откуда
Код есть уже норм. Иди в гугл смотри что делают неизвестный тебе классы и методы.
>как из Identity получить айди
Вся информация по юзеру пихается в свойство User контроллера. Либо можешь вручную через IAuthenticationService.
Аноним 19/11/21 Птн 09:27:42 #327 №2216787 
>>2216785
Зайди в NuGet Manager и выбери новые версии пакетов. И напоминаю, что на гите уже есть код в котором всё обновлено.
Аноним 19/11/21 Птн 09:27:51 #328 №2216788 
>>2216284
Что бы понять почему та или иная фичи реализована как есть. Хотя для этого мозг нужен, тебе походу лучше даже не пытаться, 2+2 не сложишь.

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

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

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

Аноним 19/11/21 Птн 09:29:56 #329 №2216789 
>>2216302
> опыт разработки 10+ лет эти вот костыли - просто заебывают.

У тебя не опыт а просиживание штанов в говноконторе с низким уровнем разработки иначе бы тебя выпиздили на мороз с таким уровнем понимания.
Аноним 19/11/21 Птн 09:32:41 #330 №2216790 
>>2216787
Он не обновляет, я даже вообще все удалил, начал заново добавлять именно новые - хуй, он все равно долбил этой ошибкой
Аноним 19/11/21 Птн 09:35:44 #331 №2216791 
image.png
>>2216786
>Может тебе сначала основы подтянуть?
Ну давай, расскажи что в этом потоке говна случилось
Я скачал код из пулреквеста под 5
Аноним 19/11/21 Птн 09:42:54 #332 №2216794 
>>2216790
Ну он же тебе даже пишет что надо удалить AspNetCore.All, читать умеешь?
>>2216791
Запускай под дебагом и смотри что там. Строки тебе указаны. Что за item?
Аноним 19/11/21 Птн 09:48:23 #333 №2216798 
>>2216794
>ет что надо удалить AspNetCore.All, читать умеешь?
Я все удалил

>>2216794
>Что за item?
Вообщем тут крашится сторонняя либа Humanizer. Удалил, заработало.

Но проблема еще в том что там какой-то толи велосипед для авторизации, толи не знаю что - короче куча кода
https://github.com/nbarbettini/little-aspnetcore-todo/tree/master/AspNetCoreTodo/Models/AccountViewModels
https://github.com/nbarbettini/little-aspnetcore-todo/blob/master/AspNetCoreTodo/Controllers/AccountController.cs
и т.д.

В 5 и 6 asp такого нет - мне не нравится этот поток муссора
Аноним 19/11/21 Птн 09:49:21 #334 №2216801 
>>2216791
Хуманайзер-то обновлен?
Аноним 19/11/21 Птн 09:53:21 #335 №2216805 
>>2216798
>мне не нравится этот поток муссора
Почему ты решил что это поток мусора? Это и есть код для авторизации.
Аноним 19/11/21 Птн 09:56:14 #336 №2216806 
Когда выпустят книги по ASP.NET Core, не путать с книгами по ASP.NET Framework?
Аноним 19/11/21 Птн 10:01:06 #337 №2216811 
>>2216798
Ты бы сначала потренировался на пустом проекте просто идентити прикрутить, чтобы лишнее не отвлекало. Ну и дальше уже подгонял под себя.
https://docs.microsoft.com/en-us/aspnet/core/security/authentication/scaffold-identity?view=aspnetcore-6.0&tabs=visual-studio#scaffold-identity-into-an-empty-project
Ну на метаните есть.

>>2216806
Уже давно есть.
Аноним 19/11/21 Птн 10:02:36 #338 №2216815 
image.png
>>2216801
да, до последней версии

>>2216805
>Это и есть код для авторизации.
Но почему если я создаю проект с авторизацией на 5-6 версии - никакого такого кода в проекте нет, а авторизация работает? Вот на пикче

Меня этот момент смущает - не будет ли проблем от этого велосипеда и того что есть в 5-6 версии?
Аноним 19/11/21 Птн 10:04:09 #339 №2216818 
>>2216811
Я про книги на русском, потому что по C# мало переводят книг, в отличии от Java.
Аноним 19/11/21 Птн 10:10:56 #340 №2216826 
>>2216818
Фримен есть на русском
>>2216815
> никакого такого кода в проекте нет, а авторизация работает?
Он у тебя тянет стандартные страницы из либы, а у чела кастомные.
Аноним 19/11/21 Птн 10:15:55 #341 №2216832 
>>2216815
> никакого такого кода в проекте нет
Вот тут написано как сделать чтобы страницы скопировались в твой проект.
https://stackoverflow.com/a/50805403
И кстати RazorPages и MCV немного разные вещи.
Аноним 19/11/21 Птн 11:15:02 #342 №2216892 
Двачик срочно выручай. Дали тестовое задача написать консольную программу для конвертирования из Json в Csv.
Так вот, че смог реализовать - программа считывает весь Json в переменную типа стринг. Далее реализовал класс заточенный под этот json, то есть провожу десериализацию строки с jsono'm в этот класс, ну а далее уже простой метод конверта и записи в csv файл.

Теперь по поводу того, что сделать не могу - понятное дело такой принцип работает только если заточить класс под конкретный json. Как это реализовать?

p.s нужно использовать System.Text.Json а не Newtonsoft
Аноним 19/11/21 Птн 11:35:01 #343 №2216912 
>>2216892
Так ты можешь через линк или циклом перебирать все значения из жсона и конвертировать все это говно в цсв.
Аноним 19/11/21 Птн 11:59:35 #344 №2216930 
Здравствуйте. Здесь можно задавать глупые вопросы по шарпу и вижуалке?
Аноним 19/11/21 Птн 12:25:11 #345 №2216954 
>>2216930
Нет, здесь можно только пиздеть что ты сеньор+ и поливать всех говном. Добро пожаловать. Снова.
Аноним 19/11/21 Птн 12:52:55 #346 №2216973 
>>2216788
ну давай недостатки спп темплейтов перед генериками
генерики медленно - шаблоны разувают размер бинарника
давай дальше, гений умеющий складывать 2 и 2
Аноним 19/11/21 Птн 13:48:58 #347 №2217032 
>>2216912
А как мне эти самые значения из джисона получить то? Чтобы было что перебирать. Его либо нужно десериализовать а свой клас(что я и сделал собсно) либо десериализовать в jsonElement а в нем такой хуйни для взятия одного определенного объекта я не наблюдаю(может слепой хз, да и вообще я дохуя новичку во всем этом, учусь только) собсно поясню проще чё мне нужно, мне нужен универсальный тип данных, в который я смогу десериализовать жсон чтоб можно было вытаскивать объекты жсона по одному.

P.s я если честно хз я вообще в том направлении копаю? Как выше написал я нуб без опыта вообще.
P.s 2 у меня вышло реализовать это через жёсткие костыли со сторонними библиотеками newtonsoft.json и ещё какая-то опенсорс параша но мне кажется(уверен на 200%) что все это куда проще должно быть ибо тестовое задание даже не на Джуна, а ваще на стажировщика. И из требований там указано было только - чуть знать сишарп и немного платформу .net
sageАноним 19/11/21 Птн 14:22:27 #348 №2217063 
>>2205513 (OP)
Аноны ,извините ,что не по теме . Прошел собеседование и меня взяли , теперь мне стремно выходить на работу ,тк я ничего не знаю . Я хорошо отвечал на их вопросы ,но я все равно ничего не знаю . У кого было такое ?
Аноним 19/11/21 Птн 14:42:24 #349 №2217078 
>>2217032
https://pastebin.com/4zuQDp39
Если надо шапку первой строкой сделай. Тоже самое, только для одной строки и вместо Value Name.
>>2217063
Эх, еще один вкатился. А я как сыч сижу на двощах.
Аноним 19/11/21 Птн 14:56:22 #350 №2217095 
Пожалуйста, анон. Можешь объяснить, почему я не вижу (в главном методе программы) унаследованный метод, пока не поставлю ему модификатор static? Почему вообще методов без этого модификатора не видно за пределами класса? Даже родительского.
Аноним 19/11/21 Птн 15:01:22 #351 №2217101 
>>2217095
>унаследованный метод
кто от кого метод унаследовал?
>поставлю ему модификатор static
для доступа к нестатичным методам(экземплярным) внезапно нужен экземпляр. Он у тебя есть?
>не видно за пределами класса
Видимость определяют модификаторы public/protected и т.д. От static зависит кому принадлежит метод: типу или экземпляру.
Почему бы тебе не заглянуть в первый пост и не выбрать подходящую книжечу?
Аноним 19/11/21 Птн 15:03:51 #352 №2217106 
>>2217078
System.InvalidOperationException: "The requested operation requires an element of type 'Array', but the target element has type 'Object'."

Выдает doc.RootElement.EnumerateArray()
Аноним 19/11/21 Птн 15:04:25 #353 №2217108 
Как его из обчекта в массив ебануть?
Аноним 19/11/21 Птн 15:05:55 #354 №2217110 
Кстати, че еще в голову пришло. Вот эти библиотеки для жисона майки ебанули недавно, может быть такое что на vs 2019 года это хуево работает?(core 3.1)
Аноним 19/11/21 Птн 15:07:58 #355 №2217112 
>>2216973
Уже перечисленного тобой достаточно что бы оба подхода сосуществовали. Разве что "медленно" это слишком громко сказано, если ты под дотнетом то там повсеместно такие накладные расходы в рантайме, если ты его выбрал живи в его парадигме и не пизди. Все отличия генериков от шаблонов это лишь следствия сред (и требований (аксиом) которые к этим средам предъявляют).
Аноним 19/11/21 Птн 15:08:43 #356 №2217113 
>>2217106
Да я же не ебу что у тебя там за жсон, я тебе приложил с которым работает: массив однотипных элементов.
>>2217108
Чё?
>>2217110
>может быть такое
Нет
Аноним 19/11/21 Птн 15:12:45 #357 №2217118 
>>2217101
> кто от кого метод унаследовал?
Абстрактный класс а с одним методом
обычный класс б наследует из абстрактного класса
Я пытаюсь вызвать в главном методе программы, унаследованный классом б метод. Вызвать пытаюсь через класс б.
> для доступа к нестатичным методам(экземплярным) внезапно нужен экземпляр. Он у тебя есть?
Нет, как его получить? Создать конструктор?
> Видимость определяют модификаторы public/protected и т.д. От static зависит кому принадлежит метод: типу или экземпляру.
У меня стоит public, но это не влияет на видимость. Ставлю static видно, убираю -- не видно.

Спасибо, за ответ.
Аноним 19/11/21 Птн 15:15:55 #358 №2217119 
>>2217118
>Нет, как его получить? Создать конструктор?
Конструктор уже есть по умолчанию. Экземпляр создается с помощью new
>У меня стоит public, но это не влияет на видимость
Влияет
>Ставлю static видно, убираю -- не видно.
Потому что ты вызываешь метод на типе, а не на экземпляре.
про книжку я не шутил
Аноним 19/11/21 Птн 15:26:27 #359 №2217122 
>>2217110
Для работы с JSON в .NET стандартная либа - это Newtonsoft. То что под System.Text.Json - это попытка заимлементить Newtonsoft в стандартной либе, Newtonsoft появился раньше почти на десять лет.
Аноним 19/11/21 Птн 16:15:45 #360 №2217153 
>>2217119
Так-с, до меня допёрло. Я создал экземпляр этого класса и через него вызвал унаследованный метод. Спасибо.

Прости, анон, но можно ещё два вопроса? А зачем вот оно нужно? Т.е. это нужно каждый раз создавать пустой объект, чтобы вызвать какой-либо метод?

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

На страничке в википедии с этим паттерном -- то, что я не мог понять. Забавно.

Ещё раз большое спасибо.
Аноним 19/11/21 Птн 16:24:44 #361 №2217159 
>>2217112
т.е. накладные расходы на память это не хорошо, а на время выполнения похуй? а фичи чтобы код не дублировать никому не нужно видимо
Аноним 19/11/21 Птн 16:28:48 #362 №2217165 
>>2217159
Про память это был контраргумент якобы темплейт во всем лучше генерика.
Как я понял в дотнете ключевым требованием было что бы генерик был полноценным дот.нет объектом, соответсвенно все свойства темплейта которые трубуют что бы он был макросом отсекаются.
Аноним 19/11/21 Птн 16:34:35 #363 №2217171 
>>2217165
Выводы - явление генерика логично и обосновано, но я и чел выше, как я понимаю, просто жаловались на недостаток возможностей, ни больше ни меньше. имо введение static abstract очень приятно например.
Аноним 19/11/21 Птн 19:22:39 #364 №2217343 
image.png
Аноны подскажите, Xamarin, как сделать чтобы текст центрировался по вертикали тоже? я код взял с metanit, но почему-то центрируется только по горизонтали, как будто высота страницы только по тексту определяется а не по всему экрану
Аноним 19/11/21 Птн 21:13:21 #365 №2217442 
Чет я потыкался в этом minimal-api в одном из микросервисов и чет будто говна поел. Вообще не понравилось как это все выглядит и как предлагается работать. Может быть я не прав или что-то не так делаю? Но серьезно, чувство будто какое-то говно без задач, разве что у тебя микросервис - действительно ну совсем микро и из апи - там два роута, один из которых это проверка жив ли сервис.
Может быть я не прав? Поясните те кому это понравилось, в чем соль. Я действительно чувтсвую себя каким-то долбоебом. Не могли же майки просто говно без задач выкатить и пихать это как шаблон который увидит нюфаг, только что запустивший студию и создавший проект с апи.
Аноним 19/11/21 Птн 21:51:29 #366 №2217463 
>>2217343
https://stackoverflow.com/questions/25338533/what-is-the-difference-between-xamarin-forms-layoutoptions-especially-fill-and/25338534#25338534

Посмотри вот это
Аноним 19/11/21 Птн 22:15:06 #367 №2217474 
>>2217442
Минапи убирается надобность медиатр. Вместо контроллеров делишь на эндпоинты по файлам.
Аноним 19/11/21 Птн 23:49:13 #368 №2217532 
Поцонтрэ, дает ли foreach бонус к скорости перебора миcсива по сравнению с for?
Аноним 19/11/21 Птн 23:52:15 #369 №2217535 
>>2217532
Нет. В большинстве кейсов - наоборот.
Другое дело, что тут ты гарантированно не выйдешь за границы, не совершишь классическую ошибку на единицу и не нужно по разному перебирать разные типы коллекций.
Аноним 20/11/21 Суб 00:01:56 #370 №2217539 
image
Зачем в структуру System.Drawing.Color, которая используется по сути для работы с графикой и должна быть легкой и быстрой, напихали столько говна (см. пикрил - реализация с source.dot.net)?
Зачем для приватного value используется 64 битный long, если даже в комментарии к полю написано, что это Standard 32bit sRGB (ARGB)??? Почему бы не взять uint?
Причем лишние 4 байта в коде нигде не используются. Но зато есть отдельное поле short state и отдельное поле short knownColor, хотя они оба поместились бы в неиспользуемый хвост long value.
Особенно удивляет, что для каждой структуры они таскают вместе с ней и string? name, таскают 8 байт на ссылку, которые во множестве кейсов всегда будут null.
Структура Color занимает в памяти 24 байта! Вместо минимально необходимых и достаточных 4 байтов.

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

Я хоть в чем-то прав, или я тупой трейни и просто не понял гениальности микрософтовского кармака?
Аноним 20/11/21 Суб 00:06:05 #371 №2217540 
>>2217532
Ну и да. Если тебе нужно быстро ходить по массиву туда-обратно, то "скорость" можешь повысить беря сразу кусок памяти с несколькими элементами за раз и делая что тебе там надо. Это и компилятор может тебе соптимизировать иногда, а иногда он не соптимизирует и лучше руками, а иногда - шарп выебнется и накинет дополнительную проверку того что ты не вышел за границы и тогда фор будет медленнее форича, потому нужно в конкретном методе смотреть, если тебе так уж важно эти наносекунды сэкономить.
Аноним 20/11/21 Суб 00:10:21 #372 №2217545 
>>2217540
>>2217535
Ну мне то это не нужно.
Просто возник такой вопрос.
В foreach нельзя изменять элементы и по этому думал бонус к скорости будет.
Аноним 20/11/21 Суб 00:45:02 #373 №2217556 
>>2217539
Ни в чем не прав. И тут я полностью серьезен.
Я, блядь, из-за тебя полез даже смотреть код который там есть, и достаточно, блядь, перевести глаза на что-то кроме полей, как все, сука, понятно сразу, почему так сделано и для чего.
Если ты находишься на этапе освоения переменных и размеров типов данных, это еще не повод лезть в исходники и потом бежать показывать, какие у майкрософта дураки работают.
Аноним 20/11/21 Суб 01:37:35 #374 №2217570 
>>2216954
А если я напизжу, что сеньор + полью всех говном, а потом задам глупые вопросы, то сработает?
Аноним 20/11/21 Суб 11:50:51 #375 №2217722 
>>2217153
>Т.е. это нужно каждый раз создавать пустой объект, чтобы вызвать какой-либо метод?
Потому объекты обычно не пустые. Например тебе нужно 100 точек. Ты же не будешь писать 100 классов под каждую точку, можно написать класс точку и создать 100 экземпляров этого класса.
>в абстрактном классе каждый этот общий виртуальный метод реализовать
Не понимат. Потомок абстрактного класса обязан реализовать абстрактные методы родителя, если сам не является абстрактным классом.
>может быть, сделать статичным
Статичные методы не могут быть абстрактными/виртуальными
>классы унаследуют виртуальный метод из абстрактного класса, он будет же работать в контексте класса-потомка
Не понимат х2. Потомки наследуют все методы родителя.
Если ты в потомке переопределяешь методы базового класса, то будут вызываться переопределенные методы даже по ссылке типа базового класса.
>Методы в паттерне обязательно должны быть абстрактными?
Виртуальные тоже считаются.
Аноним 20/11/21 Суб 12:03:40 #376 №2217724 
>>2217343
По идее стек имеет высоту в зависимости от контента, в данном случае равную высоте лэйбла. Так что лэйбл находится по центру стека. Не думаю, что стек можно растянуть на весь экран, так что лучше использовать грид. С замарианом не работал, могу ошибаться.
>>2217532
Да, но отрицательный.
>>2217570
Попробуй.
Аноним 20/11/21 Суб 12:27:32 #377 №2217734 
image
>>2217724
>Да, но отрицательный.
https://pastebin.com/4q49Vryf
Аноним 20/11/21 Суб 13:41:11 #378 №2217811 
>>2217734
Забавно.
Раньше форич всегда был медленнее.
Как же этот момент заебывает. Вот ты году в 2011 что-то узнал, работаешь себе кучу лет, потом втихаря мелкомягкие что-то поменяли и теперь твои знания потеряли актуальность и тебя уже какой-нибудь джун толковый может подловить на пиздеже, а ты ведь даже не пиздишь, просто информация неактуальна.
Проверь это на третьей версии шарпов.
Аноним 20/11/21 Суб 13:50:59 #379 №2217815 
zaloops.png
>>2217734
а у меня так
Аноним 20/11/21 Суб 13:57:57 #380 №2217821 
>>2217811
Надо заставить всех программистов раз в полгода проходить аттестацию по тем вопросам, которые задают на собесах и по итогам снижать им зарплаты.
Аноним 20/11/21 Суб 14:00:29 #381 №2217823 
>>2217815
У тебя правильно. Согласно заметкам разработчиков for и foreach должны работать примерно одинаково для массива. Почему на моем процессоре foreach работает быстрее, а хрен его знает.

Эти микро бенчмарки все равно херня. Только использование какого-нибудь NBomber на реальной машине и реальном коде показывает реальную картину.
Аноним 20/11/21 Суб 14:02:26 #382 №2217825 
>>2217821
Куда мне снижать? Я и так работаю за 40к. 20к отдаю за квартиру. Тут чтоб ноутбук купить - пришлось кредит взять.
Аноним 20/11/21 Суб 14:08:58 #383 №2217831 
>>2217825
Люди и по 15к получают
Аноним 20/11/21 Суб 14:14:34 #384 №2217833 
>>2217831
Тогда я не смогу за квартиру платить же и буду вынужден искать работу где платят больше.
Аноним 20/11/21 Суб 14:21:21 #385 №2217841 
index.jpg
>>2217833
Не можешь арендовать чужую - купи свою.
Аноним 20/11/21 Суб 14:43:34 #386 №2217865 
>>2217841
Ну, максимальный кредит что мне готовы одобрить - 120к. Этого не хавтит чтоб свою купить.
Аноним 20/11/21 Суб 16:09:02 #387 №2217930 
>>2212086
Ты можешь смотреть IL/Compile/Asm на сайте sharplab.io
Аноним 20/11/21 Суб 16:19:33 #388 №2217936 
>>2212086
Можно написать плагин, он не сложно пишется. Если его еще не написали. Заодно напиши плагин на синтаксическое дерево.
Аноним 20/11/21 Суб 16:42:26 #389 №2217955 
>>2217722
>Не понимат. Потомок абстрактного класса обязан реализовать абстрактные методы родителя, если сам не является абстрактным классом.
Я неправильно выразился. Я хочу вынести общее поведение классов в абстрактный класс от которого они наследуют, но в самом паттерне написано, что это общее поведение нужно будет переписать в каждом классе. Почему тогда абстрактный класс, а не интерфейс, спрашивается... Если я вынесу общее, то это уже будет не паттерн, так?
Из этого следует второй вопрос, на который, ты уже ответил спасибо, но я всё равно уточню. Если я переопределил методы абстрактного класса и вызвал их через класс потомок, то это же будет метод класса потомка? Я не попаду на метод абстрактного класса?

А если я не переопределил?

То же самое касается полей. Поля которые унаследованы, они уже являются полями класса-потомка? Они же никак не связаны с такими же полями класса-родителя? То есть, это как если бы я объявил эти поля в классе-потомке?
Ещё раз спасибо.
Аноним 20/11/21 Суб 17:44:15 #390 №2217990 
>>2217865
Можешь войти в долю по покупке холодильника и забрать себе коробку
Аноним 20/11/21 Суб 18:58:47 #391 №2218043 
>>2217955
> но в самом паттерне написано, что это общее поведение нужно будет переписать в каждом классе
Абстрактный класс нужен для того, что бы иметь абстрактные методы (или по какой-то причине нужно запретить создание экземпляров базового типа, но шизоидные расстройства рассматривать не будем), а абстрактные методы не могут иметь реализацию. Т.е. базовый класс не знает как должен быть реализован некий метод, например возьмем класс Stream, у которого есть метод CopyTo, базовый класс знает как произвести копирование - прочитать из источника и записать в целевой стрим, а вот как производить чтение/запись решает уже потомок (файл/сеть/опрератива). Но для шаблонного метода абстрактный метод не обязателен, виртуальный метод тоже подходит: ToSting() - пример шаблонного метода.
>Почему тогда абстрактный класс, а не интерфейс, спрашивается
Во-первых, класс может реализовать тела некоторых методов (извращение в виде дефолтной реализации методов интерфейса рассматривать не будем), во-вторых иерархия: наследование говно это жесткая связь X является Y, а интерфейс контракт X может делать Y.
>то это же будет метод класса потомка?>
>А если я не переопределил?
>То же самое касается полей
Класс - это чертеж, по которому будут изготовлены его экземпляры. Даже экземпляры одного класса будут иметь каждый свой набор данных. Это касается нестатичных методов/полей. Для статичный тоже самое но на уровне типа а не экземпляра и там нет виртуальных/абстрактных членов.
Судя по твоим вопросам ты не понимаешь ни что такое наследование ни что такое классы а потому ИДИ ЧИТАЙ КНИКИ БЛЕАТЬ
Аноним 20/11/21 Суб 20:16:23 #392 №2218109 
>>2218043
Я просто хотел убедиться, что унаследованные поля не будут перекрывать поля другого класса. Я убедился, спасибо.
Я прочитал главу про наследование из "The C# Player's Guide". Узнал, что объект класса родителя можно инициализировать через конструктор потомка. Мощно.
Аноним 20/11/21 Суб 20:21:56 #393 №2218114 
>>2218109
>унаследованные поля не будут перекрывать поля другого класса
чего блять.жпг
>объект класса родителя можно инициализировать через конструктор потомка
Шта?.жпг
Ты точно что-то понял?
Аноним 20/11/21 Суб 20:26:10 #394 №2218115 
>>2218114
1) Ну так это c# это ж ссылочное что-то там.
2) Вот это:
Using Derived Classes
Derived classes are just like any other class, and can be used as a type just like any other class. From a
basic perspective, there’s nothing special about how you use them:
Polygon polygon = new Polygon(3); // a triangle
Square square = new Square(4.5f); // a square, which is a polygon with 4 sides of length 4.5.
But here’s the interesting thing. Because the computer knows that a Square is just a special type of
Polygon, you can actually use the Square type anywhere that you could use a Polygon type. After all, a
Square is a Polygon!
Polygon polygon = new Square(4.5f);
As the program is running, when we’re using the polygon variable, we only have access to the stuff that a
Polygon has. So we can check to see the NumberOfSides it has. But as the program is running, we can
only treat it as a Polygon. There’s a chance that it is a Square (or another derived class), but the computer
won’t assume it is. So we won’t be able to automatically use stuff created in the Square class in this
particular case. Because our variable uses the Polygon type, we can only work with the things the
Polygon type defines.
While we can put a Square in a variable with the Polygon type, you can’t go the other way around. You
can’t assign a Polygon object to a variable with the type Square, like this:
Square square = new Polygon(3); // Does not compile.
This is because while all squares are polygons, not all polygons are squares
.
Аноним 20/11/21 Суб 20:54:46 #395 №2218144 
>>2218115
1) Шта?
2)Там говорится про тип переменной, а не объекта. Т.е. переменная типа Base может указывать на объtкт типа Derived.
Аноним 20/11/21 Суб 21:32:11 #396 №2218184 
>>2218144
Да, я дурак, в любом случае, спасибо.
UWP Аноним 20/11/21 Суб 22:01:58 #397 №2218202 
В шапке расписано про использование форм и впф, но что все думают про юниверсал виндоус плэтформ? Стоит ли на этом разрабатывать приложения и что вы можете сказать об этом?
Аноним 20/11/21 Суб 22:04:29 #398 №2218206 
>>2218202
алсо, вот, выучился пользоваться инструментом, синтаксис и все дела, но КАК его применять, что с этим делать? Помогите начинающему разрабу
Аноним 20/11/21 Суб 22:04:49 #399 №2218207 
>>2218202
Депрекейтед. Если надо это говно, можешь кроме впф посмотреть винуи и авалонию
Аноним 20/11/21 Суб 22:18:29 #400 №2218224 
А когда статус WPF станет deprecated?
Аноним 20/11/21 Суб 23:19:10 #401 №2218283 
>>2218202
Я раскрою тебе страшную тайну, только тссс. Если ты знаешь впф, то ты можешь писать на любой замл-подобной хуйне. Увп сдохло.
Аноним 21/11/21 Вск 00:21:08 #402 №2218308 
Я правильно понимаю, что на самом деле все это ООП это что-то в духе:

Вот есть некая таблица типов(классов) которые мы объявили. Класс это, по сути структуры со ссылками на функции которые можно использовать в контексте объекта плюс данными о переменных(полях), ну какие поля, как обозвали, размер и прочее, чтобы при очередном создании объекта - выделить нужный кусок памяти.
Когда мы создаем объект, на самом деле есть скрытый от глаз программиста механизм, который конструкцию MyClass myObject = new MyClass(a, b) развернет во что-то типа такого:
Object myObject = CreateInstance(Classes.MyClass, a, b);

А вызов метод myObject.Foo(); будет чем-то типа:
Call(Classes.MyClass, Foo, myObject)

Чи я не прав и совсем не понимаю как это концептуально работать должно?
Аноним 21/11/21 Вск 00:42:53 #403 №2218326 
>>2218308
Какое отношение ООП имеет к тому непонятному бреду про создание класса и вызов метода?
Аноним 21/11/21 Вск 00:45:52 #404 №2218331 
>>2218326
Ну, мне интересно именно как происходит это вот связывание куска памяти выделенного под объект с теми функциями и процедурами и как делается так, что мы можем получить именно те данные что у созданного объекта.
Вот давай представим, что ты решаешь писать это вот ООП на ассемблере/си. Как бы это должно было быть реализовано?
[saga] Аноним 21/11/21 Вск 01:01:28 #405 №2218336 
>>2218202
Оно мертво
Впрочем у меня в резюме оно есть. Где-то после Dapper
Аноним 21/11/21 Вск 01:01:47 #406 №2218337 
>>2218331
1. Объект может быть выделен в куче или стеке.
2. В куче может быть выделен 3 способами.
3. При вызове метода может произойти апкаст, зависит от принадлежности метода какому-то типу, скажи спасибо неявному имплиситу. Или результат композиции. Из-за разбросанных данных в куче существует техника хранить данные линейно, что к ООП не имеет вообще никакого отношения.
4. На C# нет процедур. Как работают функции я не знаю. Методы принадлежат к типу, причем статические и не статические отличаются.

>должно было быть реализовано
Как должно быть реализовано? В расте zero cost абстракции и нет хопов по виртуал коллам.
Аноним 21/11/21 Вск 01:03:45 #407 №2218338 
Вот вы тут выше методы называете функциями
Вам на работе не ебут мозг, ЭТО МЕТОДЫ СУКА ФУКЦИИ В ПАСКАЛЕ?

А то мне на первой РАБотке после универа, это настолько вбили в голову, что теперь я сам дергаюсь когда джуны их функциями называют
Аноним 21/11/21 Вск 01:19:57 #408 №2218348 
>>2218338
Ну, я не называл методы функциями в посте выше. Т.к. что я говорил в контексте условных Си и как бы на нем реализовывлось ООП со связыванием адресов функций со структурой и данными в ней.

А так, я просто книжки читал, там использовали терминологию с методами, когда пришел на работу - все так же использовали такую же терминологию. Когда приходит условный студент - ему просто дается талмуд, в котором есть соглашение о терминах, стилях, именовании, плюс сразу для новичков пояснение где они могут на грабли наступить, чтобы как минимум знали, что можно сразу посмотреть готовый рецепт, если таки наступили, вместо того чтобы гуглить и копипастить непонятную хуету со SO.
Аноним 21/11/21 Вск 01:26:49 #409 №2218356 
>>2218338
>вы
В двух постах от одного и того же анона из 400+?

>ЭТО МЕТОДЫ СУКА ФУКЦИИ В ПАСКАЛЕ
Попаболь от паскаля? Функции есть на C++.
Аноним 21/11/21 Вск 01:29:47 #410 №2218364 
>>2218356
Функции и в шарпах есть.
Что по твоему это:
class A{
//метод
public void Foo(){
//функция
void Bar(){ Console.WriteLine("Im function!!!");}
Bar();
}
}
Аноним 21/11/21 Вск 01:31:19 #411 №2218366 
>>2218364
Это ты пост читаешь жопой.
Аноним 21/11/21 Вск 02:29:51 #412 №2218389 
Посмотрел щас вакансии на hh - почти везде требуют вышку даже у джуна, а зп не выше в среднем по рыночку, если не меньше.
С чем это связано? Я думал в качестве первого яп его поучить
Аноним 21/11/21 Вск 10:30:23 #413 №2218460 
>>2218308
>ну какие поля, как обозвали, размер и прочее
Это хранится в объекте типа.
>есть скрытый от глаз программиста механизм
Нет никакого скрытого механизма. В CLR есть опкод newobj.
>А вызов метод myObject.Foo(); будет чем-то типа:
>Call(Classes.MyClass, Foo, myObject)
Нет, это будет скорее
MyClass.Foo(myObject).
>совсем не понимаю
Рихтер CLR via C#
Аноним 21/11/21 Вск 11:06:13 #414 №2218480 
>>2218460
>Рихтер CLR via C#
Не актуально.
Аноним 21/11/21 Вск 11:13:54 #415 №2218483 
>>2218480
актуально
Аноним 21/11/21 Вск 11:38:01 #416 №2218493 
А как проверить корректность флагового енума? Для обычного использую Enum.IsDefined. А вот если использую флаги, то например 1 | 2 даст 3, а 3 не определено, тем не менее это корректное значение.
Аноним 21/11/21 Вск 11:41:22 #417 №2218495 
>>2218493
Вычти 1 и 2 побитово или сложи все флаги.
Аноним 21/11/21 Вск 11:53:37 #418 №2218501 
enum.png
>>2218495
Пробовал, но меня шлют нахуй.
Аноним 21/11/21 Вск 11:59:24 #419 №2218503 
>>2218501
Пока сделал через Convert.ToInt32 енумов, но выглядит как костыль, тем более, что андерлаингТайп может быть не int32.
Аноним 21/11/21 Вск 12:05:45 #420 №2218504 
>>2218501
В самой энамке создай значение All = A | B | ..., а при проверке касти энамку в тип значения, по дефолту int.
Аноним 21/11/21 Вск 12:28:46 #421 №2218519 
>>2218504
>энамке создай значение All = A | B
Я пытаюсь сделать более менее общее решение, и во все флаговые енумы пихать все возможные сочетания не варик. Да и чем он будет тогда отличаться от не флагового.
>касти энамку в тип значения
Нельзя скастить T к инту, даже если стоит ограничение T : Enum
>по дефолту int.
А не по дефолту может прилететь long
Аноним 21/11/21 Вск 13:34:23 #422 №2218585 
>>2218519
Ты поиграйся со своим говно решением, потом может быть придет понимание.
Аноним 21/11/21 Вск 13:55:17 #423 №2218617 
>>2218585
Понимание чего? Может у тебя оно есть? Так-то я уже сделал, хоть получилось и многословно.
Аноним 21/11/21 Вск 14:16:36 #424 №2218638 
Стикер
>>2218617
Хуевый код, но зато работает!
Аноним 21/11/21 Вск 16:36:26 #425 №2218839 
Что можно сделать бэкендеру, чтобы попрактиковаться? Хочется закрепить теорию на практике, а с идеями туго
Аноним 21/11/21 Вск 16:54:49 #426 №2218860 
>>2218839
двач
Аноним 21/11/21 Вск 16:57:32 #427 №2218866 
>>2218860
Уже сделал. Без красивого фронта, правда, но сделал
Аноним 21/11/21 Вск 17:09:07 #428 №2218888 
>>2218866
покажи
Аноним 21/11/21 Вск 17:18:36 #429 №2218896 
FAj0oB8XoAEZNgR.jpg
>>2218839
Блин. Делай сорт-оф органайзер на микросервисах.
Вот тебе в виде идеи.

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

Средний уровень:
Управление проектом.
Пользователь создает проект, может ставить в нем задачи и подзадачи, может назначать ответственных и следить за статусом выполнения проекта. Предупреждая о том, что вот подходит дедлайн а эти хуи еще не сделали.

Программа максимум:
К среднему уровню прикручиваешь управление бюджетом и ресурсами, всякие генерации отчетов, возможность обмена файлами, сбора всяких метрик по эффективности всяких сотрудников, возможность назаначать бонусы в зависимости от того насколько быстро выполнили задачу, строить диаграммы Ганта, ставить метки задачам и подсказывать управленцу на основе предыдущего опыта подобных задач - наиболее подходящих исполнителей в зависимости от загруженности других, сроков и предполагаемом бюджете на проект.
Аноним 21/11/21 Вск 18:28:21 #430 №2218995 
string muhstr;

for (int count = 1; count <= 3; count++) {
muhstr = "test";
}

Console.WriteLine(muhstr);

Почему это не работает? На бесполезный цикл не смотрите - неумело переделал из другого примера, в котором за пределами цикла переменной присваивалась пустая строка, к которой уже в цикле добавлялось что-нибудь еще. Решил для интереса сделать только declaration за пределами цикла и initialization внутри него и получил "Use of unassigned local variable".
Аноним 21/11/21 Вск 19:09:19 #431 №2219034 
>>2218995
В начале:
string muhstr = string.Empty;
Аноним 21/11/21 Вск 19:11:47 #432 №2219037 
>>2218995
Компилятор исходит из того, что в общем случае цикл может выполниться ноль раз. И поэтому считает, что muhstr может быть не инициализирована. Сделай так
string muhstr = null;
Аноним 22/11/21 Пнд 00:51:37 #433 №2219247 
Screenshot2021-10-18-01-13-38-140com.vkontakte.android.jpg
Дорогие аноны пожалуйста помогите кто может , не могу уже долгое время найти данную книгу на русском языке , может у кого есть в пдф варике , буду очень благодарен
Аноним 22/11/21 Пнд 08:03:10 #434 №2219344 
>>2219247
А она есть на русском?
Аноним 22/11/21 Пнд 08:21:06 #435 №2219347 
>>2219344
Да.
Аноним 22/11/21 Пнд 08:21:29 #436 №2219348 
>>2219344
Нет.
Аноним 22/11/21 Пнд 08:21:49 #437 №2219349 
>>2219344
Возможно.
Аноним 22/11/21 Пнд 08:22:16 #438 №2219350 
>>2219344
Не исключено.
Аноним 22/11/21 Пнд 08:22:48 #439 №2219351 
>>2219344
Кто знает...
Аноним 22/11/21 Пнд 08:27:05 #440 №2219352 
Есть у кого роадмап с# джуниор? Интересует именно стартерпак без которого никуда. Хелп.
Аноним 22/11/21 Пнд 08:34:58 #441 №2219355 
>>2219247
Её ещё не перевели. Читай по 7 версии пока.
Из последних перевели, но на торренты не выложили книгу "ASP.NET Core в действии". Вот её ждём. Остальные даже не переводятся судя по всему.
Аноним 22/11/21 Пнд 10:21:41 #442 №2219380 
>>2219352
https://github.com/saifaustcse/dotnet-developer-roadmap
>>2219355
>>2219247
А знаете что еще переведено? Доки и туториалы на мсдн! Да, не всегда машинный перевод дает корректный результат, но зато самые актуальные данные и бесплатно!
Аноним 22/11/21 Пнд 11:13:32 #443 №2219408 
Как правильно сделать... asp.net core mvc

Вот у меня есть FooController содержащий список овощей. Теперь пользователь щелкает по одному овощу и открывается страница с его детализацией.

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

а вот найти пример как оно бы из FooController передавало выбранный фрукт в Foo2Controller - я пока не нашел.

Да, понимаю что можно банально редиректом site/Foo2/?: на html передав айдишник овоща... Но это же явно херня способ - любой "хакер" школьник просто подменит туда другой айдишник и украдет важные данные.

Наверняка же должен быть более адеквантый безопасный способ


И вообще где-нибудь есть наборы примеров по asp.net? А то как-то не густо в интернете - вроде и делаю базовые вещи, а найти примеры не могу


Аноним 22/11/21 Пнд 11:33:56 #444 №2219423 
>>2219380
Спасибо анон, но я этот роадмап находил сам как раз. Тогда вот такой вопрос для того, чтобы претендовать на место джуна нужно пройти все красные флаги с этого роадмапа? Это вообще роадмап на джуна расчитан или уже углубленный?
Прост хуй знает, этот роадмап по моему хотя бы на 1к часов изучения расчитан(если еще и практику не брать) а это за два года можно осилить только и то с большой натяжкой и если заниматься хотя бы по часов 6 каждый день
Аноним 22/11/21 Пнд 11:37:21 #445 №2219426 
>>2219423
Вообще кто может посоветовать куда дальше двигаться?
Вот знаю я к примеру основу с# понимаю основу ООП мне че дальше вообще учить то? В тырнетах нигде нихуя толком не сказано, роадмапы какие-то ниебических размеров на 2-4 года интенсива, совету уровня "смотри вакансии и учи стек который там" но вот по вакансиям я вообще хуй знает, везде разные требования да и даже основные требования хуй пойми как написаны. Вот на конкретный вопрос может кто ответить, что должен знать джун по умолчанию, то есть вот прям точно обязан знать что?
Аноним 22/11/21 Пнд 11:43:21 #446 №2219430 
>>2219426
>>2219423
Еще бесят постоянные совету в инетике найти ментора. Но хуй кто скажет как его вообще отыскать. Мне даже представить трудно что есть какой-то абстрактный джентельмен который будет отвечать на вопросы(скорее всего дебильные для него) и тратить на это время.
Аноним 22/11/21 Пнд 13:23:59 #447 №2219490 
>>2219423
Это сферический роадмап в вакууме. В какой-то компании больше нужны одни скилы, в другой другие.
>чтобы претендовать на место джуна нужно пройти все красные флаги с этого роадмапа?
не обязательно. Если пойдешь на проект на впф, навряд ли тебе помогут знание web api (может как дергать, но ни как писать)
>на джуна расчитан или уже углубленный?
На джуна скорее, но это не значит, что ты должен все эти технологии знать в совершенстве
> это за два года можно осилить только и то с большой натяжкой и если заниматься хотя бы по часов 6 каждый день
ХЗ, но за 21 день программистом не станешь, если только плюсовиком
>с# понимаю основу ООП мне че дальше вообще учить то?
Запили свой проект, во-первых узнаешь что надо подтянуть, во-вторых будет что в резюме показать. А потом иди на собесы, там уже узнаешь чего не хватает для реальной работы
>на конкретный вопрос может кто ответить, что должен знать джун по умолчанию
никто. Компании берут человека для выполнения конкретных задач и они разные у разных компаний
>вот прям точно обязан знать что?
ну пожалуй красные флажки плюс-минус обязательный минимум и есть
>будет отвечать на вопросы(скорее всего дебильные для него) и тратить на это время.
Ну не за бесплатно же. А всяких онлайн площадок до жопы.
Аноним 22/11/21 Пнд 13:32:18 #448 №2219494 
>>2219408
>банально редиректом site/Foo2/?: на html передав айдишник овоща...
именно так
>любой "хакер" школьник просто подменит туда другой айдишник и украдет важные данные.
если какие-то данные должны быть доступны только Васе, то надо использовать аутентификацию и авторизацию. Пллюс содержимое может генерироваться для каждого свое. Вот заходят на vk.com, но не читают же личку друг друга
>И вообще где-нибудь есть наборы примеров по asp.net?
На гитхабе на любой вкус
>не густо в интернете
>найти примеры не могу
тогда сначала научись пользоваться интернетом
Аноним 22/11/21 Пнд 14:09:29 #449 №2219506 
>>2219430
>совету в инетике найти ментора
Большая часть советующих это - женского пола?
Аноним 22/11/21 Пнд 16:16:10 #450 №2219615 
>>2219506
Да хуй знает кто там в инетике под никами скрывается. Прост топ совет по любому запросу везде найти ментора.
Аноним 22/11/21 Пнд 16:34:18 #451 №2219623 
>>2219615
Для тянок это реально работает.
Когда же такое советует парень - это не более чем вежливое "отъебись от меня, пошел нахуй, другого кого доебывай"
Аноним 22/11/21 Пнд 17:41:37 #452 №2219661 
image.png
image.png
Может кто-то внятно пояснить за юнит тесты? в чем их смысл?

то что я прочитал на метаните это какая-то чушь вроде
если viewData = "оп хуй", тогда оп хуй!

чушь если честно, попробовал на реальном проекте затестить в реально важном таске, и он мне показывать мол нулл референс хотя если тестить все ручками никакого нулл референса даже теоретически быть не может. тесты эти какие то совершенно бесполезные. мне даже кажется что все эти юнит тесты это какой-то внутренний прикол что бы тролить ньюфегов, типа как в армейке " до 1000 посчитай!" а на вопрос нахрена это надо отвечают мол что бы дембелей повеселить!
Аноним 22/11/21 Пнд 19:39:25 #453 №2219788 
>>2219661
>мне показывать мол нулл референс
Ты не замокал хттпконтекст
Аноним 22/11/21 Пнд 19:56:59 #454 №2219815 
Что лучше (если не важна производительность) - писать функцию как длинное выражение с LINQ (и если да, то как оформлять) или разбивать на обычные циклы ради читаемости?
Аноним 22/11/21 Пнд 22:17:45 #455 №2219913 
Безымянный.jpg
>>2219815
С какого блядь хуя циклы - более читаемы чем линку?

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

Linq - это лучшее что произошло в плане читаемости кода в шарпе и оно в миллионы раз понятнее и удобнее для чтения чем ебатека с циклами. Про циклы в плане кода как раз нужно вспоминать, когда ты понимаешь, что можно, а главное НУЖНО сделать более оптимальное решение, чем то что будет с линку.
Аноним 22/11/21 Пнд 22:26:57 #456 №2219931 
>>2219815
А про длинные выражения.
Если это действительно длинное выражение внутри лямбды(ну, допустим у тебя в Select должна хитрющая бизнес-логика происходить которая должна вернуть хитрющие штуки-дрюки), для читаемости - можешь вынести его как локальную функцию, обозвав ее так, чтобы было понятно что эта ебейшая лямбда бы делала.
Аноним 22/11/21 Пнд 23:29:54 #457 №2219973 
213.PNG
1231.PNG
324453.PNG
Помогите решить задачку, я тупой. Нужно тремя циклами нарисовать треугольник. Я вообще не ебу, как это сделать. Смог нарисовать 4мя циклами. Объясните пж.
Аноним 23/11/21 Втр 00:05:54 #458 №2220003 
>>2219973
Ты row+1 раз печатаешь звездочку.
Потом ты row раз печатаешь звездочку.
=> Т.е. всего ты 2*row + 1 раз печатаешь звездочку.
inb4 зочем погромисту матан, jezus
Аноним 23/11/21 Втр 00:36:33 #459 №2220039 
>>2219347
А ты можешь скинуть пдф этой книги если она у тебя есть конечно
Аноним 23/11/21 Втр 00:37:29 #460 №2220042 
>>2219913
Ну я имел ввиду более длинные Linq выражения с большими лямбдами, с вложенными Linq, и там мне не понятно как лямбды, аргументы и выражения выделять отступами, как скобки оставлять.

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

>>2219931
Пожалуй буду выносить, да.
После хс чет везде linq и функции с "=>" тыкаю.
Аноним 23/11/21 Втр 00:39:52 #461 №2220045 
>>2220003
Складывать числа и матан с его интегралами или что там
Аноним 23/11/21 Втр 02:03:29 #462 №2220097 
>>2219661
>Может кто-то внятно пояснить за юнит тесты?
Короче, допустим ты делаешь сложную функцию вычисления смысла вселенной. Ты проверил что данная функция выдает верный ответ - каким-нибудь тестовым проектом - выводя в консольку

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

Потом ты снова решаешь ее оптимизировать, и снова надо писать проверочный проект.

А что если функция должна выдавать разные варианты в зависимости от разных входных данных? Это сколько разных проверок сделать...

А что если таких функций тысяча?

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


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

То есть это банальная автоматизация тестирования кода - ты ведь тестируешь свой код?


(а вот методологию сначала писать тесты а потом код считаю тупой чсв дрочкой аутистов-максималистов)
Аноним 23/11/21 Втр 09:27:10 #463 №2220161 
>>2220097
Гладко стелишь, фраерок.
Да вот только все так красиво исключительно с чистыми методами.
В реальной жизни ты блядь проверяешь внутрянку и потом не рефактор, а жопа.
Аноним 23/11/21 Втр 09:30:22 #464 №2220163 
>>2219661
>мне даже кажется что все эти юнит тесты это какой-то внутренний прикол что бы тролить ньюфегов, типа как в армейке " до 1000 посчитай!" а на вопрос нахрена это надо отвечают мол что бы дембелей повеселить!
Хорого сазал. Так и есть. Веселить дембелей цифрой покрытия.
Юнит тесты- говно. Инткграционные- норм.
Аноним 23/11/21 Втр 11:02:31 #465 №2220213 
>>2220097
а можешь скинуть один какой-то тестовый проект веб страницы с юнит тестами, потому что не могу найти такие примеры и слабо представляю как такие тесты реализовывать
Аноним 23/11/21 Втр 12:49:06 #466 №2220301 
Вопрос не столько по шарпу, сколько по архитектуре или паттернам.
У меня есть некоторые сериализованные данные что-то вроде:
data{
type: string
params: object[]
count: uint
}
Где type просто отвечает за тип data, params это некоторые параметры, с которыми данные работают, они могут быть в принципе любые, но по типу есть спецификация, так, что под каждый тип свой набор валидных типов параметров, в принципе где-то их может и вовсе не быть. Count необязательное поле, которое отвечает за то, сколько раз конкретный data нужно обработать.
Поначалу я просто сделал enum DataTypes, где перечислил все возможные type у data. Дальше сам класс отвечающий за данные, который хранит поле DataTypes. И при обработке просто в switch чекал тип, закидывал по нему в определенную функцию конкретно под этот тип. Всё работало.
Я сразу понял, что сделал хуйню, поэтому задумался как можно было бы это исправить.
Сейчас у меня идея сделать под каждый тип данных (их около 7-8, но может стать больше) свой класс, сделать общий интерфейс и работать с коллекцией IData. В обработке просто сделать что-то вроде data_list.ForEach(x => x.Process());.
А за создание пусть отвечает какой-то отдельный класс, который по type будет создавать определенный класс и отдавать его в коллекцию интерфейсом.

Я паттерны почти не изучал ещё, возможно под мою задачу такой есть? И нормально ли под каждый тип данных делать отдельный класс в этом случае? Получится с десяток классов, где общие вещи будут в интерфейсе лежать, а отличаться они будут только процессом обработки.
Аноним 23/11/21 Втр 15:33:50 #467 №2220396 
Начинаю читать c# players guide. Может быть из этого выйдет что-то серьёзное.
Аноним 23/11/21 Втр 18:20:29 #468 №2220562 
image.png
Я написал хеловорлд. Я молодец, получается.
Аноним 23/11/21 Втр 19:02:01 #469 №2220626 
Что я блин делаю не так?
Вот у меня есть TCP-сервер. Вот я хочу каждое сообщение логгировать в базу. Ок-да. Вот я беру и эмулирую дудос в 10к коннектов разом, которые друг-другу эхо-сообщения шлют. Ок-да.В итоге: The connection pool has been exhausted, either raise MaxPoolSize (currently 100) or Timeout (currently 15 seconds)
Судя по документации - такого вроде как быть не должно. Но вот, такая вот хрень. Как фиксить - я хрен знает.
При этом это именно когда 5к+ начинает проявляться, на 1к соединений которые так же дудосят - не проявляется. Все контексты - я так же диспозю сразу после использования(что по документации говорит о том, что в данном случае контекст будет положен обратно в пул).

Короче, что делать? Без бд - мой TCP-сервер летает, но нахуй он не нужен без БД.
Аноним 23/11/21 Втр 22:40:24 #470 №2220864 
insideBox.png
Всем привет, пишет middle .NET. Недавно проходил одно тестовое онлайн, буквально на 20 минут. Так вот, там был задача, которую я решил, но проблема в том, что она не оптимальна по времени. Собственно пикрелейтед + линк. Объясните, я может уже совсем деградировал или не знаю чего-то, но как пикрелейтед можно оптимизировать исключительно в рамках NumberOfInsideBoxes?
Можно это условие ебанутое просто и можно не в рамках property?

https://dotnetfiddle.net/dFvtOE
Аноним 23/11/21 Втр 22:55:44 #471 №2220877 
>>2220864
У тебя там рекурсия, не?
Аноним 23/11/21 Втр 22:56:20 #472 №2220878 
>>2220877
Да.
Аноним 23/11/21 Втр 23:02:17 #473 №2220880 
>>2220878
Почему бы ее не заменить на цикл, если ты говоришь про неоптимальность по времени этой функции?
Аноним 23/11/21 Втр 23:07:10 #474 №2220884 
>>2220880
Сделай в fiddle. Я правда не понимаю, где здесь можно цикл применить.
Аноним 23/11/21 Втр 23:23:30 #475 №2220892 
Безымянный.jpg
>>2220884
Он вот про что говорит.
Другое дело, что я не понимаю каким хуем это должно как-то повлиять на время. Ну да, так вроде как экономишь время на вызов, но в контексте сложности алгоритма - один хуй тебе нужно пройтись по всем "корбкам".
Ну а в контексте задачи, при условии что можно менять только свойство - я тоже не ебу каким боком можно ускорить. Если бы таки весь класс можно было трогать, то в конструкторе можно было бы считать и там даже рекурсии особой не было бы.
Аноним 23/11/21 Втр 23:24:09 #476 №2220893 
1.jpg
>>2220884
Блядь, пик перепутал
Аноним 23/11/21 Втр 23:27:03 #477 №2220895 
>>2220892
Да я понял, но у нас тут один ребенок только, а не лист. Я вообще вам могут скинуть ссылку на вакансию, это третий вопрос. Может я условию не так понял.

https://weworkremotely.com/remote-jobs/gembox-net-developer-1

Нажмите на Apply for this position и вас на тест закинет. Это если тест не рандомно генерится.

Кстати, 4-ю задачу я тоже не смог решить до конца лол, прошёл первый тест из 3, работает, а второй не проходит и хуй знает почему. Дальше я просто закрыл вкладку.
Аноним 23/11/21 Втр 23:27:53 #478 №2220896 
>>2220893
Попробуй своё решение в задаче #3, там тест на время в браузере есть.
Аноним 23/11/21 Втр 23:43:57 #479 №2220908 
>>2220895
Да ну нахуй там ещё почту вводить.
Аноним 23/11/21 Втр 23:44:04 #480 №2220909 
>>2220864
Может считать через sizeof()? Функция вытащит размер экземпляра класса, следовательно, можно вычислить и число вложенных box.
Аноним 23/11/21 Втр 23:53:09 #481 №2220915 
Можно как то в wpf в текстбоксе пошире сделать сделать в конце строки расстояние побольше до края и чтоб кликать можно было? А то туда попадать сложно
Аноним 23/11/21 Втр 23:54:38 #482 №2220917 
>>2220908
>не юзать фейковую почту в 2к21
Аноним 24/11/21 Срд 00:04:43 #483 №2220926 
>>2220909
Да, мне кажется это правильный ответ, по крайнее мере, единственный возможный вариант, который в теории должен сработать. В общем, я бы там не стал работать.
Аноним 24/11/21 Срд 00:09:43 #484 №2220934 
>>2220909
А оно не размер ссылки на внутреннюю коробку вытащит?
Аноним 24/11/21 Срд 00:11:51 #485 №2220937 
А можно как-то сделать какое-то поле в DataGrid в виде выпадающего списка? И если да, то как?
Аноним 24/11/21 Срд 00:19:45 #486 №2220946 
bFormatter.png
>>2220934
>>2220909
Как-то через это нужно наверно, ну там ещё отнять size текущей instance и выяснить сколько каждая reference добавляет. Кароче, душно.
Аноним 24/11/21 Срд 00:37:13 #487 №2220954 
>>2220909
>>2220926
>>2220946
lol
Аноним 24/11/21 Срд 11:19:21 #488 №2221117 
Что такое C#?
Аноним 24/11/21 Срд 11:28:21 #489 №2221129 
>>2221117
Говно без задач. очевидно же.
Аноним 24/11/21 Срд 11:59:48 #490 №2221142 
Очередной вопрос по asp.net... А как передать экземпляр модели из одного контроллера в другой?

Ну вот допустим у меня есть два контроллера Foo1Controller и Foo2Controller
Есть модель FooData

Теперь я в Foo1Controller заполняю FooData и хочу передать эти данные в контроллер Foo2Controller (чтобы уже тот их отобразил на страничке).

Почему бы не получить эти данные сразу в Foo2Controller ? потому что читаю из базы данных, так получается что в Foo1Controller я могу сразу считать все нужные поля (там одна таблица), но страничке Foo1 не нужны все эти поля.
А вот в Foo2Controller они нужны - так теперь и там делать запрос к базе данных? Так это медленно и тормозно, постоянно дергать базу если можно было сразу за раз все прочесть и просто передать.

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

То есть как я вижу - считать все данные в Foo1Controller, передать на страницу Foo1 только нужные поля, затем когда пользователь щелкает на детализацию и переходит на Foo2 - отдать в Foo2Controller оставшиеся данные
Аноним 24/11/21 Срд 12:04:13 #491 №2221143 
>>2221111 →
Аноним 24/11/21 Срд 12:18:03 #492 №2221156 
>>2221142
>А как передать экземпляр модели из одного контроллера в другой?
Хуита.
Контроллер должен принять запрос решить что с ним делать о отдать бизнесу на обработку. Но ни как не дрочить другие контроллеры. Если нужна общая логика выноси в приватный метод (или публичный с аттрибутом [NotAction]) и дергай его из нескольких контроллеров.
Аноним 24/11/21 Срд 12:31:48 #493 №2221168 
>>2221156
Не логика, а как сделать общие данные для двух контроллеров... Но так чтобы разные пользователи имели свои копии общих данных
Аноним 24/11/21 Срд 13:28:24 #494 №2221197 
>>2221168
Нихуя не понятно, ибо хуйню творишь. Еще раз - контроллер для взаимодействия клиента с твоей прогой. Твоей проге не надо дергать свои же контроллеры чтобы что-то сделать. Аудиоплеер же для того чтобы сыграть следующий файл после того, как отыграет предыдущий, не берет же управление курсором чтобы жмякнуть себе кнопку next.
Аноним 24/11/21 Срд 13:48:53 #495 №2221220 
>>2221168
>как сделать общие данные для двух контроллеров.
А ты что, данные в контроллерах хранишь?
Аноним 24/11/21 Срд 14:54:24 #496 №2221273 
>>2221197
>Аудиоплеер
Аудиоплеер принадлежит одному пользователю или точнее одному процессу. В нем данные можно хоть в глобальных переменных, хоть в конфигах хранить - они все принадлежат текущему пользователю

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

>>2221197
>Нихуя не понятно
Ну вот пример
У меня есть модель Book. Есть таблица в SQL dbo.Book

Пользователь заходит на страничку site/Index и вводит номер книги, оно ищет в базе в таблице нужную книгу и перекидывает пользователя на site/Foo1 - где выводит краткое описание книги и есть кнопка подробнее, нажав которую пользователь попадет на страницу site/Foo2 - где уже будут выводиться подробные описания

То есть получается что сначала я лезу в базу данных в Foo1Controller. А потом лезу в базу данных в Foo2Controller. То есть два запроса к базе данных.

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

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

И вот это я не понимаю как сделать


>>2221220
>А ты что, данные в контроллерах хранишь?
Данные в контроллерах создаются - или как ты предлагаешь модель отправлять в представление? (ну ладно, по научному они могут создаваться в сервисах, которые вызываются из контроллера - но это сути не меняет - так как по итогу именно контроллер отправит данные в представление через return View(dataModel);

Аноним 24/11/21 Срд 15:12:39 #497 №2221291 
>>2221273
>принадлежит одному пользователю
В данном контексте похую, есть программа а есть пользователь
>они все принадлежат текущему пользователю
не роляет
>то у другого пользователя который зайдет на сайт должны быть свои собственные данные, у третьего тоже свои и т.д.
похуй, серверу-то они все доступны
>я не подумавши сделал глобальные статик-переменные
Я и говорю хуйню сотворил, а вместо исправления хочешь нагородить большую хуйню


>сначала я лезу в базу данных в Foo1Controller. А потом бла-бла-бля
>один запрос к базе данных
Ну так закешируй. MemoryCache в помощь: проверяешь наличие книги в кеше, нет - лезешь в бд и кладешь в кеш, есть - береьшь из кеше. И тебе будет похуй нажмет пользователь подробнее или не зайдет.


>НО в базе данных одна таблица dbo.Book в которое сразу и краткие и полные описания
К слову тебя никто не заставляет тянуть ненужные столбцы с бд

слово дня - хуй
Аноним 24/11/21 Срд 19:49:50 #498 №2221503 
Бля поясните шо такое бизнес логика?
Вот нихуя не могу понять.
Что значит в контролере не должно быть бизнес логики?
Ну типо все действия должны быть в других классах а в контролере только вызовы методов?
Аноним 24/11/21 Срд 20:08:14 #499 №2221512 
>>2221503
>шо такое бизнес логика?
Купить подешевле, продать подороже.
>то значит в контролере не должно быть бизнес логики?
То и значит. Задача контролера принять принять действие пользователя, провалидировать данные (ну или отдать на анализ валидатору, если логика более менее сложная) и отправить уже в бизнес на обработку.
Аноним 24/11/21 Срд 21:24:11 #500 №2221542 
Посоветуйте мобильное приложение на русском языке по изучению C#.
Аноним 24/11/21 Срд 21:37:09 #501 №2221547 
>>2221542
>приложение
>на русском
>мобильное

Обосравшийся вайтишник стартер-пак
Аноним 24/11/21 Срд 23:42:39 #502 №2221625 
>>2221547
Та тебя ебать не должно как и через что я хочу изучить язык , главное желание а все остальное будет
Аноним 25/11/21 Чтв 08:05:38 #503 №2221757 
>>2221625
И нахуй тебе программирование? Пожелай просто миллиард долларов, хули.
Аноним 25/11/21 Чтв 08:42:07 #504 №2221766 
>>2221542
Напиши сам такое приложение на xamarin
Аноним 25/11/21 Чтв 13:29:45 #505 №2221949 
image.png
image.png
Сейноры-помидоры, будет ли это работать?
Аноним 25/11/21 Чтв 14:32:53 #506 №2221989 
>>2221949
>Твой код говно.жпг
Если у тебя есть свойство ИзЭкспайред, которое по логике должно возвращать просрочен ли токен, зачем ты после его проверки еще сравниваешь даты, повторно проверяя не просрочен ли токен?
Аноним 25/11/21 Чтв 14:39:56 #507 №2222005 
>>2221989
> повторно проверяя не просрочен ли токен?
это единственное замечание? никаких более валидных замечаний нет?
Аноним 25/11/21 Чтв 15:06:22 #508 №2222036 
>>2222005
А есть смысл дальше читать, если в самом начале такая хуита идет?
Аноним 25/11/21 Чтв 15:09:39 #509 №2222037 
>>2222005
Ну окай следующие строки, классика говнокода:
if(true) {return true;}
else {return false;}
Аноним 25/11/21 Чтв 15:19:06 #510 №2222041 
>>2222036
>>2222037

>if(true) {return true;}
А КРОМЕ ФОРМАТИРОВАНИЯ (КОТОРЫЙ ЯВЛЯЕТСЯ ИМХОМ) есть реальные замечания? я спросил будет ли это работать а не виглядит это лучше чем мона лиза
Аноним 25/11/21 Чтв 15:21:18 #511 №2222042 
>>2222037
К тому же ты умудрился обосраться даже в своем сранном замечании так как там блять даже нет нигде
>if(true) {return true;}
else {return false;}

даун ты блять тупой, сьеби нахуй отсюда
Аноним 25/11/21 Чтв 15:24:32 #512 №2222044 
>>2222041
>А КРОМЕ ФОРМАТИРОВАНИЯ
Это не форматирование, это запутывание логики, дублирование кода и прочие развлечения говнокодера.
>будет ли это работать
А F5 нажать никак? Ты же даже не сказал что эта хуйня делать должна. А разбирать этот код крайне неприятно по вышеизложенным причинам.
Аноним 25/11/21 Чтв 15:25:53 #513 №2222046 
>>2222042
А это не цитата была, а классические говнопатерн. У тебя не ретурн, а присваивание. Но в приступе ярости это даже увидеть не можешь.
Аноним 25/11/21 Чтв 15:26:35 #514 №2222047 
>>2222037
Это не форматирование, это запутывание логики, дублирование кода и прочие развлечения говнокодера.

конкретно тогда, адресно тыкни на запутывание логики
Аноним 25/11/21 Чтв 15:27:55 #515 №2222050 
>>2222046
патерн тоже имхо, я Спросил где это может наебнутся, конкретный вопрос, и хочу услышать конкретный ответ
Аноним 25/11/21 Чтв 15:39:57 #516 №2222063 
>>2222047
>адресно тыкни
Ты тупой знаю, что да? Твои подвыперды с ифами вместо того чтобы написать value = expression и есть запутывание.
> хочу услышать
Хоти. Но с таким отношением навряд ли дождешься. Тебе никто ничего не должен.
Аноним 25/11/21 Чтв 15:56:28 #517 №2222083 
image.png
animation.gif.mp4
>>2222046
Чел.. не позорся блять, хули ты мне тут блять заливаешь чушь про ифы, берешь открываешь первую лучшую страницу документации коре 6 на мсдн и видишь код написанный в 100% идентичной манере, и тут блять тупой школьник с двача заливает мне что программисты в майкрософте говнокодеры, но свой супер пупер код он не покажет потому что он на компе в селе у бабшуки, ЛОЛ, сьеби нахуй отсюда ПЕТУХ БЛЯТЬ и на этот раз пожалуйста не возвращайся
Аноним 25/11/21 Чтв 16:03:35 #518 №2222089 
>>2222083
Хватит позориться. Где на скрине мсдн дрочка переменной резалт? У тебя две переменные для резалта, 4+1 присвоений в ифах, которые абсолютно бессмысленны. Я понимаю, что ты еще зеленый и хуй от пальца не отличишь, но почему ты такой воинствующий в своем невежестве?
Аноним 25/11/21 Чтв 16:11:02 #519 №2222093 
643f324236b44a2a2183b3f03b192541out168677455.mp4
>>2222089
Чел, конкретно на пикче только один резалт ДЛЯ ФУНКЦИИ зато по ретурну в каждом ифе, тоесть точно то же что ты напсиал здесь
>if(true) {return true;}
>else {return false;}
а теперь поменяк мой резалт на ретурны как в мсдн и тут уже твой сосбветнный пост становится не удобным.
Таких всратых маневрнов после которых собсвтенный посты становятся не удобними я еще не видел, я даже заскринил на будущее.

Аноним 25/11/21 Чтв 16:37:31 #520 №2222114 
>>2222093
> один резалт ДЛЯ ФУНКЦИИ
А на пике мсдн 0
>то же что ты напсиал здесь
Вот именно. Только я это написал как пример говнокода. Но да, это так же как у тебя
>твой сосбветнный пост становится не удобным.
С чего же? В чем у тебя проблема переписать как на мсдн?
Хочешь оставаться тупым говнокодером - твоё право, но не думай, что кто-то будет разбираться за тебя в твоей поносине.
Аноним 25/11/21 Чтв 16:58:33 #521 №2222130 
image.png
image.png

>А на пике мсдн 0
пиздешь! => пик 1
ты в глаза ебешься ?

>Вот именно. Только я это написал как пример говнокода
что ты написал как пример говнокода :
>if(true) {return true;}
>else {return false;}
это ровно то что написано в мсдн => пик 2
ты в глаза ебешься 2?

>С чего же? В чем у тебя проблема переписать как на мсдн?
код написан БУКВАЛЬНО под копирку с мсдн
ты в глаза ебешься 3?

буквально каждый твой высер противоречит реальнисти поэтому просто Иди нахуй дибил
Аноним 25/11/21 Чтв 18:48:43 #522 №2222247 
Допустим я ебанутый и хочу один EF'ный контекст на все приложение использовать.
Так вот, я при этом не хочу делать ебейшую обертку для каждого метода и там семафоры расставлять. Я хочу сделать свой класс: SharedContext<MyContext> у которого будет методы
Task<T> Execure<T>(Func<MyContext, Task<T>> toExecute)
Task Execure(Func<MyContext, Task> toExecute)

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

Шо делать-то? Как мне сделать с одной стороны как-бы асинхронно, с другой чтоб был один контекст?
Аноним 25/11/21 Чтв 18:49:35 #523 №2222250 
>>2222247
> Экзикьют
фикс
Аноним 25/11/21 Чтв 19:03:30 #524 №2222261 
>>2222130
Надеюсь ты троллишь. Человек не может быть таким тупым.
Аноним 25/11/21 Чтв 19:19:14 #525 №2222278 
>>2222247
>я ебанутый и хочу один EF'ный контекст на все приложение использовать
Реально ебанутый. Еф спроектирован так, чтобы создавать много короткоживущих контекстов. Иначе тебе придется или отключать чейнджтрекер или ебаться с его ручной очисткой. Иначе со временем все начнет лагать шо пиздец.
Дальше тоже какой-то бред.
>с одной стороны как-бы асинхронно
Асинхронность есть в еф из коробки Async методы из IQueryable, и Async методы самого контекста.
> вызове таки создавать худойСемафор
Если ты хочешь лимитировать запросы к бд, то создавай сервис прослойку, в нем уже используй семафор.
Аноним 25/11/21 Чтв 19:44:23 #526 №2222321 
>>2222278
Не лимитировать. Проблема в очередности. Есть запрос, который должен быть выполнен строго в одном экземпляре за раз. Если делать без очереди а обычным семафором, то при условных 10к клиентах, которые дергают этот запрос - процессор в 100% улетает. Собственно да. Я не представляю как это обойти на стороне приложения иначе.
Аноним 25/11/21 Чтв 20:16:34 #527 №2222352 
>>2222321
> который должен быть выполнен строго в одном экземпляре за раз
Откуда взялось такое ограничение? Звучит как наркомания какая-то.
>процессор в 100% улетает
От чего и почему не улетит при одном контексте? Я не думаю что ГЦ так напряжет проц.
Может тебе нужон кэш, чтоб по 100 раз одни данные не тягать?
Аноним 25/11/21 Чтв 21:30:01 #528 №2222390 
>>2222352
>Откуда взялось такое ограничение?
Ну, из специфики самого приложения.
Подключается клиент, Авторизуется, ему нужно выделить порт, при этом
1. Порт, не находящийся в бан-листе
2. Порт, который системой не занят
3. Порт, который при этом не не принадлежит для другому клиенту
4. Порты дожны идти последовательно и не должно быть дырок(т.е. если кого-то удалят из базы - нужно сдвинуть все остальные порты)
После этого подключившись к моей хуйне, можно по открытым портам с подключившимися клиентами коммутировать.

Ну, специфика, хули.
Аноним 25/11/21 Чтв 22:24:18 #529 №2222427 
Поясните как делать CRON в асп нет?
Ну типо юзер в админке делает задачу к примеру читать файл каждый час.
Как это будет реализовано? Есть этому какоето название?
Я вот так это вижу:
Делаем таск и запускаем его, в нем чекаем время типо если время 00 минут то выполняем действие в таске, и так пока юзер не отменит задание.
Только вот как чекать? Может же быть такое что нагрузка будет большая и целую минуту поток не доберется до чека таски и прочекает только в 01 минуту и тогда проеб.
Книга , book ямь 26/11/21 Птн 01:26:00 #530 №2222515 
Screenshot2021-10-18-01-13-38-140com.vkontakte.android.jpg
Аноны пж Помогите заполучить в свои руки данную книгу на русском языке в формате pdf и epub
-пожалста
-пожалста
-пожалста
-пожалста
-пожалста
-пожалста
-пожалста
-пожалста
-пожалста
-пожалста
-пожалста
-пожалста
Аноним 26/11/21 Птн 01:33:47 #531 №2222516 
1637879624606.jpg
>>2222515
>на русском языке
Аноним 26/11/21 Птн 03:51:39 #532 №2222536 
Матан нужен? Базы 9 классов хватит? Сколько примерно вкатываться до джуна, если в день тратить на это по 3-4 часа?
Аноним 26/11/21 Птн 05:02:53 #533 №2222544 
image.png
Что-то не понимаю как настроить в IIS identity

Вот создаю пустой ASP net core 6 mvc сайт - включаю в нем через мастер создания поддержку индивидуальных учетных записей (ну эту самую готовую identity)

Сайт работает - но как только пытаюсь зарегистрировать пользователя - вылитает такая ошибка.

И вот не понимаю что ему надо. То есть пока работаю со своим кодом в IIS - все нормально, как только пытаюсь зарегистрироваться или залогинится через identity - ошибка.

Пока у меня две мысли - или я как-то не так подключаю базу данных. или в IIS надо что-то еще установить
Аноним 26/11/21 Птн 05:57:36 #534 №2222553 
>>2222427
Ну, как-как. Несколько путей.
1. Путь самурая: пилишь свой парсер крона, выделяешь задачи которые твой сервак может выполнять. Делаешь свой скедулер, выделив 2 сущности: Trigger(как раз твой самый крон или другое условие которое нужно будет выполнять) и Job(те задачи которые нужно выполнять, опционально с параметрами). В отдельном потоке, при старте своего сервака достаешь все триггеры и раз в нужный тебе интервал(может быть у тебя точность запланированных задач должна быть до секунды, а может быть тебе и 5 минут погрешность норм) - проверяешь все Trigger'ы на условие когда следующий старт, если текущее время больше чем время триггера - кидаешь в какую-нибудь очередь выполнения все задачи что привязаны к триггеру, а триггеру рассчитываешь время следующего старта и сохраняешь.

2. Путь нормального человека: берешь какой-нибудь Handfire или подобную срань, которые умеют с кронами работать. Ну а дальше - читаешь документацию и делаешь как там написано.
Аноним 26/11/21 Птн 08:03:05 #535 №2222592 
Мля, а как сделать Identity в asp.net core на русском? Ну чтобы все окна были с русским текстом. Не самому же руками переводить все сообщения

А то какая-то хуита - то есть в asp.net есть крутая фишка глобализации, но почему текст в Identity захардкорен прямо во фронт html страницы? или я чего не понимаю?
Аноним 26/11/21 Птн 09:06:40 #536 №2222611 
>>2222390
>1...2...3...4...
Ну допустим. А как это все связано с еф и ограничением на один контекст?
>>2222536
>Базы 9 классов
Зависит. Куда-то нужен матан, куда-то нет. Но если ты учился в школе, где к 9 классу матан давали, то наверно для вката хватит. По срокам я бы сказал год+, если с нуля ну и не джуном а трейни, от джунов сейчас требуют 1+ года опыта работы. Но это всё индивидуально и для тебя все может отличаться в разы.
>>2222592
Ты про что? Чтобы перевести ошибки можно подсунуть кастомный ErrorDescriber, в котором можно заюзать IStringLocalizer. Если пользуешься дефолтными страницами-заглушками, то навряд ли, хотя не уверен, не пользовался.
Аноним 26/11/21 Птн 09:18:08 #537 №2222614 
>>2222611
>Если пользуешься дефолтными страницами-заглушками
Именно эти страницы (ну типа страницы логин-страницы регистрации, страницы подтверждения и т.д.)- они что - предлагают руками их переводить?
Аноним 26/11/21 Птн 09:21:21 #538 №2222616 
>>2222515
Её нет на русском, никто не перевёл
Аноним 26/11/21 Птн 09:22:02 #539 №2222617 
>>2222614
Ну обычно они у каждого свои с учетом функционала и дизайна сайта.
Аноним 26/11/21 Птн 09:24:26 #540 №2222619 
>>2222616
А ведь казалось бы, полон чан сеньеров с перфет инглишь, работающих на забугор. Взяли бы да перевели каждый по 10 страниц.
Аноним 26/11/21 Птн 09:24:29 #541 №2222620 
0197bf344be9ea6d251cb569a730b0ae.png
Кстати, насчёт новых книг, вышла книга на русском "Прайс М. - C# 9 и .NET 5. Разработка и оптимизация".
Аноним 26/11/21 Птн 10:20:54 #542 №2222638 
>>2222619
Есть книги переведённые уже, но их почему-то не выкладывают в общий доступ. Я вот ищу книгу "ASP.NET Core в действии", но её нигде нет.
Аноним 26/11/21 Птн 12:16:34 #543 №2222679 
Двачну книгу pro asp.net core 3. Нуб в ASP.NET, ибо Java-господин.
Аноним 26/11/21 Птн 13:23:26 #544 №2222739 
Вот есть у меня имиджборда сайт, где пользователь может загрузить картинку. Мне нужно на сервере сохранить её и её миниатюру. Где-то читал, что лучше не созранять именно поток из формы, а распрсить это как картинку и уже её сохранять (ну тип такя защита от вирусов и раржепегов). Хотя не так важно, что с оригиналом, вот надо получить миниатюру. Беру значит я ImageSharp и пишу
var img = Image.Load(stream);
var thumb = img.Clone(opt=>opt.Resise(...));
thumb.Save('fhu6rg');
И вроде работает. Но потом запускаю под дебагом и вижу ужас: Image.Load() и +300Мб. Картинка не маленькая, да, 1,5МБ и ~5000x3000, но 300 метров... Полез в интернет, пишут мол, используется пулл массивов, что б не нагружать GC. Ну ок. Загужаю еше картинку и еще +200Мб. Пять картинок и приложение отожрало ~1GB. Я понимаю, что свободная память - зря купленная памать, но я собираюсь запускать приложение на 1ГБ VPS и меня это как-то пугает.
Может есть библиотека которая кушает поменьше, а может это нормально и я зря парюсь? Какой у вас опыт создания превьюшек inb4никакого?
Да я находил MemoryAllocator в ImageSharp, но пока его ковыряние успеха не дало
Аноним 26/11/21 Птн 14:58:22 #545 №2222793 
>>2222222 →
Аноним 26/11/21 Птн 16:00:04 #546 №2222834 
Как у потока (Stream) выяснить он закрыт или нет?
Аноним 26/11/21 Птн 16:17:41 #547 №2222842 
>>2222834
А почему вы спрашиваете? У стрима есть ряд методов Can*, по идее должны устанавливаться в фолс, но нужно проверить. Ну и ObjectDisposedException тоже может помочь.
Аноним 26/11/21 Птн 16:37:23 #548 №2222858 
>>2222842
CanRead и прочие напрямую не зависят от статуса потока - бвывают же потоки только на чтение или только на запись.

Потребность по-моему легитимная, допустим поток в поле класса, и разные методы для работы с ним должны знать в каком он состоянии. Иначе придется параллельно хранить его статус, что еще больший антипаттерн.
Аноним 26/11/21 Птн 16:38:29 #549 №2222859 
>>2222842
Использовать ObjectDisposedException вроде антипаттерн, оно же сигнализирует катострофу и в продакшене недопустимо, типа сам не уследил что задисползил?
Аноним 26/11/21 Птн 16:49:35 #550 №2222871 
Интересно, насколько уместно для переменной имя totalSecs?
Аноним 26/11/21 Птн 18:53:48 #551 №2222947 
>>2222611
>А как это все связано с еф и ограничением на один контекст?
Ну а как я организую последовательное выделение портов, если у меня не будет какого-то ограничения чтобы за один раз этот запрос выполнялся единожды? Я пробовал ограничивать с помощью семафора, но это ведет к тому, что резкий скачек потребления процессора, из-за этого уже проверка эта вся начинает долго выполняться и клиенты по таймауту отключаются и потом заново регистрироваться пытаются.
Аноним 26/11/21 Птн 19:57:22 #552 №2222984 
>>2222858
Таки да, но если ты хочешь писануть в стрим, а он тебе говорит низзя, то ты же все равно не будешь писать независимо от того задиспожен он или просто ридонли.
>>2222859
Ну эксепшены вообще стоит избегать, если можно без них. Как бе в большинстве случаев не надо диспозить то, что тебе не принадлежит, и диспозить все, что твое. И поэтому ситуация, когда пришло что-то задиспоженное это алярм и катастрофа и проверки на задиспоженность уже выглядят костыльно.
Я так щитаю.

>>2222871
>уместно для переменной имя totalSecs
можно сократить до totalSex

>>2222947
Ладно чел, все равно не понимаю связь между портами клиентов и запросами к бд. Сорян.
ямь 27/11/21 Суб 01:10:22 #553 №2223157 
>>2222620
Подскажите пж сайт с бесплатными 2D и 3D моделями для юнити , буду очень благодарен
Аноним 27/11/21 Суб 06:42:12 #554 №2223192 
>>2222619
А в чем профиты?
Аноним 27/11/21 Суб 07:10:41 #555 №2223201 
>>2220864
А как ты его быстрее по времени сделаешь, остальной класс не трогая? Тебе так или иначе придётся идти вглубь и считать объекты. Или это бумерское "Ряяя! Мы в вашем возрасте экономили вызова методов, а вы тут рекурсию устраиваете, ряяя!"? Я не понимая, короче, что тут требуется.
Аноним 27/11/21 Суб 08:39:59 #556 №2223207 
Пздц.
Создал новый проект нет6, ебана упростили структура мейна, но бля как то не привычно стало.
Вы юзаете новый или старый?
Я все таки добавил мейн класс, так как то глазу лучше.
Аноним 27/11/21 Суб 08:51:34 #557 №2223210 
Таааккк
Работяги, вот создал я консоль апп нет6.
Добавил докер. И мне нужно ввести строку в консоль. Куда ее вводить то? В Отладка/Вывод ничего не выводит мне.
Идея в том что бы при запуске ввести апи ключи и потом все уже будет работать.

Опять все ни так как я думал.
Вот на линях я не помню как называется приложение но смысл такой. Типо вот запускаю какой то софт на сервере, и дальше я ввожу уже команды в этот софт. Я ставил приложение которое могло сворачивать работающие программы в фон. Вот я запустил, вписал типо свернуть и все работает.
Чет я думал на докере будет так же, пишу docker run, и мне открывается консолька моего приложения, а потом я просто могу свернуть контейнер и он будет в фоне работать. Но видать хуй там плавал?
Как мне корочи получить доступ к консоли приложения в докер контейнере?
Аноним 27/11/21 Суб 09:22:49 #558 №2223213 
>>2219408
>Да, понимаю что можно банально редиректом site/Foo2/?: на html передав айдишник овоща... Но это же явно херня способ - любой "хакер" школьник просто подменит туда другой айдишник и украдет важные данные.
Пусть попробует подменить guid, лол
Аноним 27/11/21 Суб 09:24:33 #559 №2223214 
>>2219661
Юнит тесты на круды вешать - это кринж, предется замокать все, включая небо и Аллаха. Хуярь интеграционные.
Аноним 27/11/21 Суб 10:55:51 #560 №2223234 
>>2222620
Скачал, посмотрел.
На дворе 2к22 год. А простыни кода в тексте книги до сих напечатаны монотонным черным шрифтом без подкраски синтаксиса.
Читать такое можно, но глазам, привыкшим к IDE, будет тяжело и скорость чтения просядет раза в 4.
Аноним 27/11/21 Суб 10:57:32 #561 №2223236 
>>2223234
Там кода-то по минимуму. Это учебник для студентов, потому что автор сам преподает шарп в универе.
Аноним 27/11/21 Суб 11:03:53 #562 №2223238 
image.png
Ребяты, почему десереализация не проходит?
[
{
"id":"01coin",
"symbol":"zoc",
"name":"01coin"
},
{
"id":"0-5x-long-algorand-token",
"symbol":"algohalf",
"name":"0.5X Long Algorand Token"
},
{
"id":"0-5x-long-altcoin-index-token",
"symbol":"althalf",
"name":"0.5X Long Altcoin Index Token"
},
{
"id":"0-5x-long-balancer-token",
"symbol":"balhalf",
"name":"0.5X Long Balancer Token"
},
{
"id":"0-5x-long-bitcoin-cash-token",
"symbol":"bchhalf",
"name":"0.5X Long Bitcoin Cash Token"
},
{
"id":"0-5x-long-bitcoin-sv-token",
"symbol":"bsvhalf",
"name":"0.5X Long Bitcoin SV Token"
}
]

Модель
public class Coin
{
[Column("id")]
public string Id { get; set; }

[Column("name")]
public string Name { get; set; }

[Column("symbol")]
public string Symbol { get; set; }

}

Как я делаю
List<Coin> restoredPerson = JsonSerializer.Deserialize<List<Coin>>(responseBody);

Пикрил что получается

ССылка на жосн
https://api.coingecko.com/api/v3/coins/list
Аноним 27/11/21 Суб 11:08:51 #563 №2223239 
>>2223238
Ага понял спасибо.
Да я еблан не ту аннотацию написал
Аноним 27/11/21 Суб 11:52:37 #564 №2223256 
Расклад такой. Выучил базис с#, хочу начать учить asp.net core. Проблема такая, я ваще в душе не ебу как веб работает, прям полный 0 в этом, всякие протоколы и прочее для меня это хуита непонятная. Посоветуйте с чего вообще начать, мб книги какие-то по самым самым основам или курсы годные. Нужно именно для новичка, где будут объяснения как все устроено, почему все устроено именно так а не иначе итд.
Аноним 27/11/21 Суб 11:55:27 #565 №2223258 
>>2223256
Так же если есть советы какие, тоже буду благодарен.
Аноним 27/11/21 Суб 11:59:45 #566 №2223263 
>>2223256
Бери в зубы сокет и делай свой веб-сервер который хотя бы статику будет уметь отдавать.
Аноним 27/11/21 Суб 12:02:21 #567 №2223266 
>>2223263
Ещё раз пишу, я ноль в этом. Для меня слово сокет нихуя не значит вообще.
Аноним 27/11/21 Суб 12:05:02 #568 №2223268 
>>2223266
https://letmegooglethat.com/?q=%D1%81%D0%BE%D0%BA%D0%B5%D1%82%D1%8B+c%23
Аноним 27/11/21 Суб 12:10:27 #569 №2223271 
>>2223268
Умник блять, когда я говорю что я 0 я имею ввиду что я 0. Я не ебу чё такое ipv6 и почему он именно 6, я не ебу чё такое протоколы, чё такое http и все вот это вот. Я конечно могу загуглить что такое сокет, начать читать о том, что он работает с каким-то там ipv6 протоколом оттуда гуглить уже эти протоколы и ТД. Проблема в том, что я хуй знает с чего мне начать изучать это все. Я же написал, мне бы литературу которая все это разбирает прям с озов и постепенно вверх. Подойдёт даже та, которая все это разбирать начинает с сетевой карты, а затем переходит на ее интерфейсы и прочее. Если там ещё и объясняется почему это так реализованно а не по другому было бы ещё лучше.
Аноним 27/11/21 Суб 12:12:50 #570 №2223275 
>>2223271
Мне проще когда все объясняется с низу вверх(с низкого уровня на верхний) а не как многим наоборот(с верхнего уровня и до низа) я когда с# учил, нихуя вразумить некоторые моменты не мог пока не начал разбираться как проц и память устроены. Так там сразу все на свои места вставать начало.
Аноним 27/11/21 Суб 12:18:28 #571 №2223281 
>>2223271
>>2223275
Ну, раз все настолько плохо с абстракцией, раз для тебя сокет - слишком хайлевел, то бери учебник по физике. Сокеты ему, блядь, слишком высокий уровень, нахуй.
Аноним 27/11/21 Суб 12:24:16 #572 №2223284 
>>2223281
Да, у меня некоторые проблемы с этим. Мне трудно понять как что работает в стиле (вот эта хуйня работает так потому что так задуманно) мне проще понять когда (вот эта хуйня работает так, потому что эта хуйня зависит от той хуйни которая работает так, а она так работает потому что хуйня за счёт которой она работает работать может только так как она работает) те же сокеты на сколько я знаю всего лишь интерфейс для абстракции над сетевухой, то есть чтобы ПОНЯТЬ(не уметь использовать а именно понять) как они устроены нужно знать устройство сетевухи. Ты бы лучше посоветовал книгу какую-нибудь где разбирают устройство сетевух. Был бы благодарен.

P.s ну физика это прям слишком Лоу левел.
Аноним 27/11/21 Суб 12:25:04 #573 №2223285 
>>2223281
Или даже не устройство сетевхи, а что-то вроде основы основ работы серверов.
Аноним 27/11/21 Суб 12:44:13 #574 №2223298 
В чем потенциальные ошибки такого обхода рекурсией всех подкаталогов в заданном каталоге?

static void SubDirectories(string mainDirectorie)
{
string[] subDirectories = Directory.GetDirectories(mainDirectorie);

foreach(var a in subDirectories)
{
Console.WriteLine(a);
SubDirectories(a);
}
}
Аноним 27/11/21 Суб 12:53:37 #575 №2223308 
image.png
ребяты снова айнид хелп.
Не работает ебаная сериализация
Вроде все правильно же

Вот жосн
https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=ethereum&order=price_change_percentage_24h&per_page=100&page=1&sparkline=false&price_change_percentage=1h%2C24h%2C7d%2C

Вот класс с 3 полями
public class Token
{

public double price_change_percentage_1h_in_currency { get; set; }
public double price_change_percentage_24h_in_currency { get; set; }
public double price_change_percentage_7d_in_currency { get; set; }
}

Делаю
Token Token = JsonSerializer.Deserialize<Token>(responseTokenBody);
А мне пикрил
Все же вроде нормально
Аноним 27/11/21 Суб 12:54:45 #576 №2223311 
>>2223298
Можешь получить АксесДенаед если нарвешься на системный каталог и на который у тебя нет прав.
Аноним 27/11/21 Суб 12:59:50 #577 №2223316 
>>2223308
Так тебе апи выдает рут не JsonObject, a JsonArray. Поэтому и десериализовать надо Token[]
Аноним 27/11/21 Суб 13:00:37 #578 №2223318 
>>2223308
У тебя приходит массив, а ты пробуешь как один объект десериализовать
Аноним 27/11/21 Суб 13:01:29 #579 №2223319 
>>2223316
Ох, точно.
Спасибо!!111
Аноним 27/11/21 Суб 14:30:15 #580 №2223410 
>>2223311
Сэнькью
Аноним 27/11/21 Суб 19:34:31 #581 №2223698 
Объясните как лучше поступиться к заданию. У меня есть БД в sqlite, нужно все выводить в кастомный датагрид. Это ладно. Но вот стоит ли мне дрочить ADO или как оно там называется, то есть не писать самому прямые запросы в стринги и парсить, а писать классы на каждую таблицу? И если стоит, то какой модуль юзать в личных небольших хоббийных целях? Мне лишь бы проще было, скорости и нагрузки не нужны.
Аноним 27/11/21 Суб 19:45:58 #582 №2223712 
>>2223698
Бери EF и просто бинди DBSet к своему датагриду.
Сгенерировать контекст и классы таблицы - так же можешь EF'ом, если у тебя подход Db-first
Аноним 27/11/21 Суб 19:56:29 #583 №2223725 
>>2223712
> Бери EF и просто бинди DBSet к своему датагриду.
Чел, я не знаю что такое EF и DBset лол, я совсем ньюфаг. Могу в циклы, массивы, классы и подключить файлик sqlite. На этом мои познания заканчиваются.
> Сгенерировать контекст и классы таблицы - так же можешь EF'ом, если у тебя подход Db-first
Ну плиз...
Аноним 27/11/21 Суб 20:06:45 #584 №2223737 
>>2223725
Ты тоже гуглить не хочешь, няша?
Ну смотри. EF(EntityFramework(core)) - это фреймворк для работы с базами данных, по сути он за тебя генерирует запросы и следит за изменениеями состояний объектов. Строится на базе паттерна Repository.
Так вот. ADO сейчас, использовать стоит либо в случаях обучения, чтобы понять как оно работает и что примерно происходит; либо когда тебя то что генерирует EF и для твоего приложения критичен тот оверхед который для всего этого трекинга и прочего сделан.

Вот тебе пример как с обычным датагридом это будет работать на впф:
https://docs.microsoft.com/ru-ru/ef/ef6/fundamentals/databinding/wpf
Аноним 27/11/21 Суб 20:11:17 #585 №2223742 
>>2223737
Благодарю.
Аноним 27/11/21 Суб 20:14:59 #586 №2223747 
Сишарпушки, вот у меня есть телеграм бот, в нем sqllite бд.
Хочу я в докер все это запихнуть но не знаю как.
Что мне написать в Dockerfile что бы работало?
Бд лежит в корне, и создается если ее нет.
optionsBuilder.UseSqlite("Data Source=DbCoin.db");
Понятно что контейнер создается без бд а бд в нем создать не получается при запуске.
Как исправить то?
Аноним 27/11/21 Суб 20:16:44 #587 №2223750 
>>2223737
А даппер?
Аноним 27/11/21 Суб 20:29:11 #588 №2223761 
>>2223750
Ну, даппер я в реальных проектах не использовал, потому и не упоминаю его. На бумаге - прикольно и в качестве потыкать - было вполне норм, но как оно будет на реальном проекте я хз, на тех где я участвовал как раз EF не становился прям узким местом, а если нужно было дать пинок-ускоритель - можно было шаманить с тем что сам EF генерирует.
Аноним 27/11/21 Суб 21:18:55 #589 №2223795 
>>2223737
>когда тебя то что генерирует EF и для твоего приложения критичен тот оверхед который для всего этого трекинга и прочего сделан.
Или когда еф тебя пошлет нахер, например, потому что он может твой запрос только через cross apply составить, а sqlite не умеет в cross apply.
Аноним 27/11/21 Суб 21:38:54 #590 №2223812 
>>2223795
EF не запрещает тебе выполнять голый SQL'овский код же.
Аноним 27/11/21 Суб 22:07:50 #591 №2223832 
>>2223812
Да но в цитате было про генерирование кода еф'ом
Аноним 28/11/21 Вск 00:08:10 #592 №2223915 
Блядский рот.
На компе докер контейнер работает.
А на сервере закрывается сразу. И вот как понять в чем проблема то нахуй???11л
Аноним 28/11/21 Вск 00:52:16 #593 №2223936 
>>2223915
Логировать нужно нормально, желательно в файлик или в БД. Так бы сразу знал в чем причина.
А так, вангую, что какую-нибудь строку подключения к БД или подобное проебал.
Аноним 28/11/21 Вск 12:45:38 #594 №2224113 
>>2223936
Поебень корочи.
Просто завершается контейнер
Exited (0) 22 seconds ago
Типо как будто так и надо.
Но на компе все заебись рабоотает.
Аноним 28/11/21 Вск 22:10:51 #595 №2224741 
Как взять у ноды InnerText без InnerText детей?


<div id="comment">
Получить этот текст
<div class="title">А этот не получать</div>
</div>

Я как ни стараюсь, как ни обращаюсь, на выходе получается "Получить этот текстА этот не получать"
Аноним 28/11/21 Вск 22:57:20 #596 №2224779 
Оказывается в докере Console.ReadLine() не ждет строку.
Ахуительная кросплатформенность.
Я в документации не нашел этой хуйни.
Сколько еще такова7
Аноним 29/11/21 Пнд 03:46:36 #597 №2224884 
Шапка не поясняет, поясните вы, анончики.

Понемногу осваиваю С#, пилю всякое. Хочу почитать какую-нибудь книгу, документация поднадоела уже.
Имею опыт senior JS, junior Python, что лучше читать для продолжающих?
Аноним 29/11/21 Пнд 11:19:01 #598 №2224980 
>>2224741
document.getElementById('comment').firstChild.textContent
Аноним 29/11/21 Пнд 11:53:23 #599 №2225011 
Есть какие чаты в тг где люди вместе обучаются?
Аноним 29/11/21 Пнд 12:08:19 #600 №2225018 
Чуваки, меня в промышленном говновузе определил препод-шиз на работку на местный завод писать что-то на си шарпе с командой умных шизов. Я не бум-бум вообще, делал работы с помощью других людей. Что, как учить?
Аноним 29/11/21 Пнд 12:26:50 #601 №2225029 
>>2225011
>Есть какие чаты в тг где люди вместе обучаются?
В тг не знаю, есть в ирл - вуз называется.
>>2225018
>Что, как учить?
Для начала как наматывать портянки подшивать воротничок.
Аноним 29/11/21 Пнд 12:39:38 #602 №2225034 
>>2225029
Ебать смешно пошутил чел, красава, аплодирцю лёжа.
Аноним 29/11/21 Пнд 12:44:30 #603 №2225039 
>>2225034
Приходи еще.
Аноним 29/11/21 Пнд 14:20:25 #604 №2225150 
>>2224980
>firstChild.textContent
Да это ж джава!
Получилось сделать через FirstChild.Value
Аноним 29/11/21 Пнд 16:16:39 #605 №2225246 
Поцоны, а можно asp net core проект скомпилировать в exe файл?
Ну типо запустил на пк и что бы он работал.
Аноним 29/11/21 Пнд 17:41:59 #606 №2225323 
>>2225246
Ага спасибо нашел.
Аноним 29/11/21 Пнд 19:39:14 #607 №2225429 
Алло ебанаты из говнософта, почему System.Text.Json не умеет парсить DateOnly и TimeOnly? Вы чем там занимаетесь, ебаные бездельники, блядь. Какого хуя я должен какие-то конвертеры писать, пидоры, блядь

НАЧНИТЕ РАБОТАТЬ СУКИ ТУПЫЕ
Аноним 29/11/21 Пнд 19:41:31 #608 №2225432 
>>2225429
Нахуя тебе System.Text.Json? Его еще лет 10 допиливать для использования в реальных проектах.
Аноним 29/11/21 Пнд 19:55:41 #609 №2225442 
>>2225432
Ну мелкомягкие форсят, кидаются графиками с тестами, вот решил новый проект на 6 дотнете начать, а дебилы не могут не обосраться
Аноним 30/11/21 Втр 04:04:31 #610 №2225693 
samplea76a613cb0a8bee5e61dad891bac7e9f.jpg
Стоит вкатываться в шарпы? Язык приятный вроде, да вот переживаю за особенности разработки на нем в текущих условиях. Как я понимаю, дотнет - это энтерпрайз, т.е. промышленные стандарты, зарубежные галеры и вся хуйня, а у меня английский - B1/B2, я же не смогу таски в жире на нем закрывать и документацию к коду писать. Качать английский - это еще плюс год будет, по оптимистичным оценкам, а работать надо уже сейчас. Насколько реально на нем устроиться куда-нибудь без английского джуном? Или просто забить, и смотреть в сторону ноды с условным реактом, чтобы хуяк-хуяк и в продакшн, а не эссе в комментариях на английском писать?
Аноним 30/11/21 Втр 04:57:57 #611 №2225702 
Тут есть ванги? Создал чистый ASP.net core MVC. добавил туда CRUD контроллер (из шаблонов студии) с подключением к базе данных.

Тестирую на одном компьютере - все работает.

Сделал публикацию, перенес ее на другой компьютер, развернул в IIS. Запускаю - работает все кроме создания (то есть я могу редактировать, могу просматривать, могу удалять записи из таблицы. Но создать не могу - вылетает ошибка)

В чем может быть проблема? Возможно в SQL Server у пользователя нет каких-то прав... Но почему я могу менять данные, могу их удалять, а добавлять не могу?
Аноним 30/11/21 Втр 11:13:59 #612 №2225835 
Блять, что за мода у хипстеров воспринимать все ООП как один большой паттерн Стратегия? Если у тебя класс Тролль, метод ГнутьЕль вовсе не обязательно должен быть реализован самим троллем с передачей ему кучи йобаинфы о дереве, лесе и местоположении лесника, который может помешать. Откуда это вообще пошло? Какая-то попахивающая смолтолкивщеной шиза.
Аноним 30/11/21 Втр 12:22:53 #613 №2225895 
>>2225835
> ооп
> смолтолкивщеной шиза
Аноним 30/11/21 Втр 12:33:28 #614 №2225901 
>>2225895
Всему надо знать меру!
Аноним 30/11/21 Втр 12:44:47 #615 №2225910 
>>2225835
Я вообще не понимаю, зачем это всё нужно. Раньше писали программы, используя только функцию и всё было нормально. А сейчас обязательно надо кучу классов, миллион интерфейсов, чтобы реализовать то, что можно сделать десятью функциями.
Аноним 30/11/21 Втр 13:24:34 #616 №2225936 
>>2225910
Да не об этом речь. Просто не всегда объект должен сам за себя отвечать, иногда надо пройти в ДТО.
Аноним 30/11/21 Втр 16:15:06 #617 №2226050 
Пора бы уже научится писать тесты.
Есть у кого пет проджект без тестов?
Могу попробовать его gjrhsnm тестами и вам заgekbnm
Аноним 30/11/21 Втр 18:07:42 #618 №2226121 
>>2226050
>Есть у кого пет проджект без тестов?
У меня даже рабочие без тестов. 250к внедрений, заказчик течет, брат доволен.
Аноним 30/11/21 Втр 18:22:28 #619 №2226134 
>>2226121
Ты тот крутой чел с десктопной прогой для нефтянников?
Аноним 30/11/21 Втр 18:23:22 #620 №2226135 
>>2226134
>крутой чел
Да.
>с десктопной прогой
Да.
>для нефтянников?
Нет.
Аноним 30/11/21 Втр 19:23:14 #621 №2226175 
Обновил в убунте net5 до net6 и всё сломалось. Даже простой хеллоуворлд не компилируется.
Аноним 30/11/21 Втр 20:44:34 #622 №2226228 
image.png
Зачем в параметрах типов слова in и out? Что они делают?
Аноним 30/11/21 Втр 21:04:41 #623 №2226239 
image.png
image.png
>>2226228
out говорит о том что в переменную нужно вернуть результат выполнения метода.
хуй знает зачем и почему просто return не устроил

Ну и in это передачи значения по ссылке только его нельзя поменять внутри метода.
Аноним 30/11/21 Втр 21:11:30 #624 №2226246 
image.png
>>2226239
Нет, я знаю, что такое in и out в параметрах метода, я спрашиваю об их назначении именно в дженерик параметрах. Т.е. почему у стандартного делегата типа пика в дефинишене in и out.
Аноним 30/11/21 Втр 21:53:47 #625 №2226309 
>>2226246
ковариантность/контрвариантность
Аноним 30/11/21 Втр 22:10:06 #626 №2226322 
Я находил сайты где люди делятся своими говноиграми на юнити и ищут людей в команды.
Есть какие сообщества по мб сайтам или программам на шарпах?
Аноним 01/12/21 Срд 05:22:40 #627 №2226488 
>>2226135
О, привет бро - а я тут с десктопной прогой для электриков
Аноним 01/12/21 Срд 16:50:51 #628 №2226821 
image.png
>>2226488
>О, привет бро - а я тут с десктопной прогой для электриков
Сам продаешь?
Аноним 01/12/21 Срд 17:23:02 #629 №2226851 
image.png
Поцоны как мне сюда запихать данные из List мне надо выводить кнопки в телеграмм боте, но данных может быть больше 2х.
Аноним 01/12/21 Срд 18:04:36 #630 №2226907 
>>2226851
list.ToArray()?
Аноним 01/12/21 Срд 18:10:14 #631 №2226912 
>>2226907
там у меня лист классов в с полем string и вот эти поля надо вписать
Аноним 01/12/21 Срд 18:33:46 #632 №2226936 
>>2226912
glist.Select(x => x.stringField).ToArray()
Аноним 02/12/21 Чтв 15:46:43 #633 №2227606 
Сап, острач. Мне надо в зависимости от роли юзера давать им разные доступные действия. Как лучше это организовать? Пока придумал юзать скрытый инпут для хранения роли. Это норм?
Аноним 02/12/21 Чтв 19:31:07 #634 №2227806 
hwnet6.jpg
Обновил dotnet sdk до 6 версии и перестали работать даже простые консольные приложения. Всё компилируется, но программа не выполняется.
Микрософты всё сломали или я тупой?
Аноним 02/12/21 Чтв 19:36:48 #635 №2227814 
>>2227806
Ну, учитывая что у меня как на винде, так и на бубунте все работает - майкрософты не сломали ничего.
Аноним 02/12/21 Чтв 19:47:21 #636 №2227817 
>>2227814
И где тогда вывод? Почему dotnet run ничего не делает?
Аноним 02/12/21 Чтв 19:52:21 #637 №2227818 
.png
>>2227817
Та а я ебу, лол?
Ты уверен что все правильно установил?
Могу и на бубунте показать, если нужно.
Аноним 02/12/21 Чтв 19:53:43 #638 №2227819 
>>2227818
Покажи на бубунте
Аноним 02/12/21 Чтв 19:57:12 #639 №2227821 
Снимок экрана от 2021-12-02 19-56-34.png
>>2227819
Ну вот, показал
Аноним 02/12/21 Чтв 20:48:36 #640 №2227840 
>>2227821
Всё равно не получается(((
Аноним 02/12/21 Чтв 20:53:06 #641 №2227846 
>>2227840
Ты все по гайду делаешь?
Посмотри какие SDK https://docs.microsoft.com/ru-ru/dotnet/core/install/how-to-detect-installed-versions?pivots=os-linux у тебя установлены и какая версия проекта.
Аноним 03/12/21 Птн 13:02:05 #642 №2228199 
image.png
За полиморфизм поясните?
Почему мы можем написать:
object strangeVar = new int(); (int - является наследником object, так что объявляю переменную базового класса, а инициализирую наследником).

Это как вообще работает и почему? В тот момент strangeVar давнкастится до инта или что происходит? Просто для меня это выглядит немного дикостью.

randomPic
Аноним 03/12/21 Птн 13:03:39 #643 №2228202 
>>2228199
забыл добавить, что мимо питон-макака, переходящая на C#
Аноним 03/12/21 Птн 13:48:02 #644 №2228238 
>>2228199
Справа создаётся экземпляр определённого типа, слева указывается тип указателя.
В памяти будет храниться тип именно потомка, но обращаться к нему можно как к родителю.
Можно же вообще написать
IAnus anus = new SpecificAnus();
в результате чего ты сможешь пользоваться анусом только в рамках интерфейса, независимо от того, какой именно анус ты создал.
Аноним 03/12/21 Птн 15:28:38 #645 №2228294 
>>2228199
Ты выбрал не очень хороший пример, потому что в твоем примере будет произведена упаковка инта и отправка его в кучу, и уже на этот упакованный инт будет ссылаться strangeVar.
Аноним 03/12/21 Птн 16:22:03 #646 №2228330 
>>2228199
Для программистов С/С++ тут всё очевидно. strangeVar - это указатель (переменная, которая хранит адрес определенной ячейки в памяти), поэтому он может ссылаться на что угодно.
Аноним 03/12/21 Птн 17:50:23 #647 №2228395 
>>2228330
>Для программистов С/С++ тут всё очевидно. strangeVar - это указатель
А что C/C++ думают про такое выражение?
int* strangeVar = &y;
Аноним 03/12/21 Птн 23:28:52 #648 №2228724 
Антоны, есть файл с числами в двоичном формате.
Нужно пропарсить каждую колонку и найти в ней самый часто встречаемый бит, я чет туплю дико, как это красиво сделать.
Я чет подумал разделить каждую строку и добавлять их в свои списки и потом в каждом списке найти самый часто встречаемый бит, но нужно ли вообще это
Аноним 03/12/21 Птн 23:34:14 #649 №2228729 
>>2228724
И шо если я не хочу в коде прописывать для каждого бита (а их по 6) отдельный список, ибо это какой-то кринж.
Аноним 04/12/21 Суб 16:23:01 #650 №2229134 
Поясните вот за шо.
Я вот играюсь и делаю всякуюж хуйню с httpclient.
Ну задаю вопрос по коду, и мне часто говорят что httpclient должен быть один на всю программу.
Но я обычно его юзаю в статик методах.
К примеру я запускаю несколько задач с одним объектом httpclient. Не случится ли так что будет принять ответ, а потом снова принят ответ и получается что 2 задачи обработают один ответ. Ну к примеру парсинг. Ведь наверное лучше на каждую таску свой httpclient ?
Аноним 04/12/21 Суб 17:24:11 #651 №2229163 
>>2229134
>При создании экземпляра класса HttpClient для каждого запроса будет исчерпано количество сокетов, доступных при высоких нагрузках. Это приведет к ошибкам SocketException. Ниже приведен пример, использующий HttpClient правильно.
>Не случится ли так что будет принять ответ,
Следующие методы являются потокобезопасными: CancelPendingRequests, DeleteAsync, GetAsync, GetByteArrayAsync, GetStreamAsync, GetStringAsync, PostAsync, PutAsync, SendAsync, PatchAsync
>Ведь наверное лучше на каждую таску свой httpclient
Нет не лучше.
Ты доку2 вообще смотрел?
Аноним 04/12/21 Суб 17:37:24 #652 №2229175 
>>2229163
>Ты доку2 вообще смотрел?
Ну я читал.
public static async Task<Token> GetTokenInfoAsync(string id)
{

using (HttpClient client = new HttpClient())
{


HttpResponseMessage response = await client.GetAsync($"https://");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();

Token[] Token = JsonSerializer.Deserialize<Token[]>(responseBody);


return Token.FirstOrDefault();

}


}

Вот к примеру в таком методе будет всегда в responseBody правильный ответ.
Так что лучше его переделать что бы он принимал в конструкторе HttpClient client и его юзал? А надо ли его в юзинг оборачивать потом?
Аноним 04/12/21 Суб 19:06:49 #653 №2229264 
>>2229175
>будет всегда в responseBody правильный ответ
А почему нет?
> принимал в конструкторе HttpClient client и его юзал?
Ну тут сложно сказать как лучше в твоем случае. Если классов, содержащих метод GetTokenInfoAsync должно быть несколько, то передача через конструктор норм, но вопрос, нужны ли несколько его экземплров? Я хз.
>А надо ли его в юзинг оборачивать потом?
Ну, владелец хттпклиента должен реализовать свой диспоз, в котором вызовет диспоз хттпклиента. А когда это все диспозить пусть решает тот, кто это все создал.
Аноним 05/12/21 Вск 00:40:28 #654 №2229497 
image.png
>>2226322
itch.io ?
Аноним 05/12/21 Вск 02:35:21 #655 №2229541 
Объясните пж на примере говна и палок, зачем нужны делегаты. Не проще ли просто вызвать метод?
Аноним 05/12/21 Вск 12:59:04 #656 №2229705 
>>2229541
> проще ли просто вызвать мето
Классический пример: у тебя есть кнопка, по нажатию которой должно происходить действие. Что ты выберешь, писать для каждого действия свою кнопку или сделать общую кнопку, для которой можно указать действие? А?
посмотри паттерн "стратегия"
Аноним 05/12/21 Вск 16:01:17 #657 №2229911 
.jpg
Я решил посмотреть исходники кестрелла.
Так вот, я немного не понимаю как он, блядь, работает. Ну, типа где там, блядь, происходит момент с креплением кук к HTTPКонтексту, проверка токена-авторизации, каким, блядь, образом сокеты менаджатся и это все. Пиздец сложно. И многие вещи - вообще абскурная хуйня(взять хотя бы этот ебучий HttpApplication, да, я понимаю, что там билдится мидлваря, но как оно попадает-то к сокету - хуй знает, ему уже приходи requestDelegate). Ко всему, студия по какой-то охуенной причине даже не хочет подхватывать ссылки, чтобы хотя бы так можно было ориентироваться.
Так вот. Я почему полез в исходники. Суть, мне как тестовое задание дали описание протокола, описание уровня приложения. Сказали - месяц тебе, нужно чтоб 100к соединений держал и чтоб среднее RPS не меньше 100. Протокол - квазиVoIP'шный. Я могу просто ебнуть все это по принципу: Server-Client и просто хуйнуть примерно как в примере майков по асинхронному серверу сделать, но тогда класс клиента уже будет пиздец какой портянкой. Думал спиздить идеи из кестрела. Но видимо я туповат, чтобы понять весь гений челов из майкрософта.
Так вот, посоветуйте какие-нибудь книги по продвинутой архитектуре, а желательно по написанию фреймворков для сетевых приложений, желательно, конечно, на .net, но в принципе больше важна архитектура этого дела, потому можно абстрактный ООП-язык.
Аноним 05/12/21 Вск 18:01:42 #658 №2230069 
>>2228199
Ну, я может сейчас бред выдам, но как-бы я это делал.
Смотри, есть некая таблица типов. Типы в этой таблице хранят ссылку на родительский объект. Если родитель не указан - мы неявно вставляем туда ссылку на корневой объект(Object).
Что-то типа Map<Type,Type>
Так вот, зная тип - мы можем посчитать, сколько место понадобится для конкретного объекта. Ок, да. Ну а дальше, мы просто на уровне языка - разрешаем спокойно апкаст(потому что в данном случае ничего не может потеряться, т.к. наследник в любом случае содержит всю информацию родителя), а с даункастом - уже сложнее, мы должны будем проверить, что объект до которого мы даункастим - имеет все поля, свойства и ссылки на функции, которые должны быть у экземпляра, если они есть - мы спокойно даункастим, иначе - кидаем эксепшн.
С точки зрения реализации, скорее всего нет таблицы, а есть магией компилятора, там как раз создается объект родителя и ссылка на него помещается в экземпляр.
Но это может быть бред, потому что я - книжек не читал, просто пытаюсь придумать как бы я делал.
Аноним 05/12/21 Вск 19:58:55 #659 №2230221 
>>2230069
>скорее всего нет таблицы, а есть магией компилятора
Есть объекты типа, в которых есть вся информация по типам. Через них работает и рефлексия.
Аноним 07/12/21 Втр 07:49:25 #660 №2231406 
А по Blazor есть нормальные книги/курсы? Или до сих пор все уровня хеловорлда
Аноним 07/12/21 Втр 16:40:13 #661 №2231797 
Аноны, такая штука, может кто сталкивался.
Пишу приложение на asp.net core, располагается на IIS. Компания хочет, что бы приложение было расположено внутри defaultwebsite, по псевдониму. То есть доступ к приложению был типа http://имя сервера/псевдоним/
Запустить так запустил, но все ссылки внутри не проходят, кидаются к корню сервера, псевдоним пропускают. Как сделать? Конечно можно прямо в коде прописать этот псевдоним, но я так не хочу, хочу что бы работало независимо от того, какой псевдоним назначат в IIS. При этом в Microsoft Edge, кстати, работает, а в остальных браузерах нет.
Аноним 07/12/21 Втр 17:23:37 #662 №2231844 
>>2231797
На РНР это всё элементарно делается, но супер-фреймворк АСП.НЕТ Коре так не может
Аноним 07/12/21 Втр 19:06:46 #663 №2231990 
>>2231797
app.UsePathBase("/псевдоним");
или пусть сами мапят на уровне реверс-прокси
Аноним 07/12/21 Втр 20:57:00 #664 №2232072 
итт советуем мне книги по мсскл на русском не 2000 года издания
Аноним 07/12/21 Втр 22:32:37 #665 №2232147 
049799fd8f36365270444d2aa48de122.jpg
1000 строк кода для игры в морской бой в консоли это дохуя?
Аноним 07/12/21 Втр 23:14:52 #666 №2232165 
>>2232147
да, скинь пример какой-нибудь функции. У тебя же есть отдельные функции?
Аноним 07/12/21 Втр 23:45:51 #667 №2232177 
>>2232165
Есть. Их, пожалуй, даже слишком много
Аноним 07/12/21 Втр 23:54:28 #668 №2232181 
>>2232147
Гуглишь утилиту для подсчёта строк cloc, ищешь репозиторий с морским боем и смотришь, сравниваешь.
Аноним 07/12/21 Втр 23:56:11 #669 №2232182 
>>2232181
Дык а зачем она нужна?
Аноним 08/12/21 Срд 00:11:17 #670 №2232189 
>>2232182
Посмотреть количество строк в альтернативном решении, чтобы сравнить с количеством строк в своем.
Аноним 08/12/21 Срд 00:13:25 #671 №2232191 
>>2232189
Понял, спасибо
Аноним 08/12/21 Срд 02:20:53 #672 №2232224 
Здравствуйте! Есть ли смысл изучать blazor? Перспективная технология? И стоит ли ознакомится до blazor с самим asp net core и всякими mvc?
Аноним 08/12/21 Срд 11:34:40 #673 №2232316 
image.png
Как это исправить? Я не пынямаю
Аноним 08/12/21 Срд 11:57:55 #674 №2232323 
image.png
>>2232316
Я сделол
Аноним 08/12/21 Срд 12:01:45 #675 №2232325 
>>2232224
Скорее всего не стоит. Шансы, что будет вакансия бод блазор минимальны.
>>2232316
>Я не пынямаю
>.[
А я не понимаю что ты хочешь такой конструкцией получить и почему ты решил, что рандомный набор символов должен работать
Аноним 08/12/21 Срд 12:28:14 #676 №2232339 
Начал читать Рихтера. Как закончу, то буду выделываться перед всеми, что я крутой и прочитал Рихтера.
Аноним 08/12/21 Срд 12:59:54 #677 №2232367 
Куда перекатываться с шарпа? Писал целый год десктопы на заводе, больше заниматься этой парашей вообще не хочу.

https://strawpoll.com/w4crg6d7k
Аноним 08/12/21 Срд 13:51:57 #678 №2232410 
>>2232325
ну, чисто семантически индексер это проперти, а проперти это вызов метода, а вызов метода по-идее идёт через точку (в f# кстати до недавнего времени синтаксис доступа по индексу был именно такой). Другое дело, что дефолтный вариант без точки уже стал стандартом во многих языках.
Аноним 08/12/21 Срд 14:04:44 #679 №2232433 
>>2232367
>Куда перекатываться с шарпа?
На Джаву конечно! Там дектопов нет если в жижбрейнз не устроишься.
Аноним 08/12/21 Срд 15:36:16 #680 №2232502 
>>2232367
на шарпе только десктоп пишут?
Аноним 08/12/21 Срд 16:08:56 #681 №2232519 
>>2232325
>Скорее всего не стоит. Шансы, что будет вакансия бод блазор минимальны.
А с самим asp.net core стоит разбираться? до этого вообще не имел с ним дела
Аноним 08/12/21 Срд 16:49:43 #682 №2232546 
>>2232519
Ну у тебя по сути два шарповских стула asp net core фуллстэк вэб (тот черный господин из оп-поста) или юнити.
Аноним 08/12/21 Срд 17:26:56 #683 №2232579 
Является ли пространство имён объектом?
Аноним 08/12/21 Срд 18:15:24 #684 №2232627 
>>2232367
По Джаве есть крутые книги Хартмана. Я только из-за них готов перекатиться туда.

>>2232433
Как раз таки на Джаве кроссплатформенный десктоп, а в шарпе ничего такого нет. МАУИ ещё неизвестно когда выйдет.
Аноним 08/12/21 Срд 20:19:02 #685 №2232698 
>>2232546
Понял, спасибо большое
Аноним 08/12/21 Срд 20:23:12 #686 №2232701 
>>2232579
Нет.
Аноним 08/12/21 Срд 22:28:58 #687 №2232775 
>>2232546
насколько десктоп (впф + ado/ef) не востребовано?
Аноним 09/12/21 Чтв 04:17:17 #688 №2232863 
Храню токен в стринг переменной гений, как обфусцировать эту переменную, чтобы в памяти она выглядела иначе?
Аноним 09/12/21 Чтв 05:29:32 #689 №2232869 
Объясните ньюфагу, смог бы условный мидл сам написать двач в нынешнем виде и если да, то насколько это была бы трудная задача?
Аноним 09/12/21 Чтв 06:24:15 #690 №2232880 
>>2232546
> у тебя по сути два шарповских стула
А если я хочу сесть на поддержку десктоп приложения на винформс? Это хуи или пики?
Аноним 09/12/21 Чтв 08:28:35 #691 №2232895 
>>2232869
Базовый функционал можно написать за неделю, но реализация всех свистелок-перделок может затянуться надолго.
НА просторах интернета можно найти много мелкоборд, которые создали программисты в одиночку. Правда там не шарп, а РНР или Го.
Аноним 09/12/21 Чтв 10:58:49 #692 №2232981 
>>2232775
Открой ХХ и посмотри.
>>2232863
А нужно? В екзешнике все равно будет вся инфа по её расшифровке.
>>2232880
>Это хуи или пики?
Для джуна это скорее всего говноконтора и 20к деревянных.
>>2232869
Смог бы, не особо сложно.
Аноним 09/12/21 Чтв 12:32:35 #693 №2233046 
>>2232981
> Для джуна это скорее всего говноконтора и 20к деревянных
Где-то реально платят 20к, пусть даже максимально тупому джуну? Думал, что нет таких зарплат.
Аноним 09/12/21 Чтв 15:28:52 #694 №2233188 
НУ, КАК ВКАТИЛИСЬ?

#intern #junior

C# Backend Developer в компанию CodeCave (https://companies.dev.by/codecave?utm%5C_source=tg&utm%5C_medium=msg&utm%5C_campaign=jobs%5C_dev%5C_by%5C_channel&utm%5C_term=vacancies&utm%5C_content=codecave?).

Опыт: Полгода
Уровень английского: Intermediate
Зарплата: $200—500

Требования:
— Опыт работы с Node.js или ASP.NET Core с поддержкой WebAPI backen.
— Git (GitHub) и basic GitFlow.
— Знакомство с JIRA, CI/CD инструментами.
— Знание SQL и реляционных баз данных (PostgreSQL/MySQL/MS SQL).
— Понимание HTTP протокола.

Читайте подробное описание вакансии. (https://jobs.dev.by/vacancies/24819?utm_source=tg&utm_medium=msg&utm_campaign=jobs_dev_by_channel&utm_term=vacancies&utm_content=24819)
Аноним 09/12/21 Чтв 15:32:12 #695 №2233193 
>>2233188
А танцевать вприсядку им не надо!?
Аноним 09/12/21 Чтв 15:33:45 #696 №2233196 
>>2233193
Нет, это в EPAM
Надо следующее
If you are a full-stack:

♥️ 1-3 years of experience with Blazor / React or Vue.js

♥️ Understanding of Component-Based Design

♥️ Experience in any kind of UI toolkit (Tailwind, Foundation, Material, Bootstrap, Semantic etc)
Аноним 09/12/21 Чтв 17:17:38 #697 №2233270 
>>2233188
>Минск
Аноним 09/12/21 Чтв 17:48:26 #698 №2233301 
image.png
Да ёбаны врот, онаны. Как в блядской visual studio 2019 community создать проект Windows Forms .NET CORE???? В каком она пакете???
Аноним 09/12/21 Чтв 18:49:31 #699 №2233349 
>>2233301
Core не поддерживает WinForms, потому что оно не кроссплатформенное
Аноним 09/12/21 Чтв 18:50:50 #700 №2233351 
.jpg
В общем. На этот пост >>2229911 мне никто не ответил, потому пришлось думать самому.
Так вот, какую "архитектуру" я придумал:

TCPServer<TProtocol> - класс который принимает подключения, управляет ими(отключает, проверяет что истек таймаут удержания сессии и т.д.). Методы: Start(), Stop();

IConnectionFactory - чтобы оборачивать сокеты в наше соединение с дуплексным режимом передачи
метод :
IConnection CreateConnection(Socket, ConnectionSettings);

IConnection - абстракция над сокетом, чтоб скрыть всю ту сокетовскую фигню:
Методы:
void Start();
void Stop();
Свойства:
Guid Id {get;}
Stream Input { get; }
Stream Output { get; }
bool IsConnected { get; }
EndPoint LocalEndPoint {get;}
EndPoint RemoteEndPoint {get;}

ISessionContext<TProtocol> - некая абстрактная коммуникационная сессия, держит соединение, но имеет возможность его заменить, если с точки зрения приложения сессия продолжается, но возможно физическое соединение было потеряно и затем восстановлено, на уровне интерфейса имеет свойство Connection и метод Abort(ServerException), Abort - чтобы дропнуть соединение по причинам, которые указываются в исключении

IApplication<TContext, TProtocol> where TContxt : ISessionContext<TProtocol> - прикладной уровень, тут реализуется логика на уровне приложения.
Методы:
TContext CreateContext(IConnection) //вызывается после создания соединения
Task HandleContext(TContext, CancellationToken) - метод который должен будет обрабатывать соединение в соответствии с протоколом

Ну и сверху, чтобы не засирать IApplication<TContext, TProtocol> -

IApplicationPipeline<TContext, TProtocol> where TContxt : ISessionContext<TProtocol> - некий пайплайн обработки соединения, допустим сначала нужно спарсить пакет, потом - попробовать зароутить его к обработчику, затем сформировать ответ и отправить результат клиенту, а в промежуточные моменты - возможно прицепить что-то к контексту, либо залогировать что-то
метод:
Task Handle(TContext, CancllationToken)

IApplicationPiplineBuilder<TContext, TProtocol> where TContxt : ISessionContext<TProtocol>
с методами:
IPipleinBuilder<TContext, TProtocol> AddLast(Func<TContxt, CancellationToken, Task> handler);
IPipleinBuilder<TContext, TProtocol> AddFirst(Func<TContxt, CancellationToken, Task> handler);
IApplicationPipline<TContext, TProtocol> Build();


Так вот. Что я, не учел?

Аноним 09/12/21 Чтв 18:56:01 #701 №2233356 
.png
>>2233349
Не выдумывай.
>>2233301
Вот то что тебе нужно. До переименования в NET - это было Core. Да, не кроссплатформенно, ну и хули, зато последняя версия языка и последние плюшки.
Аноним 09/12/21 Чтв 18:59:05 #702 №2233359 
stupidpitard.png
>>2233301
ХОЧЕШЬ СТАТЬ ПРОГРАММИСТОМ
@
НЕУВЕРЕННЫЙ ПОЛЬЗОВАТЕЛЬ ПК
Аноним 09/12/21 Чтв 19:24:22 #703 №2233376 
>>2233356
Ага, спасибо. Расскажите, это правда что Core по сравнению с Framework лучше распределяет ресурсы ПеКа, ядра там вот это всё? Или пиздёж?

>>2233359
Не пизди на старого бумера.
Аноним 09/12/21 Чтв 22:38:51 #704 №2233532 
Аноны не серчайте. Возможно ли использовать microsoft library office excel и office в VS на mac os? Правильно ли я понимаю, что С# обрезан на mac os? И xamarin и avalonia не дотягивают до Framework. Может написал хуйню, но я пока даже толком синтаксиса не наю. Просто надо определиться стоит ли вкатываться. Нужно пару проектов реализовать по работе.
Аноним 09/12/21 Чтв 22:54:38 #705 №2233549 
Никто не сталкивался с ограничениями скорости сети от entity framework? Есть одна удаленная база с пикчами (ms-sql express), в connection string - network library=DBMSSOCN. В диспетчере задач вижу что у процесса моего приложения нагрузка на сеть практически стабильно стоит и не поднимается выше 8 мбит, хотя на спидтесте у меня около 80 мбит, на стороне сервера еще больше, никаких ограничений в обеих сетях нету. Причем если подключаться к серверу через локаль такой хуйни нету и все работает как должно, а через интернет начинаются тормоза.
Аноним 09/12/21 Чтв 23:30:43 #706 №2233593 
image.png
>>2233532
C# синтаксис.
Если библиотека которую ты хочешь юзать поддерживает NET 5-6блять с названиями путаница пиздец, или net 3.0 ниже уже могут быть проблемы. Хотя хуй знает если нет вариантов то надо пробовать ниже.
Юзаешь .NET MAUI и все четко.
Хотя я уже осознал что C# это не про декстоп. Вот пиздецки как не удобно и сложно. Если надо что то декстопное сделать что то с гуито уж лучше asp net core и скомпилить его в один исполняемый файл.
Бота делал по кнопкам кляцать то просто консолькой.
Сервер для перехвата post get делал на asp net core с веб мордой статистики.
Юзай пугуй https://github.com/hoffstadt/DearPyGui
Если вот тебе чисто нужно декстоп приложуху сделать. Быстрее выучишь и проще делать.
Имхо корочи.
Аноним 09/12/21 Чтв 23:49:14 #707 №2233613 
Можно у вас как-нибудь как в нормальных языках прокинуть изолированно зависимости через csproj? (речь про глобальный SDK под билд например .NET 6)?
А не ставить на машину глобально.
Аноним 10/12/21 Птн 06:52:25 #708 №2233693 
>>2233593
Спасибо анон. А что сейчас для десктопа?
Аноним 10/12/21 Птн 14:15:46 #709 №2233924 
>>2233693
А что десктоп? WinForms по-прежнему прекрасно справляется с созданием функционального гуя в 95% случаев. Если тебе нужны анимации или аппаратное ускорение рисования, и ты готов ради этого знатно потрахаться - есть решение для извращенцев, WPF. А более сложные или красивые вещи ты всё равно на шарпе делать не будешь, заебёшься вусмерть. Для полного отвала жопы используются Qt или электрон-подобные фреймворки, а не мелкомягкий гуиподобный продукт, к тому же намертво прибитый к винде.
Аноним 10/12/21 Птн 17:11:36 #710 №2234094 
>>2233924
Чем WPF хуже WinForms? Они же практически одинаковы, но у WPF преимущество в том, что формочку можно через xaml описать и всё работает через DirectX, а не GDI.
Аноним 10/12/21 Птн 18:16:20 #711 №2234178 
index.jpg
>>2233613
https://docs.microsoft.com/en-us/dotnet/core/deploying/
Аноним 10/12/21 Птн 20:25:50 #712 №2234374 
.jpg
>>2234094
> Чем WPF хуже WinForms?
1. Тормоза. Если ты потестируешь скорость работы реального большого WPF-приложения (а не тестового проекта), ты заметишь, что оно ТОРМОЗИТ ЕБАТЬ КАК по сравнению с винформс. Страдает даже время отклика контролов - крайне заметно при вводе символов в текстбокс.

2. Внешний вид контролов и кастомизация. Если ты видел одно WPF-приложение, ты видел все. Мало того, что этот дизайн устарел давно (МС когда-то мечтали, что на это говно все перейдут), так его ещё и практически нельзя изменить. Как не ебись с XAML, уши стандартного WPF-дизайна родом из 2006 года будут торчать.

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

4. Сам факт того, что WPF был сделан не потому, что он нужен, а из-за свойственного мелкомягким NIH-синдрома, но позиционировался, как технология, которая должна была стать центральной в разработке приложений под Windows. Вышел провал: что WPF, что XAML - это велосипеды ненужные. Популярные приложения на WPF можно по пальцам пересчитать, потому что мелочь прекрасно пишется на винформс, а крупные сложные приложения делаются куда проще, быстрее, красивее и разнообразнее на Qt или с гуём на JS.

Вот и всё. WPF оказался нужным только корпоративным разрабам, которые клепают клиентики к БД и внутренние приложения типа "форма для внесения данных". МС провал признали, WPF перевели в режим поддержки практически без обновлений, вот и сказочке конец. Правда МС жизнь ничему не учит, чуть позже они точно так же серанули себе в штаны с UWP.

Аноним 10/12/21 Птн 21:13:07 #713 №2234463 
>>2234374
Это ж, что получается майки в последнее время гробят все к чему прикасаются? Хотя поработав с их докам по VBA, неудивительно. А что по хваленной кросс-платформенности в новом dotnet? Вся кросс-платформенность в консольке?
Аноним 10/12/21 Птн 21:14:33 #714 №2234466 
>>2234463
Только Java кроссплатформенна, а шарп чисто под винду. Core - это обрезанная версия Framework.
Аноним 10/12/21 Птн 21:38:00 #715 №2234503 
.jpg
Та что не так? Почему на мои нубовские вопросы не отвечают?
>>2233351
>>2229911


Могли бы хоть нахуй послать, чтоб я не проверял как еблан, вдруг кто ответит.
Аноним 10/12/21 Птн 21:40:10 #716 №2234508 
>>2234503
Ты смотришь слишком много аниме и из-за этого стал таким психованным
Аноним 10/12/21 Птн 21:55:20 #717 №2234524 
Мне кажется в изучении С# есть ловушка. Есть куча информации по самому языку, но практически нет инфы о его фреймворках. Т.е. чем дальше ты заходишь в изучении, тем меньше информации тебе доступно. В конечном итоге наступает информационный голод и обучение дальше не идёт. Но при этом все хотят специалиаста выше этого уровня. Как добить этот промежуток?
Аноним 10/12/21 Птн 22:01:33 #718 №2234532 
Как быстрее с точки зрения CPU и памяти перевести byte[] в вид
(int,int)[] или по другому в массив структуры у которой 2 int поля.

За кулисами я подобное делаю каждые 10 мс для ~1000 объектов с byte[] размером в районе 300-2000 байт.
Все это через обычный for и BitConvert.
И хотелось бы делать это оптимальнее так как по профайлеру это достаточно узкое место.
Аноним 10/12/21 Птн 22:08:26 #719 №2234538 
>>2234532
unsafe ptr cast?
Аноним 10/12/21 Птн 23:33:38 #720 №2234601 
>>2234466
>Core - это обрезанная версия Framework.
Пиздец ты клоун.
>>2234463
>Вся кросс-платформенность в консольке?
Вся кроссплатформенность в CLR.
>>2234503
Я не вникал, но такое ощущение, что ты городишь какие-то костыли. Зачем тебе пердолить что-то, а не взять уже напердоленное?
>>2234524
>но практически нет инфы о его фреймворках.
Если говорить о "родных" фреймворках, то мало где ты найдешь доки лучше. Если о тхирд-парти, то тут как повезет, но по популярным инфы навалом.

Аноним 10/12/21 Птн 23:38:08 #721 №2234605 
>>2234178
Мне не паблиш с рантаймом нужен
Мне нужна возможность через dotnet restore НЕ УСТАНАВЛИЯ SDK НА УРОВНЕ МАШИНЫ (внезапно в нормальных языках это можно сделать) сделать билд
Аноним 10/12/21 Птн 23:40:59 #722 №2234608 
>>2234601
> Зачем тебе пердолить что-то, а не взять уже напердоленное
Протокол - проприетарный, единственная реализация - на плюсах от вендора, контора оч нелюбит плюсы и всячески пытается от низ избаваться(плюсовики в конторе охуели совсем, нихуя не делают, просят много денег и пугают тем, что уйдут, если им много денег не дадут). На джаве, есть Netty и Mina где большая часть того что я описал - есть и можно базовую логику протокла запихнуть в обычные обработчики и жить не тужить, но конторе нужен .NET, на дотнете, сколько не искал, нормальных аналогов Mina и Netty не нашел, есть для HTTP, если не HTTP - ебись либо с сокетами, либо с NetworkStream, которые те же сокеты. А мне намекнули, что этот протокол только один из тех которые в будующем предстоит начать поддерживать, вот я и решил свой костыльный фреймворк для сетевых приложений поверх TCP намутить.
Аноним 11/12/21 Суб 08:18:13 #723 №2234700 
>>2234601
Хочешь сказать, что Core не обрезанная? Тогда почему я не могу на линупсе создать десктопное приложение?
Аноним 11/12/21 Суб 09:13:25 #724 №2234708 
>>2234466
>Основа современного дотнета
Обрезали разве что все лишнее
>>2234700
А в ферймверке типа можешь?
Аноним 11/12/21 Суб 09:30:35 #725 №2234711 
>>2234700
>Тогда почему я не могу на линупсе создать десктопное приложение?
Кто ж знает. Могу предположить, что ты пытаешься использовать гуй прибитый к винде, а не кроссплатформенный.
Аноним 11/12/21 Суб 09:37:27 #726 №2234713 
>>2234708
Фреймворк изначально был только под винду, а на маке и линупсе был Моно. Они выкупили Моно и переименовали его в Коре, но прикрутить десктоп не смогли.

>>2234711
Ты предлагаешь использовать неуправляемый код в проекте? Зачем тогда нужна вся возня с этими виртуалками? Может проще сразу писать на C++ под Qt?
Аноним 11/12/21 Суб 09:43:53 #727 №2234717 
Вообще последнее время наблюдается резкий спад количества книг по шарпу. Даже Рихтер не пишет книгу по Core. И что-то мне подсказывает, что уже не напишет никогда. Скорей выйдет книга JVM via Java Kotlin, чем по CLR Core.
Аноним 11/12/21 Суб 10:29:00 #728 №2234727 
В вузе сейчас у меня идет курс по сисярпу, параллельно обучению читаю книгу Джепикса и Троелсена, а после планировал взяться за CLR via C# Рихтера. Возник вопрос: стоит ли это делать, учитывая год её последнего издания и то, на какую версию шарпа она ориентирована? И какие более современные альтернативы есть желательно на великом и могучем?
Аноним 11/12/21 Суб 10:37:12 #729 №2234728 
>>2234713
>предлагаешь использовать неуправляемый код в проекте?
Ни слова про неуправляемый код не было. Есть же авалония/замариан.формс/ето.формс или уно взять, даже под вэб ассембли соберет.
Аноним 11/12/21 Суб 11:06:08 #730 №2234731 
>>2234728
Но никто не знает как на этом всём писать, потому что книг нет
Аноним 11/12/21 Суб 11:08:42 #731 №2234732 
>>2234727
Книга имеет уже историческое значение, потому что описывает устаревшую платформу, которая уже выведена из эксплуатации. Книг по дотнету мало, да и те редко переводят. На русском издают в основном книги по Java.
Аноним 11/12/21 Суб 12:06:38 #732 №2234745 
>>2234731
А ты тот даун. Тогда да, никак.
Аноним 11/12/21 Суб 17:30:08 #733 №2234998 
Такая хуита:
>app.UseStaticFiles();
>app.UseStatusCodePagesWithReExecute("/error/HandleCode/{0}");
Если на странице есть ссылка на картинку, которой нет на сервере, то вместо пустого 404 сервер отдает всю страницу с наворотами из UseStatusCodePagesWithReExecute. А это лишняя инфа по сете + доп нагрузка на сервер. Как красиво сделать так, чтобы если 404 по пути /staticResources/xxx, то возвращался бы пустой 404? Я, конечно, могу вставить свою мидлварю между UseStaticFiles и UseStatusCodePagesWithReExecute, но может есть настройки из коробки для такого?
Аноним 11/12/21 Суб 21:35:12 #734 №2235289 
>>2205513 (OP)
Анон, подскажи, какой способ лучший для избавления magic string-ов? Так чтобы собрать все (или большую часть) строк в одно место и во всех остальных дергать их оттуда.
Аноним 11/12/21 Суб 21:47:51 #735 №2235302 
>>2235289
Если у тебя не предполагается локализация этих строк, то простой статичный файл с константами. И да, майки сами так делают и ничего, норм, все живы.
Если у тебя строки это таки ресурс, то, внезапно - выноси как ресурс.
Аноним 11/12/21 Суб 22:36:10 #736 №2235344 
>>2235302
>Если у тебя не предполагается локализация этих строк,
Нет, просто хочу кучу однотипных строк из разных классов в одном месте собрать, чтобы при изменении какого-либо сообщения не приходилось весь код лопатить.
Я просто думал, вдруг под это дело какой-нибудь распространенный шаблон/паттерн есть, про который я не знаю.
>>2235302
>Если у тебя строки это таки ресурс, то, внезапно - выноси как ресурс.
Чет, я про это почитал, слишком заморочено и не то, что мне нужно.
Аноним 11/12/21 Суб 22:53:26 #737 №2235359 
Анонче, помоги с LINQ и Union
Есть иерархия коллекций с экземплярами нескольких классов:
class Pupa { string, int, datetime}
class Lupa { public ObservableCollection<Pupa> PupaList; ....}
class Zalupa { public ObservableCollection<Lupa> LupaList; ....}
и собственно коллекции с залупами.

Как мне объединить коллекции с залупами, чтобы все вложенные коллекции также объединялись без дубликатов? Нужно написать какие-то компараторы или оно и так должно работать? Ткните носом что читать
Аноним 11/12/21 Суб 23:01:20 #738 №2235373 
>>2235359
Distinct
Аноним 11/12/21 Суб 23:09:00 #739 №2235381 
>>2234732
>Книга
Какая, там две. Слышал, Рихтер все еще актуален и есть планы прочитать его а троелсена уже прочел
Аноним 11/12/21 Суб 23:41:20 #740 №2235408 
xlsx.png
Сап, шарпаны. Ситуация такая, есть бд к которой непосредственного доступа нет, но готовы предоставлять инфу из неё по апи. И нужно на основе этой инфы делать отчетики в эксельке. Соответственно, что, и в каком виде у них запрашивать? Как сишарпом формировать xlsx файлы? Нашелся вот такой недурственный совет, благодаря которому выяснилось, что xlsx - не более чем структура из папок и xml, но как это все завернуть в один файл? Можете еще чего годного посоветуете для формирования отчетиков из чужой бд в эксель?
Аноним 11/12/21 Суб 23:52:00 #741 №2235413 
>>2235408
>Нашелся вот такой недурственный совет, благодаря которому выяснилось, что xlsx - не более чем структура из папок и xml, но как это все завернуть в один файл?
Не лезь в это говно, тебе совершенно не нужно знать, что там внутри.
Возьми пакет EPPlus там есть все что нужно.

Ты просто создаешь объект ExcelPackage
Далее добавляешь в него ExcelWorksheet, в который распихиваешь свою информацию по нужным тебе строкам, столбцам или клеткам.
Делаешь .SaveAs(file) на package и все.
Аноним 12/12/21 Вск 04:17:25 #742 №2235548 
>>2205513 (OP)
Ну, как вкатились?

https://hh.ru/vacancy/49211222
>Москва
>до 15 000 руб. на руки
>Нагрузка 40 часов в неделю 5\2. Гибкий график аххаха блять

Для сравнения, в этой же фирме
https://hh.ru/vacancy/50347326
>Специалист контакт-центра (входящие звонки)
>до 50 000 руб. на руки
Аноним 12/12/21 Вск 09:29:31 #743 №2235574 
>>2235548
Домашнее задание для зумера, сколько через год будет получать разработчик на шарпе, а сколько оператор кал центра?
Аноним 12/12/21 Вск 09:31:51 #744 №2235577 
>>2235381
Прям все 1300 страниц прочитал?
Аноним 12/12/21 Вск 09:45:56 #745 №2235582 
>>2235574
И что ты предлагаешь? Учить Джаву?
Аноним 12/12/21 Вск 10:31:07 #746 №2235599 
>>2235577
Не, половину Кажется, до главы про АДО включительно, Энтити уже не читал, дальше метанит и я не он, если че, не за один день прочел, лол, за пару месяцев
Аноним 12/12/21 Вск 10:50:02 #747 №2235608 
>>2235413
>Возьми пакет EPPlus там есть все что нужно
Спасибо, годный совет А че у них там с лицензиями? Кажется, нужно использовать 4.Х версию, 5.Х для фирм платная. Как вообще с этим дела в Раше?
Аноним 12/12/21 Вск 12:16:58 #748 №2235643 
>>2235599
Я консоль быстро освоил, а вот фреймворки не могу. Слишком не понятно написано. Если до этого шло подробное описание языка, то фреймворки - галопом по европам. Нормальных книг найти не могу.
Аноним 12/12/21 Вск 14:08:01 #749 №2235690 
Уэсака Сумирэ в русском книжном магазине.webm
>>2234745
Если книг читать не будешь - скоро грамоту забудешь!

Уесака Сумирэ - японская писечка
Аноним 12/12/21 Вск 14:27:31 #750 №2235705 
Допустим есть куча классов в неймспейсе AAA.BBB.CCC.
Как их средствами Visual Studio или какого-нибудь экстеншена перенести в неймспейс AAA.DDD?
Аноним 12/12/21 Вск 14:59:02 #751 №2235748 
Я хочу получить json с интернета и обработать как нужно. В питоне пишу примерно такое, всего две строчки и у меня готовый список со всеми данными к которым я могу обращаться:

import requests
r = requests.get("https://jsonplaceholder.typicode.com/users").json()
r[0]["username"]
>> 'Bret'
r[2]["email"]
>> '[email protected]'

Как сделать примерно тоже самое в c#? Вроде скопировал пример откуда-то, но ничего не работает

HttpClient req = new HttpClient();
var content = await req.GetAsync("https://jsonplaceholder.typicode.com/users");
var resp = await content.Content.ReadAsStreamAsync();

json = JsonSerializer.Serialize(resp); ???
Console.WriteLine(json); ???
Аноним 12/12/21 Вск 15:51:29 #752 №2235786 
>>2235705
Что значит перенести? AAA.BBB.CCC - это имя классов. К примеру, из другого неймспейса их можно вызвать написав
AAA.BBB.CCC.ClassName puk = new AAA.BBB.CCC.ClassName();
Аноним 12/12/21 Вск 16:35:54 #753 №2235832 
>>2235786
Сейчас имеем:
файл C1.cs:
namespace AAA.BBB.CCC;
class C1 { public int Value {get; init; }

...
файл CN.cs:
namespace AAA.BBB.CCC;
class CN { public double Value {get; init; }


Надо, чтобы стало вот так:
файл C1.cs:
namespace AAA.DDD;
class C1 { public int Value {get; init; }

...
файл CN.cs:
namespace AAA.DDD;
class CN { public double Value {get; init; }


Вручную это накликивать трудоёмко.

В решарпере есть такой функционал (вроде называлось Refactoring/Move content to namespace... или как-то так), но у меня его нет, только бесплатные экстеншены могу себе позволить.
Студия позволяет только единичный неймспейс переименовывать.
Аноним 12/12/21 Вск 17:21:50 #754 №2235866 
>>2235832
Правка - Найти и заменить
Аноним 12/12/21 Вск 18:23:31 #755 №2235910 
>>2235608
Ну смотри.
4.x версия идет под LGPL лицензией. Если вкратце - используй как хочешь, хоть в попенсорцном, хоть в проприетарном софте.
Версия 5.x идет по платной подписке. Я сильно не вникал, но насколько я понял: для личных некоммерческих проектов - можно использовать как хочешь. Для любой коммерческой деятельности, нужно покупать лицензию по одной на разраба.
---
Теперь о том как с этим в России.
Я не скажу как насчет чистой коммерческой деятельности (сделал, собрал, продал), но есть три сценария при которых можно опухнуть если использовать 5.x версию без лецензии:
1) При работе с иностранными заказчиками, они просто могут не принять такую работу у тебя, пока ты им не покажешь лицухи на все, что вызывает сомнение.
2) Если вдруг тебе надо будет конечный результат своей работы внести в госреестр програмного ограничения. Там достаточно жесткие требования к лицензиям всех используемых компонентов.
3) Если к тебе есть повышенное внимание органов (налоговых или еще каких), т.е. это конечно мелочь и привлечь за этот проблематично, но это дополнительный крючок за который тебя можно будет дергать.

У нас в конторе используется 4.5 версия. Ее в принципе хватает для подавляющего большинства сценариев. (Core 3.1 если что)

Аноним 12/12/21 Вск 18:56:40 #756 №2235938 
>>2235705
>>2235832

>>2235832
Курсор на имя неймспейса в одном из этих классов. Edit - Refactor - Rename (или Ctrl+R, Ctrl+R) и переименовываешь.
Если все эти классы находятся в одном неймспейсе, то переименуется в каждом, включая ссылки в юзингах на этот неймспейс. В VS2019 точно работает.
Аноним 12/12/21 Вск 19:41:09 #757 №2235975 
>>2235643
Я фреймверки по метаниту осваиваю. Если прям книг хочется, есть Фриман по АСП и Ентити не читал, тех же годов, что и Тролсен
Аноним 12/12/21 Вск 19:53:44 #758 №2235981 
>>2235975
У Фримена MVC 2 самая последняя, а уже вышли MVC 5 и 6. Ещё читал, что они там всё очень сильно меняют, что код невозможно перенести из версии в версию.
Аноним 12/12/21 Вск 20:45:21 #759 №2236018 
вшсдзшс.png
>>2235690
Но по факту не читаешь ты ведь книг тонет.
>>2235748
>JsonSerializer.Serialize
Это чтобы создать джсон из объекта. Чтобы создать объект из жсона нужно JsonSerializer.Deserialize и тип объекта в который десириализовать. Но тебе видимо нужно просто выцепить какие-то свойства, поэтому см. пикрил. Но такие вещи приятнее делать через Newtonsoft.Json там и селекторы и linq.
>>2235981
>что код невозможно перенести из версии в версию.
Ну если тупо обезьянничать, то да, при копипасте может не завестись. Но все это правится изменением пары строк часто с подсказки самой студии. Остальное на 99,99% будет тоже самое. Просто надо мозг иногда включать, ты же программировать учишься а код переписывать. Искать "да какого оно не работает" часть работы программиста.
Аноним 12/12/21 Вск 20:55:51 #760 №2236027 
>>2236018
Читаю какие есть, но хотел бы больше книг.
Аноним 12/12/21 Вск 21:45:26 #761 №2236091 
Можно в женерике как то сделать что-то вроде
T variable = T.staticVariable;
?
Аноним 12/12/21 Вск 21:52:00 #762 №2236101 
>>2236091
Сделай интерфейс со static abstract свойством "staticVariable" типа ? и с методом get. Там где ты T свой делаеш сделай ограничение, where T : IInterface. Чтобы в интерфейсе staticVariable давало тот тип, который реализует интерфейс, я делал так (известная хуйня, не помню название): IInterface<T> where T : IInterface<T>.
Аноним 12/12/21 Вск 22:11:34 #763 №2236119 
>>2236101
> static abstract
Это из превью что ли?
Аноним 12/12/21 Вск 22:29:36 #764 №2236141 
>>2235938
Так как ты советуешь, я могу переименовать AAA.BBB.CCC в AAA.BBB.XXX.
Но я не могу превратить AAA.BBB.CCC в AAA.DDD. Потому что переименование не даёт точку трогать.

>>2235866
Ну наверное, должно сработать.
Аноним 12/12/21 Вск 22:31:10 #765 №2236144 
>>2236018
>Это чтобы создать джсон из объекта
Ого, спасибо. А вообще стоит так писать, или надо создавать структуры под каждый ответ? Как попадается в интернете. Или newtonsoft тоже пойдёт?
Аноним 12/12/21 Вск 23:14:00 #766 №2236168 
>>2236144
>или надо создавать структуры под каждый ответ?
Если тебе из всего ответа нужна пара-другая значений, то не вижу смысла переводить весь жсон в объекты. Иначе да, лучше десериализовать - и удобнее и быстрее, больше возможностей и гибкости.
>newtonsoft тоже пойдёт?
М? Ньютонсофт тоже умеет в десериализацию.
Аноним 12/12/21 Вск 23:21:38 #767 №2236172 
>>2235981
Вкатишься ты такой успешно, придешь на работу, а там ОНО легаси
Аноним 12/12/21 Вск 23:22:22 #768 №2236173 
>>2236119
да, иначе мб через каст к dynamic можно, но это криво
Аноним 13/12/21 Пнд 00:15:54 #769 №2236209 
>>2236141
>AAA.BBB.CCC в AAA.DDD
Что мешает тебе сделать два переименования подряд? Просто в одном из них ты уберешь CCC, а в другом заменишь BBB на DDD. Ну или наоборот (сначала переименуешь среднюю часть, потом уберешь концовку), в зависимости от твоих потребностей.
Аноним 13/12/21 Пнд 04:24:20 #770 №2236302 
Как с минимальными усилиями запустить консольное приложение на андроиде? В Termux не завезли ни Mono, ни .net core. В xamarin можно запилить консольку? Или придётся рисовать формы?
Аноним 13/12/21 Пнд 10:24:04 #771 №2236345 
scale1200.jfif
3 месяца назад сменил работу, проект ебучие винформы. Сегодня проснулся, понял как же это меня заебло. Начальство до сих пор не высрало мне роадмап но промоушену. Желания пердолить это говно за ту же зряплату, у меня нет. Если через 3 месяца нихуя не измениться сьебу нахер. Опять менять работу блэт.

Как же хочется вэб, контейнеры и фулстак
Аноним 13/12/21 Пнд 10:28:35 #772 №2236351 
>>2236345
Но ведь винформы - это круто! Чистый шарп без всяких тайпскриптов и прочих хэтэмэлей.
Аноним 13/12/21 Пнд 10:53:22 #773 №2236365 
Подскажите, как работать с NetworkCredentials?
На HttpWebRequest вроде понятно, цепляется, а как организовать проверку?
Ни в HttpRequest ни в HttpListenerContext я не нашёл полей, куда бы оно приходило. Наверно процесс несколько сложнее, я чёт не пойму в какую сторону копать.
Аноним 13/12/21 Пнд 10:59:21 #774 №2236369 
>>2236351
Нахуй мне этот чистый шарп, это пиздец, задачи однотипные. Все решается бинарной логикой и циклами. Я даже задумывался, чтоб себя развлечь, написать итератор или переписать некоторые функции чтоб один из входящих параметров был лямбдой для обхода.

Последние 3 спринта, это какой то день сурка.

Аноним 13/12/21 Пнд 11:06:23 #775 №2236378 
>>2234998
Bump
Аноним 13/12/21 Пнд 12:32:55 #776 №2236444 
>>2236369
А по какой книге ты изучал винформы?
Аноним 13/12/21 Пнд 13:00:42 #777 №2236463 
>>2236345
Анон, возьми меня вместо себя, если съёбываешь, хочу вката ради подрочить унылое говно. ЗП не особо важна, у меня на текущей работе скорее всего всё равно ниже.

мимо воннаби джун-вкатун дед пердед
Аноним 13/12/21 Пнд 13:31:40 #778 №2236496 
Вышла новая версия .NET Framework. Означает ли это, что MS считают Core ошибкой и собираются вернуться к Framework? Связано ли это с неудачей с MAUI? Стоит ли ждать новый фреймворк типа WinForms/WPF?
Аноним 13/12/21 Пнд 13:38:26 #779 №2236503 
>>2236444
Именно винформы никогда не изучал. Этож полудохлая технология. Я выбрал текущее место, так как они просто предлагали больше, и я надеялся что будут более интересные задачи, а не поля в ридонли устанавливать.

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

>>2236463
Так таких вакансий пол ХХ, по тэгу .net. Хотя задачи и простые, все-равно требуют и знания sql и основы платформы на среднюю глубину. Поэтому джунов вкатунцов я не встречал.
Аноним 13/12/21 Пнд 14:29:04 #780 №2236567 
>>2236503
Будущее за Blazor и WebAssembly. Будет единая браваёзерная среда, которая сможет запускаться на миллионах устройств и заменит классический десктоп.
Аноним 13/12/21 Пнд 14:52:05 #781 №2236588 
>>2236567
Пока не заменят html на что то с адекватной производительностью - не будет. Скорее поверю в будущее с приложениями типа андроида и айфона - когда для каждого сайта скачиваешь с маркета своё приложение и в нём работаешь.
Аноним 13/12/21 Пнд 15:31:14 #782 №2236626 
>>2236588
Почему не могут сделать CLR для телефонов? JVM же смогли сделать.
Аноним 13/12/21 Пнд 16:42:24 #783 №2236693 
>>2236345
> ебучие винформы
Чому не WPF? Если декстопное, то это единственное осмысленное решение.
Аноним 13/12/21 Пнд 17:06:44 #784 №2236738 
Я правильно понимаю, что интерфейс – это абстрактный класс, у которого все члены абстрактны, и в котором нельзя определять конструкторы?
Аноним 13/12/21 Пнд 17:17:13 #785 №2236757 
Энтити оптимизаторы, подскажите как из одной записи селектнуть несколько полей одним запросом не доставая всю запись?
То есть я беру запись синглом: dbContext.TableName.Single(x => x.Id == tempId). Теперь мне нужно селектнуть несколько полей, я могу написать к каждой переменной-полю из дб, но тогда это будет каждый новый запрос по поиску айди. Могу просто взять всю запись, но тогда я возьму и не нужные данные. А как сделать селект к одиночному объекту?
Аноним 13/12/21 Пнд 17:38:29 #786 №2236774 
>>2236496
>Вышла новая версия .NET Framework
Пиздишь. Максимум секьюрные апдейты.
>Означает ли это, что MS считают Core ошибкой и собираются вернуться к Framework?
Нет, это значит, что FW пока еще много где используется и послать его пользователей нахер нельзя, пока что.
>Связано ли это с неудачей с MAUI
Какая неудача, мань? Мауи еще даже не зарелзился.
>Стоит ли ждать новый фреймворк типа WinForms/WPF?
Нет
>>2236567
Кек. Было бы хорошо, но маловероятно.
>>2236738
>Я правильно понимаю, что интерфейс – это абстрактный класс
Не чел, это путь в никуда. Лучше не путай интерфейсы и абстрактные классы. Рассматривай интерфейс как контракт - обязательство класса иметь некий функционал, хотя с C#8 с интерфейсами много чего нахуевертили, что теперь интерфейс может иметь дефолтную реализацию и прочая наркомания.
>>2236757
Сингл уже материализует запрос. Следовательно тебе сначала надо сделать проекцию:
dbContext.TableName.Select(x=>new {x.Id, x.MyColumn}).Single(x => x.Id == tempId)
или если и айди не нужен
dbContext.TableName.Where(x => x.Id == tempId).Select(x=>new{ x.MyColumn}).Single()
Аноним 13/12/21 Пнд 18:00:06 #787 №2236796 
>>2236496
https://youtu.be/79UWvR734wI
Аноним 13/12/21 Пнд 18:12:53 #788 №2236809 
>>2236796
Ни слова не понял. Есть на русском?
Аноним 13/12/21 Пнд 18:44:05 #789 №2236844 
>>2236796
Забавно уже в почти в 22-м году смотреть рассуждения двухгодичной давности, что выбирать кор или фреймворк.
Аноним 13/12/21 Пнд 18:45:37 #790 №2236847 
>>2236693
>WPF
Формально у нас тут DevExpress. Для десктопа выглядит норм, не сильно прожорливый. Но все-равно уродливый, на рякте можно все в разы симпатичнее делать.

>>2236774
>Рассматривай интерфейс как контракт - обязательство класса иметь некий функционал
Хорошо сказал.
Аноним 13/12/21 Пнд 19:10:19 #791 №2236870 
>>2236809
Это разные продукты, framework это всё ещё актуальная вещь на которой написаны миллионы строк, и ещё долго будет поддерживаться. Но новые проекты нужно делать на core, в него будут завозить новые фишки и улучшения, он лучше спроектирован, кроссплатформенный
Аноним 13/12/21 Пнд 19:43:17 #792 №2236912 
bigboobs.png
Я знаю, что тут все успешные успехи. Но вот вам история простого ванаби. Хотел написать чудо-парсер текста для моего пет прожекта и написал. Всё на спанах-хуянах, стекаллок, стрингбилдеры лишь бы лишнюю строку не создать. Результат на лице пике.
Но строк и правда создалось 10к против 650к регексовских.
Но свое поделие гибче, придется допердоливать. пара идей есть.
Аноним 13/12/21 Пнд 20:12:38 #793 №2236936 
>>2236912
Сколько времени это заняло?
Аноним 13/12/21 Пнд 20:17:03 #794 №2236940 
wetpussy.png
>>2236912
Запустил профайлер и увидел, что большую часть времени сжирает сравнение строк.
span.StartsWith(trigger, StringComparison.InvariantCultureIgnoreCase)
А так в большинстве случаев, хоть и не всегда, trigger состоит из спецсимволов, которым поебать на Case, то путем небольшого рефакторинга и выбора верного режима сравнения, удалось неплохо забуститься.
Сейчас еще есть идея как избавиться от лишних тасков, а то они тысячами создаются. Играл с асинхронщиной и проиграл.
P.S. теперь этот тред мой личный дев-бложик.
Аноним 13/12/21 Пнд 20:18:03 #795 №2236941 
>>2236936
Что, написание парсера?
Аноним 13/12/21 Пнд 20:37:48 #796 №2236959 
У меня есть web api + db. База данных вынесена в отдельный проект и там только модели + ORM. Куда мне засовывать непосредственно queries для респонсов для web api контроллеров, чтобы было не сильно энтерпрайзно или оставлять в контроллерах? Только репозитори паттерн не предлагать.
Аноним 13/12/21 Пнд 20:40:47 #797 №2236964 
>>2236774
> dbContext.TableName.Where(x => x.Id == tempId).Select(x=>new{ x.MyColumn}).Single()
Уже сделал как ты написал, только вместо сингла - first, спасибо.
Аноним 13/12/21 Пнд 20:54:13 #798 №2236969 
>>2236912
есть околодефолтный парсер
https://github.com/benjamin-hodgson/Pidgin
посравнивай ещё с ним
Таски не для cpu-bound сценариев.
Аноним 13/12/21 Пнд 20:59:10 #799 №2236974 
>>2236940
Так как в некоторых случаях надо слазить в бд, то в базовом классе использовались асинхронные методы, да и вообще все было на тасках (sic! GC профайлер насчитал 3,5КК тасков, лол ). Поэтому теперь есть свойство IsAsync и вызов происходит так:
var kek = trigger.IsAsync ? await trigger.XxxAsync() : trigger.Xxx();
Несмотря на невероятное уменьшение тасков (кста есть же еще ValueTask), результаты по времени довольно странные получаются. Разброс от примерно также, до хуже, хм.
>>2236969
>Таски не для cpu-bound
Как написал в первой части этого поста. иногда надо сходить в бд (при тестировании разумеется муляж бд).
>околодефолтный парсер
Гляну, спс
Аноним 13/12/21 Пнд 21:01:56 #800 №2236977 
bigdick.png
>>2236974
>пик
Аноним 13/12/21 Пнд 21:20:40 #801 №2236983 
>>2236959
>Куда мне засовывать непосредственно queries
Persistense
>>2236959
>или оставлять в контроллерах
А вот этого не надо. Мудаком станешь.
Аноним 13/12/21 Пнд 21:58:02 #802 №2237002 
>>2236959
У меня сервисы, которые реализуют нужную логику. Например, контроллер делает так:
GovnoMochaDto x = govnoservice.GetGovnoBySmellWithMochaByColor(...);
сеньоры обоссывайте
Аноним 13/12/21 Пнд 22:13:12 #803 №2237009 
>>2233046
Когда ищут "джуна" на 50к+, то от джуна там только одно название.
Там требования будут как к синьору с 5 летним стажем, и на собесе будут реально драть. И возьмут 100% ещё тепленького выпускника профильного ВУЗа, который уже со второго курса подрабатывает то тут, то там, и знает и математику, и CS, и с вебом, и с шарпом и с 3-5 другими языками знаком.
А для среднего вкатывальщика, тем более на шарпе, и зп 15к - переплата, ну или чисто аванс, с прицелом, что через пол-года из тебя сделают человека.
Серьезно, какой смысл брать человека на зп больше МРОТ, если он не только не будет производить продукт, но будет даже мешать производить его другим сотрудникам, отнимая их время на своё обучение.
Ну не может чел, который полгода назад работал на заводе или в такси, с ноги войти в профессию и начать приносить хоть какую-то пользу.
Просто если по полочкам, по своему опыту. С нуля, даже просто на modern C# писать нормально, с понимаем что, зачем и почему, знать что есть в стандартной библиотеке, как это работает и где применять - это нужно минимум год каждый день упражняться, читать чужой код на GitHub, решать разнообразные задачи, получать обратную связь (на курсах, менторинге или на "форумах"). Конечно, уже через 3-4 недели чтения metanit'а можно освоиться в языке, будет что-то получаться и будет казаться, что ты уже почти всё понял. Но это очень обманчивое ощущение. 8-12 месяцев - это минимум, чтобы понимание языка выкристаллизовалось в голове. Но главное - знания чистого шарпа не достаточно. Без ASP.NET Core, без EF, без SQL + знание хоть какой-то СУБД, без опыта GIT, без основ верстки и умения хотя бы понимать HTML, CSS и JS, человек не сможет работать. И это я оставил за скобками базовый computer scienсe с битовой магией, умением воспринимать 16-ричную запись числа, с деревьями и сортировками. И это я оставлю за скобками базовые математические знания, которые нужны даже на фронте, а это тригонометрия (синусы) и линейная алгебра (матрицы). Всё это - это минимум 2 года усиленных ежедневных занятий по минимум 3 часа (если меньше часов в день тратить, будет очень не эффективно). Причем не абы каких занятий, а по продуманному плану, не уходя в ненужные дебри. Это базовые знания на позицию джуниора. Т.е. человека без реального коммерческого опыта, но который хотя бы сможет понимать, что тут вообще происходит, и сможет уже что-то сам делать.
Можно ли вкатиться без всего, что я перечислил? Да, можно. Но это - лотерея. Может быть тебе повезет, ты сырым попадешь на работу, затеряешься в общей массе, и сможешь за счёт работодателя и в боевой обстановке подтягиваться.
Аноним 13/12/21 Пнд 22:20:04 #804 №2237012 
>>2233593
>C# это не про декстоп
Если не C# для десктопа, то что? Стрелять в ногу на C++ Qt? Некрофилия с дельфи? Электрон с отдельным потоком и 200 Мб RAM на каждую кнопку?
На C# есть формы, есть WPF, можно и напрямую с GDI+ работать.
Аноним 13/12/21 Пнд 22:35:16 #805 №2237017 
Допустим есть интерфейс для некоторого парсера или конвертора или чего-то подобного.
Вместе с интерфейсом идёт синглтон реализация, которая покрывает 95% потребностей. На остальные 5% особых кейсов может быть когда-нибудь будет написана отдельная реализация, если сильно надо будет, интерфейс это позволяет.
Нормально ли делать прямо в интерфейсе статическую проперти типа DefaultInstance, чтобы через неделю/месяц/год не тратить кучу времени на то, чтобы понять, как создать этот объект, и не искать билдеры, провайдеры и т.п.? Или это плохая практика?
Аноним 13/12/21 Пнд 22:46:28 #806 №2237024 
>>2235289
Делаешь статический класс, типа MagicStringLibrary.
Там каждую константою строку получаешь через метод с аргументом текущей настройки локализации, проще всего, через enum. Для начала будет один дефолтный стринг. По мере локализации, можно будет добавить.
Другой вариант, сделать интерфейс со стрингами-пропертями, реализовать их синглтонами на каждый язык.
Аноним 13/12/21 Пнд 22:48:02 #807 №2237027 
>>2237009
Не надо дизморалить людей, чел. Всякое бывает. Не везде нужны супер-пупер-мега спецы или потенциальные великие программисты чтобы только с вузика с красным дипломом. Я могу выступить, как живой пример вкатывальщика. Судите сами: без вышки, без опыта, под тридцатник. Из скилов - чистый шарп, выученный по самоурокам + опыт говнокода под личные нужды. Околонулевое знание современных технологий. И ничего, нашел контору и сижу себе пишу говнокод в удовольствие. Нет ничего невозможного. Если вдруг нужда случится, то можно что-то найти, чтобы и на работе заниматься тем, что нравится и с голоду не помереть и стаж программера нарабатывать попутно осваивая недостающую базу.
Аноним 13/12/21 Пнд 22:53:20 #808 №2237031 
>>2234532
BitConverter делает доп. проверки на выход за границы массива.
Внутри же он использует Unsafe.ReadUnaligned.
https://source.dot.net/#System.Private.CoreLib/BitConverter.cs,8640d8adfffb155b
Unsafe.ReadUnaligned по скорости работает также, как если бы ты писал то же самое через указатели на шарпе. Можешь попробовать его использовать Unsafe.ReadUnaligned.
Аноним 13/12/21 Пнд 22:58:53 #809 №2237035 
>>2234463
>докам по VBA
Отсутствие подробных доков отлично компенсируется возможностью записать макрос по своим кликам и изучить VBA код.
Аноним 14/12/21 Втр 00:54:40 #810 №2237112 
>>2236941
Да
Аноним 14/12/21 Втр 01:20:31 #811 №2237132 
>>2237002
>А если сервис не найдет ничего, что делать будешь? Эксепшен ловить как мудак или null как долбоеб?
Аноним 14/12/21 Втр 05:14:40 #812 №2237162 
>>2237027
> И ничего, нашел контору и сижу себе пишу говнокод в удовольствие
Как искал, анон? Расскажи, очень интересно. Как реагировали, что вкатун 30-летний? Что на собесах спрашивали? Долго ли искал?
Аноним 14/12/21 Втр 08:40:38 #813 №2237192 
Шарп лучше джавы:
https://youtu.be/l2OmsgB72Dg
Аноним 14/12/21 Втр 09:41:14 #814 №2237213 
>>2237192
Always has been
Аноним 14/12/21 Втр 11:10:19 #815 №2237274 
>>2237112
Около недели часа по 3 день. Еще, наверно, столько же х3 уйдет на допиливание/рефакторинг/минимальные тесты.
Аноним 14/12/21 Втр 11:13:13 #816 №2237277 
>>2237132
> null как долбоеб
This.
Все таки в большинстве случаев "не нашлось" это нормальный ход выполнения приложения.
Аноним 14/12/21 Втр 11:20:51 #817 №2237285 
>>2237009
Тому что шарп для вкатунца это очень плохая идея. Если ты вкатунец, тебе под тридцантик и ты работал таксистом или барменом всю сознательную жизнь, нужно забыть про энтерпрайз и бэк. Даже фронт идея не очень. Если работал условным инженером, то можно пробовать прыгнуть сразу в энтерпрайз или бэк на свой страх и риск.

Топчик для вкатунца это разработка под мобилки. Если работал в офисе юристом или другим перекладывателем бумажек то 1с. После 2-3 лет из мобилки лучше уходить уже в бэк или фронт, после 1с в прочий энтерпрайз.
Аноним 14/12/21 Втр 11:40:28 #818 №2237296 
Как вообще изучать ASP.NET? Пробовал читать Метанит, но там какие-то конвееры, билдеры и прочие высокие абстракции, вместо рассказа о том, как писать сайт. Вообще ничего не понимаю.
Аноним 14/12/21 Втр 11:50:07 #819 №2237305 
>>2237296
На метаните норм по асп. Сам с него начинал.
>конвееры, билдеры и прочие высокие абстракции
ну вот с них и начнай
Аноним 14/12/21 Втр 12:02:19 #820 №2237313 
>>2237305
Когда читал Рихтера, то всё понимал, потому что в студенческие годы писал на ассемблере и поэтому IL-код мне оказался понятным. А тут пытаются объяснять не последовательно, а где-то из середины. Не понятно от чего отталкиваться.
Аноним 14/12/21 Втр 12:13:03 #821 №2237319 
>>2237313
>Когда читал Рихтера, то всё понимал
В чем отличие работы генериков при закрытии типа классом и структурой?
>Не понятно от чего отталкиваться
А я не понимаю что тебе не понятно.
Аноним 14/12/21 Втр 13:27:03 #822 №2237357 
>>2237192
Рили? Жаба не умеет в такую перезагрузку?
Г-г-г. Пойду издеваться над знакомым джавистом.
Аноним 14/12/21 Втр 13:33:31 #823 №2237362 
>>2237277
Лучше юзать что-нибудь вроде ResultObject в котором передавать status, message и data.
Тогда ты сможешь спокойно проталкивать результат с уровня на уровень, с соответствующей инфой что и где у тебя произошло. И не придется гадать, почему у тебя null в контроллер вернулся, потому что действительно ничего не нашлось или по дороге база отвалилась.
Аноним 14/12/21 Втр 13:38:37 #824 №2237367 
>>2237285
>Если работал условным инженером, то можно пробовать прыгнуть сразу в энтерпрайз или бэк на свой страх и риск.
Мой случай. Работал на заводе инженером, ковырял и программировал железки. В неспешном режиме за год освоил шарповый веб стек и перекатился в энтерпрайз. Сижу пилю бэк на шарпах и немного фронт на JS. Ни о чем не жалею.
Правда у меня нихуевый бэкграунд в виде pure с, asm-а и других низкоуровневых спец языков за спиной.
Аноним 14/12/21 Втр 14:11:52 #825 №2237396 
>>2237362
>Лучше юзать что-нибудь вроде ResultObject в котором передавать status, message и data.
Честно сказать не вижу смысла всегда предпочитать resultobject вместо налл. Тем более с новыми налл-аннотациями проебатся с наллом труднее, чем забыть проверить статус.
>потому что действительно ничего не нашлось или по дороге база отвалилась.
Это неплохо работает в том же UserManager, где то же добавление может зафейлиться по многим причинам и их нужно показать юзеру. А отвал бд это ненормальный ход выполнения программы,, поэтому на запрос - 500, эксепшн в лог.
Аноним 14/12/21 Втр 14:24:24 #826 №2237398 
>>2237162
>Как реагировали, что вкатун 30-летний?
Сейчас рынку труда настолько плохо, что даже на 40-летних вкатунов нормально реагируют. Главное чтобы ты адекватен был и чтобы у тебя нормальные знания были. Если ты на собесе будешь мямлить и постоянно отвечать "я не знаю", "не помню", "я это не читал, думал не надо будет", то ясно, что на тебя смотреть будут как на долбаеба, независимо от возраста.
>>2237162
>Как искал, анон?
В интернете. ХХ, хабр карьера, линкедин. Если сделаешь нормальное резюме, пару нормально оформленных проектов на гитхабе, то тебя сами найдут. Если не найдут то мониторишь вакансии и стучишься сам, даже если вакансии на мидла, то все равно стучишься, в одной из десяти тобой заинтересуются и дадут тестовое или пригласят на собес.
Я летом где-то в начале июля выложил резюме и начал активный поиск. В начале августа у меня уже было два оффера. И если бы выждал, то я думаю смог бы и лучше предложения найти, просто кончался отпуск, а старая работа настолько заебала, что нужно было уходить.
И даже после того как я закрыл везде резюме и убрал информацию, мне до сих пор в личку прилетают предложения пройти собесы.
>>2237162
>Что на собесах спрашивали?
Сейчас всех собесят на уровне сеньеров. Так что готовься отвечать на большую кучу вопросов по основавм и выше. Организация памяти, objects, value types, GC, классы vs структуры, асинхронщина/многопоточность (ага и про треды спросят и про асинки-эвейты), коллекции (вплоть до того как List внутри устроен), дженерики, linq, интерфейсы, наследование и т.д. Cпросить могут что угодно. Причем чаще всего будут спрашивать не просто на уровне "что это", а именно как устроено и как работает. Например про GC обязательно спросят сколько поколений, и как происходит процесс чистки, что такое LOH, как вручную протолкнуть объект в другое поколение и т.д.
Ну а дальше SQL, ASP.NET, EF, rest, solid, ООП и т.д. по той же схеме.
Но... с учетом того, что 95% собесов происходят онлайн (причем в большинстве случаев даже видео не требуют) и никто не мешает тебе рядом держать второй монитор с открытыми шпаргалками или справочник под рукой. То надо совсем нихрена не знать, чтобы заваливать собесы.
Аноним 14/12/21 Втр 14:30:16 #827 №2237402 
>>2237396
>поэтому на запрос - 500, эксепшн в лог.
Только для этого тебе придется проталкивать этот эксепшен через все слои, чтобы в контроллере понять, что нужно 500 отдать. Такое себе, особенно если у тебя все асинхронно, там вообще можно сайд эффектов наловить.
Аноним 14/12/21 Втр 14:33:44 #828 №2237406 
>>2237402
>чтобы в контроллере понять
А зачем контроллеру это понимать? Есть мидлваря для обработки эксепшенов.
>там вообще можно сайд эффектов наловить
Например? При условии, что все таски эвейтятся.
Аноним 14/12/21 Втр 14:43:20 #829 №2237413 
>>2237357
Там вроде нельзя перегружать значки, а сами методы можно. Поэтому жависты вынуждены писать что-то типа
a.add(b);
а не
a + b;
Аноним 14/12/21 Втр 14:43:55 #830 №2237415 
>>2237398
>Так что готовься отвечать на большую кучу вопросов по основавм и выше. Организация памяти, objects, value types, GC, классы vs структуры, асинхронщина/многопоточность (ага и про треды спросят и про асинки-эвейты), коллекции (вплоть до того как List внутри устроен), дженерики, linq, интерфейсы, наследование и т.д. Cпросить могут что угодно.
Хех, как будто я тебя себесил. Но у меня такие вопросы на мидла. Я кст, когда собеседовал, рекомендовал кандидатов если они хотяб на 50% что-то отвечали. Обычно требовал, от кандидата или знания основ SQL или EF. Довольно часто hrры рубят годных кандидатов из-за хуевых софт скилов, особенно в галерах.

Вопросики для сеньеров, это всякая редкая срань для sql, уровни изолированности транзакций, некластеризованнные индексы и нахуя они нужны. Или вопросы по совместимости технологий. А вопросы на сложность алгоритмов считаю долбоебизмом.
Аноним 14/12/21 Втр 14:47:31 #831 №2237417 
>>2237398
> Сейчас всех собесят на уровне сеньеров. Так что готовься отвечать на большую кучу вопросов по основавм и выше.
Ого, хороший список, спасибо. По каким материалам готовился?
Аноним 14/12/21 Втр 15:25:19 #832 №2237442 
>>2237406
Ладно я нуб и дурак, спорить не буду.
---
Выебнуться хотел, но потом вспомнил, что в тасках уже есть IsFaulted, что по сути тот же самый механизм.
Аноним 14/12/21 Втр 15:34:51 #833 №2237454 
>>2237415
>А вопросы на сложность алгоритмов считаю долбоебизмом.
Кстати, вот на тему алгоритмов очень мало спрашивают. В основном про структуры данных. Массивы, списки их отличия и сложность поиска/вставки. Про словари еще могут спросить. А вот всякие сортировки, поиски, обходы графов и т.д. мне ни разу не попадались. Хотя особо проблемы не вижу и в них.
Аноним 14/12/21 Втр 15:57:39 #834 №2237474 
>>2237417
>По каким материалам готовился?
Если про учебу, то (если не считать предыдущего бэкграунда и учитывать чисто шарпы) с момента, когда я решил, что "меня заебало, надо ливать в другую сферу", сначала где-то год самообучения. В основном это Троелсен, Албахари, метанит и MSDN. Причем упор в основном на последнее. Ну и Рихтер конечно, но это скорее как "внекласное чтение".
Потом когда понял что немного уперся и было непонятно, что учить дальше и в какие фреймворки тыкаться, решил что нужны курсы. Выбирал из рассчета, чтобы было тяжело и была возможность личного общения с практикующими преподами. Курсы хорошо бустанули в изучении ASP.NET, EF, SQL, и т.д.(плюс JS еще) Но я там реально въебывал, все домашки делал четко в срок, причем старался всегда делать за пределами задания. Доебывал преподов в личке. Скорешился с несколькими человеками на курсе, организовали свой дискорд сервак, где делились материалами, опытом. Организовывали созвоны где шарящие объясняли менее шарящим за материал. Даже часть преподов на этот сервер удалось зазвать где они нам еще знаний подкидывали.
Параллельно купил себе виртуальный сервачок, где поднял БД и учился туда деплоить свои поделия, просто чтобы понимать как весь этот веб крутится в живую.

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

---
Если же говорить о подготовке к самому собесу. То в качестве шпаргалок советую метанит. По нему очень удобно быстро пробежаться и освежить память по сетевому стеку. А по самому C# крайне советую "C# Карманный справочник" от Албахари Дж. и Б. Это как краткая выжимка из MSDN на бумаге. Я его перед собесом всегда перечитывал за час до, чтобы по быстрому все вспомнить. Если же углубленно, то нужно учиться.
Аноним 14/12/21 Втр 20:09:30 #835 №2237726 
Поясните, это у меня одного контора такая ебанутая, что на шарпе нужно брать сокет в зубы и поверх TCP кастомные протоколы хуячить?
Потому что я тут сколько спрашивал, никто будто ничего кроме формочек/WPF, да веб-апи и не делает.
Вообще, опыт всяких IoT - на шарпе - стоит хоть сколько-то? А то меня с одной стороны зовут на собесы, но там я смотрю - круды придется делать, да в очередь кидать всякое. Скучно с концептуальной стороны. А сам я скорее всего еще и сольюсь на собесе, потому что опыт у меня как раз наоборот: сокет в зубы и хуяч-хуяч чтоб как можно больше реквестов в секунду, да как можно меньше алокаций.
Аноним 14/12/21 Втр 20:30:24 #836 №2237740 
hh.ru.png
>>2237162
Очень просто искал: состряпал резюме на hh, которое слал всем подряд. Особенно тем, у кого в вакансии значились шарпы, как требования. Игнорировал любую верстку, если значился пайтон, ну и вакансии для крутых спецов. Но последнее субъективно конечно. И вот где-то всего за 7-8 рабочих дней оказался на испытательном, где теперь работаю. За то время, пока искал, дважды присылали тестовые задания, один собес по зум, один ирл и звонок-предложение побегать интернет поподключать. Но эти сами мое резюме нашли, я туда бы не послал. Одно из тестовых я успешно сдал и даже получил приглашение на другой собес, однако не пошел, потому что на тот момент уже устроился на текущее место. Вот. Сказать что мне прям супер повезло нельзя, потому что вариантов, даже для такого как я, оказалось больше одного и за довольно сжатый срок.

Про собеседования. Я заранее почитал про штуки которые были указаны в вакансии. Суть оказалось простой: взаимодействовать через апи со сложным промышленным ПО и подстраивать его под рабочий процесс штата сотрудников. В самом ПО я вообще ничего не понимаю, однако доки описаны с примерами на шарпе. А там все понятно. Обработка даты, короче. Ничего такого, с чем не справилась бы обезьяна при некоторой сноровке. Сказал, что понимаю, чем предстоит заниматься ну и всяких умных слов, какие помнил по книжкам про шарп, наложил сверху. Я так думаю, что меня выгодно отличило, что я дешевый в сравнении с крутыми спецами и выпускниками илитных вузов, резюме которых лежали в одной пачке на столе вместе с моим. Не 15 тысяч, конечно, но около средней московской получаю.

Совет для вкатчиков от вкатчика: подучите sql, ef, msms. Под шарп самое-то. И на самом деле там все очень просто работает, но при том, на постороннего наблюдателя, производит эффект, как магия вуду.
Аноним 14/12/21 Втр 23:04:04 #837 №2237827 
image.png
>>2234532
Хз, как-нибудь так, но нужно быть осторожным.
Аноним 15/12/21 Срд 12:02:11 #838 №2238099 
Насколько хорошим тоном считается использовать return в void методах для того, чтобы из них выходить? Считаюсь ли я долбаёбом, если у меня в void методе больше 3 return'ов? Сам такой приём не использовал, но вот сейчас в чужом коде увидел.
Аноним 15/12/21 Срд 12:31:02 #839 №2238138 
>>2238099
Классический ранний выход, это абсолютно ок. Но если больше трёх return'ов, то это уже пахнет тем, что метод у тебя дохуя всего разного делает и хорошо бы всё это раскидать по разным методам и оставить какой-нибудь switch expression, если в этом месте частые изменения логики не планируются.
Аноним 15/12/21 Срд 15:45:52 #840 №2238309 
Опа, позвали на интервью, как не обосраться?
Аноним 15/12/21 Срд 16:05:57 #841 №2238320 
>>2238309
Поставь условие, что пойдешь только если все исходники без монтажа тебе предоставят.
Аноним 15/12/21 Срд 19:28:02 #842 №2238499 
>>2238320
И ещё чтоб суки выложили в 4к, а то пиздец мыло
Аноним 15/12/21 Срд 22:02:28 #843 №2238602 
Подскажите в каком декомпиляторе можно редактировать байт код, dnSpy умеет, но его забросили, ilSpy не умеет, какие ещё есть?
Аноним 15/12/21 Срд 22:25:36 #844 №2238613 
image
>>2238602
Нужно делать произвольную проверку (сравнение с числом) данных из большого struct'а float'ами. Требования таковы, что в принципе, может потребоваться проверка любых полей или суммы полей или соотношения.
Нужно, чтобы это работало максимально быстро.
Попытался сделать две реализации. Одна - это структура, хранящая делегат, который извлекает из struct'а нужное свойство, а также граничное значение для этого свойства.
Другая реализация - это интерфейс, который реализует извлечение из struct'а свойства.
Ожидал, что разница в производительности за счёт умного JIT'а в .NET6 будет минимальна. А оказалось, интерфейс работает почти на 50% медленнее. Почему так?
Код: pastebin.com/iwDEaNhb
Аноним 15/12/21 Срд 22:26:53 #845 №2238617 
Это >>2238613 был не ответ на >>2238602, а самостоятельный вопрос.
Аноним 16/12/21 Чтв 10:10:34 #846 №2238862 
Есть лист, в котором есть просто элементы, а есть ещё 4 элемента-листа, всё на одном уровне. Как мне при помощи linq засунуть всё это в один лист в том же порядке? Везде пишут про SelectMany, но это вообще не то, он просто позволяет извлечь из каждого элемента один лист и засунуть их в новый лист, а у меня их 4, плюс обычные элементы, не листы, тоже нужны
Аноним 16/12/21 Чтв 11:13:49 #847 №2238912 
>>2238613
Так с ходу я тебе не скажу, надо внимательно смотреть и запускать профилировщики (могу только пальцем в анус тыкнуть и предположить, что например копирование структур занимает больше времени чем очистка кучи, а может во время теста гц вообще не запускается, а чистит кучу после остановки секундомера). Бело взглянув могу предложить такую оптимизацию - убрать деконструктор
>// (IChecker checker, float limit) = checkers[j];
>var x = checkers[j];
>if (x.Checker.Check(s, x.Limit))
у меня дало прирост в среднем +25ms
Аноним 16/12/21 Чтв 11:17:53 #848 №2238919 
>>2238862
> в котором есть просто элементы
> а есть ещё 4 элемента-листа
> всё на одном уровне
Как это реализовано? Наркоман.
Аноним 16/12/21 Чтв 11:30:02 #849 №2238934 
List<тип>{
элемент
элемент
List<тип1>
List<тип2>
List<тип3>
List<тип4>
}
Аноним 16/12/21 Чтв 11:40:23 #850 №2238940 
>>2238934
И какой тип у внешнего листа, обжект? Токда пиздуй на жсе говнокодить. Тогда в Select проверяй тип. если элемент, возвращай его, если лист возвращай его элементы через SelectMany.
Аноним 16/12/21 Чтв 11:41:51 #851 №2238941 
>>2238934
Пиздец ты нихуя не понимаешь.
Аноним 16/12/21 Чтв 11:48:40 #852 №2238944 
>>2238940
>И какой тип у внешнего листа, обжект?
Мой тип
>тогда в Select проверяй тип. если элемент, возвращай его, если лист возвращай его элементы через SelectMany
А как это сделать-то в linq?
Аноним 16/12/21 Чтв 11:49:57 #853 №2238945 
>>2238944
> Мой тип
Ты пиздишь. Твой код не скомпилируется, потому что ты хуйню написал.

> А как это сделать-то в linq?
Начни с исправления своего кода. Ответ тебе дали, в общем-то, в терминах LINQ. Хули ты ещё хочешь?
Аноним 16/12/21 Чтв 12:11:23 #854 №2238979 
>>2238944
>Мой тип
Дай код и желаемый результат, что у тебя за ебатнутый тип, который явдяется и элементом и листом себя же.
>А как это сделать-то в linq?
Так дай код, потому что если на обжектах, то прямо из коробки может и не получится, придется свой метод запердолить. Но зачем такое делать линком?
Аноним 16/12/21 Чтв 15:58:36 #855 №2239164 
Как скомпилировать программу заранее, AOT вместо JIT? Сколько искал, нормальной инструкции не нашёл. Нужно ли это вообще?
Аноним 16/12/21 Чтв 16:19:11 #856 №2239174 
>>2239164
ngen (старо и мб не работает уже)
.NET Native (то ли только uwp, то ли только winstore)
Аноним 16/12/21 Чтв 16:26:11 #857 №2239182 
>>2239164
https://docs.microsoft.com/ru-ru/dotnet/core/deploying/ready-to-run
Аноним 16/12/21 Чтв 16:28:13 #858 №2239185 
image.png
Че это за хуйня?
Аноним 16/12/21 Чтв 16:32:54 #859 №2239192 
>>2239185
Со вторым разобрался, а вот что это за default! ?
Аноним 16/12/21 Чтв 16:44:07 #860 №2239200 
>>2239192
Это высер дауна. Свойство и так инициализируется значением по-умолчанию при создании объекта.
Аноним 16/12/21 Чтв 16:51:39 #861 №2239207 
>>2239200
С другой стороны, там стоит !, что заставляет компилятор заткнуться по поводу налла, но с еще другой стороны тогда уж лучше указать, что свойство может быть наллом через string?.
Аноним 16/12/21 Чтв 19:04:45 #862 №2239337 
>>2205513 (OP)
2ой пик - лучший из всех тредов, у фулстэка сисярп всегда на хую
Аноним 16/12/21 Чтв 23:26:05 #863 №2239506 
Давайте перечислим зашквары в .NET проектах, по которым можно сдектить долбаебов, я начну:

1. Репозитори паттерн.
2. То самое factory в названии - у меня начинается просто тряска, когда это вижу.
3. MVVM.
4. Любой декстопный фреймворк в пет-проекте, особенно новое говнецо от майков.
5. Энтити Фреймфорк.
6. Блазор/Разор - два недоноска-пара, да веб-формс мразина.

Продолжаем :)
Аноним 16/12/21 Чтв 23:29:23 #864 №2239511 
54d1cd42ff6561583f1b6e4188babfd7.jpg
и да, только KISS, только чистое ебашилово, всем фарты от чёрного.

>>2239506
Аноним 16/12/21 Чтв 23:31:54 #865 №2239514 
>>2239506
7. Неймспейс систем в проекте.
Аноним 17/12/21 Птн 01:39:31 #866 №2239591 
Как вкатиться в opencl? Есть годные туториалы? Очень впечатлила программа flaccl
Аноним 17/12/21 Птн 08:42:10 #867 №2239640 
>>2239506
Так-то проект на донтете уже детектит долбаеба.
Аноним 17/12/21 Птн 09:03:15 #868 №2239644 
>>2239640
Пердикс, съебал в жабатред
Аноним 17/12/21 Птн 09:15:38 #869 №2239646 
Почему хейтят книгу Фленова "Библия C#"?
Аноним 17/12/21 Птн 11:05:51 #870 №2239689 
Как сделать что бы трассировка при отладке в output window не выводила в каждой строке вначале имя процесса? TraceOutputOptionsпробовал, нихуя не помогает.
Аноним 17/12/21 Птн 11:48:11 #871 №2239738 
>>2237027
Контору найти не проблема, главное на какую зп? В мухосранских галерах и моя собака может устроиться за еду писать хэлоуворды.
Аноним 17/12/21 Птн 12:36:13 #872 №2239769 
>>2239506
> Репозитори паттерн
И чем плохо-то? Ну давай, поясни. Тем более что ты еще и 5й пункт хуйнул.
> То самое factory в названии
Как ты предлагаешь называть класс, который имеет вид:
interface IFoo<T>{
public T Create();
}
?
Давай, оч интересно полушать.
> MVVM
Ты пытался что-то сложнее одностраничной хуеты на десктопе делать-то?
> Энтити Фреймфорк.
И тут ты поясняешь что с ним не так, тем более в контексте того что ты про первый пункт спизданул.

Я конечно понимаю, что ты скорее всего ничего никогда сложнее хелловорлда не писал, а если и был на проекте, то все что ты делал - это кнопочки перекрашивал, да грамматические ошибки в логах правил. Но давай представим, что ты таки действительно что-то делал. Допустим, банальный интернет магазин по продаже драконьих дилдо. Давай, расписывай архитектуру и инструменты для такого вот интернет-магазина по продаже драконьих дилдо, пригодную для скейла, хайлоада и с функциями социальной сети, чтобы пользователи могли чатиться, собираться в группки и обсуждать любимые драконьи дилды.
В общем, жду архитектурный проект, с основными сущностями, иначе очередной долбоеб-вкатун.
Аноним 17/12/21 Птн 14:34:11 #873 №2239873 
>>2239689
bump
Аноним 17/12/21 Птн 15:09:35 #874 №2239914 
Что лучше: ADO.NET или Entity Framework?
Аноним 17/12/21 Птн 15:45:53 #875 №2239944 
>>2239914
Для чего?
С ADO - ты можешь больше и из-за отсутствия оверхеда - можно добиться лучшей производительности. Но тебе придется писать свои мапперы, кучу бойлерплейта, так нелюбимый тут репозиторий прикручивать и самому делать UOW, следить за состояниями сущностей, если минимально на уровни разбиваешь приложение, плюс - ебатория с выделением объектов(адо просто читает-пишет из/в базу, ты уже - должен будешь как-то следить чтобы не создавать миллиарды идентичных объектов на каждое чтение/запись).
С EF - у тебя удобная обертка, мапинг, поддержка линку, за тебя уже сделали репозиторий и UOW, сиди-перди. Проблемы с ним - производительность ниже, плюс - некоторые специфичные штуки твоей СУБД - делать сложнее. Но учитывая что сейчас как-бы считается, что СУБД - должна быть просто хранилищем данных, а все остальное должно быть вынесено на уровень приложения - не так страшно отсутствие всяких фич, а разница в перформансе там не так драмматична, как малюют всякие.
Аноним 17/12/21 Птн 20:40:47 #876 №2240220 
Есть старый ноут, который тянет только Win XP. Можно ли туда поставить .NET и какую-нибудь IDE? Или для .NET надо свежую ОС? Что посоветуете поставить?
Конфиг: Intel Core Duo 1,9 GHz, RAM 2GB.
Аноним 17/12/21 Птн 20:52:42 #877 №2240245 
>>2240220
Можно только до 4.0 .net framework. За нет кор не вкурсе.
Аноним 17/12/21 Птн 20:54:27 #878 №2240251 
>>2240220
SDK последних версий не поставишь. Запустить там - можно.
НО, раз уж у тебя такая вот красотуля, то я советую 3,5 легаси фреймворк(вроде он на XP уже был, может быть придется 2 ставить, если я ошибся) и старенькую студию, которая еще на C++ была написана. Да, это устаревшее добро, но на самом деле если ты только учишься, то не так все и страшно изменилось, потом наверстаешь. Зато получишь тот самый охуеннейший опыт и будешь испытывать меньше попоболи от того что не понимаешь что-то, потому что в те времена шарп не был перегружен таким количеством сахарка и подкапотных штук, все было просто-понятно. ПЛЮС. У старой студии был ОХУЕННЕЙШИЙ интерфейс. Просто 11/10. Я хуй знает зачем они это богомерзкое говно сделали, которое сейчас.
В общем, если ты только учишься, то бери то что я сказал, еще и будешь флексить потом, что на старом шарпе успел покодить.

Но а если тебе принципиально современного хочется - можешь поставить линуксы и просто скачать себе последний неткор, а кодить в каком-нибудь VSCode обмазавшись плагинами для того чтобы превратить его в подобие нормальное IDE.
Аноним 17/12/21 Птн 21:02:37 #879 №2240268 
>>2240251
Да, относительно линукса. Самые модные-свестящие-пердящие дистры наверное не подойдут для таких вот скромных требований. Так что смотри что-то полегковеснее и без свистелок-перделок.
Аноним 17/12/21 Птн 22:17:17 #880 №2240312 
В общем. Полез я смотреть как в TCPClient реализован конструктор.
В общем. Что я увидел: такая вот ебала примерно:
Socket ipv4Socket = null;
Socket ipv6Socket = null;
...
ну и если коротко - берутся все ip-адреса и пробуется подключиться, потом выбирается сокет который подключился.
Так вот. Неужели нельзя проще как-то сделать это вот? Вот допустим, я не хочу TCPClient использовать из-за того что там эта хрень с NetworkStream, а мне хочется Pipe'ы использовать. Так вот, я хочу подключиться к удаленному хосту. Можно ли это вот как-то проще делать? Или только вот так вот как делают майки - единственный вариант? Просто в моей реализации моего клиента - я, по наивности, просто пробовал коннектиться по IP адресу, но это привело к тому что если хост не умеет в IPv6 - обосрамс, сокет как-бы нормально так подключился, вроде отправляет, а хост просто не получает эти сообщения.
Может быть это я еблан и на стороне хоста нужно что-то править. Только вот на стороне хоста - если локально тестить все норм, а на удаленном серваке на линуксе - не подключается почему-то по IPv6, потому на хосте я отключил временно дуалмод до выяснения причин. Теперь вот нужно еще и клиент перепилить, и пришлось лезть в то как у майков реализована, потому что мой клиент, как я уже сказал, не подключался, а майковский - таки подключался. Как я понял - различие как раз в том, что я - просто брал и пробовал подключиться, а они всю ту ебаторию с перебором IP к котоым можно подключиться делали.
Есть тут сетевые инженеры? Может быть поясните за это и как дуалмод намутить для своего сервера и чтобы при этом не зависить от того умеет ли хост-компьютер в IPv6.
Аноним 17/12/21 Птн 22:57:42 #881 №2240335 
Такое дело. Хочу запилить внешнюю шнягу для управления виндоусовским микшером. Т.е есть ардуина читающая крутилки, и мне нужна утилитка на компе которая будет громкость менять.
Решил написать на сисярпе потому-что... ну кроме него я знаю только питухон. Проблема в том что я не могу найти никакой инфы о том как из сярпа управлять системой. Вроде NAudio это умеет, но я не хочу перегружать простой проект огромной либой 99% функционала которой мне не нужно.
Могу я как-то напрямую из сярпа обращаться к WinApi? Гугл говорит что как-то могу но никакой конкретной информации.
Аноним 18/12/21 Суб 00:12:59 #882 №2240411 
>>2240335
Все что делает винда можно делать через апи.
https://docs.microsoft.com/ru-ru/windows/win32/api/
Ноооо бляяяя там как по мне сложна пздц.
https://docs.microsoft.com/ru-ru/windows/win32/audio-and-video
и вот еще, вроде точ то тебе нужно.
А на счет перегрузкой проги тяжеленой библиотекой ты не парься.
При компиляции же есть настройка удалить все что не используется.но это не точно
Аноним 18/12/21 Суб 00:19:28 #883 №2240418 
Так поцоны.
Есть какае лецкция чи книга по блокчейнам? Или мб курс какой ?
Желательно на русском, бо на англицкой чет туго идет.Но если в видео индус на англицком говорит то сойдет, почему то индусский англицкий на слух легко воспринимается.
В частности мне бы узнать по подробнее как происходят вот эти все модные POS хуес.
Просто не вижу профита в блокчейне где нельзя майнить монеты. Ну чутка вижу но не очивидные профиты.
Получается же просто жутко тормознутся бд.
Сорян что пишу тут. Просто кажется самый адекватный и дружелебный тренд тута.
Аноним 18/12/21 Суб 00:28:50 #884 №2240430 
0000602304.png
>>2240411
Спасибо. Я вот вроде нашел простой и лёгкий врапер (https://github.com/morphx666/CoreAudio/tree/1c6cadb5030b9d4323ce8f47e5420d6a8e035a51), который вроде работает и делает всё что мне надо, но бля, насколько же winapi заёбистый. И вон с какого-то хуя у дискорда два процесса отображаются. Схуяли?
Аноним 18/12/21 Суб 00:37:11 #885 №2240436 
image.png
>>2240430
Хуй знает, у меня вообще 3 дискорда
Аноним 18/12/21 Суб 00:39:36 #886 №2240438 
>>2240430
>>2240436
https://support.discord.com/hc/en-us/articles/225733808-Why-does-Discord-have-multiple-processes-
а вот почему
Аноним 18/12/21 Суб 00:49:19 #887 №2240444 
>>2240436
>>2240438
Да нет же, я же беру EDataFlow.eRender процессы. т.е - процессы воспроизводящие аудио. Ну да и похуй, просто буду устанавливать громкость на обоих.
Аноним 18/12/21 Суб 00:50:11 #888 №2240445 
>>2240335
> Такое дело. Хочу запилить внешнюю шнягу для управления виндоусовским микшером. Т.е есть ардуина читающая крутилки, и мне нужна утилитка на компе которая будет громкость менять.
Твоё решение это костыли. Нужна специальная клавиатура которая нажимает кнопку уменьшения громкости. Короч нарушено пару принципов)0
Аноним 18/12/21 Суб 00:56:43 #889 №2240451 
>>2240445
>клавиатура которая нажимает
Щитоблять? Как клавиатура может что-то нажимать? У неё же пальцев нет.
Аноним 18/12/21 Суб 01:47:21 #890 №2240471 
>>2240451
Ну а для нажимания клавиатуры пили приблуду на ардуине. С распознаванием клавишь через нейронки.
Аноним 18/12/21 Суб 04:50:30 #891 №2240506 
>>2240451
Устройство клавиатуры, чтоб комп видео твою ардуину как клавиатуру. Чтобы работало на любом компе без программ
Аноним 18/12/21 Суб 09:39:49 #892 №2240550 
Где можно найти книгу Адама Фримена "ASP.NET Core 3"? Везде только по Core 2 лежит.
Аноним 18/12/21 Суб 11:41:33 #893 №2240633 
>>2240418
>бо на англицкой чет туго идет
Судя по посту у тебя и на русском туго пойдет, кек.
>>2240550
А что не так с книгой Core 2? Один хуй уже Net6 актуальная версия.
Аноним 18/12/21 Суб 12:23:17 #894 №2240673 
>>2240633
Они асп.нет очень сильно меняют в каждой версии, так что надо книжку посвежее искать. Ещё слышал, что вышел перевод ASP.NET in Action, но даже в продаже нигде нет.

Вообще, C# и дотнет очень быстро меняются и люди не успевают за таким темпом. Может микрософтам немного попридержать с идеями. Лучше бы сосредоточились на переносе фич из фреймворка в кор, а не меняли то, что и так неплохо работает.
Аноним 18/12/21 Суб 14:00:41 #895 №2240784 
image.png
Почему сделано так нелогично? Им сложно было компилировать для структур в их операторы, или что? Как вообще шарп можно учить, если он наполовину состоит из "а вот это вот будет работать вот так вот, потому что нам так захотелось". Уж лучше бы вообще систему боксинга не делали.
Аноним 18/12/21 Суб 14:00:55 #896 №2240785 
>>2240673
>Они асп.нет очень сильно меняют в каждой версии
Все изменения описаны на мсдн, и нет уж и сильно меняют, 99,9% будет актуально. Книги смогут быть на 100% актуальны только когда платформа помрет.
>Вообще, C# и дотнет очень быстро меняются
Добавляют, но не меняют же, да и то по большей части сахар. Для фундамента пойдет и не самая свежая книга, для остального мсдн.
>переносе фич из фреймворка в кор
Какой фичи нетт в коре? Кор уже давно ушел вперед.
>, а не меняли то, что и так неплохо работает.
Например?

Аноним 18/12/21 Суб 14:01:51 #897 №2240786 
>>2240784
Додик, ты структуры упаковал.
Аноним 18/12/21 Суб 14:09:35 #898 №2240792 
>>2240784
Как же у меня от этого горит. И подобное говно еще на собеседованиях постоянно спрашивают, словно я должен помнить, правая или левая пятка зачесалась у создателей языка, когда они все это придумывали.

>>2240786
>Додик, ты структуры упаковал.
Да ты прямо гений, я смотрю. А что такое боксинг? Это и есть имплементация поведения, аналогичного поведению при наследовании классов, он именно для этого нужен. Ну вот и сравнивали бы тем оператором, которым сравнивалось бы при наследовании классов, В ЭТОМ КАК БЫ И СУТЬ ВАШИХ БОКСИНГОВ. Но нет, у них "я художник, я так вижу", давай намеренно язык усложнять, чтобы негры не могли становиться программистами. Гребаные расисты.
Аноним 18/12/21 Суб 14:23:26 #899 №2240809 
>>2240784
Додик, ты структуры упаковал.>>2240792
>Это и есть имплементация поведения, аналогичного поведению при наследовании классов
Ты снова обосрался, боксинг это скорее аггрегация а не наследование.
> он именно для этого нужен.
Ты снова обосрался x2. Он нужен, что бы использовать значимый тип, там где нужен ссылочный.
> которым сравнивалось бы при наследовании классов
Классы сравниваются по ссылке, если оператор не переопределен. У структур переопределен, у стринга переопределен, у обжекта не переопределен - какого хуя он должен делать что-то кроме сравнения ссылок?
>В ЭТОМ КАК БЫ И СУТЬ ВАШИХ БОКСИНГОВ
Ты снова обосрался x3
>чтобы негры не могли становиться программистами
Так иди в макдак.
Аноним 18/12/21 Суб 14:27:48 #900 №2240814 
>>2240792
>>2240784
Тебе уже анон достаточно мягко объяснил, что ты дурак, но хочу сказать, что когда ты пишешь что-то вроде object или dynamic, ты как бы заявляешь, что фич сишарпа тебе недостаточно для реализации твоей задумки и ты берёшь всё в свои руки, осознавая всю тяжесть последствий. Предполагается, что в таком случае ты знаешь все тонкости, с которыми ты столкнешься на пути. Ну или ты готов через боль и слезы изучить их по ходу дела.
Аноним 18/12/21 Суб 14:29:27 #901 №2240816 
>>2240792
>при наследовании классов
Ага, блять, обжект наследуется от инта, который наследуется от обжекта. Самого-то ничего не смущает?
Аноним 18/12/21 Суб 14:45:16 #902 №2240843 
big-booty.png
Я тут недавно срал в этом треде со своим парсером, насру еще. Скрин, где мой парсер почти в 2 раза обошел регексы оказался фейком - у меня в целях дебага была отключена часть функционала, а потом забыл включить. Практически финальный результат на пике, по времени плюс-минус (мой парсер делает чуть больше, ибо на регексах требуемый функционал превращает код в ад), но зато гибче, легче поддерживать, а главное легко расширяется для новых фич. А вот по памяти, получилось хорошо, у меня аж стояк, когда смотрю на столбцы Allocated и Gen 0.
Аноним 18/12/21 Суб 15:10:15 #903 №2240867 
Ананасы, как в wpf организовать drag & drop элементов между двумя листбоксами расположенными на двух разных tabitems?
Аноним 18/12/21 Суб 15:17:29 #904 №2240877 
>>2240785
До сих пор нет WinForms и WPF в Core
Аноним 18/12/21 Суб 15:26:33 #905 №2240889 
dsk.png
>>2240877
Ясно, просто у меня уже года 2 как есть, поэтому такой проблемы не имею.
Аноним 18/12/21 Суб 15:44:41 #906 №2240907 
>>2235408
>>2235413
Немношко ап. Допустим как делать эксели без экселя разобрались, спасибо. А как получать данные из бд, к которой нет прямого доступа и возможности кидать запросы? Принимать монструозные жисоны от другого приложения норм будет?
Аноним 18/12/21 Суб 15:54:04 #907 №2240918 
>>2240889
Дак они за счёт .Net Framework работают. В линупсе такого нет.
Аноним 18/12/21 Суб 15:59:18 #908 №2240926 
image.png
>>2240814
>>2240809
Ну да, ага, я дурак и обосрался, а ни разу не язык неудобное непродуманное говно говна.
Аноним 18/12/21 Суб 16:06:26 #909 №2240937 
>>2240918
Они работают за счет винапи и директХ, очевидно ни того ни другого в линупсе нет. Только при чем здесь нет кор?
Аноним 18/12/21 Суб 16:08:10 #910 №2240940 
>>2240937
Почему в Джаве можно писать десктопные приложения для миллиона устройств?
Аноним 18/12/21 Суб 16:08:51 #911 №2240943 
>>2240926
Иди на js или питон, там всё продумали.
Аноним 18/12/21 Суб 16:10:06 #912 №2240944 
Как в wpf флажки синхронизировать, если один в окне, а другой на страничке?
Аноним 18/12/21 Суб 16:12:01 #913 №2240945 
>>2240940
Ты на джаве тоже можешь написать либу, которая дёргает винапи и которая не заведётся под линуксом. И на коре ты можешь использовать кроссплатформенные юай фреймворки. Никакой разницы тут нет.
Аноним 18/12/21 Суб 16:33:44 #914 №2240969 
>>2240926
Потому что, в случае с o1 и o2 происходит upcast, так как System.String - это subclass от object, но у стрингов по дефолту используется сравнение контента, а не референсов.

В случае с o3 и o4 - происходит boxing, когда создается новый объект, так как object - это reference тип, а int - это value тип, в данном случае происходит дефолтное сравнения референсов.
Аноним 18/12/21 Суб 16:47:39 #915 №2240982 
Есть перекатившиеся в джавку? Работаю на ASP.NET MVC5, проект доживает последний спринт, дальнейшая его судьба не известна, проектов больше на .NET - нет (и как сказал ПМ - не будет). На рыночке вагон Java вакансий, по .NET все, что я нашел - только легаси. На джуна возвращаться как-то не очень, поэтому вопрос:
1. Имеет ли различие архитектуры проекты Java и .NET?
2. Там понятно будет линуха+AWS, но помимо разворачивания по стэку использования какие отличия?
3. Какие шансы залететь на мидла Java только со знаниями C#? 5+ лет ком. опыта
Аноним 18/12/21 Суб 16:51:17 #916 №2240984 
>>2240982
Мне нравится шарп как язык, но в джаве больше книги и они более качественные. Пока боюсь прыгать с языка на язык, чтобы не запутаться в процессе обучения.
В джаве меня отталкивает отсутствие беззнаковых типов и что она сама заменяется на котлин. А котлин отстойный язык, чем-то напоминает раст, тайпскрипт и паскаль.
Аноним 18/12/21 Суб 16:56:50 #917 №2240988 
>>2240982
Толстый вброс от пердуна-джависта
Вакансии на джаве 99% это андроид, а не бэк
Аноним 18/12/21 Суб 17:04:42 #918 №2240996 
>>2240982
Уходи из дотнета, нам такие как ты тут не нужны, пускай будет дефицит кадров.

Вакансий у него нету, да нахуй нам эти вакансии не нужны.

А ну ещё добавлю, что работа на галере - зашквар.
Аноним 18/12/21 Суб 17:05:31 #919 №2240997 
Вытеснит ли шарп джаву из энтерпрайза?
Аноним 18/12/21 Суб 18:38:29 #920 №2241115 
>>2240996
А где тогда работать?
Аноним 18/12/21 Суб 19:02:12 #921 №2241143 
>>2240997
Лол, нет. Даже майки шарпом пользуются очень неохотно, о каком вытеснении может идти речь? Технология - умирающая.
Аноним 18/12/21 Суб 19:03:52 #922 №2241145 
>>2240984
>в процессе обучения
ты рофлишь? Я последние 5 лет на галере и ты сравниваешь со своими свистелками-перделками?
>>2240988
как скажешь, тебе виднее
>>2240996
>что работа на галере - зашквар
адекватный анон есть в этом треде?
Аноним 18/12/21 Суб 19:18:26 #923 №2241159 
>>2241115
В конторе, делать продукт 15 лет. У нас недавно обновление безопасники выкатили, теперь все пересели уже на четвертый фреймворк.
Аноним 18/12/21 Суб 19:20:14 #924 №2241163 
Допустим у меня есть лист из сообщений, к каждому сообщению прикреплен файл или файлы, как мне из бэка правильно всё это вернуть? Файлы хранятся на сервере, мне прогружать каждый и возвращать как byte[], а потом фронт по формату распарсит?
Аноним 18/12/21 Суб 19:21:14 #925 №2241164 
>>2240940
https://avaloniaui.net/
Аноним 18/12/21 Суб 19:23:51 #926 №2241167 
>>2241163
Или возвращать фронту без файлов, а он просто будет по каждому делать отдельный реквест?
Аноним 18/12/21 Суб 21:46:05 #927 №2241343 
>>2240784
А что тут нелогичного?
Я не понимаю если честно. В твоем случае же оно дает тру именно потому что ссылки указывают на один и тот же участок памяти, а в случае с 42 - участок памяти - разный. Соответственно - и тебе в ответ false.
Ты же в этом контексте сравниваешь ссылочные типы и похуй какое ты там значение положил, кусок памяти - разный. В первом случае - один и тот же.
Почему так? Потому что сравнить ссылку быстрее чем посмотреть какие там значения, особенно в случае если ссылка указывает на один и тот же кусок памяти.
Как по мне - в контексте дизайна языка - все именно что логично. Но со структурами предполагается, что ты именно что хочешь передавать значение, он для того и введены в язык, так вот, чтобы тебе было проще - для случаев, когда тебе именно что важно значение - решено было добавить то поведение, что ты видишь. Только вот запаковав структуру в object - ты сам, по сути, говоришь компилятору, что тебе именно что нужно, так это работать с ним как с ссылкой. Компилятор не ванга, чтобы понять, нахуя ты это сделал и в итоге среда ведет себя так, как это и задумано для ссылочных объектов.

Ну, чтобы тебе было понятно:
[0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F]
Допустим это вот твоя оперативная память. Тебе нужно сравнить что две ссылки указывают на один и тот же кусок памяти. У тебя две ссылки они указывают на 0x01. На кой хуй тебе теперь проверять что по этому адресу лежит одно и то же значение, если значение там в любом случае одно и то же? Так вот устроена память. Представь что это ящик. В него что-то положили. Тебе дали две бумажки, которые говорят что в ящике 10 что-то лежит. Ты же со 100% уверенностью можешь сказать, что независимо от того какая бумажка у тебя - ты, если посмотришь в ящик - увидишь тот же самое.
Так вот. Как раз - нелогично будет - закладывать разное поведение, если упакована была структура. Потому что в таком случае - другой разработчик - должен будет каждый раз делать проверку: пришло в object к нему структура или таки ссылка. Это - как раз было бы с точки зрения языка пиздец и нахуй никому не нужно.
Опять же. Если бы ты поебался с unsafe - и у тебя бы одни и те же строки лежали в разных кусках памяти - при == у тебя было бы false, что опять же логично и подробно описано в документации.

Ну и да. Для того чтобы узнать, что объекты эквивалентны в дизайн заложен Equals. Хули ты его не используешь? С ним как раз - закладывается та логика, которая тебе нужна.

И последнее. Если тебе в своих классах хочется - ты можешь перегррузить == и добиться того что оно будет как Equals работать. За это тебя все нормальные разрабы проклянут, но если тебе так вот хочется - делай, хули ты ноешь-то?
Аноним 18/12/21 Суб 22:00:54 #928 №2241350 
>>2241163
Возвращай ссылку на файл. Нехуй просто так гигабайты трафика туда-сюда гонять, если это может быть даже и не нужно клиенту будет.
По хорошему, для каких-нибудь картинок - две ссылки: превью с пожатой версией и ссылка на полный файл. Для видяшек - можно ссылку на какой-нибудь кадр с превьюшкой. Для остального - просто ссылка на скачивание.
Ну, просто давай подумаем за тебя. Вот у тебя на фронте 1000 клиентов. Файлы по 1 гигу. Сообщений с этими файлами 1000. Получается - каждый клиент будет качать эти 1000 гигов просто за хуй собачий, а они клиентам и не нужны нахуй. Сам-то подумай, ты бы хотел, чтоб зайдя в дискорд какой-нибудь, тебе все эти картинки загружались, пусть даже в оперативку? Не хотел бы, я думаю.
Аноним 18/12/21 Суб 22:19:06 #929 №2241363 
.png
.png
>>2240969
> но у стрингов по дефолту используется сравнение контента, а не референсов
Нихуя подобного. Просто у фреймворка есть спрятанная таблица со строками. Когда ты пишешь: string a = "abc" - фреймворк ищет в таблице, если не находит - создает новую запись. Все. Сравнение идет только на этапе создания экземпляра, чтобы проверить: новая строка или уже такая есть в таблице. Когда ссылок не останется - строка из таблицы будет сожрана горбатым коллектором.
Если не веришь: вот тебе пример с кодом.
Аноним 18/12/21 Суб 22:34:13 #930 №2241367 
.png
>>2240969
Блядь. Я правда тут >>2241363 спиздел чутка. Да, майки переопределили и ==. Хуй знает правда зачем, учитывая, что таки у них по дефолту - таки не должно быть двух одинаковых строк. После создания экземпляра. Ну да похуй. Спиздел и спиздел.
Аноним 18/12/21 Суб 22:46:31 #931 №2241372 
>>2240982
бамп
Аноним 18/12/21 Суб 22:54:44 #932 №2241375 
>>2241363
>>2241367
Да не ссы, я если честно сам думал, что там действительно, как во многих языка, стринги реюзатся и за счёт этого идёт отсылка к одному объекту, но похоже что это банальный оверлоад дабы избежать неочевидных для многих багов в продакшене.

>>2241350
Нет, всё правильно, но получается фронту прийдеться на каждую отсылку делать отдельный реквест, я думал можно по-проще сделать, но не фартануло, наверно разве что подключать всякие кэши и прочее.
Аноним 18/12/21 Суб 22:58:01 #933 №2241379 
>>2241367
Так я не понял, всё таки реюзатся стринги, просто оверлоад решает раньше?

>>2241375
Аноним 18/12/21 Суб 23:05:26 #934 №2241388 
>>2241367
Пажди, зачем тогда overload нужон, если они отсылаются к одному объекту?

>>2241379
Аноним 18/12/21 Суб 23:06:03 #935 №2241390 
>>2240982
> Имеет ли различие архитектуры проекты Java и .NET?
Имеет. Ты как минимум заебешься с их системами сборки. Блядь, Ant, Gradle, Maven и еще дохуя всякого говна. Это из базового.
Сама архитектура. Сколько проектов не смотрел: везде - мы самые умные, потому давайте как свой DI мутить(ну, я смотрел проекты древние, может быть в те времена не было удобных инструментов), или вообще: НАХУЙ DI, ДАВАЙ ГАД ОБЖЕКТЫ, ЫЫЫ, ХУЯК СИНГЛТОН ЧЕРЕЗ СИНГЛТОН И КЛАСС ApplicationContextManager который ВСЕМ, блядь, управляет.
Да, нахуя нам ОРМ, они ж для пидорасов, давай-ка будем сами руками мапить, хули нам не маппить руками, это же так весело, нахуй(опять же, тут может быть дело в том, что проекты старые и когда их начинали делать - не было нормальных ОРМ, а потом уже забили хуй и не стали переделывать).
О, да, миллиард классов с именами Context, Factory, Resolver и Provider, без этого никуда.
А, ну и еще: ыыы, жава не умеет в одном файле два класса нормально хранить, потому ДАВАЙ Я БУДУ ВЛОЖЕННЫЕ КЛАССЫ ДЕЛАТЬ, 10 УРОВНЕЙ, НАХУЙ, БЛЯДЬ, ЫЫЫЫ, НАВЕБАЛ ДЖАВУ, КАКОЙ Я УМНЫЙ!!!
А, ну и да, если попадешь на проект, который делали люди ВУМНЫХ КНИЖЕК начитавшихся, будь готов к пиздецу с тем, что они там мутили архитектуру невьебенную, но потом поняли что обосрались и в итоге пришли джуны и то что выше наделали, чтоб оно работало хоть как-то, в итоге ты нихуя не поймешь, пока не въедешь в полет фантазии и не поймешь о чем думал тот хуйлан, который это писал.
> по стэку использования какие отличия?
Жава используется для всего. Лично я видел как на ней и для телекома пилили прикладной софт и для IoT сервера и в банках софт и убогие круды на спринге(спринг это самое близкое кстати к шарпу и его видению веб-приложения).
> Какие шансы залететь на мидла Java только со знаниями C#? 5+ лет ком. опыта
Околонулевые, если не по знакомству. Хотя в теории - ты можешь быстро разобраться с базовым инструментарием и потом на базе своего опыта - напиздеть, вкатившись таки на мидла. Но я бы не рассчитывал на это.
Аноним 18/12/21 Суб 23:11:27 #936 №2241393 
>>2241372
Пчел, мы никогда из .NET не уйдем на Джаву, мы ж не идиоты, тем более когда у нас F# ещё есть к C#, такие как вещи как linq и тонны сахара, которого просто там нет, или есть но реализовано колхозниками, спрашивай в Джава треде.
Аноним 18/12/21 Суб 23:15:27 #937 №2241395 
>>2241379
>>2241388
Я сейчас освежил знанияЗАГУГЛИЛ. В общем, интернирование, по дефолту, происходит на этапе компиляции. Соответственно реюз будет того что можно на этапе компиляции просчитать. Если нужно таки заинтернировать строку в рантайме - нужно вызывать string.Intern. Но как понял, майки таки решили сами себя переигрывать, а потому горбатый коллектор таки не будет то что ты в рантайме добавляешь просто так удолять, соответственно и смысла особого нет использовать, т.к. такие строки будут жить до конца жизни приложения и если строк дохуя, это будет дохуя памяти сожрано в нихуя. Такие вот дела.

Ну и тут становится понятно, хули они переопределили использование оператора. Таки да, если мы активно работаем со строками, и у нас на этапе компиляции была строка:
string a = "aaa"
а мы в рантайме делаем
string b = "aa";
b += "a";
- то получаем две одинаковых строки, но с разными ссылками. В контексте работы с текстом - мы, наверное, таки хотим чтобы a == b - давало true.
Аноним 18/12/21 Суб 23:17:21 #938 №2241397 
>>2241395
Спасибо, интересно.
Аноним 18/12/21 Суб 23:22:31 #939 №2241403 
>>2241390
>с их системами сборк
про билдеры наслышен, где нужно указывать версии сборок, без которых просто так не сбилдаешь проект
> свой DI мутить
типо свою либу делали для DI? А зачем? Есть же Spring/tiger - подключил и пользуйся.
>НАХУЙ DI, ДАВАЙ ГАД ОБЖЕКТЫ, ЫЫЫ, ХУЯК СИНГЛТОН ЧЕРЕЗ СИНГЛТОН
это ты на какой-то помойный проект попал. Я хз, кто такое делать будет и тянуть все зависимости
>нахуя нам ОРМ
точно помойный проект
>миллиард классов с именами Context, Factory, Resolver и Provider, без этого никуда.
Это и на .NET нормальная практика
>ты можешь быстро разобраться с базовым инструментарием
я уже разбираюсь с open-source проектом, как и что. Я думаю даже больше проблемный будет не переход с # на Java (в рамках языка), а пласт околоидущих тулзов - тот же Oracle (а не MsSql), больше dynamic sql (или эдхок, как уж получится), ибо LINQ нету и придется все запросы руками писать.

А что кстати монолиту/микросервисам? Контейнеризацию используют? И ты давно и сколько на Java проектах сидел? Ибо то, что ты описал больше похоже на какой-то помойный легаси-сапорт после банды индусов
Аноним 18/12/21 Суб 23:24:22 #940 №2241404 
>>2241393
>мы никогда из .NET не уйдем
>у нас F#
>linq и тонны сахара
судя по тому, что ты высрал, ты в .NET и не входил (помимо парочки ссаных пет проектов). Вопрос к бывалым, а не к вкатышам
Аноним 18/12/21 Суб 23:34:27 #941 №2241417 
>>2241395
>такие строки будут жить до конца жизни приложения и если строк дохуя, это будет дохуя памяти сожрано в нихуя
Ну так поэтому и советуют при создании строк в рантайме использовать StringBuilder, вместо последовательной конкатенации, чтобы не плодить кучу промежуточных строк.
Аноним 18/12/21 Суб 23:37:02 #942 №2241419 
>>2241417
>Ну так поэтому и советуют
На всякий случай поправлюсь: это не главная причина, а одна из.
Аноним 19/12/21 Вск 01:24:59 #943 №2241474 
>>2241404
Неосилятора порвало
Аноним 19/12/21 Вск 01:54:57 #944 №2241490 
>>2241474
неосилятора чего? Ты бы для начала мои посты вверх проскролил, прежде чем высирать очередной бред
Аноним 19/12/21 Вск 01:55:18 #945 №2241491 
>>2241474
неосилятора чего? Ты бы для начала мои посты вверх проскролил, прежде чем высирать очередной бред
Аноним 19/12/21 Вск 03:59:46 #946 №2241529 
Че новые вкатуны есть в треде?
Накиньте стори как вкатывались? Че на гитхабе было на время вката?
Аноним 19/12/21 Вск 04:41:16 #947 №2241531 
Блять, у меня давно есть несколько идей для десктопных приложений(чисто для себя), но меня блевать тянет от нативного интерфейса винды старше семёрки. Хочу обычные кнопочки, поля, текст, без этих ебаных анимаций, плиток и прочего кала, из которого состоит 100% приложений из виндовс стора. Но не хочу жрать устаревшее говно, которое уже не поддерживается особо(привет впф). Как быть?
Аноним 19/12/21 Вск 06:11:19 #948 №2241540 
Поцоны а что происходит при вызове асинхроных методов?
Вот к примеру у меня 100 таксов, я их запускаю там асинхронно делается гет запрос через хттп клиент. Проц 4 ядра 8 потоков.
Что происходит дальше? Выделяется поток который ходит по таскам и проверяет пришел ли ответ? Или мб есть какое либо место в net есть какаета абстрактная очередь в которую попадают все асинхронные задачи и проверка идет по первой и ечли нет ответа то она попадает снова в очередь? Мб такая очередь создается на каждый запущеный процес в винде есть есть асинк авейт задачи?
Аноним 19/12/21 Вск 09:27:07 #949 №2241571 
>>2241529
Нихуя, только тестовое с галеры.
Аноним 19/12/21 Вск 09:31:18 #950 №2241575 
>>2241540
Вообще IO bound асинхронные операции не требуют отдельных потоков, но хттп клиент довольно костыльный, там могут и выделяться.
Аноним 19/12/21 Вск 09:36:47 #951 №2241576 
Сильно ли нагружают программистов на галере? Как проходит рабочий день? 8 часов кодите, а потом говорят, что ещё поработай часик, потому что сроки горят? Дёргают в выходные, праздники, отпуска? Типа - ты там чё-то накодил, но никто не понимает, поэтому выйди и допиши.
Аноним 19/12/21 Вск 10:24:13 #952 №2241594 
>>2241343
>В твоем случае же оно дает тру именно потому что ссылки указывают на один и тот же участок памяти
Но это же еще нелогичнее! Откуда мне было знать, что в случае строк один и тот же участок памяти? Я создал 2 переменные, я положил в них 2 раза 2 литерала, и ТУТ ОКАЗЫВАЕТСЯ, ЧТО ЭТО ОДИН ОБЪЕКТ. Да что за нахуй, черт возьми? Я из твоего коммента впервые узнал, что object o1 = "строка" и object o1 = new String("строка") дадут разный результат.
Аноним 19/12/21 Вск 10:40:09 #953 №2241602 
image.png
>>2241363
Как я понял, это не у фреймворка спрятано, а у компайлера, он так оптимизирует. В рантайме никаких таблиц и проверок нет.
Аноним 19/12/21 Вск 10:56:27 #954 №2241607 
>>2241594
>Откуда мне было знать
Книги читать надо или доки
>создал 2 переменные
Ссылающихся на один и тот же строковый литерал
>>2241602
>В рантайме никаких таблиц и проверок нет.
Есть, просто надо вручную туда класть через string.Intern и проверять через string.IsInterned.
Аноним 19/12/21 Вск 11:02:49 #955 №2241612 
>>2241576
все зависит от галеры и проекта. На помойный галерах будут выжимать все соки - 10 часовой рабочий день это норма, 12 - почет. На нормальных галерах дают скоуп на спринт, а ты уже сам. Хоть за день все сделай, главное чтобы к концу спринта все таски были протестированы и/или вылиты
Аноним 19/12/21 Вск 11:37:28 #956 №2241629 
>>2241576
Могу только за завод говорить.
На заводе как: какой-то менеджер чет придумал, передал в ваш отдел свои придумки. У вас при этом этих придумак - жопой жуй, плюс софт крутится уже на производствах, где в качестве одменов(эй кей эй девопсов) - сын тети клавы, который за компуктером все время сидел, вот его и пристроили по знакомству. Так вот, менеджер придумал, передал в ваш отдел, ваш вожак - тебе сказал: "Делай", ты говоришь: Там в сибири завод стоит, в подДС - сеть разваливается, в хуйзалупинске еще что-то, ваш вожак говорит: Ну, как найдешь время. Ты сидишь и лениво смотришь ютуб, когда слышишь что за выполнения работы дают премию - за два часа делаешь, если не слышишь - ждешь пока прийдет какой-нибудь практикант из местного вуза, чтоб он все сделал, а тебя назначили руководителем проекта и ты получил ништяки за "менторство". Как-то так. Да. Если придумка действительно важная и спущена какими-то контролирующими органами либо заказчиком напрямую, а не охуенными менеджерами-придумщиками, делаешь за пару недель, потом тянешь время, рассказывая, что все нужно тестировать, нужно рефакторить, нужно что-то еще, чтобы вынудить управленцев "мотивировать" тебя премиями, премий нет - тянешь время, пока друг друга не поймете, если грозятся отдать на аутсрс - поясняешь, что все аутсорсеры - пидрасы и индусы и нихуя не знают, аргументируя опытом и примерами как за аутсорсерами уже приходилось с нуля переписывать все(на самом деле приходилось исправить в паре мест, но ты писал в отчетах, что пришлось все переписывать с нуля).
Как-то так.
Завод - охуенно короче. По крайней мере, пока там не решают повысить продуктивность, путем отключения ютубов.
Аноним 19/12/21 Вск 12:28:14 #957 №2241648 
Правильно ли я понимаю, что чем больше классов реализуют один и тот же интерфейс, тем более долгим будет вызов метода из переменной типа этого интерфейса, т.к. таблица виртуальных методов будет более пухлой, и придётся дольше искать нужный?
Аноним 19/12/21 Вск 12:59:08 #958 №2241667 
Предлагаю включить в список литературы книгу Брюса Эккеля - "Философия Java". Дело в том, что ничего подобного по C# нет, а многие книги подразумевают знания читателя по базовым вещам, которые описываются в данной книге. Первые главы можно даже без правок включить в любую из книг по C# и читатель подмены даже не заметит.
Аноним 19/12/21 Вск 13:19:16 #959 №2241679 
>>2241667
Я посмотрел по главам. Не понял что там такого, чего нет в книгах по шарпу. Любая вводная книга это описывает. Да и на, прости господи, метаните, все это есть. ХЗ зачем ее включать.
Аноним 19/12/21 Вск 13:33:46 #960 №2241686 
>>2241531
Тебе лечится надо, долбоеб. Новые формы винды выглядят охуенно, особенно на 11
Аноним 19/12/21 Вск 13:39:19 #961 №2241694 
>>2241531
Бери винформ, няша. Как-бы его не пытались похоронить майки - это действительно лучший инструмент, который есть на рынке для десктопа. Прост как палка. Производителен как пневмохуй. Удобен как программистам, так и пользователям. При этом, при желании, ты можешь формы сделать как похожими на современную дрисню, так и няшными, как во времена семерки-XP.
Аноним 19/12/21 Вск 13:41:49 #962 №2241696 
Да, в догонку к >>2241694. Винформы еще и не такие жирные как тот же ВПФ.
Если бы не винформы, я бы таки стал плюсовиком в вузе, но формы открыли мне глаза после QT как может быть и с тех пор лично я перешел на шарпик, а то бы сидел в вашем треде и троллил нюфагов тем, что вы указатель в руках не держали и не знаете как в памяти уложить структуру.
Аноним 19/12/21 Вск 13:48:43 #963 №2241701 
>>2241648
Допустим есть интерфейс IFoo {void Bar()}, Есть набор классов A, B, C, D ..., которые все реализуют IFoo. А так же ссылка foo типа IFoo, которая указывает на объект А:
IFoo foo = new A();
Теперь я вызываю foo.Bar()
Вопрос: ты нахуя собрался лезть в B,C,D,... и что ты там хочешь проверить?
Аноним 19/12/21 Вск 14:00:03 #964 №2241707 
>>2241694
Почему формы стали лучшим инструментом для интерфейсов вообще в мире?
Аноним 19/12/21 Вск 14:24:09 #965 №2241739 
>>2241540
>Поцоны а что происходит при вызове асинхроных методов?
Компилишь свою сборку.
Устанавливаешь dotPeek и открываешь сборку в нем.
Видишь во что все это разворачивается. Изучаешь.
Если вкратце, то там получится стейт машина, которая и будет все переключать/гонять. Подробнее в книгах читай.
Аноним 19/12/21 Вск 14:26:44 #966 №2241744 
>>2241529
Пара не сильно навороченных веб-api приложух. Но с хорошим оформлением с сылкой где они развернуты. А там можно через сваггер подергать api, посмотреть как аутентификация/авторизация, работа с БД работает и т.д.
Аноним 19/12/21 Вск 14:34:55 #967 №2241754 
>>2241594
>Откуда мне было знать, что в случае строк один и тот же участок памяти?
Чел, сейчас про особенности стрингов в шарпе, на любом собесе спрашивают. Один из первых вопросов которые тебе зададут будет "в чем отличие reference типа от value", а следующим будет "к какому типу относится string и почему". И далее по цепочке и пока ты все что выше писали про стринг не расскажешь, от тебя не отстанут.
Аноним 19/12/21 Вск 14:47:15 #968 №2241780 
>>2241754
Это на собесах на джунов. Но если он пойдёт на мидловую позицию, с такой дичью приставать уже не будут, а будут спрашивать по существу, по проектам, по софтскиллам и т.п. Мидлов дефицит и никто не будет распугивать кандидата бесполезными для реального проекта вопросами.
Необходимость знания всей этой подковерной магии сильно преувеличена.
В той же джаве вообще нет никаких валуе типов, и живут же как-то.
В том же .NET 6 завезли оптипизации, так что теперь рантайм спокойно размещает маленькие классы на стеке, а большие структы в куче, и различие совсем уж стёрлось.
Аноним 19/12/21 Вск 14:48:15 #969 №2241783 
>>2241739
>dotPeek
Там IL или C# код человекочитаемый?
Аноним 19/12/21 Вск 15:04:02 #970 №2241808 
>>2241679
Не правда! Я все книги по C# перечитал и ничего там даже близко нет.
Тем более как написано? Это не унылота как у Троелсена или задродство как у Рихтера. Слог живой, красивый. Видно, что автор действительно долгое время прорабатывал материал.

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

Так что я в очередной раз убедился, что книги по Java на порядок лучше книг по C#.
Аноним 19/12/21 Вск 15:08:30 #971 №2241821 
>>2241754
>"в чем отличие reference типа от value"
Какое отношение это имеет к правилу языка, по которому компилятор ищет одинаковые строковые литералы и создает для них один объект?
Аноним 19/12/21 Вск 15:12:20 #972 №2241829 
>>2241780
>В том же .NET 6 завезли оптипизации, так что теперь рантайм спокойно размещает маленькие классы на стеке, а большие структы в куче, и различие совсем уж стёрлось.
Да блядь! Еще больше учить. Я тут с виртуальными функциями не знаю как разобраться, что когда где откуда вызывается, когда перегрузка, когда не перегрузка, когда вызовется из базового типа, если наследуемый к нему приведен, когда все равно вызовется из наследуемого, а они все усложняют и усложняют язык.
Аноним 19/12/21 Вск 15:14:02 #973 №2241833 
>>2241783
И то и то.
Аноним 19/12/21 Вск 15:14:57 #974 №2241836 
>>2241829
двачую, каждый год всё новые охуительные приколы добавляют, новичкам пиздец не завидую
Аноним 19/12/21 Вск 15:16:14 #975 №2241838 
>>2241780
>маленькие классы на стеке, а большие структы в куче, и различие совсем уж стёрлось.
А это никогда не было их различием, это детали реализации, что-то вообще может из процессорных регистров не выйти. И за ответ класс - куча, структура - стек всегда шло мы вам перезвоним. Кста, а есть пруф что класс может в стеке быть?
Аноним 19/12/21 Вск 15:18:13 #976 №2241841 
>>2241780
>Это на собесах на джунов.
Да не, сейчас всех примерно одинаково собесят, по крайней мере до уровня мидл+
Сейчас просто любой с опытом в год и более пишет в резюме "я миддддл" и задирает планку з.п. в небо. Тогда как такие простые вопросы позволяют их быстро на землю спустить и показать чего они стоят.
Аноним 19/12/21 Вск 15:18:17 #977 №2241842 
image.png
Пытаюсь сделать свой морской бой, как мне вывести координаты сверху?
Аноним 19/12/21 Вск 15:20:55 #978 №2241849 
>>2241841
>Тогда как такие простые вопросы позволяют их быстро на землю спустить и показать чего они стоят.
только в большинстве случаев этот дрочь теории нужен для повышения чсв собеседующих, а не в реальной работе
Аноним 19/12/21 Вск 15:22:19 #979 №2241853 
>>2241821
Это затравочка. Вроде вопроса про два стула. А когда ты ответишь, то тебе тут же "а у нас вот тут третий стул, а на нем дрочи-пикены", ну-ка поясни за него подробно.
Аноним 19/12/21 Вск 15:25:17 #980 №2241858 
>>2241842
В 19-й строке добавь Console.WriteLine(" ABCDEFGHIJ");
> pole
За такое пиздят.
Аноним 19/12/21 Вск 15:38:41 #981 №2241876 
Вопрос по разделителям строк. Есть на сайте textarea, там две строки "а" и "б", в js это выгдядит как "a\nb", когда я передаю это на сервер через fetch+json на сервере это тоже "a\nb", если через fetch+formdata, то всё ещё "a\nb". Но если через форму и [BindBroperty], то строка уже "a\r\nb". Нахуя они та сделали и как с этим жить?
Аноним 19/12/21 Вск 15:45:41 #982 №2241880 
>>2241540
Если тебе в плане потоков интересно, то поведение будет зависеть от того как TaskScheduler настроен. Оно вполне себе может и в одном потоке просто переключаться. По дефолту - использует пул-потоков, в зависимости от нагрузки будут создаваться новые потоки, если задачи тяжелые для CPU. Создавать новый поток или не - решит скедулер.
В плане самих тасок - там будет сгенерирована стейтмашина, которая просто на очередном "тике" - проверяет текущее состояние задачи, если еще не завершилась - ждем дальше, если да - выполняем хвост функции, если какая-то ошибка или таска отменена - кидаем эксепшн.
В контексте HTTP - это IOBound и потоков создаваться слишком много не будет, потому что большую часть времени поток просто ждет ответа, а потому можно просто использовать его для того чтобы что-то полезное в это время делать.
Сами таски - просто генерят стейтмашину, в которой на очередном "тике" проверяется стейт, если задача еще не завершилась - переходим к следующей, если завершилась - выполняем код, который идет после await.

Как-то так.

стажер-долбоеб
Аноним 19/12/21 Вск 15:48:17 #983 №2241885 
spec.png
Аноним 19/12/21 Вск 15:56:57 #984 №2241899 
>>2241876
И, это ты еще не трахался с разделителями дробной части при парсинге чисел в разных системах.
>>2241876
>как с этим жить?
Почитай про Environment.NewLine
Аноним 19/12/21 Вск 16:14:30 #985 №2241912 
>>2241899
>Почитай про Environment.NewLine
А что именно? На моем сервере это будет \r\n. Проблема-то в консистентности. Если значение из textarea передается через submit, то я получаю \r\n, если через fetch+formdata, то уже \n
Аноним 19/12/21 Вск 16:17:37 #986 №2241917 
>>2241912
Если текст передаётся от пользователя в глубины обработки данных с сохранением такой локальной параши, как символы новой строки, разделители дробной части и т.п., то кто-то у вас там криворукий долбоёб. Такие вещи должны на месте приводится к единому формату.
Аноним 19/12/21 Вск 16:21:11 #987 №2241920 
>>2241838
> структура - стек всегда шло
А вот тут ты и попался. Читай документацию, мы вам перезвоним.

За клас в стек я ничего не говорил, я другой анон.
Аноним 19/12/21 Вск 16:24:24 #988 №2241924 
>>2241880
Спасибо, чел, я как раз на сеньйора перекатываться буду скоро, хорошо объяснил.
Аноним 19/12/21 Вск 16:27:01 #989 №2241928 
>>2241920
А бля, я понял, ты и так сказал, что за это идёт мы вам перезвоним, ну похуй, мы тебе все равно перезвоним, слишком душный.
Аноним 19/12/21 Вск 16:31:55 #990 №2241931 
>>2241917
> глубины обработки данных
Да какие уж там глубины. На контроллере ловлю запрос и вижу разные значения.
>то кто-то у вас там криворукий долбоёб
Поковырял запросы и это браузер делает конвертацию в \r\n (ну это наверно логично, учитывая, что старый macos использовал \r). Я бы мог, конечно сделать, чтобы при fetch'e тоже замена делалась, но как известно данным из вне доверять нельзя (мамкин хацкер пошлет постманом \n). Тогда вопрос что лучше нормализовать и отправить в модель уже c однородным разделителем или научить модель работать с любым разделителем.
Аноним 19/12/21 Вск 16:44:28 #991 №2241946 
>>2241842
Короче, я основу накидал, тебе чутка там доделать осталось
https://pastebin.com/SxvYmSSf
Аноним 19/12/21 Вск 16:59:49 #992 №2241964 
>>2241842
Ну, ты можешь по разному это делать.
Самый простой способ - просто перед рисованием остальной фигни Console.WriteLine(" ABCDEFGHIJ")
Можешь сделать Console.SetCursorPosition и поместить курсор куда-то, там и нарисовать.
А в контексте игры, я бы советовал выделить такую сущность как FrameBuffer/GameScreen с нужным размером, там просто помещать "пиксели"(в твоем случае символы) Ну и у этого FrameBuffer'а - метод Draw который просто рисует что в буффере лежит, метод Set(int x, int y, char c, ConsoleColor bgColor, ConsoleColor fgColor) - установить значение "пикселя". и Clear() который просто читст буффер от предыдущего значения. Как-то так. Таким макаром можно добится довольно удобной абстракции для консольных анимаций, переливаний цветов и прочего, ты же игру делаешь, а что за игра без анимаций и разных цветов?
Аноним 19/12/21 Вск 17:26:04 #993 №2242027 
Как разбить сроку на слова из списка или словаря?
Т.е. из "pukpuksrenk" должно получиться [puk, puk, srenk], при условии, что у меня есть есть список {"srenk", "puk"}.
Можно конечно по одной букве прибавлять и каждый раз проверять наличие в списке, но есть какой то более оптимальный способ?
Аноним 19/12/21 Вск 17:29:32 #994 №2242031 
>>2242027
конечно, делаешь новый список из всех возможных вариантов в виде p,u,k,pu,uk,puk и т.д, потом сравниваешь с нужным, если подходит, то записываешь в результирующий
шучу
Аноним 19/12/21 Вск 18:27:10 #995 №2242090 
ну и кал ваш дотнет, наплодили столько гуи фреймворков, что ебал рот, а ещё, чтобы просто поменять цвет кнопки нужно целую простыню написать
https://youtu.be/YG_Vc2oJdLM?t=1256
Аноним 19/12/21 Вск 18:38:40 #996 №2242102 
>>2242027
>Можно конечно по одной букве прибавлять и каждый раз проверять наличие в списке, но есть какой то более оптимальный способ?
Данный способ - O(n) (добавляем по букве, проверяем наличие в хешсете). Быстрее - не получится, ибо тебе в любом случае придется всю строку пройти, что дает нижний порог сложности в O(n).
Аноним 19/12/21 Вск 18:39:51 #997 №2242105 
>>2242090
А сколько в джаве фреймворков?
Аноним 19/12/21 Вск 18:50:46 #998 №2242118 
>>2242090
>десктоп в 2022
Ебало представили?
>>2242105
Из живых один спринг
Аноним 19/12/21 Вск 19:15:43 #999 №2242142 
.png
>>2242027
Я бы как-то так хуйнул. Но я даун. В голове крутится мысля, что можно было бы XOR использовать(ну, типа нуль получили - значит это что-то из словаря), приводя кусок памяти к массиву битов и тогда бы не нужно было бы копировать строки. Но это так.
Аноним 19/12/21 Вск 19:25:22 #1000 №2242145 
>>2242102
Я наверное тупой, но не совсем понимаю твое решение. Вот допустим, у нас строка: 'abcLolkaDef' и нужно найти слово Lolka. Вот мы добавили букву 'a' в буффер. Не нашли в хешсете. Добавили 'b' в буффере у нас 'ab'. Когда мы дойдем до искомого слова у нас в буффере будет abcLolka проверка в хешсете вернет false.
Может быть я чего-то не понимаю? Чи шо? Чи как?
Аноним 19/12/21 Вск 19:26:41 #1001 №2242147 
>>2242118
>Ебало представили?
если бы ебал не было, то никто не бы не пилил и не пытался каждый год придумать новый велосипед
Аноним 19/12/21 Вск 19:32:47 #1002 №2242156 
>>2242118
>десктоп в 2022
>Ебало представили?
Напиши в Microsoft, а то они не в курсе.
Аноним 19/12/21 Вск 19:34:03 #1003 №2242157 
>>2242145
>Вот допустим, у нас строка: 'abcLolkaDef' и нужно найти слово Lolka.
Это не совсем та задача, которая у него в посте. У него в посте строка состоит из конкатенированных слов из словаря, которую нужно обратно расконкантенировать.
Аноним 19/12/21 Вск 19:38:10 #1004 №2242158 
>>2242118
Спринг же не один фреймворк, а набор фреймворков. Я слышал, что там ещё есть кибернейт, груви, джавафх и ещё куча всего.
Аноним 19/12/21 Вск 19:55:16 #1005 №2242172 
.png
>>2242142
Да, попытка избавиться от копирования строк на каждой проверке.
Аноним 19/12/21 Вск 20:01:50 #1006 №2242173 
>>2242172
>попытка избавиться от копирования строк
SPAN
P
A
N
Аноним 19/12/21 Вск 20:06:16 #1007 №2242175 
>>2242173
Я чет хуево про спаны читал. Хотел тут применить, но меня насторожило что в AsSpan написано
> Creates a new read-only span over a portion of the target string from a specified
Типа я не понимаю. Это будет просто указатель на участок памяти и никакого копирования данных не произойдет, али таки будет копирование куска подстроки. Потому и не стал тут использовать. Если первое, то наверное нужно будет переписать на спаны.
Аноним 19/12/21 Вск 21:58:21 #1008 №2242248 
>>2205513 (OP)
Подскажите, я уже не могу с этим мокрософтовским говнищем, блядь, пиздец, выбешивает просто уже.
Смотрите, пытаюсь поставить sdk .net. По командам отсюда не ставится:
https://docs.microsoft.com/ru-ru/dotnet/core/install/linux-ubuntu

Там написано
>Если появляется сообщение об ошибке, похожее на Unable to locate package dotnet-sdk-6.0 (Не удалось найти пакет dotnet-sdk-6.0), см. раздел Устранение неполадок с APT.
Хотя с apt как раз никаких неполадок нет, неполадки есть только в днк разработчиков говномокрософта.

Ладно, нашёл и скачал этот sdk по прямой ссылке. Но это не deb-пакет.
Инструкций к нему никаких.
Есть скрипт:
https://dot.net/v1/dotnet-install.sh
Но он, блядь, скачивает тот же файл, чтобы потом его поставить. Я его около часа качал. Блядь, как его просто, блядь, установить? Я глянул внутрь этого скрипта, хоть я и писал на bash, это пиздец макароны, просто пиздец, полторы тысячи строк, какой-то хуйни нахуевертили, удаляю команду скачивания - скрипт просто перестаёт работать, я даже хз, что он вообще пытается делать, просто долбится по разным адресам на разные сайты.
Варианта "установить скачанный файл" там почему-то нет.

Короче, как просто поставить ёбаный sdk, вот он лежит у меня на винте, dotnet-sdk-6.0.101-linux-x64.tar.gz
Куда блядь, что блядь, зачем блядь? Нахуя, блядь?!! Почему всё, что касается говномокрософта это какой-то пиздец, глюки и ёбаные макароны? Почему, сука, нельзя просто указать урл и написать, куда это распаковать, или же сделать нормальный пакет? Сукапиздец блядь!
Аноним 19/12/21 Вск 22:18:46 #1009 №2242267 
>>2242248
Всё, я понял, его надо было просто распаковать, сука, просто в ~/.dotnet, сука, пц блядь. Нахуя блядь писать скрипт на полторы тысячи строк, вы что, упоротые штоле сука?!!
Аноним 19/12/21 Вск 22:20:02 #1010 №2242269 
>>2242267
Сука, это блядь мокрософт сука нахуй. Простите, я до сих пор на эмоциях. Блядь, лет десять я уже такого маразма не видел, с тех пор как снёс нахуй икспи, и ещё двести лет его не видать бы.
Аноним 19/12/21 Вск 22:26:26 #1011 №2242277 
>>2242269
Вот объясните, что значат эти таинственные строки из скрипта на 1500 строк?

Где-то в самом начале:
bin_folder_relative_path=""

Где-то в самом конце:
bin_path="$(get_absolute_path "$(combine_paths "$install_root" "$bin_folder_relative_path")")"
if [ "$no_path" = false ]; then
say "Adding to current process PATH: \`$bin_path\`. Note: This change will be visible only when sourcing script."
export PATH="$bin_path":"$PATH"
else
say "Binaries of dotnet can be found in $bin_path"
fi

И больше никаких ссылок на bin_folder_relative_path нет. И что это значит?

А это значит, что это говно писал мокрософт. Блядь, я ебал, я больше уже не хочу изучать сишарп! Заберите меня отсюда!
Аноним 19/12/21 Вск 22:40:09 #1012 №2242291 
>>2242277
>Если вы уже установили пакет SDK или среду выполнения, с помощью команд dotnet --list-sdks и dotnet --list-runtimes узнайте, какие версии установлены. Дополнительные сведения см. в статье Проверка того, установлена ли платформа .NET.
Сука, блядь, просто распаковать, блядь, просто блядь распаковать блядь!!! Какие нахуй "установлены"? Какого сука хуя эти долбоёбы всё, что только можно называют установкой, когда надо блядь просто скачать ёбаный файл и просто блядь его распаковать, блядь, и всё, сука нахуй? Пидоры!
Я не могу, блядь, я час, наверное, убил, пытаясь понять, что эти пидоры от меня хотят. Сука, проще линукс переустановить с нуля блядь и разобраться, как он работает, чем ёбаное говно от мокрософт просто скачать блядь и распаковать!
Блядь, ну какого хуя-то, а?
Я бы им ебала разбил! Кто конкретно за это ответственнен? А никто. Нету мейнтейнера. Нету автора пакета. Нету гита какого-то, с readme.md, который правили конкретные авторы. Просто какой-то мудак высрал говно, которым невозможно пользоваться, а ты ебись на ровном месте прямо. На ровном, сука, месте!!!
Аноним 19/12/21 Вск 22:44:15 #1013 №2242295 
>>2242291
Не, вы сука посмотрите, они целую простыню накатали по скрипту, который просто скачивает и распаковывает сраный файл, который и так доступен по прямой ссылке!
https://docs.microsoft.com/ru-ru/dotnet/core/tools/dotnet-install-script?WT.mc_id=dotnet-35129-website

Блядь, одна только ссылка блядь чего стоит! Сука, километр блядь!

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

Вы как хотите, впизду, а я пошёл пайтон учить, ну его нахуй этот ваш сишарп! У меня нервы-то не железные!
Аноним 19/12/21 Вск 22:51:02 #1014 №2242297 
>>2242295
https://www.docker.com/
Аноним 20/12/21 Пнд 00:37:25 #1015 №2242408 
>>2242297
А при чём тут докер?
Нет, ну я правда не понял этого вашего .net.
Вот, допустим, хочу я написать хеллоуворлд кроссплатформенный с окошком и кнопкой. И как? Где взять system.dll на линуксе? Нигде? Вайн ставить, или что?
Ну вот, допустим, хочу я запустить скрипт на питоне на линуксе. Я просто беру и запускаю его. Да или любой другой скрипт. А программу на этом вашем сишарпе что, только в консоли и возможно запустить, что ли, да в виде сервера с ASP?
Аноним 20/12/21 Пнд 01:38:13 #1016 №2242432 
Python vs CC vs Assembly side-by-side comparison.mp4
>>2242408
Иди учи питон.
Гуй нахуй никому не нужен.
Пиши хелоуворлд, добавляй поддержку докера и запускай где хочешь.
Ну а коль хочешь ебатся с установкой разной хуету то конечно продолжай в том же духе.
Аноним 20/12/21 Пнд 02:22:36 #1017 №2242456 
>>2242408
> , допустим, хочу я написать хеллоуворлд кроссплатформенный с окошком и кнопкой. И как?
GTK, Qt,
Аноним 20/12/21 Пнд 02:38:29 #1018 №2242465 
>>2242456
Потом ебись с компиляцией, отличное решение
Аноним 20/12/21 Пнд 02:43:56 #1019 №2242468 
>>2242465
кроссплатформенность - это миф, созданный маркетологами, тебе каждые несколько лет выкатывают новую технологию, которая уж точно кроссплатформенная, но тебе всё равно приходится писать ифы под каждый билд
Аноним 20/12/21 Пнд 02:46:37 #1020 №2242470 
>>2242468
Ага, я вижу как охуенно запускается ява уже сколько лет на всех системах.
Аноним 20/12/21 Пнд 02:57:45 #1021 №2242478 
>>2242470
счастливые люди не ходят по двачам по тредам других языков и не срут в них
Аноним 20/12/21 Пнд 02:59:00 #1022 №2242479 
>>2242295
>я пошёл пайтон учить
Удачи
Аноним 20/12/21 Пнд 06:23:31 #1023 №2242501 
>>2242277
> И что это значит?
Это значит, что ты ещё молодой и мало знаешь, но со своей невысокой колокольни тебе кажется, что это кто-то другой дурак, а не ты.
Аноним 20/12/21 Пнд 08:45:08 #1024 №2242525 
>>2242468
Я вот тоже разочаровался из-за отсутствия кроссплатформенности в шарпе. Сейчас вот думаю перекатываться в джаву. Благо языки очень похожи.
Аноним 20/12/21 Пнд 08:49:34 #1025 №2242526 
>>2242248
На бубунту 21.10 ставишь Net6? Сам вчера ставил, там же написано, в репо для 21,10 еще не завезли и надо выбрать для 21,08. И внизу комманды для сего действия.
Установи винду, там таких плясок нет. Тем более раз ты не дружишь с мануалами и терминалом.
Аноним 20/12/21 Пнд 08:54:23 #1026 №2242527 
>>2242408
2сh:
>в каждом треде с десяток постов с перечислением кроссплатформенных гуёв для дотнета
Очередной даун:
> с окошком и кнопкой. И как?
Аноним 20/12/21 Пнд 09:18:11 #1027 №2242534 
>>2241679
Сейчас бы сравнивать метанит с книгами. Метанит - сайт, который в любой момент могут закрыть. Книга же ни куда не денется. Кроме того книгу можно взять с собой почитать.
Аноним 20/12/21 Пнд 09:23:00 #1028 №2242536 
>>2242534
Двач тоже могут закрыть, но ты приходишь сюда и пользуешься им. А что должно мешать челу учиться по метаниту пока он работает? Думаешь если сайт закроют, то и все узнанное забудется?
Аноним 20/12/21 Пнд 09:37:53 #1029 №2242549 
>>2242536
Да, будешь переходить по битым ссылкам и ловить эксепшен)))
Аноним 20/12/21 Пнд 10:04:27 #1030 №2242562 
Мне кажется или до покупки Mono микрософтами для Linux была своя IDE заточенная под Mono? А после покупки о ней ничего не слышно. Получается микрософты специально уничтожают конкуренцию в пользу винды? Ведь в линуксе теперь можно программировать только на VS Code.
Аноним 20/12/21 Пнд 10:14:43 #1031 №2242565 
Бля шо делать?
Как перестать беспокоится и наконец разослать уже резюме?
Которого нет.А хули туда писать то? Я вкатун 30 летний лоб у которого даже нет трудовой книжки и который официально не работал ни дня в жизни а только занимался хуйней в интернетах, ну там seo хуео, трафики хуяфики и вот только сейчас соизволил нормальную профессию, так написать?
Аноним 20/12/21 Пнд 10:41:36 #1032 №2242573 
>>2242562
Был монодевелоп. Теперь он называется Visual Studio for Mac, под линух нет. Но кто в здравом уме будет кодить под линухом? Для тех кому очень надо есть райдер.
Аноним 20/12/21 Пнд 10:55:40 #1033 №2242581 
>>2242408
>Вот, допустим, хочу я написать хеллоуворлд кроссплатформенный с окошком и кнопкой. И как?
Никак. Ты вообще в курсе, что .net - майками разрабатывается? И что у них один из основных продуктов - винда, т.е. десктопный линукс - ее прямой конкурент? Не будет тебе окошек с кнопкой из коробки на линуксе. Вся это поддержка линукса - только из-за облаков, поддержки десктопа - не будет никогда.
Аноним 20/12/21 Пнд 11:00:37 #1034 №2242586 
>>2242562
>Получается микрософты специально уничтожают конкуренцию в пользу винды?
Да, но тут, скорее, просто IDE была говном и самоуничтожилась (аки советский союз).
Аноним 20/12/21 Пнд 11:12:32 #1035 №2242592 
>>2242573
Райдер платный
Аноним 20/12/21 Пнд 11:15:46 #1036 №2242594 
>>2242586
Не говно, на самом деле, просто никому не нужна. Сурсы monodevelop открыты, но не востребованы. dotdevelop что то хотели сделать, но движения так и нет.
Аноним 20/12/21 Пнд 11:17:29 #1037 №2242596 
>>2242592
>Райдер платный
Это же линукс. За бесплатно только говна лопата и бесконечное пердоленье.
Аноним 20/12/21 Пнд 12:22:43 #1038 №2242621 
изображение.png
>>2242456
И что, на сишарпе пишут под Gtk?
Спрашивается, для чего тогда ставить среду .Net?
>>2242432
>mp4
Смешно, да, а почему же сравнение не с сишарпом? Давайте сравним джаву, пайтон и сишарп, и посмотрим, кто из них подебит. Раз уж это сишарповый тред. Ну а писать на ассемблере - это уж такое. Я, кстати, мог бы написать ещё более быстрый код на паскале (допустим, со вставкой ассемблера). Да и на питоне можно приделать библиотеку, написанную на любом другом языке. При чём для реальной работы, а не для тестовых примеров, можно взять уже готовую. Каких только нет. Скажем, давайте сравним скорость работы numpy с любым аналогом на сишарпе и посмотрим.
Ну вот, например, вот код на питоне, работает мгновенно, создаёт графическое окно и график (пикрил):
import numpy as np
from matplotlib.pyplot import plot, show
x = np.linspace(0, 2*np.pi, 100)
plot(x, y, 'ro-')
show()
Как это будет выглядеть на си? Или на сишарп? Я даже боюсь представить.
>Гуй нахуй никому не нужен.
>Пиши хелоуворлд, добавляй поддержку докера и запускай где хочешь.
Я всё-таки не понял. То есть докер не даёт возможности создавать окошки где хочу, а даёт возможность лишь запускать консольные приложения? Или я неправильно понимаю возможности этого докера? А в чём смысл ставить докер и .Net и сишарп, чтобы в итоге получить консольное приложение?
>>2242527
А почему они где-то в каких-то тредах, а не в википедии, скажем, в статье о сишарпе? Почему там в описании языка для кроссплатформенной среды не кроссплатформенный хеллоу ворлд?
Хеллоу ворлд не кроссплатформенный, алё!!!
Кроссплатформенная среда, википедия, 2021 год - и почему это все спрашивают, как создать окно с кнопкой, а?!! Нипанятна!!!
Может потому никто нихуя не понимает, что распаковывание файлов из архива в говномокрошлаке называют "установкой" и нигде на своих говносайтах никак не проясняют этот процесс? Потому что документация - говно, и написано оно дебилами для дебилов (да кто кроме дебилов поведётся на софт от мокрошлака, и правда что)? Не поэтому ли в каждом треде кто-то спрашивает: "Нет, а всё-таки, а как сделать сраное окошко с сраной кнопкой?"
>>2242468
То есть кроссплатформенность .Net это просто банальный пиздёж?
>>2242525
Ясно, понятно. Да я чисто случайно наткнулся на вакансию по сишарпу, дай, думаю, посмотрю, что за шарп. На первый взгляд вроде нормальный язык. Но какой в нём смысл в итоге, если для разработки на нём придётся сносить божественный линукс, только чтобы поставить этот вижуал студио, и чтобы запустить сраную форму с окошком? Ну да, можно на нём сервер сделать под линуксом, но знаете, под линуксом можно любой сервер сделать, на чём угодно, и уж лучше, наверное, не на сишарпе.
Вообще само оформление работы vs code - это же пиздец. Например, закончилось место на винте. Ну как закончилось... почти гигабайт вообще-то остался, но по мнению мокрошлака этого, наверно, мало. Скачивается дополнение. Прогрессбар бесконечно бегает слева направо. Я полчаса, наверное, ждал, прежде чем закрыл и перезапустил. Оно никаких процентов не пишет, никаких сообщений об ошибках, вообще ничего. Перезапустил, освободил место на винте, запустил ещё раз - мгновенно установилось. Блядь, это вот чисто стиль мокрошлака. Когда apt качает пакет - оно пишет, блядь, пишет, в консоль пишет сколько килобайт скачано, сколько скачивается в секунду и сколько секунд ещё осталось, даже прогрессбары какие-то рисует. В консоли! С ссылкой, откуда именно и что именно качается. Вот это софт, созданный для людей. Ты не обязан за всем этим наблюдать, ты вообще не обязан в этом разбираться, потому что оно просто работает и само ставит всё, что требуется, но если тебе надо - ты можешь посмотреть и увидеть, что скачивание, допустим, почему-то остановилось. Или место закончилось и распаковывать файл некуда, или прав нет. Но это блядь в нормальном софте. В софте же от мокрошлака всё через жопу. Всегда. Даже вот десять с хреном лет спустя. Я думаю: дам шанс долбоёбам, а вдруг они уже исправились. Хер там! Чуть менее вырвиглазные свистоперделки, а неуважение к потребностей пользователей как было, так и осталось. Даже более того, в новостях пишут, что они теперь ещё и в меню спуск свой новый браузер рекламируют. Дошло? Ты покупаешь венду за свои деньги, ставишь её на комп, также купленный за свой счёт, а она тебе на твоём же мониторе против твоей воли крутит рекламу! Охуеть блядь. В эру адблоков, когда уже даже конченный лицемер не стал бы отрицать, что непрошенная реклама это ебическое хамство. Даже условно бесплатный фейспук уже перестал пропагандировать рекламный фашизм и смирился с правом пользователей резать неугодные им баннеры. Но мокрошлаку похер. Он продаёт тебе софт за твои деньги, а потом ссыт тебе в лицо, навязывая свои говноподелия.
И в линуксе их говноподелие не заводится. Хотя могли бы давным-давно сделать. Но им насрать, что все их продукты - дерьмо. Что их офис ебучий не умеет открывать нормальные документы в свободных форматах. Любой либреофис, любой опенофис, любой другой нормальный офис прекрасно это умеет. На дворе 2021 год, а мокрошлак офис до сих пор, похоже, не может. При этом они чё-то там смеют вякать про то, что их поганый софт якобы чем-то лучше других. Они даже блядь базовых вещей до сих пор не реализовали, сраное открытие odt-файлов без расползания таблиц. Та же самая история, как та, когда уже в хер знает каком лохматом году, когда все браузеры в мире спокойно работали с множеством вкладок и рисовали png с альфаканалами, мокрошлак рекламировал свой иксплорер, якобы самый лучший и надёжный (с кучей дыр) браузер, который всего этого не умел, но зато использовал актив икс или какую-то похожую херню для проигрывания видео вместо принятого на тот момент флеша. При чём видео через этот актив икс можно было не только встроить в текст веб-страницы, но и сохранить пользователю на винт с расширением exe, и оттуда уже запустить, лол. Это они реализовали, пидоры, равно как и неотключаемый автозапуск вирусни с флешек. А вот поддержку нескольких вкладок, адблока, других дополнений или полупрозрачности в png - нет, на это у них пороха не хватило. Зато денег с людей до хрена собрали, паразиты. Спрашивается, за что?
А просто умелые впариватели говна. Их браузер объективно в подмётки не годился фаерфоксу, но это не мешало им верещать, что их дырявый и кривой иксплорер самый надёжный. И люди, в том числе и госкомпании за счёт налогоплательщиков, это покупали. Тратились миллионы долларов из бюджетов вообще всех стран мира! Вот суки, а! Столько бабла выдоили из народа, а в итоге нормальную поддержку сраного открытого текстового формата не сделали! Сука, примитивная же задача, блядь! Да они даже не собираются что-то решать! Они просто хотят ещё больше денег, мрази!
>>2242501
А, так это значит я дебил, а в мокрошлаке работают молодцы? Ну что же, теперь будем знать! Спасибо, что всё разъяснил!
Аноним 20/12/21 Пнд 12:25:19 #1039 №2242624 
>>2242621
>import numpy as np
>from matplotlib.pyplot import plot, show
>x = np.linspace(0, 2np.pi, 100)
>plot(x, y, 'ro-')
>show()
Вот так, конечно же, я строчку потерял, писал прямо в консоли:
import numpy as np
from matplotlib.pyplot import plot, show
x = np.linspace(0, 2np.pi, 100)
y=np.sin(x)
plot(x, y, 'ro-')
show()
Аноним 20/12/21 Пнд 12:26:26 #1040 №2242625 
>>2242624
Ну а теперь макака, сука, крадёт звёздочки.
Аноним 20/12/21 Пнд 12:29:39 #1041 №2242630 
>>2242565
>Бля шо делать?
Отползти в сторону и помирать.
Аноним 20/12/21 Пнд 12:31:52 #1042 №2242631 
>>2242565
О, как я тебя понимаю!
У меня когда-то были в точности такие же проблемы.
Теперь я 40-летний вкатун без трудовой книжки.
Не пизжу.
Аноним 20/12/21 Пнд 12:48:40 #1043 №2242644 
>>2242621
> для чего тогда ставить среду .Net?
Чтобы разрабатывать на .Net.

> скорость работы numpy
Она написана не на Питоне, но для Питона, на видео сравнивается нативный для платформы код, например.

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

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

> Почему там в описании языка для кроссплатформенной среды не кроссплатформенный хеллоу ворлд?
Интересно посмотреть на некроссплатформенный хеллоуворлд на сишарпе в документации .Net. Чую, пиздишь ты и в очередной раз нихуя не понимаешь, когда смотришь в документацию Windows Forms.

> То есть кроссплатформенность .Net это просто банальный пиздёж?
Кроссплатформенность .Net -- это не про кроссплатформенность WinForms. Ты правда не понимаешь, что это не часть языка?

> так это значит я дебил
Это бы объяснило твоё поведение в этом треде. В лучшем случае эффект Даннинга-Крюгера, подпитываемый подростковыми гормонами, в сочетании с малым жизненным опытом и отсутствием конкуренции/ориентиров для развития (живешь наверняка в небольшом городке, в айти-тусовках не крутишься, но в классе на уроках информатики самый умный).

> а в мокрошлаке работают молодцы?
У них много технически толковых ребят, которых берут туда не по квотам, но манера ведения бизнеса такая себе.
Аноним 20/12/21 Пнд 13:19:52 #1044 №2242686 
>>2242621
>божественный линукс
>простыня бомбежки про еблю в линуксе
норм
Аноним 20/12/21 Пнд 13:29:46 #1045 №2242696 
>>2242644
>Она написана не на Питоне, но для Питона, на видео сравнивается нативный для платформы код, например.
А что такое "нативный для платформы" код для питона? И зачем на питоне писать платформозависимый код, когда есть кроссплатформенные библиотеки?
>> Я всё-таки не понял.
>Не удивительно. Ты сравниваешь теплое с мягким, хуй с пальцем и реальность со своими представлениями о том, какой ей следует быть. И не хочешь ничего понять, а рассуждаешь сразу с позиции интересной личности, которая уже всё понимает.
Не удивительно, потому что никто внятно не объяснил. Ты ещё скажи, что по тому же докеру есть хорошая исчерпывающая документация. Я им не пользовался ни разу, и вообще не ебу, что это, но и то наслышан. Так ты объясни, если есть, что сказать, а не умничай про интересные личности.
>> То есть докер не даёт возможности создавать окошки где хочу, а даёт возможность лишь запускать консольные приложения?
>Он был был создан только для этого, но при определённом количестве долбоёбства, свободного времени и интереса можно и графическое что-то запустить в нём.
Ну вот, всё понятно. А то без докера, конечно, консольное приложение на другой системе не запустить. Особенно, если оно написано с помощью .Net, да?
>> Почему там в описании языка для кроссплатформенной среды не кроссплатформенный хеллоу ворлд?
Интересно посмотреть на некроссплатформенный хеллоуворлд на сишарпе в документации .Net. Чую, пиздишь ты и в очередной раз нихуя не понимаешь, когда смотришь в документацию Windows Forms.
Да говорю же, статья на википедии. Да, я ничего не понимаю, но я не смотрю ни в какую документацию Windows Forms, я пытаюсь просто запустить хеллоу ворлд. А он не запускается.
Я вообще в душе не ебал, что оказывается существует какое-то понятие "Windows Forms", и по нему даже есть документация, и её даже надо читать, чтобы запустить сраный хеллоу ворлд. Мне это просто в голову как-то не пришло.
А почему в делфи, например, можно просто создать пустой проект, просто запустить и там уже искаропки будет окно? Почему там даже задумываться не надо о том, как поместить на это окно кнопку?
Кто-то скажет "формошлёпство", я скажу - так и должен выглядеть нормальный удобный инструмент, сделанный адекватными людьми для адекватных людей, которые документацию примутся читать лишь тогда, когда задумают сделать что-то посложнее размещения сраной кнопки или присвоения значения переменной, а всё остальное рассчитывают сделать просто потому что среда разработки продуманная и удобная, и позволяет это делать не напрягаясь.
Что, это теперь неправильным считается? Я что-то пропустил?
Почему можно в питоне просто сделать ctrl-c/ctrl-v, Enter, и получить и окна, и кнопки, и чёрта лысого?
Почему прямо здесь в браузере можно нажать F12, сделать ctrl-v, Enter и получить целое дерево DOM с окнами, кнопками, стилями и всей хуйнёй, на любой системе, а в кросплатформенном .Net нельзя?
>> То есть кроссплатформенность .Net это просто банальный пиздёж?
>Кроссплатформенность .Net -- это не про кроссплатформенность WinForms. Ты правда не понимаешь, что это не часть языка?
А, то есть мы дадим вам кросплатформенную среду, но кроссплатформенных библиотек для неё всё равно нет, поэтому пишите код только для одной платформы. Охуенно, чё.
Не, я понимаю, что VCL это не Делфи, и что для линукса есть кайликс, понятно, что Gtk и Qt это не питон и не плюсы, и я даже предполагаю, что запустить Gtk приложение на венде будет тот ещё квест. Я даже к этому готов, устанавливая мокрошлаковый .Net на линуксе. Я скачал этот ебучий sdk на сто мегабайт, в надежде, что по крайней мере хеллоуворлд я смогу запустить. Хрен там был.
>> так это значит я дебил
>Это бы объяснило твоё поведение в этом треде. В лучшем случае эффект Даннинга-Крюгера, подпитываемый подростковыми гормонами, в сочетании с малым жизненным опытом и отсутствием конкуренции/ориентиров для развития (живешь наверняка в небольшом городке, в айти-тусовках не крутишься, но в классе на уроках информатики самый умный).
Попридержи маняпроекции, маня. Да, я не кручусь в айти-тусовках, и что? Что ты обо мне знаешь, чтобы кукарекать про мой жизненный опыт? Жизненный опыт тут вообще при чём? Какое он имеет отношение к вашему мокрошлаку? Совсем уже за клавиатурой мозги все просидел?
Аноним 20/12/21 Пнд 13:34:41 #1046 №2242710 
>>2242686
Так ебля не с линуксом, мань, а с .Net, в документации которого распаковывание сраного архива в домашнюю папку делается мегабайтным скриптом и почему-то называется установкой. И в котором хеллоу ворлд оказывается на самом деле нихуя не кроссплатформенным "потому что это не кросплатформенная среда, а библиотека для неё, так что это другое, понимать надо!"
При чём тут линукс? Вы продаёте кросплатформенное говно, точнее, говно для кросплатформенной разработки, но потом, когда потенциальный покупатель спустя двадцать лет решает вам дать шанс и посмотреть, что вы там за эти двадцать лет наработали, оказывается, что кросплатформенная только консолька, да и та только с докером, а всё остальное искаропки работает только под выблёвсом?
И эти люди рассуждают про пердолинг в линуксе, что якобы это в линуксе приходится пердолиться в командной строке, а не в продуктах мокрошлака? Серьёзно блядь?
Аноним 20/12/21 Пнд 13:43:05 #1047 №2242727 
Столкнулся с одной проблемой. Есть у меня 4 класса, часть полей в этих классах уникальны, а часть пересекаются с другими. Мне нужно поместить в один класс все поля, которые есть в этих 4 классах. Эти 4 класса находятся на одном уровне иерархии, то есть, наследовать один от другого я не могу. Множественного наследования в шарпе нет, а делать эти 4 класса интерфейсами я не могу, потому что в программа создаются листы объектов этих классов. Какие у меня есть варианты?
Аноним 20/12/21 Пнд 13:48:41 #1048 №2242737 
>>2242710
>Так ебля не с линуксом, мань, а с .Net
Так похуй же. Как только нужно что-то кроме голого линукса начинается пляска с бубном.
> называется установкой
Я тебе додику уже написал как поставить дотнет на последнюю убунту, но ты выбрал ебанутый способ и жалуешься на его ебанутость.
>понимать надо!
Так случаеться, когда занимаешься чем-то сложнее пускания шептунов.
>Вы продаёте кросплатформенное говно
Вот с чеком к тому кто продал и иди.
>кросплатформенная только консолька, да и та только с докером, а всё остальное искаропки работает только под выблёвсом?
Ты снова бредишь. Да и докер это если что линуксовая штука, версия для винды чисто для галочки.
> про пердолинг в линуксе,
А то. Под виндой у тебя таких проблем не было бы.
Аноним 20/12/21 Пнд 13:52:31 #1049 №2242745 
>>2242526
>На бубунту 21.10 ставишь Net6? Сам вчера ставил, там же написано, в репо для 21,10 еще не завезли и надо выбрать для 21,08. И внизу комманды для сего действия.
Не, у меня lts, 20.04, она официально поддерживается и всё для неё есть.
>Установи винду, там таких плясок нет. Тем более раз ты не дружишь с мануалами и терминалом.
Да ну на хуй, говорю же, у меня столько денег нет на успокоительные. Не смогу я работать с вендой на своей домашней машине.
И с терминалом-то как раз я дружу. Равно как и с нормальными мануалами. Но, что, что выкладывает на своих говносайтах мокрошлак - это не мануалы, это пиздец. Сука, вместо того, чтобы просто написать "распакуйте куда угодно и пропишите в PATH" они создали мегабайтный скрипт, который "устанавливает", блядь. Устанавливает!
При этом ещё как устанавливает! Сначала он делает стопицот запросов на разные сайты мокрошлака! Потом в каждой, сука блядь, в каждой процедуре он перехватывает echo! Вместо сраных банальных true, false, return $exitcode и так далее, там возврат результатов в виде echo и, одновременно, return $exitcode, и потом всё это через пайплайны обратно собирается, перенаправляется из одной консоли в другую, а затем в переменные и анализируется. Там стопицот процедур! Вечнопустые переменные, которые зачем-то добавляются к дргим, не пустым, просто потому что им нравится складывать пустые строки с другими строками, наверно.
Это блядь просто скрипт, который просто распаковывает блядь сраный архив! То, что делается в любом файловом менеджере просто из меню командой "распаковать сюда", или простейшей командой gunzip kokoko.gz в консоли. У мокрошлака это делает мегабайтный, сука, скрипт! С мегабайтным же хелпом по этому скрипту! Ссылку я уже приводил.
И ты мне предлагаешь это читать? Изучать ЭТУ документацию?
Да это не документация. Это не продукт блядь вообще. Это говно! Говно, которое вообще нихуя не делает! Вообще нихуя не создаёт (кроме проблем). Какая блядь может быть документация по говну? Это издевательство! Ты понимаешь, нет? Они издеваются над нами! Они считают меня и тебя дебилами. Они для нас, как для дебилов, пишут мегабайтные скрипты, которые "помогут" нам распаковать их архив с их говном. Разумеется, только после прочтения соответствующей документации.
Это даже уже не смешно.
Аноним 20/12/21 Пнд 13:53:43 #1050 №2242746 
>>2242727
> 4 класса находятся на одном уровне иерархии
Т.е. все 4 наследуются от некоторого Foo? Ну так унаследуй от Bar:Foo, Bar имеет общие поля и от него наследуются твои 4 класса.
> делать эти 4 класса интерфейсами я не могу
А? Сделай интерфейс с общими полями, а твои 4 класса пусть реализуют его. Ты также сможешь создавать свои классы и складывать их всех в List<Interface>
Аноним 20/12/21 Пнд 14:01:57 #1051 №2242753 
>>2242745
>Не, у меня lts, 20.04, она официально поддерживается и всё для неё есть.
Net6 не поддерживается. А более ранние заводятся с полпинка. Похоже ты просто линуксом пользоваться не умеешь.
>столько денег нет на успокоительные
Но жопа-то горит при установленном линуксе!
> мегабайтный скрипт
Обыденность линуксоида.
>делается в любом файловом менеджере
Ну так и распаковал бы.
>БАБАХ
Тем временем видузятники наслаждаются работой из коробки и радостно деплоят свои проекты под любую ОС.
Аноним 20/12/21 Пнд 14:03:15 #1052 №2242755 
>>2242746
>Т.е. все 4 наследуются от некоторого Foo?
Нет, я имел ввиду, что они не наследуются не от кого
>А? Сделай интерфейс с общими полями, а твои 4 класса пусть реализуют его. Ты также сможешь создавать свои классы и складывать их всех в List<Interface>
А как это решает мою проблему с тем, что мне нужно в каком-то одном классе иметь все поля других классов, как общие, так и уникальные?
Аноним 20/12/21 Пнд 14:05:10 #1053 №2242758 
>>2242753
>Net6 не поддерживается
Вру. на лтс поддерживается. Ну скриптом внизу страницы должно ставиться. Ну если ты не дебил и верно заменил плейсхолдеры
Аноним 20/12/21 Пнд 14:10:05 #1054 №2242765 
>>2242755
>в каком-то одном классе иметь все поля других классов, как общие, так и уникальные?
Звучит какбуд-то кто-то упоросля. Как это использоваться будет? Могу фасад предложить.
Аноним 20/12/21 Пнд 14:10:54 #1055 №2242768 
>>2242737
>>Так ебля не с линуксом, мань, а с .Net
>Так похуй же. Как только нужно что-то кроме голого линукса начинается пляска с бубном.
Что такое голый линукс? В линуксе просто дохера софта, в том числе и кросплатформенного. Всё ставится одной командой или в пару кликов мышки из синаптика. Про какие пляски с бубном ты говоришь? Распаковать файл? Это пляска с бубном?
"gunzip kokoko.gz" - это пляска с бубном? Это пляска с бубном только потому что в мокрошлаке работают конченные дебилы, которые издеваются над лохами, которые ведутся на говно, впариваемое их менеджерами по продажам!
Только не работает оно не из-за линукса, а потому что оказывается, блядь, .Net предназначен делать консольные приложения, которые кроссплатформенно работают только через докер.
Что в линуксе не работает, кроме "кроссплатформенного" .Net? Покажи хоть один язык программирования, который тут, в линуксе, не завести прямо из репозитория? Хоть один! Нет такого! Только сишарп! И микрософт бейсик может быть ещё.
>> называется установкой
>Я тебе додику уже написал как поставить дотнет на последнюю убунту, но ты выбрал ебанутый способ и жалуешься на его ебанутость.
Чиво блядь? Сам ты додик, я уже ответил, что всё в порядке у меня с версией убунты, и дело вообще не в ней. Ты этого не понял?
>>понимать надо!
>Так случаеться, когда занимаешься чем-то сложнее пускания шептунов.
Ага. Особенно, с помощью продукции мокрошлака.
>>Вы продаёте кросплатформенное говно
>Вот с чеком к тому кто продал и иди.
Я чё, мазохист, что ли, за это ещё и деньги платить? Ты чё, ебанутый?
>>кросплатформенная только консолька, да и та только с докером, а всё остальное искаропки работает только под выблёвсом?
>Ты снова бредишь. Да и докер это если что линуксовая штука, версия для винды чисто для галочки.
В смысле линуксовая штука? Мне про неё в этом треде пишут, как про средство запустить формочку с .Net, вон, выше почитай. Это я брежу? Где? Что это за "это ваш линуксовый докер, а то, что наш кросплатформенный мокрошлак запускается только в конскольке и только с докером ещё не делает его некросплатформенным"?
Что это за бред?
>> про пердолинг в линуксе,
>А то. Под виндой у тебя таких проблем не было бы.
Конечно не было бы. Под виндой я бы застрелился уже давно. Невозможно же так жить: https://www.youtube.com/watch?v=AtaeWm8Am6Y
Аноним 20/12/21 Пнд 14:15:36 #1056 №2242780 
>>2242755
>А как это решает мою проблему с тем, что мне нужно в каком-то одном классе иметь все поля других классов, как общие, так и уникальные?
А тебе точно нужно именно этого? Мне кажется, ты "хочешь странного".
Ты хочешь франкенштейна создать?
Человеческую многоножку?
У тебя есть несколько классов, каждый по-своему реализует как общий, так и не общий функционал. Ты хочешь, чтобы оно теперь всё магическим образом объединилось в одно? Ну там, из трёх трупов с двумя почками в каждом создать одного франкенштейна с шестью почками? Или всё-таки с двумя? Как это должно работать?
Конкретно пример расписывай, с указанием что и почему ты не можешь переделать - может и подскажут, а так хз, звучит непонятно.
Аноним 20/12/21 Пнд 14:15:57 #1057 №2242781 
>>2242768
>.Net предназначен делать консольные приложения, которые кроссплатформенно работают только через докер.
Тебе и на таблетки от шизофрении денег не хватило.
>пук среньк
Честно сказать утомил уже и читать в десятый раз один и тот же бред не буду. Ну не зашел тебе дотнет, ну так на нем свет клином не сошелся. Тем более, что если решишь им зарабатывать, то придется сесть на винду, а это для тебя не приемлемо.
Аноним 20/12/21 Пнд 14:18:40 #1058 №2242789 
>>2242765
>Как это использоваться будет?
Есть динамический лист, в котором лежат объекты этих 4 типов, из него делается select через dynamic linq, там select передаётся строкой с полями. Если в каком-то типе есть все поля, перечисленные в строке, то всё норм, если у типа нет какого-то поля из строки, то вполне логично всё падает
Аноним 20/12/21 Пнд 14:19:49 #1059 №2242790 
>>2242780
>>2242789
Аноним 20/12/21 Пнд 14:25:22 #1060 №2242799 
>>2242789
>Есть динамический лист, в котором лежат объекты этих 4 типов
Как ты дошел до такой жизни?
>dynamic linq
Если ты про либу System.Linq.Dynamic, то ничем не помогу, не разу не юзал.
Аноним 20/12/21 Пнд 14:45:04 #1061 №2242828 
>>2242799
>Как ты дошел до такой жизни?
Нужно запихнуть в ListView таблицу из объектов этих классов
Аноним 20/12/21 Пнд 14:49:59 #1062 №2242838 
изображение.png
>>2242753
>>Не, у меня lts, 20.04, она официально поддерживается и всё для неё есть.
>Net6 не поддерживается. А более ранние заводятся с полпинка. Похоже ты просто линуксом пользоваться не умеешь.
Что не завезли, мань? О чём ты вообще?

$ dotnet --list-sdks
6.0.101 [/home/anton/.dotnet/sdk]
$ dotnet --list-runtimes
Microsoft.AspNetCore.App 6.0.1 [/home/anton/.dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.1 [/home/anton/.dotnet/shared/Microsoft.NETCore.App]

Можешь пояснить, ты про что вообще?

>>столько денег нет на успокоительные
>Но жопа-то горит при установленном линуксе!
Потому что я впервые за десять лет попробовал накатить говно от мокрошлака.
>> мегабайтный скрипт
>Обыденность линуксоида.
Ты дебил? Говорю же, этот скрипт высрал на своём говносайте мокрошлак. И во всём линуксе ты не найдёшь ни одного настолько огромного, кривого, тупого, избыточного и бесполезного скрипта! Это не скрипт линукса, это скрипт именно мокрошлака для "установки" их мокросреды!
Которая в реальности делается вот так:
gunzip koko.gz
И всё!!! Ты тупой и этого не понимаешь? Троллишь меня тупостью? Зачем? У меня и так пылает пердак от того, что я повёлся на идиотство от мокрошлака, я и так уже чувствую себя идиотом, что пытался по их инструкции "установить" сраный блядь архив с файлами, рассчитывая, что ну блядь ну хотя бы инструкцию хотя бы для самого вката они могли бы написать нормально блядь! Но нет! Они усложнили примитивнейшие действия до предела, насколько это блядь вообще в принципе возможно!

Сравните простое "gunzip koko.gz" и вот это блядь всё:

Инструкция к запуску скрипта, который делает "gunzip koko.gz", но только в стиле мокрошлака:

https://docs.microsoft.com/ru-ru/dotnet/core/tools/dotnet-install-script?WT.mc_id=dotnet-35129-website

Сам скрипт, который делает "gunzip koko.gz", но только в стиле мокрошлака:

https://dot.net/v1/dotnet-install.sh

Нет, ты, блядь, открой и посмотри, обе эти ссылки, прочитай там, блядь, всё, и потом скажи мне, что это проще, чем пикрил в линуксе?
Это я ещё не начал знакомиться со средой, ещё не запустил сраный хеллоуворлд. А уже должен был перелопатить кучу говномануалов к кускам говна и разобраться в том, что все эти куски говна просто бесполезные куски говна и на самом деле надо было просто нажать два раза мышкой сука блядь!
Вот что такое мокрошлак, я тебе тупорылому дауну пытаюсь объяснить, а ты мне кукарекаешь, что в мою убунту чего-то не завезли и поэтому якобы пришло время переустанавливать шиндовс убунту блядь! Но ты серишь в лужу! Проблема не в этом! Ты понимаешь, блядь? У меня вообще складывается впечатление, что этим пользуются только дебилы, такие, как ты, да я. Я дебил потому что решил дать шанс мокрошлаку - и зря!!! А ты дебил потому что ты жрёшь говно ложками и довольно урчишь, причмокиваешь, и ещё считаешь себя умнее других, так как урвал себе самую большую ложку. И поэтому когда я спрашиваю совета о том, как сделать хеллоуворлд на сишарпе, я только и получаю, что советы от дебилов переустановить СВЕЖАЙШУЮ lts убунту на более новую с менее скучными обоями, потому что туда якобы что-то "завезли". Нихуя туда не завезли, в том-то и дело, блядь! Просто, блядь, скачиваешь сраный архив и просто, блядь, распаковываешь его, вот и вся "установка" среды! Только она нихуя искаропки не делает. В ней по умолчанию хз что надо использовать, чтобы оно под линухом могло сделать сраное окошко. Потому дебилы и советуют в итоге всё-таки для верности накатить сраную венду, для того чтобы под ней запустить "кросплатформенный" .Net! Охуеть!
>>делается в любом файловом менеджере
>Ну так и распаковал бы.
Так я и распаковал, когда разобрался, что делает этот скрипт, и что вообще эти ДЕБИЛЫ подразумевают под "установкой" сраного архива, блядь!
>>БАБАХ
>Тем временем видузятники наслаждаются работой из коробки и радостно деплоят свои проекты под любую ОС.
Обосрался. Наслаждаются! Ну мне-то уж не лечи! Наслаждаются они! Под вендой! С рекламой в главном меню! С баннерами! С внезапными неотключаемыми обновлениями! С активациями! С вводом километровых кодов активации! С русификатором, который из-за диких тормозов переключает раскладку только спустя пару слов после того, как она должна была переключиться! С автозапусками вирусов с флешек! С навязыванием иксплореров и эджей! С кривым говноофисом, не спообным нормально открыть сраный open document text! С усложнением до предела всего, что только возможно! Наслаждение! Райское, блядь, наслаждение!
Ты это серьёзно, блядь, программисты наслаждаются вендой? Ты их с домохозяйками не попутал? Это им как раз хорошо заходят мегабайтные скрипты, делающие "gunzip koko.gz". А нормальный же человек никогда не позволит ссать ему в лицо, и не будет просить нассать ещё и ещё.
Аноним 20/12/21 Пнд 14:59:30 #1063 №2242851 
>>2242758
>Ну скриптом внизу страницы должно ставиться. Ну если ты не дебил и верно заменил плейсхолдеры
Бля, прочти уже наконец мой пост! И постарайся при этом хотя бы на 90 процентов задействовать свой мозг, а не жопу!
Сука, ну почему ты такой тупой?
Это и есть типичный пользователь .Net?
Специально для тебя повторяю ссылку на очередной пост, прочитай его, сука тупорылая блядь!
Прочитай: >>2242838
Сука. Вы посмотрите, эта сука после всего этого советует мне, МНЕЕЕЕЕЕЕЕЕЕЕ!!!! ИСПОЛЬЗОВАТЬ СКРИПТ СУКА ВНИЗУ СТРАНИЦЫ, КОТОРЫМ ЧТО-ТО ТАМ ДОЛЖНО СТАВИТЬСЯ!!!!
Когда я ему, дебилу, уже второй день пишу, что не ставится, А РАСПАКОВЫВАЕТСЯ одним кликом ёбаной мыши! Ещё и пишет плейсхолдеры какие-то заменять, блядь, что он вообще, сука, несёт?
Сука, он же дебил!
У него же интеллект хлебушка!
Вот очевидно такие как раз такие довольно урчат под вендой.
Сука, я не могу! Ну посмотрите, ну люди, ну вы чё, ну вы же дебилы!
Файл!!!! Архив!!!! Распаковывать!!! Не надо мегабайтным скриптом!!!! И плейсхолдерами!!!! Его!!!! Надо!!!! Просто!!!! Распаковать!!!!! Проблема не в этом!!!! ДЕБИЛ БЛЯДЬ!!!!
Аноним 20/12/21 Пнд 15:13:14 #1064 №2242863 
>>2242851
>>2242838
Ты мне скажи вот что. Почему у меня на убунте все установилось через апт, а ты качаешь архивы и ебешь их скриптами?
Аноним 20/12/21 Пнд 15:14:04 #1065 №2242865 
>>2242781
>>.Net предназначен делать консольные приложения, которые кроссплатформенно работают только через докер.
>Тебе и на таблетки от шизофрении денег не хватило.
Я не знаю, это же не я сам себе советовал докер в качестве костыля для кросплатформенности, а вы советовали мне прямо в этом треде. Ну почитай тред, если не понимаешь, про что вообще речь. Я вообще не ебу, что это за докер и зачем он нужен. Ты же нихуя не объяснил.
>>пук среньк
>Честно сказать утомил уже и читать в десятый раз один и тот же бред не буду.
Ну так может тебе просто нечего сказать?
>Ну не зашел тебе дотнет, ну так на нем свет клином не сошелся. Тем более, что если решишь им зарабатывать, то придется сесть на винду, а это для тебя не приемлемо.
Ну вот так и надо сказать, что "кросплатформенный" .Net может использоваться только под вендой, и всё. Тот же eclipse, например, насколько мне известно, работает и в линуксе, и под вендой без проблем. Да даже vs code работает в линуксе. Но почему-то всё равно для зарабатывания денег под "кросплатформенным" дотнетом надо ещё и выблёвс себе поставить. И никто не может толком объяснить, почему и в чём тогда его смысл. В том, чтобы на операционке для домохозяек писать бэкенд для серверов, работающих под линуксом в консольке? Только для этого? А что мне мешает просто блядь писать прямо с машины под линуксом код для сервера, работающего на той же машине под тем же линуксом? В чём смысл этого вашего дотнета вообще?
Мне просто любопытно, что это за говно. Я уже двадцать лет слушаю про охуенный-разохуенный дотнет, и вот решил наконец потыкать в него палкой, и я нихуя не понимаю вообще. Ну вы же понимаете, что у всего должен быть какой-то смысл? Ничто не используется вот вообще просто так, ни с хуя, ни для чего? Молоток забивает гвозди. Топор рубит. Самотык удовлетворяет похоть отдельных озабоченных лиц. А что делает .Net? Объясните простыми словами, зачем он нужен вообще? Что в нём кросплатформенного и для чего это реально используется? Что, ни для чего? Просто для того чтобы мокрошлаг мог и дальше впаривать лохам своё говно, так как без этого дотнета нихуя из написанного "кросплатформенного" софта нигде не заработает? Кроме как в консольке с помощью докера?
Ну объясните, я же не прошу вас взять меня на работу, я не прикидываюсь знатоком, я вам честно пишу, я в душе не ебу, что за платформа. Я просто хочу понять нахуя она вообще нужна?
Аноним 20/12/21 Пнд 15:25:25 #1066 №2242871 
>>2242865
>докер в качестве костыля для кросплатформенности, а вы советовали мне прямо в этом треде.
Ты это себе придумал сам. Тебе докер советовали, чтоб ты не ебался с настройкой окружения, раз ты не можешь установить пакет. Докер это линуксовая приблуда.
>"кросплатформенный" .Net может использоваться только под вендой, и всё
Зачем кому-то писать такую ересь? дотнет прекрасно работает и на винде и на линуксе и на макосе, на адроиде и айосе и даже под васм.
>словесный понос
без комментариев
Аноним 20/12/21 Пнд 15:31:53 #1067 №2242876 
image.png
>>2242696
> А что такое "нативный для платформы" код для питона?
Это код на питоне, а не дёрганье сишных либ.

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

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

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

> А почему в делфи, например, можно просто создать пустой проект, просто запустить и там уже искаропки будет окно? Почему там даже задумываться не надо о том, как поместить на это окно кнопку?
Потому же, почему он в итоге и умер. Но для дельфивозни мышкой бери бесплатную студию и используй Windows, обсуждать это тоже не вижу смысла. Есть ещё MonoDevelop, но я не знаю, в какой степени его можно считать живым.

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

> Почему можно в питоне просто сделать ctrl-c/ctrl-v, Enter, и получить и окна, и кнопки, и чёрта лысого?
Во-первых, хочу тебе сказать, что ты за каким-то хуем пришёл в тред, где практически все зарабатывают на жизнь разработкой бэкендов и вообще понятия не имеют, что там на десктопе. Потому что в коммерческом плане десктоп скорее мертв, чем жив. Последний раз я разрабатывал десктопное приложение, если мою поделку так можно назвать, в 2011 году с использованием Borland Delphi 7. Но даже я знаю, что для шарпа Майкрософт выкатили WPF, который тоже уже вроде как не жилец, но идея кому-то понравилась и был создан AvaloniaUI, который кроссплатформенный и который позволяет тебе хоть в дизайнере мышкой интерфейсы накидывать, хоть в XAML их описывать. Получается, что всё можно, одному тебе нельзя почему-то. Потому что в википедии не было HelloWorld для Авалонии?

> Почему прямо здесь в браузере можно нажать F12, сделать ctrl-v, Enter и получить целое дерево DOM с окнами, кнопками, стилями и всей хуйнёй, на любой системе, а в кросплатформенном .Net нельзя?
Позволю себе проигнорировать эту шизу.

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

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

>>2242710
> в документации которого распаковывание сраного архива в домашнюю папку делается мегабайтным скриптом и почему-то называется установкой
Ты плохо понимаешь, зачем вообще этот скрипт установки есть. Майки собирают deb и snap, в AUR волонтеры поддерживают все пакеты тоже, для остальных есть Docker-образы. Есть подозрения, что линуксом ты пользоваться тоже не сильно умеешь, раз вообще этот скрипт запускал зачем-то.

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

Я тебе отвечать больше не буду, остальных анонов тоже призываю не провоцировать тебя на дальнейшее засирание треда тупостью и шизой.
Аноним 20/12/21 Пнд 15:37:25 #1068 №2242882 
>>2242789
Опять ты вышел на связь, наркоман. Твоя задача пошла по пизде в тот момент, когда ты использовал dynamic. Перепиши нормально, прекрати хуйней заниматься.

>>2242828
А ты не думал, например, что можно эти кривые объекты смаппить в какой-то нормальный и понятный вид и уже в таком виде скармливать данные ListView?
Аноним 20/12/21 Пнд 15:42:20 #1069 №2242884 
>>2242789
>Есть динамический лист, в котором лежат объекты этих 4 типов, из него делается select через dynamic linq
Подожди, это типа база данных в которой в одной таблице лежат объекты четырёх разных типов? Это очень интересно, ну-ну, и что, непонятно, как дальше развить эту мысль? Предлагаю вообще все объекты всегда пихать строго в одну таблицу. Так ведь удобнее. Не надо будет ничего искать, думать, где у тебя что лежит. Понадобилось что-то - раз, запросил и готово. И вот он, объект. Ну и другие объекты всех остальных типов тоже. Останется их только как-то объединить в один объект, чтобы у одного единого объекта были свойства вообще всех объектов из этой таблицы, вот только действительно непонятно, как это сделать. Но ты что-нибудь обязательно придумаешь. Держи в курсе!
>>2242828
А, ну это же полностью меняет дело. Ведь если отображать объекты разных типов надо в одной таблице, то и храниться они должны тоже строго в одной таблице. Нельзя же приделать к ним какие-то адаптеры, которые брали бы объекты разных типов и отображали бы их.

А если серьёзно, не силён я в архитектуре, но мне кажется, что отображение это в твоём случае как раз нарушение принципа под буквой S в аббревиатуре SOLID. Объект не должен заниматься своим отображением. Значит этим должен заниматься кто-то другой. Объект должен данные хранить, ну, может, их обрабатывать как-то в себе. Но не заниматься твоими листвью. Объекты этих 4 типов - это объекты 4 типов. А объект в листвью - это пятый тип. Возможно, он же будет и типом в динамическом листе. А может это уже будет шестой тип. Не знаю.
Короче, судя по вот этому - >>2242789>>2242828 - тебе нужна какая-то прокладка, которая просто проверяет наличие полей, и если поля нет, то возвращает "<не определено>", пустую строку или что-то подобное? Эта же прокладка кроме получения текстовых значений полей ничего не должна уметь? Какой ей ещё нужен функционал? Я имею в виду, из функционала самих объектов, которые будут доступны через эту прокладку, она же не должна больше ничего уметь. А сам объект про твой list view знать не должен, равно как и знать, что ты там хочешь отобразить, когда каких-то из запрошенных полей у одной из записей нет. Откуда это вообще объекту знать?
Ну ты, например, сложил в один мешок лошадей с собаками и помидорами. И выдаёшь отчёт о содержимом мешка. Откуда помидору знать, что он должен ответить на вопрос "какая у тебя подкова?"
Я вообще правильно понял твою задачу?
Аноним 20/12/21 Пнд 16:20:58 #1070 №2242917 
>>2242882
>>2242884
Ещё раз, у меня есть вот такой запрос
TableToAdd = test.AsQueryable()
.Select("new {" + SelectionString + "}")
.ToDynamicList();
SelectionString - это строка с полями, ToDynamicList() обязателен, иначе dynamic linq не работает, test - это тот самый лист с объектами. Получившийся результат привязывается к ListView. И нет, он нихуя не знает о том, что там к нему привязано, вы рофлите что ли? Проблема не в ListView, а в том, что select падает, если у типа нет полей из строки. К тому же, когда я слепляю объекты разных типов, я их сортирую по одному общему полю, кроме как через dynamic это сделать я способа не вижу, поэтому ваши доёбы до него я не совсем понял
Аноним 20/12/21 Пнд 16:22:08 #1071 №2242922 
>>2242727
Почитал что ты там дальше пишешь.
В общем. Вот тебе решение:
public class DataGridRowItem : IDataGridRowItem // IDataGridRowItem - пустой интерфейс, чтобы тебе ругались, в случае если ты пытаешься биндить к датагриду не что-то, имплементрующее этот интерфейс
{
// тут все свойства которые вообще могут быть у твоих сущностей которые ты в таблицу собрался пихать. Ни от кого не наследуемся
}

Все свои сущности - мапишь к этому виду. Можешь просто линку, можешь - сделать интерфейс:
interface IDataGridMapper<TEntityIn, TEntityOut>
{
public TEntityOut Map(TEntityIn entity);
}

Затем заменяешь свою дрисню с динамикой на List<DataGridRowItem>; и наполняешь его тем что сампил.

Аноним 20/12/21 Пнд 16:28:53 #1072 №2242926 
изображение.png
>>2242863
Понятия не имею! На сайте мокрошлака сказано, что всё ставится такими-то командами именно для этой конкретной версии. Но эти команды нихуя не работают. Это же мокрошлак. Почему они не сделали нормальный пакет? А я ебу?
Где он, куда делся? А я ебу?
Почему они написали, что он есть? А я ебу?
Почему нигде не сказано как "установить" архив, а везде только какие-то команды apt, какие-то мегабайтные скрипты и километровые инструкции по опцияям этих мегабайтных скриптов? Да потому что это мокрософт. Потому что всё у них всегда через жопу, и только так. Исключений не бывает. Каждая версия их говна приносила кучу проблем (и дыр, и вирусов). И каждая попытка установить их ебучий софт - это ёбаный квест с пердолингом реестров, консолек и тому подобного. И потом они ещё что-то смеют кукарекать про линукс. Это не в линуксе надо мегабайтные скрипты использовать для распаковки сраного архива, это мокрошлак делает мегабайтные скрипты и навязывает их запуск пользователям для создания иллюзии многозначительности их софта и сложности работы в линуксе. Потому что рассчитывают, что пользователи у них - дебилы, которые даже не поймут, что они только что лишь запустили сраный анзип.
А потом я от этих дебилов слушаю, что линукс это сложно. Нет, это не линукс - сложно, всё с точностью до наоборот!!! Мокрошлак это мегабайтный скрипт, а линукс это просто клик, запечатлённый на картинке! Которую я ещё раз повторю. Пикрил! Вот как НА САМОМ ДЕЛЕ выглядит линукс. И вот как выглядит пердолинг с мокрошлаковским калом:
https://docs.microsoft.com/ru-ru/dotnet/core/tools/dotnet-install-script?WT.mc_id=dotnet-35129-website
https://dot.net/v1/dotnet-install.sh

Почему? Вы меня спрашиваете "почему"? У меня тот же самый вопрос. Нет, не почему, а КАКОГО ХУЯ?!!
Аноним 20/12/21 Пнд 16:33:03 #1073 №2242930 
>>2242922
То есть, ты предлагаешь хранить в каком-то одном классе все возможные поля для этих 4 классов?
Аноним 20/12/21 Пнд 16:43:38 #1074 №2242939 
изображение.png
>>2242871
>раз ты не можешь установить пакет
Так ведь нет пакета. Есть только архив. И при чём тут докер?
>Зачем кому-то писать такую ересь? дотнет прекрасно работает и на винде и на линуксе и на макосе, на адроиде и айосе и даже под васм.
Ну напиши мне хеллоуворлд с окошком и кнопкой, чтобы я его запустил на своём кудахтере. У меня самый обычный линукс. У меня работают приложения qt, gtk, gnome, kde, lxde, xfce, всё вместе и по отдельности, всё отлично взаимодействует, могу даже выблёвсные приложения нативно запустить, правда вот они как раз будут работать через жопу, так как требуют неограниченных прав, которых им тут никто не даст.
Ну напиши мне кроссплатформенный хеллоуворлд с окошком. Лень писать - скачай. Ссылку дай. Нет? Ну и не пиши мне тогда про словесный понос.
>>2242876
>> на питоне писать платформозависимый код
>Я этого не говорил. Я под платформой имел в виду ЯП со стандартной библиотекой, грубо говоря, чтобы можно было прямое сравнение с платформой .Net Core провести
А что такого нестандартного в numpy? У меня он установлен искаропки. Как и matplotlib.
Я же тебя не прошу не пользоваться библиотеками на шарпе, пользуйся, только покажи результат.
>> я пытаюсь просто запустить хеллоу ворлд
>Обрати внимание, что в википедии сначала идёт кроссплатформенный хеллоуворлд для терминала, а потом уже отдельно идёт для WinForms, так как это популярный фреймворк, но он отнюдь не дефолтный. Собрал первый, запустил. Собрал второй, не получилось, погуглил почему, понял, поумнел на одну частичку информации. Как-то так это делал я в твоём возрасте.
Ты что, пенсионер? С чего ты уверен, что ты до моего возраста хотя бы доживёшь, а не то что будешь в нём делать что-то конкретное?
Так посмотри внимательно на твой скриншот. Там вовсе не написано, что консольное приложение кроссплатформенное, а второе не кроссплатформенное. И не указано, что оно будет работать только под мастдаем. А того примера, что работает не под мастдаем - нет. Где он, блядь? Это кроссплатформенная среда или нет?
>Есть ещё MonoDevelop, но я не знаю, в какой степени его можно считать живым.
О, вот это полезное замечание. В 2018 году оно ещё дышало, надо посмотреть.
>> я скажу - так и должен выглядеть нормальный удобный инструмент
>Мощная позиция для безработного хиккана. Повторюсь, бери студию, в ней есть дизайнер и она бесплатная для твоих целей.
Ты так пишешь "безработный хиккан", как будто быть обеспеченным господином это что-то плохое, и прислушиваться стоит только к мнению рабов, озабоченных погоней за очередной плошкой риса, которой их наградит в конце дня их надсмотрщик.
Аноним 20/12/21 Пнд 16:46:46 #1075 №2242940 
>>2242926
У них вполне понятный скрипт установки. Ещё и с комментариями. Не считая кучи опций и документацию, по большей части там определение ОС, архитектуры и версии libc, плюс скачивание curl и wget, если они не установлены в системе (а когда собираешь с нуля контейнер для докера, их действительно может не быть этот скрипт для таких сценариев и нужен, это стандартная практика).

>>2242745
> Вместо сраных банальных true, false, return $exitcode и так далее, там возврат результатов в виде echo и, одновременно, return $exitcode
Собственно, это сделано потому, что из процедуры можно только число вернуть в баше, а когда хочешь вернуть строку, то пользуешься привычно тем паттерном, который тебя возмутил и испугал. Это тоже стандартно. Не понятно, о каких линуксах ты говоришь, если ты ими пользоваться толком не умеешь. Тебе, обезьяне, максимум продвинутым пользователем майнкрафта стать можно.

Пей таблетки. На всякий случай зарепортил тебя.
Аноним 20/12/21 Пнд 17:02:18 #1076 №2242954 
>>2242930
Те что нужны для твоего вывода в датагрид.
Аноним 20/12/21 Пнд 17:04:21 #1077 №2242958 
>>2242954
Не очень динамично выходит, конечно. Но может придётся и так. Спасибо.
Аноним 20/12/21 Пнд 17:08:31 #1078 №2242959 
>>2242958
Оно и не должно быть динамично. В реальном мире всё делается так, как тебе предложили сделать.
Аноним 20/12/21 Пнд 17:11:37 #1079 №2242960 
Можно ли на шарпе писать такие же большие проекты как на джаве? Или некоторая свобода в написании кода, не позволяет выдерживать такие объемы и проекты начинают сыпаться из-за обилия ошибок?

Ещё слышал, что на западе шарп воспринимают как аналого визуал бейсика или делфи. А к программистам шарпа относятся как к тем, кто не смог осилить джаву.
Аноним 20/12/21 Пнд 17:24:25 #1080 №2242968 
>>2242960
> Можно ли на шарпе писать такие же большие проекты как на джаве?
> Или некоторая свобода в написании кода, не позволяет выдерживать такие объемы и проекты начинают сыпаться из-за обилия ошибок?
Это глупые вопросы. Шарп точно не может помешать написать хорошее приложение, ровно как и любой другой из общепринятых языков. Качество конечного продукта будет зависеть от менеджмента и исполнителей.

> Ещё слышал, что на западе шарп воспринимают как аналого визуал бейсика или делфи.
Какая-то сильно устаревшая байка из 2003.
Аноним 20/12/21 Пнд 17:26:47 #1081 №2242973 
>>2242960
> Можно ли на шарпе писать такие же большие проекты как на джаве?
Я не разрешаю. Но есть те кто кладут на это хуй и таки пишут. Т.е. сама инфраструктура позволяет.
> Или некоторая свобода в написании кода, не позволяет выдерживать такие объемы и проекты начинают сыпаться из-за обилия ошибок?
В шарпе нет какой-то бешенной свободы, если ты не пытаешься наебать систему. А наебать систему - можно в любом языке, было бы желание. И уж в джаве ее наебать не сложнее чем в шарпе,
А про развалится или нет - этот чел все правильно сказал >>2242968
Аноним 20/12/21 Пнд 17:27:17 #1082 №2242974 
Всем привет, вопрос такой.

Учу C# по сайту metanit, конспектирую там самое важное, пытаюсь понять механику языка. Параллельно задрачиваю егэшные задачи на массивы, рекурсии, условия и циклы(чтобы до автоматизма довести). Решаю на codewars задачи.

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

Путь то верный? Стоит смотреть в сторону всяких скиллбоксов или типа того?
Аноним 20/12/21 Пнд 17:28:14 #1083 №2242975 
>>2242974
А цель у тебя какая?
Аноним 20/12/21 Пнд 17:29:24 #1084 №2242978 
>>2242960
хочешь кровавый тырпрайз с 300к/сек - Java
хочешь свистелки-перделки ака шарага/бурса/универ - C# твой выбор (зато и десктоп и мобилки, ИИ даже всунули на кой-то хуй (4% F#, 96# python) После # можно вкатиться в Java, поэтому # не так уж и плох
Аноним 20/12/21 Пнд 17:31:49 #1085 №2242982 
>>2242975
Нравится программирование, хочу в геймдев области поработать.
Аноним 20/12/21 Пнд 17:42:20 #1086 №2243002 
>>2242974
> Параллельно задрачиваю егэшные задачи на массивы, рекурсии, условия и циклы(чтобы до автоматизма довести). Решаю на codewars задачи.
> Какие-то алгоритмы записываю, стараюсь вникнуть. К примеру всякие сортировки, заполнение массивов.

Ебать долбоеб. Это вообще к программированию не относится
Аноним 20/12/21 Пнд 17:44:55 #1087 №2243010 
webinars-images-1f583ec6-ddc1-42d4-b291-6b12cb0f6e98.jpg
>>2242982
Значит тебе надо в Unity-разработчики
Аноним 20/12/21 Пнд 17:46:32 #1088 №2243017 
>>2242974
> Путь то верный?
Верный. Только я бы советовал наверное на таком вот этапе делать упор как раз на codewars/leetcode, просто чтоб набить руку.
Алгоритмы наизусть учить не обязательно. Нужно просто помнить их вычислительную сложность и потребление памяти и название, чтобы, если что - загуглить. Если будешь решать задачки дальше - все равно будут задачи, с условиями: "сделай за O(log n)" и ты будешь гуглить. На собесах, меня вот ни разу прям по алгоритмам в духе: напише на доске - не гоняли, как раз просто спрашивали: какие знаешь, в чем преимущество одного перед другим.

> Стоит смотреть в сторону всяких скиллбоксов или типа того?
Я считаю - не стоит. Там каких-то тайных знаний не дают. Задачи простенькие и ТИПА РЕАЛЬНЫЕ, т.е. в духе: сделайте бекенд для библиотеки. При этом уровень требований не реальный(т.е. никто с тебя там не попросит ко всему этому CI/CD намутить, не покажет что делать с возросшей нагрузкой и прочим, а на том уровне который требуют - ты и сам можешь все сделать).

Да. Про книги не забывай. Когда уже будешь массивы взад-вперед крутить и задачки среднего уровня легко решать - переходи к паттернам и ООП.
Аноним 20/12/21 Пнд 17:47:03 #1089 №2243018 
>>2243010
Да, но основы шарпа то все равно нужны

Про unity не знаю где материал искать, на ютубе много каналов видел, но качество преподавания не могу оценить, ибо сам новичок.
Аноним 20/12/21 Пнд 17:51:04 #1090 №2243026 
>>2243017
Понял, спасибо.

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

Про книги не думал, буду тогда искать что-то годное и параллельно изучать.
Аноним 20/12/21 Пнд 17:52:39 #1091 №2243028 
>>2243018
На ютубе только бесплатные курсы и они все поверхностные. На платных курсах ты последовательно пройдёшь все этапы, а наши менторы укажут на сильные и слабые стороны и что следует дополнительно изучить. Курс начинается с C# Starter и до Unity Advanced.
Аноним 20/12/21 Пнд 18:06:58 #1092 №2243049 
изображение.png
изображение.png
>>2242876
>> Почему можно в питоне просто сделать ctrl-c/ctrl-v, Enter, и получить и окна, и кнопки, и чёрта лысого?
>Во-первых, хочу тебе сказать, что ты за каким-то хуем пришёл в тред, где практически все зарабатывают на жизнь разработкой бэкендов и вообще понятия не имеют, что там на десктопе.
Ну извините, что я ворвался в ваш затхлый manyamiroque и подпустил вам тугую струю свежего воздуха.
Ну так и напишите, что ваш сишарп умеет только в бэкенд, стало бы ясно и понятно. Бэкенд так бэкенд, я что, против, что ли?
Но у меня возникает один вопрос. Так сишарп это, выходит, лишь очередной клон похапе, только с классами и наследованием? Ой, подождите, так в похапе же тоже есть классы?
А чем сишарп тогда лучше похапе, джавы или пайтона? Он даёт какие-то преимущества?
>Потому что в коммерческом плане десктоп скорее мертв, чем жив. Последний раз я разрабатывал десктопное приложение, если мою поделку так можно назвать, в 2011 году с использованием Borland Delphi 7. Но даже я знаю, что для шарпа Майкрософт выкатили WPF, который тоже уже вроде как не жилец, но идея кому-то понравилась и был создан AvaloniaUI, который кроссплатформенный и который позволяет тебе хоть в дизайнере мышкой интерфейсы накидывать, хоть в XAML их описывать. Получается, что всё можно, одному тебе нельзя почему-то. Потому что в википедии не было HelloWorld для Авалонии?
Ну наверное поэтому. А нахуя приводить хелоуворлд для венды, если рассуждать, что десктоп мёртв? Ну ок, напишите, десктоп мёртв, поэтому для него кросплатформенных и вообще никаких примеров не будет. По крайней мере это будет последовательно.
>> Почему прямо здесь в браузере можно нажать F12, сделать ctrl-v, Enter и получить целое дерево DOM с окнами, кнопками, стилями и всей хуйнёй, на любой системе, а в кросплатформенном .Net нельзя?
>Позволю себе проигнорировать эту шизу.
Это не шиза. Это обратная связь на тот бред, который нашмякал на своём говносайте мокрошлак, и который я прочитал в этом треде.
>> но кроссплатформенных библиотек для неё всё равно нет
>От Майкрософт их может и не быть, но другие ребята предлагают свои решения.
Прекрасно, осталось их только найти.
Почему-то в eclipse ничего не надо искать, например? Я его вообще ставил для питона, ну так, чисто попробовать. Вот в java я вообще ни-ху-я не знаю. Просто пошёл по первой же попавшейся ссылке, https://ru.wikibooks.org/wiki/Java/Первое_окно , скопировал текст, просто бухнул его в новый файл, eclipse кукарекнул, что имя файла должно соответствовать имени класса и предложил переименовать файл. Ок, тыкнул "переименовать" и "Run" - всё!
Никакой ебли! Ничего устанавливать не надо! Никаких сред! Всё стоит уже само искаропки, как кол стоит! И может работать в качестве бэкенда. И на ведроиде может. И на кнопочном телефоне даже может. На чём угодно может. Вот так просто взял и запустил.
И это со мной что-то не так, а не с мокрошлаком? Это точно? Нет, ТОЧНО?
Я ведь не писал запрос в гугле "как создать КРОСПЛАТФОРМЕННОЕ окно". Я написал даже не в гугле, а в уткогусе "java создать окно". Всё, блядь. Всё, что от меня потребовалось. Две секунды по большому счёту. Потому что сделано для людей. Нормальными, сука, людьми!
Докажи мне, что я ебанутый. Докажи мне, что я шиз. Что это я долбоёб, так как не считаю, что мегабайтный скрипт вместо анзипа и куча куколдских приблуд от мокрошлака вместо обычной java или питона это что-то хорошее?
Коммерческая разработка? Будешь упирать на то, что за сишарп платят деньги? Ну так проституткам вообще за сосание хуёв деньги платятся, это же не значит, что я должен сосать хуи! Я могу себе позволить выбирать, чем заниматься, и понимаю, что это будет вряд ли сишарп. Я просто хочу определиться, хочу до конца прочувствовать, что это вы тут делаете. Ну интересно же. Нездоровое такое любопытство, вот и всё. Я и в трапач заходил тоже чисто полюбопытствовать, ну охота же понять, что должно быть в голове у человека, чтобы он решил отрезать себе член. Нет? Тебе не интересно? А мне вот интересно, что в голове у него, а ещё у шарписта.
>> поэтому пишите код только для одной платформы
>Или используйте уже готовые сторонние решения, потому что Майкрософт по вполне очевидным причинам предлагать их не будет и кроссплатформу рассматривает только через веб-говно с их Blazor-приложениями.
Короче, мокрошлак это не про кроссплатформенность, ну кто бы сомневался. Значит вся эта хуйня с кросспплатформенностью .Net - пускание пыли в глаза и ничего более. Тем более для бэкенда. Я уж молчу, что клиент по определению будет работать кроссплатформенно. Но даже бэкенд, даже сраный похапэ можно запустить и на линуксе, и на венде. Нахуй тогда вообще нужен дотнет?
Ну просто блядь мне любопытно, ну объясните же мне!
>> в документации которого распаковывание сраного архива в домашнюю папку делается мегабайтным скриптом и почему-то называется установкой
>Ты плохо понимаешь, зачем вообще этот скрипт установки есть. Майки собирают deb и snap, в AUR волонтеры поддерживают все пакеты тоже, для остальных есть Docker-образы. Есть подозрения, что линуксом ты пользоваться тоже не сильно умеешь, раз вообще этот скрипт запускал зачем-то.
Не понимаю, на чём основываются твои подозрения. В репах их пакетов нет. Точнее, что-то есть, а чего-то нет. Поэтому пришлось скачивать ручками. А куда его пихать я не ебу. Там нет ни ридми, нихуя. Только license.txt, конечно же, ну куда же, блядь, без него!
>Я разрабатываю бэкенды на дотнете в райдере на линуксе и могу только сказать, что всё, что ты сказал, хуйня. От начала и до конца. Можно каждое твоё слово комментировать, но мне времени жалко. Думаю, ты видишь, что я тебе его уже достаточно уделил.
Ну спасибо и на том, удачи тебе.
>Что-то ты неправильно понял, что-то переврал, что-то проигнорировал. Вот дочитываешь твоё дрочево до конца и охуеваешь, что это же реально кто-то всерьез написал.
Ну хуй знает, что тебе на это сказать. А я не понимаю, с чего ты охуеваешь. Я вот охуеваю с того, что вообще в принципе существует такая бесполезная хуйня, как дотнет.
Аноним 20/12/21 Пнд 18:13:07 #1093 №2243057 
изображение.png
>>2242917
>Проблема не в ListView, а в том, что select падает, если у типа нет полей из строки.
Так что он тебе должен выдавать-то, если у него таких полей нет?
>К тому же, когда я слепляю объекты разных типов, я их сортирую по одному общему полю, кроме как через dynamic это сделать я способа не вижу, поэтому ваши доёбы до него я не совсем понял
Ну, лично я это вижу так:
>Я складываю миллилитровые шприцы с конями потому что сортирую их по одному общему полю, и хочу, чтобы у них были одинаковые поля, а они разные.
Аноним 20/12/21 Пнд 18:13:29 #1094 №2243060 
javaimageviewer.jpg
>>2243049
Я тоже делал такое десктопное приложение, но меня зачмонили в джава-треде за него. Пришлось вернуться обратно в шарп-тред.
Аноним 20/12/21 Пнд 18:15:59 #1095 №2243063 
>>2242982
>Нравится программирование,
>хочу в геймдев области поработать.
На данный момент это немного взаимоисключающие вещи. Геймдев в нынешнем виде это на 80% не про программирование. Он тебя прожует и выплюнет, а потом будет очередное "здравствуй хабр, послушай как я выгорел в 25 лет".

В геймдев сейчас стоит соваться если у тебя за плечами есть пара-тройка своих инди проектов и ты уже прошел всю еблю геймдев продакшена от начала и до конца. Ну или большой опыт мододеланья.
Второй вариант это когда ты какой-нибудь умудренный жизнью синьор-помидор, тебя достал кровавый энтерпрайз и ты уходишь в кровавый геймдев, просто чтобы поменять обстановку (а твой скилл, позволяет тебе на хую вертеть индустрию)
Аноним 20/12/21 Пнд 18:28:54 #1096 №2243082 
>>2243057
Няша. У него-то скорее всего что-то типа: я сделал лист Animal, у меня есть Cat, Dog, Snake, Mouse. Все - животные, у всех есть длина, количество ног, вес, но у змеи и кошки - есть еще свойство - число мышей которые оно ест ежедневно, а у мыши - количество норок которые она сделала. И он хочет чтобы весь этот зоопарк в одну таблицу выводился. По крайней мере я так понял.
Я конечно не уверен что именно так у него, но подозреваю что да.
Аноним 20/12/21 Пнд 18:53:35 #1097 №2243109 
>>2242940
>а когда собираешь с нуля контейнер для докера, их действительно может не быть этот скрипт для таких сценариев и нужен, это стандартная практика
Ясно. Наконец-то кто-то прояснил, для чего хоть это всё.
>> Вместо сраных банальных true, false, return $exitcode и так далее, там возврат результатов в виде echo и, одновременно, return $exitcode
>Собственно, это сделано потому, что из процедуры можно только число вернуть в баше, а когда хочешь вернуть строку, то пользуешься привычно тем паттерном, который тебя возмутил и испугал. Это тоже стандартно.
Что блядь?!! Где это стандартно?!! Покажи мне хоть один скрипт в линуксе, где подобный говноподход используется!!! Нету, я тебе говорю, нету такого, что в баше вызывается тысяча бесполезных процедур и каждая через пайплайн вместо того, чтобы просто установить сраную переменную!!!

Вот как это пишется:

kokoko(){
echo $1;
mahstringresult='pokpok'
return 0
};
kokoko 123
echo $? $mahstringresult
0 pokpok

Чё ты мне пиздишь, сука, что тот бред с пайплайнами это стандартный подход?!! Совсем уже поехал после сишарпа?!! Пайплайны вообще не для того придуманы, чтобы ими из процедур, сука, строковые значения возвращать, это сокеты, блядь, сокеты, потоковые данные, а не строковые переменные, ёбанарот! Читаемость кода? Это блядь читаемость кода у мокрошлака? Это блядь нормальный код? Всё сообщество линукса, значит, не знает, как писать нормальный код, и только ёбаный мокрошлак, и ты, знаете вдвоём, как надо?
Где ты это видел в линуксе, чтобы какую-нибудь строчку из процедуры через сокеты возвращали, а? И чтобы ради этого вообще убивали на хуй работу двух стандартных консолей, 1 и 2, которые для обычного вывода и для error, и вместо этого создавали бы третью?
Да в линуксовых баш-скриптах вообще процедуры без лишней надобности не используются. Если что-то выполняется последовательно - оно просто выполняется последовательно. Нахуя миллион процедур со скачками по коду туда-сюда? Нахуя?!!
Да и не получается скриптов по полторы тысячи строк в линуксе. Любой скрипт легко читается, любой, я их дохуя перерыл, и сам дохуя писал, в них нет ничего сложного. С хуя ли вы все решили, что это я в линуксе не понимаю, а не в мокрошлаке работают дебилы, которые, сука, не лечатся? И ты не лечишься!
Сука, ради передачи значения из процедуры - отобрать у стандартного вывода пайплайн, зарезервировав его под возврат значений из процедур?!! Серьёзно?
>Не понятно, о каких линуксах ты говоришь, если ты ими пользоваться толком не умеешь. Тебе, обезьяне, максимум продвинутым пользователем майнкрафта стать можно.
Дебил, блядь, твою мать, я на ассемблере писал ещё когда ты у меня в яйцах болтался! Какой майнкрафт, на хуй? Ты чё несёшь?
>Пей таблетки. На всякий случай зарепортил тебя.
Анус себе зарепорти, псина ёбаная!
Аноним 20/12/21 Пнд 18:54:57 #1098 №2243110 
Блядь, ебаный рот этого WPF, почему combobox не показывает объекты, когда они добавляются в ObservableCollection, к которой этот сраный combobox привязан?
Аноним 20/12/21 Пнд 18:56:10 #1099 №2243112 
>>2242978
>шарага/бурса/универ
Это что имеется в виду? При чём тут универ?
Аноним 20/12/21 Пнд 18:57:38 #1100 №2243115 
>>2242974
Нет, твой путь не верный. Надо было выбирать java bkb python, на худой конец php или даже lisp. Но не сишарп.
Аноним 20/12/21 Пнд 19:08:22 #1101 №2243124 
>>2243060
А как аргументировали? Что не так с ним?
Аноним 20/12/21 Пнд 19:10:50 #1102 №2243128 
>>2243124
Быстро раскусили, что я из сишарп-треда и на джаве десктоп не пишут. Джава - это либо мобилки, либо спринг.
Аноним 20/12/21 Пнд 19:11:59 #1103 №2243129 
>>2243049
> что ваш сишарп умеет только в бэкенд, стало бы ясно и понятно
Тебе ясно дали понять, что сишарп умеет во всё. Ты не умеешь это использовать.

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

> А нахуя приводить хелоуворлд для венды, если рассуждать, что десктоп мёртв? Ну ок, напишите, десктоп мёртв, поэтому для него кросплатформенных и вообще никаких примеров не будет. По крайней мере это будет последовательно.
Иди на wikibooks с такими претензиями, шиз. Это ведь они написали это, а не разработчики сишарпа. Твои мысли связаны вообще хоть как-то?

> eclipse
Он точно так же требует наличия JRE и JDK в системе, как Rider требует наличия дотнетовских рантайма и SDK. Различия тут только в том, что прокладка между монитором и стулом себе придумала.

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

> Покажи мне хоть один скрипт в линуксе, где подобный говноподход используется!!!
За двадцать секунд нашёл прямо в репозитории с едром:
https://github.com/torvalds/linux/blob/6441998e2e37131b0a4c310af9156d79d3351c16/tools/testing/selftests/net/icmp_redirect.sh#L133
https://github.com/torvalds/linux/blob/6441998e2e37131b0a4c310af9156d79d3351c16/tools/testing/selftests/net/icmp_redirect.sh#L262

> каждая через пайплайн
Кстати, непонятно, что ты называешь пайплайном. Тут нет никаких пайплайнов, простой command substitution https://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html#:~:text=3.4.5.%20Command%20substitution

> Вот как это пишется
Ну и следи потом, где в скрипте переменная инициализируется/изменяется, ведь там всё тонким слоем размазано будет.

> Пайплайны вообще не для того придуманы, чтобы ими из процедур, сука, строковые значения возвращать, это сокеты, блядь, сокеты, потоковые данные, а не строковые переменные, ёбанарот!
Ну вот и покажи, где пайплайны и сокеты. Ты же явно не понимаешь, о чем говоришь.
Аноним 20/12/21 Пнд 19:17:46 #1104 №2243138 
>>2243110
PropertyChanged ( nameof(macollection) )?
Аноним 20/12/21 Пнд 19:27:34 #1105 №2243143 
Ну дак что порешали? Есть кроссплатформенность чи нет?
Как по мне она есть. Все мои свестелки перделки хорошо работали везде на докере.
Ну а если гуй нужен, то вот https://avaloniaui.net/ чем плох то?
И если надо писать какие то читы или еще какую хуйню школьную то она её ЦА сидит на виндовс, зачем вообще о кроссплатформенности заикается? Да и бОльшенство софта сейчас работает через веб.

О кстати, а ХотРелоад уже во всех языках завезли? Я попробовал, просто пиздец какая удобная штука.
Аноним 20/12/21 Пнд 19:34:10 #1106 №2243149 
>>2243143
В Elm вроде можно изменить код в одной точке времени и результат изменится будто программа проработала с измененным кодом.
https://elm-lang.org/news/time-travel-made-easy
Аноним 20/12/21 Пнд 19:39:03 #1107 №2243157 
>>2243143
Про ту кроссплатформенность что тот чел высирал - ее нигде нет. Ну или пусть запустит свое жава-кнопочное говно на принтере 10+ летней давности. Тот же сишный код - вполне запустится, а с жавой там даже рантайм не встанет.
В контексте обычного понимания: код можно скомпилировать и запустить на разных платформах, не изменяя его, основа шарпа - вполне себе кроссплатформенная. Всякие свистоперделки типа MAUI, форм или WPF - нет. Допустим, у нас на заводе ПО контроллеров на шарпе написано, да, там линукс в основе, потому это не совсем embeded, но суть - вот, есть контроллер, его основное приложение на шарпах, крутится-вертится, работает. Нам вот в хуй не уперлись эти вот формы, но остальные плюшки дотнета - оч даже полезны.
Аноним 20/12/21 Пнд 19:52:10 #1108 №2243184 
15946779781280.jpg
Суп, программисты. Интересует теоретическая сторона вопроса. Сам я не программист, так что сильно ъуями не кройте.

Есть вордовский файл с табличкой, как на пике. Можно ли программно взаимодействовать с этим вордовским файлом, чтобы текст из программы записывался в блок "ответ на вопрос №...".

Если более развернуто описать задачу, то будет примерно так:
Есть табличка в ворде, как на пике - "болванка". Таких вордовских файлов будет порядка 100 штук. Блоки "Вопрос №..." всегда одинаковые. В блоке "Ответ на вопрос №..." тоже всегда будет типовой текст, только числовые данные будут меняться. Например: в 1-ом файле будет "яблок в корзине 14", во 2-ом файле будет "яблок в корзине 212" и тд.
Хочу сделать а-ля программу, куда я буду вписывать числовые данные, а она будет подставлять их в вордоский файл.
Можно даже сделать форму с такой болванкой, только места, где нужно ввести число - оставить пустым, я буду открывать программу, пролистывать форму с текстом и в пробелы вставлять текст, а программа мне будет экспортировать фал ворда форматированный под болванку.
Аноним 20/12/21 Пнд 19:52:57 #1109 №2243186 
zz.png
>>2243184
Вот такая табличка
Аноним 20/12/21 Пнд 19:56:24 #1110 №2243191 
>>2243186
>>2243184
Можно, я эту хуйню дотянул до ВКР бакалавра. На Питоне делал, правда. Только у меня сценарий был сложнее.

А то, что хочешь ты, -- это стандартная фича MS Word. Называется это хуйня рассылками или слиянием документов, вот один из первых результатов в гугле (читал по диагонали и может быть не лучшей инструкцией, но в общих чертах так и есть всё): https://nitforyou.com/ms-word-sozdanie-serijnyx-pisem/
Аноним 20/12/21 Пнд 20:02:44 #1111 №2243209 
>>2243184
https://github.com/xceedsoftware/DocX
Аноним 20/12/21 Пнд 20:03:34 #1112 №2243210 
изображение.png
изображение.png
изображение.png
изображение.png
>>2243128
А тут вот говорят, что теперь десктоп вообще ни на чём не пишут. Что он мёртв полностью и потому не нужен вообще.
>>2243129
>Кроме того, за ним большая корпорация, которая пилит для него годные фреймворки
Брось заливать-то, видел я, что они напилили.
>> eclipse
>Он точно так же требует наличия JRE и JDK в системе
Да, но есть нюанс, jre ставится одной командой из репов и не ебёт мозги.
>https://github.com/torvalds/linux/blob/6441998e2e37131b0a4c310af9156d79d3351c16/tools/testing/selftests/net/icmp_redirect.sh#L133
>https://github.com/torvalds/linux/blob/6441998e2e37131b0a4c310af9156d79d3351c16/tools/testing/selftests/net/icmp_redirect.sh#L262
А в какой конкретно строчке здесь дефолтный вывод убивается? Я вот вижу в первом скрипте
log_section()
{
echo
echo "###########################################################################"
echo "$*"
echo "###########################################################################"
echo
}

То есть обычный echo, значит вывод не подавлен ни в какой пайп.
Сравни с тем, как надо извращаться, чтобы что-то выдать на экран в скрипте от мокрошлака:

say() {
# using stream 3 (defined in the beginning) to not interfere with stdout of functions
# which may be used as return value
printf "%b\n" "${cyan:-}dotnet-install:${normal:-} $1" >&3
}

Вот это вот видишь в конце строчки с printf? Ты обещал найти подобное говно в линуксе, и ни в одном из приведённых тобой скриптов ничего подобного нет. Так покажи мне, где ещё подобное используется? Я тебя даже не прошу доказать, что это стандартный, как ты сказал, подход, потому что ясно, что ты просто кукухой поехал уже после своих сишарпов. Ну просто зачем ты хуйню несёшь?
>>Никакой ебли! Ничего устанавливать не надо! Никаких сред! Всё стоит уже само искаропки, как кол стоит!
>Было бы интересно услышать, откуда в таком случае это всё взялось на твоём компьютере.
Ок, возможно, я поставил. Потому что оно просто ставится, я даже и не заметил. Потому что есть простая и при этом работающая команда sudo apt install default-jre, а не мегабайтный скрипт для установки на докеры и куча скриптов, которые не работают.
>> каждая через пайплайн
>Кстати, непонятно, что ты называешь пайплайном. Тут нет никаких пайплайнов, простой command substitution https://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html#:~:text=3.4.5.%20Command%20substitution
Везде там блядь пайплайны, глаза разуй!
Там ВЕСЬ, ВООБЩЕ ВЕСЬ вывод подавлен, при этом во всём скрипте 161 раз встречается слово echo, и во всех 161 случаях оно используется не для выдачи информации пользователю, а для передачи строковых значений вроде пикрил! Куда оно по-твоему идёт, если не в пайплайн? Я ж тебе говорю, они блядь долбоёбы! Конченные долбоёбы просто! Ты даже понять не можешь, ЧТО они нахуячили в своём говноскрипте! Я сам за десять лет на линуксе такого пиздеца не видел! Ни разу!!! А ты мне говоришь, что это стандартный подход! И вы мне тут кукарекаете, что я ничего не понимаю и мне только в майнкрафт играть. При этом сами в глаза долбитесь и не понимаете даже, о чём вообще речь, какие такие пайплайны!
Не видишь ты, ЧТО они сделали? Пиздец! Это вот так они используют bash! Ну теперь будем знать, какой подход в линуксе станет стандартным после того, как мокрошлак возьмётся за его доработку не дай бог дожить
>> Вот как это пишется
>Ну и следи потом, где в скрипте переменная инициализируется/изменяется, ведь там всё тонким слоем размазано будет.
Ну да, конечно, лучше следить, куда у тебя стандартный вывод пропадает. А тут за ним и нечего следить, он подавлен весь на хуй, так что его попросту нет. Тут же столько переменных, ну куда уж за ними за всеми уследить, проще будет уследить за тысячей пайплайнов!
>> Пайплайны вообще не для того придуманы, чтобы ими из процедур, сука, строковые значения возвращать, это сокеты, блядь, сокеты, потоковые данные, а не строковые переменные, ёбанарот!
>Ну вот и покажи, где пайплайны и сокеты. Ты же явно не понимаешь, о чем говоришь.
Показал. Сам ты не понимаешь. Это факт.
Я не могу только понять, хули ты споришь, если не понимаешь. И рассказываешь мне про линукс. Ссылки для начинающих в баше мне кидаешь.
Я понимаю, что вендузятники они вообще все ебанутые. У них родовая травма, нанесённая bat-файлами. Они вообще не понимают, что такое нормальный shell. Это понятно, я с пониманием к тебе отношусь, даже с сочувствием. Но когда мне начинают рассказывать, что это я просто линукса не знаю и не умею им пользоваться, защищая вот это вот говно - это пиздец. Это как гнобить за это говно сам линукс, хотя повторяю, во всём линуксе вы не найдёте ни одного настолько же ебанутого скрипта, как тот, который был исторгнут какими-то недрами говнософта, ссылку на который я вам привёл и про который я ясно написал, что именно в нём ебанутого.
Аноним 20/12/21 Пнд 20:04:26 #1113 №2243215 
bubundu.png
>>2242939
>Ну напиши мне хеллоуворлд с окошком и кнопкой
И что?
Аноним 20/12/21 Пнд 20:11:12 #1114 №2243222 
>>2243210
>оно просто ставится, я даже и не заметил. Потому что есть простая и при этом работающая команда sudo apt install
Я так дотнет на убунту накатил, кста
Аноним 20/12/21 Пнд 20:12:52 #1115 №2243226 
>>2243157
>но остальные плюшки дотнета - оч даже полезны
Какие именно?
>Ну или пусть запустит свое жава-кнопочное говно на принтере 10+ летней давности. Тот же сишный код - вполне запустится, а с жавой там даже рантайм не встанет.
>у нас на заводе ПО контроллеров на шарпе написано, да, там линукс в основе, потому это не совсем embeded, но суть - вот, есть контроллер, его основное приложение на шарпах, крутится-вертится
Не понимаю, почему жава не запустится на вашем линуксе? Ты имеешь в виду буквально матричный принтер с прошивкой на си (не сишарп)? При чём здесь он вообще? Ты ардуину, что ли, на сишарпе программируешь?
Аноним 20/12/21 Пнд 20:22:22 #1116 №2243232 
>>2243222
Шурик, давай определимся, из нас двоих додик всё-таки ты, а не я.
Аноним 20/12/21 Пнд 20:23:34 #1117 №2243234 
>>2243215
А по какой книге ты учил авалонию?
Аноним 20/12/21 Пнд 20:24:57 #1118 №2243236 
>>2243226
> Какие именно?
Куча выпускников местного вуза, которые шарпы знают))) Сишника ты хуй найдешь, жависты - съебывают в тырпрайз и банки, пыхари не подходят, хоть ПХП и используется в некоторых сериях контроллеров для веб-морды устройств.
> Не понимаю, почему жава не запустится на вашем линуксе?
Запустится, только тестирования показали, что жава в наших кейсах сильно медленнее и жирнее шарпов. Раньше на Си писали, но, как я сказал выше, сишника - хуй найдешь, а старые - охуели, просют миллионы денег, проебывают сроки и вообще.
> Ты имеешь в виду буквально матричный принтер с прошивкой на си
Это было про кроссплатформенность в вакууме.
> Ты ардуину, что ли, на сишарпе программируешь?
Контроллеры для хим заводов.
Аноним 20/12/21 Пнд 20:25:03 #1119 №2243237 
>>2243232
Уже давно определили что ты, сорян.
Аноним 20/12/21 Пнд 20:33:35 #1120 №2243245 
>>2243236
>Куча выпускников местного вуза, которые шарпы знают))) Сишника ты хуй найдешь, жависты - съебывают в тырпрайз и банки,
Понятно, в общем, плюсы сишарпа в том, что шарписты нигде, кроме вашего завода, больше на хуй никому не нужны, поэтому им, наверно, можно даже денег не платить, а они всё равно будут проситься к вам хотя бы погреться, а то на улице холодно зимой?
>> Не понимаю, почему жава не запустится на вашем линуксе?
>Запустится, только тестирования показали, что жава в наших кейсах сильно медленнее и жирнее шарпов. Раньше на Си писали, но, как я сказал выше, сишника - хуй найдешь, а старые - охуели, просют миллионы денег, проебывают сроки и вообще.
Понятно. Получается, стоит учить си, но не шарп? Ну не просто же так они миллионы просят? Глядишь - кто-то и даст?
>> Ты ардуину, что ли, на сишарпе программируешь?
>Контроллеры для хим заводов.
Много платите? Не миллионы - это конкретно сколько?
Аноним 20/12/21 Пнд 20:34:01 #1121 №2243246 
>>2243237
шурик, спок
Аноним 20/12/21 Пнд 20:35:10 #1122 №2243249 
>>2243210
> jre ставится одной командой из репов и не ебёт мозги
Это не зона влияния Microsoft. Что мейнтейнеры в репы положили, то там и будет. Плюс у других почему-то всё стандартно устанавливается в линуксах и в репах всё есть, а у тебя вот что-то не работает.

> То есть обычный echo, значит вывод не подавлен ни в какой пайп.
Возврат строки из функции через command substitution -- стандартная практика, ты через глобальные переменные ёбнешься всё передавать. Майки эту стандартную практику использовали, но столкнулись с тем, что в таком случае нельзя ничего выводить в STDOUT в функциях, которые должны вернуть строки (они оставили это в комментарии, где перенаправлен вывод). На мой взгляд, им стоило просто ничего не пытаться выводить в функциях, но они пошли таким путём, скорее всего, чтобы в будущем кто-нибудь что-нибудь случайно не сломал. Решение дубовое, но рабочее, как и сам шелл.

> Там ВЕСЬ, ВООБЩЕ ВЕСЬ вывод подавлен
Не подавлен, а перенаправлен. В терминах баша пайп -- это вообще перенаправление STDOUT команды в STDIN последующей команды, но будем считать, что ты генерализовал это понятие и башевые пайпы тут частный случай.

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

Тебе уже всё сказали и показали, вести с тобой дальше разговор нет смысла.
Аноним 20/12/21 Пнд 20:35:20 #1123 №2243250 
>>2243143
Почему микрософты не покупают Авалонию?
Аноним 20/12/21 Пнд 20:39:49 #1124 №2243254 
>>2243236
>Запустится, только тестирования показали, что жава в наших кейсах сильно медленнее и жирнее шарпов
А у вас там прямо критичная какая-то нагрузка? И реально шарп быстрее? Но почему? За счёт чего? Такой же байткод, вроде бы?
Аноним 20/12/21 Пнд 20:41:54 #1125 №2243257 
>>2243236
А вы прогревали кэш перед тестированием?
Аноним 20/12/21 Пнд 20:42:57 #1126 №2243258 
>>2243254
> И реально шарп быстрее? Но почему? За счёт чего? Такой же байткод, вроде бы?
Потому что Microsoft всегда вкладывала бабки в ускорение и потому что сишарп моложе и смелее, что позволило ему не наступить на многие грабли или вообще ломать обратную совместимость в ранние годы. Дженерики.
Аноним 20/12/21 Пнд 20:50:14 #1127 №2243264 
>>2243258
Они до сих пор всё ломают, да так, что книги устаревают, не успев выйти.
В 2022 году вышла книга Прайса по шарпу 9 и дотнету 5, а уже вышли шарп 10 и дотнет 6. И как тут угнаться за изменениями?
Джава всё же более стабильная и даже старый код до сих пор работает без изменений.
Ещё микрософты любят привязывать свои технологии к версии винды. К примеру, на у меня была шин8 и там нельзя было поставить новый дотнет. Меня просто вынудили ставить шин10, чтобы пользоваться новым дотнетом.
Думаю, и сишарп 11 и дотнет 7 привяжут к шин11 и вам придётся переезжать на неё без выбора.
Вообще, сишарп и дотнет слишком сильно привязаны к хотелкам микрософтов. Джава в этом отношении более свободна.
Аноним 20/12/21 Пнд 20:55:30 #1128 №2243272 
>>2243264
> всё ломают
> шарпу 9 и дотнету 5, а уже вышли шарп 10 и дотнет 6
Где ломают?

> Меня просто вынудили ставить шин10, чтобы пользоваться новым дотнетом.
Кто?
Аноним 20/12/21 Пнд 21:00:46 #1129 №2243277 
>>2243249
Ладно, всё. Сколько можно уже в самом деле.
Аноним 20/12/21 Пнд 21:08:23 #1130 №2243281 
А почему в не добавить сразу из коробки Binary Tree ?
И мб есть у кого таблица с сравнением коллекции? Ну типо эта коллекция быстрее перебирается, а из этой быстрее удаляется, а эта меньше места занимает.
Аноним 20/12/21 Пнд 21:13:35 #1131 №2243286 
>>2243258
Я тут погуглил о том, что за дженерики. В общем, в шарпе более строгая типизация, чем в джава?
Ну что же, вот ты меня, пожалуй, убедил, что шарп и правда может быть лучше, если его правильно приготовить. Но на шарпистов, получается, ниже спрос, и поэтому платят им на вашем заводе... сколько, ты так и не ответил?
Аноним 20/12/21 Пнд 21:39:27 #1132 №2243322 
>>2243112
я хз, что сейчас в универах дают, раньше давали #. У нас есть группка в тг выпускников факультета ПИ, как-то писали кто куда всунулся - никто, повторню НИКТО не вошел в ойти через .NET. Java, python, front, даже один devOps-ом стал. И это при том, что .NET у нас был с 2 по 4 курс. Я даже бакалаврскую сдавал по вин формам, лол. Проебаные годы.
Аноним 20/12/21 Пнд 22:03:05 #1133 №2243334 
>>2243286
Я не большой спец в джаве и вообще этими борщехлебскими вопросами давно не задаюсь, но мне кажется, что система типов у них вообще одинаковая с минорными различиями. Поправьте, если чё пропустил.

Просто в джаве зассали в свое время прикручивать полноценные дженерики и оставили type erasure перед VM, то есть на уровне байткода там всё object'ы с кастами налево-направо, боксингом и скудным перфомансом.

В C# не зассали, клали хуй на совместимость и там вообще сам CLR умеет в дженерики, поэтому всё проще, понятнее, быстрее и JIT'у проще оптимизировать код. В общем, джава пострадала от полумер и несмелых решений. У джавы есть платиновые фейлы, в C# они как правило пофикшены или не так ужасны.

Если моё мнение интересно, то по большей части вообще похую. У любой платформы есть плюсы и минусы, и на больших масштабах они становятся незначительными.
Аноним 20/12/21 Пнд 22:18:19 #1134 №2243349 
>>2243322
На дотнет очень тяжело найти джуна, они буквально кроме Laba01.cs на Windows Forms в жизни ничего не делали. Я, кстати, после универа сразу в дотнет вкатился без знания сишарпа и платформы вообще.

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

>>2243286
Я не тот анон, что на заводе работает, но зарплата у меня 240к на руки недавно со 180к апнулся сменой конторы. У лида 300к. Одногруппник на L3 в EPAM (не Anywhere) прошёл недавно, там потолок 348к, но он принципиально хочет минимум 380к и чтобы не лидом, поэтому не пошёл.
Аноним 20/12/21 Пнд 22:47:35 #1135 №2243369 
изображение.png
>>2243334
>У джавы есть платиновые фейлы
Например? Из тех, которые в шарпе пофикшены? (помимо дженериков)
>Если моё мнение интересно, то по большей части вообще похую. У любой платформы есть плюсы и минусы, и на больших масштабах они становятся незначительными.
Ну вот тут химик говорит, что тормозит джава, конкретно тормозит, и на тестах всасывает.
>>2243349
>На дотнет очень тяжело найти джуна, они буквально кроме Laba01.cs на Windows Forms в жизни ничего не делали
Ну сколько мне зарплату положите, если я к вам вкачусь?
>>2243349
>Это какая-то мантра джавистов, которая очень неактуальна. Деньги те же, проектов дохуя, хрюши точно так же выстраиваются в очередь десятками в день, если просто открыть полупустое резюме на HH.
Ну ок, завтра приду к вам на работу устраиваться. А вы, кстати, что делаете?
>>2243349
>Я не тот анон, что на заводе работает, но зарплата у меня 240к на руки недавно со 180к апнулся сменой конторы. У лида 300к. Одногруппник на L3 в EPAM (не Anywhere) прошёл недавно, там потолок 348к, но он принципиально хочет минимум 380к и чтобы не лидом, поэтому не пошёл.
Тю?.. Четверть ляма всего?
Ну ладно, я согласен.
Есть пять стульев книжек. С какой начать?
Аноним 20/12/21 Пнд 23:11:35 #1136 №2243396 
>>2243369
> Из тех, которые в шарпе пофикшены?
Да я ебу, что ли? Я не клавиатурный воин и этим интересовался последний раз лет пять назад. Мне вообще всё равно, какие у кого проблемы. Ну сравнение строк у них всратое, Equals через Equals. Value types нет. Там в Java-треде нет боевых картиночек, что ли, чтобы можно было быстро ознакомиться?

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

> Ну сколько мне зарплату положите, если я к вам вкачусь?
Насколько оценят. Без опыта на хуй пойдешь, канеш.

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

> С какой начать?
C# был не первым и не пятым ЯП на момент моего вката, поэтому лично я книг конкретных по нему от корки до корки не читал. Документация, конференции на ютьюбе, коммиты старших коллег, блоги, что угодно. Смотри шапку и не читай устаревшую хуйню.
Аноним 20/12/21 Пнд 23:16:24 #1137 №2243401 
image.png
image.png
>>2243369
Начинай с метанита.
Там выжимка с книги уже не помню какой., а что непонятно будет то уже читай в книге любой, желательно что бы поновее была.
Или в офф документации, она практически вся на русский переведена.
Ну а вообще вот роад мап для асп нер кор разработчика.https://raw.githubusercontent.com/MoienTajik/AspNetCore-Developer-Roadmap/master/aspnetcore-developer-roadmap-printable.png
Я вкатывальщик, мб кто лучше систему обучения посоветует. Я сейчас нахожусь на 3пикрил, ну и не скажу что я все выше вот полностью знаю и смогу по всем ответить. Знаю что это все есть, знаю примерно как и для чего юзать, знаю как загуглить по этим темам вопрос, или где просто смотреть примеры.
Хуй знает вообще в этом самообучении когда пора остановится и переходить к другой теме. Или когда пора искать работу уже.
С курсами все понятно, прошел курс ну и типо ачивка есть и можно и работу искать.
Корочи самому надо подбирать что тебе удобно.
ИМХО конечно.
Аноним 20/12/21 Пнд 23:25:27 #1138 №2243409 
>>2243401
Как-то много хуйни на пике, на мой взгляд. Razor на хуй, все ORM кроме EF на хуй (ты же вкатываешься, нахуй тебе Dapper с нулём боевого опыта?), все нестандартные DI-контейнеры на хуй, для кэширования достаточно MemoryCache и Redis пощупать, весь Cloud на хуй. Непонятно, зачем тут различные РСУБД, потому что достаточно будет на постгресе какой-нибудь проектик сделать.

>>2243396-кун
Аноним 21/12/21 Втр 00:21:33 #1139 №2243458 
>>2243409
>Razor на хуй
Да.

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

>все нестандартные DI-контейнеры на хуй
Тоже согласен, но стоит хотя бы чуть-чуть Autofac пощупать, по той же причине, что и dapper. Т.к. он много где еще используется. Все остальное вроде нинжекта или юнити мертво.
Аноним 21/12/21 Втр 00:35:34 #1140 №2243467 
image.png
image.png
image.png
Вчера на хабре в комментах прочел про таймауты в System.Text.RegularExpressions
на 29 символе уже пиздос.
Но почему так происходит?
Я так понимаю оно находит один знак, потом 2 знака потом 3 и тд и тп, все это подходит под регулярку. Но почему время увеличивается каждый раз в 2 раза? Ведь в первый раз тоже идет повторения символов и время не увеличивается.
Аноним 21/12/21 Втр 02:08:16 #1141 №2243484 
>>2243396
>Насколько оценят. Без опыта на хуй пойдешь, канеш.
Ну ты же говоришь, что джуна не найти. Ну вот тебе джун. А вы на хуй посылаете.
>>2243409
>Razor на хуй
Это вместе с Razor pages/components или который template engines?
Аноним 21/12/21 Втр 02:16:48 #1142 №2243489 
>>2243409>>2243458
Я тут то, что вы указали, позатирал.
https://imgur.com/aFE965P
Гляньте позязя, что ещё лишнее?
Вот этот вот тестинг, микросервисы? Семь фреймворков для логов? Может одного хватит, а?
Аноним 21/12/21 Втр 02:49:01 #1143 №2243497 
>>2243467
Дык там вроде регулярка у них кривая. Там звёздочка на звёздочке сидит, вон, левая звёздочка после буквы идёт, а следом за ней тоже буква может быть, вот оно с ума и сходит, не зная, чем букву считать, тем, что под первой звёздочкой /w, или тем, что после неё в квадратных скобках A-Z. Наверное. Ну я бы так не писал. Регулярку надо переписать. И вообще, вы вот говорите, что без опыта меня нахуй пошлют, но я бы писал регулярку так, чтобы оно парсилось как LL-1. Ну то есть слева направо по одному символу, либо однозначно ругалось, что это не оно. А тут оно пытается и так, и сяк определить, где какая часть, а ни один вариант не подходит.
Ну то есть надо примерно так: [0-9A-Z][0-9A-Z_-.]*, да и всё. Ну я не помню, как оно там правильно пишется, это по памяти просто, в общем, суть понятна, я думаю. Тут если символ подходит, то подходит. Если не подходит, то не подходит, и никаких других вариантов нет. Потому что звёздочка, очевидно, работает как LL1, а не LR1, по логике. Ну как бы первое совпадение выражения под звёздочкой будет со второй буквой, потом с третьей, потом с четвёртой, а не наоборот.
А в той кривой регулярке - бля, ну сложно объяснить, в общем, из-за вот этого куска, в котором за опциональной буквой следует ещё буква, не опциональная, это порождает неоднозначность, которую, видно, разрешить нельзя, пока все варианты не переберёшь. Когда есть мэтч, то достаточно одного варианта, и всё, мэтч он и есть мэтч. А когда мэтча ни один из вариантов не достигает, уходит по четырнадцать секунд, если я правильно понял. Чтобы перебрать все варианты, и убедиться, что мэтча не будет в итоге ни с одним из них.
Там, кстати, написано, что это специально криво написанная регулярка, которую в реальных проектах использовать нельзя.
Аноним 21/12/21 Втр 05:19:15 #1144 №2243521 
>>2243489
C# учить начинай с 7-й версии, чтобы не забивать голову новым сахаром. Потом уже когда будешь ориентироваться в языке, прочтешь что нового добавили в 8-й и 9-й версии. Плюс 7-я версия дружит с .NetFramework и если вдруг придется иметь с ним дело, будет не так больно.
То же самое с Core. Учи с версии 3.1 т.к. практически везде сейчас она. На .net5 никто не переходил, т.к. он не LTS и все ждали 6-й. А на 6-й еще никто не переходил, т.е. он вот только вышел.

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

ASP.NET
На Razor как уже сказали забей. MVC в последнюю очередь. В первую очередь сам middleware, web-api, фильтры, настройки, маршруты, параметры и т.д.

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

В DI контейнерах зря стер родной майкросовтовский IServiceCollection. Его учи в первую очередь, а уже потом Autofac щупай.

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

Логгирование - Nlog. Это сейчас стандарт, кроме него я пока ничего и не встречал.

API - в первую очередь HTTP, REST.

Маппинг - Automapper, остальное не пробовал.

Task Scheduling - обязательно изучи Quartz

В ветке Testing, только ветку Unit Testing и то что помечено красными флажками плюс Nunit. Все остальное только в ознакомительных целях. Для тестирования WebApi обязательно изучить PostMan (в нем кстати так же можно и юнит и автотесты делать)
MSTest - мертв.

CI/CD я бы посоветовал изучить Docker и принципы контейнеризации. На остальное забить, т.к. сильно зависит от проекта куда попадешь.

Дальше лень расписывать.
Аноним 21/12/21 Втр 05:24:41 #1145 №2243523 
>>2243484
>Ну вот тебе джун.
Джун сейчас - это, как раз, с опытом. А без опыта это бесплатный стажер.
Аноним 21/12/21 Втр 06:05:28 #1146 №2243530 
>>2243523
> Джун сейчас - это, как раз, с опытом. А без опыта это бесплатный стажер.

А никуда этих стажёров не берут, нет для них мест.

Вот я согласен пойти ради самообучения за копейки работать. Ну 15к будет достаточно, всё-таки хоть что-то я умею, не из кассиров или таксистов прихожу, какой-то говнокод для себя или по работе сисадмином писать приходилось. Единственное условие - удалёнка. И что? Нихуя вариантов нет, вот просто нет. На хх резюме - нихуя! Линкедин - нихуя! Все ждут джунов с опытом и знанием всего назубок. Какие-то охуительные истории.
Аноним 21/12/21 Втр 06:52:12 #1147 №2243536 
>>2243484
> Ну вот тебе джун. А вы на хуй посылаете.
Это не я посылаю, это текущая обстановка. Я разработчик и наймом не занимаюсь.

> Это вместе с Razor pages/components или который template engines?
Всё вместе. Это не используется нигде. А где используется, туда не надо идти.

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

> Какие-то охуительные истории.
Найм джунов дорогой. В прошлой моей компании искали джунов (так и вкатился), но один джун стоит просеивания сотни откликов, проверки тридцати тестовых заданий и примерно пятнадцати технических собеседований. Причем, тестовые задания перестали адекватно отсеивать левых ребят, потому что в прошлом году появилось много интересных личностей, которые заказывают выполнение тестовых у какого-нибудь синьора, а потом на собесе FizzBuzz решить не могут и сказать, чем JSON от XML отличается.

Вот на текущем месте у меня джунов и не ищут. Ты бы на месте бизнеса тоже не хотел делать больше работы за меньший профит.
Аноним 21/12/21 Втр 09:28:22 #1148 №2243569 
>>2243369
Эти книги не для новичков. Лучше начинать с Прайса или Троелсена. Хотя первая - галопом по европам, а вторая - унылая и скучная. Хороших книг как в джаве нет.
Аноним 21/12/21 Втр 10:55:53 #1149 №2243616 
>>2243530
Добро пожаловать в 2021. Такая вот сейчас ситуация на рынке.

Если попытаться описать по слоям то получается так.

1) У бизнеса резко возросла потребность в разрабах. Причем скачкообразно. Частично по объективным причинам (локдаун, уход сферы услуг у удаленку и т.д.), частично по искусственным (пузырь-пузырек). Потребность намного превышает, то количество девелоперов, которое есть на рынке.

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

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

4) Следствие этого - найм джунов стал очень дорогим мероприятием. Нужно обработать очень большой объем кандидатов, потратить кучу времени нормальных разрабов на их собеседование, а потом еще и на дообучение. И офигенные риски на то, что он после обучения свалит, ну или тупо необучаемый.
Т.е. вот это твое:
>Вот я согласен пойти ради самообучения за копейки работать. Ну 15к будет достаточно, всё-таки хоть что-то я умею,
означает, что в тебя будет вбухано бабла тысяч на 300...500 в месяц, а потом еще и не факт, что все это отобьется. При таких условиях бизнесу проще пойти к интегратору и оплатить ему работу разрабов, чем самому пердолиться с новичками.

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

-----
Вот поэтому таких вакансий для вкатунов сейчас исчезающе мало.
>Все ждут джунов с опытом и знанием всего назубок.
Да. Именно так. Еще раз: добро пожаловать в 2021.
Аноним 21/12/21 Втр 11:06:31 #1150 №2243622 
>>2243369
>Например? Из тех, которые в шарпе пофикшены? (помимо дженериков)
Вот подробное сравнение шарпа и джавы. https://ru.wikipedia.org/wiki/%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_C_Sharp_%D0%B8_Java
А там уже каждый сам решит, что в каком языке косяк или фича.
Аноним 21/12/21 Втр 11:27:55 #1151 №2243633 
>>2243616
>Все ждут джунов с опытом и знанием всего назубок.
Скорее, ждут джунов из топ вузов и прочих аутистов с красными дипломами (да, да, настало время, когда цвет диплома из твоей шараги начал иметь значение, анон). Рынок реально перегрет, зарплаты у джунов со старта больше 100к.
Аноним 21/12/21 Втр 11:36:07 #1152 №2243635 
>>2243633
>Скорее, ждут джунов из топ вузов и прочих аутистов с красными дипломами
Хм. Сомнительно. Сейчас в нормальных вузах уже курса с четвертого стоит очередь за толковыми стьюдентами. Причем это не только для айти-направлений, а для всех. Любых инженеров (электрика, крионика, станки и т.д.) разбирают еще на подлете к выпуску.
Сами после института работу ищут либо остатки которые не смогли за время учебы наработать практику и обзавестись связями, либо те кто разочаровался в выбранной профе, доучился и решил пойти в дургую сторону.
Человек с красным дипломом сразу после института на рынке труда вызывает скорее подозрение ("если ты такой хороший, почему до сих пор без работы")
Аноним 21/12/21 Втр 11:39:19 #1153 №2243637 
>>2243523
>Джун сейчас - это, как раз, с опытом. А без опыта это бесплатный стажер.
Нет. Стажеров - я вообще не знаю, кто берет, какой-нибудь яндекс с епамом разве что. Джун с опытом на сегодняшнем рынке - это если только кто-то решившийся свичнуться после старта карьеры, у остальных - нет времени на раскачку, стране нужны программисты, берешь весло - и ебошишь, все свободное время тратя на самообразование, чтобы через год получить лычку мидла. Не нравится? - Вон из профессии.
Аноним 21/12/21 Втр 11:46:53 #1154 №2243642 
>>2243635
>Сейчас в нормальных вузах уже курса с четвертого стоит очередь за толковыми стьюдентами.
Ну так отсюда и зарплаты по 100к со старта. Сразу после вуза - у большинства нет никакой наработанной практики или связей, и многие компании гребут всех подряд, под гребенку. Показал диплом, военник - и все, вы приняты, выходите с понедельника.
Аноним 21/12/21 Втр 11:52:33 #1155 №2243646 
15947167222860.webm
>>2243635
> в нормальных вузах уже курса с четвертого стоит очередь за толковыми стьюдентами
>>2243642
>Показал диплом
>военник
ебать тут кадры сидят
Аноним 21/12/21 Втр 11:54:49 #1156 №2243650 
>>2243637
>Стажеров - я вообще не знаю, кто берет, какой-нибудь яндекс с епамом разве что.
На самом деле много где. У кого-то есть свои программы. Кто-то на базе других курсов организует типа-проекты в которые отбирают учащихся и смотрят, что они из себя представляют на околобоевых задачах.

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

К примеру у того же люксофта есть программы обучения и стажировок. Т.е. ты заплатишь бабки, пройдешь обучение, отстажируешься. А потом будешь проходить собеседование на общих основаниях. Плюсом будет то, что тебя будут обучать спецы именно из этой конторы и ты больше будешь знать о специфике этой конторы и знания у тебя будут те которые там нужны.
Аноним 21/12/21 Втр 11:56:22 #1157 №2243652 
>>2242432
>Иди учи питон.

Я что-то не понял, почему они ищут делители до N/2, а не до квадратного корня из N? Ну, ОК, предположим это такая задача, где сторонние библиотеки с математикой использовать нельзя, ну заведи ты две переменных с пределом до которого нужно искать делители и квадратом этого предела, число для проверки на простоту стало больше квадрата предельной возможной величины делителя - добавляем к пределу единичку, вычисляем заново его квадрат, продолжаем. Чем больше N, тем больше профит.
Аноним 21/12/21 Втр 12:15:56 #1158 №2243664 
>>2243646
Гречневый вкатыш без вышки, ты?
Аноним 21/12/21 Втр 12:25:45 #1159 №2243675 
>>2243652
> Я что-то не понял, почему они ищут делители до N/2, а не до квадратного корня из N?
Потому что был для примера взят простой алгоритм без оптимизаций, которые ещё отдельно нужно объяснять.
Аноним 21/12/21 Втр 12:40:34 #1160 №2243687 
>>2243616
Пусть страдают. Мне вообще этих буржуёв не жалко.
Аноним 21/12/21 Втр 13:28:52 #1161 №2243773 
>>2243646
>ебать тут кадры сидят
>>2243675
>Потому что был для примера взят простой алгоритм без оптимизаций, которые ещё отдельно нужно объяснять.

Мдааа.
Аноним 21/12/21 Втр 13:38:06 #1162 №2243789 
>>2243569
Двачу, учу .net по Троелсену, и уже раза 4 дропал
очень душная хуйня
Аноним 21/12/21 Втр 14:18:48 #1163 №2243852 
Ебанул тестовое, сказали:
"К сожалению, пока не хватает опыта делать качественный код " и все. Никаких пояснений по тестовому.
Мб есть тут бати которые не против чекнуть мой говнокод и сказать где там некачественно?...
Аноним 21/12/21 Втр 14:36:23 #1164 №2243876 
>>2243852
>Мб есть тут бати которые не против чекнуть мой говнокод и сказать где там некачественно?.

А там много? Кинь пример на pastebin, я посмотрю.
Аноним 21/12/21 Втр 14:43:41 #1165 №2243886 
>>2243852
Ссылку кинь сначала. Если будет не лень, то обоссым по полочкам.
Аноним 21/12/21 Втр 14:52:42 #1166 №2243895 
>>2243876
>>2243886
Задание в ридми
https://github.com/DrainRanger92/WeatherForecastAp/tree/master
Аноним 21/12/21 Втр 15:06:47 #1167 №2243914 
>>2243895
А вот тут мне тоже интересно стало, что тут плохо, ибо я плюс-минус так же бы написал. Разве что строки вынес в константы и LoadData разбил бы, чтоб не мешать всё в одну кучу.

мимокрокодил, не тянущий даже на стажера
Аноним 21/12/21 Втр 15:18:52 #1168 №2243941 
>>2243852
Они твой код уже продали кому-то. Надо было перед тестовым сразу говорить, что сделаешь только за деньги. Сейчас много таких разводил бродит и эксплуатирует глупых вкатунов.
Аноним 21/12/21 Втр 15:29:19 #1169 №2243966 
>>2243895
>Задание в ридми

Тут плохо всё. Ну не так чтобы совсем всё, но близко к тому.

Во-первых, где MVVM (в любом понимании), какого чёрта бизнес-логика делает в CodeBehind окна?
Во-вторых, разметка XAML ужасна. Вёрстка margin'ами - это несерьёзно. Есть ещё более мелкие правонарушения вроде комментариев на русском, не вынесенных в ресурсы строках, которые могут быть локализованы и т.д. и т.п.
В-третьих, почему у тебя в одном файле сразу куча классов?

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

>>2243914
>А вот тут мне тоже интересно стало, что тут плохо, ибо я плюс-минус так же бы написал.

MVVM, команда (где ICommand в любом виде?), вёрстка в XAML, общение с внешними сервисами, которые предоставляют данные о погоде и картинки, не вынесено в отдельные классы, к этим классам не описаны интерфейсы, буква D в слове SOLID тоже нигде не замечена.
Аноним 21/12/21 Втр 15:31:30 #1170 №2243971 
>>2243234
>РРЯЯЯ нет книжки по авалонии и хауди хо по ней видосики не выпускал, как хелловоурлд сделоть(((
Когда еще не устроился на галеру, спокойно за пару часов запилил графическое приложение на авалонии и запустил на распберри, ничего сложного там нет. Но нужно же код скопипастить и чтобы все заработало.
Аноним 21/12/21 Втр 15:32:05 #1171 №2243972 
Вот смотрите.
В асп нет есть встроеный депенс енжектор IServiceProvider.
Ну вот это вот все services.AddTransient<IMessageSender, EmailMessageSender>();

А есть такое для консольных приложений? Ну в смысли библиотека отдельная.
Что бы в начале Main строку прописал и по всему коду можно было передавать интерфейсы а эта шняга создавала уже объекты нужных классов и передавала их.
Аноним 21/12/21 Втр 15:34:00 #1172 №2243976 
>>2243966
Сенкс!!!
Аноним 21/12/21 Втр 15:37:53 #1173 №2243984 
>>2243966
Вот так и знал что надо подождать, до MVVM пару глав в книге оставалось, а я чет сразу решил по шурику ебануть
Аноним 21/12/21 Втр 15:38:53 #1174 №2243987 
>>2243972
Я вообще не понимаю зачем эти депенденси иньекторы существуют. Звучит как какая-то бесполезная херня, чтобы раздувать код ещё больше. Раньше писали код и всё работало, а теперь видите ли, чтобы отправить хтмл-страничку надо эту приблуду прикручивать. Я писал проекты на РНР и без этой ерунды и всё работало.
Ладно бы это всё было на уровне компиляции как препроцессор или сахар. Дак нет! Это говно жрёт ресурсы в рантайме. Кому-то лень самому создать объект и он хочет, чтобы ему фреймворк всё создавал на блюдечке. Ценность этой ерунды даже не нулевая, а отрицательная.
Аноним 21/12/21 Втр 15:49:55 #1175 №2244004 
>>2243987
Профит в том что многие классы могут требовать одинаковые объекты классов.
https://habr.com/ru/company/piter/blog/508508/ тут хороший пример.

А представь будет 1000 вызовов разных классов.
Аноним 21/12/21 Втр 15:50:35 #1176 №2244007 
>>2243773
Чего ты хочешь? Я не выкладывал это видео и я не автор этого видео, я дал очевидный ответ на твой вопрос.
Аноним 21/12/21 Втр 15:59:07 #1177 №2244013 
>>2243972
>А есть такое для консольных приложений? Ну в смысли библиотека отдельная.

Чем благородного дона не устраивает тот же Ninject?

>>2243987
>Я вообще не понимаю зачем эти депенденси иньекторы существуют. Звучит как какая-то бесполезная херня, чтобы раздувать код ещё больше. Раньше писали код и всё работало

Код принято делить на сущности, каждая из которых выполняет свою строго определённую функцию, когда таких сущностей становится много, то задача их инстанциирования становится весьма и весьма нетривиальной (чисто физически очень тяжело это руками каждый раз прописывать), поэтому появились фреймворки, которые делают всю грязную работу за погроммиста. Платить за это приходится производительностью: когда зависимостей становится действительно много (ну открываеш солюшен, а там больше ста проектов, например), то поиск по дереву зависимостей может занимать критичное для данного места время (я лично с таким не сталкивался), поэтому нужно иметь ввиду такую возможность: придётся создавать объекты ручками, чтобы не тормозило.
Аноним 21/12/21 Втр 15:59:25 #1178 №2244014 
>>2243984
Не хочу тебя дизморалить, но, судя по коду, ты будешь минимально коммерчески пригоден не раньше чем через три месяца безустанного дрочения. Я не разбираюсь в десктопных приложениях, но могу сказать, что и нейминг, и структура, и общий подход у тебя отвратительны, какая-то грязная смесь дельфи и питона получается.

Про пару глав до MVVM -- это охуеть вообще. С MVVM стоило бы вообще начать. Складывается ощущение, что ты вообще не понимаешь, что делаешь. Системнее подойди к вопросу вкатывания.
Аноним 21/12/21 Втр 16:13:58 #1179 №2244030 
>>2243521
>По SOLID-у если совсем не понимаешь, что это - посмотри Немчинского, у него есть серия видео где он каждую букву разжевывает.
>Главное запомни по букве D, что DI это всего лишь один из видов IoC, а не единственный.
Насколько я понимаю, DI в зависимости от контекста может переводиться и как инверсия зависимостей, и как внедрение зависимостей, а по смыслу инверсия означает IoC, а внедрение это один из методов достижения оного.

https://imgur.com/a/yv0bvTB
Аноним 21/12/21 Втр 16:35:25 #1180 №2244055 
>>2243536
>Причем, тестовые задания перестали адекватно отсеивать левых ребят, потому что в прошлом году появилось много интересных личностей, которые заказывают выполнение тестовых у какого-нибудь синьора
Лол. А это мысль.
>а потом на собесе FizzBuzz решить не могут и сказать, чем JSON от XML отличается.
Ну это же и без опыта шарпирования известно всякому. json это json, xml это xml, кто ж их не видел? Правда если спросят, в чём разница, я вот так даже сходу хз, что сказать. Ну в xml сплошные атрибуты и ноды, и текст, как в html. А в json числа, словари и массивы ещё есть. xml используется для сохранения конфигов, ну типа списки координат или треков для gps-навигаторов например, а иногда для сохранения документов. Json в AJAX запросах часто передаётся, и по вебсокетам, бывает, гоняется. Это то, что хотят на собеседованиях услышать, или этого мало?

>>2243616
>4) Следствие этого - найм джунов стал очень дорогим мероприятием. Нужно обработать очень большой объем кандидатов, потратить кучу времени нормальных разрабов на их собеседование, а потом еще и на дообучение. И офигенные риски на то, что он после обучения свалит, ну или тупо необучаемый.
>Т.е. вот это твое:
Ну а если сделать ход конём и вкатиться сразу мидлом?
Прийти, наврать, что отработал, скажем, пять лет в... Новосибирске, в конторе ООО Рога и копыта, делал там всякое, работал работу, платили рублями, в резюме что-то написать. При этом трудовую, допустим, потерял при переезде из Новосибирска, или вообще не оформляли, за чёрный нал, допустим, работал. Но всё умею и могу, нанимайте прямо сейчас и платите мне мидлозарплату.
Это реально?
>>Вот я согласен пойти ради самообучения за копейки работать. Ну 15к будет достаточно, всё-таки хоть что-то я умею,
>означает, что в тебя будет вбухано бабла тысяч на 300...500 в месяц, а потом еще и не факт, что все это отобьется.
Да ну? Поставить в углу офиса столик и кудахтер, ну максимум накормить бесплатными обедами - будет стоить 300 в месяц? Ты не преувеличиваешь? Я же не прошу мне персонального коуча выделить, дайте задачу, я решу, в процессе решения сам со всем разберусь. Скорее всего, даже ничего не поломаю. Ну проверите мой код перед слиянием, это вроде не бог весть какой объём работы помидора, чтобы прям 300 в месяц на меня одного ушло.

Мда, что-то безрадостные вы картины рисуете. Так где взять опыт, если его нет? Может, проще сразу на хуй пройти?
Точнее, вот у меня дохера опыта. Я знаю всякие басики (и даже на фокале писал, лол), asm, pascal, delpi, dbase/ребус, javascript, python, умею в git, линтеры, дебаггеры, знаю и умею дохуя всего, начиная с хэшей, многосвязных списков, хаффмановских деревьев, конечных автоматов, регулярочек, и заканчивая http, вебсокетами, json-ами, xml-ями, башем, хуяшем, lexx/yacc, автотесты, вот это вот всё.
Но с точки зрения рыночка я даже не джун, а стажёр, и меня заведомо не возьмут, так как трудовой у меня нет, и конкретной надроченности на какой-то конкретный язык у меня нет, и в резюме написать нехуй, так как программировал я для себя и то, что написал, оно как бы, ну довольно сложно, и работает, но не буду же я ходить по собеседованиям и говорить "а вот я десять лет назад игру написал на совершенно другом ныне хз кому нужном языке". При этом ни sql, ни докеров, ни какой-то такой хуйни я не использовал, не было надобности. Ну надо будет - я разберусь. Не понимаю, в чём принципиальное отличие sql от того же dbase, та же хуйня, только с utf-8. Просто скучно ковырять инструмент не имея какой-то задачи. Ну посоздавал я там ручками таблицы в админке, ну и чего? Я могу сказать, что это опыт создания и администрирования баз данных? Но ведь это же не совсем так. Это всё игрушки, базы по десять записей. Не, я могу и миллион записей туда накидать, только что это даст, без опыта решения конкретной задачи?

Плюс ещё возраст, я в силу возраста не могу сказать, что я вот только вчера закончил универ и поэтому безработный. Значит всё, что мне остаётся - это соврать. И, похоже, врать придётся что я как минимум мидл. Раз джуны никому не нужны. Как думаете, это реально?
Я понимаю, что обманывать нехорошо, но какие варианты-то?
Аноним 21/12/21 Втр 16:48:40 #1181 №2244067 
>>2244030
IoС - Inversion of Control - инверсия управления - один из принципов проектирования, позволяющий уменьшить связанность меду компонентами системы.
DI - это Dependenci Injection - принцип внедрение зависимостей. Один из способов реализации инверсии контроля.
Например самое просто - паттерн IRepository - тоже один из способов инверсии управления, но это не DI

Очень часто подразумевая IoС, говорят "инверсия зависимостей", что в некоторой (в некоторой) степени верно, но не отражает всей сути принципа. Поэтому очень часто и происходит путаница.

За остальной информацией в книги.

Аноним 21/12/21 Втр 16:56:27 #1182 №2244073 
>>2244055
>Ну а если сделать ход конём и вкатиться сразу мидлом?
>Прийти, наврать, что отработал, скажем, пять лет в... Новосибирске, в конторе ООО Рога и копыта, делал там всякое, работал работу, платили рублями, в резюме что-то написать. При этом трудовую, допустим, потерял при переезде из Новосибирска, или вообще не оформляли, за чёрный нал, допустим, работал. Но всё умею и могу, нанимайте прямо сейчас и платите мне мидлозарплату.
>Это реально?
В теории можно если хорошо подвешен язык, ну и опять же на собеседующий будет уставший, а ты мало-мало сможешь на его вопросы ответить. Я х.з.
Но только ты на выполнении первой же таски обосрешься или даже еще раньше на разворачивании рабочей среды. И соответственно вылетишь в первый месяц испытательного срока.

Ну и так для сведения. Сейчас очень много где все выложенные резюме собираются в единые базы вроде FrendWorka или своих собственных и в следующий раз когда очередной HR будет рассматривать твое резюме, она обязательно пробъет тебя по базе, а там будет стоять пометка: "пиздобол, врет что мидл, а сам нихуя не знает" и отношение будет соответствующее. Отворачиваться никто конечно не будет, но на собесах ебать могут знатно.
Аноним 21/12/21 Втр 17:06:45 #1183 №2244081 
>>2244055
> Лол. А это мысль.
Один хуй пояснить потом не сможешь ничего.

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

> Это то, что хотят на собеседованиях услышать, или этого мало?
Хотят услышать, насколько по-человечески адекватно ты мыслишь и понимаешь. Капча -- не более того. Когда меня такое спрашивают, я просто говорю что-то в духе, что XML -- язык разметки, JSON -- формат для текстового представления JS-объектов, и в реальности используются для сериализации объектов и обмена данными между сервисами и внешними системами. Если будешь в банк собеседоваться, XML может потребоваться знать вглубь, ведь там куча хуйни вроде неймспейсов, XSLT и SOAP'а вокруг, но это уже довольно редкие частности.

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

> Ну а если сделать ход конём и вкатиться сразу мидлом?
Ну попробуй. Меня на мидла, если не считать платину вроде ООП и SOLID, спрашивали о предыдущем опыте, фейлах, подводных камнях автомаппера, жизненном цикле типичной новой фичи/задачи, апкастах/даункастах, value objects, IQueryable, DI -- что угодно, но на всех собесах всё разное, поэтому к ним не подготовишься. Я и не готовился, в общем-то.

Ну вот спросят тебя, можно ли для структуры интерфейс реализовывать. Что ответишь?
Аноним 21/12/21 Втр 17:09:38 #1184 №2244085 
>>2243972
>А есть такое для консольных приложений? Ну в смысли библиотека отдельная.
Да. И это все та же самая библиотека
Microsoft.Extensions.DependencyInjection. И к твоему сведению она не встроена в ASP.Net, а просто прикручена к шаблону. Ты если хочешь можешь создать ASP.Net приложение и без DI, только это будет совсем уж долбоебизм.

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

И точно так же ты можешь сделать это и в WPF приложении, а так же в WinForms, а так же в любой другой залупе. Принцип абcолютно тот же самый.



Аноним 21/12/21 Втр 17:19:31 #1185 №2244093 
>>2243987
>теперь видите ли, чтобы отправить хтмл-страничку надо эту приблуду прикручивать
Ну если тебе нужно только страничку отправить, то возможно, что прикручивание DI для тебя будет лишним.
А вот если тебе нужно принять запрос, обработать его. Проверить авторизацию. Дернуть данные из источника (причем это может быть как и обычная БД (постгрес, мускул или скулайн), а может и необычная. Потом дернуть файл (может локально, может удаленно, может из контейнера, х.з. ты не можешь знать откуда), потом дернуть криптографический сервис (может локальный, может удаленный), чтобы его подписать, потом все это вместе собрать применив по дороге несколько раз ебанутую бизнес и прочую логику. И вернуть все это в ответ на запрос. Вот когда ты для такой цепочки попрокидываешь вручную зависимости от класса, к классу, вот тогда и поймешь зачем нужен DI, который делает это все за тебя.
Аноним 21/12/21 Втр 17:30:28 #1186 №2244102 
>>2244055
>но какие варианты-то?
Въебывать, учиться и пробовать.
У тебя сейчас установка "я нихуя не знаю, но хочу вкатиться в теплое местечко, а потом само пойдет".
Так не бывает. Вернее бывает, но в одном проценте из ста и ты явно в этот процент не попадаешь. Придется помаяться минимум год, чтобы начать что-то из себя представлять. Главное выкинь из головы установку из окружающего инфополя, что вкатиться в айти - это легко и приятно. Это не так.
Аноним 21/12/21 Втр 18:13:06 #1187 №2244164 
>>2244073
>Но только ты на выполнении первой же таски обосрешься или даже еще раньше на разворачивании рабочей среды.
А почему? Ну ведь я новичок в проекте. Мне по-любому надо сначала изучить, где что лежит, над чем работаем, какие модули, где какой класс, что они делают... Никто же ведь не приходит с уже готовым знанием проекта. Ведь любой будет разбираться и вкатываться, даже если у него до хрена опыта? В чём я там могу обосраться хуже других?
А что ты имеешь в виду под разворачиванием рабочей среды? VS накатить? А это не одмины будут делать? Я могу, конечно, сам, могу и операционку сам переустановить (но ведь не дадут?), но разве нет какого-то уже готового набора инструментов для погромистов?
>И соответственно вылетишь в первый месяц испытательного срока.
Хочешь сказать, что я весь месяц только и буду, что обсираться?
Ну допустим даже обосрусь. Пойду опять на собеседование и буду втирать уже про то, что работал пять лет и один месяц, а не пять лет, и приплюсую к своему "стеку технологий" всё, что на первом месте повидал хоть краем глаза.
Допустим, обосрусь ещё раз. Допустим, снова пойду на собеседование и снова навру, в третий раз. Не может же быть такого, что в какой-то момент уже весь город будет знать, что я только и умею, что обсираться? Да и почему я должен продолжать обсираться на протяжении трёх месяцев подряд?
Неужели вы там космические технологии разрабатываете, с которыми вкатуну никак не совладать?
>Ну и так для сведения. Сейчас очень много где все выложенные резюме собираются в единые базы вроде FrendWorka или своих собственных и в следующий раз когда очередной HR будет рассматривать твое резюме, она обязательно пробъет тебя по базе, а там будет стоять пометка: "пиздобол, врет что мидл, а сам нихуя не знает" и отношение будет соответствующее. Отворачиваться никто конечно не будет, но на собесах ебать могут знатно.
А это не нарушение законов об охране персональных данных? А что если дать хрюше шоколадку, с тем условием, чтобы она там написала в этой базе, что я охуенный мидл, почти помидор?
>>2244081
>> Лол. А это мысль.
>Один хуй пояснить потом не сможешь ничего.
Ну нет. Я же изучу, что я понесу предъявлять. Спросят "а почему сделал вот именно так", скажу "ну, моё чувство прекрасного подсказало, что надо делать именно так, автоматизм, интуиция, опыт не пропьёшь, все так делают и я так делаю испокон веков, а что, разве плохо?"
>> Ну это же и без опыта шарпирования известно всякому.
>Потому и спрашивают такую хуйню для разогрева.
А потом?
Ну спросят меня про какой-нибудь транклюкатор, про который я впервые слышу, а я скажу, что ни разу этим не пользовался, как-то не доводилось, другие делали, а я просто рядом стоял и поэтому не помню, разве же всё упомнишь?
>> xml используется для сохранения конфигов, ну типа списки координат или треков для gps-навигаторов например, а иногда для сохранения документов. Json в AJAX запросах часто передаётся, и по вебсокетам, бывает, гоняется.
>Вот тут хуйню какую-то несешь и сам себе грабли подготавливаешь на пути. Разницы между ними нет и хранить в них можно что угодно. Если собеседующий вахтер, то может насторожиться и заебать тебя уточнениями, в которых ты утонешь.
А какими уточнениями, например? Ну спросит - я отвечу. Ну вот спроси. Не будет же он меня про неймспейсы спрашивать, про которые я, конечно же, не знаю?
Вот мне надо создать json. Беру библиотеку, там какая-нибудь функция вроде object_to_json, (в каждом языке своя, допустим, я последние три года больше на похапэ программировал, а шарп самую малость подзабыл, но вспомню бля ваще не вопрос, я же не лох какой-то, чтобы наизусть все константы помнить) получаю строку, которую пихаю в запрос или в ответ на запрос. А что надо знать ещё про json? Разве недостаточно просто знать, что он есть и его можно использовать при необходимости? Как и XML? Ну выбрал кто-то XML для хранения каких-то данных. Нам надо с ними работать. Берём и работаем. Опять же, есть библиотеки, которые позволяют эти данные распарсить. Надо - сам распарсить могу. Что такого у меня могут спросить, что из неответа на этот вопрос будет следовать, что не бывать мне мидлом?
>> Ну а если сделать ход конём и вкатиться сразу мидлом?
>Ну попробуй. Меня на мидла, если не считать платину вроде ООП и SOLID,
Ну я же знаю, что такое ООП. Ну могу зазубрить и про солид, рассказать эти пять принципов. Принцип единственной ответственности, принцип подстановки какой-то Лисков (кто это вообще?), инверсия зависимостей, это так важно? Ну подучу прям наизусть.
Что там я ещё забыл? Разделение интерфейсов. Не пихать много интерфейсов в один интерфейс. Ну это как бы очевидно же, разве нет?
И принцип открытости-закрытости. Не знаю, как по мне, так это следует из моего представления об инкапсуляции в ООП. Ясно же, что есть private, а есть public, и вне методов класса пользоваться надо только public, чтобы случайно не выстрелить себе в ногу из-за внезапного изменения особенностей реализации private методов.
>спрашивали о предыдущем опыте,
Ну делал всякое, там, писал программы, вот это всё. Ну там ещё комитили постоянно, а потом хуяк-хуяк и в продакшн. Не? Так не покатит? А как надо?
>фейлах,
Да мало ли в жизни неудач? Ну вот, допустим, решали одну вычислительную задачу, анализ многосвязного графа из сотен тысяч вершин. Решали, решали, а оказалось, что для многих вершин она не решается, так как в результате рекурсивного анализа следствие вышло на самого себя. Переделали в итеративный вид, когда анализатор пробегал по всему графу последовательно, а не вглубь, и либо принимал решение сразу, либо оставлял на потом. Часть вершин успешно обсчитали, а часть осталась в "зацикленной" области. Но её потом тоже обсчитали, изобретя другой способ оценки, который стал возможен именно благодаря тому, что у нас появились данные об итерациях. Подробнее рассказать не могу, подписывал соглашение о неразглашении.
Покатит такое враньё?
Или надо прямо конкретно с примерами? А если не было фейлов? Ну не было фейлов, и всё. Ну сервер однажды со стола уронили, восстанавливали потом три часа из бэкапов.
>подводных камнях автомаппера,
Про это ничего не скажу, пока не в курсе.
>жизненном цикле типичной новой фичи/задачи,
Это что имеется в виду?
Ну вот пользователи требуют фичу у поддержки. Поддержка или кто-то там предлагает это реализовать. Думаем, можем ли это сделать, сколько это ресурсов займёт и насколько будет полезно. Делаем какую-то там пометочку в todo list (хз какой вы там софт используете, надо бы погуглить). Кто-то берётся и делает. Создаёт новую ветку в гите. Ну что там дальше, ответственный за задачу эскизно решает проблему, что дано, что надо получить, что для этого надо сделать, какие классы, какие методы. Пишем наборы тестовых данных, определяем, что должны в итоге получить. Пишем процедуры, которые делают задуманное, проверяем их на каждом наборе тестовых данных. Приделываем эту процедуру к реальному проекту. Каждое утро ветку ребейзим на девелоп. Написали, смержили. Показываем, что всё работает. Утверждаем, что задача решена. Пушим в девелоп, а потом в мастер. Потом хуяк-хуяк и в продакшн.
А если меня перебьют и спросят "что-что вы несёте?", всегда можно сказать "Ну у нас в ООО Рога и копыта был свой собственный подход, таковы были требования руководства, я не настаиваю, что это единственно возможный вариант".
Прокатит?
>апкастах/даункастах, value objects, IQueryable, DI -- что угодно, но на всех собесах всё разное, поэтому к ним не подготовишься. Я и не готовился, в общем-то.
Ну тут, конечно, я ни слова не понял, но прочитав прайсовскую книжку по сишарпу-то найду, что сказать? Или нет?
>Ну вот спросят тебя, можно ли для структуры интерфейс реализовывать. Что ответишь?
Структура это тип данных в шарпе? Я в шарпе ноль. Но я же книжку почитаю. А так по идее интерфейсы это для классов, чтобы реализовать подобие множественного наследования, но не множественное наследование, так как множественное наследование это почти всегда бардак и макароны. Про это речь? Ну и вот если у меня примерно такой уровень понимания, имеет ли смысл пиздеть, или это только смешить людей?
Ну а ответ на вопрос про структуру и интерфейс - ткну пальцем в небо и отвечу, что нет, так как интерфейс подразумевает работу с методами, которых у структуры нет. С другой стороны, во многих языках все типы данных - классы, и значит интерфейс можно хоть к integer приделать, если необходимо, но зачем?
Это канает за ответ или вообще не канает?
Аноним 21/12/21 Втр 18:13:13 #1188 №2244165 
>>2244081
>Ну вот спросят тебя, можно ли для структуры интерфейс реализовывать. Что ответишь?
Можно, но рот в говне будет.
Аноним 21/12/21 Втр 18:23:20 #1189 №2244175 
>>2244164
>А что ты имеешь в виду под разворачиванием рабочей среды?
Запустить проект со всеми зависимостями например. Скажут тебе keycloak какой-нибудь развернуть в докере и настроить локально( там как раз с аспнетом есть подводные камни).
>Ну могу зазубрить и про солид, рассказать эти пять принципов.
Зазубрить ты сможешь, но если потный разраб задаст вопрос на понимание(а без опыта разработки и натыкания на проблемы, которые солид и паттерны решают, ты их с 99% вероятностью не поймешь) ты сядешь в лужу. С джуна требовать солид и паттерны вообще долбоебизм как по мне, как и тдд. По моему опыту общению с сеньорами на галере, они обычно заворачивают челов, которые пытаются козырять поверхностными знаниями.
Аноним 21/12/21 Втр 18:25:37 #1190 №2244181 
>>2244175
>Скажут тебе keycloak какой-нибудь развернуть в докере и настроить локально( там как раз с аспнетом есть подводные камни).
А девопсы чем тогда заниматься будут?
Аноним 21/12/21 Втр 18:36:06 #1191 №2244196 
>>2244181
Девопс будет каждому программисту жопу подтирать, когда ему для разработки нужно локально развернуть какой-нибудь новый сервис? С таким подходом на каждого программиста нужног будет по девопсу, который будет стоять за спиной и решать все проблемы с корзиночкой, который бедный не может докерфайл написать. Понятное дело, бизнес не будет нанимать столько девопса, а просто нахер пошлет некомпетентного вкатуна.
Аноним 21/12/21 Втр 18:45:38 #1192 №2244208 
>>2244164
>И принцип открытости-закрытости. Не знаю, как по мне, так это следует из моего представления об инкапсуляции в ООП. Ясно же, что есть private, а есть public, и вне методов класса пользоваться надо только public, чтобы случайно не выстрелить себе в ногу из-за внезапного изменения особенностей реализации private методов.
Ну вот уже и обсер. Open-Close принцип не про это.
Аноним 21/12/21 Втр 19:04:07 #1193 №2244231 
>>2244196
>Девопс будет каждому программисту жопу подтирать, когда ему для разработки нужно локально развернуть какой-нибудь новый сервис?
Очевидно же, что нет. Девопс - выстроит пайплайн, подтирающий каждому программисту жопу. Ну а так да, если у программиста грязная жопа - виноват именно девопс.
Аноним 21/12/21 Втр 19:05:28 #1194 №2244234 
>>2244102
> Главное выкинь из головы установку из окружающего инфополя, что вкатиться в айти - это легко и приятно. Это не так.
А как? Что есть "въёбывать", если меня не будут рассматривать даже как бесплатного стажёра?
А что, мой частный опыт это вообще ноль? То есть ты можешь написать дохуя разных программ, в том числе и не самых простых, но без записи в трудовой ты хрен с горы? Поэтому это не считается за вкат? Ну мне же не надо объяснять, что такое эксепшн или регексп. Почему я не могу просто начать писать код? Пусть сначала простые задачи, пусть сначала кривовато, ну так и что, за годик со всем разберусь, и буду понимать что к чему ни хуже любого другого погромиста из данной конторы.
Ведь никто из вас не знает ничего такого, в чём не смог бы разобраться я. Ну не маги вы, и не волшебники, и не боги горшки обжигают. И я мог бы делать всё то, что делаете вы. Кто-то другой, может, и не смог бы. А я смог бы. И не хуже вас.
Но почему я должен ходить по собеседованиям и проситься поработать забесплатно, только чтобы доказать, что я что-то могу? Это же абсурд. Сами ноют, что спецов нет, и сами же не берут тех, кто готов работу спеца выполнять. Пусть не мгновенно, пусть не сразу, пусть пока только на словах, пусть я даже обосрусь, пусть я даже неделю, месяц, год буду обсираться и делать всё через жопу, так, что половину придётся переделывать. Я же не прошу сразу зарплату 300к. Меня устроят и символические 50к. Я просто сам уйду, если вкачусь, всё освою, буду делать дохуя, а платить мне будут меньше других, поэтому сами поднимете и станете упрашивать, чтобы я остался и доделывал эту вашу хуйню. И я знаю, что так было бы. Не могло бы быть иначе.
Но нет, меня почему-то не возьмут. Скажут, что изначально дипломом, возрастом, рылом не вышел. Да ещё в какие-то базы добавят с пометками "много пиздит".
Ну хрен знает.
Аноним 21/12/21 Втр 19:20:49 #1195 №2244261 
>>2244234
На собесах специально талантливых валят, потому что боятся конкуренции. Они прекрасно знают, что их преимущество лишь в том, что они успели залезти в айти, хотя были ещё большими тупнями. Теперь они боятся, что молодые их вытеснят.
Аноним 21/12/21 Втр 19:21:29 #1196 №2244262 
>>2244231
У девопса внезапно есть куча более приоритетных задач, чем разбираться, почему вкатун не смог пару строчек в терминале вбить. Разница между тем, чтобы нанять еще пару девопсов или нанимать более компетентных вкатунов, для кабанчика вполне очевидна. Поэтому вкатун идет нахуй.
Аноним 21/12/21 Втр 19:31:55 #1197 №2244272 
.jpg
>>2243895
Ну, что я вижу:
1. Комменты на русском - сразу нахуй. Либо не пиши их вовсе, либо пиши на человеческом языке.
2. Статииа в классе главного окна. Что будет, если мы решим сделать это окно частью другого приложения? Придумал на 11/10 короче
3. if-else - сразу нахуй. Пиши так, чтобы не нужно было else использовать
4. Логика не разбита на сущности. С хуя у тебя вообще MainWindow - загружает данные, знает откуда загружать и вообще все остальное делает. Блядь. Это ОКНО. Оно должно за ОКНО, блядь, отвечать. Какие контроллы у тебя там, как их нарисовать, где расположить и сообщать о том, что произошел какой-то эвент связанный с окном. Все. Остальная логика должна быть вынесена в сервисы, viewModel, и модель, при этом окно - не должно нихуя про них знать, только иметь ссылку на ViewModel и передавать туда сообщения, реагируя на изменение состояния ViewModel.
5. Видно что у тебя написание кода не доведено до автоматизма и ты даже свой редактор не настроил на автоформатирование. Настрой, чтобы не было этой хуйни с неравными отступами и
6. MessageBox.Show("Canceled"); Сразу нахуй. Делай нормальное модальное окно, а не эту хуйню. А лучше не делай вообще, потому что у тебя в задании этого не требуется, но чисто с точки зрения UX - хуйня какая-то, кликать при каждой отмене на это ебучие окошко.
7. Отсутствует единый стиль именования полей. С хуя у тебя тут в начале _ используется, а там - не используется, а тут - между словами _? Настрой в студии проверку стилей именования полей и сделай чтоб тебе красным подчеркивало, раз до автоматизма сам не можешь довести.
8. Из лично моих доебов. Расположение полей. Они, по хорошему, должны идти до конструктора, но после событий.
9. Из лично моих доебов. Именование. Хуевое. Нахуя эти аббревиатуры? Вот разрастется этот класс, будет 1000к строк. Как я должен буду понять, что за cts?

Ну. На стажера, как по мне, таки тянешь.
Аноним 21/12/21 Втр 19:37:51 #1198 №2244274 
еееееееееееее.png
>>2244164
>А что ты имеешь в виду под разворачиванием рабочей среды? VS накатить?
Дохрена всего еще. База данных, докер, node пакеты если фронт на js, всякие sdk, если тебе нужно будет разворачивать софт как сервис, и т.д. Причем все это может вставать не с первого раза и тянуть за собой кучу других зависимостей.

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

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

>Никто же ведь не приходит с уже готовым знанием проекта. Ведь любой будет разбираться и вкатываться, даже если у него до хрена опыта? В чём я там могу обосраться хуже других?
Вот тебе на пике пример структуры простого проекта (это кстати тестовое для джуна если что, не в смысле написать такое, а отрефакторить и переделать). Будучи "мидлом" как ты заявишь, ты должен глянуть на структуру и сразу понимать где и что здесь находится и куда лезть, если тебе например скажут напихать новых моделей или DTO-шек или отрефакторить файловый сервис, или подшаманить контекст.
Если можешь, то уже имеешь шансы. Джун тоже кстати должен во всем этом разбираться, но ему позволительно задавать тупые вопросы.

Аноним 21/12/21 Втр 19:50:05 #1199 №2244287 
>>2244272
Спасибо
Аноним 21/12/21 Втр 19:50:26 #1200 №2244288 
>>2244234
>Пусть сначала простые задачи, пусть сначала кривовато,
На моей первой работе, мой второй или третий таск на 4-й день работы был примерно такой:
Залезть в генератор метаданных. который во время работы считывает файл конфигурации, сама создает по нему c# код для ef, компилит его на лету в сборку, подключает ее, берет оттуда типы и создает по ним структуру БД (и все это в рантайме). И приделать к туда возможность обрабатывать индексы для таблиц БД (задаваемые в конфигурационном файле). Причем не простые, а всякие навороченные (по сути почти весь набор, который умеет БД - BTREE, GIST, GIN и другая экзотика), чтобы это все валидировалось и собиралось.
И все это на позиции джуна (хотя за счет этого мне дали много времени)

А придешь ты мидлом работать тебе сразу дадут какой-нибудь криптографический сервис внедрять - потянешь?
Аноним 21/12/21 Втр 20:03:04 #1201 №2244298 
>>2244234
>Почему я не могу просто начать писать код?
Ну так и пиши, кто тебе мешает?

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

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

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

>>2244234
>Меня устроят и символические 50к.
Нет, ну ты точно охуел.
Аноним 21/12/21 Втр 20:12:14 #1202 №2244312 
>>2244175
>>А что ты имеешь в виду под разворачиванием рабочей среды?
>Запустить проект со всеми зависимостями например. Скажут тебе keycloak какой-нибудь развернуть в докере и настроить локально( там как раз с аспнетом есть подводные камни).
Ну погуглю, как это делается, да разверну. Спросят, почему сам не знаю, что за keycloak - скажу, что не пользовались таким, да и всё. Что, не настрою? Ну приду сюда и спрошу, "парни, как развернуть кейклоак в докере, а то чё-то я затупил". Или у соседа спрошу, что, он сразу побежит хрюше стучать "вы кого к нам прислали, он же не знает, что такое кейклоак", а та сразу в базу напишет "напиздел, что мидл, а что такое кейклоак не знает"?
>>Ну могу зазубрить и про солид, рассказать эти пять принципов.
>Зазубрить ты сможешь, но если потный разраб задаст вопрос на понимание(а без опыта разработки и натыкания на проблемы, которые солид и паттерны решают, ты их с 99% вероятностью не поймешь) ты сядешь в лужу.
Да почему не пойму? Ну вот депенденси этот. Вот вы сделали одно, сделали второе, они тесно взаимодействуют. Всё протестировали. Теперь надо одно заменить третьим. А в результате приходится изменить и второе. И по-новой тестировать. И тесты переписывать. И снова баги ловить. А что тут непонятного? Я просто не понимаю, зачем это зубрить. Ну, допустим, нарушу я этот принцип, и что? Все нарушают. Никто не носится с ним как угорелый, и не пихает эту инверсию зависимостей везде просто чтобы было. А применяют там, где оно действительно нужно, где иначе просто заебёшься без него. Ну так, во-первых, я же не отвечаю за архитектуру проекта, кто-то более опытный это, по идее, уже сам решил, что вот тут будем писать вот именно так. А почему именно так - я пойму. И буду писать в таком стиле. Очевидно же. Я не вижу в этом никакой проблемы. Ну допустим даже где-то я проебусь. Допустим, даже, серьёзно проебусь. Допустим, даже, где-то придётся всё переделывать. А что, с кем-то такого не бывает вообще никогда? Может кто-то даже отладчиками не пользуется за ненадобностью?
>С джуна требовать солид и паттерны вообще долбоебизм как по мне, как и тдд.
Как по мне - тоже. Но речь о том, что я в джуны идти не хочу. Я не чувствую себя джуном даже с нулевыми знаниями сишарпа. Я писал на десятке разных языков. Очень разных. Поначалу тупил. Через неделю уже строчил как пулемёт говнокодом. Через месяц уже приводил говнокод в порядок и на него можно было даже смотреть. Ну и сишарп - не брейнфак, да нет здесь ничего принципиально нового, то же ооп, те же лямбда-функции, те же классы, те же структуры данных, те же алгоритмы. Ну какие-то докеры на кой-то хер разворачивают, честно, я не понимаю, зачем. А что, должен простой программист непременно уметь в докеры? Вот зачем оно? Ну вы объясните, зачем оно надо, покажете, куда что прописать, что с какими ключами запустить, ну сделаю, что, проблема, что ли? Что это, космический корабль, который развалится, если я предварительно триста экзаменов по нему не сдам?
Ну ок, хорошо, не знаю я докеры. Не знаю. Вот, пришёл к вам программировать. Ну кто-нибудь из вас знает? Ну тогда давайте вот сегодня вы сами кейклоки свои развернёте, а я завтра или через неделю? Ну или сяду сейчас и доку по кейклокам почитаю, глядишь, за полдня разберусь. Или не разберусь? Это принципиально, чтобы вот именно сейчас именно я это делал и именно дедлайн прямо, всё, горит? Ну тогда вам надо было нанять меня три недели назад, я бы как раз две недели назад уже во всём разобрался и давно уже всё сделал бы, а сейчас ша, не суетитесь уже, мидл работает, изучает проблему, уже почти загрузил стартовую страницу гугла.
Неправильный подход, да?
>По моему опыту общению с сеньорами на галере, они обычно заворачивают челов, которые пытаются козырять поверхностными знаниями.
Что значит козырять? Ну допустим, поверхностные у меня знания, дальше что? Допустим, я этот ваш SOLID осознанно нигде не применял, а примеров применения не могу привести потому что никогда особо не задумывался об этом. Но это же не значит, что мой код ему не соответствует. Только потому что я не знаю, какой буквой какой принцип обозначается, это же не значит, что в моём коде рецепт и повар это одна и та же сущность. Ведь это же очевидно, для меня лично. Пусть я не могу об этом вумные книги писать, рассказывая о том, как надо правильно строить архитектуру, но и откровенной хуйни не пишу. Так чем плохи мои поверхностные знания, которыми я козыряю?
>>2244196
Ну ведь у вас же есть уже какой-то докерфайл? Покажите его мне, а я переделаю под нужную задачу. Можете не показывать, скажите просто, где у вас что лежит, сам найду. Чем это не решение задачи? Ну да, не знаю, ну разберусь как-нибудь, раз у вас такой занятой девопс.
>>2244262
Ну вобью я пару строчек в терминале. Пусть он просто покажет, а я потом буду сам вбивать. Я же не баба срака из бухгалтерии, которая пишет на бумажке как в виндовс логиниться и приклеивает к монитору, чтобы не забыть.
В чём проблема?
>>2244208
Ок, хорошо, я неправильно понял, про что этот принцип.
А это критичный обсёр? А он прямо сделает весь мой код непригодным?
Что я теперь, не понимаю, в чём суть плагинов? Но я их писал давным-давно, и теперь пишу. Что, я не могу написать модуля или процедры, функциональность которой может быть расширена без модификации её самой? Но я ведь не должен все подряд процедуры писать именно так. Чтобы в каждой процедуре реализовывались прямо все пять принципов. И никто не пишет так. У меня, кстати, тоже есть пример из практики, где я это реализовывал, ну то есть саму возможность изменять функционал программы без её перекомпиляции. То есть я это делал, при чём не зная ни про какие солиды, просто делал, потому что просто считал, что так правильно, интуитивно. И этот мой опыт не канает только потому что я не вспомнил про этот конкретный пример и не нашёл, как его обозвать какими-то умными словами, которые стали известны десять лет спустя после того, как я до этого дошёл сам?
Это же ёбаный абсурд. Я обосрался! Сделав на десять лет раньше то, о чём потом кто-то там в омерике раскукарекался десять лет спустя, и начисто забыв о том, что я это делал.
И поэтому меня не следует нанимать, а следует в какую-то базу пиздоболов внести.
Да я, может быть, сам бы сейчас мог прославиться, как раз если бы был пиздоболом и лет двадцать назад что-нибудь красивое о своих программах напиздел с напутствиями вроде "следуйте все моим пяти принципам, делайте все вот так". И сейчас бы вы меня отказывались нанимать потому что я сам своих принципов не знаю. Какой-то бред.
Это-то я как раз знаю, я докером никогда не пользовался - это да. Но вот тут же говорят, что девопс поможет. А я разберусь.
Аноним 21/12/21 Втр 20:20:03 #1203 №2244323 
>>2244165
Ответ синьора. Запомню фразу, на собесах бы пригодилась пару раз, лол.

>>2244164
> Никто же ведь не приходит с уже готовым знанием проекта.
Оно и не нужно. У тебя обсёр уже на уровне поста в треде.

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

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

> И принцип открытости-закрытости. Не знаю, как по мне, так это следует из моего представления об инкапсуляции в ООП. Ясно же, что есть private, а есть public
В этом абзаце всё смешно, но это самое смешное.

> Так не покатит? А как надо?
Надо так, чтобы от тебя не пахло пиздаболом. Пахнет.

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

> пока не в курсе
И не будешь, пока год с ним не повозишься.

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

> А если меня перебьют и спросят "что-что вы несёте?"
Так не сделают. Сразу поймут, что пиздабол, и вежливо дотянут собес до конца.

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

Тем временем посмотри, сколько своей хуйни ты уже в тред высрал. Мог бы за сегодня сделать простейший сервис с чатиком по какому-нибудь тьюториалу, но вместо этого фантазировал и задавал вопросы, знание ответа на которых никак ничего не поменяет в твоей ситуации. Голову в порядок приведи и делом займись.
Аноним 21/12/21 Втр 20:21:25 #1204 №2244325 
>>2244272
>if-else - сразу нахуй

Херня.

>6. MessageBox.Show("Canceled"); Сразу нахуй

Херня. Другое дело, что это не вынесено в сервис, но у него там вообще ничего не вынесено.
Аноним 21/12/21 Втр 20:29:43 #1205 №2244335 
>>2244312
>Но это же не значит, что мой код ему не соответствует.
Значит.
>Ну какие-то докеры на кой-то хер разворачивают, честно, я не понимаю, зачем.
Если ты не понимаешь, ты даже не джун.
>Никто не носится с ним как угорелый, и не пихает эту инверсию зависимостей везде просто чтобы было. А применяют там, где оно действительно нужно, где иначе просто заебёшься без него.
Как ты поймешь, где нужно, а где нет?
Мидл - самостоятельный разработчик, от него ожидают решений поставленных с расчетом на его компетенцию задач. Пиздуй устраиваться стажером на галеру, через год два станешь мидлом, если не дебил. Задрочить знания на мидла не выйдет, без опыта на реальных проектах ты никогда не поймешь что, зачем, как и почему делается.
Аноним 21/12/21 Втр 20:29:55 #1206 №2244336 
>>2244312
Ты, говоря откровенно, шизофреник какой-то. Тебе никто пока этого прямо не сказал, вроде, но у тебя точно такие же поверхностные знания во всех остальных языках и технологиях, какие ты упоминал.

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

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

Выходи из манямирка и занимайся делом, в треде тебе уже на всё ответили и дали понять, что просто так тебе в руки ничего не упадёт с неба.
Аноним 21/12/21 Втр 20:41:31 #1207 №2244351 
>>2244274
>>А что ты имеешь в виду под разворачиванием рабочей среды? VS накатить?
>Дохрена всего еще. База данных,
И что, её тоже самому надо ставить? А просто ctrl-c/ctrl-v сделать нельзя? Ну у вас же на всех машинах уже всё настроено? И что, каждый раз каждый с нуля всё сам ставит?
>докер, node пакеты если фронт на js,
И нет никакого скриптика, который сам всё это ставит? Все вот эти пакеты? А почему? А может быть написать такой скрипт?
>всякие sdk, если тебе нужно будет разворачивать софт как сервис, и т.д. Причем все это может вставать не с первого раза и тянуть за собой кучу других зависимостей.
Тем более должен быть какой-то скрипт, ну или хотя бы инструкция, по которой всё это делается. Не с нуля же каждый раз надо придумывать, как и куда всё поставить, и изучать каждый раз, где какие опции надо прописать, чтобы оно заработало.
И сколько времени даётся на разворачивание рабочей среды?
И почему я с этим не справлюсь, если я, допустим, тысячу раз переустанавливал венду, да и линукс?
>>А это не одмины будут делать? Я могу, конечно, сам, могу и операционку сам переустановить (но ведь не дадут?), но разве нет какого-то уже готового набора инструментов для погромистов?
>Нет никто с тобой возиться не будет. Админ максимум выдаст тебе машину и предоставит доступы. Лид выдаст страничку на которой будут перечислены зависимости которые тебе нужны для работы (хорошо если он окажется актуальным, а не составленным 2 года назад). Тебе нужно будет все это уметь самому.
Ну погуглю. Что, не нагуглю, что ли?
>Т.к. вполне возможно придется во время работы переустанавливать туда сюда по потребностям (например откатится на одну из старых версий которые сейчас в проде и имеют другие зависимости).
Ну тем более нужны какие-то файлы с инструкциями, чтобы тридцать раз по одним и тем же граблям не ходить.
>И если джуну еще простительно, что-то из этого не уметь, то мидл которого ты собираешься фейковать точно должен сам все это делать.
Ну а у меня, допустим, на предыдущей фейкоработе ничего этого не было, и я там только погроммировал, и всегда всё было на одной и той же версии, и ничего никуда не откатывалось. И что, я после этого уже не мидл?
>>Никто же ведь не приходит с уже готовым знанием проекта. Ведь любой будет разбираться и вкатываться, даже если у него до хрена опыта? В чём я там могу обосраться хуже других?
>Вот тебе на пике пример структуры простого проекта (это кстати тестовое для джуна если что, не в смысле написать такое, а отрефакторить и переделать). Будучи "мидлом" как ты заявишь, ты должен глянуть на структуру и сразу понимать где и что здесь находится и куда лезть, если тебе например скажут напихать новых моделей
Окей, гугл, "напихать новых моделей"
https://docs.microsoft.com/ru-ru/aspnet/mvc/overview/older-versions/getting-started-with-aspnet-mvc3/cs/adding-a-model
Спасибо, гугл.
Так, ну вот вижу там ближе к нижней границе слово Model, полезу для начала туда. А вообще, каких моделей? Мне же какое-то конкретное задание дадут?
>или DTO-шек
Окей, гугл, "dto это что за хуйня"
https://habr.com/ru/post/560068/
Так, гугл, это не то, "dto это что за хуйня в сишарпе"
https://docs.microsoft.com/en-us/aspnet/web-api/overview/data/using-web-api-with-entity-framework/part-5
Ctrl-C/Ctrl-V, я закончил!
А какие вам нужны DTO-шки? Какие конкретно поля, к чему конкретно их нужно приделать?
>или отрефакторить файловый сервис,
Файловый сервис? Дайте подумать... Это в папке Services? Парни, а как у вас файловый сервис называется? File_Service_Kokoko? А, ну да, логично, виндовс командер, Alt-F7, ., File_Service_Kokoko, Enter.
>или подшаманить контекст.
Context.cs? DbContextImplementations? DesignTimeDbContextFactory.cs? И что конкнретно надо подшаманить? Или просто "подшаманить", просто "сделайте красиво", и всё? А постановщики задач у вас так и работают? И им за это платят зарплату? Или их просто нет, а все просто делают красиво, сами разбираясь, что им делать, зачем и почему?
>Если можешь, то уже имеешь шансы. Джун тоже кстати должен во всем этом разбираться, но ему позволительно задавать тупые вопросы.
Ну мои вопросы тупые?
Аноним 21/12/21 Втр 21:29:38 #1208 №2244415 
>>2244323
>> Никто же ведь не приходит с уже готовым знанием проекта.
>Оно и не нужно. У тебя обсёр уже на уровне поста в треде.
А именно?
>> Спросят "а почему сделал вот именно так", скажу "ну, моё чувство прекрасного подсказало, что надо делать именно так, автоматизм, интуиция, опыт не пропьёшь, все так делают и я так делаю испокон веков, а что, разве плохо?"
>Я тебе просто точно скажу, что ты ничего не сможешь пояснить, иначе бы ты сам написал этот проект.
Ну конечно... Ты лучше меня ведь знаешь, написал бы или не написал бы. А может быть я знаю, что я могу написать, и может быть даже написал бы, но параллельно попросил то же самое у помидора, а потом спросил у него, почему он всё сделал по-другому, не так, как я. А он объяснил, и я понял. И пошёл с его проектом на собес, и там пересказал то, что я ПОНЯЛ своими словами. Не может быть такого?
>> Что такого у меня могут спросить, что из неответа на этот вопрос будет следовать, что не бывать мне мидлом?
>Ты просто такую хуйню несусветную несёшь и не имеешь представления, о чём говоришь, что тут комментировать бесполезно что-то.
Но это не аргумент.
>Ты пока всё не так понимаешь и видно, что ты ни с чем таким дела не имел.
С чем "таким"? А может имел? А может в другой какой-то говноконторе всё было совсем не так, как у вас. Такого не может быть?
>> И принцип открытости-закрытости. Не знаю, как по мне, так это следует из моего представления об инкапсуляции в ООП. Ясно же, что есть private, а есть public
>В этом абзаце всё смешно, но это самое смешное.
Ок, я не вызубрил наизусть формулировку принципов. А вы прямо учите их, чтобы потом друг перед другом выёбываться, доказывая, кто из вас лучше их вызубрил? А зачем? Просто применять правильные принципы не катит? Обязательно надо именно формулировки зубрить?
>> Так не покатит? А как надо?
>Надо так, чтобы от тебя не пахло пиздаболом. Пахнет.
Ну допустим. То есть ты хочешь сказать, что все мидлы прямо как мантру эти принципы повторяют и оно у них прямо от зубов отскакивает?
>> допустим, решали одну вычислительную задачу, анализ многосвязного графа из сотен тысяч вершин. Решали, решали, а оказалось, что для многих вершин она не решается
>Полная хуйня уровня Ламборджини, которая у тебя есть, но она у бабушки в деревне пока стоит.
А почему? Ты думаешь, я не решал такую задачу? А знаешь, ведь на самом деле я её решал. На самом деле. И решил. Сам. Один. Без чьей-либо помощи. Сам всё придумал, и сам решил. На самом деле. А тебе даже не верится в то, что кто-то мог подобное сделать сам просто потому что ему было интересно решать задачу?
>Настоящий синьор using проебал при работе с Disposable сервисом и получил плавающий баг, который потом долго и больно искал.
Ну и я до хера чего проёбывал. А ещё больше проёбывал, когда двусвязные списки на указателях приходилось пилить, и я там где-то в проекте на тысячи строк кода в одной из процедур указатель на next не туда направил, в итоге у меня при добавлении нового объекта не nil перезаписывался, а какая-то нужная ссылка, и хер найдёшь, что и почему потерялось. А ещё хуже, когда удалил динамическую переменную, а указатель на неё остался, и всё работает как ни в чём ни бывало, пока данные случайно не перезатрутся, вот и плавающий баг, но я обычно пишу так, чтобы никаких плавающих багов не было. Вот и у бабушки на даче, где Ламборджини стоит, я написал такую штуку, которая решает проблему с такими потерянными переменными, и все баги сразу нашёл, и ни байта памяти уже не терял, а потом уже перешёл на языки с динамическими массивами и забыл про списки на указателях как про страшный сон. И бабушка подтвердит, если надо, всё так и есть.
Главное, ты-то мне веришь, что я эту проблему действительно мог решить? Вот лично ты - веришь? А если нет, то почему?
>> пока не в курсе
>И не будешь, пока год с ним не повозишься.
Ну а может я с похожим языком возился? Не именно с сишарпом? Или с сишарпом возился, но, допустим, пять лет назад, потом, допустим, пришлось немного другими вещами заниматься, скажем, на том же похапэ бэкенд пилить, или вообще фронтенд, а потому я может что-то уже забыл из сишарпа, но как только, так сразу вспомню?
>> Ну вот пользователи требуют фичу у поддержки.
>И сразу же проиграл. Дальше тоже хуйня.
Ну расскажи сам, как надо пиздеть, чтобы не пахло пиздоболом? Особенно, если плаваешь в вопросе?
>> А если меня перебьют и спросят "что-что вы несёте?"
>Так не сделают. Сразу поймут, что пиздабол, и вежливо дотянут собес до конца.
Понятно.
>> если у меня примерно такой уровень понимания, имеет ли смысл пиздеть, или это только смешить людей?
>У тебя пока уровень знаний такой, будто тебе мойша напел что-то про сишарп.
Я не знаю сишарпа. Я ни одной программы на нём не написал. Ни одной статьи про него не читал.
Естественно, перед собеседованием книжку какую-нибудь прочитаю, что-нибудь на нём напишу. Хуйню какую-нибудь для мобилки, чисто для себя. А на собеседовании напизжу, что написал дохуя всего, для больших и малых коммерческих предприятий, в городе рядом с бабушкиной дачей, на которой ламборджини стоит. Неужто не прокатит?
>Тем временем посмотри, сколько своей хуйни ты уже в тред высрал. Мог бы за сегодня сделать простейший сервис с чатиком по какому-нибудь тьюториалу, но вместо этого фантазировал и задавал вопросы, знание ответа на которых никак ничего не поменяет в твоей ситуации.
А что поменяет сервис с туториалом?
Что, если я приду на собес и буду рассказывать про свой йоба-чатик по туториалу, меня захотят нанять?
Не стоит ли вместо йоба-чатика сразу напиздеть себе опыт побольше? Вот к чему весь этот спич.
>Голову в порядок приведи и делом займись.
А смысл? Я уже напилил гору программок на куче разных языков. Но ведь нужен же не опыт чатиков по туториалам, а опыт работы. А его у меня нет и не будет, сколько бы я ни напилил чатиков по туториалам.
Ну чатик-то я напилю, неужели ты думаешь, что это проблема? Работал я и с чатиками. И веб-сервер делал. И сайтов кучу написал, и чатики туда прикручивал, и с веб-сокетами работал. Ну вот что мне даст ещё один чатик? Какую-то кроху знаний по сишарпу?
Но ведь мы уже выяснили, что это не даст мне убедительно напиздесь о своём опыте работы и проканать за мидла, а джуны нахуй никому не нужны. Тогда смысл мне в этом сишарпе? Допустим, год пилить петпроджекты, потом ещё год ходить по собесам, а в итоге пойти на хуй?
А зачем? Я уже программист. Я уже программировать умею. На самом деле. Пусть я не знаю, что такое докер, но я знаю, что такое дебаггер не хуже тебя. Даже дизассемблер знаю что такое. Смысл пилить пет-проджекты, если в итоге не можешь продать свой опыт?
Вот ты же не купил бы. Говоришь, пахнет пиздобольством и бабушкиной ламборджини. А я на самом деле программировал. И смысл продолжать в том же духе?
Аноним 21/12/21 Втр 21:35:48 #1209 №2244425 
>>2244312
>>2244351
Нет, чел. Я ошибся. Никто не будет о тебе пометку как о пиздоболе делать. Тебе сделают отдельную пометку: "душнила, ебаный". Ты здесь то душишь, представляю как ты на реальной работе будешь народ доебывать.

Все твои высеры сводятся к одному: "Я сейчас нихуя не умею, но я хороший, возьмите меня и я обязательно научусь."
Аноним 21/12/21 Втр 21:40:01 #1210 №2244432 
>>2244415
>Ок, я не вызубрил наизусть формулировку принципов. А вы прямо учите их, чтобы потом друг перед другом выёбываться, доказывая, кто из вас лучше их вызубрил? А зачем? Просто применять правильные принципы не катит? Обязательно надо именно формулировки зубрить?
Хуйню не пиши. Эти принципы достаточно прочесть и понять. Никто тебя не будет спрашивать точное определение, достаточно будет своих слов.
А вот то, что ты, не потрудившись даже почитать, начал фантазировать "ну там есть слово открытый, значит это что-то связанное с ООП и public/private, типа инкапсуляция" - вот это и есть обсер.
Аноним 21/12/21 Втр 21:44:08 #1211 №2244438 
>>2244415
>Я уже программист. Я уже программировать умею. На самом деле.
Ну так, а в чем у тебя тогда проблема работу найти или работать на той, что уже есть?
Зачем тебе шарп, если у тебя 'дохуя' опыта. Ищи работу на том, что умеешь.
Аноним 21/12/21 Втр 21:51:05 #1212 №2244445 
>>2244261
То есть наоборот надо прикинуться тупнем?
Да на собесах пусть бы и валили. Главное, чтобы в ни в какие базы пиздоболов не добавляли.
>>2244288
>И все это на позиции джуна (хотя за счет этого мне дали много времени)
И сколько времени тебе на это дали?
Ну а так, задание, конечно, содержит много вумных слов, но если помедитировать над ним пару минут полчаса, да погуглить, то можно уже начать потихоньку решать.
>А придешь ты мидлом работать тебе сразу дадут какой-нибудь криптографический сервис внедрять - потянешь?
Да хз. Пойду погуглю для начала. Не получится - пойду помощи попрошу у коллег. Пошлют сразу?
Криптографией я, конечно, не занимался от слова совсем вообще. Ну представляю там самые общие вещи на уровне "Элис и Боб обмениваются открытыми ключами", и т.д. И сколько дадут времени на такую задачу - внедрить этот сервис? Какой именно, как именно и куда внедрить - объяснят? Документация по нему хоть какая-нибудь есть?
>>2244298
>>Почему я не могу просто начать писать код?
>Ну так и пиши, кто тебе мешает?
Так я уже написал. Не гигабайты, но довольно много.
>>А что, мой частный опыт это вообще ноль? То есть ты можешь написать дохуя разных программ, в том числе и не самых простых,
>Так ты покажи их. Напиши о них в резюме, опиши что делал такой-то проект. Приложи ссылку на гитхаб.
А нету. Это ещё до гитхабов, в основном было. Да и на куче разных языков. Разве оно будет релевантно, если я приду устраиваться на вакансию сишарп, а гитхаб будет забит питонами, джаваскриптами и делфями?
>Собери и запусти его где-нибудь на VPS и приложи ссылку, чтобы сразу видно было что ты умеешь еще до собеса. Заинтересуй работодателя и тогда ему действительно будет насрать есть у тебя что-нибудь в трудовой или нет.
Но пет-проджекты ведь не сделают меня мидлом? А джуны, говорят, не нужны. Потому что не могут сразу внедрить криптографию.
>>Но почему я должен ходить по собеседованиям и проситься поработать забесплатно, только чтобы доказать, что я что-то могу? Это же абсурд.
>Не, ну тут ты уже слегка охуел.
Да почему охуел-то? Потому что не хочу работать бесплатно, да ещё и кого-то упрашивать делать для них что-то бесплатно? А это точно я охуел, а не они охуели?
>>Сами ноют, что спецов нет, и сами же не берут тех, кто готов работу спеца выполнять.
>Спецов да нет, они нужны. А таких как ты тысячи. Ты должен уметь доказать, что ты спец еще до собеседования.
Да в том-то и дело, что видимо не тысячи. Тысячи тех, кто не знает, что такое эксепшены, приходя работать джунами. А я знаю.
>>Меня устроят и символические 50к.
>Нет, ну ты точно охуел.
Что, много? А сколько не много? Бесплатно? То есть я должен заинтересовать работодателя своими частными VPS, где у меня будет крутиться десяток разных пет-проектов, и потом ещё и работать бесплатно на него? Это как вообще? Может, я чего-то не понимаю? Может, у меня лыжи не едут? Но я не понимаю. Я могу делать полезное дело. Я готов приступать. Вам надо или не надо?
Аноним 21/12/21 Втр 21:51:38 #1213 №2244447 
>>2244272
>либо пиши на человеческом языке
Не надо так по-украински.
Аноним 21/12/21 Втр 22:27:16 #1214 №2244479 
>>2244335
>>Но это же не значит, что мой код ему не соответствует.
>Значит.
Хм, а ты его видел?
ну, допустим, где-то не будет соответствовать, хотя должен был. Отрефакторю.
>>Ну какие-то докеры на кой-то хер разворачивают, честно, я не понимаю, зачем.
>Если ты не понимаешь, ты даже не джун.
Ой ли? А до появления докера не существовало не то что помидоров, но даже джунов?
>>Никто не носится с ним как угорелый, и не пихает эту инверсию зависимостей везде просто чтобы было. А применяют там, где оно действительно нужно, где иначе просто заебёшься без него.
>Как ты поймешь, где нужно, а где нет?
По опыту. Если чувствую, что без разделения зависимостей может быть жопа, то разделю. Если чувствую, что и так сойдёт, то так и оставлю. Если не планируется какого-либо расширения конкретно данного функционала, то и незачем к нему приделывать и возможность написания плагинов, и возможность замены чего угодно на что угодно, и ещё кучу всего. Разве нет?
>Мидл - самостоятельный разработчик, от него ожидают решений поставленных с расчетом на его компетенцию задач. Пиздуй устраиваться стажером на галеру, через год два станешь мидлом, если не дебил. Задрочить знания на мидла не выйдет, без опыта на реальных проектах ты никогда не поймешь что, зачем, как и почему делается.
А почему я не могу решать те же самые задачи прямо сейчас? Это же не первые задачи в моей жизни. Я их немало уже нарешал. Так зачем мне их решать теперь ещё и стажёром на галере, когда я мог бы решать те же самые задачи в нормальной конторе, оформившись мидлом в штат?
Мне кажется, вы переоцениваете значимость своего опыта. Неужто до того, как вы два года чем-то позанимались, вы не могли точно такие же задачи решить в принципе? Ну как так-то? Всё же когда-то бывает в первый раз.
>>2244336
>Ты, говоря откровенно, шизофреник какой-то. Тебе никто пока этого прямо не сказал, вроде, но у тебя точно такие же поверхностные знания во всех остальных языках и технологиях, какие ты упоминал.
А какие там должны быть особенные знания? Доскональное знание устройства сборщиков мусора? Доскональное знание реализации интерфейсов и множественного наследования? А зачем, когда инструментами можно просто пользоваться? Ну ведь там везде одно и то же. Какая разница на чём писать?
Ну допустим, поверхностно я знаю какую-то технологию. Ну так знаю же. Начну разбирать соответствующий код - разберусь досконально. А что, какой-то мидл за два года работы на галере досконально разобрал вообще всё, даже небо, даже Аллаха? А я за годы своих пет-проектов не разобрался досконально вообще ни в чём? А как это? Почему?
>На реальном проекте ты не просто обосрёшся, тебя к нему не подпустят, потому что быстро поймут, что с тобой что-то не так.
А точно со мной что-то не так? А не гонишь?
>Не из-за коммерческого стажа и всё такое, обрати внимание. Ты объективно пока не способен что-то боевое делать, как шестнадцатилетний олимпиадник.
Не понимаю. Боевое - это что? А мои проекты - это не боевое? Почему? Потому что не продано никому? Потому что об этом нет записи в трудовой? Как ты это определил, что я ни на что не способен?
>Твоя уверенность в том, что ты на самом деле хорош, обусловлена тем, что ты никогда всерьез не сталкивался с настоящими программистами и не можешь трезво оценить свой уровень.
Как это я не сталкивался?
Я же видел, как люди пишут код. Я чужие библиотеки смотрел. Переписывал. Свои писал. Почему я не могу оценить свой уровень, а ты, даже не глянув в мои исходники, мой оцениваешь? Потому что я не использовал докер? Так когда я начинал программировать - его не было. Когда он появился, в каком году? Да не важно в каком году, его не было.
>Выходи из манямирка и занимайся делом, в треде тебе уже на всё ответили и дали понять, что просто так тебе в руки ничего не упадёт с неба.
Слушай, но ведь пилить чатики по туториалам - это ХУЙНЯ по сравнению с тем, что я делал. Ну правда хуйня. Может у меня был где-то говнокод. Я не работал в команде. Не пользовался докерами и гитхабами. Пилил десктопные приложения, а не веб-сервисы. Но пилить чатики - это ну хуй знает... Ну вот как если бы тебе сейчас сказали пилить чатики по туториалам. Якобы тебе не хватает опыта в пилении чатиков. А ты их кучу уже напилил, только на других языках. Ну напишешь ты чатик на новом языке, ну я напишу, это-то не проблема, но что это даст?
>>2244425
А я думал это называется уверенность в своих силах. А оказывается это называется "душнила ебаный". А это точно во мне проблема? Нет, точно?
Я не "нихуя не умею". Я много чего умею. Может быть не умею чего-то нужного. Ну что же мне, в одиночку реализовать проект какой-нибудь крупной конторы только для того, чтобы доказать, что я смог бы в ней работать, зная вообще прям всё? Ну лет десять у меня на это уйдёт. К тому времени окажется, что докером уже десять лет, как никто не пользуется, на сишарпе давно уже никто не пишет, и надо было мне либо нанимать команду в двести человек, либо переучиваться по новой и начинать пилить более современный проект этой же конторы, опять же, только чтобы доказать, что я мог бы над ним работать и в этой конторе, если бы они меня взяли, но они меня возьмут не раньше следующих десяти лет.
Аноним 21/12/21 Втр 22:33:08 #1215 №2244486 
>>2244445
>Да почему охуел-то? Потому что не хочу работать бесплатно
Нет, ты охуел, потому что, хочешь чтобы тебя взяли на работу без релевантного опыта, на основании только твоих слов о том какой ты охуенный и обещаний нагуглить все при необходимости. И еще платили бабки за твое пиздобольство.

>>2244445
>А нету. Это ещё до гитхабов, в основном было.
Ты из какой пещеры вылез?
Гитхаб в 2008-м появился. Если ты после этого, ничего серьезного не делал, то весь твой опыт можешь слить в унитаз, он не актуален.
Аноним 21/12/21 Втр 22:43:53 #1216 №2244495 
>>2244415
> А именно?
Обсёр в твоём поведении. Тебе на твое долбоебство прямо говорят, что это хуйня, а ты в ответ ещё три долбоебских вопроса и пять гипотетических ситуаций придумываешь. Ну как они поймут, что нет Ламборджини? Ну может же в гараже стоять, российские дороги не очень подходят для регулярной езды. Да и дороже станет в гараже у бабушки она за пятьдесят лет стояния. Нет, вот ты мне объясни, ну может же у моей бабушки Москвич-412 стоять? А почему Ламба не может? Может, мне трёшка на Тверской перепала от другой бабки, ну я разменял её на трёшку в Питере и на сдачу купил Ламбу. Нет, скажи, в чем тут может быть проблема, можешь мне объяснить?

Объясняю: проблема пока что в тебе, ты ёбнутый.

> И пошёл с его проектом на собес, и там пересказал то, что я ПОНЯЛ своими словами. Не может быть такого?
Не может быть такого.

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

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

> Просто применять правильные принципы не катит?
Представляю, как бы ты Open-Closed применил с твоим пониманием, лол. За L-то пояснить нам сможешь кратко, как если бы на собесе отвечал? С гуглом, как ты любишь.

> А почему? Ты думаешь, я не решал такую задачу? А знаешь, ведь на самом деле я её решал. На самом деле. И решил. Сам. Один. Без чьей-либо помощи. Сам всё придумал, и сам решил. На самом деле. А тебе даже не верится в то, что кто-то мог подобное сделать сам просто потому что ему было интересно решать задачу?
Потому что твоя задача ёбнутая и твоё решение непригодно для бизнеса. В реальности была бы графовая БД как минимум, а ты какую-то околоолимпиадную графовую хуйню на коленке делал в отсутствие реальных задач.

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

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

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

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

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

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

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

>>2244479
> А я думал это называется уверенность в своих силах.
Эта уверенность от какой-то ментальной болезни и от того, что ты самый умный в комнате.

Слушай, пошёл вообще на хуй, шиз, я на тебя слишком много времени проебал.
Аноним 21/12/21 Втр 22:44:59 #1217 №2244497 
Пацаны, простите за грубость, он реально заебал. Предлагаю игнорировать его далее, иначе это никогда не кончится.
Аноним 21/12/21 Втр 22:46:21 #1218 №2244500 
>>2244432
Ок, допустим, что это обсер.
А с чего ты взял, что я не почитал-то? Ты помнишь всё, что когда-либо прочитал? Ни буквы не забываешь? И прямо сразу всё понимаешь на сто процентов? Ну не понял я, что хотел сказать автор, может он так объяснял. Сейчас вот зашёл в википедию и прочитал, там понятней написано. Да какая разница, если я эти принципы интуитивно знаю? Я к ним (хоть и не ко всем) на опыте сам пришёл. А мне говорят "нет опыта, нихуя ты не знаешь, ламборджини у бабушки на даче, ага, как же".
А что, ООП не поддерживает принцип открытости-закрытости? Я описываю объект. Ты от него наследуешь свой. Функциональность моего объекта расширена? Расширена. Его код остался неизменным? Остался. Это принцип SOLID? Да, это он. Непонятно только нахуя его дублировать в каком-то отдельно вымученном, высосанном из пальца искусственно сложенном в виде аббревиатуры иностранном слове?
И то, что у меня в private - это как раз закрытая и защищённая от изменений реализация. Реализация, в детали которой не нужно вмешиваться без особой на то необходимости. Не закрытость это? А что? А в чём принципиальная разница?
Ну ок, хорошо, я путаю тёплое с мягким. Но делаю. Но я ведь прошу на работу меня взять программистом, а не говоруном. Я же не преподавателем в университет устраиваюсь, а проекты пилить.
>>2244438
Да хуй знает. Нету чего-то одного, на чём бы я суперсерьёзно специализировался. Мне казалось, что не важно, на чём писать. Разве нет? На чём надо - на том и пишешь. Что, не так? Поэтому у меня проекты на разных языках. И в разных областях. И ни одного из них коммерческого. Хотя некоторые из них можно было бы в своё время продать, аналоги продавали. Но теперь они все не актуальны.
Опять же, вот тут говорят "заинтересуй работодателя своими проектами". А про резюме пишут, что их даже не читают, а на третью страницу вообще никогда не заглядывают. Так что мне, туда ссылки на гитхаб пихать? Или сразу скриншоты распечатывать? И что, хрюша полезет на гитхаб проверять, что я там написал? Ну увидит она какой-нибудь древний делфи код. Скажет "а не, нам сишарписты нужны, делфи это не к нам". Идти в делфисты?
А потом когда он окончательно умрёт - всё-таки годами пилить чатики на сишарпе и зубрить определения принципов солид, чтобы доказать, что я могу пилить что-то и на великом и ужасном сишарпе?
Аноним 21/12/21 Втр 22:47:56 #1219 №2244504 
>>2244495
>Ты с ней не работал на промышленных проектах и вообще нихуя не понимаешь, когда говоришь о ней.
Это как?

>>2244497
> он реально заебал.
ответы конешн тоже рофляновые местами
Аноним 21/12/21 Втр 22:53:42 #1220 №2244512 
>>2244504
> Это как?
>>2244164
Вот мне надо создать json. Беру библиотеку, там какая-нибудь функция вроде object_to_json, (в каждом языке своя, допустим, я последние три года больше на похапэ программировал, а шарп самую малость подзабыл, но вспомню бля ваще не вопрос, я же не лох какой-то, чтобы наизусть все константы помнить) получаю строку, которую пихаю в запрос или в ответ на запрос. А что надо знать ещё про json? Разве недостаточно просто знать, что он есть и его можно использовать при необходимости? Как и XML? Ну выбрал кто-то XML для хранения каких-то данных. Нам надо с ними работать. Берём и работаем. Опять же, есть библиотеки, которые позволяют эти данные распарсить. Надо - сам распарсить могу. Что такого у меня могут спросить, что из неответа на этот вопрос будет следовать, что не бывать мне мидлом?


Представь только: он это всерьез говорит в мире перекладывания JSON'ов из микросервиса в микросервис.
Аноним 21/12/21 Втр 22:54:05 #1221 №2244514 
>>2244500
Зачем тебе вообще C#? Выбор не между делфи и шарпом, если ты не в мухосранске живешь конешн, хотя и там мб норм.
>>2244500
> private - это как раз закрытая и защищённая от изменений реализация.
private не защищает от изменения кода
> а не говоруном
но говорить то придется, понимая других -- проще и тебе, и другим.
> туда ссылки на гитхаб пихать
а че нет?
> древний делфи код
Если напилишь туда все те модные/полезные вещи типа докера, как писали синьоры выше -- увидит что понимаешь такое, а понимание синтаксиса можно и по проще показать
Аноним 21/12/21 Втр 22:57:02 #1222 №2244517 
>>2244486
>>Да почему охуел-то? Потому что не хочу работать бесплатно
>Нет, ты охуел, потому что, хочешь чтобы тебя взяли на работу без релевантного опыта, на основании только твоих слов о том какой ты охуенный и обещаний нагуглить все при необходимости. И еще платили бабки за твое пиздобольство.
Но ведь я действительно нагуглю. И это не пиздобольство.
А ты не гуглишь? Прям всё знаешь?
>>А нету. Это ещё до гитхабов, в основном было.
>Ты из какой пещеры вылез?
>Гитхаб в 2008-м появился. Если ты после этого, ничего серьезного не делал, то весь твой опыт можешь слить в унитаз, он не актуален.
То есть то, что до 2008 делалось - это не программирование вообще, а так, баловство? А не баловство это только то, что с докерами на сишарпе?
Не актуальны программы, которые я делал - это да. Но опыт - разве он не универсален? Задачи-то те же самые. Принципы те же самые. Языки другие - так я и другие языки знаю, более свежие, и на них мог бы писать, успешно пишу. Только не переписывать же на них свои уже давно не актуальные проекты, которые выполняют не актуальные функции, это было бы нелепо. Какой-то новый функционал писать - а какой? Парсить сайты? Интернет-магазины клепать? Чатики? CMS свою написать? CRM? Мобильные приложения? Но ведь это по большому счёту те же яйца, только в профиль. Ну заебусь, сделаю, и дальше что? Ничего же не изменится.
За что-то сложное в качестве пет-проекта я уже не возьмусь. На это может уйти год, а то ещё и не один. Чтобы потом мне сказали, что это опыт, который надо слить в унитаз, так как всё это уже не актуально? Ну такое.
Аноним 21/12/21 Втр 22:57:48 #1223 №2244519 
>>2244512
А в чем он не прав если конкретнее? Просто интересно, сам не шарю. Могу предположить либо что имеется в виду распространенность json'a, либо про безопасность что-то..
Аноним 21/12/21 Втр 23:21:18 #1224 №2244544 
>>2244519
В мире победившего REST'а и вездесущих крудов той хуйней, что он несёт, автоматически занимаются фреймворки. Разговор вообще идёт о довольно абстрактных вещах широкими мазками, а он какую-то хуйню про ручной вызов методов сериализации несёт.

Хочется верить, что какому-нибудь работяге не нужно будет техническое собеседование с этой обезьяной бешеной проводить, такой беспокойный ум хрюши по-хорошему не должны пустить дальше ознакомительного десятиминутного звонка. Они вообще чёт поумнели в последнее время и в епаме и паре контор меня довольно нескриптово и с достаточным пониманием вопроса спрашивали про SOLID, потокобезопасные коллекции и ещё что-то.
Аноним 21/12/21 Втр 23:24:02 #1225 №2244549 
>>2244544
>автоматически занимаются фреймворки
Спасибо

>потокобезопасные коллекции
oh no
Аноним 21/12/21 Втр 23:32:57 #1226 №2244562 
>>2244495
>> И пошёл с его проектом на собес, и там пересказал то, что я ПОНЯЛ своими словами. Не может быть такого?
>Не может быть такого.
Почему же? Ты исходишь из того, что я дебил. А дебил я потому что я дебил. Это не обоснование.
>> С чем "таким"? А может имел? А может в другой какой-то говноконторе всё было совсем не так, как у вас. Такого не может быть?
>Я там конкретно говорил про сериализацию и десериализацию. Ты с ней не работал на промышленных проектах и вообще нихуя не понимаешь, когда говоришь о ней.
Мы там вроде про json и xml говорили. При чём тут сериализация и десериализация на промышленных проектах? Может, ты думал о чём-то своём, когда читал мой пост? А дебил в итоге я?
>> Ок, я не вызубрил наизусть формулировку принципов.
>Я вообще всегда на собесах прямо говорю, что никогда не заучивал эту залупу и формулировки каждый раз сам придумываю. Ты не понимаешь, что жизнь -- это не экзамен, к которому надо прочитать книжку, подготовиться и сдать.
Да это я понимаю. У меня такое впечатление, что вы все не понимаете. Я говорю, я умею программировать. А вы все хором - нет, не умеешь, ты ещё экзамен не сдал!
>> Просто применять правильные принципы не катит?
>Представляю, как бы ты Open-Closed применил с твоим пониманием, лол. За L-то пояснить нам сможешь кратко, как если бы на собесе отвечал? С гуглом, как ты любишь.
С гуглом - слишком просто. Я по своим записям отвечу. Мы ж тут не на экзамене, я не готовился.
Ну ты прав, объяснить сложно, почему нельзя наследовать пользователя от телефона, а поезд от автомобиля. А не наследовать - просто.
Недостаточно просто не наследовать? Надо именно принцип сформулировать?
Хорошо, классы наследники должны удовлетворять тем же требованиям, которые предъявляются и к тем классам, от которых они наследуются. Для чего? Чтобы при подаче класса-наследника в другую часть программы там ничего не поломалось. Ну я понимаю этот принцип как-то так. Что, опять не так?
Что, это не тот принцип? Вообще не то? Что, если я эту аббревиатуру не вызубрил, то мой код не может этому принципу следовать? Но он, вроде бы, очевиден. В любой книжке по ООП учат именно так. Нет? Ну объясни мне, в чём я опять неправ и почему должен был два года отпахать бесплатно стажёром на галере, чтобы мне открылся свет истины?
>> А почему? Ты думаешь, я не решал такую задачу? А знаешь, ведь на самом деле я её решал. На самом деле. И решил. Сам. Один. Без чьей-либо помощи. Сам всё придумал, и сам решил. На самом деле. А тебе даже не верится в то, что кто-то мог подобное сделать сам просто потому что ему было интересно решать задачу?
>Потому что твоя задача ёбнутая и твоё решение непригодно для бизнеса. В реальности была бы графовая БД как минимум, а ты какую-то околоолимпиадную графовую хуйню на коленке делал в отсутствие реальных задач.
Ну допустим. Так ведь не было тогда графовых БД. Ну по крайней мере мне тогда об этом не было известно. А теперь всё это можно и тупо в памяти сделать. И я бы делал по-другому. Но чем же это не опыт?
>> я там где-то в проекте на тысячи строк кода в одной из процедур указатель на next не туда направил
>Твой фейл в том, что ты не догадался тесты написать.
Нет, тесты тут не помогли бы. Чтобы этот баг проявился, нужен был очень большой тест, который на этапе написания программы не был бы пройден до конца ни разу.
Да, был и такой фейл, когда я исправлял ошибки в одном месте, а они появлялись в другом, и так по кругу. А потом я всё-таки догадался написать тесты. И сам изобрёл кейс-тестирование ещё до того, как прочитал что-либо о нём. И это не опыт?
И, кстати, я знаю, что такое тесты и зачем они нужны, и как они помогают в разработке. А не это ли нужно уметь программисту? Или складно пиздеть про солид-принципы и собственные фейлы на собеседовании важнее?
>> когда удалил динамическую переменную, а указатель на неё остался
>Туда же. Видишь, тестировать-то ты умеешь, говоришь, только не тестировал почему-то.
Москва не сразу строилась. Сначала не тестировал, потом тестировал. Так это и есть опыт. А иначе на хуй он нужен, если от его приобретения ничего не меняется?
Что, нескладно пизжу?
>> Главное, ты-то мне веришь, что я эту проблему действительно мог решить? Вот лично ты - веришь? А если нет, то почему?
>Я верю. В тринадцать лет я на ассемблере похожей хуйнёй занимался и из отладчика не вылезал. Я был юн, глуп, наивен и так же неадекватно оценивал свои скиллы, как и ты.
Ну то есть твой опыт ассемблера - это мусор? А что не мусор? Докер? Чатики на сишарпе?
>> Ну а может я с похожим языком возился?
>Вопрос был не про язык, а про популярную библиотеку для маппинга. Альтернативные есть и для джавы, и для PHP, и для чего угодно. Нормальный разработчик может плюсы и минусы использования таких библиотек оценить.
И что, каждый мидл пользовался этими библиотеками? Прямо каждый? И что, никто не мог пару лет пилить какой-нибудь коммерческий проект и ни разу с такой библиотекой не столкнуться?
>> Ну расскажи сам, как надо пиздеть, чтобы не пахло пиздоболом? Особенно, если плаваешь в вопросе?
>Я пиздел последний раз в универе, тут я тебе не советчик. Советую не пытаться пиздеть, потому что ты вообще никакого представления об отрасли не имеешь.
Ладно, я принял твой совет.
>> Не стоит ли вместо йоба-чатика сразу напиздеть себе опыт побольше? Вот к чему весь этот спич.
>Не стоит, потому что лично ты не вывезешь. Это только в твоём манямирке так можно, на самом деле.
Но ведь другие же вывозят. По крайней мере на собеседовании. В итоге их зовут выходить мидлами, хотя они реально знают меньше моего. Как так?
>Слушай, пошёл вообще на хуй, шиз, я на тебя слишком много времени проебал.
Грубый ты. Как будто я виноват, что ты время на дваче проёбываешь. Сам туда иди. Или оставайся.
Аноним 21/12/21 Втр 23:34:02 #1227 №2244564 
>>2244504
>> он реально заебал.
>ответы конешн тоже рофляновые местами
В смысле?
Аноним 22/12/21 Срд 00:01:42 #1228 №2244604 
>>2244514
>Зачем тебе вообще C#? Выбор не между делфи и шарпом, если ты не в мухосранске живешь конешн, хотя и там мб норм.
Ты мне предлагаешь сейчас пойти в джава тред и поебать мозги им? Или что?
>> private - это как раз закрытая и защищённая от изменений реализация.
>private не защищает от изменения кода
Ну, при наличии исходников можно изменить что угодно. Но я подразумевал, что если класс уже написан, и дохера где используется, то и незачем его переделывать.
А private защищает от изменений логики работы, касающейся этого класса, извне оного.
Ну а что же тогда защищает от изменения?
Может быть я вообще не понимаю этот принцип. А его все тут понимают? Я один не понимаю?
>> а не говоруном
>но говорить то придется, понимая других -- проще и тебе, и другим.
Это верно. Объясняюсь я путано и обычно, наверное, именно вот так, как в этом треде. И вообще я отнюдь не душа компании. Так что, программист ещё и говоруном должен быть? Оратором? Ах да, и ещё английский язык, чтобы на нём комментарии писать, а то я могу только в стиле "from the bottom of my heart".
>> туда ссылки на гитхаб пихать
>а че нет?
Ну ведь не пойдут же смотреть.
>> древний делфи код
>Если напилишь туда все те модные/полезные вещи типа докера, как писали синьоры выше -- увидит что понимаешь такое, а понимание синтаксиса можно и по проще показать
Да там же у меня всё компилируется просто в экзешник, и всё. Ну там, собирается через makefile из отдельных частей. И ничего никуда в итоге не надо инсталлировать, просто запустил и пользуйся. Какие-то компоненты писал для делфей. Довольно замороченные. Но тоже в них нихуя модного. Простого, впрочем, тоже не было, лично для меня. Потому и пришлось изобретать кейс-тестирование, иначе бы просто не допилил, увяз в багах по самое не балуйся. С моей точки зрения всё это опыт, при чём универсальный, который пригодится и сегодня. С точки зрения вышеотписавшихся - всё это можно слить в унитаз, так как не актуально, ибо без докера.
Ну и зачем я вообще это пилил? Зачем время вообще тратил?
Аноним 22/12/21 Срд 00:01:42 #1229 №2244605 
>>2244562
> почему нельзя наследовать пользователя от телефона, а поезд от автомобиля.
Это не имеет отношения к L, там грань гораздо тоньше и такие сравнения неуместны.

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

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

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

L о том, чтобы не тащить в базовый класс много хуйни и чтобы не наследоваться от не совсем подходящих классов. Посмотри классический пример с квадратами и прямоугольниками: http://stg-tud.github.io/sedc/Lecture/ws13-14/3.3-LSP.html#mode=document Square требования соблюдает, как ты и говорил, и вообще является частным случаем Rectangle, как нас в школе учили, но всё ломается всё равно.

Когда наследоваться без соблюдения L нормально не получается, пиздуешь делать всё через O со стандартными обдроченными паттернами для обобщения поведения. O как раз об этом, а не о модификаторах доступа, как ты себе это представлял.
Аноним 22/12/21 Срд 00:14:24 #1230 №2244619 
image.png
Если все такие умные и трушные ООООООППППщики солид хуелид патерны хуятерны, то почему каждыйну 90 программистов встречают в легаси говнокод? Пол года проекту и пиздец, там уже похуй на солиды хуелиды, лишь бы работало.
Что не так скажите?
Аноним 22/12/21 Срд 00:27:46 #1231 №2244635 
>>2244605
>> Хорошо, классы наследники должны удовлетворять тем же требованиям, которые предъявляются и к тем классам, от которых они наследуются.
>Похоже на правду, если не доёбываться, но звучит довольно механически, то есть понимания тобой сути не видно.
>> Чтобы при подаче класса-наследника в другую часть программы там ничего не поломалось.
>Это абсолютно правильно, но не помогает понять, в чем же конкретно проблема.
Ну хоть что-то правильно. Но есть но.
Ладно. А я и не понимаю, в чём конкретно проблема. Вернее, в чём она может быть с прямоугольниками. И с наследованием квадрата от них. Вот от квадрата наследовать прямоугольник - неправильно. А квадрат от прямоугольника - можно.
А, нет, понял. Если мы где-то потребуем изменить одну сторону квадрата, не изменяя другую, он скажет хрен вам.
Ну это как бы немножко не то, что я имел в виду выше. Требования, которые мы предъявляем к прямоугольникам - имеется в виду требование "быть прямоугольником", а не уметь менять свои размеры. Если мы требуем от прямоугольников не просто быть прямоугольными по факту их создания таковыми, но ещё и, например, произвольно менять свои прямоугольные размеры, то это уже другое требование, и тогда это другое требование должны соблюдать и все наследники, в том числе и квадраты, и тогда квадраты от них наследовать нельзя.
А это не искусственно высосанный из пальца пример? Специально надо высасывать из пальца примеры именно фейлов? Недостаточно понимать, как надо? Обязательно надо красиво формулировать как не надо? Или я опять что-то не то выдал за всем известный кроме меня принцип?
Я сейчас пойду по ссылке почитаю, уже начал читать и понял, в чём проблема, там где появились методы set_height и set_width. Этого мало? Это не то? Это значит, что весь мой код - говнокод?
Аноним 22/12/21 Срд 00:31:06 #1232 №2244636 
> джава тред и поебать мозги им
хорошая идея)
> изменение
защищает от изменения возможность расширять без изменений :thinking:

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

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

время тратил энивей не зря - научился чему-то в процессе, сам же пишешь, что опыт универсальный
Аноним 22/12/21 Срд 00:36:10 #1233 №2244639 
изображение.png
>>2244635
Ага, вот и оно, как я и предполагал. То есть для меня это очевидно. Но этого мало? Мало того, что мне это очевидно? А разве очевидность этого для меня - не есть проявление опыта, который, собственно, и является необходимостью для программировании нормального кода?
То есть я должен провести два года на галере стажёром только для того, чтобы понять вот это? Вот это? Два года? На галере? Бесплатно? И я же ещё "охуел" только потому что я не желаю этого делать?
Не, меня уже послали на хуй, я всех заебал, но...
Я может быть и ебанутый, и шиз, и в манямирке. Но в моём манямирке ебанутый не я.
Аноним 22/12/21 Срд 00:44:23 #1234 №2244645 
>>2244636
Так это я пишу. А мне пишут, что я ебанутый шиз, а всему моему опыту место в унитазе.
При этом массово дрочат на принципы и статьи, которые для меня очевидны.
Ну это что-то уровня "палка есть нечто, что имеет начало и конец". Гениальная гениальность. И я должен прийти на собеседование и с умным видом рассказывать очевидные вещи, высасывая из пальца примеры детских ошибок, которые я мог бы совершить, если бы у меня было ноль опыта.
Ну для меня это примерно как рассказать, почему именно я поднимаю ноги, когда хожу, для того, чтобы доказать, что я умею ходить. При собеседовании на курьерскую должность. А не на какую-нибудь тренерскую.
И мне говорят "ты не умеешь ходить, ты ёбаный шиз, тебя отсеют ещё на этапе десятиминутного телефонного интервью!"
А я такой: "Да хз, всю жизнь ходил и не падал, почему вдруг я шиз? Ну не учился красиво пиздеть про принципы ходьбы и про возможные фейлы в ней, ну и что, ну ведь ходить-то умею?"
Аноним 22/12/21 Срд 00:47:51 #1235 №2244648 
>>2244635
> А это не искусственно высосанный из пальца пример?
Это классический простой пример для иллюстрации того, как легко себя наебать и для чего нужно понимать L, а не зазубривать формулировку. Понимаю, что с шизофренией тяжело воспринимать абстрактные примеры.

> Специально надо высасывать из пальца примеры именно фейлов?
В ООП есть тысяча способов выстрелить себе в ногу. Нарушение L — один из них и очень популярный. Тут всё кровью написано, просто ты на своих хеллоуворлдах не встречал таких проблем.

> Недостаточно понимать, как надо?
Так ты и не понимал, если не смог L пояснить полноценно.

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



Лучше бы ты джаву выбрал, бля.
Аноним 22/12/21 Срд 01:17:56 #1236 №2244667 
>>2244645
>Ну для меня это примерно как рассказать, почему именно я поднимаю ноги, когда хожу, для того, чтобы доказать, что я умею ходить. При собеседовании на курьерскую должность. А не на какую-нибудь тренерскую.
Шизики плохо умеют в аналогии, не старайся.
Проблема в том, что откуда собеседующими тебя понять, что ты действительно что-то умеешь? Старый код ты не показываешь. Новый не пишешь. И? Будешь на собесе свои охуенные навыки гугления показывать (при хуевом-то знании английского)? Или начнешь им задвигать ту же телегу про "я то в былые времена о-о-о"?

>>2244645
>ты ёбаный шиз, тебя отсеют ещё на этапе десятиминутного телефонного интервью!
Плохо разве? Хорошо же.
Аноним 22/12/21 Срд 01:24:08 #1237 №2244668 
>>2244648
>> А это не искусственно высосанный из пальца пример?
>Это классический простой пример для иллюстрации того, как легко себя наебать и для чего нужно понимать L, а не зазубривать формулировку. Понимаю, что с шизофренией тяжело воспринимать абстрактные примеры.
Мне тяжело понять, зачем мне иллюстрировать возможность наебать себя самого. В моём понимании это и есть шизофрения.
Разве цель не в том, чтобы научиться, как надо, а в том, чтобы научиться рассказывать, как не надо?
>> Специально надо высасывать из пальца примеры именно фейлов?
>В ООП есть тысяча способов выстрелить себе в ногу. Нарушение L — один из них и очень популярный. Тут всё кровью написано, просто ты на своих хеллоуворлдах не встречал таких проблем.
Пффф. А с чего ты взял, что я писал хеллоуворлды? Я до хера чего писал, и до хрена путаницы в мозгах было до того, как я научился отличать одни сущности от других и распихивать их по разным классам. Ну так научился же. А ты меня убеждаешь, что нет, не могу, невозможно, ведь я не рассказал ещё принципов солид, так как учился программировать, а не рассказывать про принципы солид.
Просто я формально у себя в мозгах это не описывал. Натыкался на проблемы, запоминал, почему я на них наткнулся, и больше старался не ходить по этим граблям, вот и всё. И уж тем более не записывал в книжечку все возможные способы ходить по граблям, чтобы зачитывать их потом на собеседованиях в качестве возможных способов себя наебать. А надо было? А просто не ходить по граблям - не вариант?
>> Недостаточно понимать, как надо?
>Так ты и не понимал, если не смог L пояснить полноценно.
Чего я не понимал? Что если мы предъявляем к прямоугольникам требование изменять независимо их стороны, то надо, например, наоборот прямоугольники от квадратов наследовать? Но ведь я это написал, как только увидел, что это требование к прямоугольникам предъявляется.
Дайте требования, предъявляемые к классам, и я скажу, кто от кого может наследоваться. Очевидно, что тот, к кому не предъявляется требований, отличных от тех, которые предъявляются к какому-либо другому классу, и будет корнем иерархии. А дальше сортируем списки требований, сравниваем, и всё само встаёт на свои места.
Для меня это очевидно. Я составлял всякие иерархии. Но я же не претендую на роль школьного учителя. Я же не прошу доверить мне детей, чтобы я им рассказывал про квадраты и прямоугольники. Я претендую на то, что я уж как-нибудь разберусь с формированием иерархии классов.
А то, что сначала надо определиться с требованиям к самим классам - это как бы очевидно.
>> Обязательно надо красиво формулировать как не надо? Или я опять что-то не то выдал за всем известный кроме меня принцип?
>Я только и говорю о том, что формулировка вообще не важна. Механически ты её озвучил, но сути не понял, пока тебе на квадратах не показал дядя Боб. Точно так же, как ты не понимаешь и O. И что угодно ты не понимаешь, ты просто какой-то хуйни по верхам нахватал и думаешь, что готов всех ебать, но ебёшь пока свой кулак.
А мне непонятно, почему ты уверен, что я ничего не понял. Что, без дяди боба я не увидел бы очевидного в случае с квадратами? Но ведь увидел же. Не дочитывая его нудную статью. По верхам? А что тут ещё глубоко копать? Умение доказать словами, что я способен не только кулак ебать? А просто взять и начать ебать - не вариант, ну понятно. С таким подходом я до сих пор остался бы девственником. Но ведь я же не девственник. Значит, выходит, возможно всё-таки сломать систему. Значит можно просто начать и делать? А не учиться об этом красиво пиздеть, бесплатно нализывая два года манды проституткам для тренировки и развития способностей языка.
Без обид, парни, но это всё как-то похоже на "не служил - не мужик". Типа только в армии тебя всему научат. А сам ты не можешь научиться ну никак.
>Лучше бы ты джаву выбрал, бля.
Неа. Поздно. Я уже Прайса скачал.
Аноним 22/12/21 Срд 01:30:21 #1238 №2244672 
>>2244667
>>Ну для меня это примерно как рассказать, почему именно я поднимаю ноги, когда хожу, для того, чтобы доказать, что я умею ходить. При собеседовании на курьерскую должность. А не на какую-нибудь тренерскую.
>Шизики плохо умеют в аналогии, не старайся.
>Проблема в том, что откуда собеседующими тебя понять, что ты действительно что-то умеешь? Старый код ты не показываешь.
Да могу и показать. А что он даст, если он на других языках?
>Новый не пишешь.
Могу и написать.
>И? Будешь на собесе свои охуенные навыки гугления показывать (при хуевом-то знании английского)?
А я по-русски гуглю. Если надо - могу и по-английски прочитать, но и на русском инфы достаточно.
>Или начнешь им задвигать ту же телегу про "я то в былые времена о-о-о"?
А почему нет? Ты либо умеешь, либо нет. Это как на велосипеде ездить, не разучишься. И как бы ты ни фантазировал, что твой драндулет в миллион раз мощнее и современнее, я просто возьму и поеду на нём. Просто мне говорят, что этот ваш драндулет очень дорого стоит, буквально, 500 тысяч рублей в месяц, и поэтому кто же мне его доверит без опыта-то. И поэтому мне предлагают водить другой точно такой же драндулет бесплатно стажёром два года. И мне кажется, что где-то тут притаилась наёбка.
Аноним 22/12/21 Срд 01:57:02 #1239 №2244686 
Ладно, парни, у меня ещё один вопрос. Ещё одна охуительная идея.
Что если я просто сделаю тестовое задание?
Ну вот конкретно сюда кто-то запостил требования какого-то работодателя. Я пилю такой проект. Читаю книжку по сишарпу и пилю проект. Потом прихожу сюда, приношу готовый код. Вы смотрите и говорите, что я мудак и всё неправильно сделал, но только конкретно, по факту.
И будет видно, программист я или не программист и имею ли я право перепрыгнуть звание джуна.
Или тестовый проект это по-любому звание джуна, а на мидла нужен именно опыт?
Аноним 22/12/21 Срд 02:30:49 #1240 №2244702 
>>2216789
О, заебись.
То есть оказывается, мало поработать года два на галере бесплатно. Надо ещё чтобы галера эта не оказалась говноконторой, а то ведь тогда, получается, можно и десять лет за бесплатно работать, а потом выпиздят на мороз с таким уровнем понимания.
Ну тогда давайте сразу определимся, про какой уровень мы говорим. Речь прямо про Уровень? Это Уровень Конторы, для одного только телефонного собеседования в которой надо закончить с отличием матмех МГУ или что там надо закончить?
Как мне туда попасть без опыта и без диплома? В правильную контору? Похуй кем, похуй какая зарплата. Что надо? Опыт, как мы уже поняли, не поможет. Вон, чувак десять с хуем лет отработал, а его просто выпиздили бы на мороз.
Только не говорите, что невозможно.
Как вообще определить эту контору? Как вообще понять, что в эту контору стремиться надо, а вот в другую, допустим, не надо, потому что она говноконтора. Есть способ понять, что в этой конторе я хоть чему-то научусь, при чём научусь большему, чем тупо говнокодить?
Аноним 22/12/21 Срд 02:57:04 #1241 №2244715 
Меня смущает, что в этом треде меня почти никто не поправляет. Создается впечатление, что я какой-то дохуя скилловый.
В следующий раз - будьте так добры, поливайте мои посты критикой. А то как-то неловко, всего 3 года работаешь, а уже и говном никто не поливает.
Аноним 22/12/21 Срд 03:00:12 #1242 №2244717 
>>2244686
Не забудь только указать, какой грейд ты хочешь. Просто для стажера, джуна и мидал - разные требования к тому как должен выглядеть тестовый проект. Сообщать я их не буду, естественно, чтобы ты просто не копипастнул нужную репку и под себя не захуячил.
Аноним 22/12/21 Срд 03:52:31 #1243 №2244740 
>>2244686
Вот это уже похоже на разговор. Приноси, посмотрим. Вон выше чел кидал ссылку на выполненное тестовое - ему очень хорошо по фактам расписали, что и где не так.
Аноним 22/12/21 Срд 03:58:03 #1244 №2244743 
>>2244672
>Это как на велосипеде ездить, не разучишься. И как бы ты ни фантазировал, что твой драндулет в миллион раз мощнее и современнее, я просто возьму и поеду на нём.
Нет чувак. Это как если бы ты всю жизнь тошнил в городе дом-работа-дом. А потом приходишь на гоночный трек - "Ребята я ездить умею, прав правда нету, но, бля буду, дайте мне вон тот болид покататься, я не разобью. Честно-честно. Там же хуйня, инструкцию в дороге почитаю."
Аноним 22/12/21 Срд 04:38:19 #1245 №2244758 
>>2244717
А разве знание требований к тому, как должен выглядеть тестовый проект, не поможет мне лучше понять то, как и почему именно так он должен выглядеть?
Ну как бы в чём поинт этого всего: Не только доказать, что я не шиз, а и могу пилить годноту, но и подтянуть свой уровень. Я же не говорю, что я знаю всё на свете и мне не нужно учиться. Ок, если чему-то надо учиться и есть такая возможность, то почему нет?
>>2244740
Ок. Но только быстро не ждите.
Может, посложнее задание надо, чем у него? А то как-то кнопка, картинка, чисто технически простая задача. Или смысл не в технической сложности, а чтобы через докеры всё это на VPS разворачивать?

>>2244743
>Это как если бы ты всю жизнь тошнил в городе дом-работа-дом. А потом приходишь на гоночный трек - "Ребята я ездить умею, прав правда нету
Погоди, но как же я тошнил дом-работа-дом, если прав нет?
>Там же хуйня, инструкцию в дороге почитаю
Но ведь ездил же я на ламборджини по деревне у бабушки, и ничего, норм. Неужели с вашим болидом не справлюсь?
Аноним 22/12/21 Срд 05:14:51 #1246 №2244764 
>>2244758
>Я же не говорю, что я знаю всё на свете и мне не нужно учиться. Ок, если чему-то надо учиться и есть такая возможность, то почему нет?
Ну так учись, тебе кто-то мешает? Или ты считаешь тебе тут за просто так кто-то что-то разжует, когда за углом инфоцыгане то же самое за 100К выдают? Иди к ним.

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

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

1) Работа с БД. Сюда идет не только работа из приложения, но и минимальное проектирование таблиц по условиям задачи.
2) Должна быть серверная и клиентская часть. Упор на бэк. Фронт должен быть легко заменяем.
3) Конкурентность и многопоточка при работе с БД, например "бронирование товаров на складе с кучи аккаунтов в черную пятницу"
4) Работа с файлами, например сохранить отчет о работе на диск.
5) Какой-нибудь бенчмарк, чтобы проверить, что твое приложение не зависнет если в него сразу пара десятков тысяч запросов поступит

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

>>2244758
>Погоди, но как же я тошнил дом-работа-дом, если прав нет?
Да хуй тебя знает. Может права и есть, но ты их один хрен не показываешь.
>Но ведь ездил же я на ламборджини по деревне у бабушки, и ничего, норм. Неужели с вашим болидом не справлюсь?
Может и ездил, может и нет. Доказательств то нет. Ну и к тому же, ламба имеет мало общего со спортивным болидом.
Аноним 22/12/21 Срд 13:32:19 #1247 №2245024 
>>2244274
>моделей или DTO-шек
А кстати где они? Могу предположить что в ХХХ.Model.DAL, но смущает что mapping лежит в ХХХ.DAL, не может же Dal зависеть от Model.
И почему sql лежит в txt?
Аноним 22/12/21 Срд 13:33:56 #1248 №2245026 
>>2244272
>if-else - сразу нахуй
Обоснуй. Я еще и else if пишу, ибо семантика.
Аноним 22/12/21 Срд 13:59:36 #1249 №2245062 
>>2244702
>Как мне туда попасть без опыта и без диплома? В правильную контору?
Никак. Ну т.е. в чем профиты тебя нанимать, если у тебя ни опыта, ни диплома?
>Опыт, как мы уже поняли, не поможет. Вон, чувак десять с хуем лет отработал, а его просто выпиздили бы на мороз.
Опыт - поможет. Разумеется, можно 10 лет хуйней заниматься, но в целом - даже если ты позанимался пару лет хуйней, можно легко устроиться в другую контору, в которой получишь более релевантный опыт для правильной конторы. Да и вообще - выпиздили в одной, взяли в другой, это не показатель.

>Как вообще определить эту контору? Как вообще понять, что в эту контору стремиться надо, а вот в другую, допустим, не надо, потому что она говноконтора. Есть способ понять, что в этой конторе я хоть чему-то научусь, при чём научусь большему, чем тупо говнокодить?
Охуеть у тебя вопросы. Из разряда "как научиться жить". Это сложные комплексные вопросы со сложными комплексными ответами, и ты думаешь, тебе на дваче смогут это объяснить? Да найдя нормальный ответ на пару-тройку вопросов подобного уровня - уже можно считать, что жизнь удалась. А ответив на десяток - окажешься на вершине мира. Ну ты и спросил же.
Аноним 22/12/21 Срд 14:00:26 #1250 №2245063 
>>2244445
>не знает, что такое эксепшены, приходя работать джунами. А я знаю.
Уверен? Один из стандартных вопросов с джуновского собеса: В чем отличие следующих способов проброса исключений:
catch(Exception ex) { throw; }
catch(Exception ex) { throw ex; }
catch(Exception ex) { new Exception(ex); }
И да на собесе загуглить не получиться.
Кстати, если интересно, есть канал на ют "с кодом по жизни" или как-то так, и одно из последних видосов собес уровня трейни-джун, можешь посмотреть. Там конечно собеседуемый быстро поплыл и вопросы в глубь не пошли, но что-то мне подсказывает. что ты тоже даже на таких вопросах отвалишься.
Аноним 22/12/21 Срд 14:08:34 #1251 №2245072 
>>2245026
Шо тут обосновывать? Любой код if-else - можно заменить на код без.
А про else-if это вообще признак того что твой метод слишком много на себя берет и нужно его резать.
Ну, давай пример:

QueryExecutionResult? result = null;
if(validator.ValidateQuery(query)){
result = queryExecutor.Execute(query);
}
else{
throw new ValidationException("Invalid query");
}
return result;

Как мы можем это переписать?

if(!validator.ValidateQuery(query)){
throw new ValidationException("Invalid query");
}
var result = queryExecutor.Execute(query);
return result;

Что поменялось? С точки зрения логики - нихуя. Но читать это стало проще. Кода стало меньше. Человеку, который будет это поддерживать в будущем - ты сэкономил время на понимание логики, т.к. не нужно в голове сразу две ветки держать: алгоритм - линеен, а if используется только чтобы прервать выполнение.
Со сложной бизнес-логикой, это работает абсолютно так же. Да, придется не в сразу в методе хуйнуть всю логику, а порезать на классы, что кажется плохо со стороны KISS, но вот в будующем, когда тебе в эти if-else придется добавлять новую логику - тебе не придется ебаться с тем, что ты не уверен, что если тут что-то вставишь - все нахуй поломается и хуй что с этим делать.

Да, я не то чтобы догматичен в этом. В принципе - можно и использовать. Как и goto. Только зачастую - ты тут сделал трехэтажный if-else, там сделал и вот ты в яндередева превратился, а код твой, даже ты уже не понимаешь.
Аноним 22/12/21 Срд 14:29:22 #1252 №2245089 
>>2245026
>Как мы можем это переписать?
Вот так:
return validator.ValidateQuery(query) ?
queryExecutor.Execute(query) :
throw new ValidationException("Invalid query");

Но не всегда же иф такой простой. Если в ифе рутурн, то как бы да продолжение писать в блоке елсе не имеет смысла (хоть семантически и верно, но отступы сожрет).
А вот такое
if(checkA()) {Foo()}
else if(id > 10 ) {Bar()}
else {Foo(); Bazz(();}
Kek();
уже как-то не очень упрощается, викидыванием елсов.

>Да, я не то чтобы догматичен в этом.
>if-else - сразу нахуй
Выглядит знаешь ли догматично.
Аноним 22/12/21 Срд 14:30:08 #1253 №2245090 
Критический промах
>>2245072
>>2245089
Аноним 22/12/21 Срд 14:38:42 #1254 №2245094 
>>2245063
В первом случае ты перебрасываешь исключение по-христиански, ничего не проебывая, во втором проебываешь стек вызовов, в третьем кидаешь новое исключение со внутренним старым.
Мимо другой анон не ебанат
Аноним 22/12/21 Срд 14:48:39 #1255 №2245101 
>>2244604
>А private защищает от изменений логики работы, касающейся этого класса, извне оного.
Ты мне напомнил анекдот про студента, который на экзамене по биологии знал только про блох, и все вопросы профессора сводил к блохам. Вот только ты и про блох не знаешь. Пытаясь увернуться от вопроса, ты подменяешь его другим, на который как ты думаешь ты знаешь ответ, но и там обсираешься. Как только ты хочешь выдать что-то дельное, а не просто рассказы о своей охуенности - ты обсераешься.
Но предположим ты такой ответ выдал в первые пять секунд собеса, а сеньер еще не понял, что ты шизик и подумал, что ты переволновался. Далее идет уточняющий вопрос: каким образом public позволяет изменить логику работы? И почему это нельзя слелать когда private?
Я это всё к тому, что даже чтобы врать надо всё разбираться в том, о чем ты врешь.
Аноним 22/12/21 Срд 14:52:22 #1256 №2245102 
>>2245094
>не ебанат
А это еще нужно проверить.
Аноним 22/12/21 Срд 15:07:01 #1257 №2245112 
.png
>>2245089
> уже как-то не очень упрощается, викидыванием елсов.
Ну хуй знает. По мне вот так будет проще читаться и понимать что код делает.
Аноним 22/12/21 Срд 15:22:18 #1258 №2245119 
>>2245112
>вот так будет проще читаться
Как по мне это уже наркомания, которая не дает преимуществ, а только принципиально избегание if-else.
Да и по сути у тебя два иф-элса: тернарный оператор, который просто укоротил запись ифелса, но абсолютна таже суть. И через жопу записанный иф-элс: свич одного паттерна + дефолтная ветка, это вообще пиздец. Еще и делегатам обмазал, из-за того что нужно значение из тернарника/свича вернуть, но зато иф-есле не написал, охуеть. Какой-то if-else enterprise edition за ни хуй собачий.
Аноним 22/12/21 Срд 15:39:21 #1259 №2245129 
>>2245063
Ну хз, я вот тоже не знаю, что такое эксепшены, а вот по коду - более-менее можно догадаться (просто пробрасываем наверх, пробрасываем наверх отсюда, создаем новое исключение)
Аноним 22/12/21 Срд 15:41:58 #1260 №2245131 
>>2245129
Но шизик утверждал, что он один из немногих, кто знает что такое эксепшены. В чем я засомнивался и предложил ему такой вопрос с собесов.
Аноним 22/12/21 Срд 15:43:05 #1261 №2245135 
.png
>>2245119
> это уже наркомания
Что ты скажешь на то, как я бы в реальности делал, а не демонстрируя что можно без else?
Аноним 22/12/21 Срд 15:44:38 #1262 №2245138 
>>2245072
>когда тебе в эти if-else придется добавлять новую логику
А это уже нарушение солида.

>ты тут сделал трехэтажный if-else, там сделал
И написал чудесный C# код. Который читается ничуть не хуже. Да, место больше занимает, но от этого только выиграли. Мы, типа, на шарпе пишем, у нас не принято на строчках экономить.
Аноним 22/12/21 Срд 15:46:39 #1263 №2245141 
>>2245089
>return validator.ValidateQuery(query) ?
>queryExecutor.Execute(query) :
>throw new ValidationException("Invalid query");
Только вот такое дебажится так себе. Когда тернарник один, то еще куда ни шло, когда же их рядом несколько (а то еще и вложенные есть), то ну его нахуй, проще по цепочке if else пройтись
Аноним 22/12/21 Срд 15:46:52 #1264 №2245142 
>>2245135
>Что ты скажешь на то
Ну тут одна мысль приходит: нахуя?
Аноним 22/12/21 Срд 15:50:06 #1265 №2245147 
>>2245089
>уже как-то не очень упрощается, викидыванием елсов.
Да, потому что ты все говно в одну кучу смешал, которую нужно разделить. У тебя после первого else - уже отдельный метод пошел, который ты зачем-то влепил в тот же самый.
Аноним 22/12/21 Срд 15:50:29 #1266 №2245148 
>>2245112
А вот за такое, тот кому это придется дебажить, не поленится и придет тебе лично пиздюлей выдать. На учебных примерах типа физбаза это еще канает, на чуть более сложной логике, тебе на нормальном ревью хуев за такое напихают.
Аноним 22/12/21 Срд 15:50:48 #1267 №2245150 
>>2245141
Когда один никаких проблем. Когда вложенные, там уже ломается мозг при чтении, а еще они могут быть неправильно выровнены. Кстати, в сурсах дотнета встречаются.
Аноним 22/12/21 Срд 15:54:08 #1268 №2245156 
>>2245101
Двачую тебя, очень хорошо ты выразил то, что я чувствовал, когда его шизу понять пытался.

>>2245112
Ты упрт?

Аноним 22/12/21 Срд 15:56:36 #1269 №2245162 
>>2245142
Ну, лично мне так нравится. Красиво и просто. Ну, по крайней мере мой опыт показал - что так кодить, конкретно для меня - эффективнее. Я же - золотая рыбка, мне класс что в один экран не умещается - в голове держать не получается, потому проще делать вот так вот, чтобы потом - "архитектура" и ИДЕ подсказывали, где что посмотреть и как пофиксить что-то.
>>2245148
Я 5+ лет работаю. Никто не приходил бить морду. А дебажить такое - не сложно. По крайней мере я - сложности не ощущал, как и коллеги, которые использовали мой код.
Аноним 22/12/21 Срд 15:58:15 #1270 №2245167 
>>2245162
F#
Аноним 22/12/21 Срд 15:58:55 #1271 №2245168 
>>2245147
А зачем мне размазывать логику выбора действия по разным методам, если она вот тут? Я же не говорю про десяток ифов со вложенными ифами.
Аноним 22/12/21 Срд 16:09:38 #1272 №2245190 
.png
.png
>>2245156
> Ты упрт?
Да нет, вроде. И что не так с тем кодом-то? Читается он легче. Весь выглядит - линейно. Уж точно лучше, чем если бы тот вариант записали как надо, а не в однострочники.
Ну, могу предложить второй вариант, который мне нравится меньше, но тоже без if-else в явном виде(второй пик)
Аноним 22/12/21 Срд 16:31:43 #1273 №2245210 
.png
>>2245089
Последнее предложение. Дальше - я умываю руки.
Аноним 22/12/21 Срд 17:48:38 #1274 №2245283 
изображение.png
>>2245162
>Ну, лично мне так нравится

Мне просто любопытно: ты бы и это стал переписывать, чтобы без else?
Аноним 22/12/21 Срд 18:08:56 #1275 №2245293 
>>2245283
Та нет конечно, няша.
Просто обычно, когда начинается if-else, получаем что-то в духе вот этого вот https://github.com/novar0/TestApp/blob/main/TestApp/schedule.cs
Аноним 22/12/21 Срд 18:28:03 #1276 №2245313 
>>2245293
Ебануться, это что, какой-то самописный велосипед для разбора парсинга крон выражений?
Аноним 22/12/21 Срд 18:29:57 #1277 №2245314 
>>2245313
>разбора парсинга
Сука, надо выспаться, мозг меня уже подводит, дублирую слова на автомате и не замечаю даже.
Аноним 22/12/21 Срд 18:32:09 #1278 №2245317 
>>2245313
Ну, типа того(там не совсем крон, но принцип схож). Тестовое задание для мидла, который ныл на хабре, что его не взяли.
Аноним 22/12/21 Срд 18:49:25 #1279 №2245335 
>>2245062
Ну а уже работая в говноконторе как понять, что это говноконтора? Если мой уровень соответствует ей, и мне начинается казаться, что весь мир так работает и потому это норма?
Как вот я сам варился в своём собственном соку, и мне казалось, что норм, и так сойдёт, а пришёл сюда и вы мне сказали, что нет у меня никакой ламборджини.
Следует ли стремиться в какую-то конкретную отрасль, например? Может быть в какой-то отрасли в среднем по больнице уровень разработки выше? Но при этом у меня нет диплома, вернее, есть, но он не связан с программированием, так что в какие-нибудь особо серьёзные конторы меня ещё и не возьмут, например, если там с безопасностью связано.
Аноним 22/12/21 Срд 20:28:47 #1280 №2245417 
>>2245293
Это говняха-тестовое шизика с хабра, который потом еще удивлялся, что его не взяли?
Аноним 22/12/21 Срд 20:35:21 #1281 №2245426 
>>2245417
Именно она.
Аноним 22/12/21 Срд 22:28:37 #1282 №2245488 
А есть какие то подводные при использовании лямбды при объявлении метода?
Например,
public override int GetHashCode() => (x, y).GetHashCode();

компилятор просто заменит на

public override int GetHashCode()
{
return (x, y).GetHashCode();
}

?
Аноним 22/12/21 Срд 23:10:15 #1283 №2245514 
>>2245488
https://sharplab.io/#v2:CYLg1APgAgzABAZwC4CcCuBjJcDKBDAWwAcAbAUzgG8BYAKDgbljhIHsA7AczgA0q5OZJAG5EQ0QF86jJvDZc4ATX6CRYtVNrTGzVgDcyKFAEtgFY+2wBxIQAk8CABYBhVmYAUASjgBeAHxw7jwANEqeAHQ2SPZOrh6ewnQSQA==
Аноним 22/12/21 Срд 23:40:27 #1284 №2245533 
>>2245514
Спасибо!
Аноним 23/12/21 Чтв 00:00:27 #1285 №2245540 
Как сделать, чтоб у текстбоксов в wpf синхронизировалась видимость скроллбара? А то у одного появляется когда длинная строка, а у другого нет и из-за этого они становятся разной высоты.
Аноним 23/12/21 Чтв 08:26:40 #1286 №2245649 
>>2245488
>при использовании лямбды при объявлении
Только это не лямбда. Це есть expression body.
Аноним 23/12/21 Чтв 11:13:24 #1287 №2245716 
>>2245540
Попробуй на стаковерфлоу поискать, там много чего по втф есть
Аноним 23/12/21 Чтв 12:46:14 #1288 №2245801 
>>2245649
Это объясняет сложности нагугливания. Привык, что => это лямбда-оператор
Аноним 23/12/21 Чтв 13:02:49 #1289 №2245815 
На ULearnMe используется C# 5.0
Курс имеет смысл проходить или там всё безнадёжно устарело?
Аноним 23/12/21 Чтв 13:12:31 #1290 №2245822 
>>2245815
Если начинаешь программирование с нуля, то пох, основам это не повредит, а новшества потом посмотришь. Если перекатываешься из другого языка, то тогда надо сразу с прицелом на актуальность искать.
Аноним 23/12/21 Чтв 13:45:52 #1291 №2245863 
>>2245815
Как вы на самом деле задолбали.
Шарп можно учить с третьей версии. Ломающие изменения хоть и есть, но такие вот нуфаги наткнутся на них не скоро. Да и вам должно быть похуй. Вы, блядь, не будете хуячить проект в миллионы строк кода, чтобы вас ебало, что вот тут вот - сломали это и теперь 400к строк - либо выкидывать, либо как-то мигрировать. Плюс, блядь, у вас на этом этапе задача - освоиться с тем, чтобы базовые вещи делать: проходиться по массиву, научиться проектировать классы, пользоваться коллекциями, которые есть в языке, изучить LINQ, понимание апкаста-даункаста, понимание что такое IDisposable и почему тебе, ебло, трогать его не следует, пока ты не разберешься нормально.
Нет, блядь, я еще хелло ворлд не писал, не знаю нихуя, но мне с какого-то хуя нужно последние версии. Чтобы что? Что на этом этапе тебе это даст? Ну, вот появилась в пятой версии возможность не List<int> temp = new List<int>() писать, а List<int> temp = new(); Что тебе с этого? Ты, блядь, уже проект с 9к классами имеешь и для тебя эта разница в 9 символов начала роллять как-то? Да нихуя. Просто хуйней маетесь. лишь бы отложить изучение, страдая прокрастинацией в виде поиска вот самого-самого нового. В это время какой-нибудь нормальный человек - берет древний учебник, учится нормально, что-то делает(банальную, блядь, телефонную книгу на формах), потом быстренько смотрит по ченджлоги, что в каких версиях появилась, переводит IDE на подсказку того как можно сделать сейчас и идет работать через полгода изучения.
Аноним 23/12/21 Чтв 14:56:48 #1292 №2245939 
>>2245863
Двачую
Аноним 23/12/21 Чтв 15:03:09 #1293 №2245946 
>>2245822
>>2245863
Спасибо.
Аноним 23/12/21 Чтв 15:56:19 #1294 №2245996 
Какой проект сделать для портфолио? Не веб разработка
Аноним 23/12/21 Чтв 15:57:40 #1295 №2245998 
>>2245996
>>2245863
> банальную, блядь, телефонную книгу на формах
Аноним 23/12/21 Чтв 16:00:35 #1296 №2246004 
Наверное довольно неофитовый вопрос: есть один App.config (.net framework) который появляется в папке с билдом. У меня в конфиге хранятся конекшн стринги в которых указан айпи и пароль к базе. Если я просто убираю конфиг - у меня на каком-то моменте просто виснет намертво приложение. Вопрос: его можно как-то в сам .ехе засунуть?
И да, если что у меня делается обфускация самого .ехе с шифрованным хранилищем строк.
Аноним 23/12/21 Чтв 16:11:16 #1297 №2246023 
>>2246004
Просто захордкодить?
Аноним 23/12/21 Чтв 16:12:04 #1298 №2246026 
>>2246004
> И да, если что у меня делается обфускация самого .ехе с шифрованным хранилищем строк.
Иди нахуй
Аноним 23/12/21 Чтв 16:53:04 #1299 №2246048 
>>2246004
> И да, если что у меня делается обфускация самого .ехе с шифрованным хранилищем строк.
Данные для доступа к БД всё равно можно будет выдрать, перехватив соединение с БД. Так, к сведению, мамин шифрователь.
Аноним 23/12/21 Чтв 17:05:29 #1300 №2246062 
>>2246048
Как и снимается обфускация нахуй. Эта хуйня только замедляет программу, а защита лишь только от самых начальных взломщиков. Кому надо, всё равно сделают, даже больше интереса
Аноним 23/12/21 Чтв 18:52:03 #1301 №2246194 
>>2246062
Лол, у меня наоборот быстрее работает.
Аноним 23/12/21 Чтв 18:58:48 #1302 №2246208 
>>2246004
Неофиты совсем в гугл не могут? Первая же ссылка в гугле:
https://docs.microsoft.com/ru-ru/aspnet/core/security/app-secrets?view=aspnetcore-6.0&tabs=windows
Аноним 23/12/21 Чтв 19:08:47 #1303 №2246232 
>>2245863
>Да и вам должно быть похуй. Вы, блядь, не будете хуячить проект в миллионы строк кода, чтобы вас ебало
Ага, только на собеседовании это спросят, и если не знаешь - идешь нахуй.
>понимание что такое IDisposable и почему тебе, ебло, трогать его не следует, пока ты не разберешься нормально.
Это тоже обязательно спрося. Только не почему трогать не нужно, а заставят реализовать майкрософтовский паттерн с финализатором.
>В это время какой-нибудь нормальный человек - берет древний учебник,
А вот это верно. Если спрашивают не за синтаксический сахар - то в большинстве случаев нужно отвечать так, как написано у Рихтера, а не как оно на самом деле в современном дотнете.
Аноним 23/12/21 Чтв 19:47:29 #1304 №2246265 
>>2246232
Это новая методика - начать учить язык и сразу на собеседование?

Аноний написал, что можно обучиться по старому учебнику, а потом уже пройти по нововведениям. И только после этого уже готовиться идти на собеседования.
Сомневаюсь, что кому то будет не похуй, что у тебя в портфолио телефонная книга написана на устаревшем дотнете. Но в обратном случае: если у тебя бизнес логика сразу за кнопкой и состоит из десяти вложенных if-ов, то шансы неперезвона крайне высоки даже при выебонах экспериментальными фичами.
Аноним 23/12/21 Чтв 19:51:04 #1305 №2246271 
>>2246232
> Ага, только на собеседовании это спросят
К моменту когда ты пойдешь на собеседования - ты и так это все знать будешь, если не пытаешься без смазки в жопу лезть.
Ну серьезно. Ты всерьез хочешь идти на собесы, не умея в базовые вещи? Чтобы что? Чтобы пройти собес, получить место, потом посидеть месяц, жидко пукнув вылететь, а потом бегать с разорванной жопой?
> Только не почему трогать не нужно, а заставят реализовать майкрософтовский паттерн с финализатором.
Сразу поясняешь, что собеседующий долбоеб ебаный и уходишь. Можешь предварительно пояснить почему он долбоеб, если знаешь ответ.

И вообще. Я собесы когда проходил на джуна, вот что было:
1. Базовые конструкции(ветвления, циклы, свичи, классы, структуры, константы, в чем их отличие от readonly, enum)
2. Коллекции(какие есть, почему не нужно ArrayList использовать)
3. IEnumerable и IEnumerator
4. foreach - что, как пользоваться, что нужно чтобы твой класс можно было туда пихнуть
5. LINQ - что, зачем, как пользоваться, что сделать чтобы твой класс можно было впихнуть
6. ООП на примитивном уровне(модификаторы доступа, инкапсуляция, наследование, полиморфизм)
7. В чем отличие интерфейса от абстрактного класса(тогда вопрос еще таких проблем не вызывал)
8. Многопоточность(Thread, способы синхронизации потоков: критические секции, семафоры; какие могут быть проблемы: дедлоки, гонка)
9. Асинхронщина(Что? Зачем? Как работает? async-await)
10. GC - на уровне: знаю что такое и зачем нужно, знаю про поколения
11. Работа с БД: что-то рассказать про ado/EF, на уровне: знаю что можно вот это вот, используется паттерн репозиторий с unit of work
12. Делегаты, события.

Да, еще немного про Stream спрашивали.
Да, еще про строки забыл: ждут, что ты знаешь, что они - объект, но при этом иммутабельный. И что знаешь про StringBuilder и почему его нужно использовать, если нужно массивно с текстом работать.
Да, еще забыл про работу с файлами.

Это все в контексте именно шарпа.
В контексте asp:
Знаешь про фильтры, про мидлварь, представляешь что из себе HTTP представляет, умеешь настроить маршрутизацию, умеешь настроить авторизацию, знаешь про JWT, можешь минимально пояснить за IServiceCollection, и DI в целом.

Собственно все что нужно было чтобы на джуна 5 лет назад попасть. Что из этого поменялось в последней версии в контексте условного джуна?
Аноним 23/12/21 Чтв 20:16:43 #1306 №2246294 
>>2246271
Почему надо столько дофига знать? И что реально те, кто уже работает, это всё знают?
Аноним 23/12/21 Чтв 21:16:20 #1307 №2246355 
>>2246208
Я про секреты знаю, но это совсем не то вообще-то.
Аноним 23/12/21 Чтв 21:18:26 #1308 №2246358 
>>2245716
Так я и ищу, так бы уже весь тред засрал
Аноним 24/12/21 Птн 02:25:51 #1309 №2246533 
У вас тред утонул.
Аноним 24/12/21 Птн 05:12:29 #1310 №2246551 
5dc103012dd3416e39f3bca4.png
Меня никогда не возьмут на работу
Аноним 24/12/21 Птн 09:33:34 #1311 №2246598 
Вот в джаве имена пакетов и классов жёстко связаны со структурой каталогов и файлов. А как с этим делом обстоит в сишарпе? Стоит ли придерживаться такого же стиля как в джава?
Аноним 24/12/21 Птн 10:53:16 #1312 №2246642 
>>2246271
> Я собесы когда проходил на джуна, вот что было
Страх какой-то. Так и есть, наверное, но меня на мидла три недели назад меньше спрашивали. Ну, наверное неджунские собесы и отличаются от джунских тем, что там больше за опыт разговор. А джуном сишарповым я вообще стал без минимального знания сишарпа, буквально первую строку на нём в жизни на собесе для FizzBuzz написал.

> Знаешь про фильтры
Не знаю.

> про мидлварь
Не знаю.

> умеешь настроить маршрутизацию
Смотря что имеется в виду. Вряд ли ты про цисковские роутеры, поэтому не знаю. Но судя по документации, минутное дело.

> умеешь настроить авторизацию
> знаешь про JWT
Лол, не знаю. На собесе так и говорил, что в Identity вообще ничего не понимаю. Для петпроекта сделал как-то авторизацию, но так и не понял, что я конкретно сделал и как.

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

Вспомнил, как в ЕПАМе заебали кастами. Из дочернего в родительский, из родительского в дочерний, в интерфейс, в object, в Аллаха. Method shadowing был ещё в дочернем классе. Я сразу сказал, что вообще as за пределами TypeScript не видел и в жизни бы вообще такую хуету писать не стал, а потом начал предполагать, как это всё может быть устроено, пользуясь какими-то протухшими детскими обрывками воспоминаний, как в плюсах работает class call и что было бы в vtable в этом случае. Вполне очевидно, что я не угадал ни с чем, лол, но ход мышления мой всем понравился точно.
Аноним 24/12/21 Птн 11:44:24 #1313 №2246687 
>>2246533
После 1к тред только начинает жить. А как перекатишь сразу 500 постов которые из треда в тред одни и те же от залетных,
Аноним 24/12/21 Птн 12:47:07 #1314 №2246724 
>>2246265
А что, нужно год вкатываться? Язык выучил, Рихтера прочитал - и вперед, учиться собеседоваться.
Аноним 24/12/21 Птн 13:30:37 #1315 №2246744 
>>2246724
>обучиться
>после этого уже готовиться идти на собеседования

>Язык выучил, Рихтера прочитал - и вперед

И где конфликт подходов?
Аноним 24/12/21 Птн 13:56:03 #1316 №2246778 
>>2246598
В шарпе это не обязательно. Но придерживаться соответствия неймингов классов-файлов и неймспейсов-каталогов стоит. На любом нормальном кодревью за этим следят.
Аноним 24/12/21 Птн 14:21:15 #1317 №2246800 
>>2246642
> Хочу просто сказать, что собес собесу рознь и это не экзамен в школе или универе, к которому нужно задрочить билеты. Говорю это для молодых-зелёных в треде, чтобы как можно раньше начали действовать и ходить по собесам, потому что дрочение списка тем без регулярного фидбека не так эффективно
Ну, смотри, няша. Хоть собес собесу и рознь. Только вот у нас, ввиду жесткой нехватки спецов, таки набрали вообще людей со вторых курсов вуза. И вот ты не представляешь, как весело - объяснять человеку, как ему пройтись по масивчику или пользоваться LINQ, как ему асинхронность оформить. Объяснять, за модификаторы доступа, что такое лямбды и все это вот. А уж если там велосипедостроитель попадется, который начнет с HttpListener'а, или, блядь, с сокетов и будет пытаться все 3 версии сам навелосипедить и ведь это самое интересное, как он, блядь, гуглил-то что пришел к такому решению, вмечто того чтобы по всем известному пойти пойти. Ух бля. Просто 11/10 опыт. А у тебя - твои задачи есть, которые нужно делать, сверху митапы, еще и хочется кофе попить да покурить, но ты пытаешься быть нетоксичным и не шлешь их нахуй, как другие коллеги, которые подольше тебя работают, тратишь время, чтобы объяснить, показать, даешь примеры. Уже начинаю думать, что деды - правильно делают: дал ссылку на доку майкрософтовскую, показали пальцем на стеллаж с книгами и пусть сам разбирается, не поймет - его проблемы.
Аноним 24/12/21 Птн 14:30:19 #1318 №2246807 
>>2246598
Стоит. Банально, это удобнее. Ты с одной стороны - видишь сбоку у себя дерево проекта и понимаешь что тебе нужно в using добавить, с другой - помнишь что где лежит хотя бы примерно. Когда у тебя проект разрастется хотя бы до 20 файлов - поймешь в чем польза такого вот подхода. А представь, что у тебя проект разросся до 500 файлов.
Аноним 24/12/21 Птн 14:56:53 #1319 №2246844 
>>2246800
> А у тебя - твои задачи есть, которые нужно делать, сверху митапы, еще и хочется кофе попить да покурить, но ты пытаешься быть нетоксичным и не шлешь их нахуй, как другие коллеги, которые подольше тебя работают, тратишь время, чтобы объяснить, показать, даешь примеры.
Ну так скажи менеджерам и как-то организуйте этот процесс так, чтобы ты мог пару часов в день списывать на эту хуйню.

Ну я и не говорил же в своём посте, что нужно быть тупым и ленивым долбоёбом и не учить ничего. Учить, практиковать и получать фидбек какой-то.
Аноним 24/12/21 Птн 15:34:36 #1320 №2246876 
>>2246800
>А у тебя - твои задачи есть, которые нужно делать,
Вообще, в нормальных конторах за такое доплачивают. Причем это даже как бонусом идет. Т.е. еще на собесе говорят, чел вот ты к нам идешь, и если хочешь заработать, то у нас есть программа стажировки. Берешь себе пару стажеров и обучаешь их (время обучения засчитывается в рабочее - т.е. прям заводишь таску и пишешь "сегодня учил сопливого разбираться с массивами" и списываешь на нее часы. За это тебе дополнительные деньги капают, плюс еще когда стажер защитится на категорию, тебе бонус будет.
Аноним 24/12/21 Птн 15:35:32 #1321 №2246877 
Если завтра микрософты выпустят корявую версию сишарпа, то всё умрёт и вакансии закроются. Проблема сишарпа - это полная зависимость от одной компании.
Аноним 24/12/21 Птн 15:46:46 #1322 №2246884 
>>2246877
LMAO. Уже не одни майкрософт занимаются дотнетом, а вообще такая ситуация была с джавой. Оракл выкатил систему модулей и внезапно проды на той версии jdk начали падать. В итоге просто 70% рынка осталось сидеть на легендарной 8 версии до сих пор.
Аноним 24/12/21 Птн 16:00:13 #1323 №2246891 
>>2246884
В джаве можно установить файлик и будет нужная версия, а в дотнет всё прикручено анально к винде. У меня недавно было шин8, которая ещё актуальна и срок поддержки не закончился как с шин7, но уже не выходят свежие обновления дотнета. Мне пришлось переходить на шин10.
Аноним 24/12/21 Птн 16:11:53 #1324 №2246902 
>>2246891
Нас, крудошлёпов кривозубых, мало ебут шиндопроблемы.
Аноним 24/12/21 Птн 16:20:58 #1325 №2246914 
Aespacsharp.jpg
Когда перекат?
Аноним 24/12/21 Птн 16:25:33 #1326 №2246923 
>>2246877
Спецификация - открыта. Решат майки сломать все к хуям и обрубят старые версии - никто не мешает сделать Open.Net и перевести все на него. Плюс, Mono никуда не делся. Да, оно сейчас перестало быть так уж нужно, но если есть желание - бери и используй.
Аноним 24/12/21 Птн 16:26:55 #1327 №2246927 
>>2246923
Mono выкупили микрософты же и Open.Net также задушат
Аноним 24/12/21 Птн 16:41:46 #1328 №2246937 
>>2246927
Майки купили Xamarin. Они хоть и являются основным разработчиком Mono, но даже если все к хуям закроется - комьюнити, при желании, может поддерживать. Плюс там из-за лицензии майки не могут просто так закрыть Mono из-за того что нет оснований: спецификация шарпов открыта и были публичные заявления о том, что майки не имеют притензий к реализации самого .net, CLR и CLI. Проблемы с Mono могут быть, если ты используешь не входящее в спецификацию апи, такое как ASP, ADO, Forms и прочие свистоперделки. Но все эти свистоперделки - при наличии остального фреймворка - восстановить так, чтоб под патенты не попадало - не такая большая проблема для сообщества, если это сообщество таки будет. А учитывая, что интерес таки с появлением core - возрос - интерес будет.
Аноним 24/12/21 Птн 20:20:25 #1329 №2247105 
И где хваленая кроссплатформенность? Скомпилировал консольное приложение под .Net 6 в винде. Скопировал всю папку со всеми релизными файлами в линукс. И что? Файл ехе просто не запускается и ничего не происходит.
Аноним 24/12/21 Птн 21:10:06 #1330 №2247132 
>>2247105
Ты троллишь?
Аноним 24/12/21 Птн 21:10:51 #1331 №2247134 
>>2247105
Ты скорее всего забыл Using System.Linux в главном классе программы прописать.
Аноним 24/12/21 Птн 21:19:54 #1332 №2247143 
>>2247132
Нет. Я что, должен компилировать две версии для винды и линупса? В чём тогда кроссплатформенность с точки зрения микрософта?

>>2247134
Впервые слышу об этом. Откуда я должен знать, где мою программу запустят? Опять же надо две версии компилировать под каждую ОС? А под маки как? using System.MacOS?
Аноним 24/12/21 Птн 21:21:48 #1333 №2247144 
А хуль вся литература на английском? Как его учить то, у меня не получается
Аноним 24/12/21 Птн 22:50:52 #1334 №2247219 
>>2247143
>using System.MacOS?
Ну, как бы да. Ты в принципе можешь сразу все платформ-рилейтед неймспейсы подключить. Тогда точно будет работать на чем угодно. Правда размер exe-шника соответственно вырастет.
Аноним 24/12/21 Птн 22:53:12 #1335 №2247222 
>>2247105
>линукс
>Файл ехе
Еще один шизик. Тред в опасности!
Аноним 24/12/21 Птн 23:09:50 #1336 №2247233 
>>2247143
> Я что, должен компилировать две версии для винды и линупса?
Ты делаешь publish переносимый, затем на линуксе dotnet run и путь до имяПроекта.dll
Аноним 24/12/21 Птн 23:11:46 #1337 №2247236 
WCF тоже технология дедов? В книжке от Троелсена прочитал, вроде прикольная тема.
Аноним 24/12/21 Птн 23:23:57 #1338 №2247244 
>>2247236
Охуенная тема. Проблема что зависима от платформы - соответственно - кросплатформенно - хуй. При желании - можно и сейчас использовать, но развитие прекращено.
Как-бы на винде - использовать можно без проблем. Если тебе таки нужно чтоб на линуксах работало - хуй, пили руками велосипеды.
Аноним 24/12/21 Птн 23:34:59 #1339 №2247250 
>>2247244
У меня среда на работе линукс-фри. Только вот думаю, стоит ли связываться. Если я правильно понимаю, то WCF по уровню олдовости соперничает с формочками.
Аноним 24/12/21 Птн 23:53:18 #1340 №2247259 
Уже всю голову сломал, подскажите как решить задачу с тестового задания. Надо каким то образом сделать чтобы Main выводил не Hello, а другое слово, не изменяя код Main функции. Каким это образом вообще делается? Читал про reflection, похожего не нашёл. С указателями или Marshall наверное в таком языке не прокатит.

class Program
{
static void Main(string[] args)
{
Change();
Console.WriteLine("Hello");
}

static void Change() {
// Сюда код
}
}
Аноним 24/12/21 Птн 23:59:14 #1341 №2247265 
class Program
{
    static void Main(string[] args)
    {
        Change();
        Console.WriteLine("Hello");
    }

    static void Change(){
        // Сюда код
    }
}
Аноним 25/12/21 Суб 00:44:59 #1342 №2247277 
>>2247259
Можно создать переменную с "Hello" и тогда они будут ссылаться на одно и ту же строку
Аноним 25/12/21 Суб 00:54:56 #1343 №2247281 
>>2247277
да вот надо без переменных, а изменить захардкоженное значение
Аноним 25/12/21 Суб 00:55:57 #1344 №2247283 
.png
>>2247259
Аноним 25/12/21 Суб 00:58:49 #1345 №2247284 
>>2247283
такое тоже предусмотрели ёпт
Аноним 25/12/21 Суб 01:05:17 #1346 №2247289 
.png
>>2247284
Ну, можешь в сторону указателей поиграться. В этом примере, правда, слово должно быть той же длины.
Аноним 25/12/21 Суб 01:13:45 #1347 №2247294 
>>2247289
Офигеть, как это вообще работает? Как он понимает что fixed это указатель на переменную из Main, а не из magicString? Спасибо огромное
Аноним 25/12/21 Суб 01:18:44 #1348 №2247300 
А че вы так плотно срете в утонувшем треде вместо того, чтобы перекатить?
Аноним 25/12/21 Суб 01:24:00 #1349 №2247303 
>>2247294
Fixed это не про это.
Тут фишка с интернированием строк шарповским. Строки объявленные как литерал - при компиляции интернируются. Так вот, "Hello" из main и "Hello" из метода - одна и та же строка в памяти. Ну, соответственно, зная это, ты уже можешь получить указатель и играться с ним. Проблема будет правда в том, что все "Hello" после таких вот игр - заменятся. Соответственно, нужно будет обратно Hello положить, если нужно только в одном месте поменять.
Для тех у кого C/C++ были первыми языками, тут никакой магии нет.
Аноним 25/12/21 Суб 01:34:38 #1350 №2247305 
>>2247303
я перекатился из c++, там двум объектам не выделяется одинаковый указатель просто так. Спасибо, прочитал про интернирование. Это задачи для стажёра, ебало представили
Аноним 25/12/21 Суб 01:55:50 #1351 №2247315 
>>2247289
А разве возню с указателями не нужно в unsafe оборачивать?
Аноним 25/12/21 Суб 02:01:33 #1352 №2247318 
>>2247315
Нужно.
Аноним 25/12/21 Суб 02:44:00 #1353 №2247325 
.jpg
>>2247259
Господи. Два часа ночи. Я в отпуске. Нет, блядь, хуйней страдаю.
Только это. Я думаю на самом деле не такое от тебя ожидают. Тем более если это на стажера. Тем более у такого вот метода есть проблемы в реальном применении.
Аноним 25/12/21 Суб 03:45:58 #1354 №2247334 
ЭТО КОНЕЧНО ГЕНИАЛЬНО ARTHAS ПАПИЧ ВЕЛИЧАЙШИЙ НА ВСЕ СЛ[...].mp4
>>2247289
>>2247325
Я сохраню это, это просто невероятно.
Аноним 25/12/21 Суб 03:57:40 #1355 №2247340 
>>2247325
Че за пизда с байтами и звездочками, вы совсем тут ебанулись?
Аноним 25/12/21 Суб 04:22:42 #1356 №2247347 
Дайте видос практического применения Entity Framework'а, где не будет двадцать минут занудного индуского акцента.
Аноним 25/12/21 Суб 04:34:15 #1357 №2247349 
>>2247325
Чел, ты крут. Сохранил, завтра под пивко в дебагере это погоняю, чтобы лучше понимать как все это происходит.
Аноним 25/12/21 Суб 06:36:09 #1358 №2247359 
Перекат https://2ch.hk/pr/res/2247357.html
Перекат https://2ch.hk/pr/res/2247357.html
Перекат https://2ch.hk/pr/res/2247357.html
Аноним 25/12/21 Суб 10:21:03 #1359 №2247409 
>>2247259
Тебе нужно идти в другую контору, потому что с таким заданием они явно дают понять, что ёбнутые.
Аноним 25/12/21 Суб 11:38:44 #1360 №2247444 
poop.png
>>2247259
Можно перенаправить вывод через проксю.
Аноним 25/12/21 Суб 11:40:22 #1361 №2247445 
>>2247444
Там 12 не нужно, просто проверял сработает ли если вызвать другую перегрузку метода.
Аноним 25/12/21 Суб 14:57:31 #1362 №2247544 
>>2247444
Думаю это от него скорее и ожидали. Я с unsafe, байтиками и игрищами с указателями я, скорее всего, пошел не в ту сторону.
А тут - нет вероятности перезатереть что-то полезное и вообще, выглядит оно не так страшно и вообще, более ООПшно.

Хотя, задание для стажера, какое-то странное на самом деле.
Аноним 25/12/21 Суб 16:47:30 #1363 №2247688 
>>2247409
Я уже второй месяц не могу никуда устроиться
Аноним 27/12/21 Пнд 16:43:38 #1364 №2249506 
Как средствами 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").Id;
Это работает, но тогда создаётся в бд создаётся лишняя таблица нахуй там не нужная. А если на класс повесить атрибут [NotMapped], то таблица создаётся, но и код без таблицы не работает.
Есть варианты, что можно сделать?
Аноним 21/01/22 Птн 14:25:47 #1365 №2272295 
Всем привет,подскажите пожалуйста как через условный оператор обработать случай, когда массив имеет ссылку на 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.)
Аноним 20/03/22 Вск 17:08:30 #1366 №2319971 
>>2272295

if (arr is null || arr.length <= 1)
{
    return 0;
}
Аноним 20/03/22 Вск 17:09:48 #1367 №2319974 
>>2272295
>>2319971
В случае если вместо массива будет список, то замени length на count
Аноним 20/03/22 Вск 17:18:39 #1368 №2319983 
>>2249506
LINQ to Entities
comments powered by Disqus

Отзывы и предложения