Этого треда уже нет.
Это копия, сохраненная 29 февраля 2020 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
C#/Сишарп/.NET Тред - Шапка edition #16 /csharp/ /csharp/ C !ndViRcEtb2 1555702 В конец треда | Веб
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.
ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.

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

1. Ресурсы:
- http://stackoverflow.com/questions/tagged/c#
- http://www.tutorialspoint.com/csharp/
- http://professorweb.ru
- http://net-informations.com
- http://habrahabr.ru/hub/csharp/

2. Онлайн-компиляторы:
- https://dotnetfiddle.net/ - возможно лучший вариант. Встроено немного убогое, но все-таки автодополнение и проверка синтаксиса.
- http://ideone.com/
- http://csharppad.com/
- http://www.tutorialspoint.com/compile_csharp_online.php
- http://rextester.com/l/csharp_online_compiler

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

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

5. Какую ИДЕ выбрать?
Для Windows самым очевидным вариантом будет Visual Studio (https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx). Студия распространяется в двух редакциях: бесплатная коммьюнити-версия и платный энтерпрейс эдишн. В большинстве случае будет достаточно Community-версии: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополнений
Для мака и никсов самый юзабельный вариант - MonoDevelop ( http://www.monodevelop.com/download/ ).
Для vim можно использовать OmniSharp ( https://github.com/OmniSharp/omnisharp-vim ).
Кросплатформенный полуредактор/полуIDE VS Code ( https://www.visualstudio.com/en-us/products/code-vs.aspx )
Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.
Кроме того, в данный момент JetBrains активно пилит свою IDE для шарпа (Project Rider), вероятно в ближайшее время станут доступны первые EAP. IDE заявлена как кросплатформенная, со всем решарпер-функционалом, поддержкой отладки, моно и .net core.
SharpDevelop - еще одна IDE для C#, отличается малым размером (около 20мб) и опциональной портабельностью, при этом имея дизайнер WinForms и WPF, а также интеграцию с FxCop, StyleCop и прочими ништяками. Если хочется что-то по быстрому набросать, а выкачивать гигабйты нет желания, то возможно SharpDevelop будет лучшим вариантом.

6. С# для мобильной разработки
Если нужны инструменты для разработке под мобилы, ставь сразу VS2015 и при установке выбирай все нужные компоненты.
Больше информации тут - https://msdn.microsoft.com/ru-ru/library/dn771552.aspx
Из актуальной литературы
- Xamarin Mobile Application Development
- Xamarin Essentials

7. Дополнительные инструменты для разработки на C#
LINQPad - сорт оф REPL, с возможностью быстрого подключения к БД и удобной визуализацией данных
dnSpy - декомпилятор, малоизвестный форк ILSpy, где реализована возможность модификации IL-кода прямо в EXE и DLL файлах, отладка IL-кода и много других фич для reverse engineering'а. Плюс няшные темы как в студии
dotPeek - бесплатный декомпилятор от JetBrains
scriptcs - для запуска C# кода как скриптов, возможность использовать как REPL

8. Расширения для студии
ReSharper - одно из известнейших. Рефакторинги, умный автокомплит, настраиваемый стиль кода. Платный, но можно стянуть с торрентов
Supercharger - показывает "карту" с классами, методами и всем остальным сбоку от кода с возможностью прыгать по ним
Indent Guides - показывает вертикальные линии на каждом уровне отступов.
Format document on Save - форматирует код каждый раз при сохранении документа
Code alignment - Выравнивает код по указанным символам. Удобно, например, при инициализации словарей или в перечислениях

Обзор Roslyn: https://github.com/dotnet/roslyn/wiki/Roslyn Overview
Новые возможности C# 6.0: https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C#-6

ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕ

Код этой шапки: https://pastebin.com/YJFQKsNm

Прошлый тред тонет здесь: >>1528262 (OP)
C !ndViRcEtb2 2 1555703
9. Что почитать?
- The C# Player's Guide, второе издание (RB Whitaker) - отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода.
- C# 6.0 in a Nutshell (Joseph Albahari и Ben Albahari) - огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином
- C# 6.0 Pocket Reference (Joseph Albahari и Ben Albahari) - просто выжимка из справочника, можно всегда держать рукой
- C# 6.0 and the .NET 4.6 Framework (Andrew Troelsen) - 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
- C# 6.0 Cookbook (Jay Hilyard и Stephen Teilhet) - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.

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

11. Хочу еще хардкорней
- C# Deconstructed (Mohammad Rahman) - введение в CLR, модели памяти и выполнения в CLR, байтоебство, JIT. Книга достаточно коротенькая, менее 200 страниц, можно осилить за пару дней. Желателен опыт работы WinDbg и понимание устройства PE-формата.
- Expert C# 5.0 with .NET 4.5 Framework - еще одна книга этого автора, в этот раз намного длиннее. Очень много IL, анализа и разбора стандартной либы (те же коллекции), разбор ивентов, дегегатов, асинхронности etc. на уровне байткода.
- .NET IL Assembler (Serge Lidin) - ILёбство, во многих местах повторяет документацию MSDN, но при этом имеет много интересных дополнений и заметок. Кроме того все неплохо структуировано и разложено по красивым табличкам

12. Литература по WPF
Из более-менее актуального можно выделить пару книг:
- Pro WPF 4.5 in C# (Matthew MacDonald)
- Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)

13. Литература по ASP.NET
- Professional ASP.NET MVC 5 (Jon Galloway, Brad Wilson, K. Scott Allen, David Matson)
- Pro ASP.NET MVC 5 Platform (Adam Freeman)
- Beginning ASP.NET for Visual Studio 2015 (William Penberthy)

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

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

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

17. Что еще нужно знать, чтобы взяли работать за еду?
- SQL - подойдет люая книг по MSSQL/MySQL, базовые запросы, SELECT, INSERT, DELETE, UPDATE. Джойны, индексы, нормализация. В контексте шарпа еще ORM: Entity Framework, Dapper
- Системы контроля версий - обычно гита достаточно: add/commit/push, merge, rebase, checkout, remote's, разрешение конфликтов, трехпанельные дифф-менеджеры, cherry-pick
- Гитхабы-гитхабчики - issues, организация пулл-реквестов, интеграция с appveyor, теги, релизы, маркдаун
- Алгоритмы - сложность алгоритмов, сортировки (пузырек, быстрая, вставками), поиск, рекурсия, алгоритмы на строках
- Структуры данных - связанные списки, деревья (бинарные, красно-черные, b-деревья), хеш-таблицы, графы
- Если идти в веб - HTML, CSS, JavaScript, веб-сокеты, REST
- Паттерны проектирования, стиль кода, внедрение зависимостей, MVVM (если хочется в WPF), SOLID

18. Я не умею читать, что посмотреть?
- Programming with C# - https://www.edx.org/course/programming-c-microsoft-dev204x-0
- Beginning Game Programming with C# - https://www.coursera.org/course/gameprogramming
- C# Fundamentals: Development for Absolute Beginners - https://goo.gl/meyyxO
- Коллекция видеоуроков, по всему дотнетовскому и смежным темам (250 часов, на русском) - https://nnm-club.me/forum/viewtopic.php?t=891636
- Набор курсов по C# от O'Reilly Media (28 часов, на английском) - http://rutracker.org/forum/viewtopic.php?t=5082978
C !ndViRcEtb2 2 1555703
9. Что почитать?
- The C# Player's Guide, второе издание (RB Whitaker) - отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода.
- C# 6.0 in a Nutshell (Joseph Albahari и Ben Albahari) - огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином
- C# 6.0 Pocket Reference (Joseph Albahari и Ben Albahari) - просто выжимка из справочника, можно всегда держать рукой
- C# 6.0 and the .NET 4.6 Framework (Andrew Troelsen) - 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
- C# 6.0 Cookbook (Jay Hilyard и Stephen Teilhet) - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.

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

11. Хочу еще хардкорней
- C# Deconstructed (Mohammad Rahman) - введение в CLR, модели памяти и выполнения в CLR, байтоебство, JIT. Книга достаточно коротенькая, менее 200 страниц, можно осилить за пару дней. Желателен опыт работы WinDbg и понимание устройства PE-формата.
- Expert C# 5.0 with .NET 4.5 Framework - еще одна книга этого автора, в этот раз намного длиннее. Очень много IL, анализа и разбора стандартной либы (те же коллекции), разбор ивентов, дегегатов, асинхронности etc. на уровне байткода.
- .NET IL Assembler (Serge Lidin) - ILёбство, во многих местах повторяет документацию MSDN, но при этом имеет много интересных дополнений и заметок. Кроме того все неплохо структуировано и разложено по красивым табличкам

12. Литература по WPF
Из более-менее актуального можно выделить пару книг:
- Pro WPF 4.5 in C# (Matthew MacDonald)
- Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)

13. Литература по ASP.NET
- Professional ASP.NET MVC 5 (Jon Galloway, Brad Wilson, K. Scott Allen, David Matson)
- Pro ASP.NET MVC 5 Platform (Adam Freeman)
- Beginning ASP.NET for Visual Studio 2015 (William Penberthy)

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

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

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

17. Что еще нужно знать, чтобы взяли работать за еду?
- SQL - подойдет люая книг по MSSQL/MySQL, базовые запросы, SELECT, INSERT, DELETE, UPDATE. Джойны, индексы, нормализация. В контексте шарпа еще ORM: Entity Framework, Dapper
- Системы контроля версий - обычно гита достаточно: add/commit/push, merge, rebase, checkout, remote's, разрешение конфликтов, трехпанельные дифф-менеджеры, cherry-pick
- Гитхабы-гитхабчики - issues, организация пулл-реквестов, интеграция с appveyor, теги, релизы, маркдаун
- Алгоритмы - сложность алгоритмов, сортировки (пузырек, быстрая, вставками), поиск, рекурсия, алгоритмы на строках
- Структуры данных - связанные списки, деревья (бинарные, красно-черные, b-деревья), хеш-таблицы, графы
- Если идти в веб - HTML, CSS, JavaScript, веб-сокеты, REST
- Паттерны проектирования, стиль кода, внедрение зависимостей, MVVM (если хочется в WPF), SOLID

18. Я не умею читать, что посмотреть?
- Programming with C# - https://www.edx.org/course/programming-c-microsoft-dev204x-0
- Beginning Game Programming with C# - https://www.coursera.org/course/gameprogramming
- C# Fundamentals: Development for Absolute Beginners - https://goo.gl/meyyxO
- Коллекция видеоуроков, по всему дотнетовскому и смежным темам (250 часов, на русском) - https://nnm-club.me/forum/viewtopic.php?t=891636
- Набор курсов по C# от O'Reilly Media (28 часов, на английском) - http://rutracker.org/forum/viewtopic.php?t=5082978
3 1555711
>>55702 (OP)

>Новые возможности C# 6.0


>Новые

4 1555712
>>55711
Джаваскриптеру неприятно? Ну учи дальше новый фреймворк, пока трудотнетчики сидят на месте
.jpg169 Кб, 800x800
5 1555729
Короче, это снова я. В общем, я вчера(а может быть не вчера) жаловался на производительность своего супер-сервера и записей в БД, но сегодня лень было студию включать, я решил в VSCode чутка поправить, ну соответственно и запускал его во время проверок, не сломал ли я чего, без отладчика. Так вот, скорость возросла в разы, а эксепшены с тем что истекло время ожидания запроса к БД за час ее насилования ни разу не возникли(с дебагером через 5 минут начинались и все руинили, если ебануть безостановочную запись-апдейт) и вообще, еще и ни разу не тормознуло. Почему так? Почему с отладчиком и ошибки странные из EF, и тормоза, и внезапно начинаются скачки потребления ресурсов, а на голую - летает и нигде не падает?
2019-11-11 23.10.18.jpg52 Кб, 450x281
6 1555783
Перенесу сюда свой вопрос. Кто что думает насчет книги Герберта Шилдта "C# 4.0: полное руководство"? Насколько актуальна и полна книга? Не увидел её в списке литературы для изучения, хотя мои университетские преподы усиленно советовали её, пока учился.
7 1555788
>>55783
Для начинающего - нормальная. Не настолько уж сильно все поменялось за это время. Конечно, хорошо бы что-то поновей.
8 1555789
>>55712
Дурачок, C# уже 8 версии.
image.png28 Кб, 1144x97
9 1555791
>>55789
Правда?
10 1555792
>>55791
Я прост обосрался, пытаюсь маняврировать
11 1555795
>>55789
Блядь, там отличий-то почти нихуя нет, при этом обратная совместимость во все поля. Это же не блядский С++, где между первыми версиями и последними отличий столько что мать ебал, тут же все попроще в плане изменений.
12 1555801
>>55791
правда
13 1555802
>>55788
Благодарю за ответ. Думаю по ней учиться. Решил на всякий перестраховаться у анона.
14 1555860
>>55783
Если брать старьё, то лучше Рихтера. Из нового Троелсен топ.
15 1555948
упец, шарпашы. Зырьте какое тестовое дали на джунскую должность

Программа будет использоваться для поиска файлов на диске

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

1. Стартовая директория (с которой начинается поиск)

2. Шаблон имени файла

3. Набор символов, которые могут содержаться в файле

Затем пользователь нажимает кнопку Поиск и программа начинает отображать следующую информацию в режиме реального времени:

Все найденные по критериям файлы в виде дерева (как в левой части проводника). Дерево не должно подвисать, моргать тормозить и т.д. Во время поиска пользователь может ходить по дереву, открывать/закрывать узлы.
Какой файл обрабатывается в данный момент
Количество обработанных файлов
Прошедшее от начала запуска поиска время

Пользователь должен иметь возможность остановить поиск в любой момент и затем либо продолжить его либо начать новый поиск.
16 1555950
>>55948

>упец


Супец
быстрофикс
17 1555961
>>55948
Любую домохозяйку уже джуном берут? Наверное и платят 60к?
18 1555981
>>55948

>Дерево не должно моргать


В WinForms делаешь DoubleBuffered = true, а в WPF двойная буферизация по дефолту используется, нужно всего лишь оптимальный ивент/луп для перерисовки написать. А к чистому WinAPI ручками бы пришлось прикручивать, да.
19 1555984
>>55981
Какой нахуй ивент луп, всё делает при помощи привязок к свойствам объекта и интерфейса INotifyPropertyChanged
20 1556003
>>55984
Не ивент луп, а ивент или луп, специально же слэш поставил. Я не знаю, какая у него/тебя архитектура программы, и как организована перерисовка - по какому-то условному ивенту (например, нахождение ещё не отрисованного каталога высокого уровня) или в лупе (каждые n миллисекунд). Имелось ввиду, что требуется только оптимальное написание вот этой части кода, а каких-либо телодвижений для прикручивания двойной буферизации в WPF совершать не нужно.
21 1556142
Шарпач, я к вам с неткодом. На одном компьютере у меня работает тестовое приложение, и даже на двух компах в локалке удалось запустить, а вот одолеть NAT не получилось. Вернее, проблема даже не в нате, у меня просто пакеты не проходят через роутер. Пробросил порты, но это не помогло. В приложении я пробовал сокеты, потом перекатился на UdpClient и TcpClient - оба они не могут из одной сетки в другую перейти. Что может быть не так?
22 1556155
>>55703

>Коллекция видеоуроков, по всему дотнетовскому и смежным темам (250 часов, на русском)



2014-2015 - по новее что-нибудь есть?
23 1556214
>>55984
В винформс это говно тоже есть, да?
мимо-ньюфаг
24 1556215
>>56155
Зачем?
25 1556216
>>55961
Это только чтобы быть удостоенным права прийти на собеседование.
26 1556217
>>56214
Есть, но в впф это легче делается и быстрее
27 1556219
>>56216
Могу сделать за тебя, всего 5к возьму по-братски-аноновски. Сам посуди, ты эти деньги за пару часов на этой работе отобъешь.
28 1556220
>>56219
Ты шо, совсем нищеблядок, за 5к что-то делать? Я думал ойтишники пятерками жопу вытираюст после сранья.
29 1556221
>>56217
А в формочках этих ебаных никакого замла нету что ли? Как дизайнить формочку, просто контролы тягать мышкой штоле? Где гриды, где все? Что за хуйня?
30 1556224
>>56221
Да, деды тягали и ты тягай. Про MVVM вообще молчу, в формсах это сущий ад.
31 1556228
>>56224
Я как-то давно их ковырял, потом перешел на впф, год уже примерно. И сейчас вот эта залупа с тестовым заданием. Причем на собес то я в любом случае не пойду, лол.
32 1556238
Хотите шок контента?
Параметры.ДолгПо = ПредыдущийМесяц( Параметры.Месяц, Число( Параметры.@МесДо ) + 1 );
Параметры.ДолгС = 01.01.1900;
Параметры.Кредиторы = Отчеты_ОрганизацияВОтчет( Параметры.@ДержателиДолга );
Параметры.ВыводитьВсех = Параметры.Флаги;
Параметры.МесяцДолга = ПредыдущийМесяц( Параметры.Месяц, 1 );
Параметры.@Раздел = 'Список лицевых';
КатегорияПостВОтчет = Извлечь( Параметры.@КатегорияПоставщиков, "" ) == "" ? -1 : Число( Параметры.@КатегорияПоставщиков );
ПоставщикВОтчет = Извлечь( Параметры.@Поставщик , "" ) == "" ? -1 : Число( Параметры.@Поставщик ) ;
КатегорияВОтчет = Извлечь( Параметры.@КатегорияУслуг, "" ) == "" ? -1 : Число( Параметры.@КатегорияУслуг );
УслугаВОтчет = Извлечь( Параметры.@Услуга, "" ) == "" ? -1 : Число( Параметры.@Услуга );
УКВОтчет = Извлечь( Параметры.@УК, "" ) == "" ? -1 : Число( Параметры.@УК );
Параметры.МояДата = ПредыдущийМесяц( Параметры.Месяц, 3 );
33 1556247
>>56215
потому что неткор появился, разор и прочее
34 1556250
>>56238
А на человеческом языке можно? Или они анально заставляют писать на собачьем?
35 1556255
>>56250
Я это не пишу, я пытаюсь разобраться в этой параше. У нас стоит купленная софтина, и местами работает не так, как нужно, поэтому приходится править. Я вообще не очень понимаю, зачем так извращаться, если сама софтина написана на джаве. Зачем этот птичий язык было изобретать, может кто-то объяснить ньюфагу?
36 1556289
Мне надо как-то поработать с ORM, у меня есть проект WEB API c MVC, нашёл фреймвор для работы - linq2db, а куда писать код вообще не понял. В моделс создать класс из дб, а в хом контроллере реализовать запросы ?
https://github.com/linq2db/linq2db
37 1556296
Работа в КАШЕМИР И ШЕЛК – это неравнодушное отношение к своему делу, сочетание профессионализма с поиском нестандартных решений, движение вперед - несмотря на преграды, и быстрое реагирование на вызовы рынка. Вместе с нашими клиентами коллектив компании образует настоящий клуб единомышленников, частью которого можете стать и Вы.
Наш слоган: СЧАСТЬЕ БЫТЬ ВМЕСТЕ.
38 1556299
>>56255
да это же свинособачий 1С язык. Enjoy it, my friend
39 1556342
Если бы это был один эс, то я бы хоть мануалов бы нашел каких. А это вообще неведомая хуйня, пиздец. Меня уже выворачивает от этих буковок.
40 1556353
>>56342
Parametry.DolgPo = PredydushhijMesjac( Parametry.Mesjac, Chislo( Parametry.@MesDo ) + 1 );
Parametry.DolgS = 01.01.1900;
Parametry.Kreditory = Otchety_OrganizacijaVOtchet( Parametry.@DerzhateliDolga );
Parametry.Vyvodit'Vseh = Parametry.Flagi;
Parametry.MesjacDolga = PredydushhijMesjac( Parametry.Mesjac, 1 );
Parametry.@Razdel = 'Spisok licevyh';
KategorijaPostVOtchet = Izvlech'( Parametry.@KategorijaPostavshhikov, "" ) == "" ? -1 : Chislo( Parametry.@KategorijaPostavshhikov );
PostavshhikVOtchet = Izvlech'( Parametry.@Postavshhik , "" ) == "" ? -1 : Chislo( Parametry.@Postavshhik ) ;
KategorijaVOtchet = Izvlech'( Parametry.@KategorijaUslug, "" ) == "" ? -1 : Chislo( Parametry.@KategorijaUslug );
UslugaVOtchet = Izvlech'( Parametry.@Usluga, "" ) == "" ? -1 : Chislo( Parametry.@Usluga );
UKVOtchet = Izvlech'( Parametry.@UK, "" ) == "" ? -1 : Chislo( Parametry.@UK );
Parametry.MojaData = PredydushhijMesjac( Parametry.Mesjac, 3 );
41 1556355
>>56353
s/ch'/ch
image.png1011 Кб, 900x540
42 1556381
Напишите правильный, современный стек для .Net Core 3.
Нужен ли asp MVC, что такое Razor (это часть MVC? или Отдельно). Что брать для базы данных. Чего нет для веб разработки в net core?
43 1556388
>>56381
зачем тебе стэк мертвого языка?
44 1556400
>>56388
Воскресить его.
45 1556403
>>56388
Я о си-шарпе, а не о джаве.
46 1556407
>>56400

>Воскресить его.


В таком случае твой стэк это MSIL и его компилируемые элементы. Когда воскресишь, приходи. Посмотрим, что получилось.
image.png306 Кб, 480x360
47 1556439
>>56388

>зачем тебе


Скажи лучше, зачем ты сидишь в треде языка в которого не веришь. Тебя обижали шарп разработчики?
BolvarLichKingCataLoading.jpg324 Кб, 801x1000
48 1556446
>>56439
молодых оберегаю. Я как Болвар Фордрагон, хранитель засохшего на трусах говна
49 1556455
>>56289
бамп
50 1556463
>>56289
ниже есть Get started. https://linq2db.github.io/ - сходу нашел.
Хуй знает, как вы осваиваете язык, если вы даже нагуглить банальных вещей не можете
51 1556468
>>56463
Чел, ты... Блять, иди в пизду умник ебучий, я в курсе что там написано, поэтому и спросил куда код писать. Покажи мне, где тут написано об этом?
52 1556470
>>56463
Пиздец, нагуглил он нахуй, в ридми эта хуйня написана. Уёбок
53 1556479
>>56468
всмысле блять куда код писать? В IDE/CL не?
>>56470
Так ты уебище тупенькое? Или тебе пальцем тыкнуть нужно, куда код копипастить?
54 1556480
>>56479
Ты жопой читаешь, уёбок?

> у меня есть проект WEB API c MVC, нашёл фреймвор для работы - linq2db, а куда писать код вообще не понял. В моделс создать класс из дб, а в хом контроллере реализовать запросы ?

55 1556482
>>56446

>молодых оберегаю


Лол, я думаю я даже старше тебя.

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

Хз что тебе от шарпа бомбит, высри нам свою историю боли, мы послушаем. в замен могу высрать про жабу и пузырь раздутый вокруг сие говна
56 1556508
>>56482

Ну так себе альтернатива, есличестно, в случае многотабличных интырпрайзных крудов та же херня со вкусом говна, только еще и с испорченным телефоном-балластом в виде команды фронтэнд-макак и девопса, с которыми вместо пяти секунд хуяк-хуяк на JSF+PF нужно совместно фичу делать.
57 1556734
>>56482
лол, я тоже с джавы вынуждено перекатился на шарп
58 1556741
>>56482

>А с 5 версии у них вообще все кроссплатформенно будет


Шел 2к19, в решетках 8 версия, а у тебя все 5. Если ты про кроссплатформенность, то это Core.
Энивей, все что ты высрал - твое субъективное мнение, которое != требованиям рынка. Открывай HH, language rate и чекай. ASP.NET 3.0+ я думаю в скором будет поддерживать какой ни будь новомодный язык с динамической типизацией без промежуточной перекомпиляции. Нужно же идти в ногу со временем. intelisense заменяет ошибки компилятора, не то что, как раньше.
>>56480

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


>реализовать запросы


>в хом контроллере


у тебя мать жива? Если все еще да, то после таких вопросов у меня для тебя плохие новости.
Твой вопрос был, захуярить ли интерфейс с БД в контроллер или создать отдельный класс? С кем я диалог веду, с табуреткой?
Для таких как ты, уебищь тупорылых, сыновей хуйни, делают GetStarted, где ПОШАГОВО расписывают, как применять интерфейс взаимодействия фреймворка к твоей свестелке-перделке.
Уровень программирования 2ch/pr, лучше удали нахуй
59 1556742
>>56734

>вынуждено


ты вынужден перекатиться в помойку, извини
60 1556747
>>56741

>Шел 2к19, в решетках 8 версия, а у тебя все 5.


Все в своей криокамере сидишь, даун.
https://habr.com/ru/company/raiffeisenbank/blog/451136/
https://www.opennet.ru/opennews/art.shtml?num=50641
https://habr.com/ru/company/raiffeisenbank/blog/451136/
61 1556763
>>56741
Дебил путает версию Шарпа и дотнет но пытается пояснять за программирование на них
Ор
62 1556764
>>56747
Воу воу, вот это открытие, открывайте скорее шампанское. Ты думаешь индусятине с корпорации зла нужно было 17 лет, чтобы накатить .NET на Linux? Скорее всего просто WS сливают и IIS вместе с ним
63 1556766
>>56763

>Тем более сам си-шарп в разы удобнее как инструмент. А с 5 версии у них вообще все кроссплатформенно будет.


смотря в каком контексте читать. Я забываю, что двачеры мыслят сумбурно и не только временами не умеют читать, но и перескакивают с мысли на мысль.
64 1556771
Привет парни, поясните неопытному пожалуйста, пишется ли на шарпике ну или что там из технологий .net/Asp.net ??? что-то подобное крудов на джанго? Или веб на шарпе это всегда большие ентерпрайз штуки и микросервисы???
65 1556788
>>56764
Ну все, пошло обострение, заговоры и прочее.

>корпорации зла


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

Сейчас мелкомягкие решились расширить свое участие на рынке, от чего вкуснятина посыпется на разработчика. Что как бы и не плохо.
66 1556790
>>56788

>Что как бы и не плохо.


Конечно, если ты не шизик красноглазый из нулевых.
67 1556798
Он не видит в коннекшн стринге BookShop или не может подключиться к бд?
68 1556800
>>56798
Видимое первое, хотя не ясно почему
69 1556802
>>56798
>>56800
Разобрался
70 1556806
Я разобрался как устроить как сделать JWT аутенфикацию-авторизацию в API шном ASP NET приложении, работал с ним вручную через постмана. А как я могу прикрутить её к обычному ASP NET сайту, если в роли клиента у нас выступает браузер. Надо его как то заставить сохранить у себя токен и цеплять к каждому запросу к сайту или что?
71 1556813
>>56742
мне похуй че там думает какой-то анонизмус с двачей
если завтра все эти шарпы-джавы закроются и востребованными станут быдлокодеры на фортране, то я и туда вкачусь
лишь бы деньги платили
а то мне нужно на что-то путешествовать, игори для плойки покупать и шлюх ебать
72 1556866
Поясните. Вот есть сервак, он принимает сообщения от устройств, что-то пишет в базу что пришло. Нужно сделать SPA чтобы с пришедшими данными что-то делать. Как будет правильнее, добавить уже к этому серваку всякую веб-фигню, либо же запилить отдельным проектом, на базе ASP.Net и просто обращаться к этой же БД, ну и остальные штуки крудовские запилить там?
quote-microsoft-isn-t-evil-they-just-make-really-crappy-ope[...].jpg42 Кб, 850x400
73 1557190
>>56788

>ради своей выгоды и симулирует добро


Как молод ты и глуп и не видал больших залуп. Как давно ты знаком с продуктами той самой корпорациии? Ты блять историю Windows 95 почитай, про судебные дела, про EE 1.0, про скандал с Xerox

>решились расширить


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

>мне похуй че там думает какой-то анонизмус с двачей


И тем не менее ты ему отвечаешь

>если завтра все эти шарпы-джавы закроются


гей-шлюхи предпологаю востребованы, вкатывайся туда

>шлюх ебать


С этого вообще проиграл. Видимо решетки только инфантилы и студентота задрачивает. Жаль вас.
74 1557227
>>57190

> гей-шлюхи предпологаю востребованы


кто о чем, а вышивый о бане
75 1557253

>The C# Player's Guide


Слышал очень резкие отзывы, говорят книга - хуйня и учит порочным практикам, так ли это?
image.png995 Кб, 1600x2684
76 1557301
>>57190
Тебе то что с этого, ты был директором ксерокса?
Я в курсе EEE, но я так же в курсе оракла и какую подлянку гугл делал. И что мне теперь, как дурачок "воевать" с ними, нести святой флаг красноглазых? Просто почитай как делали не айти компании и приятно удивишься, что это такая вот обыденность в мире большого бизнеса.

Этот маня-мирок был прикольным в девяностых и нулевых, когда ты был студентотой, юным и глупым, была идеология противостояния, прям чуть ли не как в звездных войнах (вот тебе империя зла, вот тебе сопротивление). Но сейчас, когда ты большой и взрослый лоб, это кажется идиотизмом (и так оно и есть, потому что мир работает чуточку по другим правилам).
15596309320370.png820 Кб, 800x615
77 1557341
Привет, Мир C# - тред.
Прошу анона помочь с такими вопросами:
Нужно объяснение на пальцах таких моментов:
1. в чем разница между делегатом и событием в плане использования?
Насколько я вижу сейчас - событие всегда можно заменить вызовом делегата, если не так - буду рад увидеть кусок кода с опровержением и пояснениями.
Т.е. я как бы понимаю, что делегат - это ссылка на функцию, и клиент может вызывать там что угодно с подходящей сигнатрурой, а события - механизм вызова делегатов, и добавление/удаление событий осуществляется через lock (по умолчанию), но мы можем кастомизировать "геттер" и "сеттер" события через add/remove. В этом вся разница? Как отвечать когла спросят?

2. Dependency Injection
Я понимаю принцип, но в до конца в голове никак не уложится.
Суть в том, что клиент перестает зависеть от конкретного класса и начинает зависеть от интерфейса/абстрактного класса, что позволяет нам переиспользовать клиент, например, для тестрования, подсовывая ему любую хуйню, лишь бы реализовывала интерфейс? Правильно я понимаю? Был бы рад куску кода с пояснениями.
3.Dependency Inversion - в чем разница с Dependency Injection? В чем проявляется именно inversion

P.S. Также приветсвуются ссылки на related - статьи/гитхабы etc.
Заранее благодарен.
78 1557347
>>57253
Троелсена и Рихтера уже прочитал? А Шилдта?
79 1557376
>>57341

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


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

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


В принципе можно. Просто тебе дали уже готовую реализацию паттерна паблишер/сабскрайбер.

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


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

>а события - механизм вызова делегатов


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

>добавление/удаление событий осуществляется через lock (по умолчанию), но мы можем кастомизировать "геттер" и "сеттер" события через add/remove.


Да Только не через lock, а Interlocked.CompareExchange.
>>57341

>2. Dependency Injection


>3. Dependency Inversion


Довольно скользкая тема, injection можно считать вариантом реализации inversion. Лучше почитай Боба Мартина «Принципы, паттерны и методики гибкой разработки на языке C#». Там весь солид неплохо разобран, с кодом схемами и прочим. Еще есть классный блог Сергея Теплякова http://sergeyteplyakov.blogspot.com/2014/11/di-vs-dip-vs-ioc.html
80 1557385
>>56806
Да, хранишь в куках токен. Для авторизации запросов подписываешь им их.
bill-gates-pie-face.jpg45 Кб, 600x314
81 1557394
>>57301
посвещать себя мелкомягким технологиям, как показала практика - вырванные годы. У них 2 альтернативы развития и обе агресивные:
1. Создали уникальный продукт - давим по всем фронтам;
2. Не создали уникальный продукт, а создали фейк ему и пытаемся вывести его вперед за счет приятных "плюшек", "сахарка", монотехнологичности
Решеточки то все знают, откуда взялись.
Насчет войны - это все бул щит в 2к19, когда все в опенсоурсе, даже мелкомягкие начали .NET core на гит выкладывать следовать мировым тенденциям, спустя лет так N-цать, ага И все, что делается у них - это путь стратегии №1 или №2.
Выпустили WebAssembly - Мелкомягкие - "Подержите мой Dhal, да у нас же Blazor"
Javascript всея, везде - Мелкомягкие - "Да у нас же TypeScript, ребята"
Мертвые технологии от мертвых душой продаванов.
82 1557422
>>57376
Ситуация постепенно проясняется, спасибо тебе.
83 1557493
>>57341

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


В том, что event это модификатор, который создает проперти для делегата. То есть это как автоматические проперти с { get; set; } Компилятор генерирует приватное поле с делегатом и 2 метода для добавления и удаления обработчика.
Это нужно для инкапсуляции. Если просто сделать публичный делегат, то его может заменить, например, кто угодно. И все подписки проебутся.
84 1557536
>>57341

>Dependency Inversion - в чем разница с Dependency Injection?


Ни в чем. Это ебанутые названия. Это то же самое, что strategy pattern.
85 1557646
>>57347
Нет, я нюфаг, потому и спрашиваю.
86 1557695
>>57646
Тогда начинай с Троелсена, потом читай Рихтера, потом можешь пройтись по Альбахири
87 1557698
>>57695

>Троелсен


C# 6.0 and the .NET 4.6 Framework?

>РихтераCLR via C#

88 1557700
>>57698
Блджад, самоотправилось. если это они, пойду читать тогда, спасибо
89 1557705
>>57646

>я нюфаг


беги, глупец. Беги не оглядываясь
90 1557706
>>56482
Поясни за жабу, сейчас сам начинаю вкатываться вот и думаю куда. Шарп мне представляется наиболее оптимальным вариантом для входа в IT.
91 1557709
>>57253
Поддвачну вопрос.
92 1557717
>>57705
Почему и куда?
93 1557729
>>57698
Троелсена есть 7 на русском (на торрентах не искал, потому что читал на английском), Рихтер тот, главное последней редакции.
94 1557733
>>57729
Спасибо. С английским проблем нет
95 1557737
Как быстро вкатиться с крестов в шарп? Открыл проект, а там main внутри класса, который внутри пространства имён, я охуел просто
96 1557740
>>57737

>Как быстро вкатиться с крестов в шарп?


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

>Открыл проект, а там main внутри класса, который внутри пространства имён, я охуел просто


А выше идёт еще AppDomain который внутри процесса.
Capture.JPG13 Кб, 410x90
97 1557743
>>57729
Оно? Смущает конечно немного "Pro", потому как я совсем не про, но похоже ничего другого нет.
JGbeS4Pgwt0.jpg8 Кб, 216x84
98 1557750
Сап, я только вкатываюсь в C# - объясните пожалуйста простым языком для чего нужны эти строчки: namespace, class и самое непонятное static void Main(string[] args) (пикрил). Не трольте, я просто глупенький новичок (я гуглил, но там слишком заумно). Из верстки хочу вкатиться в шарпы, очень интересным этот язык показался. Всем печенья и хорроров на Юнити.
99 1557760
>>57743
Да, оно. Pro за счёт того что там рассматривается IL (то во что компилируются языки .Net платформы) и другие подробности, но при этом не детально. В остальном вполне для новичков подходит.
100 1557762
>>57760
Спасибо.
101 1557765
>>57750
Сиди в своей верстке и жс, зачем тебе тяжеловесный бэкенд-язык энтерпрайза. Аргументы командной строки это аргс, неймспейсы нужны для разрешения конфликтов именования, класс это свалка переменных и функций
102 1557766
>>57765
Пойми, хочу перейти на новую ступень эволюции, а то сидеть в верстке - не хайпово
103 1557770
>>57750

>namespace, class


Для того чтобы изолировать переменные, методы и другую часть кода от того, что находится за ними. За namespace находятся другие namespace, все они являются частью AppDomain, который в свою очередь является частью Process, за процессом уже лежит система. За class находятся другие классы и все они лежат в одном namespace.
Вот и получается у тебя пирог вида:
Process
AppDomain
Namespace
Class
Делается это в основном для того чтобы можно было использовать свои и чужие классы в чужих и своих программах. Вот создал ты свою программу, у тебя есть в ней SomeClass, потом ты нашел другую программу и в ней есть нужный тебе класс, но название у него такое же SomeClass, при этом оно взаимодействует с другими классами в этой программе, т. е. просто переименовать его у тебя не получится, так как надо будет переименовать везде. А иногда у тебя вообще нет доступа к переименованию. Вот здесь и полезны пространства имён (namespace), ты просто пишешь using OtherSomeClass = OtherProgramm.SomeClass; и никаких конфликтов не происходит.
Также это позволяет не парится с выдумыванием новых имён для классов, достаточно придумать новый namespace и в нём продублировать нужное название. Либо вложить его в уже существующий класс.
В целом, всё это добавляется для большей гибкости и возможности использовать код повторно. Но сильно тоже нельзя увлекаться, потому что можно легко наплодить спагетти из пространств и классов.

>static void Main


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

>string[] args


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

Возможные виды данного метода можешь здесь посмотреть:
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/main-and-command-args/
103 1557770
>>57750

>namespace, class


Для того чтобы изолировать переменные, методы и другую часть кода от того, что находится за ними. За namespace находятся другие namespace, все они являются частью AppDomain, который в свою очередь является частью Process, за процессом уже лежит система. За class находятся другие классы и все они лежат в одном namespace.
Вот и получается у тебя пирог вида:
Process
AppDomain
Namespace
Class
Делается это в основном для того чтобы можно было использовать свои и чужие классы в чужих и своих программах. Вот создал ты свою программу, у тебя есть в ней SomeClass, потом ты нашел другую программу и в ней есть нужный тебе класс, но название у него такое же SomeClass, при этом оно взаимодействует с другими классами в этой программе, т. е. просто переименовать его у тебя не получится, так как надо будет переименовать везде. А иногда у тебя вообще нет доступа к переименованию. Вот здесь и полезны пространства имён (namespace), ты просто пишешь using OtherSomeClass = OtherProgramm.SomeClass; и никаких конфликтов не происходит.
Также это позволяет не парится с выдумыванием новых имён для классов, достаточно придумать новый namespace и в нём продублировать нужное название. Либо вложить его в уже существующий класс.
В целом, всё это добавляется для большей гибкости и возможности использовать код повторно. Но сильно тоже нельзя увлекаться, потому что можно легко наплодить спагетти из пространств и классов.

>static void Main


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

>string[] args


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

Возможные виды данного метода можешь здесь посмотреть:
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/main-and-command-args/
104 1557773
>>57740

> А выше идёт еще AppDomain который внутри процесса.


Ну пиздец. Какое то ооп головного мозга
105 1557781
>>57770
Читаю книженцию по шарпу, мне дальше там же расскажут про это все?
106 1557782
>>57781
Я ебу какую ты читаешь ? Про это вкратце в начале обычно говорят, потом отдельно про AppDomain рассказать могут.
image.png488 Кб, 579x818
107 1557785
>>57782
пикрил
108 1557786
>>57785
Там в начале об это говорится, а про AppDomain отдельно.
109 1557819
>>57341

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


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

> Dependency Inversion


> В чем проявляется именно inversion


В том что у тебя класса высокого порядка не зависят от нижестоящих. Инжекшены это вариант инверсии, но ты можешь ее и иначе реализовывать.
110 1557822
>>57766
Ясн, тролль
111 1557825
>>57822
Не троллю, хочу реально вкатиться
112 1557826
Ребятки, узнал про такую штуку как Pipe, ту что в System.IO.Pipelines. Вроде интересно и захотел попробовать, но в туториалах показывается пример, где Socket в методе ReceiveAsync принимает в качестве аргумента Memory, но ведь ни в одной из перегрузок он не принимает Memory. Что за фигня? Или в .net Core несколько сокетов? Где искать тот что нужен, чтобы пайпу опробовать?
113 1557828
>>57825
Тогда не получится. Здесь тебе не бесплатная помощь как написать хеллоу ворлд.
114 1557829
>>57828
Тем более на таких вещах. Что будет дальше, страшно подумать.
115 1557911
>>57826
У тебя не тот сокет, очевидно же.
116 1557933
>>57911
Так а где тот взять? Я вот загуглил, таки есть расширение где сокет принимает Memory, вроде как он все равно в неймспейсе System.Net.Sockets, но студия упорно мне говорит, что нет такой перегрузки. Что я делаю не так-то?
117 1557945
>>57933
Не показываешь код.
118 1558031
>>57945
Хм... Сейчас в vscode попробовал и все есть, только перед этим я сокеты нугетом подтянул. Но буквально утром в универе не было, хотя там тот же неткор 3.1, правда не вскод, а студия 2019. Странно.
119 1558520
>>55702 (OP)

>Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.



Что ж, синтаксис шарпа побогаче, чем в жабке, да. Вот только если джава проверена временем и доказала свою пригодность для энтерпрайза, то про шарп никто ничего не знает. Соответственно, будет сложнее найти ответы на вопросы и более вероятно наткнуться на недоработку платформы. Возможно, когда-нибудь шара взлетит.э, но сейчас перспективы у него ну очень туманные.
120 1558528
>>58520
Это что, новая мантра жабадаунов перед новым днём разгребания легасидерьма? Жаба никому не нужна, она живёт только потому что на ней написаны тонны дерьма, которые сложно переписать на что-то хорошее, на шарп, например. Переписывается только малая часть, остальная продолжает гнить и обрастать новым говнокодом. Жаба не обновляется, обновляются только фреймворки, которые созданы для разгребания дерьма, такими же рукожопами, которое это дерьмо плодили.
Над "сложнее найти ответы" можно только посмеяться, зайдя на постоянно обновляющийся https://docs.microsoft.com/, не говоря о стаковерфлоу и тонны годной литературы сконцентрированной на шарпе.
121 1558540
>>58528
как молод ты и глуп

мимо другой анон
122 1558543
>>58540
Не отвлекайся, дед, таски сами себя не закроют, костыли сами себя не запилят.
123 1558558
>>58543
проигрываю с анонов, которые хватаются за решетки, как утопающий за соломинку
Ты посмотри, какие вопросы задают в треде - тут одна студентота и вкатывальщики. Кроме шараг и курсов твои решетки никому не нужны
124 1558569
>>58558

>одна студентота и вкатывальщики


Конечно, потому что все знающие уже давно освоили docs.microsoft и stackoverflow, которые содержат исчерпывающую информацию на все виды вопросов.

> хватаются за решетки, как утопающий за соломинку


Ага, вакансии с зарплатой 120к+ тому подтверждение, да? Уже 8 версия вышла, а всё еще "утопающий за соломинку" лол.
125 1558580
>>58569
Не копротивляйся ты так, а то студентота в этом треде прочтет и реально захочет вкатываться в решетки в 2к20 удачи им, лол
126 1558584
>>57706
Что именно тебя интересует?
Тонна легаси разных форматов, от самоделок, до EE и выдрюченного магией спринга. Все это низкокачественные продукты многолетней индустрии "хуяк-хуяк и впродакшен". Чтобы там на конференциях тебе не продавали, джава абсолютный кобол. Ничего не развивается, всем насрать. Вечно пытаешься нятнуть одну хрень на другую, все падает или жутко жрет ресурсы (в том числе и твое время).

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

JVM действительно хорош, с оговорками.
image.png75 Кб, 1029x610
127 1558587
У меня есть в дб куча XML, надо от туда взять дату и количество денег. Как можно десериализовать ХМL, ща читаю про это на метаните, написано что надо создать слишком много вещей, только для того чтобы десериализовать, мне тут 1000 хмл надо отфильтровать, в цикл эти 2 юзинга если запихну, то комп ахуеет. Есть другой способ?
128 1558588
>>58580
Чому нет?
Как бы .net ни был говном, это все равно хоть какая-то платформа с заготовленными педалями
Порог входа низкий, придумывать ничего не нужно
Некоторым и такого гребства за 120к достаточно
129 1558592
>>58588

>ни был говном


До .NET 3.0 это был ад, уж поверь.

>Порог входа низкий


относительно чего? Тем более это не критерий успеха языка
Никому на рыночке срань мелкософта не нужна
130 1558594
>>58587
Десериализовал, на консоль ничего не выходит, нихуя не понятно
image.png38 Кб, 662x375
131 1558597
>>58594
Эксепшн ща выдает
South-Park-Comcast-Character-Nipple-Rub.gif2 Мб, 640x480
132 1558604
>>58594

>All2


ММММММММММММ, ВКУСНОТИЩА

Петров, садись. Это 2
133 1558607
>>58604
Мне надо затестить метод и я переименую.
134 1558613
>>58607
Студент - да мне затестить
Jun - да мне перед код-ревью
Mid - да мне перед мерджем
Sen - да мне перед релизом
135 1558614
>>58613
Очень важная информация
136 1558618
>>58614
Для вас, студентоты подзалупной - важнее вашей десериализации и велосипедов
137 1558621
>>58618
Быдлокодер, ты видимо кроме как буковки как писать в названиях нихуя не умеешь, я всегда придерживаюсь регламентов и пропаганды майкрософт
source.gif5 Мб, 630x350
138 1558628
>>58621

>All2


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


>студент называет быдлокодером


ММММММММ, ВКУСНО
139 1558629
>>58628
Иди в пизду
lnww-andiam-com-were-sorry-to-inconvenience-you-were-sorry-[...].png137 Кб, 500x281
140 1558634
>>58629
Заовнил дауненка-студентика. Мелочи, а приятно
ММММММММ
141 1558635
>>58634

>Заовнил


Школодотер, ты?
142 1558636
А потом прибегают вкатывальщики - "ДА ТУТ УЖЕ 16 ТРЕД, ЯЗЫК НЕ МОЖЕТ БЫТЬ МЕРТВЫЙ". То срач, то решение школьных задачек.
Gtbe+me+45yo+forever+alone+gtwork+in+a+cab1c5121bf570c4e78a[...].jpg26 Кб, 500x372
143 1558651
>>58635
я тот, кто осилил ангельский, чтобы не задавать столько тупорылые вопросы на борде, а найти ответ на SOF
МММММ, КАКОЙ ВКУСНЫЙ ХЛЕБУШЕК
144 1559082
>>58528
Так-то двачую. Вот буквально недавно на моей галере поручили переписать добро что было на джаве на шарпец, сам-то проектик небольшой, всего 25к строк кода на джаве, только вот на шарпе это вообще вышло в 7к строк, при этом производительность возросла в разы(конечно тут не совсем корректно про это писать, потому что я тупо переписывал на шарп, а просто тот же функционал реализовывал, но все же)
145 1559088
Мне интересно, чем же местного жабашизика так Шарп обидел
Тем временем Шарп и Аспнет с каждый годом растет в популярности лол
146 1559181
>>58588
А где тогда высокий порог? В плюсах?
147 1559187
>>59181
В крестах, например.
148 1559192
>>59181
асм + c/c++ реверс
хаскель + c/c++ хайлоад
хтмл + цсс вебсайты
149 1559215
Я на новый рабочий комп поставил новую Visual Studio и понял как она обновилась за два года. На скринах 2017 и 2019.
Стоит ли переходить на домашнем компьютере на неё же? Есть какие-то косяки совместимости, какие-то скрытые камни и так далее.

В целом MSVS использую только для одного рабочего проекта, который не запускается под IntelliJ Rider. Также хочу поиграться с Xamarin, не знаю как у него работа с Райдером, возможно придётся писать код в MSVS.

MSVS говно, им нельзя пользоваться после того как попользовался Idea хотя бы недельку. Но она, MSVS, мне всё равно нужно
150 1559246
>>59215
Главный косяк новой студии в том что эта менюшка создания проектов уродлива что пиздец.
151 1559311
>>59246
работаю 2 года - ни разу не создавал новый проект
image.png121 Кб, 299x168
152 1559358
Узнал что раст написан на юнити и подъофигел. Я думал там какие-то инди ковырялки пишут.
Шарп рулит.
D36823042AD2A17DCE272A57C3DB1877C13907D2[1]265 Кб, 1920x1080
153 1559389
>>59358
Nы точно играл в раст? там баг на баге на каждом шагу. Вот другое дело Rimworld, этот Шедевр тоже на юнити сделан, тоже на шарпах(и на них же можно моды к нему пилить).
154 1559425
>>59415 (Del)

>Смотрите на меня я долбоеб


>Чел, ты долбоеб


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



Пиздец, зарепортил жирноту
155 1559427
>>59415 (Del)
Как же хочется что бы можно было на шарпах делать плагины для майнкрафта......
156 1559465
Блин, чё-то заебался уже. Остановился на вкате после обучения ORM , событий, обобщений. Дальше влом учиться. Дропнуть хочется. Либо я уже близок к вкату и могу найти работу, либо ещё дохуя чего учить. Если второе, то впизду, лучше во фронтенд пойду
157 1559466
>>59465
Фронтенд как-то легче во много раз
158 1559481
>>59465

> Либо я уже близок к вкату и могу найти работу


Только если поломойкой.
159 1559491
>>59425
жирнота - это писать про процветающие решетки еще и отдельно asp.net указывать - вообще жир
>>59465

>близок к вкату


ага, близок нет

>лучше во фронтенд пойду


можешь начинать учить, без него на решетки все равно не берут
>>59481
двачую адеквата
160 1559497
>>59491
https://insights.stackoverflow.com/survey/2019
Что сказать хотел, клоун?
ASP.NET вообще топ-1 по популярности среди бекенд фреймворков
161 1559548
>>59497
Я не знаю что это за ресурс и насколько достоверно он собирает статистику. Но в целом интересно
https://trends.builtwith.com/framework
162 1559556
>>59548
То есть жаба сосет и весь шум вокруг нее это чистой воды хайп.
163 1559565
164 1559700
>>59548

>Я не знаю что это за ресурс и насколько достоверно он собирает статистику.


>Стаковерфлоу


>Я не знаю что это за ресурс


Пиздец. И это хуйло что-то поясняет в треде кому-то.
165 1559702
>>59700
А, блядь
Окей, я обосрался
166 1559843
>>59556
Жаба кодер зарабатывает больше шарписта. На жабе написано много библиотек, часть из которых тупо 1 в 1 скомуниздили на шарп.

А так, в целом, и жаба, и жаба кодер сосут.
167 1559862
>>59843

>Жаба кодер зарабатывает больше шарписта


И реально много там?
Надо еще среднее значение по определенному количеству посмотреть, а не только топ "прайсы".
Но да,у джависта больше ебли, он заслуживает это.
Особенно легаси на джаве, самое токсичное что я видел. Эта работа не стоит никаких надбавок.
168 1559866
>>59843

>часть из которых тупо 1 в 1 скомуниздили на шарп.


Хорошие решения вообще надо унифицировать.
169 1559884
>>59843

> Жаба кодер зарабатывает больше шарписта


Это было раньше, когда шарп был приколочен к винде и M$ стеку. На данный момент уже не так.

> На жабе написано много библиотек


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

> часть из которых тупо 1 в 1 скомуниздили на шарп


Не скомуниздил, а позаимствовал удачные решения. Так-то, вообще смешно это слушать, учитывая историю джавы и M$, когда мелкомягкие вложились в развитие жабы, а та их опрокинула через жопу, вполне имеют моральное право.
170 1559909
>>59884

>На данный момент уже не так.


По результатам опроса Stack Overflow за 2019 жаба на дне по зарплатам. Но лучше смотреть по секторам применения. Например, банковская сфера и богомерзкие жаба аплеты, которые работают на определенных минорных версиях IE 11 и каком-то древнем Firefox, всё еще живы. Т.е. безопасность и всякие хайлоады, а не мобилки и автотесты. Удачи заставить переписать всё это легаси говно, которое уже работает и приносит деньги.

Потом, я привёл лишь один из доводов, которые мне приводят знакомые жаба кодеры в пользу жабы. Дорогие языки из той таблицы, как F#, Rust, WebAssembly не просто так ведь дорогие: попробуй еще найди вакансию на этих языках и обычно это узкая направленность. Другое дело Scala и Kotlin, на которые жаба кодеры активно пересаживаются в промышленных масштабах и с умным видом задвигают про всякие аппликативные функторы. Кстати, туда же Go, на который активно пересаживаются пхписты и которые рекламируют его из всех щелей как манна небесная.

>На питоне тоже много библиотек


У каждого языка своё применение. Например, питон отлично заходит в AWS стеке, потом идет нода. Шарп проигрывает питону и ноде в производительности. Возможно, когда появится 3.1 на AWS, это исправит положение, так как рантайм F# обгоняет любой другой язык, чуть-чуть от него отстает C#.

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


Это заслуга независимых разработчиков, а не мелкомягких. Например, если взять то же машинное обучение, благодаря которому питон стремительно развился в последнее время, то поделие от мелкомягких (https://github.com/dotnet/machinelearning) в значительной мере всирает TensorFlow.NET, который вообще пародирует конвенции питона и выглядит очень чуждо на C#.
171 1559926
Почему сокеты быстрее чем TcpClient+TcpListener? Вообще в чем смысл-то вторых, если они, по сути, ничего сверх удобного не дают?
172 1559939
>>59926
Спорно, что быстрее. TcpClient и TcpListener - это просто обертки над Socket, с целью упростить работу с TCP сокетами. Класс Socket поддерживает другие протоколы и более тонкую настройку работы.
173 1559960
>>59939
Ну, как-бы я проверил просто: принимаю клиента, асинхронно читаю и шлю то что пришло обратно, закрываю подключение. На 10к подключений, сокетом смог больше принять-обработать-отослать, чем связкой TcpListener+TcpClient. Правда я в случае с сокетами не делал никакого стрима для чтения, а писал в Memory методом ReceiveAsync, а клиент, как я понимаю, создает стрим, и ему пришлось ReadAsync создавать за кулисами, пусть и получал я в ту же Memory. Так вот, тех кого принять не смог, соответственно не смог создать сессию, у сокета в разы меньше.
174 1559971
>>59926
>>59960

Смысл в том, что в реальных проектах, если ты хочешь использовать только Socket, тебе придётся реализовать всё то, что есть в TcpClient+TcpListener и в итоге у тебя либо получится также, либо хуже. Может и лучше получится, но тогда твой инструмент будет направлен на что-то конкретное, в нём не будет универсальности TcpClient+TcpListener.
175 1559972
>>59358
Escape from Tarkov на Unity написан.
176 1559990
bump
177 1559993
Хм, а у шарпика есть маскотик? Какая-то анимедевочка или еще что-то? А то у всех есть хотя бы в виде змеюки какой-то либо чашки кофе, а у шарпа что?
178 1559996
>>59993
Шарп это потомок C и C++, какие нахуй маскоты? Ну можешь вот это использовать в качестве маскота:
https://ru.wikipedia.org/wiki/Диез
179 1560000
>>59996
Ну, такой себе потомок. Ни обратной совместимости с обоими, ни такой же простоты стрельнуть себе в ногу на ровном месте, все обернуто в безопасный код, чтобы словить утечку памяти - нужно постараться. Да даже синтаксис только на первый взгляд похож, при повтором взгляде уже заметно слишком много различий.
18C0661B-86F1-4A24-88E7-6E527D73AB2F.png59 Кб, 500x491
180 1560003
CSharp-tan.png1 Мб, 1000x1413
181 1560040
>>59993
Был официальный маскот. Какой-то Andy (Anders Hejlsberg): https://twitter.com/pjf/status/1154285137040826369

Аниме девку при желании можно найти на что угодно, пикрелейтед, набор стикеров за бакс.
182 1560060
чем объясняется горячее желание выебать персонификацию языка программирования?
image.png19 Кб, 259x224
183 1560133
>>60060
Глубокой любовью к языку, конечно же.
184 1560136
Котаны, не могу собрать все сообщения с мыла, что за херня? Я же индексы даже не использую. Использую это
ActiveUp.Net.Mail
Или посоветуйте, как лучше было бы все собрать с мыла яндекса. Так как вторым способом собирается пиздец долго.
185 1560168
>>60060
Тем, что ты не можешь выебать язык программирования без его персонификации.
186 1560173
>>60136

> Я же индексы даже не использую.


Откуда ты знаешь что там внутри библиотеки используется? Читай документацию и думай, что у тебя не так пойти могло.
187 1560188
https://youit.pro/map/dotnetweb#csharp нашел тут roadmap. Что скажете? Это реально столько знаний нужно для джуниора? Мне кажется я за всю жизнь и половины этого не изучу.
188 1560196
>>60188
Выучи всё что со знаком трейни, а остольное учи по мере необходимости. Если ты всё подряд читать будешь, то пока до практики дойдёшь, уже все знания улетучатся, так и попадёшь в вечный цикл чтения и изучения. Без практики никакого смысла в обучении нет.
189 1560201
g.DrawImage(bmp, new Point((int)(resolutionOfArray - bmp.Width) / 2, (int)(resolutionOfArray - bmp.Height) / 2));
Bitmap dd = new Bitmap(150, 150,g);
dd.Save("thi.bmp");
Почему сохраняется просто белое изображение? Если сохранять bmp, то все нормально
190 1560205
>>60196
Чего я точно понял, это то что моих 1-2 часов в день практики и изучения(и не каждый день к тому же) точно недостаточно, нужно уделять намного больше времени.
191 1560212
>>60205
Цель то у тебя есть? Если нет проекта в планах, то и нет смысла что-либо учить.
192 1560215
>>60212
есть проект, пока реализую его в консольном виде, потом хочу реализовать в виде web приложения и telegram бота, и желательно это все связать между собой.
193 1560236
Можно ли Visua Studio container tools как-то использовать с Docker Toolbox? Docker Desktop у меня не устанавливается.
194 1560301
>>59556
>>59843
как же проигрываю со студентов(в лучше случае джунов) рассуждающих о рынке и о том, кто там у кого сосет
вы же просто дегенераты ебанные
вас на реальной работе за людей считать не будут, если вы слух будете подобные вещи говорить

а если по теме - то джава и шарп это языки близнецы, с + - одинаковыми зарплатами, одинаковыи проектами и одинаковы кол-вом вакансий
и оба языка еще очень долгое время будут востребованными на рынке труда
195 1560312
196 1560332
>>60301

>а если по теме - то джава и шарп это языки близнецы, с + - одинаковыми зарплатами, одинаковыи проектами и одинаковы кол-вом вакансий


Если ты так рассуждаешь, то ты вебмакака, которая не чем не лучше студента или джуна.
197 1560410
>>59311
Ты не пишешь код для себя? Вон из профессии.
198 1560457
>>59246
Однажды создал шаблон, теперь пишу dotnet new прокидываю его. Брат жив, зависимость есть.
199 1560821
где используется C# ? поясните нюфане-вкатывальщику
200 1560870
>>60821
В бэкенде и десктопе.
201 1560891
>>60821
ыааа как гуглить ыаа
202 1560894
>>60821
Кровавый энтерпрайз.
203 1560905
>>60821
пет проджекты студенты делают и в шарагах изучают
204 1560962
205 1561005
>>60821
юнити
206 1561017
>>60891
действительно, а давайте лучше хуклить, вместо того, чтобы спросить в соответствующем треде ыааа ыаа

топ решение
207 1561026
>>60870
>>60894
>>61005

То есть геймдев для юнити и бекенды бизнес-приложений вместо жабы, я правильно понимаю?

А во что из этих двух сортов говна приятнее нырять?
sage 208 1561030
>>61026
оба говно, оба жутко не приятны
лучше и не начинай, всё равно ничего у тебя не получится ;)
Идеи для курсача 209 1561052
Сап, аноны, накидайте несколько хороших идей, что написать на курсовую работу. Второй курс, предмет - ООП, на шарпе.

Желательно не слишком сложное и не слишком простое, у меня пока есть две идеи: ftp-клиент и vnc-клиент.
210 1561143
>>61052
Записную книжку для хранения заметок.
211 1561202
>>61052
фтп клиент - хорошая идея
212 1561228
>>61026

>А во что из этих двух сортов говна приятнее нырять?


Ну в бекенд, наверное. Вакансий больше, конкуренция, я думаю, поменьше относительно геймдев разрабов (но это не точно)
213 1561506
>>61026

>во что из этих двух сортов говна приятнее нырять


судя по посту - ныряй туда, где больше вакансий. Те, кому прет, те не спрашивают куда им
214 1561530
Есть с два десятка разных форматов файлов (Format). Каждый формат читается и записывается по-разному.
Логики чтения/записи довольно много, поэтому решил вынести её в отдельные классы (Reader/Writer).
Внешний пользователь работает только с классом Format и его производными.
Для единообразия апи классов Reader/Writer использованы интерфейсы.
Вопрос: оправдано это или нет? Или лучше будет удалить интерфейсы (IReader/IWriter) и использовать паттерн шаблонный метод?
Кто бы как реализовал данную задачу?

https://pastebin.com/Vkgd5QH2
215 1561534
>>61530
Шаблонный метод нужен там где есть метод-шаблон
А у тебя типичная стратегия
216 1561578
>>61534

>А у тебя типичная стратегия


Все дело в том, что пользователь не будет на лету заменять реализацию IReader/IWriter. Он даже не будет знать про их существование.
Они что-то вроде внутреннего апи получаются. Пока не знаю, будут ли эти классы выходить наружу и использоваться отдельно от класса Format.

Корректно ли спроектированы классы? Или нужно что-то изменить?
217 1561585
>>61534
>>61530
Вообще это больше к команде чем к стратегии.
218 1561607
>>61530
более менее нормально

я бы попробовал избавиться от производных классов Format, иметь только один формат класс и передавать ему в конструктор IReader & IWriter

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

интерфейсы немного поковырять, что бы была понятна разница между парами Reader/Writer и Format
219 1561665
>>61530
О, это ж Service Locator. Знавал я несколько проектов, пропитанных этой гадостью. Какая же боль поддерживать это говно. Сразу хочется перерезать горло той тваре, которая это говно добавило, особенно, если ещё додумалось сделать его статическим классом аля синглтоном.

Dependency Injection, описанная выше, нормальная (читай привычная) замена, пока конструктор не начнёт принимать огромное число зависимостей. Додумаешься до контекста и сделаешь кое-что страшнее Service Locator. Лет через 5-10 поймёшь, что не надо плодить сущности без надобности, нет универсального решения и существуют подходы, лучше DI, например Dependency Rejection.
220 1561672
>>61665
https://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/
вот настоящий локатор. он правда говно жуткое, но я не знаю где ты его там увидел
может у тебя триггер на static?
221 1561674
>>61052
Ещё есть варианты у уважаемых сисярп господ? Я пока всё ещё склонен к VNC клиенту, уже начал rfc читать
222 1561675
>>61672
FormatFactory - это нехуя не фабрика, а Service Locator, у него есть определенные свойства, которые его сразу выдают. Например, это говно вообще не поддается тестированию в месте использования, в отличии от фабрики. По ссылке одна из его вариаций реализации.
223 1561681
>>61675
да, похоже на то
224 1561700
Блять, заебали меня эти ваши параллельности вонючие. Как с ними работать то нормально? Ну есть у меня функция, которая тянет за собой еще штук 5 других, ну создаю я таску, запускаю. Теперь надо остановить ее. Мне нужно передать в эту функцию канцелейшен токен и везде проверять, не изменилось ли значение? Да это же хуйня какая-то. У меня там дохуя функций и в каждой циклы, и исполняться же может в любом месте, когда я нажму на стоп. Т.е. оно может не тормознуть сразу а сделает еще какое-то действие, которое все мне нахуй испортит. Заебало блять.
225 1561743
>>61700

>сделает еще какое-то действие, которое все мне нахуй испортит.


Значит проблема не в параллельности, а в архитектуре твоей говнопрограммы.
226 1561760
>>61743
Не могу исключать такой вероятности. Тогда объясни, если я нахожусь внутри цикла и что-то там делаю и в этот момент хочу остановить таску, что тогда произойдет? Она же сразу не выйдет из цикла, да?
227 1561784
>>61585

>Вообще это больше к команде чем к стратегии.


Это ты относительно IReader и IWriter?

>>61607

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


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

>и передавать ему в конструктор IReader & IWriter


С этим пунктом всё понятно.

>далее, я бы попробовал объединить пары Reader и Writer классов в один класс, так как они наверняка будут семантически связаны и проще иметь все эти правила в одном месте


Reader и Writer безусловного связаны семантически, так как действия противоположные друг другу. Класс Format как раз и объдиняет их.

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


С этим пунктом тоже не очень ясно.

Можешь набросать пример, как ты это видишь?

>>61607

>О, это ж Service Locator


>>61675

>FormatFactory - это нехуя не фабрика, а Service Locator


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

https://pastebin.com/Jpr3NCLQ
228 1561787
>>60410
Задрот, я через пару лет стану твоим менеджером-начальником и буду ебашить тебя кнутом по спине и ебать за проебанные дедлайны. Ты будешь молчать как терпила, а на выходных "изливать боль" на анонимных параша вроде двача или ебаного.ит
.jpg216 Кб, 1200x817
229 1561788
Короче, где почитать про DI с примерчиками на шарпе, где берутся не чужие реализации DI и используются, а пилится
230 1561792
>>61787
Неужели так все жестко в этом вашем ойти? Начальники такие пидоры штоле?
seemann.png2,6 Мб, 2213x2775
231 1561800
232 1561810
>>61787
Долбоеб вкатывающийся в менеджмент через программирование через пару лет может расчитывать только на позицию junior cocksucker.
233 1561811
>>61800
У вас нет нормально DI
234 1561816
>>61810
Как раз наоборот - большинство нормальных менеджеров которых я встречал были бывшии разрабами, а вот "успешные успехи", никогда кода в жизни не нюхавшие или хотя бы тестировавшие - это поголовный сброд с которым работать неудобно.
>>61792
Люди бывают разные и ситуации тоже. Если сравнивать с другими сферами, то в айти охуенное начальство + у рядового гребца вполне есть возожность самому дорасти до начальника.
235 1561883
Господа, чего бы почитать по шарпу, чтобы стать охуенно востребованным, чтобы можно было на собеседовании загнобить синьера своими знаниями?
1430496384453956000.jpg53 Кб, 550x825
237 1561890
>>61886
Спасибо, няша.
238 1561891
>>61883

>31


>чего бы прочитать по шарпу


Можешь не напрягаться, на собеседовании тебя загнобят вопросом "Как вы отметили Новый Год?"
239 1561898
>>61883
По факту, тебе нужно хорошо знать и понимать предметную область в которой будешь работать. Программист в вакууме первый год это одни расходы и берут их на вырост. Если бы бухгалтеры и прочие были чуть более обучаемы, кодеры бы были работодателям не нужны.
Т.е. план следующий: Ты изучаешь основы кодинга, т.е. синтаксис, базовые алгоритмы и прочее; затем изучаешь основы ООП, опять же, базовые вещи про инкапсуляцию, наследование, полиморфизм; затем выбираешь область в которой хочешь развиваться, идешь туда обычным работником, работаешь годик, потом говоришь что умеешь кодить и хотел бы в отдел автоматизации пойти и тебя без лишних вопросов туда отправят, если ты со своей работой справляешься нормально.
Я сейчас пьян, новый год же, но суть: работодателя не ебет как ты делаешь то что ты делаешь, хочешь хоть на ассемблере ебашь, важно чтобы было в срок и выполняло все требования. Всё. Не больше и не меньше. Если ты понимаешь как предметная область работает изнутри, то с вероятностью 95% тебе не нужно будет объяснять, чего бухгалтер там хочет получить, почему ты сделал хуйню, хотя работал по ТЗ и т.д. и ты сделаешь все нормально. Это то что хочет работодатель, на технологии, архитектуру и прочее он срать хотел с высокой колокольни: Есть бизнес задачи и их нужно решить, если ты знаешь как их решать, то тебе всегда будут рады в любой сфере, если ты просто умеешь писать код, то тебя придется учить -> ты должен конкурировать с кучей других таких же ебланов, которые только код писать умеют.
240 1561899
>>61891
Скажу, что я хикка.
241 1561906
>>61898
Понял, спасибо, учту. Я в муниципалочке работаю, я уже писал где-то выше, кодирую хуйню, которая тут никому не нужна. Ну, т.е. и без нее справляются, так что кодирую больше для себя. Только одну хуйню написал, без которой тут никак в силу того, что ввели обязательные онлайн-кассы и в них нужно выгружать инфу по платежам, понятно, не вручную. Зачем-то начал изучать впф, хотя, насколько я понял, сейчас востребованнее асп и всякие ентити фреймворк, вебапи и еще другие хуйни, которых я пока не знаю. Сейчас, вот, решил выдрочить сам язык как следует, а дальше, наверное, полезу в асп, благо работка есть, которая худо-бедно кормит и позволяет что-то изучать.
242 1562263
Сап, шарпач. Поясните, чём с точки зрения разработчика отличается просто дотнет и коре. Я к чему. Хочу вкатиться в asp, но все книги и учебники про старый дотнет.
243 1562314
>>62263
Ну вкатывайся в обычный асп, на коре мало кто сейчас разрабатывает, это всё в будущем
244 1562316
>>62314
>>62263
И, кстати, фриман - книжка по кору.
245 1562566
>>62316
Ок, спасибо.
246 1562575
Есть клиентская форма для заполнения полей. Условно для клиента доступно заполнение 2 необязательных полей и 1 обязательное. Как реализовать метод, через 4 метода, где 1 будет реализован через все 4 заполненных метода, а 3 остальные с комбинациями полей? Или все в один метод с If-else?

На пальцах: POCO:
public class User{
[Required]
string Name {get; set;}
string LastName {get; set;}
string Position {get; set;}
}

public class UserUI{
public void GetData(string name, string lastName, string position)
{
User user = new User();
user.Name = name;
user.LastName = lastName;
user.Position = position;
db.Add(user);
db.Save();
}
public void GetData(string name, string lastName)
{
this.GetData(name, lastName, null)
}
ETC...

Или
public class UserUI{
public void GetData(User user)
{
if(user.Name!=null){
db.Add(user);
db.Save();
}
}
246 1562575
Есть клиентская форма для заполнения полей. Условно для клиента доступно заполнение 2 необязательных полей и 1 обязательное. Как реализовать метод, через 4 метода, где 1 будет реализован через все 4 заполненных метода, а 3 остальные с комбинациями полей? Или все в один метод с If-else?

На пальцах: POCO:
public class User{
[Required]
string Name {get; set;}
string LastName {get; set;}
string Position {get; set;}
}

public class UserUI{
public void GetData(string name, string lastName, string position)
{
User user = new User();
user.Name = name;
user.LastName = lastName;
user.Position = position;
db.Add(user);
db.Save();
}
public void GetData(string name, string lastName)
{
this.GetData(name, lastName, null)
}
ETC...

Или
public class UserUI{
public void GetData(User user)
{
if(user.Name!=null){
db.Add(user);
db.Save();
}
}
247 1562586
>>62575
клиент создаёт объект UserDTO, он передаётся в GetData (хуёвое кстати название) и там уже копируешь из DTO в User
248 1562670
Еще вопрос. Возможно ты >>62586
знаешь ответ.
Есть DAL уровень. В него входят CRUD методы на каждую POCO entity. Но если у меня для UI помимо обычного Create есть еще проверки на другие условия - можно ли это отнести к Business logic? К примеру - приход на склад с проверкой количества больше 0. Или проверка на уже существующее название? Что обычно на уровене DAL, exception, проверки?
249 1562687
>>62670
dal тонкая обёртка/адаптер над нижележащей персистентностью, будь то sqlserver, dynamodb или завтра вообще .txt файлы
реализаций dal-ов в проекте может быть несколько
поэтому твои проверки лучше держать в другом месте
250 1562688
>>62687
понял, спасибо. Еще вопросы, если не влень отвечать. В классах business logic нужно ли делать DI контейнеры на все сервисы, типо automapper, DAL, messageService, loggers? Я по привычке все реализовываю через интерфейсы создаю класс, под него делаю интерфейс и реализовую в классе, потом передаю не класс, а интерфейс.
По сути врядли будет подмена другой реализации через интерфейс, но это хорошая практика на сколько я знаю писать на абстрактном уровне. С другой строны - подвязывать кучу зависимостей в Ninject.
Что скажешь?
251 1562693
>>62688
dal, messaging, всякие third party api лучше прятать за интерфейсами и делать DI, иначе например будет сложно писать тесты или
экспериментировать с инфраструктурой
252 1562706
>>62693
у меня всегда болит голова от архитектурных решений. Вот сейчас - только 9 сущностей с половиной функционала, а уже куча DI привязанных и функционал раскидан по сборкам. Еще вопрос, я его уже раньше задавал в треде (этом или 15 не помню).
Делаю CRM на Core, где должна проходить регистрация всех действий пользователя. Соответственно в уровень выше от DAL идет реализация методов с входящим параметром ClientDTO. В каждый метод передается интерфейс IMessageService с реализацией MessageService, где есть только 1 метод, который регистрирует класс, в котором происходит изменение, дата и Client Id.
Правильно ли это? Или лучше через события как то реализовать?
Для наглядности - вот кусок кода:

https://gist.github.com/Hotriden/57d52bc0f0f13ed7969765c61113422b
image.png35 Кб, 696x531
253 1562982
>>62706
что внутри messageService?

событие создания нового supplier следует публиковать сразу после того как он сохранён в базе, остальные вызовы убрать
logging следует отделить от messageService, в messageService идут только объекты событий которые издаёт supplier/каталог

на картинке [ скобкой обведен возможный баг - логгируешь дважды

> Правильно ли это? Или лучше через события как то реализовать?


лучше пока так
254 1562989
>>62706
suppier'а своего проверь на null перед тем как обращаться к его свойствам
255 1562991
>>62706
Говно, а не код. Стопиццот иф элс. Инкапсулируй логику кажлого блока в отдельных методах, так повысишь читабельность
256 1562992
>>62982
Нет граничных операторов, код свалится в NRE
257 1562998
>>62991
>>62991

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


вряд ли будет лучше

> suppier'а своего проверь на null перед тем как обращаться к его свойствам


supplier создаётся контроллерем, я так понимаю. поэтому перепроверять на null не нужно
258 1562999
>>62982

>что внутри messageService?


>с реализацией MessageService, где есть только 1 метод, который регистрирует класс, в котором происходит изменение, дата и Client Id.


спасибо, пофиксил

>Стопиццот иф элс


не такая насыщенная бизнес логика, чтобы разбивать на методы (имо). Но насчет If-else - согласен, не удобно читается, тем не менее - нужна проверка
259 1563013
>>62998

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



У тебя публичный метод, в него можно передать null и получить ошибку, больше никаких условий для добавления проверки на null не нужно.
image.png29 Кб, 648x538
260 1563052
>>63013
все эти null-проверки это лишний мусор для глаз
если каталог вызывается контроллером, то туда не будет передаваться null
возможно стоит только проверить что каталог не существует (db.GetById(suppier.SupplierId) == null)

но это всё мелочи, я кажется понял что он делает с clientDto, лол
трудно прикинуть как это лучше реализовать не видя остального кода
261 1563080
>>63052

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


Значит нужно как минимум заменить модификатор доступа public на internal. Но всё равно это не безопасно, потому что ты можешь использовать этот метод в другой части кода, там ты не сделаешь проверки на null и в итоге получишь NRE.
262 1563106
>>63080
пускай валится с NRE, это куда лучше чем стопиццот проверок на null
263 1563111
>>63106
Нужно привыкать к хорошему коду, а не делать отмашки и валиться с NRE.
264 1563120
>>63111
в хорошем коде NRE контролируется юнит тестами и Anti-Corruption layer, а не костылями вида if (input != null) размазанными по всему проекту
265 1563122
>>63052
C var result - обосрался, это должен быть маппинг сущности ClientDTO в Client

>эти null-проверки это лишний мусор


Я уже выше спрашивал насчет проверок. Я никогда в реальных проектах не участвовал, поэтому задаюсь вопросом на каком уровне делаеть NRE проверки и Exceptions.

>трудно прикинуть как это лучше реализовать не видя остального кода


Я скоро выкину весь проект целиком на борду под предлогом опенсорса для всех желающих
266 1563123
>>63120

>Anti-Corruption layer


С этим не знаком, спасибо за наводку
267 1563132
>>63120
Так он и не пройдёт юнит тесты, если в нём не будет проверок на null в таких местах. Anti-Corruption layer это скорее для случаев когда две взаимодействующие системы разрабатываются независимо друг от друга.
268 1563159
>>63132
пройдёт, передача null не должна даже компилироваться
https://docs.microsoft.com/en-us/dotnet/csharp/nullable-references

в примере выше например, db.GetById(suppier.SupplierId) должна возвращать объект типа 'Supplier?', потому что он действительно может отсутствовать by design
тогда мы проверим на null и продолжаем дальше
269 1563168
>>63122

> на каком уровне делаеть NRE проверки и Exceptions


некоторые проверочки - часть "бизнес логики"
другие - костыли на случай обосрамса программистов
мешать их лучше очень осторожно
270 1563190
>>63159

>пройдёт, передача null не должна даже компилироваться


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

>C# 8.0


Это ты так пошутил? Или ты всерьез думаешь, что кто-то будет переписывать тонны кода?
271 1563197
>>63190
ничего не нужно переписывать
и да, случаи отсутвия объектов можно предвидеть, nullable ref types как раз для этого
во многих функциональных языках уже давно (десятилетия) есть Optional типы (и нет null вообще), option<T> в F#, Maybe в хаскеле и тд
карт.jpg919 Кб, 1913x2776
272 1563256
С этой книги норм начинать знакомство?
273 1563258
>>63256

>Российский


Нет.
274 1563259
>>63256

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


Лол, что же сразу не до хеллоу ворлда?
мимо
275 1563270
>>63256

>российский


Моча съела говно. Выкинь в урну
276 1563300
Изменял название солюшена. В пространстве имен до изменения привязанны классы к старому названию которого уже нет. Когда добавляю функционал - добавляет новое название. Как такое фиксить?
277 1563378
>>63300
Поменять в коде старое на новое
278 1563428
Продёте?
279 1563444
>>63256
начинал с метанита, потом, как устал хавать кал перешел на рихтера. все доходчиво и глубоко разъясняет.
280 1563499
>>63300
Только вручную, увы
281 1563500
>>63259
А ты хочешь, чтобы в книгах для начинающих Razor давался?
282 1563568
Шарпаны, как надо писать операторы преобразования как в сторону "класс" => "число", так и в "число" => "класс"? Вот тут https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/operators/user-defined-conversion-operators покрывается только первая половина, а я хочу писать хуйню постоянно.
Например,

public class StringField
{
protected string name;
public string value;

public StringField(string name)
{
this.name = name;
}
public override string ToString() => this.value;

}

StringField sas = new StringField("supB");

Я хочу, чтобы можно было написать что-то типа sas = "kek"; sas = sas + " kok";
Но не могу, в шарпе нету перегрузки оператора=
283 1563569
и если строки хотя бы пытаются сами приводиться, то если у меня будет int или какой-нибудь float, то тут-то я и сосну
284 1563572
и если у меня будет
StringField sas1 = new StringField("supA");
StringField sas2 = new StringField("supB");
то я хотел бы, чтобы sas1 = sas2 не перезаписывал параметр name
285 1563577
Аноны, 4е издание рихтера для вкота подойдёт? или есть проверенная роадмап?
286 1563628
>>63577
бляяяяяяяяяяяяяяяяяяяять
Да пойдёт
287 1563633
>>63568
>>63569
>>63572
Реализуй при помощи методов.

>чтобы sas1 = sas2 не перезаписывал параметр name


Оператор "=" нельзя перегружать.
288 1563648
>>63256
>>63572
>>63577
время охуительных вопросов

>4е издание рихтера для вкота


Какая хуй разница, какое издание? Книга эта с 4 версии .NET дописывается парой строк. Для вкота - нет, обосрешься причем жидко

>то я хотел бы


Ты оператор присвоение решил оверлоадить? Ты хоть сам понял, что ты высрал?

>С этой книги норм начинать знакомство?


В просторах сети есть 2 авторитетных учебника для подзалупных студентов (с переводом и без). Зачем тебе какая то %NONAME% писака косплеящий Шилтда?
289 1563699
>>63628
>>63648
вот и кто из вас пиздит?
290 1563701
>>63699
открой Рихтера, почитай первую главу и реши сам. Осилишь - флаг в руки и пиздуй куда ни будь, точно не на галеру или собес, тебе еще тонны данных нужно обработать и запомнить
291 1563786
>>63699
В кратце - если всё поймёшь, то изучай сразу с Рихтера, если нет, то возьми попроще что-нибудь, типа Троелсена или Шилдта, потом Рихтера всё равно лучше изучить.
292 1563791
>>63699
Рихтера форсит фанат-шизик уровня фаната метанита. Рихтер сильно углубляется, новичок просто не сможет переварить всю эту информацию и усвоит максимум 5-10%. Для новичка лучше подойдет Троелсен, которыйвдается в подробности только там где это нужно и фокусируется на базе, либо Шилдт. Потом уже можно читать Рихтера, и интересней будет, и информации больше усвоишь.
293 1563793
>>63786
>>63791
спасибо
294 1563909
Поясните, что за мода пошла хейтить свойства? Типа кого в интернете не встречу говорят что не нужны и используйте публичные поля.
Блядь, а ничего, что я в проперти можно запихнуть проверку какую-то, добавить какую-то логику, вызов событий и т.д., либо просто предоставить удобный интерфейс для получения данных, например у меня в классе время храниться в миллесекундах и каждый раз делить их чтобы получить час - заеб. Нет, блядь, какой-то питух сказал, что не нужны и мы будем за ним повторять как дауны.
295 1563919
>>63909

>мода пошла


>какой-то питух сказал


иди обратно в свою петушарню, тут элитные господа сидят, использующие свойства
296 1563957
>>63909
Не знаю из какого сельского форума ты вылез, но как в книгах, так и в продакшене уже все давно используют свойства.
297 1563971
>>63909
Это петушиное говно не нужно в ООП-языке.
298 1563972
>>63971
Вообще-то оно существует из-за ООП, а именно инкапсуляции.
299 1563973
Поясните, пожалуйста, за Dependency Injection в .net core.

Вот я создал контекст базы данных, зарегистрировал его
services.AddDbContext(hostContext.Configuration);

потом я создал класс, реализующий интерфейс IService
public class SomeService : IService
{
private readonly AppDbContext _dbContext;

public SomeService(AppDbContext dbContext, string something)
{
_dbContext = dbContext;
}
}

Первый параметр конструктора передается через di, а как передать второй параметр?
И вот как этот сервис с параметризованным конструктором зарегистрировать?

Это не работает:
services.AddScoped<IService>(s => new SomeService(""));
300 1564036
>>63973
Ты не правильно понял суть DI. Интерфейс передается в класс полем, который конструктром типа инициализируется классом, реализующим этот интерфейс. Будет типо такого:
public class SomeService
{
private readonly IService;

public SomeService(IService service)
{
IService = service;
}
}

Под этот IService в конструкторе можно подложить любую его реализацию
image.png17 Кб, 692x190
sage 301 1564048
>>63973
я не помню как точно это делать
но как минимум, ты можешь взять свой
services.AddScoped<IService>(s => new SomeService(""));
и зарезолвить db внутри лямбды

что то типа:
var serviceProvider = services.BuildServiceProvider();
services.AddScoped<IService>(s => new SomeService(serviceProvider.GetService<AppDbContext>(), "string something"));

гугли
https://stackoverflow.com/questions/32459670/resolving-instances-with-asp-net-core-di
302 1564049
>>63791
ИМХО, часть рихтера еще и НИНУЖНА. То есть нужна конечно - C# вообще бессмысленных конструкций не держит, но эта информация в первое десятилетие работы может не пригодиться, а книгу новичкам советуют...
sage 303 1564058
свойства правда подванивают
но публичные голые поля, конечно же, дриснища наилютейшая
304 1564120
WPF вообще хоть где-то в продакшне используется, или мертвая тема?
305 1564137
>>64120
Мертвая хуйня, все нормальные конторы на формах сидят.
306 1564142
>>64120
Зайди на hh.ru да посмотри, чего тупой то такой.
307 1564162
>>64058
Зависит от задач. Есть принцип (закон Парето), который гласит, что 20% кода выполняется 80% времени. Т.е. оптимизировать необходимо ТОЛЬКО критические для производительности места в кода, а не всё подряд. Например, нет ничего плохого в том, чтобы написать свою версию урезанного LINQ для таких мест, которая будет работать на массивах и не использовать тормозной IEnumerable, замыкания, лямбды и аллокацию памяти на любой чих. Или использовать уже готовый nuget-пакет, но обычно своё кастомное решение лучше, так как имеет узкую направленность.

С другой стороны, есть области, где это оправдано и используется повсеместно, например, гейдев: https://youtu.be/L_uwDygZe48

>>64120
В кровавом тырпрайзе обычно используется в качестве вспомогательных утилит к какому-то куску системы. В сообществе есть неосиляторы WPF, потому не редкость встретить и WinForms или, в запущенном случае, сразу обе технологии.
308 1564396
Большая разница между asp.net core 2 и 3 версии? Если буду изучать 3 версию по "ASP.NET Core MVC 2 с примерами на C# для профессионалов" слишком геморно будет?
309 1564403
>>64396>>64396
Загугли блять изменения, тупоголовая обезьяна
310 1564410
Почему в C# так много школьников?
311 1564449
>>64410
Dolgosrochnui yazuk
312 1564547
>>64410
Потому что оптимальный язык для того чтобы распробовать все это дело. Ведь школьники почему-то дюже не любят консольку и почему-то уверены, что весь серьезный софт должен работать нажиманием кнопочек, чтобы бегал прогрессбар и вот это вот все, а на шарпе ОЧЕНЬ просто сделать оконное приложение, даже не разбираясь что там под капотом, те же винформы это очень легко делать позволяют.
В большинстве других языков(не дотнетовских), чтобы то же окошко сделать приходится больше усилий приложить и это очень сильно отталкивает.

бывший школьник, который в школе именно шарпик начал учить
313 1564713
Что думаете про OpenCL? Кто-нибудь пользовался?
314 1564730
Понимаю что наверное это совсем не тема треда, но что за мувисерчер о котором все говорят и почему о нем все говорят?
315 1564741
>>64730
Наверно какой-то типовой проект, следующий шаг после хлловорда.
316 1564839
Есть 2 класса задач. Во всех двух классах все методы практически идентичны, заменен только консольный вывод. Для реализации замены вывода я сделал абстрактный класс и от него наследую классы с разными методами. Меня беспокоит то, что здесь слишком много идентичного кода. Каким образом можно реализовать замену только консольного вывода в методе? В голову приходит только реализация отдельных методов для вывода, может вы чего подскажете попроще? И еще, а считается ли нормальным иметь в абстрактном классе не абстрактный метод?
317 1564848
>>64839
Делаешь массив ["день", "месяц"] и в зависимости от выбора, берешь из него соответствующий индекс, после чего добавляешь данные из массива в консоль.
318 1564882
>>64839
Можно как-то так, например.
319 1564891
>>64839
Так запили общий метод в базовый класс, принимающий строку которую надо вывести, а в наследниках просто вызывай его с нужной строкой.
sage 320 1564929
>>64839
IDictionary<Duration, IList<Task>>
оба класса удаляй
321 1564961
>>64882
>>64929
Я еще не изучил интерфейсы и коллекции xD Обязательно займуксь в ближайшее время.
large4cc3b41d6b50d0d8.jpg54 Кб, 500x500
322 1565053
Что скажете про эту книгу для вката? С одной стороны подача материала со всякими рофлянками меня отталкивает, с другой стороны сами авторы во введении обещают, что книга вполне себе серьезная.
323 1565064
>>65053

>VS 2012


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


>4.5 фреймворк



Ты серьезно?
324 1565070
>>65053
Книги есть в шапке, в чём проблема их взять почитать?
325 1565071
>>65064
Да, блять, серьезно. Почему у вас 0 инфы в шапке по версиям вашей хуйни? Я ебу что ли, что там актуально сейчас.
326 1565072
Как можно нормально переписать это код?
(++userNumber == randomNumber || (userNumber - 2) == randomNumber)
-2 потому что при инкременте число изменяется. Как прибавить или отнять, но только для сравнения, чтобы еще одну переменную не делать?
327 1565074
>>65070
Проблема в том, что, как обычно, везде у каждого свое мнение о том, что нужно прочитать ньюфагу. А ньюфагу, в свою очередь, хочется выбрать что-то, что позволит изучить язык с минимальными трудозатратами относительно других вариантов.
328 1565079
Ух, вроде разобрался с IEnumerable и IEnumerator, я молодец?
329 1565081
>>65079
Только если еще знаешь про утиную типизацию.
330 1565083
>>65081
Я на шарпе через dynamic и вар только кодю
331 1565097

>The C# Player's Guide


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


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


Классика
what.png30 Кб, 240x240
332 1565101
>>65083
Что с того?
333 1565102
>>65101
Я больше не знаю никаких ваших типизаций, мне оно не нужно
334 1565109
>>65071

>в шапке


Шапка устарела лет 5 назад. По одной книге язык не выучишь. Толку от знания только языка мало.
335 1565113
>>65074
Не видел чтобы кто-то говорил, что Троелсен и Шилдт плохи для новичка.
336 1565114
>>65072
(userNumber + 1 == randomNumber || userNumber == randomNumber)
337 1565116
>>65097
Троелсен и Шилдт - хороши для новичка. Тоже классика, но ты почему-то выбрал то что тебе хочется и исходишь из этого.
338 1565142
>>65116
>>65113
Я пока ничего не выбрал. И между прочим книга из вашей шапки. Собственно, если не найду что-то меньшим объемом, то буду читать Троелсена. Его книга, по крайней мере, не устаревшая + есть на русском.
339 1565143
>>65072
почему нельза переменную?

new[] { randomNumber - 1, randomNumber + 1 }.Contains(userNumber++);

Math.Abs(randomNumber - userNumber++) == 1
340 1565148
>>65142

>на русском


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

мимо
342 1565172
>>65142
Шапка создана поехавшим анимешником и давно не обновлялась. Единственное, что годное с ней случилось - убрали метанита.
343 1565173
>>65143
Создавать массив, еще и использовать Contains. Надеюсь ты так троллишь.
344 1565174
>>65172

>убрали метанита


Почему его в последнее время начали хейтить? Ведь сайт существует уже очень давно.
sage 345 1565177
>>65173
говно вопрос - говно ответ
346 1565181
>>65174
К сожалению, годы существования сайтов не исправляют опечатки и кривость повествования. Он всё также создаёт ощущение поделки студента, который просто попытался пересказать Троелсена, при этом делал это небрежно и с изрядной долей похуизма.
347 1565196
>>65181
Всё так. Но хейтить его начали недавно по тем помойкам, где я лажу. Этот сайт что 10 лет назад, что сейчас в выдаче гугла может и не появиться вовсе. professorweb очень редко проскакивал, но все же намного чаще метанита. Тот, на котором был майнер одно время.
348 1565213
>>65196
Может, раньше просто никто про метанит не слышал, и только недавно аноны его увидели, посмотрели и сказали "говно"?
349 1565215
>>65213
Скорее всего так и есть. Мне был сам источник интересен.
350 1565317
>>65172
Я хотел обновить шапку оп этого треда, но не уверен, что изменения понравятся, поэтому решил оставить
351 1565319
>>65213
как для студента, быстро найти что то и сделать по аналогии, годный, но в качестве обучающего ресурса, так себе. Слишком уж в сжатой форме материал.
352 1565321
>>65317
Не отвечай этому дебилу, ему вообще все шапки не нравятся, что бы ты не делал, оп предыдущих 20 тредов.
353 1565322
>>65321
К слову изначально в шапку я ставил просто C# картинки и шапка состояла из "C# тред", без гайдов и этого всего. Ему это тоже не нравилось, так что просто забей.
354 1565325
>>65114
Спасибо! А как это работает?
355 1565340
>>65325
Все, понял там не приравнивается значение.
356 1565359
>>65325
получается число из единицы и userNumber и сравнивается с randomNumber. Приоритет выполнения у оператора + выше чем у ==, поэтому сначала произойдёт сложение.
357 1565361
архитектор хайлоуда в треде , задавайте вопросы
358 1565395
>>65361
дай денег
359 1565496
>>65361
хуи сосёшь?
360 1565499
>>65496
Сколько хуёв? Каковы их размеры?
361 1565512
>>65499
распределённый хайллуд пайплайн, до миллиарда километров хуёв в секунду
362 1565517
>>65512
Пропускная способность сосатора?
363 1565520
>>65361
ЗП? Опыт? Как дошел до такой жизни? В СНГ живешь или уехал уже? Что посоветуешь молодым-шутливым и вкатывальщикам?
364 1565626
>>65317
>>65321
>>65322

верните енота ебать
2727c482dde74f3f0e4c0b537220b737.jpg56 Кб, 512x768
365 1565628
image.jpg249 Кб, 1080x866
366 1565639
>>65628
Лучше уж Шинобу.
367 1565647
>>65639
странная аналогия на пикче. Она больше человек, чем зверь.
368 1565713
У меня есть интерфейс-маркер (без методов) IResult<T> и классы Success<T> и Error. Хочу реализовать этот интерфейс в обоих классах.
Проблема в том что если с конструкцией "class Success<T> : IResult<T>" всё хорошо, то классу Error параметр типа T нахуй не нужен, но вот написать "class Error : IResult<T>" компилятор не позволяет.
Я хотел было сделать класс Unit, как в любимой функциональщине, и написать class Error : IResult<Unit>, но тогда если из функции нужно вернуть IResult<string>, то ошибку из него вернуть уже не получится, т.к. IResult<string> это не IResult<Unit>. IResult делать ковариантным и писать class Error : IResult<object> - тоже не вариант, мне ковариантность нахуй не нужна.

Есть готовые паттерны для таких случаев?
369 1565753
>>65713
функциональщина под капотом добавляет <Т> к классу Еггог
так что добавь и ты
370 1565760
>>65713

>интерфейс-маркер (без методов)


Ужас.

>Есть готовые паттерны для таких случаев?


А зачем так усложнять?
class Result<T>
...bool Successfull {get;} //ну или HasError
Если это все крутится внутри проги используй эксепшоны, или try методы: bool TryDoSmthg(out result)
А еще лучше описывай решаемую задачу, а не тот способ который ты придумал, может найдутся варианты получше.
371 1565812
>>65760

> Ужас.


Ну можно и абстрактный класс.

> А зачем так усложнять?


Ошибка - вернули один класс, всё ок - вернули другой, а дальше паттернматчингом разобрали. Нам switch на спидах завезли чтобы мы по старинке всё в один общий класс пихали а потом проверяли его поля?
Я просто параллельно фшарп ковыряю и попытался заюзать тип-сумму, но видимо придется действительно по старинке с IsError
372 1565821
>>65812
>>65760
Похуй, сделаю примерно как тут https://habr.com/ru/post/267231/
Чсх когда делал через единый класс, Result так и выглядел, но показалось что хуйня
373 1565850
>>65395
нэт. Ты можешь сумма сойти с таких сумм , стать жирным или спиться
374 1565851
>>65496
нэт. На разговаривал с трапиком (HR мэнеждер в одной компании был(а))
375 1565856
>>65520
зп 300к + (но основные деньги от инвестирования)
до жизни очень просто , заметил что вижу как надо делать с первого раза в это включая очень легкую и предполагаемую мутацию системы для бизнеса .

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

Молодым очень просто : сделать клон понятной хайлоуд системы. Вроде Ютуб, твитер.
376 1566046
В ASP.NET razor вообще юзают? Мне чего то кажется, что все крутиться от web api и надевается на него фронт под GET/POST requests/response. Кто в реальных проектах на MVC/Core педалил, что скажете?
377 1566073
>>66046
На легаси пердолил некоторое время не так давно. С какой-нибудь либой расширений (типа Kendo), и для приложений, которым не требуется быть SPA - вообще хорошо живется. Хуяк-хуяк интерфейс за 10 минут и дальше бек пилить.
378 1566101
>>65639
Мне так нравится как очередной нормис врывается в тред всякий раз когда ктонибудь постит на 100 км отдалённо напоминающее фурятину и такой "Ух какие вы все извращуги, я вот не такой, а вы такие, я вот прям смотрите какой я нитакой как вы. Видите? Я вот не люблю этих вот всех, вот почитайте моё мнение по этому поводу."
Какой-то симбиоз вниманиеблядка и пониёба. Никогда этого не понимал. Мне тоже много чего не нравится в интернете, Если бы я каждый раз отвечал в такой духе я 24 на 7 сидел бы в инете без продыху.
379 1566208
>>66073
я думаю есть такие проекты, которые забили болт на UI и пилят все на ASP.NET. Но мне все же интересна общая тенденция, юзают ли его или все через Web api?
380 1566428
>>66208

>которые забили болт на UI и пилят все на ASP.NET


Спешите видеть, у зумеров все что не спа то "забили болт на UI", лол.

> Но мне все же интересна общая тенденция, юзают ли его или все через Web api?


Тебе сказали уже, ты какого ответа ждешь, что мы тут с тобой вместе поцокаем языком и порассказываем какой razor говно?
381 1566504
>>66428

>у зумеров


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

>все что не спа то "забили болт на UI"


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

>вместе поцокаем языком


нет, только ты и в том месте, откуда начинается разработка View в ASP.NET

>какой razor говно


Я реально спрашивал, "это" вообще кто то использует? И зачем он вообще нужен, если интерфейс взаимодействия на любой технологии backend-to-frontend это Web api?

У меня походу дела назрел другой вопрос - все .NET-тчики это full-stack? Типо везде пишут в required JS+Framework (vua/react). Типо зачем нанимать фронта, если .NET-тчик все сам сделает?
382 1566515
>>66504

>Интирпрайз


Лол, ты же сам обоссаный вкатыш
Энтерпрайз это место наибольшей концентрации легаси, а легаси на асп это почти всегда разор
На твой вопрос ответил?

Год стажа в трёх разных тырпрайз конторах
383 1566524
>>66515

>обоссаный вкатыш


>Год стажа


>в трёх разных конторах


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

>Энтерпрайз это место наибольшей концентрации легаси


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

бампаю вопрос
384 1566535
>>66524

>Ты пишешь что разор говно


Ты совсем тупой какой-то

>Энтерпрайз где нет продуктовых


Ой блядь, ты бы хоть мемы выучил перед тем как быть баттхертом
Энтерпрайз у него не продуктовый на автомате, пиздец

>В твоём селе


Лол блядь, шизоид, скажи мне где тырпрайз НЕ легаси
И как раз таки в аутсорсе обычно его меньше
Ты вообще значение слов которые пишешь понимаешь?
385 1566543
>>66535

>ты бы хоть мемы выучил


>мемы


>выучил


Вся суть вопросов в /pr/. Какой то малолетний долбоеб, который вчера только вкатился на галеру засирает ленту. Не знаю даже, нахуя я таким отвечаю
386 1566549
>>66543
Ясно, это троллинг тупостью. Если не спа то похуй на UI. Если легаси то не энтерпрайз. Если энтерпрайз то не продуктовая контора. Если сказали что разор хорош в смеси с либами расширения, то сказали что разор говно.
Действительно хуй знает зачем ты это продолжаешь.
387 1566623
>>66535

>где тырпрайз НЕ легаси


эм... только что вылупившийся?
388 1566666
что лучше nlua или neolua?
Из требований быстрое создание нового экземпляра стэйта и малый жор оперативы и что бы из луа шарповые функции вызывались как можно быстрее. Особо тяжёлой и замудрённой логики там не будет
14877766204370s.jpg12 Кб, 213x250
389 1567034
Ваша параша умеет под линухом уже работать?
390 1567070
>>67034
Умеет, но до уровня других языков ещё далеко.
391 1567106
>>67070

> до уровня других языков ещё далеко


Что это значит?
392 1567160
>>66504

>все .NET-тчики это full-stack


Как правило да, есть исключения, например, если проект очень большой.
В целом же, на большинстве проектов, на одном только бэке делать нечего.
393 1567169
>>55702 (OP)
Ваша параша уже загнулась?
394 1567183
>>66666
сам себе отвечаю. neolua на базовых вещах просто рвёт nlua т.к. первый это полностью шарповая реализация и единоразовый компил скрипта в дерево выражений
395 1567354
>>67034

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


>Не, я хочу говна поесть дайте мне говна.

396 1567385
Сап, аноны.
Решил вкатиться в программирование и выбрал шарп как первый язык для изучения. Так вот, немного почитав, я узнал, что разработка на шарпе для юнити и разработка на обычном шарпе очень сильно различаются. Поэтому, у меня появился вопрос. Куда, по-вашему, перспективнее и лучше пойти: вебдев/геймдев? Хелпаните плез.
Для справки: знаю html и немного css. Недавно изучал, до того как узнал о шарпе.
С юнити знаком лишь поверхностно, для сравнения.
397 1567478
>>67354
Предлагаешь держать сервера на винде?
398 1567483
>>67385
Делать игры в промышленных масштабах мало кому нужно, веб повостребованнее будет.
399 1567503
>>67354
Я пытаюсь дальше развиваться, в с, и крестах освоился давно, захотелось человеческого ООП, в яву ступать не хочеца
мимо1567034-
400 1567506
>>67385
сап анон, хуйня это все. Сейчас пашу, что лось ASP.NET full webstack dev-ом. Заебало все - овертаймы, больничный - без оплаты ЗП, 14 (10) дней отпуска. IT в 2к20 это дно, на просторах СНГ - так точно.
После работы переучиваюсь на слесаря-автомеханника. Вот это я понимаю работа. Похуй, что в тасоле, зато руками работаю, да и ЗП у хорошего спека не меньше, чем у Senior dev-a. Задумайся лучше над этим.
401 1567507
>>67506
Украина? Какая галера? У нас отпуск/больничний по цене середней зп за последниеее 6 месацав в день
402 1567514
>>67507
Да, название называть не буду (подписывал бумажки об конфиденциальности этого бадишопа). Отпуск - 10 дней рабочих (14 календарных), больничные - не гребешь, не платим. Сижу сейчас с соплями и кашлем, без компенсаций, когда выйду - пойдет гора тасков. Ебал короче ваше погромирование, за эти же деньги (мидла так точно) можно найти другую менее напряжную и более развязную работу.
403 1567515
>>67514
И какой рейт тебя? Мидл где-то 10-16?
404 1567516
>>67515
У меня не по rate/hour - ставка месячная. Если берешь отгулы делят на КОЛИЧЕСТВО РАБОЧИХ, НЕ КАЛЕНДАРНЫХ КАРЛ и снимают с ЗП. Сколько с меня получают, я хз, думаю в пределах 20
405 1567519
>>67516
Вопрос сколько у тебя в месац. Есть $20/час, то хуй кем столько мог поднять
406 1567524
>>67519

>в месац


~1.5-2k
Для контраста - сменить сайлентблоки, тормозные диски, развал-схождение, ТО - это $500-600, из которых комплектующих если на $250-300 набереться, то это уже дорого. Поэтому маня мир погроммирование трескается тогда, когда узнаешь, что есть полно другой работы, за которую можно получить те же деньги при меньших усилиях.
Продаваны, которые не на ставке, а на сделке думаешь 3к не поднимают?
407 1567558

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


Проблема в тебе, не воняй.
408 1567647
>>67558
пускай воняет, может отпугнёт немного ньюфагов - среди них ещё попадаются конкуррентноспособные
409 1567651
>>67647
может долбоебам с борды прийдет в голову не форсить свой стэк
ryzen.png239 Кб, 500x290
410 1567657
Что не так с плеерами? Понадобилось накидать простое приложение-видеоплеер. Сешарп для меня язык вспомогательный, и я мог проебать какие-то нубские моменты. Но не настолько нубские, как тестить производительность в дебаг-сборке или вообще сканпелять под не ту архитектуру.
Сначала попробовал дефолтный MediaElement. Всякие мелкие видосы гоняет хорошо, но 1440p@50VMefpsANUS10PUNCTUM5Mbps заметно подлагивает.
Поставил FFME - эта штука использует FFMPEG. Все равно результат такой себе. Ну, конечно, на моей GTX1080 все ОК, но на ноуте с Гиперпнем образца 2016 - боль.
Подумал, неужто встройка ноута совсем плоха? Но почему тогда дефолтный виндовый плеер тащит? А потом вспомнил, что в Winforms можно вставить тот самый дефолтный плеер. И вставил. И он тащит! С ним все прекрасно!
Что за херня? Ошибка в ДНК, или в Сешарпе и вправду нет нормального видеоплеера, исключая винформовый AxWindowsMediaPlayer?
411 1567665
>>67524
Тогда вопрос почему в айти? Вошел из-за денег?
412 1567830
>>67657
Возможно потому, что wpf работает поверх directx, а формы на gdi
413 1567831
>>67830
И что с этим делать? Есть какие-то варианты получить нормальную производительность плеера, не переключаясь на допотопные классы, которые написал еще мой дед в окопах Сталинграда?
414 1567854
Где скачать VS 2017?
415 1567857
>>67854
Ты двач с Гуглом перепутал
416 1567858
>>67857
Нет, я определенно на сайте Двач.
На сайте майкрософт есть только VS 2019, где мне найти 2017?
417 1567861
>>67858

>лезет в программирование


>не осилил сайт майкрософт



Ты уверен?
418 1567862
Ладно, я нашел. Никакого толку от вас.
419 1567863
>>67862
Как посрать соберешься, не забудь спросить здесь - "где туалетная бумага?".
420 1567896
>>67863
он и не вытирается
2017-блядок же
421 1567937
Нужно будет писать на линуксе, что выбрать vs code или Rider для шарфика?
422 1568000
Привет, шарпаны. Я тут вчера почитал про Entity Framework. Это же охуенная штука, да? Я еще не юзал ее, вчера только узнал.
мимо-ньюфаг
423 1568005
>>68000
Хуета которая генерит хуевые запросы. Норм пацыки юзают Dapper.
424 1568011
>>68005
Ни разу в вакансиях не видел этого слова. Читаю про него, пишут, что пиздатый. Спасибо за инфу.
image.png2 Мб, 1518x1075
425 1568039
народ как бы мне сделать так что бы при изменении источника например изменении картиночки в папке страница автоматически обновляла картиночку на новую
426 1568040
>>68039
FileSystemWatcher и подписка на ивент.
image.png7,2 Мб, 2048x1705
427 1568067
>>68040
спасибо тебе бро, угощайся
428 1568153
>>68005

> Норм пацыки юзают


linq2db, ado.net
4eab7736fefe10b1eb889b83cba04b44.jpg35 Кб, 512x512
429 1568498
>>68153

>ado.net


Легаси элита в треде
430 1568529
>>68498
В чём проблема?
431 1568535
>>68529
Типа адо нет на коре работать должна, не вижу бугурта
https://stackoverflow.com/questions/38510740/is-ado-net-in-net-core-possible
432 1568536
>>68529
нет проблем для легаси-богов кроме ковыряния в говне На самом деле проблема большенства девов, когда смотришь в требования, а там EF, .NET 4.5+, Core 2.2
А по факту приходишь, а тебе дают хуйню хуйни, но т.к. в офере пункта такого нет, то месишь глину, пока не сдохнешь закончится офер
433 1568942
Аноны, вопрос с работой, конечно же.
В общем работаю я на технической работе, но она никак не связана с программированием. И образование соответствующее. Но программирование всегда нравилось, и последние лет 7 учил шарп как хобби. Знаю его достаточно неплохо, писал несколько весьма полезных для себя приложений, и даже весьма приличную игру, но не дописал, завис в балансе и рефакторинге. Хотя есть вполне приличная демка. Знаю также на некотором уровне unity, как то начинал учить html, яваскрипт, уверен что без проблем освою любой другой язык.
Так получилось, что моя текущая работка загибается.
Есть мне шансы вкатиться куда-нибудь на зарплатку мидла? Совсем уж с джуниуров начинать неохота, хотя если там зп будет 100к не в дс, или от 200к в дс - то можно всё таки мне не 20 лет.
И может быть посоветуете что делать для этого? Гитхаб не юзаю, хоть и знаком, взять и написать пяток прог и выложить на гитхаб? Или подучить что то ещё?
434 1568960
Короче, решил перекатиться с двух плюсов на четыре, скачал Албахари, начал читать.
Если закрыть глаза на излишние пристрастие автора к сахару, книга ультрагодная, без излишне глубокого мозгоебства, но с указанием всяких тонкостей и неочевидных мест.
И все шло заебись, пока не наткнулся на вариативность в универсальных интерфейсах и делегатах. Инфы, почему оно так работает дается крайне мало. Просто: "делай так. и будет заебок".
Решил глянуть, что по этому поводу говорит Троелсен, вроде он обычно по любому чиху приводит кучу ненужных подробностей и промежуточного кода. А там вообще эта тема не затрагивается.
Так вот вопрос, где об этом можно подробно прочитать?
435 1569032
Сколько времени потребуется вкатиться в C# WEB джуном, база небольшая языка есть ( чуть ООП парадигмы)
436 1569033
>>69032
Конечно вопрос индивидуальный, поэтому поделитесь вашим опытом, сколько у вас заняло времени?
Планирую 4 часа уделять
437 1569034
>>69033

>Планирую 4 часа уделять


в день*
438 1569037
Объединю пару последних вопросов, может кто примерно сказать, какие обязанности у C# джуна и мидла?
Насколько сложный код надо писать?
439 1569113
>>68960

>Албахари


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


сразу за инвариантность, ковариантность и контрвариантность подумал, хыыыыы

>А там вообще эта тема не затрагивается.


Тролсен - для щеглов, уровень - begginer. Албахари - Middle/Senior
Где искать материал? В интернете не осилившему гугл хороший совет имо
>>68942

>Совсем уж с джуниуров начинать неохота


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

>какие обязанности у C# джуна и мидла?


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

>Насколько сложный код надо писать?


Пиздец какой сложный, что то на уровне ракетостроения или даже выше Погугли тему из вопроса про Албахари - ты охуеешь
440 1569115
>>69037
Джунов отправляют ковырять VBA.Net ado.net ASP
Миддлам разрешают на чем-то поновее писать.
441 1569164
>>67831
Так что, опытные шапреры, есть идеи? Я даже попробовал либу, делающую плеер с DirectDraw (пакет WPFmediaKit), и стало лучше, но все равно результат работает тупее, чем ебаный винформовый плеер.
computercat.jpg36 Кб, 500x508
Внимание! Важный вопрос! 442 1569168
Эй, шарпаны, поясните, как лучше учить ASP.NET. Я немножко знаю сам шарп, а про асп не знаю ничего. С чего начать? Есть ли какое-то онлайн-дрочилово по этой теме? Нужны ли мне будут всякие джаваскрипты? Хтмл и цсс будут нужны полюбому, да? Помогите ньюфагу.
443 1569175
>>69113

> Где искать материал? В интернете не осилившему гугл хороший совет имо


Ну блин, не ужели ты думаешь, что я бы пришел сюда спрашивать, предварительно не погуглив? В большинстве своем там объяснения уровня "вот пример вариативности, вот контрвариативности, запомните и пользуйтесь". Если и есть попытки объяснить это на пальцах, то все их веселые аналогии с животными мгновенно идут по пизде при объяснении контрвариативности, потому что она контринтуитивна.
Единственно годное объяснение я нашел в архивном блоге мсдн от разработчика языка. Но оно от 2007 года для 3ей версии шарпа. Там вариативность параметров универсальных делегатов только в планах.
444 1569204
>>69168
Завтра идешь и покупаешь ASP.Net in action 5th edition,
похуй если ничего не поймешь.
445 1569208
>>69204
А можно я скачаю и распечатаю на казенной бумаге?
446 1569212
447 1569221
>>69208
Картридж черный canon 1200 стоит, рассчитан (официально) на 140 стр. Лучше купить книгу.
448 1569268
>>69212
4 года в шараге по 2-3 часа в день в среднем только на шарп тратил. Могу кинуть собственной какахой в монитор только. Буду рад если с книгой будет по-другому
449 1569272
>>69268

>4 года в шараге по 2-3 часа в день в среднем только на шарп тратил


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

> 140 стр


Ну у вас и картриджи в 2020. Поживу-ка пока в 2010.
451 1569290
>>69272
я где-то так же даже подольше, но вот меня недавно "осенило" поставить зонд-трекер и я охуел: внезапно оказалось что большая часть моего времени тратится на бесполезную херню вроде серфинга двачей и прочего интернета
т.е. даже если я на бумаге уделяю, допустим, шесть часов на что-нибудь полезное вроде решеточки, над собственно решеточкой я реально работаю не больше часа, остальное просто сливается в трубу нахер.
что с этим делать пока не ясно, но по крайней мере теперь знаю в чем скорее всего заключается проблема моего херового обучения.
452 1569325
>>69208
Все казенное. Плотют мало, зато могу невозбранно печатать книжки, на которые не хватает денех. Такой пидораший симбиоз.
453 1569433
Какое же убожество ваш сишарп после Питона
454 1569446
>>69433
И после Scala
455 1569516
>>69433
Пошел нахуй динамопетух
>>69446
А этому два чаю, жаль на скале работы мало, и то по большей части или мл или скала-как-лучшая-жава
456 1569538
>>69433
Зато даже студия не такое лагучее дерьмо как пуйчарм, вниманиеблядь, свали в свой тред.
457 1569539
>>55702 (OP)
Посоветуйте либу, чтобы выводить frameless-видеозапись на экран, в идеале на все мониторы.
458 1569545
>>69433
Я, как пистонодрочер, оффициально заявляю, что его преимущество в возможности возвращать массив различных типов:
def a():
...
-return intValue, strValue, listValue, tupleValue, neboValue, allahValue


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

В пистоне приходится костылить это стрелочками справа от параметра.
459 1569631
>>69545
В шарпе тоже можно, просто ты неосилятор тупой.
460 1569644
>>69545

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


> def a():


> ...


> -return intValue, strValue, listValue, tupleValue, neboValue, allahValue



Вернуть object[] можно. Да, придётся проверять тип при работе с элементами этого массива, но возможность возвращать массив различных типов существует
461 1569652
>>69644
Можно кортеж возвращать.
462 1569739
>>69644
Просто макака не понимает, что в его петухоне делается всё тоже самое, просто за кулисами.
463 1569779
Что значит пробрасывать исключения вверх? Ну я обычно пишу если трай кетч throw, но само понятие "вверх" мне не очень понятно.
464 1569790
>>69779
Значит выше по коду. Если у тебя где-то есть
try
{
SomeMethod();
}
catch
{
}

При этом в SomeMethod() у тебя есть:

SomeRequest();

Который может вызвать эксепшен, то он пробросится вверх, а если ты сделаешь так:
try
{
SomeRequest();
}
catch
{
}
То вверх ничего не пробросится, а проглотится внутри SomeMethod()
465 1569791
>>69739
А нахуя вникать в ненужное говно, когда за тебя все машина делает? Вот ты страдаешь хуйней, определяешь массив с конкретными типами, а я просто взял и получил с ходу не определенный мною за ненадобностью массив. Ты, наверное, из тех петухов, у которых "Не прогал в ассамблере - не разраб! Не нопесал свой собственный игродвижок - неполноценный геймдев!"
466 1569808
>>69791
Для того чтобы предоставить больше возможностей. Для того чтобы предотвратить говнокод. Петухонщик не будет думать, а не хуйню ли он делает, возвращая столько разных типов из одного метода, он просто сделает. В то время как программист увидит, что делает хуйню и переделает этот перегруженный метод в несколько. Но если этого сделать нельзя, то использует либо object[], либо кортеж, либо создаст отдельную структуру/класс для этого.
467 1570061
>>69545
на самом деле, то что ты описал скорее недостаток пайтона, нежели плюс.
Когда ты возвращаешь массив различных типов, тем самым ты:
1. Подрываешь механизм строгой типизации;
2. Переполняешь ресурсы возвращая одним методом то, что должно вернуться несколькими;
3. Плодишь кашу в коде, который поддерживает N+ человек. Тут писали про методы из 20к строк, вот как раз возвращать любые типы - это из той оперы.
Так или иначе, вернуть массив разных типов в решетках тоже можно используя кортежи или класс-оббертку.
Я не фанат решеток и хотя этот язык умирает, он во многом совершенен.
468 1570239
>>70061
Не совершенен - нет множественной диспетчеризации например. Скорее жс сдохнет, чем шарп.
469 1571063
У меня проект (CRM), где нужна полная регистрация действий пользователя. Целесообразно ли добавлять в DAL сущность юзера в каждый метод? Или лучше это сделать на BLL уровне?
470 1571086
>>70239

>Скорее жс сдохнет, чем шарп


Это само собой, Blazor к этому идет.
471 1571088
Есть небольшой гайдик по создании инди игры(платформера например) на чистом сисярп? Хочу понять как вообще графоний делается и спрайты
image.png10 Кб, 451x257
472 1571183
ахахах
473 1571210
>>71183
таки сомневаются
474 1571246
>>71183

> is c# 8


Да.
475 1571248
>>71246
Везде да.
476 1571313
>>71183
>>71210
>>71246
А какая альтернатива шарпу?с++ идет нах
477 1571319
>>71313
В каких именно задачах альтернатива?
478 1571324
479 1571381
>>71313
Жаба.
480 1571396
>>71088
Тебе нужно что-то, что будет выводить твою графику. Теоретически можно сразу работать с директ иксом, но ты повесишься, пока разберёшься.
Либо выводи через WPF (на нём тоже написано несколько игр, погугли. Там есть встроенная анимация), либо не еби мозги и учи параллельно юнити, как и все делают.
481 1571399
>>71313
Жава === Шарп.
482 1571400
>>71399
Джава не прижилась на десктопе, так что не совсем.
483 1571461
>>71396
спасибо
484 1571463
>>71381
Жаба говно, там надо устанавливать везде его движок тупой
485 1571468
Есть гайд по сертификации приложений? Как то можно делать это бесплатно? Что б если ты написал десктоп прогу - она не отображалась у всех как потенциально опасное приложение.
486 1571481
>>71463
Шарп говно, там надо устанавливать везде его framework тупой
487 1571482
>>71400
Да нахуй кому десктоп нужен? Ты еще скажи системного программирования нет. JNI
488 1571483
>>71481
>>71468
Да, тоже интересно. Без предустановки вижуалки, ни один экзешник не запустится. Кроме консоли, разве что
489 1571485
>>71483
Да нет, всё запускается отлично, даже экзешник скопированный с папки debug если ты, конечно, с библиотеками и версией шарпа не проебался, но пишет что на ваш страх и риск.
490 1571497
>>71482
Конечно, не нужен. Нужна пара десятков приложений, не работающих без Интернета.
491 1571509
>>69168

Джаваскрипты, хтмл и цсс тебе нахрен не нужны, на шарпе бекомакаки пишут бэк с апихой (rest, graphql).

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

Разделение труда.
492 1571514
>>71497

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

В противном случае не может такого быть что бы не было интернета.
493 1571515
>>71183
не пости такое, сейчас мочератор прибежит, начнет посты тереть, банами трясти. Вкатывальщики и студентота не верит, точнее не хочет верить
494 1571579
Бля, котаны, завтра меня будут собеседовать по скайпику на должность джуна. Никогда не собеседовался. Так волнуюсь, что коленки трясутся. Ох, чую, обосрусь я завтра, лол. Подбодрите меня.
495 1571581
>>71579
Как пройтись по графу лучше всего? А по бинарному дереву?
496 1571582
>>71579
На ангельском?
497 1571584
>>71579
Волнуешься ты потому что не веришь в то, что обосрёшься. Если бы ты действительно в это верил, то и страха бы не было.
Ничего, завтра ты обосрёшься по полной, будешь краснеть и потеть, мямлить что-то невнятное, впадать в минутные паузы после вопросов на которые ты ответить не можешь. Потом всё будет как снежный ком, волнение и стыд не дадут тебе отвечать даже на элементарные вопросы, в итоге собеседующий будет смотреть на тебя как на дерьмо, а также не скрывать презрения, ведь ты потратил его время, которое он мог потратить на достойного кандидата, а не на какого-то придурка, который захотел войтивайти потому что много платят.
498 1571585
>>71579
Поясни за ООД
499 1571586
>>71579
Анон, выложи, плиз, вопросы что тебя спросят. Оч прошу
500 1571594
Одни вкатывальшики.
501 1571595
>>71594
В чём проблема?
502 1571596
>>71594
Логично что кто уже работает по теме - здесь особо топ ответ не получишь. Да и есть другие места, где можно искать ответы на серьёзные вопросы. Здесь такое вот самое начальное только.
503 1571598
У меня пикчей нормальных нет для переката, а второй раз с Курису не хочу. В общем сами как-нибудь
504 1571600
>>71582
Не, на русском.
505 1571601
>>71586
Хорошо.
506 1571603
>>71584
Ну ты и говно.
507 1571605
>>71598
Всем похуй на твои пикчи и твои перекаты, долбоеб.
508 1571608
>>71581
Не знаю.
509 1571609
>>71605
Тогда почему тебе не похуй что я написал?
510 1571610
>>71585
Не ебу, что это за хуйня.
511 1571612
>>71608
>>71610
Ну это базовые вещи. Ты можешь сказать чем абстрактный класс отличается от интерфейса и где что лучше использовать?
512 1571617
>>71609
Потому что между похуизмом по отношению к тому, что ты написал, и похуизмом на картинки и перекаты, нет никакой связи.
513 1571620
>>71617
Есть связь, тема переката и картинок, это связующее. Ты тупой?
514 1571625
>>71612
Могу сказать, чем отличаются. Ну, это паттерны проектирования, насколько я понимаю, да? Я их слегка касался только. Сейчас почитаю.
515 1571627
>>71625
Лол, это троллинг?
516 1571628
>>71620

>есть связь я так скозал!!!



Опять выход очередной серии твоего любимого маняме задержали, дебилёныш?
517 1571631
>>71625
В общем удачи тебе
518 1571633
>>71628

>Нет связи, я так скозал!1


Я доедаю свою пиццу флорентино, пока я параллельно кодю и отвечаю вкатывальщикам, а ты и дальше сиди и перди, неосилятор, возмещающий обиду токсичностью
519 1571638
>>71612
В абстрактном классе можно реализовать методы и инициализировать поля, интерфейс это всего лишь обложка, схема.
Абстрактный класс нужно использовать для создания основы иерархии классов, т. е. если у тебя будут как минимум два класса, которые связаны между собой, то следует всё общее из этих классов вынести в абстрактный класс и наследовать его в этих производных классах.
Интерфейс нужно использовать для связывания различных иерархий классов, которые не связаны между собой общим классом, но имеют что-то общее.
520 1571639
>>71638

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


Зачем, если интерфейс это всего лишь обложка? Почему без него нельзя обойтись?
521 1571640
>>71638
Добавлю ещё что интерфейсы допускают множественное наследование, а классы, даже абстрактные - нет.
>>71639
Собственно поэтому
522 1571641
>>71638
Ну да, примерно это я и хотел сказать. Ты просто меня опередил.
Спасибо
523 1571643
>>71514
Ок, не может быть так не может.
524 1571644
>>71641
Короче, дело такое. Пидоров мы не принимаем.
525 1571648
>>71639
Потому что ты можешь наследовать сразу несколько интерфейсов, но не можешь наследовать сразу несколько классов. При этом, интерфейс обязывает тебя реализовать все свои методы, а класс не обязывает этого делать. Т. е. в случае с интерфейсом, каждый кто его наследует, должен предоставить реализацию методов интерфейса. Это удобно потому что предотвращает путаницу, которая может возникнуть из-за того, что кто-то наследовал класс, реализовал в нём какой-то конкретный метод, а остальные остались неизменными, но при этом для правильной работы эти методы необходимо реализовывать для каждого класса по своему.
Т. е. интерфейс используется еще и тогда, когда каждый метод этого интерфейса нужно в классе, который будет его наследовать, реализовать по своему.
526 1571649
>>71644
Но ведь я тян
527 1571650
>>71649
фу блядь
528 1571661
>>71649
Тогда можем вам предложить вакансию в HR отделе. Также, одному из наших топ-менеджеров требуется помощница, но там фигурируют отдельные условия, которые необходимо обговаривать в более приватной обстановке, если вы понимаете о чём я ехидно улыбается
529 1571670
>>71661

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


А виртуальными их нельзя в абстрактном классе объявить?
530 1571671
>>71603
Нет, он прав. Надо готовиться к худшему, иначе восторженный манямирок лопнет с треском.
531 1571672
>>71670
И? Это не обяжет его перезаписывать, а только предоставит такую возможность у класса-наследника.
532 1571673
>>71671
Ну я сегодня-завтра почитаю вопросы к собесу. Ну они мой говно-гитхаб смотрели, поэтому, думаю, знают, что я из себя представляю. Могу из-за волнения начать городить хуйню и даже не ответить на вопросы, на которые знаю ответы.
533 1571674
>>71672
Ага, да. Я не знал просто.
534 1571682
А вообще, если даже я облажаюсь, что скорее всего и произойдет, для меня это будет полезным опытом.
535 1571684
>>71682
держи в курсе
536 1571685
>>71684
Обязательно, братишка.
537 1571689
>>71682
Как попал на собеседование вообще?
538 1571690
>>71689
У меня есть подозрения, зашла на хх и кинула резюме.
539 1571693
Я тоже скоро джунить буду. Но не на сярпе, слава б-гу.
540 1571700
Visual Studio Community 2019, как пофиксить знаки вопроса вместо русскоязычных символов в полях баз данных, тип — nvarchar, text тоже не помогает.
541 1571701
>>71594
фо, серьезно? Хм, а как же ты заметил? Может задачи с перестановками строк тебя на это натолкнули? Хм, или какие книжонки почитать? Каждый тред это пишу, пока моча не банит и не тред посты.
>>71596

>особо топ ответ не получишь


проиграл с дауна

>есть другие места, где можно искать ответы на серьёзные вопросы


дважды
>>71649
всем похуй, хуй сосать готова за оффер? Нет? На выход
>>71693
на решетках еще берут джунов? Земля им пухом
542 1571703
>>71701
Да иди ты нахуй пидор ебаный, маму твою ебал.
543 1571707
>>71701
Адекват в треде.
544 1571887
Допустим есть MVC приложение, можно ли запихнуть в одно приложение два entity db context с разными схемами? Я знаю, что multi context возможен, и я его юзаю, но мне нужно что бы условный ControllerX1 обращался к Χ1 entity context, а ControllerX2 к Χ2, при чем у Χ1 и Χ2 одна и та же таблица имеет разную схему.
545 1571889
Потсоны, я правильно понял, в этом вашем гейдеве нужно так жить:

https://www.youtube.com/watch?v=ILfUuBLfzGI

https://www.youtube.com/watch?v=C56bbgtPr_w
546 1571890
>>71889

Это же пиздец, процедурное программирование.
547 1571892
>>71673
Скинь гит плиз. Тоже завести хочу, а надо понять хоть как выглядит это все. Фейкомыльцо xo+7$famip413ANUSc/valsnPUNCTUMto'Rtp
548 1571992
>>71892
Ты похитишь мою интеллектуальную собственность.
549 1571998
Я тут почитал интернеты, оказывается к собесу надо готовиться. А я думал можно не готовиться. А до завтра я не успею подготовиться. Кажется, меня завтра обоссут.
550 1572004
>>71998
К собесу надо готовиться всю жизнь.
551 1572015
>>72004
А жить то когда?
552 1572020
>>72015
По твоему люди, которые ходят 3 раза в неделю в зал, не живут? Живут, просто тратят 3 часа в неделю на занятие спортом. Столько же нужно тратить программисту для того чтобы всегда быть готовым к собесу.
553 1572034
Посоны, если хотите, попробуй в скайпике записать, как меня обоссут. Надо, нэ?
554 1572035
>>72034

>попробуй


могу
быстрофикс
555 1572040
>>72034
Надо
556 1572077
>>71887
Разберись сначала в том, как создать контекст не используя асп и конфигурационный файл. Потом поймешь насколько тупой вопрос задал.
557 1572107
С помощью oledbdataAdapter подключаюсь к бд.
После добавления ограничений внешнего ключа не могу добавлять новые записи в таблицу(до точно работало все), т.е. прямо в datagridview просто пропадает запись, не попадает в dataset. Как поправить?
558 1572123
>>72107
Код покеж
559 1572125
>>72123
Да я на плюсах делаю, но в том треде не любят c++/CLI. Да и код там формируется автоматически из коллекции relations у dataSet, я неправильно ключи что ли задал?
560 1572146
>>72125

>Тред Шарпа



>Помогите с кодом


>Ну так покажи код


>Он на плюсах, не покажу



Ты совсем тупой?
561 1572151
>>72146
Ну откровенно говоря, да.
Просто объясни как правильно настраивать отношения между таблицами, если не трудно. У меня их всего 3, одна с книгами, вторая с читателями, а третья их соотносит в виде учета.
Я выставил их родительскими, а третью дочерней, связал по ключам соответствующим, но не работает.
562 1572160
>>72151
Ты блядь думаешь что если тебе в плюсотреде не помогли с плюсами то помогут в шарптреде?
563 1572162
>>72035
пили, поучишься на своих ошибках, заодно анону поможешь
564 1572163
>>72160
Да тут дело не в плюсах, а в компоненте dataset библиотеки .net. Это ведь и шарповская вещь, верно?
565 1572186
Ну таблички нарисуй в паинте и покажи как ты их склеил
566 1572196
В первой айди первичный, потом имя автора, во второй тодже айди первичный, потом просто название кники, в третьей айди первичный, потом айди автора внешний указывает на первичный в таблице с авторами и айди книги тоже внешний указывает на первичный таблицы с книгами.
Безымянный.jpg52 Кб, 943x543
567 1572246
>>72196
Ну я так и делаю по идее. Я все удалил и по-новой им прописал эти свойства, но программа выкидывает исключения при запуске.
Я кстати заметил что foreignkey почему-то unique, я думал только primary должен быть уникальным?
Там просто есть коллекция relations и еще в коллекции tables можно contraints задавать, может конфликт какой-то происходит если не в том порядке настраивать свойства? Может какой-нибудь мануал/видео есть с простеньким приложением, использующим таблицы со связями?
568 1572368
Привет, ребят, пишу после переката, как можно в асп в конфигах (xml которые) сослаться через configSource на файл, который лежит в директории, которая на уровень выше, чем та, где я храню свой конфиг?
Безымянный.jpg23 Кб, 668x273
569 1572371
>>72246
Вообще так делается обычно
570 1572372
>>72246
Что пишет то в исключении?
571 1572373
>>72246
ФК ссылается на ПК, который должен быть уникальным жи.
572 1572376
>>72246
код покажи хоть на крестах и текст исключения
1420760494903.jpg43 Кб, 640x640
573 1572414
Спасибо за отзывчивость!
Я походу понял ошибку, надо заполнять сначала родительские таблицы в обработчике загрузки формы. Вроде теперь работает все. Чувствую себя как пикрелейтед. Еще раз спасибо, аноны.
Я вот думаю может в шарп перекатиться и продолжить в студии сидеть, потому что на qt что-то все закручено делать интерфейс графический. А плюсы походу из студии выживают с каждым годом, у меня вижуал студия 2008 и то там повырезаны некоторые возможности, в новой версии я слышал вроде даже winforms шаблона нет по умолчанию для плюсов.
574 1572417
>>72414

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


>вижуал студия 2008


>в шарп перекатиться


тут своих обезьян хватает, спасибо не надо
575 1572422
>>72417
Это должно быть очевидно, да. Но я сначала делал без связей и там было похуй как заполнять dataset, я не обратил поэтому внимание на обработчик, думал дело именно в отношениях/ограничениях. В книжке, по которой я пытался разобраться была вообще одна таблица, а все подводные камни вылезают в процессе как правило.
Ну а для шарпа естественно обновил бы студию, хотя для лаб в принципе и старой хватает.
15043362609970.jpg114 Кб, 960x948
576 1572423
>>72422

>Но я сначала делал без связей

577 1572475
Почему майкрософт сделали Razor UI library только для .NET Core MVC, а не для .NET Framework MVC?
image.png199 Кб, 600x577
578 1572563
Где возможно применение (в принципе) C# и какое его основное направление в сферах разработки?
579 1572580
>>72563

> Где возможно применение (в принципе) C# и какое его основное направление в сферах разработки?



>>71889
580 1572585
>>72563
в бурсах курсовые пишут и вкатыши pet project пишут. Вроде всо
581 1572723
>>72580
>>72585
И все?
Я сейчас изучаю микроконтроллеры, но параллельно игры стали интересны, в частности унити, вот и интересуюсь.
582 1572760
Аллюр, арестанты!

Тут люди интересуются за актуальность Рихтера (CLR via C#) в эпоху .NET Core. Что скажете?
583 1572762
>>72760
Всегда актуально, но не для книги с которой нужно начинать, а для закрепления и углубления.
584 1572779
>>72762
то есть фичи из книги применимы для CLRCore?
585 1572782
>>72779
Нет, блять, они всё с нуля написали.
586 1572788
>>72782
Почему ты такой агрессивный?
587 1572792
>>72788
Ты здесь недавно? Почему не на пикабу? Опять карма в минус ушла и постить не разрешают?
588 1572862
>>72792
Раз в год с 2010, постоянно с 2016, но сидел в других досках. Вроде мало где так агрессивно себя ведут, если пишешь не про политоту/биопроблемы/тупуюхуйню, а нормально задаешь вопрос.
589 1572864
>>72862
Это не нормальный, а тупой вопрос. Никто в здравом уме не будет переписывать то, что делалось несколько лет. Очевидно, что цлркоре это тотже цлр только с уклоном на мультиплатформенность.
590 1573004
>>71889

Я одного не пойму.

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

То есть по идее - всё это должно решаться evysv коньпелятором, который должен под капотом превращать AoS layout в SoA layout.

И тут я такой смотрю вот эти видосы этого сычевского и, что бы вы думали, ОНИ ЗАПИЛИЛИ СВОЙ КОНЬПЕЛЯТОР, С БЛЕКДЖЕКОМ И ШЛЮХАМИ (Burst compiler, если я правильно понел), но написать в него эту самую кеш-локальность забыли и декапсулированные структуры и процедуры по прежнему надо писать с использованием вот этих вот анальных трюков из вот этих вот видосов.

Что за хуйня, объясните.
591 1573024
>>72862
Тут же чсвшное быдло собирается, каждый считает себя самым охуенным.
592 1573037
Ребатишкисы, при шифромании через командную строку в асп шифруются все файлы с расширением config или только web.config?
593 1573077
Есть два стула вопроса:
1. Обработка статус кодов и различного рода ошибок - В каком из слоев приложения хранить? DAL/BLL/UI (asp.net core)?
2. Холиварный вопрос уровня /pr/бугурт тред. Есть HTTP (транспортный протокол). Как обрабатываются статус коды? В моем понимании - если запрос обработан (200 ок), то в зависимости от аутентификации пользователя вывалывать ту или инную стараницу. Или же - запрос обработан, аутентификация упала - 403 forbidden?
С меня как обычно мог бы и не чекать, про "нихуя" и сам знаешь
594 1573186
>>73077
На том коде, который зовет BLL.
595 1573210
>>73186
а что, насчет статус кодов?
596 1573220
>>73210
Хотя в зависимости что у тебя за приложение, можно больше детелей, что делает твой BLL, а что UI?
597 1573225
>>73220
CRM, где каждый пук чих регистрирует действия пользователя. BLL - вытягивает из DAL по UOF паттерну CRUD функции и дальше делает ряд проверок, расчетов и т.д.
UI - берет данные из BLL и передает в View через контроллер
598 1573231
>>73225
Ошибоки на BLL и все такое тамже. А тепер зачем тебе статус код?
599 1573241
>>73231
если юзер не прошел аутентификацию, должно ему высрать 403 ошибку. Возник вопрос - через 200 статус + View об ошибке, или сразу 403 статус код вывалить?
600 1573245
>>73241
UI должен обработать тогда.
601 1573251
>>73245
он то обработает, каким образом это делать? Статус код 200 или 403, если клиент не аутентифицирован? Еще помимо View выход на Web Api (все эндпоины будут писать отдельно)
602 1573255
>>73251
403 конечно.
603 1573258
>>73255
Какие еще статус коды, кроме 200, 403 и 404 посоветуешь запилить? С вебом мало знаком, не хочу говно лепить.

Энивей, спасибо.
605 1573327
>>73263
еще раз спасибо
606 1573911
>>67657
Bump();
607 1573953
>>69539
Бумп.
608 1574053
Это нормально что я не догоняю, что такое WEB API? По мне так это какая-то штука, которая имеет какие-то запросы ( гет пост, пут, делит), обращаться к ней можно из браузера или postmana. Правильно я понял? Но всё равно как-то не очень понимаю зачем это нужно.
609 1574069
>>74053
Верно думаешь.

Для API по REST
610 1574116
>>74053
Вот есть у тебя мобильная апка, допустим тотже телеграм. Нужно послать или получить сообщение. База в клауде, собственно нужен к ней доступ с моб. девайса. Доступ к базе есть с сервера, клиенту нельзя ибо не секюрно.
Сообствено сервер общается с мобилой через http(s) протокол. Также как и браузер, только браузер юзает в основном GET/POST, и получает в еблет html код и показивает юзеру. А вот в слачаее с мобилой не нужен html, а только дата, для етого и есть REST сервиси, только там есть еще методи: PUT, PATCH, DELETE, HEAD.
unnamed.jpg14 Кб, 300x300
611 1574130
>>69539
>>67657
пасаветуйте либу для трича, хачу стрэмить майнкамфкрафт шобы тупа все в паток в хай квалити
612 1574140
>>74116
Хорошо, спасибо
613 1574147
>>74130
моча, не могу удержаться запостить такую дичь, когда вижу очередной вопрос по курсовой/лабы. Как не вращение строчек, так кодеки/видеоплееры в решетки тащат, ну что за уебища :(
614 1574184
В прошлом треде уже спрашивал, но чет так толкового ответа не получил, потому спрошу еще раз.

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

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

В общем, как ПРАВИЛЬНО сделать чтобы оно работало? Или у меня вообще подход неверный и модель не должна присваиваться?

Для небольшого контекста - аппка общается с некоторым веб апи посредством рестшарпа, получает Json, который автоматом конвертится в объект, являющийся, по сути, моделью.
615 1574221
>>74147
Это тред для ньюфагов. Если ты не ньюфаг или не готов отвечать на ньюфажные вопросы, то упездывай отсюда.
616 1574236
>>74221

>тред для ньюфагов


Где это указано? Мне давали очень годные советы, как не щелчку. Почему я должен читать залупню, которая гуглится по счелчку пальца? Или в шапку нужно дописать в инструментарии гугл, а то не могут догадаться?
617 1574246
>>74184

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



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

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



Чтобы данные обновлялись, нужно чтобы типы этих данных поддерживали интерфейс INotifyPropertyChanged, т. е. ты либо реализуешь это интерфейс самостоятельно, либо используешь уже готовые классы, например, ObservableCollection, BindingList и т. п.
618 1574251
>>74236

>Где это указано?


Шапку почитай.
619 1574263
>>74251

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


Почитал. Вопросы ака "Есть input "Hui, hizda", должен быть output "adzih ,iu" или "Pizda, hui". Вопросы с встраиванием плееров, кодеков, драйверов - зашквар, ибо решетки - интерпрайз язык (чуть более, чем весь). Так что можешь сказать своему преподу, что не решил лабу, т.к. послали нахуй на борде и не осилил гугл.
620 1574265
>>74263
Тебе и задают самые острые вопросы, как видишь. Собственно, в шапке ответы на совсем ньюфажные вопросы + список литературы для вката, что как бы должно тебе намекать какая ЦА у треда.
621 1574268
>>74265
Да, ЦА - вкатывальщики, которые задают вопросы относящиеся к языку и тому, что в литературе им не совсем понятно. При чём здесь студенты с лабой1? Которые не могут встроить плеер, не нашли кодек и т. п., потому что им лень гуглить и шарп им нахуй не всрался, их в шараге заставили на нём хуйню писать.
622 1574278
>>74268
Ясно. Странное у тебя разделение вкатавальщиков.
623 1574282
>>74268
помимо ЦА сидят по фану вкатыши и помогают (иногда ебучим объезьянам, гугля за них). По остальному - true
>>74265
такие вопросы гугляться, а отвечать на это зашквар впринципе. С такими вопросами любой (адекватный) ментор пошлет нахуй гуглить. Ответить на вопрос про особенности архитектуры/технологии, выбор между А и Б, какой то свежак в технологии - для этого имо тред.
Возможно я перегибаю и мне просто нехуй делать на РАБоте, раз пишу все это, но блять, зачем приучать даунов есть с ложки? У меня вообще каждый раз горит, когда помогают решить даунские вопросы (ЗОЧЕМ???77)
624 1574285
>>74278

>Странное у тебя разделение вкатавальщиков


Блять да потому, что вкатывальщик - это тот, кому это интересно, а не тот, кто будет задавать вопрос, чтобы скопипиздить и забыть
625 1574419
какие у вас есть аргументы, чтобы в 2к20 году учить c#, а не java?
626 1574431
>>74419
В Java нет оператора goto

/Thread
627 1574436
>>74431
В java нет блазора.
/Thread
628 1574529
>>71579
Ну что, как поплавал пособеседовался?
629 1574684
Как жопой трудотнетовец зарабатывает на си шарпе?
Я вкатываюс.
630 1574722
>>74431
Прям как в том преколе: "Паскаль лучше Си тем, что на Си вы можете написать так: ... На Паскале вы этого сделать НЕ можете".
631 1574870
>>74529
или вскрылся или дали оффер. Обещал тут записать свой факап и пропал, вот же мудила
632 1575001
>>74419
Шарпик поприятнее в плане написания кода. То что на жаве занимает 10к строк, на шарпике можно в 1к уместить. Плюс теперь не так привязан к M$. Да и многие штуки что предоставляет .Net/.Net Core можно без всяких фреймворков брать и использовать, в джаве же помимо самой стандартной джавы еще и куча фреймворков, которые не особо лучше PHP и JS зоопарка. А, ну и конкуренция поменьше, при сопоставимых ЗП.
633 1575076
>>74246
Ты меня немного не понял. Сейчас объясню кодом.

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

<TextBlock Text="{Binding SomeText}" />

Есть вьюмодель с этой пропертью, ссылающейся на поле в модели. INotify... естественно реализован.

private MyModel _mymodel;

public SomeText
{
.get => _mymodel.modelText;
.set
.{
.._mymodel.modelText = value;
..OnPropertyChanged(nameof(SomeText));
.}
}


При этом если я меняю значение проперти напрямую SomeText = "123";, то все нормально обновляется, что очевидно.

Но если я присваиваю модели другой объект, где значение modelText другое _mymodel = someOtherModel;, то ничего не обновляется.

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

>>74184 дополню
633 1575076
>>74246
Ты меня немного не понял. Сейчас объясню кодом.

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

<TextBlock Text="{Binding SomeText}" />

Есть вьюмодель с этой пропертью, ссылающейся на поле в модели. INotify... естественно реализован.

private MyModel _mymodel;

public SomeText
{
.get => _mymodel.modelText;
.set
.{
.._mymodel.modelText = value;
..OnPropertyChanged(nameof(SomeText));
.}
}


При этом если я меняю значение проперти напрямую SomeText = "123";, то все нормально обновляется, что очевидно.

Но если я присваиваю модели другой объект, где значение modelText другое _mymodel = someOtherModel;, то ничего не обновляется.

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

>>74184 дополню
634 1575111
Поясните за следующую ситуацию:
Правильно ли я понимаю, что если я решу юзать SOA, то для общения между сервисами я должен запиливать еще один сервис к которому будут обращаться сервесы выполняющие работу? Скажем, вот у меня есть сервис который служит для взаимодействия с БД, есть сервис который от пользователя читает ввод, и чтобы записать в БД правильным решением будет отправить сообщение сервису что пишет в БД, либо же это неправильно с точки зрения SOA?
635 1575115
Почему это говно такое безумно сложное после пистона?
Срсли, сидишь и охуеваешь тупо от ебли с нугет-пакетами. Особенно охуенно, когда тебе нужна библиотека, она есть в коробке, но ее нужно включить в настройках нугетов, и при этом ОНА ПО-ДРУГОМУ НАЗЫВАЕТСЯ. То есть, блять, вот как я должен догадаться?

Почему в пистоне я тупо ставлю пипом через батник либу и сразу начинаю с ней работать, а тут какое-то блядство натуральное? Проект, блять, только создал, уже миллион каких-то говнофайлов создалось.
Против одного, ОДНОГО py-файла.
Вообще охуеть.
636 1575118
>>61760
Твоя таска СДОХНЕТ В МУКАХ, если токен заканселится.
637 1575119
638 1575122
>>69037

> какие обязанности у C# джуна


Ебать мозги ментору, писать тесты, фиксить баги, учиться.

> какие обязанности у C# мидла


Ебать мозги аналитикам, пму, тестировщикам, Аллаху; писать код.
639 1575123
>>69545
В шарпе тоже можно много значений возвращать. Вэлью тапл, ёбана.
640 1575238
>>75115
Так-то в петухоне тоже куча всякой хуйни создается, если ты проект в пайчарме создаешь. С другой стороны тебя никто не заставляет создавать проект в сишарпе, можешь создавать отдельные файлы и вручную компилировать.
На счет библиотек ++++. Просто пиздец какой-то, почему нельзя былт по-человечески сделать.
тоже щупаю сишарп после питухона
641 1575264
>>75076
Ну сделай _mymodel свойством, при назначении которого SomeText будет меняться на value.modelText.
Но у тебя какая-то херня получается всё равно.
642 1575269
>>64882
Добрался до этой задачи(никогда не заводите себе тянку, аноны, все время сжирают) реализовал как тут подсказано, действительно так удобнее. Но не понял один момент: как ты сделал List<ITask>? Я заменил абастрактный класс на интерфейс, но каим образом сделать чтобы List<ITask> хранил string значения?
643 1575281
>>75115
Потому что решётка всех переиграла.
644 1575283
>>75115

>безумно сложное


А я то думал, что решетки даже дети-даунов осилят но снизу постучали
645 1575320
>>75115
Спешите видеть, ебобо не может вместо пипа использовать нюгет, которые блядь вообще одинаковые нахуй.
Срсли, нахуй ты такой тупой? Учил питон, знаю шарпы, никаких сложностей нет вообще. Хер знает как ты умудрился в чистом поле найти дерево и уебаться об него головой.
646 1575376
>>75264
Твой вариант подходит если проперть SomeText одна. Но их же много, и вручную перебирать их как-то не комильфо. К тому же, если, в теории, потом еще дополнять модель другими полями, то их надо будет туда же в проперть прописывать, а это тоже какие-то там принципы ломает, в общем НЕПРАВИЛЬНО получается. А я хочу наоборот.
647 1575394
>>75376
Так у тебя изначально хуёвая архитектура получается, раз тебе нужно модель каждый раз менять. И почему у тебя привязка идёт к отдельному свойству, а не сразу к модели?
648 1575430
>>74130
Запости те, что тащат. ЧСХ, попытка подъебнуть в анскилльности довольно уныло смотрится с учетом того, что я сразу же написал, что в области разбираюсь чуть более, чем никак.
649 1575528
Где найти пример программы на сишарпе для диплома бакалавра, там основная работа с базой данной чтобы допилить можно было
650 1575549
>>75528
Погугли CRUD для ASP net/ wpf/winform в зависимости от того что нужно.
651 1575552
>>75549
Спасибо
652 1575665
Это снова я. Соскучились?
Короче, у моего TCP сервера довольно странная проблема: Принимает клиентов он быстро, памяти жрет мало, НО, когда клиент отключается, почему-то выделяется примерно 25МБ и отключаются сессии довольно медленно, т.е. если 5к клиентов создается за 1 секунду, то отключаются они где-то секунд 40, при этом вроде как все асинхронно. И это не то чтобы проблема, просто я не понимаю в чем дело.
653 1575675
>>75665
Да, 25МБ не на каждого клиента, а всего +-25МБ, но этот скачек удивляет. Я вижу в дебагере что почему-то создаются потоки, но хуй знает почему, я же просто когда вываливается эксепшн - убиваю сокет, закрываю его и удаляю из словарика активных сессий.
654 1575785
Недавно начал изучать C#, т.к отдел разработки пишет на нём, соотв. путь наименьшего сопротивления для вката. С удалённой работой как дела обстоят? Достаточно заказов на фрилансе?
655 1575974
Двач на тебя вся надежда.
Как создать переменную/массив/объект с именем которое содержится в переменной?
Например я ввожу в консоли слово "xyina" и вот мне нужно создать масcив xyina. Как это сделать?
656 1575978
>>75974
Зачем?
657 1575986
>>75978
Ну вот хотелось бы знать о такой функции, как это сделать.
По сути незачем конечно.
Но вот например для такой хуйни как создать много масивов в цикле
for (int i = 0; i < 1000; i++)
{
int[] (list+i) = new int[10000];

}
И типо дохуя массивов list1 list2 list3 list4 и тд
но хз как сделать
658 1576023
Спрошу тут, потому что кодю на шарпе.
В общем, есть ли какой-то профит в том, чтобы не самых ресурсоемких объектов создавть пул этих самых объектов заранее? В каких случаях это может быть полезно? Просто я только один сценарий придумал, это какие-то ограничения, скажем NPС в игре, нам не нужно будет тратить время на создание, мы просто достаем из пула объект, инициализируем его новыми данными, и пользуемся этими NPC, пока игрок в зоне находится, потом игрок далеко убежал, мы NPC что за зоной обработки находятся почистили и положили в пул. Но это же детский пример. Как в реальных проектах, если исключить пул потоков, используются эти самые пулы объектов? Когда их надо использовать, а когда правильнее создать новый объект?
659 1576029
>>75986
>>75974
С помощью рефлексии.
660 1576067
>>75986
Глупо, ибо не смошеь етим пользоваться.
661 1576122
>>75986
Открой для себя двумерные массивы, вкатыш
662 1576214
>>75394

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


Так потому что MVVM же. VM идет как прослойка, вот туда и вяжусь.

>Так у тебя изначально хуёвая архитектура получается


Ну вот я и спрашиваю как сделать ее нормальной.
663 1576491
Хай гёрлзс энд бойс. Кто мне может пояснить по правильной вложенности иерархических объектов? Есть иерархия классов, условно - нижний уровень - это реализации, листья выше - группировка реализаций. Каждую реализацию обязываю реализовывать обобщенные интерфейсы (К примеру, если это CRUD реализация, то интерфейс ICRUD<T>, где T - Entity). Теперь у меня затык - как это все собрать в одну структуру, чтобы обратившись к одному HEAD (условно так назовем) интерфейсу можно было пройти по иерархии и выбрать интерфейс, который мне нужен?
Я могу сделать через жесткую привязку - в конструктор запихивать классы, а не интерфейсы, но это не подходит, т.к. в любой момент реализация может поменяться.
Выпилить этот обобщенный интерфейс? Так добавится с 30+ дополнительных интерфейсов с одинаковой сигнатурой.
Как быть то блять? Нужен код - могу залить github.
664 1576684
>>76491

> могу залить github.


Запили.
665 1576774
Предположим у меня в голове возникла такая задача: Я хочу файлики в папке "Загрузки" сортировать по разным папочкам, в зависимости от расширения. Я написал на старом дотнете программулину, которая с этим справлялась отлично. Все устраивало, кроме того, что необходимо было ее вручную включать периодически. Я почитал и узнал что существует такая штука как сервисы, сделал свой сервис, оторый раз в час смотрел нет ли новых файлов и если они есть - сортировал в фоне. Все отлично - замечательно.
Теперь я решаю сделать аналогичную фиговину под линукс, net core это, вроде как, позволяет по крайней мере если верить статьям. Ну так вот, все классы что исполняют эти задачи у меня есть, но в этот раз я хочу не полностью запуск и прочее мутить, а воспользоваться IHostBuilder'ом. Ну так вот, я выделил интерфейсы, внедрил скопы, как теперь мне запускать это? Не делать же имплементацию IHostedService? Просто если пользоваться IHostedService, получается какая-то залупа, типа я уже внедрил зависимости в билдер, потом передаю их в свою имплементацию и она просто используется для того чтобы стартануть другие классы, которые работой занимались, мне кажется это какое-то уродство и наверняка как-то иначе нужно делать. Только вот как?
666 1576851
>>76491

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


Что значит "пройти по иерархии"? Ты можешь просто проверить с помощью рефлексии какие интерфейсы имплементируются классом же.
667 1576893
Здорова, пидоры.
Учу я сишарп ентот ваш, со скрипом, но продвигаюсь. Но есть проблема - мне не хватает практики.
То, что читаю в литературе не закрепляется в голове, потому что примеров очень мало, в основном лишь сухая выжимка и я не понимаю как и зачем мне использовать те или иные фичи языка, кроме базовых. В видосах вообще пиздос какой-то, либо хуйня для совсем даунов, где по часу размусоливают чем int от float отличается, либо какие-то индусы задры в 30 минутном туториале высирают тысячи строк кода, вообще никак не объясняя почему они делают ту или иную хуйню, а тебе лишь приходится копипастить и реверсинжинирингом заниматься пытаясь понять что и почему.
tldr есть ли что-то типа школьных задачников по математике/физике, где на каждую тему у тебя есть задачи которые надо решить? Если есть, то ткните ебалом или хотя бы дайте направление для гугла

Ещё есть мысль брать проекты на гитхабе и пробовать в них ковыряться, только хз как не скатиться в тупой копипастинг. Тем более, что я не смогу отличить код здорового человека от кода макаки
668 1576940
>>76893
зачем решил изучать шарп? должны быть какие-то цели наверное кроме абстрактного 300кк/наносек?
669 1576948
>>76893
Идешь на CodeWars и решаешь задачки.
А вообще, проще придумать свой проект, описать на листочке что ты от него хочешь, скажем:
Hex редактор с подсветкой и выгрузкой по ftp, возможностью загружать файлы размером до 60ГБ, довольно интересная задача, особенно в последнем пункте, вот садишься и делаешь, ловишь грабли, гуглишь и продолжаешь делать, пока все пункты не будут выполнены.
345523.jpg52 Кб, 829x417
670 1577042
>>76851

>Что значит "пройти по иерархии"?


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

public interface ISupplyCatalogue
{
ReceiptCatalogue ReceiptCatalogue { get; }
SupplierCatalogue SupplierCatalogue { get; }
WareHouseCatalogue WareHouseCatalugue { get; }
}
671 1577069
Посоны, я рисую текст на картинке, но дело в том, что шрифты могут не содержать некоторые буквы и тогда он не отрисовывает букву, как можно пофиксить?
672 1577092
>>76940
Мне интересно погромирование, в идеале хотел бы иметь работу в этой сфере. Если удастся поучаствовать в крупном проекте, вообще круто будет.
Именно деньги меня интересуют в последнюю очередь, лишь бы на пожрат хватало. Хочу заниматься тем, к чему душа лежит. Для меня программирование - как для ребенка конструктор Лего. Создавать что-то сложное, используя простые кирпичики это круто. Ещё из плюсов, кстати, то что за несколько месяцев я подтянул английский лучше чем за 11 лет в школе и 4 годах в вузе, лол
О конкретике же говорить пока сложно, я только в начале пути. Главное же, что я достаточно аутист, чтобы не забросить это всё через неделю или после первой неудачи.

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

>>76948
Спасибо за совет, попробую. Добра и тонны нефти тебе
673 1577227
Asp.net core и net core это не одно и тоже?
Давече узнал что в ноябре будет объеденение net framework и net core в net 5.
Вот вопрос не пойдут ли мои старания по изучению языка по пизде через год? Чем вообще грозить это объединение?
674 1577230
>>74184
Бамп вопросу.
675 1577256
>>77227

>Чем вообще грозить это объединение?


.NET 5 - это четвертая версия .NET Core. В Core нет ASP.NET Web Forms, WCF и это плохо: много легаси говна написано на этих двух технологиях, особенно на последней, и переписывать обычно заказчик не горит желанием, потому будет лок на каком-нибудь Framework 4.5, повезет если 4.8. https://devblogs.microsoft.com/dotnet/introducing-net-5/
676 1577257
>>77230
VM может содержать другую VM, любое количество, любая вложенность. Для всего говна работы с моделью делаешь отдельную VM, а на основной VM нотифаешь как проперти только обновление ссылки на дополнительную VM.
677 1577274
Такой вопрос, как происходит запуск веб-приложения, например, ASP.NET, на сервере? Вот на локальной машине тупо вызывается метод Main при запуске, а как и когда этот метод вызывается, если приложение куда-то задеплоить, на какой-нибудь Azure там и т д?
img.jpg19 Кб, 236x330
678 1577278
>>77042
ISupplyCatalogue - это фасад. Без рефлексии, на основе иерархии интерфейсов, при условии, что одна сущность может реализовать несколько интерфейсов, может разруливаться композицией + паттерн матчингом: https://pastebin.com/40cbzk3r
679 1577286
>>77274
Точно так же.
Кор - запускает Main.
Фреймворк - через рефлексию ищет начальную точку: наследник HttpApplication, наличие атрибута StartUp, еще какая хуйня.
680 1577292
>>77286
так как происходит запуск приложения на удаленном сервере, где-то прописывается команда dotnet run или как? или при деплое оно автоматически эту команду выполняет?
681 1577294
>>77292
В зависимости от типа той хуйни, куда деплоишь: может само прописать run, на виртуалке - самому надо писать или хостить на той же IIS.
682 1577300
>>77257
А если вместо этого вызывать OnPropertyChanged(null);? Просто VM в VM выглядит как доп. ебля.
683 1577303
>>77278
спасибо
684 1577318
>>77300
Дополнительная ебля - это делать как делаешь ты: создать окно ЯМогуВсёИСратьСтояWindow, вместо того, чтобы окно разбить на кастомные контролы или даже окна, каждый из которых будет со своим/своими VM.
685 1577344
>>77318
Ну вообще нет. У меня несколько страниц, где каждая отвечает за что-то свое. Просто мне непонятен вот именно этот момент, когда апи мне возвращает объект, который у меня является моделью для страницы и если я напрямую его присваиваю, то ничего не обновляется.
686 1577353
>>77344

>Ну вообще нет.


Да, иначе бы не было проблемы с дублированием кода как выше.

>мне непонятен вот именно этот момент


Непонятен, потому что архитектура приложения у тебя говно: нарушение единственной ответственности + вьюха какого-то хера знает про модель и пытается ее отобразить. Потому декомпозиция - единственное нормальное решение. Нет правильного решения, есть решение, которое подходит в данной ситуации.
687 1577358
>>77353

>вьюха какого-то хера знает про модель


Да лол, как раз-таки она не знает про модель. Вьюха у меня вяжется на свойство в вм, которое зависит от модели. Конечно, может это и называется "видит модель", тогда я неправ, да.
688 1577376
>>77358

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


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


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

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

Так вот, в нормальной архитектуре у тебя компонент с элементами - это список из VM. А когда пользователь выбирает элемент из списка, то выбранный VM присваивается к компоненту для отображения/редактирования, или, еще лучше, выполняется бизнес логика, которая по id элемента ищет элемент в базе данных и создает совсем другой тип VM на базе полученной модели, который присваивается компоненту или просто маппит свойства (если ты не в состоянии занотифаить ссылку на VM).
689 1577388
>>77376
Ага, ну вроде я сообразил, спасибо, хорошо расписал.

У меня, тем временем, еще вопрос появился. Как правильно зашерить дату между страницами, например? Сейчас я просто запилил объект в ресурсах и туда все пихаю, но не уверен что это, опять же, правильно.
690 1577426
>>77388
Данные шарятся одним источником: база данных, АПИ, общая память, еще какая херня.

Например, в MVVM Light есть Locator (Service Locator), который умеет создавать все типы родительских VM при обращении к его свойствам, используя IoC. Locator существует в одном экземпляре, создается в App.xaml, доступен всем страницам. Чтобы на странице использовать какую-то VM, она достается как свойство из Locator, а данные в VM передаются в конструкторе. Данные для конструктора предоставляются самим IoC (с синглтон лайфтаймом - т.е. жив на протяжении жизни всего приложения) или тупо как приватное поле на какой-то класс в Locator. https://www.c-sharpcorner.com/article/getting-started-with-mvvm-light-with-wpf/

Другой способ: передавать данные из родительского окна в дочерние явно, родительское окно создает VM для дочерних и передает необходимые данные в конструктор VM.
691 1577433
>>77426
Во, спасибо тебе огромное, анон, пойду переписывать.
692 1577631
>>76893
uleran.me
693 1577635
>>77631
*ulearn.me
694 1577847
Блядкое говно, книжен нигде нахуй на русском нет для изучения.
Как вы учите C#? По видео? По книгам? Каким?
image.png3 Кб, 309x105
695 1577859
Как ОНО понимает, что нужно вернуть нужную вьюшку?
696 1577870
>>77859
Хардкод + рефлексия: метод View из базового класса, используя дефолтную реализацию WebFormViewEngine, ищет в определенных местах вьюху по имени метода, который вызывает метод View. Движок можно свой написать и искать как и где хочется или передать строку в View, явно указав место.
697 1577881
>>77870
Переопределить можно?
698 1577889
>>77847
Чел, в погромировании без английского вообще нехуй ловить. Он тебе нужен будет постоянно. Я уже не помню, когда в последний раз в коде встречал кириллицу
699 1577890
>>77889
Ну и где например он будет нужен?
700 1577895
>>77847
Одна книга от Шилдта в далеком прошлом и всё, всяких Рихтеров, Петцольдов и тому подобных Скоттов или поверхностно просмотрел пару глав и забыл или скачал книгу и забыл о её существовании.

Обычный день сеньёра-помидора:
1. Прочитать таску.
2. Нехуя не понять.
3. Заебать вопросами составителя таски.
4. Оценить, если не оценено, или переоценить.
5. Загуглить "как сделать <хуйня нейм>", обычно кидает на Stack Overflow, пишу-то на инглише.
6. Отчитать 8 часов и пойти домой.
7. Вернуться к пункту 1, пока таска не будет выполнена или, если таска выполнена, заниматься хуйней, чтобы попасть в заранее накрученный эстимейт и потом хвастаться как заебись точно оцениваешь + работа-то почасовая: если работать слишком быстро, то будут вопросы "хули так медленно начал работать" или наваливать еще больше тасков до бесконечности, платя тебе столько же.

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

Зарплата зависит от прокаченности уровня пиздежа и количеству лычек.
702 1577902
>>77890
Ты неправильно ставишь вопрос
Где он не нужен?
Документация, гитхаб, стаковерфлоу, индусы на Ютубе, поездки на конференции и семинары, банальное общение с работодателем и т.д. да бля, даже банальное комментирование строк.
703 1577905
>>77902
Я не собираюсь где либо РАБотать с ним и тем более на какие-то семинары ездить, че за пиздец, лол?
704 1577907
>>77895
Кстати, ещё один важный момент: обычно таски составляются такими же распиздями на отъебись, т.е. для выяснения деталей таска составитель идёт его выяснять у кого-то ещё, который тоже важен архиважными делами (пинанием хуёв), который так же составлял на отъебись, не зная всех деталей (тоже идёт у кого-то выяснять), и так через несколько кругов "эффективного менеджмента".

Ну, а ты в это время с умным лицом "анализируешь" таску и пинаешь хуи. Забавно, но обычно так должно пройти несколько циклов, когда ты наконец сможешь приступить к выполнению таски.
705 1577908
>>77898
спасибо, хз как проморгал
706 1577913
>>77905
Так а нахуя тогда тебе вообще шарп учить? Для того чтобы поиграться тебе и Бейсика хватит
707 1577916
>>77907
Вот поэтому работа в рашкоконторах это ёбаный цирк.
708 1577919
>>77916
Забавно, но я описал 3 ыврейские и 1 литовскую продуктовые компании, в которых я работал по удалёнке.
709 1578303
Такое дело:
Читаю строки из файла .ReadLine()
Файл заканчивается, как мне снова начать их читать с начала и не закрывая поток? Просто переместить так сказать каретку в 0 позицию.
710 1578368
Народ, как, если у меня класс наследуется от одного абстрактного и еще реализует методы интерфейса, di сделать? как не пытаюсь, все время проблема с IMapper и IRepository
711 1578405
>>78368
разобрался, в компании по конски все написали, пришлось перелопатить
712 1578512
>>77847
Троелсена последнее издание есть на русском
713 1578515
Сделал приложение первое на asp core, написал самопальный контроллер, пытаюсь к нему подрубиться - нихуя, почему?
714 1578523
>>78515
найс, теперь не могу методы вызывать, возвращает 404
715 1578530
>>78523
Ты код показал бы, вкатывальщик мамкин
716 1578539
>>78530
да там и код показывать не надо, все дело в атрибуте Route было
717 1578546
>>77919
в бугурт треде зеленый сидит, который пишет, что могут выгонять на мороз гребцов толпами, типо у работодателя есть выбор, кого нанимать (сам проиграл в голос него). И дауненки хавают. Там такое рассписал, что охуеваешь от толстоты - таски по четко регламентному времени даюто, если не успеешь - минус бонус, не успеешь второй раз - нахуй с галеры
718 1578645
>>78512
Ссылку.
719 1578734
>>77890
У тебя и с логикой проблемы. Или это >>77847 не твой пост?
720 1578752
>>77890
ты спрашиваешь, где нужен ангельский? Ебать ты долбоеб, земля тебе пухом
721 1578756
>>78645
google.com
722 1578833
Уже даже в ссаной жаве рекорды завозят, а Шарп все ещё заставляет писать тонны бойлерплейта
Кажется это впервые когда в жаву завозят нужную вещь раньше чем в Шарп, бтв
image.png308 Кб, 648x605
723 1578859
>>78756
Проблема в том, что я не могу найти.
724 1578860
>>78734
Помимо книг, ибо учить язык чтобы читать книги - хуйня хуйнёй.
725 1578861
>>78752
Конкретно в коде где он нужен, мне - сычу, который будет сидеть дома?
726 1578864
>>78859

>Не может найти в Гугле книгу


>Агрессивно высирается на мимоанонов


Ребенок психованный, борда 18+, съеби
727 1578865
>>78861
Это троллинг тупостью? Тебе уже сказали где нужен будет, не согласен твои проблемы
728 1578870
>>78865
Где будет нужен вам, а не мне.
Большинство из перечисленных я смогу заебашить в гугл переводчик, либо найти аналоги на русском.
Вопросы?
729 1578883
>>78860
Тогда жри устаревшее говно и не вякай.
730 1578911
Есть асп нет вебапи приложение и фронт на реакте, поясните что курить за деплой? Чтоб соединить это все и запустить в интернете. Нихуя про это не знаю.
731 1578956
Короче, ребятки, я не совсем понимаю сценарий работы с этими вашими внедрениями зависимостей через IHostBuilder.

Вот написал пример.
https://ideone.com/uJR03Z

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

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


заебешься транслейтить, тем более жидко обосрешься на особенностях перевода
Без ангельского в пограммировании делать нехуй (от слова совсем). Не хочешь или не можешь - тред 1С рядом.
733 1578977
>>78645
на рутрекере лежит, сам буквально пару дней назад скачал
734 1578985
>>78976
Да мне всё это говно не надо будет, поверь. Если вдруг понадобится, и если вдруг буду РАБотать, то подтяну английский - проблем не будет.

Бляять, я хуею с токсичности этого треда, все так налетели на моё незнание английского, я хуею.
735 1578991
>>78985
так тебе правду говорят, дебик. Ты когда окунешься в гугление вопросов и сравнишь ответы на ru.stackoverflow и на английском ресурсе - разница огромная. Книги - тоже самое, опенсоурс проекты. Не занимайся самообманом и если пишешь по фанчику для себя (как я когда то), то возможно ангельский и не нужен (больше времени будешь терять на поиск проблем). Все, что дальше - без английского нахуй пошлют.
736 1579005
>>78859
Тогда у тебя с башкой проблемы, айти не твоё
737 1579013
>>77847
МЕТАНИТ!
738 1579017
>>78991
Ой блядь, не приувеличивай. Чтобы копипастить с стэковерфлоу достаточно уровня английского: Ландан из зэ кэпитал оф грэйт британ!
739 1579027
>>79017

>я хуею с токсичности этого треда


> Чтобы копипастить с стэковерфлоу достаточно уровня английского: Ландан из зэ кэпитал оф грэйт британ!


Пошел нахуй отседова, петушок
740 1579037
>>79027
Ай, няша, у меня C1 и вообще мимо, я просто поясняю, что ваши выебоны просто смешны. Все что нужно среднему кодеру это уметь когда ошибка выскочила выделить ее и вставить в гугл, а потом копипастнуть со стэковерфлоу, если не заработало то копипастнуть вторую ссылку в гугле и так пока не заработает. А основы можно и на русском почитать, разницы особой для ньюфага не будет.
741 1579040
>>79037
ты тупой или зеленый, третьему не дано. Так или иначе, тебе путь один - нахуй
742 1579041
>>78833

>в ссаной жаве рекорды завозят, а Шарп все ещё заставляет писать тонны бойлерплейта


1. Рекорды в шарп хотели завезти еще хуй знает когда, что-то не поделили в синтаксисе - детали не помню.
2. В жабе всё еще нет пропертей.
3. В тырпрайзе ты не увидишь рекордов еще хуеву тучу лет.
4. Жди лагерь болезненных (как вот этот https://habr.com/ru/post/484700/ индивид), которые не понимают разницу между рекордами и алгебраическими типами. Да и вообще не понимают нахуй эти рекорды нужны.
743 1579048
>>78911
Покупаешь 1 инстанс на Azure или AWS. Потом деплоишь туда своё говно вручную - и реакт, и асп. Ждешь какое-то время. На основе полученных результатов задаешь конкретный вопрос.
744 1579058
>>79037

>копипастнуть со стэковерфлоу


Мне хватить С1 копипастнуть https://stackoverflow.com/a/1732454 решение?

Вот, я вставил в гугл транслейт и нехуя не понял:

Вы не можете разобрать [X] HTML с регулярным выражением. Потому что HTML не может быть проанализирован с помощью регулярных выражений. Regex - это не инструмент, который можно использовать для правильного разбора HTML. Как я уже много раз отвечал на вопросы HTML-и-регулярных выражений здесь, использование регулярных выражений не позволит вам использовать HTML. Регулярные выражения - это инструмент, который недостаточно сложен, чтобы понимать конструкции, используемые HTML. HTML не является регулярным языком и, следовательно, не может быть проанализирован с помощью регулярных выражений. Запросы Regex не оборудованы для разбиения HTML на его значимые части. так много раз, но это не до меня. Даже расширенные нерегулярные регулярные выражения, используемые Perl, не справляются с задачей анализа HTML. Ты никогда не заставишь меня взломать. HTML - это язык достаточной сложности, который не может быть проанализирован регулярными выражениями. Даже Джон Скит не может анализировать HTML с помощью регулярных выражений. Каждый раз, когда вы пытаетесь разобрать HTML с помощью регулярных выражений, нечестивый ребенок плачет кровью девственниц, а русские хакеры набивают ваше веб-приложение. Разбор HTML с помощью регулярных выражений вызывает испорченные души в мир живых. HTML и регулярные выражения идут вместе, как любовь, брак и ритуальное детоубийство. <Центр> не может удержать это слишком поздно. Сила регулярных выражений и HTML в одном и том же концептуальном пространстве разрушит ваш разум, словно водянистая замазка. Если вы анализируете HTML с помощью регулярных выражений, вы уступаете им и их богохульным путям, которые обрекают нас всех на нечеловеческий труд для Того, чье Имя не может быть выражено на Основном Многоязычном Плане, он придет. HTML-plus-regexp будет разжижать нервы чувствующего, пока вы наблюдаете, как ваша психика увядает от натиска ужаса. HTML-парсеры на основе регулярных выражений - это рак, убивающий StackOverflow. Уже слишком поздно, слишком поздно. Мы не можем спасти переход ребенка, который гарантирует, что регулярное выражение поглотит всю живую ткань (за исключением HTML, которого нет, как предсказывалось ранее), дорогой лорд Помогите нам, как кто-нибудь может выжить в этом бедствии, используя регулярное выражение для анализа HTML, обрекало человечество на вечность ужасных пыток и дыр в безопасности, используя регулярное выражение в качестве инструмента для обработки HTML, устанавливает разрыв между этим миром и ужасной сферой опасных сущностей (таких как объекты SGML). (но еще более испорченный), если взглянуть на мир регулярных парсеров для HTML, он действительно перенесет сознание программиста в мир непрекращающихся криков, он приходит, ядовитая слизистая регулярная выраженная инфекция уничтожит ваш HT ML синтаксический анализатор, приложение и существование на все времена, такие как Visual Basic, только хуже, когда он приходит, он приходит, не думайте, что он - единственное, радикальное излучение, разрушающее все силы, HTML-тэги, которые вы услышите, песня регулярного анализа разбора отклика поглотит голоса мрачного человека из sp здесь, я могу видеть, что вы можете видеть, как это красиво. Он окончательно понюхает ложь человека Все, что я потерял, все, что я потерял пони, он приходит, он приходит, он приходит, или пронизывает все МОЕ ЛИЦО, МОЕ ЛИЦО, боже, нет, НЕТ, НЕТ, О, НЕТ, остановите * gles are n от rèal ZALGΌ IS҉ TOƝȳ THË PO NY HȨ COMȆS

>среднему кодеру


Хвала богам я не средний и не кодер.
744 1579058
>>79037

>копипастнуть со стэковерфлоу


Мне хватить С1 копипастнуть https://stackoverflow.com/a/1732454 решение?

Вот, я вставил в гугл транслейт и нехуя не понял:

Вы не можете разобрать [X] HTML с регулярным выражением. Потому что HTML не может быть проанализирован с помощью регулярных выражений. Regex - это не инструмент, который можно использовать для правильного разбора HTML. Как я уже много раз отвечал на вопросы HTML-и-регулярных выражений здесь, использование регулярных выражений не позволит вам использовать HTML. Регулярные выражения - это инструмент, который недостаточно сложен, чтобы понимать конструкции, используемые HTML. HTML не является регулярным языком и, следовательно, не может быть проанализирован с помощью регулярных выражений. Запросы Regex не оборудованы для разбиения HTML на его значимые части. так много раз, но это не до меня. Даже расширенные нерегулярные регулярные выражения, используемые Perl, не справляются с задачей анализа HTML. Ты никогда не заставишь меня взломать. HTML - это язык достаточной сложности, который не может быть проанализирован регулярными выражениями. Даже Джон Скит не может анализировать HTML с помощью регулярных выражений. Каждый раз, когда вы пытаетесь разобрать HTML с помощью регулярных выражений, нечестивый ребенок плачет кровью девственниц, а русские хакеры набивают ваше веб-приложение. Разбор HTML с помощью регулярных выражений вызывает испорченные души в мир живых. HTML и регулярные выражения идут вместе, как любовь, брак и ритуальное детоубийство. <Центр> не может удержать это слишком поздно. Сила регулярных выражений и HTML в одном и том же концептуальном пространстве разрушит ваш разум, словно водянистая замазка. Если вы анализируете HTML с помощью регулярных выражений, вы уступаете им и их богохульным путям, которые обрекают нас всех на нечеловеческий труд для Того, чье Имя не может быть выражено на Основном Многоязычном Плане, он придет. HTML-plus-regexp будет разжижать нервы чувствующего, пока вы наблюдаете, как ваша психика увядает от натиска ужаса. HTML-парсеры на основе регулярных выражений - это рак, убивающий StackOverflow. Уже слишком поздно, слишком поздно. Мы не можем спасти переход ребенка, который гарантирует, что регулярное выражение поглотит всю живую ткань (за исключением HTML, которого нет, как предсказывалось ранее), дорогой лорд Помогите нам, как кто-нибудь может выжить в этом бедствии, используя регулярное выражение для анализа HTML, обрекало человечество на вечность ужасных пыток и дыр в безопасности, используя регулярное выражение в качестве инструмента для обработки HTML, устанавливает разрыв между этим миром и ужасной сферой опасных сущностей (таких как объекты SGML). (но еще более испорченный), если взглянуть на мир регулярных парсеров для HTML, он действительно перенесет сознание программиста в мир непрекращающихся криков, он приходит, ядовитая слизистая регулярная выраженная инфекция уничтожит ваш HT ML синтаксический анализатор, приложение и существование на все времена, такие как Visual Basic, только хуже, когда он приходит, он приходит, не думайте, что он - единственное, радикальное излучение, разрушающее все силы, HTML-тэги, которые вы услышите, песня регулярного анализа разбора отклика поглотит голоса мрачного человека из sp здесь, я могу видеть, что вы можете видеть, как это красиво. Он окончательно понюхает ложь человека Все, что я потерял, все, что я потерял пони, он приходит, он приходит, он приходит, или пронизывает все МОЕ ЛИЦО, МОЕ ЛИЦО, боже, нет, НЕТ, НЕТ, О, НЕТ, остановите * gles are n от rèal ZALGΌ IS҉ TOƝȳ THË PO NY HȨ COMȆS

>среднему кодеру


Хвала богам я не средний и не кодер.
745 1579065
>>78956

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


gRPC, орлины, акка...

>правильно понимаю


нет

>именно такой сценарий и является наиболее правильным


Написать ты можешь как хочешь, но по ссылке какое-то говно.

>я должен буду делать вот такую вот очередь


Нет, используешь готовое решение: rabbitmq, zeromq и так далее mq.
746 1579067
>>78956

>выполняют в фоне разную работу


Я тут подумал ровно нехуя: где здесь работа в фоне? Для такого рода говно можно использовать serverless решения: AWS лямбды/степ функции, Azure функции.
747 1579070
>>79058
слезок решил автор напустить, лол
по сабжу - не доказывай ничего этому С1 дауненку
748 1579078
>>79041
А что, рекорды это не тип-произведение по твоему?
749 1579079
>>79078

>по твоему?


По моему нет смысла вводить рекорды без всего остального. Будешь сидеть и довольствоваться своими однострочными поко. Или как они в жабе называются? Пожо? Ахаха.
750 1579080
>>79078
И да, забыл сказать, тип-произведение - кортеж, а не рекорд.
751 1579081
>>79080
Ой, прости, в жабе же нет велью тайпов.
752 1579082
>>79065
Я, блядь, студент, сука. Я пишу курсач, который проебал чутка. На кой ляг мне тащить это говно в курсач, где надо сделать TCP-сервер в виде демона на сокетах, который просто принимает сообщения длиной до 1КБ и передает их если нужно другому клиенту(клиентам), а если пришел слишком длинный пакет - шлет отправителя нахуй. Пиздос. Так и представляю, как твой сына спросит как решить квадратное уравнение, а ты предложишь ему на вольфрамальфе вбить либо тащить суперкомпьютер, чтобы он за него все решил. Охуеть вы там в своих тырпрайзах поехали уже с готовыми решениями.
753 1579084
>>79082

>Я пишу курсач


Так это даже хорошо. Копипастишь хелоуворлд с документации той же акка и в половину курсоча гугл транслейтом вставляешь документацию с официального сайта. Вон, можешь у знатока С1 спросить как гугл транслейтом пользоваться. Потом этот проект мутируешь в бакалаврскую работу с минимум изменений, затем в магистерскую.
754 1579090
>>79082

>надо сделать TCP-сервер в виде демона на сокетах


А с другой стороны, ты такое не напишешь, потому что знать надо дохуя, реально дохуя. Это только кажется простым. Например можешь почитать про NAT.
755 1579091
>>79082
Ты, блядь, уебан, сука, тупорылый, а не студент
Ты приходишь в тред за советом, тебе дают, ты начинаешь срать на ответивших что тебе не подходит т.к. задача не в этом и ваще это курсач. Так блядь откуда по твоему анон должен понять что тебе свой велосипед нужен по заданию, имбецил тупой? Опять в твоём ПТУ обоссали, пришел злость вымещать? Пиздуй нахуй с треда, агрочмоня
756 1579098
>>79084
Я хочу разобраться же. Блин, я же и проебался только потому что решил модно-молодежно следовать всем этим солидам-хуелидам, SOA и прочему говну, из-за этого сейчас у меня прием этих пакетов до 1кб выглядит как:
Слушатель(Хост)
-Сессии
--Стетмашина(проверяет что пришли именно мои байтики а не какие-то левые)
---Хендлеры(парсят если стейтмашина сдетектила пакет, сделал еще свой мидлварь)
----Програмный уровень(сюда уже доходит сообщение в понятном виде, т.е. что за пакет, какое содержимое, вообще и т.д.)
БД

Блядь, 10к строк кода, чтобы принять 1КБ, а могу бы просто не ебаться и в мейне ебануть просто слушателя и пустить по кругу стрим с байтами. Вышло бы строк на 500 от силы.
Вот я и решил уже раз начал, то сделаю чтобы с внедрением зависимостей и модным хостбилдером.
757 1579100
>>79091
а зачем ты ему помогаешь? я давно уже скрыл дауненка
>>78833
проигрываю со всяких маня ака C# 8.0 туплы, рекорды etc. Да вас на первой же работе посадят за легаси и вы забудите про все фичи и сахарок в первый день
758 1579101
>>79098
Код неправильный показал:
- лонг раринг таски в асп - плохая затея
- где работа с сокетами? а там самое весёлое: ебля с портами, со стримами (это когда кусок сообщения обрезается, или слипаются сообщения, или всё вместе), с протоколом парсинга сообщений
- ConcurrentQueue - плохой и медленный класс
- ConcurrentQueue<(double, double)> - привет боксинг/анбоксинг и куча мусора в GC
- нет поддержки горизонтального масштабирования
- код обосрётся, если добавить базу данных
И так далее...
759 1579104
>>79098

>следовать всем этим солидам-хуелидам, SOA и прочему говну


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

> где работа с сокетами?


Работа с сокетами на уровне хоста - там серверный сокет; И на уровне сессии. Там клиентский.
Я решил что нафиг эти стиримы и использую Memory и передаю куски памяти хендлеру, не заметил проблем с таким вот решением.

> ConcurrentQueue - плохой и медленный класс


Понятно. Буду еще пилить свой потокобезопасный сортированный список.

> лонг раринг таски в асп - плохая затея


Почему? Хотя наверное понимаю почему. Как я понял там куча стейтмашин и всех этих эвейтеров создается. Поэтому? И если плохая, то получается лучше с потоками делать? Что тогда лучше - каждой сессии по потоку или пул потоков?
761 1579113
>>79111

>Работа с сокетами на уровне хоста


Ахахаха, так используй тогда нормальный WebAPI или HTTP, это тоже обертка над TCP. Зачем мозги ебать? Там тебе и лонг раннинг таски не нужны, и всякие Concurrent коллекции.

>не заметил проблем с таким вот решением


Билли, где сокеты?

>TCP-сервер в виде демона на сокетах


>на сокетах



>Буду еще пилить свой потокобезопасный сортированный список.


Зачем? Их в библиотеке дофига на все случаи жизни.

>И если плохая, то получается лучше с потоками делать?


Обычное консольное приложение или библиотека, а не ASP.
762 1579120
>>1577689 (OP)
>>1578799 (OP)
Это же гениально, когда C# треда нет в ленте и каждый создает свою тему.
763 1579126
>>79113
Мне кажется у нас расхождение в терминах.
Я под хостом в данном случае понимаю свою личную сущность, что запускается, биндится к порту который передан с конфигм(называю так, потому что в книгах что читал так называли и в примерах кода видел, конечно чаще видел Server, но мне кажется, что сервером лучше все в целом называть а не отдельный класс) и начинает ожидать входящие соединения, попутно ведя статистику полученного-отправленного, и имея торчащие наружу куски для управления подключенными сесиями, типа убить сессию по ID, почистить сессии которые долго ничего не присылали и которым ничего не отправляли, посмотреть список сессий и т.д. Тут как раз и есть серверный сокет, в конструкторе конфигом передаем порт на который биндиться, если порт занят - кидаем эксепшн, если не занят - биндимся и начинаем прием входящих соединений, рожаем клиентов и пихаем их в сессии.
Под сессией - класс который занимается приемом-отправкой клиентских сообщенией. У каждой сессии - клиентский сокет.
Вот и сокеты.

Никаких ASP я и не использовал. Я вроде как и не писал что использовал.
764 1579140
>>79126

>Никаких ASP я и не использовал


https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services?view=aspnetcore-3.1&tabs=visual-studio

>Я под хостом в данном случае понимаю


>TCP-сервер в виде демона на сокетах


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

Задание покрывает самый обычный ASP.NET. Ведь, о боже, HTTP/2 - это тоже сокеты. Подключения, сессии и так далее уже реализовано из коробки.

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

Какой смысл делать так, как делаешь ты? Никакого: как все это работает на низком уровне ты так и не поймешь, как это пишут нормальные люди - тоже не поймешь, так не пишут - это велосипед. Тебе банально знаний и времени не хватит реализовать это правильно (про NAT уже почитал? а ведь это только айсберг). Потому делай так, как считаешь нужным, и вешай лапшу преподу при сдаче курсового.
765 1579142
Виват вкатившимся и работающим. Нужен ваш совет (ведь я знаю, что я по адресу). Пришло время осваивать JS (oh no), а учить чистый js как по мне как то зашкварненько после шарпов. Я поскролил учебник до середины и понял, что все интуитивно понятно (даже такие вещи, которые по мнение JS макак - что то на уровне Высоцкого или даже выше к примеру замыкания).
Но не об этом вопрос. Какую библиотеку лучше всего поюзать? В вакансиях #-web в required пишут VUE/React/Angular/AngularJs. Какой из этих 4 выбрать? И нужен ли jquery в 2к20? Все, что я знаю по этим 4 либам:
1. Vue - много китайской документации, не очень популярна на non-asia;
2. React - пожалуй самая популярная (по моему мнению, влень гуглить топы) либа, где в любой кусок html страницы можно запихнуть целую среду JS кода с отдельными функциями приминимыми к DOM;
3. Angular - пожалуй самая привлекательная (для меня) либа из всех. Почему? TypeScript. Синтаксис очень похож на #, да и все от тех же ребят.
4. AngularJs - MVC библиотека Js-a. Часто обновляется. Когда то читал GetStarted, дальше дело не дошло.
Я знаю, что по JS-у спрашивать в C# треде не ок, но вы то сами знаете рыночек, что без JS-a в вебе делать нечего.
Какие еще советы дадите по вебу для C#? Есть опыт в MVC5, Core2.2, RESP-Api ну и базовый набор верстальщика (последнее не очень зашло).
Спасибо за ответ.
766 1579149
>>79142
1. jQuery изучается за час, максимум за два часа. Нужен для легаси говна и частичного понимания Angular.
2. React сам по себе примитивен и очень легко и быстро изучается. Проблема в обросшем говне вокруг него, на изучение которого надо проебать дохуя времени. Писатели на React обмазываются функциональным программированием, но на уровне макаки, поэтому базовые понятия знать необходимо.
3. Svelte - это такой себе React 2, где код максимально примитивен, очевиден и императивен. Крайне низкая популярность.
4. Angular - очень похож на C# с его ASP.NET MVC. Знаешь Angular, значит знаешь TypeScript, хотя, при желании, можно писать и без него. TypeScript действительно очень похож на C#, но пока там не начнут появляться костыли языка и замашки функционального программирования, которые могут сорвать мозг обычному обывателю C# без подготовки.
5. AngularJS до 1.5-1.6 - страшное легаси дерьмо, беги, сука, с этого проекта.
6. AngularJS 1.6+ - легаси говно, похожее на Angular. Соглашаться только на большие рейты.

Итого, знать надо Angular или React, чтобы быть востребованной фронтенд макакой. Знать сразу оба не обязательно.

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

>Я поскролил учебник до середины и понял, что все интуитивно понятно


Ой, зря ты так думаешь, зря-зря. JavaScript - какая-то аномальная индусская хуйня (представь ту картинку, где сравнивают Golang 1 и Golang 2, вот JS - это 2).
767 1579151
>>79142
Забыл про Vue - что-то среднее между React и Angular. Больше ничего про него можно не знать из-за очень низкой популярности. При желании, все тонкости Vue изучаются за неделю, но это актуально пока не вышла новая версия Vue.
768 1579154
>>79149

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


Например https://ngrx.io/ - это еще что-то приближенно нормальное, что можно встретить в типичном Angular, хотя выглядит как какая-то сложно читаемая хуйня.

Вообще там идея, что Angular пиздит идеи у React, а React - у Angular. Vue пиздит идеи у Angular и React, такой себе мутант.
769 1579159
>>79082
блять это на пиздоне делается за 2 сука минуты, чо за кипишь блять
770 1579160
И еще один класс здоровых приложений:
AngularJS 1.5+ в симбиозе с Angular, используя ng-upgrade (статический или динамический). Охуителен тем, что:
- надо знать AngularJS 1.5+ и Angular
- AngularJS может одновременно использовать и JavaScript, и TypeScript
- компоненты AngularJS и контроллеры AngularJS могут быть в перемешку, контроллеры крайне сложно мигрировать в Angular
- статический или динамический ng-upgrade нахуй меняет весь код
- код Angular в Angular 1.5+ - это новый язык как в html, так и в TypeScript
- код Angular 1.5+ в Angular - это тоже новый язык как в html, так и в JavaScript
- очень много хардкода и строковых литералов
- очень много непонятно как подписанных и как вызванных событий
- глобальные переменные, объявленные непонятно где и изменяющиеся непонятно как
- библиотеки AngularJS не работают в Angular и наоборот, нужно все оборачивать в врапперы
Ладно, я устал, тонкостей очень много. А видел такое не один раз.
771 1579161
>>79159
Сколько можешь держать активных соединений на одной машине? Больше 500 слабо?
772 1579164
>>79140

> А не использовать абстракции более высокого уровня как в статье выше.


Так я и не использовал их в готовом виде, блин. Создал пустой проект. Объявил интерфейс ITcpHost с методами: StartAccept(), StopAccept(), GetSessing(Guid id), StopSession(Guid id), GetSessionCount(), свойства для чтения SendingBytes, ReceivedBytes и т.д. Имплементировал это ITcpHost в классе TcpHostBase, который принимает ISessionBuilder(Вынес в интерфейс чтобы обеспечить поддержку разных протоколов не меняя сессии, а только стейтмашину и хендлер) в конструкторе, внутри TcpHostBase одно из полей Socket _acceptor, в конструкторе класса передается IConfiguration из которого мы берем порт на котором будем ожидать клиентов. _acceptor методом AcceptAsync() получает сокет клиента, этот сокет передается билдеру и в засисимости от билдера что был передан в конструкторе делаем сессию конкретного типа, сохраняем в конкурентный словарик вида <Guid, ISession>, запускаем процесс сессии, в котором методом ReceiveAsync(Span,SocketFlags) получаем что пришло от клиента, отдаем хендлеру который помещает в стейтмашину то что пришлом и затем с случае если в стейтмашине будет обнаружен пакет подходящий под мой протокол - создаем объект ClientMessage в который помещаем инфу что хендлер извлек во время парсинга пакета моим мидлварем; полученный пакет уже отдаем на уровень приложения, там происходит всякая магия с записами в БД, пересылкой и прочим. Это все внутри библиотеки.
Теперь я хочу это собрать в одну кучу с помощью внедрения зависимостей, чтобы модно-молодежно, для этого создал новый консольный проект, добавил nuget с майкросовтовским IHostBuilder'ом и хочу чтобы сервер из него стартовал.
Почему это не сервер на сокетах-то? Где тут какие-то высокие абстракции, кроме моих?
773 1579165
>>79164

>Почему это не сервер на сокетах-то?


Вот теперь я вижу сервер на сокетах. Вот только если ты изменяешь те две переменные из разных потоков, то у тебя это не будет работать на многоядерном процессоре в релизе - гуглится "memory barrier c#". И мне не видно как ты обрабатываешь сообщения. Я же сказал, что сообщения умеют обрезаться и склеиваться?

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


Напиши юнит тесты и попробуй покрыть 80%+ кода, если получится и у тебя не нарушается еще и DRY, значит правильно. Могу сразу сказать, что вижу нарушение SOLID. Внедрение зависимостей нужно для юнит тестов, а не для чистоты кода: код без внедрения выглядит читабельнее, но сложнее поддерживать.
774 1579166
>>79165

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


Твой вайл тру на втором и третьем изображении.
775 1579170
>>79164
Кстати, в диспозе сокета тоже есть особенности, например, надо обрывать сокет с параметром Both, иначе с другой стороны будет висеть мертвый сокет (не дернется метод Receive).
776 1579172
>>79165

> И мне не видно как ты обрабатываешь сообщения


У хендлера есть стейтмашина с двумя буфером, хендлер передает Action<ReadOnly<byte>>(можно конечно было бы событие использовать но я не люблю их использовать когда получатель только один предполагается), все что приходит добавляется в буффер, когда стейтмашина находит границы пакета она передает у часть у которой задетекчен конец пакета, через делегат, затем из этих байт с помощью обычной реализации конвеера обработки(постил тут пример своей реализации, по сути оказалось что за меня MS это давно придумали и назавали middleware, только у них это для каких-то других целей используется вроде) мы собираем уже нормальный класс сообщения, в котором вместо байт удобные для чтения поля-свойства. Там все опять же байтиками и оффсетами делано. Люблю я побайтойбствовать знаешь ли.
>>79170
Это я знаю. Метод StopReceiving как раз сначала пристреливает сокет в оба направления, потом закрывает его.
image.png65 Кб, 759x875
777 1579202
Если поле RefA типа C не может быть null, то почему не возникает ошибки?
778 1579227
>>79202
Проверяет только в области действия nullable директивы. Проверка - рекомендация компилятору, а не строгая проверка, легко обойти.
779 1579230
>>79149

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


я себя позиционирую как бэка, но в вакансиях везде нужен фронт, типо фул стэка (чуть более, чем во всех). Вот пример:
— 1+ year experience in .NET software developing
— Excellent knowledge of JS
— Experience with any of ReactJS / AngularJS / VueJS
— Experience in creating Restful API
— Intermediate English communication skills (oral and written)
— Very good problem-solving skills
И это вакансия в разделе .NET (lulwat), особенно доставляет эта строка "Excellent knowledge of JS". Причем Angular даже нет. Я в этом или предыдущем треде спрашивал за применимость Razor в ASP/Core приложениях, хотя по сути везде все пишется через webAPI + js
780 1579235
>>79227
В рантайме вообще не влияет?
781 1579289
>>79160
мутно это все
>>79149
>>79151
>>79160
спасибо за ответы, для себя решил, что буду ковырять палкой React - концептуально мне нравится JS контейнеры для любого куска DOM элемента. Хотя как то это по дебильному блять - учи C#, знай ORB, знай принципы работы (тонкости), знай ООП, знай паттерны, знай ASP.NET MVC5/Core/WebApi. Когда вроде выныриваешь из всего этого, тебе еще под нос html+css+js+еще и блять фреймвок суют. Типо вот еще маст хев. А ну да, еще же ангельский, куда же без него. Пиздец короч
782 1579299
>>79289
Зато платить будут реально достойно, если не ступишь и не будешь просить мало.

Мимо действующий фронт наслушавшийся от коллеги о дотнетчиках-фронтах-фулстаках
783 1579311
>>79299
меня сам по себе фронт не очень цепляет - я когда пет на ASP.NET MVC делал, для меня View это был какой то пиздец. Там страница не тянется, там кнопка упала, тут футор не скролится. Мне ближе какие то архитектурные решения, ООП и т.д.
спасибо за совет
784 1579357
>>79289

>ORB


Что это?
785 1579363
>>79357
Object reletion MODEL - ORM (ошибся)
786 1579364
>>79363
relation*
787 1579381
>>79363
Зачем он, если есть LINQ ?
788 1579387
>>79381
всмысле зачем? А через что ты будешь к БД подключаться? LINQ - это язык запросов (Sql внутри #), а ты должен знать интерфейс взаимодействия с MsSql (хотя бы)
789 1579400
>>79387
Ну через драйвер базы данных.
790 1579401
Столкнулся с неприятной проблемой: при использовании Assembly.Load() всегда возникает Exception file not found, при этом Assembly.LoadFrom() работает отлично. Кто-нибудь сталкивался с такой бедой?
548.jpg40 Кб, 460x318
791 1579406
>>79400

>Ну через драйвер базы данных.


>через драйвер


>базы данных

792 1579407
>>79401
не сталкивался, но по логике - LoadFrom имеет путь к сборке, а Load - нет. Это что ты рефлектишь?
Снимок.PNG8 Кб, 957x101
793 1579411
>>79407
Вначале пытаюсь загрузить через Load, используя имя в директории программы, затем через LoadFrom, указывая путь
794 1579416
>>79411
я это понял, смотри конфиг Load и default path (если он есть). Я просто не могу понять, зачем тебе это? Какую ты задачу хочешь решить?
795 1579424
>>79416
Я не понял какой конфиг, но своих не создавал. У меня нет особой задачи, просто изучая язык и платформу наткнулся на эту проблему.
796 1579426
>>79424
https://docs.microsoft.com/en-us/dotnet/api/system.reflection.assembly.load?view=netframework-4.8
я не вижу перегруженный метод без параметров, вот и есть твоя ошибка.

>просто изучая язык и платформу


через командную строку? Ты рофлишь, что ли?
797 1579428
>>79426
Там есть вариант перезагрузки со строкой в параметрах, которая является названием сборки без расширения, которая находится в директории ./bin/debag/core3/app/
image.png31 Кб, 602x365
798 1579435
как фиксить?
800 1579494
>>79461

>There are language specific drivers such as JDBC, ODBC, OLE DB where the driver interface is implemented according to the language specifications


И зачем ты это в .NET тред тянешь? Ок, даже возьмем низший уровень реализации ORM какой ни будь OLE DB от мелкософта - это тоже самое, что создавать самодельную педаль для велосипеда, когда продают уже в готовом виде.
Если такой любитель велосипедов, то нахуя тебе драйвер? Пиши самописный драйвер от БД, к которой будешь обращаться, но на одной БД никогда дело не остановится
801 1579495
Есть ли разница:
-доступ к полю класса внутри класса напрямую
-доступ к полю класса внутри класса через свойство
?

https://pastebin.com/Jc1JAUY4

Причина тупого вопроса - отсутсвие значимых знаний работы CLR, компилятора и т.д.
802 1579505
>>79494
А вот и напишу как пет-проект. Все эти ваши ORM пиздец как тормозят и глючат в любом языке.
just-stop-your-stupid-is-making-my-brain-cry-quickmenne-501[...].png90 Кб, 500x400
803 1579509
>>79505

>эти ваши ORM


Ну давай, пиши. Расскажешь потом, как твое говно будет работает быстрее
спойлерю - твои навыки работы с ДБ через "драйвер" нужны чуть более, чуть нигде
804 1579518
>>79495
Нет, компилятор умеет такое оптимизировать.
805 1579529
>>79509

>спойлерю - твои навыки работы с ДБ через "драйвер" нужны чуть более, чуть нигде


А вот и мышление корпоративного раба-макакена.
806 1579532
>>79435
сделать правильно
807 1579570
>>79509

>спойлерю - твои навыки работы с ДБ через "драйвер" нужны чуть более, чуть нигде



Ну давай, манька, запилила мне на ORM хитровыебанный отчет с этими хуитками к завтра на миллионнострочных таблицах:

https://oracle-base.com/articles/misc/rank-dense-rank-first-last-analytic-functions

И что бы без нытья прокупить четырехголовый сервак за стопицот миллиардов и без нытья про "заплатить стопицот миллиардов за амазон"
808 1579576
>>79532
как? я не знаю как, я не вижу нигде параметра который отдельно задает цвет для текста в таких подсказках!
809 1579633
Почему мы вызываем create не передавая туда ничего, и все равно все работает?
maxresdefault.jpg68 Кб, 1280x720
810 1579642
>>79570

>хитровыебанный отчет с этими хуитками


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

>на миллионнострочных таблицах


это по твоему много?
И что тебя так испугало, DENSE_RANK - расчетное поле в миллионной таблице?
811 1579687
>>79642
Это ты справа говоришь.
812 1579729
>>79406
Найс ты сам на себя поссал, дебил
813 1579749
>>79406
ORM-дебилоид обосрался на весь тред.
814 1579756
>>79687
круто сМаняврировал
>>79687
>>79729
>>79749
это один дебич пишет или сегодня в Non_ORM бурсе день открытых дверей?
815 1579761
Короче, вроде как дописал свой охуенный супер-пупер ТиСиПи сервер, завтра понесу преподу можете открывать шампанское, я больше тут не появлюсь. Как теперь проверить нормально? На локальной же машине не получится как раз все подводные камни потрогать с одной стороны, а с другой сокеты могут закончится же, если и клиент и сервер - на локалхосте висят.
816 1579775
>>79756
Ты победил всех. А теперь сходи пососи.
817 1579853
>>79235
Да.
818 1579900
>>79230
Это нормально видеть жс в шарпе. Это или маленький проект, или распил бабла, т.е. на фулстеках пытаются экономить бабки: средняя вебмакака зарабатывает больше среднего бекендера или фулстека, фулстек зарабатывает ниже среднего мидла.

Я например вижу себя как фулстек: могу спокойно уволиться и найти работу на сеньёра-помидора онли в шарп, angular, angularjs, angular + angularjs, react или node. Так как уебал много времени и было много проектов разной свежести, чтобы все это говно хорошо выучить.

Лучше забить хер на такие вакансии или на собеседовании говорить, что типа "да знаю, но буду писать онли бек, или платите мне минимум х1.5 за жс". Т.е. зп от 4-5к как сеньёру, при этом быть со знанием мидла в каждой технологии.

Если мне не веришь, советую пообщаться с веб макаками. У них знать сразу реакт, ангулар и вью, все равно, что беку знать C#, Java, Python и переключаться между языками между проектами. Знают только одну технологию на фронтенде и только фронт, никаких беков на ноде, при этом зп 3-4к $. А hr, которые лезут со своим ангуларом к реакщику (или наоборот), вежливо посылают нахер.

Razor - поддержка легаси, где тебе не будут даже давать шанс сделать все по красоте. Застрянешь на допотопном фреймворке и будешь страдать от написанного до тебя кода, при этом получая упреки за низкую скорость работы. WebAPI + JS - это только старт нового проекта.
819 1579921
>>79633
Потому что это тег "a" в html, где ты проперти класса Tovar передаешь через query string. Нехуя не передашь - будет пустой класс, асп под капотом разруливает это за тебя, используя рефлексию.
820 1579925
>>79761

>Как теперь проверить нормально?


Заваливаешься в аудиторию, где лабы на компах сдают, и втихаря проверяешь перед/на/после пары.
821 1579939
>>79925
Я же имею ввиду как проверить на необычные случаи, типа той самой склейки пакетов. Не смогу же я из аудитории на домашнюю машину стучаться(потому что IP динамический плюс внутри сети провайдера, а тот большую часть пакетов просто фильтрует, опять же еще и вузовская сеть фильтрует пакеты)
822 1579955
>>79939

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


Интеграционные тесты, которые запускаются на 2+ машинах, где теми же thread/task слипами тестировать разные ситуации.

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

>я из аудитории на домашнюю машину стучаться


VPN и вообще, достаточно занять 2 машины в аудитории, обычно все машины связаны по сети и есть выход в тырнет.
823 1580009
>>79756
Хуй знает кто там твои протыклассники, я просто тебе в рот за компанию ссу. Твой любимый энтити фреймворк тоже требует драйвера бд, к слову, стажёр тупорылый
824 1580019
>>79900

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


Хотя, фронт у таких проектов еще страшнее: ванильный жс, жквери и плагины жквери, работающие хуй пойми как. Там блядь страшно в тот жс лезть и что-то трогать, чтобы все нахер не сломалось.
706769ab0ff453e94c50f38c956beeab.jpg117 Кб, 514x465
825 1580081
>>80009

>любимый


>энтити фреймворк


>стажёр тупорылый


Хуй знает, как то зашкварно после такого вылезать из readonly. Я помнимаю, что тут сидят окатыши и студенты бурс, но блять иногда такую хуету несут. Один через LINQ к бд коннектиться, другой сам провайдеры к драйверу пишет "БЫСТРЕЕ ЧЕМ ЭТИ ВАШИ ORM", третий вообще какое то быдло не осиливший чтение. Сагану пожалуй, что еще делать
826 1580177
>>79900
я может чего то не понимаю, но не будет ли им - Бэк+фронт? На Пыхах я знаю это нормальная практика, но как обычно что бэк, что фронт - это саппорт какого то говенного проекта или старючего легаси. Чувак знакомый (пхпшник) говорит - сидел на бенче, помогал .NETчикам (хз, что он там помогал правда), а так в порядке вещей что то на WP дописать, что то RANDOM_FRAMEWORK поковырять. Ну и говнище, этот веб
827 1580189
>>80177
Нормальная практика - это когда есть разделение задач. А не бека заставляют писать фронт и наоборот. Всё остальное - попытки наебать на бабки.

На галерах, если хорошие отношения с прорабом, можешь попробовать спросить сколько за тебя платит заказчик и сравнить с тем, сколько ты получаешь. И не редкость, когда джунов/мидлов такие бодишопы продают как сеньеров, отдуваться все равно не прорабу надо. Или работают под чужими фамилиями.
828 1580201
>>80189
вот про того пыхаря, за которого я писал берут $40/h. На руки платят 1.5к :)
Вообщем я хуй знает, что это за вакансии такие в разделе .NET, где 80% required связана с JS
829 1580367
>>79576
И как по тому скриншоту можно было догадаться, что тебе цвет не нравится? Нормально вопросы задавай и нормально будет.
830 1580433
>>80367
а то что белый текст на белом фоне не видно не очевидно по пикрилу? на пикриле же больше ничего кроме этого факапа ет
831 1580450
Народ, кто-нибудь знает, как можно объект отправить в get запросе?
832 1580470
Как по нормальному можно переименовать корневую папку в проекте? Если я переименую, то все немспейсы останутся, приходится вручную всё переписывать. Через vs нажал на проект и переименовал, но папка осталась с тем же названием.
833 1580480
>>80433
Аааа, так там еще и текст, который не видно, но нужно догадаться что он там есть и должен быть виден. Пиздец.
834 1580513
>>80470
Пиздец я сгорел с этой хуйни, почему майкрософт такие хуесосы блять нормально ничего не могут сделать, ебал я в рот их
image.png18 Кб, 610x161
835 1580540
>>80480
>>79435
короче отвечу на свой же вопрос
836 1580545
>>80513
с той же хуйней сталкивался (спрашивал не так давно в этом треде) - пришлось ручками хуярить. Но вроде как через решарпер можно порешать, но я им не пользуюсь
837 1580557
Я недавно начал заниматься программированием. Какая есть команда перехода к определённой строчке?
Например, у меня идёт
1. - ...
2. - ...
3. - ...
4. - ...
5. - ...
6. - ?
Как перейти с 6 строчки к первой или к следующим? Нигде не нашёл
838 1580576
>>80557
switch case гугли
839 1580585
>>80545
ctlr+shift+f и солюшн ещё пришлось пересоздать. Пиздос конечно
840 1580706
Какие в шарпе есть перегруженные операторы?
841 1580713
>>80557
goto
Пользуйся осторожно, это инструмент богов программирования и в неумелых руках влечет за собой хаос.
842 1580786
>>80557
В 6 строчке обращение к методу, который находится на первой строчке))))))))))))))))))))000
843 1580788
>>80786
>>80557
Ещё циклы же есть. Но нахуя тебе это всё? Главное чтобы программа корректно работала, а работает она читая код сверху вниз
844 1580801
Сап /pr
Каким образом вы освежаете в памяти прочитанную ранее информацию? Я к примеру давно (1-2 года назад) прочитал Шилда, Метанит, MSDN почитывал, но если меня прямо сейчас вызовут на собес - мало что вспомню, нужно хоть раз глазами пробежать.
Перечитывать 1к страниц Шилда влень, какие еще есть варики за 1-2 дня освежить данные в голове?
845 1580826
>>80576
>>80713
>>80786
>>80788
switch case это ведь то же самое, что и оператор if, как понял? Только можно сделать goto к предыдущим разделениям?
846 1580829
>>80826
Жаль нет каких-то простых перенаправлений
847 1580830
848 1580831
>>80826

