Двач.hk не отвечает.
Вы видите копию треда, сохраненную 22 апреля 2022 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
image530 Кб, 868x946
C#/Сишарп/.NET Тред #30 /csharp/ 2165540 В конец треда | Веб
Прошлый тред: >>2134580 (OP)

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

1. Ресурсы:
https://dotnet.microsoft.com/learn
https://docs.microsoft.com/ru-ru/dotnet/csharp/
https://metanit.com/

2. Онлайн-компиляторы:
https://ideone.com/
https://dotnetfiddle.net/

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

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

5. Какую IDE выбрать?
Для Windows самым очевидным вариантом будет Visual Studio ( https://visualstudio.microsoft.com/ru/downloads/ ). Бесплатной Community-версии более, чем достаточно для большинства задач. Также есть версия для macOS.
Кроссплатформенный полуредактор/полуIDE VS Code ( https://code.visualstudio.com/ ).
Кроссплатформенный IDE Rider ( https://www.jetbrains.com/rider/ ).
Также существуют C#-плагины для Atom и Sublime Text, но функциональность там достаточно сильно урезана.

6. С# для мобильной разработки
https://dotnet.microsoft.com/apps/xamarin

Новые возможности C# 9.0: https://devblogs.microsoft.com/dotnet/c-9-0-on-the-record/

Текст шапки: https://pastebin.com/pbK8CGqw
2 2165541
7. Что почитать?
The C# Player's Guide, третье издание (RB Whitaker) — отличная книга для ньюфагов, всё расписывается довольно подробно, очень много примеров кода.
C# 9 and .NET 5 – Modern Cross-Platform Development (Mark Price) — подойдёт для ознакомления с платформой. Затрагивает все технологии, имеющиеся в .NET (веб, мобильная разработка, машинное обучение), ни во что не углубляясь.
C# 8.0 in a Nutshell (Joseph Albahari и Eric Johannsen) — огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином.
C# 8.0 Pocket Reference (Joseph Albahari и Ben Albahari) — просто выжимка из книги сверху, можно всегда держать рукой.
Pro C# 8 with .NET Core 3 (Andrew Troelsen) — 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.

8. Более хардкорный материал
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 структура", кастинг, боксинг, перфоманс регулярок, коллекций, исключений. Короче всё, что нужно, чтобы вам перезвонили.

9. Литература по WPF
— Pro WPF 4.5 in C# (Matthew MacDonald)
— Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)

10. Литература по ASP.NET
— Pro ASP.NET Core 3 (Adam Freeman)
— Professional ASP.NET MVC 5 (Jon Galloway, Brad Wilson, K. Scott Allen, David Matson)

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

12. Литература по мобильной разработке
— Creating Mobile Apps with Xamarin.Forms (Charles Petzold)
— Xamarin.Forms Projects (Johan Karlsson, Daniel Hindrikes)
— Mastering Xamarin.Forms (Ed Snider)

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

14. Разработка игр
Unity-тред в /gd/

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

16. Что еще нужно знать, чтобы взяли работать за еду?
— Базы данных — подойдет любая книга по MSSQL/MySQL/PostgreSQL. DDL, DML. Джойны, индексы, нормализация. В контексте шарпа еще ORM: Entity Framework, Dapper.
— Системы контроля версий — обычно гита достаточно: add/commit/push, merge, rebase, checkout, remote, diff, разрешение конфликтов.
— GitHub — issues, пулл-реквесты, теги, релизы, Actions.
— Алгоритмы — сортировка, поиск, оценка сложности алгоритмов, рекурсия, алгоритмы на строках.
— Структуры данных — связанные списки, деревья (бинарные, красно-чёрные, b-деревья), хеш-таблицы, графы.
— Если идти в веб — HTML, CSS, JavaScript, веб-сокеты, REST, JS-фреймворки (Angular, React, Vue).
— Паттерны проектирования, стиль кода, архитектура приложения, внедрение зависимостей, MVVM (если хочется в WPF), SOLID.

17. Я не умею читать, что посмотреть?
— C# Fundamentals: Development for Absolute Beginners — https://goo.gl/meyyxO
— Набор курсов по C# от O'Reilly Media (28 часов, на английском) — http://rutracker.org/forum/viewtopic.php?t=5082978
— Канал по C# IAmTimCorey (на английском) — https://www.youtube.com/user/IAmTimCorey
2 2165541
7. Что почитать?
The C# Player's Guide, третье издание (RB Whitaker) — отличная книга для ньюфагов, всё расписывается довольно подробно, очень много примеров кода.
C# 9 and .NET 5 – Modern Cross-Platform Development (Mark Price) — подойдёт для ознакомления с платформой. Затрагивает все технологии, имеющиеся в .NET (веб, мобильная разработка, машинное обучение), ни во что не углубляясь.
C# 8.0 in a Nutshell (Joseph Albahari и Eric Johannsen) — огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином.
C# 8.0 Pocket Reference (Joseph Albahari и Ben Albahari) — просто выжимка из книги сверху, можно всегда держать рукой.
Pro C# 8 with .NET Core 3 (Andrew Troelsen) — 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.

8. Более хардкорный материал
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 структура", кастинг, боксинг, перфоманс регулярок, коллекций, исключений. Короче всё, что нужно, чтобы вам перезвонили.

9. Литература по WPF
— Pro WPF 4.5 in C# (Matthew MacDonald)
— Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)

10. Литература по ASP.NET
— Pro ASP.NET Core 3 (Adam Freeman)
— Professional ASP.NET MVC 5 (Jon Galloway, Brad Wilson, K. Scott Allen, David Matson)

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

12. Литература по мобильной разработке
— Creating Mobile Apps with Xamarin.Forms (Charles Petzold)
— Xamarin.Forms Projects (Johan Karlsson, Daniel Hindrikes)
— Mastering Xamarin.Forms (Ed Snider)

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

14. Разработка игр
Unity-тред в /gd/

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

16. Что еще нужно знать, чтобы взяли работать за еду?
— Базы данных — подойдет любая книга по MSSQL/MySQL/PostgreSQL. DDL, DML. Джойны, индексы, нормализация. В контексте шарпа еще ORM: Entity Framework, Dapper.
— Системы контроля версий — обычно гита достаточно: add/commit/push, merge, rebase, checkout, remote, diff, разрешение конфликтов.
— GitHub — issues, пулл-реквесты, теги, релизы, Actions.
— Алгоритмы — сортировка, поиск, оценка сложности алгоритмов, рекурсия, алгоритмы на строках.
— Структуры данных — связанные списки, деревья (бинарные, красно-чёрные, b-деревья), хеш-таблицы, графы.
— Если идти в веб — HTML, CSS, JavaScript, веб-сокеты, REST, JS-фреймворки (Angular, React, Vue).
— Паттерны проектирования, стиль кода, архитектура приложения, внедрение зависимостей, MVVM (если хочется в WPF), SOLID.

17. Я не умею читать, что посмотреть?
— C# Fundamentals: Development for Absolute Beginners — https://goo.gl/meyyxO
— Набор курсов по C# от O'Reilly Media (28 часов, на английском) — http://rutracker.org/forum/viewtopic.php?t=5082978
— Канал по C# IAmTimCorey (на английском) — https://www.youtube.com/user/IAmTimCorey
3 2165542
Спиженные книги на русеке: https://mega.nz/folder/zdoCBLqY#Q6eS_76VECpQZmPmw9vLew

Шапка протухнет к следующему перекату.
4 2166739
https://route256.ozon.ru/c-sharp?utm_source=tg&utm_medium=csharpproglib&utm_campaign=csharp&utm_content=post2109
Что думаете? Конечно, очередные инфоцигане, НО

>халява


>есть порог входа

5 2166769
>>66739
Я думаю, у твоей ссылки много рекламы прилипло, что по ней стремно переходить.
6 2166772
>>66769

>рекламы


Де?
7 2166773
>>66772
Все, что начинается на utm.
image.png147 Кб, 323x369
8 2167035
>>66739
Вах курс хяроший. Всей семьей три сезона проходим уже...
9 2167036
>>65540 (OP)
еее аниме!!11
Ну старую кортинку тоже надо было оставить, дабы глаз цеплялся.
10 2167148
Почему в ЕФе мерж не реализовали?
11 2167161
>>67148
Зачем тебе вообще понадобился мерж?
12 2167167
>>67161
Скопом данные засинкать, очевидно же.
Миграции не подходят.
13 2167204
>>67148
Зачем тебе вообще понадобился EF, когда есть ADO.NET, Dapper и linq2db? EF - это было в 2к10 прикольно, модно и молодёжно, сегодня - это убогая ПАРАША.
14 2167223
>>67204

>ADO.NET


Ты сам параша.

>Dapper


Ну хуй знает, ЕФ на минималках. Кококо перфоманс сравним с качественно приготовленным ЕФ.

>linq2db


И в чем профит? хотя кокрастоке мерж там есть

Сейчас модно гнать на ЕФ, но обычно это делают дурачки, которые обосрались с ним по неопытности, так же само обосрались бы и с другим.
15 2167284
>>67167
Хранимку написать?
16 2167772
Есть тут кто, кто пилит свое опенсурс поделие на гитхаюе/лабе? Что бы можно было пулреквестики поотсылать fix typo, а то к серьезным ребятам подходить страшно, а вот какой нибудь телеграм-бот погоды или двач-ридер в самый раз.
17 2167801
Так уж случилось, что и я вступил и измазался в EF. И у меня от этого встал... вопрос. Если я делаю так:
using var trans = context.Database.BeginTransaction();
//что-то, что вызовет SaveChanges
// еще что-то, что вызовет SaveChanges
try{
...trans.Commit()
}
catch(FooException ex) {}
catch(BarException ex) {}
catch(FooBarException ex) {}

мне что, в каждом кетче писать trans.Rollback?
18 2167855
>>65540 (OP)
Ребят ,я студент ,закончил внешние курсы в епаме на внутренних курсах послали нахуй абсолютно всех студентов , не проводя собеседования. Хочу вкатиться джуном за еду,но везде требуют "Знание основ ASP.CORE" . Сама кора достаточная обширная, часто слышал ,что новичку будет трудно с ней разобраться . Какие области коры чаще всего запрашивают работодатели с джуна ? Всем спасибо
19 2167873
>>67801
Да.
20 2167875
>>67855

>Сама кора достаточная обширная


Никто не спрашивает какую-то конкретную хрень из кора. Максимум поебут мозги вопросом IEnumerable vs IQueryable.

>что новичку будет трудно с ней разобраться


Нет.

>Знание основ ASP.CORE


Core и ASP.NET Core - разные вещи.
21 2167900
>>67875
Открыл рандом резюме ,пишут примерно так ".NET Framework/Сore" . Ну спасибо за ответ ,пойду тренироваться
22 2168140
>>65540 (OP)
Шарписты, помогите эту хуйню
https://github.com/username1565/System.Data.SQLite
куда-то сюда впаять:
https://github.com/username1565/nanoboard/blob/dev/nanodb.exe-source/Database/PostDb.cs
чтобы было опциональным.

Кококонпелятор какую-то хуйню пишет, заебал уже.

Структура базы на пикрил, здесь: https://2ch.hk/crypt/res/45030.html#47339 (М)

Алсо, как сбилдить этот сиквелайт на linux, с помощью mono, блядь? Там тоже какая-то хуйня.
Может чё-то добавить надо, или да?
23 2168150
Хочу вкатиться в с#, есть какой то подробный roadmap?(желательно на русском)
image423 Кб, 1000x2680
24 2168166
>>68150
По первой же ссылке роадмап по асп. С этими навыками в 2к21 на помидора могут взять.
25 2168171
>>68140
Опять ты выходишь на связь? Заведи ишью, чел который занимается сейчас нанобордой лучше тебе поянит, почему ты дурачок
26 2168327
Я правильно понимаю, что BCL от нет кора под MIT и я могу брать оттуда куски кода в свой проект через ctrl+c ctrl+v?
27 2168363
>>68327
Да.
28 2168411
>>68166
Это сколько жизней надо, чтобы все выучить?
29 2168415
>>68411
Хз, пару лет. Мне кажется, достаточно запилить пет проект за пару месяцев, где используется вся та фигня, чтобы иметь хотя б общее представление.
30 2168421
>>68327
А зачем? Добавь нюгет пакет ебана
31 2168423
>>67801

>что и я вступил и измазался в EF


Ну не вступай, не обмазывайся, умник.
Делай все тоже самое с дапером/адо или ебись в жопу с хранимками, где ты вообще к ошибкам С# кода доступа не имеешь.

Вообще, если ты хочешь только ДБ ексепшены обрабатывать - выноси свое говно в юнит оф ворк и там это обрабатывай. Если ошибки бизнесслогики - ну тогда уже ебись по месту.
32 2168426
>>68140
Что такое эта наноборда? Типа аппа, которая в кортинки на других бордах свою инфу добаляет и потом считывает и строит вам свою юорду? Это вообще работает? Как она определяет с каких постов данные брать?
33 2168429
Хочу перекаться из PHP в C#.
Подводные?
34 2168433
>>68429
Код на C# будет выглядеть как код на PHP или того хуже, C# не умеет возвращать длину числа пи.
35 2168435
>>68429
Подводные: ты ленивая РНР блядь.
>>68433

>C# не умеет возвращать длину числа пи


А кто умеет?
36 2168436
>>68435
PHP умеет, вопрос только нахуя.
37 2168437
>>68435

>ты ленивая РНР блядь.


Цыганка в треде!
Все по коням!
38 2168438
>>68436
Он что ебанутый? И что он возвращает? Инфнити?
39 2168439
>>68437
Пососешь, ок?
Я тебе домашку в МВП треде кидал.
40 2168440
41 2168443
>>68439
Ты сам-то домашку на завтра сделал?
42 2168448
>>68443
РНР-блядь, учись мягким скилам. Понятно, что ты на РНР себе только хомпйджи делал и то криво в одно рыло, но шарфикогоспода работают в команде и обоссут тебя.
Начальный пись ты уже получил.
Так что тебе надо еще-то?
43 2168544
>>68448
Хорош косплеить цыганку. Ты вообще пальцем в небо. Не знаешь ровным счетом ничего про мой бэкграунд, а уже с напыщенным видом с ЧСВ до небес кудахчешь: ТЫ НИ МОЖЕШЬ ТО, ТЫ НИМОЖИШЬ СЁ.
Ты какой-то ебанутый. Либо озлобленный вкатыш, либо анальник, сидящий на зарплате среднего класса в 17к, потому что другого объяснения я не вижу. Все мои успешные коллеги себя так не ведут, наоборот все довольно доброжелательны и пояснят что угодно из мира кодинга просто и понятно, без выебонов.
44 2168590
>>68544
Использованияе токсичных напыщенных словечек "средний класс", "вкатывальщик" как будто что-то плохое.
Галюцинации и слова в голове, которых никто не говорил: "ни можишь" и т.д..
Стресс тест завален.
Вам перзвонят с психушки
Второй пись на прощание- вам.
45 2168625
>>67855
Меня по asp.net спрашивали про dependency injection. Правда конкретно к asp.net это отношение не очень имеет и я собеседовался на мидла, но тем не менее
46 2168630
Бля посоны дапамажите.
Чета туплю пздц.
Вот у меня есть List классов в котором есть List классов в котором есть поля.
Вот мне надо взять List второго уровня.
Вот первый главный класс

public class Root
{
public List<Line> lines { get; set; }

}
Вот второй

public class Line
{

//
//
public string name { get; set; }
//
//

}

Все все это дело лежит в List<Root> AllItems = new List<Root>();

Как мне взять Line по имени фирсОфДефаульт? Это LINQ но я чета туплю
Помогите плэззз.
46 2168630
Бля посоны дапамажите.
Чета туплю пздц.
Вот у меня есть List классов в котором есть List классов в котором есть поля.
Вот мне надо взять List второго уровня.
Вот первый главный класс

public class Root
{
public List<Line> lines { get; set; }

}
Вот второй

public class Line
{

//
//
public string name { get; set; }
//
//

}

Все все это дело лежит в List<Root> AllItems = new List<Root>();

Как мне взять Line по имени фирсОфДефаульт? Это LINQ но я чета туплю
Помогите плэззз.
47 2168634
>>67855
Новичку нужно просто знать что был фреймворк и сейчас он как-бы для легаси, а все новые проекты - на коре. Этого достаточно.
Лично я бы джуна погонял по докеру и линуксам, по архитектуре(ну, банально: спроектируй фейсбук или промышленную систему отслеживания аварий на производстве в близком к реальному времени), по алгоритмам, ну, это естественно если он нормально на базовые вещи ответил бы про ООП, солид, DI, многопоточку, асинхронщину, SQL, n+1; очереди, планировщики; да, про фронтенд еще неплохо бы спросить, ну, хотя бы что-то из большой тройки плюс ванила(на уровне понимает ли джун что там фреймворк за него делает или считает это магией), умение пользоваться вебпаком, препроцессоры, да, еще про тестирование: как, чем, зачем, TDD, ну и естественно системы контроля версий, как будет с конфилктами бороться, умеет ли ветки сливать нормально и т.д. Но это все если у тебя рост меньше 190см и тело не подкачанное, в этом случае - просто спросил бы: нравится офис?
1.png40 Кб, 452x603
48 2168642
49 2168649
>>68642
А можно методом расширения плиз, я смутно понимаю че там как ты сделал)
1.png4 Кб, 415x78
50 2168653
>>68630
Можно
51 2168654
>>68634
А что за базовые вещи по ООП?
52 2168655
>>68654
Наследование, полиморфизм, инкапсуляция. Паттерны. Почему аггрегация вместо наследования.
53 2168657
>>68653
Спасибо братишка.
Очень помог.
С 5 утра сижу делаю бота для пое.
Бошка не варит, так бы еще сидел до 3 ночи думал как эту хуйню сделать.
54 2168667
>>68655
Спасибо.
image.png1,2 Мб, 1024x683
55 2168668
>>68590

>косплеит ретарда


>ИТА БЫЛ СТРЕСС ТЕСТ, ЯТИБЯ ЗАТРАЛЕЛ)))

56 2168688
>>68657
ЧТо за бот? Судя по всему - торговый.
Я раньше тоже хотел, но полноценного, ане торгового, но как прикинул обьем работы...
57 2168693
Мне надо использовать кое-какие классы в другой класс лайбрари. Добавлять как референс не могу.
Это нормально будет кк-то скопипастить их через Include или типа того?
Допустим, я более-менее уверен, что эти классы не получат внешних зависимостей и в месте копипаста не отвалятся.
58 2168699
>>68625
По АСП еще спрашиват пайплайны, екшнфилтры, отличие и т.д. "Пользователь нажал ссылку в броузере, што праизойдет?".
Могут еще моделбайндеры спросить.
"Как оптимизировать сайт )))"
РЕСТ, опенАпи (свагеры), вебсокеты.

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

А вас шо спрашивают еще?
59 2168702
>>68634
Кор уже тоже почти легаси лол ебать время летит, помню как мы ждали релиз кандидата кора шобы заюзать

>докеру и линуксам


>.нет


Ты ебанутый?

>архитектуре


>жуна


Ты ебанутый (2)?

>остальной поток сознания


Ты ебанутый (3)?
Это вопросы и набор синиора+ уже. Или ты тралишь?
60 2168713
>>68702

>Или ты тралишь


Долго доходит...
61 2168716
>>68713
Что доходит?
В реальности и твой траленг бывает.
Жунов ебут сильнее сениоров - это гарантия.
62 2168759
>>68702
Да не троллю я.

> архитектура


Таки вопросы просто показывают насколько человеку это ваше программирование интересно само по себе.
Отвечать на них как на экзамене - нет необходимости. Просто показать как бы ты решал задачу, показать способность анализировать, предлагать решения и УТОЧНЯТЬ ВХОДНЫЕ ДАННЫЕ, а не сесть как аутист и сидеть пытаться что-то высрать из пустой башки.

> докер и линукс не для дотнета


Алло, блядь, деда. Ауууу. В чем ты-то собрался запускать? В азуре? Ну охуеть, может еще интерпрайз MS SQL - использовать предложишь?
63 2168760
>>68688
Ну не с людьми торговать.
А в лиге новой покупать у мудака предметы, валюта карты, осколки.
Там выхи и зеркало может прокнуть.
А торговый бот это ну в пизду, это в память игры нужно лезть за сообщениями а я хуй знает ваще как это сделать.
64 2168761
>>68759

>В азуре? Ну охуеть, может еще интерпрайз MS SQL - использовать предложишь?


Да. В чем проблема-то?
65 2168762
>>68760
А как ты без "залазинья в память игры" будешь покупать свою фигню?
Что за новая лига-то?
Безымянный.png49 Кб, 1714x605
66 2168767
>>68761

> Да. В чем проблема-то?


Даже не знаю. Может быть в том что любой бизнес тебя с такими ценами на новом, еще не приносящем прибыль проекте, пошлет нахуй?
67 2168768
>>68762
Ну она не новая) Просто я только сейчас соизволил его сделать. экспедиция же.
Ну эмуляция нажатия кнопок, контрл+ц считываю что продает, чекаю выгодная ли цена, потом вбиваю цену, пытаюсь купить, смотрю по цвету пикселя купил или нет, если не купил то прибавляю больше. Также по цвету пикселя определяю за какую валюту я покупаю.
68 2168773
>>68767
А на каком уровне нужно знать докер?
image.png67 Кб, 1757x560
69 2168799
>>68767
"Новому" бизнесу подойдет азур сиквел.
Для тырпрайза цены на твоем скрине - ничто.
70 2168838
Анончик,

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

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

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

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

Так вот - есть что нагуглить по такой теме? наверняка же есть какие-то готовые решения. Просто такое велосипедить я не осилю.
А работаю я один (у меня задача - старое ныне не работающее легаси переписать с нуля)
71 2168841
>>68838
Да банально берешь какой-то sha1 от файла и используешь в качестве имени, поверху хуяришь какой-то AES.
В плане контейнера - ну зип без компрессии.
72 2168874
>>68421
Функционал который мне нужен помечен как private, а наружу торчит апи, который мне не подходит.
73 2168889
Киньте в меня чем-нибудь в нагрузку к метаниту (на работе советуют Рихтера или он пойдет?)
74 2168982
Памагити.
Нужно написать функцию, которая из строки вытаскивает числа, регулярки при этом использовать нельзя.
Сам пока додумался только до вот этого https://pastebin.com/Yf0cr22z
75 2168986
>>68982
Гуглится же на изи
string a = "aaa123bbb";
int value;
int.TryParse(string.Join("", a.Where(c => char.IsDigit(c))), out value);
76 2169000
>>68986
Ты нагуглил какую-то дичь
aaa123bb4b -> 1234
В моем понимание должно быть
aaa123bb4b -> [123, 4]
Ну и если ему регулярки запрещено использовать, то и линк не положен.
77 2169005
>>68986
А еще твой код не работает для отрицательных чисел.
78 2169083
>>69000

>Ты нагуглил какую-то дичь


Нагугли лучше, ебана.

>>69005
Твой тоже.
И ты про вские Е и т.д. забыл.
Если похую на перфоманс и нужен 100% результат со всякими изьебствами - бегай по строке и IsNumeric /Double.TryParse ебай

Но твой пердун преподаватель просто ожидает от тебя решение как ты и написал, только нахуя ты там какие-то старт-енд юзаешь, сабстринги? ПРОСТО, если чар подходит к условию - ложи его в массив и потом парсь. Можешь IsNumeric/TryParse вместо своего ренжа еще юзать
79 2169110
>>69083
Нахрена гуглить, если написать быстрее.

>Твой тоже.


Моего кода тут нет.

>пук


А хер знает что ты там сказать пытаешься. Но твой код говно даже не делает что должен.
80 2169124
>>68982
Тема про конечные автоматы. Регулярки - это тоже конечный автомат. Вещественные числа, баги и так далее сам.
https://dotnetfiddle.net/yUNX4p
81 2169171
Ребяты как узнать содержит ли массив строк часть строки?

Пример:
жопа хуй пизджа
абу не ебу
алилуя алаху хабар

Ищем "жопа хуй" и получаем тру
82 2169205
>>68702
Шутки шутками ,но спустя огромного количества идиотских собесов ,я большую часть этой ебалы освоил ,лол Хз на каком уровне правда ,но все же
83 2169228
>>69171
.Any(str => str.Contains(searchString))

>>69205

>Хз на каком уровне


Хуевом, очевидно же. Но хотя бы кругозор получил. Этим собесы и хороши.
Безымянный.png21 Кб, 560x570
84 2169316
Безымянный.png36 Кб, 537x822
85 2169360
>>68982
С отрицательными
86 2169423
Как по красоте свой ексепшн кастомный создать? Ну там я хочу енумку какую-то юзать шоб был понятен поддтип.
87 2169492
Вопрос.
Смотрите. Допустим я делаю видеоплеер. Допустим я такой умный и решил выделить ЯДРО, ядро инициализирует основные финкции приложения, такие как гуй, обработка нажатий, имеет ряд событий и т.д. Так вот, все остальное я решил делать через отдельные сборки и назвал их ПЛАГИНАМИ. Каждый плагин реализует интерфейс: IPlugin у котрого есть метод void Plug(Core core), void Start(), void Stop(). При запуске приложения я подгружаю из папочки Plugins дллки и достаю все классы имплементирующий IPlugin, вызываю метод plug.
Так вот. Теперь я хочу чтобы можно было закинуть новую длл в папочку во время исполнения приложения и он бы подтянулся. Как мне это сделать?
88 2169500
>>69423
Без энамки, через наследование.

>>69492
Рефлексия и динамическая загрузка длл.
89 2169509
Анончики, помогите плз составить регулярку
Есть строка "09/23/2021"
Надо регуляркой сделать из нее "2021-09-23"

Это ебучий специфический софт, который понимает только "C# regular expression syntax"
90 2169511
>>69509
.Split('/')
91 2169513
>>69511
Как .Split('/') поменяет порядок значений в строке?
92 2169515
>>69513
Прикалываешь? Элементы массива не умеешь переставлять местами?
Через регулярку: https://dotnetfiddle.net/ymdT6T
93 2169516
>>69513
Ну очевидно, разбиваешь а потом собираешь в нужном тебе виде.
94 2169518
>>69515

>Элементы массива не умеешь переставлять местами?


Естественно нет, я же не знаю C#
95 2169519
>>69515

>Через регулярку: https://dotnetfiddle.net/ymdT6T


Спасибо
image.png108 Кб, 1067x933
96 2169599
Нахуя вы пишете на ебучем империческом говне, когда можно писать на божественном F#?
97 2169601
>>69500

>Без энамки, через наследование.


Почему без? На каждый чих плодить ексепшены - такое себе.
98 2169603
>>69601
Исключения для исключительных ситуаций. Для ожидаемого поведения можно использовать рельсы как у чела на F# выше, хоть там и говнокод.
99 2169651
>>69603
Что такое "рельсы"?
Невалидные данные по бизнесс требованиям это исключительная ситуация?
100 2169657
>>69651

>Что такое "рельсы"?


https://fsharpforfunandprofit.com/rop/

>Невалидные данные по бизнесс требованиям это исключительная ситуация?


Нет.
101 2169674
>>69603

>хоть там и говнокод.


А как сделать не говнокод? Я просто только изучаю fsharp в целях автоматизации проекта на с++
102 2169773
>>69674
Не мешать все в кучу, разбить хотя бы на модули.
103 2169792
>>69657
Да при чем тут Ф#?
На С# как быть?
Возвращать резалт обжект как врапер выглядит говном. Лучше уж ексепшн пиздануть, не?
104 2169805
>>69792

>На С# как быть?


Реализовать плюс/минус похожее. Нет никакого общего решения, зависит от конкретного случая. В ASP.NET MVC это например ModelState.

>Лучше уж ексепшн пиздануть, не?


Твои исключения - говнокод. Замерь производительность аллокации объекта против бросания исключения. Дык, ты еще ляпнул, что у тебя бл исключениями пронизана. Если тебе надо показать две и больше ошибок валидации, ты два исключения бросаешь? Или что ты наговнокодил?
105 2169822
>>69805
Ну какой еще моделстейт. Я за бизнесс логику говорю.
Тоесть таки типа резалт обжекта? Что-то я нигде такого не видел в либах, все кидают ексепшн и не парятся.
На производительность похуй, хватит эту мантру повторять.
"Две и больше" - агрегейт ексепшн.
106 2169865
>>69822

>Что-то я нигде такого не видел в либах


Мой пример - не пример, ага.

>все кидают ексепшн и не парятся


>На производительность похуй, хватит эту мантру повторять.


У такого кода не только проблема с производительностью. Мне изначально поебать, что у тебя в коде происходит, не еби потом мозг другим своими вопросами тогда про красоту. Еще разберись, что такое бизнес логика и какое отношение она имеет к валидации.
107 2169937
>>69865
Да. Твой пример говно.

>Еще разберись


Тоже ясно. Пук в никуда. "Сами разбирайтесь".
108 2169991
>>69651

>Невалидные данные по бизнесс требованиям это исключительная ситуация?


А можно пример? А то напрашивается очевидный ответ - если метод может обработать данные, то это не исключительная ситуация, если не может, то исключительная, и по принципу самурая чем раньше выкинет эксепшн тем лучше. Приход плохих данных от пользователя/из вне это не исключительная ситуация, это обычное дело и программа должна это обрабатывать в обычном режиме (валидировать данные перед прокидыванием их в БЛ).
109 2170014
>>69991
А БЛ не должен их валидировать, что ли?

Ну вот пришел тебе запрос достать юзера. Не важно как с фронта вообще или по велению нибирианца.
Ты в либе точно видишь - данные хреновые. Ид кривая или вообще нулл, не важно.
Что делать? Вот чел выше, если я его правильно понял, советует вместо Юзера возвращать что-то типа Result<User>, где будет стейт операции. Может оно и правильно, но мне теперь во всех методах выше нужно будет проверять этот стейт, допустим метод вызывается не напрямую, а через кешировалку или мапилку. Когда же с ексепшеном - пизданул и забыл "выше, кому интересно, разберутся, кому нет - не законсюмят дальше".
110 2170027
>>70014
Какой нахуй модел стейт, не слушайте того долбаеба из 2015-го.

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

Где можно в API - из контроллера сразу возвращаться, через NotFound, BadRequest или через кастомный wrapper для респонсов.

Если валидация происходит в специальных стандартизированных методах типо Validate(), например у моделей методы прописаны через интерфейс, то можно оттуда возвращать опять же wrapped validation result и контроллер затем его обрабатывает и возвращает ответ.

В случае же когда валидация происходит под тремя слоями энтерпрайзной логики, которая проверяется уже хуй знает где - то да, там будут исключения и их ловить через общий try/catch, а не локальный в методе.
111 2170029
>>70014

>А БЛ не должен их валидировать, что ли?


Обычно БЛ не валидирует входные данные.
112 2170032
>>70014

>возвращать что-то типа Result<User>


Если not found - то возвращаешь NotFound("User not found"), а никакой не Result<User> и не ебешь себе мозг, фронт проверяет пусть статус кода и отображает свою свистоперделку.
113 2170033
>>70027

>Какой нахуй модел стейт, не слушайте того долбаеба из 2015-го.


То был пример. Меня любое решение не устраивает. Начиная от out параметров и заканчивая возвращением Result/bool.

>Если валидация происходит в специальных стандартизированных методах типо Validate(), например у моделей методы прописаны через интерфейс


Это решение тоже хуевое, поскольку нарушает принцип единственной ответственности.
114 2170035
>>70027

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


Ну вот, допустим, такой сценарий, только мы создаем это с нуля.

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

Так финальный ответ? Метод в библиотетеке, допyстим UserManager.GetUser(UserId id) при невалидном UserId что должен возвращать/делать? Метод в библиотетеке, допyстим UserManager.CreateUser(User id) при невалидном User что должен возвращать/делать?
115 2170037
>>70029
Решето какое-то получается. Ты точно пограммист?
116 2170038
>>70032
Да десять раз уже повторил, что мы не говрим о презентейшн/консюмер слоях. Мы либу нахуй пишем. Уровень бизнесс логики, которому похуя откуда вызываться.
117 2170040
>>70037
Например, луковая архитектура. Переворачиваешь свой код наизнанку таким образом, чтобы у нее не было зависимостей типа коннекшена к базе данных. На доменном уровне только бизнес логика, инфраструктура сбоку.
118 2170041
>>70040
К чему ты это высрал? Да, у БЛ не будет доступа к конекшенам, только к репам. И что?
Как это твечает на вопрос, бросать ексепшены или Result<User>/out param?
И на вопрос, нужна ли валидацтия в БЛ слое?
119 2170043
>>70033

>Это решение тоже хуевое, поскольку нарушает принцип единственной ответственности.


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

Замени Validate() у моделей на отдельный слой валидирования или другое - суть одна и та же, что сказать-то хотел?
120 2170045
>>70041
Это отвечает на вопрос, что ты долбоеб, который пихает валидацию в бизнес слой. Если ты пишешь либу, то ты кидаешь исключение и возвращаешь результат операции.

>только к репам


Неправильный ответ.
121 2170046
>>70043

>Замени Validate() у моделей на отдельный слой валидирования или другое - суть одна и та же, что сказать-то хотел?


Что это не одно и тоже.
122 2170048
>>70045

>ты долбоеб, который пихает валидацию в бизнес слой


А ты долбоеб с нереюзабельной, дырявой БЛ.

>Неправильный ответ.


Какой правильный?
123 2170057
>>70048
Я очень смутно себе представляю как ты переиспользуешь БЛ.

>Какой правильный?


Не мешать все в кучу.
124 2170062
>>70014

>Ну вот пришел тебе запрос достать юзера.


>Что делать?


Зависит. Если логика доспукает, что можно запросить несуществующего юзера, то возваращать или null или Result.NotFound. По хорошему вышестоящий слой должен сначала проверить есть ли юзер а потом совершать операции над ним. Но из-за того, что запросы в бд дорогие, то сие действо часто объеденяют в одну операцию.

>во всех методах выше нужно будет проверять этот стейт


>Когда же с ексепшеном - пизданул и забыл


Не-не-не. Тебе в любом случае проверять или тип эксепшена или тип резалта. Главное запомни - эксепшн это когда что-то пошло по пизде. Строить нормальный поток выполнения приложения на эксепшенах это трэш.
125 2170063
>>70035
Метод в библиотетеке, допyстим UserManager.GetUser(UserId id) при невалидном UserId что должен возвращать/делать?
Смотря как он спроектирован. Скорее всего исключение, но если Get там подразумевает поиск, а не просто доставание, то исключений быть не должно.

>CreateUser(User id) при невалидном User что должен возвращать/делать?


Опять же зависит. Если с точки зрения логики это нормально, что юзер может не создаться (например имя занято), то никаких эксепшенов, если отвалилась база - то эксепшн.
126 2170075
>>70057

>Я очень смутно себе представляю как ты переиспользуешь БЛ.


Метод UserManager.GetUser(UserId id) дергается и с веб апы одной, и с другой, и с воркера, и с аллаха. Доверять им нельзя.

>Не мешать все в кучу.


Так у тебя, судя по всему, кокрастоке намешано. Это ответсвенность БЛ запрашивать сохранение данных. Через репы.

>>70062
Но проверять в одном месте (на презентейшене, например), а не во всей цепочке.

>>70063

>что юзер может не создаться (например имя занято), то никаких эксепшенов


Да. Вот тут вопрос. Если не ексепшн, то что тогда? Result<User>/out param? А почему (перфоманс опускаем)?

В общем, ребятки, вот я начал гуглить ваши эти онион архетектуры (оказался обычный мультилейер (3)) , и в первом же примере и репы в сервисах (БЛ), и ексепшены.
https://code-maze.com/onion-architecture-in-aspnetcore/
127 2170087
>>70075

>Result<User>/out param?


out для tryXXX паттерна, но учитывай, что результат будет да/нет и аут не работает в асинхронщине. Result для асинхронного или если вариантов завершения несколько.

>Но проверять в одном месте (на презентейшене, например), а не во всей цепочке.


Если ты проверяешь по всей цепочке, то ты где-то свернул не туда. Данные слишком далеко от места, где они нужны. Получай их там где известно что делать с результатом.
128 2170102
>>70075

>Метод UserManager.GetUser(UserId id) дергается и с веб апы одной, и с другой, и с воркера, и с аллаха. Доверять им нельзя.


Если что-то не так, кидаешь исключение. UserManager - god object, про это говорит твой суффикс Manager.

>Это ответсвенность БЛ запрашивать сохранение данных.


Потом у тебя тесты на инфраструктуру, вместо тестов на БЛ. БЛ срать как данные хранятся.

>я начал гуглить ваши эти онион архетектуры (оказался обычный мультилейер (3))


У онион внизу домен, у трехзвенки - дал. Схема неправильная: в домене тоже могут быть сервисы, сервисы - это уровень приложения, репозитории могут быть на всех слоях одновременно, инфраструктура отдельно от представления. У тебя по ссылке нет валидации в сервисах.
129 2170225
Допустим.
Я вот хочу сделать веб-приложение. Суть. Есть пользователи. Они могут создать каталог. Внутри каталога они могут создать подкаталог произвольной вложенности, в каждом каталоге могут храниться файлики произвольных типов.
Так вот. Я решил это реализовать(в плане базы) примерно вот таким вот макаром как на прикриплейде.
Покритикуйте и дайте предложений как можно лучше было бы сделать.
130 2170263
Вот асп нет локализуется через UseLoalization и StringLocalizer. А как локализовать строки, которые у меня в js? a? a? a?
131 2170270
>>70263

>А как локализовать строки, которые у меня в js? a? a? a?



strings[localStorage.getItem('locale')].MySuperString
132 2170271
>>70263
i18n-super-puper-my-frontend-framework.js
133 2170273
>>70270
А можно по-подробнее, я только начал с js'ом. Что за strings, localStorage и как их наполнить?
134 2170277
>>70271
Так не интересно же.
>>70273
А шо подробнее? При статре фронтенда получаешь локаль пользователя - сохраняешь ее в локалстор. При этом делаешь себе json/js файлики где у тебя просто словарь со строками вида:
const strings = {
en:{ greet: "Hello"},
ru:{ greet: "Привет"},
de:{ greet: "Sieg Heil "},
}
135 2170278
>>70225
Чем три от нод отличается? Зачем тебе различать нод и файл? Зачем ты коллекцию нод назвал просто нод? Зачем тебе юзер ноды?
136 2170283
137 2170291
>>70278

> Чем три от нод отличается?


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

> Зачем тебе различать нод и файл?


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

> Зачем тебе юзер ноды?


А, про это забыл написать. Ну, типа пока владелец не удалит весь каталог - пользователи могут там мутить свои мутки: удалять что-то, сварачивать-разворачивать, переименовывать, но эти изменения будут только им видны, плюс вносить изменения, которые чтобы попали в основную ноду - должны будут быть подтверждены владельцем, плюс владелец каталога решает какую часть всего дерева показывать кому. Как-то так.
138 2170479
>>70291
У всех классов общее Id, Name, Description, Nodes, только в случае с File почему-то перекочевало в FileType часть свойств.
То есть 2 варианта:
- как у тебя, но тогда надо было Node назвать подкаталогом, а Tree каталогом
- тоже самое, но через наследование от Node и дополнительным свойством NodeType или дискриминант
139 2170486
Разбираюсь в чужом коде, столкнулся с непонятным местом: В описании класса MControl, после его объявления идет описание полей и методов и не совсем понимаю что декларируется в строчках типа private [имя] [имя] (например private TreeList treeList1). Для описания поля должен указываться тип данных, значит это не поле и не метод (нет описания переменных), тогда что это описывает?

using ASTRALib;
using DevExpress.XtraEditors;
using DevExpress.XtraTreeList;
using DevExpress.XtraTreeList.Columns;
using DevExpress.XtraTreeList.Nodes;
using Microsoft.Win32;
using Rastr.Core;
using Rastr.SimpleMAPI;
using Rastr.UI.Properties;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Globalization;
using System.IO;
using System.Net;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace Rastr.UI
{
public class MControl : UserControl
{
private string DefaultStatus;
private string DefaultBtn;
private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider m_ErrorProv = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider();
private readonly RastrEngine engine;
private IContainer components;
private GroupBox groupBox2;
private TextEdit tbCompany;
private TreeList treeList1;
private TreeListColumn treeListColumn1;
private TreeListColumn treeListColumn2;
private TreeListColumn treeListColumn3;
private SimpleButton bLicense;
private LabelControl Status;
private TextBox tbUser;
private LabelControl labelControl3;
private LabelControl labelControl2;
139 2170486
Разбираюсь в чужом коде, столкнулся с непонятным местом: В описании класса MControl, после его объявления идет описание полей и методов и не совсем понимаю что декларируется в строчках типа private [имя] [имя] (например private TreeList treeList1). Для описания поля должен указываться тип данных, значит это не поле и не метод (нет описания переменных), тогда что это описывает?

using ASTRALib;
using DevExpress.XtraEditors;
using DevExpress.XtraTreeList;
using DevExpress.XtraTreeList.Columns;
using DevExpress.XtraTreeList.Nodes;
using Microsoft.Win32;
using Rastr.Core;
using Rastr.SimpleMAPI;
using Rastr.UI.Properties;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Globalization;
using System.IO;
using System.Net;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace Rastr.UI
{
public class MControl : UserControl
{
private string DefaultStatus;
private string DefaultBtn;
private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider m_ErrorProv = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider();
private readonly RastrEngine engine;
private IContainer components;
private GroupBox groupBox2;
private TextEdit tbCompany;
private TreeList treeList1;
private TreeListColumn treeListColumn1;
private TreeListColumn treeListColumn2;
private TreeListColumn treeListColumn3;
private SimpleButton bLicense;
private LabelControl Status;
private TextBox tbUser;
private LabelControl labelControl3;
private LabelControl labelControl2;
140 2170487
>>70486
private - модификатор поля
TreeList - тип поля
treeList1 - имя поля
141 2170493
>>70487
так тип поля это же string int boolean, обозначает что можно ввести в этом поле, а что дает тип TreeList? получается это отсылка к какому-то классу?
142 2170500
>>70493
Чел... про типы рассказывается в любой книге в одной из первых глав. Классы/структуры это и есть типы. string - класс, TreeList - класс, int/bool/mystruct666 - структуры.
Жесть
143 2170527
>>70500

ок, спасибо, смотрел в ютубе и статьях, там в основном описывается что поле определяется как int/string/etc, поэтому возникли затруднения.
144 2170545
>>70527

>смотрел в ютубе и статьях


Далеко пойдешь нет
145 2170552
>>70545

Имеешь ввиду лучше ориентироваться на книги?
146 2170625
Как узнать какие методы контроллера используются во вью?
Посмотрел cshtml файл, js который в него инжектится и собсна сам контроллер, но так и не нашел ничего такого. Сори за нубский вопрос, я понимаю что ответ скорее всего найдется в гайдах-туторах по веб-разработке, но я просто в вашем программировании не силен.
147 2170628
>>70625
Я даже твой вопрос не понял.
148 2170660
Посоны, вопрос насчет ексепшенов и резалтов.
Например, у меня такая нищая структура в проекте - контроллер - датаменеджер - репозиторий - дбконтекст. Я хочу всё обмазать Result'ами, типа поступил запрос на обновление записи в базе - если нет айди из датаменеджера (проверяю в датаменджере) возвращаю NotFoundResult и т.д. Теперь вопрос: есть определенный метод, в котором надо сделать транзакцию. Я её делаю через using transaction, дальше try catch , в catch'е rollback. И после роллбека возвращаю UnexpectedResult, который в контроллере переделываю в 500 ProblemDetails. Конечно еще проблема что приходится ради транзакции тащить Dbcontext в датаменеджер, ну ладно не в этом суть.. Вопрос в том, что мне таким образом в try catch получается надо теперь все запросы к базе обмазать? Или как вообще происходит обработка эксепшонов снаружи контроллеров. Хочу чтобы в случае когда я UnexpectedResult возвращаю и когда просто кидается какой-то рандомный экспешон из-за проблем с базой возвращалось одно и тоже. Или это хуйня и можно забить?
149 2170673
>>70660

>хочу всё обмазать Result'ами


Не надо все обмазывать резалтами.

>если нет айди из датаменеджера


Кидай исключение. С точки зрения UI, пользователь не может обновить несуществующую запись.

>Вопрос в том, что мне таким образом в try catch получается надо теперь все запросы к базе обмазать?


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

>Или как вообще происходит обработка эксепшонов снаружи контроллеров.


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

>Или это хуйня и можно забить?


Чем тупее написан код, чем меньше он вызывает вопросов, тем лучше.
150 2170680
>>70660
Все хуйня, забей и выкинь нахрен. Особенно протаскивание контекста в датаменеджер. Выкидывай тогда репозиторий, если датаменеджер знает про дб.

>все запросы к базе обмазать?


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

>обработка эксепшонов снаружи контроллеров


В asp net есть специальный мидлварь, который обрабатывает ексепшоны и в случае если никто его (эксепшн) не перехватил отвравит ответ 500 - Servery Pizda.
151 2170684
>>70673

>Кидай исключение. С точки зрения UI, пользователь не может обновить несуществующую запись.


Не соглашусь. Если айди приходит от пользователя, то это нормальная ситуация, что пользователь проебался. В терминах хттп BadRequest а не ServerError. Но если это произошло в процессе обработки провалидированных данных, то да, ошибка в приложении и это эксепшн.
152 2170694
>>70660

>Конечно еще проблема что приходится ради транзакции тащить Dbcontext в датаменеджер


UnitOfWork создай, который будет все персистить, отправлять реальные запросы на апдейт. В нем же инкапсулируй создание транзакции, если надо. Если работаешь чисто с ЕФ-ом, то все просто и красиво строится.
Dbcontext ни в коем случае в явном виде не тащи вне дата/инфрастракчар слоя.

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

>>70673

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


Хм. Смелое утверждение. А как же орхитектура? Как же ентерпайз физбазз? Наследие предков не чтишь сука?
Улыбаются ли тебе твои предки, когда ты в 3 строчки в одном месте пол спринта закрываешь?
153 2170699
>>70694

>UnitOfWork создай


>Dbcontext не тащи


А разве DbContext это не UnitOfWork?
154 2170700
>>70694

>А как же орхитектура? Как же ентерпайз физбазз?


Когда тебе будут заводить тикеты хуе-мое-нехуя-не-работает и ты будешь такое фиксить дохуя времени, чтобы исправить ровно одну строчку, начнешь проклинать предков.
155 2170701
>>70699
DbContext - UnitOfWork
DbSet - Repository
холивар
156 2170703
>>70699
Да, но надо больше абстракций.
>>70701
Холивар хуйня, "надо больше абстракций", если, конечно ты только не чувствуешь в себе силы написать новый ДбПровайдер или патчить текущий в случае изменений.
>>70700
Будет аргумент "поппередники наговнячили", внутри души скажу "спасибо" им. Деды знали толк. Кто понял жизнь - тот не спешит.
157 2170707
>>70703

>"надо больше абстракций"


Покажи репозиторий для MSSQL и MongoDB.
158 2170708
Раз пошла такая ебка, то и я про эксепшоны спрошу. Нужно ли оборачивать эксепшоны персистенс слоя в свои? Поясню. Есть интерфейс IStore и его реализации DbStore и JsonStore. Один наебнется с DbExcption другой c FileNotFound, но клиент-то не должен знать с чем он работает Store есть Store. Т.е. Store должен сделать так catch(Exception ex) { throw new StoreException(ex) }? Или не должен?
Минута пошла.
159 2170717
>>70707
UserRepo : BaseRepo<User, IMyDbContext>{

base.Get(id);
base.Create(User user);
base.Update(User user);

SomethingNotBase(User user)
}

В чем проблема-то?
160 2170725
>>70708
У тебя есть репо.
Репо консьюмит репо сервис.

Вася запросил детали о пользователе по гуиду.
Сервис обработки запросов дернул репо сервис.
Репо сервис дернул репо, в ней пользователя не оказалось.

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

Все.
161 2170726
>>70717
Проблем довольно много. Где транзакция? Где поиск по критерию?

>SomethingNotBase(User user)


Юзвера вместе с ролью вставляешь?
162 2170730
>>70726

> Где транзакция?


В UnitOfWork
Ctor(IUnitOfWork<IMyDbContext> unitOfWork)
: base(unitOfWork)

>Где поиск по критерию


Сам пили, сучара "GetSomethingNotBase"

>Юзвера вместе с ролью вставляешь?


Depends. Но лучше завести RoleRepo
163 2170733
>>70725
Так а что делать с DbException/FileNotFound?
164 2170735
>>70725

>репо сервис


Што это? МОжет юзер (ентитинейм) сервис?
165 2170737
>>70730
Так ты не увидишь проблемы. Не забудь еще апдейт и делит по критерию. И мультивставку.
166 2170738
>>70737
И апсерт.
167 2170743
>>70737
Какой проблемы? Самые общие случаи в бейс репо.
Остальные - пили сам в нон дженерик репах.
Нипанимаю.

>апдейт и делит по критерию


ЕФ+. Но да в этом случае надо заморочится с юнитОфворком и в каждом методе репы конектится к транзакции. Я обычно игнорю это лол.
168 2170744
>>70743
В этом случае надо поебать себе мозг, а потом прийти к выводу, что абстракции потекли. Абстракции головного мозга.
169 2170753
>>70744
В каком месте абстракции потекли?
Разве что, что некоторые операции будут вне транзакции (но это можно реализовать легко требуя открытия в месте, где ты вызываешь такие методы транзакции вручную. типа using IUnitOfWork.CreateTransaction() либо заморочится и в репах это сделать). Где тут протечка?
170 2170755
>>70733
Бумп.
171 2170759
>>70753

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


Смотри, абстракции нужны, чтобы уйти от деталей реализации, иначе польза от тех абстракций? Т.е., чтобы заменить MSSQL на MongoDB, или наоборот, достаточно изменить репозиторий.

Я натягиваю сову на глобус, перечисляя то, что не умеет EF. А ты из MongoDB делаешь реляционную базу данныхMSSQL.

Чтобы сделать то, что не умеет EF, мне надо IMongoDbRepository сделать? Тогда мне надо еще его вызывающий код исправлять - потекли абстракции.
172 2170760
>>70733
Мое скромное мнение - да, надо оборачивать в свой ексепшн, в инер - оригинальное, в методе документировать все возможные ексепшены, который он может выбросить.
Но мне лень обычно лол.

Ну и другие мнения тоже интересны.
173 2170763
>>70759
Все не так. Это все еще будет UserRepo. Но вот трахаться тебе прийдется внутри него и юнитоф ворка.
Я имел ввиду, что ради удобства я не создаю транзакции в ручную в сервисах и ожидаю, что ЮнитОфВОрк.Сейв() сделает все сам.
И это супер просто, когда под капотом ЕФ и его нативные операции, но да есть операции, которые выпадают с ЕФ-ного контекста и тут уже решать, или не гарантировать транзакционность вообще, илиюзать явную через ручной using IUnitOfWork.CreateTransaction(), или заморочится и сохранить "юнит оф ворк сделает все сам и транзакцию создаст и кофе, и отсосет" и поебстись в репах
174 2170775
>>70717
Ребята, ну уже не 12-й год, уже давно все поняли, что EF, Linq2Sql, etc - это и есть репозитори и самому это писать нужно только для ADO.NET/Dapper или другой лоу-левелной DAL, ну обновите уже методички свои и признайте что все знатно обосрались, проталкивая этот паттерн как дефолт.

С другой стороны, работы меньше станет на галерах, да и фактори себя не напишут.
175 2170777
>>70775
Мда да даб да.
Да ты не тренде. Давно уже твои братки перешли на лоукод.
Все давно поняли, что надо один ендпоинт на бек, который будет принимать запрос к CosmosNoSqlNoBrainDB и все.
Некст левел - встроить это в клиента и синкать по пирам. Но серверсолюшн.
176 2170780
>>70775

>EF


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

>Linq2Sql


Не вижу не одного плюса, какая-то жуть.

>ну уже не 12-й год


Холивар будет вечен.
177 2170782
>>70780
Точнее даже так. Проект стартуется на EF, а потом переписывается на ADO.NET.
178 2170786
>>70780
>>70782
Так и я не юзаю. На проектах: ADO.NET, Dapper и linq2db.

Репозитори паттерн как раз таки обычно пихают поверх уже таких монстров, как EF, где это как ращ точно не нужно, но архитектура жи.
OjLaStF.gif4 Мб, 469x375
179 2170789
>>70777

>Мда да даб да.

180 2170791
>>70786
>>70782
Ну давайте свои стори как с ЕФ обосрались
181 2170800
>>70791
Так обосраться легко. Достаточно поставить платного носорога и увидеть обосрамс. На одном проекте даж пилят ЭФ++, огромное расширение для экспрешин три с блек джеком и шлюхами.

Больше всего веселья с триггерами, когда надо запилить распределенный аудит или делать валидацию пермишином перед любым действием.
182 2170804
>>70800
ЧТо за носорог?

>с триггерами


А чем проблема-то?

>валидацию пермишином перед любым действием.


При чем тут Еф или датаслой вообще? Или вы тригером валидируете? Ну сами тогда себе злобные буратины
183 2170808
>>70791
Ну и так по мелочи: оконные функции, разнообразные специфические sql оптимизации, генерация значений по определенному правилу...

>>70804

>ЧТо за носорог?


https://hibernatingrhinos.com/products/efprof

>А чем проблема-то?


В аудите с этим:
https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/distributed-transactions

>При чем тут Еф или датаслой вообще?


Надо запретить делать действие в мультитенант системе, если нет к нему доступа. У нас не через триггер, это просто один из вариантов решения.
184 2170814
>>70804
EF - это как Windows/Mac, да, можно одним кликом всё сделать, но когда нужно выйти за рамки стандартных сценариев - начинается трэш и понимание, насколько over dependent всё на жирных слоях этой либы/фреймфорка.

Вообще, любая жирная зависимость - это головная боль в долгосроке, и нужно старатьcя избегать этого по максимуму.

И это не только в .NET, это в целом так должно быть:

https://github.blog/2018-09-06-removing-jquery-from-github-frontend/

Я лично склоняюсь к середине - юзаю micro-ORM, которые не так просаживают перфоманс и в случае чего могут быть быстро выпилены из проекта.
185 2170815
Как в регулярке проверить что точек 3, не больше не меньше?
186 2170816
>>70815
при этом могут быть цифры еще в рандомных местах
187 2170819
>>70815
\.{3}
188 2170821
>>70819
Я вроде так и сделал, но он с 2мя точками все равно пропускает
s.match(/([0-9\.{3}]){6,}/)
189 2170825
>>70821
Ты в квадратных скобках не можешь использовать фигурные. Перепиши без квадратных.
190 2170830
>>70825
теперь и для трех не работает
s.match(/(0-9\.{3}){6,}/)
image3 Кб, 222x150
191 2170833
>>70830
Ты {6,} применил на всю скобку. Считай без регулярки, что длина строки 6 и больше.
192 2170836
>>70833
она даже без учета строки не матчится
s.match(/0-9\.{3}/)
193 2170838
>>70836
Так у тебя написано, что ты хочешь 0-9...
На другом пике показал как работает фигурная скобка на круглую скобку. \d - это [0-9]
194 2170843
>>70838
А как мне ограничить количество точек тогда?
195 2170845
>>70843
На двух из трех моих пикчей я ограничил количество точек до 3. Голубой - первый мач, синий - второй мач. Если ты хочешь, чтобы вся строка состояла только из трех символов и был только один мач, то тебе надо еще добавить символы начала и конца $ и ^
196 2170891
Хм. Я тут столкнулся с проблемой на относительно древовидных структур в EF.
Ну, допустим, на нативном SQL - я могу сделать хитрый рекурсивный запрос и получить сразу родителя всего дерева, да там будут циклы и все такое, но оно все равно будет довольно быстро(проверял по крайней мере на дереве с 10к нодами и 150 уровнем вложенности).
А вот в EF ничего кроме как:

var item = node;
while(item.Parent is not null){item = item.Parent;}
return item;

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

Пока что придумал еще костыль типа добавить каждому листу ссылку на корень чтобы сразу можно было его достать, но это костыль-костыль какой-то.
197 2170900
198 2170902
>>70900
Ну блин(((
Тогда другой вопрос. Как организовать хранимки чтобы я мог при первом старте в контейнере сразу насоздавать их и потом дергать?
199 2170904
>>70902
Хранимку миграцией создаешь, из эфки дергаешь по имени.
200 2171046
Поцоны.
Сделал я бота для пое, он гемблит.
На скриншотах, чекает пиксели и по ним проверяет.
Вот у меня вопрос. Как в C# работать я памятью ?
Хотелось бы еще торгового бота сделать но он на пикселях не получится так как надо сообщения с чата принимать.
Как вообще такое делают? Есть гайды что бы на простых примерах показывали?
Пока я думаю что есть ячейка памяти в которую помещаются сообщения из чата. Вот их надо как то найти только я хуй знает как.
И лезть в память игры это сильно палевно?
201 2171051
>>71046
Я вообще думал, что у пое было только два кор проекта: анализ траффика и анализ памяти (поехуд).

Посмотри поехуд, я на него когда-то забил хер и его вроде переименовали, но ты его легко найдешь и на его основе захуярили некоторых ботов.
202 2171052
>>71046
И да, лезть в память палевно. В пое есть защита от этого. Поехуд когда-то умел редактировать память, чтобы например вырубить дождь для обладателей картофельного пк.
203 2171059
>>71052
>>71051
Бля а как тогда другие торгуют?
Я сначала хотел на нейронках бота делать но понял что хуета.
Не получится на 100% правильно распознать текст
204 2171062
>>71059
Я тебе уже объяснил, что многих ботов написали на основе поехуда. У него есть функционал для торговли. Но, чтобы ты знал, то, как он там сделан, у пое тоже есть защита. Если ты сам такое начнешь писать, получишь бан через какое-то время.
205 2171064
>>71062
А все теперь понял.
2 года не обновлялась это поехуда.
Коочи обойдусь без бота.
206 2171066
>>71064

>2 года не обновлялась


Она живет и процветает, только под другим названием. На него должна быть ссылка. Там местный абдула разбил каждый модуль на плагины, но я забыл название.
207 2171079
>>71066
Я сейчас с мобилы, не могу нормально код смотреть. Нашел этот репозиторий.
https://github.com/Qvin0000/ExileApi
Вроде этот
На сколько вообще сложно такова бота сделать?
Вроде функци мало, принимай сообщение, парси, приглашай, меняйся и проверяй что бы не наебали.
208 2171083
>>65540 (OP)
Добрейшего вечерочка, шарпаны. Как вообще неврождённому приложению обзавестись бд на сервере (с MS SQLServer)? Ну т.е. вот есть вроде такая концепция - кодфёрст, все дела, когда бд мы создаем в коде и запиливаем ее потом через миграции (включая инишал для создания самой бд). Как этот подход совместить с реальной ситуацией? Какого пользователя для этого создавать в бд для указания в строке подключения? (Юзера или логин? Бд ведь еще не существует до первой миграции.) С ролью dbcreator? А не слишком жирно и небезопасно? Но если создать менее привилегированного сервер же пошлет приложения нахер при попытке совершить первую миграцию (создание самой бд)? Как вообще инициировать эти самые миграции на реальных серверах? Есть какие-нибудь гайды/общепринятые подходы? В 99% обучающих материалов учат создавать бд в локалбд с трастед конекшн и инициировать миграции аосредством апдейт-датабейз с консоли в студии блджат
209 2171084
>>71079
Лол, чела зовут Queuete, а Qvin - это другой говнокодер. У этого проекта было контрибьютеров больше, чем членов у портовой шлюхи.

>На сколько вообще сложно такова бота сделать?


Через траффик вообще забей. У тебя не получится остановить отправку сообщений, чтобы увидеть магическое слово и не быть спаленным. Зато это самый лучший бот будет. Сорцы не найдешь, только описание алгоритма.

Память сделана через поиск шаблона. Ты если далек от умения находить шаблон каждый апдейт, твой бот сломается на следующее обновление. Идея предельно простая: читаешь ивент слушая найденную функцию https://en.wikipedia.org/wiki/Entity_component_system и эмулируешь нажатие кнопок. Как эмулировать кнопки и не спалиться, найдешь у авто фласок, если трейд выпилили.

Про чтение пикселей вообще забей.

Дальше сам, я больше ничего не скажу.
210 2171087
>>71083
Не использовать код ферст. Нашел проблему.
211 2171091
>>71084
В пизду такое счастье.
Я думал как в артмани, найти ячеку памяти и подменить)
А отправка сообщения?
Это типо слушаем трафик который идет в игру через прокси сервер?
Ну в принципе мне хватило бы просто прочитать сообщения от юзера а потом я и пикселями могу сделать.
212 2171092
>>71083
Делаешь простой инсталлятор, где на одном из этапов будет выбор провайдера и ввод строки подключения. Если БД на сервере нет - в установщик ее тоже засовываешь.
213 2171093
>>71092

>Делаешь простой инсталлятор


Вот с этого момента начнутся проблемы.
214 2171094
>>71087
Почему? Что использовать?
215 2171095
>>71094
Использовать дб ферст. Ты же не собрался креды продакшена пихать в контроль версии? Код ферст - это гиблое дело.
216 2171103
Можно ли в шарпе удалить или переопределить переменную другим типом?
Вот есть у меня СтрингБилдер, и я хочу конвертнуть его в стринг но не хочу создавать еще одну переменную. Так можно?
217 2171105
>>71103
Span шоль? Через него можно хоть изменять неизменяемые итернированные строки в шарпе.
218 2171108
>>71103
Есть еще void*, мой любимец.
219 2171112
>>71093
Какие? Простейший инсталятор пилится за 2 часа и потом просто переиспользуется. Разве что там софту пиздец сколько настроек нужно.
220 2171114
>>71112

>Простейший инсталятор


Вменяемый еще стоит что-то около 5к бачей.

>Разве что там софту пиздец сколько настроек нужно.


Наивно думать, что все закончится на создании какого-то там dbcreator. Слишком идеальный мир получится.
221 2171125
>>71095
При чем тут контроль версий? Пайплайна распердолит. Но да, в основное приложение ддл_админа выдавать не хочется
222 2171126
>>71125

>При чем тут контроль версий?


На тему, что я часто вижу как секреты пихают в контроль версий для каждого энва.
223 2171128
>>71126
Хз. У нас все аппсетинги под гитигнором
224 2171129
>>71103
dynamic ?
225 2171157
Посоны, как эмулировать зажатие кнопки контрл?
Нажатие эт понятно СендВайт а вот как зажатие?
Мне надо зажать кнтрл и нажимать лкм.
226 2171161
>>71157
От сложного к простому:
SendInput
keybd_event
SendKeys.Send
Последнее вроде не умеет контролы слать. Для мышки похожее апи.
227 2171178
>>71103
сап, аноны, обьясните сокральный смысл services.AddScope(className), services.AddTransient(className), понятно что в случае AddSinglton, мы дергаем один и тот же обьект в контроллер или разные контроллеры, и у него свое состояние например или рекомендуется использовать когда обращаемся к чему нибудь внешнему( кэш, конфигурация например). Что же в случае services.AddScope(className),services.AddTransient(className) все сложнее. Можно подсказать наглядный пример по смыслу. Когда нам надо это использовать и без этого не обойтись.
228 2171180
>>71178
Объясню на примере вонючего EF.
- Если сделать Singleton, контекст довольно быстро из-за кеша начнет пиздец тормозить.
- Если сделать Transient, потеряешь все плюшки кеша.
- PerRequest можно сделать только в ASP.NET.
- В какой-нибудь вундервафле придется использовать кастомный Scope вместо PerRequest.
229 2171181
EF Core

Есть БД, упрощено говоря, в ней две таблицы User и Work
В первой столбцы
UserID и UserName
Во второй
WorkID, UserID1,UserID2, UserID3.

Как можно подменить имена во второй таблице на имена из первой (вместо ИД выводились имена)?
230 2171183
>>71181
Через джоин + проекцию.
231 2171184
>>71183
У меня почему-то возвращает пустой объект.
232 2171186
>>71184
Джоины разные бывают. Левый, правый, либеральный.
233 2171187
>>71186
Для такой херни я бы вообще вьюху создал и делал бы просто выборку из нее.
234 2171195
>>71186
А какой лучше всего использовать, когда надо заменить три одинаковых столбца?
235 2171201
>>71180
Благодарствую анончик!) Стало попонятнее)
236 2171209
>>71181
Что проще понять
Пусть в User будет

User Name
1 Петя
2 Вася
3 Катя

В Work будет одна строка
WorkID User1 User2 User3
1 1 2 3

Надо вывести через EF Core

User 1 = Петя, User 2 - Вася, User 3 - Катя.
237 2171257
>>71195
Тебе надо написать три джойна или три подзапроса. Тип джойна влияет только на наличие значения UserId.
238 2171272
>>71257
А примерный код можно? А то чувствую что застрял, и сам себе переусложнил решение
240 2171283
>>71278
Спасибо, вечером попробую.
241 2171321
>>65540 (OP)
Вопрос очень важный, прошу помочь!

В общем, я анализирую файл. Там есть два типа строк: одна содержит "=", а вторая ";". Задача - извлечь эти строки и раскидать их по ячейкам таблицы

В чем цимес ситуации: второй тип строк идет под первым (например, первый_тип_строки '\n' второй_тип строки). Однако может быть такое, что второго типа строки просто нет.

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

У меня получается все так, что он либо работает со всеми типами отдельно, либо только с первым, либо только с теми участками файла, где есть и первый и второй типы строк (см выше)

Может вы мне подскажете? Надеюсь понятно все объяснил...
242 2171325
>>71321
Через регулярку:
мач(тип_2) ? парс_2 : парс_1
Или подключи скажем ANTLR и опиши дсл.
243 2171332
>>71325
Да я бы рад, но у меня там цикл, за одну итерацию считывается только одна строка, я дурак забыл это упомянуть
244 2171333
>>71332
цикл:
мач(тип_2) ? парс_2 : парс_1
Погоды не меняет.
245 2171338
>>71333
Хм, что ты под парс_2 подразумеваешь? А так звучит годно

Хотя у меня идея захуярить два цикла, в одном запихнуть все в лист и чтоб второй тип строки сливался в одну с первым и потом этот лист обрабатывать
246 2171340
>>71338
Ты сказал, что у тебя первая и вторая строка различаются символами. Значит их можно различать. Читаешь по одной строчке, чекаешь тип строчки и вызываешь функцию для парса первой строчки или второй.
247 2171373
>>71103
Ебобо? У тебя там переменные называются a, b, c, huj? Иначе как может придти в голову идея переменной предназначенной для 'x' присвоить значение 'y'. Но вообще C# строго типизированный язык, и без ебли с dynamic/object такого не сделать.
>>71181
Выглядит как какая-то ненормализованная хуита. Неплохо бы вынести назначения работ юзерам в отдельную таблицу.
248 2171375
>>71340
Я вроде разобрался с проблемой. Достаточно костыльно, но оно работает. Спасибо что откликнулся)
249 2171376
>>71373

>C# строго типизированный язык


Будет, когда имплисит удалят, гагагага.
250 2171377
>>65540 (OP)
Анончики, кто в этом году вкатился? Расскажите что спрашивают чаще всего
251 2171396
>>71376
Сильная типизация при слабой строгости определения оной. кек.
252 2171398
>>71377
Ну про стулья там, про полотенце... Ты просто скажи что ты с двача, там поймут.
253 2171404
>>71396
Сильная и строгая - синонимы. C# со слабой типизацией из-за имплисита как и плюсы.
254 2171415
>>71404
Ты не понял. У сильной и слабой типизации нет прям такого четкого определения. И если брать строгое определение строгой типизации, то у шарпа слабая типизация, а если слабое определения, то у шарпа строгая типизация. Этож каламбур был... Я же кек написал... грустно.
Но вот сравнение с С це перебор. Даже при неявном касте в решетке ты получаешь строго типизированный объект.
255 2171452
С чем разобраться-поиграться синиор помидору ленивому?инбифо: с жопой
256 2171456
>>71452
С розлином ¯\_(ツ)_/¯
257 2171460
>>71452
Напиши сорс генератор на EF.
258 2171472
>>71452
СЕНЬОР
@
НЕ УМЕЕТ СТАВИТЬ ЗАДАЧИ
259 2171486
Серьезная тема.
Вот есть асп кор приложение с ролями для юзеров. Есть сервис IFooService { Foo[] GetFoos()//реализация тащит данные из бд }
У Foo есть свойство Foo.IsPrivate и нужно обычным юзерам выдать страницу со списком foo, где IsPrivate = false, а юзерам с ролью "Рептилоид" все foo. Вопрос: кто где и как должен решить что показывать. Распишите плиз подробно от прихода запроса, до выдачи ответа. Пока у меня такие варианты:
1. Контролер проверяет роль и вызывает метод GetFoos, который принимает желаемое значение IsPrivate: fooService.GetFoos(isPrivate: false). Недостаток видится в том, если вызов будет из нескольких контроллеров, придется дублировать проверку ролей.
2. IFooService требует IAuthService, в котором можно получить роль и возвращает только достимые foo. Недостаток - IFooService делает слишком много и имеет несколько причин для изменеий.
3. Контроллер вытаскивает все foo и сам фильтрует. Недостаток - тянутся лишние данные с бд.
260 2171494
>>71486
Я бы выбрал второй вариант и подробил сервис.
261 2171496
>>71404
чо? неявные преобразования без потери точности не говорят о слабой типизации
262 2171497
>>71496
Ты можешь написать неявное преобразование Foo в Bar, которые никак не связаны. Я думаю тот анон про такое писал.
263 2171500
>>71497
а, ну так если ты можешь в шарпе юзать dynamic (aka object с рефлекшеном), то c# это язык с динамической типизацией, всё логично
264 2171502
>>71500
Отличается все равно от фшарпа, где даже аппер каст надо явно делать.
265 2171506
А я вот тут подумал. Если надо вызвать метод по имени, то щинами даже лучше рефлексии? Ибо вручную там под капотом омтимизируео рефлексию. Не?
266 2171508
>>71506
Ответ: хз. Напиши тест. Желательно на .нет 6 рк1, потому что помимо jit, появилась профиль оптимизации (кокой-то мотюк с 3 букф).
267 2171510
>>71494
А как раздробить сервис? Т.е. в нем будет такое
if(!auth.UserInRole('Reptiloid'))
...query = query.Where(f => !f.IsPrivate)
И что куда дробить? Родилась такая идея
IFooAccessFilter { IQueryable<Foo> Fileter(IQueryable<Foo> foods)}
В IFooAccessFilter инжектить IAuthService, а сам IFooAccessFilter инжектить в IFooService. И тогда получится IAuth предоставляет данные о юзеер, IFooAccessFilter решает что можно а что ни-ни, а IFooService исползуя фильтр тянет только нужные данные. И это вроде неплохо масштабируется и на IBarService, IGovnoService.
268 2171511
>>71510
Надо смотреть на конкретную картину в целом. Может ты себе сам внушил, что сервис делает слишком много. Чтобы не получилось, что тебе по приколу захотелось заниматься оверинженирингом.
269 2171517
>>71500
Да, C# мультипарадигменный по всем параметрам. И рыбку съесть и на пенек присесть. Ну или ни рыба ни мясо, кому как нравится.
>>71506
Смотри. Рефлексия всего лишь смотрит в метеданные, которые во время выполнения уже существуют. А в случае динамика в рантайме запускается некоторое подобие компилятора на минималках, который сначала обрабатывает его.
270 2171601
>>71510

>f => !f.IsPrivate


К слову, есть паттерн спецификация. Куда можно абстрагировать всю эту чушь и избавиться от дублирования кода.
271 2171656
Есть прям ультимативное пособие для новичков?
272 2171658
>>71656
Да, идти на бессплатные курсы у галер.
273 2171661
>>71517

>метеданные, которые во время выполнения уже существуют


в случае AOT это не всегда правда
274 2171765
Пытаюсь в Q-обучение на небольшой игре с двумерным полем, для чего потребовалось иметь словарь, в котором игровое состояние и действие как единый ключ согласовывались бы с q-значением.
По факту получился словарь, в котором ключ - кортеж из двумерного массива и кортежа действия, содержащего координаты клетки поля, в которую делается ход; Значение - double для q-значения.
В чём проблема: при обновлении q-значений вместо их перезаписи происходит вставка идентичной по ключу записи, что кажется максимально странной хернёй для словаря. Пикрелейтед как это выглядит при отладке.

В какую сторону глядеть, чтобы пофиксить?
275 2171770
>>71765
я нихуя не понял. конечная цель какая?
276 2171778
Что я делаю не так? Просто не выводит результат на консоль
277 2171785
>>71770
Конечная цель перезаписывать значения по имеющемуся ключу, а не создавать его дубликат (по крайней мере по всем значениям так выглядящий).

Словарь же не должен иметь возможности вставлять одинаковые ключи в целом, а тут я пошёл нахуй с дефолтной записью словарь[ключ] = значение.
278 2171786
>>71785
Что ты от этого ключа хочешь? У тебя ключ - это ссылка на массив, а не массив.
279 2171787
>>71778
Аноны, объясните пж что не так, ошибка то до безобразия простая, просто я не могу её найти
image43 Кб, 951x168
280 2171793
>>71787

>ошибка то до безобразия простая


Меня всегда забавляли такие экспертные мнения. Проблема в потере третьего параметра. Ctrl + K, D чтоль еще нажми.
https://dotnetfiddle.net/vTgQIa
281 2171794
>>71786
Действительно, затупил. Thx, анон.
Безымянный.png12 Кб, 794x229
282 2171799
8fc34ab4b8768dfb756df595dbfc8fd8.jpg46 Кб, 720x707
283 2171800

>в треде обсуждают циклы


>как мне по id вытащить рекорд


>пачиму моя рекурсия не работает

284 2171802
>>71800
А что ты хочешь пообсуждать, няша?
285 2171804
>>71793
На самом деле мерзотненькая хуйня. Вроде и удобно, и сам таких ошибок не совершаешь, но если тупо смотришь на код чужой - это оч непросто заметить с первого раза.
286 2171805
А у меня вот такой вот тупой вопрос.
Какого хуя, блядские инструменты EF - не хотят мне генерировать миграцию, если я переношу метод Main из класса Program?
Ну, допустим, я - ебланстер, и мне не нравится что метод Main в классе Program, ну вот такой я ебанутый, хочу чтобы такое охуенное слово для других целей использовать. Выношу в класс EntryPoint в котором метод Main делает:
new Program(string[]args).Run();
И ебучие инструменты миграции - тупо не хотят работать, дескать мы метод такие-то методы не нашли в классе Program. Ну охуеть, блядь. Разве нельзя было, блядь, не тупо сдыхать, а так и написать и попросить указать место куда стучаться, раз вы такое вот говно сделали?
Стикер191 Кб, 344x335
287 2171809
>>71800
Я наполняю ванну рекордов и мы с тобой всю ночь на пролет обсуждаем циклы и рекурсии.
288 2171811
>>71805
Создай здесь ишью https://github.com/dotnet/efcore/issues
289 2171813
>>71278
В общем, пришлось ещё дописывать "into"
Но всё ровно спасибо
290 2171881
>>71805
Смотри IDesignTimeDbContextFactory и аргументы команды. И успокой свое траханье.
Вообще не понимаю при чем там метож мейн.
Нихуя загуглить не могут, а потом "ЕФ гавно пайду лучше в АДО((("
291 2171965
Ребяты почему иногда не срабатывает SendKeys.SendWait("^(c)") ?
Вот в визуал студии я отлаживаю и запускаю программу. Иногда ее закрываю. И вот она начинает ебать голову потом. Перестает копировать, я перезвпускаю студию, иногда помогает сразу а иногда нужно ждать только хуй знает чего ждать то.
292 2172001
>>71965
Он по дефолту навешивает хук. Хуй знает, что ты там чудишь идеешкой. Если помогает рестарт пк, то все понятно.
293 2172008
>>65540 (OP)
Аноны, помогите придумать реализацию. Вот у меня есть объект, а в нем 20 полей int, надо вызывать один метод при присваивании значений этим полям. Возможно ли сделать что-то типа сеттеров у этих полей без дублирования сеттеров в каждом?
С INotifyPropertyChanged в любом случае надо в каждое свойство копипастить один и тот же код.
Можно сделать классы с кастомным implicit кастом, но тогда читаемость по пизде пойдёт, когда я буду инты присваивать классу. Разве что сделать дженерик и в скобках инт оставлять, чтоб понятнее выглядело откуда он взялся. Но это всё равно звучит как нечитаемая хуйня.
Рефлексией магию сотворить? Но это тоже звучит как костыль.
Или не ебать мозг и просто вызывать Set(...)? Но меня ОКР долбит.
Проверять поля на изменение в цикле? Вообще пиздец.
И если делать вместо интов классы, то в любом случае надо в конструкторе писать лапшу с вызовом конструкторов каждого класса, чтоб передать в него что это за поле вообще. Что тоже не нравится мне.
294 2172013
>>72008
Сделай сорс генератор по атрибуту или суффиксу класса.
1.jpg42 Кб, 737x345
295 2172019
>>72008
Могу прдложить прикриплейд)))
296 2172030
>>72001
Рестарт пк помогает в любом случае.
Сейчас вот скомпилироаал программу и запускаю ее в релизе без студии и она нихея не работает.
Не происходит копирование(
Безымянный.png30 Кб, 758x614
297 2172033
>>72019
Более лучшая реализация как мне кажется))))
298 2172041
>>72019
>>72033
Я ведь хотел чтоб просто писать zalupa.a = 5; и вызывался нужный метод. А так можно и через TypeBuilder весь класс слепить и обращаться через интерфейс. Но я думал может есть менее извращённый способ.
299 2172047
>>72041
Мог бы Fody взять просто, подписаться на нотификации и что тебе там надо делать.
https://github.com/Fody/PropertyChanged
300 2172170
>>72047
Я ему уже предложил использовать сорс генератор, намного лучше фоди.
301 2172389
>>72170
А почему лучше фоди-то?
На самом деле гуд фича. И фоди это таки риск (сам автор писал, что когда он уходил - никто нахуй либу не поддерживал), но все же.
302 2172395
>>72389
Фоди изменяет сгенерированный ил. Сорс генератор дописывает код до компиляции.
303 2172464
Позадавайте мне вопросов которые обычно задают вкатывальщикам. Позязя.
А то я на заводе работаю и завод немного(сильно на самом деле), заебал, но вкат на звавод происходил так:
-Привет, шарп знаешь?
- Знаю.
- Ок, вот тебе пека, иди работать.
И судя по всему в других местах немного не так.
изображение.png106 Кб, 1130x633
304 2172487
Под виндовс оказывается есть какой-то йоба терминал новый
305 2172506
>>72464
Стандарт.
ООП.
Наследование. Модификаторы доступа. Боксинг анбоксинг. Структуры данных. Паттерны проектирования.вкатывальшику нужно просто знать что такие есть.
Ну и общие воросы, что такое clr, что такое нет, нет кор, нет фраемворк, в чем разница.
Корочи зайди на метанит и там посмотри вопросы.
А ну еще sql. Так же желательно представлять что такое EF core. Ну если прл еф кор спросят то там и linq. Так же асинк авейт. Ну еще сериализация и структура json, но это легко, там пару строк кода.
Эт вопросы только по языку. А ведь есть еще впф, асп нет кор.
Впф я хуй знает, а в асп коре там я ебу вопросов, выебут в хвост и гриву. Модели, представления, контролеры, фильтрация, зависимости, модели представлений, частичные представления, апи, куки, маршрутизация, авторизация. А еще сигналР и Блейзор там тоже еще можно пачку вопросов придумать.
Но ты не пугайся, это все изи, главное практика.
Корочи теория это хорошо, но вот даже если ты наизусть весь метанит выучиш и слово в слово сможешь его пересказать тебе это не поможет.
Я сам вкатывальщик и уже давно понял что без практики ты нихуя не изучишь.
Придумай себе проект и делай его.
Только не придумывай очередную соц сеть или телеграм бота
Нужно что то что бы было интересно тебе. Что бы ты горел и хотел это делать.
Вот мб в игру какую играешь, сделай чит или бота для игры. Или у друзей спроси какой бы сайт им был бы нужнн и сделай им его.
изображение.png164 Кб, 1200x761
306 2172514
Что это такое? Перечитываю пятый раз и понять не могу что, зачем и нахуя тут нужно. Зачем вообще писать как s1 и s4? Что тут вообще происходит?
307 2172517
>>72514
s1 это конструктор с передачей ReadOnlySpan<Char> на самом деле и его не существовало до .net core 2. В классе String объявлены разные перегрузки конструкторов, например перегрузка с созданием строки из масива символов.
s2 существовала всегда
s3 - более поздняя и удобная версия s2(но её нельзя использовать для объявления поля внутри класса).
s4 это последнее добавление в язык и упрощённый вариант для s1, чтобы не писать второй раз имя класса, на любителя впрочем.
308 2172539
>>72517
Всё равно не понимаю смысл s1 и s4. Я могу пока просто забить на это ?
309 2172569
>>72506

>ООП


Ну, тут наверное чек. Как минимум за наследование-полиморфизм-инкапсуляцию могу пояснить + солид.

>Боксинг анбоксинг


чек

> Структуры данных


Хм. Вот тут у меня сомнения. Потому что многое на практике не применял, только знаю когда что надо в теории, но на практике только пригодились деревья, да стек, очередь, списки, массивчики.

> Паттерны проектирования


Если те что у банды четырех - чек. Если MVC-MVVM - тоже чек. Другие - хз.

> clr


Чек, хотя если будут спрашивать по кишкам - только общее знаю.

> что такое нет, нет кор, нет фраемворк, в чем разница


Чек

> sql


У sql много чего. Если просто про запросики и n+1 - чек, если какая-то специфичная фигня типа как какие индексы строятся - наверное не чек. Ну и специфичная для конкретных СУБД фигня, типа вот в этой можно это, а в той то.

> еф кор


Ну, опять же тут получается зависит. На текущей работе я его просто как хранилище использовал.

> асинк авейт


Чек

> Впф


Не интересно и не собирался на декстопы

> представления, контролеры, фильтрация, зависимости, модели представлений, частичные представления, апи, куки, маршрутизация, авторизация


Это все чек, если подразумевается веб. Просто потому что на текущей работе именно это использовал частенько.

> сигналР


Чек

> Блейзор


Знаю что есть, руками не трогал, только создавал проектик посмотреть. На текущей работе Webapi+angular+nginx+docker
309 2172569
>>72506

>ООП


Ну, тут наверное чек. Как минимум за наследование-полиморфизм-инкапсуляцию могу пояснить + солид.

>Боксинг анбоксинг


чек

> Структуры данных


Хм. Вот тут у меня сомнения. Потому что многое на практике не применял, только знаю когда что надо в теории, но на практике только пригодились деревья, да стек, очередь, списки, массивчики.

> Паттерны проектирования


Если те что у банды четырех - чек. Если MVC-MVVM - тоже чек. Другие - хз.

> clr


Чек, хотя если будут спрашивать по кишкам - только общее знаю.

> что такое нет, нет кор, нет фраемворк, в чем разница


Чек

> sql


У sql много чего. Если просто про запросики и n+1 - чек, если какая-то специфичная фигня типа как какие индексы строятся - наверное не чек. Ну и специфичная для конкретных СУБД фигня, типа вот в этой можно это, а в той то.

> еф кор


Ну, опять же тут получается зависит. На текущей работе я его просто как хранилище использовал.

> асинк авейт


Чек

> Впф


Не интересно и не собирался на декстопы

> представления, контролеры, фильтрация, зависимости, модели представлений, частичные представления, апи, куки, маршрутизация, авторизация


Это все чек, если подразумевается веб. Просто потому что на текущей работе именно это использовал частенько.

> сигналР


Чек

> Блейзор


Знаю что есть, руками не трогал, только создавал проектик посмотреть. На текущей работе Webapi+angular+nginx+docker
310 2172574
>>72569
Ну лак че голову дуриш то
Ты уже пояти милд если ебало касивое.
311 2172575
Ребята вы бы поверили если бы я вам сказал что игровые действия в игре наебнули бота который до этого работал? Наебнули всмысле сломали его правильную работу.
Я вот сам не верю в такое.
Вот история.
Сделал я бота корочи, который кликает в ПОЕ. В лиге он покупает предметы.
Ну все хорошо все работает без проблем вообще.
Скинул я его корешу.
Он пробует и говорит что не работает.
Я думаю как так то нахуй, скорее всего он персонажа не так поставил и пиксили не сходятся по которым нужно кликать.
Он высказывает предположение что из за размера персонажей клики не попадают. Ну ок, у меня вичка у него глад.
Я захожу на глада, и точно не работает.
Только вот я потом захожу на вичку и у меня ТОЖЕ БЛЯТЬ НЕ РАДБОТАЕТ.
Проблема в том что с какова то хуя данный метод перестал отжимать контрл в игре

public static void Ctrl_MouseLeft(int xpos, int ypos)
{
// Key Ctrl + Mouse Left
keybd_event(VK_LCONTROL, 0, KEYEVENTF_KEYDOWN, 0);
SetCursorPos(xpos, ypos);
mouse_event(MOUSEEVENTF_LEFTDOWN, xpos, ypos, 0, 0);
Thread.Sleep(200);
mouse_event(MOUSEEVENTF_LEFTUP, xpos, ypos, 0, 0);
keybd_event(VK_LCONTROL, 0, KEYEVENTF_KEYUP, 0);

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

Блять как так то нахуй
Комп перезагружал уже.
Я просто не могу в это поверить.
Это как если бы человек увидел инопланетянина и мне рассказывал бы то я ему вызвал бы дурку.
Но я рили вам не пижу, так все и было.
Программа одна и та же. Причем я ее утром допилил и с утра она фармила, я заходил и выходил из игры все ок, а тут 1 раз сменил перса потом взял основного и такой пиздец.
311 2172575
Ребята вы бы поверили если бы я вам сказал что игровые действия в игре наебнули бота который до этого работал? Наебнули всмысле сломали его правильную работу.
Я вот сам не верю в такое.
Вот история.
Сделал я бота корочи, который кликает в ПОЕ. В лиге он покупает предметы.
Ну все хорошо все работает без проблем вообще.
Скинул я его корешу.
Он пробует и говорит что не работает.
Я думаю как так то нахуй, скорее всего он персонажа не так поставил и пиксили не сходятся по которым нужно кликать.
Он высказывает предположение что из за размера персонажей клики не попадают. Ну ок, у меня вичка у него глад.
Я захожу на глада, и точно не работает.
Только вот я потом захожу на вичку и у меня ТОЖЕ БЛЯТЬ НЕ РАДБОТАЕТ.
Проблема в том что с какова то хуя данный метод перестал отжимать контрл в игре

public static void Ctrl_MouseLeft(int xpos, int ypos)
{
// Key Ctrl + Mouse Left
keybd_event(VK_LCONTROL, 0, KEYEVENTF_KEYDOWN, 0);
SetCursorPos(xpos, ypos);
mouse_event(MOUSEEVENTF_LEFTDOWN, xpos, ypos, 0, 0);
Thread.Sleep(200);
mouse_event(MOUSEEVENTF_LEFTUP, xpos, ypos, 0, 0);
keybd_event(VK_LCONTROL, 0, KEYEVENTF_KEYUP, 0);

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

Блять как так то нахуй
Комп перезагружал уже.
Я просто не могу в это поверить.
Это как если бы человек увидел инопланетянина и мне рассказывал бы то я ему вызвал бы дурку.
Но я рили вам не пижу, так все и было.
Программа одна и та же. Причем я ее утром допилил и с утра она фармила, я заходил и выходил из игры все ок, а тут 1 раз сменил перса потом взял основного и такой пиздец.
312 2172614
Почему тред перекатили, а ссылку в старый не скинули?
314 2172616
>>72615
Надо тройную ссылку при перекате делать. К примеру, вот так:

>>65540 (OP)
>>65540 (OP)
>>65540 (OP)
315 2172617
>>72616
Мне все равно.
316 2172618
>>72617
А я в старом треде 2 недели просидел.
317 2172678
В конце большинства тредов вылазит какой-то петуч и перекатывается в джаву/го (шило на мыло). В чем смысол?
Работы нет - пиздеж. По вебу сейчас голод. За неделю на джинни приглосов 20 приходит. Из них в 10 будет красивый стек: кор, ангулар, опционально микросервисы.
318 2172843
Почему стек работает по правилу Last-in-first-out?
319 2172854
>>72843
Сам подумай почему для вызова процедур нужен стек. Как еще хранить параметры вызова и состояние регистров хранить, чтобы востановиться после возрата из подпроцедуры?
Безымянный.png42 Кб, 950x694
320 2172898
Анончик, что думаешь о такой вот структуре проекта? Не кажется ли тебе она неудобной?
1633279702874.jpg32 Кб, 480x360
321 2173035
Я заебался.

ASP.NET MVC, .NET 5. У меня есть страница Razor, называется app.cshtml - на неё легко зайти, невозможно забыть, и легко потерять, она работает. Я хочу, чтобы запросы на сайт вроде сайт/сычёв и сайт/срака вели на аналогичную страницу как сайт/app?id=сычёв, но при этом выглядели как сайт/сычёв. Разве я много прошу?

Я сделал раутинг, он выглядит так:
endpoints.MapRazorPages();
endpoints.MapControllerRoute(name: "Apps", pattern: "{controller=Home}/{(звёздочка)pageID}", defaults: new { action = "ShowInfoPage" });

- и эта хуйня работает, я получаю выход в нужную функцию. Но потом из этой функции мне нужно подставить нужную страницу app.cshtml, и параметр. И ёптваюмать, это не работает.
return View("~/Pages/app.cshtml"); - вот эта срака переводит на нужную страницу, но теряется ViewData.

Меня заебло тупить. Как в этом ёбаном MVC подменять страницу без изменения пути в адресной строке?
1633280776645.jpg41 Кб, 500x481
322 2173058
>>73035
Я вроде как решил это, создав нормальный View и Model, но хотелось же на нормальный RazorPage вывести.
323 2173145
>>72898
А ты знаешь что в одном солюшене может быть несколько проектов? >>73035
Чего блять? МВЦ и РазорПагес разные вещи. Их, конечно, можно вместе использовать, но надо нормально маршруты настроить. Ну и возвращать из контроллера страницу нельзя. Либо редирект, либо темплейты по-человечески сделать, которые и пага и вью будет использовать.
image.png33 Кб, 1370x296
324 2173231
Почему он ругается на i? Разве i не должно быть локальным внутри блока цикла?

Это что за хуита? Смешно что такая хуита когда-то была в С++, времен 6.0 версии студии до 98 стандарта, и ее пофиксили.

С какого она в шарпе-то делает?
325 2173243
>>73231
Защита от говнокода.
326 2173250
Как подобный T&F|T=T&!T стринг в логику прасить? Как запилить
bool Foo(string bar) { }?
sage 327 2173261
Неофит на связи, можете по хардкору объяснить как там переносятся библиотеки с .net framework на .net core / .NET? Я что-то слышал про компабилити пак. Есть один System.Windows.Threading в WindowsBase.dll, у меня сейчас ругается на Threading.
328 2173262
Сага приклеилась сама
>>73261
329 2173345
Нихуя не понимаю бля.
Вот есть этот класс https://docs.microsoft.com/en-us/dotnet/api/system.windows.threading.dispatchertimer.start?view=net-5.0

>Applies to .net 5.0


Компитабилити пак поставил, пытаюсь гуглить в нугете - он есть только в каком-то левом пакете, который не ставиться. Непосредственно в reference assemblies на харде в .нете WindowsBase нету, только во фреймворке, но он очевидно нихуя не подключается.
Как его поставить?
330 2173358
>>73250
https://dotnetfiddle.net/uxl6Hg

Теперь задание тебе: запили мне
bool Foo(string bar) { }
Чтобы он приносил миллион долларов в месяц.
331 2173360
>>73345
Пришло время переустанавливать шиндус. У меня WindowsBase.dll лежит в папке кора. Ты кстати в какой папке смотришь? А кор у тебя 5 или 3?
332 2173406
>>73358
string Foo(string bar)
{
return "Один миллион долларов"
}
Держи, запускать раз в месяц
333 2173410
>>73406
Хули ты сигнатуру изменил?
334 2173427
>>73360
У меня .NET 5. Либы у меня все были сложены по дефолту приблизительно в C:\Program files(x86)\Reference assemblies\ .
335 2173432
>>73427
И что у тебя кор делает в папке фреймворка? Core по умолчанию идет в C:\Program Files\dotnet. Либы для десктопного сдк C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\5.0.0.
336 2173433
>>72575
Бамп вопросу.
Поцоны это же бред блять.
337 2173519
>>73432
Спасибо, добавил с последнего пути - сбилдилось, только в студии подсвечивает все равно ошибку, нужно навернуть еще какой-то анализатор?
338 2173526
>>73433
Ты что-то наговнокодил, очевидно же.
339 2173536
>>73345

>Компитабилити пак поставил, пытаюсь гуглить в нугете - он есть только в каком-то левом пакете, который не ставиться.


Начиная с VS2017 изменился формат csproj. Теперь он намного чище и без всякого мусора.

Чтобы получить WindowsBase.dll и еще ворох всякого говна, необходимо у csproj указать sdk Microsoft.NET.Sdk.WindowsDesktop и/или TargetFramework net5.0-windows.
изображение.png644 Кб, 645x826
340 2173560
Что скажете?
341 2173562
>>73560
Краски не хватило на другие машинки.
342 2173585
>>73560
Русек вышел?
343 2173625
>>73585
Не знаю
image50 Кб, 321x353
344 2173645
Да это же программист-анальник. Открыл 17 главу в надежде увидеть стандартные паттерны через дабл чек, фри лок и тому подобные базовые вещи. Но увидел по 2-3 абзаца на каждый базворд без нормальный объяснений нахуя и говнокод с ошибками в примерах.
345 2173646
>>73645
А че читать для вката?
346 2173650
>>73646
Для вката пох что читать.
347 2173653
>>73650
Значит продолжу этого анальника читать
348 2173780
>>73646
Харкачи. Особенно /бэ/ доску
Мимо эксперт по ИТ и /бэ/
349 2173832
>>73410
bool Foo(string bar = "Голова, дашь миллион долларов?")
{
return true;
}
350 2173872
>>73145

>А ты знаешь что в одном солюшене может быть несколько проектов?


Конечно знаю. Только вот дело в том, что тимлиду не нравится, когда ты какие-то там библиотеки классов делаешь, которые нужны только тебе и прочее-прочее.
351 2173879
>>73872
Он долюбоеб что-ли?
Разделение по класс лайбрари, даже если они будут юзаться только в 1 солюшене - ок, ибо четче границы, меньше связанность, легче отслеживать зависимости и всякие там кроссреференсы.
Пруф ми вронг
352 2173884
>>72898
ЧТо такое Feature1-2? Что там лежит?
353 2173903
>>73884
Очевидно, он решил поделить контроллеры по фичам. Но это так не работает.
354 2173911
>>73903
А чому нет?
Я вот последние пару сервисов так делаю и удобнее чем REST-контроллеры выходит.
355 2174013
>>73526
Ну да)
Хуй знает, контрл не отпускает когд.
Переписал все на инпутСимуляторе, работае.
356 2174014
>>74013
ИнпутСимулятор как раз сделали для таких рукожопов как ты.
357 2174015
>>73911
Представь, что тебе надо пилить фичи по фича флагам. Например, есть надо запилить фичу, которая будет фиксить другую фичу. В какой контроллер ты ее засунешь? Как ты решаешь проблему с роутом?
358 2174143
Ой, какое же сложное ваше ебучее программирование
359 2174146
>>74143
90% - манкижоб.
Но и там умудряются обосраться.
Большинство круд нормально сделать не смогут даже.
360 2174148
>>74146

> круд


Что?
361 2174151
>>74148
Так. Надо менять методичку и переходить на "Большинство не знаю чт отакое круд"
CRUD
362 2174256
Раз уж подняли такую животрепещащую тему, то и я спрошу. Есть аккаунт-контроллер (логин/регистрация) и есть админ контроллер (админка сайта). Вот хочу я запилить функцию ролей на сайте, роли может менять Одмин в админке. Куда класть экнш ChangeUserRole в AdminControll или AccountController?
363 2174268
>>74256
RoleController.
364 2174276
Как заставить приложушку что-то делать с определённой периодичностью? Например, раз в день в определённое время?
365 2174278
>>74276
https://docs.microsoft.com/en-us/dotnet/core/extensions/workers
Performing a time-based operation on a schedule.
366 2174291
>>74268
А под регистрацию RegisterController, LoginController под логин. Один контроллер - один экшн!
367 2174294
>>74291

>Один контроллер - один экшн!


Как что-то плохое. Глянь CQRS.
Annotation 2021-10-05 111040.jpg61 Кб, 1232x373
368 2174365
Почему, а самое главное как получить правильную версию NT?
369 2174367
>>74365
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
370 2174368
>>74365
Чтобы правильная выдалась, нужно добавить манифест и в нём раскомментить тег supportedOS.
Почему - хз.
371 2174379
>>74368
Выдалась NT Windows 8.1
>>74367

>пик 2

image.png62 Кб, 992x918
372 2174381
Есть словарь, в котором ключ это (int[,], (int, int)). Написал под него класс, реализующий IEqualityComparer, всё ок, дубликаты таки не записываются, но при этом не работает TryGetValue. Наверное ошибка где-то в высчитывании хэша, но в чём она может быть? Пикрелейтед реализация интерфейса.
373 2174382
>>74379
На кой хер тебе это вообще надо?
374 2174406
>>74381

>словарь, в котором ключ это (int[,], (int, int))


Пиздец.
Закинь на какой нибудь дотнетфидлле, нахер мне твои картинки разглядывать.
375 2174408
>>74381

>аргументы функции с большой буквы


>таплы в паблик интерфейсе


>назвать кортеж с параметрами ширина-высота ДЕЙСТВИЕМ


>if(true) return true; else return false;


Ну ты и еблан, чел. Говнокодовое клише просто, ну и мерзость.
376 2174414
>>74381

>else if(x.Satate != y.State)


Нахуя ты это делаешь? Ты сначала проверил содержимое массивов, а потом являются ли два массива одним инстансом... Если они один и тот же массив, то содержаимое у них будет одинаковое, если тебе важно содержимое, а не инстансы, зачем ты проверяешь ссылки?
377 2174425
>>74414
Могут быть ключи, у которых State null, но при этом одинаковый кортеж Action. Если останется просто else, они ж разными признаются.

>>74408
Последний пункт поправил, действительно хуету сделал. В остальном немного мимо, аргументы с маленькой, действие т.к. из состояния совершается действие и оно в словаре получает оценку. Хз как это можно реализовать не через словарь.
873107.png37 Кб, 1200x630
378 2174428
Аноны! Вопрос по ажурке (azure) не нашел тред про облака

Такая проблема:
1 Вот у меня есть дома на холодильнике сервер
2 На ажурке есть статический сайт, который делает запрос напрямую на мой белый IP
проблема: клиент из европы не может получить ко мне доступ (вот не знаю почему)
3 Кто-нибудь знает как я могу использовать какой-нибудь ExpressRoute или PrivateLink чтобы клиент обращался не к моему IP, а к ажуровскому, а ажурка "под капотом" делала редирект на мой айпишник? у ажурки есть ко мне доступ

Не хочу платить несколько тысяч в месяц ради клента
379 2174445
>>74382
Посмотрел доку. Десятая винда начинается с 10.0, начиная с висты они для какой-то обратной совместимости использовали 6.х. Так как эта хрень записана в реестре и была возможность обновиться с восьмерки на десятку, реестр мог не обновиться и некоторые легаси программы могут читать 6.3 или даже 6.2 вместо 10.0.
380 2174451
>>74425

>ключи, у которых State null, но при этом одинаковый кортеж Action


При чем тут вообще action у тебя какая логика сравнения State? И кстати, загугли что такое отладчик и как им пользоваться.
381 2174453
382 2174456
>>74428

>не нашел тред про облака


Есть тред девопсов, где дрочат на ансибл. Можешь у них спросить.
383 2174464
>>74451
А, понял ошибку. Действительно неверная строчка при логике сравнения содержимого, а не ссылки. Спасибо, анон!
384 2174522
>>65540 (OP)
Сап аноны!

Появилось задание - разработать аддон к VS чтобы можно было автоматизировать добавление комментариев

Сам такой хуйней никогда в жизни не занимался. Интересует вопрос, а какой собсна тип проекта выбрать? Extensions development то я скачал и VSSDK тоже (если это не одно и то же конечно), а дальше? Мне выбрать плагин, аддон или что вообще?

Заранее спасибо!
385 2174528
>>74522
Доку2 открывал хоть, или еще одна жертва обучения через ютуб?

> make sure you have installed the Visual Studio extension development workload, which includes the VSIX template


>...


>Step 1. From the File menu, select New > Project. Search for "vsix" and select the Visual C# VSIX Project and then Next.

386 2174590
>>74528
Значит все правильно сделал, спасибо!
387 2174597
>>74522

>автоматизировать добавление комментариев


> GetUser(int id)


> Comment: "Gets user"


> Очень полезно, спасибо.



А чем вас существующие решения ну строили? Тот же гостдок?
388 2174632
Антоны, каким образом base в наследуемых классах работает, я знаю, что оно делает.
Но как это выглядит со стороны таблицы методов и объектов типов? Указывает ли вообще указатель на объект-тип насдедуемого класса на базовый класс?
390 2174735
>>69599
На нём можно вывести массив пикселей на экран?
391 2174736
>>74735
Разрешаю.
392 2174744
>>74736
Я так проверяю игрушечные технологии от реальных, с которыми можно работать. К примеру, в 2017 язык Golang не справился с такой задачей.
393 2174752
>>74744
С фшарпиком это не совсем верный способ. Эта хуйня мультипарадигмальна - раз. Два - .net там есть -> ты можешь просто те же формы достать и хуячить.
Другое дело, что когда ты начинаешь там более-менее сложные штуки делать, а в довесок которые требуют таки перформанса, вся эта изящность и красивость идет нахуй. Достаточно загуглить обычный такой realWorldExample, где включается бизнас-логика, валидации и проч-проч, как фшарп начинает казаться тем еще говном.
394 2174756
>>74744
Я что-то очень сильно сомневаюсь, что ты знаешь дх12 или вулкан, задавая такие вопросы.
395 2174767
>>69599
Потому что функцональщина для тупых. Это самая легкая в понимании парадигма, которая требует от тебя ровно одну извилину. Даже no-code сложнее в освоении, чем функциональщина.
396 2174778
>>74756
В самом языке должна быть возможность сделать put_pixel(x,y,color)
397 2174780
>>74778
Это не от языка зависит. Тебе уже ответили, что в .net это есть.
398 2174815
Как запустить асинхронную таску в новом треде, чтобы она не дедлочилась, шарпаны?
399 2174821
>>74815
Поставь ей лонг ранин и запусти через эвейт или старт.
400 2174827
>>74821
Че сказал, не понял. ThreadStart параметр не может быть асинхронным.
401 2174837
>>74827
1. Таск != тред
2. Нет никакой гарантии, что таск будет запущен в другом потоке, повлиять можно только через TaskCreationOptions.LongRunning и создать таску через фабрику
3. Можно указать тип таски и запустить ее асинхронно
402 2174838
>>74837
А через new Thread?
403 2174841
>>74838
Как же хорошо, что в инглише нельзя такие обрывистые предложения строить.
image.png550 Кб, 1074x846
404 2174848
Чуваки
Я изучаю, осматриваю с#, и вот такой вопрос возник у меня: можно ли сделать десктопное приложение с кастомным интерфейсом, как, например, у spotify? Если да, то подскажите какой тулзой
405 2174853
>>74848
Можно, если руки не из жопы. И имя у тебя какое-то пидорское.
406 2174856
>>74848
Конкретизируй что для тебя означает кастомный интерфейс
407 2174858
>>74853

>имя у тебя какое-то пидорское


Это тебе из-за Земфиры так кажется. Чем сделать можно?
408 2174860
>>74858
Чем хочешь. Дизайн к туллингу не привязан. Или для тебя небывалые открытия, что например кнопка - это набор картинок? Анимация - быстрая смена картинок.
409 2174861
>>74856
Я немного посмотрел WinForms, вижу, например, можно сделать кнопку, но скруглить края, например, нельзя.
Кастомный интерфейс для меня, это интерфейс, где ты можешь сотворить хоть круглую кнопку, хоть квадратную, прихуячить анимации и т. д. и т. п. Типа возможности css, но только в десктопном приложении
410 2174863
>>74860
У тебя такой тон, будто ты чем-то глубоко оскорблен.
411 2174864
>>74861
Это все обман зрения.
https://www.youtube.com/watch?v=vYDyGxoq9JU
412 2174866
>>74863
Я мысли читать не умею.
413 2174872
>>74864
Спасибо, анонче!
414 2174873
>>74815
Сделай просто свой планировщик который будет твои таски запускать в отдельных тредах. Что, блядь, сложного-то?
Другое дело, что если тебе прям нужен отдельный тред, то нахуя тебе таски - я не понимаю. Просто делай себе отдельный тред, а асинхронность получай с помощью коллбеков.
415 2174877
>>74848
Не еби себе мозг. Бери божественный протон и делай интерфейс на html+js.
416 2174882
417 2174885
>>74882
Unity
418 2174892
>>74885
Avalonia
419 2174900
>>74841
Что обрывистые? Я создаю тред. Как мне в нем запустить таску? .Result сделает дедлок.
420 2174902
>>74900

>запусти через эвейт или старт

421 2174903
>>74902
Дай пример кода, я не вдупляю что ты имеешь виду.
422 2174905
>>74903
await myTask;
или
myTask.Start();
423 2174910
>>74905

>await myTask;


Пчел, внутри делегата, который передается в Thread, так нельзя сделать.

>myTask.Start();


А результат я куда получу и когда?
424 2174911
>>74910

>так нельзя сделать


Можно, я разрешаю.

>А результат я куда получу и когда?


Тебе уже предложили через колбек. Вариантов уйма.
Ass.png14 Кб, 512x374
425 2174918
426 2174919
>>74918
Почему ты показываешь С++ ошибку из С файла в треде про C#?
427 2174921
>>74919
Потому что я делаю внешний вызов, и эта жопа валится.
428 2174930
Можно ли на C# из консольного приложения открыть браузер, скормить ему страницу с простым html, которая будет сгенерирована программой в string'е, и которая ни на каком сервере не сохраняется, и на диске желательно тоже чтобы не сохранялась.
Ну смысл задачи такой, чтобы отчёт о расчётах не в консоле писать, а чтобы было чуть больше возможностей для оформления текста. Нужно какое-то простое решение.
429 2174931
>>74921
Потому что у тебя что не пост, так какая-то новая хуйня. Во-первых, прими таблетки. Во-вторых, падает у тебя проверка от рукожопа, написанная таким же рукожопом.

ret <= (ssize_t)len

На кой хуй нужна эта проверка и что за хуйню она проверяет? Откуда мне знать?
430 2174932
>>74930
ASP.NET
431 2174938
>>74930
Ну, чисто концептуально - прикриплейд, если я тебя правильно понял.
Ну, т.е. тут я ручками сделал статичный ответ. Можешь делать так же, но генерировать на основе каких-то данных.
432 2174941
>>74932
А это реально за полдня накостылять, или придётся книги/мануалы/docs.microsoft.com... по этой штуке пару недель читать?
Я всё что касается веба игнорировал всегда, не думал, что макакопомойка может и мне понадобится. А тут вот оно как повернулось...
433 2174942
>>74938
Спасибо, сейчас поразбираюсь.
434 2174945
>>74941

>по этой штуке пару недель читать?


Как-то в шутку начали соревноваться в написании минимального кода для хелоу ворлда, что разработчики .net в следующей версии запилили апи для написания сайтов еще короче, чем на ноде и оф коз у того анона выше на скрине. Для этого надо было немного изменить лямбды. Начиная с .net 6, запилить сайт это три строчки кода. ASP.NET и раньше был консольным приложением.
435 2174947
>>74942
Это на самом деле такой себе пример. Я просто за час на коленке побаловался. На самом деле если тебе действительно нужно что-то типа генерации отчетов или подобного, то ASP.Net - будет близок к оптимальному.
>>74945
Мой код это просто развлечение же. Для реальных задач он малопригоден.
436 2174983
Насколько плохо пропускать некоторые главы когда еще только учишься? Не могу читать главу про Nullable Reference Types, голова пухнет, да и вещь это вроде не прям необходимая для изучения
437 2174985
>>74983
Если не можешь сраные нуллаблы осилить, возможно, программирование - это не твое.
438 2175259
>>74597
А я не шарю. Мы в Microsoft AX пишем. Я лично с этой системой не знаком (лол она ж в visual studio уже) а "мэтры-наставники" чет найти не могут таких утилит, вот мне и сказали писать ее. Хотя я в шарпе чуть лучше чем профан. Могу гит скинуть, поржешь с моего кода
439 2175298
>>74985
Ну вообще эта херня вполне может быть непонятной для новичка. Сначала запилили нуллы, а потом дали костыль, чтобы выпиливать наллы.
440 2175311
>>75259
Нихуя не понял. Что такое майкрософт ах?
441 2175313
>>75311
Аксапта. Погугли. Хуйня на которой ERP-системы делают, на ЯП X++. Раньше была как отдельное приложение, щас как аддон к VS
442 2175373
https://github.com/OUTS1D3R047

Зацените мой гит, если хотите. Я не сильно шарю в кодинге конечно, но попытался сделать покрасивее. Прошу не слишком сильно меня херачить
443 2175395
>>75373
- проекты принято делить не таким образом, можешь у джавистов посмотреть как желательно
- как открывать твой проект, если он состоит из двух файлов? Вьюхи и беханда для вьюхи? Даже csproj нема
- код написан курицой-лапой, банально форматировать весь файл через иде не можешь
- напрочь отсутствует архитектура, все насрано в одном файле
- в репозитории ключи не хранят
- скомпиленный проект тоже не хранят, для этого есть релизы на гитхабе и гит игнор
- код не поддается для расширений, все прибито гвоздями
- много аллокаций памяти бездумно
- не последний C#
- Newtonsoft.Json вместо System.Text.Json
- назвать переменную как l - это худшее, что могло прийти в голову
- результат http запроса необходимо проверять на возвращаемый статус код через метод EnsureSuccessStatusCode
- UI смешал с двумя языками
- такую обработку ошибок можно запихнуть в глобальный обработчик ошибок, а не дублировать одно и тоже через метод
- мусорные комментарии
Я бы тебя и на позицию трейни не взял.
444 2175400
>>75395
Лол ну я ж просил...

Ну в принципе в чем ты не прав но все равно обидно, я старался, недели на это гробил.
445 2175401
>>75373

> попытался сделать покрасивее


А получилась полная хуйня. Открыл, а там сразу пиздец. Во-первых, викинь нахуй Builded, для этого есть страница с релизами. Во-вторых, что за херня в исходниках? Зачем ты такую еблю придумал, почему весь проект не выложил?

>Создайте WPF-приложение с названием "Label Translator", в настройках целевой платформы выставите ".NET 5.0";


>Скачайте файлы из директории "For Dev" и замените ими соответствующие файлы в решении;


Ну это же пиздец. У тебя в локальном репозитории тоже половины кода нет, зато огромные блобы трекаются? Пусть тебе Yoskutik расскажет что такое гит и гитхаб. Код даже открывать страшно.
446 2175404
>>75395
Насчет открытия, у меня в ридми все написано, я просто решил догрузить чисто те файлы с которыми работал и кспрож там есть

>>75401
блобы?
447 2175405
>>75400

>в чем ты не прав


Я всегда прав. Даже если я не прав, я все равно прав.
448 2175406
>>75405
Как скажешь братан, энивей спасибо.

пойду плакать
449 2175410
>>75404

>блобы?


>Binary Large Object — двоичный большой объект


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

У меня вообще была следующая логика:

Я работал с теми файлами которые загрузил в папку For Dev а собранное решение в билдед

Если программисту впадлу самому работать то он скачивает папку билдед

Если программист хочет как то допилить мою прогу, то он делает шаги как я написал и уже работает над функциями для себя

В теории круто (как по мне), на практике вы меня разъебали (ну или ты один) и вроде бы за дело, но меня это задело так сказать
451 2175423
>>75417
Обычно готовые билды заливаются куда-то в отдельное хранилище на которое потом ссылаешься в зависимости от версии/платформы/компилятра/проц.архитектуры.
452 2175425
>>75423
У меня этого хранилища нет, решил сюда загружать поэтому (чтобы все в одном месте было). Думал круто будет...
453 2175426
>>75423
Хорошо что меня на РАБоте еще пока не ебут за мой говнокод. Работает прога и норм
454 2175475
>>75425

>У меня этого хранилища нет


Есть. Тебе уже писали - вклада релизов на гитхабе.
>>75426

>Работает прога и норм


Так ты наверно один работаешь над своей прогой.>>75417

>В теории круто (как по мне)


Нет. Круто это когда я написал
git clone foobar
и могу сразу работать над проектом, без диких танцев.
455 2175484
Помогите мне! Пишу расширение для VS. Нужно автоматизировать создание комментариев к коду. Установил СДК, создал проект, а дальше что? В гайдах создают toolwindow но я понимаю, что он мне не нужен. Какой extensible element взять из пикрилов? Туплю уже какой час... Спасибо если поможете!
456 2175489
>>75475
Ну да один и работаю. Очевидно что к большому проекту меня не допускают. Так, пилю мелкие утилиты для упрощения работы сеньорам.

про фубары не знал и не знаю, поэтому делал как умел.
457 2175591
Антоны, что вы можете посоветовать почитать неводянистого по этому вашему новомодному неткору и мультиплатформе?
Я вот в душе не ебу, как работают треды на линуксе и каким образом thread scheduler в мультиплатформенных приложениях устроен...
458 2175707
>>73879
Все по делу, тимлид - обезьяна.
459 2175712
>>75395

>- Newtonsoft.Json вместо System.Text.Json


Ой бля.
Аргументировать сможешь?
460 2175714
Я очень давно не притрагивался к шарпу и уже не понимаю
Как в примере отсюда https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.taskfactory.continuewhenall?view=net-5.0#System_Threading_Tasks_TaskFactory_ContinueWhenAll_System_Threading_Tasks_Task___System_Action_System_Threading_Tasks_Task____

> var finalTask = Task.Factory.ContinueWhenAll(tasks.ToArray(), wordCountTasks =>


Вот это wordCountTask получает значение, я знаю, что это что-то очевидное, но уже не могу сообразить как, может кто помочь?
461 2175717
>>75373
Ну там особо и оценивать нечего. По 1 файлу к просмотру в репе.
Ну старешься - молодец.
Но правда, начинать вкат с декстопа да и еще какой-то ЕРП - ну такое себе.
462 2175718
>>75712
Легко, это дерьмо сложно поддерживать.
463 2175721
>>75426

>Хорошо что меня на РАБоте еще пока не ебут за мой говнокод.


Нет. плохо. Для тебя же
464 2175723
>>75718
Что там блядь поддерживать?
Давай, примеры.

А с System.Text.Json вот тебе пример: там нихуя не реализовано изкаробки, на каждые пол шага врпаво-влево (да и даже для банальностей, типа как с нулами) - пиши свое расширение нахуй. И вот где "это дерьмо сложно поддерживать"
465 2175727
>>75723
Даю пример:

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


+ проблемы с биндингами
+ хуевый перформанс
+ нет поддержки сорс генератора
+ иди нахуй

>пиши свое расширение нахуй


Говнокодер, кек.
466 2175728
>>75714

>Вот это wordCountTask получает значение


Это лямбда, входной параметр которой - первый аргумент ContinueWhenAll.
467 2175735
>>75728
Спасибо, Анон.
468 2175744
>>75717
Да я сам и не хотел. Я админом хотел быть с уклоном в иб по профилю. Но не взяли никуда кроме как сюда. Говорю слава богу не ебут пока, и до учебы не доебываются

>>75721
Я параллельно учусь. Если щас ебать начнут то это очень плохо
469 2175787
>>75727
Проблемы у тебя с башкой.
Сорс генратор? Так это к пункту о перфомансе. Тоесть аргвмент один: перфоманс. И то тут спорно, если реализовать все фичи нютонсофта, то и перфоманс просядет.

В общем, с тобой все ясно- хуесос, прочитавший рекламный буклет мафкрософта.

С текст.жсоном- надеюсь взлетит. Но пока спорно.
470 2175790
>>75787

>Сорс генратор? Так это к пункту о перфомансе. Тоесть аргвмент один: перфоманс.


Шесть аргументов превратил в один. Слился.
471 2175821
Почему для веба есть только ASP.NET и ни каких альтернатив? Почему его вообще используют? Мне кажется он не очень удобный, потому что надо соблюдать всякие глупые ограничения. Создавать "магические" типы файлов, которые он подхватывает и обрабатывает особым образом.
К примеру, в том же РНР нет ни какой магии. Всё файлы равнозначны и лишь программист с помощью кода определяет что и как будет исполняться.
Кроме того изучать ASP.NET очень долго. До окончания обучения невозможно написать даже простой сайт, потому что просто не понимаешь как этот монстр работает.
472 2175828
>>75821
Что ты блядь несешь? Из альтернатив - та же ненси плюс куча других уровнем пониже.
Хочешь все сам делать - бери HTTPListener и делай, буквально будет как PHP. В HTTPListener'е тоже много магии? Бери сокеты и делай. Может быть в сокетах тебе магии много? Бери и хуячь драйвер и прямо из сетевухи перехватывай трафик, собирай из него tcp-фреймы, шли в ответ ACK и потом передавай уже приложению собранный пакет.
473 2175836
>>75828
Там есть особые файлы, которые считаются основными шаблонами, а есть контейнерами. И разница между ними в тонкости написания имени файла. Я так до конца и не понял, потому что в книге про это мало написано. И вообще, я не чувствую творчества, меня просто тыкают носом и говорят делай так-то, без альтернатив. И в чём тогда тут программирование? Они тогда бы уж и писали полноценную CMS вроде WordPress, а "программист" бы просто оформлением занимался.
474 2175838
>>75821

>Почему для веба есть только ASP.NET и ни каких альтернатив?


Из современного, есть три вида ASP: веб апи, мвс, разор. Из альтернатив есть например gRPC, но ты вебмакак не заставишь его использовать, им только GraphQL подавай с REST.

>К примеру, в том же РНР нет ни какой магии.


Ошибки на иврите и разнообразные странности как возможность найти длину числа пи.
https://phil.tech/2013/wtf-is-t-paamayim-nekudotayim/

>Кроме того изучать ASP.NET очень долго.


Пару раз нажал кнопку "далее" - сайт готов.

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


Что ты такое изучаешь в асп, что до создания простого сайта уходит много времени?
475 2175839
>>75836

>писали полноценную CMS вроде WordPress


Есть цмски на шарпе. Сайты-визитки можешь клепать на джумлах с вордпрессами.
476 2175841
>>75836

>я не чувствую творчества


Ну так возьми сокеты и делай как тебе хочется. В чем проблема-то? Либа для вебсервера в духе go делается за 4 часа.
477 2175842
>>75838
Я хотел начать с того, с чего начинал в своё время на РНР, а именно написать сайт-визитку с авторизацией, гостевой и динамическими темами.
478 2175845
>>75842
И в чем сложность?
479 2175847
>>75836
Творчество в чем ебать?
В создании шаблонных контролеров и в прописывании ручками "что-куда" есть творчество?
Творчество должно быть в реализации ТВОЕЙ бизнесс логики, а не изобретении Н-го способа создать екшн.
Тут скорее интересно наоборот изучать как они это сделали, как там всякие нейминг конвеншены работают и т.д. Для интереса их можно даже самому переопределить, но такой код - сразу на помойку.

В общем, сиди, учи, и пока не перди тут.
480 2175848
>>75845
Сложность в начать.
481 2175849
>>75848
Не начинай.
Иди нахуй.
482 2175855
>>75847
Ну, допустим лично мне было в свое время свою библиотечку для работы с сетью писать, со всеми этими контекстами, диспечерезацией сообщений и проч-проч. Да и сейчас - посмотрел на гошечку и хочется чего-то в таком стиле но на шарпе сделать, типа чтобы:
http.Use(auth);
http.Bind(route, action);
хотя похожее уже в шестом дотнете сделали.
483 2175889
Почему Unity может создавать графические приложения для любой ОС, а на WPF можно писать только под Windows?
484 2175897
Это нормально, поднимать транзакцию к БД при каждом веб реквесте в начале и комитить в конце?
Тм ничего не полочится?
485 2175903
>>75889
Потому что юнити делает конверт C# в C++ и на юнити C# другой. WPF изначально был для винды, его и не планировали пилить на кор.
486 2175913
>>75855

>http.Use(auth);


https://docs.microsoft.com/ru-ru/aspnet/core/security/authentication/identity?view=aspnetcore-5.0&tabs=visual-studio#configure-identity-services

>http.Bind(route, action);


https://docs.microsoft.com/ru-ru/aspnet/core/mvc/controllers/routing?view=aspnetcore-5.0

перед тем как высиратсья и размышлять о творчестве, хотябы метаинт пройди, заебал
487 2175966
>>75913
Чел, блядь, ты тупой или где? Я тебе, сука ты тупая, прямо сказал чего я хотел бы намутить в свободное, блядь, дебила кусок, время(net/http из го, потому что он красивый и удобный для наколеночных решений, и даже minimal api это не то). Ты серьезно думаешь, что я работая 5+ лет не знаю про то что уже есть во фреймворке? Серьезно, блядь? Корона не жмет? Все ж вокруг дегенераты, которые нихуя без тебя нагуглить не могут и только и делают, что массивы перебирают, да в жопе ковыряются.
Охуеть, блядь. Пиздец. Хтьфу в ебало. Хптьфу.
488 2176003
>>75966
Хуя бомбаж.
Ну по твоим размышлениям о "вордпрессах", ПХП и "творчестве" было очень похоже на вкатуна, который метаинт не осилил и орет о "сложна дайте как в ПХП(((". Да и посмотри тред, тут каждый второй вопрос гуглится в минуту.
Прастити, извинити, что обидел почетного деда.
489 2176018
>>76003
Анонимная борда, няша. Не я жаловался на то что ASP - сложный. Я просто сказал что весело в свободное от работы время что-то самому пилить.
490 2176415
>>65540 (OP)
Стоит ли для опыта поработать WPF разрабом или продолжать искать бэкендерские вакансии?
491 2176479
>>76415
Стоит поработать Scala разрабом
492 2176493
>>76479
Это же из джавы вообще
493 2176526
>>75903
И зачем тогда они городили эти огороды с виртуальными машинами, если по факту ни какой кроссплатформенности нет? Я вот хотел писать десктопные приложения, чтобы они работали на всех ОС.
494 2176528
>>76526
Твои десктопные приложения никому не уперлись. Ха-ха.
495 2176539
>>76526

>с виртуальными машинами, если по факту ни какой кроссплатформенности нет?


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

>по факту ни какой кроссплатформенности нет?


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

>десктопные приложения, чтобы они работали на всех ОС.


Ну так и пиши Xamarian.Forms/MAUI, Uno, Avalonia плюс в предыдущик тредах еще какие-то откапывали, пошукай если интересно.
496 2176552
>>76493
это который скрипт?
497 2176580
>>76552
Который камень
498 2176651
Когда там выходит новая студия? Нужно ли переходить с 2019 на 2022, чтобы были доступны все модные фишки .Net?
image17 Кб, 642x133
499 2176666
>>76651

>Когда там выходит новая студия?


В ноябре.

>Нужно ли переходить с 2019 на 2022


Писать на последнем шарпе с последним кором можно уже сейчас, если не вс. В вс2019 есть некоторые фишки вс2022.

Страдать будут только те, кто не может себе позволить установить на системный диск несколько инстансов вс и еще сверху всякого говна.
500 2176690
Почему раньше, программируя на 8-разрядных ЭВМ, можно было, используя небольшие базовые знания об архитектуре этой ЭВМ, писать программы любой сложности. Теперь же, чтобы просто вывести пиксель на экран надо изучать монструозные библиотеки и фреймворки с документацией на тысячи страниц. Самое смешное, что даже в этих тысячи страниц авторы могут не упомянуть о способе вывода пикселей на экран.
Если раньше все программы были едины в своей концепции исполнения, то теперь есть разделение на консольные, декстопные и веб приложения. Если я создал консольное, то лишаюсь возможности графики и веба. Если графическое - то должен вывернуть логику программы наизнанку, подстроив под событийный механизм. Извините, а если мне нужно вычислять непрерывный процесс и параллельно визуализировать его результаты, то получается я не могу этого сделать? Ведь мне надо постоянно возвращать управление. Если идёшь в веб, то там вообще не понятно как это всё выполнять вне IDE и где дают полноценный хостинг под такого монстра.
501 2176696
Анон, я работаю с блазором с клиент вебасембли и беком который хоститься на в сервере.
у меня проблема подключить к этому сигналР, насколько я понимаю они все так же коммуницируются через сигнал р как и обычний блазор, только вот он у меня не работает с коробки, я понял как с вебасембли отправить сигнал на сервер но мне нужно еще с сервера тригернуть вебасембли, кто работал с такой архитектурой, можете подсказать куда рыть?
502 2176702
>>76690
А вот и шизик в треде объявился!
503 2176721
>>76690

>с документацией на тысячи страниц


Это не ты недавно заявился с книгой программиста-анальника, который описывал несколько классов из коробки парой абзацев?

1. Разработка не делится на консоль, декстоп и веб.
2. Консоль позволяет работать с графикой и вебом.
504 2176725
>>76696

>можете подсказать куда рыть?


Почитать про сокеты, так как у тебя нулевое понимание о них. Если ты получил соединение с клиентом, то у тебя как минимум есть ссылка на это соединение. Так сложно у класса вызвать метод SendAsync?
505 2176733
>>75897
Смотря какую бд используешь и какой уровень изоляции. Попробуй постгрес.
image18 Кб, 412x231
506 2176741
507 2176783
>>76741
Ты долбоеб?
image.png12 Кб, 728x124
508 2178797
>>65540 (OP)
Пацаны насколько так норм писать я про возвращаемое значение и сахар? логика если что вынесена вся
509 2178942
>>78797
Ты пустой ок возвращаешь.
В данном методе ты не должен 404 возвращать. Возвращаей пустой массив c 200-той. Ну или 204 на крайняк, если хочешь.
Роут не долже н быть "олл", просто ГЕТ юзерс/
510 2179229
>>78942
это я исправил Ok(listCustomers);
511 2179230
>>78942
спасибо
512 2186815
>>78942
в своих проектах в возвращаемом типе в контроллерах вместо Task<ActionResult<T>> я указываю IActionResult. Это норм?
513 2187283
>>86815
так дядя, Task<ActionResult<T>> это для асинхронности что бы сделать запрос асинхронные и отдать какой то статус код обратно, а у тебя IActionResult просто void без получения со статусом кодом
514 2190760
>>73145

> МВЦ и РазорПагес разные вещи


Это одно и то же, чувак. И построены они по модели MVC. И всё, что тебе надо, чтобы они заработали - прописать одну команду в startup.cs.
515 2196049
>>87283
IActionResult может отдавать статус код через return Ok(), Unathorized() и тд
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 22 апреля 2022 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски