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

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

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

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

1. Ресурсы:
- https://metanit.com/sharp/
- https://stackoverflow.com/questions/tagged/c#
- https://www.tutorialspoint.com/csharp/
- https://professorweb.ru
- https://habr.com/ru/hub/csharp/

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

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

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

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

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

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

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

Обзор Roslyn: https://github.com/dotnet/roslyn/wiki/Roslyn Overview
Новые возможности C# 8.0: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

>Наконец-то нормальный перекат, без бомжей, школьников и прочей хуеты в шапке.


Я ньюфаг, взял прошлый тред и скопировал по инструкции. Прошлые ОПы были настолько тупыми что с этим не могли справиться? Ужас! Ужас просто!
5 1366895
Перетащу из прошлого тренда в этот, для вот этого долбоеба
>>1366518

>То-есть ответить на элементарный вопрос ты не смог. Ясно всё с тобой.



Блядь, вы чо, обезумели тут что ли? Вот вам метод из той самой программы с директориями

public void ProcessingDirectories(string dir1, string dir2)
{
try
{
if (!dir1[dir1.Length - 1].Equals(@"\")) { dir1 += @"\"; };
if (!dir2[dir2.Length - 1].Equals(@"\")) { dir2 += @"\"; };

//Заполняю коллекции именами подкаталогов (без путей) в каждой из папок.
List<string> directoriesInDir1 = (from d in new DirectoryInfo(dir1).GetDirectories() select d.Name + @"\").ToList();
List<string> directoriesInDir2 = (from d in new DirectoryInfo(dir2).GetDirectories() select d.Name + @"\").ToList();
List<string> directoriesTempInDir1 = new List<string>(directoriesInDir1);
List<string> directoriesTempInDir2 = new List<string>(directoriesInDir2);
//Заполняю коллекцию именами подкаталогов, которые встречаются в обеих папках.
List<string> directoriesDelete = (from d in directoriesInDir1 where directoriesInDir2.Contains(d) select d).ToList();

//Оставляю в каждой из коллекций только уникальные подкаталоги.
directoriesDelete.ForEach(d =>
{
directoriesInDir1.Remove(d);
directoriesInDir2.Remove(d);
});

//Создаю новые подкаталоги в каждой из папок в соответствии со списками уникальных подкаталогов.
directoriesInDir1.ForEach(d => { OnStatusWrite(this, "Создаю " + dir2 + d.Remove(d.Length - 1)); Directory.CreateDirectory(dir2 + d); });
directoriesInDir2.ForEach(d => { OnStatusWrite(this, "Создаю " + dir1 + d.Remove(d.Length - 1)); Directory.CreateDirectory(dir1 + d); });

ProcessingFiles(dir1, dir2);

//Рекурсивно вызываю этот метод (ProcessingDirectories()), для того, чтобы проверить подкаталоги на наличие уникальных
//подкаталогов 2-го, 3-го, 4-го ... N-го уровней. Сначала для подкаталогов первой папки, затем для подкаталогов второй.
directoriesTempInDir1.ForEach(d => ProcessingDirectories(dir1 + d, dir2 + d));
directoriesTempInDir2.ForEach(d => ProcessingDirectories(dir2 + d, dir1 + d));
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}

Теперь понимаешь, почему ты долбоеб и как рекурсия будет назад возвращаться?
5 1366895
Перетащу из прошлого тренда в этот, для вот этого долбоеба
>>1366518

>То-есть ответить на элементарный вопрос ты не смог. Ясно всё с тобой.



Блядь, вы чо, обезумели тут что ли? Вот вам метод из той самой программы с директориями

public void ProcessingDirectories(string dir1, string dir2)
{
try
{
if (!dir1[dir1.Length - 1].Equals(@"\")) { dir1 += @"\"; };
if (!dir2[dir2.Length - 1].Equals(@"\")) { dir2 += @"\"; };

//Заполняю коллекции именами подкаталогов (без путей) в каждой из папок.
List<string> directoriesInDir1 = (from d in new DirectoryInfo(dir1).GetDirectories() select d.Name + @"\").ToList();
List<string> directoriesInDir2 = (from d in new DirectoryInfo(dir2).GetDirectories() select d.Name + @"\").ToList();
List<string> directoriesTempInDir1 = new List<string>(directoriesInDir1);
List<string> directoriesTempInDir2 = new List<string>(directoriesInDir2);
//Заполняю коллекцию именами подкаталогов, которые встречаются в обеих папках.
List<string> directoriesDelete = (from d in directoriesInDir1 where directoriesInDir2.Contains(d) select d).ToList();

//Оставляю в каждой из коллекций только уникальные подкаталоги.
directoriesDelete.ForEach(d =>
{
directoriesInDir1.Remove(d);
directoriesInDir2.Remove(d);
});

//Создаю новые подкаталоги в каждой из папок в соответствии со списками уникальных подкаталогов.
directoriesInDir1.ForEach(d => { OnStatusWrite(this, "Создаю " + dir2 + d.Remove(d.Length - 1)); Directory.CreateDirectory(dir2 + d); });
directoriesInDir2.ForEach(d => { OnStatusWrite(this, "Создаю " + dir1 + d.Remove(d.Length - 1)); Directory.CreateDirectory(dir1 + d); });

ProcessingFiles(dir1, dir2);

//Рекурсивно вызываю этот метод (ProcessingDirectories()), для того, чтобы проверить подкаталоги на наличие уникальных
//подкаталогов 2-го, 3-го, 4-го ... N-го уровней. Сначала для подкаталогов первой папки, затем для подкаталогов второй.
directoriesTempInDir1.ForEach(d => ProcessingDirectories(dir1 + d, dir2 + d));
directoriesTempInDir2.ForEach(d => ProcessingDirectories(dir2 + d, dir1 + d));
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}

Теперь понимаешь, почему ты долбоеб и как рекурсия будет назад возвращаться?
6 1366896
>>66895
Уже и сюда перетащил срачи.
Глупенький маленький долбоёб. Иди вот в этот ПРИКРЕПЛЁННЫЙ БЛЯДЬ >>1215536 (OP) пост и читай

>Большие куски кода желательно вставлять через ideone или pastebin.


Уже само то, что ты неуважительно относишься к посетителям треда и анонам (копируя код просто в вакабу), заставляет к тебе относиться также и оскорблять тебя в ответ. А потом вы удивляетесь что тред скатился. Так вы же сами неуважение проявляете и ожидаете что к вам будут с уважением относиться.
7 1366897
>>66895
Не совсем понял зачем ты переходишь на личности? Я тебя оскорбил как-то или что?
Второе, я увидел твой код и получил ответ на вопрос в прошлом треде, я прочитал твой пост и был удовлетворён ответом (Спасибо кстати что запостил таки). Посему мне не совсем понятно зачем ты этот пост перетащил сюда?
8 1366902
>>66897
Ну, так ответил бы там, мол так и так, теперь все ясно, а то ни слова, ни полуслова.
Ну, и какие двачи без срачей то?
9 1366923
>>66896

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


Какой смешной червь-пидор.
10 1366926
>>66923
Чем более культурная обстановка в треде, тем более увлекательны срачи между его посетителями.
11 1366929
>>66926
Культурно выебал твоего папашу на твоей спине.
12 1366930
>>66926
Неженка, плес
Уебывай на пикабу и там на вы беседуй
50060080IsncrY.jpg11 Кб, 500x167
13 1366932
>>66926
Ну вот видишь
>>66930
>>66929
14 1366934
>>66932
Вижу только изнеженного педика, беги мамке пожалуйся, что тебя в интернете нахуй послали
15 1366935
>>66934

>беги мамке пожалуйся


Да я и так у твоей мамаши шлюхи сейчас.
16 1366937
>>66934
>>66935
Уроки-то хоть сделали?
17 1366939
>>66934
Тебе 30 с хуем лет, а ты на дваче срачи устраиваешь.
hqdefault.jpg10 Кб, 480x360
18 1366941
>>66939
Как ты блядь узнал то?!11111
19 1366942
>>66941
Великовозрастного девственника (тебя) сразу видно.
20 1366947
>>66939
Чо ебанулся? Чо не 60 с хуем?
21 1366971
Как удобнее всего отрисовывать быстроменяющиеся графики?
Хорошо бы найти библиотеку, не хотелось бы колхозить свой велосипед с нуля
Проблема в том, что должна быть возможность мышкой водить по графику и получать конкретные значения в данной точке. Когда "пауза", естественно
22 1366974
>>66971

>Как удобнее всего отрисовывать быстроменяющиеся графики?


Отрисовываешь его такой, отрисовываешь. Потом берёшь такой и перерисовываешь.
23 1366985
>>66971
В телеграмме нету шарпа
24 1366988
>>66891
Не опы, а один я. И охуенные школьники и мужики были!
Почему этот тред называется "шапка", если так назывался прошлый?
25 1366990
языку потребовалось ~20 лет, чтобы, наконец-то, уметь в рэнжи
как же меня печет с "развития" языка, начиная с 6й версии
26 1366993
>>66988
Шарпка
27 1366996
>>66971
LiveChart
28 1367097
>>66885 (OP)

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



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

Особенно скобки.

И после всего этого ты такое высираешь? Ну и сиди дальше в своем говне.
29 1367100
>>67097

>Очередной неосилятор долбоёб спорит с пастой


>Традиции двача.

30 1367179
Есть какая актуальная книга по ASP .net core?
31 1367191
>>67179
офсайт
32 1367207
>>66885 (OP)
На пикчах Сишный код. Здешние дотнетчики настолько тупые?

>>67179

>актуальная


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

Книжки по асп нету сейчас, ровно как и дока, кроме каких-то избранных глав (web api, middlewares, filters, caching, di) нахуй не нужны, в основом мусор. Остальное по ходу доберешь.
Можешь сразу ангуляр идти надрачивать.

>>66990

>уметь в рэнжи


Enumerable.Range существует хуеву тучу лет.
Срезы, которые ты называешь "рэнжи", нахуй не нужны, а кому нужны те используют пайтон. Ведь нормальные люди используют язык по назначению, а не тащат его везде
33 1367208
Итак народ. Ситуация такова. Чем заменять циклы и переборы? Имеется задача, в которой надо описать функцию, которая принимает два строковых одномерных массива. Массив А и массив Б. "А" - включает в себя сайтики по которым хочет перейти пользователь. Например: "cards.uk", "smile.ogr", "wartime.de" и так далее. На а "Б" содержит в себе список запрещенных доменов. Если домен заблокирован, то все его суб-домены тоже. К примеру если заблочен "never.smile.org" то на smile.org перейти можно, а вот на "just.never.smile.org" нельзя. Я просто не знаю никакого другого способа, кроме как перебора. Алсо возвращать функция должна целочисленный массив с индексами из "хороших" доменов массива "А". Чем заменять эти циклы с переборами? Рекурсивные функции тоже не вариант, т.к. тоже перебор
34 1367226
>>67207

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


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

>>67208
если это задача с собеса, предлагаю его дропнуть
35 1367230
>>67226
да верно, и я уже решил ее неправильно. делал рекурсии и лямбды. а почему дропать?
36 1367233
>>67230
ну это по условию задания типа обойтись без циклов и итераций? задача без практического смысла, более того, заставляющая тебя вертеть хуету там, где самый простой способ решения - самый оптимальный.
вот я бы человека, решившего подобное, не рискнул себе бы взять в тиму, ибо кто знает, сегодня он массивы знает как не перебирать, а завтра классы с интерфейсами писать перестанет. ну а че, так же можно, все в одном месте, а главное, дебажить удобнее
37 1367241
>>67233
Да, нужно было взять и проверить на какие сайты заходить можно. А цикл - слишком медленно работал бы. Типо если 1000 хотелок и 100 блокировок. то это 100к переборов. Я уже склоняюсь к тому, что надо массив Б перерабатывать в дерево и через это с ним работать... алсо запросил у них корректное решение, самому пиздец интересно
38 1367243
>>67241
так как условие задачи звучит?
чтобы построить дерево, массив нужно перебрать
39 1367254
>>67243
я могу тупо вбросить файл с заданием (на инглише)

https://yadi.sk/i/g3e_a90zpn27pQ
40 1367295
Вы нахуя сендбокс контура положили, дауны?
41 1367336
>>67208
Есть же методы в стринге - contains или что в котором это есть или это читерство?
Если по велосипедному то тут насколько я понял есть правило - домен одинаковый с конца и до какого-то символа, можно либо сабстрингом пердолиться либо строки создавать как-то с индексов чара, или обрезать оригинал и сравнить, правда там все равно внутри есть переборы.
42 1367339
>>67336
А, перечитал задание - я идиот.
43 1367360
>>67207

>пайтон


>нормальный язык


Нахуя ты такое жирное чудище?
44 1367376
>>67208
1)заблокированные домены пихаешь в Set
2)пишешь функцию извлечения домена для адреса (если 1 точка - вернуть как есть, если >1 то регуляркой можно (с позитивным просмотром вперёд и символом конца строки,например))
3)для а пишешь а.вере(адрес => !сет.содержит(домен(адрес)))
45 1367428
человеки челики челибосы, что вас (вы) спрашивают (спрашиваете) на собесах про ASP.NET?
время жизни запросов, архитектуры MVC/REST, IIS, валидация модели, фильтры, ViewBag/TempData - это дефолт (из моих воспоминаний). че еще этакого?
46 1367429
Сишарпошки, поясните новичку пожалуйста. Читаю Вайтакера, дошел до рекурсий, но не понимаю одного момента: у меня есть переменная с числом, я сую число в метод с рекурсией, в рекурсии все нормально отрабатывается, число увеличивается, но в главном методе число все еще считается маленьким. Почемууу?

using System;

public class Program
{
public static void Main()
{
int num = 1;
Console.WriteLine(num);//здесь num = 1
num = Recursia(num);//тут внутри метода num = 25
Console.WriteLine(num);//здесь num = 2
}

public static int Recursia(int i)
{
if(i<10)
{
i = i * i;
Console.WriteLine("i="+i);
i++;
Recursia(i);
}
return i;
}

}
46 1367429
Сишарпошки, поясните новичку пожалуйста. Читаю Вайтакера, дошел до рекурсий, но не понимаю одного момента: у меня есть переменная с числом, я сую число в метод с рекурсией, в рекурсии все нормально отрабатывается, число увеличивается, но в главном методе число все еще считается маленьким. Почемууу?

using System;

public class Program
{
public static void Main()
{
int num = 1;
Console.WriteLine(num);//здесь num = 1
num = Recursia(num);//тут внутри метода num = 25
Console.WriteLine(num);//здесь num = 2
}

public static int Recursia(int i)
{
if(i<10)
{
i = i * i;
Console.WriteLine("i="+i);
i++;
Recursia(i);
}
return i;
}

}
47 1367430
>>67429

>\t\t


кто это будет читать по-твоему?
48 1367431
>>67430
А тут нету тега [code]
Давай я на пастербин выложу если ты такая нюня
50 1367433
>>67429
Тому что вэлью тайп и в методе работаешь с копией числа.
мимо другой ньюфаг
51 1367434
>>67432

>i = i * i;


>i++;


я хуй знает, что за магию ты писал, но это значение изменяется только в пределах метода
и результат рекурсивного вызова Recursia(i) не сохраняется
52 1367435
>>67433
я пробовал делать глобальную переменную, все равно не получается. Как мне передать число по ссылке, а не по значению тогда?
53 1367436
>>67433
>>67434
Спасибо, аноны, так как это обойти? Глобальными переменными?
54 1367438
>>67436
сделай

>return Recursia(i);


я не уверен, что это то, что тебе надо. но тут больше никак не просматривается ожидаемый результат
55 1367439
>>67436
Указателями, хуле.
56 1367440
>>67436
С помощью ref попробуй.
57 1367441
>>67440
>>67439
>>67438
Спосибо
58 1367442
Да, аноны, спасибо, реф помогло. Не топите тред, пока я с# не выучу, вы няши
59 1367444
>>67442
Чего не указателями? Слабак что-ли?
60 1367446
>>67444
я недоразвился еще до указателей, видимо в следующих главах будет
61 1367448
>>67446
А что читаешь?
62 1367450
>>67448
Whitaker Players guide
В предыдущих тредах посоветовали, спасибо, очень годно
63 1367455
>>67450
А ты сделал крестики-ролики?
bumpkitty.jpg86 Кб, 640x480
64 1367456
65 1367457
>>67455
это сложно еще
66 1367464
>>67429
>>67433
Не слушай местных петухариусов про ссылку и указатель - они долбаебы сами нихуя не поняли и советуют костыли!
Ты не совсем правильно понял как работает рекурсия и тебе возвращается изначальный первый проход в котором i = 2 (очевидно). Если ты прошелся бы дебагером то увидел что возврат рекурсивно вызванных методов совершается с конца.
Глянь вот это - там разбирается дерево рекурсии
https://ulearn.me/Course/BasicProgramming/Derevo_rekursii_670fa739-0f73-450c-b877-eaa6264a34fc
И в рекурсии как правило нужно писать условие выхода в начале вот метод без костылей:
public static int Recursia(int i)
{
if (i > 10) return i;
i = i * i;
i++;
Console.WriteLine("i=" + i);
return Recursia(i);
}
67 1367465
Проебался ответами ну и похуй.
68 1367473
Блядь, это весна что ли началась? Откуда такой набег идиотов? Вон же выше пример кода с рекурсией, погляди как она работает, не доходит? Возьми свой код и гляди дебаггером, что и как изменяется.
69 1367475
>>67207

>Здешние дотнетчики настолько тупые?


Ну хуй знает, только ты до кода на скриншоте доебался. Скорее всего тупой тут ты.
70 1367476
>>66990
Ну конечно, фича которая каждый день всеми используется и для которой любой студент может сам написать код - дохуя нужная функция (нет).
71 1367479
>>67428
Хуй знает, был в январе на 10 собеседованиях - это был просто ёбаный цирк с клоунами и конями. Причём параллельно был на собеседованиях по PHP, даже там было на пару уровней серьёзнее.
Суть в том, что ничего из именно программирования меня не спрашивали. Все вопросы были расплывчатыми и обобщёнными. По типу, где работал, что писал, к какой БД конектился, MVC знаешь? Что такое C из MVC? А что он делает. Максимум из профи спрашивали SOLID и core. Ну это тоже изи.
У меня создалось впечатление что никто в душе ниибёт что такое ASP и как собеседовать.
Зато на вакансию PHP за копейки вопросы блядь такие, что я охуевал просто. Один раз прямо на собеседовании дали ноут и 4 часа на "'Вот практическое задание, вордпреии и плагин, напиши магазин".
72 1367481
>>67473
Сраться начинаешь со всеми и тред такой сразу расцветает, и аноны набегают, и сразу хуева туча профессионалов.
73 1367489
>>67479
обилие фреймворков овер ASP поражает воображение. и большая часть того, что там есть, сделана и так нормально, что челикам даже не нужно знать работу под капотом
меня до сих пор бесит вот это "а с ASP работали? ну, с MVC. а с Razor работали? а сессии использовали?". та ебать, это все дефолтная хуйня в асп. с другой стороны, куча дурачков, которая для проекта на ASP.NET писали свои конченые foreach и знать не знали, что есть какие-то модели, роутинги, валидации, сессии, реквесты
74 1367490
>>67489

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


Не, норм. Если ты опытный, то быстро всё поймёшь. По крайней мере лучше чем искать документацию к 30 разным хуёвинам которые просто в итоге по разному предоставляют вью.
75 1367494
>>67490
ну скажи на собесе "я опытный и все пойму, только возьмите меня" ))
76 1367497
>>67494
Я найду что говорить на собесе, не беспокойся. По крайней мере не буду говорить "Ой, тут foreach сделаны, это сложно. Я вот только через фрэймворк velosiped всё делал, это прогрессивно!".
77 1367506
>>67497
ну ты-то молодец. прям даже не буду переживать за тебя
но я о другом спрашивал изначально
78 1367507
>>67506
О чём? Переведём разговор в прежнее русло.
79 1367508
80 1367626
>>67360
В чем жир? Да, это скриптодристня, но перспективы там лучше. Начиная от спектра задач, котлетой, кривой обучения. Сеньеров дотнетчиков с двумя годами опыта видел? Не видел потому что их нет. На скриптодристне же, сеньеры с двумя годами опыта - вполне
Это еще опуская факт того, что там люди приемущественно копаются в пайтоне, а здесь приходится работать еще с ангуляром.
81 1367639
>>67626

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


>сеньеры


>вполне

82 1367660
>>67639
Ты видимо, немного тупенький раз не понял, что речь о частных случаях и не о вкатывальщиках без опыта работы.
Поясняю: 2 года опыта на конкретной платформе.
По-мимо этих двух лет, еще 2 года НОРМАЛЬНОЙ вышки, благо такая еще осталась. (при условии что человек начал работать на третьем курсе, если нет - тогда 5 лет вышки)
Еще бывают и такие варианты: человек отработал 2 года на одном стеке, сменил стек, отработал 2 года, ты можешь сколько угодно доказывать манагерам что человек сильный и тянет на сеньера - им будет похуй.
83 1367669
>>67660
так я че-то не понял, что мешает подрочить 2 года дотнет при условии наличия опыта на другом языке (допустим даже компилируемом со статической типизацией) и стать сеньором?
84 1367671
>>67669

>что мешает подрочить


Тупость и узколобость манагеров, очевидно.
85 1367680
>>67671
но как только речь о питоне, тупость и узколобость пропадают, и человек аж бегом рассматривается на сеньорность?
86 1367696
>>67680

>только речь о питоне


>>67680

>бегом рассматривается на сеньорность


Не бегом, но там в этом плане проще, разная кривая обучения, этот вариант хотя бы будет рассматриваться.
Даже три года на дотнете - это самая низкая планка по сроку для сеньера, при условии что там действительно есть за что его давать. Хотя опять же, это во многом от конторы зависит.
87 1367763
>>67696

>но там в этом плане проще


Потому что уровень питонистов почти всех это вкатывальщики ебаные. В этом говне, если ты с пяток либ сможешь скомпоновать (потому что одна только на одной версии работает, другая на другой, третья с ними конфликтует), то ты уже сеньор-помидор, хуле с этих скриптовых долбоебов взять
88 1367766
>>67696
в общем вывод такой, что нормальный язык - это потому, что можно стать сеньором за джва года с условным опытом чуть побольше
язык только в дата-саенсе используется (потому что именно под него и создавался), и порог вхождения в него - три дня и шесть бутербродов, - это ладно, бывает. в моей конторе есть какие-то мифические Python Backend девелоперы. хуй знает наверное нужными делами занимаются
89 1367774
>>67766
Пиздец ты охуел? Люди которые с нулевых ебашат как хуй знает кто, вот их действительно можно назвать сеньерами, йоба архитекторами итд. А 2 года в продакшене это только только мидл.
90 1367775
>>67766

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



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

>Python Backend девелоперы


В моей тоже есть. При всём этом: во фронтенде не копаются от слова вовсе, получают не меньше.
Итого: зачем тратить пару лет на дотнет? Чтобы ковыряться в тс и ангуляре и получать столько же?
91 1367778
>>67775
Ну вкатывайся в бигдату из тырпрайза, давай. Магистратуру по выш. мату закончил надеюсь?
92 1367784
>>67774
ты с конца читаешь?

>>67775
так шарпы - изначально язык общего назначения, но наиболее эффективнен как бекендовый, с развитием кора и адекватной кроссплатформенности это становится еще более явным фактом. легаси никто не отменял, как и винформс с девекспрессом, но это бремя зрелых языков, никуда не денешься. ангуляр и тс - это жопоболь аутсорс-рынка моя, в том числе преимущественно
насчет перекатов - изучив один язык, ты можешь перекатиться с условной легкостью куда-то еще, было бы желание. я очень сильно не уверен (хотя не отрицаю), что зная ее-джяву, ты прям на изи въедешь в скалу, или котлин (что там еще на жвм?). так же как и, пиля бигдату на питоне, прям лайк э босс закатишься в машоб
93 1367785
>>67778

>вкатывайся в бигдату из тырпрайза


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

>>67778

>Магистратуру по выш. мату закончил надеюсь?


У меня бакалавр по CS, магистратура как правило это "было бы плюсом", но не обязательное требование. Да и бигдата мне нахуй не нужна, я на машоб целюсь.
94 1367787
>>67784

>легаси никто не отменял


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

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


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

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


На "изи" - нет. Там совершенно разные области и разная мат. подготовка.
15510274167323.jpg314 Кб, 2048x1536
95 1367788
Всем привет. В конце прошлого года был юристом, теперь работают на C# (а также немного на JS). Всё очень нравится, программисты как люди душевнее привыкших подскакивать кабанчиков юристов, хотя невероятные интроверты.
Работаю с CRM-фреймворком, теперь вопросы.
Какие инструменты повышения квалификации лучше? Понятно, что читаю Рихтера, изучаю ASP.NET и хочу погрузиться в .NET Core.
Про GeekBrains слышал негатив. Очередное высшее образование не рассматриваю, так как хорошо знаю это бесполезное болото изнутри. Как получить максимум возможных знаний наиболее эффективным способом?

Алсо, стоит ли смотреть в сторону Unity и геймдева? У меня прокачанные мягкие навыки, литературные навыки, художественные навыки, организационные. Всё это может пригодиться.
96 1367793
EntityFramework почему-то не обновляет значения навигационных свойств, свойства обычных типов обновляются, а эти нет, в чем может быть дело? Добавлю, что эти навигационные свойства входят в альтернативный ключ, хотя и свойства обычных типов тоже.
97 1367796
Антоны, насколько сильно нужно знать Джаваскрипт, если я хочу устроиться джуном?
Что лучше учить, джаваскрипт дальше Я прочитал первую книгу Кантора или выучить asp.net core?
Сейчас я знаю только Asp.net MVC
98 1367798
>>67793
вероятно, объекты не трекаются контекстом. надо бы посмотреть, че ты делаешь
99 1367801
>>67796
посмотри рынок вакансий, актуально и то и другое, а требования везде разные. по-хорошему, знать бы всего да побольше, но по факту требовать много от джуна бессмысленно
100 1367802
Как можно сравнить изподкоробки какая строка больше или меньше (> <)?
101 1367817
Блять, что за деграданство?

>string1 = "a";


>string2 = "aa";


>string.Compare(string1, string2, StringComparison.OrdinalIgnoreCase) == -1



>string1 = "a";


>string2 = "b";


>string.Compare(string1, string2, StringComparison.OrdinalIgnoreCase) == -1


>>67802
102 1367818
>>67817
какой результат ты ожидал?
'аа', как и 'b', в отсортированном множестве, идет после 'a'
103 1367819
>>67818
А, да.
Блять, я просто туплю как мне сформулировать условие чтобы сравнивать больше ли строка в отсортированом массиве строк?
if (valueString > phrases)
104 1367821
>>67819
макаба съела *phrases[j]
105 1367822
>>67819
что значит больше?
106 1367823
107 1367824
///
///Возвращает индекс левой границы.
///То есть индекс максимальной фразы, которая не начинается с prefix и меньшая prefix.
/// Если такой нет, то возвращает -1
///
108 1367843
>>67788

>стоит ли смотреть в сторону Unity и геймдева?


Только если душа лежит. Так денег мало, а работа тежелее чем на asp веб формочки лепить. И да, нужно уметь в матешу или художественные скиллы.
109 1367845
Есть кто проходил этот таск на ulearn?
https://ulearn.me/Course/BasicProgramming/Praktika_Levaya_granitsa__2f97664a-375b-4a60-824f-6227008f822a

Можете пожалуйста кинуть решение/помочь ибо код я написал в студии затестил - РАБотает normalno, а в их сендбоксе на каком-то тесте ловлю stack overflow.

Вот код:
https://pastebin.com/veUTMxTz
110 1367847
>>67845

>if (string.Compare(prefix, phrases[m], StringComparison.OrdinalIgnoreCase) < 0) return m - 1;


Смущает тут -1 в ретурне. Ты проверяешь слово с адесом m, но возвращаешь как заматченое слово (m - 1). Можно словить выход за границы массива.
111 1367849
>>67847
Здесь не нужно искать заматченое слово, а нужно найти левую границу. И там бы писало index out of range,
112 1367850
>>67845

>if (left - right == Math.Abs(1)) return -1;


Тут не проверяется условие на равенство left и right. Если будет ровно ноль, то улетит в сек оверфлов.

Наверно поправить нужно так: (left - right) <= Math.Abs(1)
113 1367851
>>67849
Ну тогда ладно. Но просто писать "левая граница" это как-то ебано, ибо не ясно входит сама граница в интервал или нет.
114 1367853
>>67850
Ты все поломал.
Error on: Prefix [ab], phrases [a, ab, abc]
result should be 0, but was -1
115 1367856
>>67853
Ну охуеть, код твой, а поломал я.

Давай дальше ломать. Очевидно у нас один символ теперь не проверяется и условие надо изменить на : abs(left - right) <= 0

Вообще один проход дебагера всё решает, а онлайн-параша это великое зло.
image-475.jpg860 Кб, 1200x1200
116 1367857
>>67856
Abs не нужен. И left-right поменять местами. Вот.
117 1367859
>>67856
Я не знаю какие там внутри тесты, а у меня нормальные результаты, скорее всего там реально оверфлоу на каком-то тесте и/или я беру дохуя памяти (>1мб).
И почему <= 0 ?
Там смысл был в том что если левая граница - правая граница = 1 элемент то значит некуда больше и идти и результат не найден.
>>67857

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


Абс-костыль это вроде как контролил.
118 1367871
>>67857
Да, частично ты был прав, правда у меня теперь новая проблема:
Как округлить число int в низ при делении?
119 1367882
Пиздец какой-то, ЯННП, призываются труъ эксперты.
Дошел до теста:
Error on: Prefix [a], phrases [ab, ab, ab, ab]
result should be -1, but was 0.
Получается так что по алгоритму бинарного поиска я какбэ(?) постепенно должен делить массив, я делю первый раз и в данном случае это должен быть 1 -1+(4-(-1)+2) = 1.5 1.5-1 = 0.5 = 0, но тест требует от меня границы самого первого вхождения.
И как это тогда сделать?
Добавлю что в метод я не могу добавить дополнительные передаваемые параметры.
Или я долбаеб?
120 1367885
>>67871

>Как округлить число int в низ при делении?


/
121 1367890
>>67845
Ха-ха, я тут живу работаю
122 1367932
>>67845
Стоит проходить этот курс? Годный?
123 1367933
>>67932
Книжки лучше почитай.
124 1367934
>>66890
Ffgvvbjkl
125 1367935
>>67933
Книжки читаю, но там практики мало.
126 1367939
>>67935
За практикой пиздуй реальные приложения писать, а не хуйню с изъебами
127 1367943
>>67932
Хочу туда на стажировку после диплома ulearn это курсы от СКБ Контур
Проходил курс, забросил на 20% первой половины
Так как читал книжки, все было знакомо. Но, выполняя практические задания, кое-что попутно узнал: ранее я избегал рекурсию, но было задание подсчитать число високосных лет на отрезке, не используя циклы
Набросал пример, он не работал. Переписал, заработал. Попутно загулил, где вообще это применяется, прочитал книгу "Грокаем алгоритмы", где рекурсия да и все остальное объясняется просто охуенно. Раньше не доходило, что все нужно сводить к базовому случаю. В общем, рекурсию я полюбил

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

Если есть время — вперёд
128 1367944
>>67943
Разметка поехала
129 1367946
>>67943
Впрочем, дело скорее во мне. Конечно, в дебри уходить не нужно, весь материал зачастую тебе дают в роликах. Просто я немного аутист и люблю закопаться поглубже. С таймменеджментом проблема
IMG20190321115606.jpg434 Кб, 1649x988
130 1367956
Сап, аноны.
Читаю Троелсена, дошел до момента подписи сборки и всего этого говнеца. Автор создал две сборки и поместил их в GAC. У этих двух сборок одинаковый маркер открытого ключа не ебу как правильно называется мешанина символов после версии сборки. Однако у меня нет. Сейчас не у ПК, скрины сделать не могу, но я делал все то же самое, что и по книге (кроме названия сборки, заместо CarLibrary сделал test_l), но маркер открытого ключа все равно разный у обоих сборок. Меня бы это сильно не волновало, если бы не то, что дальше по книге предлагается в конфиге перезаписать версию используемой сборки, что у меня не получается сделать: приложение все равно использует старую версию. В конфиг файле все перепроверял, ошибок нет. Может ли быть такое, что это именно из-за этого маркера? Или я тупой?
Пропускать не хочу, ибо наверняка попадется что-то, что требует знание этого процесса.
131 1367958
>>67939
Вот только не нужно хуйню нести, ладно? Там начиная с ~половины первого же курса есть таски с реальной хуйни. Ту хуйню над которой я пердолился - поиск возможных слов как в клавиатуре на телефоне.
>>67933
Вон один выше уже дочитался до раздела с рекурсией и нихуя почти не понял.
132 1367985
>>67798
Поменял в представлении значения, нажал сохранить и перешел в метод где буду все это сохранять. Туда передалась валидная модель со всеми изменениями (только навигационные свойства у нее все null но по идее это ж нормально), вызываю update в котором сперва делаю context.Entry(entity).Attach(); затем
context.Entry(entity).State = EntityState.Modified;
потом отдельно уже вызываю SaveChanges, который возвращает не 0. В контексте сущность поменялась как в локальном списке, так и не в локальном. Но в базе почему-то нет. При этом, если я после SaveChanges сделаю запрос на получение этой сущности GetByID, то получу сущность с ИЗМЕНЕННЫМИ параметрами как и должно быть. Но потом я делаю редирект на Index и в итоге я в представлении вижу эту сущность, у которой поменялись примитивные свойства, а навигационные - нет, как и в базе этих изменений нет.
133 1367988
>>67985

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


отсюда я уже начал теряться
ты зависимые модели меняешь через Entity.RelaviteEntity.Property = "42" что-ли?

как-нибудь около-псевдокодно, я не знаю, покажи, как именно ты чего там меняешь. или на пастебин всю простыню заебашь, я не думаю, что у тебя там много всего происходит
134 1367989
>>67956
Хер знает как, но, скопировав код со StackOverflow у меня оно заработало. Может, все-таки что-то забыл дописать. Ну и хрен с ним.
135 1367996
>>67988
Если что, у меня навигационные свойства в модели описаны так:
public int RelativePropertyID
public RelativePropertyType RelativeProperty
Сам я ничего не меняю. У меня в представлении есть форма с полями модели, я делаю submit и у меня в контроллер приходит собранная модель, у которой RelativePropertyID заполнен изменённым значением, а RelativeProperty null. И эту модель из представления я уже пытаюсь сохранить.
context.Set<TEntity>().Attach(entityToUpdate);
context.Entry(entityToUpdate).State = EntityState.Modified;
context.SaveChanges();
136 1367997
>>67988
Если все равно плохо объяснил, то вечерком код кину, как буду дома.
137 1367999
>>67958
Да, кажется, у Троелсена было два примера (про числа Фибоначчи и факториал числа), и этого было мало

Ты уже где-то работал, раз говоришь, что там реальные таски?
В таком случае вернусь к курсу. Есть какой-то страх перед тем, что приду на работу, а там все пилят нечто невообразимое
138 1368003
>>67999
Нет, не работал, но это можно понять с самого задания как я выше навел.
Не то чтобы там было что-то невообразимое, там по большей части какая-то простая хрень, но с заготовленной кучей подводных, как в принципе и в реальных заданиях (делал пару петпроджектов, очень сильно была разница между тем что я ожидал и тем что получалось в итоге).
139 1368004
Платиновый вопрос:
Нахуя нужен struct если есть class?
140 1368013
>>67996

>public RelativePropertyType RelativeProperty


чтобы проперти работало как навигационное, нужно его маркать как virtual
вообще, для code first есть конвенции
141 1368014
>>68004
чтобы экономить на памяти, перфомансе и латенси от потенциальных сборок мусора в 2к19м
142 1368019
>>68004
Класс - ссылочный тип.
Структура - значимый тип.
Дальше гугли разницу.
143 1368036
>>68013
у меня помечено как virtual, когда сюда писал проебался
144 1368043
>>68036
тааак
у тебя есть Entity (e) и RelativeEntity (r). ты меняешь (e).RID и это сохраняется?
и что не так, в общем-то?
145 1368047
>>68019
>>68014
То есть struct храниться в стеке, я правильно понял?
146 1368048
>>68047
struct выделяется на стеке. храниться она может и в куче при некоторых обстоятельствах
147 1368049
>>68047
Правильно. А что из этого следует?
148 1368050
>>67871
Math.Floor
И есть еще в большую сторону - Ceil
149 1368051
>>67882

>Или я долбаеб?


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

В нормально коде такой проблемы даже бы не возникло т.к. ты контролируешь его полностью(ну почти).
150 1368057
>>68051
Хорошо, и как это кроме очевидного перебора можно реализовать? Люди же как-то сдают.
>>68049
Что это велью тайп, я знаю это и просто уточнил.
>>68048
В каких случаях?
151 1368060
>>68057

>Что это велью тайп, я знаю это и просто уточнил.


Ты не понял. Ну велью тайп и что?
152 1368101
Будут ли в EF работать навигационные свойства, если не добавлять им атрибут [ForeignKey]? Если да, то зачем вообще нужны FK в EF? Только для того, чтобы не давать удалять объекты, которые референсятся через FK в другом объекте?
153 1368102
>>68057

>В каких случаях?


когда это часть ссылочного типа, элемент массива, или упаковывается в рантайме
154 1368103
>>68043
1) Нажимаю в представлении редактировать, перехожу в обработчик Get запроса и получаю там выбранную сущность по ID, на скрине значения.
2) Поменял в представлении Teacher и Semester, нажимаю сохранить перехожу в обработчик Post запроса, мне туда приходит модель из формы с изменёнными значениями. Я делаю update как я уже писал, сначала аттачу ее, потом state=modified, делаю context.savechanges() он возвращает 1
3) Ради интереса делаю запрос на получение этой записи по ID, получаю сущность с изменениями, НО в базе изменений не произошло, все осталось как было.
155 1368106
>>68101

>если не добавлять им атрибут [ForeignKey]


ну есть Fluent API

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

>зачем


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

>ну есть Fluent API



>есть так же принцип следования конвенции. если помечать референсы виртуальными и правильно объявить тип/объект, то EF раздуплит связь между энтитями



а если без fluent API, вот проста
public int ClassB_Id {get; set;}
public virtual ClassB ClassB {get; set;}
- вот у этого EF всегда нормально будет ClassB вытягивать из БД без FK?
157 1368108
>>68103

>запрос на получение этой записи по ID


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

попробуй повесить интерсептор на свой контекст. и в момент SaveChanges посмотришь, какой запрос улетает на сервер. обновление у тебя происходит, но это може быть обновление совершенно левой записи. опять таки, на словах я не вижу ошибки.
158 1368114
>>68108
Добавил лог, update идет только по одному полю типа int, по остальным ничего, странно..
159 1368116
>>66885 (OP)
Почему тред такой активный?
160 1368121
>>68114
у тебя айди семестра отсутствует. если я правильно все гляжу
161 1368122
>>67932
Да, мне нормально зашел.
Объясняют норм и практики интересные.
Но лучше до/в процессе/после все же книжки почитать
162 1368126
>>68121
Semester и StudyType это enum
163 1368175
>>66885 (OP)
>>1335434 (OP)
Анон в каком месте я лажанул?
------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OLD
{
class Human
{
public int Age { get; set; }
public string Sex { get; set; }
public string Name { get; set; }
public void SayHelloToBitch()
{
Console.WriteLine("Ну привет шаболда");
}
}
}
-------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OLD
{
class Boozer : Human
{
private Liver Liver = new Liver();
protected Boaroshnik Boaroshnic = new Boaroshnik();
public void NassatVPadike()
{
Console.WriteLine("Опять кто-то подъезд обоссал");
}
}
static void Main (string[] args)
{
Boozer Seva = new Boozer();
Seva.Name = "Дядя Сева";
Seva.Age = 50;
Seva.Sex = "Мужичара";
Seva.SayHelloToBitch();
Seva.NassatVPadike();
Human man = Seva;
Boozer boozer = man as Boozer;
if(boozer != null)
{
boozer.NassatVPadike();
}
Console.ReadKey();
}
}
-----------------------------------------------
namespace OLD
{
class UltraBoozer : Boozer
{
public void ChoDrink()
{
Console.Writeline(Boaroshnik);
}
}
}
-----------------------------------------------
namespace OLD
{
class Boaroshnik
{
}
}
-------------------------------------------------
namespace OLD
{
class Liver
{
}
}
--------------------------------------------------------------
ОшибкаCS0116Пространство имен не может напрямую включать в себя такие члены, как поля или методы.
ОшибкаCS0117"Console" не содержит определение для "Writeline".
ОшибкаCS0119'Boaroshnik" является тип, который недопустим в данном контексте.
163 1368175
>>66885 (OP)
>>1335434 (OP)
Анон в каком месте я лажанул?
------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OLD
{
class Human
{
public int Age { get; set; }
public string Sex { get; set; }
public string Name { get; set; }
public void SayHelloToBitch()
{
Console.WriteLine("Ну привет шаболда");
}
}
}
-------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OLD
{
class Boozer : Human
{
private Liver Liver = new Liver();
protected Boaroshnik Boaroshnic = new Boaroshnik();
public void NassatVPadike()
{
Console.WriteLine("Опять кто-то подъезд обоссал");
}
}
static void Main (string[] args)
{
Boozer Seva = new Boozer();
Seva.Name = "Дядя Сева";
Seva.Age = 50;
Seva.Sex = "Мужичара";
Seva.SayHelloToBitch();
Seva.NassatVPadike();
Human man = Seva;
Boozer boozer = man as Boozer;
if(boozer != null)
{
boozer.NassatVPadike();
}
Console.ReadKey();
}
}
-----------------------------------------------
namespace OLD
{
class UltraBoozer : Boozer
{
public void ChoDrink()
{
Console.Writeline(Boaroshnik);
}
}
}
-----------------------------------------------
namespace OLD
{
class Boaroshnik
{
}
}
-------------------------------------------------
namespace OLD
{
class Liver
{
}
}
--------------------------------------------------------------
ОшибкаCS0116Пространство имен не может напрямую включать в себя такие члены, как поля или методы.
ОшибкаCS0117"Console" не содержит определение для "Writeline".
ОшибкаCS0119'Boaroshnik" является тип, который недопустим в данном контексте.
164 1368196
>>68060
И то что он храниться в стеке, а ссылочные типы хранят референс в стеке на объект в куче, так?
165 1368245
166 1368329
>>68107
ну, надо объявить DbSet<> в контексте, тада да

>>68175
тебе ж компилятор все по-русски (даже) написал

>>68126
выложи ты все-таки кодэ куда-нибудь. а то "я делаю как надо, а оно не так как надо"
167 1368330
>>68196

>ссылочные типы хранят референс в стеке


шо? ссылочные типы все данные размещают в куче
168 1368334
>>68329
https://pastebin.com/5PKpeCkE

https://github.com/thallkeer/TeacherLoad/tree/master/TeacherLoadApp

на всякий случай код на github, но там куча всего. Если что, проблемы с GroupLoad
169 1368352
>>68334
.sln ты не коммитишь, типа нахуй надо?)
170 1368353
>>68352
Лол, я рили долбоеб
171 1368355
>>68330
Вань ты дурак?
Покормил
172 1368359
>>68355
синьор в трэде, все расходимся
173 1368368
>>68352
короче. inb4 в EF Core я шарю практически никак. и тот подход, который ты юзал, работал в дефолтном EF от чего у меня знатно подпекало на проектах. я не фанат такого способа обновления данных, и, если я прав и команда Core избавила фреймфорк от подобного инвалидства/костыляния, я апплодирую стоя

я сильно подозреваю, что суть в поведении StateTracker'а, который понятия не имеет об исходном состоянии entityToUpdate, и, соответственно, не видит изменений при попытке их детектирования (я изменил только Semester на UI):
пик 1 - значения в базе
пик 2 - что StateTracker знает об исходном состоянии энтити
пик 3 - что StateTracker получает как "измененный" стэйт энтити

для долбоебов:
- контекст только что был создан и там вообще нет никаких локальных данных
- ты передаешь какой-то объект в контекст с просьбой помаркать его как измененный
- вызывается SaveChanges
-- трэкер пытается детектить изменения:
-- видит: оригинальный семестр - (2), измененный семестр - (2)
-- уволить, отказать. идем дальше (а данных больше и нет)
ебошим UPDATE, в котором не апдейтится ничего


я сделал по-еблански: вытащил данные из базы, прошелся по всем пропертям, чтобы обновить их значения на то, что прислал браузер - пик 4. соответственно, unitOfWork.{}.Update я послал к хуям ибо трэкер по-дефолту и так уже в курсе про изменения.

но это привело к ошибке обновления ключа: пик в следующем посте. в душе ниибу, что такое AlternateKey. закомментировал OnModelCreating::modelBuilder.Entity<GroupLoad>().HasAlternateKey и был счастлив
175 1368372
В треде какие-то довны судят о знаниях по времени, мол поработал 2 года и синьор. Охуеть вообще. Синьор это знания и личные качества, а не "Я сидел на стуле 2 года."
176 1368373
>>68359
Вкатывальщик в треде, все собираемся
177 1368374
>>68369
То есть, твой подход сработал и данные обновились в базе, но после того как ты закомментил строку с альтернативным ключом? Странно, неужели нельзя у записи менять атрибуты, составляющие альтернативный ключ? Попробую сделать как ты сказал, если интересно, вечером сообщу. БТВ, что за шрифт у тебя в студии?
178 1368375
>>68374
Fantasque Sans Mono
179 1368376
>>68368

> видит: оригинальный семестр - (2), измененный семестр - (2)


-- уволить, отказать. идем дальше (а данных больше и нет)
Не совсем понял. Почему их больше нет?
180 1368377
>>68376
ну это просто единственная запись в чендж-трекере. и то добавленная как DbContext.Entry().State =
181 1368484
>>68196

>И то что он храниться в стеке, а ссылочные типы хранят референс в стеке на объект в куче, так?


Так, и что из этого?
Меня так на собеседовании дрочили
182 1368504
>>68484

> Так, и что из этого?


А вам что нужно?
183 1368507
>>68484
В стэке хранятся ссылки на ссылочные типы. Когда ты присваиваешь что-то типа
object a = new object();
var b = a;
То ты переменеой b присваиваешь ссылку на a. И если ты изменишь что-то в a, то изменится и b, так как это один и тот же обьект из кучи. Так же само, когда ты сравниваешь ссылочные типы, ты сравниваешь только ссылки.
Значимые типы могут лежать прям в стеке. И при копировании, ты копируешь все значение, а не только ссылку. Так же, значимые типы могут стать ссылочными - когда ты пишешь
object o = 5;
Ты даешь переменной о ссылку на int 5 в куче. При возврате назад к инту, в стэк будет копироваться значение из кучи.
пиздос, как можно идти на собеседование и не знать этого
184 1368544
>>68368
Бля, чувак, спасибо тебе огромное, я просто супер еблан. Я пытался апдейтить свойство, входящее в альтернативный ключ, а ef это запрещает. Пиздец...
185 1368549
>>68544
у тебя там явная борода с инициализацией значений базочки
про завтыки в самом веб-проекте, я думаю, ты сам знаешь
советую после всего просто дропнуть базу, и накатить все по-новой
186 1368581
>>68004

>Платиновый вопрос:


>Нахуя нужен struct если есть class?


>Класс - ссылочный тип.


>Структура - значимый тип.


И чо? Нахуя нужен struct если есть class? Какая разница значимый тип или ссылочный в данном случае? К этому все велось.
187 1368584
188 1368586
>>68581
еще есть такой кейс для любителей острых ощущений
https://habr.com/ru/post/423657/
189 1368588
>>68507

>пиздос, как можно идти на собеседование и не знать этого


А я где-то написал, что не знал?
Вопрос был - нахуя struct, если есть class? Ради радости присваивания через оператор = ? Где реально эти структуры используются, например?
Вот вопрос, который меня в тупик на собесе поставил был такой:
try catch finally, зачем нужен блок finally?
Я грю, ну он сработает после выполнения try или catch в любом случае.
Хорошо, а где это используется?
Я ни одного примера придумать не смог.
190 1368589
>>68014

>чтобы экономить на памяти


Как там, в 80-х, 640кб не хватает уже что ли?
191 1368601
>>68588

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


using
192 1368624
>>68601
разверни мысль
193 1368630
>>68588
Коннектишься к бд, в try делаешь свои операции, в finally закрываешь соединение
194 1368631
>>68630

>в finally закрываешь соединение


using ведь закрывает
195 1368634
>>68624
- делаешь любое действие
- гарантированно освобождаешь ресурсы
196 1368637
>>68624
вообще, еще пример, пару раз был пригоден в проектах: нужно выполнить логику без оглядки на результат работы. естественно, в случае фейла, не нужно завалить вызывающий код
в таком случае пишешь пустой finally
197 1368641
>>68588

> Где реально эти структуры используются, например?


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

>- делаешь любое действие


>- гарантированно освобождаешь ресурсы


У меня чо, сборщика мусора кто-то отобрал? Может еще и деструкторы дрочить?
199 1368679
>>68637

>естественно, в случае фейла


есть фейл - работает catch
нет фейла - try
какое третье состояние нужно, чтобы только finally
200 1368681
>>68641

>Инты, даты и булева тебе не нужны?


А кто мне их в классе мешает использовать? Ты вообще о чем разговор понял?
201 1368686
>>68681

> А кто мне их в классе мешает использовать?


От того, что они в классе, они не становятся ссылочными.
202 1368689
>>68686

>От того, что они в классе, они не становятся ссылочными.


И чо? Дальше то что?
203 1368720
>>68641
Он не осознает всех тонкостей, оставь его
204 1368741
>>68588
Можно закрыть открытые потоки в файлах. Я знаю одного спросили как закрыть потоки в файлы если метод оче большой и сложный и еще что-то. Ответ - деструктором. Немного не то но похоже.
205 1368756
>>68678
сборщик за тебя соединение с базочками закрывает?
или дескриптор файла отпускает? может лок синхронизации снимает?

>>68679
пустой catch - это ультрахуевая практика, даже если тебе этот кэтч реально не нужен. пустой finally тебя ни к чему не обязывает
206 1368758
>>68741

>Можно закрыть открытые потоки в файлах


Это если ты долбоеб и не юзаешь оператор со скобками, который так или иначе закрывает все твои потоки
207 1368759
>>68756

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


Но ведь вопрос был зачем finally нужен. Даже если в catch я кидаю в лог исключение, зачем finally?
208 1368762
>>68759
та блять. говорят уже раз третий тебе, чтобы гарантированно выполнить какой-то код, даже если основной блок отвалится
[/spoiler]самый верняковый пример - закрытие соединения, релиз блокировки или файла
209 1368763
>>68758
какой оператор со скобками?
210 1368768
>>68759

> зачем finally


Это короче жава-шарповский костыль для имитации деструкторов.
211 1368781
>>68762

>даже если основной блок отвалится


Какого хуя он у тебя отвалился? И пример давай, вот прямо рабочий, что ты там пишешь? Я же тоже сказал, что будет использоваться, по сути в качестве деструктора. Но у меня уточнили, где ты его применял?
212 1368789
>>68781
var connecton = this.ConnectionPool.GetAwailable();
try { return connection.Query<Govno>(queryString, params); }
finally { this.ConnectionPool.Release(connection); }

это не копипаста из проекта, если че (но могла бы быть)
213 1368795
>>68781
другой пример, это из реального говнопроекта: https://pastebin.com/49h0ZiVV
214 1368802
>>68789
Через using религия не позволяет? Обязательно явно нужно закрывать?
215 1368803
>>68802

>ConnectionPool


>закрывать


джун плиз
216 1368808
>>68803
Он очевидно говорит про подход аля кресты - делаешь класс аллокатор соединения из пула, освобождение соединения суешь ему в деструктор Dispose.
217 1368811
>>67843
Вообще, очень лежит, так как энтерпрайза я наелся ещё будучи юристом. Но я прекрасно понимаю, что геймдев - это вовсе не работа-игра, просто нишевая разработка с особенностями.
218 1368812
>>68803

>джун плиз


Петя, плиз.
Твой говнокод никому нахуй разбирать не надо на составляющие
219 1368813
>>68812
в следующий раз когда на собеседовании придется рассказать про использование try-finally в проектах, скажи, что это говно без целей и задач, а разрабы языка - долбоебы
если спросят, почему так, можно ответить: потому, что пети из двачей не доказали реальные кейсы применения, а подпихнули говнокод, который хуйня
220 1368816
Тащемта, для закрытия соединений реально удобнее использовать using
Она же полностью синонимична этим вашим try finally.
221 1368892
Анончики как быть? Устроился в небольшую фармацевтическую кампанию, поддерживать код на winforms. Все круто. Недавно начальник сказал что будем переходить на asp net, а на winform забиваем. Мне как бы не проблема выучить JavaScript, разметку, бд и СУБД, но мне ближе разработка под десктоп. Я сразу полюбил разработку под десктоп, когда начинал. А вакансий других нету вообще, что делать?
222 1368905
>>68816
так а кто спорит.
а если логика чуть сложнее, чем открыл/закрыл?

>>68892
страдать. десктоп был мертв еще в момент, когда я пытался вкатиться. у меня на работе есть полностью десктопный челик. взяли его в контору только потому, что была острая нехватка дотнетчиков, а проект стартовать надо прямо уже. конечно, ему пристроили место в UWP-проекте, но много ли таких на рынке? можешь попробовать смигрировать
223 1368915
На связи вкатывальщик, предлагаю начать срач куда лучше вкатываться после "основ" - в веб или xamarin?
224 1368925
>>68905
Ее можно засунуть в Dispose обычно, но я бы в таком случае предпочёл воспользоваться конструкцией try finally
225 1368937
>>68905
А если плюнут на все? Подтянуть zenject и внедрение зависимостей, ну или UniRx, хотя вроде он мертв. И уйти в геймдев, еще с детства мечтал
226 1368942
>>68937
ты хочешь заниматься чем-то, но спрашиваешь на двачах, стОит ли?
не знаю, что тебе ответить
227 1368976
>>68905

>так а кто спорит.


>а если логика чуть сложнее, чем открыл/закрыл?


Блядь, ты привел код, да? Да! Тебе сразу недоджун сказал, почему не через using, finally избыточно в данном случае, ты попой покрутил и сказал, что так и должно быть, не долбоебушка ли ты часом? Логика чуть сложнее, чем открыл/закрыл? Так приведи пример этой логики. Пока что ты хуйню избыточную привел, вместо ответа, зачем finally нужно
228 1368996
>>68976
почему долбоеб ты, а стыдно мне?
229 1368998
>>68905

>а если логика чуть сложнее, чем открыл/закрыл?


А ты пример этой логики приведешь?
Мне пока на ум приходит только то, что от сервера можно получить какие-нибудь неверные данные и попробовать еще раз.
Но это скорее из джаваскрипта пример, хз, нужно ли такое в шарпе
230 1369011
>>68998
retry в случае ошибки, да; какой-нибудь пул соединений и/или Unit of Work
вообще в приложениях сложнее moy_kursach заботу об управлении коннэкшном (ну и не только, просто это наиболее очевидный/часто встречающийся пример) не берет код/класс, который с этим соединением получает/записывает данные. а раз ты разделяешь ответственность, то появляется соблазн переиспользовать ёмкие ресурсы повторно (например, для какой-нибудь операции, которая выполнится через две строчки кода; или шире: в любом последующем ветвлении какого-то флоу). отсюда тебе мало написать using, ты не знаешь, в какой момент времени еще управляемый объект может понадобиться

могу другой, немного высосанный из пальца пример привести, не связанный с базой: юзер загружает картинку в твое приложение, но оно нарушает правила использования сервиса:
- бэкенд принимает файл, записывает его во временный сторадж
- идет попытка применения его для данных пользователя с сопутствующей проверкой. например, это аватарка и она хранится в каком-нибудь блоб хранилище
- файл нужно удалить из temp, дабы не хламить место, что бы не произошло
условно говоря, у тебя будет action контроллера, обернутый ExceptionFilter-ом (соответственно, блок catch в нем будет (скорее всего) отсутствовать), а валидация, сохранение, еще что-то происходит в глубоких ебенях сервисов/репозиториев. и в этом случае try/finally тебе поможет: удалить файл если был выброшен эксепшн; не копипастить логику обработки фильтром ошибки в catch блоке (и не писать catch { File.Delete(); throw; })
231 1369035
>>68998

>А ты пример этой логики приведешь?


Конечно не приведет. Он же даже в юзинг не умеет, лол
232 1369105
Бля, как же меня уже заебал ебучий впф, сука. Впф - это просто кусок сырого непроработанного говна, где ничего не работает, где запилено дохуя говнофункций, которые нигде не используются или замещают друг друга. А впф плюс мввм - это вообще говно мочи. Есть, блять, удобный code behind, где ты спокойно запиливаешь все эвенты, но НЕТ, сука, нельзя так делать, ведь тогда швятой мввм не соблюдается и нужно запиливать все эвенты через злоебучие команды, которые работают через жопу и требуют миллиард дополнительных строк нечитаемого кода. А некоторые эвенты вообще хуй через команды сделаешь. И хули делать? Вот, кто, сука, решил, что чистый code behind - это хорошо? Его что, блять, по приколу что ли запилили?
233 1369171
>>69105

>мввм - это вообще говно мочи.


Лул, америку открыл.
234 1369187
>>69105

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


ты уверен, что все делаешь правильно?

>чистый code behind - это хорошо


так нынче хорошо все, что кодогенерацией облегчаетнет/ускоряет разработку. написание приложения через объявление вью-моделей и разбиение логики по командам а-ля десктопный CQRS - это как раз о том
235 1369213
>>68976
catch
{ return false; }
Выглядит знакомо?
236 1369215
>>69105

>Его что, блять, по приколу что ли запилили?


Каэшна, vm руками создавай, для каждого окна, хули ты, не макака что ли?
237 1369253
>>69105

>кусок сырого непроработанного говна


>>69105

>плюс мввм - это вообще говно мочи.


>>69105

>удобный code behind


>>69105

>запиливаешь все эвенты


>>69105

> Его что, блять, по приколу что ли запилили


Анекдоты уровня /pr/

На самом деле, ты просто слишком туп, чтобы понять все приемущества и мощь WPF. На твоих хелоуворолдах использовать его нет смысла - используй формочки.
Алсо, qt бляди до сих пор завидуют байндингам которые есть в wpf
238 1369257
>>69253

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


И чему там завидовать? Можно поподробнее?
239 1369275
>>69253

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


С чего бы? Сидел на обоих, xaml отсасывает у qml с проглотом.
240 1369285
>>69011

>retry в случае ошибки, да


Минуту, я хуйню сказал, это в catch нужно.

>этом случае try/finally тебе поможет: удалить файл если был выброшен эксепшн; не копипастить логику обработки фильтром ошибки в catch блоке


Почему "если", через finally в любом случае произойдёт удаление.
241 1369298
>>69275
xaml вообще у всего отсасывает, это такое говно, что пиздец
242 1369315
>>69298

>это такое говно, что пиздец


>>69105
Ниосилятор, съеби уже.

>>69275

>Сидел на обоих, xaml отсасывает у qml с проглотом.


О, индивид заявляет что сидел на WPF, но когда ему рассказывают про приемущества Binding выражений и Dependency Property, он начинает сравнивать xaml и qml.
Дай угадаю, ты "сидел" ковыряя свою "лаба 1", но при этом не работал, верно?

>>69257

>Можно поподробнее


Всему. Binding выражения, Dependency Property, workflow, анимации, тонны вещей из коробки.
243 1369357
>>69315

>верно


Нет. А вот ты явно не видел как биндинги делаются в кюте, дошло бы какой анальной дрочкой ты занимаешься.
244 1369382
>>69357
в wpf дефолтный биндинг на уровне <Элемент Свойство="Выражение" />. как еще более удобно/адекватно можно че-то ривязывать?
мимо
245 1369391
>>68811
Бамп.
246 1369394
>>69382
Ну возьми второй пример кют биндинга из педивикии https://en.wikipedia.org/wiki/QML#Property_bindings
и попробуй переписать на ксамле/шарпе.
247 1369473
>>69187

>ты уверен, что все делаешь правильно?


Уверен. Расскажи мне, например, как адекватно реализовать datagrid column header click через команды, но мало того, чтобы команда ещё и объект datagridcolumnheader возвращала. Или как привязать команду к гриду, который находится внутри табконтрола? А никак.
248 1369490
>>69473

>адекватно


>datagrid column header click


kek

по существу, ты хочешь на любой пук иметь возможность подцепить все, что придет в голову? ну, естественно, такого не бывает. в данном случае надо поднаписать чуть-чуть своей реализации поверх дефолтного контрола. в WPF я редко видел как обходятся стандартным набором компонент, а зачастую, и пишут врапперы поверх библиотечных
ты-то вообще сам как хотел бы, чтобы выглядела твоя привязка? я даже не знаю, зачем тебе возврат значения из ICommand.Execute. оно не для того придумано
249 1369495
Пиздец, уже в обсуждение формочек, скатились. Тред сдох.
250 1369498
>>69495
вкатывайся в го
251 1369501
>>69490

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


Через эвенты это делается за 10 секунд, например.
252 1369518
>>69501
так биндинг в впф это обертка над ивэнтами тащемто
просто чтобы рандомные ивэнты подключить, надо чутка постараться. разрабы решили особо и не стараться
253 1369527
public double Discont
{
get{return Discont;} set{Discont = value;}
}

Поясните чому оверфлоу и как можно это решить кроме как создания новой переменной?
254 1369531
>>69527

>public double Discont


>get{return Discont;} set{Discont = value;}


Ты уверен, что ты понимаешь, что ты делаешь?
255 1369543
>>69527
Хмм, я даже не знаю, почему.
256 1369597
Сисяны, нужен совет. Есть я - изучавший сисярп 2 года детально, так что хоть и дошёл до паттернов основных только, но зато без пустоты в голове и прочего. Но увы, я оступился и залез в каку, имя которой Swift. Сейчас хочу вернуться, посоветуйте, с чего можно освежить память и двинуться дальше
257 1369641
>>69531
>>69543
Я пример навел, там еще есть строки условий.

>что ты делаешь?


Я думал что понимаю.
258 1369752
Господа, есть вопрос к вам.

У меня есть многопоточное приложение. Возникла необходимость убивать некоторые потоки в которых сейчас идет работа. Как это реализовать правильно? Погуглил, но нихуя не нашел. Потоки запускаются через Task
259 1369763
>>69752
Через cancellationtoken (или как-то так)?
260 1369766
>>69763

>cancellationtoken


Для него токен надо создавать, не? Потом хранить его где-то. У меня 10-15 потоков параллельно работают
261 1369772
>>69766
это общепринятый способ завершать работу в TPL. откуда взялась проблема что-то куда-то создавать?
262 1369777
>>69772
Не пользовался никогда. Не было необходимости. Вот и спрашиваю
263 1369780
>>69777
по соглашению асинхронные методы имеют в сигнатуре CancellationToken как параметр. потому, что постоянно появляется необходимость что-то отменять
264 1369782
>>69780
понял пасибо
265 1369790
>>69782
если уж не случилось по разным причинам с CancellationToken, есть воркэраунд на игнорирование результата, но такое может не подойти в некоторых случаях:

var delay = Task.Delay(timeout);
var workTask = RunGovnoAsync();
var result = await Task.WhenAny(delay, workTask);
if (result == workTask)
{ azaza }

Delay - просто шикороиспользуемый кейс. в твоем случае это может быть синхронная параша, которая засигнализирует, что надо закругляться
266 1369795
В чем основная фишка распознавателя зависимости?
Не понимаю, зачем он конкретно нужен.
267 1369800
>>69795

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


in English plz?
268 1369807
>>69800
Я объебался, имелось ввиду внедрение зависимостей, DI.
Как в Ninject можно привязать несколько реализаций?
269 1369810
>>69807
через именованые зависимости. вообще это хак и многие люди не любят такую дрочню.
для всех остальных есть чуть более хардкорные вещи, типа условная инжекция в SimpleInjector. точно не помню, но там вроде через цепочку When(x => { }).Resolve<T>() можно подпихнуть что угодно

>В чем основная фишка


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

>Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.



Почему за несколько тредов здесь я не увидел за него ни слова? Неужели тут никто не пишет на шарпе под смартфоны?
Вроде выглядит секс - мультиплатформа, работаешь в студии даже кривую возможность отладки сразу на телефон завезли.
Или это совсем мертвая ебала?
Не удивлюсь если на этот пост никто не ответит.
271 1369848
>>69831
Потому что неосиляторы считают его багованным говном, однако у кого не спрашивал, никто толком объяснить не может, чем он плох.
Знаю, что на гознаке прогеры под него пишут, но местным джунам виднее конечно же, что говно, что нет.
272 1369957
>>69946 (Del)
Куда выкатываетесь?
273 1369958
>>69957
в Rust
274 1369961
>>69958
Проиграл
15523864945970.jpg10 Кб, 210x240
275 1370125
У вас бывает/бывало такое что вы над каким-то тупым минутным решением думаете >час?
Сегодня прям дизмораль словил.
276 1370142
>>70125
Я всегда такой. Чувствую себя отбитым дауном. Раньше ходил в школе на олимпиадное прогоаммирлвание, но в итоге забил - я не умею думать и писать код с такой скоростью.
277 1370144
>>70125
Постоянно такое.
278 1370145
>>69831
Потому что:

>РЯЯЯ У НАС ЕСТЬ ДЖАБА С КОТЛИНОМ, СМУЗЗИ И ПОНЧИКИ.

279 1370171
>>70145
Ну это понятно, перекатыватся с жабы на шарп ради xamarina возможно не очень то хочется как и например мне с шарпа на жабу.
280 1370289
>>69831
Ну так. Скорость разработки конечно выше чем на убого android studio. И если формы не трогать. Ну тут нужно учитывать что все библиотеки для android на java, и тебе скорее всего нужно будет самому билдить и настраивать это все для поддержки в C# (для популярных библиотек вроде есть nuget пакеты, но не уверен в их актуальности и работоспособности).
Если что-то пойдет не так, тебя ждует охуенные долгие дни поиска причины и ее исправления, т.к. инфы по ксамарину в интернете почти нет.

Тут нужно думать стоит ли оно того. Если ты делаешь простой интерфейс для REST, то можно взять. В остальных случаях нужно нужно думать, написать код для каждой платформы это не такая уж большая проблема на самом деле.
281 1370316
Антоны, можете пояснить, как юзать Ninject в формах?
Хочу протестировать кучу всего, но не понимаю.
Достаточно ли будет сделать вот так, чтобы модуль работал на всех формах?
Kernel = new StandardKernel();
Kernel.Load(new ExampleModule());
Application.Run(new MainForm());
282 1370319
>>70316
тебе нужно иметь доступ к Kernel из всех своих форм. самый васянский способ - объявить публичный статический класс и там свой Kernel инициализировать
283 1370333
>>70319
Это мне нужно будет везде прописывать kernel.Get<>?
284 1370336
>>70333
как-то так
285 1370376
Аноны, подскажите самый быстрый способ рисовать пиксели на форме? Graphics/picturebox - не варианты. Первый срабатывает раз через раз и не несет в себе функции установки единичного пикселя. А DrawLine(x,y,x+1,y+1) я рот ебал. Второй же требует ебанутой конструкции аля image.bimap = null; drawworld(bitmap); image.bitmap = bitmap; и опять же, цикл битмаповых setpixelов съедает всё процессорное время.
Помните первохл? Там как раз есть программный рендер. Чем же он выводит кадровый буфер на экран?
тут даже вопрос не конкретно по сярпу, а вообще о возможностях винды
286 1370384
>>70376

>цикл битмаповых setpixelов съедает всё процессорное время


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

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

Вот посмотри тут как быстро ебут пиксели линей в ряд:
https://stackoverflow.com/questions/54553517/c-sharp-bitmap-set-pixel-value-for-format8bppindexed
287 1370386
>>70376

>Чем же он выводит кадровый буфер на экран?


Внутрях там наверно крестовый bitblit - это очень быстрая шняга для копирования пикселей куда угодно. Используется в винде повсеместно. Можно поробовать обмазаться этой нативной реализацией если забить на кросплатформу нета.
15410103018590.png40 Кб, 375x360
288 1370387
>>70376
Отвечу третий раз. Прост.
289 1370428
Антоны, можете пояснить, как работать с Ninject, если у меня
1) Множество конструкторов, что ссылаются друг на друга через this
2) Конструктор ссылается на базовую реализацию через base?
290 1370434
>>70428
Ninject может работать только с одним конструктором, вроде как. он помечается специальным аттрибутом, или юзает дефолтный без параметров
291 1370489
>>66885 (OP)
Как скачать файл с Releases, по ссылке с гитхаба, через webclient, если там, на github'e - редирект.
292 1370513
>>66885 (OP)
Привет, ребята. Я хуй без опыта и высшего образования. 26 лвл. Программированием увлекаюсь давно, база хотя бы для джуниора есть с запасом. Хочу в веб. Пока без разницы, во фронт или в бэк. Лишь бы найти какую-нибудь работу. Из серверных языков знаю php, но это мне не очень нравится, все-таки хочется чего-то посерьезнее. В джаву мне путь 100% закрыт.
Есть ли шансы вкатиться к вам с такими данными?
293 1370666
Аноны-новосибирцы тут? Скоро буду переезжать в Новосибирск, поизучал вакансии, вроде все неплохо и пару вакансий запретил. А как вообще себя чувствует шарпист в Новосибирске?
294 1370671
>>70513

>В джаву мне путь 100% закрыт.


из чистого интереса, что может закрыть путь в джаву?
295 1370688
>>70513

>Есть ли шансы вкатиться к вам с такими данными?


всегда удивляют такие вопросы.

Хочешь в веб, учишь JS. Ну и к нему html+css. Делаешь пет проект и выкладываешь на гитхаб и идешь по собеседованиям.

Ну а типа "потратить 1-2 недели на изучение и сразу на работу" ну тут хз. Как минимум полгода-год уйдет, если не больше.
296 1370866
Антоны, реально ли на сишарпа написать парсер для чата?
Нужно парсер, который бы парусил чат на наличие сообщений от юзера, ничего криминального.
Проблема в том, что все грузится динамически, как это можно сделать?
297 1370867
>>70866
Реально.

>как это можно сделать?


Динамически читать.
298 1370870
>>70867
Спасибо, Анон. Можешь кинуть ссылку на какой-нибудь материал, где подобное описывается?
299 1370927
>>70870
new Timer(1000, ParseChat).Start();
300 1370931
>>70870
Тебе нужен http и api сервиса, дальше легко.

Олсо, вопрос, правильно ли я понимаю, что для каждого сайта делается отдельный ВебСкраппер или можно унифицировать?
301 1370976
>>70931
унифицировать ты сможешь только базовые действия
конкретные данные с конкретной разметки ты, конечно же, забираешь индивидуально
302 1370982
>>70927
А, я понял, парсить по таймеру. Изначально на что-то такое я и рассчитывал.
Только есть вопрос, с помощью какой библиотеки это делать?
303 1371015
>>70982
слишком общий вопрос, чтобы отвечать на него как-то конкретно. что и как ты хочешь парсить? если у сайта есть вменяемое API (подозреваю, его нет), то какой-нибудь HttpClient (или напрямую с WebRequest пердолься) с десериализацией респонза в нужный тебе тип
если же тебе нужно ебашить разметку, то я лично предпочитаю использовать HtmlAgilityPack. опять таки, для скачивания страницы тебе понадобится нечто вроде HttpClient
304 1371020
>>71015

>слишком общий вопрос, чтобы отвечать на него как-то конкретно. что и как ты хочешь парсить?


Дискорд, у него API только для ботов, но не на свой сервер я, вроде как, добавить бота не могу.
305 1371028
>>71020
мраземакаба не дает постить ссыль на доку дискордовскую
гуглируешь крч: Discord Development Portal / Channel / Get Channel Messages. это разве не оно?
306 1371042
>>71028

>гуглируешь крч: Discord Development Portal / Channel / Get Channel Messages. это разве не оно?


Это все про написание ботов для своего сервера, на другой я его закинуть не могу.
307 1371043
>>71042
ну тут сыглы. я с дискордом не работал, не могу тебе сказать
парсинг разметки в данном случае выглядит как уберпупероверкилл. но, может быть, и единственный выход
308 1371050
>>71043

>уберпупероверкилл


В каком смысле? Не понимаю тебя.
Это мне еще надо будет залогиниться, написав POST запрос, потом спарсить страницу, вытащить сообщения и снова спарсить эту страницу, но так, чтобы не выйти из дискорда.
Может какой-нибудь Cefsharp сможет помочь сделать все проще?
309 1371055
>>71050
в смысле, что это стреляние по воробьям из пушки, когда дискорд - достаточно адекватная платформа, чтобы предоставить тебе нужное API (в случае, если кроме бота какое-то API все-таки есть)

если нет, то отписанный тобой процесс. как по мне, CefSharp не даст тебе особого преимущества. ибо тебе все те же процессы придется описывать и производить по такой же схеме. разве что ты будешь оперировать не запросами/ответами/хэдерами, а кнопочками в документе. но можешь начать с него, тебе виднее, как тебе делать удобнее )
310 1371239
>>71055
Короче, я сделал так, максимально васянским способом
Через CefSharp запускаю скрипт и через
var div = await chromeBrowser.EvaluateScriptAsync(textBox2.Text);
Запускаю команды javascript.
У меня пока не получилось сделать нормальный вход и переход по формам, выгрузку картинок и гифок.
Думаю, что можно на это забить и сделать имитацию нажатия клавиши и клика мыши.
311 1371422
кто-нибудь из местных поехавших юзал NServiceBus с транспортом в виде SqlServer (ор любая другая базочка)?
312 1371511
Мужики, у CancellationTokenSource в разных тредах может меняться WaitHandle?
313 1371598
>>71511
https://github.com/Microsoft/referencesource/blob/master/mscorlib/system/threading/CancellationTokenSource.cs#L177
я вот лично не вижу ничего, связанного с тредом. и для себя не очень понимаю, почему бы он менялся
314 1371626
>>66885 (OP)
Аноны, что делает эта строка:
int index = (int)Math.Min(Math.Pow(r.NextDouble(), 0.3) * count, count - 1);
Хочу на JS переписать метод, а там - вот это...
315 1371627
>>71626
Math.Min - выбор наименьшего из двух
Mat.Pow - возведение x в степень y
* - умножение
- - вычитание
NextDouble() - случайное значение числа с плавающей точкой от 0 до 1
316 1371720
вопрос. а вот если сделать struct с сылкой на class, то в struct же копируется ссылка?
317 1371731
318 1371743
>>71627
Понял.
319 1371788
>>71598

Разобрался, мой косяк, токены неявер подменялись из-за ошибки.
Господин 320 1371872
Привет шарписты, я С господин уже 2й год, мой первый ЯП и основной, полюбил его навсегда, но с ним я никому не нужен кроме себя:) Думаю поплнить ваши ряды и осесть в офисе, интересует Desktop Development, возможно мобильная разработка.

Стоит ли игра свечь в плане вакансий для джунов, сколько времени на перекат и вливание в это опп:(
321 1371876
>>71872
десктоп на донтетах - это как делфи. вакансии можно найти, конечно, но зачем
322 1371910
>>71876
Ок, я открыт для идей/светов, готов принять любые идеи/светы на рассмотрение, так как есть огромное желание присесть в офис и залезать к дяде в карман 1 раз в месяц, помимо пасивного дохода...
323 1371911
>>71910
веб-фулстекинг практически гарантирует тебе место в офисе
может быть что-то про юнити тебе тут расскажут
мобильная разработка, опять-таки. наверное, xamarin жив еще
324 1371914
>>71911
Короче никак не миновать бля*кий JS?
Что расскажешь про системного админа, есть мне там что ловить?
325 1371925
>>71914
ну почему никак. просто шансы тогда понижаются, к сожалению
про сисадминство не скажу
326 1371930
Антоны, я таки дорос до того, чтобы отправлять дискорду post запрос через Cefsharp.
Но мне в ответ приходит {"code": 0, "message": "400: Bad Request"}
И я не могу понять, в чем ошибка, как можно посмотреть исходящий запрос из приложения?
327 1371948
>>71911
Прочитал подробно, что такое full stack developer... это не мое, везде по немногу, но зато везде, а копни такого поглубже в чем либо, лопнет как блять пузырь мыльный! Я предпочитаю знать 1 но идеально, максимум 2 и то второй для дяди или удобства написания проекта.
328 1371950
>>71948
я тоже так думал сначала, но теперь понимаю тупиковость данного подхода. особенно в дотнете, где умирает легаси из 2010х, но все никак не сдохнет, а кроссплатформенного кора пока не много на рыночке
да и знать-то особо нечего. основы языка учатся за месяцы, надрачиваются за пару лет адекватных проектов. дальше расти все-равно в технологии, которые, нынче, привязываются не к одному языку, а к целой россыпи
329 1372007
>>71930
Ну все, короче, через cefsharp я смог отправить запрос, дискорд выдает токен, пробую перейти на другую страницу, а он мне снова требует войти. Чтобы такого не было мне нужно куки как-то сохранять или он меня по другой причине может слать нахуй?
330 1372028
>>71950
Значит больше уязвимостей:) От таких спецов, подуй на темную сторону:) ахахаах (Шутка)
Спасибо за общение и разъяснения, буду копать еще что нибудь, уверен найду, не может быть, чтобы Сишник был абсолюно не нужным;)
331 1372035
>>72007
хэдэры проанализируй и вопросы отпадут сами собой

>>72028
в эмбэддэд тебе что-ли не идется? программить контроллеры там, всю хуйню. оттуда можно в какой-нибудь верилог уехать, плисы конфигурячить (если есть желание)
332 1372196
>>72035
Там куча всяких скриптов.
Ладно, буду входить сам, на крайняк вроде можно куки сохранить и при новом запуске не потребуется аутентификация.
А так все работает, получаю информацию через javascript запросы, обрабатываю и шлю ботом в свою конфу, схороняя видео и получая уведомления, когда один пользователь пишет. Полагаю, что надо ещё отрубить отображение в chart после входа, чтобы ресурсы не тратились на отрисовку
Сейчас оставил работать на всю ночь, если не упадёт, то буду максимально доволен.
333 1372226
>>72196
это все с целью поиграться или есть практическая задача?
334 1372231
Сисярпач, неосилятор здесь. Думал многопоточка и асихнронщина это легко, но в итоге неистово соснул. Вообщем есть 3 потока (по-мимо основного), 1 из них кеширует данные для последующей обработки другими потокам. Вообщем мне нужно все это синхронизировать. Например посылаю я из основного потока команду стоп, нужно чтобы потоки в определенном порядке закончили свою работу, посылаю команду старт и они запускаются в нужном мне порядке. Как такое правильно реализовать? Чтобы избежать состояние гонки, обработки исключений, костылей с синхронизацией итд.
335 1372236
>>72231

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


>запускаются в нужном мне порядке


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

если это все значит, что в методах самих трэдов нужно паузить и возобновлять работу, то ManualResetEvent (или Auto~) тебе в помощь

а вообще идея выглядит костыльно изначально:

>1 из них кеширует данные для последующей обработки другими потокам

336 1372484
>>72236
Тоже думал про эвенты.
Почему костыль-то? Как правильно делать тогда?
337 1372486
>>72484
ну сложно сказать, имея представление только о части реализации задачи
я так понял, ты одним трэдом в loop-е асинхронно собираешь задачи, а другие потоки каким-то хуем асинхронно в том же (своем) loop-е их по очереди обрабатывают, чи шо?
338 1372544
>>72226
Практической задачи нет, я просто написал парсилку для дискорда.
С авторизацией таки соснул, нужно разбирать скрипты, а они огромные
339 1372545
>>72544
Надо бы разобраться с тем, как работать с куки, может быть, если я их сохраню и отправлю post, то дискорд меня пустит.
340 1372588
Анон в каком месте я лажанал?
Эта падла прописало мне исключение прямо в лицо, хоть намекните в какую сторону воевать.
341 1372590
>>72588
mapPic[x, y] у тебя точно в рамках границ обращается?
подсвечиваемая строка и реальное место исключение не всегда совпадают, зависит от всякого
342 1372629
Существуют ли какие-нибудь бесплатные средства для генерации отчетов в asp.net core?
343 1372640
>>72590
Эта беда вылезла, когда попытался инициализировать
Init()

private void Init()

MainBoard board = new MainBoard (panelGame);

До этого все работало, но мне нужно было вевести пролинейное поле разбитое на квадраты.

Прошу прощение за синтаксис пишу с планшета..
344 1372695
Дорогие шарписты может кто помочь? У меня есть главный класс Controller который порождает различные виды NotificationBox (error, message, info). Сами NotificationBox являются Form.

Controller порождает NotificationBox, через передачу в его конструктор enum, нужный тип Box (error, message, info)

После передачи в конструктор Controller в нем есть switch, который смотри какой enum передали и вызывает нужный метод
CreateMessageBox, CreateErrorBox

Как мне можно сократить? Ведь если я захочу сделать еще пару типов NotificationBox, мне нужно будет увеличить на n раз свич, добавить в enum нужное n кол-во имен NotificationBox, а в Controller нужно будет добавить еще пару методов создания NotificationBox.
345 1372702
>>72695
Я хочу сделать примерно так:

Каждый Form NotificationBox наследовать от INotification.

В самом INotification сделать abstract void метод Create.

В Controller создать глобальный экземпляр INotification. При вызове конструктора Controller switch апкастит нужный Form NotificationBox к глобальному INotification и в конце свитча я вызываю у INotification Create.
346 1372704
test
347 1372717
>>72695
увеличения количества кода ты не избежишь, твой вопрос про место, где это кодэ будет прибывать
можешь посмотреть в сторону Visitor, если тебе понравится
348 1372813
>>72588
Может ещё кто, чего подскажет? Параграф о массивах и исключениях в виде индексов выпадающих из массивов зачитал до дыр.
349 1372836
Антоны, в мск будет трудно устроиться Джуном без вышки? У меня только среднее специальное.
350 1372839
>>72836
Если что, то конкретное направление - asp.net mvc
351 1372883
>>72813
тебе бы посмотреть стек трейс исключения, а не искать помощи по скриншотам. или хотя бы показать его нам, если неосилятор
352 1372886
>>72588