>switch case это ведь то же самое, что и оператор if


Принцип тот же - условие-действие

>goto


хуйня, которая никем и нигде не используется в ООП, она нужна функциональщикам. Забудь за нее.
849 1580852
>>80831
В языке не должно быть goto
image.png173 Кб, 862x613
850 1580882
>>80852
Как избежать в данном случае? Надо чтобы после /admin продолжился код
851 1580887
>>80882
что такое Exit? Если это функция, то ее вызывать можно без goto
852 1580906
>>80887

>что такое Exit?


Ты метку в конце проги не видишь? Пчел...
853 1580968
>>80882
Что это за говнокод?
Первый if лишний. Достаточно поднять вверх то условие что в while. Вместо goto написать функцию.
854 1580971
>>80906
Exit: - что это за синтаксис? Тут вообще не нужен goto
855 1580976
>>80971
Блядь, до чего же ты тупой.
Exit это метка к которой скаканет goto.
Пиздец, выросло поколение интерпразеров, базовые конструкции языка не знают
856 1580985
>>80968
Какую функцию?
.png29 Кб, 622x883
857 1580989
>>80882
Ну, можно так, например. Я правда не знаю что у тебя там за код в целом.
858 1580990
>>80989
Понял, спасибо.
859 1580996
>>80985
Которая примет после себя код, который у тебя после метки Exit
860 1580997
>>80996

>Которая примет после себя код, который у тебя после метки Exit


Одна функция примет весь код дальнейшей программы? ...
861 1580999
>>80831

>она нужна функциональщикам


Вот только в фукциональных языках нет goto.
862 1581010
Зато goto есть в голанге.
863 1581011
>>80997
Кто ж знал, что ты долбоеб, который весь код программы в функцию Main суёт, еще и goto подправляет? Разбивай код на функции и классы, их как раз для этого придумали.
864 1581012
>>80831

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


Я использую в работе коменитрую каждый раз либо: "Узнаешь когда пройдешь", либо ")))". На самом деле оч удобно и жалко что нельзя в произвольные точки проекта прыгать, а только внутри области видимости.
zxspectrum.jpg111 Кб, 709x1110
865 1581018
>>81012

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


Вот, у меня есть в двух томах физически, все страницы стали желтые и разлезлась по швам. В конце книги есть листинги, где кунг-фу goto мастер написал игры, где как раз можно прыгать в произвольные места и вызывать асм.
866 1581030
>>80976
Хуясе порвало

>Блядь, до чего же ты тупой.


ты вообще вкурсе, что твои два if нахуй в твоем говне не вперлись? Твое обоссаное goto (метка Т_Т) заменяется условными операторами. Покажи такую "метку" в интерпрайзе, тебя мочой пометят
image.png82 Кб, 841x627
867 1581032
>>81030
Лол, там другой анон про это написал
868 1581033
>>81030
И первый if нужен чтобы сразу перейти к админскому коду, а не два раза ненужный код смотреть
869 1581035
>>81033
Так подними вверх тот if что у тебя в while, чего ты тупой то такой?
870 1581039
>>81035

