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

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

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

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

1. Ресурсы:
- http://stackoverflow.com/questions/tagged/c#
- http://www.tutorialspoint.com/csharp/
- http://professorweb.ru
- https://metanit.com/
- 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. С# для мобильной разработки
Если нужны инструменты для разработке под мобилы, смотри сюда - https://docs.microsoft.com/ru-ru/visualstudio/cross-platform/cross-platform-mobile-development-in-visual-studio?view=vs-2019.
Из актуальной литературы
- 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# 8.0: https://docs.microsoft.com/ru-ru/dotnet/csharp/whats-new/csharp-8

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

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

Прошлый тред тонет здесь: https://2ch.hk/pr/res/1586030.html (М) ( >>1586030 (OP) )
Архивач: https://arhivach.ng/thread/530544/
Архивач в TOR'e (доступен через TorBrowser): http://arhivachovtj2jrp.onion/thread/530544/
Аноним 2 1618708
>>18705 (OP)
9. Что почитать?
- The C# Player's Guide, второе издание (RB Whitaker) - отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода.
- C# 7.0 in a Nutshell (Joseph Albahari и Ben Albahari) - огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином. Уже появилось издание для 8.0, однако в интернетах пока его нет.
- C# 7.0 Pocket Reference (Joseph Albahari и Ben Albahari) - просто выжимка из справочника, можно всегда держать рукой
- Pro C# 7: With .NET and .NET Core (Andrew Troelsen) - 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
- C# 6.0 Cookbook (Jay Hilyard и Stephen Teilhet) - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.

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

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
Аноним 2 1618708
>>18705 (OP)
9. Что почитать?
- The C# Player's Guide, второе издание (RB Whitaker) - отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода.
- C# 7.0 in a Nutshell (Joseph Albahari и Ben Albahari) - огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином. Уже появилось издание для 8.0, однако в интернетах пока его нет.
- C# 7.0 Pocket Reference (Joseph Albahari и Ben Albahari) - просто выжимка из справочника, можно всегда держать рукой
- Pro C# 7: With .NET and .NET Core (Andrew Troelsen) - 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
- C# 6.0 Cookbook (Jay Hilyard и Stephen Teilhet) - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.

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

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 1618722
Бамп
4 1618930
>>18705 (OP)
Просто оставлю здесь валидацию host(IP)(+port): https://rextester.com/ESBKOQ82416
5 1618945
>>18930
Uri.CheckHostName
6 1619214
>>18945
Ну и чё за хуйню оно возвращает, при (string)domain_name, (string)IP_PORT, (string)domain_port?
Как же долго я ебался с гуглежом, чтобы найти вышеизложенное.
7 1619504
>>18930
А есть нечто подобное но для валидации file_path, в том числе и пути относительного, скажем "..\..\data\bigData.json",
чтобы проверяло путь, и если туда можно сохранить файл - чтобы сохраняло его,
и опционально - чтобы проверяло ещё наличие файла там, если он должен быть по указанному пути?
8 1619577
>>19504
Ах да, слышь ты! Глянь-ка, вон там, как в HardLinkCreator'e, батя пути проверяет. ЫХХЫХХЫХ.
9 1619607
>>19504
Используй io.directory io.file io.fileinfo все на msdn есть
Запись20200301101905530.mp414,2 Мб, mp4,
1232x1124, 1:15
10 1619648
>>18705 (OP)
Аноны такой вопрос не знаю почему вулетает исключение при нажатии кнопки запуска, смотрел пошагово вроде всё правильно но класс Database наотрез не хочет создавать "score.json" может кто знает почему?
класс Database
https://pastebin.com/zNtQq84n
class LevelMenu : State
https://pastebin.com/guaqHWMg
11 1619688
>>19648
Так он "fighters.json" не может найти, File.Exists() тупо возвращает false.
Попробуй в настройках проекта в отладке поставить рабочую директорию туда, где лежат все эти json-ы.
12 1619698
>>19504
К этому >>19607 еще есть класс Path.
>>19648
Юзаешь относительные пути - страдай.
13 1619701
>>19698

>Юзаешь относительные пути - страдай.


исчерпывающе
14 1619746
>>19698

> Юзаешь относительные пути - страдай.


Пфффф. Вот серьезно. Нашел к чему доебаться. Абсолютные пути это рак убивающий. Запомни это.
15 1619762
>>19746
Ебать ты додик. Ну тогда скрести пальцы и молись, чтоб программа работала в таком же окружении как и твоё. Или ты думаешь, что абсолютный путь это тот, который захардкожен строкой?
16 1619907
Хочу купить подписку на ITVDN ради курсов по ASP.NET. Стоит ли? Мб у анона есть слитые курсы?
17 1619950
>>19907

>Стоит ли платить айтицыганам за информацию, которая лежит в интернете бесплатно


Плати, раз ты настолько тупой что аж такой вопрос в голове возник
18 1619958
>>19950
Если ты агрошкольник и не можешь ответить без оскорблений, то и не высовывался бы :З
19 1620073
Шарпаны, есть один длинный сетевой метод, и я без задней мысли засовываю его в Task.Run(() => method). Все работает замечательно, но у меня одновременно только два таска могут работать. Как увеличить это число? Хочу, чтобы хотя бы 10 тасков одновременно запускалось. В спеках на проц написано, что у меня два потока на ядро.
20 1620144
>>20073

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


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

> сетевой метод


Асинхронный надеюсь?
21 1620179
>>18705 (OP)
Аноны хочу спросить не ради холивара, а ради интереса. От этого зависит дальнейший интерес.
Зачем нужен c#?
Утверждают что есть 2 ветки развития c# разработчика, а в скором и 3 будет blazor
Начнем с простого desktop - да под Винду конечно круто, но кросс платформенность рулит. Есть java, js web приложения, c++ и тут видна четкая градация - старый код поддерживаем на Java. Что-то мощное и большое c++ . Быстро что-то накатить js. Какое место занимает с#? Wpf и winforms мертвы, uwp спохватился и пытается что-то отжать. Посмотрите на игры

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

Идём дальше web. А именно backend. Тут все так же. Быстро что-то сделать js, python. Что-то сложное и крупное c++ и Java. И где-то в центре c# пытаясь сесть на 2 стула, жестокого Энтерпрайза и хипстерский новенький опенсорс язык. И не стоит забывать про ruby, тот же язык меж 2 огней, только более адекватный чем c#
Как мне кажется новые языки по типу go, rust нет нет да спихивают c#, пока майки оправдываются и говорят что они тоже опенсорс и вот даже с пацанами из mono договорились. А разработку, развёртку и установку проекта так же сложно вести, да и ещё дорого. Не каждый готов купить готовую продукцию от майков, что бы было удобнее работать с back проектом c#

Про blazor я молчу, проще js выучить, пока ты будешь думать. Как реализовать вызов окна для выбора файла. Сейчас лишь годится для получения данных и удобной работы с c# backend и все.

Так как быть аноны? Может я не прав?
22 1620219
>>20179
Ответ стандартный: открывай вакансии в своем регионе и смотри, что нужно на рынке, а что нет.
23 1620325
>>20179
Я не знаю откуда вы берете такие стереотипы, которым лет 5 минимум. Наверное смотрите видосики всяких хауди хо и других клоунов ютуба.

>Начнем с простого desktop


C# кроссплатформен. Писать декстоп можно не только на винформах и впфе. Вот где-где, а на java точно не пишут декстоп. Причем рынок смещен в сторону мобилок и тут шарп снова позволяет писать кроссплатформенный код для Android и iOS, чего не позволяет java. Много таких проектов я даже оценивал в компании на 2к сотрудников.

>c++ и тут видна


Где видна? Мне не видна. Много популярных программ вообще на делфях написаны. В геймдеве часть сишников перебежало на шарп, на юнити. Потому что несмотря на все прелести 17, писать на плюсах все равно сложно и блюпринты тут помогают от части. Другая часть, не только в геймдеве, хотят писать на расте. Существуют проекты с AR и VR на шарпе, но в вакансиях про это писать не будут.

>старый код поддерживаем на Java


Это применимо к любому языку и тому, что вокруг них обросло.

>Быстро что-то сделать js, python.


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

>Что-то сложное и крупное c++


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

>Как мне кажется новые языки по типу go


В некоторых тестах реальных низкоуровневых приложениях C# обгоняет Go, но адепты Go тебе такое никогда не напишут в своих статьях. И про всирание на серверлессах не напишут. И про сборщик мусора тактически умолчат.

>А разработку, развёртку и установку проекта так же сложно вести, да и ещё дорого.


Это неправда. C# и Java так популярны, потому что разработка дешевая и быстрая, уже понаписано куча легаси-говна, которое надо кому-то саппортить.

>Не каждый готов купить готовую продукцию от майков


О какой продукции речь?

>проще js выучить


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

Есть язык F#, который позволяет фронт и бек писать только на нем уже сейчас и писать в разы быстрее и безопаснее, чем на C#. Но с этим языком существует очень много проблем, одна из них - сранные вкатывальщики в айти, которым в универе преподают js и python и они пытаются больше нехуя не учить и гребсти бабки лопатой.
23 1620325
>>20179
Я не знаю откуда вы берете такие стереотипы, которым лет 5 минимум. Наверное смотрите видосики всяких хауди хо и других клоунов ютуба.

>Начнем с простого desktop


C# кроссплатформен. Писать декстоп можно не только на винформах и впфе. Вот где-где, а на java точно не пишут декстоп. Причем рынок смещен в сторону мобилок и тут шарп снова позволяет писать кроссплатформенный код для Android и iOS, чего не позволяет java. Много таких проектов я даже оценивал в компании на 2к сотрудников.

>c++ и тут видна


Где видна? Мне не видна. Много популярных программ вообще на делфях написаны. В геймдеве часть сишников перебежало на шарп, на юнити. Потому что несмотря на все прелести 17, писать на плюсах все равно сложно и блюпринты тут помогают от части. Другая часть, не только в геймдеве, хотят писать на расте. Существуют проекты с AR и VR на шарпе, но в вакансиях про это писать не будут.

>старый код поддерживаем на Java


Это применимо к любому языку и тому, что вокруг них обросло.

>Быстро что-то сделать js, python.


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

>Что-то сложное и крупное c++


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

>Как мне кажется новые языки по типу go


В некоторых тестах реальных низкоуровневых приложениях C# обгоняет Go, но адепты Go тебе такое никогда не напишут в своих статьях. И про всирание на серверлессах не напишут. И про сборщик мусора тактически умолчат.

>А разработку, развёртку и установку проекта так же сложно вести, да и ещё дорого.


Это неправда. C# и Java так популярны, потому что разработка дешевая и быстрая, уже понаписано куча легаси-говна, которое надо кому-то саппортить.

>Не каждый готов купить готовую продукцию от майков


О какой продукции речь?

>проще js выучить


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

Есть язык F#, который позволяет фронт и бек писать только на нем уже сейчас и писать в разы быстрее и безопаснее, чем на C#. Но с этим языком существует очень много проблем, одна из них - сранные вкатывальщики в айти, которым в универе преподают js и python и они пытаются больше нехуя не учить и гребсти бабки лопатой.
24 1620380
>>20144

> Асинхронный


Нет, обычный void

> Как ты определял


В таске добавил Console.WriteLine("task started")
25 1620384
>>20380
Значит ты написал неверный код.
26 1620385
>>20384
А как надо?
27 1620577
>>20325
Ухх. Спасибо большое прям от души отлегло, как долго я ждала подобного ответа. Ибо мне c# очень нравится, а как на вакансии смотришь один гд и поддержка кода под winforms. Надеюсь то что говоришь правда. А что насчёт blazor? Какая у него судьба web assembler взлетит?

>Готовая продукция


Azure, да и просто хост на Винде, не каждый готов предоставить за такую же цену хост на Винде.

F# на фронте? Это как?
28 1620578
>>20385
Тачску надо вызывать асинхронно и ожидать ее async / await
29 1620587
>>18705 (OP)
Странно, почему же тупая мочерация опять потёрла вот этот пост про наноборду? https://arhivach.ng/thread/538151/#1618710
30 1620588
>>20587
Я всё понел... ПОТОМУ ЧТО МОЧАН!
31 1620589
>>20587
Там ещё один пост был, кстати: https://arhivach.ng/thread/538151/#1619575
Хоть не оставляй ничего, пипец, мочан какой.
32 1620632
>>20179
если .net core взлетит, то кучу легаси говна придется на него переносить. вот тебе и работа.
33 1620671
>>20632
А потом? Перекатывается в другой язык? Или писать на blazor?
34 1620683
>>20632
А если не взлетит. Постоянно одно но, а вдруг, может быть. .net core взлетит, ещё как, люди волком выли и mono помогали чтобы кроссплатформенно было, а майки на протяжении нескольких лет упирались, пока поняли что большая часть разработчиков не на Винде сидят. Так хоть какую-то но свою долю займет. Вот я начну переписывать все на .net core. Будем переписывать это все условно лет 6-8 . А дальше что? Там уже десктоп приложения не нужны будут. Ведь есть веб. Blazor? Он же предназначен лишь для получения данных. В Гите разрабы пишут что политика blazor не нацелена изменять само Dom дерево, а через бинд параметров. Так что js так и останется.
Единственное спасение f#.
Ибо постоянно про c# в масс медия ни слуху ни духу. Все модные на python, go rust typescript пишут. А как ткнуть их носом в c#, сразу говорят иначе и про остальные языки вспоминают. Сразу лелеют c#, красивый синтаксис и все дела. И потом убегаю опять писать на модном языке.
Что блятт происходит не понятно
35 1620686
>>20578
А как у тебя сейчас?
36 1620687
>>20671
А ты хочешь выучить одну технологию и до пенсии работать на ней? В программировании так не бывает.
37 1620689
>>20687
Нет. Я хочу стабильно работать на одном языке, попытаться попробовать его и в хвост и в гриву, сгореть с языка и перейди в совершенно другой язык с другой политикой
38 1620710
Юзеры Jetbrains Rider, скажите, он умеет дебажить 32 битные проекты?
39 1620719
>>20689

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


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

пока есть винда, будет и C#. Уже 8ая версия у языка.

По вакансиям по Москве у С# где то 1500-1700, это конечно в 2 раза меньше чем у того же питона и JS, но если сравнивать с ruby, то у последнего совсем всё плачевно.
40 1620995
>>19958
он прав, кому нахуй этот ITVDN нужен? Ни одни курсы не сделают из тебя разработчика. У многих в голове абуз денег == успех, на самом деле это не так. В интернетах море инфы, главное - желание
>>20179

>Идём дальше web. А именно backend. Тут все так же. Быстро что-то сделать js, python. Что-то сложное и крупное c++ и Java


земля тебе пухом, иди на ++ они круче да нет
>>20587
наконец то моча начал работать
>>20719

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


долбоеб скорее сказал. Программист - это профессия без привязки языка от слова совсем.
>>1618880 →
я надеюсь, что весь этот пиздокульт по IT в СНГ помойке лопнет, как мыльный пузырь. И как можно скорее. И ебаный мелкософт с их решеточками, блейзора и корами вместе с ним. Да здрастует Rust
41 1621064
>>19907
Так они же и на youtube выкладывают. Посмотри и оцени их качество.

>Мб у анона есть слитые курсы?


При должном старании и сам найти сможешь.

Моя позиция насчет курсов такая: "Лучше книгу почитаю".
42 1621328
У шарпа есть аналог Javadoc? Просто на сайте микрософт стрёмные конструкции с xml написанные в виде множества однострочных комментариев
https://docs.microsoft.com/ru-ru/dotnet/csharp/codedoc
и это как-то крипово, по сравнению с
/
*/, которая ещё и все поля для заполнения в нормальных IDE сама генерирует. Может есть альтернативы?
43 1621411
>>20995
Не даром тут: https://2ch.hk/b/arch/2017-11-02/res/164121539.html (М)
писали следующее:

>Мо‌чан — площадка для насасывания модераторами друг другу в позе №69.


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

мимокрокодил
44 1621415
>>21411

>наконец то моча начал работать ----> >>20995

907d9050f42440bf29ae91962ad2adf3.jpg71 Кб, 736x920
45 1621525
Пишу пет-проект (веб-приложение). Но жена начала изучать Zbrush, устроилась на курсы. Думаю, вернуться к Unity.

Вопрос вот в чём: есть два стула. На одном веб-приложения и энтерпрайз точенный, на втором - геймдев дроченный. Стоит ли смотреть в сторону геймдева, чтобы работать с женой в одной отрасли? Геймдев в теории мне нравится, он мне близок (я например даже издававшийся писатель, хоть и нонфикшн), но энтерпрайз - это надёжное средство зарабатывания деняк.
Что делать?
46 1621527
>>21525
Нужно всегда диверсифицировать риски, если с геймдевом что-то случится, то соснёшь как ты, так и твоя жена, а вот если вы будете в разных отраслях, то шанс соснуть резко уменьшается. Поэтому выбор очевиден.

>Геймдев в теории мне нравится


Нравится он тогда, когда ты занимаешься проектами которые тебе по душе, но тебе выбора не дадут, будешь пилить херню которую скажет дядя пилить.
47 1621532
>>21527
Какая в таком случае лучшая стратегия? Геймдев оставить для своих петпроектов, а развиваться по линии энтерпрайза целиком?
48 1621533
>>21532
Как хочешь, главное чтобы в рабочем направлении не проседать.
49 1621600
1
50 1621763
>>21328
бамп. Ну, серьёзно, как тут у вас принято писать комментарии к коду, так чтоб потом одной кнопкой загенерить html?
51 1621831
>>21411
>>21415
я ссать хотел на вашу наноборду, ок? Хотите казино с блек джеком и шлюхами? Для этого не нужна борда, можно шифровать сообщения другим способом, но есть одно но - TCP/IP протокол, через который идут реквест-респонс любого интернет ресурса. И зная, что есть портал с illegal информацией, да еще и шифрованной, по которой хуй определишь Ip конкретного юзера как на мочане его просто сразу задушан на любом уровне, чтобы только к нему не было доступа. Вы будете перекидывать с хоста на хост, меняя IP, меняя домен и будете плавать в говне. Поэтому don't waste my and your time.
52 1621845
>>21763
Есть комментарии типа /// в Visual studio, которые потом можно автоматически в справку преобразовать. Попробуй, может то что ищешь.
53 1622228
Можно ли в Visual studio настроить, чтобы имена классов и имена структур подсвечивались разным цветом?
54 1622370
>>21763
Используй javadoc, нашел проблему.
devenv.jpg112 Кб, 744x434
55 1622374
>>22228
Можно, разрешаю.
56 1622408
>>22370
Так он по дефолту ничего не генерирует в студии. Модуль какой есть?

>>21845
Да! Как раз то, что нужно. А как преобразовывать..?
57 1622422
>>22408
Sandcastle поищи, так вроде называлось
58 1622423
>>22408
GhostDoc, DocFX, Doxygen, SHFB, ... Без борды даже посрать не можешь?
59 1622465
>>21831
Неуловимого Джо душили, душили, но так и не начали душить...
60 1622637
>>22408

>Да! Как раз то, что нужно. А как преобразовывать..?


https://professorweb.ru/my/csharp/charp_theory/level3/3_3.php
61 1622643
>>20995
А что за панацея с rust? Прям пишут убийца c++ но это же смешно
62 1622645
>>22643
Иди в другой тред, дауненок.
63 1622737
>>22423
DocFX же говно через консоль, разве нет?
64 1622760
Как собрать мой мега проект штоп запустить на другом компе?
65 1622766
>>22760
Просто запустить или полноценная развёртка?
66 1622781
>>22766
Ну вот я пытался мой мега проект запустить на другом компе и он не запустился
67 1622786
>>22781
Если просто десктоп приложение:
Открываешь на диске папку проекта, там ищешь папку bin, в ней папку debug. Оттуда копируешь экзешник и все дополнительные файлы и папки (данные там какие). Если применяешь всякие сторонние либы - то и их тоже. Всё это переносишь на другой комп и запускаешь экзешник. На втором компе должен нет.фреймворк стоять соответствующей версии, если под него делалось. Если под core, то хз как, не пробовал пока переносить. Кроме того учти, на твой код может антивирус ругаться, если нету подписей, а их нету.
68 1622903
Аноны как из строки превратить в объект? У меня есть json с настройками и в нем есть следующая строчка:
"path": "AppDomain.CurrentDomain.BaseDirectory"
Value я легко могу получить, но как мне теперь превратить строку в объект и чтобы он путь вернул?
69 1622907
>>22903
При помощи рефлексии.
70 1622910
>>22907
а поподробнее? А по-другому никак?
71 1622912
>>22910

>а поподробнее?


Открываешь документацию и смотришь поподробнее. Тебе только польза будет.

>А по-другому никак?


Никак.
72 1622918
>>22912
через GetValue верно?
73 1622921
>>22918
Ты с мобилы пишешь? Открываешь IDE, пробуешь. Можешь консольное приложение создать. Можешь LINQPad использовать, если лень заводить IDE.
74 1622923
>>22910
Можно парсить
75 1622924
>>22923
а если еще подробней
76 1622927
>>22924
Не слушай его, он не понял что тебе нужно.
77 1622928
Я конечно понимаю что на лет 10 опоздал с вопросом
Но вот разбираюсь в привязках в винформах
https://www.codeproject.com/Articles/24656/A-Detailed-Data-Binding-Tutorial

И тут есть пример
В разделе Binding without a BindingSource

grid.DataSource = a;
grid.DataMember = "Passengers";
grid.AutoGenerateColumns = true;
txtModel.DataBindings.Add("Text", a, "Model");

И потом при нажатии кнокпи идет добавление в коллекцию источника данных
и идет вызов
grid.ResetBindings();
Чтобы преезачитать измения с источника данных в грид
Так в чем загвоздка, этот метод не отрабатывает и данные в грид не перечитываются
Если обернуть все это в BindingSource и вызвать bs.ResetBindings(false), то все ок

Еще такой интесрный момент, что метод ResetBindings у класса Control помечен как
[EditorBrowsable(EditorBrowsableState.Never)]
public void ResetBindings();

То есть как будто его не следует уже вызывать.
Это получается они просто прикрыли использования этого метода?
78 1622929
>>22927
Хорошо, последний вопрос. Как мне достать класс AppDomain.CurrentDomain.BaseDirectory, то есть класс AppDomain.CurrentDomain. Через операции строчек? или можно как-то по-другому?
79 1622931
>>22903
Откуда такой хуевый JSON приходит? И какие варианты могут быть?
80 1622934
>>22931
Этот хуевый json из appsettings.json. У меня задача, дать возможность задавать нормальный путь или через объект, по типу: AppDomain.CurrentDomain.BaseDirectory, Environment.SpecialFolder и т.п.
81 1622939
>>22934
Ок, а кто его пихает в appsetting? Я к тому, что если это под твоим контролем, то почему бы не считать все относительные пути относительня папки AppDomain.CurrentDomain.BaseDirectory, а спецпапки указывать как обычно %%ProgramFiles%, %SYSTEMROOT% и т.д.
82 1622941
>>22939
appsetting это статический файл у net core, у меня в asp net core Web Api. В который можно пихать различные настройки перед запуском проекта. Строка к бд, ключи, данные и т.п. Вот у меня и задача дать пользователь самому определять куда разворачиваются некоторые файлы

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


не понял, еще раз
83 1622942
>>22941
Раз ты сам конфиг пишешь, то можно так:
/foo/bar/tits.jpg - воспринимать как путь относительно исполняемого файла

%ApplicationData%/boobs.mp4 - если начинается с %, значит использовать Environment.SpecialFolder

D:/dildo.txt - полный путь, значит полный путь
84 1622944
>>22942
Хм, звучит хайпово
хорошо, а если я хочу не Environment.SpecialFolder, а AppDomain.CurrentDomain.BaseDirectory, как мне это указать?
85 1622946
>>22941
>>22942
И еще, тот же Path, может съесть много, может тебе его хватить
Path.GetFullPath("%ApplicationData%/pr")
86 1622948
>>22944
То есть, это может изменить любой пользователь, который пользуется апи. Он захочет не лазая в код и меня строку Environment.SpecialFolder, а просто чтобы указал относительно чего начинается путь: Environment.SpecialFolder, AppDomain.CurrentDomain.BaseDirectory
87 1622949
>>22946
Отбой, я ошибся.
88 1622950
>>22944
Я ж тебе написал - первый пример. Если не указ диск/спецпапка считай относительно дирректории домена
89 1622952
>>22948
Бля, я совсем отупел. Я хочу сделать так:
Тот кто пользуется моей апи, мог просто зайти в appsettings.json и указать либо нормальный путь или объект который хранит какой либо путь, то есть относительно чего начинать путь: BaseDirectory, CurrentDomain, SpecialFolder
А не чтобы он лез в мой код ищя строчку Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "name")
90 1622954
>>22952

>пользуется моей апи


> мог просто зайти в appsettings.json



В голосину нахуй. Ты чужим API не пользовался что-ли, поэтому такую хуету несёшь?
91 1622964
>>22954
Ну вот хочется мне, прям руки чешутся. Ебланство конечно же, но выглядит прикольно
92 1622968
>>22964
Ладно, отброшу пока фантазии. Кто знает в .net core Environment.SpecialFolder распространяется только на винду или на другие операционки тоже?
93 1622972
>>22952
Этот >>22942 способ чем-то не подошел? Парсер для таких путей написать дело десяти строк.
95 1622975
>>22972

>значит использовать Environment.SpecialFolder


Я хотел так:

>объект который хранит какой либо путь, то есть относительно чего начинать путь: BaseDirectory, CurrentDomain, SpecialFolder

96 1622976
>>22973
Спасибо
97 1623023
Пацаны, сделал тудушку. В книге пошли какие-то делегаты, ивенты, для задротов короче. Можно ли уже открыть ВинФормс и делать мувисерчер?
98 1623026
>>18705 (OP)
Поясните про IEnumerator. Я правильно понимаю, что GetEnumenator() возвращает один из объектов массива? Какой именно, первый? Почему тогда возвращается интерфейс IEnumerable, а не сам тип элемента массива?
В какой момент вообще вызывается GetEnumerator(), это как-то foreach неявно делает? Почему там не будут генерироваться исключения?
99 1623099
>>23026

>возвращает один из объектов массива?


Нет, GetEnumerator возвращает, внезапно, IEnumerator.

>первый?


Класс, реализующий IEnumerble, умеет перебирать элементы множества.

> возвращается интерфейс IEnumerable


Кем?

>В какой момент вообще вызывается GetEnumerator()


Странный вопрос, а когда вызывается Console.WriteLine? Когда надо, тогда и вызывают.

>foreach неявно делает


Строго говоря, для форыча сама реализация IEnumerable не нужна. Там юзается рефлексия и для его работы достаточно любого класса, с методом GetEnumerator, который вернет класс с методом MoveNext и свойством Current.

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


Какое исключение где должно сгенерироваться?
100 1623166
А вот скажите мне, в начале каждого приложения по дефолту пишется куча using с ссылками на различные сборки (это же называется сборки?). Вижуал студия мне активно намекает, что хоть я их упомянул, но я их не использую. Влияют ли как-то эти ссылки на само приложение, оставаясь неиспользованными? Увеличивают ли его размер, например.
101 1623171
>>23166
Не увеличивают. Даже используемые библиотеки обрезаются ровно до используемого минимума, но это не точно.
102 1623172
>>23166

> using с ссылками на различные сборки (это же называется сборки?)


Нет, это пространства имен. Сборки перечислен в references.

> Влияют ли как-то эти ссылки на само приложение, оставаясь неиспользованными?


Нет, компилятор все вычистит. Точнее он заменит все классы их полными идентификаторами (System.IO.File вместо File). Ты можешь тоже без юзингов писать, используя полные имена. Чисто для удобства штука.
103 1623233
>>22374
Спасибо.
А можно ли эти настройки синхронизировать между несколькими компами?
104 1623318
Возможно ли в C# пометить метод (функцию) как константный (по аналогии с C++), чтобы указать программисту и компилятору, что метод не меняет состояние объекта, её вызывающего?
105 1623338
>>23318
Только в структурах. Еще есть модификатор параметра in, он как ref но менять такой параметр нельзя.
изображение.png21 Кб, 632x185
106 1623349
Учишь сишарп, думаешь щас будешь на модном писать, а тут пикрелейтед.
107 1623355
>>23338

>Только в структурах.


А в чём смысл такого ограничения?
108 1623477
>>23349

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


>Удивляешься говновакансиям аутсорс галер, ничем не отличающихся от пхп-макакинга


>пук-среньк

109 1623683
>>23023

>делегаты


>ивенты


>Можно ли уже открыть ВинФормс



тебе как раз таки в ВинФормс выше перечисленное пригодится
110 1623727
>>22903
Хз, правильно ли я понял твой трабл, но вот с помощью модели конфига и простейшей десереализации из строки.
class MyJsonConfig
{
public string Path { get; set; }
// другие поля конфига
}
..
var configText = File.IO.ReadAllText(path_to_json);
var config = JsonConvert.DeserealizeObject<MyJsonConfig>();

var pathValue = config.Path;
image.png24 Кб, 718x325
111 1623738
>>23349
не те вакансии смотришь
112 1623741
>>23727
ой, проебал параметр функции десереализации
var config = JsonConvert.DeserealizeObject<MyJsonConfig>(configText );
113 1623777
>>23683
Окей((
114 1623806
>>23777
Не понимаю, в чём сложность обучения работы с ивентами. Кликаешь (или производишь другое действие) на кнопку, она генерирует событие, т.е. ивент. К этому ивенту надо привязать метод, который будет как то реагировать на это событие. Всё. Ну а написание своих ивентов и делегатов - нахуй не нужно, в обычном программировании.
115 1623817
>>23806

>Ну а написание своих ивентов и делегатов


Чего блять? Если делегаты еще можно использовать Func/Action, хотя это не айс, то как ты без ивентов живешь? Или всё остальное, кроме крудов и поко классов, это уже необычное программирование?
116 1623823
>>23817
Ну так разговор про винформс шёл, нахуя там свои ивенты писать? Юзаешь имеющиеся у контроллеров и всё, они там все действия покрывают. А для своих классов не люблю ивенты писать. Как по мне - это загромождает и усложняет код. Прям в методе и вызываю другие методы.
image.png27 Кб, 714x419
117 1623830
Привет, не понимаю как вытащить значение из текстбокса, что-бы дальше с ним работать. что я должен прописать?
118 1623837
>>23823

> нахуя там свои ивенты писать


Не отменяет написание модели. А так у тебя получается связанный спагетти код, раз все знают про друг друга. Из команды огонят ссаными тряпками за такое.
119 1623955
>>23738
И опять кривой порт хибернейта с тонной xml.
120 1624062
ебать вы тут дегроды еще в сторону вин формс и WPF смотрите, земля пухом. Надеюсь скоро и ASP.NET Core вскроется со своими кривым blazor, которые знают со всего комьюнити 0.5 Core deva. Не будет никогда у evilcorp ничего годного. Даже шиндовс говносрадальная ось, под которую пилят только потому, что она у каждого казуала стоит
121 1624121
>>24062
Ахахах сука! Сейчас милион ентерплайз говна есть на винду и еще пол милиона будет.
122 1624353
>>24062

>пук



>>23955

>опять


Либе дохуя лет.
123 1624425
>>24062
Поскорее бы сорцы открыли и все будут рофлить над goto!
124 1624587
Хайль, бандиты. Лабораторную делаю, клиент-серверный чатик. Вроде на WCF чёт сделал. Вроде работает. И тут я узнаю, что показывать со своей печки нельзя и надо реально подключаться к удалённому чему нибудь.
Я бы дома оставил включённую пеку, но у меня айпишник не белый, не статический, хуёвый.

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

Чё делать, посаны?
125 1624592
>>24587
Подними самую уебищную виртуальную машина на азурных облаках. Там можно через рдп подключиться к ней и работать как с обычной виндой. А вообще, тебе стоит сперва забыть про вцф.
126 1624825
>>24587
На азуре можно. В принципе, когда я последний раз туда обращался, то там был варик с бесплатной на один месяц удалённой машиной.
127 1624870
Сап анон, решил вкатываться в бекэнд, есть базовые знания html, CSS, js давным давно писал на php, но это было баловство. Сейчас подошёл к процессу обучения более серьезно, мне нравится python, но эту я затею бросил поскольку в Мухосранске с ним джуновских вакансий мало нет, но дохера на php и C#. Начал потихоньку учить C# но как-то тяжело идёт, особенно не нравится что для некоторых простых вещей нужно писать в 2-3 раза больше кода, некоторое даже кажется искусственно усложненным по сравнению с теми же javascript, php и python. С другой стороны нравится что нужно думать о типах переменных, о видимости, о том что возвращают функции, то что везде нужно пилить в ООП, а не хуяк-хуяк и ТД и ТП, это дисциплинирует на некоторые вещи начинаешь смотреть по-другому. Но к сожалению плююсь чаще чем радуюсь. У вас также было поначалу или просто мне C# не зашёл? И насколько было правильным выбирать C# для старта?
128 1624893
>>24870
Лол. Как раз имею опыт в несколько лет всяких говноподелий на шарпе, пытаюсь выучить яву. Плююсь от его упрощений, так как в половине случаев нихуя непонятно какой результат будет.
Думаю дело привычки.
129 1624924
>>24870

>У вас также было поначалу


по сей день плююсь от этого индусовского говна
Насчет работы - это компании, которые случайно угодили на мелкософтовский софт, в будущем будут более внимательны и не станут становиться на те же грабли 2ой раз. Пайтон - идеальный язык по сравнению с говно-шарпиком, котороые к тому же сейчас дрочат в шарагах и вузах на первых курсах (см. посты выше). Я уже смотрю в сторону Rust и Kotlin, поэтому имо завязывай с этой йухней и выбирай нормальный язык
130 1625055
>>24592
ну, на WCF оказалось понятнее всего. Я так и не осилил нормально сокеты и прочее. Судя по всему за счёт бессистемности получаемых о них знаний. А времени на книжки уже нет

>>24825
Про азуру спасиб
131 1625199
>>24893
>>24924
Спасибо аноны, походу мне не зашло и я больше привык к питону и джс и надо прокачивать их, я собственно к этому и склонялся, если уже через несколько лет плюетесь, то походу затея не очень удачная была. Но плюсы от обучения извлёк, лучше стал ООП понимать.
maxresdefault[1].jpg65 Кб, 1280x720
132 1625470
Надо сделать enum, соответствующий различным единицам измерения физических величин.
Например Па*сек можно назвать как Pa_x_sec. Конечно, было бы лучше Pa×sec, но × использовать нельзя, поэтому и так сойдёт.
Но вот например кг/м³ как нормально назвать в C#, чтобы сохранить эстетику кода? kg_div_m3 или того хуже kg_divided_by_m3 - хуйня какая-то уродливая, от которой даже веб-макаку стошнит.
Пытался найти в таблицах символов Unicode символ в каком-либо языке, который похож на / и который можно было бы использовать в именах переменных, но сходу не нашел. Хотя греческие буквы типа μ или ρ VS нормально хавает. Даже некоторые верхние индексы типа ᵗ проходят.
Может есть надстройка для VS, которая некоторое сочетание символов отображает на экране специальным образом, по аналогии с редакторами формул? Или как-то ещё можно решить эту проблему?
133 1625473
Короче, студентота загорелся охуенной идеей: сделать свой набор контроллов для консоли. И тут меня ждал сильный обосрамс.
В общем, вброшу пример
https://ideone.com/yB6hJb

В чем собственно проблема. Когда рисуешь в консоли контрол, если делать это асинхронно, может быть хуйня, что другой пидорас передвинул курсор и рисуешь ты его не там где надо. С одним классом это решается просто, я просто делаю статичный объект локер и вроде как все работает. Но если у меня там будут прогрессбары, таблички разные и прочее. Не получится же сделать так же, если не наследоваться от какого-то совсем базового класса, типа Controll, в котором лежит локер к которому все тянутся. А если делать так, то если в консольке будет куча контроллов будет очень много времени тратится на то чтобы все отрисовать. В общем, я наверное чего-то не понимаю. Раньше же делали консольный приложухи, где все двигалось одновременно и ничего друг на друге не рисовалось же.
Я пока думал над этим, единственный выход придумал, это какой-то абстрактный экран, к которому в очередь выстраиваются контроллы, они говорят: Хочу здесь себя нарисовать, потом, когда все сказали где и как хотят нарисовать, этот экран всех в той очереди и рисует. Но блин, мне кажется, что это какая-то хуйня же.
135 1625483
>>25473
Создаешь бесконечный цикл, пока работает приложение, где по очереди вызываешь две функции:
Update - всякая хуйня на подсчитать, обработать кнопки клавиатуры и т.п.
Draw - отрисовка разницы между предыдущем кадром и следующим, в этот момент блокируется ввод пользователя

Из другого потока влиять на Update нельзя.
136 1625616
Бля, можете перечислить все темы, или кинуть ссылку где они перечислены, которые нужны для того чтобы иметь джунские знания чисто по ASP.NET Core Web Api? Хоть курс какой нибудь, чтобы чисто заголовки прочитать
137 1625677
>>25616

> Бля, можете перечислить все темы


Алгоритмы, структуры данных - чтобы ты понимал что ты пишешь и не писал говно
Паттерны, как базовые, так и проектирования - чтобы ты знал как решаются классические задачи
Знание работы сетей - ты ж, блядь, для веба пишешь, сука, как ты будешь это делать, если ты не банально стек TCP/IP не знаешь и не понимаешь что там происходит
Проектирование высоконагруженных приложений - чтобы твой бекенд от 100 клиентов не ложился, плюс никто сейчас не пишет
Знание микросервисной архитектуры, понимание того как работает событийная модель и т.д.
HTML+CSS - это стандарт, раз ты именно в веб метишь
Жаваскрипт и знание пары фреймворков и популярных библиотек - клиентскую часть сейчас почти никто не пишет на .net, а если ты будешь по 3 дня кнопку которая запрос к API делает, то нахуй ты такой нужен.
SQL и умение писать на нем запросы(если в модный-молодежный стартап вкатываешься, то еще потребуется NoSQL освоить) - банально чтобы даже с каким-нибудь EF ты понимал что своими Linq ты хуйню сделал и либо Linq составлял нормальные либо умел на нативных решениях переписать нормально
Знание, собственно, фреймворка(.net, .net core, asp.net, asp.net core) - чтобы ты не тратил кучу времени на свои велосипеды, которые уже есть во фреймворке
Знание того как работает CLR - чтобы ты хотя бы понимал что под капотом происходит и в будущем знал как оптимизировать это говно
Умение читать IL-код - аналогично пункту выше
Умение работать с докером - сейчас все еще стандарт для развертывания твоих апликаций
Умение работать с гитом - стандарт, без гита никуда
Знание линукса и умение его администрировать - твое говно в 95% случаев будет на линуксовом сервере крутиться и ты должен понимать что там происходит.

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

Рост 180см+ возраст 20-25 - чтобы хрюша не послала нахуй.
Член 20см+ - чтобы тимлид не послал нахуй.
Общительность - чтобы команда не послала нахуй
Исполнительность - чтобы менеджер не послал нахуй
Ухоженность - каким бы охуенным спецом ты не был, если от тебя воняет или ты выглядишь как чухан, никто тебя долго в офисе терпеть не будет
137 1625677
>>25616

> Бля, можете перечислить все темы


Алгоритмы, структуры данных - чтобы ты понимал что ты пишешь и не писал говно
Паттерны, как базовые, так и проектирования - чтобы ты знал как решаются классические задачи
Знание работы сетей - ты ж, блядь, для веба пишешь, сука, как ты будешь это делать, если ты не банально стек TCP/IP не знаешь и не понимаешь что там происходит
Проектирование высоконагруженных приложений - чтобы твой бекенд от 100 клиентов не ложился, плюс никто сейчас не пишет
Знание микросервисной архитектуры, понимание того как работает событийная модель и т.д.
HTML+CSS - это стандарт, раз ты именно в веб метишь
Жаваскрипт и знание пары фреймворков и популярных библиотек - клиентскую часть сейчас почти никто не пишет на .net, а если ты будешь по 3 дня кнопку которая запрос к API делает, то нахуй ты такой нужен.
SQL и умение писать на нем запросы(если в модный-молодежный стартап вкатываешься, то еще потребуется NoSQL освоить) - банально чтобы даже с каким-нибудь EF ты понимал что своими Linq ты хуйню сделал и либо Linq составлял нормальные либо умел на нативных решениях переписать нормально
Знание, собственно, фреймворка(.net, .net core, asp.net, asp.net core) - чтобы ты не тратил кучу времени на свои велосипеды, которые уже есть во фреймворке
Знание того как работает CLR - чтобы ты хотя бы понимал что под капотом происходит и в будущем знал как оптимизировать это говно
Умение читать IL-код - аналогично пункту выше
Умение работать с докером - сейчас все еще стандарт для развертывания твоих апликаций
Умение работать с гитом - стандарт, без гита никуда
Знание линукса и умение его администрировать - твое говно в 95% случаев будет на линуксовом сервере крутиться и ты должен понимать что там происходит.

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

Рост 180см+ возраст 20-25 - чтобы хрюша не послала нахуй.
Член 20см+ - чтобы тимлид не послал нахуй.
Общительность - чтобы команда не послала нахуй
Исполнительность - чтобы менеджер не послал нахуй
Ухоженность - каким бы охуенным спецом ты не был, если от тебя воняет или ты выглядишь как чухан, никто тебя долго в офисе терпеть не будет
138 1625736
Сап, анон
Есть ли годный roadmap для fullstack desktop developer’a?
Если нет, то есть ли хорошие ресурсы для создания роадмапов?
139 1625836
>>25677
Если это не паста то зря ты это писал, меня этой хуйней не напугаешь, я и так вротендер уже вкатившийся и знаю большую часть релейтеда. Меня вот именно что какие то темы по аспу интересуют, что нужно знать чтобы вебапи писать, всякие mvc параши не нужны. и вот это очень интересует

> банально чтобы даже с каким-нибудь EF ты понимал что своими Linq ты хуйню сделал и либо Linq составлял нормальные либо умел на нативных решениях переписать нормально

140 1625920
>>25836
Ту стену текста высрал какой-то студент.
15821364704580.png193 Кб, 1200x1200
141 1625922
>>18705 (OP)
Джава была топ платформой для разработки приложений, но с топорным синтаксисом. После того как накатили котлин, есть ли смысл вообще вкатывается в шарп? Достаточно ли под net core библиотек вообще?
142 1625946
Есть ли смысл сейчас пилить новые проекты на .NET Framework? Или уже только .NET Core?
143 1625952
>>25922
Попробуй и нам расскажешь.
144 1625955
>>25922

>вкатывается в шарп


только в шарагах
146 1626031
Смотрите, встала необходимость как-то админам отображать статистику. Что есть из готовых решений для рисования графиков, диаграмм и прочего?
147 1626034
>>26031
На чем?
148 1626037
>>26034
На жаваскрипте.
149 1626039
>>26037
Что делает жаваскрипт-макака в C# треде?
150 1626044
>>26039
Спрашивает что есть из готового для отображения статистики. Очевидно же.
151 1626162
>>25970
Все еще точку запятой ставите и функции суете в классы, называя их статичными?
152 1626163
>>26162
Еще эти шикарные отступы с неймспейсом и постоянное ощущение за спиной, что МС выкинет очередную палку тебе в колеса
153 1626164
>>25922
Ты стал таким же, как шарпосектанты раньше. Одумайся.
154 1626214
>>26162
Дам подсказку: ссылка открывается левой кнопкой мыши.
155 1626242
>>26164
Забавно, я до этого топил за шарфик (как минимум защищал за потуги net core). А потом понял что он все равно морально устарел.
156 1626269
>>26242
Так тебе все равно никто не даст писать на расте.
157 1626324
>>26269
Зачем мне раст, когда есть котлин-нейтив?
158 1626333
>>26324
А, так ты не тот шизик, который за раст топит?
15830536402520.png194 Кб, 586x586
159 1626346
>>26333
Я котлин-шизик
160 1626379
А я не шизик!!!
161 1626424
Аноны как быть? Есть подписка на загрузку файла локально, то есть мы подписались на обновления файла, при записи каждого блока по 1024 получаем сообщение о том что такая часть файла загружена.
Каждый раз это записывается в json, возникла проблема что при больших файлах выскакивает следующее: System.IO.IOException: The process cannot access the file '.txt' because it is being used by another process
Код записи объекта следующий :
var json = JsonConvert.SerializeObject(item, Formatting.Indented);

using (var writer = File.CreateText(path))
{
await writer.WriteAsync(json);

writer.Close();
}

Как быть?
162 1626452
>>26424

>Как быть?



Не допускать лока файла каким-либо процессом.
163 1626453
>>26452
О, точно, как я сразу не догодался. Спасибо
164 1626457
>>26453
Обращайся если проблемы возникнут.
165 1626460
>>26457
Бля братан, спасибо за помощь, если бы не ты всю голову бы сломал. От души прям
а если серьезно че делать? Как из разных потоков записывать в файл инфо
166 1626464
>>26460
Копай в сторону стримридеров и стримрайтеров, а также более низкоуровнейвой работы с файлами.
167 1626468
>>26464
Пздц. Проще будет складировать инфу в словарь. Ладно спасибо ещё раз
168 1626486
>>26468
Памяти оперативной может не хватить.
169 1627053
>>26379
Как тебе котлин-нейтив?
170 1627054
>>25946
Бамп вопросу.
171 1627057
>>26486
Да там только long должно хватить
172 1627253
>>27053
Как земля.
173 1627258
>>27253
Такой же всеобъемлющий и дарующий жизнь?
174 1627293
Как бороться с тем что строки иммутабельны? Скажем, вот строка var str = "asd"; я хочу просто добавить к ней "dsa", просто решаю сделать так: str += "dsa", но, как я понимаю, в этот момент создается копия строки, а строка "asd" все еще где-то в памяти валяется. И меня это очень сильно волнует. Вот и что делать чтобы такого не было?
175 1627302
>>27293
StringBuilder
176 1627401
Приветствую рабочий класс. Есть два стула - .NET-тчик Junior 25k и JS trainee - 18k. На какой сесть, на какой HH посадить? Перспективы у .NET:
1. Переплыть на full stack и начать зарабатывать деньги, а не собирать крошки с пола;
2. Относительно не плохой стэк на проекте - WebApi .NET Core 2.2
Опастности:
1. Улететь на легаси и тонуть в решеточном говне до скончания веков;
2. Т.к. галера свежая (судя по .NET core, а не легаси говне), то могут кинуть на Blazor, как full stack, что есть говно, калл и моча.
Насчет +- JS-сника и так все понятно, иденственный минус - это лычка trainee и меньше ЗП, но в моем городе кол-во вакансий JS vs #, как 20к1.
Дискас
177 1627631
>>27401
Еще один даун, который думает, что язык и стэк выбирается один раз и на всю жизнь? Иди туда, что больше нравится, если похуй выкатывайтя туда, где больше платят.
178 1627711
>>27631

>что язык и стэк выбирается один раз и на всю жизнь


20 летний сеньер, который меняет стек каждые два года, ты?
>>27401

>Улететь на легаси и тонуть в решеточном говне до скончания веков


На JS тоже есть шанс улететь на легаси говно типо ember / knockout / etc
>>27401

>то могут кинуть на Blazor


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

Дотнет, имхо, в твоем случае лучше, перекатиться в JS с дотнета будет проще, наоборот - нет
179 1627727
>>27631
ноулаферы на месте. Как бы охото после РАБоты дрочить новый фреймворк
>>27711

>Дотнет, имхо


я на мидла # выйду быстрее, чем на мидла JS. Просто решетки - это яма, уже в галерах ряды .NET макак редеют и адекватные люди переходят на Node или Python. Я не хочу мало того, что в легаси утонуть, так еще и уплыть на умирающих решетках в помойку. Если бы # реально были перспективные, я бы даже не думая выбрал их...
180 1627728
Аноны выручайте. Как в asp net web api передать стрим?
Есть клиент:
await client.PostAsync("Files/upload/byStream", new StreamContent(file.Data));

Есть сервер:
public async Task<IActionResult> UploadFileByStream()
{

}

Request.Body всегда пустой как быть?
181 1627742
>>27727

>Просто решетки - это яма, уже в галерах ряды .NET макак редеют


>>27727

>Я не хочу мало того, что в легаси утонуть, так еще и уплыть на умирающих решетках в помойку


>>27727

>адекватные люди переходят на Node или Python


Спорные утверждения, но раз ты так считаешь, то тебе действительно будет лучше брать JS, твои маняфантазии что на условном пайтон лучше никуда не уйдут.
Открываю секрет: на пайтоне тоже есть говно на старом торнадо, говно, которое в сотни раз (субъективно) хуже легаси, например написание условных парсеров.
Может быть тебе повезло бы влететь на нормальный проект на пайтоне, где будут современные плюшки типо AWS, но не факт.
182 1627748
>>27742

>Спорные утверждения


давай будем смотреть правде в глаза, что open source - это последний вздох мелкософт. Я люблю #, но не хочу с senior/middle опять падать до джуна в python/Go/другом языке. И кстати да - меня берут на позицию, где выгоняют фул бэкера и берут #+JS (уже сказали на собесе, что фул бэкеров осталось единицы) и я даже не знаю, в каком соотношении я буду писать бэк, а в каком фронт. Во вторник буду опять мозги ебать насчет проекта и перспектив, на JS всегда заберут, как трейни - у них только штат растет, а вот .NET-тчиков, как бы не пели за свои Core и Blazor - гонят в шею
183 1627770
>>27748

>open source - это последний вздох мелкософт


>>27748

> хочу с senior/middle опять падать до джуна в python/Go/другом языке


>>27748

>где выгоняют фул бэкера


>>27748

>гонят в шею


>>27748

>что фул бэкеров осталось единицы


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

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

Не знаю кого там выгоняют, пиздишь либо ты, либо галера

>>27748

>Blazor


Это говно никто кроме шизиков серьезно не воспринимает

Бери JS, твои маняфантазии не уйдут
184 1627785
>>27770
Я другой анон. Хотел бы спросить, а как у тебя дела с работой? Ты фулл бэк c#? На чем пишете и что используете, если есть возможность опиши свою галеру
185 1627803
>>27785

>Ты фулл бэк c#?


>>27785

>На чем пишете и что используете


Зависит от размера проекта, сейчас полностью на бэке.
.net core, ef, nancy, polly, rabbit, xunit, postgresql, mongo, на фронте часть на реакте, часть на angular2+, но ангулял планируют выпиливать

В целом проекты разные, есть и легаси на MVC5 + angular2, там как правило работают фуллстеки, хотя я бы это особо и легаси не назвал
186 1627805
>>27770

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


у меня 3 из 4 знакомых уже с веслом в руках, только раскидана от пыхаря до dev-ops (все на той же галере). Поэтому я прекрастно осведомлен, что сейчас шепчет рыночек.

>ГО говно


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

>Бери JS


Спасибо за совет, наверное так и поступлю
187 1627808
>>27803

>MVC5


легаси говоришь? Что насчет .NET 3.0 скажешь?
188 1627815
>>27808

>легаси говоришь?


>>27803

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


Для детей, как правило, всё что не Core это легаси
>>27808

>Что насчет .NET 3.0 скажешь


.NET 3.0 не так уж и плох, а вот Web forms ужасны
189 1627817
>>27803
Спасибо. Довольно стандартный набор, только докера не хватает. И этот набор полностью покрывает потребности? То есть на сколько будет живуч данный набор?
190 1627822
>>27803
А почему ef а не дапер?
191 1627832
>>27770
А и ещё есть хоть какая-нибудь надежда на blazor? Там через 3-4 года?
192 1627847
>>27817

>Довольно стандартный набор, только докера не хватает


Он есть, я просто забыл упомянуть, на .net core, кажется, это уже что-то стандартное
>>27817

>И этот набор полностью покрывает потребности?


Вполне, но это понятное дело далеко не полный список того что есть
Ef core проблемный, но в 3.0 вроде уже исправили много чего.
>>27817

>То есть на сколько будет живуч данный набор


Сложно сказать, если не будет технического долга, то вполне себе, если я правильно понял вопрос
193 1627856
Как инициализировать string'и из текстового файла на этапе компиляции?
194 1627861
>>27856
А откуда нужно инициализировать? Обычный json?
195 1627869
>>27822

>А почему ef а не дапер?


Я не помню конкретно почему, но были какие-то причины от него отказаться
>>27832

>А и ещё есть хоть какая-нибудь надежда на blazor? Там через 3-4 года


Вряд ли, да и мне лично не сильно и хотелось бы, typescript и angular приятнее
196 1627876
>>27861
Запросы SQL. Неудобно их в самом коде писать.
197 1627885
В ноябре решится судьба шарпа. Либо он обрастет опенсорс коммьюнити и wpf через vulkan api c visual studio портируют на линукс, либо отправится на свалку истории!
198 1627999
>>27885
будет 1, но успеха это ему не придаст, т.к. мелкософт как обычно держали тузы в рукаве, вот только опаздали их показать. Теперь на этих тузах будут сидеть
199 1628069
>>27885
А чьё место должен занять шапр в случае успеха? Джавы? Так она и так труп. С/С++? Ну в геймдеве юнити уже топ-1, а в остальном мёртв сам С++.
200 1628092
>>28069

>Ну в геймдеве юнити уже топ-1


ААА игры все теперь на юнити делают?
201 1628221
>>27876
У тебя целый список sql запросов.?
Короче заворачивай их в структуру json :
[
"",
"",
]
И потом через system.text.json парсь как list<string> и все
202 1628275
Аноны как в asp net core mvc читать MultipartFormDataContent?

На клиенте есть примерно

var content = new MultipartFormDataContent();
var imageContent = new StreamContent(file.Data);
content.Add(imageContent, "file", file.Name);

var response = await client.PostAsync("upload", content);

Как теперь это читать?
203 1628287
>>28221
Ну у меня порядка 15 файлов с разными SQL-задачами. Их довольно легко в этих самых файлах редактировать в Notepad++. Но я не хочу класть эти файлы рядом с exe-шником, хочу просто на этапе компиляции вшить это в соответствующие string.
А твоё решение как я понимаю тоже требует на этапе выполнения считать это всё из файла с json?
204 1628289
>>28287
а ты работаешь с asp net core web api? Если запросы статичны, то есть вообще не меняются можешь добавить в appsettings.json или свой settings.json добавить и в Startup парсить через Configuration.GetValue<string>
205 1628291
>>28287

>Требует на этапе выполнения считать это всё из файла с json?


Это самый оптимальный вариант, через Configuration.GetValue<string>, нужен тебе какой-то запрос, вызываешь Configuration и все, просто и удобно
206 1628294
>>28287
Так же в Configuration ты можешь вызывать секции, то есть запросы можно будет каталогизировать:
То есть у тебя json следующего вида:
{
"Get files by somthing":
{
"ByIndex":"Твой запрос",
"ByName":"Твой запрос"
}
И ты вызываешь Configuration.GetSection("Get files by somthing").GetValue<string>("ByIndex") и получаешь свой запрос. Очень удобно
}
image.png156 Кб, 385x367
207 1628332
знающие люди, скажите пожалуйста с точки зрения кода что будет лёгче для компа
есть лист с датам, нам нужно проверить больше ли самая большая дата указанной
что будет быстрее пройтись фором и сравнить каждые даты с указанной, или отсортировать лист по увеличению даты и сравнить указанную дату с последней?
208 1628391
>>28332
Конечно пройтись и сравнить с каждой. Сортировка подразумевает под собой гораздо больше сравнений.
209 1628402
>>28391
хорошо, спасибо анон! а тот в интернете мне какие-то люди говорили что сортировка и занимает 1 строчку а фор 10, и что лучше сортировку ведь меньше строчек кода...
210 1628408
>>28332
Сортировка в серднем займет O(n*Logn), а поиск сравнением сравнением O(n).
211 1628479
>>18705 (OP)
Как сделать нечто подобное http://ecomputernotes.com/csharp/cs/multiple-main-functions
но с помощью MSBuild?
Чтобы можно было указать какой /main юзать в качестве майна, а какие - нет.
212 1628489
>>28289
>>28291
>>28294
У меня десктопное приложение, которое пишет результаты расчётов в SQLite и читает их оттуда для сравнения и визуализации.
Ранее с json не работал, поковыряю его, посмотрю что как.
В идеале хочу иметь один файл exe, который можно передать коллегам, и он у них не сломается. Если где-то рядом должны лежать внешние файлы, вероятность, что они потеряются и всё поломается становится очень высокой.
213 1628498
>>28479
1. Google
2. MSBuild parameters
3. MSBuild properties
4. https://docs.microsoft.com/en-us/visualstudio/msbuild/common-msbuild-project-properties?view=vs-2019
5. StartupObject
Юзать как то так:

>< StartupObject >foo.Program2< / StartupObject >


или так:

>MSBuild foo.csproj /p:StartupObject=foo.Program1


>MSBuild foo.csproj /property:StartupObject=foo.Program2


Где foo.Program1, foo.Program2 - классы Program1 и Program2 в namespece foo, внутри которых эти ваши - майны.
214 1628519
>>25946
Ну что никто не знает что ли?
215 1628531
>>28519
Какой сложности и объема проект? Если мелкий - ебаш на Node JS или пыхе, если крупный интерпрайз проект - можно смотреть в сторону Java или .NET
216 1628537
>>28531
Охуенный ответ, жаль не на мой вопрос.
217 1628542
>>28537
так вопрос в проекте. У тебя логика сломанна. Это тоже самое, что спрашивать - какую машину купить - Трак или Таврию? Тебе для чего? Если с петом мелкософта поиграть - .NET core, если какой то комерческий проект - то нужно смотреть требования заказчика. Ты же блять не будешь покупать MsSql за 12к для свистелки-перделки?
218 1628551
Сап
Работаю около полугода в конторке в своем мухосранске 300к
Платят не плохо 900не деревеянных, но есть желание перекатиться и подпрокачать себя
И ввиду того что я сейчас юзаю довольно банальный стек sql,git,чутка ООП,WinForms, созрел вопрос:
Какой примерный стек нужен от джуна чтоб вкатиться куда нибудь в МСК?
219 1628717
>>20577

>F# на фронте? Это как?



например, https://safe-stack.github.io/
220 1628757
>>28551
тупейший блять вопрос, особенно со слов того, кто уже работает
221 1628768
>>28757
Но он же коровам хвосты крутит и хочет узнать как там в большом городе.
222 1628877
>>28717
Спасибо. Лол когда под тестовый язык f# больше возможностей и способностей чем под c#, я хуею. И при чем функциональная парадигма больше подходит под большой интерпрайз. А f# опен сорс или как всегда у Майков?
223 1628919
>>25473
Посмотри, как было сделано Turbo Vision (или его Free аналог). Наверное есть и более современные версии, но я давно не интересовался.
224 1628922
>>28489
В ресурсы запихни. Или в код, как константы в отдельном классе и файле
225 1628924
>>28332
Или можешь посмотреть в сторону сортированого контейнера. Вообще, изучи сложности операций в разных контейнерах
226 1628928
>>25473

>Spiner


>IsComplite


бляяя
227 1628938
>>28877
А у clojure больше возможностей, чем у всей дотнет платформы.
228 1628939
>>28877
F# не тестовый. Да, опенсорсный -- https://github.com/dotnet/fsharp.
229 1628975
230 1629144
>>28551
SQL, Entity Framework, ООП на отличном уровне, async/await (полное понимание работы), паттерны (SOLID, Репозиторий и всё в этом духе), GIT (десктопная поебень не интересует, на собесе могут спросить про конкретные команды и будут правы, а через что на проде коммитить - сам решишь), тестовый фреймворк (XUnit, NUnit, MSTest - разницы особой нет, дальше уровня ассертов обычно не спрашивают), ну и дальнейшее направление (ASP.NET MVC, Blazor, WPF, UWP, Unity, etc).
Ко всему этому лучше почитай литературу: сможешь поговорить с тимлидом на умные темы.

Если выберешь веб - должен уметь в html/css/js/bootstrap. Глубокие знания обычно не нужны, если только не впишешься в говноконтору джуном-фуллстэком.
Выберешь десктоп - там XAML-разметка. Опять же, основы лучше изучи, чтобы смог что-то сверстать на коленке.
Выберешь геймдев - готовь жёппу и шарь работодателю свои познания в математических дисциплинах.

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

Вообще странно, что работающий анон спрашивает про стек джуна, но я в чужие дела не лезу. Спрашиваешь - значит есть зачем.
231 1629194
>>29144
Антон как думаешь такого портфолио хватит?
Есть на uwp работающий клиент ftp, документацию ещё пишу и пару классов надо подправить. Делал все через mvvm, через команды
Есть на ангуляре 8 свой бложик, с wyswyg и бэк в виде шарпа с даппером.
Есть проект освещения на ардине под десктоп на winform, это самый доделанный проект, но и самый первый, там надо переделывать всё
Есть так пару проектов на blazor с js, по типу тудушек.

По патернам есть всякие фабрики, компоновщики, стратегии. Фасады и т.п.

Более менее соблюдаю solid. Документация есть в половине проектов.
232 1629231
>>29144
Ебать спасибо тебе, человеческое
Да я работаю на галерах макакой, это слабо связанно с нормальным программированием
233 1629347
анон, почему визуал не видит класс елемента? у меня в контролли есть "FilteredGridView" но в одном проекте визуал его видит пикрил1 а во втором пикрил2 нет... я не могу понят почему, все названия пространства имен я вроде поменял на нужный
234 1629365
Зачем нужны nullable reference types в C# 8.0? Ссылочные типы ведь и так могут быть null. Что изменится, если объявить его nullable?
235 1629386
>>29365
Введено вместе с Non-nullable reference types, чтобы ты мог показать компилятору, что эта переменная может иметь значение null и её нужно проверять на равенство null перед доступом к значению, если её объявить как non-nullable то ты не сможешь присвоить этой переменной значение null и тебе не нужно будет делать проверки на null при доступе к значению этой переменной.
236 1629393
>>29347
я разобрался, необходимо было править вебконфиг
152345.png7 Кб, 641x290
237 1629419
>>29386

>если её объявить как non-nullable то ты не сможешь присвоить этой переменной значение null и тебе не нужно будет делать проверки на null при доступе к значению этой переменной.


Но компилятор на это не ругается, только предупреждение даёт. И присваивать null позволяет, и сравнивать.
238 1629428
>>29419
Пиши разрабам чтобы исправили.
239 1629890
Посоны где прочитать про использование com объектов в c#, мб какие-нибудь книги есть по этой теме?
240 1630153
>>29194
Да, звучит неплохо. Если это не копипасты с метанитов или чужих гитов и сможешь пояснить за свой код - можешь шарить в попенсорсе и кидать ссылки в своём резюме. Но документацию лучше допиши: сам не забудешь и тимлиду понравится такой подход.
241 1630244
О боги программирования! Нужно помощь по оптимизации.
Есть данные в виде List<List<string>> (по сути таблица), которые нужно преобразовать в текст с нужными разделителями. Можно это как-то сделать быстрее и оптимальнее, чем на пике? А то оно ОЧЕНЬ долго(много часов) добавляет разделители при огромном количестве столбцов и строк.
242 1630256
>>30244
Начнем с того, что цикл foreach в 4-5 раз медленнее, чем обычный for. Закончим тем, что ты идиот, не понимающий базовых вещей, если для аппендинга используешь иммутабельные стринги, которые создают новый string при любой операции, их меняющей.
.jpg71 Кб, 453x604
243 1630263
>>30256
Да я даже не джун, ну чего ты.

>Начнем с того, что цикл foreach в 4-5 раз медленнее, чем обычный for.


Ок, переделаем под for.

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


Что и как можно использовать вместо них?
244 1630271
>>30244
>>30263
Для работы со строками используй StringBuilder. А говнокод твой непонятен. К чему у тебя обертка в виде списка вообще, если в твоём примере заменить List<List<string>> на List<string>, то всё что изменится это станет на 1 цикл меньше? И почему разделители нельзя добавить сразу при создании изначального списка, добавив сразу всё в результат?
245 1630278
>>30263

>Да я даже не джун


экспрессо среднее, 1 сахара
246 1630305
>>30278

кспрессо


>среднее


Селюк плез
247 1630307
>>30305
давай неси и не выебывайся, смерд. Сегодня без типсов, за длинный язык
.jpg196 Кб, 1200x1600
248 1630320
>>30271

>Для работы со строками используй StringBuilder.


Спасибо!

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


Да, ты прав, переделаю, чтобы 2 раза не обходить.

>К чему у тебя обертка в виде списка вообще, если в твоём примере заменить List<List<string>> на List<string>, то всё что изменится это станет на 1 цикл меньше?


Так это таблица: один список строк - одна строка обработанных данных. Хм, хотя наверное да, можно сразу все в один StringBuilder c \r\n делать, тоже переделаю.
249 1630330
>>30320
Суть в том, что в примере у тебя все строки получат один разделитель, единственное отличие в том, что ты добавляешь \r\n после конца каждого массива строк. Можно заменить на \r\n после каждых n строк,если для тебя просто важно чтобы результат выводился столбиком.
Т. е. получится что-то вроде
var sb = new StringBuilder();
for (int i = 0; i < data.Count; i ++)
{
sb.Append(data + separator);
if (i % 10 == 0) sb.Append("\r\n");
}
250 1630334
>>30330
макаба съела квадратные скобки [ i ] у data
251 1630347
>>30153
Спасибо. Нет, не копипасты, брал от туда только части и под себя делал. Надо будет еще нормальное резюме составить и алгоритмы всякие подтянуть
252 1630359
>>30330
Да нахуй ты этому идиоту со шлюхами помагаешь? Написал, что у него не так - дальше пускай сам разбирается, в гугле его не забанили. А так ему очевидно будет похуй почему for быстрее foreach и что такое мутабельность; через полгода будет плодить очередные высеры о том, что иммутабельность - зло и вообще ненужно.

P.S.: У тебя в коде всё равно происходит конкатенация в выражении "data[і] + separator".
253 1630362
>>30359

>конкатенация в выражении "data[і] + separator".



Без этого никак. Ради сложения двух строк создавать sb - ненужный оверхед.
254 1630365
>>30362
Издеваешься? Ещё один аппенд дописать и готово. Или хочешь сказать, что одна лишняя строчка убьет читабельность?
255 1630369
>>30365
Нет, всё верно, я просто тупой.
.jpg111 Кб, 600x900
256 1630370
>>30330
Длина строк всегда разная, тк не все колонки задействованы, но все равно спасибо: я так же буду на моменте обработки данных добавлять \r\n и сразу собирать итоговый StringBuilder.
257 1630420
>>18705 (OP)
Как сконвертировать код на CSharp в C или Python?
258 1630421
>>30420
А ещё - в кресты (C++), чтобы вообще заебись было?
259 1630427
>>30420
Берешь и переписываешь без задней мысли.
260 1630641
>>19648
Почему у тебя код уровня студента ПТУ?
Где лежит твой json файл?
Ты уверен что точно знаешь, как работает Data.ReadObject()?
261 1630642
>>19762
А что по твоему происходит с относительной строкой? Она точно также превращается в абсолютную, зависит от настроек и магии твоего фреймворка или приложения.
262 1630690
>>20179
О-о-о, моя любимая тема!

Tl;DR в самом конце.

Disclaimer
Работаю с C# с версии 1.0 (год 2003 на дворе). Начинал со всяких пхп, вб, делфи. Делал проекты на C++ и Джаве в универе, в аспирантуре, на работе. Встречался со Страуструпом, который заявил что если кто-то найдёт мастера с++, то он очень хочет с ним познакомиться, потому что по его мнению плюсы невозможно знать хорошо, их можно просто знать (отсюда и большая нужда в Rust, на котором уже начали делать добавления к Линуксу, писать дрова и вообще целые ОС - https://www.redox-os.org/, новые игровые движки и конечно WebAssembly).
Работал как в энтерйпрайзах типа Amazon, GM, Siemens, так и стартапах от 2 до 10 человек.
Преподавал Ruby, JS/TS и Python в универе по вечерам в свободное от работы время.

C# - наше всё
Помню как Java и Ruby начали вируситься из всех щелей. Коллеги и товарищи постоянно пытались перетянуть в один из этих языков. Стабильно раз в год я брался за большие проекты с одним из них. Потом еще добавился Питон, NodeJS. Потом всякие React'ы и Angular'ы.

Мне нравилась моя среда разработки, но постоянно гложило то, что я завязан на разработку под Винду и одну единственную IDE. А также зависть того, какие крутые штуки может вытворять JVM (по сравнению с CLR). Поэтому поиск куда бы перескочить продолжался.

Но каждый раз как я пересаживался на Java, я не мог перестать плеваться. Пусть Spring (благодаря JVM продвинутости) и имела крутые фичи в своём арсенале, но постоянно было ощущение что работаешь с костылями и бета продуктами. Постоянно надо было дружить сотни разных библиотек от разных создателей друг с другом. Бесконечное курение мануалов, которые надо было искать по всем закоулкам интернета.

Про Руби с его рельсами вообще молчу. Он появился как замена ПХП. Позволял быстренько клепать POC, Demo и небольшие сайты под копирку. Отсутствие производительности решалось закупкой железа и большими счетами за хостинг.

Питон по производительности тоже где-то там рядом с Руби, кстати. Не один раз приходилось переписывать API с Питона на C#.
Работая с теми же самыми ресурсами (DB, Queues, distributed cache, external APIs, etc.)
- Python выдавал 5-10 сек
- C# - 50-500 мс.

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

TL;DR
С выходом dotnet core все сомнения отпали:
- довели до ума то, чего нам не хватало из Spring
- open source и cross-platform!
- производительность больше не проблема
- писать и запускать код можно в VS, VS Code, <вставь что нравится>, Notepad++, терминале (lol)
- писать можно под мобилки, веб, облака, игры, любой десктоп и нынче даже скрипты для автоматизации
- Azure любит C# и dotnet по умолчанию (остальные облачные платформы тоже с радостью с ними работают)
- F# никуда не уходил и только стал лучше
- WebAssembly c Blazor в самом разгаре и будут становится более популярными с адоптацией HTTP 2 (а скоро и HTTP 3), который уже поддерживается всеми облаками
- Powershell теперь может работать на Core, используя все его плюшки

https://visualstudiomagazine.com/articles/2020/03/06/de-icaza-webassembly.aspx
262 1630690
>>20179
О-о-о, моя любимая тема!

Tl;DR в самом конце.

Disclaimer
Работаю с C# с версии 1.0 (год 2003 на дворе). Начинал со всяких пхп, вб, делфи. Делал проекты на C++ и Джаве в универе, в аспирантуре, на работе. Встречался со Страуструпом, который заявил что если кто-то найдёт мастера с++, то он очень хочет с ним познакомиться, потому что по его мнению плюсы невозможно знать хорошо, их можно просто знать (отсюда и большая нужда в Rust, на котором уже начали делать добавления к Линуксу, писать дрова и вообще целые ОС - https://www.redox-os.org/, новые игровые движки и конечно WebAssembly).
Работал как в энтерйпрайзах типа Amazon, GM, Siemens, так и стартапах от 2 до 10 человек.
Преподавал Ruby, JS/TS и Python в универе по вечерам в свободное от работы время.

C# - наше всё
Помню как Java и Ruby начали вируситься из всех щелей. Коллеги и товарищи постоянно пытались перетянуть в один из этих языков. Стабильно раз в год я брался за большие проекты с одним из них. Потом еще добавился Питон, NodeJS. Потом всякие React'ы и Angular'ы.

Мне нравилась моя среда разработки, но постоянно гложило то, что я завязан на разработку под Винду и одну единственную IDE. А также зависть того, какие крутые штуки может вытворять JVM (по сравнению с CLR). Поэтому поиск куда бы перескочить продолжался.

Но каждый раз как я пересаживался на Java, я не мог перестать плеваться. Пусть Spring (благодаря JVM продвинутости) и имела крутые фичи в своём арсенале, но постоянно было ощущение что работаешь с костылями и бета продуктами. Постоянно надо было дружить сотни разных библиотек от разных создателей друг с другом. Бесконечное курение мануалов, которые надо было искать по всем закоулкам интернета.

Про Руби с его рельсами вообще молчу. Он появился как замена ПХП. Позволял быстренько клепать POC, Demo и небольшие сайты под копирку. Отсутствие производительности решалось закупкой железа и большими счетами за хостинг.

Питон по производительности тоже где-то там рядом с Руби, кстати. Не один раз приходилось переписывать API с Питона на C#.
Работая с теми же самыми ресурсами (DB, Queues, distributed cache, external APIs, etc.)
- Python выдавал 5-10 сек
- C# - 50-500 мс.

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

TL;DR
С выходом dotnet core все сомнения отпали:
- довели до ума то, чего нам не хватало из Spring
- open source и cross-platform!
- производительность больше не проблема
- писать и запускать код можно в VS, VS Code, <вставь что нравится>, Notepad++, терминале (lol)
- писать можно под мобилки, веб, облака, игры, любой десктоп и нынче даже скрипты для автоматизации
- Azure любит C# и dotnet по умолчанию (остальные облачные платформы тоже с радостью с ними работают)
- F# никуда не уходил и только стал лучше
- WebAssembly c Blazor в самом разгаре и будут становится более популярными с адоптацией HTTP 2 (а скоро и HTTP 3), который уже поддерживается всеми облаками
- Powershell теперь может работать на Core, используя все его плюшки

https://visualstudiomagazine.com/articles/2020/03/06/de-icaza-webassembly.aspx
263 1630692
>>30690
перед тем как спросить у тебя куча вопросов и поблагодарить множество раз, если у тебя хоть какие-нибудь пруфы, подтверждающие твои слова о опыте.
264 1630696
>>30692
Это же деанон, ну ты че.
Обычно опыт подтверждают собеседованиями. В данном случае наверное просто техническими запросами о помощи.
265 1630703
>>30696
хм. хорошо я уважаю твой выбор. тогда посыплю вопросиками.
Сразу в омут, blazor. Blazor должен вот-вот выйти, но очень сырой. Нет route catch all, нет нормального получения информации перед загрузкой Dom дерева, нормальные модельные окна не создать без костылей, localstorage не работает даже в тестовой репе у майков, не работает простые взаимодействия с системой - выбор файлов. и это только с тем что я столкнулся, а сколько еще. То есть без js blazor полуживой.
Насчёт .net core, инфы очень мало. вот недавний случай, ножно было через multiple part отправлять с клиента стрим с именем файла в net core api. Ели как нашел документацию от майков в репозитоии примеров, в котором говорится что этот пример может отправлять большие файлы ~2MB но это же смешно. А самое веселое это то что стрим на сервере превращается в тыкву, в memory stream без буфера. Я это понял когда захотел отправить около 500мб. И это только один случай такой ебли с бубном. Хотя кричат опенсорс, комьюнити, а по итогу на гите проблема с оптравлением большого файла открыта. А на стаке все поголовно отвечают что нужно через memory stream.
И таких проблем много, тот же cors политика отправки.
Я это к чему, все кричат о c# круто, быстро, опенсорс, а после своих выкрикиваний показывают как массив сортировать и все. а о том как работать с файлами, бэком брокерами и и.п. ни слуха ни духа, только копипастят друг друга что в голову придет и все. А потом приходится через тонны документации Майков искать крупицы.
грустно это все
266 1630706
>>30703
а вот ещё вспомнил весёлый случай. игрался с апи, у которое есть долгое время ожидания. пошел гуглить как подписываться на ожидание и какие есть альтернативные пути. на стаке говорят, делай через async/await и пингуй раз в 1000ms, лол. облазил все. кто-то говорит про thread, кто-то предлагает с нуля реализовывать систему менеджера, который будет выдавать нужные результаты, приводя при этом пример пару строчек. Благо тут анон хороший нашелся и почти готовую систему скинул. А потом мне вечером в рекомендациях появляется видео в рекомендованных про митап .net и вступление чувака про rxjs, боже благослови его золотые руки. И это только из недавнего и что смог вспомнить
267 1630707
>>30690

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


>open source и cross-platform (на самом деле всё давно в пизде и остается лишь перепаковывать бинарники)


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


>код можно писать


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


>MS пропихивает свою говно на своей платформе


>F# всё еще самый невнятный высер ФП мира в истории, саймон пейтон ситуацию не спас


>Полноценные WebAssembly фрейворки, написанные комьюнити даже на TS и Rust'e, идут в продакшены


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

268 1630708
>>30706
и это только с web API. мне страшно представить что будет если я захочу пол мобилки начать писать и в мою голову опять какое-нибудь дерьмо придет и буду опять мучиться как с wpf. Однажды я решил добавить контекстное меню в wpf приложении через command и mvvm. оо сколько простыней инфы я получил о костыле proxy, биндинге и о том что виртуальное Dom дерево нет в wpf. а вот о том как нормально связать команды vm и vm меню ничего, только пласты инфы о паттерне proxy
269 1630719
>>30707
Люди берут нормальный инструмент и делают продукты, которые нормально работают годами да, большинство кода на любой платформе и языке пишется макаками, которые влезли в область ради денег, не надо сравнивать с ними.
Всегда найдутся те, у кого рот полон говна и им не терпится им поделиться с окружающими.

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

https://www.techempower.com/benchmarks/#section=data-r18&hw=ph&test=plaintext
https://stackoverflow.com/questions/43920942/unexpected-outcome-of-node-js-vs-asp-net-core-performance-test
https://raygun.com/blog/dotnet-vs-nodejs/ - этот пост как только уже не сношали.
270 1630721
>>30703
У всех конечно своя специфика работы и свои проблемы, поэтому со всех их множеством ни один эксперт никогда не столкнётся. Я помню до 2012 года инфу реально было сложно гуглить (особенно на русском). Основным источником знаний были коллеги и документация внутри компании.
Потом как-то проще стало до выхода первой версии Core. Но оно было ожидаемо. Любой свежак еще несколько лет обкатывать надо (ждём .NET 5 в этом году, который должен стать первым стабильным продуктом после появления Core). Тот же Blazor еще до нормального прода надо пару лет дорабатывать. Любой продукт эти стадии проходит.

Сейчас с поиском инфы проблем вообще не возникает. И обратная связь появилась и работает хорошо:
https://docs.microsoft.com - тут можно прям в статьях вопросы задавать (снизу на странице) и отвечают быстро.
https://github.com/dotnet/core/issues

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

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

А еще люди уже который год не могу срастить разницу между параллельной и асинхронной обработкой:
https://dev.to/scotthannen/concurrency-vs-parallel-vs-async-in-net-3812

Научившись правильно работать с async/await много проблем быстро отпадёт.

На счёт твоей multipart проблемы - вот это еще не читал?
https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-3.1
271 1630723
>>30708
WPF меня каким-то образом обошёл стороной. Мы сразу с винформс в веб перескочили и там сначала был ад asp.net web forms, а потом достаточно быстро в asp.net mvc, RESTful и на клиенте сначала всякие knockout'ы, а потом Vue, React, Angular.

Делали проекты на Xamarin для андроида и ios (там тоже XAML используется). Бэкенд на Core с API, и разные морды под веб и под мобилки. Большую часть времени мы ломали головы над бизнес задачами, а не техническими проблемами. Так что не боись.
272 1630724
>>30707
Один и тот же код деплоим хоть так, хоть в докер конейнере в винду и в убунту. Работает из коробки без напильников.
273 1630726
>>30721

>усложнять жизнь


Так я поэтому-то и ищу решения от Майков а их нет. Идёшь на стак а там пишу вот так упрощённо записывая все в memory stream. Вот и приходится не найдя готового инструмента и простого и лаконичного решения делать костыли.

>На счёт твоей multipart проблемы - вот это еще не читал?


Это и читал, особенно главу : Upload large files with streaming
Если зайти в репу примера загрузки и посмотреть под капот можно увидеть сюрприз:
https://github.com/dotnet/AspNetCore.Docs/blob/master/aspnetcore/mvc/models/file-uploads/samples/3.x/SampleApp/Utilities/FileHelpers.cs

>return memoryStream.ToArray(); ой-ой вот тебе и загрузка больших файлов, а в доках к репе написано ~2mb вот это мощь. А почему нельзя читать стрим? А потому что seek у него отключен, он сразу в конечном положении и получается только через массив байтов.



А так спасибо за помощь. А вы ждёте файлы несколькл дней через async? если да, то это как? Просто я для себя открыл iobservable и rxjs и теперь асинхронные ожидания не проблема.
274 1630728
>>30723
Спасибо. а как вы на xaml делали контекстное меню и прочие штуки, которые требуют виртуального дом дерева? хотя бы кратко и как это все связывали через mvvm
275 1630732
>>30721
между async и параллельностью это пончьоо6, спасибо лысому из itdvn. если кратко, то async позволяет отложить задачу до тех пор пока не выполнится, отдавая обещание в виде таска, там ещё Стейт машина переводит контекст выполнения программы дальше и много ещё умных слов.

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

>полностью

278 1630757
>>30719

>нормальные бенчмарки


>techempower


>plaintext


Долбаеб виден из далека.
279 1630759
.
280 1630796
>>30690

>какие крутые штуки может вытворять JVM (по сравнению с CLR)


давай, расскажи мне за эти "штучки". Я уже расстегнул молнию на брюках и выпил литр воды. Готов тебя слушать
281 1630982
Посоветуйте, пожалуйста, книгу на русском языке с примерами кода полезных приложух, вроде Automate the boring stuff на Питоне.
282 1631194
>>30728
Эмм, там хоть и XAML, но если ты Web controls не используешь, то никакого DOM нет. Все UI элементы доступны из кода.

Не смог найти доков, по которым мы MVVM делали, все ссылки на xamarin.com теперь ведут на майкрософт докс.

Мы выгребали данные из всяких DataSources (DB, API) и отправляли объект для рендеринга во ViewModel.

abstract class ViewModelBase : ExtendedBindableObject, INavigationAware, IDestructible

class ScheduleManagementPageViewModel : ViewModelBase
partial class ScheduleManagementPage : ContentPage

ScheduleManagementPage.xaml
ScheduleManagementPage.xaml.cs
ScheduleManagementPageViewModel.cs
283 1631217
>>30690

>Работая с теми же самыми ресурсами (DB, Queues, distributed cache, external APIs, etc.)


>- Python выдавал 5-10 сек


>- C# - 50-500 мс.


Какие-то охуительные истории. При работе с базой, сторонними сервисами и тому подобным 95% времени тратится на сетевое IO, и ожидание ответа, та хуйня что ты там мог выиграть за счёт скорости выполнения кода это капля в море.
284 1631230
>>31217
зачем ты копротивляешься, Мистер Андерсон, почему ты принимаешь того, что python > #
285 1631253
>>31194
спасибо большое. да ошибка вышла, спутал с дом деревом. статья было что в wpf нет виртуального визуального дерева и все надо через код делать, а потом уже биндить экземпляр меню.
286 1631255
>>31194
а есть хотя бы скриншоты, магазин. где-то можно пощупать продукт?
287 1631264
>>30726
А тебе файл сразу из браузера надо стримить в реляционную БД что ли? Примеры они на то и примеры, чтобы показать имеющиеся классы и методы. Код в примерах ни разу не для прода. Никогда его не копипасть.
Ссылка у тебя на пример приложения (sample). А то щас люди подумают что это часть фреймворка.

Стрим надо в файл уложить, там нормальный пример с async/await для этого есть, а дальше можно и в какой-нибудь BLOB storage (осторожно с using'ами, тот код для прода тоже надо переписывать).

Файлы мы по несколько дней не ждём, они быстро записываются на какой-нибудь диск. Обычно такие операции (для отправки) через fire-and-forget делаются. Для приёма косяк может быть только если соединение плохое.

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

Такие долгие операции асинхронно и через всякие очереди делаются (RabbitMQ, NServiceBus. etc.). Иногда сервис периодически опрашивает процесс, иногда процесс может отправить сигнал на сервис о success/failure.
Hangfire - прикольная штука. Много где вижу.
288 1631295
>>31255
Нет.

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

Если очень хочется что-то пощупать, то вот публично доступный сайт: https://www.shopcarsnow.com там процентов 20 моей работы на фронте и 80 на бэке
289 1631356
>>30735
Интерфейсы были введены для обеспечения Trait design-pattern, потому что у МС не было времени думать как правильно заимплементить множественное наследование и они просто скопипиздили дизайн из Джавы.

Но с C# 8 появились нормальные Traits. Это те же интерфейсы, но они теперь позволяют добавлять имплементацию методам. Абстрактные классы (на собеседованиях о них только старички вспоминают, в проде я их уже лет 5 не видел) больше не нужны.

А вообще на интервью на вопрос "what's an interface?" в 99% случаев ожидают услышать "interface is a contract". Потом начинают копать в сторону DI, IoC и SOLID principles.
290 1631376
>>31356

>Но с C# 8 появились нормальные Traits.


Может сперва почитаешь, что такое трейты, прежде чем высирать свое важное мнение?
291 1631420
>>31356

>Но с C# 8 появились нормальные Traits. Это те же интерфейсы, но они теперь позволяют добавлять имплементацию методам.


Угадай откуда это скопипиздили.
292 1631447
>>31420
Что тут гадать, там же уже написано - Джава. А потом их в Скале так и обозвали вместо интерфейсов.
293 1631458
>>31376
Приятно подискутировать с экспертом в своей области, который умеет четко и доступно донести свои мысли и предоставить аргументы с проверяемыми фактами.

Я всегда допускаю что не знаю/плохо понимаю какую-то тему и готов узнать что-то новое.

Вам про
- traits in Java, Scala, Python, Rust, C#, <вставь пропущенное>
- traits как design-pattern
- трейты у пацанов на районе?

надеюсь обойдёмся без мамок, ёбли и говна
294 1631460
>>31447
Не, там написано про обычные интерфейсы, которые из-за нехватки времени взяли. А в C# 8 шарп уже стоял на ногах и было время подумать над "новым".
295 1631470
>>31460
Как бы сам паттерн уже давным давно существует и с разной степенью корявости существует практически во всех мэйнстримовых языках. Разные языки с разной скоростью адаптируют/заимствуют новые и старые идеи. Никто этого не скрывает и никакие срывания покровов не нужны. В чём смысл твоего тыкания пальцем?
296 1631471
Когда в компиляторы C# завезут автоматическое использование AVX в циклах и остальные оптимизации с AVX инструкциями? в C++ это реализовано уже давно.
297 1631478
>>31471
C++ сравнения надо отправлять к Rust'у.
298 1631481
>>31470
Мне в том посте показалось некое противопоставление старых интерфейсов и трейтов. Якобы вон новые красивые фичи vs старье из джавы. Но возможно только я подумал в таком ключе.
299 1631499
>>31481
Спасибо за адекватный ответ. Было бы здорово, если бы люди чаще признавались в том, что они пытаются спорить и агриться на то, что сами выдумали, а не на то, что происходит на самом деле.
мне тут запятых подвезли, не знал куда девать
Версия покороче: сам выдумал, сам разозлился/обиделся
300 1631566
Используете ли вы в своих проектах документрующие комментарии по типу <summary></summary> ?

Если да, то подскажите лучшую практику их использования.
302 1631584
>>31580
Так когда автоматическое завезут?
303 1631835
>>31264
Стрим нужно из браузера на сервер, а там разбить по блокам и записать на диск. Идеально было бы если файл на клиенте разбивать на архивы и их на сервер отправлять, но это пока мечты
304 1631839
>>31356

>Traits


так они же были псевдо типажами и делались костыльно через расширение. Или что-то поменялось?
305 1631931
>>31566
Нет.
306 1631965
>>31566
Да, в случае если результат использования метода не очевиден, подписываю что он делает
307 1632246
>>31566
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/xmldoc/recommended-tags-for-documentation-comments

Документировать всё подряд - бред.
Обычно доку добавляют для публичных классов/методов:
- АПИ методы у контроллеров, которые потом автоматом в OpenAPI (Swagger) доку превращаются;
- АПИ у либы, которую ты пишешь для других.

Там дофига тегов, которые позволяют добавить сильную типизацию в твои комменты, избежать магических строк и уменьшить кол-во печатаемого текста.
308 1632479
Есть способ не создавать новый Reader каждый раз, когда меняется CommandText в объекте SqlCommand? А то получается какой-то одноразовый объект, после того как открыл, прочитал выборку, и закрыл.
309 1632490
>>32479
В 2020 использовать SqlCommand и Reader...
310 1632531
>>32490
Что с ними не так?
311 1632532
>>32490
Не я выбираю, увы, библиотеки, которые мы изучаем и должны использовать в лабораторных работах.
312 1632541
>>32532
ааа, студенты! для вас книги и онлайн курсы есть.
313 1632545
>>32531
Никто нынче голый коннект к БД не делает, только извращенцы и у кого много свободного времени.
EF Core вам в руки.

По существу вопроса. Reader предназначен читать данные один раз и в одном направлении. Соединение с БД - оно должно переиспользоваться. Reader - дёшево. Connection - дорого.

Не хочешь читать данные кучу раз - схорони в объект/кэш.
314 1632602
1
315 1633030
>>32545

>EF Core


Не знаю про Core, то тот EF что я видел 6 лет назад был таким тормозным, что писать на нём могли только сайты для школьников и студенческие лабы.
316 1633075
>>33030
Ты или программист-любитель или в айти по какой-то другой специальности. В программировании мир каждые пол года сильно изменяется. 6 лет - это вообще эра динозавров.
317 1633109
>>33075

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


В программировании ничего не меняется уже лет 20. Клепание говнофреймворков различными дебилами десятками в год, которые живут по полгода пока ими увлекаются другие дебилы и не понимают что это то же говно в новой обертке, это не изменения.
Алсо, у меня нет никаких сомнений что EF Core такое же тормозное говно как сам EF.
318 1633124
>>33109
lol
Ты не путай хипстеро программистов, которые клепают свои ноды и реакты, и нормальный прогресс.
А то так можно сказать что нихуя не менялось со времен Чарлза Бэббиджа и булевой алегбры - математика та же, принципы тоже.

>различными дебилами | у меня нет никаких сомнений


У "дебилов" сомнениям браться неоткуда.
15346945021150.jpg39 Кб, 500x454
319 1633140
Новичок - не стукайте.
Уже неделю пытаюсь найти способ получать данные из графического планшета. Нашёл какой-то WintabDN api, но сколько не копался в примере, так и не понял как выводить значение pressure.
Может кто добрый посмотрит и мне-дураку подскажет: https://github.com/vvvv/WintabDN
320 1633145
>>33124

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


Где ты видишь нормальный прогресс, расскажи мне?
321 1633147
>>33124
Бля реакту уже лет 5 или больше и что-то он до сих пор в топе.
Этими рассказами про миллион жс-фреймворков в год программистов пугают как бабайкой.
322 1633178
>>32545

>Никто нынче голый коннект к БД не делает, только извращенцы и у кого много свободного времени.


Делают в высоконагруженных местах. ORM тормознее нативных запросов.
323 1633192
>>33178
Тащемта EF позволяет и простой sql код исполнить. А ещё есть даппер.
Вручную контролировать конекшн на низком уровне это я хуй знает зачем может понадобиться.
324 1633202
>>33192
А что его контролировать? Подключился и плюйся запросами, и результаты забирай.
325 1633243
Сложный гуй на WPF ручками пишут или в визуальном конструкторе?
326 1633252
>>33243
ручками
327 1633434
>>33243
хз кто нынче визуальные редакторы использует
328 1633441
>>33178
>>33192
И простой sql и sprocs и функции можно через EF запускать. И уже как 2-3 года можно LINQ to SQL компилировать. И работает оно в высоконагруженных системах без проблем.

Писать код гораздо быстрее, скорость исполнения практически та же, что и стандартные SqlCommand и SqlReader, а иногда и быстрее из-за встроенных кешей и пре-компиляции. Главное при работе с инструментами - знать как они работают. А то можно и Hello World написать, что он 200 лет обрабатываться будет.
329 1633479
>>31471
В плюсах если ты хочешь, чтобы AVX инструкции нормально сработали нельзя надеяться на компилятор. Тебе придется использовать интринсики ну и там впринципе много подводных камней с AVX.
330 1633559
331 1633567
>>33202

>Подключился и плюйся


Ага, и ты будешь на каждый запрос открывать соединение?
Или ты на одном конекшне все свои 100к рпс обрабатывать будешь?
Или напишешь свой пул соединений?
Ор
332 1633603
Аноы, что-то туплю, в чем прикол?
Есть следующий метод разбиения стрима на n кол-во байт и запись в memoryStream:

int numBytesToRead = 10485760
var countIterations = file.Data.Length / numBytesToRead
int numBytesRead = 0;
byte[] bytes = new byte[file.Data.Length];

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

....
int numBytesRead = 0;
byte[] bytes = new byte[numBytesToRead ];

Выдает ошибку что массив слишком длинный, хотя file.Data.Length еще больше чем numBytesToRead, но ошибку не выдает. В чем прикол?
333 1633649
>>33603
Файл-то сам какого размера? Программу в 64 бита собираешь?
334 1633651
>>33567

>Ага, и ты будешь на каждый запрос открывать соединение?>>33567


>Или напишешь свой пул соединений?


>Ор


Не в защиту >>33202
Но ты обосрался, там соединение уже из пула
335 1633656
>>33649
Спасибо, уже разобрался. Я думал что надо самому сдвигать в Stream.Read, вот и получался гиганский массив.
336 1633659
>>33656
Так теперь новая проблема, как правильно разбивать большой файл? Возьмем 55МБ, как его правильно разбить по 10МБ?

По началу нормально, но под конец, где 5МБ остается, я же не могу отправить 10. Как быть?*
337 1633662
>>33659
Есть вот такая хрень:
Но ведь она будет считать по 10МБ, не учитывая остаток, как ее правильно переписать?

int numBytesToRead = 10485760;
byte[] result;
MemoryStream ms;
long numBytesRead = file.Data.Length;
int n = 0;

while (numBytesRead > 0)
{

var content = new MultipartFormDataContent();

result = new byte[numBytesToRead];
n = await file.Data.ReadAsync(result, 0, numBytesToRead);

numBytesRead -= n;

await Task.Delay(200);
}
338 1633666
>>33662
Так ты уже ведь считаешь остаток в numBytesRead.
Поэтому вместо numBytesToRead напиши Math.Min(numBytesToRead, numBytesRead)
339 1633671
>>33666
Бля, точно, а то я уже 3 день сижу этого говно пишу, мозги совсем поплыли. Спасибо еще раз большое
340 1634033
>>18705 (OP)
Чуваки, помогите. Как запустить скомпиленный с помощью .Net Core 3 экзешник в Linux? Я в курсе, что можно юзать dotnet CLI, создавать проект, потом его публиковать, и т.п. Но мне это неудобно каждый раз делать. Я просто тренирую синтаксис. Создаю файлик, пишу что-то, компилирую, и дальше запускаю, правда с помощью Mono. Но мне хочется запускать с помощью .Net Core. Вот только не знаю как это сделать, а нагуглить неполучается. Если запускать как линуксовый бинарник, то пишет, что отказано в доступе.
341 1634034
>>34033
Должен же быть интерфейс командной строки для виртуальной машины. Компилятор же есть, это csc. В доке почему то про это ничего не сказано.
image.png260 Кб, 927x693
342 1634072
Вечер в хату.
Такое дело есть контроша по шарпам, но ловлю какой то дикий затуп по ней. Может кому совсем нехуй делать и он сможет подсказать какие классы сделать и что в них должно быть реализацию запилю сам.
343 1634127
>>34034
dotnet <your project name>.dll
344 1634158
>>34127
А на Линуксе?
345 1634177
>>34158
Так же, прописываешь в терминале
dotnet <путь к дллке проекта>
346 1634213
Добрый день, аноны. На /pr/ первый раз. Сейчас прохожу курс C# от метанита, какие ещё вещи надо пройти, прям мастхев?Алгоритмы и структуры данных, паттерны, sql? И где их лучше изучать, курсов много разных ведь. Степик, курсур или что-то ещё?
Какой вообще базовый стак требуемых технологий на стажировку по С#?
347 1634217
>>34177
На линуксе длл есть?
348 1634218
>>34213
Книги читай, курсовод.
349 1634224
>>34213

>от метанита


Сочувствую потраченному зря времени.
350 1634244
351 1634260
>>34224
Ну там есть непонятки. Но я как человек (не тот) уже имеющий опыт работы на шарпе - по метаниту разобрал asp.net core, http/css/js и jquery. (всё это мне для своего веб приложения понадобилось, ранее с этим практически не общался)
352 1634367
Вопрос по ASP.NET Core + React - я вижу в туторах частично дефолтный синтаксис React страницы - начиная с
№1 Import React from 'react'; etc...
А вижу и такой синтаксис:
№ 2 class App extends React.Component {
Чем они отличаются? Проблема у меня состоит в следующем: Проект на ASp.NET Core 3.0, на версии 2.2 я использовал webpackmiddleware, но судя по MSDN - его выпилили из ASp.NET Core. Теперь идет подключение jsEngineSwitcher - V8+ChakraCore, где используется не привычный и не удобный синтаксис 2. Как его измнить на 1?
353 1634518
Как мне создать параллельный Task который бы работал до определенной внутренней точки, потом останавливался и ждал консольной команды от пользователя чтобы продолжить работу? Thread.Sleep ведь нельзя использовать в таких целях?
354 1634521
>>34218

>Книги читай, курсовод.


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

>Сочувствую потраченному зря времени.


А что не так с метанитом? Там вроде основные моменты все изложены, разве нет?
355 1634557
>>34367
Фундаментально не верный подход. Бэк должен быть своим собственным проектом. Фронт с Реактом/Ангуларом/жквери лол - в другом проекте и билдиться/запускаться через всякие npm'ы/yarn'ы.

Тогда и дурацких вопросов о том как сделать франкенштейна и почему он внезнапно не работает - не возникнет.
356 1634566
>>34557
возможно ты прав, а возможно ты идешь нахуй. Еще не решил. Но мне Женька Впопопов (всеми любимый мутанит) сказал добавлять библиотечку в проект, вместо этих важих ярнов и NPM. Правда дышать как то хуево с этими Class extends, дефолтный синтаксис react js получше будет. Короче спасибо
357 1634570
>>34557
я пока ходил писять подумал над такой штукой - ведь когда запускается Core проект - то вместе с ним и IIS, и если идет компиляция всех этих свестелок-перелок React-a, то по сути и Node не нужен. А если Front будет отдельно - то это будет запущено 2 сервера - IIS и Node.js. А нужно ли это?
358 1634585
>>34570
Для компиляции всего этот реактовского барахла нод по прежнему нужен, твои плагины в VS делают всю эту магию подальше от твоих глаз. Проблемы начинаются, когда эта магия делает что-то не понятное и тогда тебе пизда и никакой нормальной доки по этому делу нет и вообще в этих плагинах гора багов и несовместимости с очередной версией реактов.

В проде никаких двух серверов нет. React - статичный сайт (просто горстка файлов), которые могут отдаваться по любому http запросу. В зависимости от твоего хостинга надо будет по разному отдачу этих файлов конфигурить.
359 1634643
>>34585
нихуя не понял, но очень интересно. У меня ASP.NET Core 3.0 application - он запускается на IIS или Kestrel (если Linux). По сути он как приемник REST Api. В случае, если Front - это обособленная часть, ничего не имеющая с asp.net core апликухой - она должна в чем то собираться и на чем то хоститься. Вот и дальше пошли вопросы - что тогда будет деплоиться, если react - это обособленный проект, который собирается webpack-ом на Node.JS? Блять сложно это все
360 1634703
>>34643
Видимо долог еще твой путь.

Естесственно твой бэкенд на dotnet core представляет из себя кучу REST эндпоинтов. Принял HTTP request, обработал, отправил HTTP response. Ему вообще по барабану кто там эти запросы составляет и кто и как его ответы читать будет.

React app - это набор статичных файлов и хостить их можно как static website (помнишь в 90е и начале 00х такие были?). JS делает ajax request over HTTP и потом читает HTTP response. Ему также плевать кто там и как принимает его запрос и выдаёт назад ответ. Оба приложения живут в 100% изолированных друг от друга мирах.

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

Вообще не важно webpack, хуяк, любой другой сборщик. В итоге у тебя будет index.html, в котором будет root div и подключение нужных js и css. Всё, нифига там больше нет. Ты эти файлы вообще можешь через один из своих REST endpoints клиенту отдать, можешь уложить в папку и дать своему веб серверу (пососать Kestrel там или IIS (который нынче для кора тоже может и даже должен Kestrel вызывать) или твой самодельный http listener) read-only доступ к папке с published www files и он их отдаст клиенту по http(s)://my_awesome_websites.hui/index.html

Всякие gRPC, хуярписи, вэб сокеты и прочие плюшки, которые грозятся стать реальностью с разработкой HTTP 3 (еще 2 не допилили, а уже 3 грозят, лол) тоже живут и функционируют по подобной схеме. Два приложения, каждый в своём мире и между ними - бездна сеть.
361 1634715
>>34127
По умолчанию csc в линуксе компилирует в exe. При вызове dotnet file.exe говорит

A fatal error was encountered. The library 'libhostpolicy.so' required to execute the application was not found in '/home/user/src/csharp/snippets/'.
Failed to run as a self-contained app. If this should be a framework-dependent app, add the /home/user/src/csharp/snippets/Program.runtimeconfig.json file specifying the appropriate framework.


В винде конечно экзешник можно запустить даже без sotnet, но линуксе пока не получается.
362 1634716
>>34127
При компиляции в линуксе в dll и попытке запуска, выдает ту же ошибку. Но это компиляция в таргет лайбрари. Возможно если скомпилить в отладочную dll, то заработает. Сейчас попробую.
363 1634717
>>34127
Неа, даже отладочная dll не запускается.
364 1634733
>>18705 (OP)
анонсы что не так? есть 2 POCO объекта родитель и наследник.
наследник наследует от родителя 4 параметра. Когда я кастую наследника к родителю все норм, но когда я делаю вылетает ошибка. Почему так?
365 1634734
>>34518
Запустить в нём таймер? Что б он периодически проверял некую переменную. Как только её значение изменится (введутся данные из консоли) - то продолжит работу.
366 1634737
>>34703
я другой анон, появился вопросик, правильно ли я делаю что мой rest API почти всегда отвечает булами с ok в котором true - 200 кодом, 500 при ошибке сервера , в котором false и 404 так же с false. Это про get, put и post у меня в основном с нормальным телом запрашиваемого объекта.
И ещё как быть в таком случае. Мне надо в апи отправить путь до файла, и в апи я его применяю с post и телом, в котором стринг пути.
И последний. Мне нужно изменить состояние бэка, к примеру поменять текущую директорию на дочернюю папку, я беру и принимаю в апи get у которого в заголовке имя папки. Типа такого: "Folders/{name}/change". Так нормально делать? ведь это get и он меняет состояние бэка.
Заранее спасибо.
367 1634738
>>34518
двачую вопрос, не раз с таким сталкивался
368 1634942
>>34703
да я это все и так знаю, я просто думал, что можно обойтись одним IIS. Нахуя тогда все эти либы V8, ChakraCore и т.д. в ASP.NET Core? Если и так все раздельно работает
369 1634944
>>34703
да и еще, ряд вопросов, которые не оставляют меня в покое. На какой части проходят такие процессы (имею ввиду бэк или фронт):
1. Аутентификация;
2. Логирование (имо бэк, но все же);
3. Кукисы
Спасибо за ответы
370 1635045
>>34738
Я погуглил-погуглил о остановился на том что тут нужны не таски, а полноценные треды, в случае тредов общаться между собой намного проще
371 1635252
>>34942

>ChakraCore


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

Why use ChakraCore?

ChakraCore allows you to use the React Native framework on Universal Windows Platform. This is incredibly useful for web developers that want to develop Universal Windows Platform apps.

Вы, как я понял, пилите стандартный Реакт апп для обычных браузеров?
372 1635265
>>34944
Аутентификация и авторизация работают точно также, как если бы ты всё компилировал и хостил все файлы в одном проекте. ЖС запускает запрос к серваку с данными о пользователе, тот проверяет данные и возвращает 200 вместе со всякими токенами/401/403.
Всё, дальше сам выдумывай как эти токены хранить и приклеивать к твоим запросам.

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

Куки - это часть HTTP request (точнее его headers). Ты запрос можешь хоть в консоли составить и сохранять/считывать данные в какой-нить файлик, обозвать его "кукис", сохранять в него токены, user data, и добавлять эти параметры в свои headers при запросе.
373 1635365
>>35045
спасибо, а можно ссылки, как все таки ожидать?
374 1635391
>>35365
Гугли про AutoResetEvent и его друзей
375 1635418
>>20179
Вообще чет смотрю мало тредов было по этому языку. По тому же JS уже 150 и по пайтону больше 80, да и на с++ около сотки. Такое чувство, что с# только для игр на юнити используют, лол
376 1635462
>>34717

>Compiles File.cs producing File.dll:



csc -target:library File.cs
377 1635469
>>35418
Тут вообще-то нумерация несколько раз заново запускалась.
378 1635505
>>35469
Серьезно? Слава Богу, что я этого не застал, иначе бы моя жопа сгорела. Пиздец ненавижу слет нумерации треда. УУУУУХ
379 1635715
>>34715
По умолчанию он компилирует в платформонезависимый бинарник, а то что ты делаешь - это publish, который собирает под конкретную платформу. О чём тебе и пишут, что ты собрал под не ту платформу.
380 1635725
Есть годный способ определить в впф, если поверх основного окна открытые диалоговые окна? Пока сделал через получение фокуса, но как-то костыльно и неуверсально
if(wnd.Focus()) //если удалось получить фокус, значит модалок нет
Вообще это для драгэнддропа файлов в окно, может есть идеи как игнорировать дроп, если есть модальные окна?
381 1635732
>>35725
В чём проблема перед открытием окна записывать это куда-нибудь?
382 1635767
>>35732
Какой слой это должен сделать ВМ и Вью?
383 1635779
>>35767
вм. он же отвечает за код вью. вью толко, в основном, за гуи и бинд значений
384 1635781
>>35725
https://github.com/ButchersBoy/Dragablz
Может уже использовать готовое решение?
386 1635850
как вернуть значение из фора
например

фор ( если итератор цикла > количество елементов в списке )
{
если ( итератор цикла == индекс елемента в списке )
return итератор цикла;
в противном случае продолжить цикл
}
387 1635897
>>35850
Нихуя непонятно.
388 1635899
>>35897
рофлишь?
389 1635997
>>35850
ну так ты return`ом уже что то возвращаешь
390 1636054
>>35997
да так должно быть, проблема в том что так сделать не дает потому что мне пишет что ретурн должен быть во всех ветках кода, а мне нужно только в одной! так как на примере, а если елс тогда пусть идет дальше, а он мне говорит что в елсе тоже дожен быть ретурн, а не это не подходит
Clip2net191206204929.png12 Кб, 338x402
391 1636111
А кто-нибудь может подсказать где изучить контекст существования сишарпа? В плане, что такое .NET Core и почему он должен догонять NET Framework, какие NET службы за что отвечают и где используются, какова цель создания Blazor, куда вообще движется язык? А то я тут изучаю понемногу основы, но всё равно нихуя не понимаю в беседах
392 1636136
>>36054
Я как пользователь твоего чудо кода пишу:
int myVar = YourMethod();
А тут бац! Отрабатывает ветка без рутурна, и что должно быть у меня в переменной?
бросай исключение
393 1636148
>>36136
суть в том что внутри фор и он ищет из списка елемент с этим интом такого варианта что елемента нет, нет! он есть его нужно только по фору найти а для этого нужно что бы в случае если не нашло фор продолжил выполнятся а этого сейчас не происходит
394 1636189
>>36148
Чувак, выпились из программирования пожалуйста, тут и без тебя неучей хватает.
395 1636193
>>36111
.NET Framework - всё.
.NET Core - настоящее.
.NET 5 - будет в конце года.

Вся инфа тут - https://docs.microsoft.com/en-us/dotnet/core/
Задолбаешься читать, но там есть все объяснения и ссылки на нужные ресурсы.

Для более лёгкого чтива - https://visualstudiomagazine.com
396 1636211
>>35252
конечно, мне тупо пихуй на эти ваши UWP. Тупо поебать.
>>35265
короче ответ на все мои вопросы - на бэке. Спасибо
397 1636212
>>36193

>.NET Framework - всё.


Ура!
398 1636230
>>36211
Чьи ваши? Чёт ты агрессивный какой-то.
Я тебе о том что ChakraCore для UWP (вы его зачем-то для браузера используете, где уже свой JS движок есть). А ты мне что тебе на него поебать.
399 1636237
>>36230
я кажется писал выше, что это Евгешка Мутанитович Попов посоветовал такую глину месить. Мне даже лучше сборщиком за пределами сборки .NET-а это компилить
image.png296 Кб, 450x297
400 1636263
>>36189
нет не выпялюсь, ведь у меня лапки
401 1636278
>>36111
>>36193

А если я ньюфаг и большинство книг использует Framework, то можно пока не париться по этому поводу и всё делать во фреймворке??
402 1636298
>>36278
Будешь тогда работу по переписыванию и говно поддержке legacy искать. MS прекратили поддержку, всякие сервисы и облака больше не будут с ним работать, всякие гейм фреймворки будут тебе не доступны, документашку будет искать всё сложнее, нужно будет танцевать с бубном в новых версиях ОС, IDE (VS, VS Code, Rider), не будет доступна работа из под всяких линухов и аймаков.

В плане использования core и framework СИЛЬНО отличаются, надо будет переучиваться потом.
403 1636311
>>36148
Какой язык для тебя родной? По-русски у тебя не получается излагать.

>варианта что елемента нет, нет!


>если не нашло


Ты уж определись как нибудь.
404 1636317
Мидлварь это синглтон?
405 1636334
>>36298

>В плане использования core и framework СИЛЬНО отличаются, надо будет переучиваться потом.


А чем отличаются в основном?
406 1636336
>>36311
если не нашло в конкретной этой итерации, пошло дальше к следующей, и так пока не найдет, а родной для меня Литовский, но причем тут это?
407 1636347
>>36336

>причем тут это?


Сложно понять, что тебе нужно. Дай лучше код на шарпе и пример данных и ожидаемый результат.
408 1636356
>>36334
ахуеть вопрос, там тыщи страниц исписали в доках и во всяких новых книгах, а тебе тут в два предложения объясни.

https://github.com/dotnet/core - сиди сравнивай старое АПИ с новым.
409 1636359
>>36336
P.S. Я тебе уже писал, бросай исключение после цикла. Это ты думаешь, что элемент обязательно будет, а кто-то может передать коллекцию без элемента.
410 1636368
>>36193

>.NET Framework - всё.


Нихуя не всё. Остальную парашу копирастическую - просто портируем, делов-то.
image.png954 Кб, 1080x934
411 1636369
>>36359
>>36347
а так я уже сделать через list.Contains https://www.dotnetperls.com/list-contains
просто не понимаю почему меня троллить начали, вроде нормально же спросил, и даже псевдокод написал, злые вы...
image.png954 Кб, 1080x934
412 1636370
>>36359
>>36347
а так я уже сделать через list.Contains и break https://www.dotnetperls.com/list-contains
просто не понимаю почему меня троллить начали, вроде нормально же спросил, и даже псевдокод написал, злые вы...
413 1636378
>>35850
>>35850

>for(int i = 0; i<element.Count; i++){


> if(i == needed_element_iterator){return i;}


>}//.................


Блядь, блядь, ну вот нахуй тебе возвращать итератор цикла, если тебе заведомо известен индекс элемента в списке, и тот факт, что он должен быть равен итератору цикла? Верни его, рофл сукаблядь...
414 1636383
>>36378
но мне итератор не известен заведомо, в списке элементы расположены в случайном порядке, и мне нужен индекс того элемента у которого айди равно итератору адйи елемента не равно индекс елемента
415 1636386
>>36383
тоесть должно быть так

for (iterator < lements.count){

if(iterator == elements.id){

return elements index ( в нашем случае итератор}
else{ все хуйня давай сначало но с следуйщим итератором}

}
416 1636387
Аноны, а ассемблерные вставки можно как-нибудь пердолить? Надо байтоёбский изврат запилить. Или только через кресты?
417 1636390
>>36386
elements[index] быстрофикс
418 1636392
>>36383
Блядь, напиши свой код в https://rextester.com
и пока его пишешь, прежде чем отправлять его на борду,
хотя-бы посмотри его внимательно. Может быть сам додуплишь.
елсе айди - пиздец как нечитабельно, ты бы ещё про инкапсуляцию интерфейсов асинхронных тут позаливал, на русском, и без кода.
У тебя return блочит дальнейший код в цикле.
Чтобы этого не было, сделай:

>for(бла-бла)//твой маня-ёба-цикл


> if(бла-бла){return что_надо;}


> else{continue;}//блядь


>}//конец твоего мозго-ебучьего цикла

419 1636400
>>36392
Ещё один сверхразум
При чем тут континью лол

Пиздец уровень шарпотреда 2020, вы же все троллите тут так, да?
420 1636404
>>36392
Лучше метки юзать.

>hui:


>for(бла-бла)//твой маня-ёба-цикл


> if(бла-бла){return что_надо;}


> else{continue hui;}//блядь


>}//конец твоего мозго-ебучьего цикла

422 1636410
423 1636427
>>36383
На, короче, потыкай: https://rextester.com/CMJCU77612
image.png335 Кб, 760x538
424 1636429
>>36427
ну да похожим образом решил, через лист контейн >>36370
и я об этом и спрашивал, а меня начали все обижать..
425 1636431
>>36405
>>36410
Что за пиздец я вижу? Мало того, что нихуя не пашет,
так ещё и куда ты собрался возвращать int из Main, с типом void?
426 1636432
>>36431
блять да я просто код написал на шарповском, для примера, ты тролишь или серйозно?
427 1636433
>>36427
и проблема у меня была именно там где ты показал, типа если так то возвращай а если нет, вот и компилятор ругается, он не дает сделать что-то типа если нет продожить фор, он хочит что бы и там и там был какой-то ретурн
428 1636434
>>36429
Сорян, провтыкал всё что выше было, а именно - вот это: >>36369 >>36370
Съеби что-ли букварик почитай.
429 1636436
>>36434
м? зачем?
image.png25 Кб, 411x164
430 1636438
>>36431
а вот эта часть тебя не смутила вообще?
431 1636442
>>36433
Компилятор хочет ретурн int,
просто потому что метод с типом int должен возвращать int,
и без return -1, он не возвращает ничего, в некоторых ветвях,
в частности, в случае выхода из цикла, по его завершению,
и/или не наличия ни одного элемента из условия for.
Поэтому, компилятор и ругается.
Индекса -1 не существует у массива, значит можно использовать его как крайний вариант.
И многие функции возвращают -1, например:
string.IndexOf(char) == -1//если char не найден.
stream.Peek() == -1 // если данные в потоке нельзя уже прочесть, и так далее.
432 1636443
>>36436
Чтобы излагаться хотя-бы заебато.
433 1636444
>>36438
Да я так и понял, что его доебало писать. Хохол, походу, ещё и с Харькова. Я был в Харькове - весь Харьков обхаркал.
image.png1,1 Мб, 1080x1080
434 1636447
>>36442
Анон, Я прозрел! он не просил второй ритурн в елсе, он просил второй ретурн где угодно, в том силе вне фора! да это именно то что мне надо было! СПАСИБО АНОН!
435 1636473
>>36447
https://rextester.com/edit/OWJ57140

да, метод либо не возвращает ничего, либо обязан вернуть значения из всех возможных путей исполнения метода.
по ссылке рабочий код, но я так и не понял кому такая херня может понадобиться.
436 1636480
>>36447
Сьььь-ссьььь-сёрб. Шустренько выпил энергетик Monster...
Хрысь! Разорвал банку.
Бам-ба-бабабам-м-м. Выкинул её...
Немного подумал... И запилил из неё - усилитель wi-fi, лол. Пикрил.
image.png49 Кб, 850x235
437 1636501
Я понимаю что ты скорее всего нюфаня, но я за такое могут и обоссать.
image.png61 Кб, 782x510
438 1636514
>>36473
игроделам
439 1636518
>>36480
и что реально работает?
440 1636527
>>36514
Сука, как же у меня от вас бомбит! Кто вас блядь на работу принимает! Откуда у вас такая страсть к индусскому коду? Что за ёбтвоюмать у пидоров, пишущих и проверяющих такой код! Или это перекатившиеся пхпэшники, у которых норма обмазываться дерьмом и радоваться этому?
image.png7,2 Мб, 2048x1705
441 1636531
>>36527
да что не так то, если что я работаю на себя, пилю себе свою игру, а если есть предложения как улучшить код так я буду рад услишать адекватный совет, ты только это... не бомби, вот выпей пива лучше (безалкогольного)
image.png45 Кб, 966x545
442 1636532
Нужно найти индекс минимального элемента массива что не так делаю?
443 1636535
>>36532
сделай сортировку просто https://stackoverflow.com/questions/289/how-do-you-sort-a-dictionary-by-value

и возьми самый первый
444 1636536
>>36535
Так надо именно алгоритм поиска написать.
445 1636540
>>36531
Взял пива (алкогольного). Я испугался, что это код компании. Хотя чего там, в компаниях всё еще хуже потому что чуваки такие - ДЕАДЛААААЙН БЛЯАААДЬ и начинают пилить говно. Сохраняют себе n времени сейчас и увеличивают время разработки на n*n в ближайшем будущем.

Для себя можно как угодно пилить.
446 1636543
>>36540
но ты это, если все таки есть действительно совет какой-то то я правда рад услишать, я ньюфег в программировании, вот учусь понемногу, любой совет мне в помощь будет
447 1636591
>>36543
Ясен красен глубоко копать ни времени ни формата двача не хватит. На тебе несколько общих советов.

0. Теория разбитых окон. Не оставляй после себя мусора, увидел - убрал. https://ru.wikipedia.org/wiki/Теория_разбитых_окон
1. SOLID - код должен следовать этим принципам. Особенно никаких new SomeExternalTool() посреди класса не должно быть (Dependency Injection). Нужные инструменты должны передаваться в конструктор и конфигуриться во время стартапа. https://en.wikipedia.org/wiki/SOLID
2. Никаких дубликатов кода (кроме особых случаев)
3. Метод не должен отнимать у тебя более 5 сек чтобы понять что он делает. Именуй всё граммотно, выдерживай общий стиль кода (добавь уже линтеров, в дотнете они называются Analyzers). Выгребай логически завершённые куски кода в свои классы/методы.
Класс не должен отнимать у тебя более минуты чтобы понять нафига он нужен и что он делает. Проект не должен отнимать у тебя более 5 минут чтобы понять как он устроен, что он делает и как он это делает.
4. Если ты изменил код в одном классе и это повлекло за собой изменения в куче других классов - ты настряпал какой-то херни. Если ты изменил код в одном слое и это повлекло за собой изменение всех других слоёв - выбрасывай этот проект в мусорку и начинай сначала.
5. Избегай повторных итераций, выгребай все нужные данные во время первого прогона, используй кэш, посмотри какие из существующих базовых дата структур могли бы облегчить твою задачу (решай задачки на сайтах типа leetcode.com). Для частого быстрого доступа используются HashSet и HashTable/HashMap (это базовые общие структуры, доступные в любом языке под своими именами).
448 1636685
>>36514
Ты знаешь что такое итератор?

Прекрати называть функции, методы, Аллаха не по конвенту, если несколько слов то каждоеСледующееСБольшойБуквы, а_не_ебучими_нижними_подчеркиваниями. Методы и свойства классов начинаются с большой буквы, локальные переменные с маленькой, единственное место где приветствуются нижние подчеркивания это в начале имени приватных полей классов, типо как private int _foo.

Что за "contex"? Презики что-ли? Ты имел ввиду "context"?

сорри, немного сгорел от увиденного, добра тебе. На работе за такое будут пиздить ссаными тряпками, так что не обижайся.
449 1636688
>>36536
temp = array[0] вынеси из цикла.
450 1636690
>>36591
Ох, вот если бы все так было.
451 1636691
>>36688
И что по твоему изменится ?
452 1636693
>>36691
Ты перестанешь записывать в темп первый элемент при каждой итерации.
453 1636707
>>36685
Я ананас, который выше про SOLID и сломанные стёкла написал. Хоть я пивом и откачивался, но в защиту новиса скажу, что конвент каждая компания/команда для себя сама выбирает. Некоторые любят camelCase, некоторые PascalCase, некоторые snake_case и всякие гибриды, которые настраиваются через линтеры и больше о них голова не болит.

Мы для методов/публичных свойств используем PascalCase. Для приватных переменных _camelCase. Тесты я своих заставляю через snake_case обзывать потому что они имена должны отражать суть того, что тесты делают, из-за чего они становятся длинными и через подчёрк читать удобнее: Given_request_with_expired_token_controller_should_return_401
454 1636741
>>36591

>Dependency Injection


а если у меня есть какая-нибудь фабрика, я же могу ее статической сделать? что мне мешает?
455 1636742
>>36591

>повлекло за собой изменения


хорошо. из недавнего случая, был у меня json store, который записывал по ключам данные в json. Ключи у меня enum везде используются, если я захочу рефакторить и поменять имя ключа, это сломает всю систему. Как быть?
456 1636748
>>36741
Можешь, если весь код, где ты эту фабрику вызываешь, у тебя получится покрыть юнит и интеграционными тестами. Для это всякие статические Properties навешивают lazy loading/Func/Action https://docs.microsoft.com/en-us/dotnet/api/system.lazy-1?view=netcore-3.1.

Надо еще помнить, что статические фиговины должны быть thread-safe на случай, если у тебя есть вероятность вызова куска статик кода 2+ потоками одновременно. Чтение - безопасно (большую часть времени). Изменение - опасно.
457 1636754
>>36748
Спасибо. а то у меня blazor приложение уже все в DI, штук 10 точно
И если можно ещё вопросик. В чем разница между IoC и DI. DI это же частный случай IoC, не?
458 1636758
>>36754
10 классов засетаплено в DI? У нас сотни.
Так и быть, погуглю за тебя: https://stackoverflow.com/questions/6550700/inversion-of-control-vs-dependency-injection

Но с тебя пиво.
459 1636759
>>36742
Придумал enum -> начал везде использовать -> выдуманные названия не подходят -> пришлось названия менять. Хреново в начале над названиями думал (одна из самых сложных задач в программировании - придумать хорошее имя), теперь расплачивайся.

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

В остальном - надо знать конкретные условия и бизнес задачи, чтобы понять как сделать так, чтобы при изменении имени переменной не рушился весь карточный домик. Нафигачил в Persistence layer непонятных имён и теперь пришло озарение? Расплачивайся и пиши кучу скриптов, чтобы править данные.
460 1636760
>>36742
Слышал что-нибудь про db migrations?
svetloe-pivo-2-1.jpg30 Кб, 633x480
461 1636762
>>36758
спасибо большое ещё раз. не знаю какое ты любишь, но взял оба
462 1636763
>>36759
рефактор не всегда хорошо работает, даже resharper. Так я обосрался сделав ключи через enum? Так как придумывать хорошие и меня для методов и т.п.? Соглашение о наименовании я уже наизусть знаю и этого вообще не достаточно, где взять инфу как правило давать имена?
463 1636765
>>36760
а зачем мне db если задача стояла локально сохранять json?
image.png9 Кб, 514x98
464 1636766
>>36532
Нахуя у тебя итератор если у тебя он никак в цикле не используется? Выполнить N раз код? Но он же ничего не меняет, просто проверка.
Нахуя return arr[-1], любишь аут оф бондс эксепшны ловить?
Пиздец, я уже не говорю про остальной код, до меня обоссали
Ты хоть немного блядь почитай что ты делаешь, а не хуярь не глядя.
465 1636800
>>36535
Вместо простого прохода по масииву за O(n) делать сортировку в лучшем случае за O(nLogn). Лови класс.
466 1636812
>>36707
Но если нет особых указаний, то лучше придерживаться общепринятого стандарта. Особенно, если показываешь людям и очешь помощи.
мимокрокодил
467 1636819
>>36766
>>36685
он до ретурна с -1 никогда не должен дойти, а если дойдет то должен быть ексепшен который я ловлю потому что здесь явно тогда что-то не так, насчет итератора не понимаю почему народ привязался к нему, итератор от слова итерация, а итератор управляет итерацией, является его переменной, новый цыкл фора это новая итерация, потому итератор, потом обычно пишут обычную маленькую i но это просто сокращения от итератора, а то что насчет конвенций меня обоссали так это вообще очень странно, у всех свои конвенции откуда я должен знать как именно в комнпании у анона заведено, я знаю только одну действительно важную конвенцию, это называть переменные с маленькой буквы потому что можно попасть
в лажу иначе и я попадал, а от того что подчёркивания или нет как можно попасть в лужу?
468 1636832
>>36514
епт, а это разбить ни как? у тебя же четко виднеются 3 не связанных блока, просто перенеси их по разным методам и все
469 1636834
>>36514
убери get_random_stage. Ты откуда выполз? Просто переименуй RandomStageBy. и так понятно что метод что-то возвращается, параметры так же переименуй в userId. Может ещё что найду
470 1636835
>>36514
bool параметр переименуй в isTest или подобное
471 1636837
>>36819
Нет, если кидаешь эксепшен, то ловить его должен код уровнем выше (или не ловить, если нормальная работа дальше невозможна). Какой смысл бросать и сразу ловить? Проще тогда уж логику из кэтч вставить вместо бросания.

>насчет итератора


Под итератором в шарпе обычно имеется ввиду IEnumerator

>насчет конвенций меня обоссали


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

> откуда я должен знать


пользуйся общепринятой
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions
472 1636840
>>36514
используй var, при инициализации листов и так понятно что это лист, так что смелой меняй на var
473 1636844
>>36514
random можно сделать как параметр класса и просто использовать его в классе не создавать каждый раз новый рандом
474 1636849
Аноны у меня есть средний проект на гите, куда можно выложить ссылку на репу, чтобы сказали что не так?
475 1636852
>>36849
Внезапно, сюда.
476 1636856
>>36852
А если страшно? Других альтернатив нет?
477 1636858
>>36856
Можешь дать объявление в местную газету своего города.
478 1636859
>>36858
а это сработает? просто у меня город маленький
479 1636867
>>36832
но они все таки связаны...
480 1636917
>>36867
связаны тем что берут друг у друга какие либо параметры, объекты? Так в чем сложность перенести здоровый кусок кода в отдельный метод и возвращать нужный объект?
481 1636920
>>36917
ну вообще да ты прав можно по разным методам разнести, но я не люблю когда многа методов, потом долго искать нужный тебе метод в списке, да и разве имеет это какое либо значение кроме читабельности?
482 1636938
>>36920
тестирование. да и скорее всего эти методы в одном классе будут, а что бы не искать нажимай shift click на имя метода и vs перейдет к реализации метода.
Читабельность тебе будет нужна самому, через n время, когда твоя программа начнет расти
483 1636939
>>36920
а вообще листай гит, смотри как реализованы те или иные библиотеки. Сравнивай разные реализации, читай msdn. Самый главный ресурс, если чего-то нет а интернете, есть на msdn. И никогда не копируй код, переписывай в ручную обдумывая каждую строчку, почему зачем и как это работает

по началу ничего не будет понятно, особенно десятки дочерних классов и т.п. Но тебе важнее набить базу, а как назвать метод, а как лучше написать.
Программирование это очень творческий процесс и если у тебя нет чувство прекрасного и внутреннего перфекциониста, то через анальную боль придётся этот навык развивать. И как сейчас через ссаные тряпки слушать недовольствия и плевки в сторону твоего кода.
image.png937 Кб, 657x800
484 1636962
>>36939
>>36938
NARUHODO-NARUHODO SEMPAI!
485 1637072
>>36917
Ты когда книгу читаешь, тоже любишь, если абзацы по разным страницам разбросаны, и надо туда-сюда листать постоянно?
486 1637085
>>36763

>рефактор не всегда хорошо работает


Если ты используешь инструмент (не важно какой), ты обязан знать как этот инструмент работает и ты должен проверять его работу, а не слепо доверять ему. Тот же Re# выдаёт диалог со списком изменений, который он сейчас применит.

>Так я обосрался?


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

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


никто этого не знает, куча проб и ошибок и со временем начинаешь свой стиль именования вырабатывать, который просто работает и команда к нему привыкает. Можно дать имена и небольшие методы сторонним людям почитать и спросить, как они их понимают за первые 10-20 секунд.
487 1637091
>>36765
Ты же не сказал что у тебя там за хранилище данных, json store ничего не говорит, может там документо-ориентированная ДБ, может ты json в sql хранишь.
488 1637107
>>37072
А код не книга, но в тех.справочниках часто приходится прыгать со страницы на страницу. Если методы названы нормально, то тебе не надо в него лезть, чтобы понять для чего он нужен. Ты когда в коде видешь File.WriteLine(), ты же не лезешь на referencesource смотреть что там и как по цепочке вызовов.
489 1637108
>>36514

>test_or_not_test


Да.
490 1637110
>>36856
Не бойся, тут могут понапечатать всякой грязи, тебе от неё ни холодно, ни жарко. Зато кто-нибудь полезные комменты выдаст.
491 1637112
>>37108
бля как же я ору!!!
image.png19 Кб, 500x391
492 1637115
>>37112
>>37108
ладно ладно, чего сразу смеяться, мне очень стыдно, я уже все изменить
493 1637120
>>37115

> класс Game_detalis


мать твою ебал.
494 1637123
>>37120
а что не так,
495 1637125
>>37123
Че_за_змейки? Есть же CamelCase.
496 1637127
>>37120
Detalis это чья-то фамилия? Так-то details.
497 1637128
>>37125
да писали уже ,только я не пойму почему так строго к этому относятся, ну есть кресочка, и что? это ни на что не влияет в данном конкретном случае
.png14 Кб, 418x42
498 1637139
499 1637140
>>36819
Нулл возвращать не пробовал? Как вариант
500 1637141
>>37127
Игровые детали-с.
501 1637144
>>37141
резонное замечание
502 1637147
>>37140
если будет нул может не быть ексепшина
503 1637151
>>37140
Так себе вариант. В большенстве случаев это просто заложить мину, на которой потом стелс-пихотинец подорвется кто-нибудь словит NRE. В новом шарпе даже костыль в виде нотналаблреференстайп завезли.
504 1637160
>>36819
Меня больше всего ConecxtDB зацепил. Инструменты для работы с внешними (не подконтрольными тебе) ресурсами должны передаваться в класс уже готовыми к использованию - DI.
505 1637163
>>37144
Проиграл
506 1637172
>>37160
а чем плох мой вариант?
507 1637195
>>37128

>строго к этому относятся


Вот если так писать "для себя", то так и привыкнешь писать. И уже тебя будет воротить от имен в проекте. А поверь, зайди на гит, все проекты на шарпе написаны Camel/Pascal case. И ты просто не сможешь воспринимать наименования
508 1637202
>>37151
Все лучше чем себе в ногу стрелять с гарантированным аутофрейнджем лол
Включаешь nullable reference types и возвращаешь Result? вместо Result.
509 1637205
>>37107
Одно дело документированный File.WriteLine(), который светлейшие архитекторы придумывали на века, из расчета, что его будут видеть сотни тысяч людей, а другое — какое-то название на отъебись, придуманное за 10 секунд, которое через полгода обросло портянкой аргументов из флажков и уже перестало отражать изначальный смысл.
510 1637206
>>37172
Целые книги и конференции посвящены этой теме. В мелком проекте с одним девом, который не будет использоваться 1000+ пользователей может и никакой.
Проблемы начинаются, когда кодобаза разрастается, когда для производительности приходится выбирать новые БД, когда твоя БД схема меняется и внезапно придётся вместо одного persistent слоя переписывать всё подряд. Для производительности и разруливания concurrent requests можно один dbContext несколько раз переиспользовать. Плюс new DbContext хреново покрывается тестами.
511 1637216
>>36518
Примерно как и его код.
512 1637230
>>37202
ты понимаешь что там должен быть гарантированный аутофрендж, если скрипт доходит до того ретурна он должен вывалить ексепишн такая была идея
513 1637232
>>37205
двачую
514 1637233
>>37195
ну тут ты прав. но разве это достаточная причина что бы взять и обоссать? я думаю это немного не адекватно...
515 1637243
>>37233
на то он и кровавый и страшный интерпрайз. Один шаг и расстрел
516 1637250
>>37243
что такое интерпрайз?
517 1637256
Аноны прошу вашей помощи.
Есть данный проект: https://github.com/TwoChisel/TeleCloud

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

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

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

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

Документации нет, но вы держитесь. Пока в процессе, надо еще дописать документацию для свагера

Заранее спасибо.
518 1637278
Есть ли способ указать какие поля у функции будут, если внутри результат - анонимный тип? Просто в моем случае нельзя пользоваться кортежами, а object - ничего не говорит пользователю моего кода, пока он не посмотрит на то что там функция возвращает.
519 1637280
>>37278

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


Какие поля будут у возвращаемого функцией значения, если внутри результат - анонимный тип
немного ясности вношу
520 1637284
>>37256

> Косит под тырпрайз


> Ни одного теста


Ну даже не знаю. А разбираться в коде - лень.
521 1637334
>>37202
Не не надо пытаться скрыть проблему. Если айтема нет а он точно должен быть, надо сказать, что данные хуйня и сделать харакири.
522 1637343
>>37278
>>37280
Тебе не подходит анонимный тип, следовательно пиши обычный класс.
523 1637351
>>37343
Но это ж будет тупо. Класс чисто используемый в одном месте и нужный просто чтобы поместить данные из полей другого класса в себя. Неужели нельзя как-то так написать:
IEnumerable<{int: ID, string : username...}>? Ну, т.е. я знаю что нельзя конкретно так, но может быть есть аналог? Просто блин, в JS, который пришлось освоить, такую фигню делать можно и это оооооочень удобно, а тут вроде как есть кортежи, но asp.net core не умеет их нормально из коробки собрать в json чтобы ответ отослать, а тащить что-то откуда-то не хочется, на и пилить свой серелизатор кортежей в json - тоже. Ну да ладно, просто оставлю object'ами, работает же, ну и хуй с ним.
524 1637366
>>37351
Есть способ, но я тебе его не скажу, потому что он не для этого dynamic

>Но это ж будет тупо


Нет, шарп объектно ориентированный, так что делай очередной объект и не ной.

> тащить что-то откуда-то не хочется


С возрастом пройдет. Наверно еще и приложения в один файл собираешь?

>пилить свой серелизатор кортежей в json - тоже


Обычно два пути: или тащить готовое или пилить свое, привыкай.

>просто оставлю object


Потом рефлексией данные вытягиваешь?
525 1637399
Стоит ли нуфагу юзать VS code, если я не надо мне столько гигабайт фреймворокв и прочее?
526 1637400
>>37399
Ньюфагу вообще хорошо бы с сишечки начинать, чтобы понять на кой хуй нужны другие языки. Но если совсем ньюфаг, то лучший путь - блокнот с подсветкой синтаксиса и сборка ручками. Так ты будешь понимать, что ты вообще делаешь. Мне вот было неприятно, когда я осознал, что не знаю как подключить свою же библиотеку без удобных инструментов из-за этого ускоренно на пару месяцев перескочил на описанный выше метод.
Ну и даю у VS Code никаких фреймворков из коробки нет. Изначально просто удобный редактор. То что ты его в IDE можешь превратить - другой вопрос. Фреймворки и прочее в студии. Вот.
527 1637401
>>37351
Посмотри на DTO pattern. Он нужен для пересылки всяких request/response объектов. Поскольку всё строго типизированно, то кучу ошибок можно отловить во время билда и можно запилить нормальную валидацию принимаемого объекта.
Ты json наверное через контроллер отправляешь? Если будет нормальный тип данных, то всякие Swagger'ы (OpenAPI) смогут разместить документацию о возвращаемых объектах, что облегчает задачу по поглощению твоего АПИ.
528 1637408
>>37400

>Ньюфагу вообще хорошо бы с сишечки начинать


Разве шарп не сам по себе легкий язык, как говорят многие?
529 1637415
>>37408
Он кажется легким. На деле там куча подводных камней. И вот сишечка, которая вроде как простая, но имеет миллион и один способ выстрелить в ногу на ровном месте, позволяет потом легко эти камни находить. Ну и опять же, многие вещи что ньюфагу кажутся сложными в шарпе, после сишечки будут казаться вполне тем чего не хватало, если не забъешь после нее на все это дело.
530 1637421
>>37415
Будет ли достаточно базовых знаний по си, чтобы можно было учить шарп?
531 1637436
>>37421
Та можно и без нах. Просто не попробовав хотя бы hex-редактор на сях сделать, решения более высокоуровневых языков будут с большим скрипом доходить. Ну, или я и все мои знакомые шарписты такие тупые, но нам в ВУЗе шарп начали на первом курсе давать и все это казалось жутко непонятным, а на втором как раз си дали и будто озарение почти у всех случилось, после того как понимаешь, на кой вообще все это надо, попробовав сделать рендер и компилятор на чистых сях.
532 1637437
>>37421
Во всех языках будут переменные, функции, работа с CPU и RAM. Во всех языках будут одни и те же базовые типы данных и дата структуры. Во всех языках будут работать одни и те же алгоритмы. Из всех языков есть доступ к стандартым АПИ (системные, сервисы, библиотеки).
Главное смысл понять, дальше особо не важно какой язык.
533 1637442
>>37437
Ну, это да. Но когда от тебя куча вещей что под капотом происходит неявно, ты просто не понимаешь как оно все работает. У шарпа, в этом как раз проблема. Ты можешь делать сразу какою-нибудь фигню на формах и даже не понимать, почему оно не работает или работает не так как ты думаешь, а таки сделав что-то не понимать что оно на самом деле делает и, соотетственно, в случае какой-то хуйни не сможешь пофиксить быстро. В этом плане как раз пописать на сях сильно помогает, хотя бы чисто для того чтобы в общем понимать как компьютер работает что что на самом деле делает программист. Опять же, стандартные проблемы больших проектов(ну или хотя бы средних) встретить и понять, на кой вообще это ООП сдалось и почему его сейчас, при всех минусах, остается стандартом для индустрии и т.д.
534 1637495
Ну чо. вышел .NET 5 Preview. Что думаете по этому поводу?
535 1637496
>>37334
Тогда для этого нужно явно кинуть ошибку, а не провоцировать ее искуственно
536 1637641
>>36501
А что тебе не нравится в символе подчеркивания? Ты попробуй там пробел напиши или точку...
537 1637642
>>36383
int lower_index = list.IndexOf(list.Min());
538 1637643
>>37642
Всё-же лучше так:
int lower_index = (list.Any() ? list.IndexOf(list.Min()) : -1);
Вернёт значение даже если список - пустой.
И никаких циклов и методов не надо.
539 1637644
>>37643
И итераторов, лол.
540 1637646
>>37642
>>37643
Вот пидорги жсные. Посчитайте space и time complexity ваших вариантов и сравните с обычным циклом for.
541 1637685
А какие книги посоветуете ньюфагу в программировании вообще? Yellow book или ещё что-то есть?
542 1637699
>>37646
По крайней мере, это лучше чем вызов Contains на каждой итерации.
Представь, что элементов в списке - миллиард, и наименьшее значение 999,999,995, остальные - повторяются находясь в диапазоне от 999,999,996 до миллиарда. Наименьший элемент со значением 999,999,995 - находится в индексе 999,999,999.
И вот тут-то - твой for с Contains интенсивно отсасывает.
543 1637742
>>37641
Так даже жс-еры не делают. Зачем кому-то там писать пробелы или точки, еслиЕстьОбщепринятыйКэмелКейс. Все таки когда уже прочитал тонну кода, такие инородные для язвыка вещи вызываю дискомфорт и отвлекают на себя внимание.
>>36383
Это какой-то треш завязываться на положение элемета в коллекции. Нужен доступ к элементу по айди, делай словарь у него поиск по ключу O(1).
>>37644
Так там по "итератору" и в Ани и в ИндексОф и Мин. Ты можешь свой поиск вынести в метод и сделать все за один проход.
544 1638099
>>37699
Contains, Any, Min и indexOf для массивов и списков выполняются за O(n), потому что начинается линейные просмотр всего списка с начала. Отсасывают все методы одинаково.

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

HashMap/HashSet (в C# есть Dictionary) выполняет Contains за O(1), т.е. сразу, без перебора. Эти структуры данных нужны когда чтение данных происходит намного чаще, чем запись.
545 1638122
>>38099

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


Лист гарантирует, иначе нет смысла в методах Sort, Insert etc. А вот словари, хэш-таблицы по понятным причинам нет.
546 1638198
>>38122
Ты прав.

>>37699
Если порядок элементов гарантирован, то для этого существует бинарный поиск, который позволяет избежать создания хэшей и линейного поиска по всей коллекции.
Binary search - O(log n)
547 1638401
>>37685
Я всегда советую придумать проект и его реализовывать. В процессе сам все поймешь без всяких книг. А книги забываются быстро. Но вообще, бери любую, где есть упражнения и вопросы для самопроверки, это лучший способ что-то учить так чтобы оно не выветрелось через 10 минут после прочитанного.
548 1638407
>>38198

>Если порядок элементов гарантирован, то для этого существует бинарный поиск


Бинарный поиск работает только для отсортированных коллекций.
549 1638410
>>38407
Ну тогда быструю сортировку и бинарный поиск
550 1638475
Аноны, где можно базу поднять? А решил прогером стать, открыл документацию по ASP.NET Core MVC, и там началось: Entity Framework Core, менеджеры пакетов NuGet, Контексты базы данных, Свойства наборов сущностей, шаблоны контроллеров с представлением, миграция БД. Хули так сложна? Что это вообще такое? Где про это можно почитать с объяснениями в одном месте и в разрезе одного кейса?
551 1638504
>>18705 (OP)
Мне надо сниффить из нетворка скидку на товар и купить его, если скидка больше 32%, чем можно это сделать?
552 1638505
>>38504
Регулярками, лол.
553 1638510
>>38475
Просто принимай все это как данность, а не думай. Решай этими инструментами свои задачи и все само понятно станет. Срсли.
554 1638567
>>38510
удваиваю.

>ASP.NET Core MVC


пили пет проджект и по ходу дела станет ясно как всё работает.
555 1638581
>>38410
Тогда лучше сразу использовать SortedList. Добавление элемента за О(n) и поиск за O(Logn)
556 1638591
>>38505
Да как мне в принципе кодом зайти в нетворк и найти там чё-то, я просто вообще ламер в проге
557 1638594
>>38591
Ну, если ты про шарп. То тут вариантов куча. Самый простой для нюфага - https://docs.microsoft.com/ru-ru/aspnet/core/fundamentals/http-requests?view=aspnetcore-3.1.
Для парсинга html есть куча готовых решений. Регулярки - рофл. Но, при желании можно и ими.
558 1638610
>>38594
Спасибо
559 1638716
>>18705 (OP)
Как ваш ебоманный веб апи разобрать, нихуя сука не понятно
560 1638872
>>38716
Так интересно иногда подобные вопросы слушать. На работе обсуждаешь, и думаешь "какой хуйнёй я занимаюсь, вот есть же у людей нормальные сложные интересные профессии, а мы тут в бирюльки играем". Для нас это всё как 2+2 давно и никаких сложностей нет, коллеги тебя с полуслова понимают, начнёшь объяснять концепцию - посмотрят как на дурака, потому что это давным давно всем известно.

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

И ты такой думаёшь: ёба, или люди отупели, или ты реально ко всей этой сложноте за годы так привык, что оно тебе как детский сад кажется.
561 1638874
>>38872
Тупой не тот, кто не понимает, а тот, кто не способен объяснить.
562 1638904
>>38874
Тупой тот, кто ты. Дж.Стейтем.
563 1639130
>>18705 (OP)

Сап, шарписты. Задали тут домашку на карантин, не получается доделать.

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

Дальше прога будет усложняться.

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

С меня как всегда.
564 1639183
>>39130
Какой ты вообще объект создаёшь? Нихуя не понятно в твоём тексте, проясняй и тащи свой код.
Безымянный.png579 Кб, 1920x1080
565 1639233
>>39183

Вот код Формы: https://pastebin.com/jt0mDTqM

Вот код класса Star, чей экземпляр создается: https://pastebin.com/jRF9PgMe

Пик - так выглядит формочка.

Проблема: Нужно, что бы звезда отрисовывалась по клику на кнопочку "Create sun".

Не знаю, как это сделать.

В конечном виде, программка должна принимать от пользователя характеристики звезды и планет, отрисовывать их макеты в заданном поле и давать возможность посчитать какие-нибудь штуки, например, расстояние от конкретной планеты до солнца, силу притяжения, которая действует на то или иное небесное тело и т.п.
566 1639262
>>39233
Как-то так: https://pastebin.com/LrH62ggA (из panel1_Paint код надо убрать, разумеется).

Вот только чем тебе это поможет? Судя по твоему коду, ты даже азов не знаешь.
567 1639316
>>39262

Ну, узнаю, что теперь делать. Спасибо, Анон.
568 1639477
>>38475
>>38510
>>38567
Ладно, решил забить на детали, подключил базу по статье в документации, все работает.
Где теперь дешево впс арендавать, чтобы в более реальных условиях все затестить? Предложений то куча, и я хз, что мне выбрать, чтобы потом, при возникновении косяков, я знал, что это мои косяки, а не они там за условные 250 рублей мне говно вместо услуг оказывают.
569 1639580
>>39130
WinForms - всё
570 1639591
>>39477
Azure на год хостинг бесплатно даёт. Там инструментов, которые в бесплатный пакет входят, более чем достаточно для твоего проекта.
App Service, DB (Sql Server, Postgres, можно вообще In-Memory для тестов), аналитика с логами.
571 1639651
>>39591
Я не хочу облака, облака дорогие. Год то закончится рано или поздно.
572 1639675
>>39651

>в более реальных условиях все затестить?


>Год то закончится рано или поздно.


Чё у тебя там за многолетние тесты?
573 1639679
>>39675
Тесты, разумеется, не многолетние я надеюсь, просто смысл мне все тестировать в облаках, если потом я все равно ими пользоваться не буду (ибо дорого)?
574 1639685
>>39679
Код и конфигурацию то будешь одну и ту же закидывать. Оттестишь, узнаешь что твой код норм работает, потом точно сможешь хостинг обвинять, когда в дешёвый впс переедешь.
575 1639688
>>39685
Так там же (на серверах) закидывать тоже нужно уметь, администрировать все это дело штоб работало. Как я смогу хостинг обвинять, если я, может быть, буду неправильно настраивать сервер?
576 1639705
Анон, собираюсь на курсач писать спамер ботами в майнкрафте. Кто то может пояснить каким образом там происходит подключение? Хотя бы примерно, а то я раньше дальше http запросов и не ходил.
577 1639741
>>39705

>майнкрафте


>дальше http запросов и не ходил.


пошел нахуй, уебывай отседова грязь
578 1639742
Кто деплоил ASP.NET Core Web API и хостил на локальную тачку на домен? Скиньте ссыль, а то MSDN не торт
579 1639751
Как выбрать между ASP.NET Core Razor Pages, MVC и API?
580 1639770
>>39751
>>39742
>>39705
Это не вопросы. Это ёбаный в рот какой-то.
Причём тут asp.net и домен и локальный хостинг? Как эти 3 вещи вообще зависят друг от друга? Хуёмаё, иди читай как DNS работает! Потом как работает web server. Asp.net тут вообще не причём.

Razor vs API - ты реши чё тебе надо. То ли тебе REST API, то ли тебе UI, то ли тебе и то и то. Причём тут MVC вообще? MVC - это про стукрутур проекта. Может тебе вообще MVC не надо. Я понимаю, что в названии фреймворка эту аббреиватуру используют, но тебе надо от неё абстрагироваться.

Про майнкрафт - выпились плиз.
581 1639771
>>39770
структуру
аббревиатуру
После пива чё-то не очень печатается.
582 1639772
>>39770
Этот дебил из Майнкрафта не только этот тред засрал кстати
Вкатывальщики совсем ебанулись. Чем дальше к сингулярности тем охуевшей вкатчики.
583 1639796
Сколько стоит переписывание программы с крестов на шарп? Всего около 20к строк.
584 1639875
>>39796
Зависит от того, что за программа, разумеется. Одно дело переписать формошлёпский клиент для работы с данными из БД, и совсем другое, например, какой-нибудь рендерер сложной хуйни с дикими матмоделями.
585 1639886
>>39796
10р за строку.
586 1640227
>>39886
Строкой считается 255 символов, а не перевод строки.
587 1640389
>>39770

>Причём тут asp.net и домен и локальный хостинг? Как эти 3 вещи вообще зависят друг от друга?


- Проект на чем? На ASP.NET Core
- Где хостим? На локальной тачке
Что тебе блять не понятно? DNS я знаю как работает, как и web server

>Asp.net тут вообще не причём.


понятно, у тебя проекты .NET-та на апаче или на nginx крутяться? Выебщик хуев, тутор лучше скинь какой ни будь, а не выебывайся
588 1640489
589 1640548
>>40489
ничего другого от такого дауна и не мог ожидать
590 1640705
стоит ли вкатываться в шарп по Троелсону? или лучше с какого-нибудь другого учебника начать?
hqdefault.jpg8 Кб, 480x360
591 1640721
>>40705

>стоит ли вкатываться в шарп


начни лучше с такого вопроса
592 1640742
>>40721
я думаю стоит. мне в целом нравится этот язык. и это главное. думаю если погонишься за большими деньгами на нелюбимый язык, то тебя остаебёт и ты быстро выгоришь.
593 1640749
>>40705
твой первый язык?
594 1640758
>>40749
Нет. Я пробовал Python и Java, но чёт как-то такое.
595 1640783
>>40758
C# от Джавы принципиально не отличается.
596 1640809
>>40742
если просто нравится кодить - конечно стоит, если хочешь еще копеечку заработать - думаю стоит задуматься
597 1640852
Анон, что оно от меня хочет? я не понимаю...
598 1641014
>>40783
Embrace, Extend, and Extinguish
599 1641022
>>40809
Так а разве на си шарпе нельзя копеечку заработать? Я глянул вакансии, джунов ищут - норм. и притом не как на Java в 99.9% в требованиях знания сахарка из спринга с аннотациями, а вполне так в разные области можно попробовать. даже где-то видел, что формочки шлепать можно.
600 1641059
>>41022
я бы копеечку на другом зарабатывал, но раз ты видел вакансии, да еще и джунов - то вперед и с песней. Потом поплачешь расскажешь, как все прошло
601 1641130
Почему тред затух в последнее время? Вы же раньше вон какими активными были, после 500 перекатывали, по всей доске был слышен шарп, а сейчас...
602 1641153
>>40852

У тебя на 3 скрине два контрола с одинаковым DataField="name"
603 1641156
>>41059
Интересно послушать, на чём бы ты копеечку заработал бы?
604 1641157
>>41130
все разочаровались и перешли на JS((((
605 1641161
>>41153
ТОЧНЯК это из аз этого может быть, как я не додумался, спасибо бро!
606 1641162
>>41157
TS оказался нужнее шарпа. А что, удобно, на реакте с нодой сайтик набросал и готово тестовое. А это учить 2 языка, еще и там фреймворк, и там асп нет.
607 1641168
>>41161

Это что-то самописное? Не признаю что-то таких контролов в стандартной поставке.
608 1641179
>>41168
да, это самописное, но шаблон популярен, и не сложно гуглиться
609 1641228
Анон, подскажи, почему у меня при выполнении данной программы (вычисление суммы депозита) с заведомо известным результатом (100 12 1) выдает не 101, а 101,0045960887181. Все уже перепроверил, формула правильная.
https://pastebin.com/HXJUXF0Q
Может, с типами данных что-то не так? Вроде в комментариях на сайте все через double делали.
https://ulearn.me/course/basicprogramming/Praktika_Protsenty__6cc09002-9973-4328-a31b-c7343f8c6b5d
610 1641259
>>41014
Это давно было.
611 1641261
Какой конвеншн в Шарпе?

++var;
или
var++;
612 1641264
>>41261
Это не от конвеншена зависит, а от твоих целей. Если нужно использовать новое значение, то ++x, если старое, то x++
613 1641274
>>41264

>Если нужно использовать


Не нужно использовать. Просто инкремент. Какой конвеншн?
614 1641278
>>41264

>Если нужно использовать новое значение, то ++x, если старое, то x++


У тебя признаки рака мозга, обратись к врачу.
615 1641289
Вопрос по могильным приложениям.

Имел малый опыт по разработке Java приложений под ведроид, ну если это делать на C# по ощущениям будет тоже самое?

Вот допустим приложение под 4 ведроид может работать на 7, есть какая-то совместимость у версий ведроида???
616 1641352
>>41156
только ойти долбоебы бегают и кричат на каждом шагу, что они 300кк зарабатывают
617 1641500
>>41261
Проиграл!
618 1641527
>>41500
Я же серьёзно спрашиваю
619 1641610
>>41228
Подсобите в данном вопросе, господа, хочу дальше по сайту шагать.
620 1641615
>>41162

>А что, удобно, на реакте с нодой сайтик набросал и готово тестовое.


И миллион школьников, размышляя так же, набрасывают сайтик на реакте с нодой и идут конкурировать за зарплату в 20к. А вот в ASP школьники не могут, поэтому мы по 80к на первых работах получаем.
621 1641641
>>41228
Да, дело в даблах, они не точные. Деньги обычно считают в decimal.
622 1641655
>>41641

>double: хранит число с плавающей точкой от ±5.010-324 до ±1.710308 и занимает 8 байта.



Хз, конечно, но вряд ли это может дать погрешность до 3 знака после запятой...
623 1641659
>>41655
Ошибки могут накапливаться во время вычислений.
624 1641663
Sup Aноны, пытаюсь делать лабы по виндоус формам на С#, но что-то я явно не понимаю в математике этого языка.
Есть код: https://pastebin.com/6rta9mzT
Есть интерфейсс, пик2. И есть задача с контрольными значениями, пик1. И вот результат "Результат U = -40,6306940893479". Подскажите, что я делаю не так? Где я проебался?
625 1641667
>>41663
А уверен что arcsin^2(z) === (arcsin(z))^2?
626 1641672
>>41228
>>41659
Да нет, это я дурак, перепутал переменные в формуле... Все работает, как нужно.
627 1641673
>>41274
Если просто использовать, значит у тебя говнокод.
>>41278

>этот подрыв вкатывальщика, который не знает разницу между x++ и ++x

628 1641677
>>41667
Окей похоже мне не хватает знаний маразматики, я не уверен. Я думал да. Но как это должно выглядеть в коде, если это не так ?
629 1641681
>>41677
*математики, быстрофикс
630 1641682
>>41677
>>41663
Нахуй тебе программирование, если ты даже формулу переписать не можешь?
631 1641687
>>41682
Всё я понял, написал
double b = (Math.Asin(z)* Math.Asin(z) - Math.Abs(x - y));
но до сих пор не понимаю в чём разница, с
double b = (Math.Pow(Math.Asin(z), 2.0) - Math.Abs(x - y));
632 1641710
>>41687
Нет я нихуя не понял, это одно и тоже
633 1641752
>>41673

>инкремент


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


Охуеть, что несёт.
634 1641764
>>41752
Мань, почему еще здесь а не в гугле с запросом отличия префиксного инкремента и постфиксного?
153564352.png2 Кб, 285x156
635 1641765
>>41655
И до первой может. Они в памяти так представлены, тут не в количестве цифр после запятой дело.
636 1641767
>>41764
Шизоид, кто вообще спрашивал об их различии?
637 1641772
>>41767
Это же ты уже которой пост горишь от незнания этого, ты не спрашивай, ты сразу учи и в следующий раз не обосрешься.
638 1641785
>>41772
Приятель, у тебя провалы в памяти? Мы вроде с тобой уже установили, что возвращаемое значение мною не используется, соответственно преинкремент и постинкремент функциональной разницы не имеют. На что ты заявил, что использовать инкремент и не считывать возвращаемое значение — признак говнокода. Я такому заявлению несказанно удивился, ведь я могу накидать тебе подобных примеров использования инкремента хоть из кода самого дотнета.

И тут у тебя случился откат и ты снова взялся повторять про эту разницу, и что никто здесь кроме тебя якобы этого не знает. Так вот, что с тобой не так, в чём твоя проблема? Зачем ты продолжаешь как одержимый повторять одно и то же, что никто здесь даже не обсуждает?
639 1641788
>>41785

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



Сычуш, когда-нибудь ты вырастешь, возможно поумнеешь, и поймёшь, что идеального кода не бывает, потому что не бывает идеальных компиляторов, идеальных IDE и идеальных языков программирования. Да-да, сычуш, постарайся не сильно травмироваться с осознанием этого, а то я смотрю у тебя там манямирок полностью реальность затмил.
640 1641803
>>41765
Твой пример это не подтверждает, там разница в миллиардных долях, а то и меньше.
В python такая же чепуха с float, дает допустимую точность все равно.
641 1641806
>>41788
Где я называл код дотнета идеальным?

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

Я правильно понимаю, что код .NET Core — это говнокод, а твой код — это не говнокод? И на чём именно основано такое убеждение, можно поинтересоваться?
642 1641817
>>41806
Ты всё сам поймёшь, ровно после того, как перестанешь додумывать чушь вида "а твой код — это не говнокод"на основе утверждений о каком-либо коде. Если человек что-то называет черным, это не значит, что у него всё белое. Понимаешь, сычуш?
643 1641822
>>41817
Хорошо, эту часть опустим. Код .NET Core — это говнокод? На чём основано это убеждение?
644 1641837
>>41822
На том, что любой код это говнокод, я уже выше писал.
645 1641846
>>41837
Тогда в чём был смысл утверждения

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


если оно не несёт никакой информации? Или всё же в простом инкременте есть какая-то своя особая говнистость, отличающая такой код от всех прочих говнокодов? В чём же она заключается?
646 1641853
>>41846
Смысл в том, что нужно всегда понимать что ты делаешь и предназначение инструментов, которыми ты пользуешься. По твоему самому первому вопросу, можно понять, что ты этого не понимаешь.
647 1641862
>>41853
С чего же ты взял, что я не понимаю, что делаю и чем пользуюсь? Разработчики .NET тоже не понимают, что делают и чем пользуются? Они ведь точно так же используют инкремент. Не хотел, но боюсь, что стоит повторить, а то вдруг у тебя опять случится провал в памяти и ты начнёшь задвигать про разницу пре- и постинкрементов: ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ НЕ СЧИТЫВАЕТСЯ. ВСЯ ИНСТРУКЦИЯ ПРЕДСТАВЛЯЕТ СОБОЙ ЛИШЬ ИНКРЕМЕНТ ПЕРЕМЕННОЙ. ОТ ПЛЮСОВ СПЕРЕДИ ИЛИ СЗАДИ ЛОГИКА ПРОГРАММЫ НЕ ИЗМЕНЯЕТСЯ.
648 1641867
>>41862

>С чего же ты взял


С этого >>41261
649 1641870
>>41867
И что там? Ты не понимаешь, что разницы в логике программы между
var++;
и
++var;
нет никакой совершенно? Или ты считаешь, что она есть? Какая же?
650 1641881
>>41672
Нет, не работает. У нас тех, кто хранил деньги не в decimal - отчисляли нахуй.
651 1641914
>>41881
Так стоит задача на сайте, я так понимаю, что если требуют результат вывести в double, то и расчеты стоит вести в нем, с decimal уже нужно использовать всякие хитровыебанные методы для возведения в степень, деления и т.д.
Ну и мне простительно, я машиностроитель по образованию.
652 1642019
>>37400
Уже вижу челика который солюшен на core с 20+ проектами в сублайме редачит, ага
Или это такой троллинг, а я не выкупил
653 1642064
>>41673
Ты еблан какой-то, в почти любом цикле есть инкремент, который просто вызывается в конце итерации и его значение никуда не присваивается. И там абсолютно до пизды i++ или ++i кроме конвенции.
мимо
654 1642143
Ебать, а у кого какие петы?
655 1642145
>>42064
В голос, блять, еще один дегенерат. Какой нахуй конвенции, тупоголовая скотина? Вот написано у тебя в конвенции ++x и ты хуячишь ++x там где нужно x++? Так ты себе это представляешь, хуесосина?
656 1642174
>>42143
У меня кошка.
657 1642224
>>42145

>Вот написано у тебя в конвенции ++x и ты хуячишь ++x там где нужно x++?


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

>Вот написано у тебя в конвенции ++x


Не написано. ВСЕГДА используется x++;

>ты хуячишь ++x там где нужно x++?


Тебе руки нахуй оторвут, если ты будешь в коде использовать возвращаемое значение инкремента.
658 1642229
>>42224
В голос с долбоеба.
659 1642235
>>42145

>Вот написано у тебя в конвенции ++x и ты хуячишь ++x там где нужно x++?


И ты хуячишь ++x там, где не имеет значения, ++x или x++. Почему ты настолько тугой?
image.png115 Кб, 400x400
660 1642240
>>42145

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


>Вот написано у тебя в конвенции ++x и ты хуячишь ++x там где нужно x++?



Тебе родителей не жалко? Им же приходится до сих пор тебе жопу вытирать.
661 1642298
>>42145
типичный # вкатывальщик. Вам не зашквартно с такими в одном комьюнити сидеть? Даже JS макаки такой хуйни не пишут
662 1642423
Блядь, вот какого хуя, несколько Fixed столько весит? Это ж пиздец какой-то. Каждые пару недель выкачивает под гигабайт, сука. Похуй, трафик безлимитный на 4г, но время-то дохрена уходит, ладно хоть ноут не старый, а на старой железке без SSD можно пол рабочих дня на такое говно потерять.
663 1642580
>>42298
>>42240
>>42235
>>42224
Пиздец семена порвало, тебе самому не стыдно?
664 1642654
>>42423

>время-то дохрена уходит


>сам вручную устанавливает незначительные обновления


?
665 1642676
Кто может подкинуть инфу по проекту на asp.net core web api + клиенская часть (react/angular/vue)? Я знаю, как задеплоить на хост приложение MVC, но блять ума не приложу, как работает это с разделенным backend и front. Пробовал тупо кидать в wwwroot сборку webpack, но хуй. Заранее спасибо
666 1642680
Ребят, я научился в LINQ, возьмите на работу
667 1642738
>>18705 (OP)
Сап, шарпач.
КАК ЖЕ ЗАЕБАЛ ЭТО ЕБАНЫЙ ДЕБИЛЬНЫЙ МУДАЦКИЙ АБОРТИРОВАННЫЙ НИГИЛЛИСТИЧЕСКИЙ ПИДОРАСТИЧЕСКИЙ ВЫПЕРДЫШ ТУПОГОЛОВЫХ НИЗКОЦЕФАЛЬНЫХ ПРОФНЕПРИГОДНЫХ УБЛЮДОЧНЫХ ОБСОСНЫХ СРАНЫХ ДЕВЕЛОПЕРОВ - ТУПОЕ ГОВНО ТУПОГО ГОВНА, NuGet
Как ебаный прокси с доменным юзером на нугу накинуть? Я уже три часа пытаюсь скачать ссаный индекс. Пробовал и в урл прописываться, и через CLI - все хуйня, 407.
668 1642850
>>42676
Смотря какой нужен конечный результат и на чем хостить.
669 1642875
>>42850
asp.net core 3.0 бэк, react js - фронт. Хостим на сервере, IIS. Какая еще информация нужна?
670 1643029
Всем привет. Может подскажете в чем соль.
Нужно создать зубчатый массив и запилить в него всякие свойства и методы. Застрял на моменте ввода значений в массив с клавиатуры подскажите в чем соль может быть где проебался вот скрины кода.
671 1643074
>>43029

>зубчатый массив


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


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


У тебя все ок? Не болен?

>может быть где проебался


за тебя IDE все делает - читай exception
672 1643104
>>43029
Все хуйня, давай по-новой.
Во-первых, нэйминг. m, n - ни о чем не говорит, doubleArray - запутывает, SteppedArray - это называется Jagged/Ragged array, GetArrayToConsole - абракадабра и т.д.
Во-вторых, подсчет элементов неверный, это для матрицы так можно, а ступенчатый массив может быть таким
a, b, c
d
e,f,g,h,i,j,k,l
По поводу исключения, смотри что вводишь в консоль, на вход ожидается целое число
673 1643157
>>43029
Кто таких долбоебов на свет рожает?
674 1643173
>>43157
Твоя мамка.
675 1643174
>>43104
>>43074
Да уже порешал
676 1643187
>>43029
1) Ты проебался с изучением предметной области. Читай про IEnumerable<>.
2) Ты читаешь всю строку с консоли. Если я напишу дичь а-ля

0.293,211 14188ПИЗДЕЦ^w

, то стандартный метод спарсит тебе Exception, который ты не ловишь.
Поэтому, как минимум TryParse(), а лучше регексы+валидатор. Есть еще вариант с try..catch, но это полная хуйня.
3) Если лезть совсем в залупу, то ты проебался с тестированием. Вместо автоматизированного теста у тебя долбежка в консоль. Но ты совсем зеленый, забей на тесты до первого проекта с хотя бы 10-ю классами.
677 1643202
А вообще, я хуею с этих вузовских методичек по программированию:
УРОК 1
@
ПЕРЕМЕННЫЕ, ТИПЫ, УПРАВЛЯЮЩИЕ КОНСТРУКЦИИ
@
УРОК 2
@
ФУНКЦИИ, МАССИВЫ, СТРУКТУРЫ
@
УРОК 3
@
КЛАССЫ
@
УРОК 4. ПРАКТИЧЕСКОЕ ЗАНЯТИЕ
@
РЕАЛИЗОВАТЬ С НУЛЯ ПОТОКОБЕЗОПАСНУЮ OBSERVABLE BTREE COLLECTION С ПАРАЛЛЕЛИЗМОМ
678 1643272
>>43202

>урок 4 практическое занятие


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


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

679 1643285
>>18705 (OP)
Существует ли способ
определить кодировку bytearray,
прежде чем сделать convert bytearray -> to string?

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

В общем-то, задача в следующем. "data" (text or binary) -> text1 -> bytearray -> text2; (text1 === text2)
680 1643307
>>43272
Тут не про сложность и не про отсутствие практических занятий.
С самого начала втирают императивку, которой можно выделить 2 часа, а потом удивляются почему в профессии кругом сплошные быдлокодеры, не пригодные даже в экселе таблички сводить. НЕТ, ПОЛГОДА ЗАДАНИЙ НА ДРОЧКУ БАЙТОВ ИЗ МАССИВА В МАССИВ - ЭТО ЗАЕБИСЬ, ТРУЪ НА ЭТОМ ВЫРАБОТАЕТ НУЖНОЕ МЫШЛЕНИЕ ПИЗДИТЬ КОД НА STACKOVERFLOW, А НЕ-ТРУЪ РАЗОЧАРУЕТСЯ И СТАНЕТ ПОВАРОМ.
681 1643317
>>43307
Человеку, который пишет int arrayElements и при этом не смущается тому, что у него массив назван doubleArray, который не смог вбить в гугл-переводчик "зазубренный массив", который не может понять смысла предложения исключения выданого IDE, такому человеку никакая программа не поможет и всё ему будет плохо и не так.
682 1643326
>>43317
Ага, или другая крайность:

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

683 1643329
>>42738
Бамп реквесту.
684 1643507
>>43285

>определить кодировку bytearray


Надежного способа нет. StreamReader попытается определить, или в ручную через анализ BOMa.

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


Чего, блять?

>произвольного байтового массива в utf8


А utf8 это не произвольный набор байт. Прочитай хотяб на вики как оно кодируется.
text1 -> bytearray -> text2; (text1 === text2)
var bytes = Encoding.UTF8.GetBytes(text1);
var text2 = Encoding.UTF8.GetString(bytes);
.
685 1643551
>>43285
Этот вопрос закрыт, решение найдено - это SBCS.
Она кодирует все 256 байт одним символом,
и есть ещё DBCS - она по два байта кодирует, в символе, то есть все 65536 байт.
Разумеется - реверсивно, и текст читабелен, вроде, если байты англ букв.
>>43507
Я уже пробовал, но UTF8 - не реверсивен. Пруф: https://rextester.com/IOUGY24132
686 1643560
>>43551
Я, правда, так и не понял, как его вызывать, кроме как используя System.Text.Encoding.Default

>System.Text.Encoding.SBCSCodePageEncoding


не работает

>System.Text.SBCSCodePageEncoding.GetString()


тоже

И если это Character Set, наверняка можно произвольные символы ему задать, в этот set, чтобы там кириллица была?
Или есть что-нибудь с кириллицей уже? BlockCopy методы, хоть и реверсивны, но выдают китайские кракозяблики в строке.
То есть, если в байтовом массиве байты текста "page/?строка1=one&строка2=two"
- будет хуй пойми чего, по китайски, а не текст.
687 1643588
>>43551
Если тебе достаточно одного байта, для кодирования символа,
то гугли 8-ми битные кириллические кодировки.
Их там несколько: Windows-1251, CP866, KOI8-R и ISO 8859-5
Они - как расширение 7-ми битного ASCII идут и кодируют оставшиеся символы вплоть до байта со значением 255.
Но, что если кириллический символ будет закодирован двумя байтами?
Например, буква "Б" в Unicode: https://unicode-table.com/ru/0411/"
Unicode, говоришь не реверсивен, хуй знает тогда, как. Может аноны подскажут?
688 1643593
>>43551

>Пруф: https://rextester.com/IOUGY24132


Пруф того, что ты так и не прочитал пару статей на вики? Ну продолжай кодить наугад, как обезьяны, пишущие Гамлета.
https://rextester.com/IHJMZ44209
689 1643603
>>43593
Лучше так
https://rextester.com/KUNFB42979
и на кокоре заведется
690 1643613
>>43593

>Encoding.GetEncoding(437);


>cp437


Там же нет кириллицы.
Нашёл кучу кодов, вот здесь: https://docs.microsoft.com/en-us/dotnet/api/system.text.encodinginfo.getencoding?view=netframework-4.8

Заменил "437" на:
"1251" (windows-1251) - GOOD.
"866" (cp866) - GOOD.
utf-8, по коду 65001 - ВAD.
В общем, вот: https://rextester.com/MCE69037
Половина из них реверсивны, половина - нет, блядь.

И да, что это за кодировка такая? SBCSCodePageEncoding??
Даже кодовой таблицы в гугле нет. Как её включить, чтобы юзать принудительно, а не по default'у? Вдруг Default будет UTF8 или ещё чё, и надо будет SBCS.GetBytes() и SBCSCodePageEncoding.GetString() вызывать?
691 1643622
>>43613

>Там же нет кириллицы.


А она нужна? KOI-8r глянь, может подойдет, может нет.

>SBCSCodePageEncoding


Google, motherfucker, can you use it? Single Byte Character Set, т.е. это не какая-то конкретная кодировка. И по сути оно будет хранится в таком же byte[] как и до конвертации в строку. Ты же понимаешь, что строка это такой же набор битов, а кодировка это способ их интерпретации. И если пользоваться SBCS, то массив {10,20,30} будет тем же массивом {10,20,30} и только при выводе на экран в зависимости от кодировки это будет "хуй" или "huy".

Ты лучше скажи, что ты делаешь, тогда есть шанс, что тебе подскажут адекватное решение, а не гонять байты в строки и обратно.
692 1643634
>>42676
бамп
693 1643640
>>43622

>>Там же нет кириллицы.


>А она нужна?


Очень желательно, но не обязательно.

>KOI-8r глянь, может подойдет, может нет.


Он для .NET Framework только, поэтому, наверное, лучше

>"iso-8859-1", с кодом 28591 (Western European (ISO))


как правильно подметил этот >>43603 анон, она заведётся и на .NET Core.

>Google, motherfucker, can you use it? Single Byte Character Set


Я уже столько вкладок с английскими буквами про эту хуйню, позакрывал нафиг...
Там же ни кода, ни кодовой таблицы - нифига, сухое бла-бла, так и непонятно как его вызывать, без Default.
Тем не менее, с System.Text.Encoding.Default.GetString() и System.Text.Encoding.Default.GetBytes() работают с ним.

>И по сути оно будет хранится в таком же byte[] как и до конвертации в строку.


>Ты же понимаешь, что строка это такой же набор битов,


>а кодировка это способ их интерпретации.


>И если пользоваться SBCS, то массив {10,20,30} будет тем же массивом {10,20,30}


>и только при выводе на экран в зависимости от кодировки это будет "хуй" или "huy".


Ну так, на выходе же строка. А можно как-то символы эти задать, и сделать из него, тот же windows-1251??

>Ты лучше скажи, что ты делаешь,


>тогда есть шанс, что тебе подскажут адекватное решение,


>а не гонять байты в строки и обратно.


Ладно... Начну свою кулстори...
Есть значит, некий HTTP-сервер, в onion...
Он принимает очевиднейший HyperTEXT,
который поступает на методы в виде

>string


но внезапно, юзер заливает PNG-картинку с фракталом,
а она с JavaScript'a грузится, отправляется POST-заросом как blob или ArrayBuffer,
и ещё и шифруется, при помощи HSalsa20, ассиметричной криптографией x25519-xsalsa20-poly1305,
при помощи библиотеки TweetNaCl.js v1.0.3,
и этот шифр гонится на сервак в виде raw-data,
которая в string хуёво конвертится, из-за этих кодировок ебучьих, что и нахуй не нужно.
Ну да ладно...
Есть отдельный метод, принимающий request в виде byte[] в качестве параметра,
там он дешифрует, и обрабатывает пикчу, кароче, ну или JSON дешифрованный.
Туда, на этот метод, инфа может и должна заливаться,
только если она рили бинари, а не текст,
потому что в тексте могут быть get-запросы,
вида "page/?строка1=one&строка2=two" или даже: "?oh_shi={JSON_с_кириллицей, ебать}"
Весь прикол в том, что и текст, этот, ебучий, может слаться в бинарном виде,
например POST-запросом, в виде ArrayBuffer'a.
Собственно, стоит задача - попытаться декодировать байтовый массив в текст,
извлечь оттуда не только латинницу, но и кириллицу - в string,
и отправить результат - на метод, принимающий string,
там эту string проверить, и если это не текст, читабельный,
а говно какое-то неведомое - значит это криптошифр,
его надо декриптовать, но не в виде текста, а в виде байт.
Поэтому строку, эту, ебучую, фейлово сконверченную, надо реверсивно, сконвертить в байты,
а байты уже присунуть методу, принимающему bytes[], для декрипта этих байт,
и выдачи строки декриптнутой - опять на метод.
Ещё один прикол, в том, что кириллица в декриптнутой строке, может содержать четырехбайтный Unicode,
в то время как сами байты криптошифра может быть представлен однобайтными символами.
То есть, вопрос ещё и состоит в том, какая же кодировка у всей этой хуйни...
693 1643640
>>43622

>>Там же нет кириллицы.


>А она нужна?


Очень желательно, но не обязательно.

>KOI-8r глянь, может подойдет, может нет.


Он для .NET Framework только, поэтому, наверное, лучше

>"iso-8859-1", с кодом 28591 (Western European (ISO))


как правильно подметил этот >>43603 анон, она заведётся и на .NET Core.

>Google, motherfucker, can you use it? Single Byte Character Set


Я уже столько вкладок с английскими буквами про эту хуйню, позакрывал нафиг...
Там же ни кода, ни кодовой таблицы - нифига, сухое бла-бла, так и непонятно как его вызывать, без Default.
Тем не менее, с System.Text.Encoding.Default.GetString() и System.Text.Encoding.Default.GetBytes() работают с ним.

>И по сути оно будет хранится в таком же byte[] как и до конвертации в строку.


>Ты же понимаешь, что строка это такой же набор битов,


>а кодировка это способ их интерпретации.


>И если пользоваться SBCS, то массив {10,20,30} будет тем же массивом {10,20,30}


>и только при выводе на экран в зависимости от кодировки это будет "хуй" или "huy".


Ну так, на выходе же строка. А можно как-то символы эти задать, и сделать из него, тот же windows-1251??

>Ты лучше скажи, что ты делаешь,


>тогда есть шанс, что тебе подскажут адекватное решение,


>а не гонять байты в строки и обратно.


Ладно... Начну свою кулстори...
Есть значит, некий HTTP-сервер, в onion...
Он принимает очевиднейший HyperTEXT,
который поступает на методы в виде

>string


но внезапно, юзер заливает PNG-картинку с фракталом,
а она с JavaScript'a грузится, отправляется POST-заросом как blob или ArrayBuffer,
и ещё и шифруется, при помощи HSalsa20, ассиметричной криптографией x25519-xsalsa20-poly1305,
при помощи библиотеки TweetNaCl.js v1.0.3,
и этот шифр гонится на сервак в виде raw-data,
которая в string хуёво конвертится, из-за этих кодировок ебучьих, что и нахуй не нужно.
Ну да ладно...
Есть отдельный метод, принимающий request в виде byte[] в качестве параметра,
там он дешифрует, и обрабатывает пикчу, кароче, ну или JSON дешифрованный.
Туда, на этот метод, инфа может и должна заливаться,
только если она рили бинари, а не текст,
потому что в тексте могут быть get-запросы,
вида "page/?строка1=one&строка2=two" или даже: "?oh_shi={JSON_с_кириллицей, ебать}"
Весь прикол в том, что и текст, этот, ебучий, может слаться в бинарном виде,
например POST-запросом, в виде ArrayBuffer'a.
Собственно, стоит задача - попытаться декодировать байтовый массив в текст,
извлечь оттуда не только латинницу, но и кириллицу - в string,
и отправить результат - на метод, принимающий string,
там эту string проверить, и если это не текст, читабельный,
а говно какое-то неведомое - значит это криптошифр,
его надо декриптовать, но не в виде текста, а в виде байт.
Поэтому строку, эту, ебучую, фейлово сконверченную, надо реверсивно, сконвертить в байты,
а байты уже присунуть методу, принимающему bytes[], для декрипта этих байт,
и выдачи строки декриптнутой - опять на метод.
Ещё один прикол, в том, что кириллица в декриптнутой строке, может содержать четырехбайтный Unicode,
в то время как сами байты криптошифра может быть представлен однобайтными символами.
То есть, вопрос ещё и состоит в том, какая же кодировка у всей этой хуйни...
694 1643649
>>43640
Забыл добавить один немаловажный аспект, для наглядности того, что асимметричное шифрование,
которое на стороне клиента, реализовано вот таким вот образом:
https://github.com/username1565/nanoboard-javascript-captcha/blob/44f7fed434de3941d4c83fad7f9501a464ac0452/index.html#L276
Дешифруется на стороне сервера, вот так:
https://github.com/username1565/Chaos.NaCl_in_one_CS/blob/633405df3709b33190d5557f52aaf6958c2f30ff/Chaos.NaCl.cs#L788
Разумеется, после вычисления общего ключа симметричного шифрования, на эллиптической кривой Монтгомери:
https://github.com/username1565/Chaos.NaCl_in_one_CS/blob/633405df3709b33190d5557f52aaf6958c2f30ff/Chaos.NaCl.cs#L476
Дальше, производится симметричный энкрипт-декрипт данных в обе стороны - абсолютно-криптостойким
шифром Вернама, на базе XOR-шифрования.
Очевидно, что оба метода - принимают на вход byte[], а не string,
поэтому HTTP-request должен содержать content в виде binary-data.
Впрочем я ранее и представить себе не мог, как можно было бы, в виде текста, отправить сырые данные.
Однако можно! И реверсивные кодировки тому подтверждение.
Но всё-же, зашифрованные данные приёмопередаются в бинарном виде,
а частности, JSON, с данными, в размере около 30 гигабайт,
при загрузке с клиента на сервер, должен бы быть зашифрован и передан в бинарном виде.
Расшифровка же, на стороне клиента, автоматизирована, при помощи асинхронных функций,
с использованием promise и таймаутов.
Всё это - вместе слаженная криптосистема, которая может работать децентрализированно,
как онлайн, так и оффлайн, поскольку изначально, наличие серверов у неё - не планировалось.
695 1643655
Начинаю разбирать MVVM паттерн для WPF, нужна хелпа с литературой/источниками инфы. Курсы,книги,статьи - все что поможет на ваш взгляд. Metanit плохо объясняет или я тупой. Пока только первый день ебусь с этим, но прогресс есть. Всем ответившим заранее спасибо
696 1643658
>>43655
У Троелсена есть
697 1643659
>>43655
Iamtimcorey
698 1643660
>>43658
В его большой книге по c#?
699 1643662
>>43660
Да.
700 1643663
>>43660

Но если ты с мутанита начал знакомство с шарпом, то тебе придётся читать её полностью, а не только часть c MVVM
701 1643733
>>42676
бамп тварыны
702 1643767
>>43663
я читал ее, но не полностью. В любом случае спасибо чекну что Троелсен говорит
703 1645071
аноны, хочу завтра пойти купить литературу для изучения, пожалуйста посоветуйте что нибудь хорошее
image.png37 Кб, 1259x498
704 1645716
Помогите пожалуйста.
Нужна программа которая подсчитает число повторяющихся символов в строке.

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

listBox1.Items.Clear();

string text = textBox1.Text;

foreach (char ch in text)
{
int i=0;

for (int l = 0; l < text.Length; l++)
{
if (ch == text[l]) i++;
}
listBox1.Items.Add(ch + " - " + i.ToString() + " раз ");
}
705 1645757
>>45716
Одной строкой.

> listBox1.Items.Clear();


> string text = textBox1.Text;


text.Where(c => char.IsLetter(c)).Distinct().Select(c => $"{c} - {text.Count(cc => cc == c)} раз").ToList().ForEach(c => listBox1.Items.Add(c));

> Нужна программа которая подсчитает число повторяющихся символов в строке


Какой вопрос, такой и ответ.
706 1645769
>>45757
Я нихуя не понял, но оно работает. Спасибо.

Если не сложно, можешь прокомментировать?
707 1645806
>>45769
Понимаешь, анон, это решение, оно вряд ли тебе подойдёт. Ты ведь наверняка делаешь эту херню для учёбы, лаба какая-нибудь, или ещё что. 95% вероятности, что от тебя хотят, чтоб ты сам верно составил алгоритм, а не вызвал по цепочке несколько функций языка, которые за тебя всё сделают сами.

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

Думай, там всё просто на самом деле.

И да, в классе char ты сможешь найти некоторые методы, которые тебе помогут определить, чем является символ - буквой, цифрой, знаком и т.д.
708 1645810
>>45769

>но оно работает


Как надо? А то ты считаешь все символы, включая пробел, а тот анон только буквы.
Можно еще
listBox1.Items.Clear();
listBox1.Items.AddRange(textBox1.Text.GroupBy(c => c).Select(g => $"{g.Key} - {g.Count()}").ToArray());
709 1645826
Я конечно дико извиняюсь, но тут есть те, кто уже вкатился? Судя по вопросам из ленты - на борде сидят только студенты и вкатывальщики.
710 1645867
>>45826

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


Кажется, ты начал что-то понимать...
711 1645965
>>45716
listBox1.Items.Clear();
string text = textBox1.Text;

Dictionary<char, int> chars = new Dictionary<char, int>();

foreach (var ch in text)
{
if (Char.IsLetterOrDigit(ch))
chars[ch] = chars.ContainsKey(ch) ? chars[ch] + 1 : 1;
}

foreach (var item in chars)
{
listBox1.Items.Add($"{item.Key} - {item.Value} раз(а)");
}
712 1646037
>>45867
проскролил ленту, ни одного вопроса, которые могут касаться реальных проектов. Какие то блять формочки, алгоритмические задачи. Пиздец, товарисчи. Я попутно в JS треде сижу, там хоть что то годное можно найти. Тут же - болото блять
713 1646043
>>46037
Весь сосач - это "болото", анон.
714 1646082
>>45826
Привет. Полтора года в c# комерческом ентерпайзе. Полет - номра, благо софт пишу в нише которая всегда в топе.

А как у вас на галерах? Урезают зп?
715 1646087
>>46082

>комерческом ентерпайзе


интерпрайз бывает не комерческий? Насчет галеры - часть проектов закрылась и сидят на бенче гребцы, все ремоут. Насчет урезки - есть галеры, где 50/75% от ЗП платят, у нас такого благо нет
716 1646132
>>46037
Тот кто вкатился, тот должен был научится гуглить. На 99% вопросов ответы уже есть, а чтобы спросить оставшиеся есть места поинтереснее борды со школьниками.
717 1646216
>>46132
я если спрашиваю, то вопросы типо "best practice" или архитектурные заморочки. Но тут же блять, просто зашквар. То строчки подвинь, то алгоритм забей в метод. Пиздец короче. Вчера поскролил этот тред, не успел до половины дойти, как понял, что все безнадежно
718 1646230
>>46216
Так что-то сложнее хеллоуворлда в треде все равно не помогут. Да и ответа ждать пару дней, лучше уж на стаковерфлоу англоязычном спросить или нагуглить готовое решение.
719 1646269
>>18705 (OP)
Анон, нормально ли будет начать изучать с Шилтда полному новичку?
Или он сильно устарел?
720 1646280
Вопрос не по шарпу, но раз пишу на нем спрошу у вас. Можно и в ксс сделать базовый стиль, а потом наследоваться от него (как в впф basedOn). Например
.card {
margin = 5px;
}
.fruit_card { //как унаследовать маржин от card?
background: red;
}
.berry_card {
background: blue;
}
721 1646284
>>46230
у меня были проблемы на проекте с миграцией с 2.2, где ебучий движок начал отваливаться при работе с Rest Api, т.к. Middleware выпилили из ASP.NET Core. В итоге сам нагуглил и прикрутили на обычный SPA, ответа так борде так и дождался :) Не знаю, какой идиот ввел программу # в образовательную систему, чем им пайтон, ++ и Java не угодили...
722 1646498
>>46284
На самом деле инфа по твоему вопросу в треде есть, просто ты из-за не знания предметной области не понимаешь как эти вещи связаны. Вообще твой вопрос возник из-за того что ты в принципе не понимаешь клиент-серверную архитектуру, REST API и где проходит грань между бэкендом и фронтендом.
723 1646532
>>46498
чувак, у меня завуалированные пук-сер ответы на двоче в эстимейт не учтены. Уже давно все нагуглил и запилил, см. >>46284
Просто когда задавал этот вопрос не проскролил и не посмотрел уровень других вопросов.
724 1646652
анон в /b/ недавно скидывал что-то типо онлайн уроков по с# в виде заданий, а я винду переустановил и проебал вкладку. если кто знает годные - скиньте.
725 1646661
>>46652
Я прохожу на ulearn.me, в принципе норм, но упор на разработку алгоритмов сложноват для новичка. Зато много заданий с написанным тест-софтом внутри, что облегчает дебаггинг.
726 1646662
>>46661
вот, да, вроде это. лучший.
727 1646998
Что нормальные программисты используют для логгирования? Просто я столкнулся с проблемой в виде того что Serilog, которым я пользовался, не совсем подходит, стандартный asp.net логгер совсем не очень, NLog как и Serilog.
728 1647081
У кого-то был опыт перекатывания на сишарп после 1С? Я вот думаю вкатиться, выбрал шарп потому что имхо это будет мне ближе после 1С, энтерпрайз типа, все дела. Но пугает несколько объем всех этих новых штук, как другая планета совсем.
729 1647230
>>47081
Тебе после 1С все что угодно новой планетой будет
15849625600730.png223 Кб, 512x387
730 1647239
>>47081

>после 1С


>выбрал шарп


>ближе после 1С


удачи
731 1647250
>>47230
Я не спорю, просто интересно, есть ли тут у кого-то похожий опыт.
>>47239
Ну не стукай, по крайней мере формально 1с тоже энтерпрайз.
732 1647259
>>47250
гараж деда Макара по производству болванок тоже можно назвать интерпрайзом. На .NET проект посмотришь, сознание потеряешь после своего говна 1С с рузкоязычным синтаксисом и 90% написанным шаблоном базовой сборки
733 1647269
>>47259

>На .NET проект посмотришь, сознание потеряешь после своего говна 1С с рузкоязычным синтаксисом и 90% написанным шаблоном базовой сборки


Ну вот такого я и боюсь больше всего. Но в любом же случае, джуна сходу не будут макать так жестко, п-правильно?
734 1647333
>>46998
log4net. Я хз чем они отличаются, просто популярный логгер, который на слуху.
>>47269
Наверно зависит от компании. В Кого-то будут вводить плавно, а вдругой компании возьмут пачку трейни бросят в чан с говно и каждый за себя, кто выплывит молодец, кто нет - на свалку.
735 1647362
>>46998
Я не понимаю как Serilog может не подходить. Он же может в любой стрим записывать.
Вообще вот всё что нужно для начала знать: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1

В Azure используется AppInsights telemetry.
Elmah часто вне облак используют - https://elmah.github.io

Хорошая статья со сравнением разных библиотек - https://michaelscodingspot.com/logging-in-dotnet/
736 1647446
>>47362

> Я не понимаю как Serilog может не подходить


Ну, просто в целях совместимости с софтом, который пилился в начале нулевых и у которого программисты придумали что общепринятых уровней - мало, надо сделать 15 своих(при этом по факту большая часть этих дополнительных уровней никогда не используется), мне нужны кастомные уровни логгирования, а в серилоге уровни намертво прописаны и чтобы обеспечить такую вот совместимость придется костылить, а я хочу избежать этого, по возможности. Вот и подумал просто, что может быть есть какое-то популярное решение, в котором можно все настроить под себя и просто пользоваться.
737 1647452
>>47446
Чувак, не бойся тратить время на уборку мусора (tech debt elimination). Начинай выпиливать говно мамонта потихоньку. Переписывай старую нужную логику в отдельные АПИ: библиотеки, REST, что угодно из доступного.
Постепенно нужда в старом отпадёт.
738 1647458
>>47333
трипл хуйни не скажет. Обычно случается 2.
739 1647630
Покой и процветание вашему дому, шарпанты. Подскажите монументальный труд по ASP.NET Core (типо троелсена) в оригинале. Курю метанит, но все равно кажется, что ем говно.
741 1647645
>>47635
Ты клоун или да?
742 1647648
>>47645
На вопрос тебе ответили, а ты грубить начал. Ну и мразь же ты.
743 1647665
>>47645
Че тебе не нравится?
744 1647683
>>47630
насчет процветания это ты загнул, но покой скоро наступит
745 1647749
>>47645
На их docs сайте и есть монументальный труд и как раз в оригинале (ру-ру убери). Там куча вводных статей и потом погружение в дебри с кучей деталей, примеров и даже Try It прямо в браузере + ссылки на гитхаб с примерами и кодом.

Какие книги по программированию в 2020? Ваще ебанулись?
image.png40 Кб, 1080x455
746 1647761
Скажите пожалуйста, что и куда добавить чтобы он игнорировал пробел при выводе?
747 1647788
>>47761
Открой уже для себя HashMap (Dictionary - стандартная реализация этой структуры данных в дотнете) и не еби людям голову по группировке данных. И вообще выучи основные алгоритмы в работе с ним. Одна из самых используемых структур и на собеседованиях часто всплывает.

При подсчёте символов можешь добавить обычный
if(ch == ' ') continue;
Для лабы прокатит.

Передай своему преподу что он пидор (ну или просто бедный чувак, работающий за 10к в вашей шаражке) и что он застрял в начале нулевых.
748 1647814
>>20325

>Это применимо к любому языку и тому, что вокруг них обросло.


Охуеть, хочешь сказать, что в делфе не было этого пиздеца со строками?
749 1647848
>>45071
Char.IsWhiteSpace()
750 1647858
Мне надо сделать в разор пагесах такое:
значениеИзмодели1...значеиеИзМодели2
если я пишу так @model.a...@model.b, то разумеется он матерится на точки если добавлю пробелы @model.a ... @model.b, то пробелы будут и в хтмл, а мне они ненужны. Пока писал понял, что можно использовать стринг.формат. Это нормальное решение или есть еще что?
751 1647885
Понимаю, что вроде как для F# есть отдельный тред. Но все равно спрошу тут.
В общем, я хочу попробовать использовать этот самый F# в реальном проекте для API. Но не уверен надо ли и вообще, получу ли я от этого какой-то профит. Потому, если кому не лень, может быть поделитесь опытом использования F#: В каких задачах он полезен, какие лучше на обычном шарпе решать и вообще, здравая ли это идея выносить API на F#, когда все остальное на обычном C# написано и нормально работает?
752 1648088
>>47761
Это че, код который считает сколько раз каждая буква встречается в строке?
Это ж на linq можно в одну строчку написать.
753 1648113
>>47858
@(model.a) не подходит?
754 1648117
>>48088
Не важно на какую тему и как ты поставишь вопрос всегда выползут вот эти вот. У чувака же явно лаба, ему самому надо алгоритм составить. Эту фигню можно за O(n) легко решить. Я более чем уверен что твоё решение на LINQ будет как минимум n log n. На линке можно тоже за О(n) решить, но не с твоими знаниями.
.png16 Кб, 625x343
755 1648150
>>48117
За сколько это выполняется? Просто я вот бака-прикладник, нас вот учили именно инструментами пользоваться, а какое там время выполнение и прочее - не важно, говорили что важно решать прикладную задачу в срок. Вот.

мимо
.png14 Кб, 563x315
756 1648155
>>48117
Да, в дополнение к >>48150
Пркриплейд - быстрее должен работать или нет?
757 1648173
>>48150
Я такого ответа и ждал. Странно только почему все удивляются что вокруг вечно всё лагает и падает. Да потому что большая часть представителей нашей профессии решает задачи здесь и сейчас со взором, устремленным в одну точку, и не желанием охватывать всю картину целиком.

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

В твоём (спасибо хоть оформлен красиво) примере произойдёт следующее:
- Where создаст новый объект с коллекцией равной в худшем случае O(n) space complexity и выполнит операцию за один проход O(n) time complexity;
- GroupBy создаст еще одну коллекцию и пройдётся по массиву еще раз + вызовет операцию по созданию hash на каждый символ + операцию сравнения хэша + выполнит операцию ToLower n раз;
- Select пройдётся по конечной коллекции (которая на самом деле HashMap с самими значениями + хэш этих значений) и создаст еще одну её копию;
- Count пройдётся один раз по каждой категории в HashMap что в сумме даст еще один полный прогон.

Это грубая оценка, там еще зависит от того, какой компилятор и какие параметры для оптимизации используются. Но в любом случае твой пример насоздаёт кучу новых объектов и сделает дохрена доп операций, которых можно избежать, написав такой же по компактности код и потратив ничуть не больше времени на это. Если входной текст будет 1мб, то твоя программа займёт как минимум 3мб памяти. В случае с приложениями, которые грузят очень много ресурсов (например игры) или high load, где вызов этого метода будет происходит 1к+ раз в минуту, то ты засрёшь память и cpu очень быстро.

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

Нужно конечно осознавать природу своего приложения и среды, в которой оно будет крутится. Где-то и такой код можно в прод выкатывать, а где-то тебя уволят за это нахрен.
757 1648173
>>48150
Я такого ответа и ждал. Странно только почему все удивляются что вокруг вечно всё лагает и падает. Да потому что большая часть представителей нашей профессии решает задачи здесь и сейчас со взором, устремленным в одну точку, и не желанием охватывать всю картину целиком.

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

В твоём (спасибо хоть оформлен красиво) примере произойдёт следующее:
- Where создаст новый объект с коллекцией равной в худшем случае O(n) space complexity и выполнит операцию за один проход O(n) time complexity;
- GroupBy создаст еще одну коллекцию и пройдётся по массиву еще раз + вызовет операцию по созданию hash на каждый символ + операцию сравнения хэша + выполнит операцию ToLower n раз;
- Select пройдётся по конечной коллекции (которая на самом деле HashMap с самими значениями + хэш этих значений) и создаст еще одну её копию;
- Count пройдётся один раз по каждой категории в HashMap что в сумме даст еще один полный прогон.

Это грубая оценка, там еще зависит от того, какой компилятор и какие параметры для оптимизации используются. Но в любом случае твой пример насоздаёт кучу новых объектов и сделает дохрена доп операций, которых можно избежать, написав такой же по компактности код и потратив ничуть не больше времени на это. Если входной текст будет 1мб, то твоя программа займёт как минимум 3мб памяти. В случае с приложениями, которые грузят очень много ресурсов (например игры) или high load, где вызов этого метода будет происходит 1к+ раз в минуту, то ты засрёшь память и cpu очень быстро.

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

Нужно конечно осознавать природу своего приложения и среды, в которой оно будет крутится. Где-то и такой код можно в прод выкатывать, а где-то тебя уволят за это нахрен.
758 1648179
>>48155
быстрее
759 1648222
>>48113
Да, так тоже работает.
760 1648225
>>48173

>Where создаст новый объект с коллекцией равной в худшем случае O(n) space complexity...


Нет, линк, не создает каждый раз коллекции физически, только при использовании результата. Память только на итератор выделяется, т.е. O(1).
761 1648226
Так, где мелкомягкие запрятали документацию нормальную? Где можно посмотреть тупо списки классов, интерфейсов, их методов, без всяких гайдов?
762 1648227
>>48226
На самом видном месте спрятали
https://docs.microsoft.com/en-us/dotnet/api/?view=netcore-3.1
763 1648230
>>48227
Легче зону обойти, чем ее найти. Спасибо, сталкер.
764 1648288
>>48173
Сноб мамкин байтоеб понавысрал стену текста с обсиранием всех вокруг и обосрался сам. Впрочем ничего нового.
image.png75 Кб, 956x507
765 1648298
>>48173

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



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

https://pastebin.com/eQ9ifLLc
image.png26 Кб, 588x269
766 1648300
>>48298
PS пикрил конечно выполняется где-то на 20% быстрее, но читается хуже, занимает больше пространства и пишется раза в 1.5-2 дольше. Так что под твои фантазии не подходит.
767 1648302
>>48300
>>48298
Ах да, ToLower() забыл во втором случае.
С ним внезапно выполняется столько же.
А если наоборот, в первом решении с LINQ убрать ToLower, то выполняется за столько же, за сколько второй случай через for-ы.
Screen Shot 2020-04-01 at 6.05.43 PM.png8 Кб, 188x118
768 1648340
>>48298
>>48302
Ты наверное в дебаге тест прогоняешь. В релизе разница заметнее.
Увеличил до 10к для того чтобы заметнее было.
1 - LINQ
2 - manual

А еще глянь в профайлере какая разница в потреблении памяти.
769 1648342
>>48298
>>48300
https://pastebin.com/br2Hu060
Вот будет работать раз в 20 быстрее.
Но можно написать чуть лучше используя stackalloc и константы, меньше выделения памяти будет.
770 1648561
В общем, ньюфажеский вопрос.
Смотрите, я писал приложение. Оно нормально работало, но получилось очень громоздким. Я решил его разбить на несколько приложений поменьше, которые бы могли работать независимо. Большую часть таки разбил - все ок. Но вот беда, есть места, где нужно было бы получить информацию которая теперь лежит отдельно в отдельном приложении. Как это лучше всего реализовать? Чтобы было понятно: В общем приложение задумано как сервис(не тот что микросервис, а тот что виндовый сервис, ака демон), этот сервис делает запросы к хедхантеру и смотрит новые места стажировки в моем регионе, сохраняет их в файлик, чтобы я потом посмотрел, так же, раньше, я прикрутил веб-интерфейс, чтобы удобно это смотреть в браузере. Теперь эти штуки разделены на несколько сущностей. Сервис который смотрит инфу хедхантера работает нормально и все так же сохраняет в файлик, но раньше я имел возможность из контроллера просто обратиться к запущенному синглтону этого сервиса и просто получить нужные данные, а теперь - не могу(думаю понятно почему). Конечно, можно захардкодить и просто читать из файла, но это не так интересно, я думал как-то передавать сообщения от сервиса в веб-приложение, но ума не приложу как это сделать.
771 1648598
>>48561

>передавать сообщения от сервиса


Message Queue (RabbitMQ например).
Твой сервис сохраняет инфу в файл и отправляет сообщение через сервис сообщений всем подписчикам. В принимателе ты подписываешься на очередь и сидишь ждёшь когда тебе придёт сообщение. На их сайте куча удобоувариваемых примеров.
772 1648763
>>18705 (OP)
Ребят не подскажет кто, в гейм дев перекатится со знанием .net слишком сложно будет?
773 1648772
нет кор и шарп такое же тормозное,тупое жрущее как ЧД ресурсы УГ как джава со спрингом и томкатом?
774 1648818
>>48772
нет, .net лучше, по многим параметрам, я думаю он медленно но упорно будет подтеснять джвку, синтаксис в .net просто сказка, рай для первекциониста
775 1648852
>>48818
а что с линуксом?
как писать на шарпе?
776 1648863
>>48852
С добрым утром (и за одно с 2020).
https://dotnet.microsoft.com - Cross-platform since 2016
777 1648915
>>48863
Десктопа под пинус так и нет?
778 1648917
>>48915

Нет и не будет. Зачем тебе десктоп на прошивке для докера?
779 1648940
>>48915
Ты пишешь игру? Unity
Ты пишешь фото/видео редактор? нахрена??
Ты пишешь редактор музыки? прекращай фигачить велосипеды!
Кому сдался десктоп в 2020?
780 1649206
>>48917

>Зачем тебе десктоп


Шоб крошплатформенно, все дела. Как Qt, только шарпец.
>>48940
Ничего из этого не пишу. Просто вывод какой-то информации удобней писать через встроенные средства, а не через костыли.
781 1649576
>>48940

> Кому сдался десктоп в 2020?


Любому, кто пишет нормальное приложение, а не тормозное дерьмо, работающее внутри отдельного экземпляра хромиума, потому что бородатый смузихлёб не учил другого языка, кроме парашного жаваскрипта.
782 1649587
>>49576
Причём тут хипстеры? Мы в дотнет треде. Тут всякие повыраставшие из плюсов и жавы отписываются.
Твои десктопные приложения нафиг не сдались, кроме тех, что на полную катушку с GPU работают. И даже там уже появляются решения для удалённого запуска игр и другого тяжёлого софта.
Еще не забывай что WebAssembly начнёт себя с каждым годом всё больше проявлять. Это считай как Докер контейнер, который может запускать что угодно на твоей машине. Можешь хоть тонкий, хоть толстый клиент делать. И писать ты под этот контейнер на любом языке можешь.
783 1649661
Вкатываюсь в дотнет вебапи с фронта, такие вопросы

1. Делаю пет для обучения, сталкиваюсь с тем что естественно нужно придумывать БД. MySQL запросы я поглядел, что-то запомнил, хотя хз нахуя если у меня smss, но кажется я делаю не очень хорошую БД. По каким ключевым словам гуглить чисто поверхностные знания по проектированию БД, вот чисто чтобы петы делать хотя бы несложные и видящим пет не было кринжово?

2. Как понять что мой запрос к БД в сервисе с LINQ говно медленное (entity фреймворк)? Какие нибудь хорошие ресурсы по тому как стоит и не стоит делать есть?
784 1649662
>>49661
Например вот у меня есть таблица тредов и таблица постов. И чтобы мне получить посты этого треда у меня LINQ получается проходит по всей таблице постов и ищет посты с тредом соответствующим. Это же хуйня какая-то медленная, вот о чем я. Где почитать как стоит это дело делать по нормальному?
785 1649675
>>49661
Почитай про нормализацию БД - https://en.wikipedia.org/wiki/Third_normal_form (тут сложно, но можно нагуглить что-то попроще).

1. Смысл в том что у тебя в БД
- не должно быть дупликатов инфы. Для этого разбивают инфу, с которой надо будет в приложении работать, на логически завершённые объекты (User, Order, Request, Response, и т.д.). Между ними создают отношения (relationship - у нас же relational DB). Дальше соединяют обекты через ключи (Id).

Student -> Student.SchoolId -> School

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

2. Вот хороший ресурс -https://www.entityframeworktutorial.net/efcore/one-to-many-conventions-entity-framework-core.aspx

EF Core (забудь про EF).
Вообще при использовании ef ты должен использовать миграции - https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli

Тебе нужно создать свои классы в C# и он сам за тебя создаст БД и может даже туда начальные данные запихать (Seed via HasData()).
Ручного обновления БД вообще не должно быть.

Используй DbContext через DI и желательно Scoped lifetime. Можно Transient. Но никогда как Singleton.

Таблицы, которые будут редко меняться, можно закэшировать (можешь кучу примеров найти через repository pattern).
Неплохое видео на тему репозиториев - https://www.youtube.com/watch?v=rtXpYpZdOzM&t=1163s
786 1649676
>>49662
У нас EF core таблички с миллиардом записей довольно шустро каждый день перебирает. Не инструмент плохой, а метод, которым его используют.
14192228551940.jpg25 Кб, 400x400
787 1649682
Сап шарпач, есть одна проблема.
https://dotnetfiddle.net/0mbCK5 тут накидал примерную упрощенную структуру одного из модулей моей программы.
Вопрос: как можно избавиться от TStruct в GenericBase?
788 1649801
Где в Visual Studio 19 для Mac OS Object Browser?
image.png46 Кб, 658x886
791 1649950
Я в Шарпе совсем не разбираюсь, за спиной только голая Сишка. Перекатываюсь, так как легко рисовать формочки. Вопрос - что почитать и какие стандартные средства Шарпа можно использовать, чтобы распарсить и распихать данные из подобного файла?
792 1649975
>>49950
Не встречал такого формата (но я в гейдеве не разбираюсь, может у них известный какой). Какое разрешение у файла? Если это какой-то кастомный формат, то писать свой парсер.
793 1649978
>>49576

Т.е. никому
794 1649993
>>49975
Обычный txt. Меня интересует, есть ли готовые элементы в стандартной библиотеке, которые позволят это распарсить проще и распихать по структурам данных. Подозреваю, что напрямую переносить код с обычной Сишки (включая свою пародию на map) - не лучшая идея.
795 1650001
>>49993
Ну в стандартных либах такого нет, но если узнать что за формат, то наверняка кто-то уже написал либу для него.
796 1650035
>>49950

http://ndjson.org/

Максимально близко, наверное.

Или свой парсер писать
797 1650232
>>49993
Есть же вроде генераторы парсеров. Например, https://kaitai.io для бинарных данных очень хорош, должно быть и что-то такое для текстовых.
798 1650441
>>18705 (OP)
Дайте кто-нить короткий RegExp, чтобы определить является ли string iso-8859-1 encoded либо же utf8-encoded?
Ну, или методы...
799 1650501
>>50441

>Console.WriteLine("str: \""+str+"\", Is ISO-8859-1? "+( System.Text.Encoding.UTF8.GetByteCount(str) == str.Length ) ); //is Latin-1? true/false


https://rextester.com/DRX53947
800 1650531
>>50501
Не, оно работает только для ASCII: https://rextester.com/ORXD82523
801 1650541
>>50531
Тогда - так:

>Console.WriteLine("str: \""+str+"\", Is ISO-8859-1? "+(System.Text.Encoding.GetEncoding("iso-8859-1").GetString(System.Text.Encoding.GetEncoding("iso-8859-1").GetBytes(str))==str));//is iso? true/false


https://rextester.com/WCEBB12585
802 1650602
>>50541
Заебись, теперь бинарные данные на HTTP-сервер можно отправлять на сервер,
и работать с ними как с iso-8859-1 encoded строкой,
и различать бинарный контент тела запроса от текстовых параметров в GET-запросе,
которые могут содержать не только ASCII-символы, но и кириллический текст.
803 1650613
>>50602
Падажи, у того анона проводится сравнение с оригиналом после цикла вбайты/избайтов. Если у тебя на сервере есть с чем сравнивать, т.е. исхдные данные, то зачем тебе что-то вобще передавать?
804 1650649
>>50613
Дело в том, что на сервер может прийти от клиента как текст, так и бинарные данные. И сервер их - не знает.
Поэтому, надо бы их отличить от текста, и вовсе не по заголову "Content-Type", который может быть и не указан.

Поясню: в изначальном исходнике наноборды: https://github.com/nanoboard/nanoboard/releases
в коде школьника, примерно вот в этом месте:
https://github.com/username1565/nanoboard/blob/8f0edd8d02b9f680f7ce1f70ddd29b8f7c367110/nanodb.exe-source/Server/TcpServer.cs#L511
данные поблочно декодируются в UTF8 строку,
затем передаются как string на различные Handlers из HttpServerBuilder.cs:
https://github.com/username1565/nanoboard/blob/master/nanodb.exe-source/Server/HttpServerBuilder.cs
В частности на /api/ которое расписано в DbApiHandler.cs:
https://github.com/username1565/nanoboard/blob/master/nanodb.exe-source/Server/DbApiHandler.cs
Из кода этого файла, очевидно, что методы, возвращающие HttpResponse, принимают на вход две СТРОКИ,
одна из которых - данные.
Поскольку данные, в TcpServer.cs, из NetworkStream декодируются как UTF8-текст,
они обязаны быть байтами utf-8, и если отправить туда бинарные данные - получается хуйня.
Всё потому, что кодировка UTF-8 не является реверсивной: >>43613
А вот iso-8859-1 - является.
Ею можно закодировать все 256 значений всевозможных значений байт, в виде строки, и декодировать их назад.
Значит, можно отправить байты, декодировать их не как utf-8, а как iso-8859-1,
и подать эту строчку - на вход методов из DbApiHandler.cs,
при необходимости, получив из этих строк данные.
Но что делать, если строка utf-8 encoded? Обрабатывать Latin-1 кракозябры? Нет!
Ведь это может быть не только параметр GET-запроса, но и utf-8 encoded текст, переданный как второй параметр.
И надо было чем-то отличить utf-8 текст от iso-8859-1.
Следовательно, появился сей вот - вышеуказанный вопрос.
И решение найдено, оно работает.

Теперь, можно слать на сервер - какой-нибудь шифр x25519-xsalsa20-poly1305
или вообще абсолютно-криптостойкий шифр Вернама,
слать в виде бинарных данных, асинхронным XHR-запросом,
криптуя - всё это дело client-side, и дешифровать на сервере, при помощи библиотеки Chaos.NaCl,
а потом и принимать байты от сервера с другим шифром, как responseType = 'arrayBuffer',
с последующим дешифрованием на стороне клиента, при помощи JavaScript,
используя функции портативной библиотеки TweetNaCl.js v1.0.3. Хы-хы!
804 1650649
>>50613
Дело в том, что на сервер может прийти от клиента как текст, так и бинарные данные. И сервер их - не знает.
Поэтому, надо бы их отличить от текста, и вовсе не по заголову "Content-Type", который может быть и не указан.

Поясню: в изначальном исходнике наноборды: https://github.com/nanoboard/nanoboard/releases
в коде школьника, примерно вот в этом месте:
https://github.com/username1565/nanoboard/blob/8f0edd8d02b9f680f7ce1f70ddd29b8f7c367110/nanodb.exe-source/Server/TcpServer.cs#L511
данные поблочно декодируются в UTF8 строку,
затем передаются как string на различные Handlers из HttpServerBuilder.cs:
https://github.com/username1565/nanoboard/blob/master/nanodb.exe-source/Server/HttpServerBuilder.cs
В частности на /api/ которое расписано в DbApiHandler.cs:
https://github.com/username1565/nanoboard/blob/master/nanodb.exe-source/Server/DbApiHandler.cs
Из кода этого файла, очевидно, что методы, возвращающие HttpResponse, принимают на вход две СТРОКИ,
одна из которых - данные.
Поскольку данные, в TcpServer.cs, из NetworkStream декодируются как UTF8-текст,
они обязаны быть байтами utf-8, и если отправить туда бинарные данные - получается хуйня.
Всё потому, что кодировка UTF-8 не является реверсивной: >>43613
А вот iso-8859-1 - является.
Ею можно закодировать все 256 значений всевозможных значений байт, в виде строки, и декодировать их назад.
Значит, можно отправить байты, декодировать их не как utf-8, а как iso-8859-1,
и подать эту строчку - на вход методов из DbApiHandler.cs,
при необходимости, получив из этих строк данные.
Но что делать, если строка utf-8 encoded? Обрабатывать Latin-1 кракозябры? Нет!
Ведь это может быть не только параметр GET-запроса, но и utf-8 encoded текст, переданный как второй параметр.
И надо было чем-то отличить utf-8 текст от iso-8859-1.
Следовательно, появился сей вот - вышеуказанный вопрос.
И решение найдено, оно работает.

Теперь, можно слать на сервер - какой-нибудь шифр x25519-xsalsa20-poly1305
или вообще абсолютно-криптостойкий шифр Вернама,
слать в виде бинарных данных, асинхронным XHR-запросом,
криптуя - всё это дело client-side, и дешифровать на сервере, при помощи библиотеки Chaos.NaCl,
а потом и принимать байты от сервера с другим шифром, как responseType = 'arrayBuffer',
с последующим дешифрованием на стороне клиента, при помощи JavaScript,
используя функции портативной библиотеки TweetNaCl.js v1.0.3. Хы-хы!
изображение.png8 Кб, 714x122
805 1650682
Вкатывальщик в треде. Чёт нихуя не понимаю, почему мне не дают создать число 0.1 с типом float?
Разве оно не входит в диапазон float?
806 1650700
>>50682
Читай что тебе вылезшее окошко пишет
изображение.png18 Кб, 637x80
807 1650705
>>50700
Да я ещё не понимаю, что за суффиксы, я только начал книгу читать. Я уже понял, что флоат надо описывать как целое число с F в конце, просто хуита какая-то, в книге было написано пикрил, я попробовал, и не прокнуло. Вот тут вопрос - книга от 19 года по сишарп 17.1 вроде. Это раньше так можно было, а сейчас нельзя? Или в книге изначально неправильно написано?
808 1650815
>>50705
Что за книга? В доках у майкрософта написано с суффиксом сразу.

https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types

>float f = 3_000.5F;


>f = 5.4f;

809 1650818
>>49950
Похоже на обычное ast tree, парсеров которых на гитхабе хоть жопой жуй.

>>50705
В книгах могут быть ошибки, опечатки, а так же совсем вранье если автор дурак.
Так насколько я помню было всегда, так как потеря точности во многих алгоритмах может сыграть злую шутку которую затем хуй отдебажишь так как разница будет в 20+ знаке и ты тупо ее не заметишь на глаз.
810 1650881
>>50705

>сишарп 17.1


Недавно с#8 релизнулся, завязывай с путешествиями во времени.

>раньше так можно было, а сейчас нельзя


никогда нельзя было

>изначально неправильно написано


Что за книга? Может автор проебался, но скорее всего обосрались переводчики.
811 1650909
>>50881

>Недавно с#8 релизнулся, завязывай с путешествиями во времени.


Дальше что? Книги по C#8 сами по себе материализуются вот так сразу, вместе с переводом?

>>50881

>Что за книга? Может автор проебался, но скорее всего обосрались переводчики.


>>50815

>Что за книга?


Да самая простейшая, C# для чайников. Мне надо быстро понять что из себя C# представляет, с середины апреля на курсы поступаю, чтоб там не тупить.
812 1650975
>>50909

>Дальше что? Книги по C#8 сами по себе материализуются вот так сразу, вместе с переводом?


Чего? Я тебе говорю, что последняя версия шарпа на данный момент 8, до 17 еще далеко.

>самая простейшая


Написанная неизвестным автором?
813 1650998
>>50975

>Чего? Я тебе говорю, что последняя версия шарпа на данный момент 8, до 17 еще далеко.


А, ну речь о 7.1 очевидно же.

>Написанная неизвестным автором?


Джон Пол Мюллер - C# для чайников
814 1651061
>>50998
Нашёл книгу, у меня там та же ошибка. Нахуй такое нужно.
815 1651073
>>51061
Ну, самое простое что я нашёл по сишарпу. Мне по-сути на курсах всё будут объяснять, мне сейчас просто ознакомиться - думаю данная книженция пойдет...
Ладно, всем спасибо.
816 1651081
>>50998
Книги по программированию читать можно только как развлекалово/художественную литературу если тебе такое в кайф конечно.

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

Причина, по которой нынче с числами так сложно работать, скорее всего в том, что в прошлом была куча ошибок со всякими подсчётами (финансовые, научные, инженерные). И теперь поставили кучу защит от выстрела себе в ногу. Если хочешь использовать именно этот тип - укажи что нужен именно этот тип, иначе делай явный каст из одного типа в другой. И если ты натупил с выбором типов - то это будет явная ошибка программиста, а не языка и среды в которой твоё приложение крутится.
817 1651098
>>51081

>Книги по программированию читать можно только как развлекалово/художественную литературу если тебе такое в кайф конечно.


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



Анон, я с тобой несогласен. До этого я учил пайтон по той же схеме - сначала прочитал крайне простую книженцию, укус питона по-моему, понял примерно что это за язык. Потом перешел к более серьёзной книге по пайтон, разбору примеров, написанию собственных софтин, в результате, как я считаю, имею достаточно неплохие знания. По пайтон тоже документация кайфовая - но это всё на инглише. Я конечно могу читать по английски - но для меня на именно на чтение иностранной литературы тратится слишком много ресурсов, а у меня цель стоит освоить в кратчайшие сроки. Чтобы сейчас свободно читать на инглише - надо было заниматься этим перед тем как начинать учить язык. Это раз. Два - книга предосавляет тебе программу, порядок - это банально удобно
818 1651107
>>51098
Я понимаю твои аргументы о структурированной инфе и тоже пытался вкатываться по книгам. Перечитал много глав из многих книг (в начале 00х еще). Нифига не понимал, пока работать не начал. И потом как понял!
Книги может отчасти и помогли, но основные знания приходили с опытом написания говнокода, наступанием на кучу граблей и курением доков и со временем стэковерфлоу и гитхаб.

Сейчас вся инфа up to date имеется на оф сайтах и в публичных репо. Она очень часто хорошо упорядочена и с работающими примерами и докой о том, как эти примеры запускать. Плюс есть много всяких платных и бесплатных сайтов с базами для вката (типа этого https://www.learncs.org) и с углублённым изучением.

Я против книг и тогда был, когда в них больше инфы, чем в нете было. А сейчас и подавно.
819 1651111
>>51107

>Я понимаю твои аргументы о структурированной инфе и тоже пытался вкатываться по книгам. Перечитал много глав из многих книг (в начале 00х еще). Нифига не понимал, пока работать не начал. И потом как понял!


Ну, у меня пока положительный опыт только...

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


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

Кстати, прошу прощения, в доках по ссылке выше всё на русском.
820 1651169
>>51111

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


Вот тут? https://docs.microsoft.com/ru-ru/dotnet/csharp
Просто убираешь руру и будет нэйтив - https://docs.microsoft.com/dotnet/csharp

Кстати, по этим ссылкам куча ввходных статей с примерами и всё структурировано и со ссылками, которые можно запоминать :)

Кстати2, классное видео по продвинутым техникам и знаниям что там под капотом в Питоне (сорян, перевода на русский не видел) - https://www.youtube.com/watch?v=7lmCu8wz8ro
15849558732280.jpg113 Кб, 598x597
821 1651371
В шараге задали написать проект на шарпе, какую библиотеку посоветуете? По заданию предпочтительнее WinForms или WPF, сам я больше хочу на Xamarin кроссплатформенность, ух бля. Что лучше выбрать с точки зрения сложности/затрат времени на изучение и пользы в дальнейшем?
822 1651377
>>51371
ASP.NET Core MVC - https://docs.microsoft.com/en-us/aspnet/core/mvc/overview?view=aspnetcore-3.1

Ты ж не сказал ограничили вам вывод инфы формочками или консолью или нет. Если нет, то бери веб не думая и учи RazorPages - https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-3.1.

Там можно всё на русский переключить.
823 1651379
>>51377
Формочки. И выбор только из того, что я написал
824 1651418
>>51379
ВинФормс - c зомби технологией ты точно профита в будущем не поимеешь. Тогда UWP/WPF c Xamarin.
Ты на Xamarin создаёшь solution. Распихиваешь всю логику по всяким Domain, Persistence (DB, File, хз что еще), Application. Выделяешь отдельный проект под UWP/WPF, в котором будет твой Presentation layer.
С таким подходом можно будет разные Presentation проекты под Андроид, iOS, PWA, винду добавлять.
Будет у тебя и нужный для рынка опыт, и задачу выполнишь.

https://docs.microsoft.com/en-us/windows/apps/desktop/choose-your-platform
825 1651463
Анон, вкатываюсь в аспдотнет вебапи, хочу сделать вот такой бест практис ерор хендлинг

https://www.exceptionnotfound.net/the-asp-net-web-api-exception-handling-pipeline-a-guided-tour/

Но не суть, в общем то проблема сводится к тому что когда я бросаю throw new HttpResponseException(resp); где в resp что-то мне нужное с моим кодом сообщением итд в постман приходит не этот ответ, а

System.Web.Http.HttpResponseException: Processing of the HTTP request resulted in an exception. Please see the HTTP response returned by the 'Response' property of this exception for details.

В гугле какое-то говно. Помоги, анон, с меня тысяча нефти.
826 1651503
>>51463
Твоя статья уже слишком древняя.
Начни отсюда https://docs.microsoft.com/en-us/aspnet/core/fundamentals/error-handling?view=aspnetcore-3.1

Мы через Middleware хватаем любое исключение в одном месте. Там даётся Invoke метод, в который передаётся ссылка на функцию твоего метода в контроллере. Оборачиваешь вызов этого метода в try/catch и ни одно исключение, которое произошло из-за вызова твоих endpoints (controller/action) не пройдёт. Там же можно задать нужные статус коды и объекты, которые назад вернёшь.
827 1651504
>>51463
Сорян, не совсем туда ссылку дал.
Вот https://docs.microsoft.com/en-us/aspnet/core/web-api/handle-errors?view=aspnetcore-3.1
828 1651587
Работаю джавистом, делаю пет проект на java, немного поднадоело, хочу попробовать C#, какие подводные?
829 1651613
>>51587
Потом тяжело будет с убогим синтаксисом жавы работать
830 1651632
>>51587
Ну подумай. Сейчас ты ездишь на жигулях, хочешь попробовать сесть на ауди последней модели. Если думаешь, что после ауди сможешь возиться с жигулями, то дерзай.
831 1651635
>>51587
Сахарок самый сладкий из всех мейнстрим строго типизированных языков, слезть тяжело будет, как выше отмечено
С другой стороны нормальной работы нет, .НЕТер это почти всегда фуллстек программист. Так что если это важный для тебя момент, то страдать будешь вдвойне.
832 1651646
>>51587
Может лучше попробовать Котлин? Насколько я знаю он довольно сильно шарп напоминает и явно для тебя полезней будет.
833 1651647
>>51646
Вкатился в мертворожденное дерьмо и других заманиваешь? Нет, спасибо
834 1651654
>>51646
двачую за котлин. .NET уже делает предсмертный выдох с open-source, вкатышам интепрайза я бы советовал делал ставку на kotlin - свежую Java
835 1651669
>>51654
да там тот же спринг с томкатом, различий с Java только в сахаре
836 1651713
>>51669
в том то и дело, что Java уже настолько переполнена сахаром, что читать код невозможно. А котлин - это как релоад уже старой, доброй и главное - рабочей Java, которой рынок доверяет, а не присматривается к мелкософту, где он еще может руку в карман просунуть.
837 1651714
Помогите пожалуйста написать код правильно или пофиксить готовый. Спасибо.
Задание:написать программу, которая считывает английский текст из файла и выводит его на экран, заменив прописной каждую первую букву слов, начинающихся с гласной буквы.

using System;
using System.IO;

class Program
{
static void Main()
{
string path = @"D:\text.txt";
try
{
using (StreamReader sr = new StreamReader(path))
{

string str = sr.ReadToEnd();

string alf = "aeiou";
string[] split = str.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

for (int i = 0; i < split.Length; i++)
for (int j = 0; j < alf.Length; j++)
if (split.StartsWith(alf[j].ToString(), StringComparison.InvariantCultureIgnoreCase))
{

Console.WriteLine(split);
break;
}

}
}
catch (Exception e)
{
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
Console.ReadKey();
}
Console.ReadKey();
}
}
837 1651714
Помогите пожалуйста написать код правильно или пофиксить готовый. Спасибо.
Задание:написать программу, которая считывает английский текст из файла и выводит его на экран, заменив прописной каждую первую букву слов, начинающихся с гласной буквы.

using System;
using System.IO;

class Program
{
static void Main()
{
string path = @"D:\text.txt";
try
{
using (StreamReader sr = new StreamReader(path))
{

string str = sr.ReadToEnd();

string alf = "aeiou";
string[] split = str.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

for (int i = 0; i < split.Length; i++)
for (int j = 0; j < alf.Length; j++)
if (split.StartsWith(alf[j].ToString(), StringComparison.InvariantCultureIgnoreCase))
{

Console.WriteLine(split);
break;
}

}
}
catch (Exception e)
{
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
Console.ReadKey();
}
Console.ReadKey();
}
}
image.png49 Кб, 873x752
838 1651718
Почему пикрелейтед код работает так медленно? Аналог на Си отрабатывает ну прям намного быстрее. Как ускорить?
839 1651752
>>51718

>Почему пикрелейтед код работает так медленно?


Тому чо ты его в дебаге запускаешь, тестируй в релизе. И что делать будешь если попка тебе инвалидоператионэксепшен выкатит при пустом стэке?
image.png41 Кб, 451x846
840 1651856
>>51752
Запустил в релизе, разница максимум в пару секунд. Все равно секунды три-четыре обрабатывает. Вот Сишный аналог (я переписываю свою прогу на шарп, так как на нем проще окошки рисовать), консольное окно появляется уже с текстом об окончании работы, лол. И это всего-лишь 25 килобайт.

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


Ну, воткнуть проверку на количество перед pop, делов-то.
841 1651876
>>51856
так пиздуй на своих C писать, тут CLR, тут другие ребята. Тут тебе не шутки блять. Пока ты свои байты дрочишь, тут говно жрут деньгу зарабатывают. Съебал короче
842 1651880
>>51876
Да я уже разобрался, лол. Надо было использовать не .Count(), а .Length. Вызов функции тормозит, конечно, знатно. Знвю, тупой.
843 1651884
>>51752
Ты работу с консолью то вынеси в другой метод. Этот метод должен только всё разобрать, а вывод на экран должен происходить в другом месте.
844 1651886
>>51884
Не хочу запариваться с возвратом результатов. Да и пока просто привыкаю к языку.
845 1651892
>>51718
>>51880
Ты работу с консолью то вынеси в другой метод. Этот метод должен только всё разобрать, а вывод на экран должен происходить в другом месте.
Console.Write и его аналоги очень тормозные. У сишки доступ к терминалу намного шустрее.
846 1651893
>>51886
Ну тогда не удивляйся, че так тормозит.
Стандартные алгоритмы могут за 1мс отрабатывать, но как только добавляешь вывод в консоль, могут пройти секунды, пока ты ответ увидишь.
847 1651897
>>51893
Хм, ну ладно. Это все равно на пока переношу и проверяю алгоритм. Как вынести-то в отдельный метод? Не очень представляю, мне видимо придется сохранять, где скобки не совпадают, сбалансированы ли они, и под конец выполнения функции дергать другую, куда это и передавать?
848 1651901
>>51897
Ууу, чувак, тебе походу алгоритмы еще доучивать надо.
В нормальном приложении логика и вывод информации должны быть не то что в разных методах, а вообще в разных классах. А еще желательно в разных проектах/библиотеках.
849 1651902
>>51901
Ладно, спасибо, пойду тогда книги из шапки читать. Все равно проект для души, торопиться некуда. Да и душонка байтоебская
850 1651920
>>51880

> Вызов функции тормозит


Просто компилятор не могкт оптимизировать случай с Каунт, и на каждой итерации будет происодить чек на оутофбаунд и прочее непотребство. Сам метод Каунт по-возможноти вызовет свойство Каунт от ICollection (для массивов и, наверное, строк Каунт вернет Ленгтх), и не будет перебирать коллекцию. Даже если компилятор не заинайнит это, там оферхэд несколько нс.
И кстати, прочитай про PInvoke, может тебе и не надо переписыать сишную либу, а будешь тягать ее методы из шарпа.
15854064117700.jpg93 Кб, 494x604
851 1651959
Существует ли что-то типа filewatcher'а только для устройств? Нужно получить список подключенных к пекарне устройств и получать новые устройства по мере подключения. Подскажите для этого либу или это можно получать через консоль?
852 1652012
>>51504
От души. Слуш поясни как отличать такое древнее говно от норм статей актуальных?
853 1652035
>>52012
По дате у статьи (там она прописана).
По версии фреймворка (часто её вписывают)
Не читать какие-то левые статьи на базовые темы, а идти сразу на оф сайт.
854 1652039
>>51714
string str = "english, mothetrfucker! do you speak it? govno ebanoe ya tvoi rot ebal.";
char[] vowels = { 'a', 'e', 'i', 'o', 'u' };
bool nextUppercase = true;
StringBuilder builder = new StringBuilder();
foreach (var ch in str)
{
builder.Append((nextUppercase && vowels.Contains(ch)) ? char.ToUpper(ch) : ch);
nextUppercase = ch == ' ';
}
Console.WriteLine(builder);
855 1652239
Вечер в хату.
есть лаба

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

2.Создать производные классы: Свободное(название, производитель), Условно - бесплатное(название,
производитель, дата установки, срок бесплатного использования), Коммерческое(название, производитель, цена, дата установки, срок использования) со своими методами вывода информации на экран, и определения возможности использования на текущую дату.

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

Вопрос в следующем когда унаследовал класс Free от Prog
и начал переопределять метод вывода инфы на консоль чет как то нихера не выходит в чем соль может подскажете?
И вопрос еще в процессе возник что бы результат работы одного метода передать в другой это надо создавать отдельную переменную и присваивать ей метод результат работы которого нужен ? Или есть варианты 7
856 1652264
>>52239
Не Free а Shareware, не Prog, а Software.
Не перезаписывает потому что в абстрактном классе у тебя метод не принимает параметров, а в потомке ты два параметра вхуячил, которые в самом объекте есть.

В общем, читать теорию надо было, а не хуи пинать. Где вас только рожают таких? Потом еще ноете, что работу найти не можете, потому что государство хуевое, а вы хорошие.
image.png89 Кб, 983x674
857 1652280
>>18705 (OP)
Я получаю responsebody как строку, мне надо от туда вытащить дискаунт как-то 30% и выше, как это можно сделать?
Программа должна будет покупать вещи со скидкой 30+ %.
858 1652284
>>52264
Да я вообще не ною)) мне до поиска работы еще ой как долго.
Но за помощь в любом случае балгодарю
859 1652299
>>51718

Вот этот дело говорит:
>>51892

Вывод в консоль охуенно медленный.
860 1652303
>>52280
Очень плохой вопрос.
Ответ от АПИ приходит в каком-то формате. Ты не поделился этими данными.
Скорее всего у тебя вызов к REST API и значит ответ в JSON формате. Надо подключать JSON библиотеку и десериализировать строку в какой-то объект на твоей стороне.

Если ты не понял, что я щас тут написал и это по работе - я в шоке, кто за таких спецов деньги платит.
Если по учёбе - иди читай про сериализацию в целом и про JSON в частности.
Публичные АПИ обычно имеют документацию по формату и типу объектов, которые они принимают и возвращают.
861 1652304
>>52303

>Если ты не понял, что я щас тут написал и это по работе


Не волнуйся, я пока новичок, с апи второй день разбираюсь.
Спасибо за ответ
862 1652324
>>52303
Смотри, на бирже нет документации к апи можно ли в данном случае сказать что у бирже вообще апи нет? , значит мне надо как-то самому найти нужный http запрос, чтобы мне вышел json где только нужная информация. Как это можно сделать?
Всё, это последний глупый вопрос >_<
863 1652332
>>52324
Берёшь Postman, открываешь сайт, откуда ты инфу собрался тянуть, и начинаешь пробовать разные endpoints (urls). Смотри какую инфу они возвращают. Там же будет указан тип и формат ответа.
Еще не факт, что они json возвращают.

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

Вот пример норм документации: https://docs.microsoft.com/ru-ru/rest/api/resources/subscriptions/list
864 1652333
>>52332
Спасибо большое
865 1652542
Sharp Develop ещё актуален, как ide?
866 1652612
>>52542
Нет, уже давно не актуален.
image.png50 Кб, 1001x618
867 1652734
>>52333
Всем ещё раз привет, теперь возник вопрос, нормально ли создать Thread.Sleep(1000) и ещё раз вызывать этот форич для показа актуальной информации? Просто мне кажется это очень на костылях будет выглядеть. Постоянный while true хуёво будет из-за нагрузки постоянной ( я так себе представляю) .
868 1652748
>>52734
foreach будет всегда одно и то же показывать, тебе надо заново запрос делать.
Иди на hangfire.io, оформляй свой функционал в функцию и добавляй её в scheduler с помощью Hangifre. Он тебе будет вытягивать инфу с каким-то интервалом.

Для консольной приложухи, писаной на коленке и крутящейся на твоей машине, while(true) { Task.Delay(Time.OneSecond); } более чем достаточно. Можешь еще CancellationToken прикрутить и добавить логику по выходу из этого цикла, если кто-то послал команду на завешрение операции.
869 1652752
>>52748

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


Да, я это понял как только отправил.
Хорошо, спасибо
870 1652929
>>52752
Как же всё-таки приятно сделать было бота, только сейчас опять на полгода заброшу всё, потому что кодить нечего.
871 1653411
Поясните, что я делаю не так?

Добавил нугет для SQLite.
Создал модельку.
Создал контекст в котором просто указал использовать SQLite.
Сгенерировал миграцию
Апдейтнул ее.
Пытаюсь потестить и ошибка: Нет такой таблицы.
872 1653428
Сорян, я >>53411 тупой. Не знал что надо добавить вручную переопределения Up, Down и там прописать таблицы. Думал, что при генерации миграции само все сгенерируется.
Но вот другой вопрос. Я установил что ID - автогенерируемый, но почему-то при сохранении ошибка, дескать нужно установить первичный ключ, если вбить его ручками и он уникальный, то все нормально работает.
873 1653461
>>53411
>>53428
По какой книге учишься?
874 1653486
>>53461
Никакой. Я слишком тупой чтобы книги читать.
875 1653488
>>53486
Ну вот ты и ответил на

>Поясните, что я делаю не так?

876 1653490
>>53488
Злой ты. Я разве виноват, что информация из книг не усваивается у меня в голове и я могу учиться только диалогом?
877 1653492
>>53490
Ты виноват только в том, что пытаешься скрыть свою лень, выдумывая себе несуществующие недуги.
878 1653502
>>53492
Ну, допустим, лень. Что в этом плохого-то? Вот ты поленился и вместо того чтобы пойти на гитхаб и прочесть исходники .net core, ef core и других популярных хреновин, открыл книгу, где посвященный дядька тебе на блюдечки все принес. Я вот поленился открыть книгу и решил спросить у тех, кто ее открывал. Разница довольно незначительна. Потому не будь таким токсичным.
879 1653505
>>53502
Плохо то, что ты срёшь в тред. И для того чтобы "спросить у тех кто читал", нужно сформулировать вопрос, но ты ведь этого сделать не в состоянии, потому что тебе лень учиться. Ты сюда пришел поманяфантазировать и утешить себя, вроде как не чмо, а что-то пытаешься, но на деле ты чмо, которое еще и другим мешает.
880 1653519
>>53505
Ну ты и токс. Вот серьезно. Откуда в тебе столько желчи-то? Я бы еще понял, если бы ты ответ на вопрос дал, так ведь нет, ты просто пришел и начал плеваться кислотой. Фу таким быть. Такие как ты портят комьюнити и мешают начинающим развиваться.
881 1653536
>>53428
Migrations создают все таблички за тебя и перевичные данные (Seed и только если ты засетапил HasData). Если этого не случилось, то ты неправильно создал DbContext и Entities, которыми он оперирует. Тут в треде дофига ссылок на все базы и примеры по этому делу.

Автогенерируемый айди обычно значит что у тебя поле Identity. Если этот constraint (они так называются) не присвоился твоему ID, то он и не будет само устанавливаться. Это в случае, если у тебя поле int. Для GUID надо из кода в своей модели самому new Guid() делать.
882 1653537
>>53536
Спасибо.
Анон 883 1653563
САП СиШарпач

Как убрать автонабор в Visual Studio?
Постоянно мешает мне. Например, хочу написать "i", ставлю пробел, а программа сама ставит "if"
884 1653601
>>53563

> Например, хочу написать "i", ставлю пробел, а программа сама ставит "if"


Интеллисенс в студии умный, он не предложит тебе написать "if" там, где этого нельзя сделать, или если в зоне видимости уже есть переменная с более подходящим именем ("i"). Так что либо это ты сам что-то не так делаешь, либо студия у тебя поломалась.
885 1653604
Подскажите как можно достать сабмассив с 2д массива?
Например есть массив 9х9, как из него получить массив от x,y до x,y?
886 1653611
>>53604

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


Пройтись двойным циклом и выбрать то, что тебе нужно?
887 1653622
>>53611
Мне нужно было что-то такое:
Enumerable.Range(0, 9).SelectMany(i => CellsInRow(board, (box - box % 3) + i / 3).Skip(3 * (box % 3)).Take(3));
888 1653623
>>53622
А не проще всё же пройтись? Да и быстрее будет, если честно.
.jpg85 Кб, 777x632
889 1653626
>>53604
Как-то так. Гыгыгы.
890 1653647
>>53626
Спасибо, но уже не надо.
891 1653661
Полез в нугет стянуть провайдер sqlite под Ef Core, а там Microsoft.EntityFrameworkCore.Sqlite и Microsoft.EntityFrameworkCore.Sqlite.Core. В чем разница?
.jpg816 Кб, 1848x1736
892 1653674
А у меня вопрос возник из-за >>53604 вопроса.
Чому в последних шарпах можно так:

var arr = new int[] {1,2,3,4,5};
var x = arr[1..3];

Опять же, можно сделать как-то так:
var arr = new int[][]{...};
var x = arr[..][1..2];

Но нельзя так же с n-мерными массивами? В чем принципиальная сложность добавить возможность чтобы сделать как-то так:

var x = arr[1..2,3..4,5..6]?

Ну, я конечно понимаю что на практику оно особо и не надо, но все равно факт того что тут можно, а там - нельзя, выглядит как-то непродуманно.
893 1653700
>>53674
Что "тут", что "там"?
894 1653701
>>53700
"Тут" это там где можно использовать Range; "там" это где нельзя.
895 1653711
>>53701
Приведи примеры "тут"
897 1653714
>>53712
Разве ты только что не писал что:

> Но нельзя так же с n-мерными массивами? В чем принципиальная сложность добавить возможность чтобы сделать как-то так:



> var x = arr[1..2,3..4,5..6]?

898 1653716
>>53714
Ну так ведь нельзя. Попробуй, если не веришь.
899 1653726
>>53716

> "Тут" это там где можно использовать Range



> Приведи примеры "тут"



> https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-8.0/ranges



> Ну так ведь нельзя.



Что, простите?
.png14 Кб, 550x273
900 1653731
>>53726
Что тебе блин мешает запустить студию и проверить то о чем я говорю?
901 1653740
>>53731
Бля, иди тролль кого-то другого, или мозги включай и следи за последовательностью того что пишешь.
902 1653771
>>53740
Я вообще не понимаю о чем ты.
Вот тут https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/ranges-indexes написано, что многомерные массивы не поддерживают такой синтаксис. Только непонятно почему нельзя в принципе было сделать их поддержку. Из-за этого в голове путаница.
И ничего я не троллю. Просто хочу разобраться с новой штукой языка, потому что сама по себе она выглядит удобно.
изображение.png11 Кб, 670x152
903 1653795
Как удалить из string ебанные \n ?
904 1653802
>>53502
String.Replace
905 1653804
906 1653807
>>53771

>что многомерные массивы не поддерживают такой синтаксис.


У тебя же студия запущена, ты сначала проверь в ней, поддерживают ли одномерные массивы такой синтаксис.
.png13 Кб, 480x248
907 1653821
>>53807
Вроде как.
908 1654099
>>53771
Это же просто сахар, который компилятор разворачивает в метод GetSubArray(Range). Ты можешь сам написать такие методы для нужных тебе размерностей, только так как компилятор под твои методы не натренерован, то тебе придется их вызывать не как индексатор, а как метод расширения.
909 1654131
>>54099
В языках программирования любой синтаксис это сахар. Не сахар это определенная последовательность нулей и единиц.
910 1654152
>>54131
Нет.
911 1654154
>>54152
Дат.
912 1654160
Я линуксоид. Говорят, что на этой ОС либо невозможно кодить на C#, либо же можно, но работать всё будет хреново.

Обязательно ли нужна лицензионная винда? И какой версии?
913 1654161
Подскажите знатоки(WinForm)
есть label
хочу обращаться к большому количеству label'ов по их номеру (label1, label2, ....)
можно как то коротко реализовать нечто вроде - label + number.Text = ""; ?

обращатся по label1.Text к каждому из элементов в моем случае будет слишком громоздко (элементов свыше 40 шт)
914 1654162
>>54160

> Говорят, что на этой ОС либо невозможно кодить на C#,


Консольную фигню и веб(95% шарпоработы), можно без особых проблем и на линуксе кодить.

> Обязательно ли нужна лицензионная винда? И какой версии?


Не обязательно.
.png36 Кб, 842x583
915 1654177
>>54161
Ну, можно как-то так сделать, например. Обращаться будешь по ключу из словаря.
916 1654180
>>54161
Заведи себе словарь объектов, в нём сможешь через текст элемент находить.
917 1654182
>>54177
>>54161
Спасибо!
918 1654205
>>54099
Я знаю, что это сахар, я знаю что могу сам написать для скольки угодно размерностей. Другое дело вот я наделаю своих методов, потом кто-то посмотрит на мой код и ему нужно будет время, чтобы понять что это за ебаная хуйня там и что она делает. Это, на мой взгляд, не есть хорошо, и нужно стараться избегать такого.
А синтаксис, который закреплен в стандарте, вроде как, подразумевает, что любой шарпан должен знать, следовательно если его введет в ступор arr[1..], то это не я мудак, который усложняет код, а он, потому что не следит за новыми штуками, которые в языке появляются. Ну, по крайней мере я так считаю.
919 1654206
>>54205
Манюнь, проснись. Твой 4.8 фреймворк со всеми новинками никому нахуй не уперся, кроме вкатывальщиков-долбоебов, которые учат САМАЕНОВАЕ САМАЕКРУТОЕ. Всё потому, что 99% работы это старые фреймворки, если ты нашёл программу работающую на 4.5 версии, то считай, что тебе повезло.
920 1654207
Сап, собираюсь заняться программированием по-серьёзнее, чем простой быдлокод. Пока не имею особо знаний даже о базовом программировании, например что такое компилятор максимум делал простенькие программы на Пайтоне, также не знаю специального матана. Что мне нужно знать и откуда я могу накопать всей этой инфы перед тем, как лезть в изучение программирования на C#?
921 1654208
>>54207
Ничего не нужно. Читай книги по шарпу, начни с Троелсена. Остальное само приложиться по мере изучения языка и необходимости.
922 1654210
>>54206
Ну не знаю. Я вот пишу сейчас на core 3.1. Старшие коллеги сказали, что с выходом .Net 5 будем переносить все что можно переносить на него. Как-то так.
923 1654213
>>54210

>все что можно переносить



Ну вот. Теперь посмотри на тех, кто поддерживает непереписываемый код и узнай, что их гораздо больше чем таких счастливчиков как ты. Новинки языка это прерогатива смузи-стартапов.
924 1654238
>>54205
Не слушай этого из деревни, он там сидит и думает что "проснулся".
925 1654246
>>54213
Любой код переписываемый. Зависит от твоей квалификации. Судя по всему у тебя она не очень и ты очередной 9-5 рак. Поувольняли вас не мало таких.
Мы перетаскали кучу продуктов 10-15 летней давности на новые платформы и при этом эффективность компании не то что не проседает, а наоборот. На поддержку старого кода уходит времени в N раз больше, чем нового. И с каждым годом этот N увеличивается. На переписывание уходит от 1 недели до нескольких месяцев, но в итоге ты сохраняешь себе годы работы. Бизнес с тобой быстро соглашается, как только ты ему объяснишь бенефиты в удобоувариваемом для него виде. Особенно если приведёшь пример Васяна, который только что потратил 2 месяца на новую фичу, и покажешь что ты то же самое за два часа сделал, применяя голову. Васяна на свалку, код мигрирует на новую платформу.

Не будь Васяном.
926 1654250
>>54246
Мань, перестань фантазировать и открой рынок труда, а потом покажи мне вакансии в которых требуется что-то более чем 4.5 фреймворк.
927 1654251
Мы ведь про рынок говорим, а не твои ООО Рога и Копыта, верно?
928 1654256
>>54250
Чувак, зачем мне фантазировать, если я с этим уже много лет работаю в компаниях с 1к+ работников?
Ты свой мухосранск на весь мир то не натягивай.
929 1654271
>>54256
Конечно, яндекс и гугл своё дерьмо не переписывают десятилетиями, а у долбоеба прям каждая вторая крупная компания этим занимается. Ты сам то хоть в это веришь?
930 1654273
>>52239
У тебя нет сокрытия имен, ундерскор демонстрирует, что это член класса, зачем ты this пишешь? Вам за такое (и за цену в double) баллы не снижают?
931 1654283
>>54160

>Говорят, что на этой ОС либо невозможно кодить на C#,


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

К слову у каждой из FAANG компаний сотни подразделений и каждое из них существует как своя обособленная компания со своими директорами, менеджментом и бюджетом. Я в них работал. В индусо подразделении действительно десятилетями стряпают (скорее стряпали, поуволняли старых говнокодеров и взрастили новых, с мозгами) костыли. И есть куча проектов, которые на радар не особо попадают или до них еще не добрались (как со Скайпом для бизнеса и Линком, которые 20ти летний груз костылей тащили, и большую часть из них наконец-то разрулили имеется ввиду внутренняя тяжеловесная каша, а не сам клиент).
933 1654315
>>54311
Но вот только у меня не мысли, а аргументированное мнение, которое подтверждено вакансиями на hh.ru
От тебя только и слышен пустой пиздежь, который противоречит реальности.
934 1654319
Объясните нубику для чего используется матан и в каких областях он необходим в вебе как я понял можно и без него обойтись, но он меня не интересует
935 1654321
>>54206
Рэнжи это фишка компилятора, а не фреймворка. >>54205

>чтобы понять что это за ебаная


Давай нормальные имена и пиши комментарии, и тогда всем будет насрать как оно внутри, если работает>>54205

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


тебе доступен. Если твой метод принимает ренж, компилятор сам сконвертит запись 2...^3 в класс.
Ну ок, написали бы в майкросовте еще метод для двумерного массива, а какому-то анону понадобится для 3-х, 4-х мерного. Где остановиться? Так, что сделали для самого распространенного юзеркейса и правильно.
936 1654326
>>54315
Ну я также могу заявить что моё мнение подтверждено вакансиями на linkedin и indeed: https://www.linkedin.com/jobs/search/?keywords=c#
Мне первая же вакансия от Теслы выпала, в которой написано: Experience in .NET Framework and .NET Core

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

Реальность твоя реальна только для тебя. Я с .Net Framework в последний раз в 2016 работал. Остальное время проекты на нём приходилось открывать только для того чтобы какой-то функционал в dotnet core или jvm на какой-нибудь скале перетащить.
937 1654348
>>52239
Я бы как-то так сделал)))
938 1654353
>>54326

>Мне первая же вакансия от Теслы выпала, в которой написано: Experience in .NET Framework and .NET Core



Охуеть, ну всё теперь, 100% у них там всё на коре, который вышел в 2019, написано, да? Я где-то писал, что новые технологии нигде не используются? Нет, я писал, что найти работу легче зная старый фреймворк, чем новый, потому что новые используют в очень малом количестве.
Ты конечно дальше можешь якать и приводить в пример свой личный опыт, вот только на реальность это никак не повлияет. Даже сложно представить насколько нужно быть умственно отсталым, чтобы говорить о том, что на технологии 2019 года пишут больше, чем на технологиях 2002 - 2014
939 1654356
>>54348
Фанат Hello World Enterprise Edition, ты?
940 1654362
>>54356
Ага)))
941 1654365
>>54353
Коре вышел в 2016. В 2017 выкатили коре 2, который уже был допилен до приличного состояния, и тогда было ясно, что за ним будущее а фв - ебаное легаси. В общем после выхода второго кора новые проекты на фв начинали толко слоукпоки. Из 5 собесов, что были в этом году, нужен был кор.
942 1654366
>>54365

> на четырех нужен был кор.

943 1654368
>>54353
Ты из тех, которые хватаются за первое попавшееся непонравившееся слово и на него отвечают, не читая дальше.
Первая стабильная версия кора в 2016 была зарелизена. Компании, перекатывающие свои продукты с личных дата центров в облака (ибо дешевле, чем содержать свою ферму серверов), отдают предпочтение кору, потому что у Майкрософта на него поддержка на облачной платформе лучше.
Рекрутёры кидают по несколько писем в день и спрашивают об опыте работы с кором, потому что их клиент об этом просит, и в вакансии об этом не всегда указано. Даже 2 письма в день (на самом деле больше) - это 44 письма за месяц (без учёта выходных, хотя и на выходных прилетает). Сколько в месяц открывается новых дотнет вакансий в отдельно взятом городе? Не думаю, что на много больше чем 40.
Каджый раз как созваниваешься с рекрутёром, они в первую очередь спрашивают, сколько лет опыта с шарпом и потом - сколько с дотнет кором. Новым клиентам интересен твой опыт конвертирования старого фреймворка в новый. Многие, как ты и заявил, еще используют легаси, но перекатиться уже хочется.
944 1654464
>>54319
Если не брать всякий машин лернинг и датасайнс - то математика программисту не нужна, школьного курса будет достаточно. Нужна лишь способность эту математику осваивать.
945 1654467
>>18705 (OP)
Задача такова. Чел ходит по этажам и выключает свет в кабинетах, у него есть две лестницы - правая и левая.
Нужно посчитать минимальное количество времени затраченное на проход всех
этажей
входные данные
2 2
0010
0100
выходные данные
5
входные данные
3 4
001000
000010
000010
выходные данные
12
входные данные
4 3
01110
01110
01110
01110
выходные данные
18

https://pastebin.com/R6BDg9sc - код моей программы не идеален и выводит ошибку на 9 тесте

5 93
00000000000000000000000000000000000000000000000000000000100000000000000000000000000000000001010
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000
00000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000
Вывод участника
240
Ответ жюри
265

Вопрос: Где я допустил ошибку, и какие алгоритмы необходимо использовать для эффетивного решения данной задачи
945 1654467
>>18705 (OP)
Задача такова. Чел ходит по этажам и выключает свет в кабинетах, у него есть две лестницы - правая и левая.
Нужно посчитать минимальное количество времени затраченное на проход всех
этажей
входные данные
2 2
0010
0100
выходные данные
5
входные данные
3 4
001000
000010
000010
выходные данные
12
входные данные
4 3
01110
01110
01110
01110
выходные данные
18

https://pastebin.com/R6BDg9sc - код моей программы не идеален и выводит ошибку на 9 тесте

5 93
00000000000000000000000000000000000000000000000000000000100000000000000000000000000000000001010
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000010000000000000000000100000000000000000000000000000000000000000000
00000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000
Вывод участника
240
Ответ жюри
265

Вопрос: Где я допустил ошибку, и какие алгоритмы необходимо использовать для эффетивного решения данной задачи
946 1654473
>>54319
Нужно понимать как работают функции
f(x) = x + 1

У функции есть сигнатура f(x)
Функция может принимать параметры f(x,y) = x + y
Функция может принимать функцию как параметр f(g(x)) = g(x) + 1
Функция может возвращать значение f(x) -> y

Нужно хорошо понимать Булеву алгебру.

Также нужно уметь въезжать в разные формулы и матрицы при работе со всякими массивами, будь то игры (даже шахматы), карты и маршруты, picture/video/audio processing. При работе с бухгалтерией и финансами тоже много счетоводства и формул. Многие компании строют всякие внутренние инструменты с графиками и отчётами.

Но это не мешает программистам забивать куй на математику полностью и писать индусский код, когда 2+2 записывается в тыщу строк и исполняется это творчество по несколько секунд вместе нескольких наносекунд и отжирает по 500 мб, которые еще и не всегда выгружаются, потому что индусский код любит всякие статики и глобальные объекты.
947 1654533
>>54473
Можно изучать матан параллельно с языком или лучше стоит его выучить перед изучением программирования?
948 1654550
>>54467
Скорее всего задача коммивояжера. Из того что ты написал ничего не понятно, давай всё условие.
949 1654577
Какая работа обычно бывает у шарп программистов помимо веба? Стоит ли вкатываться в геймдев?
950 1654586
>>54577
Почему ты такой тупой? Ну вот как можно дать ответ на твой вопрос "Стоит ли вкатываться в геймдев?", если никто не способен прочитать твои мысли и понять, что для тебя важно. Может зарплата, может стабильность, может перспективы карьерного роста, может развитие как программиста и т. д.
951 1654591
>>54467
Некоторые люди не выключают свет, когда уходят из помещения, что ведет к бесполезной растрате энергии. Будучи охранником в университете, Сахир ждет, пока все студенты и профессора покинут здание, а затем идет и выключает везде свет.

В здании n этажей и две лестницы слева и справа. На каждом этаже есть m комнат вдоль коридора, который соединяет левую и правую лестницы. Другими словами, здание можно представить как прямоугольник из n строк и m + 2 столбцов, где первый и последний столбец — лестницы, а m столбцов посередине — комнаты.

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

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

Входные данные
Первая строка содержит два целых числа n и m (1 ≤ n ≤ 15, 1 ≤ m ≤ 100) — количество этажей и количество комнат на каждом этаже, соответственно.

Следующие n строк содержат описание здания. Каждая строка содержит строку из нулей и единиц длины m + 2, описывающую один этаж (левую лестницу, затем m комнат, затем правую лестницу), где 0 означает, что свет выключен, а 1 означает, что свет включен. Этажи даны в порядке сверху вниз, в частности, последняя строка описывает первый этаж.

Первые и последние символы каждой строки описывают лестницы, поэтому они всегда равны 0.

Выходные данные
Выведите одно число — минимально возможное время, необходимое для того, чтобы выключить весь свет.

Примеры
входные данные
2 2
0010
0100
выходные данные
5
входные данные
3 4
001000
000010
000010
выходные данные
12
входные данные
4 3
01110
01110
01110
01110
выходные данные
18
Примечание
В первом примере Сахир сначала пойдет в комнату 1 на первом этаже, а затем — в комнату 2 на втором этаже, используя любую лестницу.

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

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

Да, задача правда похожа на коммивояжера, но только частного случая, где не надо возвращаться в исходное положение и у каждого города только 2 пути в другой
951 1654591
>>54467
Некоторые люди не выключают свет, когда уходят из помещения, что ведет к бесполезной растрате энергии. Будучи охранником в университете, Сахир ждет, пока все студенты и профессора покинут здание, а затем идет и выключает везде свет.

В здании n этажей и две лестницы слева и справа. На каждом этаже есть m комнат вдоль коридора, который соединяет левую и правую лестницы. Другими словами, здание можно представить как прямоугольник из n строк и m + 2 столбцов, где первый и последний столбец — лестницы, а m столбцов посередине — комнаты.

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

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

Входные данные
Первая строка содержит два целых числа n и m (1 ≤ n ≤ 15, 1 ≤ m ≤ 100) — количество этажей и количество комнат на каждом этаже, соответственно.

Следующие n строк содержат описание здания. Каждая строка содержит строку из нулей и единиц длины m + 2, описывающую один этаж (левую лестницу, затем m комнат, затем правую лестницу), где 0 означает, что свет выключен, а 1 означает, что свет включен. Этажи даны в порядке сверху вниз, в частности, последняя строка описывает первый этаж.

Первые и последние символы каждой строки описывают лестницы, поэтому они всегда равны 0.

Выходные данные
Выведите одно число — минимально возможное время, необходимое для того, чтобы выключить весь свет.

Примеры
входные данные
2 2
0010
0100
выходные данные
5
входные данные
3 4
001000
000010
000010
выходные данные
12
входные данные
4 3
01110
01110
01110
01110
выходные данные
18
Примечание
В первом примере Сахир сначала пойдет в комнату 1 на первом этаже, а затем — в комнату 2 на втором этаже, используя любую лестницу.

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

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

Да, задача правда похожа на коммивояжера, но только частного случая, где не надо возвращаться в исходное положение и у каждого города только 2 пути в другой
952 1654921
Хочу научиться писать читы для игр, есть удобоваримые и норм гайды ? язык c#.
953 1654932
>>54533
Очень даже можно. В программирование можно с нуля вкатываться и по ходу дела осваивать что нужно. Булеву алгебру надо будет быстрее остальных освоить, а то пишут потом
if(isDone == true){}
else if (isDone == false) {}
else {}
954 1654941
>>54921
Был тут один такой лет 5 назад. Был послан далеко на йух. Такие вопросы задают джуны, которые в принципе не понимают, что спрашивают. Освой для начала хотя бы один язык до хорошего уровня, напили несколько проектов. Выучи как работает CPU, GPU, and memory. Почитай про дизассемблирование. Глядишь дойдёт, что ты подходишь к решению задачи с абсолютно неверной стороны.
956 1654949
>>54921
Начинать в таком случае нужно с ассемблера. А чем ты память будешь считывать и изменять, вообще не важно, но для этого C++ больше шарпа подходит, хотя и шарп тоже справится.
957 1655442
>>54577
В Unity на шарпе вроде.
958 1655733
>>50909

>Да самая простейшая, C# для чайников.


Блять, ну и хуйня. Сижу и ахуеваю. Сначала какое-то говно 100 страниц рассказывали, вроде как переменные объявлять, про типы, а потом сразу "А давайте нахуй создадим свой ИТЕРАТОР, вот тут нахуй наследование вот тут какие-то классы тут ещё что-то". Пиздец. Ни ООП, ни пространства имён, ничего автор не рассмотрел - давайте нахуй итератор запилим. Сижу нихуя не понимаю что происходит
изображение.png59 Кб, 671x368
959 1655737
Пиздец, индексаторы какие-то. НАХУЯ, если можно просто получить индекс пилить свой класс для этого?
960 1655759
>>55737
Если захочешь сделать свои массивы с блекджеком и шлюхами и обращаться через [index] к значениям
961 1655783
>>55737
Сахарок для более простого восприятия кода, который компилятором разворачивается в пару методов.
var a = foo[index] вместо var a = foo.GetValue(index)
foo[index] = a вместо foo.SetValue(index, a)
962 1655789
>>55759
>>55783
Да блин, я горю с ублюдского стиля написания книги, и с того что я в это говно уже начал. Автор нихуя не объясняет зачем могут пригодится эти индексаторы, конкретных примеров не даёт. Пиздос. Автор вабще имеет привычку сначало выложить код тела программы, описать его, и только лишь потом вкидывать код пользовательских методов, которые там присутствуют. Вот сижу, перепечатываю код program main, и ахуеваю с того что просто не могу его понять, потому что этот ублюдок не дал кода его злоебучих самописных методов заранее. Какое-же говно
963 1655796
>>55789
Вкинь пример описания из книги, пару страниц. Интересно стало, что же там такого.
964 1655798
>>55789
Че за книга? Может у тебя там не самоучитель, а справочник по синтаксису какой.
965 1655800
>>55796
Ну вот, он дал код программы, пикрил, и потом уже начинает вкидывать пользовательские методы. Нахуй ты этот обоссаный код дал, если без знания того, чем занимается метод, этот код бесполезен. Ну и классическое "ПОКА ЧТО ВАМ ПРОСТО ДОСТАТОЧНО ЗНАТЬ. А ВОТ В СЛЕЕЕЕЕЕДУЮЩИХ ГЛАВАХ МЫ ВСЁ РАССМОТРИМ" ДА ПОШЁЛ ТЫ НАХУЙ ПИДРИЛА
966 1655804
>>55796
>>55798
И да, извините аноны, я просто внезапно сгорел. Главное до того как перешли к обоссаным интераторам более-менее нормально материал подавался, хотя такое говно уже встречалось. А тут просто пиздец, сижу и ахуеваю с того что мне дают код какими-то непонятными кусками которые я не могу проанализировать, постоянно всплывают темы которые вабще никак не рассматривались. Перегрузку методов этот пидор как то так рассмотрел сразу после строковых методов - ни наследование, ничего ещё не рассматривалось, вот вам тут способы работать со строками - а потом сразу перегрузочку посмотрим. Кайф. И так же код кусками вкидывал.
967 1655809
>>55800
Ну вообще это нормально. Похоже, что это ты тупенький.
968 1655843
>>55789
Конкретных примеров ни в одной книге не дают, проснись.
969 1655975
>>55809
Двачую мудреца, если сразу всю инфу вываливать то так можно один пример полкниги разбирать
Дать что-то потыкать самому а уже потом объяснять как это работает это нормальный и распространенный подход
14470979385610.jpg57 Кб, 601x302
970 1655977
971 1655980
>>55977
>>55800
Тебе еще повезло, самая жопа это когда вот так пишут:

>While I only cover the Display data annotation, there are many additional annotations that can be used


in the same manner. Please consult the .NET Framework documentation to learn more.
972 1655984
>>55980

>>While I only cover the Display data annotation, there are many additional annotations that can be used


>in the same manner. Please consult the .NET Framework documentation to learn more.


В этой книженции этого тоже хватает. Просто я с этого так горю.
на самом деле по пайтон больше френдли-литературы для новичков, учить было проще. Да и сам язык там проще и приятнее, возможно, поэтому.
973 1656005
>>55980
А тебе должны все аннотации целиком в книгу вставить?
974 1656013
>>56005
Хотя бы самые часто используемые.
15852448732671-dvach-pr-1643468.png408 Кб, 891x1114
975 1656018
>>56013
Зачем? Тебе дали концепцию и показали пример, дали где смотреть остальные. Сам со временем встретишься с другими или почитаешь ссылки. А учебники для того и нужны чтобы базовое представление о технологии составить.
Боюсь представить как такие вкатыши бы читали книги чуть серьезней, ХОТЯ БЫ уровня пикрила, они целиком из такого и это норма, там вообще после каждой главы страницы перечислений ссылок на подробности.
976 1656035
>>56018
Дурачок, но ведь в серьезных книгах это приемлемо, потому что они пишутся для опытных людей, которым действительно нужно больше ссылок на подробности, чем затрагивание самого популярного и используемого, потому что они и так много знают.
А вот если тебя тычат каждый раз в слова "обратитесь к документации" в книге для новичка, то это хуево.
977 1656042
>>56035
Так все правильно, книга для новичка, новичку рассказывают про базовые понятия языка и синтаксис.
Рассказали про атрибуты, зачем они, как применяются. Дали пример. Что ещё надо?
Это же учебник по языку а не по атрибутам и не по конкретным библиотекам. Перейдет новичок с изучения языка на изучение фреймворка - там и познакомится с используемыми в нем атрибутами
978 1656046
>>56042
Так там выше есть список часто используемых методов какого-либо класса и краткое описание. Что мешало с атрибутами сделать также? Хотя бы просто написал, блять, чтобы я по названию примерно понял что к чему и посмотрел в документации те, которые меня интересуют. А так смысла вообще нет в этой поверхностной информации, я бы лучше время это потратил на книгу по этому фреймворку, а не вот этот огрызок.
Какой вообще смысл в этом огрызке? Я сразу побегу своё делать? Нет, потому что у меня нет достаточных знаний. Может быть этой информации нет в книге по этому фреймворку? Нет, она там есть. Т. е. получается избыточное дублирование.
979 1656111
>>54577

>Какая работа обычно бывает у шарп программистов помимо веба?


Виндовс форм

>Стоит ли вкатываться в геймдев?


Просто загугли количество геймдев вакансий. Нет никакого геймдева в этой нашей России.
980 1656164
>>21525

> энтерпрайз точенный


this
игрульки - путь в никуда (токсичное комьюнити, токсичные коллеги, 0 рост из-за простоты разработки, однотипная работа, никаких архитектурных и сложных задач).
981 1656165
>>24870

> решил вкатываться в бекэнд, есть базовые знания html, CSS


Распечатал себе этот мем.
982 1656179
>>25470
Можешь сделать что-то на подобии этого https://dotnetfiddle.net/e4FwRC
Добавить оверрайды для ValueContainer`а, добавить метод для сокращения одинаковых физ. величин и т.д.
983 1656180
>>25677

> банально чтобы даже с каким-нибудь EF ты понимал что своими Linq ты хуйню сделал и либо Linq составлял нормальные либо умел на нативных решениях переписать нормально


Это не джунские знания. Джун должен уметь скомпилить проект и поправить пару багов.
984 1656181
>>25946

> .NET Core


This. Дебила душного сверху не слушай.
985 1656182
>>26031
графана+прометеус
986 1656183
>>26424
Самое простое это обернуть твоё говно в while и внутри хуярить trycatch, если прошло - выходить из вайла, если в кетч ушло - хуярить таймаут. Самое быстрое и даунское решение, если лень делать - ебашь так.
QA.png2,4 Мб, 1760x1172
987 1656184
>>27401

> 25k


Это з.п. за неделю?

> тонуть в решеточном говне до скончания веков


this
989 1656186
>>29347

> aspx


С ужасом закрыл скриншот.
990 1656187
>>33140
Что ты сделал и с чем тебе помочь? Код тебе написать?
image.png65 Кб, 1306x63
991 1656189
>>36514
Миша, всё хуйня, давай по новой.
992 1656190
>>37120
Просто сиранул в штаны от твоего коммента.
993 1656191
>>37206
Я уверен, что этот говнодел ничего не понял из того, что ты написал.
994 1656193
>>37399
Не стоит, юзай Visual Studio
995 1656194
996 1656196
>>41261
+var+;
Второе бери.
15855935722820.png13 Кб, 637x305
997 1656202
>>56196
Потом долбоеб столкнется с пикрилом и насрёт себе в штаны от удивления. Я понимаю там количество пробелов в табе определять, но если дело касается разных возвращаемых значений, значит код зависит от ситуации, а не конвеншена.
998 1656284
>>56202
Ты опять выходишь на связь? В тот раз мало обоссали?
999 1656285
>>56284
Зачем ты сам с собой разговариваешь, при этом добавляя ссылку на мой пост?
1000 1656287
>>56285
Потому что я с тобой разговариваю. Иди читать как работает борда, ньюфажек.
1001 1656293
>>56202
Что ж ты такой тупой. Вопрос не про различия в пре/постинкременте. Иногда надо просто увеличить переменную, как например в цикле фор, там это не на что не влияет. В шарпах обычно пишут постинкремент. Хотя некоторые пишут преинкремент, так как они слышали от кулхацкеров, что в сях он может быть быстрее постинкремента.
1002 1656301
>>56293
Долбоеб, речь шла про КОНВЕНШИН, КАК НАДА? КАК ВЫ ДЕЛАИТИ? т. е. то про то, что на код никак не влияет и везде должно быть одинаковым. Можно отказаться от использования инкремента вообще, это будет конвеншином, но если ты сказал, что у тебя постфиксный инкремент это конвеншин, а потом в коде пишешь ++x потому что иначе он будет работать неправильно, то ты долбоеб. Потому что конвеншены на "вот в этой ситуации так пишем, а вот в этой так" никто не создает, это противоречит их предназначению, а именно упрощению работы и предотвращению путаницы. Поэтому перестань срать себе в штаны, в них и без того полно дерьма.
1003 1656313
>>56301
Сочувствую, но я такого не встречал, что б конвеншинами запрещали пользоваться языковыми конструкциями. Конвеншены именоо про стиль и >>56301

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


Т.е. инкремент в циклах и прочее. А если нужен прединкремент, а конвеншн его запрещает, то ковеншн и контора, которая его придумала говно.
Хотя сейчас вспомнил один случай мне рассказывали, в некой конторе ругались за использование фишек C# 8, хоть иписале на коре 3, а все из за того, что большинство в конторе не осилили чейнджлог. Хотя это еще можно оправдать, но то что ты пишешь это верх маразма.
Не злись, здесь на тебя всем похуй, побереги нервы.
12123.jpg27 Кб, 423x575
1004 1656319
>>56313

>Т.е. инкремент в циклах и прочее.


>Т.е. инкремент в циклах



Просто нахуй иди. Такое быдло как ты понимает только когда его либо плетью бьют, либо зарплату забирают.
1005 1656333
>>56319

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

lp.png5 Кб, 482x472
1006 1656339
1007 1656342
>>56319

>Использовать переменную-индекс вне цикла


Пиздец просто.
1008 1656346
>>56202

>Инкрементить возвращаемую переменную, которая сразу после возврата пропадет из области видимости


Пиздец просто х2
Уйди из треда не позорься
1009 1656436
devtools какие лучше?
1010 1656462
>>56436
Для чего?
1011 1656488
>>56319
Но это у тебя за подобный код зарплату заберут и плетью отлупят.
1012 1656699
>>18705 (OP)
Сап прогромач. Вопрос по WPF. Есть TreeView, к его TreeViewItem'ам надо привязать экземпляры разных классов (по одному на айтем) и получать их по клику мышки. Как сделать эту привязку при учете того что классов будет штук 30(все наследованы от одного родителя),а айтемов - штук 150?
1013 1656745
>>56699
Чё-то я подозреваю что все пары по ООП ты прогулял. при том что ты самоучка
Серьёзно, WPF тут не причём. Это базовая работа с объектами и одинакова она будет и для консоли и для веба и для твоего впф.
1372147347277014456.png81 Кб, 680x632
1014 1656760
>>56346
>>41261
>>56301

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

Когда значение инкремента нужно, то во всяких учебниках и статьях пишут i++ (постинкремент). Как тут >>56339 уже показали, внутри цикла значение для ++i и i++ будет одинаковым. Обычно инкремент жить вне цикла не должен, хотя бывают алгоритмы, когда один инкремент продолжают гнать через несколько циклов и/или методов. В этом случае уже будет не до стандартов, а надо будет конкретное решение выбирать.

Если значение инкремента не используется, то надо использовать или foreach, или бесконечный цикл с условием для выхода while(read)/for(;;)
1015 1656909
Как в C# принято реализовывать копирование объекта? Наследовать класс от ICloneable и переопределять метод Clone? Или написать конструктор, который принимает параметром объект того же класса? Или как-то по-другому? В C++ есть дефолтный copy constructor, который можно переопределить, но здесь такого нет.
1016 1656918
>>55804
Выглядит так, что ты открыл книгу для тех кто уже знает какой-то ЯП. Таких много. Ищи "переменная это коробочка со значением"-книги. Не насилуй моск себе.
1017 1656919
>>55804
Или же если тебе что-то не понятно ищи по этой же теме другие материалы, а книгу используй как роадмап по темам.
1018 1656928
>>55804
Мыши плакали, кололись, но продолжали жрать кактус.
1019 1657036
>>56909
IClonable для этого и сделан, но, Пестька, есьт нюанс. Он не генерик, что с одной стороны понятно, а с другой приводит к упаковке у структур и можно словить нежданчик (см. пикрил). Решается объявлением Клоне() виртуальным и надеждой, на то, что его переопределят в наследнике. Как по мне лучше бы сделали генерик (хотя никто не мешает завести свой интерфейс).
Конструктор сделать можно, но как-то я не встречал такого (хотя я вобще почти не встречал клонирования). Но и тут есть нюанс (пикрил 2). Надо, что бы вся цепочка наследования имела конструктор копирования.
Есть способ надежный, блять, как швейцарские часы и элегантный как трактор - через бинарную сериализацию в мемористрим и обратно. Единственный недостаток класс должен быть помечен как [Serializable] и иметь конструктор без параметров (но это не точно).
Ну и наконец, есть старая добрая рефликсия, всегда придет на помощь. Вот вариант упонянутый на СО:
https://github.com/Burtsev-Alexey/net-object-deep-copy/blob/master/ObjectExtensions.cs
>>56918
Вроде чувак питон учил до этого, а глохнет на ровном месте.
>>56919
Двачую. Нет и не будет такой книги (если только интернет распечатать), в которой разжевано все. Но к счастью у шарпистов есть MSDN - лучший ресурс по языку и прилегающем технологиям.
1020 1657037
>>57036
Блэт, фотокарточки забыл прицепить
1021 1657048
>>18705 (OP)
Делал игры на яваскрипте под мобилки, захотел пересеть на унити, там С шарп.
Пытаюсь решать базовые задачи, голова начинает болеть.

1)Где гребанный список всех базовых директив и методов, необдходимых для простейших программных манипуляций? В доках смотрел, в референсах, везде какая-то дичь. Я просто хочу из коробки использовать базовые математические операции, операции матрицами, числами и тп. Почему недостаточно просто иногда написать using System? Чтобы выполнить простейшие операции с генериками и прочими листами приходится копаться в каких-нибудь Enumerable<T> и гуглить каждый метод через стаковерфлоу где на такой простой вопрос люди такие простыни катают еще и спорят друг с другом.

2)Перейти от сишарпа с С проще чем от яваскрипта к сишарпу?

3) Почему нет нормального типа строки? Почему один элемент это обязательно char, а не строка? Это же ппц как неудобно, дианмическая типитизация удобнее же в разы.

4)Почему во многих языках какой-то пердолинг с матрицами? Я создаю Очередь, чтобы накидать элементов в ОПРЕДЕЛЕННОМ(??) порядке, и только потом делаю ToArray. Зачем такие сложности/

5)Суммирая выше сказанное, насколько эффективно писать на сишарпе? Насколько быстро? Я так понимаю быстро, кратко и эффективно жонглировать махинациями как в яваскрипте не получится. На питоне в 3-5 раз быстрее пишется код, чем не яве. Какое же место у сишарпа в таком сравнении?
1022 1657072
>>57048

>Делал игры на яваскрипте под мобилки


Што блядь?
1023 1657084
>>57048
1)Чет слишком абстрактный вопрос. По шарпам справка на мсдн, по юнити, очевидно, на сайте юните.
2)Не думаю.
3)А? Строка может быть из одного символа. Но строка и символ это разные сущности, выбирай что тебе надо. И при чем тут динамическая типизация?
4)Хз зачем ты так сложно делаешь. Массив и так сохранят порядок, если нужен "резиновый" массив, то это List<T>.
5)Эффективно. Быстро. Как в жаваскрипте не получится, это не жава скрипт. Но зато можно как в шарпе.
Шарп и жс разные языки во многом, и чем раньше ты пеерстанешь пытаться писать на шарпе, как будто-то ты пишешь на жс, тем проще и быстрее будет освоение шарпов.
1024 1657145
>>57072
Что?

>>57084

>справка мдсн


Вот это?
https://docs.microsoft.com/en-us/dotnet/api/system?view=netframework-4.8
Я во всем этом шарить должен?, int32-64 T_T

>выбирай что надо


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

>хз зачем


Array в сишарпе создается как есть и его изменять нельзя. Нету Push метода элементарного, так? Мне же нужно прогонять-cоздавать сборку элементов, менять их, манипулировать ими. Но вернуть функция должна именно Array, а не List или Queue.

>быстро


Да. я понимаю, я пытался что-то там писать на крестах сколько-то лет назад, когда не было возможности на жс, директивы, поинтеры какие-то, ооп. книжки вумные читал. 'Полноценные' языки, с интерфейсами, абстракцией, доступом к функциями и так далее. Надо осваивать.
Спасибо за ответ.
1025 1657150
>>57145
Как это игры на жаваскрипте на мобилки пишутся? На реакт нейтиве что ли?
1026 1657176
>>57150
Слышал о реактнайтиве, но не трогал. пытался изучать реакт, госпади такая пердольная бессмысленная скотина, и вечные срачи вокруг этих фрейморков нифига не мотивируют их как-то изучать.
Компиляторы, бандлы всякие. Ты можешь писать на одном языке, а потом конвертировать на платформу другого. Например у андроида есть ndk bundle с помощью которого можно конвертировать написанный c++ код на понятный яве машине.
Учитывая популярность жс, на нем скоро, если не уже, будет писаться все.
Я занимался cocos2d, он раньше был только на крестах и луа, сейчас жс добавили.
1027 1657228
>>57176

>cocos2d


да судя по вики он там вообще на всех языках, а изначально на Питоне был
1028 1657249
>>57145

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


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

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


Хм.. ты писал на жс, но так и не понял, что такое динамическая типизация... подозрительно.

>изменять нельзя


можно

>Нету Push метода элементарного


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

>Мне же нужно


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

>вернуть функция должна именно Array


К счастью разработчики фреймворка запилили ToArray, и любой IEnumerable можно перегнать в массив одной командой.
1029 1657251
>>57145

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


Не парень, учить тебе азы еще и учить. Базовые типы во всех языках одни (в твоём жсе они тоже есть, но спрятаны, и если ты не понимаешь что ты делаешь, то можешь огрести). Алгоритмы работы с ними одинаковые. Основы работы с памятью и ЦПУ везде одинаковые. Как только ты это для себя откроешь, то у тебя таких вопросов больше возникать не будет. Ты сможешь решить те задачи хоть на шарпе, хоть на руби, хоть на питоне, хоть на кложе, хоть на <дофига языков> с примерно одинаковой эффективностью без всякой боли.

В шарпе тоже можно сделать Queue и потом ToArray().
Библиотеки для работы с математикой есть везде и легко гуглятся.
Матрицы - это массивы. В некоторых языках есть доп сахар для работы с ними (Питон). В шарпе можно добавить сахар самому или подключить готовую библиотеку.
1030 1657253
>>57145

>Нету Push метода элементарного


Потому что в жс массивы на самом деле не совсем массивы. Они выполнены в виде стэке, поэтому у тебя появляются пуш и поп.
В памяти же массив - это жёстко выделенный участок. Твой жс просто всё это от тебя прячет за слоем динамической магии. И ты можешь огрести по самые помидоры, не зная как работают внутреннсти твоей виртуальной машины.
Шарп предотвращает множественные выстрелы себе в ногу (жс позволяет выстрелит себе в пах и в голову одновременно). Поэтому если тебе нужна какая-то хитровыебанная структура, то пили её сам и не вини потом язык/фреймворк/аллаха в твоих проблемах.
1031 1657274
>>57249

>не понял


И что же это?

>не должно быть пуша


в жс есть...но в жс вещи не вещи, да-да

>к счастью


Еще бы они не запилили ><

>>57251

>спрятаны


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

>в шарпе также


Я про него и говорил.

>>57253
Спасибо ребята.
image.png14 Кб, 627x279
1032 1657275
Помогите тугодуму плиз.
Как сделать чтобы тест из текстбокса я мог определить в классе?
1033 1657291
>>57275
Ну-ка покажи еще пару строчек сверху
1034 1657299
>>54577
Вот я говно на винформах делаю.
В геймдеве платить будут меньше, делать и знать придется больше.
1035 1657342
ребятки как думаете, что будет c .net/с# в будущем? обьективно .net сейчас покруче жавки но сможет ли он потеснить жавку? грубо говоря в топ 3 влезть?
1036 1657355
>>57342
Вангования в другом месте Нет, в топ 3 не влезет.
1037 1657480
>>57299
Зато работа интереснее.
15353526.png34 Кб, 1162x618
1038 1657481
>>57342
За время своего существования шарп медленно, но верно сокращает разрыв в популярности с джавой. Если 15 лет назад Джава была в 6+ раз популярнее шарпа, то сейчас всего в 2 раза. Думаю лет за 3-5 обгоним окончательно.
1039 1657514
>>57481
Так это не шарп сокращал, а джава теряла в популярности лол
1040 1657651
>>57176

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


Другое дело твое мертвое гамно.
1041 1657663
>>57514
Одно и то же. Они же не равномерно теряют в популярности, джава скоро так дотеряется что шарп станет популярнее.
1042 1657703
Сап шарпаны, есть проект на .net core 3.1. По дефолту при билде все зависимости проекта с нугета и зависимости этих зависимостей кладутся в ту же директорию что и dll/exe самого проекта. Есть ли возможность как-то указать чтобы все зависимости клались в субдиректорию "Dependencies" например и папка с билдом выглядела примерно как
Build
|
---Dependencies
| |
| ---тут все дллки зависимостей
|
|
---тут дллка самого проекта

Сборка в один исполняемый файл не подходит.
Я вроде бы гуглил, но толком ничего не нашел. Буду благодарен за объяснение или тычок где об этом у майков можно почитать.
1043 1657763
>>57651
На нем даже конченные имбецилы типа меня могут клепать программки, эффективность в разы больше.
1044 1657864
>>57703
Я не уверен что есть конкретно такая опция при билде: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet#dotnet-commands

--output - сюда будет укладываться всё.

Но для таких кастомных решений есть post-script в самой вижуал студии. Если используется CI/CD, то там еще проще скрипт запихать, который разложит файлы куда надо.
Естественно придётся ссылки на зависимости в твоём основном проекте с точкой входа править.
1045 1657866
>>57763
Твоя эффективность только на хэло ворлдах проявляется и до первой тыщи строк.
1046 1657871
>>57864

> Естественно придётся ссылки на зависимости в твоём основном проекте с точкой входа править.


А как это можно сделать, не подскажешь?
1047 1657922
>>57866
Если у тебя файл улетает больше одной тысячи строк на мобилке то ты что-то делаешь не так.
1048 1657978
>>57922
Строки кода в проекте считают по всем файлам, а не по одному. Ни в одном проекте не должно быть вручную набитых файлов с 1к+ строк кода.
1049 1658087
ещё один вопрос чуханы, что думаете про Blazor?? жиэс больше не нужон??
1050 1658094
Сап к скиловым анонам. Как запускать asp.net core вместе с node.js в релизе? В дебаге все изи выкатывается, начинаю депрой делать и в релизе запускать - хуй.
Еще вопрос - как запускать именно билд сборки в wwwroot? В чем загон - пишу фронт на React, запуск в дебаге - npm start. Когда делаю билд с помощью serve, то запуск билда происходит только с serve -s build. Но блять в asp.net core только npmScript.
Помогай анон, заебался уже тыкаться. И главное туториалов - нет. Даже ебучий MSDN не может расписать, как с WebApi работать.
1051 1658118
>>58094
Ну, во-первых, тебе к жс чуханам в тред надо. У тебя 2, на 100% отличающиеся и живущие друг от друга в полной изоляции, приложения. Дотнет запускается как делать нефиг. Теперь тебе надо понять как отдавать кучу статик файлов (js, css, media) через хттп запрос клиенту.

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

>asp.net core только npmScript


нет ни в дотнете ни в коре никаких нпм, нод и прочей клиентской чухни! Это просто доп абстракция через плагины, которая сегодня работает, а завтра нет.
1052 1658194
>>58087
Сам не работал, но если допилят (хотя уже и сейчас есть проекты на нем), будет как минимум интересно. Жс точчно не убьет.
1053 1658216
>>58118

>тебе к жс чуханам в тред надо


я через Debug запускаю Node.js, мне нужна релизная версия. Чем мне JS-сники помогут, если у меня запуск приложения должен тригерить запуск Node.js сервера? У меня они должны подниматься и ложиться синхронно.

>Не пользуйтесь блять костылями


какими именно? Все, что я написал - это практика web api

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


Как нет, если есть. У них же все равно связь должна быть. Как минимум билд реакта должен лежать в wwwroot в виде staticfiles. Разве нет?
Кто работал с WebApi - дайте совет
1054 1658323
>>57037
Так кто так клонирует как на первом пике? Если сделать так:
Type x = this.GetType();
Assembly y = Assembly.GetAssembly(x);
return y.CreateInstance(x.ToString());

То всё нормально работать будет.
1055 1658334
>>57048
1) На msdn, просто так сходу не получится, для этого нужно хотя бы один нормальный язык знать, а не динамикопарашу, которая создана для того чтобы плодить говнокод о работе которого ты ни малейшего представления не имеешь.
2) Конечно, потому что C низкоуровневый язык и входит в одно семейство языков с Шарпом, а жопаскрипт это динамика, которая создавалась как дополнение к языку разметки, а не полноценный язык.
3) Во-первых, он есть и это тип String, во-вторых, любая строка это массив символов. Даже "a" это массив из одного элемента char 'a', об этом помнить нужно.

>дианмическая типитизация удобнее же в разы.


Она делает много той работы, которую ты мог бы сделать и определить на момент написания кода. Это пустая трата ресурсов и времени.
4) Потому что так работает строгая типизация. Программа должна четко знать что и откуда должно вернуться. Это удобно, потому что в случае ошибки компилятор тебе даже запустить такую программу не даст. В твоём JS ты можешь нахуячить 1к строк кода, а потом проебаться несколько часов, пытаясь понять что же с ним не так, а всё потому что JS'у похуй на то что принимать и возвращать.
5) Шарп создан для того чтобы писать качественный, легко поддерживаемый и переиспользуемый код в больших количествах. Он быстрее и ресурсоемок в сравнении с Жабой, у него больший ООП функционал в сравнении с Жабой. С динамикопарашей можно не сравнивать, потому что у неё другие предназначения (быстрее нахуячить код и запустить его, либо нахуячить костыль). Как только ты дойдешь до создания крупных проектов, начнёшь изучать паттерны проектирования, так сразу поймёшь все плюсы ООП языков.
1056 1658336
>>58094
>>58216
https://www.amazon.com/Building-Applications-NET-Core-JavaScript/dp/1484253515

Вот эту книгу тебе прочитать надо. На торрентах должна быть, если не хочешь отдавать 35 долларов. Всего 615 страниц.
1057 1658345
>>58336
спасибо за сорс. Очень странно, что никто не знаком с этим, ведь это обыденная практика для разработки проектов. Правду писали, что тут одни вкатыши сидят
1058 1658356
>>58345
По этому отдельные книги создают, а ты хочешь чтобы тебе всё в одном посте описали и при этом относительно твоего поделия, которое никто даже не видел. Как ты себе это представляешь? Совсем тупенький?
1059 1658400
>>58356

>в одном посте


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

>Если сделать так


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

>другие мои посты почитал


На анонимной борде.
1061 1658426
>>58416

>На анонимной борде.


переходы между постами. Еще про тупенького что то пишет
image.png170 Кб, 352x352
1062 1658428
Я новичок, посему вопрос гипер тупой.
Почему у вас так много вариантов явного преобразования/приведения типов? Скобочки, Сonvert,.Parse/TryParse. Нахуя их больше одного?
1064 1658440
>>58438
Видно, что ты умный, но я не спрашивал, в чём разница, а почему способов сделать одно и то же действие больше одного(а как минимум 3).
1065 1658443
>>58426
Ну вот ты и обосрался, несмотря на переходы. Мои посты в этом треде только про клонирование. Тебе я ответил первый раз.
>>58428
Это разные вещи. Скобочки это каст между типами, парсе/трайпарсе - для (внезапно) паринга из строки. Конверт - преобразование между типами.
1066 1658447
>>58440
разные задачи, не? Хочешь 0 - ToInt, хочешь Exception - Parse. Или ты думал просто так будут методы оставлять?
1067 1658449
>>58447
Почему всё это в разных местах находится? Будто разобрали лего-конструктор и его части распихали по разным наборам.
1068 1658450
>>58443
тупое ты уебище, я про свои посты говорю. Смотри, что я в предыдущих постах пишу про React+Core
1069 1658457
>>58450
Не буду.
1070 1658477
>>58428
Скобочки нужны для приведения типов, ты не сможешь привести тип string к типу int, поэтому компилятор будет ругаться если ты напишешь (int) "23423"

>Сonvert


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

>Parse


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

>TryParse


Удобно использовать в условиях и там где ты не уверен, что тебе точно придёт строка, которая парсится в число.
1071 1658518
>>58334
сяп
1072 1658552
>>58216
Мы несколько проектов в прод запустили, часть на старом knockout, остальные на Angular и React.

>Разве нет?


Нет, это всё "официальные" костыли, плагины, которые за тебя триггерят npm команды и скрывают настоящую конфигурацию ноды и реакта.

WebApi крутится сам по себе на бэкенде не зная ничего о природе клиента. Билдиться вся эта клиентская муть должна отдельно. Хостить в проде надо через реальный сервер, а не дев сервак от ноды, который только для разработки можно использовать. Ты можешь свои статик файлы через тот же Kestrel или IIS отдавать, настроив его отдельным приложением или сделать еще один endpoint в твоём WebApi для возврата Реакт файлов.

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

Бойся Strong Coupling как огня https://en.wikipedia.org/wiki/Coupling_(computer_programming).

С твоим подходом ты tight coupling в самые корни запускаешь. И судя по твоим постам ваши абстракции всё мясо напрочь скрыли, потому что ты не понимаешь как твоё собственное творение внутри работает.
1073 1658562
>>58449
Потому что делать швейцарский нож в программировании не есть хорошо. Оно станет тормозным, будет тяжело поддерживать и оно начнём вести себя магическим образом в особых ситуациях.
Вшитый способ - через скобочки. Но он не всегда будет давать нужный результат. Например string to enum, у которого есть какой-нибудь Display аттрибут. Откуда рантайм должен знать, надо тебе по аттрибуту или по имени enum конвертацию делать? Case in/sensitive?

А еще есть всякие дженерики и их in и out типы: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/in-generic-modifier

И еще мильён нюансов.
1074 1658661
Какой проект сделать, чтобы поиграть с потоками?
1075 1658679
Что есть в ASP.NET Core Web api чтобы раз в какое-то время делать какой-то большой запрос в БД, сохранять результат и использовать его? Типа как знаете пересчитывать рейтинги у фильмов. Или сортировать треды по времени последних постов. Приходит в голову сделать синглтон и там через интервал делать это действие, писать результат и использовать как сервис везде где нужно, но вдруг есть уже какой-то реализованный механизм в фреймворке на такой случай, подскажите плз. Я ньюфаг
1076 1658683
>>58679
В мвс юзал fluentscheduler в свое время, в коре вроде из коробки есть что-то такое, гугли
1077 1658687
>>58661
Любой в котором требуется выполнения долго выполняющихся задач. Как пример - парсер новостных сайтов, который в несколько потоков собирает нужную информацию из списка сайтов и сразу соединяет всё в единый массив.
1078 1658744
Господа шарписты, поясните, есть ли у вас какой-нибудь говносайт как у жиэсмакак learn.javascript, чтоб по каждой теме были упражнения, задачки вот это все?
Поглядел пару книг, там тупо справка, на метаните полтора упражнения, большинство это вопросы на самопроверку. Не хотелось бы оказаться в ситуации, когда вроде все понимаешь, а написать ничего не можешь.
1079 1658759
>>58744
https://www.learncs.org

Я бы начал с примеров на гитхабе от самого дотнета https://github.com/dotnet/samples

Заодно с git'ом подружишься.
1080 1658795
>>58759
С гитом уже знаком, а за ссылки спасибо.
1081 1658802
>>58552
спасибо, я тоже задумался над тем, что это полностью сепарированные сервера должны быть и вообще не имеют никакого отношения друг к другу. Мануалов просто не нашел, не знаю где покопаться, сейчас буду книжки рыть, где можно найти такое. У меня на самом деле еще много вопросов:
1. services AddSpaStaticFiles и весь остальной треш нужно пихать?
2. Компоузы только для облачных серверов идут? Нужен ли он вообще?
3. Как установить связь между реакт проектом и core приложением? Ловить/отправлять реквесты между портами?
1082 1659015
почему не рекомендуют Шилда для изучения шарпа?

А то хочу книгу, но про Шилда встречаю негатив.

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

Что еще можно? нужна толстая книга, но с более продуманной структурой
1083 1659250
>>59015

>Троесена - мне совсем не понравилась, автор тупо навалил все в кашу - почему до классов, и ооп еще не дошло



Вот выдержка из третьей главы:

C# demands that all program logic be contained within a type definition (recall from Chapter 1 that type is
a general term referring to a member of the set {class, interface, structure, enumeration, delegate}).

>recall from Chapter 1



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

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



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

И если для тебя Троелсен это тонна, то попробуй открыть Альбахари и его C# in a nutshell и посмотри сколько материала у него. Там один класс String и его методы это несколько глав.

>почему не рекомендуют Шилда для изучения шарпа?



Знаю только, что Шилда в ВУЗах рекомендую и что у него по плюсам и джаве еще книги есть. Открой и почитай, но если тебе Троелсен не зашел, то вряд ли проблема в авторе.
1084 1659285
>>59250

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


вот эта первая глава в итоге - одна сплошная каша.
да и ничего он там не рассказал

>>59250

>Что ты под практикой подразумеваешь


материал надо как-то закреплять, дело не в задачах, надо начинать с малого и возвращаться к этому когда читатель набьет руку. Опять же - нахрена в первых главах выливать поток методов Object/Array? Я еще даже самими классами не пользовался, а уже должен запомнить все их методы.

С# не первый мой язык. Я изучал С++ - там в книгах хорошо все структурировано. И с PHP тоже пришлось познакомится - там тоже в книгах все нормально упорядочено.

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

(ну а конкретно моя проблема, что я не хочу изучить поверхностно (иначе бы просто посмотрел лекции в ютубе, да и так уже сам пишу код), я хочу сразу детально изучить этот ЯП - но из-за такого авторского стиля, оно просто из головы вылаливается, да и тяжело читать тягучую теорию
1085 1659300
>>59285
Рихтера тогда навернуть попробуй
image.png36 Кб, 721x502
1086 1659783
У меня в проге используется массив, но его надо автоматически сгенерировать от 1 до n, как это можно сделать? Понятно что с циклом, но у меня методы не будут видеть, если я это буду в нём писать
image.png18 Кб, 461x352
1087 1659784
>>59783
2 пик открепился
1088 1659985
>>59783
Объявлять его на уровне выше, чем твои методы.
1089 1660009
>>59783

> используется массив, но его надо автоматически сгенерировать от 1 до n, как это можно сделать?


var mas = System.Linq.Enumerable.Range(1, 5);
1090 1660014
Анон, мне нужны знания древних! А именно тех, кто юзал Visual Studio 2010. Расскажите как там создать нормальный инсталлер для своего добра.
Вот создал я проект установщика. Мне в нём нужны свои формы. Жмякаю на нём ПКМ -> Вид -> пользовательский интерфейс -> добавить диалоговое окно. На выбор только окна с радио баттонами, чек боксами и текстовыми полями. Причём в ограниченном количестве, не больше четырёх. Так, а если мне, га пример, нужна форма с пятью радиоБаттонами, как мне быть?
1091 1660057
Анон, подскажи, плез.
Даны 5 целых чисел. Вывести сумму положительных.
Начальные данные: 5 целых чисел на одной строке через пробел.
Есть ли способ распарсить стринг и сразу заполнить массив интов, например? Как-то утомляет каждый раз сплитовать на массив строк и парсить каждую руками, а циклы условия задачи не разрешают
opop.png18 Кб, 373x156
1092 1660066
>>60057
Изи, не?
1093 1660071
Начал учить C#. Коммерческий целей не преследую(хотя в глубине души надеюсь), так как я слишком тупой. Какие подводные камни? Может лучше дыже не пытаться, а пиздовать к питонщикам? Там и гуи есть через куте, и серверная разработка и асинк вроде даже есть какой-то.
1094 1660073
>>60066
выглядит изи, но мои познания знания в сисярпе ещё не позволяют такого вытворять.
я тут про Array.ConvertAll только узнал, а у тебя лямбды и прочее страшное. нихуя не понятно, но очень интересно. спасибо, Анон
1095 1660077
>>60073
В смысле не позволяют. Вот тебе показали что-то новое. Сиди дрочи мануалы, документацию, лабы, пока не поймёшь. И вот, ты уже знаешь это и применишь где-то дальше. Или по крайней мере у тебя в голове будет закладка, что что-то такое возможно и при надобности ты легко нагуглишь/вспомнишь через подсказки в редакторе.
мимо-другой-анон
1096 1660084
>>60073
0. Берем строку.
1. Split разбивает строку на массив, используя пробел ' ' как разделитель элементов.
2. Select как бы говорит: для каждого элемента x примени int.Parse(x, NumberStyles.Any), то есть распарсь число с любым форматированием.
3. Where — это фильтр: возьми только те числа, которые строго больше 0.
4. Ну и наконец Sum — это просуммируй все числа, что дошли до этой точки.
>>60066-кун
1097 1660085
>>60077

>ещё не позволяют


это я и имел ввиду. смотрится весьма охуенно, но я даже не знал что так можно
>>60084
спасибо огромное, за объяснения особенно
1098 1660086
>>60085
Не парься, у тебя все впереди ;)
1099 1660168
суп шарпач, есть такая задача:
консольное приложение на net core 3.1, запущено под win64
надо вызывать функции из рандомной PE дллки
то есть в рантайме задается файл библиотеки, имя функции, количество тип порядок аргументов, тип возвращаемого значения и соглашение о вызове
библиотека может быть написана на любом языке, но собрана под винду
в какую сторону копать? если сигнатура известна на время компиляции, то тут всё просто, extern и так далее
1100 1660222
Вы ебанулись? Что вы делаете на дне /pr?

Вопрос по WPF. Стоит задача иметь только одно окно, и менять его содержимое по приказу view model'ей. Вот этот https://stackoverflow.com/a/25399943/7162511 гражданин советует объявить пары viewmodel-user control через data template'ы в App.xaml, а дальше просто биндить контент в <ContentControl>'е в MainWindow.xaml. Всё бы ничего, но у меня все viewmodelы от базового класса принимают в конструктор объект, конструктор которого в свою очередь тоже имеет параметры. Вроде как как то можно было создавать xaml'е объекты с параметрами и я даже почти не против, но я хз как там же в App.xaml в дата темплейты передавать объекты как аргументы конструктора viewmodelов. Или в таком случае только в MainWindow.xaml.cs самому создавать переменные вью моделей, передавать им свой объект? Как в таком случае биндить юзер контролы к дата контексту окна? Мне пока в голову приходило только сделать какой нибудь костыль на событиях, на которые бы подписывался main window.cs и менять юзер контрол контента в обработчиках события
1101 1660235
>>60222
А зачем тебе передавать параметры в App.Xaml и вообще создавать вьюмодели напрямую в xaml? Почитай про ViewModelLocator и DI.
1102 1660237
Есть двухмерный массив интов размером n,2 (перечисление двух чисел). Как можно (вероятно)через linq без циклов и рекурсий достать сумму чисел выбранной колонки?
1103 1660250
>>60168
В сторону рефлексии, очевидно. И собрана она не под винду должна быть, а под .NET
1104 1660253
>>60071

>пиздовать к питонщикам


Мало вакансий на джуна.
Capture.PNG14 Кб, 669x419
1105 1660262
>>60237
держи, крайне не рекомендую использовать.
1106 1660267
>>60262
Спасибо, я как раз сам ковырял каст и хотел такое написать.
Чому не рекомендуешь?
1107 1660271
>>60267
Потому-что это код из разряда "смотри как умею" который не очевиден для понимания и противоречит философии linq, мутировать внешнюю переменную в linq запросе это трешак. Код должен быть максимально простым и очевидным. Гораздо лучше написать какой нибудь GetColumnSum extension метод в котором в цикле for пройтись и получить сумму чем городить вот эти хаки с кастом и т.д.
1108 1660289
>>60271
Я не спорю что колоть жопой орехи - нехорошо, просто стоит условие

>Overlapping intervals should only be counted once

1109 1660309
>>60289
Overlapping intervals это строки в массиве? И как тебе тут linq поможет вместо простого for?
1110 1660324
>>60309
Да я жопочтец ебанутого тз. Вот фулл:

>Write a function called sumIntervals/sum_intervals() that accepts an array of intervals, and returns the sum of all the interval lengths. Overlapping intervals should only be counted once.


>Intervals


>Intervals are represented by a pair of integers in the form of an array. The first value of the interval will always be less than the second value. Interval example: [1, 5] is an interval from 1 to 5. >The length of this interval is 4.


>Overlapping Intervals


>List containing overlapping intervals:


>[


>[1,4],


>[7, 10],


>[3, 5]


>]


>The sum of the lengths of these intervals is 7. Since [1, 4] and [3, 5] overlap, we can treat the interval as [1, 5], which has a length of 4.


До меня только что дошло что я должен что-то сделать с i[0] и i[2].
1111 1660349
Призываю в тред опытных п/инвокеров.
Мне нужно получить список процессов, которые лезут в интернеты (PID+ локальный адрес/ремоут адрес/порт/состояние). Нарыл оч пожилые статьи, где используются AllocateAndGetTcpExTableFromStack и AllocateAndGetUdpExTableFromStack из iphlpapi. Доки говорят что с виндуз висты эти функции не работают. Так вот, как мне ещё можно получить эти данные? стянуть с нетстата не предлагать. И да, я новичок, поэтому желательно на пальцах, заранее спасибо.
1112 1660370
Вопрос по WPF. Есть несколько классов, у которых определенно свойство возвращающее StackPanel. Можно ли создать привязку в ListBox чтобы в ListBoxItem вставлялась StackPanel из свойства экземпляра?
1113 1660382
>>60370
А ты сам не пробовал это сделать?
1114 1660388
>>60253
Будто у шарпоёбов их больше.
1115 1660389
>>60382
Пробовал, не получилось. Не пойму как привязку целого элемента, а не одного свойства делать
Capture.PNG8 Кб, 733x136
1116 1660404
>>60389
не?
14494082502870.png173 Кб, 604x485
1117 1660419
>>60404
Два чая тебе, анон. Очень помог, ебался с этой проблемой три часа к ряду
1118 1660457
>>60250
в том-то и суть. мне нужен PInvoke, но без static extern
1119 1660469
>>60168
>>60457

бери с помощью static extern из kernel32 loadlibrary и getprocaddress. ими можешь из любой библиотеки взять адрес экспортируемой функции. всё остальное у тебя вроде как есть. без loadlibrary и getprocaddr такое нереально сделать за исключением лютого шаманства вуду с какой нибудь эзотерической ручной загрузкой .dll в рантайме
1120 1660524
>>60469
хотя напиздел. тебе ещё надо понять, как вызывать функцию пинвоуком без сигнатуры в C# коде. этого я не знаю
1121 1660690
>>60222
Посмотри тут пример для навигации
https://github.com/Egor92/WPFSamples
1122 1660718
Есть вообще смысл вкатываться в UWP?
Сейчас по РАБоте плотно сижу на net.core, но до этого около полугода писал пет-проджекты на UWP. С тех пор оно так и не взлетело
Особенно реквестируются аноны из ДС и Германии/Австрии
1123 1660787
>>18705 (OP)
Можно ли сделать так чтобы разные объекты слушали один и тот же event? Или это только Main может делать?
1124 1660820
>>57663

>джава скоро так дотеряется что шарп станет популярнее


ты идиот, ок? У каждого продукта есть цикл существования. У этого цикла есть пиковая точка в период наибольшей популярности. У Java этот период уже прошел и идет период рецесии. У .net, судя по твоему графику - период пиковой популярности уже прошел, но уровень стагнации не такой резкий, как у Java. Какой можно сделать вывод: .NET-у не доверяли раньше, не доверяют сейчас, рынок - это скорее всего те, кто уже написал свой интерпрайз на C# и пока бизнес не закрылся - они его сапортят. Это так же означает, что если падает Java, то по логике должен подниматься .NET, раз рынок имеет свою емкость. Но т.к. .NET не растет, это означает, что используют другие технологии, которые кажутся им более перспективные.
Итог: .NET как был говном, так и остался. На смену Java прийдет Kotlin или вообще Node.js (who knows), но точно не .NET.
Занавес.
1125 1660852
>>60820
Идиот тут только ты, который забыл, что кроме существующих языков постоянно появляются новые
Чтобы стоять на месте в относительных цифрах надо расти в абсолютных, что шарп и делает успешно. А жава нет.
1126 1660885
Это анон из жса.

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

Я просто был очень занят и уставший, мне нужно было просто отдохнуть и потратить пару дней на листание основ.
screenshot18-2[1].png1,3 Мб, 923x646
1127 1660930
>>60787
На событие может подписаться любое количество обработчиков, и даже один обработчик можно подписать на событие несколько раз. И при чем тут Мэйн? Поясни, желательно с кодом.
1128 1660972
>>60820
Ну давай, спорим, что C# в Google Trends станет популярнее Джавы в пределах 4 лет?
1129 1660994
Вечер в прихожую, молодые люди. Нужны аноны, которые ковырялись в IdentityServer 4.
Ситуация следующая: в apiresources я добавил сам сервер, чтобы получать доступ к его контроллерам через сторонний клиент. Клиента создал, granttype.ClientCredentials.

Запускаю сервер, запускаю клиента, получаю бибу, так как клиенту приходит старница авторизации.

Вопрос: существует ли способ сделать из identityserver апиресурс, к которому можно подключиться о clientcredentials?
1130 1660997
>>60994
Что написано в Startup сервера:

services.AddAuthentication("Bearer")
.AddJwtBearer("Bearer", options =>
{
options.Authority = "http://localhost:5001";
options.RequireHttpsMetadata = false;
options.Audience = "identityserver1";

});

Конфиг для клиента:
ClientId = "console",
ClientSecrets = { new Secret("secret".Sha256()) },
AllowedGrantTypes = GrantTypes.ClientCredentials,
AllowedScopes = new List<string>
{
"identityserver1"
}

Что написано в клиенте:

var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
{
Address = disco.TokenEndpoint,
ClientId = "console",
ClientSecret = "secret",

Scope = "identityserver1"
});
1130 1660997
>>60994
Что написано в Startup сервера:

services.AddAuthentication("Bearer")
.AddJwtBearer("Bearer", options =>
{
options.Authority = "http://localhost:5001";
options.RequireHttpsMetadata = false;
options.Audience = "identityserver1";

});

Конфиг для клиента:
ClientId = "console",
ClientSecrets = { new Secret("secret".Sha256()) },
AllowedGrantTypes = GrantTypes.ClientCredentials,
AllowedScopes = new List<string>
{
"identityserver1"
}

Что написано в клиенте:

var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
{
Address = disco.TokenEndpoint,
ClientId = "console",
ClientSecret = "secret",

Scope = "identityserver1"
});
1131 1661040
>>60852

>Я дебил, который не умеет читать


мой пост

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


хотя что с тебя взять, с вкатыша...
>>60885
C# сам по себе хороший язык (пока что), хотя уже начинают пичкать сахара, как в Java. Насчет JS - мелкософты продвигают свой калл в виде Razor pages или Blazor, поэтому и нужны костыли с интеграцией
>>60972
давай поспорим, что когда ты окончишь свою шарагу, то ты будешь учить уже другой стэк?
>>60997

>options.Audience = "identityserver1";


вот твой косяк. По JWT токену есть дока для мелкософтов
1132 1661046
>>61040
А ты сам кем работаешь, на чем пишешь?
1133 1661074
>>60237

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


>>60324

>returns the sum of all the interval lengths


Зачем тебе сумма чисел в столбце? Это какой-то особенный способ вычисления длин интервалов или их пересечений?
1134 1661087
>>18705 (OP)
Шарпач, помогай. Есть какие-нибудь варианты как хранить данные по типу List<>, только с возможностью добавлять элементы в конкретные индексы, а пустые места сжимать? Что-то вроде варианта с Dictionary<>, чтоб был ключ-индекс и значение. Dictionary<> не устраивает тем что жрет оперативку. Если складывать в него int, а индекс брать как byte, то он сжирает какие-то дикие значения при большом количестве небольших Dictionary<>, что-то в районе 3 раз больше, чем даже массивы интов с пустой памятью между элементами. Что напердолить, только писать свой велосипед?
1135 1661094
>>61040

>ты будешь учить уже другой стэк


Может и буду, только какое отношение это имеет к теме C# vs Java? А ты от спора слился.
1136 1661097
>>61040

>вот твой косяк. По JWT токену есть дока для мелкософтов



Спасибо за ответ, можешь уточнить в чем проблема? Если определять ApiResource любую другою апиху (не сам IdentityServer), то все работает прекрасно, почему в случае с IdentityServer это косяк? Заранее спасибо за ответ.
1137 1661099
>>61087

> по типу List<>, только с возможностью добавлять элементы в конкретные индексы, а пустые места сжимать?


В лист можно вставлять в конкретное место и можно вызвать TrimExcess(). Чем не подходит?

>Что-то вроде варианта с Dictionary<>,


Так по типу List или ключ-значение?
1138 1661107
>>61099

> можно вставлять в конкретное место


Ты про Insert? Он же кидает исключение если за пределами диапазона.

> TrimExcess()


Это же просто очищает лишнюю память в конце, Capacity уменьшает до количества элементов.

> Так по типу List или ключ-значение?


Чтоб я мог по индексам писать/читать, но без пустой памяти между значениями.
1139 1661114
>>61107
А я понял. Ну тогда словарь. Там конечно будет оверхэд на хранение значений + ему надо хранить еще ключи. Но в три раза при использовании <byte, int> - это ты что-то не так делаешь.
1140 1661124
>>61114

> ты что-то не так делаешь


Да я знаю что не так делаю. У меня в них мало элементов, а сами словари в дереве и их много, из-за этого они сжирают память как не в себя. Придётся самому облегченный велосипед делать, мне производительность не критична, а вот памяти мало.
1141 1661227
>>61040
3 года продакшна на шарпе, из них последние полгода на коре втором - это вкатыш? Нихуя ты хуесосина охуел, ну когда нечего пиздануть назови собеседника вкатышем.
Имбецил блядь.
1142 1661255
Внезапно задался вопросом: Чем Console.ReadLine() отличиается от Console.In.ReadLine()?
inout.png28 Кб, 592x479
1143 1661267
>>61255
А самому посмотреть?
1144 1661368
>>60349
бамп вопросу
image.png6 Кб, 248x147
1145 1661701
П-п-прастите, п-пожалуйста. А в ч-чём разница между написанием с большой буквы и с маленькой, но с this?
1146 1661705
>>61701
В названии переменной
1147 1661707
>>61705
И всё? Т.е. если я пишу с большой буквы, то могу не писать this, но если с маленькой, то обязан, потому что иначе он будет думать, что это передаваемый параметр? Это единственное отличие? А как вообще это называется, чтобы я мог гайдлайн почитать, в каких случаях как принято именовать.
1148 1661709
>>61705
Бля, как всегда, только спросил, сразу нашёл ответ.

>Fields are normal variable members of a class. Generally, you should declare your fields as private, then use Properties to get and set their values.

1149 1661858
Не могу понять как хукать процессы easyHook пиздец я даун.
1150 1661904
>>61267
А расскажите ньюфагу, как посмотреть как внутри устроен класс / метод?
Я нашёл вот это, а в самой Студии никак?
https://referencesource.microsoft.com/
1151 1661910
>>61707
>>61709
Чел, у тебя там разные переменные, Num1 и num2. This необязательно писать, оно само подразумевается. Даже Visual Studio тебе его затемняет и предлагает убрать.
1152 1661921
>>60820
я эти сказки про nodejs ещё в 2012 году слышал, nodejs это свинячье дерьмо (who knows)
1153 1662054
>>61910
Забей, я там вообще всё перепутал.
Но вообще я спрашивал про способ. Ведь можно написать num1, а можно Num1. И потом в теле конструктора можно написать num1=n1, а можно this.num1=n1. И я вот не понял, в каких случаях писать this, а в каких не писать.
1154 1662085
Перекат пилить будете?
1155 1662167
>>62054
ни в каких, компилятор сам за тебя всё напишет.
1156 1662369
>>60524
System.Runtime.InteropServices.Marshal.GetDelegateForFunctionPointer(IntPtr, Delegate)
Delegate.DynamicInvoke(object[])
и в нет коре 3 не нужно дергать кернел32, там есть System.Runtime.InteropServices.NativeLibrary. грят, можно сошки линуксовые также вызывать
1157 1662373
>>62054
num1 != Num1, имена переменных case sensitive
если у тебя в скопе есть локальная переменная num1, то надо писать this для обращения к члену класса, а не к ней
1158 1662861
tldr: где найти секретный ключ для авторизации на сайте через куки?

Есть сайт без документации апи, надо чтобы мой бот зашёл на этот сайт авторизованный. Начал гуглить про куки, и кажется понял, что для того чтобы авторизоваться, надо правильно отправить post запрос по правилам, которые есть на сервере. Вот на пикче и видосе показано о чём идёт речь, в первом параметре у класса, надо знать правило, по-которому войти можно на сайт, второй параметр - ключ. Где это можно найти? Полазил в настройках хрома, 22 кукиса, не понятно что конкретно брать. Хотя на 2 пикче кукис отличается, но мне не нравится, что там написано не доступно для скрипта, что это вообще значит?
https://youtu.be/hlixpNm8RBg?t=295
1159 1663026
>>62861
Это пиздец, а не вопрос. Ты для начала смешал аутентификацию вместе с авторизацией. И то и другое может миллионом разных путей делаться через миллион разных источников данных. Тебе нужно знать как конкретно там аутентификация настроена. Если они всё настроили через какой-нибудь AD и/или лимитируют аутентификацию для внутренней сети only и у тебя ни туда ни туда доступа нет, то у тебя никаких шансов в принципе нет.
1160 1663030
>>63026
Хм, хорошо, спасибо.
1161 1663093
Стоит вкатываться в решетку ин 2020? Есть опыт питона, но это хуйня никому не нужна, кроме датасаентистов и математиков.
Если что не так, извините.
1162 1663109
>>63093
Еще как стоит. Шарп только щас обороты начал набирать.
1163 1663150
Аноны, а в шарпе можно импортировать модули из C++20? Или как обычно указываем функцию и погнали?
1164 1663162
>>63150
Как обычно.
image.png12 Кб, 459x243
1165 1663223
Шарпаны, как сделать по-человечески? А то жопа чует, что while(true) ебанина. Гугл говорит, что решение opinion-based, но мне не очень нравится такой подход.
15840341053751[1].jpg34 Кб, 515x341
1166 1663245
12123.jpg39 Кб, 637x380
1167 1663250
>>63223
Или по хакерски вот так.
1168 1663258
>>63250

>хакерски


Нормас, goto конечно рофел.
1169 1663270
Подскажите хорошую программу для рефакторинга. Есть старая версия проги без обсфукации и более новая деобсфуцированная, привожу исходники первой ко второй. Сейчас через SharpDelevop, и он дико тормозит, сжирая процессор напрочь, переименовывая какой-нибудь элемент классс. И помещение проекта на рамдиск не помогло.
1170 1663284
>>63270

>программу для рефакторинга


Хуя шарписты извращуги
1171 1663287
>>60388
ты ебобо? как бы шарп, жиэс и жава больше всего вакансий на джуна
1172 1663296
>>63284
Ну или IDE, плагин для нее, етц. А то заебывает ждать по несколько секунд на каждую сраную переменную.
1173 1663300
>>63109

>Шарп только щас обороты начал набирать.


Почему?
1174 1663304
1175 1663307
>>63300
Потому что майкрасофты впервые за десятки лет начали идти в правильном направлении, а именно - кроссплатформенности и опенсорса. .NET Core уже божествененн, даже страшно представить что нас ждёт с выходом .NET 5
1176 1663317
>>63270
Изучи уже Roslyn analyzers - https://docs.microsoft.com/en-us/visualstudio/code-quality/roslyn-analyzers-overview?view=vs-2019

Можешь подключить что-нибудь из этого и больше голова о кодостилях болеть не будет:
http://pihrt.net/Roslynator/Analyzers
https://rules.sonarsource.com/csharp

У этого добра есть версии, которые поддерживают старый .Net Framework.
1177 1663326
>>63317
Это не то, что нужно. Поясняю:
Есть декомпилированные исходники программы, они собираются.
Более новая версия защищена обсфукацией. Ее снял, программу декомпилировал. Теперь надо на основе исходников первой воссоздать исходник второй.
SharpDevelop прекрасно справляется с переименованием всяких gClass_88.decimal_1 в myClass.data, но больно медленно работает.
1178 1663532
Господа, не срабатывает брейкпоинт внутри Action или Func, что я делаю не так? Если принудительно остановить с помощью Debugger.Break(), то всё нормально, но вписывать это каждый раз не хочется.
1179 1663780
>>61046
ASP.NET dev, C#

>к теме C# vs Java?


Я пишу, что # не в тренде, я вообще хз нахуя вы джаву приплетаете. Уже писал выше, что джава идет на спад, но в свое время она была на пике. Сравнили хуй с пальцем.
>>61097
я увидел, что у тебя identityserver1 тянется из конфига, попробуй явно инициализировать. По сабжу - я дрочил когда то через этот Client creditals по тутору - пролетел и не заметил. Там сложного ничего нет.
>>61227
ты аутист, судя по постам. 3 года у тебя могут быть только шараги, а не в продакшине.
1180 1663794
Empty character literal. //ERROR

Что за х? Я не могу пустую строку-букву сделать? Что за бред. объясните.
1181 1663870
>>63794
Символ не может быть пустым. А строка может, т.к. это массив символов, который может иметь нулевой размер. Всё полностью логично. Хз, что тебе не нравится.
1182 1663871
>>63794
У тебя вместо "" вот это ''
1183 1664163
>>63780
Ну клиент креды это реально легко, я тоже за пару минут сделал, тут сложность с authorization code была.

Я уже решил траблу, если кому интересно, то нужно настроить localapi в identity server и все будет огонь.
1184 1664164
>>64163
Посмотрел код, который я скинул выше, там клиент креды... ясно я даун, просто забей.
1185 1664176
>>63270
Resharper
1186 1664179
Аноны, кто шарит, шарп за границей норм тема? Или как в СНГ, т.е не очень распространён?
1187 1664211
>>63870
Я этот ответ уже читал на стаоверлфлоу. ты-вы издеваетесь?
Как я должен алгоритмы писать легко и лаконично если само устройство языка загоняет меня в рамки определенного дизайна и пердолинга. Нету даже Empty метода, ничего нету.

>>63871
Спасибо, но нет, я уже понял что скобочки разные для разных целей.
а для чего собака @ нужна перед Regex? флажок проверок по всей строки или что?
1188 1664218
>>64179
В штатах (можешь глянуть по LinkedIn и Indeed) по шарпу вакансий завались в каждом большом городе. В Канаде тоже хватает. За остальную европу не скажу. Хотя у нас во всяких Ирландиях и Британиях дофига офисов.
1189 1664219
>>64211

>а для чего собака @ нужна перед Regex? флажок проверок по всей строки или что?


1) Собака ставится перед строкой, чтобы не приходилось пердолиться с дублированием обратных слешей если у тебя их много в строках. Но в таких строках не поддерживаются управляющие последовательности.
2) Собака ставиться перед зарезервированными словами, если по какой-то ебанутой причине ты хочешь их использовать в качестве идентификатора.
Например
int class = 5; выдаст ошибку,
а
int @class = 5; сработает, и даст тебе переменную с именем class (символ собаки в этом случае в имя не попадает)
1190 1664225
>>64211

> Как я должен алгоритмы писать легко и лаконично


Поясни, как наличие пустого символа может тебе помочь писать "легко и лаконично"? Вообще я себе не могу представить ситуации, в которой потребуется пустой символ.

Символ ведь это просто число, оно не может быть пустым. Тебя же не удивляет, что ты не можешь написать int a; и потом попытаться взять какое-то значение из этой переменной, не задав его заранее.
crash.png3 Кб, 359x66
1191 1664317
>>64211
Ну ты можешь воспользоваться наллаблом и словить NRE где нибудь
char? ch = null; //нeт символа
или исолзовать налл символ и обрабытывать его по-особому
ch = '\0';
1192 1664352
Сап сишарперы. Накидайте пожалуйста на клык ньюфагу-вкатывальщику где можно попрактиковаться сишарпу, где задания для новичка поискать. Сам пока просто читаю Троэлсена, но чувствую что без практики нихуя не усваивается, хотя читается все интересно
1193 1664371
>>64352
У него там примеры практические есть, ты их не копируй, а пытайся воссоздать по прочитанному. Вот он говорит "создадим класс такой то с такими то свойствами", вот ты и создавай, а потом смотри правильно ты это сделал или нет.
1194 1664592
>>64219
Мерси боку

>>64225

>меня не удивляет


я просто не пробовал)) я думал будет null или undefined

Ну есть слово, я должен проверить начало и конец, и отдельно модифицировать серединку, а затем вернуть новый результат по кусочкам.
В жске я бы просто сделал a = "", b = "" и соответственно в овсновной функции a + str + b и все было бы чики-пуки без всяких ошибок. Тут же я прямо приуныл, такая элементарщина, а я не могу ее сделать за пару секунд как обычно делал.

>>64317

>нет символа


Я писал, мне он что-то ошибку выдавал.

>\0


А это откуда пошло, я уже видел такой ответ. Так и проверять ch == \0 ?
1195 1664641
>>64218

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


Только кое-что забыл:
- легаси, кора почти нет
- низкие зарплаты, в сравнении с каким-нибудь другим стеком
1196 1664647
>>64641

>каким-нибудь другим


Это каким? Если жаба падает.
Тут выше всякие новые языки расписывали, статей в интернете много про великое будущее Rust, Kotlin, Go и прочих Dart-ов, я для интереса забежал в тредик Rust-a и что я вижу: никого нет, ничего нет, сплошное сектанство, сам создатель уже дропнул свой язык, лол.
1197 1664650
>>64647

>Это каким?


жс, питухон, го, свифт, да та же жаба, не знаю где она там падает.
1198 1664654
>>64641
Я с кором последние 3 года работаю, легаси видел в 2017 году, так что не надо мне тут.
Что есть низкая зп, интересно? Вкатывай цифры кодомакак, я поржу.
1199 1664668
>>64654

>Я с кором последние 3 года работаю, легаси видел в 2017 году, так что не надо мне тут.


Я крайне сомневаюсь, что ты работаешь в штатах, на коре, учитывая тонные легаси.
Здесь нужно сделать ремарочку: не ваша галера, что-то делает на коре для заказчика, или ты там себе удаленку нашел.
>>64654

>Что есть низкая зп, интересно


До 150к, если у тебя опыта > 3 лет
1200 1664677
>>64668
Это для алабамы или СФ?
1201 1664678
>>64677
однохуйственно
1202 1664684
>>64678
В СФ у сеньора total comp будет 400+.
В Сиэтле 200-300.
В алабамах 80 уже дофига.
1203 1664690
>>64684

>В СФ у сеньора total comp будет 400+.


>В Сиэтле 200-300.


>В алабамах 80 уже дофига.


Допустим. Но там не 20 летние сеньеры, почти везде 6+ лет опыта нужно.
>>64684

>В СФ у сеньора


Нужны ли в СФ дотнетчики? Вряд ли, хотя я в этом вопросе не сильно подкован, но вряд ли за пару лет что-то изменилось
1204 1664708
>>64690
В СФ нанимают language agnostic. Во всяких НЙ, Остинах, Сиэтлах и прочих айти хабах та же фигня. А там внутри всяких фэйсбуков они чего только не используют. У того же Амазона есть сервисы, которые на коре крутятся. Мне тоже и на жабе и на жс и на тс и на питоне приходилось проекты пилить или с них на кор перетаскивать.

На счёт легаси - да, его много, потому что старый фреймворк с начала нулевых вкатился, а кор стабильный только в 2017 появился. Но все компании, в которых работал, либо начинали новые проекты сразу на коре, либо задача была перетащить 10-15 летний продукт на кор.
1205 1664817
>>64708

>В СФ нанимают language agnostic. Во всяких НЙ, Остинах, Сиэтлах и прочих айти хабах та же фигня. А там внутри всяких фэйсбуков они чего только не используют. У того же Амазона есть сервисы, которые на коре крутятся. Мне тоже и на жабе и на жс и на тс и на питоне приходилось проекты пилить или с них на кор перетаскивать.



Ну, я в целом это больше к тому, что в случае переката, наверное лучше брать что-то более распространенное, аля жса, чтобы можно было найти работу не в таких крупных компаниях, ибо туда еще попасть всё-таки нужно. Хотя, конечно же, наверное можно и на шарпе, даже на коре найти что-то, из мордора такие вещи обсуждать особого смысла нет
изображение.png49 Кб, 1806x317
1206 1664843
Анчоусы, кто-нибудь разобрался, как в .NET Core 3 заставить работать SPA-шный фронт?

Перевожу свой пет-прожект с ASP.NET MVC 4 и у меня не работает фронт с вебпаком.
Если я стартую фронт через

>npm start webpack -d --config webpack/webpack.dev.babel.js --color --progress --watch



, то я иду нахуй и получаю пикрелейтед.

Если же через
npm start react-scripts start

то всё работает как часы.

ЧЯДНТ?
codepng.png3 Кб, 301x163
1207 1664861
>>64592

>В жске я бы просто сделал a = "", b = "" и соответственно в овсновной функции a + str + b


А в шарпе что тебе мешает? Также в шарпе можно складывать строки с символами

>Я писал, мне он что-то ошибку выдавал.


Ну тут да, шарп говно. Ошибки выдает сука

>А это откуда пошло


Еще с мезозоя
https://ru.wikipedia.org/wiki/Управляющие_символы

> Так и проверять


Да хуй знает, ты так и объяснил что тебе надо.
1208 1664887
>>64861

>что мешает


Мне пишет постоянно в разных махинациях Can't implicitly convert char to string - или наоборот. Что я только не делал, и при декларации сувал, и так и сяк соединял. can't convert can't convert can't convert.
1209 1664889
>>64861
О погоди, то есть мне для моих махинациях обязательно универсальный var использовать?
1210 1664903
>>64887
>>64889
Сука, как вас таких на работу то нанимают? Вы в эту профессию только ради бабла лезите?

Даже жс макака должна знать системные типы. Твой жс присыпал всё сахаром, а ты и рад жрать. Но сахар - это не отмазка, чтобы основ не знать. Это значит что ты пользуешься готовым, даже не пытаясь понять, как твои инструменты работают. Ты типичный юзер (может даже пауэр юзер), но нифига не программист.
1211 1664904
>>64889
var это не тип. Это ключевое слово, которое любезно просит компилятор вывести тип за тебя.

>и так и сяк соединял


Возьми уже книгу и прочитай хотя бы несколько первых глав, чтоб понимать что ты пишешь а пробовать и так и сяк.
1212 1664907
>>64904
Ты, по-моему, уже во втором сообщении частицу "не" пропустил :D
1213 1664911
>>64907
Действительно.
1214 1664927
>>64904
Какую книгу? Мне книги плохо даются, я сразу задачки решаю.

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

>должна знать


стринги, аррей, лет, нумбер-интегер, нулл, андефайнед, мап и сет с недавних пор- вот и весь мой набор!
твои чары и инты32 в жисти не видел и уж тем более не юзалвидел в вузике но не суть

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


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

>юзер


Я всегда считал себя и всех программистов юезрами. Все языки и движки, и как это прогрессирует в будущем-становятся все более и более абстрактными. Слой на слое, и никто не знает что под капотом.
Тебе нужно делать деньги и вести бизнесс, а не копаться в деталях от которых тебе ни горячо ни холодно. Конечно, как профессионал с годамии, если ты развиваешься, ты рано или поздно начнешь расширять свой кругозор, это через сколько десятков лет произойдет. а, милый мой? Если ты программист в смысле настоящий программист, рад за тебя, что ты к макакам-то пристал, а? Хочешь чтобы было меньше макак-делай что-нибудь, а не психуй.
1215 1664943
>>64927
let у него тип, заебись.

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

hasmap, hastable, hashset, stack, queue - эти вещи надо знать с самого начала, а не >с недавних пор
Ты вот вкурсе что твой мэп и сет - основа работы с индексами в БД?

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

>нужно делать деньги


Этот лол от всех уволенных слышу. Нагородят костылей, из-за которых 2+2 по пол минуты откликается, и рады. И потом каждые 2 года кто-то из этих начинает выкрикивать - эта система говно, надо всё заново начинать. В итоге бизнес вместо продолжения разработки и добавления новых фич на радость юзерам должен тратить 50+% времени на обслуживание говно решений и получать тонну негативного фидбека от их клиентов.
1216 1664960
>>64943
has -> hash
fix
1217 1665029
>>64927

>Мне книги плохо даются


Превозмогай, щито поделать. Учение - боль.

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


Оно и видно. Простейшие вещи тебя ставят в тупик на несколько дней из-за отсутствия базы. И как с тобой бизнес вести?
1218 1665034
>>64817
Надо прекращать предлагать всем подряд JS, иначе он так никуда и не уйдёт.
Бизнес ищет программистов -> легче и дешевле всего найти тех, кого большинство на рынке (JS) -> нанимают и делают приложения на нём -> народ видит что бизнес нанимает JS девелоперов и вкатывается -> повторить.

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

Для тех кто не может в англ или лень смотреть, вот основная мысль:
Популярна платформа (браузер, айфон, и т.д.) - популярен язык (js, objC, swift, и т.д.).

https://www.youtube.com/watch?v=QyJZzq0v7Z4
1219 1665061
>>65034

>Популярна платформа - популярен язык


Вау. Кто бы мог подумать.
1220 1665062
>>65061
Видео не смотрю, но комментирую.
1221 1665102
>>64943

>эти вещи надо знать


Я что виноват что их не осуществляли с самого начала?

>жс прячет


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

>отпимизация


Ну, хочешь более точный резльутат-делай более точно. Учи крестики и или шарп.
1222 1665128
>>65102
Базовые алгоритмы и структуры работают и доступны из любого ЯП. И знать их обязан каждый программист.
Мап - это новая обёртка, структура данных имелась в жс из покон веков.

Типичный жс обыватель напишет рендеринг страницы используя чё под руку попадётся:
indexOf? - зашибись
forEach? - погнали
какой-то map/reduce? - а чё бы нет?

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

------------------------

В то время как нормальный программист выполнит ту же задачу за пол дня с рендерингом в пол секунды и без единого бага. И добавлять новые фичи в такой проект намного проще, чем в типичный макакинг выше.
И нет, про "без единого бага" не маня фантазии. Люди выкатывают фичи в прод каждую неделю и никаких багов может не появляться по пол года. А если они и появляются, то обычно из-за необычно жёсткого дедлайна или не типичных edge cases.

Эта ваша отмазка про байтоёбство уже давно устарела. Если уж влез в профессию, то будь добр выучи азы нормально и знай как их применять.
1223 1665131
>>65128
Ну ты прямо расписал жоско: тут жс макаки, а тут супермены xD

На правах поста: вот нужно мне разделить строку на матрицу буковок. Я жмякаю по привычке .Split(''). - empy буквока. Я иду, гуглю, для этой штуки придумали аж свой метод ToCharArray().
Вот зочем.
1224 1665132
>>65131
Не супермены, а обычные программисты. На самом деле у нас так в любой профессии. Казалось бы, если влез в профессию, то азы то знать и особенно применять их уметь то должен? Ан нет, большая часть "профессионалов" только и умеет что копипастой заниматься. Благо если хоть поверхносто понимает, что делает. Даже врачи. Даже электрики.

Супермены подписывают контракты за много $$$ или выпускают крутые продукты в одно лицо.

ToCharArray vs Split - и в документации и в самой сигнатуре методов всё обозначено. Один производит массив (твоя матрица) символов (буковки, лол, символов огромное множество, включая невидимые), а другой - массив строк. Строка - это обёртка (для удобства) над массивом символов. По сути это и есть иммутабельный массив символов с доп фишками.
Базовый элемент, к которому применяется кодировка, язык и прочие ништяки - это символ (char).
1225 1665166
>>64927

>стринги, аррей, лет, нумбер-интегер, нулл, андефайнед, мап и сет


Бля, проиграл с этого хаотичного набора.
1226 1665235
>>65034

>почему у нас преобладает ООП, а не функциональщина. И surprise surprise javascript один из главных виновников.


Это где у нас? Большая часть SPA на реакте, а там чистая функциональщина
1227 1665247
>>64943
>>65128
Абстрактное нытье какое-то любителей структур данных. Ты приведи конкретно пример в жсе когда нужно знать эти твои азы. Я не могу представить такой ситуации чтобы в жс что-то хуево работало и чтобы решить это нужно было знать какие там чары внутри. Это другой уровень абстракции и он не должен ебать жс макаку.

мимо крок
1228 1665263
>>18705 (OP)
Почему Питон открывает на чтение любой файл, а Шарп плюется "Процесс не может получить доступ к файлу, так как этот файл используется другим процессом"?
Я уже заебался, никакие решения не помогают.
1229 1665271
>>65263
Петухон открывает только те файлы, которые не заняты другим процессом, так как это происходит не на уровне языка, а на уровне системы, которая нахуй тебя пошлет если доступ к операциям с файлом занят другим процессом. Ты скорее всего в своём говнокоде на шарпе сначала занимаешь файл, а потом пытаешься его прочитать/изменить.
1230 1665418
>>18705 (OP)

>1 пик


Одно и тоже ведь?
Тогда не понятно почему 2 и 3 пик по разному работают
1231 1665470
>>65271

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


Не пизди. Один и тот же вечно занятый процессом файл.
Твой презираемый петушон открывает его на чтение простешим:
with open(log, 'r', encoding = 'utf-8') as file:

Решеточка обсирается даже с костылями:
using (Stream stream = new FileStream(log, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
using (StreamReader file = new StreamReader(stream, Encoding.UTF8))
{
1232 1665485
>>65418
Сори, ошибка вообще не в этом.
1233 1665488
>>65470

>using (Stream stream = new FileStream(log, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))



Долбоеб, показывай что ты выше по коду делаешь.
1234 1665534
>>65488
Декларирую log в виде пути до файла?
1236 1665544
>>65543
нахуя? И с 2к постов норм будет
1237 1665545
>>65544
Чтобы тред не прогружался по 20 минут.
image.png417 Кб, 1130x551
1238 1669602
Анончики, чому у меня "боди" подчеркивается, если выше указан тип переменной?

Так со всеми переменными, скрипт работал у других
1239 1675183
Анончик, привет. У меня тупой нубский вопрос.
К примеру у меня есть некий enum, где все элементы имеют значения от 0 и далее по порядку. Есть ли возможность сделать неявное преобразование перечисления в тип int? Например если я хочу использовать этот enum в качестве индексов для массива и чтобы не писать каждый раз перед ним (int).
1240 1675875
>>75183
ну вопрос на самом деле тупой, нет пиши так, можно допустим рефлексией без приведения но это ещё хуже в твоем случаи, в самой энамке не обязательно кстати индексы ставить значениям, да блять и вообще смотря где ты их используешь, иногда компилятор сам всё приводит
Тред утонул или удален.
Это копия, сохраненная 28 мая 2020 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски