Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии. Литература вторым постом 1. Ресурсы:- http://stackoverflow.com/questions/tagged/c%23- http://www.tutorialspoint.com/csharp/- http://professorweb.ru- http://net-informations.com- http://habrahabr.ru/hub/csharp/ 2. Онлайн-компиляторы:- https://dotnetfiddle.net/ - возможно лучший вариант. Встроено немного убогое, но все-таки автодополнение и проверка синтаксиса.- http://ideone.com/- http://csharppad.com/- http://www.tutorialspoint.com/compile_csharp_online.php- http://rextester.com/l/csharp_online_compiler 3. WinForms или WPF?Зависит от задачи. Для небольших проектов, скорее всего, будет достаточно винформочек. В случае, если разрабатываемое приложение достаточно серьёзное, то возможно его стоит писать с использованием WPF. WPF очень хорошо работает с паттерном MVVM ( https://ru.wikipedia.org/wiki/Model-View-ViewModel ), и позволяет пилить очень кастомизированные интерфейсы с помощью XAML, что в случае WinForms, делать намного сложнее. 4. Мне тут знакомый_нейм сказал, что C# умирает, это правда? Может не стоит его учить?Неправда. C# довольно активно развивается, недавно вышел новый компилятор, шестая версия шарпа, и уже активно разработывается седьмая. Весь дотнет понемногу становится опенсорсным, а ASP.NET становится независимым от платформы. В некотором смысле понемногу вымирают десктопные приложения с развитием веб-технологий, но в том же энтерпрайзе он еще очень даже востребован. 5. Какую ИДЕ выбрать?Для Windows самым очевидным вариантом будет Visual Studio (https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx). Студия распространяется в двух редакциях: бесплатная коммьюнити-версия и платный энтерпрейс эдишн. В большинстве случае будет достаточно Community-версии: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополненийДля мака и никсов самый юзабельный вариант - MonoDevelop ( http://www.monodevelop.com/download/ ).Для vim можно использовать OmniSharp ( https://github.com/OmniSharp/omnisharp-vim ).Кросплатформенный полуредактор/полуIDE VS Code ( https://www.visualstudio.com/en-us/products/code-vs.aspx )Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.Кроме того, в данный момент JetBrains активно пилит свою IDE для шарпа (Project Rider), вероятно в ближайшее время станут доступны первые EAP. IDE заявлена как кросплатформенная, со всем решарпер-функционалом, поддержкой отладки, моно и .net core.SharpDevelop - еще одна IDE для C#, отличается малым размером (около 20мб) и опциональной портабельностью, при этом имея дизайнер WinForms и WPF, а также интеграцию с FxCop, StyleCop и прочими ништяками. Если хочется что-то по быстрому набросать, а выкачивать гигабйты нет желания, то возможно SharpDevelop будет лучшим вариантом. 6. С# для мобильной разработкиЕсли нужны инструменты для разработке под мобилы, ставь сразу VS2015 и при установке выбирай все нужные компоненты.Больше информации тут - https://msdn.microsoft.com/ru-ru/library/dn771552.aspxИз актуальной литературы- Xamarin Mobile Application Development- Xamarin Essentials 7. Дополнительные инструменты для разработки на C#LINQPad - сорт оф REPL, с возможностью быстрого подключения к БД и удобной визуализацией данныхdnSpy - декомпилятор, малоизвестный форк ILSpy, где реализована возможность модификации IL-кода прямо в EXE и DLL файлах, отладка IL-кода и много других фич для reverse engineering'а. Плюс няшные темы как в студииdotPeek - бесплатный декомпилятор от JetBrainsscriptcs - для запуска C# кода как скриптов, возможность использовать как REPL 8. Расширения для студииReSharper - одно из известнейших. Рефакторинги, умный автокомплит, настраиваемый стиль кода. Платный, но можно стянуть с торрентовSupercharger - показывает "карту" с классами, методами и всем остальным сбоку от кода с возможностью прыгать по нимIndent Guides - показывает вертикальные линии на каждом уровне отступов.Format document on Save - форматирует код каждый раз при сохранении документаCode alignment - Выравнивает код по указанным символам. Удобно, например, при инициализации словарей или в перечислениях Обзор Roslyn: https://github.com/dotnet/roslyn/wiki/Roslyn%20OverviewНовые возможности C# 6.0: https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6 ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕ Код этой шапки: http://pastebin.com/cKKXYArs Прошлый тред тонет здесь: https://2ch.hk/pr/res/1466365.html#1479451
>>1482321Ты хочешь меня к чему-то подвести? Если да, то спроси прямо, а то беседа становится томной.>где бы ты применил Liskov substitutionВезде, о нем всегда надо помнить. Создавая иерархию надо посмотреть соответствуют ли классы в ней лсп.
>>1482351 (OP)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) - разработка на шарпе под UnityIntroduction 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
>>1482355Начнём, няшки.Будут предложения по шапке, пишите ответов в этот пост. Алсо не забываем про нашего милашку феликса.
Планирую вкатиться в сишарп, есть небольшой опыт html!/css, немного потрогал жабу. С чего начать изучение? шапку читал но не вижу там с чего конкретно начатт новчику
>>1482377так вот же, анон, для нас сделали пикрил, почему его ВСЕ игнорируют и делают вид, что его не существует? Или это тролль пикрил для новичков, чтобы их отпугнуть? Хочу слева на право осилить разделы, кто-нибудь уже делал это? Поясните, короче, за пикрил, знающие аноны.
Сап на связи 15 лет балбес(доска не 18+ вроде).Есть знания Xamarin, wpf, rest api, ООП, async/await и прочего, в целом на джунапочти на мидла сойду, за последние 2 месяца сделал 5 проектов в разных областях(даже в юнити, кек), которые естественно показываю в резюме.Пытался в hh, фрилансерство, но НИХУЯ. не берут школоту. думаю это из-за того, что выставлял график работы 4 часа в день, но а че и так много часов с учебой. Где искать РАБоту? Мне даже не для зарплаты, а чтобы набрать еще больше опыта, добавить проекты в портфолио и прокачаться до сеньора-помидора.
>>1482392Подскочи канбанчиком в стартапчик или на хакатончик. А вообще на мидла не подходишь, судя по всему.
>>1482398на хатаконах был, на одном даже команда победила. ничего не дает. хотя может не повезло>Подскочи канбанчиком в стартапчиктут спасибо, не думал даже)>А вообще на мидла не подходишь, судя по всему.вообще судил по вопросам с сайта metanit на джуна/мидла, а как по другому определить мидл или джун?
>>1482392У меня друг, 14 лет, на удалёнке нашёл работу, вакансия была в телеге. После школы <4 часов кодит и норм. Но про возраст он не говорил на собесе.Короче, ищи неофициальную работу
>>1482415Блин, боюсь что напишите тим лиду, что школьник в проекте, а потом друга выкинут из проекта. Рисковать вообще не хочу, а тем более подводить друга, так что сорян
анончики ,помогите, меня взяли на работу дот нет разрабом, а я вообще не ебу c#, времени с нуля учить, надо уже сейчас что-то делать. посоветуйте курс где можно очень быстро выучить с# желательно за вечер, или что можно еще сделать? это реально найти надежного человека который не кинет, который бы делал всю работу за меня, а я бы просто сидел в офисе и делал вид что это я работаю?
Планирую вкатиться в сишарп, есть небольшой опыт html!/css, немного потрогал жабу. С чего начать изучение? шапку читал но не вижу там с чего конкретно начать новчику
>>1482440Какого хуя меня со знаниями не берут на работу, а кого-то кто не прогал на языке берут? Что за хуйня блять
>>1482459давай тогда ты будешь дделать задания которые я тебе буду кидать, а я буду делать вид что это я работаю, плата 50 на 50 по рукам?
>>1482475ты студент и до сих пор живешь с родителями, ахаха, какой позор, вот и живи дальше с родителями пока нормальные люди зарабатывают деньги на свое дело
>>1482482>нормальные люди зарабатывают деньги на свое дело>анончики ,помогите, меня взяли на работу дот нет разрабом, а я вообще не ебу c#ору с тебямимо.
Learning C# by Developing Games with Unity 5.x, 2nd Edition(2015)Автор: Greg LukosekАна, как тебя эта книга? Читал кто?
Куда дальше двигаться? Базовые конструкции C# знаю. Пытался в ASP.NET Core, но кажется таким громоздким. Туториалы по нему читал, но просто повторяя за кем то, кажется что знания не прибавляются.
>>1482551Тупо мануалы мелкомягих разжеванные для малёха одарённых / не умеюших в английский.>>1482429С теории ООП>>1482392>даже в юнити, кекДавай показывай что ты там в юнити наваял.>>1482406>как по другому определить мидл или джунhttp://www.starling-software.com/employment/programmer-competency-matrix.htmlно это не абсолютные критерии, воспринимай эту матрицу просто как point of reference
>>1482700>Давай показывай что ты там в юнити наваял.Да там очень простое приложение, лол)Менюшка да 3д модель руки+моделька со скелетом+положение руки менялось раз в 25мс ну и данные брались из инета+авторизация все хуйня
Вечер в хату начал ебать C#делаю простенькие задачки и получаю затык может поможете задание: Заменить все отрицательные элементы, не кратные 3, противоположными им числами.int[] array = new int []{-1,-4,-6,3,12,7,-7}for(int i=0; i !=array.Length; i ++) { if(array % 3 >=0) { вот тут нужно привести каким то хером что бы отрицательны значения стали положительными }ConsoleWriteline(array); }Console.ReadKey();В общем подскажите или закиньте свой вариант решения
>>1482838>>1482824только обращаться нужно к индексу массиваif (array % 3 != 0) array = Math.Abs(array);
>>1482824>if(array % 3 >=0)Так тебе же надо отрицательные некратные элементы. if(array % 3 < 0)Но есть нюанс. В некоторых языках остаток от деления всегда положительный, поэтому, чтобы не смущать коллег и более явно указать намерения лучше написать такif(array < 0 && array % 3 != 0)...array = Math.Abs(array); // or -1 * array;
>>1482483>>это не то, что надо применять где-то.>>создавая иерархию надо подумать соответствуют ли её типы лсп.Это по твоему не применение?Вот из за банальной разницы в восприятии некоторых моментов ЛСП и воспринимается каждым по разному
>>1483002>>ты мне приписываешь то, чего я не писалэто называется шизофрения или невнимательностьЧтобы не разводить демагогию - спроси у коллег за обедом, как они представляют себе реализацию этого принципа и сам поймешь, о чем я написал изначально.
>>1483006Еще раз. Все что я написал, это то что у лсп есть формальное определение в отличии от остальных из солида. Поэтому его понять легче, чем остальные более абстрактные принципы. Вот даже пруф дам >>1482131 . Я НЕ писал, что все его понимаю правильно, я НЕ писал, что все его соблюдают.
>>1482824>Вечер в хату начал ебать C#П-привет>вот тут нужно привести каким то хером что бы отрицательны значения стали положительнымиСначала подучи понятие "модуль числа / абсолютная величина", заодно другие пробелы восполнишь. Иначе че ты будешь делать когда столкнёшься с графами ("вот тут нужно каким то хером что бы найти кратчайший путь"), ибо тебе просто ответят "Дейкстра" и дальше нянчиться с тобой не будут.
>>1482653>Базовые конструкции C# знаюну то есть нихуя не знаешь>Куда дальше двигаться?придумай свой пет-прожект и пили, чо ты
Ебанул задание если кому интересноint[] array = new int []{-1,-4,-6,3,12,7,-7}for(int i=0; i !=array.Length; i ++){if(array % 3 >=0){array=-array;}ConsoleWriteline(array);}Console.ReadKey();
Блять, аноны, я, похоже, вообще даун, и не могу написать в хроме хеллоуворлд. Чо у меня за хуета с браузером, кто может подсказать? Почему любое задание на дотнетакадеми у меня не может провериться и пишет ошибку доверия? Гуглил, там ток для вебсерверов та хуйня, не особо догнал.
А теперь самый сложный вопрос за всю историю програмача:если пишу библиотеку, в какое место воткнуть [assembly: InternalsVisibleTo("Tests")]? Создать отдельный файл где будет только этот атрибут? Влепить в рандомный файл с классом?
Как сделать перекрытие моделей View в ASP.NET MVC? У меня Layout содержит PartialView с разными моделями. View, которые реализовуют этот Layout имеют совсем другие модели (для отражения страниц must have). Внимание вопрос - как сделать ебучее перекрытие моделей в представлении?
>>1483912или же задам по другому. Может ли одно представление иметь несколько моделей? Если да, то как обращаться к конкретной модели?
>>1484186реализация многих компонентов проходит только через привязку модели. Лепить костыли займет больше времени.Уже нашел решение - создать мультимодель - создается класс, в который добавляются все остальные модели.
>>1482351 (OP)Привет, двач. Есть у кого на примете годный курс лекций по алгоритмам? Знаю, что библией алгоритмизации считается книга Кормэна(потом по нисходящей идут Дасгупта и Бхагарва, тоже знаю) и мне нравится её полнота, однако, формальный язык очень и очень отталкивает, не способствуя пониманию. Да и вообще, формат лекций мне как-то ближе, нежели просто чтение книги. В общем, какие требования? Полнота(речь не об N-полноте, лол) Кормэна в сочетании с интересным, не сухоформально рассказывающим преподом. А, да, и чтобы на русском(знаю, что охуел). Подскажите чего по сабжу?
Здесь есть .net разработчики, которые работают на macOS? Думаю может с виндоус перейти, взять МакБук Про? Увидел, что микрософты выпустили новую вижуал студию под макОсь. Но не знаю насколько она там хорошо работает. А ещё есть Visual Studio Code.
>>1484290Ты либо толстый, либо тупой. Хочешь программировать под винду- пиши на винде, хочешь купить мак - купи и не еби нам мозг. Но программировать на нём адекватно ты не сможешь, ибо маг - это только для ютюбчика и потреблядских сериальчиков. Что-то серьёзное ты на нём не напишешь вообще никогда. Это я тебе как владелец 2 маков говорю. Стоит переключить твоё драгоценное приложение на винду, так тутже вылезут такие баги, что хочется могилу Стива Джобса обоссать.
Посмотрел я вакансии на шарпе,одна легаси десктоп/ювп/мвс с штмл страницами хуета,так и будет продолжаться,или дождемся вакансии с шарпом на бекенде?
>>1484488Имею в виду разделение на бекенд и фронтенд и не пилить ебучий вонючий десктоп а веб? Или выкатыватьсч к хуям на джаву,у них вроде поменьше такой практики
>>1484491>У джавы меньше такой практикиЭм... Ты сейчас про Java? C Чего вдруг меньше то?>Имею в виду разделение на бекенд и фронтендНо ты же сам привёл MVC, а это и есть фронт и бэк. Ты вообще сам понимаешь что пишешь или нет? Алсо я уже пол года пишу приложуху уровня энтерпрайза в которой есть разделение фронта и бэка. Не понимат что тебя не устраивает.
>>148453>>1484534Я как раз говорю про то,что я НЕ хочу писать на шарпе и бэкенд И фронтенд(я про cshtml),а хочу чистый бэкенд(веб апи,который чисто отдает данные на клиент),и вот таких вакансий почти нет,везде требуют или с десктопом(что является фронтом) или мвс где ты САМ пишешь фронтенд,не говоря уже о том что 80% вакансий на легаси фреймворке,который на винде,а я на линкксе,сейчас понятней объяснил?
>>1484313>Хочешь программировать под винду- пиши на винде, хочешь купить мак - купи и не еби нам мозг.Сейчас занимаюсь исключительно мобильной разработкой под андроид и айос(unity3d c#). Иногда пишу консольные утилиты под себя. Всю жизнь сидел на винде, но сейчас вот подумал может на макось перейти. Тем более у меня девайсы от аппле. По сути ничего конкретно завязанного на виндоус я уже не пишу.Вот и решил узнать у анончиков об их опыте работе на макосе. Может кто перешёл с виндоус и сейчас кайфует(или нет).
>>1484626Чтобы писать на винду - пиши сидя под виндой, чтобы писать под мак - сиди на маке. Под андройд - разницы особо нет. Разьве на винду инструментария больше в разы чем на мак.>сейчас вот подумал может на макось перейти.Максимум плохая идея. Хвалят мак в основном JS макаки, которым всё равно на чём писать. В той же юнити например я столкнулся с непомерными тормозами даже на 2d платформерах, хотя казалось бы. Ну и так, россыпью куча всяких неприятностей, типа ограничению видюхи, тротлинг процессора (там пассивное охлаждение, чтобы проц остыл мак просто срезает ему тактовую частоту) хочешь побольше памяти - купи новый макбук, хочешь больше винт - купи новый макбук, хочешь лучше видеокарту - иди нахуй. Именно исхожя из этого я сделал вывод что мак хорош только для ютюбчика.
Почему перед циклом foreach происходит боксинг? Почему если бы передавали в метод print(List<int> list) то боксинга бы не было?Не понимаю)
>>1484822>foreach происходит боксинг?так ты передаешь другой тип, поэтому и происходит приведение. Передавай List<int> и не будет боксинга
>>1484848>>1484839Короче ясно все с двачерами.Давайте рассмотрим один из наиболее распространенных источников упаковки, который основан на факте использования типа значения в качестве интерфейса - инструкции foreach для IEnumerable <T> (см. Листинг 4-31). В таком случае мы передаем экземпляр List <int> как IEnumerable <int> в метод Print. Инструкция foreach внизу работает с концепцией перечислителя - она вызывает GetEnumerator () для переданной коллекции, а затем последовательно вызывает Current () и MoveNext () для нее. В методе Print коллекция списков рассматривается как IEnumerable <int>, поэтому будет вызываться IEnumerable <int> .GetEnumerator (), который, как ожидается, вернет IEnumerator <int>. Очевидно, List <T> реализует IEnumerable <int>, но важным фактом является то, что GetEnumerator () возвращает Enumerator, который является ... struct. Поскольку эта структура используется в качестве IEnumerator <int>, упаковка происходила один раз в начале цикла foreach.
>>1484854Нихуя, компилятор в данном случае вообще не юзает интерфейсы, он смотрит на наличие у List<int> метода GetEnumerator(), а затем смотрит на наличие у возвращаемого объекта свойства Current и метода MoveNext, на интерфейсы ему вообще поебать.
>>1484854не неси хуйнюhttps://stackoverflow.com/questions/3168311/why-do-bcl-collections-use-struct-enumerators-not-classes
>>1484851Тем более тогда боксинга не будет. Провтыкал, что List реализовует IEnumerable.По сабжу - чел, прежде чем задавать тупые вопросы - открой дизасемблер и посмотри на MSIL. Вообще хз откуда ты высрал, что идет боксинг-анбоксинг, но пруфы на пике.>>1484854хоть бы источник приложилА это, для не умеющих читать:has the public parameterless GetEnumerator method whose return type is either class, struct, or interface typehttps://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/foreach-in
>>1484964>>1484893>>1484884http://file.allitebooks.com/20181115/Pro%20.NET%20Memory%20Management.pdf344 страница, автор не прав?
>>1485129Алло, я тебе MSIL твоего foreach genarics скинул, зачем ты задаешь тупые вопросы?>автор не прав?Выбираей сам, чему верить - MSDN+компилятору или Кондару Кокосу
>>1485167Тут его и не должно быть блять)Мы до момента исполнения не будем знать, придёт ли сюда енумератор как структура или как класс, и следовательно схкяли мсил нам должен здесь показывать боксинг?)Я же кинул скрин анализатора который говорит что МОЖЕТ БЫТЬ боксинг, а может и не быть, в случае с методом boxunbox он точно есть, там же callvirt на создании енумератора, вот там то и будет боксинг внутрях, двачеры ебаные надо книги читать
Есть какое-нибудь расширение, чтобы менять цвет строки с объявлением члена? Что-нибудь типа пикрелейтеда.
Имеется такой кусок кода на asp.net, типа кастомный хэндлер. https://pastebin.com/Uq6J8QpyКак тут достучаться до css-файла, который в папке Content?
>>1485319Да хз, вроде да. Этот файл кидал в разные места, и в корень, и в одну папку с хэндлером, cssку не видит и всё.
>>1485177Кокос, ссылаясь на то, что книги не пишут не херы с горы, я в начале предположил, что в callvirt спрятан индексатор стека. Хотя нагуглив я понял, что при передаче параметром интерфейса, а не типом происходит реализация IComporable, что и есть односторонним "боксингом". Поэтому твой Кокос и советует передавать обобщенный тип, а не интерфейс.
>>1485341я понял, что двачер задающие подобного рода вопросы не умеет гугл или чтение. Одно из двух или оба. Выбирай, Кокос.
>>1485430ты читаешь книгу, где описанны тонкости языка, но не можешь банально нагуглить вопрос. Кто после этого еще обосрался)
>>1485528Наркоман штоле? Rider стоит огромных денег и может только в C#, VS бесплатен и умеет во всё.
>>1485528>Есть VS19>ReSharper Ultimate + Rider>Visual Studio extensions, profilers, and a standalone cross-platform >.NET IDE>US $179.00>/1st year>US $143.00Ой, даже не знаю. Впервый раз на двоще увидел такую IDE и странно, что она у меня не стоит.
Нужно сгенирировать классы из парочки огромных json файлов (100-600 мб), как это сделать?В гугле все через копипасту генерируется, что не работает с такими огромными файлами.
>>1485716возможно не совсем рациональный, но все же способ.работаешь по хардкору с картинкой:1. сжимаешь где то 100 на 100 пикселей, можно даже меньше2. делаешь максимум там цветов 8-16, думаю разберешься в нете есть гайды3. проходишь картинку циклами (for(row){ for(colums){} }), с каждого пикселя можно взять цвет, этим цветом пишешь букву E в консольку. Вот и все собственноЗЫ. да и желательно в 3 шаге не сразу выводить, а сначала все сохранить и уже потом вывести целиком всю картинку в консоль библиотечка для работы с картинками - emgu.cv(она же opencv)
Сап, аноны. Начал недавно вкатываться в шарп с этого сайта:http://mycsharp.ruПочти прошел все темы, но сильно не хватает практики. Многие задания, что даны в конце тем, либо легкие, либо какие-то примитивные, односторонние. Короче, посоветуйте какой-нибудь ресурс для изучения, но чтобы практики было больше.
>>1485934Нет. По крайней мере легче, чем выучить с++ зная с#.>>1485848Решай студентикам задачи http://www.cyberforum.ru/csharp-beginners/>>1485729И весь джейсон из уникальных сущностей? Возьми каждой по одной и генерируй. Либо руками.
>>1485848>Короче, посоветуйте какой-нибудь ресурс для изучения, но чтобы практики было больше.Иди ищи уже книжку по беку и строй сервера.
>>1485848Шарп завязан на .NET Framework, следовательно после шарпа следует выбирать направление. Из перспективных: Веб - ASP.NET Core (MVC5), Десктоп - WPF, геймдев - Unity, мобилки - Xamarin. Тупо один шарп ничего не даст.
>>1485950> Решай студентикам задачи http://www.cyberforum.ru/csharp-beginners/Если не сарказм, то ок.>>1485970> Иди ищи уже книжку по беку и строй сервера.Не рановато для бегинера?>>1485987> Шарп завязан на .NET Framework, следовательно после шарпа следует выбирать направление. Из перспективных: Веб - ASP.NET Core (MVC5), Десктоп - WPF, геймдев - Unity, мобилки - Xamarin.> Тупо один шарп ничего не даст.Спасибо
>>1485716>>1485753>сжимаешь Лол, зачем сжимать когда можно просто поделить пикчу по секторам в соответствии с кол-вом строк и столбцов и усреднённый цвет сектора назначать букве?
>>1485987согласен, на одном шарпе уже никуда не уедешь. Когда приходишь на РАБотку тебя садят на проект WPF/ASP.NET/ASP.NET MVC/Core/WF/Xamarin/API (выбери одну или несколько) и ты в этом проекте должен знать хотя бы базовые вещи. Если ты б-х шарпов и знаешь тонкости языка, то тебя максимум похлопают по плечу и предложат стажировку
>>1485950>И весь джейсон из уникальных сущностей? Возьми каждой по одной и генерируй. Либо руками.В каждому джейсоне выходит около десятка уникальных классов с 5-40 полей. Руками такое делать ну очень больно, потому что все безбожно лагает что в том же notepad++ что в visual studio code, нормально по объекту не пройтись не понять где что находится.Обычная же visual studio при попытке вставить этот json как класс (есть такая опция в edit) подумала около 10-15 минут и решила тупо упасть.
>>1486100Забавно что в америке достаточно прочитать книгу по шарпу и понимать просто язык чтобы уже получить место джуна.Со знаниями что ты описал это уже минимум мидл будет, а то и целый сениор.Правда сейчас у них начали жестко требовать диплом(для местных вроде не обязательно) по любому направлению компьютер сайенс, без него только если HR тебя сам приглашает на работу можно попасть.Говорю это со слов друга который не один год горит с фигни что у них на работу берут нигг которые реально прочли книгу, свояли пару hello world.>>1486106Любая актуальная и годная информация за последний год-два это всегда статьи и гитхаб или всякие записи конференций. Книги достаточно медленно развиваются и там в основном общая инфа.И вообще советую искать годную инфу именно на гитхабе, находишь какого-нибудь хорошего чувака и прыгаешь по его фолловерам/звездам и затем по другим годным так и в результате попадешь на дохера инфы и годных проектов в которых порой такое readme что там случайно можно высшее образование получить.
>>1486112Реклама "АЙТИ ЭТО БАБКИ" делает свое дело. На каждом борде/в каждом вагоне метро - реклама курсов. Даже видел в запиздрыщенском трамвае рекламу - "У айтишников крутые машины (fordmustang.img)"Насчет бугра - пару Hello world не катит это точно, но наличие диплома у них маст хев лишь по той причине, что показывает человека, как дисциплинированного и познавшие азы профессии (за бугром не прокатит не ходить на пары пол года, а потом вывалить котлету денег).Я могу долго пилить прохладные о том, какие вакансии (ебнутые на всю голову) я видел в интернетах и какие вопросы задавали на собесы на позицию джуна, чот влень просто.
>>1486108Берешь свой файл, выделяешь одну сущность, копируешь, генеришь для неё класс. Повторить 10 раз.А еще в зависимости от сценария, можно либо создать класс только с нужными полями, либо тягать данные через linq2json вообще не создавая классов.
>>1486116>Реклама "АЙТИ ЭТО БАБКИ" делает свое дело. На каждом борде/в каждом вагоне метро - реклама курсов. Даже видел в запиздрыщенском трамвае рекламу - "У айтишников крутые машины (fordmustang.img)"У меня друг преподает такие курсы как доп. заработок, платят 100к в месяц за десяток часов в неделю.Так вот через него более 500 человек уже прошло и по его словам не более 10 смогли попасть на работу, а из этих 10 только 2-3 проработали более полугода.Основная масса приходящих не понимают что ИТ это постоянно обучение, они думают что пройдя эти курсы то больше им делать ничего не придется, типа идешь работать и рубишь бабло. Для них ИТшник как сварщик, типа разок выучился и все, при том что их на первом же занятии предупреждают что это не так и можно забрать деньги и уйти, но нет, они думают что умнее всех.>Насчет бугра - пару Hello world не катит это точноИнфа двух годичной давности и я не зря сказал нигга, потому что реально нигга который вчера барыжил за углом каким-то дерьмом попал к ним на работу и успешно работал со знаниями как будто 1 книгу прочел и пару to-do программ написал. И такое как он сказал постоянно, именно поэтому они любят всех забугорных программистов, ибо уровень квалификации на голову выше за ту же цену. >но наличие диплома у них маст хев лишь по той причине, что показывает человека, как дисциплинированного и познавшие азы профессии (за бугром не прокатит не ходить на пары пол года, а потом вывалить котлету денег).Для ИТ это никогда не нужно было и по опыту из РФ могу сказать что дипломированный специалист будет в разы хуже самоучки и всегда будет знать технологии меньше. Просто потому что наше образование преподает старинные вещи которые уже не актуальны, а время на самообучение нет так как преподы срать хотели что ты там новое учишь, делай что говорят, а новенькое после диплома трогать будешь.Сам отучился в таком дерьме, но благо препод знал директора место где я работаю и тупо ничего с меня не спрашивал, но с другими сокурсниками тяжело было общаться, так как они реально на уровень ниже были и со своей колокольни я понимал что эта хуйня что они сейчас делают уже устарела и оно нахер не нужно. Простой пример понятный всем, пока мои сокурсники изучали DirectX 9, я мог в тоже время ебашить Vulkan, сомневаюсь что сейчас хоть кому-то нужен этот DX9.Так что диплом это не показатель, особенно для опытного бизнеса который знает весь бэкграунд.>какие вопросы задавали на собесы на позицию джуна, чот влень просто. Так это уже классика.Чаще всего собеседуют люди которые вообще не шарят в ИТ и за месяц в спешном порядке нахватались верхов которые и пытаются спрашивать.Меня на одной работе за многопоток около часа ебали, о способах синхронизации, чем отличаются и все в этом духе. Зато на работе за год там я написал дай бог пару раз какой-то многопоток и то все сводилось к Task.Run и затем Wait потому что внутренняя кухня была написана без задела на многопоток и асинхронность в результате нестабильное поведение, а значит в документации всем тупо запрещено писать такой код.Так что чаще всего на собеседовании спрашивают то чем ты никогда заниматься не будешь, а порой ты будешь вообще писать дико тупой код так как документация этого требует.>>1486125Начинать можно и без книг. Даже лучше без книг, многие книги плохо написаны и делают только хуже.К примеру вот https://docs.microsoft.com/ru-ru/aspnet/?view=aspnetcore-3.0
>>1486125есть Адам Фримен "ASP.NET Core MVC 2" книга 2019 года.В первой части автор строит проект на примере интернет магазина.Во второй части рассматривает инфраструктуру.
Как в бутстрэпе 4, переложенном на реалии асп.нет Разор Пейджес центрировать грид и убрать вот эту вот полоску справа от колов?
>>1486144насчет собесов и требований это отдельная тема. Происходит все по такому алгоритму:1. Команда начинает овертаймить и у кого то взрывается жопа, что заебался по 1-2 часа сверхурочно сидеть.2. Тим лид дает запрос ХРюше о поиске джуна - червепидора, который будет делать всю грязную работу (попутно осваивая технологию).3. ХРюша спрашивает критерии - тим лид в спешке высирает стек текущего проекта отмечая галочками/циферками приоритет - маст хев или рекомендуется.4. Тупая пизда все это копипиздит, дает на проверку заявителю (в лучшем случае). И пошел конвеер предложений.5. Когда тебе предлагают приехать на собес, это еще не означает, что ты поговоришь с человеком, бывает что собес заканчивается на диалоге с HR(если спезднишь что ни будь типо - "Да я ленивый, что забей") ХРюша будет ебать мозги тупыми задроченными на все интернеты вопросами на проверку - начнет ли у тебя дергаться бровь/чесаться ухо/просто взорвется пукан от обилия тупых вопросов.6. Если нет - выход тим лида/его помощника/тех. лида. Обычно на это какой ни будь ноулайфер, который дрочит стек до самых глубин. Если спросят за дизасемблирование у джуна - это нормальная практика. Из чего состоит сборка, манифест, как рефлектить приложение в рантейме. Обычно вишенка на торте - это знание алгоритмов. Если задашь вопрос типо - каких именно алгоритмов - поиска или сортировка, а так же если называешь больше 1 алгоритма (bubble sort не в счет) ловишь респект (если все равно кажешься тупее/уродливей интервьера) в инном случае интервьер задает вопрос, на который он и сам с трудом помнит ответ, если сам помнит. Обычно это какая то отреченная хрень или с последней версии языка или очень низкоуровневая. Как например в сраче выше - происходит ли боксинг при передаче интерфейса в метод, где foreach делает проход по элементам этого интерфейса дженерик страктом. (Это все позиция джуна, дада).Был один случай, когда я отправил CV на Asp.net mvc, в котором не было ни строчки про знание JS/css/html. Обычно писал, что знаю +- xaml, т.к. писал на WPF. Первый вопрос, который мне задал додик СЕНЬЕР - это про замыкания. Я начал рассказывать про обобщенные делегаты, Func, объявление хранилища данных внутри области видимости делегата. Это чмо смотрело на меня минут 5, пока я пытался по полочкам выстроить мысль про замыкания в шарпах, как он мне монотонным голосом сказал - "Что за пургу ты несешь". Я говорю - блять, да это же замыкания в шарпах, Вась. Он говорит - я у тебя про замыкания в JS спрашивал (не спрашивал в каком именно языке). После, додик задав еще 5 вопросов по JS, а я в свою очередь высрав 5 интуитивных ответов и добавляя, что я не знаю JS, эта чмоха встала с фразой "Мне нужно выйти" и так и не вернулась. Зашла хрюша и сказала - мы вам перезвоним.В итоге такого собеса я потерял ровным счетом 3 часа времени + кучу нервов.Такую бы пасту пилить под курсами .NET, чтобы "В АЙТИ ЗА БАБКАМИ" знали куда идут.
>>1486178Апдейт вопроса. Как выровнять по верхнему краю теперь?боже мой, веб по сравнению с xaml просто ужасен
>>1486184> веб по сравнению с xaml просто ужасенвот не надо. xaml та еще залупа. а твои вопросы банальны и легко гуглятся. это же ёбанный CSS. вот и иди в тред верстальщиков.
Нужно сделать базу данных для маленького предприятия. Можете скинуть сверхпиздатый гайд? И по адресу ли я вообще?Я понимаю что можно пойти в гугл, но там полно мусора, а у меня очко и сроки горят.Не бейте, спасибо.
>>1485753А как сжимать видео в шарпе? Нашёл гайд http://www.aforgenet.com/framework/docs/html/4ee1742c-44d3-b250-d6aa-90cd2d606611.htmно у меня юзинг не подключается, в нугете скачал AForge.VideoЯ другой анон, просто интересно.
>>1486180Если идти в ИТ за бабками, так это скорее в около айти.Как мой друган который обучает сам нехера не зная и без опыта, свою соточку имеет за то что людям пересказывает в лучшем случае первую половину любой книжки.Да и твой пример собеседования из компаний которые надо избегать как огня.У тех кто в профе не первый год уже есть список подобных контор к которым нельзя на работу идти или которым в случае сотрудничества надо ломить ценник минимум в 2 раза выше рынка.Кстати все эти конторы из-за херовой репутации мертвые, им нужно платить годному человеку чтобы он у них работал в 2 раза выше рынка, обычно за счет других сотрудников, которым занижают ЗП и они обычно бегут спустя некоторое время оттуда. Из-за этой текучки годный человек должен выдумывать такую архитектуру чтобы ее даже макака могла делать и поддерживать, а от этого чаще всего страдает сам продукт. Мне приходилось работать с такой хуйней, в наследство так сказать досталось и задача была хотя бы ускорить все это дело в 2 раза, так как тормозило безбожно и апгрейд железа не помогал, а это тормозило другую работу.По коду было понятно что писали его не менее сотни разных людей с разными знаниями, при том в большинстве своем новички целью которых было максимально безопасно написать их часть кода.То есть если их метод принимал лист, то они делали его копию, на всякий случае, а то вдруг кто изменит.Или если им нужно пройтись по листу и прочекать 1 поле, то делалось list.Select(x=>x.Id).ToList() и затем foreach и это все тянулось через десятки методов, так некоторые еще рекурсивно вызывались.Запросив две недели, пару человек и премию по результатам, мы переписав это говно получили производительность в 20 раз выше в обычном режим и в 170 раз выше при попытке загрузить приложение под завязку в сравнении со старой версией. Директор получив отчет покраснел от злости так как по с его точки зрения мы сделали за 2 недели то что делали более полугода + год на допиливание, за бюджет раз в 50 меньше чем было затрачено (я хз сколько было затрачено, просто грубо предположил).>эта чмоха встала с фразой "Мне нужно выйти" и так и не вернулась. Зашла хрюша и сказала - мы вам перезвоним.Обычная практика когда кто-то в компании проебался и нанимали не того программиста или отправили не того собеседовать. В результате чтобы не казаться дебилами решили тупо забить на кандидата с которым проебались.Корпоративный бардак, но что хорошо, если в эту фирму попасть, можно жестко халявить.Мой текущий коллега 3 года проработал в такой компании не сделав для компании ровном счетом ничего. Вначале он ходил и тупо просиживал штаны, ожидая когда ему что-то дадут делать, затем он решил по фану что-то опенсорс пилить, затем поняв что ему ничего походу не дадут занимался фрилансом на работе. В результате он так 2 года проработал там получая ЗП за то что фрилансит на себя. Если бы отдел не сократили из-за кризиса я думаю он там еще лет 5 минимум продержался бы.
>>1486255Блин, руки опускаются, вам всё так здесь очевидно. Я вроде бы знаю шарп, а нихера сделать не могу. Меня же не обучали как делать обрезание, как на пиксили разбить видео.
>>1486255100% для этого есть библиотеки на гитхабе под все современные кодеки в 10 разных вариантах, где ты тупо можешь подсунуть видео и поиграв с настройками получить что тебе надо.То что ты скинул это ебаный ад, одна вот эта строчка>image.SetPixelчего только стоит.Просто запомни что если ты делаешь что-то для теста или тупо надо 1 разок в полгода вывести картинку, то да сойдет.В иных случаях для работы с bitmap когда нужно менять пиксели всегда нужно лезть в unsafe и LockBits.Разница в скорости работы там десятки раз.>>1486270Все очевидно когда ты поработал хотя бы разок с этим.Так что все дело в практике, главное один раз разобраться, а дальше уже пойдет легче.
>>1486265>годному человеку чтобы он у них работал в 2 раза выше рынкав таких фирмах обычно еще студентота и скам работает за бесплатно (в прямом и переносном смысле - за 100-200 USD, есть ебаньки, которые за 0$ - им оплачивают ЧП, а на жизнь и дорогу берут у родителей/c нычки и т.д.). И когда в такой скам помойке ты называешься вполне адекватную для джуна цифру - 500-550 USD (при том, что съемная хата только 200$ стоит, а еще что то похавать нужно и одеть на себя), Хрюша улыбаясь говорит - "Пф, да у нас тут за бесплатно готовы работать".С тобой я на 100% прав, что такие галеры лучше избегать и бежать с них сломя голову.Я просто этот пример привел к тому, что IT сфера - это такой бардак. Есть подвальные/квартирные офисы - площадь 4x4 с 6-8 местами, со старым железом, сидят чуть ли не на ящиках. Отчаянные ОЙТИшники готовы идти в такой мусор, мечтая о космо деньгах, тем самым просаживая рынок.Я даже подумываю завести бложик или канал на ютубе, где пилить сторисы от меня и знакомых в каких ебаных помойках работали и на какие грабли наступали.>пройтись по листу и прочекать 1 поле, то делалось list.Select(x=>x.Id).ToList() и затем foreach и это все тянулось через десятки методова чего еще ожидать, если проект полон говно кода. ООП, SOLID? Да не смешите. Если на собесе спросят про принципы солида, duck type, а по факту получишь, что получишь - можно идти и харкать в ебло интервьеру. А так то да, перебор одной и той же коллекции в N методах - классика.В 8 или 9 тред скидывал анон метод на 17к строк и такое бывает.
Еще раз захожу сюда. Привет треданоны. Есть какой-то интересный задачник для укреплений знаний а так же пет-проекты для новичков/джунов?
>>1486265>Мой текущий коллега 3 года проработал в такой компании не сделав для компании ровном счетом ничего. Вначале он ходил и тупо просиживал штаны, ожидая когда ему что-то дадут делать, затем он решил по фану что-то опенсорс пилить, затем поняв что ему ничего походу не дадут занимался фрилансом на работе. В результате он так 2 года проработал там получая ЗП за то что фрилансит на себя. Если бы отдел не сократили из-за кризиса я думаю он там еще лет 5 минимум продержался бы.Как вы находите такие компании? Работаю над проектом каждый день.
>>1486255>но у меня юзинг не подключаетсявсм?в этом примере кстати код хз че делает . вроде закрашивает какие-то пиксели красным цветом. И красит только 1000 кадров.https://stackoverflow.com/questions/15052419/how-to-resize-image-with-imagebox-emgucvя уменьшал изображение этим способом.Брать видео можно и твоим способом, но я бы использовал от той же библиотечки http://www.emgu.com/wiki/files/3.2.0/document/html/5d3e2a38-d2a8-494c-37e0-387d610a87ab.htmмб там же можно найти количество кадров в видео. если нет делаешь так://исходное видеоinputVideo = new VideoCapture("path/to/file");//преобраззованное видеоoutputVideo = new VideoWriter();while(inputVideo.QueryFrame != null){//тут делаешь resizeoutputVideo.Write(resizedFrame);}Типо того... но надо читать смотреть: http://www.emgu.com/wiki/files/3.4.1/document/html/3fb90645-ecc4-0c4e-b238-6d0ca38f4ebc.htmhttp://www.emgu.com/wiki/files/3.2.0/document/html/5d3e2a38-d2a8-494c-37e0-387d610a87ab.htm
>>1486284Если ты хочешь такое место то прыгай по крупным компаниям в которых творится бардак.Правда сейчас такое практически невозможно уже найти, из-за кризиса все такие отделы давно утилизировали и даже из рабочих отделов стараются сократить людей. Хотя может быть где-то в государственных организациях поближе к верхушке можно халявить, там в принципе все и всегда халявили. Чем выше сможешь подняться тем меньше работать будешь.
>>1486211Какой именно гайд нужен? По проектированию? Получи https://metanit.com/sql/tutorial/1.1.php Как подключаться и делать запросы? Лови https://metanit.com/sharp/adonet/ . Надоело пердолить запросы руками и хочется орм-ку? На https://metanit.com/sharp/entityframework/ (для кора https://metanit.com/sharp/entityframeworkcore/)Или может тебе надо выбрать БД? Ну тогда Sqlite для встраиваемой и MSSQL/MySql для серверной. >>1486283Нет. Придумай сам, только ты знаешь что тебе интересно. Классический вариант - автоматизировать что-то, что ты делаешь за компом. Я например делал прогу, которая выкачивала фотки ЕОТов из контача. Тут и с интернетом работа и с апи контача и бд использовал и когда прога разлослась и стала ломаться от одного чиха пришлось изучать и прикручивать MV* паттерны. В общем набил кучу шишек, а прога получилась говно, хоть и работала. Была идея сделать поддержку разных соцсетей, инсты и прочего через плагины, но меня это все заебало, да и сама идея себя изжила, я понял, что мне эти фото нахрен не нужны, да и все больше окукливали свои профили. Вот. Можешь пойти моим путём. Тупиковым.
>>1486277localdb это кастрированный sql server, ставится вместе со студией, но можно и отдельно накатитьhttps://docs.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-express-localdb?view=sql-server-2017
>>1486346Ну не надо...Лучше подкинь каких-то идей или задач...а лучше работу...Никто не берет потому что нету опыта. Все отказывают.Даже за еду и воду.Я с Украины если что...
>>1486337Я не понял как сделать. Нахожу либы на гитхабе, не ебу чё с ними делать, https://github.com/Veggie13/VideoCompression
>>1486348>Никто не берет потому что нету опыта. Все отказывают.>Даже за еду и воду.жиза жиза, мимо >>1482392>Лучше подкинь каких-то идей или задачну хз что тебе интересно, может сайты, а может под десктоп писать. можешь посмотреть на сайтах работы, какие фреймворки используют компании и уже с нимифреймворками что-то придумывать. как идея - написать код который будет выкачить webm из тредовили бота для игрыможешь найти игру с открытым кодом и в ней копаться, добавлять/удалять/улучшать
>>1486357Я бы хотел тогда уж сделать на ASP.NET Core загрузчик видео с ютуба, или аудио только. Но только начал и не знаю пока как. В WPF кста кучу нашел гайдов. Для ASP.NET нет. Ну либо рукожоп.
>>1486392>Я бы хотел тогда уж сделать на ASP.NET Core загрузчик видео с ютуба, или аудио толькорезультатом будет сайт вроде savefrom.net?>В WPF кста кучу нашел гайдовдля загрузки видео с ютуба, получается?логика программы будет что в wpf, что в asp.net core почти одинаковая - после нажатия на кнопку отправить запросили что там, не совсем шарю ютубу и скачать видос. Поэтому это ты можешь взять из wpf и вставить в asp net, имхо.
>>1486409единственное думаю, что asp.net будет посылать запросы от имени сервера и соответственно сохранять видосики к себе на сервер. поэтому надо будет видео передавать потом клиентухотя не знаю, может в asp.net можно сохранять сразу на стороне клиента, я в этом нуб
>>1486416>>1486409Ну чтобы это было уровня скрипта какого-то. Типа, нажал кнопку и скачал видео/аудио с текущей URL.
>>1486420именно эту задачу можно сделать хоть в консольке))вообще вот тебе идея - сделай библиотеку.dll для закачки видосиков. Чтобы можно было в любом приложении (wpf, winforms, console, asp.net) просто написать var vDownloader = new VideoDownloader("C:/path/to/folder");vDownloader.Download("youtube.com/videourl");будет просто бомба) заодно там можно сделать тесты и прочее
>>1486446https://docs.microsoft.com/ru-ru/dotnet/core/tutorials/library-with-visual-studiohttps://docs.microsoft.com/ru-ru/dotnet/core/tutorials/consuming-library-with-visual-studio?tabs=csharpвроде этого.https://www.c-sharpcorner.com/uploadfile/61b832/creating-class-library-in-visual-C-Sharp/или так
Задачка из мира 10-летнего легаси.Есть два метода, void foo(int arg) и void foo(int[] arg) с почти идентичными телами, но где-то посередине тела они вызывают bar(arg) (см пикрил).Как максимально избавиться от копипаста?
Простите, какой тип данных поставить чтобы sql понял русик? Англ понимает, а кириллицу нет. Стоит ntext.
>>1486595Сложно сказать, не зная, что там происходит. Можешь попробовать навернуть полиморфизма, или как-то по другому составить методы, чтоб локализовать общую часть и ее вынести.
начал изучять си решетку и тут сразу непонятнокакие то члены везде членыв других языках такого нет в начале изучения
Есть instance одного класса, который я использую в двух других классах. В одном всё работает нормально, а в другом этот блядский instance всегда null. Везде всё сделано одинаково и я нихуя не понимаю, я уже всё проверил. В чём может быть дело?
>>1487036ну и что тебя смущает? Ты не знаешь что такое члены типа/класса/метода/пространства имен? Если нет - учи мат. часть
>>1487099>>1487121Переделал немного, прога запускается, но теперь код при клике заходит туда, куда он НЕ МОЖЕТ НИКАК ЗАЙТИ, я уже с ума схожу. У меня вообще нет обработчика на клик. Сумасшествие какое-то.
Шарпаны, я упрлся и начал использовать флоаты как ключи словаря. Со мной все будет хорошо если я будут получать новые ключи на основе шага?Суть, есть один флоат как ключ в словаре:MyDict[0.5f] = SomeObj;Я точно знаю, что если к нему прибавить шаг, то там будет другой нужный объектOtherObj = MyDict[0.5f + Step];Короче, вопросы: насколько это производительно и если риск промахнуться мимо другого объекта после N шагов?
>>1487156Боже блять иди учи различие ссылочных типов от значимых, различие класса и экземпляра класса.
Хочу прикрутить примитивный ajax paging к своей примитивной галерее на asp.net.Следовал гайду http://www.joe-stevens.com/2011/05/30/asp-net-mvc-simple-server-side-ajax-paging-using-jquery/Но скрипт в Index.cshtml нифига не выполняется, сколько не кликай.Код контроллера: https://pastebin.com/RLgczQy6Код представления Index.cshtml: https://pastebin.com/P18nNFh3Код представления ImageList.cshtml: https://pastebin.com/EQnTQg0dБуду рад любой помощи.
Пыхчу в кровавом энтерпрайзе, но мечтаю о геймдеве. Меня отговаривают, уверяют, что в геймдеве мрак, тьма и кранчи. Это так?
>>1487384Проблема частично решилась путём переноса строки <script src="~/lib/jquery/dist/jquery.min.js"></script> в секцию <head> в файле _Layout.cshtml.Теперь проблема в том, что я один раз кликаю на номер страницы, всё норм, отображается 3 изображения. Но если опять кликнуть на номер другой страницы, то ничего не происходит.Всё ещё нуждаюсь в помощи.
>>1487421И эта проблема решилась. В скрипте заменил$(".page-number").on("click", function () {...} на $(document).on("click", ".page-number", function () {...}Всем спасибо
>>1487422Да там ад. Можешь почитать Джейсон Шрейер: Кровь, пот и пиксели. Обратная сторона индустрииТолько стоит натянуть еще нашу действительность, что означать помножить на х2.Нужен совет как провести нужного человека через собеседование.Работаю в около государственной конторе, по докам частники, по факту все заказы от государства и оно курирует.Все действия с персоналом проходят через "кураторов" и просто так пригласить человека нельзя. Все должно проходить "открыто" и чтобы было много кандидатов из которых выберут Х(мне известно что 2) лучших. Значит мне начальник поручил проводить собеседования, помимо меня будет еще 2 человека из 2 разных мест которые будут не столько смотреть на человека, сколько как я его опрашиваю. У нас уже имеются люди которых мы хотели бы взять (работали на нас как фрилансеры) и которые нас устраивают, но решение будет приниматься не мной, а этими 2 людьми на основании того как будет проводиться собеседование.Моя задача провести собеседование так чтобы взяли именно тех кого мы хотим, но при этом нельзя спрашивать какие-то дикие дебри так как эти 2 человека сразу поймут наебалово.Собеседование идет где-то час-два, 10-20 минут общий опрос опыта, 20-40 минут разная теория и 30-60 минут вопросы по практике с последующей практикой.На собеседование придут 100% не нубы, так как ко мне идут уже после первичного отбора (наши ребята прошли), ЗП порядка от 300к и желающих просто дохера.Вопросы про опыт по сути значения не имеют, так как все понимают что все равно на новом месте приходится обучаться работать по новому, правила все дела. Тут мне ловить нечего.Про вопросы теории тоже особо ничего не словишь, так как там у меня будет список вопросов которые я должен задавать и по сути любой шарпист сможет на них ответить, тут тоже все пройдут я думаю.Но вот на практике у меня есть шансы, тут уже мне надо составлять задачи/вопросы, мне нужно все сделать так чтобы и одновременно просто было со стороны и сложно внутри.Пока родил вот такую вещь. По сути дела спрашивать буду:-Что выведет этот код?-Что мы ожидаем там увидеть?-Как привести этот код к ожидаемому виду?-Почему такая "магия" происходит?https://pastebin.com/S3zDUNXRПо сути дела это не сложная же штука, но и большинство не должно смочь ответить на это дело правильно с первого же раза, а значит у тех кто в курсе будет преимущество. Как по вашему что еще можно придумать чтобы и мне не сказали что я сложную дичь выдумал и не каждый смог правильный ответ сходу дать?
>>1487486А что делать когда ты не можешь напрямую взять того кто уже работал над твоими проектами и кто устраивает по результатам их выполнения?Из-за них и началось все это дело. Так как появилась графа "аутсорс" в расходах, что по факту было отдача некоторых задач на фриланс, ибо сами по времени уже не справляемся.Чтобы убрать эту графу, сверху решили нанять еще людей.Но они нам не нужны так как уже знаем что будет. Проходили.Приходят люди которые вроде бы что-то и знают, но по факту работать не умеют. Выделяют кого-то опытного из команды, ему отдают низко приоритетный проект на курирование, он начинает его делать в новой команде, в которой 8 из 10 человек вообще не о чем и в результате через квартал оказывается что проект "встал", так как все сроки проебываются, баги растут и тупо ничего не успевают так как большая часть времени уходит на обучение команды которая все равно делает все "не правильно". Затем через полгода когда должен быть по планам прототип, по факту получаем какую-то хуйню, основная команда срочно кидается смотреть что там, в результате оказывается что легче заново написать чем все это дело разобрать и реанимировать. Новую команду увольняют, чуваку что курировал сверху выговор (по факту нет, директор знает что не его вина), у того кто кидался в такую команду за эти полгода волосы поседели, нервы не к черту, еще чуток и нервный срыв. У нас уже шутят что это своего рода "посвящение", потому что еще не один проект в новой команде не был завершен успешно. Лишь пару раз доводилось до "кое-как", но затем все равно приходилось многое переделывать.Наше руководство и вообще все в команде это понимают, но вот чиновники срать хотели на то что мы думаем, нам платят и мы должны делать ту работу за которую платить и не совать свой нос в другие дела, им виднее как, когда и кого нанимать. Если бы нам позволили выбирать мы бы вначале работали с кучей фрилансеров и по тому как они выполняли работу уже собирали бы из них команды, а не так что берут как бы "годных" ребят, но чаще всего у них академические знания. Они отлично знают теорию, могут в некоторую практику, но вот реальные вещи делать практически не способны. Зато эти фрилансеры чаще всего не бум бум в теории, не в курсе паттернов и монад, но при этом на практике как бы "подсознательно" все это дело используют и главное используют правильно. Но из-за того что выбираем людей не мы то лишь 1 из 10 такой приходит в команду который через полгода не вылетит.
Сап шарпач. Хочу написать первый более менее нормальный петпроект, но встал на этапе построения архитектуры. Хочу просто по академически сделать с DI, тестами и легко поддерживаемой архитектурой. Архитектуру проектирую в виде главного домена и отдельных модулей, которые используют другие модули через интерфейсы в домене. И вот я, например, хочу сделать сервис, который будет провайдером моего апи и в интерфейсе будет 1000 CRUD методов для каждой модели. Или есть ключевое действие всего приложения, а выделять его в отдельный модуль глупо несколько методов для изменения модели и проще будет описать model.Xxx(param) вместо service.Xxx(model, param), а оставлять в модели как то странно.Я перфекционист идиот, что не могу допереть или же нужно выбирать между правильностью и практичностью?С реализацией никаких проблем нету, начитан, но практики проектирования чего то больше за хелловорлд не было.
Сап двач. Я 16лвл, нормально знаю Паскаль, и хочу перестать пинать буи и начать писать приложухи(и вообще хоть что-то делать) на C#. Посоветуйте годной литературы для новичка в C#.
Антоны, вот я и дошёл до выбора вакансии, решил взять тестовое и немного охуел.Я теперь боюсь, что на собеседовании мне такое же тестовое предложат и я обосрусь просто, какова вероятность этого?
>>1487529Кароч, пока писал то немного прояснил все для себя. Вместо отдельных сервисов для моделей сделать интерфейс модели. Так и DI будет, и замокать просто. Ну а апи провайдер по сути и должен быть раздутым.
Аноны, какой движок посоветуете для создания 2д шутера с видом сверху? Простенький, без выебонов, чтобы просто начать вкатываться в основы
>>1487560Да у меня на плоскости были даны окружности, считай они на линии расположены.Дан массив чисел от n до n-1, где значение каждого элемента массива - это радиус, а порядковый номер - это центр.Таким образом, мне надо найти сколько пересекающихся пар окружностей.В финале я нашёл алгоритм и разобрал его, теперь знаю как оно работает Можешь посмотреть решение вот тут, тут и задача нормально описана https://github.com/ZRonchy/Codility/blob/master/Lesson4/NumberOfDiscIntersections.javaЯ теперь боюсь, что если что-то такое дадут на собесе, то это все, пизда.
>>1487601Тебе уже пизда.Ты говоришь об окружностях, а по твоей ссылке диски.Это разные объекты, и условия, и, следовательно, решения для них разные.
>>1487609Собес у тебя уже не удался.Тебе указали на ошибку, ты, вместо того, чтобы погуглить, что есть что, а потом подумать, начал сразу же спорить и залупаться.Пиздец, ты тупой.
>>1487609Но если мне ещё чего дадут на сложность алгоритма или геометрию на собеседовании, то это фейл будет.А вообще я не ебу за разницу между диском и кругом, например
>>1487613>окружность>я не ебу за разницу между диском и кругом, например1. ты не ебешь в простых вещах, которые в средней школе проходят2. если ты не понимаешь разницы, то ты ни хуя не понял, как работает алгоритм. потому что для окружности и круга разные условаия
>>1487616Окей, чисто в терминах геометрии я не прав, окружность и круг разные вещи, хорошо, я понял суть претензии.
>>1487618>>для окружности и круга разные условия>чисто в терминах геометрии я не правКак же медленно до тебя доходит, е-мое
>>1487619Есть такое, но изначально я просто не смог выразиться, для меня термины "окружность" и "круг" были синонимичны.Условно, если мне дадут день-два, то я путем долгого гугления смогу написать алгоритм, но на собеседовании мне никто столько времени не даст, есть шанс, что такое же выдадут на собеседовании?
Привет. Тут сидят люди, похожие на архитекторов? Есть несколько вопросов про anemic domain model vs rich DM. Есть кто шарит/имеет опыт?
>>1487545>нормально знаю ПаскальНо зачем?>Посоветуйте годной литературы для новичка в C#Ты не особенный, читай как и все Шилдт/Троелсен/Албахари/Рихтер и т.д.>>1487620Часто вижу в интернете людей, которым на собесах давали задания по многопоточной обработке файлов. Так что расчитывать, что тебе попадется такая легкая задача на два цикла не стоит.
>>1487731А можно пример такого задания на многопоточную обработку файла?Хотя, мне чёт кажется, что в требовании в вакансии автор забыт указать JavaScript, если так, то и париться не стоило, сразу нахуй.
>>1487776Ну это не так сложно, задание на круги было труднее, тут хотя бы что-то знакомое.А задачу такого плана нужно будет решить дома или прямо на собесе?
>>1487792Да и эта задача на многопоточное сжатие файла гуглится легко.Меня больше всякие деревья сраные страшат, я вроде знаю, как мне работать с бинарным деревом и обычным через рекурсию, но если дадут какую-нибудь задачу, то боюсь обосраться.
>>1487870Твоя тема уже была разобрана, мог бы и погуглитьhttps://stackoverflow.com/questions/23721230/float-values-as-dictionary-keyДавай я поучу тебя английскому, забиваешь в гугле:"float as key for dictionary" и все
>>1487842Смотрите чуваки, вот вам, например, решение.А то мне непонятно, как Анон из прошлого треда собирался резать по числу потоков в системе, что это вообще значит?
>>1487967разве есть темы, которые не осбосали на SOF? Любую проблему (за исключением свежих технологий) можно нагуглить и закопипастить.
>>1487967Это пистон же. И там они советуют адовый костыль, вместо единственного нормального совета не юзать флоаты как ключи словаря.
Друзья, как такое делать /правильно/ с точки зрания C#? Я не про палитру, я про увеличение окна\открытие дополнительного модуля, привязанного к позиции изначального окошка? Мне не принципиально, чтоб это было именнно одно окно, но хочется, чтоб по нажатию на кнопку сбоку и снизу открывались дополнительные области и так же прятались. Не обязательно, чтоб это был квадратик, можно и буквой Г и как угодно.Спасибо
>>1488273А в чем проблема сделать в редакторе полную форму джва и потом спрятакть на на ней все лишнее и получить форму один?Чтобы проще прятать было - оберни все правые контролы в панель, это позволит их скрывать установкой всего одного свойства у панели-родителя. В ручную еще надо будет размер устанавливать и все.
Мне необходимо обрабатывать видео разных форматов, из нескольких видео создавать одно (эти маленькие видео вращать и как-то редактировать). Ещё желательно каким-то образом выходное видео показывать в окне на wpf.Какую библиотеку для этих целей можете посоветовать?
Ребят, помогите, плиз!!! Как мне понять чего в системе не хватает из-за чего инсталлятор VS Community не хочет запускаться?
>>1488414На 10 перейду через пару месяцев, когда новый комп возьму себе. Что мне сейчас делать? Для 2017 то же инсталлятор крашится, это не в версии винды дело, по любому.
>>1488425Не знаю чем тебе помочь. Авто обновление включено? Установи все обновления если нет.Хотя я всегда думал что инсталлер студии сам ставит все что ей надо.Может у тебя файл поврежден. Попробуй восстановить или переустанови систему..
>>1488428> Попробуй восстановить или переустанови систему..Да это неделю времени займёт.Ёбанные мелкомягкие, неужели нельзя по информативнее быть в таких сообщениях...
WPFDataGridБинд к коллекции объектов типа такого вида:class Item{ public string Title { get; set; } public ObservableCollection<Group> Groups { get; }}class Group{ public string Title { get; set; } public override string ToString() // для вывода Title'а в группу в гриде { return Title; }}Группировка по свойству Groups в гриде работает, но сортировка при группировке нет. Если в рантайме убрать группировку, то сортировка работает, но после сортировки включить обратно группировку не получается.При этом если Item.Groups сделать <string>, то всё работает отлично.Как исправить?
>>1488460Таки здесь>При этом если Item.Groups сделать <string>, то всё работает отлично.напиздел. Требует IComparable. И куда его тут засунуть? У string ведь и так есть CompareTo.Взял вот это http://dotnetpattern.com/wpf-datagrid-grouping - там сортировка при группировке работает.Что за хуйня?..
>>1488503Она и у меня access и в уроке access.Нашел ответ на форуме >Может быть в том, что провайдер Microsoft.Jet.OLEDB.4.0 давно устарел и не в состоянии работать с файлами БД формата ACCESS 2007 и выше?И тут как раз такой стоит. Как его обновить? Исправить эти параметры нельзя.
Хвала Аллаху что спасает меня. Обновил Access Database Engine и заработало.Через десять минут еще 15 проблем вылезет.
>>1488200Может кто-нибудь кроме того Анона пояснить, должно ли нарезание файла на куски происходить в разных потоках?Я решил не смотреть на другие решения, но если не нужно решать файл в других потоках, то можно все на эвентах сделать.Общая идея просто объявить класс для хранения информации.Объявить 3 свойства:Первое для id блока.Второе и третье для хранения байтов, одно для изначального файла, другое для сжатого.С помощью него можно и сохранять порядок, с помощью очереди, ее и надо блокировать.
>>1488428> Установи все обновления если нет.>>1488477> может обновлений каких на ОС нет.Спасибо вам анончики, что направили меня на правильный путь, помогло. Накатил UpdatePack7R2.
Допустим файл с базой лежит в корневой папке проекта.Как изменить код, чтобы он работал на любой пеке? Без C:\Users\HOME\Desktop\c# которые индивидуальны.Фулл код //Change this path "C:\Users\HOME\Desktop\c#\WorkingWithDB\WorkingWithDB\Database.mdf" for your own computer string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\HOME\Desktop\c#\WorkingWithDB\WorkingWithDB\Database.mdf;Integrated Security=True"; sqlConnection = new SqlConnection(connectionString); await sqlConnection.OpenAsync(); SqlDataReader sqlReader = null; SqlCommand command = new SqlCommand("SELECT * FROM [Products]", sqlConnection);
Есть регекс билдер с fluentapi какой-нибудь поддерживаемый? На гитхабе только один нашел, и тот 2014 года с парой звёзд.Спрашиваю потому что свой хочу написать как петпрожект
>>1488661Создай новое свойство в app.config, туда положи актуальный путь к базе, а потом читай его в коде.>Допустим файл с базой лежит в корневой папке проекта.Если база лежит в каталоге с учу, то путь можно легко получить из Application.ExecutablePath.
>>1489035Есть конструкстор:// Create a string that consists of a character repeated 20 times.string string2 = new string('c', 20);
>>1488614Я запускал отдельный поток, который заполнял BlockingCollection из которого воркеры брали блоки. У блока два свойства - номер и данные. Потом эти блоки улетали на запись и там синхронизировались через mre. А потом я понял как сильно я обосрался. Ведь если я читаю блоки исходного файла, допустим, по 64кб, то на выходе сжатые получаются рандомного размера и как их потом читать хз. Надо курить сам алгоритм сжатия и формат файла, чтоб нормально склеить. Если кто разберется, я хотел бы посмотреть на решение.
Сап, пилю бота для диса чисто для себя и вот думаю как сделать так чтобы он реагировал на комманду, но вот проблема в том что помимо самой команды идет еще текст из за которого бот игнорирует комманду, как это пофиксить?
>>1482351 (OP)Здравствуйте. Тупые вопросы от нуфага. Начал делать игру(дада, рофл все дела) в визуал студио. Всё нравится, пока пробная версия до января.Глянул цены на лицензию и чуть со своего совецкого стула не упал - 200 к рублей. Я понимаю, там типо корпоративные версии для студий на 5-10 машин. Но не могу понять, есть ли лайтовая версия для аутиста типа меня не за 200 к? Знает кто?Либо посоветуйте аналог визуал забесплатно, ибо 200 к за программу я не готов выкладывать. 10-15 к еще туда сюда, но блять не столько. Пишу на си шарп.Да и вообще там в прайсе всё так путано написано у майков, хуй поймешь какую версию вообще покупать, а то куплю говнище нерабочее, хер потом деньги вернёшь вообще.У меня вот пикрил версия. Удобно базара нет. Но не за 200 кусков. Есть что-то аналогичное помимо нотепада +?И еще расскажите в двух словах, что за азур сервис этот, типа удалённое облако чтоле? Постоянно ломится меня туда приконнектить, блять. Заебался уже от него.Или я вообще не ту версию установил, мб какая то бесплатная в самой визуал есть?
>>1482351 (OP)Задам тупой вопрос. Правда ли, что .NET загибается? В моей мухосрани Омск не особо по нему есть вакансии.
>>1489785Хз в чем у тебя проблема. Парси и текс и комманду, дальше решай что приоритетнее. Например, на длинный обычный текст можно ответить, а если в нем будет комманда переспросить ее. И наоброт - короткий текст + комманда, выполнять комманду, а текст переспрашивать.
Пилю апликуху и созрел вопрос: Нужно ли покрывать весь код Try-catch-finally блоками? На сколько я понимаю - это довольно ресурсоемкая конструкция, да и к тому же в каждом методе контроллера дублировать их эстетично не очень. Но иначе - как же ловить все Exceptions? If-else иногда банально не может все выловить, а писать If-else-if-else-if по 10 раз не очень. Слушаю мнения экспертов.
>>1490450хм не совсем то что нужно.Обьясняю есть команда !play и после нее обычно идет ссылка или текст, и из за этого бот ее не воспринимает и выдает мне
>>1490486public class Commands : ModuleBase<SocketCommandContext> { [Command("play")] собственно как эту команду переделать так чтобы она текст игнорировала
>>1490491 private async Task HandleCommandAsync(SocketMessage arg) { var message = arg as SocketUserMessage; var context = new SocketCommandContext(_client, message); if (message.Author.IsBot) return; int argPos = 0; if (message.HasStringPrefix("!", ref argPos)) { var result = await _commands.ExecuteAsync(context, argPos, _services); if (!result.IsSuccess) Console.WriteLine(result.ErrorReason); } }
>>1490900есть 10 методов контроллера, нужно ли каждый оборачивать в Try-catch, при том, что у меня еще идут проверки на валидность?
>>1490930Ты дурачок или как? Если все 10 методов затрагивают возможность, когда твоя программа может обосраться и вылететь с фатальной ошибкой, получить неожиданные результаты и не знать что делать дальше, то ты ради экономии не будешь делать её безопасной? Если так заботит скорость - рефактори. Значит у тебя что-то неправильно реализовано.
>>1490475>это довольно ресурсоемкая конструкцияПо поводу ресурсоемкой операции - забей. В реальной жизни проблемы другие, микрооптимизации погоду не делают.>>1490475>методе контроллера дублировать их эстетично не оченьГугли фильтр исключений.Пилится или глобальный фильтр, который применяется ко всем контроллерам, или аттрибутом вешается на нужный контроллер.Упала валидация? Кидай исключение, сообщение для исключения подтягивай из файлов ресурсов, в фильтре красиво заворачиваешь ответ.
С чего начать изучение скриптинга под юнити? С каким багажом в общем и целом можно начать вкатываться в это дело?
>>1491384"Основы программирования" должно быть достаточно.И вообще там все достаточно специфично особенно если ты смотришь в будущие.Тебе придется углубляться в ECS + Jobs + Burst Compiler банально потому что это в ТЫСЯЧИ раз быстрее чем обычный подход.А это к C# самому слабо имеет отношение.
>>1491215Вся та хуйня, которая запихана в IServiceCollection (хотя помимо сервисов там еще есть опции IOptions<T>)
Задача - реализовать несколько способов экспорта одного и того же объекта в эксель-формат. Создал общий класс, который содержит базовые методы (открыть файл-шаблон, сохранить на диск, отдать как экшнрезалт итд). А дальше думаю - или конкретные методы заполнения шаблонов (их два, один для генерации самого итогового документа, другой для генерации названия документа) передавать в качестве Стратегии в конструкторе базового класса; или унаследоваться от базового и использовать Шаблонный Метод.Есть варианты? По сути мне просто нужно в зависимости от того, какую кнопку жмёт юзер, запускать соответствующий алгоритм экспорта. Алгоритмы почти одинаковые, кроме внутренней реализации методов генерации файла и названия.
Как часто используют ковариантность и контрвариантность делегатов и интерфейсов на практике? В голове вообще не укладывается. Суть понятна, а реализовать без тутора не получается.
>>1492010Стратегия должна подойти, за исключением, что ты разделишь свой суперкласс на два под общим интерфейсом. А этот интерфейс будешь передавать в класс клиента. Там же можно будет установить дефолтную реализацию через конструктор и изменение способа реализации дополнительным методом (твоим кликом по кнопке)
>>1492195Если будешь писать обощенные алгоритмы, то тебе скорее всего это понадобится, если нужно принимать более строгое обощение и отдавать более слабое(или наоборот). В старом шарпе это была боль, ибо нужно было в ручную пердолить приведение типов через корневой объект в рантайме и конпелятор никогда не проверит что не объебался. Еще это было не очень эффективно - получался болерплейт с излишними проверками и тормозами от рефлексии.
Дико извиняюсь, что оффтоп, но как фиксится залупа, когда при уменьшении размера браузера (разрешения экрана) уменьшаются и объекты на странице сайта?Пилю сайтик, когда делаю маленькое разрешение - объекты плывут и наезжают друг на друга :(
Шарпаны, допустим, у меня есть пикрелейтед функция не из прода, конечно, просто пример. Должна ли она возвращать IEnumerable<string>, а не string[]?
>>1492912>ДолжнаНет, т.к. ты возвращаемое значение установил string[]>МожетДа, т.к. string[] реализует IEnumerable (upcast)
>>1492912Что ты имеешь ввиду под возвращать? Если у тебя в сигнатуре string[], то и возвращать ретурном надо string[]. Если под возвратом ты имеешь ввиду то, что в сигнатуре, то да, ты можешь заменить там на IEnumerabe<string> и ретурном возвращать хоть string[], хоть List<string> или любой другой объект класса, реализующего IEnumerable<string>А еще в заднюю дверь уже стучит 2020 и можно писать такprivate string[] Function(string str) => str.Trim().Split();
>>1493150>можно писать такНикогда не понимал чому пидрилам не нравится единообразный стиль. Сейчас они половину кода начали обмазывать стрелочками, а вторую половину скобочками с ретурнами. Еще с делегатами как-то стрелочный синтаксис оправдан, мол не плодить вспомоггательных методов в классе, но нахера эти стрелочки обычным методам? У - уебищность.Шарп из стройного языка превращается в парашу. Пичаль.мимо дед с net 3.5
>>1493156двачую этого господина. Со своими ебучими лямбдами и переводами классы в обобщенные делегаты читабельность теряется в разы. Так что пусть идут нахуй со своими стрелочками.
Аноны, привет.Я заочник и у нас есть что-то типа программирования. Вот задали лабы делать, нужно написать уравнения и что бы программа его решала, а в примере котангенс написан - как его написать через Math.? В методичках нетуСпециальность - не программист
>>1493156Просто ты стал старым. Хотя я сам начинал с 4ого шарпа (который до асинк/авэйт) и я рад, что язык развивается, появляются новые фичи САХАРОК.>>1493181верно
>>1493033Блин, ну ты понял же вопрос: нужно ли делать апкаст для возвращаемого типа? С одной стороны — да, т.к. это позволит менять имплементацию без изменения возвращаемого типа, с другой — это вроде как нарушает robustness principle https://en.wikipedia.org/wiki/Robustness_principle.>>1493150> А еще в дверь уже стучит 2020 и можно писать такВ спойлере указал, что это выдуманный пример, не придирайся.
Еще раз хочу спросить (я этот анон )>>1493177double y3 = Math.Abs(1/Math.Tan(Math.E, Math.Pow(Math.Sin(x), 2))) / Math.Log10(Math.Abs(x));Console.WriteLine("Результат: x={0}, y={1:n10}", x, y3);
Вчера ебался с юнит тестами, есть метод, который складывает определенное поле в коллекции объектов. Поле с типом Double. Я создал мок 3 таких обектов, поместил в них 3 значения double и пустил эту коллекцию в метод.Заведома зная сумму, я начал ее сравнивать с результатом в блоке assert. Equals, Istrue - все время выдавали false. Продрочился до тех пор, пока не посмотрел через дебагер исходящее значение метода. К Double добавились какие то микроны, т.е. 3 объекта с полями по 0.1, итого - 0.3. Когда пропускаю в метод, получаю 0.3000000000006Это что за магия такая?
Вопрос не совсем по С# но по студии. Как поменять цвета в сравнивалке кода в code revew? В настройках не нашёл, а в тёмной теме новые куски кода отображаются на слишком светлом фоне что мешает чтению, хочу более контрастные цвета.
>>1493271Так во всех из тех что я ковырял фреймворках для тестирования есть перегрузка AreEquals для тестирования чисел с плавающей запятой, в которую можно передать допустимую погрешность.
>>1493262А абсолютная мелкость числа ни при чем, плавающая точка же, там относительная погрешность мешает, та ещё ебля.
>>1493279>без округления сравниватьТебя бы нахуй с такими советами>>1493281может перегрузки Equals были, домой прийду - посмотрю. Это дефолтные тесты от VS
Вкатываюсь в фреймворк тасков, не могу понять как правильно решается задача оповещений о прогрессе по ходу выполнения задачи? (например что бы на прогресс бар выводить)Первое что приходит в голову это при запуске задачи передавать ей аргумент делегат Action<int>, может что получше есть?
>>1493260используй decimal, числа с плавающей точкой не могут точно представлять некоторые числа>>1493262а ты не пори чушь
>>1493254>double y3 = Math.Abs(1/Math.Tan(Math.E, Math.Pow(Math.Sin(x), 2))) / Math.Log10(Math.Abs(x));Pow нехватает.ESinX2 = Math.Pow(Math.E, Math.Sin(x * 2))Ctg = 1 / Math.Tan(ESinX2)y = Ctg / Math.Log10(Math.Abs(x))НЕ пиши однострочников! Будь няшей.
>>1493307Антош, спасибо что отписал, но я вообще впервые запустил шарп девелоп и сидел всего часа 3 за ним - я не совсем понял что мне нужно поменять или как его правильно записать :(
>>1493448Последняя поддерживаемая версия шарпа, если не ошибаюсь, 4, т.е. оно не поддерживает... ничего. Даже копируя код с СО есть неиллюзорная вероятность, что ничего не заработает. Но самое главное зачем? Как ты додумался это откопать и установить? Но дело, конечно, твое, можешь хоть на папирусе писать
>>1493454Было приложено к методичке в архиве. Что было то и установил, меня это вообще не волнует какое оно там и т.п. Мне получить зачет и забыть это
>>1493448>только что бы модуль закрытьпофиксил за тебя>>1493294по совету анона >>1493281 в методе AreEqual есть перегрузка для чисел с плавающей точкой с дельтой (погрешностью)
Аноны, только сегодня подписал документы на новой работе. Последние пару лет, с универа еще, занимался немного айтишной, но совсем не прогерской работой дома. Решил сделать камбек, но так уже вышло, что не срослось iOS-разработкой, куда самообучался просто пинал хуй по факту.Так вышло, что в универе немного учил и прогал шарпы на формах и кресты в консоль, в рамках курса. Ну а поэтому теперь так вышло, что устроился в банк на стажировку тупо хорошо залетел на вакансию + хорошие условия со старта. Моя работа будет в бэке на NET для сервисов их CRM, немного JS для фронта. Пару месяцев стажировки, и должен пойти в штат.Оцените разумность и перспективность моего выбора. Только адекватно, пожалуйста. Я вот, например, переживаю, что вроде бы весь энтерпрайз сейчас бэк на яве пишет, не ясны перспективы, если вдруг придется сменить работу. Плюс NET и шарпы слишком проприетарны со всеми своими WCF, IIS и прочим кстати я уже должен бежать выкидывать свой макбук?
Пиздец, почитал тред, тут одни студенты с формочками. А работает хоть кто на шарпах вообще в реальных задачах (кроме юнити)? Мне страшно.>>1494156 анон
>>1494156>Плюс NET и шарпы слишком проприетарныНеверно выразился, имел в виду заточенность под винду и меньшую кроссплатформенностьфикс
>>1494156>что вроде бы весь энтерпрайз сейчас бэк на яве пишетВ основном за счет легаси>>1494156>если вдруг придется сменить работу.На слесаря? Тогда да, шарп плохой выбор.>>1494156> NET и шарпы слишком проприетарныУже давно опенсорс и мультиплатформа>>1494156>кстати я уже должен бежать выкидывать свой макбук?Да, ибо переоцененное говно. А так студия есть и под мак. ISS да, только под вынь, но есть же кестрел
>>1494162Я работаю. У тех кто работает, времени сраться в чатеке нет, а в перерывы лучше хабр почитать тот же. К тому же, итт ничего интересного не постят.
>>1494329>В основном за счет легасиЕсть какая-то тенденция ухода от явы в новых проектах? я не в курсе>На слесаря? Тогда да, шарп плохой выбор.Очень содержательный комментарий, спасибо, анон.>>1494329>Да, ибо переоцененное говноСогласен, но только насчет текущих моделей. У меня старичок конца 2013 года, и ему даже альтернатив тогда не было среди PC-ноутов. А вот макось так же отличной осталась, альтернатив нет а сидел я и на винде и на многих линукс-дистрах На винду я сильно не хочу.>но есть же кестрелК сожалению, я не разбираюсь в таких нюансах. Скажи, пожалуйста, это стоит рассматривать как полноценное кроссплатформенное решение, наряду с IIS? И вообще, насколько перспективно, что кто-то будет в серьезных решениях крутить все эти NET сервисы вне win-окружений?>>1494377>У тех кто работает, времени сраться в чатеке нетЛогично, анон. В любом случае, спасибо, что откликнулся и показался.
>>1494429У нас дотнетчики с маками запускают винду в параллелс и спокойно работают в ней. Единственное, что маковская мышь под это дело не очень подходит, т.к. на ней скролл в студии срывает.А насчет выбора не сомневайся, я тоже поддерживаю нашу срм, как фуллстек(сейчас переходим с ангулара на вью) и могу сказать, что разрабатывать на шарпе само по себе очень приятно. К тому же, он универсальный и вакансий на рынке довольно много, так что твои знания потом пригодятся.
>12. Литература по WPF>Из более-менее актуального можно выделить пару книг:>- Pro WPF 4.5 in C# (Matthew MacDonald)>- Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)Есть ли смысл читать эти книги чтобы хуйнуть суть?Или достаточно знаний справочника от микрософта?
>>1494470Спасибо за отзыв. Кстати >разрабатывать на шарпе само по себе очень приятноу меня хоть и опыта программирования очень мало, но шарп, почему-то, тоже всегда приятно ощущался в работе.>У нас дотнетчики с маками запускают винду в параллелсДа, параллель очень хорошая виртуалка, на самом деле. Сам делал через неё проект на формочках.Вот я еще думаю попробовать сервер в Azure для обучения и своих нужд развернуть, чтоб не крутить его в виртуалке. Стоит всего 6 руб/час для нормальной работы. Пока, правда, не очень понимаю, можно ли как-то извне Visual Studio для мака подключить к серверу для разработки серверного кода сервисов CRM.
>>1494888Не знаю, знаешь ты об этом или нет, но в винде при нажатии ctrl+f5(если проект относится к вебу, конечно), он развертывается в IIS на локалхосте и изменения, которые ты производишь, сразу, автоматически подгружаются в IIS. Если фронт и бек разделен - выбираешь второй проект и повторяешь, он тоже развернется. Такая себе интайм разработка на ходу. Тоже безумно удобно.А 6 руб в час как-то много в месяц выходит, нет? Проще хостинг купить.
>>1490475Если оборачиваешь try-catch, то не забывай отдельно писать что-то в логи. Иначе обосрёшься на асинхронщине.
>>1495428Ага. Ты такой смотришь: о, open source и кроссплатформенность! Поднимаешь юбку, а там проприетарщина и студия, приколоченная гвоздями к винде.
>>1495765я представляю, как человек, который задает подобного рода вопросы дойдет до главы с ковариантностью и контрвариантностью обобщенных делегатов в начале книги и начнет хвататься за голову. Если даешь подобного рода советы, ты или ставишь палки в колеса, или пишешь на отъебись.>>1495749переверни обложку книги Албахари и найди строчку - "Уровень". И меньше слушай советов и думай своей головой. А то еще обучение C# с крестов или С посоветуют.
Аноны, поясните за эту ошибку "Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=472540 for information on understanding and handling optimistic concurrency exceptions."что она значит? как фиксить? я почитал инфу по сыслки и ничерта не понял
>>1495995public JsonResult SendMessage() { if (Session["user"] == null) { return Json(new { status = "error", message = "User is not logged in" }); } var currentUser = (User)Session["user"]; var contact = Convert.ToInt32(Request.Form["contact"]); string socket_id = Request.Form["socket_id"]; Conversation convo = new Conversation { sender_id = currentUser.id, message = Request.Form["message"], receiver_id = contact }; using (var db = new Models.ChatContext()) { db.Conversations.Add(convo); db.SaveChanges(); } var conversationChannel = getConvoChannel(currentUser.id, contact); pusher.TriggerAsync( conversationChannel, "new_message", convo, new TriggerOptions() { SocketId = socket_id }); return Json(convo); }
>>1496013возможно в datatime2 по крайней мере я читал на форумах что такая ошибка с datatime2 бывает, но не понимаю как фиксить
>>1496022nope. Могу только такое дать (хотя ты это сам находил, наверно)>Подобные ошибки возникают, если:>1. underlying table для вашей EF не содержит первичного ключа. EF не может работать без этого, ведь ей надо же как-то выполнять enitities tracking. Как вариант, это можно пофиксить путем добавления автоинкрементного ключа в таблицу, что не сломает ее схему, да и схему базы (Проверено).>2. Возможно, у вас есть ключ, но он Database-generated, то есть СУБД сама генерит ключи, а в вашем случае вы определяете ключ в коде. Тут тоже возможен косяк (точно уже не помню).
>>1496023анончик, БОЛЬШОЕ ТЕБЕ СПАСИБО! начитался я форумов, а ошибка была в ключах, у меня просто автоинкрементная не была включена, но благодаря тебе разобрался) спасибо еще раз анончик
Правильно ли я понимаю, что можно писать бэк на Web api, а фронт, например, на vue? А с MVC так не выйдет, ведь представление уже морда
Скролю вакансии и все чаще вижу JS. Загляну думаю, что в этом чудо языке. Боже да это же такая казуальщина по сравнению с шарпами. Промисы - которые считаются "нидостижимыми" - это же обычные делегат-событие или реализация паттерна publisher-subscriber. Или тот же webhook. Замыкания - это же блять доступ из локального метода к переменным класса (уровня выше). Я сначала подумал, что это аналог вывода данных из контекста обобщенного делегата, по факту все оказалось намного проще.Есть ли в JS какие ни будь реально сложные вещи, знание которых можно вывалить как 20 см. болт на стол интервьюера? Или весь JS это набор ссаных функциональных инструкций?
анончики, где реально найти надежного человека который бы за определенную плату делал бы лабы по c# и не кинул бы?
>>1496292говорят в /b/ много специалистов, всех стеков, всех техноголий (только предоплату на перед просят)Думаю на Cyberforum можно найти, если посмотреть в комменты.
>>1496292Ну скинь в телегу postimeПисал лабы всей общаге, пока жил там. После выпуска не знаю, как искать клиентов. Впрочем, я уже работаю, так что ладноЛибо на author24 иди, но готовься платить 55% комиссии Кстати, по поводу работы. Аноны, сколько вы на первом месте гребли? В вакансиях, где требуется опыт, в большинстве случаев пишут 1-3 года. И несколько раз слышал от анонов, что часто менять работу плохо. Какой оптимальный срок?
>>1496382Не могу найти её реализацию на C#, только драйвер какой-то...Мне надо что-то вроде этой базы https://www.litedb.org,в dll-ке. Кстати у litedb какой-то версии пониже тоже есть поддержка net40 но потом они внедрили какую-то многопоточность и софтина начала просить net45 + netstandard 2.0.Ещё поискал leveldb, но так нифига и не нашёл...В принципе, база данных, как таковая и не нужна, если можно просто писать в файл фрагменты данных + оффсет...Однако, я решил использовать БД, просто чтобы обеспечивалась целостность данных.Ведь файл может потереться, могут быть bad-секторы, база может закорруптится, а данные внутри - задамажится.
>>1496391Но ты не говорил, что тебе нужна встраиваемая бд. >>1496391>Не могу найти её реализацию на C#, только драйвер какой-то.есть же nuget>>1496391>начала просить net45 + netstandard 2.0.А на сайте пишут, что есть поддержка 3,5. Угадай кому я поверю? И опять же есть нугет, который подтянет нужную версию.>>1496391>Ведь файл может потереться, могут быть bad-секторы, база может закорруптится, а данные внутри - задамажится.и чем тебе бд поможет, если ты собираешься хранить все локально?
>>1496400>Но ты не говорил, что тебе нужна встраиваемая бд. Я вообще в базах данных не разбираюсь, хотелось бы чтиво реквестировать, какое-нить, дополнительно,ибо, я хотел бы начать изучать это дело с нуля...Но я на Windows XP, и здесь - .NET Framework 4.0.Поэтому, я понятия не имею, какая база данных, на самом деле мне нужна,ну там SQL ли, NoSQL ли, реляционная ли, встраиваемая, невстраиваемая, удалённая ли, серверная ли...И вообще, какие они там бывают...>есть же nugetя не знаю как ним пользоваться.>А на сайте пишут, что есть поддержка 3,5. Угадай кому я поверю? И опять же есть нугет, который подтянет нужную версию.А вот на github'e пишут что дропнули net40: https://github.com/mbdavid/LiteDB>LiteDB v5>What was dropped?>Dropped .NET 3.5/4.0 - works only in .NET 4.5+ and .NETStandard 2.0И какая версия под .NET 4.0, я не знаю... И стабильная ли она, или может что-нибудь надо пофиксить ещё в ней.Хотелось бы из сорцов самой стабильной версии, скомпилировать рабочую dll-куа потом, просто подключить её - в код софтины, а потом уже дёргать за методы.>и чем тебе бд поможет, если ты собираешься хранить все локально?Я вообще не уверен, что мне нужна БД, на самом деле.И, всё что мне нужно, это каким-то невъебенным образом - обеспечить целостность данных и быстрый доступ к ним, их изменение и удаление.Потому что на данный момент, софтина просто пишет в файл следущее:фрагмент данных, начальный offset, длина данных. И всё.Длинный такой файл получается, и там все данные - они открыты...И это вот - вовсе не база данных...Этот файл во-первых может быть прочитан, а во-вторых, он может быть повреждён,и так вот как-то - может быть нарушена целостность данных...Быть может, можно как-то и без базы данных обеспечить целостность данных,например CRC32-сумма в конце каждой записи, и либо выгрузка записи, либо невыгрузка (если данные повреждены),плюс хэш всех записей в конце файла, который обновлялся бы. Или хэш большого блока данных, с пересчётом его...Опционально, хотелось бы криптовать данные...Но я думаю, в нормальных БД это уже есть. Алсо, хотелось бы, чтобы БД была маленькой, то есть чтобы там было - сжатие данных.
nuget это такая глючная параша что просто руки опускаются. Вообще неюзабельная хуйня проще руками длл в ссылки добавить чем с ней ебаццо.
>>1496423Например? Всю дорогу нугетом пользуюсь, баги особо не попадались. Разве что fody рекомендовалось ставить через консоль
>>1496425Да постоянно ебля с решением. Вытащишь из TFS новое решение нихуя не собирается. Вручную нажмешь обновить пакеты, та же хуйня. Переагружишься студия вроде соебрется. И это в лучшем случае, а то и не собирается из-за того что в разных проектах у некоторых пакетов версии отличаются. Хотя на других компах собирается.
Ку, есть моделька с двумя полями, имя и айдишник предка. Туплю, че нужно написать в 2 столбике, штоб не айдишник, а имя предка выдавал по этому айдишнику.
>>1496112Реакт хз, но vue и angular можно, если сильно заебениться, можно и spa, но mvc лучше для многостраничных сайтов
>>1494991Фронт да, а бэкенд разве можно подгружать? Вроде как даже технически нельзя изменять код в c#, могу ошибаться
>>1496542db.(Model).Where(m => m.Id == modelItem.ParentId).First().Name в контроллере и через ViewModel ебашишь в представление, можешь прямо в представлении, но тогда нужно подключать туда db context и linq.
Почему нельзя сначала создать задчу с продолжением а потом запустить? Нужно обязательно сначала запустить первую и к полученному уже работающему экземпляру Task вызывать ContinueWith?
>>1496925Неправильно понимаешь. Для труе указателей ты должен делать операцию разименывания чтобы добраться до объекта. В шарпе есть ссылка на объект, никаких специальных действий как над указателями с ней производить не нужно. Ссылка на объект и сам объект почти тождественные вещи, ибо без единой ссылки объект существовать не может так как он сразу попадает под уборку мусора, но самих ссылок на один объект может быть сколько угодно много.
>>1496942Ну ок, что в шарпе есть ещё какие-то "тру-указатели", но ведь обычные переменные тоже работают точно так же, как указатели в C++. Или в чём там разница? Можно аллоцировать новые объекты, можно указывать на другие объекты, можно указывать на null. В функцию передаются по значению, но при этом не создаётся новый объект, как это было бы в C++ с передачей объекта по значению, а создаётся только новый указатель на тот же самый объект. Разница только в названии, там "указатель" – тут "ссылка"?
Как думаете, с выходом .NET 5 в 2020, ASP.NET 5 наконец-то избавиться полностью от проприетарности и привязки к винде?
>>1497046>>1496840Ебу дал?Task task = new Task(()=>Console.WriteLine("sup "));task.ContinueWith((t) => Console.WriteLine("dvach"));task.Start();
>>1497002На работе похуй на чем писать, лишь бы работало. Я выбрал третью версию core:- кроссплатформа спецом в виртуальке поднял, чтобы посмотреть. На свою vps за один доллар заливать не рискую- новое. Пока я освоюсь как следует, эта версия с высокой вероятностью станет мейнстримом. Единственное, анон говорит, что MVC уже устаревает, так что надо будет смотреть на api и думать о фронтендеЕдинственный минус — ef не строит edmx-диаграмм, но у меня всего 6-10 баз, так что и без этого можно. Зато миграции, зато DI из коробки и вообще все удобно. Это все мои маня-размышления, с высокой вероятностью я что-то путаю, поэтому буду раз услышать, как оно на самом деле Так вот. MVC 5 это же обычный ASP.NET, не core? Как он станет кроссплатформенным?
>>1497107Так ты запускаешь исходную задачу без продолжения, а вторая строка создаёт новую в ананимной переменной и ничего с ней не делает.Запиши результат второй строки в переменную и попробуй запустить.
>>1497114Напиши, как ты хочешь, что бы работало. Ты хочешь запустить задачу-продолжение, до запуска основной? Типа кончить до того как подрочил?
>>1497134ты про преждевременную эакуляцию? Это вполне реальный таск, но не рекомендую такое пускать в продакшен
Помогите разобратся - получаю скриншот битмап, битмап сохраняю, все ок НО при попытке что то сделать с этим битмапом или отрисовать в pictureBox - вылезает GDI исключение и рисует белый экран перечеркнутый красными линиями,раньше использовал другой метод получения битмапа и все работало, но от него пришлось отказатся сам код - var process = Process.GetProcessesByName("calc").FirstOrDefault(); GetWindowRect(process.MainWindowHandle, out var rect); using (var image = new Bitmap(rect.Right - rect.Left, rect.Bottom - rect.Top)) { using (var graphics = Graphics.FromImage(image)) graphics.CopyFromScreen(rect.Left, rect.Top, 0, 0, image.Size); pictureBoxSnap.Image = image; // Тут ошибка image.Save("gg.png"); // при том что сохранение он может отработать без ошибок }
>>1497134Первый вопрос был почему это не работает хотя всё выглядит в соответствии со спецификациями фреймворка задач и ничему не противоречит.Хочу набрать массив холодных задач сформированных как угодно (пишу общий фреймворк), в том числе и через продолжения и потом запускать.
>>1497134> Ты хочешь запустить задачу-продолжение, до запуска основной? Нет, хочу запустить холодную композицию задач:Task task = new Task(()=>Console.WriteLine("sup "));Task task2 = task.ContinueWith((t) => Console.WriteLine("dvach"));task2.Start();
>>1497212Тогда не используй ContinueWith. Его смысл в том, что бы запустить код, автоматически(!) и после(!) того как отработает основная задача. Опиши тогда изначальную проблему, которую решаешь.
>>1497173По шагам ты умеешь дебажить?>GetWindowRect(process.MainWindowHandle, out var rect);>out var rectНаверно тут проблема. Сделай нормально без хипстерской хуйни.
>>1497236> Тогда не используй ContinueWith. Его смысл в том, что бы запустить код, автоматически(!) и после(!) того как отработает основная задача.Не вижу противоречия, запущена первая задача или нет не важно - всё равно продолжение должно сработать после завершения первой задачи. > Опиши тогда изначальную проблему, которую решаешь.Писал же, надо что бы один модуль отдавал задачи. А клиент этого модуля когда наберет нужный набор запускает на выполнение.
>>1497173>using (var image = >pictureBoxSnap.Image = image; // Тут ошибкаImage using диспозит и оно становится невалидным у pictureBoxSnap.
>>1497243>продолжение должно сработать после завершения первой задачи. Именно. И чтобы первая задача завершилась её надо начать.>>1497243>нужный набор запускает на выполнение.Именно как продолжения друг друга (оно же делегаты принимает, а не таски)? Может тебе простой WhenAll нужен?
>>1497253> Именно. И чтобы первая задача завершилась её надо начать.Но почему нельзя (теоретически) сначала сформировать цепочку а потом её запустить? Это ж как в LINQ где ты сначала формируешь сложное выражение и только при его вычислении происходит распутывание и реальная работа.> Именно как продолжения друг друга (оно же делегаты принимает, а не таски)? Может тебе простой WhenAll нужен?Не обязательно, но хотелось что бы и этот случай поддерживался т.к. возвращаемые задачи сами могут быть цепочками других задач. Т.е. клиент который запрашивает задачу вообще не имел понятия из каких составных частей ему эту задачу вернули.
>>1497242да по строкам умею, на строке где высыпает ошибка я указал комментариемпроблема именно в момент обращения(сохранить можно без ошибок, взаимодействовать нельзя) , если не обращаться все работает на ура, парень написавший второй ответ прав>>1497246спасибо, ты чертов генийвсех благ
>>1497108>Так вот. MVC 5 это же обычный ASP.NET, не core? Как он станет кроссплатформенным?В Core тоже есть свой MVC-паттерн. Весь ASP.NET с пятой версии будет, по-сути, следующей итерацией Core, просто из названия его уберут, потому что будет только одна ветка.
>>1497297В общем, core переименуют, и все на этом.Вот бы ещё blazor сделали легковесным, а не как сейчас — 20 мб. Не хочу js учить
>>1497466Не может быть, что всем, Джава например лучше в кросс-платформенности. По пунктам, пожалуйста.
>>1497468Ты наивно полагаешь что тебе в треде язынейм1, кто-то аргументированно напишет почему он ЛУЧШЕ языкнейм2?>>1497468>Джава например лучше в кросс-платформенностиНе актуально. Раньше тоже было похуй. Про "ОПЕН СОРС И БЕСПЛАТНЫЕ РЕШЕНИЯ!1!":не майкрасофту, так "красной шляпе" платить, у заказчиков первый хотя бы на слуху.Теперь к вопросу.Нормальные дженерики, делегаты, LINQ >> stream api, удобная работа с асинхронностью и многопоточкой (привет джавистам с synchronized в 2019 году), DLR. Есть unsafe блоки, но как правило ненужно, если это не десктоп.В целом язык развивается и живет, чего не скажешь о втором. Саппорт легаси на .net "приятнее" чем на java.C#, как язык сложнее жабы, но при этом spring на порядок сложнее asp net. Ну и второй все равно приятнее первого. Если ты полный ноль, вкатываться ни в одно, ни в другое не советую. >>1497413>BlazorХуйня без задач. >>1497511>asp net хуита по сравнению со springЯ хотел спросить, выпил ли ты таблетки, но понял что ты тупой школотрон.>>1497512>xamarin платформа>>1497512>kotlinязык, который еще и довольно уёбищный.
>>1497525Понятно, спасибо.>Ты наивно полагаешь что тебе в треде язынейм1, кто-то аргументированно напишет почему он ЛУЧШЕ языкнейм2?Ну ты же написал. И мне нужен как раз bias в сторону C#, раз я его выбрал.
>>1497525>В целом язык развивается и живет, чего не скажешь о втором.Да, java 13 вон 10 лет назад вышла>Саппорт легаси на .net "приятнее" чем на java.Особенно когда нет обратной совместимости.
>>1497541>Да, java 13 вон 10 лет назад вышлаАга, все побежали переписывать свое легаси на 13 жабу.Далеко не везде есть даже 8-я. >>1497541>обратной совместимостиМаня плиз, единственный раз, когда были проблемы, которые не решались парой кликов: переход с .net framework 2.0 на 3.0 и было это больше 10 лет назад.Сейчас же можешь даже не залупаться.При желании, без лишний ебли можно использовать пакеты .net framework на коре, хотя это нужно было первые пару лет.
Сап, аноны. Не гоните ссаными тряпками и заранее простите за аутизм. Может где-то на все это есть ответы, но я хуй знает.Есть идея вкатиться в Шарп, ибо три года пропинав хуи в универе, мне почему-то понравился больше всего он. Студентота без скилла в Шарпе (ну говнолабы не в счет). Хочу написать мобильное приложение-обучалку используя Xamarin (вообще вроде как кросс-платформа, можно и для винды наверное) и допилить к нему что-то на ASP.NET (но что ? идей вообще нет).Каковы шансы вкатиться с этим хотя бы на 500$/мес для начала (есть знания по SQL и Гиту) ? Куда писать и как искать эту самую РАБотку после всего ?Какие перспективы у Шарпа вообще ? Обосрался ли я где-то ? Может стоит кардинально изменить подход заранее и выбрать другой проект на Шарпе, ибо мой дерьмо ?
>>1497565> Каковы шансы вкатиться с этим хотя бы на 500$/мес для начала (есть знания по SQL и Гиту) ? У меня первая зп была 400 бакосв в месяц.> Куда писать и как искать эту самую РАБотку после всего ?На сайты, которые оставляют о работе, очевидно же. Что нужно знать просто смотришь что в вакансии указано, по тому и готовишься.> Какие перспективы у Шарпа вообще ? Никуда он не денется в ближайшие N лет.У меня небольшой опыт собеседований, но насколько я слышал зачастую многие вообще хуй забьют на твой проект и даже не посмотрят на него, а те что глянут будут плеваться по любому поводу, чтобы цену тебе скинуть.Хотя в моем случае, возможно, мне очень помогло то, что у меня было профильное образование, это можно так сказать заменило мне собственные проекты.По проекту пофиг что ты будешь делать. Главное что-либо делать в принципе, даже если это совсем говно будет. Потом со временем, когда поднаберешься опыта, будешь сам начинать замечать, где можно было лучше сделать.
>>1497629Для первого устройства на работу надо будет продемонстрировать какой-то свой проект? А оно обязательно должно быть полезным, применимым и актуальным, или достаточно просто "вот я зделол что-то, используя такие-то технологии, в процессе научился тому-то"?другой анон
>>1497629Да касательно "не денется" я понимаю. Что насчет перспектив найти работу в весьма сжатые сроки ?Как с удалёнкой дела обстоят ?Насколько важно знать вэб залупу типа Джсов и прочего, если работаешь с АСП ?
>>1497760И вендекапец настанет уже в следующем году, и долларовый пузырь почти лопнул, и у России будет лунная база к 2015. Надо только подождать.
Привет, шарписты. Я тот джавакун который перекатывается к вам. Только что узнал, что в шарпе многомерный массив и массив массивов - не одно и то же. ну, типаar [i,j] и ar[j], вы поняли. Вопрос: Если я буду везде хуярить массив массивов и пользоваться нормальной индексацией - будет норм? Или у многомерных есть какие-то преимущества?
>>1497809Вот ты сейчас находишься в трёхмерном пространстве, ты испытываешь приемущества от 10 мерного если не можешь пользоваться высокими размерностями?
Помогите с редиректом на asp.net через web.config.Нужно редиректить с site.com/atlanta на site.com/search/ga/atlanta, но если в ссылке есть слово atlanta (например site.com/blog/atlanta/articles) то оно тоже редиректит. Мой rule из web.config<rule name="Atlanta redirect" stopProcessing="true"> <match url="atlanta" /> <action type="Redirect" url="https://www.funeralocity.com/search/ga/atlanta" redirectType="Permanent" /></rule>
>>1497665> Для первого устройства на работу надо будет продемонстрировать какой-то свой проект?От работаделя зависит, общепринятых стандартов нету. Наверняка есть такие собесдования, где это рассматривается весомым плюсом.> А оно обязательно должно быть полезным, применимым и актуальным, или достаточно просто "вот я зделол что-то, используя такие-то технологии, в процессе научился тому-то"?Для начинающего важнее второе, чтобы показать что ты не хуй с горы. Никто от тебя ничего серьзного не ожидает.Иногда некоторые конторы дают такое тестовое, что сойдет за отдельный проект.Еще есть такая штука как курсы при конкретной конторе. Ты получаешь бесплатное обучаение с шансом, что тебя потом возьмут на постоянку. У меня знакомый такие заканчивал, рассказывал, что все кто дошли до конца устроились.>>1497670> то насчет перспектив найти работу в весьма сжатые сроки ?От города завист, насколько ты будешь активно рассылать свое резюме повсюду.Я искал довольно пассивно, было 3 собеса за почти 2 месяца, на третье взяли.> Как с удалёнкой дела обстоят ?Как первую работу тебя никто не возьмет на удаленку. Если больно хочется то это фриланс на каком-то одеске, но учти что там самому придется общаться с заказчиком, выяснять все детали его пожеланий, ставить самому себе тз и прочее. Не говоря уже о том, что сначала нужно будет прорваться сквозь конкуренцию.> Насколько важно знать вэб залупу типа Джсов и прочего, если работаешь с АСП ?Опять-таки, если в вакансии есть требование — значит рассчитывают что ты будешь что-то на фронте делать. С АСП это обычно так и есть.
>>1497806Где ты в последний раз сайты с .asp видел?Десктоп умираетВ тыпрайзе его доля намного меньше, чем у кое-какого другого языкаМелкософт пидоры индусы проприетарные.
>>1497811Не понял. В чем разница (если речь не идет о ступенчатом массиве) между new int [n,m] и new int[n][]
>>14978091. Многомерный массив хранится как один блок памяти, в отличие от массива массивов.2. Размеры многомерного массива можно задать сразу при инициализации и нельзя изменять потом.3. В многомерных массивах все "строки" всегда одинакового размера.По сути, используя многомерный массив ты более четко выражаешь свои намерения и потенциально уменьшаешь кол-во ошибок, связаных с инициализацией и изменением размера внутренних массивов, однако во многих случаях работать с ним менее удобно, посколько нельзя оперировать строками отдельно, например, ты не сможешь так просто поменять строки местами, заменить одну строку на другую, пройтись по строкам в цикле foreach и т.д. + LINQ не работает с многомерными массивами.
>>1497881У первый это матрица, второй массив массивов в кжадом из которых может быть разное число элементов.
Шарпаны есть один словарь с двумя-шестью значениями типа (int, float).Сколько места он занимает в памяти?
>>1497992Тебе зачем? Ну там хранятся ключи, значения, хэши. Плюс, насколько я помню, там количество корзин может меняться в зависимости от коллизий и прочего. Оно тебе надо это всё считать?
>>1498000>Оно тебе надо это всё считать? Да хотел прикинуть сколько это места. Так-то есть класс в котором 300-500 таких маленьких словарей, а экземпляров класса может быть 1.5к штук. Я боюсь в память не влезть учитывая, что это далеко не все что нужно хранить.Альтернатива это вычислять эти словари заново по мере необходимости, не сказать что это долго, но неприятна постоянная аллокация памяти(нежелательно останавливаться на сборку мусора).
>>1497910ты рофлишь? Не о том речь. Если я создам массив массивов из n массивов длины m и многомерный массив n строк m столбцов - что предпочтительнее, почему и все такое
>>1498017Чет пытались делать микрофреймворк, но не особо эта жирнота пролезает в эмбед.У меня просто есть таргет по памяти - не более 1 гб. И вообще, отжирать память у пользователей на хуиту это плохо. Понятненько?
>>1497992Ну int весит 4 байта, флоат 4 байта. В итоге 4+4 = 8байт. 8 6 = 48 байт48400*1500 = многа цифар
>>1498074Никакого, просто код смешной.Сегодня проходил по жидхабу и случайно увидел еще одну реализицию того же самого. Суть: автор полагается на то что FindIndex всегда пойдет с правильной стороны по аккомулятору, лол. Ну и без делегатов не обошлось, скоро без них даже нос вытереть не смогут.Сссылка: https://github.com/Syomus/ProceduralToolkit/blob/master/Runtime/RandomE.cs
>>1497308>Не хочу js учитьЯ тоже, но придется. Ну а что поделать, все равно все нормальные конторы в энтерпрайзе требуют базового знания жса, один хуй нужно потихоньку изучать.
>>1497565>Хочу написать мобильное приложение-обучалку используя XamarinХуета без задач. Мультиплатформа в 2019 году мертва. Все приложения пишутся нативно. А если не нативно - так это не от хорошей жизни. Исключение - общая бизнес-логика на котлин нейтив для унификации и кресты для перфоманс-зависимых задач. >Какие перспективы у Шарпа вообще ? Если ты хочешь работать в мобильной разработке, то даже не смотри в сторону замарина и шарпа вообше. Тебе либо котлин/ява для андроида, либо свифт для iOS.>на ASP.NET А вот это уже совсем другая область, и тут перспективы есть неплохие. Бэкенд разработки в энтерпрайзе много, да и асп.нет сейчас майки активно развивают из-за сервисов Azure (это второй, по процентной доле, источник их прибыли, после офиса, который с небольшим отрывом идет). Асп.нет смысл изучить есть. Замарин им никакой прибыли не принесет, это просто придаток, который волочат в дотнет. Майки сами отлично понимают, что на мобилках все нативно сейчас, а на дестктопе вообще всё уходит в веб.
>>1498228Окей. Какой проект можно было бы набросать на АСП.Нет ?Я просто вообще не имею идей.Хотя бы в какую сторону копать ?
>>1498230>Какой проект можно было бы набросать на АСП.Нет>Я просто вообще не имею идей.Так а я откуда знаю? Любой бэкенд пиши. Я ж не знаю, какой у тебя там уровень знаний и что ты сможешь реализовать.
>>1498230Можешь замутить аналог kde connection, сервер на асп.нет+десктоп или веб-клиент для управления и замарин для управления с телефона.
>>1498230Только сразу почитай про нормальную архитектуру приложения и паттерны(Data acess layer, unit of work это абсолютный минимум), чтобы потом было удобнее работать над проектом.
C# это вендовое поделие, завязанное на внутренности венды. У MS даже биндинги свои к C++ (managed C++) называется. Индусокод во всех красе. Советую бежать как от огня при любых попытках рабовладельца заманить на такую работу. Даже за большие деньги. Психика дороже.
>>1498257В 2020 Core и Framework сольются и станут одной платформой .NET, так что не понимаю, о чем ты.
Сярпогоспода, у меня такой вот вопрос: Где почитать про нормальную к-с архитектуру основанную на сокетах с нормальными примерами именно на сярпе? В основном интересует сервер. Всякие примеры что я видел в интернете, это либо хуевая архитектура где сервер это какой-то комбайн чуть ли не минет клиенту делающий, держащий в себе и БД, и лог, и криптографию и еще кучу всего, либо что-то в духе: Ну есть клиент, есть сервер, сервер послушал что попросил клиент, ответил, закрыл сокет и ждет других подключений.
Не так давно шарпотред был полумертвым с низкой скоростью постинга далеко не на нулевой, а сейчас он оживился с тех пор, как на оппосты стали ставить каких-то аниме-трапов. Ну и шапку допилили.В чем причина? На доску протекли онемэ?
>>1498381>а сейчас он оживился с тех пор, как на оппосты стали ставить каких-то аниме-траповПравильный маркетинг, хули.
Есть те, кто работал с wordом и IAccessible? Мне нужно скрывать вкладку Файл у ворда, для этого я ее рекурсивно ищу по имени у IAccessible объекта и его дочерних объектов. Но как быть, если у пользователя word может быть вообще на любом языке? На искать же мне как выглядит название вкладки на каждом языке. Может есть какие-то гуиды или инвариантные способы поиска вкладки?
>>1498230> Я просто вообще не имею идей.Смотри, я придумал тебе идею ИНТЕРНЕТ МАГАЗИН того что тебе самому нравится.Какой я находчивый, скажи?
>>1482351 (OP)Хуле эта наноборда: https://github.com/username1565/nanoboardгигабайт памяти оперативной жрёт, при Collet'e?>Необработанное исключение: OutOfMemoryException.Надо бы как-то ограничить потребление памяти, но как?..Что-то повисает в памяти, походу. Знаю, что можно сделать как-то так:>long usedMemory = GC.GetTotalMemory(false);и узнать сколько прога жрёт памяти в данный момент.Но как эту память очистить, и как подождать, пока всё что её жрало - завершится, чтобы потом продолжить?> System.Threading.Thread.Sleep(1000);не помогает, он тормозит всю прогу, а память как была занятой, так и остаётся...>GC.Collect();Что-то вроде чистит, но не всё и не полностью...>GC.WaitForPendingFinalizers();Тоже, куда только не совал, всё-равно память как занята, так и висит занятой, в диспетчере задач...Если есть идеи какие-нить - напишите тут: https://github.com/username1565/nanoboard/issues/5#issuecomment-543101689Хотя код простой тут, но эта шняга меня - уже подзаебала просто.
>>1498618Зачем ты это принес?И да, память в ней уже фиксили Года три назад, раньше она и по 2-3 гб жрала, а теперь всего гиг.
>>1498641Вот я и гляжу, там, исходнике, такие ебические конструкции...Весь коллект прописан в файле \nanodb.exe-source\PngTransport\Aggregator.csСначала, в методе Aggregate, в цикле, вызывается ParseText,она парсит тред, и извлекает ссылки на пикчи из html.Внутри неё, в цикле, эти картинки загружаются, и сразу же передаются в ParseImage.Дальше уже, ParseImage выкачивает картинку из сети,и парсит её, запуская nbpack.NBPackMain.ParseFile из файла \nanodb.exe-source\PngTransport\NBPack.cs.Там, внутри, видно, что сначала запускается метод Unpack,извлекаются посты, которые после их извлечения, циклом, по одному - добавляются в базу данных,в результате вызова PutPost.Метод PutPost - лежит в \nanodb.exe-source\Database\PostDb.cs и он просто добавляет в базу пост.Так вот, вся эта шняга вызывается в циклах, и где-то пожирается оператива,наверное где-то на этапе Unpack, в какой-то из функций, длиннющий массив в памяти остаётся,или какой-нибудь контейнер без .Dispose()Хотелось бы, как-то, перед запуском парсинга следующего контейнера,очистить неиспользующуюся память, подождать её очистки, и затем уже парсить новый контейнер.Но, вот незадача... GC.Collect() не очищает всё это ненужное говно,и я гребу как правильно написать функцию public static Vilka_govno_chisti()
>>1498704Ох, братишка, ды ты упролся.Есть нетовский профилировщик памяти/вызовов. Пикрелейт показывает распределние памяти по времени и ее конечное состояние.Поробуй посмотреть, что у тебя там лежит по время скачивания/обработки картинок в наноборде. Я еще тебе рикаминдую замокать сети и подготовить пример из сотни изборажений чтобы была воспроизводимость в случае фиксов кода.Ссылка: https://www.microsoft.com/en-us/download/details.aspx?id=16273Профайлит даже второй .нет, но индусы из микросовта опидорели и требуют уже четвертый для работы.
>>1498730Слышь, антонина, пасиба конечно, но я этих окошек не вижу в софтине по ссылке.Зато я вижу кое что другое. Прописал, короче в Aggregator.cs, там где ParseImage - вот это:>GC.Collect();>GC.WaitForPendingFinalizers();>GC.Collect();>long usedMemory = GC.GetTotalMemory(false);>Console.WriteLine("ParseFile commented. Memory used: "+usedMemory);>Console.WriteLine("bytes.Length: "+bytes.Length);И закомментировал вызов nbpack.NBPackMain.ParseFileПосле этого, при попытке коллекта - вижу как быстро растёт потребление памяти...Как я понял,>client.DownloadDataAsync(new Uri(address));загружает картинку,передаёт байты её - вот сюда:>client.DownloadDataCompleted += bytes => а они там просто конкатенируются, и повисают в памяти, блядь.Надо обрезание какое-то сделать, походу, здесь. И мецицу заодно.
На работе досталось легаси и некоторое время на рефакторинг (всё отрефакторить точно не успею).Проект на MVC5+EF. БД без внешних ключей вообще, postgresql, таблиц около 40. Есть смысл потратить время на поиск и расстановку связей? Или лучше более полезными делами заняться?Как вижу из потенциальных проблем - каскадное удаление в EF не настроено, в бд естественно тоже. Или оно из коробки работает? Ответы в гугле разнятся. Какие еще проблемы могут встретиться в будущем из-за отсутствия связей? кроме невозможности быстро по схеме сориентироваться офк
>>1498874Сама идея, у неё - охуенна.Не, я не разраб, я какой-то залётный рукожопый полунедоразраб.Я её откопал просто, и хотел бы, наконец - допилить.Кодю C# под .NET Framework 4.0, потому что Windows XP.Я также пробовал её запускать на Windows 8.1, получилось, но код ещё - не ахти.Подразвить бы это дело, а то наноборда карасика на работает чё-то на XP.
>>1498892Все я разобрался. Если под профайлером запускать, то нб путает корневой каталог запуска и не там ищет свои ресурсы.>>1498891>Сама идея, у неё - охуенна.Нет, это не так. Потом может подробно напишу.
>>1498897>Нет, это не так. Потом может подробно напишу.Только не забудь. Хотелось бы реально, какую-то конструктивную критику увидеть. Ну или просто критику...>Если под профайлером запускатьТак это уже не надо. Я же уже, определил выше, где память растёт...Там и надо бы её подчищать, как-то.Сначала подумал, что можно было бы сделать>using (_client = new WebClient()) но там WebClientX,поэтому внизу сунул просто client.Dispose(), и... Нифига...Попытался всунуть его в using, а он, падла - не IDisposable.Наверное поэтому client.Dispose() никакого эффекта не даёт.
Сап двач. Есть класс с такой сигнатурой:public class Game<T> where T:HeroВ этом классе есть метод с инициализацией T, но не типа Hero, а предка класса Hero - HeroWarrior/HeroMage. Как это сделать?
>>1498927>public HeroWarrior Method1(Hero x){>...blah-blah-method...>}>public HeroMage Method2(Hero x){>...blah-blah-method...>}
>>1498907Ага, словил OutOfMemory ексепшн. Память точно течет.Вот пишет что всего 700+ мб занято кучей, а диспетчер задач показывает 1.5 гб.>>1498927Приведи к нужному типу и инициализируй как надо. Но вообще ты делаешь что-то неправильно, если тебе нужны приведения типов в обощенных методах, такого не должно быть.
Добрый вечер кодеры Шарписты.Делаю задания с методами и никак до меня не доедет как в один метод добавить одномерный массив из другого метода.Каким хером к ним обращаться?Вот метод для создания массива при помощи ввода чисел в консоли:public static int[] AddToConsoleArray(int length) { int[] arr = new int[length]; Console.WriteLine("Type any numbers and press Enter."); for(int i = 0; i <length; i++) { arr = int.Parse(Console.ReadLine()); } return arr; }И теперь мне нужно используя данный метод сделать следующее заданиеИспользуя метод для создания массива поменять местами максимальный элемент и первый.Как этот ебаный массив из первого метода телепортировать в следующий метод ?(Само задание сделал по отдельности а совместить не понимаю как)
>>1498939>Как этот ебаный массив из первого метода телепортировать в следующий метод ?Ну ты чего ту-ту-ру? Передавай его как параметр.Вот у тебя метод возвращает массив int[]. Сделай чтобы второй принимал этот массив как параметр и чего-то там с ним делал.Должно выглядеть примерно так:SwapMaxAndFirstElement( AddToConsoleArray(10) );// сигнатураpublic static void SwapMaxAndFirstElement( int[] arr )
>>1498940Вроде делаю что ты порекомендовал а все равно хуитаstatic void Main(string[] args) { int [] array=AddToConsoleArray(5); SwichMaxIntegerInArray(AddToConsoleArray(5)); Console.ReadKey(); } public static int[] AddToConsoleArray(int length) { int[] arr = new int[length]; Console.WriteLine("Type any numbers and press Enter."); for(int i = 0; i <length; i++) { arr = int.Parse(Console.ReadLine()); } return arr; } ///Поменять местами максимальный элемент и первый. public static void SwichMaxIntegerInArray(int [] arr) { int max = arr[0]; int maxindex = 0; int first = arr[0]; for(int i = 0; i < arr.Length; i++) { if (max < arr) { max = arr; maxindex = i; } } arr[0] = max; arr[maxindex] = first; }
>>1498907Как-то так.Внутри WebClientX обычный WebClient. Они не диспозятся как следует после завершения потока. 453 - это общее кол-во инстанций созданое за все время работы, подозреваю их должнно быть ровно 30 под число потоков.
>>1498943>int [] array=AddToConsoleArray(5);>SwichMaxIntegerInArray(AddToConsoleArray(5));Братишь ты тут два массива создал. Один сохранил в переменную, а второй передал в метод.Делай так:int [] array=AddToConsoleArray(5);>SwichMaxIntegerInArray(array);
>>1498945Ооо, пасиб, поколупаю. Я так мельком и думал, что где-то там есть какаха.Хотя основной упор делал на тщетную попытку сделать .Dispose и очистить массивы в функциях парсинга. И ещё столько GC.Collect() напихал у себя - ёбнуться можно, и всё безуспешно.>>1498939>>1498943https://rextester.com/VBRTK48128
>>1498935>такого не должно быть.Есть сущность, которая принимает объекты, наследуемые одним интерфейсом/абстрактным классом. Как еще ее можно реализовать?
>>1498950Уже исправил так как сам понял что 2 раза ввожу массивыно все же вопрос остался. Не выводит результат кода задание с заменой чисел массивавот кодstatic void Main(string[] args) { int [] array=AddToConsoleArray(5); SwichMaxIntegerInArray(array); Console.ReadKey(); } public static int[] AddToConsoleArray(int length) { int[] arr = new int[length]; Console.WriteLine("Type any numbers and press Enter."); for(int i = 0; i <length; i++) { arr = int.Parse(Console.ReadLine()); } return arr; } ///Поменять местами максимальный элемент и первый. public static void SwichMaxIntegerInArray(int [] arr) { int max = arr[0]; int maxindex = 0; int first = arr[0]; for(int i = 0; i < arr.Length; i++) { if (max < arr) { max = arr; maxindex = i; } } arr[0] = max; arr[maxindex] = first; }
>>1498952И зачем этой сущности реализовывать часть поведения чужих типов?Если сущность у тебя принимает обобщение(интерфейс или абстрактный класс), то она и должна с ним работать как с обощением и ей должно хватать инфы чтобы творить над ним всякие странные вещи. Если тебе нужно сделать что-то классозависимое в таком обощении, то есть паттерны стратегия и шаблонный метод, на крайняк есть виртуальные методы - используй это.Поэтому правильная инициализация Hero и всех его производных будет такаяpublic void Init<T>(T Hero, Game Context){ // одинаковое для всех Hero.CommonShitForAllAvaiableHeroes = 0; // разное для каждого подкласса Hero.InitSpecialShit(Context)}
>>1498948До пизды эти веб-клиенты, они жрут не так много...Попытался их диспознуть - нифига...Прописал, короче, в WebClientX.cs это:>public void Dispose()>{> _wc.Dispose();>}Теперь, должно диспозится.Только где и как вызывать этот диспоз - не пойму чё-то.Если сделать так:>client.DownloadDataAsync(new System.Uri(URL));>client.Dispose();софтина диспозит веб-клиент, сразу же после начала закачки, но дожидается загрузки файла с него.Как только загрузка успешно завершена, срабатывает:>client.DownloadDataCompleted += bytes => и вся эта функция.Так вот... На этапе приёма bytes этих, память как-раз и растёт.То есть они тупо сохранятся в памяти и дописываются в неё.Пытался их занулить в самой функции:И так>bytes = new byte[0];И так:>bytes = null;И даже так (внутри этих скобок после DownloadDataCompleted):>client.Dispose();Но нифига. Память всё-равно растёт по мере закачки файлов...Это наглядно показывают три строчки:>long usedMemory = GC.GetTotalMemory(false);>Console.WriteLine("ParseFile commented. Memory used: "+usedMemory);>Console.WriteLine("bytes.Length: "+bytes.Length);Всё остальное что внутри скобок DownloadDataCompleted - закомментил.И чё терь делать с этой фигнёй? И это... Может оно не тут совсем память жрёт?А где-нить вот тут, в WebClientX.cs:>public event Action<byte[]> DownloadDataCompleted = delegate{};???
>>1498968Вот тут пиздят про утечку памяти у делегатов: https://social.msdn.microsoft.com/Forums/en-US/7954762a-eff9-4e95-a34e-3144761fb40e/how-to-avoid-memory-leak-from-delegates?forum=csharpgeneralТак что не делегируйте делегации делегациями делегационными.
>>1498962В моем примере: public class Game<T> where T:Heroэто собирательная сущность, без какой либо реализации, только подписка на события, которая присуща каждому типу, наследуемому от Hero.Я могу внутри Game создать List<WarriorHero>, List<MageHero>, List<ArcherHero> и добавлять в каждую из коллекций нужную сущность. Но может я долбоеб, что везде пытаюсь выпилить красивый код и создаю List<T>, потом ломая себе голову с приведениями в дженериках...Что скажешь по этому поводу?
>>1498979Уже сам победилstatic void Main(string[] args) { int [] array=AddToConsoleArray(5); SwichMaxIntegerInArray(array); //Console.WriteLine(SwichMaxIntegerInArray(array)); Console.ReadKey(); } public static int[] AddToConsoleArray(int length) { int[] arr = new int[length]; Console.WriteLine("Type any numbers and press Enter."); for(int i = 0; i <length; i++) { arr = int.Parse(Console.ReadLine()); } return arr; } ///Поменять местами максимальный элемент и первый. public static void SwichMaxIntegerInArray(int [] arr) { int max = arr[0]; int maxindex = 0; int first = arr[0]; for(int i = 0; i < arr.Length; i++) { if (max < arr) { max = arr; maxindex = i; } } arr[0] = max; arr[maxindex] = first; Console.WriteLine("Замена первого и максимального элемента"); foreach (int rezult in arr) { Console.WriteLine(rezult); } }
>>1498979Только до XOR-Exchange надо бы ещё добавить:>if(index==0) return arr;А то, когда первый элемент наибольший, получается ноль там.
>>1498965Нагуглил тут: https://stackoverflow.com/a/6063381что WebClient имеет метод .Dispose(),но при этом не является IDisposable.Нахуя ему тогда .Dispose() - непонятно.Как сделать его IDisposable - тоже непонятно.То-то я думаю, хуле оно даже с using'ом память так жрёт? Пиздец какой-то.
>>1499026Это всё из-за client.DownloadDataAsync и как пояснил этот >>1498976, скорее именно - из-за делегации делегационирующей делегациоанализацию делегационную.Там же синтаксис, примерно такой:>client.DownloadDataCompleted += >delegate(object sender, DownloadDataCompletedEventArgs e)>{> data = e.Result;>};Поэтому, делегация эта висит в памяти и мешает диспознуть говно. Предлагаю писать в файл список ссылок и перезапускать прогу нахой.
>>1498874Вот, нашёл самый первый код: https://github.com/alexmelyon/nanoboard(Updated on 5 Mar 2016).Либо это разраб оригинальный разраб, либо он форкнул у разраба.>>1498891>Сама идея, у неё - охуенна.>>1498897>Нет, это не так. Потом может подробно напишу.Ты так и не высказался.>>1499026>>1499029Может уж проще будет её на какой-нибудь питон, си или вообще - на ассемблере переписать?Как по мне, так на питоне оно хоть читабельнее будет...
В чём смысл писатьpublic string SomeField { get; set; }если это абсолютно то же самое, что иpublic string someField;? Просто какая-то иллюзия инкапсуляции.
>>1499137Потому что студия не проверят, все ли варианты покрывают твои if - else if - else if. Если бы у тебя было просто if-else, тогда было бы норм.Просто инициализируй y в самом начале и всё.
>>1499137Потому что ты не написал y=0. Вообще, нахуй тебе он, если ты можешь сразу делать возврат по значению х? И что за пиздец в 8 строке?
Ламповая конфочка трапов - .NET - программистов и просто приятных наркоманов приглашает вас присоединиться к обсуждениям сишарпа, фшарпа, питона, хаскеля, добов, нбома, мефедрона и просто приятных посиделок за ебаной студией опять залагала блять.Котлин посоны приветствуются, тут скоро хакатон, собираемся всей конфой поучавствовать. Enjoy!https://t-do.ru/joinchat/JHAwOkQrlDk_cdgEPaF5hA
>>1499383Ненавижу эти все ваши чаты.Хуйня бестолковая для социоблядей.И я уверен что половина чата это офтоп, который разводят пару вниманиеблядей.
>>1499446Та блядь, тысячи их. Сидишь такой в порночатике няшном, думаешь всё секьюрно и криптово там,а какой-то мойор и АНБ, волосатый елдак свой надрачиваетна твою сегодняшнюю тяночку-целочку стесняшечку,и ещё небось сдеанонит её, поймает и профистингует.Ебал я такие телеги и вайберы, с софтварными закладками. А про хардварные закладки я просто промолчу, лол.Так что, ИМХО, TOX - хуй взломаешь.Там ассиметричная криптография, после генерации пары ключей,можно личины хоть миллионами менять, и нет привязки к личным данным.>>1498618>>1498704>>1498730>>1498814>>1498907>>1498935>>1498945>>1498950>>1498965>>1499026>>1499029>>1499042Короче, Аноны, вся хуйня где-то вот здесь: https://github.com/username1565/nanoboard/blob/5f193b26050021431b81603cec54403ebf781dfe/nanodb.exe-source/PngTransport/WebClientX.cs#L31В этом методе и классе.Что я сделал? Во-первых сделал его IDisposable:> public class WebClientX : IDisposableВо-вторых, прописал отдельный метод DownloadData в WebClientX + curl клиент присунул, там, внутри - как и в методе выше.Сделал ещё один метод Dispose, где просто диспозится webclient.Затем заменил нафиг DownloadDataAsync - на DownloadData в файле Aggregator.cs,после чего, просто засунул этот webclientX - в using.В итоге, памяти жрёт намного поменьше, при коллекте.Как скомпарю все эти изменения + ещё свои некие - выложу кот.
добрейший вечерок, никто не делал здесь музыкальных плееров на WPF? Если да, то возможно ответьте на вопрос: Как сделать контролируемую полоску воспроизведения(чтобы можно было управлять)?
>>1499659https://www.google.com/search?tbm=isch&q=WPF+полоса+прокрутки+в+плеереТам, по ссылка глянь...Пока нашёл это, но дальше не читал. https://professorweb.ru/my/WPF/UI_WPF/level6/6_18.php
Перекатываемся мои няшные лапочки https://2ch.hk/pr/res/1499746.htmlhttps://2ch.hk/pr/res/1499746.htmlhttps://2ch.hk/pr/res/1499746.html
>>1499408Кстати, борда вообще куда больше подходит для околопрогероского общения, из-за её организации веток ответов. Если пытаться что-то обсуждать с ответами в телеге, то это быстро перерастет в нагроможденный пиздец. К тому же, там актуальность сообщений после десятка других, которые полностью вайпнут экран месседжера, вообще в ноль падает. А вот тред больше читают.Так что все заебись тут, говноконфа не нужна, двачую.
>>1499476>Так что, ИМХО, TOX - хуй взломаешьПо секрету скажу, что старички хакинг-сцены и всякие около них к примеру, кapдеры для общения между собой используют жабу + otr поверх. Так что тоже можешь брать на заметку такое решение.
>>1501026>жабу + otr поверх>otr поверхПогуглил немного, и мои глаза...https://ru.wikipedia.org/wiki/Off-the-Record_Messaging#Шифрование_сообщений>любой, кто перехватит сообщение, сможет выборочно изменить любые биты в сообщении>@>Благодаря спорному шифрованию участники протокола OTR могут утверждать,>что любое из переданных сообщений было изменено третьей стороной.OTR(YOBA ETO TI? + KEY) = CRYPTO_YOBA_ETO_TI? -> MOYOR -> OTR(CRYPTO_YOBA_ETO_TI? + YOBA ETO TI?) = KEY@OTR(ZEC ETO TI? + KEY)@NET TI, YOBA-MOYOR.
>>1499276да, нам шефова говорит мол мы хуйней занимаемся, и что надо делать так, так проще, и типа длл можно много раз использовать для разных проектов, вот я и спрашиваю каким образом это реализовать...
>>1504306пофиг что баба, беда в том что тупая как пробка, то есть ну не сказать что совсем тупая, но сука, доказать или объяснить ее что либо нихуя не возможно, у не в голове какой-то манямирок и она думает что все должно быть именно так а не иначе, а то что не получается, так это мы тупые очередной раз обосрались, а не она, бесит.
>>1499276>>1504497Перекатываемся мои няшные лапочкиhttps://2ch.hk/pr/res/1499746.htmlhttps://2ch.hk/pr/res/1499746.htmlhttps://2ch.hk/pr/res/1499746.html
Здарова всем работягам и двачерам, мб кто-то Blazer'ом занимается, можете покидать гайдиков, а то на РАБоте подкинули проект с этим, а я не знаю как на нём писать ( саму технологию знаю )
>>1509193Нихуя ты тип, в старом треде о новой технологии пишешь Неужели уже в продакшен идёт? А как же огромный бандл при закачке?
>>1487030Я на нем пишу уже пол года, ахуевшая тема, WebAssembly очень перспективная штука, javascript теперь ненужон чтобы писать веб-прилы, код исполняется быстрее js, правда dll долго грузяться, из-за этого надо пререндером отправлять страничку чтобы юзверь не влипал в индикатор загрузки несколько секунд
>>1497308>сделали легковесным, а не как сейчас — 20 мб.ты ебанутый? сейчас у всех 3G +-.Тебе на 3 секунды больше подождать пока прогурзится сайт, который будет быстрее работать ебучего js, это много? нахуя учить js? ты же не кодишь на ассемблере? который кстати полезно знать, также как и ecmascript, но js помойка, неудобная для программистов