>Так подними вверх тот if что у тебя в while


>одинаковые if


Ладно, забей
871 1581041
>>81039
А, ну я понял :(
872 1581046
873 1581047
>>81030
Конечно порвало. Ты, блядь, синтаксиса языка базового не знаешь, а лезешь с советами к человеку который только учится и не поймет, что ты хуйло безмозглое и тебя слушать вредно. Вредитель как он есть, блядь.
874 1581055
>>81047

>синтаксиса языка базового не знаешь


Я бы тебя спросил за такой базовый синтаксис https://pastebin.com/CZ6sgBUg
875 1581064
>>81055
Блядь, ты серьезно такой тупой? Притащил обычные функции как пример какого-то необычного синтаксиса. Небось в жизни unsafe код не писал и совсем в осадок выпадешь, когда в аргументах функции увидишь какой-нибудь int*, будешь судорожно гуглить, а потом подумаешь что в шарпе можно куски сишного кода вставлять. Боюсь спорсить, ты хоть знаешь что '<<' делает? Небось при этом из адептов "ВУЗы не нужны! Можно по метаниту выучится!"
876 1581067
>>81064
Это безопасный код.
877 1581068
>>81064
Все, отличное от WriteLine и Main, это не функции, а ключевые слова.
878 1581075
>>81064

>Небось в жизни unsafe код не писал и совсем в осадок выпадешь


Я соавтор поехуда.
879 1581077
>>81064

>Небось при этом из адептов


Кони-лебеди, иго-го.
880 1581096
>>81064

>ВУЗы не нужны!


Ну почему же, я умею в опенмп благодаря вузу. Впрочем, когда только вышел с++14, почитал луну и захерачил домик не в лоуполи с анимацией открытия/закрытия дверки по клику, динамическим освещением, тенями и свободной камерой на винфоне 8 в стабильные 60 фпс за полдня.
881 1581098
>>81064

>ты хоть знаешь что '<<' делает?


Две треугольные сиси?
882 1581100
>>81098
ыааа))
15796028167630.jpg32 Кб, 460x318
883 1581146
>>81047
кста да, 2 года пишу на решетках, первый раз синтаксис goto увидел, т.к. сразу скипаю, когда вижу эту операцию