>Анон в каком месте я лажанал?


В панельгейм.контрольс.адд
Скорее всего у тебя там массив с 0 элементов или что типа того
353 1372887
>>72886
так Add добавляет в конец ICollection. какая разница, сколько там было изначаьно элементов?
354 1372889
>>72887
Вот и показывай что такое этот контролс и как он аддит
356 1372924
>>72588
Раканыч, ты в цикле x вместо y используешь
357 1372927
Здравствуйте люди добрые, такой вопрос, если бы у вас был выбор, работать в C# за 40-50 в месяц или попытаться в веб макакинг на фрилансе, в надежде получать 70-100 (не знаю реальные ли это цифры, поправьте если что), что бы вы выбрали?
358 1372928
Ну или получать 40-50 в месяц и копить на переезд в ДС1, чтобы получать 120к?
359 1373041
>>70489
Бамп вопросу!
Если попытаться скачать файл с releases на github'e,
и сразу же приостановить загрузку,
а затем скопировать ссылку по которой скачивался файл - она же другая будет, более длинная, да ещё и с разными значениями!
360 1373046
>>72590
>>72883
>>72886
>>72887
Спасибо аноны.
Особенно этому господину
>>72924
361 1373059
>>72927

>в надежде получать

362 1373190
>>72702
вот это грамотное решение, зачастую всё нужно подгонять к интерфейсам, удобнее, чем свитч
363 1373700
В шапке написано про The C# Player's Guide, второе издание (RB Whitaker), а что насчет 3 издания? Читать можно?
364 1373752
>>73700
если ты впервые в .net, то можно читать все, что угодно
365 1373808
>>73700
Хз, я шапку скопировал с треда двухлетней давности, я ничего вообще не читал. Если ты ньюфаг, то нихуя тебе не надо читать - пройди любой курс по программированию, желательно там где язык со статической типизацией лично я проходил явараш, потом вообще без проблем перешел на сярп. Демоверсии на 10 уроков хватит для основ, а потом читай metanit.com.
366 1373999
>>73808

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


Двачаю. После явараша легко перешёл на шарп.
367 1374002
Поясните за дженерики. Нахуй они нужны, если любой обьект можно привести к objecr? Или это просто синтактический сахар над приведением object в другой, более сложный обьект?
369 1374040
>>74034
Как я понял, единственные проблемы - ебучие значимые типы, которые так же наследуются от ссылочного object.
Если б не они, то было бы достаточно сделать синт. сахар, который бы в псевдо-дженерике сохранял изначальный тип, кастовал его к object и при возврате кастовал бы обратно, но без тайпчека.
370 1374081
Блеа, почему у меня нет доступа убить процесс который я же создал, даже в том же потоке?

[CODE]
using (Process ffmpeg = new Process()) {
ffmpeg.StartInfo.FileName = "ffmpeg.exe";
ffmpeg.StartInfo.Arguments = ...
ffmpeg.StartInfo.UseShellExecute = false;
ffmpeg.StartInfo.RedirectStandardError = true;
ffmpeg.StartInfo.CreateNoWindow = true;
ffmpeg.Start();

while (!ffmpeg.StandardError.EndOfStream) {
string line = ffmpeg.StandardError.ReadLine();
Debug.WriteLine(line);
if (условие)
ffmpeg.Kill(); // тут исключение что нет доступа, охуеть!
}
}
[/CODE]
371 1374088
>>74081
Я конечно не эксперт, но может запусти от админа?
372 1374091
>>74040

>кастовал его к object и при возврате кастовал бы обратно


ну вот в джяве такая параша придумана. и что из этого получилось?
373 1374118
>>74091
А что они со значимыми типами делают?
374 1374152
>>74118
кастят в Object
375 1374155
>>74152
причем, если я правильно понял, вся эта мичпуха разворачивается еще на этапе статической компиляции в кодосгенерированные типы, у которых под капотом T наружу - это Object, T внутри - это скащенный в нужный тип экземпляр
возможно, я не прав, но это не делает дженерики джявы неуебищными
376 1374438
Аноны, в visual studio 2017 и 2019 в проекте с тестами при попытке запуска теста выскакивает ошибка cs5001 program doesn't contain static 'Main' method и т.д. Советы из гугла поменять версию языка не помогли. Прошу помощи у местных специалистов.
377 1374545
Сисярпач, я тупой, помоги.
Есть: Dictionary<int, Dictionary<float, int>>();
Нужно отсортировать вложенный словарь по ключу ( найти минимальный float ) и вернуть соответственно 2 инта которые соответствую минимальному float.
378 1374548
>>74545
С помощью лтнкью или алгоритмов?
379 1374550
>>74548
С помощью встроенных средств C#.
380 1374565
>>74438
тестовый проект это графическое приложение чтоль? сделать его Class Library
381 1374566
>>74550
нихуя не проверял, но вроде так:

var dict = new Dictionary<int, Dictionary<float, int>>();

var minDict = dict.OrderBy(t => t.Value.Min(x => x.Key));

