И еще раз. Джва года хотел вкатиться в .нет, зная исключительно сам фреймворк, но без технологий, типа ASP.NET core. Мне не перезванивали. Почитал пачку учебников по аспу и все захотелось выкинуть сразу же из-за несвязанности глав и отсутствия практических задач, растягивающихся на весь курс. Пацаны, пацкажыте, хочу годный учебник по ASP, который будет реально интересно читать\выполнять, а не пытаться переварить эту кучу несвязного говна.
Скачал прожект с гитхаба, там внутри форма с кнопками, но я всегда пердолился через консольку или дебугер в юнити5д. Как сделать свой собственный дебугер на этой форме, как туда добавлять кнопки или текстовые поля, студия открывает через десигнер, но там нет никаких инструментов для добавления элементов. Сорян котаны за такой вопрос.
Имеется xaml страничка с такой дичью: <MediaElement x:Name="media" AutoPlay="True" Source="video/trailer-1.mp4" AreTransportControlsEnabled="True" /> далее, я хочу поменять значение source на своё, со своим местоположением, но при запуске проигрыватель не может проиграть файл, мол не видно его, либо неподдерживаемый формат, но ошибка кроется именно в пути. C:\Users\hhash\Downloads\Blue Planet II_ Official Trailer.mp4 вставляют так и не видит, пытался через юри типо такого myMediaElement.Source = new Uri(@"C:\Documents and Settings\User\Мои документы\Моя музыка\Mr.Credo\Чудная Долина.mp3") тоже не работает, мож кто встречался?
>>1144781 Это enterprise-СУБД, да, она полностью востребована, но с точки зрения чувака, который изучает C#, без разницы, что ты будешь использовать в своих супер-лабораторках, т.к. ты просто заюзаешь коннектор к нужному типу СУБД, и для тебя будет неособо важно, что там за СУБД.
>>1144866 попробуй что-то вроде: file:///C:/Documents%20and%20Settings/User/Мои%20документы/Моя%20музыка/Mr.Credo/Чудная%20Долина.mp3 >> Documents and Settings И поставь себе нормальную ос вместо xp.
>>1144978 Да у меня десятка, это я пример решения с какого-то сайта скинул. Ща попробую. Это то-есть вместо пробелов поставить %20, а в начале ебануть file:/// Ща чек
Сука котаны, че делать то блядь, не могу осилить фид с вебсокета. Я ж просто рядовой юнитипацан, не убивайте. Есть пример, но не понятно https://stackoverflow.com/questions/44302022/get-data-from-gdax-web-socket-feed. Может есть где-то готовый вариант для копиаста ПОПРОЩЕ? Ибо если нет придется уебывать пока не верну слитые бабки и пользоваться тем что есть.
>>1145106 >>1145107 Немного не по теме - ты юзаешь gdax для трейдинга пиздокойнов? Хочешь автоматизировать масспродажу если выше/ниже порога поднимается/опускается?
>>1145136 >Есть ли смысл разрабатывать веб-сайты на C Смысла особого нет, потому что C# хорош для огромных сайтов, которые мало кому нужны. В основном он бесполезен.
А можно ли на C# писать консольное приложение и посреди программы вызвать метод типа CreateWindows() и нарисовать окно с кнопочками? Или надо изначально создавать проект Windows Form или WPF?
>>1145134 Юзаю битмекс и бинанс для торговли, но только у гдакса нашел чтото похожее на риалтайм парсер. Хочу сделать автолимит ордеры по самой выгодной цене уже работает, но чтоб узнать цену надо слать лишний запрос, а это зарежка и минус один с рейтлимита . Впрочем простую алгоритмизацию для автоматического трейдинга тоже было бы неплохо попробовать.Fацаны сканят дату, если там подряд несколко зеленых свечек и растущие объемы, то бот сигналит что ПАМП. Бытует мнение что самый жир это арбитраж (перевод между биржами). На что сил хватит то и сделаю уже обосрался.
>>1145163 Но тогда ToString() не будет жи автоматически вызываться? только при явном указании ипользования extension.. А у меня коллекции всякие, хочу что б само перегруженный ToString() вызывало..
Ребят, не сочтите за грубость, забавы ради, не учебы ради, как перевести число из 10-чной в 4-ричную систему счисления, но чтобы выводилось в консоль не просто 0, а 000, не 1, а 001 и так далее. Вот никак не могу понять это. То есть, как добавлять, грубо говоря, недостающие цифры?
>>1145195 Да хочу вывести все слова с длинной 3 и алфавитом в 4 буквы. Типа ААА, ААБ, ААВ и так далее. Вот и подумал, что переводом в четверичную систему будет единственным вариантом. Спасибо за двоичную, теперь буду думать :3
>>1144662 (OP) https://habrahabr.ru/post/266163/ Если подводить итоги и говорить о Windows, то статья приходит примерно к похожим результатам: код С# медленнее С++ кода, примерно на 10-80%
>>1145421 Он медленно работает, потому что выполняется на специальном эмуляторе. И соответственно компилируется не в машинный код, а в байткод для этого эмулятора.
Только начал изучать disconnected model. Покажите пару примеров как с помощью него добавить столбец и строку в таблицу, а то нихуя не понятно. Спасибо.
Вот я скреативил прогу из winforms. И она там где-то на одном из компов копротивляеца. Можно ли и как прикрутить ей web interface, чтобы через браузер по айпишнику? Понятно, что какой-то сервак там нужен
>>1146236 Если коротко - нет. Дешевле переписать на АСП. Возможно, получится подключить твою сборку на винформах и достать из нее бизнес логику, если у тебя там все нормально структурировано.
Понимаю ли я правильно, что ASP кагбы другой интерфейс с сохранением всей функциональности как на пекарне. Чартики, кнопочки, но и серийные порты и прочие железки?
У меня в совокупности 4-6 компов, где одна и та же прога снимает данные. Длиться эксперимент 3 месяца. И заглядывать надо иногда. Так вот я пока что коннектюсь через remote. А хотелось бы как в XXI веке
>>1146401 Меня только один вопрос интересует, disconnected model может работать только локально?
Ну вот есть у меня таблица SQL. Я её вывел через disconnected model в консоли, добавил туда ещё строк/таблиц, но при этом в самой базе ничего не поменялось. Как я понял, так и должно быть?
Помогите, пожалуйста. Вообще нихуя не понимаю в сокетах, в гугле и стэковерфлоу все просто скопировано с сайта майкрософта, где приведен пример одноразового асинхронного сокет-сервера, который выключает клиента после передачи данных, вообще охуеть. В общем, есть сервер, который постоянно принимает и передает данные клиентам. Вот он: https://pastebin.com/77QUG7Aj Проблема там в том, что если клиенту все время отсылаются данные, а от него ничего не приходит, то накапливается некий стэк из колбэков, и во время дисконнекта клиента, все эти колбэки высвобождаются и выполняются один за другим. В моем коде сделано так, что при дисконекте выводится в консоль номер клиента в списке всех клиентов. Но вот что выходит. Повторяю, я вообще не понимаю, как это устроено, но очень хочу разобраться, в гугле, повторяюсь, вообще нихуя по теме не найти.
>>1146562 Так апи принимает только event. Как запиздячить тогда просто в строку, вот напрмер string requestString = {"event":"subscribe","channel":"ticker","symbol":"tBTCUSD"};
Можно ли как-то указать чтоб все что в строке заебашилось в стринг и при этом не экранировать кавычки?
Попаля такой код: void Register<TView>(string key, TView view) where TView : FrameworkElement Чем он лучше, чем это: Register(string key, FrameworkElement view) ?
>>1146760 Нахуй мне юнити для изображения в вин форме нескольких тысяч движущихся квадратиков? Хочу заебашить генетический алгоритм и для наблюдения мне нужен хоть какой-то графен.
Поцоны, смотрите. Есть класс SerialPort в System.IO.Ports. В нем есть метод Write(string), который передает строку на ком порт объекта. Я наследую этот класс, чтобы создать класс, описывающий измерительные устройства от agilent: class Agilent : SerialPort { } Я хочу вставить в этот класс ряд методов, которые посылают команды на порт, как это лучше сделать можно? Сначала думал просто через делегаты, например для комманды keylock, блокирующей панель прибора что-то типа Action<string> Keylock = Write("Keylock true"+'\n') Но не прокатывает. Еще подумал, что можно просто скопировать кучу раз метод Write, поменять название и тело, чтобы посылали конкретные команды без принятия аргументов, но, наверное, это мегаговнокод будет. А, и загвоздка в том, что методы не статичные, а для конкретных объектов класса Agilent.
>>1147113 Большая часть команд на языке команд SCPI, там древовидные команды, которые неудобно вводить и запоминать, поэтому самые важные и часто используемые я хочу в методы вынести. Для примера команда для считывания частоты с частотомера MEAS:FREQ?CHAN1, гораздо легче метод создать соответствующий
>>1147123 Да, как быпиздец. Если хочешь, что бы Intellisense подсказывало - придется наверное таки писать.
Аналогично, можно записать в dictionary по типу: понятное_сокращение:команда Тогда: public Write (string short_cmd) {} будет просто обращаться к словарю и слать команду.
Есть один поток и в нем будут получаться даныне, вот эти даныне нужно будет читать вторым потоком. А вот ту я хуй знает, как синхронизировать то, прсото обернуть в lock когда основной поток делает запись в переменную?
>>1147363 >А вот ту я хуй знает, как синхронизировать то, прсото обернуть в lock когда основной поток делает запись в переменную?
Очередь с синхронизацией. Один пишет, другой читает. Можно две очереди, в одну пишет первый погток, из другой читает второй, когда очередь на чтение закончилась, очереди меняются местами.
Котаны, помогите плиз. Нужен какой-то сервис-воркер, который сможет с периодичностью и по требованию (очередь) выполнить рессурсоемкие таски. Так вот, как это реализовать? Есть веб бек на коре с моделями, бизнессслоем и вот этим всем. Вин сервис? Я важе коровские класс либрари в нем смогу юзать? Подскажите куда копать. плиз.
Объясните, что с MonoDevelop? Месяц назад качал на винду, всё загрузилось легко, а сейчас для установки MD зачем-то нужна Visual Studio. И ещё, месяц назад после загрузки MD поставилась Xamarin, собственно, как мне получить его? Удобный.
>>1147723 Смотри второе. Из контроллера кидаешь таску в базу и сервис сидя в вечном лупе их оттуда достаёт. Это тебе позволит гарантировать что таска будет сделана даже если твой пул перезагрузить.
>>1147737 Я его не использовал. Просто описал как вижу самое логичное решение твоей задачи. Если он так может, бери его. Но я бы написал сам, задачка же элементарная.
Столкнулся с незнанием Fluent Api, нужна помощь. Есть две модельки, А и Б. На несколько Б может приходиться одна и та же А, соотв. у Б есть поле с айдишником от А. Поле nullable. Проблема в том, что когда этой А для нее нет, она сразу падает с страшными ошибками. Вспомогательных таблиц для связей разумеется нет. Я пытался с withoptional и все вот это, корректный вариант не нашел. Подскажите чего-нибудь, пожалуйста.
>>1147707 Упали продажи Visual Studio и скорей всего разрабов MonoDevelop "попросили" убрать свой продукт для винды. А то, что студия бесплатная - это миф. Через месяц после установки её надо покупать.
Двачик, нужен твой совет тут же все мои друзья, я долгое время работал в инди-геймдеве, лет 5 на флеше и 2 последних на Unity. Но фирма обанкротилась и теперь нужно искать новую работу. Опытные, подскажите куда вкатываться в дс? Мне 28, но могу хоть джуном в энтерпрайз, только чтобы были перспективы и не вкалывать до седьмого пота. ООП, паттерны знаю. Прошел собеседование в несколько контор по геймдеву, но что-то заебал он меня, опять потрачу кучу сил на игры, а через 3 года выйдет какой-нибудь другой супер-модный движок и куча студентов, готовых работать за еду. Где можно спокойно проработать лет 10-15 и построить успешную карьеру? Выручайте
>>1147985 я бы советовал не менять специализацию попробовать выбить побольше денежек ну и вечером - в выходные не сидел бы за компом чтобы не сгореть окончательно но ты конечно меня не послушаешь
>>1147986 Ну через 5 точно выйдет. Начальство просто наймет сеньора, а тебя максимум буду переучивать, это в лучшем случае. Нет никакой карьеры в геймдеве, идет только увлеченная молодежь, в надежде сделать доту2, но делают слоты и матч3.
>>1147985 >>1147989 Навряд ли. Unity пока двигается семимильными шагами, и теснит UE4.
Из догонял - уродливое дитя Xenko да Godot (который ваще с 2001 вроде пилится, ну ты понел как скоро он будет актуален). CryEngine/LumberEngine из другой весовой категории и Source 2 мертв.
Можешь пилить Unity и потихоньку, в свободное время, изучать EU4 дабы если что сменить воюющие стороны.
>>1147985 >>1147993 Как вариант, можешь охуеть и начать пилить дельные и нужные ассеты для Unity. Ситуация, когда Unity Techn. поглощает их весьма часта в последнее время, мб вольешься в Большой Гейдев. А там по связям не пропадешь.
>>1147996 Дворник. Слушком туп, дабы в реальный гейдев или погром. Для меня это увлечение. Ну, я в глубинке живу, мне 10к деревом прожить в месяц хватает. У вас там в МСК понятно все раз в 10 хуевее.
>>1147998 >Ну, я в глубинке живу, мне 10к деревом прожить в месяц хватает. У вас там в МСК понятно все раз в 10 хуевее. Лооол. Как хорошо извернул-то. Что-то уровня "Родители живут со мной".
>>1148114 Ты просто читаешь первое слово "бесплатная", а дальше не читаешь. А там написано, что это пробная версия. Работает она 30 дней, а потом требует ввести ключ, который надо купить за деньги.
>>1145139 Под виндой у тебя .exe выполняется либо как консольное приложение, либо как оконное - это описывается одним байтом в PE заголовке (на самом деле там есть еще варианты, типо "приложение ядра" или "POSIX" - на это уже сильно реже). Консольные приложения при запуске спавнят терминальный хост и подрубаются к его потокам ввода/вывода, оконные же качают очередь сообщений. Поэтому из консольного приложения создавать окна бесполезно - у них нет доступа к оконной подсистеме и сообщениям от клавиатуры/маши и прочего (GUI правда с извратами можно запилить, напрямую хуяря в буфер терминала, но это уже мало к шарпу относится. Из оконных приложений однако консоль открыть можно. К слову, оконное приложение - не обязательно с окнами как таковыми, это может быть и процесс службы.
>>1146477 Да, отображать изменения обратно в базу - это нужен клей к connected layer в виде DataAdapter, крайне редко видал ввиду многословности, обычно либо идут в глубь и напрямую с connected layer работают, либо наверх поднимаются и ковыряют orm
Тут написано "эмуляторы". И clr с jvm именно этими самым эмуляторами несуществующих машин и являются.
Все эмуляторы более-менее мощных соснулей (для 8 и 16 бит сейчас наоборот дрочут на точность эмуляции и сейчас там онли интерпретатор), тащемта, работают в JIT режиме и точно так же транслируют блоки кода в мащинный код таргет-архитектуры, но оверхед все равно присутсвует, и не малый (для эмуляции соснульной игры требуется комп в 10 раз мощнее чем соснуль, на которой игра работает. Так для эмуляции сраной PS2 с 300мгц требуется топовая пекарня на i7 чтобы поиграть в игорь 2005-2006 года).
С clr и jvm ситуация получше, потому что они, собственно, не реальное железо со своими багами, таймингами и косяками, которые нужно эмулировать, но все равно - являются слегка оверхеднутой прослойкой и не могут в Data-oriented design.
Ну и да, подрывают меня обмудки.
Записывайте:
Ассемблер - ЭТО КОМПИЛЯТОР языка ассемблера. Язык ассемблера - СИМВОЛИЧЕСКАЯ АБСТРАКЦИЯ над машинным кодом конкретной платформы, причем для некоторых ассемблеров в языке вообще куча макро-фич есть вроде структур, классов и заменой семейства инструкций одной и вычисление конкретной инструкции по контексту использования.
То что выполняет процессор - называется МАШИННЫЙ КОД и именно на него и компиляцию в него все на самом деле дрочат.
И именно его запрещает на своих поделиях компилировать или генерить в рантайме яблоко.
Посоны, помогите нубу. Я нихуя не могу понять. У меня есть задача написать в текст бокс какую-нить парашу. Например "1111". Использую Виндоуз форм. Проблема в чем. По дефолуту все кнопочки хуепочки создаются приватными и не статичными.
Мне надо из другого класса написать что-то в ебучий текст бокс. Но когда я пытаюсь это сделать мне пишут "хуе мое для нестатичного говна требуется ссылка на объект". В сети пишут типа нужно создать объект. Окай. Создаю объект, как повелел гугл, ошибка пропадает, но нихуя не происходит. Где я проебался?
Собственно сам код
public static void test() { Form1 form = new Form1(); form.log_txb.AppendText("11111"); }
>>1148449 > Посоны, помогите нубу. Я нихуя не могу понять. У меня есть задача написать в текст бокс какую-нить парашу. Например "1111". Использую Виндоуз форм. Проблема в чем. По дефолуту все кнопочки хуепочки создаются приватными и не статичными.
Сап шарпач. Требуется в asp.net приложении сгенерировать документ Word. Чтобы человек зашел на сайт, ввел в форму свои данные и получил на выходе документ в котором будут эти данные. Собственно я это сделал, у меня на компе все нормально работает. Сначала создаю шаблон .dot, в нем в нужных местах ставлю закладки с определенными именами. Затем с помощью Microsoft.Office.Interop.Word открываю этот шаблон и подставляю в места закладок нужные мне данные. Проблема в том, что это не работает на хостинге. Выдает такую ошибку (пик). Насколько я понял, не работает потому что на хостинге не установлен Word. Очевидно установить его туда я не могу. Пока что я вижу только одно решение проблемы: запустить приложение на VDS, установив там Word. Мне оно кажется не совсем оптимальным (возможно я ошибаюсь). Какие ещё есть решения этой проблемы? Может есть библиотека, позволяющая генерировать .doc-файл без установленного Word?
сап, шарпач! у меня есть такой метод для чтения ввода с клавиатуры и есть Enum. Как переделать метод, чтобы он был дженериком и мог дружить и с int-ом и с моим Enum-ом?
>>1148596 введу то я строку, я хочу чтобы в зависимости от места вызова этого метода, он мне возвращал уже int или enum. Нереально получается такое сделать?
>>1148602 Можно сделать класс или struct, как обертку, который будет содержать в себе либо то, либо иное, но это неправильно. Можно box'ить в object и потом unbox'ить, но и это не лучший метод. Еще есть dynamic type.
>>1148602 пытался просто изменить возвращаемый тип, но тогда он не может сконвертировать строку с консоли(что и логично, я же не указал, что там будут числа). А как ограничения установить - не могу понять
Какая на шарпе есть работа, кроме юнити, asp и wpf? Полгода ковырялся в дотнете, понравилось, но стал задаваться вопросом, что дальше, стал смотреть вакансии на шарп и почти везде требуют асп или впф. Сейчас дрочу mssql, язык и алгоритмы
>>1148694 Впф не особо популярен, судя по кол-ву вакансий, почитал про асп, поначалу казалось, что там на уровне впф сложность, потом обнаружил, что там js/ts надо знать, бутстрап, хттп протокол и еще дохуя всего
>>1148775 >Впф не особо популярен, судя по кол-ву вакансий WPF долго еще в деле будет, ибо Windows Forms реально уже отпирают, а UWP - мертво-рожденный
>>1148787 В шарпдевелоп, когда на элемент в коде наводишь, по правой кнопке есть опция что-то типа show definition, открывает .cs класса, уверен в студии есть подобное
Хочу вкатиться в си шарп, что бы в конечно итоге сидеть в ламповом офисе gamedev конторы в париже или в LA, в худи с надписью NERD в очках без диоптрий, пить кофе и другой рукой делать шедевр типа gta 5.
Посоветуйте с чего начать что бы реализовать свою мечту. Я понял что мне нужен шарп и юнити. Так вот начну с шарпа, подкиньте гайдов и книг годных, в долгу не останусь.
Посоны, такой вопрос. Вкатываюсь в автоматизацию тестирования. Дочитываю гилберта шилдта "полный справочник по c#" Возникают следующие вопросы:
1) Знаний простого языка недостаточно. При создании тестового фрейморка встает вопрос об организации архитектуры классов и тп. Что читать по теме? Как вникнуть?
2) Как набраться грамотной практики или что читать дальше? Есть события, есть динамическая идентификация типов. С чем их едят? Как мне понять, помогли бы они мне в моих вопросах или нет?
Подскажите, плиз, где конфигурить DI? К примеру есть вебапа и в стартапе это все конфигурится. Но, к примеру, нам надо запилить декстоп или сервис какой-то и реюзать кор/сервис либы. Теперь по сути нам надо копипастить и вилкой чистить эт и конфиги. Явот думаю, мож пусть лучше каждая либа имеет свой дефолт метод для регистрации рабочих зависимостей? Но не нарушим ли мы какой-то ебанный принцип? Это надо будет еще одну зависимость в овсе либы подтянуть, получается, для селфконфигуринга. Что думаете, архитекторы?
>>1149007 Смотря что ты подразумеваешь под DI. Если смотреть на пример MVC и не пользоваться сторонними либами, то тупо перепиши фабрику, которая выдаёт инстанции классов.
>>1149020 Да, я испрашиваю, где вот эти вот "services.Add" пихать. Есть допустим КорЛиба, ДатаЛиба, СервисЛиба, КакаяТоВажнаяОдинокаЛиба. И все настройки DI для них всех находятся в одном месте, в стартапе веб апы. Я думаю распихать их по либам и дергать, где надо, опять же в стартапе веб апы. Например: КакаяТоВажнаяОдинокаЛиба.ConfigureDependies(). Но когда добавится, к примеру, новая веб апа, нам не надо будет копипастить, а просто дергать метод каждой либы, которая будет знать, че ей там по дефолту настроить. Понятно, что тут немного сам принцип рушиться, бо сама либа решает, что ей инстанциинировать, но хз, копипастить в новый апп тоже как-то не ок.
>>1149022 Та фабрика скрыта реализацией по сути и сама идея- сделать так, чтобкак можно меньше переписывать.
>>1149027 >сама либа решает, что ей инстанциинировать, но хз, копипастить в новый апп тоже как-то не ок. А что не так то. Регистрируешь все что нужно, то что нужно сервисам либы и оставляешь внешнее АПИ. То что там нужно будет другим они могут сами добавить по желанию. Если нужна гибкость, то можешь запилить билдер для либы.
>>1149071 В обычном приложении ещё можно, а в неткоровском я не хочу отказываться от удобных плюшек и инъекцию конфига делаю. И ещё не знаю как можно в неткоре нормально получить в своём классе вне контроллера экземпляр объекта из их инжектора. Я не видел у него ничего похожего как у обычных типа нинжекта и Get<>
>>1149080 Так свой класс тоже регистрируй в DI и оно тебе автоматом инжектнет зависимости. Или тебе нужен IServiceProvider с GetService<Class>()/GetRequiredService<Class>() ?
>>1149110 А зачем ты вручную его создаешь? Класс вне контроллера же должен чем-то вызывается и в него можно прокинуть IServiceProvider. Просто, а каким магическим образом ты хочешь чтобы в обход DI тебе создали класс со всеми зависимостями? Даже в самих роутерах он так и создается(через ActivatorUtilities), но все равно нужен провайдер с коллекцией зарегистрированных сервисов.
Шарпач, только ты мне можешь помочь. Есть черно-белое изображение. Нужно выделить его прямоугольником примерно как на пике. Я так понимаю это будет прямоугольник наименьшей площади. Какими библиотеками это можно решить?
>>1149136 > А зачем ты вручную его создаешь? Потому что я не хочу в контроллере вытащить смапленые поля в мою модель конфига и через 20 методов ее передавать внутрь. Это как раз порождение дебильных и вредных связей. Мне надо в финальном методе вытащить одно значение из конфига и быть уверенным что оно свежее, а не из старта приложения.
>>1149165 А хз, можно поискать либы с computational geometry. Алгоритм в принципе понятен - берешь все свои черные пиксели, переводишь их в координаты точек - это будет исходное множество. Далее ищещь для этого множества выпуклую оболочку любым доступным алгоритмом. На этой выпуклой оболочке береш четыре точки - крайнюю левую, верхнюю, правую нижнюю - через них если линии провести - получишь прямоугольник покрывающий. Ну и в конце начиная с этого прямоугольника пройтись по выпуклой оболочке rotating calipers - получишь все покрывающие прямоугольники, там найдешь хоть с минимальной площадью, хть с минимальным перметром
>>1144662 (OP) Так платиновый ньюфажный вопрос: Как совладать с закрытием/открытием форм? Например я стартую апликуху с формы логина, дальше нужно открыть уже другую форму, а эту закрыть, this.Close() убивает приложуху, еще вариант писать костыль в конструкторе форм. Как и чем господа решают этот вопрос?
Сужу до двух вопросов: 1) Что можно почитать по паттернам программирования и какие знания перед этим нужно иметь? 2) Что можно читать после илберта шилдта "полный справочник по c#" для того, чтобы больше вникнуть в шарпы
>>1144662 (OP) Здравствуйте, можете помочь ньюфагу? В чем разница между потоком Thread, параллельным Task, и асинхронным кодом (async/await)? У меня есть готовый код, где создается поток Thread, в нем через Task запускается async метод. Целесообразно-ли так делать? Мне кажется, что это бредовая конструкция. Насколько я понял, в основном разница между этими тремя подходами заключается в том, что Thread создает новый поток, Task задействует уже существующий пул потоков, а async метод обладает свойством await, приостанавливающем выполнение кода.
>>1149462 звучит диковато, зачем в и так отдельном Thread исрольковать async/await
>>1149462 >async метод обладает свойством await, приостанавливающем выполнение кода декларация async / await инструктирует компилятор создать state machine, которая будел исполнять код параллельно.
приостановки на точке вызова именно и нет и далее выполняется следющая строка кода.
Task<T> более современный способ делать то, что могут Thread, и что они не могли: возвращать данные по выходу.
>>1149462 >В чем разница между потоком Thread Создает отдельный полноценный тред.
>>1149462 >параллельным Task, и асинхронным кодом (async/await)? Асинхронный код в основном Task-based, поэтому они все работают через ThreadPool. Сама асинхронность менеджиться ОС/шедулером ОС в данном случае.
>У меня есть готовый код, где создается поток Thread, в нем через Task запускается async метод. Зачем тебе отдельный тред в данном случае? Если у тебя там йоба-расчеты, используй async/await to запускай параллельно, через Task.Run Если же просто асинхронно нужно что-то делать, там данные фетчить и т.п. - просто await'и явным образом объявленный Task.
> а async метод обладает свойством await, приостанавливающем выполнение кода. Он саспендит текущий контекст, но не блочит ту нить, в контексте который ты запустил задачу.
>>1149470 >декларация async / await инструктирует компилятор создать state machine, которая будел исполнять код параллельно. Нед. Асинхронно != параллельно. Параллельно, значит одновременно, асинхронно же работает по принципу promise и порядок не гарантируется. Она (задача) может запуститься чрез несколько секунд после того как ты вызвал await, даже если у тебя там 2+2, а может и моментально.
Зачем вообще придумали это разделение на консольные и оконные приложения? Как совместить в одной программе красоту консольных приложений и графические возможности оконных?
>>1149479 От загруженности общего тредпула. Потому как асинхронная имплементация C#/.net полагается на асинхронную базу ОС - в большинстве случаев это управляется самой ОС. Как будет возможность, поставленная в очередь задача будет запущена. Я, конечно, утрировал, когда сказал "через несколько секунд", там счет на мили/микро-секунды обычно. Разница в том, что явного выделенного треда для какой-то задачи (если только ты сам не укажешь это) в асинке нет.
>>1149488 >там счет на мили/микро-секунды обычно Тогда я спокоен
у меня прога сканит по железу, возвращая по ивенту кучку данных. Я все думал, стоит ли этот Task сделать вечноиграющим в лупе, т.к. сейчас я его перезапускаю из таймера в GUI
>>1149490 Если тебе нужно поллить железо постоянно, можешь поглядеть в сторону Rx - Reactive-Extensions для .NET, они вроде на even'ах стоят асинк-подход.
Есть DAQ карта, к которой дана отмотка под .NET Вызовы все синхронные (WriteDigitalOUT, ReadAnalogIn и т.д.) А управляет эта карта самопальным девайсом на полке. То есть надо ручками переключить коммутатор цифровыми выходами, подождать, прочитать. И так всякий раз поновой
Просто через магический interrupt/callback/yoba event handler не получится
>>1149943 >2018 >девелопинг Пиздец, и как это говно потом отладить/отредактировать. Вот есть у меня 100500 страниц и на 9932 надо написать что ты жирный. Мои действия?
Как определить, за что отвечают существующие потоки в программе? В моей программе явно определен только главный поток Main, остальных я не объявлял. Однако их в системе целых 11, судя по данным объекта ProcessThreadCollection.
>>1150335 Взять ProcessExplorer и посмотреть на стэки каждого треда. То, что у тебя Main - это .Net-овский поток (System.Threading.Thread), их можно в дебаггере в студии посмотреть и явно создавать, обычно это Main и несколько WorkerThread из пула потоков. ProcessThreadCollection - это коллекция системных потоков (System.Diagnostics.ProcessThread), они не совпадают с .Netовскими, .Netовский поток может в разные моменты времени работать поверх разных потоков (а может работать поверх не потоков, а легковесных волокон (fiber), если крутится внутри Sql Server например). Среди этих потоков есть потоки которые твой Main и Worker Thread обслуживают, еще там наверняка торчит набор потоков EE (Execution Engine - собственно исполняемая среда CLR): там поток обслуживающий внутреннее говно CLR, поток Garbage Collector, поток для Finalizer, который иногда в .Net оборачивается. Привязать .Net поток к системному можно либо указав ему ApartmentModel STA либо же юзануть Thread.BeginThreadAffinity()/EndThreadAffinity()
>>1144662 (OP) Шарпач, кто-то знает или может у кого-то есть соус проекта примитивного ворда: выделил текст в ричтекстбоксе - нажал на жирный/италик, шрифты, цвета вот это вот все.
>>1150624 А как сделать, чтобы можно было создавать программно новые окна с элементами на них. К примеру, нужно создать 100 окон и на каждом количество кнопок равное номеру окна. У каждой кнопки должен быть обработчик событий, который выводит алерт по формату "Вы нажали кнопку Х в окне Y".
>>1150630 Я бы ёбнул ивент-хендлер с темплейтом, эдакий колхозный DI, ну или совсем просто - прямо в ивент хендлере обращаться к имени родителя кнопки, пославшей ивент.
>>1150652 Погугли как создавать новые окна в рантайме, а вообще можно просто ещё один файл с разметкой и окном сделать. Кнопки появятся как это обычно делается - window.children - и пихай сколько влезет. На кнопоки прямо в момент создания button.onclick += твой хендлер. Туда задача скорее не как сделать, а как сделать так, чтобы было не говно.
Котаны как лучше сделать, есть класс который получает сообщения от биржы, и в нем думаю заебашить пачку евентов, для трейдов, для обновления ордербука, для обновления позиций и так далее. А юнитипарашные геймобжекты будут подписаны и обновлятся по мере необходимости. Немного смущает то что будет несколько классов бирж, и в каждом класе пачка евентов. А на каждый евент по 1-2 подписчика. Не знаю вот, нормально ли так, в целом то нравится, не нужно говноссылки друг другу в жопу пихать.
>>1150662 Я хочу, чтобы было примерно так: for(int i=1;i<=100;i++) { Window w= new Window(); for(int j=1;j<=i;j++) { Button b=new Button(w); b.addObrabotchik( //тут не знаю что написать } }
>>1150666 Ну я же говорю, погугли как нормально окна делать. Этот свой цикл заснуть в запуск приложения (onInitiate или как-то так, там должна быть пустышка под это дело в свежесозданном проекте). Создаешь окно Window. Button btw = new Button(), btw.onClick += (твой хендлер), Window.children.add(btw)
Почаны взял курсач - написать борду на асп.нет. НО сейчас понял, что знатно проебался, т.к. уже есть готовые движки и они вроде на пыхе, а примеров на свежем асп нет, может анон пытался писать свою борду на асп и подскажет, что да как
>>1150801 В чём конкретно проблема? Борда - обычный круд уровня Contoso University на MSDN. У тебя больше джаваскрипта и серверного кода выйдет, чем в ASP.NET приложении
>>1150801 Я писал, правда года 4 назад и на nancy. Она до сих пор работает, лол. Сейчас вот переписываю на core и решил разбить на два микросервиса(по своим нуждам). Скоро возьмусь за часть, которая собственно и отвечает за саму борду. Аноны тебе верно говорят - если простейшая доска уровня tynyib, то это банальная крудня с несколькими контроллерами 3-4 сущностями.
Current JsonReader item is not an objectАноним06/03/18 Втр 20:21:04#290№1150869
Как определить какой обьект будет после десереализации? Вот только что получил в ебло так как обжект это не обжект, а массив, а как то понять что от сервера пришло и в что его конвертировать?
>>1150869 > Вот только что получил в ебло так как обжект это не обжект, а массив, а как то понять что от сервера пришло и в что его конвертировать? Ну ты наугад что ли запросы шлешь или как?
>>1150898 Неа, я ПОДПИСАЛСЯ, обратно ОТВЕТОЧКА в обжекте, а потом дата в массиве. Нужно парсить не JObject.Parse как выяснилось, а c помощью Jtoken.Parse, поулчать тип и дальше делать свои грязные дела.
Кто тут в делегатах шарит? Помогите с пробросом эвента через несколько классов. Меня не устраивает что нужно писать лишнюю обёртку на событие. В общем, всё тут: https://pastebin.com/H01P2eHR
>>1150871 А по моему я был не прав. Затестил вчера, вроде память таки протекает. Первую форму передавал и хайдил/показывал во вторую, а вторую уже dispose. Пиздец, неужели в 2018 нет нормального решения исподкоробки такой простой проблемы.
Мне надо хранить некоторое количество аккаунтов в своем йоба боте. Струтура немного сложнее, чем просто список имен, аккаунты разделены на группы, имеют свои характеристики и файлы для хранения. Что для этого использовать? С бд никогда не связывался, да и вообще я хелловордщик. Нажал в студии кнопачку созлать бд - вылетела вот такая хуйня. Это че, надо ставить какую то отдельную прогу для бд? Мб есть что то попроще кроме тхт, джсон и хмл?
>>1150990 > sqlite читал, что линкю может работать не только с коллекциями и массивами, но еще и с sql. На sqlite это распостраняется? >сразу бери EF что такое еэф?
>>1150990 Или если с бд мало взаимодействий, то можно обойтись как sqlite-net, так и dapper. EF все дает порядочный оверхед и для мелкого приложения не нужен.
Решал вчера задачку на Codeforces, по условию там нужно было считать строку длиной до 100000 символов. Ну я погуглил что у Console.ReadLine() есть ограничение на количество вводимых с консоли символов в 254 штуки. Ну и начал решать через Console.Read(). А потом посмотрел что другие чуваки без задней мысли юзали Console.ReadLine(). Проверил - действительно, при чтении из файла никакого ограничения в 254 символа нет, а при ручном вводе с клавы есть. Задаюсь теперь вопросом откуда берется разница при чтении из файла и с клавы и что я неправильно понял в этих предложениях: A line is defined as a sequence of characters followed by a carriage return (hexadecimal 0x000d), a line feed (hexadecimal 0x000a), or the value of the Environment.NewLine property. The returned string does not contain the terminating character(s). By default, the method reads input from a 256-character input buffer. Because this includes the Environment.NewLine character(s), the method can read lines that contain up to 254 characters. To read longer lines, call the OpenStandardInput(Int32) method.
Что я делаю не так? var setup = new AppDomainSetup(); setup.ShadowCopyFiles = true.ToString().ToLowerInvariant(); setup.ApplicationName = "Test"; setup.ApplicationBase = "E:\\Test"; setup.CachePath = setup.ApplicationBase + "\\Cache"; appDomain = AppDomain.CreateDomain(setup.ApplicationName+uniqueNumber,null,setup); objectHandle = appDomain.Load("TestDomain");
Далее пока работает приложение хочу заменить TestDomain.dll, но говорит что файл занят и не позволяет этого сделать. Пытался трюки с File.ReadAllBytes(path), но все равно блочит файл, хотя для Assembly.Load(File.ReadAllBytes(path)) этот трюк работает.
Посоны, поясните за сортировку. Нужно держать список в отсортированном виде. Для одного примерно значения от 0 до 20к с шагом 0.5. Для других таблиц шаг может быть 0.01. Как будет вести себя Insert(), если хуярить позицию в 100к список? Если 10-20 инсертов в секунду. Может лучше тогда дырявые массивы?
>>1151546 Можешь юзать SortedList<T> Либо нже написать свой на базе LinkedList где приоритетом будет сортировка и вставка (но тогда поиск и запрос будут медленными)
Слабо разбираюсь в этом вопросе, из-за этого могу неверно трактовать некоторые понятия, прошу прощения.
Имеет ли весомым аргументом разрабатывать приложения (в т.ч. игры на том же самом unity) именно на C#, а не на Java. Есть ли какие-нибудь весомые преимущества и недостатки перед Java.
И как чувствует себя шарп в мобильной разработке.?
>>1151615 В Unity - C#, но если ты пойдешь в Жабу тебе любые мобильные платформы открыты греби лопатой AD revenue
>>1151632 C# удобнее и приятнее, да, но это не мешает всем на него ложить большой, косматый и дурно пахнущий. Сам посмотри графики на гейзабе, там жаба в 3х выше
>>1150925 Что, никто не знает как сделать? У меня ИДЕ-шка не ругается на вариант, который я хотел бы использовать, но он нихрена не работает. В чём причина хоть поясните.
>>1151690 Что означает таинственное "viewElement.OnViewEvent += OnViewEvent; //А ХАЧУ ТАК!" ? Можешь залить финальный код который должен работать, но не рботает?
>>1151709 Да нет же. Просто во View и ViewElement эвенты одинаково называются. И по идее, при вызове события во ViewElement, оно пробрасывается дальше, во View
>>1151885 Читаю, там написано что у каждого элемента есть ссылка на следующий и они размещены не по порядку как массив, т.е. в случае с массивом не нужно все пересоздавать чтобы вставить информацию в середину например.
>>1151675 Т.е. речь идет об отображении 20 записей? Если да, то не проще ли завести два списка - один для двадцати последних, другой - 20 самых больших или какой там у тебя критерий. 100к записей (да еще и постоянно меняющиеся) глазами просмотреть нереально.
>>1152009 Ага, и именно поэтому конструктор листов может принимать количество элементов - чтобы потом докидывать их в готовый массив, а не плодить копии на каждый вызов Add. Если примерно знаешь сколько элементов будет в итоге, можно добиться милой оптимизации.
>>1151980 >Нет, я внезапно про list тоже В таком случае какой дырявой жопой ты читал описание обычного List? Где ты там нашел: >Читаю, там написано что у каждого элемента есть ссылка на следующий и они размещены не по порядку как массив ^ вот это - LinkedList List<T> есть просто array<T> и все List-операции - это операции с массивом, где вся логика резайса за тебя продумана. Каждый раз при Insert или Add() - идет расчет, нужно ли резайсить и если нужно - создается новый массив array[capacity] (обычно capacity больше на X от текущего Count) и старый копируется через AddRange (с сохранением текущего индекса).
сап, шарпач! у меня такой вопрос про графики в winform: возможно ли как-то добавить разрыв? график у меня симметричен относительно ОX и для него установлены границы. Сначала он рисует нижнюю часть, доходит до границы и вот тут появляется то, что я красным пометил на пикрелейтед. Возможно ли как-то избавиться от этой линии? На ум приходит только разбить на два графика одинакового цвета, но может есть менее костыльное решение?
Привет всем, в треде ньюфаг. Стоит ли перед чтением Троелсена/Джепикса читать Шилдта по C#? Не сильно сложно будет? Просто знаю, что Шилдт совсем для ньюфагов пишет, а Троелсена даже не читал.
Так, захуячил вот, но немного нагружает процессор. Для теста было выбрано 150 позиций с групировкой по 10. Итого имеется 4к элементов элемент содержит цену, размер, сторону(sell или buy) и уникальынй iD запускается 150 итераций для кажого, в итреации if() else if(). Все это дело дрючится 60 раз в сек. Ясное дело 150 на экран не влезет, да и даже если так, от 10% нагрузки ничего случится не должно, но хочется понять как делать правильно. Может быть где-то я подобосрался и есть другое решение.
>>1151221 Вопрос был откуда берется разница при вводе с клавиатуры и из файла, т.е. почему при вводе из файла количество считываемых символов не ограничено 256 и где про это написано.
>>1145397 возможно, но зачем? В 80% случаев, если есть проблемы с производительностью, достаточно пройтись профайлером, найти один-два самых загруженных метода или причину их нагруженности, поправить пару строчек и проблем больше нет. Ещё в 15% нужен рефакторинг. Реально запариваться с низкоуровневой оптимизацией и борьбой за процессорные такты нужно максимум в 1%.
>>1148372 Ассемблер - это интерпретируемый, а не компилируемый язык (если только речь не идёт о FASM'е). Ну и ситуация с clr и jvm не то, что получше, она несравненно лучше, т.к. байткод создавался не от балды или велению левой пятки, а с целью абстрагировать код сборки от процессорной архитектуры минимальной ценой. И в целом это получилось, оверхед там настолько незначительный, что средний программист что на плюсах, что на шарпе напишет практически одинаково фиговый код.
>>1148834 они появились ещё до того, как появились шарп и джава. Потому что набор команд байткода прекрасно транслируется практически на любой процессор со стековым регистром (без него, вероятно, трансляции будет недостаточно и нужна компиляция) - а это все процессоры какие ты знаешь.
Аноны, сап Можете сказать, пожалуйста, насколько целесообразно вкатываться в ваш язык без корпоративного опыта? Освовил некий core, но выйти на работу не могу из-за разниц в зп. Могу год+ просто сидеть дома и пилить проекты/пробовать в веб.
>>1154397 Интерпретатор - это программа, которая выполняет синтаксический разбор текста программы, а затем исполняет её. Т.е. без программы интерпретатора программа не может быть выполнена. Компилятор же после синтаксического разбора формирует исполняемый код, который выполняется уже независимо от компилятора. Почти все ассемблеры являются компиляторами, потому что формируют машинный код. Хотя раньше, когда в ассемблерах не было макросов и прочих облегчений для программиста, их называли трансляторами.
>>1154427 Твоё утверждение отчасти верно - то, что ты называешь интерпретатором, им и является. Но не только это. Интерпретатором так же является и программа для построчного разбора кода, сиречь, однопроходная - прочитала строчку, интерпретировала, записала результат интерпретации в экзешник или куда надо. А трансляторы - это вообще класс, в который входят интерпретаторы и компиляторы.
Есть проект в ужасном состоянии, который я рефакторю. В нём есть пара .xaml-файлов с соответствующими классами.
Пусть ассембли и корневой неймспейс называются "AB", а рассматриваемый класс - "X". Раньше X.xaml.cs и X.xaml лежали в папке с названием "AB" и X.xaml.cs имел неймспейс "B". В X.xaml было указано x:Class="B.X" и оно работало. Я перенёс оба файла в папку "C", поменял в X.xaml.cs неймспейс на "AB.C" и воткнул очевидный путь в X.xaml: x:Class="AB.C.X". И компилятор послал меня нахуй. Почему? Потому что "namespace C does not exist in namespace AB.AB". Нет, это не опечатка. Он придумал себе неймспейс и лезет в него.
Что, блять, с ним не так? Как эту парашу фиксить вообще? Спаси, анон, я уже три часа с этим дерьмом мучаюсь. В гугле предлагают только способы "назначить кастомные XML-неймспейсы для шорткатов бесплатно и без смс".
>>1154523 Апдейт: если выставить классу "X" неймспейс, который не начинается с "AB" (например, "AA.C"), то оно начинает работать. Смена AssemblyName и RootNamespace ничего не меняет.
сап, господа шарписты! Есть несколько вопросов, но сперва предыстория Для универа нужно сделать простенькую программу winform - рисование графиков математических функций. Сказали использовать autofac для внедрения зависимостей. Ну ок, начал делать, почитал про паттерн MVP - реализовал: Математическую модель, которая из репозитория с мат.функциями(просто List c ними) в зависимости от того, что там выберет юзвер на вьюхе в соответствии с ограничениями, шагом, рассчитывает точки, через Презентер передает во Вьюху, та уже отрисовывает в свою очередь. Еще нужно запилить создание отчетов, но там кажется не особо сложно. Вроде бы всё понятно(поправьте, если накосячил) А теперь - что мне сделать с autofac? Куда его тут можно добавить? Или может быть у кого-нибудь пример простенький есть для понимания
Для ивентов лучше отдельный сервисный класс создать или прямо в менеджерах лепить? Ну к примеру есть юзерМенеджер, который юзеров там апдейтит и тд. И он должен бросать ивент типа юзерАпдейтед. Так вот сам ивент прямо в этот менеджер засунуть или создать лучше что-то типа ивентСервис. Или даже юзерИвентСервис. Что думаете, архитекторы.?
>>1155072 Видео курс WPF Углубленный. Фигуры, кисти и трансформации 1:19:37 Geometry и класс Visual 1:06:20 Анимация в приложениях 1:09:44 Мультимедиа и пользовательские элементы управления 1:09:01 3D Графика 1:03:55 Шаблон проектирования Model-View-ViewModel. 0:45:43
>>1155075 Дак и в книгах тоже самое. А как динамически в программе элементы размещать, никто не пишет. Не понятно, то ли это для даунов пишут, то ли я даун.
Аноны, накидайте инфы по MVVM для самых нубов? Я тут чего-то читал, суть немного уловил, но дальше создания пустых классов View.cs, ViewModel.cs and Model.cs не ушел - ХУЙ знает что куда идет. А там потом еще ебанные ResourceDictionary в XAML и вообще пиздец.
>>1155119 А что за институт и на кого ты там? И, главное, что у вас за литература по Шарпу?
>>1154951 >>1155075 Анон, ты если найдешь где это счастье на торретах - поделись?
>>1155119 >на кого ты там? Программный инженер. Хотел на информационные технологии, но закинули туда. Обычный провинциальный институт. Заочка, поэтому никакой литературы нет. Открывай гугл и ищи сам как и что делается.
>>1154543 Если кому интересно. Оказывается, какое-то ебанько положило другой класс в неймспейс "AB.AB". Не совсем понимаю, почему это как-то повлияло, но стоило сменить его и всё заработало.
>>1144694 Неоднозначный показатель. С одной стороны, можно действительно сказать о низкой популярности. А с другой, что язык грамотно документирован, и необходимость задавать вопросы отпала.
>>1155771 Плюс языки достаточно легкие, многие вкатывалы их изучают, даже в вузиках буржуйских питон и жс преподают. А эти вкатывальщики имеют обыкновение в случае чего сразу бежать задавать однотипные вопросы, на которые уже 500 раз ответили, прямо как на двоче.
Анон, подскажи нубу. Учусь работать с бд. Есть задача записать в бд много данных. Решил воспользоваться массовым инсертом. Т.е. в одной команде передать сразу много значений. Но у меня возникла задача. Данные для передачи хранятся в массиве. Как мне весь массив зануть в 1 переменную? Есть такая возможность? Или придется каждый элемент массива по отдельности брать и его по 1му в базу засовывать?
Хочу вкатиться в бек на C#, сам ньюфаг-студент, знаю только основы шарпа и основы веб-программирования (что такое ORM, что такое роутинг и тому подобное). Открываю гугл и там пиздец, webforms, mvc, webapi, core-хуере, различные серверы и так далее. И ни по одной из тем нет комплексного и полного курса/гайда, только документации. С чего начинать изучение-то?
>>1156860 >И ни по одной из тем нет комплексного и полного курса/гайда, только документации. Бекэндерам на шарпе по 5 кусков платят не потому, что можно пару комплексных и полных курсов/гайдов пройти и начать ебашить.
Вопрос по впф. У меня есть в ВМ булево свойство Edit, мне надо забиндить его к свойству текстбокса IsReadOnly - вроде ничего сложного. Но у меня таких текстбоксов несколько и писать биндинг каждому не айс. Можно это как-то сделать через стили или тригеры единый биндинг для всех текстбоксов?
Суть в чем, изучаю этот язык в шараге. Клепаю лабораторные на вин.формочках и сортирую массивы и прочее говно. Нас всех ебут блок-схемами кода по ГОСТу. И вот я решил написать приложение чтобы оно превращало код С# в готовые блок-схемы по ГОСТУ Потому что ничего подобного я не нашел в инете, а задача не кажется сверхсложной. Но проблема в том, что я не знаю даже с чего начать. Не могли бы вы посоветовать, на чем делать. В итоге хотелось бы, чтобы у нас было что-то вроде картинки 1. Сами элементы блок-схем хорошо бы перетаскивать руками и редактировать. Но можно пропустить. Главнее, чтобы это можно было как-то выводить на лист а4 на печать, а если схема большая слишком, то разбивать ее на несколько листов. Есть идеи?
Как лучше делать? И почему? Язык си шарпа, хотя другие тоже подойдут в данном вопросе for(int i=0;i<N;i++) { if (i>m) count++; } for(int i=0;i<N;i++) { count+=Convert.ToInt32(i>m); } for (int i=0;i<N;i++) { count+=i>m?1:0; }
>>1158657 Анон, работай со строками в циклах пракильно StringBuilder result = new StringBuilder(); foreach (var t in arr) { if (t != char1) result.Append(t); } return result.ToString();
Диезач, помоги решить проблему. Есть программа без исходников, написана на шарпе. При запуске ищет библиотеку Interop.IWshRuntimeLibrary с версией 1.0.0.0 и PublicKeyToken=null. Однако, в папке с ней поставляется библиотека с PublicKeyToken, отличным от null. В результате выпадает следующее исключение:
Exception Exception has been thrown by the target of an invocation.
InnerException System.IO.FileLoadException: Could not load file or assembly 'Interop.IWshRuntimeLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'Interop.IWshRuntimeLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' at Eclipse_Litetouch_Keyboard.ProgramItem.GetFileIcon(String path) at Eclipse_Litetouch_Keyboard.ProgramItem.ProcessFile(String programming) at Eclipse_Litetouch_Keyboard.ProgramItem.SetProgramming(String programming) at Eclipse_Litetouch_Keyboard.PopulateProgramSelection.PopulateApplicationSelectionThreadSafe(String filename)
>>1158775 Бля, спасибо анон. Я и не задумывался о такой хуйне. хотя в тысячах строк моего говно кода использование string builder вместо стринг в двух с половиной методах вряд ли поможет в оптимизации всей программы.
Всем привет, решил найти работку программистом, задали задание Задача 1: Реализовать строковый калькулятор, который: 1. Выполняет операции сложения, вычитания, умножения и деления над целыми и дробными числами. 2. Правильно определяет порядок вычисления при использовании скобок. 3. Проверяет правильность входной строки и в случае ошибки, сообщает об этом. 4. Работает из командной строки. Задача 2: Написать класс MyList<T>, который реализует интерфейс IList<T> Ебался 3-4 дня, все сделал, итог - на данный момент нам нужен более подготовленный специалист. По делу что конкретно не сказали, видать ебаный HR не заморачивается такими вопросами, и мой вопрос решила заигнорить, собственно прошу вас прокомментировать мое творение, не поливайте говном, не претендую на то что я все сделал идеально- просто хочу знать что не так для дальнейшего развития. 1 задание : https://pastebin.com/KbNuEV7T 2 задание : https://pastebin.com/Tg0MrA0a
>>1158987 во 1 не факт что много кто согласится, во 2 не факт что эти люди сделают задание верно, в 3 пока ты будешь этим заниматься будет идти время, а если ничего не получится просто проебешь шанс, в 4 когда ты придешь на работу и выяснится что ты нихуя не можешь тебя выставят от туда такого хитрожопого пиздабола. Но ты конечно такой прошареный счастливчик, а мы все тебе завидуем(нет)
>>1158981 Лол, что за пиздец у тебя вместо программы? Я даже читать это говно не стал. Это же, черт побери, основы основ. Даже Страуструп в своей книге для студентов не-пту-а-колледжа, вообще не знакомых с концепцией программирования, дает пример ровно такого же калькулятора. Короче, сначала матчасть подтяни, а потом уже на работу устраивайся.
Комментарии надо было по-английски писать На самом деле такие избыточные комментарии к очевиднейшим вещам просто не нужны. Комментарий ради комментария, так никто из опытных не пишет. Почитай главу про комментарии в Совершенном коде (Макконнелл), да и всю книгу по возможности прочитай, полезно. Ну и стиль написания как бы говорит о том, что опыта пока немного. Одно отсутствие var чего стоит.
А во втором задании, я так понимаю, от тебя хотели собственную реализацию списка, а ты взял и готовый List завернул в интерфейс. Смысол?
И, видимо, долго возился для такого результата.
Резюме - читани главу Макконнелла про комментарии, приведи все в порядок. На самом деле неблохо, но ты наверняка можешь лучше. Постарайся причесать код, например, сделай приоритеты операций enum'ом, такие вещи:
string output = MakeRPN(input); //Обратная польская запись float result = Calculate(output); //Находим значение выражения return result; // Результат
посокращай до: var output = MakeRPN(input); return Calculate(output);
>>1159010 Я вот этого и не понял, если есть готовый интерфейс зачем писать свой? Я только из соображений логики в этом запутался, ведь "реализовать" можно по разному. Хз, может я даун конечно.
>>1159008 На счет комментариев спасибо, понимаю что нужно писать на англ, и их нужно сократить, на самом деле так я никогда не писал их, видимо решил сделать все идеально и обосрался немного, ну не суть, это не столь критично, на счет var и прочего тоже не особо критично и постараюсь воспользоваться этими советами, на счет второго задания я уже написал.
>>1159012 Вот и сделай реализацию. И еще, тебя просили сделать IList<T>, а ты сделал специализированный класс для хранения Monster. По идее я беру твой класс и прогоняю на нем тесты (кстати, где они?) для строк, чисел и все тесты зеленые. А у тебя только монстров можно хранить :(
>>1159008 А зачем надо везде писать вар? Поставил решарпер, а он говорит, что надо бы поменять явное определение на вар же менее читабелен. мимо другой хэлловордщик
>>1159020 Но ведь Класс List<T> Представляет строго типизированный список объектов, доступных по индексу. Поддерживает методы для поиска по списку, выполнения сортировки и других операций со списками.
T-Тип элементов в списке. То есть я могу указать свой тип?
>>1159028 Блять, так сложно было уточнить это?(Риторический вопрос) Я бы в этом легко разобрался, но видимо я должен быть на 20% экстрасенсом, чтобы получить эту должность. Или считается что достаточно пары слов и человек должен додумать сам, в этом заключается компетентность? Или компетентность в том, чтобы уметь быстро разбираться в новом и подстраивать свою работу под заданные условия? Интересно.
>>1159037 >достаточно пары слов и человек должен додумать сам, в этом заключается компетентность? Или компетентность в том, чтобы уметь быстро разбираться в новом и подстраивать свою работу под заданные условия?
Это все действительно очень полезные качества, а еще нужно умение уточнить задачу (т.е. задавать вопросы), если что-то непонятно или обнаружилась неоднозначность.
>>1159008 Риальне, а зачем var юзать? Я как бы специально на языке со строгой типизацией пишу, чтобы знать, что в переменной конкратный объект хранится, а не хуй пойми что там из функции возвращается.
Еврокомиссия хочет обязать GitHub фильтровать код на этапе загрузки
Еврокомиссия рассматривает законопроект, который может обязать GitHub и другие платформы, обеспечивающие совместный доступ к коду, реализовать мониторинг всего загружаемого пользователями контента на предмет потенциального нарушения авторских прав. Законопроект распространяется на различные категории контента, от видео и аудиозаписей, до исходных текстов.
В настоящее время GitHub, в соответствии с действующим в США Законом об авторском праве в цифровую эпоху (DMCA), обязан рассматривать требования от правообладателей по блокированию уже добавленного контента. Несмотря на активное содействие по удалению нарушений авторских прав часто действия правообладателей превращаются в борьбу с ветряными мельницами, так как вместо удалённого репозитория тут же загружаются новые и создаются многочисленные форки, для удаления которых требуется отправка уже нового требования DMCA.
Авторы находящегося в рассмотрении законопроекта пытаются добиться введения в практику упреждающей блокировки, когда блокировка производится на основе фильтров, включающих шаблоны защищённого авторского правами контента, и эти фильтры применяются на этапе загрузки контента или для сканирования уже размещённого во всех репозиториях кода. При подпадании контента под фильтр он автоматически блокируется, не дожидаясь отправки явного запроса от правообладателя. В случае ложных срабатываний фильтра, которые трудно исключить, разработчику потребуется доказать, что его код не нарушает авторские права, и до завершения разбора ложного срабатывания разработка окажется приостановленной.
По сокрее бы уже запретили программировать. А то малоли че, какой нибудь плебс возьмет и случайно скопирует функционал святой собственности корпорашки. Право программкать надо сделать передаваемой по наследству и то только особоотличившимся сотрудникам крупных контор.
Друзья, у меня, наверное платиновый охуительный вопрос, но всё же, как именно начать программировать? Ну, то есть, я прошел курс на сололерне, прочел учебник и что? В нём только какое-то говно, несомненно, полезное, но оно, в основе своей, для математических операций, как изучать остальное? Вот я в визуал студио по примеру из интернета склепал вырвиглазное приложение, гоняющее мне красные шары без коллизий по экрану, но там используется совершенно левые операторы, которых в учебнике нет. Откуда взять эти практические операторы, а не сухой матан? В опенсорсе на гитхабе ковыряться? У меня есть опыт программирования на достаточно примитивном встроенном языке и на нем я делал достаточно топовые в своем сегменте моддинга игр вещи, то есть, хочется верить, что я не совсем дерево
>>1159217 Попробуй реализовать свой проект. Желательно который поддерживает базы данных. https://www.codewars.com/ Задачки уровня васянлабба можешь покурить на этом сайте. Ну и конечно можешь попробовать поискать СТАЖИРОВКУ. Для практики не так плохо.
Всем хай. Есть у нас тут проект, написанный на VS 2010, надо развернуть его непрерывную интеграцию на Windows Server 2012, который поддерживает только VS 2012 и выше. В процессе компиляции выдает "LC.exe завершилась с кодом -1". Но никаких файлов licences.licx, которые советуют удалять в таком случае, нет и в помине. Кто знает, в каком направлении копать?
>>1159837 Веб просто самый распространенный. Попробуй написать простейший CRUD на ASP.NET с использованием Базы Данных MySql или MsSQL. Ну или какой нибудь потешный Интернет магазин.
Думаю отправить Резюме на стажировку дотнет разработчика но там требуется знание ангуляр 2 и выше. Стоит ли тратить на изучение время? Насколько быстро можно изучить основы? Или лучше отправить резюме в другую фирму?
>>1159467 Ок, проблему худо-бедно решил, но тут всплыла куча других - оказывается, нужны библиотеки, которых нет под VS 2012, а переписывать код не вариант - рабочее решение нужно уже к концу недели. Так как все-таки пропатчить VS 2010 под Windows Server 2012? Все советы в интернете сводятся к одному - бери исошник десятой студии с SP1 и ставь на здоровье. Однако, такого исошника я нигде не нашел. Может, можно как-то обмануть проверку на версию ос при установке? (а потом доставить сервис пак). Подскажите, ребят, сроки горят, пукан горит, даже небо, даже аллах!
В ебучем wpf вообще возможно сделать ебанные кнопки по вертикали, а не горизонтали не прибегая к создания грида с строкой под каждую кнопку?
Как же мне горит от этой параши пиздец. А стили как по уебански сделаны. Все самое худшее выбрали от древних стандартов HTML. В замарине хоть оно как то получше реализованно, чи такое же говно?
>>1160091 В строках грида очень даже норм размещать. Если кусок с кнопками не нужно будет ресайзить - можешь сделать StackPanel c фиксированной шириной кнопок.
Если в рантайме все будет ровно и аккуратно, если не будет прыгать, дергаться и разъезжаться при ресайзе, то никто ебало кривить не будет.
>>1160136 Вот и славненько. Но мне все раано печет. Сделали бы лаконично как в CSS, нет бля вот тут тебе шиндоус ресорсес, пиши для каждого сеттера сначала проперти потом валю. Не забудь все это впихнуть в стайл для конкретного обьекта.
>>1160140 Все там ок, нужно просто привыкнуть. Возможности очень богатые, темплейты, биндинги, конвертеры, для извращенцев - онемация. Не без недостатков, но в целом XAML - круто.
>>1160282 Вроде должно уместиться, не уверен насчет того что эта версия будет работать, но предыдущие при тупом копировании на другой комп работали, единственное что еще надо будет кряк, либо таскать с собой jetbrains-license-server. При желании я думаю можно еще уменьшить на 20% где-то размер вырезав плагины некоторые и некоторые ненужности.
>>1160518 Короче, проблема была в кривой проверке русской версии. Поставил английскую - все заработало. Теперь надо вырабатывать привычку гуглить сначала на русском )
Привет, ребят. Знаю, что пишу не туда, но не знаю, с какой стороны вообще к проблеме подойти. Короче, у нас 2 сервера на WS 2012, надо настроить на них master-slave репликацию. То есть чтобы синхронизировались БД (это самое простое), приложение и в идеале вообще все файлы - то есть второй сервер должен быть 1 в 1 копией первого. Когда первый сервер недоступен/перезагружается/занят, нужно использовать второй. Можно ли вообще сделать это средствами ОС? Спасибо.
Посоны, помогите тупому. Погуглил, но нихуя не понял.
Есть класс отвечающий за конект и обработку сокетов. Для работы с сокетами использую библиотеку WebSocket4Net.
Есть несколько акков на сайте. Информация по каждому акку обновляется через сокеты.
Задача. Поднять в цикле конект сокетов под каждый сайт. Для одного акка это делается легко. Типа WebSocket ololo = new WebSocket().
Вопрос. Как подрубиться к сокетам для каждого акка, да так чтобы я мог управлять конектом каждого акка. Типа закрыть или отправить что-то только на конкретно этом сокете.
Собственно в чем проблема. Очевидно, что если я просто пройдусь в цикле по WebSocket ololo = new WebSocket()., то мне откроет нужное количество сокетов, но все они будут иметь "имя" ololo. Как мне каждому сокету уникальное "имя" дать?
Пацаны, я тут на вход делегата дал геттер, и мне ругнулось что геттер можно вызывать в главном потоке. ну я же юнити пацан, так вот, гугл говорит что геттер это метод, а как мне с этого геттера выдрать значение, и передать его на вход не как метод уже, а как занчение. Если вместо геттера просто написать true, то все ок.
>>1161143 dedot сделает тебе читаемые названия, но они будут типа ns123, class100, property12. И так далее, а так судя по тому что ты смотришь, я бы предположил что это либо какая-то оптимизация как в json.net, либо автор намерено запутал код так что без литра в нем не разберешься.
Есть массив байт очень больше 10000х10000, который я пытаюсь преобразовать в bitmap, все это дело у меня работает за примерно секунду с использованием unsafe кода и lockbits, но я хочу сделать это еще быстрее, поэтому попытался присобачить туда Parallel.for, все это дело работает, но вот проблема, на итоговом изображении появляются шумы, рандомные и не понятно откуда вылезают. Массив байт что преобразую не меняется и полностью сформирован до преобразования. Сами циклы выглядят Parallel.For(0,10000,i => { for (int j = 0; j < 10000; j++) А запись происходит var index = (i 4) + j stride; ptr[index] = color.B; ptr[index + 1] = color.G; ptr[index + 2] = color.R; ptr[index + 3] = color.A; С обычным For все отлично, с параллельным бред выходит, объясните почему так? Ведь по факту чтение потокобезопасно, а запись здесь происходит в уже готовый массив по готовым индексам, 2 раза в одно и тоже не запишет, откуда вылезают шумы?
Аноны, поясните за логику работы экземпляров и зон видимости (вроде это так называется).
У меня есть библиотека WebSocket4Net. Если я использую WebSocket ololo = new WebSocket() в цикле, то я получу хренову тучу экземпляров самой библиотеки. И смогу обращаться к тому говну, что есть в этой самой библиотеке. Типа к ее методам, классам гетерам и прочей байде, что меня не очень устраивает.
У меня написан собственный класс в котором находятся методы использующие методы из библиотеки, а так же обработчики событий находящиеся в библиотеке.
Суть там в чем. В методе конект, например, у меня содержится код типа.
Conect() { WebSocket _websocket = new WebSocket(url, cookie) //создание экземпляра класса из библиотеки _websocket.Open(); //использование метода из библиотеки _websocket.+= (a, b) => {} //подписка на событие из библиотеки }
Так вот вопрос в чем. Если я в цикле создам несколько экземпляров класса и вызову для каждого метод Conect(), то смогу ли я к каждому экземпляру созданого WebSocket _websocket обращаться или шарп на каждой интерации цикла будет "подменять" значение _websocket?
>>1162550 >Так вот вопрос в чем. Если я в цикле создам несколько экземпляров класса и вызову для каждого метод Conect(), то смогу ли я к каждому экземпляру созданого WebSocket _websocket обращаться или шарп на каждой интерации цикла будет "подменять" значение _websocket?
for (i=0; i<x;i++) { var socket = new Websocket(); socket.ConfigureShit(); ListofSockets.add(socket); }
>>1162551 Не. В том то и дело, что мне это не подходит, так как дает доступ только к классам библиотеки, а мне нужно получить доступ именно к коему классу в котором используются методы библиотеки
Если я в цикле создам var WsClient = new WsClient List.add (WsClient);
А потом обращусь к листу
List[0].Conect()
То как будет обработан экземпляр WebSocket _websocket = new WebSocket(url, cookie) который находится в методе Conect()
Его будет перезаписывать для каждой интерации или он будет обрабатываться по логике приватной переменной. Т.е. для каждого экземпляра будет своих, хоть и будет иметь одинаковое имя
>>1162559 Я туплю сегодня и не совсем понимаю вопроса. Если class WsClient есть обертка, а тебе нужно напрямую работать с тем, с чем обертка работает, тогда правь обертку на возвращение инстанции класса через out keyword
>>1162577 >тогда правь обертку на возвращение инстанции класса через out keyword
Нихрена не понял.
>не совсем понимаю вопроса
Вопрос в следующем. У меня есть задача реализовать подключение нескольких сокетов в цикле. При этом таким образом, чтобы я мог управлять каждым сокетом по отдельности. Т.е. закрыть его или отправить какую-то информацию через конкретный сокет.
В библиотеке есть методы типа open, close и прочее. И есть набор событий. Типа Opened, closed, MessageReceived. Вот для использования всего этого говна у меня написан класс в котором я использую это говно из библиотеки. Т.е. подписываюсь на события и обрабатываю их.
Так вот. Ко всему содержимому библиотеки можно получить доступ через WebSocket _websocket = new WebSocket(url, cookie). И сейчас в классе у меня просто обрабатываются события из экземпляра _websocket.
А мне надо создать в цикле кучу конектов к сокетам при этом, чтобы с каждым из созданных сокетов я мог использовать созданный мной класс и методы
А собственно все. Проблема с сокетами можно сказать решена. Правда может это костыль. Хуй знает. Просто перепишу весь класс WsClient используя позицию в листе списка текущих сокетов. Просто этот лист нужно объявить в том же классе. Нехуй велосипед изобретать похоже.
Просто заместо Conect() { _websocket.Open(); //использование метода из библиотеки _websocket.Opened += (a, b) => {} //подписка на событие из библиотеки }
будет Class WS { List<WebSocket> sockets = new List<WebSocket>();
Conect(int i) { sockets.Open(); //использование метода из библиотеки sockets.Opened += (a, b) => {} //подписка на событие из библиотеки } }
Господа, как сделать гет запрос и отдать к нему куки для авторизации? Погуглил, но нихуя не понял.
Есть HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); Есть куки из браузера вида _ga=GA1.2.692202593.1520536038; lang=en; _gid=GA1.2.336581328.1522121582;
Как мне отдать их в запрос. Если тупо использовать request.Headers.Add(cookies); то сайт говорит, что я не авторизован, в сети пишут типа эти куки нужно засунуть в кукиконтейнер и использовать его. Но я не могу понять как именно их туда засунуть.
Всем хай. С горем пополам установил Web Deploy 3.6 (потом еще параллельно 3.5 и кучу сопутствующего дерьма). В IIS Manager в контекстном меню сайта даже появлялся пункт Deploy -> Configure Web Deploy Publishing, который я настраивал и с пользователем WDeployAdmin, и с локальным админом. Вроде все должно работать, и он даже открывает в браузере папку с файлами проекта. Но после клика по файлам *.asmx, которые должны хоть че-то показывать, выводится "HTTP Error 404.17 - Not Found", говорящий о том, что запрошенный контент - скрипт и не будет обслуживаться "by the static file handler" (надмозг уровня бог). В качестве решения предлагается добавить explicit MIME map, чтобы файл обрабатывался как статический (но это, как я понимаю, нахрен не нужно).
С проектом все нормально, в vs2010 запускается на ура (через зеленый треугольник).
Проект писан не мной, моя задача - просто перенести его с одного сервера на другой. Но опыта с виндосерверами у меня вообще ноль, а помочь некому (тиммейты вообще не в курсе, как что).
Короче, я в тупике. Гугл выдает кучу всего непонятного, большая часть из которого не имеет отношения к моей проблеме. Кто знает, куда примерно копать?
>>1163894 Проблема решена созданием пользователя с определенным именем и паролем.
Появилась новая проблема. Есть у меня билд-сервер с Teamcity, с которого надо перегонять систему на продакшен (Windows Server 2012). И все бы ничего, если бы не надо было удаленно запускать экзешник на этом самом продакшене, который обновляет структуру БД. Раньше все было на одном серваке - проблем не было. Теперь же экзешник запускается (и работает) только при запуске непосредственно на продакшен-сервере, либо через расшаренную папку (в проводнике, блин). Teamcity не хочет его запускать от слова вообще, как бы я не модифицировал команду. Иногда даже пишет success, но на деле ничего не отрабатывает. Подскажите плз, как его обуздать?
Поцоны, есть пекарня с шарпдевелоп в качестве иде. Интернета нет, админских прав нет, кроме шарпдевелопа нихуя больше нет на пукарне. Можно ли при таких анальных условиях добавить нугет пакет в проект? Приходится пердолить винформс вместо впф, потому что для отрисовки графиков в впф надо подключать пакет, а в винформс искаробки идет
- https://github.com/CSharpShapka/SharpHat/wiki
Прошлый
- https://2ch.hk/pr/res/1127830.html
Не забывайте оформлять свой код
- https://ideone.com/
- https://pastebin.com/