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


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

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

C#/Сишарп/.NET Тред - Шапка edition #18 /csharp/ 29/02/20 Суб 12:32:29 16187051
0a8f846b4b32ff2[...].png (16Кб, 512x512)
512x512
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.
ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.

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

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

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

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

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

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

6. С# для мобильной разработки
Если нужны инструменты для разработке под мобилы, смотри сюда - https://docs.microsoft.com/ru-ru/visualstudio/cross-platform/cross-platform-mobile-development-in-visual-studio?view=vs-2019.
Из актуальной литературы
- Xamarin Mobile Application Development
- Xamarin Essentials

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

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

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

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

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

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

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


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

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

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

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

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

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

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

18. Я не умею читать, что посмотреть?
- Programming with C# - https://www.edx.org/course/programming-c-microsoft-dev204x-0
- Beginning Game Programming with C# - https://www.coursera.org/course/gameprogramming
- C# Fundamentals: Development for Absolute Beginners - https://goo.gl/meyyxO
- Коллекция видеоуроков, по всему дотнетовскому и смежным темам (250 часов, на русском) - https://nnm-club.me/forum/viewtopic.php?t=891636
- Набор курсов по C# от O'Reilly Media (28 часов, на английском) - http://rutracker.org/forum/viewtopic.php?t=5082978
Аноним 29/02/20 Суб 12:45:17 16187223
Бамп
Аноним 29/02/20 Суб 16:12:24 16189304
Аноним 29/02/20 Суб 16:24:47 16189455
Аноним 29/02/20 Суб 20:14:47 16192146
>>1618945
Ну и чё за хуйню оно возвращает, при (string)domain_name, (string)IP_PORT, (string)domain_port?
Как же долго я ебался с гуглежом, чтобы найти вышеизложенное.
Аноним 01/03/20 Вск 00:41:51 16195047
>>1618930
А есть нечто подобное но для валидации file_path, в том числе и пути относительного, скажем "..\..\data\bigData.json",
чтобы проверяло путь, и если туда можно сохранить файл - чтобы сохраняло его,
и опционально - чтобы проверяло ещё наличие файла там, если он должен быть по указанному пути?
Аноним 01/03/20 Вск 03:40:21 16195778
>>1619504
Ах да, слышь ты! Глянь-ка, вон там, как в HardLinkCreator'e, батя пути проверяет. ЫХХЫХХЫХ.
Аноним 01/03/20 Вск 06:41:10 16196079
>>1619504
Используй io.directory io.file io.fileinfo все на msdn есть
Аноним 01/03/20 Вск 10:33:34 161964810
Запись202003011[...].mp4 (14531Кб, 1232x1124, 00:01:15)
1232x1124
>>1618705 (OP)
Аноны такой вопрос не знаю почему вулетает исключение при нажатии кнопки запуска, смотрел пошагово вроде всё правильно но класс Database наотрез не хочет создавать "score.json" может кто знает почему?
класс Database
https://pastebin.com/zNtQq84n
class LevelMenu : State
https://pastebin.com/guaqHWMg
Аноним 01/03/20 Вск 11:49:49 161968811
>>1619648
Так он "fighters.json" не может найти, File.Exists() тупо возвращает false.
Попробуй в настройках проекта в отладке поставить рабочую директорию туда, где лежат все эти json-ы.
Аноним 01/03/20 Вск 12:17:40 161969812
>>1619504
К этому >>1619607 еще есть класс Path.
>>1619648
Юзаешь относительные пути - страдай.
Аноним 01/03/20 Вск 12:24:50 161970113
>>1619698
>Юзаешь относительные пути - страдай.
исчерпывающе
Аноним 01/03/20 Вск 13:04:00 161974614
>>1619698
> Юзаешь относительные пути - страдай.
Пфффф. Вот серьезно. Нашел к чему доебаться. Абсолютные пути это рак убивающий. Запомни это.
Аноним 01/03/20 Вск 13:22:30 161976215
>>1619746
Ебать ты додик. Ну тогда скрести пальцы и молись, чтоб программа работала в таком же окружении как и твоё. Или ты думаешь, что абсолютный путь это тот, который захардкожен строкой?
Аноним 01/03/20 Вск 16:15:53 161990716
Хочу купить подписку на ITVDN ради курсов по ASP.NET. Стоит ли? Мб у анона есть слитые курсы?
Аноним 01/03/20 Вск 16:58:03 161995017
>>1619907
>Стоит ли платить айтицыганам за информацию, которая лежит в интернете бесплатно
Плати, раз ты настолько тупой что аж такой вопрос в голове возник
Аноним 01/03/20 Вск 17:05:07 161995818
>>1619950
Если ты агрошкольник и не можешь ответить без оскорблений, то и не высовывался бы :З
Аноним 01/03/20 Вск 19:05:04 162007319
Шарпаны, есть один длинный сетевой метод, и я без задней мысли засовываю его в Task.Run(() => method). Все работает замечательно, но у меня одновременно только два таска могут работать. Как увеличить это число? Хочу, чтобы хотя бы 10 тасков одновременно запускалось. В спеках на проц написано, что у меня два потока на ядро.
Аноним 01/03/20 Вск 20:02:05 162014420
>>1620073
>одновременно только два таска могут работать
Как ты определял? Но одновременно физически может работать количество задач, равное количеству ядер, физику не наебешь. Да и то, если ОС решит, что нет занятий по важнее.
>>1620073
> сетевой метод
Асинхронный надеюсь?
Аноним 01/03/20 Вск 20:24:45 162017921
>>1618705 (OP)
Аноны хочу спросить не ради холивара, а ради интереса. От этого зависит дальнейший интерес.
Зачем нужен c#?
Утверждают что есть 2 ветки развития c# разработчика, а в скором и 3 будет blazor
Начнем с простого desktop - да под Винду конечно круто, но кросс платформенность рулит. Есть java, js web приложения, c++ и тут видна четкая градация - старый код поддерживаем на Java. Что-то мощное и большое c++ . Быстро что-то накатить js. Какое место занимает с#? Wpf и winforms мертвы, uwp спохватился и пытается что-то отжать. Посмотрите на игры

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

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

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

Так как быть аноны? Может я не прав?
Аноним 01/03/20 Вск 20:44:32 162021922
>>1620179
Ответ стандартный: открывай вакансии в своем регионе и смотри, что нужно на рынке, а что нет.
Аноним 01/03/20 Вск 21:55:15 162032523
>>1620179
Я не знаю откуда вы берете такие стереотипы, которым лет 5 минимум. Наверное смотрите видосики всяких хауди хо и других клоунов ютуба.

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

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

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

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

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

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

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

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

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

Есть язык F#, который позволяет фронт и бек писать только на нем уже сейчас и писать в разы быстрее и безопаснее, чем на C#. Но с этим языком существует очень много проблем, одна из них - сранные вкатывальщики в айти, которым в универе преподают js и python и они пытаются больше нехуя не учить и гребсти бабки лопатой.
Аноним 01/03/20 Вск 22:31:09 162038024
>>1620144
> Асинхронный
Нет, обычный void
> Как ты определял
В таске добавил Console.WriteLine("task started")
Аноним 01/03/20 Вск 22:34:13 162038425
>>1620380
Значит ты написал неверный код.
Аноним 01/03/20 Вск 22:37:19 162038526
Аноним 02/03/20 Пнд 03:28:29 162057727
>>1620325
Ухх. Спасибо большое прям от души отлегло, как долго я ждала подобного ответа. Ибо мне c# очень нравится, а как на вакансии смотришь один гд и поддержка кода под winforms. Надеюсь то что говоришь правда. А что насчёт blazor? Какая у него судьба web assembler взлетит?

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

F# на фронте? Это как?
Аноним 02/03/20 Пнд 03:29:36 162057828
>>1620385
Тачску надо вызывать асинхронно и ожидать ее async / await
Аноним 02/03/20 Пнд 05:13:55 162058729
Аноним 02/03/20 Пнд 05:15:06 162058830
>>1620587
Я всё понел... ПОТОМУ ЧТО МОЧАН!
Аноним 02/03/20 Пнд 05:21:30 162058931
Аноним 02/03/20 Пнд 08:29:49 162063232
>>1620179
если .net core взлетит, то кучу легаси говна придется на него переносить. вот тебе и работа.
Аноним 02/03/20 Пнд 09:22:01 162067133
>>1620632
А потом? Перекатывается в другой язык? Или писать на blazor?
Аноним 02/03/20 Пнд 09:33:21 162068334
>>1620632
А если не взлетит. Постоянно одно но, а вдруг, может быть. .net core взлетит, ещё как, люди волком выли и mono помогали чтобы кроссплатформенно было, а майки на протяжении нескольких лет упирались, пока поняли что большая часть разработчиков не на Винде сидят. Так хоть какую-то но свою долю займет. Вот я начну переписывать все на .net core. Будем переписывать это все условно лет 6-8 . А дальше что? Там уже десктоп приложения не нужны будут. Ведь есть веб. Blazor? Он же предназначен лишь для получения данных. В Гите разрабы пишут что политика blazor не нацелена изменять само Dom дерево, а через бинд параметров. Так что js так и останется.
Единственное спасение f#.
Ибо постоянно про c# в масс медия ни слуху ни духу. Все модные на python, go rust typescript пишут. А как ткнуть их носом в c#, сразу говорят иначе и про остальные языки вспоминают. Сразу лелеют c#, красивый синтаксис и все дела. И потом убегаю опять писать на модном языке.
Что блятт происходит не понятно
Аноним 02/03/20 Пнд 09:35:48 162068635
>>1620578
А как у тебя сейчас?
Аноним 02/03/20 Пнд 09:37:37 162068736
>>1620671
А ты хочешь выучить одну технологию и до пенсии работать на ней? В программировании так не бывает.
Аноним 02/03/20 Пнд 09:39:39 162068937
>>1620687
Нет. Я хочу стабильно работать на одном языке, попытаться попробовать его и в хвост и в гриву, сгореть с языка и перейди в совершенно другой язык с другой политикой
Аноним 02/03/20 Пнд 10:14:16 162071038
Юзеры Jetbrains Rider, скажите, он умеет дебажить 32 битные проекты?
Аноним 02/03/20 Пнд 10:29:06 162071939
>>1620689
>стабильно работать на одном языке
как сказал один умный человек: "программист должен уметь программировать на нескольких языках программирования".
язык лишь инструмент для достижения поставленной задачи и переход на другой не должен доставить проблем.

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

По вакансиям по Москве у С# где то 1500-1700, это конечно в 2 раза меньше чем у того же питона и JS, но если сравнивать с ruby, то у последнего совсем всё плачевно.


Аноним 02/03/20 Пнд 14:04:23 162099540
>>1619958
он прав, кому нахуй этот ITVDN нужен? Ни одни курсы не сделают из тебя разработчика. У многих в голове абуз денег == успех, на самом деле это не так. В интернетах море инфы, главное - желание
>>1620179
>Идём дальше web. А именно backend. Тут все так же. Быстро что-то сделать js, python. Что-то сложное и крупное c++ и Java
земля тебе пухом, иди на ++ они круче да нет
>>1620587
наконец то моча начал работать
>>1620719
>как сказал один умный человек: "программист должен уметь программировать на нескольких языках программирования"
долбоеб скорее сказал. Программист - это профессия без привязки языка от слова совсем.
>>1618880 →
я надеюсь, что весь этот пиздокульт по IT в СНГ помойке лопнет, как мыльный пузырь. И как можно скорее. И ебаный мелкософт с их решеточками, блейзора и корами вместе с ним. Да здрастует Rust
Аноним 02/03/20 Пнд 15:40:57 162106441
>>1619907
Так они же и на youtube выкладывают. Посмотри и оцени их качество.

>Мб у анона есть слитые курсы?
При должном старании и сам найти сможешь.

Моя позиция насчет курсов такая: "Лучше книгу почитаю".
Аноним 02/03/20 Пнд 21:21:21 162132842
У шарпа есть аналог Javadoc? Просто на сайте микрософт стрёмные конструкции с xml написанные в виде множества однострочных комментариев
https://docs.microsoft.com/ru-ru/dotnet/csharp/codedoc
и это как-то крипово, по сравнению с
/
*/, которая ещё и все поля для заполнения в нормальных IDE сама генерирует. Может есть альтернативы?
Аноним 02/03/20 Пнд 22:16:58 162141143
>>1620995
Не даром тут: https://2ch.hk/b/arch/2017-11-02/res/164121539.html
писали следующее:
>Мо‌чан — площадка для насасывания модераторами друг другу в позе №69.
Но оказывается не только они друг другу насасывают, есть и такие как ты.
Как же заебал этот вечно тормозящий подтирач с анальной модерастией,
неадекватной администрацией и запредельной концентрацией рака, вроде тебя.

мимокрокодил
Аноним 02/03/20 Пнд 22:18:18 162141544
Аноним 02/03/20 Пнд 23:51:10 162152545
907d9050f42440b[...].jpg (71Кб, 736x920)
736x920
Пишу пет-проект (веб-приложение). Но жена начала изучать Zbrush, устроилась на курсы. Думаю, вернуться к Unity.

Вопрос вот в чём: есть два стула. На одном веб-приложения и энтерпрайз точенный, на втором - геймдев дроченный. Стоит ли смотреть в сторону геймдева, чтобы работать с женой в одной отрасли? Геймдев в теории мне нравится, он мне близок (я например даже издававшийся писатель, хоть и нонфикшн), но энтерпрайз - это надёжное средство зарабатывания деняк.
Что делать?
Аноним 02/03/20 Пнд 23:54:08 162152746
>>1621525
Нужно всегда диверсифицировать риски, если с геймдевом что-то случится, то соснёшь как ты, так и твоя жена, а вот если вы будете в разных отраслях, то шанс соснуть резко уменьшается. Поэтому выбор очевиден.
>Геймдев в теории мне нравится
Нравится он тогда, когда ты занимаешься проектами которые тебе по душе, но тебе выбора не дадут, будешь пилить херню которую скажет дядя пилить.
Аноним 03/03/20 Втр 00:00:12 162153247
>>1621527
Какая в таком случае лучшая стратегия? Геймдев оставить для своих петпроектов, а развиваться по линии энтерпрайза целиком?
Аноним 03/03/20 Втр 00:03:03 162153348
>>1621532
Как хочешь, главное чтобы в рабочем направлении не проседать.
Аноним 03/03/20 Втр 02:48:11 162160049
1
Аноним 03/03/20 Втр 11:32:47 162176350
>>1621328
бамп. Ну, серьёзно, как тут у вас принято писать комментарии к коду, так чтоб потом одной кнопкой загенерить html?
Аноним 03/03/20 Втр 12:48:12 162183151
>>1621411
>>1621415
я ссать хотел на вашу наноборду, ок? Хотите казино с блек джеком и шлюхами? Для этого не нужна борда, можно шифровать сообщения другим способом, но есть одно но - TCP/IP протокол, через который идут реквест-респонс любого интернет ресурса. И зная, что есть портал с illegal информацией, да еще и шифрованной, по которой хуй определишь Ip конкретного юзера как на мочане его просто сразу задушан на любом уровне, чтобы только к нему не было доступа. Вы будете перекидывать с хоста на хост, меняя IP, меняя домен и будете плавать в говне. Поэтому don't waste my and your time.
Аноним 03/03/20 Втр 13:18:20 162184552
>>1621763
Есть комментарии типа /// в Visual studio, которые потом можно автоматически в справку преобразовать. Попробуй, может то что ищешь.
Аноним 03/03/20 Втр 20:05:02 162222853
Можно ли в Visual studio настроить, чтобы имена классов и имена структур подсвечивались разным цветом?
Аноним 03/03/20 Втр 22:20:17 162237054
>>1621763
Используй javadoc, нашел проблему.
Аноним 03/03/20 Втр 22:24:39 162237455
devenv.jpg (112Кб, 744x434)
744x434
Аноним 03/03/20 Втр 23:05:32 162240856
>>1622370
Так он по дефолту ничего не генерирует в студии. Модуль какой есть?

>>1621845
Да! Как раз то, что нужно. А как преобразовывать..?
Аноним 03/03/20 Втр 23:10:53 162242257
>>1622408
Sandcastle поищи, так вроде называлось
Аноним 03/03/20 Втр 23:11:25 162242358
>>1622408
GhostDoc, DocFX, Doxygen, SHFB, ... Без борды даже посрать не можешь?
Аноним 03/03/20 Втр 23:42:17 162246559
>>1621831
Неуловимого Джо душили, душили, но так и не начали душить...
Аноним 04/03/20 Срд 07:13:48 162263760
Аноним 04/03/20 Срд 07:50:15 162264361
>>1620995
А что за панацея с rust? Прям пишут убийца c++ но это же смешно
Аноним 04/03/20 Срд 07:51:40 162264562
>>1622643
Иди в другой тред, дауненок.
Аноним 04/03/20 Срд 11:16:26 162273763
>>1622423
DocFX же говно через консоль, разве нет?
Аноним 04/03/20 Срд 12:11:41 162276064
Как собрать мой мега проект штоп запустить на другом компе?
Аноним 04/03/20 Срд 12:14:13 162276665
>>1622760
Просто запустить или полноценная развёртка?
Аноним 04/03/20 Срд 12:29:59 162278166
>>1622766
Ну вот я пытался мой мега проект запустить на другом компе и он не запустился
Аноним 04/03/20 Срд 12:37:02 162278667
>>1622781
Если просто десктоп приложение:
Открываешь на диске папку проекта, там ищешь папку bin, в ней папку debug. Оттуда копируешь экзешник и все дополнительные файлы и папки (данные там какие). Если применяешь всякие сторонние либы - то и их тоже. Всё это переносишь на другой комп и запускаешь экзешник. На втором компе должен нет.фреймворк стоять соответствующей версии, если под него делалось. Если под core, то хз как, не пробовал пока переносить. Кроме того учти, на твой код может антивирус ругаться, если нету подписей, а их нету.
Аноним 04/03/20 Срд 15:08:26 162290368
Аноны как из строки превратить в объект? У меня есть json с настройками и в нем есть следующая строчка:
"path": "AppDomain.CurrentDomain.BaseDirectory"
Value я легко могу получить, но как мне теперь превратить строку в объект и чтобы он путь вернул?
Аноним 04/03/20 Срд 15:12:32 162290769
>>1622903
При помощи рефлексии.
Аноним 04/03/20 Срд 15:14:02 162291070
>>1622907
а поподробнее? А по-другому никак?
Аноним 04/03/20 Срд 15:15:31 162291271
>>1622910
>а поподробнее?
Открываешь документацию и смотришь поподробнее. Тебе только польза будет.
>А по-другому никак?
Никак.
Аноним 04/03/20 Срд 15:18:26 162291872
Аноним 04/03/20 Срд 15:20:50 162292173
>>1622918
Ты с мобилы пишешь? Открываешь IDE, пробуешь. Можешь консольное приложение создать. Можешь LINQPad использовать, если лень заводить IDE.
Аноним 04/03/20 Срд 15:21:59 162292374
Аноним 04/03/20 Срд 15:23:35 162292475
>>1622923
а если еще подробней
Аноним 04/03/20 Срд 15:24:50 162292776
>>1622924
Не слушай его, он не понял что тебе нужно.
Аноним 04/03/20 Срд 15:26:32 162292877
Я конечно понимаю что на лет 10 опоздал с вопросом
Но вот разбираюсь в привязках в винформах
https://www.codeproject.com/Articles/24656/A-Detailed-Data-Binding-Tutorial

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

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

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

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

То есть как будто его не следует уже вызывать.
Это получается они просто прикрыли использования этого метода?
Аноним 04/03/20 Срд 15:26:36 162292978
>>1622927
Хорошо, последний вопрос. Как мне достать класс AppDomain.CurrentDomain.BaseDirectory, то есть класс AppDomain.CurrentDomain. Через операции строчек? или можно как-то по-другому?
Аноним 04/03/20 Срд 15:28:26 162293179
>>1622903
Откуда такой хуевый JSON приходит? И какие варианты могут быть?
Аноним 04/03/20 Срд 15:29:58 162293480
>>1622931
Этот хуевый json из appsettings.json. У меня задача, дать возможность задавать нормальный путь или через объект, по типу: AppDomain.CurrentDomain.BaseDirectory, Environment.SpecialFolder и т.п.
Аноним 04/03/20 Срд 15:36:10 162293981
>>1622934
Ок, а кто его пихает в appsetting? Я к тому, что если это под твоим контролем, то почему бы не считать все относительные пути относительня папки AppDomain.CurrentDomain.BaseDirectory, а спецпапки указывать как обычно %%ProgramFiles%, %SYSTEMROOT% и т.д.
Аноним 04/03/20 Срд 15:39:09 162294182
>>1622939
appsetting это статический файл у net core, у меня в asp net core Web Api. В который можно пихать различные настройки перед запуском проекта. Строка к бд, ключи, данные и т.п. Вот у меня и задача дать пользователь самому определять куда разворачиваются некоторые файлы
>то почему бы не считать все относительные пути
не понял, еще раз
Аноним 04/03/20 Срд 15:46:13 162294283
>>1622941
Раз ты сам конфиг пишешь, то можно так:
/foo/bar/tits.jpg - воспринимать как путь относительно исполняемого файла

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

D:/dildo.txt - полный путь, значит полный путь
Аноним 04/03/20 Срд 15:48:48 162294484
>>1622942
Хм, звучит хайпово
хорошо, а если я хочу не Environment.SpecialFolder, а AppDomain.CurrentDomain.BaseDirectory, как мне это указать?
Аноним 04/03/20 Срд 15:49:25 162294685
>>1622941
>>1622942
И еще, тот же Path, может съесть много, может тебе его хватить
Path.GetFullPath("%ApplicationData%/pr")
Аноним 04/03/20 Срд 15:50:50 162294886
>>1622944
То есть, это может изменить любой пользователь, который пользуется апи. Он захочет не лазая в код и меня строку Environment.SpecialFolder, а просто чтобы указал относительно чего начинается путь: Environment.SpecialFolder, AppDomain.CurrentDomain.BaseDirectory
Аноним 04/03/20 Срд 15:51:13 162294987
Аноним 04/03/20 Срд 15:52:24 162295088
>>1622944
Я ж тебе написал - первый пример. Если не указ диск/спецпапка считай относительно дирректории домена
Аноним 04/03/20 Срд 15:54:50 162295289
>>1622948
Бля, я совсем отупел. Я хочу сделать так:
Тот кто пользуется моей апи, мог просто зайти в appsettings.json и указать либо нормальный путь или объект который хранит какой либо путь, то есть относительно чего начинать путь: BaseDirectory, CurrentDomain, SpecialFolder
А не чтобы он лез в мой код ищя строчку Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "name")
Аноним 04/03/20 Срд 15:58:12 162295490
>>1622952
>пользуется моей апи
> мог просто зайти в appsettings.json

В голосину нахуй. Ты чужим API не пользовался что-ли, поэтому такую хуету несёшь?
Аноним 04/03/20 Срд 16:10:48 162296491
>>1622954
Ну вот хочется мне, прям руки чешутся. Ебланство конечно же, но выглядит прикольно
Аноним 04/03/20 Срд 16:13:36 162296892
>>1622964
Ладно, отброшу пока фантазии. Кто знает в .net core Environment.SpecialFolder распространяется только на винду или на другие операционки тоже?
Аноним 04/03/20 Срд 16:15:05 162297293
>>1622952
Этот >>1622942 способ чем-то не подошел? Парсер для таких путей написать дело десяти строк.
Аноним 04/03/20 Срд 16:16:36 162297394
Аноним 04/03/20 Срд 16:17:13 162297595
>>1622972
>значит использовать Environment.SpecialFolder
Я хотел так:
>объект который хранит какой либо путь, то есть относительно чего начинать путь: BaseDirectory, CurrentDomain, SpecialFolder
Аноним 04/03/20 Срд 16:18:49 162297696
Аноним 04/03/20 Срд 17:51:09 162302397
Пацаны, сделал тудушку. В книге пошли какие-то делегаты, ивенты, для задротов короче. Можно ли уже открыть ВинФормс и делать мувисерчер?
Аноним 04/03/20 Срд 17:51:47 162302698
>>1618705 (OP)
Поясните про IEnumerator. Я правильно понимаю, что GetEnumenator() возвращает один из объектов массива? Какой именно, первый? Почему тогда возвращается интерфейс IEnumerable, а не сам тип элемента массива?
В какой момент вообще вызывается GetEnumerator(), это как-то foreach неявно делает? Почему там не будут генерироваться исключения?
Аноним 04/03/20 Срд 19:04:25 162309999
>>1623026
>возвращает один из объектов массива?
Нет, GetEnumerator возвращает, внезапно, IEnumerator.
>первый?
Класс, реализующий IEnumerble, умеет перебирать элементы множества.
> возвращается интерфейс IEnumerable
Кем?
>В какой момент вообще вызывается GetEnumerator()
Странный вопрос, а когда вызывается Console.WriteLine? Когда надо, тогда и вызывают.
>foreach неявно делает
Строго говоря, для форыча сама реализация IEnumerable не нужна. Там юзается рефлексия и для его работы достаточно любого класса, с методом GetEnumerator, который вернет класс с методом MoveNext и свойством Current.
> Почему там не будут генерироваться исключения?
Какое исключение где должно сгенерироваться?
Аноним 04/03/20 Срд 20:07:36 1623166100
А вот скажите мне, в начале каждого приложения по дефолту пишется куча using с ссылками на различные сборки (это же называется сборки?). Вижуал студия мне активно намекает, что хоть я их упомянул, но я их не использую. Влияют ли как-то эти ссылки на само приложение, оставаясь неиспользованными? Увеличивают ли его размер, например.
Аноним 04/03/20 Срд 20:12:37 1623171101
>>1623166
Не увеличивают. Даже используемые библиотеки обрезаются ровно до используемого минимума, но это не точно.
Аноним 04/03/20 Срд 20:15:36 1623172102
>>1623166
> using с ссылками на различные сборки (это же называется сборки?)
Нет, это пространства имен. Сборки перечислен в references.
> Влияют ли как-то эти ссылки на само приложение, оставаясь неиспользованными?
Нет, компилятор все вычистит. Точнее он заменит все классы их полными идентификаторами (System.IO.File вместо File). Ты можешь тоже без юзингов писать, используя полные имена. Чисто для удобства штука.
Аноним 04/03/20 Срд 21:13:50 1623233103
>>1622374
Спасибо.
А можно ли эти настройки синхронизировать между несколькими компами?
Аноним 04/03/20 Срд 22:05:52 1623318104
Возможно ли в C# пометить метод (функцию) как константный (по аналогии с C++), чтобы указать программисту и компилятору, что метод не меняет состояние объекта, её вызывающего?
Аноним 04/03/20 Срд 22:20:04 1623338105
>>1623318
Только в структурах. Еще есть модификатор параметра in, он как ref но менять такой параметр нельзя.
Аноним 04/03/20 Срд 22:24:51 1623349106
изображение.png (21Кб, 632x185)
632x185
Учишь сишарп, думаешь щас будешь на модном писать, а тут пикрелейтед.
Аноним 04/03/20 Срд 22:28:28 1623355107
>>1623338
>Только в структурах.
А в чём смысл такого ограничения?
Аноним 05/03/20 Чтв 02:55:41 1623477108
>>1623349
>Учишь очередной женерик мейнстрим говноязык пропихивуемый корпорацией, повевшись на наживочную "тырпрайз" приписку, не зная, что она применима только к западной системе
>Удивляешься говновакансиям аутсорс галер, ничем не отличающихся от пхп-макакинга
>пук-среньк
Аноним 05/03/20 Чтв 11:54:37 1623683109
>>1623023
>делегаты
>ивенты
>Можно ли уже открыть ВинФормс

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

var pathValue = config.Path;
Аноним 05/03/20 Чтв 12:39:50 1623738111
image.png (24Кб, 718x325)
718x325
>>1623349
не те вакансии смотришь
Аноним 05/03/20 Чтв 12:45:53 1623741112
>>1623727
ой, проебал параметр функции десереализации
var config = JsonConvert.DeserealizeObject<MyJsonConfig>(configText );
Аноним 05/03/20 Чтв 13:08:20 1623777113
Аноним 05/03/20 Чтв 13:51:04 1623806114
>>1623777
Не понимаю, в чём сложность обучения работы с ивентами. Кликаешь (или производишь другое действие) на кнопку, она генерирует событие, т.е. ивент. К этому ивенту надо привязать метод, который будет как то реагировать на это событие. Всё. Ну а написание своих ивентов и делегатов - нахуй не нужно, в обычном программировании.
Аноним 05/03/20 Чтв 14:05:43 1623817115
>>1623806
>Ну а написание своих ивентов и делегатов
Чего блять? Если делегаты еще можно использовать Func/Action, хотя это не айс, то как ты без ивентов живешь? Или всё остальное, кроме крудов и поко классов, это уже необычное программирование?
Аноним 05/03/20 Чтв 14:09:16 1623823116
>>1623817
Ну так разговор про винформс шёл, нахуя там свои ивенты писать? Юзаешь имеющиеся у контроллеров и всё, они там все действия покрывают. А для своих классов не люблю ивенты писать. Как по мне - это загромождает и усложняет код. Прям в методе и вызываю другие методы.
Аноним 05/03/20 Чтв 14:15:29 1623830117
image.png (27Кб, 714x419)
714x419
Привет, не понимаю как вытащить значение из текстбокса, что-бы дальше с ним работать. что я должен прописать?
Аноним 05/03/20 Чтв 14:19:17 1623837118
>>1623823
> нахуя там свои ивенты писать
Не отменяет написание модели. А так у тебя получается связанный спагетти код, раз все знают про друг друга. Из команды огонят ссаными тряпками за такое.
Аноним 05/03/20 Чтв 16:25:00 1623955119
>>1623738
И опять кривой порт хибернейта с тонной xml.
Аноним 05/03/20 Чтв 17:48:59 1624062120
ебать вы тут дегроды еще в сторону вин формс и WPF смотрите, земля пухом. Надеюсь скоро и ASP.NET Core вскроется со своими кривым blazor, которые знают со всего комьюнити 0.5 Core deva. Не будет никогда у evilcorp ничего годного. Даже шиндовс говносрадальная ось, под которую пилят только потому, что она у каждого казуала стоит
Аноним 05/03/20 Чтв 18:19:06 1624121121
>>1624062
Ахахах сука! Сейчас милион ентерплайз говна есть на винду и еще пол милиона будет.
Аноним 05/03/20 Чтв 21:03:28 1624353122
Аноним 05/03/20 Чтв 21:24:52 1624425123
>>1624062
Поскорее бы сорцы открыли и все будут рофлить над goto!
Аноним 05/03/20 Чтв 22:53:08 1624587124
Хайль, бандиты. Лабораторную делаю, клиент-серверный чатик. Вроде на WCF чёт сделал. Вроде работает. И тут я узнаю, что показывать со своей печки нельзя и надо реально подключаться к удалённому чему нибудь.
Я бы дома оставил включённую пеку, но у меня айпишник не белый, не статический, хуёвый.

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

Чё делать, посаны?
Аноним 05/03/20 Чтв 22:56:25 1624592125
>>1624587
Подними самую уебищную виртуальную машина на азурных облаках. Там можно через рдп подключиться к ней и работать как с обычной виндой. А вообще, тебе стоит сперва забыть про вцф.
Аноним 06/03/20 Птн 07:35:35 1624825126
>>1624587
На азуре можно. В принципе, когда я последний раз туда обращался, то там был варик с бесплатной на один месяц удалённой машиной.
Аноним 06/03/20 Птн 09:49:30 1624870127
Сап анон, решил вкатываться в бекэнд, есть базовые знания html, CSS, js давным давно писал на php, но это было баловство. Сейчас подошёл к процессу обучения более серьезно, мне нравится python, но эту я затею бросил поскольку в Мухосранске с ним джуновских вакансий мало нет, но дохера на php и C#. Начал потихоньку учить C# но как-то тяжело идёт, особенно не нравится что для некоторых простых вещей нужно писать в 2-3 раза больше кода, некоторое даже кажется искусственно усложненным по сравнению с теми же javascript, php и python. С другой стороны нравится что нужно думать о типах переменных, о видимости, о том что возвращают функции, то что везде нужно пилить в ООП, а не хуяк-хуяк и ТД и ТП, это дисциплинирует на некоторые вещи начинаешь смотреть по-другому. Но к сожалению плююсь чаще чем радуюсь. У вас также было поначалу или просто мне C# не зашёл? И насколько было правильным выбирать C# для старта?
Аноним 06/03/20 Птн 10:30:30 1624893128
>>1624870
Лол. Как раз имею опыт в несколько лет всяких говноподелий на шарпе, пытаюсь выучить яву. Плююсь от его упрощений, так как в половине случаев нихуя непонятно какой результат будет.
Думаю дело привычки.
Аноним 06/03/20 Птн 11:47:30 1624924129
>>1624870
>У вас также было поначалу
по сей день плююсь от этого индусовского говна
Насчет работы - это компании, которые случайно угодили на мелкософтовский софт, в будущем будут более внимательны и не станут становиться на те же грабли 2ой раз. Пайтон - идеальный язык по сравнению с говно-шарпиком, котороые к тому же сейчас дрочат в шарагах и вузах на первых курсах (см. посты выше). Я уже смотрю в сторону Rust и Kotlin, поэтому имо завязывай с этой йухней и выбирай нормальный язык
Аноним 06/03/20 Птн 15:19:52 1625055130
>>1624592
ну, на WCF оказалось понятнее всего. Я так и не осилил нормально сокеты и прочее. Судя по всему за счёт бессистемности получаемых о них знаний. А времени на книжки уже нет

>>1624825
Про азуру спасиб
Аноним 06/03/20 Птн 17:35:01 1625199131
>>1624893
>>1624924
Спасибо аноны, походу мне не зашло и я больше привык к питону и джс и надо прокачивать их, я собственно к этому и склонялся, если уже через несколько лет плюетесь, то походу затея не очень удачная была. Но плюсы от обучения извлёк, лучше стал ООП понимать.
Аноним 06/03/20 Птн 21:51:03 1625470132
maxresdefault[1].jpg (65Кб, 1280x720)
1280x720
Надо сделать enum, соответствующий различным единицам измерения физических величин.
Например Па*сек можно назвать как Pa_x_sec. Конечно, было бы лучше Pa×sec, но × использовать нельзя, поэтому и так сойдёт.
Но вот например кг/м³ как нормально назвать в C#, чтобы сохранить эстетику кода? kg_div_m3 или того хуже kg_divided_by_m3 - хуйня какая-то уродливая, от которой даже веб-макаку стошнит.
Пытался найти в таблицах символов Unicode символ в каком-либо языке, который похож на / и который можно было бы использовать в именах переменных, но сходу не нашел. Хотя греческие буквы типа μ или ρ VS нормально хавает. Даже некоторые верхние индексы типа ᵗ проходят.
Может есть надстройка для VS, которая некоторое сочетание символов отображает на экране специальным образом, по аналогии с редакторами формул? Или как-то ещё можно решить эту проблему?
Аноним 06/03/20 Птн 21:56:11 1625473133
Короче, студентота загорелся охуенной идеей: сделать свой набор контроллов для консоли. И тут меня ждал сильный обосрамс.
В общем, вброшу пример
https://ideone.com/yB6hJb

В чем собственно проблема. Когда рисуешь в консоли контрол, если делать это асинхронно, может быть хуйня, что другой пидорас передвинул курсор и рисуешь ты его не там где надо. С одним классом это решается просто, я просто делаю статичный объект локер и вроде как все работает. Но если у меня там будут прогрессбары, таблички разные и прочее. Не получится же сделать так же, если не наследоваться от какого-то совсем базового класса, типа Controll, в котором лежит локер к которому все тянутся. А если делать так, то если в консольке будет куча контроллов будет очень много времени тратится на то чтобы все отрисовать. В общем, я наверное чего-то не понимаю. Раньше же делали консольный приложухи, где все двигалось одновременно и ничего друг на друге не рисовалось же.
Я пока думал над этим, единственный выход придумал, это какой-то абстрактный экран, к которому в очередь выстраиваются контроллы, они говорят: Хочу здесь себя нарисовать, потом, когда все сказали где и как хотят нарисовать, этот экран всех в той очереди и рисует. Но блин, мне кажется, что это какая-то хуйня же.
Аноним 06/03/20 Птн 21:56:30 1625474134
Аноним 06/03/20 Птн 22:06:29 1625483135
>>1625473
Создаешь бесконечный цикл, пока работает приложение, где по очереди вызываешь две функции:
Update - всякая хуйня на подсчитать, обработать кнопки клавиатуры и т.п.
Draw - отрисовка разницы между предыдущем кадром и следующим, в этот момент блокируется ввод пользователя

Из другого потока влиять на Update нельзя.
Аноним 06/03/20 Птн 23:50:18 1625616136
Бля, можете перечислить все темы, или кинуть ссылку где они перечислены, которые нужны для того чтобы иметь джунские знания чисто по ASP.NET Core Web Api? Хоть курс какой нибудь, чтобы чисто заголовки прочитать
Аноним 07/03/20 Суб 00:17:43 1625677137
>>1625616
> Бля, можете перечислить все темы
Алгоритмы, структуры данных - чтобы ты понимал что ты пишешь и не писал говно
Паттерны, как базовые, так и проектирования - чтобы ты знал как решаются классические задачи
Знание работы сетей - ты ж, блядь, для веба пишешь, сука, как ты будешь это делать, если ты не банально стек TCP/IP не знаешь и не понимаешь что там происходит
Проектирование высоконагруженных приложений - чтобы твой бекенд от 100 клиентов не ложился, плюс никто сейчас не пишет
Знание микросервисной архитектуры, понимание того как работает событийная модель и т.д.
HTML+CSS - это стандарт, раз ты именно в веб метишь
Жаваскрипт и знание пары фреймворков и популярных библиотек - клиентскую часть сейчас почти никто не пишет на .net, а если ты будешь по 3 дня кнопку которая запрос к API делает, то нахуй ты такой нужен.
SQL и умение писать на нем запросы(если в модный-молодежный стартап вкатываешься, то еще потребуется NoSQL освоить) - банально чтобы даже с каким-нибудь EF ты понимал что своими Linq ты хуйню сделал и либо Linq составлял нормальные либо умел на нативных решениях переписать нормально
Знание, собственно, фреймворка(.net, .net core, asp.net, asp.net core) - чтобы ты не тратил кучу времени на свои велосипеды, которые уже есть во фреймворке
Знание того как работает CLR - чтобы ты хотя бы понимал что под капотом происходит и в будущем знал как оптимизировать это говно
Умение читать IL-код - аналогично пункту выше
Умение работать с докером - сейчас все еще стандарт для развертывания твоих апликаций
Умение работать с гитом - стандарт, без гита никуда
Знание линукса и умение его администрировать - твое говно в 95% случаев будет на линуксовом сервере крутиться и ты должен понимать что там происходит.

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



Рост 180см+ возраст 20-25 - чтобы хрюша не послала нахуй.
Член 20см+ - чтобы тимлид не послал нахуй.
Общительность - чтобы команда не послала нахуй
Исполнительность - чтобы менеджер не послал нахуй
Ухоженность - каким бы охуенным спецом ты не был, если от тебя воняет или ты выглядишь как чухан, никто тебя долго в офисе терпеть не будет
Аноним 07/03/20 Суб 00:36:27 1625736138
Сап, анон
Есть ли годный roadmap для fullstack desktop developer’a?
Если нет, то есть ли хорошие ресурсы для создания роадмапов?
Аноним 07/03/20 Суб 02:09:33 1625836139
>>1625677
Если это не паста то зря ты это писал, меня этой хуйней не напугаешь, я и так вротендер уже вкатившийся и знаю большую часть релейтеда. Меня вот именно что какие то темы по аспу интересуют, что нужно знать чтобы вебапи писать, всякие mvc параши не нужны. и вот это очень интересует

> банально чтобы даже с каким-нибудь EF ты понимал что своими Linq ты хуйню сделал и либо Linq составлял нормальные либо умел на нативных решениях переписать нормально
Аноним 07/03/20 Суб 07:43:16 1625920140
>>1625836
Ту стену текста высрал какой-то студент.
Аноним 07/03/20 Суб 08:07:18 1625922141
15821364704580.png (193Кб, 1200x1200)
1200x1200
>>1618705 (OP)
Джава была топ платформой для разработки приложений, но с топорным синтаксисом. После того как накатили котлин, есть ли смысл вообще вкатывается в шарп? Достаточно ли под net core библиотек вообще?
Аноним 07/03/20 Суб 09:27:17 1625946142
Есть ли смысл сейчас пилить новые проекты на .NET Framework? Или уже только .NET Core?
Аноним 07/03/20 Суб 09:43:36 1625952143
>>1625922
Попробуй и нам расскажешь.
Аноним 07/03/20 Суб 09:47:24 1625955144
>>1625922
>вкатывается в шарп
только в шарагах
Аноним 07/03/20 Суб 10:06:55 1625970145
Аноним 07/03/20 Суб 11:29:23 1626031146
Смотрите, встала необходимость как-то админам отображать статистику. Что есть из готовых решений для рисования графиков, диаграмм и прочего?
Аноним 07/03/20 Суб 11:30:55 1626034147
Аноним 07/03/20 Суб 11:33:18 1626037148
Аноним 07/03/20 Суб 11:34:24 1626039149
>>1626037
Что делает жаваскрипт-макака в C# треде?
Аноним 07/03/20 Суб 11:39:35 1626044150
>>1626039
Спрашивает что есть из готового для отображения статистики. Очевидно же.
Аноним 07/03/20 Суб 13:27:13 1626162151
>>1625970
Все еще точку запятой ставите и функции суете в классы, называя их статичными?
Аноним 07/03/20 Суб 13:28:35 1626163152
>>1626162
Еще эти шикарные отступы с неймспейсом и постоянное ощущение за спиной, что МС выкинет очередную палку тебе в колеса
Аноним 07/03/20 Суб 13:29:54 1626164153
>>1625922
Ты стал таким же, как шарпосектанты раньше. Одумайся.
Аноним 07/03/20 Суб 14:02:35 1626214154
>>1626162
Дам подсказку: ссылка открывается левой кнопкой мыши.
Аноним 07/03/20 Суб 14:28:13 1626242155
>>1626164
Забавно, я до этого топил за шарфик (как минимум защищал за потуги net core). А потом понял что он все равно морально устарел.
Аноним 07/03/20 Суб 14:40:35 1626269156
>>1626242
Так тебе все равно никто не даст писать на расте.
Аноним 07/03/20 Суб 15:35:21 1626324157
>>1626269
Зачем мне раст, когда есть котлин-нейтив?
Аноним 07/03/20 Суб 15:43:22 1626333158
>>1626324
А, так ты не тот шизик, который за раст топит?
Аноним 07/03/20 Суб 16:07:12 1626346159
15830536402520.png (194Кб, 586x586)
586x586
Аноним 07/03/20 Суб 16:38:03 1626379160
А я не шизик!!!
Аноним 07/03/20 Суб 17:13:20 1626424161
Аноны как быть? Есть подписка на загрузку файла локально, то есть мы подписались на обновления файла, при записи каждого блока по 1024 получаем сообщение о том что такая часть файла загружена.
Каждый раз это записывается в json, возникла проблема что при больших файлах выскакивает следующее: System.IO.IOException: The process cannot access the file '.txt' because it is being used by another process
Код записи объекта следующий :
var json = JsonConvert.SerializeObject(item, Formatting.Indented);

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

writer.Close();
}

Как быть?
Аноним 07/03/20 Суб 17:51:16 1626452162
>>1626424
>Как быть?

Не допускать лока файла каким-либо процессом.
Аноним 07/03/20 Суб 17:53:55 1626453163
>>1626452
О, точно, как я сразу не догодался. Спасибо
Аноним 07/03/20 Суб 18:05:56 1626457164
>>1626453
Обращайся если проблемы возникнут.
Аноним 07/03/20 Суб 18:14:32 1626460165
>>1626457
Бля братан, спасибо за помощь, если бы не ты всю голову бы сломал. От души прям
а если серьезно че делать? Как из разных потоков записывать в файл инфо
Аноним 07/03/20 Суб 18:17:56 1626464166
>>1626460
Копай в сторону стримридеров и стримрайтеров, а также более низкоуровнейвой работы с файлами.
Аноним 07/03/20 Суб 18:25:26 1626468167
>>1626464
Пздц. Проще будет складировать инфу в словарь. Ладно спасибо ещё раз
Аноним 07/03/20 Суб 18:59:23 1626486168
>>1626468
Памяти оперативной может не хватить.
Аноним 08/03/20 Вск 05:58:02 1627053169
>>1626379
Как тебе котлин-нейтив?
Аноним 08/03/20 Вск 06:11:45 1627054170
Аноним 08/03/20 Вск 07:08:08 1627057171
>>1626486
Да там только long должно хватить
Аноним 08/03/20 Вск 13:19:40 1627253172
Аноним 08/03/20 Вск 13:28:04 1627258173
>>1627253
Такой же всеобъемлющий и дарующий жизнь?
Аноним 08/03/20 Вск 14:08:53 1627293174
Как бороться с тем что строки иммутабельны? Скажем, вот строка var str = "asd"; я хочу просто добавить к ней "dsa", просто решаю сделать так: str += "dsa", но, как я понимаю, в этот момент создается копия строки, а строка "asd" все еще где-то в памяти валяется. И меня это очень сильно волнует. Вот и что делать чтобы такого не было?
Аноним 08/03/20 Вск 14:15:29 1627302175
Аноним 08/03/20 Вск 14:59:52 1627401176
Приветствую рабочий класс. Есть два стула - .NET-тчик Junior 25k и JS trainee - 18k. На какой сесть, на какой HH посадить? Перспективы у .NET:
1. Переплыть на full stack и начать зарабатывать деньги, а не собирать крошки с пола;
2. Относительно не плохой стэк на проекте - WebApi .NET Core 2.2
Опастности:
1. Улететь на легаси и тонуть в решеточном говне до скончания веков;
2. Т.к. галера свежая (судя по .NET core, а не легаси говне), то могут кинуть на Blazor, как full stack, что есть говно, калл и моча.
Насчет +- JS-сника и так все понятно, иденственный минус - это лычка trainee и меньше ЗП, но в моем городе кол-во вакансий JS vs #, как 20к1.
Дискас
Аноним 08/03/20 Вск 17:43:33 1627631177
>>1627401
Еще один даун, который думает, что язык и стэк выбирается один раз и на всю жизнь? Иди туда, что больше нравится, если похуй выкатывайтя туда, где больше платят.
Аноним 08/03/20 Вск 18:46:57 1627711178
>>1627631
>что язык и стэк выбирается один раз и на всю жизнь
20 летний сеньер, который меняет стек каждые два года, ты?
>>1627401
>Улететь на легаси и тонуть в решеточном говне до скончания веков
На JS тоже есть шанс улететь на легаси говно типо ember / knockout / etc
>>1627401
>то могут кинуть на Blazor
Отказывайся, если галера достаточно адекватная, никаких проблем не будет

Дотнет, имхо, в твоем случае лучше, перекатиться в JS с дотнета будет проще, наоборот - нет
Аноним 08/03/20 Вск 19:01:41 1627727179
>>1627631
ноулаферы на месте. Как бы охото после РАБоты дрочить новый фреймворк
>>1627711
>Дотнет, имхо
я на мидла # выйду быстрее, чем на мидла JS. Просто решетки - это яма, уже в галерах ряды .NET макак редеют и адекватные люди переходят на Node или Python. Я не хочу мало того, что в легаси утонуть, так еще и уплыть на умирающих решетках в помойку. Если бы # реально были перспективные, я бы даже не думая выбрал их...
Аноним 08/03/20 Вск 19:01:55 1627728180
Аноны выручайте. Как в asp net web api передать стрим?
Есть клиент:
await client.PostAsync("Files/upload/byStream", new StreamContent(file.Data));

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

}

Request.Body всегда пустой как быть?
Аноним 08/03/20 Вск 19:17:32 1627742181
>>1627727
>Просто решетки - это яма, уже в галерах ряды .NET макак редеют
>>1627727
>Я не хочу мало того, что в легаси утонуть, так еще и уплыть на умирающих решетках в помойку
>>1627727
>адекватные люди переходят на Node или Python
Спорные утверждения, но раз ты так считаешь, то тебе действительно будет лучше брать JS, твои маняфантазии что на условном пайтон лучше никуда не уйдут.
Открываю секрет: на пайтоне тоже есть говно на старом торнадо, говно, которое в сотни раз (субъективно) хуже легаси, например написание условных парсеров.
Может быть тебе повезло бы влететь на нормальный проект на пайтоне, где будут современные плюшки типо AWS, но не факт.
Аноним 08/03/20 Вск 19:26:02 1627748182
>>1627742
>Спорные утверждения
давай будем смотреть правде в глаза, что open source - это последний вздох мелкософт. Я люблю #, но не хочу с senior/middle опять падать до джуна в python/Go/другом языке. И кстати да - меня берут на позицию, где выгоняют фул бэкера и берут #+JS (уже сказали на собесе, что фул бэкеров осталось единицы) и я даже не знаю, в каком соотношении я буду писать бэк, а в каком фронт. Во вторник буду опять мозги ебать насчет проекта и перспектив, на JS всегда заберут, как трейни - у них только штат растет, а вот .NET-тчиков, как бы не пели за свои Core и Blazor - гонят в шею
Аноним 08/03/20 Вск 19:41:52 1627770183
>>1627748
>open source - это последний вздох мелкософт
>>1627748
> хочу с senior/middle опять падать до джуна в python/Go/другом языке
>>1627748
>где выгоняют фул бэкера
>>1627748
>гонят в шею
>>1627748
>что фул бэкеров осталось единицы
По этим утверждениям, становится понятно что ты даже близко не понимаешь о том, что происходит

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

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

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

Бери JS, твои маняфантазии не уйдут
Аноним 08/03/20 Вск 19:54:38 1627785184
>>1627770
Я другой анон. Хотел бы спросить, а как у тебя дела с работой? Ты фулл бэк c#? На чем пишете и что используете, если есть возможность опиши свою галеру
Аноним 08/03/20 Вск 20:09:14 1627803185
>>1627785
>Ты фулл бэк c#?
>>1627785
>На чем пишете и что используете
Зависит от размера проекта, сейчас полностью на бэке.
.net core, ef, nancy, polly, rabbit, xunit, postgresql, mongo, на фронте часть на реакте, часть на angular2+, но ангулял планируют выпиливать

В целом проекты разные, есть и легаси на MVC5 + angular2, там как правило работают фуллстеки, хотя я бы это особо и легаси не назвал
Аноним 08/03/20 Вск 20:09:24 1627805186
>>1627770
>близко не понимаешь о том, что происходит
у меня 3 из 4 знакомых уже с веслом в руках, только раскидана от пыхаря до dev-ops (все на той же галере). Поэтому я прекрастно осведомлен, что сейчас шепчет рыночек.
>ГО говно
Это я так, сам не писал на нем. Насчет перепрыгнуть с одного стэка на другой - будет полюбому рейз вниз (уже узнал)
>Бери JS
Спасибо за совет, наверное так и поступлю
Аноним 08/03/20 Вск 20:10:36 1627808187
>>1627803
>MVC5
легаси говоришь? Что насчет .NET 3.0 скажешь?
Аноним 08/03/20 Вск 20:13:10 1627815188
>>1627808
>легаси говоришь?
>>1627803
>хотя я бы это особо и легаси не назвал
Для детей, как правило, всё что не Core это легаси
>>1627808
>Что насчет .NET 3.0 скажешь
.NET 3.0 не так уж и плох, а вот Web forms ужасны
Аноним 08/03/20 Вск 20:14:18 1627817189
>>1627803
Спасибо. Довольно стандартный набор, только докера не хватает. И этот набор полностью покрывает потребности? То есть на сколько будет живуч данный набор?
Аноним 08/03/20 Вск 20:16:22 1627822190
>>1627803
А почему ef а не дапер?
Аноним 08/03/20 Вск 20:18:06 1627832191
>>1627770
А и ещё есть хоть какая-нибудь надежда на blazor? Там через 3-4 года?
Аноним 08/03/20 Вск 20:21:30 1627847192
>>1627817
>Довольно стандартный набор, только докера не хватает
Он есть, я просто забыл упомянуть, на .net core, кажется, это уже что-то стандартное
>>1627817
>И этот набор полностью покрывает потребности?
Вполне, но это понятное дело далеко не полный список того что есть
Ef core проблемный, но в 3.0 вроде уже исправили много чего.
>>1627817
>То есть на сколько будет живуч данный набор
Сложно сказать, если не будет технического долга, то вполне себе, если я правильно понял вопрос
Аноним 08/03/20 Вск 20:23:37 1627856193
Как инициализировать string'и из текстового файла на этапе компиляции?
Аноним 08/03/20 Вск 20:24:49 1627861194
>>1627856
А откуда нужно инициализировать? Обычный json?
Аноним 08/03/20 Вск 20:28:45 1627869195
>>1627822
>А почему ef а не дапер?
Я не помню конкретно почему, но были какие-то причины от него отказаться
>>1627832
>А и ещё есть хоть какая-нибудь надежда на blazor? Там через 3-4 года
Вряд ли, да и мне лично не сильно и хотелось бы, typescript и angular приятнее
Аноним 08/03/20 Вск 20:30:43 1627876196
>>1627861
Запросы SQL. Неудобно их в самом коде писать.
Аноним 08/03/20 Вск 20:34:46 1627885197
В ноябре решится судьба шарпа. Либо он обрастет опенсорс коммьюнити и wpf через vulkan api c visual studio портируют на линукс, либо отправится на свалку истории!
Аноним 08/03/20 Вск 22:28:50 1627999198
>>1627885
будет 1, но успеха это ему не придаст, т.к. мелкософт как обычно держали тузы в рукаве, вот только опаздали их показать. Теперь на этих тузах будут сидеть
Аноним 08/03/20 Вск 23:27:55 1628069199
>>1627885
А чьё место должен занять шапр в случае успеха? Джавы? Так она и так труп. С/С++? Ну в геймдеве юнити уже топ-1, а в остальном мёртв сам С++.
Аноним 08/03/20 Вск 23:40:48 1628092200
>>1628069
>Ну в геймдеве юнити уже топ-1
ААА игры все теперь на юнити делают?
Аноним 09/03/20 Пнд 03:28:43 1628221201
>>1627876
У тебя целый список sql запросов.?
Короче заворачивай их в структуру json :
[
"",
"",
]
И потом через system.text.json парсь как list<string> и все
Аноним 09/03/20 Пнд 09:32:26 1628275202
Аноны как в asp net core mvc читать MultipartFormDataContent?

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

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

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

Как теперь это читать?
Аноним 09/03/20 Пнд 10:14:18 1628287203
>>1628221
Ну у меня порядка 15 файлов с разными SQL-задачами. Их довольно легко в этих самых файлах редактировать в Notepad++. Но я не хочу класть эти файлы рядом с exe-шником, хочу просто на этапе компиляции вшить это в соответствующие string.
А твоё решение как я понимаю тоже требует на этапе выполнения считать это всё из файла с json?
Аноним 09/03/20 Пнд 10:18:56 1628289204
>>1628287
а ты работаешь с asp net core web api? Если запросы статичны, то есть вообще не меняются можешь добавить в appsettings.json или свой settings.json добавить и в Startup парсить через Configuration.GetValue<string>
Аноним 09/03/20 Пнд 10:21:00 1628291205
>>1628287
>Требует на этапе выполнения считать это всё из файла с json?
Это самый оптимальный вариант, через Configuration.GetValue<string>, нужен тебе какой-то запрос, вызываешь Configuration и все, просто и удобно
Аноним 09/03/20 Пнд 10:28:17 1628294206
>>1628287
Так же в Configuration ты можешь вызывать секции, то есть запросы можно будет каталогизировать:
То есть у тебя json следующего вида:
{
"Get files by somthing":
{
"ByIndex":"Твой запрос",
"ByName":"Твой запрос"
}
И ты вызываешь Configuration.GetSection("Get files by somthing").GetValue<string>("ByIndex") и получаешь свой запрос. Очень удобно
}
Аноним 09/03/20 Пнд 11:12:29 1628332207
image.png (156Кб, 385x367)
385x367
знающие люди, скажите пожалуйста с точки зрения кода что будет лёгче для компа
есть лист с датам, нам нужно проверить больше ли самая большая дата указанной
что будет быстрее пройтись фором и сравнить каждые даты с указанной, или отсортировать лист по увеличению даты и сравнить указанную дату с последней?
Аноним 09/03/20 Пнд 12:23:01 1628391208
>>1628332
Конечно пройтись и сравнить с каждой. Сортировка подразумевает под собой гораздо больше сравнений.
Аноним 09/03/20 Пнд 12:26:28 1628402209
>>1628391
хорошо, спасибо анон! а тот в интернете мне какие-то люди говорили что сортировка и занимает 1 строчку а фор 10, и что лучше сортировку ведь меньше строчек кода...
Аноним 09/03/20 Пнд 12:28:39 1628408210
>>1628332
Сортировка в серднем займет O(n*Logn), а поиск сравнением сравнением O(n).
Аноним 09/03/20 Пнд 13:42:04 1628479211
Аноним 09/03/20 Пнд 13:55:46 1628489212
>>1628289
>>1628291
>>1628294
У меня десктопное приложение, которое пишет результаты расчётов в SQLite и читает их оттуда для сравнения и визуализации.
Ранее с json не работал, поковыряю его, посмотрю что как.
В идеале хочу иметь один файл exe, который можно передать коллегам, и он у них не сломается. Если где-то рядом должны лежать внешние файлы, вероятность, что они потеряются и всё поломается становится очень высокой.
Аноним 09/03/20 Пнд 14:12:51 1628498213
>>1628479
1. Google
2. MSBuild parameters
3. MSBuild properties
4. https://docs.microsoft.com/en-us/visualstudio/msbuild/common-msbuild-project-properties?view=vs-2019
5. StartupObject
Юзать как то так:
>< StartupObject >foo.Program2< / StartupObject >
или так:
>MSBuild foo.csproj /p:StartupObject=foo.Program1
>MSBuild foo.csproj /property:StartupObject=foo.Program2
Где foo.Program1, foo.Program2 - классы Program1 и Program2 в namespece foo, внутри которых эти ваши - майны.
Аноним 09/03/20 Пнд 14:42:33 1628519214
>>1625946
Ну что никто не знает что ли?
Аноним 09/03/20 Пнд 14:58:13 1628531215
>>1628519
Какой сложности и объема проект? Если мелкий - ебаш на Node JS или пыхе, если крупный интерпрайз проект - можно смотреть в сторону Java или .NET
Аноним 09/03/20 Пнд 15:03:40 1628537216
>>1628531
Охуенный ответ, жаль не на мой вопрос.
Аноним 09/03/20 Пнд 15:07:04 1628542217
>>1628537
так вопрос в проекте. У тебя логика сломанна. Это тоже самое, что спрашивать - какую машину купить - Трак или Таврию? Тебе для чего? Если с петом мелкософта поиграть - .NET core, если какой то комерческий проект - то нужно смотреть требования заказчика. Ты же блять не будешь покупать MsSql за 12к для свистелки-перделки?
Аноним 09/03/20 Пнд 15:13:37 1628551218
Сап
Работаю около полугода в конторке в своем мухосранске 300к
Платят не плохо 900не деревеянных, но есть желание перекатиться и подпрокачать себя
И ввиду того что я сейчас юзаю довольно банальный стек sql,git,чутка ООП,WinForms, созрел вопрос:
Какой примерный стек нужен от джуна чтоб вкатиться куда нибудь в МСК?
Аноним 09/03/20 Пнд 18:02:39 1628717219
Аноним 09/03/20 Пнд 18:23:30 1628757220
>>1628551
тупейший блять вопрос, особенно со слов того, кто уже работает
Аноним 09/03/20 Пнд 18:27:34 1628768221
>>1628757
Но он же коровам хвосты крутит и хочет узнать как там в большом городе.
Аноним 09/03/20 Пнд 19:40:11 1628877222
>>1628717
Спасибо. Лол когда под тестовый язык f# больше возможностей и способностей чем под c#, я хуею. И при чем функциональная парадигма больше подходит под большой интерпрайз. А f# опен сорс или как всегда у Майков?
Аноним 09/03/20 Пнд 20:09:20 1628919223
>>1625473
Посмотри, как было сделано Turbo Vision (или его Free аналог). Наверное есть и более современные версии, но я давно не интересовался.
Аноним 09/03/20 Пнд 20:12:54 1628922224
>>1628489
В ресурсы запихни. Или в код, как константы в отдельном классе и файле
Аноним 09/03/20 Пнд 20:14:58 1628924225
>>1628332
Или можешь посмотреть в сторону сортированого контейнера. Вообще, изучи сложности операций в разных контейнерах
Аноним 09/03/20 Пнд 20:20:59 1628928226
Аноним 09/03/20 Пнд 20:41:03 1628938227
>>1628877
А у clojure больше возможностей, чем у всей дотнет платформы.
Аноним 09/03/20 Пнд 20:42:55 1628939228
Аноним 09/03/20 Пнд 21:12:20 1628975229
Аноним 10/03/20 Втр 01:38:06 1629144230
>>1628551
SQL, Entity Framework, ООП на отличном уровне, async/await (полное понимание работы), паттерны (SOLID, Репозиторий и всё в этом духе), GIT (десктопная поебень не интересует, на собесе могут спросить про конкретные команды и будут правы, а через что на проде коммитить - сам решишь), тестовый фреймворк (XUnit, NUnit, MSTest - разницы особой нет, дальше уровня ассертов обычно не спрашивают), ну и дальнейшее направление (ASP.NET MVC, Blazor, WPF, UWP, Unity, etc).
Ко всему этому лучше почитай литературу: сможешь поговорить с тимлидом на умные темы.

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

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

Вообще странно, что работающий анон спрашивает про стек джуна, но я в чужие дела не лезу. Спрашиваешь - значит есть зачем.
Аноним 10/03/20 Втр 05:24:40 1629194231
>>1629144
Антон как думаешь такого портфолио хватит?
Есть на uwp работающий клиент ftp, документацию ещё пишу и пару классов надо подправить. Делал все через mvvm, через команды
Есть на ангуляре 8 свой бложик, с wyswyg и бэк в виде шарпа с даппером.
Есть проект освещения на ардине под десктоп на winform, это самый доделанный проект, но и самый первый, там надо переделывать всё
Есть так пару проектов на blazor с js, по типу тудушек.

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

Более менее соблюдаю solid. Документация есть в половине проектов.
Аноним 10/03/20 Втр 08:42:22 1629231232
>>1629144
Ебать спасибо тебе, человеческое
Да я работаю на галерах макакой, это слабо связанно с нормальным программированием
Аноним 10/03/20 Втр 12:56:03 1629347233
image.png (32Кб, 405x582)
405x582
image.png (46Кб, 405x803)
405x803
анон, почему визуал не видит класс елемента? у меня в контролли есть "FilteredGridView" но в одном проекте визуал его видит пикрил1 а во втором пикрил2 нет... я не могу понят почему, все названия пространства имен я вроде поменял на нужный
Аноним 10/03/20 Втр 13:16:26 1629365234
Зачем нужны nullable reference types в C# 8.0? Ссылочные типы ведь и так могут быть null. Что изменится, если объявить его nullable?
Аноним 10/03/20 Втр 13:43:24 1629386235
>>1629365
Введено вместе с Non-nullable reference types, чтобы ты мог показать компилятору, что эта переменная может иметь значение null и её нужно проверять на равенство null перед доступом к значению, если её объявить как non-nullable то ты не сможешь присвоить этой переменной значение null и тебе не нужно будет делать проверки на null при доступе к значению этой переменной.
Аноним 10/03/20 Втр 13:48:03 1629393236
>>1629347
я разобрался, необходимо было править вебконфиг
Аноним 10/03/20 Втр 14:34:40 1629419237
152345.png (7Кб, 641x290)
641x290
>>1629386
>если её объявить как non-nullable то ты не сможешь присвоить этой переменной значение null и тебе не нужно будет делать проверки на null при доступе к значению этой переменной.
Но компилятор на это не ругается, только предупреждение даёт. И присваивать null позволяет, и сравнивать.
Аноним 10/03/20 Втр 14:50:30 1629428238
>>1629419
Пиши разрабам чтобы исправили.
Аноним 11/03/20 Срд 08:57:24 1629890239
Посоны где прочитать про использование com объектов в c#, мб какие-нибудь книги есть по этой теме?
Аноним 11/03/20 Срд 14:23:52 1630153240
>>1629194
Да, звучит неплохо. Если это не копипасты с метанитов или чужих гитов и сможешь пояснить за свой код - можешь шарить в попенсорсе и кидать ссылки в своём резюме. Но документацию лучше допиши: сам не забудешь и тимлиду понравится такой подход.
Аноним 11/03/20 Срд 16:17:24 1630244241
.png (3Кб, 267x145)
267x145
.jpg (50Кб, 453x604)
453x604
О боги программирования! Нужно помощь по оптимизации.
Есть данные в виде List<List<string>> (по сути таблица), которые нужно преобразовать в текст с нужными разделителями. Можно это как-то сделать быстрее и оптимальнее, чем на пике? А то оно ОЧЕНЬ долго(много часов) добавляет разделители при огромном количестве столбцов и строк.
Аноним 11/03/20 Срд 16:29:31 1630256242
>>1630244
Начнем с того, что цикл foreach в 4-5 раз медленнее, чем обычный for. Закончим тем, что ты идиот, не понимающий базовых вещей, если для аппендинга используешь иммутабельные стринги, которые создают новый string при любой операции, их меняющей.
Аноним 11/03/20 Срд 16:45:35 1630263243
.jpg (71Кб, 453x604)
453x604
>>1630256
Да я даже не джун, ну чего ты.

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

>если для аппендинга используешь иммутабельные стринги, которые создают новый string при любой операции, их меняющей.
Что и как можно использовать вместо них?
Аноним 11/03/20 Срд 16:59:23 1630271244
>>1630244
>>1630263
Для работы со строками используй StringBuilder. А говнокод твой непонятен. К чему у тебя обертка в виде списка вообще, если в твоём примере заменить List<List<string>> на List<string>, то всё что изменится это станет на 1 цикл меньше? И почему разделители нельзя добавить сразу при создании изначального списка, добавив сразу всё в результат?
Аноним 11/03/20 Срд 17:06:02 1630278245
>>1630263
>Да я даже не джун
экспрессо среднее, 1 сахара
Аноним 11/03/20 Срд 17:24:40 1630305246
>>1630278
кспрессо
>среднее
Селюк плез
Аноним 11/03/20 Срд 17:27:04 1630307247
>>1630305
давай неси и не выебывайся, смерд. Сегодня без типсов, за длинный язык
Аноним 11/03/20 Срд 17:37:55 1630320248
.jpg (196Кб, 1200x1600)
1200x1600
>>1630271
>Для работы со строками используй StringBuilder.
Спасибо!

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

>К чему у тебя обертка в виде списка вообще, если в твоём примере заменить List<List<string>> на List<string>, то всё что изменится это станет на 1 цикл меньше?
Так это таблица: один список строк - одна строка обработанных данных. Хм, хотя наверное да, можно сразу все в один StringBuilder c \r\n делать, тоже переделаю.
Аноним 11/03/20 Срд 17:48:03 1630330249
>>1630320
Суть в том, что в примере у тебя все строки получат один разделитель, единственное отличие в том, что ты добавляешь \r\n после конца каждого массива строк. Можно заменить на \r\n после каждых n строк,если для тебя просто важно чтобы результат выводился столбиком.
Т. е. получится что-то вроде
var sb = new StringBuilder();
for (int i = 0; i < data.Count; i ++)
{
sb.Append(data + separator);
if (i % 10 == 0) sb.Append("\r\n");
}
Аноним 11/03/20 Срд 17:49:45 1630334250
>>1630330
макаба съела квадратные скобки [ i ] у data
Аноним 11/03/20 Срд 17:55:57 1630347251
>>1630153
Спасибо. Нет, не копипасты, брал от туда только части и под себя делал. Надо будет еще нормальное резюме составить и алгоритмы всякие подтянуть
Аноним 11/03/20 Срд 18:04:18 1630359252
>>1630330
Да нахуй ты этому идиоту со шлюхами помагаешь? Написал, что у него не так - дальше пускай сам разбирается, в гугле его не забанили. А так ему очевидно будет похуй почему for быстрее foreach и что такое мутабельность; через полгода будет плодить очередные высеры о том, что иммутабельность - зло и вообще ненужно.

P.S.: У тебя в коде всё равно происходит конкатенация в выражении "data[і] + separator".
Аноним 11/03/20 Срд 18:08:14 1630362253
>>1630359
>конкатенация в выражении "data[і] + separator".

Без этого никак. Ради сложения двух строк создавать sb - ненужный оверхед.
Аноним 11/03/20 Срд 18:15:22 1630365254
>>1630362
Издеваешься? Ещё один аппенд дописать и готово. Или хочешь сказать, что одна лишняя строчка убьет читабельность?
Аноним 11/03/20 Срд 18:21:35 1630369255
>>1630365
Нет, всё верно, я просто тупой.
Аноним 11/03/20 Срд 18:22:56 1630370256
.jpg (111Кб, 600x900)
600x900
>>1630330
Длина строк всегда разная, тк не все колонки задействованы, но все равно спасибо: я так же буду на моменте обработки данных добавлять \r\n и сразу собирать итоговый StringBuilder.
Аноним 11/03/20 Срд 19:17:43 1630420257
>>1618705 (OP)
Как сконвертировать код на CSharp в C или Python?
Аноним 11/03/20 Срд 19:18:09 1630421258
>>1630420
А ещё - в кресты (C++), чтобы вообще заебись было?
Аноним 11/03/20 Срд 19:25:21 1630427259
>>1630420
Берешь и переписываешь без задней мысли.
Аноним 12/03/20 Чтв 01:09:32 1630641260
>>1619648
Почему у тебя код уровня студента ПТУ?
Где лежит твой json файл?
Ты уверен что точно знаешь, как работает Data.ReadObject()?
Аноним 12/03/20 Чтв 01:11:18 1630642261
>>1619762
А что по твоему происходит с относительной строкой? Она точно также превращается в абсолютную, зависит от настроек и магии твоего фреймворка или приложения.
Аноним 12/03/20 Чтв 03:47:33 1630690262
>>1620179
О-о-о, моя любимая тема!

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

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

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

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

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

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

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

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

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

https://visualstudiomagazine.com/articles/2020/03/06/de-icaza-webassembly.aspx
Аноним 12/03/20 Чтв 03:54:50 1630692263
>>1630690
перед тем как спросить у тебя куча вопросов и поблагодарить множество раз, если у тебя хоть какие-нибудь пруфы, подтверждающие твои слова о опыте.
Аноним 12/03/20 Чтв 04:08:59 1630696264
>>1630692
Это же деанон, ну ты че.
Обычно опыт подтверждают собеседованиями. В данном случае наверное просто техническими запросами о помощи.
Аноним 12/03/20 Чтв 04:37:58 1630703265
>>1630696
хм. хорошо я уважаю твой выбор. тогда посыплю вопросиками.
Сразу в омут, blazor. Blazor должен вот-вот выйти, но очень сырой. Нет route catch all, нет нормального получения информации перед загрузкой Dom дерева, нормальные модельные окна не создать без костылей, localstorage не работает даже в тестовой репе у майков, не работает простые взаимодействия с системой - выбор файлов. и это только с тем что я столкнулся, а сколько еще. То есть без js blazor полуживой.
Насчёт .net core, инфы очень мало. вот недавний случай, ножно было через multiple part отправлять с клиента стрим с именем файла в net core api. Ели как нашел документацию от майков в репозитоии примеров, в котором говорится что этот пример может отправлять большие файлы ~2MB но это же смешно. А самое веселое это то что стрим на сервере превращается в тыкву, в memory stream без буфера. Я это понял когда захотел отправить около 500мб. И это только один случай такой ебли с бубном. Хотя кричат опенсорс, комьюнити, а по итогу на гите проблема с оптравлением большого файла открыта. А на стаке все поголовно отвечают что нужно через memory stream.
И таких проблем много, тот же cors политика отправки.
Я это к чему, все кричат о c# круто, быстро, опенсорс, а после своих выкрикиваний показывают как массив сортировать и все. а о том как работать с файлами, бэком брокерами и и.п. ни слуха ни духа, только копипастят друг друга что в голову придет и все. А потом приходится через тонны документации Майков искать крупицы.
грустно это все
Аноним 12/03/20 Чтв 05:04:15 1630706266
>>1630703
а вот ещё вспомнил весёлый случай. игрался с апи, у которое есть долгое время ожидания. пошел гуглить как подписываться на ожидание и какие есть альтернативные пути. на стаке говорят, делай через async/await и пингуй раз в 1000ms, лол. облазил все. кто-то говорит про thread, кто-то предлагает с нуля реализовывать систему менеджера, который будет выдавать нужные результаты, приводя при этом пример пару строчек. Благо тут анон хороший нашелся и почти готовую систему скинул. А потом мне вечером в рекомендациях появляется видео в рекомендованных про митап .net и вступление чувака про rxjs, боже благослови его золотые руки. И это только из недавнего и что смог вспомнить
Аноним 12/03/20 Чтв 05:06:53 1630707267
>>1630690
>довели до ума то, что 20 лет нагло крадут из проперженной жавы и всё никак не осилят
>open source и cross-platform (на самом деле всё давно в пизде и остается лишь перепаковывать бинарники)
>производительность больше не проблема, если сравнивать с питухонами и рубями
>код можно писать
>писать можно под мобилки, веб, облака, игры, любой десктоп и нынче даже скрипты для автоматизации, правда в лучшем случае получишь 100мб блоб грузящийся 10 секунд, может даже запуститься
>MS пропихивает свою говно на своей платформе
>F# всё еще самый невнятный высер ФП мира в истории, саймон пейтон ситуацию не спас
>Полноценные WebAssembly фрейворки, написанные комьюнити даже на TS и Rust'e, идут в продакшены
>Мегакорпорация наконец справилась с плагином для шела, ебать
Аноним 12/03/20 Чтв 05:10:59 1630708268
>>1630706
и это только с web API. мне страшно представить что будет если я захочу пол мобилки начать писать и в мою голову опять какое-нибудь дерьмо придет и буду опять мучиться как с wpf. Однажды я решил добавить контекстное меню в wpf приложении через command и mvvm. оо сколько простыней инфы я получил о костыле proxy, биндинге и о том что виртуальное Dom дерево нет в wpf. а вот о том как нормально связать команды vm и vm меню ничего, только пласты инфы о паттерне proxy
Аноним 12/03/20 Чтв 06:01:10 1630719269
>>1630707
Люди берут нормальный инструмент и делают продукты, которые нормально работают годами да, большинство кода на любой платформе и языке пишется макаками, которые влезли в область ради денег, не надо сравнивать с ними.
Всегда найдутся те, у кого рот полон говна и им не терпится им поделиться с окружающими.

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

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

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

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

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

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

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

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

Делали проекты на Xamarin для андроида и ios (там тоже XAML используется). Бэкенд на Core с API, и разные морды под веб и под мобилки. Большую часть времени мы ломали головы над бизнес задачами, а не техническими проблемами. Так что не боись.
Аноним 12/03/20 Чтв 06:39:21 1630724272
>>1630707
Один и тот же код деплоим хоть так, хоть в докер конейнере в винду и в убунту. Работает из коробки без напильников.
Аноним 12/03/20 Чтв 06:45:28 1630726273
>>1630721
>усложнять жизнь
Так я поэтому-то и ищу решения от Майков а их нет. Идёшь на стак а там пишу вот так упрощённо записывая все в memory stream. Вот и приходится не найдя готового инструмента и простого и лаконичного решения делать костыли.

>На счёт твоей multipart проблемы - вот это еще не читал?
Это и читал, особенно главу : Upload large files with streaming
Если зайти в репу примера загрузки и посмотреть под капот можно увидеть сюрприз:
https://github.com/dotnet/AspNetCore.Docs/blob/master/aspnetcore/mvc/models/file-uploads/samples/3.x/SampleApp/Utilities/FileHelpers.cs
>return memoryStream.ToArray(); ой-ой вот тебе и загрузка больших файлов, а в доках к репе написано ~2mb вот это мощь. А почему нельзя читать стрим? А потому что seek у него отключен, он сразу в конечном положении и получается только через массив байтов.

А так спасибо за помощь. А вы ждёте файлы несколькл дней через async? если да, то это как? Просто я для себя открыл iobservable и rxjs и теперь асинхронные ожидания не проблема.
Аноним 12/03/20 Чтв 06:47:39 1630728274
>>1630723
Спасибо. а как вы на xaml делали контекстное меню и прочие штуки, которые требуют виртуального дом дерева? хотя бы кратко и как это все связывали через mvvm
Аноним 12/03/20 Чтв 06:52:52 1630732275
>>1630721
между async и параллельностью это пончьоо6, спасибо лысому из itdvn. если кратко, то async позволяет отложить задачу до тех пор пока не выполнится, отдавая обещание в виде таска, там ещё Стейт машина переводит контекст выполнения программы дальше и много ещё умных слов.

параллельность на то она так и звучит. говоришь машине хочу выполнять несколько задач одновременно, и машина с помощью внутреннего механизма это делает. Все очень просто, если вот так на пальцах
Аноним 12/03/20 Чтв 06:58:37 1630735276
>>1630732
это как раньше я не видел разницу между интерфейсом и базовым классом, а потом ранними утром и пару видео itdvn сразу осенило что к чему. Сейчас даже не думая получается создать когда нужно интерфейс или базовый класс
Аноним 12/03/20 Чтв 07:18:40 1630737277
Аноним 12/03/20 Чтв 08:33:52 1630757278
>>1630719
>нормальные бенчмарки
>techempower
>plaintext
Долбаеб виден из далека.
Аноним 12/03/20 Чтв 08:46:43 1630759279
.
Аноним 12/03/20 Чтв 10:15:48 1630796280
>>1630690
>какие крутые штуки может вытворять JVM (по сравнению с CLR)
давай, расскажи мне за эти "штучки". Я уже расстегнул молнию на брюках и выпил литр воды. Готов тебя слушать
Аноним 12/03/20 Чтв 13:30:16 1630982281
Посоветуйте, пожалуйста, книгу на русском языке с примерами кода полезных приложух, вроде Automate the boring stuff на Питоне.
Аноним 12/03/20 Чтв 17:22:10 1631194282
>>1630728
Эмм, там хоть и XAML, но если ты Web controls не используешь, то никакого DOM нет. Все UI элементы доступны из кода.

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

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

abstract class ViewModelBase : ExtendedBindableObject, INavigationAware, IDestructible

class ScheduleManagementPageViewModel : ViewModelBase
partial class ScheduleManagementPage : ContentPage


ScheduleManagementPage.xaml
ScheduleManagementPage.xaml.cs
ScheduleManagementPageViewModel.cs

Аноним 12/03/20 Чтв 18:03:58 1631217283
>>1630690
>Работая с теми же самыми ресурсами (DB, Queues, distributed cache, external APIs, etc.)
>- Python выдавал 5-10 сек
>- C# - 50-500 мс.
Какие-то охуительные истории. При работе с базой, сторонними сервисами и тому подобным 95% времени тратится на сетевое IO, и ожидание ответа, та хуйня что ты там мог выиграть за счёт скорости выполнения кода это капля в море.
Аноним 12/03/20 Чтв 18:31:14 1631230284
>>1631217
зачем ты копротивляешься, Мистер Андерсон, почему ты принимаешь того, что python > #
Аноним 12/03/20 Чтв 19:18:00 1631253285
>>1631194
спасибо большое. да ошибка вышла, спутал с дом деревом. статья было что в wpf нет виртуального визуального дерева и все надо через код делать, а потом уже биндить экземпляр меню.
Аноним 12/03/20 Чтв 19:20:46 1631255286
>>1631194
а есть хотя бы скриншоты, магазин. где-то можно пощупать продукт?
Аноним 12/03/20 Чтв 19:47:14 1631264287
>>1630726
А тебе файл сразу из браузера надо стримить в реляционную БД что ли? Примеры они на то и примеры, чтобы показать имеющиеся классы и методы. Код в примерах ни разу не для прода. Никогда его не копипасть.
Ссылка у тебя на пример приложения (sample). А то щас люди подумают что это часть фреймворка.

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

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

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

Такие долгие операции асинхронно и через всякие очереди делаются (RabbitMQ, NServiceBus. etc.). Иногда сервис периодически опрашивает процесс, иногда процесс может отправить сигнал на сервис о success/failure.
Hangfire - прикольная штука. Много где вижу.
Аноним 12/03/20 Чтв 20:09:40 1631295288
>>1631255
Нет.

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

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

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

А вообще на интервью на вопрос "what's an interface?" в 99% случаев ожидают услышать "interface is a contract". Потом начинают копать в сторону DI, IoC и SOLID principles.
Аноним 12/03/20 Чтв 21:01:29 1631376290
>>1631356
>Но с C# 8 появились нормальные Traits.
Может сперва почитаешь, что такое трейты, прежде чем высирать свое важное мнение?
Аноним 12/03/20 Чтв 21:37:02 1631420291
>>1631356
>Но с C# 8 появились нормальные Traits. Это те же интерфейсы, но они теперь позволяют добавлять имплементацию методам.
Угадай откуда это скопипиздили.
Аноним 12/03/20 Чтв 22:14:07 1631447292
>>1631420
Что тут гадать, там же уже написано - Джава. А потом их в Скале так и обозвали вместо интерфейсов.
Аноним 12/03/20 Чтв 22:25:01 1631458293
>>1631376
Приятно подискутировать с экспертом в своей области, который умеет четко и доступно донести свои мысли и предоставить аргументы с проверяемыми фактами.

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

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

надеюсь обойдёмся без мамок, ёбли и говна
Аноним 12/03/20 Чтв 22:27:28 1631460294
>>1631447
Не, там написано про обычные интерфейсы, которые из-за нехватки времени взяли. А в C# 8 шарп уже стоял на ногах и было время подумать над "новым".
Аноним 12/03/20 Чтв 22:33:06 1631470295
>>1631460
Как бы сам паттерн уже давным давно существует и с разной степенью корявости существует практически во всех мэйнстримовых языках. Разные языки с разной скоростью адаптируют/заимствуют новые и старые идеи. Никто этого не скрывает и никакие срывания покровов не нужны. В чём смысл твоего тыкания пальцем?
Аноним 12/03/20 Чтв 22:33:32 1631471296
Когда в компиляторы C# завезут автоматическое использование AVX в циклах и остальные оптимизации с AVX инструкциями? в C++ это реализовано уже давно.
Аноним 12/03/20 Чтв 22:35:38 1631478297
>>1631471
C++ сравнения надо отправлять к Rust'у.
Аноним 12/03/20 Чтв 22:35:47 1631481298
>>1631470
Мне в том посте показалось некое противопоставление старых интерфейсов и трейтов. Якобы вон новые красивые фичи vs старье из джавы. Но возможно только я подумал в таком ключе.
Аноним 12/03/20 Чтв 22:42:06 1631499299
>>1631481
Спасибо за адекватный ответ. Было бы здорово, если бы люди чаще признавались в том, что они пытаются спорить и агриться на то, что сами выдумали, а не на то, что происходит на самом деле.
мне тут запятых подвезли, не знал куда девать
Версия покороче: сам выдумал, сам разозлился/обиделся
Аноним 12/03/20 Чтв 23:08:42 1631566300
Используете ли вы в своих проектах документрующие комментарии по типу <summary></summary> ?

Если да, то подскажите лучшую практику их использования.
Аноним 12/03/20 Чтв 23:14:07 1631580301
Аноним 12/03/20 Чтв 23:15:33 1631584302
>>1631580
Так когда автоматическое завезут?
Аноним 13/03/20 Птн 04:48:34 1631835303
>>1631264
Стрим нужно из браузера на сервер, а там разбить по блокам и записать на диск. Идеально было бы если файл на клиенте разбивать на архивы и их на сервер отправлять, но это пока мечты
Аноним 13/03/20 Птн 05:06:50 1631839304
>>1631356
>Traits
так они же были псевдо типажами и делались костыльно через расширение. Или что-то поменялось?
Аноним 13/03/20 Птн 11:34:57 1631931305
Аноним 13/03/20 Птн 12:32:46 1631965306
>>1631566
Да, в случае если результат использования метода не очевиден, подписываю что он делает
Аноним 13/03/20 Птн 17:21:21 1632246307
>>1631566
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/xmldoc/recommended-tags-for-documentation-comments

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

Там дофига тегов, которые позволяют добавить сильную типизацию в твои комменты, избежать магических строк и уменьшить кол-во печатаемого текста.
Аноним 13/03/20 Птн 22:05:22 1632479308
Есть способ не создавать новый Reader каждый раз, когда меняется CommandText в объекте SqlCommand? А то получается какой-то одноразовый объект, после того как открыл, прочитал выборку, и закрыл.
Аноним 13/03/20 Птн 22:18:03 1632490309
>>1632479
В 2020 использовать SqlCommand и Reader...
Аноним 13/03/20 Птн 23:19:40 1632531310
Аноним 13/03/20 Птн 23:21:35 1632532311
>>1632490
Не я выбираю, увы, библиотеки, которые мы изучаем и должны использовать в лабораторных работах.
Аноним 13/03/20 Птн 23:45:33 1632541312
>>1632532
ааа, студенты! для вас книги и онлайн курсы есть.
Аноним 13/03/20 Птн 23:53:20 1632545313
>>1632531
Никто нынче голый коннект к БД не делает, только извращенцы и у кого много свободного времени.
EF Core вам в руки.

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

Не хочешь читать данные кучу раз - схорони в объект/кэш.
Аноним 14/03/20 Суб 01:45:22 1632602314
1
Аноним 14/03/20 Суб 17:11:56 1633030315
>>1632545
>EF Core
Не знаю про Core, то тот EF что я видел 6 лет назад был таким тормозным, что писать на нём могли только сайты для школьников и студенческие лабы.
Аноним 14/03/20 Суб 18:20:49 1633075316
>>1633030
Ты или программист-любитель или в айти по какой-то другой специальности. В программировании мир каждые пол года сильно изменяется. 6 лет - это вообще эра динозавров.
Аноним 14/03/20 Суб 19:17:09 1633109317
>>1633075
> В программировании мир каждые пол года сильно изменяется.
В программировании ничего не меняется уже лет 20. Клепание говнофреймворков различными дебилами десятками в год, которые живут по полгода пока ими увлекаются другие дебилы и не понимают что это то же говно в новой обертке, это не изменения.
Алсо, у меня нет никаких сомнений что EF Core такое же тормозное говно как сам EF.
Аноним 14/03/20 Суб 19:52:57 1633124318
>>1633109
lol
Ты не путай хипстеро программистов, которые клепают свои ноды и реакты, и нормальный прогресс.
А то так можно сказать что нихуя не менялось со времен Чарлза Бэббиджа и булевой алегбры - математика та же, принципы тоже.

>различными дебилами | у меня нет никаких сомнений
У "дебилов" сомнениям браться неоткуда.
Аноним 14/03/20 Суб 20:27:17 1633140319
15346945021150.jpg (39Кб, 500x454)
500x454
Новичок - не стукайте.
Уже неделю пытаюсь найти способ получать данные из графического планшета. Нашёл какой-то WintabDN api, но сколько не копался в примере, так и не понял как выводить значение pressure.
Может кто добрый посмотрит и мне-дураку подскажет: https://github.com/vvvv/WintabDN
Аноним 14/03/20 Суб 20:32:37 1633145320
>>1633124
>Ты не путай хипстеро программистов, которые клепают свои ноды и реакты, и нормальный прогресс.
Где ты видишь нормальный прогресс, расскажи мне?
Аноним 14/03/20 Суб 20:33:43 1633147321
>>1633124
Бля реакту уже лет 5 или больше и что-то он до сих пор в топе.
Этими рассказами про миллион жс-фреймворков в год программистов пугают как бабайкой.
Аноним 14/03/20 Суб 21:22:45 1633178322
>>1632545
>Никто нынче голый коннект к БД не делает, только извращенцы и у кого много свободного времени.
Делают в высоконагруженных местах. ORM тормознее нативных запросов.
Аноним 14/03/20 Суб 21:42:10 1633192323
>>1633178
Тащемта EF позволяет и простой sql код исполнить. А ещё есть даппер.
Вручную контролировать конекшн на низком уровне это я хуй знает зачем может понадобиться.
Аноним 14/03/20 Суб 22:03:26 1633202324
>>1633192
А что его контролировать? Подключился и плюйся запросами, и результаты забирай.
Аноним 14/03/20 Суб 23:10:35 1633243325
Сложный гуй на WPF ручками пишут или в визуальном конструкторе?
Аноним 14/03/20 Суб 23:15:14 1633252326
Аноним 15/03/20 Вск 01:02:44 1633434327
>>1633243
хз кто нынче визуальные редакторы использует
Аноним 15/03/20 Вск 01:11:48 1633441328
>>1633178
>>1633192
И простой sql и sprocs и функции можно через EF запускать. И уже как 2-3 года можно LINQ to SQL компилировать. И работает оно в высоконагруженных системах без проблем.

Писать код гораздо быстрее, скорость исполнения практически та же, что и стандартные SqlCommand и SqlReader, а иногда и быстрее из-за встроенных кешей и пре-компиляции. Главное при работе с инструментами - знать как они работают. А то можно и Hello World написать, что он 200 лет обрабатываться будет.
Аноним 15/03/20 Вск 01:53:05 1633479329
>>1631471
В плюсах если ты хочешь, чтобы AVX инструкции нормально сработали нельзя надеяться на компилятор. Тебе придется использовать интринсики ну и там впринципе много подводных камней с AVX.
Аноним 15/03/20 Вск 06:18:59 1633559330
Аноним 15/03/20 Вск 08:12:07 1633567331
>>1633202
>Подключился и плюйся
Ага, и ты будешь на каждый запрос открывать соединение?
Или ты на одном конекшне все свои 100к рпс обрабатывать будешь?
Или напишешь свой пул соединений?
Ор
Аноним 15/03/20 Вск 10:11:00 1633603332
Аноы, что-то туплю, в чем прикол?
Есть следующий метод разбиения стрима на n кол-во байт и запись в memoryStream:

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

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

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

Выдает ошибку что массив слишком длинный, хотя file.Data.Length еще больше чем numBytesToRead, но ошибку не выдает. В чем прикол?
Аноним 15/03/20 Вск 11:09:49 1633649333
>>1633603
Файл-то сам какого размера? Программу в 64 бита собираешь?
Аноним 15/03/20 Вск 11:12:18 1633651334
>>1633567
>Ага, и ты будешь на каждый запрос открывать соединение?>>1633567
>Или напишешь свой пул соединений?
>Ор
Не в защиту >>1633202
Но ты обосрался, там соединение уже из пула

Аноним 15/03/20 Вск 11:24:19 1633656335
>>1633649
Спасибо, уже разобрался. Я думал что надо самому сдвигать в Stream.Read, вот и получался гиганский массив.
Аноним 15/03/20 Вск 11:34:20 1633659336
>>1633656
Так теперь новая проблема, как правильно разбивать большой файл? Возьмем 55МБ, как его правильно разбить по 10МБ?

По началу нормально, но под конец, где 5МБ остается, я же не могу отправить 10. Как быть?*
Аноним 15/03/20 Вск 11:38:34 1633662337
>>1633659
Есть вот такая хрень:
Но ведь она будет считать по 10МБ, не учитывая остаток, как ее правильно переписать?

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

while (numBytesRead > 0)
{

var content = new MultipartFormDataContent();

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

numBytesRead -= n;

await Task.Delay(200);
}
Аноним 15/03/20 Вск 11:47:39 1633666338
>>1633662
Так ты уже ведь считаешь остаток в numBytesRead.
Поэтому вместо numBytesToRead напиши Math.Min(numBytesToRead, numBytesRead)
Аноним 15/03/20 Вск 11:55:59 1633671339
>>1633666
Бля, точно, а то я уже 3 день сижу этого говно пишу, мозги совсем поплыли. Спасибо еще раз большое
Аноним 15/03/20 Вск 22:11:53 1634033340
>>1618705 (OP)
Чуваки, помогите. Как запустить скомпиленный с помощью .Net Core 3 экзешник в Linux? Я в курсе, что можно юзать dotnet CLI, создавать проект, потом его публиковать, и т.п. Но мне это неудобно каждый раз делать. Я просто тренирую синтаксис. Создаю файлик, пишу что-то, компилирую, и дальше запускаю, правда с помощью Mono. Но мне хочется запускать с помощью .Net Core. Вот только не знаю как это сделать, а нагуглить неполучается. Если запускать как линуксовый бинарник, то пишет, что отказано в доступе.
Аноним 15/03/20 Вск 22:16:57 1634034341
>>1634033
Должен же быть интерфейс командной строки для виртуальной машины. Компилятор же есть, это csc. В доке почему то про это ничего не сказано.
Аноним 16/03/20 Пнд 00:01:48 1634072342
image.png (260Кб, 927x693)
927x693
Вечер в хату.
Такое дело есть контроша по шарпам, но ловлю какой то дикий затуп по ней. Может кому совсем нехуй делать и он сможет подсказать какие классы сделать и что в них должно быть реализацию запилю сам.
Аноним 16/03/20 Пнд 07:00:35 1634127343
Аноним 16/03/20 Пнд 09:42:37 1634158344
Аноним 16/03/20 Пнд 11:04:14 1634177345
>>1634158
Так же, прописываешь в терминале
dotnet <путь к дллке проекта>
Аноним 16/03/20 Пнд 12:09:44 1634213346
Добрый день, аноны. На /pr/ первый раз. Сейчас прохожу курс C# от метанита, какие ещё вещи надо пройти, прям мастхев?Алгоритмы и структуры данных, паттерны, sql? И где их лучше изучать, курсов много разных ведь. Степик, курсур или что-то ещё?
Какой вообще базовый стак требуемых технологий на стажировку по С#?
Аноним 16/03/20 Пнд 12:16:00 1634217347
>>1634177
На линуксе длл есть?
Аноним 16/03/20 Пнд 12:16:48 1634218348
>>1634213
Книги читай, курсовод.
Аноним 16/03/20 Пнд 12:29:56 1634224349
>>1634213
>от метанита
Сочувствую потраченному зря времени.
Аноним 16/03/20 Пнд 13:01:53 1634244350
Аноним 16/03/20 Пнд 13:47:33 1634260351
>>1634224
Ну там есть непонятки. Но я как человек (не тот) уже имеющий опыт работы на шарпе - по метаниту разобрал asp.net core, http/css/js и jquery. (всё это мне для своего веб приложения понадобилось, ранее с этим практически не общался)
Аноним 16/03/20 Пнд 15:46:15 1634367352
Вопрос по ASP.NET Core + React - я вижу в туторах частично дефолтный синтаксис React страницы - начиная с
№1 Import React from 'react'; etc...
А вижу и такой синтаксис:
№ 2 class App extends React.Component {
Чем они отличаются? Проблема у меня состоит в следующем: Проект на ASp.NET Core 3.0, на версии 2.2 я использовал webpackmiddleware, но судя по MSDN - его выпилили из ASp.NET Core. Теперь идет подключение jsEngineSwitcher - V8+ChakraCore, где используется не привычный и не удобный синтаксис 2. Как его измнить на 1?
Аноним 16/03/20 Пнд 19:44:19 1634518353
Как мне создать параллельный Task который бы работал до определенной внутренней точки, потом останавливался и ждал консольной команды от пользователя чтобы продолжить работу? Thread.Sleep ведь нельзя использовать в таких целях?
Аноним 16/03/20 Пнд 19:49:05 1634521354
>>1634218
>Книги читай, курсовод.
Те, что в шапке, пойдут?
И что плохого в курсах? Там хотя бы есть задачи, которые надо решать, а в книгах скорей всего такого не будет. А самому себе придумать что-то такое, что требовало бы подумать без опыта работы почти невозможно.
>>1634224
>Сочувствую потраченному зря времени.
А что не так с метанитом? Там вроде основные моменты все изложены, разве нет?
Аноним 16/03/20 Пнд 20:38:45 1634557355
>>1634367
Фундаментально не верный подход. Бэк должен быть своим собственным проектом. Фронт с Реактом/Ангуларом/жквери лол - в другом проекте и билдиться/запускаться через всякие npm'ы/yarn'ы.

Тогда и дурацких вопросов о том как сделать франкенштейна и почему он внезнапно не работает - не возникнет.
Аноним 16/03/20 Пнд 20:45:45 1634566356
>>1634557
возможно ты прав, а возможно ты идешь нахуй. Еще не решил. Но мне Женька Впопопов (всеми любимый мутанит) сказал добавлять библиотечку в проект, вместо этих важих ярнов и NPM. Правда дышать как то хуево с этими Class extends, дефолтный синтаксис react js получше будет. Короче спасибо
Аноним 16/03/20 Пнд 20:48:55 1634570357
>>1634557
я пока ходил писять подумал над такой штукой - ведь когда запускается Core проект - то вместе с ним и IIS, и если идет компиляция всех этих свестелок-перелок React-a, то по сути и Node не нужен. А если Front будет отдельно - то это будет запущено 2 сервера - IIS и Node.js. А нужно ли это?
Аноним 16/03/20 Пнд 21:12:21 1634585358
>>1634570
Для компиляции всего этот реактовского барахла нод по прежнему нужен, твои плагины в VS делают всю эту магию подальше от твоих глаз. Проблемы начинаются, когда эта магия делает что-то не понятное и тогда тебе пизда и никакой нормальной доки по этому делу нет и вообще в этих плагинах гора багов и несовместимости с очередной версией реактов.

В проде никаких двух серверов нет. React - статичный сайт (просто горстка файлов), которые могут отдаваться по любому http запросу. В зависимости от твоего хостинга надо будет по разному отдачу этих файлов конфигурить.
Аноним 16/03/20 Пнд 23:09:23 1634643359
>>1634585
нихуя не понял, но очень интересно. У меня ASP.NET Core 3.0 application - он запускается на IIS или Kestrel (если Linux). По сути он как приемник REST Api. В случае, если Front - это обособленная часть, ничего не имеющая с asp.net core апликухой - она должна в чем то собираться и на чем то хоститься. Вот и дальше пошли вопросы - что тогда будет деплоиться, если react - это обособленный проект, который собирается webpack-ом на Node.JS? Блять сложно это все
Аноним 17/03/20 Втр 02:46:46 1634703360
>>1634643
Видимо долог еще твой путь.

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

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

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

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

Всякие gRPC, хуярписи, вэб сокеты и прочие плюшки, которые грозятся стать реальностью с разработкой HTTP 3 (еще 2 не допилили, а уже 3 грозят, лол) тоже живут и функционируют по подобной схеме. Два приложения, каждый в своём мире и между ними - бездна сеть.
Аноним 17/03/20 Втр 04:41:29 1634715361
>>1634127
По умолчанию csc в линуксе компилирует в exe. При вызове dotnet file.exe говорит

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


В винде конечно экзешник можно запустить даже без sotnet, но линуксе пока не получается.
Аноним 17/03/20 Втр 04:45:15 1634716362
>>1634127
При компиляции в линуксе в dll и попытке запуска, выдает ту же ошибку. Но это компиляция в таргет лайбрари. Возможно если скомпилить в отладочную dll, то заработает. Сейчас попробую.
Аноним 17/03/20 Втр 04:46:48 1634717363
>>1634127
Неа, даже отладочная dll не запускается.
Аноним 17/03/20 Втр 07:25:53 1634733364
>>1618705 (OP)
анонсы что не так? есть 2 POCO объекта родитель и наследник.
наследник наследует от родителя 4 параметра. Когда я кастую наследника к родителю все норм, но когда я делаю вылетает ошибка. Почему так?
Аноним 17/03/20 Втр 07:27:13 1634734365
>>1634518
Запустить в нём таймер? Что б он периодически проверял некую переменную. Как только её значение изменится (введутся данные из консоли) - то продолжит работу.
Аноним 17/03/20 Втр 07:37:23 1634737366
>>1634703
я другой анон, появился вопросик, правильно ли я делаю что мой rest API почти всегда отвечает булами с ok в котором true - 200 кодом, 500 при ошибке сервера , в котором false и 404 так же с false. Это про get, put и post у меня в основном с нормальным телом запрашиваемого объекта.
И ещё как быть в таком случае. Мне надо в апи отправить путь до файла, и в апи я его применяю с post и телом, в котором стринг пути.
И последний. Мне нужно изменить состояние бэка, к примеру поменять текущую директорию на дочернюю папку, я беру и принимаю в апи get у которого в заголовке имя папки. Типа такого: "Folders/{name}/change". Так нормально делать? ведь это get и он меняет состояние бэка.
Заранее спасибо.
Аноним 17/03/20 Втр 07:39:11 1634738367
>>1634518
двачую вопрос, не раз с таким сталкивался
Аноним 17/03/20 Втр 13:10:32 1634942368
>>1634703
да я это все и так знаю, я просто думал, что можно обойтись одним IIS. Нахуя тогда все эти либы V8, ChakraCore и т.д. в ASP.NET Core? Если и так все раздельно работает
Аноним 17/03/20 Втр 13:12:22 1634944369
>>1634703
да и еще, ряд вопросов, которые не оставляют меня в покое. На какой части проходят такие процессы (имею ввиду бэк или фронт):
1. Аутентификация;
2. Логирование (имо бэк, но все же);
3. Кукисы
Спасибо за ответы
Аноним 17/03/20 Втр 14:29:45 1635045370
>>1634738
Я погуглил-погуглил о остановился на том что тут нужны не таски, а полноценные треды, в случае тредов общаться между собой намного проще
Аноним 17/03/20 Втр 18:18:50 1635252371
>>1634942
>ChakraCore
Мой ответ - ради изврата. Ну прикольно же - сделали целый js движок, который можно из кучи языков вызывать.

Why use ChakraCore?

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

Вы, как я понял, пилите стандартный Реакт апп для обычных браузеров?
Аноним 17/03/20 Втр 18:27:00 1635265372
>>1634944
Аутентификация и авторизация работают точно также, как если бы ты всё компилировал и хостил все файлы в одном проекте. ЖС запускает запрос к серваку с данными о пользователе, тот проверяет данные и возвращает 200 вместе со всякими токенами/401/403.
Всё, дальше сам выдумывай как эти токены хранить и приклеивать к твоим запросам.

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

Куки - это часть HTTP request (точнее его headers). Ты запрос можешь хоть в консоли составить и сохранять/считывать данные в какой-нить файлик, обозвать его "кукис", сохранять в него токены, user data, и добавлять эти параметры в свои headers при запросе.
Аноним 17/03/20 Втр 20:17:14 1635365373
>>1635045
спасибо, а можно ссылки, как все таки ожидать?
Аноним 17/03/20 Втр 20:37:15 1635391374
>>1635365
Гугли про AutoResetEvent и его друзей
Аноним 17/03/20 Втр 21:04:38 1635418375
>>1620179
Вообще чет смотрю мало тредов было по этому языку. По тому же JS уже 150 и по пайтону больше 80, да и на с++ около сотки. Такое чувство, что с# только для игр на юнити используют, лол
Аноним 17/03/20 Втр 22:04:30 1635462376
>>1634717

>Compiles File.cs producing File.dll:

csc -target:library File.cs
Аноним 17/03/20 Втр 22:13:59 1635469377
>>1635418
Тут вообще-то нумерация несколько раз заново запускалась.
Аноним 17/03/20 Втр 22:57:36 1635505378
>>1635469
Серьезно? Слава Богу, что я этого не застал, иначе бы моя жопа сгорела. Пиздец ненавижу слет нумерации треда. УУУУУХ
Аноним 18/03/20 Срд 09:43:37 1635715379
>>1634715
По умолчанию он компилирует в платформонезависимый бинарник, а то что ты делаешь - это publish, который собирает под конкретную платформу. О чём тебе и пишут, что ты собрал под не ту платформу.
Аноним 18/03/20 Срд 10:00:52 1635725380
Есть годный способ определить в впф, если поверх основного окна открытые диалоговые окна? Пока сделал через получение фокуса, но как-то костыльно и неуверсально
if(wnd.Focus()) //если удалось получить фокус, значит модалок нет
Вообще это для драгэнддропа файлов в окно, может есть идеи как игнорировать дроп, если есть модальные окна?
Аноним 18/03/20 Срд 10:18:26 1635732381
>>1635725
В чём проблема перед открытием окна записывать это куда-нибудь?
Аноним 18/03/20 Срд 11:10:02 1635767382
>>1635732
Какой слой это должен сделать ВМ и Вью?
Аноним 18/03/20 Срд 11:25:53 1635779383
>>1635767
вм. он же отвечает за код вью. вью толко, в основном, за гуи и бинд значений
Аноним 18/03/20 Срд 11:27:52 1635781384
Аноним 18/03/20 Срд 11:28:57 1635782385
Аноним 18/03/20 Срд 12:31:54 1635850386
как вернуть значение из фора
например

фор ( если итератор цикла > количество елементов в списке )
{
если ( итератор цикла == индекс елемента в списке )
return итератор цикла;
в противном случае продолжить цикл
}
Аноним 18/03/20 Срд 13:10:12 1635897387
Аноним 18/03/20 Срд 13:15:06 1635899388
Аноним 18/03/20 Срд 14:57:29 1635997389
>>1635850
ну так ты return`ом уже что то возвращаешь
Аноним 18/03/20 Срд 15:48:08 1636054390
>>1635997
да так должно быть, проблема в том что так сделать не дает потому что мне пишет что ретурн должен быть во всех ветках кода, а мне нужно только в одной! так как на примере, а если елс тогда пусть идет дальше, а он мне говорит что в елсе тоже дожен быть ретурн, а не это не подходит
Аноним 18/03/20 Срд 16:27:09 1636111391
Clip2net1912062[...].png (12Кб, 338x402)
338x402
А кто-нибудь может подсказать где изучить контекст существования сишарпа? В плане, что такое .NET Core и почему он должен догонять NET Framework, какие NET службы за что отвечают и где используются, какова цель создания Blazor, куда вообще движется язык? А то я тут изучаю понемногу основы, но всё равно нихуя не понимаю в беседах
Аноним 18/03/20 Срд 16:43:48 1636136392
>>1636054
Я как пользователь твоего чудо кода пишу:
int myVar = YourMethod();
А тут бац! Отрабатывает ветка без рутурна, и что должно быть у меня в переменной?
бросай исключение
Аноним 18/03/20 Срд 16:50:18 1636148393
>>1636136
суть в том что внутри фор и он ищет из списка елемент с этим интом такого варианта что елемента нет, нет! он есть его нужно только по фору найти а для этого нужно что бы в случае если не нашло фор продолжил выполнятся а этого сейчас не происходит
Аноним 18/03/20 Срд 18:03:21 1636189394
>>1636148
Чувак, выпились из программирования пожалуйста, тут и без тебя неучей хватает.
Аноним 18/03/20 Срд 18:11:02 1636193395
Аноним 18/03/20 Срд 18:37:17 1636211396
>>1635252
конечно, мне тупо пихуй на эти ваши UWP. Тупо поебать.
>>1635265
короче ответ на все мои вопросы - на бэке. Спасибо
Аноним 18/03/20 Срд 18:39:56 1636212397
Аноним 18/03/20 Срд 19:04:14 1636230398
>>1636211
Чьи ваши? Чёт ты агрессивный какой-то.
Я тебе о том что ChakraCore для UWP (вы его зачем-то для браузера используете, где уже свой JS движок есть). А ты мне что тебе на него поебать.
Аноним 18/03/20 Срд 19:14:48 1636237399
>>1636230
я кажется писал выше, что это Евгешка Мутанитович Попов посоветовал такую глину месить. Мне даже лучше сборщиком за пределами сборки .NET-а это компилить
Аноним 18/03/20 Срд 19:37:54 1636263400
image.png (296Кб, 450x297)
450x297
>>1636189
нет не выпялюсь, ведь у меня лапки
Аноним 18/03/20 Срд 19:46:12 1636278401
>>1636111
>>1636193

А если я ньюфаг и большинство книг использует Framework, то можно пока не париться по этому поводу и всё делать во фреймворке??
Аноним 18/03/20 Срд 19:55:35 1636298402
>>1636278
Будешь тогда работу по переписыванию и говно поддержке legacy искать. MS прекратили поддержку, всякие сервисы и облака больше не будут с ним работать, всякие гейм фреймворки будут тебе не доступны, документашку будет искать всё сложнее, нужно будет танцевать с бубном в новых версиях ОС, IDE (VS, VS Code, Rider), не будет доступна работа из под всяких линухов и аймаков.

В плане использования core и framework СИЛЬНО отличаются, надо будет переучиваться потом.
Аноним 18/03/20 Срд 20:00:47 1636311403
>>1636148
Какой язык для тебя родной? По-русски у тебя не получается излагать.
>варианта что елемента нет, нет!
>если не нашло
Ты уж определись как нибудь.
Аноним 18/03/20 Срд 20:02:36 1636317404
Мидлварь это синглтон?
Аноним 18/03/20 Срд 20:14:55 1636334405
>>1636298
>В плане использования core и framework СИЛЬНО отличаются, надо будет переучиваться потом.
А чем отличаются в основном?
Аноним 18/03/20 Срд 20:15:51 1636336406
>>1636311
если не нашло в конкретной этой итерации, пошло дальше к следующей, и так пока не найдет, а родной для меня Литовский, но причем тут это?
Аноним 18/03/20 Срд 20:21:54 1636347407
>>1636336
>причем тут это?
Сложно понять, что тебе нужно. Дай лучше код на шарпе и пример данных и ожидаемый результат.
Аноним 18/03/20 Срд 20:25:43 1636356408
>>1636334
ахуеть вопрос, там тыщи страниц исписали в доках и во всяких новых книгах, а тебе тут в два предложения объясни.

https://github.com/dotnet/core - сиди сравнивай старое АПИ с новым.
Аноним 18/03/20 Срд 20:28:21 1636359409
>>1636336
P.S. Я тебе уже писал, бросай исключение после цикла. Это ты думаешь, что элемент обязательно будет, а кто-то может передать коллекцию без элемента.
Аноним 18/03/20 Срд 20:39:34 1636368410
>>1636193
>.NET Framework - всё.
Нихуя не всё. Остальную парашу копирастическую - просто портируем, делов-то.
Аноним 18/03/20 Срд 20:39:43 1636369411
image.png (954Кб, 1080x934)
1080x934
>>1636359
>>1636347
а так я уже сделать через list.Contains https://www.dotnetperls.com/list-contains
просто не понимаю почему меня троллить начали, вроде нормально же спросил, и даже псевдокод написал, злые вы...
Аноним 18/03/20 Срд 20:40:16 1636370412
image.png (954Кб, 1080x934)
1080x934
>>1636359
>>1636347
а так я уже сделать через list.Contains и break https://www.dotnetperls.com/list-contains
просто не понимаю почему меня троллить начали, вроде нормально же спросил, и даже псевдокод написал, злые вы...
Аноним 18/03/20 Срд 20:48:28 1636378413
>>1635850
>>1635850
>for(int i = 0; i<element.Count; i++){
>    if(i == needed_element_iterator){return i;}
>}//.................
Блядь, блядь, ну вот нахуй тебе возвращать итератор цикла, если тебе заведомо известен индекс элемента в списке, и тот факт, что он должен быть равен итератору цикла? Верни его, рофл сукаблядь...
Аноним 18/03/20 Срд 20:51:55 1636383414
>>1636378
но мне итератор не известен заведомо, в списке элементы расположены в случайном порядке, и мне нужен индекс того элемента у которого айди равно итератору адйи елемента не равно индекс елемента
Аноним 18/03/20 Срд 20:55:22 1636386415
>>1636383
тоесть должно быть так

for (iterator < lements.count){

if(iterator == elements.id){

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

}
Аноним 18/03/20 Срд 20:55:30 1636387416
Аноны, а ассемблерные вставки можно как-нибудь пердолить? Надо байтоёбский изврат запилить. Или только через кресты?
Аноним 18/03/20 Срд 20:56:11 1636390417
>>1636386
elements[index] быстрофикс
Аноним 18/03/20 Срд 20:57:26 1636392418
>>1636383
Блядь, напиши свой код в https://rextester.com
и пока его пишешь, прежде чем отправлять его на борду,
хотя-бы посмотри его внимательно. Может быть сам додуплишь.
елсе айди - пиздец как нечитабельно, ты бы ещё про инкапсуляцию интерфейсов асинхронных тут позаливал, на русском, и без кода.
У тебя return блочит дальнейший код в цикле.
Чтобы этого не было, сделай:
>for(бла-бла)//твой маня-ёба-цикл
>   if(бла-бла){return что_надо;}
>   else{continue;}//блядь
>}//конец твоего мозго-ебучьего цикла
Аноним 18/03/20 Срд 21:16:40 1636400419
>>1636392
Ещё один сверхразум
При чем тут континью лол

Пиздец уровень шарпотреда 2020, вы же все троллите тут так, да?
Аноним 18/03/20 Срд 21:19:30 1636404420
>>1636392
Лучше метки юзать.
>hui:
>for(бла-бла)//твой маня-ёба-цикл
> if(бла-бла){return что_надо;}
> else{continue hui;}//блядь
>}//конец твоего мозго-ебучьего цикла
Аноним 18/03/20 Срд 21:21:46 1636405421
Аноним 18/03/20 Срд 21:25:08 1636410422
Аноним 18/03/20 Срд 21:38:11 1636427423
Аноним 18/03/20 Срд 21:43:24 1636429424
image.png (335Кб, 760x538)
760x538
>>1636427
ну да похожим образом решил, через лист контейн >>1636370
и я об этом и спрашивал, а меня начали все обижать..
Аноним 18/03/20 Срд 21:44:31 1636431425
>>1636405
>>1636410
Что за пиздец я вижу? Мало того, что нихуя не пашет,
так ещё и куда ты собрался возвращать int из Main, с типом void?
Аноним 18/03/20 Срд 21:45:44 1636432426
>>1636431
блять да я просто код написал на шарповском, для примера, ты тролишь или серйозно?
Аноним 18/03/20 Срд 21:47:01 1636433427
>>1636427
и проблема у меня была именно там где ты показал, типа если так то возвращай а если нет, вот и компилятор ругается, он не дает сделать что-то типа если нет продожить фор, он хочит что бы и там и там был какой-то ретурн
Аноним 18/03/20 Срд 21:47:21 1636434428
>>1636429
Сорян, провтыкал всё что выше было, а именно - вот это: >>1636369 >>1636370
Съеби что-ли букварик почитай.
Аноним 18/03/20 Срд 21:48:20 1636436429
Аноним 18/03/20 Срд 21:49:12 1636438430
image.png (25Кб, 411x164)
411x164
>>1636431
а вот эта часть тебя не смутила вообще?
Аноним 18/03/20 Срд 21:53:11 1636442431
>>1636433
Компилятор хочет ретурн int,
просто потому что метод с типом int должен возвращать int,
и без return -1, он не возвращает ничего, в некоторых ветвях,
в частности, в случае выхода из цикла, по его завершению,
и/или не наличия ни одного элемента из условия for.
Поэтому, компилятор и ругается.
Индекса -1 не существует у массива, значит можно использовать его как крайний вариант.
И многие функции возвращают -1, например:
string.IndexOf(char) == -1//если char не найден.
stream.Peek() == -1 // если данные в потоке нельзя уже прочесть, и так далее.
Аноним 18/03/20 Срд 21:53:30 1636443432
>>1636436
Чтобы излагаться хотя-бы заебато.
Аноним 18/03/20 Срд 21:54:04 1636444433
>>1636438
Да я так и понял, что его доебало писать. Хохол, походу, ещё и с Харькова. Я был в Харькове - весь Харьков обхаркал.
Аноним 18/03/20 Срд 21:57:59 1636447434
image.png (1092Кб, 1080x1080)
1080x1080
>>1636442
Анон, Я прозрел! он не просил второй ритурн в елсе, он просил второй ретурн где угодно, в том силе вне фора! да это именно то что мне надо было! СПАСИБО АНОН!
Аноним 18/03/20 Срд 22:23:22 1636473435
>>1636447
https://rextester.com/edit/OWJ57140

да, метод либо не возвращает ничего, либо обязан вернуть значения из всех возможных путей исполнения метода.
по ссылке рабочий код, но я так и не понял кому такая херня может понадобиться.
Аноним 18/03/20 Срд 22:26:01 1636480436
image.png (487Кб, 610x1500)
610x1500
image.png (421Кб, 570x580)
570x580
>>1636447
Сьььь-ссьььь-сёрб. Шустренько выпил энергетик Monster...
Хрысь! Разорвал банку.
Бам-ба-бабабам-м-м. Выкинул её...
Немного подумал... И запилил из неё - усилитель wi-fi, лол. Пикрил.
Аноним 18/03/20 Срд 22:44:45 1636501437
image.png (49Кб, 850x235)
850x235
Я понимаю что ты скорее всего нюфаня, но я за такое могут и обоссать.
Аноним 18/03/20 Срд 22:53:18 1636514438
image.png (61Кб, 782x510)
782x510
Аноним 18/03/20 Срд 22:54:49 1636518439
>>1636480
и что реально работает?
Аноним 18/03/20 Срд 22:59:32 1636527440
>>1636514
Сука, как же у меня от вас бомбит! Кто вас блядь на работу принимает! Откуда у вас такая страсть к индусскому коду? Что за ёбтвоюмать у пидоров, пишущих и проверяющих такой код! Или это перекатившиеся пхпэшники, у которых норма обмазываться дерьмом и радоваться этому?
Аноним 18/03/20 Срд 23:02:51 1636531441
image.png (7338Кб, 2048x1705)
2048x1705
>>1636527
да что не так то, если что я работаю на себя, пилю себе свою игру, а если есть предложения как улучшить код так я буду рад услишать адекватный совет, ты только это... не бомби, вот выпей пива лучше (безалкогольного)
Аноним 18/03/20 Срд 23:03:50 1636532442
image.png (45Кб, 966x545)
966x545
Нужно найти индекс минимального элемента массива что не так делаю?
Аноним 18/03/20 Срд 23:05:28 1636535443
Аноним 18/03/20 Срд 23:06:43 1636536444
>>1636535
Так надо именно алгоритм поиска написать.
Аноним 18/03/20 Срд 23:09:47 1636540445
>>1636531
Взял пива (алкогольного). Я испугался, что это код компании. Хотя чего там, в компаниях всё еще хуже потому что чуваки такие - ДЕАДЛААААЙН БЛЯАААДЬ и начинают пилить говно. Сохраняют себе n времени сейчас и увеличивают время разработки на n*n в ближайшем будущем.

Для себя можно как угодно пилить.
Аноним 18/03/20 Срд 23:12:30 1636543446
>>1636540
но ты это, если все таки есть действительно совет какой-то то я правда рад услишать, я ньюфег в программировании, вот учусь понемногу, любой совет мне в помощь будет
Аноним 18/03/20 Срд 23:42:18 1636591447
>>1636543
Ясен красен глубоко копать ни времени ни формата двача не хватит. На тебе несколько общих советов.

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

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

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

сорри, немного сгорел от увиденного, добра тебе. На работе за такое будут пиздить ссаными тряпками, так что не обижайся.
Аноним 19/03/20 Чтв 00:31:48 1636688449
>>1636536
temp = array[0] вынеси из цикла.
Аноним 19/03/20 Чтв 00:35:57 1636690450
>>1636591
Ох, вот если бы все так было.
Аноним 19/03/20 Чтв 00:36:52 1636691451
>>1636688
И что по твоему изменится ?
Аноним 19/03/20 Чтв 00:39:19 1636693452
>>1636691
Ты перестанешь записывать в темп первый элемент при каждой итерации.
Аноним 19/03/20 Чтв 00:57:05 1636707453
>>1636685
Я ананас, который выше про SOLID и сломанные стёкла написал. Хоть я пивом и откачивался, но в защиту новиса скажу, что конвент каждая компания/команда для себя сама выбирает. Некоторые любят camelCase, некоторые PascalCase, некоторые snake_case и всякие гибриды, которые настраиваются через линтеры и больше о них голова не болит.

Мы для методов/публичных свойств используем PascalCase. Для приватных переменных _camelCase. Тесты я своих заставляю через snake_case обзывать потому что они имена должны отражать суть того, что тесты делают, из-за чего они становятся длинными и через подчёрк читать удобнее: Given_request_with_expired_token_controller_should_return_401
Аноним 19/03/20 Чтв 03:03:27 1636741454
>>1636591
>Dependency Injection
а если у меня есть какая-нибудь фабрика, я же могу ее статической сделать? что мне мешает?
Аноним 19/03/20 Чтв 03:10:52 1636742455
>>1636591
>повлекло за собой изменения
хорошо. из недавнего случая, был у меня json store, который записывал по ключам данные в json. Ключи у меня enum везде используются, если я захочу рефакторить и поменять имя ключа, это сломает всю систему. Как быть?
Аноним 19/03/20 Чтв 04:32:17 1636748456
>>1636741
Можешь, если весь код, где ты эту фабрику вызываешь, у тебя получится покрыть юнит и интеграционными тестами. Для это всякие статические Properties навешивают lazy loading/Func/Action https://docs.microsoft.com/en-us/dotnet/api/system.lazy-1?view=netcore-3.1.

Надо еще помнить, что статические фиговины должны быть thread-safe на случай, если у тебя есть вероятность вызова куска статик кода 2+ потоками одновременно. Чтение - безопасно (большую часть времени). Изменение - опасно.
Аноним 19/03/20 Чтв 04:47:52 1636754457
>>1636748
Спасибо. а то у меня blazor приложение уже все в DI, штук 10 точно
И если можно ещё вопросик. В чем разница между IoC и DI. DI это же частный случай IoC, не?
Аноним 19/03/20 Чтв 05:00:10 1636758458
Аноним 19/03/20 Чтв 05:39:40 1636759459
>>1636742
Придумал enum -> начал везде использовать -> выдуманные названия не подходят -> пришлось названия менять. Хреново в начале над названиями думал (одна из самых сложных задач в программировании - придумать хорошее имя), теперь расплачивайся.

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

В остальном - надо знать конкретные условия и бизнес задачи, чтобы понять как сделать так, чтобы при изменении имени переменной не рушился весь карточный домик. Нафигачил в Persistence layer непонятных имён и теперь пришло озарение? Расплачивайся и пиши кучу скриптов, чтобы править данные.
Аноним 19/03/20 Чтв 05:40:11 1636760460
>>1636742
Слышал что-нибудь про db migrations?
Аноним 19/03/20 Чтв 06:03:03 1636762461
svetloe-pivo-2-1.jpg (30Кб, 633x480)
633x480
>>1636758
спасибо большое ещё раз. не знаю какое ты любишь, но взял оба
Аноним 19/03/20 Чтв 06:06:24 1636763462
>>1636759
рефактор не всегда хорошо работает, даже resharper. Так я обосрался сделав ключи через enum? Так как придумывать хорошие и меня для методов и т.п.? Соглашение о наименовании я уже наизусть знаю и этого вообще не достаточно, где взять инфу как правило давать имена?
Аноним 19/03/20 Чтв 06:07:33 1636765463
>>1636760
а зачем мне db если задача стояла локально сохранять json?
Аноним 19/03/20 Чтв 06:33:20 1636766464
image.png (9Кб, 514x98)
514x98
>>1636532
Нахуя у тебя итератор если у тебя он никак в цикле не используется? Выполнить N раз код? Но он же ничего не меняет, просто проверка.
Нахуя return arr[-1], любишь аут оф бондс эксепшны ловить?
Пиздец, я уже не говорю про остальной код, до меня обоссали
Ты хоть немного блядь почитай что ты делаешь, а не хуярь не глядя.
Аноним 19/03/20 Чтв 09:42:14 1636800465
>>1636535
Вместо простого прохода по масииву за O(n) делать сортировку в лучшем случае за O(nLogn). Лови класс.
Аноним 19/03/20 Чтв 09:59:33 1636812466
>>1636707
Но если нет особых указаний, то лучше придерживаться общепринятого стандарта. Особенно, если показываешь людям и очешь помощи.
мимокрокодил
Аноним 19/03/20 Чтв 10:16:44 1636819467
>>1636766
>>1636685
он до ретурна с -1 никогда не должен дойти, а если дойдет то должен быть ексепшен который я ловлю потому что здесь явно тогда что-то не так, насчет итератора не понимаю почему народ привязался к нему, итератор от слова итерация, а итератор управляет итерацией, является его переменной, новый цыкл фора это новая итерация, потому итератор, потом обычно пишут обычную маленькую i но это просто сокращения от итератора, а то что насчет конвенций меня обоссали так это вообще очень странно, у всех свои конвенции откуда я должен знать как именно в комнпании у анона заведено, я знаю только одну действительно важную конвенцию, это называть переменные с маленькой буквы потому что можно попасть
в лажу иначе и я попадал, а от того что подчёркивания или нет как можно попасть в лужу?
Аноним 19/03/20 Чтв 10:42:53 1636832468
>>1636514
епт, а это разбить ни как? у тебя же четко виднеются 3 не связанных блока, просто перенеси их по разным методам и все
Аноним 19/03/20 Чтв 10:45:08 1636834469
>>1636514
убери get_random_stage. Ты откуда выполз? Просто переименуй RandomStageBy. и так понятно что метод что-то возвращается, параметры так же переименуй в userId. Может ещё что найду
Аноним 19/03/20 Чтв 10:46:22 1636835470
>>1636514
bool параметр переименуй в isTest или подобное
Аноним 19/03/20 Чтв 10:48:27 1636837471
>>1636819
Нет, если кидаешь эксепшен, то ловить его должен код уровнем выше (или не ловить, если нормальная работа дальше невозможна). Какой смысл бросать и сразу ловить? Проще тогда уж логику из кэтч вставить вместо бросания.
>насчет итератора
Под итератором в шарпе обычно имеется ввиду IEnumerator
>насчет конвенций меня обоссали
Да, потому что читая код на каком-то языке люди привыкают к его общепринятому оформлению. И читать код на шарпе, написааный буд-то это жс или вобще солянка, неприятно и трудно.
> откуда я должен знать
пользуйся общепринятой
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions

Аноним 19/03/20 Чтв 10:52:48 1636840472
>>1636514
используй var, при инициализации листов и так понятно что это лист, так что смелой меняй на var
Аноним 19/03/20 Чтв 10:55:43 1636844473
>>1636514
random можно сделать как параметр класса и просто использовать его в классе не создавать каждый раз новый рандом
Аноним 19/03/20 Чтв 11:04:36 1636849474
Аноны у меня есть средний проект на гите, куда можно выложить ссылку на репу, чтобы сказали что не так?
Аноним 19/03/20 Чтв 11:12:39 1636852475
Аноним 19/03/20 Чтв 11:16:26 1636856476
>>1636852
А если страшно? Других альтернатив нет?
Аноним 19/03/20 Чтв 11:18:55 1636858477
>>1636856
Можешь дать объявление в местную газету своего города.
Аноним 19/03/20 Чтв 11:19:51 1636859478
>>1636858
а это сработает? просто у меня город маленький
Аноним 19/03/20 Чтв 11:32:47 1636867479
>>1636832
но они все таки связаны...
Аноним 19/03/20 Чтв 12:41:41 1636917480
>>1636867
связаны тем что берут друг у друга какие либо параметры, объекты? Так в чем сложность перенести здоровый кусок кода в отдельный метод и возвращать нужный объект?
Аноним 19/03/20 Чтв 12:44:16 1636920481
>>1636917
ну вообще да ты прав можно по разным методам разнести, но я не люблю когда многа методов, потом долго искать нужный тебе метод в списке, да и разве имеет это какое либо значение кроме читабельности?
Аноним 19/03/20 Чтв 13:03:44 1636938482
>>1636920
тестирование. да и скорее всего эти методы в одном классе будут, а что бы не искать нажимай shift click на имя метода и vs перейдет к реализации метода.
Читабельность тебе будет нужна самому, через n время, когда твоя программа начнет расти
Аноним 19/03/20 Чтв 13:10:25 1636939483
>>1636920
а вообще листай гит, смотри как реализованы те или иные библиотеки. Сравнивай разные реализации, читай msdn. Самый главный ресурс, если чего-то нет а интернете, есть на msdn. И никогда не копируй код, переписывай в ручную обдумывая каждую строчку, почему зачем и как это работает

по началу ничего не будет понятно, особенно десятки дочерних классов и т.п. Но тебе важнее набить базу, а как назвать метод, а как лучше написать.
Программирование это очень творческий процесс и если у тебя нет чувство прекрасного и внутреннего перфекциониста, то через анальную боль придётся этот навык развивать. И как сейчас через ссаные тряпки слушать недовольствия и плевки в сторону твоего кода.
Аноним 19/03/20 Чтв 13:27:27 1636962484
image.png (937Кб, 657x800)
657x800
Аноним 19/03/20 Чтв 15:05:59 1637072485
>>1636917
Ты когда книгу читаешь, тоже любишь, если абзацы по разным страницам разбросаны, и надо туда-сюда листать постоянно?
Аноним 19/03/20 Чтв 15:17:55 1637085486
>>1636763
>рефактор не всегда хорошо работает
Если ты используешь инструмент (не важно какой), ты обязан знать как этот инструмент работает и ты должен проверять его работу, а не слепо доверять ему. Тот же Re# выдаёт диалог со списком изменений, который он сейчас применит.

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

>как правильно давать имена?
никто этого не знает, куча проб и ошибок и со временем начинаешь свой стиль именования вырабатывать, который просто работает и команда к нему привыкает. Можно дать имена и небольшие методы сторонним людям почитать и спросить, как они их понимают за первые 10-20 секунд.
Аноним 19/03/20 Чтв 15:19:43 1637091487
>>1636765
Ты же не сказал что у тебя там за хранилище данных, json store ничего не говорит, может там документо-ориентированная ДБ, может ты json в sql хранишь.
Аноним 19/03/20 Чтв 15:45:14 1637107488
>>1637072
А код не книга, но в тех.справочниках часто приходится прыгать со страницы на страницу. Если методы названы нормально, то тебе не надо в него лезть, чтобы понять для чего он нужен. Ты когда в коде видешь File.WriteLine(), ты же не лезешь на referencesource смотреть что там и как по цепочке вызовов.
Аноним 19/03/20 Чтв 15:46:36 1637108489
Аноним 19/03/20 Чтв 15:47:03 1637110490
>>1636856
Не бойся, тут могут понапечатать всякой грязи, тебе от неё ни холодно, ни жарко. Зато кто-нибудь полезные комменты выдаст.
Аноним 19/03/20 Чтв 15:49:13 1637112491
Аноним 19/03/20 Чтв 15:51:58 1637115492
image.png (19Кб, 500x391)
500x391
>>1637112
>>1637108
ладно ладно, чего сразу смеяться, мне очень стыдно, я уже все изменить
Аноним 19/03/20 Чтв 15:55:34 1637120493
>>1637115
> класс Game_detalis
мать твою ебал.
Аноним 19/03/20 Чтв 15:56:48 1637123494
Аноним 19/03/20 Чтв 16:01:54 1637125495
>>1637123
Че_за_змейки? Есть же CamelCase.
Аноним 19/03/20 Чтв 16:07:41 1637127496
>>1637120
Detalis это чья-то фамилия? Так-то details.
Аноним 19/03/20 Чтв 16:09:25 1637128497
>>1637125
да писали уже ,только я не пойму почему так строго к этому относятся, ну есть кресочка, и что? это ни на что не влияет в данном конкретном случае
Аноним 19/03/20 Чтв 16:15:12 1637139498
.png (14Кб, 418x42)
418x42
Аноним 19/03/20 Чтв 16:15:40 1637140499
>>1636819
Нулл возвращать не пробовал? Как вариант
Аноним 19/03/20 Чтв 16:15:46 1637141500
Аноним 19/03/20 Чтв 16:17:16 1637144501
>>1637141
резонное замечание
Аноним 19/03/20 Чтв 16:18:55 1637147502
>>1637140
если будет нул может не быть ексепшина
Аноним 19/03/20 Чтв 16:25:20 1637151503
>>1637140
Так себе вариант. В большенстве случаев это просто заложить мину, на которой потом стелс-пихотинец подорвется кто-нибудь словит NRE. В новом шарпе даже костыль в виде нотналаблреференстайп завезли.
Аноним 19/03/20 Чтв 16:35:48 1637160504
>>1636819
Меня больше всего ConecxtDB зацепил. Инструменты для работы с внешними (не подконтрольными тебе) ресурсами должны передаваться в класс уже готовыми к использованию - DI.
Аноним 19/03/20 Чтв 16:37:08 1637163505
Аноним 19/03/20 Чтв 16:43:48 1637172506
>>1637160
а чем плох мой вариант?
Аноним 19/03/20 Чтв 16:59:02 1637195507
>>1637128
>строго к этому относятся
Вот если так писать "для себя", то так и привыкнешь писать. И уже тебя будет воротить от имен в проекте. А поверь, зайди на гит, все проекты на шарпе написаны Camel/Pascal case. И ты просто не сможешь воспринимать наименования
Аноним 19/03/20 Чтв 17:03:19 1637202508
>>1637151
Все лучше чем себе в ногу стрелять с гарантированным аутофрейнджем лол
Включаешь nullable reference types и возвращаешь Result? вместо Result.
Аноним 19/03/20 Чтв 17:07:25 1637205509
>>1637107
Одно дело документированный File.WriteLine(), который светлейшие архитекторы придумывали на века, из расчета, что его будут видеть сотни тысяч людей, а другое — какое-то название на отъебись, придуманное за 10 секунд, которое через полгода обросло портянкой аргументов из флажков и уже перестало отражать изначальный смысл.
Аноним 19/03/20 Чтв 17:09:32 1637206510
>>1637172
Целые книги и конференции посвящены этой теме. В мелком проекте с одним девом, который не будет использоваться 1000+ пользователей может и никакой.
Проблемы начинаются, когда кодобаза разрастается, когда для производительности приходится выбирать новые БД, когда твоя БД схема меняется и внезапно придётся вместо одного persistent слоя переписывать всё подряд. Для производительности и разруливания concurrent requests можно один dbContext несколько раз переиспользовать. Плюс new DbContext хреново покрывается тестами.
Аноним 19/03/20 Чтв 17:22:24 1637216511
>>1636518
Примерно как и его код.
Аноним 19/03/20 Чтв 17:40:51 1637230512
>>1637202
ты понимаешь что там должен быть гарантированный аутофрендж, если скрипт доходит до того ретурна он должен вывалить ексепишн такая была идея
Аноним 19/03/20 Чтв 17:42:35 1637232513
Аноним 19/03/20 Чтв 17:43:56 1637233514
>>1637195
ну тут ты прав. но разве это достаточная причина что бы взять и обоссать? я думаю это немного не адекватно...
Аноним 19/03/20 Чтв 17:54:26 1637243515
>>1637233
на то он и кровавый и страшный интерпрайз. Один шаг и расстрел
Аноним 19/03/20 Чтв 18:13:13 1637250516
>>1637243
что такое интерпрайз?
Аноним 19/03/20 Чтв 18:18:25 1637256517
Аноны прошу вашей помощи.
Есть данный проект: https://github.com/TwoChisel/TeleCloud

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

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

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

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

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

Заранее спасибо.
Аноним 19/03/20 Чтв 18:48:14 1637278518
Есть ли способ указать какие поля у функции будут, если внутри результат - анонимный тип? Просто в моем случае нельзя пользоваться кортежами, а object - ничего не говорит пользователю моего кода, пока он не посмотрит на то что там функция возвращает.
Аноним 19/03/20 Чтв 18:49:35 1637280519
>>1637278
> какие поля у функции будут, если внутри результат - анонимный тип
Какие поля будут у возвращаемого функцией значения, если внутри результат - анонимный тип
немного ясности вношу
Аноним 19/03/20 Чтв 18:53:30 1637284520
>>1637256
> Косит под тырпрайз
> Ни одного теста
Ну даже не знаю. А разбираться в коде - лень.
Аноним 19/03/20 Чтв 19:59:00 1637334521
>>1637202
Не не надо пытаться скрыть проблему. Если айтема нет а он точно должен быть, надо сказать, что данные хуйня и сделать харакири.
Аноним 19/03/20 Чтв 20:03:42 1637343522
>>1637278
>>1637280
Тебе не подходит анонимный тип, следовательно пиши обычный класс.
Аноним 19/03/20 Чтв 20:12:51 1637351523
>>1637343
Но это ж будет тупо. Класс чисто используемый в одном месте и нужный просто чтобы поместить данные из полей другого класса в себя. Неужели нельзя как-то так написать:
IEnumerable<{int: ID, string : username...}>? Ну, т.е. я знаю что нельзя конкретно так, но может быть есть аналог? Просто блин, в JS, который пришлось освоить, такую фигню делать можно и это оооооочень удобно, а тут вроде как есть кортежи, но asp.net core не умеет их нормально из коробки собрать в json чтобы ответ отослать, а тащить что-то откуда-то не хочется, на и пилить свой серелизатор кортежей в json - тоже. Ну да ладно, просто оставлю object'ами, работает же, ну и хуй с ним.
Аноним 19/03/20 Чтв 20:27:55 1637366524
>>1637351
Есть способ, но я тебе его не скажу, потому что он не для этого dynamic
>Но это ж будет тупо
Нет, шарп объектно ориентированный, так что делай очередной объект и не ной.
> тащить что-то откуда-то не хочется
С возрастом пройдет. Наверно еще и приложения в один файл собираешь?
>пилить свой серелизатор кортежей в json - тоже
Обычно два пути: или тащить готовое или пилить свое, привыкай.
>просто оставлю object
Потом рефлексией данные вытягиваешь?
Аноним 19/03/20 Чтв 21:02:12 1637399525
Стоит ли нуфагу юзать VS code, если я не надо мне столько гигабайт фреймворокв и прочее?
Аноним 19/03/20 Чтв 21:07:31 1637400526
>>1637399
Ньюфагу вообще хорошо бы с сишечки начинать, чтобы понять на кой хуй нужны другие языки. Но если совсем ньюфаг, то лучший путь - блокнот с подсветкой синтаксиса и сборка ручками. Так ты будешь понимать, что ты вообще делаешь. Мне вот было неприятно, когда я осознал, что не знаю как подключить свою же библиотеку без удобных инструментов из-за этого ускоренно на пару месяцев перескочил на описанный выше метод.
Ну и даю у VS Code никаких фреймворков из коробки нет. Изначально просто удобный редактор. То что ты его в IDE можешь превратить - другой вопрос. Фреймворки и прочее в студии. Вот.
Аноним 19/03/20 Чтв 21:07:50 1637401527
>>1637351
Посмотри на DTO pattern. Он нужен для пересылки всяких request/response объектов. Поскольку всё строго типизированно, то кучу ошибок можно отловить во время билда и можно запилить нормальную валидацию принимаемого объекта.
Ты json наверное через контроллер отправляешь? Если будет нормальный тип данных, то всякие Swagger'ы (OpenAPI) смогут разместить документацию о возвращаемых объектах, что облегчает задачу по поглощению твоего АПИ.
Аноним 19/03/20 Чтв 21:16:50 1637408528
>>1637400
>Ньюфагу вообще хорошо бы с сишечки начинать
Разве шарп не сам по себе легкий язык, как говорят многие?
Аноним 19/03/20 Чтв 21:21:59 1637415529
>>1637408
Он кажется легким. На деле там куча подводных камней. И вот сишечка, которая вроде как простая, но имеет миллион и один способ выстрелить в ногу на ровном месте, позволяет потом легко эти камни находить. Ну и опять же, многие вещи что ньюфагу кажутся сложными в шарпе, после сишечки будут казаться вполне тем чего не хватало, если не забъешь после нее на все это дело.
Аноним 19/03/20 Чтв 21:29:55 1637421530
>>1637415
Будет ли достаточно базовых знаний по си, чтобы можно было учить шарп?
Аноним 19/03/20 Чтв 21:43:17 1637436531
>>1637421
Та можно и без нах. Просто не попробовав хотя бы hex-редактор на сях сделать, решения более высокоуровневых языков будут с большим скрипом доходить. Ну, или я и все мои знакомые шарписты такие тупые, но нам в ВУЗе шарп начали на первом курсе давать и все это казалось жутко непонятным, а на втором как раз си дали и будто озарение почти у всех случилось, после того как понимаешь, на кой вообще все это надо, попробовав сделать рендер и компилятор на чистых сях.
Аноним 19/03/20 Чтв 21:44:13 1637437532
>>1637421
Во всех языках будут переменные, функции, работа с CPU и RAM. Во всех языках будут одни и те же базовые типы данных и дата структуры. Во всех языках будут работать одни и те же алгоритмы. Из всех языков есть доступ к стандартым АПИ (системные, сервисы, библиотеки).
Главное смысл понять, дальше особо не важно какой язык.
Аноним 19/03/20 Чтв 21:51:17 1637442533
>>1637437
Ну, это да. Но когда от тебя куча вещей что под капотом происходит неявно, ты просто не понимаешь как оно все работает. У шарпа, в этом как раз проблема. Ты можешь делать сразу какою-нибудь фигню на формах и даже не понимать, почему оно не работает или работает не так как ты думаешь, а таки сделав что-то не понимать что оно на самом деле делает и, соотетственно, в случае какой-то хуйни не сможешь пофиксить быстро. В этом плане как раз пописать на сях сильно помогает, хотя бы чисто для того чтобы в общем понимать как компьютер работает что что на самом деле делает программист. Опять же, стандартные проблемы больших проектов(ну или хотя бы средних) встретить и понять, на кой вообще это ООП сдалось и почему его сейчас, при всех минусах, остается стандартом для индустрии и т.д.
Аноним 19/03/20 Чтв 22:51:02 1637495534
Ну чо. вышел .NET 5 Preview. Что думаете по этому поводу?
Аноним 19/03/20 Чтв 22:52:35 1637496535
>>1637334
Тогда для этого нужно явно кинуть ошибку, а не провоцировать ее искуственно
Аноним 20/03/20 Птн 05:19:21 1637641536
>>1636501
А что тебе не нравится в символе подчеркивания? Ты попробуй там пробел напиши или точку...
Аноним 20/03/20 Птн 05:28:08 1637642537
>>1636383
int lower_index = list.IndexOf(list.Min());
Аноним 20/03/20 Птн 05:32:05 1637643538
>>1637642
Всё-же лучше так:
int lower_index = (list.Any() ? list.IndexOf(list.Min()) : -1);
Вернёт значение даже если список - пустой.
И никаких циклов и методов не надо.
Аноним 20/03/20 Птн 05:32:29 1637644539
Аноним 20/03/20 Птн 05:42:23 1637646540
>>1637642
>>1637643
Вот пидорги жсные. Посчитайте space и time complexity ваших вариантов и сравните с обычным циклом for.
Аноним 20/03/20 Птн 08:24:59 1637685541
А какие книги посоветуете ньюфагу в программировании вообще? Yellow book или ещё что-то есть?
Аноним 20/03/20 Птн 08:53:16 1637699542
>>1637646
По крайней мере, это лучше чем вызов Contains на каждой итерации.
Представь, что элементов в списке - миллиард, и наименьшее значение 999,999,995, остальные - повторяются находясь в диапазоне от 999,999,996 до миллиарда. Наименьший элемент со значением 999,999,995 - находится в индексе 999,999,999.
И вот тут-то - твой for с Contains интенсивно отсасывает.
Аноним 20/03/20 Птн 10:26:44 1637742543
>>1637641
Так даже жс-еры не делают. Зачем кому-то там писать пробелы или точки, еслиЕстьОбщепринятыйКэмелКейс. Все таки когда уже прочитал тонну кода, такие инородные для язвыка вещи вызываю дискомфорт и отвлекают на себя внимание.
>>1636383
Это какой-то треш завязываться на положение элемета в коллекции. Нужен доступ к элементу по айди, делай словарь у него поиск по ключу O(1).
>>1637644
Так там по "итератору" и в Ани и в ИндексОф и Мин. Ты можешь свой поиск вынести в метод и сделать все за один проход.
Аноним 20/03/20 Птн 15:25:56 1638099544
>>1637699
Contains, Any, Min и indexOf для массивов и списков выполняются за O(n), потому что начинается линейные просмотр всего списка с начала. Отсасывают все методы одинаково.

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

HashMap/HashSet (в C# есть Dictionary) выполняет Contains за O(1), т.е. сразу, без перебора. Эти структуры данных нужны когда чтение данных происходит намного чаще, чем запись.
Аноним 20/03/20 Птн 15:38:31 1638122545
>>1638099
>List и прочие IEnumerable не гарантируют последовательности, в которой сохраняются элементы, поэтому нужный элемент может находиться где угодно.
Лист гарантирует, иначе нет смысла в методах Sort, Insert etc. А вот словари, хэш-таблицы по понятным причинам нет.
Аноним 20/03/20 Птн 16:24:32 1638198546
>>1638122
Ты прав.

>>1637699
Если порядок элементов гарантирован, то для этого существует бинарный поиск, который позволяет избежать создания хэшей и линейного поиска по всей коллекции.
Binary search - O(log n)
Аноним 20/03/20 Птн 20:03:41 1638401547
>>1637685
Я всегда советую придумать проект и его реализовывать. В процессе сам все поймешь без всяких книг. А книги забываются быстро. Но вообще, бери любую, где есть упражнения и вопросы для самопроверки, это лучший способ что-то учить так чтобы оно не выветрелось через 10 минут после прочитанного.
Аноним 20/03/20 Птн 20:07:08 1638407548
>>1638198
>Если порядок элементов гарантирован, то для этого существует бинарный поиск
Бинарный поиск работает только для отсортированных коллекций.
Аноним 20/03/20 Птн 20:08:24 1638410549
>>1638407
Ну тогда быструю сортировку и бинарный поиск
Аноним 20/03/20 Птн 21:01:13 1638475550
Аноны, где можно базу поднять? А решил прогером стать, открыл документацию по ASP.NET Core MVC, и там началось: Entity Framework Core, менеджеры пакетов NuGet, Контексты базы данных, Свойства наборов сущностей, шаблоны контроллеров с представлением, миграция БД. Хули так сложна? Что это вообще такое? Где про это можно почитать с объяснениями в одном месте и в разрезе одного кейса?
Аноним 20/03/20 Птн 21:16:28 1638504551
>>1618705 (OP)
Мне надо сниффить из нетворка скидку на товар и купить его, если скидка больше 32%, чем можно это сделать?
Аноним 20/03/20 Птн 21:17:48 1638505552
Аноним 20/03/20 Птн 21:21:00 1638510553
>>1638475
Просто принимай все это как данность, а не думай. Решай этими инструментами свои задачи и все само понятно станет. Срсли.
Аноним 20/03/20 Птн 21:59:15 1638567554
>>1638510
удваиваю.

>ASP.NET Core MVC
пили пет проджект и по ходу дела станет ясно как всё работает.
Аноним 20/03/20 Птн 22:09:33 1638581555
>>1638410
Тогда лучше сразу использовать SortedList. Добавление элемента за О(n) и поиск за O(Logn)
Аноним 20/03/20 Птн 22:17:49 1638591556
>>1638505
Да как мне в принципе кодом зайти в нетворк и найти там чё-то, я просто вообще ламер в проге
Аноним 20/03/20 Птн 22:21:10 1638594557
Аноним 20/03/20 Птн 22:33:43 1638610558
Аноним 20/03/20 Птн 23:43:17 1638716559
>>1618705 (OP)
Как ваш ебоманный веб апи разобрать, нихуя сука не понятно
Аноним 21/03/20 Суб 04:44:24 1638872560
>>1638716
Так интересно иногда подобные вопросы слушать. На работе обсуждаешь, и думаешь "какой хуйнёй я занимаюсь, вот есть же у людей нормальные сложные интересные профессии, а мы тут в бирюльки играем". Для нас это всё как 2+2 давно и никаких сложностей нет, коллеги тебя с полуслова понимают, начнёшь объяснять концепцию - посмотрят как на дурака, потому что это давным давно всем известно.

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

И ты такой думаёшь: ёба, или люди отупели, или ты реально ко всей этой сложноте за годы так привык, что оно тебе как детский сад кажется.
Аноним 21/03/20 Суб 05:57:04 1638874561
>>1638872
Тупой не тот, кто не понимает, а тот, кто не способен объяснить.
Аноним 21/03/20 Суб 09:26:35 1638904562
>>1638874
Тупой тот, кто ты. Дж.Стейтем.
Аноним 21/03/20 Суб 14:43:47 1639130563
>>1618705 (OP)

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

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

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

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

С меня как всегда.
Аноним 21/03/20 Суб 15:17:45 1639183564
>>1639130
Какой ты вообще объект создаёшь? Нихуя не понятно в твоём тексте, проясняй и тащи свой код.
Аноним 21/03/20 Суб 15:51:53 1639233565
Безымянный.png (579Кб, 1920x1080)
1920x1080
>>1639183

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

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

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

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

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

В конечном виде, программка должна принимать от пользователя характеристики звезды и планет, отрисовывать их макеты в заданном поле и давать возможность посчитать какие-нибудь штуки, например, расстояние от конкретной планеты до солнца, силу притяжения, которая действует на то или иное небесное тело и т.п.
Аноним 21/03/20 Суб 16:07:04 1639262566
>>1639233
Как-то так: https://pastebin.com/LrH62ggA (из panel1_Paint код надо убрать, разумеется).

Вот только чем тебе это поможет? Судя по твоему коду, ты даже азов не знаешь.
Аноним 21/03/20 Суб 16:35:46 1639316567
>>1639262

Ну, узнаю, что теперь делать. Спасибо, Анон.
Аноним 21/03/20 Суб 19:41:10 1639477568
>>1638475
>>1638510
>>1638567
Ладно, решил забить на детали, подключил базу по статье в документации, все работает.
Где теперь дешево впс арендавать, чтобы в более реальных условиях все затестить? Предложений то куча, и я хз, что мне выбрать, чтобы потом, при возникновении косяков, я знал, что это мои косяки, а не они там за условные 250 рублей мне говно вместо услуг оказывают.
Аноним 21/03/20 Суб 21:48:39 1639580569
Аноним 21/03/20 Суб 21:52:36 1639591570
>>1639477
Azure на год хостинг бесплатно даёт. Там инструментов, которые в бесплатный пакет входят, более чем достаточно для твоего проекта.
App Service, DB (Sql Server, Postgres, можно вообще In-Memory для тестов), аналитика с логами.
Аноним 21/03/20 Суб 22:58:56 1639651571
>>1639591
Я не хочу облака, облака дорогие. Год то закончится рано или поздно.
Аноним 21/03/20 Суб 23:31:58 1639675572
>>1639651
>в более реальных условиях все затестить?
>Год то закончится рано или поздно.
Чё у тебя там за многолетние тесты?
Аноним 21/03/20 Суб 23:36:26 1639679573
>>1639675
Тесты, разумеется, не многолетние я надеюсь, просто смысл мне все тестировать в облаках, если потом я все равно ими пользоваться не буду (ибо дорого)?
Аноним 21/03/20 Суб 23:43:19 1639685574
>>1639679
Код и конфигурацию то будешь одну и ту же закидывать. Оттестишь, узнаешь что твой код норм работает, потом точно сможешь хостинг обвинять, когда в дешёвый впс переедешь.
Аноним 21/03/20 Суб 23:48:56 1639688575
>>1639685
Так там же (на серверах) закидывать тоже нужно уметь, администрировать все это дело штоб работало. Как я смогу хостинг обвинять, если я, может быть, буду неправильно настраивать сервер?
Аноним 22/03/20 Вск 00:21:57 1639705576
Анон, собираюсь на курсач писать спамер ботами в майнкрафте. Кто то может пояснить каким образом там происходит подключение? Хотя бы примерно, а то я раньше дальше http запросов и не ходил.
Аноним 22/03/20 Вск 03:18:05 1639741577
>>1639705
>майнкрафте
>дальше http запросов и не ходил.
пошел нахуй, уебывай отседова грязь
Аноним 22/03/20 Вск 03:19:12 1639742578
Кто деплоил ASP.NET Core Web API и хостил на локальную тачку на домен? Скиньте ссыль, а то MSDN не торт
Аноним 22/03/20 Вск 04:55:24 1639751579
Как выбрать между ASP.NET Core Razor Pages, MVC и API?
Аноним 22/03/20 Вск 06:50:25 1639770580
>>1639751
>>1639742
>>1639705
Это не вопросы. Это ёбаный в рот какой-то.
Причём тут asp.net и домен и локальный хостинг? Как эти 3 вещи вообще зависят друг от друга? Хуёмаё, иди читай как DNS работает! Потом как работает web server. Asp.net тут вообще не причём.

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

Про майнкрафт - выпились плиз.
Аноним 22/03/20 Вск 06:53:30 1639771581
>>1639770
структуру
аббревиатуру
После пива чё-то не очень печатается.
Аноним 22/03/20 Вск 07:18:00 1639772582
>>1639770
Этот дебил из Майнкрафта не только этот тред засрал кстати
Вкатывальщики совсем ебанулись. Чем дальше к сингулярности тем охуевшей вкатчики.
Аноним 22/03/20 Вск 10:07:56 1639796583
Сколько стоит переписывание программы с крестов на шарп? Всего около 20к строк.
Аноним 22/03/20 Вск 13:49:56 1639875584
>>1639796
Зависит от того, что за программа, разумеется. Одно дело переписать формошлёпский клиент для работы с данными из БД, и совсем другое, например, какой-нибудь рендерер сложной хуйни с дикими матмоделями.
Аноним 22/03/20 Вск 14:01:28 1639886585
Аноним 22/03/20 Вск 20:45:35 1640227586
>>1639886
Строкой считается 255 символов, а не перевод строки.
Аноним 23/03/20 Пнд 00:40:49 1640389587
>>1639770
>Причём тут asp.net и домен и локальный хостинг? Как эти 3 вещи вообще зависят друг от друга?
- Проект на чем? На ASP.NET Core
- Где хостим? На локальной тачке
Что тебе блять не понятно? DNS я знаю как работает, как и web server
>Asp.net тут вообще не причём.
понятно, у тебя проекты .NET-та на апаче или на nginx крутяться? Выебщик хуев, тутор лучше скинь какой ни будь, а не выебывайся
Аноним 23/03/20 Пнд 09:02:05 1640489588
Аноним 23/03/20 Пнд 11:16:54 1640548589
>>1640489
ничего другого от такого дауна и не мог ожидать
Аноним 23/03/20 Пнд 14:49:36 1640705590
стоит ли вкатываться в шарп по Троелсону? или лучше с какого-нибудь другого учебника начать?
Аноним 23/03/20 Пнд 15:14:14 1640721591
hqdefault.jpg (8Кб, 480x360)
480x360
>>1640705
>стоит ли вкатываться в шарп
начни лучше с такого вопроса
Аноним 23/03/20 Пнд 15:59:18 1640742592
>>1640721
я думаю стоит. мне в целом нравится этот язык. и это главное. думаю если погонишься за большими деньгами на нелюбимый язык, то тебя остаебёт и ты быстро выгоришь.
Аноним 23/03/20 Пнд 16:04:06 1640749593
Аноним 23/03/20 Пнд 16:12:00 1640758594
>>1640749
Нет. Я пробовал Python и Java, но чёт как-то такое.
Аноним 23/03/20 Пнд 16:40:50 1640783595
>>1640758
C# от Джавы принципиально не отличается.
Аноним 23/03/20 Пнд 17:14:57 1640809596
>>1640742
если просто нравится кодить - конечно стоит, если хочешь еще копеечку заработать - думаю стоит задуматься
Аноним 23/03/20 Пнд 18:01:02 1640852597
image.png (51Кб, 632x316)
632x316
image.png (31Кб, 711x322)
711x322
image.png (60Кб, 1098x304)
1098x304
Анон, что оно от меня хочет? я не понимаю...
Аноним 23/03/20 Пнд 20:39:59 1641014598
Аноним 23/03/20 Пнд 20:43:52 1641022599
>>1640809
Так а разве на си шарпе нельзя копеечку заработать? Я глянул вакансии, джунов ищут - норм. и притом не как на Java в 99.9% в требованиях знания сахарка из спринга с аннотациями, а вполне так в разные области можно попробовать. даже где-то видел, что формочки шлепать можно.
Аноним 23/03/20 Пнд 21:44:26 1641059600
>>1641022
я бы копеечку на другом зарабатывал, но раз ты видел вакансии, да еще и джунов - то вперед и с песней. Потом поплачешь расскажешь, как все прошло
Аноним 23/03/20 Пнд 22:48:12 1641130601
Почему тред затух в последнее время? Вы же раньше вон какими активными были, после 500 перекатывали, по всей доске был слышен шарп, а сейчас...
Аноним 23/03/20 Пнд 23:05:11 1641153602
>>1640852

У тебя на 3 скрине два контрола с одинаковым DataField="name"

Аноним 23/03/20 Пнд 23:10:16 1641156603
>>1641059
Интересно послушать, на чём бы ты копеечку заработал бы?
Аноним 23/03/20 Пнд 23:10:52 1641157604
>>1641130
все разочаровались и перешли на JS((((
Аноним 23/03/20 Пнд 23:11:59 1641161605
>>1641153
ТОЧНЯК это из аз этого может быть, как я не додумался, спасибо бро!
Аноним 23/03/20 Пнд 23:14:28 1641162606
>>1641157
TS оказался нужнее шарпа. А что, удобно, на реакте с нодой сайтик набросал и готово тестовое. А это учить 2 языка, еще и там фреймворк, и там асп нет.
Аноним 23/03/20 Пнд 23:22:48 1641168607
>>1641161

Это что-то самописное? Не признаю что-то таких контролов в стандартной поставке.
Аноним 23/03/20 Пнд 23:31:06 1641179608
>>1641168
да, это самописное, но шаблон популярен, и не сложно гуглиться
Аноним 24/03/20 Втр 01:24:16 1641228609
Анон, подскажи, почему у меня при выполнении данной программы (вычисление суммы депозита) с заведомо известным результатом (100 12 1) выдает не 101, а 101,0045960887181. Все уже перепроверил, формула правильная.
https://pastebin.com/HXJUXF0Q
Может, с типами данных что-то не так? Вроде в комментариях на сайте все через double делали.
https://ulearn.me/course/basicprogramming/Praktika_Protsenty__6cc09002-9973-4328-a31b-c7343f8c6b5d
Аноним 24/03/20 Втр 05:40:49 1641259610
Аноним 24/03/20 Втр 06:17:24 1641261611
Какой конвеншн в Шарпе?

++var;
или
var++;
Аноним 24/03/20 Втр 07:00:17 1641264612
>>1641261
Это не от конвеншена зависит, а от твоих целей. Если нужно использовать новое значение, то ++x, если старое, то x++
Аноним 24/03/20 Втр 07:44:39 1641274613
>>1641264
>Если нужно использовать
Не нужно использовать. Просто инкремент. Какой конвеншн?
Аноним 24/03/20 Втр 08:09:27 1641278614
>>1641264
>Если нужно использовать новое значение, то ++x, если старое, то x++
У тебя признаки рака мозга, обратись к врачу.
Аноним 24/03/20 Втр 08:58:37 1641289615
Вопрос по могильным приложениям.

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

Вот допустим приложение под 4 ведроид может работать на 7, есть какая-то совместимость у версий ведроида???
Аноним 24/03/20 Втр 11:08:11 1641352616
>>1641156
только ойти долбоебы бегают и кричат на каждом шагу, что они 300кк зарабатывают
Аноним 24/03/20 Втр 13:24:28 1641500617
Аноним 24/03/20 Втр 14:15:59 1641527618
>>1641500
Я же серьёзно спрашиваю
Аноним 24/03/20 Втр 15:49:12 1641610619
>>1641228
Подсобите в данном вопросе, господа, хочу дальше по сайту шагать.
Аноним 24/03/20 Втр 15:53:03 1641615620
>>1641162
>А что, удобно, на реакте с нодой сайтик набросал и готово тестовое.
И миллион школьников, размышляя так же, набрасывают сайтик на реакте с нодой и идут конкурировать за зарплату в 20к. А вот в ASP школьники не могут, поэтому мы по 80к на первых работах получаем.
Аноним 24/03/20 Втр 16:23:48 1641641621
>>1641228
Да, дело в даблах, они не точные. Деньги обычно считают в decimal.
Аноним 24/03/20 Втр 16:40:42 1641655622
>>1641641
>double: хранит число с плавающей точкой от ±5.010-324 до ±1.710308 и занимает 8 байта.

Хз, конечно, но вряд ли это может дать погрешность до 3 знака после запятой...
Аноним 24/03/20 Втр 16:43:53 1641659623
>>1641655
Ошибки могут накапливаться во время вычислений.
Аноним 24/03/20 Втр 16:48:40 1641663624
image.png (13Кб, 430x88)
430x88
image.png (347Кб, 750x802)
750x802
15675033651710.mp4 (19546Кб, 854x480, 00:03:06)
854x480
Sup Aноны, пытаюсь делать лабы по виндоус формам на С#, но что-то я явно не понимаю в математике этого языка.
Есть код: https://pastebin.com/6rta9mzT
Есть интерфейсс, пик2. И есть задача с контрольными значениями, пик1. И вот результат "Результат U = -40,6306940893479". Подскажите, что я делаю не так? Где я проебался?
Аноним 24/03/20 Втр 16:58:01 1641667625
>>1641663
А уверен что arcsin^2(z) === (arcsin(z))^2?
Аноним 24/03/20 Втр 17:05:45 1641672626
>>1641228
>>1641659
Да нет, это я дурак, перепутал переменные в формуле... Все работает, как нужно.
Аноним 24/03/20 Втр 17:06:35 1641673627
>>1641274
Если просто использовать, значит у тебя говнокод.
>>1641278
>этот подрыв вкатывальщика, который не знает разницу между x++ и ++x
Аноним 24/03/20 Втр 17:08:49 1641677628
>>1641667
Окей похоже мне не хватает знаний маразматики, я не уверен. Я думал да. Но как это должно выглядеть в коде, если это не так ?
Аноним 24/03/20 Втр 17:10:16 1641681629
>>1641677
*математики, быстрофикс
Аноним 24/03/20 Втр 17:10:29 1641682630
>>1641677
>>1641663
Нахуй тебе программирование, если ты даже формулу переписать не можешь?
Аноним 24/03/20 Втр 17:13:47 1641687631
>>1641682
Всё я понял, написал
double b = (Math.Asin(z)* Math.Asin(z) - Math.Abs(x - y));
но до сих пор не понимаю в чём разница, с
double b = (Math.Pow(Math.Asin(z), 2.0) - Math.Abs(x - y));
Аноним 24/03/20 Втр 17:25:06 1641710632
>>1641687
Нет я нихуя не понял, это одно и тоже
Аноним 24/03/20 Втр 18:07:00 1641752633
>>1641673
>инкремент
>Если просто использовать, значит у тебя говнокод.
Охуеть, что несёт.
Аноним 24/03/20 Втр 18:21:49 1641764634
>>1641752
Мань, почему еще здесь а не в гугле с запросом отличия префиксного инкремента и постфиксного?
Аноним 24/03/20 Втр 18:22:23 1641765635
153564352.png (2Кб, 285x156)
285x156
>>1641655
И до первой может. Они в памяти так представлены, тут не в количестве цифр после запятой дело.
Аноним 24/03/20 Втр 18:26:54 1641767636
>>1641764
Шизоид, кто вообще спрашивал об их различии?
Аноним 24/03/20 Втр 18:45:05 1641772637
>>1641767
Это же ты уже которой пост горишь от незнания этого, ты не спрашивай, ты сразу учи и в следующий раз не обосрешься.
Аноним 24/03/20 Втр 19:00:08 1641785638
>>1641772
Приятель, у тебя провалы в памяти? Мы вроде с тобой уже установили, что возвращаемое значение мною не используется, соответственно преинкремент и постинкремент функциональной разницы не имеют. На что ты заявил, что использовать инкремент и не считывать возвращаемое значение — признак говнокода. Я такому заявлению несказанно удивился, ведь я могу накидать тебе подобных примеров использования инкремента хоть из кода самого дотнета.

И тут у тебя случился откат и ты снова взялся повторять про эту разницу, и что никто здесь кроме тебя якобы этого не знает. Так вот, что с тобой не так, в чём твоя проблема? Зачем ты продолжаешь как одержимый повторять одно и то же, что никто здесь даже не обсуждает?
Аноним 24/03/20 Втр 19:03:55 1641788639
>>1641785
>ведь я могу накидать тебе подобных примеров использования инкремента хоть из кода самого дотнета.

Сычуш, когда-нибудь ты вырастешь, возможно поумнеешь, и поймёшь, что идеального кода не бывает, потому что не бывает идеальных компиляторов, идеальных IDE и идеальных языков программирования. Да-да, сычуш, постарайся не сильно травмироваться с осознанием этого, а то я смотрю у тебя там манямирок полностью реальность затмил.
Аноним 24/03/20 Втр 19:10:30 1641803640
>>1641765
Твой пример это не подтверждает, там разница в миллиардных долях, а то и меньше.
В python такая же чепуха с float, дает допустимую точность все равно.
Аноним 24/03/20 Втр 19:11:47 1641806641
>>1641788
Где я называл код дотнета идеальным?

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

Я правильно понимаю, что код .NET Core — это говнокод, а твой код — это не говнокод? И на чём именно основано такое убеждение, можно поинтересоваться?
Аноним 24/03/20 Втр 19:17:57 1641817642
>>1641806
Ты всё сам поймёшь, ровно после того, как перестанешь додумывать чушь вида "а твой код — это не говнокод"на основе утверждений о каком-либо коде. Если человек что-то называет черным, это не значит, что у него всё белое. Понимаешь, сычуш?
Аноним 24/03/20 Втр 19:19:37 1641822643
>>1641817
Хорошо, эту часть опустим. Код .NET Core — это говнокод? На чём основано это убеждение?
Аноним 24/03/20 Втр 19:24:48 1641837644
>>1641822
На том, что любой код это говнокод, я уже выше писал.
Аноним 24/03/20 Втр 19:29:24 1641846645
>>1641837
Тогда в чём был смысл утверждения
>Если просто использовать, значит у тебя говнокод.
если оно не несёт никакой информации? Или всё же в простом инкременте есть какая-то своя особая говнистость, отличающая такой код от всех прочих говнокодов? В чём же она заключается?
Аноним 24/03/20 Втр 19:32:21 1641853646
>>1641846
Смысл в том, что нужно всегда понимать что ты делаешь и предназначение инструментов, которыми ты пользуешься. По твоему самому первому вопросу, можно понять, что ты этого не понимаешь.
Аноним 24/03/20 Втр 19:41:07 1641862647
>>1641853
С чего же ты взял, что я не понимаю, что делаю и чем пользуюсь? Разработчики .NET тоже не понимают, что делают и чем пользуются? Они ведь точно так же используют инкремент. Не хотел, но боюсь, что стоит повторить, а то вдруг у тебя опять случится провал в памяти и ты начнёшь задвигать про разницу пре- и постинкрементов: ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ НЕ СЧИТЫВАЕТСЯ. ВСЯ ИНСТРУКЦИЯ ПРЕДСТАВЛЯЕТ СОБОЙ ЛИШЬ ИНКРЕМЕНТ ПЕРЕМЕННОЙ. ОТ ПЛЮСОВ СПЕРЕДИ ИЛИ СЗАДИ ЛОГИКА ПРОГРАММЫ НЕ ИЗМЕНЯЕТСЯ.
Аноним 24/03/20 Втр 19:43:16 1641867648
Аноним 24/03/20 Втр 19:48:34 1641870649
>>1641867
И что там? Ты не понимаешь, что разницы в логике программы между
var++;
и
++var;
нет никакой совершенно? Или ты считаешь, что она есть? Какая же?
Аноним 24/03/20 Втр 20:01:30 1641881650
>>1641672
Нет, не работает. У нас тех, кто хранил деньги не в decimal - отчисляли нахуй.
Аноним 24/03/20 Втр 20:32:13 1641914651
>>1641881
Так стоит задача на сайте, я так понимаю, что если требуют результат вывести в double, то и расчеты стоит вести в нем, с decimal уже нужно использовать всякие хитровыебанные методы для возведения в степень, деления и т.д.
Ну и мне простительно, я машиностроитель по образованию.
Аноним 24/03/20 Втр 21:50:16 1642019652
>>1637400
Уже вижу челика который солюшен на core с 20+ проектами в сублайме редачит, ага
Или это такой троллинг, а я не выкупил
Аноним 24/03/20 Втр 22:30:34 1642064653
>>1641673
Ты еблан какой-то, в почти любом цикле есть инкремент, который просто вызывается в конце итерации и его значение никуда не присваивается. И там абсолютно до пизды i++ или ++i кроме конвенции.
мимо
Аноним 24/03/20 Втр 23:39:23 1642143654
Ебать, а у кого какие петы?
Аноним 24/03/20 Втр 23:41:22 1642145655
>>1642064
В голос, блять, еще один дегенерат. Какой нахуй конвенции, тупоголовая скотина? Вот написано у тебя в конвенции ++x и ты хуячишь ++x там где нужно x++? Так ты себе это представляешь, хуесосина?
Аноним 25/03/20 Срд 00:20:01 1642174656
Аноним 25/03/20 Срд 04:11:28 1642224657
>>1642145
>Вот написано у тебя в конвенции ++x и ты хуячишь ++x там где нужно x++?
Вкатывальщик порвался, несите нового.

>Вот написано у тебя в конвенции ++x
Не написано. ВСЕГДА используется x++;
>ты хуячишь ++x там где нужно x++?
Тебе руки нахуй оторвут, если ты будешь в коде использовать возвращаемое значение инкремента.
Аноним 25/03/20 Срд 04:40:58 1642229658
>>1642224
В голос с долбоеба.
Аноним 25/03/20 Срд 05:24:22 1642235659
>>1642145
>Вот написано у тебя в конвенции ++x и ты хуячишь ++x там где нужно x++?
И ты хуячишь ++x там, где не имеет значения, ++x или x++. Почему ты настолько тугой?
Аноним 25/03/20 Срд 06:20:18 1642240660
image.png (115Кб, 400x400)
400x400
>>1642145
>в почти любом цикле есть инкремент, который просто вызывается в конце итерации и его значение никуда не присваивается. И там абсолютно до пизды i++ или ++i кроме конвенции.
>Вот написано у тебя в конвенции ++x и ты хуячишь ++x там где нужно x++?

Тебе родителей не жалко? Им же приходится до сих пор тебе жопу вытирать.
Аноним 25/03/20 Срд 11:11:47 1642298661
>>1642145
типичный # вкатывальщик. Вам не зашквартно с такими в одном комьюнити сидеть? Даже JS макаки такой хуйни не пишут
Аноним 25/03/20 Срд 13:48:47 1642423662
image.png (36Кб, 925x694)
925x694
image.png (87Кб, 940x565)
940x565
image.png (20Кб, 513x387)
513x387
Блядь, вот какого хуя, несколько Fixed столько весит? Это ж пиздец какой-то. Каждые пару недель выкачивает под гигабайт, сука. Похуй, трафик безлимитный на 4г, но время-то дохрена уходит, ладно хоть ноут не старый, а на старой железке без SSD можно пол рабочих дня на такое говно потерять.
Аноним 25/03/20 Срд 17:27:05 1642580663
Аноним 25/03/20 Срд 18:39:21 1642654664
>>1642423
>время-то дохрена уходит
>сам вручную устанавливает незначительные обновления
?
Аноним 25/03/20 Срд 18:52:19 1642676665
Кто может подкинуть инфу по проекту на asp.net core web api + клиенская часть (react/angular/vue)? Я знаю, как задеплоить на хост приложение MVC, но блять ума не приложу, как работает это с разделенным backend и front. Пробовал тупо кидать в wwwroot сборку webpack, но хуй. Заранее спасибо
Аноним 25/03/20 Срд 18:57:55 1642680666
Ребят, я научился в LINQ, возьмите на работу
Аноним 25/03/20 Срд 20:24:50 1642738667
>>1618705 (OP)
Сап, шарпач.
КАК ЖЕ ЗАЕБАЛ ЭТО ЕБАНЫЙ ДЕБИЛЬНЫЙ МУДАЦКИЙ АБОРТИРОВАННЫЙ НИГИЛЛИСТИЧЕСКИЙ ПИДОРАСТИЧЕСКИЙ ВЫПЕРДЫШ ТУПОГОЛОВЫХ НИЗКОЦЕФАЛЬНЫХ ПРОФНЕПРИГОДНЫХ УБЛЮДОЧНЫХ ОБСОСНЫХ СРАНЫХ ДЕВЕЛОПЕРОВ - ТУПОЕ ГОВНО ТУПОГО ГОВНА, NuGet
Как ебаный прокси с доменным юзером на нугу накинуть? Я уже три часа пытаюсь скачать ссаный индекс. Пробовал и в урл прописываться, и через CLI - все хуйня, 407.
Аноним 26/03/20 Чтв 00:10:49 1642850668
>>1642676
Смотря какой нужен конечный результат и на чем хостить.
Аноним 26/03/20 Чтв 01:32:52 1642875669
>>1642850
asp.net core 3.0 бэк, react js - фронт. Хостим на сервере, IIS. Какая еще информация нужна?
Аноним 26/03/20 Чтв 12:49:04 1643029670
image.png (133Кб, 1499x668)
1499x668
image.png (56Кб, 1505x579)
1505x579
Всем привет. Может подскажете в чем соль.
Нужно создать зубчатый массив и запилить в него всякие свойства и методы. Застрял на моменте ввода значений в массив с клавиатуры подскажите в чем соль может быть где проебался вот скрины кода.
Аноним 26/03/20 Чтв 13:41:38 1643074671
>>1643029
>зубчатый массив
>запилить в него всякие свойства и методы
>Застрял на моменте ввода значений в массив с клавиатуры
У тебя все ок? Не болен?
>может быть где проебался
за тебя IDE все делает - читай exception
Аноним 26/03/20 Чтв 14:18:38 1643104672
>>1643029
Все хуйня, давай по-новой.
Во-первых, нэйминг. m, n - ни о чем не говорит, doubleArray - запутывает, SteppedArray - это называется Jagged/Ragged array, GetArrayToConsole - абракадабра и т.д.
Во-вторых, подсчет элементов неверный, это для матрицы так можно, а ступенчатый массив может быть таким
a, b, c
d
e,f,g,h,i,j,k,l
По поводу исключения, смотри что вводишь в консоль, на вход ожидается целое число
Аноним 26/03/20 Чтв 15:40:53 1643157673
>>1643029
Кто таких долбоебов на свет рожает?
Аноним 26/03/20 Чтв 16:01:16 1643173674
Аноним 26/03/20 Чтв 16:01:33 1643174675
Аноним 26/03/20 Чтв 16:10:59 1643187676
>>1643029
1) Ты проебался с изучением предметной области. Читай про IEnumerable<>.
2) Ты читаешь всю строку с консоли. Если я напишу дичь а-ля

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

, то стандартный метод спарсит тебе Exception, который ты не ловишь.
Поэтому, как минимум TryParse(), а лучше регексы+валидатор. Есть еще вариант с try..catch, но это полная хуйня.
3) Если лезть совсем в залупу, то ты проебался с тестированием. Вместо автоматизированного теста у тебя долбежка в консоль. Но ты совсем зеленый, забей на тесты до первого проекта с хотя бы 10-ю классами.
Аноним 26/03/20 Чтв 16:24:29 1643202677
А вообще, я хуею с этих вузовских методичек по программированию:
УРОК 1
@
ПЕРЕМЕННЫЕ, ТИПЫ, УПРАВЛЯЮЩИЕ КОНСТРУКЦИИ
@
УРОК 2
@
ФУНКЦИИ, МАССИВЫ, СТРУКТУРЫ
@
УРОК 3
@
КЛАССЫ
@
УРОК 4. ПРАКТИЧЕСКОЕ ЗАНЯТИЕ
@
РЕАЛИЗОВАТЬ С НУЛЯ ПОТОКОБЕЗОПАСНУЮ OBSERVABLE BTREE COLLECTION С ПАРАЛЛЕЛИЗМОМ
Аноним 26/03/20 Чтв 17:49:28 1643272678
>>1643202
>урок 4 практическое занятие
>считать данные из консоли и добавить в многоуровневый массив
>пук среньк маам скажи им пачиму так сложно ряяя двааач памахай!!
Аноним 26/03/20 Чтв 17:59:22 1643285679
>>1618705 (OP)
Существует ли способ
определить кодировку bytearray,
прежде чем сделать convert bytearray -> to string?

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

В общем-то, задача в следующем. "data" (text or binary) -> text1 -> bytearray -> text2; (text1 === text2)
Аноним 26/03/20 Чтв 18:23:26 1643307680
>>1643272
Тут не про сложность и не про отсутствие практических занятий.
С самого начала втирают императивку, которой можно выделить 2 часа, а потом удивляются почему в профессии кругом сплошные быдлокодеры, не пригодные даже в экселе таблички сводить. НЕТ, ПОЛГОДА ЗАДАНИЙ НА ДРОЧКУ БАЙТОВ ИЗ МАССИВА В МАССИВ - ЭТО ЗАЕБИСЬ, ТРУЪ НА ЭТОМ ВЫРАБОТАЕТ НУЖНОЕ МЫШЛЕНИЕ ПИЗДИТЬ КОД НА STACKOVERFLOW, А НЕ-ТРУЪ РАЗОЧАРУЕТСЯ И СТАНЕТ ПОВАРОМ.
Аноним 26/03/20 Чтв 18:29:31 1643317681
>>1643307
Человеку, который пишет int arrayElements и при этом не смущается тому, что у него массив назван doubleArray, который не смог вбить в гугл-переводчик "зазубренный массив", который не может понять смысла предложения исключения выданого IDE, такому человеку никакая программа не поможет и всё ему будет плохо и не так.
Аноним 26/03/20 Чтв 18:35:45 1643326682
>>1643317
Ага, или другая крайность:
> Я тут сижу и вместо дельных советов кукарекаю про названия переменных, хотя по всем признакам человек только начинает осваивать программирование.

Аноним 26/03/20 Чтв 18:37:30 1643329683
Аноним 26/03/20 Чтв 21:15:26 1643507684
>>1643285
>определить кодировку bytearray
Надежного способа нет. StreamReader попытается определить, или в ручную через анализ BOMa.
>универсальная кодировка, которая могла бы представлять байты в виде читабельного текста
Чего, блять?
>произвольного байтового массива в utf8
А utf8 это не произвольный набор байт. Прочитай хотяб на вики как оно кодируется.
text1 -> bytearray -> text2; (text1 === text2)
var bytes = Encoding.UTF8.GetBytes(text1);
var text2 = Encoding.UTF8.GetString(bytes);
.
Аноним 26/03/20 Чтв 22:08:10 1643551685
>>1643285
Этот вопрос закрыт, решение найдено - это SBCS.
Она кодирует все 256 байт одним символом,
и есть ещё DBCS - она по два байта кодирует, в символе, то есть все 65536 байт.
Разумеется - реверсивно, и текст читабелен, вроде, если байты англ букв.
>>1643507
Я уже пробовал, но UTF8 - не реверсивен. Пруф: https://rextester.com/IOUGY24132
Аноним 26/03/20 Чтв 22:22:19 1643560686
>>1643551
Я, правда, так и не понял, как его вызывать, кроме как используя System.Text.Encoding.Default

>System.Text.Encoding.SBCSCodePageEncoding
не работает
>System.Text.SBCSCodePageEncoding.GetString()
тоже

И если это Character Set, наверняка можно произвольные символы ему задать, в этот set, чтобы там кириллица была?
Или есть что-нибудь с кириллицей уже? BlockCopy методы, хоть и реверсивны, но выдают китайские кракозяблики в строке.
То есть, если в байтовом массиве байты текста "page/?строка1=one&строка2=two"
- будет хуй пойми чего, по китайски, а не текст.
Аноним 26/03/20 Чтв 22:57:11 1643588687
>>1643551
Если тебе достаточно одного байта, для кодирования символа,
то гугли 8-ми битные кириллические кодировки.
Их там несколько: Windows-1251, CP866, KOI8-R и ISO 8859-5
Они - как расширение 7-ми битного ASCII идут и кодируют оставшиеся символы вплоть до байта со значением 255.
Но, что если кириллический символ будет закодирован двумя байтами?
Например, буква "Б" в Unicode: https://unicode-table.com/ru/0411/"
Unicode, говоришь не реверсивен, хуй знает тогда, как. Может аноны подскажут?
Аноним 26/03/20 Чтв 23:02:21 1643593688
Аноним 26/03/20 Чтв 23:20:26 1643603689
Аноним 26/03/20 Чтв 23:39:30 1643613690
>>1643593
>Encoding.GetEncoding(437);
>cp437
Там же нет кириллицы.
Нашёл кучу кодов, вот здесь: https://docs.microsoft.com/en-us/dotnet/api/system.text.encodinginfo.getencoding?view=netframework-4.8

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

И да, что это за кодировка такая? SBCSCodePageEncoding??
Даже кодовой таблицы в гугле нет. Как её включить, чтобы юзать принудительно, а не по default'у? Вдруг Default будет UTF8 или ещё чё, и надо будет SBCS.GetBytes() и SBCSCodePageEncoding.GetString() вызывать?
Аноним 26/03/20 Чтв 23:55:23 1643622691
>>1643613
>Там же нет кириллицы.
А она нужна? KOI-8r глянь, может подойдет, может нет.
>SBCSCodePageEncoding
Google, motherfucker, can you use it? Single Byte Character Set, т.е. это не какая-то конкретная кодировка. И по сути оно будет хранится в таком же byte[] как и до конвертации в строку. Ты же понимаешь, что строка это такой же набор битов, а кодировка это способ их интерпретации. И если пользоваться SBCS, то массив {10,20,30} будет тем же массивом {10,20,30} и только при выводе на экран в зависимости от кодировки это будет "хуй" или "huy".

Ты лучше скажи, что ты делаешь, тогда есть шанс, что тебе подскажут адекватное решение, а не гонять байты в строки и обратно.
Аноним 27/03/20 Птн 00:17:37 1643634692
Аноним 27/03/20 Птн 00:32:27 1643640693
>>1643622
>>Там же нет кириллицы.
>А она нужна?
Очень желательно, но не обязательно.
>KOI-8r глянь, может подойдет, может нет.
Он для .NET Framework только, поэтому, наверное, лучше
>"iso-8859-1", с кодом 28591 (Western European (ISO))
как правильно подметил этот >>1643603 анон, она заведётся и на .NET Core.
>Google, motherfucker, can you use it? Single Byte Character Set
Я уже столько вкладок с английскими буквами про эту хуйню, позакрывал нафиг...
Там же ни кода, ни кодовой таблицы - нифига, сухое бла-бла, так и непонятно как его вызывать, без Default.
Тем не менее, с System.Text.Encoding.Default.GetString() и System.Text.Encoding.Default.GetBytes() работают с ним.
>И по сути оно будет хранится в таком же byte[] как и до конвертации в строку.
>Ты же понимаешь, что строка это такой же набор битов,
>а кодировка это способ их интерпретации.
>И если пользоваться SBCS, то массив {10,20,30} будет тем же массивом {10,20,30}
>и только при выводе на экран в зависимости от кодировки это будет "хуй" или "huy".
Ну так, на выходе же строка. А можно как-то символы эти задать, и сделать из него, тот же windows-1251??

>Ты лучше скажи, что ты делаешь,
>тогда есть шанс, что тебе подскажут адекватное решение,
>а не гонять байты в строки и обратно.
Ладно... Начну свою кулстори...
Есть значит, некий HTTP-сервер, в onion...
Он принимает очевиднейший HyperTEXT,
который поступает на методы в виде
>string
но внезапно, юзер заливает PNG-картинку с фракталом,
а она с JavaScript'a грузится, отправляется POST-заросом как blob или ArrayBuffer,
и ещё и шифруется, при помощи HSalsa20, ассиметричной криптографией x25519-xsalsa20-poly1305,
при помощи библиотеки TweetNaCl.js v1.0.3,
и этот шифр гонится на сервак в виде raw-data,
которая в string хуёво конвертится, из-за этих кодировок ебучьих, что и нахуй не нужно.
Ну да ладно...
Есть отдельный метод, принимающий request в виде byte[] в качестве параметра,
там он дешифрует, и обрабатывает пикчу, кароче, ну или JSON дешифрованный.
Туда, на этот метод, инфа может и должна заливаться,
только если она рили бинари, а не текст,
потому что в тексте могут быть get-запросы,
вида "page/?строка1=one&строка2=two" или даже: "?oh_shi={JSON_с_кириллицей, ебать}"
Весь прикол в том, что и текст, этот, ебучий, может слаться в бинарном виде,
например POST-запросом, в виде ArrayBuffer'a.
Собственно, стоит задача - попытаться декодировать байтовый массив в текст,
извлечь оттуда не только латинницу, но и кириллицу - в string,
и отправить результат - на метод, принимающий string,
там эту string проверить, и если это не текст, читабельный,
а говно какое-то неведомое - значит это криптошифр,
его надо декриптовать, но не в виде текста, а в виде байт.
Поэтому строку, эту, ебучую, фейлово сконверченную, надо реверсивно, сконвертить в байты,
а байты уже присунуть методу, принимающему bytes[], для декрипта этих байт,
и выдачи строки декриптнутой - опять на метод.
Ещё один прикол, в том, что кириллица в декриптнутой строке, может содержать четырехбайтный Unicode,
в то время как сами байты криптошифра может быть представлен однобайтными символами.
То есть, вопрос ещё и состоит в том, какая же кодировка у всей этой хуйни...
Аноним 27/03/20 Птн 01:12:42 1643649694
>>1643640
Забыл добавить один немаловажный аспект, для наглядности того, что асимметричное шифрование,
которое на стороне клиента, реализовано вот таким вот образом:
https://github.com/username1565/nanoboard-javascript-captcha/blob/44f7fed434de3941d4c83fad7f9501a464ac0452/index.html#L276
Дешифруется на стороне сервера, вот так:
https://github.com/username1565/Chaos.NaCl_in_one_CS/blob/633405df3709b33190d5557f52aaf6958c2f30ff/Chaos.NaCl.cs#L788
Разумеется, после вычисления общего ключа симметричного шифрования, на эллиптической кривой Монтгомери:
https://github.com/username1565/Chaos.NaCl_in_one_CS/blob/633405df3709b33190d5557f52aaf6958c2f30ff/Chaos.NaCl.cs#L476
Дальше, производится симметричный энкрипт-декрипт данных в обе стороны - абсолютно-криптостойким
шифром Вернама, на базе XOR-шифрования.
Очевидно, что оба метода - принимают на вход byte[], а не string,
поэтому HTTP-request должен содержать content в виде binary-data.
Впрочем я ранее и представить себе не мог, как можно было бы, в виде текста, отправить сырые данные.
Однако можно! И реверсивные кодировки тому подтверждение.
Но всё-же, зашифрованные данные приёмопередаются в бинарном виде,
а частности, JSON, с данными, в размере около 30 гигабайт,
при загрузке с клиента на сервер, должен бы быть зашифрован и передан в бинарном виде.
Расшифровка же, на стороне клиента, автоматизирована, при помощи асинхронных функций,
с использованием promise и таймаутов.
Всё это - вместе слаженная криптосистема, которая может работать децентрализированно,
как онлайн, так и оффлайн, поскольку изначально, наличие серверов у неё - не планировалось.
Аноним 27/03/20 Птн 02:00:01 1643655695
Начинаю разбирать MVVM паттерн для WPF, нужна хелпа с литературой/источниками инфы. Курсы,книги,статьи - все что поможет на ваш взгляд. Metanit плохо объясняет или я тупой. Пока только первый день ебусь с этим, но прогресс есть. Всем ответившим заранее спасибо
Аноним 27/03/20 Птн 02:27:28 1643658696
Аноним 27/03/20 Птн 02:28:55 1643659697
Аноним 27/03/20 Птн 02:35:50 1643660698
>>1643658
В его большой книге по c#?
Аноним 27/03/20 Птн 02:39:40 1643662699
Аноним 27/03/20 Птн 02:40:42 1643663700
>>1643660

Но если ты с мутанита начал знакомство с шарпом, то тебе придётся читать её полностью, а не только часть c MVVM
Аноним 27/03/20 Птн 10:34:10 1643733701
Аноним 27/03/20 Птн 11:55:39 1643767702
>>1643663
я читал ее, но не полностью. В любом случае спасибо чекну что Троелсен говорит
Аноним 29/03/20 Вск 03:32:13 1645071703
аноны, хочу завтра пойти купить литературу для изучения, пожалуйста посоветуйте что нибудь хорошее
Аноним 29/03/20 Вск 19:38:46 1645716704
image.png (37Кб, 1259x498)
1259x498
Помогите пожалуйста.
Нужна программа которая подсчитает число повторяющихся символов в строке.

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

listBox1.Items.Clear();

string text = textBox1.Text;

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

for (int l = 0; l < text.Length; l++)
{
if (ch == text[l]) i++;
}
listBox1.Items.Add(ch + " - " + i.ToString() + " раз ");
}
Аноним 29/03/20 Вск 20:18:18 1645757705
>>1645716
Одной строкой.
> listBox1.Items.Clear();
> string text = textBox1.Text;
text.Where(c => char.IsLetter(c)).Distinct().Select(c => $"{c} - {text.Count(cc => cc == c)} раз").ToList().ForEach(c => listBox1.Items.Add(c));


> Нужна программа которая подсчитает число повторяющихся символов в строке
Какой вопрос, такой и ответ.
Аноним 29/03/20 Вск 20:27:21 1645769706
>>1645757
Я нихуя не понял, но оно работает. Спасибо.

Если не сложно, можешь прокомментировать?
Аноним 29/03/20 Вск 21:01:35 1645806707
>>1645769
Понимаешь, анон, это решение, оно вряд ли тебе подойдёт. Ты ведь наверняка делаешь эту херню для учёбы, лаба какая-нибудь, или ещё что. 95% вероятности, что от тебя хотят, чтоб ты сам верно составил алгоритм, а не вызвал по цепочке несколько функций языка, которые за тебя всё сделают сами.

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

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

И да, в классе char ты сможешь найти некоторые методы, которые тебе помогут определить, чем является символ - буквой, цифрой, знаком и т.д.
Аноним 29/03/20 Вск 21:07:20 1645810708
>>1645769
>но оно работает
Как надо? А то ты считаешь все символы, включая пробел, а тот анон только буквы.
Можно еще
listBox1.Items.Clear();
listBox1.Items.AddRange(textBox1.Text.GroupBy(c => c).Select(g => $"{g.Key} - {g.Count()}").ToArray());
Аноним 29/03/20 Вск 21:27:57 1645826709
Я конечно дико извиняюсь, но тут есть те, кто уже вкатился? Судя по вопросам из ленты - на борде сидят только студенты и вкатывальщики.
Аноним 29/03/20 Вск 22:25:28 1645867710
>>1645826
>на борде сидят только студенты и вкатывальщики
Кажется, ты начал что-то понимать...
Аноним 30/03/20 Пнд 03:09:25 1645965711
>>1645716
listBox1.Items.Clear();
string text = textBox1.Text;

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

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

foreach (var item in chars)
{
listBox1.Items.Add($"{item.Key} - {item.Value} раз(а)");
}
Аноним 30/03/20 Пнд 09:54:51 1646037712
>>1645867
проскролил ленту, ни одного вопроса, которые могут касаться реальных проектов. Какие то блять формочки, алгоритмические задачи. Пиздец, товарисчи. Я попутно в JS треде сижу, там хоть что то годное можно найти. Тут же - болото блять
Аноним 30/03/20 Пнд 10:09:17 1646043713
>>1646037
Весь сосач - это "болото", анон.
Аноним 30/03/20 Пнд 11:53:10 1646082714
>>1645826
Привет. Полтора года в c# комерческом ентерпайзе. Полет - номра, благо софт пишу в нише которая всегда в топе.

А как у вас на галерах? Урезают зп?
Аноним 30/03/20 Пнд 12:06:29 1646087715
>>1646082
>комерческом ентерпайзе
интерпрайз бывает не комерческий? Насчет галеры - часть проектов закрылась и сидят на бенче гребцы, все ремоут. Насчет урезки - есть галеры, где 50/75% от ЗП платят, у нас такого благо нет
Аноним 30/03/20 Пнд 13:11:52 1646132716
>>1646037
Тот кто вкатился, тот должен был научится гуглить. На 99% вопросов ответы уже есть, а чтобы спросить оставшиеся есть места поинтереснее борды со школьниками.
Аноним 30/03/20 Пнд 15:15:19 1646216717
>>1646132
я если спрашиваю, то вопросы типо "best practice" или архитектурные заморочки. Но тут же блять, просто зашквар. То строчки подвинь, то алгоритм забей в метод. Пиздец короче. Вчера поскролил этот тред, не успел до половины дойти, как понял, что все безнадежно
Аноним 30/03/20 Пнд 15:38:24 1646230718
>>1646216
Так что-то сложнее хеллоуворлда в треде все равно не помогут. Да и ответа ждать пару дней, лучше уж на стаковерфлоу англоязычном спросить или нагуглить готовое решение.
Аноним 30/03/20 Пнд 16:54:34 1646269719
>>1618705 (OP)
Анон, нормально ли будет начать изучать с Шилтда полному новичку?
Или он сильно устарел?
Аноним 30/03/20 Пнд 17:10:19 1646280720
Вопрос не по шарпу, но раз пишу на нем спрошу у вас. Можно и в ксс сделать базовый стиль, а потом наследоваться от него (как в впф basedOn). Например
.card {
margin = 5px;
}
.fruit_card { //как унаследовать маржин от card?
background: red;
}
.berry_card {
background: blue;
}
Аноним 30/03/20 Пнд 17:13:19 1646284721
>>1646230
у меня были проблемы на проекте с миграцией с 2.2, где ебучий движок начал отваливаться при работе с Rest Api, т.к. Middleware выпилили из ASP.NET Core. В итоге сам нагуглил и прикрутили на обычный SPA, ответа так борде так и дождался :) Не знаю, какой идиот ввел программу # в образовательную систему, чем им пайтон, ++ и Java не угодили...
Аноним 30/03/20 Пнд 20:51:37 1646498722
>>1646284
На самом деле инфа по твоему вопросу в треде есть, просто ты из-за не знания предметной области не понимаешь как эти вещи связаны. Вообще твой вопрос возник из-за того что ты в принципе не понимаешь клиент-серверную архитектуру, REST API и где проходит грань между бэкендом и фронтендом.
Аноним 30/03/20 Пнд 21:28:06 1646532723
>>1646498
чувак, у меня завуалированные пук-сер ответы на двоче в эстимейт не учтены. Уже давно все нагуглил и запилил, см. >>1646284
Просто когда задавал этот вопрос не проскролил и не посмотрел уровень других вопросов.
Аноним 30/03/20 Пнд 23:24:41 1646652724
анон в /b/ недавно скидывал что-то типо онлайн уроков по с# в виде заданий, а я винду переустановил и проебал вкладку. если кто знает годные - скиньте.
Аноним 31/03/20 Втр 00:08:23 1646661725
>>1646652
Я прохожу на ulearn.me, в принципе норм, но упор на разработку алгоритмов сложноват для новичка. Зато много заданий с написанным тест-софтом внутри, что облегчает дебаггинг.
Аноним 31/03/20 Втр 00:09:31 1646662726
>>1646661
вот, да, вроде это. лучший.
Аноним 31/03/20 Втр 13:48:16 1646998727
Что нормальные программисты используют для логгирования? Просто я столкнулся с проблемой в виде того что Serilog, которым я пользовался, не совсем подходит, стандартный asp.net логгер совсем не очень, NLog как и Serilog.
Аноним 31/03/20 Втр 15:07:42 1647081728
У кого-то был опыт перекатывания на сишарп после 1С? Я вот думаю вкатиться, выбрал шарп потому что имхо это будет мне ближе после 1С, энтерпрайз типа, все дела. Но пугает несколько объем всех этих новых штук, как другая планета совсем.
Аноним 31/03/20 Втр 16:59:15 1647230729
>>1647081
Тебе после 1С все что угодно новой планетой будет
Аноним 31/03/20 Втр 17:03:49 1647239730
15849625600730.png (223Кб, 512x387)
512x387
>>1647081
>после 1С
>выбрал шарп
>ближе после 1С
удачи
Аноним 31/03/20 Втр 17:10:37 1647250731
>>1647230
Я не спорю, просто интересно, есть ли тут у кого-то похожий опыт.
>>1647239
Ну не стукай, по крайней мере формально 1с тоже энтерпрайз.
Аноним 31/03/20 Втр 17:20:25 1647259732
>>1647250
гараж деда Макара по производству болванок тоже можно назвать интерпрайзом. На .NET проект посмотришь, сознание потеряешь после своего говна 1С с рузкоязычным синтаксисом и 90% написанным шаблоном базовой сборки
Аноним 31/03/20 Втр 17:28:28 1647269733
>>1647259
>На .NET проект посмотришь, сознание потеряешь после своего говна 1С с рузкоязычным синтаксисом и 90% написанным шаблоном базовой сборки
Ну вот такого я и боюсь больше всего. Но в любом же случае, джуна сходу не будут макать так жестко, п-правильно?
Аноним 31/03/20 Втр 17:58:05 1647333734
>>1646998
log4net. Я хз чем они отличаются, просто популярный логгер, который на слуху.
>>1647269
Наверно зависит от компании. В Кого-то будут вводить плавно, а вдругой компании возьмут пачку трейни бросят в чан с говно и каждый за себя, кто выплывит молодец, кто нет - на свалку.
Аноним 31/03/20 Втр 18:15:20 1647362735
>>1646998
Я не понимаю как Serilog может не подходить. Он же может в любой стрим записывать.
Вообще вот всё что нужно для начала знать: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1

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

Хорошая статья со сравнением разных библиотек - https://michaelscodingspot.com/logging-in-dotnet/
Аноним 31/03/20 Втр 19:28:31 1647446736
>>1647362
> Я не понимаю как Serilog может не подходить
Ну, просто в целях совместимости с софтом, который пилился в начале нулевых и у которого программисты придумали что общепринятых уровней - мало, надо сделать 15 своих(при этом по факту большая часть этих дополнительных уровней никогда не используется), мне нужны кастомные уровни логгирования, а в серилоге уровни намертво прописаны и чтобы обеспечить такую вот совместимость придется костылить, а я хочу избежать этого, по возможности. Вот и подумал просто, что может быть есть какое-то популярное решение, в котором можно все настроить под себя и просто пользоваться.
Аноним 31/03/20 Втр 19:35:10 1647452737
>>1647446
Чувак, не бойся тратить время на уборку мусора (tech debt elimination). Начинай выпиливать говно мамонта потихоньку. Переписывай старую нужную логику в отдельные АПИ: библиотеки, REST, что угодно из доступного.
Постепенно нужда в старом отпадёт.
Аноним 31/03/20 Втр 19:39:34 1647458738
>>1647333
трипл хуйни не скажет. Обычно случается 2.
Аноним 31/03/20 Втр 22:29:46 1647630739
Покой и процветание вашему дому, шарпанты. Подскажите монументальный труд по ASP.NET Core (типо троелсена) в оригинале. Курю метанит, но все равно кажется, что ем говно.
Аноним 31/03/20 Втр 22:40:12 1647635740
Аноним 31/03/20 Втр 22:47:07 1647645741
Аноним 31/03/20 Втр 22:49:19 1647648742
>>1647645
На вопрос тебе ответили, а ты грубить начал. Ну и мразь же ты.
Аноним 31/03/20 Втр 23:02:51 1647665743
>>1647645
Че тебе не нравится?
Аноним 31/03/20 Втр 23:14:29 1647683744
>>1647630
насчет процветания это ты загнул, но покой скоро наступит
Аноним 01/04/20 Срд 01:13:35 1647749745
>>1647645
На их docs сайте и есть монументальный труд и как раз в оригинале (ру-ру убери). Там куча вводных статей и потом погружение в дебри с кучей деталей, примеров и даже Try It прямо в браузере + ссылки на гитхаб с примерами и кодом.

Какие книги по программированию в 2020? Ваще ебанулись?
Аноним 01/04/20 Срд 02:14:59 1647761746
image.png (40Кб, 1080x455)
1080x455
Скажите пожалуйста, что и куда добавить чтобы он игнорировал пробел при выводе?
Аноним 01/04/20 Срд 04:37:27 1647788747
>>1647761
Открой уже для себя HashMap (Dictionary - стандартная реализация этой структуры данных в дотнете) и не еби людям голову по группировке данных. И вообще выучи основные алгоритмы в работе с ним. Одна из самых используемых структур и на собеседованиях часто всплывает.

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

Передай своему преподу что он пидор (ну или просто бедный чувак, работающий за 10к в вашей шаражке) и что он застрял в начале нулевых.
Аноним 01/04/20 Срд 08:13:06 1647814748
>>1620325
>Это применимо к любому языку и тому, что вокруг них обросло.
Охуеть, хочешь сказать, что в делфе не было этого пиздеца со строками?
Аноним 01/04/20 Срд 11:02:15 1647848749
Аноним 01/04/20 Срд 11:22:22 1647858750
Мне надо сделать в разор пагесах такое:
значениеИзмодели1...значеиеИзМодели2
если я пишу так @model.a...@model.b, то разумеется он матерится на точки если добавлю пробелы @model.a ... @model.b, то пробелы будут и в хтмл, а мне они ненужны. Пока писал понял, что можно использовать стринг.формат. Это нормальное решение или есть еще что?
Аноним 01/04/20 Срд 12:55:25 1647885751
Понимаю, что вроде как для F# есть отдельный тред. Но все равно спрошу тут.
В общем, я хочу попробовать использовать этот самый F# в реальном проекте для API. Но не уверен надо ли и вообще, получу ли я от этого какой-то профит. Потому, если кому не лень, может быть поделитесь опытом использования F#: В каких задачах он полезен, какие лучше на обычном шарпе решать и вообще, здравая ли это идея выносить API на F#, когда все остальное на обычном C# написано и нормально работает?
Аноним 01/04/20 Срд 16:58:04 1648088752
>>1647761
Это че, код который считает сколько раз каждая буква встречается в строке?
Это ж на linq можно в одну строчку написать.
Аноним 01/04/20 Срд 17:51:23 1648113753
Аноним 01/04/20 Срд 17:56:53 1648117754
>>1648088
Не важно на какую тему и как ты поставишь вопрос всегда выползут вот эти вот. У чувака же явно лаба, ему самому надо алгоритм составить. Эту фигню можно за O(n) легко решить. Я более чем уверен что твоё решение на LINQ будет как минимум n log n. На линке можно тоже за О(n) решить, но не с твоими знаниями.
Аноним 01/04/20 Срд 18:51:26 1648150755
.png (16Кб, 625x343)
625x343
>>1648117
За сколько это выполняется? Просто я вот бака-прикладник, нас вот учили именно инструментами пользоваться, а какое там время выполнение и прочее - не важно, говорили что важно решать прикладную задачу в срок. Вот.

мимо
Аноним 01/04/20 Срд 18:59:38 1648155756
.png (14Кб, 563x315)
563x315
>>1648117
Да, в дополнение к >>1648150
Пркриплейд - быстрее должен работать или нет?
Аноним 01/04/20 Срд 19:21:08 1648173757
>>1648150
Я такого ответа и ждал. Странно только почему все удивляются что вокруг вечно всё лагает и падает. Да потому что большая часть представителей нашей профессии решает задачи здесь и сейчас со взором, устремленным в одну точку, и не желанием охватывать всю картину целиком.

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

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

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

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

Нужно конечно осознавать природу своего приложения и среды, в которой оно будет крутится. Где-то и такой код можно в прод выкатывать, а где-то тебя уволят за это нахрен.
Аноним 01/04/20 Срд 19:25:38 1648179758
Аноним 01/04/20 Срд 20:36:12 1648222759
>>1648113
Да, так тоже работает.
Аноним 01/04/20 Срд 20:44:04 1648225760
>>1648173
>Where создаст новый объект с коллекцией равной в худшем случае O(n) space complexity...
Нет, линк, не создает каждый раз коллекции физически, только при использовании результата. Память только на итератор выделяется, т.е. O(1).
Аноним 01/04/20 Срд 20:45:58 1648226761
Так, где мелкомягкие запрятали документацию нормальную? Где можно посмотреть тупо списки классов, интерфейсов, их методов, без всяких гайдов?
Аноним 01/04/20 Срд 20:48:51 1648227762
Аноним 01/04/20 Срд 20:54:59 1648230763
>>1648227
Легче зону обойти, чем ее найти. Спасибо, сталкер.
Аноним 01/04/20 Срд 22:27:09 1648288764
>>1648173
Сноб мамкин байтоеб понавысрал стену текста с обсиранием всех вокруг и обосрался сам. Впрочем ничего нового.
Аноним 01/04/20 Срд 22:45:20 1648298765
image.png (75Кб, 956x507)
956x507
>>1648173
>Код можно писать красиво и достаточно оптимально (для большинства случаев подойдут стандартные дата структуры и алгиритмы) за такое же время, что и говнокод, который наша индустрия лепит как сумасшедшая.

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

https://pastebin.com/eQ9ifLLc
Аноним 01/04/20 Срд 22:49:04 1648300766
image.png (26Кб, 588x269)
588x269
>>1648298
PS пикрил конечно выполняется где-то на 20% быстрее, но читается хуже, занимает больше пространства и пишется раза в 1.5-2 дольше. Так что под твои фантазии не подходит.
Аноним 01/04/20 Срд 22:55:19 1648302767
image.png (38Кб, 799x348)
799x348
image.png (34Кб, 1057x219)
1057x219
>>1648300
>>1648298
Ах да, ToLower() забыл во втором случае.
С ним внезапно выполняется столько же.
А если наоборот, в первом решении с LINQ убрать ToLower, то выполняется за столько же, за сколько второй случай через for-ы.
Аноним 02/04/20 Чтв 01:09:57 1648340768
Screen Shot 202[...].png (8Кб, 188x118)
188x118
>>1648298
>>1648302
Ты наверное в дебаге тест прогоняешь. В релизе разница заметнее.
Увеличил до 10к для того чтобы заметнее было.
1 - LINQ
2 - manual

А еще глянь в профайлере какая разница в потреблении памяти.
Аноним 02/04/20 Чтв 01:15:10 1648342769
>>1648298
>>1648300
https://pastebin.com/br2Hu060
Вот будет работать раз в 20 быстрее.
Но можно написать чуть лучше используя stackalloc и константы, меньше выделения памяти будет.

Аноним 02/04/20 Чтв 15:59:22 1648561770
В общем, ньюфажеский вопрос.
Смотрите, я писал приложение. Оно нормально работало, но получилось очень громоздким. Я решил его разбить на несколько приложений поменьше, которые бы могли работать независимо. Большую часть таки разбил - все ок. Но вот беда, есть места, где нужно было бы получить информацию которая теперь лежит отдельно в отдельном приложении. Как это лучше всего реализовать? Чтобы было понятно: В общем приложение задумано как сервис(не тот что микросервис, а тот что виндовый сервис, ака демон), этот сервис делает запросы к хедхантеру и смотрит новые места стажировки в моем регионе, сохраняет их в файлик, чтобы я потом посмотрел, так же, раньше, я прикрутил веб-интерфейс, чтобы удобно это смотреть в браузере. Теперь эти штуки разделены на несколько сущностей. Сервис который смотрит инфу хедхантера работает нормально и все так же сохраняет в файлик, но раньше я имел возможность из контроллера просто обратиться к запущенному синглтону этого сервиса и просто получить нужные данные, а теперь - не могу(думаю понятно почему). Конечно, можно захардкодить и просто читать из файла, но это не так интересно, я думал как-то передавать сообщения от сервиса в веб-приложение, но ума не приложу как это сделать.
Аноним 02/04/20 Чтв 17:17:24 1648598771
>>1648561
>передавать сообщения от сервиса
Message Queue (RabbitMQ например).
Твой сервис сохраняет инфу в файл и отправляет сообщение через сервис сообщений всем подписчикам. В принимателе ты подписываешься на очередь и сидишь ждёшь когда тебе придёт сообщение. На их сайте куча удобоувариваемых примеров.
Аноним 02/04/20 Чтв 21:15:40 1648763772
>>1618705 (OP)
Ребят не подскажет кто, в гейм дев перекатится со знанием .net слишком сложно будет?
Аноним 02/04/20 Чтв 21:24:49 1648772773
нет кор и шарп такое же тормозное,тупое жрущее как ЧД ресурсы УГ как джава со спрингом и томкатом?
Аноним 02/04/20 Чтв 23:10:57 1648818774
>>1648772
нет, .net лучше, по многим параметрам, я думаю он медленно но упорно будет подтеснять джвку, синтаксис в .net просто сказка, рай для первекциониста
Аноним 03/04/20 Птн 00:45:40 1648852775
>>1648818
а что с линуксом?
как писать на шарпе?
Аноним 03/04/20 Птн 01:10:24 1648863776
Аноним 03/04/20 Птн 02:01:41 1648915777
>>1648863
Десктопа под пинус так и нет?
Аноним 03/04/20 Птн 02:02:46 1648917778
>>1648915

Нет и не будет. Зачем тебе десктоп на прошивке для докера?
Аноним 03/04/20 Птн 02:37:22 1648940779
>>1648915
Ты пишешь игру? Unity
Ты пишешь фото/видео редактор? нахрена??
Ты пишешь редактор музыки? прекращай фигачить велосипеды!
Кому сдался десктоп в 2020?
Аноним 03/04/20 Птн 12:45:22 1649206780
>>1648917
>Зачем тебе десктоп
Шоб крошплатформенно, все дела. Как Qt, только шарпец.
>>1648940
Ничего из этого не пишу. Просто вывод какой-то информации удобней писать через встроенные средства, а не через костыли.
Аноним 03/04/20 Птн 21:04:36 1649576781
>>1648940
> Кому сдался десктоп в 2020?
Любому, кто пишет нормальное приложение, а не тормозное дерьмо, работающее внутри отдельного экземпляра хромиума, потому что бородатый смузихлёб не учил другого языка, кроме парашного жаваскрипта.
Аноним 03/04/20 Птн 21:23:22 1649587782
>>1649576
Причём тут хипстеры? Мы в дотнет треде. Тут всякие повыраставшие из плюсов и жавы отписываются.
Твои десктопные приложения нафиг не сдались, кроме тех, что на полную катушку с GPU работают. И даже там уже появляются решения для удалённого запуска игр и другого тяжёлого софта.
Еще не забывай что WebAssembly начнёт себя с каждым годом всё больше проявлять. Это считай как Докер контейнер, который может запускать что угодно на твоей машине. Можешь хоть тонкий, хоть толстый клиент делать. И писать ты под этот контейнер на любом языке можешь.
Аноним 04/04/20 Суб 00:29:45 1649661783
Вкатываюсь в дотнет вебапи с фронта, такие вопросы

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

2. Как понять что мой запрос к БД в сервисе с LINQ говно медленное (entity фреймворк)? Какие нибудь хорошие ресурсы по тому как стоит и не стоит делать есть?
Аноним 04/04/20 Суб 00:35:11 1649662784
>>1649661
Например вот у меня есть таблица тредов и таблица постов. И чтобы мне получить посты этого треда у меня LINQ получается проходит по всей таблице постов и ищет посты с тредом соответствующим. Это же хуйня какая-то медленная, вот о чем я. Где почитать как стоит это дело делать по нормальному?
Аноним 04/04/20 Суб 00:57:45 1649675785
>>1649661
Почитай про нормализацию БД - https://en.wikipedia.org/wiki/Third_normal_form (тут сложно, но можно нагуглить что-то попроще).

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

Student -> Student.SchoolId -> School

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

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

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

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

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

Таблицы, которые будут редко меняться, можно закэшировать (можешь кучу примеров найти через repository pattern).
Неплохое видео на тему репозиториев - https://www.youtube.com/watch?v=rtXpYpZdOzM&t=1163s
Аноним 04/04/20 Суб 01:00:52 1649676786
>>1649662
У нас EF core таблички с миллиардом записей довольно шустро каждый день перебирает. Не инструмент плохой, а метод, которым его используют.
Аноним 04/04/20 Суб 01:22:50 1649682787
14192228551940.jpg (25Кб, 400x400)
400x400
Сап шарпач, есть одна проблема.
https://dotnetfiddle.net/0mbCK5 тут накидал примерную упрощенную структуру одного из модулей моей программы.
Вопрос: как можно избавиться от TStruct в GenericBase?
Аноним 04/04/20 Суб 11:09:43 1649801788
Где в Visual Studio 19 для Mac OS Object Browser?
Аноним 04/04/20 Суб 12:02:02 1649854789
Аноним 04/04/20 Суб 12:03:25 1649855790
Аноним 04/04/20 Суб 13:39:22 1649950791
image.png (46Кб, 658x886)
658x886
Я в Шарпе совсем не разбираюсь, за спиной только голая Сишка. Перекатываюсь, так как легко рисовать формочки. Вопрос - что почитать и какие стандартные средства Шарпа можно использовать, чтобы распарсить и распихать данные из подобного файла?
Аноним 04/04/20 Суб 13:57:11 1649975792
>>1649950
Не встречал такого формата (но я в гейдеве не разбираюсь, может у них известный какой). Какое разрешение у файла? Если это какой-то кастомный формат, то писать свой парсер.
Аноним 04/04/20 Суб 13:58:43 1649978793
Аноним 04/04/20 Суб 14:07:55 1649993794
>>1649975
Обычный txt. Меня интересует, есть ли готовые элементы в стандартной библиотеке, которые позволят это распарсить проще и распихать по структурам данных. Подозреваю, что напрямую переносить код с обычной Сишки (включая свою пародию на map) - не лучшая идея.
Аноним 04/04/20 Суб 14:14:02 1650001795
>>1649993
Ну в стандартных либах такого нет, но если узнать что за формат, то наверняка кто-то уже написал либу для него.
Аноним 04/04/20 Суб 14:48:25 1650035796
Аноним 04/04/20 Суб 20:22:47 1650232797
>>1649993
Есть же вроде генераторы парсеров. Например, https://kaitai.io для бинарных данных очень хорош, должно быть и что-то такое для текстовых.
Аноним 05/04/20 Вск 09:20:23 1650441798
>>1618705 (OP)
Дайте кто-нить короткий RegExp, чтобы определить является ли string iso-8859-1 encoded либо же utf8-encoded?
Ну, или методы...
Аноним 05/04/20 Вск 11:22:41 1650501799
Аноним 05/04/20 Вск 11:47:47 1650531800
Аноним 05/04/20 Вск 11:59:05 1650541801
>>1650531
Тогда - так:
>Console.WriteLine("str: \""+str+"\", Is ISO-8859-1? "+(System.Text.Encoding.GetEncoding("iso-8859-1").GetString(System.Text.Encoding.GetEncoding("iso-8859-1").GetBytes(str))==str));//is iso? true/false
https://rextester.com/WCEBB12585
Аноним 05/04/20 Вск 13:20:09 1650602802
>>1650541
Заебись, теперь бинарные данные на HTTP-сервер можно отправлять на сервер,
и работать с ними как с iso-8859-1 encoded строкой,
и различать бинарный контент тела запроса от текстовых параметров в GET-запросе,
которые могут содержать не только ASCII-символы, но и кириллический текст.
Аноним 05/04/20 Вск 13:46:17 1650613803
>>1650602
Падажи, у того анона проводится сравнение с оригиналом после цикла вбайты/избайтов. Если у тебя на сервере есть с чем сравнивать, т.е. исхдные данные, то зачем тебе что-то вобще передавать?
Аноним 05/04/20 Вск 14:24:26 1650649804
>>1650613
Дело в том, что на сервер может прийти от клиента как текст, так и бинарные данные. И сервер их - не знает.
Поэтому, надо бы их отличить от текста, и вовсе не по заголову "Content-Type", который может быть и не указан.

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

Теперь, можно слать на сервер - какой-нибудь шифр x25519-xsalsa20-poly1305
или вообще абсолютно-криптостойкий шифр Вернама,
слать в виде бинарных данных, асинхронным XHR-запросом,
криптуя - всё это дело client-side, и дешифровать на сервере, при помощи библиотеки Chaos.NaCl,
а потом и принимать байты от сервера с другим шифром, как responseType = 'arrayBuffer',
с последующим дешифрованием на стороне клиента, при помощи JavaScript,
используя функции портативной библиотеки TweetNaCl.js v1.0.3. Хы-хы!
Аноним 05/04/20 Вск 15:07:14 1650682805
изображение.png (8Кб, 714x122)
714x122
Вкатывальщик в треде. Чёт нихуя не понимаю, почему мне не дают создать число 0.1 с типом float?
Разве оно не входит в диапазон float?
Аноним 05/04/20 Вск 15:16:15 1650700806
>>1650682
Читай что тебе вылезшее окошко пишет
Аноним 05/04/20 Вск 15:18:24 1650705807
изображение.png (18Кб, 637x80)
637x80
>>1650700
Да я ещё не понимаю, что за суффиксы, я только начал книгу читать. Я уже понял, что флоат надо описывать как целое число с F в конце, просто хуита какая-то, в книге было написано пикрил, я попробовал, и не прокнуло. Вот тут вопрос - книга от 19 года по сишарп 17.1 вроде. Это раньше так можно было, а сейчас нельзя? Или в книге изначально неправильно написано?
Аноним 05/04/20 Вск 16:25:25 1650815808
Аноним 05/04/20 Вск 16:28:16 1650818809
>>1649950
Похоже на обычное ast tree, парсеров которых на гитхабе хоть жопой жуй.

>>1650705
В книгах могут быть ошибки, опечатки, а так же совсем вранье если автор дурак.
Так насколько я помню было всегда, так как потеря точности во многих алгоритмах может сыграть злую шутку которую затем хуй отдебажишь так как разница будет в 20+ знаке и ты тупо ее не заметишь на глаз.
Аноним 05/04/20 Вск 17:05:06 1650881810
>>1650705
>сишарп 17.1
Недавно с#8 релизнулся, завязывай с путешествиями во времени.
>раньше так можно было, а сейчас нельзя
никогда нельзя было
>изначально неправильно написано
Что за книга? Может автор проебался, но скорее всего обосрались переводчики.
Аноним 05/04/20 Вск 17:27:35 1650909811
>>1650881
>Недавно с#8 релизнулся, завязывай с путешествиями во времени.
Дальше что? Книги по C#8 сами по себе материализуются вот так сразу, вместе с переводом?

>>1650881
>Что за книга? Может автор проебался, но скорее всего обосрались переводчики.
>>1650815
>Что за книга?
Да самая простейшая, C# для чайников. Мне надо быстро понять что из себя C# представляет, с середины апреля на курсы поступаю, чтоб там не тупить.
Аноним 05/04/20 Вск 18:01:54 1650975812
>>1650909
>Дальше что? Книги по C#8 сами по себе материализуются вот так сразу, вместе с переводом?
Чего? Я тебе говорю, что последняя версия шарпа на данный момент 8, до 17 еще далеко.
>самая простейшая
Написанная неизвестным автором?
Аноним 05/04/20 Вск 18:18:57 1650998813
>>1650975
>Чего? Я тебе говорю, что последняя версия шарпа на данный момент 8, до 17 еще далеко.
А, ну речь о 7.1 очевидно же.

>Написанная неизвестным автором?
Джон Пол Мюллер - C# для чайников
Аноним 05/04/20 Вск 18:57:35 1651061814
>>1650998
Нашёл книгу, у меня там та же ошибка. Нахуй такое нужно.
Аноним 05/04/20 Вск 19:05:40 1651073815
>>1651061
Ну, самое простое что я нашёл по сишарпу. Мне по-сути на курсах всё будут объяснять, мне сейчас просто ознакомиться - думаю данная книженция пойдет...
Ладно, всем спасибо.
Аноним 05/04/20 Вск 19:09:55 1651081816
>>1650998
Книги по программированию читать можно только как развлекалово/художественную литературу если тебе такое в кайф конечно.

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

Причина, по которой нынче с числами так сложно работать, скорее всего в том, что в прошлом была куча ошибок со всякими подсчётами (финансовые, научные, инженерные). И теперь поставили кучу защит от выстрела себе в ногу. Если хочешь использовать именно этот тип - укажи что нужен именно этот тип, иначе делай явный каст из одного типа в другой. И если ты натупил с выбором типов - то это будет явная ошибка программиста, а не языка и среды в которой твоё приложение крутится.
Аноним 05/04/20 Вск 19:20:46 1651098817
>>1651081
>Книги по программированию читать можно только как развлекалово/художественную литературу если тебе такое в кайф конечно.
>Учиться прграммировать надо по официальным докам (выше выложили основной сайт >>1650815) и по исходникам, которые нынче на гитхабе лежат вместе с кучей примеров и обратной связью от самих разработчиков.

Анон, я с тобой несогласен. До этого я учил пайтон по той же схеме - сначала прочитал крайне простую книженцию, укус питона по-моему, понял примерно что это за язык. Потом перешел к более серьёзной книге по пайтон, разбору примеров, написанию собственных софтин, в результате, как я считаю, имею достаточно неплохие знания. По пайтон тоже документация кайфовая - но это всё на инглише. Я конечно могу читать по английски - но для меня на именно на чтение иностранной литературы тратится слишком много ресурсов, а у меня цель стоит освоить в кратчайшие сроки. Чтобы сейчас свободно читать на инглише - надо было заниматься этим перед тем как начинать учить язык. Это раз. Два - книга предосавляет тебе программу, порядок - это банально удобно
Аноним 05/04/20 Вск 19:32:19 1651107818
>>1651098
Я понимаю твои аргументы о структурированной инфе и тоже пытался вкатываться по книгам. Перечитал много глав из многих книг (в начале 00х еще). Нифига не понимал, пока работать не начал. И потом как понял!
Книги может отчасти и помогли, но основные знания приходили с опытом написания говнокода, наступанием на кучу граблей и курением доков и со временем стэковерфлоу и гитхаб.

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

Я против книг и тогда был, когда в них больше инфы, чем в нете было. А сейчас и подавно.
Аноним 05/04/20 Вск 19:39:20 1651111819
>>1651107
>Я понимаю твои аргументы о структурированной инфе и тоже пытался вкатываться по книгам. Перечитал много глав из многих книг (в начале 00х еще). Нифига не понимал, пока работать не начал. И потом как понял!
Ну, у меня пока положительный опыт только...

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

Кстати, прошу прощения, в доках по ссылке выше всё на русском.
Аноним 05/04/20 Вск 20:22:14 1651169820
>>1651111
>Кстати, прошу прощения, в доках по ссылке выше всё на русском.
Вот тут? https://docs.microsoft.com/ru-ru/dotnet/csharp
Просто убираешь руру и будет нэйтив - https://docs.microsoft.com/dotnet/csharp

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

Кстати2, классное видео по продвинутым техникам и знаниям что там под капотом в Питоне (сорян, перевода на русский не видел) - https://www.youtube.com/watch?v=7lmCu8wz8ro
Аноним 05/04/20 Вск 22:49:39 1651371821
15849558732280.jpg (113Кб, 598x597)
598x597
В шараге задали написать проект на шарпе, какую библиотеку посоветуете? По заданию предпочтительнее WinForms или WPF, сам я больше хочу на Xamarin кроссплатформенность, ух бля. Что лучше выбрать с точки зрения сложности/затрат времени на изучение и пользы в дальнейшем?
Аноним 05/04/20 Вск 22:59:28 1651377822
Аноним 05/04/20 Вск 23:07:22 1651379823
>>1651377
Формочки. И выбор только из того, что я написал
Аноним 06/04/20 Пнд 00:14:32 1651418824
>>1651379
ВинФормс - c зомби технологией ты точно профита в будущем не поимеешь. Тогда UWP/WPF c Xamarin.
Ты на Xamarin создаёшь solution. Распихиваешь всю логику по всяким Domain, Persistence (DB, File, хз что еще), Application. Выделяешь отдельный проект под UWP/WPF, в котором будет твой Presentation layer.
С таким подходом можно будет разные Presentation проекты под Андроид, iOS, PWA, винду добавлять.
Будет у тебя и нужный для рынка опыт, и задачу выполнишь.

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

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

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

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

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

Мы через Middleware хватаем любое исключение в одном месте. Там даётся Invoke метод, в который передаётся ссылка на функцию твоего метода в контроллере. Оборачиваешь вызов этого метода в try/catch и ни одно исключение, которое произошло из-за вызова твоих endpoints (controller/action) не пройдёт. Там же можно задать нужные статус коды и объекты, которые назад вернёшь.
Аноним 06/04/20 Пнд 05:28:35 1651504827
Аноним 06/04/20 Пнд 10:07:54 1651587828
Работаю джавистом, делаю пет проект на java, немного поднадоело, хочу попробовать C#, какие подводные?
Аноним 06/04/20 Пнд 10:37:45 1651613829
>>1651587
Потом тяжело будет с убогим синтаксисом жавы работать
Аноним 06/04/20 Пнд 11:05:26 1651632830
>>1651587
Ну подумай. Сейчас ты ездишь на жигулях, хочешь попробовать сесть на ауди последней модели. Если думаешь, что после ауди сможешь возиться с жигулями, то дерзай.
Аноним 06/04/20 Пнд 11:09:38 1651635831
>>1651587
Сахарок самый сладкий из всех мейнстрим строго типизированных языков, слезть тяжело будет, как выше отмечено
С другой стороны нормальной работы нет, .НЕТер это почти всегда фуллстек программист. Так что если это важный для тебя момент, то страдать будешь вдвойне.
Аноним 06/04/20 Пнд 11:25:48 1651646832
>>1651587
Может лучше попробовать Котлин? Насколько я знаю он довольно сильно шарп напоминает и явно для тебя полезней будет.
Аноним 06/04/20 Пнд 11:26:44 1651647833
>>1651646
Вкатился в мертворожденное дерьмо и других заманиваешь? Нет, спасибо
Аноним 06/04/20 Пнд 11:33:46 1651654834
>>1651646
двачую за котлин. .NET уже делает предсмертный выдох с open-source, вкатышам интепрайза я бы советовал делал ставку на kotlin - свежую Java
Аноним 06/04/20 Пнд 11:48:58 1651669835
>>1651654
да там тот же спринг с томкатом, различий с Java только в сахаре
Аноним 06/04/20 Пнд 12:20:03 1651713836
>>1651669
в том то и дело, что Java уже настолько переполнена сахаром, что читать код невозможно. А котлин - это как релоад уже старой, доброй и главное - рабочей Java, которой рынок доверяет, а не присматривается к мелкософту, где он еще может руку в карман просунуть.
Аноним 06/04/20 Пнд 12:20:56 1651714837
Помогите пожалуйста написать код правильно или пофиксить готовый. Спасибо.
Задание:написать программу, которая считывает английский текст из файла и выводит его на экран, заменив прописной каждую первую букву слов, начинающихся с гласной буквы.

using System;
using System.IO;


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

string str = sr.ReadToEnd();

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

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

Console.WriteLine(split);
break;
}

}
}
catch (Exception e)
{
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
Console.ReadKey();
}
Console.ReadKey();
}
}
Аноним 06/04/20 Пнд 12:29:01 1651718838
image.png (49Кб, 873x752)
873x752
Почему пикрелейтед код работает так медленно? Аналог на Си отрабатывает ну прям намного быстрее. Как ускорить?
Аноним 06/04/20 Пнд 13:42:27 1651752839
>>1651718
>Почему пикрелейтед код работает так медленно?
Тому чо ты его в дебаге запускаешь, тестируй в релизе. И что делать будешь если попка тебе инвалидоператионэксепшен выкатит при пустом стэке?
Аноним 06/04/20 Пнд 15:52:53 1651856840
image.png (41Кб, 451x846)
451x846
>>1651752
Запустил в релизе, разница максимум в пару секунд. Все равно секунды три-четыре обрабатывает. Вот Сишный аналог (я переписываю свою прогу на шарп, так как на нем проще окошки рисовать), консольное окно появляется уже с текстом об окончании работы, лол. И это всего-лишь 25 килобайт.
>И что делать будешь если попка тебе инвалидоператионэксепшен выкатит при пустом стэке?
Ну, воткнуть проверку на количество перед pop, делов-то.
Аноним 06/04/20 Пнд 16:10:32 1651876841
>>1651856
так пиздуй на своих C писать, тут CLR, тут другие ребята. Тут тебе не шутки блять. Пока ты свои байты дрочишь, тут говно жрут деньгу зарабатывают. Съебал короче
Аноним 06/04/20 Пнд 16:15:55 1651880842
>>1651876
Да я уже разобрался, лол. Надо было использовать не .Count(), а .Length. Вызов функции тормозит, конечно, знатно. Знвю, тупой.
Аноним 06/04/20 Пнд 16:19:01 1651884843
>>1651752
Ты работу с консолью то вынеси в другой метод. Этот метод должен только всё разобрать, а вывод на экран должен происходить в другом месте.
Аноним 06/04/20 Пнд 16:20:38 1651886844
>>1651884
Не хочу запариваться с возвратом результатов. Да и пока просто привыкаю к языку.
Аноним 06/04/20 Пнд 16:32:20 1651892845
>>1651718
>>1651880
Ты работу с консолью то вынеси в другой метод. Этот метод должен только всё разобрать, а вывод на экран должен происходить в другом месте.
Console.Write и его аналоги очень тормозные. У сишки доступ к терминалу намного шустрее.
Аноним 06/04/20 Пнд 16:33:42 1651893846
>>1651886
Ну тогда не удивляйся, че так тормозит.
Стандартные алгоритмы могут за 1мс отрабатывать, но как только добавляешь вывод в консоль, могут пройти секунды, пока ты ответ увидишь.
Аноним 06/04/20 Пнд 16:36:48 1651897847
>>1651893
Хм, ну ладно. Это все равно на пока переношу и проверяю алгоритм. Как вынести-то в отдельный метод? Не очень представляю, мне видимо придется сохранять, где скобки не совпадают, сбалансированы ли они, и под конец выполнения функции дергать другую, куда это и передавать?
Аноним 06/04/20 Пнд 16:42:17 1651901848
>>1651897
Ууу, чувак, тебе походу алгоритмы еще доучивать надо.
В нормальном приложении логика и вывод информации должны быть не то что в разных методах, а вообще в разных классах. А еще желательно в разных проектах/библиотеках.
Аноним 06/04/20 Пнд 16:44:12 1651902849
>>1651901
Ладно, спасибо, пойду тогда книги из шапки читать. Все равно проект для души, торопиться некуда. Да и душонка байтоебская
Аноним 06/04/20 Пнд 16:56:26 1651920850
>>1651880
> Вызов функции тормозит
Просто компилятор не могкт оптимизировать случай с Каунт, и на каждой итерации будет происодить чек на оутофбаунд и прочее непотребство. Сам метод Каунт по-возможноти вызовет свойство Каунт от ICollection (для массивов и, наверное, строк Каунт вернет Ленгтх), и не будет перебирать коллекцию. Даже если компилятор не заинайнит это, там оферхэд несколько нс.
И кстати, прочитай про PInvoke, может тебе и не надо переписыать сишную либу, а будешь тягать ее методы из шарпа.
Аноним 06/04/20 Пнд 17:56:50 1651959851
15854064117700.jpg (93Кб, 494x604)
494x604
Существует ли что-то типа filewatcher'а только для устройств? Нужно получить список подключенных к пекарне устройств и получать новые устройства по мере подключения. Подскажите для этого либу или это можно получать через консоль?
Аноним 06/04/20 Пнд 18:42:18 1652012852
>>1651504
От души. Слуш поясни как отличать такое древнее говно от норм статей актуальных?
Аноним 06/04/20 Пнд 19:18:05 1652035853
>>1652012
По дате у статьи (там она прописана).
По версии фреймворка (часто её вписывают)
Не читать какие-то левые статьи на базовые темы, а идти сразу на оф сайт.
Аноним 06/04/20 Пнд 19:30:32 1652039854
>>1651714
string str = "english, mothetrfucker! do you speak it? govno ebanoe ya tvoi rot ebal.";
char[] vowels = { 'a', 'e', 'i', 'o', 'u' };
bool nextUppercase = true;
StringBuilder builder = new StringBuilder();
foreach (var ch in str)
{
builder.Append((nextUppercase && vowels.Contains(ch)) ? char.ToUpper(ch) : ch);
nextUppercase = ch == ' ';
}
Console.WriteLine(builder);
Аноним 06/04/20 Пнд 22:45:33 1652239855
image.png (65Кб, 1241x526)
1241x526
image.png (53Кб, 1387x343)
1387x343
image.png (18Кб, 1007x116)
1007x116
Вечер в хату.
есть лаба

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

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

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

Вопрос в следующем когда унаследовал класс Free от Prog
и начал переопределять метод вывода инфы на консоль чет как то нихера не выходит в чем соль может подскажете?
И вопрос еще в процессе возник что бы результат работы одного метода передать в другой это надо создавать отдельную переменную и присваивать ей метод результат работы которого нужен ? Или есть варианты 7
Аноним 06/04/20 Пнд 22:58:53 1652264856
>>1652239
Не Free а Shareware, не Prog, а Software.
Не перезаписывает потому что в абстрактном классе у тебя метод не принимает параметров, а в потомке ты два параметра вхуячил, которые в самом объекте есть.

В общем, читать теорию надо было, а не хуи пинать. Где вас только рожают таких? Потом еще ноете, что работу найти не можете, потому что государство хуевое, а вы хорошие.
Аноним 06/04/20 Пнд 23:11:43 1652280857
image.png (89Кб, 983x674)
983x674
>>1618705 (OP)
Я получаю responsebody как строку, мне надо от туда вытащить дискаунт как-то 30% и выше, как это можно сделать?
Программа должна будет покупать вещи со скидкой 30+ %.
Аноним 06/04/20 Пнд 23:15:42 1652284858
>>1652264
Да я вообще не ною)) мне до поиска работы еще ой как долго.
Но за помощь в любом случае балгодарю
Аноним 06/04/20 Пнд 23:31:33 1652299859
>>1651718

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

Вывод в консоль охуенно медленный.

Аноним 06/04/20 Пнд 23:33:47 1652303860
>>1652280
Очень плохой вопрос.
Ответ от АПИ приходит в каком-то формате. Ты не поделился этими данными.
Скорее всего у тебя вызов к REST API и значит ответ в JSON формате. Надо подключать JSON библиотеку и десериализировать строку в какой-то объект на твоей стороне.

Если ты не понял, что я щас тут написал и это по работе - я в шоке, кто за таких спецов деньги платит.
Если по учёбе - иди читай про сериализацию в целом и про JSON в частности.
Публичные АПИ обычно имеют документацию по формату и типу объектов, которые они принимают и возвращают.
Аноним 06/04/20 Пнд 23:35:02 1652304861
>>1652303
>Если ты не понял, что я щас тут написал и это по работе
Не волнуйся, я пока новичок, с апи второй день разбираюсь.
Спасибо за ответ
Аноним 07/04/20 Втр 00:11:31 1652324862
>>1652303
Смотри, на бирже нет документации к апи можно ли в данном случае сказать что у бирже вообще апи нет? , значит мне надо как-то самому найти нужный http запрос, чтобы мне вышел json где только нужная информация. Как это можно сделать?
Всё, это последний глупый вопрос >_<
Аноним 07/04/20 Втр 00:22:07 1652332863
>>1652324
Берёшь Postman, открываешь сайт, откуда ты инфу собрался тянуть, и начинаешь пробовать разные endpoints (urls). Смотри какую инфу они возвращают. Там же будет указан тип и формат ответа.
Еще не факт, что они json возвращают.

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

Вот пример норм документации: https://docs.microsoft.com/ru-ru/rest/api/resources/subscriptions/list
Аноним 07/04/20 Втр 00:23:11 1652333864
Аноним 07/04/20 Втр 14:39:20 1652542865
Sharp Develop ещё актуален, как ide?
Аноним 07/04/20 Втр 16:11:59 1652612866
>>1652542
Нет, уже давно не актуален.
Аноним 07/04/20 Втр 17:38:28 1652734867
image.png (50Кб, 1001x618)
1001x618
>>1652333
Всем ещё раз привет, теперь возник вопрос, нормально ли создать Thread.Sleep(1000) и ещё раз вызывать этот форич для показа актуальной информации? Просто мне кажется это очень на костылях будет выглядеть. Постоянный while true хуёво будет из-за нагрузки постоянной ( я так себе представляю) .
Аноним 07/04/20 Втр 17:58:50 1652748868
>>1652734
foreach будет всегда одно и то же показывать, тебе надо заново запрос делать.
Иди на hangfire.io, оформляй свой функционал в функцию и добавляй её в scheduler с помощью Hangifre. Он тебе будет вытягивать инфу с каким-то интервалом.

Для консольной приложухи, писаной на коленке и крутящейся на твоей машине, while(true) { Task.Delay(Time.OneSecond); } более чем достаточно. Можешь еще CancellationToken прикрутить и добавить логику по выходу из этого цикла, если кто-то послал команду на завешрение операции.
Аноним 07/04/20 Втр 18:02:42 1652752869
>>1652748
>foreach будет всегда одно и то же показывать, тебе надо заново запрос делать
Да, я это понял как только отправил.
Хорошо, спасибо
Аноним 07/04/20 Втр 21:04:51 1652929870
>>1652752
Как же всё-таки приятно сделать было бота, только сейчас опять на полгода заброшу всё, потому что кодить нечего.
Аноним 08/04/20 Срд 14:27:03 1653411871
.png (9Кб, 353x377)
353x377
.png (13Кб, 1155x401)
1155x401
.png (49Кб, 1159x647)
1159x647
Поясните, что я делаю не так?

Добавил нугет для SQLite.
Создал модельку.
Создал контекст в котором просто указал использовать SQLite.
Сгенерировал миграцию
Апдейтнул ее.
Пытаюсь потестить и ошибка: Нет такой таблицы.
Аноним 08/04/20 Срд 14:51:57 1653428872
Сорян, я >>1653411 тупой. Не знал что надо добавить вручную переопределения Up, Down и там прописать таблицы. Думал, что при генерации миграции само все сгенерируется.
Но вот другой вопрос. Я установил что ID - автогенерируемый, но почему-то при сохранении ошибка, дескать нужно установить первичный ключ, если вбить его ручками и он уникальный, то все нормально работает.
Аноним 08/04/20 Срд 15:30:17 1653461873
Аноним 08/04/20 Срд 16:11:52 1653486874
>>1653461
Никакой. Я слишком тупой чтобы книги читать.
Аноним 08/04/20 Срд 16:19:13 1653488875
>>1653486
Ну вот ты и ответил на
>Поясните, что я делаю не так?
Аноним 08/04/20 Срд 16:22:45 1653490876
>>1653488
Злой ты. Я разве виноват, что информация из книг не усваивается у меня в голове и я могу учиться только диалогом?
Аноним 08/04/20 Срд 16:25:20 1653492877
>>1653490
Ты виноват только в том, что пытаешься скрыть свою лень, выдумывая себе несуществующие недуги.
Аноним 08/04/20 Срд 16:38:09 1653502878
>>1653492
Ну, допустим, лень. Что в этом плохого-то? Вот ты поленился и вместо того чтобы пойти на гитхаб и прочесть исходники .net core, ef core и других популярных хреновин, открыл книгу, где посвященный дядька тебе на блюдечки все принес. Я вот поленился открыть книгу и решил спросить у тех, кто ее открывал. Разница довольно незначительна. Потому не будь таким токсичным.
Аноним 08/04/20 Срд 16:42:07 1653505879
>>1653502
Плохо то, что ты срёшь в тред. И для того чтобы "спросить у тех кто читал", нужно сформулировать вопрос, но ты ведь этого сделать не в состоянии, потому что тебе лень учиться. Ты сюда пришел поманяфантазировать и утешить себя, вроде как не чмо, а что-то пытаешься, но на деле ты чмо, которое еще и другим мешает.
Аноним 08/04/20 Срд 16:50:42 1653519880
>>1653505
Ну ты и токс. Вот серьезно. Откуда в тебе столько желчи-то? Я бы еще понял, если бы ты ответ на вопрос дал, так ведь нет, ты просто пришел и начал плеваться кислотой. Фу таким быть. Такие как ты портят комьюнити и мешают начинающим развиваться.
Аноним 08/04/20 Срд 17:17:19 1653536881
>>1653428
Migrations создают все таблички за тебя и перевичные данные (Seed и только если ты засетапил HasData). Если этого не случилось, то ты неправильно создал DbContext и Entities, которыми он оперирует. Тут в треде дофига ссылок на все базы и примеры по этому делу.

Автогенерируемый айди обычно значит что у тебя поле Identity. Если этот constraint (они так называются) не присвоился твоему ID, то он и не будет само устанавливаться. Это в случае, если у тебя поле int. Для GUID надо из кода в своей модели самому new Guid() делать.
Аноним 08/04/20 Срд 17:23:26 1653537882
Анон 08/04/20 Срд 17:54:05 1653563883
САП СиШарпач

Как убрать автонабор в Visual Studio?
Постоянно мешает мне. Например, хочу написать "i", ставлю пробел, а программа сама ставит "if"
Аноним 08/04/20 Срд 18:34:52 1653601884
>>1653563
> Например, хочу написать "i", ставлю пробел, а программа сама ставит "if"
Интеллисенс в студии умный, он не предложит тебе написать "if" там, где этого нельзя сделать, или если в зоне видимости уже есть переменная с более подходящим именем ("i"). Так что либо это ты сам что-то не так делаешь, либо студия у тебя поломалась.
Аноним 08/04/20 Срд 18:38:02 1653604885
Подскажите как можно достать сабмассив с 2д массива?
Например есть массив 9х9, как из него получить массив от x,y до x,y?
Аноним 08/04/20 Срд 18:42:02 1653611886
>>1653604
> как из него получить массив от x,y до x,y?
Пройтись двойным циклом и выбрать то, что тебе нужно?
Аноним 08/04/20 Срд 19:04:29 1653622887
>>1653611
Мне нужно было что-то такое:
Enumerable.Range(0, 9).SelectMany(i => CellsInRow(board, (box - box % 3) + i / 3).Skip(3 * (box % 3)).Take(3));
Аноним 08/04/20 Срд 19:08:14 1653623888
>>1653622
А не проще всё же пройтись? Да и быстрее будет, если честно.
Аноним 08/04/20 Срд 19:12:41 1653626889
.jpg (85Кб, 777x632)
777x632
Аноним 08/04/20 Срд 19:30:02 1653647890
>>1653626
Спасибо, но уже не надо.
Аноним 08/04/20 Срд 19:47:23 1653661891
Полез в нугет стянуть провайдер sqlite под Ef Core, а там Microsoft.EntityFrameworkCore.Sqlite и Microsoft.EntityFrameworkCore.Sqlite.Core. В чем разница?
Аноним 08/04/20 Срд 19:56:56 1653674892
.jpg (816Кб, 1848x1736)
1848x1736
А у меня вопрос возник из-за >>1653604 вопроса.
Чому в последних шарпах можно так:

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

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

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

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

Ну, я конечно понимаю что на практику оно особо и не надо, но все равно факт того что тут можно, а там - нельзя, выглядит как-то непродуманно.
Аноним 08/04/20 Срд 20:13:55 1653700893
Аноним 08/04/20 Срд 20:16:23 1653701894
>>1653700
"Тут" это там где можно использовать Range; "там" это где нельзя.
Аноним 08/04/20 Срд 20:38:42 1653711895
>>1653701
Приведи примеры "тут"
Аноним 08/04/20 Срд 20:42:00 1653712896
Аноним 08/04/20 Срд 20:49:03 1653714897
>>1653712
Разве ты только что не писал что:
> Но нельзя так же с n-мерными массивами? В чем принципиальная сложность добавить возможность чтобы сделать как-то так:

> var x = arr[1..2,3..4,5..6]?
Аноним 08/04/20 Срд 20:50:58 1653716898
>>1653714
Ну так ведь нельзя. Попробуй, если не веришь.
Аноним 08/04/20 Срд 20:57:13 1653726899
Аноним 08/04/20 Срд 21:01:54 1653731900
.png (14Кб, 550x273)
550x273
>>1653726
Что тебе блин мешает запустить студию и проверить то о чем я говорю?
Аноним 08/04/20 Срд 21:11:33 1653740901
>>1653731
Бля, иди тролль кого-то другого, или мозги включай и следи за последовательностью того что пишешь.
Аноним 08/04/20 Срд 22:17:00 1653771902
>>1653740
Я вообще не понимаю о чем ты.
Вот тут https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/ranges-indexes написано, что многомерные массивы не поддерживают такой синтаксис. Только непонятно почему нельзя в принципе было сделать их поддержку. Из-за этого в голове путаница.
И ничего я не троллю. Просто хочу разобраться с новой штукой языка, потому что сама по себе она выглядит удобно.
Аноним 08/04/20 Срд 22:57:16 1653795903
изображение.png (11Кб, 670x152)
670x152
Как удалить из string ебанные \n ?
Аноним 08/04/20 Срд 23:01:59 1653802904
Аноним 08/04/20 Срд 23:02:16 1653804905
Аноним 08/04/20 Срд 23:03:36 1653807906
>>1653771
>что многомерные массивы не поддерживают такой синтаксис.
У тебя же студия запущена, ты сначала проверь в ней, поддерживают ли одномерные массивы такой синтаксис.
Аноним 08/04/20 Срд 23:28:28 1653821907
.png (13Кб, 480x248)
480x248
Аноним 09/04/20 Чтв 15:18:01 1654099908
>>1653771
Это же просто сахар, который компилятор разворачивает в метод GetSubArray(Range). Ты можешь сам написать такие методы для нужных тебе размерностей, только так как компилятор под твои методы не натренерован, то тебе придется их вызывать не как индексатор, а как метод расширения.
Аноним 09/04/20 Чтв 15:59:05 1654131909
>>1654099
В языках программирования любой синтаксис это сахар. Не сахар это определенная последовательность нулей и единиц.
Аноним 09/04/20 Чтв 16:17:36 1654152910
Аноним 09/04/20 Чтв 16:20:23 1654154911
Аноним 09/04/20 Чтв 16:35:03 1654160912
Я линуксоид. Говорят, что на этой ОС либо невозможно кодить на C#, либо же можно, но работать всё будет хреново.

Обязательно ли нужна лицензионная винда? И какой версии?
Аноним 09/04/20 Чтв 16:36:34 1654161913
Подскажите знатоки(WinForm)
есть label
хочу обращаться к большому количеству label'ов по их номеру (label1, label2, ....)
можно как то коротко реализовать нечто вроде - label + number.Text = ""; ?

обращатся по label1.Text к каждому из элементов в моем случае будет слишком громоздко (элементов свыше 40 шт)
Аноним 09/04/20 Чтв 16:36:36 1654162914
>>1654160
> Говорят, что на этой ОС либо невозможно кодить на C#,
Консольную фигню и веб(95% шарпоработы), можно без особых проблем и на линуксе кодить.
> Обязательно ли нужна лицензионная винда? И какой версии?
Не обязательно.
Аноним 09/04/20 Чтв 16:59:00 1654177915
.png (36Кб, 842x583)
842x583
>>1654161
Ну, можно как-то так сделать, например. Обращаться будешь по ключу из словаря.
Аноним 09/04/20 Чтв 17:01:02 1654180916
>>1654161
Заведи себе словарь объектов, в нём сможешь через текст элемент находить.
Аноним 09/04/20 Чтв 17:04:20 1654182917
Аноним 09/04/20 Чтв 17:20:26 1654205918
>>1654099
Я знаю, что это сахар, я знаю что могу сам написать для скольки угодно размерностей. Другое дело вот я наделаю своих методов, потом кто-то посмотрит на мой код и ему нужно будет время, чтобы понять что это за ебаная хуйня там и что она делает. Это, на мой взгляд, не есть хорошо, и нужно стараться избегать такого.
А синтаксис, который закреплен в стандарте, вроде как, подразумевает, что любой шарпан должен знать, следовательно если его введет в ступор arr[1..], то это не я мудак, который усложняет код, а он, потому что не следит за новыми штуками, которые в языке появляются. Ну, по крайней мере я так считаю.
Аноним 09/04/20 Чтв 17:24:06 1654206919
>>1654205
Манюнь, проснись. Твой 4.8 фреймворк со всеми новинками никому нахуй не уперся, кроме вкатывальщиков-долбоебов, которые учат САМАЕНОВАЕ САМАЕКРУТОЕ. Всё потому, что 99% работы это старые фреймворки, если ты нашёл программу работающую на 4.5 версии, то считай, что тебе повезло.
Аноним 09/04/20 Чтв 17:27:35 1654207920
Сап, собираюсь заняться программированием по-серьёзнее, чем простой быдлокод. Пока не имею особо знаний даже о базовом программировании, например что такое компилятор максимум делал простенькие программы на Пайтоне, также не знаю специального матана. Что мне нужно знать и откуда я могу накопать всей этой инфы перед тем, как лезть в изучение программирования на C#?
Аноним 09/04/20 Чтв 17:30:00 1654208921
>>1654207
Ничего не нужно. Читай книги по шарпу, начни с Троелсена. Остальное само приложиться по мере изучения языка и необходимости.
Аноним 09/04/20 Чтв 17:33:50 1654210922
>>1654206
Ну не знаю. Я вот пишу сейчас на core 3.1. Старшие коллеги сказали, что с выходом .Net 5 будем переносить все что можно переносить на него. Как-то так.
Аноним 09/04/20 Чтв 17:36:30 1654213923
>>1654210
>все что можно переносить

Ну вот. Теперь посмотри на тех, кто поддерживает непереписываемый код и узнай, что их гораздо больше чем таких счастливчиков как ты. Новинки языка это прерогатива смузи-стартапов.
Аноним 09/04/20 Чтв 18:21:55 1654238924
>>1654205
Не слушай этого из деревни, он там сидит и думает что "проснулся".
Аноним 09/04/20 Чтв 18:32:52 1654246925
>>1654213
Любой код переписываемый. Зависит от твоей квалификации. Судя по всему у тебя она не очень и ты очередной 9-5 рак. Поувольняли вас не мало таких.
Мы перетаскали кучу продуктов 10-15 летней давности на новые платформы и при этом эффективность компании не то что не проседает, а наоборот. На поддержку старого кода уходит времени в N раз больше, чем нового. И с каждым годом этот N увеличивается. На переписывание уходит от 1 недели до нескольких месяцев, но в итоге ты сохраняешь себе годы работы. Бизнес с тобой быстро соглашается, как только ты ему объяснишь бенефиты в удобоувариваемом для него виде. Особенно если приведёшь пример Васяна, который только что потратил 2 месяца на новую фичу, и покажешь что ты то же самое за два часа сделал, применяя голову. Васяна на свалку, код мигрирует на новую платформу.

Не будь Васяном.
Аноним 09/04/20 Чтв 18:34:48 1654250926
>>1654246
Мань, перестань фантазировать и открой рынок труда, а потом покажи мне вакансии в которых требуется что-то более чем 4.5 фреймворк.
Аноним 09/04/20 Чтв 18:35:16 1654251927
Мы ведь про рынок говорим, а не твои ООО Рога и Копыта, верно?
Аноним 09/04/20 Чтв 18:47:18 1654256928
>>1654250
Чувак, зачем мне фантазировать, если я с этим уже много лет работаю в компаниях с 1к+ работников?
Ты свой мухосранск на весь мир то не натягивай.
Аноним 09/04/20 Чтв 19:06:10 1654271929
>>1654256
Конечно, яндекс и гугл своё дерьмо не переписывают десятилетиями, а у долбоеба прям каждая вторая крупная компания этим занимается. Ты сам то хоть в это веришь?
Аноним 09/04/20 Чтв 19:09:05 1654273930
>>1652239
У тебя нет сокрытия имен, ундерскор демонстрирует, что это член класса, зачем ты this пишешь? Вам за такое (и за цену в double) баллы не снижают?
Аноним 09/04/20 Чтв 19:15:57 1654283931
>>1654160
>Говорят, что на этой ОС либо невозможно кодить на C#,
Пиздят. Все давно на коре работает.
Аноним 09/04/20 Чтв 19:52:25 1654311932
>>1654271
Я понимаю, что ты за годы сросся с этой мыслью, поэтому любой, кто будет пытаться её опровергнуть, сразу станет долбоёбом в твоих глазах. Это нормально. Отрыв от своих убеждений - очень медленный процесс. Пройдёт какое-то время и долбоёбы перерастут в идиотов, а там глядишь и до нормальных обращений доберёмся.

К слову у каждой из FAANG компаний сотни подразделений и каждое из них существует как своя обособленная компания со своими директорами, менеджментом и бюджетом. Я в них работал. В индусо подразделении действительно десятилетями стряпают (скорее стряпали, поуволняли старых говнокодеров и взрастили новых, с мозгами) костыли. И есть куча проектов, которые на радар не особо попадают или до них еще не добрались (как со Скайпом для бизнеса и Линком, которые 20ти летний груз костылей тащили, и большую часть из них наконец-то разрулили имеется ввиду внутренняя тяжеловесная каша, а не сам клиент).
Аноним 09/04/20 Чтв 19:58:26 1654315933
>>1654311
Но вот только у меня не мысли, а аргументированное мнение, которое подтверждено вакансиями на hh.ru
От тебя только и слышен пустой пиздежь, который противоречит реальности.
Аноним 09/04/20 Чтв 20:03:09 1654319934
Объясните нубику для чего используется матан и в каких областях он необходим в вебе как я понял можно и без него обойтись, но он меня не интересует
Аноним 09/04/20 Чтв 20:04:16 1654321935
>>1654206
Рэнжи это фишка компилятора, а не фреймворка. >>1654205
>чтобы понять что это за ебаная
Давай нормальные имена и пиши комментарии, и тогда всем будет насрать как оно внутри, если работает>>1654205
>синтаксис, который закреплен в стандарте
тебе доступен. Если твой метод принимает ренж, компилятор сам сконвертит запись 2...^3 в класс.
Ну ок, написали бы в майкросовте еще метод для двумерного массива, а какому-то анону понадобится для 3-х, 4-х мерного. Где остановиться? Так, что сделали для самого распространенного юзеркейса и правильно.
Аноним 09/04/20 Чтв 20:09:59 1654326936
>>1654315
Ну я также могу заявить что моё мнение подтверждено вакансиями на linkedin и indeed: https://www.linkedin.com/jobs/search/?keywords=c%23
Мне первая же вакансия от Теслы выпала, в которой написано: Experience in .NET Framework and .NET Core

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

Реальность твоя реальна только для тебя. Я с .Net Framework в последний раз в 2016 работал. Остальное время проекты на нём приходилось открывать только для того чтобы какой-то функционал в dotnet core или jvm на какой-нибудь скале перетащить.
Аноним 09/04/20 Чтв 20:22:43 1654348937
.png (17Кб, 796x338)
796x338
.png (7Кб, 933x129)
933x129
>>1652239
Я бы как-то так сделал)))
Аноним 09/04/20 Чтв 20:27:44 1654353938
>>1654326
>Мне первая же вакансия от Теслы выпала, в которой написано: Experience in .NET Framework and .NET Core

Охуеть, ну всё теперь, 100% у них там всё на коре, который вышел в 2019, написано, да? Я где-то писал, что новые технологии нигде не используются? Нет, я писал, что найти работу легче зная старый фреймворк, чем новый, потому что новые используют в очень малом количестве.
Ты конечно дальше можешь якать и приводить в пример свой личный опыт, вот только на реальность это никак не повлияет. Даже сложно представить насколько нужно быть умственно отсталым, чтобы говорить о том, что на технологии 2019 года пишут больше, чем на технологиях 2002 - 2014
Аноним 09/04/20 Чтв 20:29:00 1654356939
>>1654348
Фанат Hello World Enterprise Edition, ты?
Аноним 09/04/20 Чтв 20:37:12 1654362940
Аноним 09/04/20 Чтв 20:44:57 1654365941
>>1654353
Коре вышел в 2016. В 2017 выкатили коре 2, который уже был допилен до приличного состояния, и тогда было ясно, что за ним будущее а фв - ебаное легаси. В общем после выхода второго кора новые проекты на фв начинали толко слоукпоки. Из 5 собесов, что были в этом году, нужен был кор.
Аноним 09/04/20 Чтв 20:46:06 1654366942
>>1654365
> на четырех нужен был кор.
Аноним 09/04/20 Чтв 20:54:16 1654368943
>>1654353
Ты из тех, которые хватаются за первое попавшееся непонравившееся слово и на него отвечают, не читая дальше.
Первая стабильная версия кора в 2016 была зарелизена. Компании, перекатывающие свои продукты с личных дата центров в облака (ибо дешевле, чем содержать свою ферму серверов), отдают предпочтение кору, потому что у Майкрософта на него поддержка на облачной платформе лучше.
Рекрутёры кидают по несколько писем в день и спрашивают об опыте работы с кором, потому что их клиент об этом просит, и в вакансии об этом не всегда указано. Даже 2 письма в день (на самом деле больше) - это 44 письма за месяц (без учёта выходных, хотя и на выходных прилетает). Сколько в месяц открывается новых дотнет вакансий в отдельно взятом городе? Не думаю, что на много больше чем 40.
Каджый раз как созваниваешься с рекрутёром, они в первую очередь спрашивают, сколько лет опыта с шарпом и потом - сколько с дотнет кором. Новым клиентам интересен твой опыт конвертирования старого фреймворка в новый. Многие, как ты и заявил, еще используют легаси, но перекатиться уже хочется.
Аноним 09/04/20 Чтв 23:46:23 1654464944
>>1654319
Если не брать всякий машин лернинг и датасайнс - то математика программисту не нужна, школьного курса будет достаточно. Нужна лишь способность эту математику осваивать.
Аноним 09/04/20 Чтв 23:52:46 1654467945
>>1618705 (OP)
Задача такова. Чел ходит по этажам и выключает свет в кабинетах, у него есть две лестницы - правая и левая.
Нужно посчитать минимальное количество времени затраченное на проход всех
этажей
входные данные
2 2
0010
0100
выходные данные
5
входные данные
3 4
001000
000010
000010
выходные данные
12
входные данные
4 3
01110
01110
01110
01110
выходные данные
18

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

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

Вопрос: Где я допустил ошибку, и какие алгоритмы необходимо использовать для эффетивного решения данной задачи
Аноним 10/04/20 Птн 00:02:16 1654473946
>>1654319
Нужно понимать как работают функции
f(x) = x + 1

У функции есть сигнатура f(x)
Функция может принимать параметры f(x,y) = x + y
Функция может принимать функцию как параметр f(g(x)) = g(x) + 1
Функция может возвращать значение f(x) -> y

Нужно хорошо понимать Булеву алгебру.

Также нужно уметь въезжать в разные формулы и матрицы при работе со всякими массивами, будь то игры (даже шахматы), карты и маршруты, picture/video/audio processing. При работе с бухгалтерией и финансами тоже много счетоводства и формул. Многие компании строют всякие внутренние инструменты с графиками и отчётами.

Но это не мешает программистам забивать куй на математику полностью и писать индусский код, когда 2+2 записывается в тыщу строк и исполняется это творчество по несколько секунд вместе нескольких наносекунд и отжирает по 500 мб, которые еще и не всегда выгружаются, потому что индусский код любит всякие статики и глобальные объекты.
Аноним 10/04/20 Птн 06:05:13 1654533947
>>1654473
Можно изучать матан параллельно с языком или лучше стоит его выучить перед изучением программирования?
Аноним 10/04/20 Птн 07:27:32 1654550948
>>1654467
Скорее всего задача коммивояжера. Из того что ты написал ничего не понятно, давай всё условие.
Аноним 10/04/20 Птн 09:43:50 1654577949
Какая работа обычно бывает у шарп программистов помимо веба? Стоит ли вкатываться в геймдев?
Аноним 10/04/20 Птн 09:58:07 1654586950
>>1654577
Почему ты такой тупой? Ну вот как можно дать ответ на твой вопрос "Стоит ли вкатываться в геймдев?", если никто не способен прочитать твои мысли и понять, что для тебя важно. Может зарплата, может стабильность, может перспективы карьерного роста, может развитие как программиста и т. д.
Аноним 10/04/20 Птн 10:06:15 1654591951
>>1654467
Некоторые люди не выключают свет, когда уходят из помещения, что ведет к бесполезной растрате энергии. Будучи охранником в университете, Сахир ждет, пока все студенты и профессора покинут здание, а затем идет и выключает везде свет.

В здании n этажей и две лестницы слева и справа. На каждом этаже есть m комнат вдоль коридора, который соединяет левую и правую лестницы. Другими словами, здание можно представить как прямоугольник из n строк и m + 2 столбцов, где первый и последний столбец — лестницы, а m столбцов посередине — комнаты.

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

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

Входные данные
Первая строка содержит два целых числа n и m (1 ≤ n ≤ 15, 1 ≤ m ≤ 100) — количество этажей и количество комнат на каждом этаже, соответственно.

Следующие n строк содержат описание здания. Каждая строка содержит строку из нулей и единиц длины m + 2, описывающую один этаж (левую лестницу, затем m комнат, затем правую лестницу), где 0 означает, что свет выключен, а 1 означает, что свет включен. Этажи даны в порядке сверху вниз, в частности, последняя строка описывает первый этаж.

Первые и последние символы каждой строки описывают лестницы, поэтому они всегда равны 0.

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

Примеры
входные данные
2 2
0010
0100
выходные данные
5
входные данные
3 4
001000
000010
000010
выходные данные
12
входные данные
4 3
01110
01110
01110
01110
выходные данные
18
Примечание
В первом примере Сахир сначала пойдет в комнату 1 на первом этаже, а затем — в комнату 2 на втором этаже, используя любую лестницу.

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

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

Да, задача правда похожа на коммивояжера, но только частного случая, где не надо возвращаться в исходное положение и у каждого города только 2 пути в другой
Аноним 10/04/20 Птн 17:24:02 1654921952
Хочу научиться писать читы для игр, есть удобоваримые и норм гайды ? язык c#.
Аноним 10/04/20 Птн 17:35:21 1654932953
>>1654533
Очень даже можно. В программирование можно с нуля вкатываться и по ходу дела осваивать что нужно. Булеву алгебру надо будет быстрее остальных освоить, а то пишут потом
if(isDone == true){}
else if (isDone == false) {}
else {}
Аноним 10/04/20 Птн 17:45:55 1654941954
>>1654921
Был тут один такой лет 5 назад. Был послан далеко на йух. Такие вопросы задают джуны, которые в принципе не понимают, что спрашивают. Освой для начала хотя бы один язык до хорошего уровня, напили несколько проектов. Выучи как работает CPU, GPU, and memory. Почитай про дизассемблирование. Глядишь дойдёт, что ты подходишь к решению задачи с абсолютно неверной стороны.
Аноним 10/04/20 Птн 17:46:12 1654942955
Аноним 10/04/20 Птн 17:51:26 1654949956
>>1654921
Начинать в таком случае нужно с ассемблера. А чем ты память будешь считывать и изменять, вообще не важно, но для этого C++ больше шарпа подходит, хотя и шарп тоже справится.
Аноним 11/04/20 Суб 11:44:43 1655442957
>>1654577
В Unity на шарпе вроде.
Аноним 11/04/20 Суб 15:49:20 1655733958
>>1650909
>Да самая простейшая, C# для чайников.
Блять, ну и хуйня. Сижу и ахуеваю. Сначала какое-то говно 100 страниц рассказывали, вроде как переменные объявлять, про типы, а потом сразу "А давайте нахуй создадим свой ИТЕРАТОР, вот тут нахуй наследование вот тут какие-то классы тут ещё что-то". Пиздец. Ни ООП, ни пространства имён, ничего автор не рассмотрел - давайте нахуй итератор запилим. Сижу нихуя не понимаю что происходит
Аноним 11/04/20 Суб 15:51:20 1655737959
изображение.png (59Кб, 671x368)
671x368
Пиздец, индексаторы какие-то. НАХУЯ, если можно просто получить индекс пилить свой класс для этого?
Аноним 11/04/20 Суб 16:16:20 1655759960
>>1655737
Если захочешь сделать свои массивы с блекджеком и шлюхами и обращаться через [index] к значениям
Аноним 11/04/20 Суб 16:38:40 1655783961
>>1655737
Сахарок для более простого восприятия кода, который компилятором разворачивается в пару методов.
var a = foo[index] вместо var a = foo.GetValue(index)
foo[index] = a вместо foo.SetValue(index, a)
Аноним 11/04/20 Суб 16:42:49 1655789962
>>1655759
>>1655783
Да блин, я горю с ублюдского стиля написания книги, и с того что я в это говно уже начал. Автор нихуя не объясняет зачем могут пригодится эти индексаторы, конкретных примеров не даёт. Пиздос. Автор вабще имеет привычку сначало выложить код тела программы, описать его, и только лишь потом вкидывать код пользовательских методов, которые там присутствуют. Вот сижу, перепечатываю код program main, и ахуеваю с того что просто не могу его понять, потому что этот ублюдок не дал кода его злоебучих самописных методов заранее. Какое-же говно
Аноним 11/04/20 Суб 16:46:53 1655796963
>>1655789
Вкинь пример описания из книги, пару страниц. Интересно стало, что же там такого.
Аноним 11/04/20 Суб 16:48:03 1655798964
>>1655789
Че за книга? Может у тебя там не самоучитель, а справочник по синтаксису какой.
Аноним 11/04/20 Суб 16:51:08 1655800965
изображение.png (30Кб, 660x692)
660x692
изображение.png (270Кб, 746x1051)
746x1051
изображение.png (147Кб, 741x556)
741x556
>>1655796
Ну вот, он дал код программы, пикрил, и потом уже начинает вкидывать пользовательские методы. Нахуй ты этот обоссаный код дал, если без знания того, чем занимается метод, этот код бесполезен. Ну и классическое "ПОКА ЧТО ВАМ ПРОСТО ДОСТАТОЧНО ЗНАТЬ. А ВОТ В СЛЕЕЕЕЕЕДУЮЩИХ ГЛАВАХ МЫ ВСЁ РАССМОТРИМ" ДА ПОШЁЛ ТЫ НАХУЙ ПИДРИЛА
Аноним 11/04/20 Суб 16:53:28 1655804966
>>1655796
>>1655798
И да, извините аноны, я просто внезапно сгорел. Главное до того как перешли к обоссаным интераторам более-менее нормально материал подавался, хотя такое говно уже встречалось. А тут просто пиздец, сижу и ахуеваю с того что мне дают код какими-то непонятными кусками которые я не могу проанализировать, постоянно всплывают темы которые вабще никак не рассматривались. Перегрузку методов этот пидор как то так рассмотрел сразу после строковых методов - ни наследование, ничего ещё не рассматривалось, вот вам тут способы работать со строками - а потом сразу перегрузочку посмотрим. Кайф. И так же код кусками вкидывал.
Аноним 11/04/20 Суб 16:57:21 1655809967
>>1655800
Ну вообще это нормально. Похоже, что это ты тупенький.
Аноним 11/04/20 Суб 17:39:05 1655843968
>>1655789
Конкретных примеров ни в одной книге не дают, проснись.
Аноним 11/04/20 Суб 20:01:19 1655975969
>>1655809
Двачую мудреца, если сразу всю инфу вываливать то так можно один пример полкниги разбирать
Дать что-то потыкать самому а уже потом объяснять как это работает это нормальный и распространенный подход
Аноним 11/04/20 Суб 20:03:40 1655977970
14470979385610.jpg (57Кб, 601x302)
601x302
Аноним 11/04/20 Суб 20:07:48 1655980971
>>1655977
>>1655800
Тебе еще повезло, самая жопа это когда вот так пишут:
>While I only cover the Display data annotation, there are many additional annotations that can be used
in the same manner. Please consult the .NET Framework documentation to learn more.
Аноним 11/04/20 Суб 20:10:00 1655984972
>>1655980
>>While I only cover the Display data annotation, there are many additional annotations that can be used
>in the same manner. Please consult the .NET Framework documentation to learn more.
В этой книженции этого тоже хватает. Просто я с этого так горю.
на самом деле по пайтон больше френдли-литературы для новичков, учить было проще. Да и сам язык там проще и приятнее, возможно, поэтому.
Аноним 11/04/20 Суб 20:34:35 1656005973
>>1655980
А тебе должны все аннотации целиком в книгу вставить?
Аноним 11/04/20 Суб 20:40:09 1656013974
>>1656005
Хотя бы самые часто используемые.
Аноним 11/04/20 Суб 20:46:04 1656018975
15852448732671-[...].png (408Кб, 891x1114)
891x1114
>>1656013
Зачем? Тебе дали концепцию и показали пример, дали где смотреть остальные. Сам со временем встретишься с другими или почитаешь ссылки. А учебники для того и нужны чтобы базовое представление о технологии составить.
Боюсь представить как такие вкатыши бы читали книги чуть серьезней, ХОТЯ БЫ уровня пикрила, они целиком из такого и это норма, там вообще после каждой главы страницы перечислений ссылок на подробности.
Аноним 11/04/20 Суб 21:06:09 1656035976
>>1656018
Дурачок, но ведь в серьезных книгах это приемлемо, потому что они пишутся для опытных людей, которым действительно нужно больше ссылок на подробности, чем затрагивание самого популярного и используемого, потому что они и так много знают.
А вот если тебя тычат каждый раз в слова "обратитесь к документации" в книге для новичка, то это хуево.
Аноним 11/04/20 Суб 21:09:13 1656042977
>>1656035
Так все правильно, книга для новичка, новичку рассказывают про базовые понятия языка и синтаксис.
Рассказали про атрибуты, зачем они, как применяются. Дали пример. Что ещё надо?
Это же учебник по языку а не по атрибутам и не по конкретным библиотекам. Перейдет новичок с изучения языка на изучение фреймворка - там и познакомится с используемыми в нем атрибутами
Аноним 11/04/20 Суб 21:16:19 1656046978
>>1656042
Так там выше есть список часто используемых методов какого-либо класса и краткое описание. Что мешало с атрибутами сделать также? Хотя бы просто написал, блять, чтобы я по названию примерно понял что к чему и посмотрел в документации те, которые меня интересуют. А так смысла вообще нет в этой поверхностной информации, я бы лучше время это потратил на книгу по этому фреймворку, а не вот этот огрызок.
Какой вообще смысл в этом огрызке? Я сразу побегу своё делать? Нет, потому что у меня нет достаточных знаний. Может быть этой информации нет в книге по этому фреймворку? Нет, она там есть. Т. е. получается избыточное дублирование.
Аноним 11/04/20 Суб 23:38:26 1656111979
>>1654577
>Какая работа обычно бывает у шарп программистов помимо веба?
Виндовс форм
>Стоит ли вкатываться в геймдев?
Просто загугли количество геймдев вакансий. Нет никакого геймдева в этой нашей России.
Аноним 12/04/20 Вск 03:32:01 1656164980
>>1621525
> энтерпрайз точенный
this
игрульки - путь в никуда (токсичное комьюнити, токсичные коллеги, 0 рост из-за простоты разработки, однотипная работа, никаких архитектурных и сложных задач).
Аноним 12/04/20 Вск 03:38:44 1656165981
>>1624870
> решил вкатываться в бекэнд, есть базовые знания html, CSS
Распечатал себе этот мем.
Аноним 12/04/20 Вск 04:21:06 1656179982
>>1625470
Можешь сделать что-то на подобии этого https://dotnetfiddle.net/e4FwRC
Добавить оверрайды для ValueContainer`а, добавить метод для сокращения одинаковых физ. величин и т.д.
Аноним 12/04/20 Вск 04:23:52 1656180983
>>1625677
> банально чтобы даже с каким-нибудь EF ты понимал что своими Linq ты хуйню сделал и либо Linq составлял нормальные либо умел на нативных решениях переписать нормально
Это не джунские знания. Джун должен уметь скомпилить проект и поправить пару багов.
Аноним 12/04/20 Вск 04:26:57 1656181984
>>1625946
> .NET Core
This. Дебила душного сверху не слушай.
Аноним 12/04/20 Вск 04:27:23 1656182985
Аноним 12/04/20 Вск 04:30:34 1656183986
>>1626424
Самое простое это обернуть твоё говно в while и внутри хуярить trycatch, если прошло - выходить из вайла, если в кетч ушло - хуярить таймаут. Самое быстрое и даунское решение, если лень делать - ебашь так.
Аноним 12/04/20 Вск 04:33:16 1656184987
QA.png (2465Кб, 1760x1172)
1760x1172
>>1627401
> 25k
Это з.п. за неделю?
> тонуть в решеточном говне до скончания веков
this
Аноним 12/04/20 Вск 04:42:30 1656185988
Аноним 12/04/20 Вск 04:45:37 1656186989
>>1629347
> aspx
С ужасом закрыл скриншот.
Аноним 12/04/20 Вск 04:50:45 1656187990
>>1633140
Что ты сделал и с чем тебе помочь? Код тебе написать?
Аноним 12/04/20 Вск 05:00:16 1656189991
image.png (65Кб, 1306x63)
1306x63
>>1636514
Миша, всё хуйня, давай по новой.
Аноним 12/04/20 Вск 05:04:10 1656190992
>>1637120
Просто сиранул в штаны от твоего коммента.
Аноним 12/04/20 Вск 05:08:07 1656191993
>>1637206
Я уверен, что этот говнодел ничего не понял из того, что ты написал.
Аноним 12/04/20 Вск 05:10:04 1656193994
>>1637399
Не стоит, юзай Visual Studio
Аноним 12/04/20 Вск 05:14:05 1656194995
Аноним 12/04/20 Вск 05:20:56 1656196996
Аноним 12/04/20 Вск 06:50:34 1656202997
15855935722820.png (13Кб, 637x305)
637x305
>>1656196
Потом долбоеб столкнется с пикрилом и насрёт себе в штаны от удивления. Я понимаю там количество пробелов в табе определять, но если дело касается разных возвращаемых значений, значит код зависит от ситуации, а не конвеншена.
Аноним 12/04/20 Вск 11:03:31 1656284998
>>1656202
Ты опять выходишь на связь? В тот раз мало обоссали?
Аноним 12/04/20 Вск 11:13:33 1656285999
>>1656284
Зачем ты сам с собой разговариваешь, при этом добавляя ссылку на мой пост?
Аноним 12/04/20 Вск 11:15:02 16562871000
>>1656285
Потому что я с тобой разговариваю. Иди читать как работает борда, ньюфажек.
Аноним 12/04/20 Вск 11:23:02 16562931001
>>1656202
Что ж ты такой тупой. Вопрос не про различия в пре/постинкременте. Иногда надо просто увеличить переменную, как например в цикле фор, там это не на что не влияет. В шарпах обычно пишут постинкремент. Хотя некоторые пишут преинкремент, так как они слышали от кулхацкеров, что в сях он может быть быстрее постинкремента.
Аноним 12/04/20 Вск 11:28:05 16563011002
>>1656293
Долбоеб, речь шла про КОНВЕНШИН, КАК НАДА? КАК ВЫ ДЕЛАИТИ? т. е. то про то, что на код никак не влияет и везде должно быть одинаковым. Можно отказаться от использования инкремента вообще, это будет конвеншином, но если ты сказал, что у тебя постфиксный инкремент это конвеншин, а потом в коде пишешь ++x потому что иначе он будет работать неправильно, то ты долбоеб. Потому что конвеншены на "вот в этой ситуации так пишем, а вот в этой так" никто не создает, это противоречит их предназначению, а именно упрощению работы и предотвращению путаницы. Поэтому перестань срать себе в штаны, в них и без того полно дерьма.
Аноним 12/04/20 Вск 11:36:23 16563131003
>>1656301
Сочувствую, но я такого не встречал, что б конвеншинами запрещали пользоваться языковыми конструкциями. Конвеншены именоо про стиль и >>1656301
>про то, что на код никак не влияет и везде должно быть одинаковым.
Т.е. инкремент в циклах и прочее. А если нужен прединкремент, а конвеншн его запрещает, то ковеншн и контора, которая его придумала говно.
Хотя сейчас вспомнил один случай мне рассказывали, в некой конторе ругались за использование фишек C# 8, хоть иписале на коре 3, а все из за того, что большинство в конторе не осилили чейнджлог. Хотя это еще можно оправдать, но то что ты пишешь это верх маразма.
Не злись, здесь на тебя всем похуй, побереги нервы.
Аноним 12/04/20 Вск 11:44:02 16563191004
12123.jpg (27Кб, 423x575)
423x575
>>1656313
>Т.е. инкремент в циклах и прочее.
>Т.е. инкремент в циклах

Просто нахуй иди. Такое быдло как ты понимает только когда его либо плетью бьют, либо зарплату забирают.
Аноним 12/04/20 Вск 11:57:54 16563331005
>>1656319
>не отличает инкремента переменной, от присваивания инкрементированного значения другой переменной.
Аноним 12/04/20 Вск 12:02:30 16563391006
lp.png (5Кб, 482x472)
482x472
Аноним 12/04/20 Вск 12:04:51 16563421007
>>1656319
>Использовать переменную-индекс вне цикла
Пиздец просто.
Аноним 12/04/20 Вск 12:09:29 16563461008
>>1656202
>Инкрементить возвращаемую переменную, которая сразу после возврата пропадет из области видимости
Пиздец просто х2
Уйди из треда не позорься
Аноним 12/04/20 Вск 14:31:42 16564361009
devtools какие лучше?
Аноним 12/04/20 Вск 15:17:11 16564621010
Аноним 12/04/20 Вск 15:51:03 16564881011
>>1656319
Но это у тебя за подобный код зарплату заберут и плетью отлупят.
Аноним 12/04/20 Вск 22:41:42 16566991012
>>1618705 (OP)
Сап прогромач. Вопрос по WPF. Есть TreeView, к его TreeViewItem'ам надо привязать экземпляры разных классов (по одному на айтем) и получать их по клику мышки. Как сделать эту привязку при учете того что классов будет штук 30(все наследованы от одного родителя),а айтемов - штук 150?
Аноним 13/04/20 Пнд 00:48:41 16567451013
>>1656699
Чё-то я подозреваю что все пары по ООП ты прогулял. при том что ты самоучка
Серьёзно, WPF тут не причём. Это базовая работа с объектами и одинакова она будет и для консоли и для веба и для твоего впф.
Аноним 13/04/20 Пнд 01:20:32 16567601014
137214734727701[...].png (81Кб, 680x632)
680x632
>>1656346
>>1641261
>>1656301

Читал вашу баталию, читал, но так и не понял аргументов. Я даже запутался, кто из вас за какую сторону уже болеет (там походу 3+ анона уже отвечают).

Когда значение инкремента нужно, то во всяких учебниках и статьях пишут i++ (постинкремент). Как тут >>1656339 уже показали, внутри цикла значение для ++i и i++ будет одинаковым. Обычно инкремент жить вне цикла не должен, хотя бывают алгоритмы, когда один инкремент продолжают гнать через несколько циклов и/или методов. В этом случае уже будет не до стандартов, а надо будет конкретное решение выбирать.

Если значение инкремента не используется, то надо использовать или foreach, или бесконечный цикл с условием для выхода while(read)/for(;;)
Аноним 13/04/20 Пнд 11:52:58 16569091015
Как в C# принято реализовывать копирование объекта? Наследовать класс от ICloneable и переопределять метод Clone? Или написать конструктор, который принимает параметром объект того же класса? Или как-то по-другому? В C++ есть дефолтный copy constructor, который можно переопределить, но здесь такого нет.
Аноним 13/04/20 Пнд 12:05:23 16569181016
>>1655804
Выглядит так, что ты открыл книгу для тех кто уже знает какой-то ЯП. Таких много. Ищи "переменная это коробочка со значением"-книги. Не насилуй моск себе.
Аноним 13/04/20 Пнд 12:06:34 16569191017
>>1655804
Или же если тебе что-то не понятно ищи по этой же теме другие материалы, а книгу используй как роадмап по темам.
Аноним 13/04/20 Пнд 12:16:28 16569281018
>>1655804
Мыши плакали, кололись, но продолжали жрать кактус.
Аноним 13/04/20 Пнд 15:02:08 16570361019
>>1656909
IClonable для этого и сделан, но, Пестька, есьт нюанс. Он не генерик, что с одной стороны понятно, а с другой приводит к упаковке у структур и можно словить нежданчик (см. пикрил). Решается объявлением Клоне() виртуальным и надеждой, на то, что его переопределят в наследнике. Как по мне лучше бы сделали генерик (хотя никто не мешает завести свой интерфейс).
Конструктор сделать можно, но как-то я не встречал такого (хотя я вобще почти не встречал клонирования). Но и тут есть нюанс (пикрил 2). Надо, что бы вся цепочка наследования имела конструктор копирования.
Есть способ надежный, блять, как швейцарские часы и элегантный как трактор - через бинарную сериализацию в мемористрим и обратно. Единственный недостаток класс должен быть помечен как [Serializable] и иметь конструктор без параметров (но это не точно).
Ну и наконец, есть старая добрая рефликсия, всегда придет на помощь. Вот вариант упонянутый на СО:
https://github.com/Burtsev-Alexey/net-object-deep-copy/blob/master/ObjectExtensions.cs
>>1656918
Вроде чувак питон учил до этого, а глохнет на ровном месте.
>>1656919
Двачую. Нет и не будет такой книги (если только интернет распечатать), в которой разжевано все. Но к счастью у шарпистов есть MSDN - лучший ресурс по языку и прилегающем технологиям.
Аноним 13/04/20 Пнд 15:03:56 16570371020
clone.png (7Кб, 462x229)
462x229
clone2.png (5Кб, 316x260)
316x260
>>1657036
Блэт, фотокарточки забыл прицепить
Аноним 13/04/20 Пнд 15:25:39 16570481021
>>1618705 (OP)
Делал игры на яваскрипте под мобилки, захотел пересеть на унити, там С шарп.
Пытаюсь решать базовые задачи, голова начинает болеть.

1)Где гребанный список всех базовых директив и методов, необдходимых для простейших программных манипуляций? В доках смотрел, в референсах, везде какая-то дичь. Я просто хочу из коробки использовать базовые математические операции, операции матрицами, числами и тп. Почему недостаточно просто иногда написать using System? Чтобы выполнить простейшие операции с генериками и прочими листами приходится копаться в каких-нибудь Enumerable<T> и гуглить каждый метод через стаковерфлоу где на такой простой вопрос люди такие простыни катают еще и спорят друг с другом.

2)Перейти от сишарпа с С проще чем от яваскрипта к сишарпу?

3) Почему нет нормального типа строки? Почему один элемент это обязательно char, а не строка? Это же ппц как неудобно, дианмическая типитизация удобнее же в разы.

4)Почему во многих языках какой-то пердолинг с матрицами? Я создаю Очередь, чтобы накидать элементов в ОПРЕДЕЛЕННОМ(??) порядке, и только потом делаю ToArray. Зачем такие сложности/

5)Суммирая выше сказанное, насколько эффективно писать на сишарпе? Насколько быстро? Я так понимаю быстро, кратко и эффективно жонглировать махинациями как в яваскрипте не получится. На питоне в 3-5 раз быстрее пишется код, чем не яве. Какое же место у сишарпа в таком сравнении?





Аноним 13/04/20 Пнд 15:58:25 16570721022
>>1657048
>Делал игры на яваскрипте под мобилки
Што блядь?
Аноним 13/04/20 Пнд 16:11:20 16570841023
>>1657048
1)Чет слишком абстрактный вопрос. По шарпам справка на мсдн, по юнити, очевидно, на сайте юните.
2)Не думаю.
3)А? Строка может быть из одного символа. Но строка и символ это разные сущности, выбирай что тебе надо. И при чем тут динамическая типизация?
4)Хз зачем ты так сложно делаешь. Массив и так сохранят порядок, если нужен "резиновый" массив, то это List<T>.
5)Эффективно. Быстро. Как в жаваскрипте не получится, это не жава скрипт. Но зато можно как в шарпе.
Шарп и жс разные языки во многом, и чем раньше ты пеерстанешь пытаться писать на шарпе, как будто-то ты пишешь на жс, тем проще и быстрее будет освоение шарпов.
Аноним 13/04/20 Пнд 17:32:20 16571451024
>>1657072
Что?

>>1657084
>справка мдсн
Вот это?
https://docs.microsoft.com/en-us/dotnet/api/system?view=netframework-4.8
Я во всем этом шарить должен?, int32-64 T_T

>выбирай что надо
Я задачки на сайте просто перерешиваю. То что решалось за 2 секунды на яваскрипте вызывает у меня боль в голове на сишарпе.
Дан аргумент char, его надо использовать в манипуляциях, добавляю строку к чар-ошибка, нет автоматической конвертации, то бишь динамической типитизации.

>хз зачем
Array в сишарпе создается как есть и его изменять нельзя. Нету Push метода элементарного, так? Мне же нужно прогонять-cоздавать сборку элементов, менять их, манипулировать ими. Но вернуть функция должна именно Array, а не List или Queue.

>быстро
Да. я понимаю, я пытался что-то там писать на крестах сколько-то лет назад, когда не было возможности на жс, директивы, поинтеры какие-то, ооп. книжки вумные читал. 'Полноценные' языки, с интерфейсами, абстракцией, доступом к функциями и так далее. Надо осваивать.
Спасибо за ответ.

Аноним 13/04/20 Пнд 17:38:51 16571501025
>>1657145
Как это игры на жаваскрипте на мобилки пишутся? На реакт нейтиве что ли?
Аноним 13/04/20 Пнд 18:12:28 16571761026
>>1657150
Слышал о реактнайтиве, но не трогал. пытался изучать реакт, госпади такая пердольная бессмысленная скотина, и вечные срачи вокруг этих фрейморков нифига не мотивируют их как-то изучать.
Компиляторы, бандлы всякие. Ты можешь писать на одном языке, а потом конвертировать на платформу другого. Например у андроида есть ndk bundle с помощью которого можно конвертировать написанный c++ код на понятный яве машине.
Учитывая популярность жс, на нем скоро, если не уже, будет писаться все.
Я занимался cocos2d, он раньше был только на крестах и луа, сейчас жс добавили.
Аноним 13/04/20 Пнд 19:14:34 16572281027
>>1657176
>cocos2d
да судя по вики он там вообще на всех языках, а изначально на Питоне был
Аноним 13/04/20 Пнд 19:42:39 16572491028
>>1657145
>вызывает у меня боль в голове на сишарпе.
Ну так возьми учебник по шарпу. Да, тут будет не так как в жс, хз что тебя удивляет.
>автоматической конвертации, то бишь динамической типитизации.
Хм.. ты писал на жс, но так и не понял, что такое динамическая типизация... подозрительно.
>изменять нельзя
можно
>Нету Push метода элементарного
Еще возьми книжку по компутер саенс и структурам данных, у массива и не должно быть пуша.
>Мне же нужно
Бери необходимую структуру данных, благо в стандартной реализации все основные есть.
>вернуть функция должна именно Array
К счастью разработчики фреймворка запилили ToArray, и любой IEnumerable можно перегнать в массив одной командой.

Аноним 13/04/20 Пнд 19:44:39 16572511029
>>1657145
>решалось за 2 секунды на яваскрипте вызывает у меня боль в голове на сишарпе.
Не парень, учить тебе азы еще и учить. Базовые типы во всех языках одни (в твоём жсе они тоже есть, но спрятаны, и если ты не понимаешь что ты делаешь, то можешь огрести). Алгоритмы работы с ними одинаковые. Основы работы с памятью и ЦПУ везде одинаковые. Как только ты это для себя откроешь, то у тебя таких вопросов больше возникать не будет. Ты сможешь решить те задачи хоть на шарпе, хоть на руби, хоть на питоне, хоть на кложе, хоть на <дофига языков> с примерно одинаковой эффективностью без всякой боли.

В шарпе тоже можно сделать Queue и потом ToArray().
Библиотеки для работы с математикой есть везде и легко гуглятся.
Матрицы - это массивы. В некоторых языках есть доп сахар для работы с ними (Питон). В шарпе можно добавить сахар самому или подключить готовую библиотеку.
Аноним 13/04/20 Пнд 19:50:18 16572531030
>>1657145
>Нету Push метода элементарного
Потому что в жс массивы на самом деле не совсем массивы. Они выполнены в виде стэке, поэтому у тебя появляются пуш и поп.
В памяти же массив - это жёстко выделенный участок. Твой жс просто всё это от тебя прячет за слоем динамической магии. И ты можешь огрести по самые помидоры, не зная как работают внутреннсти твоей виртуальной машины.
Шарп предотвращает множественные выстрелы себе в ногу (жс позволяет выстрелит себе в пах и в голову одновременно). Поэтому если тебе нужна какая-то хитровыебанная структура, то пили её сам и не вини потом язык/фреймворк/аллаха в твоих проблемах.
Аноним 13/04/20 Пнд 20:07:46 16572741031
>>1657249
>не понял
И что же это?

>не должно быть пуша
в жс есть...но в жс вещи не вещи, да-да

>к счастью
Еще бы они не запилили ><

>>1657251
>спрятаны
Так про это я и говорю. ЖС проще тк это более абстрактный язык, чем с-семейство и прочие явы. Надеюсь после изучения шарпа будет со всем проще как ты сказал.

>в шарпе также
Я про него и говорил.

>>1657253
Спасибо ребята.
Аноним 13/04/20 Пнд 20:08:26 16572751032
image.png (14Кб, 627x279)
627x279
Помогите тугодуму плиз.
Как сделать чтобы тест из текстбокса я мог определить в классе?
Аноним 13/04/20 Пнд 20:26:22 16572911033
>>1657275
Ну-ка покажи еще пару строчек сверху
Аноним 13/04/20 Пнд 20:34:13 16572991034
>>1654577
Вот я говно на винформах делаю.
В геймдеве платить будут меньше, делать и знать придется больше.
Аноним 13/04/20 Пнд 21:24:37 16573421035
ребятки как думаете, что будет c .net/с# в будущем? обьективно .net сейчас покруче жавки но сможет ли он потеснить жавку? грубо говоря в топ 3 влезть?
Аноним 13/04/20 Пнд 21:50:03 16573551036
>>1657342
Вангования в другом месте Нет, в топ 3 не влезет.
Аноним 14/04/20 Втр 04:27:32 16574801037
>>1657299
Зато работа интереснее.
Аноним 14/04/20 Втр 04:33:42 16574811038
15353526.png (34Кб, 1162x618)
1162x618
>>1657342
За время своего существования шарп медленно, но верно сокращает разрыв в популярности с джавой. Если 15 лет назад Джава была в 6+ раз популярнее шарпа, то сейчас всего в 2 раза. Думаю лет за 3-5 обгоним окончательно.
Аноним 14/04/20 Втр 08:59:13 16575141039
>>1657481
Так это не шарп сокращал, а джава теряла в популярности лол
Аноним 14/04/20 Втр 11:07:39 16576511040
>>1657176
>госпади такая пердольная бессмысленная скотина
Другое дело твое мертвое гамно.
Аноним 14/04/20 Втр 11:39:23 16576631041
>>1657514
Одно и то же. Они же не равномерно теряют в популярности, джава скоро так дотеряется что шарп станет популярнее.
Аноним 14/04/20 Втр 13:04:54 16577031042
Сап шарпаны, есть проект на .net core 3.1. По дефолту при билде все зависимости проекта с нугета и зависимости этих зависимостей кладутся в ту же директорию что и dll/exe самого проекта. Есть ли возможность как-то указать чтобы все зависимости клались в субдиректорию "Dependencies" например и папка с билдом выглядела примерно как
Build
|
---Dependencies
| |
| ---тут все дллки зависимостей
|
|
---тут дллка самого проекта

Сборка в один исполняемый файл не подходит.
Я вроде бы гуглил, но толком ничего не нашел. Буду благодарен за объяснение или тычок где об этом у майков можно почитать.
Аноним 14/04/20 Втр 15:16:08 16577631043
>>1657651
На нем даже конченные имбецилы типа меня могут клепать программки, эффективность в разы больше.
Аноним 14/04/20 Втр 17:58:41 16578641044
>>1657703
Я не уверен что есть конкретно такая опция при билде: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet#dotnet-commands

--output - сюда будет укладываться всё.

Но для таких кастомных решений есть post-script в самой вижуал студии. Если используется CI/CD, то там еще проще скрипт запихать, который разложит файлы куда надо.
Естественно придётся ссылки на зависимости в твоём основном проекте с точкой входа править.
Аноним 14/04/20 Втр 18:00:57 16578661045
>>1657763
Твоя эффективность только на хэло ворлдах проявляется и до первой тыщи строк.
Аноним 14/04/20 Втр 18:10:46 16578711046
>>1657864
> Естественно придётся ссылки на зависимости в твоём основном проекте с точкой входа править.
А как это можно сделать, не подскажешь?
Аноним 14/04/20 Втр 19:32:49 16579221047
>>1657866
Если у тебя файл улетает больше одной тысячи строк на мобилке то ты что-то делаешь не так.
Аноним 14/04/20 Втр 20:55:00 16579781048
>>1657922
Строки кода в проекте считают по всем файлам, а не по одному. Ни в одном проекте не должно быть вручную набитых файлов с 1к+ строк кода.
Аноним 14/04/20 Втр 23:40:04 16580871049
ещё один вопрос чуханы, что думаете про Blazor?? жиэс больше не нужон??
Аноним 14/04/20 Втр 23:45:48 16580941050
Сап к скиловым анонам. Как запускать asp.net core вместе с node.js в релизе? В дебаге все изи выкатывается, начинаю депрой делать и в релизе запускать - хуй.
Еще вопрос - как запускать именно билд сборки в wwwroot? В чем загон - пишу фронт на React, запуск в дебаге - npm start. Когда делаю билд с помощью serve, то запуск билда происходит только с serve -s build. Но блять в asp.net core только npmScript.
Помогай анон, заебался уже тыкаться. И главное туториалов - нет. Даже ебучий MSDN не может расписать, как с WebApi работать.
Аноним 15/04/20 Срд 00:36:22 16581181051
>>1658094
Ну, во-первых, тебе к жс чуханам в тред надо. У тебя 2, на 100% отличающиеся и живущие друг от друга в полной изоляции, приложения. Дотнет запускается как делать нефиг. Теперь тебе надо понять как отдавать кучу статик файлов (js, css, media) через хттп запрос клиенту.

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

>asp.net core только npmScript
нет ни в дотнете ни в коре никаких нпм, нод и прочей клиентской чухни! Это просто доп абстракция через плагины, которая сегодня работает, а завтра нет.
Аноним 15/04/20 Срд 09:23:09 16581941052
>>1658087
Сам не работал, но если допилят (хотя уже и сейчас есть проекты на нем), будет как минимум интересно. Жс точчно не убьет.
Аноним 15/04/20 Срд 10:12:49 16582161053
>>1658118
>тебе к жс чуханам в тред надо
я через Debug запускаю Node.js, мне нужна релизная версия. Чем мне JS-сники помогут, если у меня запуск приложения должен тригерить запуск Node.js сервера? У меня они должны подниматься и ложиться синхронно.
>Не пользуйтесь блять костылями
какими именно? Все, что я написал - это практика web api
>нет ни в дотнете ни в коре никаких нпм, нод и прочей клиентской чухни! Это просто доп абстракция через плагины, которая сегодня работает, а завтра нет.
Как нет, если есть. У них же все равно связь должна быть. Как минимум билд реакта должен лежать в wwwroot в виде staticfiles. Разве нет?
Кто работал с WebApi - дайте совет
Аноним 15/04/20 Срд 12:52:31 16583231054
>>1657037
Так кто так клонирует как на первом пике? Если сделать так:
Type x = this.GetType();
Assembly y = Assembly.GetAssembly(x);
return y.CreateInstance(x.ToString());

То всё нормально работать будет.
Аноним 15/04/20 Срд 13:06:30 16583341055
>>1657048
1) На msdn, просто так сходу не получится, для этого нужно хотя бы один нормальный язык знать, а не динамикопарашу, которая создана для того чтобы плодить говнокод о работе которого ты ни малейшего представления не имеешь.
2) Конечно, потому что C низкоуровневый язык и входит в одно семейство языков с Шарпом, а жопаскрипт это динамика, которая создавалась как дополнение к языку разметки, а не полноценный язык.
3) Во-первых, он есть и это тип String, во-вторых, любая строка это массив символов. Даже "a" это массив из одного элемента char 'a', об этом помнить нужно.
>дианмическая типитизация удобнее же в разы.
Она делает много той работы, которую ты мог бы сделать и определить на момент написания кода. Это пустая трата ресурсов и времени.
4) Потому что так работает строгая типизация. Программа должна четко знать что и откуда должно вернуться. Это удобно, потому что в случае ошибки компилятор тебе даже запустить такую программу не даст. В твоём JS ты можешь нахуячить 1к строк кода, а потом проебаться несколько часов, пытаясь понять что же с ним не так, а всё потому что JS'у похуй на то что принимать и возвращать.
5) Шарп создан для того чтобы писать качественный, легко поддерживаемый и переиспользуемый код в больших количествах. Он быстрее и ресурсоемок в сравнении с Жабой, у него больший ООП функционал в сравнении с Жабой. С динамикопарашей можно не сравнивать, потому что у неё другие предназначения (быстрее нахуячить код и запустить его, либо нахуячить костыль). Как только ты дойдешь до создания крупных проектов, начнёшь изучать паттерны проектирования, так сразу поймёшь все плюсы ООП языков.
Аноним 15/04/20 Срд 13:14:22 16583361056
Аноним 15/04/20 Срд 13:23:06 16583451057
>>1658336
спасибо за сорс. Очень странно, что никто не знаком с этим, ведь это обыденная практика для разработки проектов. Правду писали, что тут одни вкатыши сидят
Аноним 15/04/20 Срд 13:31:23 16583561058
>>1658345
По этому отдельные книги создают, а ты хочешь чтобы тебе всё в одном посте описали и при этом относительно твоего поделия, которое никто даже не видел. Как ты себе это представляешь? Совсем тупенький?
Аноним 15/04/20 Срд 14:15:28 16584001059
>>1658356
>в одном посте
ты хотя бы другие мои посты почитал, о чем я писал, прежде чем царапать свою хуйню
Аноним 15/04/20 Срд 14:27:25 16584161060
>>1658323
>Если сделать так
То ты создашь новый экземпляр со значениями полей по-умолчанию. К копированию это отношения не имеет.
>>1658400
>другие мои посты почитал
На анонимной борде.
Аноним 15/04/20 Срд 14:37:41 16584261061
>>1658416
>На анонимной борде.
переходы между постами. Еще про тупенького что то пишет
Аноним 15/04/20 Срд 14:40:22 16584281062
image.png (170Кб, 352x352)
352x352
Я новичок, посему вопрос гипер тупой.
Почему у вас так много вариантов явного преобразования/приведения типов? Скобочки, Сonvert,.Parse/TryParse. Нахуя их больше одного?
Аноним 15/04/20 Срд 14:46:45 16584381063
Аноним 15/04/20 Срд 14:48:26 16584401064
>>1658438
Видно, что ты умный, но я не спрашивал, в чём разница, а почему способов сделать одно и то же действие больше одного(а как минимум 3).
Аноним 15/04/20 Срд 14:52:05 16584431065
>>1658426
Ну вот ты и обосрался, несмотря на переходы. Мои посты в этом треде только про клонирование. Тебе я ответил первый раз.
>>1658428
Это разные вещи. Скобочки это каст между типами, парсе/трайпарсе - для (внезапно) паринга из строки. Конверт - преобразование между типами.
Аноним 15/04/20 Срд 14:54:37 16584471066
>>1658440
разные задачи, не? Хочешь 0 - ToInt, хочешь Exception - Parse. Или ты думал просто так будут методы оставлять?
Аноним 15/04/20 Срд 14:56:13 16584491067
>>1658447
Почему всё это в разных местах находится? Будто разобрали лего-конструктор и его части распихали по разным наборам.
Аноним 15/04/20 Срд 14:56:19 16584501068
>>1658443
тупое ты уебище, я про свои посты говорю. Смотри, что я в предыдущих постах пишу про React+Core
Аноним 15/04/20 Срд 15:05:15 16584571069
Аноним 15/04/20 Срд 15:22:46 16584771070
>>1658428
Скобочки нужны для приведения типов, ты не сможешь привести тип string к типу int, поэтому компилятор будет ругаться если ты напишешь (int) "23423"
>Сonvert
У него большое количество перегрузок для всех методов, т. е. его можно использовать там где у тебя может быть не только строка, как у Parse и TryParse, но и другое число, символ, объект и т. д.
>Parse
Используется там где ты точно знаешь, что операция не вызовет эксепшена. Или там где для тебя важна производительность, потому что TryParse медленнее.
>TryParse
Удобно использовать в условиях и там где ты не уверен, что тебе точно придёт строка, которая парсится в число.
Аноним 15/04/20 Срд 16:29:59 16585181071
Аноним 15/04/20 Срд 17:36:21 16585521072
>>1658216
Мы несколько проектов в прод запустили, часть на старом knockout, остальные на Angular и React.
>Разве нет?
Нет, это всё "официальные" костыли, плагины, которые за тебя триггерят npm команды и скрывают настоящую конфигурацию ноды и реакта.

WebApi крутится сам по себе на бэкенде не зная ничего о природе клиента. Билдиться вся эта клиентская муть должна отдельно. Хостить в проде надо через реальный сервер, а не дев сервак от ноды, который только для разработки можно использовать. Ты можешь свои статик файлы через тот же Kestrel или IIS отдавать, настроив его отдельным приложением или сделать еще один endpoint в твоём WebApi для возврата Реакт файлов.

Ты можешь свои скрипты навесить на билд процесс либо в самой студии и потом dotnet build/publish будет их подцеплять, либо делать отдельный билд скрипт и хранить его вместе с репо.

Бойся Strong Coupling как огня https://en.wikipedia.org/wiki/Coupling_(computer_programming).

С твоим подходом ты tight coupling в самые корни запускаешь. И судя по твоим постам ваши абстракции всё мясо напрочь скрыли, потому что ты не понимаешь как твоё собственное творение внутри работает.
Аноним 15/04/20 Срд 17:51:08 16585621073
>>1658449
Потому что делать швейцарский нож в программировании не есть хорошо. Оно станет тормозным, будет тяжело поддерживать и оно начнём вести себя магическим образом в особых ситуациях.
Вшитый способ - через скобочки. Но он не всегда будет давать нужный результат. Например string to enum, у которого есть какой-нибудь Display аттрибут. Откуда рантайм должен знать, надо тебе по аттрибуту или по имени enum конвертацию делать? Case in/sensitive?

А еще есть всякие дженерики и их in и out типы: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/in-generic-modifier

И еще мильён нюансов.
Аноним 15/04/20 Срд 21:15:29 16586611074
Какой проект сделать, чтобы поиграть с потоками?
Аноним 15/04/20 Срд 21:50:52 16586791075
Что есть в ASP.NET Core Web api чтобы раз в какое-то время делать какой-то большой запрос в БД, сохранять результат и использовать его? Типа как знаете пересчитывать рейтинги у фильмов. Или сортировать треды по времени последних постов. Приходит в голову сделать синглтон и там через интервал делать это действие, писать результат и использовать как сервис везде где нужно, но вдруг есть уже какой-то реализованный механизм в фреймворке на такой случай, подскажите плз. Я ньюфаг
Аноним 15/04/20 Срд 21:58:51 16586831076
>>1658679
В мвс юзал fluentscheduler в свое время, в коре вроде из коробки есть что-то такое, гугли
Аноним 15/04/20 Срд 22:06:42 16586871077
>>1658661
Любой в котором требуется выполнения долго выполняющихся задач. Как пример - парсер новостных сайтов, который в несколько потоков собирает нужную информацию из списка сайтов и сразу соединяет всё в единый массив.
Аноним 15/04/20 Срд 23:08:03 16587441078
Господа шарписты, поясните, есть ли у вас какой-нибудь говносайт как у жиэсмакак learn.javascript, чтоб по каждой теме были упражнения, задачки вот это все?
Поглядел пару книг, там тупо справка, на метаните полтора упражнения, большинство это вопросы на самопроверку. Не хотелось бы оказаться в ситуации, когда вроде все понимаешь, а написать ничего не можешь.
Аноним 15/04/20 Срд 23:23:55 16587591079
Аноним 16/04/20 Чтв 00:12:54 16587951080
>>1658759
С гитом уже знаком, а за ссылки спасибо.
Аноним 16/04/20 Чтв 00:19:36 16588021081
>>1658552
спасибо, я тоже задумался над тем, что это полностью сепарированные сервера должны быть и вообще не имеют никакого отношения друг к другу. Мануалов просто не нашел, не знаю где покопаться, сейчас буду книжки рыть, где можно найти такое. У меня на самом деле еще много вопросов:
1. services AddSpaStaticFiles и весь остальной треш нужно пихать?
2. Компоузы только для облачных серверов идут? Нужен ли он вообще?
3. Как установить связь между реакт проектом и core приложением? Ловить/отправлять реквесты между портами?
Аноним 16/04/20 Чтв 13:55:07 16590151082
почему не рекомендуют Шилда для изучения шарпа?

А то хочу книгу, но про Шилда встречаю негатив.

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

Что еще можно? нужна толстая книга, но с более продуманной структурой
Аноним 16/04/20 Чтв 17:10:37 16592501083
>>1659015
>Троесена - мне совсем не понравилась, автор тупо навалил все в кашу - почему до классов, и ооп еще не дошло

Вот выдержка из третьей главы:

C# demands that all program logic be contained within a type definition (recall from Chapter 1 that type is
a general term referring to a member of the set {class, interface, structure, enumeration, delegate}).

>recall from Chapter 1

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

>он выливает тонну материала без практики

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

И если для тебя Троелсен это тонна, то попробуй открыть Альбахари и его C# in a nutshell и посмотри сколько материала у него. Там один класс String и его методы это несколько глав.

>почему не рекомендуют Шилда для изучения шарпа?

Знаю только, что Шилда в ВУЗах рекомендую и что у него по плюсам и джаве еще книги есть. Открой и почитай, но если тебе Троелсен не зашел, то вряд ли проблема в авторе.
Аноним 16/04/20 Чтв 17:47:06 16592851084
>>1659250
>Т. е. о классах и типах тебе в первых главах рассказали то, что должно интересовать новичка
вот эта первая глава в итоге - одна сплошная каша.
да и ничего он там не рассказал

>>1659250
>Что ты под практикой подразумеваешь
материал надо как-то закреплять, дело не в задачах, надо начинать с малого и возвращаться к этому когда читатель набьет руку. Опять же - нахрена в первых главах выливать поток методов Object/Array? Я еще даже самими классами не пользовался, а уже должен запомнить все их методы.

С# не первый мой язык. Я изучал С++ - там в книгах хорошо все структурировано. И с PHP тоже пришлось познакомится - там тоже в книгах все нормально упорядочено.

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

(ну а конкретно моя проблема, что я не хочу изучить поверхностно (иначе бы просто посмотрел лекции в ютубе, да и так уже сам пишу код), я хочу сразу детально изучить этот ЯП - но из-за такого авторского стиля, оно просто из головы вылаливается, да и тяжело читать тягучую теорию
Аноним 16/04/20 Чтв 17:58:14 16593001085
>>1659285
Рихтера тогда навернуть попробуй
Аноним 17/04/20 Птн 10:41:57 16597831086
image.png (36Кб, 721x502)
721x502
У меня в проге используется массив, но его надо автоматически сгенерировать от 1 до n, как это можно сделать? Понятно что с циклом, но у меня методы не будут видеть, если я это буду в нём писать
Аноним 17/04/20 Птн 10:42:20 16597841087
image.png (18Кб, 461x352)
461x352
Аноним 17/04/20 Птн 14:11:57 16599851088
>>1659783
Объявлять его на уровне выше, чем твои методы.
Аноним 17/04/20 Птн 14:40:11 16600091089
>>1659783
> используется массив, но его надо автоматически сгенерировать от 1 до n, как это можно сделать?
var mas = System.Linq.Enumerable.Range(1, 5);

Аноним 17/04/20 Птн 14:43:58 16600141090
Анон, мне нужны знания древних! А именно тех, кто юзал Visual Studio 2010. Расскажите как там создать нормальный инсталлер для своего добра.
Вот создал я проект установщика. Мне в нём нужны свои формы. Жмякаю на нём ПКМ -> Вид -> пользовательский интерфейс -> добавить диалоговое окно. На выбор только окна с радио баттонами, чек боксами и текстовыми полями. Причём в ограниченном количестве, не больше четырёх. Так, а если мне, га пример, нужна форма с пятью радиоБаттонами, как мне быть?
Аноним 17/04/20 Птн 15:17:57 16600571091
Анон, подскажи, плез.
Даны 5 целых чисел. Вывести сумму положительных.
Начальные данные: 5 целых чисел на одной строке через пробел.
Есть ли способ распарсить стринг и сразу заполнить массив интов, например? Как-то утомляет каждый раз сплитовать на массив строк и парсить каждую руками, а циклы условия задачи не разрешают
Аноним 17/04/20 Птн 15:26:15 16600661092
opop.png (18Кб, 373x156)
373x156
Аноним 17/04/20 Птн 15:31:03 16600711093
Начал учить C#. Коммерческий целей не преследую(хотя в глубине души надеюсь), так как я слишком тупой. Какие подводные камни? Может лучше дыже не пытаться, а пиздовать к питонщикам? Там и гуи есть через куте, и серверная разработка и асинк вроде даже есть какой-то.
Аноним 17/04/20 Птн 15:32:44 16600731094
>>1660066
выглядит изи, но мои познания знания в сисярпе ещё не позволяют такого вытворять.
я тут про Array.ConvertAll только узнал, а у тебя лямбды и прочее страшное. нихуя не понятно, но очень интересно. спасибо, Анон
Аноним 17/04/20 Птн 15:35:34 16600771095
>>1660073
В смысле не позволяют. Вот тебе показали что-то новое. Сиди дрочи мануалы, документацию, лабы, пока не поймёшь. И вот, ты уже знаешь это и применишь где-то дальше. Или по крайней мере у тебя в голове будет закладка, что что-то такое возможно и при надобности ты легко нагуглишь/вспомнишь через подсказки в редакторе.
мимо-другой-анон
Аноним 17/04/20 Птн 15:42:03 16600841096
>>1660073
0. Берем строку.
1. Split разбивает строку на массив, используя пробел ' ' как разделитель элементов.
2. Select как бы говорит: для каждого элемента x примени int.Parse(x, NumberStyles.Any), то есть распарсь число с любым форматированием.
3. Where — это фильтр: возьми только те числа, которые строго больше 0.
4. Ну и наконец Sum — это просуммируй все числа, что дошли до этой точки.
>>1660066-кун
Аноним 17/04/20 Птн 15:43:23 16600851097
>>1660077
>ещё не позволяют
это я и имел ввиду. смотрится весьма охуенно, но я даже не знал что так можно
>>1660084
спасибо огромное, за объяснения особенно
Аноним 17/04/20 Птн 15:45:45 16600861098
>>1660085
Не парься, у тебя все впереди ;)
Аноним 17/04/20 Птн 17:15:19 16601681099
суп шарпач, есть такая задача:
консольное приложение на net core 3.1, запущено под win64
надо вызывать функции из рандомной PE дллки
то есть в рантайме задается файл библиотеки, имя функции, количество тип порядок аргументов, тип возвращаемого значения и соглашение о вызове
библиотека может быть написана на любом языке, но собрана под винду
в какую сторону копать? если сигнатура известна на время компиляции, то тут всё просто, extern и так далее
Аноним 17/04/20 Птн 18:26:25 16602221100
Вы ебанулись? Что вы делаете на дне /pr?

Вопрос по WPF. Стоит задача иметь только одно окно, и менять его содержимое по приказу view model'ей. Вот этот https://stackoverflow.com/a/25399943/7162511 гражданин советует объявить пары viewmodel-user control через data template'ы в App.xaml, а дальше просто биндить контент в <ContentControl>'е в MainWindow.xaml. Всё бы ничего, но у меня все viewmodelы от базового класса принимают в конструктор объект, конструктор которого в свою очередь тоже имеет параметры. Вроде как как то можно было создавать xaml'е объекты с параметрами и я даже почти не против, но я хз как там же в App.xaml в дата темплейты передавать объекты как аргументы конструктора viewmodelов. Или в таком случае только в MainWindow.xaml.cs самому создавать переменные вью моделей, передавать им свой объект? Как в таком случае биндить юзер контролы к дата контексту окна? Мне пока в голову приходило только сделать какой нибудь костыль на событиях, на которые бы подписывался main window.cs и менять юзер контрол контента в обработчиках события
Аноним 17/04/20 Птн 19:04:49 16602351101
>>1660222
А зачем тебе передавать параметры в App.Xaml и вообще создавать вьюмодели напрямую в xaml? Почитай про ViewModelLocator и DI.
Аноним 17/04/20 Птн 19:11:37 16602371102
Есть двухмерный массив интов размером n,2 (перечисление двух чисел). Как можно (вероятно)через linq без циклов и рекурсий достать сумму чисел выбранной колонки?
Аноним 17/04/20 Птн 19:27:29 16602501103
>>1660168
В сторону рефлексии, очевидно. И собрана она не под винду должна быть, а под .NET
Аноним 17/04/20 Птн 19:29:46 16602531104
>>1660071
>пиздовать к питонщикам
Мало вакансий на джуна.
Аноним 17/04/20 Птн 19:36:49 16602621105
Capture.PNG (14Кб, 669x419)
669x419
>>1660237
держи, крайне не рекомендую использовать.
Аноним 17/04/20 Птн 19:38:38 16602671106
>>1660262
Спасибо, я как раз сам ковырял каст и хотел такое написать.
Чому не рекомендуешь?
Аноним 17/04/20 Птн 19:44:19 16602711107
>>1660267
Потому-что это код из разряда "смотри как умею" который не очевиден для понимания и противоречит философии linq, мутировать внешнюю переменную в linq запросе это трешак. Код должен быть максимально простым и очевидным. Гораздо лучше написать какой нибудь GetColumnSum extension метод в котором в цикле for пройтись и получить сумму чем городить вот эти хаки с кастом и т.д.
Аноним 17/04/20 Птн 19:59:36 16602891108
>>1660271
Я не спорю что колоть жопой орехи - нехорошо, просто стоит условие
>Overlapping intervals should only be counted once
Аноним 17/04/20 Птн 20:10:26 16603091109
>>1660289
Overlapping intervals это строки в массиве? И как тебе тут linq поможет вместо простого for?
Аноним 17/04/20 Птн 20:26:19 16603241110
>>1660309
Да я жопочтец ебанутого тз. Вот фулл:
>Write a function called sumIntervals/sum_intervals() that accepts an array of intervals, and returns the sum of all the interval lengths. Overlapping intervals should only be counted once.
>Intervals
>Intervals are represented by a pair of integers in the form of an array. The first value of the interval will always be less than the second value. Interval example: [1, 5] is an interval from 1 to 5. >The length of this interval is 4.
>Overlapping Intervals
>List containing overlapping intervals:
>[
>[1,4],
>[7, 10],
>[3, 5]
>]
>The sum of the lengths of these intervals is 7. Since [1, 4] and [3, 5] overlap, we can treat the interval as [1, 5], which has a length of 4.
До меня только что дошло что я должен что-то сделать с i[0] и i[2].
Аноним 17/04/20 Птн 21:03:52 16603491111
Призываю в тред опытных п/инвокеров.
Мне нужно получить список процессов, которые лезут в интернеты (PID+ локальный адрес/ремоут адрес/порт/состояние). Нарыл оч пожилые статьи, где используются AllocateAndGetTcpExTableFromStack и AllocateAndGetUdpExTableFromStack из iphlpapi. Доки говорят что с виндуз висты эти функции не работают. Так вот, как мне ещё можно получить эти данные? стянуть с нетстата не предлагать. И да, я новичок, поэтому желательно на пальцах, заранее спасибо.
Аноним 17/04/20 Птн 21:20:12 16603701112
Вопрос по WPF. Есть несколько классов, у которых определенно свойство возвращающее StackPanel. Можно ли создать привязку в ListBox чтобы в ListBoxItem вставлялась StackPanel из свойства экземпляра?
Аноним 17/04/20 Птн 21:29:13 16603821113
>>1660370
А ты сам не пробовал это сделать?
Аноним 17/04/20 Птн 21:33:56 16603881114
>>1660253
Будто у шарпоёбов их больше.
Аноним 17/04/20 Птн 21:35:55 16603891115
>>1660382
Пробовал, не получилось. Не пойму как привязку целого элемента, а не одного свойства делать
Аноним 17/04/20 Птн 21:46:00 16604041116
Capture.PNG (8Кб, 733x136)
733x136
Аноним 17/04/20 Птн 22:04:34 16604191117
14494082502870.png (173Кб, 604x485)
604x485
>>1660404
Два чая тебе, анон. Очень помог, ебался с этой проблемой три часа к ряду
Аноним 17/04/20 Птн 23:10:38 16604571118
>>1660250
в том-то и суть. мне нужен PInvoke, но без static extern
Аноним 17/04/20 Птн 23:23:26 16604691119
>>1660168
>>1660457

бери с помощью static extern из kernel32 loadlibrary и getprocaddress. ими можешь из любой библиотеки взять адрес экспортируемой функции. всё остальное у тебя вроде как есть. без loadlibrary и getprocaddr такое нереально сделать за исключением лютого шаманства вуду с какой нибудь эзотерической ручной загрузкой .dll в рантайме
Аноним 17/04/20 Птн 23:54:00 16605241120
>>1660469
хотя напиздел. тебе ещё надо понять, как вызывать функцию пинвоуком без сигнатуры в C# коде. этого я не знаю
Аноним 18/04/20 Суб 09:29:17 16606901121
Аноним 18/04/20 Суб 10:47:24 16607181122
Есть вообще смысл вкатываться в UWP?
Сейчас по РАБоте плотно сижу на net.core, но до этого около полугода писал пет-проджекты на UWP. С тех пор оно так и не взлетело
Особенно реквестируются аноны из ДС и Германии/Австрии
Аноним 18/04/20 Суб 12:15:05 16607871123
>>1618705 (OP)
Можно ли сделать так чтобы разные объекты слушали один и тот же event? Или это только Main может делать?
Аноним 18/04/20 Суб 13:02:59 16608201124
>>1657663
>джава скоро так дотеряется что шарп станет популярнее
ты идиот, ок? У каждого продукта есть цикл существования. У этого цикла есть пиковая точка в период наибольшей популярности. У Java этот период уже прошел и идет период рецесии. У .net, судя по твоему графику - период пиковой популярности уже прошел, но уровень стагнации не такой резкий, как у Java. Какой можно сделать вывод: .NET-у не доверяли раньше, не доверяют сейчас, рынок - это скорее всего те, кто уже написал свой интерпрайз на C# и пока бизнес не закрылся - они его сапортят. Это так же означает, что если падает Java, то по логике должен подниматься .NET, раз рынок имеет свою емкость. Но т.к. .NET не растет, это означает, что используют другие технологии, которые кажутся им более перспективные.
Итог: .NET как был говном, так и остался. На смену Java прийдет Kotlin или вообще Node.js (who knows), но точно не .NET.
Занавес.
Аноним 18/04/20 Суб 13:39:56 16608521125
>>1660820
Идиот тут только ты, который забыл, что кроме существующих языков постоянно появляются новые
Чтобы стоять на месте в относительных цифрах надо расти в абсолютных, что шарп и делает успешно. А жава нет.
Аноним 18/04/20 Суб 13:53:50 16608851126
Это анон из жса.

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

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

Аноним 18/04/20 Суб 14:12:13 16609301127
screenshot18-2[[...].png (1307Кб, 923x646)
923x646
>>1660787
На событие может подписаться любое количество обработчиков, и даже один обработчик можно подписать на событие несколько раз. И при чем тут Мэйн? Поясни, желательно с кодом.
Аноним 18/04/20 Суб 14:55:47 16609721128
>>1660820
Ну давай, спорим, что C# в Google Trends станет популярнее Джавы в пределах 4 лет?
Аноним 18/04/20 Суб 15:16:43 16609941129
Вечер в прихожую, молодые люди. Нужны аноны, которые ковырялись в IdentityServer 4.
Ситуация следующая: в apiresources я добавил сам сервер, чтобы получать доступ к его контроллерам через сторонний клиент. Клиента создал, granttype.ClientCredentials.

Запускаю сервер, запускаю клиента, получаю бибу, так как клиенту приходит старница авторизации.

Вопрос: существует ли способ сделать из identityserver апиресурс, к которому можно подключиться о clientcredentials?
Аноним 18/04/20 Суб 15:21:19 16609971130
>>1660994
Что написано в Startup сервера:

services.AddAuthentication("Bearer")
.AddJwtBearer("Bearer", options =>
{
options.Authority = "http://localhost:5001";
options.RequireHttpsMetadata = false;
options.Audience = "identityserver1";

});

Конфиг для клиента:
ClientId = "console",
ClientSecrets = { new Secret("secret".Sha256()) },
AllowedGrantTypes = GrantTypes.ClientCredentials,
AllowedScopes = new List<string>
{
"identityserver1"
}

Что написано в клиенте:

var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
{
Address = disco.TokenEndpoint,
ClientId = "console",
ClientSecret = "secret",

Scope = "identityserver1"
});
Аноним 18/04/20 Суб 16:13:31 16610401131
>>1660852
>Я дебил, который не умеет читать
мой пост
>Но т.к. .NET не растет, это означает, что используют другие технологии, которые кажутся им более перспективные.
хотя что с тебя взять, с вкатыша...
>>1660885
C# сам по себе хороший язык (пока что), хотя уже начинают пичкать сахара, как в Java. Насчет JS - мелкософты продвигают свой калл в виде Razor pages или Blazor, поэтому и нужны костыли с интеграцией
>>1660972
давай поспорим, что когда ты окончишь свою шарагу, то ты будешь учить уже другой стэк?
>>1660997
>options.Audience = "identityserver1";
вот твой косяк. По JWT токену есть дока для мелкософтов
Аноним 18/04/20 Суб 16:19:40 16610461132
>>1661040
А ты сам кем работаешь, на чем пишешь?
Аноним 18/04/20 Суб 17:08:23 16610741133
>>1660237
>достать сумму чисел выбранной колонки?
>>1660324
>returns the sum of all the interval lengths
Зачем тебе сумма чисел в столбце? Это какой-то особенный способ вычисления длин интервалов или их пересечений?
Аноним 18/04/20 Суб 17:35:03 16610871134
>>1618705 (OP)
Шарпач, помогай. Есть какие-нибудь варианты как хранить данные по типу List<>, только с возможностью добавлять элементы в конкретные индексы, а пустые места сжимать? Что-то вроде варианта с Dictionary<>, чтоб был ключ-индекс и значение. Dictionary<> не устраивает тем что жрет оперативку. Если складывать в него int, а индекс брать как byte, то он сжирает какие-то дикие значения при большом количестве небольших Dictionary<>, что-то в районе 3 раз больше, чем даже массивы интов с пустой памятью между элементами. Что напердолить, только писать свой велосипед?
Аноним 18/04/20 Суб 17:45:09 16610941135
>>1661040
>ты будешь учить уже другой стэк
Может и буду, только какое отношение это имеет к теме C# vs Java? А ты от спора слился.
Аноним 18/04/20 Суб 17:49:53 16610971136
>>1661040
>вот твой косяк. По JWT токену есть дока для мелкософтов

Спасибо за ответ, можешь уточнить в чем проблема? Если определять ApiResource любую другою апиху (не сам IdentityServer), то все работает прекрасно, почему в случае с IdentityServer это косяк? Заранее спасибо за ответ.
Аноним 18/04/20 Суб 17:52:05 16610991137
>>1661087
> по типу List<>, только с возможностью добавлять элементы в конкретные индексы, а пустые места сжимать?
В лист можно вставлять в конкретное место и можно вызвать TrimExcess(). Чем не подходит?
>Что-то вроде варианта с Dictionary<>,
Так по типу List или ключ-значение?
Аноним 18/04/20 Суб 17:58:57 16611071138
>>1661099
> можно вставлять в конкретное место
Ты про Insert? Он же кидает исключение если за пределами диапазона.
> TrimExcess()
Это же просто очищает лишнюю память в конце, Capacity уменьшает до количества элементов.
> Так по типу List или ключ-значение?
Чтоб я мог по индексам писать/читать, но без пустой памяти между значениями.
Аноним 18/04/20 Суб 18:04:54 16611141139
>>1661107
А я понял. Ну тогда словарь. Там конечно будет оверхэд на хранение значений + ему надо хранить еще ключи. Но в три раза при использовании <byte, int> - это ты что-то не так делаешь.
Аноним 18/04/20 Суб 18:12:13 16611241140
>>1661114
> ты что-то не так делаешь
Да я знаю что не так делаю. У меня в них мало элементов, а сами словари в дереве и их много, из-за этого они сжирают память как не в себя. Придётся самому облегченный велосипед делать, мне производительность не критична, а вот памяти мало.
Аноним 18/04/20 Суб 19:34:37 16612271141
>>1661040
3 года продакшна на шарпе, из них последние полгода на коре втором - это вкатыш? Нихуя ты хуесосина охуел, ну когда нечего пиздануть назови собеседника вкатышем.
Имбецил блядь.
Аноним 18/04/20 Суб 20:01:49 16612551142
Внезапно задался вопросом: Чем Console.ReadLine() отличиается от Console.In.ReadLine()?
Аноним 18/04/20 Суб 20:11:08 16612671143
inout.png (28Кб, 592x479)
592x479
>>1661255
А самому посмотреть?
Аноним 18/04/20 Суб 22:04:59 16613681144
Аноним 19/04/20 Вск 11:45:25 16617011145
image.png (6Кб, 248x147)
248x147
П-п-прастите, п-пожалуйста. А в ч-чём разница между написанием с большой буквы и с маленькой, но с this?
Аноним 19/04/20 Вск 11:51:52 16617051146
>>1661701
В названии переменной
Аноним 19/04/20 Вск 11:55:51 16617071147
>>1661705
И всё? Т.е. если я пишу с большой буквы, то могу не писать this, но если с маленькой, то обязан, потому что иначе он будет думать, что это передаваемый параметр? Это единственное отличие? А как вообще это называется, чтобы я мог гайдлайн почитать, в каких случаях как принято именовать.
Аноним 19/04/20 Вск 11:58:56 16617091148
>>1661705
Бля, как всегда, только спросил, сразу нашёл ответ.
>Fields are normal variable members of a class. Generally, you should declare your fields as private, then use Properties to get and set their values.
Аноним 19/04/20 Вск 14:36:09 16618581149
Не могу понять как хукать процессы easyHook пиздец я даун.
Аноним 19/04/20 Вск 15:07:21 16619041150
>>1661267
А расскажите ньюфагу, как посмотреть как внутри устроен класс / метод?
Я нашёл вот это, а в самой Студии никак?
https://referencesource.microsoft.com/
Аноним 19/04/20 Вск 15:12:59 16619101151
>>1661707
>>1661709
Чел, у тебя там разные переменные, Num1 и num2. This необязательно писать, оно само подразумевается. Даже Visual Studio тебе его затемняет и предлагает убрать.
Аноним 19/04/20 Вск 15:41:27 16619211152
>>1660820
я эти сказки про nodejs ещё в 2012 году слышал, nodejs это свинячье дерьмо (who knows)
Аноним 19/04/20 Вск 17:01:18 16620541153
>>1661910
Забей, я там вообще всё перепутал.
Но вообще я спрашивал про способ. Ведь можно написать num1, а можно Num1. И потом в теле конструктора можно написать num1=n1, а можно this.num1=n1. И я вот не понял, в каких случаях писать this, а в каких не писать.
Аноним 19/04/20 Вск 17:14:32 16620851154
Перекат пилить будете?
Аноним 19/04/20 Вск 18:15:01 16621671155
>>1662054
ни в каких, компилятор сам за тебя всё напишет.
Аноним 19/04/20 Вск 21:29:31 16623691156
>>1660524
System.Runtime.InteropServices.Marshal.GetDelegateForFunctionPointer(IntPtr, Delegate)
Delegate.DynamicInvoke(object[])
и в нет коре 3 не нужно дергать кернел32, там есть System.Runtime.InteropServices.NativeLibrary. грят, можно сошки линуксовые также вызывать
Аноним 19/04/20 Вск 21:32:36 16623731157
>>1662054
num1 != Num1, имена переменных case sensitive
если у тебя в скопе есть локальная переменная num1, то надо писать this для обращения к члену класса, а не к ней
Аноним 20/04/20 Пнд 14:33:41 16628611158
image.png (195Кб, 802x362)
802x362
image.png (12Кб, 647x223)
647x223
tldr: где найти секретный ключ для авторизации на сайте через куки?

Есть сайт без документации апи, надо чтобы мой бот зашёл на этот сайт авторизованный. Начал гуглить про куки, и кажется понял, что для того чтобы авторизоваться, надо правильно отправить post запрос по правилам, которые есть на сервере. Вот на пикче и видосе показано о чём идёт речь, в первом параметре у класса, надо знать правило, по-которому войти можно на сайт, второй параметр - ключ. Где это можно найти? Полазил в настройках хрома, 22 кукиса, не понятно что конкретно брать. Хотя на 2 пикче кукис отличается, но мне не нравится, что там написано не доступно для скрипта, что это вообще значит?
https://youtu.be/hlixpNm8RBg?t=295
Аноним 20/04/20 Пнд 16:16:27 16630261159
>>1662861
Это пиздец, а не вопрос. Ты для начала смешал аутентификацию вместе с авторизацией. И то и другое может миллионом разных путей делаться через миллион разных источников данных. Тебе нужно знать как конкретно там аутентификация настроена. Если они всё настроили через какой-нибудь AD и/или лимитируют аутентификацию для внутренней сети only и у тебя ни туда ни туда доступа нет, то у тебя никаких шансов в принципе нет.
Аноним 20/04/20 Пнд 16:19:25 16630301160
>>1663026
Хм, хорошо, спасибо.
Аноним 20/04/20 Пнд 17:26:10 16630931161
Стоит вкатываться в решетку ин 2020? Есть опыт питона, но это хуйня никому не нужна, кроме датасаентистов и математиков.
Если что не так, извините.
Аноним 20/04/20 Пнд 17:55:26 16631091162
>>1663093
Еще как стоит. Шарп только щас обороты начал набирать.
Аноним 20/04/20 Пнд 18:39:30 16631501163
Аноны, а в шарпе можно импортировать модули из C++20? Или как обычно указываем функцию и погнали?
Аноним 20/04/20 Пнд 18:55:55 16631621164
Аноним 20/04/20 Пнд 19:50:11 16632231165
image.png (12Кб, 459x243)
459x243
Шарпаны, как сделать по-человечески? А то жопа чует, что while(true) ебанина. Гугл говорит, что решение opinion-based, но мне не очень нравится такой подход.
Аноним 20/04/20 Пнд 20:04:25 16632451166
15840341053751[[...].jpg (34Кб, 515x341)
515x341
Аноним 20/04/20 Пнд 20:09:06 16632501167
12123.jpg (39Кб, 637x380)
637x380
>>1663223
Или по хакерски вот так.
Аноним 20/04/20 Пнд 20:15:54 16632581168
>>1663250
>хакерски
Нормас, goto конечно рофел.
Аноним 20/04/20 Пнд 20:34:41 16632701169
Подскажите хорошую программу для рефакторинга. Есть старая версия проги без обсфукации и более новая деобсфуцированная, привожу исходники первой ко второй. Сейчас через SharpDelevop, и он дико тормозит, сжирая процессор напрочь, переименовывая какой-нибудь элемент классс. И помещение проекта на рамдиск не помогло.
Аноним 20/04/20 Пнд 20:54:09 16632841170
>>1663270
>программу для рефакторинга
Хуя шарписты извращуги
Аноним 20/04/20 Пнд 20:55:36 16632871171
>>1660388
ты ебобо? как бы шарп, жиэс и жава больше всего вакансий на джуна
Аноним 20/04/20 Пнд 21:08:04 16632961172
>>1663284
Ну или IDE, плагин для нее, етц. А то заебывает ждать по несколько секунд на каждую сраную переменную.
Аноним 20/04/20 Пнд 21:13:04 16633001173
>>1663109
>Шарп только щас обороты начал набирать.
Почему?
Аноним 20/04/20 Пнд 21:16:55 16633041174
Аноним 20/04/20 Пнд 21:18:40 16633071175
>>1663300
Потому что майкрасофты впервые за десятки лет начали идти в правильном направлении, а именно - кроссплатформенности и опенсорса. .NET Core уже божествененн, даже страшно представить что нас ждёт с выходом .NET 5
Аноним 20/04/20 Пнд 21:25:44 16633171176
Аноним 20/04/20 Пнд 21:31:43 16633261177
>>1663317
Это не то, что нужно. Поясняю:
Есть декомпилированные исходники программы, они собираются.
Более новая версия защищена обсфукацией. Ее снял, программу декомпилировал. Теперь надо на основе исходников первой воссоздать исходник второй.
SharpDevelop прекрасно справляется с переименованием всяких gClass_88.decimal_1 в myClass.data, но больно медленно работает.
Аноним 21/04/20 Втр 10:03:29 16635321178
Господа, не срабатывает брейкпоинт внутри Action или Func, что я делаю не так? Если принудительно остановить с помощью Debugger.Break(), то всё нормально, но вписывать это каждый раз не хочется.
Аноним 21/04/20 Втр 16:41:34 16637801179
>>1661046
ASP.NET dev, C#
>к теме C# vs Java?
Я пишу, что # не в тренде, я вообще хз нахуя вы джаву приплетаете. Уже писал выше, что джава идет на спад, но в свое время она была на пике. Сравнили хуй с пальцем.
>>1661097
я увидел, что у тебя identityserver1 тянется из конфига, попробуй явно инициализировать. По сабжу - я дрочил когда то через этот Client creditals по тутору - пролетел и не заметил. Там сложного ничего нет.
>>1661227
ты аутист, судя по постам. 3 года у тебя могут быть только шараги, а не в продакшине.
Аноним 21/04/20 Втр 17:16:46 16637941180
Empty character literal. //ERROR

Что за х? Я не могу пустую строку-букву сделать? Что за бред. объясните.

Аноним 21/04/20 Втр 19:02:38 16638701181
>>1663794
Символ не может быть пустым. А строка может, т.к. это массив символов, который может иметь нулевой размер. Всё полностью логично. Хз, что тебе не нравится.
Аноним 21/04/20 Втр 19:03:24 16638711182
>>1663794
У тебя вместо "" вот это ''
Аноним 22/04/20 Срд 00:47:38 16641631183
>>1663780
Ну клиент креды это реально легко, я тоже за пару минут сделал, тут сложность с authorization code была.

Я уже решил траблу, если кому интересно, то нужно настроить localapi в identity server и все будет огонь.
Аноним 22/04/20 Срд 00:48:30 16641641184
>>1664163
Посмотрел код, который я скинул выше, там клиент креды... ясно я даун, просто забей.
Аноним 22/04/20 Срд 01:36:26 16641761185
Аноним 22/04/20 Срд 01:42:03 16641791186
Аноны, кто шарит, шарп за границей норм тема? Или как в СНГ, т.е не очень распространён?
Аноним 22/04/20 Срд 04:27:51 16642111187
>>1663870
Я этот ответ уже читал на стаоверлфлоу. ты-вы издеваетесь?
Как я должен алгоритмы писать легко и лаконично если само устройство языка загоняет меня в рамки определенного дизайна и пердолинга. Нету даже Empty метода, ничего нету.

>>1663871
Спасибо, но нет, я уже понял что скобочки разные для разных целей.
а для чего собака @ нужна перед Regex? флажок проверок по всей строки или что?
Аноним 22/04/20 Срд 05:38:55 16642181188
>>1664179
В штатах (можешь глянуть по LinkedIn и Indeed) по шарпу вакансий завались в каждом большом городе. В Канаде тоже хватает. За остальную европу не скажу. Хотя у нас во всяких Ирландиях и Британиях дофига офисов.
Аноним 22/04/20 Срд 05:40:45 16642191189
>>1664211
>а для чего собака @ нужна перед Regex? флажок проверок по всей строки или что?
1) Собака ставится перед строкой, чтобы не приходилось пердолиться с дублированием обратных слешей если у тебя их много в строках. Но в таких строках не поддерживаются управляющие последовательности.
2) Собака ставиться перед зарезервированными словами, если по какой-то ебанутой причине ты хочешь их использовать в качестве идентификатора.
Например
int class = 5; выдаст ошибку,
а
int @class = 5; сработает, и даст тебе переменную с именем class (символ собаки в этом случае в имя не попадает)
Аноним 22/04/20 Срд 06:30:57 16642251190
>>1664211
> Как я должен алгоритмы писать легко и лаконично
Поясни, как наличие пустого символа может тебе помочь писать "легко и лаконично"? Вообще я себе не могу представить ситуации, в которой потребуется пустой символ.

Символ ведь это просто число, оно не может быть пустым. Тебя же не удивляет, что ты не можешь написать int a; и потом попытаться взять какое-то значение из этой переменной, не задав его заранее.
Аноним 22/04/20 Срд 11:30:27 16643171191
crash.png (3Кб, 359x66)
359x66
>>1664211
Ну ты можешь воспользоваться наллаблом и словить NRE где нибудь
char? ch = null; //нeт символа
или исолзовать налл символ и обрабытывать его по-особому
ch = '\0';
Аноним 22/04/20 Срд 12:22:57 16643521192
Сап сишарперы. Накидайте пожалуйста на клык ньюфагу-вкатывальщику где можно попрактиковаться сишарпу, где задания для новичка поискать. Сам пока просто читаю Троэлсена, но чувствую что без практики нихуя не усваивается, хотя читается все интересно
Аноним 22/04/20 Срд 12:42:53 16643711193
>>1664352
У него там примеры практические есть, ты их не копируй, а пытайся воссоздать по прочитанному. Вот он говорит "создадим класс такой то с такими то свойствами", вот ты и создавай, а потом смотри правильно ты это сделал или нет.
Аноним 22/04/20 Срд 16:32:20 16645921194
>>1664219
Мерси боку

>>1664225
>меня не удивляет
я просто не пробовал)) я думал будет null или undefined

Ну есть слово, я должен проверить начало и конец, и отдельно модифицировать серединку, а затем вернуть новый результат по кусочкам.
В жске я бы просто сделал a = "", b = "" и соответственно в овсновной функции a + str + b и все было бы чики-пуки без всяких ошибок. Тут же я прямо приуныл, такая элементарщина, а я не могу ее сделать за пару секунд как обычно делал.

>>1664317
>нет символа
Я писал, мне он что-то ошибку выдавал.

>\0
А это откуда пошло, я уже видел такой ответ. Так и проверять ch == \0 ?



Аноним 22/04/20 Срд 16:56:27 16646411195
>>1664218
>по шарпу вакансий завались в каждом большом городе. В Канаде тоже хватает
Только кое-что забыл:
- легаси, кора почти нет
- низкие зарплаты, в сравнении с каким-нибудь другим стеком
Аноним 22/04/20 Срд 16:59:50 16646471196
>>1664641
>каким-нибудь другим
Это каким? Если жаба падает.
Тут выше всякие новые языки расписывали, статей в интернете много про великое будущее Rust, Kotlin, Go и прочих Dart-ов, я для интереса забежал в тредик Rust-a и что я вижу: никого нет, ничего нет, сплошное сектанство, сам создатель уже дропнул свой язык, лол.
Аноним 22/04/20 Срд 17:02:56 16646501197
>>1664647
>Это каким?
жс, питухон, го, свифт, да та же жаба, не знаю где она там падает.
Аноним 22/04/20 Срд 17:05:16 16646541198
>>1664641
Я с кором последние 3 года работаю, легаси видел в 2017 году, так что не надо мне тут.
Что есть низкая зп, интересно? Вкатывай цифры кодомакак, я поржу.
Аноним 22/04/20 Срд 17:11:48 16646681199
>>1664654
>Я с кором последние 3 года работаю, легаси видел в 2017 году, так что не надо мне тут.
Я крайне сомневаюсь, что ты работаешь в штатах, на коре, учитывая тонные легаси.
Здесь нужно сделать ремарочку: не ваша галера, что-то делает на коре для заказчика, или ты там себе удаленку нашел.
>>1664654
>Что есть низкая зп, интересно
До 150к, если у тебя опыта > 3 лет
Аноним 22/04/20 Срд 17:13:34 16646771200
>>1664668
Это для алабамы или СФ?
Аноним 22/04/20 Срд 17:14:56 16646781201
Аноним 22/04/20 Срд 17:16:58 16646841202
>>1664678
В СФ у сеньора total comp будет 400+.
В Сиэтле 200-300.
В алабамах 80 уже дофига.
Аноним 22/04/20 Срд 17:20:13 16646901203
>>1664684
>В СФ у сеньора total comp будет 400+.
>В Сиэтле 200-300.
>В алабамах 80 уже дофига.
Допустим. Но там не 20 летние сеньеры, почти везде 6+ лет опыта нужно.
>>1664684
>В СФ у сеньора
Нужны ли в СФ дотнетчики? Вряд ли, хотя я в этом вопросе не сильно подкован, но вряд ли за пару лет что-то изменилось
Аноним 22/04/20 Срд 17:29:15 16647081204
>>1664690
В СФ нанимают language agnostic. Во всяких НЙ, Остинах, Сиэтлах и прочих айти хабах та же фигня. А там внутри всяких фэйсбуков они чего только не используют. У того же Амазона есть сервисы, которые на коре крутятся. Мне тоже и на жабе и на жс и на тс и на питоне приходилось проекты пилить или с них на кор перетаскивать.

На счёт легаси - да, его много, потому что старый фреймворк с начала нулевых вкатился, а кор стабильный только в 2017 появился. Но все компании, в которых работал, либо начинали новые проекты сразу на коре, либо задача была перетащить 10-15 летний продукт на кор.
Аноним 22/04/20 Срд 18:30:37 16648171205
>>1664708
>В СФ нанимают language agnostic. Во всяких НЙ, Остинах, Сиэтлах и прочих айти хабах та же фигня. А там внутри всяких фэйсбуков они чего только не используют. У того же Амазона есть сервисы, которые на коре крутятся. Мне тоже и на жабе и на жс и на тс и на питоне приходилось проекты пилить или с них на кор перетаскивать.

Ну, я в целом это больше к тому, что в случае переката, наверное лучше брать что-то более распространенное, аля жса, чтобы можно было найти работу не в таких крупных компаниях, ибо туда еще попасть всё-таки нужно. Хотя, конечно же, наверное можно и на шарпе, даже на коре найти что-то, из мордора такие вещи обсуждать особого смысла нет
Аноним 22/04/20 Срд 18:54:44 16648431206
изображение.png (49Кб, 1806x317)
1806x317
Анчоусы, кто-нибудь разобрался, как в .NET Core 3 заставить работать SPA-шный фронт?

Перевожу свой пет-прожект с ASP.NET MVC 4 и у меня не работает фронт с вебпаком.
Если я стартую фронт через

>npm start webpack -d --config webpack/webpack.dev.babel.js --color --progress --watch

, то я иду нахуй и получаю пикрелейтед.

Если же через
npm start react-scripts start

то всё работает как часы.

ЧЯДНТ?
Аноним 22/04/20 Срд 19:23:02 16648611207
codepng.png (3Кб, 301x163)
301x163
>>1664592
>В жске я бы просто сделал a = "", b = "" и соответственно в овсновной функции a + str + b
А в шарпе что тебе мешает? Также в шарпе можно складывать строки с символами
>Я писал, мне он что-то ошибку выдавал.
Ну тут да, шарп говно. Ошибки выдает сука
>А это откуда пошло
Еще с мезозоя
https://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%8E%D1%89%D0%B8%D0%B5_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B
> Так и проверять
Да хуй знает, ты так и объяснил что тебе надо.
Аноним 22/04/20 Срд 19:49:33 16648871208
>>1664861
>что мешает
Мне пишет постоянно в разных махинациях Can't implicitly convert char to string - или наоборот. Что я только не делал, и при декларации сувал, и так и сяк соединял. can't convert can't convert can't convert.
Аноним 22/04/20 Срд 19:50:31 16648891209
>>1664861
О погоди, то есть мне для моих махинациях обязательно универсальный var использовать?
Аноним 22/04/20 Срд 20:06:20 16649031210
>>1664887
>>1664889
Сука, как вас таких на работу то нанимают? Вы в эту профессию только ради бабла лезите?

Даже жс макака должна знать системные типы. Твой жс присыпал всё сахаром, а ты и рад жрать. Но сахар - это не отмазка, чтобы основ не знать. Это значит что ты пользуешься готовым, даже не пытаясь понять, как твои инструменты работают. Ты типичный юзер (может даже пауэр юзер), но нифига не программист.
Аноним 22/04/20 Срд 20:10:29 16649041211
>>1664889
var это не тип. Это ключевое слово, которое любезно просит компилятор вывести тип за тебя.
>и так и сяк соединял
Возьми уже книгу и прочитай хотя бы несколько первых глав, чтоб понимать что ты пишешь а пробовать и так и сяк.
Аноним 22/04/20 Срд 20:11:29 16649071212
>>1664904
Ты, по-моему, уже во втором сообщении частицу "не" пропустил :D
Аноним 22/04/20 Срд 20:18:45 16649111213
Аноним 22/04/20 Срд 20:35:29 16649271214
>>1664904
Какую книгу? Мне книги плохо даются, я сразу задачки решаю.

>>1664903
Что ты психуешь? Я что тебе байтер-микроконтрольщик какой-нибудь? Ты придумываешь дизайн, концепт, алгоритмы взаимодействий, а потом уже думаешь как это все соединить со своими типами, оптимизацией и костылями которые тебе предлагает твой инструмент. В какую эту профессию, о чем ты вообще?

>должна знать
стринги, аррей, лет, нумбер-интегер, нулл, андефайнед, мап и сет с недавних пор- вот и весь мой набор!
твои чары и инты32 в жисти не видел и уж тем более не юзалвидел в вузике но не суть

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

>юзер
Я всегда считал себя и всех программистов юезрами. Все языки и движки, и как это прогрессирует в будущем-становятся все более и более абстрактными. Слой на слое, и никто не знает что под капотом.
Тебе нужно делать деньги и вести бизнесс, а не копаться в деталях от которых тебе ни горячо ни холодно. Конечно, как профессионал с годамии, если ты развиваешься, ты рано или поздно начнешь расширять свой кругозор, это через сколько десятков лет произойдет. а, милый мой? Если ты программист в смысле настоящий программист, рад за тебя, что ты к макакам-то пристал, а? Хочешь чтобы было меньше макак-делай что-нибудь, а не психуй.
Аноним 22/04/20 Срд 20:57:39 16649431215
>>1664927
let у него тип, заебись.

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

hasmap, hastable, hashset, stack, queue - эти вещи надо знать с самого начала, а не >с недавних пор
Ты вот вкурсе что твой мэп и сет - основа работы с индексами в БД?

В твоём любимом жс char тоже имеется и у каждого символа может быть своя кодировка и прочая муть, также как и в любом другом языке, потому что это системные вещи. JS прячет от тебя большую часть из этого за слоем сахара. Но если ты нарвёшься на проблему, то не сможешь её разрулить, потому что не понимаешь, как оно в принципе работает.

>нужно делать деньги
Этот лол от всех уволенных слышу. Нагородят костылей, из-за которых 2+2 по пол минуты откликается, и рады. И потом каждые 2 года кто-то из этих начинает выкрикивать - эта система говно, надо всё заново начинать. В итоге бизнес вместо продолжения разработки и добавления новых фич на радость юзерам должен тратить 50+% времени на обслуживание говно решений и получать тонну негативного фидбека от их клиентов.
Аноним 22/04/20 Срд 21:20:22 16649601216
Аноним 22/04/20 Срд 23:13:43 16650291217
>>1664927
>Мне книги плохо даются
Превозмогай, щито поделать. Учение - боль.
>не копаться в деталях от которых тебе ни горячо ни холодно.
Оно и видно. Простейшие вещи тебя ставят в тупик на несколько дней из-за отсутствия базы. И как с тобой бизнес вести?
Аноним 22/04/20 Срд 23:17:55 16650341218
>>1664817
Надо прекращать предлагать всем подряд JS, иначе он так никуда и не уйдёт.
Бизнес ищет программистов -> легче и дешевле всего найти тех, кого большинство на рынке (JS) -> нанимают и делают приложения на нём -> народ видит что бизнес нанимает JS девелоперов и вкатывается -> повторить.

Нам надо разорвать этот порочный круг.
В видео ниже представлена попытка объяснить, почему у нас преобладает ООП, а не функциональщина. И surprise surprise javascript один из главных виновников.

Для тех кто не может в англ или лень смотреть, вот основная мысль:
Популярна платформа (браузер, айфон, и т.д.) - популярен язык (js, objC, swift, и т.д.).

https://www.youtube.com/watch?v=QyJZzq0v7Z4
Аноним 23/04/20 Чтв 00:11:39 16650611219
>>1665034
>Популярна платформа - популярен язык
Вау. Кто бы мог подумать.
Аноним 23/04/20 Чтв 00:20:16 16650621220
>>1665061
Видео не смотрю, но комментирую.
Аноним 23/04/20 Чтв 04:19:19 16651021221
>>1664943
>эти вещи надо знать
Я что виноват что их не осуществляли с самого начала?

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

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


Аноним 23/04/20 Чтв 05:03:04 16651281222
>>1665102
Базовые алгоритмы и структуры работают и доступны из любого ЯП. И знать их обязан каждый программист.
Мап - это новая обёртка, структура данных имелась в жс из покон веков.

Типичный жс обыватель напишет рендеринг страницы используя чё под руку попадётся:
indexOf? - зашибись
forEach? - погнали
какой-то map/reduce? - а чё бы нет?

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

------------------------

В то время как нормальный программист выполнит ту же задачу за пол дня с рендерингом в пол секунды и без единого бага. И добавлять новые фичи в такой проект намного проще, чем в типичный макакинг выше.
И нет, про "без единого бага" не маня фантазии. Люди выкатывают фичи в прод каждую неделю и никаких багов может не появляться по пол года. А если они и появляются, то обычно из-за необычно жёсткого дедлайна или не типичных edge cases.


Эта ваша отмазка про байтоёбство уже давно устарела. Если уж влез в профессию, то будь добр выучи азы нормально и знай как их применять.
Аноним 23/04/20 Чтв 05:18:22 16651311223
>>1665128
Ну ты прямо расписал жоско: тут жс макаки, а тут супермены xD

На правах поста: вот нужно мне разделить строку на матрицу буковок. Я жмякаю по привычке .Split(''). - empy буквока. Я иду, гуглю, для этой штуки придумали аж свой метод ToCharArray().
Вот зочем.
Аноним 23/04/20 Чтв 05:37:28 16651321224
>>1665131
Не супермены, а обычные программисты. На самом деле у нас так в любой профессии. Казалось бы, если влез в профессию, то азы то знать и особенно применять их уметь то должен? Ан нет, большая часть "профессионалов" только и умеет что копипастой заниматься. Благо если хоть поверхносто понимает, что делает. Даже врачи. Даже электрики.

Супермены подписывают контракты за много $$$ или выпускают крутые продукты в одно лицо.

ToCharArray vs Split - и в документации и в самой сигнатуре методов всё обозначено. Один производит массив (твоя матрица) символов (буковки, лол, символов огромное множество, включая невидимые), а другой - массив строк. Строка - это обёртка (для удобства) над массивом символов. По сути это и есть иммутабельный массив символов с доп фишками.
Базовый элемент, к которому применяется кодировка, язык и прочие ништяки - это символ (char).
Аноним 23/04/20 Чтв 09:02:53 16651661225
>>1664927
>стринги, аррей, лет, нумбер-интегер, нулл, андефайнед, мап и сет
Бля, проиграл с этого хаотичного набора.
Аноним 23/04/20 Чтв 11:41:19 16652351226
>>1665034
>почему у нас преобладает ООП, а не функциональщина. И surprise surprise javascript один из главных виновников.
Это где у нас? Большая часть SPA на реакте, а там чистая функциональщина
Аноним 23/04/20 Чтв 11:51:48 16652471227
>>1664943
>>1665128
Абстрактное нытье какое-то любителей структур данных. Ты приведи конкретно пример в жсе когда нужно знать эти твои азы. Я не могу представить такой ситуации чтобы в жс что-то хуево работало и чтобы решить это нужно было знать какие там чары внутри. Это другой уровень абстракции и он не должен ебать жс макаку.

мимо крок
Аноним 23/04/20 Чтв 12:23:32 16652631228
>>1618705 (OP)
Почему Питон открывает на чтение любой файл, а Шарп плюется "Процесс не может получить доступ к файлу, так как этот файл используется другим процессом"?
Я уже заебался, никакие решения не помогают.
Аноним 23/04/20 Чтв 12:51:49 16652711229
>>1665263
Петухон открывает только те файлы, которые не заняты другим процессом, так как это происходит не на уровне языка, а на уровне системы, которая нахуй тебя пошлет если доступ к операциям с файлом занят другим процессом. Ты скорее всего в своём говнокоде на шарпе сначала занимаешь файл, а потом пытаешься его прочитать/изменить.
Аноним 23/04/20 Чтв 14:28:58 16654181230
image.png (14Кб, 528x269)
528x269
image.png (16Кб, 751x214)
751x214
image.png (16Кб, 881x205)
881x205
>>1618705 (OP)
>1 пик
Одно и тоже ведь?
Тогда не понятно почему 2 и 3 пик по разному работают
Аноним 23/04/20 Чтв 14:50:03 16654701231
>>1665271
>Петухон открывает только те файлы, которые не заняты другим процессом
Не пизди. Один и тот же вечно занятый процессом файл.
Твой презираемый петушон открывает его на чтение простешим:
with open(log, 'r', encoding = 'utf-8') as file:

Решеточка обсирается даже с костылями:
using (Stream stream = new FileStream(log, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
using (StreamReader file = new StreamReader(stream, Encoding.UTF8))
{
Аноним 23/04/20 Чтв 15:02:48 16654851232
>>1665418
Сори, ошибка вообще не в этом.
Аноним 23/04/20 Чтв 15:03:26 16654881233
>>1665470
>using (Stream stream = new FileStream(log, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))

Долбоеб, показывай что ты выше по коду делаешь.
Аноним 23/04/20 Чтв 15:58:56 16655341234
>>1665488
Декларирую log в виде пути до файла?
Аноним 23/04/20 Чтв 16:06:35 16655431235
Аноним 23/04/20 Чтв 16:07:03 16655441236
>>1665543
нахуя? И с 2к постов норм будет
Аноним 23/04/20 Чтв 16:07:31 16655451237
>>1665544
Чтобы тред не прогружался по 20 минут.
Аноним 27/04/20 Пнд 21:58:10 16696021238
image.png (417Кб, 1130x551)
1130x551
Анончики, чому у меня "боди" подчеркивается, если выше указан тип переменной?

Так со всеми переменными, скрипт работал у других
Аноним 03/05/20 Вск 08:33:18 16751831239
Анончик, привет. У меня тупой нубский вопрос.
К примеру у меня есть некий enum, где все элементы имеют значения от 0 и далее по порядку. Есть ли возможность сделать неявное преобразование перечисления в тип int? Например если я хочу использовать этот enum в качестве индексов для массива и чтобы не писать каждый раз перед ним (int).
Аноним 03/05/20 Вск 23:34:42 16758751240
>>1675183
ну вопрос на самом деле тупой, нет пиши так, можно допустим рефлексией без приведения но это ещё хуже в твоем случаи, в самой энамке не обязательно кстати индексы ставить значениям, да блять и вообще смотря где ты их используешь, иногда компилятор сам всё приводит
1239 104 236
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов