Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
585 71 104

C#/Сишарп/.NET Тред - Шапка edition #13 /csharp/ Shinobu 07/11/19 Чтв 10:07:25 15152041
155448993412448[...].jpg (181Кб, 1600x2066)
1600x2066
155423239811978[...].jpg (245Кб, 622x880)
622x880
EAdJvEpUcAAvuzA.jpg (329Кб, 1434x2048)
1434x2048
155220314216378[...].jpg (124Кб, 700x1149)
700x1149
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.
ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.

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

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

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

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

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

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

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

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

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

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

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

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

Прошлый тред тонет здесь: >>1499746 (OP)
Shinobu 07/11/19 Чтв 10:08:06 15152062
155075576216377[...].jpg (110Кб, 600x800)
600x800
9. Что почитать?
- The C# Player's Guide, второе издание (RB Whitaker) - отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода.
- C# 6.0 in a Nutshell (Joseph Albahari и Ben Albahari) - огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином
- C# 6.0 Pocket Reference (Joseph Albahari и Ben Albahari) - просто выжимка из справочника, можно всегда держать рукой
- C# 6.0 and the .NET 4.6 Framework (Andrew Troelsen) - 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
- C# 6.0 Cookbook (Jay Hilyard и Stephen Teilhet) - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.

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

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

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

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

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

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

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

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

18. Я не умею читать, что посмотреть?
- Programming with C# - https://www.edx.org/course/programming-c-microsoft-dev204x-0
- Beginning Game Programming with C# - https://www.coursera.org/course/gameprogramming
- C# Fundamentals: Development for Absolute Beginners - https://goo.gl/meyyxO
- Коллекция видеоуроков, по всему дотнетовскому и смежным темам (250 часов, на русском) - https://nnm-club.me/forum/viewtopic.php?t=891636
- Набор курсов по C# от O'Reilly Media (28 часов, на английском) - http://rutracker.org/forum/viewtopic.php?t=5082978
Аноним 07/11/19 Чтв 10:40:52 15152193
image.png (13Кб, 588x109)
588x109
image.png (35Кб, 634x304)
634x304
image.png (22Кб, 543x305)
543x305
image.png (17Кб, 505x263)
505x263
Аноны, два вопроса по 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 - дубляж кода в текстовом виде
Аноним 07/11/19 Чтв 10:45:35 15152214
как в тим эксплорере отменить все новые изменения и откатиться к последнему коммиту?
Аноним 07/11/19 Чтв 10:50:10 15152235
>>1515221
закинул в стеш и дропнул, помогло
Аноним 07/11/19 Чтв 11:13:50 15152376
Опять аниме? В /a/
Аноним 07/11/19 Чтв 12:01:20 15152657
Почему в шапке нет метанита? ОП прогнулся под одного шизика? Фу таким быть.
ЛУЧШИЙ ОНЛАЙН РЕСУРС ПО C#/JS/SQL И СОПУТСТВУЮЩИМ ТЕХНОЛОГИЯМ
https://metanit.com/
Аноним 07/11/19 Чтв 13:20:01 15153088
Зачем C# когда есть Java?
Аноним 07/11/19 Чтв 13:20:40 15153109
Аноним 07/11/19 Чтв 13:30:19 151532110
Енот уже не в моде?
Аноним 07/11/19 Чтв 13:41:41 151533111
Как же вы заебали со своим аниму, быдло
Аноним 07/11/19 Чтв 14:21:44 151536112
Аноним 07/11/19 Чтв 14:27:56 151536913
>>1515308
У Java нет поддержки IT компании, которая входит в топ-3 самых успешных IT компаний мира. Что уже сказывается на языке. Ты хоть видел последний стрим майкрософтов?
Аноним 07/11/19 Чтв 15:00:19 151540214
>>1515369
не корми быдло, тем более так толсто
Аноним 07/11/19 Чтв 15:51:49 151547115
Как нормально дебагать в ASP.NET'e?
Аноним 07/11/19 Чтв 16:22:15 151551716
Аноним 07/11/19 Чтв 16:34:54 151552917
>>1515265
>>1515310
А в чем проблема метанита, что его не хотят выносить в шапку и бугуртят при его упоминании? Типо Евгений Попов? Или ылита двача только msdn признает?
Аноним 07/11/19 Чтв 16:48:33 151553718
>>1515529
ХЗ, у полутора анонов от него ПИЧОТ. Наверно хотели войти вайти, а оказалось, что прочитать метанит недостаточно.
Аноним 07/11/19 Чтв 17:52:07 151559919
>>1514537
Бамп
И почему 2ой раз 13-ый тред?
Аноним 07/11/19 Чтв 18:26:47 151562520
Есть способ заставить EF загружать навигационное свойство ВСЕГДА? То есть вообще всегда, как только происходит какое-то упоминание модели с этим свойством, а связанная модель еще не загружена, нужно ее загружать.

Зачем мне это - история долгая.
Аноним 07/11/19 Чтв 18:29:17 151562921
Пидоры.
Аноним 07/11/19 Чтв 18:33:30 151563122
>>1515625
>как только происходит какое-то упоминание модели
будет идти запрос в БД, где по внешнему ключу происходить выборка данных
eager, explicit, lazy loading тебе в помощь
Аноним 07/11/19 Чтв 18:46:28 151564323
>>1515631
>eager, explicit
В коде уже дохуя десятков запросов, это в каждый надо добавлять .Include/референсов и тестировать.
>lazy
Все бы ничего, да в этом легаси полно .ToList()'ов до обращения к полям связанной модели.

Аноним 07/11/19 Чтв 18:48:48 151564624
>>1515643
>>1515631
Так, пажжи, гугл говорит что lazy работает даже после превращения в лист. Почему-то мне это казалось контринтуитивным, т.к. ToList() выполняет запрос, и я отметал этот вариант. Окей, спасибо анону что заставил усомниться.
Аноним 07/11/19 Чтв 18:49:42 151564725
images.jpg (11Кб, 310x163)
310x163
>>1515643
>В коде уже дохуя десятков запросов
Аноним 07/11/19 Чтв 18:52:27 151564926
>>1515647
Ты не поверишь чем именно сейчас я занимаюсь и почему эта проблема возникла.
Аноним 07/11/19 Чтв 18:56:37 151565427
>>1515265
>>1515529
Его проблема в том, что есть msdn, а он со своими опечатками и кривотолками кроме своей мамки и таких же картавых чмох, никому больше нахуй не нужен, только запутает.
Аноним 07/11/19 Чтв 20:53:44 151577128
>>1515654
конкретней? ньюфагу интуитивно понятней метанит, чем mdsn
Аноним 07/11/19 Чтв 21:00:54 151577529
Что читать, если я всю базу касательно языка знаю(ну, синтаксис-хуинтаксис, стандартные библиотеки, как нутгетом пользоваться и как из как с помощью dotnet cli собирать проекты с солюшинами), а вот при попытке сделать что-то серьезное, что должно приносить пользу(и, возможно, денежки мне) я начинаю теряться из-за того что всего много надо сделать, еще и желательно все эти подходы соблюдать с вынесением всего в интерфейсы, внедрениями зависимостей и т.д. и могу месяц долбить просто архитектуру, а в определенный момент либо забить и зафигачить просто чтобы работало, либо, что чаще, дропнуть.
Как вообще кто-то в соло может написать что-то типа https://github.com/dotnetcore/surging ? А если и может, то сколько на это должно уйти времени и как подобное распланировать?
Аноним 07/11/19 Чтв 21:05:44 151577830
>>1515771
На метаните много плохих практик и при этом даже не говориться как сделать правильно. Плюс там очень много именно решения конкретных проблем и ньюфаг просто берет код оттуда, немного меняет и думает что понял, а на деле нихуя он не понял. Ну и куча ошибок в коде, не говорится что и зачем там используется и как этот же инструментарий использовать если у тебя задача чутка отличается. Ко всему все что там описано это чисто учебная фигня, которая в реальном проекте на реальном железе работать нормально не будет.
Аноним 07/11/19 Чтв 21:20:25 151578631
>>1515775
>желательно все эти подходы соблюдать с вынесением всего в интерфейсы

Где это ты такие подходы видел? Интерфейсы существуют для того чтобы создавать мосты между иерархиями классов, которые между собой напрямую не связаны, но имеют что-то общее. Абсолютно всё переносить в интерфейсы будет только человек, который не понимает их предназначения.
Читай книги по ООП. Сейчас ты просто не понимаешь для чего всё это делаешь, какая у этого и цель и почему это удобно, именно поэтому и дропаешь. Когда будешь знать что зачем и почему, то заставлять себя не придётся, код автоматически будет соответствовать принципам ООП и работать.
Аноним 07/11/19 Чтв 21:37:21 151580132
>>1515786
Няша, я же немного преувеличил про всё вынести в интерфейсы.
Принципы, на концептуальном уровне, я понимаю. Взять тот же SOLID, каждый из его пунктов понятен, так же понятно как это все делать в частных случаях и для чего оно нужно, но когда нужно писать что-то, я просто начинаю запутываться во всем этом. И ведь я бы мог сделать сначала какой-то прототип просто чтобы работал, а потом начать по кускам пытаться его привести в нормальный вид, но голос в моей голове говорит, что так будет сложнее потом и надо сразу делать как надо, а чтобы делать сразу как надо надо пониматься что надо, а я каждый раз столкнувшись с чем-то новым просто не понимаю что в данный момент таки надо.
Короче, посоветуй тогда нормальных книг/лекций по ООП, где не про наследование-инкапсуляцию-полиморфизм будут рассказывать, а про то как выделять эти самые сущности, как правильно строить структуру проекта чтобы потом его можно было допиливать и расширять и всё это вот.
Аноним 07/11/19 Чтв 21:50:28 151582333
>>1515778
>плохих практик
где эти практики лучше по твоему? На мсдн? Так там практик нет от слова соовсем. Так лучше хуже лучше, чем ничего
>много именно решения конкретных проблем
в принципе тоже самое, что и с SOF. Хуй знает, как это работает, но работает
>куча ошибок в коде
если пользователь информации не дебил, он поймет где фиксить. Best practice все равно не найти.
Я именно с метанита нашел некоторые архитектурные решения (типо DAL-BLL-UI или IUOW), отношения между классам - Агрегация, композиция, DI. Много прочтенного было Usefull.

К тому же на метаните (в отличии от МСДН) четко структурирована информация, где можно пункт за пунктом имея под рукой IDE практиковать (с какими ни какими примерами).

Говорить, что это хорошо, а это плохо, т.к. не мсдн могут на галерах, где руки прибивают от использования таких порталов (т.к. приучают к чтению первоисточников).
Аноним 07/11/19 Чтв 22:14:12 151586034
>>1515823
>Так там практик нет от слова соовсем.
Ты когда там последний раз был? На каждый класс и каждый метод есть пример и даже не один, плюс отмечают подводные камни, которые могут встретиться при работе с этими классами и методами. Или ты очередное быдло, которое английский не знает?
>если пользователь информации не дебил, он поймет где фиксить.
Т. е. ты увидел кусочек непереварившегося арахиса в куче кала, а теперь предлагаешь хорошенько его очистить, съесть и получить немного питательных веществ? И всё это в то время, когда рядом стоит лавка с бесплатным арахисом, без говна и мусора? Самого не смущает?
>К тому же на метаните (в отличии от МСДН) четко структурирована информация
На мсдн уже давно есть отличный туториал, где информацию структурирована в разы лучше чем у твоего мутанита.
Аноним 07/11/19 Чтв 22:21:14 151587335
>>1515801
>я знаю
>каждый из пунктов понятен

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

>тогда нормальных книг/лекций по ООП
Заходишь на libgen.is и вбиваешь OOP в поиск.
Аноним 07/11/19 Чтв 22:43:17 151589336
>>1515204 (OP)
Хорошая попытка, Шинобу, но нет.
Аноним 07/11/19 Чтв 22:54:50 151590137
>>1515860
По твоей логике тогда все онлайн туториалы нужно выпилить и оставить только msdn. Или ты не знаешь, что информацию можно черпать из разных источников?
>ты увидел кусочек непереварившегося арахиса в куче кала
ты все слишком утрируеш. Я тебе написал примеры, по которым стоит не упускать из вида этот портал. Кому то он будет полезным, кому то нет. Ведь каждому решать, с каким источником работать и какой использовать. Есть даже те, кто по индусовским туторам на ютубе пытаються учится, что ты им скажешь?
Аноним 07/11/19 Чтв 23:00:42 151590638
>>1515901
>По твоей логике тогда все онлайн туториалы нужно выпилить и оставить только msdn. Или ты не знаешь, что информацию можно черпать из разных источников?

По шарпу нормальных онлайн туториалов нет, наверно потому что все понимают, что им не переплюнуть msdn. Для остального есть книги, что в этом удивительного, блять? Да, твой мутанит сосёт, и твоё отрицание это никак не меняет.

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

Для этого и существует такое понятие как "совет", именно для этого и существует этот тред. Новичку-вкатывальщику не нужны ресурсы, полезность которых иллюзорна и сомнительна. Лучше пусть две главы троелсена прочтет, чем потратит это время на выискивание полезного у метанита.
Аноним 07/11/19 Чтв 23:20:33 151592739
>>1515775
Бля.. как про себя прочитал, точь в точь моя ситуация.
Аноним 07/11/19 Чтв 23:21:22 151592840
почему из анимешников получаются самые хорошие программисты?
Аноним 08/11/19 Птн 00:03:12 151595241
>>1515906
>По шарпу нормальных онлайн туториалов нет
Все твои посты на тему метанита - это пердеж в лужу. Для того, чтобы писать на шарпе нужно... знать шарп. Метанит дает знания по шарпу? Дает. Дает примеры, для укрепления знаний? Дает.
Все твои доводы - это обобщение к первоисточнику. Можно такое приведение сделать к Троелсону или Шилду. Типо, нахуя их читать, если есть МДСН (да да, на ангельском, книжечки же можно на рузком почитать).
>Новичку-вкатывальщику не нужны ресурсы, полезность которых иллюзорна и сомнительна.
Такой же пук в лужу, как и все остальные. Когда приходит джун на собес, его не спрашивают - откуда ты взял информацию по теме? Конечно нет, главное чтобы правильно ответил.

Upd. Я бы даже сказал так, такие ресурсы, как метанит - скорее для тех, кто даже с программированием мало знаком и кому тяжело даются мануалы. Msdn - ресурс к которому так или иначе приходят в процессе РАБОТЫ, но не всегда до нее.
Постарайся привести хоть один весомый довод, почему метанит нельзя использовать впринципе. Я не отстаиваю позицию, что метанит >= msdn, а наоборот - лучше первоисточников ничего не может быть. Я за то, что каждому источнику информации место быть, даже тем же индусовским туторам на ютубе.
Аноним 08/11/19 Птн 00:22:05 151596142
>>1515952
>Можно такое приведение сделать к Троелсону или Шилду. Типо, нахуя их читать, если есть МДСН (да да, на ангельском, книжечки же можно на рузком почитать).

В том и дело, что нельзя, потому что у Троелсена и Шилда по 1к+ страниц, а у мутанита "тоже самое", но на 50-ти страницах. Поэтому ему и противопоставляется мсдн, в которой материал подается сжато, но при этом без ошибок, хорошими примерами и в обновленном виде.

>Такой же пук в лужу, как и все остальные.

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

>лучше первоисточников ничего не может быть

Так пиздуй спецификации читать, при чём здесь MSDN?

>Я за то, что каждому источнику информации место быть

Так пусть будет, только вне этого треда, потому что этому источнику есть хорошие аналоги и тратить на него время не имеет смысл.
Аноним 08/11/19 Птн 09:31:01 151607943
image.png (13Кб, 432x223)
432x223
как работать с double.TryParse() в C#. Разобрался с int переменными, но не понимаю как с double/float. Как в строке можно вообще вычислить число с запятой? Нужно ли мне использовать Split или что-то еще? Или нужно как-то вычислять точки/запятые?
Аноним 08/11/19 Птн 10:29:21 151611444
Аноним 08/11/19 Птн 12:24:06 151616445
>>1516079
точки и запятые как разделители выбираются относительно региональных настроек, вроде есть какая-то перегрузка которая конкретно позволяет указать что будет. просто позакидывай строки типа "12.3421", "11,11145215" и так далее, и посмотри что будет. и убери этот наркоманский цикл.
Аноним 08/11/19 Птн 12:33:21 151617346
>>1516079
Почему именно с запятой? Может быть и точка, зависит от языка. Для этого есть статический метод у класса char - char.IsPunctuation(char c)
В итоге тебе надо проверить булевый тип который возвращает TryParse, если он равен true, значит ты разбиваешь строку на массив символов и проходишь по каждому элементу, используя IsPunctuation до тех пор пока не получишь true или не пройдешь весь массив. Если получил true, значит число дробное, если нет, значит целое.
Аноним 08/11/19 Птн 12:47:12 151618147
Но на самом деле можно решить задачу более легким путём.
Если TryParse вернул True, значит делишь его на 1 используя modulo operation (%), если результат деления равен нулю, значит число целое, если нет, значит дробное.
Аноним 08/11/19 Птн 12:54:16 151618348
Вот вам и "знание математики не нужно". Гуманитарий побежит искать запятые, потом объебется когда разделителем будет не запятая, а точка, побежит искать запятые и точки, переводя число в строку и обходя массив символов. В то время как технарь напишет одну строчку и пойдет дальше.
Аноним 08/11/19 Птн 14:07:39 151624749
>>1516183
в экселе рациональные числа разделяются ',' а не точками, так что не удивительно, если аналитики начнут преобразование точек в запятые
Аноним 08/11/19 Птн 14:39:28 151627750
>>1516247
В экселе это настраиваемый параметр, там любой символ можно назначить.
Аноним 08/11/19 Птн 15:22:22 151630451
>>1516277
Это в настойках нужно лазить, гуглить... сложно, та и коллеги не поймут. Так что ',' - общепринятый стандарт

мимо бывший экономист-финансист
Аноним 08/11/19 Птн 15:41:22 151631552
>>1516247
>в экселе рациональные числа разделяются ',' а не точками
В экселе они разделяются так, как принято в установленном в ОС национальном стандарте (локале). То же самое с датой и т.п.
Аноним 08/11/19 Птн 15:59:29 151632553
formatirovanie1[...].png (24Кб, 512x417)
512x417
Аноним 08/11/19 Птн 16:19:21 151633654
>>1516304
Это в пидорахии и еще нескольких странах, в США по дефолту '.' даже в экселе.
Аноним 08/11/19 Птн 20:44:53 151651655
.png (8Кб, 960x118)
960x118
.png (64Кб, 991x940)
991x940
>>1516079
Блядь, я из-за того что неправильно прочел полез в исходники .Core. Думал ты спрашиваешь как работает TryParse() и скачал. Пиздос. Ну хоть будет что почитать на выходных.
А работает с TryPares() проще некуда, указываешь культуру и просто пихаешь строку, никаких циклов-хуиклов не нужно.
Аноним 08/11/19 Птн 23:43:55 151663756
Кто ни будь может дать внятное объяснение, какое различие между 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? Какой жизненный цикл приложения?
Аноним 09/11/19 Суб 00:02:27 151665557
wallhaven-4g3xzd.jpg (1162Кб, 2559x1571)
2559x1571
Сложно ли с Жавы перекатиться на C#?
Аноним 09/11/19 Суб 00:13:18 151666458
Шарпаны, помогите,
Хочу написать программулину, которая с телефона будет отправлять координаты этого самого телефона и немного другой инфы на мой сервер. До этого с сетями дело особо не имел, разве что чатик консольный для локальной сети делал где по IP подключеление было. Как я понимаю, основное отличие только в том, что IP телефона динамический. Может есть еще какие-то подводные камни? И еще, как мне потом узнать что это тот самый телефон подключился? Я пока придумал только такое решение: телефон отправляет пакет регистрации, а сервер в ответ присваивает адрес и сохраняет его в БД, телефон этот адрес сохраняет и в следующих пакетах прикрепляет, чтобы можно было понять что это тот самые телефон, но мне кажется что у такого решения есть некоторые недостатки, например как узнать что кто-то другой не узнал адрес и просто крепит к своим пакетам? Я думал что можно как-то пакеты шифровать, но если шифровать весь пакет, то получается что я с ходу не смогу определить что мне на сервер стучится именно телефон а не какой-то левый хуй, следовательно будет тратиться время на расшифровку пакета и только потом приниматься решение что со стучащимся делать. Все это дело на .net core + xamarin. Подумывал о том, чтобы еще веб-апи сделать, но пока отложил эту идею.
Так вот, что почитать про это всё в контексте .net core? Просто я с этим самым .net-ом знаком еще меньше чем с сетями и не хочется пилить свой велосипед, а потом узнать что за меня большую часть проблем уже решили и можно было взять готовое решение.
Аноним 09/11/19 Суб 00:36:16 151668459
>>1516655
Нет, они похожи. Только какой смысл...
Аноним 09/11/19 Суб 00:43:53 151668960
>>1516655
смотря на каком ты этапе
Аноним 09/11/19 Суб 06:49:19 151674961
>>1516664
а если по mac адресу?
он же уникальный у каждого
сетевого устройства
Аноним 09/11/19 Суб 08:24:45 151676062
Аноним 09/11/19 Суб 08:26:29 151676163
1573277160892.jpg (467Кб, 3921x1648)
3921x1648
>>1515204 (OP)
Если стану шарпистом, смогу позволить себе пикрил?
Аноним 09/11/19 Суб 10:10:02 151677864
Хочу приложение, которое будет работать как сервер/демон, и им можно будет управлять через cli. через отдельный бинарник, типа пишешь в консольке myapp-cli update, myapp-cli посылает сигнал серверу и он его обрабатывает Я конечно могу поебаться с namedpipes или дбасом, но нет ли какого-то кроссплатформенного, встроеного в .net решения?
Аноним 09/11/19 Суб 10:27:37 151678265
>>1516778
Забейте, нашел System.IO.Pipes
Аноним 09/11/19 Суб 11:21:09 151679666
Антоны, делаю сайтец на asp.net mvc.
Есть задача сделать навигационную панель, если пользователь зарегистрирован (Система регистрации через Identity), то нужно загружать одну панель, если нет, то другую.
Как это сделать? Разные дочерние действия вызывать или прямо в представлении менять?
Аноним 09/11/19 Суб 11:48:12 151680367
5.png (103Кб, 512x512)
512x512
>>1515265
оп сейчас не я.
Алсо нумерация сбилась, поэтому следующий тред будет 15.
Не скучайте без меня няши, сейчас у меня мало времени на тред, так как меня уже повышают до мидла. Работы прибавилось, а ещё скоро я еду в японию на половину декабря. Ня :3
Аноним 09/11/19 Суб 12:01:46 151680668
>>1516803
>а ещё скоро я еду в японию на половину декабря. Ня :3
У тебя случаем ник не на Л?
Аноним 09/11/19 Суб 12:07:34 151680769
Аноним 09/11/19 Суб 12:23:38 151681170
>>1516807
в японии не смогут произнести!
Аноним 09/11/19 Суб 12:28:04 151681471
Аноним 09/11/19 Суб 12:28:37 151681572
rising-shield-h[...].jpeg (118Кб, 1280x718)
1280x718
Аноним 09/11/19 Суб 12:30:38 151681673
>>1516796
В лейауте посмотри идентити да и все.
Аноним 09/11/19 Суб 13:19:49 151682674
>>1515928
Потому что им не дают.
Аноним 09/11/19 Суб 13:30:34 151683075
>>1515928
Это умение в абстракции. Дело вовсе не в аниме. Например в 90 годы лучшими были Фэнтезийщики, просто анима не особо была распространена. Сейчас же банально проще поставить себя на место гг и проработать ми заранее в голове используя логику и его законы. Прокачивает совместный скилл с программированием знатно.
Аноним 09/11/19 Суб 15:25:02 151690376
>>1516164
>>1516173
>>1516516
всем спасибо большое разобрался+научился. Спасибо большое, /pr. Хоть какой-то толк с того, что я сижу на дваче
Аноним 09/11/19 Суб 19:11:03 151708577
Эх, аноны.
Нихера не понимаю сериализацию и интерфейсы.

Что может быть сложнее в С, чем это?
Аноним 09/11/19 Суб 21:34:31 151723678
>>1517085
Это элементарные понятия, сложность которых сравнима со сложностью понимания переменных и базовых типов.
Аноним 09/11/19 Суб 22:29:48 151729579
>>1515771
Мне, как нуфагу метанит совсем не нравится, говно какое-то, в лучшем случае нихуя не понятно почему и как, а нередко бывает что ещё больше запутывает.
Вообще заметил, что вся инфа на русском как то криво и уебищно подаётся, на английском легче понять даже с учётом моего весьма посредственного ингриша.
10/11/19 Вск 00:08:45 151735880
>>1517295
Ты просто тупой, тебе и msdn не поможет. Метанит — это разжевывание совсем для детишек деревянных.
Аноним 10/11/19 Вск 00:09:49 151736081
>>1517358
>Метанит — это разжевывание
>C# за 50 неполных веб-страниц
>разжевывание

Толсто даже для двача.
10/11/19 Вск 00:16:08 151736782
>>1517360
Доёб на пустом месте. Читай как "объяснение" тогда, петуч дырявый.
Аноним 10/11/19 Вск 00:23:09 151737483
>>1517367
Конечно на пустом, особенно когда это говноподелие позиционирует и озаглавливает себя как "Полное руководство". В то время как это даже полным справочником назвать нельзя. Хотя чего ожидать от шизиков, которые в многочисленных опечатках и просто неверных трактовках, не видят ничего плохого, потом такие долбоебы пишут using SmallBasic и говорят, что написали графическое приложение с черепашкой.
Аноним 10/11/19 Вск 02:00:48 151744984
>>1517374
давай пруфлинки для начала, прежде чем кидаться словами. Формат:
1. Что по твоему мнению должно быть на метаните;
2. Источник, где это написанно.

Мне вообще нравятся сеньеры двача, пердят в лужу, что все пидарасы, только они Д'артаньяны, по факту ниодного пруф линка не увидел. Целевой подход должен быть, иначе есть вероятность сходить нахуй
Кидать линки из CLR via C# и других источников, где уровень работы с языком совсем другой не нужно.
Аноним 10/11/19 Вск 02:22:41 151747385
>>1517449
Листай прошлые треды, там будут тебе пруфлинки и разжевывания на тему "почему метанит говно". Вот где парадокс - долбоебу не нужно разжевывать про C#, но нужно разжевывать почему метанит и его ресурс говно.
> пердят в лужу, что все пидарасы
С каких это пор мутанит == все? Куча годных ссылок в шапке, но шизику-мутанитоебу почему-то не хватает мутанита.
>Кидать линки из CLR via C#
Вот и еще один хороший детект долбоеба - кидается из крайности в крайность. Ему либо обрубленное, кривое дерьмо вида метанита, либо книги для людей с опытом вида CLR via C#, а между этим пропасть.
Аноним 10/11/19 Вск 02:26:53 151747986
Кто-нибудь пользовался херовиной MS для ML? Хочу имплементировать ее для фильтрации запросов на сайт, просто чтобы быть модным молодежным, но есть некоторые опасения, что она дает большую погрешнсть и любой хуй будет админку получать.
Аноним 10/11/19 Вск 03:15:35 151749687
На сколько актуальна в реальных проектах событийная модель в шарпах? Ее хоть где то используют после введения логеров?
Аноним 10/11/19 Вск 11:17:26 151757088
>>1517473
>пук пук пук
Все, как писал ранее
>CLR via C# книги для людей с опытом
да ты я смотрю дно ногами не чувствуешь. Сейчас на каждом первом собесе джуна спрашивают про компиляцию MSIL, сборки, хеш таблицы
Аноним 10/11/19 Вск 11:24:01 151757389
Насколько ReSharper проверки своих работ? Этим гавном пользуются у вас на галерах?
Аноним 10/11/19 Вск 11:24:17 151757490
>>1517573
Насколько ReSharper актуален для проверки своих работ? Этим гавном пользуются у вас на галерах?
Аноним 10/11/19 Вск 15:05:49 151776691
>>1517573
У меня больше используют для рефакторинга. Потому с каждой новой версией студии он все меньше нужен становится.
Аноним 10/11/19 Вск 16:13:08 151783492
>>1517766
VS2019 умеет ну, да вообще умеет ВСЁ... даже код пишет за тебя
Аноним 10/11/19 Вск 17:59:06 151792493
image.png (11Кб, 652x76)
652x76
Аноны, понимаю что вопрос нубацкий, но только начал изучение. Буквально первая практика. Есть задача пикрилейтед. Есть моё решение:
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();
}
}
}
Но ответы почему-то не сходятся, даже гуглить непонятно что, так как никаких ошибок не выдаёт. Что я делаю не так?
Аноним 10/11/19 Вск 19:05:48 151798394
>>1517924
4/3 и 7/6 - это целочисленное деление и результат соответственно тоже целочисленный, то есть 1.
Аноним 10/11/19 Вск 19:08:45 151798995
>>1517983
Понял, а как делить не целочисленно, вроде в руководстве написана, что эта операция применима к не целочисленным.
Аноним 10/11/19 Вск 19:09:53 151799196
>>1517983
Всё уже понял, спасибо за совет, хз сколько бы я ещё с этим парился. Добра тебе
Аноним 10/11/19 Вск 19:14:08 151799697
WNWirLG0wlQ.jpg (78Кб, 1225x378)
1225x378
>>1517983
Всё ровно что-то не сходится.
Аноним 10/11/19 Вск 19:17:12 151799998
>>1517996
А какой правильный ответ?
Аноним 10/11/19 Вск 19:18:02 151800099
>>1517999
0,235 ,если я правильно понял суть.
Аноним 10/11/19 Вск 19:18:58 1518002100
image.png (18Кб, 658x118)
658x118
>>1517999
Такого рода таблица, правда я не понимаю зачем тут второе число в в секции с X
Аноним 10/11/19 Вск 19:20:19 1518004101
>>1517999
Извини, я дурак сонный, вводил 1,26 вместо 2,26
Аноним 10/11/19 Вск 20:28:26 1518075102
Нужно написать небольшой WEB API, который мог бы отвечать на POST и GET запросы каким-либо JSON. До этого писал такое на PHP, но в моем случае C# получается более оправдан.

В PHP это сделать вообще просто.

Что нужно использовать, чтобы реализовать такое на C#? ASP .NET MVC 5 выглядит слишком громоздко
Аноним 10/11/19 Вск 20:42:48 1518084103
Аноним 10/11/19 Вск 20:45:33 1518087104
>>1518084
Мне и без middleware хорошо. Мне б чего-то простого, хайлоад не надо
Аноним 10/11/19 Вск 20:46:10 1518088105
>>1518075
Ну, если тебе это кажется слишком громоздким, то просто юзаешь без задней мысли сокеты и по TCP/UDP отправляешь ответ. Даже не знаю что может быть менее громоздким чем это.
Аноним 10/11/19 Вск 20:50:37 1518095106
Аноним 11/11/19 Пнд 00:53:04 1518290107
35.jpg (342Кб, 1630x979)
1630x979
37819e9e33165e9[...].jpg (12Кб, 223x298)
223x298
>>1518095
Я худею с MSDN ruzian edition, бом бом. Тут на мутанит пиздели, этот портал тоже не отличился. Решил тыкнуть в сурс с рузке переводом, проиграл с подливой.
Ванькам так и намекают - "Learn english motherfucker"
Аноним 11/11/19 Пнд 00:56:42 1518295108
36.jpg (263Кб, 1539x924)
1539x924
>>1518290
Страшно дальше скролить, вдруг ссаться в кровать начну...
Аноним 11/11/19 Пнд 01:55:26 1518331109
>>1518295
>>1518290
Тупое быдло, которое не может в английский, даже не способно прочитать предупреждения
> Этот текст может быть частично переведен средствами машинного перевода.
Зачем тебе программирования? Кассы в макдональдсе простаивают и рюкзаки яндекс.еды.
Аноним 11/11/19 Пнд 10:31:03 1518441110
>>1518331
>Тупое быдло
Которые даже пост не читает, а уже начинает срать кирпичами
>Кассы в макдональдсе простаивают
ты походу тот шизоид, который "ЗА МДСН, ПРОТИВ МУТАНИТА". Во как пригорела жопа, небойсь уже с десяток репортов накатал на портале.
Аноним 11/11/19 Пнд 12:41:36 1518498111
>>1518441
>ряяя ета ни я на русике читаю эта вы пасты не читаете ммаааам скажи им што мутанит крута!!! ну мааам

Проиграл.
Аноним 11/11/19 Пнд 14:59:56 1518589112
>>1518498
С подливой забыл добавить, ведь ты обосрался, Маня

Тоже считаю метанит говном, but who cares? Рвать жопу доказывая такому же долбоебу, как и ты, что твоя точка зрения правильная, а его нет?
Аноним 11/11/19 Пнд 15:08:14 1518594113
Аноны, есть где-нибудь гайд, как настроить ninject вместе с
identity на asp.net mvc 5?
Аноним 11/11/19 Пнд 16:59:48 1518677114
>>1518594
хз, в интернете посмотри
petrosyan.jpeg
Аноним 12/11/19 Втр 00:14:42 1519024115
image.png (78Кб, 1800x464)
1800x464
Добрый вечер.Это тот Анон который ебал тут всем мозги со своими дебильными(нет) задачками. Я тут дошел до строк. И даже использую всякие методы но не могу решить задачу вот её условие.
1.определить, сколько различных символов встречается в строке.

И в общем пиздец не знаю даже как все сделать на базовом пошаговом уровне. Через метод Distinct ебанул за 2 минуты. А вот как он работает на прикладном уровне хз. В общем если можете подскажите как решить или что читать. Снизу кусок кода который вносит строку для подсчета символов хз нужен ли он тут.
Аноним 12/11/19 Втр 00:20:28 1519026116
Аноним 12/11/19 Втр 00:22:56 1519028117
Аноним 12/11/19 Втр 00:35:20 1519036118
1.jpg (53Кб, 1022x325)
1022x325
>>1519024
И что сложность вызвало? Можно вот так решить.
Аноним 12/11/19 Втр 00:47:51 1519044119
Screenshot8.png (9Кб, 327x290)
327x290
Аноним 12/11/19 Втр 01:01:29 1519048120
>>1519044
Нет, так хуйня получается.
Аноним 12/11/19 Втр 02:04:50 1519064121
Аноним 12/11/19 Втр 06:38:29 1519102122
.png (6Кб, 412x308)
412x308
>>1519024
Классическое решение примерно так выглядит: Сохраняешь строку, заводишь список char, затем в цикле добавляешь в этот список новый символ, если данного символа в строке нет, после этого смотришь сколько символов в списке.
Небольшая сложность была бы, если бы ты тебе там нужно было не символы а буквы посчитать, но простейшим решением было бы сначала строку перевести в один регистр, а дальше так же.
Аноним 12/11/19 Втр 07:18:11 1519110123
image.png (42Кб, 977x379)
977x379
>>1519102
Анончик подскажи еще один момент не совсем понимаю.
Получается прогоняем массив чисел через цикл.
и Если число не повторяется в массиве то добавляем его в переменную? И если можно метод Contains он получается добавляет не повторяющиеся значения?Этот метод принадлежит классу String верно?
Аноним 12/11/19 Втр 10:43:47 1519188124
code.png (6Кб, 266x245)
266x245
>>1519024
Да вроде не секрет как Distinct работает.
Аноним 12/11/19 Втр 11:00:37 1519198125
>>1519110
Ты куда-то не туда свернул. Во-первых ты создаешь массив равный длине строки - слишком расточительно. Хотя в худшем случае строка будет из уникальных символов, тем не менее при росте длины строки, вероятно, количество повторяющихся символов будет увеличиваться. Т.е. скорее всего даже для строки длиной в 10к уникальных символов будет не более ста. Во-вторых, попробуй придумать имена переменных по-лучше. В -третьих, разумно предположить, что если ты вызываешь Contains на массиве, то медод принадлежит массиву а не строке (на самом деле это расширение для IEnumerable). И нет, он ничего не добавляет, а только проверят есть ли указанный элемент в последовательности.
>массив чисел через цикл
строку через цикл
> Если число не повторяется в массиве
если массив не содержит символ
>добавляем его в переменную
добавляем символ в массив, увеличивая счетчик на 1
Аноним 12/11/19 Втр 12:34:05 1519247126
>>1519110
>прогоняем массив чисел
Прогоняем массив символов в виде String
>Если число не повторяется в массиве
если символ не повторяется в новом массиве
char[] x = new char[s.Length];
то добавляем в него символ из цикла
>метод Contains он получается добавляет
он ничего не добавляет, он проверяет принадлежность (в твоем случае символа ХХХ из цикла в массиве X
>метод принадлежит классу String
https://docs.microsoft.com/en-us/dotnet/api/system.string.contains?view=netframework-4.8
Аноним 12/11/19 Втр 17:19:41 1519422127
image.png (26Кб, 281x326)
281x326
Просто вопрос. Как сделать пикрил короче, чтобы так долго не выписывать каждую букву.
Аноним 12/11/19 Втр 17:40:11 1519430128
>>1519422
Цикл, нет? И выписывать каждую букву по итерации по индексу
Аноним 12/11/19 Втр 18:35:11 1519466129
1.jpg (20Кб, 258x149)
258x149
Аноним 12/11/19 Втр 18:48:01 1519477130
Аноним 12/11/19 Втр 18:56:50 1519481131
Количество работы по C#:

1) ASP.net
2) Unity
3) ????
4) Desktop

Аноним 12/11/19 Втр 21:03:35 1519604132
>>1519477
В глаза долбишься? Там консоле.клир перед новым выводом.
Аноним 12/11/19 Втр 21:39:17 1519645133
Шарпаны, короче, есть ли у вас аналог Mina из джавы на свежем Net Core? Чтобы можно было удобно задать фильтры пакетов, сконфигурировать и запустить сервер, не обязательно с Http?
Просто ну не может же быть так, что у вас либо Http для сетевого взаимодействия, либо ручками все собирай. Да, про попытку перенести Mina на нет кор я слышал, но там во-первых много чего недопилено, во-вторых, проект, судя по гитхабу, заброшен и последняя версия под .net Core 2.
Аноним 13/11/19 Срд 01:43:19 1519808134
Антоны, в качестве тестового задания дали сингл пейдж приложение на ASP.NET MVC и EXT JS.
Вот интересно, как, им web api нужно или я могу просто в MVC генерить ответ через JSONRESULT?
И как должна работать система регистрации, у них вообще Membership, я хочу заюзать Identity.
Аноним 13/11/19 Срд 07:18:44 1519879135
Окей, короче, я сам вроде как разобрался с вопросом >>1519645. Как я понял Kestrel можно таки научить не только HTTP(S) понимать, хоть и не так удобно как в Mina вот если что пример https://github.com/davidfowl/MultiProtocolAspNetCore. Теперь у меня другой вопрос: Почему на вопросы как посчитать число буковок в массиве сразу столько экспертов набегает, а как что-то полезное и неочевидное, если ты совсем недавно со всем этим вашим .net'ом дело имеешь, спросишь, так хуй кто что-то скажет?
Аноним 13/11/19 Срд 08:31:33 1519888136
>>1519879
Ночью многие спят, а не капчуют в /pr/. Поэтому ответа и не получил
Аноним 13/11/19 Срд 08:52:04 1519896137
>>1519879
Потому что в этом треде кроме вкатывальщиков никто не сидит, ты слишком сложные вопросы задаешь.
Аноним 13/11/19 Срд 10:35:00 1519929138
typicaljavadeve[...].jpg (111Кб, 601x505)
601x505
>>1519645
>12/11/19 Втр 21:39:17
>>1519879
>13/11/19 Срд 07:18:44
Подержите мою сигару, уже бегу помогать анону, как настроить Kestrel, ШТО Б БЫЛО КАК НА АПАТЧЕ В ДЖАВЕ. У НИВО НАВЕРНОЕ ГУГЛ СЛОМАН ИЛИ ДЖАВИСТЫ НЕ УМЕЮТ В ГУГЛ.

Это случайно не ты тот, кто раз в 2 недели постит какую то дичь типо упаковки в обобщенных коллекциях при переборе циклом, а потом под видом "РАЗОБРАЛСЯ" начинает закидывать говном всех, кто ему отписал?

>>1519896
ты сильно охотно делаешь чужой таск, за который нихуя не платят?
Аноним 13/11/19 Срд 10:58:54 1519931139
image.png (22Кб, 414x196)
414x196
image.png (77Кб, 837x535)
837x535
У меня есть класс абстрактный, потому что работаем с наследниками который заполняется данными бизнес-логикой (пик 1), есть соответствующая сущность EF с бд (пик 2). Стоит ли мне заменить все эти поля просто экземпляром сущности? Из плюсов я вижу, что изменения применяемые на бд автоматически применятся на класс - не придется вручную лезть в него редактировать, однако процесс заполнения данных в бизнес-логике придется поменять все же. Какие мысли?
Аноним 13/11/19 Срд 11:15:31 1519939140
>>1515206
Почему нет литературы по .NET Core?
Аноним 13/11/19 Срд 11:21:05 1519940141
Аноним 13/11/19 Срд 11:29:56 1519944142
>>1519931
на сколько я помню, POCO всегда должны быть открытыми и без наследования. Попробуй в песочнице заменить поля из твоего POCO из класса маппинга. Если есть нужда делать мост по редактированию сущностей - можешь запилить автомаппер.
Аноним 13/11/19 Срд 11:37:03 1519947143
image.png (29Кб, 764x216)
764x216
image.png (46Кб, 1023x222)
1023x222
Это нормально, что в линке при группировке DeafultIfNull коллекции создается такое количество пустых сущностей? (Пик 1) На втором пике запрос с выделенным местом группировки.
Аноним 13/11/19 Срд 11:50:02 1519951144
>>1519939
У Троелсена есть про .Net Core
Аноним 13/11/19 Срд 12:47:05 1519990145
Мне в TModel routeValue (3ий параметр) нужно засунуть помимо двух моих стандартных параметров, ещё n параметров которые сгенерируются в коде.
@Html.RouteLink("Link", "PagenationRouteLink", new { currentPage = 1, itemsOnPage = 15})
Можно ли это как то провернуть?
Например сделать словарик с ключами - названиями аргументов и подцепить его?
Аноним 13/11/19 Срд 13:42:08 1520006146
>>1519947
Фиксировано размер Count у тебя задан, вот и создаёт
Аноним 13/11/19 Срд 13:48:57 1520012147
Аноним 13/11/19 Срд 17:09:28 1520185148
Зарепортили, суки? У меня зарплаты хватает на много пасскодов!
Аноним 13/11/19 Срд 17:32:07 1520210149
Вопрос от ньюфага: .net core же кроссплатформенный, то есть на линуксе у меня будет точно та же функциональность что и на .net framework на винде?
Аноним 13/11/19 Срд 19:27:49 1520370150
>>1520210
Нет. Части deprecated legacy говна, вроде WCF вообще нет. Часть специфичных технологий, вроде Windows Forms или WPF только на винде. Впрочем, Avalonia или UNO что-то дают схожее и на лине
13/11/19 Срд 19:43:09 1520378151
>>1520370
Нет у вас кроссплатформенности короч.
Аноним 13/11/19 Срд 20:22:09 1520401152
>>1520370
WinForms и WPF начинают потихоньки перетягивать на кор с третьей версии.
Аноним 13/11/19 Срд 23:09:47 1520508153
>>1520401
Они уже давно перетянуты, вот только кроссплатформенными от этого не стали и не станут, потому что зависят от Win API, которого, очевидно, на других платформах нет.
Аноним 13/11/19 Срд 23:13:19 1520513154
>>1520370
Но на линуксе этого и не надо, да?
Аноним 13/11/19 Срд 23:15:11 1520517155
>>1520513
Для кроссплатформенности есть Xamarin, ну или Avalonia, но её пилят 3 калеки.
Аноним 14/11/19 Чтв 01:55:21 1520572156
>>1520508
Действительно, а я повелся :(
Аноним 14/11/19 Чтв 04:22:49 1520599157
>>1520378
Блять, ты на жабу посмотри с её JavaFX. Говно то ещё. У тебя вся кроссплатформенность заключается только в UI?
Аноним 14/11/19 Чтв 04:23:18 1520600158
>>1520401
Я так и сказал. Они в Core есть, но только для винды.
Аноним 14/11/19 Чтв 04:30:19 1520602159
>>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)
Аноним 14/11/19 Чтв 04:37:00 1520603160
Ньюфаги как обычно с вопросом даже не ознакомятся насчёт Core и хуйню несут по типу "Для вас ЭТА ЖИ НЕНУЖНА, ДА?" или "НЕТ КРОССПЛАТФОРМЫ, ХОЧУ КАК В ЖАБЕ, РЯЯЯЯЯЯЯЯ!".

Уебывайте их треда нахуй, вкатывальщики, блять. Язык у них, видите ли, плохой, блять.
Аноним 14/11/19 Чтв 04:42:55 1520604161
>>1520012
С словарём такое вряд ли пройдёт, т.к. просто не гарантированно же у тебя, что данные в анонимном объекте соответствуют в Value одному типу. В таком случае можно попробовать Dictionary<string, object>, например, но проблема тогда с value-типами.

Еще идея -- рыться в рефлексии, возможно, проверять поля и ручками создавать словарь и заполнять его.
Аноним 14/11/19 Чтв 07:32:24 1520629162
Блядь, когда пройдет эта тупая мода на внедрение зависимостей и прочее говно? Текст же просто читать невозможно, разбираться с тем как настроить чтоб работало тоже. Просто стравните текст настройки и запуска некоего абстрактного сервера:

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 выглядит и кому кажется он логичным. Да модно-молодежно, да снижается связность классов, но при этом на пустом месте превращаем код в нечитаемое и хуй пойми как отлаживаемое говно.
Аноним 14/11/19 Чтв 10:21:46 1520676163
>>1520599
Почему говно? Там CSS можно.
Аноним 14/11/19 Чтв 10:36:27 1520687164
>>1520599
Кросплотформенность сейчас есть только у JS с его Node.js и Electron. Вот ведь анекдот получается. Строго типизированные языки, которые изначально были заточены и предназначены для написания софта, с проглотом соснули у какого-то браузерного обрубка с динамической типизацией, который изначально предназначался для скрытия/открытий веб-форм.
Даже сам майкрософт прогнулся и написал Visual Code используя Electron. Если это не поражение, то что тогда?
Аноним 14/11/19 Чтв 10:42:12 1520688165
>>1520629
Как раз из-за читаемости, отлаживаемости и реюзабилити, всё выглядит так, как это выглядит в asp.net core. C# это энтерпрайз уровень, а не уровень лаба №1 или мувиадвайсер для всей семьи. Энтерпрайз подразумевает штат программистов, которые вообще могут между друг другом не пересекаться, и весь этот штат работает над кодом состоящим из нескольких сотен тысяч строк. Вот когда ты кодишь на таком уровне, тогда ты начинаешь понимать почему твои server.Start(); являеются хуитой и баловством.
Аноним 14/11/19 Чтв 10:56:19 1520695166
>>1520688
Именно потому что там штат программистов, которые могут не пересекаться и нужно чтобы код был понятен сразу.
Аноним 14/11/19 Чтв 11:00:36 1520698167
>>1520695
Вот он и не будет понять в таком >>1520629 виде, потому что в энтерпрайз уровне тебе этих настроек не хватит, тебе нужно больше гибкости и индивидуальный подход к тысячам клиентов.
Аноним 14/11/19 Чтв 11:17:26 1520720168
>>1520687
Если electron кроссплатформа, то почему нет github desktop для линукса?
Аноним 14/11/19 Чтв 11:24:48 1520735169
Аноним 14/11/19 Чтв 11:29:43 1520746170
>>1520735
Это неофициальная реализация бинарников.
В чем проблема на офф сайте сделать? Видимо там нативные костыли есть.
Аноним 14/11/19 Чтв 11:32:43 1520754171
>>1520687
Часто в electron юзают typescript, людям нужна статика.
Аноним 14/11/19 Чтв 11:37:04 1520760172
>>1520746
Нет, они просто изначально сделали хуету с поддержкой только у винды и мака, а переделывать под линукс им лень, тем более когда уже есть годные билды. Тот же VS Code изначально выходил на всех платформах и никаких проблем с этим не имеет.
>>1520754
Но, как оказалось, в первую очередь им нужна динамика, а уже потом обертки в виде TS для того чтобы большие проекты удобней делать было.
Аноним 14/11/19 Чтв 11:40:44 1520767173
А JavaFX это по сути уродливый электрон из 2007, посудите сами
вместо html делаем документ на fxml
CSS можно и там, и там юзать, только на FX немного некрасивее
А саму логику на главном ЯПе.
Вот только jvm с собой таскать тяжелее, чем ноду.
Аноним 14/11/19 Чтв 13:16:59 1520882174
p786skz2bz911.jpg (181Кб, 635x477)
635x477
>>1520629
DI наше все! Ninject - мммм, кайф. Сейчас, погоди, что это... ДА ЭТО ВСТРОЕННЫЕ DI в Core 3.0 (attach.jpg)
Аноним 14/11/19 Чтв 13:20:13 1520887175
>>1520629
Asp.Net молодежно? Лол, его предка ASP в 90-ые сделали и это было говно.
Аноним 14/11/19 Чтв 19:18:21 1521204176
Почему даже если я вручную прописал куда проект должен папку obj класть, эта скотина что в студии, что с dotnet cli пытается их в папку с проектом засунуть? Сборку же нормально кладет, почему тогда засерает мне папку с исходниками ебучей папкой obj?
Аноним 14/11/19 Чтв 20:05:40 1521238177
Аноним 15/11/19 Птн 00:49:29 1521396178
>>1520887
жалею тех джунов, кто попал на ASP.NET до 4 версии... Это ад. Вообще советую всем вкатывальщикам спрашивать 100 раз перед принятием оффера на какой проект их берут. Это может быть легаси времен мамонтов, на котором не только опыта не получишь, так еще и отупеешь реализацией интерфейсов, которые из коробки доступны в более свежих версиях. На .NET раньше 4 вообще нет смысла идти. Хотя каждому свое конечно. Кто то с легаси рубит бабло лопатой, т.к. только он знает как работает интерпрайз щит 10 летней давности, а кто то в говне тонет...
Аноним 15/11/19 Птн 01:01:18 1521399179
Аноним 15/11/19 Птн 01:02:13 1521400180
погромист.png (467Кб, 985x900)
985x900
>>1521396
Я как раз попал на VB.NET + ASP.NET Web Forms. Работаю уже месяц, большинство времени учил теорию области и настраивал VDE. Проект пизда, писался с начала нулевых, единого стиля не было. Коменты на 5% методов. Думаю посижу пол года-год и буду искать что то получше, параллельно изучая кор и пиля петпроекты. Ведь с опытом коммерческой и командной разработки, джиры, конфлюенса, работы с IIS и работы на платформе .NET (хоть и не шарп) у меня будет намного больше шансов чем уйти сейчас.
Что думаете? Опыт поддержки древнего легаси все равно же будет плюсом?
Аноним 15/11/19 Птн 01:07:33 1521404181
>>1521400
и да,
>Вообще советую всем вкатывальщикам спрашивать 100 раз перед принятием оффера на какой проект их берут
Это точно, меня на собесе спрашивали кишочки шарпа, патерны, сукель и тд, а буду ихемельки править и в говне мамонта ковыряться. До этого искал работу месяца 2 и уже условия поджимали, что и ослепило меня.
Аноним 15/11/19 Птн 07:03:45 1521439182
>>1521400
> пик
Блин, а я вот дотнет корщиком пошел работать за 25к, после всех налогов остается чуть больше 20к. Надо было как Вованчик устраиваться.
Аноним 15/11/19 Птн 09:01:32 1521458183
>>1521439
Хуле тут так мало, я на 40к после налогов на старте попал в миллионнике
Аноним 15/11/19 Птн 10:51:08 1521485184
>>1521400
>VB.NET
>ASP.NET Web Forms
Ты блять серьезно? Ты перед принятием оффера хоть понимал, что это? Если таски закрываются, советую ЗП поднимать выше средней по рынку. На таком говне уже никто не пишет и твои знания по этим технологиям должны выпиливаться GC головы после выпиливания с этого места работы К сожалению так мозг не работает, увы
По сабжу, охуеваю с тех людей, которых на собесе спрашивают за .NET 4.5+, а садят работать за .NET 2.0. А еще больше охуеваю с тех, кто на это соглашается. Как и писал ранее кто сидит на легаси должен руки выкручивать на подъемные, иначе пусть другого дурака ищут
Аноним 15/11/19 Птн 11:57:13 1521545185
>>1515204 (OP)
Чё по SQL можно прочесть? Либо как вы его учили? Я вроде 1000 раз слышал про всякие CREATE TABLE, JOIN, где их писать, применять на практике - хз.
Аноним 15/11/19 Птн 12:02:45 1521552186
Ух. Джавакун снова в треде. Более-менее успешно продвигается изучение C#, но вот WPF+MVVM убивает во мне надежду на светлое будущее. Меня мучает уйма вопросов:
Как реализовывать команды? Каждый раз хуярить новый класс? Как организовать взаимодействие между несколькими ViewModel? Как вообще правильно строить приложение с разным контентом появляющимся по нажатию разных кнопок (пока делаю через Frame, в который кладу Page)? И чего, реально каждый раз надо интерфейсы реализовывать? неуже ли нет никаких дополнительных фреймворков, которые избавят от рутины? MVVMLight и Prism ведь не про это? Или про это? А что почитать?
В связи с чем может ли мне кто-то дать ссылку на гитхаб с многостраничным приложением реализованным с помощью WPF+MVVM, с хорошим, правильным кодом, к которому я должен стремиться?
Аноним 15/11/19 Птн 12:11:30 1521562187
>>1521545
>где их писать, применять на практике - хз.
ADO.NET, Dapper, SqlManagementStudio
Помоему работа с БД - это самое материально, что только может быть. Есть куча порталов, где можно подрочить эти запросы, типо w3school.com. Читать не нужно, гланое понять принцип составления запросов.
>>1521552
>Джавакун
>изучение C#
>WPF
Удачи в изучении земля тебе пухом
> реализованным с помощью WPF+MVVM
Джависты не умеют в гугл?
Аноним 15/11/19 Птн 12:23:40 1521572188
>>1521552
Чего то щелкнул вопрос. А зачем ты перекатываешься с джавы на шарпы? Что стало причиной? Я просто сам начинал с джавы, но перекатился по причине, что .NET вакансий было и есть в 2 раза больше в моем городе + LINQ приятное дополнение.
Сейчас если бы мне дали право выбора, я бы не смотрел в сторону Evil Company. Сейчас думаю о том, чтобы после работы потыкать в RoR/Python или даже какой ни будь Rust. А у тебя шо?
Аноним 15/11/19 Птн 12:27:43 1521577189
>>1521545
Нахуй их учить, если есть LINQ to SQL? Они нужны только в легаси дерьме, когда нужно было всё ручками писать.
Аноним 15/11/19 Птн 12:45:49 1521598190
>>1521572
> Что стало причиной?
Spring Framework отвратительная хуета, нарушающая принципы ООП. Ебал его в рот. Но, в основном, хотят именно его. Потому лучше уж я на шарпы укачусь, да и вообще, судя по всему, шарп скоро станет более универсальным, чем джава
>>1521562
>Джависты не умеют в гугл?
Умеют, но я тупой так не нашёл же ничего. Отдельный код есть, а вот целиком демо-проектика какого нибудь нету
Аноним 15/11/19 Птн 13:43:09 1521639191
>>1521598
>скоро станет
Да не, просто у EvilCorp хорошая пиар команда. Раздули из .NET core что то невообразимое.
Ладно, так и быть
https://prismlibrary.github.io/docs/commanding.html
Вот тебе яркий пример MVVM
Пошли нахуй те, которые Prism считают overheavy framework - для примера покатит
Аноним 15/11/19 Птн 13:59:06 1521657192
>>1521639
спасибо большое, попробуем!
Аноним 15/11/19 Птн 14:00:00 1521658193
>>1521639
бля. Я тупой, да? А где там проект сам, чтоб посмотреть весь код сразу?
Аноним 15/11/19 Птн 14:21:51 1521672194
>>1521658
читай/смотри тутор. Или тебе еще архив должны с демкой зааттачить? Т_Т
Аноним 15/11/19 Птн 14:59:17 1521695195
>>1521672
Так я именно это и просил. Туториалы у меня есть, но это чёт не помогает. Хочу посмотреть на /работающее/ приложение
Аноним 15/11/19 Птн 17:33:31 1521843196
>>1521577
Для твоего сельского магазина может и не надо, а на практике в крупных проектах часто приходится переписывать генерируемые ормкой запросы руками.
Аноним 15/11/19 Птн 18:38:16 1521907197
>>1521843
Продолжай оправдывать свой говнокод, дурачок. Не такой задачи с которой не справиться LINQ to SQL, но долбоебу конечно легче свой велосипед придумать чем разобраться.
Аноним 15/11/19 Птн 18:51:15 1521922198
>>1521907
Джун плез
Иди сделай отчёт, включающий в себя выборку десятков тысяч строк из 10 таблиц с аггрегированием данных сначала на Linq, а потом перепиши на хранимую процедуру или вью, а потом сравни скорость выполнения.
Но в твоей галере конечно таких задач никогда не стояло, понимаю
Аноним 15/11/19 Птн 18:58:14 1521929199
>>1521922
>долбоеб не разобрался в элементарных понятиях вида lazy/eager/explicit loading
>не знает как избежать ненужных запросов к базе данных
>проецирует на всех своё слабоумие и говорит, что без костылей никуда

Уже даже не смешно, а жалко тебя.
Аноним 15/11/19 Птн 18:59:44 1521930200
>>1521922
есть же оптимизаторы запросов в EF. По сабжу - поддерживаю использование Sql, как мастхев, т.к. в практике знаю, что Dapper - ходовой фреймворк.
Аноним 15/11/19 Птн 19:26:31 1521961201
>>1521458
Потому что я ебучий студент без опыта и город всего 500к населениея. Если не выгонят, то лет через 7 буду 60к получать, тогда заживу!
Аноним 15/11/19 Птн 22:32:59 1522137202
image.png (38Кб, 977x271)
977x271
image.png (39Кб, 655x344)
655x344
image.png (39Кб, 1025x226)
1025x226
О, раз уж такая тема. Есть проблема, может быть шарящие аноны типа >>1521929 >>1521930 чего подскажут?

Есть три модели, чтобы не раскрывать бизнес-процессов назовем First, Second, Third
First связана с Second как один ко многим, аналогично Second с Third.
У Second есть интовое свойство Limit, у Third - интовое свойство Value.
Кроме того у них есть еще множество полей, которые не нужны для задачи.
Нужно найти айдишники всех FIrst, у которых больше трех Second, у которых сумма Value в связанных с ними Third больше чем Limit. Плюс вывести само количество таких Second для каждого First.

Пикрил-1 генерит SQL (пикрил-2), который выполняется 10+ секунд на 25к данных
В то время как наляпанный на скорую руку SQL (пикрил-3) выполняется за 200мс, выдавая аналогичный ответ.

Что я делают не так?
Мимошел
Аноним 15/11/19 Птн 22:34:15 1522140203
image.png (20Кб, 767x208)
767x208
>>1522137
Извиняюсь, первый пик не тот
Аноним 15/11/19 Птн 23:02:13 1522158204
Стоп, кто-то вообще неиронично утверждает, что кодогенератор всегда будет выдавать код, по перформансу аналогичный написанному вручную коду, даже на специфичных и редких кейсах? Пиздец скатили тред своим аниме в шапке, сюда долбоебы слетелись.
Аноним 15/11/19 Птн 23:31:59 1522169205
>>1522158
О, а вот и велосипедоизобретатели подъехали. Ассемблер уже выучил чтобы лучше компилятора код писать?
Аноним 15/11/19 Птн 23:41:56 1522174206
Аноним 16/11/19 Суб 01:08:53 1522260207
Аноним 16/11/19 Суб 07:22:14 1522383208
>>1522260
>>1522169
Ебать дебил. Тебя небось и прослойки на плюсах в питоновских либах удивляют? Не понимаешь нахуя пилят wasm когда есть js? Наличием ансейфа в шарпе не шокирован?
Аноним 16/11/19 Суб 07:45:23 1522385209
У меня хардкорный вопрос.
Можно ли скомплировать .ехе без visual studio, через консольную команду, но не CORE (Dotnet build), а какой-ниюудь .NET Framework 4.0,4.5
Аноним 16/11/19 Суб 08:13:38 1522402210
Аноним 16/11/19 Суб 08:49:25 1522408211
>>1522402
А она платная?

Я к чему.
Есть определенный код, который я пишу на comminity edition под коммерческие нужны. IDE в этой шараге никто не купит. В лицензионном смысле, я "какбы пишу программы" на бесплатном гавне вроде sharpdeveloper. Но на деле хочу писать на VS studio и компилировать MSbuild

Аноним 16/11/19 Суб 08:51:16 1522410212
>>1522402
ДА, походу, это оно. Спасибо тебе, анонче.
Аноним 16/11/19 Суб 08:59:34 1522411213
>>1522410
>>1522408
>>1522402
Ну и плюс, VS Code поддерживает только .NET CORE Компиляцию, а через MSBUILD Вполне можно попробовать
Аноним 16/11/19 Суб 12:02:07 1522456214
>>1522383
>Тебя небось и прослойки на плюсах в питоновских либах удивляют?
И на плюсах в этих прослойках пилят очередной велосипед или каким образом это как-то влияет на мною сказанное?
>Не понимаешь нахуя пилят wasm когда есть js?
Чтобы можно было писать веб-страницы на более низкоуровневых языках чем js, также как js-еры запилили node.js для того чтобы делать десктопные и серверные приложения.
>Наличием ансейфа в шарпе не шокирован?
Он там для доступа к неуправляемым ресурсам, а не для того чтобы долбоебы пытались свой linq to sql запилить.
Аноним 16/11/19 Суб 13:41:24 1522536215
code.png (11Кб, 443x138)
443x138
Дискасс
Аноним 16/11/19 Суб 13:43:13 1522540216
Аноним 16/11/19 Суб 13:49:18 1522552217
>>1522456
Все что можно запилить на плюсах, можно сделать на питоне, и даже проще. Но почему-то прослойки пишут на плюсах, хотя по твоей маня классификации это велосипед. Интересно почему же блядь?

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

>Свой linq to sql
>Свой linq
Хоспаде, ребенок, ты походу вообще не вдупляешь о чем речь. Тебе пишут о том что в узких местах без голого sql никуда, а ты дальше про велосипединг кудахчешь.
Дай угадаю, тебе с задачами сложнее чем "выбрать данные из 3 связных таблиц" сталкиваться не приходилось.
Аноним 16/11/19 Суб 13:51:02 1522555218
>>1522540
Из эстетических соображений или есть еще что-то?
Аноним 16/11/19 Суб 13:51:55 1522557219
>>1522555
Выглядит проще, соответственно, понятнее
Аноним 16/11/19 Суб 13:53:01 1522561220
>>1522552
>Тебе пишут о том что в узких местах без голого sql никуда, а ты дальше про велосипединг кудахчешь.
Долбоеб, это тоже самое, что говорить о том что Typescript выдает код медленнее чем JS. linq to sql это и есть голый sql, тупорылое ты животное, просто за тебя его пишет среда.
Аноним 16/11/19 Суб 13:57:22 1522571221
>>1522555
Меньше кода, быстрее читается. Это как использование delegate вместо лямбда-выражений для создания анонимных функций с параметрами — признак незнания языка.
Аноним 16/11/19 Суб 14:00:51 1522575222
>>1522557
>>1522571
Ok. Кстати посмотрел IL код, с оператором ?? его меньше и проще (не подумайте, я не байтоеб).
Аноним 16/11/19 Суб 14:00:52 1522576223
>>1522561
Ага, только пишет она его хуево, когда начинаются специфические заморочки
>Linq это и есть SQL, просто за тебя его пишет среда
Самому от таких лингвистических маневров не противно, дебил?
Ага, а жава это и есть ассемблер, просто за тебя его пишет си, которое пишет жвм.
До чего вкатывальщики тупые пошли пиздец
Аноним 16/11/19 Суб 14:04:15 1522581224
>>1522576
И где ты здесь >>1522137 специфические заморочки увидел? Я вижу только криворукого программиста.
Аноним 16/11/19 Суб 14:08:52 1522586225
>>1522581
Во-первых я их не тут вижу, а регулярно в продакшне, переписывая узкие места на SQL
Во-вторых раз начал выебываться, то давай, показывай как ты бы тут переписал Linq чтобы ускорить на порядок запрос.
Аноним 16/11/19 Суб 14:11:13 1522589226
>>1522575
А нет, напиздел. Я же в дебаге смотрел, в релизе на одну операцию копирования в стек меньше при ифе, чем при ??. Но это, конечно, не аргкмент.
Аноним 16/11/19 Суб 14:20:48 1522596227
>>1522586
Мне за это деньги платят. Пусть долбоебы продолжают свои велосипеды придумывать и говорить, что это СПЕЦИФИЧЕСКИЕ ЗАМОРОЧКИ.
Аноним 16/11/19 Суб 14:25:11 1522598228
Аноним 16/11/19 Суб 15:09:06 1522631229
Блядь, ткните носом меня. Где в .net core буфферы нормальные? Неужели я должен свой велосипед хреначить, чтобы не случилось переполнение массива? Списки это не то, на всякий случай предупреждаю.
Аноним 16/11/19 Суб 15:14:02 1522634230
Аноним 16/11/19 Суб 15:16:21 1522637231
>>1522634
Чтобы строка из потока куда-то собиралась, чтобы потом ее распарсить. Строка неизвестной длины, может и один символ быть, а может и пара гигов прилететь, и нужно что-то, что эту строку будет сохранять, для дальнейшего использования и обработки.
Аноним 16/11/19 Суб 15:41:43 1522658232
>>1522637
>из потока куда-то собиралась
в StringBuilder
>может и пара гигов прилететь
ну тогда наверно в файл.
Аноним 16/11/19 Суб 15:44:21 1522659233
>>1522637
>>1522658
Кстати, что за строка-то? Может лучше сразу её парсить не дожидаясь полной загрузки. Один хуй 2гб держать в памяти это прербор.
Аноним 16/11/19 Суб 16:41:20 1522692234
>>1522561
>это тоже самое, что говорить о том что Typescript выдает код медленнее чем JS
Справедливости ради, в данном случае скорее "говорить о том что React выдает код медленнее чем чистый JS"
И в общем-то это так
Аноним 16/11/19 Суб 18:44:47 1522781235
image.png (76Кб, 1827x516)
1827x516
Привет шарписты !
Снова Я пришел с охуенными задачками.
В общем в консоль вводим строку со всякими словами пробелами и т.д. с клавиатуры. И нужно вывести только те слова сообщения, которые начинаются с прописной буквы.
План у меня такой при помощи метода SpliT поделить строку на слова и потом проверить в каждом слове регистр первой буквы.
Кусочек кода я набросал как поделить на слова. А вот как потом взять каждое слово что то нихуя не могу понять. Если можно подскажите как вальнуть данный момент.
Аноним 16/11/19 Суб 18:54:27 1522794236
Аноним 16/11/19 Суб 19:13:50 1522807237
>>1522692
>И в общем-то это так

Долбоеб, Typescript и React этот и есть чистый JS, блять. Да, то что они делают ты можешь написать собственноручно и это будет работать быстрее, например, Vue в сравнении с React, но от этого это не перестанет быть чистым JS-ом.
Аноним 16/11/19 Суб 19:17:00 1522810238
>>1522807
Чувак, тебе действительно делать нехуй, кроме как приебываться к словам на анонимной борде в полумертвом треде? Очевидно же что под чистым жс подразумевается отсутствие фреймворков и либ кроме полифиллов мб.
Ебать ты токсичный короче
Аноним 16/11/19 Суб 19:41:55 1522818239
>>1522794
Норм, компилятор разворачивается в if(x == null) x=... (байтоеб во мне доволен) и запись не избыточна (а то x = x ?? ... какое-то масляное масло). Похоже пришло время переползать на 8.0.
Кстати 2017 студия может в C#8, а то есть любители?
Аноним 17/11/19 Вск 07:04:02 1523047240
>>1522536
Дискас, почему C# не признали лучшим языком в мире?
Аноним 17/11/19 Вск 07:05:05 1523048241
>>1522781
Отменяй задачку.
Сначала изучай regex выражения и думай, как можно избавиться от гавнокода
Аноним 17/11/19 Вск 10:58:00 1523079242
>>1523048
>изучай regex выражения
>избавиться от говнокода
/0
Аноним 17/11/19 Вск 11:54:27 1523094243
.png (9Кб, 446x284)
446x284
>>1522781
Вот тебе, няша, решение для ascii-таблицы, все будет Ok если в строке только английские буковки.
Аноним 17/11/19 Вск 12:20:29 1523106244
>>1523079
для конкретно этой задачи регэксп подходит чуть ли не идеально, какие проблемы?
Аноним 17/11/19 Вск 12:35:19 1523115245
>>1522781
using System.Text.RegularExpressions;

string pattern = @"\b[A-Z].*?\b";
var result = Regex.Matches(textWithCapitals, pattern);
foreach (var m in result)
Console.WriteLine(m);
Аноним 17/11/19 Вск 13:09:59 1523134246
>>1523094
кто с байтами ебется - тот с регекспом не выступает
Аноним 17/11/19 Вск 13:54:03 1523169247
Screenshot1.png (18Кб, 835x174)
835x174
Есть вариант как-нибудь такой запрос без ебли сохранить, хочу к нему потом разные селекты писать. Как я понимаю можно сохранить, вытащив все что нужно через селект он как IQueryable сохранится и потом к нему обращаться, но опять же прописывать все параметры в этом селекте не хочется.
Аноним 17/11/19 Вск 14:22:01 1523202248
>>1523047
по какому критерию?
Аноним 17/11/19 Вск 14:22:32 1523203249
Поясните за Data Migration. Для чего она вообще нужна?
Аноним 17/11/19 Вск 14:23:32 1523206250
>>1523202
По критериям красоты и возможностей самого ЯПа
Аноним 17/11/19 Вск 15:44:09 1523285251
Аноним 17/11/19 Вск 16:03:46 1523314252
>>1523285
Много чего не так. Что сразу бросилось: рекурсивный метод приема клиентов, пустые классы в проекте, вызов консольных методов из модели, очевидно ты не понимаешь, что значит DataAvaible, раз через него определяешь конец сообщения, зачем-то влепил concurrentDictionary туда, куда пишет/читает только один поток, диспоз, который крашнет приложение. И это я еще не смотрел саму логику.
Аноним 17/11/19 Вск 16:19:52 1523331253
>>1523314
> пустые классы в проекте
Ну это же типа первый коммит, я еще не придумал что там еще должно быть, просто набрасываю чтобы потом допилить.
> рекурсивный метод приема клиентов
Ну ладно, это справедливо
> очевидно ты не понимаешь, что значит DataAvaible
Ну, может быть не понимаю. На MSDN просто получают сообщение конструкцией do...while(myNetworkStream.DataAvailable). Я думал так и надо. Если не так, то как правильно?
> зачем-то влепил concurrentDictionary
Потому что в конечном виде должно быть несколько потоков.
> диспоз, который крашнет приложение
Опять же, это первый коммит, пока не решил что там буду освобождать
Аноним 17/11/19 Вск 16:39:14 1523351254
>>1523314
Объясните нубасу, почему приватные поля обозначаются как _
Зачем это вообще в C#, если и так все понятно? это не не С++, где везде m_privateField
Аноним 17/11/19 Вск 16:41:31 1523354255
>>1523351
Ну, я так делаю просто чтобы this не писать каждый раз.
Аноним 17/11/19 Вск 16:54:10 1523361256
>>1523354
wait a minute
this это depricated внутри класса
Аноним 17/11/19 Вск 17:00:31 1523367257
image.png (27Кб, 553x289)
553x289
Аноним 17/11/19 Вск 17:01:10 1523371258
>>1523285
Советую установить CodeMaid и еще какие-нибудь линтеры-хуинтеры
Аноним 17/11/19 Вск 18:12:22 1523428259
Аноним 17/11/19 Вск 18:20:54 1523433260
Насколько зашкварно при создании объектов указывать тип как var, вместо прямого указания?

Regex regex = new Regex(...);
var regex = new Regex (...);

Итогдалее?
Аноним 17/11/19 Вск 18:24:55 1523435261
>>1523331
>первый коммит
Ну так сделаешь во втором коммите. Нет причин пихать в первый коммит мусор
>как правильно
Отсылать сначала размер сообщения в байтах, а потом тело, при преме считать размер, а потом количество байт равное размеру сообщения. На датааваибл полагаться нельзя, потому что в реальной сети есть потери, есть высокие пинги и прочее. Может получиться так, что датааваибл уже 0, а сообщение пришло не до конца.
> в конечном виде
Ну вот кода дойдёшь, тогда и сделаешь. Я уверен, что у тебя нет чёткого плана реализации и поэтому пытаться кодить на будущее плохая идея, все разобъется о то, что в реальности будет не так как ты думал. Лучше пытайся сделать код простым для изменений.
>пока не решил
А вызвать диспоз можно уже сегодня, а учитывая то, что нужно диспозить все что диспозится, результат плачевный
Аноним 17/11/19 Вск 18:25:31 1523438262
>>1523433
Если тип очевиден из правой части, то указываешь var, если не очевиден, то указываешь явно. Но для новичков var лучше использовать в LINQ выражениях, а во всех остальных случаях объявлять явно.
Аноним 17/11/19 Вск 18:27:29 1523439263
>>1523438
Спасибо,
уже понял для себя, что не всегда прикольно писать

Dictionary<string, string> openWith = new Dictionary<string, string>()
Аноним 17/11/19 Вск 20:44:13 1523560264
Если у меня есть много полных свойств (~15) в классе, то как это форматировать?
1:
поле1
поле2

св-во1
св-во2
2:
поле1
св-во1

поле2
св-во2
Аноним 18/11/19 Пнд 00:48:38 1523770265
>>1515206
Что по WCF почитать и зачем он нужен? Два раза ходил на синьёра собеседоваться и два раза спрашивали.
Аноним 18/11/19 Пнд 01:11:45 1523782266
>>1523770
WCF это легаси хуета, он нахуй не нужен.
Аноним 18/11/19 Пнд 12:40:07 1523927267
>>1523203
Ап блять. Заебали со своими курсовыми/лабами. Идите на хуй отседова, студентота ебучая
Аноним 18/11/19 Пнд 12:47:01 1523933268
>>1523203
>>1523927
Они позволяют тебе обновлять структуру базы данных без необходимости её сбрасывания и пересоздания. Хули тебе не понятно то?
Аноним 18/11/19 Пнд 12:58:44 1523939269
Без названия.jpg (4Кб, 232x217)
232x217
>>1523933
я так и предпологал, хотел убедиться. Спасибо.
Еще вопрос, когда помещаются экземпляры приложения в docker container (или кибернейт, не важно) как предоставляют доступ к БД из разных источников? Т.е. работа с БД идет по принципу открыл-закрыл, ждешь очередь, когда другой экземпляр из другого контейнера подключится? Или у каждого контейнера своя БД, которая синхронизируется? Тупа шо? Нипанятно.
Аноним 18/11/19 Пнд 13:17:01 1523953270
>>1523939
Перед обращением открывается соединение с БД, далее уже идёт обращение к ней и никто никого не ждёт, если кто-то пытается изменить одну и ту же запись, то применяться изменения самого последнего запроса (это поведение можно изменить при помощи Timestamp). Если кто-то попытается удалить запись, которая уже удалена, то будет выброшено исключение типа DbUpdateConcurrencyException.
Аноним 18/11/19 Пнд 14:21:59 1523988271
b9f.jpg (49Кб, 579x557)
579x557
>>1523953
падажи, но ведь аттачить БД может только один экземпляр контейнера. К тому же держать заатаченную БД ресурсоемко и каждый запрос (на примере даппера) происходит в контексте структуры Using, чтобы после команды был Finalize.
Или я что то путаю?
Аноним 18/11/19 Пнд 15:18:58 1524018272
>>1523988
Ты спросил про то как с бд работают несколько клиентов. Если речь идёт про один клиент, то отрывать нужно как можно меньше соединений с базой данных.
Аноним 18/11/19 Пнд 15:50:16 1524043273
>>1524018
да, все так. Спасибо
Аноним 18/11/19 Пнд 16:16:50 1524070274
>>1523560
Лучше всего, разбить на 2-3 класса.
В самом редакторе использовать #region
Аноним 18/11/19 Пнд 16:25:49 1524080275
Без названия (1).jpg (6Кб, 277x182)
277x182
>>1524070
>разбить на 2-3 класса.
>использовать #region
Бро, да ты просто бог рефакторинга. Еще советов плез, всем классом твои советы в тетрадь переписали
Аноним 18/11/19 Пнд 16:36:43 1524100276
>>1524080
Использовать вызовы powershell Внутри C#.
Достаточно идей?
Аноним 18/11/19 Пнд 16:49:04 1524116277
>>1524100
пацаны сказали, что такую глину месить не будут. Вон Ванька с последней парты кричит - "Пиши сажа, скрыл"
Аноним 18/11/19 Пнд 17:25:39 1524142278
Сегодня одна HR пизда сказала, что Junior - это человек с опытом работы 0.5+ года. Я спрашиваю, а что до джуна идет - Trainee. Блять что за хуйня? Разве есть такая квалификация? Типо джуном без опыта не стать, пока не посидишь на какой то "trainee" должности aka "Water boy"?
Аноним 18/11/19 Пнд 17:50:24 1524159279
>>1524142
Молодой человек, вы нам не подходите.
Сказали на курсах, что станете джуниорами - идите работайте на курсах.

Я серьезно вот. Джуниор это специалист со стажем от год и выше, то есть уже знает технический минимум для работы
Аноним 18/11/19 Пнд 18:04:55 1524175280
>>1524159
>Джуниор это специалист со стажем от год и выше
Я уже 2 года только на .NET pet-project-ы клепаю. Причем не Hello world, а высрал свой ASP.NET MVC5 сайтец с DI Контейнерами, Moq, блек джеком и шлюхами. Типо чтобы джуном работать, нужно где то уже отработать. Какая то рекурсия получается. Как тогда джуны появляются? Вакансии только на джунов и выше.
Аноним 18/11/19 Пнд 18:26:01 1524183281
>>1524175
Ехай в мухосрань, устраивайся на 11к и работай 2-3 года, там конкуренции особой нет, берут не то что без опыта, даже знания синтаксиса не всегда спрашивают, главное что ты должен за время что тебе скажут сделать работу, заплатят после выполнения.
Ну или делай свое приложение под IOS, благо замарин тебе позволяет, потом его в аппсторе размещай, как будет 100к+ скачиваний, и положительные отзывы, можешь добавлять его в портфолио и идти на собес с ним.
Аноним 18/11/19 Пнд 18:37:07 1524192282
Блин, я тот бака, что вчера гитхаб кидал. Я тут вот что понял, оказывается в 64кб не любой запрос же влезит. Да, я как-бы это учел, сделав сегментированный буффер, но тут я задался другим вопросом: А как, собственно-то понимать, что это один запрос, а это другой? Ну, скажем, вдруг так случится, что из-за неполадок в сети получится что при считывании из потока я захвачу часть другого запроса, при этом он полностью не поместится в сегмент и будет что-то типа прикриплейд? Я понимаю, что наверное это какой-то тупой вопрос, но мне вот непонятно. Что будет если я просто строки отправляю, при этом без \0 или какого-то еще спецсимвола? Как мне понять что строка 1 закончилась и началась строка 2?
Аноним 18/11/19 Пнд 18:37:25 1524193283
.png (25Кб, 1595x723)
1595x723
Вот я бака, картинку забыл>>1524192
Аноним 18/11/19 Пнд 18:50:23 1524206284
>>1524183
толсто, давай тоньше
Аноним 18/11/19 Пнд 18:57:41 1524210285
>>1524206
Что толсто? Я сам из мухосрани, пришел в самую большую фирму, где нужны кодеры были. Там спросили: Ты кодить умеешь? Я сказал: Да умею(хотя до этого только калькулятор на обратной польской записи на сях писал по гайдам). Мне сказали: Завтра выходи, нужно сайт допилить, мобильное приложение сделать и станки запрограммировать. Я обосрался - меня пидорнули. И так 5 раз в разных фирмах. В 6й уже не обосрался.
Аноним 18/11/19 Пнд 19:14:02 1524218286
>>1524192
Тебе заняться нечем? Так ты книжку по сетям и их работе почитай, а не хуйню спрашивай и в пейнте рисуй.
Аноним 18/11/19 Пнд 19:17:02 1524220287
>>1524218
Ну, все книжки, что советуют, по сетям на сях написаны, а я когда вижу указатели в обморок падаю.
Аноним 18/11/19 Пнд 19:21:39 1524222288
>>1524220
Какие тебе Си, если ты основ не знаешь? Гугли "Сети и системы передачи информации для чайников".
Аноним 18/11/19 Пнд 19:34:49 1524228289
>>1524222
Загуглил. Там все что я и так знаю. Понимаешь ли, знать что tcp-пакет заканчивается пакетом флагом fin, а при получении сегмента отправляется пакет с фалгом ack не помогает мне понять, как я должен используя сокеты получить картинку с помощью сокетов.
Аноним 18/11/19 Пнд 19:47:13 1524236290
image.png (106Кб, 1766x512)
1766x512
Что не так почему код возвращает все слова которые ввел
Аноним 18/11/19 Пнд 20:02:20 1524245291
>>1524236
>1_1
>1_2
Иди нахуй отседова со своими вонючими курсовыми. string = string.Empty он блять инициализирует урод.
И не помогайте ему нахуй, а то будут сюда как на парад ходить.
Аноним 18/11/19 Пнд 20:07:00 1524247292
>>1524236
Потому что ты в словах ищешь индекс самого слова. У тебя indexoflastelement всегда равен нулю.
При этом чтобы на слова разбить недостаточно одного split(' '), потому что в конце слов у тебя будут знаки препинания.
Ты на Geekbrains что ли курс проходишь? Если да, то урок про регулярные выражения. Если их использовать, то задача в 2 строки выполняется.
Аноним 18/11/19 Пнд 20:25:40 1524258293
.png (10Кб, 544x234)
544x234
Аноним 18/11/19 Пнд 20:34:27 1524268294
.png (12Кб, 547x253)
547x253
>>1524236
Бля, проебался из-за того что неправильно задание прочитал. Короче, думаю ты догадаешься, как потом это в строку собрать.
Аноним 18/11/19 Пнд 21:41:07 1524301295
>>1524268
Никак. Знаки проебуться, строки проебуться, получится одна строка из слов, при этом с разным регистром.
Аноним 18/11/19 Пнд 22:14:40 1524324296
>>1524142
У меня 3.5 года опыта, ощущаю себя на джуниора как раз.

записан как мидл
Аноним 18/11/19 Пнд 22:24:51 1524329297
image.png (101Кб, 1878x526)
1878x526
Я в общем вот так ебанул
Аноним 18/11/19 Пнд 22:26:45 1524330298
>>1524245
Да чего ты ругаешься?
Я же учусь. Ты же тоже был масленком неопытным.
Аноним 18/11/19 Пнд 22:27:30 1524331299
>>1524247
Нет до регулярок не дошел учусь пока на клеточном уровне.
Аноним 18/11/19 Пнд 22:29:32 1524332300
>>1524331
>>1524330
>>1524329

Ну раз ты учишься
Предлагаю начать обучение с ответа на посты одним сообщением вместо нескольких.
Аноним 18/11/19 Пнд 22:30:15 1524333301
>>1524330
да пошел ты нахуй со своим учусь. Stackoverflow, google - вот твои учителя, не двач. Что ни зайдешь какую ни будь шелуху обсуждают, а на серьезные темы забивают болт
Аноним 18/11/19 Пнд 22:31:26 1524334302
>>1524333
Потому что здесь все вкатывальщики, а остальные долбоебы вроде тебя, которые только воняют.
Аноним 18/11/19 Пнд 22:33:10 1524336303
Ебучий front-end IS EVERY WHERE! Куда ни плюнь - HTML+CSS+JS (jQuary, Angular/React/Mocha/Govno/Vua) куда блять катиться этот мир? Полистал requiared skills python/java/RoR - везде эта залупа. Подскажите языки, где не будет этого вонючего стека петушинного front-gay разработчика?
Аноним 18/11/19 Пнд 22:35:25 1524337304
>>1524336
Та же хуйня, братиш.
Держу оборону на десктопе.
ЗП в 3 раза чему у усепшных веб-разработчиков.
Но мне похуй, я ноулайфер, запросы у меня мизерные.
Аноним 18/11/19 Пнд 22:38:30 1524341305
>>1524336
Рыночек порешал. Если не знаешь JS и что-то из React/Vue/Angular, то на нормальное место можешь даже не рассчитывать.
Аноним 18/11/19 Пнд 22:44:09 1524343306
Аноним 18/11/19 Пнд 22:51:03 1524347307
>>1524332
Хорошо следующий раз так и сделаю.
Кстати мой вариант решения норм??
Аноним 18/11/19 Пнд 22:56:10 1524350308
>>1524337
>>1524341
>>1524343
Хоть бы EvilCorp подмял под себя этот ссаный front в виде blazor и web assembly. Боже блять, скажи лет 5 назад, что .NET или Java девелоперу нужно будет знать CSS (ААААААААААААА ЧТО БЛЯТЬ?) рассмеялись бы в лицо. Как же я ненавижу ебаный обезьянний язык JS с динамической типизацией и миллионов облепленный им библиотек.
Ехал в лифте БЦ после собеса, стояли 2 слащавых щегла лет по 20-23 в рубашках-дровосеках и очках с толстой оправой - обсуждали "О ЭТИ НОВЫЕ ФИЧИ 7 АНГУЛЯРА". В это время я представлял, как давлю черепушку этой петушне одной левой.
Аноним 18/11/19 Пнд 22:57:48 1524352309
>>1524347
кстати иди нахуй червь-пидор. Тут тебе не код-ревью агенство, иди у ментора спрашивай.
>>1524343
>>1524337
загнивающая хуйня, эти ваши десктопы
Аноним 18/11/19 Пнд 23:14:09 1524367310
.png (18Кб, 1041x267)
1041x267
>>1524301
Немного говнокода и вполне себе как!
Разве что регистр проебан, но в задании вообще ничего про регист, просто удалить слово оканчивающиеся символом.
Аноним 19/11/19 Втр 00:30:55 1524411311
С шарпом вообще можно фрилансить? Проекты на работе занимают пол года минимум на команду из 3х гребцов, QA и погонщика. Заебал офис. Но не подозреваю какие могут быть мелкотаски.
Аноним 19/11/19 Втр 09:23:46 1524494312
программа запрашивает ввод строки и переводит символы верхнего регистра в нижний, а символы нижнего регистра в верхний.
не ебу ваще как правильно сделать. пытался гуглить, была всякая хуйня. помогите пжалуйста :(
Аноним 19/11/19 Втр 09:30:38 1524497313
Делаю задачи Эйлера, хочу бенчмарки прикрутить, вручную добавленный StopWatch() хуйню какую-то выдает уровня 21500 тиков на случай с 20 повторами, и 4 тика на случай с 2мя лямами повторов. Какие ещё варианты есть?
Аноним 19/11/19 Втр 10:18:29 1524511314
>>1524411
реально. На хабре есть даже тутор со скелетом, где чувак asp.net mvc (3 или 4 - старенький) пилил под заказчиков. В 99% фриланс на шарпах это веб (ну или remote full time).
>>1524494
уровень /pr/ C# - перевод и lower to upper case... приехали блять
>>1524497
нихуя не понял, но очень интересно. Будет время тоже эти задачки подрочу
Аноним 19/11/19 Втр 10:37:53 1524518315
>>1524497
Какое свойство стопватча ты смотришь?
Аноним 19/11/19 Втр 10:46:08 1524523316
Screenshot2.png (11Кб, 728x218)
728x218
>>1524518
Использую следующим образом:

var watch = System.Diagnostics.Stopwatch.StartNew();
var calculation = logic.Calculate();
watch.Stop();
var elapsedMs = watch.ElapsedMilliseconds;
var elapsedTicks = watch.ElapsedTicks;


Получаю пикрелейтед
Аноним 19/11/19 Втр 10:46:48 1524524317
Аноним 19/11/19 Втр 10:49:28 1524525318
>>1524523
Как я думаю, либо я как-то стопватч неправильно использую, либо шарп просто для второго вызова функции забирает данные из оперативы которые ещё не удалились. Если второй вариант, то как их почистить чтобы результаты адекватные были?
Аноним 19/11/19 Втр 11:57:48 1524552319
>>1524525
С секундомером все норм. Только надо сделать пару прогонов методов, перед замером времени, чтобы все подгрузилось и джит отработал, иначе замер учтет и это.
>>1524525
> либо шарп просто для второго вызова функции забирает данные из оперативы которые ещё не удалились.
Возможно. Только не шарп, а ты переиспользуешь какие-то данные.
Аноним 19/11/19 Втр 13:04:46 1524592320
Мне нужно из метода передать коллекцию объектов с двумя полями int, decimal дальше нигде в проекте такой набор данных не будет использоваться, только в этом одном месте. Я вижу два решения:
1) Передать через Dictionary<int, decimal>. Из плюсов: не создаются новые малоиспользуемые классы. Из минусов: неявное использование оригинального Dictionary.
2) Создать новый класс используемый только в этом месте. Из минусов: если всегда так делать в проекте будет много вспомогательных классов нужных только в единственном месте. Из плюсов: зато использование конкретного этого класса полностью соответствует цели его создания.

Какой подход лучше?
Аноним 19/11/19 Втр 13:10:47 1524595321
>>1524592
Если это в пределах класса и светить наружу не будет, то через кортежи.
Аноним 19/11/19 Втр 13:12:48 1524597322
>>1524595
Ебанный в рот, забыл что они вообще в шарпях существуют. Спасибо
Аноним 19/11/19 Втр 13:21:57 1524602323
>>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.

Щас затестил, всё рано не помогает. Поэтому лучше всего будет прогонять один и тот же метод с одним и тем же значением несколько раз, а потом брать среднее значение. При этом привязав определенный процессор к процессу.
Аноним 19/11/19 Втр 13:23:14 1524603324
>>1524592
Если создавать, то создавать не класс, а структуру, как раз для таких целей она подходит больше всего.
Ну или кортежи.
Аноним 19/11/19 Втр 16:39:27 1524699325
>>1524236
String.Empty

Садись, пять тебе за курсы!
Аноним 19/11/19 Втр 16:49:06 1524707326
image.png (22Кб, 615x267)
615x267
>>1524236
Шли нах все курсы, решай своими средствами
Аноним 19/11/19 Втр 17:01:52 1524716327
image.png (7Кб, 1158x43)
1158x43
>>1524707
Гавно ваш C#

Отвечаю, мы так на работе с пацанами делает, лид спасибо говорит
Аноним 19/11/19 Втр 17:28:12 1524734328
>>1524707
проигрунькал с $"{excludeChar.toString()}"
Аноним 19/11/19 Втр 18:47:10 1524791329
>>1524716
У тебя знаки препинания не учитываются и символы новой строки.
Аноним 19/11/19 Втр 18:49:25 1524799330
2.jpg (24Кб, 577x113)
577x113
Аноним 19/11/19 Втр 21:30:19 1524901331
>>1520603
Что посоветуете почитать для вката в asp.net core (а конкретнее webapi), но так чтобы прям на пальцах объяснялось, а не "ну ебать пишем вот так контроллеры хуёллеры туда сюда хуё моё модель падажжи ёбана"?

Аноним 19/11/19 Втр 22:04:59 1524935332
Короче, я вроде как придумал, как получить пакет даже который больше 64кб, применив смекалочку и сохраняя считанные куски в строку, а потом конвертируя ее обратно в массив байт. Понимаю, что, наверное, не лучший способ, но курсач защищать через 3 недели, а предзащита через 2 и на ней практика должна быть готова уже, потому, раз вы не посоветовали ничего, кроме чтения книжек, а примеры все с TCP-чатами, будет так.
Теперь нужно как-то парсить. Как делать это правильно?
Вот примерная структура пакета:
[startByte] - есть всегда, кроме случаев когда сервер сам отправляет запрос сихронизации с клиентом
[Layer1 - Уровень который есть всегда(кроме случаев когда его нет), тут лежит инфа об отправителе и контрольная сумма нижележащих уровней
[Layer2 - Уровень в котором лежит идентификатор пакета(1байт) и длина вложенных данных(4байта)( длина может остутствовать в некоторых пакетах)
[SubLayer2] - Тут лежит полезная нагрузка пакета, например сообщение или байты картинки/файлика
[Layer3] - наличие этого уровня указывает на то что данные в предыдущих уровнях зашифрованы, значение байта соответствует алгоритму шифрования
]]
[endByte]-аналогично startByte только байтик другой
Суть в чем, SubLayer2 и Layer3 могут отсутствовать в некоторых пакетах, например, если я передаю картинку, я ее запаковываю просто в пакет вида:
[[delimByte]
[startByte2]
[imgPacket[imgBytes]]]
[endByte]
Где imgPacket - id типа пакета, а imgBytes - сама картинка, а отсутствие уровня3 должно сказать нам, что данные не зашифрованы.

Так вот, у меня, в связи с такой вот структурой, которую нарисовал мне препод, есть некоторые проблемы. Главная из них это то, что непонятно как сделать общий алгоритм, для всех типов пакетов. А если делать для каждого типа пакета свой парсер, то как это сделать так, чтобы потом это было удобно использовать для формирования ответа от сервера?
Аноним 19/11/19 Втр 22:38:21 1524959333
Аноним 19/11/19 Втр 22:41:48 1524964334
.png (11Кб, 569x239)
569x239
.png (19Кб, 434x429)
434x429
Смотрите чего придумал. Типа можно цепочку каких-то действий по обработке списков задать. Теперь осталось подумать где оно может сломаться ну и в какой ситуации его применять. Еще не придумал как List<T>.
Аноним 19/11/19 Втр 23:00:27 1524974335
>>1524964
Хуйня апи, переделывай на флюент
Аноним 19/11/19 Втр 23:12:24 1524984336
>>1524974
> флюент
Что это такое?
Я просто пока жду ответов на >>1524935пытаюсь придумать, как себе жизнь упростить. Пока подумал что сделаю парсеры под каждый уровень, каждый из которых будет таким вот фильтром(в теории наследники могут иметь массив next-фильтров и в зависимости от того что они там распарсили - вызывать Execute конкретного фильтра). Только вот саму структуру класса пакета все еще придумать не могу, типа должен ли он вообще что-то знать, проверять валидность и т.д. или он просто должен быть моделью состоящую из одних полей и метода сериализации. Короче, хз.
Аноним 19/11/19 Втр 23:13:47 1524986337
>>1524984
>как себе жизнь упростить
Открой для себя мир linq
Аноним 19/11/19 Втр 23:17:05 1524988338
Как найти попеншурш проекты на шарпе, доступные для понимания джуном, и которыми при этом кто-то реально пользуется?
Жопа чешется что-то пописать полезное.
Аноним 19/11/19 Втр 23:21:03 1524991339
>>1524988
Заходишь на гитхаб, смотришь проекты с большим количеством звезд, которые написаны на шарпе.
Можешь написать библиотеку для работы с SOCK4/SOCK5 проксями, почему-то долбоебы из майкрософта не вшили этот функционал в стандартные, а на гитхабе только две нормальных библиотеки.
Аноним 19/11/19 Втр 23:24:01 1524993340
>>1524986
Ну, мне кажется что linq для мое задачки не очень подходит. Даже не знаю как его применить в моем случае. А тут все понятно лично мне, даже если linq и может то же что и мой велосипед.
Аноним 19/11/19 Втр 23:38:48 1524998341
А как правильнее строки составлять? Через string interpolation $"abc: {qwe()} xyz" или через конкатенацию "abc: " + qwe() + " " + "xyz"
Аноним 19/11/19 Втр 23:47:14 1525000342
Аноним 20/11/19 Срд 00:03:42 1525008343
>>1524998
Через string.Format("abc: {0} xyz", qwe());
Аноним 20/11/19 Срд 00:06:56 1525012344
>>1524707
>>1524699
Да не ходил Я на курсы. Сам ебошу и кореш иногда накидывает инфы и заданий.
Аноним 20/11/19 Срд 10:40:53 1525142345
>>1524998
Ебашь через интерполяцию. Единственное, что вызоа метода при построении строки не очень. Лучше сохрани результат и используй его. Чисто для читаемости избежания нежданчиков, хотя уже вкусовщина.
var body = qwe;
var str = $"abc: {body} xyz";
>>1525008
Никто не вернется в 2007.
Аноним 20/11/19 Срд 10:57:21 1525151346
>>1524935
В каком посте задача описана? То что ты написал выглядит как фантазии угашенного веществами разума.
Аноним 20/11/19 Срд 11:40:09 1525174347
>>1524964
Каких действий? 80% всех действий будет .Find и .Where. Для остального можно экстеншен методы нахуярить, если очень хочется.
Аноним 20/11/19 Срд 11:42:25 1525178348
Аноним 20/11/19 Срд 13:04:24 1525233349
Есть ряд сущностей объениненных в слои бизнес логики. У меня стоит задача - создать интерфейс взаимодействия (другими словами КРУД для каждой сущности + доп. методы типо аутентификации, авторизации etc). Созрел вопрос - много полей в этих сущностях однотипны, поэтому думаю создать общий интерфейс с базовым функционалом - Add,Update,Create,Delete, который будет наследовать остальные интерфейсы. Базовый интерфейс нужно обязательно сделать обобщенным, т.к. добавление происходит именно сущностей, а они могут быть разные. Как будет лучше:
1. Разбить на кучу интерфейсов по принципу SOL(I)D с наследованием общего интерфейса
2. Создать классы-прослойки для каждой сгруппированной сущности (уменьшить количество интерфейсов, но усложнить функционал промежуточным классом). Что я имею ввиду под сгруппированной сущностью - К примеру есть пласт сущностей - Staff. Они в свою очередь могут быть - Employee, Position, Branch. К каждой из них нужно создать CRUD+specific functionality.
Заранее спасибо за ответ.
Аноним 20/11/19 Срд 14:17:55 1525310350
>>1525233
Ты решил дженерик репозиторий заново изобрести? Не надо, в EF уже все есть. Для остального есть экстеншены.
Аноним 20/11/19 Срд 14:31:46 1525327351
>>1525310
Я юзаю UnitOfWork паттерн. Потом все это хозяйство соберу в один интерфейс UOW и буду передавать для Business layer. Вопрос с дроблением интерфейсов остается открытым.
Аноним 20/11/19 Срд 15:00:56 1525348352
>>1525327
Чем тебя DbSet не устроил, который уже содержит методы которые ты придумал для базового интерфейса? Все кроме круда делаешь в слое сервисов, у каждого сервиса свой интерфейс.
В чем смысл наследования интерфейсов вообще?
Аноним 20/11/19 Срд 15:29:49 1525376353
Где можно прочитать или обучиться или видос просмотреть про MVVM + WPF?
Чтобы во всех подробностях обьяснили как это и к чему. Всё что я смог найти в инете - это цирк-парад самолюбования и неистового фапа на MVVM без обьяснения ключевых моментов.
Аноним 20/11/19 Срд 15:43:36 1525386354
>>1525348
>DbSet не устроил
1. Возвращает IQuarable, а не IEnumerable. Переопределять базовый функционал - не вижу смысла, лучше все вынести отдельно
2. Все равно всех функций не будет хватать. У меня например есть галочка bool - CheckOrder. Можно это вынести поверх DbSet, но см. пункт 1.
>В чем смысл наследования интерфейсов вообще?
Не плодить те же методы в интерфейсах. Можно обязать реализовывать доп. функции, как тот же Dispose.
Но энивей, спасибо за ответ
Аноним 20/11/19 Срд 15:48:26 1525389355
>>1525233

Создаешь абстрактный класс BaseEntity, в нём реализуешь всё то, что будет в каждой сущности. Наследуешь его классами вида Staff, а Staff уже наследуется всеми остальными - Employee, Position, Branch. Если есть что-то общее между непересекающимися иерархиями, то соединяешь это интерфейсами.
Аноним 20/11/19 Срд 15:54:35 1525394356
>>1525389
>Наследуешь его классами вида Staff
ты хотел сказать интерфейсами? У каждой ветки, типо Staff есть "особенный" функционал, который должен реализовывать Context. Меня всегда донимают архитектурные вопросы, т.к. тонкая грань между как должно быть и как лучше. Поэтому лучше заранее заложить такую логику, чтобы система была расширяемая, а не падала мертвым грузом, как очередной клубок не понятной хуйни в приложении.
Аноним 20/11/19 Срд 16:02:00 1525398357
>>1525394
У тебя и получится клубок непонятной хуйни, потому что ты суешь везде интерфейсы. Делаешь Staff абстрактным и "особенному" функционалу добавляешь в нём модификатор abstract, получаешь тоже самое, что было бы если бы ты использовал интерфейс, при этом какие-то общие функции ты можешь объявлять явно и использовать их у потомков без необходимости писать каждый раз одно и тоже.
Аноним 20/11/19 Срд 16:17:29 1525401358
>>1525398
делать абстрактный класс или интерфейс с базовой реализацией не столь важно, вопрос в том, что совать в Staff уникальные функции и для Employee и для Position не правильно (имо). Например:
void UnpayedDeals(Employee employee); - уникальный метод, он не должен быть в наследовании Position от абстрактного класса Staff. поэтому и возникла мысль сделать на каждую сущность свой интерфейс.
Аноним 20/11/19 Срд 16:33:22 1525410359
>>1525401
Если не должен, значит ты его туда не добавляешь, а делаешь непосредственно в наследнике. В общем, тебе надо про ООП почитать и как строить иерархии классов, у тебя какая-то каша в голове.
Аноним 20/11/19 Срд 16:48:26 1525427360
>>1525410
>непосредственно в наследнике
Разве не должно быть 100% покрытие методов интерфейсом? Ведь при постановке в DI контейнер другого интерфейса часть методов банально упадет/потеряется. Насчет ООП - согласен, нужно будет почитать что ни будь. Реализации паттернов в ООП - читал, само ООП - нет (странная хуйня, правда?)
Аноним 20/11/19 Срд 16:57:32 1525436361
Аноним 20/11/19 Срд 19:02:17 1525509362
Короче, я таки сделал парсер, т.к. заебался, наговнокодил(куча ифов, сам класс парсера на 1000+ строк кода).
Но теперь я не знаю как это все вместе собрать. Т.е. вот у меня парсер пакетов, принимает массив байт, и из него делает объект с инфой о сообщении(тип, отправитель, есть ли вложения и т.д.), есть асинхронный сервер, который представляет из себя слушателя, который при попытке соединения создает сессию которая там крутится(ждет входящего сообщения, при получении отправляет обработчику, который потом, в случае необходимости отдает ответ), пока не отключится клиент, есть главный класс приложения, который умеет читать из json'а параметры приложения(сколько клиентов можно обслуживать на одном сервере, нужно ли шифровать и т.д.). И вот, блядь, когда я пытаюсь это все вместе объединить все просто по пизде идет, я не хочу чтобы классы были сильно зависимы друг от друга(ну ведь серьезно, тупо же будет если класс который парсит пакет будет что-то о сессии знать), но с другой стороны я не понимаю как сделать так, чтобы оно работало вместе.
Аноним 20/11/19 Срд 19:49:36 1525534363
А как на шарпе прогать на линуксе?
Где IDE взять, где компилятор? А то меня в унике троллят жабопидоры...
Аноним 20/11/19 Срд 19:52:35 1525535364
Аноним 20/11/19 Срд 19:57:05 1525538365
>>1525535
Редактор заменит иде по всяким плюшкам в виде быстрой навигацией по многочисленным классам, умному автодополнению, анализу? Так-то VS code могу.
Аноним 20/11/19 Срд 19:59:18 1525540366
>>1525538
Ты программист или где? Все нормальные пацаны в vim кодят, нахуй тебе все это перегруженное говно?
Аноним 20/11/19 Срд 20:00:59 1525541367
>>1525540
Ну это уже какиры так могут, которые ржут над предупреждениями в иде и хакают быстрый обратный квадратный корень.
Аноним 20/11/19 Срд 20:17:23 1525551368
Я вот что думаю, короче, посмотрел https://youtu.be/HSFLhoAMmoM и теперь хочу свою залупу>>1525509>>1524935 в виде сервисов замутить. Типа в голове выглядит прикольно: Запилил эти самb сервисы, сделал воркеров, клиент отправил сообщение, оно добавилось в очередь на обработку, потом один из воркеров его достал, распарсил, послал ответ, записал нужную инфу в БД, пошел за следующей. Можно даже несколько воркеров в зависимости от того кто отправил запрос: типа из браузера HTTP - браузерный воркер, который берет из своей очереди, из коносльки или WPF-клиента - обычный воркер, они все свои дела отдают воркерам что потом в БД пишут, переодически делают запросы к воркерам что из БД читают и дают нужный ответ. Только блин, я не уверен что все достаточно хорошо понимаю, чтобы за 1,5 недели управиться(особенно я не понимаю как оно должно работать в случае если подразумевается что клиент не отключается сразу получив ответ). Эх. Что думаете-то? Нормально для TCP-чатика использовать такой вот подход или лучше уже как есть доделать и не ебать себе мозги?
Аноним 20/11/19 Срд 20:41:35 1525561369
>>1525534
Качай vs code, накатывай плагин для шарпа и кодь.
Аноним 20/11/19 Срд 20:56:20 1525575370
Я правильно понимаю, что Web API из asp.net core выпилили? Теперь только mvc использовать?
Аноним 20/11/19 Срд 21:31:50 1525599371
Да, почему все советуют делать сервер асинхронным? Просто мне как-то с тредами понятнее работать, типа понятно: Вот он тред, я его создал, засунул в него какую-то задачу, она там выполняется, потом я тред завершил и не особо о чем-то думаю, если нужно из разных тредов к какому-то ресурсу получить доступ, то ебанул критическую секцию, семафор или еще что-то, все опять же логично и понятно. А с этими асинхронными методами - хуй разберешься, вроде в маленьких задачках и понятно, а когда пытаешься все сделать асинрхонным уже непонятно становится. Вот с тем же сервером, я сделал асинхронный по гайдам и сам на тредах, так вот, вроде как все по гайдам делал, но почему-то когда завершается сессия и сервер типа ее удаляет, память не освобождается, если не вызвать GC на сборку, но это же пиздец получается, так вот, на тредах закончилась сессия CG сам все чистит и памяти сервер не жрет особо после отключения. Может быть я что-то не так с этими async делаю, но ведь по гайдам же, еще и подсмотрел на гитхабе как умные люди делают, а все равно - ебанул 10к сессий, потом вырубил их и сервер сожрал 2 гига и отдавать их не хочет даже через час простоя, только рестар помогает.
Аноним 20/11/19 Срд 21:48:32 1525619372
>>1525142
> Никто не вернется в 2007.
Мой проект с второго фрейворка на четвертый только полгода назад переехал, лол.
Аноним 20/11/19 Срд 22:23:49 1525653373
image.png (68Кб, 1140x538)
1140x538
image.png (682Кб, 940x564)
940x564
Выручайте, суть при клике должны выполнятся инструкции которые расписанные в дллке, собственно выдает пикрил, но соль в том что у меня есть другой веб проект который работает с этой дллкой нормально, так что в дллке проблемы быть не может, что я упускаю? где может быть ошибка?
Аноним 20/11/19 Срд 23:25:23 1525692374
>>1525653
У тебя UserManager равен null
Аноним 20/11/19 Срд 23:26:56 1525696375
Аноним 20/11/19 Срд 23:29:31 1525702376
image.png (45Кб, 757x415)
757x415
>>1525692
вот если что точка остановки перед строкой, усернейм и пароль на месте
Аноним 20/11/19 Срд 23:43:08 1525714377
>>1525702
Ссылка на объект не указывает на экземпляр объекта
Аноним 21/11/19 Чтв 00:56:40 1525739378
Аноним 21/11/19 Чтв 00:58:47 1525740379
>>1525714
все понял, только сейчас дошло, извините за мою тупость
Аноним 21/11/19 Чтв 04:10:19 1525769380
Так, ананасы, правильно ли я понял, что для создания событийной модели Издатель-Подписчик мы могли бы обойтись одними делегатами, а сами события представляют собой:
Автоматически реализуемое свойство, содержащие методы Combine и Remove класса Delegate, а так же экземплярное поле типа того делегаты которым является событие, содержащие в т.ч, как и любой делегат поле-массив _invokation_list.
А сами ивент нужны для того что-бы:
1. Расширять методы add и remove
Допустим
add
{
Console.WriteLine("You added new delegate.");
//////////
}
2. Поддерживать инкапсуляцию т.к создать ивент можно только внутри класса и инвокнуть ивент может только класс.
Аноним 21/11/19 Чтв 18:47:42 1526154381
Аноним 21/11/19 Чтв 20:17:47 1526211382
>>1526154
Посмотрел сессию - ты хуйню творишь.
Во-первых, FooAsync().Result - это дебелизм, зачем дергать асинхронный метод и сразу блокировать поток его ожиданием? Зачем слипать поток, у тебя ресурсы лишние?
Во-вторых, ты опять надеешься что данные будут приходить сразу одним куском, это не так.
В-третьих прочитай про именование методов и переменных, это же ужас.
Аноним 21/11/19 Чтв 20:26:46 1526214383
Screenshot1.png (16Кб, 490x498)
490x498
>>1526211
Пытаюсь отрисовать карту не прибегая к пикчербоксам
https://pastebin.com/aLJy519Y
проблема в
OnPaint(); это функция общей обрисовки всего, может кто знает что нужно в скобочки нужно ставить для того чтобы всё заработало?
Аноним 21/11/19 Чтв 20:39:17 1526226384
>>1526211
> Во-первых, FooAsync().Result - это дебелизм, зачем дергать асинхронный метод и сразу блокировать поток его ожиданием? Зачем слипать поток, у тебя ресурсы лишние?
Ну, я просто не знаю, а что делать в это время сессии? Типа цикл же выглядит как:
пока в передаются данные -> добавляем их в буффер;
когда данные закончились - отправляем их на обработку
По сути, размер данных я узнаю просто на случай если первый кусок или последний будет меньше размера buffer, чтобы вставить без ноликов в массив обработки.

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

> В-третьих прочитай про именование методов и переменных, это же ужас.
А что с ними не так? Вроде же названо все понятно, без каких-то непонятных сокращений. В большинстве слеаев камелкейсом, или я что-то не так понимаю?
Аноним 21/11/19 Чтв 21:01:28 1526232385
>>1526226
>Ну, я просто не знаю, а что делать в это время сессии?
Эвейть таску, которую возвращает ReciveAsync. Когда придут данные метод продолжит выполнение, пока данных нет поток зацмется чем нибудь полезным.
>размер данных я узнаю просто на случай если
Тебе возвращают количество принятых байт, чтоб ты не проебал данные, потому что ReciveAsync может вернуть кусок сообщения, пока остальная часть где-то ползет.
>и потом в нее добавлять что пришло
Смотри, чтоб сборщик мусора не повесился от твоих добавлений в строку.
>>1526226
>А что с ними не так?
Метод - действие, действие глагол. SessionCommunicationTask в чем тут действие? При чем тут таск? Start/StopSession() Session тут избыточно, эти методы вызываются на классе TcpSession. Вон ты на таске старт вызываешь, там же не написано StartTask.
Аноним 21/11/19 Чтв 22:06:39 1526268386
Аноним 21/11/19 Чтв 23:57:43 1526323387
image.png (80Кб, 1418x699)
1418x699
Добрый вечер
Есть таска пытаюсь решить но выходит херня по факту не получается перебрать символы каждого слова для поверки.
Кусок моего кода прилагается. Основной вопрос что не так когда перебираю каждый символ слова для проверки.
Аноним 22/11/19 Птн 01:12:29 1526360388
>>1526323
Выбираешь только слова регекспом (\w), собираешь из них коллекцию.
Проходишься по каждому слову в коллекции.
Перебираешь каждое слово до последнего символа, либо до символа который является не прописным. Если дошел до последнего символа, значит добавляешь слово в результирующую коллекцию, если дошел до строчного символа, значит переходишь к следующему слову.
Аноним 22/11/19 Птн 05:37:33 1526397389
Аноним 22/11/19 Птн 05:48:10 1526399390
Аноним 22/11/19 Птн 06:14:32 1526404391
>>1526323
Ебани регулярку \b[A-Z] и считай сколько раз совпадет. В душе не ебу как это на шарпе делается. На жабе вот. https://ideone.com/kF88xh
Аноним 22/11/19 Птн 06:16:08 1526406392
>>1526404
О бля, чукча не читатель. Ща перепилю.
Аноним 22/11/19 Птн 06:17:52 1526407393
Аноним 22/11/19 Птн 06:21:48 1526408394
>>1525769
Бамп. Ну же, анончики, если я какую-то хуйню сморозил и ивенты вообще не похожи на свойства, так и напишите.
Аноним 22/11/19 Птн 06:23:49 1526409395
>>1526407
Да бля, эталонный жабадебил просто -_-
\\b[A-ZА-Я]\\b
Аноним 22/11/19 Птн 06:54:32 1526416396
Если не сложно, то поясните за стримы(ака потоки).
Так вот, что хочу уточнить. Правильно ли я понимаю, что если, скажем, я решил читать из файла, считал 10 букв, потом передам этот стрим куда-то еще, то я все так же могу считать эти 10 букв? Если да, то как? Просто из-за названия "поток", я почему-то думаю, что это как в кране: открыл воду, она пошла, успел в стакан набрать - молодец, не успел, вода утекла куда-то еще.
И вот еще что, как это вообще работает-то? Ну, типа есть нетворк стрим, он, вроде как позволяет из интернета данные получать, но что будет если я достану этот нетворкстрим, отдам куда-то еще, а данные еще не до конца пришли? Он будет как-то ожидать пока не получит конец сообщения или ему наплевать и вот я, скажем, считал заголовки HTTP, начал читать содержимое body а оно еще не все пришло, моя программа подумает что все и закроет стрим, а там оказывается еще что-то было и я просто проебал эту очень важную мне информацию.
Аноним 22/11/19 Птн 07:19:55 1526423397
>>1515204 (OP)
Мечтаю превратить Visual Studio Code в отдаленное подобие VS Community.

Накидайте пожалуйста расширений для VS Code и Open Source тулзов для этого.
in64: накидал тебе за щеку, проверяй
Аноним 22/11/19 Птн 08:57:08 1526443398
>>1526423
Красноглазики должны страдать.
>>1526409
Молодой человек, вы 'ё' проебали.
>>1526416
> я решил читать из файла, считал 10 букв, потом передам этот стрим куда-то еще, то я все так же могу считать эти 10 букв?
Да, файловый поток можно гонять вперед-назад. Ему не проблема прочитать любой кусок файла.
>нетворк стрим
Из этого можно тянуть данные только последовательно, однажды прочитанные они из потока уходят насовсем, если ты их проебал, то всё.
>а данные еще не до конца пришли?
Read методы стримов возвращают реально прочитанное количество байт, если их меньше чем надо, читай еще, пока не получишь все данные.
>>1526416
>будет как-то ожидать пока не получит конец сообщения или ему наплеват
Он понятия не имеет. сколько байт посылают на том конце, отдает только то, что уже пришло. Реализовать контроль целостности твоя задача, самое простое - слать длину сообщения перед самим сообщением.
> считал заголовки HTTP
Если работаешь по хттп, ищи готовые решения для работы с ним, протокол, надо сказать, довольно популярный, все велосипеды уже сделаныю
Аноним 22/11/19 Птн 09:30:22 1526450399
>>1526360
>>1526404

Тут фишка что без коллекции надо ебануть скажем так на клеточном уровне
Аноним 22/11/19 Птн 10:00:50 1526467400
C# мертв для десктопа и тем более для мобилок
ASP тоже мертв, для фронта есть JS с его реактами и ангулярами.

но вроде как CORE Жив, будешь создавать API ресты
но зачем нанимать C# для api рестов, если можно нанять голонщика, питониста или нодиста?


Cobol, Delphi, C# и java - мертвы, но для поддержки легаси они норм и будут актуальны еще 10 лет.
Аноним 22/11/19 Птн 10:11:24 1526473401
>>1526467
а чо не мертво-то, блеадь?
что учить 16-ти летнему вкатывальщику из села Кукуево?
Аноним 22/11/19 Птн 10:22:09 1526484402
>>1526473
Вот языки которые нужны на 2019 год
javascript+typescript+node
golang
Python
Rust

остальные языки не нужны.

PHP - тоже для легаси проектов, не стоит в него вкатываться уже.
Аноним 22/11/19 Птн 10:23:30 1526485403
Аноним 22/11/19 Птн 10:26:36 1526487404
>>1526485

хотел сказать , актуальные, имеющие перспективы, имеют множество вакансий и все новые проекты начинают на них.
Если новый проект начинают с C#/Java , то это только потому что в данный момент все люди которые сидят в твоем отделе являются программистами только этого языка, такя же штука у COBOL и DELPHI, пишут на них в 2019 потому что других нет в поле зрения, ну а задачи вроде как кое-как решают, бизнес доволен.

кроме rust , это язык пока что для избранных их используют только 30-50 компаний на всю Россию
Аноним 22/11/19 Птн 11:00:37 1526526405
>>1526450
>без коллекции
>на пике string[]

У меня для тебя плокие новости, дружок.
Аноним 22/11/19 Птн 11:09:50 1526534406
Аноним 22/11/19 Птн 11:11:12 1526537407
>>1526467
C# развивается, в отличии от жабы. JS всего не удержит, рано или поздно он превратится в нынешнюю жабу, которая сначала захватила всё, но теперь постепенно это теряет, потому что обречена на отсутствие развития из-за обратной совместимости.
JS развивается только силами велосипедостроителей (попенсорса), очевидно, а это зачастую низкокачественный код, при добавлении которого в проект, ты активируешь бомбу замедленного действия.
И сейчас как раз время когда JS на пике, но идёт не в том направлении, как это было с Жабой, в то время как C# постоянно развивается и уходит в нужную сторону (кроссплатформенность и веб). Через 1-2 года наступит эра WebAssembly, тогда всё это JS дерьмо превратится в никому не нужную, легаси хуету, что-то вроде JQuery в сравнении с Vue и React. JS уже запилил себе костыл в вид Typescript'a, но это всего лишь обертка, обертками нельзя заменить WebAssembly и сильную типизацию.
Именно поэтому сегодня "не учить C#", равно тому чтобы знать будущее биткоина в 2011 году и не закупить себе пару тысяч за 100 рублей.
Аноним 22/11/19 Птн 11:22:22 1526547408
>>1526534
Любой массив (класс Array, который ты используешь делая объявление вида string[]), реализует интерфейс ICollection (или ICollection<T>, если массив одномерный) , т. е. является коллекцией.
Аноним 22/11/19 Птн 11:23:44 1526549409
>>1526537

а толку? я как технический директор строю все на REST(GRAPHQL) + FRONT , а сложные вещи пишутся на rust/c++


ты тут много про костыли TS говоришь
Чем полезен твой C# в вебе, какие у него плюшик то?
как раз твой C# это и есть костыль для веба, язык который создавался для десктопа, быстренько переобулся через обертки и начал быть веб языком.

никому не нужен твой C# в вебе, покажи мне хотя бы 1 проект за последние 2 года в мировом интернете, если гвооришь что хорош для веба ?

Этот язык используют тоьлко деды для внутренних проектов

Тайпскрипт - обертка, но в этом нет ничего плохого, там работает все как часы.
в таком случае и твой код на C# обертка над ASM ))00
Аноним 22/11/19 Птн 11:27:16 1526552410
>>1526537

почитай получше про WebAssembly, это не замена JS , это помочь ему в сложных вычеслениях.

знаешь что тормозит на сайтах?
не JS ,а работа с DOM и твой WebAssembly никак это не пофиксит.

Аноним 22/11/19 Птн 11:45:38 1526571411
>>1526549
>в таком случае и твой код на C# обертка над ASM ))00

Типичный вскукарек маньки, которая пытается защитить своего монстра под названием JS и 1001 фреймворк. Отличие в том, что TS не добавляет никакого функционала, помимо того, что есть в JS, т. е. ты не делаешь более понятную абстракцию над мощным инструментом в виде ассемблера (который на самом деле IL, но JS-макаке можно и не знать), ты делаешь костыль над уже обрубленным JS. TS это не язык программирования, это инструкции для среды разработки, своего рода intellisense из VS, которая даст тебе по голове во время написания кода, но никак не повлияет на него во время исполнения.
Над "никамунинужин", "яотказываюсьвидетьзначитнесуществует!!пакажи!!" можно только посмеяться.
>>1526552
JS тоже создавался как дополнение к HTML, что дальше? SPAшку на HTML уже написал?
Аноним 22/11/19 Птн 12:19:07 1526607412
>>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#

Аноним 22/11/19 Птн 12:34:58 1526623413
>>1526571

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

я пишу чистую функцию, все это дело типизирую и уверен на 100% что там все работает как часы.

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


у вас не только сам язык говно но и подходы дедовские и устаревшие и самое печальнео что этим подходам до сих пор учат в институтах России и Украины.


но тут виноват бекендер.

это как я скажу что в коробке продаются вилки, а там будет уголь.
Аноним 22/11/19 Птн 12:35:52 1526625414
>>1526623



FIX
это удалить
>но тут виноват бекендер.
>это как я скажу что в коробке продаются вилки, а там будет уголь.
Аноним 22/11/19 Птн 12:47:39 1526633415
>>1526423
бери райдер, вскод сдохнет от такого количества плагинов, которое позволит ей приблизиться к нему или студии
Аноним 22/11/19 Птн 12:51:02 1526634416
Слыште, черти, вы лучше скажи есть ли смысла здесь и сейчас учить шарп? Я работу в дс найду? Дрочу его уже 3 месяца, дропать жалко.
Аноним 22/11/19 Птн 12:52:51 1526635417
>>1526634
Да, найдешь, особенно в ДС. На ХХ забанили что ли?
Аноним 22/11/19 Птн 12:54:48 1526637418
>>1526634
Да, потом легче будет освоить JS + React и найти работу. Я начал c JS, потом прикоснулся к реакту, а он был в виде ООП, охуел тогда от того как всё непонятно и начал учить шарп.
Аноним 22/11/19 Птн 12:54:48 1526638419
>>1526634
И пошел нахуй еще, пидорас
Аноним 22/11/19 Птн 12:59:35 1526641420
Аноним 22/11/19 Птн 13:03:01 1526643421
>>1526634

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

шарп это для дедов как и кобол с делфи.
Аноним 22/11/19 Птн 13:06:05 1526646422
Аноны, помогите тупому ньюфагу.
Постоянно падает ошибка "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;"
}
Аноним 22/11/19 Птн 13:08:18 1526648423
>>1526646
ASP.Net Core 3, EF Core, docker with linux containers
Аноним 22/11/19 Птн 13:24:53 1526664424
Аноним 22/11/19 Птн 13:55:44 1526681425
Тупой вопрос от дауна. Если я делаю (IRandomInterface)myObject, разумеется объект реализует этот интерфейс, я оставляю себе доступ только к методам, которые есть в интерфейсе?
Аноним 22/11/19 Птн 13:57:00 1526684426
Аноним 22/11/19 Птн 14:01:49 1526685427
>>1526684
А если (ParentClasses)myObject, то значения полей и реализация методов останутся от myObject?
Аноним 22/11/19 Птн 14:09:02 1526690428
>>1526549
>я как технический директор
в голос проиграл
>Чем полезен твой C# в вебе
архитектура из коробки, убодный интерфейс - azure, db, типобезопастность, широкий рынок разрабов, MsMsql
>покажи мне хотя бы 1 проект
stackoverflow
xbox
plural
Жирно высираешь, зеленый
Аноним 22/11/19 Птн 14:11:14 1526691429
image.png (97Кб, 1291x736)
1291x736
>>1526547
Ну в общем перебрал как многомерный массив.
Но как подсчитать сумму что то все равно не доехало

Аноним 22/11/19 Птн 14:14:28 1526695430
проигрываю с холиваров еще с нулевых. Кто только вкатывается, хочу уведомить, что джава и пыха уже 10 лет умирают и учить их не стоит. В итоге как были в топ вакансиях, так и остались. Фронт - был и будет актуален, но пока не нашли фреймворка, который мог бы удовлетворить все требования, будет 1001 библиотека в проектах. Так что не кормите троликов с Rust и ++, гуглите hh/фриланс биржи и смотрите что можно учить
Аноним 22/11/19 Птн 14:26:32 1526707431
>>1526648
Кароче ребята, не будьте такими дебилами как я. Везде написано « A strong system administrator (SA) password: At least 8 characters including uppercase, lowercase letters, base-10 digits and/or non-alphanumeric symbols.”. Я почесал репу, и вписал пароль «1».
Аноним 22/11/19 Птн 14:30:14 1526713432
>>1526685
Если ты наследник ParentClasses, то твой myobject грубо говоря сожмется до parentclasses, а всё остальное - откинется.
Аноним 22/11/19 Птн 14:32:12 1526717433