>а лезешь с советами к человеку который только учится


сразу написал за switch, goto лучше и не знать

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


такой токсик пиздец, это не ты случайно провайдеры к JDBC писал?
884 1581254
>>81146
Это не я. Но в шарпе нужен билдер нативных запросов. Хотя бы к сиквел серверу.
885 1581258
В сисярпе есть работающий goto? Орнул с прокаженных.
Явабог
886 1581261
>>81258
У вас тоже псевдоgoto есть
break <label>
continue <label>
887 1581266
>>81261
Это, блять, в любом языке и это именно что нативно правильно работающая схема организации циклов.
888 1581269
>>81266
Думаю, они goto оставили просто как винтажный экспонат, видимо дядюшка Гейтс вспоминал те времена, когда впервые сделал шаг к богатству, написав интерпретатор бейсика для альтаира.
Иначе непонятно, зачем они до сих пор тянут VB ради офиса гыы, пайтон же нельзя прикрутить к ворлду, сложна.
889 1581272
>>81269
Тащемта, встроенный в офис VBA к VB.NET из VS имеет мало отношения, кроме синтаксиса. К VB6 имеет, но кто сейчас помнит про VB6? Поэтому, думаю, что тянут исключительно ради обратной совместимости дохуилиона уже написанных скриптов.
890 1581273
>>81272
А в самых новых офисах тоже скрипты на VB ?
891 1581276
>>81272
VB6 - это не VBA. Для офиса подойдет любой COM-совместимый язык, не только VBA.
892 1581278
>>81273
Конечно. И в Office 365 онлайновом - тоже VBA. Вот какой язык надо было выбирать, как писали на нём в 1995, так и в 2020 продолжают.

>>81276

> VB6 - это не VBA


Я знаю, просто имел ввиду то, что к дотнетной херовине с VB-подобным синтаксисом VBA имеет ещё меньше отношения, чем к VB6.
893 1581314
Привет анон.
Подскажи пожалуйста, почему может не работать программа после сборки через ilasm ?
Т.е. я сперва делаю ildasm sample.exe
Потом делаю ilasm sample.il
Но программа не запускается, хотя ошибок не выдает при сборке
894 1581339
Как живется на языке для вебни?
895 1581349
>>81314
смотри в консоль, читай сообщения, читай сообщения после запуска сборки -> гугли
>>81339
какой сейчас язык не в вебе? 95% вакансий веба
896 1581372
>>81349

>какой сейчас язык не в вебе


c++
897 1581404
>>81372
Wasm? Не, не слышал.
898 1581410
>>81404
У него работа c DOM узкое горлышко перфоманса.
899 1581431
>>81372
++ как и C - пожалуй исключение из правил. Есть еще ряд языков, которые как и ++, с - не пользуються большим спросом и находятся в нише Non-Web. Но рыночек все решает. Завтра будет прорыв связанный с Desktop (к примеру) все быстро перекочуют на него.
Я когда начинал с решеток тоже надеялся, что не буду в вебе, но получилось так, что убил двух зайцев (и повезло)
900 1581575
Зачем майки продвигают электрон на десктопе? А как же .net core?
901 1581772
Виват бывалым. У меня проблема, нужен совет по ее решению. Я пишу (довольно продолжительный период времени) всякие pet-project-ы. Недавно взялся за .NET Core и решил не смотреть в сторону Razor-view, а слепить через WebApi (спасибо анонам из постов выше, которые растолковали по этому вопросу). Не буду долго размусоливать, вообщем выбрал ReactJS для визуализации приложения и тут началась проблема. Я раньше когда писал на ASP.NET MVC - для меня View это был страх и ужас. Html+Css я когда то, что то читал, интуитивно разобрался как и что сделать. Но вот адаптивный макет - это был страх и ужас, поэтому Front - для меня был просто страх и ужас.
Но когда я начал читать документацию по ReactJS - у меня почему то привстал. Все эти контейнеры, легкий рендеринг, Babel, сборочка Webpack-ом.
MMMMM, кайф. Обычно после работы, когда возвращаюсь домой я падаю в кресло и начинаю смотреть всякие смешнявочки на ютубе, а тут начал смотреть "Get started ReactJS". В какой то момент я понял, что со мной что то не так, схватил CLR via C# Рихтера и начал читать громко и вслух первую главу про манифесты и сборки, молясь чтобы отпустило. Когда начал вспоминать все то, что было затерто временем по решеткам, мысли про React немного усели. Но утром повторилось тоже самое.
Не знаю теперь что делать. Помогите советом.
902 1581777
Что есть хорошего-годного почитать по архитектуре клиент-серверных приложений, если приложение не ограничивается : принял запрос - послал ответ, попутно записал что-то в БД?
903 1581781
>>81404
Много ли вакансий по васму?
904 1581823
>>81575

>Зачем майки продвигают электрон на десктопе?


Дешево, справится макака, кроссплатформа.

>А как же .net core?


Декстоп онли на винде, а кроссплатформу менеджмент не знает как писать (с) офф ответ
905 1581882
Поясните за кесрел.
906 1581943
>>81882
The feature comparison of IIS web server vs Kestrel web server is:-

Similarity

Both have static files.
Both allow web application compression to some extent.
Differences

IIS web server only supports Windows while kestrel web server supports all platforms.
IIS web servers have HTTP access logs which is not the case in kestrel.
IIS allows port sharing/multiple apps running at the same time while kestrel doesn’t.
IIS has SSL certificates while kestrel only works with internal SSL traffic between the reverse proxy web servers and .Net.
IIS has windows authentication while kestrel doesn’t.
IIS has a management console which isn’t there in kestrel.
Process activation is there in case of IIS web servers while it isn’t there in kestrel.
IIS allows application initialization while kestrel doesn’t.
IIS has configuration API while kestrel doesn’t.
IIS allows request filters and limits while kestrel doesn’t.
IIS has IP and domain limitations while kestrel doesn’t.
IIS follows HTTP redirect rules while kestrel doesn’t.
IIS allows WebSocket protocol while kestrel allows middleware.
IIS does response output caching while kestrel doesn’t.
IIS has FTP servers while kestrel doesn’t.
907 1582047
Почему использование goto считается плохим тоном?
Это же пиздец какая удобная штука, лепить конечно ее не стоит куда попало но иногда она очень облегчает задачу.
Вот к примеру чек на символ, с goto я сразу понял как сделать, а без него чет туплю.
Console.WriteLine("Введите символ на Английском языке:");
char ch = '0';
link1:
try
{
ch = Convert.ToChar(Console.ReadLine());
}
catch (Exception ex)
{

}

if ((ch >= 65 && ch <= 90)||(ch >= 97 && ch <= 122))
{
Console.WriteLine("Правильный символ ");

}
else {
Console.WriteLine("Хуйню ввел, попробуй еще разок ");
goto link1;
}

Console.ReadLine();
908 1582054
>>82047
У тебя в коде сразу работа с представлением, валидация, бизнес-логика. Т.е. наговнил. Конечно, с goto лапшу теперь проще разруливать.

Сделаешь декомпозицию этого говна по простым функциям: вместо goto будешь использовать вызов функции.
909 1582055
>>82054
Вот это сложно пиздец для меня, я делаю парсер подсказок для гугла и чета ваще не врубаюсь куда что писать, просто делаю портянку кода, а потом на следующий день хуй помню что там ваще и как работает(((
910 1582058
>>82047
>>82055

>пиздец какая удобная штука


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

image.png273 Кб, 1581x824
911 1582061
>>82058
Ну не из за него я не помню)
Я раньше делал програмки в ZennoPoster, а сейчас решил перекатится полностью в C#. А в зинке там все табличками для даунов, и стрелочками.
Пикрил корочи
912 1582071
>>82047
Пизда рулю.


Console.WriteLine("Введите символ на Английском языке:");
char ch = Console.ReadKey().KeyChar;
while (!char.IsLetter(ch) || ch > 0x7f)
{
Console.WriteLine("Хуйню ввел, попробуй еще разок ");
ch = Console.ReadKey().KeyChar;
}
Console.WriteLine("Правильный символ ");
913 1582076
>>82061
Пиздец какой.
Мы в школе тоже программировали стрелочками в LabVIEW. Ебать, как давно это было, и как ущербно.
914 1582077
>>82071
Крутяк.
Это .KeyChar делает так что после нажатия на кнопку сразу жмется Enter?
915 1582079
>>82077
Нет, это ReadKey считывает непосредственно последнюю нажатую кнопку. А ReadLine читает строку, что в твоём случае нахуй не надо
916 1582442
>>82047
Потому что один хуй в древние времена, когда с goto можно было в любое место прыгать, сказал что получается "спагети код", т.к. этот хуй был вроде как уважаем в то время, многие его послушали причем для тех времен это было вполне валидно.
Сейчас, когда goto в 99% нормальных языков ограничивается областью видимости, не используют goto просто потому что ебланы тупые без капли своих мозгов, ведь в середине прошлого века, когда даже IDE не было, один хуй сказал, а раз сказал, давайте в куче вложенных циклов делать метки, давайте для каждого случая пилить стейтмашину и т.д. лишь бы без goto, ведь стейтмашина на 200 строк это намного понятнее и удобнее, сразу посмотрел и понял, не то что if(zalupa) goto Pizda;
По факту, сейчас любой проект без goto и так спагети код. Ты никогда не читаешь его сверху вниз из-за того что все давно перешли на ООП, а компиляторы умеют разбирать код в любом порядке, а не как в какой-нибудь сишечке, где если ты не объявил сверху, то все, пизда, код не откомпилируется, беги в правильном порядке объявления расставлять; он(код проекта) всегда разбит на неймспейсы, файлы, модули и тебе в любом случае придется прыгать по всему коду и пара goto внутри скопа никак не усложняет тебе жизнь.
917 1582458
>>82442
Нет, не поэтому. А как раз из-за >>82047 таких долбоебов никто не рекомендует использовать goto. Эти долбоебы видят goto и начинают лепить там, где он совсем не нужен, превращая свой код в говно.
918 1582487
>>82458

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


А что, ты скажешь что решение >>82071 лучше?
919 1582524
>>82487
Так и не только я скажу.
920 1582539
>>82442

>Потому что один хуй в древние времена


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

>когда goto в 99% нормальных языков ограничивается областью видимости


В новых языках нет goto. Даже в расте нет. Наличие goto в новых языках - признак некомпетентности проектировщика (привет голенгу и долбаебам, которые на него дрочат, воистину язык макак для макак).

>когда с goto можно было в любое место прыгать


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

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


Он оправдан только если:
- ты у мамы херов оптимизатор, и то ЕСЛИ ты умнее компилятора, который постоянно меняется, в чем я очень сомневаюсь
- автогенерация кода
- в языке нет конструкций, которые позволяют сделать тоже самое без goto, например в асме

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


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

>давайте в куче вложенных циклов делать метки


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

>По факту, сейчас любой проект без goto и так спагети код


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

>все давно перешли на ООП


Я понимаю, ограниченность ума сказывается, но есть еще кое-что отличное от ООП, что практикуют.

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


Попрыгай мне по сторонней библиотеке без исходников. Или ты у нас мамкин-все-свое-написатель?

>пара goto внутри скопа никак не усложняет тебе жизнь


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

>>82524

>Так и не только я скажу.


Нарушение DRY. Легко прослеживается при добавлении еще одного параметра, который надо прочитать.
920 1582539
>>82442

>Потому что один хуй в древние времена


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

>когда goto в 99% нормальных языков ограничивается областью видимости


В новых языках нет goto. Даже в расте нет. Наличие goto в новых языках - признак некомпетентности проектировщика (привет голенгу и долбаебам, которые на него дрочат, воистину язык макак для макак).

>когда с goto можно было в любое место прыгать


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

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


Он оправдан только если:
- ты у мамы херов оптимизатор, и то ЕСЛИ ты умнее компилятора, который постоянно меняется, в чем я очень сомневаюсь
- автогенерация кода
- в языке нет конструкций, которые позволяют сделать тоже самое без goto, например в асме

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


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

>давайте в куче вложенных циклов делать метки


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

>По факту, сейчас любой проект без goto и так спагети код


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

>все давно перешли на ООП


Я понимаю, ограниченность ума сказывается, но есть еще кое-что отличное от ООП, что практикуют.

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


Попрыгай мне по сторонней библиотеке без исходников. Или ты у нас мамкин-все-свое-написатель?

>пара goto внутри скопа никак не усложняет тебе жизнь


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

>>82524

>Так и не только я скажу.


Нарушение DRY. Легко прослеживается при добавлении еще одного параметра, который надо прочитать.
изображение.png18 Кб, 432x632
921 1583021
Вроде очень тупая и простая задачка, но я все равно умудрился обосраться.
Подскажите где я налажал, на каком-то сампл тесте выдает true, а у меня false.
Код на пике.
Вот задача: https://www.codewars.com/kata/54da539698b8a2ad76000228/train/csharp
You live in the city of Cartesia where all roads are laid out in a perfect grid. You arrived ten minutes too early to an appointment, so you decided to take the opportunity to go for a short walk. The city provides its citizens with a Walk Generating App on their phones -- everytime you press the button it sends you an array of one-letter strings representing directions to walk (eg. ['n', 's', 'w', 'e']). You always walk only a single block in a direction and you know it takes you one minute to traverse one city block, so create a function that will return true if the walk the app gives you will take you exactly ten minutes (you don't want to be early or late!) and will, of course, return you to your starting point. Return false otherwise.
Note: you will always receive a valid array containing a random assortment of direction letters ('n', 's', 'e', or 'w' only). It will never give you an empty array (that's not a walk, that's standing still!).
922 1583030
>>83021
Массив map по дефолту весь false, это не плюсы. В свиче какая-то ересь.
Массив map не нужен, возвращаешь true, если длина walk равна 10, x = 4, y = 4.
923 1583034
>>83030
И даже похуй, что n - это север, а у тебя запад. Все равно работать будет.
924 1583035
>>83030

>Массив map по дефолту весь false


Спасибо.

>В свиче какая-то ересь.


Я уже увидел, я не менял х, у.

>возвращаешь true, если длина walk равна 10, x = 4, y = 4


Ты точно читал задание?
>>83034

>что n - это север, а у тебя запад


Схуяли у меня запад? Ты перевернутую карту смотришь?
925 1583038
>>83035

>Ты точно читал задание?


Не люблю, когда в задаче графомания. Суть же в том, что ты должен через 10 шагов оказаться там, откуда начал?

>Схуяли у меня запад?


Ну не я же на "n" делаю x - 1. Или у тебя x - это движение по вертикале? Ахаха.
926 1583040
>>83038

>должен через 10 шагов оказаться там, откуда начал


Да и шагов тоже должно быть именно 10.

>Или у тебя x - это движение по вертикале? Ахаха.


Ты толстишь или ты тупой?
Алсо я уже его сделал, там все было правильно, просто я проебался и не сохранял изменения в координатах.
927 1583042
>>83040

>все было правильно


На том сайте очень легко подобрать сет правильных ответов даже не решая задачу.
928 1583044
>>82539
двачую адеквата, все четко разложил
929 1583075
>>83042

>пик 1


Ну а я что написал? Выведи в сонсоле массив 10 на 10 и походи по нему в разные стороны.

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


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

>пик 2


Я и не говорю что я пиздато написал, да на пике решение намного лучше.
930 1583087
>>83075

>Выведи в сонсоле массив 10 на 10 и походи по нему в разные стороны.


https://dotnetfiddle.net/62yCM8
https://dotnetfiddle.net/gFYx5k
Разница в том, что я не использую x для вертикали.

>Задачи и нужно решать чтобы они откладывались в голове.


Сомнительной полезности твои задачи. Программировать ты на них не научишься.
931 1583130
Безопасно/надёжно ли проводить аутентификацию по сертификату, что берётся из Request.ClientCertificate в контроллере путём сверки пришедшего отпечатка с теми, что хранятся в БД, при условии, что реквест приходит только по https? Возможно ли просто подделать реквест и подложить произвольное значение отпечатка?

Может пора перекатиться? А то пришлось минуту скроллить до сюда.
932 1583132
>>83087
А как научиться? Если еще синтаксис осваиваю только?
другугой анон
9020624bfbaa45fe8f5168e2892be2db.png602 Кб, 1450x1080
933 1583151
1555966146932.png1,6 Мб, 3840x2160
934 1583154
>>83151
потом
935 1583161
>>83130
Безопасно, поскольку данные надо декриптовать перед сравнением, используя, например, X509Certificate2. А вообще, лучше используй .NET Core.

https://docs.microsoft.com/en-us/aspnet/core/security/authentication/certauth?view=aspnetcore-3.1
mrlovenstein-Комиксы-перевел-сам-бонус-в-комментах-3205112.jpeg36 Кб, 338x334
936 1583218
Привет, аноны. Такая дилема. Год назад перекатился в программирование, уже год успешно работаю (очень нравится в сравнении с предыдущей специальностью юриспруденцией), но на старом фреймворке, бэк которого на шарпе, а фронт на JS. В этом году планирую сделать шаг вперёд, задача-минимум: писать на бэк на asp.net, фронт на react.

Но есть альтернатива: Unity3d, хочу попробовать себя в геймдеве. Дело в том, что моя жена хочет перекатиться в 3d-моделирование, Zbrush, Blender, вот это всё. Сможем вместе погружаться в эту тему.
Но я боюсь, что в геймдеве спрос меньше, больше кранчей, всё такое.
source.gif471 Кб, 500x266
937 1583237
Поясните за Migration в либе, когда нет StartUp. Все сущности, DbContext - находится в отдельной BLL сборке, которую нужно использовать по цепочке в другую либу, а уже потом в ASP.NET Core. Как такое сделать? Проблемы у меня в следующем:
В той самой либе с DbContext при добавлении миграции вываливается эта залупа:
No database provider has been configured for this DbContext. A provider can be configured by overriding the DbContext.OnConfiguring method or by using AddDbContext on the application service provider. Гуглил - говорят типо конструктор нужен - добавил
public MyContext(DbContextOptions options) : base(options) { }
Добавил так же конструтор без параметров (чтобы можно было использовать этот контекст). Все равно выебывается и пишет ту же ошибку. Я гуглил по SOF и Github - там пишут добавлять в services этот контекст. Но блять, у меня же либа, какой тут нахуй StartUp.
Что я делаю не так?
938 1583241
>>83237
А конекшн стрингу откуда берешь?
939 1583274
>>83161
Я им и пользуюсь. У меня проблема в том, что мне аутентификацию по сертификату нужно прикрутить только к одному контроллеру, а в остальных - аутентификация по паролю или winauth. А по твоей ссылке вроде глобальное решение, но я еще почитаю тщательнее
940 1583276
>>83237

>добавлять в services этот контекст. Но блять, у меня же либа, какой тут нахуй StartUp.


services.AddDbContext<MyDbContext>(options => options.UseSqlServer(myConnectionString));

Или ты заворачиваешь в промежуточной либе контекст в враппер и намерен его использовать?
941 1583309
>>83241
бля, вот я дебил
>>83276

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


без враппера, просто сборка отдельная с Entities и соответственно с DbContext (разделение, так сказать). У меня идет 3 сборки:
1. DataLayer (библиотека) - Все сущности, DbContext, Repositories, UOW.
2. BusinessLogicLayer (библиотека) - Из DataLayer идут все базовые CRUD функции для работы с БД, перерабатываются (handler's всякие и внутреняя логика) и передаются дальше в виде врапера над всеми сущностями типа UOW от DLL. Дальше ->
3. WebUI - Обычное Asp.net Core application - Из BLL в контроллеры идет враппер, типо UOW.
Вот у меня сейчас задача - создать миграцию и начать создавать взаимодействие WepAPI (юзера) и базы данных.
Что я делаю не так?
942 1583337
>>83309

>просто сборка отдельная с Entities и соответственно с DbContext (разделение, так сказать)


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

>Что я делаю не так?


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

А по поводу миграций - оно всё должно работать так: В Startup'е веб приложения добавляешь services.AddDbContext и подкидываешь свой контекст. В самом контексте добавляешь конструктор с DbContextCreateOptions и сразу :base(options), сам конструктор пустой.

Потом открываешь nuget консоль через alt - v - e - o и вбиваешь ADd-Migration. Всё должно работать.
943 1583339
>>83337
Бля забыл дописать, в nuget консоли в выпадающем списке сверху выбираешь проект с DbContext
944 1583341
>>83337

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


Алсо тут тоже проебался, думал ты DbContext в отдельном от классов модели проекте хранишь.
945 1583353
>>83341
https://metanit.com/sharp/mvc5/23.7.php
типо такого у меня, казалось (и сейчас кажется), что всему свое место. Доступ к БД? Сборка. Бизнес логика? Сборка. UI? Сборка. Разве не так?
946 1583364
>>83353
Так. А репозитории и uow тут причем? Ты предполагаешь переезд с EF на другую ОРМ? asp.net имеет свои гайдлайны, чтобы ты таким не заморачивался - инжектируемые сервисы. Классы сервисов храни пожалуйста в отдельном проекте, но репозитории с uow ты сам знаешь зачем тебе?
947 1583367
>>83364

>uow ты сам знаешь зачем тебе?


Враппер всех сущностей. Разве нет?
Я нашел решение, не знаю подойдет ли - из либы сделать обычный проект и кинуть через него reference к либе BLL и дальше в Web UI.
948 1583375
>>83367

>Враппер всех сущностей. Разве нет?


Разве да. Но зачем? Просто чтобы было? Какую проблему ты решаешь этим?
949 1583382
>>83375

>Какую проблему ты решаешь этим?


Собираю в пучек все сущности и могу легко маннипулировать ими через добавление 1 интерфейса в конструктор.
>>77042 - это мой пост, когда то спрашивал. Разве так не удобнее, чем каждый раз жонглировать разными контекстами?
Энивей, пересоздавать DAL, как Core проект, а не либа - это гемор пиздец. Может есть всетки другие способы реализации? Или же можно превратить библиотеку в ASP.NET Core project?
950 1583388
>>83382

>Собираю в пучек все сущности и могу легко маннипулировать ими через добавление 1 интерфейса в конструктор.


В какой пучок? У тебя уже есть этот пучок - сам твой контекст. Какая разница между DbContext.MyEntities.Add(new MyEntity()) и entitiesRepository.GetEntities<MyEntity>().Create(new MyEntity) если в конечном счёте у тебя всё равно делается ровно то же самое, но за двумя врапперами?

В какой конструктор? В конструктор контроллера?

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


На одну БД один контекст. Куда ты ими там жонглировать собрался?
Твой DAL-проект может быть обычной .net standard library.

>Или же можно превратить библиотеку в ASP.NET Core project?


Если сейчас у тебя другой тип - можешь выгрузить проект (vs2017-) или просто в солюшн эксплорере один раз нажать по проекту и в открывшемся текстовом представлении .csproj поменять net472 на netstandard2.0 или как то так, за этим подробнее в гугл, но это точно можно сделать и это точно легко гуглится
image.png2 Кб, 403x33
951 1583400
Вкатился пару месяцев назад, вопрос можно ли в консоль вывести сразу все значения массива, а не по одному через цикл? И ещё вопрос в чем проблема, почему нельзя так вывести минимальное и максимально значение?
952 1583402
>>83388

>Какая разница


У меня условно есть 4 сущности - склад, финансы, доходы и персонал. Я буду передавать по цепочке или 4 отдельно сущности или 1, как враппер

>В конструктор контроллера?


Да, забыл добавить

>На одну БД один контекст


У меня в UI уже есть один контекст для аутентификации, туда же нужно запихнуть еще один - для логики в ту же БД

>быть обычной .net standard library.


ты имеешь ввиду Class library .net core? Так там нет StartUp, куда service добавлять?
Спасибо за ответы
953 1583407
>>83402

>Я буду передавать по цепочке или 4 отдельно сущности или 1,


Каво? Куда? Что ты собираешься таким образом передавать?

>ты имеешь ввиду Class library .net core? Так там нет StartUp, куда service добавлять?



Ты под DAL подразумеваешь проект, где твои врапперы дёргают db context, так? Зачем им там в проекте свой StartUp?
954 1583420
Как правильно обрабатывать запросы кестрелом? Вот типа я решил что буду им получать не HTTP, а что-то еще. Я добавил свой ConnectionHandler, переопределил метод OnConnectedAsync там цикл который читает байтики из ConnectionContext. Я создаю асинхронный метод, что обрабатывает эти байтики формирует из них объект сообщения в котором содержится информация которую я прочитал. Что делать дальше? И вообще должен ли я в этом классе сообщения хранить ConnectionContext из которого читал байтики, чтобы отправлять ответ или это не правильно? Да, еще, как обрабатывать ситуацию, когда мне отправляют не то что я ожидаю получить?
955 1583429
>>83407

>Каво? Куда? Что ты собираешься таким образом передавать?


Цепочка такова - DAL - Передает базовый функционал (CRUD) для работы с БД. Далее - BLL - используя уровень DAL делает всяческого рода проверки - Занесли накладную, количество должно быть больше 0 (типо такого). Далее - Web UI (ASP.NET Core app) - используя BLL передает в контроллер инкапсулируемые бизнес процессы (чтобы контроллер не раздувать и не передавать по 4 контекста). Но не в этом вопрос был.

>Зачем им там в проекте свой StartUp?


Для миграции с БД. DAL уровень должен быть нижней прослойкой для работы с базой данных.
изображение.png1,1 Мб, 1240x1169
956 1583525
957 1583777
Привет товарищи. Делаю задания по шарпам и вот охуел на одном моменте уже второй день не могу понять в чем соль.

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

В общем вроде понятно что делать. Но вот одно но не могу проверить все папки в подпапках что то залип есть кусок кода и там вроде все норм но выдает Exeption подскажите что за херня и как боротся. Таску решать не надо только подсказать с рекурсией где у меня пиздец. Что не так указал весь путь должен E:\Testing\gg\th получается последнюю папку не видит
959 1583806
>>55702 (OP)
Предлагаю шарпистам помочь допилить в НАНОБОРДЕ: https://github.com/username1565/nanoboard
сервер для хостинга наноборды в TOR'e.

Как я себе это вижу?
Отдельный сервер поднимается, и при помощи редактирования файла torrc,
пробрасывается на порт 80 onion-домена, сгенерированного програмой Garlic:
https://github.com/Artifact0/Garlic
После этого, наноборда доступна через TorBrowser.
Здесь: http://nboardn46ay6ycdi.onion/
вы можете видеть поднятую в TOR'e наноборду карасика: https://github.com/karasiq/nanoboard
но это не то.

Что там можно, а что нельзя делать на общедоступном сервере?

Можно:
1. Можно постить и подтверждать посты каптчёй, прямо на сервер, заходя по onion-адресу.
2. Можно репортить другие, чужие посты (например вайп), с указанием причины, как здесь.
3. Можно удалять посты локально (для себя) и/или скрывать их (хэш прописывается в LocalStorage).
4. Можно генерировать PNG-контейнеры и паковать посты туда (как случайные, так и избранные).
При этом, для постинга контейнера, должна бы выдаваться только одна ссылка лишь на один из тредов из списка.

Нельзя:
1. Нельзя запускать collect PNG c тредов на других бордах, чтобы не было DDoS'a.
2. Нельзя изменять треды в настройках, а лучше даже не видеть их, а получать одну ссылку, когда сгенерирован контейнер.
Лучше вообще не видеть настройки и не иметь доступ к ним.
3. Нельзя получать доступ к основному серверу по API и дёргать его за методы, окольным путём.

Не знаю что ещё добавить, что убрать, как бы сделать это оптимальным, код открытый и свободный, в общем гляньте сами.
В идеале, хотелось бы перепилить всё это на p2p-борду без мочерации, так как FreeNet не могу запустить на Windows XP.
959 1583806
>>55702 (OP)
Предлагаю шарпистам помочь допилить в НАНОБОРДЕ: https://github.com/username1565/nanoboard
сервер для хостинга наноборды в TOR'e.

Как я себе это вижу?
Отдельный сервер поднимается, и при помощи редактирования файла torrc,
пробрасывается на порт 80 onion-домена, сгенерированного програмой Garlic:
https://github.com/Artifact0/Garlic
После этого, наноборда доступна через TorBrowser.
Здесь: http://nboardn46ay6ycdi.onion/
вы можете видеть поднятую в TOR'e наноборду карасика: https://github.com/karasiq/nanoboard
но это не то.

Что там можно, а что нельзя делать на общедоступном сервере?

Можно:
1. Можно постить и подтверждать посты каптчёй, прямо на сервер, заходя по onion-адресу.
2. Можно репортить другие, чужие посты (например вайп), с указанием причины, как здесь.
3. Можно удалять посты локально (для себя) и/или скрывать их (хэш прописывается в LocalStorage).
4. Можно генерировать PNG-контейнеры и паковать посты туда (как случайные, так и избранные).
При этом, для постинга контейнера, должна бы выдаваться только одна ссылка лишь на один из тредов из списка.

Нельзя:
1. Нельзя запускать collect PNG c тредов на других бордах, чтобы не было DDoS'a.
2. Нельзя изменять треды в настройках, а лучше даже не видеть их, а получать одну ссылку, когда сгенерирован контейнер.
Лучше вообще не видеть настройки и не иметь доступ к ним.
3. Нельзя получать доступ к основному серверу по API и дёргать его за методы, окольным путём.

Не знаю что ещё добавить, что убрать, как бы сделать это оптимальным, код открытый и свободный, в общем гляньте сами.
В идеале, хотелось бы перепилить всё это на p2p-борду без мочерации, так как FreeNet не могу запустить на Windows XP.
960 1583964
>>83806
Жирнота какая.
1. Наноборд карасика - Scala
2. Где сорсы Garlic? Зачем тут кому то запакованная в exe сборка?
3.

>но это не то.


Почему не то? Уже запилили твою идею, ты хочешь переписать под .NET? Возвращаемся к пункту 2.
4. p2p freenet - ага, уже запилил свою борду с блекджеком и запрещенным проном
5.

>код открытый и свободный


Это толстота уровня /pr/? I didn't get...
2bdrxa.jpg26 Кб, 768x432
961 1583967
>>83806
Дополню >>83964
Я когда жирнил с толпами вкатышей - моча сразу бан отписала, тут же челик хочет в онионе борду без цензуры поднять и кидает гит с экзешником типо - "А ну глянь, что там" - пост висит пол дня. Logic?
962 1583974
>>83777

> но выдает Exeption


UnauthorizedAccessException? Или StackOverflowException? Или YouAreAnIdiotException?
963 1584195
>>83964

>1. Наноборд карасика - Scala


Я знаю, но выше ссылка на наноборду, на C#.

>2. Где сорсы Garlic? Зачем тут кому то запакованная в exe сборка?


Где-то тут: https://garlic7ravilyupx.onion.ly

>3. >но это не то.


>Почему не то?


Потому что по onion-ссылке там я поднял наноборду карасика, а она на Scala.

>Уже запилили твою идею, ты хочешь переписать под .NET?


Где запилили? Да, хочу.

> Возвращаемся к пункту 2.


Сорцы Garlic я уже дал. Если ты имел в виду пункт 1, то я не знаю Scala, я работаю над бордой на C#.

>4. p2p freenet - ага, уже запилил свою борду с блекджеком и запрещенным проном


А что тебя смущает? Freenet не стаёт у меня, точнее запускается, но не коннектится.
Можно просто вакабу поднять в onion, как тут: http://nichank62kpkrxvg.onion/

>код открытый и свободный


>Это толстота уровня /pr/? I didn't get...


Это значит, что код открытый и свободный, в отличие от копирастических хуйней патентованных.
>>83967
Не нравится идея - просто скрой и нахуй иди.
Или будешь репортить, чтоб удалили скорее, да, подсос мочерской?
Мочерация - явление дегенеративное, так как препятствует протеканию конструктивных дискуссий научных,
ИМХО, это явление должно быть исключено в принципе,
так как цензура и мочерация нарушает основополагающие права человека,
в частности статью 19 "Всеобщей декларации ООН о правах человека":
https://www.un.org/ru/documents/decl_conv/declarations/declhr.shtml

>Статья 19


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


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


>получать и распространять информацию и идеи любыми средствами


>и независимо от государственных границ.



Именно поэтому, мудрый анон валит в дарквебы и пилит решения, гарантирующие СВОБОДНОЕ ОБЩЕНИЕ,
вместо того, чтобы сидеть в ссанине с ублюдочной и невменяемой мочерацией.
963 1584195
>>83964

>1. Наноборд карасика - Scala


Я знаю, но выше ссылка на наноборду, на C#.

>2. Где сорсы Garlic? Зачем тут кому то запакованная в exe сборка?


Где-то тут: https://garlic7ravilyupx.onion.ly

>3. >но это не то.


>Почему не то?


Потому что по onion-ссылке там я поднял наноборду карасика, а она на Scala.

>Уже запилили твою идею, ты хочешь переписать под .NET?


Где запилили? Да, хочу.

> Возвращаемся к пункту 2.


Сорцы Garlic я уже дал. Если ты имел в виду пункт 1, то я не знаю Scala, я работаю над бордой на C#.

>4. p2p freenet - ага, уже запилил свою борду с блекджеком и запрещенным проном


А что тебя смущает? Freenet не стаёт у меня, точнее запускается, но не коннектится.
Можно просто вакабу поднять в onion, как тут: http://nichank62kpkrxvg.onion/

>код открытый и свободный


>Это толстота уровня /pr/? I didn't get...


Это значит, что код открытый и свободный, в отличие от копирастических хуйней патентованных.
>>83967
Не нравится идея - просто скрой и нахуй иди.
Или будешь репортить, чтоб удалили скорее, да, подсос мочерской?
Мочерация - явление дегенеративное, так как препятствует протеканию конструктивных дискуссий научных,
ИМХО, это явление должно быть исключено в принципе,
так как цензура и мочерация нарушает основополагающие права человека,
в частности статью 19 "Всеобщей декларации ООН о правах человека":
https://www.un.org/ru/documents/decl_conv/declarations/declhr.shtml

>Статья 19


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


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


>получать и распространять информацию и идеи любыми средствами


>и независимо от государственных границ.



Именно поэтому, мудрый анон валит в дарквебы и пилит решения, гарантирующие СВОБОДНОЕ ОБЩЕНИЕ,
вместо того, чтобы сидеть в ссанине с ублюдочной и невменяемой мочерацией.
964 1584196
>>83964

>4. p2p freenet - ага, уже запилил свою борду


Да, и ещё, в том же ZeroNet'e можно имиджборду поднять.
965 1584206
>>84195

>2. Где сорсы Garlic? Зачем тут кому то запакованная в exe сборка?


>Где-то тут: https://garlic7ravilyupx.onion.ly


Там хоть и есть сорцы, но там только x64 версия

>not a valid Win32 application


а по ссылке здесь:
>>83806

>https://github.com/Artifact0/Garlic


x86 exe-шник запускается нормально. Только сорца не нашёл.
966 1584225
Вкатился
967 1584295
>>84206

>x86 exe-шник


Ща бы 32битные программы делать в 2к20.
968 1584329
>>84295
x86 != x86_32

мимо
969 1584336
>>84329

>x86_32


>x86 exe-шник


nuff said
970 1584356
Если в геттерах и сеттерах нельзя прописывать дополнительную логику, то как делать например проверку ввода при инициализации значения у поля?
971 1584359
>>84356
1. В геттерах и сеттерах можно прописывать дополнительную логику.
2. Нормальные программисты создают отдельный класс-валидатор. Говнокодеры прописывают валидацию в геттерах/сеттерах или в конструкторе.
972 1584466
>>84295
>>84329

>Ща бы 32битные программы делать в 2к20.


Зато они обратно-совместимы с x64
973 1584470
>>55702 (OP)
Как запустить одновременно два разных HTTPServer'a два привязанных к ним TCPServer'a на разных портах, и начать их прослушку?
Дело в том, что при запуске сервера создаётся новый экземпляр HTTPServer'a,
внутри метода создаётся новый экземляр TCPServer'a, и прослушка происходит в цикле только для одного сервера,
а для второго не происходит, пока цикл не закончится, то есть пока первый сервер не вырубится.
974 1584493
>>83806

>Предлагаю шарпистам помочь допилить в НАНОБОРДЕ: https://github.com/username1565/nanoboard


>сервер для хостинга наноборды в TOR'e.


Блядь, там столько notif'ов пиздует. Тебя задудосят нахуй запросами, даже через TOR.
Ты Long Polling ещё не запилил?
975 1584503
Всем снова здравствуйте. Я говорил что вы больше меня не увидите. Видимо немного соврал.
В общем, я защитил все дела, преподу понравилось, но в процессе защиты произошел маленький обосрамс: Сервер я делал полностью на async, так вот, там был отдельный HttpListener, который нужен был чтобы небольшой интерфейс в браузере отобразить. Ну вот в чем и проблема, когда я запустил перед преподом программку которая эмулировала кучу обращений на регистрацию, регистрация-то шла, но из-за большого числа клиентов(я сразу ебанул 100к обращений единовременно, куча посыпались из-за того что портов не хватило либо истекало время ожидания ответа, из тех кого успел принять за 10 секунд только 1к зарегистрировались) мой запрос из браузера пару раз получал таймаут и только когда я закрыл эмуляцию и все кто успели зарегистрировались удалось отрисовать табличку зарегистрированных.
Собственно в чем вопрос: Как этого избежать-то? Типа как я понимаю, это что-то с потоками связанное, но не совсем понимаю как оно должно работать. Если бы я в классе WebInterface, запихнул Thread и потом после старта приложения, в этот Thread запихнул бы прием и асинхронную обработку HTTP запросов, это было бы нормально и тогда бы не было того обосрамса? Или таки был-бы? Может кому-то не сложно на пальцах объяснить?
976 1584523
>>84503

>https://ru.wikipedia.org/wiki/Список_портов_TCP_и_UDP


>Количество портов ограничено с учётом 16-битной адресации (2^16=65536, начало — «0»).


>Все порты разделены на три диапазона — общеизвестные (или системные, 0—1023),


>зарегистрированные (или пользовательские, 1024—49151)


>и динамические (или частные, 49152—65535).


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

>либо истекало время ожидания ответа


Гугли Long Pooling. Там что-то вроде стека формируется на сервере, и запросы стают в очередь, и повисают, пока сервер не ответит.
977 1584538
resharper юзаете? Покпной чи крякнутый?
978 1584553
>>84538
Где скачать поцоны?
https://nnmclub.to/forum/viewtopic.php?t=1347129 тут без вирусов?
979 1584600
>>84538
Я без задней мысли после месяца триала сразу пересел на лицензионный Rider. Зависимость есть.
980 1584805
>>84600
Денег нет но я держусь
image.png389 Кб, 570x480
981 1584806
предположим у меня есть как-нибудь деятельность, например тест, при загрузки страницы я устанавливаю дату начала теста, как теперь сделать постоянную ежесекундную проверку что бы когда пройдет ровно 60 минут пользователя переадресовало на другую странницу?
.jpg112 Кб, 500x375
982 1584807
Народ, меня поставили в тупичок. Есть тупой вопрос с непонятной целью, а именно:

Как избавиться от всех IFs и получить тот же результат в коде ниже? (switch/case НЕ вариант)

if(s == "car")
{
Writeln("some logic here");
} else if(s == "truck")
{
Writeln("something else here");
} else if(s == "train")
{
Writeln("of course I need more than just Writeln");
}

Меня мысль уводит в сторону dynamic assembly в .net core, но это явно не то, что они имели в виду. Туплю.
983 1584809
>>84807
where( s == "car").firstOrDefault(); ?
984 1584812
>>84806
Просто в HTML укажи переадресацию через 3600 секунд, тебе не нужна ежесекундная проверка.
985 1584813
>>84812
дело в том что по идеи пользователь может закрыть вкладку и открыть позже, или вообще на другом устройстве
986 1584815
>>84812
кроме того в любом случае я должен посчитать за сколько пользователь справиться, тоесть акакой-то таймер/секундомер нужен
987 1584816
>>84807
я думаю они имели ввиду что базы никто через иф елсы не обслуживает
988 1584817
>>84813
Тогда у твоего теста должен быть уникальный номер сессии, который ты передаешь клиенту при начале теста? Тогда тебе на серверной части надо хранить структуру из

Test
{
TestID: GUID;
TestStartDate: DateTime;
TestExpires: DateTime;
}

при загрузке страницы теста находи в массиве тестов или в базе данных этот тест, и устанавливай редирект через число секунд, которое осталось до TestExpires. Если хочешь проверку по интервалу - тебе нужен ScriptManager и Ajax UpdatePanel, с обновлением по таймеру.
989 1584820
>>84817
хорошая идея спасибо!
990 1584821
>>84816
Но это не база данных. Представь себе 3 функции, запускаемые в зависимости от выбранного значения в dropdown list. Их не устраивает if, нужен другой метод. Видимо, намёк на паттерн, вроде strategy pattern, или ещё какую-то хуйню с созданием объекта.
Это вопрос собеседования, к слову, а не практическая задача.
991 1584825
>>84821
dropdown list это лист, по отношении к нему можно юзать where результат тот же? тот же! ифы используются? нет, условия полностью выполнены? да! а если они иммели ввиду что нибуть другое то это уже их косяк, ты получил задачу и ее выполнил согласно условиям
992 1584829
>>84821
аа постой, where используется только при присвоении, так что не подходит
993 1584863
>>84807
Dictionary?
994 1584870
>>84863
Всё равно же потребует if?
995 1584872
>>84870
что у тебя за собеседование такое когда на вопрос можно отвечать пол часа?
996 1584875
>>84872
Там всего три вопроса, и можно отослать ответ хоть завтра, хоть послезавтра. Но это и правильно, в конце концов так погромист может показать, на что он способен. На два вопроса я ответил, но здесь я тупо не понимаю что от меня хотят.
997 1584883
>>84870
Зойчем? Ключ - твоя строка, значение - метод.
myDictionary["truck"]();
998 1584890
>>84875

>погромист может показать, на что он способен


сидеть на сосаче?
999 1584893
>>84890
Это была моя основная работа несколько лет, да.

>>84883
Падажжи, можно добавить метод как значение в словарь? Впервые о таком слышу.
1000 1584895
>>84893
Делегат
1001 1584897
>>84895
Да, сейчас как раз методом тыка разбираюсь, спасибо.
1002 1584914
>>84895
>>84897
Вот, что получилось.

var transportTypes = new Dictionary<string, Action> {{"car", () => Console.WriteLine("some logic here")}, {"truck", () => Console.WriteLine("something else here")}, {"train", () => Console.WriteLine("of course I need more than just Writeln")}};
var x = transportTypes as Action;
x();

Думаю, это сработает, спасибо!
1003 1584924
Посоны, какие годные конторы в Питере посоветуете, где дотнетчики нужны?
image.png12 Кб, 1107x92
1004 1584931
че он от меня хочет?
1005 1584936
>>84931
Чтобы ты объявил DateTime как nullable тип.
1006 1584940
>>84931
Ты пытаешься неявно присвоить наллабл значение не наллабл переменной. либо объяви end_time как DateTime?, либо присваивай какое-то значение по умолчанию, если game.end_date == null.
1007 1584944
>>84940
>>84936
спасибо понял
1008 1585015
>>84914

>var x = transportTypes as Action;


>Думаю, это сработает


Нет, не сработает. Как ты вообще додумался идти на собес с нулевыми знаниями?
1009 1585020
>>85015
Почему не сработает, блядь?
1010 1585021
>>84523

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


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

> Гугли Long Pooling


Погуглил. Спасибо. Хотя я сам что-то подобное придумывал но потом отказался от идеи т.к. думал что и так должно работать нормально будет.
1011 1585022
>>85020
Потому что ты кастишь к дикшинари к экшону. У тебя там всегда налл будет.
.png14 Кб, 584x223
1012 1585025
>>85022
Ты тупой?
1013 1585030
>>85025

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


>долбоеб не понимает и всё равно делает


>называет кого-то тупым



Проиграл. Объясни, нам тупым, зачем Action приводить к Action?
1014 1585031
>>85030
Просто запусти VS и попробуй не кастовать. Всё поймёшь.
post.png3 Кб, 296x49
1015 1585032
>>85025
Ты не умеешь пользоваться макабой. А зачем ты Action приводишь к Action, умный ты наш?
1016 1585033
>>85032
Ты сейчас порвёшься.
15b317f5b78d804efbc04863184ade23[1].jpg.png14 Кб, 783x351
1017 1585035
>>85031
Я слишком тупой и не понимаю.
1.png15 Кб, 510x142
1018 1585036
>>85031
Я не понял, объясни.
1019 1585040
>>85036
Блядь, оказывается индексатор в словарях умеет создавать новый элемент? Лол. Я думал тут как с массивом, типа если попробуешь обратиться по ключу, которого нет, выкинет эксепшни. Пиздец, 3й год работаю дотнетчиком и каждый раз пользовался Add(key, value).
1020 1585043
>>85035

> Я слишком тупой и не понимаю.


> Потому что ты кастишь к дикшинари к экшону. У тебя там всегда налл будет.

1021 1585047
>>85035
>>85036
То есть всё работает? Тогда зачем надо было пиздеть, что не работает? Вне зависимости от кастинга, MSIL будет одинаковым. Так что нахуй.
1022 1585048
>>85047
Сравни твой изначальный код и то что ты потом написал и заскринил, тупиздень
1023 1585049
>>85047
Так нахуй с нулевыми знаниями куда-то идти? Нравится в штаны срать прилюдно?
1024 1585079
>>84914
Кстати, обязательно сломают твой код, передав несуществующий ключ. Кстати, пошел нахуй.
1025 1585237
>>85079
Юбилейный 1024-ый пост в сисярп треде можно было и как-то оригинальнее, чтоле, написать.
1026 1585308
Почему ListBox не выделяет последний итем?
Следующий/предыдущий/первый выделяет, последний нет.
image.png8 Кб, 429x42
1027 1585332
может кто помочь? нужно вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон с шагом dx с точностью е. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда. Начал потихоньку делать, но не знаю как записать само уравнение.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
const int Iter = 2000;
Console.Write("Введите начальное значение аргумента: ");
double Xn = double.Parse(Console.ReadLine());
Console.Write("Введите конечное значение аргумента: ");
double Xk = double.Parse(Console.ReadLine());
Console.Write("Введите шаг dx: ");
double dx = double.Parse(Console.ReadLine());
Console.Write("Введите точность: ");
double eps = double.Parse(Console.ReadLine());
double ch, Pr, yn, y;
Console.WriteLine("| X\t| Y\t| Pr\t| Кол-во\t|");
Console.WriteLine("+---------------+---------------+---------------+---------------+");
int b;
for (double x = Xn; x <= Xk; x += dx)
image.png8 Кб, 429x42
1027 1585332
может кто помочь? нужно вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон с шагом dx с точностью е. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда. Начал потихоньку делать, но не знаю как записать само уравнение.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
const int Iter = 2000;
Console.Write("Введите начальное значение аргумента: ");
double Xn = double.Parse(Console.ReadLine());
Console.Write("Введите конечное значение аргумента: ");
double Xk = double.Parse(Console.ReadLine());
Console.Write("Введите шаг dx: ");
double dx = double.Parse(Console.ReadLine());
Console.Write("Введите точность: ");
double eps = double.Parse(Console.ReadLine());
double ch, Pr, yn, y;
Console.WriteLine("| X\t| Y\t| Pr\t| Кол-во\t|");
Console.WriteLine("+---------------+---------------+---------------+---------------+");
int b;
for (double x = Xn; x <= Xk; x += dx)
1028 1585333
>>85332
Это где такое задают?
1029 1585338
>>85333
в весёлом месте
ronaldo.jpg14 Кб, 280x390
1030 1585461
>>85333
>>85338
студентота подзалупная

Моча, где перекат?
1031 1585472
Шарписты на какой ступени стоят? У параши?
1032 1585481
>>85472
На верхней, в шаге от богов.
1033 1585560
>>85472

>У параши?


На параше - пофиксил
1034 1585632
Я почти закончил читать C# 4.0. Полное руководство Герберт Шилдт, уже могу рассчитывать на работу в топ компании? хуй с ним, в какой нибудь шараге
1035 1585638
Есть тут кто работает бекенд разрабом на удаленке? Расскажите свою хистори, как нашли первую работу, держитесь ли за свое место, что будите делать если уволят?
пхп пидоры проходят мимо, вопрос не вам
1036 1585639
>>85638
сук не то окно, делейт нахуй
1037 1585677
>>85632
Ну если прочитаешь полностью, то можешь на мидла сразу резюме кидать. На джуна хватило б четырех глав и двух видео на ютубе.
1038 1585678
>>85632

>закончил читать C# 4.0


долго ты что то читал

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


да, в пятерочку грузчики нужны, с твоими знаниями к ним
>>85638

>пхп пидоры


ты охуел мразь? Пыха решеткам на голову ссыт
1039 1585725
Везде пишут, что ASP.Net сверх популярен и крут, может ли знающий анон отписать тут про хотя-бы пару крутых и широко известных проектов, бэк которых был написан с использованием ASP.Net. Не поймите неправильно, я без наезда, просто сам пытался гуглить, но ничего не нашел, что очень странно.
1040 1585738
>>85725
Не сидится в джава-треде?
1041 1585752
>>85725
stackoverflow
1042 1585754
>>85752
Это все знают.
at-first-i-then-i-caption-captioned-grumpy-hedgehog-hedgeho[...].jfif25 Кб, 334x500
1043 1585771
>>85725

>ASP.Net сверх популярен и крут


В шепутиарий
1044 1585863
Где находить хорошие туториалы но сишарпу? Хотел найти какой-нибудь курс по LINQ небольшой, но на ютубе ничего хорошего нет. Где искать, куда копать?
24a9c07b2eac0184d8ef74ec8b158e4d[1].jpg470 Кб, 700x455
1045 1585875
>>85863
Тут искал?
1046 1585893
Антоны. Я установил Монодевелоп на Линукс. Какую книгу взять чтобы изучить? Можно Троелсена?Кто пишет на линуксе?
1047 1585903
>>85893

>Антоны


на месте

>Я установил Монодевелоп на Линукс


а я JVM в стиралку

>Какую книгу взять


Таненбаума, Кнута

>Можно Троелсена?


Что за ноунейм?

>Кто пишет на линуксе?


люди
1048 1585905
>>85903

>а я JVM в стиралку


Ты считаешь, что писать в Линукс на Шарпе это порнография?

>Таненбаума, Кнута


Знаю про них. Танненбаум в смысле ОС, Архитектуры или Сетей?

>Кто пишет на линуксе?


>люди


что ты хотел этим сказать?
1049 1585919
>>76893
codeabbey.com
1050 1585934
>>83806
БАМП
1051 1585938
1052 1585961
>>85863
Зачем тебе LINQ? Мертвая технология. Все нормальные люди в цикле перебирают, и ты так делай.
1053 1585964
Шарпаны, такой вопрос, сделал свой менеджер паролей, потому что не доверяю всяким пидорам, которые предлагают свои услуги. Так вот, программочка маленькая-консольная на неткоре, без всяких автовводов, просто указываешь логин и название сайте-приложения где пароль нужен, программка его дает, но меня заебывает каждый раз после перезагрузки винды и линупса включать ее, вводить логин-пароль и это все. Я подумал о том, чтобы она была демоном из-за того что демон - охуенно звучит, ну серьезно, моя программа - ебучий демон из ада, классно же. И я чет погуглил-погуглил, для винды есть возможность прикрутить к какую-то херовину, но это какой-то хостбилдер надо использовать, для линупса какой-то системд, что это вообще такое? Может быть можно как-то без них это все организовать, чтобы просто загрузился мой дебиан и оно само включилось, как-то проверило что я один раз уже вошел и сразу заработало?
1054 1585978
>>55702 (OP)
Есть Dictionary с комментами для картинок:

>var comments = new Dictionary<string, List<strings>>(); //hash картинки, список с комментами.


Задача, отсортировать его по количеству комментов в списках.
КАК?
1055 1585984
1056 1585997
>>85984
Спасибо, работает. С типами разобрался уже, и привёл результат c с типа OrderedEnumerable - снова к Dictionary.
А то там разные типы. Вот тут - наглядно: https://rextester.com/YDIGVV28057
1057 1586004
>>55702 (OP)
ПЕРЕКАТ БУДЕТ?
1058 1586005
>>86004
ПИЛИ
image862709160022064234170.gif481 Кб, 500x280
1059 1586041
>>55702 (OP)
>>86005
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030
ПЕРЕКАТ: >>1586030
image862709160022064234170.gif481 Кб, 500x280
1059 1586041
>>55702 (OP)
>>86005
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1586030.html (М)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030 (OP)
ПЕРЕКАТ: >>1586030
ПЕРЕКАТ: >>1586030
1060 1594882
сап, архитекторы, помогите недоджуну, вот у нас есть программный стек, везде говорится, что в верхнем фрейме хранятся именно локальные переменные метода, но что насчёт атрибутов класса, в котором этот метод определён? к ним можно получить доступ прямо из метода, не передавая их в качестве параметров, получается, они тоже хранятся в верхнем фрейме?
Тред утонул или удален.
Это копия, сохраненная 29 февраля 2020 года.

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

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