Это копия, сохраненная 20 мая 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Предыдущий тредю: https://2ch.hk/pr/res/927547.html (М)
всем
норм же
Чоткий пасан вкатился в С# из сишки
Здарова
static int Factorial(int value)
{
if (value == 0) return 1;
else return value*Factorial(value-1);
}
Как эта функция делает возврат что-то не пойму
ОБЯСНИТЕ ПОЗЯЗЯ. КАКОГО СУПА ОНА ДЕЛАЕТ ВОЗВРАТ РАЗОМ ?!, или это вижуалка найобиваит
Люди надеюсь поможете.!!! Никак не могу разобраться отладчик тоже не помогает.
static int Factorial(int value)
{
if (value == 0) return 1;
else return valueFactorial(value-1);
}
Как он возвращает значение ? Никак не пойму
Вот вызов метода int factorial = Factorial(operand);
Если бы было так int factorial = Factorial(operand); я бы ещё понял
> Fa
Люди надеюсь поможете.!!! Никак не могу разобраться отладчик тоже не помогает.
static int Factorial(int value)
{
if (value == 0) return 1;
else return valueFactorial(value-1);
}
Как он возвращает значение ? Никак не пойму
Вот вызов метода int factorial = Factorial(operand);
Если бы было так int factorial (=) Factorial(operand); я бы ещё понял
Люди надеюсь поможете.!!! Никак не могу разобраться отладчик тоже не помогает.
static int Factorial(int value)
{
if (value == 0) return 1;
else return value*Factorial(value-1);
}
Как он возвращает значение ? Никак не пойму
Вот вызов метода int factorial = Factorial(operand);
Если бы было так int factorial (умножить присвоить) Factorial(operand); я бы ещё понял
Если ты задаешь подобные вопросы, то сначала прочитай Троэлсена.
какбы LINQ сначала, он обязателен. А энтити это же ORM-ка
У меня просто пизданутая модель обучения. Т.к. книги не заехали (читаю на иглише ОЧЕНЬ долго и туго воспринимаю инфу) я залез на мва и поехал дрочить видео-курсы. Потом сел за мвц (частично с itvdn и частично с того-же мва), а сейчас вот выяснил что энтети маст-хев и начал гуглить:
Различные программные платформы предлагают множество систем, реализующих модель ORM. Entity Framework в сочетании с LINQ (Language-Integrated Query) представляет собой реализацию ORM для платформы .NET Framework от компании Microsoft. Entity Framework содержит механизмы создания и работы с сущностями базы данных через объектно-ориентированный код на языке, совместимым с CLR (в наших примерах мы будем использовать C#). LINQ представляет собой библиотеку, расширяющую возможности C#, и облегчающую создание запросов (благодаря LINQ можно создавать SQL-подобные запросы в коде C#).
Вот и назрел вопрос.
Не ругайся не двачер я.
Люди надеюсь поможете.!!! Никак не могу разобраться отладчик тоже не помогает вникнуть в работу рекурсии.
static int Factorial(int value)
{
if (value == 0) return 1;
else return valueFactorial(value-1);
}
Как он возвращает значение ? Никак не пойму
Вот вызов метода int factorial = Factorial(operand);
Если бы было так int factorial = Factorial(operand); я бы ещё понял
Как бы да, линк и энтити очень тесно связаны, особенно если ты будешь аспом дальше заниматься серьезно.
Но вообще ты учишься неправильно. Крайне желательно почитать сначала Троэлсена (он есть и в русском переводое, не ссы), а потом уже накатывать всякие видеокурсы, или другие книги.
А вообще привыкай учиться именно по книгам, тут только так можно что-то научиться делать.
Нам преподша на 1 курсе стеки вызовов на доске рисовала, чтобы рекурсию объяснить.
А вообще, чтобы понять рекурсию, нужно понять рекурсию.
Не совсем. Я не понимаю как метод делает возврат. Вот вызов метода int factorial = Factorial(operand); (А ПОЧЕМУ НЕ ВОТ ТАК Вот вызов метода int factorial ЗВЕЗДОЧКА= Factorial(operand);) ТОЕСТЬ ОН РАЗОМ ВОЗВРАЩАЕТ ?
Спасибо, сейчас чекну - буду изучать. Алсо - там можно скипнуть заебавшую часть про типы данных, объявление/присвоение, базы ООП и прочую хуйню уровня 1го класса, потому что пришлось эту дрочильню проходить уже раз 20 из-за того что читал/проходил/смотрел кучу контента по шарпу и везде сука каждый раз начиналось с этого или все-же нежелательно?
Да. Пипец. ПРОШУ СКАЖИТЕ КАК ВКАТИТСЯ В ПРОГРАММИРОВАНИЕ ЕСЛИ ТЫ ПОЛНЫЙ 0. С чего начать Троэлсена в копилку уже кинул.
Я бы всё же советовал читать всё по порядку без проскакиваний, даже если знаешь. Повторение мать учения лол.
Но там смотри сам, может тебе это и не нужно, я только советую
Я все равно не понимаю что тебе нужно.
Но хотя бы почитай для начала как работает рекурсия вот тут. Может вопросы сами по себе отпадут
https://msdn.microsoft.com/ru-ru/library/z3dk2cc3(v=vs.100).aspx
Я понимаю как она работает. Я не понимаю почему она возвращает факториал. Ведь когда я делаю вызов я пишу ПРИСВОИТЬ, А НЕ УМНОЖИТЬ ПРИСВОИТЬ И ЕСЛИ ПО ЛОГИКЕ РЕКУРСИЯ ДЕЛАЕТ МНОГО ВОЗВРАТОВ, ТО НЕ ФАКТОРИАЛ ВЕРНЕТСЯ, А N ТАК КАК ПРИСВОЕНИЕ ЗАТИРАЕТ ЗНАЧЕНИЕ. Получается она как-то возвращает факториал. Я не понимаю(
int factorial = Factorial(operand);
Ты не понимаешь как она работает, вообще я не знаю что ты понимаешь. Функция возвращает ретерн, у тебя ретерн один и равен единице, эта функция должна быть либо войд и передавать ссылку на значение которое нужно возвести в факториал, либо возвращать не единицу, а value, только на каждом шаге рекурсии тебе нужно суммировать значение, естественно.
Какая сейчас актуальная редакция The C# Player's Guide? Попробую ее все-таки. И кстати каким переводчиком пользуетесь, аноны, особенно для словосочетаний?
Сам читаю от 2015-го года с рутрекера. На уровне консольных HelloWorld все равно радикальных изменений не завезут. А дальше можно что-нибудь соответствующее уровню знаний читать.
учи хаскель, выучишь разберешься
двачую этого, прочитал первую главу стал джуниором, дочитаю еще две стану сеньером точно!
Сап, шарпач! Вечер в хату, кодинг в радость!
Кто какие идентификаторы использует для типов стандартной библиотеки? Системные имена Object, String, Int32 и т.д. в Pascal case(Как в прочем и должно быть с названиями классов) или их псевдонимы:object, string, int, - в нижнем регистре(что в целом не свойственно для имён классов, но некоторые говорят, что так удобнее, хотя string - больше подходит для имени аргумента). Рассудите по понятиям шарповским, на какой стул самом сесть, а на какой джуниоров отправить?
если используешь статический метод класса, то пиши с большой. Если создаешь экземпляр - пиши с маленькой.
рихтер, например, негодует про синонимы примитивов. бОльшей части аудитории, что я наблюдал, они привычней. плюс не надо тащить референс на System, хотя кому какое дело
юзай как привычней, если тебе ставят в условие писать только System.Object или наоборот так никогда не делать - плюй в ебало
>>939088
На самом деле мне кажется логичней и правильней юзать only Pascal-case для таких целей, ибо код-стайл и всё такое, но остальные(хотя не все) члены команды юзают псевдонимы и чуствуют себя хорошо. В итоге имеем код, в котором частично используются псевдонимы, а частично системные имена. Выглядит это очень жутко и все это признают, но вот что с этим делать ещё не решили. Нужно как-то избавляться от мутантов типа System.String string = new string(); посему пытаемся выбрать оптимальный вариант.
Ребят, как через EF Core ограничить размер типа TEXT у SQLite? Можно глобально, имхо памяти жрет дохуища
Почему?
Ну я обосрался. У SQLite вообще типов нет. Можно, можно и через Fluent, но SQLite может схавать всё что угодно с попыткой скастовать в выбранный тип, а если не скастует, то запишет как есть. Другой вопрос, можно ли без вызова ADO ебануть PRAGMA в запросе?
> памяти жрет дохуища
А ты перестраивал базу данных?
https://sqlite.org/lang_vacuum.html
>>940047
динамическая типизация не тоже самое что и отсутствие типов.
Без понятия, сижу под красноглазием работаю с sqlite через sqlitebrowser(программа портирована и под винду) + соснольку.
В sqlitebrowser достаточно открыть базу данных в программе и нажать file-compact database, усё, оче просто.
шо ты там делаешь, хер его знает
я дерма всякого складывал в SQLite, но значительного роста потребления памяти не добивался при этом
Ну ебучих шакалов я не нашёл, поэтому легально
да, но только если хостить на pio физдиске с 5400 обмин
Как оптимально передавать данные с формы на форму. А то одни и те же данные через конструкторы и свойства всюду протягивать как-то хреново выглядит.
смотря, что за данные
использовать статический класс - редко хороший вариант. ну а вообще, конструкторы норм, че ты
Я ради интереса решил посмотреть сколько записей в одной из таблиц...
~47500000 записей из 6 столбцов
Я пользуюсь лингво. Словосочетания типа best practices смотрю в гугле. Надо подтягивать грамматику, плаваю с конструкциями could и подобными. Сорри за оффтоп :-)
если ты работаешь с формами, то ты используешь или MVC или MVP. Данные друг дружке можешь связывать через конструктор. Более умные дядьки делают это через инъекцию зависимостей, но тебе и так сойдет чай не легаси пидорить.
Спасибо, не поверишь, но я ждал твой ответ. Для браузеров я пользуюсь приложением яндекс-переводчик. А вот десктопное приложение я забыл, делает тоже самое при наведении на текст.
А ты не теряешь смысл при переводе длинных предложений?
таким был и я, но такое решение завернули по "possible memory leaks"
допустим, я нашел вариант, завернув вызов процесса в другом мною созданном AppDomain.
вопрос нумер оне: решит ли это какую-либо часть каких-либо мне неведомых проблем? другой домен будет иметь сопсные кучи, сборщик мусора и очень слабо будет влиять/зависеть от приложения-запускатора
вопрос два: для каких целей приложению (любому) может понадобиться создание/управление множеством AppDomain?
Значит он отсутствует или был удалён. С 4 попытки всё переустановил. Пока нормально работает.
это ты када запускать ВС пытаештся, тебе пишэд, что нету девенв или чо?
никогда не было проблем с 2015й
>это ты када запускать ВС пытаештся, тебе пишэд, что нету девенв или чо?
Давай мы вместе подумаем, как ты запустишь ВС, когда у тебя отсутствует exeшник от VS? А именно он и отсутствует! И что самое увлекательное, я, не иею ни малейшего понятия почему так происходит. Просто в один прекрасный момент после ребута, ярлык начинает ссылаться на exe которого нет!
В лингво надо не всплывающую подсказку читать, а открывать карточку слова. У меня настроено ctrl+мышь. В этом случае можно сразу видеть словарные статьи из всех словарей, в том числе там же есть и компьютерные. Так же еще в карточке можно смотреть пользовательские варианты переводов. Чтобы не терялся смысл предложений надо всегда сначала искать подлежащее и сказуемое, школьная программа же, лол. Читаю сейчас в свободное время player's guide, у товарища ряд оборотов все время используются, потом привыкаешь уже к ним :-)
Я не знаю почему ты подумал что я выёбываюсь. Но это не так. Просто я попытался рассказать об этом так, чтобы это выглядело забавным.
Кстати если кто-то столкнулся с такой же проблемой. Просто переустановите с инсталлятором. Там есть такая функция.
Это случается если у тебя стояла про триал. Потом триал кончается (и ты ставишь комьюнити) и VS ведёт себя ну примерно так. Весьма нелогичный шаг со стороны майкрософта. Я бы на их метсе просто вешал баннер с "У вас триал закончился."
Блин мне надо поговорить по кое какой теме. Сам я хз кучу человек обзвонил сегодня.
Поставь 2010 Express (потом зарегистрируешь - это бесплатно) и радуйся.
Тот же C#, WPF, учись - не хочу.
Ну и иди нахуй. 100% ты и в скайпе ебать мозги будешь.
нраица
делаешь что-то типа IInitParameterMap, и от него строчишь комбинаторное число классов типа сlass Int5Float10StringVasya : IInitParameterMap {}
>>941145
статик коллекция со статик геттером
Паттерн используется чтобы:
избежать дополнительных усилий по созданию объекта стандартным путём (имеется в виду использование конструктора, так как в этом случае также будут вызваны конструкторы всей иерархии предков объекта), когда это непозволительно дорого для приложения.
избежать наследования создателя объекта (object creator) в клиентском приложении, как это делает паттерн abstract factory.
Мне же нужно чтобы для каждого набора инициализирующих параметров создавался только один объект. Судя по всему это называется value object
посоветуйте книгу пожалуйста про xml/xsd и вообще методы описания данных
1.
For simple concatenation of a known (at compile time) quantity of strings, just use the ‘+’
operator or the String.Concat method. This is usually more efficient than using a
StringBuilder.
2.
Using
the + operator on nonliteral strings causes the concatenation to be performed at runtime. To
concatenate several strings together at runtime, avoid using the + operator because it creates multiple
string objects on the garbage-collected heap. Instead, use the System.Text.StringBuilder type
Занимаешься никому не нужной 0.003% оптимизацией?
как грицца, если количество конкатенаций известно, лучше использовать +. если это цикл или что-то рили сложное - то StringBuilder
перечитай
>>941657
меня вообще учили, что формат лучше. то есть уотсон прав? посмотреть бы на il
преимущество формата в том, что можно получить форматированную строку невесть откуда и использовать со своим набором аргументов. я лично привык использовать string.Format как можно меньше
>прав
они оба правы, лол. все зависит от использования.
тут еще стоит помнить, что для SB строка - изменяема. и если ты знаешь, что ты делаешь, то бмлдер тебе только в этом поможет.
ок, спасибо
Спасибо за подсказку, анон. Завтра увольняюсь со второй работы и сажусь за изучение с#.
Есть, в общем, массив строк, а мне из него нужно получить последовательность символов: из строки с нечётной длиной взять первый символ, а из строки с чётной длиной последний. Я так понимаю, тут надо SelectMany использовать, но что-то уже несколько часов ебусь, а к ответу так и не приблизился.
Реквестирую помощь.
Да, всё работает, спасибо! А я всё лямбда-выражения насиловал.
для начала норм, от души
вобщем в проблеме умножения матриц (100х100) натив более чем в 2 раза быстрее, как я ни ебался с c# кодом. (даже дал фору - по памяти О(1), для натива О(n))
меня наебали?
неуправляемый код всегда быстрее, особенно если использует инструкции проца для работы с матрицами, так что да - тебя наебали.
Зато ты получил контроль над ресурсами и легкость/скорость разработки + никто не мешает тебе использовать неуправляемый код для обработки данных в узких местах.
>неуправляемый код всегда быстрее
Нет. Управляемый код может быть быстрее в некоторых случаях, так как у него больше информации о системе.
В реальных случаях, конечно, это не особо будет случаться, не кукарекать про неуправляемый код, который всегда быстрее - это долбоебизм.
мне бы примерчик, для самообразования
Не будет.
В управляемом коде, все критичные оптимизации (которые полезны при полном информировании об окружении) будут касаться только боттлнеков, при чем очень горячих. Управляемый код никогда в жизни не сможет с оптимизировать весь код, хотя бы до уровня неуправляемого, просто по причине, что у него идет оверхед на трассировку\динамическую компиляцию\перекомпиляцию\етк.
Их даже сравнять в общем случае нельзя. По скорости выполнения.
Но вот по скорости\удобству разработки, поддержки, отладке, переносимости - управляемый код в безусловных лидерах, а в отношении проектов не системного уровня - это важное преимущество. В конечном счете, ничто не мешает и не запрещает симбиоз - когда вся архитектура держится на управляемом, а критичные к скорости\памяти модули пишутся на неуправляемом.
Управлямый код на практике только в энтерпрайзе может работать так как там оптимизация никого не волнует. Ну или в прототипировании приложения, которое потом будет переписано на нормальному компилируемом языке.
Я тут давеча поставил CorsarLink для мониторинга температуры и всяких напруг железа. Смотрю, сцукко, она стабильно жрёт процент-два просессорного времени даже работая в фоне, это при том что все аналогичные утилитки вообще незаметны, даже десятой процента ЦП не потребляют. Присмотрелся, а она оказывается на дот нете написана, ну думаю тогда всё ясно, лол.
>Управляемый код может быть быстрее в некоторых случаях, так как у него больше информации о системе.
Это пиздёшь от управляемого маркетолога. Формально вроде он прав, так как можно построить пример который действительно будет быстрее, например если сто лет назад написали тупой цикл под x86, а щас какая нибудь одна инструкция SSE1234 делает ту же операцию за такт и динамическая управляемая среда может в рантайме это соптимизировать. Но на практике гонять старье мало кто будет, и вообще новое железо само по себе будет оверкильным таким что для старой проги оптимизации не нужны.
Нахуя мне возвращаться на старую работу, если у меня сейчас с нормальным графиком и терпимой зарплатой есть, а освободился запас свободного времени на изучение чего-то еще?
в WPF есть несколько табов, MainWindow в конструкторе дергает отдельное окно логина и либо закрывает все нахуй либо запоминает текущего пользователя.
как теперь забиндить UI (например видимость отдельных табов) в зависимости от этого текущего залогиненого пользователя?
логично использовать какое-то свойство типа пермишон у модели пользователя, но табы разные - надо их как-то передать в виде параметра. гугл выдает ссылки на стак в которых все рекомендуют использовать ValueConverter, но он же реализуется отдельным классом, т.е. параметр передать можно, но при этом как теперь достучаццо до текущего пользователя?
короч, как это сделать по нормальному?
Нихуя не понел, зачем тебе нужно достучатся до пользователя? Чем тебе такой вариант не нравится?
<Button Visibility="{Binding Path=Permission,Converter={StaticResource MyConverter}}"></Button>
* у разных пользователей разные пермишны на РАЗНЫЕ UI.
например
admin видит TabA, TabB, TabC
editor видит TabA и TabB
viewer видит только TabA
у каждого таба в Visibility можно прописать биндинг, логично же не хуярить милиард свойств на каждый таб или любую другую хуйню, а передавать ее параметром. параметризированных свойств типа не быавет, можно заюзать конвертер, в который передать имя UI, но он реализуется отдельным классом из которого тогда как-то надо достучаться до текущего юзера, так понятнее задача?
а.. йоба! походу MultiBinding мне поможет
Можно просто передавать в конвертер параметр через ConverterParameter, чтобы понять к какой группе относится ui.
бля точно малти нах не нужен! я просто не понял философию конвертера - то что первый параметр value это и есть модель на которую забайндили, и у меня глобально дэйтаконтекст так установлен был что до модели юзэра хуй достучишься.
крч сделал все збс, теперь типа такой колбасы:
<TabItem Header="Logs" Visibility="{Binding Model, Converter={StaticResource vbpConverter}, ConverterParameter='viewTabLogs'}">
это прописано на каждом табе, требующем проверки пермишнов, меняется только параметр.
походу все пермишнозависимые UI будут такими же однотипными, т.е. можно создать стиль/контрол темплейт, всем нужным UI указать этот стиль, но тогда в параметр надо передавать какой-то уникальный ид контрола или ваще сделать глобальный стиль на все, но чтоб он применялся в зависимости от какогото маленького атрибута на UI - это годная затея ваще так можно делать?
антон, направь меня в правильное русло!
>ничто не мешает и не запрещает симбиоз
а что, у интеропа оверхеда нет? хардмод: /unsafe отключен
List<LinuxProcessInfo> ParsePS(string ps)
где
public class LinuxProcessInfo
{
public uint PID;
public string User;
public int WmSize; // -1 == нихуя
public string State;
public string Name; // "" == нихуя
public string Args; // "" == нихуя
}
если расходы на вызов метода внешней библиотеки выше, чем эффект от использования этой самой библиотеки, то что-то где-то не так
ну и для P/Invoke не нужен unsafe
>не только
а о чем?
разве unsafe даст больше, чем C++/CLI? и разве C++/CLI даст больше, чем любой другой .NET-язык?
>пишется за две минуты
Ну напиши.
Вот к примеру я набросал сейчас, но она неправильно парсит вариант, когда пустые имя процесса и аргументы. Как пофиксить?
UnmanagedMemoryStream?
>>942526
написал, проверяй
^\s(\d+)\s(\w+)\s+(\d)\s([SRWN<]{1,3})(\s+(.*))?$
аргс сам допарсишь
Ок, сейчас поставлю качаться. Попробовал с лингво - похоже на некоторую жопоболь. Перевел пару страниц при том, что на слух воспринимаю английский процентов на 30, а при чтении на 20-25. Как-то не особо облегчил себе жизнь.
>написал, проверяй
начального пробела может не быть, vmsize цифр тоже может не быть, но в целом твой вариант помог найти баг в моей
%спасибо%
Есть ли принципиальная разница между StreamReader+StreamWriter и BinaryReader+BinaryWriter помимо того, что вторая пара всё в байтах записывает/читает? Выделяется ли среди двух вышеперечисленных пар MemoryMappedViewStream, полученный от MemoryMappedFile, если мне нужно постоянно перемещаться по файлу и читать/изменять данные, при этом у файла фиксированный размер (не добавляю ничего нового).
Вообще, использование технологии MemoryMappedFile и его потоков в C# - хорошо или плохо? Читал на чьём то сайте, что MMF уделывает BinaryReader и StreamReader в разы, но азеры на stackoverflow пишут, что мол не выёбывайся и юзай BinaryReader. Видел даже у них такую конструкцию:
using (MemoryMappedFile MMF = MemoryMappedFile.CreateFromFile("anything.txt",FileMode.Open))
using (MemoryMappedViewStream MMVS = MMF.CreateViewStream())
using (BinaryReader BR = new BinaryReader (MMVS))
вот это вообще нормально - создавать BinaryReader на основе MemoryMappedViewStream?
Тебе плюсы со сборкой мусора нужны что ли?
Без дотнета и моно ты сможешь после запуска программы только посчитать что-то и выйти из неё.
Бывают упоротые клиенту для которых поставить дот нет это тот еще гемор (безопасность, все дела). Рашка же.
А-а-а-а, ну, это уже попроще. Скорее всего ты сможешь засэндбоксить свою программу вместе с фрейморком.
А вообще >>942781 будет работать не только с UWP-программами.
Подойдут любые. Начни с http://www.itmathrepetitor.ru/zadachi-po-programmirovaniyu/ потом перекатывайся на codeeval, codewars и hackerranks
>Посоветуйте паттерн. Нужно чтобы при создании объекта проверялось, создавался ли уже объект с такими же параметрами инициализации. Если да - то возвращается уже существующий объект.
М Е М О И З А Ц И Я
Е
М
О
И
З
А
Ц
И
Я
Просто думаю так будут более очевидны плюсы использования ORM + нужно сразу закрепить на более легком варианте.
ado.net не такое уж сложное по сравнению с ef. используется в ало еще меньше, чем там есть на практике. потрать пол-секунды шобы прочитать про основные типы адонета, а потом шуруй в еф
Окей :(
Быстрее нативного SQL ничего нет конечно. Но я бы EF взял. Каждую секунду это вроде бы не так часто, на самом деле, хотя смотря сколько данных. У тебя скорее потом будут проблемы с чтением данных, ежели ты совсем базу "забьёшь".
>>943730
>>943757
Обидно - я на новую работу выхожу 6 марта, а новая студия выходит 7 марта. Наверное, на Rider первые пару дней поработаю тогда. Или стоит поставить 2017 RC Community? Просто, в прошлый раз, когда я 2015 студию обновлял до Update 2, что-то пошло не так, и пришлось систему сносить. Боюсь, что здесь такая же херня будет.
2015 c андроид эмулятором за 20 гиг выходила. а тут еще всего обещают навалить. Я про размер после установки, дистрибутивы юзаю только веб, щас исошники уже никто не таскает в связи с обновами каждые пару месяцев.
Лол, не теми проблемами ты озабочен. Ты лучше подумаю как будешь краснеть и бледнеть перед тёлками вечером 7 марта, особенно с незнакомыми в новом коллективе.
Ты удалённо что ли устроился? Мне вот приходитяс брать больничный или сбегать под разными предлогами.
.vb
А какая нахуй разница какой студией пользоваться?
У нас работе на выбор можно поставить от 8 до 15, кому какая привычней. А на деле я пользуюсь 99 процентов времени дебагером, поиском и интеллсенсом, солюшен эксплорером, свн, даже решарпер не стоит. Это все есть и в любой версии студии.
Ёбу дал? 17 и 10 как небо и земля. Дальше прогресс чуть замедлился, но все равно овердохуя мелких улучшений. Сам же говоришь юзаешь интеллисенс, а он в 17 вообще как решарпер, если бы нормально работала пара мелочей, вроде жирные комплиментарные скобки и переход на определение по клику а не только F12 я бы это тормозящее говно вообще не ставил, так как комп на работе слабый.
Конкретно в 17 мне больше всего нравится ленивая загрузка проектов, очень актуально на моей некропека.
Лол, да тебе все равно первые несколько дней исходники читать и врубаться, в тотал коммандере этим можешь пока позаниматься. Или вообще тебе скорее всего в любом случае придется иметь старую версию, обычно какой нибудь тип старых проектов может внезапно заглючить, далеко не везде пишут только в последних фреймворках.
у нас существует проект с дотнет 4.0, но зато хотят шестой шарп к нему прихуячить)
Думаю ты не понял вопрос. Если ставить @ в начале строки, VS делает вид что после экранирования и перевода строки, строки больше нет. Причём тут версия фрэймворка.
Ещё предложили построчно сохранять файл кодом такого вида.
StreamWriter streamwriter = new StreamWriter(@"D:\index.html");
streamwriter.WriteLine("<html>");
streamwriter.WriteLine("<head>");
streamwriter.WriteLine(" <title>HTML-Document</title>");
streamwriter.WriteLine(" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />");
streamwriter.WriteLine("</head>");
streamwriter.WriteLine("<body>");
streamwriter.WriteLine("Привет");
streamwriter.WriteLine("</body>");
streamwriter.WriteLine("</html>");
streamwriter.Close();
Меня впринципе устраивает. Но неужели в C# нет более удобного инструмента для такого рода работ?
Попробуй заливать строки в стрингбилдер, а потом передавать уже его
> VS делает вид что после экранирования и перевода строки, строки больше нет
ват? покажи как ты делаешь
>>943778
>>943772
Таблица в 90 столбцов и 86400 строк, будут заполняться по кругу, EF потянет это или на нативном лучше?
Чот мне кажется у тебя проблемки с архитектурой приложения, опиши зачем тебе обновлять такой массив данных каждую секунду.
Ну возможно проблемы, если можешь помоги.
Суть такая:
Есть приложение, оно постоянно запущенно и по сети читает данные, за этим приложением работает человек.
Что нужно:
Человек не просто работает а совершает техпроцесс, например он его запустил, и где-то 30-60 минут идет процесс, человек совершает какие-то действия, по сети передаются какие-то показания. И по окончанию процесса, человек нажимает кнопочку завершить и на жестком диске создается Excel файл с отчетом за каждую секунду этого процесса по 90 параметрам, то есть 90 столбцов и если по максимуму то 3600 строк.
Ну пока придумал вариант что вот делать таблицу, которая будет хранить данные за последние 12 часов и выгружать в файл excel по ключу номера техпроцесса.
>по окончанию процесса, человек нажимает кнопочку завершить и на жестком диске создается Excel файл с отчетом за каждую секунду этого процесса по 90 параметрам, то есть 90 столбцов и если по максимуму то 3600 строк.
>на жестком диске создается Excel файл
>с отчетом за каждую секунду этого процесса по 90 параметрам
Ты программист от бога просто. Советую тебе не брать в руки стеклянный хуй.
Не понял, это требование заказчика же. Отчет по каждой секунде по 90 параметрам в экселе, я тут при чем, расскажи как реализовать.
интересно что за техпроцесс у которого 90 тегов, но это дело вторичное
тебе не нужно заливать все 3600 строк за раз, отправляй строку раз в секунду. Добавь дополнительный ключ, который будет связан с номером тех процесса и делай выгрузку по нему, сортировка по желанию. Локально ничего хранить не надо, выгрузку делай с сервера.
Еще у тебя, судя по всему, пробелы с реляционными базами - ты не особо вкупаешь как их нужно использовать, потереби литературу для студентиков.
Слишком много параметров логирования у тебя. Слишком большая нагрузка будет либо на процессор, либо на диск. Вообще 90 параметров - это овердохуя, но я думаю что заказчик знает что к чему. Наверное у него облачные вычисления и всё такое.
Советую скапливать записи по секунд 10 и пушить всё это в базу такими порциями. Каждой строке соответственно присваивать время.
90 тегов это датчики + концевики, за ними и нужно следить каждую секунду.
>тебе не нужно заливать все 3600 строк за раз, отправляй строку раз в секунду
Ну вот я в базу и заливаю раз в секунду одну строку
>Добавь дополнительный ключ, который будет связан с номером тех процесса и делай выгрузку по нему
Так есть он в базе, по нему и делаю выгрузку в файл.
Не. я все это уже реализовал, оптимизировал, за нормальное время пушится в большую базу, отчет выводится быстро.
Я просто думал у меня какой-то конкретный косяк или через EF это делается намного проще и быстрее или какой-то другой есть вариант, который я упустил.
Ну тогда все ок и видимо я неправильно понял твой вопрос. В твоем случае только выгрузка будет долгой.
>>944280
EF и сделан для того, чтобы было очень просто и быстро. Это нормально
Stack overflow наврал мне ( буду гуглить дальше.
Короче нагуглил. В двух словах надо ставить Двойные кавычки. Спасибо анон.
лол кек чебурек
установить провайдер, запустить мастер и работать с коллекциями это по твоему долго?
а, ты про скорость работы с базой через ef
Просто я у мамы хикка причем хороший такой хикка блять, и не хочу в офисе хуячить 5/2 по 8 часов
как правило на удаленку рассмативают стронг-пидаров или совсем сеньоров. иначе есть вероятность нааебалова)
Чисти говно на апворке.
Я вообще-то байтоёб, но на меня повесили поддержку проекта на этом вашем C#, ну я кое-что перепилил, как и просили, но есть СУЩЕСТВЕННАЯ ПРОБЛЕМА. Это говно еще и течет как <придумай сам что>, собственно пикрелейтед.
Ну и как мне найти проблему? Я и в с валграйндом-то не особо дружил, но он хоть говорил вменяемо, дескать тут ты new и проебал указатель не сделал delete.
По этой таблице я подозреваю, что виноват лавинообразный рост числа EventHandler'ов но почему сборщик мусора их не чистит вилкой?
Сборщик освобождает память не сразу, а когда ему захочется. Его конечно можно вручную вызывать если тебе сильно хочется.
На первом моём пикрелейтеде сверху куча маркеров вызова сборщика.
>почему сборщик мусора их не чистит вилкой
значит хэндлер живет дольше, чем подписчик, чего и быть не должно
Понаделают рекурсий там где всё циклом делается, потом в жопу долбятся.
Просто раздели сохранение в бд и принятие данных. Каждую секунду клади в очередь свои данные. А в отдельном потоке просто забирай из очереди и сохраняй.
плохая идея. скорее всего будет оверхед при работе с конкурентной коллекцией. так-то ежесекундная запись эт дело не самое нагружаемое. тем более, что запись может (и должна) выполняться асинхронно, к тому же порядок попадания данных в базу не важен
Такая трабла - пикрелейтед.
Сделал базу в MS sql compact 4.0, там ID ключевое, дата, время и т.д. Закрываю подключение, открываю, файл базы могу вырезать, в другое место перекладывать, ну то есть файл базы никак ничем не открыт, нет открытых соединений с ним, ни с чем не связан, ок. Запускаю программу для работы с этой базой, ставлю брейкпоинт на самую первую строку в Майн методе, останавливаю выполнение, хуякс, из базы изчезли все столбцы кроме ID. Как так блядь?
Нахуй ты лезешь со своими советами насчет цветовой схемы, когда никто тебя не просит их давать.
Да я удалял библиотеку для работы с базой, которую ставил через нугет (давным давно), потом забыл что ставил ее через него, думал это встроенная в .net, удалил чисто зависимости и ссылку, вот сейчас удалил через менеджер пакетов и все нормально.
Потому что человек не обладающий вкусом сам никогда не сможет вырваться из трясины безвскусия. Более того, он будет заражать других публикуя вырвиглазные скрины.
Ты хуйливое пздло. Болят от белого на черном фоне, и еще белые буквы на сетчатке та пропечатываются и стоят перед глазами некоторое время когда в сторону смотришь.
>Ты хуйливое пздло. Болят от белого на черном фоне, и еще белые буквы на сетчатке та пропечатываются и стоят перед глазами некоторое время когда в сторону смотришь.
Мое лицо, когда кто-то мне пытается доказать от чего у меня болят глаза а от чего не болят, иди нахуй просто.
Ебаклак, как раз тот факт что при переводе взгляда с черной схемы на окружающее пространство заметен отпечаток и говорит о том что она неестетвенна в отличии от стандартной в которой такого эффекта нет. Зрение как раз из-за этого и садится когда такая разность в яркости с окружающей средой.
> белого яркого
Температуру понизь и яркость поставь в соответствии с освещением. Для этого даже софтина есть, вроде f.lux называется Настроят белый аж до синевы, потом плачутся на мейлаче.
Нахуя мне что-то настраивать, когда у меня идеальные и приятные условия работы в виде светлого на темном?
Походу ты старый хуесос посадивший зрение и от безысходности решил поднасрать молодому поколению, что бы они как и ты страдали слепотой.
твоя EF модель ожидает, что там будет первичный ключ, которого нет
соответственно, у тебя несоответствие DbContext и схемы базы
Я делаю через Code Second и у меня сравается генерация. Потеребил SO, хороших новостей не нашел - без первичного ключа в каждой таблице я не смогу прикрутить EF. А так как поменять структуру базы не представляется возможным (легаси с тонной инфы) придется чистить говно писать на ADO.NET
в VS есть серый фон, чем я успешно пользуюсь
также глаза могут болеть не от цвета, а от сильного контраста моника и окружающего его мира, попадающего в твое поле зрения
мимо
>>945153
вроде бы формс такой карнавал не поддерживают. тем более "кликать мимо" - это вообще один из типов событий WPF, так шо не
Есть хитрый план сделать себе второй аккаунт и заказывать самому себе заказы, ставить высокие оценки и фидбеки, что бы нормич потом работалось.
Я уверен что я не один такой дохуя умный.
Какие камни?
Кстати почему бы просто не создать координационный тред, где аноны будут ставить друг другу лойсы на фриланс биржах повышая рейтинг?
Так победим индусов.
Могут по айпи спалить. Лучше здесь договориться и друг другу подлизывать и делать взаимозачеты.
Аргументировано.
Это тест по окончанию курсов. Ссылку безсмысленно давать если у тебя аккаунта нет на microsoft.com
зачем знать, что такое статические члены?
блять, зачем знать, что такое класс или что такое метод?
>я притворюсь что не вижу скриншота и буду маневрировать.
Ясно токсичный. Я уже понял что тут общаться или вообще вопросы задавать бессмысленно если на задающего из по дефолту смотрят как на дебила.
ну это совсем базовая база. статика нужна для того, чтобы не создавать экземпляр при обращению к члену. или это не то, о чем ты спрашиваешь? я хуй пойму вообще
>или это не то, о чем ты спрашиваешь? я хуй пойму вообще
А я думал что один не понял вопроса. Тогда извиняюсь.
Воистину, зачем я это изучал?
@
DOTNET NEW
@
НЕ РАБОТАЕТ
@
DOTNET NEW CONSOLE
@
CSPROJ
@
КХМ
@
OPEN EXISTING PROJECT FROM VS 2015
@
ONE-WAY MIGRATION TO CSPROJ FROM PROJECT.JSON
Меня аж трисёт. Почему нельзя было оставить оба стандарта? Один для легаси-дебилов, другой для долбоебов вроде меня.
Раскрывай дальше треугольники и увидишь какая переменная их держит
Требования простейшие: наборы данных (listview), контролы (ползунки, чекбоксы, кнопки) и важна возможность отрисовки графиков. Надеюсь на советы мудрые.
Ребят, поясните пожалуйста в каком порядке стоит учить, чтобы не пропустить ничего нужного и знать то, что важно. сейчас читаю Andrew Troelsen pro C# 5.0 and .NET 4.5
Ну ты выдал, ему чё-нить для вкатывающихся нужно. Последние свистелки-перделки сам на досуге почитает или при необходимости загуглит.
Чем отличается от старого компилятора?
Я так понимаю только ил код отличается и если им под net 2.0 компилировать, то никаких несовместимостей не будет?
Я решал с itmathrepetitor задачи, еще informatics.mccme, codeforces и всякие laba1 вуза-нейм.
как эт ил-код меняется? т.е. ты с компилятором будешь еще рантайм будешь таскать?
О БОЖЕ ЕЩЕ ОДИН ДАУН РЕШИЛ ВКАТИТЬСЯ и почитав тролльсена понял, что он объясняет не для ньюфагов, а для олдфагов.
Например
"Интерфейсы — это всего лишь именованные коллекции определений абстрактных
членов, которые могут поддерживаться (т.е. быть реализованными) в заданном клас¬
се или структуре. "
Тут я узнал два слова - класс или структура, а что такое именованные коллекции определений абстрактных членов)))
Или вот
"Делегаты являются .NET-эквивалентом безопасных к типам указателей на функции в
стиле С. "
Откуда мне блядь знать, что там в С? Что за указатели на функции блядь?
Дайте книжку для дауна пожалуйста. Хеллоу ворлд.
Я вообще паскаль дрочил, потом делфи. Нет времени на изучение всех языков, выбран был c#, хочу книжку по c#.
Я всегда говорил, что книжки троллсена говно, даже в оригинале (в переводе еще добавляются косяки слепого переводчика который слово static переводит как состояние (state)).
Чувак просто не умеет писать, он пиздит на заданную тему, его изложение неточное и непоследовательное.
Единственное объяснение почему его книжки так популярны которое мне удалось найти это охват тем. Он в одной книжке охватывает весь стэк дот нет, включая прикладнину вроде wpf с wcf, на западе люди платят за книжки а не пиратят, так что тупые и бедные студенты видимо пытаются сэкономить купив одну книжку, лол.
На русском я бы Аблахари взглянул, хоть сам её и не читал, но многие хвалят. Немного полистал, вроде ниче.
Албахари так хуево переведён, що пиздец, листал он, блять. Троелсон нормально для не тупых ньюфагов разжевывает.
По мне так наоборот, если читатель не тупой, будет пытаться вдумываться в то что читает он просто увязнет из-за неточностей и кривых формулировок. А те кто тупо зубрят может и схавают.
> ты с компилятором будешь еще рантайм будешь таскать?
Что значит таскать?
CLR выполнит оптимизированный новым компилятором ил-код в соответствии с новыми стандартами языка. Как-то так понял.
изначально ты так написал или я так понял, будто рослин ебенит совершенно новые ил инструкции, которые чем-то лучше, чем старые
но теперь я вижу, что ты имел ввиду оптимизацию ил инструкций, хотя, казалось бы, куда ж блять еще оптимизировать ассемблер
но и это не так, рослин держит в себе тот же конпелятор, предоставляя возможности для интеграции с ним, включая всякие апи-хуяпи и интерфейсы для профилирования
Нахуя этот огрызок, ты пиндос что ли? Спиздил энтерпрайз и сидишь как король, ни в чём себе не отказываешь.
Хуй проссышь чего ты докопался. Зубрить это учить без понимания именно это я и противопосталвлял нормальному изучению которое предполагает понимание. Но как минимум определения все равно надо учить, иначе не запомнишь. Одного понимания мало, это как в математике, ты можешь понять образно но все равно нужно оперировать формальным определением. Поскольку программирование это часть математики, в идеале должно быть так же.
Если ты понимаешь о чем говорится в определении - заучивать не нужно, пару раз прочитал и норм, потому как и так вспомнишь и в математике тоже
Давай ты научишься нормально писать, а потом будешь выебываться функциональщиной.
То что ты пиздло хуйливое, не смог сформулировать ни одного определения из областей которые ты якобы усвоил.
Перечисляй нахуй. из контекста он блять понял, давай выводи формальным языком, матанщик хуев
Ты спизданул якобы без заучивания освоил c# и матан. На реквест простейших определений из этих областей ты пёрнул в лужу.
Потому, что грубящему малограмотному скаму что то пояснять нормально желания нет.
Ты пиздло хуйливое, что и показал ещё в первом своём сообщении. А сказать ничего не можешь потому, что нихуя ты не усвоил, ровно о таких малограмотных дебилах я и писал, вам деццкие книжки дяди троллсена то что дохтур прописал.
Попробуй по админом запустить
Мне нужны и OpenTK, и BulletSharp
using KekVector = BulletSharp.Vector3
не уверен, возможно Type forwarding тебе поможет. но мне сдается, что имя там не меняется
Охуительно! Спасибо, работает!
Ураааа! Выходит новая версия моего нашего любимого блокнотика!!! Теперь он будет ещё быстрее))
Хз, мне дали потрогать пару месяцев назад. С тех пор на ней немношк попрограммировал.
Эпичный обосрамс.
второе
Над тобой в любом случае будут смеяться, смирись.
что сейчас пишешь? есть проект какой-нибудь? или ты просо ищешь напарника для изучения языка?
сейчас пишу нихуя, а точнее софт для основной работы (бд + графики), проекта нет но думаю потеребить asp.net core чтобы начать писать web api. Так что да, ищу с кем хуйней пострадать. Но я тут скорее якорь.
Да, хуёво, что конкретного проекта нет. а хуйнёй так то и тут пострадать можно. хотя я тоже в сторону веба смотрю
Ну давай сделаем. Нужно просто определиться со стеком и функционалом, а тему я придумать как два пальца - мне сложнее себя мотивировать делать.
PS 60 Гиг без хелпов и старых СДК десятки.
Да можешь прям тут расстелиться в хотелках, а я уж сразу пойму что жизнь меня к такому не готовила и быстренько сольюсь.
Я честно говоря с core вообще не знаком, больше с mvp работал. там много отличий, не знаешь?
Я его только изучаю, лол. MVP пропустил и сразу еборил на MVVM в WPF. Но выглядит годно, но смущает малое кол-во библиотек, зато на линукс можно деплоить.
слышал, его допиливают ещё потоянно. ну ладно, завтра посмотрю что да как, может даже куском говнокода окроплю сей тред
Такие дела.
для laba1 кроме компилятора ничего не нужно
Коммунити - не экспресс. По функционалу и фичам - это полноценная ультимейт версия с небольшими нерфами в сторону TFS и прочего корпоративного тырпразного говна. Ну и ограничение на коммерческое использование со слов мелкомягких, это если контора более 200 рыл. У нас все в конторе работают в ультимейт версии и нам норм.
[code]
using (Image image = Image.FromFile(@"C:\Users\User\Desktop\2.png"))
using (Image watermarkImage = Image.FromFile(@"C:\Users\User\Desktop\watermark.png"))
using (Graphics imageGraphics = Graphics.FromImage(image))
using (TextureBrush watermarkBrush = new TextureBrush(watermarkImage))
{
int x = (image.Width / 2 - watermarkImage.Width / 2);
int y = (image.Height / 2 - watermarkImage.Height / 2);
watermarkBrush.TranslateTransform(x, y);
imageGraphics.FillRectangle(watermarkBrush, new Rectangle(new Point(x, y), new Size(watermarkImage.Width + 1, watermarkImage.Height)));
image.Save(@"C:\Users\User\Desktop\2.png");[/code]
Профайлер есть. Единственное, чего не хватает с ультимейта - Code lense.
ты чо мудак что ли, проекты в %programfiles% собирать?
Выбрать python и PIL, где это делается за пять минут.
Схему не скажу, по ней можно было даже для 8.0 генерировать рабочие ретейл ключи, в 8.1 пофиксили, лел. При желании гуглится. Но могу без проблем выслать ключ для энтерпрайза, т.к профешнл = коммьюнити.
Я про винды.
Какой например? Я лучше до лета подожду, пока триала хватит. Если подводных камней не будет перед его окончанием и сгенерю.
Я не разбирался, я так понял там где-то рядом описан процесс генерации. Он же старый, еще со времен 2015 студии.
У меня может психическое растройство, но мне постоянно кажется что я не оптимально их разместил.
ну размести оптимально
я быдлокодер, мне больше и не надо
Можно ссылку?
nuget пакеты а чистом своем виде редко (или никогда) когда содержат вменяемые файлы для использования
если говорить отдельно об использовании библиотек через указание пути к нему, то сразу встает вопрос о переносимости проекта
по хорошему каждый раз заново. благо, это несложно
Возникла проблема при работе с MySQL + EF6.
Есть 2 модели:
public class Foo{
public Guid Id { get;set; }
public string Name { get; set; }
public List<Boo> Boos { get; set; }
}
public class Boo{
public Guid Id { get;set; }
public string Name { get; set; }
public Foo Foo { get; set; }
}
Db Context:
public class FooConfiguration : EntityTypeConfiguration<Lot>
{
public FooConfiguration()
{
ToTable("foo_table");
Property(x => x.Id).HasColumnName("foo_id");
Property(x => x.Name).HasColumnName("foo_name");
HasMany(x => x.Boo).WithRequired(x => x.foo);
}
}
public class BooConfiguration : EntityTypeConfiguration<Lot>
{
public BooConfiguration()
{
ToTable("boo_table");
Property(x => x.Id).HasColumnName("boo_id");
Property(x => x.Name).HasColumnName("boo_name");
}
}
Проблема в том что на выходе получается таблица foo_table, но только с 2 полями (Id и Name), как сделать так чтобы там было поле BoosId?
А в таблице boo_table было поле FooId?
Спасибо за ответы.
Возникла проблема при работе с MySQL + EF6.
Есть 2 модели:
public class Foo{
public Guid Id { get;set; }
public string Name { get; set; }
public List<Boo> Boos { get; set; }
}
public class Boo{
public Guid Id { get;set; }
public string Name { get; set; }
public Foo Foo { get; set; }
}
Db Context:
public class FooConfiguration : EntityTypeConfiguration<Lot>
{
public FooConfiguration()
{
ToTable("foo_table");
Property(x => x.Id).HasColumnName("foo_id");
Property(x => x.Name).HasColumnName("foo_name");
HasMany(x => x.Boo).WithRequired(x => x.foo);
}
}
public class BooConfiguration : EntityTypeConfiguration<Lot>
{
public BooConfiguration()
{
ToTable("boo_table");
Property(x => x.Id).HasColumnName("boo_id");
Property(x => x.Name).HasColumnName("boo_name");
}
}
Проблема в том что на выходе получается таблица foo_table, но только с 2 полями (Id и Name), как сделать так чтобы там было поле BoosId?
А в таблице boo_table было поле FooId?
Спасибо за ответы.
Больше ничего, судя по этим урокам должно быть норм
https://metanit.com/sharp/entityframework/6.2.php
чет я сильно отстал от жизни, не зная, что еф может в генерацию внешнего ключа, бесполезного для своей же модели
не уверен еще, что механизм базогенерации для EF.MSSQL и EF.My отличается, но все может быть
А есть ли какой-то бесплатный хостинг для асповых сайтов, дабы показывать свои творения всему миру? Azure, я так понял, платный. Нашёл ещё один хостинг, но он умер в 2016 ещё.
@
ЗАМЕНИЛИ PROJECT.JSON
@
ПЫТАЕШЬСЯ ИЗМЕНИТЬ ПУТЬ ВЫВОДА ПРОЕКТА
@
НЕ РАБОТАЕТ
@
ПИШЕШЬ ПУТЬ ЧЕРЕЗ ФОРМОЧКУ СВОЙСТВ ПРОЕКТА
@
НЕ РАБОТАЕТ
@
НАЖИМАЕШЬ BROWSE, В НАДЕЖДЕ ЧТО ЗАРАБОТАЕТ
@
VS 2017 RC НЕ ОТВЕЧАЕТ
Обновляю VS с треском в зубах от зубов...
>>949753
Если студент дохуя, то оформляй студенческую подписку Azure. Если нет, то покупай любой VPS на Unix-based системе и вкатывайся в .NET Core. Будешь охуевать с НОВОВВЕДЕНИЙ в организации проекта пару раз в год.
Глянь http://www.natemcmaster.com/blog/2017/01/19/project-json-to-csproj/ мб найдешь, что тебе нужно
не-не-не, Девид Блейн. Так я тоже могу. У тебя в json лежит не double[][], а object. Но на самом деле ты мне помог дойти до очевидной идеи. Я могу просто добавить к строке слева и справа символы, чтобы превратить double[][] в объект с одним полем, которое я могу описывать так как этого захочу.
Спасибо
Откуда у тебя эти ебанутые идеи, у тебя уже есть json, не надо его трогать.
https://dotnetfiddle.net/rCnYFN
Во! То, что нужно. Идеально. Благодарю!
из поставивших 17ю тут полтора человека. из имеющих какие-то проблемы, исключая место на харде, ты один
вангую, ты даже сам не попытался разобраться в проблеме, а тупо пошел на двач, при этом скуля, что ответ тебя не удовлетворил
ICollection
вообще это не решит проблемы
еще, по-хорошему, члены модели должны быть помечены как virtual, но это тоже не решит его проблемы
Ти хочешь в поле array<guid> ? Ето же не нормальная форма, не надо так. Там должны получится таблицы foo(id, name) и boo(id, name, fooId) и это норма что тебе еще нужно?
Спасибо за ответ!
[Entity Framework, разделение на несколько контекстов]
У меня есть следующая ситуация. Есть в проекте большое количество сущностей (21 шт.) Как правильно с точки зрения архитектуры и вообще правильности нужно с ними работать? Создать один контекст для все 21? Или же попробовать как-то логически поделить сущности на группы и для каждой сделать свой контекст?
Я знаю, что уже заебал, но всё-таки помогите с
этим и я отъебусь
http://pastebin.com/9qMejDE4
Правильно ли я делаю? Если нет-пофиксите с минимальными изменениями кода
Не ебу как в шарпе но в явке с jpa и хибернейтом я бы использовал один персистенс юнит. На каждый pojo класс написал дао контроллер. И все это прикрыл фасадом бинов. В которых реализовал бы бизнес логику и транзакционность.
И потом инжектил бы бин фасада куда нужно и работал с готовыми методами реализующими функционал
А да. Если бы без cdi контейнера. То обьявил интерфейс для фасада. И потом бы писал имплементации интерфейса фасада. И потом через фабрику получал инстанс фасада и работал.
Если у тебя не EF7 - вообще забудь про разделение контекстов. И даже в ней я бы не советовал. В EF6 это вроде как-то костылями реализовывается, это я совсем не советую.
С точки зрения архитектуры правильно - разделить это на домены, т.е
>как-то логически поделить сущности на группы и для каждой сделать свой контекст
С точки зрения того, как в реальности надо делать - пихать всё в один, я гарантирую это.
Можно ли в EF Core использовать таблицы без первичных ключей? Как же жить то, блять, без DataSet и DataTable.
Скажу в догонку про транзакционность.
Нормальный орм в пределах олного персистенс юнита дастконтекст транзакционности. И в случае с автоматическими и с ручными транзакциями все сущности лучше иметь в одном контексте транзакций
Хз. Я ж явапримат но и фулстек ЕЕ и спринг и osgi познал.
Думаю что шарп то менее зоопаркоподобен в технологиях. Так что средний уровень тут повыше должен быть.
Средний шарпист - это формошлеп, перекатившийся с Delphi.
На жабе хотя бы код нужно руками писать.
Спасибо большое!
Ну мне казалось что если шарп продвигают как альтернативу яве то там как минимум должна быть копия фулстека ЕЕ для бекенда.
Ну там писать придожения под iis на асп/мвц или что там сейчас. Чтобы орм был. Возможно контейнер контекста и депенденси инжекшен. Транзакции, распределенные транзакции, очереди сообщений.
Просто если этого нет то шарп реально лишь замена делфям.
На явке я вообще никогда не делал оконные приложения кстати
Шарп джаве не конкурент. На виндах нет реализованных решений для хайлоада: хадуп, рэдис, кликхаус. Это все линуховое.
если делаешь с солюшнэксплорер, то еще с древних древностей выскакивает диалоговое окошко, предлагающее переименовать все вхождения (если имя типа совпадает с именем файла)
если просто в коде, то не уверен, что до vs2015 это возможно. а там-то под переименованным членом появляется подсказка с возможными операциями, среди которых переименование по местам использования
Я использую для всех этих целей и не только, ReSharper. Если есть студенческая почта, то можешь зарегать на года лицензию
Рефакторинг есть в любом иде
>зачем тебе синхронное исполнение асинхронных задач?
Я же описал простеший сценарий когда он возникает. Да они там сами собой возникают на каждом углу, тут стоит обратная задача что бы обезопасить программу от их деструктивного влияния и это первое о чем надо подумать что бы не словить побочных эффектов и охуевать почему оно непонятно от чего крашится или не работает.
>На виндах нет реализованных решений для хайлоада: хадуп, рэдис, кликхаус. Это все линуховое.
В VS2015 всё это из коробки есть.
>На явке я вообще никогда не делал оконные приложения кстати
Потому-что у джавы только свингоговно которое работает вкривь и в кось, даже в 2017.
> использовать моно, когда оно едва-едва успевало за релизами фреймворков
> использовать моно, когда есть .нет коре
записки дегрода
и это не отвечает на поставленный вопрос
если две асинхронные операции у тебя крашат что-то в приложении, это не повод начинать выстраивать их очередь. надо добиваться конкуррентности функционала и объектов. а как это сделать - уже совсем другая история
Кто сказал что я собрался их выстривать, шо за маняфантазии? Вопрос был какие паттерны есть для разруливания всего этого.
Какие паттерны тебе нужны лол?
Паттерны конкурентности?
Используй атомарные потокобезопасные или даже иммутабельные переменные.
Если есть критические точки где возможны гонки делай семафоры или мьютексы.
Используй экзекьюшен пулы для тредов.
А вообще я нихуя не понял что ты хочешь сделать. Краши методов отслеживай исключениями.
Многопоточность и обработка исключейнийэто 2 слабопересекающиеся вещи. Ты можешь эксепшены в тредах подавлять. Чего ты пытаешься сделать. Напиши яснее
синхронизация многопоточого доступа
или приведи пример какого-нибудь описываемого тобой эпик говна
Ему надо синхронизировать множественное исполнение методов обработчиков нажатий кномпочек на форме чтоли?
Например как в андроиде. Там никто и никогда не сует код метода в обработчик нажатия кномпочки. Ибо если метод длинный по времени и может вызвать приостановку основного потока исполнения ведро его просто убьет.
Пиши внутренний сервис с воркерами.
В обработчике событий обращайся к сервису.
Сервис инстанцирован при запуске приложения и по сути синглтон. Он знает все о своих тредах исполнения и методах. При обращении к сервису он должен сам проверить размер пула тредов и если их множественное исполнение может быть не корректно не даст запустить новый тред.
Как то так.
Повторюсь я хз как это делается в шарпоформочках, яж явамакакен.
Где вообще понятно и доходчиво описаны коллекции и работа с ними, методы ToList и тп
msdn
>>951333
Да дело даже не в конкретно моем примере, а в общих принципах. Вот смотрю я мсдн и книжонки, везде объясняют async/await на примитивных примерах без подводных камней - типа запустили параллельно какое нибудь суммирвание, потом вывели результат в консоль и всё. Но эта фича вроде как проектировалась для написания отзывчивых UI, когда почти все на форме асинхронное. Но тогда же рейс кондишен будет на каждом углу, хуже того он может зависеть от ловкости рук пользователя.
По сути надо взять все места программы где запускается асинхронный таск и ответить на вопрос является ли он полностью независимым от остальных тасков или должен учитывать их активность. Понятно что большинство юз-кейсов это второй варинат, но тогда это будет даже не спагетти-код, а спагетти-рантайм что ещё хуже...
Поэтому интересно, как обычно это решается в промышленных проектах, на мсдн по каждой херне я видел всякие "практики и паттерны", должно же быть что-то и по этой теме. Я изолированно все знаю, а общай картина не складывается, так что бы в продакшене можно было херачить.
>>951339
> надо синхронизировать множественное исполнение методов обработчиков нажатий кномпочек на форме
Как будто что-то плохое.
Чёт я не понял как сервис с воркерами может помочь, то что ты описал по сути это иесть фреймворк тасков, но вопрос как его юзать на формочках что бы прикладные таски могли учитывать возможную работу других тасков.
Ну например так у вас делается асинхронный неблокирующий вызов.
http://blog.stephencleary.com/2012/07/dont-block-on-async-code.html
Но вместо простого обработчика ты можешь написать свой сервис в котором вручную управляешь тредами воркерами.
Посмотрел как в шарпе с этим.
Пичально как то даже forkjoinpool нет.
не будет рейс-кондишна, по крайней мере,если ты не создашь к нему предпосылок
вообще ничего тебе не гарантирует отдельный поток под обработчик, метод вернет управление в форму как только встретит первый await и ui снова оживет как так и надо
представь, шо формочка - это у тебя веб сайт, а нажатие на кнопочку - это реквест браузера. но ты же не учитываешь код в контроллере как будто вокруг витает пиццот таких же запросов, стремящихся тебе все поломать. обычная техника изолированности, транзакционности и прочее хуемое
Например.
Пишем интерфейс оркестратор например с одним методом runTask.
На основе его создаем имплементации конкретных классов оркестраторов задач, со статическим конструктором. Инициализируем их в начале програмки. Ониу нас будут синглтономами.
Внутри класса ты уже сам обеспечиваешь парралельность, управление тредами и так далее. Можешь сделать очереди высовов и так далее.
В формочке ты асинхронно вызываешь таск. А из таска уже обращаешься к оркестратору для запуска воркертредов в пуле. Оркестратор отдает ответ и уже таск возвращает его форме.
Создал консольное приложение и добавил к нему юнит-тест приложение. Через nuget установил NUnit, но ссылка на пакет добавилась в основной проект (консольное приложение). Как сделать, чтобы ссылка добавлялась в дополнительный проект (юнит-тест приложение)?
Ну а в общем случае можешь написать абстрактную прокси фабрику синглтонов ))
Но это уже совсем явавей
Немношк проиграл.
Тут половина треда работает на фулл-тайме, а другая половина просто мамкины задроты-борщехлебы которые могут в асп/хамарин. Какие нахуй формошлепы?
Хоть бы hh сначала открыл, прежде чем такую хуйню нести.
Есть какой-то годный ресурс от Антона? На кодингбате все перерешал, хочется именно под шарповские подьебки задачек.
Ну посмотри тут https://tproger.ru/digest/competitive-programming-practice/, я сам вкатывательщик и решал задачки с irepetitor и потом начал делать с заданий на джунов. Там уже пошла всякая дрянь с клиент-сервер, БД, сериализация и прочее.
Анон, ответь пожалуйста за сколько ты справился? Читаю его 3 дня по 30-40 страниц. И вроде не особо сложно, но отвлекаюсь постоянно. Складывается ощущение что я очень очень очень тупой.
Спасибо анон. Вообще я миниплан составил себе. Ну как миниплан, в шапке есть книги, я хочу их все прочитать от ньюфага к середнячку, а потом пройти всякие бесплатные курсы.
Да, я вот так же собрался, но именно задачек стало не хватать, хочется больше кодить.
А я уже подключился, нашлёпал формочек, но на могу понять что дальше делать.
Теперь пилю подключение к базе, что на удалённом серваке. Запилю какой-нибудь Фогс Гиик с блэкджэком.
делай выборки, очевидно же
я просто сначала сделал на net4.0, потом прикрутил wpf. Потом мне в голову ударила моча и я делаю это же на net core хуй знает зачем. неотпускает меня этот блядский линукс как спайс из закладки
Добавил всю папку и devenv.exe в исключение. Все равно ошибка.
Отключать антивирус пробовалл, от админа запускать пробовал. Не помогает.
Это копия, сохраненная 20 мая 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.