В треде так же приветствуются 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 может продолжать свою работу. Как это делается правильно?
Итак, я 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, что не есть хорошо. Или же компилятор это соптимизирует все?
валеры, поясните нововкатывальщику. Сейчас читаю 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;
>>1311008 >а зачем они нужны, если есть просто переменные? Они заменяют Гетеры и Сетеры, их использовать удобнее и красивее. Поля класса нежелательно делать public, потому-что это нарушение инкапсуляции, в свойстве же ты можешь контролировать поступающие данные.
>Пропертисы и переменные это разные вещи? В C# поля и свойства это разные вещи.
>Почему я не могу написать так Потому-что если тебе нужно задать значение по умолчанию которое не будет меняться в будущем то лучше использовать константу. Если же тебе все-таки нужно менять значение, то поступающие данные нужно как-то проверять перед тем как присваивать переменной, например чтобы имя и фамилия человека не могли содержать цифры, тут-то и нужны свойства\гетеры\сетеры, чтобы при поступлении какого-либо значения ты мог проверить его на корректность.
Посоны, в туториале по созданию игры "Крестики-нолики" на Юнити рекомендовали сделать внутренние классы в классе-контролере. Это нормальная практика для скриптов Юнити, или лучше вынести эти классы в отдельные скрипты (отдельные файлы, как в Джаве)?
[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 он нормально отображается).
А вы размещаете на своём гитхабе скомпилированные программы? Если да, то как, кидаете папку со скомпилированной программой в папку с локальным репозиторием, добавляете и коммитите?
Антоны, читаю про фабрику контроллеров Фримена, там есть такой вот код: default: requestContext.RouteData.Values["controller"] = "Product"; targetType = typeof(ProductController); break; Можете сказать, за что отвечает вот эта строка? requestContext.RouteData.Values["controller"] = "Product"; Я чет проебался и не могу понять, зачем оно нужно, а из объяснения тоже ничего не понятно.
Сап, анончики. Можете помочь очередному нубасику хотя бы советом?
Типичная вузовская задачка: Дан массив размера n. Найти номера двух ближайших элементов из этого массива (то есть элементов с наименьшим модулем разности) и вывести эти номера в порядке возрастания.
Вроде, пролистать одномерный массив и найти наименьший модуль разности несложно, как и вывести номер элемента через итератор. Но, я рылся по сайтам как вывести в порядке возрастания номера элементов массива и ничего не нашел. И самое главное, а что, если элементы массива будут повторяться? А что, если весь массив будет состоять из одних и тех же значений, как тогда выводить все повторяющиеся значения? На все эти вопросы ответа, увы, не нашел. Буду рад услышать их здесь, тем более, наверняка, тут полно готовящихся к сессии анонов. Возможно, что я зря заморачиваюсь, а решения через нахождение одного из минимальных значений(забить хуй на повторения и прочее) будет достаточно.
>>1311715 1)Как вывести номера элементов в порядке возрастания? 2)Как вывести не два номера элемента, а номера всех элементов, что имеют равнозначно минимальную разность(например 1 также близка к 2, как и 3, разница по модулю 1)?
>>1311721 1) Сделай копию массива(аrr2). Ориджинал отсортируй(arr1) гугли сортировку пузырьком, а потом по отсортированому(arr1) ищи циклом индекс значений во 2 массиве(arr2) и записывай в новый массив(arr3) индексы 2 массива, его и выводи. 2) Цикл до размера массива-1 в нем еще один такой же и в нем берешь разность (arr и arr[i+1]) и сравниваешь значение во втором цикле(arr[j] и arr[j+1]) по всему массиву сначала.
Накидал навскидку, возможно существуют решения и получше.
>>1311736 1)Разве сами по себе индексы массива можно выводить или как-то с ними оперировать? К ним же можно только обратиться. 2)Имеем на деле выход за предел значений массива(конструкция arr-arr[i+1]. Ну и не догнал что с чем должно сравниваться, ибо получившаяся разность никак не связана с парными индесами, следовательно, от сравнения толку мало.
>>1311748 1) Нет вообще в линкю есть методы с реплейсами и т.д., а еще есть словарь, но мы же берем в учет что это задание в шараге и за такое тебя вероятно пошлют нахуй, именно поэтому я тебе выше написал как можно сделать. Индекс просто i в цикле, его и запиши, очевидно же.
2) Я же писал что размер-1. В случае с минусом, просто i=размер; i>1. Разность в первом цикле ты получаешь и эту разность ты проверяешь во втором цикле ко всем элементам массива (от начала до конца). Но судя потому что ты написал (тебе нужна минимальная разность), то тебе нужно сначала очевидно найти ее и потом с ней можно найти все одним циклом - if (минразность == arr и arr[i+1]) записать(или что там тебе нужно); Господи, не тупи, и так уже тебе много подсказал.
Кароч скачал сегодня vs 19. Думал что баги поправили и скорость работы на калькуляторах повысили... АГА ЩАС - сказал Билли Вот так вот и хочется закинуть ему за щеку. Майки что это такое? Что опять б*ь произошло... Почему пользователи шарпа пользуются нормально и у них ничего не лагает даже на 2 коре самой перой. Похоже что в самой МС студией даже не пользуются. Одни свистелки перделки, а под капотом автоваз. Я высказался, пойду скачаю райдер.
Сап, сисярписты. Знаю, что меня сейчас обоссут, но лучше помогите! У крестоводов и сибояр есть так называемые фаст-либы, в которых функции это обертки над ассемблерными вставками. Таким образом они повышают производительность, например математических вычислений. Есть ли способ заюзать все это на C#? Какие вообще есть методы оптимизации в C#, кроме 1 галочки в настройках проекта? Хочу чтобы мой хеллоуворлд работал быстрее, но переписывать его на C/C++ не хочу. Помогите!
>>1312824 unsafe/алгоритмы/ассемблерные вставкт, если проект изначально писался оптимизированным. Избавление от LINQ и динамической типизации, если это был прототип.
>>1312838 Unsafe практикуюв силу знаний, алгоритмы тоже. Так все таки можно ассемблерные вставки на C#? Расскажи как, я нагуглил ровно нихуя. На stackoverflow вообще пишут что нельзя, но я им не верю. >Избавление от LINQ и динамической типизации, если это был прототип. И тут можно поподробнее? Спасибо анончик.
>>1311754 Если в исходном массиве нет повторяющихся элементов, то почему бы не: отсортировать массив, взять первые два элемента, найти их индексы в исходном массиве, вывести в порядке?
Хочу написать парсер к одной игрушке которая в логи пишет очень много информации, поэтому возник вопрос производительности, есть что-то лучше стандартных средств для анализа строк? На вхождение, на то чем строка заканчивается или кончается. Просто в секунду там будет порядка 10000-20000 строк для анализа как минимум и это судя по dotTrace одна из самых кушающих операций, вот и хочется как-то оптимизировать это дело.
Время тупых вопросов. Как понять, что класс может принимать инициализатор? На примере ArrayList'а. Тут инициализатор не свойств, а типа как для массива, правильно? А как понять, что так вообще можно? По наличию IEnumerable? Или какой-то другой интерфейс?
>>1313650 Все классы реализующие ICollection соответствуют требованиям для инициализатора, но не все соответствующие требованиям реализуют ICollection.
Возможно-ли реализовать SSE на C#? На хабре пишут что .Net поддерживается SIMD, я так понимаю это не одно и то-же (хотя в вики пишут что SSE это SIMD)?
>>1313798 Если ты линуксоид/макоблядь ну или просто хочешь сэкономить ресурсы - вс код. Иначе ставь студию. Райдер платная, неюзабельная и забагованая параша, нахуй ее. ну она была такой пол года назад, хз какая она сейчас. А вообще, иди нахуй, ебучий вкатывальщик. Поймешь, какой инструмент тебе нужен только когда вкатишься.
>>1313818 Много где шрифты налазили друг на друга, в некоторых местах шрифт был больше формы раза в три. Сам интерфейс какой-то стремный и непонятный. Дальше я не смотрел, я просто перешел на вскод. Конечно, ты можешь возразить, что эти баги не критичны, но они явно говорят о качестве продукта. за который еще и платить надо!
>>1310862 (OP) Аноны сможет кто помочь? У меня есть класс обертка, который принимает ссылку на массив и делает с ним всякие вещи. Как сделать при индексации к этой обертки он возвращал массив из ссылки но уже измененный.
То есть. Основной класс создает массив, создает экземпляр моего класса обертки и в конструкторе обертки кидает созданный массив, я над этим массивом шаманю в обертке и возвращаю к примеру длину массива.
Потом основной класс индексирует мою обертку так: obertka[0] и получить n элемент массива или изменить n элемент типа: obertka[0] = 101, причем когда еще раз создать экземпляр обертки и опять индексировать обертку обратившись опять к obertka2[0], то опять получить 101.
Пожалуста помогите найти крутого программиста для моей РПГ игры. Оплаты нету, обещаю 40% от продаж игры. Вот идея: 1-много монстров(40-100) 2-много предметов(60-200) 3-будут босы и много чего еще.
У меня есть много интересных идей для своей игры. Пишите
Пожалуйста помогите найти крутого программиста для моей РПГ игры. Оплаты нету, обещаю 40% от продаж игры. Вот идея: 1-много монстров(40-100) 2-много предметов(60-200) 3-будут босы и много чего еще. Думаю, мы заработаем много.
Bachelor’s Degree in Computer Science, Electrical Engineering, or Computer Engineering 5+ years experience as a software engineer in C#.net 1+ years experience working in an environment where CI/ CD tools are used Have a minimum of 2 years experience leading or mentoring junior developers 2+ years experience in writing unit tests Experienced using Jira and Git 2+ years in an environment where you used architecture principles and frameworks At least 1 year of working experience using cloud services such as AWS Proficiency in the following skills and technologies is mandatory: General database knowledge in a technology such as SQL Server/Oracle/MySQL/MongoDB/Cassandra SOA, EDA, and Design patterns Javascript (ReactJS, AngularJS) , HTML5, CSS3 Some experience in Linux, Django, REST and shell scripting MVC and knowledge of another server-side programming language (Ruby, PHP) is desired but not mandatory Demonstrate success as a problem solver Be a results-oriented individual Comfortable “working virtually” with teammates and customers around the world Good 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 года он мог вообще не покрывать код тестами?
Где прочитать про магию на пикче? Я даже не знаю как оно называется всё, лол. Т.е. я понимаю, что он объявляет метод, но обведенное красным мне неизвестно.
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) Исходя из предыдущего пункта, думаю, понятно, что ты расширяешь то, с чем придется работать методу
Есть какой-то всратый проект на asp.net, и нам кинули его на доработку. Я раньше с этой технологией вообще никогда не работал. Суть в том что с вьюхи ajax запросом посылаются данные на сервис url: "/../Services/WebService.svc/SaveDirector" Но фишка в том что если нахрен всё удалить с этого файла, он так же будет работать и записывать в базу и т.п. 0 реакции на его изменения, только ошибка когда уже полностью удалю его. Я так понимаю это какой-то WCF сервис или что-то такое
[OperationContract] public void ContactDirector(string FirstName) { ... }
>>1310862 (OP) Cуп программач Хочу кодить для себя 2д игори на шарпе, что юзать? Думаю про опенгл, но какой фреймворк его реализующий более-менее живой и приличный? С меня нихуя, спасибо, анон
>>1314753 if(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
>>1314660 Юнити, очевидно. Поскольку юнити ускоряет время разработки и массово присутствует на рынке, позволяя тебе не заморачиваться над мелкими проблемами. Ни один уважающий себя разработчик не будет писать ничего на устаревшем моногейме или пытаться собирать движок с нуля, это все просто нерационально.
Кто-нибудь использовал Xamarin? Насколько медленнее чем нативка под Андроид? 3d и сложные вычисления не нужны. Во что конпелируется код? В нативный байт-код для дважа-машины или в CLR, который пошагово выполняется на Дважа-машине/NDK?
>>1314832 Да. Например в app.config, или в... смотря что ты используешь для доступа к бд. >>1315214 >Куда несет микрософт со своим детищем В Core и опенсорс
Поцаны, поясните за книгу троелсена для вкатывания. Читаю в оригинале, вроде все понятно, но заданий для закрепления нет. Это вообще нормально для вкатывания просто читать учебник и изучать строки кода из учебника в visual studio?
>>1315292 я не помню были ли хоть в одной из книг "задания для закрепления", но я 100% помню, что не выполнял ни одно из них. Являюсь хорошим программистом
>>1315303 те книги, которые я читал, уже устарели и были по другим языкам. Один из авторов был Никита Культин: https://www.litres.ru/nikita-kultin/ Но те книги, которые сейчас в списке, я не читал. Шарп у него 2010 года, это ещё до async/await, это слишком старая книга.
Сам я Шарпу учился... сам. Как бы смешно это не звучало. Я залип на первой-второй главе Тро-ло-лоэльсона и вместо книги начал просто писать код в Райдере, который за меня поправлял те или иные вещи. Потом уже подтянул знания вида ref/out/in
Осваиваю Юнити, чувствую, что это прекрасный инструмент. Но у меня вопрос - некоторые ругают Юнити, так как считают его производительность низкой. Тем не менее, на hh.ru достаточно вакансий Юнити-разработчиков, и насколько мне известно, на Юнити есть даже успешные ААА-проекты.
В чём правда? У Юнити плохая репутация из-за потока криво написанной индюшатины?
Учусь по книжке Алексея Васильева "Программирование на C# для начинающих" Во втором блоке задач не могу осилить задание 6, хотя это самое начало, все должно быть элементарно. Суть в чем: Вводишь число в десятеричной системе, программа проверяет вторую цифру в восьмеричном представлении числа. Каким алгоритмом это можно сделать, используя те инструменты, которые дал к этому моменту автор, а это пару типов переменных, их приведение, арифметические, логические, побитовые операторы. Вещи вроде этой я пока знать не должен:
string s = Convert.ToString(15, 8); Каким алгоритмом это можно сделать.
>>1315939 1)переводишь с помощью тупой формулы и циклов в нужную систему 2)циклом while определяешь разрядность, типа после каждого прохода увеличиваешь на один, до логики сам допри 3)проверяешь цифру
Увидел в коде одного проекта которые использует ToString как дебаг на своих объектах и сразу возник вопрос, нахуя тут проверка на нулл? Ведь даже если сделали override, то нулл никогда не вернутся, а возвращать null из tostring это уж совсем ебанутость. if(obj.GetType().GetMethod("ToString")!=null) {
>>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.
У юнити ниша - инди разработчики и некрупные фирмы, где графоний чисто по человекочасам/(штат*уровень команды) топовый делать не будут, а на простом графонии он и не тормозит.
Совсем примитивное 2д-индецо вроде тобой перечисленного, конечно, лучше на мелких библиотеках писать, для него юнити действительно из микроскопа по воробьям.
А всё это потому, что инхауз движки, как правило, имеют хуёвый инструментарий, писались местыми байтослесарями для местных байтослесарей и единственным смыслом их создания было тупо отсутствие 15+ лет назад подходящих коммерческих, умеющих в хотелки и оптимизон разработчиков.
GTKRadiant застал в свое время? Вот примерно такое же юзабилити у всех внутренних движков, напару с говном в кодовой базе и постоянным допилом.
>>1317224 ue4 это же плюсы, мобильные игры на анрыле зачастую охуенно оптимизированы при консолеграфоне, но их по пальцам сосчитать можно по сравнению с игрулями на юнити
Дали очень странное тестовое задание. Вкратце, нужно написать некий Web-сервис, отдающий наружу REST, с данными из базы. Вроде все просто, Web API + Entity Framework. НО: сервис должен сам, у себя (на сервере) регулярно, с заданной периодичностью обновлять базу. Уточнил, можно ли сделать 2 программы - Windows службу для обновления базы и ASP.NET MVC сайт, оказалось, что нет, должно быть одно приложение. Есть идеи, братишки? Вообще не ебу, как в одной проге совместить и службу, и ASP.NET приложение.
Возник такой вопрос производительности в такой вот задаче. Есть словарь которые хранит другой словарь, так вот первый словарь получает новый элемент ОЧЕНЬ редко, но очень часто происходит итерация по этим словарям. Этот первый словарь должен быть сортированным чтобы обрабатывать команды в нужном порядке стоит ли заморачиваться и делать при каждом добавлении новый словарь через orderby или тупо использовать sorted dictionary? Гугл вроде как говорит что итерация по sorted dictionary дороже чем просто по dictionary, а то что там добавление очень дорогое мне пофиг, так как добавляю я раз в десятки секунд, а вот итерация идет под сотню раз в секунду. По коду я имею ввиду словарь Dictionary<int,Dictionary<key,MyType>> и SortedDictionary<int,Dictionary<key,MyType>>.
>>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. Им, наверно, эпики бабла забашляли, чтобы те на их двигле игру писали. Других причин предпочесть этот движок я не вижу - он не то, чтобы говно, но вполне себе такое менее удобное недоюнити.
> У юнити ниша - инди разработчики и некрупные фирмы, где графоний чисто по человекочасам/(штат*уровень команды) топовый делать не будут, а на простом графонии он и не тормозит. Ну, это смотря что понимать под некрупными фирмами. Если вообще все, кроме фирм с бюджетами в десятки лямов баксов за игру - то да, ты все правильно написал.
>>1317647 Хуй пососи, я в геймдеве не ебу и говорил про производительность и как пользователь. Нахуй мне твои 20 мегабайт? Я скачал крутую динамичную игруху с шикарным графонием и она работает без проседаний на моем древнем медиатеке, значит она оптимизирована хорошо.
>>1317646 >Им, наверно, эпики бабла забашляли, чтобы те на их двигле игру писали. Других причин предпочесть этот движок я не вижу - он не то, чтобы говно, но вполне себе такое менее удобное недоюнити.
У юнити, емнип, серьезные лицензионные проблемы с получением и допилом исходников - КОНСОЛЬНУЮ АПТИМИЗАЦИЮ НИЗДЕЛОТЬ.
А без неё на соснулях на ванилле даже минималки уровня пеки с 30 кадрами не получаются.
>>1318197 Вкатывайся в кор, никаких подводных. Главный подводный - тебе скорее всего придется выучить жс, чтобы уметь что-то пофиксить на фронте. Сейчас где работаю, у нас есть фронтэндеры, но легкий таск по фронту или фиксы частенько на меня кидают, поэтому первые пару месяцев очень сильно рвался с непривычки и болей от жс
>>1315880 Просто в юньке есть много способов выстрелить себе в ногу, что зачастую и происходит. Вот допилят ECS, так производительность в несколько раз скакнет, а в определенных тасках так и в раз 10.
Хочу начать изучать 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, хотя вроде бы должны
>>1318544 Если не ошибаюсь таски потребляют threadpool и в твоей задаче они кончаются и вообще 8к тасков глупо создавать. Уверен ты их не вручную делаешь, а циклом и для этого лучше использовать Parallel.For/Foreach потому что там уже за тебя все подумают и оптимизируют, а если хочется через опции можешь с параллелизмом поиграть. И вообще таска не дешевая операция, лучше не создавать их такими кучами.
Делал через делегаты и ивенты, но теперь надо реализовать все через EventHandler.
Все как и в паттерне наблюдателе. Observable - ObservableStack у меня, который подписывает на события Observer. Observer - Observer у меня, который слушает вызовы Notify и от туда берет значения себе в лог.
>>1318548 Смотри дружок пирожок. Интерфейсы это просто секс, когда начинаешь их понимать.
Да интерфейс это контракт и лучше в полиморфизме использовать чаще их, ибо когда у тебя десятки классов наследуют 1 и тот же интерфейс, ты всегда будешь знать что нужно именно реализовать, зачем? Вот смотри:
У нас есть нереализованная фигура, которая в себе хранит свое название, количество сторон и т.п. свойства
И у нас есть такие фигуры: Квадрат, треугольник, 4х угольник, ромб, параллелепипед и т.п.
Теперь нам нужно написать метод, который по очереди выводил количество сторон, описывать метод для каждой фигуры? Ужас и бред, используем полиморфизм и апкастим(то есть приводим к чему-то абстрактному, выше по иерархии). Ведь все эти фигуры имеют что-то общее, общий контракт, который будет описывать каждую фигуру, теперь в каждом классе реализуем интерфейс. И мы можем каждый экземпляр фигуры привести к общему контракту IShape(апкаст) и засунуть все фигуры в 1 массив хранящий IShape, а потом в цикле пробежаться по всем кто реализовал IShape и вызвать у них нужное нам свойство.
Лучше подтверждать свойства чего-то на деле, написав и реализовав самому интерфейс, а что не понятно из реализации спрашивать тут.
Антоны, я чет вообще нихуя не понимаю у Рихтера про SafeHandle и всю хуйню, с одной стороны он понятно обьяснил, почему механизмы финализации - хуйня, но вот про дескрипторы, хуипторы и прочую хрень я не пойму. Может кто пояснить?
>>1318740 то есть если я тебе скажу, что там чуть ниже создаётся миллион тасков, тебя вообще паралич хватит? Но, во-первых, там Семафоры, во-вторых, мьютексы на однотипные действия. Завтра перепишу кусок, останется не больше 4-5 тредов. Сейчас эта система нужна, чтобы выполнился одно задание из коробки А, потом одно из Б, потом одно из В и так далее, пока не закончатся все задания. Если коробка кончается, она пропускается. Легче всего это было сделать, создавая подряд таски из каждой из коробок, проверяя какие коробки заняты в данный момент. Надо будет придумать как в этом случае сделать так, чтобы из коробок создавались треды по порядку, сначала из одной, потом из другой, потом из третьей, потом опять из первой. Мб реально на Parallel.ForEach перепишу. Надо посмотреть какое там поведение
>>1318978 Если хочешь задачку на закрепление, напиши обсервер, который будет следить за изменениями одного файла и нотифаить своих подписчиков когда он поменяется. Логику которая занимается проверкой файла на изменения вынеси в отдельный интерфейс.
>>1319103 >там через EventHandler, у все классов слушателей одна и та же функция принятия, почему бы просто подписчиков в список и вызывать всех кто подписался? Я нихуя не понял что ты хотел спросить.
>>1319115 почему бы не сделать проще и в ObservableStack сделать список класса Observer, все Observer, которые подписываются на ObservableStack добавляются в лист или удаляются, а потом если произошло что-то в ObservableStack он вызывает метод который пробегается по списку и у всех Observer в списке вызывает HandleEvent.
>>1319152 Хм, что же проще, использовать уже готовый EventHandler или сделать дополнительный класс который делает все тоже самое что и он? Давай подумаем вместе.
>>1319152 >>1319162 А, ладно, я походу понял о чем ты. Можешь вместо KeyValuePair использовать свой класс, в котором будет хранится путь к файлу и эвентхандлер, суть от этого не поменяется.
>>1318776 >>1318771 Бамп. Может кто пояснить, в такие подробности работы памяти вообще стоит соваться? А то я читаю и ввообще не понимаю, что за дескрипторы, мьютексы.
Аноны можно ли вкатиться на работу? Могу за ООП, отличаю ООП от функционального программирования. Есть знания в linq, есть привычка содержания кода в чистоте, умею в контроль версий, гитхаб. Могу в разные базы данных типа mongodb sql mysql
И ещё нужны ли работодателю такие проекты на гитхабе: Есть серьезные проекты по типу: различные типы сортировок с отрисовкой графика скорости сортировки. Деревья, мини редактор изображения на делегатах и наследовании настроек от 1 настройки, что-то типы таблицы excel можно вызвать по ряду и строке и получать значения и все через индексаторы
Есть шуточные проекты по типу: генетическая машина, наследуем новое животное, реализуем и описываем его и так как все животные от одного IAnimal можно делать всякие штуки без опаски и выводить новое животное.
>>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, по моей логике.
Заодно объясните, как наследовать один класс от другого через диаграмму классов? Там по идее в 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, что и виновато во всех моих злоключениях.
Божественный райдер подвел и не может нормально дебажить длл загруженные через 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
>>1320524 По опыту могу сказать что для большинства вакансий наверное 80% не используется. К примеру что у меня, что у друга на работе требуют крайне простой код. Неважно насколько код быстрый, насколько правильный, главное чтобы был прост как две палки чтобы другие его понимали с пол пинка. У меня домашние проекты в разы сложнее того что заставляют на работе писать. Хотя в моих проектах очень много сложностей возникает из-за желания оптимизировать, так как достал говно софт который для небольших задач жрет 1 гиг и 20% проца не понятно на что, так еще сука и тормозит. От друга слышал что у него был период в компании когда им запрещали использовать LINQ, потому что другие участники проекта не могли его выучить. Сейчас с этим стало получше, но все равно за что-то сложнее Where могут дать нагоняй. Особенно если пишешь на языкоподобной версии с использованием let. Меня вот на собеседованиях постоянно гоняли за ковариантность и контравариантность, но использовал я это только в своих личных проектах и то всего пару раз, при том что можно было легко и без этого обойтись.
блять, двач, помоги, как исправить эту залупу, я не шарю в с#, просто надо запустить программу, net framework нужной версии у меня установлен, я уже заебался
>>1320763 либо скажите мне, что я делаю не так. мне нужно запустить эту программу. я открываю цмд и пишу dotnet build и путь суда. в ходе выполнения появляется та ошибка.
>>1320827 теперь у меня вообще нихуя не работает. ой бляяяяяяяяять проебал целый день на эту залупу и в итоге нихуя сукаааааааааааааааафылворафылдваорфыв
Так. Учу джва месяца 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 За МКАДом зарплаты в несколько раз меньше, чем в ДС. Это правда. Но нужно учитывать, что у каждого жителя замкадья есть огород и приусадебное хозяйство. Жители замкадья питаются с огородов, выращивают птицу и скот. Поэтому деньги им нужны только на одежду и коммунальные платежи. А значит вполне справедливо было установить им меньшие зарплаты, чем в Столице, где приходится покупать в том числе и продукты питания.
У меня горит очко а теперь к вопросу пишу что то вроде электронного дневника Сделал 3 таблицы в бд(таблицу учеников, таблицу уроков и таблицу оценок) Спарсил их в Rows Сделал CRUD на все 3 таблицы всё ок А теперь я хочу реализовать поиск оценок по ученикам, без использования запросов к БД. Тобишь поиск через Table.Rows пс я нубасик,тяжело объяснить что сделал, или что нужно, если кто поймёт, помогите плиз
>>1321073 А причем тут огороды, курицы и кролики? Очевидно, что в ДС и затраты намного выше и стоимость досуга. >>1321078 Охуенно, но у меня такой мамки нет.
>>1321080 >>1321076 Я нихуя не понимаю, покажи структуру своей БД, как таблицы между собой соединены. Через что ты со своей БД связываешься, это ORM или какой-нибудь ADO.Net? Какая СУБД?
>>1321156 >В дс ВСЁ дороже в 3 раза? Нихуя не так же Рыночек так порешал не поэтому. У маасквичей хорошее знание английского, они уёбывают за бугор или садятся на удалёнку. Разницы нет, человек потерян для российского рынка. Из технических вузов ДС число выпускающихся не-долбоёбов не такое уж и большое. Владеют нужными технологиями и того меньше. Поэтому выход - звать людей на такую зарплату, которая обеспечила бы человеку из региона не только равную покупательную способность, но и повыше, чтобы он шевельнул анусом.
>>1321067 >и трата на продукты питания Да не пизди, там разница процентов 20 максимум, а иногда в ДСах продукты дешевле/так же стоят как и в моем Засранске 350к.
Ни в какую не хочет редактировать данные в таблицы в БД на ASP.NET MVC. Уже полез на офф сайт microsoft и нашел код. (на пикче). Метод edit срабатывает и меня из страницы редактирования на index перекидывает, но данные не меняются... Делал ровно всё по гайду, и не понимаю в чем проблема. (Либо в этих гайдах что то не договаривают).
>>1321173 Лично я работаю над расширениями для Revit. Дебажить в условиях, когда эта срань после каждой пересборки расширения должна быть перезапущена (а это что-то в районе минуты с пачкой диалоговых окошек), а тебе при этом надо работать с геометрией, часто корявыми данными и достаточно неочевидными апи - боль. Поэтому, например, запилил себе на рефлексии мини-фреймворк, который перезагружает расширения на лету. Без неё это сделать тупо невозможно.
Сериализация/десериализация жсона без ручного заполнения полей, DI-фреймворки, и подобное тоже на рефлексии строится с огромной пачкой атрибутов сверху. Я бы сказал, что рефлексия - почти чисто библиотечная штука.
>>1320623 >От друга слышал что у него был период в компании когда им запрещали использовать LINQ, потому что другие участники проекта не могли его выучить. Это нормальная практика, вот у Рихтера в советах про методы расширения написано: >Прибегать к этому механизму следует не слишком часто, так как он известен не всем разработчикам. Например, когда вы расширяете тип с методом расширения, вы действительно расширяете унаследованные типы с этим методом. Следовательно, вы не должны определять метод выражения, чей первый параметр — System.Object, так как этот метод будет вызываться для всех типов выражений, и соответствующие ссылки только будут загромождать окно IntelliSense.
>>1321296 >Лично я работаю над расширениями для Revit Извини, Анон, я не знаю, что это. >Дебажить в условиях, когда эта срань после каждой пересборки расширения должна быть перезапущена (а это что-то в районе минуты с пачкой диалоговых окошек), а тебе при этом надо работать с геометрией, часто корявыми данными и достаточно неочевидными апи - боль. Угу, значит, это нужно для отловли багов во время работы приложения, действительно, разумно.
>хочешь сделать такой хорошо выглядящую приложуху на WPF по MVVM-паттерну >нет ни одного one true way, каждый в городит свой колхоз
>в каждом втором туториале MVVM грубо нарушается и шизик-программист начинает прописывать логику прямо во вьюхе, потому что это проще всего >кастомные диалоговые окна - через костыли >блокировка кнопок при инвалидации полей на форме - через костыли >кастомные контролы - через костыли >ехал диалогКоординатор через рилейКомманд через сервисЛокатор >магические строки by design >в васянском mahapps.metro-фреймворке забыли прописать ссылки на современные контролы в словареРесурсов, плюс костыль >поток уничтожает ссылку на диалоговое окно раньше, чем вызывается его закрытие, делай еще раз костыль >в xaml постоянно ворнинги что контрол не найден, хотя он найден и отображается без проблем
Это мой первый опыт написания на WPF, но бля, почему на каждом шаге постоянно превращаешь свою ногу в решето. То, что делалось на сраном винформс за 2 минуты, тут делается за 2 часа минимум. Лучше бы на электроне делал, ей-богу.
Допустим, я выучил язык. Судя по советам выше, далее нужно учить какой-нибудь фреймворк/технологию. Вопрос: какой выбор у сисярписта есть? .NET core не хочу, ложил болт на линукс и кроссплатформу, мобилки не интересуют соответственно. Также не хочу иметь ничего общего с вебом.
>>1320948 Пиздёж. В ДС 90к платят мидлам, джуна нахуй пошлют. Средний сениор получает немного за сотню, но чтобы перевалило за 200к ты должен очень сильно шарить, и я таких людей не встречал.
Мамкиным программистам, которые тут 24/7 вопросы из хэллоу ворлдов задают никакие 90к не светят уж точно.
>>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.
И тогда вот это трэш > Например, когда вы расширяете тип с методом расширения, вы действительно расширяете унаследованные типы с этим методом скорее будет так: >например, когда вы расширяете тип с помощью метода расширения, в действительности вы расширяете и все производные типы.
Если знаешь кресты на уровне ООП, можно ли вкатиться в сишарп без особых проблем? Алсо, хотелось бы писать что-нибудь с графическим интерфейсом, есть проблемы с этим на сишарпе?
>>1322318 > Если знаешь кресты на уровне ООП, можно ли вкатиться в сишарп без особых проблем? Не особо. Просто смотри metanit.com когда что-то непонятно. > Алсо, хотелось бы писать что-нибудь с графическим интерфейсом, есть проблемы с этим на сишарпе? Если сидишь на винде и хочешь писать под венду, то все гораздо проще, чем на плюсах - винформс даже для хеллоуворлдщика интуитивно понятный. Но на линуксе/макосе нихуя толкового нет.
У меня есть метод, который принимает строку. Если я сделаю проверку через string.IsNullOrEmpty и брошу ArgumentException будет ли это говнокодом? Должен ли я делать две проверки и выбрасывать ArgumentException/ArgumentNullException?
Пытаюсь в MVVM. Есть класс модели, реализующий IEnumerable и есть ListView во вьюхе. Класс прибинден к листбоксу, после добавления записи в модель мне надо как-то обновить вьюху. Запись добавляется через VM, то есть я контролирую момент изменения, а не прилетает из вне. И вот у меня варианты 1. Класс модели реализует INotifyCollectionChanged. Но насколько корретно подгонять модель под вьюху? 2. Лепить прослойку с INotifyCollectionChanged между моделью и VM. 3. ??? Что думаешь онон?
>>1322691 >подгонять модель под вьюху? Боюсь даже представить что ты там такого сделал, что приходится модель под вьюху подгонять. Ни вьюха, ни модель не должны иметь представления друг о друге, вообще никакого. Гугли two way binding.
С сисярпом имею опыт, но не очень большой. Успею бек для диплома за пару месяцев нахуярить с нуля на аспкоре, или лучше не выебываться и взять что-нить более привычное?
>>1323495 Ну там будет сложная бизнес логика, по идее. Пока не очень представляю ее целиком. Фронт SPA+мобильный клиент, нужно будет дергать пуши на ведре. А в остальном никаких отличий от крудоговна.
Объясните дураку. Почему я не могу параллельно писать в массив используя указатели и присваивая по смещениям новые значения? Пытаюсь в bitmap писать через lockbits, обычный цикл работает как по часам, параллельный же херит где-то 50% картинки шумами, при том шумы каждую генерацию разные. Что я не делаю не так? Ведь по логике вещей все должно быть отлично, я же тупо меняю память по указателям ровно на тот же размер который там хранится. Разнице же нет если я пишу в 0x0 и 0x4 по 2 разных инта из одного потока или нескольких, обращаюсь же я по указателю и эти два потока вообще о друг друге знать не должны.
Нил хелп, анон. Столкнулся со следующей проблемой. Есть FileSystemWatcher, отслеживает изменение одного маленького текстового файла. Фильтры LastWrite, FileName и CreationTime. EnableRaisingEvents = true. Подписываюсь на событие Changed. И все отлично, любые изменения файла дергают обработчик. НО на другом моем компьютере это не работает, FileSystemWatcher создается аналогично, но при манипуляциях с указанным файлом ничего не происходит - событие не срабатывает. Файл, очевидно, меняется и в винде так же меняется время изменения, путь и имя файла так же указаны верно. В чем может быть проблема и в какую сторону стоит копать?
>>1323481 Я про INotifyCollectionCahnged и INotifyProperyChanged. Стоит ли их реализовывать в модели ради того чтобы работали биндинги во вьюхе. >two way binding. Для него как раз и нужна реализация INotify...
>>1323513 Типа все помнят наизусть как у Рихтера, а как на метаните.
>>1323688 1. Какие ОС у тебя на 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 мс на генерацию картинки.
>>1323705 Ты какую то хуйню делаешь. Бинди филды вм к вьюхе, потом в вм из модели берешь данные и кормишь их этим филдам. Скормил данные филду - вьюха обновилась.
Антоны, таки не можете пояснить, в чем смысл вызывать событие с помощью: 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
>>1323974 >Чем это лучше например Set<T>(ref T storage, T value, [CallerMemberName], string propNmae)? Ну хотя бы тем, что тебе не нужно писать стрингу с пропНеймом. Поменяешь как нибудь имя у проперти, а про то что где то там стрингу с этим именем передавал уже и не вспомнишь.
>>1324087 >не нужно писать стрингу с пропНеймом. CallerMemberName заставляет компилятор подставлять имя свойства автоматически, так что хоть 100 раз переименовывай. >>1324087 >В чем проблема вызывать OnChanged() Вызывал, но механизм биндинга видит, что коллекция осталась та же и не обновляет ничего. >>1324093 Мне кажется ты вообще не на мои вопросы отвечаешь. Я знаю про все эти коллекции и интерфейсы, я спрашивал на каком уровне они должны быть реализованы. Но я вроде уже начинаю понимать как можно провернуть все обновления не трогая модель нужно больше вьюмоделей
>>1324152 Сейчас у него есть реализация INotifyCollectionChanged, так что добавление/удаление норм отображается на листбоксе. Но к сожалению вот такой финт не проканал args = new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Replace, item, item, index); OnCollectionChanged(args); Я думал оно обновит айтем в листбоксе, но видимо для оптимизации, так айтем остался тотже, ничего не обновляется. Поэтому сейчас потом попробую прикрутить вьюмодел для класса модели.
>>1324155 Смотри, думаю тебе запилить кастомный контрол для отображения элементов коллекции и у вм этого контрола дергать OnChanged() когда поле элемента меняется. На главной вьюхе хранишь коллекцию этих контролов. Я так в одном проекте делал и работало норм.
Котаны, у меня есть задача спарсить кучу данных с нескольких сайтов. Обычно я решаю эту проблему на 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 строят). Просто назовите названия пакета/пакетов, которыми вы пользовались для решения этой задачи. Заранее спасибо
Аноны, кто работал с vk api? Сейчас авторизация работает через модуль vknet, хочу добавить возможность авторизации через kate mobile, iphone и тд, чтоб на стр у бота показывало айфон например. Такое возможно сделать, и если да, то как?
Коллеги, мне кажется, или для C#-программистов порог вхождения меньше, чем для Java-программистов? Ищу и то, и другое, но работа мечты - Unity3d. Сижу, пыхчу на Гибернейтом и Спрингом в Джаве, СиШарп нравится больше.
>>1325320 >unmanaged memory А это ещё что? Почему unmanaged? Так то спайки нормальные, разве что может слишком частые, а так это нормальные паттерн функционирования приложения.
>>1325707 Порог вхождения меньше, если ты себе работу бэкэндом найдёшь. А так обычно C# это веб и фуллстак, поэтому заебёшься всё говно учить. Ну и юнити ещё есть, да.
>>1325720 Это типо сарказм? Ну поверхностно всё понятно - это нужно, чтобы оптимизировать работу воркер тредов.
Асинхронные вызовы не ожидают, когда действие завершится, а освобождают тред для исполнения другой работы. Ожидание происходит, потому что асинхронные операции завязаны на внешний ресурс - будь то хтпп запрос, база данных или файловая система. В итоге у тебя менее вероятно все эти треды будут заняты и в целом под нагрузкой приложение будет работать быстрее. После завершения асихронного метода его вполне может подхватить уже другой воркер тред, ну и соответственно там всякие вещи типо синхронизации данные под капотом есть.
Это всё относится и к экшенам. Ты бы лучше конкретные вопросы задавал. Если ты понимаешь саму концепцию async/await - то какие проблемы? Если нет - ну блядь, пиздуй читать, в инете горы инфы.
Вопрос не по шарпу, но так как я пишу на шарпе и тут все 300к/сек спрошу тут. Есть ли кокой либо простенький багтрекер или как это называется, куда я могу заносить найденные баги, задачи на будущее и т.д. Мне не нужна жира какая-то сложная хуета, а какая нибудь простенькая локальная софтина, есть что подобное?
>>1325708 >>1325712 Я всё-таки планирую именно в сторону Unity уходить. Плюс, на C# просто комфортнее работать. Менее геморройная работа с зависимостями, со сборкой.
>>1326028 у меня 4ый проект на дотнете и все заказчики из бриташки сейчас так вообще на дотнет коре пилим вообще я заметил, что бохатые зарубежные дяденьки любят майкрософт хз почему
Ситуация такова: записался на курсы по .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 чистым
КАКОГО ХУЯ!? т.е. я работаю, мало того, что с говном мамонта, которое хер жунам/мидлам обьяснишь, так мне еще мало платят
>>1326218 нет, ты что крупная галера с офисами в украине и россии проекты - интерпрайз на интерпрайзе и интерпрайзом погоняет, которые пилят 8-13 гребцов
>>1326437 да вроде все норм если действительно знаешь это > основы C# (синтаксис, структуры и классы, интерфейсы, дженерики, асинк), T-SQL (и научился создавать конекшн в C#, делать через него ввод-вывод), ознакомился с HTML, JS, CSS, JIT, вник в SOLID
ну разве что еще можно git-а навернуть и принцип работы http протокола знать нужно
>>1326460 У многих слишком широкая вилка и платят ровно столько сколько запросили. Работал в одной конторе и подружился с чуваком, пришли примерно в одно время туда +- пара месяцев. Так вот спустя полгода узнал что он получал на 800$ меньше чем я, хотя делали одно и тоже, с одним и теми же знаниями. Просто я ляпнул цифру больше и мне дали больше, при том как я потом узнал я ляпнул слегка выше среднего в вилке которую контора имеет.
>>1326538 С дотнетом, особенно, кором, работает не так много галер, плюс крупный тырпраз, плюс снг, тут к гадалке не ходи. Захаживал в офис в дс2, батя знакомой работает там, пиздатый офис.
>>1326642 Зачастую, когда пишут фуллстек, это тот же бэк, но так как надо плотно взаимодействовать с фронтом, он есть в требованиях. У нас, например, есть фронтовики и они пердолят фронт по большому счету, но бывают таски на 90% бэка и 10 фронта типа поле добавить или кнопку, они тоже мне идут. Думаю, в серьезных продуктах прям совсем фуллстеки не нужны, типа jack of all trades master of none
У меня есть предложение для тех кто хорошо разбирается в ASP.NET Core, с одного проекта по моему ТЗ вы сможете получить до 200к рублей. Суть в том что вам придется записать весь процесс на бандикам, а затем отправить мне, я напишу текст обучающий на русском, затем переведу и залью на Udemy и буду заниматься маркетингом. Первый заказ - новостной портал на bootstrap, где люди смогут авторизоваться, постить, изменять текст новости и оставлять комментарии. Пишите на почту - [email protected] если хотите заработать и помочь мне быстрее въехать в Асп.нет.
Где можно прочитать про оптимизационые трюки C#? Например я узнал что лучше объявлять массив с известным числом элементов, например new List<T>(256) так например при добавлении нового элемента массив не будет пересоздаватся и не будет теряться процессорное время. Или такой трюк объявлять класс как sealed, что оптимизирует работу компилятора.
>>1326855 >Фронт я просто не переношу, что-то по мелочи добавить - ок. Ну вот я именно так и сижу, по мелочи иногда добавляю что-то, но даже при такой мелочи у меня каждый раз горит жопа от говнокода на жс и как его умудряются ебануть хуй знает куда, у нас в легасичасти это пиздец просто. Где-то в отдельный файл для вьюхи, где-то ебаный монстр на 8к строк, где-то прям в <script> нахуярено с аттрибутом текст/бабел, что интеллисенс вообще нихуя не распознает и сидишь ковыряешь это дерьмо. Еще топчик это жс с razor вставками
Анончики, устал писать свои хеллоуворды в консольном режиме/на дефолтных формочка, хочу чтобы было все красиво. Какие фреймворки/либы есть у сисярпобояр для клепания красивых формочек?
>>1327214 uwp/wpf красивые дохуя можно сделать, гугли компоненты кастомные, чтобы не пердолиться самому сильно если ебанутый, можешь заценить electron.net
Посоны, прочитал Шилдта, че дальше изучать? Мне надоело писать консольные приложения, сортировки-хуевки, поиски двоичные, дейкстры всякие. От тоски ебанной запилил всякую хуйню из алгебры типа вычисление матриц и расширение полей Галуа. Но это же все хуйня не дальше хеллоуворлда.
Как мне открыть магию ООП? Как завернуться в абстракции? Теперь мне надо курить паттерны? Там все ответы? На потоке васяны сказали "Ну хз читай Кнута". Открыл, а там опять алгоритмы, нуйобана.
Бэкграунд: семестр дроча алгоритмов на крестах в универе. Захотелось вкатиться в программирование, но я так понял со слов одногруппников, что С++ это говно без задач и решил перейти на сишарп.
Хочу пилить игры. Начал курить документацию Юнити и понял, что знание хуевой горы классов и методов не поможет мне написать хороший код.
Так что теперь курить, чтобы не как школьник собирать велосипеды из костылей?
>>1327280 Продукт - первичен, код - вторичен. Пили прожекты, в твоем случае игры на юнити и анализируй, что тебе не понравилось в твоей маняархитектуре (расширяемость, тестируемость и.т.д.).
> чтобы не как школьник собирать велосипеды из костылей? Так это и есть процесс разработки. Ты всю карьеру будешь их собирать.
>>1327283 >расширяемость Что? Всмысле расширяемость? Это как?
Бля, для меня все это - темный лес. Я хеллоуворлдщик же.
Пытался я эти игори пилить. По туторам, например. Че-то стены ifelse вместо автомата меня дико напрягали. Да и туторы какие-то васянские. Где-то какие-то синглтоны упоминаются. Загуглил - ну паттерн. А какие еще паттерны есть? Гуглю - везде ебучие курсы "погромизд за три недели".
.json формат какой-то везде, где нужно сохранять данные. Я максимум с .txt и .bat работал. Чем он отличается от .txt? Где все это читать? Есть какой-то один источник информации, литература, например? Документация?
Статьи на хабре читаешь, какие-то рефакторинги, UI, моча и говно. Что это, блять, за слова? Я не спорю, что нужна практика. Но нет толку от практики, когда просто не знаешь, что делать.
>>1327310 > А какие еще паттерны есть? Гуглю - везде ебучие курсы "погромизд за три недели".
> .json формат какой-то везде, где нужно сохранять данные. Я максимум с .txt и .bat работал. Чем он отличается от .txt? Где все это читать? Есть какой-то один источник информации, литература, например? Документация?
> Статьи на хабре читаешь, какие-то рефакторинги, UI, моча и говно. Что это, блять, за слова?
Тебе нужно курс компьютерной грамотности пройти - ну типа таких, знаешь, на которые старики ходят. Тебя там научат нормально гуглом пользоваться - и в гугле ты легко найдешь ответы на все свои вопросы.
>>1327310 Тебе нужна идея. Придумай какое-нибудь небольшое приложение, чтобы его реализация тебе казалась непростой задачей. В процессе написания у тебя неизбежно будут возникать вопросы, так ты будешь развиваться. Конечно, по-началу внутри у тебя будет лютый говнокод, но чем больше такой практики, тем лучше ты будешь понимать что происходит. Освой гит, постоянно совершенствуй код. В будущем будешь смотреть историю изменений и смеяться над собой
>>1327174 Если честно - я бы лучше сидел на таком легаси. Меня видимо на реакт посадят, хз дойдет ли до верстки. Если дойдет - поработаю полгода и съебусь. А по сабжу - да, жс в связке с разор - полный пиздец. >>1327272 ну, в таком случае норм.
>>1327526 У тебя есть два путя. Если твой метод допускает, что результата может не быть, то можешь вернуть 0. Но это должно быть очевидно вызывающему коду, т.е. должно быть очевидно, что 0 это не результат. (Например метод IndexOf() возвращает отрицательно число, если элемент не найден. Тут ясно что отрицательное значение не может быть индексом.). Второй вариант это если метод не смог сделать свою работу, тогда нужно действовать в соответствии с принципом самурая - харакири. То есть бросать Exception.
Меня тут пригласили на начальную вакансию C# (бэкенд), хотя я пишу на Java. Что спрашивают на таких собеседованиях, что подготовить? Какой-нибудь аналог equals-hashcode?
Как понять что уже можноработать? Вкатываюсь в C# 2 месяца, до этого изучал С/С++ в течении 2 месяцев. Как оценить свои знания и навыки? Может есть какой-нибудь сайт?
>>1328713 ulearn.me. Там есть практики где нужно скачать проект и что-то в нем сделать, а потом проверяющая система тебе скажет - уже можно или еще нет.
>>1328722 Местные практики скорее на олимпиадные задачки похожи (только с инструкцией по решению) чем на коммерческий опыт. На работу нужно определенный стек знать а не уметь рассчитывать угол отклонения биллиардного шара.
>>1328752 Практики не скажу что простые, но потому я и считаю что они могут показать уровень подготовки. А задача про углы отскока шара - простейшая, если что.
>>1328105 Я ждал вопросов по ООП и фрейворкам. А дали олимпиадную задачку на алгоритм. Я полез в дебри, и только после собеседования понял, как просто её решить.
>>1310862 (OP) Нам немного поменяли задание поэтому немного обновляю. В универе задали курсовую работу(КОД НА C#), но в связи с тем что я немного тугодум - не могу сделать некоторые задания. Кроме того, наш препод не может в объяснения, так что для тугодумов это конечная.
1)За вектор X взять побочную диагональ ЕСЛИ непарные столбцы массива(квадратной матрицы), если они имеют одинаковое количество непарных элементов. (там до этого была формула для заполнения элементов, но это уже готово, заполнить матрицу можно просто рандомными числами)
Если это не так - взять главную диагональ как значения вектора.
2) Найти функцию U=f(X) (За U взять суму тех элементов вектора X, которые не являются наибольшими и наименьшими элементами вектора.)
Помогите пожалуйста я вас умоляю пишите, я тут надолго. В скрине моя курсовая, но там не та функция и вектор. Их я спиздил в прошлом своем варианте(неважно, просто хоть что то так считает )
>>1328837 Практики могут показать как у него варит башка в придумывании алгоритмов. Готовности писать сайтики для бизнеса она показывает примерно нихуя, так как там в первую очередь важно уметь накидать круд и орм натянуть на проект, а не алгоритмы. Особенно джуну, не пойдет же он что-то серьезней крудошлепства пилить на первой работе.
>>1329211 Прост в моей конторе не собираются переписывать проект, написанный на WebForms (программа управления ресурсами, внедренная в хуеву тучу универов, министерств и тд). Вот и думаю, изучать дальше эту технологию или перейти на MVC и подыскать новую работу? В целом это место меня устраивает.
>>1329224 Ой блядь у меня знакомый есть такой, нашел место давно, там на старте без опыта за винформс платили 60к. 2 года дрочил там винформс, сейчас зп 80к и это оказалось потолком, теперь не ебет, что делать, т.к. хочет больше денег, но в других местах за винформс еще меньше платят обычно. С вебформс все еще хуже, думаю, на хехе реже винформса попадается
This. Чем дольше ты будешь просижиывать задницу на старом дряхлом стариковском говне, типа веб форм, тем меньше у тебя будет шансов потом реабилитироваться.
Неудачливый порось пётр итт, отмечу, что все собесы, которые я пытался проходить в иностранные конторы, проходили примерно по одному сценарию: 1. Тест, который ты решаешь сам, когда тебе удобно. На него выделяется время, в основном, час. И задачки все формата: >Даны пары слов, за какое минимальное количество перестановок букОв в одном из слов его удастся превратить в анаграмму для второго (тут определение анаграмммы). Верните массивчеГ, в общем, если не надрачивался, то ни за что все задачки не успеешь решить. Все условия на ангельском. 2. Собес с кадрами (иногда отсутствует) на ангельском 3. Собес с ит-командой, задающей манагерские задачки и алгоритмические, примерно такие же, как и в первом пункте, но уже онлайн, сиди, скрипи мозгами.
>>1328713 У меня тоже разрыв с реальностью появился, не знаю готов или все ещё хуже червя-пидора. Решил сидеть дрочить дома, мамка пока все равно не гонит.
Мне кто-нибудь может объяснить как работает 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-код тебя там не заставили на собесе то?
>>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 - Может посоветовать кто литературу для совсем уж чайников?
>>1329850 Что за проект? Скорее всего у тебя не работало из-за того, что подключены оба неймспейса и компилятор не может узнать какой именно мессэджбокс ты хочешь использовать, поэтому нужно указать полное имя типа. А вообще читай сообщения от компилятора, он хуйни не скажет.
>>1329850 Тебе не нужно каждый раз прописывать System.Windows.Forms у объекта, если у тебя вверху файла уже прописан using System.Windows.Forms >Может посоветовать кто литературу для совсем уж чайников? Для совсем чайников - metanit.com, можешь гуглить, можешь смотреть на docs.microsoft.com, если нужна книга по просто шарпу - Троелсен, но она достаточно объемная. >>1329812 У вас в рашке, для того чтобы устроится нихуя не нужно. Под нормальной компанией я имел ввиду, которая не сидит на супорте легаси проектов, а юзает последние плюшки и использует их на проектах, таких не так уж и мало.
>>1329968 Весь код ты только что видел, больше ничего нет. >>1329981 Я много читал docs.microsoft.com, только там пока объясняют одно , умудряется сказать что это нельзя использовать без чего то второго ,итд. И в конце получается целый каскад вкладок. Троелсена уже советовали выше кому то, видимо мне и правда стоит прочитать.
>>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; } А другой поток в свою очередь будет делать так.
Так твой рендер не зависит от данных, но при этом может рендерить не совсем актуальные данные, плюс могут быть задержка в данных 1 фрейм, когда другой поток отработал сразу после проверки if(Parsed) данные похватятся лишь в следующем потоке, плюс новые данные будут парситься лишь после рендера.
Все нахваливают 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 приложения для этого не используются.
1)Создаешь на гитхабе репу. 2)На своей пеке в папке с проектом делаешь git init 3)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# сложно защитить игру от левых модификаций и от взлома в том числе. Это кто тебе такое сказал?
>>1332885 25 проси, если ты не знаешь свой вэлью, то ты зелень. А значит 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 и сохранить, то ошибки не будет.
Ходил сегодня на собес на джуна .NET C#. Это просто пиздец. Все началось с вопросов типа: что такое .NET? можно ли создать объект абстрактоного класса? А закончилось вопросами про потокобезопасность синглтона, мютексы, какие вы использовали DI. Я просто в ахуе. Что блядь тогда задют на мидлов и сеньоров? Ясен хуй, что меня не возьмут, хоть я что-то ответил по всей этой хуйне мимо настоящий русский, который не знает пиндоского языка. Это блядь везде такое спрашивают? твоя мать умрет от рака, если ты не ответишь на этот пост
>>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, но как преобразовать так, чтоб эту несчастную картинку и текст можно было вывести, скажем на сайт. Не понимаю как оно хранится и не могу найти нормальный гайд.
У меня есть метод, который читает данные из стрима, хочу добавить асинхронный. Метод примерно такой //prepare stream.ReadAsync; //parse return; Так вот, можно ли, чтоб не повторять prepare и parse синхронный вариант сделать так Read() => return ReadAsync().Result; ?
Аноны, есть 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 формах. Сколько ни пытаюсь запустить ее по гайдам и мануалам - один хуй метод выполняется в основном потоке, и вся форма замерзает. Может кто даст совет как сделать изменение свойст формы из другого потока, и чтобы вся форма при этом не застывала?
В: Хочу вкатиться, что мне надо делать?
Пиздуй в ява тред, а потом выучи конструкцию {get; set;} и линкью. Все - ты знаешь сисярп чуть лучше хелловорлдщиков. Ну и еще можешь метанит прочитать. А теперь иди нахуй.
В: Ряяя, сисярп тока на винде работает!11! Бджвава лучше!
Гугли нет кор, долбаеб ебучий. А теперь иди нахуй.