Console.WriteLine($"{minDict.First().Key}, {minDict.First().Value.First().Value}");
382 1374590
>>74565
Всё, спасибо, оказалось, что в солюшене один из проектов был как консольный. А тестовый проект - проект типа Unit Test, библиотека
383 1374714
>>74566
Спасибо анончик.
384 1374866
Анончик, привет помогите пж разобраться что где хранится. Сейчас читаю вот этот курс https://metanit.com/sharp/tutorial/3.3.php. Вроде понятно, а вроде нет. Например: как вы знаете типы данных можно условно разделить на ссылочные и значимые. Значимые типы хранятся в стеке, а ссылочные сохраняют в стэк ссылку на адрес в куче и там хранят своё значение. Вроде понятно, но тут появляется слово static...(тревожная музыка, скример) В статьях не нашёл информации о том меняется тип памяти для статических переменных ссылочных типов. И ещё вопрос, попробую нагуглить, но всё же - можно ли в VS при отладке отобразить в состояние стэка и кучи, желательно в разных окнах. Спасибо, анон
385 1374877
>>74866

>меняется тип памяти


ссылочные типы хранят свои value type значения вместе со всем хламом в куче, этот нюанс разве метанит не пишет? для статических классов правила такие же, как и для динамических

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


если под стэком ты подразумеваешь стэк вызовов, то есть соответствующая вкладка в окнах. если тебя интересуют именно состояние памяти, то только профайлер памяти тебе в помощь (возможно, VS Enterprise дает какие-то ультимативные диагностические фичи, но я не уверен, что тебе покажут побайтово все состояние памяти. да и нахуй оно тебе)
386 1374895
>>74877

>ссылочные типы хранят свои value type значения вместе со всем хламом в куче, этот нюанс разве метанит не пишет? для статических классов правила такие же, как и для динамических



Я пропустил слово) Хотел просить "Меняется ли тип памяти?"
т.е. string ""; - ссылка
static string ""; - то же будет ссылкой или нет, раз переменная имеет общее значение для всех объектов класса...хотя это же объект, то получается что в любом случае он будет ссылкой. Как то сам на свой вопрос ответил. Всё равно спасибо)

>да и нахуй оно тебе


Я люблю в пошаговом режиме смотреть как меняются ноли и единицы в соответствии с логикой, которую я запиливаю в код...Буга-га)
387 1374909
>>74895

>раз переменная имеет общее значение для всех объектов класса


ты уверен, что правильно понял суть статики?
IMG20190403144504589.jpg36 Кб, 604x458
388 1374912
Сап, нужна помощь. Я ньюфажина, и нужно придумать лайт версию программы на сишарпе консольной, с использованием:
1. Наследования
2. Полиморфизма
3. Интерфейсов
4. Стандартных интерфейсов
5. Делегатов

Просто нужны идеи программ, чтобы я сделал, ибо я не знаю какие могут быть программы с использованием этих функций, но посложнее чем к примеру использования наследования класса как шаблон. Приходит в голову только математическая программа с двумя видами решения, но не знаю какую придумать.
389 1374914
>>74912
придумай двач
390 1374916
>>74914
Смешно, но нет, спасибо.
391 1374922
>>74912
Рпг игрульку, где ты выбираешь класс.
да, для сонсоли
392 1374923
>>74909

>ты уверен, что правильно понял суть статики?


Хороший вопрос) К статической переменной можно обращаться не создавая объект класса. Это я понял) Ещё я понял что значение статической переменной одно на все объекты класса.
393 1374924
>>74923
Переменные как пример
394 1374925
>>74922
А на остальное? Если можно
395 1374926
>>74924
Если говорить о классе, то хз - для статического класса, получается нет смысла создавать объекты
396 1374928
>>74912
Тебе для практики?
https://www.codewars.com - может тут найдешь что-нибудь
397 1374959
>>74928
Да, для практики, чтобы попробовать сделать что-то по этим темам, ну и чтобы сдать работы в институт завтра.

Мне вот интересно, но я когда приношу, говорят что слабо, и что я могу сильнее программу принести, вот и хотел попросить идей подкинуть.
398 1375049
>>74923

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


на какие объекты, какого класса? инстанс статического класса нельзя создать, а статические члены - это члены типа, а не экземпляра
399 1375118
LINQ БОГИ ТУТ?
тащемта в чем проблема?
хочу вытащить из studing_period значения больше 4, выдаёт такую хрень.
Где ошибся? Как понять в чем ошибка?
image.png1,2 Мб, 720x1280
400 1375148
Сколько стоит денег и времени написать С# сервер чтоб он принимал стрим данных с нескольких бирж (трейды, ордербуки), сохранял их в базу, а тем кто залогинен мог отдавать данные как с БД так и пришедшие со стрима. В общем суть затеи иметь возможность смотреть графики цен реалтайм/историю. Также нужен простой аккаунт менеджмент и чат. Какие могут быть подводные камни при найме?
401 1375161
LINQ БОГИ ТУТ? (2)
Есть массив строк в котором записаны цифры. Как в условие where можно вставить int.Parse точнее как стучаться к элементам lines в данном контексте?
Надо только так.

public static int[] ParseNumbers(IEnumerable<string> lines)
{
return lines
.Where(???)

>>75118

>в чем ошибка


>выдаёт такую хрень


Ты стучишся конкретно в перечисление и тебе возвращает тип при таком стучании очевидно. Ошибка в select n, тебе наверное нужно select n.studing_period.
402 1375162
>>75148
Тебе обязательно на .NET?
403 1375186
>>75161
.where(n => int.Parse(n) > 3)
404 1375222
Объясните пожалуйста, почему usually you register for events in OnEnable and unregister in OnDisable?
как это вообще возможно, если OnEnable вызывается когда объект становится активным?

Вот код, если можно, объясните вообще что в нем происходит, или может у меня с английским проблемы?
void OnEnable()
{
DamagePlayerEvent.OnDamagePlayer += DecrementPlayerHealth(метод уменьшает хп);
}

void OnDisable()
{
DamagePlayerEvent.OnDamagePlayer -= DecrementPlayerHealth;
}
405 1375225
>>75162
В случае с .NET смогу сам ковырнуть, ну а вообще-то похуй конечно. Для начала хочу понять сколько требуется деняк.
406 1375229
Нихуя, некоторое время не заходил, уже почти до второго переката успели доехать. Тред ожил?
407 1375230
>>75229
А с мобильного инета - бан тор, впн. Что за хунта? Кто сломал?
408 1375231
>>75225
Вот я бы допустим писал на Скале. По твоему описанию может потребоваться от недели до месяца времени. Вот и прикидывай исходя из рыночных зарплат + надбавка за разовую работу.
Но это только бэкенд. И это Скала.
409 1375236
Аноны, есть кто с дс2? Такое ощущение что на с# не нужны погромисты. Откликаюсь на вакансии, сделал пару тестовых, одно из них на asp.net, хотя его даже не начинал еще изучать, только мельком глянул доки. Работодатель начал морозиться по поводу з/п. Даже на самую ссаную стажировку отказ. Они там охуели?
410 1375240
>>75231
Время не критично, главное результат, поскролил апворк, ничего не понял, расброс цен большой как и почасовая оплата. Все еще не имею представления сколько должен стоить в конечном итоге продукт.
411 1375252
>>75161
помогло, сяп няша
412 1375276
>>75148
если апи площадок имеется, но недолго
а цена зависит от деталей
ты пытаешься во фриланс и спрашиваешь, сколько тебе заломить, лол?
413 1375277
>>75276
сука, опять трендель не обновился
414 1375363
>>75240
$2-5k
415 1375411
>>74922

Так вроде бы из соснолей только на Xbox есть шарпей и дотнет, или нет?
416 1375441
Как поменять в richtextboxe каретку на _ (нитжнее подчеркивание)?
417 1375538
LINQ БОГИ ТУТ?
Вообщем в кнопке есть код, в котором лежат 6 экземпляров классов, со всякой мутью в конструкторах.
Хочу в другой кнопке делать запросы из этих экземпляров классов, это можно как то реализовать, без ctrl+c ctrl+v в код другой кнопки?
418 1375561
>>75538
сохрани эти экземпляры в виде полей формы и юзай их из другого хэндлера
419 1375630
LINQ БОГИ ТУТ? (2)

>найти самое длинное слово из этого списка, а из всех самых длинных — лексикографически первое слово в одно выражение кортежами и linq.


>Не используйте методы сортировки


Я написал пока что:
return words
.Max(n => Tuple.Create(n.Length,n));
И че дальше, с чем мне его сравнить если я работаю со строкой или как задать нормальное условие?
420 1375631
Алсо сам список это
IEnumerable<string> words
>>75630
421 1375663

>Я не умею читать


Кто-то знает годные по Xamarin'у и в частности xaml'y гайд-видео/туториалы/курсы на русеке?
422 1375695
Что делает с массивом строк вот эта запись?
.GroupBy(word => word)?
423 1375767
Нужно срочно решить задание на C# с помощью LINQ, не пойму каким образом разбить жильцов на подъезды с этажами и как вообще правильно решить. Огромное спасибо заранее.

Исходная последовательность содержит сведения о задолжниках по оплате коммунальных услуг, живущих в 144-квартирном 9-этажном доме. Каждый элемент последовательности включает следующие поля: <Фамилия> <Номер квартиры> <Задолженность> Задолженность указывается в виде дробного числа (целая часть — рубли, дробная часть — копейки). В каждом подъезде на каждом этаже располагаются по 4 квартиры. Для каждого из 9 этажей дома вывести сведения о задолжниках, живущих на этом этаже: число задолжников, номер этажа, суммарная задолженность для жильцов этого этажа (выводится с двумя дробными знаками). Сведения о каждом этаже выводить на отдельной строке и упорядочивать по возрастанию числа задолжников, а для совпадающих чисел — по возрастанию этажа. Если на каком-либо этаже задолжники отсутствуют, то данные об этом этаже не выводить.
424 1375791
>>75767
Это решается за пару минут и без всяких LINQ, а с LINQ выглядит как задача для школьников.
425 1375798
>>72588
1. Всю дополнительную инициализацию формы лучше пихать в ивент хэндлер OnLoad. Конструктор может отработать несколько раз, а ивент OnLoad в подавляющем большинстве дергается лишь при непосредственной загрузке формы.
2. Имена классов - только в КэмэлКейсе.
3. Переведи енум на английский, дай значениям явные номера (0,1,2) и заведи аттрибут с дерганием его имени, куда ты и впишешь русское название. Затем напиши метод-расширение, которое дёргает указанное в аттрибуте имя енума.
426 1375803
>>75695
Группирует их по ключу. В твоем случае ключами будет строка word, а значениями коллекция из строки word (сколько их там будет зависит от того сколько строк word в оригинальной коллекции). То есть ты получишь коллекцию уникальных строк и сколько раз эти строки встречаются в оригинальной коллекции.
{ жопа, пися, жопа, пися, жопа} -> { жопа => { жопа, жопа, жопа}, пися => { пися, пися } }

>>75630
.groupby(n => n) - если слова повторяются (нужны только уникальные)
.groupby(n => n.lenght).max() - список всех самых длинных слов (одной наибольшей длины)
.min() - вернёт тебе первое слово по алфавиту (или чему оно там будет, т.к. сравнение через IComparable)

>>75767

>Нужно срочно решить задание на C#


У тебя деньги есть?
427 1375841
>>75803

> { жопа, пися, жопа, пися, жопа} -> { жопа => { жопа, жопа, жопа}, пися => { пися, пися } }


Спасибо, с этого надо было и начинать!
428 1375862
>>66885 (OP)
Господа, разъяснит кто-нибудь, как все-таки проводить интеграционные тесты? не надо затестить слой Бизнес Логики. На примере возьмем 2 функции: добавление пользователя и просмотр списка пользователей.
Я делаю тест Add(), в нем формирую сущность юзера (корректную, валидацию запилил уже юнит-тестами) и передаю в существующий слой Data Access Layer (Сейчас это у меня фейк, построенный на коллекции).
Так вот, потом я должен вызвать метод GetAll() или GetById(), чтобы проверить наличие юзера в базе и проверить его идентичность с тем, которого добавил или еще что-то?
У меня сейчас в классе создание объектов логик идет через обращение к свойству Специального Класса, в котором оно реализовано как синглтон. Т.е. в разных тестах я по сути буду работать с одним и тем же классом и с одной и той же коллекцией в ДАЛ слое.
Тут и начинаются непонятки.
1) Часть тестов валилась пока не запилил метод Cleanup(), который после каждого теста удаляет из коллекции все элементы. Но при тесте другого класса логики 1 тест валится при клинапе, а другой наоборот без него.
2) Один ментор мне сказал, что обращение к статик свойству через класс, это норма. Другой ментор сказал, что я тогда начинаю от него зависеть и надо вообще нарямую в тестовом классе создавать объекты и БЛ, и ДАЛ.

Правильно ли я начал вообще, и как лучше? Или почитать дадите где-нибудь, а то все размыто описывают или на MVC примеры приводят. У меня пока обычная 3х-слойка.
Заранее благодарю.
429 1375883
>>75561
если честно я не оч понял(
430 1375890
>>75883
Я не он, но думаю

public class TvoyaKnopka {
public NuzhniyClass {get; set;} =
DrugayaKnopka.ExemplyarNuzhnogoClassa;
...
}

В полях/свойствах своей кнопке ссылаешься на поля, которые содержат нужные классы в другой кнопке, если они, конечно, не private.
image.png18 Кб, 493x245
431 1375932
>>75890
Я правильно тебя понял? А то у меня ничего не сработало(
432 1375941
>>75932
Ясен пень, ты забыл имя к свойству припилить>>75932
Сам-то видишь, что написал? Свойство в методе объявляешь, еще и имя забыл написать. И завязывай с линк синтаксисом, сейчас все методами расширения пишут. И почитай про стрингбилдер, чтобы хуйню со строками эту не делать.
433 1375957
>>75862
интеграционный тест - это ты сначала делаешь POST в контроллер на добавление юзеров, а потом в GET его наблюдаешь. создавай хоть напрямую, хоть на кривую. если у тебя валятся юнит-тесты от каждого чиха, то ты что-то делаешь не так
434 1375962
>>75957
Чувак, у меня обычная трехслойка. Никаких контроллеров и запросов у меня нет и в душе не ебу пока, что это.
Валились не юнит, а другие интеграционные. Оказалось, когда я их разом запускаю, добавление напрмер происходит в одну статик коллекцию в фейковом ДАЛе и юзеры не проходили проверку по уникальности.
Теперь думаю, создавать ли каждый раз нового юзера с другими параметрами, или после каждого теста, удалять всех, чтобы одного и того же можно было добавлять.
435 1375981
>>75941

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


Хорошо учту. А линкю потому что требование лабораторной
436 1376021
>>75962

>трехслойка


обращаешься в ту часть приложения, что у тебя вывернута наружу. контроллер, сервис или хуй пойми что у тебя
437 1376026
>>75803

>У тебя деньги есть?


Господи, какие же русские пидорасы.

>английский форум типо stackoverflow


- Ребята, вот такая проблема есть, помогите пожалуйста
- Да конечно fam, вот тебе решение, вот тебе совет, удачи в твоих начинаниях buddy:3

>русский форум


- Ребята, вот такая проблема есть, помогите пожалуйста
- ДЕНЬГИ ЕСТЬ А??? А ЕСЛИ НАЙДУ????? СОБАКА ТЫ КУДА ЛЕЗЕШЬ БЛЯДЬ ТУТ ВСЕ ЗАБИТО А НУ БЫСТРО БЛЯДЬ БРОСИЛ ВСЕМ ЭТИМ ЗАНИМАТЬСЯ ТЫ ЧЕ СУКА НА МОЮ РАБОТУ ПОЗЫРИЛСЯ МРАЗЬ Я ТЕБЯ БЛЯДЬ ЩАС ПРИКОНЧУ ГОВОРИ АДРЕС СЫН СОБАКИ
438 1376030
>>76026
Проходил мимо, хотел помочь, но с таким отношением точно нет. Удачи.
image.png34 Кб, 429x423
439 1376100
>>75276
Нет, я начнающй трейдор, и пытаюсь понять сколько нужно готовить деняк. Сам ебашу фронтенд для своих нужд на юните енжине, но думаю а не сделать ли норм сервак. 1 биток я навреное не против заплатить, как только появится лишний, больше хз, не могу себе повзолить. В идеале найти человека которому трейдинг самому интересен, так как у меня есть еще и бесценные знания, мы можем надолго скопроперироваться. Я не пидор если что.
440 1376122
>>76100
я половины слов не знаю, но выглядит как хуйня, кроме реалтаймных вещей (те тоже хуйня, но главное не попасть на дебила, который наворотит LINQ или схожей тяжелой залупы)
считай как немногим сложные проджект, чем более-менее сносная дипломная работа (мнение нулячего фрилансера)
441 1376129
>>76122
Что не так с линком?
442 1376162
>>76129
он медленный. особенно в виде цепочки линка и для большого количества данных. особенно, если есть альтернатива в виде грамотного запроса в базочку
443 1376264
>>66885 (OP)
А какие вообще есть живые альтернативы asp.net core? Nancy кто-нибудь тыкал? Понятно, что asp.net - энтерпрайзный стандарт, но для маленьких любительских проектов хотелось бы что-то полегче. Подскажите что-нибудь пж.
sage 444 1376373
>>76026

>Господи, какие же русские пидорасы.



Свiнота, возвращайся в свой /ukr/.
445 1376422
Есть советы по wrapping внешних библиотек, написанных на крестах?
446 1376423
Акромя ЛИНКАа, Шершавый проебывает Жабе.
447 1376461
>>76264
что значит полегче?
ServiceStack дает возможность RESTful сервис построить на базе себя, но не сказать, что он прям какой-то легковесный
448 1376511
>>76461
Полегче - именно что более легковесный и не перегруженный таким количеством нюансов. По аналогии с python: если asp.net это django, то что в дотнете bottle?
449 1376557
>>76511
хз, не питонист
все нюансы работают неплохо по дефолту из-под коробки асп.нетом. напиши свою логику в контроллерах и заюзай кестрел (это тебе не иис, который и правда целый мир). самый легкий и эффективный старт веб-приложухи на коре
450 1376714
>>75236
Ясно, понятно
451 1376721
Есть некоторое количество свойств, какой вариант каноничен?
field1;
field2;
Property1;
Property2;

или

field1;
Property1;
field2;
Property2;
452 1376792
Антоны, как и чем применяются фильтры в Asp.Net MVC?
В чем принципиальная разница между ними и аттрибутами типа [HTTPPost]
453 1376798
Как там в формах пилить передвижение? Нужно передвиджение по нажатию на кнопку, чё за эту ересь отвечает?
454 1376809
Нужно исчезновение кнопок после наезда главной в координаты любой кнопки (по тупому, но написал). Аноны хелпуйте!
455 1376836
>>76792
авторизация/аутентифиация, эррор-хэндлинг, логгирование
это по дефолту, как правило

>>76721
филды
ивэнты
проперти
конструкторы
методы

приватные
протектед
интернал
публичные
456 1376900
Что думаете о F#?
457 1377030
Здравствуйте, возникло несколько вопросов, помогите пожалуйста разобраться.
1. - Память для статических данных (классы, методы и т.д.) выделяется также как и для динамических (ссылка в стеке на ячейку в "куче")? Можно ли использовать статический класс без создания объекта? Когда и где выделяется для него память? Если мы используем метод из статического класса, то память выделяется для всего класса или только для метода?
2. - Чем статический класс отличается от структуры, кроме того что класс является ссылочным типом?
458 1377058
>>77030
у тебя каша в голове шо пиздец, попробуй троелсена еще накатить разок
459 1377124
>>77058
А не рискованно троелсена с метанитом смешивать?
460 1377126
>>77124
если после троелсена полезешь на метанит, то, конечно, рискованно
461 1377175
Тут один умный товарищ проводит семинар https://m.habr.com/ru/company/clrium/blog/446510/ посвещённый памяти clr. Вопрос к понимающим, на сколько это будет полезно? Имею в виду, это для общего развития и понимания, или применимо ирл?

Сам вкатывающийся в asp.net ньюфаг.
462 1377177
>>77175
тонкости CLR - эти слишком сложна и нинужна для новичков. нинужна, в большинстве случаев в принципе, и для старичков. но, если будут рассказывать доступно и о насущных вещах, то послушай, хули тут?
463 1377182
>>77177
Вот я и думаю, хули тут? Но ведь я не профессионал, может это собрание для синьоров, а я припрусь и не пойму ничего?
Ну и меня волнует вопрос, это типа как на плюсах в нете можно памятью управлять? Или там о другом?
464 1377187
>>77182
ну управление памятью есть какое-никакое в дотнетах, но очень кастрированное, по сравнению с плюсами. есть сверхвырвиглазные способы, но они, наверное, чисто 4fun: https://habr.com/ru/post/423657/

да и в статье написано, о чем речь будет идти:

>Выделение памяти: все стадии этого интереснейшего процесса


>Все фазы работы GC (по 45-50-минутному докладу на фазу. Столько про GC не дадут говорить ни на одной конференции).


>Мы также поговорим про System.IO.Pipelines. Наталья Цвилих, моя коллега, расскажет про этот интерфейс много интересного.


>Я также затрону вопрос CLR MD. В прошлом CLRium я сделал отличную вводную. Теперь — поговорим подробно.


>И многое другое.


ни слова об управлении. а под многим другим, небось, какие-нибудь профилирования, диагностики и что-нибудь этакое поверхностно
465 1377197
Вопрос от нуба - мне нужно использовать код, написанный на крестах - http://viennacl.sourceforge.net/ - в шарп-проекте.
Одно дело сделать DLL самому, другое дело, что я не шарю, как сделать DLL из чужого C++ кода, тем более, когда там большое количество зависимостей.
466 1377511
>>76900
F# это мировое будущее, активнейше развивающийся передовой функциональный язык.
Мало того, что он мультипарадигмальный так ещё и императивный и объектно-ориентированный.
Вот лучший обзор этого всего: https://dungpa.github.io/fsharp-cheatsheet/
467 1377512
>>77511
Алсо, как и все другие языки программирования - он позволяет ПРОГРАММИРОВАТЬ БЕЗОШИБОЧНОСТЬ, лол.
468 1377526
>>77511

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


охуеть высер
469 1377585
>>77512
Что?
image.png84 Кб, 615x341
470 1377597
LINQ БОГИ ТУТ?
Ласт вопрос по этому линку отвечаю.
Вообщем из массивов экземпляров класса, мне вот то что выделил красным, надо сделать из этого отдельный массив.
В ручную создать новый с такими же данными не проканает
471 1377615
>>77597
.Select(n => n.3) - Селектор в котором ты указываешь куда там идут твои цифры
.ToArray() - Получаешь массив
472 1377660
>>77615
Спасибо няша ^_^
473 1377663
>>77660
Спасибо хуй не пососёт.
474 1377700
Подскажите, насколько важно знать алгоритмы - по типу жадных алгоритмов и переборов графа при приеме на работу?
Я сейчас немного фризы ловлю на них - вроде как суть понимаю, а когда до реализации доходит жидко пукнув обмякаю.
На галере в моем мухосранске на сайте в вопросах при приеме только по языку и по большей части ООП.
475 1377745
>>77700
относительно важно
хотя бы понимать, зачем оно что-то делает и описать словами. если предложат реализовать, то тут сыглы
476 1377800
>>77663
Я пососу.
477 1377825
Да как блин текст в консоли выровнять?
Пишу допустим:
Console.WriteLine($"short:\t{1}\nlooooooooooooong:\t{2}");

И в итоге выходит нихуя не ровно, хотя \t везде есть.
478 1377914
>>77745
Ну я вроде как понимаю что да нахуя.

> то тут сыглы


То тут что?
Xvx8trwcGh8.jpg275 Кб, 1118x1080
480 1377967
Анон мне по секрету достался древний двиг восьмибитной игры, полностью написанный на C#, ну а так как я ни разу не кодер, а скорее гавноартист, то решил моддить игру, добавить пару механик и апнуть графику этого убожества, перерисовать спрайты, задники, так вот дошёл до того момента когда нужно было выводить спрайты на экран и обосрался, узнав, что на C# а в частности в вижуал студии, не отображаются прозрачные картинки. Может кто сталкивался с подобным?
Перекатиться на юнити или годот прошу не советовать.
481 1377972
>>77967

>восьмибитная игра


>на сишарпе


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


Ты там совсем ебобо?
482 1377978
>>76836
Я знаю какие фильтры существуют, но чем они вызываются?
Активатором действий, фабрикой контроллеров?
483 1377986
>>77972
Ну да, совсем, так решение есть?
484 1377997
>>77986
Открыть спрайт в просмотрщике спрайтов, а не в вижуал студии.
485 1378004
>>77997
Что? И как это мне поможет выводить прозрачные спрайты в моей прогге?

Некий анон посоветовал мне такой способ, но он ни разу не работает.
486 1378005
>>78004
Ты сказал, что проблема в вижуал студии, но при этом, кидаешь код. Ты ебобо вдвойне?
654.png7 Кб, 889x147
487 1378019
Двач чому тут 7?
Первая итерация - т - сходятся.
н != а => добавляем а получается студенат и так далее и походу удаляем потом (или не потом) символы. В 7 действий анриал уложиться.
Или я что-то не понял?
https://ulearn.me/Course/BasicProgramming2/Rasstoyanie_Levenshteyna_48a29bee-2f02-42af-ad1f-df15fa48515b
488 1378037
>>78019
Я в 6 уложился:
1. студент - первая т =
2. судент - у =
3. сдент + о =
4. содент + л =
5. солдент - е =
6. солднт (н - > а) =
солдат
489 1378039
>>78037
А я в три:
студент + мивина + гречка + промытые мозги = солдат.
490 1378045
>>78037
Так ты не с конца потом начал идти, а так чтобы это было логично.
491 1378047
>>78037
>>78045
И плюс, редактировать нельзя.
492 1378105
>>78045
>>78047
Загуглил "редакторское расстояние", в итоге нашёл это:
https://ru.wikipedia.org/wiki/Расстояние_Левенштейна
Цитата:

>Расстояние Левенштейна (редакционное расстояние, дистанция редактирования) —


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


>удаления одного символа и


>замены одного символа на другой,


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


То есть, заменять символы - можно, одной операцией.
493 1378108
>>78105
С заменами вообще в 4 операции получилось, раз уж речь о минимальном количестве операций:
1. студент + (т - > о) =
2. coудент + (y - > л) =
3. солдент + (e - > a) =
4. солдант - н = солдат
494 1378111
>>78047
Ай, не обратил внимание на условие на пике.
Тогда замену в этих примерах: >>78037 >>78108
рассмотри как две операции - удаление одного символа и добавление другого.
И получишь на выходе - эту свою 7-ку.
495 1378116
>>78019

>Двач чому тут 7?


сТУдЕНт -> сОЛдАт - 7 букв, 7 шагов. 4 удалить, 3 добавить.

>>77967
В редакторе ты прозрачность и не увидишь. В рантайме прозрачность только к паренту. Если хочешь чтобы твои боксы друг к другу были прозрачны, то отрисовывай их сам в .Paint (событии, а не редакторе) холста, например с помощью DrawImageUnscaled.
496 1378161
>>78116
В редакторе ты прозрачность и не увидишь. В рантайме прозрачность только к паренту. Если хочешь чтобы твои боксы друг к другу были прозрачны, то отрисовывай их сам в .Paint (событии, а не редакторе) холста, например с помощью DrawImageUnscaled.

Хоспади хоть один адекватный анон. Спасибо, теперь буду знать в какую сторону воевать.
497 1378250
Привет шарписты, есть вопрос. Я ноунейм живу в мухосранске иркутская область. Изучаю шарп уже где-то год. Выучил основу, написал пару программ на wpf и winforms делал только на те темы, которые нравились и понимал. Перехожу на ASP.NET.
Паттерны MVC знаю, ибо работал с wpf и winforms, умею работать в Visual Studio.
Знаю как заливать и толкать проекты на гит, так же создавать и смержить ветку в мастер.
Знаю основы linq, получал запросы с бд.
Может скоро остановлюсь и начну js учить или entity framework, пока не решил.
Так вот, сам вопрос. Как мне прорваться в ближайшие большие города Красноярск, Новосибирск и найти работу? Хотел бы узнать как принимают на работу, как устроиться, что еще нужно подучить.
Спасибо
498 1378295
>>78250
Всмысле как? Как и все, отрываешь жопу от дивана и ищешь работу. Пиздуешь по вакансиям и собеседованиям. Единственно советую подучить команды гита, ибо когда я в феврале проходил собеседования для меня стало сюрпризом что я могу форкать и комитить А HR ЭТОМУ УДИВЛЯЕТСЯ! Хотя базовые скилы казалось бы. Видимо на рашкорынке вообще остались только JS дебилы.
499 1378297
>>78295
мы тоже умеем использовать гит
мимо джс дебил вкатывальщик
500 1378299
>>78295
Понятно, что нужно стучать в каждую дверь и проситься. Я живу в мухосранске, у меня просто нет вакансий шарписта или .net, я хочу узнать как перебраться в другой город.
501 1378300
>>78297

>мы тоже умеем использовать гит


Вопрос прямо с собеседования.
"Закомить в отдельную ветку корпоративного битбакета."
502 1378301
>>78299
Чел, я как-то смог найти в своём 50к мухосранске вакансию.
503 1378302
>>78300

>битбакета


буэ
504 1378303
>>78301
я серьезно говорю. У нас тут лес, электрика и все. Софт или сайты никто не делает, максимум их заказывают из братской компании.
505 1378306
>>78302
Ну вот видишь как мы быстро с тобой разобрались. А в энтэрпрайзе вот так вот, потому-что сейчас везде ДЖИРА и КАНБАН с АГИЛА, а битбакет в эту ебанину встроен.
507 1380597
test
Тред утонул или удален.
Это копия, сохраненная 13 мая 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски