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

Ответить в тред Ответить в тред
Check this out!
C#/Сишарп/.NET Тред #24 /csharp/ Аноним 15/01/21 Птн 00:20:11 19103241
logo.png 100Кб, 941x1025
941x1025
154278534.png 217Кб, 1104x598
1104x598
1543856903426.jpg 105Кб, 376x926
376x926
Прошлый тред: >>1870468 (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
Аноним 15/01/21 Птн 00:20:48 19103262
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
Аноним 15/01/21 Птн 15:59:34 19107373
Бэки/фуллстаки кто работает, расскажите у вас у кого нибудь wpf требуют знать? Бля буду не хочу с ui дела иметь, есть меня опция его скипнуть и не понюхать хуй? Я в курсе что wpf по сути вообще отношения к бэку не имеет но работать я не работал, всю внутреннюю кухню могу только представить, может сейчас тенденция из бэков швейцарские ножи делать ТЭНКС
Аноним 15/01/21 Птн 16:14:55 19107494
Недавно решил попробовать вкатиться в веб разработку. Изучал основы c#, LINQ, SQL, Entity Framework Core ну и конечно HTML и CSS пощупал. Все довольно неплохо шло, очень радовал мой прогресс в понимании того, как это работает. Решил что я готов к более серьезным действиям и пошел на MSDN изучать ASP.NET Core. И знаете что? Я вообще нихуя не понимаю как это все изнутри работает, всякие конфигурации, Generic Host. Это такой темный лес, что просто пиздец. Я смотрю на генерируемый код при создании шаблона, и вообще нихуя не понимаю. Не, ну я конечно могу добавить БД по гайдам и даже изменить отображаемый контент пользователю, но как все это работает изнутри я вообще совершенно не понимаю.
А у вас как было, когда вы вкатывались? Склоняюсь к мнению, что мне стоит почитать общую информацию о работе браузеров и сетях.
Аноним 15/01/21 Птн 16:27:06 19107615
>>1910749
У тебя есть несколько вариантов на мой взгляд. Спиздить курсы где рассказывают все рассказывают досконально как будто душевно больным itvdn например либо рекурсией гуглить самому едва ли не каждое слово а затем непонятные слова которые видишь в процессе гугления. Ну либо книги тут в шапке есть, правда сам с ними дел не имел, ничего сказать не могу.
Аноним 15/01/21 Птн 17:40:46 19108516
>>1910737
Если тебя веб-разработка интересует (а другой мало), то не нужно знать.
Аноним 15/01/21 Птн 17:42:19 19108537
>>1910749
Некоторое время были непонятки, но решая вопросики все прояснилось.
Аноним 15/01/21 Птн 18:56:29 19109418
>>1910737
Че там, блядь, знать-то? XAML - обычный xml, по сути, под копотом оно тебе в объектики собирается, охуеть как сложно, биндинги, ну биндинги и хули, что отписываться нужно если решил INotifyPropertyChanged, ну, блядь, это банальность же.
Я вообще не понимаю, что современные вкатыши хотят делать-то на работе и что думают ты там делать будешь. Тебе скажут - ты программист - бери в руки ассемблер и пиздуй вилкой ковырять регистры - пойдешь как миленький, никуда не денешься, а не пойдешь - ну, отправишься на улицу.
Программист, это в первую очередь - инженер, а инженер - это тот, кто не знает фраз: не могу, не знаю, не хочу. Это, считай, твоя должностная обязанность: по первому зову все что скажут делать: скажут верстать - будешь, скажут алгоритм для вычисления оптимального пути придумать и чтобы был круче существующих на 20% - придумаешь, а скажут - пили 5 лет круды - будешь пилить круды. Такая судьба у инженера, который не хочет быть кабанчиком.
Аноним 15/01/21 Птн 19:03:39 19109509
.jpg 3972Кб, 3000x2002
3000x2002
>>1910749
1. Нужно было не просто учить, а пробовать писать. До аналога хоста я к 5й лабе в вузе дошел, когда заебался каждый раз кучу одинаковых хуевин делать чтобы графика была на сишечке.
2. Нужно было про паттерны читать, неткор решил наконец хоть немного стать похожим на что-то удобное для разработки.
3. Коды открыты, нихуя там сложного нет.
4. Как программиста - тебя ебать это не должно. Ты же не думаешь в момент написания программы, что там под каптом электрончики транзисторы теребят, тебе до пизды это, как до пизды в 99,(9) случаев во что там с точки зрения машинных команд собирается твой код, как до пизды большинству что под капотом у листа или как так получается что html написанный буквами в браузере превращается в пямоугольники, таблички, списки и вообще всеми цветами переливается.
Аноним 15/01/21 Птн 19:15:23 191096310
>>1910749
> А у вас как было, когда вы вкатывались?
Только на первых курсах, пока не осознал, что программист работает с абстракциями. Конечно, базу знать хорошо бы, но, по факту, не это важно в программировании. Ты, блин, свой-то код через полгода-год не будешь узнавать и не сможешь с ходу сказать как он работает, если там хотя бы 20к строк уже набралось.
Аноним 15/01/21 Птн 19:27:12 191097311
>>1910941
Дядь, расслабься пожалуйста, я не ворочу еблом. Я знаю слово "надо", и если надо учить но выучу. Просто мне больше по кайфу в шестеренках ковырять нежели рисовать йоба-дизайн, и поэтому уточняю у тех кто хорошо знаком с внутренней кухней, насколько мое " по кайфу" сопоставляется с нынешними реалиями веб дева. Может у многих компаний есть флешмоб поддрачивать бэков лепить какие нибудь приложухи для внутренних задач, откуда я это узнаю если не у того кто собаку схавал в этом дерьме. Домой аригато.
Аноним 15/01/21 Птн 19:29:29 191097812
>>1910973
Домо* т9 сука бля сука
Аноним 15/01/21 Птн 19:35:11 191098313
>>1910973
Лол, видели бы люди со стороны как дизайн 99% внутряка выглядит: табличка-табличка-поле-поле-кнопочка-лейбл и это все стандартом абсолютным и срать все хотели на разные разрешения, красивости, анимации и прочее, это внутряк, он должен какую-то внутреннюю задачу решать даже на баги некретичные похуй, все свои, обматерят в курилке, да попросят что-то в следующей сборке поправить.
А сделать таки заставить могут, если задача такая стоять будет и нет тех кто с этим лучше справится. Просто, блин, УЧИТЬ? Ты берешь, гуглишь, 2 вечера читаешь доки - делаешь, что там учить-то?
Аноним 15/01/21 Птн 20:29:13 191107114
>>1910983
Большое спасибо за вменяемый ответ!
Аноним 15/01/21 Птн 20:59:06 191111415
>>1910749
Забей хуй на то, как это работает, тебе выше правильно сказали аноны. Просто делай и все. Когда привыкнешь к тому, как ASP работает, как на нем что-то базовое и не только делать - тогда уже можно лезть в пизду и пытаться вникнуть, что за черная магия происходит под капотом, и то при необходимости.
Я лично неделю уже уделяю несколько часов в день на изучение ASPа по книге Фримана. Первые несколько дней хватался за голову от того, как все сложно, непонятно и что за черная блядь магия в каждой строчке происходит. Сейчас уже попривык ко всякой ебале. Копипасчу все из книги нещадно, но хотя бы начинаю понимать, что я копипасчу. Сегодня вот даже смог написать свою первую полностью самостоятельную строчку кода - вроде мелочь, а по сравнению с тихим ужасом от первого взгляда на ASP - ебать прогресс.
мимо вкатун
Аноним 15/01/21 Птн 22:44:00 191126416
Аноним 15/01/21 Птн 22:57:25 191127917
>>1911264
Ну хотя бы типизацией.
Аноним 15/01/21 Птн 22:58:17 191128018
Есть аналоги CLR via C#, только новее?
Аноним 15/01/21 Птн 23:57:21 191133319
>>1911280
А то ну основы, конечно, не изменились, но все-таки хочется освежить знания
Аноним 16/01/21 Суб 10:16:31 191151320
>>1910324 (OP)
Эх, вот бы сразу на удаленочку вкотиться а пока резюме даже не смотрят
Аноним 16/01/21 Суб 10:24:37 191151821
Анон, поясни такую штуку пожалуйста:
Вот есть стандартный способ как поменять две переменных местами с помощью третьей:

int c = a;
a = b;
b = c;

в CIL он выглядит вот так:

IL_0022: ldloc.0
IL_0023: stloc.2
IL_0024: ldloc.1
IL_0025: stloc.0
IL_0026: ldloc.2
IL_0027: stloc.1

Ок. Все понятно.
------
Теперь берем метод через деконструкцию кортежа:

(a, b) = (b, a);

Смотрим в дамп, а там практически то же самое, только чуть в другом порядке:

IL_0022: ldloc.1
IL_0023: ldloc.0
IL_0024: stloc.2
IL_0025: stloc.0
IL_0026: ldloc.2
IL_0027: stloc.1

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

IL_0022: ldloc.1
IL_0023: ldloc.0
IL_0024: stloc.1
IL_0025: stloc.0

Зачем он во втором способе заводит лишнюю переменную? Или эта херня уже дальше потом оптимизируется при конечной компиляции?
Аноним 16/01/21 Суб 12:03:39 191156422
Безымянный.png 22Кб, 685x147
685x147
>>1911518
> Или эта херня уже дальше потом оптимизируется при конечной компиляции?

Да. После компиляции у тебя пикрил получается.
Аноним 16/01/21 Суб 15:56:16 191183323
>>1910941
Ебать жалко тебя. Ты судя по всему ни разу в достойной компании не работал, где знают про зоны ответственности работников
Аноним 16/01/21 Суб 19:44:57 191210124
Аноним 16/01/21 Суб 20:09:09 191212925
>>1912101
Берешь винформс и делаешь. Что конкретно тебе не понятно? Если хочешь готовый код, то заходишь на гитхаб и вбиваешь в поиск notifier и фильтруешь результаты по сишарпу
Аноним 16/01/21 Суб 20:29:40 191215026
>>1912101
Изучи класс TimeSpan и его свойства.
Аноним 17/01/21 Вск 23:53:05 191361227
image.png 408Кб, 1281x589
1281x589
Здарова всем! Подскажите, как без сторонних библиотек от васянов запилить такое уведомление в WPF?
Аноним 17/01/21 Вск 23:53:54 191361428
Аноним 18/01/21 Пнд 16:51:59 191417029
здравствуйте, извините за тупой вопрос.
у меня много где написан код вида
T[] array;
for (int i = 0; i < array.Length; i++) {
int nextIndex = i + 1;
if(nextIndex == array.Length) nextIndex = 0;
}

подскажите изящный способ без if получать 0 на последней итерации.
Аноним 18/01/21 Пнд 17:06:11 191418530
>>1914170
Написать сразу после тела for - nextIndex = 0 ?
Аноним 18/01/21 Пнд 17:06:17 191418631
>>1914170
Добавляй в конец массива первый элемент этого массива, в итоге получится:

for (int i = 0; i < array.Length - 1; i ++) {
int nextIndex = i + 1;
}
Аноним 18/01/21 Пнд 17:19:05 191420032
а ладно. посидел, чаёчку попил. можно же написать
int nextIndex = (i + 1) % array.Length;
и получить всё как надо
>>1914185
wut?

>>1914186
совсем говноспособ же.
Аноним 18/01/21 Пнд 20:12:29 191446233
>>1914200
>совсем говноспособ же.

Почему ты так решил? Говноспособ или нет, но работать будет быстрее чем деление по модулю при каждой итерации.
Аноним 18/01/21 Пнд 20:35:10 191448734
>>1914462
так делают только дегенеративные личности. ты любитель наступать на грабли? подкидывать себе какашки в песочницу?

через пол года эта логическая лапша прокиснет. открываешь код а потом думаешь "а почему тут лишний индекс. а почему в него чтото суётся".
или дальше код пишешь и забываешь что тебе надо копировать лол первый индекс в последний при повторной подобной итерации.
нельзя использовать Length/Count как указатель количества элементов. надо вычитать единичку!
ну и наконец случаи когда надо написать просто нормальную библиотечную функцию у которой инпут и аутпут без выебонов.
итд

код надо писать так чтобы ты мог потом в него заглянуть и прочесть не хватаясь за голову. нашел, блядь, что обменивать. читаемость всего связанного куска кода на разницу между делением по модулю и его отсутствием.
Аноним 18/01/21 Пнд 21:11:18 191454935
Извините за тупой вопрос.
WPF, есть одна кнопка в гриде, в одной колонке. Могу ли я во view model кодом растянуть эту кнопку на несколько колонок?
Аноним 19/01/21 Втр 00:32:16 191468336
>>1914549
Ну запили свойство во виeв модели, ButtonColumnSpan, потом в кнопке в xaml Grid.ColumnSpan="{Binding ButtonColumnSpan}".
Аноним 19/01/21 Втр 01:35:01 191472437
Посоны, вот такой код:
async ValueTask foo(){
if(isConfigured) {.....}
isConfigured = true;
....
}
является потоко безопасным или нет? Подозреваю что нет. А как его по нормальному переписать? Шарп ругается на локи в асинке, а плодить таску семафором через semaphore.waitasync, ради такой простой фигни, как-то не хочется.
Аноним 19/01/21 Втр 02:25:54 191474938
>>1914724
Делай через Interlocked.CompareExchange, только придётся либо в int переводить и обуславливаться тем что 1 это true, а 0 это false, либо боксить булево значение в объект.
Аноним 19/01/21 Втр 06:45:24 191477939
>>1914724
Что-то вроде такого, предполагаю, прокатит https://pastebin.com/ApGKuZQV. Но в некоторых случаях double-checked locking считается антипаттерном.
Аноним 19/01/21 Втр 06:46:00 191478040
Аноним 19/01/21 Втр 15:54:29 191527341
>>1914749
Спасибо, перевел бул в инт просто.

Алсо, вопрос по этим мутексам и семафорам. Правильно ли я понимаю, что когда пишу sem.Wait() или lock(), то поток становится залоченым и просто ждет, когда нужный ресурс освободится? И в это время ничто в программе не может использовать этот поток?
Почему тогда в стандартную либу не добавили асинхронные мутексы, локи и тд?
Аноним 19/01/21 Втр 15:58:56 191527442
>>1910324 (OP)
Все таки убрали из шапки про "язык богов".
Аноним 19/01/21 Втр 16:02:07 191527543
>>1915274
Лол, тоже заметил. Да судя по рыночку шарпеев уже меньше пхпшников осталось)
мимо
Аноним 19/01/21 Втр 16:56:22 191530244
>>1915273
Для асинхронного лока есть SempahorSlim с его WaitAsync. Переписывать старое просто нет смысла.
Аноним 19/01/21 Втр 20:19:48 191557145
>>1915274
решили не позорится
>>1915275
их всегда было меньше (причем в разы)

мимо
Аноним 19/01/21 Втр 20:30:07 191558146
аноны, пилил игоры на юнити 4 года
заебало - постоянные, бесконечный спринты, ебля с юаем и, вообще говоря, история далекая от настоящего проганья
в общем, знаю юнитишные си шарп и питон (довольно много на нем пиходилось писать)
Куда можно вкатиться с такими знаниями без потери в зп? (была 80, тк контора очень мелкая) В бекенд реально?
Аноним 19/01/21 Втр 20:45:08 191559447
>>1915581
Реально только в другую бнити контору, иначе охуеешь от того сколько всего нужно знать. Помимо бекенд фреймворков вида асп.нет и сигналР, нужно еще SQL щнаит на уровне не хуже шарповского. Дополняется это всё знанием JS и базовым знанием html+css. Если уверен, что сможешь всё это освоить и не потерять в зп, то дерзай. Но я бы лучше в текущей сфере развивался, благо юнити не теряет в популярности.
Аноним 19/01/21 Втр 20:55:18 191561048
>>1915594
ну бля, хуево
а сколько у вас джуны получают?
Аноним 19/01/21 Втр 21:08:51 191562749
>>1915610
У нас их нет, у нас все фуллстеки с зп от 100-140, при этом нанимают только если у тебя уже был опыт работы во фронте.
Аноним 19/01/21 Втр 21:23:22 191565250
>>1915627
епт, серьезно что ли?
Аноним 19/01/21 Втр 21:32:33 191566251
>>1915652
Да, открой hh.ru, там картина примерно такая же.
Аноним 19/01/21 Втр 21:46:16 191567552
>>1915581
кек. а кодзимой то стал? разбогател? игру мечты выпустил? есть что показать?!
мимо пилю велосипеды на юнити 6 лет
Аноним 19/01/21 Втр 21:55:23 191569153
>>1915675
да не, у нас там именно софт промышленный
управление дронами
Аноним 19/01/21 Втр 22:01:42 191570254
>>1915691
наверно интересно. мне вот не повезло ничего такого. хотя я не очень искал. в итоге все шесть пилил велосипеды для проекта мечты.
а какие скиллы нужны то чтобы дронами в промышленности управлять?
Аноним 20/01/21 Срд 02:55:38 191595755
>>1915702
Ох, братиш
Ну, в целом то, дохуя. Но смотря что
У нас был стартап, поэтому область отвественности была довольно обширная
Ну понятно, что на юнити висит юай и логика - тут все мало чем у игроделов отличается
Помимо проганья нужен матан и знание основ теории управления (но я этого касался поверхностно, другие ребята занимались управлением).
Я сам сперва, помимо самого юнити, в соляну, потом уже с тимой пилил зрение - обработку облаков точек с ргбд камеры (ну тут был питон).
Короче зависит от размера команды: если мелкая, как у нас, то нужно много чего знать. Если штат крупный, то у каждого будет четко ограниченная роль и необходимый набор скилов. К слову, мы потом набирали людей на юнити именно геймдевных - для всяких оптимизация и прочего, требующего хороших знаний специфики юнити
Аноним 20/01/21 Срд 04:41:51 191602456
>>1910324 (OP)
Всегда ловил лютый криндж с языков типа Java и C#, точнее не с самих языков, а инфраструктуры и специфики разрабов. Всё такое официальное, стандартизирован каждый пук, тысяча уровней абстракции с модными билдерами, фабриками, фабриками билдеров, билдерами визитёров стейта стратегии фабрик и т.д. Ещё очень угараю всегда с сертификаций всяких майкрософтов. В итоге все это вместе всегда вызывало чувство некоей КОЛХОЗНОСТИ происходящего.

Это все так на самом деле? Или мое впечатление ложное и обстановка кодоебов на шарпе такая же приятная, как и кодоебов на всяких Го/Питонах и т.д.? Или реально всё так официально-деловито? Если что не траллинг, прост рил интересно.
Аноним 20/01/21 Срд 04:44:54 191602757
Door.webm 5436Кб, 1152x576, 00:00:25
1152x576
U - RVO6.webm 16045Кб, 1128x738, 00:00:50
1128x738
изображение.png 6715Кб, 3360x880
3360x880
>>1915957
а вообще не так и много и довольно размыто. разве что теорию управления я как что-то целостное никогда не изучал, но учитывая что меня обычно звали в проекты делать ИИ, то наверно я знаю больше нуля. и анализ облака точек для меня не кажется таким уж сложным учитывая что мой первый крупный самостоятельный проект был это был навмеш собранный на коленке. пикрелейтед. видеорелейтед.

а че там ещё нужно? вычислительные шейдоры? новомодная хуйня вроде DOTS?
Аноним 20/01/21 Срд 04:56:54 191603458
>>1916024
Паттерны проектирования не только в C#/Java применяются. И применения паттернов позволяет писать безопасный код, который устойчив к изменению и расширению. При этом сами языки не требуют от программиста управления памятью. Что в целом делают эти языки отличным выбором для крупных компаний с большой кодовой базой.
Аноним 20/01/21 Срд 07:57:55 191607459
Пытаюсь добавить нугет MySql.Data, но вижак срет ошибкой и ничего не устанавливает

Restoring packages for E:\хуйпизда.csproj...
GET https://api.nuget.org/v3-flatcontainer/mysql.data/index.json
Unable to load the service index for source https://dotnet.myget.org/F/roslyn/api/v3/index.json.
Response status code does not indicate success: 404 (Feed does not exist.).
Time Elapsed: 00:00:01.1212230
========== Finished ==========

Это у меня какая-то хуйня с вижаком, или в майкрософте где-то обосрались?
Аноним 20/01/21 Срд 09:44:36 191609160
>>1916074
По второй ссылке действительно нихуя нету.
Аноним 20/01/21 Срд 09:55:25 191609661
>>1916091
Да, но почему он вообще в неё ломится?
Аноним 20/01/21 Срд 10:50:37 191611962
>>1916027
да я не пытаюсь тебя как-то отпугнуть типа "смотри как я крутой, я облака точек знаю как обрабатывать"
типа камон, мне до мудрых дядек, знающих все еще хуячить и хуячить
Да и задачи были не самые сложные - классика робототехники: найти объект в облаке, движение по траектории (ну тут, правда, все чисто на RGB + D канале)
просто я к тому, что чистым кодингом тут не отделаешься, скорее всего, нужно знать еще что-нибудь из роботоетехнической области
шейдоров каких-то сложных у нас не было
У тебя, кстати, интересный опыт, как мне кажется
расскажи вообще, что за проекты с ИИ (Примерно)? навмеш на колентке это просто пет проект? Ты работаешь именно с юнити?
Просто у меня вот этап смены работы и я прям парюсь: валить ли с юнити или оставаться
Буду рад, если ответишь)
Аноним 20/01/21 Срд 11:06:49 191613163
>>1916034
Вопрос вообще не об этом.
Аноним 20/01/21 Срд 12:48:51 191617264
>>1916074
Короче хрень какая-то была. Я поудалял из инсталлера ненужные компоненты, обновил вижак до самой последней версии, сделал ему "восстановление", и оно всё равно после этого не работало. Ну думаю, пиздос, придется писать им куда-нибудь. Нажал Install ещё раз чисто чтобы скопировать текст ошибки, а оно взяло и установилось.
Аноним 20/01/21 Срд 13:00:37 191618065
PathDeltaCost.webm 7069Кб, 1152x800, 00:00:37
1152x800
P11.png 46Кб, 721x739
721x739
P6.png 1828Кб, 1680x1984
1680x1984
123.png 25Кб, 274x400
274x400
>>1916119
да не мне так интересно какой вообще минимальный набор скиллов требуется за пределами гейдева. что-то такое поверхностное то на юнити ебошить то много знать не надо. а то открываешь порой требования для обычных погромистов а там список всяких интересных требований. открываешь к юнити а там можно сформулировать как "не быть говноделом" и "знать какую-то узкоспециализированную хуйню"

>расскажи вообще, что за проекты с ИИ (Примерно)?
всякие. пару раз делал и доделывал ИИ для стратегии, для РПГ одной делал, для хуевого шутана. ничего такого чем я бы гордился. обычно задача ставится "чтобы расширять можно было не через жопу и без моей помощи", а не какие-то интересные решения чтобы принимало. чтобы интересные решения принимало это надо обычно в проект нанимать отдельного человека у которого там своя атмосфера в проекте.

>навмеш на колентке это просто пет проект? Ты работаешь именно с юнити?
юнити просто знаю лучше всего. так то и в некоторых других движках кнопки найти смогу если что. навмеш скорее мой основной проект в портфолио и проект над которым я работаю дольше всего. когда начинал над ним работу у юнити вместо навмеша был пиздец который билдился только в эдиторе, а я хотел именно процедурные уровни. были конечно другие решения для навигации но они мне все не нравились и я стал ебошить своё. в итоге лол юнитеки допилили себе навмеш до того состояния который мне был нужен ранее, но к тому моменту я запилил уже своё получше. вообще навигация конечно мегаважна в ИИ, так как позволяет решать какие-то пространственные задачи. например в той РПГ мне дали задачу научить ИИ использовать предметы в запертых комнатах лол. то есть ИИ должен был построить путь в запертую комнату(уже интересное начало), в этом пути должен был содержатся флажок "тут заперто", вернуть ИИ информацию где находится ключик от комнаты и сказать чтобы он пиздовал туда где ключик, взял ключик, вернулся к запертой двери, отпер дверь, наконец применил предмет в запертой комнате. вроде тривиальная задача, а чем больше информации доступно изначально тем проще её решить. идеально если она доступна сразу вся чтобы поток думалки не лез лишний раз в поток навигации. а ведь задача может усложнится! когда например от комнаты нужно два ключика и один из них у патрулирующего стражника, тогда надо ещё знать какой из ключиков ближе учитывая расстояние хождения.
ну а могущество залезть в генерацию навмеша и какую-то свою хуйню сделать это конечно замечательно. например лол вон у меня есть генерация зон доступных только "присев" где соответственно сложней передвигаться. что-то такое в стандартном навмеше сделать несколько проблемно. или вон та информация о "укрытиях" тоже результат генерации. не руками же такое расставлять!

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

>Просто у меня вот этап смены работы и я прям парюсь: валить ли с юнити или оставаться
с одной стороны на юнити самый наверно повышенный спрос, а с другой стороны много просят тривиальную хуйню а платят за неё мало. но это я сужу с точки зрения гейдева. а тут управление дронами охуеть.
Аноним 20/01/21 Срд 13:02:16 191618266
out123.webm 34279Кб, 1140x950, 00:01:05
1140x950
P25.png 1726Кб, 1678x875
1678x875
>>1916180
наверно ещё это покажу. один из моих любимых проектов.
Аноним 20/01/21 Срд 13:05:54 191618567
Анончики подскажите такую штуку.
Как в SeleniumWebDriver делать прокрутку страницы ?
Именно что бы страничка неспеша так скролила вниз?
А то что то не выходит найти инфы.

Или все делать через JSExecutor ?
Аноним 20/01/21 Срд 13:29:36 191620168
>>1916182
блин, вообще прикольно
а если не секрет, тебе сколько лет? Ты работаешь юнити прогером сейчас? или только проектные истории?
Аноним 20/01/21 Срд 13:47:04 191621469
U11.webm 24580Кб, 1680x966, 00:00:15
1680x966
>>1916201
уравнение навье стокса вообще клево! смотришь на такое и техномагия какая-то! жаль довольно поверхностно знаю. то на что можно убить пару лет и не заметить. и мало практического применения имеет, не пропорционально тому времени которое требуется на него.
мне тридцатник уже. вкатывался в погромирование лет 8 назад без каких либо скиллов на энтузиазме. сейчас я не работаю, скорее возвращаюсь к погромированию после продолжительной хандры от навалившихся проблем.
надо наверно доделать уже пару фич для навмеша, подучить пару вещей, да завести свой проект.
Аноним 20/01/21 Срд 14:08:21 191623770
>>1916214
а, типа хобби
ну прикольно
Аноним 20/01/21 Срд 16:56:34 191638771
>>1916180
>otdatgribi
>vernutsavderevnu

Я так понимаю "не быть говноделом" это не про тебя.
Аноним 20/01/21 Срд 16:57:36 191638872
>>1916214
Почему пикрил не использовать как карту высот для симуляции воды? Пробовал так делать? Или слишком медленно вычисляется?
Аноним 20/01/21 Срд 20:18:07 191658373
Сап систерс. Пишу сайтец на асп коре и пришло время забацать регистрацию пользователей, буду использовать очевидный айдентити. Cтандартный IdentityUser<T> предоставляет набор членов за щеку, половина из которых мне нахой не нужны. Вопрос стоит ли пилить кастомный UserStore или пусть болтаются пустые колонки в бд?
Аноним 20/01/21 Срд 20:21:35 191658874
И еще вопрос вдогонку, почему стандартные IdentityUser/IdentityRole используют в качестве ключа строку, а не int/guid? В этом есть какой-то сакральный смысл? Случиться ли что-нибудь плохое, если в качестве айди я поставлю инт с автоинкрементом?
Аноним 20/01/21 Срд 21:20:59 191663875
>>1914683
Еще раз извиняюсь - а какой тип свойства/поля в вм мне юзать?
Аноним 20/01/21 Срд 22:19:02 191671276
А, все - интеджер, пиздец я туплю.
Аноним 20/01/21 Срд 22:40:37 191672977
Сап, в вузе учусь на 2 курсе, у нас с# преподают (ща прошли делегаты события асинхронные функции и потоки (ну как прошли, так не глубоко))
В итоге решил вкатиться полностью в с#, поясните насколько он перспективен если сейчас учить - смогу я норм работу найти - чтобы при этом не скучную? (как я понял самое скучное это легаси поддерживать - на сколько в с# плохо с этим?)
И еще пытался вкатиться в frontend - не зашло, но что-то как я понял если в с# вкатываться то все равно в итоге придется скорее фулстеком быть??
Аноним 21/01/21 Чтв 01:47:45 191678278
Аноним 21/01/21 Чтв 02:42:00 191678879
>>1916729
>на сколько в с# плохо с этим?
Всё плохо, особенно если попадешь на проект который писался на винформс. При этом сам язык и платформа хорошо развиваются, ты смотришь на эти отчеты об улучшениях и облизываешься, потому что на работе у тебя .Net Core и пахнуть не будет, если попадешь на 4.5 фреймворк - считай повезло.
>вкатываться то все равно в итоге придется скорее фулстеком быть??

Так и есть. Если хочешь работать с современным шапром, то должен шарить в JS + HTML + Angular/React в качестве фрона и ASP NET, EF, SQL, Identity, SignalR в качестве бэкенда. Можешь всё перечисленное прям сейчас уже учить, упор делай на SQL и ASP NET.
Аноним 21/01/21 Чтв 04:38:39 191681280
U - Sand.webm 31845Кб, 1680x966, 00:01:14
1680x966
>>1916387
кекеке. вообще я делал это на стриме, так что особо не заморачивался с именами. хотел чтобы ИИ ходил в лес за грибами! если интересно, но непонятно то на скриншоте в целом тот-же сорт ИИ как в FEAR. довольно клёвый планировщик. https://en.wikipedia.org/wiki/Stanford_Research_Institute_Problem_Solver состояние мира описывается как набор bool, каждое действие имеет прекондицию и то как оно меняет флаги в состоянии мира. а поиск заключается в изменении представления состояния мира пока оно не достигнет целевого.
хорош тогда когда пулл действий должен быть максимально динамичным, так как связи между действиями описаны в прекондициях к ним. можно вешать пулл действий прямо на предметы в мире, например. а в качестве целевого сосотояния использовать какую-нибудь эристику. как в симсах например. хочет срать - роется в планировщике в поиске способа посрать.

>>1916388
карту высот? имеешь в виду что красное = количество воды? так себе идея. между водичкой сверху и газиками снизу есть разница в способе перемещения их. водичка перемещается вариацией https://en.wikipedia.org/wiki/Shallow_water_equations там есть интересный шаг который исключает "потерю" воды при перемещении так как перемещаться она может только в соседние клетки. там где красный дым там просто берётся отрицательный вектор движения для текущего пикселя и смотрит чё там с помощью билинейной интерполяции. синее это очень сильно увеличенная зона где "длина" векторов различается и соответствует повышенному давлению (там есть пониженное, просто оно не отображается тут), зелёное это то где направление различается и оно делает завитушки. изначально хотел сделать такое в несколько слоев и использовать для атмосферной симуляции. чтобы облака были похожи на настоящие! но немного не оценил масштабы проекта. там где водичка землю размывает кстати применяется комбинация обоих методов. эрозия размягченной земли перемещается как красный дым. эрозия под действием гравитации это уже вода где не сохраняется инерция. видеорелейтед.

ну а производительность то что. оно на гпу обрабатывается же целиком. это шейдор. верней конкретно это вычислительный шейдор. https://docs.unity3d.com/520/Documentation/Manual/ComputeShaders.html с клевым API. гпу такое проглатывает и даже кулерами гудеть не начинает.
Аноним 21/01/21 Чтв 11:34:23 191699881
>>1910324 (OP)
Есть ли какой-то символ, который выглядит похоже на косую черту типа "/", но на самом деле ей не является и допустим для использования в именах переменных и т.п. Мне нужно не расстраивающее мои чувства о прекрасном написание в енумах вещей типа kg/m3, например kg⳺m3 (не работает, т.к. не допустимый символ).
Аноним 21/01/21 Чтв 12:05:08 191701082
>>1916788
Это похоже какая-то проблема исключительно шарпистов, потому что к бэкендерам на других языках таких требований не предъявляют.
Аноним 21/01/21 Чтв 12:13:26 191701583
>>1917010
Пчел, я пыхо-джун и на работке заставили реакт с тайпскриптом учить. А вообще на западе фулстек это тренд уже пару лет как, вакансий чистых бэк/фронт у них все меньше становится.
мимо
Аноним 21/01/21 Чтв 13:12:39 191704084
>>1916998
Вот что нашел: Ⳇ и ⳇ. Это коптский алфавит.
kgⳆm3 - валидный енум.
Аноним 21/01/21 Чтв 13:20:22 191704785
>>1916812
> карта высот
Не, имею в виду, что красное - это высота. Естественно я не о полной симуляции воды, я больше про волны, например от интерации с персонажем.
Аноним 21/01/21 Чтв 14:12:47 191708786
>>1916172
Кастомные nuget каналы устанавливал? Можно проверить в nuget.exe sources, удалить лишнее
Аноним 21/01/21 Чтв 15:46:56 191717087
Screenshot 2021[...].png 81Кб, 2050x622
2050x622
>>1917087
Хмм, а действительно, нашел в AppData\Roaming\NuGet в конфиге ссылку на этот рослин.
Я когда-то ставил опции для разработки расширений для вижуал студии, видимо они туда этим насрали.
Аноним 21/01/21 Чтв 19:49:18 191743588
Я с нуля, скачал visual studio, смотрю видео уроки, как подсказки (интелселс?) На русском сделать? И как посмотреть на какой платформе создал проект? На видео там видно как выбрать можно, но там 2017 года VS, а у меня 2019, ничего не видно, не было выбора, сразу автоматом прошло
Аноним 21/01/21 Чтв 22:09:38 191755789
>>1916998
>>1917040
Еблан, ты о других людях подумай, которые твой код потом будут поддерживать. Не все, блядь, в студии кодят, не все используют всякие приблуды при написании кода, та и тупо при сохранении твоего кода в ASCII-кодировку пизда прийдет твоим символам.
Как человек пиши: kgPerCubicMetre, это и набирается легко и найти легко и запомнить легко и выглядит отпрятно. Нет, сука, нужно извратиться, чтобы потом никто нахуй не мог, если ему нужно, найти то что ему нужно.
Давай, ебани еще иероглифов в код, хули, шарп-то позволяет на любом языке писать. А для пущего эффекта - называй классы на русском, чтобы все знали какой ты молодец и постоянно раскладку меняли.
Отвратительно, нахуй. Пидорасу неприятно, а тем кто потом будет 3 часа нужную переменную напечатать - будет охуеть как приятно.
Аноним 21/01/21 Чтв 22:58:29 191758590
Практическая20р[...].png 98Кб, 2985x2285
2985x2285
>>1917557
Я ожидал такую реакцию, и я понимаю её, как программист, если оторваться от предметной области.
Я попытаюсь объяснить свою позицию, и хотел бы услышать мнения на этот счёт.
Для читаемости кода, краткость и лаконичность, а также привычное написание известных физических и математических сущностей - превыше всего.
kgPerCubicMetre - это очень длинно. А ведь есть ещё кг/м/с2 или Дж/К/моль. Это ещё длинней придётся так писать. Если таких вещей полно, это абсолютно нечитаемо.
Я ведь есть ещё физические формулы. P = ρ g H - это понятно, легко и читаемо. А вот это: pressure = density accelerationOfGravity height уже в таком простом примере читается тяжело. А если формулы длинные? Намного более длинные? А если код целиком состоит из обилия формул? Мне кажется любители латиницы и длинных верблюжьих названий не писали физических и инженерных приложений, иначе бы они так не думали. И да, есть некоторые термины, которые применяются в российской инженерной практике, которым нет прямого эквивалента на английском. В результате этого одно и тоже понятие в коде разных авторов называется совершенно по разному (в меру знаний английского и понимая предметной области теми или иными кодерами). В таких случаях я также настаиваю на написании имён переменных именно русскими буквами, именно так, как она называется в пост-СССР. Я кстати видел код своих немецких коллег, так вот у них использование немецких названий переменных немецким алфавитом - это норма, подозреваю, по тем же причинам.
Очень печально, что С# не имеет отдельного оператора для возведения в степень.
Аноним 21/01/21 Чтв 23:07:42 191759091
>>1917585
все идентификаторы должны быть однобўквенными.
каждая бўква - отдельный идентификатор.
зачем вообще многобўквенные идентификаторы?
как бўдто бўквов мало, полный юникод бўквов.
а кому мало бўквов, тот может юзать эмодзи.
Аноним 21/01/21 Чтв 23:16:53 191759792
>>1917585
Лол, няша. Программисту это удобнее для чтения. Потому что программисту - собственно похуй что за этим стоит, он на тестах проверит, что результат тот что нужно. Важно чтобы эта переменная легко запоминалась. И как раз kgPerCubicMeter - запоминается легко, а имя достаточно уникально, чтобы сразу найти место где оно используется.
Программисту до пизды что там за предметная область, какие законы там стоят и прочее - для него это просто данные в памяти, байтики, нахуй, ему нужно их посчитать, передать куда-то еще, потом сохранить или показать результат. Важно, чтобы можно было нажать ctrl+f и сразу найти то что нужно тебе, а не еабться с тем что формула красиво выглядит, до пизды как выглядит в тексте программы, тем более что программист это в первую очередь тот кто программу пишет, а не тот кому есть какое-то дело до предметной области, на фронте уже нарисуют как надо тем кто этим пользоваться будет. Тебе важно, чтобы в 100500к строках кода - ты без труда мог нати то что тебе нужно, для этого и придуманы стандартные нотации, для этого и придуманы стандартные структуры файлов, для этого и пишется velocity = velocityPrevious + (acceleration time); вместо v=v0+at, чтобы ты не зная что, блядь, за v - мог понять что это такое, Тебе завтра скажут вместо физических величин - писть ПО для банка, послезавтра - для роботов, а потом - для самолетов, и ты должен писать быстро, иметь возможность найти то что нужно, ты не на уроке, блядь, где вы зазубрили формулы и дрочите задачки, ты, сука, программист, нахуй, эксперт во всем, и чем меньше ты создаешь сложностей себе и коллегам - тем тебе проще.
Аноним 21/01/21 Чтв 23:28:27 191760293
>>1917597
>найти место где оно используется
Вот тут не очень понял в чём сложность. Если используешь студию, то она сама всё подсветит, или ты о том, чтобы просто найти все переменные во всём проекте, имеющие подобное название? Но тогда не понятно, зачем это. Если не используешь студию, ну ты сам себе злобный буратино.

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

>завтра скажут вместо физических величин - писть ПО для банка, послезавтра - для роботов, а потом - для самолетов
Ну это уже макакинг. Там где предметная область не нужна для таких кодеров будет внешний рафинированный интерфейс, за который ему и лезть не стоит.
Аноним 21/01/21 Чтв 23:51:30 191764394
>>1917602
> Вот тут не очень понял в чём сложность
Допустим, у тебя проект чуть до среднего не дотягивает, скажем 60к строк. Ты только пришел, тебе говорят: Скорость неправильно считается, пофиксь, пожалуйста. Как думаешь, вот лично тебе будет интересно ковыряться в 60к строках кода в поиске места где твоя переменная находится, ведь нормальным поиском - ты не можешь ее найти, т.к. v не такая и редкая буква, а где что лежит - не знаешь, ты же только на проект пришел. Думаешь тебе кто-то специально в ридми напишет: "Мы рассчитываем скорость в таком-то файлике на такой-то строке"? Да нихуя. И как раз если бы оно нормально называлось - ты просто жмакаешь ctrl+f и пишешь velocity - все, ты нашел все места где оно встречается, за 10 минут прошелся - нашел баг, пофиксил, пошел пить кофе и мацать за жопу практикантку, которая очень хочет научиться программировать и просит тебя, скиллового чела, что баг за 10 минут пофиксил - после работы научить примудростям, а если в проекте используется всякая хуета вида v=a+b+c - ты будешь неделю только вникать где что лежит и как сделать так, чтобы нахуй не поломалось все.
> Для такого существует ридми, документация, на худой конец в заголовке файла в комменте освятить основные сокращения, например.
Да, ты ведь каждую переменную в ридми записываешь, а внутри метода каждую строчку сопровождаешь комментарием, когда тебе нужно за день 10 тасков закрыть, конечно, заняться больше нечем. Действительно, зачем написать название переменной, которое всем понятно - если можно высрать комментарии. 11/10 решение, ничего не скажешь.
> Ну это уже макакинг.
Это обычная такая реальность разработки. Вы - крутые спецы, клиенты знают что вы делаете быстро и качественно, а берете меньше чем в европах/сша кодеры, сегодня к вам клиника стамоталогическая обратилась, нужно софт для ведения карточек пациентов сделать, чтобы в них хранились 3d сканы челюсти и было удобное мобильное приложение, чтобы можно было эксперту скинуть и он удаленно мог провести диагностику; завтра фирме грузоперевозок понадобилось программу, которая будет считать время водителей в пути и прокладывать оптимальный маршрут с интеграцией со всякими картами, местными сервисами и т.д. Сидеть и дрочить одну специфическую область программисты даже в конторах которые занимаются продуктом не могут: тут конкуренты прикрутили стриминг - нужно и нам скорее; появилась охуенная платежная система - скорее нужно и нам; менеджеры по продажам говорят что мобилки рулят - нужно скорее наш софт на мобилки переносить; нам срочно нужно CI/CD организовать и теперь все dev's внезпрно превратились в devops'ов. Кучу хуйни приходится учить ежедневно, куча хуйни меняется, выходят еще и новые технологии, которые ты должен учить, чтобы быть крутым спецом и запоминать как в предметной области X называется какой-то термин, тем более через, допустим, 2 года - ебантизм, ты не всю жизнь будешь вот эту вот хуету писать.
Аноним 22/01/21 Птн 06:42:52 191779795
>>1910326
Как вывести 500кк $ через битки в валюту в расии?
Аноним 22/01/21 Птн 08:54:22 191783696
water.webm 4095Кб, 1680x966, 00:00:31
1680x966
>>1917047
вопрос масштабов же. можно же например как в fishing north atlantic просто бултыхать водичку рядом не меняя её реальный уровень.
вообще опять же метод с газиками годится больше для газиков. так как само перемещение векторов там происходит за счет зон давления, которые чтобы получить надо много итераций (на том видео кажется 30). если давление не нужно то и сам метод не нужен.
для водички как например на этом видео достаточно 2. одну чтобы посчитать статическое давление, приплюсовать энерцию и сколько максимально воды может переместится из клетки. а вторую чтобы посмотреть сколько воды переместилось в эту клетку. если хочется почитать то я ориентировался в основном на этот текст. https://hal.inria.fr/inria-00402079/document "Fast Hydraulic Erosion Simulation and Visualization on GPU"
помню натыкался на более крупный текст про водичку в играх вообще... а во. https://trepo.tuni.fi/bitstream/handle/10024/115052/kellomaki_1354.pdf "Large-Scale Water Simulation in Games" там уже больше методов рассматривается.

хотя вообще всё это в играх конечно имеет довольно маленькое применение. наверно только в From Dust это было главным элементом геймплея.
Аноним 22/01/21 Птн 11:56:41 191792097
>>1917015
Одно дело, когда на работке заставили учить, другое - когда изначально требуют все.
Аноним 22/01/21 Птн 14:00:50 191801898
Вопрос от вкатуна говорю сразу.
Где вообще брать задания на этапе изучения синтаксиса? Когда я учил Пайтон по книге Гэддиса и Java по Эккелю, там для каждой главы были задания, благодаря чему я мог глубже осваивать материал.
Есть какие-то ресурсы или книги для вот такого вот комплексного изучения языка?
Аноним 22/01/21 Птн 14:04:09 191802199
>>1918018
Т-есть само изучение понятно - доки, книги разные, курсы. А задачки, по типу лаб из универе для закрепления тем, где брать?
Аноним 22/01/21 Птн 19:03:46 1918262100
>>1918021
Я какое-то время смотрел сайт с олимпиадными задачками. Сортировал их в порядке, начиная от задач для дебилов. Там реально простенькое было, но не привязанное к языку.
А вообще, если ты где-то работаешь, лучше находи проблемы из своей практики, пусть даже мелкие совсем, и для них что-то пили.
Я вот на зеленом старте пилил себе формочку с БД для вноса ежедневных трат по категориям и с возможностью вывода статистики по различным временным периодам.
Аноним 22/01/21 Птн 19:55:05 1918311101
>>1918018
Берешь кодфорс или кодворс или любой другой ресурс, где задачки можно решать, решаешь, закрепляя таким образом синтаксис.
Другое дело, нахуя тебе разные книги по разным языкам читать, блядь? Ты смотришь вакухи - смотришь что надо для работы - дрочишь за месяц и идешь работать. Все, блядь. Я хуею. Я вот ебалн из универа, нам дали базу на первом курсе, но прогать на чем-то кроме ассемблера, С и С++ не давали осбо. Ну и хули, я смотрю, нет вакух по С и С++, потом смотрю в карманы, денег нет, а тяночка хочет жрать, хочет шмотье, ну и хули, пробегаюсь по джаве и через месяц я уже - на испытательном сроке, через 2 недели - в штате и работаю, потихоньку приношу пользу, через год меня заебала джава и я так же с СРешоткой поступил, но сразу на мидла заскочил.
Я хуй знает че вы там учите с синтаксисом эти, 99% языков - сиподобные, тебе просто нужно знать что к тут чтобы получить доступ к члену класса - ты используешь . тут ->, все, блядь, дальше просто пишешь алгоритмы, гугля иногда инструментарий что есть в языке, ну и пишешь так чтобы твой код другие люди понимали. Все, нахуй.
Опять же, ХЗ, может быть я какой-то аурой обладаю, но ни разу меня на собесах целенаправленно не валили, ни разу не ебали кишочками, чтобы прямо знал как там в память все укладывается, ни разу не ебали сверх меры алгоритмами, просто пришел, показал диплом, показал регалии(ыыыы, ездел в Испанию на стажировку, брал места на олимпиадах, дипломчик красненький, статьи - цитируют): Можешь сделать? Могу! Покажи гит - показал, оки-доки, мы пока доки подготовим, используем то-то и то в разработке, поддрочи чтобы как вышел - работать нормально мог. Все, блядь. Иду - дрочу, потом работаю. Короче, хз в чем у людей сложности.
Аноним 22/01/21 Птн 20:20:39 1918332102
Почему в WPF'e MediaElement может не показывать видео? Никакого ексепшена, просто ничего. Пробовал avi/mp4.
Код:
MediaElement.Source = new Uri("pack://application:,,,/папканейм/1.avi");
MediaElement.Play();

В xaml'e пробовал ковырять LoadedBehavior, тоже ничего не дало.
Аноним 22/01/21 Птн 20:41:34 1918353103
А, все, я нашел что он не выбрасывает эксепшн, а есть MediaFailed. Там он мне написал что он не сапортит ресурсы с билда, а только реальные файлы.
Аноним 22/01/21 Птн 23:57:51 1918575104
>>1918311
>просто пришел, показал диплом, показал регалии(ыыыы, ездел в Испанию на стажировку, брал места на олимпиадах, дипломчик красненький, статьи - цитируют): Можешь сделать? Могу! Покажи гит - показал, оки-доки, мы пока доки подготовим, используем то-то и то в разработке, поддрочи чтобы как вышел - работать нормально мог. Все, блядь.

Ты же понимаешь, что тебя легко берут как раз за это? У тебя есть вышка, петпродежкты, стажировка не в СНГ. Этого почти ни у кого нет, максимум вышка задрищенского политеха и скудные знания.
Аноним 23/01/21 Суб 00:03:52 1918587105
>>1918575
Хз как вообще работу без стажировки найти можно. Даже как на ебаную стажировку записаться не понятно, если на .Net, три стажировки на весь dou
Аноним 23/01/21 Суб 00:22:05 1918628106
>>1917170
ну теперь через nuget.exe (вроде ещё через командную строку разработчика) удаляй.
Вообще нугет в этом плане странная штука, если он не может получить пакет в одном сурсе, в другой он не ломится
Аноним 23/01/21 Суб 00:29:23 1918637107
>>1918311
>смотрю в карманы, денег нет, а тяночка хочет жрать, хочет шмотье
блеванул с бетабаксера
Аноним 23/01/21 Суб 12:00:22 1918943108
Аноним 23/01/21 Суб 12:42:31 1918964109
.jpg 912Кб, 2132x1600
2132x1600
Тупой вопрос.
Смотрите, у меня есть контроллер апишный, в него должно постучаться устройство со статическим IP, я должен сохранить информацию и IP с которого стучались, потом переодически что-то с этим делать, например смотреть не отклоняется ли время устройства сильнее чем должно и корректировать, если отклонилось.
Так вот, в чем хуйня. Я думал просто брать IP с помощью context.HttpContext.Connection.RemoteIpAddress, но хуйня в том, что таким вот макаром на моем ПК откуда-то берется IPv6 адрес, который, как я понимаю там где-то маршрутизаторами получается(я не настолько хорошо за сеть шарю пока что, но я знаю точно адрес устройства и он в формате IPv4), а на другом компьютере IPv4, но внутри локальной сети, а не тот что реальный и как-бы доступен всем. Я посмотрел с помощью Dns.GetHostAddresses() адреса и среди них есть тот, который я заведомо знаю что устройству принадлежит, только вот как быть уверенным какой брать? Вдруг в следующий раз нужный адрес будет 6м?
Вообще, кто-нибудь с такой вот хуйней сталкивался? Как это работать должно? Может быть сохранять все адреса разом и по ним простукивать?
Аноним 23/01/21 Суб 12:50:10 1918971110
Шарпач, прости, я понимаю,- вопрос идиотский. Я даже синтаксиса толком еще не знаю, но я уже два дня туплю над методами. Как и куда уходит Ruturn метода? Как достать то его, как вызвать? Смотрел в книги, увидел фиги. Как передать в метод что-то я вроде понял, но полученный ретурн то как в мейн вписать?
Например:

Static string ОдинПлюсДва (_первое, _второе)

return _первое + _второе;


Static void main

a = 2;
b = 2;

ОдинПлюсДва(a , b) //Я ведь правильно передаю параметры в метод?

Консоль.показать(???) Как мне результат то где взять что? Мне ruturn метода ОдинПлюсДва сюда надо. Где значение того что вернулось то взять?
Аноним 23/01/21 Суб 13:07:11 1918983111
>>1918971
Смотри, для начала можно думать так: Когда ты вызываешь метод, компилятор на самом деле - подставляет туда, откуда ты его вызываешь весь метод. Вот. Таким образом, допустим, твой метод:

string Combine(string a, string b) => a+b;

это все равно что если бы ты вместо метода везде писал то что в нем происходит.

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

Т.е. в твоем примере ты должен был бы так вот сделать:

int c = ОдинПлюсДва(a , b)
Аноним 23/01/21 Суб 13:11:38 1918988112
>>1918971
Да, насчет последнего. Не всегда обязательно явно переменную использовать чтобы результат использовать.
В твоем примере ты мог бы делать и вот так, например:
a = 2;
b = 2;
Консоль.показать(ОдинПлюсДва(a , b));

Так делать нехорошо, конечно, но когда дойдешь до Linq и Fluid'ов то там, в принципе так вот и делается зачастую.
Аноним 23/01/21 Суб 13:15:49 1918991113
>>1918983
Да, тут не int нужен для сохранения результата, а string, просто не обратил внимание на сигнатуру. Думаю это и так понятно, но на всякий случай уточнил.
Аноним 23/01/21 Суб 13:57:05 1919016114
336725290011201[...].jpg 329Кб, 2896x2896
2896x2896
>>1918983
>>1918988
Пасиба, ананасик. Вроде яснее стало.
Я не понимал, что получение результата метода происходит в момент когда ты передаёшь методу параметры (а из метода мейн в _первое в метод ОдинПлюсДва и б из мейн во _второе в метод ОдинПлюсДва. Потом тут же отдаёт результат.
Как на твоём примере с переменной, новый метод при вызове из mein сразу получает параметры, сразу их считает/выполняет код и сразу возвращает, присваивая их в переменную "int c".
Надеюсь я правильно представляю всё это. Во всех мануалах это подается как само собой разумеющееся.

У меня почему-то изначально всё представлялось как по строкам кода. Сверху вниз

Отдали параметры. Результат посчитался;
//
они где-то там висят в памяти* в какой-то несуществующей переменной куда их записал return
Обращаемся когда захотим к результату;
Задаём другие параметры если надо.

Не пришло в голову, что результат нужно где-то хранить самому и самому объявлять где.
Спасибо еще раз.
Аноним 23/01/21 Суб 13:57:55 1919018115
>>1919016
Даже тут проебался с разметкой, извиняюсь
Аноним 23/01/21 Суб 14:16:11 1919035116
251[1].gif 57Кб, 2421x1700
2421x1700
>>1917643
>вот лично тебе будет интересно ковыряться в 60к строках кода в поиске места где твоя переменная находится, ведь нормальным поиском - ты не можешь ее найти
Краткие обозначения используются внутри методов. Классы и методы конечно должны иметь самодокументирующие названия.
Ну и твой пример скорее в мою пользу. Если скорость неправильно считается, но считается она сложно, то когда формулы записаны символьно, ты хотя бы можешь их прочесть, сверить с исходниками (статьи, учебники, тех. документация) и увидеть ошибку. Если же формулы записаны по-программистски (с длинными именами переменных, и выносом каждого микровычисления в отдельный метод), то ты никогда в этом не разберёшься, только заново переписать все вычисления.

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

>Это обычная такая реальность разработки.
Обычная практика такова, что все более менее крупные специализированные компании (банки, нефтяники, медики, с очень узкой специализацией от разновидностей стоматологов до хирургов, военные и т.п.), которым нужен свой софт, БД или автоматизации, имеют своих программистов, которые либо пришли из математиков и АСУ ТП в предметную область, либо наоборот, дополнили предметные знания навыками кодинга. А то, о чём ты говоришь - это сайтошлёпство и обезьяний бигдата+машоб на корзину для пускания пыли в глаза акционерам.
Аноним 23/01/21 Суб 18:39:02 1919288117
1.jpg 93Кб, 800x790
800x790
2.jpg 90Кб, 1000x699
1000x699
Дурак спрашивающий выше про методы, репортинг ин свой новый затуп. (Решение своего затупа тоже рапорчу).
Хотел тут спросить, но пока спрашивал сам допёр.

Вот из-за этой херни целых джва часа тупил тормозил. Метод возвращал Int вместо Int[], пиздосье. Массив интов и инты, это оказывается разные типа. Я весь гугл излазил, не понимая в чём дело.
Аноним 23/01/21 Суб 18:55:31 1919291118
>>1919288
Малорик, так держать!
Аноним 23/01/21 Суб 22:56:02 1919446119
>>1919288
Такие сильные затупы гугл не решает. Читай внимательнее матчасть.
Аноним 23/01/21 Суб 23:19:51 1919487120
>>1919446
C# Player's guide из шапки довольно плохо объясняет в этом плане, учусь по нему.
Думаю его сначала проглотить, даже если что-то не пойму и не смогу задания выполнить. Потом уже к мелкомягким за сухими мануалами полезу
Аноним 23/01/21 Суб 23:21:27 1919492121
Ребят, как запилить, чтоб во фрейме при переходе между страницами значок загрузки был, пока расчеты производятся?
Аноним 23/01/21 Суб 23:35:52 1919510122
.png 14Кб, 498x330
498x330
>>1919288
Вообще, конечно наверное не обязательно тебя таким сейчас заебывать, но я бы советовал как-то так вот читать пользовательский ввод. Все же лучше, чем рассчитывать, что пользователь все правильно введет сразу, даже если этот пользователь ты.
Аноним 24/01/21 Вск 00:17:43 1919587123
Подскажите как реализовать такое:
Есть while(true){} в котором работает основная логика хочу в нее что-то типа менеджера задач чтобы в каждой итерации проходила работа по всем задачам, НО вот тут начинается загвоздка, я хочу иметь возможность в задаче написать что-то типа
stopwatch.Elapsed > 10 sec остановись и дай поработать другим, а на следующей итерации продолжишь.
И все это работает в 1 потоке.
Вот в остановись и дай поработать другим, а на следующей итерации продолжишь. у меня проблема, не понимаю как это вообще релизовать. Так же хотелось бы не просто говорить на следующей итерации, а типа жди Х события или Х секунд или пока тебя не запустят.
Аноним 24/01/21 Вск 00:43:49 1919618124
Аноним 24/01/21 Вск 00:51:48 1919623125
>>1919618
Пытался разобраться с этим, но не понял как это сделать.
Вот есть у меня 10 задач на парсинг чего-то огромного что займет по часу времени, плюс надо постепенно закидывать мелкие задачи чтобы они тоже отрабатывали как это на авэйте сделать?
И мне именно надо на 1 потоке, потому что крутить программу я хочу на мелком сервере и занимать на нем ровно 1 поток чтобы остальное что на нем крутится не тормозило.
Аноним 24/01/21 Вск 00:51:54 1919624126
>>1910324 (OP)
Анон, есть пара вопросов по github-репозитариям.

Вот, значит, на github'e, там - есть репозитарии всякие,
например этот https://github.com/JamesNK/Newtonsoft.Json
и там, в Releases - https://github.com/JamesNK/Newtonsoft.Json/releases
есть версии различные, и можно скачать их код в zip-архивах,
например, эта версия, которая успешно компилируется в Visual Studio 2010: https://github.com/JamesNK/Newtonsoft.Json/releases/tag/7.0.1
Там, внизу, есть ссылка: https://github.com/JamesNK/Newtonsoft.Json/archive/7.0.1.zip
И если кликнуть на тег, можно видеть этот вот код: https://github.com/JamesNK/Newtonsoft.Json/tree/7.0.1
с последним коммитом 20cc266, то есть 20cc266712a3b361358e1e35ae87518ecf8e0dfd .
Если кликнуть на Branches, то такого бранча, v7.0.1 нет, но рядом есть вкладка Tags, и там эта версия есть, и код доступен - по тегу.

Пусть теперь, я хочу качнуть код именно этой версии. Как это сделать?

И ещё...
Пусть есть репозитарий, в котором этот код является подмодулем.
Как в .gitmodules включить именно версию v7.0.1, чтобы не качать весь исходник и не заливать его снова. Там около 1000 файлов, блядь, не хотелось бы раздувать репу. Может можно как-то попроще, что-то вроде:

>[submodule "имя"]
> path = папка
> url = https://github.com/user/repo.git@версияЕбать.
Аноним 24/01/21 Вск 00:54:44 1919625127
>>1919624
И ещё, можно ли как-то форкнуть репу с определённой версии, чтобы на форк сослаться в .gitmodules, а не на основную репу, где продолжаются изменения???
Аноним 24/01/21 Вск 01:15:31 1919631128
.png 7Кб, 365x288
365x288
.png 13Кб, 397x350
397x350
>>1919587
Ыыыыы))))
Тока эта, ты там вместо такого вот - проверки делай своего времени и сбрасывай таймер после yield, вот.
Ну или можешь погрузиться в прекрасный мир прерываний, тоже тема.
Аноним 24/01/21 Вск 01:23:21 1919632129
>>1919624
По-мойму, через две точки, после URL, надо указать то ли версию, то ли огрызок хэша коммита. Но это не точно.
Аноним 24/01/21 Вск 01:49:15 1919634130
>>1919631
Окей, тогда как теперь решить вопрос с try-catch ?
Можно конечно же писать их между yield, но это же пиздец АД.
Плюс слышал что так делать нельзя, типа антипаттерн использовать yield для такого.
Аноним 24/01/21 Вск 02:09:35 1919641131
>>1919510
Ага. Спасибо. Я остальное то вроде усвоил. Дальше только зажать нос и нырять в раздел книжки ООП.
Там у меня чисто для себя чтоб понять методы образец. Я просто не понимал почему ретюрн отказывается возвращать. Пытался и его как-то конвертировать, думал может каждый индекс массива нужно отдельно доставать в новую переменную, а потом обратно собирать в массив.
Там у меня в посте было просто максимально коротко чтоб ясно изложить свой затуп.
Там у меня требуется ввести количество элементов в массиве.
Можно запрос на ввод и в методе организовать наверное. Хотел себе позже много-много методов сковать и в каждом каждый запросить. Чтоб прям стресс тест себе устроить.
Надо конечно наверное сразу приучать себя проверять ввод на правильный возврат с консоли. Но я слишком начинающий еще, едва только циклы усвоил. Если сущностей наплодю потом, то конечно более подробно буду описывать вызов и консолей и исключения обрабатывать.
Спасибо за совет
Аноним 24/01/21 Вск 04:36:16 1919683132
Аноны, У меня есть страница, с путем ""Account/OnPostRegisterAsync", при вызове должна регистрировать пользователя, я скопировал этот код в другой проект и там он не работает с атрибутом [ValidateAntiForgeryToken] jquery подключен, в чем может быть дело?
Аноним 24/01/21 Вск 11:11:57 1919810133
пример.jpg 164Кб, 1591x584
1591x584
Работаю с Excel через C#. В связи с этим возникает вопрос, как правильно работать с COM-объектами из C#?
Почему C# сам не может нормально собирать COM-мусор, и мне приходится на кучу промежуточных объектов вызывать Marshal.ReleaseComObject(obj) ???
Самое простое известное правило - не использовать два оператора точки в одном выражении при работе с COM-объектами. Вот например, такая штука обычно оставит висячие ссылки на КОМ-объекты: Excel.Sheets sheets = app.Workbooks[1].Worksheets; .
Но и использование этого правила помогает далеко не всегда.

Вот например код из приложенной картинки без вызова Marshal.ReleaseComObject(books) оставляет висеть в диспетчере задач процесс Excel после закрытия приложения и всего, что с ним связанного. Хотя казалось бы, почему я тут должен маршала просить релизнуть объект?

Вызывать Marshal.ReleaseComObject() на всё подряд также нельзя. Вот почему:
Excel.Workbook b1 = app.Workbooks[1];
Excel.Workbook b2 = b1;
Инициализация переменной b1, а точнее, вероятно, вызов app.Workbooks[1], увеличивает счётчик ссылок на возвращаемый Workbook на 1. Но вот эта операция b2 = b1 не увеличивает счётчик ссылок. Поэтому если после того как b2 станет не нужна, если я сделаю Marshal.ReleaseComObject(b2), то b1 тоже будет освобождена и перестанет работать.

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

По существу, я не могу надежно понять, когда счётчик ссылок на КОМ-объект:
1. приращивается автоматически?
2. когда он автоматически уменьшается? В норме релизить через маршал нужно далеко не всё.
3. когда он автоматически НЕ уменьшается после присвоения объекту обёртке значения null, и, возможно, отработки GC.
4. как узнать текущее значение счётчика ссылок на КОМ-объект?
Аноним 24/01/21 Вск 12:29:30 1919862134
>>1919810
>Работаю с Excel через C#.
используйте Delphi.
оно умеет прозрачно работать с COM еще с 90-х годов.
Аноним 24/01/21 Вск 14:13:52 1919934135
Скопировал первый пример 1 в 1 отсюда:
https://docs.microsoft.com/en-us/dotnet/api/system.object.finalize?view=net-5.0

Выводиться должно что-то типа этого:
> The example displays output like the following:
> Instantiated object
> This instance of ExampleClass has been in existence for 00:00:00.0011060
> Finalizing object
> This instance of ExampleClass has been in existence for 00:00:00.0036294

У меня же до Finalizing object не доходит и не выводится в консоль. Даже если ставлю точку останова в финализаторе, до неё не доходит. Почему так?
Аноним 24/01/21 Вск 17:04:30 1920050136
>>1919862
Хуя советчик нарисовался. А денех на дельфи дашь?
Аноним 24/01/21 Вск 17:42:59 1920081137
D15nDdIXQAARONJ[...].jpg 51Кб, 543x364
543x364
>>1919934
У меня всё работает, попробуй переустановить шиндоус.
Аноним 24/01/21 Вск 17:50:17 1920093138
>>1919810
Я никогда не работал с COM через C#. Но потребляю .NET код через COM в С++.

Допустим у нас есть COM visible класс типа Human в C# , при использование в С++, класс можно будет юзать через Human или HumanPtr, так вот HumanPtr - это смарт COM поинтеры, которые очищаются автоматически, а вот если юзать Human - то он останется висеть в памяти и чистеть надо вилкой. Как это разделение будет выглядеть через C# код - наоборот - не знаю.

Теперь, допустим у нас есть массив, какой массив у нас есть в COM? Я лично использую и знаю про SAFEARRAY. Так вот, даже SAFEARRAY наполнен объектами типа HumanPtr - он автоматически не обрабытвается, и нужно вызывать SafeArrayDestroy().

Так что, как мне представляется, твои books - являются SAFEARRAY объектами, которые не обрабатываются, и в C++ коде нужно было бы вызывать SafeArrayDestroy(books). Почему - не знаю, но я хорошо в лужу сел, когда выяснил что у меня память проливается c SAFEARRAY.
Аноним 24/01/21 Вск 17:52:34 1920097139
>>1920093
В рот ебал эту разметку.
Аноним 24/01/21 Вск 17:58:32 1920106140
>>1919810
А готовые библиотеки тебе религия использовать не позволяет?
Аноним 24/01/21 Вск 19:21:23 1920217141
Посоветуйте самый годный видеокурс на русском
Аноним 24/01/21 Вск 20:08:26 1920262142
Какую структуру использовать для поиска нужной ноды в дереве? Сейчас юзаю List с FirstOrDefault. Очевидно, что для такой хуйни лучше всего подходит Dictionary, но как у него с памятью?
У меня будет очень много словарей, у каждом из которых будет по несколько элементов чаще всего 1-3, но в некоторых может быть до ста где-то, подойдет ли для этого Dictionary?

гонять бенчмарки впадлу, да и с листом все норм работает, просто спрашиваю вашего мнения
Аноним 24/01/21 Вск 20:10:59 1920267143
>>1920262
Зависит от данных. Может у тебя там префиксное дерево можно использовать, а ты словари с листами хуяришь.
Аноним 24/01/21 Вск 20:16:05 1920272144
>>1920267
Я его и реализовал. Вопрос как раз в том, что использовать для хранения потомков.
[
Аноним 24/01/21 Вск 23:17:14 1920413145
Аноним 24/01/21 Вск 23:55:55 1920473146
>>1920413
А чем словарь хуже? В теории, он должен быть быстрее при поиске и добавлении опредленного слова.
Алсо, никто не знает оверхед словаря на перечисление всех key-value pair? На сколько он в этом плане медленнее листа? и медленнее ли
Аноним 25/01/21 Пнд 02:31:34 1920638147
Что думаете по поводу вката через OpenSource проекты или через
фриланс/аутстафф? Не хочу за бесплатно работать на конвеерной галере и слушать выебоны какого то прыщавого инфантильного долбоеба. Что имеется:
1. Опыт писания кода на # (около 2 лет) - ASP.NET MVC, Core (за WPF молчу - мервое говно);
2. Английский уровня B2+ (Общение, чтение);
3. Опыт в фронте (такой себе, но ковырял React, могу сверстать под адаптив или поправить, чтобы не наебнулось);
4. Нелюбимая, в тоже время не напряжная РАБотка под $800, на которой стал мертвым грузом и хочу перемен.
Реально залететь на проект и хотя бы за 300-400 американский рупий перенять опыт, носмотреть что и как с upwork или freelancer.com?
Делитесь опытом, кто через это прошел.
Аноним 25/01/21 Пнд 15:26:08 1921191148
>>1910324 (OP)
А как можно инжектить длл-ки в процесс с помощью шарпа? Есть какие-нибудь гайды нормальные?
Аноним 25/01/21 Пнд 15:48:04 1921223149
>>1920638
На проектах, с которыми удалось поработать, да и в смежных тоже, я какого-то засилия C# не увидел. В довольно крупной конторе, где я сейчас как контрактор работаю, от силы два три репа на C# из 200+. Язык хороший, инфраструктура тоже сейчас отличная стала (я имею в виду поддержку кросс-платформенности), только вот работы интересной походу нет нихуя.
Аноним 25/01/21 Пнд 16:03:17 1921251150
Я вот написал интерфейс для шахмат, лол, хочу запилить онлайн. Можно ли высрать сервак, на котором будет сайт с, например, регистрацией и ссылкой на скачивание, и который одновременно будет работать для передачи данных между игроками? И в какую сторону копать, чтобы заебись было как в нормальной разработке делают и максимально апнуть скиллы?
Аноним 25/01/21 Пнд 16:09:53 1921260151
image.png 39Кб, 1200x503
1200x503
Сап, двач. Поясните кое-что. Зачем нужна Иудей-Компиляция в C#
Я не троллю, я не тролль-джавист, я рил спрашиваю. Без наебала.

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

C# это на 80% веб-петушня, круды-хуюды и прочий фуллстек анал.
За вычетом юнити девелоперов все пишут под винду и в visual studio. К чему вообще эта кроссплатформенность? На линуксе хоть и есть моно, но кривое и никто с linux сервером не будет бэк ебошить на C# когда есть Java.

Мобильная разработка мертва. Ксамарин мёртв. Universal Windows Platform мёртв. C# это язык для крудов. К чему эта кроссплатформенность? Просто чтоб какуджавы?

Аноним 25/01/21 Пнд 16:11:32 1921262152
>>1921251
>ссылкой на скачивание

Это шутка такая или ты правда думаешь, что в 2к21 кто-то будет качать дерьмо по ссылке?

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

Вот так: https://lichess.org/source
Аноним 25/01/21 Пнд 16:15:09 1921263153
>>1921260
> Это кроссплатформенность

Это отсутствие необходимости управлять памятью в ручном режиме.

>Один раз скомпилил, запустил где угодно

Ну да, скомпилировал под 32 битные ARM системы, запускаешь на 64 битных Intel. Всё так.
Аноним 25/01/21 Пнд 16:17:51 1921266154
>>1921263
>Это отсутствие необходимости управлять памятью в ручном режиме.

Паясни. Разве ГК это только с виртуалкой бывает? Разве в ПЩ нет ГК?

> Ну да, скомпилировал под 32 битные ARM системы, запускаешь на 64 битных Intel. Всё так.

Нак нахуя? Ты же это всё равно будешь компилить под одну и ту же архитектуру винсервера?
Аноним 25/01/21 Пнд 18:47:20 1921482155
>>1920638
Думаю что хуйня.
Плюс, на сишарпе не так много вакансий, при этом в вузах его учат, т.е. ежегодно выпускается насколько тысяч студентов, среди которых многие довольно хорошо знают шарп, умеют кодить и при этом как раз готовы идти работать за еду первые пару лет.
Я эт к чему. А вот к чему: Либо переставай из себя целку строить и иди работать как есть, все равно в конечном-то итоге ЗП поднимут; либо вкатывайся в JS, там хоть конкуренция и больше, но средний уровень вкатышей наоборот ниже и если ты осилил шарпы, то уж как-нибудь, да справишься с тем, чтобы с вебпаком каким-нибудь разобраться да npm, а дальше будешь делать кнопочки да посылать запросики.
Аноним 25/01/21 Пнд 20:21:45 1921606156
>>1921260
Еще один чел, что в последний раз смотрел что такое шарп в 2005м?
Под линуксы уже давно есть неткор, а уже и нет5, весь бек шарповский сейчас пишут именно под него. Ну и довольно удобно, что код писать можешь на винде, а работать без какой либо ебли он будет одинаково и на линуксе.
Я даже малинку в качестве сервера для пет проектов использую и все работает.

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


> но кривое и никто с linux сервером не будет бэк ебошить на C# когда есть Java.
Хуя сказанул, на шарпе и пишут только потому что он лучше джавы. Если бы майки не протупили и сделали его сразу опенсорсным, вряд ли джаву вообще сейчас бы вспоминали.
Аноним 25/01/21 Пнд 20:30:36 1921618157
>>1921606
>на шарпе и пишут только потому что он лучше джавы

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

Но все это не так уж и критично на самом деле. Видимо поэтому вакансий на джаве больше аж в 2 раза в крупных городах.
Аноним 25/01/21 Пнд 21:12:52 1921680158
>>1921618
>Имхо, принципиальных отличий в лучшую сторону нет
А что это за такие принципиальные отличия? Шарп это не хаскель, а просто лучшая джава. Очевидно что в двух ооп языках, один из которых создавался как копия второго, много общего. Но писать то приятнее на шарпе и это факт. Не думаю что в джаве есть хорошие аналоги ef core, async/await или хотябы геттерам/сеттерам.
Код конечно и без этих вещей можно писать, но блять, кодить можно на любом тюринг полном языке и вопрос состоит лишь в том, где это делается приятно, быстро и удобно.
Аноним 25/01/21 Пнд 21:23:34 1921690159
>>1921680
Двачую этого Жака Фреско (кто понял - тот понял)
Аноним 25/01/21 Пнд 21:34:03 1921695160
A. Stellman, J.Greene - Head First C# 2020 года, как вводная книга по языку пойдёт? Мне Уитакера физически больно читать почему-то.
Аноним 25/01/21 Пнд 22:20:49 1921733161
Где ещё можно без SMS, регистрации, кармы и т.п., можно вот так просто, как тут задавать простые и тупые вопросы по шарпу?
Аноним 25/01/21 Пнд 22:42:20 1921754162
>>1921482
я писал на JS (react) - нормально, но без ООП это хуйня. Лучше уже жабу дрочить, если работу не найду. Так или иначе - C# мертв на всем, кроме веба, за бугром так то я вакансии видел, но н мидла требования конские, а джуны никому нахуй не нужны. Вот тебе и два стула.
По поводу работы на галере - это зашквар, ибо приходят готовые мидлы (возможно без опыта в интерпрайзе) и их мокают в говно первый год-два. У меня жопа бомбанет от такой хуйни.
Аноним 26/01/21 Втр 03:23:26 1921866163
Ананасы, накидайте гайдов каких нибудь по Xamarin
Аноним 26/01/21 Втр 08:53:02 1921929164
>>1910324 (OP)
Пацантре, у меня возник вопрос.
Предположим в у вас есть tabControl в котором 2 вкладки (tabPage). И вам нужно чтобы при открытии одной из вкладок информация на ней начинала периодически обновляться, а при закрытии вкладки нет.
Так вот, как сделать так, чтобы при открытии вкладки создавался таймер, а при закрытии вызывался его метод dispose?
Если создать таймер при евенте enter, то мы не сможем обратиться к нему из метода leave.
Единственный вариант создавать "глобальный" объект?
Аноним 26/01/21 Втр 10:35:51 1921967165
Как по конвенции принято называть классы "in-memory-storage" ?
Аноним 26/01/21 Втр 11:23:48 1922008166
https://github.com/jbogard/MediatR

при открытии в вижле разделяет тесты на .net2.0, .net3.1 и .net5.0. Как такое повторить? Тесты на Xunit написанны.
Аноним 26/01/21 Втр 11:29:21 1922010167
Аноним 26/01/21 Втр 11:54:31 1922023168
Аноним 26/01/21 Втр 12:10:14 1922043169
>>1920638
поддвачну пост и заодно задам вопрос: Тут есть те, кто реально работает на # (web)? Если да, то какой стэк, какая версия ASP.NET/.NET Core на проекте/проектах.
Аноним 26/01/21 Втр 14:14:09 1922181170
>>1922043
Разработка под Dynamics CRM считается? Помимо плагинов в ней куча приложений для сотрудников и апишек для интеграций.
Если да, то подавляющая часть сервисов на ASP.NET, .NET Framework 4.7.1, есть несколько на .NET Core 3.1, из фронта Angular
26/01/21 Втр 14:24:18 1922209171
Нахуя нужны эвенты и делегаты? Не понимаю практический их смысл. В курсе на счет того, что линк построен на делегатах, но как мне пригодятся делегаты и события
Аноним 26/01/21 Втр 14:35:29 1922228172
>>1922181
На бугор работаешь, в каком формате (аутстаф/продукт)? В офисе или удаленно? На WebApi пишешь? Фронта касаешься?
Аноним 26/01/21 Втр 16:38:21 1922348173
>>1922228
Аутстаф, на наших.
В условиях пандемии свободное посещение офиса, так в основном удалённо сижу. Апишки периодически клепаю. Фронт бывает, но не так часто, и огромное спасибо, что не ASP.NET MVC.
Аноним 26/01/21 Втр 17:00:50 1922363174
>>1922348
>на наших
сочувствую, я представляю днищенскую ЗП
На чем бэк написан? Апишки под микросервисную архитектуру? Тесты/бенчи? По эстимейтам ебут мозги или 5 минут делаешь и 2 часа хуй пинаешь?
Аноним 26/01/21 Втр 17:39:11 1922399175
>>1922363
ЗП на жизнь хватает, 140, ДС.
Бэк? В плане? Всё на шарпе пишем. Апишек куча старых, написанных как попало, новые да. Тесты почти никто не делает, я в своих проектах клепаю. По эстимейтам не парят, если задачи не очень важные, но задачи у меня, так уж получилось, есть всегда.
Аноним 26/01/21 Втр 18:01:48 1922423176
>>1922399
походу апихи с простой работой по get-post данных из БД, без особой логики? 140к (я хз, сколько это в $, около 2к походу) - не плохо, думал меньше.
Всегда поражаюсь опенсоурсу, где все обсосано, все по паттернам, дженерики-хуерики, абстракция, тесты. А по факту, с кем не общаюсь - все клепают, только эстимейт закрыть (это не камень в твой огород, просто суровая реальность).
>>1922008
как пример, хотел закинуть пул реквест, чтобы была галочка на CV на участие в проектах, но в нем только разбиратся нужно хуеву тучу времени.
Так или иначе - спасибо за отзыв
Аноним 26/01/21 Втр 18:22:54 1922449177
>>1922423
Не, простыми крудами тут и не пахнет, тут ты пишешь методы, делающие определенную бизнес-логику. Это сделано для того, чтобы соседние системы своими руками не лезли в наш процесс, а довольствовались лишь некоторыми методами, торчащими наружу. Иногда эта логика конфликтует с плагинами Dynamics, тогда приходится искать по цепочке вызовов, что же именно там происходит. В общем, достаточно весело, да и в бизнес-процессе клиента кое-что понимаю, это интересно.
По поводу быстрого закрытия тасок - тут уж как повезёт с загруженностью и с руководителями. Обмазываться абстракциями и паттернами никто не мешает, главное, чтобы люди после тебя могли доработать проект без особых проблем.
Сам чем занимаешься?
Аноним 26/01/21 Втр 18:43:09 1922468178
>>1922449
> с плагинами Dynamics
не понимаю, потом погуглю
>Сам чем занимаешься?
финансист/экономист/аналитик/хуй пойми кто
Я летом хотел перекатится - подготовился, CV, пет проекты, вся хуйня. По факту прошел 3 собеса, по одному предложили $200 (типо джун), по другому не прошел по софт скилам (Швейцарская компания), по третьему предложили за бесплатно стажером на 3 месяца.
Сам на решетках уже пишу хуй знает сколько, года 2-3 точно, начинал с WinForms, WPF, потом когда понял, что Desktop мертвый, начал корвырять ASP.NET MVC5, потом Core2.0 и т.д. Сейчас начал смотреть .NET5, по тому опенсоурсу, что скинул выше, что то пиздец, даже влень разбиратся, чтобы закрывать какие то таски в issues.
Планирую поковырять что ни будь, повспомнить, уже много чего из головы вылетело и пытаться вкатыватся, но уже делать ориентир на фриланс или буржуйский аутстаф (напрямую)
Аноним 26/01/21 Втр 19:04:23 1922483179
>>1921695
В общем такая же хуйня, но написано не двачером, а со смишнявками. В итоге взял Троелсона, полёт нормальный.
Аноним 26/01/21 Втр 19:08:05 1922487180
Короче, помогите разобраться.
Допустим у меня есть апач(чтобы фронт запускать), есть гейтвей, есть пара вебапишек. Все это в докере. Допустим я хочу иметь возможность одним из сервисов какой-то ip получить(чтобы добавить в ЧОРНЫЙ ЛИСТ). Я правильно понимаю что для этого я должен пошаманить с докером? Или можно как-то просто в гейтвее дописать заголовки? Просто я чет не ожидал что у такой вот фигни возникнут сложности, опять же вскрылось это только когда таки в докере запустил, до этого тестил так и нормально ip просто из контекста доставал - все работало, а тут, не то чтобы выжная функция, но раз уж сделал ее - хорошо бы разобраться почему в докере оно не работает. Вернее как, ip-то отпределяется, но видй 172.xxx.yyy.zzz эт сосвсем не тот что настоящий, я гуглил, это вроде как на ip что докер выдает при запуске контейнеров, но я опять же не настолько щарю, просто хотел разобраться как оно работает на самом деле и как надо делать.
Аноним 26/01/21 Втр 19:31:23 1922498181
>>1922487
X-Forwarded-For заголовок посмотри
Аноним 26/01/21 Втр 19:39:40 1922511182
11.jpg 137Кб, 1476x695
1476x695
22.jpg 131Кб, 1477x699
1477x699
https://www.codepile.net/pile/ADNVAPD8
Двощик, не бей лучше обоссы, но я совсем дурак и так и не могу понять методы.
Вот смотри, почему если убрать/заккоментить метод Reverse который переворачивает цифры в массиве задом наперед, то всё идёт нормально.
Но когда он выполняется, то он переворачивает и массив который должен оставаться неперевернутым?
Я ведь "создаю" две разных переменных с массивами? Или не "создаю"?

int [] numbers (Этот создаётся в методе GenerateNumbers)
и
int [] reversedNumbers (Этот создаётся путём переворачивания задом наперёд первого)

Или второй вообще не создаётся, а ссылается на первый или как понять?
Или нужно вызывать как-то метод в методе (или прям в Main вызывать метод в методе через метод чтобы было правильно?

Я хотел.

Создать массив от [0] "1" до, например, [4] "5".

Напечатать его,- 1,2,3,4,5

Напечатать его же но перевернутым 5,4,3,2,1

Почему переменная numbers то меняется?
Или мне дальше изучать, а там придёт? Инкапсуляции всякие и прочие приват, протектед нужны?
Аноним 26/01/21 Втр 19:45:51 1922517183
>>1922498
Да я гуглил же. Хотел посмотреть. И их у меня нет, кек. При том что в мидлваре - прописано все.
Вернее как, они есть, когда запрос идет от фронта или через гейтвей, но если напрямую в контейнер постучаться по тому порту что я ему в докере прописал - нету. А я как-бы исходя из того что каждый контейнер должен быть самостоятельным - хотел понять, почему так вот выходит.
Хотя ладно, наверное надо лучше погуглить. Хотя я вроде гуглил часа 4, на стековерфлоу тоже просто про X-Forwarded-For пишут, на сайте майков так же, на гитхабе видел ишью как раз по поводу того что не удается узнать верно ip клиента из докера, но не стал вникать, оно вроде закрыто было, а значит если это баг, то должны были пофиксить, а если не баг, то хз, я там беглым взглядом не нашел решения проблемы, может жопой читал.
Аноним 26/01/21 Втр 20:03:07 1922533184
.png 18Кб, 654x434
654x434
>>1922511
Из-за соображений, почти все, в шарпе являются ссылками(есть еще типы значений).
Когда ты пишешь, что
int[] newArr = arr - ты считай создал ярлычек на рабочем столе. Ты можешь создать много таких, но вести они будут к одному файлику и если ты его удалишь, как-то изменишь или что-то еще, то когда ты будешь пытаться по ярлычку кликнуть - тебе будет выдано то что стало с настоящим файлом.
Аналогия конечно, но для того чтобы суть понять я думаю сойдет.
Так вот, массив - ссылочный тип. Всякие int,double и структуры - значения, они копируются при передачи в метод или при присвоении.
Т.е. чтобы не происходило изменений с исходным объектом - ты должен скопировать его, либо как в прикриплейде - создать новый массив и заполнить его самостоятельно.
Аноним 26/01/21 Втр 20:23:50 1922551185
ruluJhL[1].jpg 114Кб, 960x893
960x893
>>1922533
Пасиба огромное. Стало понятней.
Побаловался с копированием массива и созданием через метод GenerateNumbers, всё стало чуть ясней.
Аноним 26/01/21 Втр 20:37:28 1922559186
>>1922511
А вообще, ты молодец что стал разбивать на методы. На начальных этапах многим это кажется не оч полезным, но потом такая боль, когда на реальной работе приходится приучать себя к этому. Лучше это делать сразу, а то как я будешь: 400 строк метод - хех, ну не 600 же; 600 строк метод, ну, бывало и хуже; 2к строк метод - ай, потом отрефакторю.
Аноним 26/01/21 Втр 20:42:07 1922566187
Анонче, есть у тебя какой то код с использованием интерфейсов и без?
Ну к примеру код выполняет одну и тоже задачу. И на примере его описания видна польза интерфейса.
Типо вот тот не юзаем интерфейс и получается хуйня а тут юзаем и получается как в сказке.
Аноним 26/01/21 Втр 20:58:25 1922584188
>>1922566
Погугли паттерн стратегия и DI/IoC.
Интерфейсы нужны для них, в основном.
Аноним 26/01/21 Втр 21:02:31 1922587189
>>1922566
Интерфейсы нужны как абстракция. У тебя есть тип, реализующий контракт. Как он будет это делать- второй вопрос, инкапсуляция жи.
Аноним 26/01/21 Втр 22:48:06 1922691190
>>1922587
Для этого есть модификаторы доступа.
27/01/21 Срд 00:42:46 1922798191
>>1910324 (OP)
Я в рот ебал советующих изучить английский.
Аноним 27/01/21 Срд 07:35:09 1922952192
Аноним 27/01/21 Срд 09:59:31 1922984193
Ебаный рот этой студии.
Вверху на тулбаре был комбобокс в котором можно было выбрать какой проект запустить для отладки и сегодня он куда-то взял и проебался. Как его добавить назад?
Аноним 27/01/21 Срд 10:06:29 1922986194
Блять. Нашел - пкм-настроить-команды-панель инструментов-начальные проекты. В настройках он отображается как будто он тулбаре есть, но его нихуя нету. Охуено!
Аноним 27/01/21 Срд 10:06:42 1922987195
>>1910324 (OP)
Пацаны.
Есть такая проблема.
Есть объекты класса. Нужно, чтобы изменение в этом объекте приводили к изменению в control'ах (textBox например), причём нужно, чтобы изменение в разных объектах приводили к изменению в разных контролах.
Как это сделать? Про эвенты я знаю, но как сделать так, чтобы при обработке эневна изменялось свойство нужного мне контрола?
Аноним 27/01/21 Срд 10:07:59 1922988196
Перезагрузил студию - появился. Держу вкурс.
Аноним 27/01/21 Срд 15:36:13 1923287197
>>1922987
в WPF биндинги из коробки
в WF радость ручного биндинга
Аноним 27/01/21 Срд 15:45:57 1923307198
>>1922691
Модификаиоры это инкапсуляция а не абстракция
Аноним 27/01/21 Срд 16:47:55 1923419199
image.png 134Кб, 598x645
598x645
Помогите, я тупой и не могу понять как работает switch, покажите например по этому примеру как я могу поправить свичем это безобразие?

Мой говнокод здеся:
https://pastebin.pl/view/c495c232
Аноним 27/01/21 Срд 17:00:42 1923446200
Как >>1923287
>в WF радость ручного биндинга
В какую сторону гуглить подскажи.
Аноним 27/01/21 Срд 17:07:11 1923457201
>>1923419
Свитч по дикшинари нейм сделай, в кейсах пиши что надо вызвать, ты вообще читал туториалы хотя бы? И dictionary пишется с t
Аноним 27/01/21 Срд 17:10:56 1923467202
>>1923457
типу так

switch (dictionaryName)
{
case "parameter1" : Function1();
}

??
Аноним 27/01/21 Срд 17:15:59 1923477203
>>1923446
Ни в какую
Пишешь код который ловит события изменений и обновляешь контролы
Аноним 27/01/21 Срд 17:40:10 1923506204
>>1923419
Тебе свитч не нужен, тебе нужен Dictionary<string, Action>();

Создаешь его и в методе у тебя будет:

myDict[dictionaryName]();
Аноним 27/01/21 Срд 18:28:44 1923558205
Блядь, почему так сложно-то начать с нуля новый проект, даже если все знаешь как делать?
Вот, блядь, я наговнокодил штуку. Она работает, клиенты довольны, но там реальный пиздец. Думаю: Проще переписать, чем пытаться рефакторить. Создаю новый проект и часа 2 просто сижу - туплю, думаю о том что и как лучше сделать, а потом удаляю проект и начинаю делать задачи которые стоят. Говнокод копится, рефакторить не хочется, потому что кажется что проще новый сделать. Так уже 3й год идет.
Аноним 27/01/21 Срд 19:05:11 1923603206
.jpg 141Кб, 1106x859
1106x859
>>1923506
Хм. А я бы так вот сделал, кек.
Аноним 27/01/21 Срд 19:06:07 1923604207
Waw meme.mp4 306Кб, 1280x720, 00:00:01
1280x720
Аноним 27/01/21 Срд 19:30:57 1923627208
Анонче таки вопрос.
Есть какой либо способ верификации приложения?
Возможно не правильно сформулировал вопрос, объясню на примере.
К примеру есть телеграм бот код которого выложен на гитхаб. Есть какой нибудь способ сделать так что бы юзер мог узнать когда будет писать в этого телеграм бота что код этого бота не менялся.
Понимаю что скорее всего нет но все же решил уточнить.
Аноним 27/01/21 Срд 19:35:03 1923631209
>>1923627
Есть, называется хэш-сумма. Если код меняется, то меняется и хэш-сумма.
Аноним 27/01/21 Срд 19:35:30 1923633210
>>1923627
Проверить id коммита?
Аноним 27/01/21 Срд 19:38:18 1923639211
>>1923631
Ну так то
return "hash"; который должен вернутся если код не меняли. И как узнать что мне бот мне не написал заранее заготовленую строку а не хеш исполняймого файла?

>>1923633
Я не в курсе про что ты, я вкатывальщик)
Аноним 27/01/21 Срд 20:14:37 1923666212
>>1923639
Я тоже вкатывальщик. Посмотри какой-то базовый видос про гитхаб на тытрубе где рассказывают про базовые понятия гита.
Аноним 27/01/21 Срд 20:16:05 1923670213
>>1923666
Дак а причем тут гит?
Есть какой то апи который может верефицировать запускаемое приложение?
Аноним 27/01/21 Срд 20:20:11 1923675214
>>1923670
Тебе же блин сказали: Хеш.
Смотришь оригинальное приложение, обычно там и так лежит файлик с хеш-суммой, либо рассчитываешь его. Затем рассчитываешь хеш для приложения что у тебя. Если отличаются - значит поменялось. Что сложного-то?
Аноним 27/01/21 Срд 20:20:34 1923677215
>>1923670
> код которого выложен на гитхаб
> Дак а причем тут гит?
...
> Есть какой то апи который может верефицировать запускаемое приложение?
Нету. Зато есть системы контроля версий.
Блять, короче. Если ты менял код делаешь коммит (точка сохранения). У этого коммита есть id, вот этот id ты можешь цеплять и сравнивать.
Аноним 27/01/21 Срд 20:28:14 1923683216
>>1923675
>>1923677
Да вы не поняли просто что нужно.
Еще раз повторю.
Есть к римеру бот на гитхабе. Ну к примеру мне нужно гарантировать что именно бот который я выложил будет запускать юзер.
Но юзер может его скачать и модифицировать, и просто подсовывать нужный хеш.
А мне нужно как то гарантировать что код запущенного бота это код на гитхабе. В частности бот не должен сохранять ни каких данных о пользователе который ему пишет. Но как я могу подтвердить что мой бот не сохраняет данные? Только выложить бота на гитхаб. А как пользователь может проверить вдруг на гитхабе один бот а запущен у меня другой?
Аноним 27/01/21 Срд 21:00:45 1923713217
>>1923683
> Но юзер может его скачать и модифицировать
Niqaque
27/01/21 Срд 21:47:55 1923773218
>>1923683
Первое правило веба — никому не говорить не доверять клиентским данным. Вообще никогда.
Аноним 28/01/21 Чтв 16:05:14 1924372219
Делаю проект ASP.NET Core MVC+Entity framework. Мне нужно чтобы пользователь мог добавить в БД данные, которые имеют одно из нескольких определенных заранее значений? Как это реализовать?
Аноним 28/01/21 Чтв 17:50:00 1924462220
>>1924372
Вроде разобрался, с помощью атрибута [Remote].
Аноним 28/01/21 Чтв 18:27:39 1924501221
Хм. Тупой вопрос.
Смотрите, допустим есть некая база. В ней есть довольно общая сущность, допустим это товар. У нее есть связанная таблица атрибутов, в зависимосмти от типов товара - там разные могут быть атрибуты, они привязаны через доп-таблицу: ТоварАтрибут
Так вот. Суть в чем. На клиенте для разных типов товара должны быть разные вьюшки. Ну, типа: Технические характеристики, размеры для товаров что имеют эти характеристики, поддерживаемые интерфейсы для товаров у которых есть уже эти вот характеристики.
Ну, собвственно, мне интересно, как это было бы лучше реализовать. Пока что я думаю о том, чтобы просто добавить поле группа для таблички атрибут, ну, соответственно фронту будут отдаваться данные в сгруппированном виде и на нем можно будет просто отрисовать.
Может быть есть какие-то более изящные решения?
Ну, да, чому в шарпотреде - потому что я шарпоняша и это все на шарпах пишется.
Аноним 28/01/21 Чтв 18:51:20 1924529222
>>1924501
Ну если группировка не изящное решение, то я даже и не знаю, какое изящное.
Аноним 29/01/21 Птн 01:30:47 1924843223
мне нужен c# для использования в ZennoPoster. Он по сути тот же там использеутся, что и в книгах в шапке? А то там какие-то wpf, .net , я не ебу что это все такое, я просто хочу писать c# сниппеты на зенке без всяких там вот этих
Аноним 29/01/21 Птн 06:29:41 1924887224
Аноним 29/01/21 Птн 08:39:37 1924915225
>>1910324 (OP)
Йоу, пацантре.
Такой вопрос. Есть WPF приложение. Нужно периодически проверят коннект с сервером и отображать это. Есть самодельный класс, который отвечает за запись и чтения с сервера. Собна каким образом всё это можно сделать?
Таймер для этого нормально или есть какие-то более современные и нормальные подходы?
Аноним 29/01/21 Птн 09:30:36 1924930226
>>1924915
Стопвотч и не выебуйся
Аноним 29/01/21 Птн 10:18:24 1924949227
Аноним 29/01/21 Птн 15:36:31 1925217228
Помогите с выбором. Появилось желание заняться программингом для себя. Вопрос не про трудоустройство. Допустим, я хочу склепать пару мобильных приложений и игрушек (могу 100 раз обосраться и передумать, это понятно). Как понял, есть два стула: Java и C#. Склоняюсь к шарпу из того, что читанул:

1. Сейчас адекватные мобильные игры на джаве не пишут. Используют шарп.

2. Сейчас мобильные приложения пишут на Kotlin. Не на шарпе.

Вопрос: вне контекста трудоустройства, мешает ли мне что-то клепать приложения на шарпе? Просто геймдев у шарпа, как я понял, гораздо лучше чем в джаве. Но и мобильные приложения тоже есть идейки. Подойдет ли шарп и для этого?
Аноним 29/01/21 Птн 15:40:57 1925218229
>>1925217
Xamarin для приложений (и простых игр)
Unity для игр.
Смысл есть, особенно если будешь крутиться исключительно в .core и mono
Аноним 29/01/21 Птн 16:29:34 1925270230
До этого пытался вкатиться в ASP.NET, но все каким-то убогим и нагроможденным казалось, поэтому забил. Сейчас нашел очень годный курс, связка .NET API и Angular. Так вот, если я буду разрабатывать сайты по этой методе, через API, это мое преимущество или недостаток? Уж очень такой метод показался удобным и лаконичным.
Аноним 29/01/21 Птн 18:03:07 1925371231
Привет добрые анончики, я образа.сь к тем кто знает что такое абстракции и конструктор, потому что я не знаю как такое юзать в моем коде https://pastebin.pl/view/a87ddb29
вот у меня пример моего говнокода который где много раз повторяются похожие функциии и методы, они работают так же единственное что отиличается так это тип данных, как мне фиксить такое и вместо 20 одинаковых функций под каждый тип данных сделать одну под все без ифов форов и медленных проверок?
Аноним 29/01/21 Птн 18:20:21 1925386232
>>1925270
> но все каким-то убогим и нагроможденным казалось
Можешь навести пример не убогого фреймворка? Я прост только асп знаю, интересно чем он плох.
Аноним 29/01/21 Птн 18:31:37 1925400233
>>1925386
Я на C# вообще не гоню, меня все устраивает, так как я смотрел разные фреймворки, ларавел и тому подобное, и там только на одних миграциях можно голову сломать
Аноним 29/01/21 Птн 19:05:51 1925443234
>>1925371
>конструктор
Дружище, у тебя статический класс.
>абстракции
Опять же, статический класс.
>много раз повторяются похожие функциии и методы, они работают так же единственное что отиличается так это тип данных, как мне фиксить такое и вместо 20 одинаковых функций под каждый тип данных сделать одну под все
Загугли дженерик классы и дженерики вообще. Они для этого и нужны.
И вообще. Не используй слово static без четкого понимания, зачем оно нужно. Статические классы только в соснольке с сотней строк кода удобно использовать, в чем-то мало-мальски серьезном ты только говна поешь, пытаясь понатыкать лишних статиков.
Аноним 29/01/21 Птн 19:33:49 1925473235
>>1925443
А каким образом я могу реализовать концепцию inMemoryDatabase без статического класса в котором хранятся данные?
Аноним 29/01/21 Птн 19:50:28 1925497236
>>1925473
Ну как, нестатическим классом например???
Аноним 29/01/21 Птн 19:54:40 1925503237
>>1925497
так ведь для использования например не статических классов я должен буду создавать новый экземпляр класса каждый раз когда я хочу его использовать, учитывая что у меня будет много пользователей и много данных мне никакой памяти не хватит что бы хранить все эти экземпляры отдельно
Аноним 29/01/21 Птн 20:01:02 1925506238
Какие есть годные гайды по asp?
Аноним 29/01/21 Птн 20:02:11 1925508239
Аноним 29/01/21 Птн 20:09:25 1925512240
>>1925503
В зависимости от связанности твоих "пользователей" (а я не уверен, что ты имеешь в виду) применяется Dependency Inversion или синглтоны.
Аноним 29/01/21 Птн 20:49:54 1925535241
>>1925512
нет, сингелтон точно не используется, потому что дб может изменять свое состояния и кешировать данные динамически, сингелтон это вообще про другое, насчет Dependency Inversion я не совсем понимаю к чему ты это, это просто паттерн, и да я спросил именно про то какие образом можно реализовать такой патерн в концепции inMemoryDataBase
Аноним 29/01/21 Птн 21:16:13 1925555242
>>1925535
>я спросил именно про то какие образом можно реализовать такой патерн в концепции inMemoryDataBase
1. Убираешь статики
2. Делаешь класс дженериком и сокращаешь с помощью этого код
3. Делаешь для класса интерфейс и наследуешь его классом
4. Используешь DI-фреймворк/пилишь DI вручную (по сути хуячишь инстанс своего класса в ~мейне и прокидываешь этот инстанс через конструкторы или методы к классам, где он нужен)
Аноним 30/01/21 Суб 01:26:03 1925699243
Seemann-DI-HI.png 38Кб, 360x452
360x452
>>1925535
Ты троллишь, что ли, блять? Памяти у него не хватит, видите ли, если создавать объекты. Профилировал уже?

Пиздуй пикрелейтед читать.
Аноним 30/01/21 Суб 02:00:56 1925721244
Чё скажите за блазор?
Какие у него жирные недостатки перед js?
Аноним 30/01/21 Суб 09:25:39 1925787245
>>1924915
Ну, блин. Зависит от архитектуры приложения.
Но самый простой способ - берешь таймер из класса Timers.
Аноним 30/01/21 Суб 11:37:17 1925859246
>>1925503
> ведь для использования например не статических классов я должен буду создавать новый экземпляр класса каждый раз когда я хочу его использовать
С хуя, лол?
Вот серьезно, с какого хуя-то? Ты можешь создать один экземпляр и передавать его сколько хочешь кому хочешь. Можешь ебануть синглтон и закрыв конструктор получать один и тот же экземпляр откуда угодно.
30/01/21 Суб 13:33:14 1925941247
>>1925859
По ходу дела желаю всем уебанам, вручную имплементирующим синглтоны, всю жизнь писать для них юнит тесты.
Аноним 30/01/21 Суб 13:42:50 1925955248
>>1925535
>я должен буду создавать новый экземпляр класса каждый
>насчет Dependency Inversion я не совсем понимаю к чему ты это, это просто паттерн
На пальцах.
1 изначально дергаем статик класс зависимость или синглтон зависимость прямо из класса. Работает, но все прибито гвоздями и невозможно ни нормально тестировать, ни подменить реализацию
2 Вносим Dependency Inversion - не лезем к зависимостям сами, а получаем их через конструктор. Тестируется на отлично и подменяются реализации. Но как результат - нужно создавать экземпляры
3 И если у нас экземпляры, то как же синглтоны? Решение простое - прокидывать всем один и тот же экземпляр зависимости.
4 И тут на сцену выходят IoC контейнеры (которые суть автофабрики, которые рантайм просто пишет за нас) и в них декларативно задается время жизни зависимости в рамках контейнера.
И поскольку все создается с помощью IoC контейнера, то он позаботится о том чтобы все получили один и тот же экземпляр "синглтона"
Аноним 30/01/21 Суб 14:18:09 1926010249
>>1925555
Я уже писал, синглтон не применим ни в коем случае, МНЕ НУЖНЫ РАЗНЫЕ ЕКЗЕМПЛЯРЫ а не один и тот же
Аноним 30/01/21 Суб 14:30:11 1926028250
>>1926010
любой, кто увидел static, разумно делает предположение, что нужен синглтон
ведь для этого static и применяется - не создавать экземпляры.

и реализовать опять же очень просто - нужные разные экземпляры...так создавай разные экземпляры там, где они нужны разные.
Проблемы то нет
Аноним 30/01/21 Суб 14:32:04 1926030251
>>1925955
>Решение простое - прокидывать всем один и тот же экземпляр зависимости.
не валидно

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

для каждой сущности (продукты, счета, и тп) данных свой класс, а для каждого пользователя свой экземпляр с ЕГО сущностями

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

и очевидно что все словари с данными должны ДОЛЖНЫ быть статическими, и их должно быть 20 по каждому на сущность, другой вопрос нужно ли мне 20 статических классов которые возвращают каждый сво сущность или это можно сделать умнее
Аноним 30/01/21 Суб 14:32:08 1926032252
>>1926010
Значит используй моностейт, а не синглтон.
Аноним 30/01/21 Суб 14:34:19 1926035253
>>1926028
Я класс inMemoryDB со всеми вложенными статическими классами инициализирую при старте сервиса если ты об этом, а классы которые возвращают данные из физической дб в inMemoryDB в синглтонах не нуждаются
Аноним 30/01/21 Суб 15:06:40 1926078254
>>1926030
конечно не читал. никто не понял зачем нужен этот инмеморидб и что он делает
а когда увидел множество "new Thread()" то тут аж сердце прихватывает от такого

А "20 классов" - ты тут криво описал нечто похожее на обычные repository с кешированием внутри себя.

>не валидно
конечно не валидно. ведь это середина истории. А самая суть под пунктом 4

>что все словари с данными должны ДОЛЖНЫ быть статическими
ты путаешь понятие "статический" и "один для всех". Для "один на всех" не нужно быть статическим - достаточно сделать так, чтобы был один инстанс для всех

Тебе нужно понять концепт

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

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

Вот эту концепцию вкури, а "статики/синглтоны для того чтобы он был один" забудь как страшный сон

Можешь не любить IoC, а написать код инстанцирования руками (IoC просто генерит тот же код за нас, позволяя нам декларативно задавать).
Статики/синглтоны - зло
Экземпляры, но гарантирована1 штука - добро.

У тебя класс inMemoryDB, у тебя 20 классов реп, которые читают из бд. Каждый из них может кешировать тупо в словарих внутри себя. А может быть у них общий кеш - тогда еще один класс. И все это НЕ-статическое.
А что из них создается каждый раз, а кто один раз - решит тот, кто собирает граф.
Аноним 30/01/21 Суб 15:17:06 1926099255
>>1926078
ну смотри, предположим у меня 10 пользователей, они будут получать данные по своему айди но данные у них одинаковые, тот же набор продуктов и тп, правильно я понимаю что с нестатическими классами они все забиндуют в словарь 10 одних и тех же копий тех же данных, но в разных потоках которые не будут иметь отношения друг к другу? потому что мне кажется что именно так и будет и это уже не похоже на базу данных в памяти, это просто кеширование,
Аноним 30/01/21 Суб 15:17:08 1926100256
14284256959995.jpg 36Кб, 960x960
960x960
> new Dictionary
> new Thread
Аноним 30/01/21 Суб 15:21:47 1926112257
>>1926100
Словарь так то только при инициализации создается, а про тред я вообще не понял в чем претензия
Аноним 30/01/21 Суб 15:24:39 1926120258
>>1926112
я мимокрок
претензия в том, что
а) он не нужен
б) не используется ThreadPool
Аноним 30/01/21 Суб 15:28:07 1926125259
>>1926120
А он обязательно нужен, что бы создать новый поток?
Аноним 30/01/21 Суб 15:28:44 1926126260
>>1926099
То, что ты описал это называется Identity map - кеш загруженных сущностей.
А значит каждый из твоих 20 классов получит ссылку на общий экземпляр такого кеша, где они и будут спрашивать "не загружено ли"
Аноним 30/01/21 Суб 15:30:17 1926128261
>>1926125
он как раз нужен чтобы НЕ создавать новый поток, а взять уже созданный из пула. Это экономит и время и ресурсы.
поэтому минимум Task.Run() вместо new Thread()
если оно вообще нужно конечно - ибо ты обращается к I/O
Аноним 30/01/21 Суб 15:34:34 1926140262
Аноним 30/01/21 Суб 15:35:09 1926141263
>>1926126
об этом тоже почитаю
Аноним 30/01/21 Суб 15:42:06 1926152264
>>1926010
Ты же понимаешь, что я описал DI-реализацию ТВОЕГО кода с ТЕМ ЖЕ функционалом? Где вместо статика (который по определению является одним инстансом) мы используем один инстанс? Пиздец у тебя каша в голове.
А по факту делается это так:
1. Добавляешь в интерфейс строку
static void GetInstance() => throw new NotImplementedException();
2. Добавляешь в класс строку
static void GetInstance() => new inMemoryDB();
3. Вместо имеющегося инстанса кидаешь в конструкторы _instance.GetInstance()

А по факту это не делается, а используются DI-фреймворки, которые делают все вышеперечисленное вместо тебя, а тебе нужно написать одну строку. И ты бы быстро нашел этот функционал в любом из них, потрать ты хоть секунду на изучение темы, а не беги на двачик с вопросом, который при твоем непонимании статиков объяснить примерно нереально.
30/01/21 Суб 17:15:33 1926249265
>>1926112
Словарь не потокобезопасен, и не надо мне про тот лок говорить только.
Аноним 30/01/21 Суб 17:21:14 1926254266
>>1926249
А в чем проблема лока кроме того что он статический? и что в данном случае можно использовать кроме сторонних фремворков?которые типа "написал строку и ок" а в реальности "написал строчку и там выполняется полная каша которая делает код процентов на 200 медленнее как например с ЕФ
30/01/21 Суб 17:35:06 1926270267
>>1926254
Можно, например, использовать ConcurrentDictionary. Тогда, может, кому-то и захочется читать ту простыню.

На Энтити гон абсолютно необоснованный, он генерирует запросы, которые от рукописных отличаются только переименованием полей. В два раза медленнее он, потому что вместо тебя реализует вот это кеширование, транзакции и другое.
Аноним 30/01/21 Суб 18:26:51 1926354268
image.png 68Кб, 637x337
637x337
Аноны, поясните что за UK? Не британия же
Аноним 30/01/21 Суб 18:27:52 1926355269
Аноним 30/01/21 Суб 18:31:56 1926358270
>>1926354
Тебя в яндекс-переводчике забанили? Зачем ты пытаешься понять смысл предложения только по двум словам?
Аноним 30/01/21 Суб 18:33:40 1926361271
>>1926354
Конечно, она самая. Автор говорит, что формат даты будет у тебя другой, потому что ToString по дефолту форматирует для текущей локали.
Аноним 30/01/21 Суб 22:06:28 1926574272
Аноним 31/01/21 Вск 11:14:19 1926791273
Знатоки и мастера синтаксиса. Вот возникло у меня жгучее желание заиметь словарь, в котором значением будет другой словарь.
Так вот, когда я пробовал вот так вот
Dictionary<string, Dictionary> - студия меня матом послала, дескать нужно указать типы для ключа и значения. Но ведь в том и суть что мне нужно чтобы словари что являются значением - могли быть любыми. При этом хотелось бы чтобы тип был виден нормально и не нужно было преобразования эти делать.
Есть хак какой-нибудь, кроме как: Dictionary<string,Dictionary<object,object>>?
Аноним 31/01/21 Вск 13:04:44 1926890274
>>1926791
>могли быть любыми. При этом хотелось бы чтобы тип был виден нормально
нужно подключить библиотеку libastral в проект и это станет возможным.
Аноним 31/01/21 Вск 13:13:54 1926897275
uAdWsol[1].png 4Кб, 384x52
384x52
0L6H15X[1].png 5Кб, 394x103
394x103
Делаю проект на ASP.NET Core MVC. Реализую проверку ввода строки с помощью атрибута [Remote]. Одним из условий проверки является проверка на ввод пустой строки. Решил это реализовать используя string.IsNullOrEmpty(). Но оно не работает! Я как мог сохранить данные с пустой строкой, так и могу. В чем может быть проблема?
Аноним 31/01/21 Вск 13:29:26 1926911276
>>1926791
data Yoba a b = Dictionary<string, Dictionary<a, b>> (с точностью до синтаксиса)
Аноним 31/01/21 Вск 13:51:14 1926921277
>>1926791
Dictionary<string, Dictionary<dynamic, dynamic>>
Аноним 31/01/21 Вск 14:19:09 1926948278
>>1919641
анончик, а давай вместе вкатываться. Я немного дальше тебя в изучении C# прошел, но думаю все равно обоим будет полезно.
@SpaceCowBoy2176
Аноним 31/01/21 Вск 16:20:21 1927084279
>>1926911
Хаскеллист в треде?
Аноним 31/01/21 Вск 16:42:37 1927095280
Почему в .Net backend разработчик сайтов называется Software Engineer, или этот стек не веб? Объясните. Похоже больше на веб, с SignalR и JS.

Experience with ADO.Net, MVC, WebAPI, SignalR
Experience with Lucene.NET
Knowledge of JavaScript, TypeScript
Knowledge of xUnit, MsTest, Moq
Experience with SQL (Microsoft SQL Server)
Familiarity with Agile process, Scrum, Git
Аноним 31/01/21 Вск 16:50:52 1927108281
>>1926791
Можно завернуть Dictionary<object, object> в класс Yoba и прописать проперти Type - будешь хоть как-то видеть тип. Или завернуть Dictionary<string, Dictionary<object, object>> в класс Yoba и прописать свистоперделки для удобства. А так - только Dictionary<object, object>, динамическая типизация не предусмотрена, так что придется иначе ставить задачу или терпеть неудобства.
>>1926921
Так можно сделать, но по сути это то же самое, что Dictionary<object, object>, только без предохранения от Студии и компилятора. Любой обосрамс в коде ебанет только в рантайме, и местами выявить проблему очень непросто. Лучше писать эксплицитно Dictionary<object, object> - меньше вероятность выстрелить себе в ногу, хоть и придется везде прописывать приведение вручную.
Аноним 31/01/21 Вск 20:05:10 1927290282
2021 год, статическая типизация, даункасты от обджекта. Хуею с этих ваших промышленных стандартов разработки.
Аноним 31/01/21 Вск 20:26:25 1927313283
>>1927290
задачи разные бывают
Аноним 31/01/21 Вск 20:44:36 1927328284
Всем привет. Вот какой вопрос.
Два года назад стал разработчиком. Писал на C#, в основном на фреймворке Террасофта (бэк на C#, фронт на их специфическом JS).
Сейчас у компании свой новый проект на Java, без Гибернейта и Спринга.
В каком направлении развиваться. Я работал немного с Java в своё время, он показался мне всратым по сравнению с дотнетом. Но вопрос в рынке труда и перспективах.
Плюс, на изучении чего сосредоточиться, какие вопросы нужно хорошо знать, а что можно подглядеть по ходу работы?
Аноним 31/01/21 Вск 20:46:21 1927330285
>>1927328
Также, стоит ли концентрироваться на .Net Framework 4.8, или в нынешних реалиях это легаси? Перекатываются ли все массово на Core на .Net 5?
Аноним 31/01/21 Вск 23:13:49 1927437286
>>1927330
>в нынешних реалиях это легаси
Да
>Перекатываются ли все массово на Core на .Net 5?
Да (кроме закоренелого легаси, по очевидным причинам)
Аноним 01/02/21 Пнд 12:06:44 1927688287
Аноним 01/02/21 Пнд 13:20:45 1927752288
>>1927688
ну так напиши сам код который будет транслировать твои <Underline> в правильный Inlines, а не тот ужас что по ссылке
Аноним 01/02/21 Пнд 13:30:43 1927776289
>>1910324 (OP)
Когда вас спрашивают кем вы работаете - вы скрываете, что пишите на C#? Это ведь зашквар.
Аноним 01/02/21 Пнд 13:34:23 1927783290
>>1927776
не такой зашквар как писать на питоне php
Аноним 01/02/21 Пнд 13:34:52 1927784291
>>1927776
Меня на фронт перевели, а я и не против. но петпрожект на решетке допилю, лень на электрон переписывать
Аноним 01/02/21 Пнд 13:37:43 1927789292
Аноним 01/02/21 Пнд 13:38:28 1927794293
>>1927783

Хз, питонер или пхпшник купит себе макбук, а у тебя будет винда(
Аноним 01/02/21 Пнд 13:39:48 1927797294
>>1927794
Core мультиплатформенная среда, какой хочешь такой покупай
Аноним 01/02/21 Пнд 13:44:04 1927805295
>>1927797
Ну и сколько челиков в тренде пишет на чем-то кроме винды? Понимаешь, на php тоже можно писать в винде. Но неудобно.
Аноним 01/02/21 Пнд 13:45:47 1927810296
Аноним 01/02/21 Пнд 13:49:49 1927815297
>>1927805
Зачем вообще на винде писать?
Работаю под линуксом, весь продакшен на линуксовых серверах, докер образы под кубером.
мимо .net core бэкендер
Аноним 01/02/21 Пнд 13:49:58 1927816298
Аноним 01/02/21 Пнд 15:06:30 1927935299
image.png 157Кб, 320x218
320x218
Аноним 01/02/21 Пнд 15:07:31 1927938300
>>1927437
Короче, сяду за новый пет-проект на .Net 5.
Но вопрос ещё и вот в чём: стоит ли смотреть в сторону Java?
Она мне кажется совершенно всратой. Плюс, шарп я люблю за то, что можно смотреть в сторону геймдева на Юнити.
Аноним 01/02/21 Пнд 21:59:17 1928409301
>>1927805
Не понял что ты спросил.
Пишу на винде, потому что студия тупо удобнее чем все всякие vsCode и дргуие говноредакторы, типа райдера. И попробуй пусть хоть один пидорас скажет, что студия неудобна, почти каждый плсюовик - в ней кодит, хоть и не все признаются. Просто вот так уж вышло, что по факту - лучше студии и нет ничего для разработки. Разве что в нишах всяких, типа под яблоко - лучше их xcode (или что там у яблочников сейчас, я давно не следил), под андроид - андроидстудия; но если смотреть в общем - студия все еще остается лучшей иде, если ты на плюсах или языке из .net кодишь.
А то что пишу сейчас - запускают как на линуксах, так и на винде.
Аноним 02/02/21 Втр 00:31:21 1928485302
>>1925721
ну епта, вы чего
Я думал это революционный фреймворк, в вы чета заигнорили вопрос, не знаком чтоли никто
Аноним 02/02/21 Втр 00:41:15 1928491303
>>1928409
Главная проблема студии (помимо кривого перегруженного неинтуитвного интерфейса, в котором все свалено в одну кучу) - её громоздкость. Т.е. либо она у тебя будет отжирать половину ssd, либо грузиться по пол часа.
Аноним 02/02/21 Втр 05:04:00 1928549304
>>1928491
когда с программистской зарплаты не можешь купить ссд на 128гб и айпять десятилетней давности?
Аноним 02/02/21 Втр 12:01:38 1928695305
>>1928549
ну ты даешь, Яблочники уже всю всю зарплату потратили на оверпрайснутый еир, на подписку АЙтюнс, на АЙклоуд, откуда у них деньги еще и на ссд, да и нету слотов расширения у епловых поделок
Аноним 02/02/21 Втр 12:21:44 1928714306
16118685511560.jpg 126Кб, 660x440
660x440
Сап шарп. Нужна архитектурная помощь неофиту. Есть декстопная впф апликуха для прохождения тестов. У нее есть локальный (файл) sqlite. У теста есть n вопросов, нужно реализовать "сохранение" теста при прохождении если по каким-то причинам приложение будет неожиданно закрыто.
В базе уже есть таблица с результатами, только они сохраняются в конце. Я хочу переписать так чтобы запись апдейтилась после каждого вопроса. В таблице есть поле - перечисление ответов, туда запихивается сериализируемый list<answer>.
Дальше у меня начинаются вопросы. При загрузке теста нужно определить есть ли запись или нужно начинать новый тест. В начале я подумал что нужно доставть тот лист и смотреть сходятся ли каунт листа и каунт вопросов, но это мне не совсем подходит. Дальше я подумал что мне нужно добавить флаг - пройден ли тест, но добавить поле в таблицу не совсем правильно т.к. у меня шифрование/безопасность и юзверь может залезть в файл бд и поменять флаг. Дальше я подумал что нужно этот флаг засунуть в само поле ответов, т.е. в лист, но лист это перечисление ответов, а мне нужно записать как-то поверх него вот этот стейт. Подумал записывать в поле словарь, но у меня не соблюдается уникальный ключ, т.е. ответы могут быть идентичными. Короче как это правильнее реализовать? Или можно как-то юзать словарь без уникального ключа?
Аноним 02/02/21 Втр 12:53:59 1928741307
Или лучше сделать таблицу типа unfinishedTests и туда делать запись по айдишнику?
Аноним 03/02/21 Срд 00:47:01 1929330308
>>1928714
Так и не понял в чем проблема еще одну таблицу создать и что там у тебя шифруется и почему новая таблица не будет шифроваться.

У тебя ответы в ОЗУ "шифруются"? В чем проблема юзеру сейчас "залезть в файл бд и поменять" что-то?

Хуй знает. Непонятно что там у тебя накостылено. Нарисуй на бумажке нормализированную схему БД типа: Test (Id, IsCompleted), AnwerFact (Id, QuestionId,...) и подумай, сможешь ли ты осилить рефактор нормальный.
Аноним 03/02/21 Срд 01:10:57 1929340309
>>1925270
Оно оба ASP.NET
Но вот именно ASP.NET MVC со всякими рейзорами я уже года три нигде не видел.
Так что не преимущество, но скорее всего и не большой пробел. Иногда на собесах и за рейзор спросить могут.
Аноним 03/02/21 Срд 08:29:55 1929439310
>>1910324 (OP)
Подскажите куда смотреть. Нужно получить доступ к скроллу другого приложения.
Что для этого надо?
Аноним 03/02/21 Срд 11:20:26 1929509311
>>1910324 (OP)
Где можно почитать что у синьёра на собеседовании обычно спрашивают? Интересующий стек ASP.NET MVC/Web Api + вопросы по самому шарпу.
Аноним 03/02/21 Срд 12:12:32 1929536312
>>1929509
про предыдущие проекты спрашивают
Аноним 03/02/21 Срд 12:33:32 1929546313
>>1929536
Плохо, придется архитектуру проектов повспоминать, а то я уже на автомате бизнеслогику меняю.
Аноним 03/02/21 Срд 17:49:47 1929811314
Почему вывод в файл, быстрее, чем вывод в консоль?
Аноним 03/02/21 Срд 19:29:44 1929899315
>>1929811
let me google for you
https://stackoverflow.com/questions/5272177/console-writeline-slow

Why Console is slow:

Console output is actually an IO stream that's managed by your operating system. Most IO classes (like FileStream) have async methods but the Console class was never updated so it always blocks the thread when writing.

Console.WriteLine is backed by SyncTextWriter which uses a global lock to prevent multiple threads from writing partial lines. This is a major bottleneck that forces all threads to wait for each other to finish the write.

If the console window is visible on screen then there can be significant slowdown because the window needs to be redrawn before the console output is considered flushed.
Аноним 03/02/21 Срд 20:16:00 1929951316
>>1929899
>let me google for you
Андрей, ты?
Аноним 03/02/21 Срд 21:02:19 1929973317
Аноним 04/02/21 Чтв 10:28:58 1930221318
>>1910324 (OP)
Что почитать по azure?
Приложение на asp накидал(простенькое говно), подумал что стоит повоевать и в ту сторону.
Аноним 04/02/21 Чтв 11:18:50 1930242319
Если на компе запустить сервер на сокетах, то как к нему с андройда через мобильный инет подключиться?
Аноним 04/02/21 Чтв 13:38:11 1930352320
Анонче помоги.
Я хз с чего как найти то что надо мне.
Вопрос такой. Есть такая игра path of exile, для нее есть сторонний софт который по нажатию клавиш получает данные о предмете из игры. И вот вопрос как он получает данные из игры ?
Вот пример такой программы. Она сильно сложная для меня. Хотелось бы сделать что то похожее но вот не могу понять как программа получает данные о предмете, на сайте игры ничего нет такова(

https://github.com/domialex/Sidekick
Аноним 04/02/21 Чтв 14:02:44 1930369321
>>1930352
>получает данные из игры ?
Очевидно из памяти считывает
Аноним 04/02/21 Чтв 14:03:53 1930371322
>>1930369
Это предположение?
Просто так то из памяти я думаю запрещено в память игры внедрятся.
Аноним 04/02/21 Чтв 14:22:14 1930391323
>>1930369
>>1930371
Оказалось что в самой игре есть фича, при нажатии кнтр+ц игра копирует данные о предмете, софт обрабатывает инфу с буфера обмена и отправляет на сайт.
Аноним 04/02/21 Чтв 16:48:29 1930564324
Всем привет!
Скажите, насколько реально ньюфагу сейчас джуном на юнити вкатиться? Интересны разработки всякие под ВиаР.
Аноним 04/02/21 Чтв 17:06:46 1930576325
Блять, Двач, ну это же пиздец какой-то.
Есть один паттерн для написания приложение на WPF под названием MVVM. Узнал об этом паттерне несколько лет назад, за это время успел выучить Python на нормальном уровне, но ебучий MVVM так и не освоил.
Я могу без проблем передать свойства объекта из View в Model, вернуть их, отобразить, с этой частью проблем нет.
Но ебучее нажатие на кнопку реализовать - это же тотальный пиздец. Какие-то нахуй ICommand айхуйкомманд, RelayCommand на несколько десятков строк, да это, ебись оно в рот, не стоит того ради выполнения пары строк кода для изменения интерфейса.
А когда начинается открытие дополнительных окон в приложение то всё нахуй, дальше пешком быстрее будет.
Есть какой-то нормальный аналог этому паттерну? Я с этим говном заебался возится. Костыль на костыле, блять, и никто этого не видит.
Аноним 04/02/21 Чтв 17:20:37 1930589326
>>1930576
>успел выучить Python на нормальном уровне
>MVVM так и не освоил
Петухон можно выучить до "нормально уровня" за 15-20 минут? Ровно столько нужно, чтобы разобратся в таком элементарном паттерне
Аноним 04/02/21 Чтв 17:27:35 1930597327
>>1930589
Может, я тупой? Объясни мне нормальный способ вызвать процедуру нажатия кнопки сквозь ViewModel.
Аноним 04/02/21 Чтв 19:01:48 1930660328
>>1930576
Справедливости ради - сам-то паттерн понять не проблема.
Хуйня в том, что он не нужон и вообще больше проблем вызывает, особенно в контексте WPF. Ыыыы, как весело сидеть с профиллировщиком и искать где же ты от INotifyPropertyChanged забыл отписаться.
А вообще, большей справедливости ради - WPF - говно. Серьезно. Лучше чем формы не придумали еще. Вот это как раз охуенная штука была: пишется легко, работает быстро, куча вещей прямо из коробки, еще и не нужно эту залупу XML'нуй под названием ЗАМЛ использовать. Если бы я все еще писал под десктоп, тем более виндовый - то брал бы формы, охуенная штука была, однако.
Аноним 04/02/21 Чтв 19:06:10 1930665329
>>1930576
> Есть какой-то нормальный аналог этому паттерну?
А, ну да. MVC - если ты так уж аналога хочешь. Удобно и просто.
Аноним 04/02/21 Чтв 19:27:59 1930695330
>>1930371
>Просто так то из памяти я думаю запрещено в память игры внедрятся.
А как же тогда артманя работала?
Аноним 04/02/21 Чтв 19:29:51 1930699331
>>1930576
>Но ебучее нажатие на кнопку реализовать - это же тотальный пиздец. Какие-то нахуй ICommand айхуйкомманд, RelayCommand на несколько десятков строк, да это, ебись оно в рот, не стоит того ради выполнения пары строк кода для изменения интерфейса.
Ну, раньше как было? Нажал на кнопку, сработало событие, которое вызвало нужный метод. А ща нажал на копку, сработало событие, которое вызвало команду, которая вызвала метод, который на нее подписан
Аноним 04/02/21 Чтв 19:56:23 1930725332
Сап.
Прошел 40 уровней джавы, начал переводить один исходничек на джаву, который был только на пайтоне, да так там всё охуенно, что я на 3 месяца в пайтон перекатился и прошел лэтпай. Но сейчас понимаю, что пора бы и честь знать, надо взрослый компилируемый язык учить. Свёлся к шарпам... но ссука открываю это после 3 месяцев питона и плакать хочется, как не хочется опять в эту джаву. Уговорите меня, пожалуйста, парни. Дайте леща, что бы я с питона слез. Как мне обмануть мой мозг? Чем питон хуже сишных? Ведь там, где я два дня матерился в джаве, в питоне я просто пару строк практически наугад написал и оно заработало.
Аноним 04/02/21 Чтв 19:58:38 1930728333
>>1930725
>компилируемый язык
>шарп

Проиграл с дебила.
Аноним 04/02/21 Чтв 20:05:36 1930739334
>>1930728
Ты какой то странный.
а ну, вот эта штучка как называется на вскидку?
scs.exe
Аноним 04/02/21 Чтв 20:08:23 1930742335
>>1930739
>scs.exe
Какой-то вирус.
Аноним 04/02/21 Чтв 20:10:17 1930746336
>>1930742
Интересно. Я тут не местный. А адекваты в этом треде есть вообще?
Аноним 04/02/21 Чтв 21:41:35 1930833337
>>1930564
Лучше в unreal+кресты+3дмакс/блендер/збраш посмотри.
Аноним 04/02/21 Чтв 22:38:48 1930851338
Аноним 05/02/21 Птн 01:07:48 1930912339
>>1930725
Ну так шарп не джава, а язык в котором можно умереть от сахарного диабета. Думаю, код на нем лаконичнее чем на питоне.
> Ведь там, где я два дня матерился в джаве, в питоне я просто пару строк практически наугад написал и оно заработало.
Наведи пример задачи плез.
Аноним 05/02/21 Птн 01:41:59 1930922340
>>1930725
У меня ситуация обратная. Я блять искренне не понимаю людей добровольно идущих на питон после джавы/шарпа/плюсов(особенно после плюсов), это же конченная песочница в которой буквально все сделано за тебя и ты как макака импортишь модулей 20 и пишешь 3 строки кода. Да я js уважать стал, когда увидел что творится на питоне.
Аноним 05/02/21 Птн 02:11:58 1930942341
>>1930922
Я просто не понимаю вообще, как можно писать на игрушечной залупе, когда есть С++ или Шарпы (пишу и на том и на том).

Особенно динамически типизированной.
Аноним 05/02/21 Птн 04:33:15 1930984342
>>1930942
Шарп это такая же игрушечная залупа как и жаба, только вместо жим у неё цлр
Аноним 05/02/21 Птн 05:15:32 1930988343
>>1930984
то есть ну вот оно же быстрей жабы? и не требует кучи говнообразных jre за собой тянуть.
Аноним 05/02/21 Птн 09:42:46 1931035344
>>1930988
Требует. Принцип работы у них одинаковый, разница только в разрабе и в том что под цлр не только на шарпе писать можно
Аноним 05/02/21 Птн 11:56:05 1931133345
>>1930739
Ты случайно не про cl.exe?
Аноним 05/02/21 Птн 12:37:23 1931175346
>>1931133
>>1930739
Вы случайно не про csc (c sharp compiler), поехавшие?
Аноним 05/02/21 Птн 13:36:41 1931227347
>>1930922
>и ты как макака импортишь модулей 20 и пишешь 3 строки кода
То ли дело в шарпе, который в своем хваленом wpf графики из коробки рисовать не умеет
Аноним 05/02/21 Птн 13:49:01 1931238348
>>1931227
>wpf графики из коробки рисовать не умеет
а почему он должен это уметь?
Аноним 05/02/21 Птн 14:00:41 1931257349
>>1931238
А почему формы умеют? Может WPF еще и в кнопки уметь не будет и надо свой контрол писать?
Аноним 05/02/21 Птн 14:06:09 1931264350
>>1931257
>А почему формы умеют
а кто сказал что такой подход правильный

>Может WPF еще и в кнопки уметь не будет и надо свой контрол писать?
Кнопки это базовый функционал и нужны каждому. Более того, они нужны как "кнопки разве что с разным внешним видом" в отличие от графиков, где каждому нужно свое
Аноним 05/02/21 Птн 14:52:49 1931322351
вы че, бомжи обосанные на питон пиздите - охуенный язык
или вам так хочется велосипеды писать? Может тогда уже на ассемблере начнем писать? охуено же
Аноним 05/02/21 Птн 15:18:28 1931356352
Изучаю сишарп по слитому курсу скиллбокса. Помидоры не кидайте, как база очень даже ничего. 22 года сейчас. Есть вообще шансы вкатиться на десктоп бэкенд? При условии конечно что буду вьебывать
Аноним 05/02/21 Птн 15:33:06 1931371353
>>1931356
я понимаю, что ты хочешь услышать слова поддержки
но твой вопрос звучит так
"я вот хочу заниматься футболом, у меня получился, если я буду упорно тренироваться каждый день?"
Аноним 05/02/21 Птн 16:04:29 1931393354
>>1931356
>десктоп бэкенд
Это вообще как
Аноним 05/02/21 Птн 16:25:30 1931407355
>>1931322
>на питон пиздите - охуенный язык
вот только подходит не везде. забавно смотреть на пляски с мультипроцессностью вместо того чтобы взять любой язык без GIL
Аноним 05/02/21 Птн 16:28:53 1931411356
>>1931407
ну вот ГИЛ да - полностью согласен
Аноним 05/02/21 Птн 16:58:27 1931450357
>>1931035
да нет, ты обосрался, достаточно NETStandard.Library 2 размром пару мегабайт, без установки говнообразных 300 метровых JRE
Аноним 05/02/21 Птн 17:50:53 1931499358
Аноним 05/02/21 Птн 17:51:19 1931500359
>>1931371
У меня синдром дефицита внимания, мне сложно концентрироваться долго на определенных вещах, собственно я невнимательны и расссеяный но это касается только мелких вещей, забыл кому поставить, забыл букву написать, пропустил слово на диктанте и тп, но я слышал что в современных программах для писания кода все так умно что программа сама подсказивает тебе что писать, что забыл написать и где программист допустил.
Так какой шанс вкатиться в программирования?
Аноним 05/02/21 Птн 18:07:54 1931521360
>>1931499
стандартная поставка со всеми дистрибутивами винды, и как было сказано, один маленький файл netstandart.dll решает все проблемы, все таки dll это самостоятельная сущность, в отличие от class файлов.
Аноним 05/02/21 Птн 18:20:27 1931530361
>>1931499
Через синглфайл паблиш с триммингом он сожмёт дотнет до 10 мб и впердолит в экзешник, даже ставить ничего не надо. Это же не джавапараша, где открываешь jar-файлы рантаймом как в питоне pyc.
Аноним 05/02/21 Птн 18:46:36 1931545362
>>1931500
как человек с таким же расстройством могу сказать, что все ок
это как с нервным тиком - постарайся забыть, что он есть и перестань пропуск запятой сливать на диагноз
и все должно быть нормально
Аноним 05/02/21 Птн 18:48:07 1931547363
>>1931500
тут и не такие дауны работают
Аноним 05/02/21 Птн 20:04:31 1931611364
Всем, кто тут страдает синдромом самозванца: проведите несколько собесов, и как рукой снимет.
Аноним 05/02/21 Птн 23:21:08 1931775365
>>1931393
полагаю только впф
Аноним 05/02/21 Птн 23:56:13 1931794366
image.png 18Кб, 228x762
228x762
Сори за зелёный вопрос.
Возможно ли в .Net сделать структуру как для каждого скрипта на Питоне(пик), или для каждой программы надо делать новый проект(мейн один рабочий на проект)?
Аноним 06/02/21 Суб 07:59:53 1931961367
>>1926948
Я б с радостью, дружочек-пирожочек, но я до лета перекинулся на дроч егэ.

Нет, я не школьник, мне 30. Ага..

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

Но будет интересно посмотреть чего ты достигнешь. Напишу через год, постараюсь не забыть.
Аноним 06/02/21 Суб 08:15:29 1931967368
Аноним 06/02/21 Суб 08:17:00 1931969369
>>1931521
>>1931530
Суть в том, что там такая же среда выполнения как и у жабы.
Аноним 06/02/21 Суб 10:24:16 1932001370
.png 33Кб, 534x660
534x660
Анон, вот смотри, есть два класса, которые почти одинаковы, но у них есть различия.
Допустим, вот пример на пике это как раз та хуйня о которой я говорю.
Так вот, допустим мне хочется чтобы в наследниках я мог получить явный тип, а не интерфейc. При этом мне не нравится вот эта вот залупистика с дженериками.
Есть ли какой-то более изящный способ получить подобное поведение?

Может быть тут непонятно. Но вот реальный пример. У меня есть TCP-сервер на сокетах. На одном порту слушаются и обрабатываются одни сообщения, на другом - другие, на третьем третьи и т.д.. Я хочу иметь возможность получить явно тот тип сообщения и не париться с приведением типа. Потому я TCP серверу ебанул в параметрах женерика - тип сообщений, чтобы можно было прокинуть нужный парсер и обработчик. Но эти дженерики оч сильно раздувают код, оч тяжело читать, оч тяжело потом что-то изменять, мне хочется от них отказаться, а как - хз. Пока что я думаю о том, чтобы вообще просто уйти от наследования и просто сделать два несколько классов, которые просто повторяют частично логику друг друга, да будет копипаст, но будет и легче с этим вот работать, если что-то поменяется, я буду смогу меньше костылей использовать, потому что сейчас иногда выходят жуткие способы обойти наследование. Как второй вариант - я думаю о том, чтобы этот базовый класс уже превратить в сорт оф компонент и просто его передавать в конструкторе дочерним, а общение с ним на события повесить.
Аноним 06/02/21 Суб 10:42:20 1932006371
>>1932001
Что за говно написано? Пиши нормально блеать!
проперти -> private readonly field

По вопросу - не нравятся generic, не пиши.

По ООП:
RT rt = new AT();
Поля всегда берутся из rt, что имеется- определяет rt, а что исполняется AT.
Аноним 06/02/21 Суб 10:52:50 1932012372
Посмотрел исходники .net.
Объясните, зачем в рамках метода там часто делается что-то типа
{
TypeName foo = m_bar;
foo.Buzz();
}
Почем просто это m_bar не использовать? И должен ли я делать так в своем коде?
Аноним 06/02/21 Суб 10:57:44 1932013373
>>1931175
Да. Кто пишет на шарпах, тот знает свой компилятор.
Специально написал для того поехавшего
>на вскидку
что бы отсечь
Аноним 06/02/21 Суб 11:01:21 1932015374
Можно на ваших шарпах как-то в сишном стиле собирать код? Типа вот у меня файлики лежат, вот в той папочке - либы, я указал, слинковал и получил exe один, вместо этой кучи dll
Аноним 06/02/21 Суб 11:07:55 1932017375
>>1931794
АРРРЯРЯ мне не даёт покоя эта хуйня, не игнорите мой тупой вопрос. Я чисто из-за моего бзика пока порядка не будет с структурой не могу начать.
Аноним 06/02/21 Суб 11:28:29 1932026376
>>1930912
Вот примерно про это я писал:


import pyodbc

driver = 'SQL Server'
server = 'xxx.xxx.xxx.xxx'
database = 'Peoples'
uid = 'Кулхацкер'
pwd = 'pwd'

cnxn = pyodbc.connect('DRIVER=' + driver + ';SERVER=' + server + ';DATABASE=' + database + ';UID=' + uid + ';PWD=' + pwd)
cursor = cnxn.cursor()
cursor.execute("UPDATE Freaks set Huy = 'Pizda' WHERE Gender = Transgender")
cnxn.commit()
Аноним 06/02/21 Суб 11:30:13 1932027377
Аноним 06/02/21 Суб 11:33:00 1932028378
>>1930912
На самом деле я по началу в питоне охуевал от отсутствия жесткой типизации. Просто голова кругом идет. Но потом привыкаешь. Наверное мозг разглаживается лол
Аноним 06/02/21 Суб 11:37:14 1932029379
>>1930912
>>1932026
Т.е. понимаешь, да?
На питоне я ничего даже не написал. Просто настройки и собственно SQL запрос. У меня первая мысль была - а что тут учить то надо, какие библы импортировать штоле?

А шарпы с джавой я сравниваю чисто по синтаксису. Ну одно и то же ведь. Только на джаве я бы для этого неебическую портянку писал и еще оно бы не работало с полоборота, ебался бы два дня.
Аноним 06/02/21 Суб 12:20:57 1932057380
Сап аноны, у меня такая проблемка. Я использую в с# базы данных,
мне нужно вывести таблицу в datagridview с определенным значением, но проблема в том , что если переменная в sql запросе написана на английском, то он ее находит и выводит без проблем , а если на русском, но он нихуя не выводит, кто знает как это пофиксить?
Аноним 06/02/21 Суб 12:28:20 1932065381
>>1932017
>>1931794

Можно всё сделать через операции: прокидывать в args[] Main название операции и главу, например, Chapter_1, Exercize_8 кидаешь, все упражнения у тебя наследуются от абстрактного BaseExercize, где у тебя есть абстрактный (или виртуальный, тут как хочешь) метод Process

Отбираешь нужный класс
var operation =
Assembly.GetExecutingAssembly().GetTypes().Where(t => t.Name == args[1] && t.Namespace.Contains(args[0]) && !t.IsAbstract && t.IsSubclassOf(typeOf(BaseExercize))).Select(i => (BaseExercize)Activator.CreateInstance(i)).FirstOfDefault();

operation?.Process();

Всё это получается через рефлексию, хреново оптимизированно, но можно обойтись без кучи проектов
Ну и естественно аргументы - имя класса и неймспейс (или его часть)
Аноним 06/02/21 Суб 12:29:39 1932066382
>>1932012
Если у м_бар тип отличный от тайпнейм и базз виртуальный метод, то вызов без присваивания тайпнейм переменной будет отличаться
Аноним 06/02/21 Суб 12:45:37 1932101383
>>1932026
>сырой скл
>2к20
Ты сейчас серьезно? В шарпе конечно немножко больше надо ебаться - обьявить свои классы для модели, сделать свой контекст и указать какие в нем таблицы, но это же делается чисто для того, чтобы ты потом вместо
> UPDATE Freaks set Huy = 'Pizda' WHERE Gender = Transgender
Написал
>foreach (var freak in dbcontext.freaks.Where(t => gender == Transgender))
> freak.huy = "Pizda";
>database.SaveChanges()
И при этом шарп за тебя еще базу данных со всей моделлю, если ее нет, создаст. И при этом будет еще следить за изменением всех моделей, чтобы ты в одну консольную комманду мог синхронизировать бд модель с шарп моделью. И да, в 2к20 на шарпе даже скл можно не знать, ведь запросы пишутся на шарпе и юзают шарповые типы.
Но настройка это одноразовая, при создании проекта. В самом же коде тебе этот контекст даже создавать не нужно - просто передай его как аргумент в конструктор твоего класса-сервиса, и шарп сам создаст контекст.


А твой вариант подойдет разве что для одноразового скрипта к существующей базе данных. Но никак не к основному приложению, для которого создается бд.
Сравнение чисел из массива Husk3y 06/02/21 Суб 13:12:44 1932173384
Bia3.png 355Кб, 980x756
980x756
Вкатился в СиРешётка и решил проверить смогу ли сделать самый простой квест.
Условно есть параметр "удача на побег", обозначен массивом int[] luck = { 0, 0, 0, 5, 6 };, который в процессе игры может меняться каким либо предметом, повышая параметр.
Сам он работает так - бросается игровая кость АКА рандомное число переменной dice от 1 до 6, если значение из массива равно значению на игральной кости, то игрок сбегает.
Проблема: не могу понять как сравнить значения в массиве со значением переменной.
Пробовал через for (int i = 0; i < length; i++); { if (dice == luck; ... }, но значение i всегда было равно 0.
Сейчас сделал через сравнение каждой отдельной переменной в массиве - if (dice == luck [0] || dice == luck [1] || ... || dice == luck[5])
, но есть же по-любому способ компактнее это сделать
Аноним 06/02/21 Суб 13:23:51 1932191385
Аноним 06/02/21 Суб 13:24:29 1932195386
Аноним 06/02/21 Суб 15:23:22 1932291387
Аноним 06/02/21 Суб 16:01:50 1932321388
>>1910324 (OP)
Please help.
Если ли какой нибудь способ описать группу элементов на xaml, а потом в том же ксамле вставлять что-то типа <myGroup></myGroup> несколько раз
Аноним 06/02/21 Суб 16:09:43 1932326389
>>1932173
>for (int i = 0; i < length; i++); { if (dice == luck; ... }
Точка с запятой не нужна, т.к. это означает, что ты закончил описание цикла. То есть следующий блок кода в { } расценивается как отдельный блок со своей зоной видимости и не более.
В твоём случаи, можно сделать либо так:
for (int i = 0; i <luck.length; i++){
if(luck == dice){
//побег
}
}
Либо можно воспользоваться этим https://docs.microsoft.com/ru-ru/dotnet/api/system.array.exists?view=net-5.0

Но первый это самый очевидный способ и он не содержит в себе никаких недостатков, помимо того, что занимает 5 строки кода, место 2 или 1
Аноним 06/02/21 Суб 16:13:53 1932329390
>>1930739
Это называется исполняемым файлом. В случаи C# это сборка, которая без .net не запустится. А .net нужен как раз потому, что там интерпретируемый код.
Аноним 06/02/21 Суб 16:41:38 1932349391
Есть ли адекватный способ передать в partial свойство с метаданными? Поясню, например через Html.EditorFor(model=>stringProperty) в темплейте я могу использовать asp-for тэги, и все отобразится с учетом атрибутов повешенных на проперти во вьюмодели. Но если я такое сделаю с <partial model="stringProperty", то меня пошлют нахрен.
Аноним 06/02/21 Суб 16:54:19 1932355392
>>1932349
Отбой, надо сначала доки посмотреть, а потом уже на двач идти.
Аноним 06/02/21 Суб 17:23:36 1932382393
Аноним 06/02/21 Суб 17:28:49 1932388394
>>1932355
>>1932349
А нет, хоть используя <partial for="stringProperty"...> оно меня и не шлет нахер, но Display(Name="Foo") на проперти оно не учитывает.
Впизду это ваше программирование
Аноним 06/02/21 Суб 18:05:27 1932418395
Кто волокет в TCP и портах подскажите. Вот слушаю м пишу я сокетом в порт. Порт то мне для своей программы как выбрать? Тупой из головы любой? Но ведь он может быть занят уже другим приложением каким то, как тут быть, чот не одупляю совсем
Аноним 06/02/21 Суб 18:34:57 1932435396
>>1932418
Ну так тебе порт надо выбрать для сервера, на который будут стучаться клиенты. А сервер тебе подконтролен. Но очевидно не стоит выбирать порты, которые используют популярные приложения и системные (<1024).
Аноним 06/02/21 Суб 18:51:43 1932446397
>>1932329
О как.
Значит .net это, грубо, то же самое, что и джавовский jdk, а равно и сам собственно пайтон? Я сейчас в том смысле, что сначала на чужой комп надо поставить что то, что бы твоё творение там работало?
Аноним 06/02/21 Суб 18:52:26 1932449398
Аноним 06/02/21 Суб 19:00:18 1932453399
>>1932446
В коре можно компилировать в self-contained под конкретную платформу и тогда прога будет включать в себя и рантайм и сможет запускаться безо всего.
Аноним 06/02/21 Суб 19:18:32 1932486400
>>1932435
>А сервер тебе подконтролен
Но, на нем же дохуя всякого барахла еще крутится, мне у каждой проги гуглить, какой порт она юзает? А если я написал охуенное приложение, которое все покупают и используют? Тогда ведь их сервера мне не подконтрольны.
Аноним 06/02/21 Суб 19:31:36 1932521401
Аноним 06/02/21 Суб 20:01:37 1932568402
>>1932486
>на нем же дохуя всякого барахла еще крутится
Ну вбей в гугл 'check if port free %OS%' и проверь свободен прт или занят. Плюс можно на вики посмотреть
https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BF%D0%BE%D1%80%D1%82%D0%BE%D0%B2_TCP_%D0%B8_UDP
>А если я написал охуенное приложение, которое все покупают и используют?
Подай заявку в IANA https://www.iana.org/form/ports-services, и другие смогут нагуглить что этот порт использует hellowrd Пупкина.
>Тогда ведь их сервера мне не подконтрольны.
Но тогда и айпи тебе не подконтрольны, а значит надо клиенту где-то указывать IP, тогда там можно и порт попросить указать.
Аноним 06/02/21 Суб 20:13:04 1932577403
>>1932568
>а значит надо клиенту где-то указывать IP, тогда там можно и порт попросить указать.
Да, и вот потом клиенты будут в тп обрывать телефоны, какой порт писать. Почему 555 не работает, ряяяя.
Вот в промышленности проще с этим. 502 - modbus tcp и все. Хоть и можно порт указывать в программах, но никто этого не делает, есть уже выделенный
Аноним 06/02/21 Суб 20:29:10 1932589404
>>1932577
>Да, и вот потом клиенты будут в тп обрывать телефоны, какой порт писать. Почему 555 не работает, ряяяя.
Так это проеб админа, если у него серв слушает 15000 порт, а клиентам сказал подключаться на 17000. Тут уж какой не выберешь порт можно поломать. А вдруг ты выберешь порт ххх, а он у кого-то фаерволом заблочен? В общем ты пытаешься решить проблему, которой нет.
Аноним 06/02/21 Суб 21:10:32 1932638405
>>1932521
Но тогда получается, что существует только один высокоуровневый православный язык - дважды крест
Аноним 06/02/21 Суб 21:19:10 1932646406
>>1932638
Поучу ка я пока алгоритмы с паттернами по будням. И какой-нибудь godot по выходным. Не буду привязываться к синтаксисам пока, авось, кто то и захватит мир окончательно и бесповоротно. Плюсы учить нунахуй
Аноним 06/02/21 Суб 22:37:49 1932690407
>>1932638
Если ты про компилируемые, то как минимум go и rust ещё
Аноним 07/02/21 Вск 16:31:48 1933354408
Хочу начать изучение c#, но столкнулся с проблемой. Тут есть версии же, с какой начать изучение? А если будет легаси год, то придётся и старые версии знать? Может кто пояснить за версии. И вообще, как язык сам по себе: трудный, лёгкий? Сажусь за него онли ради бабок, т.к. на заводике нужен шарпист + ms sql разраб. Оклад ахуенный для моей мухосрани.
Аноним 07/02/21 Вск 17:07:35 1933391409
>>1933354
> шарпист + ms sql разраб
Не переживай, тебя всё равно не возьмут.
Аноним 07/02/21 Вск 17:08:05 1933392410
Аноним 07/02/21 Вск 17:09:39 1933394411
>>1933392
Кодить СУБД - это помимо шарпа нужно СУБД матчасть знать. Туда ты так легко не вкатишься. Это тебе не формошлёпство на ВПФ.
Аноним 07/02/21 Вск 17:17:35 1933404412
>>1933394
Так его же не на разработку аналоговнетной СУБД берут, а хранимки на 2.5 select писать
Аноним 07/02/21 Вск 17:20:10 1933409413
>>1933394
эта вакансия на производственном предприятии - на заводе)) ты думаешь, там будет овер ебейшая разработка блять?
Аноним 07/02/21 Вск 17:33:05 1933420414
>>1933354
>Тут есть версии же, с какой начать изучение?
Спроси у заводчан. Ты же, наверно, не единственный там программист (а если единственный - сочувствую). Какую версию дадут - такую и изучай. Если ты в свободном полете, то изучай сразу .NET 5.
На самом деле, с фреймворка на кор и обратно можно пересесть за неделю-две, они во многом похожи. А для дроча всяких циклов-ветвлений в процессе обучения разницы между ними вообще нет.
>И вообще, как язык сам по себе: трудный, лёгкий?
Примерно средний. Местами может быть не очень понятным (например, со ссылочностью типов), но когда начинаешь о языке иметь представление - он становится охуенно удобным и понятным.
Алсо, если нет опыта программирования - не рассчитывай, что даже через месяц интенсивной учебы сможешь писать хороший код. По-нормальному нужно уделять на учебу пару месяцев, и желательно еще ментора иметь хотя бы на работе, но я хз, как у тебя с этим дела обстоят.
Аноним 07/02/21 Вск 17:51:00 1933437415
>>1933409
> на заводе)) ты думаешь, там будет овер ебейшая разработка блять?
Ну сходи. Посмотрим как быстро скобачьки с твоей рожи слезут.
Аноним 07/02/21 Вск 18:18:47 1933473416
>>1933354
> с какой начать изучение?
С второй. Раз уж так о легаси волнуешься.
А вообще с любой на самом деле, разница там не так велика.
> А если будет легаси год, то придётся и старые версии знать?
Что это значит? Версии языка отличаются в основном тем что тут мы можем написать array[1..5] а там - не можем, тут у нас есть рекорды, а там - нету.
> Может кто пояснить за версии
https://docs.microsoft.com/ru-ru/dotnet/csharp/whats-new/csharp-version-history
> И вообще, как язык сам по себе: трудный, лёгкий?
Если говорить о том, чтобы сесть и что-то работающее написать - легкий(я сравниваю с сишечкой и асмом, которые были в универе). Если начать копаться в кишочках, то любой язык - сложный.
Аноним 07/02/21 Вск 18:26:44 1933486417
>>1933437
Лол, ты серьезно думаешь, что на заводе, где ВЕДУЩИЙ ПРОГРАММИСТ, обычно получает что-то в районе 60к-80к - какой-то адовый отбор и дроч?
Я вот когда в вузе диплом писал, как раз проходил практику на заводе, так вот, за время практики на всего пришли 5 человек, 4 из которых впервые вообще ИДЕ видели и по образованию эт были прикладные математики, ну и хули, дали им книжку, интернет - за месяц изучите, через месяц мы вам придумаем какую-нибудь работу, справитесь - возьмем на постоянку. Никого, блядь, не отсеяли, даже тех кто не справился с элементарными задачками - послали в сисадмины, кек.
Аноним 07/02/21 Вск 18:43:18 1933499418
>>1933420
>Спроси у заводчан.
Я там ещё не работаю. Я пока планирую изучить C# потому что он там требуется, C/C++ как плюс, но не обязательно вообще. Просто знаю что там требуется такой чел, а в моей мухосрани людей, знающих, что такое C# максимально минимальное.
>>1933437
>Посмотрим как быстро скобачьки с твоей рожи слезут
А ты чего такой обиженный то? Опять дропнули на собеседовании из-за того, что ты не можешь жопку свою продать? Ну не расстраивайся, как через полгодика-год обучения шарпа, устроюсь на заводик, напишу тебе, будешь стажироваться у меня под столом.
Аноним 07/02/21 Вск 18:47:09 1933504419
>>1933486
Работал на крупном уральском медзаводике, чтобы твое резюме на разраба просто посмотрели нужно иметь профильную вышку и от двух лет опыта работы.
Аноним 07/02/21 Вск 18:58:34 1933511420
>>1933499
>через полгодика-год обучения шарпа, устроюсь на заводик, напишу тебе, будешь стажироваться у меня под столом

классные у тебя розовые очки
мимо чел
Аноним 07/02/21 Вск 19:03:45 1933519421
>>1933511
Это не у меня розовые очки. Это у тебя и таких, как ты - серые. Вы думаете, что надо хуеву гору времени потратить, чтобы найти нормальную работу.
На своём опыте убедился, что сами знания в программировании решают процентов на 25 при трудоустройстве. Остальное это наглость, уверенность, чувство юмора и умение найти и решить то, чего ты не знаешь и не понимаешь и самое главное понять, как это работает и запомнить. Всё.
Аноним 07/02/21 Вск 19:14:28 1933540422
>>1933519
>наглость, уверенность, чувство юмора
блин, такие каждый день приходят
а вот
>сами знания в программировании
не дождёшься

нахер не нужен чел, который "умеет найти"
есть задачи. и решать их надо вот сейчас.
Аноним 07/02/21 Вск 19:30:45 1933566423
>>1933519
>Вы думаете, что надо хуеву гору времени потратить, чтобы найти нормальную работу.
Для большинства людей так и есть. Каждый знает хотя бы одного человека, который с шутками-прибаутками, не зная совершенно нихуя, спокойно устраивается куда захочет. Проблема в том, что эта стратегия работает только у него, а всем остальным шутки на собесах ничего не дают. Там, где взяли одного шутника - завалили сотню не менее компетентных людей, которые не наглость и уверенность поможет, а только бог.
мимо
Аноним 07/02/21 Вск 21:24:23 1933657424
16110797950370.jpg 164Кб, 1200x675
1200x675
Сап шарп. Есть один екзешник на винформах, я его декомпильнул dotpeekером, но сами формы в проекте пустые, а в исходниках весь код не в дизайнере формы, а в самом конструкторе что то типа form.Add(button1).
Есть ли декомпиляторы которые сразу могут накидать дизайнер формы или какие-то инструменты скрипты которые могут это пофиксить?
Аноним 08/02/21 Пнд 10:20:23 1933967425
>>1933519
Молодец, первый этап с рекрутёршей пройдешь. Завалят на техсобесе и все по новой.
Аноним 08/02/21 Пнд 14:37:18 1934258426
>>1933519
Кстати у нас например если кандидат дохрена либиться таких даже не рассматривают, улыбнуться им в ответ и скажут мол "мы перезвоним", у хорошо программиста всегда ощущается проффДрифт на характере, самые охуенные програмисты нихуя не ладят с людьми, черты программиста отражаются на харатере и это уж точно не "умение шуточки шутить и либиться на все зубы" хочешь шуточки свои ебаные шутить пиздюй в бугалтерию к тете Любе
Аноним 08/02/21 Пнд 17:05:24 1934466427
Суууукааа.
Какой же ебанутый сатанист пидарас придумал ef дб контексты просто пиздец я ебал (ловлю дб лок при попытке создать контекст в контексте, как его обойти не ебу, т.к. у меня ебанутый код (но автор все равно гомосексуалист)).
Аноним 08/02/21 Пнд 17:19:34 1934487428
Посоветуйте не скучную WPF либу для фронта и дефолтных элементов.
Material design?
Аноним 08/02/21 Пнд 19:26:48 1934664429
Аноним 08/02/21 Пнд 19:49:32 1934685430
>>1934466
Покажи что ты и где пытаешься сделать. Нихуя непонятно.
Да и вообще, что в ЕФ-то может быть сложного? Прописал сеты, прописал как мапить. Все, пользуйся.
Аноним 08/02/21 Пнд 20:10:17 1934718431
public List<IncomeModel> PartsOfMhiAmount { get; }
public MhiPerIncome()
{
Remainder = 0;
IncomeAmount = 0;
PartsOfMhiAmount = new List<IncomeModel>();
}

Почему последняя строка нормально работает в VS 2015, а в старых версиях выдается ошибку "PartsOfMhiAmount is read-only" ?
Аноним 08/02/21 Пнд 23:07:56 1934906432
>>1934718
дэк у тебя только get; стоит, он только для чтения то и доступен
Аноним 09/02/21 Втр 00:27:25 1934966433
Поясните, я ничего не понимаю - есть WPF, я ставлю датагрид, делаю байндинг на дататейбл. И я хочу сделать чтобы можно было удалять выделенную строку или колонку. Как это сделать?
Я могу забайндить СелектедАйтем, потом найти его строку или колонку в дататейбле, а потом удалить их. Но это хуйня какая-то, совсем неэффективно, особенно если таблица большая. Если бы я мог сделать байндинг на номер колонки и строки например - все было бы намного проще, но я могу сделать бацндинг только на номер колонки - а на номер строки никак.
Аноним 09/02/21 Втр 09:49:12 1935055434
>>1932013
Ты из 3 букв 3 написал неправильно, чтоб кого-то там проверить?
Ты ебнутый
Аноним 09/02/21 Втр 09:57:04 1935057435
>>1932101
Ты тралишь? После таких как ты все говорят, что ЕФ тормозит
Аноним 09/02/21 Втр 12:59:11 1935145436
>>1934906
Так в конструкторе как раз вроде можно записывать значение в переменную для чтения
Аноним 09/02/21 Втр 14:15:08 1935258437
image.png 657Кб, 1280x720
1280x720
Почему статик плох если он занимает меньше места в памяти и времени процессора чем не статические члены и методы? почему не делать статиком все что можно?
Аноним 09/02/21 Втр 14:25:54 1935279438
>>1935258
Он не занимает меньше места, более того, если ты не всегда используешь статичный класс, то сделав его не статичным ты сэкономишь оперативную память.
>почему не делать статиком все что можно?
А если тебе нужно n экземпляров каждый из которых будет хранить своё состояние?
Аноним 09/02/21 Втр 14:30:41 1935286439
>>1935279
>Он не занимает меньше места
Он занимает столько же но не повторяется в отличии от не статиков

>А если тебе нужно n экземпляров каждый из которых будет хранить своё состояние?
это случай когда можно не использовать статический класс, ко всех
Аноним 09/02/21 Втр 14:59:01 1935318440
>>1935286
>Он занимает столько же но не повторяется в отличии от не статиков

Ну вот я тебе и привел пример в котором твой статик будет занимать больше места. Допустим у тебя в программе есть условие и выполняется оно раз в сутки, после выполнения идёт вызов метода класса. Ты этот класс сделал статичным, т. е. он у тебя занимает n места на протяжении работы программы. Кто-то его сделал не статичным и он у него занимает n места только один раз за сутки.
Теперь представь, что таких классов нужно не 1, а несколько тысяч. Если сделать их всех статичными, то тебе может не хватить места для того чтобы программа работала, при этом во втором случае достаточно распределить ресурсы оптимальным образом для того чтобы всё работало. И если даже тебе хватит места для хранения тысячи статичных классов, то все у тебя будут спрашивать, почему твой вариант с статичными классами постоянно жрёт несколько гигов оперативной памяти, а другой вариант без статичных классов потребляет в разы меньше в любой промежуток времени.
Аноним 09/02/21 Втр 15:15:41 1935349441
>>1910324 (OP)
Сап програмач. Только что не перезвонили после тестового. Сказали что по функционалу всё ОК, а арохитектура как у уебана.
Где можно щаблон проекта ASP,NET MVC Core красивый найти. Ну и что по архитектуре почитать?
Аноним 09/02/21 Втр 15:18:29 1935357442
>>1935349
По архитектуре любая книга Роберта Мартина. По шаблонам - гитхаб
Аноним 09/02/21 Втр 15:20:07 1935361443
>>1935357
>По шаблонам - гитхаб
Не посоветуешь годный какой? Не все же подряд перебирать.
Аноним 09/02/21 Втр 15:23:38 1935372444
>>1935357
И еще вопрос, у Мартина Песнь льда и пламени Чистый код почитать?
Аноним 09/02/21 Втр 15:23:41 1935373445
>>1935361
Лучший способ попросить ьу них ознакомиться с исходным кодом, потому что все зависити от того как ПРОЕКТИРУЮТ они, у меня часто бывало что прихожу мне говорили архитектура говно, делаю как у нас, начала делать, прошло время, прихожу к другим, то же самое, архитектура говно делай как у нас, у всех свои мерки, свои конвенции, поэтому изучи их код и подстройся к их конвенциям
Аноним 09/02/21 Втр 20:44:55 1935855446
>>1935258
Даже если бы статик в твоей программе давал буст по памяти/времени (которого обычно в лучшем случае нет, в худшем - от статика идет убыток), то ты бы все равно его не использовал, потому что если это так - то у тебя требования к производительности настолько дикие и код настолько низкоуровневый, что ты должен не статики хуячить, а unmanaged код.
А плох статик потому, что он с солидом не совместим от слова "совсем" и поощряет написание адского быдлокода, который невозможно ни поддерживать, ни расширять. Используй правильные скоупы в IoC-контейнере и не выебывайся.
Аноним 09/02/21 Втр 20:57:32 1935874447
>>1935373
Два чаю. В каждой конторе считают свой подход к проектированию самым правильным, остальные пишут говнокод
Аноним 09/02/21 Втр 22:17:24 1935980448
Аноним 09/02/21 Втр 22:22:20 1935984449
>>1935980
Чистый код подойдет, есть еще принципы и паттерны гибкой разработки там примеры кода прям на шарпе.
Аноним 10/02/21 Срд 11:29:22 1936360450
>>1935855
А чем плох низкоуровневый код, ведь если обработать логику кеширования и удаление не нужных статиков тогда это будет буст производительности на пордяки по сравнению с солидным кодом
Аноним 10/02/21 Срд 11:54:01 1936383451
image.png 63Кб, 1452x663
1452x663
Я все правильно сделал?
Аноним 10/02/21 Срд 12:00:34 1936392452
>>1935145
ебани private set и не еби мозг
Аноним 10/02/21 Срд 12:02:20 1936395453
>>1936360
>А чем плох низкоуровневый код
Ничем. Просто C# - язык высокоуровневый и применяется чаще всего именно для высокоуровневых задач. И если ты пишешь условное приложение для десктопа, оптимизируя каждый бит в памяти - ты хуйней занимаешься вместо разработки своего приложения. Реальность такова, что требуются фичи и багфиксы, а не оптимизация всего подряд.
Конечно, есть задачи, когда оптимизация кровь из носу как нужна, но даже там не пишут все через статики, ибо:
>удаление не нужных статиков
Ты как себе это представляешь? Статики по определению не могут наследовать IDisposable и потому статический инстанс не удаляется ни GC, ни руками. Про кеширование тоже непонятно - статик у тебя висит всю программу, от запуска до выхода. Че ты там кешировать собрался?
Короче, прочитай, что такое статики вообще, и вопросы отпадут. И бога ради, не превращай код в говнину лишними статиками. Если тебя волнуют вопросы оптимизации - всегда есть unmanaged код, который C# поддерживает.
Аноним 10/02/21 Срд 12:10:03 1936400454
>>1936395
>удаление не нужных статиков
просто удаляешь не нужные данные из класса и оставлфяешь статик пустым, все, он не занимает места, практически.
>требуются фичи и багфиксы
зачем фиксить если можно писать быстрый код без багов?
>не превращай код в говнину лишними статиками
какая разница что код не читабелен и выглядит как спагетии, главное что бы все работало быстро и что бы ты мог в этом ориентироваться, а если надо будет что-то дописивать, ну так пусть заплатят мне денешку а не будут искать какого-то говноджуна или прости господа индуса потмоу что они тупо не смогут понять что там написано
Аноним 10/02/21 Срд 12:19:12 1936406455
>>1915627
ересь, ты про rest api вообще слышал?
Аноним 10/02/21 Срд 12:29:08 1936416456
>>1936400
>просто удаляешь не нужные данные из класса и оставлфяешь статик пустым, все, он не занимает места, практически.
Ебнуться можно. Ты вообще представление о том, как в C# работает память, имеешь?
>зачем фиксить если можно писать быстрый код без багов?
Напиши 10к строк статиками, посмотрим, как мало у тебя будет багов.
>какая разница что код не читабелен и выглядит как спагетии
А такая, что если тебе понадобится кому-то код показать или посмотреть его самому спустя год - ты знатно охуеешь.
>главное что бы все работало быстро
Опять же, в лучше случае разницы с человеческим подходом не будет, в худшем (и самом распространенном) случае статики производительность отнимут.
>а не будут искать какого-то говноджуна или прости господа индуса
Ты случайно не помогал писать программу для голосования в Москве? А то звучишь как бюджетник с соответствующей квалификацией.

Заебал, короче. Если тебе реально интересно за производительность - читай Рихтера и MSDN, спойлер: статиков там нет. Если тебе хочется просто набыдлокодить максимально мерзкий код - вперед и с песней, сам же говна поешь за обе щеки из-за этого.
Аноним 10/02/21 Срд 12:34:26 1936424457
>>1936416
>Ебнуться можно. Ты вообще представление о том, как в C# работает память, имеешь?
ответь за вброс

все что ты написал не валидно и я уже на это отвечал
Аноним 10/02/21 Срд 13:03:21 1936487458
>>1936424
я мимокрок.
конечно можно обнулить поля в статик классе, только это будет уже говнокод.

даже в какой то книжке по чистому коду рекомендуется для задачи создать граф объектов и потом новый граф для нового случая, а старый позволить скушать GC, а не делать методы типа Init(newState) пытаясь сэкономить на "ну у нас же все уже есть, только немного подменить новыми данными".

Лично у меня такие статитки допустимы только в разном кешировании при кодогенерации, правда обнулять их нет смысла, ведь они кеш
Аноним 10/02/21 Срд 13:06:20 1936497459
>>1936487
а в чем выражается степень "говнокодства"? если это работает быстрее чем создание новых не статических екземпляров разве это можно считать говнокодом?
Аноним 10/02/21 Срд 13:12:20 1936512460
>>1936497
В возможном нарушении инвариантности класса, что нежелательное явление.

Конечно может работать без побочных эффектов - мы ведь знаем про "чего где когда вызываем обнуляем". Но и метод на 10к строк может работать идеаьно - однако это говнокод.

Код должен стараться быть стабильным по максимуму не заставляя тебя помнить про возможные побочки
Аноним 10/02/21 Срд 13:21:35 1936540461
Есть коллекция, тип - абстрактный класс. В коллекцию пихаю экземпляры классов-наследников. Сериализую в жсон.
Но десериализовать Newtonsoft Json не хочет по понятным причинам - у него нет сведений о том, куда запихивать элементы этой коллекции, а в абстрактный класс нельзя.
Есть два стула. 1) создать конвертер, который указывает каждому экземпляру его тип
2) использовать не List, a ArrayLIst.
Что выбрать?
Аноним 10/02/21 Срд 13:25:44 1936546462
image.png 268Кб, 817x382
817x382
>>1936512
что лучше, код который заставляет тебя писать документацию и описивать функционал но который работает быстрее и который требует от клиента что бы с ним работал только ты, или пикрил который работает медленно, который может написать даже дедушка с деменцией но зато все согласовано с современними подходами к программированию?
Аноним 10/02/21 Срд 13:26:14 1936549463
>>1936540
ну обычно если десериализатор видит IList<>, то он создаст List или что там у него задумано под этот случай
потому лучше конкретные типы в месте десериализации.
Вдруг сменишь жсон либу и будет ай
а конвертер для такого случая геморно писать
Аноним 10/02/21 Срд 13:29:33 1936553464
>>1936546
>но который работает быстрее
насколько быстрее? На 1% в лучшем случае? Насколько это оправдано?
Так что очевидно второе. Это и быстрее и в разы надежнее. И даже если вдруг нужно будет оптимизировать, то в 99.99999% случаев это будут не статики, которые не дадут ни капли в оптимизацию
Аноним 10/02/21 Срд 13:35:57 1936556465
>>1936546
> и который требует от клиента что бы с ним работал только ты
Вот это самое главное
Аноним 10/02/21 Срд 13:36:18 1936558466
>>1936553
для пользователя речь идет не о процентах, а о секундах, потому что там ответ на 1 процент быстрее, там один, там на процент быстрее, и в итоге это выливается в ответ конечному пользователю на милисекунды или даже для требовательных проектов и на секунды быстрее, про такие веди как тепловые и енергетические потери я вообще молчу, и это если предположить что реально на один процент, но в реальности будет от 0 до нескольких процентов быстрее, иногда и на порядок процетнов быстрее
Аноним 10/02/21 Срд 13:37:27 1936559467
>>1936556
Это тоже конечно очень важный фактор
Аноним 10/02/21 Срд 13:41:49 1936564468
>>1936558
ты же даже не знаешь как сборка мусора работает, как ты вообще можешь судить о производительности, шиз ебучий
Аноним 10/02/21 Срд 13:42:38 1936566469
>>1936558
обычно это выливается в конечному пользователю в "ваще не вижу разницы" (потому что статик vs не-статик никогда не было hotpath) и в колоссальную разницу в сопровождении проекта для любителя преждевременных оптимизаций и экономий на спичках.

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

Аноним 10/02/21 Срд 13:47:25 1936573470
>>1936546
>пикрил
>браузер

Но ведь на твоём пикриле не браузер, а обычный говнокод который выводит в консоль текстовое представление страницы находящейся по адресу http://data.pr4e.org/page1.htm

Это хорошо отражает суть тех кто пишет на петухоне - они даже не понимают что конкретно делает их код.
Аноним 10/02/21 Срд 13:47:35 1936574471
>>1936566
пошли маняманевры
>"ваще не вижу разницы"
>какие нужно иметь кривые руки
> Тут 100% дело будет в другом, нежели в этом.

а
>колоссальную разницу в сопровождении проекта
ага, меньшие потери на харвере и большие зарплаты програмистам, вот жуть да?
Аноним 10/02/21 Срд 13:51:06 1936586472
>>1936573
Я это кинул именно как пример СОЛИД ПИТУХОВ, потому что этот код стандартам "высокоуровневых програмистов" верх совершенства, понаподключал библиотек, сделал инициализации, написал несколько рандомных кодов и бегут на борду мерятся у кого меньше строк получилось при это понятие не имея что там твориться внутри этих библиотек
Аноним 10/02/21 Срд 13:52:35 1936589473
>>1936586
Ты не понимаешь что такое СОЛИД.
Аноним 10/02/21 Срд 13:55:43 1936597474
>>1936589
я понимаю что такое солид, это солид питухи не понимают что такое солид, для них если "многа кода" ТО ЭТО СРАЗУ ГОВНОКОД
Аноним 10/02/21 Срд 14:03:36 1936624475
>>1936574
>пошли маняманевры
какие еще маняманевры

я задам прямой вопрос
ЗА СЧЕТ ЧЕГО БУДЕТ ВЫИГРЫШ В СТАТИКАХ?
GC можешь даже не упоминать - сразу разобью в хлам. Скорость поиска по таблице методов? - ну такое бывает с виртуальными с методами (небольшая разница).
Проблема поиска методов при дженериках (о которой знают вообще единицы) в данном случае одинакова для статиков и нет

так в чем выгода то? где ты секунду набираешь?

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

и оптимизация пути выполнения дает много

но это не про статики

Аноним 10/02/21 Срд 14:11:07 1936645476
>>1936597
Ну так на твоём пике с браузером и есть говнокод. А солид как раз не обязательно приводит к уменьшению кода, а чаще наоборот, потому что его предназначение это облегчение поддержки, расширения и использования данного кода, а не сокращения количество написанных строк.
Аноним 10/02/21 Срд 14:27:11 1936682477
>>1936624
Тем что не надо каждый раз создавать новые екземпляры класса, ждать пока система зарезервирует место в памяти для них, ждать конструкторов и тп, ты заполняешь существуюзий и уже аллоцированый класс данними, и так же быстро их читаешь, разница конечно не секунда, но по ходу работы программы большой проект может обращаться к классам сотни и тысячи раз, и какждый раз будет ждать ответа пока не пойдет дальше, все эти потери будут сумироваться и в итоге выльются в ощутимие милисекунды,

>основную нагрузку делает выполняемый код, который что-то делает неоптимально
и что? нужно сделать алгоритм оптимальный и дальше заниматься архитектурними и системними оптимизациями, использовать низкоуровневый код где это возможно работать непосредственно с устройствами, а не использовать какие-либо универсальние библиотеки с кучей заплаток
Аноним 10/02/21 Срд 14:35:16 1936690478
>>1936682
>что не надо каждый раз создавать новые екземпляры класса
>ты заполняешь существуюзий и уже аллоцированый класс данними, и так же быстро их читаешь
Тут есть такая тонкость. Статические классы нельзя инстанцировать. Что ты будешь делать если тебе нужно будет 2 экземпляра твоего статического класса с разным внутренним содержимым?
А если у тебя статики только там где "гарантированно не нужно 2 инстанса" то чем такой статик отличается от такого же "создали 1 инстанс и юзаем получая все плюшки ООП и DI до кучи)????

Ну а так то - Если по какой то причине аллокация создает проблемы, то вводим кеширование ака "пул объектов". Но это уже оффтоп, потому что статик класс не может заменить то, где нужно 2+ инстансов единовременно.

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

Аноним 10/02/21 Срд 14:38:58 1936693479
.jpg 10Кб, 325x320
325x320
>>1936682
>ты заполняешь существуюзий и уже аллоцированый класс данними
DI аллоцирует класс в начале программы и заполняет его данными по мере использования, если че. Прям как статики
мимо
Аноним 10/02/21 Срд 14:55:19 1936713480
>>1936690
Изначально я просто спросил почему народ не использует статики там где можно, и не пойми меня не правильно я не считаю статик что это решение всех проблем,я просто пишу что по возможности код должен работать быстро настолько это возможно а не быть читабельным настолько что бы тебя мог заменить школьник который учил программирование на ютубчике, из за как мне кажется не верного подхода к программированию производительность кода постоянно уменьшается, и в сраном 2021 году на 16 ядерном проце жду 5-10 секунд пока откроектся ебучая фотография на этой ебучей десятке, я понимаю что расширения фотографий уже не то что было 10 лет назад, и все дела, но бля
Аноним 10/02/21 Срд 14:57:38 1936718481
>>1936713
Не бомби чел, сначала Гейтс должен проверить нет ли часом на пикче цп, а потом только тебе позволят самому посмотреть
Аноним 10/02/21 Срд 15:21:28 1936739482
>>1936713
>спросил почему народ не использует статики там где можно,
очевидно потому что статики ограничивают свободу. их нельзя создать 2 экземпляра, нельзя интерфейсы, нельзя нормально очистить просто забыв о них, нельзя замокать в тестах, нельзя заменить на другую реализацию
по факту "все статики" это процедурный подход в противовес которому и был рожден ООП со всеми его плюшками.

> и в сраном 2021 году на 16 ядерном проце жду
не буду спорить. сам в шоке от этого. потому что пишут "(матерится ж низзя) и в продакшен" для простых решений берут мегалибы. Только дело не в статиках же, а в засилье говнокодеров которым важно быстро написать и продать, и "пусть пользователь покупает новый девайс".
Аноним 10/02/21 Срд 15:28:24 1936747483
>>1936739
>очевидно потому что статики ограничивают свободу
Ответ который я ждал
>потому что пишут "(матерится ж низзя) и в продакшен
сейм
Аноним 10/02/21 Срд 21:14:00 1937039484
Платиновые вопросы:
1) Есть один проект который работает на локальной базе .db sqlite+ef. Могу ли я как-то на линуксе захостить саму базу, подключить к ней "клиент" и не ловить при этом database locked?
2) Какой сейчас на торрентах лучший обфускатор?
Аноним 10/02/21 Срд 21:19:08 1937046485
Аноним 10/02/21 Срд 21:38:08 1937068486
Зачем учить C#, если один ху*й потом JS дрочить придется?
Аноним 10/02/21 Срд 23:24:36 1937165487
>>1936383
Троллишь?
Во-первых. Нахуя тебе вложенные классы?
Во-вторых. Че ты там за хуйню наделал, что коструктор может вернуть null, Ты ебанутый?
В-третьих. Нахуя тебе массив как свойство? Вот серьезно.
В-четертых. За строку длиннее 100-120 символов - пиздят.
Аноним 10/02/21 Срд 23:39:34 1937177488
>>1935258
> почему не делать статиком все что можно?
Потому что такой код трудно расширять и поддерживать. При этом ты не можешь нормально его тестировать. Все вот так вот просто.
Вот давай представим. Тебе нужно сделать туду лист. Тебе изначально так задачу и поставили. Ты, допустим, таки сделал его для консоли. Тебе говорят - ты че, ебанутый, нужно ГУЙ. Ты делаешь гуй. Уже будут проблема со статикой, ну, допустим ты таки уже тут не понял, что затея провальна. Все всем нравится. Но пользователь А - хочет использовать SQLite, пользователь B - хочет чтобы оповещения были на почту, пользователь C - чтобы это все работало в браузере, а D - робко просит добавить возможность кастомизации гуя через CSS. Вот как думаешь, справишься с этими требованиями, если хучил статикой?
Я сам - пользую статику внутри библиотек, типа мне вот все еще кажется, что запилить свой ThrowIfNull - лучше, чем эти ?? ебашить везде. Ну и экстеншин методы без статики не сделаешь, а не всегда есть доступ к исходникам или не хочется делать обертку, ибо многословно выходит. Но все равно, зачастую статика влечет за собой код, который оч сложно поддерживать, он похож на спагетти, когда ты из рандомных мест дергаешь рандомные функции, когда ты не можешь нормально чет поменять, в одном месте не трогая в другом. Короче, статика, не для ютилити(и то в рамках библиотеки), констант и экстеншинов - такое себе.
Ну и самое главное. Нужно понимать, что программисту платят не из-за того что он может решить задачу здесь и сейчас, а за то что он может решить задачу так, чтобы в будующем другие программисты могли это дело расширять, дополнять функционал и поддерживать. Просто нахуячить решение и домохозяйка в состоянии, а сделать код пригодным к переиспользованию, расширению и модификации - уже нужно чуть больше чем освоить базовый синтаксис и быть способным в простейшую логику.
Аноним 10/02/21 Срд 23:48:45 1937182489
>>1934718
Потому что автосвойства появились позже, а старые версии не поддерживают последние версии шарпов. В 15, как я понимаю, ты уже не сможешь рекорда делать и просие штуки последних версий шарпов.
Аноним 11/02/21 Чтв 01:34:21 1937251490
Аноним 11/02/21 Чтв 07:20:41 1937291491
>>1937046
> 1) Да
Спасибо, а можешь подсказать в какую сторону гуглить?
Аноним 11/02/21 Чтв 10:15:10 1937347492
>>1937165
>Нахуя тебе вложенные классы?
А что нельзя?
>Че ты там за хуйню наделал, что коструктор может вернуть null, Ты ебанутый?
Так если нет в базе запрашиваемых данных что мне делать? не возвращать же пустой лист
>Нахуя тебе массив как свойство? Вот серьезно.
Ну а как мне массив биндить?
>За строку длиннее 100-120 символов - пиздят.
У нас так принято писать запросы в базу, нахрена разворачивать одну строчку на овер 100500 строчек если и так понятно что она делает и зачем нужна
Аноним 11/02/21 Чтв 12:19:11 1937431493
>>1937347
я другой анон
1 вложенные классы можно, но какова причина делать их вложенными...сразу и не видать
2 нигде и никогда доселе не видел чтобы кому то в голову пришла идея вернуть null из конструктора.
3 кидать NRE на null - ну да, пусть потом народ гадает че за NRE. и зачем тогда вообще нужна проверка на null
4 у ВАС так принято? ясно. И похер на рекомендации о чистоте кода. Ясно. И похер что читабельность адски страдает - ведь главное что ВАМ удобно
ясно
Аноним 11/02/21 Чтв 12:23:39 1937438494
>>1937347
>Так если нет в базе запрашиваемых данных что мне делать? не возвращать же пустой лист
Это от конвенции зависит. Я предпочитаю возвращать пустой лист, потому что тогда пользователю класса не понадобится делать null-check, и код типа такого будет работать:
foreach (var thing in list) thing?.DoSomething();
И такую хуйню чаще всего и пишут, не проверяя, является ли list - null. В новых версиях Шарпа можно и обозначить эксплицитно, что у тебя метод может возвращать null, что более-менее пофиксит главную проблему с возвращением null, но придется очень много всего переписывать.
мимо
Аноним 11/02/21 Чтв 12:33:29 1937453495
>>1937431
> у ВАС так принято? ясно. И похер на рекомендации о чистоте кода. Ясно. И похер что читабельность адски страдает - ведь главное что ВАМ удобно
Это по твоему нормально когда одна строка, функции и работа которой очевидны, занимает пол экрана скрывая при этом реально НУЖНЫЕ вещи от глаз. Не приятнее ли видеть все что нужно сразу, а не насиловать колесо мышь как не нормальный что бы посмотреть, а что же там внизу после этой очевидной строки происходит

>>1937431
>нигде и никогда доселе не видел чтобы кому то в голову пришла идея вернуть null из конструктора.
>>1937438
>Я предпочитаю возвращать пустой лист, потому что тогда пользователю класса не понадобится делать null-check, и код типа такого будет работать:
проверка на нулл происходит быстрее чем создание нового пустого листа который нужен просто что бы избежать исключения, если есть исключение об этом надо дать знать что бы была возможность его обработать а не создавать заплатки что бы скрыть его от глаз

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


Аноним 11/02/21 Чтв 12:53:44 1937470496
>>1937453
>функции и работа которой очевидны
очевидны кому? писателю? это значит write-only код?
потому что любой читатель этого кода, который его не писал будет вынужден
а) прокрутить горизонтально
б) запомнить "чо тут нагородили" и держать это в памяти, чтобы не делать потом лишний раз пункт "а"

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

>если есть исключение об этом надо дать знать что бы была возможность его обработать
ты говоришь с 2мя анонами, поэтому отвечу на свою часть
у тебя там 2 проблемы
1 проверка на нулл и сразу же NRE. зачем вообще проверять на нулл. Среда с радостью выкинет тебе тот же NRE без проверок
2 проверка на нулл + эксепшен нужна людям, чтобы заменить невразумительный NRE на что то более контекстное, которое явно поясняет че где когда - как минимум вменяемое сообщение в исключении, а то и свой тип исключения.

>Что бы скрыть его от глаз?
>не лучше его поместить внутрь что бы соблюдалась иерархия, а не создавать кашу из всех классов?
ну про "скрыть" мимо - они у тебя публичные, а про иерархию....ну тут спорить бесполезно. тут фломастеры, ведь у каждого свой взгляд на "нужно ли обязательно подчеркнуть что вот этот класс находится внутри другого и какой в этом смысл"
Аноним 11/02/21 Чтв 13:15:29 1937482497
>>1937470
>а то и свой тип исключения.
Собственно этот NRE я просто нахардкодил временно, потом я подключу нашу внутреннюю библиотеку исключений и пройдусь поиском везде, где встречается эти и другие типы исключений и заменю на те что в библиотеке

>ну про "скрыть" мимо - они у тебя публичные
Скрыть из списка, у меня конечно же будет доступ к этом классу, он должен быть, но что бы он не мельтешил в списке классов я поместил его туда, а что бы обратиться к нему надо обратиться к составному и потом к нему, так гораздо удобнее

>очевидны кому? писателю?
Это же гребаный линк, очевидно что он просто возвращает параметризованные данные из базы, он в принципе не может делать ничего другого, он не может вдруг сложить числа или вызвать другую функцию, он просто возвращает данные из базы, на всякий случай параметры в нем такие же как в методе, если у тебя метод называется GetAllItemsByCategoryId для тебя уже должно быть очевидно что линк будет возвращать все данные, где сюрприз categoryId == ParamCategoryId
Аноним 11/02/21 Чтв 14:03:34 1937525498
>>1937482
> если у тебя метод называется GetAllItemsByCategoryId
ты щас вообще о чем
посмотри на свой же скрин
Аноним 11/02/21 Чтв 14:18:03 1937535499
>>1937525
Я условно сказал, суть что работа строки с линком очевидна, в методе проверяется состояние колоны в таблице из дб, очевидно что линк подтянет строку с этой колонной из бд что бы прочитать состояние, не будет же он скажем удалять строку из дб в методе где он должен прочитать состояние, для этого будет вызван другой соответствующий метод по типу "RemoveItemByItemId(int itemId)" понимаешь? читать стоку линк это просто не нужно ее работа должна быть очевидной по методу, а если она не очевидна или делает что-то не очевидное то значит метод у тебя говно
Аноним 11/02/21 Чтв 14:26:17 1937542500
>>1937535
>Я условно сказал, суть что работа строки с линком очевидна
долой условности. смотри на реальность - на твой же скрин.

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

>а если она не очевидна или делает что-то не очевидное то значит метод у тебя говно
ну значит ты в курсе что не так с кодом на твоем же скрине

Если я вижу строчку читая которую вижу там GetAllItemsByCategoryId, я могу допустить что я знаю что она делает. НО Я НЕ ЗНАЮ ЧТО ТАМ ДЕЛАЕТСЯ ДОПОЛНИТЕЛЬНО (и не знаю делается ли вообще) - и буду вынужден прочитать всю строку прокручивая ее горизонтально чтобы увидеть что там не навешано дополнительных условий.

ну и вообще говорить про GetAllItemsByCategoryId и при этом where(d=>d.ID==...&&d.USRID==) ну это как то. Диссонанса не возникает?
Аноним 11/02/21 Чтв 14:39:15 1937553501
>>1937542

>ну и вообще говорить про GetAllItemsByCategoryId и при этом where(d=>d.ID==...&&d.USRID==)

Так там и не GetAllItemsByCategoryId вот было бы ByCategoryId тогда линк был бы с where(d=>d.ID== catiId)

>НО Я НЕ ЗНАЮ ЧТО ТАМ ДЕЛАЕТСЯ ДОПОЛНИТЕЛЬНО
Ты не знаешь что дополнительно может линк сделать? Ну да действительно, а то вдруг он там в конце строки новый поток создает, самому не смешно?
Аноним 11/02/21 Чтв 14:46:43 1937564502
>>1937553
>Ты не знаешь что дополнительно может линк сделать?
нет не знаю. Линк всего лишь декларативное выражение кода, а не "знание вселенной". И чтобы понять, что именно делает линк -нужно его весь прочитать.
После твоего where(d=>d.ID== catiId) может быть (даже несколько) OrderBy и тому подобное, которое в экран не влазит, а люди телепатией не владеют чтобы догадаться об этом.

не говоря уже о том, что на экране читающего даже твой where(d=>d.ID== catiId) может не быть на экране
Аноним 11/02/21 Чтв 14:49:25 1937565503
>>1937553
>Так там и не GetAllItemsByCategoryId вот было бы ByCategoryId тогда линк был бы с where(d=>d.ID== catiId)
именно )))))). еще пояснять что не так, или уже догадался?
Аноним 11/02/21 Чтв 14:50:26 1937566504
image.png 75Кб, 1193x774
1193x774
>>1937564

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

ах да, я же не знал, вдруг там toList() по типу объекта который возвращается это не очевидно да?
де
Аноним 11/02/21 Чтв 14:53:30 1937567505
>>1937565
Ну объясни, если ты о том что метод должен был называться :
TryCheckIfDashboardHasSettingsByDashboardId&UserId() то сразу мимо
Аноним 11/02/21 Чтв 15:00:12 1937569506
>>1937566
зачем бросаться в крайность
КТО заставляет переносить КАЖДУЮ строчку на новую?

> вдруг там toList()
то есть ты не читал то что я написал. ясно

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

>TryCheckIfDashboardHasSettingsByDashboardId&UserId()
вот когда будет в коде вызов такого метода и "а как тут быть", то это будет уже другой разговор об именованиях, спецификациях, "репозиторий vs queryobject vs прямойвызов vs ..."
А так ты рассуждаешь о высоких материях, а сам же в коде их не используешь
Аноним 11/02/21 Чтв 15:20:03 1937586507
image.png 81Кб, 1060x771
1060x771
>>1937569
>А метод где? Где метод то?
Вики : Метод в объектно-ориентированном программировании — это функция или процедура, принадлежащая какому-то классу или объекту.
>прямой запрос в базу (что конечно та еще гадость
А должен быть какой? Опосредованный, о чем ты говоришь вообще?

>КТО заставляет переносить КАЖДУЮ строчку на новую?
так ТЫ же сам говорил что читать вертикально легче чем горизонтально, тогда почему по твоей логике весь код не делать в стиле асемблера?
Аноним 11/02/21 Чтв 15:28:59 1937604508
>>1937586
>А должен быть какой? Опосредованный, о чем ты говоришь вообще?
С говорящим именем. Ты же говоришь, что я по имени метода должен понять, чо он делает даже можно не читать аргументы и дальше вообще читать не нужно. Где они?
Зачем вообще рассуждать про именования методов запроса к бд, если у тебя используются Query и Where?

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

>так ТЫ же сам говорил что читать вертикально легче чем горизонтально
правильно. даже этот ад что ты сделал читается легче чем горизонтальный его вариант который нужно скроллить (хотя бы только потому, что его не нужно скроллить горизонтально, что пипец как неудобно)
но если не только перенести на новую строку, а и отформатировать с учетом контекста - то читать станет еще легче
например
Data......DataLayer
.Query
.Where
.FirstOrDefault
Аноним 11/02/21 Чтв 15:38:17 1937611509
image.png 87Кб, 1640x784
1640x784
>>1937604
Если что, у меня широкоформатный монитор, на дефолтном масштабе у меня эта строка влезает полностью и скролить ничего не надо, я просто скрин сделал неаккуратно,

по поводу этого :
>С говорящим именем. Ты же говоришь, что я по имени метода должен понять
Не понял, ты имеешь в виду что бы я в названии метода еще уточнял что в нем идет обращение в базу? А что так кто-то делает? зачем это вообще нужно?
Аноним 11/02/21 Чтв 16:02:01 1937641510
>>1937611
>Если что, у меня широкоформатный монитор
рад за тебя.
так и скажи что код только ты читать будешь, а если кто другой, то ему будет выдан широкоформатный монитор.
у меня счетчик сарказма уже зашкаливает с тобой )

приходится разбивать пост ибо тупорылый фильтр двача доколебался до хз какого слова
Аноним 11/02/21 Чтв 16:02:37 1937644511
>>1937611
>в виду что бы я в названии метода еще уточнял что в нем идет обращение в базу?
нет. строка 33 должна не быть такой длинной и должна быть переформатирована для читабельности. (по скрину конечно не видно ее размер, а считать неохота).

понятно что 80 символов это мало, но лучше не более 100-110-120 символов (где каждое число это рекомендуемая граница, переходить через которую нужно только если надо).

да и даже если влазит в границы, то сделать пару переносов все равно сильно повысит читабельность.
"Арабская вязь" читается сложнее, чем структурированный текст
Аноним 11/02/21 Чтв 16:12:42 1937654512
image.png 42Кб, 1599x255
1599x255
image.png 207Кб, 1799x762
1799x762
>>1937644
120 это пипец мало, даже где я выделил на первом пикриле уже 90 а там всего ничего написано, строка линка 220 и вообще если я приму такую конвенцию весь мой код превратиться в некрасивую тяжело Асемблеро-Подобнуючитаемую кашу
Аноним 11/02/21 Чтв 16:16:21 1937655513
>>1937654
ну если для тебя второй пик это читабельно, то продолжать спор нет смысла.
для тебя норм, а мне такое не читать.
Аноним 11/02/21 Чтв 16:20:57 1937660514
>>1937655
Теперь я знаю кто эти странные люди, которые для программирования поворачивают мониторы на 90 градусов
Аноним 11/02/21 Чтв 16:23:06 1937663515
>>1937660
кто? я таких не знаю.
зато я теперь знаю кто странные люди что "раз широкий монитор, то давай использовать всю ширину и плевать на здравый смысл"
Аноним 11/02/21 Чтв 16:29:28 1937669516
>>1937663
Я даже тебе скажу вот что, У меня НЕСКОЛЬКО МОНИТОРОВ! Представляешь? И я держу РАЗНЫЕ файлы на РАЗНЫХ мониторах, вот так да правда? да, я тот еще извращенец, пытаюсь по максимуму использовать полезное пространство, это же совершенно не подвластно Здравому смыслу правда?
Аноним 11/02/21 Чтв 16:36:44 1937680517
>>1937669
причем тут твое рабочее пространство до читабельности кода.
используй по максимуму как хочешь, а обычному человеку тяжело читать тот кошмар со второго пика даже если оно влазит.

А про то что люди используют еще ноутбуки и планшеты в своей работе я промолчу )

и да. кроме длинных строк любишь ты магию
вот что это за заклинание лол
Data.DataLayer.Singleton.GetInstance().DataLayer.
Аноним 11/02/21 Чтв 16:46:42 1937701518
>>1937680
>используй по максимуму как хочешь, а обычному человеку тяжело читать тот кошмар со второго пика даже если оно влазит.
Как я уже говорил, оно делает ровно то что написано в названии метода, ничего больше, там сразу после открытия тела метода идет ретурн, даже при всем желании невозможно не понять что делает эта строка, да и не нужно ее читать, тебе нужно прочитать несколько первых символов хоть на широкоформате хоть на планшете прости господи, и для тебя сразу все становиться понятным

>и да. кроме длинных строк любишь ты магию
вот что это за заклинание лол
Да камон, слишком толсто, ты никогда сингтона не видел?
Аноним 11/02/21 Чтв 17:00:12 1937713519
>>1937701
>оно делает ровно то что написано в названии метода, ничего больше
у тебя каша в голове.
тот, кому нужно только название метода, использует эти методы снаружи - ему вообще не интересно содержимое.

"Благодарным" тебе будет тот, кто будет читать сам код метода. И вот ему плевать на название, он пришел код читать.

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

Но так как у тебя читаешь только ты, то и проблемы нет. Тебе норм )

>ты никогда сингтона не видел?
такого нет конечно.
вот что типа такого я бы еще ожидал
Data.DataLayer.GetInstance()
что было бы более чем достаточно
Аноним 11/02/21 Чтв 17:19:42 1937752520
image.png 12Кб, 1270x48
1270x48
image.png 10Кб, 1292x28
1292x28
>>1937713
Так если ты захочешь получить свой кастомный DataLayer, нужно разделять где синглтон, где конструктор а где вообще какой-то кастомный, пример даже в моем пике, там на том втором пике, (где читать тяжело) уже используется inMemodyDAL и я хз какой еще дл захочет другой программист, использовать или создать, не важно, нужно оставить ему возможность юзать любой из вариантов максимально дружелюбно

ну а по поводу того что ошибок не делается, ну желается конечно, но не в ретурне же, протестировал все, написал комментарии, скрыл и забыл вообще
Аноним 11/02/21 Чтв 17:53:42 1937818521
>>1937752
>нужно разделять где синглтон, где конструктор
конструкторы в сигнлтонах приватные. в этом и смысл сигнлтона.

Насчет синглтонов вообще - как я уже писал ранее в споре про inMemodyDAL, лучше переделать на нормальное DI

и вообще
Data.DataLayer.Singleton.GetInstance().DataLayer.
смахивает что есть класс Singleton ака сервислокатор, а этот DataLayer уже не статический, что ура ура. но все же это очень пахнущий код

переформатируй свой мозг на DI и жить станет легче
Аноним 11/02/21 Чтв 18:00:35 1937832522
>>1937818
Если ты о том моем посте где я спрашивал как не делать 100 методов под каждый класс, то я переделал, там используются классы с обджектом, об этом не беспокойся и если это ты тот анон, который советовал не юзать статики и вместо этого заюзать дженерик тогда спасибо, так реально удобнее, хотя наверняка медленнее, я еще буду этот тестить под нагрузкой, посмотрю стоит ли кобыла ставки
Аноним 11/02/21 Чтв 19:59:00 1938051523
.jpg 37Кб, 1321x230
1321x230
.jpg 38Кб, 501x290
501x290
>>1937566
> Вот так по твоему заебись да?
Да. Потому что сразу все видно.
Плюс, линку позволяет делать вещи как на прикриплейд и я хочу видеть такую вот хуйню.
Аноним 11/02/21 Чтв 22:32:16 1938175524
Бля, пасаны, да он тралит. Такого в жизни быть не должно.
Походу абуботы и сюда добрались - посты накручивают.

Следущим скрином он включит отображение скрытых символов и вы тута 100 постов будете сраться "табы против пробелов".
Или перданет, что ЕФ медленный скрины можно уже существующие использовать
Или ебанет скрин, с хардкорной рефлексией и будет дальше рассказывать, что статик классы и выбрасывание нуллреференса это префоманс который мы заслужили


Тралебот, скажи плиз, сколько тебе лет и стаж работы?
Аноним 11/02/21 Чтв 22:40:53 1938179525
>>1937832
>я еще буду этот тестить под нагрузкой, посмотрю стоит ли кобыла ставки
Опа.
Сейчас он принесет скрин, где на дебаге через ДейтТаймы будут миллисекунды считаться, на фоне открыт майнер и посыл: "я потерял в перфомансе, статики - рулят"
Нагрузка - это раз с холодного старта с консоли дернуть.
Аноним 12/02/21 Птн 09:02:36 1938338526
>>1938175
Стаж у меня нормальный, не переживай, а вот на шарпе я действительно не долго, и я честно сказать хуею от тех "порядков" которые у тут заведены, ладно со студентами все понятно. Они учатся и им нужно понять хотя бы как ооп работает, какие есть архитектуры, паттерны и тп, но использовать все на кучу и подключать овер 1000 библиотек в проекте не думая о том нужно ли это вообще и только принесет вред, зачем? Зачем вы вообще программируете тогда? Что бы было? Или все таки что бы это работало и работало быстро?
Аноним 12/02/21 Птн 09:31:21 1938348527
Вопрос от очередного ньюфага.
Насколько вообще сложно вкатиться в разработку VR/AR через C# (Unity уже изучаю)? И на что конкретно нужно делать упор в изучении здесь?
Собираюсь через год-полтора начать искать места, откуда не гонят ссаными тряпками новичков без опыта. Может, бесплатный оперсорс-проект и т.д. Но на основе чего вообще составлять дорожную карту обучения шарпу? К примеру, за два месяца нужна сделать такой вот простенький пет-проект, через полгода - другой проект. На что делать особый упор в изучении, если интересует не весь бесконечный интерпрайз, а исключительно AR/VR?
Конечно, можете постебаться - но дайте мудрых советов, аноны.
Аноним 12/02/21 Птн 10:23:48 1938365528
>>1938348
Юнити Слишком медленный для вр, для вр очень важна производительность и время ответа, для пользователя это критично, любая задержка глюк баг и погружение исчезает, а пользователя начинает тошнить, поэтому тут лучше самописный движок а не юнити, да и с# в принципе производительностью не отличается
Аноним 12/02/21 Птн 13:10:29 1938482529
Что от меня хочет visual studio? Ни слова не понял.
"Binding" нельзя задать в свойстве "AddPreviewMouseWheelHandler" типа "EventTrigger". "Binding" можно задать только в параметре DependencyProperty объекта DependencyObject.
При этом никак не подсвечивает строчку с ошибкой, но я думаю, что это здесь:
<i:Interaction.Triggers>
<i:EventTrigger Mouse.PreviewMouseWheel="{Binding line_MouseWheel,Mode=OneWay}">
</i:EventTrigger>
</i:Interaction.Triggers>
Аноним 12/02/21 Птн 15:46:50 1938642530
А вот классы я могу хранить как хочу. Каждому классу по файлу, несколько классов в файле, несколько файлов для одного класса. Как-нибудь на размер готового приложения влияет выбранный мной способ хранения?
Аноним 12/02/21 Птн 15:51:25 1938645531
Аноним 12/02/21 Птн 16:05:29 1938660532
>>1938482
Нельзя биндить значение к свойству, которое не является своством зависимости.
Аноним 12/02/21 Птн 16:11:24 1938668533
>>1938660
Да всё уже, сделал через code-behind. Блядский mvvm, в рот ебал говно хипстерское.
Посоветуйте кстати хорошие книжки по mvvm + wpf
Аноним 12/02/21 Птн 17:47:08 1938765534
Сап, программисты. Как сделать, что бы телеграм бот работал без запущенной отдельно своей программы? То есть если открыть только телегу и отправить ему какую-либо команду, работать он не будет. Нужно компилировать код и только после запуска проги бот будет отвечать на команды. Писал интерфейс бота на wforms, думаю, это может как-то помешать, поэтому реквестую помощь
Аноним 12/02/21 Птн 18:08:28 1938791535
>>1938765
> Как сделать, что бы телеграм бот работал без запущенной отдельно своей программы?

Никак. Ты хоть сам понимаешь всю глупость вопроса? Как он у тебя работать будет, если не запущен, блять? Максимум его можно перенести на удаленный сервер, но на сервере его тоже придётся запускать, представь себе.
Аноним 12/02/21 Птн 18:18:00 1938810536
>>1938791
Я уже понял. Как тогда его на удаленный сервер перенести?
Аноним 12/02/21 Птн 18:24:05 1938823537
>>1938791
Прошу прощения, неправильно поставил вопрос
Аноним 12/02/21 Птн 18:28:41 1938835538
>>1938810
Арендуешь сервер, можно у амазона воспользоваться акцией вида "бесплатно первый год". Там будет установлен какой-нибудь линукс дистрибутив, например Убунта. Подключаешься к серверу через ssh, при помощи команд копируешь на него своего бота, который предварительно скомпилировал для соответствующей ОС, запускаешь его на сервере. Всё.
Аноним 12/02/21 Птн 18:30:59 1938840539
Аноним 12/02/21 Птн 18:32:00 1938844540
>>1938840
Пожалуйста, обращайся если будут еще вопросы.
Аноним 12/02/21 Птн 20:19:20 1938929541
Ньюфаг. Помогите, пожалуйста.
Хочу сделать подобие транзисторной логики.
Есть t1.C, ссылку на значение которого должна брать t2.A
Как передавать ссылки на переменные между объектами класса, чтобы не приходилось каждый раз апдейтить изменения, получая значения напрямую?
Аноним 13/02/21 Суб 00:53:31 1939142542
>>1938929
Если у тебя в классе ссылочные типы - просто присваивай t1.C t2.A, все будет работать. Иначе используй свойства с ref.
Аноним 13/02/21 Суб 04:43:12 1939233543
image.png 188Кб, 1718x750
1718x750
image.png 21Кб, 764x317
764x317
image.png 32Кб, 804x252
804x252
Бля анонче, почему парсит не то что мне надо?
Пытаюсь парсить гугл, нужно взять ссылки со страницы.
anglesharp
xpath //div[@class='g']/div/div/a/@href
Вроде же должно спарсить то что в href а мне парсит не то. Наверняка я не так запрос составил. Но что не так то? Стаковеерфлоу сказал что все правильно написал хуй знает я корочи.
Пример того что парсится в пике.
Аноним 13/02/21 Суб 05:21:03 1939239544
image.png 114Кб, 1906x851
1906x851
>>1939233
И тестер показывает что все заебись, а этот ебучий англшарп не парсит сука
Аноним 13/02/21 Суб 05:49:20 1939244545
>>1939233
А нахуй тебе xpath? Используй CSS селекторы:
document.querySelector('a').href
Аноним 13/02/21 Суб 08:52:17 1939282546
Такой вопрос: нахуя мне классы если я могу юзать структуры с тем же функционалом, только еще и меньше кода при этом писать (не объявлять конструкторы, не ебаться с nullreferenceexception)
Аноним 13/02/21 Суб 09:50:34 1939305547
>>1939282
Тогда можешь идти в си
Аноним 13/02/21 Суб 14:10:46 1939525548
Хочу перекатиться из 1С в с#(можете обоссать, да). Вопроса только два:
1. Стоит ли задрачиваться с вещами типа алгоритмов и структур данных? В 1С с я подобным вообще никогда не заморачивался, как и с матаном в общем. В типичной работе шарписта оно важно?
2. Хочу в качестве пет-проджекта написать приложуху для автоматизации склада, ну такую небольшую ерп, заодно походу учить язык, платформу, формочки там, возможно какие-то веб-сервисы подключать буду. Норм идея, не?
Аноним 13/02/21 Суб 15:15:49 1939603549
>>1939282
>я могу юзать структуры с тем же функционалом
Не можешь. Читай отличия классов от структур.
>не объявлять конструкторы
Как DI реализовать будешь?
Аноним 13/02/21 Суб 16:50:01 1939713550
>>1939603
Ну как, в шарпе структура это тот же класс, только со специфическим поведением. И, как-бы различие, в основном - семантическое(классы должны в себе состояние иметь и инкапсулировать сложную логику, структуры - какие-то данные, являющиеся значением). Как и с теми же рекордами сейчас. При желании - поведение структуры ничем не будет отличаться от поведения класса.
> Как DI реализовать будешь?
ДиАй бывает разных типов, в том числе и через свойства/поля. Да, не так удобно, да не лучший стиль, но ты именно про DI сказал.
Аноним 13/02/21 Суб 18:12:33 1939808551
>>1939244
Ну xpath мне показался проще.
Аноним 13/02/21 Суб 18:48:51 1939862552
>>1939525
>В типичной работе шарписта оно важно?
А ты хочешь игры делать, сайты или десктоп?
Если игры - учи
Десктоп - подучи
Сайты - не учи
Аноним 13/02/21 Суб 18:52:11 1939870553
Тупой вопрос.
Вот смотрите. Было у меня приложение, что должно было быть микросервисом, авторизация и аутентификация должна была производиться отдельным сервисом. Но вот порешали люди из продажников, что дюже заебатый сервис выходит и пусть он будет еще и отдельным приложением, но чтобы при этом мог быть составной частью более комплексного решения.
Так вот, как реализовать-то авторизацию-аутентификацию для моего теперь отдельного приложения, чтобы при этом не потерялась возможность этой самой авторизацией-аутентификации, будучи включенным в состав програмного комплекса? Просто ведь поменяется база данных, добавится сущность юзера. Раньше-то как было: была табличка юзера, но никакой логики авторизации-аутентификации не было, просто при добавлении нового в сервисе за это отвечающем, я получал сообщение, добавлял его к себе. заводил в зависимости от этого привелегии и потом можно было пользоваться. Теперь же нужно добавить будет логины, роли это вот все. Не хочется просто разделять на две ветки приложение, одно как самостоятельное, другое как микросервис.
Аноним 13/02/21 Суб 19:04:59 1939890554
>>1939713
У тебя структура каждый раз будет копироваться в стэк, при этом в случае класса копируется только ссылка. Если у тебя поля структуры занимают больше чем 32/64 бит (в зависимости от разрядности ОС), то выгоднее и быстрее копировать ссылку, чем каждый раз копировать все поля.
Аноним 13/02/21 Суб 19:35:49 1939928555
>>1939862
>А ты хочешь игры делать, сайты или десктоп?
Хочу делать всякие декстопный софт для бизнеса, те же ЕРП по сути.
Аноним 13/02/21 Суб 19:35:57 1939929556
Есть ли библиотека для скачивания видео с YouTube в лучшем качестве и со звуком? Если нет, то как быть?
Аноним 13/02/21 Суб 20:45:35 1940032557
Аноним 13/02/21 Суб 20:51:50 1940043558
>>1939890
> У тебя структура каждый раз будет копироваться в стэк, при этом в случае класса копируется только ссылка
С хуя ли?
Да банально. Что если у тебя стуруктура размером в здоровая? Допустим ты по классике запилил структуру для описания своего файла, ну вот такой ты бака, че поделать, и при создании оч большого файла - размер структуры - пара гигов. По твоему она на стек ляжет? Да даже если без эзотерики, давай просто подумаем, где лежит структура, которая является полем класса.
Ну и банально, тебе только религия может запретить передавать стуруктуры в методы по ссылке.
Вся суть в семантике. Структура задумана семантически, как некое значение, по идее все его состояние - не должно изменяться. С этим и связано дефолтное поведение структуры.
Аноним 13/02/21 Суб 20:57:24 1940053559
>>1940043
>С хуя ли?

Так структуры хранятся.

struct x {
int y = 10;
int z = 20;
}

var x = new x();

В плане памяти это тоже самое, что написать

var y = 10;
var z = 20;

В случае с классом это будет одна ссылка.

Еще одна ограниченность структур - невозможность хранить ссылки на экземпляры этой же структуры. Т. е. ты не сможешь реализовать бинарное дерево используя структуры.
Аноним 13/02/21 Суб 21:13:48 1940073560
.png 7Кб, 349x287
349x287
.png 8Кб, 381x240
381x240
>>1940053
> ты не сможешь реализовать бинарное дерево используя структуры.
Аноним 13/02/21 Суб 21:19:05 1940079561
>>1940032
На C# ее нет, гуглил.
Аноним 13/02/21 Суб 21:43:05 1940098562
Аноним 13/02/21 Суб 21:47:50 1940104563
>>1940079
Её можно запускать через программу написанную на шарпе, передавая нужные аргументы.
Аноним 13/02/21 Суб 21:49:23 1940106564
>>1940104
Хорошо, каким образом передать значение загрузки?
Аноним 13/02/21 Суб 21:51:43 1940109565
>>1940106
Читай документацию и запускай через Process.Start
Аноним 13/02/21 Суб 21:55:53 1940114566
>>1940073
>unsafe

Что дальше? Залезешь в IL код лишь бы хуйню написать и сказать, что работает?
Аноним 13/02/21 Суб 22:14:18 1940139567
>>1940114
Вот ты охуеешь, когда почитаешь исходники .net. Но не суть.
А суть вот в чем. Ты говоришь что нельзя - тебе показывают что можно. Ты начинаешь доебывать что unsafe. Будто, блядь unsfe это что-то пиздец какой хак, нахуй. Я же не что-то, типа __refvalue использовал, а обычный, мать его в сраку, unsafe, которого в любом проекте полно, когда дело доходит до оптимизации или работы с какими-нибудь сишными либами. Может быть ты бы и до ref доебался, если бы я показал что можно не копировать значение, передавая в функцию структуру?
В конечном счете. Структура отличается от класса, в основном, семантически. Как и рекорд. Ты так же можешь изменить значение рекорда, если так уже чешется и ничего тебе не будет, шарп не вылезет из компьютера и не отпиздит тебя за это, просто ты ломаешь семантику, заложенную создателями языка, не более.
Аноним 13/02/21 Суб 22:31:59 1940170568
>>1940139
Ты из безопасного C# сделал небезопасный С++ (даже по синтаксису это чистый С++) и пытаешься говорить, что это нормально и вроде как все разработчики так делают.
>Структура отличается от класса, в основном, семантически
Хорошо, пребывай в своём манямирке, я останусь на стороне здравомыслящих и реальности.
Аноним 13/02/21 Суб 22:51:27 1940198569
Безымянный.png 481Кб, 907x1019
907x1019
Аноним 13/02/21 Суб 23:17:05 1940212570
>>1939870
Смотри майкрософтовский идентити сервер и почитай об oAuth.
Ну или азуровский АД. Звучит как изобретение велосипедов кста.
Аноним 14/02/21 Вск 01:03:33 1940308571
image.png 652Кб, 1494x770
1494x770
image.png 31Кб, 611x420
611x420
Как сделать такую подсветку кода как на пик1?
У меня пик2
Аноним 14/02/21 Вск 01:10:30 1940314572
>>1940308
Скачай тему другую.
Аноним 14/02/21 Вск 04:34:36 1940358573
Анонче поясни за данный код, я вроде понимаю но не понимаю. Напишу как я понимаю но наверняка что то путаю

//Публичное событие типа PropertyChangedEventHandler( что за тип и что он делает хуй знает)
public event PropertyChangedEventHandler PropertyChanged;


//Защищённый виртуальный метод который ничего не возвращает, принимает строку, может быть вызван без входных данные тогда строка будет нулл.
protected virtual void OnPropertyChanged([CallerMemberName] string PropertyName = null)

{
// Тут хуй знает магия какаета
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(PropertyName));

}
//Защищённый виртуальный метод использующий обобщённый тип, принимает первым параметрам принимает ссылку на обьект Т(может быть любым типом хоть стрингой хоть хуй знает чем) и вторым значение тоже обобщённое, далее магия, но как мне кажется третий параметр стринга если ее не передать будет по дефолту нулл
protected virtual bool Set<T>(ref T field, T value, [CallerMemberName] string PropertyName = null)
{
//сравниваем, если первый параметр и второй равны например 2 стринги "str" Equals ск5ажет что строки равны и вернет тру иф сработает и из метода вернет фолс, если же обьекты не равны то первому параметру присвоит второй параметр, а так как первый параметр принимался по ссылки он сменит значения не только в этом методе но и в других частях кода. Далее мы вызываем(?) событие с параметром PropertyName, и опять магия, что если он нулл? Нахуй его вызывать? И возвращаем тру.
if (Equals(field, value)) return false;
field = value;
OnPropertyChanged(PropertyName);
return true;
}

Вот вроде по отдельности понятно а все сразу нихуя не понятно. И события вроде понятно, а вроде не понятны, и дженерики вроде понятны но пугают как только вижу Т, но еще месяц назад при виде <T> начиналась истерика нахой, чо за Т? Нахуй Т? Почему не Ш? Или Ы? Сейчас вроде полегче
Аноним 14/02/21 Вск 08:25:54 1940396574
>>1940308
В настройках студии можно сделать
Аноним 14/02/21 Вск 09:24:25 1940409575
>>1939928
Значит чучуть подучи математику чтобы не быть совсем окатышем
Аноним 14/02/21 Вск 10:32:39 1940446576
>>1940358
У тебя есть ивентхендлер PropertyChanged. Из названия должно быть очевидно, че это за хендлер, но если интересно - почитай MSDN. Если ты вообще смысл ивентхендлеров понимаешь - то этого достаточно.
Далее, у тебя есть обертка над PropertyChanged, называется OnPropertyChanged. Имеет опциональный параметр. PropertyChanged? - это то же самое, что if (PropertyChanged != null). По итогу - если у тебя PropertyChanged не null, то метод триггерит PropertyChanged (за это отвечает Invoke - про него тоже почитай).
Далее у тебя есть метод Set<T>, который ты понял правильно. Но в строке OnPropertyChanged(PropertyName) у тебя уже подразумевается null-check и события, и аргумента (это все сделано в методе OnPropertyChanged). Сам метод вызывается потому, что, по идее, у тебя метод Set<T> меняет Property, поэтому ты хочешь поднять ивент PropertyChanged.

Короче говоря:
1. Ты вызываешь метод Set<T>, который меняет значение свойства ref T field. Так как он меняет значение свойства - он должен поднять PropertyChanged, что он делает через обертку OnPropertyChanged.
2. Обертка OnPropertyChanged проверяет всю хуйню, чтобы ты не поднял пустой ивент или не закинул тупые аргументы (в данном случае аргументы принимаются любые). Если все норм и ты не пытаешься сделать хуйню - OnPropertyChanged триггерит PropertyChanged.
3. Триггерится PropertyChanged и вызывает привязанные к себе методы. Ну или не триггерится, если привязанных к себе методов нет.
4. ???
5. ПРОФИТ!
Аноним 14/02/21 Вск 11:53:04 1940496577
Пробую сделать сайт на ASP Net Core с Identity и авторизацией по ролям. Вроде все работает, кроме одного: если я удаляю пользователя из роли, то пока этот хер не перелогинится у него остаются права будто он в роли. Можно как-то сделать его куки недействительными или заставить Identity лезть в базу и проверять роли каждый раз?
Аноним 14/02/21 Вск 13:29:25 1940562578
А есть какие-то книги по алгоритмам и структурам данных для тупеньких? Ну типа, для человека который из алгоритмов знает разве что сортировку пузырьком, а структуры данных заканчиваются на обычных массивах, классах и объектах.
Аноним 14/02/21 Вск 13:43:32 1940567579
>>1940446
Ну вроде понятно.
Вот у меня так в MainWindow.xaml строка
Text="{Binding Title,UpdateSourceTrigger=PropertyChanged}"
я так понимаю значение Техт элемента ТекстБокс привязанно к полю Title
а вот UpdateSourceTrigger=PropertyChanged это ? ОбновитьИсточникТригера PropertyChanged но это же просто событие без ничего. На сколько я понял событию нужно просвоить метот без метода там просто null
public event PropertyChangedEventHandler PropertyChanged;
Что бы событие сработало его же нужно вызвать? Как тогда оно меняем мне тайтл когда я пишу что то в текст бокс? И Как оно может менять если код отработал и ждет действий? А действий нихуя нет то. Или при каждом вводе символа вызывается UpdateSourceTrigger=PropertyChanged, но тогда что дальше говорю же нет кода нихуя.
10 строк кода а происходит магия.
Аноним 14/02/21 Вск 14:13:57 1940576580
>>1940567
Я, если честно, с WPF не работал. Как подсказывает опыт, интуиция и гугл - суть этой хуйни в том, что:
1. Ты вызываешь ивент PropertyChanged через обертку OnPropertyChanged в методах, где твой проперти действительно меняется.
2. У тебя в XAML UpdateSourceTrigger забинжен на этот ивент, что с помощью скрытой от пользователя черной магии фреймворка по сути означает, что у тебя при вызове ивента поднимается какой-то фреймворковый метод.
3. Этот метод выполняет еще больше черной магии, что выливается в то, что твой Title меняется на новое значение в проперти, которое подняло ивент PropertyChanged.
Короче говоря - когда у тебя Set<T> возвращает true, то Title присваивается новое значение field. Только делается это с помощью черной магии и окольных путей ради архитектурных профитов и облегчения использования (но не обязательно понимания) фреймворка.
Если я в чем-то неправ - ты сам поймешь, ну или аноны исправят.
Вообще, если у тебя есть книга или плейлист, по которому ты учишься - я советую не пытаться разобраться в кишках этой черной магии сразу, а сперва просто попривыкнуть к тому, как фреймворк используется и как он реализует разные фичи. Если начинать сразу с деталей имплементации, а не с функции, которую она выполняет, то можно изрядно так охуеть и надолго зависнуть в изучении фреймворка.
Аноним 14/02/21 Вск 15:52:41 1940681581
>>1940567
да нет никакой магии

Класс, реализующий INPC при изменении значения свойств (или когда хочет уведомить про изменения, которые обновились) должен вызывать событие PropertyChanged с именем(ами) свойств, которые нужно бы перечитать.
UpdateSourceTrigger=PropertyChanged просто определяет когда именно производить обновление контрола, чтобы на каждый символ его не дергать.
Аноним 14/02/21 Вск 16:59:14 1940754582
>>1940562
Угу, статья на википедии.
Суть, ты все эти алгоритмы и структуры на практике узнаешь, если будешь кодить достаточно и решать проблемы в которых они нужны. Если ты не работаешь - иди на кодфорс/кодворс/литкод и решай задачки там.

А вообще, все эти алгоритмы не то чтобы прям какой-то реальный плюс или как-то в реальной работе тебе помогут, а оптимальные в плане скорости решения не всегда нужны.
Аноним 14/02/21 Вск 17:25:53 1940774583
.png 15Кб, 422x471
422x471
.png 18Кб, 646x312
646x312
.png 10Кб, 559x226
559x226
.png 2Кб, 342x63
342x63
>>1940576
Да нет там магии. Суть всего этого дела на прикриплейде. Только вместо вывода в консоль - привязываем к какому-то элементу вьюшки и при изменении - перерисовываем.
Аноним 14/02/21 Вск 20:22:55 1941000584
Аноним 14/02/21 Вск 20:25:40 1941003585
>>1940754
>не то чтобы прям какой-то реальный плюс
А как же собесы-хуебесы?
Аноним 14/02/21 Вск 20:30:42 1941007586
>>1941003
Для собесов достаточно связный список, бинарное дерово, бинарный поиск и быструю сортировку.
Аноним 14/02/21 Вск 20:42:42 1941021587
Как стать хорошим программистом, развиваться?

Вкатился в айти 2 года назад. Всё это время работал в одной компании, писал бэкенд на шарпе под фреймворк Террасофт, там же немного фронта на JS, MSSQL. Сейчас подаключился во внутренний проект компании на Java, но этот проект по своей сути - тонкий, упрощённый клиент с небольшим количеством бека (не на гибернейте). Не думаю, что это даст мне много опыта.
Из того, что нравилось больше всего в работе: работал с реализацией бизнес-логики в рамках бизнес-процессов.
Писал пет-проекты на .Net framework, Unity3d, сейчас изучаю .Net Core.

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

Писать пет-проекты, доводить их до ума? Участвовать в опен-сорсных проектах? Короче, как прокачаться?
Аноним 14/02/21 Вск 20:44:53 1941022588
>>1941007
>связный список
Хуита медленная, кроме как вставки в середину.

>бинарное дерово
Какая-то хуита для поиска, в чистом виде нахуй не нужна.

>быструю сортировку
пузырек + linq OrderBy

Я прошел?
Аноним 14/02/21 Вск 21:12:20 1941042589
Аноним 14/02/21 Вск 22:15:21 1941089590
>>1941042
Не верь, анон! Они ни-ко-гда не перезванивают!
Аноним 14/02/21 Вск 22:19:37 1941094591
>>1941089
Мне перезванивали. Другое дело что через полгода, когда, блядь, я уже другое место нашел. Пиздец вот с таких вот горит. Они серьезно думают, что безработный хуй будет их звонка полгода ждать?
Аноним 14/02/21 Вск 22:27:57 1941101592
>>1941094
Глупенький, это только ты так думаешь что найти работника так просто, вот эйчары и звонят всем чей телефон есть.
Аноним 14/02/21 Вск 22:34:49 1941104593
>>1941101
Так если им я подхожу - хули полгода было ждать? Выглядело будто: чет ты хуй. Ой. смотрите, он почти полгода у других проработал и его не гонят, наверное не хуй, давайте его к нам позовем. При этом те же условия предлагают, как и на текущем месет. Вот и нахуя мне-то менять в таком случае работу было? Короче, шляпа какая-то.
Аноним 14/02/21 Вск 22:42:01 1941107594
Вот сижу сейчас читаю Шилда "C# Полное руководство" и прохожу курс на Ulearn. Ну то есть учу синтаксис в целом на Шарпе. Стал замечать, что мне просто не хватает практики на каждую тему, которая мне позволит закрепить материал. Может есть у кого-то ресурсы с задачами чтобы обработать конкретно синтаксис?
Аноним 14/02/21 Вск 23:26:35 1941154595
.png 26Кб, 593x750
593x750
.png 31Кб, 614x503
614x503
.png 26Кб, 962x473
962x473
.png 68Кб, 754x641
754x641
Короче, хочу красивенько в консольке показывать статус загрузки файлика. На данный момент я эмулирую загрузку просто рандомным временем ожидания.
В общем, разбил это дело на 3 куска: Собственно сама задача, презентер - то что должна получать вьюшка и вьюшка.
Так вот. Что меня смущает: 1. То что приходится добавить статичный объект для лока, без него курсор при изменении одновременно статуса нескольких задач - скачет. Мне это не нравится. 2. То что когда последняя задача завершается - курсор остается там где была эта задача, я понимаю, что я бы мог вручную его переставлять на какую-то дефолтную позицию, но это как-то странно.
В общем, в какую сущность лучше всего вынести работу с этим вот курсором и как избавиться от лока? Ну, допустим от лока я избавлюсь тем, что буду эти обновления кидать в очердь, там "Рисователь" будет ждать пока в очереди что-то появится и рисовать. Так от лока мы избавились. А где правильно было бы в таком случае хранить положение курсора? Или может быть как-то иначе это все нужно делать? Поясните короче.
Аноним 15/02/21 Пнд 01:06:54 1941278596
Как понять, есть ли у меня смекалка для программирования?
Аноним 15/02/21 Пнд 03:19:14 1941349597
>>1941042
Ну и нахуй ты так шуткуешь? У меня БЕСПОКОЙСТВО теперь
Аноним 15/02/21 Пнд 10:58:11 1941516598
>>1941021
>.Net Core
Зис, копай туда, подучи ASP, EF, умей писать сложные запросы.

>JS
Скрипт это хорошо. FullStack сейчас очень много зарабатывают. Подучи еще какой-нить хайповый js фреймворк.

>Не уверен, что мне нужно второе высшее образование по информатике
И не надо, формальная корка закрывает 99% всех проблем.

>Писать пет-проекты, доводить их до ума? Участвовать в опен-сорсных проектах?
DO IT. Делай что больше нравится.

>>1939525
Привет братишка. 4 года был 1с разрабом
1) Да, и ты описал лишь 5% того говна что надо знать. И это важно.
>с матаном в общем
Базовые вещи конечно надо, что-то на уровне 11классника. Например, могут попросить посчитать ресурснозатратность какого-нибудь алгоритма.
2) Такие проекты лучше презентовать как FullStack, т.е в связке с JS

>формочки там
винформы не учи, вообще, это тупик.

Как перекат из 1с могу предложить следующее. Начни учить ASP core, создай простенький Web-сервис, а 1с используй как фронт. Побольше используй ООП. Переучись на сырые sql запросы это будет твоим преимуществом.

Аноним 15/02/21 Пнд 14:01:41 1941805599
image.png 8Кб, 238x211
238x211
image.png 220Кб, 510x585
510x585
Почему у меня нет "References" и "Properties", как у того же Троелсона, а заместо них "Dependencies"?
Аноним 15/02/21 Пнд 14:03:08 1941807600
Аноним 15/02/21 Пнд 14:14:15 1941825601
>>1941807
Уже понял в чём проблема. Я создал проект на .NET Core вместо .NET Framework
Аноним 15/02/21 Пнд 14:15:58 1941828602
>>1941825
советую учить сразу кор, .NET Framework уже легаси
Аноним 15/02/21 Пнд 14:35:08 1941853603
>>1941828
Я только синтаксис C# учить начал. Если всё так как пишет Троелсен (.NET Framework и у .NET Core одна основа), то не лучше ли пока не запариваться над этим? Классы и методы в библиотеке почти одни и те же?
Аноним 15/02/21 Пнд 14:39:36 1941858604
>>1941853
Да я так предложил ведь сам посуди, ти только начала учить, а уже какие-то расхождения появились, синтаксис то один будет конечно это верно, но сам подумай, раз синтаксис один тогда какая разнице фреймворк или коре? Почему тогда сразу на коре не работать раз все такое одинаковое?
Аноним 15/02/21 Пнд 14:55:17 1941876605
>>1941858
Ну да, в том, что ты написал есть смысл
Аноним 15/02/21 Пнд 16:53:18 1942005606
Сап, можете подсказать хорошую статью для работы с документами? (Нужно считать два дока текста структурированного и совместить в одну таблицу)
Аноним 15/02/21 Пнд 20:07:18 1942297607
>>1941828
Кор тоже легаси, уже .net 5 вышел
Аноним 15/02/21 Пнд 22:20:35 1942465608
>>1941828
>учить сразу кор
На мне так ночальник эксперимент ставил. Поддерживаем легаси, я и еще двое подпивасов на .net framework, четвертый вообще на делфи
Подходит и говорит, вот тебе задача хуйня срок три дня - и попробуй на .net core написать, нам модернизироваться надо
Аноним 16/02/21 Втр 00:11:59 1942619609
Не понимаю я. Почему вы постоянно говорите про: Учи кору, .net framework - легаси. Будто, блин, для ньюфага там какая-то разница особая будет. Вот когда я учился в 2011, никакой коры не было. Ну и? Когда появилась первая кора - у нас ее со скепсисом восприняли, дескать хз как там дальше пойдет, со второй стало понятно, что это видимо серьезно. И сколько времени ушло чтобы освоить ее для того кто с полным фреймворком работал? Господи, да сразу взяли и начали работать. Я вообще не думаю, что ньюфаг какую-то разницу особую заметит, ему что кора, что старый фреймворк что .net5 - однохуйственно - непонятная залупа, что какую-то магию делает. Но на старом фреймворке, нюфаг хотя бы без бубнов может быстренько что-нибудь оконное нафигачить на формах или впфах, ощутить что он-то теперь не какой-то там хуй, а вот - делает оконные приложения, ньюфаги почему-то не уважают консольку, и вообще все, где кнопочки тыкать нельзя. Вот сравните сколько ебалы нужно проделать в коре и .net5 чтобы сделать что-то с окошком: изучаем как работает DI, потому что теперь все через DI, понимаем что формы и WPF все еще через жопу, а авалония - говно, оч грустим, таки рвем жопу и хреначим весь визуал кодом через то что есть, будто какие-то пещерные люди, в процессе расстраиваемся, потому что и туторов нихуя и непонятно и вообще какое-то говно выходит, демотивируемся, дропаем шарпы и идем в пятерочку кассиром работать; в противовес фреймворк: открыл, в редакторе накидал кнопочек, лейблов, в кодбихайнде чет там с логикой написал, вроде работает, бегаешь со стоячим хуем, всем показываешь, какой ты молодец, радуешься, мотивирован чет дальше изучать, ведь ты-то вон какой, с кнопочками сделал, наживаешь и чет происходит, хорошо, а уже когда набираешься опыта - понимаешь, что сейчас все в вебах, твои кнопочки никому не нужны, но тебе-то ужо и не важно, ты щарпы освоил, скорее всего какой-нибудь клиент для стороннего апи делал и представляешь как примерно HTTP работает, может быть сам пробовал сайтец замутить на MVC и изучение коры будет как: "А как тут это делается? Ага, поняв".
Аноним 16/02/21 Втр 01:01:25 1942665610
148486366819822[...].jpg 21Кб, 551x201
551x201
Аноним 16/02/21 Втр 02:36:50 1942726611
image.png 57Кб, 916x355
916x355
Мне как вкатывальщиу пиздецки как сложно во всей этой хуйне разобраться.
net core, net framework, net core, EF3, EF5, EF6, ASPnet, ASPnet core, mvc хуиси отсоси.
Я по началу думал ну ясно понятно хули разные версии. И думал мол выходит новая версия и все на ней всё делают, но хуй там плавал. И вот вопрос почему? Обратная совместимость же есть, а изменения не такие уж прям пиздецки большие что бы команда не смогла изучить все нововведения.
И вот меня очень радует то что сейчас есть net5 и вся остальная залупа прекращает поддерживаться.
Аноним 16/02/21 Втр 02:59:28 1942737612
>>1942726
> Мне как вкатывальщиу пиздецки как сложно во всей этой хуйне разобраться.
А вкатывальщику и не нужно. Тебе нужно язык освоить и на любой из залуп что-то сложнее ту-ду листа сделать, и понять базовые принципы построения архитектуры.
В реальной разработке не будет такого: Ой, новая технология, мы на нее сразу перешли; ой мы не будем это делать потому что нет спецов что знают хорошо фреймворк. Я вот, блядь, сярпоняша, когда пришел на дужна: да-а-а-а, смотри, у нас есть на джаве хреновина, вон багтреккер - пофиксь баги, разраб ее уволился, а мы сярпобояре сейчас заняты в другом проекте. Блядь, джава, сука. И пофиксил и ничего. А потом мне сказали: ну, вот ты пофиксил, молодец, теперь еще и знаешь как оно работает - перепиши на шарпах. И, сука, переписал, за неделю, 40к строк кода, и ничего. А потом мне говорят: чет ты какой-то слишком толковый, будешь мидлом считаться, зп поднимаем, и давай-ка ты на плюсах покодишь, а то чел что на плюсах кодит и так 4 проекта ведет одновременно, слишком сложно ему. И писал на плюсах. Благо сейчас таки более-менее проекты на шарпах только. Суть. Нужно понимание и умение разобраться с тем с чем ты не работал. Эт ты думаешь, что: "Ты ж программист" это мем такой, который только бабки всерьез используют, на деле про "Ты ж программист" тебе на работе будут толкать даже чаще, а крайним всегда будешь ты: ты не догадался, что вот тут, даже если не по проптоколу - нужно не кидать ошибку, а просто игнорировать, а вот там - таки кидать; ты не догадался, что пользователь - дегенерат, что не читает мануал; в ТЗ было требование такой нагрузки, в проде она в 100 раз больше оказалась и у тебя обработка запроса стала дольше 1 секунды - ты виноват и рукожоп, блядь, а не маркетологи, которые рассчитали хуево, не техдир, который исходя из ТЗ решил что не нужно усложнять систему, не тестировщики, которые не стали проводить нагрузочного тестирования нормально, нет - ты виноват в этом, что своим программистким чутьем не понял что так и будет - а потом - пиздуй чинить. Вот потому - не конкретные технологии важны, а база, умение думать наперед и закладывать даже в консольной утилитке по переводу температуры из цельсия в кельвины - возможность превратить ее в систему распознавания лиц, ибо придут, блядь, скажут - как охуенно оно в кельвины переводит-то, давай, чутка допилим...
Аноним 16/02/21 Втр 03:28:01 1942753613
>>1942737
>Тебе нужно язык освоить и на любой из залуп что-то сложнее ту-ду листа сделать, и понять базовые принципы построения архитектуры.
В этом то и проблема, я не могу нормально изучать одну тему. Синтаксис вроде уже изучил нормально. Перед сном читаю рандомные статьи на метаните и уже не возникает проблем что бы что то забыл или не понимал. А вот что то сделать не могу. Начинал асп нет еще учить, как то сложно пиздецки, сделал перерыв и сейчас впф изучаю, тож не очень то и легко.
Идеи есть а вот знаний для реализации пока нет(
Аноним 16/02/21 Втр 03:50:38 1942762614
Пацаны, в каком порядке обмазыватся этим вашем шарпом? Нужно для себя, но хочется и уметь делать всякие штуки что бы перекатится полностью. Сейчас могу в функциональщину и написать всякие простенькие вещи. Думаю заняться to-do листом. Из знаний то знаю синтаксис и немного работу с базами данных. В какую сторону развиваться? И желательно что бы с практикой, мне сложно поглощать знания не видя как они работают(я про конкретно вас вместе)
Аноним 16/02/21 Втр 09:08:50 1942835615
16085948630230.jpg 125Кб, 576x768
576x768
Сап шарп:
1) Есть одно шифрование. Как мне лучше всего хранить в приложении (exe) стрингу private key/secret и прочее? Обфускаторы сейчас умеют ее в жопу прятать чтобы ее нельзя было получить или это чисто технически невозможно? WPF если что.
2) Есть ли на wpf либа чтобы было увеличение image'a при наведении мыши, как на всяких интернет магазинах когда есть товар и при наведении на его изображение возле курсора есть такой квадратик с увеличенной зоной изображения.
Спасибо.
RSA Аноним 16/02/21 Втр 11:38:32 1942894616
Есть пример кода на java. Нужно написать этот же код на C#. Код шифрует с помощью RSA/ECB/OAEPWITHSHA-512ANDMGF1PADDING алгоритма. Ключи распространяются в PKCS8, если не ошибаюсь, формате. Тривиальная и обычная для java штука, пример, который у меня есть - несколько строк кода без всяких сторонних либ (используются стандартные классы вроде KeyFactory и Cipher). Но как принято то же делать на шарпе? Гугление выдаёт какую то платную либу (Chilkat), странные велосипеды с парсингом ключей в RSAParameters (прям вытаскиваются байтами все эти модулусы и экспоненты и прочая страшная крипто-математика) или вообще сообщения типа "я искал-искал как сделать, но не нашёл и поменял алгоритм/ключ/либу на более удобные". Ищу кого-нибудь с опытом разработки на шарпе с ассиметричным шифрованием, что б он мне просто указал в какую сторону гуглить. Мне достаточно "все используют либнейм" / "все велосипедят ключи с нуля каждый раз, либ нет" / "все используют стандартные шарповские Rsa/RsaCng/RsaCryptoServiceProvider".
Аноним 16/02/21 Втр 18:42:55 1943435617
>>1942762
Напиши что-то в консольке со всякими паттернами и новыми фичами языка. Потом наверни entity framework и linq, заодно вникни в Expression. Добавь ASP.NET (MVC, если ангуляров не знаешь, WebAPI - если знаешь) и ты молодец.
Аноним 16/02/21 Втр 20:25:31 1943531618
102506.548446.6[...].jpeg 56Кб, 615x400
615x400
Покидайте интересных задачек, плес. Я программированием чисто для себя увлекаюсь, до конца недели на больничном буду сидеть. Охото поковырять чего нибудь, попрактиковаться. Только не что нибудь очевидное, когда еще код не начал писать, а уже все понятно что и как сделать, типо, напиши свою борду, а там из шарпа это несколько методов в контроллере, остальное все бд и вьюха
Аноним 16/02/21 Втр 20:56:33 1943550619
>>1943531
А ты точно программист?
Напиши сервис сбора статистики с ТГ каналов.
Я хотел что то подобное сделать но чет я пока даже хз с чего начать.Вернее начать я знаю с чего но знаний не хватает пока
Суть приложухи.
НетКоре 3.1 ор нет 5
Приложение использует TDLib.
Вписываем канал но который подписываем наше приложение, приложение начинает следить за постами которые будут появляться, старые опустим. Появляется пост, его заносим в БД и ставим на проверку. Например проверять каждый час в течении недели и записывать данные, количество просмотров, или изменение текста поста.
Периодичность проверок и время проверок можно настроить.
Давай только сразу гитхаб выкладывай, я буду смотреть че как делать.


Аноним 16/02/21 Втр 22:08:56 1943610620
>>1943550
>Напиши сервис сбора статистики с ТГ каналов
Скучная хуйня, где всей сложности это в апи телеги разобраться.
Аноним 16/02/21 Втр 22:10:51 1943612621
>>1943610
ну тогда иди нахуй сам думаю креативный ты наш.
Аноним 16/02/21 Втр 23:17:36 1943687622
Screenshot1.png 19Кб, 578x334
578x334
Привет, зайчики.
На заводике в моей мухосрани открыта вакансия постоянно - Разработчик (MS SQL, C#).
Платят от 60к точно. Для меня это сногсшибательно, т.к. в дс ездить 2 часа и я не планирую тратить столько времени и сил, поэтому решил работать тут.
Так вот, сколько по времени надо будет +- изучить .net/c# и бд для того, чтобы вкатиться на заводик. Заводик хороший, много знакомых там работает.
Пикрил - требования для работника.
Самому мне 24.5 года, знаю базу всех языков (ооп когда-то что-то крутил на плюсах и джаве, но сейчас не помню от слова совсем, паттерны только в теории читал, считай не знаю). Хорошо знаю вёрстку и sql на 3/10.
Я сам по себе не тупой, поэтому проблем с освоением не будет.
Нужно мнение ваше, сколько времени займёт изучение того, что требуется на пикриле? (кроме плюсов)
Аноним 16/02/21 Втр 23:23:56 1943691623
Аноним 17/02/21 Срд 02:52:56 1943778624
>>1943435
Сяп бро, постараюсь отписать со а
Временем
Аноним 17/02/21 Срд 07:36:08 1943831625
Аноним 17/02/21 Срд 18:18:52 1944402626
>>1943687
Судя по моему заводу - берут туды всех, даже знания не нужны. Другое дело, что на заводе на самом деле нет нормального разграничения: бек, фронт, блядь, язык.
Скажут - придется тебе ангулар за неделю осваивать, потом - сишечку чтобы драйвера писать, ведь тот кто писал драйвера - ушел в запой; потом скажут: короче, мы слышали что докер это крута, давайте докер в наш унитаз умный впихнем, охуенно же и ты будешь форкать докер и пытаться засунуть его в унитаз.
Аноним 17/02/21 Срд 21:29:26 1944607627
Посоны, как вы учили Linq? Сам С# учу уже месяц как, зашел на codewars свои знания проверить и охуел, я пишу процедурами на 10-15 строк, а остальные за 2-3 строки, используя Linq.
Аноним 17/02/21 Срд 21:48:27 1944614628
>>1944607
Линк сложно учить, если ты нуб и только вкатываешься. Линк хорош, когда ты 10 лет кодил ХП в СУБД.
Аноним 17/02/21 Срд 21:58:49 1944622629
Пытаюсь вкатиться в это ваше погромирование. Товарищ посоветовал шарп, причем вдруг с нихуя прислал мне видеоурок и литературу.
Посоветуйте какую-нибудь простую, но нетривиальную задачу прям вот полному ньюфагу, чтоб нескучно заниматься было. Ну и не тупо по урокам повторять, а самому что-то реализовывать.
Ну и заодно, такой вопрос, комфортно ли кодить на шарпе в линуксе? Пока сижу на дриснятке, но поставил из любопытства Мяту второй системой, и прям радует. Дрисня заебала, постоянно тарахтит жёстким диском.
Аноним 17/02/21 Срд 22:09:55 1944630630
>>1944622
1. Если ты только вкатываешься в кодинг, то тебе надо научиться выполнять самые простые задачки, что-то такое точно есть в твоих видосиках и книгах.
2. Шарп это в первую очередь кодинг под венду, так что сам подумай.
Аноним 17/02/21 Срд 22:12:23 1944635631
>>1944622
Зайди на codewars, я там задачки решаю, но если ты совсем ньюфаг, то лучше месяц подучи, а потом уже задачи решай. Сам месяц назад начал изучение C# по видеоурокам SimpleCode на ютубе, мужик внятно все объясняет и видео уроки короткие (10-20 минут), что радует.
Аноним 17/02/21 Срд 23:11:46 1944659632
>>1944630
Шарп уже давно может под все.
Аноним 17/02/21 Срд 23:15:46 1944664633
>>1944622
Чтоб нескучно было поставь Унити и делай Игорей
Аноним 17/02/21 Срд 23:28:08 1944673634
>>1944635
Да, его и смотрю. Понятно объясняет.
Последую твоему совету.
>>1944630
Видел, что можно на лине им пользоваться. Значит, возможность есть. Логично же. Вопрос, комфортно ли.
Ну или посоветуй, в чем кодить на Линуксе и под Линукс. Чтоб и востребованное было, и ньюфага не пугало.
>>1944659
Вот-вот. Пока все нравится, интересно. Когда-то давно щупал Basic в технаре, писал скрипты для модов на Моррошинд, а в целом опыта в программировании нет совсем. Но чёт на 36-м году жизни захотелось чего-то нового. Может и серьёзно вкатиться. Не резать же памятники до конца своих дней.
Аноним 17/02/21 Срд 23:33:51 1944676635
>>1944673
>Ну или посоветуй, в чем кодить на Линуксе и под Линукс. Чтоб и востребованное было, и ньюфага не пугало.
Джава. С высоты твоего положение, это тот же шарп.
>>1944659
Может, но не нужно.
Аноним 17/02/21 Срд 23:35:14 1944677636
>>1944673
>Не резать же памятники до конца своих дней.
Айти может заебать точно так же. Говорю как человек пару лет как вкатившийся. Такое же говно, как и везде, ну платят хорошо, да.
Аноним 18/02/21 Чтв 05:10:06 1944756637
>>1944607
Шо там учить-то? Линку - декларативный же. Тебе и нужно-то только понимают, что значит каждое из слов, представлять как делается флюент интерфейс, ну и знать про лямбды и что в функцию можно передать в качестве аргумента в другую функцию.
Да блин, попробуй сам написать во флюент-стиле класс для фильтрации чего-нибудь без линку и iqueryable. Если не знаешь как - посмотри как делаются всякие спецификации, которые можно друг с другом объединять.
Аноним 18/02/21 Чтв 07:16:15 1944842638
>>1944677
Дабл, ты дело говоришь.
Но я не о том немного. Резать памятники охуенно, и меня не заебало. Но это очень пыльная и вредная работа. Их приходится носить, а они тяжёлые, а спина не вечная. Так что просто готовлю задел на будущее.
Могу, конечно, перекатиться на написание портретов на том же граните.
А с другой стороны, новые навыки - новые нейронные связи. В любом случае хорошо.
>>1944676
Джаву можно тоже потыкать, да. Попробую.
Но уже начал шарп учить, всё нравится.
Ладно, буду пробовать, хули мозги ебать.
Аноним 18/02/21 Чтв 10:38:20 1944915639
>>1944756
>сам написать во флюент-стиле класс для фильтрации чего-нибудь без линку и iqueryable. Если не знаешь как - посмотри как делаются всякие спецификации, которые можно друг с другом объединять.
Через екстеншены?
Аноним 18/02/21 Чтв 11:49:15 1945003640
>>1944614
Нахуя вообще субд знать для линкью? Линкью это просто функции над коллекциями, и субд это только одна из немногих вещей, для котоорых можно юзать linq.
Если ты не дебил или хоть немного знаешь фп, то с линкью не должно быть никаких проблем.
Аноним 18/02/21 Чтв 12:02:21 1945042641
У меня в vs code пикрил, как сделать, чтоб всё на английском было?
Аноним 18/02/21 Чтв 12:02:45 1945044642
Аноним 18/02/21 Чтв 15:35:55 1945343643
image 12Кб, 675x165
675x165
Что студия от меня хочет?
Аноним 18/02/21 Чтв 15:36:24 1945346644
>>1945343
Все фреймворки и всё такое установлено
Аноним 18/02/21 Чтв 18:36:48 1945524645
>>1945343
хочет чтобы ты не использовал в design-time конструкторы с параметрами. и если уж используешь, то не создавай инстансы
Аноним 18/02/21 Чтв 20:49:54 1945638646
Чё-то я заметил, что для шарпа почти нет нормальной литературы, есть справочники на тысячи страниц, но именно обучающей литературы с упражнениями нету, чего нельзя сказать про ту же Джаву. Что за проклятие такое?
Аноним 18/02/21 Чтв 21:19:46 1945665647
>>1945524
У меня в той же самой 19 студии тот же самый проект запускается и прекрасно работает, а такая хуйня на другом компе происходит
Аноним 18/02/21 Чтв 22:00:40 1945721648
Челы, а я вот украл курсы скилбокса по шарпу, сижу делаю их модули и все такое. И там одно из первых заданий звучит примерно как "сделайте в консольке записную книжку, в которой можно создавать, смотреть, импортировать и удалять записи". И я вот не могу понять как удаление реализовать. Все что я придумал это записывать текущий файл в массив, удалять оттуда запись, удалять старый файл, создавать новый, записывать в него массив. Но это же говно какое-то? Как это элегантно обставить?
Аноним 18/02/21 Чтв 22:43:21 1945744649
>>1945721
Мне не до конца понятно, как именно у тебя хранятся данные. Если я правильно понял твою реализацию, то да, простейшим вариантом будет считать из файла, десериализовать, удалить лишнее, сериализовать и перезаписать файл. У тебя наверняка методы чтения и записи уже реализованы. Если тебя производительность беспокоит (а она не очень будет на больших файлах) - используй базу данных.
Аноним 18/02/21 Чтв 22:57:43 1945758650
>>1945744
У меня эксель файл в который я все записываю.
Аноним 18/02/21 Чтв 23:14:03 1945771651
image.png 25Кб, 440x585
440x585
я тупой, но попытаюсь обьяснить. Короче как более грамотно будет?
Поле-коллекция,или поле- класс, реализующий интерфейс коллекции? Фактически там одно и то же. Но все таки как правильно?
Аноним 18/02/21 Чтв 23:46:18 1945796652
>>1945771
А почему у тебя все public ?

Правильнее будет сделать публичное свойство для получения экземпляра Worker { get; }, а внутри сделать приватную реализацию как удобнее Dictionary<int,Worker> например или лист или кастомное че
Аноним 18/02/21 Чтв 23:49:41 1945799653
>>1945796
Если надо всю коллекцию получить, метод Workers[] GetAllWorkers()
Аноним 18/02/21 Чтв 23:53:35 1945803654
>>1945796
Так ты избавляешь от проблем, если вдруг нужно будет поменять тип коллекции, а массив поддерживается по умолчанию.
Аноним 19/02/21 Птн 00:37:58 1945841655
>>1945758
Эксель это суперхуевый формат для таких задач, почитай уже про xml или json.
Аноним 19/02/21 Птн 10:03:21 1945968656
>>1945721
При запуске приложения у тебя с файла считывается инфа и запихивается в массив. Далее ты удаляешь нужный элемент массива, или другие действия. И потом записываешь обратно в файл. Насколько я помню, есть метод, который перезаписывает файл, т.е. чистит файл и записывает туда новые данные. И про этот метод было сказано в модуле, слушай внимательнее.
Мимо такой же вкатыш по спизженным курсам скиллбокса
Аноним 19/02/21 Птн 12:25:11 1946061657
Тут есть кто живой? Приём!

У меня вопрос! Смотрел в инете, но решения не все понравились.

Задача - получить доступ к некоторым элементам формы номер один из формы номер два.

Нашёл в инете интересное предложение создать список форм в отдельном классе, создал, изменить видимость или работоспособность не проблема, всё прекрасно. Но вот управлять элементами не получается. Я попробовал поменять параметр modifer с private на public, но видимость не поменялась.

Как обращаюсь к одной из форм - SomeList[0], где ноль это номер формы, ну а далее через точку.

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

Ну или как правильно подобное делать.
Аноним 19/02/21 Птн 13:59:39 1946236658
>>1945803
нипонел. Ну юзай ICollection тогда
Аноним 19/02/21 Птн 16:31:30 1946445659
image.png 17Кб, 718x164
718x164
image.png 24Кб, 552x283
552x283
Что за хуйня, почему я не могу найти ни одного нормального способа преобразовать дату с# в дату JS

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

ЛЮДИ КАКАЯ НАХУЙ КОЛОНИЗАЦИЯ МАРСА, у вас блядском фронте и беке одной страницы несовместимые форматы дат, ЛЮДИ ВЫ ОБОСРАЛИСЬ! ПРОСНИТЕСЬ! ебать и они еще с тупых пиндосов ржут из-за их имперской системы мер не замечая при этом все вы живете в полном говне хаотических стандартов. Я все сказал! Бесите! Кцс тьфу!
Аноним 19/02/21 Птн 17:55:18 1946529660
>>1946445
марсоход не видит разницу между не-десятичной системой мер и просто разным форматированием одного значения?
небось у тебя 21-00 и 9 после полудня разное время
Аноним 19/02/21 Птн 17:59:02 1946536661
>>1946529
О, дебич проснулся который не знает что в джс дата начинается с 1970 и измеряется в милисекундах а в с# дата начинается с нулевого года и изменяется в тиках, с пробуждением гений ты мамин
Аноним 19/02/21 Птн 18:01:12 1946543662
>>1946536
> джс дата начинается с 1970
да хоть от большого взрыва

чем 19 февраля ( то есть сегодня) в жс отличается от 19 февраля в шарпе? указывают на разный день?
Аноним 19/02/21 Птн 18:05:19 1946557663
>>1946543
В том что ты не можешь сделать простой serialize из одной даты в другую гений потому что одна жата это милисекунды а другая тики, в жс в принципе нет такой херни как тики что бы можно было нормально преобразовать и приходиться извращаться как дебичи с пикрилов выше вместо нормального квантовго преобразования как у жидомасонов
Аноним 19/02/21 Птн 18:09:14 1946566664
>>1946557
причем тут миллисекунды? причем тут тики? что ты несешь?
ты жалуешься на разный формат даты
для таких как ты придумали ISO 8601 как стандарт
или согласшение unix time (timestamp) от 1970 года

используй один формат на обоих сторонах и проблем не будет.

у тебя на пике 1 вообще хуета какая то
парсишь строку вида Date(числа)
ты бы еще вместо такого формата лучше бы фото солнечных часов сериализовал и на шарпе распонавал через нейросети

сам себе находишь проблем на ровном месте пока люди на марс летят

Аноним 19/02/21 Птн 19:50:27 1946726665
>>1946566
Ты имеешь виду просто форматировать строку в подходящий для исо формат? Как здесь? и скормить дату как стринг в виде "yyyy-MM-ddTHH\\:mm\\:ss.fffffffzzz" а потом в таком же формате прочитать типу date("yyyy-MM-ddTHH\\:mm\\:ss.fffffffzzz");
Аноним 19/02/21 Птн 19:50:59 1946729666
Аноним 19/02/21 Птн 20:39:22 1946749667
>>1946726
данные это одно, а их форматированный вывод это другое
данные всегда везде одинаковы, а формат зависит от региональных настроек
Если дата ходит между сервером и клиентом, то она обязана быть стандартизированным значением.
Это вообще универсальный совет - храни дату в стандартизированном виде (и желательно UTC), а форматируй уже при выводе пользователю.

тогда избежишь проблем парсинга - стандарт ведь.

конечно жс херово работает с датами из коробки. просто люто херово. Но даже там есть тонна либ, которые делают работу вменяемой
Аноним 19/02/21 Птн 22:37:26 1946848668
e3b66f3429a6f7e[...].jpg 68Кб, 439x604
439x604
>>1946061
> получить доступ к некоторым элементам формы
> Ну или как правильно подобное делать.

Через биндинги)))))))))))))))))))))))))))))))))))))))).
Аноним 20/02/21 Суб 03:26:03 1947009669
Какой же шарп классный! Просто пишу и не могу нарадоваться.
Аноним 20/02/21 Суб 12:57:26 1947243670
>>1947009
как можно называть классным язык где IList не наследует IReadOnlyList
Аноним 20/02/21 Суб 14:51:12 1947381671
G1gIREj[1].png 15Кб, 992x215
992x215
ofO6rqG[1].png 9Кб, 847x136
847x136
В контроллере имеется метод Create, с помощью которого мы добавляем данные в БД. Есть авторизованный пользователь(реализовано с помощью AspNetCore.Identity) с определенным UserId. Мне нужно, чтобы в данном контроллере при добавлении данных к ним автоматически привязывался UserId текущего авторизованного пользователя(дабы потом каждому пользователю отобразить только добавленные им данные). Только я нихрена не понял как это реализовать. Определять ID текущего пользователя я научился, а вот как добавить эти данные в БД, с остальными данными, которые он ввел я не врубаюсь.
Аноним 20/02/21 Суб 14:55:42 1947385672
image.png 852Кб, 1920x1080
1920x1080
кринж
Аноним 20/02/21 Суб 15:07:37 1947394673
Калькулятора на гитхабе хватит для устройства на галеру?
Аноним 20/02/21 Суб 15:11:55 1947399674
>>1947381
Вот же я тупой, стоило сходить в туалет, и понял как это сделать.
Аноним 20/02/21 Суб 16:28:36 1947484675
>>1947394
Учебных проектов из трех книг по шарпу хватит для переката в Европу?

Нет я не ебанулся, просто времени на пет-проджекты не было, а так 4 года в продакте
Аноним 20/02/21 Суб 16:50:07 1947506676
>>1947484
Но калькулятор очень крутой...
Аноним 20/02/21 Суб 16:59:11 1947514677
image.png 9Кб, 448x217
448x217
Аноним 20/02/21 Суб 17:25:43 1947564678
>>1910324 (OP)
Котанчики помогите ЛАМЕРУ
Короче есть прошивка на плеер, она типа дохуя меняет звук - а каким образом мне решительно непонятно - автор таюшничает, не палит контору, а хочется понимать механику работы и че там изменяется
http://file.sampo.ru/r2rwkj/
Тут 3 DLL файла по 100 кб в каждом из архивов, 1 стоковый другой от его прошивки - скажите че там ваще внутри происходит плез
Аноним 20/02/21 Суб 19:18:25 1947706679
>>1947394
С поддержкой проядка действий и операций помимо сложить-вычесть-умножить-разделить - вполне. Эт как-бы как минимум нужно знать терорию автоматов, уметь простенькие стейтмашины делать и пользоваться структурами данных типа стека. Меня вот на джуна взяли просто за то что я знал что делает out, лол.
Аноним 20/02/21 Суб 20:42:43 1947797680
Слышал мнение, что контроллер АПИ должен выступать только как точка входа и, максимум - приводить запрос к виду пригодному для дальнешей обработки. Кто-то поддерживает это мнение? Мне вот кажется, что это бессмысленное усложнение, лишние абстракции и вообще не так уж удобно. Вот я на данный момент - валидацию таки в контроллере провожу, как и всякие штуки по проверки прав доступа к реусрсу и только после этого передаю это обрабатывающему саму логику запроса коду, такой вот КПП получается, меня только смущает что из-за DI - ресурсы не так эффективно используются, ну да ладно. В общем, поясните, когда абстракция - лишняя, а когда - лучше ничего не разбивать.
Аноним 20/02/21 Суб 22:49:54 1947933681
15876740362891.webm 1724Кб, 320x240, 00:00:43
320x240
Я тут экспериментировал и кое-что заметил. При перегонке что? объекта в родительский класс перезаписанный метод не меняется.

Подробней:
Есть класс Person, есть класс Worker. Класс Worker наследуется от Person. В классе Person есть virtual метод, который я перезаписываю внутри Worker. При приведении экземпляра класса Worker к типу класса Person, метод остается измененным. Есть решение?
Аноним 20/02/21 Суб 22:55:16 1947939682
>>1947933
Я даже не могу представить ситуацию, когда это нужно. Но если так уж хочешь - рефлексией дергай метод родительского класса.
Аноним 20/02/21 Суб 23:50:00 1947974683
Аноним 20/02/21 Суб 23:58:17 1947978684
>>1910324 (OP)
есть cs-файл. И есть lf в EOL. Есть github. И есть загрузка файла в репо, через веб-интерфейс. Есть git. И есть git clone repoURL. Есть папка, и какого-то хуя CRLF в EOL. FUUUUUUUUUUUUUUUUUUU!
Аноним 21/02/21 Вск 00:02:00 1947980685
>>1947978
Напишите кто-нить в поддержку github'а, пускай добавят EOL в blame, при просмотре файлов.
Аноним 21/02/21 Вск 01:08:18 1948037686
>>1945665
он и будет работать. при выполнении то проблем с инстанцированем вьюмоделей нет
и может быть нормально за счет ранее собранного
сделай clean solution и все будет как и на другом компе
Аноним 21/02/21 Вск 07:33:34 1948093687
наткнулся на некую хуевину BLAZOR. это что вообще? замена жс? подводные камни?
Аноним 21/02/21 Вск 08:26:30 1948100688
image.png 657Кб, 821x954
821x954
Ребят мб знает кто какой скриптик на asp net core mvc что бы не сильно сложный был. Ну мб админка какая, или же хуй знает ну корочи скрипт с 10 вьюхами и моделями что бы не запутатся, поделитесь ссылкой пожалуйста. Хочу посмотреть как ваще делается правильно.

>>1948093
Это ахуенная штука, я смотрел обзор. Сразу после разорПейдж буду его изучать.

ЖС рудимент веб 1.0 он должен умереть как умерла асикью, майл агент и жабер.
Аноним 21/02/21 Вск 11:56:35 1948198689
Сап аноны, собеседовали по c# javascript и БД в итоге взяли на стажировку на разработчика crm систем или что-то такое. Пока не совсем понял что это и несколько все это вообще хорошо/плохо, оторвано от реальности (т.е. смогу ли я в другие компании потом влететь или это в один конец)
Аноним 21/02/21 Вск 14:28:00 1948368690
Есть ли какая-то возможность писать классы и методы, у которых будет обобщённый тип float или double? С возможностью складывать, умножать числа и т.п.
Аноним 21/02/21 Вск 14:36:28 1948377691
>>1943687
На уровне макаки - 5 недель.
На уровне, чтобы уже завтра не было стыдно, какую хуйню ты написал - 5 лет.
Аноним 21/02/21 Вск 16:21:42 1948477692
HcCiuXL[1].png 33Кб, 607x512
607x512
CMDMsfm[1].png 11Кб, 431x236
431x236
yc27mTq[1].png 26Кб, 663x461
663x461
Есть CRUD приложение ASP.NET CORE+EF CORE. Мне нужно, чтобы при редактировании данных пользователь мог редактировать не все поля. Для этого я создал модель представления. С реализацией view и POST запроса при редактировании я разобрался. Но вот с реализацией GET запроса у меня проблемы. Мне нужно, чтобы данные, которые нужно редактировать передавались в view, также я проверяю относится ли данная задача к авторизованному пользователю и проверка на 0(не null), ибо если ид поставить равным 0 вылетает исключение. Я сделал рабочую реализацию, но код выглядит отвратительно, можно ли реализовать это лаконичнее?
Аноним 21/02/21 Вск 18:43:54 1948621693
>>1946061
> Нашёл в инете интересное предложение создать список форм в отдельном классе, создал
Как стартует твоё приложение?
Откуда оно начинается вообще?
Что происходит, когда ты запускаешь my_huita.exe ?

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

Мой следующий вопрос: Когда ты запустил приложение и создал форму, куда делась переменная, которой был присвоен инстанс окна, которое ты создал?

Вот когда ты ответишь на этот вопрос, ты автоматически поймёшь, как создать и хранить несколько окон и управлять ими, включая докинг, скрытие, сортировка и т.п.
Аноним 21/02/21 Вск 19:46:55 1948640694
.png 25Кб, 503x420
503x420
.png 40Кб, 849x844
849x844
>>1948477
ХЗ, я бы так вот делал)))
Аноним 21/02/21 Вск 21:56:34 1948706695
>>1948640
Я бы тебя за такое в продакшн коде убил.
Аноним 21/02/21 Вск 22:41:13 1948733696
где можно про все эти POST и т.д. почитать с примерами?
я поймал себя на мысли, что мне здорово работу облегчит если запилю программу, которая будет тягать данные с удаленного сервера через апи, у них только через ssl+oauth, а я в душе не ебу как там с этими интернетами работать надо.
я бы и нормального прогера нанял, но прибыль с приблуды его зп не окупит
Аноним 22/02/21 Пнд 00:09:12 1948756697
>>1948733
Че там читать? У http есть несколько типов запросов - get-post-put-delete и т.д. в соответствии со спецификацией - одни могут тело содержать, другие нет. Сервер должен уметь их обрабатывать. Собственно, все что знать нужно. Нажми f12 и во вкладке network посмотришь как эти запросы сами выглядят.
Аноним 22/02/21 Пнд 00:54:12 1948786698
>>1948756
а как это же самое через SSL и OAuth провернуть?
Аноним 22/02/21 Пнд 10:13:57 1948908699
>>1946749
Данные нихрена не одни, я уже писал что данные измеряются в разных величинах, а еще например в джс месяц начинается с нуля, а в с# с единицы ну это так, один из примеров ебанутость джса, из-за этого все парсеры такие ебанутые с додаиванием и отниманием чисел, а то что ты написал тоже хуйня, потому что если траблы с часовыми поясами в с# utc now и now не равны, а в джс равны, ты понимаешь насколько это большая проблема? и вообще вся эта херня с "ну просто передать дату стрингом" какой же это убогий костыль в стиле ебучих джейесов где

if( "1 + 1"){console.log(2);}
Аноним 22/02/21 Пнд 12:49:12 1949044700
Видел некоторое количество кода на шарпе, где по задумке нужен двумерный массив, но вместо того, чтобы использовать двумерный массив, поставляемый языком, авторы кода используют для хранения данных одномерный массив + собственную функцию пересчёта двух индексов в один.
Почему? Зачем?
Аноним 22/02/21 Пнд 12:51:22 1949048701
>>1947797
>Мне вот кажется, что это бессмысленное усложнение, лишние абстракции и вообще не так уж удобно.
Охуел? А за что ты деньги будешь получать? 2 строчки напишешь и всё? А ну-ка создавай ещё один проект, там создавай сущности, дто для них, дто для дто, дто для дтодто, потом отдельно сущности валидаторов, валидаторы для валидаторов, ещё привяжи как минимум 10 библиотек из нугета, отдельно классы для каждого пука и всю эту ебанину покрыть юнит-тестами. Зачем? А чтоб ты заебался!
Аноним 22/02/21 Пнд 12:55:10 1949049702
Аноним 22/02/21 Пнд 12:57:37 1949052703
>>1949049
Сходи на стажировку, посмотри что там да как, может тебе понравится и останешься там. Ну а не понравится - уйдёшь оттуда.
Аноним 22/02/21 Пнд 13:00:39 1949055704
>>1949044
Чем меньше размерностей массива, тем меньше проверок выхода за его границы. В идеале для оптимизации надо использовать unsafe указатель.
Аноним 22/02/21 Пнд 13:21:30 1949073705
>>1948908
причем тут работа жс с датой

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

Если использовать стандарты типа ISO 8601 (date.ToString("o");),
то "22 февраля 21года с таким то временем и часовым поясом" распарится в жс именно в 22 февраля (и похер как считаются месяцы)

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

Стандарты для этого и придуманы

точно так же можно работать и с миллисекундами, но там лучше использовать соглашение приводить время к UTC
Аноним 22/02/21 Пнд 13:32:06 1949077706
>>1949073
а что если у меня нет возможности парсить так как просит джс, что если у меня например выполняется sql процедура на странице? и такой хуйни как toString("0') в sql тупо нет, и вообще это же значит что мне КАЖДЫЙ РАЗ надо будет парсить с текущей культуры в ISO 8601 потом в ту что хавает шарп и наоборот, господи какое же это убожество, ненавижу блять джс
Аноним 22/02/21 Пнд 13:52:49 1949101707
.png 11Кб, 588x303
588x303
>>1949044
Лично по моему опыту так делается потому, что в фреймворке оч много есть штук для обычных массивов, а вот для двумерных, трехмерных - нихуя нет. Ты не сможешь пользоваться линку, не будет удобного способа скопировать и вообще. Короче, фреймворк во многих местах заточен под работу с одномерными массивами, банальный линку ты не сможешь применить нормально.
А насчет проверок выхода за границы. Там зачастую тебе это оптимизирует компилятор. Ну и вообще, такой уровень оптимизации начинается когда уже совсем уперлись в перформанс, в 99% случаев в шарпе у тебя скорость работы будет больше страдать из-за того что ты вводом-выводом занимаешься.
Аноним 22/02/21 Пнд 13:58:23 1949103708
>>1949077
чего чего у тебя нет?
у тебя жс прямо с базой sql работает что ли?
тогда причем тут шарп

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

и ISO 8601 парсить особо не нужно. биндинг того же асп.нет коре его сам сбиндит
Аноним 22/02/21 Пнд 13:59:36 1949104709
Аноним 22/02/21 Пнд 14:13:52 1949113710
image.png 59Кб, 1227x398
1227x398
>>1949073
Ты что не слышал про выполняемые процедуры на клиентской стороне?
Аноним 22/02/21 Пнд 14:29:38 1949126711
>>1949113
ах эти asp контролы
я промотал все это сразу до выхода асп.нет коре, где всего этого нет
И вообще считаю, что эти контролы больше палки в колеса ставят
Про запросы SQL в виде кода вообще брррррр гадость.

так что это у тебя конкретно в асп старом проблема, что вот у тебя контрол и такая жопа с датами, а не в общем проблема жс и шарпа в непонимании друг друга
Аноним 22/02/21 Пнд 14:32:04 1949128712
image.png 12Кб, 651x202
651x202
image.png 27Кб, 1035x371
1035x371
image.png 33Кб, 1036x432
1036x432
image.png 80Кб, 1415x637
1415x637
Я наверное куда то не туда смотрю чи шо.
Статистика серверного языка сайтов ни как ни коррелируется с вакансиями
Аноним 22/02/21 Пнд 14:33:00 1949129713
image.png 48Кб, 590x658
590x658
>>1949128
Первый пик то хуета, вот этот правильный.
Аноним 22/02/21 Пнд 14:39:20 1949135714
image.png 13Кб, 843x107
843x107
>>1949126
>так что это у тебя конкретно в асп старом проблема
Клиентский контрол который использует жс что бы прочитать дату с сервера, но джс обосрался
> а не в общем проблема жс и шарпа в непонимании друг друга
>НЕ ПРОБЛЕМА В ЖС ПОТОМУ ЧТО Я ТАК СКОЗОЛ

как же ты маняврируешь,

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

и кстати не работает твой сраный ИСО, ОН ТОЖЕ ОБОСРАЛСЯ
Аноним 22/02/21 Пнд 14:54:46 1949138715
>>1949135
>и кстати не работает твой сраный ИСО, ОН ТОЖЕ ОБОСРАЛСЯ
я выплыл на лодке в поле. гребу гребу, нихрена не гребет. херня эти ваши лодки )))

>контрол который использует жс
>но джс обосрался
никаких проблем между послать дату шарпа и получить ее на жс не наблюдаю.
наблюдаю проблему с конкретной реализацией некоего контрола.
я с ним не работал и не писал его. Но я сильно подозреваю, что он не накладывает никаких требований на "что храним в базе данных" и как результат получаем хрень.
А в базе не нужно хранить абы что, а нужно хранить метку времени в UTC (можно и timestamp) либо ISO
И конечно же контрол этот момент не учитывает, ведь его задача делать запросы в базу и выводить и такой момент с разным форматом или упущен (как оно обычно бывает) или же где то это учтено (мож конвертеры какие), но про них не знаешь.

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

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


Аноним 22/02/21 Пнд 15:12:43 1949147716
>>1949138
Ты вообще понимаешь что за чушь ты пишешь? Никаких требований на "что храним в базе данных", я же самого начала написал что у меня подгорает из-за того что я должен париться из за таких мелочей как "что храним в базе данных" В КАКАОМ БЛЯТЬ ВИДЕ ХРАНИТЬ ДАТУ В БАЗЕ, а какого хрена вообще? ты понимаешь что я не должен хранить в базе ДАТУ ЕБУЧИМ СТРИНГОМ, дата это лонг, это последовательность битов, это такой же универсальный тип данных как инт или в стринг, а ты мне говоришь, ну храни дату в стринге и парси ее для жса, в чем проблема, что за чушь вообще? почему сраный джс мне указывает как я должен хранить дату, ОН ДОЛЖЕН ЖРАТЬ ЧТО ДАЮТ, будь я китайцем или я араб и пишу вязью, время у меня будет точно такое же, а дс уже должен взять эти биты и красиво нарисовать из них иероглифы китайцу и арабскую вьязь арабу А ОН ЭТОГО СУКА НЕ ХОЧЕТ ДЕЛАТЬ
Аноним 22/02/21 Пнд 15:13:59 1949148717
>>1949138
Ответ на этот вопрос понимаешь, когда нужно изменить название поля или структуру данных и начинаешь ползать по всему проекту, по которому все эти запросы размазаны

ctrl + shift + f
не благодари
Аноним 22/02/21 Пнд 15:27:11 1949151718
>>1949147
>я же самого начала написал что у меня подгорает из-за того что я должен париться из за таких мелочей
вот только в виновники ты записал жс и шарп, а не конкретную реализацию конкретного контрола, которая не дает....я честно говоря хз че она там не дает. Если бы контрол писал я, то с датой работал как с датой и форматировал исключительно при выводе не теряя оригинальную дату как контекст.

Я конечно считаю жс лютым говном. Во всем мире не найдешь человека, который считает жс большим говном, чем считаю его я. Но истина дороже

>ДАТУ ЕБУЧИМ СТРИНГОМ, дата это лонг, это последовательность битов, это такой же универсальный тип данных как инт или в стрин
шта? ты щас вообще о чем. Какой еще стринг.

>парси ее для жс
вообще то не парси а форматируй ее в ISO, если у тебя на руках объект DateTime(Offset), который нужно послать.
У тебя же контрол который сам достает из базы и похоже шлет на клиента "как есть" и если SELECT ddd FROM ... выдаест ISO то жс умеет.
new Date() в жс отлично понимает и ISO формат и миллисекунды.

А если ты в базе хранить 25/05/2021 то ты сам себе злобный буратин

>ctrl + shift + f
то есть ты предлагаешь лазить по всему проекту пропуская сотни левых совпадений с шансом накосячить и это вместо автоматического рефакторинга - спасибо, но не нужно.
Аноним 22/02/21 Пнд 15:27:46 1949152719
image.png 20Кб, 661x353
661x353
image.png 16Кб, 718x198
718x198
Почему ajax выполняет то что находится в success: до того как приходит ответ?
Аноним 22/02/21 Пнд 15:44:23 1949170720
>>1949151
какого контрола? О чем ты говоришь? При чем тут реализация вообще?

>шта? ты щас вообще о чем. Какой еще стринг.
Так это ты про какой-то utc в базе мне расказивал, что уже не бойсь не помнишь, заднюю включил?

>вообще то не парси а форматируй ее в ISO
Вот по этой фразе я понял что ты нихуя не понимаешь о чем, говоришь, потому что date.toString("0") про который ты мне писал это и есть парсер гений, дата записывается и храниться в лонге, в цифровом виде, а приведение его к стрингу вот так date.toString("0") это парс

то-есть ты переводишь родной цифровой формат в стринг, скармливаешь его джс, и он из стринга переводит его в своей ебанутый формат, это и есть парс глупышка

>А если ты в базе хранить 25/05/2021 то ты сам себе злобный буратин
в базе храниться не 25/05/2021 в базе храниться 633896886277130000 sql показывает тебе 25/05/2021 только из за твоих региональный настроек, был бы ты арабом показывал бы 2021-05-25 то каким образом скл отображает цифровое значение не имеет вообще никакого значения

>то есть ты предлагаешь лазить по всему проекту пропуская сотни левых совпадений с шансом накосячить и это вместо автоматического рефакторинга - спасибо, но не нужно.
нет, у нормальных программистов есть документация со всеми сносками, а вообще порадовало твоё представление как работает поиск, будто ты всю жить в каком нибудь блокноте работал
Аноним 22/02/21 Пнд 16:05:39 1949186721
>>1949170
>какого контрола?
на скрине вижу некий FilteredGridView. Ты же его показал как пруф того, что "никакого шарпа между жс и запросами в бд у тебя нет, оно все само такое дурное)

>вот так date.toString("0") это парс
вообще то это формат (формат в стандарт ISO), то есть действие обратное парсингу, ну да пофиг.

>633896886277130000
миллисекунды? тогда в чем проблема? откуда на твоих скринах парсинг каких то Date(12345?

>то каким образом скл отображает
Так то я всегда говорил про формат, в котором дата должна ходить от сервера к жс, чтобы жс ее правильно понял.
сам то я вообще никогда не извлекаю вот так сырые данные чтобы отправить - у меня из базы приходит готовый объект DateTime(Offset), но даже так в SQL SERVER есть функции типа convert

>у нормальных программистов есть документация со всеми сносками
у нормальных программистов самодокументируемый код так то

>как работает поиск, будто ты всю жить в каком нибудь блокноте работал
как раз у меня открыта последняя студия и я нажал в нем ctrl + shift + f и забил в поиск completed. И вижу что это самый обычный поиск по файлам без учета контекста. То есть ничем не отличается от блокнота



Аноним 22/02/21 Пнд 16:31:42 1949201722
>>1949186
>вообще то это формат (формат в стандарт ISO), то есть действие обратное парсингу, ну да пофиг.
Формат стринга! Ты неуч, toString парсит дату из цифрового формата в стринг, а параметром парсер уже принимает формат к которому нужно привести одпаршеный стринг, в данном случае он принимает "O" то есть формат ISO

>миллисекунды?
какие миллисекунды ,что ты несешь вообще господи, иди нахуй читать документацию
Аноним 22/02/21 Пнд 17:07:33 1949216723
>>1949201
>toString парсит дату из цифрового формата в стринг
Откуда ты таких метафор нахватался?

toString конвертирует дату в строковый формат в соответствии с заданным шаблоном. Ну или форматирует дату в соответствии с заданным форматом, что менее юридически точно, но все равно верно.

парсинг работает ровно наоборот - из текстового получаем объект даты.

твое "парсит в стринг" будет применимо только если строка будет производить операцию типа String.FromDateTime("o", dateObj)

>какие миллисекунды ,что ты несешь вообще господ
ааа. ты про внутренний формат хранения в бд. Так он не имеет значения. Важно то, что выдается в твоем SQL. И выдать там ISO который изи поймет жс очень легко (тем более что ты запросы руками пишешь)
откуда я знаю что ты там где как хранишь. То ты напрямую из базы выводишь, то какие то парсинги на жс и шарпе делаешь, причем вообще не пойми чего парсинги

напомню с чего все началось
>>1946445
первый пик - вообще хер пойми что ты парсишь. что это за Date(1225547 из которого ты вручную выбираешь миллисекунды похоже и таймзону да?
что это вообще формат такой. ты жалуешься что тебе приходится его мудрить парсить на шарпе вот так - так а зачем ты такой его прислал???? Что ты вообще присылаешь в шарп, что вот так оно выглядит не как дата? почему не пришла вменяемая дата которую просто бы скушал DateTimeOffset.Parse и вообще сделал бы это сам при бинде параметров - ни строчки кода ручками

второй пик - что это за ручной разбор даты
кто мешает сделать просто
new Date(dateStr)?
что такое вообще csDate что не дата (раз надо конвертить) и не строка, раз делается toString()

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

Аноним 22/02/21 Пнд 17:16:42 1949220724
>>1949216
>парсинг работает ровно наоборот - из текстового получаем объект даты.
Ты прав в том что парсер формально означает преобразования из стринга в цифру, я использовал слово некорректно, я конечно же имел ввиду совершенно противоположный процес, преобразования из цифры в стринг

>Так он не имеет значения. Важно то, что выдается в твоем SQL. И выдать там ISO
как раз таки только сам объект даты и имеет значение, а то в каком виде или в каком часовом поясе его отобразить должно быть совершенно по барабану

>первый пик второй пик
не ищи там логики, я просто скинул наиболее дебильные ответы со стака от которых я подгорел
Аноним 22/02/21 Пнд 17:34:09 1949234725
Сап, я чет не пойму, объясните мне дебилу про реалий вкатывания в шарп, дотнет. Возможно ли сейчас устроиться, или нет? Везде разные мнения, не поймёшь где правда. Подскажите где об этом подробнее узнать, если впадлу отвечать. thx
Аноним 22/02/21 Пнд 17:35:24 1949235726
>>1949234
сейчас после пандемии все устоялись мамскинимы программистами на дому, у работодателей отбоя от них нет поэтому сейчас не лучшее время
Аноним 22/02/21 Пнд 17:39:08 1949239727
>>1949235
Думаю ньюфагу вообще без шансов сейчас...
Аноним 22/02/21 Пнд 17:47:21 1949249728
>>1949239
>>1949234
Это еще кстати только пол беды, сейчас денег ни у кого нет, пандемия подрезала финансовые подушки и если раньше можно было взять долбоеба в расчете на "ну а вдруг будет из него толк через годик второй, подучится" то сейчас уже мало кто соглашается на такие эксперименты
Аноним 22/02/21 Пнд 17:52:55 1949254729
>>1949249
и какие варианты , пережидать пока уляжется всё?
Аноним 22/02/21 Пнд 17:56:10 1949259730
Аноним 22/02/21 Пнд 18:02:59 1949271731
>>1949259
программировать свою крипту на шарпах?
Аноним 22/02/21 Пнд 18:06:00 1949276732
Аноним 22/02/21 Пнд 18:08:15 1949282733
мб криптография?
Аноним 22/02/21 Пнд 18:12:03 1949286734
>>1949276
ну не майнить же
видях не купить, да и за что купить
чтобы купить видяхи нужно сначала заработать на шарпе денег
а работы нет

купить крипту? ну мы же не маски
Аноним 22/02/21 Пнд 18:12:54 1949288735
я тоже не понял про крипту
Аноним 22/02/21 Пнд 18:51:43 1949313736
>>1949234
Ну, все ж зависит. Если ты рассчитываешь на стори про 100к джуну - то не вкатишься. Если ты понаехавший в ДС и просишь 40к+ не имея опыта - не вкатишься. Если ты чел без опыта на удаленку рвешься - почти нет шансов. Если в твоей мухосрани нет контор, в которых шарп нужен - не вкатишься.
В остальных случаях - вполне.
Аноним 22/02/21 Пнд 19:15:43 1949328737
>>1949313
Я правильно понимаю, что трейни на шарпах в природе нет? И они за спасибо работают?
Аноним 22/02/21 Пнд 19:17:53 1949331738
>>1949328
Ну, не за спасибо. Я в 2018 за 12к работал.
Аноним 22/02/21 Пнд 19:22:39 1949337739
Аноним 22/02/21 Пнд 20:29:44 1949382740
>>1948706
Поясни плиз.
мимокрок, не он, новичок, хочу понять
Аноним 23/02/21 Втр 07:19:07 1949599741
>>1910324 (OP)
Как сбилдить репозитарий с шарповым кодом, автоматом,
прямо на github'e, с помощью Azure Pipelines,
чтобы этот значёк был зелёным, https://github.com/ChristianEder/azure-pipeline-as-code
и заебато чтобы всё фурычило,
прямо из кода открытого,
и чтобы не надо было пердолится с конпеляцией ядра на ассемблере,
и чтобы бинарники можно было скачать бесплатно и без смс,
и чтобы оно было зелёненькое-зелёненькое,
как тут: https://github.com/bcndev/bytecoin
Аноним 23/02/21 Втр 10:32:36 1949684742
>>1949286
>>1949288
Взламывать кошельки, пиздить коины, творить беспредел, сколько Анонов на этом состояние подняло и не сосчитать
Аноним 23/02/21 Втр 12:26:54 1949721743
Аноны, есть ли на wpf бесплатная либа для image'а для зума изображения на даблклик/колесико, желательно с анимацией?
Аноним 23/02/21 Втр 12:44:54 1949731744
Ребяты, вот например юзер вводит данные на сайте какие либо. Сайт на основе этих данных делает расчеты и выдает юзеру. Где по правилам MVC должен проходить расчет?

Данные передаются в контролер и прямо там считаются? Либо должен быть отдельный класс метод которого будет вызван в контролере для расчета?
Аноним 23/02/21 Втр 12:53:19 1949733745
>>1949731
Желательно класс или менеджер в контролере должны происходить только проверки и бинд модели
Аноним 23/02/21 Втр 12:53:35 1949734746
>>1949731
Желательно класс или менеджер в контролере должны происходить только проверки и бинд модели, ну это так у нас делают
Аноним 23/02/21 Втр 13:02:23 1949738747
image.png 14Кб, 260x279
260x279
>>1949734
Спасиб.

И еще вопрос, как получить пикрил инфу в асп коре? В каком классе она хранится?

Я так понимаю когда юзер заходит на сайт создается экземпляр класса с данными о юзере?
Аноним 23/02/21 Втр 13:14:45 1949748748
Аноним 23/02/21 Втр 14:41:30 1949815749
Купил clr via с# и понял, что я нихуя не понял. Я уже года 2 пишут на шарпе, но это же лютый пиздец какой-то, у меня аж пар из ушей пошёл. Для кого эта книга?
Аноним 23/02/21 Втр 15:25:54 1949865750
Аноним 23/02/21 Втр 16:07:56 1949915751
5345321542345.jpg 739Кб, 1773x1638
1773x1638
>>1949815
Двачую. Я когда только начинал учить шапр, по совету двачей, тоже засел на эту книгу. И как прилежный ботан пытался вдумчиво понять каждую читаемую строчку. И из-за вот такой хуйни, как на пике, которая буквально с первой страницы встречает нюфага, руки которого чешутся перед первым хелловордом, я чуть и не дропнул шарп тогда.
И дело не в том, что книга перегружена сложной и непонятной хуйней, а в том, что 99% инфы оттуда имеют такое сочетание сложности (средняя и высокая сложность) и практической применимости (нулевая применимость), что каждую минуту задаешься вопросом, нахуя это читать.
Книги по плюсам у меня никогда такого отношения не вызывали, потому что всякая плюсовая магия всегда на кончике пальца и в деле.
Аноним 23/02/21 Втр 16:24:21 1949931752
>>1949915
>>1949815
Ооо блять да, тоже ее с шапки было скачал, где-то на 70 страницах дропнул и пошел смотреть видосики для даунов.
Аноним 23/02/21 Втр 16:25:42 1949932753
Я пишу для себя микробиблиотеку тривиальной обработки геометрических сущностей: точки, отрезки, боксы, линии, пути, кольца, полигоны, поверхности.
В принципе, кроме косметических правок, основную реализацию всех объектов написал (переписал со своего древнего говнокода). По ходу дела обнаружил, что частичные аналоги уже есть в стандартной библиотеке. В WinForms есть реализации многого из того, что мне нужно, однако зависимость от форм не хочется добавлять. И не думаю, что там всё это имеет какие-то оптимизации.
Есть также структуры Vector2 и Vector3 в пространстве Numerics. Может ли быть какой-то профит использовать именно их? Вроде как они очень круто оптимизированы. Недостаток их использования для меня, что я всё же не могу нормально расширить их функциональность.
В общем, что посоветуете по этой теме. Перформанс важен, но удобство кодинга и контроль над кодом важнее.
Аноним 23/02/21 Втр 18:03:40 1950023754
>>1949932
>Перформанс важен, но удобство кодинга и контроль над кодом важнее.
Если тебе Vector2 и Vector3 не подходят - ты ответил на свой вопрос.
Аноним 23/02/21 Втр 19:13:32 1950105755
А вот если нет данных в MVC то получается и модель не нужна?
Ну вот к примеру будет сайт с 5 страницами и обработкой введенных данных от пользователя. Вроде же некуда тут модель впихивать.
Аноним 23/02/21 Втр 19:50:15 1950143756
>>1950105
В этом случае тем не модель не нужна, а MVC в целом. Просто статические страницы с обработкой на клиенте, ну или если нужно сервер-сайд выполнение, то апишка с вызовом твоей числодробилки (сервис аз ис)
Аноним 23/02/21 Втр 21:38:16 1950222757
Аноним 23/02/21 Втр 23:13:00 1950282758
А есть положительные отзывы на CLR via C# ? Ощущаю, что глубинного пердолинга стает все больше в работе, подумываю о улучшении понимания дотнета. Или есть что-то полезное, но более щадящее?
Аноним 24/02/21 Срд 10:08:45 1950436759
image.png 122Кб, 183x276
183x276
>>1950023
НЕТ, КОГДА ВЫ УЖЕ ПОЙМЕТЕ, клиенту похер как у вас код отформатирован, ему похер сколько вы комментариев настрочили, ему плевать какие крутые технологии вы использовали, ЕМУ ВАЖЕН ТОЛЬКО ПЕРФОМАНС, будете для себя код писать пишите как хотите, а для клиента вы ДОЛЖНЫ писать код который максимально эффективный и производительный
Аноним 24/02/21 Срд 11:24:02 1950467760
>>1950436
>Я пишу для себя микробиблиотеку тривиальной обработки геометрических сущностей
У тебя все хорошо?
Аноним 24/02/21 Срд 12:30:51 1950499761
>>1950467
говнокод начинается с первого:
if(string == "1+1)
{
reutrn 2
}
elseif()....
Аноним 24/02/21 Срд 16:40:46 1950661762
Посоветуйте что почитать/посмотреть по паттернам.
Аноним 24/02/21 Срд 17:53:13 1950724763
Вкатун, работаю с wpf, в планах перекат в веб. Нашел только что cshtml5/bridge.net/deck.net. Насколько годнота чтобы портировать не сильно сложное wpf приложение или говно без задач?
Аноним 24/02/21 Срд 17:54:04 1950725764
*Портировать на asp.net конечно же.
>>1950724
Аноним 24/02/21 Срд 18:10:58 1950748765
>>1950724
А чего просто Blazor не навернуть?
Аноним 24/02/21 Срд 19:04:39 1950807766
>>1950436
Клиенту важно решение его задачи в срок, за тот бюджет что он выделил. Перформанс - может быть конкурентным преимуществом, если две конторы предлагают решение задачи за одинаковую цену.
Блядь, ну серьезно, посмотри на 1с, нахуй, там отчет формируется иногда по полчаса-часу, блядь, который можно ручками собрать парой SQL запросов и выгрузить куда нужно, но 1c всю эту залупу с тем чтобы бухгалтерша нажала и у нее сформировалась делает и поддерживает актуальную хуйню связанную с бухучетом и всем заебись, похуй на то что можно в 100 раз ускорить составление этого отчета.
Аноним 24/02/21 Срд 19:10:30 1950816767
>>1950807
Не знаю кому похуй, может какой-то тёте сраке и похуй но у нас нет, у нас нужно выполнить :
а) в срок
б) что бы работало как предполагается
в) что бы работало максимально быстро
г) что бы можно было поддерживать
е) что бы можно было развивать

ЛЮБОЙ из не выполненных условий валит проект
Аноним 24/02/21 Срд 19:24:40 1950835768
>>1950816
> в) что бы работало максимально быстро
Оки, тогда ты без труда скажешь, какой код работает быстрее и сможешь пояснить почему.
Аноним 24/02/21 Срд 19:25:27 1950836769
.png 3Кб, 453x88
453x88
Аноним 24/02/21 Срд 21:29:36 1950913770
>>1950836
Щас бы дяде мидлу доказывать свою квалификацию школьнику с двача отвечая на детские вопросики которые даже гуглятся по первому запросу, ну ты даешь анон
Аноним 24/02/21 Срд 22:24:06 1950957771
>>1950913
>>1950836
И какой правильный ответ? Подозреваю, его нет. Подобные оптимизации компилятор сам делает.
Аноним 25/02/21 Чтв 00:47:46 1951024772
Аноним 25/02/21 Чтв 06:38:51 1951077773
>>1951024
Ну, я так пытался делать, но обосрался. Постоянно возникало желание взять что-то тут из вышестоящего проекта, в результате выходило все равно сильносвязная хуета и я сливал все что там нарезал в один проект. Но я нубяра, майки подобный подход использовали в своем примере с eShopOnWeb/Containers.
Короче, чисто на бумаге и когда нормальные люди это делают - выглядит заебца. Когда делаешь что-то мелкое - тоже заебца. Когда пытаешься что-то что должно реальную пользу приносить сам и ты дебил что не способен нормально делить на куски и держать это все в голове - случается залупа.

Ну, просто абстрактно опишу что было у меня. Есть протокол общения с устройствами, пакетики там, протокол похож на Bisync, но байтики отличаются и иногда шифруются, а иногда не шифруются; есть клиенты которые хотят с клиентами-устройствами через мое приложение общаться их запросы нужно конвертировать в этот вот протокол; а сверху веб-морда на JS которая должна 1. Позволять админу менять настройки сервера(например ограничить время жизни сессии или число одновременно живущих сессий, отключить логгирование, поменять порт на котором ждут соединение, ограничить адресацию, дать возможность открыть диапазон портов для приема устройств); 2. Показывать состояние устройств что сейчас подключены(подключен, срет не тем чем нужно) и т.д. Ну, собственно: Вот протокол, его сборку-разборку из байт выносим в библиотеку. А дальше - а дальше хуй пойми как это резать, потому что описание протокола - вот иногда, если клиент такой - мы должны делать так, а если не такой - вот так, иногда клиент может прислать пакеты не по протоколу и мы должны их закешировать и если есть клиент что ждет сообщения от устройства - отдать ему; тут мы обрываем соединение если пакет битый, а там не обрываем, потому что у этих устройств обосрались на заводе и они всегда битые приходят, а потому мы считаем что пакеты не битые; вот тут мы должны открыть сеанс связи, а здесь не должны. А еще сверху, есть секретные пакетики, которые моя приблуда должна слать устройствам чтобы проверить что это реальное устройство и меня не наебывает злоумышленник. Но я тупой же, потому может быть не в такой архитектуре проблема, а во мне, опять же, мне стало проще - забить на попытки сделать чисто и я ебанул так чтобы все что нужно было делать - делало. ЗАТО РАБОТАЕТ БЫСТРО!!! ЫЫЫЫЫ: ЫЫЫЫ, НИ ОДНОГО ВЫДЕЛЕНИЯ ПАМЯТИ ПОСЛЕ ТОГО КАК БАЙТИКИ ИЗ СОКЕТА ПОЛУЧЕНЫ!!! ВСЕ НА УКАЗАТЕЛЯХ!!!!!! А ВАШ ЕБУЧИЙ ЕФ ЗАМЕНИЛ ЗАПРОСАМИ КОТОРЫЕ ПИСАЛ РУЧКАМИ, ЕЩЕ И НАХУЙ АСП, ДЛЯ АПИ Я ПРОСТО ЕБАНУЛ HTTPListener И ВСЕ НАХУЙ, НИКАКИХ ВАМ ТАМ МИДЛВАРОВ, СЕРВИСОВ, СИНГЛТОНОВ И ПРОЧЕГО, ПОТОМУ ЧТО НЕ НУЖНО!!! А 50% КОДА В Main НАПИСАНО!!!!!!!!!! Короче, я за 2 месяца работы - 20к строк кода, которые довольно хреново со стороны выглядят, зато я знаю каждую строчку и лично я легко с этим работать смогу, ну а если меня попрут - пусть страдают те кто не смог понять гениальный ход моих мыслей.
Аноним 25/02/21 Чтв 10:11:38 1951135774
Я опять выхожу на связь >>1950724. Cshtml5 редчайшая залупа - у них даже дефолтный сампл проект в котором показаны контролы тупо не компилится, лол блять.
Как мне можно конвертнуть простую впф xaml страницу без кнопок, только с експандерами/текстблоками и подставленными значениями в html страницу?
Аноним 25/02/21 Чтв 10:48:48 1951151775
>>1946445
Так юзай юниксовское представление в виде одного лонга. Вроде как это стандарт
Аноним 25/02/21 Чтв 10:59:57 1951158776
>>1951151
формат то да стандартный, проблема в том что для шарпа мин это будет 0 0 0 0 и до 2010 будет одно значение таймпана, а для шапра это 1970, и шарп уже не воспринимает это как мин, приходиться пилить костили, ловить исключения, писать хандлеры и сосать писос когда где-то что-то упустил
Аноним 25/02/21 Чтв 11:00:52 1951159777
image.png 19Кб, 737x318
737x318
>>1951151
ну или делать что-то вроде пикрила
Аноним 25/02/21 Чтв 11:03:26 1951162778
>>1919035
> которые либо пришли из математиков и АСУ ТП в предметную область, либо наоборот, дополнили предметные знания навыками кодинга. А то, о чём ты говоришь - это сайтошлёпство и обезьяний бигдата+машоб на корзину для пускания пыли в глаза акционерам.
Вот мне интересно, что такие как ты думают о прогерской вышке? Чел, что закончил CS в MIT, но нихуя не шарит в биологии, банках или финансовой промышлености, это ведь обезьяна-формошлеп?

>>1917602
> Там где предметная область не нужна для таких кодеров будет внешний рафинированный интерфейс, за который ему и лезть не стоит.
Вроде как наоборот, для учоных в говне моченых прогеры делают DSL на питоне, чтобы они на ней и писали свои формулы для предметной области.
Аноним 25/02/21 Чтв 11:05:47 1951164779
>>1951162
Вышка уже давно учит несколько специализации сколько учит УЧИТЬСЯ, челик который учился в MIT без труда научится всего чему надо в работе быстро и эффективно,
Аноним 25/02/21 Чтв 11:13:17 1951167780
>>1951164
А челы из гуглов и микрософтов тоже формошлепы? Никакой же предметной области у них нет, они просто пишут софт для массового потребителя/энтерпрайза.
Аноним 25/02/21 Чтв 11:19:18 1951169781
>>1951167
Майки это большая компания с крупным R&D и большим не публичным сектором формошлепы там тоже есть, но таких даже не большинство
Аноним 25/02/21 Чтв 11:25:56 1951170782
>>1951135
Я темой никогда не интересовался, но безопасным предположением будет: никак без костылей несовместимых с жизнью.
Аноним 25/02/21 Чтв 17:51:05 1951531783
image.png 23Кб, 1413x173
1413x173
Что это значит? Что он от меня хочет?
Аноним 25/02/21 Чтв 18:23:29 1951589784
>>1951531
Он хочет чтобы ты инжектил а не создавал сервиспровайдера. Там же все написано.
Аноним 26/02/21 Птн 00:02:49 1951826785
>>1951162
>>1951167
>Вот мне интересно, что такие как ты думают о прогерской вышке? Чел, что закончил CS в MIT...
>А челы из гуглов и микрософтов тоже формошлепы? Никакой же предметной области у них нет
Они разрабатывают компиляторы, ОС, СУБД, антивирусы, поисковики, навигаторы, архиваторы, игры, алгоритмы шифрования, блокчейн и т.п. Это их предметная область.

>Вроде как наоборот, для учоных в говне моченых прогеры делают DSL на питоне, чтобы они на ней и писали свои формулы для предметной области.
Порог входа в программирование с каждым годом всё ниже, и средний программист - это нихуя не математик-алгоритмист, который в свободное время контрибутит в ролсин и постгрес, это именно что нечто среднее между вчерашним продавцом шин и дисков и перекатышем из 1С. Он сможет сделать формочку или кое-как приспособить схему БД интернет-магазина под нужды заказчика. Скорее всего он может найти реализацию нужного алгоритма на СО и подключить даже не самые популярные библиотеки. Сможет ли он самостоятельно написать парсер для составной формулы - это уже вряд ли.
Аноним 26/02/21 Птн 00:08:19 1951835786
solenoid-under-[...].png 6Кб, 270x452
270x452
В C# в пространстве имён WinForms или Drawing, насколько я помню, есть класс, который позволяет задать несколько опорных значений типа float и соответствующие им цвета, а потом вычислять интерполированные цвета для произвольных значений float.
Я года 2 назад это использовал, но сейчас не могу ни найти, ни вспомнить, как этот класс называется. Подскажите, кто знает, велосипед не хочу писать.
Аноним 26/02/21 Птн 02:15:56 1951900787
>>1951826
> Они разрабатывают компиляторы, ОС, СУБД, антивирусы, поисковики, навигаторы, архиваторы, игры, алгоритмы шифрования, блокчейн и т.п. Это их предметная область.
Так погромистов которые это делают единицы. В мире всего то несколько ос, по компилятору под каждый язык, несколько СУБД и тд. А создатель чего-то нового, что будут использовать другие люди, точно войдет в историю про него будет страничка на википедии
Я очень сомневаюсь, что каждый второй выпускник стэнфорда вот так сразу же после универа идет в гугол писать поисковик или в майкрософт пилить новые версии тайпскрипта и шарпа.


Алсо, если ты сам такой тру программист, то напиши как им стать джуну-вкатывальщику. Я то совсем не против на первой работе писать компилятор, но почему-то во всех джуно-вакансиях требуют знания html, angular и sql, а не собственный ЯП на гитхабе.
Аноним 26/02/21 Птн 02:26:08 1951901788
Анон, а над чем самым интересным ты на шарпе работал? Читаю этот тред, вакансии на линкедине и впадаю в уныние: повсюду или винформс с впф, или фуллстек, или бек где просто указано что надо макачить веб апи для фронта. Работодатели еще и нашли чем выебываться: у них не легаси, а аж целый нет кор.
Аноним 26/02/21 Птн 10:35:34 1951988789
>>1951589
Я не понимаю, как я могу инжектить сервиспровайдер когда он еще не создан?
Аноним 26/02/21 Птн 10:44:26 1951992790
>>1951901
если хочешь делать то что самому хочется то делай сам, за свои деньги,
пс: работал над проектом с нейросети который детектить пустые полки и вызывает работников магазина их заполнять, это был одновременно один из самых интересных и самых скучных проектов, с одной стороны были интересные моменты, но большую часть времени мы пинали хуи, да и интересность во многом заключалась в новизне, но если расказывать о том что ты работал с нейросетями то людям и работодателям кажется что ты какой-то супер хацкер
Аноним 26/02/21 Птн 11:40:37 1952026791
>>1951988
за тебя его создадут и заинжектят. ты просто запроси его на месте
Аноним 26/02/21 Птн 12:16:59 1952061792
image.png 10Кб, 432x263
432x263
image.png 21Кб, 524x288
524x288
image.png 22Кб, 574x289
574x289
Ребяты, как такое работает? ПРимер из книги.
Заходит юзер на сайт по адресу droch.xxx/Product/List
Аспе Нет Коре создает экземпляр класса ProductController пикрил1 В классе срабатывает конструктор и видит что в конструктор должен принимать любой экзмепляр который реализовывает интерфейс IProductRepositoryпикрил2 Что бы присвоить его полю IProductRepository repository
Класс который реализовывает данный метод FakeProductRepositoryпикрил3.
Вот и создается экземпляр FakeProductRepository передается в конструктор ProductController там присваивается значения полю IProductRepository repository; и по вызову метода List() вся эта хуетень передается в представление и выводится юзеру.

И все это делается с помощбю строчки в Стартупе services.AddTransient<IProductRepository, FakeProductRepository>();

Я так понимаю эта строчка говорит следующее: Когда нужно создать экземпляр типа IProductRepository то используй для этого экземпляр FakeProductRepository.

Правильно понимаю чи нихуя?

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

Аноним 26/02/21 Птн 12:20:12 1952066793
Есть один проект на wpf .net 4.0 с ef и sqlite'ом. Нужно сделать так чтобы пользователи могли указывать путь к файлу бд. Можно ли как-то программно в рантайме добавить connectionString в App.config или сбилдить самому?
Аноним 26/02/21 Птн 12:57:16 1952119794
>>1952061
верно. И нет там ничего сложного
DI контейнеры это очень просто, а контейнер от майков вообще базовый примитив.

Вместо ручного кода создания вида new Foo(new Bar(new Baz))
ты прописываешь декларативно что подсовывать вот "для такого вот нужного в конструкторе типа"


Аноним 26/02/21 Птн 13:49:20 1952210795
image.png 26Кб, 1649x146
1649x146
image.png 41Кб, 1083x439
1083x439
image.png 45Кб, 977x391
977x391
Бля как сделать что бы заработало?
Книга по асп нет коре 2.1 я делаю на 3.1 и EF5 У меня нихуя не работает миграция.
Как правильно сделать?
Пикрил ошибки и пикрил кода
Аноним 26/02/21 Птн 14:13:25 1952254796
image.png 18Кб, 572x152
572x152
Бля вот теперь такая ошибка(
Не может найти строку хотя она бля есть
Аноним 26/02/21 Птн 17:32:10 1952465797
image.png 11Кб, 966x129
966x129
>>1952026
Я не понимаю как если ты имеешь вииду что-то типа пикрила как в контролере то там где мне нужно это так не работает, там где мне нужно метод требует параметра
Аноним 26/02/21 Птн 19:15:54 1952614798
.png 8Кб, 558x160
558x160
.png 25Кб, 636x420
636x420
.png 6Кб, 426x276
426x276
.png 19Кб, 519x364
519x364
>>1952465
> метод
И в чем проблема? Ты же не метод инжектишь.
А если ты имел ввиду какие-то определенные объекты в конструкторе - то тоже не понятно в чем сложность регистрируешь тот какой тебе нужен с теми параметрами какие нужны и достаешь.
Ну и ты можешь сделать класс-фабрику и в нее заинжектить что нужно, а разные параметры в методе Create передавать и там собирать. В классе где нужен специальный инстанс - создавать тот что нужен тебе.
Аноним 27/02/21 Суб 12:39:59 1952969799
Аноним 27/02/21 Суб 13:28:29 1952992800
>>1951901
Владельцы бизнесов, больших и маленьких, они сделаны из того же мяса, что и ты, и имеют такие же права. Пили свой проект и коммерциализируй. Я так и делаю например. Зачем тратить свою жизнь, обогащая дядю и работая над унылыми проектами?
Аноним 27/02/21 Суб 13:34:42 1952998801
>>1951900
>Я очень сомневаюсь, что каждый второй выпускник стэнфорда вот так сразу же после универа идет в гугол писать поисковик или в майкрософт пилить новые версии тайпскрипта и шарпа.
Поддержка и развитие всего того, что уже написано, и так требует кучу ресурсов.
Нечто радикально новое, типа языка программирования, в корпоративной среде вообще не может зародиться.
Либо покупается на стороне, либо у кого-то из сотрудников есть пет-проект по языку, которому в удачный момент компания даёт ресурсы, либо зовут уже зарекомендовавшего себя опытного языкописателя со стороны.
А в целом я и сам не очень понимаю, какими задачами постоянно заняты тысячи программистов в фейсбуке, гугле, нетфликсе и т.п. Всё вроде работает без особых изменений уже лет 10. Почему капиталист их всех не разгонит и не начнёт просто получать больше прибыли?
Аноним 27/02/21 Суб 13:35:15 1953000802
>>1951901
Иди на завод. лол. Там одна задача охуительней другой: нужно новый стек реализовать, нужно всякие шифрования и прочую залупень, серху нужно о перформансе думать, потому что твой код будет работать на китайских процах с ограничением в 32МБ оперативки и 128МБ встроенной памяти; а еще и будут браки в партиях, которые ты будешь обходить костылями, чтобы клиенты не заметили брака. И да, это все на шарпе вполне делается. Базарю, еще захочешь. Плоютят правда не так много, 25к людям с 5 годами опыта; но ты же интересные задачи хочешь решать, а не деньги зарабатывать.
Аноним 27/02/21 Суб 19:02:22 1953293803
>>1952969
Уууу, сеньеры не хотят ревьюить код. Как жить-то? Вот и как я узнаю теперь - хорошо ли я написал код или нет?
Аноним 28/02/21 Вск 00:22:18 1953514804
Аноним 28/02/21 Вск 01:33:07 1953546805
>>1953514
Да там вроде в этот раз не так уж и плохо же. Я старался.
28/02/21 Вск 09:31:42 1953605806
Анон, помоги пожалуйста с ооп на шарпах.
Предметная область: Отдел расчета зарплаты.
Информационная система отдела расчета зарплаты на
предприятии хранит данные о величине оплаты различных видов работ.
Система хранит информацию о работниках предприятия.
Система должна позволять выполнять следующие задачи:
 вводить информацию о различных видах работ;
 вводить информацию о работниках и выполненных ими работах;
 после ввода фамилии выводить для работника зарплату;
 выводить сумму выплат всем работникам;

Для заданной предметной области спроектировать программную
структуру, состоящую из 3-5 классов.
 В соответствии с разработанной диаграммой классов выполнить
программную реализацию.
 Предусмотреть использование типа данных – перечисление.
 Ввод/вывод должен быть реализован вне проектируемого класса.
Очень надо
Аноним 28/02/21 Вск 12:06:21 1953676807
>>1953605
За две тысчи сделаю.

Аноним 28/02/21 Вск 15:01:16 1953813808
>>1953605
Ну так шо. Я ужо написал. Хде мои две тысчи?
Аноним 28/02/21 Вск 15:07:00 1953814809
Аноним 28/02/21 Вск 15:30:25 1953831810
>>1953814
Я бы за такое убил нахуй.
28/02/21 Вск 21:20:08 1954072811
28/02/21 Вск 21:21:11 1954075812
Аноним 01/03/21 Пнд 10:15:36 1954384813
Аноним 01/03/21 Пнд 10:43:06 1954405814
Анон, подскажи.
Есть ли способ достать из словаря ( Dictionary<Tkey, TValue> ) ключ по значению, без прямого перебора всего словаря?
Аноним 01/03/21 Пнд 10:48:22 1954412815
>>1954405
Я даже боюсь представить зачем это может быть надо....
Аноним 01/03/21 Пнд 11:10:20 1954419816
>>1954405
Я не до конца уверен, что конкретно ты имеешь ввиду под перебором, потому ответа два:
1. Если ты не хочешь вручную перебирать значения, воспользуйся Linq, пр.: dictionary.FirstOrDefault(x => x.Value == "Kek");
2. Если вопрос был про максимальную производительность - тебе эта структура данных не подходит. Тут нужно по контексту смотреть, что для твоей херни подходит.
Аноним 01/03/21 Пнд 11:21:49 1954421817
Аноним 01/03/21 Пнд 11:26:35 1954428818
>>1954405
Если это важно для производительности, то следует хранить обратный словарь Dictionary<TValue, Tkey> (в лучшем случае) или Dictionary<TValue, List<Tkey>> в случае возможности повторяющихся TValue с разными ключами.
Аноним 01/03/21 Пнд 12:23:55 1954470819
Можно как-то wpf отключить кнопку? Мне нужен не enabled=false, а чтобы по виду она была включенной, но без анимации нажатия и наведения, т.е. как пикча просто.
Аноним 01/03/21 Пнд 13:34:43 1954576820
545484214145.jpg 122Кб, 983x579
983x579
Что значит float.IsNormal и float.IsSubnormal?
В документации не объясняется, проверка рандомных чисел логику не выявляет.
Аноним 01/03/21 Пнд 14:38:43 1954642821
Аноним 01/03/21 Пнд 15:33:42 1954690822
предположим у меня есть страница которая отображает некоторую произведственную статистику, клиент может фильтровать данные по заранее заданными параметрами,

данные фильтруются на сервере и отправляются пачкой,

что меня интересует, можно ли вернуть пользователю одну пачку в потом по контексту его действий предположить какую пачку он захочет в будущем и начать ее загружать например с помощью сигналР? Как будто загрузка следующий пачки происходит в фоне для пользователя?

кто такое уже делал? есть советы как это имплементировать?
, 01/03/21 Пнд 15:48:51 1954704823
Коллеги, куда лучше двинуть или что учить далее?
Знаю базовый .net, использую паттерны, работал с di, энтитифреймворк.(опыт работы около 2 лет). Не очень большой работы с мультитредом (т.е. не использовал на практике семафоры, например)
Сейчас в процессе чтения про Clr более подробно(Рихтер)

Как я понимаю, чтобы устроиться в энтерпрайз, нужно вкатываться/читать про asp. + Js изучать.
В свободное время ещё изучал unity 3d, но такое чувство, что Там оч плохо с зарплатами .
У кого был похожий опыт развития? Куда лучше двигаться?
Аноним 01/03/21 Пнд 16:07:08 1954725824
>>1954470
в WPF всегда можно подменить шаблон который не будет знать про состояния кнопки и мыши и будет выглядеть как угодно
Аноним 01/03/21 Пнд 23:38:51 1955114825
Есть банальная N+1 проблема
У меня есть таблица, к ней еще 3 зависимых таблицы
Сейчас вытягиваю сначала все данные главной таблицы одним запросом
Потом из каждой зависимой таблицы таблицы вытягиваю данные по одному запросу на каждую запись главной таблицы
Итого, получается мне нужно поочередно вытягивать первых 100 записей, их обрабатывать и потом там по кругу, пока данные для выборки согласно условию запроса не закончатся
На каждый такой заход 1 + 300 запросов
Как лучше это переделать?
Ну допустим я буду делать 4 запроса
Один для главной как был
И еще 3 на каждую зависимую таблицу через джоины
Тут вопрос какое условие к запросам написать
И ничего лучше чем написать WHERE IN (100 айдишников) мне в голову не приходит
И потом надо соответсвия програмно искать, чтобы связать объекты главной таблицы с объектами зависимых таблиц, ну с этим проблем быть не должно
Тут главный вопрос как правильно построить запросы

В качестве ORM у меня не Entity Framework, если что. Там-то все, по всей видимости, было бы просто.

Аноним 02/03/21 Втр 00:06:30 1955128826
>>1955114
Слишком обтекаемо и без конкретики написал, чтоб по существу что-то советовать.
Постараюсь поугадывать:
Если твоя ORM понимает linq - напиши джойн на на нем, получишь один запрос.
Если твоя ORM не понимает linq - напиши запрос на обычном сиквел с обычными джойнами (INNER JOIN / LEFT JOIN etc...). Будет все еще один запрос.
Далее идут странные кейсы. Если тебе кажется, что у тебя такой - тебе скорее всего кажется
Если тебе нужно данные главной таблицы как-то хитро фильтровать, что в сиквеле это сделать нельзя - я бы просто вытянул все данные с джойнами, а потом их фильтровал.
Если тебе нужно данные главной таблицы как-то хитро обработать перед джойном, что в сиквеле это сделать нельзя - я бы вытянул данные из первой таблицы, сделал с ними что нужно, а потом доставал бы из других. Я бы избегал WHERE IN, т.к. могут быть ограничения на количество данных в списке (2000 для SQL Server, например). Надежнее простым дайнемик сиквелом создать временную таблицу, наполнить ее твоими айдишками, и сделать на нее джойны.
Аноним 02/03/21 Втр 00:49:08 1955144827
>>1955128
ORM
https://github.com/praeclarum/sqlite-net

> Если твоя ORM понимает linq - напиши джойн на на нем, получишь один запрос.
Понимает, но я в свою очередь, не очень понимаю как это все обернуть на LINQ так чтобы свести потом все к одному объекту
Грубо говоря, объект в результате содержит три коллекции, которые эти 3 таблицы представляют, связь один ко многим от главной таблицы к дочерним.
Вроде такого
class TableMain
{
List<TableA> TablesА {get;set;}
List<TableB> TablesB {get;set;}
List<TableC> TablesC {get;set;}
}


> Если твоя ORM не понимает linq - напиши запрос на обычном сиквел с обычными джойнами (INNER JOIN / LEFT JOIN etc...). Будет все еще один запрос.

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

Запрос к главной таблице
SELECT FROM TableMain
WHERE (куча условий)
LIMIT 100

И потом что-то вроде такого
SELECT TA.
FROM TableMain TM
JOIN TableA TA
WHERE IN (100 айдишников таблицы TM из предыдущей выборки)

И также с осальными 2 таблицами
А потом програмно раскидать каждую таблицу по своим объектам в соответсвующие коллекции

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

C фильтрацией главной таблицы проблем нету, проблема только в том как достать данные дочерних таблица.
> 2000 для SQL Server, например)

Ну мне всего лишь по 100 надо таскать за раз
> Надежнее простым дайнемик сиквелом создать временную таблицу, наполнить ее твоими айдишками, и сделать на нее джойны.
Звучит как хороший вариант, спасибо
Аноним 02/03/21 Втр 06:49:38 1955190828
Хм. Я чет начинаю себя чувствовать обезьяной используя EF. Уже стал забывать нативный синтаксис SQL и как с помощью него составлять сложные запросы. Сильно ли обидется тимлид, если в своем микросервисе я тихонечко спущусь к нативным запросам?
Аноним 02/03/21 Втр 10:35:57 1955252829
Аноним 02/03/21 Втр 10:39:50 1955253830
Аноны, как сохранять лог?
Сохранить лог в базе?
Или просто в текстовом формате?
Использовать встроенный логгер?
Стоит ли создавать много файлов лога например на каждый день?
Насколько большие файлы лога обычно?
Аноним 02/03/21 Втр 10:42:17 1955254831
>>1955253
В нашей конторе мы храним на диске, на каждый день.
Но у нас десктоп приложение и логгер самописный
Аноним 02/03/21 Втр 10:44:11 1955256832
>>1955252
Няш, тебе на этот вопрос никто не ответит, нет универсального рецепта, то что подойдет одному не подойдет другому, ты должен сам определить.
пс: скажу только что если ты не знаешь куда двигаться дальше, это значит что у тебя нехватка знаний, так у нас отсеивают псевдо-мидлов
Аноним 02/03/21 Втр 10:46:04 1955257833
>>1955254
А если например админ хочет просмотреть историю активности пользователя тогда он должен каждый файл открывать и искать по нему? как устроен логМенеджмент?
Аноним 02/03/21 Втр 11:18:13 1955266834
>>1955257
У нас есть приблуда в программе типо журнала событий в винде, которая фиксирует основные события.
А лог это для ошибок, то есть что-то пошло не так идем в лог.
Аноним 02/03/21 Втр 11:19:23 1955268835
>>1955253
Решай по его важности, чувствительности, размеру и т.д.
Файловый лог норм, если его не много. Ну и искать по нему не очень.
Структурированный лог в БД прикольный, но не перегрузи ее командами.
Крутой вариант - писать в какую нереляционную БД, которая, помимо быстрой записи и анализа логов, поддерживает дашборды.
Нормальная история в зависимости от вида логов, писать их в разные хранилища.

Если встроенного логера хватает - отличный вариант. Если не хватает - можно установить, например, NLog, который использует интерфейс встроенного в Core, но поддерживает много таргетов и еще всяких штук.
Аноним 02/03/21 Втр 11:40:31 1955283836
>>1955266
логгировать как я понял нужно все вплоть до вызова некоторых функций и получений страниц

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

вообще идеально было бы записывать и работать с логами с базой данных, но без базы данных, она находиться в облаке и по условию нужно минимизировать ее использование
Аноним 02/03/21 Втр 12:24:40 1955319837
>>1955283
Хм, обычно используют обратный подход: небольшое количество видов логов, и разбитие по датам. Если что-то пошло не так, гораздо чаще можно ответить на вопрос "когда?", а не "что?". Ну и если лог разрастется - его легко будет почистить (даже автоматическую очистку старых записей можно настроить).
Аноним 02/03/21 Втр 12:27:54 1955320838
>>1955283
К слову, облачные провайдеры порой предоставляют свои услуги по хранению логов, хотя знакомые жаловались, что они не очень по сравнению с нормальным noSQL. Ну и имей ввиду возможные проблемы с файловыми логами, если приложения тоже в облако уедут.
Аноним 02/03/21 Втр 12:43:58 1955329839
>>1955319
>гораздо чаще можно ответить на вопрос "когда?", а не "что?"
Верно подмечено

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

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

Аноним 02/03/21 Втр 12:57:44 1955338840
>>1955329
>что бы записывать значения в файл в многопотоке я потому думал много маленьких логов использовать
Я конечно хз, что у вас там за ограничения, но реализация лога - это тривиальная школьная задача, проще сортировки пызурем.
Пишешь буфер обертку вокруг листа или конкурентной сумки, и каждые 100к записей сливаешь в БД или в файл. Даже не знаю, что может тут пойти не так. Но писать в файл или тем более в БД чаще 1 раза в секунду или типа того - так себе решение.
Аноним 02/03/21 Втр 13:23:43 1955375841
>>1955338
Пишешь буфер обертку вокруг листа или конкурентной сумки, и каждые 100к записей сливаешь в БД или в файл. Даже не знаю, что может тут пойти не так. Но писать в файл или тем более в БД чаще 1 раза в секунду или типа того - так себе решение.

чел я именно об этом написал
Аноним 02/03/21 Втр 13:36:56 1955387842
>>1955329
Никаких проблем с логированием из множества потоков не встречал, ведь это само собой разумеющееся. Если будешь использовать NLog, там есть AsyncWrapper, который буферизацию делает. Как раз для ситуаций с большим потоком логов.
Аноним 02/03/21 Втр 13:58:13 1955402843
>>1955387
Шизик, прочитай внимательно
>проблема с тем что бы записывать значения в файл в многопотоке
Речь не шла про лог в многопотоке, речь шла про запись в файл в многопотоке, никогда не встречал? Тогда иди уроки делай
Аноним 02/03/21 Втр 14:09:48 1955408844
>>1955402
Ты туповат? Логер пишет в файл последовательно, даже при одновременных вызовах в разных потоках, а AsyncWrapper может буферизировать и склеивать логи для записи, чтоб решить потенциальные проблемы с производительностью.
Аноним 02/03/21 Втр 14:16:08 1955419845
Есть тут кто работал с System.Data.SQLite или вообще с sqlite? Как можно запаролить файл базы данных - в интернете говорят юзать Set/ChangePassword(), но у моего sqlconnect таких методов нету. Можно как-то запаролить базу запросом или как-то иначе?
Аноним 02/03/21 Втр 14:23:20 1955423846
>>1955408
Хм, я почитаю об этом...
Аноним 02/03/21 Втр 14:43:37 1955443847
>>1955419
Я работал только не через System.Data.SQLite, использовали для шифрования базы sqlcipher
Сначала хотели запаролить базу, но при установке пароля вся база шифруется и скорость всех запросов упала в разы
Поэтому махнули рукой и оставили как есть :D
Скорее всего, если посидеть, поразбираться, то можно нормально сделать, но для нас база с паролем не особо требовлась
Аноним 02/03/21 Втр 15:29:06 1955483848
>>1955419
Как вариант, архивировать базу в zip с паролем, а при открытии считывать, хранить и изменять в опер. памяти.
Аноним 02/03/21 Втр 16:09:47 1955507849
>>1955483
Это пиздец костыли - у меня база и так пару гиг весит, я и так ебусь чтобы ентити залупа не загружала всю таблицу в озу скопом, а по одной записи и вызываю гк на каждый чих ибо утечки шопиздец.
Аноним 02/03/21 Втр 19:03:37 1955664850
>>1955253
> Аноны, как сохранять лог?
Серилогом
> Сохранить лог в базе?
Если это требуется
> Использовать встроенный логгер?
Серилог используй
> Стоит ли создавать много файлов лога например на каждый день?
Если стоит такая задача. У нас, например, обычно, хранится 5 файлов, каждый по 100МБ. Каждый день нет особого резона, потому что обычно форматирован и содержит информацию о времени-дате, т.е. ты легко можешь фильтровать его, ну а лог за оч давно обычно не нужен.
> Насколько большие файлы лога обычно?
Зависит от системы и задач. Обычно больше гига никому не надо. Плюс, если тебе нужно большой объем данных хранить, то логи у тебя будут в бинарном формате -> гиг это пиздец как много данных на самом деле, для примера: вот у нас в девайсах стоит флешка на 512МБ и там логи работы за 5 лет не в состоянии засрать это все, другое дело, что там и логи бинарные, а не эти ваши 'UnhandledException и весь стек вызова.

Если ты веб-макака, то обычно логи у них - кидаются в какой-нибудь отдельный сервис, серилог - вполне способен это делать. Если ты десктоп-макака - серилго позволяет тебе как в файлик кастмоного формата, так и в JSON, так и в консольку с подсветочкой всего.
Короче, если у тебя нет каких-то специфичных штук, типа: Мне не нравится что уровень Trace называется, хочу чтобы он как-то иначе назывался - берешь серилог и используешь.
Аноним 02/03/21 Втр 19:45:54 1955691851
Хм. Смотрите. Вот мне нужно загрузить на сервер файл, распарсить его и сохранить результат.
Так вот, в чем трабла. Я беспокоюсь: А как поступать если внезапно поток прервется или файл невалидный? Вот я парсю, бах, клиент до конца не загрузил файл - что я долежн делать? Или если все норм, но файл невалидный? Должен ли я паниковать и кидать всюду из-за этого эксепшны или не должен и нужно просто мягко это дело завернуть?
Аноним 02/03/21 Втр 20:38:53 1955748852
Ребят, а как у шарпов дела с вебом обстоят? Есть ли смысл задрачивать что то по типу Xamarina или лучше сразу в Laravel и React?
Аноним 02/03/21 Втр 20:47:25 1955760853
Аноним 02/03/21 Втр 22:09:15 1955810854
>>1955748
Ты вообще знаешь, что такое веб?
Нормально дела, гугли asp.net
Аноним 03/03/21 Срд 00:00:37 1955878855
>>1955664
если бы еще серилог позволял гибко настраивать куда писать
вот за что мне нравится Nlog - за его возможность расписать какие логеры (и какого уровня) в какой файл писать, также доступны wildcard для указания пачки логеров
Аноним 03/03/21 Срд 10:15:57 1955981856
>>1955748
Чет орнул хоть и знаю что ты троль
Аноним 03/03/21 Срд 10:19:09 1955986857
>>1955664
ты легко можешь фильтровать его
Ну если лог в базе понятно как его фильтровать, а если он храниться в файле на сервере? Как его в таком случае фильтровать, линк тут не проканает, за месяц одних только логов подключения к базе данных было 200к строк, я боюсь что фильтровать что-то такое в файле может быть затруднительно...
Аноним 03/03/21 Срд 10:22:03 1955989858
>>1955664
>Короче, если у тебя нет каких-то специфичных штук, типа: Мне не нравится что уровень Trace называется, хочу чтобы он как-то иначе назывался - берешь серилог и используешь.
Ну тут проблемка потому что логи должны быть кастомного формата потому что у нас есть (или должен быть) дашборд которому можно скормить логи
Аноним 03/03/21 Срд 17:56:50 1956595859
Сап шарпач, есть одни текстовые файлы в проекте, но они добавлены в проект что-то типа как комментарии, сами они конкретно в exeшнике нигде не фигурируют. Если я устанавливаю им действие при сборке "не копировать" то они появляются в папке с е зешником при сборке. Можно ли как-то сделать так чтобы студия вообще нихуя с этими файлами не делала, но они лежали в проекте?
Аноним 03/03/21 Срд 17:58:53 1956598860
image.png 166Кб, 300x256
300x256
Аноним 03/03/21 Срд 20:15:33 1956758861
>>1956598
Есть проект в вижуал студии. В проекте добавлены .txt файлы. Как сделать так чтобы при сборке проекта эти .txt файлы нигде не фигурировали на выходе после компиляции, а лежали просто в проекте, в исходниках?
Аноним 03/03/21 Срд 21:50:32 1956818862
>>1956595
Действия при сборке -> НЕТ
Аноним 03/03/21 Срд 23:48:33 1956896863
Анон, куда двигаться -в десктоп и WPF, или в веб+асп.нет? Ни к чему конкретному душа не лежит, интересуют перспективы, сложность технологий, зп, сложность трудоустройства.
Аноним 03/03/21 Срд 23:59:49 1956898864
>>1956896
В вебе на порядок больше вакансий, но больше всякого нужно знать и требования к проектам выше.
Ну, это я так со стороны вижу, сам то я десктоп педалю
Аноним 04/03/21 Чтв 01:27:41 1956931865
>>1956896
Я сам сижу на веб+асп.нет, и в целом согласен с >>1956898
Вакансий намного больше (я особо и не видал десктопных). На бекенде зоопарк технологий большой, но они скорее приятные. Со значительной долей вероятности, работа будет для фуллстека, а на фронте еще больший зоопарк технологий, и, часто, куда менее приятный.
Сам десктопом не занимался, но с моей колокольни веб выглядит интереснее с точки зрения архитектурных решений, как на уровне отдельных сервисов, так и на уровне всего приложения. Если у тебя душа ни к чему не предрасположена, я бы за заработком вкатывался в веб.
Аноним 04/03/21 Чтв 02:08:10 1956943866
>>1956931
> На бекенде зоопарк технологий большой, но они скорее приятные.
Какие надо знать вкатуну?

мимо
Аноним 04/03/21 Чтв 07:03:48 1956982867
>>1956818
Все файлы добавляются в папку с екзешником.
Аноним 04/03/21 Чтв 08:51:39 1957003868
.net framework - есть одни файлы в проекте (сейчас при сборке записываются в Resource). Как их в рантайме можно создать/записать в определенную папку?
Аноним 04/03/21 Чтв 09:23:47 1957010869
Вопрос от ньюфага.
Допустим у нас есть переменная int a и мы ей присваиваем метод который возвращает int. При каждом следующем вызове этой переменной каждый раз заново обсчитывается метод или в ней уже хранится результат?
Аноним 04/03/21 Чтв 09:50:07 1957023870
Почему такое скептичное отношение к SQL в последнее время? Дескать выучил EF и все. Блять как вы будете отчеты делать? Работаю в большом проекте и всех новичков направляют на поддержку отчетов, а там без знаний аналитических функций, рекурсивных запросов и всяких оракловых хинтов не обойтись.
Или за бугром в проект берут отдельных SQL разработчиков?
Аноним 04/03/21 Чтв 10:17:50 1957036871
>>1956943
ASP.NET Core и, желательно, Framework, ОРМ вроде EF и микро ОРМ вроде Dapper, какой-нибудь RPC фреймворк (gRPC, например), Quartz, SignalR, что-то для логирования, вроде NLog. Стоит знать SQL и иметь представление о noSQL.
Аноним 04/03/21 Чтв 10:21:46 1957043872
>>1957010
Ты написал невозможную вещь. Если ты имеешь запись вида:
int a = SomeMethod();
, то переменной а ты присваиваешь результат выполнения SomeMethod(), что должно ответить на твой вопрос в ней хранится результат.
Аноним 04/03/21 Чтв 10:25:13 1957047873
>>1957023
Поддерживаю. EF это хорошо, но регулярно нужно писать сложные и хорошо оптимизированные запросы на сиквеле. Даже если отдельный спец есть, твои команды и запросы он за тебя писать не будет, а займется, например, теми-же отчетами.
Аноним 04/03/21 Чтв 10:25:33 1957048874
image.png 26Кб, 443x544
443x544
>>1956758
Ты тролль? Что за нубовопросы? нынешние джуны уже не только программировать не умеют, а уже и со студией разобраться не могут? Может сначала хотя бы гайдик по студии бы прочитал перед тем как позорится такими вопросами
Аноним 04/03/21 Чтв 11:37:54 1957094875
Аноним 04/03/21 Чтв 11:47:14 1957098876
>>1957094
Ты тупой? Ставишь bild action none, copy to iutput : do not copy,
Все! Еще может проверить bild event чисто теоретически там могут быть pre-build event команды которые его копируют, но если там ничего нет и в проперти поставишь нет и нет, тогда оно В ПРИНЦИПЕ не может копироваться в оутпут даже при всем желании
Аноним 04/03/21 Чтв 13:20:01 1957154877
Хм.jpg 131Кб, 975x810
975x810
Поясните плиз, где обосрался?
Аноним 04/03/21 Чтв 13:35:36 1957170878
>>1957154
При этом запускается только нулевой runner 200 раз. Залупа какая-то. Баг ии фича?
Аноним 04/03/21 Чтв 13:58:48 1957182879
>>1957154
замыкание на переменной цикла.
Аноним 04/03/21 Чтв 14:00:14 1957183880
>>1957154
Замыкание. Сделай локлальную копию переменной j.
Аноним 04/03/21 Чтв 19:09:46 1957480881
>>1957023
> Блять как вы будете отчеты делать?
Какие еще нахуй отчеты?
> всех новичков направляют на поддержку отчетов
Я бы нахуй вас сразу послал. Отчеты, блядь, поддерживать. Блядь, отчеты в SSRS делаются в 2 клика, в крайних случаях можно ручками запрос допилить, а поддерживать его может один человек, ну 2. Хули толку от того что новичек вместо того чтобы разбираться с инструментарием - и вникать в процесс разработки - будет отчеты вам делать, блядь.
> Или за бугром в проект берут отдельных SQL разработчиков?
За каким бугром, блядь? Даже у нас в конторе где всего 50 программистов - есть несколько отдельных хуев, что исключительно индексы теребят, да оптимизируют хранимки внутри команды разработчиков, а для отчетов, блядь, есть отдельный отдел, где отдельно обученные люди - хуячат это говно.
Пиздец. Нахуй. Отчеты.

А про SQL - хуй знает кто его там скептически относит. Это, блядь, вузовская программа так-то, все хотя бы на уровне 5НФ, индексы, хранимки и т.д знают, по крайней мере я ни разу не встречал за свой 5 летний опыт работы чела, что этого бы не знал и прошел собес.
Аноним 04/03/21 Чтв 19:16:42 1957483882
>>1957154
У тебя гонка нечестная. Вот потому ты и обосрался.
Аноним 04/03/21 Чтв 20:18:31 1957535883
image.png 73Кб, 451x190
451x190
image.png 9Кб, 416x172
416x172
Сап двач, поясните макаке за static.

1. Почему в статических методах мы обязаны использовать только статические переменные, объявленные за пределами этого метода?
(1 пик)
Я так понимаю потому что для их использования надо было бы инициализировать экземпляр класса???

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

3. Почему если мы объявим эти динамические поля прямо в статическом методе (2 пик), то всё будет работать? Ведь мы для x1 и x2 не создали экземпляров класса. Ведь так мы можем получить доступ к динамическим полям, верно?

Кароче я чё-то запутался, анонче.

Аноним 04/03/21 Чтв 20:22:09 1957542884
>>1957535
На втором пике кста случайно static удалил перед методом.
Аноним 04/03/21 Чтв 20:59:50 1957578885
.png 7Кб, 500x173
500x173
.png 12Кб, 632x168
632x168
.png 11Кб, 508x159
508x159
>>1957535
> Почему в статических методах мы обязаны использовать только статические переменные, объявленные за пределами этого метода?
У тебя же самого на скрине ты используешь переменные внутри метода объявленные.
Ты наверное таки про поля говоришь.
> Почему мы не можем объявить статические поля прямо в статическом методе?
Это я вообще не понял. Ты хочешь типа иметь переменную, которая бы, допустим, как счетчик выступала и все время жизни программы жила?
> Почему если мы объявим эти динамические поля прямо в статическом методе (2 пик), то всё будет работать? Ведь мы для x1 и x2 не создали экземпляров класса. Ведь так мы можем получить доступ к динамическим полям, верно?
На пике 2 ты создал переменные. Это раз. Два, присвоив им значение ты создал в этот момент экземпляры(в данном случае это структура, но не суть, ValueType - тоже классы, просто со специфичным поведением). Вот кстати на моих пиках примерно что и происходит в этот момент, только у тебя вместо каста инта к моей структуре - происходит каст литерала к int, double и т.д. Думая в таком ключе это все легче воспринимается, хоть на деле все там немного сложнее работает.
Аноним 04/03/21 Чтв 21:11:47 1957603886
>>1957535
Смотри, когда ты объявляешь в классе статические и не статические свойства, возникает прикол. Статические свойства хранятся в памяти в одном экземпляре, под не статические - выделяется память в каждом объекте. Если ты в не статическом методе хочешь обратиться к не статическому свойству - среде выполнения все понятно, она обращается к тому свойству, которое принадлежит объекту. Если же ты в статическом методе, который не относится ни к одному объекту, хочешь обратится к не статическому свойству - возникает неопределенность, непонятно, к свойству какого именно объекта нужно обращаться, потому такой возможности нет.

А касательно статического метода - не знаю, как конкретно это на уровне CLR делается, но среда обеспечивает то, что каждый вызов метода независим, он выполняется со своим набором переменных. Это сделано для того, чтоб, например, метод мог безопасно вызываться из разных потоков (пока не меняет статические свойства класса, конечно). Объявлять статические переменные внутри метода - джаваскрипт и источник ошибок, потому такой возможности нет. Да и непонятно, куда их запихивать, если не в стек.
Аноним 04/03/21 Чтв 22:40:18 1957733887
Уничтожит ли деструктор класса вложенный класс и содержающиеся в нем обьекты ?
Аноним 04/03/21 Чтв 22:49:32 1957746888
>>1957733
вложенный класс ничем не отличается любого другого
кроме того, что он может видеть приваты внешнего класса
Аноним 05/03/21 Птн 01:01:06 1957823889
Думаю сменить свое первое место работы после 5 лет веслания на одном месте.
Что сейчас +- спрашивают на собесдованиях на мидла десктоп?
Я понимаю что тут немного десктоп разработчиков, так что хотя бы какие общие вопросы по .нет, базам данных и т. д. задают.
За свою жизнь был на трех собеседованиях, софт скиллы около нуля.
05/03/21 Птн 02:36:39 1957856890
Рыгнул в спермотред.
Аноним 05/03/21 Птн 11:40:24 1957988891
Насколько глубоко надо сишарп изучать для работы с юнити?
Аноним 05/03/21 Птн 11:47:33 1957993892
>>1957480
>Блядь, отчеты в SSRS делаются в 2 клика
Ты наверное писал только отчеты типа "количество проданных книг за месяц", но существуют сложные финансовые отчеты, с промежуточными итогами, группировками, огромным количеством входных параметров. Есть банковские отчеты. Километровые, иногда динамически генерируемые запросы, без углубленного знания SQL ты нахуй не нужен.
Аноним 05/03/21 Птн 12:58:56 1958037893
>>1957988
Достаточно посмотреть любой высер по сисярпу с пометкой "за час". Если есть знания в программировании и не совсем дебил, то этого будет достаточно.
Аноним 05/03/21 Птн 19:01:23 1958473894
Хм. Хм.
А можно как-нибудь свой тип, который не имеет интерфейс IEnumerable и не имеет методов GetEnumerator и свойств Current и MoveNext сделать пригодным к foreach?
Просто суть в чем. У меня вот своя сущность образовалась, но я его сделал во FLUENT, потому что нужно было парсить токены, ну и мне казалось прикольно выглядит:
string zalupaName =
i.GoToNextNotEmpty()
.ThrowIf(x => x != zalupa)
.GoToNextNotEmpty()
.ThrowIf(x=> !x.IsName)
.Current.Value;

Но вот теперь я хочу чтобы была возможность это i - засунуть внутрь foreach, при этом мне не хочется добавлять GetEnumerator и свойство MoveNext
Аноним 05/03/21 Птн 19:54:20 1958548895
>>1958473
> я хочу итератор, но ничего не хочу реализовывать чтобы сделать итератор

???
Аноним 05/03/21 Птн 22:40:46 1958673896
image.png 8Кб, 593x128
593x128
image.png 46Кб, 750x326
750x326
Ребят как пикрил2 переписать в пикрил1?
Книга по нетКоре 2.1 а я делаю на 3.1 там чета поменялось и теперь по другому надо, подскажите как
Аноним 05/03/21 Птн 22:41:56 1958677897
>>1958673
Вернее там все одно и тоже но я не понимаю что делает срока
defaults: new ( Controller = "Product", action = "List" }) ;
и нахуя она нужна
Аноним 06/03/21 Суб 04:05:19 1958810898
>>1958548
Вообще то foreach он поддерживает кря-типизацию

Цитата

"Для того чтобы конструкция foreach успешно компилировалась необходимо, чтобы у объекта был метод GetEnumerator(), который вернет объект с методом MoveNext() и свойством Current, а если такого метода нет, то тогда будем искать интерфейсы IEnumerable и IEnumerable<T>"
Аноним 06/03/21 Суб 10:11:07 1958854899
.png 19Кб, 925x377
925x377
>>1958548
>>1958677
Держи, няша. F12 в студии ведь так сложно нажать.
Аноним 06/03/21 Суб 10:46:03 1958866900
>>1958854
Я же использую эндпоинты, где то читал что майкрософт рекомендует юзать их а не мапроут.Чи мне приснилось что они такое рекомендуют?
Аноним 06/03/21 Суб 11:07:10 1958878901
Что не так с этим кодом? Совсем говнокод? Я просто хочу не говнокод научиться писать, но покамест не получается. Пытаюсь. Пытаюсь. А не получается.
https://ideone.com/fzGkAt
Аноним 06/03/21 Суб 11:54:39 1958905902
image.png 38Кб, 761x247
761x247
эти темы нужны вообще? А то выглядят всрато, я о них даже не слышал нигде. Сам вкатуюсь, но вот эти темы смутили
Аноним 06/03/21 Суб 12:06:44 1958916903
>>1958905
В каком смысле зачем? Вот посмотри на List. Он может принимать любой тип в себя и ты не будешь вынужден как в случае без дженериков кастовать то что там в листе из обжекта обратно в нужный тип.
Ну или допустим у тебя есть абстрактный репозиторий. Он должен поддерживать операцию вставки, удаления, обновления и получения значения. При этом ты хочешь иметь возможность получить именно ту сущность что тебе нужна. Ты делаешь IGenericRepository<T> wher T SomeEntity, затем имплементируешь GenericRepositoryBase<T> wher T SomeEntity и, потом, допустим, делаешь BookRepository : GenericRepositoryBase<Book> в котором только те методы которые нужны для работы с книгами делаешь, типа GetBooksByAuthor(string author). И все, у тебя BookRepository - поддерживает операции операцию вставки, удаления, обновления и получения значения именно книг, ты туда не засунешь ничего кроме объектов которые нельзя к книгам отнести. Без этого ты бы делал кучу одинаковых классов, которые бы были как один, либо городил огород из костылей, если нужно получать определенный тип.
Аноним 06/03/21 Суб 12:12:30 1958920904
image.png 36Кб, 853x548
853x548
Ребяты, где обычно создают перечисления в asp net core?
Есть у меня страница, на ней есть выпадающий список с настройками для него вроде как лучше всего подойдет enum. Его в классе модели создать чи вынести в отдельный класс? Или использовать класс под этот список?
Бля когда по книге делаешь то понятно все, а когда что то свое придумывать то пздц туплю
Аноним 06/03/21 Суб 12:16:18 1958924905
.png 8Кб, 676x165
676x165
>>1958905
> эти темы нужны вообще?
Нужны.
> я о них даже не слышал нигде
Ты вообще что-то писал?

Нужно чтобы упростить лично тебе жизнь. Вот посмотри на прикриплейд. Вот тебе хочется верить в то, что другой еблан в команде не поступит вот так вот как с ArrayList? Мне вот спокойнее если еще на этапе компиляции его говно отфутболят и мне не нужно будет в моем коде проверять, не запихнули ли в список, который должен быть списком пользователей - залупу.
Аноним 06/03/21 Суб 12:23:46 1958928906
>>1958920
> Ребяты, где обычно создают перечисления в asp net core?
В базе данных.
Создаешь таблицу: Heroes в ней ID, DisplayName, ... что-то еще. Отдаешь клиенту JSON с массивчиком этих Heroes. Не даешь публичного апи для изменения.
Да, кажется оверхедом, только вот на деле, когда это будет в проде - проще сделать один Insert или Delete в базу, чем лезть в код проекта, делать там изменения, перекомпелировать и заливать на сервер новую версию проекта, ебаться с остановкой твоего сайта ну и т.д. Опять же, ты можешь закешировать результат и обновлять только при вставке-удалении, чтобы не теребить базу.
Аноним 06/03/21 Суб 12:40:23 1958932907
image.png 5Кб, 400x146
400x146
>>1958928
Эммм ваще не понял. Таблица без модели?
Это у меня как бы настройки, в зависимости от настроек будет разное действие при заходе юзера.
Или вот так как на пикриле?
Аноним 06/03/21 Суб 12:41:35 1958933908
>>1958924
Но бомбочку с нуллом все равно можно сделать, если тип списка ссылочный.
Аноним 06/03/21 Суб 13:25:47 1958956909
Сишарп убог настолько, что писать что-то крупное на голом языке очень сложно, в результате люди используют фреймворки
Аноним 06/03/21 Суб 13:34:43 1958960910
.png 49Кб, 1322x431
1322x431
.png 3Кб, 462x60
462x60
.png 2Кб, 218x80
218x80
>>1958932
Смотри на примере консольного приложения.
Тут я вместо базы CSV использую, а вместо нормальных хендлеров - обычный словарик с лямбдами, но суть тебе должна стать ясна, если ты немного задумаешься о том как это работает.
Ты можешь так вот просто отдать на клиент новые значения и т.д. При этом чутка заморочившись - можно в рантайме добавлять обработчики, сделав приватное апи с конструированием обработчика, и не ебашась с перекомпиляцией, остановкой контейнера/сервера и вообще из-за того что внезапно вы поняли что что-то не нужно, а что-то нужно в опциях на какой-то страничке.
Удобно - пиздец.

P.S.Конечно, ты можешь не ебаться с этим и просто сделать у себя класс Options который отдает константные значения и затем гвоздями прибить обработку того что от клиента пришло. А можешь вообще просто enum. А можешь - вообще на клиенте опции сделать и как-то обрабатывать то что от клиента приходит, опять же прибив все гвоздями. Другое дело, что вот тебе самому-то хочется каждый раз лезть в код и правки делать, если по сути тебе нужно просто новую опцию добавить, да новый обработчик сделать?
P.P.S.Конечно, если у тебя там логика работы не предполагает что когда-нибудь эти значения изменятся, то можно не париться и сделать самым простым для тебя способом.
Аноним 06/03/21 Суб 13:34:44 1958961911
>>1958956
А есть языки без фреймворков?
Аноним 06/03/21 Суб 13:58:40 1958982912
>>1958960
Бля пиздец как сложно. Мне наверное это все не нужно просто.

По сути от enum будет зависеть результат выполнения. Ничего приходить не будет же, все значения уже известны.
На каждый enum свой
public IActionResult Index()
{
return View();
}

Я вообще думал так сделать: Вот юзер создает модель эту назовем ее Aby, пишем модель в БД. У каждой модели прописан URL, и при переходе на этот урл происходит действие, например показ данных модели либо редирект либо пустая страница. В БД значение этой модели меняться не будут.будут но только руками по этому их я хотел как тоеще хз как хранить все время в памяти для быстроты доступа так как время обработки здесь самый главный параметр, если время обработки 0.5 сек то нахуй такое надо ваще. Ну вот юзер переходит на страницу, берется модель и передается в метод который сравнивает все данные и решает что делать, показать юзеру страницу или сделать редирект.
Вроде же простая задача а ебни как с самолетом(
Аноним 06/03/21 Суб 14:26:31 1958997913
>>1958920
В целом верно писали, что такого рода перечисление, обычно, в базе данных держат. Просто еще одна табличка с Id и значением, которая может быть связана с таблицей твоих имен на уровне БД. Но если тебе не охота, нормальных подход для енумераций - разместить их в как можно менее доступном неймспейсе, и как можно ближе к класам, где применяется. Конкретно это будет зависеть от твоей архитектуры.

Пример: если у тебя онион архитектура, и на уровне базы данных супергерои просто хранятся как инты, их реальное значение не играет нигде, кроме как на юайке для пользователя, этот enum стоит разместить где-то в районе юзер интерфейс проекта. Если ситуация обратная, и оно гдето в моделях есть - enum отправляется в домен, где все заинтересованніе доступ будут иметь.

Если у тебя MVC с одним проектом - особо не повыкаблучиваешься. Но и тут тоже вполне сыграет это правило: если оно только вместе с этой моделью используется, стоит разместить enum в одном с ней неймспейсе, можно (но не нужно) даже в одном файле. Если у тебя все модели вместе в одной папке - тоже, кинуть в ту же папку/нейспейс. Если же enum используется во многих моделях, и у тебя есть какая-то иерархия типа [Models].[Top].[Kek.cs] она может отправиться в [Models].[MyEnum.cs], или можно выделить отдельный неймспейс для этого: [Models].[Enums].[MyEnum.cs], если [Models] начинает походить на помойку.
Аноним 06/03/21 Суб 16:18:32 1959065914
Почему тредик про шарп такой полуживой? Где весь движняк?
Аноним 06/03/21 Суб 16:58:11 1959106915
>>1959065
C# мертвый язык.
И тред не попадает на главную, хз почему
Аноним 06/03/21 Суб 17:09:28 1959126916
>>1959065
Сам двигай!
А в остальном - все ведь хорошо. Версии клепаются, фреймворки мутятся. Драма и живые обсуждения возникают при кризисах, а тут лишь вопросики вкатунов.
Аноним 06/03/21 Суб 17:24:24 1959144917
>>1955748
>сразу в Laravel
пиздуй, бороздуй
Аноним 06/03/21 Суб 17:38:41 1959171918
>>1959065
ASM и C ещё более мертвы судя по активности обсуждения. Хотя весь тот мировой колосс, на спине которого резвятся обезьянки, построен именно на этих языках.
Аноним 06/03/21 Суб 17:41:41 1959178919
>>1956943
>>1957036
дополню этого. Помимо того, что он высрал еще нужно знать:
- Строение .NET - CRM/CLS/SDK etc.;
- Концепцию #, как ООП языка - иерархия типов, касты, модификаторы, ключенвые слова, как разложить сахар в нативный язык;
- Юнит тесты. Без них никуда;
- Знать дискретку и базовые законы логики. Без них - обосрешься на первов вопросе о принадлежностях одного к другому;
- Знать паттерны - какие бывают, зачем нужны;
- Знать про такие вещи, как код стайл, алиасы твоей IDE, SOLID, KISS, DRY, etc.
- Алгоритмы поиска и сортировки - какие бывают, зачем и как;
Дальше от специфики вката:
- Unity? Тригонометрию, геометрию, аэродинамику (в идеале), Unity 3D естественно
- Веб? Версточку (sass, less, bootstrap/material/ant), native JS, один из популярных фреймворков - React/V/Angular (жетально и TS и JS, понимать что такое TS и зачем он нужен, полезешь в реакт - redux, ангуляр - rjsx). Так же - знание веб технологий - сокеты, порты, TCP/ID, UDP, работа браузера, REST (жетально еще SOAP). Начали спрашивать по CI/CD, Docker, Jenkins (если фулстеки) - зачем нужны, что и как. Веб инструменты - postman, tpcview, другие тулзы для работы с клиентской стороной.
- Десктоп - XML, MVVM, WPF, WinForms (смотря какая глина будет). Win32 also, процедуры. Если полезешь в кросплатформ - демоны, unix, какой ни будь не попсовый релиз lunix (про убунту или дебиан лучше даже не вспоминай - arch, kali твой выбор). В этой среде я плаваю, может кто чего дополнит;
- Мобилки - Xamarin.

И последнее - база в матане решает. Все глиномесы с фронта глотают престный калл, когда дело касается инженерных задач с вычислениями.
Все по верхам, хочешь вкатиться - копай глубоко. Типа как реализовать собственную коллекцию хотя бы с энумератором или как написать свой мьютекс/семафор.
Дерзай
Аноним 06/03/21 Суб 17:46:29 1959182920
image.png 346Кб, 604x906
604x906
норм книга для вката?
Аноним 06/03/21 Суб 17:57:34 1959192921
>>1959065
Тут сидят успешные специалисты, которым не до праздной болтовни. Извини, нет времени подробно расписывать.
Аноним 06/03/21 Суб 17:59:47 1959195922
>>1959182
Пиздецки как много воды.
Метанит лучше всего подходит для вката.
Если что то не понятно то можно подсмотреть в любой книге.
Ну это имхо
Аноним 06/03/21 Суб 18:02:46 1959202923
>>1959195
>Метанит
Соглашусь. Там довольно плотно инфа льётся. Сам через него вкатывался, хотя если шарп первый язык, то метанит не подойдёт. Всё таки базовые концепции он не особо обкашливает.
Ну и если своих задач нет и не можешь придумать, то нужен задачник.
Аноним 06/03/21 Суб 18:15:38 1959207924
>>1959202
>хотя если шарп первый язык, то метанит не подойдёт.
Ну да это я не учел. так то я был уже знаком с базовыми понятиями и мне нужен был только синтаксис.
Вот треды таски асинк авейт там ппц плохо объясняются, пришлось и читать книги и видео смотреть и до то до конца не понимаю эту тему.
Аноним 06/03/21 Суб 18:23:12 1959211925
>>1959207
там еще домашки не плохие. Как-то на этом метаинте прочитаешь и забудешь все сразу, а тут автор прям прожевывает так, чтобы ты все понял
Аноним 06/03/21 Суб 18:34:06 1959219926
>>1959211
Ну стоит читать тогда. В целом нет какого-то особо выдающегося учебника для начинающих (кроме Рихтера, конечно же). Все они про одно и то же. Тут важно, чтобы процесс чтения сопровождался практикой, поиском альтернативных объяснений сложно понимаемых моментов и т.п.
Аноним 06/03/21 Суб 18:35:00 1959221927
>>1959219
*Имел ввиду, что Рихтер конечно же не подходит для начинающего (после 3-5 лет практики можно присмотреться, если ещё будет актуально).
Аноним 06/03/21 Суб 19:44:19 1959283928
>>1959182
>Васильев А.Н.
>на рузске
даже влень гуглить это говно, бери Тролсена ангельском и не еби мозги
Аноним 06/03/21 Суб 20:09:39 1959310929
>>1959283
>бери Тролсена ангельском
Не стоит пытаться одновременно угнаться за двумя зайцами: и учить кодинг и учить английский.
Делая так, как советует этот анон, ты будешь читать очень медленно, и многое будешь не понимать, и скорее всего дропнешь.
Английский сам вынужденно придёт, когда нужно будет читать специфические вещи в доках.
Аноним 06/03/21 Суб 20:21:22 1959317930
>>1959310
зачем ты советуешь изучение на рузке, если все сводится к аутстафу за бугор. Нынешнее ойти - это работа на забугорного барина, а ему твое рузке нахуй не нужно. И когда тебя будут продавать галере, будут собесить только на английском и только с английскими терминами.
Лайт бонус - если ты в своей первой конторе покажешь, что знаешь ангельский, то могут закрыть глаза на какие то пробелы в знаниях, т.к. тебя будет дешевле продать.
Аноним 06/03/21 Суб 20:21:48 1959318931
>>1959317
легче продать

быстро фикс
Аноним 06/03/21 Суб 20:41:18 1959331932
>>1959317
Я вообще не понимаю нахуй разработчику общаться с заказчиком? ПМ нахуя тогда нужен?
Аноним 06/03/21 Суб 20:47:35 1959339933
>>1959317
А программист тут при чем, лол?
Программист - пишет программы. Не его работа общаться с заказчиком, не его работа писать текст, его работа, внезапно, писать программы. Все. Блядь.
Я просто хуею с дуры. А если на китайского заказчика работать будешь - будешь китайский учить? А заказчика из испании, который не хочет на английском общаться? Пиздец, блядь. Дура, нахуй.
Мне вот интересно даже. А если бы ты был игровым разработчиком. Ты бы советовал всем кто кодить в геймдеве - учиться рисовать и моделить. Ну а хули - игр без графики нет, ты же не текстовую РПГ делать будешь ЛОЛ. Пиздец. Блядь. Нахуй.

За 5 лет работы в ни разу не пришлось с кем-то там общаться, а весь текст переводили специально обученные люди. Я надеюсь хоть тебе на галере доплачивают за то что ты совмещаешь с работой программиста работу переводчика и менеджера, иначе ты тот еще лох.
Аноним 06/03/21 Суб 21:12:00 1959350934
>>1959339
>За 5 лет работы
я не знаю, где ты там работаешь, но все, что ты пишешь - это бизнес. Бизнес, за бугром. И я уже писал про аутстаф, ты видимо слов таких не знаешь, или работаешь на закрытом рынке за хуй с солью
>>1959331
если ты думаешь, что дев в 2к20 и 2к00 это тоже самое, то ты сильно ошибаешься. Аутисты не проходят фильтрацию, т.к. кодика писать уже недостаточно и многие реально скиловые тонут на софт скилах. Это правда нынешнего ойти. Хочешь работать и зарабатывать? Ты себе и апиху на .NET пиши, ты и фронт ковыряй, ты и CI/CD настраивай и все это тестируй. Нужно перекашлять вопросы? Заказчик онлайн - звони.
Аноним 06/03/21 Суб 21:19:39 1959351935
>>1959350
> аутстаф
Так и говори, что ты не программист, а негр наемный.
Аноним 06/03/21 Суб 21:21:46 1959353936
>>1959350
>Заказчик онлайн - звони.
Бля как можно доверять апездалу разработчику такое? А если я еблан такой позвоню заказчику и скажу что на хую вертел его желания так как на его говне такое сделать не реально а если он все таки хочет получить нериальное то нужно все полностью переписать и это нужно делать пол года.
Заказчик психанет и разорвет контракт, в итоге из за еблана такой проеб, я то работуда и не факт, я же ничего плохого не сделал, просто ввел заказчика вкурс дела потеряю а контора дохуя бабла.
Аноним 06/03/21 Суб 21:54:50 1959366937
>>1959351
я про аутстаф изначально и писал. Если ты на внутренний рынок работаешь, ты себя считаешь лучше аутстаф работника? Я бы на твоем месте так не горячился
>>1959353
ты вообще не понимаешь, как работает эта система, раз пишешь такую хуйню. По поводу длинного языка или каких либо своих убеждений заказчику - тебя убирают с проекта, ставят нового. Пизданул слишком много или заказчик слетел - от выговора до занесения в блек листы.
И я читаю вашу писанину и понимаю, в какой бездне ойти в 2к21. Срам
Аноним 06/03/21 Суб 23:39:31 1959435938
2021-03-0623-38[...].jpg 58Кб, 1138x712
1138x712
2021-03-0623-38[...].jpg 55Кб, 1066x738
1066x738
А как теперь называется универсальное приложение в VS2019? Где искать?
Аноним 06/03/21 Суб 23:43:24 1959442939
>>1959435
Нашел, это говно 10Гб весит
Аноним 07/03/21 Вск 00:32:18 1959478940
Есть ли какой-нибудь сайт с задачами по LINQ?
Аноним 07/03/21 Вск 01:12:15 1959502941
>>1959478
Глянь ulearn, там есть мини-курс по линку с задачками
Аноним 07/03/21 Вск 08:45:26 1959581942
>>1910326
> 7. Что почитать?

Где? Я ебал по три тысячи за книжку отдавать!
Аноним 07/03/21 Вск 10:56:08 1959619943
Cап, аноны. Есть какие-нибудь юзабельные кроссплатформенные GUI фреймворки? Видел AvaloniaUI, но знакомый говорил что еще лагает и некоторые ui элементы багованные
Аноним 07/03/21 Вск 11:09:16 1959629944
>>1959581
Все гуглится, а то, что не гуглится, есть на рутрекере.
Аноним 07/03/21 Вск 14:43:38 1959794945
>>1958956
на каком языке можно писать что-то крупное без фреймворков?
Аноним 07/03/21 Вск 14:45:11 1959796946
>>1959629
А если что-то не выложено ни на рутрекер, ни в другие закрома, то это 100% не достойно чтения.
Аноним 07/03/21 Вск 14:47:27 1959800947
Аноним 07/03/21 Вск 15:13:03 1959839948
Почему в методах типа TryFind, TryCalculate и прочих методах, в которых результат может быть, а может и нет, принято использовать шаблон:
bool TryFind(..., out T result)? В стандартной либе и во многих других кастомных либах постоянно такое вижу.
Хотя более логичным выглядит шаблон типа:
T? TryFind(...)
Потому что в случае возврата Nullable<T> нет нужны даже в случае неудачи что-то записывать в result. В случае с double для этих целей есть NaN, но для int или кастомных структур и классов нет значения, явно указывающего на отсутствие результата. При в первом случае возможно ошибочное использование result'а даже если TryFind вернул false.
Аноним 07/03/21 Вск 16:52:29 1959916949
>>1958920
В твоём случае перечисления не делаются.
Делаешь абстрактный класс AHero, от него уже наследуются 4 реализации конкретных героев HerCheb и т.п.
Аноним 07/03/21 Вск 17:20:10 1959938950
>>1959839
Так null может быть валидным результатом
Не отличишь
Аноним 07/03/21 Вск 17:21:00 1959939951
>>1959839
> T? TryFind(...)
Потому что Null - может быть валидным значением в каком-либо апи.
Допустим, в апи при парсинге HTML - в случае отсутствия кук - возвращаем Null. Вот и что по твоему логичнее - вернуть Null в обоих случаях, если весь запрос невалиден и если куки в запросе нет или таки ответить, что запрос валиден, но куки в нем нет и вернуть Null из в качестве результата.
Аноним 07/03/21 Вск 17:21:38 1959940952
>>1959939
> при парсинге HTTP
фикс
Аноним 07/03/21 Вск 17:51:28 1959966953
>>1959839
Там правильно написали про то, что null тоже может быть результатом.
Еще есть такой момент, что null`able пытаются поменьше использовать, чтоб избегать засилья if для постоянной проверки на null, и исключений, когда забудешь/что-то поменяется.
А еще мне нравится красота выражения

if(peka.TryGetGreka(out var greka)){}

по сравнению с

var greka = peka.GetGreka();
if (greka is not null){}
Аноним 07/03/21 Вск 20:20:32 1960188954
суп шарпач, как лучше всего сохранить приватную инфу(логинопароли там всякие), если речь идет о десктопной программе? есть ли бест практисес?
Аноним 07/03/21 Вск 20:48:31 1960211955
Можете плез пояснить про ? В дженериках? Когда я пишу T?, то что это означает? Ведь T может быть как валуетипом, а значит T? == Nullable<T>, так и референс типом, когда ? просто аннотация для варнингов компилятора.
Аноним 07/03/21 Вск 20:58:39 1960220956
Пора бы уже дошлифовывать знания, писать какой либо пет проджект и искать работу. Денег осталось ровно на 3дня месяц, а дальше хз.

И как же ее найти то ля? И как узнать где знаний хватает а где нет?
Вот к примеру из описания вакансии.
>Уверенные знания С# и .NET Framework/Core
Вот на сколько уверенное? Как проверить уверенное чи нет?
>Навыки разработки кросс-браузерных Javascript/HTML/CSS приложений с синхронным/асинхронным клиент-серверным взаимодействием
Ну такова нет, но вакансия джуна то подразумевает что он нихуя не разрабатывал же.

Корочи как определить что еще нужно доучивать? Во всех вакансиях требования разные, учить asp net core wpf html sql css js react angular и еще дохуя умный слов можно год и в итоге ничего не выучить.
Аноним 07/03/21 Вск 21:58:24 1960253957
>>1959938
>>1959939
>>1959966
Понятно.
Хотя в целом получается некоторая путаница между null как отсутствующая ссылка для ссылочного типа и null для Nullable<>, означающее скорее отсутствие значения. Его надо было правильнее назвать Emptyable<> с соответствующим словом вместо null.
Аноним 07/03/21 Вск 22:27:07 1960275958
>>1960220
На самом деле большинство спецов в тех конторах, куда ты хотел бы устроиться, знают очень мало и просто среднеудачливые самозванцы, в лучшем случае пришедшие после курсов или какого-то самовката по едва осиленному мануалу типа C# за 14 часов на ютубе.
Единственное, что тебя отделяет от должности - это собеседование. При этом кадровики технически не грамотны и не способны тебя отсеять по незнанию каких то языков или технологий. Технические специалисты просто не умеют собеседовать, хотя бы даже в силу отсутствия достаточного опыта. Но даже и опыт в этом деле не особо помогает. Например препод в ВУЗе в целом не дурак, знает свой предмет, имеет колоссальный опыт приёма экзаменов, но его всё равно студенты постоянно наёбывают и выдают себя за знающих. С собеседовании в конторах всё НАМНОГО хуже.
Также важно понимать, что на самом деле глубокие и обширные значения в работе не нужны, потому что ты не компилятор и не ОС пишешь, а приблуду для какого-то веб-говна с привычным для данной области крайне низким качеством (всё тормозит, страница весит 200 Мб, на 100+ комментах всё зависает даже на топовом i9 и т.п.). В принципе качество современного веба и сопутствующих сервисов наглядно даёт понимание о среднем уровне современного программиста.
Аноним 07/03/21 Вск 23:52:51 1960356959
>>1960275
Ну бля все равно надо для себя хотя бы поставить какую либо планку после который сам себе смогу сказать типо вот все пора работу искать.
Так то я ваще не хотел бы прикасается к вебу и особенно к фронтэнду, но таких вакансий большенство(
Аноним 08/03/21 Пнд 01:20:49 1960379960
>>1960253
все дело в семантике

например обращаясь к базе данных это "дай мне набор данных" можно вернуть null, что будет означать "нет набора данных".

А вот если у тебя словарик какой-то, в который ты что-то кладешь что-то и null если в данный момент ничего другого положить не можешь. Можно было бы и не класть null, но само наличие значения по ключу может означать, что данный ключ обработан. Заводить тип NoValue? делать дополнительно список ключей "для них мы работали, но не клали в словарь null мы не кладем? да проще использовать bool TryGet
Аноним 08/03/21 Пнд 08:23:19 1960435961
Необходимо перекатиться с WebForms на .Net Core (MVC, API).
Стоит ли для начала быстренько просмотреть ролики, объясняющие основы ASP.NET MVC, чтобы перекат был не такой болезненный?
Аноним 08/03/21 Пнд 12:52:11 1960551962
>>1960379
>обращаясь к базе данных это "дай мне набор данных" можно вернуть null
Только в шарпе для этого зачем-то завезли ещё один специальный нулл, который System.DBNull, и который нихуя не равен обычному нуллу.
Аноним 08/03/21 Пнд 13:01:02 1960556963
>>1960551
не путай "null как значение колонки в бд" и null, как возврат из метода (вместо пустого массива) в языке программирования.
Аноним 08/03/21 Пнд 13:19:31 1960570964
>>1960551
блин нельзя посты редактировать
поясню зачем завезли

В ADO.NET например есть метод ExecuteScalar(). И он может вернуть null. И как ты отличишь null как "нет данных вообще" от "данные есть, но их значение null". Вот DBNull и позволяет их отличать.
Аноним 08/03/21 Пнд 13:27:24 1960574965
Как думаете, вот для этой вакансии - https://joblab.ru/vac8446444.html
знания типа "if else/for/switch/while" достаточно будет для вката? Завод же, хули
Аноним 08/03/21 Пнд 13:29:38 1960576966
>>1960574
оно тебе не надо. хочешь хранимки пилить каждый день?
Аноним 08/03/21 Пнд 13:34:19 1960581967
>>1960576
За 60к да. Это много для моей деревни.
Аноним 08/03/21 Пнд 13:36:47 1960582968
>>1960581
Боюсь знание шарпа даже на "очень харашо" не дает опыта мороки с хранимыми процедурами и интеграции всяких там PDM T-Flex.
Аноним 08/03/21 Пнд 13:41:47 1960583969
>>1960570
Ну вот в данном случае уж как раз подошел бы шаблон bool TryExecuteScalar(out string result) или что-то подобное. Вместо этого нагородили очередной новый не имеющий аналогов нулл и затащили его вообще во все методы, и теперь вместо одной проверки на нулл получаем две.
Аноним 08/03/21 Пнд 13:58:15 1960603970
>>1960583
Может быть. Очевидно они решали проблему XY
Аноним 08/03/21 Пнд 14:25:25 1960639971
>>1960583
Было небось так

1 тааак. у нас есть ExecuteReader, но что если нам нужно одно значение? пусть будет метод ExecuteScalar
2 он может вернуть, что угодно...значит пусть возвращает object
3 так и null может быть значением...значит сделаем NullObject чтобы отличать
И если там кто-то и предложил " а может bool TryExecute", то с ним поступили как на всем известной картинке

Была бы открытая разработка, то им бы народ ткнул сразу что IReadOnlyList очевиден и что не должен HttpClient кидать OperationCanceledException на таймаут, что метафора "запрос был отменен (внутренним механизмом)" понятна, но теряется контекст причины отмены. И что надо бы что-то вроде await?, а не ConfigureAwait(false), и вообще не нужно void, а нужен Void, чтобы в будущем не было Task и Task<T>, а был только Task<T>, и что null safety нужен сразу, а не потом...и так далее


Аноним 08/03/21 Пнд 15:26:58 1960747972
>>1959221
Зачем после 3-5 лет Рихтер? Рихтер именно для нуля лет опыта знать нужно, чтобы собесы проходить. И актуальность вообще не решает. Когда тебя спрашиют, как что-то работает - они хотят услышать не как оно в .net 5 работает, а как в Рихтере с Троелсеном написано.
Аноним 08/03/21 Пнд 15:28:17 1960752973
>>1959478
Ага, любой леткод бери - и решай все задачи через linq
Аноним 08/03/21 Пнд 16:28:17 1960887974
Как с т.з. чистого кода понять, когда следует использовать в классе свойства, а когда методы?
Вот например, есть объект Circle. У него есть свойство Radius и приватное поле radius, через который определяются все остальные параметры.
Но вот например, Diameter или Area. Тоже наверное свойства, потому что в принципе мы могли бы использовать их вместо радиуса, и ничего бы не поменялось, всё просто считалось бы обратным способом, это лишь детали реализации. Но с другой стороны, это вычисляемые поля. И в данном случае они вычисляется быстро, но для более сложных объектов, вычисления могут быть не быстрыми, а пользователь может быть введён в заблуждение, что типа раз это свойство, то оно почти сразу доступно. Но если же выбирать метод или свойство по объёму вычислений, то это уже раскрытие деталей реализации.
Аноним 08/03/21 Пнд 16:37:50 1960918975
>>1960887
У тебя в голове какой то оверинжиниринг. Пользовательне будет введен в заблуждение, т.к. пользователю вообще не известно что у фигуры на экране есть какие то свойства. Пользователь всегда условно туп. делай ка кполучится и не думай о производительности. Скорее всего твоя программа умрет не добравшись до беты. Если не умрет до беты. то загнется в бесконечной бете с кучей переделок и вся твоя изначальная архитектура пойдет по пизде. Если случится чудо и ты доберешся до релиза, то вот тогда уже смотрик ак оно у тебя выглдит и пили тз под версию 2.0
Аноним 08/03/21 Пнд 17:10:53 1961012976
>>1960887
Если у тебя это отдельные классы - не вижу препятствий делать как подходит для класса - через свойство.
Если у тебя некая сложная иерархия и реалистичны случаи, когда ты будешь получать свою Area у наследника через интегрирование - делай методами.
Если не уверен - тоже делай методами, ведь мне, как потребителю твоей библиотеки, не особо важно, буду ли я свойством получать данные, или методом. Я исхожу из того, что ты сделал как нужно, а при какой-нибудь сериализации я себе в ногу не выстрелю.
Аноним 08/03/21 Пнд 18:30:47 1961166977
>>1960887
С точки зрения чистого кода, конкретно к твоей ситуации. У тебя есть класс Circle. У него есть 1 поле только для чтения Radius. Все. Больше ничего у него нет и менять поле никак нельзя.
Затем, у тебя есть отдельный класс: DiameterCalculator который будет рассчитывать диаметр кругов. У него метод CalculateDiameter(Circle c) => c.Radius*2. Это конечно рофельный пример, тебе проще самому в нужном месте рассчитать, либо сделать метод расширения, если так уж надо.
Потому у тебя может появиться абстрактный класс: AreaCalculatorBase<T> where T : IShape, с методом CalclulateArea(T shape) и от него уже CircleAreaCalculator : AreaCalculatorBase<Circle>.
Суть. Круг изначально ничего не знает ни о каких там своих пощадях. Нахуя ему вообще это знать? НО, если тебе потом понадобится такой вот круг, который бы мог вычислять свою площадь - ты просто делаешь фассадик и получаешь тот функционал что тебе нужен.
Аноним 09/03/21 Втр 06:37:58 1961620978
Начал изучать сишарп, скачал Джозепа Албакхара "карманный справочник", как начать понимать что там написано? Я процентов на 40 только понимаю. Сам нуфаня.
Аноним 09/03/21 Втр 06:43:48 1961621979
>>1961620
Или со временем начну больше понимать?
Аноним 09/03/21 Втр 12:34:15 1961722980
test
Аноним 09/03/21 Втр 12:37:06 1961723981
аноны, я вкативальщик, как юзать трайкачи, что анон пишет в качах? например есть задание получить данные из дб, нету связи с базой, получаем исключение, как обрабатывать такое исключение?
Аноним 09/03/21 Втр 13:35:51 1961754982
>>1961723
> как обрабатывать такое исключение?
В каче пишешь что нет сваязи с базой. В файнли закрываешь соеденение.
Аноним 09/03/21 Втр 13:45:39 1961762983
>>1961754
Но у меня должны возвращаться данные, если я не сделаю ретурн в каче я получаю ошибку компиляции а я не могу возвратить никакие данные потому что нет связи с базой, что делать?
Аноним 09/03/21 Втр 13:51:17 1961765984
>>1961762
Ты как то хуево написал код значит. Тогда просто падай.
Аноним 09/03/21 Втр 13:58:40 1961772985
>>1961765
Не понял, я же спросил как правильно написать, что за тупой ответ, вы все тут такие остроумные?
Аноним 09/03/21 Втр 14:03:41 1961776986
>>1961772
Правильно напсиать кетч так как сказано выше. если тебе этот вариант не подходит, потому что другой твой код не компилится,то это уже проблема твоего другого кода.
Аноним 09/03/21 Втр 14:15:10 1961797987
>>1961621
Начнешь, но вкатываться по справочнику, это как учить английский по словарю.
Аноним 09/03/21 Втр 14:24:28 1961812988
>>1961776
>Правильно напсиать кетч так как сказано выше. если тебе этот вариант не подходит
Какой вариант дебич? если ты про это >>1961754
то ты ничего по факту не написал, то что ты ответил это пук в лужу, свой код покажи где ты, ловишь отсутствие связи в например в getUser
Аноним 09/03/21 Втр 14:24:40 1961813989
>>1961723
Универсальное правило: если исключения ожидаемы (что не очень хороший стиль для твоего кода, и случается, обычно, при использовании сторонних библиотек) - напиши свой трайкетч, а возвращай что-то вроде пустой колекции или модели со значением свойств по умолчанию. Если исключения не ожидаемы (к чему обычно относят потерю соединения с базой) - ничего не делай, и рассчитывай на глобальный обработчик исключений, который покажет юзеру сообщение, что что-то пошло не так, а ты по логам сможешь легко понять, что и где пошло не так.
Аноним 09/03/21 Втр 14:27:52 1961820990
>>1961813
Слава господи, адекват в треде,
то-есть в каче что, вызвать логгер, и бросить не имплементированное исключение которое поймает глобальный обработчик?
Аноним 09/03/21 Втр 14:29:05 1961825991
>>1961812
Как же заебали вкатывальщики, которые сначала задают тупые вопросы, потом не понимают ответа, и вместо того, чтоб вежливо уточнить, начинают называть окружающих дебилами, хотя именно они чего-то не понимают.
Аноним 09/03/21 Втр 14:32:18 1961832992
>>1961825
>ответил без кода,
>Подтвердил что действительно пукнул в лужу
Аноним 09/03/21 Втр 14:32:55 1961834993
>>1961820
Вообще не использовать трай-кетч. Обычно настраивают глобальное логирование, которое и пишет в лог необработанное исключение. Но если у тебя простая хуйня для обучения - я бы с глобальным логом не заморачивался - кто их читать будет. Просто знай, что такое есть, а трай-кетч в твоем случае не используй.
Аноним 09/03/21 Втр 14:41:10 1961842994
image.png 651Кб, 540x720
540x720
>>1961834
Понял, это в целом полностью перекликается с ответами со стакОверфлов где писали что исключений нужно ловить только когда ты можешь что-то с ними сделать, спасибо за разъяснение этого принципа более детально!
Аноним 09/03/21 Втр 15:11:40 1961882995
>>1961812
Тебе написали понятными словами понятный порядок действий. Код за тебя никто писать не будет. Если нужен код, то давай контакты. Сумму за работу уточним.
Аноним 09/03/21 Втр 16:32:10 1961980996
>>1961882
Школьник успокойся ты уже обосрался и тебя уже послали, дальнейших действий не требуется, съеби отсюда
Аноним 09/03/21 Втр 19:05:51 1962138997
image.png 34Кб, 812x450
812x450
Как из готовой бд создать модели? Database First
На метаните написано что нужно добавить ADO.NET Entity Data Model
Но как я понял это уже устаревшая статья.
Как мне такое в консольном net core 3.1 ef приложении сделать?
Аноним 09/03/21 Втр 19:35:00 1962167998
.png 7Кб, 515x286
515x286
>>1961723
Делай вот так вот. Базарю. Еще захочешь.
Аноним 09/03/21 Втр 20:04:23 1962197999
>>1962167
Кстати, это пример того что у меня есть в продакшн коде. Как же хорошо жить без кодревью ваших.
Аноним 09/03/21 Втр 20:21:01 19622061000
>>1962138
Все разобрался.
PM> Scaffold-DbContext "Server=(localdb)\MSSQLLocalDB;Database=SPTest;Trusted_Connection=True;MultipleActiveResultSets=true;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

Нужно было убрать \ так как в консоле не экранинуются символы.
Аноним 09/03/21 Втр 22:59:32 19623881001
>>1961166
Это интересный подход, и я даже пробовал несколько раз подобным образом проектировать классы, но как-то в итоге жизнеспособно не получалось. В стандартной либе, насколько я могу судить, так не делают почему-то, и я по дефолту всё же пытаюсь подражать именно ей. Но было бы интересно увидеть небольшой живой проект, где так пишут.
Аноним 09/03/21 Втр 23:03:17 19623921002
Анон, обьясни дебилу, зачем нужны обобщенные классы, они же дженерики? Что такого они могут, чего не могут абстрактные классы?
Аноним 09/03/21 Втр 23:03:47 19623941003
Аноним 09/03/21 Втр 23:07:42 19623971004
>>1962392
Ну что проще - делать миллион классов типа
StringStringDictionary, IntStringDictionary, GovnoJopaDictionary и переопределять там все методы, или просто в одну строчку сразу писать Dictionary<string, string>?
Аноним 09/03/21 Втр 23:10:26 19624031005
>>1962397
эти миллион классов все равно же надо прописывать, разве нет? А потом можно их вложить в одну коллекцию, которая принимает абстрактный класс-батю
Аноним 09/03/21 Втр 23:15:39 19624041006
>>1962403
Нет конечно(ну или я не понял что ты имеешь в виду).
Я просто беру и пишу вообще на ровном месте var a = new Dictionary<string , int>() и могу сразу использовать потому что компилятор сам все сгенерирует.
Аноним 09/03/21 Втр 23:25:28 19624071007
>>1962404
попробую иначе. Допустим у меня есть дохуя однотипных классов - наследников от одного абстрактного класса. Я могу также писать на ровном месте List<Батя> и пихать в него любой из наследников, нежели создавать обобщенный класс
Аноним 09/03/21 Втр 23:28:32 19624091008
1615321710137.png 237Кб, 500x394
500x394
Аноним 09/03/21 Втр 23:30:36 19624131009
>>1962409
чем твой пример отличается глобально от моего?
Аноним 09/03/21 Втр 23:37:44 19624161010
>>1962407
Ну класс List и есть щаблонный класс, если бы он был не шаблонным, тебе пришлось бы делать специальный BatyaList. А потом ты захочешь список из типа инт, а инт это ну вообще не батя, придется писать новый класс.

Ты можешь возразить, что абсолютно все является наследником класса object - значит надо сразу делать класс List для обжекта. И действительно, ты можешь сделать класс работающий с типом object, и он будет работать с абсолютно любым классом.
Но:
1. Тебе приедтся постоянно прописывать касты. Типа ((Batya)myList[3]).PosmotretVShel();
Не удобно же.
2. Ты не можешь гарантировать, что все объекты в списке будут одного типа. Я смогу получается и строку и число в список запихать легко. Вот принимает какая-то функция на вход какой-то список, и хуй вообще знает а что за список ей нужен. Придется в описании функции писать, постоянно туда смотретт. Более того, я могу случайно что-то не то положить список и компилятор меня не предупредит, а потом хуй знает как эту ошибку в большом проекте искать.
Аноним 09/03/21 Втр 23:59:09 19624261011
image.png 30Кб, 1138x419
1138x419
>>1962416
>Вот принимает какая-то функция на вход какой-то список, и хуй вообще знает а что за список ей нужен. Придется в описании функции писать, постоянно туда смотретт.
если я сделаю так, ты же не сможешь дать неправильный список
Аноним 10/03/21 Срд 00:02:42 19624291012
>>1962388
> В стандартной либе, насколько я могу судить, так не делают почему-то,
Потому что изначально стандартная либа писалась впопыхах и нужно было с одной стороны быстродействие, с другой чтобы был сахарок и все фишки жавы и даже больше. Потому там статик через статик, потому там стримы кидают исключение вместо того чтобы просто давать тебе интерфейсы отдельный для чтения, отдельный для записи и вообще, с точки зрения именно что чистоты кода - там такое себе.
По сути - современный кор/net5 как-бы и стараетлся наконец в архитектуру. Посмотри код кестрела, например или примеры архитектуры которые на гитхабе залиты от самих мелкомягких. Классы в пару строчек, всюду адептеры да фассады. Красота с точки зрения чистоты. Разобраться в этом коде можно за полчаса.
Когда ты откроешь исходники старого дотнета - ты охуеешь от того как там хуячат. Ну, хули, деды, они могли 4к строк за полчаса выдать, потом накатить и еще столько же выдать и так 12 часов в день.
Аноним 10/03/21 Срд 00:11:18 19624361013
Аноним 10/03/21 Срд 00:17:13 19624441014
>>1962426
Совершенно верно, потому что List -
и есть дженерик


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

Ты начнешь писать
class MyList
{
}
Так что там ему нужно? Надо чтобы можно было добавлять, получать по индексу, и удалять элеиенты, да?

Ну хорошо попробуем добавление элементво сделать
class MyList
{
public void Add(.....)
{
}
}
Как функцию Add написать, какие у нее параметры должны быть? Она должна принимать элемент... какой? Не понятно. Обжект что ли? Тогда проблемы описанные мноц выше актуальны.

А что если сделать так...

class MyList<T>
{
T[] data;
public void Add(T element)
{
//это оставляю тебе
}
}
Вот это другое дело!
Аноним 10/03/21 Срд 00:18:55 19624471015
>>1961797
А что посоветуешь для изучения? А то я хз что там по книгам.
Аноним 10/03/21 Срд 00:24:16 19624531016
>>1962447
Насколько ты нуфаг? Си шарп твой первый язык?

Вообще практика - это самое главное. Напиши сам какую-то программу - подумай, что ты мог бы сделать с учетом твоих знаний? Тогда многое поймешь.
Аноним 10/03/21 Срд 00:25:27 19624551017
Ребята как с селениуме прокрутить страницу вниз?
В частности на странице видео с ютуба хочу погружать коменты пока все не прогрузятся. Нужно прокрутить, подождать потом снова прокрутить. Да я пробовал примеры 7летней давности с SOF, не работает
Хочу парсить коменты, в get не умею, а апи только 10к запросов что для меня очень мало.
Аноним 10/03/21 Срд 01:07:02 19624671018
>>1915581
Такая же бида, только у меня все эпичнее. Два года быдлокодил на хуюньке, порвал с тянкой, впал в депрессию. Щас вот тока оправился и решил вкатиться обратно, без работы, скоро от голода сдохну, но мне не страшно. От юнити просто блевать тянет. Делаю вывод, что чем больше обдуманно изучаешь тему разработки, тем больше хейтишь юнити-хуюти. Вот дотнет вообще балдежный, настолько в нем изящно сделана и продумана каждая деталь, просто зубришь и все, без всяких ебаных подводных камней. И чисто если рассудить, то количество говнокода должно быть в разы меньше, потому что нет уебков, котоыре вкатились ради "ХОЧУ КАК ГОДЗИМА ДЕЛАТЬ ВЕЛИКИ ИГРЫ", а по факту пилят обоссаный код, за который нужно вешать нахуй и четвертовать. В общем ебал в рот юнити, дотнет ня.
Аноним 10/03/21 Срд 02:54:46 19624951019
Привет, аноны. Ситуация такая, недавно начал заново изучать шарп в прошлый раз недоучил, да и было давно, так что можно считать, что учу почти с чистого листа. И у меня появился ряд вопросов, не кидайте помидорами, если совсем уж нубские.
1) Что понимается под "знанием .NET Framework/.NET Core/.NET"? Все библиотеки, что входят туда, вроде ASP.NET/ADO.NET/WPF/LINQ и т.д. или просто понимание того, как платформа функционирует, в чём её преимущества, etc.
2) Только что дочитал главу с делегатами и интерфейсами, выглядит всё довольно сложно, хотя большая часть понятна, но мне как-то контринтуитивно их применение, как заставить себя их использовать и видеть ситуации в которых они важны?
3) Насколько важно знание паттернов проектирования и рефакторинга в контексте джуниорской/стажёрской вакансии? Стоит ли это всё учить или не стоит сейчас забивать голову?
4) И наконец что конкретно понимается под "чистым" кодом? Я вот по дефолту делаю понятные имена переменных/методов, комменты добавляю на английском, разбиваю слишком длинный метод на несколько, это можно назвать "чистым кодом" хотя бы на начальном уровне?
Аноним 10/03/21 Срд 03:17:09 19624991020
>>1962495
1).NET Framework - старое УГ только для винды, .NET Core - сексуальное воплощение божией силы работающее везде где можно, .NET - по сути тот же неткор, просто майкрософт любят ебаться с ребрендингом. У меня лично довольно дохуя времени ушло, чтобы разобраться в сортах говна .NET.
ASP.NET - сайтики, есть еще core версия. ADO.NET для бд, старое говно. WPF окошки для винды, лучше начни с WinForms. LINQ - способ обращения с коллекциями в различных извращенных формах - функционально или SQL форме.
2)Задачи появятся в контексте проекта. Придумай себе проект и трахайся с ним, читай статьи. Пока что тебе не понятно нахуя это надо, потом само поймется, это нормально. Но вообще чистые delegate используются редко на моей практике, delegate нужен лишь для существования эвентов
3)Пока ты духджун, знать скорей всего не надо. Поймешь на практике.
4)Чистый код, это когда тебя выебали во все щели на первых ревью, а затем еще и твою мать, твою собаку и кота за лишние пустые строки в коде. Тогда ты научишься делать "чистый код"
Аноним 10/03/21 Срд 03:20:21 19625011021
>>1962495
Надо добавить - сколько ты не старайся, но тебя выебут на первых ревью, поэтому жопу готовь, но стараться все равно нужно, чтобы хотя бы взяли на работу.
Аноним 10/03/21 Срд 03:59:35 19625111022
>>1962453
Да, первый.
Спасибо, но я хз как кодить.
Аноним 10/03/21 Срд 04:03:42 19625121023
>>1962499
>>1962501
Спасибо за расписанный ответ анон.
>NET Framework - старое УГ только для винды, .NET Core - сексуальное воплощение божией силы работающее везде где можно, .NET - по сути тот же неткор, просто майкрософт любят ебаться с ребрендингом. У меня лично довольно дохуя времени ушло, чтобы разобраться в сортах говна .NET.
ASP.NET - сайтики, есть еще core версия. ADO.NET для бд, старое говно. WPF окошки для винды, лучше начни с WinForms. LINQ - способ обращения с коллекциями в различных извращенных формах - функционально или SQL форме.
Да, это я уже понял, я вот только не понял, это всё и понимается под знанием условного .NET? Просто я в вакансиях видел одновременно владение, скажем .NET Framewrok и ADO.NET, в таком случае нелогично выходит, потому что второе входит в первое.
>Задачи появятся в контексте проекта. Придумай себе проект и трахайся с ним, читай статьи. Пока что тебе не понятно нахуя это надо, потом само поймется, это нормально. Но вообще чистые delegate используются редко на моей практике, delegate нужен лишь для существования эвентов
Т.е. если я напишу на тестовом реализацию чего-то условного не листом объектов, а простым массивом, то не будет слишком сильно резать глаза и быть неправильным решением?
>)Чистый код, это когда тебя выебали во все щели на первых ревью, а затем еще и твою мать, твою собаку и кота за лишние пустые строки в коде. Тогда ты научишься делать "чистый код"
>лишние пустые строки
а разве пустой строкой не надо разграничивать блоки кода для повышения читабельности? Я вот всегда инициализацию данных отделяю строкой от остального функционала.
>Надо добавить - сколько ты не старайся, но тебя выебут на первых ревью, поэтому жопу готовь, но стараться все равно нужно, чтобы хотя бы взяли на работу.
Ну за счёт жопы я не боюсь, а вот чтобы взяли всё же было неплохо, ибо в условные пол-месяца/месяц/полтора если я не найду работу то кушать таки будет нечего.
Аноним 10/03/21 Срд 07:35:08 19625311024
>>1962511
Скачай курс скиллбокса по шарпу с торрента. Там как раз неплохая база для полных нулей
Аноним 10/03/21 Срд 10:14:10 19625521025
Screenshot1.png 16Кб, 360x366
360x366
Есть идеи как это воплотить можно? Прохожу курс по шарпу, выбрали 25 человек из сотни и дали проект, сказали нате, делайте все сами. Мне дали именно пикрелейтед.
Чувствую себя будто только научился стрелять и тут сразу же бросили в бой. Даже не знаем с чего начать.
Аноним 10/03/21 Срд 10:16:12 19625541026
>>1962552
А что собственно не понятно? Вроде никаких извращений...
Аноним 10/03/21 Срд 10:24:13 19625631027
>>1962554
Я вообще не ебу что кодить.
Класс CitizenAccount с полями name, surname, age, occupation etc?
Это еще кучу реквестов хендлить из других сервисов, самому реквесты высылать, пиздец программированию так и учатся?
Аноним 10/03/21 Срд 10:36:18 19625711028
>>1962563

Конечно тебе нужен класс жителя, как ты с базой будешь работать без него? Нативный squery фигачить будешь?

Насчет сервисов я вообще не понял, из пикрила не вытекает необходимость использования каких-то сторонних сервисов, там есть только какие-то оплаты, и насколько я понимаю тебе не нужно делать именно САМУ возможность оплат, КАК МНЕ КАЖЕТСЯ, тебе нужно просто создать что-то типа записной книжки с триггерами что бы пользователю напоминать что и когда оплачивать, и что и когда он уже оплатил, как запланированные дела только с оплатами ну это ОПЯТЬ ТАКИ ПО МОЕМУ ПРЕДПОЛОЖЕНИЮ СУДЯ ИЗ КОНТЕКСТА, по одной картинке ТЗ сложно понять,

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

в общем-то все задания очень тривиальные, типа get/post как джун на работе ты скорее всего 99% времени будешь должен щелкать именно такие задачи
Аноним 10/03/21 Срд 11:01:48 19625911029
Screenshot2.png 246Кб, 1199x760
1199x760
>>1962571
Надо было сразу всю схему показать
Больше всего боюсь именно за обработку входящих запросов из других сервисов
Почитать бы что нибудь про это сразу целиком, гугл выдает только кусками и не понятно как это все вместе склеивать
Аноним 10/03/21 Срд 11:14:35 19626001030
>>1962591
Не понимаю в чем сложность, они что будут тебе в каком-то специфическом формате запросы отправлять? Не в Джейсоне?
Аноним 10/03/21 Срд 11:26:00 19626121031
>>1962591
ЛОЛ, повезло чуваку на морге, принял труп, написал что он здох, продолжил чилить...

Что за курс кстати?
Аноним 10/03/21 Срд 18:48:04 19629711032
.png 12Кб, 684x325
684x325
>>1962552
Чет типа такого. Без остальной информации таки сложно ванговать.
Аноним 11/03/21 Чтв 10:17:23 19634061033
image.png 205Кб, 1893x998
1893x998
Анон, выручай - у меня сломался nuget

(раньше ставил на пробу годот, потом удалил, и теперь у меня не работает nuget


То есть создаю новый проект, открываю nuget, выбираю либу, нажимаю установить - пишет вот это все снизу

Старые проекты где уже подключены библиотеки - тоже теперь не компилируются, показывает восклицательный знак на всех либах и ничего не дает с ними делать.
Аноним 11/03/21 Чтв 11:34:50 19634551034
>>1963406
Вангую, тебе просто нужно постирать записи об годоте в нугет файлах и еще может в проектнейм.sln (открой блокнотом).
Аноним 11/03/21 Чтв 11:39:43 19634571035
>>1963406
Ошибка из-за того что ты снес годот, а студия его хочет вызвать.
Аноним 11/03/21 Чтв 11:46:24 19634611036
>>1963406
>раньше ставил на пробу годот, потом удалил

Как удалял, няша?
Аноним 11/03/21 Чтв 11:49:04 19634641037
>>1963461
пкм-delete. Я из гитхаба компилировал

>>1963455
>Вангую, тебе просто нужно постирать записи об годоте в нугет файлах и еще может в проектнейм.sln (открой блокнотом).
А как они туда попадают? Проект новый

>>1963457
так не должна, это вообще никак не связано, просто годот где-то насрал (в Tools -> Options -> Nuget Package Manager -> Package Source ничего нет кроме дефолтного адреса)
Аноним 11/03/21 Чтв 12:02:54 19634751038
>>1963464
>пкм-delete. Я из гитхаба компилировал
солюшины подтягивают параметры нугета для компиляции, а ты свой нугет распердолил, вот у тебя в солюшинах и сыпятся ошибки потому что он не может нормально подтянуть зависимости из-за наебнувшигося нугета, лечится заменой нугета из бекапа или переустановкой студии, ничего страшного
Аноним 11/03/21 Чтв 12:31:36 19634961039
>>1963464
> годот где-то насрал
Шо аж ты со своей вендаколяски свалился, на потеху всему опенсорц сообществу.
Аноним 11/03/21 Чтв 14:14:58 19635931040
Сап, в впфе есть один пнгшный имедж. Можно ли как-то засунуть контент внутри самого имеджа, желательно без пердолинга с координатами? Т.е. у картинки есть рамка и я хотел бы определять контент внутри этой рамки. Например сделать контролу что-то типа Border.border = "image.png" и задать там толщину? Или как-то задать контент поверх самого имеджа?
Аноним 11/03/21 Чтв 23:59:06 19644371041
Аноним 12/03/21 Птн 01:16:02 19644771042
image.png 38Кб, 741x436
741x436
>>1963475
>бекапа или переустановкой студии, ничего страшного
Переустановил - не помогло, все равно откуда-то блядь оно пытается такщить

Вот на пикче источники nuget - тут ничего нет
Аноним 12/03/21 Птн 06:38:50 19645411043
>>1964437
Хочу шоб была кнопка в картинке.
Аноним 12/03/21 Птн 10:23:30 19646211044
>>1964541
Даже представлять не хочу зачем это нужно, но теоретически ты можешь преобразить png в векторный файл и запихнуть кнопку туда
Аноним 12/03/21 Птн 10:27:16 19646231045
image.png 168Кб, 480x360
480x360
>>1964477
Классический казус белли для сноса винды.
А если серьезно скинь сюда этот файлик Index.json
Аноним 12/03/21 Птн 12:21:11 19647001046
Зачем юзать Html.AntiForgeryToken()

Какой это дает профит? Как его юзать? где и когда?
Аноним 12/03/21 Птн 13:04:04 19647221047
image.png 13Кб, 446x368
446x368
image.png 77Кб, 502x362
502x362
image.png 13Кб, 404x246
404x246
Только начал вкатываться. Зачем он так делает?
При том если число меньше 3.9 то результат будет правильным.
Аноним 12/03/21 Птн 13:49:00 19647451048
>>1962531
>скиллбокса по шарпу
А разве это не наебщики?
Аноним 12/03/21 Птн 13:55:05 19647521049
>>1964722
ну дык флоаты же
они как и даблы в двоичном выражении выражаются плохо, то есть с погрешностью, вот и получаются разные результаты.
Аноним 12/03/21 Птн 14:20:18 19647821050
image.png 12Кб, 403x294
403x294
>>1964752
Майкрософт предлагают использовать decimal тип, и видимо это рабочее решение, но ведь это непрактично.
Вообще, как часто может возникнуть ошибка на почве подобной арифметики, как следует ее избегать?
Аноним 12/03/21 Птн 14:24:09 19647871051
>>1964782
Если не работаешь с деньгами, то можешь всю жизнь и не вспомнить про эту особенность, так как накапливаемая погрешность мала
А обычные случаи, где после потери точности ты пытаешься сравнивать через == , студия (или решарпер я хз) подсветят
Аноним 12/03/21 Птн 14:26:16 19647911052
>>1964787
Только вот я работаю с деньгами...
Аноним 12/03/21 Птн 14:27:56 19647921053
>>1964791
для тебя придумали decimal
тебе байтиков жалко что ли?
Аноним 12/03/21 Птн 14:28:38 19647931054
>>1964792
Все дело в оптимизации...
Аноним 12/03/21 Птн 14:29:40 19647961055
>>1964793
когда программист работающий с деньгами начинает вот так оптимизировать, то это приводит к тому, что оптимизируют самого программиста
Аноним 12/03/21 Птн 14:31:31 19648001056
>>1964796
Не то что бы я на зло не юзал децимал, просто за оптимизацию обидно
Аноним 12/03/21 Птн 14:34:04 19648071057
>>1964800
>просто за оптимизацию обидно
вот когда тебе зряплату оптимизирует - вот и будет обидно

а так выбирай - либо точность, но медленнее, больше размер, либо оптимизация зряплаты или самого оптимизатора
Аноним 12/03/21 Птн 14:35:45 19648101058
>>1964807
Почему тут так не любят программистов, которым не плевать на быстродействие?
Аноним 12/03/21 Птн 14:42:16 19648161059
>>1964810
потому что оптимизированный код обязан выдавать верные результаты
public double Multiply(double a, double b) => return 42d;
работает быстро, но верно ли
Аноним 12/03/21 Птн 14:54:36 19648331060
>>1964816
Любой код должен возвращать правильные результаты, но лучше что бы код еще и работал быстро, почему народ здесь этого не понимает?
Я сейчас говорю не в разрезе именно этого случай, а о парадигме коддинга сейчас в целом!
Закон мура уже поламался, никаких +100% производительности из метала уже не получить, поэтому ньюфеги должны сейчас запрыгивать в лодку оптимизации, нейросетей, датаАнализа и низкоуровневого программирования! Все эти фичи стают все более востребованы именно из-за упора текущего технологического прогресса в средства обработки информации. Это раньше можно было тяп ляп и все готово, сейчас таких гонят в шею, и все эти разговоры про рабство ньюфегов которые работаю за еду от того что такие программисты уже больше никому не нужны, сейчас на рынке будут оставаться только те кто может написать уже существующий код в более производительном русле, или написать что-то что будет работать быстрее чем то что могут написать другие, неужели аноны тут этого не понимают? Мы на пороге слома парадигмы, и у ньюфегов есть преимущество над мидлами, учиться СРАЗУ ПРАВИЛЬНО лучше, чем переучиваться
Аноним 12/03/21 Птн 15:01:41 19648401061
>>1964833
Какие есть предложения, как решать ситуацию в конкретном данном случае и в целом?
мимо-ньюфег
Аноним 12/03/21 Птн 15:03:38 19648441062
>>1964840
Ты что тупой? Тебе же сказали если тебе важна точность юзай децимал, это валидно
Аноним 12/03/21 Птн 15:05:56 19648461063
>>1964833
>Любой код должен возвращать правильные результаты, но лучше что бы код еще и работал быстро, почему народ здесь этого не понимает?
народ не понимает как можно заявлять такое приводя код который возвращает неправильные результаты
Аноним 12/03/21 Птн 15:07:25 19648471064
>>1964846
>народ не понимает как можно заявлять такое приводя код который возвращает неправильные результаты

ча? Я никакого кода не приводил, ты о чем вообще? Я мимоходом вписался
Аноним 12/03/21 Птн 15:08:42 19648491065
>>1964847
тогда сорян. сам понимаешь, двач не подписывает кто где говорит и потому по дефолту считается, что идет диалог, а каждый со стороны во избежание такого подписывается "мимо-крок/ньюфаг"
Аноним 12/03/21 Птн 15:10:33 19648531066
>>1964849
Да мой косяк, забыл Мимо дописать
Аноним 12/03/21 Птн 15:24:56 19648691067
>>1964833
К слову, видел не очень интересное выступление архитектора noSQL БД на шарпе, так он там тоже за оптимизацию затирал. Но его посыл был в том, чтоб сначала оптимизировать архитектуру, потом алгоритмы всякие, а в последнюю очередь байтоебством заниматься. Так и выигрыши по производительности лучше всего получаются на единицу трудозатрат.

И в свете выше написанного, лучше пусть ньюфаги научатся нормально с коллекциями, асинхронностью и базами данных работать - это даст выхлоп куда больше, чем знание тысячи и одного способа, как сэкономить два такта и сделать код необслуживаемым.
Аноним 12/03/21 Птн 15:36:24 19648741068
>>1964869
>так он там тоже за оптимизацию затирал. Но его посыл был в том, чтоб сначала оптимизировать архитектуру, потом алгоритмы всякие, а в последнюю очередь байтоебством заниматься.
Сейчас именно так и происходит, все началось далеко не с байтоебства, сейчас мы на стадии отказа от совместимости c x86 командами, а так же внедрение в архитектуру чипов хардверного ускорения для нейросеток, потом будут более поверхностные изменения, но то что со временем эстафета перейдет к программистам это очевидно предполагаемый исход, и будет это гораздо быстрее чем ты думаешь, а интернет вещей еще больше бустанет этот процесс
>как сэкономить два такта и сделать код необслуживаемым.
Не надо утрировать, тоже так умеем, медленный однопоточный код вездесущ, речь далеко не о 2 тактах
Аноним 12/03/21 Птн 16:05:22 19649111069
>>1964874
> сейчас мы на стадии отказа от совместимости c x86 командами, а так же внедрение в архитектуру чипов хардверного ускорения для нейросеток
Во-первых, один лишь Эпл - это не "Мы". Во-вторых, поддержкой разных архитектур в CLR занимаются майки, а не "Мы". В-третьих, внедрение хардверного ускорения для почти всех дот.нет программистов будет заключаться или в подключении библиотеки, а не жонглировании байтами, или вообще ни в чем. Это явно не забота ньюфагов.
Еще пара слов о умерщевлении закона мура - ну так микроэлектронщики придумали многочиплетную компоновку чипов, а программисты придумали всякие многопоточности с микросервисами. На наш век производительности хватит.

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

Пишу я такие простыни, чтоб новички не тратили время на маловажные аспекты программирования, и тратили на важные.
Аноним 12/03/21 Птн 16:26:17 19649401070
>>1964911
винда переходит на арм, уже, линукс уже давно, интел в торопят пилит новые процы, все остальные уже давно

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

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

>Мой опыт
Ты вообще читал что я писал? твой опыт не валиден в будуйщем

>Пишу я такие простыни, чтоб новички не тратили время на маловажные аспекты программирования, и тратили на важные.
убираешь будущих конкурентов
Аноним 12/03/21 Птн 16:53:24 19649991071
>>1964940
>винда переходит на арм, MAC уже, линукс уже давно,
СлоуФикс
Аноним 12/03/21 Птн 17:05:38 19650291072
>>1964940
>вообще не понял к чем ты это, а жонглирование байтами ты вообще сам придумал.
Попытался подобрать синоним к байтоебству
>многопоточность которая реально мало где задействована это один из методов оптимизации кода, но даже в таком случае в высокоуровневом программировании есть действия которые не разбиваются на многопотоки и увеличивают время ответа, такие будут переписаны на низкий уровень в первую очередь,
Я не знаю, о какой сфере применения ты речь ведешь, но многопоточность уже давно и крепко обосновалась на десктопе, и практически абсолютная в вебе. И как я уже написал, крайне сложно придумать задачу, где нормально спроектированный код будет выполнятся слишком медленно.
>Ты вообще читал что я писал? твой опыт не валиден в будуйщем
Двадцать лет назад задачи сервера при обработке запроса, требующего немедленного ответа, сводились к CRUD, через 20 лет - ничего не поменялось, но сейчас то все должно немедленно затормозить с просто так?
>винда переходит на арм
Винда обеспечила ограниченную поддержку арма
>линукс уже давно
Линукс обеспечивает поддержку арма
>интел в торопят пилит новые процы
Задача производителей процов - пилить процы. Что ты этим сказать хотел?

И к чему это все? Майки обеспечили поддержку выполнения IL на арме, а от меня, как от разработчика, ты чего хочешь? decimal работает как на x86-64, так и на ARM.
Аноним 12/03/21 Птн 17:07:47 19650331073
>>1964940
>убираешь будущих конкурентов
Какие же они мне конкуренты? Наоборот, помогаю им на работе и здесь, чтоб толк от них был.
Аноним 12/03/21 Птн 17:25:53 19650571074
>>1964911
>Во-первых, один лишь Эпл - это не "Мы".
>буквально все уходят от x86
>бля пиздану что-то про то что задача производителейпроцы производить процы, надеюсь проканает и никто не заметит что я обосрался

>Я не знаю, о какой сфере применения ты речь ведешь, но многопоточность уже давно и крепко обосновалась на десктопе, и практически абсолютная в вебе. И как я уже написал, крайне сложно придумать задачу, где нормально спроектированный код будет выполнятся слишком медленно.
Ты из тех кто думает что добавить второй тред и ебнуть Thread.Sleep(100500); это типа внедрение мультипоточности? ну да, таких вот в первую очередь и будут гнать в шею.

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

и второй раз повторяю байтоебство это утрированный термин,а я надеюсь мы говорим о каких-то реальных вещах
Аноним 12/03/21 Птн 17:34:18 19650741075
>>1964911
>Мой опыт - при хорошей архитектуре и адекватных алгоритмах получить достаточно медленный однопоточный код, чтоб это стало проблемой, почти невозможно.
ключевое слово "мой опыт"
Аноним 12/03/21 Птн 17:46:12 19650891076
>>1965057
>буквально все уходят от x86
>что я обосрался
Вижу ПК на и серваки на x86, не вижу на АРМ. Технологические компании много над чем работы ведут на всякий случай, но это не значит, что оно превратится в продукт. Обосрался, похоже, ты.

>Ты из тех кто думает что добавить второй тред и ебнуть Thread.Sleep(100500); это типа внедрение мультипоточности?
Ты из фантазеров? Или по номеру поста гадаешь?

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

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

>>1965074
>ключевое слово "мой опыт"
Так ведь это единственное, что может котироваться в данном вопросе. Ты мне можешь какую-то статистику показать, что без низкоуровневой оптимизиации через несколько лет все перестанет работать? Или у тебя есть строгое математическое доказательство?
Аноним 12/03/21 Птн 17:48:58 19650961077
>>1965089
я могу показать тебе реальность
постоянно приходится покупать новые смарты и компы, потому что старые начинают тупо не тянуть обновленный и новый софт.

А все из за говнописателей "цензура цензура и в продакшен"
Аноним 12/03/21 Птн 17:59:08 19651171078
>>1965096
Так и есть. Даже пример могу привести - MS Teams. Съедает до гигабайта оперативки, умудряется тормозить на хорошем компьютерном железе, в своей консоли у него сотни ошибок отображаются. Почему так? Потому что сделано на электроне, с почти отсутствующей многопоточностью, с применением angular jquery, и не очень хорошими программистами. Как это исправить? Использованием подходящей платформы (желательно нативной), на технологиях, которые не допускают чрезмерно говнокодистого кода, и подтягивая уровень разработчиков.
Как это не стоит исправлять? Низкоуровневым программированием.
Аноним 12/03/21 Птн 18:09:00 19651371079
Т.е. интерфейсы это просто явной способ указать на то, что надо реализовать в классе, правильно?
Аноним 12/03/21 Птн 18:14:22 19651411080
Ребяты, как я понимаю goto это хуевая практика. Если в тестовом задании его использовать это сразу обсер?
Аноним 12/03/21 Птн 18:14:38 19651421081
>>1965137
интерфейсы это способ указания контракта. Как ты удовлетворишь контракт - дело десятое
Аноним 12/03/21 Птн 18:14:54 19651441082
>>1965137
Вообще да. Используется, в первую очередь, для разных техник инверсии контроля, в т.ч. инъекции зависимостей. Почитать о первом можно в описаниях принципов SOLID, о втором - когда ASP.NET учить будешь.
Аноним 12/03/21 Птн 18:15:45 19651451083
>>1965141
Да. Но на первое апреля можно по приколу.
Аноним 12/03/21 Птн 18:23:17 19651561084
>>1965144
не путай человека
в первую очередь это описание контракта
DI и остальное тут сбоку стоят.
Аноним 12/03/21 Птн 19:34:28 19652591085
Анон, я вот о чем думаю. А была бы прикольной фишка типа объединения интерфейса.
Типа вот я пишу метод int Foo(IFizz|IBuzz FizzBuzz) и получаю что объект FizzBuzz - имеет методы и свойства как IFizz так и IBuzz.
У этого есть какое-то название? И вообще, что думаете об этом? Просто мне кажется - вполне логично в контексте отказа от толстых интерфейсов, с другой стороны - не всегда получается в контексте какого-то метода обойтись тонким, ну и часто не хочется делать отдельный интерейс, который просто два других в себе объединяет, тупо из-за того что трудно имя придумать, да и засирает это количество интерфейсов в коде.
Аноним 12/03/21 Птн 19:35:07 19652611086
>>1965156
Что такое контракт я во всей главе по интерфейсам не нашёл, даже краткого упоминания, из чего сделал вывод (возможно, что ложный), что интерфейс - способ объявления реализации функционала. Причём поскольку один класс может наследовать сразу от нескольких интерфейсов, более гибкий, чем реализация этого функционала в родительском классе. В чём я не прав?
Аноним 12/03/21 Птн 19:36:28 19652631087
>>1965261
Контрает это договоренность о том, что объект имплементирующий интерфейс будет иметь публичные свойства и методы с данными именами и сигнатурой. Все, блядь.
Аноним 12/03/21 Птн 20:48:12 19653391088
>>1965259
> У этого есть какое-то название?
Наследование интерфейсов.
Аноним 13/03/21 Суб 09:47:56 19656411089
Есть некоторая проблема.
Смотрите. Был некий служебный код, который, был вынесен в отдельный internal sealed класс. Таких вот классов было несколько, в зависимости от задач. Ну, приведу пример: есть некая задача: импортировать данные из апи наших партнеров, апи довольно сильно отличается от нашего, ну, соответственно - конвертация вынесена в отдельную сущность, чтобы не засорять основной класс, который еще и должен не просто импортировать, но импортировать определенным образом, попутно произведя фильтрации и прочее. Так вот, в ходе аппробации мне сказади, что без логов непонятно, на чьей стороне обосрамс, то ли я обосрался, то ли это апи партнеров серет. Решено было добавить логгирование в эти вот служебные классы. И тут вот случилось страшное: мои служебные классы - не имеют явных конструкторов, не имеют состояний и вообще могли бы быть статичны, но они не. Если я добавлю конструктор который принимает в себя логгер и зарегистрирую эти классы - 1. Придется много где менять код; 2. Сами эти классы придется довольно сильно ковырять, ведь т.к. они были служебные куча методов там - ванлайнеры.
Так вот, я думал насчет того, чтобы ебануть такую вот залупу: мы при конструировании хоста тупо дергнем из него ILoggerFactory и сделаем публичное поле для чтение в Program. Но это кажется мне каким-то не самым элегантным решением, да и я не уверено насчет его надежности. А как иначе прокинуть логгер не меняя кучу кода - не представляю. Можно конечно потратить неделю на глобальный рефакторинг, только кто ж даст время на это, особенно учитывая что на словах-то задача: добавь логгирование, выглядит как: в 2 методах добавь строчку Log.Info(message).
Аноним 13/03/21 Суб 11:39:15 19656981090
>>1965641
Ну сделай ты публичное поле с логгером
Имхо вообще логгеры не должны никуда прокидываться а получать на месте
Но в asp.net core di во главе всего. Вот туда и впихнули логгеры до кучи
Аноним 13/03/21 Суб 11:55:27 19657101091
Аноним 13/03/21 Суб 12:10:26 19657261092
>>1965698
> Имхо вообще логгеры не должны никуда прокидываться а получать на месте
Ну да. Я сам с этим-то согласен. Просто с другой стороны - логгеры-то разные, вот, кто-то NLog использует, мы - Serilog, кто-то еще что-то. С точки зрения DI - довольно удобно, что твой код не зависит от этого всего, с другой стороны - то что в каждом классе приходится хуячить один аргумент под логгер - не оч выглядит.
Аноним 13/03/21 Суб 12:11:12 19657281093
1615626671096.png 73Кб, 200x200
200x200
>>1964745
> А разве это не наебщики?
Какая разница, если ты скачал с торрентов?
Аноним 13/03/21 Суб 12:18:19 19657381094
>>1965641
В принципе, можно написать interceptor (почти хрестоматийный случай для этого), который будет логировать то, что получает и возвращает твой метод. Так логер не нужно инжектировать. Но твой хелпер клас, конечно, придется регистрировать в твоем контейнере.
Аноним 13/03/21 Суб 12:24:45 19657441095
>>1965738
Хм. Почему-то не вспомнил про него. Да, думаю это будет лучше чем делать статичное поле которое все дергают.
Аноним 13/03/21 Суб 13:25:07 19657951096
Поясните за атрибуты.
Просто вроде кажется что штука должна-то быть полезной. Но примеры использования кастомных постоянно какие-то стремные. Нужно кучу обвяза написать, нужна рефлексия, нужен отдельный класс, который бы как-то это все обрабатывал, в который нужно прокидывать объекты к которым атрибуты применяются.
Вот и мне интересно, у вас есть какие-то примеры использований, отличающиеся от: Сделаем валидатор который будет фреймворк понимать, или возьмем готовые и покажем что рефлексией достали эти метаданные?

Хочется, допустим, вот такой атрибут:
[OnThrow((e)=> {Console.WriteLine(e); throw new Exception(e)})]
Вроде-то все понятно с точки зрения семантики - мы хотим чтобы если в методе что-то кинулось - мы бы вывели на консоль ексепшн и кинули новый. А вот как это намутить не городя кучу кода - непонятно, потому что если доставать эти метаданные из перед вызовом метода - получится еще больше кода чем тупо написав try...catch, да и не у всех же методов мы эти атрибуты пропишем. Опять же - если мутить хрень с тем, чтобы из сборки достать все объекты с данным атрибутом - тоже как-то невесело выглядит.
Короче, поясните за атрибуты. Когда свои писать и вообще надо ли оно? Меня просто заебало каждый раз try...catch когда мы с базой работаем писать, хочу вот такой вот атрибут в методах где дергаем базу или работаем с сетью.
Аноним 13/03/21 Суб 13:54:28 19658071097
>>1965795
Атрибут - способ добавить некие метаданные не расширяя класс/метод/свойство.
В голову приходят такие варианты:
Добавить для вариантов enum некий атрибут Title, и сделать метод расширения, который этот Title может извлекать. Весьма удобно, когда варианты этого перечисления, например, нужно юзеру показать.
Другой вариант - вот хочешь ты навесить определенный препроцессинг на действия контроллера. Авторизацию, фильтрацию, тротлинг, логирование. Как это еще красиво реализовать? Атрибутами можно пометить такие методы для некого особенного обращения, или в эти же атрибуты встроить, как именно это обращение должно происходить. А как еще это сделать? Сделать мегаметод, куда списком во время запуска приложения передавать список подотчетных методов? Не слишком удобно и наглядно. Для таких случаев в голову приходит сделать абстрактный метод в классе Controller, в котором fluent билдером делать конфигурацию свойств контроллера и его действий, но не знаю, удобнее это будет, или нет.
Но если ты сам хочешь без заморочек сделать, например, кеширование результатов определенных методов через интерсепторы, то помечать их через атрибуты и при настройке IoC контейнера эти методы находить и интерсепторы навешивать выглядит самым оптимальным вариантом.
В общем - есть фича. Хочешь - пользуйся. Не хочешь - не пользуйся.
Аноним 13/03/21 Суб 15:04:57 19658451098
>>1965807
Насколько атрибуты топят перформанс? Это же рефлексия
Аноним 13/03/21 Суб 15:28:38 19658731099
>>1964833
Просто не особо думая переписать любой код с почти любого другого языка, в т.ч. шарпа, на С - это уже от х3 до х1000+ к перформансу.
Вот только код на си пишется подобно тому, как скульптор выбивает во мраморе статую. Один раз сделал, работает охуенно быстро и круто, и больше к этому не возвращайся, ибо переделать не получится, только всё заново писать, а это долго.
Чем лучше код оптмизирован, тем он сложнее, и вносить изменения практически не возможно.
Аноним 13/03/21 Суб 15:52:44 19658951100
>>1964810
Потому что это не узкое место. Оптимизировать надо узкие места.
Аноним 13/03/21 Суб 16:32:02 19659341101
>>1965845
В шарпах рефлексия сейчас не супер дорогая, потому не критично. Более того, во многих случаях, как в примерах с интерсепторами и действиями контроллера , что-то с атрибутом делается лишь однажды, при запуске программы или первом обращении к контроллеру, потому это не играет роли.
Аноним 13/03/21 Суб 18:01:29 19660141102
Я чет не понимаю что за добро.
Вот есть модель: Товар. У товара есть коллекция атрибутов вида тип атрибута, значение. У типов атрибутов есть уникальное символьно обозначение и описание на понятном языке.
Примерно так это выглядит:
Item{
int Id;
string Name;
decimal Price;
ICollection<Attribute> Attributes;
}

Attribute{
int Id;
AType Type;
string value;
}
AType{
int id;
string Name;
}

Так вот, если я EF'ом просто делаю Include.ThenInclude у товара, то на то чтобы вытащить 1 товар по ID у которого 100 атрибутов уходит почти 10 секунд. Это конечно в дебаге и в релизе побыстрее, но все равно же пиздец.
Может быть есть какой-то способ быстрее это делать?
Аноним 13/03/21 Суб 18:16:37 19660401103
>>1966014
Вообще, можно профайлером или в дебаге посмотреть, что за запрос генерирует EF чтоб поржать. Вангую, там сотни селектов.

А по твоему вопросу: можно эти данные повытягивать через join, а потом уже полученную коллекцию преобразовать в нужную тебе структуру данных через всякие GroupBy.
Аноним 13/03/21 Суб 18:33:09 19660551104
>>1966040
Не совсем понял. Ты предлагаешь писать нативный запрос? Я бы мог, только вот не уверен что в команде поймут такое вот решение. Просто я бывший плюсовик и привык к тому что перформанс нужно максимальный стараться получить, изначально мне при переходе на шарп сказали не париться, дескать тут более высокий уровень, но вот в такие моменты я просто не понимаю - это действительно так и должно быть, или я что-то не то делаю.
Аноним 13/03/21 Суб 18:52:48 19660641105
>>1966055
Нет, я предлагаю просто написать запрос с join`нами на LINQ, который тебе вернет коллекцию из сотни рядков Attribute + AType (можно вместе с Item, а можно и отдельным запросом, если поиск по Id) - будет полный аналог запроса на SQL. А потом уже преобразуй коллекцию в свой объект Item с атрибутами.

Но в целом, с LINQ довольно часто такие приколы бывают, если не хеллоуворды пишешь, и в моей команде давно пришли к правилу, что если LINQ генерит фигню, стоит просто делать запрос на SQL. Я бы рекомендовал этот вопрос поднять на митинге.
Аноним 13/03/21 Суб 18:54:08 19660651106
>>1966064
> - будет полный аналог запроса на SQL
Имею ввиду, что сгенерируется простой запрос с джойнами на сиквеле
Быстрофикс
Аноним 14/03/21 Вск 03:30:11 19663441107
Получается, что индексаторы - это способ рассмотреть объект как массив чего-то, и используем мы их, когда внутри этого объекта есть массив с данными, так?
Аноним 14/03/21 Вск 14:16:41 19665011108
>>1954576
Настоятельно рекомендуется к прочтению:
https://ru.wikipedia.org/wiki/Денормализованные_числа
(What Every Computer Scientist Should Know About Floating-Point Arithmetic)
https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

Subnormal (denormalized)
когда все биты экспоненты установлены в 0
читай блок "Underflow" здесь (наглядно)
https://www.h-schmidt.net/FloatConverter/IEEE754.html

Аноним 14/03/21 Вск 20:23:13 19667841109
Сап, подскажите - как Capacity у обычного массива можно найти?
Аноним 14/03/21 Вск 20:37:13 19667941110
>>1966784
Я не до конца понял о чем именно ты спрашиваешь, но это должно ответить на твой вопрос:

В отличие от классов в пространстве имен System.Collections, Array имеет фиксированную емкость. Чтобы увеличить емкость, необходимо создать новый объект Array с требуемой емкостью, скопировать элементы из старого объекта Array в новый, а затем удалить старый Array.

Размер массива ограничен максимальным количеством элементов — 4 миллиарда, а также максимальным индексом 0X7FEFFFFF в любом заданном измерении (0X7FFFFFC7 для массивов байтов и однобайтовых структур).

.NET framework: По умолчанию максимальный размер Array составляет 2 гигабайта (ГБ). В 64-разрядной среде можно избежать ограничения на размер, установив значение атрибута enabled элемента конфигурации gcAllowVeryLargeObjects равным true в среде выполнения.
Аноним 14/03/21 Вск 20:40:44 19667961111
>>1966794
То есть: если тебе хочется узнать количество элементов - это свойство Length.
Если ты хочешь узнать, под какое количество элементов в памяти выделено места - под то, сколько в Length задано.
Если тебя ограничения размера массива интересуют - читай msdn, оттуда цитата.
Аноним 14/03/21 Вск 20:48:25 19668041112
image.png 12Кб, 298x262
298x262
>>1966796
Спасибо за ответ.
А у обычного массива никак не могут быть разные Length и Capacity? Я пытаюсь сделать так, но массив нулями сам заполняется, в итоге и Length и Capacity одинаковые оказываются
Аноним 14/03/21 Вск 21:10:08 19668321113
>>1966804
Нет. Если тебе нужна коллекция с частым ресайзом - можешь использовать List<T> - хотя под капотом там массив используется.
Аноним 14/03/21 Вск 21:25:15 19668481114
Всем привет!
Столкнулся с такой херней - получить данные из открытой программы. Вот пишу я текст в блокнот - получаю оттуда текст. Нажимаю на кнопку "файл" в блокноте - выбранный пункт меню отображается в моей программе.
Вопрос, а как это ваще делается? Как слепой котенок тыкаюсь, не могу понять. куда и как это делать. Надо лезть в потоки?
Аноним 14/03/21 Вск 22:35:00 19669071115
>>1966848
По мне, выглядит как ужасная дыра в безопасности, если бы такое можно было с нихуя делать. Представь - открываешь прогу с паролями, и они все утекают через шарвер какой-то.
Если условный блокнот сам не предоставляет такую инфу - вангую, ты без обходных путей на грани вирусописательства такое не сделаешь.
Аноним 14/03/21 Вск 23:17:04 19669241116
>>1966907
блин, ну не могли же мне в тестовое вручить такую-то хуету :\
Мне надо озвучить выбранные пункты меню в блокноте и вести лог в формочке с выбранными пунктами. Пока единственная зацепка - ui automation фреймворк, но от всего этого пока гавной воняет. В первую очередь от меня :с
Аноним 15/03/21 Пнд 10:30:41 19671351117
Можно ли в wpf в textblock'e выравнивать половину текста по центру, а половину по левому краю например каким-то тегом?
Аноним 15/03/21 Пнд 11:16:08 19671661118
1615796232529.jpeg 32Кб, 896x54
896x54
Только не бросайтесь ссаными тряпками. Могу ли я как то заинитить этот base с конструктора, что-то типа как на строке с ошибкой внизу? Я хочу чтобы ef контекст создался не с sqliteconnection, а допустим MySql/MsSql с настройками заданными от пользователя.
Аноним 15/03/21 Пнд 12:08:39 19671971119
>>1967166
Я недопонял, а в чем проблема? Замени sqliteconnection на нужный тебе конекшен (Microsoft.Data.SqlClient или MySql.Data.MySqlClient) в : base(...) и убери код с ошибкой.
Аноним 15/03/21 Пнд 12:21:52 19672231120
>>1967197
Ты не понял. Я в рантайме программно хочу коннект либо sqlite либо mysql, чтобы в зависимости от того что передали в конструктор создавался коннект либо к sqlite либо mysql.
Аноним 15/03/21 Пнд 14:26:47 19673421121
>>1967223
Тогда вместо ручного создания конекшена, передавай просто нужный конекшен нейм и используй его в конструкторе DbContext(String).
В Web.config, указывая конекшен стринги, можно указывать и названия провайдера, т.е. класс твоего конекшена (майсиквел, сиквелСервер и т.д.). Пример тут есть: https://blog.elmah.io/the-ultimate-guide-to-connection-strings-in-web-config/

От меня ускользает, почему ты фреймворк вместо кора используешь, но если будешь делать на коре - тут: https://docs.microsoft.com/en-us/ef/core/dbcontext-configuration/ описано, как настроить и создать контекст на нем.
Аноним 15/03/21 Пнд 17:05:17 19674851122
>>1967342
> От меня ускользает, почему ты фреймворк вместо кора используешь
Wpf, .net4.0.
> Тогда вместо ручного создания конекшена, передавай просто нужный конекшен нейм и используй его в конструкторе DbContext(String).
А я смогу в прописаном конекшене поменять айпи/порт?
Аноним 15/03/21 Пнд 18:19:54 19675631123
Делю асинхронную обёртку вокруг SerialPort, не слишком жирно поднимать задачу для чтения одного байта?
т.е. исходный метод int ReadByte()
превратится в

Task.Run( () => serialPort.ReadByte())
Аноним 15/03/21 Пнд 19:22:25 19676561124
Аноним 15/03/21 Пнд 19:32:07 19676691125
>>1966804

Смотри на пальцах: Тебе нужен кусок памяти под 10 элементов. Ты просишь у ОС памяти: ДАЙ МНЕ ПОЖАЛУЙСТА 10 размер твоего типа данных. ОС выдает тебе этот кусок памяти. При этом, в зависимости от того какие флаги ты выставил - этот кусок памяти может быть занулен или с мусором. Так вот, фреймворк за тебя занулил этот кусок памяти и заполнил значениями по-умолчанию, когда ты создал массив.
Дальше. Теперь ты хочешь пользоваться этим куском памяти иначе. Ты не хочешь думать о нем как о целом куске памяти, ты хочешь представить его как, допустим, портсигар. Он иожет быть пустым, но пространство портсигара будет неизменным - пока ты не решишь купить побольше.
Так вот. Решив сделать динамический массив - ты, считай, создаешь такой вот портсигар. В нем Length - текущее количество сигарет. Capacity - вместимость. Когда ты добавляешь сигарету - ты увеличиваешь Length, достаешь сигарету удаляя ее из портсигара - Length уменьшаешь. Если ты хочешь, чтобы портсигар автоматом увеличивался достигнув предела вместимости - ты тихонько, под капотом - достаешь все сигареты из старого и кладешь их в новый.
Так вот, а при чем тут массив. А при том, что в шарпах - массив - считай вот такой вот кусок памяти просто. Ты не можешь его просто так увеличить и потому ему и не нужна вместимость не создав новый массив. Таким образом, если тебе так хочется авторасширяемый массив - ты делаешь что-то в духе:

public List<T>
{
private const int defaultCapacity = 4;
private T[] _items = new T[defaultCapacity];
private int _lastElementIdex = 0;

public int Count => _lastElementIdex;
public int Capacity => _items.Length;

public void Add(T item)
{
if(++lastElementIdex >= _items.Length){
var temp = new T[_items.Length
2];
Array.Copy(_items, temp, _items.Length);
_items = temp;
}
_items[lastElementIdex] = item;
}

public T this[int index]
{get
{
if(index <= _lastElementIndex)
{
return _items[index];
}
throw new IndexOutOfRangeException();
}}
}

ну и т.д. В зависимости чему свою структуру данных ты научить хочешь и как хочешь чтобы она себя вела.
Аноним 15/03/21 Пнд 19:47:03 19676931126
>>1967485
Простыми способами - нет. Если тебе нужно и айпи с портом заменять - тогда подготовь методы, чтоб они тебе создавали и возвращали sqlConnection нужного типа с нужными параметрами, и передавай его в конструктор своего контекста.
Аноним 15/03/21 Пнд 20:19:16 19677491127
Аноны, плиз. Вкатываюсь в шарп. Поставил Rider. Нихуя не понимаю, как в этой божественной среде быстро сделать какие-то вещи, а не писать каждый стандартный json и xml конфиг руками с нуля.
Вот создал я новый проект. Эта шняга всобачила мне sqlite. Как мне удалить все ссылки на него одним кликом? Мне нужен sql server. Я создал новый data source, проверил соединение, отлично, вижу базу, но блядь, мне её не видеть надо, а в проект добавить! Мне руками писать в appsettings.json? Руками писать connection string? В 2021 году, в инструменте, за который просят двести баксов в год?!
Аноним 15/03/21 Пнд 22:26:50 19678781128
>>1966804
Зачем тебе динамический массив? Пользуйся листом.
Аноним 15/03/21 Пнд 22:53:12 19678921129
Хм. В комманде никто не пишет тесты. Я видел в репозиториях местных, что когда-то кто-то таки писал, но он уволился 10 лет назад и больше никаких намеков на тесты.
Стоит ли начинать самому писать тесты самому, если никто не пишет? И если да - то как их впиндерить в общий проект у которого в структуре нет отдельного места под тесты, а разделение ответсвенности за каждый кусочек проекта строится на: вот у тебя папочка в общем солюшене, в ней проект - хуярь.
Аноним 15/03/21 Пнд 22:59:16 19679011130
>>1967892
>Стоит ли начинать самому писать тесты самому, если никто не пишет?
Если есть проблемы с качеством кода/переоткрытием баг, то подумай над причинами, что в процессах и архитектуре не так. Если уверен, что с ними все ок, и дело в сложности бизнес логики или еще чем, от тебя не зависящем - стоит писать. Если нет - лишняя работа.
>структуре нет отдельного места под тесты
Сделай
>вот у тебя папочка в общем солюшене, в ней проект - хуярь.
Сделай рядом папочку projectname.Tests. Не думаю, что кто-то возмутится сильно.
Аноним 15/03/21 Пнд 23:21:19 19679171131
>>1967901
Ну, у меня просто из-за того что нет тестов оч большая боязнь что-то менять, из-за этого каждая новая фитча - это дополнительное время на то чтобы убедитсья что я ничего не сломал. Это наверное просто психологическое на самом деле и вызвано временами из вуза, когда: написал строчку - скомпилировал, проверил что работает - написал следущую; но ничего поделать не могу с собой.
Аноним 16/03/21 Втр 02:25:38 19680401132
1615850737472.png 15Кб, 685x497
685x497
1615850737511.png 2Кб, 396x84
396x84
Скомпилировал по гайду (пик 1) либу для динамического высчитывания значения строки с помощью JScript, немного подправил код (пик 2).

Насколько данная конструкция безопасна, при условии, что на входе может быть что-угодно?
Аноним 16/03/21 Втр 03:26:48 19680591133
16142358925730.jpg 3Кб, 299x168
299x168
Здравствуйте, господа. Продублирую свой вопрос из соседней дсоки.
Я к вам с вопросом. До этого никогда не писал на низкоуровневых библиотеках, Я C# разработчик. Извините, если вопрос не совсем по адресу.
Я ищу решение следующей проблемы. Опишу подробнее.
У меня есть плата raspberry Pi с установленным линуксом, ещё основная проблема это Arm64.
И мне нужно написать небольшую прогу, которая
1. пару раз в минуту обращается наружу хттп гет запросами, откуда получает json, парсит, и получает необходимые обьекты. И из них В общем, строки для последующей работы.
2. Полученные строки необходимо плавно(линейная интерполяция) рисовать и двигать по экрану, тем самым создавая такой красивый заанимированный графический интерфейс бегущих строк
Размер окна, в котором это нужно рисовать маленький(200х300).

Я до этого поста пробовал сделать на wpF+avalonia(кроссплатформенный wpF), оно работает, но бывают частые лаги. Я замерил интервалы отрисовки, когда вызывался Invalid окна, 90% кадров рисовались отлично с задержкой 15-16миллисекунд, а 10% кадров с задержкой 30 миллисекунд. В результате этих лагов выглядит криво. Как я гуглил, у многих такая же проблема, и разрабы avalonia пока не исправляют.

Мне посоветовали посмотреть в сторону SDL2, и я нашел нугет пакет для .Net core, но опыта в нём, соответственно, ноль. Опыта работы с линуксом околонуля.

Я бы написал все прекрасно на юнити и не парился по всему этому поводу, но в юнити нельзя собрать для линукс arm64.

Собственно тут я вижу два стула.
1. Подскажите, пожалуйста, какими средствами это лучше и быстрее сделать.
2. Если у кого-то есть опыт в этом деле и время быстро с этим помочь(именно линукс и именно arm64), то может договоримся за оплату.
Аноним 16/03/21 Втр 04:06:41 19680751134
В заявке одним из обязанностей указано первичное тестирование. Что оно из себя представляет? Правильно я понимаю, что на меня просто хотят работу тестера ещё свесить, так?
Аноним 16/03/21 Втр 07:58:39 19681531135
>>1968059
У тебя фронт на малинке десктопный под линем? Поставь на неё ОС вместо прошивки для роутеров, если уж используешь как ОС (иначе делай фронт в виде веб-сайта).
Аноним 16/03/21 Втр 09:03:30 19681691136
>>1968153
Даже если я напишу на жс что-то подобное без фреймворков(открывал хтмл и жс 4 года назад) , оно мне разве там выдаст 60 фпс?
Аноним 16/03/21 Втр 09:25:14 19681781137
>>1968075
Нет. Это значит, что телегу, которую ты накатал, ты сам должен будешь тестить.
Аноним 16/03/21 Втр 09:46:01 19681911138
Аноним 16/03/21 Втр 11:29:25 19682961139
image.png 516Кб, 750x1000
750x1000
Правильно я понимаю что если сделать что то типа

thread.sleep(10000) то Физически ядро ДЕЙСТИТЕЛЬНО будет заниматься ничего не деланием, или мы делаем слип только для виртуального потока а на физическом ядре котором выполнялся виртуальный поток начнется выполнятся другой поток?
Аноним 16/03/21 Втр 16:33:16 19686891140
>>1966064
В твоей команде, ты типа её владелец что ли? Судя по написанному ты ламак джуниор.
Аноним 16/03/21 Втр 22:27:15 19691341141
image.png 412Кб, 711x874
711x874
Спустя два года РАБоты решил почитать первую книжку по кроссплатформенной разработке в .net и там везде в примерах для консольных приложений используется импорт namespace как using static System.Console
Книжка вроде как не говно и советуется для ньюфагов, но на msdn я такого не видел никогда

Это их экономия на Console при каждом выводе, или есть рекомендация часто используемые пространства имен по возможности импортировать статическими?
Аноним 16/03/21 Втр 22:34:02 19691461142
>>1969134
Разницы в IL коде не будет при вызове Console.ReadLine() и ReadLine() с директивой using static System.Console, это просто для удобства делается.
Аноним 16/03/21 Втр 22:48:54 19691711143
>>1968075
это юнит тесты. Хорошая практика кстати, но не все используют
>>1968689
удваиваю
>>1969134
походу алиасы новые подвезли, это нормально
Аноним 17/03/21 Срд 05:04:47 19693431144
Я правильно понимаю, что все эти потоки можно рассценивать как вариацию итератора?
Если нет - то объясните пожалуйста, что это такое.
Аноним 17/03/21 Срд 12:42:52 19696241145
>>1969343
> что это такое
> все эти потоки
Несколько программ выполняющихся одновременно. Дебильное сравнение, но самое точное для полного новичка.
Аноним 17/03/21 Срд 13:31:08 19696831146
>>1969624
Почему нельзя создавать новый поток в не статическом классе? Разве поток, который был создан в этом классе не будет уничтожен после уничтожения класса или после того как прекратит свою работу? ОН ЖЕ НЕ БУДЕТ СУЩЕСТВАОВАТЬ ВЕЧНО ПОСЛЕ ТОГО КАК БЫЛ СОЗДАН ВПЕРВЫЕ?
Аноним 17/03/21 Срд 15:07:47 19697581147
.Net Core 5.0
ASP.NET приложение.
Два конфиг файла: appsettings.json & appsettings.Development.json
В обоих определена переменная Foo:Bar:Foobar
На Винде и Linux ведут себя по-разному

Startup.ctor

var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{environment}.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.AddCommandLine(Environment.GetCommandLineArgs());

Configuration = builder.Build();
Console.WriteLine("Configuration.Foo.Bar.Foobar = {0}",
Configuration["Foo:Bar:Foobar"]);
// На обоих платформах пишет значение из appsettings.Development.json
==============================================
В транзиентном сервисе в AppConfig.ctor
Console.WriteLine("Appconfig.ctor: appConfig.Foo.Bar.Foobar = {0}", configuration["Foo:Bar:Foobar"]);

На винде пишет из Development, на Линухе — из основного
Для переменной FBar из корня конфига — тоже самое. То есть конфигурация из appsettings.Development.json, первое что приходит в голову: файла appsettings.Development.json нет, но в ctor всё пишется правильно на обеих платформах + optional = false
Второе что приходит в голову: на Линухе DI-контейнер игнорирует вставку Configuration. Но на видне не игнорирует. Это же критикал, его бы поправили сразу же
==============================================
В чём прикол?
Аноним 17/03/21 Срд 15:16:07 19697641148
>>1969683

>Почему нельзя создавать новый поток в не статическом классе?
Потоки можно создавать где угодно.

>Разве поток, который был создан в этом классе не будет уничтожен после уничтожения класса или после того как прекратит свою работу? ОН ЖЕ НЕ БУДЕТ СУЩЕСТВАОВАТЬ ВЕЧНО ПОСЛЕ ТОГО КАК БЫЛ СОЗДАН ВПЕРВЫЕ?
Можешь рассматривать каждый поток как еще одну точку входа в приложение. У любой программы есть public static Main() она живет пока исполняется она или порожденный ею поток. Когда создается новый поток ты в него передаешь какой-то метод, который и будет уже его точкой входа.
Аноним 17/03/21 Срд 18:54:56 19699951149
>>1969624
Ыыыы, я не про те потоки спрашиваю.
Ты с нитями путаешь, короче.
Я про те что Stream.
Аноним 17/03/21 Срд 19:47:18 19700421150
>>1968059
В сторону SFML посмотри, он вроде повыше чем SDL.
Аноним 17/03/21 Срд 20:18:05 19700691151
>>1911564
Анон, а как такую штуку посмотреть?
Аноним 17/03/21 Срд 21:06:18 19700971152
>>1967563
Чем тебе не подходит стрим который отдается SerialPort'ом? Стримы в дотнете нормально в асинхронность могут. На кой тебе это извращение?
Аноним 17/03/21 Срд 22:54:05 19701711153
Хм. Хм. Я вот знаю что писать так public async Task Foo() => await Bar(); неправильно и вредно для перформанса, но блин, ничего не могу с собой поделать, автоматом это делаю. Можно ли как-то студию настроить, чтобы она это не компилировала и указывала на то что тут нужно без await писать?
Аноним 17/03/21 Срд 23:31:19 19701871154
>>1969995
Ну так и пиши сразу по английски. Хуй тебя пойми.
Аноним 18/03/21 Чтв 01:02:33 19702501155
>>1968059
пиши на qt на крестах или на pyqt и петоне
> 200х300
tft дисплей чоле?
Аноним 18/03/21 Чтв 05:00:58 19703161156
image.png 6Кб, 355x166
355x166
Ку, господа. Возникла такая ситуация, нужно сделать так, чтоб переменная MaxMana динамически обновлялась, когда меняется MagicStrength, возможно ли это как-то элегантно сделать или только обновлять везде MaxMana, где как-то меняется переменная MagicStrength?
Аноним 18/03/21 Чтв 05:59:07 19703321157
>>1970316
Тоже самое напиши в magicstrength?
Аноним 18/03/21 Чтв 09:05:57 19703891158
image.png 13Кб, 582x113
582x113
извиняюсь за тупой вопрос. но почему p0 равняется чему-то, а p1 равняется нулю?
Аноним 18/03/21 Чтв 09:14:16 19703961159
>>1970389
а. я тупой. потому что все значения это int.
после дрочки кода всю ночь совсем забыл про это.
Аноним 18/03/21 Чтв 09:29:13 19704041160
Аноним 18/03/21 Чтв 09:35:11 19704061161
>>1970097
Потому что SerialPort написан дебилами-лгбт-зумеркками-чурбанами которые понятия не имеют как работает ком порт в апи вынды (его как раз писали белые олды и он работает без проблем). SerialPort.BaseStream в асинхронном апи не учитывает таймауты, соответственно бесполезен т.к. зависнет на первом же пропавшем байте.
Аноним 18/03/21 Чтв 12:21:15 19704931162
>>1970406
А так?

int timeoutMs = 1000;
var task = SerialPortAsyncTask();
if (await Task.WhenAny(task, Task.Delay(timeoutMs)) == task) {
// task completed within timeout
} else {
// timeout logic
}
Аноним 18/03/21 Чтв 14:32:54 19705931163
>>1968296
Да, засыпает нить выполнения
Аноним 18/03/21 Чтв 14:42:39 19706001164
>>1970493

Не будет работать, ReadAsync у стрима игнорит токен отмены после запуска чтения. Даже если бы он корректно работал, писать эту обвязку еще больше гемора чем просто в таске запустить синхронное чтение.
Аноним 18/03/21 Чтв 15:46:32 19706571165
>>1970600
Таааак, принимается! Но можно замапить cancelationToken на закрытие стрима:

async ValueTask Read(Stream stream, TimeSpan timeout = default)
{
     if(timeout == default(TimeSpan))
      timeout = TimeSpan.FromSeconds(5);

    using var cts = new CancellationTokenSource(timeout); //C# 8 syntax
    using(cts.Token.Register(() => stream.Close()))
    {
        int receivedCount;
        try
        {
            var buffer = new byte[30000];
            receivedCount = await stream.ReadAsync(buffer, 0, 30000, tcs.Token).ConfigureAwait(false);
        }
        catch (TimeoutException)
        {
            receivedCount = -1;
        }
    }
}
Аноним 18/03/21 Чтв 16:06:04 19706771166
>>1970657
>C# 8 syntax

Типо выебнулсо?
Аноним 18/03/21 Чтв 16:25:08 19706931167
>>1970657
А если надо поллить без закрывания канала?
Аноним 18/03/21 Чтв 17:13:46 19707171168
>>1970693
Ты хочешь что-то типа StreamReader.Peek() ? Если да, то по факту у себя в недрах он использует просто Read() с продвижением позиции курсора в потоке, а потом сетит Position на предыдущую. Такое на этой штуке: >>1970657 можно без проблем сделать.
Аноним 18/03/21 Чтв 18:02:16 19707541169
>>1970717
Нужна удобная работа с ком-портами (это не совсем стрим, поэтому peek не катит), поскольку там всякие временные задержки то удобно поллить по байту или пачками и выгребать что приходит, а если секунд 5 ничего не пришло закрывать соединение.
Аноним 18/03/21 Чтв 18:09:49 19707611170
двачан, какой из linq запросов гарантированно вернет null, если объектов в коллекции нет?
хочу что-нибудь типа first()
а то мне в зависимости от того есть он или нет в коллекции нужно либо false вернуть из метода, либо дальше обрабатывать объект
гугление чет не помогло
Аноним 18/03/21 Чтв 18:28:21 19707871171
>>1970761
Ты блядь по человечески вопрос задавай, нихуя ж неясно.
Если ты спрашиваешь про то есть ли объекты в коллекции - то Any()
Если ты хочешь пройтись по коллекции и если встретишь элемент вернуть, а если не встретишь - нулл, то FirstOrDefault. Из названия понятно, что в случае структурок там не null будет. Если тебе прям гарантированно NULL нужен - запаковываешь все перед тем FirstOrDefault.
Только я хз нахуя тебе гарантированный null. Ты можешь либо FirstOrDefault либо Where(predicate).Count() Where(predicate).Count() почему-то с линкумагией быстрее работает чем просто Count(predicate). и потом если там есть твой объект - достать его.
А можно быть человеком и ручками цикл написать. Работать будет быстрее чем линку, памяти не будет выделяться и вообще заебись ручками циклы для таких вот вещей писать.
Аноним 18/03/21 Чтв 18:28:25 19707881172
>>1970761
все нахуй разобрался
FirstOrDefault возвращает нуль или дефолт
потом сравниваешь и погнал
Аноним 18/03/21 Чтв 18:29:31 19707901173
>>1970787
> Ты блядь по человечески вопрос задавай, нихуя ж неясно.
ну что ж я могу поделать, если не понятно
иди нахуй, да?
Аноним 18/03/21 Чтв 20:07:25 19708421174
>>1970790
Да ты охуел, он тебе по человечески простыню накатил, а ты его нахуй послал. Сам иди нахуй и не заходи сюда больше.
Аноним 18/03/21 Чтв 20:24:02 19708721175
>>1970842
ну, короче, это не написал
какой-то анон решил затролить походу
>>1970787
спасибо) через ферстОдефолт сделал
Аноним 18/03/21 Чтв 20:24:29 19708731176
Аноним 18/03/21 Чтв 21:24:15 19709241177
Хочу в качестве учебного проекта намутить консольный текстовый редактор.
И, внезапно, я осознал, что не представляю как делать мне ловить-то их консоли всякие комбинации клавишь.
Ну, допустим, я хочу сделать Ctlr+X - вырезать. Я нажимаю Ctrl+X и програма завершается. Или я хочу Alt+стрелка вверх - сдвинуть строку вверх. С точки зрения кода самой операции - я все понимаю: у меня буффер, я просто свапаю в нем строчки местами, а вот как мне перехватить-то это нажатие Alt+стрелка вверх? Я чет не представляю. Я даже стал думать что на шарпе это не опускаясь на уровень Winapi и не получится, но тогда уже проще взять С++. Может быть есть у вас идеи?
Аноним 18/03/21 Чтв 21:27:28 19709281178
giphy.gif 6321Кб, 320x180
320x180
Сап аноны, кто ни будь работал с FastMapper? https://github.com/FastMapper/FastMapper - ссыль на гит. Если да, то как создать конфиг к нему? TypeAdapterConfig<TSrc, TDest>().NewConfig() - а куда его лепить то? У меня есть куча сущностей, которые нужно паровать для мапинга - А может мапится только в B, но никак не наоборот и т.д. Или же при маппинге поле должно выпадать. Но я никак не пойму, как этот конфиг запихнуть в маппер. Уже бы давно это все слепил автомаппером, но бенчи показывают, что нужно использовать именно fastmapper.
С меня как обычно.
Аноним 18/03/21 Чтв 22:16:23 19709811179
Здравствуйте.
1. Как в сишарп реализованы круды через ORM
2. Как в сишарп реализованы круды через нативные SQL запросы

Владимир
Аноним 18/03/21 Чтв 23:58:49 19710521180
Аноним 19/03/21 Птн 00:10:16 19710591181
image.png 20Кб, 714x180
714x180
Ребяты пытаюсь сделать вот это задание
https://ru.stackoverflow.com/questions/1030404/%D0%9F%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0-%D0%BA-%D1%81%D0%BE%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8E-c

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

Я думаю создавать обьект у которого есть поле Level =1; и при ответе на вопрос добавлять +1, вернутся к указаному вопросу устанавливать значение поля и там уже в свитче переходить к вопросу, но тогда надо чекать заполнены ли поля вопросов которые были до . А заполнить анкету заново установить значения снова на 1 но тогда еще нужно сбрасывать стальные значения в обьекте. Наверняка есть какой то способ что бы без вот этих костылей сделать, я просто сам вижу что эта хуйня на постном масле получается которую даже я не разберу через неделю.

Дайте совет пллиз.
Аноним 19/03/21 Птн 07:25:35 19711361182
>>1971059
А как ты хранишь объекты вопросов? И вообще, давай ссыль на гитхаб свой
Аноним 19/03/21 Птн 08:57:17 19711531183
>>1951826
>Порог входа в программирование с каждым годом всё ниже, и
Ты угараешь бля? Сейчас с джунов требуют то, что лет десять назад делали мидлы
Аноним 19/03/21 Птн 10:31:03 19711831184
>>1971153
> Сейчас с джунов требуют то, что лет десять назад делали мидлы
lol нет
Аноним 19/03/21 Птн 10:59:10 19712121185
>>1971183
Когда 100 джунов на вакансию, можно и пожестче требования выставить. В итоге там вообще недомидл проходит
Аноним 19/03/21 Птн 12:04:17 19712421186
Что не так с этим куском кода?
var bitmap = new RenderTargetBitmap((int)visual.ActualWidth, (int)visual.ActualHeight, 96, 96, PixelFormats.Pbgra32);
bitmap.Render(visual);
var frame = BitmapFrame.Create(bitmap);
encoder.Frames.Add(frame);
using (var stream = System.IO.File.Create(path))
encoder.Save(stream);
Я сохраняю картиночки один раз и всё нормально, снова хочу сохранить и вылазит ошибка, что файл уже используется каким-то потоком, но у меня тут ведь поток закрывается. В чём дело-то?
Аноним 19/03/21 Птн 15:02:10 19714261187
>>1971242
Что-то не вижу проблемы так сходу. Могу накидать идей:
1. А в простое ли место сохраняешь? Может эту директорию какой-нибудь яндекс-диск сразу синхронизировать начинает? Посмотри ProcessExplorer-ом, какой процесс держит хэндл на твой созданный файл
2. Проверь, не существует ли уже файл с таким именем
3. Можно попробовать заменить File.Create() на File.Open(path, FileMode.OpenOrCreate)
4. Из любопытства: попробуй сохранить не в файловый, а в MemoryStream, и потом уже его отдельно в файл записать
Аноним 19/03/21 Птн 15:16:05 19714321188
>>1971212
> 100 джунов на вакансию
Не вижу такого, вижу как мы найти никого не можем
Аноним 19/03/21 Птн 15:21:31 19714371189
>>1971432
Потому что дураков работать за копейки нет.
Аноним 19/03/21 Птн 15:22:19 19714391190
>>1971437
У нас +30% от рынка. Для реально стоящих кадров +50%
Аноним 19/03/21 Птн 15:30:33 19714451191
>>1971439
Вообще ни о чем. Какого рынка? Он везде разный.
Аноним 19/03/21 Птн 15:35:45 19714521192
>>1971445
Ага, то есть и копейки везде разные?
Аноним 19/03/21 Птн 15:59:48 19714841193
>>1971452
Блять, неудивительно что к вам никто не идет, если представитель конторы в твоем лице такой тупой, что уж обо всей организации говорить.
Аноним 19/03/21 Птн 16:03:26 19714891194
>>1971183
Лол, да. Более того, с джуна требуют сегодня больше, чем с мидла. Я пол сотни собеседований на Джуна прошел, и нихуя. В итоге устроился мидлом с четвертой попытки, напиздев про полтора года опыта. Причем если на мидла спрашиваю хоть немного по делу, то на Джуна - какую-то хтоническую хуйню из глубин Рихтера и верчения радужных деревьев.
Аноним 19/03/21 Птн 16:09:40 19714961195
Сап, шарпаны. Может кто подскажет.
Сам я мертвый в шарпе да и вообще я не программист особо но появилась задача, которую мне проще всего именно на нем решать (остальные варики там вообще - делфи или VB).
нужно запилить библиотеку которая через COM взаимодействует с программным пакетом. У меня практически полное непонимание как именно работает COM, но это, вроде как, ладно. У библиотеки есть метод, который и запускается целевым пакетом, и передает в метод абстракцию своей рабочей среды (все нужные для этого типы предоставляются в виде .dll), В которой я могу уже что-то дергать из доступных инструментов, особо не парясь при чем там вообще COM и как он работает.
Но есть такая проблема: часть методов возвращают тип dynamic, и в описании к API сказано: если должен быть возвращен единственный объект, то возвращается именно объект (пусть IModel), а если нужно вернуть несколько, то возвращается коллекция. Заранее понять, что вернется, невозможно. Из-за этого я не могу с этим dynamic обращаться каким-то одним кодом: еслим туда залетает коллекция, то по ней надо сначала итерироваться, просто дергнуть что-то типа IModel.Feature - просто все падает в рантайме. А если объект один - то написать для него foreach(IModel mod in incomeObj) - то же самое. Никакие проверки типов с помощью incomeObj is Collection<IModel> - не приводят к результату, я уже все туда впихнул - и контейнеры коллекций API, и стандартные из шарпа. Хз, наверное потому что нигде не объявлено явно что то что приезжает имеет вообще какой-то тип, а утиная проверка по принципу совпадения имен методов - это не про шарп и вообще не имеет ничего общего с типобезопасностью. Короче, в итоге я написал такой дебилизм, что сначала пытаемся итерироваться, но заворачивая это в try{}, если там возникает эксепшен то я уже точно знаю, что там IModel, и в блоке catch могу с ним работать. Такой вот каличный способ ветвления. Это работает.
Собственно, в чем вопрос - как это можно нормально сделать? И можно ли вообще понять какой тип у объекта dynamic? Если б это была Джава, я мог бы воспользоваться reflection, но в шарпе я 3 дня всего работаю, такие лоу-лвл вещи будут сложноваты.
Сори за то что насрал вам тут стену текста, просто попытался доходчиво донести в чем проблема.
Аноним 19/03/21 Птн 16:12:12 19715011196
>>1971426
>Проверь, не существует ли уже файл с таким именем
Блэт, существует, я их не удаляю. Вот нельзя что ли поконкретнее ошибку писать, а не про потоки мне затирать
Аноним 19/03/21 Птн 16:19:20 19715141197
Вопрос по нейросетям, когда-то был такой стартап который сейчас прибрали к рукам фсбшники файнд фейс, так вот, раньше они чисто на энтузиазме работали, но откуда у них доступ к пикчам из вк? у вк есть какая-то апи с помощью которой можно скачать все авы на сервисе?
Аноним 19/03/21 Птн 16:32:03 19715291198
>>1971496
По идее это решит твою проблему:

var actualType = ((ObjectHandle)dynamicObj).Unwrap().GetType();

И уже полученный тип проверять на тему является ли он коллекцией.
Аноним 19/03/21 Птн 16:34:14 19715351199
>>1971514
Да краулер скорее всего написали и всё. Запускают его периодически в параллели с динамического пула IP и получают фоточки.
Аноним 19/03/21 Птн 16:36:35 19715411200
>>1971529
Что-то подумал, даже GetType() не надо. Просто:

if(((ObjectHandle)dynamicObj).Unwrap() is Collection<IModel>)
{

}
Аноним 19/03/21 Птн 17:21:38 19715821201
>>1971535
нет, что бы надрочить нейросеть нужно иметь у себя базу фоток связанную с инфой о человеке, я не совсем понимаю как можно надрочить нейросетку использую краулер кроме как то-то что бы загрузить ВСЮ ИНФУ СЕБЕ
Аноним 19/03/21 Птн 17:27:16 19715861202
>>1971535
А как написать свой краулер который например будет сохранять все фотки с ебалом с определенного сайта?
Аноним 19/03/21 Птн 17:29:41 19715871203
>>1971541
>>1971529
Спасибо, но это к сожалению не срабатывает. Так ни разу и не смог получить true из любых проверок, ни сравнивая с API-коллекцией, ни с ICollection шарпа, и при создании типа через var, и непосредственно проверяя, как во втором посте. Хотя точно известно что там коллекция и у нее можно получить итерирование
Аноним 19/03/21 Птн 17:35:04 19715881204
>>1971541
>>1971529
да блин, даже если проверять на то, является ли тип Object-ом, и то оно вываливается. Хотя куда уж выше то тип брать. Даже VSтудия мне говорит, что я дебил так и есть в принципе, и приведение к Object во всех случаях избыточное
Аноним 19/03/21 Птн 18:15:05 19716271205
>>1971588
То есть даже так нельзя?

var objHandle = (ObjectHandle)dynamicObj;
Аноним 19/03/21 Птн 18:23:26 19716391206
Почему самый базовый тип в дот нете называется object? Это ведь неправильно, тип должен называть КЛАСС, а его экземпляры объектами.
Аноним 19/03/21 Птн 18:27:54 19716421207
>>1971627
Неа. Причем, конкретно эта строчка вызывает краш. Как собственно и любые попытки прикастить к чему-то этот объект, кроме как к Object.
То что я выше написал, что даже попытка проверки на обжект вызывает false, похоже, хрень: просто программа крашится раньше, и до этого тупо не доходило (дебажить тут нельзя, все приходится выяснять через месседжи которые кидает прога, для которой либа)
Аноним 19/03/21 Птн 18:29:15 19716451208
>>1967669
Сегодня только увидел, спасибо за подробный ответ, помогло разобраться лучше
Аноним 19/03/21 Птн 18:37:21 19716481209
>>1971639
С чего ради? Название класса соответствует тому, что он абстрагирует, и в случае объектной парадигмы языка, ты абстрагируешь (любым классом) - объект, а не саму концепцию класса. Хз как в дот-нете, но в Java для объектного описания самой идеи класса существует свой класс, который называется (сурпрайз мазафака) - Class. Через него осуществляется доступ к классу, породившему объект (в рамках рефлексии) - у любого объекта можно получить объект его класса через поле .class, и потом делать с ним всякие прикольные вещи.
И в этом все кристально логично. У тебя малость сбито понимание что и чем является.
Аноним 19/03/21 Птн 22:45:00 19717781210
Аноны, на связи опять нуб с дохуялетним стажем программирования на мёртвых языках, охуевающий от объёма информации в эхотаге.
Кто использовал linq2db? У меня совершенно нубские вопросы, на SO боюсь идти, выебут.
1. В чём разница linq2db и linq2db EF Core? Зачем нужен второй? Нужен ли он мне?
2. Можно ли в linq2db приготовить запрос, а потом его исполнить с параметрами?
3. Какого типа будет этот запрос? Если я хочу его в функцию или в класс передать? Я НИХУЯ не могу понять. Везде в примерах ебучий var...

Боже, как всё просто было 20 лет назад. Вкурил "дельфи за 21 день", или круче того, пыхпых для чайников, и пошёл ебашить. А тут - бляя...
Аноним 20/03/21 Суб 00:02:24 19718341211
>>1971496
если ты мертвый в шарпе то я даже не рождался нахуй
Аноним 20/03/21 Суб 09:12:09 19720381212
По каким гайдам учить asp?
Аноним 20/03/21 Суб 10:26:25 19720841213
Без имени-2.png 65Кб, 1301x842
1301x842
Аноним 20/03/21 Суб 10:49:34 19720981214
К делегатам и событиям тоже надо комментарии писать? Что-то не могу понять какие
Аноним 20/03/21 Суб 11:08:05 19721101215
>>1972098
К событиям - когда оно срабатывает.
К делегатам - куда он будет передан и когда вызван.
Аноним 20/03/21 Суб 11:33:54 19721281216
Паттерн Action(Сommand) - хорошо или плохо?
Аноним 20/03/21 Суб 12:35:12 19721721217
Аноним 20/03/21 Суб 16:23:27 19723471218
>>1971153
Порог входа, например, во врача (со специализацией) - это 8-10+ лет учёбы, потом ещё 5-10 лет обязательной работы за 5-8к на селе с бабками, и только потом ты сможешь устроиться в норм клинику на зп js-джуна.
Вкат в джуна - это взять разом 4 недели отпуска, положенных каждому россиянину в год, и просто усердно прочитать 1-2 книжки и попрактиковаться в IDE с задачками. Это уровень усилий как для подготовки к сдаче на водительские права.
Конечно, в мейл или сбер конкурс большой и 40 летнего пенсионера-росгвардейца, вкатившегося в питон, туда скорее всего не возьмут. Но в шарагу с 1с или конвейером интернет-магазинов - добро пожаловать.
Почему ты не смог сесть и нормально подготовиться к собесу?
Причина №1. Ты неусидчивый, неорганизованный, ты просто не можешь ни на чем сосредоточиться, ты не можешь заставить сам себя что-то делать. Ты обречен на неудачу в любом начинании.
Причина №2. Ты привык по жизни всегда делать всё наотъебись, всё, что ты делаешь, ты делаешь как говно. Авось прокатит. Таких людей не мало и они опасны, особенно в ответственных профессиях. Они хуже умышленных вредителей. Но в программирование они всё же зачастую просачиваются.
Причина №3. Ты просто тупой. На самом деле нет. Умные программисты нужны очень редко
Аноним 20/03/21 Суб 16:24:50 19723501219
>>1972084
Как из студии экспортировать настройки цветов для различных кейвордов?
Заебался на разных компах вручную это натыкивать.
Аноним 20/03/21 Суб 16:33:34 19723581220
>>1951826
> Сможет ли он самостоятельно написать парсер для составной формулы
Лол что это за хуйня сейчас была? Это второй, блядь, курс МухГУ. Писал на си и ничего.
И компиляторы писали, и субд разрабатывали порстенькие.

Я это просто так к слову вспомнил, да, порог входа на самом деле действительно низкий, учитывая с какими кадрами я работаю и даже если у меня встают волосы дыбом, они - нужны, потому что работы много и тех у кого есть образование на нее кидать как-то не с руки. Другое дело, что то про что ты там говоришь - это не какие-то охуенные знания, которые хуй где найдешь - это программа среднего такого провинциального вуза в айтишной кафедрой. Любой студентик это делает: пишет парсеры, лексические анализаторы, компиляторы, пишет субд, пусть и простые относительно тех что на рынке, крутит деревья и т.д. Просто нужно отделять программиста от айти-макаки, вот и все.
Аноним 20/03/21 Суб 16:48:06 19723721221
>>1972358
>Это второй, блядь, курс МухГУ
Ты этому учился в техническом ВУЗе на программиста, где преподы на лекциях и семинарах тебе про это рассказывали.
А у меня за плечами было только 2 года учебы в платной гум. шараге (для отсрочки) с последующим отчислением, когда получил реальную негодность и не захотел, чтобы мамка платила за эту ненужную хуйню, и пошел работать.
И когда я уже одной ногой вкатившись сталкивался с подобными задачами типа парсинга с вложенностью, это было для меня сложно, но зато когда я такое решал, то до сих пор помню, что чувствовал себя молодцом.
А в целом вообще, интересно, какой процент людей, работающих программистами, могут написать алгоритм для ханойской башни, для быстрой сортировки без рекурсии и без её имитации через собственную реализацию стека, для обхода лабиринта, муравьиный алгоритм для задачи коммивояжёра и т.п. Без ограничения по времени, но и без гугла и подсказок.
Аноним 20/03/21 Суб 17:26:03 19723961222
>>1970316
>return MaxMana
Эксепшн будешь получать.
Аноним 20/03/21 Суб 17:27:22 19723971223
>>1970981
>Как в сишарп реализованы круды через ORM
Довольно просто и удобно.
>Как в сишарп реализованы круды через нативные SQL запросы
Довольно сложно и неудобно.
Аноним 20/03/21 Суб 20:19:26 19725161224
А нахуй нужны предопределенные get, set ? Тип это же все равно что сделать переменную паблик, не? В чем профит вообще так делать?
Аноним 20/03/21 Суб 20:36:37 19725301225
>>1972516
> переменную паблик

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

> предопределенные get, set
А так переопределением ты в производном классе можешь возвращать/проставлять значение по-другому чем это было в родительском классе.
Такие проперти должны быть помечены как virtaul чтобы их переопределить с помощью override.
Аноним 20/03/21 Суб 20:37:12 19725311226
>>1972516
В том что ты можешь логику дополнительную в них вставить.
Допустим твое приватное поле хранит температуру в кельвинах, а ты пользователю хочешь отдавать в цельсиях и давать задавать в цельсиях. Или ты хочешь чтобы не выставляли null или еще что-то. Если у тебя тупо Get-Set - можно действительно обойтись полем открытым, просто это дурной тон, потому что семантически поля должны хранить внутреннее состояние, а свойства - то что ты хочешь дать пользователю класса трогать.
Аноним 20/03/21 Суб 20:56:15 19725511227
>>1972531
>просто это дурной тон
ООП головного мозга - это плохо.
Если ты пишешь тип, в котором гарантированно поле - это просто поле, как есть, и никакой доп. логики там не может быть по определению, то это поле надо делать публичным полем, как это делают в стандартной либе. Принцип KISS превыше всего.
В целом, если ты пишешь структуру, а не класс, то скорее всего поле должно быть открытым. Кроме того, если ты пишешь ридонли структуру (а обычно именно так и следует делать), то гет на ридонли поле - это уже совсем кукухой надо поехать.
Аноним 20/03/21 Суб 21:02:12 19725571228
>>1972551
Учитывая что в С#
между написанием

public string myField

и

public string MyField {get;set;}

Разница большой в плане трудозатрат нету, то проще второе писать
Так меньше будет доебок со стороны коллег
Аноним 20/03/21 Суб 21:39:06 19725881229
>>1972531
>>1972530
Я если, что под предопределенными имел ввиду вот эту конструкцию int number (get; set;). Просто визуально это все потом выглядит как будто ты просто к переменной обращаешься, так что мне не было понятно зачем такая проперти вообще нужна.
Но если я понял по твоему сообщению
> А так переопределением ты в производном классе можешь возвращать/проставлять значение по-другому чем это было в родительском классе.
Это типа заглушка, чтобы если потом понадобится какая-то проверка или модификация перед присвоением в другом классе переписать.
Аноним 20/03/21 Суб 21:53:15 19726021230
>>1972557
Ну как бы любое решение должно быть обосновано.
В System.Numerics такая дичь почему-то не используется, и коллеги тех, кто это писал, как-то стерпели. Поля структур там - это публичные поля. Проперти там - это действительно проперти, т.е. свойства, отражающие какие-то аспекты внутреннего состояния, а не оболочки полей.
Тупой коллега, начальник-самодур и т.п. - это жизнь, с этим приходится работать и находить компромиссы, да.
Аноним 20/03/21 Суб 22:43:39 19726541231
Сап, такой вопрос. Меня взяли на стажировку - удаленно. Задания нужно делать каждый день (пн - пт). На задачу часов 5+ проганья уходит. Так вот - очень тяжело самому себя контролировать, постоянно отвлекаюсь на учебу или на ютуб или еще что-то, из-за этого в долгах и сейчас приходится на выходных догонять те 3 дня на которые отстал. Как вы себя держите в контроле? Мб приложения какие-то юзайте или еще что-то?
Аноним 20/03/21 Суб 22:50:41 19726581232
>>1972654
Хз, у меня проблемы такой нету
Я если что-то начал делать, меня хуй чем отвлечешь, такой я аутист.
Аноним 21/03/21 Вск 00:06:04 19727021233
>>1972084
Ну, у тебя в возврате динамик-типов явно указан нативный для твоей среды тип - строка либо массив строк, не удивительно, что он их распознает. А у меня там какой-то мусор, который приезжает через межпрограммный интерфейс. Я не особо понимаю как все работает, но даже судя по тому, что VS не подсвечивает, не автодополняет и не показывает ошибку на абсолютно любом вызове для dynamic (даже если вписать туда что-то вроде .getMyDick()) то в рантайме там просто происходит поиск по имени метода и сигнатуре, а типа как такового может у него и нет.
В любом случае, я уже разобрался с проблемой через рефлекшн (5 секунд в гугле, больше сюда писал, вот уж правда двачеебы неисправимы). Если сделать вот так:
Type t = dynObj.GetType()
то можно у полученного объекта через .Name узнать его имя. Короче, для массива тип System.Object[], а для одиночного объекта - __ComObject. Этого достаточно, чтоб не ебаться с try-catch, тем более что я могу там же получить список всех методов, полей, признак массива, признак что это КОМ-объект, и даже небо и аллаха. Теперь проблема в том, что я для любого объекта, который приходит из этого SDK, как динамик, и не является массивом, вижу этот же тип - __ComObject, и я не могу различать теперь их между собой (разве что по характерным именам методов). Ну и никакого объявленного типа "__ComObject" у меня в проекте нет. Мне уже хватает инфы чтоб задачу сделать, но хотелось бы доразобраться, гуглю сейчас как вообще шарп работает с КОМ и что можно сделать с такими объектами.
>>1971834
да прекрати, это общеООП-шная хуйня. для меня шарить было бы если б я нормально понимал как именно .NET устроен и как все это на более низком уровне работет. А просто кододроч тут как и на других околосишных языках
Аноним 21/03/21 Вск 01:17:24 19727681234
>>1972551
Угу, а завтра тебе нужно добавить дополнительную логику, типа невозможности изменить поле после того как оно установленно. Сделав изночально свойство ты просто добавишь эту логику там, если у тебя было поле - ты будешь вынужден везде где дергалось поле менять логику. Охуенный кисс получается.
А, ну да, такие же как ты думают, что вот порешали на первом митапе и все - у нас все железно, и не выйдет так, что мы тупо бизнес не поняли, не поняли предусмотрели что-то и т.д.

А ровняться на стандартную библиотеку это вообще пиздец. Или по твоему - охуенно кидать экспешн вместо того чтобы дать классу интерфейс который будет однозначно говорить, какие методы/свойств есть у класса, а какие - нет? Хули, стандартная библиотека так вот делает в куче мест. Давайте все как там делать: нахуячим абстрактных классов, нахуячим дублирующих классов, потому что те что мы нахуячили ранее конфликтуют, и будет у нас 3 разных цвета, дохуя стримов, жопой брашей. Охуенный ты ориентир выбрал, няша. И то что майкрософт сами признали что говно сделали и пытались по человечески передалать, это так.
Аноним 21/03/21 Вск 09:14:14 19728751235
Как и когда надо использовать индексаторы?
Аноним 21/03/21 Вск 09:15:33 19728781236
Анонсы, кому-нибудь удается поддерживать кроссплатформенные проекты (контентные приложухи android/ios) на Xamarin? Начинал с юнити, пытался пересесть на xamarin ради вроде как нативности, но не осилил из-за постоянного костылинга того, что уже знаю как делать в юнити. В апстор пока не загружал приложения, тк боюсь реджекта (слышал что там любят реджектить по причине "а какие нативные функции ios вы реализовали"), а у меня по сути полностью отрисованный интерфейс. Вот ломаю голову над тем, как пилить следующий проект. Пока пришел к тому, что для андроида это будет юнити, а для ios придется осваивать свифт. Так или есть более простой путь?
Аноним 21/03/21 Вск 10:22:07 19728961237
>>1972875
>Как
Как описано в документации
>когда
Когда нужно обеспечить доступ по индексу
Аноним 21/03/21 Вск 10:35:13 19729011238
Пытаюсь написать интеграционные тесты для своего проекта. И у меня встал вопрос ух как встал. Что делать с тестовыми данными в БД (использую postgre)? Сейчас напридумывал такие варианты:
1)Пересоздавать БД перед каждым тестом (через темплейт)
2)Очищать таблицы и заполнять заново перед каждым тестом
3)Использовать две БД - одну для тестов, где данные только читаются, другую для тестов где есть записи в бд (бд созаются и удаляются перед/после всех тестов).
Мне кажется третий вариант лучше, тем более что первые два завалятся из-за параллельного выполнения тестов (или нет?). А какие есть нормальные варианты?
Аноним 21/03/21 Вск 10:50:54 19729081239
>>1972896
а чем доступ по индексу отличается от доступу по аргументу? короче, чем fun(x, y) отличается от fun[x, y]
Аноним 21/03/21 Вск 11:37:02 19729241240
>>1972908
Так-то ничем, кроме того, что ты более явно говоришь другим программистам, который будут с твоим кодом работать, что в коде происходит.
Индексатор сразу понятно, что там какая-то коллекция запрятана в классе с которой ты хочешь чтобы работали именно через индксатор, с методом это уже надо название метода читать и разбираться что за ним скрывается.

Те же проперти тоже можно на методы поменять
Аноним 21/03/21 Вск 12:14:30 19729581241
>>1972768
>завтра тебе нужно добавить дополнительную логику
Анон, если ты пишешь класс Customer, Order и прочий ентерпрайзовый ООП-шит, то там очевидно, что надо писать геттеры.
Если ты пишешь что-то элементарное, ну скажем, структуру Vector5, и тебе хочется перформанса, а возможно и нормальной интероперабелности с С в будущем, решение будет другим.
Аноним 21/03/21 Вск 12:34:40 19729701242
>>1972958
> сли ты пишешь класс Customer, Order и прочий ентерпрайзовый ООП-шит
> ну скажем, структуру Vector5, и тебе хочется перформанса

Дело в том, что вторым занимаются единицы.
Аноним 21/03/21 Вск 18:46:29 19733871243
Срочно нид хелп с делфи#. Сам фротендер подзалупный, другу срочно нужно 1 задание с табулированием фукции и средним арефмитическим. Его уже разок ебанули за копипаст, второй раз не прокатит скатать. Есть уже рабочий правильно код, его нужно переписать чтобы препод не доебался
БРАТЬЯ СЛОВЯНЕ ПОМОГИТЕ
Аноним 21/03/21 Вск 18:48:59 19733921244
Аноним 21/03/21 Вск 18:51:42 19733991245
>>1973392
Спасибо, брат. Сколько с меня?
Аноним 21/03/21 Вск 19:16:22 19734381246
Аноним 21/03/21 Вск 21:32:18 19735651247
Что с Rider? Хорошая ли альтернатива Visual Studio?
Аноним 22/03/21 Пнд 05:34:48 19738621248
>>1973565
Да. Но я не пробовал.
Аноним 22/03/21 Пнд 10:59:18 19739661249
Сап шарп, подскажите бесплатный обфускатор для .net framework (wpf .exe), можно и с торрентов. Можно без IL дрочева, главное чтобы шифровал string значения и немного расспидорасил шарп код (можно и много). Пока что пробовал:
- .net reactor - на торрентах вирусы.
- babel obfuscator - пробная версия.
- eazobfuscator - пробная версия.
Аноним 22/03/21 Пнд 11:31:20 19739951250
>>1972372
>А в целом вообще, интересно, какой процент людей, работающих программистами, могут написать алгоритм для ханойской башни, для быстрой сортировки без рекурсии и без её имитации через собственную реализацию стека, для обхода лабиринта, муравьиный алгоритм для задачи коммивояжёра и т.п. Без ограничения по времени, но и без гугла и подсказок.
Где-то около 100%, я думаю. Я бы посмотрел на программиста, который этого не сможет.
Аноним 22/03/21 Пнд 12:49:53 19740601251
>>1969758
Бамп своему вопросу. Должна же быть логика
Аноним 22/03/21 Пнд 12:50:57 19740611252
Нужно запилить большой пдф документ и поэтому я решил его запиливание положить в отдельный поток. Но всё сразу же отъёбывает на этой строчке
pageDef.PageSize = new Size( doc.PageWidth,doc.PageHeight);
где doc это FlowDocument
Если её закомментить, то дальше отъёбывает на этой строчке
sourceDocument.Save(stream, DataFormats.Xaml);
где sourceDocument это TextRange
И всё это с ошибкой
>Вызывающий поток не может получить доступ к данному объекту, так как владельцем этого объекта является другой поток
Что не так-то?
Аноним 22/03/21 Пнд 13:11:45 19740851253
>>1974060
>>1969758
Вопрос снимается. Я забыл добавить service.AddSingleton(Configuration); >_<
Я теперь хз почему оно на винде работает корректно
Аноним 22/03/21 Пнд 13:33:19 19741131254
Аноним 22/03/21 Пнд 14:21:26 19741481255
riderlogo300x300.png 19Кб, 300x300
300x300
>>1973565
Райдер - огонь. Важно понимать, что в нем пока всяких визуальных редакторов и прочих плюшек, которые есть в студии, но зато с точки зрения работы с объемными солюшенами, состоящих из штук этак 25 больших проектов, он конкретно рулит. Тормозов нет, в отличие от студии он является честным 64 битным процессом и ограничения в 3 ГБ памяти у него нет.
Аноним 22/03/21 Пнд 14:58:41 19741981256
>>1971648

Лол, зумерка не заставшего венгерскую нотацию видно из далека. Ты занимаешься подгонкой решения под ответ. В общем случае противоречие на лицо, и связано оно синтаксической коллизией языка и метаязыка. А если бы использовали слово class вместо object, такой коллизии не было бы. Рефлессия тут вообще ни при чём.
Аноним 22/03/21 Пнд 15:01:55 19742021257
>>1951826

> Они разрабатывают компиляторы, ОС, СУБД, антивирусы, поисковики, навигаторы, архиваторы, игры, алгоритмы шифрования, блокчейн и т.п. Это их предметная область.

Ага, как в одном недавнем твите MS Research показалил нигретоску которая методами АИ выявляет а какие еще сорта нигеров недостаточно хорошо представлены в самой МС.
Аноним 22/03/21 Пнд 15:02:28 19742041258
>>1972347
>Вкат в джуна - это взять разом 4 недели отпуска, положенных каждому россиянину в год, и просто усердно прочитать 1-2 книжки и попрактиковаться в IDE с задачками. Это уровень усилий как для подготовки к сдаче на водительские права.
Перетолстил, это не Джун это недотрейни. А с ментором был бы трейни. Джун сегодня это не циклы с массивами, это знание языка на приличном уровне +3-4 технологии сторонние, а возможно и ещё жабаскрипт впридачу. Ну серьезно, ты думаешь вкатыш осилит за месяц c#+ SQL+asp.net+JS? А вакансии именно такие висят
Аноним 22/03/21 Пнд 15:03:47 19742081259
>>1972347
>Порог входа, например, во врача (со специализацией) - это 8-10+ лет учёбы, потом ещё 5-10 лет обязательной работы за 5-8к на селе с бабками, и только потом ты сможешь устроиться в норм клинику на зп js-джуна.

Ты ебанько путаешь теплое с мягким, точнее требования гос структуры и частного бизнеса. Тогда уж для корректного примера не 1эсника или js макаку в мелкой конторе бери, а какого нибудь кодера роскосмоса к которому тоже формальные требования вроде вышки.
Аноним 22/03/21 Пнд 17:34:01 19744261260
>>1974113
Вот мой опыт:
>>1972878

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

Аноним 22/03/21 Пнд 18:12:23 19744941261
суп шарпач, хочу попробовать blazor, но в вебдеве я никакой. как защитить информацию на сервере от всего мира?
я точно знаю, что приложением буду пользоваться я и мой друган, может быть стоит просто по вайтлисту айпишники закрыть и успокоиться? или лучше сделать это, но еще с шифрованием и логин формой?
Аноним 22/03/21 Пнд 19:13:39 19746021262
>>1971639
Никто тебе ничего не должен пёс.
Аноним 22/03/21 Пнд 19:52:29 19746401263
Аноним 22/03/21 Пнд 20:08:26 19746451264
>>1974198
> зумерка не заставшего венгерскую нотацию видно из далека
>из далека

Не то что школьника, который не застал уроки русского языка
Аноним 22/03/21 Пнд 20:49:16 19746831265
image.png.7af91[...].png 188Кб, 640x381
640x381
>>1974204
Это сугубо требование рынка.
Просто опыт показал, что программист и без ВО остаётся программистом и успешно справляется со своими обязанностями.
А врач без ВО - это в принципе любой твой знакомый 35+, который, особенно в России, уже гарантированно переболел всяким и готов дать крепкий медицинский совет, назначить дообследование и план лечения, причём решительно по любой жалобе.
Но как ты понимаешь, бабки с уринотерапией не особо пока способны заменить профессиональных врачей.
Даже на мед.сестру, чтобы кровь из вены взять, учат дольше, чем программиста С++ за 21 день.
Аноним 22/03/21 Пнд 20:56:37 19746921266
4a395a4442c31de[...].jpg 163Кб, 1168x657
1168x657
>>1973995
Современная разработка вообще не требует алгоритмов на самом деле. Чуть менее чем все js-макаки и питонисты-датасцаентисты вообще не умеют в алгоритмы.
Программист, который нужен отрасли, это не творец, это даже не ремесленник, это заменяемая шестеренка на конвейер, сорт оф работяга со своим уклоном.
Аноним 22/03/21 Пнд 20:57:57 19746951267
>>1973565
Мне не зашел.
С одной-то стороны есть прямо вкусные плюшки, но блядь, эта хуйня думает что она умнее меня и даже больше студии лезет.
Еще эта хуйня с подсветкой имени аргумента пиздец тупо сделана.
Вообще, объективно - для написания кода - лучше всего подходит VSCode. Вот серьезно, в нем - писать одно удовольствие, с одной стороны скорость и плавность, с другой это не совсем редактор и всякие автокомплиты и прочее таки есть. Для дебага - студия или райдер.
Аноним 22/03/21 Пнд 21:34:46 19747261268
121.png 36Кб, 619x916
619x916
Смотрите. Есть код. Прикриплейд. Студия мне упорно говорит - заменить async void на Task и ждать его. Но хуйня в том что тогда метод старт будет ждать завершения и я ничего не могу сделать другого. То же и с клиентами - без async void - я буду ждать пока обработаю клиента перед тем как принимать следующего.
Так вот. Я понимаю, что это нехорошо так делать, но как иначе-то в таких вот случаях?
Аноним 22/03/21 Пнд 21:37:45 19747291269
Анончики, где можно бесплатно купить книгу Pro C# 8 with .NET Core 3 (Andrew Troelsen)?
Аноним 22/03/21 Пнд 21:46:15 19747361270
Аноним 22/03/21 Пнд 21:48:50 19747371271
2.jpg 36Кб, 633x1280
633x1280
>>1910324 (OP)
Здравствуйте, всем уважаемым шарпачам желаю здоровья. Вообщем я 3 курсник специальности мат и комп моделирования, тут нас учат пинать хуй и в поте лица зарабатывать баллы(оценки). Всё изучается ебанно хаотично - учишь мпиай+параллельно sql+делаешь ебейшие задачи биологии, химии и физ процессов на c++. Забил на эту хуйню хуй и учу чисто чтобы проходные набить. Только начал понимать что если щас сам не возьмусь за самообучение то после уника выйду полнейшим дном. Дк вопрос то с чего начать то, и главное как? Взял книжку по C# for players, на англ читается хорошо но после что? В чем смысл бытия этого ремесла? и вообще нужно ли все это? обращаюсь к кабанчикам с 300к н/сек
Аноним 22/03/21 Пнд 21:53:23 19747391272
>>1974736
Скинь пожалуйста ссылку, буду благодарен.
Аноним 22/03/21 Пнд 21:54:42 19747411273
Будет ли работать linq2sql/ef с mysql, который находится в пизде где-то на сервере?
Аноним 22/03/21 Пнд 23:02:48 19747831274
>>1974645
Мне похую на язык унтерменшей. Усёк?
Аноним 23/03/21 Втр 08:45:20 19749391275
>>1974726
А почему у тебя так сделано:

public async Task Start()

Сдается мне он тоже void должен быть. Вообще, без сценария использования всей этой радости сложно что-то советовать.
Аноним 23/03/21 Втр 08:51:42 19749431276
>>1974737
Падажжи! Тебе вообще, в целом, нравится с кодом возиться? Как кабанчик с 15летним опытом разработки за деньги скажу так: 90% рабочих задач, где нужно писать код еще более скучные и как ты говоришь, ебейшие, чем твои лабы по биологии, химии итп. Так что если душа к этому не лежит, лучше другую сферу поискать. Вон у меня пара приятелей разочаровались в программировании и в финансы ушли (один из них прям круто поднялся, трейдер в инвестиционном банке, кайен, дом на новой Риге), другой в пилоты линейные на б737 (сейчас правда с карантином соснул хорошо). Короче, ради денег в ИТ точно идти не стоит.
Аноним 23/03/21 Втр 09:33:31 19749511277
>>1974602
Твоя мать шлюха должна мне два минета.
Аноним 23/03/21 Втр 12:11:21 19751141278
>>1971484
То есть по делу тебе ответить нечего, раз ты лишь в лужу пёрнул. Если рынок везде разный, то и копейки везде разные. Для пыхаря 50 тысяч в замкадье это средняя з/п, но для мобильщика это копье.
Еще раз говорю: у нас +30% от рынка. Кадров нет вообще. Если бы мы могли найти 10 мидлов-шарпистов, мы бы мгновенно устроили их к себе, сразу же загрузили их проектами и взяли бы больше проектов к себе на горб. Нам приходится отказываться от очень жирных и денежных проектов, потому что у нас не хватает рук. А рук не хватает, потому что на рынке нет кадров. Все очень просто.
Аноним 23/03/21 Втр 14:10:14 19751971279
>>1975114
Т.е. ты на серьезе говоришь, что не можешь найти 10 мидлов-шарпистов на 200к в месяц? Вам определенно что-то нужно делать со своим отделом hr.
Аноним 23/03/21 Втр 14:48:37 19752401280
>>1975114
Лол, так о том и речь что у вас днище контора с нищенскими зарплатами нацеленная на отлов местных студентиков которые по какой-то причине привязаны к месту и не могут сразу в нормальную контору устроиться. В мухосранях такая практика довольно распространена, если в городе есть программерский быдловузик.

>>1975197

Конечно всерьёз, на такие зарплаты даже дебил не пойдёт.
Аноним 23/03/21 Втр 14:49:48 19752441281
>>1975240
>>1975197

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

В мысле з\п которые они предлагают, а не 200к как ты писал.
Аноним 23/03/21 Втр 15:26:27 19752611282
>>1975244
>>1975197
Ладно уж, не 200. 150-170 для мидла. Если что, в нашем городе 180 это зп сениора помидора
Аноним 23/03/21 Втр 15:39:36 19752741283
>>1975261
Ты не можешь найти мидлла на 150? Не пизди.
Аноним 23/03/21 Втр 19:22:42 19754711284
>>1974939
Потому что в теории старт может быть долгими таки его хотелось бы иметь возможность нормально отменить(в реализации подобной шняги у коллег например, просто виснет приложение и ждем пока таки запустится, меня вот это жутко бесило, особенно потому что вот идет интенсивный обмен, я блин, понял уже что все нормально и клиент на связи, а нет - жди пока закончится, никаких обменов в фоне, а кнопка отмены - не реагирует на нажатие).
На пике - примитивный сервер на сокетах. Это просто пример, потому что я думаю все понимают, что при старте там будет выделяться пул под получение сообщений, будет какая-то логика биндинга и это вот все, это хотелось бы таки не просто пульнуть, а подождать прежде чем дальше логику какую-то выполнять, ну в после того как стартанул - нужно же продолжить выполнение уже ожидая клиентов и как-то их обрабатывая, но вот незадача - если будет async Task - так не выйдет, ведь прием - бесконечный цикл и если его ждать, то все, тю-тю, а с другой стороны мне студия прям кричит: АПАСНА, АСИНХРОННЫЕ ВОЙДЫ ЭТО ПИЗДЕЦ, ГРОБ, КЛАДБИЩЕ, СДЕЛАЙ ТАСКОМ И ЖДИ!!!
Аноним 23/03/21 Втр 19:46:37 19754911285
>>1975114
У меня 2 года опыт работы, лололо микросервися, лололо сетевые технологии, лололо ебля с протоколами проприетарными. Ыыыыы, ЗОВОД!
За 50к в месяц и гарантию что не буду делать фронтенд согласен на все.
Аноним 23/03/21 Втр 21:21:45 19755761286
>>1975261
Я готов
У меня 5 лет опыта, зп 100к.
Только условие, брать без собеса, скажешь что я свой парень с сосача.
Аноним 24/03/21 Срд 01:37:49 19757651287
image.png 424Кб, 568x448
568x448
Возможно ли стать востребованным программистом, который не будет веб макакой, и не будет работать за еду, если нет высокого интеллекта ?

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

Сейчас же пытаюсь на codeforces участвовать в соревах, получается делать только самую лёгкую задачку A, для более сложных не хватает интеллекта, чтобы решать сложные математические модели, и быстро придумывать нужные алгоритмы, или вообще даже спустя много времени решение не приходит в голову.
Аноним 24/03/21 Срд 04:11:59 19757951288
image.png 29Кб, 331x432
331x432
image.png 43Кб, 740x387
740x387
Почему я ловлю NullReferenceException?
Аноним 24/03/21 Срд 05:55:18 19758161289
>>1975795
Потому что используешь конструктор без аргументов а в нем ты не инициализировал лист свой.
Аноним 24/03/21 Срд 06:52:38 19758221290
Допустим я хочу сериализовать данные вида:

Имя пользователя
Пароль
Время отиправки сообщения
Хеш сообщения

Ну, т.е. совсем просто - все это одна ASCII строка, разделитель каждого поля - \0 а идентификатор начала и конца сообщения - 0xff.
Так вот, никакой сложности сделать это руками. Но хочется же, допустим, добавлять разные уровни для разных сообщений, вложенность и чтобы потом это нормально десерилиазавалось, а пилить это ручками - ну, заебисто же. Хотелось бы что-то вида:

[Serialize([0xff], [0xff])]
class Login{
[String.Ascii, EndWith('\0')]string Name{get;set;}
[String.Ascii, EndWith('\0')]string Password{get;set;}
[DateTime.Format(dd-MM-yy hh:mm:ss))]DateTime Timestamp{get;set;}
[Byte(4)] byte[] Hash{get;set;}
}
Есть ли что-то такое?
Аноним 24/03/21 Срд 07:16:20 19758251291
>>1975822
Объект класса сериализировать тебе не подходит?
Аноним 24/03/21 Срд 07:43:50 19758311292
>>1975816
Пиздец я долбоёб. Спасибо.
Аноним 24/03/21 Срд 10:21:41 19758971293
>>1975765
Неоднократно сталкивался по работе с не самыми умными программистами, да что уж там, даже откровенно туповатых видел. Они вывозили, по большей части, на крайне высокой усидчивости и минимуме прокрастинации.
Аноним 24/03/21 Срд 10:34:53 19759031294
>>1975897
Что они могли по алгоритмам ? Или это были фронт енд не думающие макаки ?
Аноним 24/03/21 Срд 10:48:00 19759111295
Можно ли добавлять кастомные контролы winforms в wpf? Есть один msdn.html.editor.htmleditorcontrol , <WindowsFormsHost><wp:... > не подтягивает его (там только дефолтные контролы). Или может кто знает альтернативную бесплатную реализацию для редактирования html'a?
Аноним 24/03/21 Срд 11:03:12 19759231296
>>1975911
Можно через хостинг, как-то делал лет 10 назад, лол.
Аноним 24/03/21 Срд 11:56:06 19760011297
>>1975911
https://docs.microsoft.com/ru-ru/dotnet/api/system.windows.forms.integration.windowsformshost?view=net-5.0

>>1975903
Они как раз-таки бэкендом трейдинговой системы занимались. Худо-бедно справлялись за счет уже реализованного костяка проекта, вопросов знающим людям, ну и много их код на ревью назад на доработку отправляли с комментами. Справедливости ради, по долгу такие чуваки не задерживались.
Аноним 24/03/21 Срд 12:38:07 19760571298
>>1975897
Такие обычно вывозят за счет того, что пиздеть хорошо умеют и их поэтому начальство считает их незаменимыми.
Аноним 24/03/21 Срд 13:21:38 19760891299
>>1976057
Неее, в нашем случае все знали, что эти чуваки контракторы звезд с неба не хватают, но кого прислали на временное усиление команды, того и прислали.

Сто касается скила на общение с людьми, то этим туповатым программистам он реально нужен, просто потому, что им нужно часто ходить к прошареным чувакам за помощью.
Аноним 24/03/21 Срд 14:06:05 19761281300
>>1976089
А что такого сложного в бекенде трединговой системы, что нужен очень высокий интеллект ?
Аноним 24/03/21 Срд 14:21:45 19761431301
Сап программаторы. Есть способ проверка валидности данных для входа в почту, не отправляя письмо?
Допустим пользователь вводит свои данные в два поля. Если gmail подтверждает, что данные верные, то у пользователя открывается некоторое окно(юзаю WPF ), если нет - выводится label о неверности данных. Интересует сама реализация проверки без отправки письма.
Аноним 24/03/21 Срд 14:23:20 19761451302
>>1976128
Хо-хо. Там борьба за микросекунды, дружище. И от этого архитектура, скажем так, весьма своеобразная. Грубо говоря, есть медленная шина типа TIBCO, есть быстрая кастомная in-memory база и прочие радочти энтерпрайза.
Аноним 24/03/21 Срд 14:26:09 19761501303
Аноним 24/03/21 Срд 14:32:13 19761601304
Аноним 24/03/21 Срд 15:07:23 19762011305
Аноним 24/03/21 Срд 15:22:24 19762211306
>>1976201
Да я в полном ахуе с себя, я отчаялся и пошел на двач писать, так как сидел минут 40 над ошибкой и действительно не понимал в чем дело
Аноним 24/03/21 Срд 16:11:24 19763341307
image.png 22Кб, 478x390
478x390
image.png 11Кб, 294x271
294x271
Чето нихуя не понятно, как связываются методы контроллера(пик 1) с вьюшками(пик 2)? В каком файле?
Аноним 24/03/21 Срд 16:14:12 19763411308
>>1976334
Полагаю ни в каком файле они не связываются, но как тогда они связываются по названию. Че это вообще за хуита?
Аноним 24/03/21 Срд 17:19:17 19764551309
Аноним 24/03/21 Срд 17:43:24 19764781310
Аноним 24/03/21 Срд 18:02:39 19765001311
>>1976478
Cпасибо на хлеб не намажешь.
Аноним 24/03/21 Срд 18:09:32 19765061312
>>1976500
Ну, когда стану 20к/месяц то могу дать тебе одну тысячу рублей со своей первой зп
Аноним 24/03/21 Срд 18:49:53 19765501313
9999.png 20Кб, 592x579
592x579
Вот чего придумал.
Какие подводные?
Аноним 24/03/21 Срд 20:28:18 19766291314
Какие сейчас перспективы у шарпа? После вуза стою на распутье, но шарп нравится больше всего. Какие шансы со знаниями шарпа и асп.нет найти первую работу? Был бы благодарен за ответ
Аноним 24/03/21 Срд 21:04:58 19766641315
>>1976629
небольшие. десктоп на винду щас не популярен. Лучше всего
Java и в андроид или бекенд/фронт, там без работы никогда не останешься, и она всегда будет даже в самом срано мухосранске
Аноним 24/03/21 Срд 21:12:40 19766691316
>>1976664
>небольшие. десктоп на винду щас не популярен. Лучше всего
Но ASP.NET это же про вэб скорее
Аноним 24/03/21 Срд 22:19:43 19766971317
Есть такая ситуация
Есть метод Operaion, который делают некоторую работу и выбрасывает эксепшены если что-то пошло не так
Но есть случаи когда выполнение этого метода вообще не имеет никакого смысла и лучше бы его завернуть в таком случае в самом начале
При этом надо завернуть так чтобы об этом узнал вызывающий код
Можно конечно фигануть еще один эксепшен и его обрабатывать
Но так как это довольно распрастраненная ситуация может быть, в этом случае лучше вовзращать сразу бул удалась ли или нет попытка выполнения метода
Вижу тут 2 решения

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

Ну и к тому еще в обоих вариантах, что Operation что AttemptOperation эти вызовы должны быть обернуты в трай кетчи
Мне ни один из этих вариантов не нравится
Можно ли еще что-то придумать?
Аноним 25/03/21 Чтв 08:33:22 19768811318
Подскажите пожалуйста, как можно получить текущую активную форму (Form) приложения, когда работаешь с WinForms? Проблема в том, что я вызываю окно в режиме ShowDialog, и оно оказывается позади приложения. Я так понимаю, потому что утрачивается какая-то там связь с хозяином для нового модельного окна, и это можно пофиксить передав хозяина явно через альтернативный вызов ShowDialog(Form masterForm). Код, генерирующий модальное окно, вызывается из подключаемой к приложению библиотеки .dll, поэтому у меня изначально нет ссылки на его окно.
Аноним 25/03/21 Чтв 09:28:42 19768951319
>>1976506
Дай лучше свою жену на часик.
Аноним 25/03/21 Чтв 09:29:35 19768971320
Аноним 25/03/21 Чтв 09:57:02 19769101321
>>1976895
Так жена не моя собственность.
Аноним 25/03/21 Чтв 10:25:13 19769291322
>>1976629
Картина такая: позиций шарповых меньше чем джавошных, а программистов много, потому на приличные зарплаты конкуренция сейчас довольно большая. Про то что шарп потихоньку вымирает не согласен: .NET 5 с aspnetcore и общая нацеленность на бекенд, уже даже сейчас привела к росту таких позиций. Ну и понятно, много компаний ищут людей для поддержки легаси на WPF или совсем уж старья на WinForms.
Аноним 25/03/21 Чтв 10:26:02 19769301323
>>1976881
У формы есть свойство owner
Туда нужно присвоить ссылку на родительское окно
Если у тебя диалог в сторонней библиотеке вызывается, передать в метод которые его вызывает ссылку на главное окно.
Аноним 25/03/21 Чтв 10:28:24 19769341324
>>1976629
Судя по недавним статистическим выкладкам, проекты C#, .Net Core и TypeScript самые популярные и востребованные и это только. Шарп уже обогнал Джаву, а расхайпленный Питон уже соснул и востребован в основном на Западе.
Все таки Core выстрелил знатно.
Аноним 25/03/21 Чтв 10:32:00 19769371325
>>1976934
Смотреть в сторону .NetCore ?
Аноним 25/03/21 Чтв 10:35:36 19769391326
>>1976937
Да, и желательно ASP.NET Core Web API и MVC. Больше всего радует, что можно и пофрилансить, писать небольшие сервисы.
Аноним 25/03/21 Чтв 10:47:30 19769471327
>>1976939
Каким стеком знаний в идеале обладать на позицию джуна ?

Синтаксис
ASP.NET Core Web API
MVC
SQL какой-то

Что ещё ?
Аноним 25/03/21 Чтв 10:50:41 19769491328
>>1976930
>У формы есть свойство owner
пробовал. У этой формы в овнере - нулл
>передать в метод которые его вызывает ссылку на главное окно.
Да, но мой вопрос и состоит в том, как его получить, чтоб туда передать
Аноним 25/03/21 Чтв 11:22:23 19769741329
Поясните разницу с точки зрения производительности между отправкой ajax и отправкой формы, очевидно что с точки зрения клиента более предпочтительным вариантом будет ajax так как не нужно перезагружать всю страницу, вместо это будет выполнен js код который изменит состояние затрагиваемого объекта, но что с безопасностью? защитой от брутфорса и ддос атак? сколько будут весить файлы отправки форм и ajax-сов? который будет обрабатываться сервером быстрее?
Аноним 25/03/21 Чтв 11:53:03 19769901330
>>1976947
Entity Framework Core
HTML, CSSS, JS или какой-нибудь из фреймворков (ангулар например)
Аноним 25/03/21 Чтв 12:05:17 19769961331
>>1976990
В случае, когда есть такой стек знаний - шансы устроиться джуном хотя бы на $700 примерно равны какому проценту ?
Аноним 25/03/21 Чтв 12:25:14 19770111332
>>1976996
Прямопропорцианально тому сможешь ли уверено пиздеть на собеседовании или нет и тому, где ты живешь.
Аноним 25/03/21 Чтв 15:30:27 19771571333
>>1975923
>>1976001
Да, спасибо я это все знаю и видел, мне нужно было подключить неймспейс в хамле.
Аноним 25/03/21 Чтв 15:31:56 19771601334
20210325143058.jpg 3Кб, 464x34
464x34
20210325143101.jpg 13Кб, 553x95
553x95
Извиняюсь за тупой вопрос, wpf, почему докпанель не докпанелит? Он просто в стакпанели, никаких свойств больше нету.
Аноним 25/03/21 Чтв 17:12:45 19773451335
>>1977160
Для этого есть HorizontalAlignment="Right"
И вообще докпанель обычно используют для глобального лейаута окна, а не как вложенную панель.
Аноним 25/03/21 Чтв 17:21:08 19773491336
>>1977160
Поставь в докпанеле свойство LastChildFill в false мб
Аноним 26/03/21 Птн 09:54:19 19778581337
Переучиваюсь с WebForms на .Net Core MVC. Разрывает пердак от того, что все материалы предназначены для тех, которые работали хотя бы в классическом MVC. Базовые термины не объясняются. А еще понял, что мне нужно повторить кучу вещей в C# (делегаты, async await, лямбда), прежде чем вкатиться.
Аноним 26/03/21 Птн 17:17:23 19782191338
Как в вижуал студии можно автоматически дополнить лябмду?
Вот я пишу что-то вроде
govno.someCallback = (??????) =>
{
};
Как мне можно быстро посмотреть какие там параметры должны приниматься, и что она должна возвращать?
Сейчас я смотрю на сам делегат и с него переписываю параметры, но это очень неудобно - иде могла бы и сама мне все сразу подставить.
Аноним 26/03/21 Птн 18:07:11 19782861339
Блядь.
На работе попросили кусок моего кода, т.к. я делал проект в котором нужно таки было на уровень TCP спуститься и сейчас у других челов стоит похожая задача и они не хотят ебаться с этим и просили мой код "для примера". Ну так вот, я-то что сделал - я не ебался с сокетами, а просто взял и добавил к кестреллу свой кастомный обработчик, обернул это все в свои контексты и понеслась.
Вопрос вот в чем. Не упаду ли я в глазах кодеров такими вот решениями, если таки дам свой код? Просто мне самому не особо нравилось, но с другой стороны - мне так самому не хотелось ебаться с сокетами и прочим, вот и сделал так вот. Кестрел работает шустро, плюс получалось что конфигурирование этого дела совсем уж стандартно. Но мня все равно гложет совесть, кажется что нужно было как деды - все на сокетах делать, а не вот эти вот оберточки мутить.
К вопросу - давать или не давать такой вот код? Засмеют или не засмеют меня за то что я не ебался с сокетами, а решил что проще просто в кестрелле кастомный обработчик намутить и от него плясать?
Аноним 26/03/21 Птн 18:49:38 19783571340
Аноним 26/03/21 Птн 19:32:31 19783941341
>>1978286
ХЗ, у нас на работе вообще всем на все поебать.
Лишь бы работало.
Аноним 26/03/21 Птн 20:24:33 19784421342
Можете объяснить что я делаю не так?
Вот код на дропбоксе. https://www.dropbox.com/s/00921wjs9aeif6n/SimplTcp.7z?dl=0

В чем проблема-то собственно. По какой-то непонятной мне причине - не всегда что при чтении, что при закрытии соединения - соединение закрывается. Вот тупо проверил - одна две суки висит. ХЗ почему так. Я наверное тупой и что-то не так делаю.
Аноним 26/03/21 Птн 21:08:42 19784921343
Java или C#? Оба энтерпрайз, кто работает, поясните чем занимаетесь и чего надо ожидать
Аноним 26/03/21 Птн 21:32:30 19785271344
>>1978492
Java по синтаксическому сахару и фичам это C# 2008
Аноним 26/03/21 Птн 22:26:45 19785771345
>>1978492
Джезва отсталое говно, и проекты на ней скучные.
Аноним 26/03/21 Птн 22:54:00 19785961346
>>1978492
Однозначно Java. C# только для разработки приложений под винду, а в росии такой работы очень мало. Учи джаву и иди в андроид, в разы больше денег и вакансий будет
Аноним 26/03/21 Птн 23:02:48 19786001347
>>1978596
Вот скажи
Зачем заходить в си шарп тред если ты джавист?
Аноним 27/03/21 Суб 00:03:50 19786241348
>>1978600
что он не так сказал? То, что на джаве ты можешь зарабатывать деньги, а не создавать свистелки-перделки, как это делают студенты в этом треде? Или как другим долбоебам демпинговать свой язык?

мимокрокодил
Аноним 27/03/21 Суб 00:18:47 19786341349
>>1978357
Неа. Но у меня если че студия без аддонов, мейби это решарпер какой-нибудь добавляет?
Аноним 27/03/21 Суб 01:55:20 19786621350
Аноним 27/03/21 Суб 02:27:06 19786701351
>>1978624
Всегда демпингую где могу и другим советую.
Аноним 27/03/21 Суб 10:25:50 19787921352
Какую IDE посоветуете: VS2019 || Rider?
Аноним 27/03/21 Суб 10:30:07 19787971353
>>1978792
vim
Базарю. Еще захочешь.
Аноним 27/03/21 Суб 10:52:22 19788201354
>>1978624
Нахуй пройди, шлюха джавистская со своим недоязычком.
Аноним 27/03/21 Суб 13:03:09 19789041355
300px-Vgolosinu.jpg 10Кб, 300x185
300x185
>>1978820
>Java
>недоязык
проиграл с подливой. Аудитория шараги №8 села Малые Бугаи факультета ИИ в треде
Аноним 27/03/21 Суб 13:44:29 19789251356
>>1978624
Реально, в универе решетки для лаб, а стажируюсь на фронта потому-что на дотнете только стремный завод приглашал за формами посидеть
Аноним 27/03/21 Суб 15:41:26 19789831357
>>1978904
>Java is designed to be understandable by brain-damaged people

Иронично.
Аноним 27/03/21 Суб 16:07:41 19789901358
>>1975903
>Что они могли по алгоритмам ?
А что вообще средний программист может по алгоритмам? Особенно привыкший к популярным высокоуровневым языкам, где уже есть куча готовых либ на все случаи жизни?
Мне вот недавно требовался алгоритм для определения того, находится ли точка внутри полигона. Это известный алгоритм, из точки пускается луч и считается количество пересечений с гранями полигона. Если получаем нечетное число, то точка внутри. Но если луч пересекает вершину, или коллинеарен с гранью, то это особый случай, который надо выявлять и особо обрабатывать.
Мне в голову приходило только тупое решение - генерировать новый луч до тех пор, пока он не сумеет избежать особых случаев. Решил посмотреть, как это решают другие люди.
Попробовал код из первой строчки гугла. Он не проходит тест, на хитром примере даёт неправильный ответ. По итогу я потратил много часов изучая и тестируя код из выдачи гугла, я проверил наверное десяток реализаций, и все они ломались на некоторых особых случаях. Особенно забавно, что один из сайтов был посвящен изучению алгоритмов, и под примером кода было несколько тысяч комментов.
В итоге нашел магический код на С на персональной страничке какого-то деда из американского вуза, который четко работал, и был ещё и очень быстр.
Аноним 27/03/21 Суб 16:39:59 19790011359
>>1978990
вот поэтому нужно хорошо прокачатся в олимпиадном программировании, которое сильно прокачает алгоритмическое мышление, чтобы на задачи подобного уровня не тратить много времени и усилий, и быстро придумывать быстрые и правильные решения самостоятельно
Аноним 27/03/21 Суб 16:41:37 19790021360
>>1979001
Нихуя это так не работает.
Тем более что олимпиадное программмирование на 95% состоит из зазубривания.
Аноним 27/03/21 Суб 16:52:14 19790071361
>>1978990
Лол. Я тоже пытался реализовать подобный алгоритм своими руками. В итоге забил. Можно ссылку на посмотреть? Интересно как он работает с полигонами типа кольца или буквы V.
Аноним 27/03/21 Суб 17:20:22 19790261362
Объясните, как работает SelectMany в Linq? Нигде не нашел подробного объяснения, только было так стало так, догадывайся сам почему.
Аноним 27/03/21 Суб 17:22:07 19790271363
>>1978797
>Базарю
ща добазаришься
Аноним 27/03/21 Суб 20:37:08 19791331364
Как подключится к PostgreSql через ADO.NET не указывая бд?
Если я пишу так, то работает:
var connStr = "Host=localhost;Port=5432;Database=SomeDB;Username=user;Password=1234";
Но я хочу подключиться, что бы как раз создать базу, т.е SomeDb еще не существует, а если я удаляю параметр DataBase из connStr, то сервер меня шлет нахер. Как быть?
Аноним 27/03/21 Суб 20:44:39 19791381365
>>1979026
Для каждого элемента последовательности выбирает выбирает последовательность и объединяет все это в одну последовательность. Т.е. если обычный Select проецирует один элемент источника в один элемент результата, то SelectMany один элемент источника в последовательность результирующих элементов и объединяет их. На мсдн ходил? Уж куда проще-то
https://docs.microsoft.com/ru-ru/dotnet/api/system.linq.enumerable.selectmany?view=net-5.0
Аноним 27/03/21 Суб 21:03:23 19791541366
wrf2013[1].jpg 118Кб, 1012x1177
1012x1177
>>1979007
https://wrf.ecse.rpi.edu/Research/Short_Notes/pnpoly.html

int pnpoly(int nvert, float vertx, float verty, float testx, float testy)
{
int i, j, c = 0;
for (i = 0, j = nvert-1; i < nvert; j = i++) {
if ( ((verty>testy) != (verty[j]>testy)) &&
(testx < (vertx[j]-vertx) * (testy-verty) / (verty[j]-verty) + vertx) )
c = !c;
}
return c;
}
Аноним 27/03/21 Суб 21:19:16 19791591367
>>1979001
>вот поэтому нужно хорошо прокачатся в олимпиадном программировании, которое сильно прокачает алгоритмическое мышление
Алгоритмические задачи - это задачи уровня научно-исследовательских.
Известные ныне, кажущиеся простыми, алгоритмы разрабатывали умные люди зачастую в рамках своих phd по CS (или кандидастких по ф.-м. н.).
Это не решается в олимпиадном темпе.
Чтобы придумать грамотный алгоритм, нужно погрузиться в задачу, размышлять над ней, ложиться спать с мыслями о ней, просыпаться с идеями, которые хочется проверить в коде.
Хороший программист, если ему это реально надо, может помнить множество известных проверенных алгоритмов, нюансов их реализаций, держать их в голове и на кончике пальцев. Принять их и вариации на тему в ежедневной практике.
Но когда говорят, что программист должен уметь придумывать действительно не зазубренный им произвольный алгоритм для какой-то хитрой задачи, и ещё предлагают сделать это в коде в реальном времени, а то и на собеседовании, желательно минут за 30, то это просто смешно. Так это не работает.
Аноним 27/03/21 Суб 21:26:41 19791631368
>>1979159
программист олимпиадник в алгритмическом плане будет в разы быстрее и ему в разы легче придумывать нужные рабочие алгоритмы, чем не олимпиаднику. Простая аналогия - работа грузчика. Пауверлифтер будет в разы эффективнее и быстрее, чем обычный грузчик - ряботяга, который тоже может выполнить задачу.
Аноним 27/03/21 Суб 22:13:52 19791901369
>>1979163
Да нихуя. Я это уже говорю как олимпиадник. Вмдеть стандартные решения - да, ты благодаря олимпиадам можешь из крайне странного описания понять, что тут мы должны жадный взять, там мы должны большие числа применять, тут регрессия и т.д. Но вот когда становится нужно что-то новое - хуй там.
И ты просто почитай как квиксорт был придуман. Дядька работая преподом в союзе несколько лет взял и придумал его в ходе работы над совершенно другим проектом , и казалось бы крайне хуевый баблсорт взял и модифицировал так, что тот стал не хуйней для показывания на парах, а штукой, которая долго была одним из самых популярных алгоритмов.
Аноним 27/03/21 Суб 22:32:46 19791981370
Из-за всех этих автокастов типов и прочего говна мне не очень-то ясно стоит ли вообще экономить байты в памяти или забить потому что ценна этих байтов это циклы процессора на всякие переконвертации и прочее?
Аноним 27/03/21 Суб 22:40:19 19792061371
>>1979190
>и казалось бы крайне хуевый баблсорт взял и модифицировал так, что тот стал не хуйней для показывания на парах
Бабл-сорт вроде не так уж и плох на очень маленьких арреях так как у него нету оверхеда.
Аноним 27/03/21 Суб 22:44:14 19792081372
>>1979198
>и прочего говна мне не очень-то ясно стоит ли вообще экономить байты в памяти
Не стоит.
Аноним 28/03/21 Вск 13:30:24 19794331373
>>1979198
Если хочешь экономить байты перекатывайся в си\си++
Аноним 28/03/21 Вск 16:36:34 19796171374
Посоветуйте среду разработки, где можно кодить и на сисярпе и на С/С++, а то VS с тем и тем на мой виндовс планшет не влезает из-за 32гб внутренней памяти, а на что-то кроме диска C он не устанавливается.
Аноним 28/03/21 Вск 16:58:43 19796501375
Аноним 28/03/21 Вск 17:35:40 19796881376
Привет всем шарпистам! Есть ли тут те, кто использовал Blazor более менее серьёзно? Стоит ли его юзать для полу pet project’а (те вроде чисто для себя а вроде не совсем)?

И еще: как у Blazor обстоят дела с HLS (Http Live Stream)?
Аноним 28/03/21 Вск 18:43:21 19797791377
Аноним 28/03/21 Вск 19:38:35 19798421378
>>1979433
Там мусор с пола подбирать надо, не хотеть.
Аноним 28/03/21 Вск 20:32:50 19798961379
Аноним 28/03/21 Вск 21:41:22 19799841380
>>1979896
Он не может исполнять код, даун.
Аноним 28/03/21 Вск 22:23:50 19800451381
Аноним 28/03/21 Вск 22:25:12 19800461382
Аноним 28/03/21 Вск 22:26:16 19800481383
>>1979779
Нет. Вместо того чтобы тут срать мог бы уже загуглить что это.
Аноним 28/03/21 Вск 22:34:55 19800571384
>>1980048
Это просто просмоторщик, не умеющий исполнять код. В общем, бесполезная хрень, тот же самый блокнот.
Аноним 28/03/21 Вск 22:41:41 19800601385
>>1980057
Там можно компилятор и автокомплит подрубить. Зайди в список плагинов, я уверен на 100%, там для шарпа есть
Аноним 28/03/21 Вск 22:44:35 19800651386
>>1980060
Могу я ставить знак равенства между code и полностью опенсорсным вариантом codium? Там что вводить, чтобы всё это подрубить?
Аноним 28/03/21 Вск 22:53:11 19800761387
Аноним 28/03/21 Вск 22:53:17 19800771388
изображение.png 123Кб, 1920x1040
1920x1040
>>1980060
Эта штука позволит мне компилировать код?
Аноним 28/03/21 Вск 22:58:54 19800871389
Аноним 28/03/21 Вск 22:59:35 19800891390
Как скомпилировать? И как убрать эти references? References не нужны, в VS такого не было и не нужды как-то не было.
Аноним 28/03/21 Вск 22:59:54 19800911391
изображение.png 92Кб, 1920x1040
1920x1040
Аноним 28/03/21 Вск 23:02:50 19800951392
изображение.png 105Кб, 1920x1040
1920x1040
Локализация не работает типа?
Аноним 28/03/21 Вск 23:22:04 19801111393
изображение.png 110Кб, 1920x1080
1920x1080
Не понимаю, в чём проблема. Яндексирование ошибки простого ответа не даёт.
Аноним 28/03/21 Вск 23:30:16 19801151394
>>1980111
Бля, а без отладчика запускается просто в консоли?
Аноним 28/03/21 Вск 23:36:51 19801261395
изображение.png 117Кб, 1920x1080
1920x1080
изображение.png 149Кб, 1920x1080
1920x1080
изображение.png 134Кб, 1920x1080
1920x1080
>>1980115
Что значит без отладчика? Я скачал нормальный VScode и установил то, что на первой картинке, просто попытался запустить код на второй картинке и выбрал сверху .NET Core и получил третью картинку...
Аноним 28/03/21 Вск 23:38:31 19801271396
изображение.png 144Кб, 1920x1080
1920x1080
изображение.png 145Кб, 1920x1080
1920x1080
>>1980115
Затем я возвращаюсь на вторую картинку и снова пробую нажимать F5, так как мне похуй, что там на англюсике на третьей картинке написано, ведь я его не понимаю, и получаю хуй. Да, я языковой нацист.
Аноним 28/03/21 Вск 23:46:28 19801311397
>>1980126
Для такого запуска нужно создать json для билда/отладки.
Когда появлялось "не удалось найти задачу build" нужно было клацнуть настроить задачу. Там автоматом создается дефолтный жсон. Сохраняешь и все будет так билдится.
Но вообще, если у тебя net core cli стоит - просто открой вкладку консоль отладки и пропиши netcore run
Аноним 28/03/21 Вск 23:50:42 19801351398
изображение.png 107Кб, 1920x1080
1920x1080
изображение.png 155Кб, 1920x1080
1920x1080
изображение.png 135Кб, 1920x1080
1920x1080
>>1980131
То, что прекрасно запускается в VS2019 требует танцев с бубнами во всех прочих средах, которые я пробовал. ЗАЩО???!!! Что оно от меня хочет? Сделал всё, как та написал.
Аноним 28/03/21 Вск 23:54:20 19801391399
изображение.png 146Кб, 1920x1040
1920x1040
>>1980131
Кстати, я выбирал после "Настроить задачу" .NET Core. Может, это не то?
Аноним 28/03/21 Вск 23:56:25 19801411400
111.png 88Кб, 1920x1052
1920x1052
222.png 167Кб, 1920x1052
1920x1052
>>1980135>>1980139

ХЗ, я просто создал проект с помощью dotnet new нажал F5 выбрал .netcore и все работает.
Аноним 28/03/21 Вск 23:57:08 19801421401
Аноним 29/03/21 Пнд 00:01:44 19801471402
>>1980142
Во вкладке терминал.
Это создаст тебе новый проект. Список шаблонов есть на сайте MS.
Но вообще, если тебе проще - пользуйся VS обычной.
Аноним 29/03/21 Пнд 00:02:15 19801481403
123123.jpg 31Кб, 577x222
577x222
Аноним 29/03/21 Пнд 00:08:25 19801551404
Аноним 29/03/21 Пнд 00:10:34 19801581405
>>1980147
И да, мне нужно установить среду разработки на C# и на C/C++ на диск D на устройстве, где просто нету места на диске C для чего-то, кроме самой винды и МС офиса, так что VS сразу нет.
Аноним 29/03/21 Пнд 00:11:57 19801611406
Безымянный.png 263Кб, 1866x1890
1866x1890
Вот тут: https://habr.com/ru/post/164705/ чел рассказывает как из шарпа вызвать функцию WinAPI для быстрого рисования bitmap'а.
Для этого делается напрямую из дот.нета вызов функции SetDIBitsToDevice из gdi32.dll.
Это работает намного быстрее стандартного System.Drawing.Graphics.
В функцию SetDIBitsToDevice передаётся как аргумент указатель (IntPtr) на первый пиксель.
Это функция Paint на картинке. Она получает в качестве аргумента _pArray, который запинен через GCHandle в конструкторе класса (и распинивается в финализаторе). И перед каждой отрисовкой вызывается Marshal.Copy(BD.Scan0, _pArray, 0, _width * _height);
Т.е. каждый раз мы копируем данные пикселей из BitmapData BD в запиненный буфер _pArray.
В своём коде (функция Paint2 на картинке) я избавился от этого копирования, которое на 4К очень затратно и снижает FPS. Я сразу передаю BD.Scan0 в SetDIBitsToDevice. И это работает, пока ничего не ломалось. Могут ли быть с этим проблемы?
Ведь по существу GC в любом случае не может двигать в памяти BD.Scan0, т.к. в принципе, то, если возвращаются указатели, то значит они и так запинены или зафиксированы. Поэтому копирование в запиненный буфер не должно быть нужно. Но автор с хибра, явно разбирался в вопросе больше, чем я, тем не менее, делает это. Зачем?
Поясните про этот момент.

Кстати, могу ли я без использования рефлексии получить Scan0 битмапа без LockBits, если мне нужен битмап целиком? Ведь по существу при LockBits опять идёт не нужное копирование в памяти. Я конечно мог бы вообще не использовать дотнетовскую обёртку битмап, и рисовать через SetDIBitsToDevice пиксельные данные из обычного массива. Но мне нужно писать текст на битмапе, а для этого мне всё же нужен System.Drawing.Graphics. Разбираться с нативными функциями винды для этого смысла нет, т.к. Graphics делает это быстро.
Аноним 29/03/21 Пнд 00:17:53 19801721407
изображение.png 158Кб, 1920x1040
1920x1040
Как запустить в нормальной командной строке, а не в этом дурацком терминале?
Аноним 29/03/21 Пнд 00:22:23 19801771408
>>1980172
Открой папку в которой твой проект в командной строке и пиши:
dotnet run
Аноним 29/03/21 Пнд 00:25:59 19801781409
изображение.png 107Кб, 1920x1040
1920x1040
>>1980177
Результат тот же. Я хочу консоль как на второй картинке, я категорически не приемлю вид как на первой. И хотелось бы кнопки для создания проектов, чтобы в консоль ничего не вводить и не держать в голове в хуй не упёршиеся команды, я же не линуксоид дрочить списочки команд или в голове всякий мусор держать.
Аноним 29/03/21 Пнд 00:26:25 19801791410
изображение.png 107Кб, 1920x1080
1920x1080
Аноним 29/03/21 Пнд 00:26:51 19801811411
>>1980178
Да подумаешь, 2 команды ввучить это дело 2 минут.
Аноним 29/03/21 Пнд 00:27:28 19801821412
>>1980181
Я не буду держать их ц себя в голове, я лучше кнопку один раз нажму и всё.
Аноним 29/03/21 Пнд 00:31:44 19801881413
>>1980182
Ну типа, в программировании нужно постоянно кучу всего учить, и запомнить пару команд на фоне остального не выглядит чем-то таким, для чего тебе прям стараться придется, чтобы запомнить.
Аноним 29/03/21 Пнд 00:36:15 19801921414
>>1980188
Это другое, дебильные команды вместо нормальных кнопок и команды-слова в языке программирования не одно и то же. И как всё же запускатть программы в VS code с выводом в обычный cmd? Пока оно всё в отдельном окне, VS останется для меня единственным вариантом.
Аноним 29/03/21 Пнд 00:36:43 19801931415
>>1980192
>пока оно всё в одном окне
Самоисправил.
Аноним 29/03/21 Пнд 09:44:54 19802791416
>>1978904
Расскажу вам про шарп vs джава. У меня был большой проект, которым занимался не много не мало, а 6 лет - трейдинговая платформа в одном инвест банке. Серверная часть, как водится в банках, на джаве, гуй - WPF. Общались они по своему in house developed протоколу. Сам я на проект пришел когда он только только начинался на позицию простого сеньора. Потом года через 3 оказался на позиции product owner-а и отвечал за архитектуру гуёвой части. Так вот: в плюсы джаве можно записать очень хорошо настраиваемый рантайм (важно в плане перформанса), серверный дебаг и инструменты удаленного профайлинга. С дотнетом местами приходилось изобретать велосипеды / покупать всякие dotMemory / dotTrace за отдельные деньги. У джавы это все искаропки. В минусы джавы можно смело писать ненастоящие дженерики, которые теряют информацию о типах-параметрах в рантайме, в которых нельзя хранить примитивные типы. Stream API не дотягивает до LINQ. Короче когда работаешь с кодом постоянно возникает ощущение, что джава намного более отстала по времени, чем шарп. Собственно в dotnetcore MS и пытаются прижать хвост джаве и в сфере серверной разработки.
Аноним 29/03/21 Пнд 10:33:58 19802951417
такой вопрос, есть ли у майков бекдоры к например дотнету? например вот создал я какую-то систему аунтефикации а они добавили какой-то магический ключ к гету и контроллер вернул ему данные без проверки? я просто уверен что есть но не понимаю как это может работать,
например есть два ретурна зависимо от того как проходит атентификация один возвращает какой-то мусор типа страницы для домохозяек а другой страницу где хентай с лолями, они будут использовать какой-то краулер на запросы которого дотнет будет всегда отвечать положительно?

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

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

если кто знает страницы где подобные вещи разжёваны буду очень благодарен, можно и даркнет, было отлично если в даркнете, буду благодарен в двойне
Аноним 29/03/21 Пнд 10:35:57 19802961418
>>1978904
А в джаве есть бекдоры и анальные зонды? кому он принадлежит?
Аноним 29/03/21 Пнд 19:52:55 19807231419
>>1980295
Сорсы открыты. Садись - смотри, если так уверен.
Аноним 29/03/21 Пнд 20:51:44 19807751420
>>1980279
>ненастоящие дженерики, которые теряют информацию о типах-параметрах в рантайме
я как же вы их хуевертили, что они отпадали? Через 100 мапперов?
>Stream API
Теже яйца, только в профиль. Могу поспорить, что все равно писали на нативном Sql запросы
Тем не менее, не будет утечек, как это обычно случается с C#, unsafe код - выстрел в ногу
Мелкософт жидко серанули, что сделали опенсоурс так поздно, да и кроссплатформенность из жадности не вводили. А так могли бы уже выйти на уровень с Java.
Так или иначе - рынок покрыт, специалисты есть, постоянные свитчи туда-обратно. Не знаю, что должны мелкософт сделать, чтобы вытеснить Java с рынка. А по сабжу, коньюнктура теряется только из за переката в Kotlin - за ним будущее. Да и альтернатив много нарисовалось, Go/rust/node, тот же ror, immortal пыха.
Устраивать холивары безмысленно, достаточно смотреть на спрос и понимать, что сейчас в тренде
>>1980296
только фронтдоры, из подветренной только мелкософты заходят
Аноним 29/03/21 Пнд 20:52:56 19807791421
>>1980775
и кстати да, я бы посмотрел, как запели людители .NET, если бы все нормисы поголовно не юзали Шindows. У меня все.
Аноним 29/03/21 Пнд 22:35:49 19809211422
>>1980775
>как же вы их хуевертили, что они отпадали? Через 100 мапперов?
Хочешь сказать, что type erasure для 2021 года это нормально? Ну ну.
https://docs.oracle.com/javase/tutorial/java/generics/erasure.html

>>1980779
Если бы у бабушки были...

Если по делу, то дотнет справедливо занимает свое место под солнцем и сейчас действительно наблюдается рост именно дотнет бекендных позиций на фоне общего спада числа дотнет вакансий из-за всеобщего ухода с WinForms / WPF на веб.
Аноним 29/03/21 Пнд 22:50:54 19809291423
>>1980775

Да, про стримы забыл.

>Stream API Теже яйца, только в профиль. Могу поспорить, что все равно писали на нативном Sql запросы
Дядя, о каком SQL речь ведёшь? Я про in memory операции с данными вообще-то. Если детально, то проблема в том, что в джаве нет extension methods на которых, собственно и сделан LINQ. Из-за этого некоторые вещи сделаны неочевидно. Сравни:

c#: .ToList()
java: .collect(toList());

Вроде бы одинаково, но уже не так очевидно. Ну и code completion тут не особо поможет.

>unsafe код - выстрел в ногу
Вот не поверишь, ни разу в продакшене unsafe не использовал. Впрочем было один раз в рамках одного proof of concept, но потом этот модуль откололся в соседний проект и был на плюсах переписан.

>Устраивать холивары безмысленно, достаточно смотреть на спрос и понимать, что сейчас в тренде
Вот тут согласен. Позиций на джаве намного больше, по деньгам - на позиция лидов тоже самое. На позициях типа простого сеньора - джавистам чуть-чуть больше у нас дают. Лично я на джаве писать не люблю, хоть и умею. Тот же спринг рулит, да и вообще AOP на шарпе так и не прижилось. Все от проекета зависит, где какой инструмент лучше подойдет.
Аноним 29/03/21 Пнд 22:59:27 19809371424
Каковы шансы что меня возьмут на веб-бэкэнд .NET, без коммерческого опыта работы, если я подтяну знания хотя бы до уровня мидла?
Что желтельно знать?
Кроме очевидного ASP.NET Core, JS, какой-то фронтенд фреймворк.
Сам последние 5 лет работал десктоп разрабом.
Насколько этот опыт имеет значение?
Аноним 29/03/21 Пнд 23:15:59 19809501425
>>1980937
Бэкенд - это сразу базовый SQL, EntityFramework или еще какие-то ORM. Обязательно надо знать что из себя представляет SSL, да и сертификаты вообще. Докер надо знать. На хитрые вопросы по гиту отвечать.
Аноним 29/03/21 Пнд 23:27:27 19809641426
>>1980950
> На хитрые вопросы по гиту отвечать.

Можно пример
А то я сам работаю с гитом через студию и ничего кроме создания веток, мерджа веток, пуша, пулла, коммита, стейджа и очень редко чери пика не приходилось исползовать
До этого довольно долго работал вообще через свн.
Аноним 29/03/21 Пнд 23:39:19 19809741427
>>1980950
> Бэкенд - это сразу базовый SQL,
Насколько базовый?
Аноним 30/03/21 Втр 00:02:07 19809901428
Аноним 30/03/21 Втр 00:33:39 19810141429
>>1980921
>erasure
хотели сахарка? Хавайте
>занимает свое место под солнцем
Где то рядом с крестами и пыхой по спросу. До Java, как до луны
>>1980929
>нет extension method
да, это солидный козырь в рукаве, хз почему они еще не запилили в джавку
>Лично я на джаве писать не люблю
каждому свое, но хотелка не всегда кормит желудок. Вот TS я думаю взлетит, хотя типизация все еще слабая, как для компилируемого языка. И будут все .NET-тчики фулстека. Скоро завезут какой ни будь мелкософтовский деплоймент контейнер и будете мастер на все руки. Сам себе фронт, сам себе бэк, опа -архитектуру под БД выкатил, опа - деплой по пайплайну пошел.
.NET dev - Человек аркестр
>>1980937
>Сам последние 5 лет работал десктоп разрабом
Ты сразу на мидла хочешь прыгнуть? Если да, то учи Core, response-required pipeline, middleware и как я писал выше - смотри в сторону TS
Аноним 30/03/21 Втр 03:06:32 19810521430
Анон, дай код как выключить DPI масштаб в программе. В .core net
Аноним 30/03/21 Втр 05:30:26 19810651431
image.png 82Кб, 496x321
496x321
Что такое .Dump() и вообще зачем это?
Аноним 30/03/21 Втр 06:20:18 19810661432
>>1981065
Какой-то метод расширения. С тупым неговорящим названием.
Аноним 30/03/21 Втр 09:06:06 19810911433
>>1980723
>>1980775
Ну зашел я такой посмотреть что например в system.io написано, а там нихрена, какого хуя?
Аноним 30/03/21 Втр 09:36:56 19811021434
Wpf, можно ли как-то вернуть какое-то значение после закрытия окна кроме как статик костыля в изначально вызывающем окне?
Аноним 30/03/21 Втр 10:30:56 19811221435
>>1981102
Соорудить свой локал сторедж на диске или в базе
Хранить данные там по признаку
Считывать эти данные на открытии окна
Аноним 30/03/21 Втр 12:17:29 19812051436
image.png 37Кб, 1067x323
1067x323
image.png 34Кб, 1057x238
1057x238
Райдер постоянно предлагает if'ки инвертировать. Это же портит читаемость кода? На скринах первый вариант же лучше?
Аноним 30/03/21 Втр 12:27:35 19812131437
>>1981205
Это у тебя блок кода в ифе маленький, а теперь представь если у тебя в ифе было бы 50 строк
Явно выйти одной строкой из метода лучше выглядит.
И следующие 50 строк будут на уровне основного кода в методе, а не вложены в иф.
Аноним 30/03/21 Втр 12:57:37 19812331438
Читаю тут печатную книжку по шарпу
>instead of assigning access rights to launch a nuclear strike to Donald Trump (a
user), you would assign access rights to launch a nuclear strike to the President of the United States (a role) and then add Donald Trump as the sole member of that role. Then, in January 2021, you do not need to change any access rights for the POTUS role, you can just replace the
Donald Trump user with the Joe Biden user. Or not. ;-)
Аноним 30/03/21 Втр 13:21:06 19812561439
Аноним 30/03/21 Втр 18:59:01 19816341440
>>1981122
Это еще больший костыль чем статик.
Аноним 30/03/21 Втр 20:15:24 19818181441
>>1981634
А что еще остается чтобы восстановить состояние интерфейса после перезапуска программы?
Например у грида есть возможность показывать/скрывать колонки, после перезапуска программы в гриде должны быть те же колонки включены как и в последний раз.
Остается только хранить его где-то в каком-то виде.
А значение статика пропадет после перезапуска.
Аноним 30/03/21 Втр 23:15:08 19820011442
Сап, подскажите, при sql запросе
select UserDomainName from dbo.[User]
выдается вся моя таблица, состоящая из UserDomainName.

Но при
select UserDomainMain from dbo.[User]
where UserDomainMain = 'Vasiliy.Pupkin' или даже 'V%'

выдается таблица без значений, Почему такое может быть?
(Vasiliy.Pupkin в таблице есть офк)
(алсо БД не моя и когда я копирую из нее значение Vasiliy.Pupkin в конце появляется два пробела, мб это как-то влияет? (но почему % тогда не работает непонятно)
Ссылочные типы Аноним 30/03/21 Втр 23:49:46 19820231443
Я начал изучать ссылочные ссылочные типы, и попытался протестировать это сам. Написал код, который работает не так, как я думал:

public int x;

static void Main()

{

Program test1 = new Program();

test1.x = 3;

Console.WriteLine(test1.x);

Program test2 = new Program();

test2.x = 5;

Console.WriteLine(test1.x);

Console.ReadKey();

//Output: 3 3

}

Я ожидал увидеть в выводе "3 5", так как test2.x ссылается на ячейку в памяти, уже занятую test1.x.

"x" ведь представляет ссылочный тип, значит, если поменяется значение у какого-то объекта, то у всех объектов оно должно поменяться, разве не так?
Аноним 30/03/21 Втр 23:58:39 19820321444
>>1982023
Нет, x это int
Int это тип значение, а не ссылочный тип
Но так как поле x является членом класса Program, то его значение находится в куче по тому же адресу где находится объект test 1 или объект test2.
Заметь я говорю именно значение, если бы у тебя полем класса был другой ссылочный тип, то это было уже другая ссылка, которая указывает на другое место в памяти.
И в твоем примере ты вообще меняшь значение разных экземпляров класса типа Program, поэтому такой и результат.
Аноним 31/03/21 Срд 00:01:08 19820401445
>>1982023
> Program test1 = new Program();
Создаем новый объект типа програм, записываем адрес в переменную тест1

> Program test2 = new Program();
Создаем новый объект типа програм, записываем адрес в переменную тест2

тест1 и тест2 ссылаются на разные объекты.

Чтобы правильно затестить сделай так:

Program test1 = new Program();
test1.x = 1;
Program test2 = test1; //тупа копируем адрес, значит и тест1 и тест2 будут ссылаться на один и тот же объект
test2.x = 2;

Console.WriteLine($"{test1.x} {test2.x}")
Аноним 31/03/21 Срд 00:08:43 19820501446
>>1982001
Попробуй

select UserDomainMain from dbo.[User]
where UserDomainMain like 'V%'
Аноним 31/03/21 Срд 00:24:02 19820641447
Аноним 31/03/21 Срд 01:15:05 19820901448
image.png 57Кб, 734x570
734x570
сап, такой вопрос еще, я решил уменьшить код, поудалял кучу всякого, я думал что ненужного. Но теперь при отладке почему то программа перестала заходить методы моего web api и просто мгновенно выполняется и все, и через постман доступ также пропал, при этом в консоль корректный результат работы web api выводится, так что я вообще не понимаю в чем проблема
Аноним 31/03/21 Срд 04:50:30 19821321449
Я кажется в конец отупел. Помогите найти решение.
В общем. Задача.
Дано. Некое множество чисел(допустим дни недели). Дана упорядаченная последовательность этих вот чисел(допустим понедельник, вторник, пятница, суббота, воскресенье). Нужно - вычислить количество дней от произвольного элемента последовательности, которое необходимо прибавить чтобы получить произвольный элемент этой же последовательности.
Ну, чтоб было понятно, вот есть дни недели, 1 2 3 4 5 6 7, допустим у меня есть последоваетнльность 1,2,5,6,7. Допустим я хочу найти расстояние от 2(вторник) до 5(пятница). Все просто. Я посчитаю разницу. Но вот я нахожусь в 7(воскресенье), мне нужно найти количество дней до понедельника(один) и я не понимаю как это без ветвления сделать. Т.е. с ветвлением-то я прото поняв что разница отрицательна - добавл 7 и получу как раз 1. А вот как сделать решение в котором бы не нужно было бы использовать ветвление?
Программирование отупляет. Я в коде это тупо циклом сделал и меня это триггерит.
Я поясню зачем оно надо. Вот я хочу сделать расписание запуска каких-то задач на сервере, допустим - каждое воскресенье или каждый первый день месяца - нужно составить какой-то сводный отчет и промежуточный данные за неделю/месяц в нем посчитать и почистить. Вот. Я сделал структурку для работы по расписанию в формате cron, у расписания есть метка времени когда последний раз оно запускалось. Ну, и вот допустим, если я решу составить расписание вида: каждое воскресенье, которое является первым января - я буду проходить по циклу много шагов(больше чем оно заслуживает), чтобы поставить метку времени следующего ожидаемого запуска. Это не так критично на самом деле, но просто блин, я чувствую себя тупым из-за того что вот так вот хуячу, вместо того чтобы красивенько посчитать число месяцев, дней,часов, минут относительно прошлого запуска, которые необходимо добавить чтобы оказаться в следующей точке.
Аноним 31/03/21 Срд 06:11:54 19821461450
>>1981818
Да не перезапуска программы, а окна условных настроек которое вызывается как ShowDialog().
Аноним 31/03/21 Срд 06:21:48 19821491451
>>1982146
Тебе в любом случае в определенный момент придется хранить где-то настройки.
Лучше сделать это как человек и сразу использовать одно решение для всего. Это будет либо JSON-файл, либо какой-нибудь SQLite.
Если тебе именно статика не нравится. Делай свои класс Options, которые будут прокидываться к нужному окну. Чтобы менеджить их - синглтон OptionManager из которого нужную опцию можно получить либо явно запросив либо по событию OptionChanged<TOption>. Но это все сложнее и требует больше кода, чем просто взять и в нужном месте дергнуть контекст SQLite и считать.
Аноним 31/03/21 Срд 09:34:15 19821881452
>>1982090
Debug/Options/General/Just My Code не стоит флажок, часом?
Аноним 31/03/21 Срд 09:42:43 19821961453
Аноним 31/03/21 Срд 12:00:15 19822861454
>>1982149
Спасибо за ответ, тогда уж лучше статик костыль. Я думал можно возвращать значение закрывающегося окна кроме булевого.
Аноним 31/03/21 Срд 12:20:32 19822991455
>>1981102
Подожди, а почему статик? Твое окно наследник Window же. Делаешь на нем просто пропертю с результатом, никакую не статическую. Типа так:

public class Window2 : Window
{
    public MyResultType Foo {get; private set;}
    ...
}


public class Window1 : Window
{
    ...

    private void btnPromptFoo_Click(object sender, RoutedEventArgs e)
    {
        var w = new Window2();
        if (w.ShowDialog())
        {
            var foo = w.Foo;
        }
    }
}
Аноним 31/03/21 Срд 13:06:18 19823341456
>>1910324 (OP)
Поясните, сколько времени понадобится для изучения сабжа если последний раз погроммировал на бейсике в 92 году? Пары месяцев хватит, чтобы написать приложение для коммуникации с вызывной панелью hikvision и используя их SDK?
Аноним 31/03/21 Срд 13:57:27 19823701457
>>1982334
Извиняюсь, а вам сколько лет?
Аноним 31/03/21 Срд 13:57:39 19823711458
>>1982299
> if (w.ShowDialog())
> {
> var foo = w.Foo;
> }
А, нихуя себе, у меня ума не хватило до такого додуматся, я просто делал статик переменную в первом окне и во втором менял ее.
Аноним 31/03/21 Срд 15:39:54 19824421459
>>1982370
45. Не осилю думаешь?
Аноним 31/03/21 Срд 16:41:41 19825121460
Аноним 31/03/21 Срд 17:20:26 19825561461
>>1910324 (OP)
Возмжно ли слелать сайт с базой данных SQLite? Если да, то где найти примеры подобных сайтов?
Аноним 31/03/21 Срд 17:47:37 19825881462
>>1982556
Сделать то можно, но работать то оно хз как будет
Потому что SQLite на записи в базу лочит весь файл базы целиком.
Аноним 31/03/21 Срд 18:03:14 19826081463
>>1982588
Ну если использовать SQLite только для персистенса данных, а так все в памяти держать, то можно. Но тут возникают другие проблемы )) Судя по самому вопросу о возможности использования SQLite на бэкенде, юному падавану лучше посмотреть в сторону каких-то других компактных баз данных.
Аноним 31/03/21 Срд 19:13:27 19826751464
Поясните, зачем нужен [Serializable]?

Можно же и так через Type все поля получить и сохранить, никакой аттрибут тут вообще роли не играет. Или это просто скорее как гарантия другим разработчикам, что если они видят класс, который помечен как [Serializable] - значит его автор гарантирует, что его можно сериализировать/десериализировать и будет все норм работать(ну и все эти форматтеры для большей безопасности не пропустят класс без такой гарантии)?

И еще, нахуя BinaryFormatter сохраняет кучу метаданных? Ну ладно, это может пригодиться, но есть же задачи где это нахуй не нужно, почему нету стандартного класса какого-нибудь DumbFormatter, которы бы тупа сохранял поля без дополнительного мусора? Конечно можно и самому сделать, но странно, что его нету. Вот содержит класс два инта - значит 8 байт на всё, а не 100, как это происходит с бинариформаттером.
Аноним 31/03/21 Срд 19:18:35 19826851465
>>1982675
Как пример
Я работал на проекте в котором мы общались с сервером через .NET Remoting
Так вот если не пометить класс как Serializable объекты этого типа не были доступны по сети и валился эксепшон
А ремотинг с первой верси .NET доступен, как минимум для совместимости нужен
Аноним 31/03/21 Срд 20:41:09 19827701466
image.png 24Кб, 210x320
210x320
>>1982588
>Сделать то можно, но работать то оно хз как будет
>Потому что SQLite на записи в базу лочит весь файл базы целиком.
Бля. А при чтении не лочится? Можно читать через много потоков?
Да-да, я читал что-то подобное, мол можно использовать очередь,
писать данные очереди куда-то в кэш, и читать оттуда,
а потом из кэша сливать данные по принципу стэка FIFO.
Первая запись вошла в кэш, первой и пишется в базу, типа, и так для каждой каждая.
А что если в памяти базу данных развернуть (пикрил)?
Тоже будет лочится целиком, при записи?

>>1982608
Какие базы предлагаешь рассмореть? Из реляционных.
Чтобы были опен-сорц полный.
Именно из-за опенсорцности я смотрю в сторону сиквелайта.
Но это не клиент серверная СУБД.
А клиент-серверные СУБД - хуйня проприетарная, в большинстве своём, ещё и платные.
Видел вроде MariaDB опенсорцная, но я не тыкал её ещё.
Вообще не хотелось бы выносить базу данных на какой-либо сервер. Хотелось бы в виде файла сделать базу, и к нему уже коннектится из приложухи-сервера, на шарпе.
Чтобы читать и писать прямо туда, по мере необходимости,
и чтобы всё можно было на флешке таскать, а не коннектить хуй знает куда, на какой-то ёба-сервер, который может ещё и упасть.
Аноним 31/03/21 Срд 20:44:54 19827751467
>>1982770
>Бля. А при чтении не лочится? Можно читать через много потоко
Одновременное чтение разрешено
Но пишущая транзакция залочит всех читателей пока не закончит свою работу.
Аноним 31/03/21 Срд 20:48:06 19827801468
>>1982770
> А клиент-серверные СУБД - хуйня проприетарная, в большинстве своём, ещё и платные.

Чем какой-то Postgre или MySQL не устраивает?
Я сам с ними не работал, но они бесплатные.

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

Что-то я не понял
А сайт на флешке чтоли тоже будет хоститься?
Аноним 31/03/21 Срд 22:40:20 19828581469
>>1980087
>я чет не понял почему у тебя там разработчик расширения мухаммад какой-то
Извыныс!
Аноним 31/03/21 Срд 22:57:40 19828751470
>>1982770
>Вообще не хотелось бы выносить базу данных на какой-либо сервер. Хотелось бы в виде файла сделать базу, и к нему уже коннектится из приложухи-сервера, на шарпе.

Гугли что такое Docker. Делаешь образ с нормальной базой и твоим приложением и не паришься с деплоями - все в одном контейнере, такое как один раз настроил при разработке.
Аноним 01/04/21 Чтв 13:11:15 19831401471
Анончики, а почему всюду указываются Introduction to C# Programming and Unity? Вне юнити разве сишарп потерял уже свою ценность? А как же бэк?
Аноним 01/04/21 Чтв 15:25:03 19832421472
>>1983140
Всюду это где?

Под юнити, наверное, никто работать не хочет.
В геймдеве в целом зп ниже.
Аноним 01/04/21 Чтв 16:16:41 19832741473
>>1910324 (OP)
В сишарп нету стеков, векторов и прочих структур данных как в СТЛ с++ что ли? Я гуглю а мне либов ыдаёт с++, либо сишарп, но реализацию, а не готовый класс из стандартной билиотеки. Втф
Аноним 01/04/21 Чтв 16:23:46 19832801474
Аноним 01/04/21 Чтв 16:27:36 19832821475
>>1983280
Спасибо. анон. А то я как-то не так гуглил и зациклился.
Аноним 01/04/21 Чтв 18:31:24 19834471476
1617291085195.jpg 357Кб, 1080x1261
1080x1261
>>1983274
> В сишарп нету стеков,
Stack
>векторов
List
>и прочих структур данных как в СТЛ с++ что ли?
Да вроде почти все есть.
>Я гуглю а мне либов ыдаёт с++, либо сишарп, но реализацию, а не готовый класс из стандартной билиотеки. Втф
Пикрил
Аноним 01/04/21 Чтв 19:23:42 19835221477
Где перекат?
Аноним 01/04/21 Чтв 22:39:34 19837001478
Кто делал реализацию интерфейса через контрол браузера, тип бросаешь на форму его и ставишь док-филл? Как нибудь там нажатия кнопок и тд ловить можно?
Аноним 01/04/21 Чтв 22:42:12 19837021479
Какие паттерны у себя на проектах используете? Репозиторий, uof, фабрика и синглтон не в счет. Интересно узнать, что можно свежего накатить
Аноним 01/04/21 Чтв 22:42:51 19837031480
Аноним 01/04/21 Чтв 22:45:42 19837041481
>>1983700
Наверное, не совсем понял вопроса.

Нажатие кнопок внутри страниц, которые отображаются в браузере?
Ну, пишешь свою хтмл страниуцу, джаваскрипт отображаешь это все дело в браузере.
Только учти что за браузер та версия Internet Explorer, которая есть на компе.

>>1983702
Ну какбы патерны используют по мере их необходимости, исходя из конкретной задачи.
А не по приколу, чтобы просто было.
Аноним 01/04/21 Чтв 22:50:32 19837091482
>>1983704
Ловить события страницы и обрабатывать их внутри сишарп приложения
Аноним 01/04/21 Чтв 22:57:48 19837111483
Аноним 01/04/21 Чтв 23:01:57 19837121484
>>1983702
Ничего не использую. Нахуй не надо.
Пришел к мысли, что нужно просто писать чистый процедурный код в функциональном стиле. Все. Код стал декларативным, пропала хуйня с тем что думаешь о том, чтобы прокинуть какую-то зависимость через залупу, все пишется просто, модифицируется легко, а т.к. сейчас - микросервисы которые максимум в 10к строк на сервис выходят еще проще. Еще бы сам .net не был завязан на эти ебучие классы - было бы вообще заебись.
Аноним 02/04/21 Птн 00:21:51 19837691485
>>1983703
Фанат контента для вкатунов, почему я не удивлен?
>>1983704
>Ну какбы
про SOLID что ни будь слышал? Или у тебя на первом спринте в контроллерах DbSet-ы, а потом переписываете на репозитории, когда из щелей копипаст методов лезет, я правильно тебя понял?
>>1983712
откуда ты такое животное тут появилось? С Core 3.0 встроенный DI, а оно все функциональном стиле пишет. Надеюсь одного дня тебя кинут на сапорт такого же говна, которым ты сейчас срешь, чтобы ты понял, какого это писать функциональщиной в ООП языке
Аноним 02/04/21 Птн 00:39:08 19837841486
>>1983769
> я правильно тебя понял?

Наверное, нет
Я имел ввиду буквально, что я написал
Применять патерны просто так, чтобы просто их опробовать, не понимая для каких сценариев они уместны для каких нет.

Аноним 02/04/21 Птн 09:00:37 19838431487
>>1983784
>не понимая для каких сценариев они уместны
ты повторил фразу, которой обычно кормят вкатышей пытающихся абузить GOF где только можно. Ты видимо не работал на проектах и не знаешь, что у каждого архитектора есть свой подход структурирования и стилизации кода. Ты же блять не будешь WPF писать без MVVM? Или razor без MVC? Это тоже паттерны, но их функция так же очевидна, как и репозиторий, UOF или фабрика
Аноним 02/04/21 Птн 09:08:54 19838471488
Я в полнейшем ахуе. Долго сидел на старой студии, генерил edmx модели одной sqlite базы, клал их в разные неймспейсы и всё работало замечательно, а после переезда на 19 студию вскрылось, что даже ПРОСТО дата провайдер sqlite нельзя к ней присобачить без стороннего говна. Хорошо, я поставил стороннее говно, которое работает с ef6 и ВНЕЗАПНО вскрылось, что обоссаный, обосраный, никчёмный блядский ef6 по какой-то ЕБАНУТОЙ уёбищной причине не позволяет иметь поля с одним именем В РАЗНЫХ, сука, неймспейсах. Это просто охуеть, это за гранью моего понимания. Какое твоё, блять, собачье дело до того, что у меня В ДРУГИХ неймспейсах лежит, сука? Хули ты доебался, пидор? И самое главное, я так и не смог найти нормального решения для этой проблемы. Сталкивался кто с таким?
Аноним 02/04/21 Птн 09:38:59 19838581489
>>1983847
Под разные базы нужно иметь разные контексты
Аноним 02/04/21 Птн 09:58:49 19838651490
>>1983858
Блэт, базы может немного и отличаются друг от друга, но поля у них должны называться одинаково
Аноним 02/04/21 Птн 10:16:25 19838761491
image.png 116Кб, 194x259
194x259
>>1983865
Да пусть называются одинаково, отдельный контекст создай, ентити воспринимает все имена в одном контексте как в один неймспейс, а вот если тебе надо что бы ентити работал с двуяма базами в одном контексте с двумя базами с одинаковыми названиями тогда ты в жопке
Аноним 02/04/21 Птн 10:18:46 19838771492
Ебал в рот я ваш ef. Там дохуя проблем, хвала аллаху они обходятся хоть уебищными, но костылями

Вот например. Когда достаешь из MySQL (и в помело, и в оракле, одна хуйня!!) модель объекта, внутри которого должна быть модель другого объекта тебя фреймворк шлет нахуй и вместо второй модели отдает нулл. Но!!! Если перед этим достать таблицу с такими же объектами и сделать ToList(), эта хуета блядская все таки изволит корректно отдать обе модели. пиздец как бесит, ибо каждый раз доставать по три огромных таблицы, ясен хуй это минус производительность
Аноним 02/04/21 Птн 10:36:59 19838871493
>>1983876
О каком контексте речь идёт? Я не пойму
Аноним 02/04/21 Птн 10:44:56 19838931494
>>1983887
Я помочь хотел, думал ты няша, а ты тут троллить начал..., работает с еф и о каком контексте не знает он, ясно, ясно, запишем запомним
Аноним 02/04/21 Птн 11:09:11 19839151495
>>1983843
> ты повторил фразу, которой обычно кормят вкатышей пытающихся абузить GOF где только можно.

Ну, я говорил скорее всего со вкатышем выше, если это не был ты сам
Ок, чем кормить вкатышей тогда посоветуешь?
Перечислить весь список паттернов и сказать используй ВСЕ
Аноним 02/04/21 Птн 11:14:41 19839221496
Аноним 02/04/21 Птн 11:24:10 19839291497
>>1983922
Это будет ему на пользу, он вкатился в тред с постом в духе
>Я в полнейшем ахуе
>без стороннего говна
>боссаный, обосраный, никчёмный блядский ef6
>Какое твоё, блять, собачье дело
>Хули ты доебался, пидор?

А потом оказывается что он даже документацию не читал и в принципе не понимает как это работает, так что токсик тут не я, искреннее хотел помочь, но понял что с его уровнем понимания его лучше просто послать нахуй отправить читать документацию
Аноним 02/04/21 Птн 11:41:34 19839331498
Аноним 02/04/21 Птн 12:04:06 19839411499
>>1983893
Я понял, что за контекст ты имел ввиду. Они разные для всех моделей, разумеется
Аноним 02/04/21 Птн 14:29:28 19840211500
Есть ли какие-нибудь курсы по ASCII-art на C#?
Аноним 02/04/21 Птн 14:34:24 19840231501
Аноним 02/04/21 Птн 14:49:15 19840281502
Аноним 02/04/21 Птн 16:37:01 19840771503
image.png 65Кб, 946x599
946x599
>>1983941
Бака, ты где-то облажался, я специально проверял, когда создаешь отдельный контекст никакой такой проблемы нет! честно-честно!
один и тот же класс записался и отчитался с 3 разных дб с одинаковым названиями таблиц, поэтому очевидно что ты явно делаешь что-то не так, в любом случае дело в тебе, а не в еф, так что вместо мата и истерики читай документацию
Аноним 02/04/21 Птн 19:14:33 19841811504
>>1984077
Чел, делать то, что делаешь ты, я тоже могу, но вот если пытаться делать linq запрос, например, то вылазит эта ошибка. Я далеко не один такой, сотни людей с похожей проблемой есть, у которых в проектах использовались модели с одинаковым названием таблиц и полей.
Аноним 02/04/21 Птн 19:18:35 19841821505
>>1984181
>System.Data.Entity.Core.MetadataException: "Schema specified is not valid. Errors:
The mapping of CLR type to EDM type is ambiguous because multiple CLR types match the EDM type
И дальше идёт длинный список полей и их копий, которые нашлись
Аноним 02/04/21 Птн 20:41:17 19842571506
image.png 82Кб, 1218x658
1218x658
>>1984181
>>1984182
хз что там у тебя вылезает, у меня все работает, вот добавил специально тебе линк, ищу по одному полю, в одной и той же таблице, и я если честно вообще не понимаю где здесь вообще может быть проблема
Аноним 02/04/21 Птн 20:42:39 19842591507
>>1984257
> в одной и той же таблице
В разных таблицах с одним и тем же названием!
БЫСТРОФИКС
Аноним 02/04/21 Птн 20:44:36 19842611508
>>1984182
>>1984181
ЗАМЕТЬ что я даже не использовал using специально что бы показать что проблем с неймспейсами быть впринципе не может если использовать РАЗНЫЕ контексты
Аноним 02/04/21 Птн 22:12:29 19843581509
анон хелп!
юзаю райдер для разработки на аспнеткоре. К проекту прицеплена куча зависимостей с нугета и огромная wwwdata.
Когда юзаю publish на впс, каждый файлик перезаливается, что делает процесс долгим и нецелесообразным.
Вместо этого просто собираю в релиз и через fz перекидываю dll приложения
Как нибудь можно заставить его не перекидывать все эти лишние файлы? Добавлять исключения пробовал, райдер при публише на них хуй клал.
Аноним 03/04/21 Суб 10:39:59 19846191510
>>1984077
А как ты сделал, чтобы брекеты красным подсвечивались?
Аноним 03/04/21 Суб 10:41:30 19846201511
>>1910324 (OP)
Аноны, а какие есть по сишарп/дотнет конференции или выступления по аналогии с cppCon или c++ userGroup?
Аноним 03/04/21 Суб 10:55:52 19846241512
>>1984619
Они не подсвечиваются, я breakPoint поставил, никогда не дебажил что ли?
Аноним 03/04/21 Суб 11:47:40 19846351513
Аноним 03/04/21 Суб 12:41:48 19846731514
Аноним 03/04/21 Суб 14:20:05 19847461515
Если метод с такой сигнатурой
User FindUser(User user)
Как лучше возвращать результат, если User Not Found?
Аноним 03/04/21 Суб 14:24:07 19847501516

>>1984746

throw new NullReferenceException();
Аноним 03/04/21 Суб 15:02:23 19847751517
>>1984746
throw null

А если серьезно - практика говорит что нужно null возвращать. Просто указываешь в комментариях, что если не найден - null. Так во всех нормальных апи сделано, это чет нынешние смузихлебы обленились, им видите ли сложно проверку на null сделать и вообще они золотые рыбки.
Аноним 03/04/21 Суб 16:10:42 19848601518
>>1984750
и в Middle ware exception filter ловить его?
>>1984775
потом ебаться с Null reference exception в контроллере
Аноним 03/04/21 Суб 16:13:54 19848651519
>>1984860
Не троль тупостью.
if(user is null) return NotFound(); или что у вас там.
Аноним 03/04/21 Суб 16:59:46 19849111520
Сап, программач. Пытаюсь разобраться со странной проверкой в коде:

if (decimal.Compare(new decimal(this.ConvertToInteger(0x2c, 4)), 4M) >= 0)

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

Сами свойства класса перечислены ниже

private byte[] db_bytes;
private ulong encoding;
private string[] field_names;
private sqlite_master_entry[] master_table_entries;
private ushort page_size;
private byte[] SQLDataTypeSize = new byte[] { 0, 1, 2, 3, 4, 6, 8, 8, 0, 0 };
private table_entry[] table_entries;
Аноним 03/04/21 Суб 18:02:31 19849441521
>>1984865
Алло, ты сигнатуру смотрел? Я должен вернуть User
>или что у вас там.
>Не троль тупостью.
нахуй ты отвечаешь на посты, если даже не знаешь базовых конструкций языка?
Аноним 03/04/21 Суб 18:06:28 19849471522
>>1984746
дополню свой пост - я обычно возвращаю new User, но это же блять костыль и для него мне нужна еще одна проверка на Null, не кошерно выглядит. Может кто знает, как это лучше делать?
Аноним 03/04/21 Суб 18:16:21 19849551523
Поясните за ваши классы, методы, ООП и прочую гомосятину? Ведь компилятор один хуй все приводит к процедурному виду. Зачем превозмогать и разжижать себе мозг, если можно просто писать процедурный код и не париться?
Аноним 03/04/21 Суб 18:35:37 19849641524
>>1984955
чтобы ты/коллега через неделю/месяц/год открыл проект и понял, что там написанно. Зачем нужны ангуляры/vue/react/хуяк, если все равно сбилдит все в одну строчку?
Аноним 03/04/21 Суб 18:37:20 19849671525
>>1984955
Ну пиши. А еще можно писать императивный код без процедур. А еще можно писать сразу на ассемблере.
Аноним 03/04/21 Суб 18:48:25 19849691526
>>1984955
Вот у меня есть коллега на работе, который пишет в процендурном стиле, на все вопросы хули он не использует ооп, он говорит что ему так ПРОЩЕ, а я все усложняю, делать классы это пиздец ка СЛОЖНО для него говорит.
В итоге его код это куча методов на 200-500 строк кода с кучей ифов в котором в полной мере разбирается только он.
Зато он незаменим на проекте, вот и польза от процедруного стиля.
Аноним 03/04/21 Суб 18:52:26 19849731527
>>1984944
Еблан совсем? У тебя юзер - ссылка? Ссылка. null - ссылка? Ссылка. Следовательно - null - это такой же юзер. Нигде, блядь, сигнатура не нарушена.
Пиздец ты тупой. Я думал ты троллишь, а вон оно что. Пиздец. Может быть ты и передаваемые аргументы проверять не будешь?

Давай, тебе, еблану, пример приведу. Вот тебе сигнатура:
int GetUserAge(DateTime birth). Вот как ты думаешь, что тут должно произойти, если я передам дату больше чем сегодня. Да, мы получим отрицательное значение. Должны ли мы дальше идти, если получим отрицательное значение в вызывающем коде? Нет, вызываеющий этот метод код - должен проверить и сказать - стопе, хуйня какая-то, нельзя отрицательный возраст иметь, мы это как-то сейчас обработаем. Может быть ты думаешь что будет лучше кидать тут исключение? Да нихуя, это как раз будет неправильно, потому что с точки зрения логики - все верно. Возвращать какое-то специальное значение? Еботека и все равно нужно проверять, потому это нахуй не упало.
Так вот. Возвращая null - все ясно. Это валидное значение. Проверка вида:
User user = null;
if(user == null)
Даст true, если ты не еблан что лезет все переопределять. А значит вернув null - ты вернул валидное значение которое никак, блядь, не противоречит сигнатуре и если клиент кода - еблан и не ждет что ссылка может быть равна null - пусть страдает, потому что он еблан. А если ты - идешь на поводу у таких ебланов, то ты еще больший еблан.
Я все сказал.
Аноним 03/04/21 Суб 19:52:42 19849971528
>>1984973
>world of eblan
ты видимо на грабли NullReferenceException в своей жизни мало наступал, раз думаешь, что возвращать просто null это ок. Но на данный момент я и альтернативы не вижу - вернуть new User - хуета полнейшая, нет никого юзера, выстрелить exception - нахуй нужно, через фильтр не словит, приложение упадет. Поэтому по сути и вариантов больше нет.
Аноним 03/04/21 Суб 20:33:53 19850121529
Сап шарпач, 2 треда назад (летом) проходил собесы в разных компаниях - от помоек до забугорного аутстафа, где не говорят ни слова по рузке. Я уже выкатывал, что у меня спрашивали (может кто помнит - я обсирался на кастах As-Is). Прошел на днях еще один собес, в этот раз успешный (ну как успешный, я отклонил предложение, т.к. не сошлись по деньгам и функционалу). Кому интересно, вот что спрашивали (позиция - Junior FullStack .NET web dev)
1. #:
- Боксинг-анбоксинг, как, зачем, что если апкаст делать из одного типа, а даункаст в другой;
- Enumerable, Querable - отличие, применение
- Паралельное, асинхронное исполнение. I/O bound - что такое, как работает своими словами
- Extenction методы - зачем, как, какие использовал на практике;
- Отложенное выполнение;
- Ранее, позднее связывание;
- Аксессоры, доступность;
- Иерархия типов, почему Valuetype class?
- Что такое Using, foreach, IEnumerable? Разобрать до дочернего уровня;
- Блок Try-Catch, когда, в какой последовательности, какая специфика Exceptions;
- Value, reference types - различие, специфика. Стэк, хип;
- GC - поколения, малая, большая куча, индекс блока синхронизации, процесс выделения, отчистки, эфимерные объекты
- Рефлексия - как, зачем, где?
- Мьютексы и семофоры;
2. ООП
- 4 принципа ООП на одном примере;
- Модификаторы доступа;
- Sealed, abstract, static, struct, class - что общего и какие различия. Полезли в залупу - что же такое static модификатор (смотри ILDasm)
3. Паттерны
Non-GoF: Репозиторий, спецификация, ouf, MVC, MVVM, MVP, какие еще знаю?
GOF: Стратегия, фабрика, синглтон. Что жизненные циклы реквестов в ASP.NET? Различие Scope, transparent, singleton
4. ASP.NET
- Фильтры, атрибуты, контроллеры (а ты знаешь чем отличается BaseController от Controller?)
- Пайплайн прохождения реквеста туда-обратно;
- Зачем нужен scaffolding и что это такое;
- Какие сервисы использовал и зачем (CORS, DI, Swagger и т.д.)
5. EF и Linq
- LazyLoading (proxy реализация, Lazy type реализация), Eager loading;
- Seeds, map, builder;
- Linq методы - около 10 штук спросили, еще затронули тему обобщенных делегатов (предикат, Action/Func)
- Как написать свой LINQ с блекджеком и отложенным выполнением?
6. SQL
- Построение архитектуры;
- Связи - как отразить;
- View, Алиасы, процедуры;
- Различия JOIN-s;
- Индексы, ключи, деревья, бинатный поиск
7. JS, HTML, CSS:
- map, reduce - отличия, преимущества;
- поиск объекта, какие есть способы;
- DOM;
- CSS, SCSS, LESS, SASS - зачем нужны, что такое;
- Селекторы
- Много чего спрашивали - я практически не отвечал на эти вопросы и мало запомнил, т.к. в JS и верстке - я не силен
8. Общие вопросы
- Какие ДБ использовал? А non-relative?
- Какие ORM использовал? ADO/Dapper?
- Клиет на браузере получает ответ от сервера слишком долго. В чем причина? Как определить?

Вроде все, может что то забыл, т.к. мурыжили долго. По # я +- нормально отвечал, под конец с версткой, sql и ОРМ я уже поплыл, т.к. вопросы шли один за одним и без времени на подумать.
Итог - таки дали офер, но на испыталку и с ЗП $250. Я конечно же отверг, т.к. деньги смешные, а судя по тому, чем я буду заниматся - это легаси, еще и фул стэк с версткой.
Честно говоря, окончательно потерял мотивацию дальше заниматься C#, т.к. требования растут с каждым днем, нормальные компании не берут джунов, а в средних и помойках - хотят джуна за мидла продавать. Год назад я мог с базовыми знаения синтаксиса вкатиться в RoR, но подумал, что язык не востребованный. Такие дела, товарисчи.
Аноним 03/04/21 Суб 21:03:42 19850491530
Аноним 03/04/21 Суб 21:04:19 19850501531
1111.png 27Кб, 579x808
579x808
222222.png 37Кб, 615x582
615x582
33333.png 6Кб, 376x134
376x134
4444.png 8Кб, 507x165
507x165
>>1984997

Ну да ладно. Ты можешь поменять сигнатуру. В чем сложность-то? Что-то типа первых двух прикриплейдов. И на null свой не напоришься и всем понятно более-менее.
Если тебе принципиально чтобы не нулл был и так же сигнатура - делаешь примерно как на последних 2 прикриплейдах.

Я бы все равно null возвращал, потому что это и меньше кода и никому вникать не нужно. и знать про то что есть какой-то там EmptyUser. Конечно, проверку на EmptyUser можно впихнуть в твой класс User, но это такое себе.
Аноним 03/04/21 Суб 21:08:14 19850561532
>>1985012
Нихуя себе
Меня на первую работу взяли с зп в 400$
Задали в целом вопроса 3
Но у меня был диплом по специальности, возможно меня поэтому не пытали так сильно, хрен знает.
Аноним 03/04/21 Суб 21:25:34 19850671533
>>1985012
Ты на какую-то ебанутую контору наткнулся. Серьезно.
Я тебе опишу как у меня собес проходил:
- Привет. А ты точно программист, не похож чет)))
- ^___^
- Короче, вот смотри, код. Что он сделает.
- Вот что.
- Хм да)))
- )))
- А ты знаешь что такое список?
- Знаю. Как массив, только нефиксированного размера
- )))
- А дай посмотреть гитхаб
- Там лабы одни, ну да ладно, смотрите
- Хм, ты мы смотрим 500$ просишь. Это нам подходит
- Ну ок, вы ведь повысите потом?
- У нас повышение через полгода работы)))
- Ну ладно, пойдет, когда выходить?
- Со следующей недели, вот список бумаг что нужно принести в отдел кадров и бухгалтерию

И так примерно все проходили, что на джуна, что потом на мидла. И это было-то всего 2,5 года назад. Ну, где-то спрашивал: С EF работал? Или - а не боишься чужого кода? А в остальном - не пытались какой-то там экзамен устроить. Ну, т.е. да, я бы ответил на это все, но только само отношение же довольно неприятное. Есть гитхаб, можете дать тестовое, а эти экзамены я в вузе напроходил.
Аноним 03/04/21 Суб 21:36:55 19850831534
>>1985049
>>1985050
спасибо за ответ.
>>1985050
реализация не плохая, но абузить лишним функционалом не хочу, т.к. уже путаюсь в 5 уровнях абстракций. Буду Null дропать, главное проверку на Null не забывать делать. Ну и в фильтр пайплайна запихну проверку
Аноним 03/04/21 Суб 22:44:03 19851371535
>>1985067
такого формата уже 3ий собес у меня. Первый был по телефону, когда интервьер был Джун Фронтендер (потом нашел его на Linkedin) - читал вопросы с листика и ждал ответов, которые написанны рядом с вопросом. Зато по Jquery мурыжил, хотя я изначально предупредил, что мои познания во фронте - это Material ui компоненты, которые подключаю к проекту. Знакомый пыхер начал учить позже меня и уже мидл. Зато я почитал паблички в ВК, где писали, что пыха умирающий язык.
Аноним 03/04/21 Суб 22:53:55 19851401536
>>1984860
Ты даун? Сам же спросил что лучше возвращать в случае такой сигнатуры, я отвечаю, в случае ТАКОЙ СИГНАТУРЫ нужно возвращать исключение, а то где ловить и как ловить это уже не твое дело, нормальный программист когда увидит название, поймет что нулл в этом методе возвращаться НЕ ДОЛЖЕН и если твой метод какого то хуй возвращает нулл то это исключительный случай и ты должен дать об этом знать, если хочешь делать метод который МОЖЕТ возвращать нулл и ты хочешь что бы другой программист это понимал что он МОЖЕТ получить нул метод должен называться "TryFind" это все описано в литературе
Аноним 03/04/21 Суб 22:58:23 19851431537
>>1985083
блять, ну и пиздец, какое же новое поколение программеров дегенеративное пиздец, нул он будет дропать, вместо двача литературу бы почитал
Аноним 03/04/21 Суб 23:12:50 19851561538
>>1985140
Советчик хуев, ты посмотри сначала на стандартную библиотеку. До появления Nullable reference types какой-нибудь List<T>.Find - возвращал нулл если в списке не было значения и сигнатура была: T Find(Predicate<T>). Он не кидал исключение или что-то еще.
И вообще, с какого хуя-то не нахождение элемента где-то - исключительная ситуация-то? Это вполне штатная и обвешивать это дело try-catch'ами - долбоебизм. С какого хуя-то пользователь должен получать проседания производительности из-за того что еблан не прочитал комментарий и заставляет нормального человека вместо null - кидать исключение? Охуеть, блядь. С твоей логикой - пользователь ввел неправильное значение - мы вместо того чтобы сделать валидацию - и не выполняться дальше пока не введет корректно - будем хуячить try-catch. Охуенно придумал. Метод же должен принять цифру, пользователь ввел не цифру - ИСКЛЮЧИТЕЛЬНАЯ СИТУАЦИЯ, АЛЯРМ, ПИЗДЕЦ.
Исключительная ситуация - это база упала, клиент на другой стороне разорвал соединение, ОС заблокировала файл и ты не можешь писать в него, ненахождение элемента в коллекции или БД - это ожидаемое поведение.
Я вангую, ты как раз из тех ебланов, что из цикла выходят кидая эксепшн, хули, блядь, исклюичительная ситуация, я сделал больше итераций, чем ожидал, и похуй что этот цикл выполняется 900 раз в секунду и каждый перехват исключения - дорогая операция и просто выходи ты нормально, пользоваль бы не страдал, а ресурсы железа использовались бы нормально.
Аноним 03/04/21 Суб 23:45:19 19851901539
>>1985156
>До появления Nullable reference types какой-нибудь List<T>.Find - возвращал нулл если в списке не было значения и сигнатура была: T Find(Predicate<T>).
а до появления ООП весь код вообще в одной куче мешаляся, реально почему перестали ? Может потому что подход к программированию изменился? может потому что совеременные проекты стали большими сложными и легкость в обслуживании сейчас мета? Может потому что так тупо удобнее?

>С твоей логикой - пользователь ввел неправильное значение - мы вместо того чтобы сделать валидацию
чего?

>Исключительная ситуация - это база упала, клиент на другой стороне разорвал соединение, ОС заблокировала файл и ты не можешь писать в него, ненахождение элемента в коллекции или БД - это ожидаемое поведение.
Ты так сказал? Исключительность ситуации зависит от контекста, определяется по потребности!

>Я вангую, ты как раз из тех ебланов, что из цикла выходят кидая эксепшн, хули, блядь, исклюичительная ситуация, я сделал больше итераций, чем ожидал, и похуй что этот цикл выполняется 900 раз в секунду и каждый перехват исключения - дорогая операция и просто выходи ты нормально, пользоваль бы не страдал, а ресурсы железа использовались бы нормально.
Доношу до твоего ведома что попытка поймать исключение нужна именно что бы такой хуйни не происходило, что бы не было так что цикл работает 100500 раз и после прогона все идет в пизду потому что в самом начале прогона мы получили данные которые не ожидали, но не остановили цикл и он в холстую отрабатывал что бы поток упал вконце, или что еще хуже. Что бы поток упал в какой-то важной части программы которая полностью ее ложит, именно поэтому важно ловить исключения сразу, кроме того такой подход упрощает дебаг и обслуживание, потому что если продолжать программу при исключениях и они будут вылезать где нибудь потом в другом месте и в другом контексте можно ебнуться пока ищешь в чем проблема
Аноним 04/04/21 Вск 00:50:59 19852451540
>>1985143
давай линк лучше, где пишут, что нужно дропать exception
>>1985156
>>1985190
Есть два стула - на одном Null точенные, на другом NullReferenceException дроченые. Куда сам сядешь, куда коллегу посадишь?
Аноним 04/04/21 Вск 02:02:21 19852861541
>>1985012
Ну и лалка ты. Я за 650 устроился в контору с кучей микросервисов, фшарпом, хайлоадом, cqrs и без фронтенда. Спрашивали только голый шарп, опыта работы никакого не требовали.
Аноним 04/04/21 Вск 07:57:39 19853661542
>>1985286
> Я за 650
Я что-то не понял, а где зарплаты по 300000000кк/сек у программистов? Я за вахту 15/15 получаю 1500, нахуя вы геморрой зарабатываете за 650? Лел.
Аноним 04/04/21 Вск 10:40:30 19854371543
>>1985366
Потому что объективно это проще, есть перспективы, а главное - многим таки нравится кодить.
Аноним 04/04/21 Вск 10:50:14 19854421544
>>1985366
Ну это моя первая работа, сижу дома на удаленке паралельно с универом который тоже на удаленке и получаю выше средней зп по городу.
А вахта 15/15 это когда на 15 дней куда-то пиздуешь? Ну пиздос, завидовать нечему. Года через два, при выпуске с универа, буду так же удаленно 1500 зарабатывать.
Аноним 04/04/21 Вск 10:57:07 19854431545
>>1985442
>буду так же
Не так же. Ты будешь красноглазить 16/7/365, а я, отработав 5 дней, буду две недели отдыхать и саморазвиваться, изучая, к примеру, С#
Аноним 04/04/21 Вск 10:57:41 19854441546
>>1985443
*15 дней

мгновенный самофикс
Аноним 04/04/21 Вск 13:07:01 19855531547
Сап, помогите пжалст, каким образом я могу получить коллекцию string из listbox(WPF). Допустим там лежит у меня 4 строки {"A", "B", "C", "D"}, каким образом я могу получить именно "A", "B", "C", "D", а не тип данных, вроде listboxitem?
Аноним 04/04/21 Вск 13:29:39 19855851548
Аноним 04/04/21 Вск 15:42:26 19857201549
1.png 10Кб, 502x280
502x280
>>1985553
Что-то типа такого.
Аноним 04/04/21 Вск 15:52:28 19857351550
>>1985720
Понравился способ, креативно, спасибо
Аноним 04/04/21 Вск 15:55:11 19857401551
>>1985735
>3 блока IF в методе
>креативно
Говна въебал?
Аноним 04/04/21 Вск 15:58:23 19857491552
>>1985740
че негативный такой?
Аноним 04/04/21 Вск 16:07:21 19857721553
>>1985740
Ну блин, а как по твоему при условии что ItemCollection - хранит тупо object и ListItem в свойстве контент - хранит object - доставать предложишь?
Ты не сможешь без еботеки там линку использовать. Без if is ты не можешь быть уверен что тебе что-то другое не подсунули. Это довольно простой способ, при этом он понятный. Конечно можно эти два if объединить в один, то тогда читаемость, на мой взгляд, просядет.
Это конечно не идеальный способ, потому что т.к. там контент - это может быть и какой-то более сложный объект, например другой контролл, но уже приведя к IEnumerable<T> можно дальше линку юзать и достать что тебе нужно.
Аноним 04/04/21 Вск 16:13:47 19857831554
>>1985772
>как
as/is, pattern matching, делегируй по зонам ответственности
Аноним 04/04/21 Вск 16:13:54 19857841555
>>1985740
А сколько ифов в методе должно быть чтобы было заебок?
Аноним 04/04/21 Вск 16:24:02 19858031556
Аноним 04/04/21 Вск 16:32:03 19858081557
1.png 6Кб, 519x219
519x219
Аноним 04/04/21 Вск 16:32:33 19858091558
Аноним 05/04/21 Пнд 02:32:46 19862601559
>>1985553
Так пусть там не лежит
Пусть лежит в обычном списке и прибиндено


Зы: да перекатите тред епрст. С мобилы адово сидеть
Аноним 05/04/21 Пнд 09:17:52 19862991560
>>1985012
Третий год работаю фуллстеком и не смог бы ответить и на 20% этих вопросов без предварительной подготовки.
Аноним 05/04/21 Пнд 10:03:08 19863081561
Сап шарп, можно ли как-то в впфе закрыть showdialog окно при нажатии курсором за пределами окна? Я пробовал OnDeactivated, но оно очевидно не работает. Пробовал еще сравнивать через Control.MousePosition, тоже нихуя (showdialog окно считается как fullscreen?).
Аноним 05/04/21 Пнд 10:51:45 19863261562
> Зы: да перекатите тред епрст. С мобилы адово сидеть

Не создавайте, мобило-зумеры должны страдать.
Аноним 05/04/21 Пнд 11:15:41 19863431563
>>1986299
Третий год работаю бэком, и могу сказать, что половина гребцов отсюда половину слов не знает, про вторую слышали.

Я вообще всегда охуевал от сложностей собесов, ты там и деревья покрути и расскажи как .NET внутри устроен и подрочи троим сразу, а потом будешь дальше джейсоны перекладывать.
Аноним 05/04/21 Пнд 11:21:40 19863541564
>>1986343
Коллега, которого считали самым безалаберным и слабым программистом, который бы не прошел ни одно собеседование, посмотрел на Udemy курс за 20 баксов и сварганил на коленке проект и ему уже капают с него деньги. Да, он не знает разницу между классом и структурой, никогда не пользовался абстрактными классами, методами расширения и не ебет что такое апкаст, боксинги.
Аноним 05/04/21 Пнд 18:14:30 19868451565
>>1986326
Да да
Пусть тред будет в жопе списка
Аноним 05/04/21 Пнд 18:46:49 19869161566
>>1986845
Илитно же.
Тем более в самом верху прикрепленный тред со ссылкой на этот тред.
Аноним 05/04/21 Пнд 20:30:11 19871211567
Аноним 05/04/21 Пнд 21:43:03 19871991568
>>1986299
>>1986343
>>1986354
Самый большой провал в том, что я иду точь в точь по Roadmap изучения .NET - исписал с 10+ проектов от консоли, десктопа на WPF заканчивая 3-4 проектами на веб стэке - ASP.NET MVC5, Core. Потратил на это уже около 3 лет своего времени до/после работы. По итогу - оффер с $250. Я это воспринял, как насмешку. Это по сути минималка блять. Дворник или уборщица столько же зарабатывает. И кстати мне раньше вообще предлогали за бесплатно несколько месяцев поработать, такое ощущение, что они дают золотой билет в жизнь, за что я им должен быть безмерно благодарен.
Я не омежка, обычный нормис, но какие то додики, так плюют в лицо спрашивая за семофоры, мьютексы и реализацию GC. Чего блять? Это же низший уровень абстрации. А про ILDasm зачем спрашивать? Я из за своей упорости уже выдрочил тему сборки мусора и выделения памяти, так что следующего пидараса, который спросит что то про реализацию и процессы GC я так выдрочу, что у него кефир из жопы пойдет. Мне уже похуй на этот C# стэк. Помойка ебаная. Я скорее пыху за месяц выучу и пойду копейку зарабатывать, чем продолжу пытаться устроиться на .NET (еще и футстэк, ага, привет). Единственное жаль - это потерянного времени. На изучение #, на написание петов, на выдрачивания вопросов из quiz, которые на практике не встречаются от слова совсем.
Аноним 05/04/21 Пнд 21:44:10 19872021569
Меня очень тошнит от студии, но на работе лицензию райдера не выдают. Насколько рисковано сидеть на крякнутой версии/студенческой лицензии? Менеджер сказал что если так сделаю, то жидбрейнс все задетектит и моей конторе из-за меня выдадут штраф, это правда или он пугает просто?
Аноним 05/04/21 Пнд 22:03:37 19872181570
>>1987202
Лол
У нас всяк компания сидит на комьюнити студии :D
При этом на офисный пакет майрософт(office 365) деньги не зажали
Аноним 05/04/21 Пнд 22:22:37 19872561571
>>1987199
Жиза, буду иметь ввиду анон, спасибо что отписался сюда
Аноним 05/04/21 Пнд 22:24:43 19872601572
>>1987218
Ну у меня здоровенная галера, да и в проекте лютый энтерпрайз для гигантской корпорации.
Аноним 05/04/21 Пнд 22:48:23 19873031573
>>1987202
Правда.
Я из-за того что студия начала подбешивать тем что считает себя умнее меня - пересел на вим. Божественная хуйня на самом деле. Базарю. Когда разберешься - писать там код - одно удовольствие.
Аноним 05/04/21 Пнд 22:49:35 19873051574
>>1987199
Ну это совсем какой-то пиздец.
Я потратил на вход в .net пару месяцев на курсах, потом пошел на стажером за 600 usd, через три месяца джун за 900.
Но вообще вкатываться проще всего через тырпрайзы со стажировками/курсами, и. т.д. у них есть всегда процесс обучения и бабос плотят.
Сам где-то полгода искал джуном работу и были одни стартапы в духе мы тебя оформим через три месяца работы
Аноним 05/04/21 Пнд 22:56:36 19873221575
>>1987303
Та я и так с вим модом что на студии, что в райдере сижу. Но чет студия подлагивает пиздец, да и вим мод в нкй кривой какой-то.

Но вообще, писать на виме когда есть иде - извращение. Зачем позбавлять себя дебагера, автокомплита, рефакторинов?
>Я из-за того что студия начала подбешивать тем что считает себя умнее меня
Так ей всегда можна заткнуть ебало или сказать что она не права и должна делать вот так, а не так.
Аноним 05/04/21 Пнд 23:06:01 19873371576
>>1987199
Нужно не по родмапам ходить было и пилить петпроекты - а по собесам бегать.
Меня на первую работу взяли всего с одним вопросом: что делает модификатор out. Все, блядь. Какие еще нахуй сборки мусора? Какие нахуй блядь выделения памяти? Вы че? Я слов таких не знаю.
А сейчас, спустя 2 года таких вот беганий по собесам и смен работы - закидывают предложениями, я правда отказываюсь, потому что почти везде хотят фуллстек, а попробовав фуллстеком работать - я понял что ненавижу JS и все что связано с фронтендом. При этом я даже ни одной вашей шарповской книги не прочитал, кек, я плосовиком так-то собирался быть и просто пробежался глазами по метаниту, когда понял что с плюсами только на завод либо за бугор.
Аноним 06/04/21 Втр 01:41:12 19875161577
>>1987337
Чет не вериться. Или у тебя охуенные софт-скиллы такие...
Аноним 06/04/21 Втр 09:09:58 19876381578
>>1987199
У нас на работе сеньор проводит собеседование и берет каждого, кто знает что такое distinct в SQL.
Аноним 06/04/21 Втр 10:08:14 19876521579
>>1987638
>>1987337

что за хуйня пацаны, почему в одном требе истории как мужик впахивает за 250 бачей и о том как сложно найти РАБоту, и в том же требе аноны расказывают что у НИХ в конторе берут кого попало лишь бы мог по клавишам тыкать, как на самом деле сейчас выглядит вкат для непосвященных?
Аноним 06/04/21 Втр 10:13:18 19876581580
>>1987652
Потому что капитализм-с,
За одну и ту же работу можно выживать за МРОТ, а можно получать 2к баксов.
В целом, мне кажется, это одна из основных причин, почему работодатели так старательно стараются спрятать ЗП вилки за стеной: "Каждому по способностям", "Достойная ЗП" и прочего.
И самое смешное, что в рамках одной должности могут быть совершенно разные ЗП.

У нас до смешного доходило, что чувак, который стал 3-летним инженегром получал денег меньше, чем его официальная вилка была.
Аноним 06/04/21 Втр 10:31:50 19876701581
>>1987658
Ну так рыночек тогда как-то не правильно решает, потому что очевидно что если есть зарплата выше тогда программеры будут идти туда, а если на место будет большая конкуренция то там зарплата будет падать, вилка должна уменьшаться, это работает везде кроме программеров почему-то, у них вилка неадекватно большая
Аноним 06/04/21 Втр 11:16:42 19876951582
>>1987670
>потому что очевидно что если есть зарплата выше тогда программеры будут идти туда

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

Плюс синдром самозванца.

Плюс действительно хороших программистов нихуя нет, в целом это видно, по тому, что на НОРМАЛЬНЫЕ должности найм может идти годами, а на баунти за привод друга на них можно вполне купить какой-нибудь рено логан.
Зато дохуя даунов, которые надрочили литкод и пиццот фреймворков, но при этом не могут три строчки кода прочитать
Аноним 06/04/21 Втр 12:12:17 19877241583
>>1987695

Ну в общем согласен со всем, добавлю еще только что программеры обычно не очень общительные и не любят смену компании потому что для них это очень болезненно происходит, к тому же даже нижняя планка выше чем у большинства профессий и этого достаточно что бы жить не хуже других
Аноним 06/04/21 Втр 12:18:00 19877291584
>>1987658
Подвтерждаю, у меня 5 лет опыта, работаю за зп сильного джуна.
Аноним 06/04/21 Втр 12:34:38 19877391585
16177015130410.png 10Кб, 580x126
580x126
Как в этом ебучем Visual Studio сделать так, чтобы неправильно введенная команда автоматически исправлялась? Эта функция раньше работала, но я что-то нажал и ВСЕ, редактор перестал автокорректировать неправильное написание.

Сижу гуглю уже ебаный час и НИХУЯ, как будто никто и не знает про эту функцию. Может тут кто-то знает?
Аноним 06/04/21 Втр 12:35:36 19877411586
>>1987658
Я одну штуку еще давно понял, денег дают столько сколько просишь. Сам в коммерческой разработке уже 15 лет, сменил 6 работодателей. Если бы не менял работу, так и сидел бы где-нить за $500 хуярил.
Аноним 06/04/21 Втр 12:46:53 19877521587
image.png 2Кб, 234x28
234x28
image.png 11Кб, 753x62
753x62
image.png 7Кб, 561x58
561x58
Почему у меня клиенты нулл?
когда вызываю с клиента клиенты есть
когда вызываю как на первом пикриле клиенты уже нулл, какого хера?
Аноним 06/04/21 Втр 13:03:10 19877641588
Аноним 06/04/21 Втр 14:35:58 19878921589
Помогите с winforms опять, для окна регистратуры больницы нужно расписание с часами приема и возможностью на это время записать соответственно, как это реализовать можно?
На ум приходит datagridview только ,но как тогда сделать, чтобы через нее что-то записывалось? лучше пример покажите
Недельное расписание с понедельника по пятницу например
Аноним 06/04/21 Втр 15:18:34 19879361590
>>1987892
Как тебя на работу то взяли если ты даже формошлепыть не умеешь?
Аноним 06/04/21 Втр 15:32:28 19879531591
>>1987936
Все очень просто.
Не готовишься, проходишь 100500 собеседований.
Получаешь работу рано или поздно.
Аноним 06/04/21 Втр 15:36:59 19879561592
Пацаны, а в светлой или темной теме работаете? Раньше всегда работал в светлой на ВС. Сейчас пробую темную в Ридере. Вроде прикольно с одной стороны, но с другой как-то хуже получается сосредоточиться на коде.
Аноним 06/04/21 Втр 15:38:59 19879611593
>>1987956
Еще спроси какого цвета у нас обои в квартире и на рабочем столе.
Аноним 06/04/21 Втр 16:39:53 19880571594
>>1987953
Ну вот и разгребай теперь хуле, посмотрим как 100500 собесов помогут тебе проект сдать
Аноним 06/04/21 Втр 16:56:55 19880751595
>>1987892
Да, хоспаде, спизди букально любой пример из интернетов по какому-нибудь MVVM и радуйся жизни
Аноним 06/04/21 Втр 17:11:11 19881001596
>>1988075
Человек WinForms просит же, а не WPF
Аноним 06/04/21 Втр 17:21:15 19881211597
>>1948100
Это проблемы не только жабаскрипта но и многих других языков которые поддерживают арифметику для чисел с плавающей точкой, вина конкретно жабаскрипта и некоторых других в том что не сигналят исключения и не дают задавать режим округления

Читать раздел IEEE Routines
https://northstar-www.dartmouth.edu/doc/solaris-forte/manuals/fortran/prog_guide/6_floating.html

Впрочем, причина такого упрощения очевидна - зачем вебмакакам вообще знать что это такое, смузи сам себя не выпьет а очередной говнофреймворк сам себя не выучит

Не отменяет остальных претензий к языку
мимо проходил
Аноним 06/04/21 Втр 19:15:18 19882701598
>>1987752
Потому что никто не подключился)))))
Аноним 06/04/21 Втр 19:25:21 19882951599
Аноним 06/04/21 Втр 20:59:59 19883791600
>>1987652
>мужик впахивает за 250 бачей
я писал выше, что отклонил такое предложение, т.к. посчитал это насмешкой. Я сейчас работаю (не буду вдаваться в подробности кем) зарабатываю $800, работая по 2-3 часа в день. Решил свичнутся еще 3 года назад, когда зарплата была в 2 раза меньше. Я знакомому деву описал ситуацию с собесом и такими насмешливыми предложениями, так вот он сказал, что на одно место трейни/джуна в .NET стэке по 30+ кандидатов. Резюме с пометкой Junior/Trainee/Beginner - даже не рассматривают. И некоторые вполе готовы работать за бесплатно (да, да, приходят выжигать глаза за $0.00), просто чтобы набраться опыта и съебать в роли мидлов в нормальные конторы. IT 2к21
Аноним 06/04/21 Втр 21:26:20 19884081601
>>1988379
> одно место трейни/джуна в .NET стэке по 30+ кандидатов
За год к нам на завод пришел только 1 человек(((
Платят со старта трицатку. ХЗ, может быть это тоже "насмешка" для современных смузихлебов, но в нашем регионе это в 1,5 раза больше средней ЗП, а через год, если не совсем дебил, поднимают до 50к, я собственно так и зарабатываю сейчас. Челы что давно тут работают 200к получают, что опять же по меркам региона - охуенные суммы, двушка в центре стоит 2 ляма, считай за 2 года спокойно заработать можно.
Но нет никого. Наши менеджеры по подбору персонала уже с ума сошли и засылают тонной спама про: Приведи чела и получи ништячки.
Аноним 06/04/21 Втр 21:26:33 19884101602
>>1987752
нет же, сказал что когда тригерю с клиента клиенты есть, а когда хочю с сервера затригерить себя уже налл
Аноним 06/04/21 Втр 21:28:18 19884111603
>>1988295
Это работает только если человек не тупой или не ленивая скотина
Аноним 06/04/21 Втр 21:33:58 19884141604
>>1988408
Это выбор каждого - верить или нет словам на борде.
>на завод
кстати я такие места даже не рассматривал, только аутстафные галеры. Все, что связанно с бугром - это деньги. Да и с английским проблем нет. Но это уже лирика.
Аноним 06/04/21 Втр 21:40:12 19884161605
Кстати, шарпаны что опытнее - поясните. Вот я работаю уже полтара года. Мне сыпятся предложения, но во всех - на первом месте - фронтенд. Т.е. так в вакансии и пишут: требуется разрабатывать какую-то фронт-хуйню, ну и мимоделом пилить себе апи.
На текущей работе у меня - наоборот, я в основном беком занимаюсь и там всякие системы сбора и анализа данных, а фронт - ну нахуячил я быстро чтобы не в сваггере клацать, потом наш фронтендер чутка привел это в более-менее презентабельный вид.
Так вот. Это просто мне не везет или все дело в том, что я еще и среди тегов таки добавил фреймворки которыми пользуюсь для разработки фронта? Я-то их знаю постольку поскольку, ну, типа да на - отрисовать пару формочек, послать туды-сюды запросы да в хранилище сохранить результат. В общем - хуета. Но ЗП предлагают от 100-150к, что считай x2-x3. И как-то даже начал задумываться о том, чтобы более подробно в изучение фронта погрузиться. Но я не люблю фронт и не хочу особо им заниматься, мне нравится бек. Может быть если я уберу все что связано про фронт - больше будут завать именно на бекендера? Или это просто специфика шарпа такая, что тут либо фуллстек - либо пиздуй в юнити?
Аноним 06/04/21 Втр 22:38:27 19884521606
>>1988414
Лол, ну тогда все понятно
Сейчас бы работал уже на вожделенной галере, если бы полгода-год где-то поскромнее набил экспу.
Аноним 06/04/21 Втр 22:42:03 19884571607
>>1988416
Есть еще десктоп и ксамарин
Но там вакансий не так уж много.
Аноним 07/04/21 Срд 01:05:02 19885361608
>>1988457
Так десктоп и ксамарин это тоже фронт, не? Просто вместо штмла хмл, а вместо джса шарп.
Аноним 07/04/21 Срд 09:26:37 19887091609
>>1988416
Хз, как х-ры просыпаются, так на любой вкус вакансии сыпят.
И фронт и бэк и прочее.
Аноним 07/04/21 Срд 11:25:13 19887621610
>>1988536
Про десктоп не совсем так
Там и бэк и фронт
Десктопные приложения тоже могут быть клиент-серверные, внезапно.
В том смысле что ты сервер сам пишешь, где сервер это виндовая служба, которая доступна по локальной сети.
Ну и на фронте реализовывать больше всего нужно, так как нету браузера, который много чего за тебя делает.
Также десктопыне приложения могут работать вполне себе автономно(толстый клиент), иметь свою отдельную базу, сливая время от времени какую-то инфу через веб сервисы.
То есть нету такого как в вебе, где фронт вообще не работоспособный без сервера.
Аноним 07/04/21 Срд 12:16:20 19887871611
>>1988762
Ну вообще-то если писать виндовый UI по нормальному, то там тоже будет четкое разделение на model-view-presenter (controller) или вообще MVVM в случае WPF.
Аноним 07/04/21 Срд 12:22:07 19887951612
image.png 1598Кб, 1280x720
1280x720
>>1988416
Кстати я тоже заметил уже года два такую фишку, вот раньше, нужно было сделать микросерис, искали на фуллстак бека который может что-то сварганить и на фронте, ну что там программеру научиться этого фотопеинта, денек два покликал и уже что-то можно настряпать, подключить бутстрап, библиотеки всякие и ок. так раньше бы было, брали бека платили 100% за бека ну и долпчивали за фуллстак как еще часть от ставки фронта, примерно 20-30%

А сейчас на микро сервисы берут на фулстак как бы как ДИЗАЙНЕРА ну и говорят мол, ну апи ты себе допишешь, понаподключаешь себе библиотек там, идентити всяких, сгенеришь базу, разберешься как-нибудь, и платят соответственно 100% за дизайнера и доплачивают за фулстак как 20-30% ставки от бека, та же самая работа по сути и зарплата получается меньше раза в два,
охуеть тенденции, чую что надо быстро накапливать кубышку и самому становиться жидокапиталистом потому что у программистов малины все меньше...
Аноним 07/04/21 Срд 13:34:49 19888561613
image.png 14Кб, 592x148
592x148
Мужики, помогите, я походу сам себе выстрелил в ногу. Есть одно задание, где мне надо читать по 3 символа. В задании указанно именно 3. Я старался всё делать по солиду и высрал пикрил метод в классе Reader куда передаю StreamReader. Сначала возвращал просто строку, а потом показалось, что это некошерно, и решил запилить record Word, от которого наследуется ThreeLetterWordRecord, где хранятся 3 чара. показалось, что если делать new string будет производительность хуже, хуй знает? Алсо, я использую Word как ключ в словаре. Но сейчас у меня получается, если передать значение отличное от 3 в TryRead, то всё по пизде пойдет. Пока придумал сделать TryRead abstract и запилить ThreeLetterReader и отнаследовать его, и там использовать этот самый ThreeLetterWordRecord.
Так вот, это нормально я нахуевертил или лучше использовать просто строку и не ебаться или еще чего-нибудь?
Аноним 07/04/21 Срд 14:02:35 19888831614
Я словил какой-то пиздец с datagridview - не отображаются данные, т.е я пытаюсь их добавить через datasource или вручную через .Rows.Add() и через дебагер я вижу что коллекция в нем есть, но на форме ничего нету, только хедер столбца. В чем может быть дело?
Аноним 07/04/21 Срд 14:04:20 19888841615
>>1988856
Ты че, ебанулся? Зачем плодить сущности и абстракции, чем тебя просто строка не устраивает?

Алсо, что за переменная word(в которую оно читает)?
Аноним 07/04/21 Срд 14:13:11 19888921616
>>1988884
word - это char[3].
Я просто всякое подумал, что надо на каждый пук свой класс. Вдруг там мы захотим не в виде строки хранить а еще как-то, или хуй знает.
Аноним 07/04/21 Срд 14:14:29 19888941617
>>1988892
> Вдруг там мы захотим
А чё за задание-то? Нахуй ты наперёд думаешь чё там, а чё не там? Делай что в задании сформулировано и всё.
Аноним 07/04/21 Срд 14:19:38 19889011618
>>1988892
>просто всякое подумал, что надо на каждый пук свой класс. Вдруг
вот вдруг и сделаешь, нахуя заниматься таким вот дрочением я хз, это не ооп и солид, это маразм какой-то, в крайнем случае хранил бы тогда в виде битов, и уже оттуда преобразовывал куда там в будущем надо, зачем нужен лишний посредник?
Аноним 07/04/21 Срд 14:21:17 19889041619
>>1988894
>>1988901
Задание в текстовом файле подсчитать 10 самых часто встречающихся последовательностей из 3х букв. Да, походу я обосрался, спасибо, что указали.
Аноним 07/04/21 Срд 15:21:08 19889471620
Кто в курсе, сильно ли отличаются стандартный Entity Framework и Entity Framework Core? Нужно выучить второе, но по первому есть отличные курсы, жалко выбрасывать.
Аноним 07/04/21 Срд 15:55:32 19890121621
Добавляю в Wpf'e - ListBox.Items.Add(new ListBoxItem() {});
Вопрос - как добавить скроллбар в листбокс? Пробовал прописывать в scrollviewer - scrollbarvisibility, cancontentscroll и добавлять scrollviewer.
Аноним 07/04/21 Срд 16:20:20 19890391622
Сап, шарпаны.
Все знают, что у вас просто тонны сахара. Такой вопрос - можно ли в шарпе создать такой класс, объект которого можно напрямую инициализировать литералом? Например, так, очевидно, можно:
string someStr = "этот вопрос полная хуита";
А есть ли способ сделать так, что было можно:
myStringWrapper someStr = "не такая и хуита уж";
Аноним 07/04/21 Срд 16:39:20 19890541623
>>1989039
эмм
констурктор уже капец как громоздко чтли?
myStringWrapper someStr = new myStringWrapper ( "не такая и хуита уж")

Ну, можно еще оператор = переопределить для твоего типа
Аноним 07/04/21 Срд 18:24:13 19891421624
>>1910324 (OP)
Привет, аноны. Помогите, пожалуйста, советом.
В общем сел делать курсач, результатом выполнения которого должна быть десктопная прога(для виндоус), в которой пользователь вводит в поля параметры некоторые, затем исходя из этих параметров сишарп скрипт задаёт поведение 2д-анимации на юнити, которая проигрывается в окошке этой десктопной программы.

Какой тип проекта мне для этого нужен? ВинФормс и всё? Я не могу вкурить, в чем такая принципиальная разница между этими винформс, uwp и wpf
Аноним 07/04/21 Срд 19:37:01 19891881625
1.png 9Кб, 490x342
490x342
2.png 37Кб, 772x666
772x666
3.png 13Кб, 877x235
877x235
4.png 5Кб, 1067x620
1067x620
>>1988856
Я бы делал как-то так, Гы)))
Аноним 07/04/21 Срд 19:45:51 19891991626
1.png 0Кб, 67x35
67x35
2321.png 24Кб, 865x436
865x436
>>1988904
Пиздце. Я вот сейчас отказался идти на собес с вилкой 100к-150к, потому что мне недавно на текущем месте до 30к подняли ЗП. Я уебок, кек.
Аноним 07/04/21 Срд 19:49:39 19892001627
123123123.jpg 26Кб, 1178x196
1178x196
>>1989199
Да, от волнения обосрался в решении. Там нужно как на прикриплейд.
Аноним 07/04/21 Срд 19:56:11 19892031628
>>1989200
Еще и жопой читаю. Пиздец.Короче, не первое слово, а 10 первых нужно будет взять. Пиздец я даун. Хорошо наверное что не согласился идти на собес.
Аноним 07/04/21 Срд 19:59:52 19892061629
>>1989199
>на текущем месте до 30к подняли ЗП

Ты работаешь дотнет разрабом за 30к в месяц?
Аноним 07/04/21 Срд 20:01:02 19892101630
>>1989206
До апреля работал за 25к, кек. Я ж говорю - уебок.
Аноним 07/04/21 Срд 20:02:27 19892131631
>>1989210
Это где такие зарплаты?
Аноним 07/04/21 Срд 20:03:10 19892161632
>>1989210
Не волнуйся, ты не один такой лох
Я работаю за 110к и у меня 5 лет опыта
Читалка на телефон (Андроид) Аноним 07/04/21 Срд 20:27:54 19892481633
Сап, аноны

Собственно, мне через 2 месяца сдавать курсовую РАБоту по шарпу. Пока что остановился на читалке, но не знаю (не понимаю) алгоритма, да и какую технологию вдобавок использовать.

Анон, может знаешь, подскажи, буду признателен.
Аноним 07/04/21 Срд 20:32:36 19892531634
>>1989248
Ну там однна технология под названием Xamarin, не заблудишься.
А как текст разных форматов извлекать: найти опенсорс проект который это делает, например
https://github.com/topics/ebook-reader?l=c%23
Аноним 07/04/21 Срд 20:43:36 19892671635

>>1989142
Из всего, что нагуглил, есть только возможность запустить уже собранное юнити-приложение внутри винформс.

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

Пока не нагуглил, как это сделать, но, возможно, я не теми словами всё это время гуглил, у меня несколько раз бывало, что я так не мог найти инфу, которая лежит на поверхности.
Аноним 07/04/21 Срд 20:55:08 19892811636
>>1989248
Мобилки - замарин.
Алгоритм: два пути. Добро и зло.
Добро - берешь и читаешь спеки нужного формата - делаешь все по спекам ручками, получаешь криво-косо поддержку форматов. Препод будет доволен - ты получишь опыт.
Зло - открываешь нугет и ищешь нужные тебе пакеты. Можешь обернуть это адаптерами, чтоб типа солид, вся хуйня. Собственно - все. Препод будет недоволен, но никуда не денется и курсач зачтет.
Как-бы вуз такое место где предпочтительнее как раз добро. Зла ты наделаешь когда работать пойдешь.
Аноним 07/04/21 Срд 23:06:37 19894131637
>>1989142
>>1989267
А почему бы юнити юи не использовать? Че у тебя за задание на курсач такое? Потому что звучит как-то дико.

Вообще ты можешь сделать очевидную вещь - сохранить параметры в файл и запустить юнити программу которая его считает. Может быть в юнити еще можно как-то прочитать аргументы командной строки, погугли
Аноним 07/04/21 Срд 23:39:58 19894621638
asm4.gif 295Кб, 1139x631
1139x631
image.png 50Кб, 1238x385
1238x385
>>1989413
Я вот нашёл, как запустить стэндэлон юнити экзешник изнутри винформс.
Сейчас разбираюсь, как делается общение двух программ через IO.Pipes.

>А почему бы юнити юи не использовать? Че у тебя за задание на курсач такое? Потому что звучит как-то дико.
Мне для управления объектами анимации затем нужно будет еще ML прикрутить, лол. Насколько я успел понять, сделать это изнутри самого юнити-приложения не представляется возможным. (может я ошибаюсь, хз).

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

>Че у тебя за задание на курсач такое? Потому что звучит как-то дико.
Задания, как такового, ещё нет, есть только тема и примерно обговорённый конечный результат практической части. Вообще это не курсач, а ВКРБ, просто быстрее было написать курсач.
Аноним 08/04/21 Чтв 00:01:45 19894901639
>>1989462
В годоте делай, глупец. В годоте хоть RPC есть.
Аноним 08/04/21 Чтв 00:03:31 19894931640
>>1989462
> Мне для управления объектами анимации затем нужно будет еще ML прикрутить, лол. Насколько я успел понять, сделать это изнутри самого юнити-приложения не представляется возможным. (может я ошибаюсь, хз).
Я уверен, что можно, погугли в этом направлении. В юнити же весь твой код - это обычная ассембли, которая может делать то же самое что и любая другая ассембли, хоть ссылаться на любые другие ассембли, хоть любые стандартные библиотеки дергать, да хоть с++ либу.
Аноним 08/04/21 Чтв 07:58:32 19896471641
>>1989054
Ну, это просто в порядке интереса, а не для практики. Чтобы сделать например полный аналог строк, но со своими фичами, например перегрузить конкатенацию чем-нибудь другим, определить инфиксное умножение через оператор * и прочее такое дерьмо. Весело же было бы.
Аноним 08/04/21 Чтв 07:59:03 19896481642
>>1989647
переопределить. мегабыстрофикс
Аноним 08/04/21 Чтв 09:10:45 19896561643
>>1989199
Сколько опыта, анон?
Я на стажировке три года назад больше получал
Аноним 08/04/21 Чтв 09:27:59 19896591644
Есть два проекта, как мне кажется идентичных, на одном работает перевод датааннотаций на другом нет, почему?
Аноним 08/04/21 Чтв 09:53:02 19896711645
>>1989659
Правильный ответ потому что я закомментировал validationScript в jqueryValidationPartial
Аноним 08/04/21 Чтв 09:55:53 19896731646
Аноним 08/04/21 Чтв 10:26:33 19896921647
Подскажите пожалуйста, можно ли как-то в wpf'e растянуть элемент на все оставшееся место на форме? Т.е. в stackpanel'e контрол находится по средине, над ним условный хедер и под ним футер. Гридом со звездочками как-то всрато получается.
Аноним 08/04/21 Чтв 11:09:55 19897181648
image.png 72Кб, 1241x548
1241x548
Как это вообще возможно? У меня в трае не ловятся исключения.
Аноним 08/04/21 Чтв 11:11:23 19897221649
>>1989718
Посмотри внимательнее кто вернул нул.
Аноним 08/04/21 Чтв 11:12:52 19897241650
>>1989722
Соррян я мегазеленый в проггерстве, объяснишь
Аноним 08/04/21 Чтв 11:20:11 19897261651
>>1910324 (OP)
Всем привет. Есть аноны Новосибирцы? Скоро буду к вам перекатываться, посмотрел на вакансии джуна. Нашёл пару штук и все. Как быть? Реально такая жопа с c#? академ городок не рассматривал.
Аноним 08/04/21 Чтв 11:20:44 19897291652
Аноним 08/04/21 Чтв 13:04:00 19898631653
>>1989673
Во, прикольно. Благодарю. Зачем столько всего в шарп этот нахуевертили, пиздец. Как вы вообще в нем разбираетесь только.
Аноним 08/04/21 Чтв 15:38:46 19901241654
Есть кто на впфе работал с html текстом в окне? Какой бесплатный контрол лучше всего использовать?
inb4: richtextbox.
Аноним 08/04/21 Чтв 19:04:55 19903631655
>>1989656
2 года.
Ну да пофиг же. Я как-бы действительно не за ЗП шел, мне нравится код писать и кроме этого я еще и ничего не умею. Короче, мне норм. Просто заебывают родственники, которые думают что я вру насчет ЗП, заебывают знакомые, которые насмотрелись реклам курсов и думают что я просто ебанутый, раз второй год в одних кросовках и джинсах хожу, при том что мне с моей ЗП нужно 16к за квартиру отдавать, заебывают рекрутеры, которые зовут на стек, который мне не интересен и в котором у меня мало опыта. Хочу, блядь, писать бекенд и ничего другого не делать. Тут - к моему счастью - так и происходит - ТЗ спустили - сказали делать, дали срок, сделал - заебись, вот следущее ТЗ, никаких обсуждений, никаких взаимодействий с другими людьми, просто пиши код - получай свои деньги.
Аноним 08/04/21 Чтв 20:28:24 19904851656
image.png 167Кб, 1170x1650
1170x1650
Есть такой код
Почему оно в случае передачи параметра в дженерик тип, неявно конвертирует к интерфейсу
Method( b );
А внутри метода нужна явная конвертация?
Method<int>();
Ведь и то и другое это апкаст.
Аноним 08/04/21 Чтв 21:26:45 19905511657
Поясните лучше вот за что.
Смотрите, есть либа в которой реализовано общение с устройствами по UDP. Но в этой либе все запросы - синхронные. Так вот, интерфейс для всех таких либ имеет вид:
Task Send(byte[] data, CancellationToken ct);
Task<byte[]> Receive(byte[] data, CancellationToken ct);
Так вот. Нормально ли просто вызовы этих методов обернуть в Task.Run? Просто я не совсем понимаю как сделать адаптер для синхронного кода, который в соответствии с интерфейсом должен был бы возвращать таску.
Аноним 09/04/21 Птн 00:20:41 19906651658
>>1990363
Не понять мне таких, я вот открыл профиль, хожу по собесам, мидол три года, рожа кирпичом в резюме 170к+, посмотрим что получится.
Аноним 09/04/21 Птн 09:52:53 19908441659
>>1990363
Есть у евреев золотое правило, если умеешь что-то делать не делай это бесплатно, хотя бы из солидарности к своим братьям программистам, пахать за еду дело в кативальщиков, а ты своими действиями просто дискредитируешь программистов и демпингуешь цены, не хорошо так...
Аноним 09/04/21 Птн 09:53:43 19908461660
>>1989726
нахуя перекатываться в жопу мира? наоборот все стараются выбраться отсюда
Аноним 09/04/21 Птн 10:13:46 19908541661
Есть кто работал с WindowsFormsHost на впфе? На винформах один и тот же код работает нормально, а на впфе не отображается текст на одном кастомном контроле. В дебагере в свойстве этого контрола текст есть.
Аноним 09/04/21 Птн 16:24:36 19911521662
Какого хера в аргументе base() у конструктора нельзя использовать присваиваение? У присваиваня же тоже есть реузльтат типа который можно передать дальше.
Аноним 09/04/21 Птн 20:33:56 19913571663
>>1990844
Мне этой конторе приятно. Тут сидят челы сиплюсплсеры, которые 200к+ получают(еще и недовольны, в регионе - 20к средняя ЗП, а они хотят больше того что им плотют) и им не хочется об шарповский код руки марать, с другой стороны - руководит мной бывший пехапешник, который на деле - не шарит особо(ну как, общее понимание у него в разы выше моего, потому что опыт и все такое, но конкретно шарп довольно слабый) и потому у меня полная свобода, ну а с третьей - фронтендер - бывшая джавистка, которая не знает что такое CSS. Чела, что действительно шарил за шарп более-менее - поставили руководить отделом отельным. Я тут полностью себе предоставлен, на деле - любую хуйню могу протолкнуть только потому что никто не знает нихуя. Взял - и предложил интересную мне хуету, пояснил чем полезно, и т.к. никто не может кроме меня ее реализовать нормально - дали мне, я сижу, читаю книжки, статьи, делаю каты и потихоньку пилю, говорю что сложно, хотя мог бы за неделю нахуячить. Чел что мной верховодит думает, что я просто из-за того что нет опыта достаточно такой медленный(среди коллег у всех 10+ лет опыта). А на фоне тех людей, что таки приходят - я действительно неплох, потому что за время что я работаю пришло 10 челов и они даже строчки кода за время испытательного срока не смогли написать.
Короче, я уже сказал. Мне как-бы норм, а вы-то сами и не пошли бы в такую контору, где зазывают сеньеров ЗП в 80к(там повышают за выслугу лет в основном, те плюсовики - 20 лет опыта и 200к+, но новичок что придет на их позицию будет стартовать с 80к).
Это же не галера какая-то или стартап, это, блин, контора, что в своей области - лидер по рынку и считай уникальный продукт делает. Я вангую что вы даже название не знаете, но продукция ее у вас есть. Блин, чуть нда не разгласил, алкоголь дело плохое.
В общем - мне норм. Мне все нравится.
Аноним 09/04/21 Птн 21:17:43 19913891664
>>1991357
> тут полностью себе предоставлен, на деле - любую хуйню могу протолкнуть

Вот двачую
Уже почти 5 лет на одном месте так тоже работаю, в продуктовой компании.
Потому что думаю, если на галеру перейду, там будут всякие митинги, контроль продуктивности и прочая поебень.
А тут простор открыт.
Аноним 09/04/21 Птн 21:23:29 19913941665
>>1991389
>>1991357

Ну понятно, трудно выйти из манямирка, а начальство и радо рабочей силе по цене кассирш из пятерочки
Аноним 09/04/21 Птн 21:51:24 19914041666
>>1991394
Чего ты доебался?
Завидуешь чтоли?
Аноним 09/04/21 Птн 22:07:05 19914141667
>>1991404
что нужно знать по алгоритмам, чтобы претендовать хотябы на 30к рублей в месяц ? Нужно ли придумывать новые сложные алгоритмы, или задачи решаются встроенными методами, и очень простыми самописными скриптами как например в олимпиадном программировании есть задачки на комбинаторику, и в некоторых случаях нужно применять расчёт чисел каталана ?
Аноним 09/04/21 Птн 22:11:03 19914161668
>>1991414
>Нужно ли придумывать новые сложные алгоритмы
Пример сложности - задачки E и F на codeforces раундах
Аноним 10/04/21 Суб 03:24:39 19915731669
image.png 24Кб, 606x354
606x354
image.png 9Кб, 460x247
460x247
image.png 9Кб, 383x171
383x171
Бля ребят чаму не передается объект в контролер?
В БД создается запись но она пустая.
Вроже же все по примеру сделал.
Пикрил1 представление
пикрил2 модель
пикрил3 метод контролера.
Аноним 10/04/21 Суб 05:35:30 19916021670
image.png 35Кб, 687x469
687x469
>>1991573
Бля потому что не сработала миграция.
Тогда вопрос второй почему она не сработала?
А сейчас повторно выдает ошибку.
Пикрил первая миграция но без полей найм и эйдж, а только ИД. Вопрос какова хуя не все поля добавились ?
Аноним 10/04/21 Суб 08:24:23 19916351671
>>1991573
>>1991602
Вопрос закрыт. Хуйня какаета была непонятная.

Но вот еще вопрос.

Я так понимаю к представлению можно привязать одну модель?

Вот к примеру есть форма с добавлением с предыдущего скрина к этому представлению привязана модель @model Test3.Models.User

И я как бы хочу что бы ниже формы у меня выводило все записи с бд код примерно таков должен быть
@foreach (var u in User)
{
<tr>
<td>u.Name</td>
<td>u.Age</td>
</tr>

Я передаю в контролере в типе метода [HttpGet] лист с записями в бд return View(db.Users.ToList()); но что бы его вывести мне нужна подключить модель @model IEnumerable<Test3.Models.User> . Правильно ли я понял что нельзя 2 модели использовать?
И мне надо использовать для этого частичное представление?
Аноним 10/04/21 Суб 08:35:42 19916361672
>>1991635
Сорян за шитпостинг)
Мне сильно помогает когда я сначала пишу вопрос а потом мне как то легче самому его решить.
Через вьюБаг передаю.

Но когда добавляю новую запись вылетает эксепшн Object reference not set to an instance of an object. Я так понимаю что из за того что нужно вывести записи из бд а во вью бег пусто так как в ГЕТ запросе я не передаю ничего
Аноним 10/04/21 Суб 13:42:49 19917651673
1.2.png 36Кб, 908x611
908x611
Обоснуйте преимущества WPF перед WinForms.
Когда я начинал учить шарп и думал, что выбрать для интерфейса десктопных приложух, то увидев код WPF, я подумал, что это веб-параша и стал учить формы. И формы мне кажется сделаны очень круто и очень продумано.
Но все, даже сами MS, почему-то их ругают и хвалят WPF. Обоснуйте почему.
Аноним 10/04/21 Суб 13:55:24 19917741674
>>1991765
Ругают, в основном, за то что на формах довольно сложно разделить представление от логики. В ВПФ - тебя вынуждают писать более-менее нормально и разбранится с MVVM. Ты будешь плеваться, ты будешь считать это лишним усложнением, но в конечном итоге ты получишь какую-никакую но структуру и сможешь переиспользовать код в других проектах. А это как-бы то чего хочет безнес. Никто не хочет платить 100 раз за одну и ту же работу.
Ко всему - простота модификации визуального представления в ВПФ оч сильно помогает. Вот сколько тебе придется кода нахуячить чтобы сделать, скажем, кнопочку внутри которой есть чекбокс и картинка на формах? В ВПФ ты делаешь это в замл разметке и все, охуенно.
Да, на формах тоже можно писать нормально и тоже можно добиться того поведения, что есть в ВПФ, но это делается через жопу и нет каких-то прям стандартов, а сам редактор форм не будет тебе отображать что ты там нахуевертил. В ВПФ - за тебя решили - тебе просто нужно делать как сказали и будет ОК, оно будет отображаться в редакторе и вообще.
Аноним 10/04/21 Суб 14:10:38 19917901675
>>1991765
В впф намного проще создавать свои контролы и изменять внешний вид и структуру уже существующих контролов, расширять поведение уже существующих контролов с помощью атачед пропертис, которые потом можно использовать по всему проекту.
В винформах обычно с этим не парятся и покупают уже готовые контролы.
Аноним 10/04/21 Суб 15:07:40 19918821676
image.png 19Кб, 554x419
554x419
image.png 15Кб, 701x142
701x142
А вот сейчас вообще ничего не понятно.
Как мне из вот этого примера https://metanit.com/sharp/aspnet5/15.2.php показывает пикрил1?

Метод контролера

[Authorize]
public IActionResult Index()
{
return Content(User.Identity.Name); // ЭТО ШО ВАЩЕ ТАКОЕ?
}

Ну возвращаем строку, а строку берет из пикрил2? Тогда почему там ничего нету про path а только User и Name?
Корочи магия блять.

Можно как то отлаживать аспНетКоре по шагам как консольное приложение? Что бы я видел как происходит обработка запросов когда я захожу на сайт.
Аноним 10/04/21 Суб 15:53:23 19919031677
image.png 48Кб, 849x326
849x326
Бля, Райдер меня доебал уже. Время от времени он не дает мне комбинацией клавиш Ctrl+Alt+/ закоментить выделенные строки. Выдает вот это сообщение. Что это такое? При этом через контекстное меню закоментить получается.
Аноним 10/04/21 Суб 16:07:01 19919221678
>>1991903
Сиди на VSCode и не выебывайся. Райдер только в комплекте с хуетой для отладки нужен, писать в нем код неудобно, эти, блядь, аннотации с типом - пиздец нахуй. Короче, буть мужиком и юзай VSCode Для кода, райдер/студию для отладки. Так все ровные пацаны делают.
Аноним 10/04/21 Суб 16:13:01 19919271679
>>1991922
>Так все ровные пацаны делают
А если я немужчина?
Аноним 10/04/21 Суб 16:45:47 19919631680
>>1991882
Бамп вопросу.
Читаю и не могу понять как ваще работает .
[Authorize] - запрещает доступ к методу контролера неавторизированому юзеру, ну а куда он тогда попадает и какой контролер и метод обрабатывает его запрос то?
Аноним 10/04/21 Суб 16:52:28 19919751681
>>1991903
Раскладку на английский переключи
Аноним 10/04/21 Суб 17:01:22 19919861682
>>1991963
Ты пытался сам хоть раз написать веб-сервер?
Если бы пытался - было бы очевидно куда. В дотнете это делается "мидлваром". Если более обще говорить - у тебя есть цепочка ответственности. Получив запрос и распарсив его - он передается какой-то сущности, которая уже внутри себя решает что делать с контекстом подключения: тут мы проверили заголовки - все вроде норм, тут мы проверили путь к ресурсу - ага, такой есть - передали дальше, тут мы видим что ресурс требует авторизации, мы смотрим есть ли токен/кука или что-то еще, ага, нету - до свиданья - 401.
Возьми обычный сокет, напиши парсер http и попробуй сам, блин, сделать веб-сервер, пусть и простой. Все станет понятно и такие вопросы не будут возникать.
Аноним 10/04/21 Суб 17:06:17 19919961683
>>1991986
Ну ахуеть теперь сразу все понял конечно.
И там не 401.
Аноним 10/04/21 Суб 17:17:17 19920121684
800298glo-s-sba[...].png 6378Кб, 3000x1860
3000x1860
>>1991975
Лол, помогло. Спасибо огромное!
Аноним 10/04/21 Суб 17:35:51 19920281685
1.jpg 70Кб, 853x402
853x402
>>1991996
Там и не обязано быть 401. Я просто пытался тебе объяснить как примерно цепочка ответственности работает. Можно хоть файлом с черным властелином отвечать, если так хочется, можно - рвать соединение, можно перенаправлять на страницу с авторизацией.
Суть. Под капотом есть класс примерно как на прикриплейд. В контексте дотнет кора ты такие классы сконфигурировал в Startup в методе Configure. Все эти app.UseHttpsRedirection, app.UseRouting и т.д. это как раз примерно такие вот классы, с логикой, что делать с запросом, какие-то просто берут оттуда данные и подставляют другие, какие-то - проверяют пускать ли дальше, какие-то перекидывают запрос на другой маршрут и т.д.
Аноним 10/04/21 Суб 18:10:07 19920531686
image.png 129Кб, 1489x643
1489x643
image.png 5Кб, 572x72
572x72
что за хуйня и почему это не работает?
Аноним 10/04/21 Суб 18:11:13 19920561687
image.png 7Кб, 669x84
669x84
>>1992053
2 скрин не тот, вот правильный
Аноним 10/04/21 Суб 18:21:53 19920701688
>>1992053
Потому что Attributes - IEnumerable. Что неясного? Там даже из названия понятно это.
Соответственно тебе нужно сделать что-то типа: b.Arrtibutes("цена_книги").Where(x=>double.TryParse(x.Value,out _)).Select(x=>double.Parse(x.Value)).Where(x=>x<600)
Аноним 10/04/21 Суб 23:42:51 19923961689
Сап, возможно вопрос повторяется. Просят ли для вката вышку (ДС)? Как вообще вкатываться, и опыта набираться для этого? Вообще непонятно, если с пыхой яснее. А тут интерпрайз. И по-моему джунов не берут, и трейни.
Аноним 11/04/21 Вск 08:19:08 19924991690
image.png 90Кб, 1458x680
1458x680
Как в ВС19 открыть 2 окна редактора?
Вот примерно как на пикриле что бы было
Аноним 11/04/21 Вск 11:59:24 19925751691
image.png 47Кб, 902x655
902x655
Аноним 11/04/21 Вск 13:37:43 19926461692
>>1992396
В энтерпрайз как раз трейни и берут. Нихуя не требуют, платят относительно дохуя, так еще и учат. Но хз нужна ли вышка, я прост сказал что учусь.
Аноним 11/04/21 Вск 13:51:07 19926491693
>>1992396
Вышка нужна что бы заказчику сказать что она у тебя есть.
Если нет то работодателю скажи прямо что нет, а он тебя потом попросит заказчику сказать что есть.
С первой зп просто купишь корку какого нибудь аграрного универа и все, один хуй ни кто даже и не подумает у тебя показать эту корку. Можно в принципе и не покупать но так ты просто совесть успокоишь, что мол ты же не соврал у тебя рили есть корка.
Хахалева людей судила без диплома и все похуй было, а ты тут паришся за свою корку.
Аноним 11/04/21 Вск 14:47:32 19926751694
>>1992649
А вкатуна без прописки , нахуй пошлют, в интерпрайзе?
Аноним 11/04/21 Вск 15:41:02 19927221695
Привет, пытаюсь вкатиться в си шарп, помогите пожалуйста. Почему у меня тут

int[,] arrayInt = new int[2, 2];

for (int i = 0; i < arrayInt.GetLength(0); i++)
{

var massiv = myNextLine.Split(' ');
for (int j = 0; j < arrayInt.GetLength(1); j++)
arrayInt[i, j] = int.Parse(massiv[j]);
Console.Write(arrayInt[i, j] + " ");
}

пишет Имя "j" не существует в текущем контексте. ??? :( На выводе в консоль
Аноним 11/04/21 Вск 15:47:25 19927271696
>>1992722
В цикле выполняется только это.
> arrayInt[i, j] = int.Parse(massiv[j]);
Строка ниже - нет.
> Console.Write(arrayInt[i, j] + " ");

Добавь фигурные скобки
for (int j = 0; j < arrayInt.GetLength(1); j++)
{
arrayInt[i, j] = int.Parse(massiv[j]);
Console.Write(arrayInt[i, j] + " ");
}
Аноним 11/04/21 Вск 16:08:29 19927461697
Аноним 11/04/21 Вск 17:09:08 19927911698
>>1992675
Конечно, еще если в армии не служил, то сразу порашу чистить пошлют.
Аноним 11/04/21 Вск 19:00:04 19928661699
>>1992791
В армий служил, военник есть, прописки нет (бомж). Это повлияет на возможность трудоустройства?
Аноним 11/04/21 Вск 19:07:46 19928701700
>>1992866
Работадателю - похуй. Я вот вообще в деревне прописан, ибо деревенский. И хули? Поехал учиться, нашел работу и работаю.
Аноним 11/04/21 Вск 20:49:37 19929451701
>>1992870
В интерпрайз компаниях, тоже похуй на это?
Аноним 11/04/21 Вск 21:17:25 19929631702
image.png 813Кб, 639x480
639x480
image.png 662Кб, 800x471
800x471
>>1992945
Что ты имеешь в виду под интерпрайз компаниями?
Есть продуктовые компании, которые выпускают свой продукт и продают его(гугл, амазон, майкрософт) Их тоже наверное можно назвать интерпрайз компаниями.

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

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

ИТ компании это не завод где смотрят бумажки и твои школьные дипломы с соревнований за 6 класс. Показываешь скилл - получаешь офер.

Как по мне самое лучшее место для вкатывальщика это стартап который нашел инвестора и только начинает разработку. Тебе не надо разбираться в старом коде. Если дело выгорает то через год берут еще прогеров, а так как ты проект уже хорошо знаешь то можно и деньжат так хорошо запросить. Ну а если деньги все спиздили то можно в резюме написать мол работал на инновационном проект то чет как то не удалось.
Аноним 12/04/21 Пнд 09:37:00 19934491703
>>1991774
В впц только разметка норм, мввм это говноище редкостное.
Аноним 12/04/21 Пнд 10:04:43 19934631704
С удивлением для себя обнаружил что asp Identity не работает с code-first подходом, таким образом identity не может быть использован в core 3.1 и .NET 5

По сему у меня вопрос, нахуя вообще нужны такие "апдейты" если они только урезают функционал и замедляют производительность?
Аноним 12/04/21 Пнд 10:54:10 19935081705
>>1910324 (OP)
Литература в шапке актуальна? Попрыгал по туториалам разным, пописал калькуляторы, а в итоге каша в голове. Хочется структуризировать познания, по полочкам раскласть. До сих пор не ебу как вставлять SOLID-принципы в код, все что из меня выдавливается это классы с приватными полями и кучей функций без интерфейсов и прочего.
Аноним 12/04/21 Пнд 11:01:08 19935151706
Посоветуйте тему диплома не сложную для коледжа
Аноним 12/04/21 Пнд 11:07:31 19935201707
>>1993515
Если у тебя нет ни одной интересной темы которую тебе бы самому было интересно решать программирование не твоё, помню для меня в вышке было проблемой как оправдать все интересующие темы в один диплом, я разрывался от возможных идей и фич которые мне хотелось реализовать, если у тебя таких идей нет программирование не твое
Аноним 12/04/21 Пнд 11:08:39 19935211708
>>1993520
Ну нихуя ты умный, наверное и свой стартап есть?
Аноним 12/04/21 Пнд 11:23:26 19935351709
>>1993521
Был... пилил нейронки для проверки качества лопастей турбин под микроскопом, потратил все собранные за года полимеры на это... и только все начало срастаться охуенно, ебнула эта ебучая корона, после этого авиапроизводителям стало не до нейронок, поэтому отложил этот стартап так сказать до лучших времен...
Аноним 12/04/21 Пнд 11:28:49 19935381710
сап. выбрал тему диплома создание складского приложения. необходимо на шарпе сделать логику с фильтрами и через фреймворки создать базу данных на MySQL. Где можно найти примеры подобных заданий с разбором и что нужно изучить для данной темы, ибо есть всего месяц и полностью вкатываться в шарп нет времени
Аноним 12/04/21 Пнд 11:31:01 19935411711
>>1993538
>ибо есть всего месяц и полностью вкатываться в шарп нет времени
Чем ты занимался все время обучения? У вас что курс шарпа начинается за месяц до диплома по нему?
Аноним 12/04/21 Пнд 11:32:20 19935431712
>>1993541
мы изучали плюса, я подошёл к дипломному руководителю, а она грит типа на шарпе хуярь
Аноним 12/04/21 Пнд 11:35:52 19935501713
>>1993535
Какой стартап, ебанько? Щас на каждом втором заводе нейронки натаскивают на общедоступных библитеках. или ты дебил думаешь один такой умный чужие исходники с гитхаба скачать, лул?
Аноним 12/04/21 Пнд 11:39:35 19935561714
>>1993543
Сейчас бы проггеру с 200к\сек оправдываться перед тупым студентом которые "учил" с++ но подлые учтиля заставляют на шарпе писать, и написать то же самое на шарпе ему невмоготу, иди нахуй отсюда петух, тут таких не любят
Аноним 12/04/21 Пнд 11:52:40 19935731715
>>1993556
Такие прогеры тут не сидят т.к. тратить время на эту помойку себя не уважат, так что мимо.
Аноним 12/04/21 Пнд 12:02:20 19935771716
Как в .NET коммерческих проектах происходит подключение и работа с бд? Через EF и DbContext? А то у меня ощущение что это хуйня для вкатышей и все куда сложнее и серьезнее
Аноним 12/04/21 Пнд 13:03:48 19936171717
Нужна ли предрасположенность для олимпиадного программирования ? Сможет ли любой человек с достаточным количеством мотивации достичь красного ранга на codeforces своими силами, или это дано только талантливым людям ?
Аноним 12/04/21 Пнд 13:35:10 19936401718
>>1993617
Что такое талант, не верю в талант. Только, в упорство. Приложи усилия, и всё получится, рано или поздно.
Аноним 12/04/21 Пнд 13:39:48 19936421719
>>1993538
О, /b/рат ,тоже диплом ищу, какие темы у сокурсников?
Аноним 12/04/21 Пнд 13:51:11 19936511720
>>1993538
Зачем заморачиватся с MySQL ? Делай выгрузку из текстового документа и запись в него
Аноним 12/04/21 Пнд 14:43:11 19937171721
>>1993617
Конечно, как и вообще в программировании нужны математические способности с уклоном в комбинаторику.
Аноним 12/04/21 Пнд 15:40:10 19937791722
Нужно из виндовой службы запустить другой процесс из под пользователя домена
Process.Start(pathToExe, user, password, domain);
нихуя не работает
Если запускать службу под SYSTEM, то вылетает исключение access denied.
Если запускать службу из под текущей учетки или учетки админа домена, то ошибок не выдает но и ничего не запускает.
UseShellExecute стоит false
UAC отключал, не помогло.
Из обычного консольного приложения работает, а из службы никак
Что ему не так, блядь?
Аноним 12/04/21 Пнд 16:04:07 19938001723
А, вопрос снят, оказывается из службы это в принципе не работает
Аноним 12/04/21 Пнд 17:04:39 19938671724
>>1993651
препод просто хочет реализацию через фреймворк, чтобы само всё делалось, как она сказала. Суть диплома в создании базы данных склада, для этого нужно будет по идее реализовать запросы, осталось продумать и изучить как именно.
Аноним 12/04/21 Пнд 17:05:42 19938681725
>>1993642
я единственный выбрал диплом по программированию, остальные либо по технической части компов, либо технические дипломы (создание различных устройств).
Аноним 12/04/21 Пнд 19:40:39 19940371726
Сейчас я кое что буду проверять
В общем. Сегодня на обеде от нехуй делать сделал пока пил кофе песочек на шарпе. Взял СФМЛ. Алгоритм был следующий: клацаешь по экрану - сыпется песочек, потом он падает. Да. Простенько, по сути физика ненастоящая. Но не суть. А суть вот в чем. При ражрешении 800x800 это говно шло в слоумо. Вроде всего-то 640000 объектиков, чому в слоумо-то? А вот. Сейчас быстро эту же хуйню накидаю на плюсах. Вброшу в тред результаты.
Аноним 12/04/21 Пнд 22:47:03 19941661727
>>1993463
>asp Identity не работает с code-first
с чего ты взял? Еще месяц назад пилил, у меня все работало
>>1993577
>Через EF и DbContext?
Везде поразному, но большей части - да. Есть еще Dapper и ADO.NET - но это легаси
>достичь красного ранга на codeforces
это какой дан? До 4 дошел и забросил, задачи с оптимизациями дрочат мозги
>>1993717
на # я бы не сказал
>>1993867
>препод
>она
охуенная шарага, земля пухом
Аноним 13/04/21 Втр 00:31:36 19942571728
>>1910324 (OP)
Как можно показать PNG или BMP картинку - в консоли?
Аноним 13/04/21 Втр 00:40:16 19942701729
>>1994257
Не в виде разноцветных символов - на винде никак, на лине сторонние зависимости нужны
Аноним 13/04/21 Втр 09:09:44 19943651730
>>1994166
Ну например для таблицы нужно два ключа, при попытке реализовать что-то подобное в code first получаю ошибку компиляции при том что в sql можно создать таблицу с двумя ключами
Аноним 13/04/21 Втр 09:40:03 19943831731
>>1994166
>>препод
>>она
>охуенная шарага, земля пухом
Сексист ебаный. Хоть умных девушек немного, но они есть, и бывают намного умнее средних мужчин
Аноним 13/04/21 Втр 09:50:15 19943921732
>>1994383
Умнее тебя-дебила разве что.
Аноним 13/04/21 Втр 11:56:22 19944771733
helper wanted.jpg 75Кб, 685x473
685x473
Котаны, есть такой код
https://pastebin.com/UbvyfNM1
Проблема в том что он иногда неправильно принимает сообщения, они как бы обрываются
Передающая сторона уверяет что у них все нормально, и это на моей стороне неожиданно закрывается соединение
В случаях когда такое происходит у них выходят такие эксепшены
https://pastebin.com/H738Nmtx
У меня эксепшены не выходят, просто в стрим попадает только начальный кусок сообщения
С сетью точно все в порядке
Что я делаю не так?
Аноним 13/04/21 Втр 13:44:04 19945471734
>>1993508
Пока ты не мидол - тебе солид нахуй не нужен
Аноним 13/04/21 Втр 13:46:11 19945491735
>>1994547
Тогда какого хуя на собеседовании на позицию джуна спрашивают солид, паттерны проектирования, историю развития дотнет, сколько кораблей на тихоокеанском театре военных действий и дизассемблер неба и господа нашего иисуса христа?
Аноним 13/04/21 Втр 13:48:27 19945521736
>>1994549
Потому что хотят что бы ты на каждый вопрос отвечал "не знаю зато я буду работать за еду" а когда джун так не отвечает тогда джун их расстраивает
Аноним 13/04/21 Втр 13:48:33 19945531737
>>1993508
Актуальна.
А чтобы структурировать - свое говно писать надо.
Аноним 13/04/21 Втр 13:52:10 19945551738
>>1994552
Ок, понял стратегию.
Аноним 13/04/21 Втр 13:52:22 19945561739
>>1994477
Для начала поставь таймаут больше, не знаю точно что за сообщения передаются, но вдруг они по полтора символа капают и 5 сек слишком мало

а вообще нужно бы глянуть в каком именно месте у них там ексепшон, по одном сообщении сложно что-то понять но в любом случае надо копать в сторону ексепшона и отталкиваться дальше от него, иначе это будет выглядеть как попытка поймать невидимую иголку в реке
Аноним 13/04/21 Втр 13:55:00 19945591740
>>1994555
Самая правильная стратегия это показать исходники с кучей проектов и сказать мол "Я это сделал за термос с чаем, представьте сколько полимеров я буду клепать за печеньки к чаю"
Аноним 13/04/21 Втр 14:16:30 19945761741
>>1994559
Причём не свои проекты.
Аноним 13/04/21 Втр 14:22:46 19945821742
Аноним 13/04/21 Втр 15:04:35 19946251743
>>1994549
Потому что хуле ты еще спросишь у джуна?
Вот пришел такой хуй и говорит, я тут знацца выучил хуелогритмы, опыта тырпрайза у меня нет, проектов нет, а еще я хочу 1000 USD.
Зато есть корочка универа/каких-нибудь из миллиарда курсов-хуерсов.

Все что от тебя на собесе реально ждут -- что бы ты не был дауном и понравился, но так как это хуй прочекаешь, то и начинаются все вот эти дизасемблеры и паттерны.
Аноним 13/04/21 Втр 15:08:34 19946281744
>>1993867
без шуток если в шараге баба преподает программирование тогда это зашкваренная шарага, у нас вообще только один предмет вела баба, и то эо была около канцелярская хуйня типа форда и ексельки, конечно есть умные бабы, но ни одна баба не будет умнее чем умный мужик
Аноним 13/04/21 Втр 15:26:25 19946461745
>>1994625
Когда вот я джуном был и смотрел как у нас проводят собеседования не понимал, какого хрена у откровенно дебилов спрашивают вещи которые у нормальных чуваков не спрашивают вообще, вот помню пришел поц ему буквально парочку простеньких вопросов задали, он на них грамотно ответил, а потом они начали базарить по душам, чей сам, кем будешь, где живешь,как город что будет делать превратись в муху, вкусный ли чаек, и тп,

после него приходит чувак, его спрашивают ну простенькие вещи самую базу которую только дегенерат может не знать типа особенности и различия в CORE CLR и фреймворком, И КАК ТОЛЬКО ОН НАЧИНАЕТ ЕРЗАТЬ, любая не уверенность, расплывчатый ответ и сразу летят более сложные и каверзные вопросы, когда был джуном думал что так делают просто для того что бы легитимно отшить, сейчас понимаю в чем на самом деле ббыло дело
Аноним 13/04/21 Втр 15:29:32 19946521746
>>1994628
Не неси хуйню. У нас вот сишечку вела тетка лет за 50, так по сравнению с хуями что потом нам жаву с гаражом и плюсами давали - он была на голову выше. Никакой хуйни с : потому что так принято, это хороший тон и т.д. четко и нормально могла за все пояснить. Знания - выше крыши. Заставляла дрочить в присядку на древнем железе чтобы понимали нахуя перформанс и как с памятью обращаться. Это не жавапидор, у которого все тормозит и он начинает пиздеть что просто в универе компы слабые, вот бы сервак для лаб дали, тогда... Короче, я вот не заметил чтобы наличке яиц в трусах как-то на уровне кодерских способностей сказывалось.
Аноним 13/04/21 Втр 15:29:52 19946531747
>>1994628
ебать ты зашореный

>>1994646
Ну что-то типа, по факту нормально кандидата проверить можно только на испыталке, а все что до практически бессмысленно
Аноним 13/04/21 Втр 15:42:23 19946681748
>>1994652
Тьюринг, Возняк, Гейтс, Линус, Кармак, и куча других легендарных программистов, а теперь назови хотя бы 3 всемирно известных программистов-женщин
Аноним 13/04/21 Втр 15:44:24 19946741749
>>1994668
Женщины из-за стереотипов не идут в точные науки, если бы небыло гендерных стереотипов, то имён великих женщин было бы столько же, сколько и мужчин
Аноним 13/04/21 Втр 15:48:10 19946791750
>>1994668
Ада Лавлейс
Хеди Ламарр
Мэри ли Вудс
Элен Хенкок
Марисса Майер
Адель Голдберг
Катарина Фейк

Все эти женщины вызывают чувство гордости и могут служить невероятной мотивацией для всех нас. Многие из них трудились во времена, когда программирование не терпело женщин, да и мировые взгляды на женский труд были совсем другими. И тем не менее, они добились успехом. Сейчас тысячи девушек-программистов доказывают, что это не только мужская профессия. Остается только брать их себе в пример.
Аноним 13/04/21 Втр 15:53:33 19946861751
>>1994674
C точки зрения малолетнего долбоёба - безусловно.
Аноним 13/04/21 Втр 15:53:37 19946871752
>>1994674
В шахматы не играют тоже потому что хуеносцы по рукам бьют?

А вообще какие нахуй стереотипы? еще 10 лет назад этот аргумент со скрипом но можно было бы назвать валидным, но сейчас с этими квотам, с рад фемом и толерастией, на западе уже давно если у тебя половина компании не с вагинами то такой компании по закону штрафы выписывают, вводят квоты на бесплатные обучения, ништяки за женщин в компаниях и сейчас их внедрили уже море но что-то они не проявляют себя, а если и проявляют то "перлами" вроде масс аффекта со всратими лицевыми анимациями, это тоже злые хуеносцы мешают?
Аноним 13/04/21 Втр 15:56:28 19946921753
>>1994679
Очевидно лучшие представительницы своего рода, и одни из лучших представителей человечества, но не всемирно известные и даже близко не равные улучшим представителям мужчин, о чем я сказал, грамотные бабы есть но грамотный мужчина всегда будет лучше
Аноним 13/04/21 Втр 15:57:51 19946931754
>>1994679
Первая известна только тем что отсасывала математику Бэббиджу и делала грязную работу по дому пока он теоремы доказывал, остальные вообще рандомные хуи с горы. Хотя нет, про марийку майер слышал. Она даже не программист а просто удачно затеасалась в среду основателей гугла, лотерея один на миллион. Кстати, когда она в яху сдриснула с гугла нихуя я нее не получилось вытащить контору из жопу, т.е. и как управленец она говно без задач.
Аноним 13/04/21 Втр 15:59:52 19946991755
>>1994692
Двачую. Как ни крути а это факт, и в среднем бабы тупее мужика, и отдельные гениальные мужики выше классом на несколько порядков отдельных гениальных баб. Пиздёшь якобы их не пускали это хуета полнейшая. Среди мужиков в бедных странах тоже стояли непреодолимые социально сословные стены, тем не менее Ломносовы/Рамунджаны пробивались через них.
Аноним 13/04/21 Втр 16:01:17 19947031756
>>1994652
Это скорее говорит о твоём низком уровне раз ты восхищаешься пенсионеркой которая даже не из индустрии. Ну тот факт что какие-то аспирантики хуже нее преподавали вообще ничего не доказывает. В мухосранских вузах это обычное явление.
Аноним 13/04/21 Втр 16:06:39 19947071757
>>1994693
смерть козлам членоголовым! Настоящие мужчины выродились, а те, кто существует сейчас - жалкие примитивные твари с яйцами вместо мозгов.
Аноним 13/04/21 Втр 16:08:29 19947111758
Аноним 13/04/21 Втр 16:12:33 19947131759
>>1994711
мамкин сексист, спок
Аноним 13/04/21 Втр 16:18:12 19947271760
>>1994713
Я не сексист, в отличие от например тех же мусульманов которые считают женщин за животных я так не думаю, и не отрицаю важной роли женщины в обществе, того что женщина может делать определённые вещи лучше мужчин, потому что существуют объективные различия, и это нужно понимать
Аноним 13/04/21 Втр 16:20:19 19947311761
>>1994668
По данным ЮНЕСКО, из-за стереотипов и дискриминации женщин-учёных в мире почти в 3 раза меньше, чем мужчин.
Аноним 13/04/21 Втр 16:26:05 19947431762
>>1994727
Я отрицаю. ИМХО вреда от них больше чем пользы, взять хотя бы такое распространённое явление как "наташки".
Аноним 13/04/21 Втр 16:26:29 19947441763
Аноним 13/04/21 Втр 16:26:53 19947451764
>>1994743
бред. от мужчин вреда в 1000 раз больше, чем от женщин
Аноним 13/04/21 Втр 16:27:31 19947471765
Аноним 13/04/21 Втр 16:28:00 19947501766
>>1994747
бесполезный спермобак, спок
Аноним 13/04/21 Втр 16:37:10 19947661767
>>1994743
Ну этот вопрос действительно дискутабельный, например упомянутое явление действительно, но применим он не ко всем женщинам, а только к женщинам определённой национальности. В той же японии например такое явление так массово не встречается. В любом случае не хочу вступать в дискурс по этому поводу, тред не про это, да и такое мнение что вреда больше тоже имеет право быть, я же только хотел сказать что анон выше был прав когда говорил что для вышки женщина препод программирование это плохой знак, это элементарно значит что преподов они набирают по остаточному принципу и что все хорошие преподают где-то в другом месте, только это я хотел донести
Аноним 13/04/21 Втр 16:37:41 19947671768
image.png 28Кб, 543x349
543x349
Видимо моего isq не хватит даже на установку сдк.
Аноним 13/04/21 Втр 16:38:16 19947691769
>>1994767
диван по имени инкаминг.
Аноним 13/04/21 Втр 16:39:20 19947721770
>>1994766
Да роль препода вообще сомнительна. Его задача грамотно пересказать учебник а большего от него и не требуется.
Аноним 13/04/21 Втр 16:49:48 19947881771
Как лучше называть дебажные сервисы, которые реализуют интерфейс? Я видел три вида префикса: Mock, Dummy и Fake

Наверное Mock самый нейтральный вариант, подходящий для кода.
Аноним 13/04/21 Втр 17:03:31 19948011772
1qWk6XEoLww.jpg 84Кб, 604x484
604x484
>>1994646
>что так делают просто для того что бы легитимно отшить, сейчас понимаю в чем на самом деле ббыло дело

И в чём же?
Аноним 13/04/21 Втр 17:04:45 19948041773
Есть один базовый класс для всех классов в проекте. Я в нем переопределяю метод TоString(). Почему в классах наследниках этот метод работает по старому? Как сделать так, чтобы он переопределился для всех классов наследников?
Аноним 13/04/21 Втр 17:07:26 19948071774
>>1994772
Нахуй такой препод нужен?
Аноним 13/04/21 Втр 17:33:31 19948221775
>>1994767
Уверен что скачал сдк а не рантайм?
Аноним 13/04/21 Втр 17:39:26 19948331776
>>1994822
Да пофиксил уже. Да был точно скачан сдк. Пофиксилось полным сносом дотнета и вижуал студио.
Аноним 13/04/21 Втр 18:11:50 19948751777
>>1994674
>Женщины из-за стереотипов не идут в точные науки
То есть разницу интересов и целей мужчин и женщин ты вообще во внимание не берёшь, сис?
Аноним 13/04/21 Втр 18:20:31 19948881778
В общем. Я замерил разницу между С++ и шарпом.
Если шарп с оптимизацией и С++ - без разница почти не ощущается. НО, ебашим сборку под конкретное железо, добавляем векторизацию и т.д. и это просто небо и земля. Один и тот же код - разница в сукорости - 12 раз. Это без всяких попыток оптимизации песочка, без хиторостей по поводу оптимизации алгоритма, всяких карт и прочего - простая хуйня: 800x800 поле, песочек падает пока не найдет под собой другой блок который твердый, потом проверяем справа-слева, если пусто - прверяем снизу и если снизу пусто - "скатываемся". 12 раз прирост перформанса просто за счет того что взяли С++ и нужные флаги компиляции поставили.
После такого - кажется что шарп - калечный.
Аноним 13/04/21 Втр 18:45:05 19949151779
>>1994888
>12 раз
Это всего лишь на один порядок
Аноним 13/04/21 Втр 18:48:48 19949261780
Допустим я знаю базу Шарпа. Как вкатиться в веб?
Аноним 13/04/21 Втр 18:53:42 19949381781
Аноним 13/04/21 Втр 18:54:21 19949401782
>>1994915
Да. Но это просто выставлением флагов и выбором другого языка. При этом написание кода заняло одно и то же время. Я больше ебался с тем чтобы вспомнить как там библиотеки в С++ залинковать. Да и мой уровень плюсов несравнимо ниже шарповского, думаю чел что знает плюсы лучше и немного оптимизаторством болеет - получил бы прирост намного больший.
Аноним 13/04/21 Втр 19:03:23 19949471783
>>1994940
В реальном мире твое байтоебство мало кому нужно.
Аноним 13/04/21 Втр 19:16:22 19949561784
>>1994938
Это конечно отлично совет, но куда меня возьмут с дефолтным знанием шарпа, когда мой максимум вывести в консоль список? В плане, я не работал ни с одним фреймворком.
Аноним 13/04/21 Втр 20:10:27 19950201785
>>1994956
никуда. это может любой школьник который интересуется программированием. Тебе нужен очень мощное алгоритмическое мышление, чтобы уметь создавать эффективные алгоритмы для задач. С этим навыком ты будешь очень востребован, и будешь получать в хорошие зарплаты
Аноним 13/04/21 Втр 20:13:20 19950231786
>>1994767
>Users\Albert
Энштейн, ты?!
Аноним 13/04/21 Втр 20:14:54 19950261787
>>1995020
Изначальный вопрос был как вкатиться в веб, поэтому я и не понял к чему мне про работу написали, учитывая что я только недавно разобрался в шарпе и ооп.
Аноним 13/04/21 Втр 21:25:25 19951141788
Допустим есть два веб-приложения на неткоре. Они имет разный апи. Вот. Они выполняют довольно затратные по ресурсам и времени выполнения штуки. Выполнение этих штук хочется автоматизировать, допустим, пусть они выполняются в 2 часа ночи воскресенья, когда нет особо пользователей которые другими штуками этих приложений пользуются.
Ну так вот. Мое решение - сделать третье приложение, которое должно как-то узнать об апи этих приложений, сохранить пути и параметры что нужно передать и в зависимости от настройки - будет слать запрос на старт задачи.
Насколько это хуевое решение для такой задачи? Просто сейчас настройка переодичности выполнения всяких штук у этих приложений отдельная, ну, соответственно админ должен и там и тут настроить. Хочется дать админу возможность настроить это все в одном месте, допустим, одно приложение должно периодически удалять старые данные, другое - должно разослать уведомление о том что срок подписки заканчивается. Хотим делать это первого числа в час ночи. Логично же вроде получается: вот отдельное приложение-планировщик.
Проблема возникает если задуматься о том что может появиться еще несколько таких вот приложений. Каждый раз лезть в исходники чтобы добавить возможности которые есть у приложения в этот вот планировщик задач - ну такое. Возникает мысль о том, чтобы уже приложения - представились в этом, сохранился в базе апи, но тут непонятно что делать если тип составной какой-то. Можно конечно договориться о ДТО заранее, чтобы апи не был слишком сложным, но тут же хуй знает как дальше будет.
В общем. Я же не думаю, что только у меня возникали такие вот проблемы. Какие есть бест практис на этот счет и вообще, может быть я тут велосипед придумываю, а есть какое-то стандартное решение для того чтобы дать пользователю с правами возможность создания каких-то переодических заданий для микросервисов.
Аноним 13/04/21 Втр 21:41:21 19951501789
>>1994365
ну у тебя и проблемы конечно. Гугли ошибку, находи решение. Скорее всего обосрался с объявлениями типов
Аноним 13/04/21 Втр 21:53:50 19951671790
>>1995114
>Ну так вот. Мое решение - сделать третье приложение, которое должно как-то узнать об апи этих приложений, сохранить пути и параметры что нужно передать и в зависимости от настройки - будет слать запрос на старт задачи.

Видел что-то подобное в проде, работает.
В целом, если есть что-то типа нугета/dll/еще чо-то, где будут лежать контракты и проч, то и затаскивать новое не так геморно.
А вообще я бы не ебался и ради двух хуевин хоть все захрадкодил, ибо с нихуевым шансом этих хуевин так и останется две
Аноним 13/04/21 Втр 23:53:00 19953251791
>>1995114
https://www.hangfire.io/ как планировщик задач. Делаешь задачу, он её сохраняет в свою БД и потом выполняет по заданному расписанию.

gRPC с его прото контрактами могут помочь избежать внезапного изменения АПИ. Контракты пихаются в отдельный репо и реферянсятся поставщиком АПИ и его потребителями.

Можно просто DTO в отдельный репо запихать, если с gRPC возиться не хочется.
Аноним 13/04/21 Втр 23:53:14 19953261792
>>1994270
А чтобы просто в виде пикселей её вывести, в консоли, не?
Аноним 14/04/21 Срд 00:00:44 19953321793
>>1994699
Без шуток: надо учить историю чтобы избегать таких вот мыслей. Они не только токсичны, но и опасны для общества в целом.
Ксенофобия в любом виде - зло.
Аноним 14/04/21 Срд 01:42:15 19954011794
Аноним 14/04/21 Срд 06:38:14 19954771795
>>1995401
Бля, хотел каптчу в консоли вывести, лан пох.
Аноним 14/04/21 Срд 07:23:56 19954781796
>>1995332
Нет, тупая ты пизда, надо хоть раз включить свой высохший от чтения нихель пихель мозг и понять простую вещь: у мужчин и женщин изначальные разные интересы и целеполагание. Гениальных женщин и правда не меньше, чем гениальных мужчин, только их гениальность в другое русло направлена: как пизду теплее пристроить, как зачать от одного, а доить другого, как на работе всеми манипулировать и т.д.
Аноним 14/04/21 Срд 09:14:51 19954911797
>>1995150
При каких объявлениях типов? Мне четко по белым по черному пишут,

компилятор : "модель может иметь только один персистент кей"
коддер : А ЕСЛИ МНЕ НУЖНО ДВА?
компилятор : ой все

охуеть права? пиздец полезный этот код фирст, говно полное, или например внешние ключи, в скл это все просто делается, зашел в таблицу, покликал туда-сюда, даже первоклашка справиться, в код фирст это все через жопу делается особенно если задача хоть чуточку не тривиальная как например внешний ключ к индексированному представлению
Аноним 14/04/21 Срд 09:28:41 19954931798
>>1994807
Других преподов у меня для вас нет.
Аноним 14/04/21 Срд 11:58:48 19956171799
Бля, не заходил сюда два дня
А тут уже развели какой-то мутный спор про место женщин в программирвоании
Совсем делать нехуй?
Аноним 14/04/21 Срд 12:08:56 19956191800
>>1995617
это обиженки сексисты чушки безмозглые, не обращай на них внимания
Аноним 14/04/21 Срд 13:07:02 19956671801
>>1995619
Двачую эту естественную нейросеть в мозгу самки примата вида хомо сапиенс. У Разума нет пола. Разум или есть (и он зарабатывает кодингом) или его нет, и неразумный хомосапиенс зарабатывает пиздой, хуем, жопой, ртом или руками-ногами.
Аноним 14/04/21 Срд 13:15:21 19956701802
>>1995667
Как бы да, как нейросеть натренировать так она и будет работать, но это не значит что нейронка будет одинаково хорошо работать в серверах гугл и на ноутбуке студента, устройство на котором работает нейронка влияет на ее работу, с этим никто не спорит, никто в здравом смысле не станет спорить и стем что мыслительные процессы женщины несколько отличаются от мужских в силу объективных особенностей не только воспитания но и физиологии мозга и организма в целом.
Аноним 14/04/21 Срд 13:38:50 19956821803
>>1995670
Тем ценнее нейронки женщин - им приходится на более нестабильном "железе" работать.
Люблю их за это
Аноним 14/04/21 Срд 13:51:01 19956841804
image.png 49Кб, 1459x660
1459x660
У кого так же? Почему после выполнения промежуточной цели падает мотивация и не хочется делать ничего дальше, наоборот же должно быть не? при чем чем ближе проект к завершению тем сильнее колбасит, в какой-то момент уже совсем плевать потому что ну и так же уже почти работает, все ок, а потом охватывает паника что столько труда может пойти по пизде и как сумасшедший пишешь код 24 часа в сутки, и так уже не первый проект, анон у тебя такое бывает? как ты с этим справляешься?\
Аноним 14/04/21 Срд 14:00:12 19956921805
20210414135516.jpg 1Кб, 146x43
146x43
Wpf, я увеличил высоту тайтла окна. Можно ли увеличить в соответствии с высотой тайтла дефолтные кнопки свернуть/растянуть/закрыть?
Аноним 14/04/21 Срд 14:02:35 19956941806
image.png 2Кб, 359x41
359x41
>>1995692
Goole с армией хипстеров не смог думаешь ты сможешь?
Аноним 14/04/21 Срд 14:04:51 19956981807
>>1995694
А ты умеешь мотивировать!
Аноним 14/04/21 Срд 16:09:45 19958241808
Как преобразовать c# decimal к джаваскриптовому number? вроде бы тривиальная задача должна быть но я никаких тривиальных ответов не нашел, только еботня с регексем
Аноним 14/04/21 Срд 17:34:04 19959561809
>>1995478
Из рашки тоже надо периодически выехжать, и не во всякие турции, чтобы не нести ватнический бред.
Аноним 14/04/21 Срд 18:10:17 19960331810
Ребяты, есть у меня Модель Group, в этой модели есть поля типа Geo - это enym. По MVC куда мне этот enym засунуть? Оставить в файле модели либо создать другой файл в который и запихивать такие типы?
Аноним 14/04/21 Срд 18:57:58 19961251811
>>1995692
Конечно можно. Берешь хендлер окна и вилкой в ансейф полез.
Аноним 14/04/21 Срд 19:04:18 19961411812
>>1996033
Куда хош. MVC говорит тебе как сущности должны между собой общаться ничего более.

А насчет enym - не нужон. Расширать - неудобно, если логика появится - придется ебстись. Делай сразу класс и забудь про эту хуйню. Константы выноси в отдельный статический класс. Если нужно проходиться по константам - сделай коллекцию вместо enym. Логика все равно в определенный момент появится, как бы ты не надеялся, что вот ну это же так удобно enym'ом делать, всегда выходит так, что приходится добавить логику. И чтобы у тебя она не была размазана по всему приложениею с миллионом свичей, хучией ифов-хуифов - делй сразу, блядь, класс. Спасибо скажешь потом.
Аноним 14/04/21 Срд 19:30:58 19961751813
>>1996141
Я просто хз как ваще правильно сделать.
У меня есть поле которое должно хранить настройку.
Ну собственно 1 или 2 или 3.
Подумал что enym подойдет, хотя подойдет и просто byte но я хочу правильно сделать, проект в гит добавлю и буду показывать в резюме, и вот хочется что бы не сильно ахуевали с этого говнокода.
Вообще просто byte и число мне бы больше подошло так как ебни меньше. Отдельный класс создавать на каждый пункт а потом просто присвоить полю обьект и потом в логике смотреть обьект какова класса лежит?


Типо

public class Setting
{

}

public class Setting1: Setting
{

}

public class Setting2: Setting
{

}

public class Setting3: Setting
{

}


pubblic class Host
{
public Setting s1_OR_s2_OR_s3;
}

И потом когда контролер будет обрабатывать объект просто смотреть проверять какому из классов принадлежит s1_OR_s2_OR_s3 ?

Вроде норм но пздц как тупо, хз пытаюсь сделать просто по уму так сказать.
Аноним 14/04/21 Срд 20:23:54 19962601814
Аноним 14/04/21 Срд 20:27:55 19962651815
>>1996141
Это чистой воды субъектевизм. Если вы, батенька, не научились нормально работать с перечислениями (enum), то не думайте что у всех также.
Аноним 14/04/21 Срд 20:49:47 19962871816
>>1995491
>персистент кей
иди про ключи сначала почитай и какие они бывают, потом вайни
Аноним 14/04/21 Срд 21:55:26 19963641817
>>1996265
Я научился. Не используй их и будет все заебись.
Тут дело в чем. Ты не можешь предсказать, что должно быть перечислением, а что - нет и в отличии от джавы ты не сможешь удобно добавить логику в перечисление. Нет - ты либо будешь вынужден выкорчевывать их, либо хуячить экстеншин методы, а это самой концепции перечислений в шарпе противоречит.
Ну серьезно. Вот банально в майки и ко - захардкодили протокол сервера перечислением. Я хочу кестрел использовать не как веб сервер, а чтобы, допустим DLMS/COSEM, вот, блин, вся инфраструктура под боком, просто сделай новый протокол, укажи серверу что нужно не HTTP использовать, а DLMS/COSEM, а вот хуй тебе за щеку, жди бедрока в .net6, либо делай финты ушами, потому что на базовом уровне хуйнули перечислением протокол, ведь, блядь, никому код не понадобится, никто не захочет его расширить, да, блядь, так ООП и работает же, охуенно, нахуй. И ты вынужден форкать кестрел и выкорчевывать из него это говно. А как бы было охуенно как в жаве с ее Netty - просто добавил что надо и пользуйся, охуенно, блядь. Нет, у нас свой путь.

Перечисления хорошо, когда нужно что-то ну совсем маленькое и внутренние делать. Во внутреннем - хуй с ним, иногда действительно удобно что IDE тебе варианты предлагает и можно сгенерировать код на его основе, но если эта срань попадает в публичный апи, еще и не какой-то совсем стандартизованный, типа ошибок сокетов - это не должно попадать в основную ветку.
Аноним 14/04/21 Срд 22:27:27 19963881818
>>1996175
Ну, что такое правильно? С точки зрения обычной практики - настройку бы нужно в отельную сущность в БД вынести.
Что-то типа:
public class Setting
{
public int Id {get;set;}
public string Name {get;set;}
public string Description{get;set;}
...
}

public class Host
{
public int Id{get;set;}
public int SettingId{get;set;}
public Setting Setting{get;set;}
...
}

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

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

Да, это если говорить о том как принято. С точки зрения личного использования - делай как кайф. Если ты на джуна претендуешь - от тебя ждут что ты не совсем распиздяем выглядишь и будешь делать что тебе говорят.
Аноним 14/04/21 Срд 23:14:36 19964181819
image.png 19Кб, 382x184
382x184
>>1996388
Ну вот не много ли будет класса для простой настройки?
Там же ничего не будет.
В логике придется чекать Name но я точно так же могу сделать стринговое поле Setting в основном классе и проверять его.
Аноним 14/04/21 Срд 23:33:27 19964281820
>>1996418
> С точки зрения личного использования - делай как кайф.

Я просто пояснил как оно делается уже в реальных условиях. Сегодня ты посчитал что обойдешься перечислением, завтра что нет смысла разбивать простню на методы, послезавтра - что проще копипастнуть код из одного места в другое. А через месяц ты не можешь понять что где и как добавить чекбокс чтобы все не сломалось к хуям.
Ко всему, подумай о том, как ты будешь тестировать этот кода .
Аноним 14/04/21 Срд 23:43:30 19964361821
image.png 245Кб, 400x341
400x341
>>1996428
Тестировать????
Я пока об этом не думал)))
Думал о том что бы просто удобнее было)
Аноним 15/04/21 Чтв 07:31:30 19965601822
image.png 25Кб, 892x348
892x348
Вопрос по WPF про ComboBox - почему при первом нажатии по комбобоксу он как бы подвисает?

Заполняю его вот так как на пикче. Всегда на первом клике по нему зависает на примерно 2 секунды. А дальше все нормально работает.

Как будто ощущение что оно в момент первого клика загружает данные из массива nameStreets... Но это же хуйня, разве Loaded не должен срабатываеть во время InitializeComponent()?

И как исправить? Проблема 100% на любом коде где есть большие комбобоксы (больше 100 штук)





Аноним 15/04/21 Чтв 09:13:36 19966001823
>>1996428
Нахуй иди со своими быдлотестами, говнокодер ёбаный.
Аноним 15/04/21 Чтв 10:32:22 19966511824
image.png 56Кб, 1163x343
1163x343
image.png 10Кб, 713x112
713x112
>>1996260
Не работает твой джосн на коре

Что это за хуйня ?
Аноним 15/04/21 Чтв 10:34:58 19966531825
>>1996287
По факту что то можешь ответить в защиту говенного кодфирста или просто пукнешь в лужу?
Аноним 15/04/21 Чтв 15:55:19 19970531826
Аноним 15/04/21 Чтв 16:00:36 19970631827
>>1997053
>>1996560
Еще добавлю что проблема может быть не в самом ComboBox, а в Popup который встроен в него. Я наблюдал такие подвисания на первый клик когда вызывал обычный Popup с небольшим контентом.
Аноним 15/04/21 Чтв 19:47:47 19973401828
Чем шарп лучше жабы (помимо более приятного синтаксиса)?
Аноним 15/04/21 Чтв 20:22:05 19973791829
>>1996653
в диалоге со мной ты уже столько раз напукал по себя, что уже не лужа, а маленькое озеро. Зачем ты пытаешься спорить, если ты азов не понимаешь - где и как и главное какие вешать ключи, чтобы были связи? Нормально бы отвечал, без выебосов, уже бы скинул ответ, а так, сиди дальше в говне
Аноним 15/04/21 Чтв 23:02:40 19974931830
>>1997340
Ничем. Во многих вещах - хуже.
Аноним 15/04/21 Чтв 23:26:51 19975231831
Аноним 16/04/21 Птн 09:12:21 19976941832
>>1997379
Какие связи? я тебе ясно сказал хочу сделать два индексируемых ключа как в sql, в code-first ключ добавляется атрибутом [key] но когда я добавляю атрибут ДВУМ переменным я получаю ошибку компилляцию потому-то эта херота пишет что может быть только 1 индексируемый ключ, а ты вместо написать что-то по факту просто слился, хочешь что-то пизденькнуть тогда дай мне пример нескольких индексируемых ключей в кодфирст! Не можешь? Так и пиздуй нахуй тогда обосрамус
Аноним 16/04/21 Птн 11:34:13 19978101833
>>1997493
Перечисли эти вещи, плиз. Не ради траленга интересуюсь
Аноним 16/04/21 Птн 11:45:17 19978221834
>>1997810
Да ничем, это говно не может даже в многопоточность, о чем тут говорить вообще
Аноним 16/04/21 Птн 15:35:47 19980721835
20210416152656.jpg 5Кб, 316x308
316x308
WPF <Button><Image>, как пофиксить этот ебанутый дефолтный паддинг изподкоробки и начать жить растянуть image на всю кнопку? Vertical/horizontal/content alignment=Stretch не помогает. Бэкграунд не предлагать.
Аноним 16/04/21 Птн 15:45:50 19980791836
Аноним 16/04/21 Птн 15:56:36 19981011837
>>1997822
Так ведь оба эти говна умеют в многопоточность
Аноним 16/04/21 Птн 16:17:17 19981331838
image.png 12Кб, 677x92
677x92
Аноним 16/04/21 Птн 17:13:35 19981871839
Аноним 16/04/21 Птн 17:51:33 19982221840
>>1998133
Сука, ты больной? Жопаскрип здесь каким боком?
Аноним 16/04/21 Птн 18:35:21 19982811841
>>1997810
1. Оно еще проще чем шарп в плане синтаксиса. Да - многословно выходит, но в отличии от кучи других языков тебе просто сам язык не позволит совсем нечитаемую хуету сделать. В шарпе с его стремлением быть модным-молодежным сейчас в этом плане довольно невесело и приходится дрочить кодстайлы, потому что дай свободу кодерам - все в пиздец превратится и хуй потом кто разберет.
2. Огромная. Нет, блядь, ОГРОМНАЯ кодовая база на все случаи жизни. Всё, блин, есть и после того как ты посидел годик на джаве, когда ты в шарпе пытаешься что-то найти - ты будто из огромного торгового центра в сельпо попал - бери что есть и если надо допиливай, готовых решений крайне мало, по сравнению с джавой еще и зачастую те что годные - по закрытой лицензии и с прайсом от 1к бачей, не так много, но ты же даже еще не уверен что будешь использовать в проде.
3. Тупо работы больше.

Это самое основное. В мелочах - более логичная структура всего, плюс это все еще единственная хуета где ты просто пилишь кода и он везде где есть JVM запускается без всяких НО, в отличии от шарпов, где: Ну, это у нас кроссплатформенно, а это не, а вот это будет если там вот покрутить; ну или уж по хардкору - С++, где чтобы добиться кроссплатформенности - ты такие финты с кодом делаешь, что его лучше больше никогда не трогать.
Аноним 16/04/21 Птн 18:46:42 19983001842
>>1998281
Спасибо за такой подробный ответ, анон. Добра тебе!
Аноним 16/04/21 Птн 22:05:25 19984921843
image.png 77Кб, 1118x713
1118x713
image.png 112Кб, 1041x940
1041x940
image.png 127Кб, 1230x604
1230x604
image.png 44Кб, 931x665
931x665
Можете пояснить за утечки памяти при привязках к вьюмоделям которые не реализует INotifyPropertyChnaged в WPF
Я нашел про это тут
https://blog.jetbrains.com/dotnet/2014/09/04/fighting-common-wpf-memory-leaks-with-dotmemory/

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

Решил попробовать проверить это сам на практике
Такой сетап
Есть главное окно через которое вызывается новое окно и в этом новом окне идет привязка текстблока к свойству объекта класс которого не реализует INotifyPropertyChnaged
Что я получаю
Первый раз открыл-закрыл дочернее окно объект к которому идет привязка не освобождается
Повторяю второй раз то же самое делаю, освобождается объект Item только тот который был создан в прошлый раз
И т. д.
То есть освобождение происходит но с лагом на одно закрытие

Когда реализую INotifyPropertyChnaged освобождается объект, но надо подождать секунд 20
Код на скринах
Аноним 16/04/21 Птн 23:16:38 19985461844
>>1997694
> два индексируемых ключа
>индексируемых
>ключа
Вы блять только посмотрите на это уебище. Вы только блять посмотрите, какой мусор тут сидит и вайнит на инструмент создания таблиц в Sql. Этот биомусор, даже не умеет в гугл, чтобы правильно сформулировать свою проблему. 3 раза этому чучелу пишу, "гугли блять, чмошник". И все, что я получаю в ответ, это
>по факту просто слился
>Так и пиздуй нахуй тогда обосрамус
пиздец парень, лучше бы твой отец кончил на простыню. Даже не вижу дальше смысла тебе что то отвечать, можешь кукарекать что хочешь
Аноним 17/04/21 Суб 21:55:23 19995911845
image.png 45Кб, 150x249
150x249
Сап сишарпач, подскажу почти полному нубасу. Хочу вкатиться в кровавый энтерпрайз после многих лет фронтенда и ноды жаваскрипт не язык, дно.жс не платформа, гоните его, насмехайтесь над ним. В основном потому что устал пить смузи и бесконечно бежать за несущимся под откос локомотивом жаваскрипта, каждый день боротся не с задачами бизнеса, а с тулзами и фреймворками как таковыми. Кароч хочу стабильной платформы, на которой смогу работать до пенсии без особой борьбы с инструментом. Есть соответственно два стула, C# и Java работаю гребцом на галере, есть возможность выбирать. Пока попробовал по неделе примерно закодать простой REST API на каждом языке... и нихуя не смог определиться с выбором. Но разобраться хотел бы в такой вещи. Я сижу под macOS почти всю свою профессиональную жизнь, иногда разбавляю всё это Linux'ом. Java под маком/линуксом работает без проблем и все тулзы на месте. C# с .Net Core тоже завёлся без проблем и в целом тулзы также есть чому Rider сука такой дорогой?. Собственно вопрос, вот прийду я на проект, а вся команда сидит на винде и кодает в Visual Studio 2019 Enterprise Edition. А я тут со своим маком и райдером. Будет ли мне норм? Или там не хватит каких-то фич? Хз, может дебаггер какой-то палёный в райдере или будет вечное проблема коммуникации на тему настройки проекта? Видел что в студии много чего настраивается через всякий UI вместо ковыряния конфигов. В целом винда нужна чтобы преуспеть в C#/.Net? Или можно не разу к винде не притронуться верстая круды на дотнете уже?

Ну и доп вопрос вдогонку. В перспективе к основному языку платформы хочу ещё изучить функциональный язык когда-нибудь. Собственно на JVM это Scala или Clojure, а на .Net это F#. Со скалой в целом всё неоднозначно, язык как будто и умирает, но при этом экосистема там охуеть огромная и какая-то жизнь таки теплится. Плюс всякий бигдата завязан на Spark и всё такое. Кложа ощущается также, но тоже что-то происходит. А вот с F# чёт пока не могу оценить. Есть какие-то мифические финтех конторы которые платят больше всех по рынку, есть какие-то проекты но всё очень непопулярное и недоделанное. Кто-то вообще пилит на F#?

Уже месяц ломаю голову куда вкатываться. Помоги мудрыми советами, двач или накидай хуёв. Заряжаю пост на высокие рейты и безбедную жизнь.
Аноним 17/04/21 Суб 21:55:54 19995921846
>>1999591
> подскажу

подскажи

Быстрофикс
Аноним 17/04/21 Суб 23:58:06 19996921847
>>1999591
В чём проблема фронденда ? Работы намного больше, в C# и Java ? Сам овладел основами C#, C++, но понял, что здесь нечего ловить, особенно в моей 140к человек мухосрани, нужно во фронт енд вкатыватся
Аноним 17/04/21 Суб 23:58:51 19996931848
>>1999692
>Работы намного больше, в C# и Java ?
Работы и рабочих предложений намного больше, чем в C# и Java. ? Быстрофикс
Аноним 17/04/21 Суб 23:59:33 19996951849
>>1999693
Ебал я в рот этот знак вопроса, ставится автоматом
Аноним 18/04/21 Вск 00:02:15 19996971850
>>1999591
Не лучше ли боротся с инструментами, но владеть востребованными навыками, чем потом выучить C# или Java, и сидеть сложа руки, потомучто вакансий в разы меньше, чем на фронт енд. В моей мухосрани 140к населения, никому здесь C# и Java не всрался, несколько веб студий есть
Аноним 18/04/21 Вск 10:36:56 19999911851
Насколько вообще в наше время востребована десктоп разработка? А то я на работе занимаюсь исключительно еблей с впф, да и то это состоит большей частью в переработке индусского кода, который я нахожу на стаковерфлоу, с нуля я крутую фичу на впф не запилил бы. Просто думаю, что рано или поздно придётся менять работу, ибо платят мало, но возьмут ли меня куда. Может стоит начать учить что-то другое как запасной вариант, но что?
Аноним 18/04/21 Вск 12:01:29 20000981852
>>1999991
Десктоп разработка совсем не востребована по сравнению с вебом.
Аноним 18/04/21 Вск 12:53:03 20001431853
>>2000098
Что нужно знать для веба?
Аноним 18/04/21 Вск 13:35:24 20001751854
Аноним 18/04/21 Вск 15:26:16 20003081855
>>1999591
> А я тут со своим маком и райдером. Будет ли мне норм?
Если тебе в райдере норм - то будет норм. Тем более что решарпер тот же почти у всех стоит.
Сейчас майки вроде как нашли золотую середину с конфигом проектов(*.csproj) а потому разницы особой нет где настраивать прокет. Просто в студии - есть окошки, но, внезапно, в этих окошках не все опции можно настроить и все равно полезешь в конфиг.
Короче, по этому вопросу. Тут, если райдер куплен и контора не какая-то дюже секретная(в контексте что я вот работал на объекте, где нельзя было свой ноутбук и телефон проносить) - все должно быть нормально. Сиди на маке и пили как кайф.
> Или там не хватит каких-то фич?
Учитывая что студия последние n-лет пиздит фичи из решарпера и райдера, я бы сказал наоборот. Мне вот райдер не нравится исключительно из-за того как у него автокомплит работает и его дефолтный кодстайл.
> Хз, может дебаггер какой-то палёный в райдере или будет вечное проблема коммуникации на тему настройки проекта?
Не будет, если ты понимаешь как сам проект настраивать ручками.
> В целом винда нужна чтобы преуспеть в C#/.Net?
Если не под десктоп - нет. Я вот дома на линуксе сижу и вообще в VS-code хуячу.
> Кто-то вообще пилит на F#?
Именно как разрабы основным языком - нет. По крайней мере я не слышал. Однако для всякой мелкой фигни он нормально себя показывает. Да и когда самому нужно что-то быстро сделать. Ну и это таки полигон для майков - они там опробуют фичи всякие, потом те что удачные уже в C# тянут.
А вообще, >>1999697 анон прав. Лучше смотри какие вакансии вокруг и куда тебе интереснее был бы попасть. В моем вот регионе внезапно шарп много где используют, потому что местный вуз с начала нулевых на него дрочит и соответственно было 3 стула шарап-пхп-1с для человека, что не хочет возиться с фронтом, но и не оч хочет удаленки. У тебя может быть ситуация, где ты с шарпом - хуй найдешь работу, а жавы - завались.
Аноним 18/04/21 Вск 18:59:08 20006021856
Как сделать калькулятор на сисярпе, с учётом приоритета и скобок?
Аноним 18/04/21 Вск 23:30:27 20008581857
>>2000602
Точно так же, как в дельфи.
Аноним 19/04/21 Пнд 08:10:59 20009711858
image.png 24Кб, 977x223
977x223
Анон, как сделать такое же на WPF?

Тут короче таблица, из 5 строк. Каждая строка из разных полей заполненных из базы.

Хочу такое сделать на wpf (скрин с аксеса) через тот же datagrid. Но сам слабоват и не знаю куда копать
Аноним 19/04/21 Пнд 08:51:19 20009821859
>>2000971
Погугли кастомные датагрид контролы в devexpress/telerik (вроде), я когда-то видел похожее, правда не помню название самого контрола.
Аноним 19/04/21 Пнд 09:00:37 20009881860
>>2000982
они платные вроде :(
Аноним 19/04/21 Пнд 13:04:54 20012271861
>>2000971
Я бы просто дефолтный ItemsControl набил бы своими контролами
Аноним 19/04/21 Пнд 14:52:48 20013711862
image.png 8Кб, 702x173
702x173
image.png 9Кб, 525x69
525x69
image.png 4Кб, 499x68
499x68
Аноны кто работал с .net core localizer отзовитесь,

проблема:
при изменении значений в файле ресурса не обновляются данные ТОЛЬКОпри локальном дебаге все работает и обновляется на паблише

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

что я пробовал:
ctrl + f5
удалить существующий билд и опубликовать на чисто
создать новый файл ресурса,
танцевать с бубном
xчистить мусор сутдии
перезапускать иис

честно сказать я в ахуе от этой ситуации
Аноним 19/04/21 Пнд 14:56:29 20013761863
>>2001371
на паблише остаются старые данные
Аноним 19/04/21 Пнд 15:22:31 20014151864
>>2000988
Ну так спизди! Ты что не русский? На рутрекер марш.
Аноним 19/04/21 Пнд 16:33:05 20015411865
Тимуру Шемсединову, который гуру JS, приходят офферы с зарплатой 20 к зеленых.
Возможно ли такое для .net разраба?
Аноним 19/04/21 Пнд 17:35:39 20016531866
>>2001541
К нему приходят клиенты-гей ради секс услуг разве что с такими деньгами.
Аноним 19/04/21 Пнд 19:49:56 20017521867
>>2000602
А в чем сложность? Алгоритм - эелментарный, гуглится за 2 секунды.
Если ты про интерфейс - форму накидал и вперед.
Аноним 19/04/21 Пнд 22:55:26 20018521868
Хелп ми. Please, anons, please. Как в студии на форме в текст-боксе убрать "мигание" текста при выделении многократном?
Аноним 19/04/21 Пнд 23:11:51 20018681869
>>1996651
Ты добавил Ignore к Mvc пайплайну, а сериализуешь руками. При ручной сериализации надо отдельно настройки прописывать.

И вообще, в коре давно свой собственный System.Json есть.
Аноним 19/04/21 Пнд 23:45:33 20018911870
Привет, двач

Почему в данном коде используется BaseList, а не IBaseCollection в "void AddRange", ведь в аргументах стоит "this IBaseCollection collection_name"? BaseList же всего-лишь наследник IBaseCollection

Сорян что так по дебильному копирую код, я делаю по видео, а там весь код очень длинный

public class BaseList : IBaseCollection
{
private object[] items;
private int count = 0;
public BaseList(int initialCapacity)
{
items = new object[initialCapacity];
}
public void Add(object obj)
{
item[count] = obj;
count++;
}

public void Add(object obj)
{
item[count] = null;
count--;
}
}

public static class BaseCollectionExtension
{
public static void AddRange(this IBaseCollection collection_name, IEnumerable<object>objects) // IEnumerable нужен для foreach по инстанциям, может быть передана любая коллекция. collection_name от BaseList
{
foreach(var item in objects)
{
collection_name.Add(item);
}

}
}
//Теперь AddRange доступен через объекты класса IBaseCollection:
......
//потом метод
Main(){

IBaseCollection collection = new BaseList(4); //BaseList - класс, наследованный от IBaseCollection
List<object> list = new List<object>() {1, 2, 3};
collection.AddRange(list);
collection.Add(1); //Метод в BaseList

}
Аноним 19/04/21 Пнд 23:46:19 20018921871
>>2001891
Я надеюсь, что профи поймут, что я имею ввиду, я чайник всего лишь
Аноним 19/04/21 Пнд 23:47:49 20018931872
>>2001891
>>2001892
Интерфейс не скопировался

public interface IBaseCollection
{
void Add(object obj);
void Remove(object obj);
}
Аноним 20/04/21 Втр 08:24:37 20020101873
>>2001892
>>2001893
слишком мало кода, нипанятно. namespace забыл скопировать. Еще можешь либу какую ни будь закопипастить
Аноним 20/04/21 Втр 10:32:40 20021141874
>>1999591
> Видел что в студии много чего настраивается через всякий UI вместо ковыряния конфигов. В целом винда нужна чтобы преуспеть в C#/.Net? Или можно не разу к винде не притронуться верстая круды на дотнете уже?
Зависит от проекта сильно. В одном месте шлепают легаси на wpf с нет фреймвороком, в другом пилят круды на неткоре. У меня, к примеру, все завязано на повершел скриптах которые поднимают ажур сервисы, которые только под виндой работают. И как бы я не ненавидил студию, она нужна из-за мсскл и сервис фабрика как и винда, которую тоже не очень люблю.
> А вот с F# чёт пока не могу оценить. Есть какие-то мифические финтех конторы которые платят больше всех по рынку, есть какие-то проекты но всё очень непопулярное и недоделанное. Кто-то вообще пилит на F#?
Писал на хаскеле, на работе есть пара сервисов на фшарпе. Кароче фшарп выглядит как другой синтаксис для шарпа, более подходящий для ФП, но не как отдельный язык. Никаких тебе монад, тайпкласов, кажется что после шарпа 10го или 11го в нем вообще никаких фич своих не останется.
И если ты хочешь выучить именно тру фп, то лучше учи скалу/хаскель.


Кароче выбор у тебя такой: всратая джава, к которой есть невсратая скала, нормальная кросплатформенность, и охуенная экосистема, или невсратый шарп, к которому нихуя кроме самого шарпа не идет.
Аноним 20/04/21 Втр 13:00:24 20022471875
>>2002010
Двачую. Я не устал скроллить эту портянку, готов проскроллить ещё страниц 100.
Аноним 20/04/21 Втр 14:20:51 20023801876
Создал решение с проектом, залил на гитхаб через VS. Потом добавил ещё один проект (с тестами), а он не никак не отмечается и не заливается соответственно. При этом на гитхабе при входе в репозиторий сразу показываются файлы первого проекта. Можно ли как-то пофиксить, и чтобы коммиты не проебать? Ну чтобы когда заходишь в репу, там сначала папочки были проектов. Ещё возможно где насрал, это что у решения и первого проекта одно название.
Аноним 20/04/21 Втр 18:48:53 20026801877
Суть.
Есть пока что три типа обработчиков в приложении(возможно в процессе появятся новые). Работают периодически. Пользователь должен иметь возможность создать свой обработчик с нужными ему параметрами из типа что есть, ну и хуйнуть работу, может вырубить.
Так вот, в чем вопрос. Стоит ли эти типы обработчиков в базе хранить? Тип я понимаю, что стоит. Просто меня очень бесит вся эта хурма с тем, что вот у нас обработчик из БД, потом мы эту хурму приводим к обработчику из приложения. А как делать иначе - я не представляю. Разве что объединить их в одну сущность, но это уже вроде нехорошая практика и вообще, но блин.
Просто меня уже бесит: Models.Db.Handler; Dto.Handler, Core.IHandler<Type>, как это делать с одной стороны красиво и чтобы не выходило что 100500 файлов, а с другой чтобы не смешивать логику - я не представляю. Мой код из-за этого на 50% состоит из перегона одних сущностей в другие и обратно. Бред какой-то на самом деле, я думаю что что-то не так делаю.
Аноним 20/04/21 Втр 18:55:56 20026881878
Аноним 20/04/21 Втр 20:15:43 20027831879
Аноним 20/04/21 Втр 20:56:45 20028341880
Мне нужно было сделать переодическое выполнение задач, но не по времени, а при наступлении определенного состояния(нужно из-за того что хуйня запускается на железке с 128МБ памяти - чистить базу и логи когда больше половины места они занимают). Т.к. меня приучили что все нужно делать асинхронно - я, вместо использования таймера - сделал свою хуйню, что таски использует. И у меня чет очко поджимается от такого вот решения. Не убьет ли это все дело сборщик мусора? Тестировал, вроде работает нормально, но я все равно ссу.
Аноним 21/04/21 Срд 09:22:55 20031901881
image.png 7Кб, 400x156
400x156
Сука как открыть файл экселя в excel?

Выскакивает какое-то исключение с какой-то хуитой на это
fileName = @"D:\\ks2020\\work\\mess\\SR_072_4.2021.xls";
Process.Start(fileName);

Файл 100% есть, 100% рабочий
Аноним 21/04/21 Срд 09:34:54 20031981882
>>2003190
Дай угадаю, пишешь на коре?
Аноним 21/04/21 Срд 09:40:52 20032051883
Заранее извиняюсь за неофитовый вопрос - можно ли как-то в отладке вижуал студии не ставить брейкпоинт на конкретной строке кода, а стригерить приостановку выполнения при изменении конкретного заранее вписаного поля/свойства? К примеру при изменении textbox1.width - пауза и я в отладке.
Аноним 21/04/21 Срд 09:55:04 20032131884
image.png 13Кб, 977x123
977x123
>>2003198
да.

Теперь даже не знаю как решить - в гугле какие-то ебанутые решения уровня говнокодец пахнущий, типа пикчи

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

Самому проверять все случаи - это пиздец, нахуй такой велосипед, если в винде есть система ассоциации файлов где все это решено и как мне ею воспользоваться?
Аноним 21/04/21 Срд 09:55:31 20032141885
>>2003205
Можно, надо гуглить. Там есть тригеры
Аноним 21/04/21 Срд 10:21:45 20032341886
>>2003213
Я не пишу на коре если что - попробуй поставить в нугете Microsoft.Windows.Compability.
Аноним 21/04/21 Срд 10:40:26 20032521887
image.png 23Кб, 602x198
602x198
Что это за хуйня? Почему у меня бросается исключения на проверку на налл?
Аноним 21/04/21 Срд 13:04:54 20033941888
Screenshot1.png 17Кб, 513x439
513x439
Объясните маслёнку, почему в ListBox первой формы просто так не добавляются элементы, полученные из второй формы?
Аноним 21/04/21 Срд 13:58:22 20034171889
Кто может пояснить за блазор? какая разница в производительности между обычним js и шарповским блазером?
Аноним 21/04/21 Срд 18:20:14 20036851890
Нужно в базе хранить JSON не в виде JSON-объекта или строки, чтобы потом можно было собрать из него объект и послать/схоронить куда нужно. Да, понимаю что бредово, но так надо.
Так вот, покритикуйте структуру того как я вижу эту сущность в таблице:

JsonToken
{
int Id;
int TypeId;
int? ParentId;
string Name;
}

Ну, собственно меня что лично меня смущает - ParentId - нужен исключительно в случае если нужно хранить объект, т.е. его наличие зависит от типа. В случаях если это будет число, строка, булево и т.д. это значение будет всегда null. Но как без этого - я не придумал. Ну и я еще не придумал как, хранить описание массива, разве что каждому типу - хуйнуть дополнительный тип для массива и будет int - intArray, string - stringArray и т.д.
Аноним 21/04/21 Срд 21:47:36 20038381891
Аноним 21/04/21 Срд 22:28:54 20038991892
1.png 36Кб, 670x645
670x645
2.png 23Кб, 794x433
794x433
3.png 33Кб, 728x621
728x621
>>2001891
Я не совсем понял что ты узнать хочешь.
Вот накидал вроде то что у тебя написано.
Выдели крассным где непонятно.
Аноним 22/04/21 Чтв 01:23:23 20040201893
Всё думал вернуться в шарп, но это чудо https://github.com/migueldeicaza/gui.cs прям смотивировало меня. тащусь от консольных интерфейсов
Решил что для начала это будет что то не сложное, например вытягивание инфы о железе. Но меня ждал облом в виде https://github.com/dotnet/runtime/issues/22948
Как так, позиционируют себя мультиплатформой, но такой базовой вещи нету. Там что то пиздецовое с реализацией, что аж в .net 5 нету? Там кто то указал свою либу на этот счёт, а нативных вариантов(с мультиплатформой) нет?

Алсо, подкиньте идей на тему какой нить консольной апликухой и обязательно кроссплатформа.
Аноним 22/04/21 Чтв 02:27:33 20040331894
image.png 84Кб, 742x424
742x424
image.png 598Кб, 600x338
600x338
Ребят вот к примеру есть такая картинка в консоли.
Ну понятно что массив символов и они потом выводятся на консоль.
Вот вопрос мб есть какая библиотека для интерпретации символов в изображение?
Что бы не делать скрин символов в консоли а сразу получать изображение?

Нахуй мне это надо?
Ну так от нехуй делать и для практики написания кода. Вообще щас аспНет изучаю но уже давно понял что надо делать перерыв на неделю и изучать что то другое, если я что то не понимал то потом когда снова возвращаюсь к изучению все становится сразу понятно.
А картинки то зачем?
Хочу обучить нейронку создавать картинки аля матрица, правда еще не совсем понял как. Я с нейронками на Вы и стоя. Не совсем понимаю как она должна выглядеть. На каждый пиксиль по нейрону? А не дохуя ли? Пока вижу дело так: Просто алгоритмом из rgb в символы, и набираем масив для обучения, руками выбираю картинки которые нормально получились, далее гружу их в нейронку и треню, хуйня конечно получится но все же лучше чем по 4 разу перечитывать метанит лол
Аноним 22/04/21 Чтв 07:03:07 20040811895
>>2004033
А что там делать-то? Тебе нужно просто получить насыщенность какого-то куска картинки и заменить ее символом. Самому такую вот библиотеку написать - час работы. Для работы с картинками - берешь Image, просто рассчитываешь размер картинки и размер консоли, так выбираешь размер курсора, проходишься по картиннке курсором, усредняя значение насыщенности, затем заменяешь символом который ближе всего к данной насыщенности.
Аноним 22/04/21 Чтв 07:04:26 20040821896
>>2004081
Да, не насыщенности, а яркости.
Аноним 22/04/21 Чтв 12:46:05 20042801897
Сап сишарпяня. Как эффективно изучать шарпы в 21к? Смотрел официальную доку от майков. Как-то не структуированно. Metanit вообще годный для этого? Хотелось бы чтобы было структурно, но и не талмуды размером с войну и мир.
Аноним 22/04/21 Чтв 15:45:07 20045051898
>>2004280
Ну как тебе удобнее.
Мне например удобно читать книгу если что то не понятно то смотреть видос по теме, а если нужно что то напомнить то читаю метанит.
Метанит собственно это не сайт с уроками, это как справочник.
Аноним 22/04/21 Чтв 16:16:13 20045431899
>>2003899
Почему в данном коде используется BaseList, а не IBaseCollection в "void AddRange", ведь в аргументах стоит "this IBaseCollection collection_name"? BaseList же всего-лишь наследник IBaseCollection.
Аноним 22/04/21 Чтв 16:55:47 20046061900
1619099823621.jpeg 19Кб, 332x141
332x141
1619099823633.jpeg 18Кб, 423x124
423x124
Сап шарп, направь меня на путь истинный. Пилю на колене html редактор на wpf'e и тут внезапно стал вопрос как сделать обработку каретки, а точнее подтягивать в комобобоксы с html шрифт/размер в зависимости от нажатия курсора в редакторе на слово. В редакторе у меня просто grid в который через .Children.Add() загружает System.Windows.Controls.WebBrowser, а в нем mshtml.HTMLDocument (а уже в нем есть innerHtml).
Пока что ничего умнее как
Спарсить слово на каретке
@
Посчитать количество таких слов перед выбраным словом
@
Найти слово через n количество слов в сыром htmle и спарсить параметры

Но мне кажется что такое будет подлагивать на больших документах и вообще какая-то костыльная хуита. Как такое реализовано во всяких вордах и т.д.? Мб есть какой-то похожий готовый проект на гитхабе?
Аноним 22/04/21 Чтв 16:58:46 20046111901
>>2004505
Троелсен, норм вариант? Посоветуй книгу с практическими уроками, или ресурс. Если такое есть. Именно практика интересует, если есть. Спасибо заранее.
Аноним 22/04/21 Чтв 17:04:42 20046191902
Аноним 22/04/21 Чтв 17:13:26 20046391903
>>2004611
Тролсен редкое говнище, чувак вообще писать не умеет.
Если знаешь английский, то bart de smet c# unleashed.
Аноним 22/04/21 Чтв 17:19:26 20046451904
>>2004639
> bart de smet c# unleashed
Спасибо, он не сильно устарел?
Аноним 22/04/21 Чтв 17:20:21 20046471905
Здравствуйте, господа. У меня тут курсач объявился, обязательно нужно делать десктопное приложение, а времени уже почти нету.
Я так подумал, что быстрее всего такое можно будет сделать на шарпе, в Visual Studio всё же формочки клепаются за минуту, а обработка событий вообще за даблклик ЛКМ.
Так вот, такой вопрос, каким инструментом будет лучше и быстрее всего организовать работу с БД? Желательно что-то такое, с чем не надо будет особо разбираться, ну и чтобы у меня всё парсилось в сущность, а не в массив какой-то.
Аноним 22/04/21 Чтв 17:24:06 20046511906
>>2004645
Новые фичи сишарпа после 5 версии потом как семечки будешь щелкать, там серьезные основы заложены, а это главное.
Аноним 22/04/21 Чтв 17:58:48 20047011907
>>2004651
благодарю, попробую
Аноним 22/04/21 Чтв 18:59:40 20047691908
В общем, я тот кто вчера спрашивал про JSON внутри БД.
Так вот, я таки вот так и реализовал. Но обнаружился критический косяк - массивы, блядь.
Я теперь не представляю как оно должно выглядеть.
Блин, вот если бы тимлид не был таким вот любителем усложнить задачу, когда осталось 2 недели до дедлайна, а просто как люди - вынесем ДТО и интерфейсы для сервисов в отдельную сборку. Не, это слишком просто, пусть у нас сервисы друг другу представятся по рестапи, каждый сервис сохранит и будет из базы дергать и восстанавливать из этого дела JSON и только потом отправлять. ВЕДЬ: А вдруг забудет кто-то в общую библиотеку добавить изменения, а так представились и заебись.
Аноним 23/04/21 Птн 01:37:13 20051071909
>>2004647
entity framework же православный.
Аноним 23/04/21 Птн 01:38:30 20051081910
>>2004081
Ну эт сделал. А как дальше дата сет собрать из этого всего?
Вот я тут задавал вопрос >>2005094 → в
Если кто знает ответьте плыз
Аноним 23/04/21 Птн 03:10:46 20051431911
image.png 62Кб, 1083x743
1083x743
Как переписать это говно чтобы работало?

То есть я хочу открывать xls таблицы внешним инструментом. У меня .net core 5

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

Вот в нетфреймворке вроде так и было. Но в коре так не работает, надо прямо указывать экзешник
Аноним 23/04/21 Птн 03:19:49 20051451912
>>2005107
>entity framework же православный.
Я только начал вкатываться, такой вопрос - а в EF можно делать что-то сложнее примитивных таблиц?

Например сразу выдавать без лишних LINQ запросов составные запросы с сложными условиями? Или например форматирование? (например в базе в поле у меня такой полный формат даты, а в программе мне нужно более сокращенную форму выводить)
Аноним 23/04/21 Птн 11:10:49 20053261913
Wpf, переопределил в App.xaml.cs main():
[STAThread]
static void Main()
{
App app = new App();
MainWindow window = new MainWindow();
app.Run(window);
}

Почему на app.Run может запускаться 2 окна? В конструкторе ничего такого нету.
Аноним 23/04/21 Птн 12:03:51 20054101914
>>2005145
>(например в базе в поле у меня такой полный формат даты, а в программе мне нужно более сокращенную форму выводить)
А при че тут EF?
Получаешь сраный DateTime и интерпретируешь его как тебе надо
Аноним 23/04/21 Птн 15:47:33 20057361915
Я когда-то видел какую-то пиздатую либу чисто для сжатия на шарпе где было 9 методов сжатия, может кто напомнит как она называется? На сайте у них в доках еще была таблица сравнения этих методов.
Аноним 23/04/21 Птн 17:39:14 20059401916
6546456.jpg 1192Кб, 961x960
961x960
Шарпаны, учусь уже почти 4 месяца, поковырял WPF, Winforms, ASP.NET Core, Unity.
Сейчас хочу срочно вкатиться куда-нибудь джуном (сейчас ебашу на проклятом заводе, убил уже всё здоровье себе). Готов работать за еду, выжигать глаза, ебашить 20 часов в день, лишь бы взяли.
Куда же всё-таки проще вкатиться, в веб или геймдев? Одинаково приятно и то, и другое. Просто нужно определиться, какую платформу дрочить вглубь, чтобы ускорить процесс перекатывания на новое рабочее место.
Аноним 23/04/21 Птн 18:17:32 20060101917
Аноним 23/04/21 Птн 18:20:27 20060151918
>>2005940
Проще в QA. Для примера практика нашей конторы - не тянет на джуна но вроде что-то знает - предлагают в QA пиздовать, если есть места.
А так. В геймдеве ты соревнуешься с толпой школотронов, которые МЕЧТУ лололо хотят воплотить, еще не зная что прогер в современном геймдеве сосет хуй. В вебе ты будешь соревноваться с выпускниками вузов в основном и бывшими пхпшниками.
Аноним 23/04/21 Птн 22:43:24 20062431919
Аноним 24/04/21 Суб 01:31:32 20063861920
Как читать данные из checkbox как из потока? То есть, у меня в чекбоксе есть цифры и буквы в определённом порядке без пробелов. Я хочу числа запихнуть в инты, а буквы в чары.
Аноним 24/04/21 Суб 02:37:21 20064051921
Как читать данные из textbox как из потока? То есть, у меня в текстбоксе есть цифры и буквы в определённом порядке без пробелов. Я хочу числа запихнуть в инты, а буквы в чары.
Самоисправил
Аноним 24/04/21 Суб 07:27:30 20064561922
Почему у меня Random работает неправильно, но когда врубаю отладчик и смотрю работу по шагам, он начинает работать как и планировалось?
Аноним 24/04/21 Суб 07:34:15 20064591923
>>2006456
А всё, понял. Дело в тиках.
Аноним 24/04/21 Суб 07:46:56 20064631924
>>2006386
foreach (char letter in checkboxString)
{
if (letter.IsNumber);
if (letter.IsLetter);
}

Помоему как-то так.
Аноним 24/04/21 Суб 09:33:17 20064781925
Я понимаю, тред элитный, но уже почти 2к постов.
Может быть таки перекатите?
Аноним 24/04/21 Суб 12:19:34 20065801926
>>2006478
>Может быть таки перекатите?
>Перекатывайте сами
>Кто, я?!
Аноним 24/04/21 Суб 12:30:19 20066021927
(Изображение PN[...].png 81Кб, 426x336
426x336
Аноним 24/04/21 Суб 16:55:14 20070611928
>>2006463
Я имел в виду текстбокс.
Аноним 24/04/21 Суб 20:25:29 20073461929
Аноним 24/04/21 Суб 21:53:22 20074371930
>>2007346
Хорошо. А как перемещаться от символа к символу?
Аноним 25/04/21 Вск 08:01:57 20077931931
>>2007437
Я тебе выше уже написал, не тупи.
Аноним 27/04/21 Втр 02:56:18 20097911932
Какие более-менее open-source проекты, порекомендуете новичку (на шарпах, естественно)?
Аноним 27/04/21 Втр 12:32:15 20100291933
>>2004619
Нет, я пытаюсь разобраться в новой теме
Аноним 27/04/21 Втр 21:53:16 20107231934
e0e4d57f5d2689b[...].jpg 38Кб, 707x720
707x720
Аноним 28/04/21 Срд 15:20:49 20114791935
1619612525028.jpeg 17Кб, 1920x39
1920x39
Я знаю что мне хуй кто ответит по моему вопросу, но все же попытаюсь - юзаю по совету одного анона пару тредов назад AdonisUi на wpf'e. Я юзаю один всратый (в плане его результатов) обфускатор под назаванием SmartAssembly и он даже без настроек проекта заворачиватет адонисовское окно на фуллскрине в белую рамку. Кто нибуть знает, можно ли это как-то пофиксить в msil'e? Или подскажите может кто знает бесплатный обфускатор с шифрованым хранилищем строк как в смартассе (можно даже без обфускации как таковой)?
Аноним 29/04/21 Чтв 10:32:51 20124701936
Аноним 11/05/21 Втр 00:26:19 20271601937
Как узнать что я быдлокодер, и не смогу вытащить программирование из-за отсутсвия интеллекта ? Знаю базовый синтаксис плюсов, шарпа, немного дотнет. Есть ли примеры задачек, если их не решить, то не стоит идти дальше, конечно не совсем банальщину, но такой минимальный уровень, который не будет бесполезным, и сможет зарабатывать деньги ? В вёрстку нехочу, слишком однообразно и неинтересно, хватает только на еду. Фронт ендер со знанием джаваскрипка для хорошей зп тоже должен иметь хороший интеллект для написания веб приложений
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов