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


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

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

C#/Сишарп/.NET Тред - Шапка edition #17 /csharp/ 30/01/20 Чтв 11:28:01 15860301
12cf3ba1a46dd92[...].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/1555702.html ( >>1555702 (OP) )
Архивач: https://arhivach.ng/thread/527520/
Архивач в TOR'e (доступен через TorBrowser): http://arhivachovtj2jrp.onion/thread/527520/
Аноним 30/01/20 Чтв 11:29:44 15860312
>>1586030 (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
Аноним 30/01/20 Чтв 12:12:36 15860543
Таки вопрос: Что вы делали на своем первом рабочем месте в первый месяц? Сильно ли вас ебли, были ли дни когда не написали ни 1 строчки кода?
Что делать если прошел собес, взяли на работу а как пришла пора работать понимаешь что нихуя не знаешь?
Аноним 30/01/20 Чтв 13:33:13 15860914
>>1586030 (OP)
шапка без аниму? Я сплю?
>>1586054
устанавливал IDE, скролил двощь, создал 3 POCO, пофиксил 1 баг (супер легкий), читал книгу (имитировал чтение), пиздел с другими гребцами по моей прошлой работе, pet projecty. А ну да, еще я пил кофе и хавал.
Всо
Аноним 30/01/20 Чтв 13:35:05 15860955
Бамп
Аноним 30/01/20 Чтв 13:44:33 15861016
Традиционный шапка-говно пост
Традиционный пост хейтера метанита
Традиционный пост шизика
Аноним 30/01/20 Чтв 13:45:51 15861027
>>1586091
И что, даже базу не дропнул?
Аноним 30/01/20 Чтв 13:54:33 15861068
>>1586091
Так заебись, что без пидорасни анимушной
Аноним 30/01/20 Чтв 13:57:03 15861099
>>1586101
Ну метанит рил гавно, подсмотреть там что то можно но как сайт для обучения полная хуйня
Аноним 30/01/20 Чтв 13:57:35 158611010
>>1586102
нет конечно, я же не дебич. Когда то выкатили мой код не с REBASE, где я сделал правки 2 строк, а другой чувак перелопатил его. Не знаю, чем закончилось, но походу чувак тот после мерджа удалил ветку и снес проект. Пришлось дебику заново переписывать
>>1586106
два чаю
Аноним 30/01/20 Чтв 13:58:34 158611111
>>1586106
>C#
>без пидорасни анимушной
DivideByZeroException
Аноним 30/01/20 Чтв 14:08:48 158611812
Аноны.
Скажите, можно ли вкатиться в шарп на линукс? То есть юзать монодевелоп. Тррелсен нормально для этого или надо все же на винде тренироваться?
Аноним 30/01/20 Чтв 14:56:54 158614613
>>1586118
уже давал ответ в прошлом треде, никак не угомонишься?
Аноним 30/01/20 Чтв 15:19:49 158615514
15799342307091.jpg (89Кб, 569x563)
569x563
>>1586146
Прошлый тред утонул. А ответ я не видел.
Аноним 30/01/20 Чтв 15:56:00 158617415
>>1586155
у тебя в голове утонул? Я вообще удивлен, что ты смог дистрибутив установить. Небойсь убунту еще?
>1585903
Аноним 30/01/20 Чтв 15:56:20 158617516
Аноним 30/01/20 Чтв 16:02:11 158618217
Аноним 30/01/20 Чтв 18:11:48 158634718
Ебаны рот этого казино
На SO.ru пишут юзайте TPL вместо Thread, на хабре пишут Предпочитайте async/await вместо Task
Там же пример
public async Task<Data> GetDataAsync()
{
var result = await MyWebService.FetchDataAsync();
return new Data (result);
}

Ебаны рот тут и ТПЛ есть и авейт
ПИЗДА, нихуя не понятно
Был сначала Thread, потом добавили TPL, потом добавили async/await
async/await - это что? Это прибулада для TPL? Или это отдельная функция языка?
Аноним 30/01/20 Чтв 18:24:14 158636219
>>1586347
Эвейты-хуейты. Создал по старинке Thread'ов столько, сколько нужно, и работаешь. Вся эта новомодная хуита всё равно в них превращается компилятором.
Аноним 30/01/20 Чтв 18:35:48 158638620
Аноним 30/01/20 Чтв 18:46:50 158640121
>>1586362
>>1586386
Я хочу сделать многопоточный парсер, но для этого сначала нужно разобраться с потоками. Как я понял Авейт/эсинк это ожидания выполнения метода, пока не выполнит хуй куда пойдет.
Как мне просто к примеру запустить 100 раз один метод, в каких то случаях он выполнится в каких то нет, в каких то будет исключение.
Но мне не надо ждать выполнения этого метода, мне надо выполнять другие методы пока выполняютсе 100 раз тот метод.
Аноним 30/01/20 Чтв 20:00:54 158645922
>>1586401
await это не ожидание выполнение метода, а передача процессорного времени основному потоку. Если тебе надо 100 раз один метод, то твой выбор это TPL.
Аноним 30/01/20 Чтв 21:27:39 158653923
Аноним 30/01/20 Чтв 21:45:30 158656124
>>1586174
>>1585903
зачем рекомендуешь танненбаума, если мой вопрос был касаемо учебников и опыта разработки на Шарпах в ОС Линукс?
Аноним 31/01/20 Птн 00:54:07 158667025
15802378576410.webm (855Кб, 720x1280, 00:00:03)
720x1280
>>1586561
что бы ты, уебище тупорылое, не задавал тупорылых вопросов, а занял себя чем ни будь
Аноним 31/01/20 Птн 01:27:24 158668826
>>1586670
че такой злой? день не удался?
Аноним 31/01/20 Птн 05:25:34 158671927
Clip2net2001301[...].png (17Кб, 378x321)
378x321
Clip2net2001310[...].png (60Кб, 253x254)
253x254
Что означает такое использование стрелочек? Я просто посмотрел гайды в интернете по лямбда-функциям, там везде примеры где её присваивают делегату или используют в LINQ, а тут нихуя не понятно зачем это нужно.
Аноним 31/01/20 Птн 07:29:58 158672828
Давно нетрогал шарп, там за последние годы было что-то новое?
Например в плане асинхронного программирования? Там асинк авейт может как-то улучшили?
Аноним 31/01/20 Птн 07:46:48 158673129
>>1586719
Ну, обычный геттер в данном случае. Чтобы не писать кучу раз a{get{return b;}}; b{get{return c*60;}}...
Ну и да, лямбда, по сути, любая анонимная функция, ты можешь прямо в коде например что-то такое сделать:
x = 10;
for(int i = 0; i< 100000; i++)
Task.Run(()=> Console.Writeline(Interlocked.Increment(ref x));
и ничему ее не присваивать, просто тебе нужно какую-то логику реализовать, а выносить ее в отдельную функцию не хочется из-за того что будет использоваться один раз в одном месте. Хороший пример это как раз конфигурирование хоста, ты же не будешь делать кучу методов по настройке, а просто запихнешь это дело в лямбды.
Аноним 31/01/20 Птн 08:07:10 158673630
>>1586728
>Давно нетрогал шарп, там за последние годы было что-то новое?
Тебя там не было!
Аноним 31/01/20 Птн 08:49:24 158674631
>>1586731
А что не так с асинавэйтом? А так в 7ой и 8ой версиях один сплошной сахар много разных плюшек завезли
Аноним 31/01/20 Птн 08:52:39 158674732
Господа, вкатившиеся, сколько примерно у вас проходило времени между тем как вы начали рассылать резюме и первым откликом?
Аноним 31/01/20 Птн 09:19:14 158675933
>>1586746
>А что не так с асинавэйтом?
Ну, раньше нельзя было сказать прямо и чётко в каком из потоков асинхронщине жить, нужно было сет контекст вызывать, и вообще, насколько я помню свой обработчик очереди задач нужно было писать, или что-то в таком духе.
А без пердоленья оно работало только в однопотоке.

И обмен данными был проблемой.

Может удобства какие завезли для многопоточных асинхронных приложений?
Аноним 31/01/20 Птн 10:33:13 158678434
>>1586688
потому, что /pr это не для идиотов не осиливших софт. Вы, вкатыши, при первой проблеме должны гуглить, а не бежать на 2ch/SOF и создавать тред. Или вы думаете вы прийдете на галеру и будете дергать за юбку ментора при каждой проблеме? Вас нахуй выгонят в первую неделю
Аноним 31/01/20 Птн 11:29:32 158679935
>>1586784
>/pr это не для идиотов не осиливших софт
ORLY? Тут кроме студентоты и ванаби нет никого.
Аноним 31/01/20 Птн 15:34:02 158700236
15802378576410.webm (855Кб, 720x1280, 00:00:03)
720x1280
>>1586799
>ORLY? Тут кроме студентоты и ванаби нет никого.
И как же ты это определил, мне интересно? Судя по твоему логическому заключению ты не осиливший первый раздел дискретки. Это или за решетки только конченные дауны берутся, не умеющие гугл или правила базовой логики, или IT-боги пробивают дно?
Аноним 31/01/20 Птн 15:39:35 158700937
>>1587002
>ты не осиливший первый раздел дискретки
Как и ты.
Как и все вы, тащем-то.
Аноним 31/01/20 Птн 16:34:18 158707638
>>1587009
аргументируй? Я могу аргументировать свое высказывание - ты привел всех к общему знаменателю вкатышей, хотя если бы читал треды и знал, какие задачи решают вкатыши/студенты, какие джуны и какие мидлы - ты бы понял, что твое суждение не верное. Соответственно ты или дебил, не умеющий анализировать прочитанную информацию или сам вкатыш.
Аноним 31/01/20 Птн 16:35:52 158707739
>>1586030 (OP)
Какую структуру данных лучше выбрать, для хранения комментариев к картинкам?
Количество комментариев может изменяться,
поэтому самое простое что пришло на ум - это хранить список комментов в одельных файлах, по строкам.
Есть что-то лучшее, без базы данных?
Аноним 31/01/20 Птн 16:44:35 158708740
>>1587002
>И как же ты это определил
Так что львиная доля постов, если отбросить срачи и тролинг, это либо рассуждения о том как лучше учить язык, либо совсем нубские вопросы.
>не осиливший первый раздел дискретки
таки даже не пробывал
> конченные дауны
имиджборды всегда были пристанищем особо одаренных ¯\_(ツ)_/¯
Аноним 31/01/20 Птн 16:46:22 158709041
15802378576410.webm (855Кб, 720x1280, 00:00:03)
720x1280
>>1587087
заовнен, несите следующего
Аноним 31/01/20 Птн 17:09:11 158713042
Аноним 31/01/20 Птн 20:15:09 158732643
pepe6.jpg (137Кб, 1920x1080)
1920x1080
>>1586759
>>1586728
Бамп вопросу.
Нагуглил что в 8мой версии асинхронные стримы появились.
Ещё что-то поменялось?
Аноним 31/01/20 Птн 21:54:23 158737244
>>1586784
Гуглить я и без тебя умею. Хотелось бы услышать мнение профессионала, насколько шарп применим в линукс, а не твои фантазии о вкатышах и дискретке.
Если сказать нечего по теме, зачем гадить?
Ты же не родился со знаниями комплюктор саенс, и тоже когда-то учился.
Аноним 31/01/20 Птн 21:58:59 158738345
0.jpg (13Кб, 493x267)
493x267
>>1587372
Каждая жаба-макака так и хочет везде выебнутся. Печет жопу, что жаба - говно. 5 стадий принятия неизбежного.
Аноним 31/01/20 Птн 23:20:00 158744346
>>1586030 (OP)
Что я делаю не так? Или я как-то не так понимаю как действуют массивы?

using System;

public class Program
{
public static void Main()
{
string [] namess = new string [5] {
"Sergei", "Vasya", "Anders", "Oleg", "Kirill"};
string [] zap = new string [5]{
", ", ", ", ", ",", "};

int a = 0;
int c = 0;
while ((a < namess.Length) || (c <= zap.Length)){
a++;
c++;


Console.Write(namess[a]);
Console.Write(zap[a]);

}

}
}

Пишет:
Vasya, Anders, Oleg, Kirill
Run-time exception (line 19): Index was outside the bounds of the array.

Stack Trace:

[System.IndexOutOfRangeException: Index was outside the bounds of the array.]
at Program.Main() :line 19
Аноним 31/01/20 Птн 23:21:21 158744547
>>1587443

\t там нет, я не знаю откуда они появились
Аноним 31/01/20 Птн 23:22:07 158744648
>>1587445
>>1587443
Вот нормально:

using System;

public class Program
{
public static void Main()
{
string [] namess = new string [5] {
"Sergei", "Vasya", "Anders", "Oleg", "Kirill"};
string [] zap = new string [5]{
", ", ", ", ", ",", ", " "};

int a = 0;
int c = 0;
while ((a < namess.Length) || (c <= zap.Length)){
a++;
c++;


Console.Write(namess[a]);
Console.Write(zap[a]);

}

}
}
Аноним 31/01/20 Птн 23:33:30 158745449
Аноним 01/02/20 Суб 00:07:10 158747950
javaiscobol.png (421Кб, 900x900)
900x900
Почему лучше вкатиться в C# чем в Kotlin?
Аноним 01/02/20 Суб 00:19:10 158749251
>>1587479
на сишарпе можно делать игруфки!!!!
Аноним 01/02/20 Суб 00:26:55 158749552
>>1587492
а гарбаж колектор не ебет?
Аноним 01/02/20 Суб 00:29:01 158749953
>>1587495
На апдейте не создаешь объекты.
Аноним 01/02/20 Суб 00:30:36 158750154
Аноним 01/02/20 Суб 00:31:31 158750355
Аноним 01/02/20 Суб 00:40:11 158750956
>>1587495
Ебёт, но не сильно. В Юнити недавно запилили incremental собиратель мусора, плюс делают фреймворк для data oriented design
Аноним 01/02/20 Суб 00:45:17 158751757
>>1587509
Надо как в расте - с автоматическим лайфтаймом.
Аноним 01/02/20 Суб 00:48:38 158752258
>>1587503
Как у вас глаза к концу дня от черной темы не вытекают??
Особенно напрягает, когда прыгаешь на сайт с белой темой (не обязательно в гугл, может и свой сайт) глаза просто вытекают.
Аноним 01/02/20 Суб 00:48:38 158752359
>>1587517
там с владением натрахаешься, кто получил ссылку, кто владение, а кто ваще вывалился
Аноним 01/02/20 Суб 00:50:43 158752560
>>1587523
Пишешь как на каком-нибудь F# и про специфику владения можно не думать, если в ансейф не лезешь.
Аноним 01/02/20 Суб 00:52:26 158752761
43225aba74ba46b[...].jpg (10Кб, 700x525)
700x525
>>1587522
У меня черный браузер с плагином, который делает все сайты черными. На самсунге галакси даже не нужен плагин, оно это по дефолту делает.
Аноним 01/02/20 Суб 00:54:58 158752862
>>1587525
>F#
че там у нас еще хипстерского есть
Аноним 01/02/20 Суб 00:57:39 158753363
Аноним 01/02/20 Суб 01:05:37 158754164
Аноним 01/02/20 Суб 01:06:20 158754365
>>1587517
Они взяли с плеч программиста прямое управление памяти и положили его снова на плечи в извращенной форме.
Аноним 01/02/20 Суб 01:09:35 158754766
>>1587543
Все равно лучше плюсов, меньше UB.
Аноним 01/02/20 Суб 01:14:47 158755567
Может ли кто-нибудь нюфане объяснить, почему не работает метод Change_group_order? Точнее будет сказать, что он работает, но когда массивы структур передаются обратно в Main по ссылкам, они не передаются на самом деле. С меня как всегда нихуя.

https://pastebin.com/HZ11FY3J
Вызвал метод в единственном месте - 104 строка.
Аноним 01/02/20 Суб 01:15:18 158755668
>>1587543
В шарпе тоже пердолинг с памятью появился, всякие:
Span<int> numbers = stackalloc int[length];
struct of arrays + ref structs
Аноним 01/02/20 Суб 01:17:35 158755869
>>1587556
Или фиксированные массивы в структуре.
Аноним 01/02/20 Суб 01:21:26 158756570
>>1587555
Потому что это говнокод, поэтому и не работает, очевидно.
Аноним 01/02/20 Суб 01:22:28 158756771
Аноним 01/02/20 Суб 01:25:00 158757172
>>1587565
Говнокод != неработающий код
Аноним 01/02/20 Суб 01:25:44 158757273
>>1587567
Храни тебя Б-г.

>>1587565
Я это и так знаю. Только что в нем такого говнистого?
Аноним 01/02/20 Суб 01:27:49 158757674
>>1587571
99.99% в тырпрайзе - говнокод.
Аноним 01/02/20 Суб 01:29:07 158757875
maxresdefault.jpg (60Кб, 1280x720)
1280x720
>>1587576
Будь аджайл как говорится.
Аноним 01/02/20 Суб 01:36:39 158759176
>>1587547
Ну у тебя были с++ со структурным программированием, но с прямым контролем памяти (на самом деле тоже йобу завезли).

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

Это как с асинхронным программированием, или вообще с многопоточностью. Кажется все просто и легко, но накладывает на тебя определенный слой проблем и требований. И код уже не такой легкий.
В общем, шило на мыло поменяли. И все равно мы видим что пишут unsafe.

Аноним 01/02/20 Суб 01:39:35 158759477
>>1587591
>с прямым контролем памяти
Только если в ансейф залазишь, а так, чисто субъективно, владение ресурсами проще и лучше умных указателей, или самописных костылей. Зато нет ГЦ.
Аноним 01/02/20 Суб 01:40:39 158759578
>>1587591
>И все равно мы видим что пишут unsafe.
Он если и есть, то локализированный, а не размазанный по всему коду.
Аноним 01/02/20 Суб 01:44:01 158759979
>>1586759
>>1586728
Бамп.
Вы тут что-то кроме тырпрайз асп и лаба1 делаете?
Аноним 01/02/20 Суб 01:44:11 158760080
>>1587591
>Это как с асинхронным программированием, или вообще с многопоточностью.
Всего-то разобраться с атомиками, мемори барьерами и иммутабельностью.
Аноним 01/02/20 Суб 01:45:26 158760281
>>1587599
>Вы тут что-то кроме тырпрайз асп
Кококой асп? У меня тырпрайз в облаках - без асп.
Аноним 01/02/20 Суб 01:51:08 158761082
>>1587599
Вот, кстати, мобилки, игрушки, разбери пи - это тырпрайз в твоем понимании?
Аноним 01/02/20 Суб 01:57:36 158761783
>>1587600
>мемори барьерами
Вот это вообще как два пальца обоссать, потому что есть только полная версия из вроде 4 на плюсах.
Аноним 01/02/20 Суб 02:14:50 158763084
>>1587600
Нет, елемннтарные примитивы это просто, сложность возникает в решении реальных задач.

>>1587610
Нет наверное.

>>1587602
И что вы там делаете, асинхронный хайлоад меня интересует.
Аноним 01/02/20 Суб 02:29:07 158764685
>>1587630
>сложность возникает в решении реальных задач
Надуманная сложность про реальные задачи.

>асинхронный хайлоад меня интересует
В облаках ничего веселого: вкратце, агрегаторы между сервисами, обмазанные эластик сёрчом. И всю эту хуйню крайне сложно тестировать, а документацию писал какой-то мамкин маркетолог про борозды просторов космоса. Еще и бабки списывает за юз, благо не мои.

Можно, конечно, продавить свое квадратное колесо: по типу микросервисы/акка/орлины. Присобачить кеш, носиквел, очереди, эвенчул персистентность, кибану какую-нибудь. Но тут нужен прокачанный архитектор или мастерство вешать лапшу на уши. И все равно получится агрегатор между сервисами, только еще и самописным горизонтальным масштабированием, реплецированием. И не дай боГ ты пишешь аля биллинг.
Аноним 01/02/20 Суб 02:37:37 158765086
image.png (158Кб, 1348x1200)
1348x1200
Почему си-шарп будет лучше чем питон?
Аноним 01/02/20 Суб 02:45:46 158765687
Аноним 01/02/20 Суб 02:48:07 158765988
>>1587656
Да просто рандом картинка с выдачи поиска.
Аноним 01/02/20 Суб 02:49:30 158766189
>>1587659
>Почему си-шарп будет лучше чем питон?
На вкус и цвет все фломастеры разные.
Аноним 01/02/20 Суб 03:42:43 158772790
аноны помогите. Чего бы запилить для диплома, что бы с компьютерными сетями было связано.
Аноним 01/02/20 Суб 03:44:34 158773091
>>1587727
Покер с блекджеком и шлюхами на мобилках.
Аноним 01/02/20 Суб 03:47:33 158773592
>>1587730
боюсь экзаменационной комиссии это явно не понравится)
Аноним 01/02/20 Суб 08:34:27 158778493
>>1587646
>Надуманная сложность про реальные задачи
Это ты свое самолюбие потешить хотел? Теорему фреди крюгера знаешь?
Аноним 01/02/20 Суб 10:55:10 158780694
Блядь, как же быстро вы засираете тред короткими дебильными постами неинформативными.
Скоро, походу, бамплимит. Это говно даже в архивач лить не хочется.
Аноним 01/02/20 Суб 11:03:24 158780895
Поясните за Memory<T> и этот Span<T>. Типа как я понял эта хуевина нужна чтобы не тащить указатели в C-стиле, а с памятью хочется поработать. Так же? Но блин, там же не особо удобно это все сделано, нельзя нормально расширить эти Memory и Span, а как я понимаю, если я решу скопировать в объект побольше, то это ничем от работы с массивами отличаться не будет, только индексатора нет. Или я что-то упускаю? Поясните, если не сложно.
Аноним 01/02/20 Суб 11:42:11 158781996
>>1587806
Сам же высрал неинформативную и короткую фразу, которая даже к треду не относится.
Аноним 01/02/20 Суб 12:27:15 158785397
>>1587808
Идея в избегании аллокации памяти, так как это дорогая операция, нагружающая сильно сборщик мусора, у определенного ряда задач, например, парсера.
Аноним 01/02/20 Суб 12:57:45 158789898
В шарпе документация только в xml формате? Нет классического javaDoc типа @param @return?
Аноним 01/02/20 Суб 13:01:03 158790299
>>1587898
Зависит от используемой тулзы для генерации доки. Такая дока нахуй не нужна.
Аноним 01/02/20 Суб 13:05:18 1587907100
>>1587819
Это не фраза! Это три предложения.
Аноним 01/02/20 Суб 13:07:37 1587910101
>>1587907
Я хоть не прихожу и не ноу своих архиважным мнением для сливного бочонка.
Аноним 01/02/20 Суб 13:11:26 1587916102
изображение.png (1306Кб, 1280x720)
1280x720
Аноним 01/02/20 Суб 13:14:37 1587924103
>>1587916
Уроки делать бегом!
Аноним 01/02/20 Суб 13:18:15 1587934104
Аноним 01/02/20 Суб 13:18:55 1587936105
Аноним 01/02/20 Суб 13:20:20 1587938106
>>1587936
Я знаю что ты слился, можно не уточнять.
Аноним 01/02/20 Суб 13:21:04 1587939107
Аноним 01/02/20 Суб 13:23:00 1587942108
Аноним 01/02/20 Суб 13:25:18 1587945109
Аноним 01/02/20 Суб 13:50:34 1587989110
>>1587454
Ты скинул ссылку просто на компилятор
Аноним 01/02/20 Суб 13:51:38 1587991111
>>1587989
Это не компилятор. Я твои \t читать не буду.
Аноним 01/02/20 Суб 14:16:04 1588027112
>>1587902
Какие варианты популярные есть, нашел только xml
Аноним 01/02/20 Суб 14:18:24 1588031113
Аноним 01/02/20 Суб 14:19:44 1588033114
>>1588027
Я так посмотрю тебя в гугле забанили и ты не знаешь жабу. Их тысячи, вот на жабе https://swagger.io/
Аноним 01/02/20 Суб 14:21:03 1588035115
Безымянный 6.png (49Кб, 1022x682)
1022x682
Безымянный 7.png (121Кб, 1900x1017)
1900x1017
Сап двач.
Допустим, у меня есть некий код с игрой, которую я хочу запускать через exe в консоли.
Как это сделать в Visual Studio? Я создал проект типа "Консольное приложение" и поместил код как показано на 2 пике
Аноним 01/02/20 Суб 14:22:20 1588036116
Аноним 01/02/20 Суб 14:23:26 1588037117
>>1588035
Нажми на зеленый треугольник
Аноним 01/02/20 Суб 14:24:12 1588044118
>>1588033
>Не могу найти в гугле
>Я смотрю тебя в гугле забанили.
Какое у нас комьюнити токсичное ппц.
Аноним 01/02/20 Суб 14:25:03 1588046119
>>1588044
Только я токсичен, когда не умеют задавать конкретный вопрос.
Аноним 01/02/20 Суб 14:25:07 1588047120
>>1588033
Что ты мне высрал, какие еще есть виды документаций кроме xml
Аноним 01/02/20 Суб 14:26:10 1588051121
>>1588046
Да ты дуан этого треда, который говнит язык хуже чем гоферы.
Аноним 01/02/20 Суб 14:27:41 1588052122
>>1588037
Не, мне нужно создать именно что exe с игрой, чтобы был один файл, который запускался бы через консоль и там была игра
Аноним 01/02/20 Суб 14:33:29 1588056123
>>1588036
Спасибо
У меня проблема была, оказывается, только в том, что я сделал (a++; c++;) до вывода этого в консоли. Я думал, у меня там вообще всё не так
Аноним 01/02/20 Суб 14:48:34 1588072124
>>1588051
Я говню только тебя.
Аноним 01/02/20 Суб 14:50:20 1588075125
>>1588047
Эх, я думал, умею говорить на жаба языке, чтобы понимали такие как ты. Похоже, такие как ты, не лечатся.
Аноним 01/02/20 Суб 15:02:24 1588085126
.png (26Кб, 1920x320)
1920x320
.png (22Кб, 726x330)
726x330
.png (45Кб, 1012x550)
1012x550
.png (54Кб, 1114x742)
1114x742
В общем, смотрите какая фигня. Я хочу написать хелловорлд.
Так вот, я сделал интерфейс, в нем объявил свойство которое должны имплементировать классы, которые будут предоставлять строку "Hello world!".
Потом я добавилс класс HelloWorldServce, который собственно должен будет имплементировать этот интрефейс.
Ну и собственно добавил бекграунд сервис, который выводит вызывает метод сервиса.
Собираю это все хостбилдером, чтобы внедрить зависимости. И вот тут затуп. Смотрите, когда сервис вывел строку, мой хелловорлд не закрывается и продолжает работать, ожидая пока я нажму Ctrl+c. Как это исправить? Я думал насчет того, чтобы добавить событие HelloWorldPrinted и мой синглтон при возникновение этого события, будет завершать программу, но мне кажется, что тут я нарушаю какую-то концепцию связанную с DI, ведь нелогично получается. Может быть есть какой-то более правильный способ завершить приложение, после вывода строки, а то не хочу чтобы мой Хелловорлд был говнокодерским.
Аноним 01/02/20 Суб 15:03:12 1588086127
>>1588085
Зачетная тема. Похожа на свекольник.
Аноним 01/02/20 Суб 15:06:52 1588095128
Аноним 01/02/20 Суб 15:09:40 1588097129
>>1588095
Хм. Нет, все еще не завершается. Ждет пока нажму ctrl+c.
Аноним 01/02/20 Суб 15:11:14 1588101130
>>1588097
Я не умею гадать на кофейной гуще. По ссылке пример реализации, дергаешь StopAsync, когда тебе надо.
Аноним 01/02/20 Суб 15:23:30 1588109131
Аноним 01/02/20 Суб 15:54:17 1588127132
>>1588072
Судя по всему ты наговнил так, что один тут тухнешь вместе вкатывальщиком.
Аноним 01/02/20 Суб 15:55:04 1588128133
Аноним 01/02/20 Суб 15:56:15 1588130134
Аноним 01/02/20 Суб 16:02:18 1588136135
>>1588128
Ооо. Спасибо! Ты спас мой хелловорлд!
Аноним 01/02/20 Суб 16:13:45 1588150136
>>1588130
Малолетний долбаеб.
Аноним 01/02/20 Суб 16:17:02 1588155137
>>1588150
А вот и не малолетний!
Аноним 01/02/20 Суб 17:32:14 1588242138
Нахуя приддумали F#?
Его ваще кто нибудь использует чи он для прикола?
Аноним 01/02/20 Суб 17:33:36 1588244139
>>1588242
По мнению некоторых это тестовый полигон фич C#.
Аноним 01/02/20 Суб 17:35:10 1588246140
>>1588052
Правой кнопкой на проекте -> publish
Аноним 01/02/20 Суб 17:42:00 1588267141
Привет всем. есть какая-нибудь конфа анонов шарпистов мы телеге? Заранее спасибо
Аноним 01/02/20 Суб 17:44:12 1588271142
Аноны кто-нибудь работал с tdlib или tdsharp под . net core? Есть пару вопросиков, по тому как с ней работать и как правильно завести эту шайтан библиотеку, буду очень благодарен.
Аноним 01/02/20 Суб 17:47:43 1588278143
>>1588271
У тебя в пидорахе заблочен он.
Аноним 01/02/20 Суб 17:52:08 1588288144
>>1588278
Не. Там транспорт идет через mtproto, с этим все норм. Просто когда пытаюсь вызвать библиотеку через viewmodel страницы razor в blazor, то blazor вылетает
Аноним 01/02/20 Суб 17:53:33 1588292145
>>1588288
Блейзор - это шарп в жс песочнице. На нем мало чего из библиотек работает.
Аноним 01/02/20 Суб 17:57:33 1588305146
>>1588292
Вот. Мне и нужна помощь как завести tdlib под blazor. Единственное что пришло это через .net core web API. Но tdsharp вообще не хочет заводится. В репозитории в примере написано одно, а в nuget пакете вообще другие классы, как быть хз
Аноним 01/02/20 Суб 17:58:23 1588307147
>>1588305
И сам пример в репозитории вылетает с переполнением вызовов класса
Аноним 01/02/20 Суб 17:58:24 1588308148
1466388462642.jpg (43Кб, 1200x640)
1200x640
Аноним 01/02/20 Суб 18:02:04 1588315149
>>1588305
Зависит, что ты пытаешься получить. Если тупо отобразить в браузере, то делаешь мидлварь (например webapi) по середение, которая работает с либой, а на вьюху отправляешь результат.
Аноним 01/02/20 Суб 18:06:14 1588323150
>>1588315
да, я так и хочу. Будет 3 стороны типа (MVC). View - blazor, control - .net core web api, model - tdsharp. С первыми двумя нет никаких проблем, осталось завести tdsharp, а как я не знаю
Аноним 01/02/20 Суб 18:11:59 1588329151
>>1588323
Так начни с чего простого на коленке: аутентификация, вывод названий чатов. А потом просто наращивай функционал.
Если не понимаешь как работает либа, то лучше сперва выкинь блейзор - сделай обычное консольное приложение.
Аноним 01/02/20 Суб 18:14:00 1588333152
>>1588329
понимаешь, библиотека просто вылетает и не хочет работать. Я же говорю даже пример вылетает с переполнением вызова метода из tdlib.dll
Аноним 01/02/20 Суб 18:17:29 1588339153
Аноним 01/02/20 Суб 18:19:06 1588341154
>>1588339
да я про этот пример и говорю, щя кину с чем вылетает пример
Аноним 01/02/20 Суб 18:27:46 1588351155
>>1588341
лол. Походу я тупой, щя кое-что попробую, походу завелась
Аноним 01/02/20 Суб 18:32:04 1588354156
>>1588351
так теперь новый прикол. В примере просит вызвать SetTdlibParameters, при отправки этого метода просит вызвать CheckDatabaseEncryptionKey. А при вызове этого метода просит вызвать SetTdlibParameters, лол это как?
Аноним 01/02/20 Суб 18:39:36 1588360157
Prikol2.jpg (402Кб, 1264x646)
1264x646
Prikol1.jpg (377Кб, 1264x646)
1264x646
Аноним 01/02/20 Суб 18:41:29 1588365158
>>1588354
Он это и так делает на 37 и 51 строках. Надо только константы задать на 10-12 строках.
Аноним 01/02/20 Суб 18:43:34 1588368159
>>1588365
так константы есть. А при обычном вызове, пример зависает на ResetEvent.Wait(); и все
Аноним 01/02/20 Суб 18:50:04 1588373160
>>1588368
>зависает на ResetEvent.Wait()
Ожидает UpdateAuthorizationState или UpdateUser при обработке события. Ставишь дебаг на дефолт ветку и смотришь что приходит, скорее всего какая-то ересь пришла.
Этот пример лучше: https://github.com/tdlib/td/blob/master/example/csharp/TdExample.cs#L73
Аноним 01/02/20 Суб 18:51:55 1588377161
>>1588373
ладно, пойду переписывать этот пример под tdsharp, спасибо
Аноним 01/02/20 Суб 18:59:56 1588386162
>>1588377
ага, перепишу. Я даже не знаю чем ClientResultHandler заменит из примера в tdlib, пиздец. пойду дальше ебаться
Аноним 01/02/20 Суб 19:01:41 1588388163
>>1588386
есть еще идея разобрать https://github.com/egramtel/egram.tel и посмотреть как там сделано, но там вообще пиздец, мне до такого уровня еще топать и топать
Аноним 01/02/20 Суб 21:10:45 1588519164
Ребят, есть у кого C# 7.0. Справочник. Полное описание языка | Албахари Бен, Албахари Джозеф ? Дайте ссылку плеасе
Аноним 02/02/20 Вск 02:28:43 1588978165
Аноним 02/02/20 Вск 03:39:59 1589018166
Дратути. Я тут настроил на .net core api аутентификацию по клиентскому сертификату по гайду отсюда https://docs.microsoft.com/en-us/aspnet/core/security/authentication/certauth?view=aspnetcore-3.1
Но сервис аутентификации выстреливает на каждый экшн каждый раз. В коде проверка сертификата в сервисе валидации вроде простая - просто проверяю thumbnail на имеющийся в базе. Но меня пугает, что возможно kestrel/iis в бэкграунде с сертификатом делают кучу других действий для валидации, и всё это может вылиться в нехуёвый оверхед а я как раз делаю api из соображений, что реквестов будет много, допустим по 30 в секунду от клиента, и каждый будет весить ~2мб+.
Так вот, стоит ли мне заморачиваться и выносить аутентификацию в отдельное приложение, которое требует клиента предоставлять серт и заставлять его перед запросами сначала сходить на апи аутентификации, там ему на успешную валидацию сертификата возвращать какой нибудь токен, с которым клиент уже будет ходить на обычный апи в другом приложении без запроса клиентского сертификата и записать токен в базу?
Аноним 02/02/20 Вск 08:28:40 1589046167
tdsharp опять выходит на связь. Оказывается взятый mtproto был кривой и ничего не делал. Нашел другой, но теперь метод AddProxy зависает, как быть?
mtproto был заранее проверен в телеге
Аноним 02/02/20 Вск 10:11:00 1589059168
Аноним 02/02/20 Вск 10:44:30 1589072169
Нахуй вообще нужен Web API в ASP.NET Core? Ведь все тоже самое может делать и обычный проект?
Аноним 02/02/20 Вск 13:10:29 1589162170
>>1589072
Стильно модно молодёжно
Аноним 02/02/20 Вск 14:41:28 1589217171
>>1589162
а если серьезно, в чем соль? В простом ограничении, что WebApi возвращает только данные? Почитал статейки на SOF и других порталах - это все, что я понял :(
Аноним 02/02/20 Вск 14:56:23 1589234172
>>1589072
Чтобы ты сущности отделял друг от друга. Когда у тебя фронт на JS, тебе в проекте в 95% случаев не нужно все то говно что есть в дефолтном проекте, а возиться с пустым ты не хочешь, вот ты и ебанул web api проект в свой солюшн, сделал там пару api контроллов, которые json'чики возвращают, токены и прочее и не трогаешь больше его.
Так-то ты и в консольном приложении можешь как контроллы начать использовать, так и запилить свой велосипед с HttpListener'ом или вообще ебануть на сокетах и сам будешь Http парсить, и все то же самое, в конечном итоге делать, но тебе добрые индусские господа сделали готовы шаблон именно когда тебе только api нужно, в который просто напихай своих api контроллов и оно будет со своей задачей справляться.
Аноним 02/02/20 Вск 14:58:14 1589235173
>>1589072
Инверсия контроля очевидная - интерфейс в виде апи можно прихуярить к чему угодно - к фронтенд фреймворку, к мобильному приложению, к десктопу, к чему угодно, что к интернету подключается.
MVC пережиток прошлого и уг
Аноним 02/02/20 Вск 15:28:04 1589252174
>>1589234
>>Когда у тебя фронт на JS
а он что, бывает на чем то еще?
>>95% случаев не нужно все то говно что есть в дефолтном проекте
выпиливается 3-4 кликами
>>1589235
>>Инверсия контроля очевидная
она не дефолтная в webAPI, ее в любом проекте нужно самому реализовывать
>>можно прихуярить к чему угодно
как и обычный web core

Нипанимаю
Аноним 02/02/20 Вск 15:37:49 1589262175
>>1589217
соль в том, что майки развивают .net core, а в стандартный asp.net фичи уже не завозят. пока что это не критично и всё фичи .net core, идущие из под коробки, за разумное время можно реализовать и в старом asp mvc 5 приложений. но не факт, что так будет всегда и в .net core в дальнейшем не завезут каких либо киллер фич


кого то прельщает кросплатформенность. хочешь - хости на iise, хочешь на линуксе через kestrel

и это только внешняя сторона вопроса. возможно они еще и внутри переделывают .net, чтобы был производительнее и тыры пыры
Аноним 02/02/20 Вск 15:49:03 1589275176
>>1589252
> а он что, бывает на чем то еще?
Блядь, разором, сука можно делать, чего ты как ебанат? Можно хуячить на веб-формах, на Жаве, сука, блядь, ньюфажина ебучая.
> выпиливается 3-4 кликами
А можно взять готовый проект и нихуя не выпиливать, ебанат ты этакий.
Пиздец, ему по полочкам разложили, а он как ебучий ребенок, сука. Не нужен - не пользуйся, вообще, можешь все проекты с пустого текстового файла начинать и ебашить, а собирать с помощью .net CLI, пидрила ты тупая.
Аноним 02/02/20 Вск 15:51:29 1589279177
>>1589262
asp.net умрет

останется webapi core
Аноним 02/02/20 Вск 15:51:54 1589280178
>>1589275
А чё ты на оскорбления срываешься сразу, быдло?
Аноним 02/02/20 Вск 16:04:39 1589291179
>>1589280
А то, что тебе объяснили зачем оно надо, а ты продолжаешь дурочка строить из себя. Как тебе еще сказать, чтобы ты понял, блядь?
Аноним 02/02/20 Вск 16:06:09 1589292180
>>1589291
Я другой анон. Но тот анон просто задавал вопросы, а ты сразу говнишь, мразь. Иди нахуй в андроид треды с таким отношением к коммьюнити, там все такие токсичные, как ты.
Аноним 02/02/20 Вск 16:17:15 1589307181
>>1589292
Я ему ответил нормально сразу, он из себя строит дауна. Почему я должен к тому кто строит из себя дауна относиться не как к дауну?
Аноним 02/02/20 Вск 16:24:47 1589312182
>>1589275
>Блядь, разором, сука можно делать, чего ты как ебанат? Можно хуячить на веб-формах, на Жаве, сука, блядь, ньюфажина ебучая.
хуясе порвался даун. Я тебе приотрою тайну, что фронт на 99% состоит из JS, твой рейзор (интерпритатор html+C# в HTML) без JS != фронт 2к20.
На джаве веб, ну нихуя себе даунил в треде сидит
>>1589307
>>ответил нормально
лучше бы вообще ничего не писал, профита больше было бы
Аноним 02/02/20 Вск 16:32:19 1589315183
>>1589312
> Я тебе приотрою тайну, что фронт на 99% состоит из JS
А бек на 80% из ПХП, хули ты в шарпотреде сидишь, дебич? Фронт на JS онли, бек на PHP, и горя не знай. Нахуя тебе дотнет вообще нужен?
Аноним 02/02/20 Вск 16:40:52 1589327184
>>1589315
Маня, ты ебанулся? Ты не различаешь фронт от бека. После этого
>>Блядь, разором, сука можно делать, чего ты как ебанат? Можно хуячить на веб-формах, на Жаве, сука, блядь, ньюфажина ебучая.
я вообще не знаю, зачем тебе что то пишу. Ты же просто отбитый. Создай .NET Core проект, скомпилируй и посмотри во View, что такое бандлы, рендеринг и как работает View с Razor.
Я вопросы людям задаю, а не животным
Аноним 02/02/20 Вск 16:45:01 1589335185
>>1589327
>Я вопросы людям задаю
И тебе уже по человечески ответили что блядь вебапи нужен ДЛЯ УДОБСТВА, когда тебе нужен только апи. А мвс нужен когда у тебя фронт на разоре каком нибудь. И что это просто шаблон. Сразу же тебе так ответили, черным по белому и без мата.
Но ты продолжил спрашивать А НАХУЯ, А Я МОГУ УДАЛИТЬ ТО, А МОГУ СЕ. Ты ж или тупой или тупостью троллишь. Все правильно тебя хуями покрыли.

мимо тоже пригорел
Аноним 02/02/20 Вск 16:51:44 1589344186
>>1589335
>>мимо тоже пригорел
тоже фронт на джаве пишешь наверное?
Я свято верю, что на борде сидят не только окатыши. Но все чаще разочаровываюсь :(
Аноним 02/02/20 Вск 16:58:50 1589359187
>>1589344
>Фронт на жаве
Да хоть на кложурскрипте, тебя ебет? И похуй во что оно там компилится, ты же не говоришь что разрабатываешь на машинных кодах только потому что твой код компилится в итоге в них
Поинт анона был в том что мвс для старого подхода с разором, вебапи для жс фреймворков и прочих современных вещей. Так доебаться до слов надо уметь

>Окатыши
И нахуя ты мем из пораши притащил, ещё и используя его неправильно? Ты точно дегенерат.
Аноним 02/02/20 Вск 17:05:12 1589369188
>>1589359
парень ты конечно извини, но ты далек от разработки приложений на .NET Core (судя по тому, что ты пишешь)
Я уже получил ответ и решил развернуть дискуссию на тему "Зачем возу 5ое колесо"
>>И нахуя ты мем из пораши притащил
вообще не понял о чем ты, ты видимо какой то дегрот 7ой параллели
Окатыш - маленькие камешки (см. малолетки)

я на двоще получил много годных советов, не как строчки местами поменять, а касающихся архитектуры и компоновки проектов, но из за таких, как ты мне стыдно говорить, что сижу на борде
Аноним 02/02/20 Вск 20:31:55 1589575189
вкатился
Аноним 02/02/20 Вск 21:57:46 1589656190
кто может помочь с поиском максимума от минимума в матрице
Аноним 02/02/20 Вск 22:29:24 1589691191
>>1589656
алг матрица_мин_макс
нач
мин = макс = М[1, 1]
для и от 1 до Н
нц
для ж от 1 до М
нц
если М[и, ж] > макс то
макс = М[и, ж]
конец если
если М[и, ж] < мин то
мин = М[и, ж]
конец если
кц
кц
вывод мин
вывод макс
кон
Аноним 02/02/20 Вск 22:44:17 1589717192
image.png (5Кб, 260x96)
260x96
>>1589691
Мне именно максимум от минимума нужен, а не минимум и максимум
Аноним 02/02/20 Вск 22:47:27 1589727193
>>1589717
Непонятно, что подразумевается под минимумом по j. Найти "минимальный столбец"? А как столбцы сравнивать, если над векторами не определена операция сравнения?
Аноним 02/02/20 Вск 22:50:34 1589735194
image.png (140Кб, 799x450)
799x450
>>1589727
Это из теории игр с природой, критерий Вальда
Аноним 02/02/20 Вск 23:03:17 1589763195
>>1589735
Вот поэтому я и не осилил эту хуйню в свою время, что даются какие-то неформальные формулы, будто не математика, а гуманитарщина какая-то.
Значит, должно быть максимальное значение в столбце и при этом минимальное в строке? Хуита какая-то. И наверняка есть готовое решение.
Аноним 02/02/20 Вск 23:07:10 1589770196
>>1589763
Находятся минимальные элементы во всех столбцах и из них выбирается максимальный элемент в строке, это и будет оптимальной стратегией
Аноним 02/02/20 Вск 23:08:09 1589773197
>>1589763
На бумажке то оно на раз решается, но следующие критерии ещё хуже, а я уже на первых встал с переводом в программу
Аноним 02/02/20 Вск 23:47:22 1589875198
Нас 75-летний препод на теории алгоритмов заставлял делать хеллоуворлдные задачки на
алг
нач
кон
в тетрадке.
И компилировал у себя в голове.
Сука, а я так надеялся, что он нас научит всяким сортировкам, обходам графов, балансировке деревьев...
Аноним 02/02/20 Вск 23:51:13 1589885199
>>1589875
а потом ебал скалкой в жопу за пропущенную точку с запятой, угадал?
Аноним 02/02/20 Вск 23:56:57 1589893200
>>1589875
А нам вот вполне адекватно преподавали плюсы. На контрольных можно было выбрать, на бумажке будешь делать или на ЭВМ. Но если на ЭВМ, спроса с тебя было больше, в конце обязательно должна получиться работающая прога. А на бумажке могли закрыть глаза на косяки.
Аноним 03/02/20 Пнд 12:56:09 1590213201
Сап, ананасы, помогите студенту!
Суть такая - есть клиент-серверное приложение, клиент - WIndows Forms на фреймворке, сервер - консолечка на Core
На клиенте и сервере прописана структура из 2 полей - строка и массив байт
Я хочу эту структуру передать по TCP и для этого преобраую ее в byte[] с помощью Marshall. При сериализации на клиенте получается массив из 12 байт, его я отправляю на сервер. Сервер получает эти 12 байт и пытается их десериализовать в такую же структуру. Однако, когда я получаю размер структуры на сервере чрез Marshal.SizeOf(), то вместо 12 байт он получает 24 и в итоге при дальнейшем копировании указатель уходит в никуда.
В чём проблема? Почему абсолютно такая же структура имеет другой размер на сервере?
Аноним 03/02/20 Пнд 14:26:20 1590334202
Аноним 03/02/20 Пнд 14:34:12 1590342203
Аноним 03/02/20 Пнд 14:36:09 1590346204
Аноним 03/02/20 Пнд 14:43:01 1590354205
>>1590346
Можно без денег, я готов потратить на тебя и твой говнокод 10 минут бесплатно.
Аноним 03/02/20 Пнд 14:48:36 1590367206
>>1590213
Я б свою сериализацию сделал. Там две строчки, но зато понятно что и откуда было б.

Аноны, поясните, ASP.NET и ASP.NET Core - по написанию кода примерно одно и то же? Или разный подход? Хочется учить свежее, Core, но по нему не могу годных гайдов найти.. По ASP.Net полно, но на первый взгляд кажется что это вообще разные вещи.
Аноним 03/02/20 Пнд 14:50:45 1590370207
>>1590367
Принципы теже, детали отличаются.
Аноним 03/02/20 Пнд 14:55:15 1590378208
>>1590370
Ок, спасибо. Осталось найти всё-таки гайд по core, что б какую-нибудь простейшая програмка была разобрана, а не сразу портал по взлому пентагона.
Нет на примере ничего?
Аноним 03/02/20 Пнд 15:16:05 1590408209
>>1590378
Есть ненавистный местными обитателями метанит.
Аноним 03/02/20 Пнд 15:19:44 1590417210
>>1590408
Видимо я тоже ненавистник.
Как то люблю гайды, что б для чайников было. Сначала запускаем пустое приложение, потом выводим текст, кнопку, реакцию на кнопку и т.д. С усложнением, но что б можно было реализовывать сразу. А там - просто теория сплошная. Уже пробовал по ихнему гайду - разочаровался.
Аноним 03/02/20 Пнд 15:49:24 1590459211
>>1590417
>А там - просто теория сплошная
Ну уж нет. Его тут как раз хейтят за поверхностность, там как раз показывается как сделать хуюшку, но без углубления зачем и почему. И оглавление намекает
>Запуск приложения. Класс Program
>Класс Startup
>Конвейер обработки запроса и middleware
>Методы Use, Run и делегат RequestDelegate
>Методы Map и MapWhen
>Создание компонентов middleware
>Конвейер обработки запроса
>IWebHostEnvironment и окружение
>Статические файлы
>Работа со статическими файлами
>Обработка ошибок
вот тебе шаг за шагом, и маленькое приложение готово.
>>1590417
>выводим текст, кнопку, реакцию на кнопку
Так это тебе к фронтендерам и жс макакам.
>>1590417
> Уже пробовал по ихнему гайду - разочаровался.
Ну не зашло, так не зашло. Можешь попробовать максимальный уровень деградации - видеотуториалы.
Аноним 03/02/20 Пнд 15:51:29 1590462212
>>1590459
Сейчас вот, кстати, почитал гайд этот ещё раз. Как раз первые 7 пунктов - сплошная теория. А в восьмом уже идёт построение приложения. Попробую завтра реализовать. А уже потом может быть стоит разбираться в нюансах, если пойдёт.
Аноним 03/02/20 Пнд 15:56:48 1590469213
>>1590462
Так без первых семи, ты в восьмом сможешь только скопипастить код и охуевать от того, что там понаписано. Но дело твое.
Аноним 03/02/20 Пнд 15:57:18 1590472214
>>1590378
У Троелсена есть.
Из новых:
Mark J. Price - C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development Fourth Edition-Packt (2019)
Мутанита не трогай, это дерьмо можно использовать только как краткий справочник и только когда ты не знаешь какой именно класс из стандартной библиотеки тебе нужен, но знаешь, что какой-то есть.
Аноним 03/02/20 Пнд 15:59:58 1590478215
>>1590469
Да вроде описано.. Но надо что б работало, а потом уже разобраться что и зачем. Как по мне.
>>1590472
Ок, погуглю, пасип.
Аноним 03/02/20 Пнд 16:30:24 1590522216
>>1590472
>>Mark J. Price - C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development Fourth Edition-Packt (2019)
Есть у кого схоронить eng/rus doesn't matter? Pdf/Word/html?
Аноним 03/02/20 Пнд 16:36:07 1590542217
Аноним 03/02/20 Пнд 16:45:05 1590555218
Аноним 03/02/20 Пнд 19:17:28 1590749219
>>1590213
> этого преобраую ее в byte[] с помощью Marshall
Зочем? Просто сделай метод в структуре: ToByte() В нем что-то вроде:
byte[] msg = new byte[str.Length+byteArray.Length] // со строками правда нужно учитывать, что если это UTF какой-нибудь, так низя будет, нужно будет сначала строку с помощью Encoding перевести в байтики.

Потом в этот массив msg в цикле запихни все это. Это СТОПРОЦЕНТНЫЙ способ, потом побайтова распарсь. Базарю. Серелизации-десерелизации, когда это не какой-то общепринятый стандарт, это хуйня и в рот ее ебал.

> В чём проблема? Почему абсолютно такая же структура имеет другой размер на сервере?
Потому что в Маршал размер в рантайме смотрит и он может меняться в зависимости от положения звезд и того, как компилятор решил оптимизировать твое дело за тебя: Может взять и дырки заполонить, может не туда байтик лечь и твою структуру из 3 байтиков распидорасит на 32 бита. Потому либо ебешься со своей серилизацией, либо берешь готовую, либо как настоящий хакер в массивчик руками кладешь.
Аноним 03/02/20 Пнд 20:09:04 1590772220
Анончики выручайте, как из datagridveiw с размерами n на m
занести данные в список, который будет представлять из себя матрицу List<List<double>> Matrix = new List<List<double>>();
Аноним 03/02/20 Пнд 20:21:39 1590800221
>>1590749
>Потому либо ебешься со своей серилизацией, либо берешь готовую, либо как настоящий хакер в массивчик руками кладешь.
Либо RPC используешь.
Аноним 03/02/20 Пнд 20:24:25 1590811222
>>1590749
>>1590800
Скорее всего структура не имеет правильное директивы о возможности сериализации.
Вроде массивы вообще по умолчанию не сериализуються. Они же ссылочные.

Короче он там просто хуйню лепит.
Аноним 03/02/20 Пнд 20:34:05 1590831223
shitcode.png (32Кб, 655x329)
655x329
>>1590772
Не надо пытаться есть через жопу. Контрол, нужен для отображения данных и взаимодействия с пользователем. У тебя уже должны быть данные, к которым ты привязываешь DGV.
Аноним 03/02/20 Пнд 21:02:33 1590878224
Аноним 03/02/20 Пнд 21:22:50 1590917225
Аноним 03/02/20 Пнд 21:39:18 1590931226
>>1590878
Банально потому что там не вдаются в детали, а дают простой пример для простой задачи, который ты и без них легко бы сделал за полчаса. Лучше уж тогда какую-нибудь книжку нормальную почитать.
Аноним 03/02/20 Пнд 22:33:42 1591004227
Прочел Шилдт. C# 4.0: полное руководство, вроде основные моменты понятны. Но если смотреть сложный код200строк% то чета нихуя не понятно, чета создается обьект класса, затем этот обьект передается в другой. Что код делает примерно понятно но в основном нет.
Дак вот вопрос как дальше прокачивать скилуху? Стоит ли еще прочитать Албахари Джозеф, Албахари Бен. C# 6.0. Справочник. Полное описание языка ? Или ограничится прочтением самых непонятных глав и сделать упор на написании своих каких то мелких программ?
Аноним 03/02/20 Пнд 23:06:40 1591041228
>>1591004
Нахуй тебе шилд устаревший, когда есть троелсен? Читай теперь Рихтера, хули.
Аноним 03/02/20 Пнд 23:19:56 1591050229
>>1591041
Рихтера сейчас тоже читаю но по главам, интерфейсы многопоточность и классы
Аноним 03/02/20 Пнд 23:34:46 1591061230
>>1591004
>Но если смотреть сложный код200строк% то чета нихуя не понятно, чета создается обьект класса, затем этот обьект передается в другой. Что код делает примерно понятно но в основном нет.
Язык -- это инструмент. Зная, как использовать гаечный ключ, ты не получаешь автоматически знание, как устроен автомобиль, с помощью которого он сделан.
Олсо, реверс-инжиниринг чужого кода (в запущенных случаях бывает даже своего годичной давности) -- это вообще отдельный навык, от языка в эпоху доминирования ООП слабо зависящий.
Аноним 04/02/20 Втр 00:07:34 1591103231
Аноним 04/02/20 Втр 00:17:31 1591112232
В четверг иду писать тест по шарпу, страшно
Аноним 04/02/20 Втр 00:33:41 1591126233
>>1591112
Один уже тут такой был. Не видели его с тех самых пор, как он писал про то, что идёт на собес.
Аноним 04/02/20 Втр 00:45:37 1591136234
>>1591126
Он не знал про интерфейсы?
Аноним 04/02/20 Втр 00:55:03 1591144235
>>1591126
Вначале тест, потом собес, если сдам. Потом практику ещё у них как работу по времени, но не платят, потом, может, работа. Пизда мне, короче.
Аноним 04/02/20 Втр 01:10:31 1591150236
>>1591144
Ты главное сразу настройся на то, что помимо того, что дальше теста не пройдёшь, над тобой еще похихикают и будут унижать морально. Прошлый анон слишком позитивно настроен был, даже грозился скайп-интервью записать, в итоге даже в треде не отписался.
Аноним 04/02/20 Втр 01:16:13 1591151237
image.png (39Кб, 639x525)
639x525
image.png (37Кб, 1026x241)
1026x241
Есть говнокод, есть datagrid, который создаю через 2 текстбокса чтобы была матрица n на m , матрицу записываю в листы, проблема в индексах, если создаю матрицу больше 2х2 то по кд выскакивает аут оф рендж, даже если каунтам в цикле ставлю -1
Аноним 04/02/20 Втр 02:19:08 1591166238
>>1591151
бротишка, если тебе за это не платят и не ставят оценки, то бросай нахуй это дело. winforms мертвее мёртвого wpf. если так нравится шарп - учи asp.net core, и учись там на js/ts делать все эти таблицы шмаблицы. не трать золотое время на изучение мёртвых технологий
Аноним 04/02/20 Втр 06:42:05 1591222239
>>1591150
И физически. Уже избиваю себя палками.
Аноним 04/02/20 Втр 08:41:26 1591245240
>>1591151
Ты даже код не смог переписать - обосрался с индексами. Индексатор dgv первым параметром принимает индекс столбца, а вторым строки.
Аноним 04/02/20 Втр 10:11:14 1591273241
15775198252460.png (1063Кб, 720x1096)
720x1096
Аноним 04/02/20 Втр 11:40:51 1591308242
>>1586036
>лучше грузить маленькие картинки в OP-пост, чтобы быстрее загружался тред.
Этож твои проблемы. Вакаба сжимает картинки и в любом случае даёт тебе мелкие. Большие ты грузишь только если сам куклоскрипту сказал чтобы он тянул большие.
Аноним 04/02/20 Втр 14:00:55 1591421243
>>1591308
>>Вакаба сжимает картинки и в любом случае даёт тебе мелкие
Ты в этом уверен? Такие посты в /pr/ видеть - это как себе на ебало ссать
Аноним 04/02/20 Втр 14:13:28 1591432244
post.png (42Кб, 490x344)
490x344
Аноним 04/02/20 Втр 14:23:40 1591445245
>>1591432
То, что в UI идет пережатый формат - это да. И где тут сжатие, если сорсы картинок все равно хрянятся на ресурсе?
Аноним 04/02/20 Втр 14:26:41 1591450246
>>1591445
Выйди из /pr еблан, ты слишком тупой.
Аноним 04/02/20 Втр 14:34:16 1591458247
Аноним 04/02/20 Втр 14:39:32 1591466248
>>1591458
Ты траллируешь тупостью сучёнок? Включи network в браузере и посмотри что хайрез какртинка ТЯНЕТСЯ с хостинга по клику. Нахуй ты настолько тупорылый что даже ОДНУ СРАНУЮ КНОПКУ не смог нажать ип посмотреть сам? НАХУЙ ты в 2020 на трафике экономишь? Нахуй тебя сразу не послали нахуй всем тредом за такие тупые запросы?
Аноним 04/02/20 Втр 14:39:41 1591467249
>>1591273
Уже бы давно нашёл. Мне конкурентам смысла нет помогать, извини.
Аноним 04/02/20 Втр 15:02:20 1591498250
>>1591467
>2ch
>Конкурентам
А ты не очень умный да?
Аноним 04/02/20 Втр 15:10:53 1591503251
>>1591466
>Ты траллируешь тупостью
Уровень /pr/ двача. Пиздец просто. Начнем с того, что твои small-size пики тоже на хосте храняться. А что делает из оригинальной пики small-size? Господь б-г?
Аноним 04/02/20 Втр 15:12:52 1591506252
>>1591503
Фронтенд даун, ты?
Сервер картинку сжимает, ебаный ты дегенерат. Не клиент.
Аноним 04/02/20 Втр 15:14:42 1591510253
>>1591503
Пиздец какой ты тупой. Как ты до сих пор не умер выходя в окно перепутав его с дверью? Я не понимаю.
Аноним 04/02/20 Втр 15:16:17 1591514254
>>1591510
У меня так сосед шизик умер лол
мимо
Аноним 04/02/20 Втр 15:18:22 1591519255
Аноним 04/02/20 Втр 15:24:12 1591529256
>>1591510
Квартироблядь детектед.
Аноним 04/02/20 Втр 15:25:04 1591535257
Аноним 04/02/20 Втр 15:25:56 1591536258
>>1591506
>Сервер картинку сжимает
Ты хотя бы понимаешь, что такое Wakaba и как работает борда?
>Не клиент
проиграл в голос
>>1591510
твой одноклеточный брат постом выше
Аноним 04/02/20 Втр 15:28:31 1591542259
>>1591536
>Ты хотя бы понимаешь, что такое Wakaba и как работает борда?
Тебе блядь тупорылая скрин с исходником кинули, хуйле тебе непонятно?
Аноним 04/02/20 Втр 15:29:44 1591546260
unnamed.jpg (60Кб, 512x384)
512x384
>>1591536
>Спорит с исходным кодом
Аноним 04/02/20 Втр 15:34:49 1591560261
>>1591542
>>1591546
Боже блять, вкатыши вы обрыганные. На серверной стороне есть хранилища как для full size, так и для small size картинок. Full size - это исходник, который загружает User. Small size - генерится серверной стороной (Вакабой дауны вы тупые) и так же ложит в хранилище и дает линк на UI борды (чтобы страница были легче).
Пиздец уровень /pr/ я в ахуе. Походу тут с шараг и с курсов только даунята сидят.
Аноним 04/02/20 Втр 15:36:30 1591567262
>>1591498
Тут куда не плюнь в программиста попадёшь.
Аноним 04/02/20 Втр 15:38:25 1591576263
>>1591560
А вот тпеперь даун, ответь сам на вопрос, какой файл ты грузишь когда открываешь тред.
А потом иди нахуй, потому-что ты сказал ровно то, что тебе ответили в первом же посте. Тупорылый уёбок.
Аноним 04/02/20 Втр 15:40:15 1591584264
Вот тут >>1591445 даун проебался, когда начал искать связь между сжатием и хранение исходных картинок на сервере.
На сервере хранятся как сжатые, так и исходные картинки, сжатые тебе выдаются при загрузке треда, исходные по клику. О чём и говорил анон изначально.
Аноним 04/02/20 Втр 15:40:47 1591586265
>>1591576
Более того, этот дебил сейчас пишет то же самое что в прошлый раз процитировал и сказал что видеть такие посты это как на ебало ссать себе: >>1591421
Биполярочка
Аноним 04/02/20 Втр 15:44:00 1591596266
>>1591560
Ещё раз, тебе блядь, показали исходный код где видно что сайт грузит мелкую ресайзнутую картинку.
ХУЛЕ ТЕБЕ НЕПОНЯТНО ЕБОБО? НАХУЙ ТЫ ПРОСИШЬ МАЛЕНЬКИЕ ПИКЧИ В ОП ПОСТ?
Аноним 04/02/20 Втр 16:09:28 1591621267
>>1591576
>какой файл ты грузишь когда открываешь тред.
Если загружаю - full size, мне борда выдает пережатый - small size, full хранит в hiden link
>>1591584
>>1591586
>>1591596
пиздец вы аутисты, какие то посты мне приписываете. Это такие маневры уровня /pr/ шараги?
Аноним 04/02/20 Втр 16:12:19 1591627268
>>1591621
>Если загружаю - full size, мне борда выдает пережатый - small size, full хранит в hiden link

Ты хоть сам себя понимаешь, хуйло тупорылое? Что ты вот сейчас высрал? Если загружаю - фул сайз. Мне борда выдает пережатый - смалл сайз.
Пиздец просто, скажи, что это такой тончаший троллинг.
Аноним 04/02/20 Втр 16:12:55 1591630269
>>1591621
>full хранит в hiden link
Пиздееееееееееееееееееееееееееееееец ты еблан, хоть в анусе у тебя хранит. Складку сеть открываешь и видишь что в итоге по клику происходит загрузка с сервера.
Аноним 04/02/20 Втр 16:14:33 1591633270
>>1591621
>какие то посты мне приписываете
Это троллинг, расходимся.
Аноним 04/02/20 Втр 16:18:35 1591641271
ultimate-face-p[...].png (182Кб, 500x398)
500x398
>>1591630
пиздец ты уебище тупое, hiden link from server. Из чего еще может быть линк?
>>1591627
походу тот же, что и запостил >>1591421

Я пытался, правду пытался, но уровень шараг и вкатышей-манарегров просто ставит меня в тупик. Один линки в разметке хранит, другой сервером картинки пережимает (сервер != wakaba)
Аноним 04/02/20 Втр 16:24:01 1591652272
>>1591641
>но уровень шараг и вкатышей-манарегров просто ставит меня в тупик.
Ну раз ты даун, то тебя и шараги в тупик постявят.
>линки в разметке хранит
А, ну тоесть a href - это не разметка теперь да? Теперь ты уже даже html не осилил. Ясно, понятно. Видимо ты какой-то особый случай мозгового ампутанта. С чем я тебя и поздравляю.
>(сервер != wakaba)
Даун, ты тут один единственный про вакабу что-то пиздишь. Заканчивай. Никто тебе слова про вакабу не сказал.
Аноним 05/02/20 Срд 10:00:09 1592095273
Учу Asp.Net Core, до этого с вебом дел не имел, только десктопные приложения писал.
Я правильно понимаю, что веб приложения никак не оперируют данными в оперативной памяти? Ну то есть если пришёл запрос, то код должен его обработать, отослать ответ и какие то промежуточные данные где то сохранить (физически на диске. Просто в тхтшник или в бд). Придёт новый запрос - надо брать данные с диска (ассоциировать их с пользователем). Хранить их в оперативке никак не выйдет (ну то есть можно, конечно, написать десктопную прогу, которая будет запускаться параллельно и отправлять данные в неё, но так, в общем то, не делают)
Аноним 05/02/20 Срд 15:38:56 1592316274
>>1592095
>Я правильно понимаю, что веб приложения никак не оперируют данными в оперативной памяти?
Как понимать этот вопрос? Когда запускается программа, любая, хоть десктопная, хоть консольная, хоть веб-приложение, то в ОС создается процесс, который имеет свою изолированную часть оперативной памяти, в которой рантайм инициирует стек и кучу. Хотя насчет стека я не уверен, но в общем не важно. Пока процесс работает, отрезок оперативки будет закреплен за этим процессом, и он будет оперировать данными, которые там имеются, или будут поступать извне.

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

>Хранить их в оперативке никак не выйдет (ну то есть можно, конечно, написать десктопную прогу, которая будет запускаться параллельно и отправлять данные в неё, но так, в общем то, не делают)
Можно хранить и в ОП, но только нужно иметь всегда актуальную копию в базе или на диске, или на другой машине. Можно использовать in-memory базы данных, например Aerospike, которые хранят данные как раз в оперативке, и поэтому у них высокая производительность.
Аноним 05/02/20 Срд 15:50:10 1592331275
>>1592316
>Хотя насчет стека я не уверен
тоже в оперативке
>Можно хранить и в ОП
всегда будет сервер, хотя бы для самого софта или хранения логов/аутентификации
Аноним 05/02/20 Срд 19:31:23 1592493276
>>1591004
Сделать упор на написание того что тебе интересно, блядь.
Я просто хуею с таких вот: прочитают от корки до корки, пройдут миллион курсов, но дома даже строчку кода не напишут. Открываю тебе секрет: Все что нужно чтобы начать кодить что-то реальное или устроится на работу джуном - понимание булевой алгебры, базовые знания компьютерной математики, элементарная логика и умение строить алгоритмы, 95% остального ты будешь гуглить, от фишек языка и его библиотеки, которые не знал, до алгоритмов которые лучше подходят для решения задачи. Никто, не заучивает наизусть все, ты на проекте уже разбираешься, как устроены те или иные штуки, как работает твой фреймворк и все остальное, а понимание того как строить правильную архитектуру приходит именно после написания своих проектов.
Нет, будем страдать фигней бесполезной, будем читать миллион книг и через неделю забывать что там прочитали и записываться на курс, который будет заставлять программировать. Вот и нафига-то тогда изучать? Ты же будешь на работе страдать, потому что минимум 95% времени первые лет 5 - чисто работа с кодом.
Аноним 05/02/20 Срд 19:55:21 1592506277
>>1592095
> Хранить их в оперативке никак не выйдет (ну то есть можно, конечно, написать десктопную прогу, которая будет запускаться параллельно и отправлять данные в неё, но так, в общем то, не делают)
Не выйдет, только при чем тут веб-приложения в целом? Ты получил запрос, он будет в куче, ты его как-то обработал, в процессе обработки пару раз обратился к диску, чтобы, скажем, статичный файл считать и отправить или данные из БД достать, запихнуть их в json и опять же отправить, если этот ответ повторяется много раз, ты можешь вообще не обращаться к диску, а создать какую-нибудь свою хитрую очередь, в которой "горячие данные"(к которым чаще всего обращаются) в начале расположены, "холодные" - в конце, те что "очень холодные" выгружаются из оперативки, таким образом поиск будет быстрее, сэкономишь пару миллионов таким макаром.
Ну и вообще, веб-приложения не ограничиваются HTTP, ты можешь запилить хуевину, которая принимает поток данных, обрабатывает и сразу посылает ответ, тут никаких обращений к диску может не быть, все будет либо в куче, либо на стеке происходить.
> Придёт новый запрос - надо брать данные с диска (ассоциировать их с пользователем).
Не обязательно. Если у тебя не очень много запросов отовсюду, то ты вполне можешь поддерживать открытое соединение пока не получишь запрос, либо пока сокет не отвалится; можешь по кукисам проверять залогинен ли пользователь, вообще много чего можешь делать.
Аноним 05/02/20 Срд 20:14:37 1592533278
Ребят чаму не работает?
https://gist.github.com/Datakda/e769fb154a20cc081f63aa7c8041a7fd
А именно этот кусок


for (int i = 0; i < arrayTask.Length; i++)
{
//запускаем таски по одному до числа кратного 50
arrayTask.Start();

if (i % 50 == 0 && i != 0)
{
for (int a = c; a != i; a++)

{
c++;
//Проверяем на завершение тасков, если запущеные таски из 50 штук не завершены то новые не запускаем
while (!("RanToCompletion" == arrayTask[a].Status.ToString()))
{
Console.WriteLine("Ждем выполнения потока " + c);


}


}



}



}

Смысл таков: Есть массив Тасков, в тасках метод который делает Task.Delay(5000) и запускает метод который пишет в консоль, они должны запускатся по 50 штук и ждать выполнения а потом снова 50 штук запустить, но чета не работает, помогите плиз, вроде же все должно работать хуй его знает
Аноним 05/02/20 Срд 20:19:03 1592537279
>>1592533
фикс
в самом верху
int c = 0;

И вообще мб есть что из коробки для контроля потоков? Что то типо ThreadPool только для отдельных задач?
Мне давали ссылки на решение это проблемы но для меня пздц как сложно разобратся в этом, неуж то нету решение из стандартной коробки? Типо Передаешь массив тасков и число потоков, например так Magic(arrayTask,50), в массиве 5к тасков, и эти таски будут выполнять 50 потоков,
Аноним 05/02/20 Срд 20:43:58 1592566280
>>1591004
Если ты не писал такой код, который читаешь, то ты никогда его не поймешь. Ты можешь прочитать тысячу книг о фичах языка, но если ты сам их не писал и не запускал, то ты никогда их не поймешь и не запомнишь. Прокачивается одним только способом, - написанием кода. C# ты выбрал зря. Слишком много фич и синтаксиса. Начни с языка по-проще, а как будешь уверенно писать код без справочника, тогда и за C# берись.
Аноним 05/02/20 Срд 20:45:35 1592567281
>>1592493
>Я просто хуею с таких вот: прочитают от корки до корки, пройдут миллион курсов, но дома даже строчку кода не напишут.
К сожалению, большинство думает, что можно научиться программировать читая книги или смотря видео. Когда-то и я был в их числе. Потом понял, что скилл прокачивается только когда пишешь.
Аноним 05/02/20 Срд 20:49:51 1592571282
>>1592493
>>1592493
Ну ахуеть, как писать код если не понимаешь?
Вот я могу написать ну там цикли хуиклы, а вот как доходит до хуйни типо которую я выше скидывал то начинается пиздец.
Аноним 05/02/20 Срд 20:51:28 1592572283
>>1592506
>Не выйдет
С чего это вдруг? Предположим пользователь ввел данные, или они пришли как-то по-другому, - теперь они находятся в процессе, в котором запущена программа, их можно использовать в программе спокойно, до тех пор пока процесс не будет прекращен. Все зависит от аптайма, если он непрерывный, то данные можно не сохранять нигде, а хранить внутри процесса. В Эрланге например данные хранят в процессах, только не в процессах ОС, а в эрланговских процессах.
Аноним 05/02/20 Срд 21:00:10 1592577284
>>1592572
Няша, я просто из-за того как построен вопрос, ответил криво. А именно
> Я правильно понимаю, что веб приложения никак не оперируют данными в оперативной памяти
Конечно, если только запросы обрабатываются и логика обработки не подразумевает обращение к диску, ты можешь полностью в оперативке все приложение делать.
Аноним 05/02/20 Срд 21:04:54 1592581285
.png (11Кб, 517x374)
517x374
Аноним 05/02/20 Срд 21:28:54 1592600286
>>1592571
> Ну ахуеть, как писать код если не понимаешь?
Вот так вот брать и писать. Городя велосипеды и развивая таким образом инженерное мышление. Неужели ты хочешь сказать, Шилдта ты не усвоил циклы, переменные, массивы, функции и классы, а сверху не понял как работает if и логические операции? Это база, которой достаточно, чтобы что угодно сделать, в процессе поймешь, зачем тебе нужны списки, как работать с файловой системой, потоками, зачем нужны события, где надо использовать вместо них делегаты и т.д.
Аноним 05/02/20 Срд 21:37:41 1592618287
>>1592533
Используй SemaphoreSlim или Semaphore
Аноним 05/02/20 Срд 21:39:24 1592622288
>>1592600
Уже пол года работаю, так и не понял, зачем нужны события и делегаты наверное потому, что сам ими не пользовался и у сеньора в коде не видел вроде
Аноним 05/02/20 Срд 23:37:12 1592760289
Безымянный 7.png (19Кб, 503x570)
503x570
Как сделать чтобы после конца цикла переменная (int, double ...) сохранила своё значение?
То есть, то значение, которое получилось в рамке перешло вниз?
Аноним 05/02/20 Срд 23:49:13 1592767290
Аноним 05/02/20 Срд 23:59:30 1592777291
>>1592622
При написании гуев, например.
Ты пишешь какую-то свою фунуцию и подписываешь ее на событие -- нажатие какой-то кнопки, при котором эта функция вызывается. Это очень похоже на функции высшего порядка в ФП (в шарпе кстати и они тоже есть), когда ты делаешь как бы "инъекцию" кастомной логики в более обобщенную логику. Например, в стандартной библиотеке Си есть функция qsort, которая может сортировать массив элементов произвольного типа, если определено отношение < на множестве значений типа. Т.е. сама функция qsort не знает, как сравнивать элементы, ты должен это туда передать. Только там это сделано некрасиво и не типобезопасно через указатели на функцию.
Аноним 06/02/20 Чтв 00:15:36 1592795292
>>1592760
У тебя условие while не выполняется никогда.
Аноним 06/02/20 Чтв 01:14:23 1592830293
>>1592760
Нах два раза переприсваивать переменные? Я плохо знаю синтаксис сишарпа, но как мне кажется, тебе цикл не нужен вообще, ведь значения не будут меняться, нет никакой прогрессии.
Аноним 06/02/20 Чтв 02:08:50 1592854294
>>1592760
У тебя и так они сохранятся
Прочитай про локальные переменные
Аноним 06/02/20 Чтв 05:14:25 1592888295
preview.PNG (104Кб, 1008x514)
1008x514
>>1591308
Двачую. Не учёл, что сперва прогружаются превьюшки. Пикрил.
Но блядь, что за срач я вижу ниже? ОЛОЛОЛОЛОЛ!
Аноним 06/02/20 Чтв 07:07:28 1592897296
>>1592760
Таки да, у тебя условие выхода никогда не выполняется. Ты либо в условии выхода что-то перепутал, либо в формуле расчета.
Можешь просто добавить выход по счетчику, скажем через 10 итераций выходи.
06/02/20 Чтв 08:30:15 1592902297
Аноним 06/02/20 Чтв 08:30:47 1592903298
>>1592316
>>1592506
Пасип за ответы, ну буду ковырять дальше.
Просто имею опыт написания для себя десктопных приложух, даже онлайн игру пилил правда не допилил, точнее то что допилил - оказалось неиграбельным, но там как то меньше всяких нюансов знать нужно, как мне кажется.
Вот вообще суть такая - хочу сделать типа базу данных определённую с веб интерфейсом. Десктопная есть. Там суть что программа считывает данные с бд, и потом уже хранит её в оперативной памяти. А пользователь может её как угодно крутить, фильтровать, графики строить по этим данным. Как вносит изменения - так они в бд сохраняются.
В веб версии, насколько я понимаю, фактически при каждом новом запросе (например применить фильтр) надо снова обращаться к бд на диске. И всякие промежуточные настройки тоже или где то сохранять на диске или каждый раз выгружать на форму в скрытых параметрах, а потом получать назад.
Как бы объяснить..
Вот, допустим, у меня в бд хранится список из 100 строк. Пользователь применил фильтр, осталось 20 строк. Пользователь применяет ещё один фильтр. На десктопной версии я просто применяю его к промежуточному списку из 20 строк, получаю 10 и показываю. В веб версии, фактически, мне надо показывая список из 20 строк ещё и выгрузить параметры первого фильтра, что бы потом получить оба фильтра назад, снова загрузить из бд полный список, к нему применить оба фильтра и показать итоговый результат.
Или есть ещё способы?
Аноним 06/02/20 Чтв 09:28:09 1592930299
>>1592903
Юзай in-memory database. Или по хардкору бери Эрланг или Эликсир, там есть Mnesia, база данных реального времени, которая встроена в язык. Кроме того там есть ETS таблицы, которые хранят данные в процессах, то есть в оперативке, и дают доступ к данным за фиксированное время. Используй что-то готовое, проверенное, иначе ты будешь строить велосипеды с квадратными колесами.
Аноним 06/02/20 Чтв 10:18:02 1592950300
>>1592930
>Или по хардкору бери Эрланг или Эликсир
Не, у меня приоритетная цель - выучить шарп в принципе и асп.нет в частности. Это скорее как портфолио пилю, чем как обязательную задачу.
>Юзай in-memory database
Я как бы могу, конечно, напилить ещё одну програмку, которая будет запускаться параллельно, и с которой мой веб сервер сможет общаться и передавать данные. А та уж пусть решает что хранить в оперативке, а что хранить на диске.
Проблема в другом.
Десктопное приложение априори работает с одним пользователем и в оперативке хранит данные этого пользователя. Веб версия должно быть спроектированно так, что бы с ним могли параллельно работать несколько пользователей. И в данном случае - всё равно как то надо ассоциировать хранимые данные с пользователем. В принципе я делал подобное в онлайн игре, но там клиент тоже был приложением, которому я мог задать логику как передавать данные аутентификации и что б это было не так уж легко взламываемым. А тут.. Короче гуглить надо вот эту аутентификацию через браузер... Сам задал вопрос, сам ответил.
Аноним 06/02/20 Чтв 10:42:12 1592960301
>>1592777
выкати пример, интересно посмотреть
>>1592902
пошла нахуй с борды, селедка
Аноним 06/02/20 Чтв 11:52:03 1593028302
>>1592493
> прочитают от корки до корки, пройдут миллион курсов, но дома даже строчку кода не напишут
Вот, а у меня зеркальная ситуация. У меня дофига своих проектов, я на текущей работе (мало связанной с IT) написал херову тучу разных обвязок и программ для облегчения работы, автообработки данных и прочего. Мне (пока что) доставляет программировать, IDE открыта всегда, достаточно часто мне просто в голову приходит какая-нибудь занятная вещь/алгоритм, и я это реализую сразу же (правда достаточно часто это оказываются велосипеды, врать не буду). Но я не учился на это, никогда не читал никаких книг, не проходил никаких курсов (пробовал разок - это скучно пиздец как).

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

В итоге продолжаю сычевать на своей неайтишной работе, и не понимаю, что делать дальше. То ли читать книжки и ебаться с теорией, хотя мне этого совсем не хочется. Или чистить свой код и вываливать проекты на гитхаб, хотя там всё узкоспециализированное под мою текущую работу. ХЗ короче.
Аноним 06/02/20 Чтв 11:54:11 1593033303
>>1593028
Почти аналогично, только учебник для чайников я читал. Тоже хочу перекатиться в айти, боюсь слива из за незнания каких то специфических терминов или базовых алгоритмов.
Аноним 06/02/20 Чтв 12:39:45 1593074304
Почему в шарпе нельзя нормально перечислениям задать методы и свойства и приходится извращаться с методами-расширения?
Аноним 06/02/20 Чтв 14:12:47 1593250305
>>1593074
Наверно потому что ты долбоёбушка. Пили пример что сделать хочешь, так нихуя не ясно.
Аноним 06/02/20 Чтв 15:34:33 1593362306
>>1593250
Скорее всего там классическая невозможность заоверрайдить ToString для энума.
Аноним 06/02/20 Чтв 16:28:32 1593415307
Сходил на тест. Его писал шиз, который свалил из компании. Такая хуета.
Аноним 06/02/20 Чтв 18:04:46 1593495308
>>1593415
так и пиши - обосрался.
А еще лучше - пиши вопросы, от твоего строчки профита нет, только убытки
Аноним 06/02/20 Чтв 18:57:39 1593580309
>>1592897
Так не получится, в каждом случае нужно будет разное количество итераций
Аноним 06/02/20 Чтв 19:02:16 1593585310
>>1592854
Почему тогда при выводе они другие?
Аноним 06/02/20 Чтв 19:11:41 1593597311
>>1592760
>>1593585
> int fx0 = -1
> while (fx0 > 0)
Чот проиграл немножко.
Аноним 06/02/20 Чтв 19:28:09 1593606312
>>1593362
Лол, нет.
>>1593250
Бля, что не ясного-то?
Вот я сделал енам:
public enum Transport{
car,
bike,
boat,
airplane
}
Я хочу сделать так:
if(user.Transport.IsNeedOil)
{
//какая-то хуйня
}
В джаве я могу прямо в enum сделать все это, тут же я должен отдельно пилить статичный класс с методами расширения.
Что-то типа:
public static TransportExtension{
publc bool IsNeedOil(this Transport transport) => transport!=Transport.bike;
}

И при этом я так и не нашел, можно ли добавить свойство, чтобы ебучие () каждый раз не писать, потому что некрасиво.

Да, этот пример не показателен, но вот представь, что у тебя есть клиент-устройство, у устройств разные версии протокола по которой должен обрабатывать их сервер, какие-то шаги есть у всех версий, какие-то уникальны, в какой-то версии протокола по этому адресу лежит одна информация, в какой-то другая, какие-то пакеты для данной версии протокола требуют подтверждения, какие-то требуют шифрование, довольно удобно вынести версии в перечисление и потом просто что-то типа:
if(cleint.Protocol.IsNeedConformOnRequest()) client.Send(Response.Conform(Request));
//какая-то общая логика обработки запроса
if(cleint.Protocol.IsNeedCipher()) cleint.Response.Cipher(client.SecretKey(), Protocol.CipherAlgorithm());

Да, это все можно расширениями делать, да можно в классы вынести, но блядь, в жаве-то можно было нормально, хули в модном-молодежном шарпе это так заебисто сделано?
Аноним 06/02/20 Чтв 19:35:44 1593608313
>>1593606
Блин, статик забыл в publc bool IsNeedOil но думаю и так ясно.
Аноним 06/02/20 Чтв 19:59:32 1593616314
>>1592960
Я не шарпист, так что конкретного примера не привиду.
Аноним 06/02/20 Чтв 20:00:26 1593620315
>>1593606
Потому что это, блять, перечисление, с какого хуя в нём должны быть методы и свойства? Это не логично и будет путать при чтении такого кода. Вот увидел ты эту хуйню в коде и будешь гадать, что там васян нахуевертил - класс или перечисление.
Аноним 06/02/20 Чтв 20:15:54 1593630316
>>1592960
> выкати пример, интересно посмотреть
Я не он, но вот тебе абстрактный пример:
У тебя есть кнопка, кнопку ты планируешь много где использовать и кнопка, собственно всегда одна и описывается банально:
public class Button : UIComponent
{
public int X{ get; set; }
public int Y{ get; set; }
public bool IsActive{ get; set; }
public bool IsVisible { get;set; }
public Color BackgroundColor{ get; set; }
public Color BorderColor{ get; set; }
public Margin Margin{ get; set; }
...
public void Click(){
//Собственно общая для всех кнопок логика: Кнопочка потемнела, проигралась какая-то анимация, может быть какой-то звуковой сигнал подала, и т.д.
...
Clicked?.Invoke(this, new ClickEventArgs());}
}

И вот ты в своем GUI разместил кнопку, хочешь чтобы при нажатии у тебя миллиард запросов на сервер отправлялось, а данные брались из других компонентов, ты просто подписываешься на событие Clicked и у тебя происходит магия, при этом в сам класс кнопки ты не лезешь, не делаешь отдельную кнопку: SaveButton, не делаешь еще что-то, просто подписался и каждый раз когда жмакаешь кнопку - что-то происходит, потом ты решил, например ты еще при этом хочешь в файлик начать писать, ты просто к этому событию добавил еще одного подписчика, тот метод вообще не трогаешь, а при этом у тебя добавилась новая логика. Удобно.
Другое дело, как я уже говорил, что это очень много нудной работы по созданию всех этих хендлеров, статичные события в нестатичных классах считаются моветоном, и вообще, когда делаешь в небольшой компании и вы не какую-то библиотеку пишете а активно решаете конкретную бизнес-задачу, события отходят на третий план.
Аноним 06/02/20 Чтв 20:36:13 1593659317
>>1593620
Ну смотри, няша, во-первых, окольными путями это таки делается.
Во-вторых, это же удобно. Предложи мне способ более удобный для каких-то более-менее статичных вещей, получать разную логику, не перегружая рабочий код кучей свитчей и ифов? Сделать класс Transport, добавить глобальных констант и из них брать инфу? Не сказал бы что это удобнее, плюс какой-нибудь еблан возьмет и где-то в 1,5кк строк кода создаст новый экземпляр, там все переопределит и потом ищи из-за чего сломалось, тут, даже если добавят в перечисление какой-то новый метод, ничего старого не должно сломаться.
Я же не предлагаю классы заменять. Но опять же, вот ты сделал enum Color, хочешь чтобы Red+Green давало какой-то производный цвет, при этом он брался не из суммы целых, которыми они обозначены, а из (r1+r2, g1+g2, b1+b2), иногда это очень удобно на самом деле. Опять же, в жаве это прямо в enum делается, можешь сразу так вот сделать:

public enum Color{
red(255,0,0),
green(0,255,0),
blue(0,0,255)
;

private final short red;
private final short green;
private final short blue;

Color(short r, short g, short b){
this.red = r;
this.green = g;
this blue = b;}
}
Аноним 06/02/20 Чтв 20:46:29 1593670318
>>1593620
> Вот увидел ты эту хуйню в коде и будешь гадать, что там васян нахуевертил - класс или перечисление.
Да, еще кое-что, в ООП - все, по сути, классы. И на мой взгляд, как раз постоянно разделять: Это класс, это перечисление, это структура, это еще какая-то фигня; запутывает больше.
Аноним 06/02/20 Чтв 20:47:36 1593672319
>>1593659
>во-первых, окольными путями это таки делается.
Окольными путями много чего можно сделать. Ты еще блок unsafe добавь и там хуевертить начни.
>Во-вторых, это же удобно. Предложи мне способ более удобный

Делаешь абстрактный класс Transport, а от него производные. Если что-то переопределять нельзя, то используешь модификатор sealed.

>Я же не предлагаю классы заменять.
Ты предлагаешь мешать перечисления с классами. Это не добавляет коду читаемости, это запутает тебя после того, как ты вернёшься к этому коду через несколько недель.
Аноним 06/02/20 Чтв 20:50:16 1593675320
>>1593670
Структура и класс отличаются по методу хранения в памяти. Перечисление это просто список идентификаторов. Всё распределено и понятно, а у джавистов мало того, что нет структур, так еще и перечисления смешаны с классами.
Аноним 06/02/20 Чтв 20:58:32 1593680321
Аноны, а можно ли сделать override ToString например у int? Не то что бы это было нужно мне, просто интересно, возможно ли.
Аноним 06/02/20 Чтв 21:00:35 1593681322
>>1593680
Нельзя, только метод расширения создавать, назвав ToStr, например.
Аноним 06/02/20 Чтв 21:03:45 1593684323
>>1593681
Да, тоже проверил сейчас. Забавно, что метод расширения можно назвать ToString, и он даже будет отображаться в подсказках, но компилятор его наличие будет молча игнорировать, даже ошибки не выдаст.
Аноним 06/02/20 Чтв 21:12:15 1593690324
>>1593672
> это запутает тебя после того, как ты вернёшься к этому коду через несколько недель.
Когда работал на джаве не запутывало же. А там проектики были побольше чем сейчас на шарпе. А вот сейчас вынужден чтобы рабочий код не превращался в миллиард if'ов, заниматься тем, что писать кучу расширений.
>>1593675
> Структура и класс отличаются по методу хранения в памяти
Я знаю это. Что при этом должно мешать мне наследоваться от структуры? Скажем вот у меня есть struct Point2d, хочу сделать Point3d, отличия будут в одном поле и паре методов, в остальном почти все аналогично, но нет, я должен буду либо сразу пилить point3d и выставлять там z - ноликами, либо копипастить из Point2d
> список идентификаторов
И что мешает списку идентификаторов добавить какие-то свойственные какому-то идентификатору свойства? Опять же, вот для игры:
enum Enemy
{
orc, slime, wolf, warlok, elfArcher
}
Скажи, по твоему удобнее в классе писать:
if(!(enemy == Enemy.warlok|| enemy == Enemy.elfArcher)) rangeAttack(Enemy.warloc l? castSpeel() : shootArrow())
else meleeAttack();
или свичем:
switch(enemy)
{
case Enemy.warlok:
case Enemy.elfArcher:
...
default: meleeAttack(); break
}

чем
Enemy.Attack(), а уже в перечислении ты указал, будет это ближняя или дальняя атака
Делать кучу экземпляров и эти твои фабрики, которые будут мне производить орков, эльфов и т.д. на мой взгляд скорее перегружает код, и запутывает человека, который не страдает паттернами головного мозга.
Аноним 06/02/20 Чтв 21:42:57 1593729325
>>1593690
>Когда работал на джаве не запутывало же. А там проектики были побольше чем сейчас на шарпе.

На фортране с goto тоже проекты на несколько сотен тысяч строк писали и не запутывались. Это не оправдание.

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

То, что структура хранится в стэке, а не в куче. Структуры должны быть легковесны.

>Скажи, по твоему удобнее в классе писать:

Создаешь перечисление AttackType и делаешь соответствующее поле у классов Orc Slime Wolf и т. д.

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

Так пиши сразу на С, зачем тебе вообще ООП, мозг засорять только. Твоя проблема в том, что у тебя хуевая архитектура приложения и ты жалуешься на то, что язык мешает тебе эту хуевую структуру реализовать.
Аноним 06/02/20 Чтв 22:10:41 1593787326
>>1593729
> То, что структура хранится в стэке, а не в куче. Структуры должны быть легковесны.
По твоему если я добавлю одно поле структуре она сразу перестанет быть легковесной? Довольно странный поинт. Ничего не мешает под капотом делать всю магию и на самом деле никакой иерархии и наследования не делать, но мне, как программисту, не хочется писать одну и ту же логику 10 раз из-за отличия в одном поле, а потом отлаживать это дело. Чем меньше кода нужно писать и чем более он унифицирован со стороны разработчика - тем лучше

> Создаешь перечисление AttackType и делаешь соответствующее поле у классов Orc Slime Wolf и т. д.
Чем, блин, это приницпиально отличается-то? Да ничем, только строк кода больше написать придется, а потом искать по всему коду где ты что-то зафакапил, в то время как в данном случае ты, если и зафакапил, то точно знаешь где и за 10 секунд исправишь.
> Так пиши сразу на С, зачем тебе вообще ООП, мозг засорять только
Так я и писал. С 2006 по 2010, примерно. Проблема Сишечки в том, что платят, за такую работу, мало. После вуза еще нормально казалось, но сейчас я бы не стал заниматься поиском того почему во флеш-память нули записались, хотя я писал структуру и хуй пойми, это я где-то обосрался или китайцы с железкой.
> Твоя проблема в том, что у тебя хуевая архитектура приложения и ты жалуешься на то, что язык мешает тебе эту хуевую структуру реализовать.
Нормальная у меня архитектура: гибкая, расширяемая и при этом если что-то кто-то сломает, сразу легко локализировать проблему. Если же у тебя есть какая-то иерархия, плюс в базовом классе какая-то логика, то на поиск конкретного места, где что-то пошло не так, может полчаса уйти, даже если ты все-все-все логируешь.
Аноним 07/02/20 Птн 05:34:50 1593960327
>>1593729
>структура хранится в стэке, а не в куче
Доказать можешь? Ты ведь откуда-то это взял, значит где-то прочитал. Где?
Аноним 07/02/20 Птн 10:34:28 1594056328
>>1593630
>ты просто подписываешься на событие Clicked
это и есть паттерн publisher-subscriber ака события в C#
Аноним 07/02/20 Птн 10:59:30 1594075329
>>1593960
Это основы различия value type от reference type. Структура это value type
Аноним 07/02/20 Птн 11:26:48 1594097330
77.jpg (257Кб, 520x438)
520x438
>>1593690
>Скажем вот у меня есть struct Point2d, хочу сделать Point3d, отличия будут в одном поле и паре методов, в остальном почти все аналогично,
Лол нет, это принципиально разные сущности, лучше одно от другого не наследовать.

>либо копипастить
В чем проблема?

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

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


Аноним 07/02/20 Птн 11:28:27 1594099331
15798913824070.jpg (80Кб, 540x533)
540x533
>>1593787
>как программисту, не хочется писать одну и ту же логику 10 раз из-за отличия в одном поле
Расскажи о логике хранимой у тебя в структуре Point2d ?
Аноним 07/02/20 Птн 15:23:43 1594256332
>>1594075
Не всегда, о обычно. И это не главное отличие, а деталь реализации.
Аноним 07/02/20 Птн 15:24:36 1594257333
>>1594075
Про различия этих типов я знаю. Но я не могу въехать в то как хранятся структуры в стеке. Как функции живут в стеке я понимаю. Есть стековые кадры и прочее. А как структуры не могу понять. Где можно об этом почитать?
Аноним 07/02/20 Птн 15:25:13 1594259334
>>1594099
Не пости такие пикчи. Будь человеком.
Аноним 07/02/20 Птн 16:04:52 1594280335
66.jpg (205Кб, 520x450)
520x450
>>1594257
> Но я не могу въехать в то как хранятся структуры в стеке. Как функции живут в стеке я понимаю. Есть стековые кадры и прочее. А как структуры не могу понять. Где можно об этом почитать?
Ты контуженный или что?
Ну структура допустим int32 double byte
4+8+1 = 13 байт.
Вот блядь берем, и пушим эти 13 байт в стек, в чем проблема? Что тебе непонятно в этом?
Аноним 07/02/20 Птн 16:42:44 1594307336
>>1594280
Как при раскрутке стека это все хранится и используется?
Аноним 07/02/20 Птн 16:49:53 1594314337
>>1594307
>Как при раскрутке стека это все хранится и используется?
Так же как и обычные переменные, отличия никакого нет.
Аноним 08/02/20 Суб 02:11:27 1594954338
Этот тред для тех, кто хочет освоить язык для лоботомированных дебилов устаревший в момент его создания.
Аноним 08/02/20 Суб 02:14:00 1594955339
Аноним 08/02/20 Суб 04:10:47 1594996340
Безымянный.jpg (7Кб, 395x47)
395x47
Подскажите можно ли в Windows Forms в CheckBoxList сделать больше 1 чекбокса для каждого элемента в списке? (пример на картинке, слева как есть, справа как хочу)
Аноним 08/02/20 Суб 04:12:57 1594997341
>>1594996
Нахер зайцу пятая нога?
Аноним 08/02/20 Суб 04:41:37 1595001342
>>1594997
Хочу мониторить элементы в CheckListBox, 1 состояние не позволяет пометить элемент для разных условий (например первый чекбокс просто добавляет в список отслеживания, второй указывает надо ли совершать какие либо действия)

Аноним 08/02/20 Суб 04:45:07 1595004343
>>1595001
Добавлю, я мог бы с 1 полем добавить в разные списки элементы в несколько проходов в ручную, но но я хочу сделать наглядно и просто, с возможностью в любой момент поменять значения у элементов без надрачивания кнопок
Аноним 08/02/20 Суб 04:51:30 1595008344
>>1586030 (OP)
Нужно ли совать try-catch во все методы, или достаточно пихнуть его только в основной, из которого они вызываются?
Аноним 08/02/20 Суб 08:45:24 1595043345
>>1595008
try-catch очень трудоемкий процес. Так что желательно пихать его в верхние слои приложения, чтобы не вызывать каждую секунду. Или делать стейт отлавливатель ошибок.
А еще лучше возьми хороший проек/библиотеку и посмотри как там сделано, чтобы не слушать анонов с двача
Аноним 08/02/20 Суб 08:55:56 1595045346
Аноны всем привет. Кто-нибудь работал с ResetEventSlim?
Суть такова:
Вызывается метод GetState, запускается таск с подпиской на приходящие уведомления о новых состояниях, как только в StateReceived поступит нужное состояние, в StateReceived вызывается ResetEvent.Set();

private State GetState()
{
CurentState = null;
new Task(() =>
{
agent.Received += StateReceived;
}).Start();

ResetEvent.Wait();

agent.Received -= StateReceived;

return CurentState;
}

Пару вопросов:
При повторном использовании программа вылетает без ошибки.
Иногда при работе с другим классом вызывается данный таск.
Как быть? Как можно улучшить данный говнокод?.
Аноним 08/02/20 Суб 09:58:32 1595059347
Аноним 08/02/20 Суб 09:59:54 1595061348
Аноним 08/02/20 Суб 11:18:13 1595092349
>>1595045
Зачем ты вынес подписку в отдельный таск?

> программа вылетает без ошибки
Очень маловероятно. Попробуй писать лог для AppDomain.CurrentDomain.UnhandledException, и можешь подписаться еще на AppDomain.CurrentDomain.FirstChanceException, если ты где-то наебался с catch'ами.
>Иногда при работе с другим классом вызывается данный таск.
Чего бля? Если не надо, не вызывай.
>>1595045
>Как можно улучшить данный говнокод?.
Лучше б описал, что а задачу ты решаешь этим кодом
Аноним 08/02/20 Суб 11:36:03 1595103350
>>1595092
мне нужно реагировать на разные состояния которые приходят из agent.Receive, а точнее EventHandler<State> Receive.
Вынес в отдельный таск так как в нем крутится ожидание нужного состояния:
private void StateReceived(object sender, State e)
{
if(e == State.Ready)
{
IsReady = true;
ResetEvent.Set();
return;
}
}

>Чего бля? Если не надо, не вызывай.
Вызывается из другого класса, так как другой класс так же работает с состоянием
Аноним 08/02/20 Суб 11:48:10 1595116351
>>1594996
В каком списке? ListViev? https://www.codeproject.com/Articles/9188/Embedding-Controls-in-a-ListView . А вообще кастомизация контролов форме это боль. Если нужно что-то не стандартное пили на wpf. Еще можешь попробовать через datagridview, у него есть поддержка колонок с чекбоксами.
Аноним 08/02/20 Суб 11:48:57 1595117352
>>1595092
Короче. Напишу полностью, а код псевдоязыком, так быстрее и понятнее будет.

У меня есть собственная Web Api, которую я сейчас пишу. Она через мною написанного посредника вызывает библиотеку api одного сервиса.
В этом посреднике, есть методы которые стучат в библиотеку api одного сервиса.
Когда посредник стучит "api одного сервиса" он возвращает состояние, по типу: готов, не готов, уже готов.
Мне и нужно чтобы посредник возвращал, выполнен ли метод, по вызову библиотеки api одного сервиса, успешно.

К примеру:
В мою Web Api стучат по данному адресу: https://localhost:/Initialize
Web Api обращается к моему посреднику через: public async Task<bool> CheckReady
Сам посредник стучит в стайт у себя GetState()
Потом в методе посредника public async Task<State.Ready> CheckReady смотрит какое состояние пришло: var state = GetState() и смотрит что пришло: if (state is State.Ready) return true
Аноним 08/02/20 Суб 11:56:25 1595123353
>>1595103
> реагировать на разные состояния
Ну напиши через свитч, вызов нужного обработчика на конкретный стейт. Я в похожей ситуации делал менеджера с методом RegisterListener<StateType>(action<stateType>) и менеджер разруливал когда кого вызывать.
>Вынес в отдельный таск так как в нем крутится ожидание нужного состояния
Ничего там не крутится.Таска только делает подписку, и на этом всё. StateReceived вызывается событием, соотвестсвенно, выполняется синхронно в потке, в котором вызывается событие.
>Вызывается из другого класса, так как другой класс так же работает с состоянием
Не понятно. Если ты теребонькаешь один и тот же ресетевент, то чего ты ожидаешь?
Аноним 08/02/20 Суб 12:08:25 1595134354
>>1595123
а есть кусочек примера менеджера?

>Не понятно. Если ты теребонькаешь один и тот же ресетевент, то чего ты ожидаешь?
Используется в каждом классе свой ресетевент. В классе посредника свой, в классе получение инфы свой.

То есть надо создать что-то типа такого:

public async Task<State> RegisterListener<StateType>(action<stateType> callBack, State waitState)
{
var state = Как из agent.Received взять нужный стейт?
if (state is waitState.type()) callBack();
}

Это понятно, но как мне ожидать и получать от agent.Received нужный мне стейт?
Аноним 08/02/20 Суб 12:24:06 1595161355
>>1595117
https://pastebin.com/8bGJcH6X
так?

>>1595134
>а есть кусочек примера менеджера?
https://pastebin.com/PwnzmdRd - хуйня для хранения обработчиков (не помню, почему я лочил вручную, а не использовал конкурентдикшинари, возможно просто проебался)
https://pastebin.com/9xsVNfNt - хуйня которая получает сообщения

>>1595134
>Это понятно, но как мне ожидать и получать от agent.Received нужный мне стейт?
Тебе надо повторять запрос, пока одноапи не вернет рэди?
Аноним 08/02/20 Суб 12:28:31 1595173356
14060607257298.jpg (37Кб, 456x367)
456x367
>>1595161
ОГО! Спасибо огромное, с меня как обычно
>Тебе надо повторять запрос, пока одноапи не вернет рэди?
Нет. В начале при старте и инициализации agent и подписки на agent.Received присылаются пара стейтов примерного типа: StateReadyInialize, StateStartInitialize
И как только пришли данные стейты нужно сразу реагировать и инициализировать библиотеку стороннего апи
Аноним 08/02/20 Суб 13:53:21 1595236357
>>1595173
так я нашел лучшее решение. rxjs для net. Прям то что нужно, осталось пару вещей прикрутить и будет самое то. Но все равно спасибо анон за примеры, очень выручил
Аноним 08/02/20 Суб 14:33:02 1595333358
>>1586030 (OP)
Недавно понял что хочу вкатиться в геймдев. Сейчас раздумываю над карьерой. Понятно что я нуб.
Но как цель я вижу себя работающим с играми на юнити, благо он популярен.
И я знаю что для работы с юнити нужно знание си Шарп.
А для знания си Шарп лучше всего перед этим выучить си/си++, чтобы знать основы.
Хочу пойти в мой областной госунивер для переподготовки. Год занятий, знания, знакомства в айти сфере, официальная бумажка о переподготовке.
Естественно, я понимаю что мне нужно и самому учиться. И свои какие то проекты делать.
Просто хочу узнать насколько жизнеспособен мой план?
Аноним 08/02/20 Суб 15:27:55 1595419359
Зачем может понадобиться вот это:
if (obj is var _)
{
// Делать что-то.
}
Аноним 08/02/20 Суб 15:32:36 1595432360
>>1595419
Не за чем. Если только как плохой пример использования пустых переменных
Аноним 08/02/20 Суб 15:34:26 1595434361
>>1595432
Бля, хотел добавить выразительности, написав по слогам, а получилось как будто даун написал.
Аноним 08/02/20 Суб 16:46:30 1595511362
1. В чём разница между Hashtable и Dictionary<object, object> ?

2. Что будет, если использовать в Hashtable ключи типа Long, и попытаться добавить две пары ключ-значения, в которых ключ будет разным значением Long, но иметь одинаковый HashCode()?

3. Что будет в случае из п.2 для Dictionary?
Аноним 08/02/20 Суб 17:14:12 1595536363
Почему ReferenceEquals = false в данном случае?

int x = 5;
ref int y = ref x;
ref int z = ref x;

Console.WriteLine( object.ReferenceEquals( y, z ) );
Аноним 08/02/20 Суб 17:52:27 1595568364
>>1595511
>Hashtable и Dictionary
Это же устаревшие коллекции, не?
Аноним 08/02/20 Суб 18:32:16 1595605365
>>1595568
Вместо hashtable лучше использовать HashSet<T>, Dictionary<K,V> полностью актуален. Но вопрос скорее про принципиальные различия, а не про конкретные классы библиотеки.
>>1595536
Молодой человек, у вас структуры упаковались.
Аноним 08/02/20 Суб 19:31:37 1595664366
Аноним 08/02/20 Суб 22:00:03 1595828367
Объясните тупому зачем нужны делегаты. В идеале с примером для дурачков. Спасибо.
Аноним 08/02/20 Суб 22:05:48 1595831368
>>1595828
обсосанная 101 раз тема. Гугли паттерн Publisher-subscriber и смотри какие задачи он решает.

Вопрос к анону про использование асинхронных методов. Есть клиент-серверное приложение. На каком этапе нужны асинхронные методы:
1. На серверной (business model)
2. На клиентской (controller)
3. И там и там.
Спасибо
Аноним 08/02/20 Суб 22:25:16 1595853369
В чём отличие int.Parse() от Convert.ToInt32()?
Аноним 08/02/20 Суб 22:57:17 1595884370
Аноним 08/02/20 Суб 23:02:22 1595887371
Аноним 08/02/20 Суб 23:11:40 1595891372
>>1595887
пиздец, referencesource.microsoft.com
посмотри там свои коллекции, узнай как они решают коллизии
Аноним 08/02/20 Суб 23:13:39 1595893373
Начал писать веб-приложение на связке Net. и React.
Начать с Net.4 или сразу с Net.Core? В этом году, с выходом Net.5 разделения уже не будет же.
Аноним 08/02/20 Суб 23:14:08 1595895374
>>1595828

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

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

Другое применение - сигнализация о событиях.
event - это сахарок над делегатом, который обеспечивает потокобезопасное добавление\удаление методов, а также ограничивает доступ до собственно добавления и удаления.
Аноним 08/02/20 Суб 23:26:03 1595907375
>>1595043

try бесплатен если нет исключения.

Конечно, чем выше по стеку ловишь, тем лучше.

Но надо учитывать, что у MS в их стандартном API исключение потенциально может кинуть любая операция, небо, земля и Аллах.

Поэтому надо смотреть - где ошибка допустима и можно продолжать, там тоже ловить, вместо того чтобы тупо падать.
Аноним 08/02/20 Суб 23:32:10 1595909376
>>1595419

Это проверка типа с последующим кастом в этот тип

interface IA { }
class B : IA { }

void test()
{
B b = new B();
if(b is IA a)
{
a. // a приведено к типу IA
}
}

Альтернатива:

IA a = B as IA

Если B не имеет нужный тип, то результатом будет null
Аноним 08/02/20 Суб 23:38:00 1595912377
>>1595853

Небольшая разница в поведении - методы Convert не кидают исключение от null на входе (но по прежнему могут кинуть если значение не парсится)

TryParse вообще не кидает исключений ни в каком случае. Лучший (единстенный разумный) вариант, когда надо много парсить, т.е. не упарывается производительность
Аноним 08/02/20 Суб 23:39:28 1595914378
>>1595893
>с выходом Net.5 разделения уже не будет
Пока что Net.Core, в отличие от Net.Framework, не позволяет работать с офисом (excel, word и т.п.). Подключить например Microsoft.Office.Interop.Excel для работы с объектами Excel в net.core нельзя.
Когда это исправят? В Net.5? Раньше? Или никогда?
Аноним 08/02/20 Суб 23:53:38 1595927379
Аноним 08/02/20 Суб 23:58:08 1595935380
>>1595893

Net 5 будет на базе NET Core

NET 4.x это легаси, они его будут поддерживать, но не будут развивать. Он уже не поддерживает новый Net Standard.

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

А вообще заебали они, мусорная свалка вместо экосистемы.
Аноним 09/02/20 Вск 03:25:15 1595990381
>>1595914
Epplus для excel, с вордом не работал
Аноним 09/02/20 Вск 03:27:32 1595991382
>>1595935
Сделали бы что-нибудь вместо xamarin
Аноним 09/02/20 Вск 07:43:05 1596027383
Анон помогите, а то туплю сильно.
Нужно записывать в json новый пришедший объект и добавлять в json как массив:
[
{
Name: 1
Id: 0
}
]
Пришел новый объект и добавлять его к старому в json
[
{
Name: "AA"
Id: 0
},
{
Name: "BB"
Id: 1
}
]

Как быть?
Аноним 09/02/20 Вск 08:45:04 1596037384
>>1595333
>А для знания си Шарп лучше всего перед этим выучить си/си++, чтобы знать основы.
Ебу дал? Сразу шарп учи, качай книжки из шапки и пиздуй на ulearn.
Аноним 09/02/20 Вск 10:03:54 1596080385
>>1596027
Читаешь старый жейсон, записываешь новый. В чем конкретно проблема? В шарпе 100% должен быть парсер жейсона встроен.
Аноним 09/02/20 Вск 10:19:14 1596083386
>>1596080
как перый элемент записать как элемент массива,
как добавлять новый элемент в массив json. Ведь читать, парсить в list и обратно записывать, очень дорого стоит. Есть более оптимальные пути?
Аноним 09/02/20 Вск 10:22:53 1596086387
Аноним 09/02/20 Вск 10:48:51 1596101388
>>1596083
>list
В шарпе не в коллекции объекты парсится?

>очень дорого стоит
Памяти? Какой размер жейсона у тебя?

Поясни свой юзеркейс.
Аноним 09/02/20 Вск 12:56:28 1596149389
>>1596083

Экономия на спичках, по-моему.

Можно хранить десериализованный список в памяти, и только сбрасывать его в json при изменении.

Можно упороться и не десериализовывать существующий json, а сериализовывать новый объект и руками дописывать текст.

Все упираяется в то, что юзкейс неясен
Аноним 09/02/20 Вск 12:59:18 1596150390
Аноним 09/02/20 Вск 13:05:25 1596152391
>>1595990
Это сторонняя поделка, которую вполне могут прекратить развивать.
У которой к тому свой собственный синтаксис, отличный от объектной модели excel'я. Если надо какую-то хитрую хуйню в екселе сделать - делаешь вручную, записывая макрос, и получаешь все ответы. Со сторонней хуетой вместо этого будешь сутками курить мануалы.
Ну и в целом учитывая объём функционала Excel'я и тонких особенностей поведения, что-то слабо верится, что всё это будет работать нормально, если задача будет чуть шире, чем вставить неформатированные данные в ячейки.
Аноним 09/02/20 Вск 13:14:39 1596159392
15397846649820.jpg (17Кб, 452x339)
452x339
Вопрос по Листам List<T>.
Как находить объекты в листе, если он изменился по наполнению (что-то удалилось, что-то прибавилось)?

Например: у меня есть "объект1".
Я добавил его в "Лист1", в котором было уже 4 других объекта. Т.е. индекс "объект1" в листе будет 5.

Теперь я удаляю какой-то объект из тех четырех из листа, порядок объектов по индексу в листе ведь меняется. Как мне теперь отыскать "объект1"?
Аноним 09/02/20 Вск 13:22:23 1596165393
dwe00234g04.gif (13Кб, 154x218)
154x218
>>1596159
>Как мне теперь отыскать "объект1"?
Этот объект чем-то уникальным среди остальных объектов выделяется?
ДА :- ищи по этом уникальному свойству.
НЕТ :- в твоей архитектуре этот объект ненужен.
Аноним 09/02/20 Вск 13:23:34 1596166394
>>1595927
Это работает и на нет.кор 3.1. Спасибо.
Аноним 09/02/20 Вск 13:34:10 1596173395
>>1596159

По обычному списку можно искать только перебором и сравнением.

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

Если ключ - сложный объект, придется пердолиться либо с IEqualityComparer, либо оверрайдить Equals и GetHashCode. Лучше так не делать
Аноним 09/02/20 Вск 13:39:18 1596178396
>>1596101
>В шарпе не в коллекции объекты парсится?
Приходится делать костыль в виде новой коллекции и туда добавлять элемент. Это если в файле ничего нету, а объект надо сохранить как элемент массива.

>Памяти? Какой размер жейсона у тебя?
Где-то 10-15 объектов с 6 свойствами. 1 свойство лонг, 3 стринговых и 2 int. Это чудо парсится на сервере и передается в виде строки пользователю, там строка парсится в объект опять.
Аноним 09/02/20 Вск 13:43:25 1596181397
>>1596037
Нужно знать основы C/C++. Не в смысле уметь применять детали последних стандартов. Но какую-нибудь книгу из серии "Освоить за 21 день" надо почитать и поделать примеры/упражнения.
Байтоёбство, управление памятью, указатели на указатели на указатели. Без этого в ряде аспектов ты в шарпе сможешь работать только как макака на интуиции, без понимания.
Аноним 09/02/20 Вск 13:52:35 1596189398
>>1596181
Всё нужное объясняется в книгах по шарпу. То что ты там "выучил" из книги Освоить за 21 день, забудится через 21 день и никакой пользы не принесёт, только запутать может.
Аноним 09/02/20 Вск 14:08:45 1596203399
>>1596189
В книгах по шарпу даётся объяснение на словах. И потрогать ты можешь всё это только в трёх презервативах через много слоёв абстракции.
По учебникам по С/С++ можно позапускать примеры или упражнения оттуда и потрогать указатели и память, как она есть.
Аноним 09/02/20 Вск 14:42:58 1596229400
unnamed.jpg (61Кб, 512x341)
512x341
>>1596203
этот все верно говорит. Без С и C++ в решетках делать нечего. А еще лучше - Assembler (низы низов, так сказать). Если хотите копнуть глубже и вы харкорщик - бинарный код. Вот, чем можно удивить на собесе и вывалить на стол на качалку докторской колбасы. Он тебе про преобразование виртуальных полей в CLR, а ты ему ряд из нулей и единиц. Сразу поймут, что ты человек серьезный и больше спорить с тобой не будут.
Вообще не понимаю всех этих пидарских новомодных решеток, когда есть старые, добрые, проверенные временем так сказать, Cobol и SmallTalk (без последнего ООП не осилишь никогда).
Поэтому да, бросайте эти ваши решетки, где 99% кода делает IDE и разбирайтесь в низкоуровневых вещах.
Аноним 09/02/20 Вск 14:48:26 1596236401
Сука ебанный blazor. Как загружать данные VM до того как view загрузилась и делать это асинхронно? OnInitializedAsync не работате, страница зависает.
Аноним 09/02/20 Вск 15:12:51 1596261402
>>1596229
>преобразование виртуальных полей в CLR
И опять пук в лужу. В С++ тебе на первых 100 страницах любого учебника расскажут, что такое vtable, как оно устроено и как работает.
В решеточке макаке расскажут, что не надо париться, там внутренняя магия, написанная серьезными дядьками на С, сама за тебя всё сделает.
Аноним 09/02/20 Вск 15:35:04 1596284403
>>1596178
>Где-то 10-15 объектов с 6 свойствами. 1 свойство лонг, 3 стринговых и 2 int. Это чудо парсится на сервере и передается в виде строки пользователю, там строка парсится в объект опять.
Так тебе стримить нужно клиентам новый жесон челе?
Ну ебана, парси просто символы прямо из стрима, если хочешь оптимизировать всё до упора.
Аноним 09/02/20 Вск 15:38:25 1596289404
binary-code-298[...].jpg (309Кб, 960x678)
960x678
>>1596261
>И опять пук в лужу
>В С++
Ты понимаешь хоть как vtable отдает нативные команды процессору? Как кеширование и преобразования в двоичный код происходит? Ты на ассемблере сможешь пояснить за твои витруальные таблицы?
Без этих знаний ты такой же пустоголовый погромист, который работает с абстракциями, как и решеточники. Грош цена твоим знаниям.
Аноним 09/02/20 Вск 15:42:13 1596297405
>>1596284
Да. Клиенту приходит json стринг и нужно его превратить в объект
Аноним 09/02/20 Вск 16:14:43 1596350406
изображение.png (791Кб, 640x640)
640x640
Сел писать веб-приложение для саморазвития, резюме и карьерных перспектив. Есть старые туториалы для .Net 4.7 (включая Entity Framework 6 и ASP.NET MVC), есть новые для .Net Core (ASP.NET Core + Entity Framework Core).
Насколько я понимаю, разница не особенно критична, и в резюме работа с Core будет смотреться интереснее, а разобраться со старыми версиями, если на новом месте будет легаси-код, будет не сложно. В свете ожидания .Net 5, думаю, лучше будет сразу написать приложение на Core, верно?
Аноним 09/02/20 Вск 16:30:31 1596366407
>>1596350
Конечно Core. Но будь готов к жопе, ибо множество библиотек еще не перешло на core и внутренние вещи еще не допилены, а компании не готовы пока переносить свой старый рабочий код. Так что дилемма и надо знать все
Аноним 09/02/20 Вск 16:36:51 1596374408
>>1596350
Присоединюсь к вопросу. Тоже думаю, стоит ли в своих самообучающих проектах переходить на кор?
Вот это вот имеет какое-то значение для учебных целей?
Может быть такое, что макака умеющая в кор, не сможет в фреймворк? Или наоборот?
Аноним 09/02/20 Вск 17:29:28 1596437409
Давайте набежим в МВП тред и будем шарп форсить и унижать там всех!
Аноним 09/02/20 Вск 17:39:57 1596449410
>>1596437
давай ты нахуй сходишь, быдло. Ок?
Аноним 09/02/20 Вск 17:54:27 1596473411
image.png (5Кб, 891x53)
891x53
Анончики, помогите идиоту, как сделать чтобы текст бокс принимал записи такого типа т.е как математические формулы, ибо через парс не выйдети не должно, а по другому я не могу найти как это сделать
Аноним 09/02/20 Вск 19:23:27 1596513412
Аноним 09/02/20 Вск 19:42:20 1596528413
>>1595907
Вообще-то нет, не бесплатен.
По факту он чуть дороже if блока, при условии что не вылетает исключения иначе дороже в 10000 раз (цифра примерная, возможно в реальности все куда хуже).

>>1596473
Искать библиотеки которые за тебя будут это парсить, либо делать все ручками.

>>1596289
Эти знания не несут практической пользы для 99.8% программистов, они больше академические.
Аноним 09/02/20 Вск 19:44:59 1596533414
>>1596473
В смысле принимал? Если ты хочешь чтобы в такой форме можно было представлять данные, а потом вычислять, то гугли про конечные автоматы и как их использовать при синтаксическом анализе. Если коротко: делаешь словарь лексем, затем разбиваешь "текст" на "слова", кладешь числа в стек с числами, операторы в зависимости от приоритета в стек с операторами, потом достаешь из стека число, оператор и еще одно число, результат операции кладешь на вершину стека. В конце, если запись была валидной, у тебя в стеке с числами должно остаться одно число, оно и будет результатом вычисления.
Аноним 09/02/20 Вск 20:06:40 1596573415
>>1596473
Насчет этого поста >>1596533, с алгоритмом я немного напутал, давно уже это было. Суть, гугли алгоритм вычисления с помощью обратной польской записи. Там одного стека достаточно, ну и изначально проверить чтобы в строке только валидные символы были, которые ты умеешь обрабатывать.
Аноним 09/02/20 Вск 20:10:39 1596577416
>>1596573
Спасибо, попробую почитать
Аноним 09/02/20 Вск 21:17:59 1596641417
Поясните, MVC .NET Core будет работать из коробки на линуксе через моно?
Аноним 09/02/20 Вск 21:20:34 1596644418
Аноним 09/02/20 Вск 22:12:15 1596729419
Антоны, у меня есть необходимость кучу файлов распарсить в папкеИх реально много, больше 100к, каждый нужно открыть, вырезать из него знаки табуляции, перезаписать, скопировать текст и потом сделать Distinct.
С одним потоком я знаю как, а вот как в нескольких потоках это сделать, пока есть идея только разделить заранее файлы по количеству доступных потоков и в каждом все делать отдельно.
Аноним 09/02/20 Вск 22:28:38 1596761420
>>1596729
>есть идея
делай, потом приходи и скидывай результат
Аноним 09/02/20 Вск 22:46:12 1596784421
>>1596729
Что мешает просто для каждого файла в папке сделать таск в таск передавать файл, там уже делать то что тебе надо?
Аноним 09/02/20 Вск 22:48:11 1596787422
dwe00234g09.gif (50Кб, 324x414)
324x414
>>1596513
>бамп
>>1595831
> На каком этапе нужны асинхронные методы
Для чего нужны?

Ты лабу делаешь, или тебе за это деньги платят? Если платят, то я могу 10ток таких как ты заменить.

Это я к чему, архитектура у тебя какая? Задачи какие решаешь? Всё зависит исключительно от конкретного юзкейса.
Сервер ты скорее всего хочешь асинхронный делать, но это не всегда так.
Аноним 09/02/20 Вск 22:56:11 1596805423
>>1596787
>Ты лабу делаешь, или тебе за это деньги платят?
я смотрю ты далек в развитии проектов
>Если платят, то я могу
Высрать 3 строчки флуда и еще 3 беспонтовых советов. Такого рода совет я мог у любого бездарного мимо_ойтишника ака манагера получить
Аноним 09/02/20 Вск 22:57:49 1596809424
>>1595831
Асинхронные методы нужны там, где выполнение метода может задержаться из-за необходимости долгих вычислений, либо из-за ожидания стороннего ресурса. Т. е. ответом будет - и там и там.
Аноним 09/02/20 Вск 23:15:15 1596842425
.png (148Кб, 1920x1080)
1920x1080
.png (92Кб, 1920x1080)
1920x1080
.png (153Кб, 1920x1080)
1920x1080
>>1596729
Думаю по примеру ты разберешься.
Аноним 09/02/20 Вск 23:16:42 1596844426
>>1596805
Ты чего на ровном месте разорвался?
Джавашизик ты?
Аноним 09/02/20 Вск 23:17:36 1596847427
>>1596809
спасибо, уже разобрался с этим. Как на серверной стороне, так и на клиенской (в виде аутентифицированных пользователей) создается стек запросов, который пополняется и выполняется поочередно не затрагивая основной поток
Аноним 09/02/20 Вск 23:45:26 1596877428
>>1596842
Оу, не ждал такого быстрого ответа.
Но я реализовал по другому, так как помнил, лол.
Сделал через дочерние таски с флагом longrunning.
И все сработало в итоге, не ожидал, что мой аутизм окажется плодотворным
Аноним 09/02/20 Вск 23:59:31 1596895429
>>1596784
Ты чего там, хочешь, чтобы у меня 183к тасков на компе было?
Я взял один list из fileinfo, поделил его на 6 частейколичество ядер процессора и передал их дочерним таскам.
Просто помню, что longrunning может обрабатываться в другом потоке
Аноним 10/02/20 Пнд 00:03:01 1596899430
>>1596895
> 183к
Будто это много, лол.
Аноним 10/02/20 Пнд 01:04:16 1596963431
>>1596528
>не несут практической пользы
диды на паскале писали, на каболе писали, на фортране, мать его, писали. Какой ты погромист, если дидов не уважаешь? Так, конструктор типа в бинарный код, на бумажке. Потом будем побитовые сдвиги делать и переводить обратно в ассемблер.
Аноним 10/02/20 Пнд 01:17:16 1596972432
>>1596963
Звучит как "Это классика, знать надо" и "Не мы придумали традиции, не нам их и отменять".
Аноним 10/02/20 Пнд 01:36:44 1596980433
hqdefault.jpg (11Кб, 480x360)
480x360
>>1596972
Собралась тут значит, перхоть. МОЛЧАТЬ. Чем Cobol отличается от APL? Какой код в Assembler делал возврат к циклу? Это знать нужно. Это классика блять.
Аноним 10/02/20 Пнд 04:34:26 1597009434
>>1596980
Заебали вопросы из собеседований палить. Мне теперь новые придумывать
мимо HR
Аноним 10/02/20 Пнд 09:29:46 1597034435
Если есть Х классов, которые в той или иной мере между собой схожи (например у всех есть интерфейс INotifyPropertyChanged), стоит ли запиливать иерархию базовых классов, если конечные классы кастить не нужно? То есть базовые классы нужны только чтобы код не дублировать.
Аноним 10/02/20 Пнд 11:56:36 1597095436
>>1597034
Винеси в статик класс хелпер
Аноним 10/02/20 Пнд 12:12:39 1597099437
>>1597095
Как именно?
Можно на примере того же INotifyPropertyChanged
Аноним 10/02/20 Пнд 13:02:20 1597132438
>>1597099
Скинь код свой, че-то может вийдет.
Но наследование всегда плохо.
Аноним 10/02/20 Пнд 18:54:25 1597431439
>>1597132
Скидывать не буду - там такая каша, что я сам уже не разбираюсь. Я не знаю, что хочу, постоянно порываюсь переделать, думая что ща станет лучше, поэтому пиздец. Тем более я учу по чуть-чуть, наскоками, так что сам понимаешь.
Я думаю, как поступить - сейчас у меня "концепция" из кучи похожих между собой классов - например все реализуют INotifyPropertyChanged и у всех есть свойство Name, но не у всех есть сеттер. Мне казалось очевидным запилить базовые классы, но это развесистое дерево, и использовать базовые классы я не собирался, поэтому висеть они будут мертвым грузом. Алсо мне не нравится постоянно лезть в иерархию. Это, конечно, мои ньюфагодебилопроблемы, но как-то так.
Аноним 10/02/20 Пнд 19:24:52 1597452440
Короче, был класс, вышел на 1,5к строк. Я как не пытался придумать как его декомпозировать, ничего не придумал лучше, чем порезать его на partial, разделив более-менее на функцие которые каждый кусок выполняет. Так вот, сильно ли это плохо? Типа это же, по сути, запихивание под ковер пыли. С другой стороны, а как декомпозировать-то конечный этап обработки пакетов? Типа вот пакет регистрации, вот пакет сохранения файла, вот пакет передачи инфы о клиенте. Я хз, потому просто покрамсал как раз на MessageHandler.SaveFile, MessageHandler.Registration, MessageHandler.Auth, а в обычном MessageHandler просто свитчем ебанул какой метод на какой пакет выбирать. Хз короче.
Аноним 10/02/20 Пнд 20:10:39 1597491441
Помогите с регекспом. Как мне прописать условие или символ, например, '#', или начало строки. Пример

#abc - йеп
abc - йеп
vabc - ноуп
Аноним 10/02/20 Пнд 20:20:35 1597495442
Аноним 10/02/20 Пнд 20:24:01 1597497443
Аноним 10/02/20 Пнд 21:12:00 1597539444
>>1597452
У нас были 2 некомпилирующихся проекта, 75 классов, 5 DI контейнеров, UML диаграмма и целое множество сущностей всех сортов и расцветок, сиглтон, а также фасад, адаптер, бридж, чистый SOLID, как он есть и 2 абстрактные фабрики. Не то чтобы это был необходимый запас для хорошего проекта, но если начал собирать проект, становится трудно остановиться. Единственное, что вызывало у меня опасение — это сиглтон. Ничто в мире не бывает более беспомощным, безответственным и порочным, чем абуз сиглтона. Я знал, что рано или поздно мы перейдем и на эту дрянь.
Аноним 11/02/20 Втр 08:39:27 1597773445
>>1586030 (OP)
Как засунуть изменённые значения массива, внутри словаря находящегося - в другой массив,
да так, чтобы не изменять значения в изначальном массиве, который по ключу в словаре?
Аноним 11/02/20 Втр 09:00:18 1597782446
Аноним 11/02/20 Втр 10:13:51 1597812447
на раз-два... анон, есть два месяца на перекат (дальше выгоняют на улицу).

Помоги построить роадмапу изучения С# на эти 2 месяца, чтобы сразу вкатиться в серьезный дев. Но именно на серьезном уровне, чтобы в легкую проходить собеседования на 140к и выше

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

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

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

И чтобы это все было описано наиподробнейше. Потому что я тупой, мне надо раззжевывать
Аноним 11/02/20 Втр 10:22:13 1597816448
>>1596152
Для Microsoft.Office.Interop.Excel нужен установленный офис там, где исполняется код. Ставить на сервер майкрософт офис - дело достаточно сомнительное и у нас пропадает кроссплатформенность (что, внезапно, фишка core).
Для EPPlus офис не нужен. Со всеми преимуществами этого решения. Макросы на нем тоже можно делать. Все там достаточно нормально работает, мне всего один раз пришлось костыль лепить.
Аноним 11/02/20 Втр 10:30:30 1597819449
>>1597812
>Но именно на серьезном уровне, чтобы в легкую проходить собеседования на 140к и выше
>Я даже в алгоритмах не шарю, а из паттернов знаю ровно три - синглтон, фабрику и наблюдателя, при этом про последние два только знаю, сам не юзал
>Потому что я тупой, мне надо раззжевывать

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

>чтобы вот щас изучить и сразу же вкатится во фриланс
Во фриланс вкатиться сложнее, чем на галеру

Выглядит как no way
Аноним 11/02/20 Втр 11:59:36 1597880450
>>1597812
>я конечно догадываюсь что банда четырех и что-нибудь такое - но лучше бы поактуальей и пообъемней

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

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

Аноним 11/02/20 Втр 12:16:08 1597907451
>>1597819
>За два месяца с хлебушка до зп хорошего такого дотнет миддла,
я работаю (профессионально) на другом яп, но туда я устраивался по знакомству, то есть никакой теории никто не спрашивал, по рабочим обязанностям, справлялся. Чтобы заюзать какой-нибудь мап мне не надо знать что такое красночерные деревья на алгоритме которых этот мап сделан.

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

>>1597880
>то основа всех алгоритмов, что-то новое придумать практически невозможно.
все алгоритмы придуманы много лет назад. Но одни актуальны, другие нет.
Например там щас говорят набирает моду какой-то новый алгоритм дерева.. ну как новый еще до моего рождения был придуман, а юзать стали только в 2010 году вроде.
Аноним 11/02/20 Втр 12:24:02 1597918452
>>1597782
>string[] copystrings = dict["key1"]; //копируем массив по ключу, из словаря...

Ты не массив скопировал, а ссылку на массив, соответственно поменял оригинал. Array это reference type.

Array.Copy в помощь, ну или ручками:
string[] copy = new string[original.Length];
for(int i = 0; i < original.Length; i++) copy = original

Да, бзв, string это тоже reference type, только с поведением как у value type. Когда ты модифицируешь строку, ты ее не модифицируешь, а создаешь новую.
Аноним 11/02/20 Втр 12:24:43 1597920453
>>1597918
>for(int i = 0; i < original.Length; i++) copy = original

самофикс
Аноним 11/02/20 Втр 12:25:54 1597924454
>>1597920
да блять, ебаная разметка
короче там индексы в цикле, разберешся
Аноним 11/02/20 Втр 12:29:17 1597930455
>>1597816

>кроссплатформенность (что, внезапно, фишка core).

Такая себе фишка на самом деле. Они попытались выкинуть виндоспецифичные апи (и запилили их обратно в platform extensions), но все равно выкинули не все.

Named mutexes, любой потомок EventWaitHandle, некоторые методы для пайпов, любая хуйня связанная с COM и возможно что-то еще - все это осталось в коре и нихуя нигде кроме винды не работает. Естественно это не документировано и ты либо знаешь досконально, какие апи специфичны, либо подрываешь на деплое (либо юзаешь их api checker)
Аноним 11/02/20 Втр 12:30:36 1597933456
>>1597816
>кроссплатформенность (что, внезапно, фишка core)
...Во времена докера.
Аноним 11/02/20 Втр 12:40:12 1597949457
>>1597933

А что докер? Он же нигде кроме жму/пинуса не работает. Docker for windows работает через виртуалку.

С вероятностью 99% хоститься ты будешь не на винде. Но хотя бы возможность работать в нормальной IDE, не погружаясь в мочу aka desktop linux 2k20 дорогого стоит
Аноним 11/02/20 Втр 13:36:54 1598034458
>>1597907
>я работаю (профессионально) на другом яп
>Я не совсем нуб, делал homebrew подделки (на других языках, которые никому сейчас не нужны.. ну там типа лиспа или сишечки)

Ты уже определись, homebrew или профессионально
Аноним 11/02/20 Втр 14:16:47 1598086459
Посоветуйте что ни будь по проектам Core, который можно будет использовать, как скаффолдинг в проектах. Ибо все, что я смотрю на ютубе - это какой то калл индусов и прочего биомусора (в т.ч. СНГшного). Когда то давно на хабре был тутор по ASP.NET 3.0, но сейчас это говно мамонта и не подходит под новомодные SPA под реакт.
Лучше книги конечно, но если будет и видео ряд, то и он сканает. Спасибо.
Аноним 11/02/20 Втр 14:57:24 1598130460
как адекватно добавить wwwroot в пустой проект ASP.NET Core?

Или как всегда происходит какая то магия под капотом?

Просто тупо взял и сделал в пустом проекте, как в проекте с шаблоном mvc, но в итоге статические файлы так и не видит.
Аноним 11/02/20 Втр 15:17:29 1598149461
Аноним 11/02/20 Втр 15:31:52 1598166462
>>1598149
ок, по примеру сделал. Работает.
теперь другой вопрос.

Помечу стили не применяет? сделал папку css/site.css

в _Layout.cshtml прописал путь ~/css/site.css

делаю в visual studio code
Аноним 11/02/20 Втр 15:40:59 1598174463
>>1598166
>сделал папку css/site.css
Внутри wwwroot?
Аноним 11/02/20 Втр 15:49:40 1598188464
>>1598174
внутри

боже, какой я тупой. У меня Layout был = null. Весь день рыл гугл просто так....
Аноним 11/02/20 Втр 16:31:47 1598239465
>>1597918
>>1597920
>>1597924
Бля... Я тебя понял. Зашёл туда на rextexter, вписал твой код, и ещё свой в довесок,
затем нажал кнопочку "Fork it", ввёл другое название, и вот результат: https://rextester.com/VZEG40272
Со строками мы разобрались.
А что если вместо строк, в массиве строк - массив массивов, или массив объектов со свойствами?

Вообще-то, у меня здесь, словарь с массивом объектов, и надо изменить одно свойство для каждого объекта в массиве.
Но, у тебя, в цикле, стоит знак равно, и как видишь, в моём предыдущем случае, он не срабатывал как надо,
знак равно - создавал ссылку на массив, а не копию массива.
А что с объектами?
Что если я напишу
>for(int i = 0; i < original.Length; i++){ copy[ i ] = original [ i ]; }//где copy и original - объекты со свойствами?
>//copy.property1, copy.property2, и так далее.
Аноним 11/02/20 Втр 16:50:13 1598250466
>>1597773
>>1597782
>>1598239
>>1597918
А если этот словарь - это кэш на сервере, то можно таким образом, через присваивание - хакнуть кэш сервера и написать в словаре - ОП-хуй?
Аноним 11/02/20 Втр 17:17:34 1598267467
Аноним 11/02/20 Втр 17:31:47 1598285468
>>1598239

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

Если элементами массива являются обычные reference type объекты, то при поэлементном копировании опять же будет копироваться ссылка на них. При изменении свойства, ты увидишь изменение свойства в обоих массивах.

Если элементами массива являются value type объекты (объявленные через struct), то будет производиться именно копирование, т.к. такие объекты передаются по значению.

Если нужно именно копировать экземпляры классов, то здесь начинаются проблемы. Гугли shallow copy и deep copy.
Аноним 11/02/20 Втр 17:46:04 1598310469
Всегда ли нужно писать новый метод чтобы код не повторялся? Или не обязательно? Если в if/else похожий код на 3 строчки, но с разными знаками.
Аноним 11/02/20 Втр 17:47:58 1598312470
>>1598285
Я видел при гуглёжке shallow copy, но только сейчас понял, IClonable реализует deep copy.

Я-то думаю, хуле блядь не копируется в кэш - массив постов, вот здесь:
https://github.com/username1565/nanoboard/blob/e9984842cd69b5636f0d699cab5a70084950fc25/nanodb.exe-source/Database/PostDb.cs#L657
Хотел GetReplies закешировать, чтобы оно не грузило проц.
А то кулеры свистят и пердят от каждого посетителя
НАНОБОРДЫ.
Через TorBrowser она вот здесь: http://nboardn46ay6ycdi.onion/,
а прямо из веба - через Tor2Web gateway "onion.ly": http://nboardn46ay6ycdi.onion.ly/ (только постинг не пашет)


Добавил, короче IClonable куда-то сюда: https://github.com/username1565/nanoboard/blob/master/nanodb.exe-source/Database/Post.cs
И совсем другое дело. Кэш теперь и работает и обновляется, и нихуя железака не пердит.
Аноним 11/02/20 Втр 17:48:36 1598313471
>>1598310
Да, всегда. Иначе у тебя весь код будет состоять из "ну там всего немножеко дублирования, ну можно же", потому что ты привык писать херню
Аноним 11/02/20 Втр 18:36:23 1598390472
image.png (38Кб, 652x492)
652x492
ПАЦАНЫ ПОМОГИТЕ

В этом случае GetHashCode у t1 и t2 будет одинаковым, у меня это 346948956
Если у структуры имеющей 2 поля будут одинаковые значения, GetHashCode генерируется одинаковый
Почему так? Неужели для такой просто структуры реализация GetHashCode использует xor?
Аноним 11/02/20 Втр 19:21:08 1598445473
Аноним 11/02/20 Втр 19:23:22 1598450474
Аноним 11/02/20 Втр 20:44:59 1598539475
>>1597816
>фишка core
Это для кого-то важно, но я вот не могу оценить невозможность писать на C# 8.0 нормальные поделки для екселя. И перспектива остаться на NF 4.8 как-то не радует. Это не фишка, а сужение возможностей языка и платформы, пока что.
>Для EPPlus офис не нужен. Со всеми преимуществами этого решения.
Для генерации выгрузок в ексель на сервере - это плюс. На этом пожалуй плюсы заканчиваются. Офис есть на компьютере у 100% целевой аудитории любых поделок для офиса.
Аноним 11/02/20 Втр 21:57:19 1598622476
>>1598390
Потому что если у объектов одинаковые хэшкоды, то это не обязательно значит, что они идентичны. Но вот если у тебя Equals при сравнении двух объектов возвращает true, то это означает, что у них должен быть одинаковый хэшкод.
Это важно запомнить, иначе будешь смешить всех постоянно и хуйню в коде делать.
Аноним 11/02/20 Втр 23:04:35 1598764477
>>1598539
>100% целевой аудитории любых поделок для офиса.
Нет, ты не учитываешь фирмы, пользующиеся лицензионным ПО, в которых ради экономии 70% сотрудников сидят на всяких либре офисах и т.д.
Аноним 11/02/20 Втр 23:33:23 1598806478
>>1598312
Если не хочешь чтобы компареры работали при каждой прогрузке страницы,
то там проще сделать
>Dictionary<string, List< string > >
и не себе ебать мозг с этими массивами и объектами.
хэш ответа - > массив хэшей постов.
А сами посты, по хэшам - они и так в кэше есть.
Аноним 12/02/20 Срд 03:49:24 1598965479
>>1598806
Ну так совсем другое дело.
А то я ориентировался на тип метода, и если он возвращает массив постов,
значит и кешировать надо массив постов.
Ну и наебался же я с этими массивами и объектами.
С таким словарём, реально - намного проще. Эдакий маленький кэш.
Сунул ещё один метод обновления списка по хэшу, и в PutPost, где true возвращается вызвал его,
и ещё в DeletePost очистку присобачил - вообще красава, шустрит борода теперь, даже камень не плавится.
Аноним 12/02/20 Срд 10:20:23 1599039480
Аноним 12/02/20 Срд 13:16:23 1599105481
Аноны у меня дилемма. Есть 2 сервиса. Один управляет настройками, сохранение, загрузка, выдача загруженных настроек и т.п. А есть сервис который производит регистрацию пользователя.
Куда мне передавать первичные настройки пользователя при регистрации, в сервис настроек или в сервис регистрации? И тот и тот сервис использует полученные данные от пользователя.
Аноним 12/02/20 Срд 13:17:33 1599107482
Не хочу читать книжку по ASP.NET. Вообще не очень люблю всякий веб. Но мисос говорит, делай лабу на Net Core 3, в виде клиент-серверного приложения для какой нибудь хуйни.
Я, мягко говоря, вообще в веб не ебу. Что бы мне такого почитать лёгкого для понимания /вообще/ по этой теме? Даже не по самому C#, а просто чтоб понять, чего от меня хотят.
Может, курс какой есть на микрософтлёрне или что-то типа того? Только чтоб совсем для людей, а не для веб-программеров, которые просто учат новую веб-технологию
Аноним 12/02/20 Срд 16:31:24 1599280483
Аноним 12/02/20 Срд 17:04:30 1599315484
image.png (17Кб, 926x201)
926x201
image.png (33Кб, 688x509)
688x509
image.png (7Кб, 462x302)
462x302
Анончики сможет кто-нибудь помочь с лабой?
Необходимо реализовать на формах или можно на впф задачу потребительского выбора, её лучше делать через парсер математических выражений, но лучше обойтись костылём 3 пик, могу скинуть 1к за неё,вот сам сайт где можно посмотреть как это работаетhttps://axd.semestr.ru/econ/consumer-choice.php
Аноним 12/02/20 Срд 18:04:15 1599375485
>>1598313
Спасибо, тогда буду переписывать.
Аноним 12/02/20 Срд 18:13:59 1599396486
Кстати, я тут заметил, что EPPlus с пятой версии для коммерческого использования лицензию требует.
Аноним 12/02/20 Срд 19:37:45 1599481487
>>1599396
300 бачей/год. Пиздец однако скатились...
Аноним 12/02/20 Срд 20:40:04 1599564488
>>1599315
>её лучше
>но лучше

Нахуя такие в программисты идут?
Аноним 12/02/20 Срд 20:48:44 1599571489
>>1599564
Это называется когда обосрался со сроками и костыль, который проще и быстрее реализовать и впрямь будет лучше
Аноним 12/02/20 Срд 20:54:20 1599574490
Что прочитать про архитектуру клиент-серверных приложений ньюфагу, который хочет таки сделать свой супер-пупер TCP-сервер на голых сокетах, чтобы он был удобный, модульный, расширяемый и масштабируемый?
Аноним 12/02/20 Срд 21:28:21 1599609491
Как задать максимальный размер данных для HTTP POST request?
Хочу 50 мегабайт JSON'a в одном POST-запросе отправить... Чё-то не фурычит. Поговаривают, что лимит 4096KB. Как его убрать??
Аноним 12/02/20 Срд 21:39:41 1599640492
>>1599609
>лимит 4096KB
Тогда бы ни одна страница не грузилась, не говоря об изображениях. У тебя скорее всего соединение закрывает до того как вся информация передастся, из-за таймаута, например.
Аноним 12/02/20 Срд 22:25:20 1599711493
>>1599609
> Хочу 50 мегабайт JSON'a в одном POST-запросе отправить
Брат, братишка, зачем тебе столько? Если тебе надо 50 метров json вываливать, то, скорее всего, ты что-то делаешь неправильно.
Аноним 12/02/20 Срд 22:41:53 1599730494
>>1599711
Какое-то странное мнение
Аноним 12/02/20 Срд 22:48:10 1599736495
>>1599730
Сам посуди, в реалиях современного интернета это займёт 30 секунд в идеальном случае, а может и больше минуты быть. Что сделает юзер, будет смиренно ждать, или свалит со словами "не грузится, хуйня какая-то"? Конечно, в некоторых случаях это может быть оправдано, но таких не слишком много.
Аноним 12/02/20 Срд 23:15:00 1599751496
Аноним 12/02/20 Срд 23:30:30 1599760497
>>1599640
В grpc 4 мб это лимит, например.
>>1599609
Проверь сначала, что сервер тебя не пошлёт нахуй такими размерами.
>>1599736
Accept-Encoding: gzip и вместо 50 уже около 7.

Аноним 12/02/20 Срд 23:33:48 1599765498
>>1599760
>grpc
Ну и? Он ведь не про специализированные фреймворки говорит, а про стандартные библиотеки.
Аноним 12/02/20 Срд 23:43:23 1599771499
>>1599751
>>1599736
Я другой анон. Но это может быть корпоративная ебалайка, где и 50 мб это норма. Лучше, конечно, разделять и лениво подгружать, если это для таблицы используется, например
Аноним 13/02/20 Чтв 02:53:31 1599966500
>>1599640
>Тогда бы ни одна страница не грузилась, не говоря об изображениях.
Изображения - это GET-запрос.
Клиент отправляет не 50 метрабайт, а просто ссылку на пикчу, а она грузится потом просто потому что сервер отдаёт клиенту данные.
Но если клиент, POST-запросом, пытается вгрузить 50 мегабайт, не каждый сервер примет такой запрос.
GET-запросом 50 мегабайт не передать:
>If you are using the GET method, you are limited to a maximum of 2,048 characters, minus the number of characters in the actual path.
Поэтому POST. А лимит 4096 КБ, я взял отсюда:
https://docs.microsoft.com/en-us/dotnet/api/system.web.configuration.httpruntimesection.maxrequestlength?view=netframework-4.8
>The maximum request size in kilobytes. The default size is 4096 KB (4 MB).

>У тебя скорее всего соединение закрывает до того как вся информация передастся, из-за таймаута, например.
У меня не закрывается соединение, браузер ждёт ответа до последнего.
Но на сервере вылазит вот это (выловил при помощи конструкции try-catch-filanlly):
>Необработанное исключение: OutOfMemoryException.

>>1599711
>Брат, братишка, зачем тебе столько? Если тебе надо 50 метров json вываливать, то, скорее всего, ты что-то делаешь неправильно.
Ща расскажу...
>>1599730
>Какое-то странное мнение
Двачую. Поток FullHD забирает 25 мегабит/сек, а тут какие-то 50 мегабайт миллипиздрических, в 2к20м-то году...
>>1599736
Всё просто. Вот здесь:
https://github.com/username1565/nanoboard/blob/e9984842cd69b5636f0d699cab5a70084950fc25/nanodb.exe-source/Server/DbApiHandler.cs#L39
Метод Upload_Posts, принимает на сервер, от рандомного, анонимного клиента - массив нанопостов в JSON.
Размер этого массива может даже превышать даже 50 мегабайт, в отдалённой перспективе.

Задача, тихо-тихо записать инфу с запроса в некий стек, кэш, или файл,
ограниченного размера, и вернуть клиенту как можно скорее (чтобы он не ждал), ответ на POST-запрос,
содержащий текст вида:
>"Ваш запрос слишком большой, он помещён в кэш/стек, (записан в файл), и будет обработан чуть позже."
Либо:
>Ошибка DDoS-защиты: Стек/кэш/файл - переполнен. Отмена.

Теперь, вернусь к этому:
>У меня не закрывается соединение, браузер ждёт ответа до последнего.
Но на сервере вылазит вот это (выловил при помощи конструкции try-catch-filanlly):
>Необработанное исключение: OutOfMemoryException.

Со временем, я понял в чём бида. И вижу, что где-то вот здесь: https://github.com/username1565/nanoboard/blob/e9984842cd69b5636f0d699cab5a70084950fc25/nanodb.exe-source/Server/TcpServer.cs#L101
оно долго читает данные с запроса, а потом вываливает exception.

Как бы так и записать данные, и не обрабатывать их методом (если их слишком дохуя), и ответ клиенту - поскорее отправить?
Аноним 13/02/20 Чтв 12:14:27 1600161501
>>1599966
На первый взглаяд, какая-то ебола с переменной len. Дебагер тебе в руки.
Аноним 13/02/20 Чтв 13:23:58 1600245502
>>1599966
>The MaxRequestLength property specifies the limit for the buffering threshold of the input stream.

Это buffering threshold, а не лимит на размер реквеста в целом. Поэтому тебе его возможно уменьшить надо, раз у тебя outofmemoryexception вылетает.
Аноним 13/02/20 Чтв 14:12:55 1600302503
Пацаны, есть я, недо .net core джун, хочу пойти попробоваться на работку(джун\трейни). Есть какой-то общий список вопросов по asp.net core, ef и т.п. ? Нашёл только чувака на dou который себе список на мидла составлял https://docs.google.com/spreadsheets/u/1/d/1Jny9yIZydos19Yx0cFaHE-_3adGIYzq-cnyAhofAHiY/htmlview Если кто-то джунов собеседовал, или сам недавно проходил, можете рассказать, что спрашивали и т.п.?
Аноним 13/02/20 Чтв 15:11:25 1600368504
image.png (7Кб, 517x181)
517x181
>>1600302
Вопросы норм на мидла, вот только с 90 строки справа в углу какая то хуйня прилипла у этого додика. Пусть уберет ее и не позорится, а то мать сам знаешь, что с ней будет

Особенно проиграл с Web security
Обзор методов и техник взлома
DDOS
XSS
Fishing
SQL Injection
Broot force
Exploits
Сканеры уязвимостей

Приходишь такой значит .NET-тчиком на собес, подходит к тебе прыщавый анон с /pr/, которого заигнорили в треде с алгоритмическими задачками и говорит - "Кароч нужен забрутать или зафишить логин/пасс шкуры с ВК, смогёшь?"
Аноним 13/02/20 Чтв 16:16:44 1600436505
>>1600245
Я, короче, прямо при чтении потока, в TcpClient.cs, решил парсить JSON из строки readData,
и добавлять посты по одному, блоками по 4 мегабайта (4096 KB),
и сразу же обрезать, блоками, всё это говно, и никуда его не передавать ни в какой HttpServer ни в какой hanler-хуендлер.
А то оно по нескольку раз копируется, гоняется туда-сюда,
и вот так, этими запросами ебучими и заДДоСсить могут, нахой, блеать!
Аноним 13/02/20 Чтв 18:36:13 1600537506
Использование везде где только можно дженериков - зашквар? Просто ничего не могу с собой поделать, так нравится писать: ClassA<A,B,C,D,E,F> : BaseClassA<A,B,C,D,E,F> where A : Zalupa where B : Pizda... Получаю какое-то извращенное удовольствие.
Аноним 13/02/20 Чтв 18:58:48 1600562507
>>1599280
интересно, спасибо. Этого я почему-то не нашёл. Наверное потому что из азуры смотрел, а там курсы вроде "деплоим приложения асп на азуру" и прочее. А есть что-то ещё более базовое про сервер-клиент отношения среди приложений, запросы и прочее? Или тут есть эти основы тоже?
Аноним 13/02/20 Чтв 20:51:45 1600717508
DotGNU не взлетел, с чего вы взяли, что mono взлетит?
Аноним 13/02/20 Чтв 20:54:01 1600720509
>>1600717
Core взлетит. А Моно уже летает, хоть и не супер высоко, но более чем часто встречается в коммерческой разработке (не говоря уже о Unity)
Аноним 13/02/20 Чтв 21:33:35 1600778510
>>1600562
>Этого я почему-то не нашёл
Я до сих пор не понимаю, как там что-то искать. Есть doc, есть mdsn, может ещё что есть. С заглавной страницы оттуда вообще хер что найдёшь. 100 кликов накликаешь и не факт, что хоть до чего-то нужного доберешься. Если в выдаче поисковика нет ссылки на нужную страницу, считай, ты её не найдёшь.
Аноним 13/02/20 Чтв 21:38:58 1600796511
Должен ли синьор уметь читать и писать CIL код? Стоит ли трать время на то, чтобы с этим разобраться?
Аноним 13/02/20 Чтв 21:43:22 1600814512
>>1600796
Читать должен даже крепкий джун, не говоря о мидлах и сеньорах. Сеньор помимо чтения должен и писать, потому что есть ситуации из которых иногда можно выйти при помощи редактирования CIL кода.
Аноним 13/02/20 Чтв 21:51:46 1600844513
Saying that .Net Core is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.

Аноним 13/02/20 Чтв 22:18:07 1600893514
>>1600814
>редактирования CIL кода
Двачую. CIL код редактировать, убирая сопли за компилятором, приходится часто. Раньше, когда не понимал его, не обращал внимание. Но когда понимаешь как это работает, видя кучу вопиющих неоптимальностей, то уже не можешь просто пройти мимо. Уж как минимум бесконечные копирование структур при доступе к свойствам нужно убирать в критичных местах. Хотя в коре вроде эту хуйню почти везде поправили. Если производительность играет роль, то CIL код будет редактироваться так или иначе. Отдельные критичные функции на нём и пишутся.
Ну и знать Си тоже желательно, во всяком случае в нашем проекте, т.к. зачастую многие тяжелые вычисления проще написать на Си и в шарп уже сишную либо подключать.
Аноним 13/02/20 Чтв 22:26:07 1600906515
>>1600893
Лол. Вот серьезно просто лол. Просто объясни, зачем писать на шарпе в таком случае-то? Шарп изначально позиционировался как язык для замены жавы только под винду, а достоинство жавы всегда было что можно за месяц нахреначить что-то рабочее, если ты лезешь в IL, то ты изначально не тот инструмент для своих задач выбрал.
Аноним 14/02/20 Птн 04:40:03 1601174516
Существуют ли кейсы, когда DispatcherSynchronizationContext может пригодиться при написании кода для WPF?
Ведь асинхронные операции, если не отключать использование контекста просто дедлочатся. А для обновления UI из другого потока можно банально использовать Invoke.
Аноним 14/02/20 Птн 11:54:32 1601320517
>>1600844
бородатая шутка из мира холивара Java vs .NET хоть бы перевел, вкатыши /pr/ не умеют в ангельский
>>1600893
>>1600814
двачую адекватов, но они забыли добавить, что помимо MSIL нужно знать assembler. Без него за решетки можно даже не браться. IL - это лишь жалкий промежуточный слой, который все равно передается в нативные команды процессора. Еще желательно, но это уже джун+, знать двоичное преобразование команд MSIL, вдруг лишний байт преобразовывается процессором, а ты чики-брики и оптимизировал команду. Это не вершина совершенствования, еще будет к чему расти. Советую начать выдрачивать базовые команды MSIL в 16 ричном опкоде - это чистая дискретка, к тому же их не много - около 120 (к каждому типу конечно же, пуш 0x67 отличать от 0x68, потом переходить к командам среды - их чуть побольше, но без них .NET не работает)
Вот сорсы если что https://www.codeguru.com/csharp/.net/net_general/il/article.php/c4635/MSIL-Tutorial.htm
На собесе джуна или интерна обязательно это спрашивают. Это я вам инсайды палю, те вопросы типо "Как триггерится статический конструктор в сборке" или "Апкасты вариативность" - это уровень даунов как бы, нужно знать основы, чтобы браться за что ни будь более высокоуровневое.
Дерзайте.
Аноним 14/02/20 Птн 12:59:20 1601381518
Кто на ASP.NET Core react JS пердолил? React из WebApi хватает только private static readonly коллекции? И как в такие коллекции пушить данные? Может тутор посоветуете какой? https://reactjs.net/ - тутор по Core говнщие редкое
Аноним 14/02/20 Птн 19:38:01 1601990519
>>1601320
>бородатая шутка из мира холивара Java vs .NET
Очень тупая шутка. .NET Core лучше JVM по всем показателям. Это самый универсальный из всех современных стеков. В нем собрано лучшее из разных языковых платформ. Да и язык C# лучше Джавы примерно как конфета вкуснее говна.
Аноним 15/02/20 Суб 00:15:46 1602218520
>>1600906
>как язык для замены жавы только под винду
ясно, не пиши пожалуйста больше
>>1601990
>.NET Core лучше JVM
ты сравниваешь виртуальную машину с библиотекой? Земля тебе пухом, долбоеб
>Да и язык C# лучше Джавы примерно как конфета вкуснее говна.
Ты вообще вкурсе, что решетки и джава имеют практически идентичный синтаксис? Только у решеток свой ряд высокоуровневых реализаций, а у джавы другой.

Пиздец тут долбоебы сидят, даже хуже, чем в треде джавистов
Аноним 15/02/20 Суб 00:39:45 1602230521
>>1602218
>нет структур
>нет кортежей
>нет in/out модификаторов параметров
>даже ебанного goto нет
>Ты вообще вкурсе, что решетки и джава имеют практически идентичный синтаксис

Мань, возвращайся в свой тред джавистов и не высовывайся из этого загона.
Аноним 15/02/20 Суб 00:59:16 1602239522
>>1602218
>называет .NET Core библиотекой
>Пиздец тут долбоебы сидят

Милости прошу к нашему шалашу
Аноним 15/02/20 Суб 01:13:17 1602249523
0bwLiiPoxquBFXf[...].png (16Кб, 533x340)
533x340
Popularity-and-[...].jpg (142Кб, 1040x602)
1040x602
>>1602230
маня, пишет за кортежи 2ым пунктом, которые реализовываются врапером в 2 строчки и видимо не знает за Kotlin. Типикал /pr/ вкатыш. Как бы это смешно не звучало, но зная Java можно сесть и педалить на # и наоборот, так что можешь не копротивляться за свои любимые решеточки даже за linq не написало, ничтожество ебаное И кто тебе сказат, что # > java? Препод из твоей шараги? Если да - плюнь ему в ебало. Знаешь, почему мелкософт прогнулись под кроссплатформенность? Потому, что ебучий MsSql со своим IIS будет стоить в десятки раз дороже, чем Oracle/another relation DB. Хотя куда тебе такое знать, тебе вначале вопросы собеса нужно выучить
Аноним 15/02/20 Суб 01:15:37 1602250524
sdf.jpg (121Кб, 1659x453)
1659x453
>>1602239
>пиздец тут долбоебы сидят
>земля им пухом
Аноним 15/02/20 Суб 01:19:20 1602253525
>>1602249
>вторым пунктом

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

>почему мелкософт прогнулись под кроссплатформенность?

Потому что это тренд современности. Хотя зачем объяснять что-то шизику с двузначным IQ, который судит о языке по популярности запросов в гугле/стэковерфлоу, блять. Тебе самому не смешно? Да, легаси говна больше на жабе, да у неё настолько хуевая документация и стандартные библиотеки, что вместо того чтобы прочитать её и использовать их, макаки бегут в гугл и на стэковерфлоу. И почему-то именно это, в манямирке шизика, является плюсом языка.
Аноним 15/02/20 Суб 01:34:49 1602261526
>>1602253
>всё что вспомнил
>не написал LINQ
>не написал за ORM из коробки
>не написал за лямбды
>не написал за management code
>не написал за GC
>не написал за методы расширений
ты думаешь с тобой есть смысл о чем то дальше спорить? Ты кроме статей C# vs Java что ни будь видел?
>тренд современности
попадешь на свою первую РАБотку (хотя есть сомнения по этому поводу) узнаешь, как работает тырпрайз
>по популярности запросов в гугле
https://www.codingdojo.com/blog/the-7-most-in-demand-programming-languages-of-2019
Почитай, чтобы твой маня мирок не трескался лишний раз.
>хуевая документация
вроде и оскорбить не хочу, но блять на чем ты основывался, когда высирал это?
Периодически захожу в этот тред подкинуть батхерда. Решеточники так копротивляются за свой язык забывая, что писать можно на чем угодно и где угодно, главное чтобы это решало задачи, зарабатывало копейку и было эластично на рынке

мимо анон, в стеке которого # 6-ой по счету язык
Аноним 15/02/20 Суб 01:40:14 1602264527
>>1602261
>захожу в этот тред подкинуть батхерда

Как ты там еще не сгорел полностью то, всё тебе мало.
Аноним 15/02/20 Суб 04:44:14 1602318528
Вижу здесь, регулярным выражением, извлекают JSON из строки.
https://stackoverflow.com/questions/40361407/extract-json-from-string-in-net
Вопрос, как модифицировать эту регулярку, чтобы она доставала массивы JSON-объектов, с квадратными скобками этими, массивными.
Например:
>string s = "[{\"List\":[{\"ID\":\"175114\",\"Number\":\"28992\"}]}, {\"List\":[{\"ID\":\"175114\",\"Number\":\"28992\"}]}, [{\"List\":[{\"ID\":\"175114\",\"Number\":\"28992\"}]}]]";
Аноним 15/02/20 Суб 04:44:57 1602319529
>>1602318
>и текст ещё какой-то там, внутри строки, до или после объекта. Допустим, это заголовки запроса.
Аноним 15/02/20 Суб 06:12:41 1602337530
>>1602218
>ты сравниваешь виртуальную машину с библиотекой?
Ты далбаеб? .NET Core это модульный рантайм. JVM как я понимаю голимый легаси монолит. А вот .NET Core модульный, потому что современный.

Что такое библиотека? Код в файлах. Отличие библиотеки от виртуальной машины? И там и там код в файлах.

>Ты вообще вкурсе, что решетки и джава имеют практически идентичный синтаксис?
Ты вкурсе, что C# имеет совершенно другую семантику? У JS и Си тоже одинаковый синтаксис, дебил.

>Только у решеток свой ряд высокоуровневых реализаций, а у джавы другой.
Первая версия C# или вторая, не помню, была написана на Хаскеле, разработчиками компилятора GHC, профессорами, у которых есть премии Тьюринга, и другие премии, писалось в Microsoft Research. И по сей день там трудятся лучшие спецы в CS. Кто писал и пишет Джаву? Индусы-говнокодеры.

Аноним 15/02/20 Суб 06:15:22 1602338531
>>1602249
>IIS
То-то блять IIS долгие годы был самым популярным в мире веб-сервером, с долей рынка 70%. Сосать. Теперь есть Kestrel. .NET Core кстати ебет Netty только так. В два раза быстрее его. Это тот Netty, который долгие годы был одним из лидеров по производительности.
Аноним 15/02/20 Суб 06:16:32 1602339532
>>1602253
>>1602261
C# самый популярный язык на SO. Шах и мат.
Аноним 15/02/20 Суб 11:55:51 1602457533
# vs java.jpg (38Кб, 1657x138)
1657x138
f2d35690b432fbd[...].jpg (18Кб, 300x224)
300x224
>>1602337
>.NET Core это модульный рантайм
>модульный рантайм
>JVM как я понимаю
> как я понимаю
>понимаю
>JS и Си тоже одинаковый синтаксис
>Кто писал и пишет Джаву? Индусы-говнокодеры.
Такую тупость или толстоту не вижу смысла обсуждать. Если ты это писал серьезно, то лучше рот лишний раз не раскрывай о том, чего не знаешь, чтобы ничего не залетело
>>1602338
> IIS долгие годы был самым популярным в мире веб-сервером, с долей рынка 70%
https://www.datanyze.com/market-share/web-and-application-servers--425/microsoft-iis-market-share
в твоем маня мирке 70%? Ты хоть знаешь, сколько стоит перенести автопарк на ШINDOWS для IIS? Ты знаешь ценники на IIS от мелкософта? Зачем ты, как и другие дебичи кидаетесь какими то цифрами, если не плавали в этом?
>>1602339
>SO
SOF может быть? Судя по тому, что высирают в этом треде, # могут быть только популярные в шарагах
Аноним 15/02/20 Суб 11:59:31 1602460534
>>1602318
>>1602319
И где ты это применять собрался? Парсишь сайты в которых текст смешан с JSON и при этом никак не размечен?
Аноним 15/02/20 Суб 13:16:29 1602583535
Вообще не понимаю, как люди работают с впф. Я за год научился только пилить простейшую хуйню, копировать чужой код и дорабатывать его. С нуля я хуй бы что написал.
Аноним 15/02/20 Суб 13:25:45 1602597536
>>1602583
Двачую.
Вин.формы - очень просты и понятны, даже не программисту.
Зная их я как-то пробовал перескочить на впф. Думал, должно быть интуитивно всё понятно, хотя бы в какой-то степени. Создал в студии голый проект впф, добавил мышкой кнопку на форму. А потом пару часов пытался привязать к нажатию этой кнопки вызов метода. Но так и не смог продвинуться ни на шаг. Не гуглил.
Аноним 15/02/20 Суб 13:27:39 1602601537
>>1602583
>>1602597
А потом такие говорят, что вёрстка и фронтенд это просто, лол.
Аноним 15/02/20 Суб 13:30:48 1602609538
>>1602597
Привязка-то осваивается в конечном итоге, но вот всё остальное - пиздец, впф так и остался навечно сырым, многие фичи просто нереализованы или они есть, но чтобы ими воспользоваться, нужно рвать жопу и писать много кода, не говоря уже о том, что ты буквально через раз натыкаешься на какую-то недокументированную залупу, ради которой приходится неистово гуглить и дай Бог, чтобы что-нибудь нашлось.
Аноним 15/02/20 Суб 15:53:42 1602859539
>>1602601
Фронтенд, а вернее гуй на WPF — это реально пиздец. Я тоже его не понял, как и аноны выше. Dependency property, сотни вложений в одном компоненте, какая-то поебистика. После этого стал интересоваться фронтом vue, и теперь кайфую. Просто пилишь одностраничный сайт, и пользователи через него работают
Аноним 15/02/20 Суб 17:02:02 1602996540
>>1602457
Песпруфные кукареки. .NET Core это рантайм. Докажи обратное. IIS много лет был лидером в веб-серверах, пока Nginx не появился, а появился он не так давно. SO сам написан на C# и C# долгое время был там самым популярным тегом. Сейчас на 3 месте, хорошо, согласен. В русскоязычном кстати до сих пор самый популярный тег.
Аноним 15/02/20 Суб 17:11:18 1603013541
Спарсил 2к вакансий с хх по запросу C#
В 428 есть упоминание о высшем образовании.
В 710 есть упоминание о английском языке.
В 128 упоминаниях о junior.
В 256 упоминается о WPF и только 24 упоминания о Windows form.
Хуй знает что с этим делать но вот так.
Аноним 15/02/20 Суб 18:36:06 1603113542
Решил обмазаться DI, это нормально, что конструктор распух до 6 параметров. И где проходит та граница, когда уже хватит инжектить. И есть ли какие-то приемы по уменьшению количества зависимостей (слышал, что сервислокатор это антипаттерн и вобще фу-фу)?
Аноним 15/02/20 Суб 19:37:57 1603195543
>>1602218
> не пиши пожалуйста больше
Ну ты и мудак. Вот серьезно. Почти всю историю своего существования сам M$ позиционировал шарп как жаву, но под свою экосистему. Так было ровно до того момента, пока они не осознали, что проебали все рынки, кроме десктопа и на пост гендира не забрался индус, который теперь заигрывает с опенсурс сообществом. Блядь, ты просто посмотри, какие задачи на дотнете вплодь до середины десятых решались, пока не стало понятно, что жизни на десктопе нет, а под мобилки на шарпе не покодишь. Пиздец, пришли жаваскриптеры, которые только кору застали, еще и выебываются. Пидорас ты, вот что я хочу сказать. Причем мерзкий такой, выебываешься на пустом месте. Тьфу на тебя, мудила.
Аноним 15/02/20 Суб 19:41:40 1603197544
>>1603113
Выделяешь контекст (фасад) для общей хуйни по типу логгеров или https://blog.ploeh.dk/2017/02/02/dependency-rejection/

>>1603013
Пользы в этом нуль, так как много вакансий пишутся хрюшами на отьебись, а на деле будет другой стек технологий.
Аноним 15/02/20 Суб 19:52:52 1603209545
>>1602996
>.NET Core это рантайм
>SO
так это ты один и тот же дауненок, пишуший мне по 3 поста. А я думал у вас "Сила трёх".
>В русскоязычном
проиграл в голос. Сейчас ru SOF почитать, эх.
>.NET Core это рантайм
.NET (как и Core) - это фреймворк. Ты хоть понимаешь значение слова "runtime"?
>Докажи обратное
Судя по постам, что ты высрал - ты не знаешь банальных основ работы .NET. Рихтер тебе в руки, пусть он тебе доказывается
>IIS много лет был лидером в веб-серверах
>Песпруфные кукареки
писал выше
Иди готовься короче, слабый еще
Аноним 15/02/20 Суб 20:06:53 1603233546
Аноним 15/02/20 Суб 20:07:41 1603236547
>>1603195
Таки не сила трёх, походу "Сила двух". Ок, давай и тебе поясню за решетки.
>Почти всю историю своего существования сам M$
позиционировал себя, как монополист всего и вся. ОС? Да, это мы. Браузер? Тоже мы (хуевое мы). Разработка? Подержите наш умирающий VB, у нас решетки (спижженные чуть более, чем полностью с джавы).
>пока они не осознали, что проебали все рынки
ты рофлишь? Ты хоть знаешь штат аналитиков evilcorp? Больше, чем твоя зассаная шарага
>забрался индус, который теперь заигрывает с опенсурс сообществом
{facepalm} Какой нахуй индус? Рыночек сам порешал, что должно быть. Причем тут индус?
>задачи на дотнете вплодь до середины десятых решались, пока не стало понятно, что жизни на десктопе нет
жизнь на десктопе есть, но не такая развитая, как в вебе. Веб пришел и задал мировую тендецию. Вакансии? 95% веб.
>а под мобилки на шарпе не покодишь
есть J2ME, зачем нужен шарп? Тем более evilcorp не заходили в мобайл (не знаю почему) и везде был andoid, iOS
>Пиздец, пришли жаваскриптеры
пришел джавист/.net-тчик и нассал всем на ебало, т.к. мало того, что не знают как их среда работает, так еще и хватаются за решетки, как за одеяло. Вы блять тупые, язык - это инструмент. Вообще похуй на чем писать, похуй на чем хостить. Главное чтобы:
1. Было легко и удобно;
2. Было дешево;
3. Было кем писать и в определенные сроки.
Берем ту же Java:
1. Легко? Да - джава хоть и отстает по фичам и высокоуровневым реализациям от #, но имеет хорошую базу знаний. Удобно? Да, легко ложится на любой сервер (Linux-овый, а не вонючий WS)
2. Дешево? Да уж дешевле мелкософта в 10ки раз. А когда сорсы весят по 4-5 гбт и обслуживает проект не один десяток машин, так тем более
3. Есть кем писать? Плюнь в бэков 3 раза и точно 1 раз попадешь.

Писал вчера, пишу сегодня - слушайте дядек, которые в тырпрайзе работают, а не которые в шарагах вам # дают и говорят - "Вот это заебись". Я не спорил, что # говно - язык сам по себе очень годный и во многом превосходит Java. Но вся экосистема разработки - это фирменный стиль мелкософта - монополизация, коммерция. Поэтому они и страдают. И вы тоже. Как бы все.
Аноним 15/02/20 Суб 20:16:03 1603243548
>>1603233
>NET Core is composed of the following parts:
>COMPOSED
>The .NET Core runtime, which provides a type system, assembly loading, a garbage collector, native interop, and other basic services. .NET Core framework libraries
>etc
>>1602250
Не осиливший дискреточку или логику?
Аноним 15/02/20 Суб 20:16:40 1603245549
>>1603236
Заметил, что у жабистов есть специальная олимпиада обсирать шарп, чем-то похожи на гофистов. В обратном направлении - редкое явление, ибо всем похуй.
Аноним 15/02/20 Суб 20:19:53 1603247550
>>1603243
Не знаю о чем ты, болезненный, толдычишь, но .NET Core - это собирательное понятие.
Аноним 15/02/20 Суб 20:24:19 1603253551
>>1603245
сижу в двух тредах, отвечаю с такой же периодичность туда и туда. Никогда такого СВЧ и рвания жопы за язык не видел, как тут. Такое ощущение, что мелкософт создает уникальный продукт, как панацению. У меня для вас плохие новости на этот счет
>>1603247
ты уже заселфовнился, назвав .NET Core рантаймом. Можешь теперь не копротивляться
Аноним 15/02/20 Суб 20:36:49 1603271552
>>1603253
>назвав .NET Core рантаймом
Все однострочные посты начиная с 1603197 мои. Выше нет моих постов.
Аноним 15/02/20 Суб 20:40:52 1603276553
>>1603253
>Никогда такого СВЧ и рвания жопы за язык не видел
Тут много студентов сидит, которую всякую хуйню несут.
Аноним 15/02/20 Суб 20:50:41 1603290554
Как в виндовую консоль шарпом графику рисовать? Хочу не символы, а пиксели рисовать. Жуть как хочу. Не знаю как.
Аноним 15/02/20 Суб 20:52:25 1603293555
>>1603253
> ощущение, что мелкософт создает уникальный продукт
Но ведь так и есть. Лучше шарпа в мире нет. Еще бы не был так привязан к .net'у, цены бы не было.
Аноним 15/02/20 Суб 20:54:06 1603297556
>>1603290
Знаю только два способа:
1. Нормальный - рисовать псевдографикой, она же ascii art
2. Ненормальный - получить хендл окна через винапи и рисовать поверх самого окна консоли, используя винапи и любую графическую либу
Аноним 15/02/20 Суб 20:54:55 1603300557
>>1603293
Rust.

мимо 10 лет программирую на шарпе
Аноним 15/02/20 Суб 20:56:30 1603303558
>>1603297
Второй вариант мне кажется подходящим под то что я хочу делать. Как это сделать? Хотя бы скажи где смотреть, а то я студент, который окромя калькулятора в консольке ничего не делал, и не умею правильно гуглить.
Аноним 15/02/20 Суб 21:02:47 1603309559
>>1603303
Не знаю, почему он тебе кажется подходящим, если намного лучше и проще использовать любую либу, которая умеет рисовать окна, коих дофига. Мне лень расписывать, например https://stackoverflow.com/a/43788951
Аноним 15/02/20 Суб 21:22:27 1603314560
>>1603245
То-то в жаботреде недавно рванула бомба с говном со стороны решеткофагов.
Аноним 15/02/20 Суб 21:27:50 1603316561
>>1603314
Хз, не посещаю жаба тред. Зато в более публичных местах больше всего жопа горит у жабистов и гофистов, непробиваемая стена своих убеждений.
Аноним 15/02/20 Суб 21:32:23 1603319562
>>1603316
> в более публичных местах
На ebanoe.it и подобных парашах?
Аноним 15/02/20 Суб 21:32:55 1603320563
Аноним 15/02/20 Суб 21:41:06 1603325564
>>1603276
это понятно судя по задачам, которые они пытаются решить в этом треде. Но их препод долбоеб, потому, что он пытается научить их программированию не заложив фундамент, что разработчик - это профессия не привязанна к языку, а к решению задач. Это тоже самое, что учить строителя только ебашить молотком и говорить - вот этот инструмент заебись, все остальное - говно.
>>1603293
>Лучше шарпа в мире нет
Если когда ни будь устроишься на работу и тебя посадят на легаси, после 1-2 месяцев работы ты будешь проклинать решетки (особенно если это будет старый ASP.NET) и молить, чтобы кинули на другой проект, пусть даже не .NET
Со многими такое случается, кто приходит на аутсорс, особенно если он не привязан к проектам, а педалит на фриланс биржах. Если есть бенч, не удивляйся, если ты, обученный шарпику, будешь пидалить еще на WP/PHP/Java/etc.
>>1603245
это потому, что джависты борды не пишут хуйни за то, чего не знают наверняка. Хотя там тоже студентота сидит, дрочащая алгоритмы. Зато тут - мало того, что нихуя не знают, так еще и пытаются тебе это навязать. Комьнити двача Java > C#. Однозначно.
Аноним 15/02/20 Суб 21:42:48 1603327565
Я студент, нам препод сказал буим 100к получать, а я спросил, а почему вы не програмист тогда и меня выгнали из айдитории
Аноним 15/02/20 Суб 21:47:57 1603332566
>>1603327
проиграл. На самом деле жиза - на курсах может прийти выещик за килобаксы, а в институте, а тем более в шараге - только ебаные неудчники сидят
Аноним 15/02/20 Суб 21:51:47 1603333567
Аноним 15/02/20 Суб 21:51:49 1603334568
>>1603327
Хз, у меня один из преподов, владелец своей ит компании, говорил, что ему нравится просто преподавать. Зарплата - заправить два раза свою машину. Еще жену свою зачем-то посадил на преподавание.

Другой препод, параллельно работал в компании, шутил "не умеешь программировать - учи программировать".

Остальные преподы преподавали какую-то устаревшую хуйню. Им было лет за 50.
Аноним 15/02/20 Суб 21:59:28 1603342569
>>1603325
>проклинать решетки (особенно если это будет старый ASP.NET)
Мне синтаксис c# не нравится, слишком много бойлерплейт хуйни приходится писать. На некоторых проектах были ебанутые архитекторы. На текущем проекте есть silverlight и vbs. Вебформы - это еще повезло.

У меня даже иногда получалось продавливать свои решения: бизнес любит цифры, а не какие-то хотелки.
Аноним 15/02/20 Суб 22:12:43 1603351570
>>1603333
>3333
зачем далеко ходить, ведротон - вкатывальщик. Хотя заливает говно в уши, что он гуру
>>1603342
>бизнес любит цифры, а не какие-то хотелки.
все хотелки - это желание сэкономить. Весь тырпрайз, все задачи (за исключением стартапов) - это бизнес. В бизнесе нужна автоматизация, чтобы не раздувать штат, которым нужно платить в разы больше, чем за софт.
>>1603334
это энтузиасты. Сам знаю пару таких. Но это скорее исключение из правил
Аноним 15/02/20 Суб 22:12:46 1603352571
Аноним 15/02/20 Суб 22:29:27 1603359572
>>1603352
решетки двигаются в том же направлении, что Java. Сейчас на джаве порой код на столько не читабелен, что не то, что в логике разобраться, нужно разобраться в коде.
Аноним 15/02/20 Суб 22:41:44 1603368573
>>1603359
Я столько дерьма повидал, что мне уже как-то похуй:
- Смотрю код как-то так https://youtu.be/dlrjDvS7wxo
- Отвлекаю товарищей от работы и снова повторяем процесс из видео
- Игнорирую хуево написанный код, который могу исправить
- Если используется какая-то инородная хуйня, скажем es+kibana на жабе или тензерфлоу на питоне, то мне проще найти место бага, завести тикет и больше нехуя не делать
- На инвестигейт отчитываю дохуя времени, хотя хватает пары минут, максимум час, чтобы понять проблемы
- На решение трачу несколько дней, даже если там написать надо строк 10
- На митингах с умным лицом рассказываю как охуенно исправил проблему
Аноним 15/02/20 Суб 22:43:27 1603370574
image.png (51Кб, 751x573)
751x573
>>1603352
Это же будет в жяве в марте.
Аноним 15/02/20 Суб 22:45:40 1603373575
>>1603370
Шарп будет обновляться вроде каждый ноябрь по принципу: нечетная версия - не lts, четная версия - lts. Рекорды в шарп давно добавить хотели, но пересрались из-за синтаксиса.
Аноним 15/02/20 Суб 22:58:08 1603397576
>>1603373
А почему именно ноябрь? Из-за no nut november, чтоб ничего не отвлекало от изучения новых фич?
Аноним 15/02/20 Суб 22:59:27 1603398577
>>1603368
пофиксишь за 10 минут - заплатят $100/d. Подкинут еще тасков
пофиксишь за 480 минут - заплатят $100/d. Не подкинут тасков
На программистов вайнят, что ленивые и хитрожопые. Зато осилившие логику.
Аноним 15/02/20 Суб 23:01:03 1603402578
>>1603397
Откуда мне знать? Найди роадмап, там точнее написано, когда и что.
Аноним 15/02/20 Суб 23:53:40 1603431579
>>1602460
Не, всё просто. От клиента, на сервер поступает POST-запрос, с headers и JSON'ом. Программа - парсит JSON, но при попытке прочитать 50 мегабайт JSON'a вылазит OutOfMemoryException.
Было решено записать JSON в файл, но он пишется с headers. Надо сматчить теперь всю эту хуйню, но не полностью, оно не полезет и опять всё зависнет нахуй.
Надо, короче, по блокам читать JSON, и из фрагментов вытаскивать записи регулярным выражением каким-то, а фрагменты эти, ебучие - клеить снова и дальше парсить и скармливать - блоками. Как-то так.
Аноним 16/02/20 Вск 03:22:03 1603498580
Кто ни будь писал на ASP.NET Core + react JS? Как CRUD хуки делать? Как роутинг происходит? Почему триггер идет именно Index? Где вообще тригер первой страницы? Что это за хуйня индусов? Я только начал пилить эту хуйню, ни документации в интернетах, ни туторов (индусовский высеры не в счет). https://reactjs.net/tutorials/aspnetcore.html - вообще залупень какая то, пытался step by step сделать - нихуя не работает. Пиздец блять. Мелкомягкие совсем охуели такое говно высирать? Или адаптивность со всем, что не мелкософта не ок?
Бьюсь на этой залупой неделю, не могу обычный CRUD реализовать. Это что за хуйня вообще? На пыхе или пайтоне это делается щелчком пальцев, на .NET ритуал какой то нужно провести или на хинди заговорить? Блевать хочется...
Аноним 16/02/20 Вск 04:59:27 1603518581
>>1603243
Какую нахуй дискреточку и логику?! Еще про теорию алгоритмов вспомни. Обосрался, а теперь с темы соскакиваешь.
Аноним 16/02/20 Вск 05:01:56 1603519582
>>1603253
Еблан, .NET Core это в первую очередь рантайм. А уж что там вокруг не важно. Естественно там есть некая SDK обвязка, вроде консольного интерфейса, API, и других необходимых штук. Но в первую очередь это рантайм, как и в доке написано, куда тебя ткнули носом как котенка.
Аноним 16/02/20 Вск 05:28:57 1603527583
>>1603498
Делаешь фронтенд, вешаешь его на nginx на какой-нибудь адрес. По этому адресу заходит клиент, ебать его в рот.
Делаешь бек и тоже на как-нибудь адрес вешаешь. Общаешься через запросы, данные в json пакуешь

В итоге у тебя независимый фронт и бек. А то, что предлагает шаблон — я тоже не понял. Я, правда, скачал для vue из галереи Microsoft. Там vue приложение было в папке wwwroot, которое начинало компилиться при старте отладки
Только нахуя? Не понял я этого прикола. Во-первых, IDE удобнее разные использовать. Во-вторых, как эту кучу дерьма деплоить — непонятно
Аноним 16/02/20 Вск 07:00:11 1603534584
>>1599107
Посмотри в шапке пхп и жс тредов, кажется там было что-то такое.
Аноним 16/02/20 Вск 10:24:55 1603583585
>>1603527
хочу фронд на react, бэк на .NET Core. Бэк даже уже частично написан, а вот слепить в кучу - хуй. Не могу разобраться, как базовый функционал CRUD-ов реализовать, как routing настроить. В ASP.NET MVC5 как то блять и то проще было
Аноним 16/02/20 Вск 10:35:56 1603589586
>>1603583
В MVC было WebAPI. Так и здесь. Пишешь апишку и тестируешь, например, посманом или фидлером. Потом, отдельно от асп, пишешь фронт на реакте.
Аноним 16/02/20 Вск 11:53:54 1603635587
>>1603589
спасибо, буду пробовать
Аноним 16/02/20 Вск 14:17:33 1603739588
Уважаемые, решаю детскую задачку вот тут https://acmp.ru/index.asp?main=task&id_task=711
Подскажите пожалуйста, почему такой вариант проходит
https://dotnetfiddle.net/yjJ6uy
а такой не проходит и даёт runtime error
https://dotnetfiddle.net/aOVclh
По сути вся разница в том, что я хотел сократить код просуммировав элементы массива через foreach, чтобы не вводить дополнительную переменную, хранящую количество элементов в массиве.
Аноним 16/02/20 Вск 14:45:45 1603751589
Аноним 16/02/20 Вск 14:56:09 1603768590
>>1603739
Работают оба кода. Вот только число m всё же надо хранить, иначе программа будет делать не нужную работу. Потому что если m = 3, как в примере, то возвращать можно сразу первое имя сумма кругов которого равна m, в твоём же случае программа продолжит своё выполнение и сделает лишнюю работу.
Аноним 16/02/20 Вск 15:19:49 1603793591
>>1603768
>Работают оба кода.
Вот почему-то второй вариант не пролазит в компилятор сайта
>>>1603768
>Вот только число m всё же надо хранить, иначе программа будет делать не нужную работу. Потому что если m = 3, как в примере, то возвращать можно сразу первое имя сумма кругов которого равна m, в твоём же случае программа продолжит своё выполнение и сделает лишнюю работу.
Но ведь m не показывает ничего, кроме количества кругов, а оно у всех будет одинаковое. Как мне кажется это избыточная информация, если используешь foreach.
Аноним 16/02/20 Вск 15:25:14 1603801592
>>1603793
По количеству кругов ты знаешь минимальное количество которое у тебя может получиться при суммировании. Возьми из примера данны, твоя программа будет парсить все данные , а если учесть if (sum == m) return name то она остановит своё выполнение на 4 участнике и выдаст правильный результат.
Аноним 16/02/20 Вск 15:26:34 1603804593
1509953221883.png (378Кб, 720x758)
720x758
Можно ли писать не говяный бэкенд/фронтенд на решётках, вместе с тем зарабатывая бабос?
Аноним 16/02/20 Вск 15:34:11 1603816594
Аноним 16/02/20 Вск 15:35:08 1603821595
Аноним 16/02/20 Вск 16:12:55 1603888596
Аноним 16/02/20 Вск 17:35:24 1604023597
slide-1.jpg (124Кб, 1024x767)
1024x767
>>1603518
>Какую нахуй дискреточку
Вот такую, как на пике. Если ты называешь .NET Core рантаймом и в тоже время делаешь перечисление ее компонентов, то ты не понимаешь сути библиотеки. Пример для даунов (для тебя) говорить, что шестеренка часов - это часы, т.к. она в нее входит.
>>1603519
>.NET Core это в первую очередь рантайм
так это рантайм или в первую очередь? Ебать у вас маня-мирок трескается, когда мокаешь мордой в говно. И зачем ты мне пишешь по 2 коммента?
>>1603519
>.NET Core это в первую очередь рантайм
>А уж что там вокруг не важно
если бы ты знал компоненты библиотеки, ты бы сейчас так не копротивлялся.
>там есть некая SDK обвязка, вроде консольного интерфейса, API, и других необходимых штук
CLR via C# - пока первую главу не пройдешь, не возвращайся. И зачем ты пишешь, такую дичь, как
>ткнули носом как котенка.
когда ты сам прекрасно понимаешь, что ты нихуя не знаешь и пытаешься доказать тому, кто тебе делает замечания? Это такие маневры?
Аноним 16/02/20 Вск 17:40:18 1604027598
>>1604023
>CLR via C#
Не актуальная книга.
Аноним 16/02/20 Вск 17:52:04 1604050599
Привет аноны. У меня есть api которая должна получать путь к локальному файлу и фронт в котором должен быть выбор файла и получение его локального пути. В это и проблема. Как через браузер получить полный путь локального файла?
Может отправлять серверу файл, чтобы тот его скачивал у себя и получал нужный путь?
Как быть?
Аноним 16/02/20 Вск 18:09:16 1604063600
>>1604050
Если эти файлы включены проект и ты юзаешь .NET core - то это статические файлы. Добавляешь

app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "MyStaticFiles")),
RequestPath = "/StaticFiles"
});
И по пути получаешь содержимое фолдера
Аноним 16/02/20 Вск 18:14:38 1604067601
>>1604063
нет не включены. Бэк и фронт в разных местах будут находиться. Нужно с фронта получить, как-то полный путь файла и отправить его в бэк. Так как это не возможно, надо как-то с фронта на бэк отправлять файл и сохранять на сервере, вот только как
Аноним 16/02/20 Вск 18:16:31 1604070602
Аноним 16/02/20 Вск 18:20:19 1604074603
>>1604070
так, это я тупой, все вызывается. Теперь выскакивает ошибочка
415Unsupported Media Type
Аноним 16/02/20 Вск 18:50:24 1604132604
Почему стали после 1000 перекатывать?
Аноним 16/02/20 Вск 19:11:09 1604160605
>>1604132
Нумерацию проебали, шапку лет 5 не обновляли, тред скрывали из ленты, а его перекаты интересуют.
Аноним 16/02/20 Вск 21:46:25 1604358606
1561243133811.gif (23Кб, 74x98)
74x98
Превед всем в этом чятике.
Призываю знающих анонов.

Нужно ли окончить ВУЗ, чтобы стать хотя бы джуном-решёточником?
Правда, что джуны всегда ебуцца с вебом?
Кроме веба для джуна на решёточках ничего нет?
Аноним 16/02/20 Вск 22:59:10 1604551607
390405.jpeg (19Кб, 585x389)
585x389
>>1604027
хочешь сказать в .NET core нет CLR/SDK?
Вот это у .NETчиков тусовочка собралась. Один фреймворк рантаймом называет, второй пищит "# лушше джавы". Ну охуеть тут клуб интересов.
Может парни ну его нахуй этот ваш .NET, может лучше в версточку? Теги, селекторы там, может на препроцессоры перейдете. Возможно (но не точно) когда ни будь и до JS-а дойдете.
Бросайте вы это, зачем вы мучаетесь...
Аноним 16/02/20 Вск 23:01:29 1604554608
>>1604551
Хочу сказать, что ты максимум трейни, если советуешь эту книгу.
Аноним 16/02/20 Вск 23:11:06 1604583609
unnamed.jpg (44Кб, 512x399)
512x399
>>1604554
via C# это ваша библия, ее на наизусть знать нужно
Аноним 16/02/20 Вск 23:17:34 1604594610
откуда у вас такое желание сосать???
Аноним 16/02/20 Вск 23:19:26 1604598611
>>1604583
В этой книге почти все главы неактуальны, за 7 лет много чего изменилось, но думать ты можешь, что хочешь.
Аноним 16/02/20 Вск 23:30:53 1604614612
Парни, не могу нагуглить я дибил, мне нужно написать свой генератор псеводозначений ге можно найти инфу?
Аноним 16/02/20 Вск 23:42:41 1604639613
Аноним 16/02/20 Вск 23:50:32 1604652614
>>1604598
давай по пунктам, заинтриговал
Аноним 17/02/20 Пнд 00:03:12 1604659615
>>1604614
Зависит от ожидаемого результата. Кнут описывал одну из реализаций. Вся идея не криптостойкого алгоритма в нахождении формулы от сида и взятии остатка от деления. Например: https://pastebin.com/WwTHjf0R

Такие формулы удобно проверять рисованием точек на 2д плоскости. Если на изображении нет очевидных узоров, а у стандартного Random вроде ромбы, то ты нашел правильную формулу.
Аноним 17/02/20 Пнд 00:07:40 1604668616
>>1604652
Мне лень чего-то тебе доказывать по пунктам, если конечно у тебя нет, чем меня можно мотивировать.
Аноним 17/02/20 Пнд 00:12:05 1604674617
>>1604668
конечно есть чем - ты пиздабол. Такой же, как и остальные высерки .NET треда, которые пишут не понимая того, о чем они пишут
Замотивировал?
Аноним 17/02/20 Пнд 00:13:34 1604676618
>>1604674
Не, старайся лучше, а то ишь удумал, по пунктам ему.
Аноним 17/02/20 Пнд 00:16:29 1604680619
Аноним 17/02/20 Пнд 00:17:03 1604681620
>>1604680
Как тебя-то порвало, кек.
Аноним 17/02/20 Пнд 00:25:40 1604688621
tom-kruz1779026[...].jpeg (58Кб, 500x498)
500x498
>>1604681
чего еще ожидать от .NET-чика?
Зашел Java-Бог раз в кое веки почитать, что там о ваших новомодных Core пишут. А оказалось, что еще самому даунят учить пришлось. I'm not surprised
Аноним 17/02/20 Пнд 00:27:20 1604689622
EER49AbXkAAgZRq.jpg (80Кб, 1051x504)
1051x504
Аноним 17/02/20 Пнд 03:01:40 1604785623
>>1586030 (OP)
Имеется
>byte[] bu
и нужно записать его в TCP-поток:
>stream.Write(bu, 0, bu.Length);
а затем закрыть его нафиг:
>stream.Flush();

Вся эта конструкция взята в try-catch.
При достаточно малых bu.Length запись в поток происходит без проблем,
но если увеличить размер массива bu до 20-30 мегабайт - вываливается вот такой Exception:

>System.IO.IOException:
>Не удается записать данные в транспортное соединение: >Невозможно выполнить операцию на сокете,
>т.к. буфер слишком мал или очередь переполнена.
>---> System.Net.Sockets.SocketException:
>Невозможно выполнить операцию на сокете,
>т.к. буфер слишком мал или очередь переполнена.

Вопрос... что делать? Можно ли записать блоками?
Если да, то как грамотно нарезать большой byte[] bu
на маленькие блоки new byte[buffer_size]
чтобы записать их по отдельности, в цикле?
Аноним 17/02/20 Пнд 03:03:47 1604789624
>>1604785
>как грамотно нарезать большой byte[] bu
>на маленькие блоки new byte[buffer_size]
>чтобы записать их по отдельности, в цикле?
Под выражением "грамотно нарезать", подразумевается создание подмассива байт, таким бразом, чтобы не копировать 500 зеттабайтный byte[] bu этот ебучий.
Аноним 17/02/20 Пнд 04:19:26 1604813625
>>1604785
>>1604789
>Можно ли записать блоками?
Да.
>Если да, то как грамотно нарезать большой byte[] bu
на маленькие блоки new byte[buffer_size]
чтобы записать их по отдельности, в цикле?
Без задней мысли, берёшь и нарезаешь: https://rextester.com/FHNR75546
>Под выражением "грамотно нарезать", подразумевается создание подмассива байт,
>таким бразом, чтобы не копировать 500 зеттабайтный byte[] bu этот ебучий.
Копируется только блок, не весь массив.
Хотя хз, может быть он всё-же обрабатывается весь, пока копируется.

И это... try-catch ещё добавь где stream.write, а то оно не всегда может записываться и ошибки бить.
В цикле пытайся писать, если кетч - Thread.Sleep.
А если ошибок 500 наберётся, просто выходи из цикла.
Аноним 17/02/20 Пнд 05:45:41 1604822626
>>1604813
Всё-равно, иногда, при попытке записать данные в поток - вылазит вот это:
>System.IO.IOException: Не удается записать данные в транспортное соединение:
>Операция на незаблокированном сокете не может быть завершена немедленно.
>---> System.Net.Sockets.SocketException:
>Операция на незаблокированном сокете не может быть завершена немедленно
> в System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
> в System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
> --- Конец трассировки внутреннего стека исключений ---
> в System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)

Пробовал также, показать вот эти свойства:https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.networkstream?view=netframework-4.8
В частности - эти:
>stream.CanWrite: True
>stream.CanTimeout: True
и задать таймаут:
>stream.WriteTimeout = 50
А потом показать...
>stream.WriteTimeout: 50

Может как-то можно блокирующие сокеты для NetworkStream использовать?
Аноним 17/02/20 Пнд 07:25:22 1604849627
>>1604822
Там вон, по твоей ссылке, чуть ниже, есть метод асинхронной записи: stream.BeginRead, принимающий на вход, в качестве параметра - callback-функцию.
В свою очередь, метод EndWrite(IAsyncResult) - хэндлерирует конец процесса записи в сетевой поток NetworkStream, и пока оно не прохендлерировалось - сокет занят, и заблокирован,
это значит, что для всех других попыток записи,
пока идёт запись - можно выдерживать таймаут в цикле по условиям:
>while(!stream.CanWrite || data_still_writting == true){//if cann't write to the stream, or if data still writting
>    Thread.Sleep(1); //just sleep 1 millisecond
>}

data_still_writting = true;
перед записью данных в поток,
а в коллбек-функции, по окончанию процесса записи - data_still_writting = false.

УМВР.
Аноним 17/02/20 Пнд 07:51:33 1604858628
Аноним 17/02/20 Пнд 07:56:34 1604860629
>>1604023
JVM это что? Ты щас скажешь, что виртуальная машина. Чем .NET Core отличается? Да ничем ёпты. Только внутренним устройством. Компоненты можно вынимать, менять, так задумано. В JVM все прибито гвоздями, ну разве что компилятор как компонент.
Аноним 17/02/20 Пнд 07:59:48 1604861630
>>1604023
>>там есть некая SDK обвязка, вроде консольного интерфейса, API, и других необходимых штук
>CLR via C# - пока первую главу не пройдешь, не возвращайся. И зачем ты пишешь, такую дичь, как
Чиво блять? Когда книгу писали .NET Core еще в проекте не было. Еблан, доку почитай. .NET Core состоит из рантайма CoreCLR, SDK, в который не помню что входит, а гуглить неохота, компиляторов для C#, F#, VB, и т.д. Я не все компоненты перечислил.
Аноним 17/02/20 Пнд 08:01:02 1604863631
>>1604023
>когда ты сам прекрасно понимаешь, что ты нихуя не знаешь и пытаешься доказать тому, кто тебе делает замечания? Это такие маневры?
Слыш ты, джявя-даун, ты мне про .NET будешь лекции читать? Я его знаю лучше тебя. Ты хоть хелловорлд на .NET Core на Линуксе написал?
Аноним 17/02/20 Пнд 08:02:10 1604866632
>>1604551
Не смешной, толстый, тупой троллинг.
Аноним 17/02/20 Пнд 08:08:01 1604867633
>>1604023
>>1604866
Ты блять хоть порвись, но .NET Core это в первую очередь рантайм. Это рантайм для управляемого кода. Без него нельзя запустить C# код в Линуксе например. Ну можно через Mono по старинке, но это костыльная история получится. .NET Core у любого нормального человека ассоциируется с рантаймом, как и JVM. Помню на винде когда сидел, бывало что нужно было Java-приложения запускать, требовалось установить JVM или JRE. И туда и туда входит рантайм. Похуй что JVM еще имеет некое SDK для разработки, основная ее функция это рантайм, выполнять код.
Аноним 17/02/20 Пнд 08:26:36 1604874634
Посоны, хочу написать на связке .Net Core + ReactJS + MSSQL проект, думаю над сутью. Есть идея написать приложение для приютов домашних животных, с учётом живности, расписанием привививок и ветеринарных мероприятий, учётками для волонтёров и гостей, фронтом для потенциальных хозяев. Всё это распространять бесплатно для приютов.
Норм идея?
Аноним 17/02/20 Пнд 08:43:51 1604881635
>>1604874
>Есть идея написать приложение для приютов домашних животных, с учётом живности, расписанием привививок и ветеринарных мероприятий, учётками для волонтёров и гостей, фронтом для потенциальных хозяев. Всё это распространять бесплатно для приютов.
Нихуя непонятно что это будет.

>Норм идея?
Идеи обычно всегда выглядят красочно, а вот с реализациями часто проблемы. Тут главное понимать, что тебе придется разрываться между бэком и фронтом. Необходимо декомпозировать задачу. Закон Парето никто не отменял. Необходимо найти и понять те задачи, которые отнимут больше времени и сил. Чтобы их эффективно решить, а незначительные задачи оставить на пропотом.
Аноним 17/02/20 Пнд 09:01:23 1604896636
>>1604881
CRM для приютов. Для гостей подбор животных и подача заявок на усыновление. Плюс, сбор денег. Для сотрудников - распределение животных по волонтерам, планирование прививок и лечения, все такое.
Аноним 17/02/20 Пнд 10:16:53 1604935637
>>1604785
>>1604813
Нахрена разбивать массив, что бы GC повесился? Ты когда писал
>stream.Write(bu, 0, bu.Length); тебя не интересовало, зачем ты написал 0 и bu.Length? Спойлер: это как раз указывается часть массива, которую надо записать в поток.

>а затем закрыть его нафиг:
>>stream.Flush();
Во-первых Flush не закрывет поток, а во-вторых для нетворкстрима он ничего не делает
>because NetworkStream is not buffered, it has no effect on network streams.

>System.Net.Sockets.SocketException
Там еще должен быть ErrorCode, какой он?
Аноним 17/02/20 Пнд 10:57:26 1604963638
Слушаете ли вы музыку при работе\обучении в программирование?И каким образом Вы взрастили в себе привычку не отвлекаться на окружение, свои мысли\проблемы и т.д.?
Аноним 17/02/20 Пнд 11:07:52 1604966639
>>1604935
>Нахрена разбивать массив, что бы GC повесился?
>Ты когда писал
>>stream.Write(bu, 0, bu.Length);
>тебя не интересовало, зачем ты написал 0 и bu.Length?
>Спойлер: это как раз указывается часть массива, которую надо записать в поток.
Я просто бегло глядя на всё это, проинтерпретировал 0, как смещение в потоке, куда писать надо.
Спасибо. Теперь вижу, что это:
>The location in buffer from which to start writing data.

>Во-первых Flush не закрывет поток, а во-вторых для нетворкстрима он ничего не делает
Тогда, .Dispose(true)

>Там еще должен быть ErrorCode, какой он?
>WouldBlock
>10035
>Операция на незаблокированном сокете не может быть закончена немедленно.
Поэтому я бегло прочитал здесь https://ru.stackoverflow.com/questions/371655/В-чем-разница-между-сокетами-блокируемыми-неблокируемыми-и-синхронными-асинхронн
про блокирующие и неблокирующие сокеты,
и захотел присобачить - блокирующие.
Аноним 17/02/20 Пнд 11:10:15 1604968640
548.jpg (40Кб, 460x318)
460x318
>>1604860
>Да ничем ёпты
>ЁПТЫ
>Компрессор холодильника это что? Ты щас скажешь, что это устройство для сжатия и перемещения паров хладагента в холодильных установках. Чем .NET Core отличается? Да ничем ЁПТЫ.
>>1604861
>гуглить неохота
>>1604863
>ты мне про .NET будешь лекции читать? Я его знаю лучше тебя
сомневаюсь
Аноним 17/02/20 Пнд 12:28:34 1605031641
>>1604874
Ну так начни писать. Что еще услышать хочешь?
Аноним 17/02/20 Пнд 12:32:32 1605034642
>>1604358
>Нужно ли окончить ВУЗ, чтобы стать хотя бы джуном-решёточником?

Без опыта работы ты не будешь джуном. И ВУЗ тебе в этом точно не помощник.

Ради корочки поступить можно. Но учить всё нужно будет самому.
Аноним 17/02/20 Пнд 12:49:33 1605047643
>>1604813
Немного лишней хуйни написал, можно проще - рассчитать частное и остаток в начале, а не на каждой итерации.
Вот, тут пример с двухсторонней конвертацией и сравнением: https://rextester.com/HGST29246
только вместо NetworkStream - MemoryStream.

>>1604966
>.Dispose(true)
Не пашет чёт. Про какие-то защищённые члены попёздывает.
.Finalize() - тоже чё-то ругается.
А вот просто .Dispose() пашет.
Аноним 17/02/20 Пнд 13:14:48 1605059644
>>1604785

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

Прокидывать один стрим в другой через буфер, причем предпочтительно меньше 85000 байт, чтобы не попадать в Large Object Heap (но если у тебя что-то одноразовое, то наверное похуй)
Аноним 17/02/20 Пнд 13:40:56 1605089645
>>1605034
Понял.

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

И с чего лучше начать?
Аноним 17/02/20 Пнд 13:41:28 1605091646
>>1604863
Вот ты вроде знающий.
Запили контакты, у меня есть несколько вопросов.
Аноним 17/02/20 Пнд 13:54:47 1605100647
>>1605034
>И ВУЗ тебе в этом точно не помощник.
Вроде нормальные вузы предоставляю практику, хотя бы пару месяцев и уже хорошо
Аноним 17/02/20 Пнд 14:10:07 1605112648
d5da445-2852f2a[...].png (199Кб, 800x562)
800x562
>>1604358
конечно, без ВУЗ-а вообще никуда. Лучше конечно начать с шараги 90% запостивших тут свои высеры именно они, а там уже в ВУЗ и сразу по специальности. Курсы бери C,F,Q#, VB, etc Желательно, чтобы преподы индусами были, а то мелкософт без них не обходиться.
Сидим, педалим - все .NET-тчики выпускники тех. вузов по специальности - программист-педальщик. Брат жив, пульс нормальный, не штормит.
Аноним 17/02/20 Пнд 14:12:13 1605114649
1535862373116.png (66Кб, 404x404)
404x404
>>1605112
> конечно, без ВУЗ-а вообще никуда
Больной ублюдок.
Аноним 17/02/20 Пнд 14:15:30 1605117650
Привет аноны как отправить в net core web api Base64String? отпраляю через StringContent пишет что апи не поддерживает, как быть?
Аноним 17/02/20 Пнд 14:22:44 1605127651
Funnytw0inonese[...].jpg (24Кб, 400x300)
400x300
>>1605114
сидит рядом учитель истории, менеджер по продажам и психолог. И я, бывший экономист утверждаю, что без высшего ТЕХНИЧЕСКОГО КАРЛ никуда вообще. Коллеги со мной солидарты, ехидно улыбаясь кивают в знак согласия.
Аноним 17/02/20 Пнд 14:44:14 1605151652
1565801664755.png (9Кб, 212x272)
212x272
Для кого написаны первые 3 главы в CLR via C#?
Для совсем нулячих штолие
Аноним 17/02/20 Пнд 14:45:24 1605153653
>>1604874
>Всё это распространять бесплатно для приютов.

Бесплатность ломается на
>MSSQL

Если деплоить онпрем, то бедным приютам откуда-то нужно взять своровать лицухи на sql и возможно на винсервер.
Если на азуру, то опять же банкет оплачивать надо кому-то.
Аноним 17/02/20 Пнд 14:50:00 1605155654
>>1605153
Альтернативы?Постгресс какой-нибудь?
Аноним 17/02/20 Пнд 14:50:48 1605156655
>>1605047
> Dispose(true)Не пашет чёт.
>Finalize() - тоже чё-то ругается.
>просто Dispose() пашет.
Может тебе прочитать статейку какую нибудь про освобождение ресурсов, а не тыкать наугад?
Аноним 17/02/20 Пнд 14:51:40 1605157656
Аноним 17/02/20 Пнд 15:17:52 1605187657
>>1604867
В дотнет кор нет разделения на рантайм + sdk или просто рантайм?
То есть ты хочешь на линукс серваке развернуть уже скомпилированный файл какого расширения, кстати? и ты скачиваешь рантайм дотнета и компилятор, даже если он не нужен?
Аноним 17/02/20 Пнд 15:30:53 1605211658
>>1605089
Начать лучше с ассемблера, чтобы понять с чего все началось.
Перфокарты с машинными кодами все же не советую, мы не настолько историки.
Потом вздохнуть с облегчением на сишечке, затем прочитать про концепцию ООП и немного изучить с++ и как оно там реализовано. Немного утомившись, перестать работать с памятью вручную, изучить джаву версии 1.4 (именно после этой версии появился шарп), немного выдохнув на нормальном ООП и затем посмотреть, какие фичи были в шарпе 1.0, изучить их, потом 2, 3 и так плавно до 8-ой версии дойти, эволюционно.
Если сразу броситься на изучать все-все фичи 8-го шарфа, какие есть, будет слишком много информации для нуба, и полное непонимание, почему именно так сделали, зачем и для чего. Нужно идти постепенно, от версии к версии.

C# is sort of Java with reliability, productivity and security deleted.

Аноним 17/02/20 Пнд 15:35:58 1605217659
1513734562571.png (104Кб, 500x652)
500x652
>>1605211
Сука, хороший ответ, но к ассемблеру больше не полезу.
Посоветуй, лучше, книжек каких-нибудь; Player's Guide приглянулся, но смотря на via я вижу две абсолютно разные конструкции, которые кажутся несовместимыми.
И это всё хорошо, но как-то далеко от истины. Мне кажется, никто так не запаривается с этим, и все сидят формочки делают – но их-то я и делал, а важно мне понимание языка. Не в плане, какой там электрический говно-ток попадает в комп я всё-таки не жидофин, это уже то, чем я займусь на пенсии.

Я хочу писать программы на си-шарпе всеми возможными инструментами базовыми – как художник делает мазки краской.
Вот бы кто мне помог определиться, ёбанарот.
Аноним 17/02/20 Пнд 15:40:12 1605223660
Аноним 17/02/20 Пнд 15:54:37 1605261661
Сишарп вендорлок на mssql, вендорлок на азуре, вендорлок на винде
Аноним 17/02/20 Пнд 16:15:12 1605288662
>>1605211
двачую адеквата, без этого на # никак
Аноним 17/02/20 Пнд 16:59:36 1605366663
Аноним 17/02/20 Пнд 17:01:10 1605370664
Аноним 17/02/20 Пнд 17:24:51 1605405665
15814188681272.jpg (135Кб, 600x600)
600x600
Аноним 17/02/20 Пнд 17:28:07 1605409666
>>1605370
>>1605405
Полезно знать че такое сборка как создать с строгим именем, как в памяти все сохраняется....
Аноним 17/02/20 Пнд 17:32:12 1605420667
>>1605409
я не знаю, как хомяки педаляк свой высокоуровневый кодик, не зная, как работает среда. Вот блять не понимаю без приколов. Я когда написал Hello world меня не покидали мысли о загадочном методе Main, контексте, почему консоль сразу закрывается и как происходит преобразование под капотом. Я гуманитарий, но без этих знаний была асфиксия. Как в ДМБ - "Секс в резинке - движение есть, результата нет". Я даже первую репу на SOF заработал по вопросам работы стэка и хипа (писал полную ересь конечно), но тем не менее разобрался
Аноним 17/02/20 Пнд 17:43:41 1605441668
>>1605420
Пишут.
Есть охуенно огромное количество миддлов на том же Java, которые и в хуй без того не дуют.
Аноним 17/02/20 Пнд 17:52:58 1605453669
>>1605441
да ты выше почитай, что пишут. Не отличают фреймворк от среды исполнения. Я не знаю, как нужно нелюбить то, чем занимаешься, чтобы банально не удилить 1-2 часа времени и разобраться с цепочкой процессов, которые выполняются при каждой компиляции сборки. Это не вышка, не дискретка, не алгоритмизация даже (хотя любят некоторые вздрочнуть своим merge/bubble sort), это банальная работа механизма. Часто вижу в вакансиях Required - Granted tech education и проигрываю с этого. Ну получил корочку, и хули? А сидит и педалит на тонне библиотечек, даже не зная что такое JDBC/ODBC, а тем более -как происходит процесс компиляции. Вкатыши одним словом. Тысячи их.
Аноним 17/02/20 Пнд 18:02:35 1605460670
>>1605453
Ну мне лично похуй, тоесть я доверяю что реализация интерфейса ISosuHui, сосет хуи, и мне не нужно разбираться глубоко ли заглативает, мне похуй.
Аноним 17/02/20 Пнд 18:03:45 1605461671
>>1605453
Я читал, что там выше — это позор ёбаный.
Было бы здорово, если б такие хоть как-то отсеивались по мере становления серьёзными прогерами, авотхуй!
Опять же, возвращаясь к жабе, в которой в раза 2 всё полегче относительно механизма (и читается это действительно как какой-то роман, запоминающийся в голове), люди не желают в этом разобраться.
Тенденция какая-то, слогом не объяснить русским.

И я не этот гражданин — >>1605460
17/02/20 Пнд 19:59:00 1605558672
Хватит кормить явашизика.
Аноним 17/02/20 Пнд 20:41:53 1605646673
image.png (208Кб, 421x468)
421x468
Аноним 18/02/20 Втр 00:05:39 1605974674
Напомните-ка, каким же лучше образом задать второй параметр в ParameterizedThreadStart?
>bool parameter1 = false;
>Thread name = new Thread(new ParameterizedThreadStart(method))
>t_lite.Start(parameter1);
>...
>а в самом методе
>bool parameter1 = (bool)Obj;

Надо как-то второй парам засунуть, вообщем.
Аноним 18/02/20 Втр 00:15:14 1605982675
>>1605974
bool param1 = false;
bool param2 = true;
Thread name = new Thread(()=>method(param1,param2));
name.Start();
Аноним 18/02/20 Втр 00:59:19 1606015676
В веб приложении с базой данных, куда запросы могут делать несколько человек если писать методы взаимодействия с БД сихнронно, поток будет один для всех пользователей? Я просто не понимаю:
1. Выделяется ли каждому юзеру свой поток;
2. При запросе юзера (хуй с ним одного) блокируется основной поток (интерфейс). Будет ли заблокирован интерфейс у другого пользователя?
3. Для чего вообще нужна эта еботня с асинхронностью? Когда пердолил в WPF - там все было понятно, в вебе - нихуя не понятно.
Спасибо
Аноним 18/02/20 Втр 02:23:34 1606031677
>>1605982
Благодарю, заработало.
А просто System.Threading.Thread чем-то хуже ParameterizedThreadStart или не? Разные объекты всё-таки...
Аноним 18/02/20 Втр 02:39:30 1606032678
>>1606031
Ты хуйню несешь, читай документацию.
Аноним 18/02/20 Втр 07:24:48 1606089679
Шарпаны, у меня вопрос относительно лаконичности описания асинхронных операций. Вот нафига асинхронному таску писать Task<T>? Почему компилятор за меня этого сделать не может? Он же и так кучу магии делает, так пусть и async T оборачивает в async Task<T> , если я явно не укажу что это какой-то другой IAsyncEnumerable<T>
Аноним 18/02/20 Втр 07:31:21 1606092680
>>1606089
Есть еще ValueTask. В определении метода всегда надо указывать тип, что иногда дико выглядит, если там есть IEnumerable, Expression, Func. Может введут автовывод когда-нибудь как в плюсах или как в фшарпе.
Аноним 18/02/20 Втр 08:24:47 1606102681
148045321817025[...].jpg (70Кб, 800x452)
800x452
>>1586030 (OP)

Пюрешки с котелткой вам в хату, анончики.

Приветствует вас вкатывальщик-хуятывальщик 30 лвл.

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

Ради практики языка и в целях лучшего осознания базовых идей, задумал написать ОЧЕНЬ простой mvc фреймворк на С#, ибо плохо понимаю эту концепцию, этот паттерн и вообще как должен такой фремворк работать.

Прошу от вас советов мудрых: что стоит прочитать, о каких библиотеках знать, может быть, какие туториалы изучить?

На выходе хочу получить небольшой проект в гит и хорошее понимание паттерна мвц, равно как и того, как в сишрапе можно работать с сетью и БД.

Тысячу нефти и персональный чай всякому, решившему помочь мне.
Аноним 18/02/20 Втр 09:01:48 1606129682
Аноним 18/02/20 Втр 10:41:16 1606188683
В вакансия часто читаю требование - пользование и настройка IIS, MsSql. Ладно MsSql - покрутить, чтобы ошибки не триггерились при каждом чихе, но блять что настаивать в IIS? Киньте ссыль где можно почитать об этом. Спасибо
Аноним 18/02/20 Втр 12:52:19 1606299684
>>1606015
http реквест = поток, IIS сам за тебя делает
Аноним 18/02/20 Втр 12:53:57 1606302685
>>1606015
Асихронность здесь нужна
1) Для паралельних задач
2) Пока твой поток ждет что-то из Бд допустим он может делать другую полезную работу. Нужно для скалабили, и не сильно ощущаеться пока нет сотней запросов в секунду.
Аноним 18/02/20 Втр 13:07:41 1606334686
>>1606302
вот у меня есть казалось бы банальная задача - добавление данных в БД. Нужно ли делать ее асинхронной? Казалось бы - интерфейс пользователя если не будет блокироваться, то так или иначе должны всплыть служебное сообщение - типо "Success" или "Data already exist".
>>1606299
потоки эти синхронно обрабатываются? Один закончился - начался другой? Чего возникают такого рода вопросы - запросы могут быть тяжелые, чтобы не создавался стэк запросов для обработки, если такого рода задачи могут решаться многопоточно задействуя все ядра. Вопрос скорее в реализации многопоточности и асинхронности на нижнем уровне. Нужна ли эта реалиация на уровне интерфейса? Если нет, то зачем тогда эти методы у контекста EF - SaveContextAsync или AddAsync etc?
Аноним 18/02/20 Втр 13:08:04 1606336687
>>1606334
SaveChangesAsync - быстрофикс
Аноним 18/02/20 Втр 14:48:10 1606447688
>>1606334
Новий запрос на сервак, начинется новий поток, а че делал на старом ваще пох.
Что такое UI на вебе? У тебя MVC или есть JS клиент?
Аноним 18/02/20 Втр 14:52:30 1606449689
>>1606447
>Новий запрос на сервак, начинется новий поток
Это же пиздец.
Аноним 18/02/20 Втр 15:14:51 1606473690
>>1606188
А действительно, что там настраивать? Указал папку с проектом. Включил или нет возможность показа директорий, указал файл по умолчанию нахуй не нужно, и, вроде, все, с чем я сталкивался
Но у нас все iis'ы крутятся на виртуалках, может, там сисадмин озаботился чем, а я и не знаю
Аноним 18/02/20 Втр 15:18:40 1606477691
>>1606334
Анон, ты задал очень хорошие вопросы. Мне самому интересно, но все руки не доходили спросить/почитать
Aspnet-codegenerator, который, собственно, и делает шаблоны контроллеров в студии, по дефолту делает CRUD асинхронные. Значит, есть смысл в этом. Но да, какой смысл, если следующая операция — вывод плашки "бд обновлена"
Аноним 18/02/20 Втр 15:22:37 1606486692
>>1606447
>Новий запрос на сервак, начинется новий поток, а че делал на старом ваще пох.
не подскажешь, где об этом можно почитать?
>Что такое UI на вебе? У тебя MVC или есть JS клиент?
React JS на фронте с web api asp.net core
>>1606473
Вот я тоже самое сказал - типо веб сервер, пусть сис. админы и ебутся. А мне фыркнули типо, нихуя губу раскатал. Теперь собираю инфу, что это за настройки такие
Аноним 18/02/20 Втр 15:33:02 1606501693
>>1606477

Смотреть сюда >>1606015

Вообщем есть пул потоков, допустим 100.
Одновременно пришло 100 реквестов, все одновременно отработало.
Дан.
Но если пришло 101, то последний должен ждать пока будут свободние потоки.


При чем тут асинхронность, так вот во время жизни потока 90% времени он ждет что-то из БД или же шустро видает результат.

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

Тоесть Add метод говорит что он будет закончен на том же потоке на котором начал.
А метод AddAsync говрит что будет закончен на любом потоке которий будет свободним.
Аноним 18/02/20 Втр 15:50:12 1606522694
>>1606501
Я анон, который задавал >>1606015
По вопросам Add и AddAsync у меня выстрелило в работе через UI->WebApi->EF->MsSql->IIS local. Методом Add - просто жду выполнения метода, он закончен - данные проходят по цепочке и попадают в БД. На каком этапе распределение и выделение потоков происходит - в душе не ебу, поэтому и задал этот вопрос.
Потом начал копать инфу - наткнулся на асинхронную реализацию методов - все запилил под AddAsync или SaveChangesAsync - начал обсираться на том, что данные банально не сохранялись в БД. На каком этапе идет обсирание понятно, что на том, кто создавал - не понятно.
>100 реквестов
А где эти ограничения указываются? Я у знакомого DevOps спросил - он говорит на уровне IIS указывается максимально обрабатываемый пул потоков.
Короче я запутался - нужны ли вообще эти ебучие асинхронные операции в CRUD-е? Опять же повторюсь с опытом из WPF - там это мастхев - Load bar, функционал UI и т.д. Как при цепочке, которую я описал - хуй его знает.
Аноним 18/02/20 Втр 16:51:41 1606635695
Собираюсь перейти на rider, какие подводные?
Аноним 18/02/20 Втр 16:53:07 1606638696
>>1606635
Брат есть? Если да, то для него плохие новости
Аноним 18/02/20 Втр 16:53:54 1606639697
>>1606638
Он умрёт? Я его выебу?
Аноним 18/02/20 Втр 21:58:38 1607033698
>>1605187
>В дотнет кор нет разделения на рантайм + sdk или просто рантайм?
Есть. Есть версии с одним только рантаймом, их сейчас 3, .net core runtime, asp.net core runtime, desktop runtime. И есть runtime + sdk.

>То есть ты хочешь на линукс серваке развернуть уже скомпилированный файл какого расширения, кстати?
Exe или dll будет. Можно заюзать CoreRT/.NET Native, чтобы скомпилить в линуксовый бинарник.

>и ты скачиваешь рантайм дотнета и компилятор, даже если он не нужен?
Нет. Можно рантайм упаковывать в приложение, тогда не нужно на сервер ничего ставить даже.
Аноним 18/02/20 Втр 21:59:19 1607035699
>>1605211
>Начать лучше с ассемблера, чтобы понять с чего все началось.
А что не с машинного кода? Прямо нули и единицы пердолить.
Аноним 18/02/20 Втр 22:05:30 1607041700
>>1605261
>Сишарп вендорлок на mssql
Нет. В доках есть примеры с postgresql.

>вендорлок на азуре
What? Докер?

>вендорлок на винде
Давно уже нет. Сам на линуксе, винду не перевариваю, но .NET Core как экосистема превосходен. Пересмотрел все что сейчас есть из платформ, .NET Core это лучшее. Нигде нет такой продуманной экосистемы. F# прекрасен. Еще бы лиспоподобный язык прикрутили.
Аноним 18/02/20 Втр 22:09:48 1607044701
Без названия.jfif (9Кб, 225x224)
225x224
>>1607035
это путь труе программера, таким никому не стать кроме миня
Аноним 18/02/20 Втр 22:39:56 1607074702
Как передавать кукисы из аутентификации в методы? Какой то контекст выполнения должен быть? Короче мне действия каждого юзера нужно передавать флагом в БД (id/unautorized). Как такое сделать? Спасибо
Аноним 18/02/20 Втр 23:03:43 1607106703
>>1607074
и еще вопрос - каким образом передавать ответ пользователю? Я говорю про механизм обратной связи. К примеру - Все ок, 200 или User already exist или Access denied - 403. Пилить масседж хендлеры и передавать их через return в методах? Через Web Api это можно будет хукнуть и отследить?
Аноним 18/02/20 Втр 23:40:48 1607165704
C# is close to becoming a legacy platform.
Аноним 19/02/20 Срд 00:05:01 1607189705
Microsoft is doing lots of things, the community is not supporting it. Community not creating open sourced libraries and frameworks. Thats is the sad part. Currently open source is the way now. Thats why Microsoft is made .Net as open source. But as usual they were late, Very much late.
Аноним 19/02/20 Срд 00:22:07 1607219706
Аноним 19/02/20 Срд 09:33:11 1607498707
На линуксе можно запускать игры на unity?
Аноним 19/02/20 Срд 09:53:47 1607510708
Аноним 19/02/20 Срд 09:55:30 1607511709
>>1607510
Я ожидал этой тупой шутки от m$ дельфистов.
Аноним 19/02/20 Срд 10:13:56 1607520710
>>1607511
Я ожидал таких тупых вопросов от неосиляторов. Хочешь полных развернутых ответов - плати.
Аноним 19/02/20 Срд 10:37:21 1607533711
15807192137810.jpg (193Кб, 720x605)
720x605
Аноним 19/02/20 Срд 10:47:23 1607537712
Аноним 19/02/20 Срд 10:49:39 1607539713
>>1607520
Ты у меня через 5 лет будешь еще собеседоваться, понял:
Аноним 19/02/20 Срд 10:50:22 1607541714
Аноним 19/02/20 Срд 11:05:01 1607554715
Как скрыть главное окно приложения на Wpf, что-бы остальные формы по типу кнопок остались видны?
Аноним 19/02/20 Срд 11:20:10 1607562716
Аноним 19/02/20 Срд 11:26:28 1607569717
>>1607554
AbstaractFrameVisabilityFactory.buildNewFrameVisabilityInstance.setVisible(false);
Аноним 19/02/20 Срд 16:55:02 1608005718
>>1607537
Кароч иди нахуй читать метанит.
Аноним 19/02/20 Срд 17:02:16 1608016719
>>1607074
>Как передавать кукисы из аутентификации в методы?
с этим разобрался, осталось >>1607106 и >>1606522
>>1608005
я не против - скинь ссыль. После фразы - "Ищи сам" - Сам знаешь, что будет
Аноним 19/02/20 Срд 17:03:42 1608019720
Аноним 19/02/20 Срд 17:15:40 1608035721
2037999b-98d1-4[...].jpeg (50Кб, 630x420)
630x420
>>1608019
давай суда кидай, я что, зря деньги за интернеты плачу?
Аноним 19/02/20 Срд 17:37:35 1608050722
Человек вас попросил разобраться, а вы его отпедалили на сайт вкатывальщика.
Аноним 19/02/20 Срд 17:40:28 1608053723
>>1608050
Я разобрался, используя сайт для вкатывальщика + гугл, всем советую.
Аноним 19/02/20 Срд 17:41:58 1608055724
Аноним 19/02/20 Срд 17:50:46 1608066725
1500528035622.png (320Кб, 433x380)
433x380
Добрый вечер. Не могли бы мне помочь с вопросом.

Виндоус форм. Есть десяток условных кнопок. Нужно при нажатии получать номер нажатой кнопки. Единственное что приходит в голову это получать их имена, заранее поименованые их с номером, а потом, получив, как то извращаясь вырезать слово button из имени.

Но я таки верю что есть способ умнее. Может у вас можно как нибудь свои номера/переменные у кнопок устанавливать?
Аноним 19/02/20 Срд 18:42:21 1608096726
.png (16Кб, 1349x745)
1349x745
.png (12Кб, 1126x422)
1126x422
.png (57Кб, 1319x725)
1319x725
>>1608066
В Tag пропиши что тебе надо.
Аноним 19/02/20 Срд 18:46:52 1608103727
1451614665846.png (50Кб, 600x600)
600x600
>>1608096
Спасибо бро. От души.
Аноним 19/02/20 Срд 18:52:15 1608107728
VagueSnarlingIc[...].gif (2835Кб, 640x360)
640x360
>>1608055
Как же я не догадался на MSDN посмотреть иди нахуй
Аноним 19/02/20 Срд 18:54:38 1608109729
>>1608103
Может есть варианты и получше. Я не программист вообще, просто развлечения ради на шарпах всякую мелочь пишу.
19/02/20 Срд 19:45:26 1608132730
>>1608066
>>1608109
Опиши задачу, тогда можно будет подумать о решениях.
Аноним 19/02/20 Срд 20:48:22 1608237731
1549235518938.PNG (38Кб, 1006x506)
1006x506
>>1608132
Если я расскажу, над чем работаю, меня в треде засмеют

Аноним 19/02/20 Срд 20:53:34 1608258732
>>1608237
Над клоном хартстоуна.
Аноним 19/02/20 Срд 21:21:27 1608329733
А под Шарп есть какие-нибудь продакшн-риди фреймворка для bigdata?
Или это область исключительно джавы? Хадупы, спарки, акка, штормы...
Аноним 19/02/20 Срд 21:31:36 1608343734
>>1608329
Это область исключительно змея, хз нафиг ты сюда жабу приплел, дурашка.
Аноним 19/02/20 Срд 21:33:44 1608347735
>>1608343
Хоть бы погуглил хадуп...
Аноним 19/02/20 Срд 21:34:17 1608349736
>>1608347
Хоть бы погуглил змея...
Аноним 19/02/20 Срд 21:35:19 1608351737
Аноним 19/02/20 Срд 21:36:43 1608354738
Аноним 19/02/20 Срд 21:37:44 1608356739
Аноним 19/02/20 Срд 21:53:30 1608372740
>>1608356
Тупой ньюфаг, ты должен был ответить "Зубочистку?"
Тебе вчера интернет провели, селюк.
Аноним 19/02/20 Срд 21:55:10 1608375741
>>1608372
Я не знаю, что ответить дауну, который услышал где-то, что 2+2 = 5 и повторяет как попугай услышанное. Приплел он систему взаимодействия к бигдате.
19/02/20 Срд 21:55:29 1608376742
>>1608237
Пикрандом? Как картинка свзана с кнопками?
Аноним 19/02/20 Срд 21:56:26 1608377743
Аноним 19/02/20 Срд 21:57:12 1608378744
>>1608377
Не отвечаю ему, он и малейшего понятия не имеет в его высранных базвордах.
Аноним 19/02/20 Срд 22:02:17 1608388745
>>1608375
hadoop это crm для бигдаты, учись.
Аноним 19/02/20 Срд 22:05:25 1608397746
>>1608388
Теперь перечитай, что выше написано, может придет осознание.
Аноним 19/02/20 Срд 22:07:00 1608403747
>>1608378
>>1608375

Еблан.
Есть устоявшийся термин - бигдата.
И так же джентльменский набор тулов, часть которых я перечислил.
Будь я их знатоком, я бы был бы уже джавистом, а тебя поливал говном. Но я просто думаю, стоит ли оставаться в шаорпе, или валить в интересную область.
Судя по вакансиям Шарп - либо игры, либо формошлепство в тырпрайзе.
Аноним 19/02/20 Срд 22:08:43 1608406748
>>1608403
Несите нового, этот порвался.
Аноним 19/02/20 Срд 22:14:27 1608414749
>>1608406

Ты просто туповат, видимо.
Жду кого-то поопытнее.
Аноним 19/02/20 Срд 22:16:03 1608418750
Аноним 19/02/20 Срд 22:16:36 1608419751
>>1608414
Кого ты там ждешь 20 лет, опущенец?
Аноним 19/02/20 Срд 22:18:22 1608422752
>>1608403
Еще забыл как я твою мамку ебал.
Аноним 19/02/20 Срд 22:19:55 1608425753
>>1608422
На шарпе можешь выебать только оперативку и свап на диске.
Аноним 19/02/20 Срд 22:20:47 1608427754
>>1608425
И это мне говорит жаба-макака.
Аноним 19/02/20 Срд 22:22:03 1608429755
Т.е. на шарпе вообще ничего стоящего не написать? Формошлепать и простые вебсервисы на кор?
Аноним 19/02/20 Срд 22:23:17 1608430756
>>1608429
Насчет формошлепить не уверен, там нет жабы, но на жабе можно писать только простые вебсервисы.
Аноним 19/02/20 Срд 22:24:52 1608434757
Аноним 19/02/20 Срд 22:25:29 1608436758
Аноним 19/02/20 Срд 22:26:36 1608438759
>>1608434
Я лучше тем, что не обсираю другой язык и не пытаюсь навязать свое мнение, подумай, хлебушек.
Аноним 19/02/20 Срд 22:33:02 1608444760
>>1608436
Ты, кстате, не Сергей Немчинский?
Аноним 19/02/20 Срд 22:33:15 1608445761
>>1608438
Я вообще другой анон, а не тот, что про бигдату тут затирать начал.
Аноним 19/02/20 Срд 22:33:50 1608449762
>>1608444
Нет, я Егор Бугаенко.
Аноним 19/02/20 Срд 22:34:17 1608451763
>>1608449
А, значит это у вас общее.
Аноним 19/02/20 Срд 22:35:29 1608453764
Аноним 19/02/20 Срд 22:37:09 1608454765
>>1608453
О, боже, на борде школьник или с умственной отсталостью.
Аноним 19/02/20 Срд 22:37:45 1608456766
>>1608445
Я тебе не верю, доказательства будут?
Аноним 19/02/20 Срд 22:39:47 1608460767
>>1608258
Ну так то скорее ХС клон таких игор.

>>1608376
Регулярки на скрине для ловли лога, а кнопки для ручного управления. Так как у них лог кривой и некоторые карты вроде призовых приходится тыкать самому. А так как карт и кнопок дохуя я и делаю все через массивы номеров кнопок.
Аноним 19/02/20 Срд 22:40:55 1608463768
>>1608454
Я короля с 2009 смотрел.
Аноним 19/02/20 Срд 22:42:23 1608467769
>>1608456
Скрин могу дать, что нет красной полоски.
Но это ведь легко подделать другим окном броузера.
Аноним 19/02/20 Срд 22:42:37 1608468770
Аноним 19/02/20 Срд 22:43:40 1608470771
>>1608460
А зачем ты делаешь игру на десктоп формочках?
Аноним 19/02/20 Срд 22:45:11 1608474772
Подытожим, пиздабол с расстройством личности.
Аноним 19/02/20 Срд 22:49:44 1608482773
>>1608474
Какой пруф ты хочешь? Скрин?
Аноним 19/02/20 Срд 22:50:35 1608483774
>>1608474
Не удивлюсь, что вся беседа была от одного ананаса
Аноним 19/02/20 Срд 22:50:52 1608484775
1550385386040.PNG (34Кб, 343x441)
343x441
>>1608470
Это не игра, а трекер по типу Хертстоунского. Считает что вышло и что осталось, а учитывая что тут есть режим готовых сборок можно и колоду противника со 100% уверенностью видеть
Аноним 19/02/20 Срд 22:51:27 1608487776
>>1608483
Я не один! Нас много!
Аноним 19/02/20 Срд 22:54:21 1608492777
>>1608482
Мне нужен пруф твоих слов про бигдату. Ты когда открываешь рот, подкрепляй его фактами. А пока будешь попугаем.
Аноним 19/02/20 Срд 22:54:39 1608493778
>>1608482
Скрин в качество доказательства в /pr
Куда катится двач
Аноним 19/02/20 Срд 23:01:50 1608501779
Господа, вкатился к вам из геймдева с Unity, подскажите пожалуйста такой вот вопрос- Unity webGL слишком оверкил для моих целей, мне нужна браузерная веб версия простой игры с сложным социальным взаимодействием больше UI, меньше физона/ геймобжектов.

Может быть существуют какие-то фреймворки для создания динамических и красивых браузерных веб приложений на C#? Или C# вообще не для этого? А если для этого, то как это гуглить вообще? Или у меня нет варианта, если это не webGL то придется ебаться с CSS и всякой такой еботой?
Аноним 19/02/20 Срд 23:04:09 1608504780
Аноним 19/02/20 Срд 23:05:43 1608505781
>>1608504
И? Ты читать умеешь, что у тебя спрашивают?
Аноним 19/02/20 Срд 23:08:05 1608507782
>>1608505
Моих слов про бигдату итт нет.
Аноним 19/02/20 Срд 23:09:45 1608510783
Аноним 19/02/20 Срд 23:12:18 1608513784
>>1608510
Чтоб ты не оскорблял на ровном месте.
Аноним 19/02/20 Срд 23:13:10 1608515785
>>1608513
Ну прости меня, дай обниму.
Аноним 19/02/20 Срд 23:14:28 1608518786
Аноним 19/02/20 Срд 23:16:24 1608520787
>>1608515
>>1608518

Ыыы, я даже не рассчитывал что мой наброс про бесполезность шарфа приведет к такому срачу и воссоединению гей пар xD
Аноним 19/02/20 Срд 23:19:37 1608521788
>>1608520
Вот ты и прокололся!
Аноним 19/02/20 Срд 23:32:05 1608533789
>>1608520
>обосрался
>хыхыхыыыы наброс))))

И правда смешно получилось :)
Аноним 19/02/20 Срд 23:35:54 1608537790
Заебали флудить, тварыны ебаные
Аноним 19/02/20 Срд 23:36:26 1608539791
где перекат?
Аноним 19/02/20 Срд 23:37:28 1608541792
Аноним 19/02/20 Срд 23:38:51 1608545793
Аноним 20/02/20 Чтв 00:19:54 1608596794
>>1608501
Blazor, но он еще сырой очень
Аноним 20/02/20 Чтв 05:39:44 1608728795
>>1586030 (OP)
Есть приватный статичный массив обеъектов.
Объекты, в этом массиве - меняются, как и их количество.
Есть метод, возвращающий первый объект из массива объектов.
Задача - каким-то образом прицепить таймер в этот метод так,
чтобы метод гарантированно возвращал объект только тогда, когда он есть или появится в бущущем.
Thread.Sleep() не катит, он тормозит всю прогу, блядь.
Аноним 20/02/20 Чтв 08:29:38 1608757796
>>1608728
Используй задачу марианетку.

TaskCompletionSource<object> tcs;

public Task<object> GetOrWait() => objects.Length > 0 ? Task.FromResult(objects[0]) : tcs?.Task ?? (tcs = new TaskCompletionSource<object>()).Task;

//Где-то, где добавляются элементы
objects.Add(newItem);
tcs.SetResult(newItem);
tcs= null;

//клиент
var obj = await GetOrWait();

Это концепт, синхронизацию и прочее пердоль сам.
Аноним 20/02/20 Чтв 09:00:00 1608774797
>>1586030 (OP)
Как на .NET 2.0 реализовать async-await?
Аноним 20/02/20 Чтв 09:19:40 1608786798
>>1608774
Никто не вернется в 20075
Аноним 20/02/20 Чтв 09:26:00 1608788799
>>1608596
Спасибо, будет с чего начать поиск.
Аноним 20/02/20 Чтв 10:27:07 1608835800
>>1608786
Ну, мож либы какие-то есть уже?
Аноним 20/02/20 Чтв 10:27:44 1608837801
IMG202002200945[...].JPG (617Кб, 3532x898)
3532x898
Сап, двач.
На связи первый курс.
Как написать этот код? Взял цифры от -5 до 5. Дошел до Array, а что с ним делать - без понятий. Выручай.
Аноним 20/02/20 Чтв 10:36:56 1608841802
>>1608774
Через IAsyncResult, BeginInvoke и подобную залупу.
Аноним 20/02/20 Чтв 10:57:10 1608852803
>>1608837
ну так в чем проблема то?

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

Задача изи. Если учишься на программиста, то такое стыдно не решить.
Аноним 20/02/20 Чтв 11:12:08 1608865804
11.png (29Кб, 446x428)
446x428
>>1608837
На шарп сам перепишешь, задача уровня 6 класса.
Аноним 20/02/20 Чтв 11:23:44 1608876805
Аноним 20/02/20 Чтв 11:24:45 1608878806
>>1608865

Так не пишут ни на js, ни тем более на шарпе.
Какой смысл писать на высокоуровневом языке, как на с?
Аноним 20/02/20 Чтв 11:26:46 1608879807
>>1608876
Заебись, и либ никаких не надо. А то от этих слов криптоных >>1608841 - я аж пересрал.
Пойду асинхронизировать асинхронно - асинхронизацию асинхронизациоанальную,
асинхронизациоаналистично и даже асинхронизацианалично.
Аноним 20/02/20 Чтв 11:27:46 1608883808
image.png (40Кб, 651x676)
651x676
>>1608837
не шедевр конечно, но всё равно держи анон.
Аноним 20/02/20 Чтв 11:27:59 1608884809
image.png (52Кб, 259x194)
259x194
>>1608879
>криптоных
крипотных
Аноним 20/02/20 Чтв 11:34:37 1608890810
>>1608883
Но это процедурный стиль как в бейсике. Смысл шарпа без ооп?
Аноним 20/02/20 Чтв 11:37:38 1608893811
Аноним 20/02/20 Чтв 11:54:45 1608912812
>>1608890
Создатель Hello World Enterprise Edition, не ты ли это?
Аноним 20/02/20 Чтв 11:55:21 1608913813
>>1608876
Ты путаешь асинхронность и многопоточность, манька.
Аноним 20/02/20 Чтв 11:58:12 1608916814
>>1608878
Я же написал, значит пишут. Могу на шарпе также написать. И что ты мне сделаешь?
Аноним 20/02/20 Чтв 12:04:37 1608930815
>>1608916
Не возьму на работу, если увижу.
Быстро переписал в функциональном стиле.
А потом, для закрепления, с помощью linq на шарфе.
Аноним 20/02/20 Чтв 12:10:26 1608936816
>>1608890
открою страшную тайну, но именно так учат шарпу во всяких шарагах. И смею предположить, что анон именно пишет оттуда. И написав с ОПП или Linq, его код преподаватели могут просто не понять.
Аноним 20/02/20 Чтв 12:25:11 1608946817
image.png (8Кб, 577x135)
577x135
>>1608930
вот тебе с linq, правда только первое условие остальное лень делать)

мимо другой анон

Аноним 20/02/20 Чтв 12:30:27 1608950818
>>1608728

BlockingCollection из TPL посмотри, оно правда скорее для Producer-Consumer, но может у тебя как раз такая задача?
Аноним 20/02/20 Чтв 12:35:23 1608954819
>>1608835
Зачем такой архаизм нужен? Даже на ХР можно 4йы накатить
>либы какие-то
Есть Microsoft.Bcl.Async, но нужен net4. А еще это все работает в свзке с компилятором и нужна студия 2012+.
Но раз уж хочется писать на доисторическом дотнете, то пиши как деды, через IAsyncResult.
Аноним 20/02/20 Чтв 12:35:33 1608955820
Аноним 20/02/20 Чтв 12:36:05 1608956821
image.png (41Кб, 631x652)
631x652
быстрофикс
Аноним 20/02/20 Чтв 12:37:54 1608957822
>>1608913
Бле, внатуре.
Меня просто заебали эти notif'ы ебучие:
https://github.com/username1565/nanoboard/blob/e9984842cd69b5636f0d699cab5a70084950fc25/nanodb.exe-source/Server/NotificationHandler.cs#L42
Как видишь, метод возвращает HttpResponse
только когда Queue<string> Messages содержит нотификацию,
но он, этот метод, всё-равно должен возвращать HttpResponse, даже если там нихуя нет.
Возвращая new HttpResponse(StatusCode.Ok, "");
клиент повторно отправляет запрос...
Из-за этого открвается хуева туча соединений, и это так бесит - пиздец!
>Thread.Sleep(10); // Wait.
Вообще, нахуй - тормозит всю программу.

А если сделать так >>1608876 , то вроде как запрос от клиента повисает в Pending, и нотификация приходит тогда, когда она есть,
но при этом, на каждый запрос нотификации от других клиентов - стартует новый поток.
Это же пиздец какой-то ещё больший, ведь клиенты могут отключаться, а потоки эти, многопоточные,
в памяти рекурсивно всё-равно будут крутиться, и возвращать нотификации - в никуда, блядь.
Аноним 20/02/20 Чтв 12:49:40 1608963823
Сап, котаны. Где-нибудь можно взять идеи годных пет-проектов?
Аноним 20/02/20 Чтв 13:03:40 1608969824
>>1608954

Накатить можно только если делается новое приложение, не завязанное ни на что.

Если он занимается поддержкой старого говна, типа портала на sharepoint 2010 или что-то подобное (сайт на старом аспнете, или либы на net 2.0) то такого варианта нет.
Аноним 20/02/20 Чтв 13:12:54 1608976825
>>1608774
хопа, попався на легаси. Страдай, сцука гугли EAP
>>1608837
>На связи первый курс
сап долбоеб, сажи-скрыл
>>1608963
из головы. Зашкварный ты погромист, если не можешь придумать себе идею.
>>1608957
>/username1565/nanoboard/
шизика так и не забанили, мечтатель борды с блекджеком и цп шлюхами
Аноним 20/02/20 Чтв 14:34:05 1609071826
>>1608946
Хуевый линк, учитывая, что с линком можно сразу результат получить, без всяких foreach
Аноним 20/02/20 Чтв 15:11:31 1609094827
>>1608976
>шизика так и не забанили, мечтатель борды с блекджеком и цп шлюхами
Ну вас... Заебенил, пока-что с одним потоком: https://rextester.com/ZNWID54391
Как думаете, норм, или чё-нить добавить/удалить?

>>1608841
>>1608954
>IAsyncResult, BeginInvoke
Есть где-то примеры кода рабочего? Может кто наварганить в rextester'e по-быстрячку?
Аноним 20/02/20 Чтв 15:30:31 1609114828
Аноним 20/02/20 Чтв 16:30:00 1609198829
>>1609094
>пока-что с одним потоком
А смысл, ты же сразу после старта джоин делаешь.
>где-то примеры кода рабочего?
Тебе же сказали - гугли EAP.
что-то ты какой-то тупенький
Аноним 20/02/20 Чтв 20:31:51 1609412830
image.png (6Кб, 356x101)
356x101
Аноны, как правильно? Ну в смысле как тру программисты пишут?
Мне больше третий вариант нравится.
Аноним 20/02/20 Чтв 21:24:59 1609511831
Аноним 20/02/20 Чтв 21:27:05 1609517832
>>1609412
Обычно в строчку привожу
>Console.WriteLine((string)hui.ToString()+" тебе");
Аноним 20/02/20 Чтв 21:27:05 1609518833
20/02/20 Чтв 21:27:07 1609519834
20/02/20 Чтв 21:28:11 1609525835
Аноним 20/02/20 Чтв 22:40:35 1609620836
>>1609198
>А смысл, ты же сразу после старта джоин делаешь.
Зато thread.Abort() не срабатывает, пока тред не завершится.
И только после его завершения, значение возвращается.
Но сейчас заметил, что Thread.Sleep(2000); тормозит всю программу, блядь.
Поэтому, попытался сделать, внутри метода, который вызывается в потоке:
thread.Sleep(2000); //затормозить только поток, в котором выполняется метод
И... Нихуя... Можно ли так сделать каким-то образом?

>>1608841
Попытался подключить IAsyncResult, так оно в других методах типы подменяет. Откатился нафиг.

>>1609198
>Тебе же сказали - гугли EAP.
Пиздец, глаза обломал.
Нахрена мне Extensible Authentication Protocol
ещё и на канальном уровне,
если мне просто вернуть значение, методом, когда оно появится.
То есть надо подождать, пока появится значение и вернуть его только тогда,
и проверять значение это - в одном потоке,
и ждать - тормозя только этот поток, а не всю программу, из-за Timer.Sleep().
Пытался через .Task ещё что-то делать, но - нифига не пашет в .NET 4.0.
Аноним 20/02/20 Чтв 23:15:55 1609661837
>>1609620
>Extensible Authentication Protocol
хуя ты даун, земля тебе пухом EAP - Event-based Asynchronous Pattern
и зачем ты свою телегу на .NET 2.0 пилишь вообще? Чем тебе 4.8 не угодил?
Аноним 21/02/20 Птн 01:09:39 1609774838
>>1609661
> 4.8
Новомодная хрень для зумеров с тоннами синтаксического сахара. А во второй версии есть душа
Аноним 21/02/20 Птн 03:19:45 1609828839
image.png (340Кб, 497x500)
497x500
>>1609661
>хуя ты даун, земля тебе пухом EAP - Event-based Asynchronous Pattern
Хэххэх. Пикрил.
Судя по примерам кода, при использовании EAP на IAsyncResult BeginInvoke, всё равно тормозят ответ при помощи Thread.Sleep(milliseconds),
и пока оно спит, второй экземпляр метода не запускается, сукаблять.

>и зачем ты свою телегу на .NET 2.0 пилишь вообще?
>Чем тебе 4.8 не угодил?
Это не телега, и она не моя. Она наша. Каждый её дрочит как он хочет. Её даже шатать можно похлеще вакабы.
Чем ниже фреймворк - тем он ближе к ассемблеру, а чем ближе к ассемблеру, тем более крутым кулхацкером себя чувствуешь, когда высераешь в блокнотище - свой кривой говнокод. Заебись же, охуенность ежжи.
Аноним 21/02/20 Птн 03:24:07 1609830840
>>1609828
Плюс ещё обратная совместимость. Фреймворк 4.8 на тамагочи не запустишь, а на тетрисе - и подавно.
Аноним 21/02/20 Птн 09:09:35 1609913841
>>1609620
>Зато thread.Abort() не срабатывает, пока тред не завершится.
А, так ты добавил отдельный тред, только чтобы вызвать на нем Abort.
>тормозит всю программу, блядь.
Ты так и написал, хз чего ты ждал.
>Можно ли так сделать каким-то образом?
Не болкировать ожидающий поток, т.е. не вызывать джоин.
>>1609828
> тормозят ответ при помощи Thread.Sleep(milliseconds)
симулируют долгое выполнение метода
> второй экземпляр метода не запускается, сукаблять.
ой дурак
> тем он ближе к ассемблеру,
ой дурак х2
>высераешь в блокнотище
ой дурак х3
>>1609830
>4.8 на тамагочи не запустишь
Так где ты 2,0 собрался запускать?
Аноним 21/02/20 Птн 11:16:31 1609982842
L5YqY2mNdWI.jpg (224Кб, 1600x1200)
1600x1200
Шарп, помоги с зачеткой
Аноним 21/02/20 Птн 11:34:44 1610006843
woosh-you-will-[...].png (92Кб, 500x547)
500x547
>>1609982
Все, можешь идти сдавать
пошел нахуй
Аноним 21/02/20 Птн 12:27:08 1610063844
>>1609828
>>1609774
Какие то вы странные - вроде же для себя пишите, зачем тогда устаревшую технологию брать?
>Плюс ещё обратная совместимость. Фреймворк 4.8 на тамагочи не запустишь
старое говно ASp.NET 2.0 где ты собрался запускать?
В ASP.NET 4+ те же грабли с асинхронностью реализовали в виде Async-await, где не нужно ломать мозг, а все за тебя делает исполняемая среда. Идея с этой ссаной бордой может и не плохая, я не знаю как все эти чейн хешкоды работают, видимо у вас есть опыт из шифрования крипты, мне похуй, но если вы делаете проект - проанализируйте общую картину от начала и до конца (от проектирования до деплоя и размещения на железе)
Аноним 21/02/20 Птн 15:09:58 1610270845
>>1610063
Да я шучу. Так-то я core 3 сижу
Аноним 21/02/20 Птн 16:28:04 1610345846
>>1610270
зачем тогда за .NET 2.0 спрашивал? Или жидко обосравшись, забыл добавить Core?
Аноним 22/02/20 Суб 03:42:56 1611064847
1582332244715.jpg (152Кб, 1024x1024)
1024x1024
Аноним 22/02/20 Суб 03:56:05 1611069848
>>1609913
>Так где ты 2,0 собрался запускать?
Intel 4004 его разве не потянет?

Как вам такой, вот пердолинг, без https://rextester.com/WSQWY2275
без IAsyncResult с BeginInvoke ?
Вместо подтормаживания программы при помощи Thread.Sleep,
решил юзать старейшие thread_N.Suspend() и thread_N.Resume() - по таймеру.
Потоки записал в список, чтобы держать только один поток открытым.
Остальные же - абортируются с возвратом "empty_response", туда, когда новый поток открывается.
На rextester'e второй вызов не работает чё-то, а у меня, в NotificationHandler.cs - пашет.
Только там не строка возвращается, а HttpResponse.
Пашет, наверное из-за того, что NotificationHandler - это новый объект, создающийся при запросе на /notif
Аноним 22/02/20 Суб 04:13:22 1611072849
>>1611069
Вот ещё EAP (async-await на IAsyncResult с BeginInvoke): https://rextester.com/NLL39693
Вроде работает, но при большом числе запросов из public static void Main
открывается куча потоков. Как их закрывать/подтормаживать, абортить - хуй знает.
Там же Thread.Sleep используется, а он то ли для текущего треда, то ли для всей программы срабатывает.
Аноним 22/02/20 Суб 05:09:09 1611077850
>>1611072
Потому что long_time_method запускается в отдельном потоке,
id которого видно в System.Threading.Thread.CurrentThread.ManagedThreadId:
https://rextester.com/CITZO33999
>при большом числе запросов из public static void Main
>открывается куча потоков
Так что, надо как-то - обобщить всё это.
Аноним 22/02/20 Суб 07:50:23 1611114851
>>1611077
Пришлось создать ещё один список потоков, чтобы пришпандорить IAsyncResult: https://rextester.com/EDEDA45116
С множеством запросов rextester не хочет работать, ругается, поэтому вот: https://repl.it/repls/UnlawfulMundaneDebugmonitor
Не всегда запускается, иногда тоже ошибки выдаёт...
Хуета-то какая. Можно как-то попроще это сделать?
Аноним 22/02/20 Суб 09:41:32 1611174852
Аноним 22/02/20 Суб 10:56:42 1611239853
>>1610063
>Идея с этой ссаной бордой может и не плохая
Ссаные у тебя панталоны, а борда эта - просто заебата.

>я не знаю как все эти чейн хешкоды работают, видимо у вас есть опыт из шифрования крипты, мне похуй
Хэш - это просто уникальная строчка, наподобие контрольной суммы, но длинее,
и рассчитываются хэши - самыми разными криптостойкими алгоритмами хэширования:
https://ru.infobyip.com/hashcalculator.php
Аноним 22/02/20 Суб 11:14:09 1611253854
>>1609620
>Thread.Sleep(2000); тормозит всю программу, блядь
>thread.Sleep(2000); //затормозить только поток, в котором выполняется метод
System.Threading.Thread.CurrentThread.Sleep(milliseconds);
пробовал?

P.S.: Чё-то не робит: https://rextester.com/VHZZ17914
А вот c Suspend и Resume по таймеру - робит: https://rextester.com/DHYPO32923
Аноним 22/02/20 Суб 14:22:48 1611400855
Как дебажить в шарпе, кроме Console.WriteLine(...)?
Ставить точку останова и наводить мышкой, чтобы смотреть содержание переменной? Или есть более совершенные техники, которые применяют сеньоры?
Аноним 22/02/20 Суб 14:59:05 1611439856
>>1611400
Не забывай про F10, F11 и Shift + F11
Аноним 22/02/20 Суб 15:20:24 1611454857
Аноним 22/02/20 Суб 18:53:14 1611671858
>>1611239
>Ссаные у тебя панталоны
любитель цп сгорел
>а борда эта
только куском говна на гите лежит
>Хэш - это просто уникальная строчка, наподобие контрольной суммы, но длинее,
и рассчитываются хэши - самыми разными криптостойкими алгоритмами хэширования:
>>1610063
>мне похуй
Аноним 22/02/20 Суб 19:09:24 1611687859
>>1611064
Ты зачем котэ обижаешь, сука.
Аноним 22/02/20 Суб 19:17:33 1611698860
>>1611671
>любитель цп сгорел
Какие же вы чмоньки, пиздец, со своей манечкой этой.
Как будто, кроме цп на наноборде, и вообще на скрытобордах в дарквебе - нихуя годного нет.
Как только в сети появляется ресурс, направленный на то, чтобы гарантировать свободное общение, без мочерации ссаной,
так сразу начинаются вайпы, хаки, или вброс похабного контента, вроде ЦП - чтобы абузами домен закидать.
А вот хуй вам. Это onion. Это TOR. Там ещё BitMessage транспорт есть, между прочим.
А наноборда - это плацдарм для проведения научных дискуссий, в среде, где каждый может настроить её под себя - децентрализированно.
Аноним 22/02/20 Суб 19:25:03 1611709861
>>1611671
>только куском говна на гите лежит
Ты думаешь кто-то будет вам палить годноту?
Настоящая наноборда имеет четыре миллиарда активных пользователей и три миллиарда реактивных.
22/02/20 Суб 20:54:40 1611814862
>>1611709
И 15 миллиардов пассивных
Аноним 22/02/20 Суб 21:04:32 1611827863
>>1611454
>log4net
Скопировали с log4j!
Аноним 22/02/20 Суб 21:35:23 1611903864
В общем, повесили на меня студента. Должен буду давать заключение о прохождении испытательного срока Я увидел в его коде такую вот фигню:
void foo(ref Message message, ref byte[] data);
И вот что теперь с ним делать? Вроде как с задачей что я ему дал он справился, но ведь блин, базовая вещь про то что классы и массивы в шарпе - ссылочные типы. Просто объяснить ему это и пусть считается что испытательный срок он прошел или лучше сказать начальнику чтобы послал его доучиваться?
Аноним 22/02/20 Суб 21:46:31 1611928865
>>1611903
Может сперва ты напишешь, почему он использовал ref и какая была задача?
Аноним 22/02/20 Суб 22:07:32 1611964866
>>1611903
Пусть тебя, долбоеба, доучиваться посылает. ref можно использовать и для ссылочных типов, зависит от тела метода в который ты их передаешь.
Если ты передаешь ссылочный тип без ref, то передается копия ссылки, а не оригинал. Ты можешь использовать эту копию для модификации объекта, но при переназначении непосредственно ссылки, переменная в вызывающем коде не изменит своего значения, т. е. в ней также останется ссылка на старый объект. Другое дело при передаче ссылочного типа с ref. Ты можешь использовать её как для модификации объекта, так и для назначения нового указателя.

Типичный эксперт, который ничего сам не знает, но кого-то учить собрался, блять. Ладно ты этого не знаешь, но мозги вообще не работают что ли? Если бы значения не имело, то тебе бы компилятор об этом говорил.
Аноним 22/02/20 Суб 22:23:15 1611985867
Аноним 22/02/20 Суб 22:24:38 1611989868
>>1611964
Ты серьезно думаешь что я этого не знаю и спрашивал бы в случае если там переопределения ссылки происходили? Он просто дергает из массива данные? приводит их к нужному типу и присваивает свойствам сообщения. Там ref не нужен от слова совсем. Но он есть. И это, лично меня, смущает.
Аноним 22/02/20 Суб 22:46:01 1612014869
>>1611989
Да-да, быстро ты переобулся. Но ведь это ты писал:
>Вроде как с задачей что я ему дал он справился, но ведь блин, базовая вещь про то что классы и массивы в шарпе - ссылочные типы.
>что классы и массивы в шарпе - ссылочные типы.
Какое это отношение имеет к модификатору ref? Читается именно как "это же ссылочные типы, их не надо с ref передавать ))) 0))) "
Аноним 22/02/20 Суб 23:38:24 1612070870
>>1612014
Господи, ты действительно думаешь, что с 2010 года я ни разу ref не использовал и не знаю когда он нужен, а когда нет? Блядь, я волнуюсь о том, что это первый студент решение о взятии которого полностью доверили мне, если я скажу что все ОК, то ответственность за то что он напишет и на мне лежать будет, хуй знает чего он еще не знает, потом мне его код переписывать придется; с другой стороны, он, вроде как, смышленый и вообще работать хочет, сделал задание за вечер, хотя ему дали неделю. А ты тут самоутверждаться пытаешься. Из-за тебя я сейчас бомбану и в понедельник пошлю его нахуй, просто потому что анон с двача испортил мне настроение в выходные.
Аноним 22/02/20 Суб 23:43:33 1612078871
>>1612070
Человек приводит пример с передачей ссылочного типа по ссылке, при этом не приводит тело метода и даже не уточняет, что в этом нет необходимости. Человек зачем-то упоминает, что массивы и классы это ссылочные типы.
Очевидно, что если бы он знал как работает ref со ссылочными типами, то он так бы не обосрался. Поэтому хватит пытаться оправдаться перед самим собой, лучше заполни пробелы в своих знаниях.
Аноним 23/02/20 Вск 00:16:17 1612124872
>>1612078
Блядь, потому что я думаю, что это, очевидно. Неужели тебе не понятно?
Вот, смотри тело методов:
public async void HandleAcceptedData(ref Message message, ref byte[] data)
{
message.Type = (Message.MessageType)data[0];
switch (message.Type)
{
case Message.MessageType.auth: await OnAuth(ref message, ref data);break;
case Message.MessageType.register: await OnReg(ref message, ref data); break;
case Message.MessageType.message: OnMessage(ref message, ref data); break;
default: throw new ArgumentException("Неизвестный тип сообщения");
}
}
private async Task OnReg(ref Message message, ref byte[] data)
{
message.Type =Message.MessageType.register;
var regString = Encoding.ASCII.GetString(data, 1,data.Length-2).Split("\0");
var UserName = regString[0];
var Password = regString[1];
Console.WriteLine($"Is reg message: {UserName}, {Password}");
var isRegistred = await SaveUser(UserName, Password);
Console.WriteLine($"User registred: {isRegistred}");
}

private async Task OnAuth(ref Message message, ref byte[] data)
{
var regString = Encoding.ASCII.GetString(data, 1, data.Length - 2).Split("\0");
var UserName = regString[0];
var Password = regString[1];
Console.WriteLine($"Is reg message: {UserName}, {Password}");
var isValidUser = await ChekUser(UserName, Password);
Console.WriteLine($"User registred: {isValidUser}");
}

private void OnMessage(ref Message message, ref byte[] data)
{
string messageString = Encoding.ASCII.GetString(data, 1, data.Length - 2);
Console.WriteLine($"Is message: {messageString}");
}

Где, блядь, ты такая, тут нужно ref использовать? Блядь, у меня теперь действительно горит, сука.
Аноним 23/02/20 Вск 00:19:15 1612129873
>>1612070
> Из-за тебя я сейчас бомбану и в понедельник пошлю его нахуй, просто потому что анон с двача испортил мне настроение в выходные.
> Мам, я не хотел собеседовать, мне навязали
> Мам, я боюсь ответственности, боюсь спросить что-нибудь ещё у кандидата, это говорить надо, а я пук среньк только умею
> РРРЯЯЯЯ ВЫ УБЛЮДКИ Я ИВО УВОЛЮ ВСЕХ УВОЛЮ
Ой-вей
Аноним 23/02/20 Вск 00:22:12 1612132874
>>1612129
Все так. Я не хотел собеседовать, мне сказали - надо. Что я мог поделать?
Аноним 23/02/20 Вск 00:22:53 1612135875
>>1612124
Есть же пастебин или .net fiddle. Как читать это - непонятно.
Аноним 23/02/20 Вск 00:29:53 1612148876
>>1612132
А отказаться нельзя?
Мне предлагали подобрать человека самому, но ебал я это дело, хоть и набирать его надо было на мои же задачи
Подождал начальника, собеседовали вдвоём

По поводу твоего случая — спроси кандидата, а не тред. Может, у него свои мысли на этот счёт, а, может, по запаре оставил и вы оба посмеетесь над этим пустяком. Все же он за один вечер сделал я бы только половину тестов накидал к этому времени
Аноним 23/02/20 Вск 02:23:31 1612205877
Антоны, че за хуйня, у меня в файле 150к строк, я для каждой из них создаю и сразу же запускаю таск.
В итоге не все таски выполняются, как так?
23/02/20 Вск 11:33:28 1612319878
>>1612205
Смотри в код, там что-то не так написано.
Аноним 23/02/20 Вск 11:42:15 1612322879
>>1612205
Может, ты забыл поставить приоритет, или не ждешь, пока все закончатся
Аноним 23/02/20 Вск 13:19:25 1612389880
>>1612205
Вангую что ты не ждешь таски. У меня на миллионе тасков все нормально работает.
Аноним 23/02/20 Вск 15:40:14 1612575881
>>1612124
нахуя он в каждом кейсе ref добавляет? Ты его спроси лучше адекватно, что он этим кодом хочет сделать
Аноним 23/02/20 Вск 19:04:36 1612850882
>>1612389
>>1612322
Да, я не ждал тасков, но почему они не выполняются?
Алсо, еще ошибка была в race condition, чтобы уникальные имена для файлов сгенерить в многопоточке нужно еще и поебаться.
Сейчас все поправил.
Аноним 23/02/20 Вск 20:39:16 1612971883
>>1612124
>Encoding.ASCII
2020 год в шарпе.
Аноним 24/02/20 Пнд 02:41:56 1613287884
image.png (8Кб, 739x234)
739x234
В чём смысл в контроллерах делать async варианты методов и добавлять в них await, особенно когда просто берётся из dbcontext'а список объектов? Просто как я понимаю, что сервер будь то IIS или kestrel всё равно не в одном потоке каждый запрос обрабатывает, а кидает их в очередь, которая равномерно хендлится каким нибудь thread pool'ом. И зачем тогда городить новый тред?
Аноним 24/02/20 Пнд 02:51:13 1613288885
Аноним 24/02/20 Пнд 11:06:27 1613388886
Посоны, посоветуйте хорошие видео или подкасты по шарпу уровня Рихтера, чтобы смотреть в дороге на работу?
Аноним 24/02/20 Пнд 11:19:47 1613399887
Аноним 24/02/20 Пнд 12:54:11 1613462888
>>1613388
CODE BLOG канал на ютабчике
у него разбор рихтера по главам есть (правда пока не всего)
+ понятные уроки по основам языка и алгоритмам
+ практические уроки по ASP и WPF
Аноним 24/02/20 Пнд 14:22:05 1613534889
>>1586030 (OP)
Как избавиться от этих варнингов, ебучих?
> warning CS0618: 'System.Threading.Thread.Suspend()' является устаревшим:
> warning CS0618: 'System.Threading.Thread.Resume()' является устаревшим:
>'Thread.Resume has been deprecated. Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources. http://go.microsoft.com/fwlink/?linkid=14202'

Есть поток, он приостанавливается при помощи Thread.Suspend()
Есть таймер, который после окончания маймаута запускает метод, внутри которого thread.Resume(),
где (Thread) thead = new Thread(бла-бла, тот самый поток, в котором сработал Thread.Suspend())
Как всю эту хрень сделать на мютексах, семафорах, и синхронизации сихронизациоаналичной, чтобы эти варнинги не пёрли, и чтобы заебись было?
Аноним 24/02/20 Пнд 14:24:14 1613538890
>>1613534
>Как всю эту хрень сделать на мютексах, семафорах, и синхронизации сихронизациоаналичной, чтобы эти варнинги не пёрли, и чтобы заебись было?

И чего ты ожидаешь? То что тебе в одном посте объяснят весь раздел под названием "Асинхронное программирование и многопоточность"? Открываешь книжечку, открываешь статьи, открываешь гайды и учишь, а потом используешь.
Аноним 24/02/20 Пнд 14:29:12 1613544891
>>1613534
А пока, чтобы эти варнинги - глаза не мозолили,
просто отключил их нахуй, при помощи дедовского метода:
>#pragma warning disable 0618
>#pragma warning restore 0618
Аноним 24/02/20 Пнд 14:30:15 1613545892
>>1613538
Хоть бы ссылку дал, а то щас в шлаке нагугленном на StackOverflow буду колупаться, гляну по-бырому и закрою нафиг.
Аноним 24/02/20 Пнд 14:50:19 1613563893
>>1613545
Какую тебе ссылку дать, скотина тупорылая? Ты настолько тупой и даже не осознаешь, что для того чтобы тебе дать ссылку, нужно хотя бы малейшее представление иметь о уровне твоих текущих знаний.
Аноним 24/02/20 Пнд 15:30:28 1613594894
1.jpg (217Кб, 1920x1080)
1920x1080
2.jpg (4Кб, 225x225)
225x225
Such lang much design
Аноним 24/02/20 Пнд 17:00:21 1613647895
image.png (6275Кб, 3409x1919)
3409x1919
image.png (9Кб, 541x78)
541x78
анон помоги, предположим у меня есть массив элементов,
у элементов есть value, вот например мы выбрали какой-то из массива, и взяли его value, как можно сравнить сколько процентов элементов имеют value ниже чем выбранный?
Аноним 24/02/20 Пнд 17:01:07 1613649896
image.png (6275Кб, 3409x1919)
3409x1919
image.png (9Кб, 541x78)
541x78
анон помоги, предположим у меня есть массив элементов,
у элементов есть value, вот например мы выбрали какой-то из массива, и взяли его value, как можно сравнить сколько процентов элементов имеют value ниже чем выбранный?
Аноним 24/02/20 Пнд 18:57:43 1613785897
image.png (389Кб, 570x480)
570x480
можно ли поделить timespan на timespan?
Аноним 24/02/20 Пнд 19:09:26 1613801898
>>1613785
Нет, можно только вычитать и складывать. Нахуй тебе временные отрезки делить? Ты долбоеб?
Аноним 24/02/20 Пнд 19:12:26 1613803899
>>1613563
Не знаешь решения простейшего вопроса - сидел бы да помалкивал, и не позорил бы мои тапочки, мразь дегенеративная.
Но нет, оно, ещё пытается тщетно пытаться попонтоваться тут, без пруфов конечно, и нихуя при этом не зная.
Причём тут многопоточность, блядь? Причём тут асинхронность?
У меня простейшая задача - остановить бесконечный цикл, и возобновить его так, чтобы в одном потоке это было,
и чтобы не блочилась вся программа, и не свистел кулер на греющемся процессоре, пока оно спит.
Аноним 24/02/20 Пнд 19:17:54 1613810900
>>1613803
>синхронизация, мьютекс, семафор
>Причём тут многопоточность, блядь? Причём тут асинхронность?

Шизик, лучше скажи, когда у тебя следующий период диспансеризации? Когда ждать исчезновения твоих шизовысеров и шизобреда про борду?
Аноним 24/02/20 Пнд 19:20:52 1613815901
>>1613803
И еще. Почему твой шизоглаз пал именно на шарп? Пиздуй в С-тред, стиль написания программ на котором как раз похож на твой топорный, при этом будешь мамке хвастать, что пишешь на самом производительном языке.
Аноним 24/02/20 Пнд 19:30:08 1613825902
>>1613810
Лол, хоть я и не шизик, но некоторые на этом мочане меня так называли уже, поэтому отвечу...
На учёте не состою нигде, потому что аноним,
шизовысеры и так мочерация потрёт, потому что мочан,
а на шарпе уже год шкрябаю свой говнокод просто потому что борода на шарпе, блеать.
Переписывать всё это на сишечке - даже не предлагай, иначе увидишь здесь ультрашизовысеры, когда я уже - окончательно головой поеду.
Аноним 24/02/20 Пнд 19:41:17 1613842903
>>1613803
>У меня простейшая задача - остановить бесконечный цикл, и возобновить его так,
>чтобы в одном потоке это было,
>и чтобы не блочилась вся программа,
>и не свистел кулер на греющемся процессоре, пока оно спит.

>>1609828
>Судя по примерам кода,
>при использовании EAP на IAsyncResult BeginInvoke,
>всё равно тормозят ответ при помощи Thread.Sleep(milliseconds)
>>1609913
>Thread.Sleep(milliseconds)
>симулируют долгое выполнение метода
Вот именно, что СИМУЛИРУЮТ.
В Thread.Sleep(milliseconds), походу, используется что-то вроде:
>while(!stop){}//do nothing
Поэтому оно и тормозит всю программу.
Поэтому,
>public static System.Threading.Thread thread = null;
>public static Object method(){
>    thread = System.Threading.Thread.CurrentThread;
>    while(true){
>        #pragma warning disable 0618
>        System.Threading.Thread.CurrentThread.Suspend(); //suspend the current thread.
>        #pragma warning restore 0618
>        //do stuff
>    }
и thread.Resume() - по таймеру, где thread - это (System.Threading.Thread) System.Threading.Thread.CurrentThread;
Аноним 24/02/20 Пнд 20:01:37 1613855904
>>1613534
>мютексах, семафорах, и синхронизации
при async await эту срань еще используют?
Аноним 24/02/20 Пнд 20:02:24 1613857905
тред грузится хуй его знает сколько, сделайте кто ни будь уже перекат
Аноним 24/02/20 Пнд 20:44:48 1613901906
Аноним 24/02/20 Пнд 21:10:39 1613951907
>>1613649
Сортируешь его по value, выбираешь элемент по индексу. Всё что ниже этого индекса - количество элементов у которых value ниже чем у выбранного. Считаешь процент. Например, если из 100 элементов выбран элемент с индексом 2, значит 97% элементов имеют value ниже, чем выбранный элемент, 2% имеют value выше.
Аноним 24/02/20 Пнд 21:20:50 1613960908
>>1613951
>>1613649

Нужный тебе процент можно вычислять по формуле:
100 - (количество элементов массива / 100 x (индекс элемента + 1))

Получается если брать массив из 150 элементов сортированный по убыванию value, и взять элемент с индексом 2, то получаем:

100 - (150 / 100 x (2 + 1)) = 95.5%
Аноним 24/02/20 Пнд 22:10:22 1614003909
>>1613842
Вот так заебись, а то от рекурсивного вызова - разочек выхватил Throw StackOverFlowException, после чего, начал неистово рвать себе волосы на жопе.
Аноним 24/02/20 Пнд 22:24:45 1614015910
>>1613855
Конечно, это же разные вещи.
Аноним 25/02/20 Втр 01:07:28 1614214911
В asp.net core кто ни будь logger из коробки юзает? Проебался с ним часа 2 - такое говнище, пиздец. Делает записи только через cmd запуск, не сохраняет лог файлы. NLog так же используется?
Аноним 25/02/20 Втр 01:50:41 1614228912
>>1614214
Анон, ты сейчас глаза мне открыл. Я думал, зачем такой куцый логгер, а оно вона зачем — в линуксе же можно направить вывод логов в файл. Что-то там с stdout, но я не шарю

Сам использую serilog. Два подводных:
1) внезапно начал жрать два ядра ксенона по 20% от каждого. После того, как вычистил из проекта и вернулся к нему же — жор прекратится
2) все завязано на определённую структуру логов, но на неё забить можно
Аноним 25/02/20 Втр 02:07:27 1614233913
>>1614214
Ещё забыл добавить, что мне нужно было в mssql базу писать
Но в файл тоже можно
Аноним 25/02/20 Втр 11:13:21 1614399914
>>1613901
все верно, мне нужны только уже законченные игры, игры в процессе я не показываю
Аноним 25/02/20 Втр 11:14:40 1614402915
>>1613801
что бы получить коэффициент, то-есть процент затраченного времени от базы
Аноним 25/02/20 Втр 13:26:30 1614586916
>>1613785
>>1614402
Можно, но только в коре. А в фв можешь взять из спана секунды/милисекунды/etc и делить их.
Неужели проще писать на дваче, ждать и получить неполный ответ, чем написать одну строчку кода и увидеть самому?
Аноним 25/02/20 Втр 13:28:30 1614589917
>>1614586
А не, есть метод Devide в фв, так что дели на здоровье
Аноним 25/02/20 Втр 13:30:45 1614590918
>>1614589
А не, это же метод в коре, у меня мсдн не хочет переключаться между версиями в хроме, пора переходить на Edge
Аноним 25/02/20 Втр 13:32:54 1614595919
image.png (253Кб, 620x916)
620x916
>>1614586
да мне не особо важно было, я пока сделал конверт 32 и пошел дальше, жаль на такие мелкие вещи время тратить, а тут аноны добрые и знающие всегда подскажут, и когда подсказывают я тот костыль меняю на нормальный рабочий способ, разве плохо?
Аноним 25/02/20 Втр 15:01:39 1614646920
>>1613960
а как мне индекс моего клиента узнать? я могу выбрать его игру из массива, но какой метод использовать что бы получить индекс этой игры в массиве?
Аноним 25/02/20 Втр 15:24:41 1614679921
image.png (75Кб, 157x320)
157x320
спасибо анон я решил
Аноним 25/02/20 Втр 15:44:31 1614710922
>>1614646
с помощью метода FindIndex
Аноним 25/02/20 Втр 15:44:44 1614712923
image.png (7Кб, 542x126)
542x126
>>1613960
ты обосрался долбоеб
Аноним 25/02/20 Втр 16:05:23 1614730924
>>1614712
Попробуй так:

100 - ((индекс элемента + 1) / (количество элементов массива / 100))

100 - ( (70 + 1) / (150 / 100) ) = 52.66%
Аноним 25/02/20 Втр 16:08:28 1614732925
image.png (686Кб, 600x777)
600x777
>>1614730
да я уже решил >>1614679 я решил по другому но все равно спасибо анон
Аноним 25/02/20 Втр 16:14:20 1614733926
>>1613649
Element[] elements = new Element[111];
var e = elements[13];
var count = elements.Count(x => x.Value < e.Value);
var rating = (count * 100d) / elements.Length;
Аноним 25/02/20 Втр 23:06:29 1615048927
Поясните нубу. Есть ли какой-то механизм, который бы указывал комплиятору, что при имплементации интерфейса свойство/ридонли поле должно иметь какое-то определенное значение и никакое другое?
Ну, например, вот я хочу чтобы при имплементации моего интерфейса стрим бы были с CanRead == true, можно ли это как-то на этапе описания интерфейса сделать?
Аноним 25/02/20 Втр 23:50:16 1615093928
>>1615048
Через абстрактный класс/просто класс который наследует твой интерфейс.
Аноним 26/02/20 Срд 17:06:08 1615797929
извините за глупый вопрос но как сгенерировать уникальный ключ в формате varchar(max)
Аноним 26/02/20 Срд 17:18:11 1615816930
Аноним 26/02/20 Срд 17:24:43 1615827931
image.png (407Кб, 512x321)
512x321
>>1615816
спасибо тебе добрый анон, все таки Сишарп Тред лучший тред по языкам программирования на дваче, мне никогда в других тредах так быстро не отвечают
Аноним 26/02/20 Срд 17:30:24 1615836932
>>1615816
Даже вот так: https://rextester.com/ONHT63249
Чтобы был виден процесс генерации, и преобразование между символом и его кодом.
Аноним 26/02/20 Срд 18:22:17 1615904933
>>1615827
не умеющий пользоваться Random? Пошел нахуй отседова, добрый ты наш. Тебе быстро отвечают, потому что ебаные решетки учат только индусы и говностуденты шараг, нечему удивляться
Аноним 26/02/20 Срд 19:54:50 1616015934
image.png (6Кб, 203x251)
203x251
image.png (6Кб, 215x266)
215x266
image.png (6Кб, 195x260)
195x260
image.png (7Кб, 825x140)
825x140
сап пр, почему так(пик1) работает, а так(пик2, 3) нет?
Аноним 26/02/20 Срд 21:42:54 1616216935
Опытные дяди, подскажите, стоит ли сейчас изучать ASP.NET MVC или сразу переходить на ASP.NET CORE?
Насколько востребован вообще старый MVC?
Аноним 26/02/20 Срд 22:29:49 1616274936
>>1615797
>>1615816
Почему бы не использовать GUID?
>>1616015
Потому что по дефолту, если не указан модификатор, то для методов используется private, а интерфейс требует protected(pic2)/public(pic 3)
>>1616216
Смотри вакансии в своей местности, а так похуй, учи что хочешькор.
Аноним 27/02/20 Чтв 08:42:06 1616462937
>>1616216
и то и другое. В перспективе на будущее конечно же кор, но можешь и на легаси попасться.
Аноним 27/02/20 Чтв 14:22:44 1616990938
Безымянный.png (64Кб, 647x217)
647x217
>>1586030 (OP)
Програмач как сделать подобное? Когда в функуциях подписаны названия переменных например time?
Аноним 27/02/20 Чтв 14:27:06 1616993939
>>1616990
гугли именованные параметры
Аноним 27/02/20 Чтв 15:13:18 1617071940
>>1616990
У тебя на скриншоте Rider
Аноним 27/02/20 Чтв 15:15:40 1617079941
>>1616993
Именованные параметры тут не причём кроме того, что они имеют имя, на скриншоте подсказки от JetBrains'овских штук
Аноним 27/02/20 Чтв 15:19:43 1617091942
>>1617079
>JetBrains
таких петухов не знаем, у нас православная VS от мелкософта в code navigation такая функция должна быть, влень искать
Аноним 27/02/20 Чтв 15:25:52 1617100943
>>1617091
Да-да, анон, конечно я от голой студии охуеваю. Хотя бы автоимпорт бы завезли бы к 20 версии
Аноним 27/02/20 Чтв 15:38:35 1617126944
>>1617079
> подсказки от JetBrains
Ну тогда, наверно, решарпер так может.
Аноним 27/02/20 Чтв 15:56:31 1617152945
Bill-Gates-diab[...].jpg (20Кб, 290x332)
290x332
>>1617100
Извинись
Решарпер уже плавает по вижле уже добрых 5 лет, все никак не могут закопипастить его в плагины
Аноним 27/02/20 Чтв 16:03:31 1617170946
>>1617091
вот сичас не понял, тру пацаны используют csc.exe + блокнот
Аноним 27/02/20 Чтв 16:16:29 1617198947
>>1617126
Может, конечно, но на скрине Rider
>>1617152
LINUX POWER
Что значит плавает? В платины они его перевести не могут, так как api не имеет нужного функционала. В итоге по 20 секунд пропердывается при старте на последнем i7
Аноним 27/02/20 Чтв 16:35:28 1617233948
hqdefault.jpg (16Кб, 480x360)
480x360
>>1617198
>Что значит плавает?
R# самая популярная надстройка для вижлы, дауны мелкософта не могут реализовать функционал ссаной надстройки в саму вижлу. Это какой-то... позор
Я иногда диву даю, какие мелкософты дебилы. Хотят быть здесь и сейчас везде, где только можно перднуть, тем не менее забивают болт на текущих клиентов. Жаль они со своим шиндовс на коне были, так бы их уже давно похоронили
Аноним 27/02/20 Чтв 16:39:05 1617244949
>>1617233
Они понемногу добавляют фичи в студию, если пользовался старыми — заметишь разницу
Но они вряд ли запилят свой "решарпер" в студию — мелкомягкие всегда давали развиваться вокруг своих продуктов другим компаниям
Аноним 27/02/20 Чтв 16:46:19 1617251950
>>1617244
>всегда давали развиваться вокруг своих продуктов другим компаниям
>анальная огороженность кода
>анальные наказания за нарушение копирайта

В голос.
Аноним 27/02/20 Чтв 16:58:05 1617263951
>>1617244
мелкомягкие такие уебки, что если бы не опенсоурс, они бы сорсы Core в жизне не открыли (которые сейчас чуть более, чем на половину состоят из опенсоурс кода).
Боже, сделай так, чтобы Rust захватил рыночек. Молю.
Аноним 27/02/20 Чтв 17:56:37 1617316952
изображение.png (8Кб, 332x276)
332x276
Прочитал в книге что string это reference type. Почему тогда пикрелейтед?
Аноним 27/02/20 Чтв 19:28:28 1617390953
>>1617316
Потому что ты ссылку, лежащую в хизнейм, меняешь
А ссылка в майнейм остаётся той же

Аноним 27/02/20 Чтв 19:32:21 1617395954
>>1617316
Но ссылка-то копируется. У тебя myName и name - две переменные ссылающиеся на один объект, ты меняешь name - т.е. теперь name ссылается на ивана, а myName на андрея. Ты поменял только ссылки, но не объекты. И еще, если книга не с помойки, то там еще написано, что у стринг неизменяемый тип, хотя на твой код это не влияет.
Аноним 27/02/20 Чтв 19:37:47 1617406955
Как заебало блядь в моей 1.5кк мухосрани сука все джун вакансии на Шарп это ебаный фулстек
Хотел укатиться со своего фулстека на чистый бек, а нихуя, пиши сука на жаваскрипте фронт блядь
Хоть на жаву перекатывайся бобы крутить блядь
Аноним 27/02/20 Чтв 19:43:12 1617409956
Поясните нубу за правильную структуру проекта. Просто я, как бака, для любой сепарированной сущности создаю отдельный каталог,и получается что у меня куча папок в проекте: Unit, Logic, Gui, Engine... и т.д. Ну и почему меня это напрягает: Когда нужно быстро что-то найти, приходится кучу времени тратить на то чтобы открыть нужную папку, ведь в них еще вложенность. И мне кажется что проще было бы весь код хранить в одной папке, ну или на крайний случай, вместо папок использовать проекты библиотек. Вот мне и интересно, как нормальные люди это все организуют.
Аноним 27/02/20 Чтв 20:28:06 1617425957
>>1616274
>Потому что по дефолту, если не указан модификатор, то для методов используется private, а интерфейс требует protected(pic2)/public(pic 3)
я знаю, но на 2 и 3 пик я указываю модификаторы, но все равно область видимости не позволяет мне юзать метод. В чем проблема?
Аноним 27/02/20 Чтв 22:24:37 1617520958
>>1617425
>я знаю
Видимо нет.
> я указываю модификаторы
неправильные
>область видимости
при чем тут область видимости?
>В чем проблема?
В том, что ты не умеешь читать
Аноним 27/02/20 Чтв 22:29:49 1617525959
Аноним 27/02/20 Чтв 23:59:08 1617590960
Тут есть те, кто уже давно работают и имеют опыт, мне интересно узнать ваши повседневные задачи и какими технологиями пользуетесь, еще бы хотелось знать что нужно знать помимо шарпа, если я не хочу работать с вебом
Аноним 28/02/20 Птн 01:08:52 1617643961
>>1617590
>нужно знать помимо шарпа, если я не хочу работать с вебом

Шарп это только веб, всё остальное у С++, С или Python
Аноним 28/02/20 Птн 06:49:54 1617729962
>>1617520
ты сам написал, что интерфейс требует либо паблик либо протектед, а когда я сказал что указываю их, ты начинаешь говорить что это НИ ТЕ модификаторы
Аноним 28/02/20 Птн 06:56:54 1617730963
>>1617643
>Шарп это только веб
Неа.
Аноним 28/02/20 Птн 07:12:08 1617731964
>>1586030 (OP)
Как при помощи C# на .NET Framework 3.5
скачать файл через TOR SOCKS5 Proxy,
сделав из него HTTP-proxy,
и отправив запрос c WebClient'a?
Аноним 28/02/20 Птн 07:39:39 1617740965
Аноним 28/02/20 Птн 08:49:19 1617753966
>>1617406
думаешь на джаве другое? Просто слишком хитровыебанные стали
>>1617590
слишком широкий спектр. 99% веб
Аноним 28/02/20 Птн 11:56:43 1617850967
>>1617753
На джаве ты фронт не попишешь гвт мертв, а вот .нет мвс из коробки даёт тебе шаблонизатор на шарпе, поэтому работодатели подразумевают что ты будешь уметь ВСЕ
+ горы легаси на разоре, ага
Аноним 28/02/20 Птн 12:27:52 1617878968
>>1617731
В шарпе нет поддержки SOCKS прокси, придется либо самому писать, либо качать стороннюю библиотеку
Аноним 28/02/20 Птн 12:44:59 1617894969
>>1617850
>работодатели
эти РАБотодатели из воздуха берут требования и не знают своего штата? Просто .NET-чики такие куколды, что проглотили Razor, а вместе с ним и Jquery, JS, React/Angular сразу став Full stack (сами того не осознавая).
Рыночек .NET-а гнилой, спроса мало, потребности много. Сейчас долбоебы готовы за бесплатно работать (в прямом смысле), только чтобы влезть, что говорить тогда о фронте на .NET? Но это еще не самое дно - ты еще должен уметь IIS настроить, Докер вертеть (деплой в том числе). И не забывай, что код должен быть покрыт юнит тестами (без хуйни, настоящими). Завтра моча в голову ударит - могут на Mongo перекинуть, т.к. MsSql дохуя как стоит, могут вообще нахуй выкинуть.
Сейчас в любую вакансию смотришь - WebAPI+JS+Framework. Это в вакансиях .NET КАРЛ.
Я уже посматриваю, куда выкатиться можно из этой помойки ебучей, а дурачки тут орут, как охуенны решеточки. Язык то может и не плох, но то, что творится в СНГ рынке на аутстафе - это пиздец и ад
Аноним 28/02/20 Птн 16:33:02 1618094970
>>1617894
Двачую
Влез на свою беду полгода назад, мучаюсь с ебучим жкури теперь
Хочу свалить, но нужно переучиваться и терять в ЗП, пиздец просто
Аноним 28/02/20 Птн 21:15:08 1618352971
А что это у нас? А это очередной студент распиздяй просит помощи.

В общем, кто поможет сделать 2 лабы?
Аноним 28/02/20 Птн 21:27:09 1618363972
>>1617894
>Это в вакансиях .NET КАРЛ.
В вакансиях про розовых пони пишут.

>WebAPI+JS+Framework
Приходишь такой на проект и говна наворачиваешь:
- нет никаких вебапи
- жс код пишет другая команда
- злобный архитектор запрещает использовать энтити фреймворк
- юнит тесты пишутся по праздникам и вообще, это интеграционные тесты
Если хоть один пункт не совпадает, то, голубчик, твой проект никому ненужная хуйня в вакууме.

>творится в СНГ рынке на аутстафе
Как же хорошо, что я не в снг и не на аутстафе.
Аноним 28/02/20 Птн 21:29:02 1618365973
Аноним 28/02/20 Птн 21:56:13 1618383974
Безжалостные твари.
Аноним 29/02/20 Суб 00:07:56 1618495975
>>1618363
> - злобный архитектор запрещает использовать энтити фреймворк
За щооо
Аноним 29/02/20 Суб 00:50:54 1618519976
>>1618352
пошел нахуй, мразь
>>1618363
>В вакансиях про розовых пони пишут.
А языком ты спрашиваешь реальный стэк у задрота на тех. собесе. Не нравиться - идешь нахуй домой
>Приходишь такой на проект и говна наворачиваешь:
"Короче это, тут немецкая GPS апликуха, нужно админку им сначала подпилить. Да там хуйня, Jquery и Vanialla JS. Да это изи все, знаешь .NET, то что у них - раз плюнуть. Допилил? Красава. У них вообщем в стафе есть бэкер, но им еще нужно UI подправить, там чуть чуть. Да это заказчик сопли жевал 3 часа в конфе, там на React-е в JSX пару компонентов выкатить и все. Ты кстати с докером работал? Вот как раз экспу набьешь - они хотят реализовать компоузы. А чего ты сидишь, уже справился? Там дверь скрипит, не можешь петли смазать?" - Жизнь .NET долбоеба разработчика
>как же хорошо, что я не в снг и не на аутстафе.
СНГшный раб, хуже собаки за бугром. Пиздел с одним датчанином - .NETчик фул стек. Мужику 40 лет, за всю жизнь работал на 3 проектах (называет себя фрилансером). Рассказал мне прохладную историю, что у бургов локальные чаты (в Дании так точно), где хантят только своих и даже не в офис, а на удаленку. Спрашивал насчет нашего брата - говорит никто связываться не хочет, что то на уровне Раджешей Кутропали или даже выше.
Короче учите дальше свои решеточки, будете мне кофе носить
Ошибка постинга: Bad Gateway
Аноним 29/02/20 Суб 06:45:47 1618587977
Привет аноны. Как работать с KeyValuePair? Мне нужно взять каждый ключ и его изменить, после чего у меня будет список ключей и как из этого мне сделать список KeyValuePair

Примерная операция:

//List<KeyValuePair<key, value>>
var values = path.Value.Operations.Select(pair => pair).ToList();

Теперь мне надо в этом списке каждый key в KeyValuePair изменить и вернуть на место как быть?
Аноним 29/02/20 Суб 09:08:26 1618608978
>>1618587
KeyValuePair не предоставляет возможности менять свои поля плюс это структура. Поэтому создавай новую с нужными значениями и заменяй ей старую.
Аноним 29/02/20 Суб 09:11:13 1618610979
>>1618608
а если Dictionary? Мне нужно взять все его KeyValuePair превратить в лист, это лист по своему отсортировать и засунуть опять в Dictionary. Это возможно только через новый Dictionary?
Аноним 29/02/20 Суб 11:20:35 1618671980
Кто-нибудь сталкивался с тормозами HTTP-запросов в .net core? Ебанул простенькое апи на довольно мощный сервер (Win Server 2012 r2), которое делает запрос через WCF на другое стороннее апи и запрос выдаёт лютые тормоза и падает с таймаутом. При этом на другом компе из той же сетки всё норм.
Аноним 29/02/20 Суб 11:23:49 1618675981
>>1618671
Используй tcp binding в вцф или вообще забудь про вцф. Проблема у тебя в чем-то другом.
Аноним 29/02/20 Суб 11:43:23 1618678982
>>1618610
Ты лучше скажи, какую задачу решаешь, а то твои способы отдают наркоманией. Ты же знаешь, что словарь не гарантирует сохранения порядка элементов? Если тебе нужен отсортированный словарь, то и бери SortedDictionary.
Аноним 29/02/20 Суб 11:56:14 1618684983
>>1618678
Ох, как бы описать задачу, там короче пиздец. Я должен отсортировать и дать выбор сортировки методов в swagger.
То есть я через IDocumentFilter беру все вызываемые web api сортирую каждую группу по следующему принципу: Get - Post - Put - Delete это базовый пример, так же можно давать выбор в каком порядке сортировать. И сортирую Словарь где ключ- http method, а значение сама строка вызова web api. Потом это все запихивается в лист со словарями и отдаю в swagger.
Щя набросаю код и скину
Аноним 29/02/20 Суб 12:12:02 1618693984
Аноним 29/02/20 Суб 12:34:23 1618709985
Аноним 29/02/20 Суб 12:38:36 1618713986
чашки-чая-с-зо-[...].jpg (212Кб, 1300x957)
1300x957
>>1618709
Ого, спасибо большое. Прям то что нужно
Аноним 29/02/20 Суб 12:39:18 1618715987
image8601061800[...].gif (76Кб, 800x600)
800x600
>>1586030 (OP)
Перекат https://2ch.hk/pr/res/1618705.html
Перекат https://2ch.hk/pr/res/1618705.html
Перекат https://2ch.hk/pr/res/1618705.html
Перекат https://2ch.hk/pr/res/1618705.html
Перекат https://2ch.hk/pr/res/1618705.html
Перекат >>1618705 (OP)
Перекат >>1618705 (OP)
Перекат >>1618705 (OP)
Перекат >>1618705 (OP)
Перекат >>1618705 (OP)
Перекат https://2ch.hk/pr/res/1618705.html
Перекат https://2ch.hk/pr/res/1618705.html
Перекат https://2ch.hk/pr/res/1618705.html
Перекат https://2ch.hk/pr/res/1618705.html
Перекат https://2ch.hk/pr/res/1618705.html
Перекат >>1618705 (OP)
Перекат >>1618705 (OP)
Перекат >>1618705 (OP)
Перекат >>1618705 (OP)
Перекат >>1618705 (OP)
Перекат https://2ch.hk/pr/res/1618705.html
Перекат https://2ch.hk/pr/res/1618705.html
Перекат https://2ch.hk/pr/res/1618705.html
Перекат https://2ch.hk/pr/res/1618705.html
Перекат https://2ch.hk/pr/res/1618705.html
Перекат >>1618705 (OP)
Перекат >>1618705 (OP)
Перекат >>1618705 (OP)
Перекат >>1618705 (OP)
Перекат >>1618705 (OP)
Аноним 29/02/20 Суб 12:41:16 1618716988
>>1618693
Пока не въехал. У тебя метод принимает, грубо говоря, список словарей. В словаре по четыре запроса (по одному каждого типа) и в списке отдельный словарь на каждый апи метод, правильно?
Аноним 29/02/20 Суб 12:43:03 1618720989
>>1618716
Верно. Только в словаре может быть и 1 и 2 и 3, может на запрос быть только GET, а может и get и update. А так да все верно
Аноним 29/02/20 Суб 12:47:57 1618723990
>>1618720
Этот ответ подошел >>1618709? Там вроде порядок не настраивается, хотя прикрутить не сложно.
Аноним 29/02/20 Суб 12:55:22 1618729991
>>1618723
еще не проверял, но вроде оно, если есть варианты можешь скинуть
Аноним 29/02/20 Суб 13:09:53 1618739992
>>1618723
>>1618709
Все работает, спасибо огромное еще раз. А выборку можно прикрутить к OperationTypeComparer, труда не составит
Аноним 29/02/20 Суб 13:17:30 1618740993
>>1618671
>WCF

Обнови пакеты System.ServiceModel в nuget.
Аноним 29/02/20 Суб 13:22:06 1618742994
>>1618739
Если кому-то нужна реализация выборки, то вот:
private int GetOrder(OperationType operationType)
{
if (!example.Contains(operationType)) return 0;
return example.IndexOf(operationType) + 1;
}

example это лист с operationType
Аноним 29/02/20 Суб 13:24:37 1618745995
>>1618742
лол, это все вообще можно сократить до T и назвать ByModelComparer
Аноним 29/02/20 Суб 14:05:14 1618776996
>>1618094
Куда перекатываться собираешься? В джаву?
Аноним 29/02/20 Суб 15:35:07 1618880997
>>1618519
Я другой анон. Частично соглашусь, про СНГ, необъятный объем требований в вакансия, но так у всех вроде.
Ибо это требования пишут хантеры, они чуть услышали что докер нужен, это ведь круто, один раз сделал образ и разворачиваешь где хочешь а что на самом деле творится при больших проектах, ни слова ни духа. Вот и пишут.
А на деле тебе же берет к себе один из отделов: бэк, десктоп и т.п. и под конкретную задачу пишешь.
Только проблема в том что, c# силен только в бэке, вот и пишут js Angular, WebAPI mssql и т.д но это не значит что ты должен знать все.
Знаешь Dapper WebAPI и mssql, хорошо скорее всего тебя возьмут с работой с бд
но до бд никто тебя не допустит, я так начинал, с NLog "помогал".

Знаешь немного js - замыкание, пробегался глазами по ecmascript, знаешь что там с angular и webapi есть шанс попасть в бэк и дадут помогать сопровождать api. Ведь намного лучше если ты знаешь что, как и почему отдавать на фронт такие данные.

Так что подведя итоги можно сказать что c# переживает не лучшие времена, но я надеюсь на тенденцию майков развивать шарп в web и мы займем свое место, хотя бы такое.
А такой большой объем требований это лишь рекомендации, ни разу у меня не спрашивали вообще все.
Анон 01/04/20 Срд 00:33:26 1647742998
вввв 7.png (14Кб, 738x576)
738x576
Сап C#.
Мне нужно сделать вывод матрицы размерами n на n, в которой были бы случайные числа.
Я создал цикл внутри цикла (красный). Тот, что красный выводит случайные числа, а чёрный просто повторяет его n количество раз.
В итоге получается нечто вроде

13 23 45 14
13 23 45 14
13 23 45 14
13 23 45 14

Я пытался найти как можно сделать, чтобы он каждый раз давал случайные числа, но не нашёл. Пытался как-то сброс делать через if/else, но тоже не получилось

Как можно реализовать задачу? Я ещё чайник в C#

https://dotnetfiddle.net/qMZfuW - вот сам код (в онлайн компиляторе почему-то не работает, но в Visual Studio запускается)
Аноним 01/04/20 Срд 12:48:11 1647879999
>>1647742
https://dotnetfiddle.net/qMZfuW смог сделать вот так, правда, там вторая строчка ноль всегда почему-то

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

https://dotnetfiddle.net/qMZfuW - попытался начать, но там уже почему-то ошибку писало
Аноним 06/04/20 Пнд 18:34:39 16519981000
Начал изучать ваши 4 плюса и паттерны асинхронного программирования. Планирую Так запускать код асинхронно:
>var t = Task.Run(async () => {... });
Вопрос, безопасно ли использовать объекты из внешнего скоупа внутри данного асинхронного анонимного метода? Просто по голангу помню, что это грабли.
999 103 186
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов