Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем 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_compiler3. WinForms или WPF?Зависит от задачи. Для небольших проектов, скорее всего, будет достаточно винформочек. В случае, если разрабатываемое приложение достаточно серьёзное, то возможно его стоит писать с использованием WPF. WPF очень хорошо работает с паттерном MVVM ( https://ru.wikipedia.org/wiki/Model-View-ViewModel ), и позволяет пилить очень кастомизированные интерфейсы с помощью XAML, что в случае WinForms, делать намного сложнее.4. Мне тут знакомый_нейм сказал, что C# умирает, это правда? Может не стоит его учить?Неправда. C# довольно активно развивается, недавно вышла третья версия .NET Core фреймворка и восьмая версия языка. Весь дотнет понемногу становится опенсорсным, а ASP.NET становится независимым от платформы. В некотором смысле понемногу вымирают десктопные приложения с развитием веб-технологий, но в том же энтерпрайзе он еще очень даже востребован.5. Какую ИДЕ выбрать?Для Windows самым очевидным вариантом будет Visual Studio (https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx). Студия распространяется в двух редакциях: бесплатная коммьюнити-версия и платный энтерпрейс эдишн. В большинстве случае будет достаточно Community-версии: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополненийДля мака и никсов самый юзабельный вариант - MonoDevelop ( http://www.monodevelop.com/download/ ).Для vim можно использовать OmniSharp ( https://github.com/OmniSharp/omnisharp-vim ).Кросплатформенный полуредактор/полуIDE VS Code ( https://www.visualstudio.com/en-us/products/code-vs.aspx )Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.Кроме того, в данный момент JetBrains активно пилит свою IDE для шарпа (Project Rider), вероятно в ближайшее время станут доступны первые EAP. IDE заявлена как кросплатформенная, со всем решарпер-функционалом, поддержкой отладки, моно и .net core.SharpDevelop - еще одна IDE для C#, отличается малым размером (около 20мб) и опциональной портабельностью, при этом имея дизайнер WinForms и WPF, а также интеграцию с FxCop, StyleCop и прочими ништяками. Если хочется что-то по быстрому набросать, а выкачивать гигабйты нет желания, то возможно SharpDevelop будет лучшим вариантом.6. С# для мобильной разработкиЕсли нужны инструменты для разработке под мобилы, ставь сразу VS2015 и при установке выбирай все нужные компоненты.Больше информации тут - https://msdn.microsoft.com/ru-ru/library/dn771552.aspxИз актуальной литературы- Xamarin Mobile Application Development- Xamarin Essentials7. Дополнительные инструменты для разработки на C#LINQPad - сорт оф REPL, с возможностью быстрого подключения к БД и удобной визуализацией данныхdnSpy - декомпилятор, малоизвестный форк ILSpy, где реализована возможность модификации IL-кода прямо в EXE и DLL файлах, отладка IL-кода и много других фич для reverse engineering'а. Плюс няшные темы как в студииdotPeek - бесплатный декомпилятор от JetBrainsscriptcs - для запуска C# кода как скриптов, возможность использовать как REPL8. Расширения для студии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ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕКод этой шапки: https://pastebin.com/YJFQKsNmПрошлый тред тонет здесь: >>1499746 (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 и анализ дампов памяти в windbg15. Литература не по шарпу, но так или иначе связанная с языком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), SOLID18. Я не умею читать, что посмотреть?- 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
Аноны, два вопроса по REST'у:1) Нужно ли его в подавляющем большинстве случаев для сайтостроительства использовать или только при проектировании API? То есть если я пишу код к которому клиент будет только через браузер обращаться, насколько мне нужно придерживаться REST'a?2) Решил все таки следовать REST'у в проекте, но у меня пиздец не получается нормально формы PUT и DELETE отправлять, чтобы контроллер их понимал.Пик 1 - сама форма.Пик 2 - две действия контроллера, один для DELETE, другой для GET. При отправке формы меня перекидывает на GET действие.Пытался решить с помощью:1) Залез в настройки IIS Express как у них в FAQ написано, поменял строчку на <add name="ExtensionlessUrl-Integrated-4.0" ... verb="GET,HEAD,POST,DEBUG,PUT,DELETE" Остальные действия и до, и после этого проверял.2) Fetch API (пик 3) - алерт выскакивает, однако перенаправляет все равно на гет. Вместо url ставил как и прямую ссылку "/product-catalog/product", так и "@Url.Link("ProductCatalogSingle", null)"3) Чистый Jquery AJAX (пик 4)4) Подключал AJAX unbostuctive, пытался с помощью тегов data-ajax="true" data-ajax-method="delete", в итоге тоже безрезультатно.Короче пробовал все что здесь нашёл https://www.learnrazorpages.com/razor-pages/ajax/form-postМожет кто-нибудь пошагово объяснить как в чистый ASP.NET Core MVC шаблон запилить функционал посылки приема REST'овых форм. И нужно ли это вообще?https://pastebin.com/zu09Ve9j - дубляж кода в текстовом виде
Почему в шапке нет метанита? ОП прогнулся под одного шизика? Фу таким быть.ЛУЧШИЙ ОНЛАЙН РЕСУРС ПО C#/JS/SQL И СОПУТСТВУЮЩИМ ТЕХНОЛОГИЯМhttps://metanit.com/
>>1515308У Java нет поддержки IT компании, которая входит в топ-3 самых успешных IT компаний мира. Что уже сказывается на языке. Ты хоть видел последний стрим майкрософтов?
>>1515471Заработалоhttps://github.com/MicrosoftDocs/visualstudio-docs/blob/master/docs/debugger/how-to-enable-debugging-for-aspnet-applications.md
>>1515265>>1515310А в чем проблема метанита, что его не хотят выносить в шапку и бугуртят при его упоминании? Типо Евгений Попов? Или ылита двача только msdn признает?
>>1515529ХЗ, у полутора анонов от него ПИЧОТ. Наверно хотели войти вайти, а оказалось, что прочитать метанит недостаточно.
Есть способ заставить EF загружать навигационное свойство ВСЕГДА? То есть вообще всегда, как только происходит какое-то упоминание модели с этим свойством, а связанная модель еще не загружена, нужно ее загружать. Зачем мне это - история долгая.
>>1515625>как только происходит какое-то упоминание моделибудет идти запрос в БД, где по внешнему ключу происходить выборка данныхeager, explicit, lazy loading тебе в помощь
>>1515631>eager, explicitВ коде уже дохуя десятков запросов, это в каждый надо добавлять .Include/референсов и тестировать.>lazyВсе бы ничего, да в этом легаси полно .ToList()'ов до обращения к полям связанной модели.
>>1515643>>1515631Так, пажжи, гугл говорит что lazy работает даже после превращения в лист. Почему-то мне это казалось контринтуитивным, т.к. ToList() выполняет запрос, и я отметал этот вариант. Окей, спасибо анону что заставил усомниться.
>>1515265>>1515529Его проблема в том, что есть msdn, а он со своими опечатками и кривотолками кроме своей мамки и таких же картавых чмох, никому больше нахуй не нужен, только запутает.
Что читать, если я всю базу касательно языка знаю(ну, синтаксис-хуинтаксис, стандартные библиотеки, как нутгетом пользоваться и как из как с помощью dotnet cli собирать проекты с солюшинами), а вот при попытке сделать что-то серьезное, что должно приносить пользу(и, возможно, денежки мне) я начинаю теряться из-за того что всего много надо сделать, еще и желательно все эти подходы соблюдать с вынесением всего в интерфейсы, внедрениями зависимостей и т.д. и могу месяц долбить просто архитектуру, а в определенный момент либо забить и зафигачить просто чтобы работало, либо, что чаще, дропнуть.Как вообще кто-то в соло может написать что-то типа https://github.com/dotnetcore/surging ? А если и может, то сколько на это должно уйти времени и как подобное распланировать?
>>1515771На метаните много плохих практик и при этом даже не говориться как сделать правильно. Плюс там очень много именно решения конкретных проблем и ньюфаг просто берет код оттуда, немного меняет и думает что понял, а на деле нихуя он не понял. Ну и куча ошибок в коде, не говорится что и зачем там используется и как этот же инструментарий использовать если у тебя задача чутка отличается. Ко всему все что там описано это чисто учебная фигня, которая в реальном проекте на реальном железе работать нормально не будет.
>>1515775>желательно все эти подходы соблюдать с вынесением всего в интерфейсыГде это ты такие подходы видел? Интерфейсы существуют для того чтобы создавать мосты между иерархиями классов, которые между собой напрямую не связаны, но имеют что-то общее. Абсолютно всё переносить в интерфейсы будет только человек, который не понимает их предназначения. Читай книги по ООП. Сейчас ты просто не понимаешь для чего всё это делаешь, какая у этого и цель и почему это удобно, именно поэтому и дропаешь. Когда будешь знать что зачем и почему, то заставлять себя не придётся, код автоматически будет соответствовать принципам ООП и работать.
>>1515786Няша, я же немного преувеличил про всё вынести в интерфейсы. Принципы, на концептуальном уровне, я понимаю. Взять тот же SOLID, каждый из его пунктов понятен, так же понятно как это все делать в частных случаях и для чего оно нужно, но когда нужно писать что-то, я просто начинаю запутываться во всем этом. И ведь я бы мог сделать сначала какой-то прототип просто чтобы работал, а потом начать по кускам пытаться его привести в нормальный вид, но голос в моей голове говорит, что так будет сложнее потом и надо сразу делать как надо, а чтобы делать сразу как надо надо пониматься что надо, а я каждый раз столкнувшись с чем-то новым просто не понимаю что в данный момент таки надо. Короче, посоветуй тогда нормальных книг/лекций по ООП, где не про наследование-инкапсуляцию-полиморфизм будут рассказывать, а про то как выделять эти самые сущности, как правильно строить структуру проекта чтобы потом его можно было допиливать и расширять и всё это вот.
>>1515778>плохих практикгде эти практики лучше по твоему? На мсдн? Так там практик нет от слова соовсем. Так лучше хуже лучше, чем ничего>много именно решения конкретных проблемв принципе тоже самое, что и с SOF. Хуй знает, как это работает, но работает>куча ошибок в кодеесли пользователь информации не дебил, он поймет где фиксить. Best practice все равно не найти.Я именно с метанита нашел некоторые архитектурные решения (типо DAL-BLL-UI или IUOW), отношения между классам - Агрегация, композиция, DI. Много прочтенного было Usefull.К тому же на метаните (в отличии от МСДН) четко структурирована информация, где можно пункт за пунктом имея под рукой IDE практиковать (с какими ни какими примерами).Говорить, что это хорошо, а это плохо, т.к. не мсдн могут на галерах, где руки прибивают от использования таких порталов (т.к. приучают к чтению первоисточников).
>>1515823>Так там практик нет от слова соовсем.Ты когда там последний раз был? На каждый класс и каждый метод есть пример и даже не один, плюс отмечают подводные камни, которые могут встретиться при работе с этими классами и методами. Или ты очередное быдло, которое английский не знает? >если пользователь информации не дебил, он поймет где фиксить. Т. е. ты увидел кусочек непереварившегося арахиса в куче кала, а теперь предлагаешь хорошенько его очистить, съесть и получить немного питательных веществ? И всё это в то время, когда рядом стоит лавка с бесплатным арахисом, без говна и мусора? Самого не смущает? >К тому же на метаните (в отличии от МСДН) четко структурирована информацияНа мсдн уже давно есть отличный туториал, где информацию структурирована в разы лучше чем у твоего мутанита.
>>1515801>я знаю>каждый из пунктов понятенЭто тоже самое, что сказать о том, что тебе понятен принцип умножения столбиком, но когда перед тобой стоит задача умножения нескольких двузначных чисел, ты пользуешься сложением. >тогда нормальных книг/лекций по ООПЗаходишь на libgen.is и вбиваешь OOP в поиск.
>>1515860По твоей логике тогда все онлайн туториалы нужно выпилить и оставить только msdn. Или ты не знаешь, что информацию можно черпать из разных источников?>ты увидел кусочек непереварившегося арахиса в куче калаты все слишком утрируеш. Я тебе написал примеры, по которым стоит не упускать из вида этот портал. Кому то он будет полезным, кому то нет. Ведь каждому решать, с каким источником работать и какой использовать. Есть даже те, кто по индусовским туторам на ютубе пытаються учится, что ты им скажешь?
>>1515901>По твоей логике тогда все онлайн туториалы нужно выпилить и оставить только msdn. Или ты не знаешь, что информацию можно черпать из разных источников?По шарпу нормальных онлайн туториалов нет, наверно потому что все понимают, что им не переплюнуть msdn. Для остального есть книги, что в этом удивительного, блять? Да, твой мутанит сосёт, и твоё отрицание это никак не меняет. >Кому то он будет полезным, кому то нет. Ведь каждому решать, с каким источником работать и какой использоватьДля этого и существует такое понятие как "совет", именно для этого и существует этот тред. Новичку-вкатывальщику не нужны ресурсы, полезность которых иллюзорна и сомнительна. Лучше пусть две главы троелсена прочтет, чем потратит это время на выискивание полезного у метанита.
>>1515906>По шарпу нормальных онлайн туториалов нетВсе твои посты на тему метанита - это пердеж в лужу. Для того, чтобы писать на шарпе нужно... знать шарп. Метанит дает знания по шарпу? Дает. Дает примеры, для укрепления знаний? Дает.Все твои доводы - это обобщение к первоисточнику. Можно такое приведение сделать к Троелсону или Шилду. Типо, нахуя их читать, если есть МДСН (да да, на ангельском, книжечки же можно на рузком почитать).>Новичку-вкатывальщику не нужны ресурсы, полезность которых иллюзорна и сомнительна.Такой же пук в лужу, как и все остальные. Когда приходит джун на собес, его не спрашивают - откуда ты взял информацию по теме? Конечно нет, главное чтобы правильно ответил.Upd. Я бы даже сказал так, такие ресурсы, как метанит - скорее для тех, кто даже с программированием мало знаком и кому тяжело даются мануалы. Msdn - ресурс к которому так или иначе приходят в процессе РАБОТЫ, но не всегда до нее.Постарайся привести хоть один весомый довод, почему метанит нельзя использовать впринципе. Я не отстаиваю позицию, что метанит >= msdn, а наоборот - лучше первоисточников ничего не может быть. Я за то, что каждому источнику информации место быть, даже тем же индусовским туторам на ютубе.
>>1515952>Можно такое приведение сделать к Троелсону или Шилду. Типо, нахуя их читать, если есть МДСН (да да, на ангельском, книжечки же можно на рузком почитать).В том и дело, что нельзя, потому что у Троелсена и Шилда по 1к+ страниц, а у мутанита "тоже самое", но на 50-ти страницах. Поэтому ему и противопоставляется мсдн, в которой материал подается сжато, но при этом без ошибок, хорошими примерами и в обновленном виде.>Такой же пук в лужу, как и все остальные.Ты сам это подтвердил, когда сказал, что метанита перед употреблением нужно фильтровать, а во время нужно еще и дешифровать текст и понимать, где этот долбоеб опечатался, а где просто объебался. >лучше первоисточников ничего не может бытьТак пиздуй спецификации читать, при чём здесь MSDN? >Я за то, что каждому источнику информации место бытьТак пусть будет, только вне этого треда, потому что этому источнику есть хорошие аналоги и тратить на него время не имеет смысл.
как работать с double.TryParse() в C#. Разобрался с int переменными, но не понимаю как с double/float. Как в строке можно вообще вычислить число с запятой? Нужно ли мне использовать Split или что-то еще? Или нужно как-то вычислять точки/запятые?
>>1516079точки и запятые как разделители выбираются относительно региональных настроек, вроде есть какая-то перегрузка которая конкретно позволяет указать что будет. просто позакидывай строки типа "12.3421", "11,11145215" и так далее, и посмотри что будет. и убери этот наркоманский цикл.
>>1516079Почему именно с запятой? Может быть и точка, зависит от языка. Для этого есть статический метод у класса char - char.IsPunctuation(char c)В итоге тебе надо проверить булевый тип который возвращает TryParse, если он равен true, значит ты разбиваешь строку на массив символов и проходишь по каждому элементу, используя IsPunctuation до тех пор пока не получишь true или не пройдешь весь массив. Если получил true, значит число дробное, если нет, значит целое.
Но на самом деле можно решить задачу более легким путём.Если TryParse вернул True, значит делишь его на 1 используя modulo operation (%), если результат деления равен нулю, значит число целое, если нет, значит дробное.
Вот вам и "знание математики не нужно". Гуманитарий побежит искать запятые, потом объебется когда разделителем будет не запятая, а точка, побежит искать запятые и точки, переводя число в строку и обходя массив символов. В то время как технарь напишет одну строчку и пойдет дальше.
>>1516183в экселе рациональные числа разделяются ',' а не точками, так что не удивительно, если аналитики начнут преобразование точек в запятые
>>1516277Это в настойках нужно лазить, гуглить... сложно, та и коллеги не поймут. Так что ',' - общепринятый стандартмимо бывший экономист-финансист
>>1516247>в экселе рациональные числа разделяются ',' а не точкамиВ экселе они разделяются так, как принято в установленном в ОС национальном стандарте (локале). То же самое с датой и т.п.
>>1516079Блядь, я из-за того что неправильно прочел полез в исходники .Core. Думал ты спрашиваешь как работает TryParse() и скачал. Пиздос. Ну хоть будет что почитать на выходных.А работает с TryPares() проще некуда, указываешь культуру и просто пихаешь строку, никаких циклов-хуиклов не нужно.
Кто ни будь может дать внятное объяснение, какое различие между ASP.NET MVC и Web API? То, что MVC - для вывода View, а API - data, это я уже у индусов прочитал. Но что МVC, что API может как генерировать представление, так и данные. Как по мне, у API больше функционала, т.к. дает интерфейс для фронта в виде Json интерфейса.Я так же не понял, из за чего вся шумиха с ASP.NET Core 3. Подумаешь сделали внутренний Json, Blazor - это тот же Razor. Вот то, что есть возможность на линуксе запускать в отличии от ASP.NET - это да.И кто ни будь может посоветовать годный ресурс или статью, где показан полный цикл прохождения в ASP.NET от request до response? Какой жизненный цикл приложения?
Шарпаны, помогите, Хочу написать программулину, которая с телефона будет отправлять координаты этого самого телефона и немного другой инфы на мой сервер. До этого с сетями дело особо не имел, разве что чатик консольный для локальной сети делал где по IP подключеление было. Как я понимаю, основное отличие только в том, что IP телефона динамический. Может есть еще какие-то подводные камни? И еще, как мне потом узнать что это тот самый телефон подключился? Я пока придумал только такое решение: телефон отправляет пакет регистрации, а сервер в ответ присваивает адрес и сохраняет его в БД, телефон этот адрес сохраняет и в следующих пакетах прикрепляет, чтобы можно было понять что это тот самые телефон, но мне кажется что у такого решения есть некоторые недостатки, например как узнать что кто-то другой не узнал адрес и просто крепит к своим пакетам? Я думал что можно как-то пакеты шифровать, но если шифровать весь пакет, то получается что я с ходу не смогу определить что мне на сервер стучится именно телефон а не какой-то левый хуй, следовательно будет тратиться время на расшифровку пакета и только потом приниматься решение что со стучащимся делать. Все это дело на .net core + xamarin. Подумывал о том, чтобы еще веб-апи сделать, но пока отложил эту идею.Так вот, что почитать про это всё в контексте .net core? Просто я с этим самым .net-ом знаком еще меньше чем с сетями и не хочется пилить свой велосипед, а потом узнать что за меня большую часть проблем уже решили и можно было взять готовое решение.
Хочу приложение, которое будет работать как сервер/демон, и им можно будет управлять через cli. через отдельный бинарник, типа пишешь в консольке myapp-cli update, myapp-cli посылает сигнал серверу и он его обрабатывает Я конечно могу поебаться с namedpipes или дбасом, но нет ли какого-то кроссплатформенного, встроеного в .net решения?
Антоны, делаю сайтец на asp.net mvc.Есть задача сделать навигационную панель, если пользователь зарегистрирован (Система регистрации через Identity), то нужно загружать одну панель, если нет, то другую.Как это сделать? Разные дочерние действия вызывать или прямо в представлении менять?
>>1515265оп сейчас не я. Алсо нумерация сбилась, поэтому следующий тред будет 15. Не скучайте без меня няши, сейчас у меня мало времени на тред, так как меня уже повышают до мидла. Работы прибавилось, а ещё скоро я еду в японию на половину декабря. Ня :3
>>1515928Это умение в абстракции. Дело вовсе не в аниме. Например в 90 годы лучшими были Фэнтезийщики, просто анима не особо была распространена. Сейчас же банально проще поставить себя на место гг и проработать ми заранее в голове используя логику и его законы. Прокачивает совместный скилл с программированием знатно.
>>1516164>>1516173>>1516516всем спасибо большое разобрался+научился. Спасибо большое, /pr. Хоть какой-то толк с того, что я сижу на дваче
>>1517085Это элементарные понятия, сложность которых сравнима со сложностью понимания переменных и базовых типов.
>>1515771Мне, как нуфагу метанит совсем не нравится, говно какое-то, в лучшем случае нихуя не понятно почему и как, а нередко бывает что ещё больше запутывает.Вообще заметил, что вся инфа на русском как то криво и уебищно подаётся, на английском легче понять даже с учётом моего весьма посредственного ингриша.
>>1517295Ты просто тупой, тебе и msdn не поможет. Метанит — это разжевывание совсем для детишек деревянных.
>>1517358>Метанит — это разжевывание >C# за 50 неполных веб-страниц>разжевываниеТолсто даже для двача.
>>1517367Конечно на пустом, особенно когда это говноподелие позиционирует и озаглавливает себя как "Полное руководство". В то время как это даже полным справочником назвать нельзя. Хотя чего ожидать от шизиков, которые в многочисленных опечатках и просто неверных трактовках, не видят ничего плохого, потом такие долбоебы пишут using SmallBasic и говорят, что написали графическое приложение с черепашкой.
>>1517374давай пруфлинки для начала, прежде чем кидаться словами. Формат:1. Что по твоему мнению должно быть на метаните;2. Источник, где это написанно.Мне вообще нравятся сеньеры двача, пердят в лужу, что все пидарасы, только они Д'артаньяны, по факту ниодного пруф линка не увидел. Целевой подход должен быть, иначе есть вероятность сходить нахуйКидать линки из CLR via C# и других источников, где уровень работы с языком совсем другой не нужно.
>>1517449Листай прошлые треды, там будут тебе пруфлинки и разжевывания на тему "почему метанит говно". Вот где парадокс - долбоебу не нужно разжевывать про C#, но нужно разжевывать почему метанит и его ресурс говно.> пердят в лужу, что все пидарасыС каких это пор мутанит == все? Куча годных ссылок в шапке, но шизику-мутанитоебу почему-то не хватает мутанита. >Кидать линки из CLR via C#Вот и еще один хороший детект долбоеба - кидается из крайности в крайность. Ему либо обрубленное, кривое дерьмо вида метанита, либо книги для людей с опытом вида CLR via C#, а между этим пропасть.
Кто-нибудь пользовался херовиной MS для ML? Хочу имплементировать ее для фильтрации запросов на сайт, просто чтобы быть модным молодежным, но есть некоторые опасения, что она дает большую погрешнсть и любой хуй будет админку получать.
На сколько актуальна в реальных проектах событийная модель в шарпах? Ее хоть где то используют после введения логеров?
>>1517473>пук пук пукВсе, как писал ранее>CLR via C# книги для людей с опытомда ты я смотрю дно ногами не чувствуешь. Сейчас на каждом первом собесе джуна спрашивают про компиляцию MSIL, сборки, хеш таблицы
>>1517573Насколько ReSharper актуален для проверки своих работ? Этим гавном пользуются у вас на галерах?
>>1517573У меня больше используют для рефакторинга. Потому с каждой новой версией студии он все меньше нужен становится.
Аноны, понимаю что вопрос нубацкий, но только начал изучение. Буквально первая практика. Есть задача пикрилейтед. Есть моё решение:using System;namespace Practica_1_1{ class Program { static void Main() { Console.WriteLine("Input x =\r"); double x = Convert.ToDouble(Console.ReadLine()); double f = Math.Cos(1.5 * x)- Math.Exp(Math.Sin(x+4/3))+ Math.Sqrt(x+7/6); Console.WriteLine("x={0} \t F={1}",x,f); Console.ReadKey(); } }}Но ответы почему-то не сходятся, даже гуглить непонятно что, так как никаких ошибок не выдаёт. Что я делаю не так?
>>15179244/3 и 7/6 - это целочисленное деление и результат соответственно тоже целочисленный, то есть 1.
>>1517983Понял, а как делить не целочисленно, вроде в руководстве написана, что эта операция применима к не целочисленным.
Нужно написать небольшой WEB API, который мог бы отвечать на POST и GET запросы каким-либо JSON. До этого писал такое на PHP, но в моем случае C# получается более оправдан.В PHP это сделать вообще просто. Что нужно использовать, чтобы реализовать такое на C#? ASP .NET MVC 5 выглядит слишком громоздко
>>1518075Ну, если тебе это кажется слишком громоздким, то просто юзаешь без задней мысли сокеты и по TCP/UDP отправляешь ответ. Даже не знаю что может быть менее громоздким чем это.
>>1518088О вот норм:(Лучший вариант)https://docs.microsoft.com/ru-ru/aspnet/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api(Может, это выбрать)https://docs.microsoft.com/ru-ru/aspnet/core/tutorials/first-web-api?view=aspnetcore-3.0&tabs=visual-studio
>>1518095Я худею с MSDN ruzian edition, бом бом. Тут на мутанит пиздели, этот портал тоже не отличился. Решил тыкнуть в сурс с рузке переводом, проиграл с подливой.Ванькам так и намекают - "Learn english motherfucker"
>>1518295>>1518290Тупое быдло, которое не может в английский, даже не способно прочитать предупреждения > Этот текст может быть частично переведен средствами машинного перевода.Зачем тебе программирования? Кассы в макдональдсе простаивают и рюкзаки яндекс.еды.
>>1518331>Тупое быдлоКоторые даже пост не читает, а уже начинает срать кирпичами>Кассы в макдональдсе простаиваютты походу тот шизоид, который "ЗА МДСН, ПРОТИВ МУТАНИТА". Во как пригорела жопа, небойсь уже с десяток репортов накатал на портале.
>>1518441>ряяя ета ни я на русике читаю эта вы пасты не читаете ммаааам скажи им што мутанит крута!!! ну мааам Проиграл.
>>1518498С подливой забыл добавить, ведь ты обосрался, МаняТоже считаю метанит говном, but who cares? Рвать жопу доказывая такому же долбоебу, как и ты, что твоя точка зрения правильная, а его нет?
Добрый вечер.Это тот Анон который ебал тут всем мозги со своими дебильными(нет) задачками. Я тут дошел до строк. И даже использую всякие методы но не могу решить задачу вот её условие.1.определить, сколько различных символов встречается в строке.И в общем пиздец не знаю даже как все сделать на базовом пошаговом уровне. Через метод Distinct ебанул за 2 минуты. А вот как он работает на прикладном уровне хз. В общем если можете подскажите как решить или что читать. Снизу кусок кода который вносит строку для подсчета символов хз нужен ли он тут.
>>1519024Классическое решение примерно так выглядит: Сохраняешь строку, заводишь список char, затем в цикле добавляешь в этот список новый символ, если данного символа в строке нет, после этого смотришь сколько символов в списке.Небольшая сложность была бы, если бы ты тебе там нужно было не символы а буквы посчитать, но простейшим решением было бы сначала строку перевести в один регистр, а дальше так же.
>>1519102Анончик подскажи еще один момент не совсем понимаю.Получается прогоняем массив чисел через цикл.и Если число не повторяется в массиве то добавляем его в переменную? И если можно метод Contains он получается добавляет не повторяющиеся значения?Этот метод принадлежит классу String верно?
>>1519110Ты куда-то не туда свернул. Во-первых ты создаешь массив равный длине строки - слишком расточительно. Хотя в худшем случае строка будет из уникальных символов, тем не менее при росте длины строки, вероятно, количество повторяющихся символов будет увеличиваться. Т.е. скорее всего даже для строки длиной в 10к уникальных символов будет не более ста. Во-вторых, попробуй придумать имена переменных по-лучше. В -третьих, разумно предположить, что если ты вызываешь Contains на массиве, то медод принадлежит массиву а не строке (на самом деле это расширение для IEnumerable). И нет, он ничего не добавляет, а только проверят есть ли указанный элемент в последовательности.>массив чисел через циклстроку через цикл> Если число не повторяется в массивеесли массив не содержит символ>добавляем его в переменнуюдобавляем символ в массив, увеличивая счетчик на 1
>>1519110>прогоняем массив чиселПрогоняем массив символов в виде String>Если число не повторяется в массивеесли символ не повторяется в новом массиве char[] x = new char[s.Length];то добавляем в него символ из цикла>метод Contains он получается добавляетон ничего не добавляет, он проверяет принадлежность (в твоем случае символа ХХХ из цикла в массиве X>метод принадлежит классу Stringhttps://docs.microsoft.com/en-us/dotnet/api/system.string.contains?view=netframework-4.8
>>1519422https://gist.github.com/Hotriden/3c10522d827e1e6ecb61fabc85ec9fdb>>1519466Ему нужно каждый раз добавлять по букве, а не выводить по букве
Шарпаны, короче, есть ли у вас аналог Mina из джавы на свежем Net Core? Чтобы можно было удобно задать фильтры пакетов, сконфигурировать и запустить сервер, не обязательно с Http?Просто ну не может же быть так, что у вас либо Http для сетевого взаимодействия, либо ручками все собирай. Да, про попытку перенести Mina на нет кор я слышал, но там во-первых много чего недопилено, во-вторых, проект, судя по гитхабу, заброшен и последняя версия под .net Core 2.
Антоны, в качестве тестового задания дали сингл пейдж приложение на ASP.NET MVC и EXT JS.Вот интересно, как, им web api нужно или я могу просто в MVC генерить ответ через JSONRESULT? И как должна работать система регистрации, у них вообще Membership, я хочу заюзать Identity.
Окей, короче, я сам вроде как разобрался с вопросом >>1519645. Как я понял Kestrel можно таки научить не только HTTP(S) понимать, хоть и не так удобно как в Mina вот если что пример https://github.com/davidfowl/MultiProtocolAspNetCore. Теперь у меня другой вопрос: Почему на вопросы как посчитать число буковок в массиве сразу столько экспертов набегает, а как что-то полезное и неочевидное, если ты совсем недавно со всем этим вашим .net'ом дело имеешь, спросишь, так хуй кто что-то скажет?
>>1519879Потому что в этом треде кроме вкатывальщиков никто не сидит, ты слишком сложные вопросы задаешь.
>>1519645>12/11/19 Втр 21:39:17>>1519879>13/11/19 Срд 07:18:44Подержите мою сигару, уже бегу помогать анону, как настроить Kestrel, ШТО Б БЫЛО КАК НА АПАТЧЕ В ДЖАВЕ. У НИВО НАВЕРНОЕ ГУГЛ СЛОМАН ИЛИ ДЖАВИСТЫ НЕ УМЕЮТ В ГУГЛ.Это случайно не ты тот, кто раз в 2 недели постит какую то дичь типо упаковки в обобщенных коллекциях при переборе циклом, а потом под видом "РАЗОБРАЛСЯ" начинает закидывать говном всех, кто ему отписал?>>1519896ты сильно охотно делаешь чужой таск, за который нихуя не платят?
У меня есть класс абстрактный, потому что работаем с наследниками который заполняется данными бизнес-логикой (пик 1), есть соответствующая сущность EF с бд (пик 2). Стоит ли мне заменить все эти поля просто экземпляром сущности? Из плюсов я вижу, что изменения применяемые на бд автоматически применятся на класс - не придется вручную лезть в него редактировать, однако процесс заполнения данных в бизнес-логике придется поменять все же. Какие мысли?
>>1519939https://docs.microsoft.com/ru-ru/aspnet/core/fundamentals/?view=aspnetcore-3.0&tabs=windowsне благодари
>>1519931на сколько я помню, POCO всегда должны быть открытыми и без наследования. Попробуй в песочнице заменить поля из твоего POCO из класса маппинга. Если есть нужда делать мост по редактированию сущностей - можешь запилить автомаппер.
Это нормально, что в линке при группировке DeafultIfNull коллекции создается такое количество пустых сущностей? (Пик 1) На втором пике запрос с выделенным местом группировки.
Мне в TModel routeValue (3ий параметр) нужно засунуть помимо двух моих стандартных параметров, ещё n параметров которые сгенерируются в коде.@Html.RouteLink("Link", "PagenationRouteLink", new { currentPage = 1, itemsOnPage = 15})Можно ли это как то провернуть?Например сделать словарик с ключами - названиями аргументов и подцепить его?
>>1519990Попробывал как https://stackoverflow.com/questions/7595416/convert-dictionarystring-object-to-anonymous-object через динамический объект, выдает ошибку что нельзя динамический объект пихать, надо его закастить. Может есть вариант напрямую словарь засунуть?
Вопрос от ньюфага: .net core же кроссплатформенный, то есть на линуксе у меня будет точно та же функциональность что и на .net framework на винде?
>>1520210Нет. Части deprecated legacy говна, вроде WCF вообще нет. Часть специфичных технологий, вроде Windows Forms или WPF только на винде. Впрочем, Avalonia или UNO что-то дают схожее и на лине
>>1520401Они уже давно перетянуты, вот только кроссплатформенными от этого не стали и не станут, потому что зависят от Win API, которого, очевидно, на других платформах нет.
>>1520378Блять, ты на жабу посмотри с её JavaFX. Говно то ещё. У тебя вся кроссплатформенность заключается только в UI?
>>1520513Блять, а что тебе на линуксе надо? Основные направления для шарма -- ASP (Web), Unity, Desktop (WPF и Windows Forms). Может, ещё Xamarin. Есть, конечно, ещё IOT и ML, который недавно подтянули, но они не так сильно распространены. Как раз основные направления в Core есть для всего.Зачем тебе, например, WCF, когда есть более удобный и логичный ASP.NET Core WebAPI? Интерфейс Windows Forms и WPF завязан на WinAPI, в лине его вообще нет, а в гейоси Cocoa. Хочешь GUI -- чекай Avalonia и UNO (последнее более предпочтительно, т.к. даже Roadmap у них схож с WinUI, т.е. что-то схожее с наивным GUI и, соответственно, будет почти не отличаться от WPF)
Ньюфаги как обычно с вопросом даже не ознакомятся насчёт Core и хуйню несут по типу "Для вас ЭТА ЖИ НЕНУЖНА, ДА?" или "НЕТ КРОССПЛАТФОРМЫ, ХОЧУ КАК В ЖАБЕ, РЯЯЯЯЯЯЯЯ!".Уебывайте их треда нахуй, вкатывальщики, блять. Язык у них, видите ли, плохой, блять.
>>1520012С словарём такое вряд ли пройдёт, т.к. просто не гарантированно же у тебя, что данные в анонимном объекте соответствуют в Value одному типу. В таком случае можно попробовать Dictionary<string, object>, например, но проблема тогда с value-типами.Еще идея -- рыться в рефлексии, возможно, проверять поля и ручками создавать словарь и заполнять его.
Блядь, когда пройдет эта тупая мода на внедрение зависимостей и прочее говно? Текст же просто читать невозможно, разбираться с тем как настроить чтоб работало тоже. Просто стравните текст настройки и запуска некоего абстрактного сервера: Server server = new Server();server.Port = 8000;server.MaxConnections = 100;server.SessionTimout= 10000;server.ProtocolParser = new HttpParser();server.SessionHandler = new MySuperSessionHandler();server.Start();с тем как подобное делается в Asp.Net Core. Там пиздец какой-то и понять как оно работает и почему какой-то хуй именно это использовал а не то просто невозможно без тонны прочитанных мануалов, в моем примере и школьник поймет как что каждая строчка значит и сможет, если надо, настроить так чтобы у него работало и делало то что он хочет.Не представляю, как кому-то именно нравится может то как Asp.Net Core выглядит и кому кажется он логичным. Да модно-молодежно, да снижается связность классов, но при этом на пустом месте превращаем код в нечитаемое и хуй пойми как отлаживаемое говно.
>>1520599Кросплотформенность сейчас есть только у JS с его Node.js и Electron. Вот ведь анекдот получается. Строго типизированные языки, которые изначально были заточены и предназначены для написания софта, с проглотом соснули у какого-то браузерного обрубка с динамической типизацией, который изначально предназначался для скрытия/открытий веб-форм.Даже сам майкрософт прогнулся и написал Visual Code используя Electron. Если это не поражение, то что тогда?
>>1520629Как раз из-за читаемости, отлаживаемости и реюзабилити, всё выглядит так, как это выглядит в asp.net core. C# это энтерпрайз уровень, а не уровень лаба №1 или мувиадвайсер для всей семьи. Энтерпрайз подразумевает штат программистов, которые вообще могут между друг другом не пересекаться, и весь этот штат работает над кодом состоящим из нескольких сотен тысяч строк. Вот когда ты кодишь на таком уровне, тогда ты начинаешь понимать почему твои server.Start(); являеются хуитой и баловством.
>>1520688Именно потому что там штат программистов, которые могут не пересекаться и нужно чтобы код был понятен сразу.
>>1520695Вот он и не будет понять в таком >>1520629 виде, потому что в энтерпрайз уровне тебе этих настроек не хватит, тебе нужно больше гибкости и индивидуальный подход к тысячам клиентов.
>>1520720Вот же он:https://github.com/shiftkey/desktophttps://aur.archlinux.org/packages/github-desktop-bin/
>>1520735Это неофициальная реализация бинарников. В чем проблема на офф сайте сделать? Видимо там нативные костыли есть.
>>1520746Нет, они просто изначально сделали хуету с поддержкой только у винды и мака, а переделывать под линукс им лень, тем более когда уже есть годные билды. Тот же VS Code изначально выходил на всех платформах и никаких проблем с этим не имеет.>>1520754Но, как оказалось, в первую очередь им нужна динамика, а уже потом обертки в виде TS для того чтобы большие проекты удобней делать было.
А JavaFX это по сути уродливый электрон из 2007, посудите самивместо html делаем документ на fxml CSS можно и там, и там юзать, только на FX немного некрасивееА саму логику на главном ЯПе.Вот только jvm с собой таскать тяжелее, чем ноду.
>>1520629DI наше все! Ninject - мммм, кайф. Сейчас, погоди, что это... ДА ЭТО ВСТРОЕННЫЕ DI в Core 3.0 (attach.jpg)
Почему даже если я вручную прописал куда проект должен папку obj класть, эта скотина что в студии, что с dotnet cli пытается их в папку с проектом засунуть? Сборку же нормально кладет, почему тогда засерает мне папку с исходниками ебучей папкой obj?
>>1520887жалею тех джунов, кто попал на ASP.NET до 4 версии... Это ад. Вообще советую всем вкатывальщикам спрашивать 100 раз перед принятием оффера на какой проект их берут. Это может быть легаси времен мамонтов, на котором не только опыта не получишь, так еще и отупеешь реализацией интерфейсов, которые из коробки доступны в более свежих версиях. На .NET раньше 4 вообще нет смысла идти. Хотя каждому свое конечно. Кто то с легаси рубит бабло лопатой, т.к. только он знает как работает интерпрайз щит 10 летней давности, а кто то в говне тонет...
>>1521396Я как раз попал на VB.NET + ASP.NET Web Forms. Работаю уже месяц, большинство времени учил теорию области и настраивал VDE. Проект пизда, писался с начала нулевых, единого стиля не было. Коменты на 5% методов. Думаю посижу пол года-год и буду искать что то получше, параллельно изучая кор и пиля петпроекты. Ведь с опытом коммерческой и командной разработки, джиры, конфлюенса, работы с IIS и работы на платформе .NET (хоть и не шарп) у меня будет намного больше шансов чем уйти сейчас. Что думаете? Опыт поддержки древнего легаси все равно же будет плюсом?
>>1521400и да, >Вообще советую всем вкатывальщикам спрашивать 100 раз перед принятием оффера на какой проект их берутЭто точно, меня на собесе спрашивали кишочки шарпа, патерны, сукель и тд, а буду ихемельки править и в говне мамонта ковыряться. До этого искал работу месяца 2 и уже условия поджимали, что и ослепило меня.
>>1521400> пикБлин, а я вот дотнет корщиком пошел работать за 25к, после всех налогов остается чуть больше 20к. Надо было как Вованчик устраиваться.
>>1521400>VB.NET>ASP.NET Web FormsТы блять серьезно? Ты перед принятием оффера хоть понимал, что это? Если таски закрываются, советую ЗП поднимать выше средней по рынку. На таком говне уже никто не пишет и твои знания по этим технологиям должны выпиливаться GC головы после выпиливания с этого места работы К сожалению так мозг не работает, увыПо сабжу, охуеваю с тех людей, которых на собесе спрашивают за .NET 4.5+, а садят работать за .NET 2.0. А еще больше охуеваю с тех, кто на это соглашается. Как и писал ранее кто сидит на легаси должен руки выкручивать на подъемные, иначе пусть другого дурака ищут
>>1515204 (OP)Чё по SQL можно прочесть? Либо как вы его учили? Я вроде 1000 раз слышал про всякие CREATE TABLE, JOIN, где их писать, применять на практике - хз.
Ух. Джавакун снова в треде. Более-менее успешно продвигается изучение C#, но вот WPF+MVVM убивает во мне надежду на светлое будущее. Меня мучает уйма вопросов:Как реализовывать команды? Каждый раз хуярить новый класс? Как организовать взаимодействие между несколькими ViewModel? Как вообще правильно строить приложение с разным контентом появляющимся по нажатию разных кнопок (пока делаю через Frame, в который кладу Page)? И чего, реально каждый раз надо интерфейсы реализовывать? неуже ли нет никаких дополнительных фреймворков, которые избавят от рутины? MVVMLight и Prism ведь не про это? Или про это? А что почитать?В связи с чем может ли мне кто-то дать ссылку на гитхаб с многостраничным приложением реализованным с помощью WPF+MVVM, с хорошим, правильным кодом, к которому я должен стремиться?
>>1521545>где их писать, применять на практике - хз.ADO.NET, Dapper, SqlManagementStudioПомоему работа с БД - это самое материально, что только может быть. Есть куча порталов, где можно подрочить эти запросы, типо w3school.com. Читать не нужно, гланое понять принцип составления запросов.>>1521552>Джавакун>изучение C#>WPFУдачи в изучении земля тебе пухом> реализованным с помощью WPF+MVVMДжависты не умеют в гугл?
>>1521552Чего то щелкнул вопрос. А зачем ты перекатываешься с джавы на шарпы? Что стало причиной? Я просто сам начинал с джавы, но перекатился по причине, что .NET вакансий было и есть в 2 раза больше в моем городе + LINQ приятное дополнение.Сейчас если бы мне дали право выбора, я бы не смотрел в сторону Evil Company. Сейчас думаю о том, чтобы после работы потыкать в RoR/Python или даже какой ни будь Rust. А у тебя шо?
>>1521545Нахуй их учить, если есть LINQ to SQL? Они нужны только в легаси дерьме, когда нужно было всё ручками писать.
>>1521572> Что стало причиной?Spring Framework отвратительная хуета, нарушающая принципы ООП. Ебал его в рот. Но, в основном, хотят именно его. Потому лучше уж я на шарпы укачусь, да и вообще, судя по всему, шарп скоро станет более универсальным, чем джава >>1521562>Джависты не умеют в гугл? Умеют, но я тупой так не нашёл же ничего. Отдельный код есть, а вот целиком демо-проектика какого нибудь нету
>>1521598>скоро станетДа не, просто у EvilCorp хорошая пиар команда. Раздули из .NET core что то невообразимое.Ладно, так и быть https://prismlibrary.github.io/docs/commanding.htmlВот тебе яркий пример MVVMПошли нахуй те, которые Prism считают overheavy framework - для примера покатит
>>1521672Так я именно это и просил. Туториалы у меня есть, но это чёт не помогает. Хочу посмотреть на /работающее/ приложение
>>1521577Для твоего сельского магазина может и не надо, а на практике в крупных проектах часто приходится переписывать генерируемые ормкой запросы руками.
>>1521843Продолжай оправдывать свой говнокод, дурачок. Не такой задачи с которой не справиться LINQ to SQL, но долбоебу конечно легче свой велосипед придумать чем разобраться.
>>1521907Джун плезИди сделай отчёт, включающий в себя выборку десятков тысяч строк из 10 таблиц с аггрегированием данных сначала на Linq, а потом перепиши на хранимую процедуру или вью, а потом сравни скорость выполнения.Но в твоей галере конечно таких задач никогда не стояло, понимаю
>>1521922>долбоеб не разобрался в элементарных понятиях вида lazy/eager/explicit loading>не знает как избежать ненужных запросов к базе данных>проецирует на всех своё слабоумие и говорит, что без костылей никудаУже даже не смешно, а жалко тебя.
>>1521922есть же оптимизаторы запросов в EF. По сабжу - поддерживаю использование Sql, как мастхев, т.к. в практике знаю, что Dapper - ходовой фреймворк.
>>1521458Потому что я ебучий студент без опыта и город всего 500к населениея. Если не выгонят, то лет через 7 буду 60к получать, тогда заживу!
О, раз уж такая тема. Есть проблема, может быть шарящие аноны типа >>1521929 >>1521930 чего подскажут?Есть три модели, чтобы не раскрывать бизнес-процессов назовем First, Second, ThirdFirst связана с Second как один ко многим, аналогично Second с Third.У Second есть интовое свойство Limit, у Third - интовое свойство Value.Кроме того у них есть еще множество полей, которые не нужны для задачи.Нужно найти айдишники всех FIrst, у которых больше трех Second, у которых сумма Value в связанных с ними Third больше чем Limit. Плюс вывести само количество таких Second для каждого First.Пикрил-1 генерит SQL (пикрил-2), который выполняется 10+ секунд на 25к данныхВ то время как наляпанный на скорую руку SQL (пикрил-3) выполняется за 200мс, выдавая аналогичный ответ.Что я делают не так?Мимошел
Стоп, кто-то вообще неиронично утверждает, что кодогенератор всегда будет выдавать код, по перформансу аналогичный написанному вручную коду, даже на специфичных и редких кейсах? Пиздец скатили тред своим аниме в шапке, сюда долбоебы слетелись.
>>1522158О, а вот и велосипедоизобретатели подъехали. Ассемблер уже выучил чтобы лучше компилятора код писать?
>>1522260>>1522169Ебать дебил. Тебя небось и прослойки на плюсах в питоновских либах удивляют? Не понимаешь нахуя пилят wasm когда есть js? Наличием ансейфа в шарпе не шокирован?
У меня хардкорный вопрос.Можно ли скомплировать .ехе без visual studio, через консольную команду, но не CORE (Dotnet build), а какой-ниюудь .NET Framework 4.0,4.5
>>1522402А она платная?Я к чему.Есть определенный код, который я пишу на comminity edition под коммерческие нужны. IDE в этой шараге никто не купит. В лицензионном смысле, я "какбы пишу программы" на бесплатном гавне вроде sharpdeveloper. Но на деле хочу писать на VS studio и компилировать MSbuild
>>1522410>>1522408>>1522402Ну и плюс, VS Code поддерживает только .NET CORE Компиляцию, а через MSBUILD Вполне можно попробовать
>>1522383>Тебя небось и прослойки на плюсах в питоновских либах удивляют?И на плюсах в этих прослойках пилят очередной велосипед или каким образом это как-то влияет на мною сказанное? >Не понимаешь нахуя пилят wasm когда есть js?Чтобы можно было писать веб-страницы на более низкоуровневых языках чем js, также как js-еры запилили node.js для того чтобы делать десктопные и серверные приложения.>Наличием ансейфа в шарпе не шокирован?Он там для доступа к неуправляемым ресурсам, а не для того чтобы долбоебы пытались свой linq to sql запилить.
>>1522456Все что можно запилить на плюсах, можно сделать на питоне, и даже проще. Но почему-то прослойки пишут на плюсах, хотя по твоей маня классификации это велосипед. Интересно почему же блядь?>Писать на более низкоуровневых языкахЯсно, велосипед значит>Свой linq to sql>Свой linqХоспаде, ребенок, ты походу вообще не вдупляешь о чем речь. Тебе пишут о том что в узких местах без голого sql никуда, а ты дальше про велосипединг кудахчешь.Дай угадаю, тебе с задачами сложнее чем "выбрать данные из 3 связных таблиц" сталкиваться не приходилось.
>>1522552>Тебе пишут о том что в узких местах без голого sql никуда, а ты дальше про велосипединг кудахчешь.Долбоеб, это тоже самое, что говорить о том что Typescript выдает код медленнее чем JS. linq to sql это и есть голый sql, тупорылое ты животное, просто за тебя его пишет среда.
>>1522555Меньше кода, быстрее читается. Это как использование delegate вместо лямбда-выражений для создания анонимных функций с параметрами — признак незнания языка.
>>1522557>>1522571Ok. Кстати посмотрел IL код, с оператором ?? его меньше и проще (не подумайте, я не байтоеб).
>>1522561Ага, только пишет она его хуево, когда начинаются специфические заморочки>Linq это и есть SQL, просто за тебя его пишет средаСамому от таких лингвистических маневров не противно, дебил?Ага, а жава это и есть ассемблер, просто за тебя его пишет си, которое пишет жвм.До чего вкатывальщики тупые пошли пиздец
>>1522576И где ты здесь >>1522137 специфические заморочки увидел? Я вижу только криворукого программиста.
>>1522581Во-первых я их не тут вижу, а регулярно в продакшне, переписывая узкие места на SQLВо-вторых раз начал выебываться, то давай, показывай как ты бы тут переписал Linq чтобы ускорить на порядок запрос.
>>1522575А нет, напиздел. Я же в дебаге смотрел, в релизе на одну операцию копирования в стек меньше при ифе, чем при ??. Но это, конечно, не аргкмент.
>>1522586Мне за это деньги платят. Пусть долбоебы продолжают свои велосипеды придумывать и говорить, что это СПЕЦИФИЧЕСКИЕ ЗАМОРОЧКИ.
Блядь, ткните носом меня. Где в .net core буфферы нормальные? Неужели я должен свой велосипед хреначить, чтобы не случилось переполнение массива? Списки это не то, на всякий случай предупреждаю.
>>1522634Чтобы строка из потока куда-то собиралась, чтобы потом ее распарсить. Строка неизвестной длины, может и один символ быть, а может и пара гигов прилететь, и нужно что-то, что эту строку будет сохранять, для дальнейшего использования и обработки.
>>1522637>из потока куда-то собираласьв StringBuilder>может и пара гигов прилететьну тогда наверно в файл.
>>1522637>>1522658Кстати, что за строка-то? Может лучше сразу её парсить не дожидаясь полной загрузки. Один хуй 2гб держать в памяти это прербор.
>>1522561>это тоже самое, что говорить о том что Typescript выдает код медленнее чем JSСправедливости ради, в данном случае скорее "говорить о том что React выдает код медленнее чем чистый JS" И в общем-то это так
Привет шарписты !Снова Я пришел с охуенными задачками.В общем в консоль вводим строку со всякими словами пробелами и т.д. с клавиатуры. И нужно вывести только те слова сообщения, которые начинаются с прописной буквы.План у меня такой при помощи метода SpliT поделить строку на слова и потом проверить в каждом слове регистр первой буквы.Кусочек кода я набросал как поделить на слова. А вот как потом взять каждое слово что то нихуя не могу понять. Если можно подскажите как вальнуть данный момент.
>>1522692>И в общем-то это такДолбоеб, Typescript и React этот и есть чистый JS, блять. Да, то что они делают ты можешь написать собственноручно и это будет работать быстрее, например, Vue в сравнении с React, но от этого это не перестанет быть чистым JS-ом.
>>1522807Чувак, тебе действительно делать нехуй, кроме как приебываться к словам на анонимной борде в полумертвом треде? Очевидно же что под чистым жс подразумевается отсутствие фреймворков и либ кроме полифиллов мб.Ебать ты токсичный короче
>>1522794Норм, компилятор разворачивается в if(x == null) x=... (байтоеб во мне доволен) и запись не избыточна (а то x = x ?? ... какое-то масляное масло). Похоже пришло время переползать на 8.0.Кстати 2017 студия может в C#8, а то есть любители?
>>1522781Вот тебе, няша, решение для ascii-таблицы, все будет Ok если в строке только английские буковки.
>>1522781using System.Text.RegularExpressions;string pattern = @"\b[A-Z].*?\b";var result = Regex.Matches(textWithCapitals, pattern);foreach (var m in result) Console.WriteLine(m);
Есть вариант как-нибудь такой запрос без ебли сохранить, хочу к нему потом разные селекты писать. Как я понимаю можно сохранить, вытащив все что нужно через селект он как IQueryable сохранится и потом к нему обращаться, но опять же прописывать все параметры в этом селекте не хочется.
Может кому не лень будет посмотреть что я там час говнокодил.https://github.com/BakaVaka/MySuperTcpServer/tree/master/src/Main/NetКороче, что я делаю не так и как надо правильно?
>>1523285Много чего не так. Что сразу бросилось: рекурсивный метод приема клиентов, пустые классы в проекте, вызов консольных методов из модели, очевидно ты не понимаешь, что значит DataAvaible, раз через него определяешь конец сообщения, зачем-то влепил concurrentDictionary туда, куда пишет/читает только один поток, диспоз, который крашнет приложение. И это я еще не смотрел саму логику.
>>1523314> пустые классы в проектеНу это же типа первый коммит, я еще не придумал что там еще должно быть, просто набрасываю чтобы потом допилить.> рекурсивный метод приема клиентовНу ладно, это справедливо> очевидно ты не понимаешь, что значит DataAvaibleНу, может быть не понимаю. На MSDN просто получают сообщение конструкцией do...while(myNetworkStream.DataAvailable). Я думал так и надо. Если не так, то как правильно?> зачем-то влепил concurrentDictionary Потому что в конечном виде должно быть несколько потоков.> диспоз, который крашнет приложениеОпять же, это первый коммит, пока не решил что там буду освобождать
>>1523314Объясните нубасу, почему приватные поля обозначаются как _Зачем это вообще в C#, если и так все понятно? это не не С++, где везде m_privateField
Насколько зашкварно при создании объектов указывать тип как var, вместо прямого указания?Regex regex = new Regex(...);var regex = new Regex (...);Итогдалее?
>>1523331>первый коммитНу так сделаешь во втором коммите. Нет причин пихать в первый коммит мусор>как правильноОтсылать сначала размер сообщения в байтах, а потом тело, при преме считать размер, а потом количество байт равное размеру сообщения. На датааваибл полагаться нельзя, потому что в реальной сети есть потери, есть высокие пинги и прочее. Может получиться так, что датааваибл уже 0, а сообщение пришло не до конца. > в конечном виде Ну вот кода дойдёшь, тогда и сделаешь. Я уверен, что у тебя нет чёткого плана реализации и поэтому пытаться кодить на будущее плохая идея, все разобъется о то, что в реальности будет не так как ты думал. Лучше пытайся сделать код простым для изменений.>пока не решилА вызвать диспоз можно уже сегодня, а учитывая то, что нужно диспозить все что диспозится, результат плачевный
>>1523433Если тип очевиден из правой части, то указываешь var, если не очевиден, то указываешь явно. Но для новичков var лучше использовать в LINQ выражениях, а во всех остальных случаях объявлять явно.
>>1523438Спасибо, уже понял для себя, что не всегда прикольно писать Dictionary<string, string> openWith = new Dictionary<string, string>()
Если у меня есть много полных свойств (~15) в классе, то как это форматировать?1:поле1поле2св-во1св-во22:поле1св-во1поле2св-во2
>>1515206Что по WCF почитать и зачем он нужен? Два раза ходил на синьёра собеседоваться и два раза спрашивали.
>>1523203>>1523927Они позволяют тебе обновлять структуру базы данных без необходимости её сбрасывания и пересоздания. Хули тебе не понятно то?
>>1523933я так и предпологал, хотел убедиться. Спасибо. Еще вопрос, когда помещаются экземпляры приложения в docker container (или кибернейт, не важно) как предоставляют доступ к БД из разных источников? Т.е. работа с БД идет по принципу открыл-закрыл, ждешь очередь, когда другой экземпляр из другого контейнера подключится? Или у каждого контейнера своя БД, которая синхронизируется? Тупа шо? Нипанятно.
>>1523939Перед обращением открывается соединение с БД, далее уже идёт обращение к ней и никто никого не ждёт, если кто-то пытается изменить одну и ту же запись, то применяться изменения самого последнего запроса (это поведение можно изменить при помощи Timestamp). Если кто-то попытается удалить запись, которая уже удалена, то будет выброшено исключение типа DbUpdateConcurrencyException.
>>1523953падажи, но ведь аттачить БД может только один экземпляр контейнера. К тому же держать заатаченную БД ресурсоемко и каждый запрос (на примере даппера) происходит в контексте структуры Using, чтобы после команды был Finalize.Или я что то путаю?
>>1523988Ты спросил про то как с бд работают несколько клиентов. Если речь идёт про один клиент, то отрывать нужно как можно меньше соединений с базой данных.
>>1524070>разбить на 2-3 класса.>использовать #regionБро, да ты просто бог рефакторинга. Еще советов плез, всем классом твои советы в тетрадь переписали
>>1524100пацаны сказали, что такую глину месить не будут. Вон Ванька с последней парты кричит - "Пиши сажа, скрыл"
Сегодня одна HR пизда сказала, что Junior - это человек с опытом работы 0.5+ года. Я спрашиваю, а что до джуна идет - Trainee. Блять что за хуйня? Разве есть такая квалификация? Типо джуном без опыта не стать, пока не посидишь на какой то "trainee" должности aka "Water boy"?
>>1524142Молодой человек, вы нам не подходите. Сказали на курсах, что станете джуниорами - идите работайте на курсах.Я серьезно вот. Джуниор это специалист со стажем от год и выше, то есть уже знает технический минимум для работы
>>1524159>Джуниор это специалист со стажем от год и вышеЯ уже 2 года только на .NET pet-project-ы клепаю. Причем не Hello world, а высрал свой ASP.NET MVC5 сайтец с DI Контейнерами, Moq, блек джеком и шлюхами. Типо чтобы джуном работать, нужно где то уже отработать. Какая то рекурсия получается. Как тогда джуны появляются? Вакансии только на джунов и выше.
>>1524175Ехай в мухосрань, устраивайся на 11к и работай 2-3 года, там конкуренции особой нет, берут не то что без опыта, даже знания синтаксиса не всегда спрашивают, главное что ты должен за время что тебе скажут сделать работу, заплатят после выполнения.Ну или делай свое приложение под IOS, благо замарин тебе позволяет, потом его в аппсторе размещай, как будет 100к+ скачиваний, и положительные отзывы, можешь добавлять его в портфолио и идти на собес с ним.
Блин, я тот бака, что вчера гитхаб кидал. Я тут вот что понял, оказывается в 64кб не любой запрос же влезит. Да, я как-бы это учел, сделав сегментированный буффер, но тут я задался другим вопросом: А как, собственно-то понимать, что это один запрос, а это другой? Ну, скажем, вдруг так случится, что из-за неполадок в сети получится что при считывании из потока я захвачу часть другого запроса, при этом он полностью не поместится в сегмент и будет что-то типа прикриплейд? Я понимаю, что наверное это какой-то тупой вопрос, но мне вот непонятно. Что будет если я просто строки отправляю, при этом без \0 или какого-то еще спецсимвола? Как мне понять что строка 1 закончилась и началась строка 2?
>>1524206Что толсто? Я сам из мухосрани, пришел в самую большую фирму, где нужны кодеры были. Там спросили: Ты кодить умеешь? Я сказал: Да умею(хотя до этого только калькулятор на обратной польской записи на сях писал по гайдам). Мне сказали: Завтра выходи, нужно сайт допилить, мобильное приложение сделать и станки запрограммировать. Я обосрался - меня пидорнули. И так 5 раз в разных фирмах. В 6й уже не обосрался.
>>1524192Тебе заняться нечем? Так ты книжку по сетям и их работе почитай, а не хуйню спрашивай и в пейнте рисуй.
>>1524218Ну, все книжки, что советуют, по сетям на сях написаны, а я когда вижу указатели в обморок падаю.
>>1524220Какие тебе Си, если ты основ не знаешь? Гугли "Сети и системы передачи информации для чайников".
>>1524222Загуглил. Там все что я и так знаю. Понимаешь ли, знать что tcp-пакет заканчивается пакетом флагом fin, а при получении сегмента отправляется пакет с фалгом ack не помогает мне понять, как я должен используя сокеты получить картинку с помощью сокетов.
>>1524236>1_1>1_2Иди нахуй отседова со своими вонючими курсовыми. string = string.Empty он блять инициализирует урод.И не помогайте ему нахуй, а то будут сюда как на парад ходить.
>>1524236Потому что ты в словах ищешь индекс самого слова. У тебя indexoflastelement всегда равен нулю.При этом чтобы на слова разбить недостаточно одного split(' '), потому что в конце слов у тебя будут знаки препинания. Ты на Geekbrains что ли курс проходишь? Если да, то урок про регулярные выражения. Если их использовать, то задача в 2 строки выполняется.
>>1524236Бля, проебался из-за того что неправильно задание прочитал. Короче, думаю ты догадаешься, как потом это в строку собрать.
>>1524268Никак. Знаки проебуться, строки проебуться, получится одна строка из слов, при этом с разным регистром.
>>1524331>>1524330>>1524329Ну раз ты учишьсяПредлагаю начать обучение с ответа на посты одним сообщением вместо нескольких.
>>1524330да пошел ты нахуй со своим учусь. Stackoverflow, google - вот твои учителя, не двач. Что ни зайдешь какую ни будь шелуху обсуждают, а на серьезные темы забивают болт
Ебучий front-end IS EVERY WHERE! Куда ни плюнь - HTML+CSS+JS (jQuary, Angular/React/Mocha/Govno/Vua) куда блять катиться этот мир? Полистал requiared skills python/java/RoR - везде эта залупа. Подскажите языки, где не будет этого вонючего стека петушинного front-gay разработчика?
>>1524336Та же хуйня, братиш.Держу оборону на десктопе.ЗП в 3 раза чему у усепшных веб-разработчиков.Но мне похуй, я ноулайфер, запросы у меня мизерные.
>>1524336Рыночек порешал. Если не знаешь JS и что-то из React/Vue/Angular, то на нормальное место можешь даже не рассчитывать.
>>1524337>>1524341>>1524343Хоть бы EvilCorp подмял под себя этот ссаный front в виде blazor и web assembly. Боже блять, скажи лет 5 назад, что .NET или Java девелоперу нужно будет знать CSS (ААААААААААААА ЧТО БЛЯТЬ?) рассмеялись бы в лицо. Как же я ненавижу ебаный обезьянний язык JS с динамической типизацией и миллионов облепленный им библиотек.Ехал в лифте БЦ после собеса, стояли 2 слащавых щегла лет по 20-23 в рубашках-дровосеках и очках с толстой оправой - обсуждали "О ЭТИ НОВЫЕ ФИЧИ 7 АНГУЛЯРА". В это время я представлял, как давлю черепушку этой петушне одной левой.
>>1524347кстати иди нахуй червь-пидор. Тут тебе не код-ревью агенство, иди у ментора спрашивай.>>1524343>>1524337загнивающая хуйня, эти ваши десктопы
>>1524301Немного говнокода и вполне себе как!Разве что регистр проебан, но в задании вообще ничего про регист, просто удалить слово оканчивающиеся символом.
С шарпом вообще можно фрилансить? Проекты на работе занимают пол года минимум на команду из 3х гребцов, QA и погонщика. Заебал офис. Но не подозреваю какие могут быть мелкотаски.
программа запрашивает ввод строки и переводит символы верхнего регистра в нижний, а символы нижнего регистра в верхний.не ебу ваще как правильно сделать. пытался гуглить, была всякая хуйня. помогите пжалуйста :(
Делаю задачи Эйлера, хочу бенчмарки прикрутить, вручную добавленный StopWatch() хуйню какую-то выдает уровня 21500 тиков на случай с 20 повторами, и 4 тика на случай с 2мя лямами повторов. Какие ещё варианты есть?
>>1524411реально. На хабре есть даже тутор со скелетом, где чувак asp.net mvc (3 или 4 - старенький) пилил под заказчиков. В 99% фриланс на шарпах это веб (ну или remote full time).>>1524494уровень /pr/ C# - перевод и lower to upper case... приехали блять>>1524497нихуя не понял, но очень интересно. Будет время тоже эти задачки подрочу
>>1524518Использую следующим образом:var watch = System.Diagnostics.Stopwatch.StartNew();var calculation = logic.Calculate();watch.Stop();var elapsedMs = watch.ElapsedMilliseconds;var elapsedTicks = watch.ElapsedTicks;Получаю пикрелейтед
>>1524523Как я думаю, либо я как-то стопватч неправильно использую, либо шарп просто для второго вызова функции забирает данные из оперативы которые ещё не удалились. Если второй вариант, то как их почистить чтобы результаты адекватные были?
>>1524525С секундомером все норм. Только надо сделать пару прогонов методов, перед замером времени, чтобы все подгрузилось и джит отработал, иначе замер учтет и это.>>1524525> либо шарп просто для второго вызова функции забирает данные из оперативы которые ещё не удалились.Возможно. Только не шарп, а ты переиспользуешь какие-то данные.
Мне нужно из метода передать коллекцию объектов с двумя полями int, decimal дальше нигде в проекте такой набор данных не будет использоваться, только в этом одном месте. Я вижу два решения:1) Передать через Dictionary<int, decimal>. Из плюсов: не создаются новые малоиспользуемые классы. Из минусов: неявное использование оригинального Dictionary.2) Создать новый класс используемый только в этом месте. Из минусов: если всегда так делать в проекте будет много вспомогательных классов нужных только в единственном месте. Из плюсов: зато использование конкретного этого класса полностью соответствует цели его создания.Какой подход лучше?
>>1524523>On a multiprocessor computer, it does not matter which processor the thread runs on. However, because of bugs in the BIOS or the Hardware Abstraction Layer (HAL), you can get different timing results on different processors. To specify processor affinity for a thread, use the ProcessThread.ProcessorAffinity method.Щас затестил, всё рано не помогает. Поэтому лучше всего будет прогонять один и тот же метод с одним и тем же значением несколько раз, а потом брать среднее значение. При этом привязав определенный процессор к процессу.
>>1524592Если создавать, то создавать не класс, а структуру, как раз для таких целей она подходит больше всего. Ну или кортежи.
>>1520603Что посоветуете почитать для вката в asp.net core (а конкретнее webapi), но так чтобы прям на пальцах объяснялось, а не "ну ебать пишем вот так контроллеры хуёллеры туда сюда хуё моё модель падажжи ёбана"?
Короче, я вроде как придумал, как получить пакет даже который больше 64кб, применив смекалочку и сохраняя считанные куски в строку, а потом конвертируя ее обратно в массив байт. Понимаю, что, наверное, не лучший способ, но курсач защищать через 3 недели, а предзащита через 2 и на ней практика должна быть готова уже, потому, раз вы не посоветовали ничего, кроме чтения книжек, а примеры все с TCP-чатами, будет так.Теперь нужно как-то парсить. Как делать это правильно?Вот примерная структура пакета:[startByte] - есть всегда, кроме случаев когда сервер сам отправляет запрос сихронизации с клиентом[Layer1 - Уровень который есть всегда(кроме случаев когда его нет), тут лежит инфа об отправителе и контрольная сумма нижележащих уровней[Layer2 - Уровень в котором лежит идентификатор пакета(1байт) и длина вложенных данных(4байта)( длина может остутствовать в некоторых пакетах)[SubLayer2] - Тут лежит полезная нагрузка пакета, например сообщение или байты картинки/файлика[Layer3] - наличие этого уровня указывает на то что данные в предыдущих уровнях зашифрованы, значение байта соответствует алгоритму шифрования ]][endByte]-аналогично startByte только байтик другойСуть в чем, SubLayer2 и Layer3 могут отсутствовать в некоторых пакетах, например, если я передаю картинку, я ее запаковываю просто в пакет вида:[[delimByte][startByte2][imgPacket[imgBytes]]][endByte]Где imgPacket - id типа пакета, а imgBytes - сама картинка, а отсутствие уровня3 должно сказать нам, что данные не зашифрованы.Так вот, у меня, в связи с такой вот структурой, которую нарисовал мне препод, есть некоторые проблемы. Главная из них это то, что непонятно как сделать общий алгоритм, для всех типов пакетов. А если делать для каждого типа пакета свой парсер, то как это сделать так, чтобы потом это было удобно использовать для формирования ответа от сервера?
Смотрите чего придумал. Типа можно цепочку каких-то действий по обработке списков задать. Теперь осталось подумать где оно может сломаться ну и в какой ситуации его применять. Еще не придумал как List<T>.
>>1524974> флюентЧто это такое? Я просто пока жду ответов на >>1524935пытаюсь придумать, как себе жизнь упростить. Пока подумал что сделаю парсеры под каждый уровень, каждый из которых будет таким вот фильтром(в теории наследники могут иметь массив next-фильтров и в зависимости от того что они там распарсили - вызывать Execute конкретного фильтра). Только вот саму структуру класса пакета все еще придумать не могу, типа должен ли он вообще что-то знать, проверять валидность и т.д. или он просто должен быть моделью состоящую из одних полей и метода сериализации. Короче, хз.
Как найти попеншурш проекты на шарпе, доступные для понимания джуном, и которыми при этом кто-то реально пользуется?Жопа чешется что-то пописать полезное.
>>1524988Заходишь на гитхаб, смотришь проекты с большим количеством звезд, которые написаны на шарпе. Можешь написать библиотеку для работы с SOCK4/SOCK5 проксями, почему-то долбоебы из майкрософта не вшили этот функционал в стандартные, а на гитхабе только две нормальных библиотеки.
>>1524986Ну, мне кажется что linq для мое задачки не очень подходит. Даже не знаю как его применить в моем случае. А тут все понятно лично мне, даже если linq и может то же что и мой велосипед.
А как правильнее строки составлять? Через string interpolation $"abc: {qwe()} xyz" или через конкатенацию "abc: " + qwe() + " " + "xyz"
>>1524998Ебашь через интерполяцию. Единственное, что вызоа метода при построении строки не очень. Лучше сохрани результат и используй его. Чисто для читаемости избежания нежданчиков, хотя уже вкусовщина.var body = qwe;var str = $"abc: {body} xyz";>>1525008Никто не вернется в 2007.
>>1524935В каком посте задача описана? То что ты написал выглядит как фантазии угашенного веществами разума.
>>1524964Каких действий? 80% всех действий будет .Find и .Where. Для остального можно экстеншен методы нахуярить, если очень хочется.
Есть ряд сущностей объениненных в слои бизнес логики. У меня стоит задача - создать интерфейс взаимодействия (другими словами КРУД для каждой сущности + доп. методы типо аутентификации, авторизации etc). Созрел вопрос - много полей в этих сущностях однотипны, поэтому думаю создать общий интерфейс с базовым функционалом - Add,Update,Create,Delete, который будет наследовать остальные интерфейсы. Базовый интерфейс нужно обязательно сделать обобщенным, т.к. добавление происходит именно сущностей, а они могут быть разные. Как будет лучше:1. Разбить на кучу интерфейсов по принципу SOL(I)D с наследованием общего интерфейса2. Создать классы-прослойки для каждой сгруппированной сущности (уменьшить количество интерфейсов, но усложнить функционал промежуточным классом). Что я имею ввиду под сгруппированной сущностью - К примеру есть пласт сущностей - Staff. Они в свою очередь могут быть - Employee, Position, Branch. К каждой из них нужно создать CRUD+specific functionality.Заранее спасибо за ответ.
>>1525233Ты решил дженерик репозиторий заново изобрести? Не надо, в EF уже все есть. Для остального есть экстеншены.
>>1525310Я юзаю UnitOfWork паттерн. Потом все это хозяйство соберу в один интерфейс UOW и буду передавать для Business layer. Вопрос с дроблением интерфейсов остается открытым.
>>1525327Чем тебя DbSet не устроил, который уже содержит методы которые ты придумал для базового интерфейса? Все кроме круда делаешь в слое сервисов, у каждого сервиса свой интерфейс. В чем смысл наследования интерфейсов вообще?
Где можно прочитать или обучиться или видос просмотреть про MVVM + WPF?Чтобы во всех подробностях обьяснили как это и к чему. Всё что я смог найти в инете - это цирк-парад самолюбования и неистового фапа на MVVM без обьяснения ключевых моментов.
>>1525348>DbSet не устроил1. Возвращает IQuarable, а не IEnumerable. Переопределять базовый функционал - не вижу смысла, лучше все вынести отдельно2. Все равно всех функций не будет хватать. У меня например есть галочка bool - CheckOrder. Можно это вынести поверх DbSet, но см. пункт 1.>В чем смысл наследования интерфейсов вообще?Не плодить те же методы в интерфейсах. Можно обязать реализовывать доп. функции, как тот же Dispose.Но энивей, спасибо за ответ
>>1525233Создаешь абстрактный класс BaseEntity, в нём реализуешь всё то, что будет в каждой сущности. Наследуешь его классами вида Staff, а Staff уже наследуется всеми остальными - Employee, Position, Branch. Если есть что-то общее между непересекающимися иерархиями, то соединяешь это интерфейсами.
>>1525389>Наследуешь его классами вида Staffты хотел сказать интерфейсами? У каждой ветки, типо Staff есть "особенный" функционал, который должен реализовывать Context. Меня всегда донимают архитектурные вопросы, т.к. тонкая грань между как должно быть и как лучше. Поэтому лучше заранее заложить такую логику, чтобы система была расширяемая, а не падала мертвым грузом, как очередной клубок не понятной хуйни в приложении.
>>1525394У тебя и получится клубок непонятной хуйни, потому что ты суешь везде интерфейсы. Делаешь Staff абстрактным и "особенному" функционалу добавляешь в нём модификатор abstract, получаешь тоже самое, что было бы если бы ты использовал интерфейс, при этом какие-то общие функции ты можешь объявлять явно и использовать их у потомков без необходимости писать каждый раз одно и тоже.
>>1525398делать абстрактный класс или интерфейс с базовой реализацией не столь важно, вопрос в том, что совать в Staff уникальные функции и для Employee и для Position не правильно (имо). Например:void UnpayedDeals(Employee employee); - уникальный метод, он не должен быть в наследовании Position от абстрактного класса Staff. поэтому и возникла мысль сделать на каждую сущность свой интерфейс.
>>1525401Если не должен, значит ты его туда не добавляешь, а делаешь непосредственно в наследнике. В общем, тебе надо про ООП почитать и как строить иерархии классов, у тебя какая-то каша в голове.
>>1525410>непосредственно в наследникеРазве не должно быть 100% покрытие методов интерфейсом? Ведь при постановке в DI контейнер другого интерфейса часть методов банально упадет/потеряется. Насчет ООП - согласен, нужно будет почитать что ни будь. Реализации паттернов в ООП - читал, само ООП - нет (странная хуйня, правда?)
Короче, я таки сделал парсер, т.к. заебался, наговнокодил(куча ифов, сам класс парсера на 1000+ строк кода).Но теперь я не знаю как это все вместе собрать. Т.е. вот у меня парсер пакетов, принимает массив байт, и из него делает объект с инфой о сообщении(тип, отправитель, есть ли вложения и т.д.), есть асинхронный сервер, который представляет из себя слушателя, который при попытке соединения создает сессию которая там крутится(ждет входящего сообщения, при получении отправляет обработчику, который потом, в случае необходимости отдает ответ), пока не отключится клиент, есть главный класс приложения, который умеет читать из json'а параметры приложения(сколько клиентов можно обслуживать на одном сервере, нужно ли шифровать и т.д.). И вот, блядь, когда я пытаюсь это все вместе объединить все просто по пизде идет, я не хочу чтобы классы были сильно зависимы друг от друга(ну ведь серьезно, тупо же будет если класс который парсит пакет будет что-то о сессии знать), но с другой стороны я не понимаю как сделать так, чтобы оно работало вместе.
А как на шарпе прогать на линуксе? Где IDE взять, где компилятор? А то меня в унике троллят жабопидоры...
>>1525534https://docs.microsoft.com/en-us/dotnet/core/tutorials/using-with-xplat-cliКодишь в любом редакторе
>>1525535Редактор заменит иде по всяким плюшкам в виде быстрой навигацией по многочисленным классам, умному автодополнению, анализу? Так-то VS code могу.
>>1525538Ты программист или где? Все нормальные пацаны в vim кодят, нахуй тебе все это перегруженное говно?
>>1525540Ну это уже какиры так могут, которые ржут над предупреждениями в иде и хакают быстрый обратный квадратный корень.
Я вот что думаю, короче, посмотрел https://youtu.be/HSFLhoAMmoM и теперь хочу свою залупу>>1525509>>1524935 в виде сервисов замутить. Типа в голове выглядит прикольно: Запилил эти самb сервисы, сделал воркеров, клиент отправил сообщение, оно добавилось в очередь на обработку, потом один из воркеров его достал, распарсил, послал ответ, записал нужную инфу в БД, пошел за следующей. Можно даже несколько воркеров в зависимости от того кто отправил запрос: типа из браузера HTTP - браузерный воркер, который берет из своей очереди, из коносльки или WPF-клиента - обычный воркер, они все свои дела отдают воркерам что потом в БД пишут, переодически делают запросы к воркерам что из БД читают и дают нужный ответ. Только блин, я не уверен что все достаточно хорошо понимаю, чтобы за 1,5 недели управиться(особенно я не понимаю как оно должно работать в случае если подразумевается что клиент не отключается сразу получив ответ). Эх. Что думаете-то? Нормально для TCP-чатика использовать такой вот подход или лучше уже как есть доделать и не ебать себе мозги?
Да, почему все советуют делать сервер асинхронным? Просто мне как-то с тредами понятнее работать, типа понятно: Вот он тред, я его создал, засунул в него какую-то задачу, она там выполняется, потом я тред завершил и не особо о чем-то думаю, если нужно из разных тредов к какому-то ресурсу получить доступ, то ебанул критическую секцию, семафор или еще что-то, все опять же логично и понятно. А с этими асинхронными методами - хуй разберешься, вроде в маленьких задачках и понятно, а когда пытаешься все сделать асинрхонным уже непонятно становится. Вот с тем же сервером, я сделал асинхронный по гайдам и сам на тредах, так вот, вроде как все по гайдам делал, но почему-то когда завершается сессия и сервер типа ее удаляет, память не освобождается, если не вызвать GC на сборку, но это же пиздец получается, так вот, на тредах закончилась сессия CG сам все чистит и памяти сервер не жрет особо после отключения. Может быть я что-то не так с этими async делаю, но ведь по гайдам же, еще и подсмотрел на гитхабе как умные люди делают, а все равно - ебанул 10к сессий, потом вырубил их и сервер сожрал 2 гига и отдавать их не хочет даже через час простоя, только рестар помогает.
>>1525142> Никто не вернется в 2007.Мой проект с второго фрейворка на четвертый только полгода назад переехал, лол.
Выручайте, суть при клике должны выполнятся инструкции которые расписанные в дллке, собственно выдает пикрил, но соль в том что у меня есть другой веб проект который работает с этой дллкой нормально, так что в дллке проблемы быть не может, что я упускаю? где может быть ошибка?
Так, ананасы, правильно ли я понял, что для создания событийной модели Издатель-Подписчик мы могли бы обойтись одними делегатами, а сами события представляют собой:Автоматически реализуемое свойство, содержащие методы Combine и Remove класса Delegate, а так же экземплярное поле типа того делегаты которым является событие, содержащие в т.ч, как и любой делегат поле-массив _invokation_list.А сами ивент нужны для того что-бы:1. Расширять методы add и removeДопустим add{ Console.WriteLine("You added new delegate."); //////////}2. Поддерживать инкапсуляцию т.к создать ивент можно только внутри класса и инвокнуть ивент может только класс.
Попытка номер 2 TCP-сервер сделатьсервер https://ideone.com/1K9abRсессия https://ideone.com/kTRRWMГде я в этот раз обосрался?
>>1526154Посмотрел сессию - ты хуйню творишь.Во-первых, FooAsync().Result - это дебелизм, зачем дергать асинхронный метод и сразу блокировать поток его ожиданием? Зачем слипать поток, у тебя ресурсы лишние?Во-вторых, ты опять надеешься что данные будут приходить сразу одним куском, это не так.В-третьих прочитай про именование методов и переменных, это же ужас.
>>1526211Пытаюсь отрисовать карту не прибегая к пикчербоксамhttps://pastebin.com/aLJy519Yпроблема в OnPaint(); это функция общей обрисовки всего, может кто знает что нужно в скобочки нужно ставить для того чтобы всё заработало?
>>1526211> Во-первых, FooAsync().Result - это дебелизм, зачем дергать асинхронный метод и сразу блокировать поток его ожиданием? Зачем слипать поток, у тебя ресурсы лишние?Ну, я просто не знаю, а что делать в это время сессии? Типа цикл же выглядит как: пока в передаются данные -> добавляем их в буффер;когда данные закончились - отправляем их на обработкуПо сути, размер данных я узнаю просто на случай если первый кусок или последний будет меньше размера buffer, чтобы вставить без ноликов в массив обработки.> Во-вторых, ты опять надеешься что данные будут приходить сразу одним куском, это не так.Не, я просто пока не реализовал обработчик. Я же говорил, что придумал все в строку сохранять и потом в нее добавлять что пришло, ну а потом в обработчик, который будет парсить пакеты и если нужно давать ответ клиенту. Хотел сначала в список сохранять, но почему-то в интернете списки нигде не увидел в качестве буффера, потому подумал, что это плохое решение, а строки, вроде как норм.> В-третьих прочитай про именование методов и переменных, это же ужас. А что с ними не так? Вроде же названо все понятно, без каких-то непонятных сокращений. В большинстве слеаев камелкейсом, или я что-то не так понимаю?
>>1526226>Ну, я просто не знаю, а что делать в это время сессии?Эвейть таску, которую возвращает ReciveAsync. Когда придут данные метод продолжит выполнение, пока данных нет поток зацмется чем нибудь полезным.>размер данных я узнаю просто на случай если Тебе возвращают количество принятых байт, чтоб ты не проебал данные, потому что ReciveAsync может вернуть кусок сообщения, пока остальная часть где-то ползет.>и потом в нее добавлять что пришлоСмотри, чтоб сборщик мусора не повесился от твоих добавлений в строку.>>1526226>А что с ними не так?Метод - действие, действие глагол. SessionCommunicationTask в чем тут действие? При чем тут таск? Start/StopSession() Session тут избыточно, эти методы вызываются на классе TcpSession. Вон ты на таске старт вызываешь, там же не написано StartTask.
Добрый вечер Есть таска пытаюсь решить но выходит херня по факту не получается перебрать символы каждого слова для поверки.Кусок моего кода прилагается. Основной вопрос что не так когда перебираю каждый символ слова для проверки.
>>1526323Выбираешь только слова регекспом (\w), собираешь из них коллекцию.Проходишься по каждому слову в коллекции.Перебираешь каждое слово до последнего символа, либо до символа который является не прописным. Если дошел до последнего символа, значит добавляешь слово в результирующую коллекцию, если дошел до строчного символа, значит переходишь к следующему слову.
>>1526323Ебани регулярку \b[A-Z] и считай сколько раз совпадет. В душе не ебу как это на шарпе делается. На жабе вот. https://ideone.com/kF88xh
>>1525769Бамп. Ну же, анончики, если я какую-то хуйню сморозил и ивенты вообще не похожи на свойства, так и напишите.
Если не сложно, то поясните за стримы(ака потоки).Так вот, что хочу уточнить. Правильно ли я понимаю, что если, скажем, я решил читать из файла, считал 10 букв, потом передам этот стрим куда-то еще, то я все так же могу считать эти 10 букв? Если да, то как? Просто из-за названия "поток", я почему-то думаю, что это как в кране: открыл воду, она пошла, успел в стакан набрать - молодец, не успел, вода утекла куда-то еще.И вот еще что, как это вообще работает-то? Ну, типа есть нетворк стрим, он, вроде как позволяет из интернета данные получать, но что будет если я достану этот нетворкстрим, отдам куда-то еще, а данные еще не до конца пришли? Он будет как-то ожидать пока не получит конец сообщения или ему наплевать и вот я, скажем, считал заголовки HTTP, начал читать содержимое body а оно еще не все пришло, моя программа подумает что все и закроет стрим, а там оказывается еще что-то было и я просто проебал эту очень важную мне информацию.
>>1515204 (OP)Мечтаю превратить Visual Studio Code в отдаленное подобие VS Community. Накидайте пожалуйста расширений для VS Code и Open Source тулзов для этого.in64: накидал тебе за щеку, проверяй
>>1526423Красноглазики должны страдать.>>1526409Молодой человек, вы 'ё' проебали.>>1526416> я решил читать из файла, считал 10 букв, потом передам этот стрим куда-то еще, то я все так же могу считать эти 10 букв?Да, файловый поток можно гонять вперед-назад. Ему не проблема прочитать любой кусок файла.>нетворк стримИз этого можно тянуть данные только последовательно, однажды прочитанные они из потока уходят насовсем, если ты их проебал, то всё.>а данные еще не до конца пришли?Read методы стримов возвращают реально прочитанное количество байт, если их меньше чем надо, читай еще, пока не получишь все данные.>>1526416>будет как-то ожидать пока не получит конец сообщения или ему наплеватОн понятия не имеет. сколько байт посылают на том конце, отдает только то, что уже пришло. Реализовать контроль целостности твоя задача, самое простое - слать длину сообщения перед самим сообщением.> считал заголовки HTTPЕсли работаешь по хттп, ищи готовые решения для работы с ним, протокол, надо сказать, довольно популярный, все велосипеды уже сделаныю
C# мертв для десктопа и тем более для мобилокASP тоже мертв, для фронта есть JS с его реактами и ангулярами.но вроде как CORE Жив, будешь создавать API рестыно зачем нанимать C# для api рестов, если можно нанять голонщика, питониста или нодиста?Cobol, Delphi, C# и java - мертвы, но для поддержки легаси они норм и будут актуальны еще 10 лет.
>>1526473Вот языки которые нужны на 2019 годjavascript+typescript+nodegolangPythonRustостальные языки не нужны.PHP - тоже для легаси проектов, не стоит в него вкатываться уже.
>>1526485хотел сказать , актуальные, имеющие перспективы, имеют множество вакансий и все новые проекты начинают на них.Если новый проект начинают с C#/Java , то это только потому что в данный момент все люди которые сидят в твоем отделе являются программистами только этого языка, такя же штука у COBOL и DELPHI, пишут на них в 2019 потому что других нет в поле зрения, ну а задачи вроде как кое-как решают, бизнес доволен.кроме rust , это язык пока что для избранных их используют только 30-50 компаний на всю Россию
>>1526467C# развивается, в отличии от жабы. JS всего не удержит, рано или поздно он превратится в нынешнюю жабу, которая сначала захватила всё, но теперь постепенно это теряет, потому что обречена на отсутствие развития из-за обратной совместимости. JS развивается только силами велосипедостроителей (попенсорса), очевидно, а это зачастую низкокачественный код, при добавлении которого в проект, ты активируешь бомбу замедленного действия. И сейчас как раз время когда JS на пике, но идёт не в том направлении, как это было с Жабой, в то время как C# постоянно развивается и уходит в нужную сторону (кроссплатформенность и веб). Через 1-2 года наступит эра WebAssembly, тогда всё это JS дерьмо превратится в никому не нужную, легаси хуету, что-то вроде JQuery в сравнении с Vue и React. JS уже запилил себе костыл в вид Typescript'a, но это всего лишь обертка, обертками нельзя заменить WebAssembly и сильную типизацию.Именно поэтому сегодня "не учить C#", равно тому чтобы знать будущее биткоина в 2011 году и не закупить себе пару тысяч за 100 рублей.
>>1526534Любой массив (класс Array, который ты используешь делая объявление вида string[]), реализует интерфейс ICollection (или ICollection<T>, если массив одномерный) , т. е. является коллекцией.
>>1526537а толку? я как технический директор строю все на REST(GRAPHQL) + FRONT , а сложные вещи пишутся на rust/c++ты тут много про костыли TS говоришьЧем полезен твой C# в вебе, какие у него плюшик то?как раз твой C# это и есть костыль для веба, язык который создавался для десктопа, быстренько переобулся через обертки и начал быть веб языком.никому не нужен твой C# в вебе, покажи мне хотя бы 1 проект за последние 2 года в мировом интернете, если гвооришь что хорош для веба ?Этот язык используют тоьлко деды для внутренних проектов Тайпскрипт - обертка, но в этом нет ничего плохого, там работает все как часы.в таком случае и твой код на C# обертка над ASM ))00
>>1526537почитай получше про WebAssembly, это не замена JS , это помочь ему в сложных вычеслениях.знаешь что тормозит на сайтах? не JS ,а работа с DOM и твой WebAssembly никак это не пофиксит.
>>1526549>в таком случае и твой код на C# обертка над ASM ))00Типичный вскукарек маньки, которая пытается защитить своего монстра под названием JS и 1001 фреймворк. Отличие в том, что TS не добавляет никакого функционала, помимо того, что есть в JS, т. е. ты не делаешь более понятную абстракцию над мощным инструментом в виде ассемблера (который на самом деле IL, но JS-макаке можно и не знать), ты делаешь костыль над уже обрубленным JS. TS это не язык программирования, это инструкции для среды разработки, своего рода intellisense из VS, которая даст тебе по голове во время написания кода, но никак не повлияет на него во время исполнения. Над "никамунинужин", "яотказываюсьвидетьзначитнесуществует!!пакажи!!" можно только посмеяться. >>1526552JS тоже создавался как дополнение к HTML, что дальше? SPAшку на HTML уже написал?
>>1526571какой ООП , мань? щас 2019 год.У тебя синдром уточки, как дядя сказал в книге 2000 годов так и пишешь.вот, изучай подход богов: https://github.com/gcanti/fp-tsМутировали - что бы производительность не падала, сейчас 1000000 мутаций тебе нихуя не дадут, т.к. железо уже мощное, в 2000 году было критично, тогда FP был для супер компов грубо говоря.мань, ты хотя бы щупал JS последний год или оперируешь той инфомрацией которая у тебя была в 2000 году? TS добавляет функционал, но этот функционал можно поиметь в том же JS.Вот недавно добавили новый фишечки аля data?.user?.age ?? 18 ты мне тут будешь кукарекать под монстра? я недавно софтину для музыки качал, заставила тянуть какую-то блевотню на 35мб с офф сайта майкрасофт.факты:1) я переучусь с фронта на ваши шарпы за 1 неделю, ты не переучишься в полноценный фронт и за 3 месяца2) Моя зарплата выше чем твоя и любого алгоритмиста деда (я мидл и получаю 210 000 рублей в ДС1, синьер у нас получает 290 000 рублей) почему так? могу объяснить, еще могу объяснить почему С++ деды получают копейки хотя они реально очень умные.3) Я решаю такие же задачи как и ты, только делаю это быстрей, качественней и мой код чище чем твоя ссанина на C#
>>1526571да причем тут исполнение?у меня таких проблем нет в моем языке.я пишу чистую функцию, все это дело типизирую и уверен на 100% что там все работает как часы.это в вашем говне ООП надо сидеть и думать а правильно ли там все мутируюстя спустя 10 слоев абстракций где каждый метод мутирует значение , потмо передает на уровень ниже, потом все это дело наследуется и в других классах уже мутация работает по другому.у вас не только сам язык говно но и подходы дедовские и устаревшие и самое печальнео что этим подходам до сих пор учат в институтах России и Украины. но тут виноват бекендер.это как я скажу что в коробке продаются вилки, а там будет уголь.
>>1526623FIX это удалить >но тут виноват бекендер.>это как я скажу что в коробке продаются вилки, а там будет уголь.
>>1526423бери райдер, вскод сдохнет от такого количества плагинов, которое позволит ей приблизиться к нему или студии
Слыште, черти, вы лучше скажи есть ли смысла здесь и сейчас учить шарп? Я работу в дс найду? Дрочу его уже 3 месяца, дропать жалко.
>>1526634Да, потом легче будет освоить JS + React и найти работу. Я начал c JS, потом прикоснулся к реакту, а он был в виде ООП, охуел тогда от того как всё непонятно и начал учить шарп.
>>1526634советую не учить шарп, учи нормальные современные языкишарп это для дедов как и кобол с делфи.
Аноны, помогите тупому ньюфагу.Постоянно падает ошибка "A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 35 - An internal exception was caught)" в DbContext при вызове Database.EnsureCreated() или Database.Migrate() в конструкторе. Пытаюсь поднять sql server через docker compose, при этом redis спокойно поднимается.Листинг docker compose:version: '3.4'services: blabla.web: image: ${DOCKER_REGISTRY-}blablaweb depends_on: - "redis_image" - "ms_sql_server" build: context: . dockerfile: blabla.Web/Dockerfile redis_image: image: redis container_name: redis-server-cache ports: - "6379:6379" ms_sql_server: image: mcr.microsoft.com/mssql/server container_name: ms-sql-server environment: SA_PASSWORD: "1" ACCEPT_EULA: "Y" ports: - "1433:1433"Листинг connection string: "ConnectionStrings": { "SqlConnection": "Server=ms_sql_server:1433;Database=StoreDb;User=sa;Password=1;", "RedisConnection": "redis_image:6379", "IdentityConnection": "Server=ms_sql_server:1433;Database=IdentityDb;User=sa;Password=1;" }
Тупой вопрос от дауна. Если я делаю (IRandomInterface)myObject, разумеется объект реализует этот интерфейс, я оставляю себе доступ только к методам, которые есть в интерфейсе?
>>1526684А если (ParentClasses)myObject, то значения полей и реализация методов останутся от myObject?
>>1526549>я как технический директорв голос проиграл>Чем полезен твой C# в вебеархитектура из коробки, убодный интерфейс - azure, db, типобезопастность, широкий рынок разрабов, MsMsql>покажи мне хотя бы 1 проектstackoverflowxboxpluralЖирно высираешь, зеленый
>>1526547Ну в общем перебрал как многомерный массив.Но как подсчитать сумму что то все равно не доехало
проигрываю с холиваров еще с нулевых. Кто только вкатывается, хочу уведомить, что джава и пыха уже 10 лет умирают и учить их не стоит. В итоге как были в топ вакансиях, так и остались. Фронт - был и будет актуален, но пока не нашли фреймворка, который мог бы удовлетворить все требования, будет 1001 библиотека в проектах. Так что не кормите троликов с Rust и ++, гуглите hh/фриланс биржи и смотрите что можно учить
>>1526648Кароче ребята, не будьте такими дебилами как я. Везде написано « A strong system administrator (SA) password: At least 8 characters including uppercase, lowercase letters, base-10 digits and/or non-alphanumeric symbols.”. Я почесал репу, и вписал пароль «1».
>>1526685Если ты наследник ParentClasses, то твой myobject грубо говоря сожмется до parentclasses, а всё остальное - откинется.
>>1526717зря ты это сделал. Сейчас прибежит маня-хейтер метанита и начнет кидаться какашками. Предупрежден, значит вооружен
>>1526743Окей, да, у нас изменится тип ссылки. А что произойдёт с методами и проч., которые не входят в этот тип? Они просто исчезнут. Понятно, что myobject не изменится
>>1526732Чем плох метанит? Да, на хайлевеле рассказывают про .net, но для освежения знаний/ изучение начинающими - самое то
>>1526833да мне вообще насрать, из какого источника брать информацию, это другой жизоид тут воняет под каждым постом про метанит, что это говно и нужно МСДН читать
>>1526855Падажжи, про виртуальные методы разговора не было. Тут понятно, что override в любом случае заменит родительский функционал
Хм, а я тут подумал, а если вместо того чтобы сессии вот так как я в тех примерах кода кидал, сделать так: Слушатель принимает подключение, добавляет его в очередь обработки;Затем один из воркеров достает это подключение, считывает все данные до конца и добавляет данные в другую очередь обработки, а сессию на верх очереди кладет(если он m раз достанет сессию которая ничего не присылала он ее дольше в очередь добавлять не будет); Другой воркер достает из этой очереди данные, что-то с ними делает(парсит) потом, если нужно, формирует ответ и кладет его в очередь отправкиЗатем, когда в очереди отправки наберется >=n сообщений все эти сообщения отправляются клиентам.Вроде как кажется, что должно быть нормально. Или хуйню придумал? Просто не хочется опять время проебать в попытке написать, а потом понять что хуйню сделал.
>>1526685Это как при приведении double к int, если ты напишешь (int) 12.32, то дробная часть навсегда потеряется и ты её больше не вернешь. Именно поэтому приводить нужно явно.
>>1526931В смысле нет? Ты хочешь сказать, что нельзя оверрайднуть любой не статический метод на наследнике?>>1526943Что ты несешь? double и int это переменные, а не объекты.
>>1526986Ой, долбоеб, иди основы учи, зачем ты здесь что-то спрашиваешь? Чего ожидаешь услышать? Пересказ туториалов для начинающих или подтверждение твоих шизовысеров?
>>1526995Не перестаю проигрывать с дегенерата. int, double и твой "объект" это названия типов, которые бывают двух видов значимые и ссылочные. То, что для тебя тайна, в силу твоего слабоумия, называется "приведение типов". Теперь можешь перестать срать себе в штаны и идти гуглить информацию по теме.
>>1526986анон спрашивал, являются ли не статические методы виртуальными. я ответил что нет, по умолчанию не являются. хотя не исключаю, что не понял вопроса
>>1527010Так вот ты привел пример, когда значение хранится в переменной, а не в объекте по ссылке. Это совершенно разные вещи.
>>1527025>хранится в объекте по ссылкеОткуда такие васяны как ты лезут? Самое ущербное это то, что они пытаются спорить на тему в которой ничего не понимают, вместо того чтобы потратить 5 минут на чтение материала по теме.
>>1527004А может вообще начать писать single page приложение с использованием какого-нибудь extjs или другого фреймворка жаваскрипта?
Очень важный хацкерский вопрос: Как поменять тему в студии? Не хочу как лох с обычной темной сидеть, а от светлых глаза устают.
>>1527041Когда ты ссылку упаковываешь и распаковываешь, ничего не теряется, только видимость изменяется. А когда нет ссылки, то идет перезапись.
>>1527022>По умолчанию методы не являются виртуальными. Такой метод переопределить невозможно.Да, ты прав, я чет видимо с жава перепутал.
>>1526827>что произойдёт с методами и проч., которые не входят в этот тип?ничего>просто исчезнутМожешь дергать их рефлексией, динамиком или просто сделать обратно даункаст. Ты прав в том, что объект не изменится, все у него на месте.>>1526899Тебе сервер для чего? Кстати, наверх очереди класть нельзя, то уже стэк.>а потом понять что хуйню сделал. Без этого никак.>>1526943Нет, это не как double к int. Там создаются новые объекты, такую логику для своих классов можно реализовать через операторы implicit/explicit. В случае апкаста меняется только тип ссылки (поэтому implicit/explicit нельзя определить для преобразования типов в одной иерархии)
>>1527086> Тебе сервер для чего? Ну смотри, есть два типа клиентов(чуханы и блатные), чуханы просто регистрируются на сервере и периодически серверу говорят: "Я еще живой!", блатные заходят на сервер и спрашивают: "Хей, сервер, есть там кто живой, а ну дай мне их данные", сервер такой: "Ща, посмотрю" смотрит где-то и потом: "Держи, братуха, вот два чухана", блатной типа забирает чуханов, и общается с ними сам, а сервер не при делах, потом блатной отпускает чухана и чухан снова стучится в сервер и говорит: "Бля, братуха, я все еще живой"
>>1527089Честно, я нихуя не понял, какие стринги ты собираешься в очередь тут кидать, кого в очередь ставить. Но вот с этим>а сервер не при делахбудет сложно, если только у всех не белые айпишки
>>1527101> будет сложно, если только у всех не белые айпишкиА разве нельзя просто два сокета как-то связать? Ну или как вариант, я же регистрирую "чуханов" на сервере, можно таки присвоить им какой-то ID, а потом если клиент что отправляет в пакете это ID считать что это то самый парень и отдавать его "блатному" как того самого.Ну а в очередь я почему-то думал пакеты складывать для парсинга, таки у меня же не HTTP, а своя залупа с уникальным и неповторимым бинарным пакетом.
>>1527086>В случае апкаста меняется только тип ссылкиЭто если у тебя класс, если у тебя структура, то создается новый объект. Также как и при даункасте, о чём я и писал на примере double к int. >Там создаются новые объекты, такую логику для своих классов можно реализовать через операторы implicit/explicit.Она уже реализована, ты её можешь только переопределить.
>>1527154>если у тебя структураКакой даункаст для структур, алло, они не наследуются (ValueType не в счет).>Она уже реализованаУ кого? Я писал про самодельные классы.>>1527115>А разве нельзя просто два сокета как-то связать? Тебе придется изобретать peer-to-peer (по типу как торренты работают), но тут мои познания всё. Проще через серв гонять. Кароч, начинай делать, очевидно, что с первого раза нормально не получится, набивай шишки, копи опыт.
>>1527199ну, я вот сижу под виндой. Через браузер под винду, программирую в ИДЕ под винду, сервер на работе обслуживаю на винде, играю в games for windows. Как думаешь, нахуя?
>>1527219Не, тогда толку нет учить шарпы. Лучше обрати внимание на swift или кросплатформенные штуки типа react native
Можно ли на шарпе как-то сделать, чтобы я типа запилил функцию, в нее положил n-функций и аргументы, и затем все эти функции последовательно выполнялись так, чтобы результат функции 1 передавался в функцию 2 оттуда в 3 и т.д.Т.е. вот как я это понимаю, типа:function var SdelatPizdato(f1,f2,f3,...,fm, (intData,stringData,charData,boolData), isLeftToRight)затем я в SdelatPizdato засовываю любое число функций вида:(intData,stringData,charData,boolData) f(intData,stringData,charData,boolData)и они последователно выполняются.Пока писал вспомнил про делегаты и подумал что можно наверное передавать список делегатов. Но может быть есть какой-то более интересный способ.
>>1527514Да, при помощи делегатов. Либо создаешь свои, либо используешь стандартные (Func, Action), в объединяющую функцию передаешь либо массив делегатов, либо каждый делегат по отдельности, а также аргументы. Внутри вызываешь всё по очереди.
>>15273971)Это бекенд фреймворк, при чем тут ангулярреакт? Не, есть конечно вебформсы, но о них только деды помнят. А Аспнет в 2019 это в первую очередь ASP.NET Core, или MVC5/вебапи на крайняк. Примеры в гугле2)Недавно выкатили blazor, фронтенд фреймворк на шарпе, но это буквально первые публичные версии, хуй ты найдешь пока что-то сложнее мувисерчера
Господа, чтобы как тестовый проект (имиджборда) на .NET Core стоит от тянуть Angular/Vue/React для фронта, а бэк сделать в виде WebAPI или это излишне и достаточно за глаза тех же MVC / Razor Pages?
Анон, я написал контроллер, но постмен выдает 404. При чем экзамл апп, weatherforecast который, работает как надо. Что я забыл сделать, чтобы оно работало?
>>1527695Стоит тянут. И тянуть Vue, потому что из трёх это самый простой и эффективный. Сейчас фронт только на этих фреймворках и пишется, если хочешь работу найти, то помимо C# и .Net Core должен один из этих фреймворков знать.
>>1527697>И тянуть Vue,Не видел ни одного адекватного ЖС господина пишущего на этом говнеЦА индусы со школьниками из пыхо/питоно/сярп треда
>>1527703Школьники и хипстеры пишут на Реакте, дедки на Ангуляре, те кто выбирают инструмент, а не хайп и традиции, пишут на Вуе. Да, индусам похуй на хайп вокруг инструмента и на то, использовался он где-то еще, они выбирают самый эффективный, поэтому пишут на Vue.
>>1527719>не знать вьюПринципиально не беру заказы на это говно, в 99% в довесок идет еще большая куча пыхи/сярпа
>>1527797Да, рест-фреймворк асп нужен чтобы клепать ресты.Хуле ты ещё ждал от рест фреймворка, блядь?Ну вот блазор до ума доведут, можно будет спа на шарпе полностью писать
>>1527799какие в пизду СПА? ты JS хоть знаешь или будешь обрубуками пользоваться, когда нужен какой-то не стандартный функционал, что будешь делать с своим бразерсом?)
>>1527641Зависит от твоих целей и текущих знаний. Если ты уже с сокетами поебался и знаешь как написать асинхронный/многопоточный сервер, то можешь сразу замутить на вебапи как хочешь, хоть с ангуляром, хоть с MVC, в зависимости от целей; если не ебался, то идея делать сразу на готовом довольно опасна, потому что вот прийдешь ты такой на собес, скажешь что умеешь с сетями работать, тебя попросят банальный сервер который должен что-то по кастомному протоколу отправлять-получить и что-то со всем этим делать, ты жидко обосрешься, впадешь в депрессию и суициднешься, вот надо оно тебе? Потому я бы советовал, если ты только учишься, на сокетах делать, постепенно наращивая мясо.
>>1527823>Не стандартный функционалНазови мне функционал который не может исполнить блазор но может жыэс
>>1527823Блядь, так говоришь, будто JS, во-первых, единственный способ SPA намутить, во-вторых, пользуются им не из-за того что на рынке куча макак которые только в него и умеют, а что-то еще учить не хотят.
>>1527943вы сможете на нем делать только то что указано в документации блазора, у вас нет комьюнити который толкает индустрию вперед, вы будете как обрубок веба, какие-то инвалиды как в ксаморине, где любой шаг в сторону вызывает попные болезни. Покажи мне как у вас реализован стейт менеджмен в вашем блазоре плиз.Как работать с стилями, можно ли выносить все в отдельные файлы?Как я могу подгружать компоненты лениво? Есть ил асинхронный рендеринг?ничего этого нету и вы одни будете к этому идти 5-10 лет.Повторяется история WPF.Так же было с ASP.NET так же было с WPF , вроде как все довели до ума, но вот тебе на, устарело в момент релиза грубо говоря минимум лет на 10.Вашу парашу будут исопльзовать только бедные компании которые не могут себе позволить нормального TypeScript фронта и задачи фронта будут вешать на таких лохов как вы,Ваше говно не то что не готово к продакшену, да на нем даже стыдно показывать TODOLISTвы не понимаете одного, WASM никак вам не поможет и не решит проблем которые есть сейчас в вебе, DOM тормозит, а не JSВаше говно будет тормозить еще больше, потому что вы так же будет использовать JS (точней не вы а ваш фреймворк)Вы не сможете производить оптимизации.Ваше говно будет писать ет кто вообще не понимает как работает браузер.
>>1527958Это единственный способ намутить полноценную, расширяемую SPAАльтернатив нетКинь ссылку на фреймворки для анимаций и графиков в блазор ?или будете самостоятельно писать в течении 3 лет?У вас нулевое комьюнити, я зашел в доку блазор , там пиздец все сыро, даже не дотягивает до уровня первого ангуляра.Захотите использовать JS либы под своими обертками? так в итоге то ничего не меняется.Просто как я уже сказал выше, вас макак запрягуть писать еще и фронт, в котором вы не шарите
>>1527993Ну давай разберем по частям тобою написанное, залетное чмо из жаватреда> вы сможете на нем делать только то что указано в документации блазораОпенсорс, захочется - сможем> у вас нет комьюнити который толкает индустрию впередТехнологии месяц, откуда ему взяться лол. У любого фреймворка в начале пути из коммьюнити только его разрабы, охуеть да?> вы будете как обрубок веба, какие-то инвалиды как в ксаморине, где любой шаг в сторону вызывает попные болезниТыскозал?> Покажи мне как у вас реализован стейт менеджмен в вашем блазоре плиз.Ну так открой доку и почитай>Как работать с стилями, можно ли выносить все в отдельные файлы?Берешь и хуяришь на css или любом его препроцессоре, точно так же как и без блазора> Как я могу подгружать компоненты лениво?https://github.com/aspnet/AspNetCore/issues/5465Как подвезут так сможешь, а вообще серверсайд рендеринг с отдачей изменений по вебсокетам> ничего этого нету и вы одни будете к этому идти 5-10 лет.> Повторяется история WPF.Ну если тыскозал> Так же было с ASP.NET А что с ним было? Топ-4 по популярности среди веб-фреймворков на данный моменhttps://insights.stackoverflow.com/survey/2019 > вы не понимаете одного, WASM никак вам не поможет и не решит проблем которые есть сейчас в вебеА мне похуй на васм или не васм, мне нравится что я могу C#/F# утянуть в веб без проблем. Сам придумал что оппонент топит за васм, сам обосрал, красавчик> Вы не сможете производить оптимизации.Ну если тыскозалВесь пост из каких-то голословных утверждений без обоснований, выдумывания аргументов за оппонента и непонимания что вообще из себя представляет обсуждаемая технология. Пошел нахуй, короче.
>>1528006>Технологии месяц, откуда ему взяться лол. У любого фреймворка в начале пути из коммьюнити только его разрабы, охуеть да?не пизди, технологии месяц в проде, а пилится в бетке она давно.Нахуй никому не нужна, никто не поддержал идею.Она не дотягивает даже до первого ангуляра.в вашей пиздохуевине нет стейт менеджмента полноценного, ваши уебки предлагают хранить состояние на сервере и переодически вываливать все в localstorage ахахахха)))Сука мутят SPA и общее состояние хранят на сервере, ну что за идиоты, но там вроде как была приписка что оно будет синхранизировать с local storage , что блять? какой идиот это придумал, они даже не могил подсмотреть как делают правильные ребята из JS.Они сука не то что не повторили текущее, они сука сейчас находятся на ступени 2000 года.ахаххахахаххахахав то же JS/ RUST "создается фреймворк" еще на стадии обсуждения, потому что очень много заинтересованных лиц, а ваша пластилиновая поделка нужна только рабовладельцам шарпистов, что бы на них вешать примитивные задачи фронта без верстки.
>>1528006как раз таки у тебя нет аргументов, ты сука даже не понимаешь как это работает в том же C# , ты просто хочешь эту технологию, потому что она позволить тебе не напрягая мозги хуянить SPA не понимая что такое анимация, что такое DOM. так же было с ASP.NET , оно позволило вам генерировать веб хуевины c серверным ренедерингом простых вещей, но это было блевотно, слабая кастомизация и нормальные люди просто выбрасывали это на помойку и делали обычный REST и звали знающего фронта
>>1528013>Нахуй никому не нужна, никто не поддержал идею.Обоссал пиздабола, дальше даже читать смысла нет
>>1528201как так? даже в самом обосанном языке есть хоть какая-то дока, бест практики, реал ворлд примеры , у шарпа нет офф документации?
>>1528286тоже мне, смотреть на звезды, если и смотришь на ачивки то смотри в сторону used by , это люди которые со всего мира попробовали технологии 6000 - не густо.вот у того же еракта 100 000 звезд и 600 000 used , а ты обоссал сам себя как дед старый.
>>1528286смотри на графу start и used а ты мне какую-то ссанину скинул с 8000 инвалидами (и это сука на всю планету)vue - молодой фреймворк .
>>1528301>>1528292>Никто не использует>Да нет, достаточно народу для первого месяца релиза>А ВОТ У ФРЕЙМВОРКОВ ДЛЯ ЖС МАКАК КОТОРЫМ 5 ЛЕТ УЖЕ В 100 РАЗ БОЛЬШЕ!!!1Обоссал только ты сам себя. Технология достаточно популярна и известна среди .нет разрабов, даёт профиты которых раньше не было, поддержка микрософтов довольно активная. Что там в жсмакакомирке всем кроме них самих поебать
>>15283158к проектов на весь мир? не смеши, был бы миллион , я бы посмотрел на эту технологию.вдумайся, 8000 человек , это пиздец говно
>>1528487даже у обосанного golang rust и тех есть хорошая дока.хотя там кто-то из них в беткеа шарпы на рынке более 15 лет, дохуя бабок на доку и поддержку.сука какая же пойомкка эти шарпы.
>>1528569Может быть ты уже прекратишь быть тупым и прочитаешь таки оппост? И ещё перестань говорить с толстяком.
>>1528591шапка устарела лет на 10>WinForms или WPF?какие еще винформы и WPF, господи будто в 2001 году оказался
>>1528596Какой-ты оказывается глупый. Зафэйлился уже на этапе "Я не смог прочитать дальше WPF". Уйди пожалуйста в JS тред. Там таких как ты любят.
Шинобучка помоги пожалуйста, моя пытаться сгенерировать див и а внутри сгенерированого дива, но получается что-то такое
Помогите, пожалуйста.Есть char[] ch;ch[0]='a';Как сделать, чтобы ch[1]='b', ch[2]='c' и т.д.?Не гоните санными тряпками, очень нужна помощь.
Аноны, подскажите плз. Вот читаю книгу, теории знаю дохуя, а написать что-то нормальное не могу нихуя. Как исправить ситуацию, потому что я понимаю, что мне практики не хватает, а как правильно применять полученные знания я хз.
>>1531817Начал уже по Васильеву пытаться познавать суть. Укатываться на Шилдта? Троелсена? Или продолжать Васильева?
Здравствуйте сисярп бояре. Есть что-нибудь быстрее StreamReader для чтения файла, который уже используется другим процессом? После того как я записал данные из файла, мне надо проверить их на наличие некоторых данных. Для этого я юзаю string.Contains(substring);. Подозреваю, что это хуевая идея для больших объемов данных. У меня в файле от 10 до 300 строк. Не думаю, что это большие объемы, но задержки энивей есть. Есть ли максимально производительная альтернатива? Мне важна каждая мс.
>>1531947>который уже используется другим процессом?какое это имеет отношение к скорости чтения? Ты просто открываешь файл в ридонли. Скорость обработки больше зависит от скорости накопителя на чтение, нежели на способ. Энивей, ты мог бы нагуглить и найти это: http://cc.davelozinski.com/c-sharp/fastest-way-to-read-text-filesно почему то ты это не сделал. Перед изучением шарпов советую изучить английский и научиться использовать поисковики.
>>1532215согласен, самое время учить Rust/Go/Kotlin. Чем больше программируешь, тем все больше осмысливаешь это ремесло.
Иногда я думаю, что зря выбрал решётку в качестве первого ЯПНо он мне нравится: относительно легко даётся с учётом того, что я больше гуманитарийВ общем, похБуду дальше изучать его, пока не дойду до уровня джуна хотя б
>>1533540покажи мне ссылку на гитхаб любой технологии? там максимум 10к звезд.покажи мне ссылку на JS или раст, 100к звезд)
>>1533963Так одно другому не мешает.C# это язык элитария, они не сидят в гитхабах как програм-педовки.Настоящие C# государи хранят репы так:
>>1534171Долбаебы остались в 1990 когда прятали от всех свой код вот и превратили свой язык в кусок говна
Натолкнулся тут на неплохую онлайн тулзу: https://sharplab.io/ . Сейчас читаю Рихтер и юзаю её чтобы смотреть, какой IL код в какой ситуации высерается. Выходит быстрей, чем каждый раз локально собирать код и смотреть через ILDasm. Также ещё можно глянуть, что там Jit высерает. В общем, думаю, что стоит всунуть её в шапку.
Делаю веб-апи, crud нескольких сущностей. И только на одной единственной сущности при попытке вызова post-метода вываливается ошибка 500, даже в тело метода не заходит. Что это может быть или как хотя бы отловить ошибку? Спасибо
>>1535809Покажи Exception(https://docs.microsoft.com/en-us/visualstudio/debugger/managing-exceptions-with-the-debugger?view=vs-2019)
>>1535827Всё, спасибо, отловил эксепшн через перегрузку OnException, оказывается, прикрутил не тот валидатор.
сап программач, учусь в шараге, дают C#. Препод ругается на void методы, я не понимаю нахуя мне что-то возвращать из метода?
>>1536860>ты высрал постя указал тебе единственный, верный путь с твоим вопросом>Что дальше?Ты нахуй идешь (не опять, а снова)Основная проблема с дебилами с дефицитом внимания, которые помогают таким даунам, как ты
Попытался передать несколько тысяч строк в табличке сисярпу из питона. И в csv и в sqlite ничего не выходит. Для подключения к бд и работы с ним нужно столько ёбли просто я хуею. Какого хуя так сложно блядь, с csv не проще - есть что-то в кодбазе VB, но оно нихуя не работает.https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclientВы нахуй издеваетесь? Это такой переусложненный долбоебизм, я хуею
Есть один солюшен.В нём два проекта.В проекте А есть класс (пусть будет АА) с коллекцией и методом для добавления в эту коллекцию объектов.В проект Б статический класс (ББ), статический конструктор инстанцирует АА и пытается в него добавить объект через метод.В АА нигде нет инициализации коллекции ну забыл я. Студия пропускает метод АА со стэйтментом collectionName.Add(shit); а потом оказывается, что статический конструктор обосрался и всё похерилось.Как бы всё понятно, кроме одного - почему студия пропускает этот метод? И даже хуй бы с этим, почему в рантайме я не получаю ошибку о попытке добавления в переменную без объекта (ведь коллекция не инициализирована)?
Накидал пример. Тут всё в одном проекте, но то же самое.Если раскомментить строку с инициализацией - то всё нормально.System.TypeInitializationException HResult=0x80131534 Message=Инициализатор типа "ConsoleApp4.Program" выдал исключение. Source=<Cannot evaluate the exception source> StackTrace:<Cannot evaluate the exception stack trace>Inner Exception 1:NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
Я пишу код в Rider, один чувак в вскоде, другой у visual studio. Есть ли способ сделать одинаковую у всех форматировку текста, ничего особо не настраивая?
>>1539669>ничего особо не настраивая?Ага, на дваче спроси и само всё настроится. Ты хоть сам осознаешь тупость своего вопроса?
>>1537490Ты просто тупой и начал изучение программирования с обрубка, а не полноценного языка. Я тоже охуел после того, как попробовал поработать с JSON в шарпе, после JS.
>>1536682Чтобы твой говнокод хоть как-то походил на ООП. Если у тебя всё void, то это не ООП, а процедурная хуетень.
>>1540651ООП вам долбаебы деды с вузов привили, но у них знания устаревшие вы долбаебы тупо не думая делали так как учили деды и писали в устаревших книгах. даже не понимаете что такое ООП и зачем оно создавалось.вы макаки делаете наследование где оно не нужно и мутируете там где не следует , даже на современных компах ФП - чище код, проще и самое главное он поддерживаемые, а не ваша параша с 10 наследованиями, 5 переопределениями и 10 мутациями в цепи этих наследований.хуй соси ООП макакаМИМИ ФП бог ЗП 460к
Имеется простенькое rest ASP.NET web api. После деплоя на azure в SwaggerUI на одной из сущностей почему-то появляется ошибка (get).operationId is repeated. В чём может быть дело, гугл не помог?
Уважаемые господа шарписты, не откажите в помощи-подсказке ньюфагу.В общем я сам пишу на пайтон, и мне потребовалось как то извлекать информацию о температуре ЦПУ и ГПУ. Этой задачей в моей системе непрерывно занимается MSI Afterburner, и я удачно нашёл .net библиотеку, которая позволяет из процесса MSI Afterburner вытягивать нужные сведения:https://forums.guru3d.com/threads/msi-afterburner-net-class-library.339656/Документация:http://rivatuner.doomdealer.com/afterburner/MSIAfterburner.NET/1.1.0/Index.html#Проблема в том, что я сишарп ниразу не знаю, и вабще ничего кроме пайтон не знаю. Скрипя и роняя кал, кое-как наковырял следующую конструкцию, которая в переменную hwm_entries позволяет выудить полные данные мониторинга в виде списка-кортежа:hwm_entries = MSI.Afterburner.HardwareMonitor().Entries Так вот, у меня два вопроса: Во-первых, почитав документацию на библиотеку, я обнаружил, что вызов HardwareMonitor() - Initializes a new instance of the HardwareMonitor class, тоесть получается, я каждый раз инициализирую этот класс, раз в три секунды, когда надо зарефрешить данные? Есть ещё метод Connect, который Connects this instance to Afterburner's shared hardware monitoring memory - ноя хуй пойму к чему его приставить и как использовать, учитывая что я запрашиваю из хардвармонитора его строки кортежем? И надо ли мне это? Нет ли какого-то лишнего потребления ресурсов? И во-вторых. Я вызываю:hwm_entries = MSI.Afterburner.HardwareMonitor().Entries Получаю кортеж всех строк из хардварр монитора (пикрил). А нахуя они мне все? Я абсолютно не понимая языка, не могу понять, есть ли возможность запрашивать какие-то отдельные строки, они же все проименнованы. Вот вроде, судя по документации там есть метод "GetEntry", я опробовал:MSI.Afterburner.HardwareMonitor().GetEntryЧто что именно давать в GetEntry например? Или как иначе вызывать отдельные строки?В общем если кому не сложно, подмогите немного разобраться в этой магии
Читаю player's guide, дошел до tic-tac-toe и охуел от сложности.(до этого решал все примеры из try it out не прилагая особых усилий, все просто и доступно).Так и должно быть? Или я просто нихуя не усвоил?
>>1541737ООП я знаю и пишу лучше чем ты) но он нахуй не нужен.Ты хоть понимаешь для чего создавался ООП?нет, архитектура там не на 1 месте была)
Антоны, есть маленькое изображение, хочу дорисовать вокруг него белый фон, чтобы добить до размера.Как это сделать?
Учу шарп, не совсем понимаю каким образом чистится стек от ненужных объектов, допустим от локальных переменных уже отработавших методов. Может кто разъяснить? Спасибо.
Можно ли из одного метода вытащить переменную, например int значения и использовать в другой.Например в одном методе у меня переменная int a = 5, и потом эту же переменную со значением 5 я засовываю во второй метод и использую
>>1515204 (OP)Нихуя не понял зачем вам два треда?Энивей хотел спросить есть какой-то внятный гайд по mvvm на чистом wpf, а то яннп, смотрю русский контент - у одного prism, у второго еще какая-то свистоперделка, третий вовсе долбаеб. Или объясните мне по хардкору - нажатие кнопки должно обрабатываться в vm-command-execute() ?
>>1543183>Нихуя не понял зачем вам два треда?Потому что гатарибляди не люди и не могут перекатить тнормально
https://pastebin.com/M2PTSJy3Проясните с наследованием.Запилил пример класса, который хранит статический лист со всеми инстанциями.Получается при наследовании результирующий класс будет содержать в себе и базовый и новый лист или как?То, что базовый конструктор/деструктор будет исполнятся всегда и перед всеми другими по иерархии наследования это я знаю. А вот про что происходит со статическими полями (и конструктором) не понимаю.
>>1543967всем похуй, все равно язык мертвый>>1543911>конструктор/деструкториерархия конструкторов - первый статик и от родительского к дочернимдеструкторы явно можно не триггерить - есть GC (за исключением некоторых операций типо db connection, но для этого есть using)Если тебе нужна глобальная коллекция - используй Singleton
НИХУЯ НЕ ПОНИМАЮ БЛЯЯВопрос по mvvm/xaml - пацан на 1:30 меняет в ксамле с Clicked на Command и эта залупа работает. Я всегда думал что clicked на то и clicked что обозначает действие конкретно нажатие, помимо того что есть еще хуева туча действий аля зажать/подергать/подрочить анус контрол. Command тригериться на все действия с контролом или как?
Возник такой вопрос о котором раньше не задумывался.На пике два варианта написания одинакового действия.Второй вариант выполнится быстрее? Ведь мы только один раз сделали математическую операцию, а в первом варианте 3 раза.Где вообще можно вот о таких мелочах почитать? Сколько там циклы, операции в условиях времени занимают, как это все оптимизировать. Может хорошие книги или статьи есть?
>>1546565Чекни cil код, если компилятор никак это не оптимизирует, то да.А за мелочами в /compsci тред попробуй стукни, мб пояснят за оптимизацию и порядки роста.
>>1546565экономия на спичках, забей хуй на производительность в 2019 годупиши читаемый кодтам где нужна реальная производительность не возьмут вашу Шарп помойку
>>1546611>>1546610На спичках, если выполняется один раз. А если такая операция миллион раз должна выполниться, тут уже существенно.
Также ещё возникает вопрос.Если мы передаем в функцию ссылочный тип, это получается менее затратно, чем тип значения?Ведь тут просто ссылка новая появляется на ту же память, а тип значения копируется в новую памятьА если у меня статический класс, где есть приватные функции. То есть я не могу использовать не статические поля, мне придется каждый раз в функции нужные мне данные параметром передавать. А если это просто массивы чисел, то при каждом вызове таких функций будет копирование, что плохо. Как этого избежать? Как то вложенные функции делать?
>>1546618еще раз, забей хуй, там где реально сидят 100 000 онлайна и важен каждый байт - не берут как основной язык ваши Сишарп помойку.доказывать что ты крутой программист будешь на кухне мамке
>>1546716Мне все равно кому что доказывать и кто что берет, мне просто интересно, как это в реальности работает. Если сам не знаешь ответа на вопрос, просто не отвечай
Есть два окна, на 1-ом окне из Listview выбирается элемент, а на втором окне текст выбранного элемента должен присвоиться в свойство Text у TextBox-а. Пытаюсь сделать таким образом:FirstForm first = new FirstForm();TextBlock.Text = Convert.ToString(first.Listview.SelectedItem);Но при таком способе, "first.Listview.SelectedItem" в любом случае присваивает значение null.Пытаюсь сделать с Binding:Binding binding = new Binding { ElementName = "Listview", Path = new PropertyPath("SelectedItem") }; TextBlock.SetBinding(TextBlock.TextProperty, binding);Здесь та же проблема, что и в предыдущем способе. SelectedItem присваивается значение null.Как решить эту проблему, желательно с использованием Binding?
Вечер в хату!Давненько я тут не ебал мозги со своими задачками.Ситуация в общем такая, нужно отсортировать слова в строке по алфавиту.Сделал сортировку пузыриком по первой букве каждого слова но вот херня если регистр букв разный то и сравнение идет по пизде. Так же не могу представить как сортировать если в слове из 4 букв например по 3 первых буквы одинаковые а последняя нет.Вот кусочек кода, и было бы заебись если объясните или подскажете что предметно почитать.
Есть два Listview WPF. Один содержит информацию об отделах компании(название отдела, количество сотрудников), другой о сотрудниках этой компании(имя, должность, отдел, в котором работает). Нужно сделать так, чтобы при выделении одного из элементов Listview отделов, в Listview сотрудников оставались только сотрудники, работающие в этом отделе. Для этого нужно как-то брать название выделенного отдела из 1-ого Listview. Каким образом это можно реализовать?
>>1547854Нашёл решение здесь:https://stackoverflow.com/questions/1402878/wpf-listview-access-to-selecteditem-and-subitems
Объект типа CollectionViewSource, свойство Source ссылается на объект ObservableCollection.CollectionViewSource выводится в ListView.Для CollectionViewSource установлена группировка в виде экспандера.Всё чудесно работает.Для CollectionViewSource установлен фильтр, который тоже работает.Но есть один нюанс.CollectionViewSource находится в одном TabItem, а чекбоксы для фильтра в другом.Когда первый TabItem получает фокус, вызывается метод с CollectionViewSource.View.Refresh(), после чего экспандер перестаёт работать.Что делать, куда копать?Код привести проблема - там каша из пиздоса, надо будет сильно резать. Но если без никак, то постараюсь обрезать и максимально ужать.
>>1547926>Для CollectionViewSource установлена группировка в виде экспандера.Для CollectionViewSource установлена группировка, в ListView настроен контейнер в виде экспандерафикс
>>1547927>>1547926Так, похоже, что проблема не в экспандере и вообще не в контейнере - если рефрешить (CollectionViewSource.View.Refresh()), то ListView не даёт выделять итемы.
>>1515204 (OP)Мне чисто эстетически нравится С#. Получаю удовольствие от программирования на нём. Я болен?
>>1547768>не ебал мозги со своими задачкамиОно тебе зачем нужно? Просто сортировка по алфавиту целого слова (а не только по первой букве) тремя строчками делается (первую свою оставь):Array.Sort(stringToSort, StringComparer.OrdinalIgnoreCase);return String.Join(" ", stringToSort);
Аноны, помогите ! Мне нужно с помощью паттерна Singleton, динамически подключать библиотеки классов к консольному приложению. Как это сделать, я вообще не соображу.
Сап, шарпач. Ковыряю сейчас впф с мввмом и появился такой вопрос. Как решать обновление байндингов при присвоении модели? Т.е. если у нас есть что-то такоеprivate MyClass _someClass;public string SomeProperty{..get => _someClass.strField;..set ....{......_someClass.strField = value;......OnPropertyChanged(nameof(SomeProperty));....}}и привязка к этому свойству типа<TextBlock Text="{Binding SomeProperty}" />то при _someClass = anotherClass;значение не обновится. Пока придумал только вариант вручную вызывать для каждого свойства обновление, но это выглядит как костыль. В общем, ЧЯДНТ и как сделать правильно?
>>1553563Кстати, разве это не нарушает сам принцип MVVM? Ведь, по сути, таким образом мы подвязываемся из вью напрямую к модели Text={Binding SomeClass.StrField}.мимо тот же анон
Шарпаны, что скажете про Xamarin? Достаточно ли его будет, чтобы пилить всякое андроидоговно или нужно учить джаву?
Ребзя, мне вот надо сделать одну хуйню. Как, например, в разных архикадах, чтобы было рабочее пространство в клеточку и туда можно было перетаскивать готовые объекты. Короче, слева панелька, там пиктограммы типа треугольник, квадрат и так далее, и вот я тыкнул в пиктограмму, тыкнул в рабочее поле и задал размер, и там этот объект появляется. У меня будут уже предопределенные контролы, которые в этой панельки должны лежать. Как это лучше сделать? Я думаю типа так: у меня есть какой-то мой клас в котором поля: имя, еще какое-нибудь говно, и контрол, который должен отображаться. И в эту панельку, которая слева, я должен итемсорсом задать коллекцию этих моих объектов, в каждом из которых лежит контрол. Правильно? Коллекция будет обсервабл, чтобы при изменении положения этого моего квадратика менялись координаты в этом контроле внутри объекта, так? Вот, еще вопрос, мне придется использовать канвас же, да? Он не сильно уебанский для этих целей? И еще вопрос - мне надо к каждому объекту приделать пиктограмму, чтобы она отображалась в интерфейсе. Ее мне надо задавать в самом классе тоже как контрол, да? Т.е. у объекта будет одно поле - контрол, который пиктограмма для панельки, а другое - именно тот контрол, который будет отображаться при перетаскивании внутри рабочей области. Все правильно? Извините за неровный почерк.
Короче такая тема, подрядился в свободное время обучить племянника программированию, чтобы стал по жизни успешным нормальным пасаном, а не ауе-уёбком и бутылки собирал.Сам имею стаж на решетке 15 лет, поэтому решил обучить ему, неплохо знаю эти ваши эфшарпы, кресты, хачкели с тайпклассами и монадами.Однако обнаружил, что всё это знание мне никак не поможет подать информацию для начинающего, чтобы у того не взорвался мозг.Думал начать с рихтера, скачал посмотреть FW4.5, но там показана подноготная куча кишков системы и будет аля как учебник по атомной физике для чувака, который даже не знает определение класса.Короче нужна годная литература для самых самых нубов.
>>1554909Я тоже не согласен, хотя можно, но много пропускать, читать что-то методах и не вникать сильно.
>>1554838Надо сначала заинтересовать, типа например, чем там интересуются сейчас племянники, типа будем кодить игрулю или там приложуху на ондроид, чтобы это было не тупо задрачиванием теории неизвестно зачем.
Кто что думает насчет книги Герберта Шилдта "C# 4.0: полное руководство"? Насколько актуальна и полна книга? Не увидел её в списке литературы для изучения, хотя мои университетские преподы усиленно советовали её, пока учился.
ПЕРЕКАТ >>1555702 (OP) >>1555702 (OP) >>1555702 (OP)ПЕРЕКАТ>>1555702 (OP) >>1555702 (OP) >>1555702 (OP)ПЕРЕКАТ