В треде так же приветствуются F# и бэйсик бля ты ебанутый на VB писать?В: Хочу вкатиться, что мне надо делать?Пиздуй в ява тред, а потом выучи конструкцию {get; set;} и линкью. Все - ты знаешь сисярп чуть лучше хелловорлдщиков. Ну и еще можешь метанит прочитать. А теперь иди нахуй.В: Ряяя, сисярп тока на винде работает!11! Бджвава лучше!Гугли нет кор, долбаеб ебучий. А теперь иди нахуй.
Есть async метод, назовём его getMutex.Есть есть другой метод, назовём его foobar, который бесконечно распределяет ресурсы. getMutex должен получить от этого метода ресурс и продолжить работу. Сейчас я из getMutex закидываю определённый объект в очередь, которую съедает foobar. foobar решает, что этому объекту пора отдать ресурс и выставляет (там внутри monitor, проблемы с одновременным обращением не будет) у объекта поле в true. В этот момент в getMutex происходит active lock видаwhile (!obj.field){Thread.Sleep(10);}Теперь вопрос: Я хочу, чтобы getMutex получил от foobar уведомление о том, что getMutex может продолжать свою работу. Как это делается правильно?
>>1310867Сам нашёл: https://docs.microsoft.com/en-us/dotnet/api/system.threading.manualresetevent?redirectedfrom=MSDN&view=netframework-4.7.2
Итак, я Java-манки, который твёрдо решил перейти в геймдев на C# + Unity. Пока я в восторге от этого всего.1. Что читать по C# в первую очередь, тут есть аналог "Философии Java" Эккеля?2. Нужны ли какие-либо курсы (помимо литературы и туториалов), если да, то какие? SkillBox и GeekBrains - лажа или нет?3. Где лучше искать стаж?
Что будет эффективнее в плане оптимизации?Это...StringBuilder response = new StringBuilder(url); response.Append(name); response.Append('?');Или это...StringBuilder response = new StringBuilder(url + name + '?');По идее второй вариант более читаемый и красивый, но тут будет создаваться, наверное, один лишний обьект string, что не есть хорошо. Или же компилятор это соптимизирует все?Помогите, я в растерянности.
>>1310965Создай цикл на пол миллиарда итераций и реализуй в нем сначала первый вартант, потом второй. И посчитай время.
валеры, поясните нововкатывальщику. Сейчас читаю https://dotnetcademy.net, решаю потихоньку примеры. До этого был опыт программирования на ксс и штмл, так что вроде все понимаю. Кроме пропертис. Вот кусочек кода:using System;public class Person{ public string FirstName { get; set; } public string LastName { get; set; }}учебник пишет:Properties allow us to add state to our class. State can be anything which needs to be stored by an instance of your class.То есть пропертисы хранят что-товопрос:а зачем они нужны, если есть просто переменные?Пропертисы и переменные это разные вещи?Или это все подвязано как-то с областью видимости?Почему я не могу написать так:using System;public class Person{ string FirstName = "имя"; string LastName = "фамилия";}
>>1311008>а зачем они нужны, если есть просто переменные?Они заменяют Гетеры и Сетеры, их использовать удобнее и красивее. Поля класса нежелательно делать public, потому-что это нарушение инкапсуляции, в свойстве же ты можешь контролировать поступающие данные.>Пропертисы и переменные это разные вещи?В C# поля и свойства это разные вещи.>Почему я не могу написать такПотому-что если тебе нужно задать значение по умолчанию которое не будет меняться в будущем то лучше использовать константу. Если же тебе все-таки нужно менять значение, то поступающие данные нужно как-то проверять перед тем как присваивать переменной, например чтобы имя и фамилия человека не могли содержать цифры, тут-то и нужны свойства\гетеры\сетеры, чтобы при поступлении какого-либо значения ты мог проверить его на корректность.
>>1311008https://metanit.com/sharp/tutorial/3.4.phpОтвет найдешь тут, в комментах под каждой главой увидишь вопросы и ответы на них, в том числе и на твой вопрос тоже там отвечали.
Посоны, в туториале по созданию игры "Крестики-нолики" на Юнити рекомендовали сделать внутренние классы в классе-контролере. Это нормальная практика для скриптов Юнити, или лучше вынести эти классы в отдельные скрипты (отдельные файлы, как в Джаве)?[System.Serializable]public class Player{ public Image panel; public Text text;}[System.Serializable]public class PlayerColor //этот класс содержит константы (panelColor и textColor), инициализируемые в Unity{ public Color panelColor; public Color textColor;}Алсо, при запуске скомпилированной игры, пропал текст на двух панелях, которые служат для отображения того, чей ход (при запуске через Unity он нормально отображается).
>>1311499Всё, разобрался. Тут nested classes в скриптах и правда нормальное дело, проблема с графикой возникла из-за скриптов.
А вы размещаете на своём гитхабе скомпилированные программы? Если да, то как, кидаете папку со скомпилированной программой в папку с локальным репозиторием, добавляете и коммитите?
Антоны, читаю про фабрику контроллеров Фримена, там есть такой вот код:default: requestContext.RouteData.Values["controller"] = "Product"; targetType = typeof(ProductController); break;Можете сказать, за что отвечает вот эта строка?requestContext.RouteData.Values["controller"] = "Product";Я чет проебался и не могу понять, зачем оно нужно, а из объяснения тоже ничего не понятно.
>>1311641А не, я все понял, надо было английскую версию открыть, это в русском переводе все по уебански было написано.
>>1311666>>1311667За 5+ лет существования, как видишь, не загнулись. За последний месяц создавал несколько issues, реагируют мгновенно
Сап, анончики.Можете помочь очередному нубасику хотя бы советом?Типичная вузовская задачка:Дан массив размера n. Найти номера двух ближайших элементов из этого массива (то есть элементов с наименьшим модулем разности) и вывести эти номера в порядке возрастания.Вроде, пролистать одномерный массив и найти наименьший модуль разности несложно, как и вывести номер элемента через итератор.Но, я рылся по сайтам как вывести в порядке возрастания номера элементов массива и ничего не нашел.И самое главное, а что, если элементы массива будут повторяться? А что, если весь массив будет состоять из одних и тех же значений, как тогда выводить все повторяющиеся значения? На все эти вопросы ответа, увы, не нашел. Буду рад услышать их здесь, тем более, наверняка, тут полно готовящихся к сессии анонов. Возможно, что я зря заморачиваюсь, а решения через нахождение одного из минимальных значений(забить хуй на повторения и прочее) будет достаточно.
>>13117151)Как вывести номера элементов в порядке возрастания?2)Как вывести не два номера элемента, а номера всех элементов, что имеют равнозначно минимальную разность(например 1 также близка к 2, как и 3, разница по модулю 1)?
>>13117211) Сделай копию массива(аrr2). Ориджинал отсортируй(arr1) гугли сортировку пузырьком, а потом по отсортированому(arr1) ищи циклом индекс значений во 2 массиве(arr2) и записывай в новый массив(arr3) индексы 2 массива, его и выводи.2) Цикл до размера массива-1 в нем еще один такой же и в нем берешь разность (arr и arr[i+1]) и сравниваешь значение во втором цикле(arr[j] и arr[j+1]) по всему массиву сначала.Накидал навскидку, возможно существуют решения и получше.
>>13117361)Разве сами по себе индексы массива можно выводить или как-то с ними оперировать? К ним же можно только обратиться.2)Имеем на деле выход за предел значений массива(конструкция arr-arr[i+1]. Ну и не догнал что с чем должно сравниваться, ибо получившаяся разность никак не связана с парными индесами, следовательно, от сравнения толку мало.
>>13117481) Нет вообще в линкю есть методы с реплейсами и т.д., а еще есть словарь, но мы же берем в учет что это задание в шараге и за такое тебя вероятно пошлют нахуй, именно поэтому я тебе выше написал как можно сделать. Индекс просто i в цикле, его и запиши, очевидно же.2) Я же писал что размер-1. В случае с минусом, просто i=размер; i>1. Разность в первом цикле ты получаешь и эту разность ты проверяешь во втором цикле ко всем элементам массива (от начала до конца). Но судя потому что ты написал (тебе нужна минимальная разность), то тебе нужно сначала очевидно найти ее и потом с ней можно найти все одним циклом - if (минразность == arr и arr[i+1]) записать(или что там тебе нужно);Господи, не тупи, и так уже тебе много подсказал.
Ладно чуваки, без тряпок. Фронт енд изучается примерно за год 5-8 часового аутирования. Что с С#, сколько нужно времени? Материала достаточно? Математика пиздец нужна?Ну не обсыкивайте, пожалуйста, я понимаю что это пиздец частый и пиздец тупой вопрос, но примерные временные рамки должны быть.Спасибо за ответы.
>>1311851Зависит от твоего уровня, если с нуля, то за год можно изучить всё необходимое. Советую вот эти ресурсы: https://professorweb.ru/ и https://metanit.com/
Кароч скачал сегодня vs 19. Думал что баги поправили и скорость работы на калькуляторах повысили...АГА ЩАС - сказал БиллиВот так вот и хочется закинуть ему за щеку. Майки что это такое? Что опять б*ь произошло... Почему пользователи шарпа пользуются нормально и у них ничего не лагает даже на 2 коре самой перой.Похоже что в самой МС студией даже не пользуются. Одни свистелки перделки, а под капотом автоваз.Я высказался, пойду скачаю райдер.
Сап, сисярписты. Знаю, что меня сейчас обоссут, но лучше помогите! У крестоводов и сибояр есть так называемые фаст-либы, в которых функции это обертки над ассемблерными вставками. Таким образом они повышают производительность, например математических вычислений. Есть ли способ заюзать все это на C#? Какие вообще есть методы оптимизации в C#, кроме 1 галочки в настройках проекта? Хочу чтобы мой хеллоуворлд работал быстрее, но переписывать его на C/C++ не хочу. Помогите!
>>1312824unsafe/алгоритмы/ассемблерные вставкт, если проект изначально писался оптимизированным. Избавление от LINQ и динамической типизации, если это был прототип.
>>1312838Unsafe практикуюв силу знаний, алгоритмы тоже. Так все таки можно ассемблерные вставки на C#? Расскажи как, я нагуглил ровно нихуя. На stackoverflow вообще пишут что нельзя, но я им не верю. >Избавление от LINQ и динамической типизации, если это был прототип.И тут можно поподробнее? Спасибо анончик.
>>1312838НАШЕЛ!https://esozbek.me/inline-assembly-in-csharp-and-dotnet/Вот если кому интересно. Даже либа есть. Хотя она у меня не хочет работать, ну и похуй, байтики буду вставлять!
Какие темы (потоки, мультитрединг, дженерики) и какие фреймворки изучать в C# в первую очередь, если цель - Unity-разработчик?
>>1313063> Какие темы (потоки, мультитрединг, дженерики) и какие фреймворки изучать в C# в первую очередь, если цель - Unity-разработчик? Unity - это и есть один сплошной фреймворк.Потоками он сам занимается. Учи сам сисярп. Остальное в документации по юньке. Подходов там сейчас два: основной - он же легаси он же через MonoBehaviour и новый соснульно-хипстерско-быстрый через еблю с entity component system
>>1313069>Учи сам сисярп.Я пришёл из Жавы. Насколько я могу понять, тут всё очень похоже, вплоть до синтаксиса.
>>1311754Если в исходном массиве нет повторяющихся элементов, то почему бы не: отсортировать массив, взять первые два элемента, найти их индексы в исходном массиве, вывести в порядке?
Хочу написать парсер к одной игрушке которая в логи пишет очень много информации, поэтому возник вопрос производительности, есть что-то лучше стандартных средств для анализа строк? На вхождение, на то чем строка заканчивается или кончается.Просто в секунду там будет порядка 10000-20000 строк для анализа как минимум и это судя по dotTrace одна из самых кушающих операций, вот и хочется как-то оптимизировать это дело.
Посоны, я запутался во всех этих ASP.Net: WebForms, MVC, MVC Core. Они все актуальны? В чем разница? С чего начать?
>>1313351Забей на все хуй и старайся смотреть core и все что с ним связано. Потом я бы смотрел web api & mvc (именно в этом порядке).
Время тупых вопросов.Как понять, что класс может принимать инициализатор?На примере ArrayList'а. Тут инициализатор не свойств, а типа как для массива, правильно? А как понять, что так вообще можно? По наличию IEnumerable? Или какой-то другой интерфейс?
>>1313501Представь, что тебе дали некий новый класс. Как ты поймёшь, что к нему можно применить инициализатор только не свойств, а как для массива?
>>1313650Все классы реализующие ICollection соответствуют требованиям для инициализатора, но не все соответствующие требованиям реализуют ICollection.
Возможно-ли реализовать SSE на C#? На хабре пишут что .Net поддерживается SIMD, я так понимаю это не одно и то-же (хотя в вики пишут что SSE это SIMD)?
Rider или VS?Что-то куда не ткни - везде первый нахваливают, почему тогда студия все еще популярна?Мимо-вкатчик
>>1313798Если ты линуксоид/макоблядь ну или просто хочешь сэкономить ресурсы - вс код. Иначе ставь студию. Райдер платная, неюзабельная и забагованая параша, нахуй ее. ну она была такой пол года назад, хз какая она сейчас.А вообще, иди нахуй, ебучий вкатывальщик. Поймешь, какой инструмент тебе нужен только когда вкатишься.
>>1313808>Райдер платнаяЛицензия на все продукты есть>неюзабельная и забагованая парашаНасколько критичные баги?
>>1313818Много где шрифты налазили друг на друга, в некоторых местах шрифт был больше формы раза в три. Сам интерфейс какой-то стремный и непонятный. Дальше я не смотрел, я просто перешел на вскод. Конечно, ты можешь возразить, что эти баги не критичны, но они явно говорят о качестве продукта. за который еще и платить надо!
>>1310862 (OP)Аноны сможет кто помочь? У меня есть класс обертка, который принимает ссылку на массив и делает с ним всякие вещи. Как сделать при индексации к этой обертки он возвращал массив из ссылки но уже измененный.То есть. Основной класс создает массив, создает экземпляр моего класса обертки и в конструкторе обертки кидает созданный массив, я над этим массивом шаманю в обертке и возвращаю к примеру длину массива.Потом основной класс индексирует мою обертку так: obertka[0] и получить n элемент массива или изменить n элемент типа: obertka[0] = 101, причем когда еще раз создать экземпляр обертки и опять индексировать обертку обратившись опять к obertka2[0], то опять получить 101.С меня тонны нефти и 2 чаю
Пожалуста помогите найти крутого программиста для моей РПГ игры. Оплаты нету, обещаю 40% от продаж игры. Вот идея:1-много монстров(40-100)2-много предметов(60-200)3-будут босы и много чего еще.У меня есть много интересных идей для своей игры. Пишите
Пожалуйста помогите найти крутого программиста для моей РПГ игры. Оплаты нету, обещаю 40% от продаж игры.Вот идея:1-много монстров(40-100)2-много предметов(60-200)3-будут босы и много чего еще.Думаю, мы заработаем много.
>>1314233Это мой тред, никуда уходить я не буду! А давай сделаешь еще больше монстров! И предметов! Круто же будет!
>>1314011Не до конца понял, что ты хочешь, но, кажется, тебе просто надо сделать статик свойство, которое будет хранить инфу о текущем состоянии
>>1310862 (OP)В треде есть такие монстры? Bachelor’s Degree in Computer Science, Electrical Engineering, or Computer Engineering5+ years experience as a software engineer in C#.net1+ years experience working in an environment where CI/ CD tools are usedHave a minimum of 2 years experience leading or mentoring junior developers2+ years experience in writing unit testsExperienced using Jira and Git2+ years in an environment where you used architecture principles and frameworksAt least 1 year of working experience using cloud services such as AWSProficiency in the following skills and technologies is mandatory:General database knowledge in a technology such as SQL Server/Oracle/MySQL/MongoDB/CassandraSOA, EDA, and Design patternsJavascript (ReactJS, AngularJS) , HTML5, CSS3Some experience in Linux, Django, REST and shell scriptingMVC and knowledge of another server-side programming language (Ruby, PHP) is desired but not mandatoryDemonstrate success as a problem solverBe a results-oriented individualComfortable “working virtually” with teammates and customers around the worldGood proficiency in the English language
>>1314461позиция 300к/сек? какая вилка?Понравилось это:>5+ years experience as a software engineer in C#.net>2+ years experience in writing unit testsТ.е. подразумевается, что чувак мог кодить пять лет, из них 3 года он мог вообще не покрывать код тестами?
Где прочитать про магию на пикче? Я даже не знаю как оно называется всё, лол. Т.е. я понимаю, что он объявляет метод, но обведенное красным мне неизвестно.
>>1314532>Generic extension methodПрочитал статью про методы расширения (https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/classes-and-structs/extension-methods), там нет ответов на мои вопросы.1) Что за параметры <TInput, TResult> после названия метода, но перед его параметрами в круглых скобках? Как это называется? Я пока только знаю, что после названия метода сразу пишутся параметры в круглы скобках.2) >Их первый параметр определяет, с каким типом оперирует метод, и параметру предшествует модификатор this. Я понимаю, когда мы расширяем тип string>(this String str)Но что мы расширяем здесь? Что это за тип?(this TInput o, ...
>>1314541Теперь читаю статью про дженерики (https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/generics/)1) Так указываются универсальные типы, используемые в методе. То есть в качестве аргументов ты можешь передать объект любого типа. Но конкретно в твоем примере еще стоит ограничение (where TInput : class), это значит, что аргументы этого метода могут быть только ссылочного типа (класс, делегат, массив и тд)2) Исходя из предыдущего пункта, думаю, понятно, что ты расширяешь то, с чем придется работать методу
Пиздос 2 дня ебусь с этим:Есть какой-то всратый проект на asp.net, и нам кинули его на доработку. Я раньше с этой технологией вообще никогда не работал. Суть в том что с вьюхи ajax запросом посылаются данные на сервис url: "/../Services/WebService.svc/SaveDirector" Но фишка в том что если нахрен всё удалить с этого файла, он так же будет работать и записывать в базу и т.п. 0 реакции на его изменения, только ошибка когда уже полностью удалю его. Я так понимаю это какой-то WCF сервис или что-то такое[OperationContract]public void ContactDirector(string FirstName){ ...}Вот так выглядит этот метод
>>1314596Немного не тот метод скопировал, но они одинаковые по сути. Похоже на какое-то кеширование что-ли
>>1310862 (OP)Cуп программачХочу кодить для себя 2д игори на шарпе, что юзать? Думаю про опенгл, но какой фреймворк его реализующий более-менее живой и приличный?С меня нихуя, спасибо, анон
>>1314683Я юзаю sharpGL, вроде бы самый живой из всех. Про directx на шарпе хз,он вообще на кресты заточен.
Как работает логика ИЛИ ||?Например у меня есть несколько условий.if (yoba || dvach || abu) {...}Если йоба true, то что? Будет сразу выполнятся блок кода if или будут выполнены остальные проверки dvach и abu на выполнение условия?
>>1314753if(one || two || three)Если 1 тру, то код сразу выполняется.Если 2 тру, то код выполняется после проверки 1 и 2.Если 3 тру, то код выполняется после проверки 1, 2, 3.if(one | two | three)Если 1 тру, то 2 и 3 все равно проверяются. Если 2, то проаеряется 1, 2, 3.Если 3, проверяется 1, 2, 3
>>1314774Нахуй ты таким дегенератам отвечаешь, скоро будут спрашивать, как консольный проект создать>>1314753пошел нахуй ебанат
>>1314660Юнити, очевидно.Поскольку юнити ускоряет время разработки и массово присутствует на рынке, позволяя тебе не заморачиваться над мелкими проблемами.Ни один уважающий себя разработчик не будет писать ничего на устаревшем моногейме или пытаться собирать движок с нуля, это все просто нерационально.
Кто-нибудь использовал Xamarin? Насколько медленнее чем нативка под Андроид? 3d и сложные вычисления не нужны. Во что конпелируется код? В нативный байт-код для дважа-машины или в CLR, который пошагово выполняется на Дважа-машине/NDK?
>>1315031А хули сложного перевести шарп на jvm? Вроде и там и там стековые, очень похожие виртуалки.мимо
>>1315031>Кто-нибудь использовал Xamarin?Если в андройде и так страдают, просто ставь х2 в своем хамарине.>>1315148>А хули сложного перевести шарп на jvm? Очередной пук, он не знающего. Не знаешь - не лезь, я говорю это чтобы ты думал.Офк я не советую заниматься некрофилией.
Как на рынке труда обстоиит нынче дело с .net у нас и в Европе? Куда несет микрософт со своим детищем
>>1314832Да. Например в app.config, или в... смотря что ты используешь для доступа к бд.>>1315214>Куда несет микрософт со своим детищем В Core и опенсорс
Поцаны, поясните за книгу троелсена для вкатывания. Читаю в оригинале, вроде все понятно, но заданий для закрепления нет. Это вообще нормально для вкатывания просто читать учебник и изучать строки кода из учебника в visual studio?
>>1315292я не помню были ли хоть в одной из книг "задания для закрепления", но я 100% помню, что не выполнял ни одно из них. Являюсь хорошим программистом
>>1315303те книги, которые я читал, уже устарели и были по другим языкам. Один из авторов был Никита Культин: https://www.litres.ru/nikita-kultin/Но те книги, которые сейчас в списке, я не читал. Шарп у него 2010 года, это ещё до async/await, это слишком старая книга.Сам я Шарпу учился... сам. Как бы смешно это не звучало. Я залип на первой-второй главе Тро-ло-лоэльсона и вместо книги начал просто писать код в Райдере, который за меня поправлял те или иные вещи. Потом уже подтянул знания вида ref/out/in
Осваиваю Юнити, чувствую, что это прекрасный инструмент.Но у меня вопрос - некоторые ругают Юнити, так как считают его производительность низкой. Тем не менее, на hh.ru достаточно вакансий Юнити-разработчиков, и насколько мне известно, на Юнити есть даже успешные ААА-проекты.В чём правда? У Юнити плохая репутация из-за потока криво написанной индюшатины?https://www.youtube.com/watch?v=OBtaLCmJexk
Учусь по книжке Алексея Васильева "Программирование на C# для начинающих"Во втором блоке задач не могу осилить задание 6, хотя это самое начало, все должно быть элементарно.Суть в чем: Вводишь число в десятеричной системе, программа проверяет вторую цифру в восьмеричном представлении числа.Каким алгоритмом это можно сделать, используя те инструменты, которые дал к этому моменту автор, а это пару типов переменных, их приведение, арифметические, логические, побитовые операторы.Вещи вроде этой я пока знать не должен:string s = Convert.ToString(15, 8);Каким алгоритмом это можно сделать.
>>13159391)переводишь с помощью тупой формулы и циклов в нужную систему2)циклом while определяешь разрядность, типа после каждого прохода увеличиваешь на один, до логики сам допри3)проверяешь цифру
>>1316156Не используя циклы, это следующая тема.Используя цикл, я и сам смог бы это сделать.В любом случае, спасибо за ответ.
>>1314753Зависит от языка и реализации. В дотнете по дефолту если йоба тру, то остальные проверки НЕ выполняются.
А есть какие-то помощники по C# на андроид, по типу программы Дуалинго - для изучения иностранных языков.
>>1316223Sololearn, там сами курсы очень базовые, но есть пиздатый пвп режим, где надо на время отвечать на вопросы
Увидел в коде одного проекта которые использует ToString как дебаг на своих объектах и сразу возник вопрос, нахуя тут проверка на нулл?Ведь даже если сделали override, то нулл никогда не вернутся, а возвращать null из tostring это уж совсем ебанутость.if(obj.GetType().GetMethod("ToString")!=null){}
>>1316361Возможно какой-нибудь анализатор ругался "ай-ай-ай не проверяешь на нал перед использованием" и чтоб он отъебался подперли костылем.
>>1315880Юнити хорош для прототипирования. Хочешь скорость и мультиплатформу на c# - смотри в сторону моногейма (но там пиздец кривой апдейт выкатили, в версии 3.7 контент лоадер поломали)Юнити содержит в себе кучу всего, отсюда факап производительности.
Вот есть веб сервис (WCF)Возможно ли написать этот сервис у себя, только со своей реализацией?Ведь интерфейс доступен, binding доступен, что еще нужно?
>>1316634> в версии 3.7 контент лоадер поломали)Они даже на сайте в разделе новости не написали о выходе, лишь добавили на страницу загрузки. На сколько мне известно, уже пофиксили вроде как. Для моногейма надо "ночные" сборочки держать или собирать самому. мимо
Анон помоги. Ебусть с EF Code-First (точнее оно меня ебет). Я создал nullable foreign key и хочу, чтобы при удалении строки табицы, все те кто ссылаются на неё получили внешний ключ = null. Можно как-то настроить так, чтобы это происходило автоматически?Говнокод прилагаю: https://pastebin.com/8j8tHbv7
>>1315880У юнити великолепнейшая репутация. Это лучший и производительнейший на данный момент движок. Половина игр сейчас сделана на юнити. Вторая половина только проиграла из-за того, что сделана не на юнити. По-сути, в современном геймдеве есть только два кейса: 1. Ты используешь юнити.2. У тебя проект на десятки лямов баксов (тогда может профитнее написать собственный движек).
>>1317211>тогда может профитнее написать собственный движек> тогда профитнее использовать написанный 15+ лет назад и допиливаемый по сей день собственный движок, потому что бабки на его разработку потрачены а их надо отбивать.Пофиксил тебя. Тащемта, уже многие ААА разработчики свои не основные проекты пишут на UE4, например Square Enix последний Kingdom Hearts 3, не смотря на наличие собственного пихла от финал фантази 14. У юнити ниша - инди разработчики и некрупные фирмы, где графоний чисто по человекочасам/(штат*уровень команды) топовый делать не будут, а на простом графонии он и не тормозит.
>>1317223Совсем примитивное 2д-индецо вроде тобой перечисленного, конечно, лучше на мелких библиотеках писать, для него юнити действительно из микроскопа по воробьям.
>>1317224А всё это потому, что инхауз движки, как правило, имеют хуёвый инструментарий, писались местыми байтослесарями для местных байтослесарей и единственным смыслом их создания было тупо отсутствие 15+ лет назад подходящих коммерческих, умеющих в хотелки и оптимизон разработчиков. GTKRadiant застал в свое время? Вот примерно такое же юзабилити у всех внутренних движков, напару с говном в кодовой базе и постоянным допилом.
>>1317224ue4 это же плюсы, мобильные игры на анрыле зачастую охуенно оптимизированы при консолеграфоне, но их по пальцам сосчитать можно по сравнению с игрулями на юнити
Дали очень странное тестовое задание.Вкратце, нужно написать некий Web-сервис, отдающий наружу REST, с данными из базы. Вроде все просто, Web API + Entity Framework.НО: сервис должен сам, у себя (на сервере) регулярно, с заданной периодичностью обновлять базу.Уточнил, можно ли сделать 2 программы - Windows службу для обновления базы и ASP.NET MVC сайт, оказалось, что нет, должно быть одно приложение.Есть идеи, братишки? Вообще не ебу, как в одной проге совместить и службу, и ASP.NET приложение.
>>1317352В чем проблема?https://blogs.msdn.microsoft.com/cesardelatorre/2017/11/18/implementing-background-tasks-in-microservices-with-ihostedservice-and-the-backgroundservice-class-net-core-2-x/
Возник такой вопрос производительности в такой вот задаче.Есть словарь которые хранит другой словарь, так вот первый словарь получает новый элемент ОЧЕНЬ редко, но очень часто происходит итерация по этим словарям.Этот первый словарь должен быть сортированным чтобы обрабатывать команды в нужном порядке стоит ли заморачиваться и делать при каждом добавлении новый словарь через orderby или тупо использовать sorted dictionary?Гугл вроде как говорит что итерация по sorted dictionary дороже чем просто по dictionary, а то что там добавление очень дорогое мне пофиг, так как добавляю я раз в десятки секунд, а вот итерация идет под сотню раз в секунду.По коду я имею ввиду словарь Dictionary<int,Dictionary<key,MyType>> и SortedDictionary<int,Dictionary<key,MyType>>.
>>1317072Короче, как всегда, сосач бесполезен. Можно либо явно грузить таблицу c FK через Load, либо создать ответное навигационное свойство.
>>1317382Словарь имеет время поиска по ключу O(1). Зачем тебе словарь, если ты все равно перебираешь все элементы? Также обычный словарь не гарантирует, что он вернет в перечислителе элементы в том порядке, в котором они были добавлены.
>>1317424Странно гуглил этот вопрос и SortedDictionary вроде как имеет n log.Мне нужно создать что-то типа обработки элементов по приоритету.Для этого и первый дикт который как бы проходит вначале приоритетные задачи, а затем уже ниже и ниже.При том данные еще внутри группируются по Key для оптимизации.Сейчас у меня лишь группируются данные которые идут подряд, но в большинстве случаев мне пофиг в каком порядке их обрабатывать поэтому на предварительной обработке я мог бы их сортировать по паре уровней и дальше бы они группировались по Key и давали бы еще больший прирост.И вроде бы словарь всегда возвращал в том порядке в котором были созданы ключи, еще не разу не сталкивался с иным поведением, только с Concurrency были косяки когда получаешь не совсем актуальные данные из-за этого пришлось выдумать опять же группировку и добавление по lock, чуть хуже по производительности, но зато всегда точно актуальные данные.
>>1317566>Странно гуглил этот вопрос и SortedDictionary вроде как имеет n log.Так это сортед.>>1317566>словарь всегда возвращал в том порядкеТем не менее, он не гарантирует это. Я в исходники не смотрел, но возможно при наличии коллизий при перерасчете хэшей может порядок изменится или в другой версии фреймворка что нибудь поменяют.А по поводу твоей задачи я нихуя не понял. Почему не сортедлист? Что касается прохода по всем элементам, то самый быстрый - массив. И что-то я сомневаюсь, что перебор элементов это то, что надо оптимизировать.
>>1317223> Undertale> Unepic> Papers, please> ну ты понелА оно не на unity сделано? Если нет - то зря. Могли бы не мучиться, и сделать вме на юнити в 3 раза быстрее и с вдвое меньшим количеством багов.>>1317224> Тащемта, уже многие ААА разработчики свои не основные проекты пишут на UE4, например Square Enix последний Kingdom Hearts 3, не смотря на наличие собственного пихла от финал фантази 14.Им, наверно, эпики бабла забашляли, чтобы те на их двигле игру писали. Других причин предпочесть этот движок я не вижу - он не то, чтобы говно, но вполне себе такое менее удобное недоюнити.> У юнити ниша - инди разработчики и некрупные фирмы, где графоний чисто по человекочасам/(штат*уровень команды) топовый делать не будут, а на простом графонии он и не тормозит.Ну, это смотря что понимать под некрупными фирмами. Если вообще все, кроме фирм с бюджетами в десятки лямов баксов за игру - то да, ты все правильно написал.
>>1317295В каком месте оно оптимизировано? Ты мне рабочий билд на ue соберешь меньше 20 мегабайт? Вот когда соберешь - тогда и поговорим.
>>1317647Хуй пососи, я в геймдеве не ебу и говорил про производительность и как пользователь. Нахуй мне твои 20 мегабайт? Я скачал крутую динамичную игруху с шикарным графонием и она работает без проседаний на моем древнем медиатеке, значит она оптимизирована хорошо.
>>1317646>Им, наверно, эпики бабла забашляли, чтобы те на их двигле игру писали. Других причин предпочесть этот движок я не вижу - он не то, чтобы говно, но вполне себе такое менее удобное недоюнити.У юнити, емнип, серьезные лицензионные проблемы с получением и допилом исходников - КОНСОЛЬНУЮ АПТИМИЗАЦИЮ НИЗДЕЛОТЬ. А без неё на соснулях на ванилле даже минималки уровня пеки с 30 кадрами не получаются.Поэтому и уеч для ААА второго эшелона.
Подкиньте годный уроков/курсов по ASP.NET, желательно в формате видео, можно на английском. Да и какие вообще есть качественные ютуб каналы по шарпу?
Решил вкатиться в asp.net mvc. Какие подводные? Сама концепция нравится. + c Bootstrap все зашибись получается.
>>1318197Вкатывайся в кор, никаких подводных. Главный подводный - тебе скорее всего придется выучить жс, чтобы уметь что-то пофиксить на фронте. Сейчас где работаю, у нас есть фронтэндеры, но легкий таск по фронту или фиксы частенько на меня кидают, поэтому первые пару месяцев очень сильно рвался с непривычки и болей от жс
>>1315880Просто в юньке есть много способов выстрелить себе в ногу, что зачастую и происходит. Вот допилят ECS, так производительность в несколько раз скакнет, а в определенных тасках так и в раз 10.
>>1318235Да, дело в том что базовые вещи понятны в C#. Читаю Троелсена, дошел до интерфейсов и что то сразу уныние.
Хочу начать изучать C#.Знаю С, Pascal, функциональщину. По Pascal знаком по сути со всем, кроме ООП. По C знаком со всей основой (указатели, си-строки). По функциональщине знаю Scheme, Racket на хорошем уровне. С чего начинаться вкатываться в C# с такой базой знаний? Желательно книги или видосы на русском, можно книги на английском.
>>1318413Я другой анон, но тоже хочется пояснений за интерфейсы. Нафига он нужны? Их используются просто как некую декларацию функционала? Типа гарантия, что в данном классе погромизд реализовал некие методы?
>>1318537Посоны, я собираюсь унаследовать свой IShitReository от INotifyCollectionChanged. Это норма или мне нужен еще один слой абстракции, чтобы соединять репозиторий биндингом с каким нибудь листбоксом.
>>1318537Это >>1318539 был миссклик, сорян. Но тогда уж отвечу тебе. Одна из функций интерфейса это да, контракт. Класс реализующий интерфейс обязуется реализовать все его методы. Но самое главное - интерфейс - это основа полиморфизма, а полиморфизм важнейшая составляющая ООП. C# шарп - ООП язык, а значит всё взаимодеёствие должно идти через интерфейсы (разумеется для сферического приложения в вакууме). А еще интерфейсы позволяют с легкостью покрывать код тестами.
Котаны, обоснуйте за Task.Factory.StartNew. Мне начинает казаться, что в каких-то непонятных ситуациях созданный таким образом тред не запускается сейчас же, а ждёт, пока не нём не сделают WaitAny/WaitAll/Wait. У меня есть код, в котором последовательно спаунятся 8k тасков, и в если в этом коде по некоторым причинам не запускается WaitAny на массиве из 1-5 тасков, то эти таски не запустятся на выполнение. Причём у меня очень много где есть Task.Factory.StartNew, но вот конкретно внутри одного очень длинного таска, запущенного с LongRunning, подтаски не запускаются мгновенно через Task.Factory.StartNew, хотя вроде бы должны
>>1318540Везде практически так же говорят, но ничего конкретного. Вот ты пишешь, что интерфейсы - это основа полиморфизма. А в чем это выражается?Вот как контракт я интерфейс воспринимаю. Наличие интерфейсов вносит определенный порядок в структуру классов.
>>1310862 (OP)>В: Ряяя, сисярп тока на винде работает!11! Бджвава лучше!>Гугли нет корДесктопа-то нет.
>>1318548А что тебе с поллитроморфизмом непонятно?virtual SomeType MethodName (ICoolInterface someObject)вместоvirtual SomeType MethodName (MyCoolClass someObject)
здесь беда больше в том, что когда заканчивается грань между изучением самого C# и углублением в тот же ASP.NET либо в WPF. ОПП изучил, но когда начинаешь лезть уже в ASP, суть происходящего не улавливаешь.
>>1318544Если не ошибаюсь таски потребляют threadpool и в твоей задаче они кончаются и вообще 8к тасков глупо создавать.Уверен ты их не вручную делаешь, а циклом и для этого лучше использовать Parallel.For/Foreach потому что там уже за тебя все подумают и оптимизируют, а если хочется через опции можешь с параллелизмом поиграть.И вообще таска не дешевая операция, лучше не создавать их такими кучами.
Аноны можете помочь с паттерном наблюдатель или Observer.Примерная реализация и затупок с подпиской и отправкой значений: https://pastebin.com/z5Sb67gDДелал через делегаты и ивенты, но теперь надо реализовать все через EventHandler. Все как и в паттерне наблюдателе.Observable - ObservableStack у меня, который подписывает на события Observer.Observer - Observer у меня, который слушает вызовы Notify и от туда берет значения себе в лог.Может кто помочь? С меня как всегда 2 чаю и нихуя
>>1318548Смотри дружок пирожок. Интерфейсы это просто секс, когда начинаешь их понимать.Да интерфейс это контракт и лучше в полиморфизме использовать чаще их, ибо когда у тебя десятки классов наследуют 1 и тот же интерфейс, ты всегда будешь знать что нужно именно реализовать, зачем? Вот смотри:У нас есть нереализованная фигура, которая в себе хранит свое название, количество сторон и т.п. свойстваИ у нас есть такие фигуры: Квадрат, треугольник, 4х угольник, ромб, параллелепипед и т.п.Теперь нам нужно написать метод, который по очереди выводил количество сторон, описывать метод для каждой фигуры? Ужас и бред, используем полиморфизм и апкастим(то есть приводим к чему-то абстрактному, выше по иерархии). Ведь все эти фигуры имеют что-то общее, общий контракт, который будет описывать каждую фигуру, теперь в каждом классе реализуем интерфейс.И мы можем каждый экземпляр фигуры привести к общему контракту IShape(апкаст) и засунуть все фигуры в 1 массив хранящий IShape, а потом в цикле пробежаться по всем кто реализовал IShape и вызвать у них нужное нам свойство.Лучше подтверждать свойства чего-то на деле, написав и реализовав самому интерфейс, а что не понятно из реализации спрашивать тут.Если есть вопросы спрашивай отвечу, если что то мог где-то обосраться, сорян и лучше читать нормальную литературу и https://docs.microsoft.com/ru-ru/dotnet/csharp/
Антоны, я чет вообще нихуя не понимаю у Рихтера про SafeHandle и всю хуйню, с одной стороны он понятно обьяснил, почему механизмы финализации - хуйня, но вот про дескрипторы, хуипторы и прочую хрень я не пойму.Может кто пояснить?
>>1318771ну или где про это почитать, чтобы понятнее было.Или мне Рихтера немного позже попытаться прочитать?
>>1318771Ну или может кто пояснить, зачем оно нужно?Будут ли за это спрашивать на собеседованиях? В работе это необходимо?
>>1318740то есть если я тебе скажу, что там чуть ниже создаётся миллион тасков, тебя вообще паралич хватит? Но, во-первых, там Семафоры, во-вторых, мьютексы на однотипные действия. Завтра перепишу кусок, останется не больше 4-5 тредов. Сейчас эта система нужна, чтобы выполнился одно задание из коробки А, потом одно из Б, потом одно из В и так далее, пока не закончатся все задания. Если коробка кончается, она пропускается. Легче всего это было сделать, создавая подряд таски из каждой из коробок, проверяя какие коробки заняты в данный момент. Надо будет придумать как в этом случае сделать так, чтобы из коробок создавались треды по порядку, сначала из одной, потом из другой, потом из третьей, потом опять из первой. Мб реально на Parallel.ForEach перепишу. Надо посмотреть какое там поведение
>>1318537Если хочешь понять зачем интерфейсы, почитай про inversion of control и dependency injection.
>>1318978Если хочешь задачку на закрепление, напиши обсервер, который будет следить за изменениями одного файла и нотифаить своих подписчиков когда он поменяется. Логику которая занимается проверкой файла на изменения вынеси в отдельный интерфейс.
>>1318954Так мне по следующему заданию надо реализовать этот паттерн на деле, а это что-то типа подготовки, к тому заданию
>>1319049Можешь вместо листа использовать дикшинари, где ключом у тебя будет стринг - путь к файлу, а валюе -эвентхандлер.
>>1319078я хотел сам додумать, но спасибо еще раз за еще одну подсказку. А вот хотел спросить, а зачем такая реализация нужна? там через EventHandler, у все классов слушателей одна и та же функция принятия, почему бы просто подписчиков в список и вызывать всех кто подписался?
>>1319103>там через EventHandler, у все классов слушателей одна и та же функция принятия, почему бы просто подписчиков в список и вызывать всех кто подписался?Я нихуя не понял что ты хотел спросить.
>>1319115почему бы не сделать проще и в ObservableStack сделать список класса Observer, все Observer, которые подписываются на ObservableStack добавляются в лист или удаляются, а потом если произошло что-то в ObservableStack он вызывает метод который пробегается по списку и у всех Observer в списке вызывает HandleEvent.
>>1319152Хм, что же проще, использовать уже готовый EventHandler или сделать дополнительный класс который делает все тоже самое что и он? Давай подумаем вместе.
>>1319152>>1319162А, ладно, я походу понял о чем ты.Можешь вместо KeyValuePair использовать свой класс, в котором будет хранится путь к файлу и эвентхандлер, суть от этого не поменяется.
>>1318762>>1318823>>1318829>>1318959Лучший тред в /po! Раньше в ruby-треде были няши-добряши-объясняши, а теперь они здесь!
>>1318776>>1318771Бамп. Может кто пояснить, в такие подробности работы памяти вообще стоит соваться? А то я читаю и ввообще не понимаю, что за дескрипторы, мьютексы.
Аноны можно ли вкатиться на работу? Могу за ООП, отличаю ООП от функционального программирования. Есть знания в linq, есть привычка содержания кода в чистоте, умею в контроль версий, гитхаб. Могу в разные базы данных типа mongodb sql mysqlИ ещё нужны ли работодателю такие проекты на гитхабе: Есть серьезные проекты по типу: различные типы сортировок с отрисовкой графика скорости сортировки. Деревья, мини редактор изображения на делегатах и наследовании настроек от 1 настройки, что-то типы таблицы excel можно вызвать по ряду и строке и получать значения и все через индексаторыЕсть шуточные проекты по типу: генетическая машина, наследуем новое животное, реализуем и описываем его и так как все животные от одного IAnimal можно делать всякие штуки без опаски и выводить новое животное.Вообще это хоть тянет на Джуна или pre-middle?
>>1319250С голым знанием языка хуй куда вкатишься. Тебе нужно владеть технологиями/фреймворками. Ксамарин/core итд.
>>1319287Ладно и что мне начать учить? Пользоваться однажды фркйморками ВК апи и компьютерным зрением, вроде это был AForge
>>1319345Спасибо. Да я в разработку софта хочу. Какие часто используются, кроме windows form, wpf xamari
>>1319230Да бля, ладно, если анон не отвечает, то скорее всего сам ничего не знает, а значит и мне знать не нужно
>>1319424Поэтому вскод, дискорд, скайп и слак сделаны на электроне? И этот электрон работает лучше, чем .нет, лол
>>1319492Майкрософт — быдло-стартап? Ну-ну.Так-то я люблю кроссплатформу и считаю, что играется в хайлодных приложениях с ней тот, кто может себе позволить — просто прикольный эксперимент на благо ИТ-сообщества, да и развлечь собственных инженеров. Для менеджеров идея переиспользования компонентов ещё звучит в теории прикольно. Но вот например ребята из ЭйрБнБ полгода назад резали правду-матку, как запилили 100500 экранов на РН, переиспользовали компоненты но в итоге сказали ну его нахуй, ибо задолбались от разных проблем, в первую очередь совместимости с нативным кодом.https://medium.com/airbnb-engineering/react-native-at-airbnb-f95aa460be1cНесмотря на любовь к кроссплатформе, я считаю, что она всё ещё дерьмо по сравнению с нативом (не только мобильным). Но есть например надежда на hummingbird и прочий флаттер.
Сап, шарпуны. Ударила моча в голову и решил написать парсер для говна. Правда есть одна беда, я в этом абсолютно ничего не знаю.Кароч, есть одна страница, типа этой: http://blhx.wikia.com/wiki/LeanderИ я хочу достать имя, тип и локации дропа. Посмотрел чем можно распарсить HTML нашёл HtmlAgilityPack. Попробовал вытащить локации и понял что хуйня: уникальных названий класса или что-нибудь подобного нет в исходном коде, ну или я слепой или дурачок. В общем то сделал вот так huy.DocumentNode.SelectNodes(".//a[@rel=\"nofollow\"]"), однако там куча мусора, поэтому при склейке, условием проверял, чтобы в тексте нода было "-". Но это тащемта костыль какой-то, а я же не ламер. Дак вопрос следующий как правильно достать нужные данные, может вообще не в сторону парсинга html смотреть?
Ньюфаг в шарпе. Объясните кто-нибудь, каким образом, подключая, к примеру, System, мы обращаемся к методу WriteLine так, как будто класс Console статический, но будь он статическим, мы бы не получили доступ к методу WriteLine, по моей логике.
>>1319687Потому что статический метод имеет доступ только в области класса, внутри которого определён, разве нет?
Заодно объясните, как наследовать один класс от другого через диаграмму классов? Там по идее в Class Designer должно быть "Наследование", судя по Троелсену, но его нет.
Вопрос не совсем по шарпу, но раз пишу на шарпе спрошу тут. У меня есть файл в котором сначала идет всякая мета в отрытом виде, а затем зашифрованные данные (AES). Если пользователь вводит неверный пароль пароль, то AES кидает исключения и шлю пользователя. Вроде норм. Но! Зашифрованных данных может быть ноль (нихуя). Как мне в таком случае поступить? Я вижу два варианта и хочу знать ваше мнение:1. В начало зашифрованного блока писать несколько определенных байт и проверять их при проверке пароля. Эти биты будут видны в исходниках кода, не станет ли это брешью (т.е. хацкер будет знать и исходный блок и зашифрованный, поможет ли ему это взломать пароль)?2. В начало зашифрованного блока писать рандомные байты. И тут вопрос, гарантирует ли AES шифровальщик, что он кинет исключение или может случится так, что он расшифрует но неверно? А так как байты рандомные я не смогу это проверить.
Господа, есть у меня один проект на .NET Core, на котором я делаю много тестовых билдов через dotnet publish, потом это заливаю руками на сервер для тестирования и перезапускаю сервер. Мне бы хотелось чтобы при каждой сборке куда-нибудь записывалась версия билда (я могу генерить её руками), чтобы я смог в рантайме её взять. Пока в голову приходит только отдельный файл с константами, который генерится в момент сборки паблиша (до команды dotnet publish). Есть ли другие, более правильные варианты?
Появилась внезапная необходимость получить доступ к текстовому файлу сразу с двух IO-потоков. Один только пишет, другой - только читает.Пикрелейтед кидает IOException на строке ReadAllLines, мол, "нет доступа". Из того, что я понял по описанию FileShare на MSDN, вообще, должно работать. Но понял, очевидно, неправильно.Есть какой-то вариант считать содержимое файла, не закрывая пишущий поток, или эта идея изначально обречена?
>>1320124Погуглил и, кажется, это тут ни при чём. Дело не в многопоточности (господи, благослави терминологию), а в нескольких одновременных хэндлах на один и тот же файл.
>>1320244>>1320246Перепробовал комбинации (FileAccess, FileShare): (Write, Read), (Write, ReadWrite), (ReadWrite, ReadWrite). Ни одна не сработала.Внезапно додумался попробовать прочитать поток вручную, а не через File.ReadAllLines(). Сработало в случае, если ЧИТАЮЩЕМУ IO-потоку воткнуть FileShare.ReadWrite. File.ReadAllLines(), конечно же, использует FileShare.Read, что и виновато во всех моих злоключениях.>>1320069Вопрос закрыт.
Божественный райдер подвел и не может нормально дебажить длл загруженные через Assembly.Load, выдает ошибку что-то там с moduleName not found. Когда такую длл дебажишь.Студия же может дебажить это дело без каких-либо ошибок, но зато тупит как блондинка, вводишь код, подсвечивает его красным как ошибочный еще секунд 5 после того как ты его дописал. Да и при дебаге почему-то запускает программу на секунды 3-4 дольше, проц при этом не на 100% загружен.Никогда бы не подумал что разработка на шарпе может превратиться в мучение, когда IDE тормозит весь процесс.
Антоны, а всей этой хуйней с доменами, загрузкой сборок, отражением стоит заморачиваться, часто ли оно используется в реальных приложениях?
>>1320305У меня со студией было все норм, ничего никогда не лагало даже на моем некроноуте.А вообще, я на вскод перешел - для моих поделок его достаточно, нет ничего лишнего, все понятно, удобно и красиво в отличии от райдера
Чё за херня? Как это? У меня код падает с > ArgumentOutOfRangeException: The UTC time represented when the offset is applied must be between year 0 and 10,000
>>1320502Как ни странно, я просто отладил и понял, что ResponseHeader не принимает слишком старые даты для LastModified. У меня кое-где ломалась дата и сбрасывалась до MinTime. Я временно впихнул туда work around
>>1320474Меня на собеседовании по всему .NET гоняли. Не знаю насколько всё это необходимо на реальных проектах.
>>1320524По опыту могу сказать что для большинства вакансий наверное 80% не используется.К примеру что у меня, что у друга на работе требуют крайне простой код. Неважно насколько код быстрый, насколько правильный, главное чтобы был прост как две палки чтобы другие его понимали с пол пинка.У меня домашние проекты в разы сложнее того что заставляют на работе писать. Хотя в моих проектах очень много сложностей возникает из-за желания оптимизировать, так как достал говно софт который для небольших задач жрет 1 гиг и 20% проца не понятно на что, так еще сука и тормозит.От друга слышал что у него был период в компании когда им запрещали использовать LINQ, потому что другие участники проекта не могли его выучить. Сейчас с этим стало получше, но все равно за что-то сложнее Where могут дать нагоняй.Особенно если пишешь на языкоподобной версии с использованием let.Меня вот на собеседованиях постоянно гоняли за ковариантность и контравариантность, но использовал я это только в своих личных проектах и то всего пару раз, при том что можно было легко и без этого обойтись.
блять, двач, помоги, как исправить эту залупу, я не шарю в с#, просто надо запустить программу, net framework нужной версии у меня установлен, я уже заебался
>>1320763либо скажите мне, что я делаю не так.мне нужно запустить эту программу. я открываю цмд и пишу dotnet build и путь суда. в ходе выполнения появляется та ошибка.
>>1320774нагуглил msbuildБ теперь такой результат.как должен выглядеть этот project file и как именно в него записать эти проперти?
>>1320827теперь у меня вообще нихуя не работает.ой бляяяяяяяяять проебал целый день на эту залупу и в итоге нихуясукаааааааааааааааафылворафылдваорфыв
пытаюсь редактировать таблицу в БД[HttpPost] public ActionResult Edit(Tour tour) { Tour oldTour = tourDB.Tours.Find(tour.Id); oldTour = tour; tourDB.SaveChanges(); return RedirectToAction("Index"); }при таком способе данные не изменяются, а при таком[HttpPost] public ActionResult Edit(Tour tour) { tourDB.Entry(tour).State = EntityState.Modified; tourDB.SaveChanges(); return RedirectToAction("Index"); } срабатывает исключение
>>1320871да казалось бы простой урок на metanit но редактирование записей в БД сделать не получается.
Так. Учу джва месяца C#, субъективно все охуенно так идет, прямо штырит. Выучил основы языка, всякие хоткеи в студии, понятия типа классов там, структур, коллекций, интерфейсов, инкапсуляции. Сейчас вот пытаюсь совладать с наследованием, делегатами (в целом норм, но оно тяжко переходит на интуитивный уровень понимания, наследование воспринимается слишком громоздким переусложнением во всех случаях, кроме совсем уж очевидно искусственно созданных исключительно для демонстрации наследования, а при реализации даже простейших задачек под делегаты руки так и почесываются заколхозить ранее изученными методами). После делегатов планирую вернуться к паттернам (я уже пытался их изучать, но на тот момент они казались мне слишком уж абстрактными, а теперь, вроде как, если и не чувство необходимости в них, то как минимум осознание их потенциальной полезности появилось).А вот куда после всего этого двигаться - не совсем понимаю. Что можно такого после этого выучить месяца за три, чтобы устроиться кодером кодингового кода тысяч на 50-60 в месяц? Или это нереальные деньги для вката с нуля?
>>1320923>(в целом норм, но оно тяжко переходит на интуитивный уровень понимания, наследование воспринимается слишком громоздким переусложнением во всех случаях, кроме совсем уж очевидно искусственно созданных исключительно для демонстрации наследованияТы верно заметил — наследование и работает в идиотских случаях для детишек "Птица — животное". Если предметная область чуть сложнее (финансы, ещё какое говно) — то с наследованием да и вообще ООП не всё так просто.>устроиться кодером кодингового кода тысяч на 50-60 в месяцДС? Если да, то расценки такие: джун и не знаешь язык/фреймворк — 50к, джун и знаешь язык/фреймворк — 90к. Я не из дотнета, но неск лет назад устраивался на 50к и уговором, что после окончания испытательного (2 месяца) 80к. Лучше подзадрочи .неткор, как советуют выше, и сразу требуй 90к.
Антоны, я прочитал всего Рихтера, прочитал книгу Фримена по Asp.Net MVC 5, нужно ли мне теперь идти и дрочить яваскрипт и прочий фронтенд или лучше Asp.Net Core последней версии попытаться выучить, чтобы было больше шансов найти работу?Учу приблизительно с августа, на собеседования планируя начать ходить через 3 месяца.
>>1321042Вне нет кора твой максимум - исправление багов в легаси коде, созданом для windows server 2003. А нет кор это опенсурс, линукс и хипстерские технологии.
>>1320948Вы там в ДС охуели что ли лол? У нас в Томске (так то дохуя вакансий) если джун и не знаешь язык/фреймворк — идинахуйК, джун и знаешь язык/фреймворк — 25-40К, в среднем на 30 устроишься (особо дауны и на 15к могут устроиться)
>>1321059>А нет кор это опенсурс, линукс и хипстерские технологииИ 9 вакансий, охуенно будешь сидеть без работы.А вообще, внезапно вакансии и для веб форм дохуя.
>>1321061За МКАДом зарплаты в несколько раз меньше, чем в ДС. Это правда. Но нужно учитывать, что у каждого жителя замкадья есть огород и приусадебное хозяйство. Жители замкадья питаются с огородов, выращивают птицу и скот. Поэтому деньги им нужны только на одежду и коммунальные платежи. А значит вполне справедливо было установить им меньшие зарплаты, чем в Столице, где приходится покупать в том числе и продукты питания.
>>1312140Да, кстати, новая вижуал студио даже на нормальных компах лагает, не говоря уже про мой ноут.Какие есть альтернативы для нее?
У меня горит очкоа теперь к вопросупишу что то вроде электронного дневникаСделал 3 таблицы в бд(таблицу учеников, таблицу уроков и таблицу оценок)Спарсил их в RowsСделал CRUD на все 3 таблицы всё окА теперь я хочу реализовать поиск оценок по ученикам, без использования запросов к БД.Тобишь поиск через Table.Rowsпс я нубасик,тяжело объяснить что сделал, или что нужно, если кто поймёт, помогите плиз
>>1321073А причем тут огороды, курицы и кролики?Очевидно, что в ДС и затраты намного выше и стоимость досуга.>>1321078Охуенно, но у меня такой мамки нет.
>>1321076Ну и собственно вопрос, как мне это лучше реализовать да или вообще как нибудь, я что то вообще не пойму :с
>>1321080>>1321076Я нихуя не понимаю, покажи структуру своей БД, как таблицы между собой соединены. Через что ты со своей БД связываешься, это ORM или какой-нибудь ADO.Net? Какая СУБД?
>>1321067Безусловно, но блять джуну платить 90к, при этом у нас в среднем 30. В дс ВСЁ дороже в 3 раза? Нихуя не так же.
>>1321160А например?У Рихтера написано, что это для расширяемых приложений и создания экземпляра типа.
>>1321156>В дс ВСЁ дороже в 3 раза? Нихуя не так жеРыночек так порешал не поэтому.У маасквичей хорошее знание английского, они уёбывают за бугор или садятся на удалёнку. Разницы нет, человек потерян для российского рынка.Из технических вузов ДС число выпускающихся не-долбоёбов не такое уж и большое. Владеют нужными технологиями и того меньше. Поэтому выход - звать людей на такую зарплату, которая обеспечила бы человеку из региона не только равную покупательную способность, но и повыше, чтобы он шевельнул анусом.
>>1321067>и трата на продукты питанияДа не пизди, там разница процентов 20 максимум, а иногда в ДСах продукты дешевле/так же стоят как и в моем Засранске 350к.
Ни в какую не хочет редактировать данные в таблицы в БД на ASP.NET MVC. Уже полез на офф сайт microsoft и нашел код. (на пикче). Метод edit срабатывает и меня из страницы редактирования на index перекидывает, но данные не меняются... Делал ровно всё по гайду, и не понимаю в чем проблема. (Либо в этих гайдах что то не договаривают).
>>1321173Лично я работаю над расширениями для Revit. Дебажить в условиях, когда эта срань после каждой пересборки расширения должна быть перезапущена (а это что-то в районе минуты с пачкой диалоговых окошек), а тебе при этом надо работать с геометрией, часто корявыми данными и достаточно неочевидными апи - боль. Поэтому, например, запилил себе на рефлексии мини-фреймворк, который перезагружает расширения на лету. Без неё это сделать тупо невозможно.Сериализация/десериализация жсона без ручного заполнения полей, DI-фреймворки, и подобное тоже на рефлексии строится с огромной пачкой атрибутов сверху. Я бы сказал, что рефлексия - почти чисто библиотечная штука.другой анон
>>1320623>От друга слышал что у него был период в компании когда им запрещали использовать LINQ, потому что другие участники проекта не могли его выучить.Это нормальная практика, вот у Рихтера в советах про методы расширения написано:>Прибегать к этому механизму следует не слишком часто, так как он известен не всем разработчикам. Например, когда вы расширяете тип с методом расширения, вы действительно расширяете унаследованные типы с этим методом. Следовательно, вы не должны определять метод выражения, чей первый параметр — System.Object, так как этот метод будет вызываться для всех типов выражений, и соответствующие ссылки только будут загромождать окно IntelliSense.
>>1321296>Лично я работаю над расширениями для RevitИзвини, Анон, я не знаю, что это.>Дебажить в условиях, когда эта срань после каждой пересборки расширения должна быть перезапущена (а это что-то в районе минуты с пачкой диалоговых окошек), а тебе при этом надо работать с геометрией, часто корявыми данными и достаточно неочевидными апи - боль.Угу, значит, это нужно для отловли багов во время работы приложения, действительно, разумно.
>>1321275ошибка была во View а не в Controller. по началу было вот так:<input type="hidden" value="@ViewBag.Id" name="Id" />воспользовался @Html.HiddenFor(model => model.Id)и всё заработало. Теперь вопрос где можно найти полный список HTML хелперов?
>>1321351Боже, ну и связность у текста. Как вы это говно вообще читаете? Излагает же как последний мудак.
>хочешь сделать такой хорошо выглядящую приложуху на WPF по MVVM-паттерну>нет ни одного one true way, каждый в городит свой колхоз>в каждом втором туториале MVVM грубо нарушается и шизик-программист начинает прописывать логику прямо во вьюхе, потому что это проще всего>кастомные диалоговые окна - через костыли>блокировка кнопок при инвалидации полей на форме - через костыли>кастомные контролы - через костыли>ехал диалогКоординатор через рилейКомманд через сервисЛокатор>магические строки by design>в васянском mahapps.metro-фреймворке забыли прописать ссылки на современные контролы в словареРесурсов, плюс костыль>поток уничтожает ссылку на диалоговое окно раньше, чем вызывается его закрытие, делай еще раз костыль>в xaml постоянно ворнинги что контрол не найден, хотя он найден и отображается без проблемЭто мой первый опыт написания на WPF, но бля, почему на каждом шаге постоянно превращаешь свою ногу в решето. То, что делалось на сраном винформс за 2 минуты, тут делается за 2 часа минимум.Лучше бы на электроне делал, ей-богу.
Допустим, я выучил язык. Судя по советам выше, далее нужно учить какой-нибудь фреймворк/технологию. Вопрос: какой выбор у сисярписта есть? .NET core не хочу, ложил болт на линукс и кроссплатформу, мобилки не интересуют соответственно. Также не хочу иметь ничего общего с вебом.
>>1320948Пиздёж. В ДС 90к платят мидлам, джуна нахуй пошлют. Средний сениор получает немного за сотню, но чтобы перевалило за 200к ты должен очень сильно шарить, и я таких людей не встречал.Мамкиным программистам, которые тут 24/7 вопросы из хэллоу ворлдов задают никакие 90к не светят уж точно.
>>1321546Чёт хуйня. Миддл меньше чем сотку работать даже не станет в ДС.Медианная в ДС для кодомакак - в районе 120к.Даже тот первокур Артём Исхаков (который зарезало и изнасиловал винишку в прошлом году) работал ЖС-макакой за 80к. В ДС2.В ДС2 зарплата миддла колеблется от 80 (пара лет опыта коммерческой разработки) до 130 (пять лет+).Джуны - 50-60.Про сеньоров особо не в курсе.https://vc.ru/flood/43849-zarplaty-it-specialistov-na-seredinu-2018-goda
>>1321513- Так мне Паваротти не понравился, картавит, в ноты не попадает...- Вы были на концерте Паваротти?- Нет, мне Рабинович по телефону напел.Судить об авторе по переводу от васяна>You should use this feature sparingly, as not all programmers are familiar with it. For example, when you extend a type with an extension method, you are actually extending derived types with this method as well. Therefore, you should not define an extension method whose first parameter is System.Object, as this method will be callable for all expression types and this will really pollute Visual Studio’s IntelliSense window.И тогда вот это трэш> Например, когда вы расширяете тип с методом расширения, вы действительно расширяете унаследованные типы с этим методомскорее будет так:>например, когда вы расширяете тип с помощью метода расширения, в действительности вы расширяете и все производные типы.
>https://blogs.msdn.microsoft.com/dotnet/2018/11/07/understanding-the-whys-whats-and-whens-of-valuetask/>ManualResetValueTaskSourceCore<TResult>
Если знаешь кресты на уровне ООП, можно ли вкатиться в сишарп без особых проблем? Алсо, хотелось бы писать что-нибудь с графическим интерфейсом, есть проблемы с этим на сишарпе?
>>1322318> Если знаешь кресты на уровне ООП, можно ли вкатиться в сишарп без особых проблем?Не особо. Просто смотри metanit.com когда что-то непонятно.> Алсо, хотелось бы писать что-нибудь с графическим интерфейсом, есть проблемы с этим на сишарпе?Если сидишь на винде и хочешь писать под венду, то все гораздо проще, чем на плюсах - винформс даже для хеллоуворлдщика интуитивно понятный. Но на линуксе/макосе нихуя толкового нет.
>>1322045Я один ахуеваю с индуского спагетти кода на мсдн? Документацию вместо анекдотов читать можно.
У меня есть метод, который принимает строку. Если я сделаю проверку через string.IsNullOrEmpty и брошу ArgumentException будет ли это говнокодом? Должен ли я делать две проверки и выбрасывать ArgumentException/ArgumentNullException?
Пытаюсь в MVVM. Есть класс модели, реализующий IEnumerable и есть ListView во вьюхе. Класс прибинден к листбоксу, после добавления записи в модель мне надо как-то обновить вьюху. Запись добавляется через VM, то есть я контролирую момент изменения, а не прилетает из вне. И вот у меня варианты1. Класс модели реализует INotifyCollectionChanged. Но насколько корретно подгонять модель под вьюху?2. Лепить прослойку с INotifyCollectionChanged между моделью и VM.3. ???Что думаешь онон?
>>1322691>подгонять модель под вьюху?Боюсь даже представить что ты там такого сделал, что приходится модель под вьюху подгонять. Ни вьюха, ни модель не должны иметь представления друг о друге, вообще никакого.Гугли two way binding.
С сисярпом имею опыт, но не очень большой. Успею бек для диплома за пару месяцев нахуярить с нуля на аспкоре, или лучше не выебываться и взять что-нить более привычное?
>>1323495Ну там будет сложная бизнес логика, по идее. Пока не очень представляю ее целиком. Фронт SPA+мобильный клиент, нужно будет дергать пуши на ведре.А в остальном никаких отличий от крудоговна.
>>1323503Начни писать и смотри как пойдет. Посмотри как реализуются паттерны repository и unitofwork с энтити фреймворком.
Антоны, а нахрена Рихтер ухищрялся в главе про события с OnNewMail, когда все можно намного проще делать, как на метаните показали?
Объясните дураку.Почему я не могу параллельно писать в массив используя указатели и присваивая по смещениям новые значения?Пытаюсь в bitmap писать через lockbits, обычный цикл работает как по часам, параллельный же херит где-то 50% картинки шумами, при том шумы каждую генерацию разные.Что я не делаю не так? Ведь по логике вещей все должно быть отлично, я же тупо меняю память по указателям ровно на тот же размер который там хранится.Разнице же нет если я пишу в 0x0 и 0x4 по 2 разных инта из одного потока или нескольких, обращаюсь же я по указателю и эти два потока вообще о друг друге знать не должны.
>>1323548Может у тебя алгоритм начинает мусор генерить в параллельном режиме? Попробуй тупо нули писать из разных потоков.
Анон, кто-то использует mysql в связке с EF core? Подводных камней никаких нет? Я просто нуб, решил поделать чего-то на аспе, а опыта нихуя.
Нигер, сойбой и злой из Аватара рассказывают как пользоваться говно API для быстрого IO.https://www.youtube.com/watch?v=1koWtKkKb_o
Нил хелп, анон. Столкнулся со следующей проблемой.Есть FileSystemWatcher, отслеживает изменение одного маленького текстового файла. Фильтры LastWrite, FileName и CreationTime. EnableRaisingEvents = true. Подписываюсь на событие Changed. И все отлично, любые изменения файла дергают обработчик.НО на другом моем компьютере это не работает, FileSystemWatcher создается аналогично, но при манипуляциях с указанным файлом ничего не происходит - событие не срабатывает. Файл, очевидно, меняется и в винде так же меняется время изменения, путь и имя файла так же указаны верно.В чем может быть проблема и в какую сторону стоит копать?
>>1323481Я про INotifyCollectionCahnged и INotifyProperyChanged. Стоит ли их реализовывать в модели ради того чтобы работали биндинги во вьюхе.>two way binding. Для него как раз и нужна реализация INotify...>>1323513Типа все помнят наизусть как у Рихтера, а как на метаните.
>>13236881. Какие ОС у тебя на 2 компах? 2. Права, которые выдаются юзеру, от имено которого ты запускаешь приложение. Попробуй выдать ему все-все права на эту папку и всё ее содержимое.
>>1323712Случаи идентичные в этом и мистика. Вин10 с последними обновлениями, файл в папке Мои документы текущего пользователя, запуск приложения и внесение изменений производятся от имени администратора
>>1323705Да, может и не понят.У Рихтера был определен метод, ответственныйза уведомление зарегистрированныхобъектов о событииВот его реализация: protected virtual void OnNewMail(NewMailEventArgs e) { EventHandler<NewMailEventArgs> temp = Volatile.Read (ref NewMail); if (temp != null) temp(this, e); }Вот на метаните этого нет, а работает аналогично. Нафиг Рихтер это написал?
>>1323568Я нашел источник проблем.У меня былоParalle.For(0,size,i =>{for(j=0;j<size;j++){var x=...var y=..var index=..ptr[index]=...ptr[index+1]=...ptr[index+2]=...ptr[index+3]=...}});В той версии был шум, но стоило мне сделать так:Paralle.For(0,size,i =>{var x=...var y=..var index=..for(j=0;j<size;j++){...То все стало нормально, похоже компилятор как-то оптимизировал эти переменные и они в некоторых случаях перезаписывались друг другом, при то судя по всему перезапись была тоже с ошибкой так как шум был не просто отсутствием цвета, а совершенно случайной точкой.Производительность кстати выросла с 620-650 мс до 220-270 мс на генерацию картинки.
>>1323765Ну, короче, вопрос такой.Необходимо ли реализовать данный метод или в разработке можно спокойно обойтись без него?
>>1323705Ты какую то хуйню делаешь. Бинди филды вм к вьюхе, потом в вм из модели берешь данные и кормишь их этим филдам. Скормил данные филду - вьюха обновилась.
>>1323807Твои вьюмодели должны реализовать INotifyPropertyChanged.https://pastebin.com/0d5PTL6r на пример базовой вьюмодели.
Антоны, таки не можете пояснить, в чем смысл вызывать событие с помощью:protected virtual void OnNewMail(NewMailEventArgs e) {EventHandler<NewMailEventArgs> temp = Volatile.Read (ref NewMail);if (temp != null) temp(this, e);}Если я могу просто вызвать событиеNewMail(this, new NewMailEventArgs(from, to, subject));Может ли нарушиться во втором случае безопасность потоков? Мне первый метод кажется очень неудобным, если у меня в классе множество событий, кроме NewMail
>>1323911В твоем примере может быть вылет так как ты на null не проверяешь, точнее так и будет однажды.Плюс в первом метод virtual, а значит можно наследовать и добавить поведение при получения мейла.К примеру добавить доп. проверок, типа блочить все письма по одному спам листу.А так вроде теоретически между проверкой newmail на null и запуском может случится так что newmail станет null и будут проблемы.А volitale тут нужен вроде как для защиты от компилятора и скорее всего на всякий случай.
>>1323806Зависит. Если у тебя однопоток, то можно и не писать лишнего. Я обычно делаю такvar handler = SomeEvent;handler?.Invoke(this, args);И некоторую потокобезопасность обеспесчивает и особо не напрягает в плане написания. Но если у тебя высоконагруженное приложение с диким многопотоком, то обеспечить потокобезопастность событий та еще задача.>>1323812В чем прикол expression? Чем это лучше например Set<T>(ref T storage, T value, [CallerMemberName], string propNmae)?>>1323807>>1323812>>1323815Как биндить вью и вьюмодель я знаю. Дело в другом. У меня в модели есть репозиторий который реализует CRUD для POCO классов... короче вот максимально упрощенная реализация https://pastebin.com/naYynsLq
>>1323873Для обеспечения безопасности. Событие тот же делегат, но управлять им может только класс им владеющий.
>>1323974>Чем это лучше например Set<T>(ref T storage, T value, [CallerMemberName], string propNmae)?Ну хотя бы тем, что тебе не нужно писать стрингу с пропНеймом. Поменяешь как нибудь имя у проперти, а про то что где то там стрингу с этим именем передавал уже и не вспомнишь.>https://pastebin.com/naYynsLqВ чем проблема вызывать OnChanged() после того как сохранил изменения?
>>1324087>не нужно писать стрингу с пропНеймом.CallerMemberName заставляет компилятор подставлять имя свойства автоматически, так что хоть 100 раз переименовывай.>>1324087>В чем проблема вызывать OnChanged()Вызывал, но механизм биндинга видит, что коллекция осталась та же и не обновляет ничего.>>1324093Мне кажется ты вообще не на мои вопросы отвечаешь. Я знаю про все эти коллекции и интерфейсы, я спрашивал на каком уровне они должны быть реализованы. Но я вроде уже начинаю понимать как можно провернуть все обновления не трогая модель нужно больше вьюмоделей
>>1324130>я спрашивал на каком уровне они должны быть реализованыНу на этот вопрос я вроде бы сразу ответил - все это должно быть реализовано у вм.
>>1324152Сейчас у него есть реализация INotifyCollectionChanged, так что добавление/удаление норм отображается на листбоксе. Но к сожалению вот такой финт не проканалargs = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Replace, item, item, index);OnCollectionChanged(args);Я думал оно обновит айтем в листбоксе, но видимо для оптимизации, так айтем остался тотже, ничего не обновляется.Поэтому сейчас потом попробую прикрутить вьюмодел для класса модели.
>>1324155Смотри, думаю тебе запилить кастомный контрол для отображения элементов коллекции и у вм этого контрола дергать OnChanged() когда поле элемента меняется. На главной вьюхе хранишь коллекцию этих контролов. Я так в одном проекте делал и работало норм.
>>1324155>Я думал оно обновит айтем в листбоксе, но видимо для оптимизации, так айтем остался тотже, ничего не обновляется.collection[someIndex] = newItem;Если в вм реализован INotifyPropertyChanged - обновит.
Антоны, в чем ключевое отличие фильтров аутентификации от фильтров авторизации?Я вообще не вижу разницы
Котаны, у меня есть задача спарсить кучу данных с нескольких сайтов. Обычно я решаю эту проблему на PHP, с помощью curl & regexp. Но мне захотелось всё это распараллелить получше и ресурсами управлять поумнее. Я хочу в этот раз решить задачу на C#. В связи с этим вопрос: есть ли в Нугете какие-нибудь пакеты для парсинга HTML в объекты, по которым можно делать запросы с CSS-селекторами? Мне нужно следующее: спарсить HTML в какой-нибудь DOM, а потом по нему делать запросы с помощью CSS-селекторов https://developer.mozilla.org/ru/docs/Web/Guide/CSS/Getting_Started/Selectors как в JQuery. Ну или просто запросы с CSS-селекторами по HTML, без предварительного парсинга в DOM (хотя по любому все сначала DOM строят).Просто назовите названия пакета/пакетов, которыми вы пользовались для решения этой задачи. Заранее спасибо
ГомикиУважаемые гомики, вкатываюсь в сишарм, потихоньку изучаю дотнетакадеми. Столкнулся с непонятками в одном из заданий:https://dotnetcademy.net/Learn/2047/Pages/8GoalPlease add the item Chewbacca to the list. On the next line, write the first item in the list to the Console.Вот мой код:using System;using System.Collections.Generic;public class Program{ public static void Main() { List<string> characters = new List<string>(); // Your code goes here. characters.Add("Chewbacca"); Console.WriteLine(characters[0]); }}все нормально выводит, но учебник пишет типа Not all requirements have been met.You must pass the value of the first item in the array to the call to Write or WriteLine.подскажите пожалуйста, где ошибка? Все же верно
>>1324883Вот этот норм, кажетсяhttps://www.nuget.org/packages/CsQuery.NETStandard/https://github.com/zone117x/CsQuery/
Аноны, кто работал с vk api? Сейчас авторизация работает через модуль vknet, хочу добавить возможность авторизации через kate mobile, iphone и тд, чтоб на стр у бота показывало айфон например. Такое возможно сделать, и если да, то как?
>>1324984у линкью для ienumerable есть метод first и есть firstordefault который null выкидывает, когда список пустой, попробуй его.
Почему функция, View и NotFound подчеркнуты, к тому же и переменная _db тоже подчеркнута, с чем это может быть связано?
Ананасы, поясните за async await в экшнах в контроллере.Зачем там они нужны?Чем это принципиально отличается от обычных экшнов?Я даже не могу врубиться, что там асинхронно должно работать...
>>1324883>HTML Agility PackРаботает, в принципе, как стандартные функции в js, типа >document.body.getElement(s)By...
Коллеги, мне кажется, или для C#-программистов порог вхождения меньше, чем для Java-программистов? Ищу и то, и другое, но работа мечты - Unity3d. Сижу, пыхчу на Гибернейтом и Спрингом в Джаве, СиШарп нравится больше.
>>1325707Лучше в джаву иди.Я понял, что с сишарпом все не очень, но уже выучил его, на Джаве и работы больше и нужна она будет всегда.
>>1325320>unmanaged memoryА это ещё что? Почему unmanaged? Так то спайки нормальные, разве что может слишком частые, а так это нормальные паттерн функционирования приложения.
>>1325707Порог вхождения меньше, если ты себе работу бэкэндом найдёшь. А так обычно C# это веб и фуллстак, поэтому заебёшься всё говно учить. Ну и юнити ещё есть, да.
>>1325693Спасибо, лучший ответ. Я бы не спрашивал тут, если бы догадался прочитать про них. Какой же я глупый.
>>1325720Это типо сарказм? Ну поверхностно всё понятно - это нужно, чтобы оптимизировать работу воркер тредов.Асинхронные вызовы не ожидают, когда действие завершится, а освобождают тред для исполнения другой работы. Ожидание происходит, потому что асинхронные операции завязаны на внешний ресурс - будь то хтпп запрос, база данных или файловая система. В итоге у тебя менее вероятно все эти треды будут заняты и в целом под нагрузкой приложение будет работать быстрее. После завершения асихронного метода его вполне может подхватить уже другой воркер тред, ну и соответственно там всякие вещи типо синхронизации данные под капотом есть. Это всё относится и к экшенам. Ты бы лучше конкретные вопросы задавал. Если ты понимаешь саму концепцию async/await - то какие проблемы? Если нет - ну блядь, пиздуй читать, в инете горы инфы.
Вопрос не по шарпу, но так как я пишу на шарпе и тут все 300к/сек спрошу тут. Есть ли кокой либо простенький багтрекер или как это называется, куда я могу заносить найденные баги, задачи на будущее и т.д. Мне не нужна жира какая-то сложная хуета, а какая нибудь простенькая локальная софтина, есть что подобное?
>>1325649_db в том же классе находится, и выше в коде используется _db и не подчеркивается, ошибки только в этом методе.
>>1325708>>1325712Я всё-таки планирую именно в сторону Unity уходить.Плюс, на C# просто комфортнее работать. Менее геморройная работа с зависимостями, со сборкой.
>>1325887Что какой тип? Предлагают заменять, но все равно ошибки.Опять репорчу. Теперь в VS Code не работают элементарные моменты. Библиотека с Value подключена, DataContext больше нигде не используется.
>>1326011Такая хуйня повсеместно происходит, уже проще 3d модели научиться делать. Или на джаву перейти, может там такой хуйни не будет.
>>1326012О да, крупные проекты нормально работают и пишутся, и только у местных дебилов с лаба1 повсеместно нихуя не работает
>>1326028у меня 4ый проект на дотнете и все заказчики из бриташкисейчас так вообще на дотнет коре пилимвообще я заметил, что бохатые зарубежные дяденьки любят майкрософтхз почему
>>13263351. Ищешь вакансию с зп 4000к денег2. Откликаешься3. Проходишь собеседование (возможно, несколько этапов)4. Устраиваешься5. Работаешь..N. PROFIT!?!?!?!!?
>>1311251Я бы не стал епам смотреть, у меня был препод по тестированию ПО из епама. Хуже чем у него пояснений и занятий не встречал.
Ситуация такова: записался на курсы по .NET на C# (специфика, насколько понял, в первую очередь всякие сайты и веб-приложения), на курсах есть вступительный экзамен (сам не сложный, похоже, но беседа с тех. специалистом служит для выбора самых способных кандидатов). Лучших студентов нанимают в компанию, курсы устраивающею.Вопрос: в чем стоит подразобраться, чтоб сложилось впечатление получше? Уже освоил основы C# (синтаксис, структуры и классы, интерфейсы, дженерики, асинк), T-SQL (и научился создавать конекшн в C#, делать через него ввод-вывод), ознакомился с HTML, JS, CSS, JIT, вник в SOLID.Стоит подучить алгоритмы или еще какие технологии? Времени от пары дней до недели. Учусь быстро, тугоумием не страдаю.
>>1326343>>1326345>>1326346не, сурьезно. у меня уже есть: хороший, беглый английски, 8 лет стажа на рынке, я подучил ангуляр и ПМские скилы, я знаю 2 тупорылые CMSки sitecore, episerver + episerver commerce, я работал с таким, от чего у всех голова кругом идет, я изучал исходники ASP.NET 3, 4 и даже ASP.NET Core. пересчтав свою зп из гривён в баксы у моих даков - евры я понял, что это 2650 чистымКАКОГО ХУЯ!? т.е. я работаю, мало того, что с говном мамонта, которое хер жунам/мидлам обьяснишь, так мне еще мало платятя 100% делаю что-то не то, анон. че за? :(
>>1326218нет, ты чтокрупная галера с офисами в украине и россиипроекты - интерпрайз на интерпрайзе и интерпрайзом погоняет, которые пилят 8-13 гребцов
>>1326437да вроде все нормесли действительно знаешь это> основы C# (синтаксис, структуры и классы, интерфейсы, дженерики, асинк), T-SQL (и научился создавать конекшн в C#, делать через него ввод-вывод), ознакомился с HTML, JS, CSS, JIT, вник в SOLIDну разве что еще можно git-а навернуть и принцип работы http протокола знать нужно
>>1326460У многих слишком широкая вилка и платят ровно столько сколько запросили.Работал в одной конторе и подружился с чуваком, пришли примерно в одно время туда +- пара месяцев. Так вот спустя полгода узнал что он получал на 800$ меньше чем я, хотя делали одно и тоже, с одним и теми же знаниями. Просто я ляпнул цифру больше и мне дали больше, при том как я потом узнал я ляпнул слегка выше среднего в вилке которую контора имеет.
>>1326538С дотнетом, особенно, кором, работает не так много галер, плюс крупный тырпраз, плюс снг, тут к гадалке не ходи. Захаживал в офис в дс2, батя знакомой работает там, пиздатый офис.
>>1326559ну я из украины, в дс2 офисе не был хотя даже сейчас время от времени люди летают в рф через минск на тимбилдинги и прочие коммандировки
>>1326642Зачастую, когда пишут фуллстек, это тот же бэк, но так как надо плотно взаимодействовать с фронтом, он есть в требованиях. У нас, например, есть фронтовики и они пердолят фронт по большому счету, но бывают таски на 90% бэка и 10 фронта типа поле добавить или кнопку, они тоже мне идут. Думаю, в серьезных продуктах прям совсем фуллстеки не нужны, типа jack of all trades master of none
>>1326682Ну, я вот по вакансиям тоже сужу.>>1326708Ну, не знаю если честно как это на самом деле, смотрю даже от сеньеров требуют.Фронт я просто не переношу, что-то по мелочи добавить - ок. Сидеть писать сырой проект - лесом. Ну и фуллстеком становится тоже не хочется.
У меня есть предложение для тех кто хорошо разбирается в ASP.NET Core, с одного проекта по моему ТЗ вы сможете получить до 200к рублей. Суть в том что вам придется записать весь процесс на бандикам, а затем отправить мне, я напишу текст обучающий на русском, затем переведу и залью на Udemy и буду заниматься маркетингом. Первый заказ - новостной портал на bootstrap, где люди смогут авторизоваться, постить, изменять текст новости и оставлять комментарии. Пишите на почту - [email protected] если хотите заработать и помочь мне быстрее въехать в Асп.нет.
Где можно прочитать про оптимизационые трюки C#?Например я узнал что лучше объявлять массив с известным числом элементов, например new List<T>(256) так например при добавлении нового элемента массив не будет пересоздаватся и не будет теряться процессорное время.Или такой трюк объявлять класс как sealed, что оптимизирует работу компилятора.
>>1327080Не за что, не забудь копейку отправить.Нужен я в этой схеме как переводчик, ньюбай и пиарщик.
>>1327078Вот тут например:https://www.dotnetperls.com/optimizationВсе с примерами и реальными тестами. Если хочешь вникнуть прям в суть, то читай книги о CLR и JIT.
>>1326855>Фронт я просто не переношу, что-то по мелочи добавить - ок.Ну вот я именно так и сижу, по мелочи иногда добавляю что-то, но даже при такой мелочи у меня каждый раз горит жопа от говнокода на жс и как его умудряются ебануть хуй знает куда, у нас в легасичасти это пиздец просто. Где-то в отдельный файл для вьюхи, где-то ебаный монстр на 8к строк, где-то прям в <script> нахуярено с аттрибутом текст/бабел, что интеллисенс вообще нихуя не распознает и сидишь ковыряешь это дерьмо. Еще топчик это жс с razor вставками
Анончики, устал писать свои хеллоуворды в консольном режиме/на дефолтных формочка, хочу чтобы было все красиво. Какие фреймворки/либы есть у сисярпобояр для клепания красивых формочек?
>>1327214uwp/wpf красивые дохуя можно сделать, гугли компоненты кастомные, чтобы не пердолиться самому сильноесли ебанутый, можешь заценить electron.net
>>1327222>uwp/wpfОни же только для 10 винды. Мне надо что-то универсальное, хрюшу можно исключить разве что. Нагуглил Banifu .NET, пока что лучше всех подходит под мои требования, но он платный. Есть аналоги бесплатные?
>>132664290% фуллстэка на дотнете это бэкэнд +>там кнопочка чёт ниработает поправь плес а то ваня говнов, написавший этот высер, в отпуске((((Весь фронт-энд будут писать жаваскрипт-макаки по макетам, а от шарпера нужны тривиальные знания уровня туторов по какому-нибудь ангуляру.
>>1327214Хочешь в старую винду- wpf + mahapps.metro / material design WPF.Хочешь дриснятку - UWP, контролы выглядят заебово, но меня отпугнуло то, что проги нигде не запустить кроме десятки даже с плясками с бубном.Хочешь кроссплатформенности - AvaloniaUI в бетке сейчас, или Электрон, но приготовься к тому, что сраный простенький круд у тебя сожрёт 500 мегабайт.
Посоны, прочитал Шилдта, че дальше изучать? Мне надоело писать консольные приложения, сортировки-хуевки, поиски двоичные, дейкстры всякие. От тоски ебанной запилил всякую хуйню из алгебры типа вычисление матриц и расширение полей Галуа. Но это же все хуйня не дальше хеллоуворлда. Как мне открыть магию ООП? Как завернуться в абстракции? Теперь мне надо курить паттерны? Там все ответы? На потоке васяны сказали "Ну хз читай Кнута". Открыл, а там опять алгоритмы, нуйобана. Бэкграунд: семестр дроча алгоритмов на крестах в универе. Захотелось вкатиться в программирование, но я так понял со слов одногруппников, что С++ это говно без задач и решил перейти на сишарп. Хочу пилить игры. Начал курить документацию Юнити и понял, что знание хуевой горы классов и методов не поможет мне написать хороший код. Так что теперь курить, чтобы не как школьник собирать велосипеды из костылей?
>>1327280Продукт - первичен, код - вторичен. Пили прожекты, в твоем случае игры на юнити и анализируй, что тебе не понравилось в твоей маняархитектуре (расширяемость, тестируемость и.т.д.).> чтобы не как школьник собирать велосипеды из костылей?Так это и есть процесс разработки. Ты всю карьеру будешь их собирать.
>>1327280>Как мне открыть магию ООП? Как завернуться в абстракции? Теперь мне надо курить паттерны? Там все ответы?Скачивай с гита не сложные опенсорс проекты и смотри код и архитектуру приложения, пройдись с дебагером.Например это https://github.com/shadowsocks/shadowsocks-windows/blob/master/shadowsocks-csharp/Program.cs
>>1327283>расширяемостьЧто? Всмысле расширяемость? Это как?Бля, для меня все это - темный лес. Я хеллоуворлдщик же.Пытался я эти игори пилить. По туторам, например. Че-то стены ifelse вместо автомата меня дико напрягали. Да и туторы какие-то васянские. Где-то какие-то синглтоны упоминаются. Загуглил - ну паттерн. А какие еще паттерны есть? Гуглю - везде ебучие курсы "погромизд за три недели"..json формат какой-то везде, где нужно сохранять данные. Я максимум с .txt и .bat работал. Чем он отличается от .txt? Где все это читать? Есть какой-то один источник информации, литература, например? Документация?Статьи на хабре читаешь, какие-то рефакторинги, UI, моча и говно. Что это, блять, за слова?Я не спорю, что нужна практика. Но нет толку от практики, когда просто не знаешь, что делать.
>>1327310> А какие еще паттерны есть? Гуглю - везде ебучие курсы "погромизд за три недели".> .json формат какой-то везде, где нужно сохранять данные. Я максимум с .txt и .bat работал. Чем он отличается от .txt? Где все это читать? Есть какой-то один источник информации, литература, например? Документация?> Статьи на хабре читаешь, какие-то рефакторинги, UI, моча и говно. Что это, блять, за слова?Тебе нужно курс компьютерной грамотности пройти - ну типа таких, знаешь, на которые старики ходят. Тебя там научат нормально гуглом пользоваться - и в гугле ты легко найдешь ответы на все свои вопросы.
>>1327310Тебе нужна идея. Придумай какое-нибудь небольшое приложение, чтобы его реализация тебе казалась непростой задачей. В процессе написания у тебя неизбежно будут возникать вопросы, так ты будешь развиваться. Конечно, по-началу внутри у тебя будет лютый говнокод, но чем больше такой практики, тем лучше ты будешь понимать что происходит. Освой гит, постоянно совершенствуй код. В будущем будешь смотреть историю изменений и смеяться над собой
>>1327174Если честно - я бы лучше сидел на таком легаси. Меня видимо на реакт посадят, хз дойдет ли до верстки. Если дойдет - поработаю полгода и съебусь. А по сабжу - да, жс в связке с разор - полный пиздец.>>1327272ну, в таком случае норм.
>>1327456Так нулл и нельзя в вашем сисярпе возвращать из int. Как мне обозначить тогда, что функция отработала некорректно ? 0 возвращать?
>>1327526У тебя есть два путя. Если твой метод допускает, что результата может не быть, то можешь вернуть 0. Но это должно быть очевидно вызывающему коду, т.е. должно быть очевидно, что 0 это не результат. (Например метод IndexOf() возвращает отрицательно число, если элемент не найден. Тут ясно что отрицательное значение не может быть индексом.). Второй вариант это если метод не смог сделать свою работу, тогда нужно действовать в соответствии с принципом самурая - харакири. То есть бросать Exception.
>>1327642Я не обманываю.Делаю take, работает, делаю skip().take(), тупо не идёт дальше, ни ошибки, ничего нет.
>>1327671Походу я разобрался, оказывается, что версия SQL Server стоит 10ая, и скорее всего Entity создаёт запрос, который не поддерживается, лол.
Меня тут пригласили на начальную вакансию C# (бэкенд), хотя я пишу на Java. Что спрашивают на таких собеседованиях, что подготовить? Какой-нибудь аналог equals-hashcode?
>>1327830да по разному везде. ты без рабочего опыта совсем? мне дали задание сделать бота для телеги дома. во время собеса чуть по ооп поспрашивали
>>1327866Да, без рабочего опыта. Вакансия была без опыта, на вход было тестовое задание, которое я написал на Джаве.
>>1327866> мне дали задание сделать бота для телеги дома.Странно, что на собесе про ООП спрашивали, а не про сорта смузи.
Как понять что уже можноработать? Вкатываюсь в C# 2 месяца, до этого изучал С/С++ в течении 2 месяцев. Как оценить свои знания и навыки? Может есть какой-нибудь сайт?
>>1328713ulearn.me. Там есть практики где нужно скачать проект и что-то в нем сделать, а потом проверяющая система тебе скажет - уже можно или еще нет.
>>1328722Местные практики скорее на олимпиадные задачки похожи (только с инструкцией по решению) чем на коммерческий опыт. На работу нужно определенный стек знать а не уметь рассчитывать угол отклонения биллиардного шара.
>>1328752Практики не скажу что простые, но потому я и считаю что они могут показать уровень подготовки. А задача про углы отскока шара - простейшая, если что.
>>1328105Я ждал вопросов по ООП и фрейворкам. А дали олимпиадную задачку на алгоритм. Я полез в дебри, и только после собеседования понял, как просто её решить.Почитаю что-нибудь по алгоритмам.
>>1310862 (OP)Нам немного поменяли задание поэтому немного обновляю.В универе задали курсовую работу(КОД НА C#), но в связи с тем что я немного тугодум - не могу сделать некоторые задания.Кроме того, наш препод не может в объяснения, так что для тугодумов это конечная.1)За вектор X взять побочную диагональ ЕСЛИ непарные столбцы массива(квадратной матрицы), если они имеют одинаковое количество непарных элементов. (там до этого была формула для заполнения элементов, но это уже готово, заполнить матрицу можно просто рандомными числами)Если это не так - взять главную диагональ как значения вектора.2) Найти функцию U=f(X) (За U взять суму тех элементов вектора X, которые не являются наибольшими и наименьшими элементами вектора.)Помогите пожалуйста я вас умоляюпишите, я тут надолго.В скрине моя курсовая, но там не та функция и вектор. Их я спиздил в прошлом своем варианте(неважно, просто хоть что то так считает )Я уже плыву по полной.Пожалуйста, помогите)
>>1327558и третий вариант out значениеpublic bool TryFind(object item, int index) { if (found) { index = 23; return true; } index = -1; return false;}bспользование:if (TryFind(something, out var index)) {// нашли} else {// не нашли}
>>1327274WPF.UWP по мне для серьезных вещей не подходит, тормозит сильно. Как при работе, так и при компиляции.
>>1328837Практики могут показать как у него варит башка в придумывании алгоритмов. Готовности писать сайтики для бизнеса она показывает примерно нихуя, так как там в первую очередь важно уметь накидать круд и орм натянуть на проект, а не алгоритмы. Особенно джуну, не пойдет же он что-то серьезней крудошлепства пилить на первой работе.А про отскок для примера, первое что вспомнил.
>>1329211Прост в моей конторе не собираются переписывать проект, написанный на WebForms (программа управления ресурсами, внедренная в хуеву тучу универов, министерств и тд). Вот и думаю, изучать дальше эту технологию или перейти на MVC и подыскать новую работу? В целом это место меня устраивает.
>>1329224Ой блядь у меня знакомый есть такой, нашел место давно, там на старте без опыта за винформс платили 60к. 2 года дрочил там винформс, сейчас зп 80к и это оказалось потолком, теперь не ебет, что делать, т.к. хочет больше денег, но в других местах за винформс еще меньше платят обычно. С вебформс все еще хуже, думаю, на хехе реже винформса попадается
>>1329224>Перейти на MVC This. Чем дольше ты будешь просижиывать задницу на старом дряхлом стариковском говне, типа веб форм, тем меньше у тебя будет шансов потом реабилитироваться.
>>1328842Двачую олимпиадные задачки.Неудачливый порось пётр итт, отмечу, что все собесы, которые я пытался проходить в иностранные конторы, проходили примерно по одному сценарию:1. Тест, который ты решаешь сам, когда тебе удобно. На него выделяется время, в основном, час. И задачки все формата:>Даны пары слов, за какое минимальное количество перестановок букОв в одном из слов его удастся превратить в анаграмму для второго (тут определение анаграмммы). Верните массивчеГ, в общем, если не надрачивался, то ни за что все задачки не успеешь решить. Все условия на ангельском.2. Собес с кадрами (иногда отсутствует) на ангельском3. Собес с ит-командой, задающей манагерские задачки и алгоритмические, примерно такие же, как и в первом пункте, но уже онлайн, сиди, скрипи мозгами.Такие дела.
>>1328713У меня тоже разрыв с реальностью появился, не знаю готов или все ещё хуже червя-пидора. Решил сидеть дрочить дома, мамка пока все равно не гонит.
>>1310862 (OP) Мне кто-нибудь может объяснить как работает Console.MoveBufferArea()?Хочу поиграться с оформлением консольной обработки, а то и написать очередную змейку. Хочется вывод всякой хрени непосимвольно сделать, вроде только этот метод похож по описанию. Но он делает ведёт себя странно, как будто школьник-аутист писал.
>>1328941>>1328842Сегодня был на второй встрече, прошла увереннее. Говорили о хэше, коллекциях, сборщике мусора. Как Джавист, немного попыл на sync/async, но это можно быстро подтянуть.Было интересно, приятная встреча. Будет вторая.
>>1329384>>1328842Это на джуна .NET такое спрашивают? Зачем мне в сисярпе нужно глубокое знание алгоритмов, навыки спортивного программирования? Ахуеть, garbage collector с джуном разбирать? Они там случайно завелосипедить его не попросили? Бред короче какой-то.
>>1329384А что не так с async, в джаве нет аналога? даже в жс промисы есть>>1329417>Ахуеть, garbage collector с джуном разбирать?Хуй сосите, заебали, в дс2 для шарподжунов 60к норм зарплата, вы не ахуели совсем там? Что тебя спрашивать тогда должны, мразота, за синтаксис спросить должны и сойдет? Я просто охуеваю с такого мудачья, если ты за полгода-год не прошелся по основам gc, то я вообще не ебу, что ты там делал все это время. Если ты очередное говно, которое 2 месяца почитал метанит и хочет получать деньги за нихуя, то выкатись нахуй в какой-нибудь общепит говночистом, там точно не будут нихуя спрашивать.
>>1329384Ну и по итогам, мы там поговорили про соотношение Жавы и Шарпа. Да, Жавы много в энтерпрайзе, но Шарп новее, активнее развивается, а энтерпрайз ныне идёт по пути модернизации и переосмысления своих АИСов. При прочих равных буду перекатываться в Шарп, как-то мне .NET комфортнее, а в свободно время смогу пилить себе индюшатину на Юнити.
>>1329465Ты наверное удивишься, но в джаве нихуя нету.А асинки вообще впервые появились в f#, потом в c#, а потом уже остальные подхватили. Ну, именно ключевые слова async/await, парадигма то была и раньше.>дс2 для шарподжунов 60кЛюто двачую.Вам бы сука, в айти державу, где для того чтобы устроится на джуна, с 350$ зп, нужно asp net + UI фреймворк
>>1329487Ты идешь на джуна, и при этом у тебя есть опыт работы разрабом на джаве? Или ты просто сначала учил джаву, и без опыта пошел на собес по шарпу?
>>1329465Сам хуй соси. Я вообще крестобоярин и даже нас так в жопы не ебут, как вас продакшн-макак. Мутировать IL-код тебя там не заставили на собесе то?
>>1329521Начал учить джаву, кое-что написал на джаве, кое-что написал на шарпе, ищу начальные позиции и по джаве, и по шарпу.
>>1329529Не понимаю, чего ты бомбишь с gc, дурачок, всесь материал по сборке мусора с мсдн часа за 3 осиливается без напряга, нихуя сложного там нет практически, там даже код только в описании idisposable. Ебать, чувак идет на джуна, я не утверждаю, что его ебать должны по всей clr, но вполне закономерно, что пара вопросов по gc будет. Опять же глянь среднюю зп шарподжуна дс/дс2. Люди за вдвое меньшую на днищеработах зависают, а тут без опыта вполне достойная з/п, предполагающая, что человек имеет знания и может приносить прибыль хозяину.>Мутировать IL-код тебя там не заставили на собесе то?Неуместное сравнение, пошел нахуй.
>>1329596Это сравнение к тому, что джуну не нужно обладать такими навыками и знаниями, работодатели ахуели. А ты еще и съел зп в 60к, даже индусы за такие деньги давно не работают.
>>1329487>Шарп новееЯзыку 19 лет, он уже состоявшийся инструмент со своими достоинствами и недостатками. Так что монолитного легаси-говна, на поддержку которого ищут джунов за еду полно что там, что там.
>>1329633>Это сравнение к тому, что джуну не нужно обладать такими навыками и знаниями, работодатели ахуели.Ты ебанутый? Еще раз, вся инфа по gc получается примерно за три сука часа, охуеть навыки и знания. К тому же откуда тебе знать, какие знания там нужны, ты же крестовик якобы>А ты еще и съел зп в 60к, даже индусы за такие деньги давно не работают.Долбоеб, какая разница кто где за сколько работает, если мы про пидарахию говорим? Здесь 60к без опыта это заебись с пересмотром з/п через полгода-год или перекатом в другое место .
>>1329633Охуели скорее вы, потому что от вас в вашей пидорахе нихуя не требуют кроме языка. >>1329634>Языку 19 лет, он уже состоявшийся инструмент со своими достоинствами и недостатками. Если мы не говорим .net framework ниже чем 2.0 - то ок, в противном случая я нихуя не понимаю.Майкам никто не мешает нормальном имплиментить фичи, потому что нормально написан IL. Оракл же такой хуйни себе позволить не может, из-за тон реализаций JVM и пяти реализаций GC. В итоге костыль на костыле, 100500 аннотацией, которые занимаются вещами которые в шарпе из коробки хуеву тучу лет, что в итоге выливается в тонны кода.Про отсутствие LINQ - я вообще молчу, но stream api завезли, да, спустя столько лет то. Synchronized - привет из 2007, я же, когда пользовался lock, даже толком вспомнить не могу.А вообще, нужно искать нормальные компании, чтобы не сидеть на супорте легаси говна, вот и все.
>>1329668>В итоге костыль на костыле, 100500 аннотацией, которые занимаются вещами которые в шарпе из коробки хуеву тучу лет, что в итоге выливается в тонны кода.Вот это кстати выбешивает, когда пишешь на том же Спринге.
>>1329756Сделай MessageBox в том же пространтсве имен что и DialogResult(system.windows.forms)А вообще, лучше пропиши их нормально, и отформатируй код
>>1329668> А вообще, нужно искать нормальные компании, чтобы не сидеть на супорте легаси говна, вот и все.В нормальную компанию тебя не возьмут без опыта или корочки топового вуза.
>>1329756Зачем ты намешал в кучу и формы и wpf? Либо MessageBox из форм + DialogResult из форм, либо MessageBox из wpf + DialogResult из wpf. Хотя если очень хочется наркомании можно привести значения, они в принципе одинаковые, но в формовском енуме их больше.
Есть поток UnityEngine, а есть пять вспомогательных (принимают даныне с вебсокета, парсят), нужно передавать данные в юнитипоток каждый фрейм (17мс). Как это можно сделать без фриза самого юнити? Использовать потокобезопасные контейнеры? А может есть еще чтото?
>>1329829Разве? Ну ладно. Сделай репазиторий, в который вспомогательные классы кладут данные и пусть поток UnityEngine сам их стягивает оттуда когда ему нужно.
>>1329765>>1329813Спасибо. Если честно, не ожидал что тут действительно помогут, прямо не верится что это 2ch.hk.А в чём у меня тут конкретно проблема? Просто оно не хотело вообще работать безusing System.Windows.Forms;И даже когда я добавил ссылку на эти формы, всё равно отказывалось работать без System.Windows.Forms. перед каждым. Существует какой то простой способ избежать этого нагромождения спама?PS - Может посоветовать кто литературу для совсем уж чайников?
>>1329465А какая нормальная зарплата в дотнете в ДС2 для пары лет опыта коммерческой разработки? мимо собираюсь перекатываться в ДС2 из миллионника в Сибири
>>1329850Что за проект? Скорее всего у тебя не работало из-за того, что подключены оба неймспейса и компилятор не может узнать какой именно мессэджбокс ты хочешь использовать, поэтому нужно указать полное имя типа. А вообще читай сообщения от компилятора, он хуйни не скажет.
>>1329850Тебе не нужно каждый раз прописывать System.Windows.Forms у объекта, если у тебя вверху файла уже прописан using System.Windows.Forms>Может посоветовать кто литературу для совсем уж чайников?Для совсем чайников - metanit.com, можешь гуглить, можешь смотреть на docs.microsoft.com, если нужна книга по просто шарпу - Троелсен, но она достаточно объемная.>>1329812У вас в рашке, для того чтобы устроится нихуя не нужно. Под нормальной компанией я имел ввиду, которая не сидит на супорте легаси проектов, а юзает последние плюшки и использует их на проектах, таких не так уж и мало.
>>1329968Весь код ты только что видел, больше ничего нет.>>1329981Я много читал docs.microsoft.com, только там пока объясняют одно , умудряется сказать что это нельзя использовать без чего то второго ,итд. И в конце получается целый каскад вкладок.Троелсена уже советовали выше кому то, видимо мне и правда стоит прочитать.
>>1330059У тебя wpf, удаляй от туда все ссылки на финформс и пользуйся месседжбоксом из System.Windows.
перекатываюсь обратно на винду. я наверное просто тупой и никогда не смогу догнать все эти тонкости настройки .net core под linux.
>>1329384Люблю отвечать на говно, которое никогда не понадобится, на собеседованиях спрашивают как ракету собрать, при этом у них нормальные тесты не написаны и надо код переделывать, а работаешь ты над обычными крадами.>если ты за полгода-год не прошелся по основам gc, то я вообще не ебу, что ты там делал все это время.Работал. Какие основы GC? То, что там у объектов поколения объектов есть, прочее говно, и всякие диспоз методы и финализтор. Я больше и не знаю. И то даже вот это тебе нахуй не нужно.мимо сениор
>>1330143Да просто открыл для себя истину в том что, если уж решил вкатываться в .net и в c#, то сиди на винде и не рыпайся. Два дня ебался с начала с настройкой monodevelop и тем как её подружить с sql server (кстати с ним тоже много ебалы на линуксе). Потом перешел на Visual Studio Code, но не осилил как там связать воедино .net core и sql. Короче я просто тупой, а Линукс для сверхлюдей.
>>1330326>Два дня ебался с начала с настройкой monodevelop и тем как её подружить с sql server Нахуя? Если хочется под линупс, то есть .Net Core + EF Core + Docker
>>1329818Сделай в юните потоке что-то типа.if(Parsed){MyPropForRegularRender=PropFromAnotherThread; Parsed=false;}А другой поток в свою очередь будет делать так.Task.Run(()=>{if(!Parsed){PropFromAnotherThread=Load();Parsed=true}});Так твой рендер не зависит от данных, но при этом может рендерить не совсем актуальные данные, плюс могут быть задержка в данных 1 фрейм, когда другой поток отработал сразу после проверки if(Parsed) данные похватятся лишь в следующем потоке, плюс новые данные будут парситься лишь после рендера.
>>1330636>Поток подготовки данных вместо работы ждет пока основной копирует результатАсинхронность 10/10
Все нахваливают JetBrains, решил обмазался их триалкой всего чего только можно для VS. Какое же ебаное говно, это ПРОСТО ПИЗДЕЦ. Все лагает в 100 раз сильнее, куча юзлесс функций, правит код без бэкапов, рефакторит код в нечитабельное говно и прочее. Зато КРАСИВО. Итог: оверрейтед параша для тех, кто любит срать не снимая свитер.
>>1331141Не согласен. Решарпер - мастхэв, не за что не вернусь на голую студию, очень удобная вещь, экономит тонну времени. По поводу лагов: это претензия скорее к майкам, что у них 32 битная студия, она и без решарпера хуево работает, пидорасы ленятся переписать свое говно с com вызовами, зато каждый год новая иконка.Дотпик- полет тоже нормальныйАнализаторы (что решарпер, что встроенные в Intellij и Android Studio) - очень хороши, сами иде - иногда хуево работают и приходится сбрасывать кэш, кек.Riderом не пользовался, но наверное скоро стоит, ибо от тупизны студии горит задница.
>>1331262Поясни, что полезного есть в решарпере? Выпала возможность поставить лицуху на работе, но пока слабо пощупал. Студия меня полностью устраивала.
Ребят, а у меня тут вопросы возникли.Можно ли делать игры на C# но не на Unity? А есть примеры таких игр? А игровых движков на C#?Почему геймдевы чаще выбирают C++? Он удобнее? Или это просто лень?
>>1331324Проблема все равно в студии. Она должна жрать ОЗУ, а не насиловать мой диск. SSD у меня на рабочем ноуте, на стацике - нет, но часто с него пишу.>>1331326>Поясни, что полезного есть в решарпереСпокойно пишешь код используя объекты из какого-либо пространства имен - оно тебе автоматически его прописывает, не помню когда в последний раз делал это руками. (возможно сейчас студия в это может, но раньше такого не было)Неплохо рефакторит код, но нужно быть осторожным. Не знаю что еще сказать, ибо голой студией не пользовался очень давно, для многие вещи сейчас как данность. Просто поставить, попользуйся 2-3 дня. Вернись на обычную студию и там станет ясно, нужно оно тебе или нет.
>>1331612>Спокойно пишешь код используя объекты из какого-либо пространства имен - оно тебе автоматически его прописывает, не помню когда в последний раз делал это руками. (возможно сейчас студия в это может, но раньше такого не было)Если мне не изменяет память так еще 2010 студия могла.
Пока читал документацию Spring и Spring.boot, охуел от кривизны костылей. Решил во что бы то ни стало перекатываться в .NETЧто у вас для начала почитать по C# на уровне "Философии Java" Эккеля?
>>1331844Мне кажется, правильно сохранять единообразие синтаксиса, а не пристраивать сбоку настолько монументальное собрание костылей, как Spring.Я предпочёл бы больше контроля, меньше "магии".Я предпочёл бы на каждом шагу понимать, успешным ли было моё действие (в Спринге это далеко не всегда очевидно).
>>1331847Отчасти справедливо для любого IoC-фреймворка, потому что их идеология в корне противоположна традиционному императивному подходу. В ASP тоже запилена поддержка IoC/DI
>>1331338Есть мертвая XNA, есть полуживой MonoGame(приемник XNA), на них написаны Terraria, StardewValley, InfinityFlight. Есть библиотеки для работы с OpenGL/Direct.
>>1331890>Отчасти справедливо для любого IoC-фреймворкаЯ бы предпочёл более внятные правила игры. Даже если допустить значительную делегацию части функций стороннему фреймворку.
Как пользоваться блядским гитом? Скачал SmartGit, пытаюсь откатить свой хелловорд, но нихуя не получается, сыпятся ошибки какие-то и файл с кодом засирается какой-то парашей. Какого хуя все 1 кнопкой не делается?
>>1330750Если там идет парсинг данных, то смысл работать без потребления?Да и выдача там скорее всего готового объекта/массива т.е ссылочный тип, копирование занимает пару тактов. Можно сделать без ожидания, но тогда выйдет так что за 1 кадр может быть 2-3 парсинга если он быстрый и использоваться будет лишь последний, остальные просто так сожрали ЦП и память.
>>1332078Это надо целую книгу прочитать и потом пердолиться в консольке чтобы просто проект откатить? РЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ, а еще говорят, что программисты себе жизнь облегчают.
>>1332152Двух первых глав хватит, еще желательно третью. Это один раз читается. Можешь сразу вторую конечно читать. Если прямо совсем не хочется - в тырнетах полно гайдов вката за 10 минут. Всякие GUI приложения для этого не используются.
>>1332031Блядь, хуле ты как из села, емае1)Создаешь на гитхабе репу.2)На своей пеке в папке с проектом делаешь git init3)git add .4)git commit -m 'Я ебу али бабу, это мой 1 коммит'5)git remote add origin адрес репы6)git push -u origin masterдальше идешь читать про ветки, мерджи, гитфлоу, фичи, хотфиксы и тд
как можно решить проблему, когда asp.net mvc не хочет запускаться в браузере в чужой Visual Studio. Дома стоит 2017. Спокойно компилируется и открывается в браузере. На учебе же стоит 2013 и БД не подключается.
>>1331338>>1332001> полуживой MonoGame Живее всех живых. > на них написаны Terraria, StardewValley, InfinityFlightЧто это за говно? Годные игры на моногейме: Bastion, Transistor, NeuroVoider, Celeste, TowerFall и многие другие. мимо
>>1332185>Что это за говно? Если ты чего-то не знаешь, то это говно? У этих игр максимальное число игроков из всех игр на моно.>>1332185>Годные игры на моногеймеМолодец, ты переписал сюда остальные из википедии.
>>1332098Если там ссылочный тип, то ты предложил какую то хуйню. Получается рендер не может пользоваться этим объектом пока парсер его заполняет. И наоборот, парсер не может его заполнять пока рендер им пользуется. Где профит то блять? Два потока синхронно используют ресурс, пиздец многопоточность запилил.
>>1332415Поток парсер генерирует каждый раз новый объект.Поток рендер использует последний объект который был спарсен и говорит делай еще.В результате при создании кадра ты не тратишь время на парсинг, но при очень быстром парсинге теряешь немного в актуальности данных.Профиты в том что ты тяжелую работу не делаешь в потоке рендера и значит ЦП не становится bottleneck.
>>1332498Даже если парсер генерирует каждый раз новый объект, он блокирует рендер если не успевает к началу кадра закончить работу. Если он парсит больше одного раза за кадр, то рендеру опять же придется ждать окончания текущей итерации. Короче наслаждайся нестабильным фреймрейтом и фризами от проснувшегося гц собирающего твое ненужное напарсеное говно.
>>1332001>>1332185Я всё же переформулирую вопрос.А есть на C# ААА игры? Мне вообще дела нет до инди игр и их движков.И почему на С++ игровых движков больше, он лучше подходит для геймдевелопмента? А каким образом?
>>1332534Он никак не блочит рендер потому что в рендере мы проверяем был ли спаршен объект, если да, то запоминаем его и позволяем парсеру дальше работать, рисуем кадр. Если же парсер еще парсит, то мы используем для рендера старый объект.В результате все что рендер знает о парсинге это готов ли новый объект или нет.Парсинг никак не фреймрейт не влияет вообще, кроме конечно же нагрузки на ЦП из ДРУГОГО потока.Но если ты так против моего метода, то предложи свой.Мой то рабочий и крутится на паре проектов благодаря которому фреймрейт спокойно 200+ идет.Хотя работа с данными может занимать больше 20 мс, но благодаря этому трюку это никак не влияет на ФПС, просто иногда может показать 1-2 кадра не совсем актуальные данные что для тех данных вообще не критично.>>1332675Основная причина почему ААА используют С++ это сложность реверсинга.На C# сложно защитить игру от левых модификаций и от взлома в том числе.А так юнити вроде как собирались выпустить демку с супер убер оптимизацией где миллионы объектов в сцене одновременно рендерятся без просадок.
>>1332692На разработку которых уходят миллионы, и которые имеют опять же имеют ещё большую прибыль. Например GTA V, Battlefield 5, Call of Duty Black Ops. Тут правда имеет смысл перечислять все популярные ААА тайтлы?>>1332721>На C# сложно защитить игру от левых модификаций и от взлома в том числе.Это кто тебе такое сказал?
>>133288525 проси, если ты не знаешь свой вэлью, то ты зелень. А значит 25 твоя цена (В ДС/ДС2 можешь на 40 поторговаться).>>1332916>Это кто тебе такое сказал?Потому что шарп компилируется в IL, а из него можно достать практически исходник. А всякие обфускаторы/протекторы либо замедляют (если в ынтырпрайзе это терпимо, то для YOBA гейминга критично), либо доводят код до нестабильной работы, а чаще и то и другое. Но я не думаю, что взлом это причина отказа от шарпа, ибо топ игры ломают до релиза. КМК шарп просто не подходит, да заскриптовать движок на юните это ОК, но писать сам движок на шарпе это смерть - он слишком высокоуровневый. Все равно придется пердолить низкоуровневую хрень, и в лучшем случае .net будет просто лишней прослойкой.
Может кто пояснить.Что это за хуйня? Для кого эти видео, для тех кто не понимает что такое программирование? Ведь человек который разбирается, сразу пойдёт обсирать автора за его быдлокод. https://www.youtube.com/watch?v=S9vPciEuIak
>>1332916А зачем такие игры на шарпе делать? Их воопще на всем, что угодно делают хоть на луа, хоть на собственном скриптоязыке. Двигло же для них пишут обычно на чем-то низкоуровневом, типа плюсов.
>>1332721>предложи свойПримерно так, для ситуации с двумя потоками:https://pastebin.com/J41tJsNEПарсер может загружать данные непрерывно по несколько раз за кадр, не боясь заставить тебя рендерить 2 одинаковых кадра. Может обновлять контейнер по частям не засирая память лишними объектами. Рендер всегда по требованию получает доступ к самой свежей версии данных.
>>1332968>25 проси, если ты не знаешь свой вэлью, то ты зеленьЕсли это тысяч рублей - то я за эти "деньги" даже задницу со стула не подниму.Я не знаю цену фуллстаков и сколько платят на коре относительно классического mvc, а сидя на легаси и нихуя не делая (имеется ввиду на работе) - так тем более
Поясните за модификатор параметра in. Он нужен только для того чтоб компилятор проконтролировал, что я ничего не меняю, а для вызывающего кода это ничего не значит? Но тогда почему можно менять поля ссылочного типа? И почему тогда пишут, что идет передача по ссылке, что это дает?
>>1333631>Поясните за модификатор параметра inЕбаный врот, впервые про него слышу. Видать в новом шарпе завезли, нахуя опять же не понятно, аналог final в жабе.>>1333631>Но тогда почему можно менять поля ссылочного типаНельзя менять ссылку на сам объект, поля же при это менять вполне можно.>>1333631>И почему тогда пишут, что идет передача по ссылкеДает тоже самое что ref и out : модифицировать свойства объекта при необходимости, но ref дает еще и сам объект, а out обязывает присвоить какое-то значение.
>>1333641>Видать в новом шарпе завезлиУгу. Вот я и решил, что седьмому шарпу скоро два года исполниться, а я не пользуюсь плюшками (in появилось в 7.2 он на полгода младше). Вот теперь такая запись корректна, сиже разбираюсь что, почему и для чего:static ref readonly int Foo(in int a){... return ref a;}Один кейс для in нашел. При передачи тяжелой структуры она не копируется, при этом её нельзя изменить как при ref.
>>1318762Есть вопрос по интерфесам. Я всё никак не могу понять: когда писать интерфейсы? Для каждого класса? Или это просто некая абстракция, для абстрагирования от всякого побочного и гарантии, что некий базовый функционал реализуют классы - реализаторы?
Есть два класса A и B : A, есть объект класса A, хочу сделать довнкаст B = (B)A. Получаю Unable to cast object of type.Пробовал B = A as B, всегда возвращает null. Какого хуя?
Антоны, есть две таблицы.Одна - Приход, она связана с таблицей Поставщики через отношение "Один ко многим".Так вот, когда я редактирую строку из таблицы "Приход" и через комбобокс меняю поставщика и пытаюсь сохранить, то мне выскакивает ошибка.Выглядит это вот так foreach (var p in db.PostavchikS.ToList()){if (comboBox1.SelectedItem.ToString() == p.Name) {pr.Postavchik = p;}Тут я получаю значения из таблицы поставщиков, ищу то, которое совпадает с выбранным в комбобоксе и в переменную pr сохраняю его. Мне сразу выдает ошибку:>a referential integrity constraint violation occurredА если перед этим установить свойство Postavchik в null и сохранить, то ошибки не будет.
>>1333700А иногда эта хуйня умудряется еще одного поставщика мне добавить.Блджад, лучше запросы наверное ручками писать, чем на эти ORM полагаться
Ходил сегодня на собес на джуна .NET C#.Это просто пиздец. Все началось с вопросов типа: что такое .NET? можно ли создать объект абстрактоного класса? А закончилось вопросами про потокобезопасность синглтона, мютексы, какие вы использовали DI. Я просто в ахуе. Что блядь тогда задют на мидлов и сеньоров? Ясен хуй, что меня не возьмут, хоть я что-то ответил по всей этой хуйне мимо настоящий русский, который не знает пиндоского языка. Это блядь везде такое спрашивают?твоя мать умрет от рака, если ты не ответишь на этот пост
>>1333959Однозначно не везде. Но меня в одну компанию когда собеседовали, тоже спрашивали подобное. На тот момент я нихуя не знал этого и проебался.
>>1334094>>1334094Каст as это сейфкаст который вместо эксепшона тебе сделает null. Читай документацию. По объектам - ты дятел, и из меньшего хочешь сделать большее
Аноны, помогите решить задачку. Необходимо составить подрограмму поиска количества элементов, у которых a больше суммы a двух предыдущих элементов и меньше суммы a двух следующих.class ListItem {int a;ListItem Next;ListItem Prev;}
>>1333691А теперь посмотри сюда и подумой:class A {}class B1 : A {}class B2 : A {}A ab1 = new B1();B2 b2 = (B2)ab1; //Какого хуя?Ты можешь сделать как на пикриле, но придет ООП-полиция и анально покарает. Адекватным будет либо заиметь конструктор либо фабричный метод B, который принимает A.
Категорически всех приветствую. Есть вопрос по vkNET.https://vknet.github.io/vk/ Я могу принять запись при помощи Wall.Get, но как преобразовать так, чтоб эту несчастную картинку и текст можно было вывести, скажем на сайт. Не понимаю как оно хранится и не могу найти нормальный гайд.
>>1333959Мидлам дают задачки и просят попиздеть полчаса про прошлые проекты.>потокобезопасность синглтонаКакой то конкретной реализации?
У меня есть метод, который читает данные из стрима, хочу добавить асинхронный. Метод примерно такой//preparestream.ReadAsync;//parsereturn;Так вот, можно ли, чтоб не повторять prepare и parse синхронный вариант сделать такRead() => return ReadAsync().Result;?
https://2ch.hk/pr/res/1335434.htmlhttps://2ch.hk/pr/res/1335434.htmlhttps://2ch.hk/pr/res/1335434.htmlhttps://2ch.hk/pr/res/1335434.htmlhttps://2ch.hk/pr/res/1335434.htmlhttps://2ch.hk/pr/res/1335434.htmlhttps://2ch.hk/pr/res/1335434.htmlhttps://2ch.hk/pr/res/1335434.html
Аноны, есть 2 функции, если в них использовать одну и ту же неизвестную, то и результат будет один и тот же (так в условии сказано и 100% тру). Написал вычисление на шарпе, но он выдает разные результаты, хотя если ручками вбивать в гугловский калькулятор, то все реально одинаково. За альфу беру 1(единицу), так проще считать. Что не так?using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication8{ class Program { static void Main(string[] args) { double a; do { Console.WriteLine("Введите альфа"); } while (!double.TryParse(Console.ReadLine(), out a)); double y = (Math.Sin(4 a) / (1 + Math.Cos(4 a))) (Math.Cos(2 a) / (1 + Math.Cos(2 a))); double x = 1 / (Math.Tan(3 / 2 Math.PI - a)); Console.WriteLine(y); Console.WriteLine(x); Console.ReadKey(); } }}
>>1338081Подсказали на киберфоруме, при делении 3/2 делится как int, а не double. Либо тройке тип прописываем и все гуд, либо сразу 1.5 пишем и не паримся. Единственная трабла конкретно этого примера, если подставлять 0, то они не будут одинаковы, ибо идеально одинаковых функций не существует. Так же и при больших значениях, считает верно, но в какой-то функции результат выходит наиболее точно.
Здравствуйте коллеги. Есть кто-то кто шарит за дизайн кода? Как лучше всего использовать #region? Если быть точнее, по какому критерию лучше сортировать элементы класса в регионы?
>>1352140Хуя себе ты тупой. Джава вообще топ язык для удаленки эвер, а по фрилансу уступает разве что пыхе с дваскриптом. Печально у него, совсем поехавший.
Никак не могу понять многопоточность в Win формах. Сколько ни пытаюсь запустить ее по гайдам и мануалам - один хуй метод выполняется в основном потоке, и вся форма замерзает. Может кто даст совет как сделать изменение свойст формы из другого потока, и чтобы вся форма при этом не застывала?