Вы видите копию треда, сохраненную 2 апреля 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
- https://github.com/CSharpShapka/SharpHat/wiki
Прошлый
- https://2ch.hk/pr/res/1114907.html (М)
Не забывайте оформлять свой код
- https://ideone.com/
- https://pastebin.com/
Шарпаны, что скажете про ahead of time compilation? Правда, что можно избавиться от анальной привязанности к .net и сделать код недекомпилируемым? Или он компилится строго под мой ЦП и ОС, и на любом другом ПК даже под такой же ОС не запустится?
Где такое вычитал?
Олсо, ты тот самый анон что на тем обфускации бился пару дней назад? Зачем тебе оно?
>Где такое вычитал
https://en.wikipedia.org/wiki/Ahead-of-time_compilation
>ты тот самый анон
Нет
>Зачем тебе оно
Принудительная компиляция в CIL - одна из тех вещей, которая мне не нравится в сисярпе. Я хотел почитать, как селёдка вообще устроена изнутри, и вот в параграфе про JIT увидел упоминание ahead of time, типа сразу в машинный код. Хотел узнать, правда ли что абсолютно любой C#-проект можно уебать напрямую в сырые байты
Вроде можно, но будет привязано к архитектуре CPU вроде. Хз, если нагуглишь - отпишись. Можешь на SO спросить.
Для UWP есть .NET Native, а так гуглится только это https://docs.microsoft.com/en-us/dotnet/framework/tools/ngen-exe-native-image-generator
в mono есть
>internal int m_value;
Я тебя понял, майкрсофт
int - это алиас System.Int32
Тебе реально больше знать ничего не нужно. Зачем туда лезть? Ты пишешь unsafe code с поинтерами?
И Visual Studio Code неплох, но отладка поддерживается только для 64бит ОС, а у меня до сих пор 32бит Windows, да и создавать файл проекта для MSBuild нужно похоже вручную.
На работе будет Visual Studio, как требуют, а дома редактор попроще.
//file1.cs
namespace podmihibaskova
{
using op=int;
}
//file2.cs
namespace podmihibaskova
{
...
op hui;// ???
}
В одном исходном файле определяю namespace и создаю нём alias для типа с помощью using.
Как использовать этот alias в том же namespace, но уже в другом сорце?
никак
Ты скорее всего хочешь не Repository, а DAO.
Потому что репы с чистым SQL хуй грамотно реализуешь без "спецификаций", а писать их это еще тот геморрой.
А писать их придется много.
Нахуя?
class YobaRepository<T> where T : IRepositoryItem {
public void Create(T item) {
item.Create(context);
...
}
Ну ты шутиля.
Так собственно DAO это просто класс с методами для взаимодействия с хранилищем.
Можно навелосипедить многое, например какой-нибудь UnitOfWork который будет управлять соединением и транзакциями(хотя сейчас TransactionScope это дело упрощает) и через который ты создаешь твои DAO, но я не вижу смысла сильно переусложнять все это.
У нас просто (хер там просто) легаси напердолено много чего через code first и EF нагенерировал уйму дерьма плюс продолжает делать крайне неоптимальные запросы. Пока все лениво думают как это разргебать, потому что через нав проперти много чего другого из разных таблиц подключается в наши модели и получаем готовые для работы штуки, вот от этого отказываться никто не хочет. Связка из даппера + слаппера (Slapper.Automapper) выглядит мило и позволит как раз описать достаточно быстро логику связей для всех наших моделей, но хочется все еще что-то более простое. Была мысль через рефлексию брать названия полей и $"INNER JOIN {0}" и т.д, ну ты понял. Не знаю. Просто не знаю что нам надо.
Так если уже есть EF, то зачем велосипедить что-то с даппером.
Просто пишите raw SQL запросы в местах где генерируется хуита, а схему потихоньку правьте миграциями.
> Так если уже есть EF, то зачем велосипедить что-то с даппером.
Хороший вопрос, но от него принципиально отказываются, не в моих силах объяснить что можно выключить трекинг и юзать его как продвинутый маппер.
Для этого надо преобразовать строковое значение в число, по числу сортировать. Как преобразовать?
>Для этого надо преобразовать строковое значение в число, по числу сортировать. Как преобразовать?
Зачем? Создай IComparer который использует A.string и передавай его массиву через Sort()?
У строк есть сортировка по asc/desc по умолчанию. Если нужна осообая, можешь в том же EqualityComparer задать
List<A> NewSortedList = oldUnsortedList.OrderBy(p => p.StringField).ToList();
Но дело в том что моя лямбда имеет тип Func<T, float>. Поэтому строку (имена) нужно преобразовать в число. Просто у меня универсальный класс для сортировки, там по разным полям разных типов можно сортировать, поэтому к float приведено
>Поэтому строку (имена) нужно преобразовать в число
>string.Compare
>string.CompareOrdinal
>Просто у меня универсальный класс для сортировки
А ты еще и велосипед для сортировки написал?
Алсо, если тебе просто нужно сортировать по алфавиту, то тебе вообще ничего не нужно велосипедить, т.к. все функции сортировки могут использовать дефолтный comparer.
>>28610
>А ты еще и велосипед для сортировки написал?
Да
typeOrder = new SortOrder(this, x => x.getType().);
provinceOrder = new SortOrder(this, x => x.getProvince().GetHashCode());
productionOrder = new SortOrder(this, x => x.getGainGoodsThisTurn().get());
resourcesOrder = new SortOrder(this, x => x.getInputFactor().get());
workForceOrder = new SortOrder(this, x => x.getWorkForce());
profitOrder = new SortOrder(this, x => x.getProfit());
profitabilityOrder = new SortOrder(this, x => x.getMargin().get());
salaryOrder = new SortOrder(this, x => x.getSalary());
unemploymentOrder = new SortOrder(this, x => x.getProvince().getUnemployedWorkers());
Поэтому мне таки надо строку преобразовать в число
Я вот такую функцию высрал:
public static int GetWeight(this string source)
{
int res = 0;
for (int i = 0; i < source.Length && i < 3; i++)
if (source != ' ')
{
// aware of int overflowing
res += (int)Mathf.Pow(3 - i, 6) * (char.ToUpper(source) - 64);
}
return res;
}
Сравнивает только по 3м первым буквам (больше и не надо). Степень используется чтобы увеличить вес места буквы. Обосрите меня.
Так нахуя если сортировка по умолчанию со строками работает, похуя на язык?
>>28656
>for (int i = 0; i < source.Length && i < 3; i++) if (source != ' ') {}
Лолблять.
>res += (int)Mathf.Pow(3 - i, 6) * (char.ToUpper(source) - 64);
Яумамыпогромист.жпг
Тебе уже сказали, что,
во-первых, в C# уже есть функции сравнения строк string.Compare()
во-вторых, коллекции по дефолту сортируют элементы используя дефолтный comparer (элемент должны реализовать IComparable интерфейс), и строки по дефолту сортируются по алфавиту и так
в-третьих, для недефолтной сортировки можно использовать лямбды или IComparer
>Лолблять.
Шо не так то?
>>28670
>первых, в C# уже есть функции сравнения строк string.Compare()
Я в курсе
>во-вторых, коллекции по дефолту сортируют элементы используя дефолтный comparer (элемент должны реализовать IComparable интерфейс), и строки по дефолту сортируются по алфавиту и так
>в-третьих, для недефолтной сортировки можно использовать лямбды или IComparer
Все охуенно, но мне нужно сортировать с помощью лямбды с одним аргументом, а не с 2мя как IComparer, и именно с такой лямбдой: Func<T, float>. Условия задачи такие. Нет, надо предложить как решить какую нибудь другую задачу, так ведь веселее.
Тем что метод сортировки вызывается из гуи таблицы типа .Sort(lambda)
Очень хочется понять, как же мне отображать списочек не в виде обычного списка типа ListBox, а в виде плиточек. То, что основным элементом должен быть Grid, это и так понятно, но как же, блять, туда биндить элементы по типу ItemsSource="ListName"? Ну и аналогично, как к каждой ячейке привязать каждый элемент из списка.
В туториалах даже близко по теме нихуя нет.
Хуй знает, что это даст, учитывая, что я и так в курсе про ItemTemplate, вопрос был, как правильно биндить данные. Уже понял, что лучше использовать WrapPanel, но опять же, хуй знает как сделать, чтобы отображались данные из некоторого списка, как у ListBox. Там-то очевидно, что пишешь ItemsSource, и оно само возьмет данные из списка, а у WrapPanel такого нет.
Как-то странно ты в курсе.
Там где ItemTemplate, там и DataTemplate, в котором враппанель, в которой твои элементы с биндингами
Build release preset
Ну и в общем требуется брать значения из этого словаря, ну и так как этого ключа может не быть, приходится каждый раз проверять на KeyNotFoundException, проверяю с помощью TryGetValue. Но после 10 такой проверки подумал, что должен же быть способ, чтобы автоматом при отсутствующем ключе возвращать 0, вместо выброса эксепшна, при этом не используя TryGetValue.
Ну в смысле переопределить где-то при создании словаря или переопределить сам класc Dictionary, сделать свою коллекцию, наследовавшись от Dictionary, в которой переопределить поведение вместо KeyNotFoundException.
Возможно ли такое?
напиши свой Dictionary, хуле
Какое издание последнее?
Наткнулся на крутую статью о ней но там она еще доходит только до шарпа версии четыре.
А сейчас какой уже? Седьмой?
Стоит ли времени?
Как вообще это у них выходит?
Жабаскрипт так от фреймворков зависит, или средний джаваскриптокодер настолько некомпетентен что не может в базовые алгоритмы?
Без фреймворка сереализацию не написать чи шо?
>Ну и в общем требуется брать значения из этого словаря, ну и так как этого ключа может не быть, приходится каждый раз проверять на KeyNotFoundException, проверяю с помощью TryGetValue. Но после 10 такой проверки подумал, что должен же быть способ, чтобы автоматом при отсутствующем ключе возвращать 0, вместо выброса эксепшна, при этом не используя TryGetValue.
Блять ты пиздец. Чем тебя ContainsKey не устраивает?
потому что жс это бесполезная хуйня.
любой "фреймворк" на жс пишется за полчаса с нуля.
они там подвержены моде, фреймворки это повод попиздеть в кафе.
Вангую это тот-же программист, который выше не смог найти как получить элемент из листа.
>проверяю с помощью TryGetValue
>приходится каждый раз проверять на KeyNotFoundException
>Возможно ли такое?
Нет, невозможно. TryGetValue не делает никаких исключений
Кстати, вообще хуета полная, нахуя тогда Dictionary если по value ищет? Хешаться лишь ключи, поиск по value линейный. Могу бы тогда банально итератить через все записи.
Я в этом плане больше всего охуел от jQuery - они же, блядь, GetElement(s)ByHuinyaName заменили на символ! Охуеть просто, революция!
Ага.
У меня всё работает.
Хуисосина, ты заебал своим пердоантивирусом или еще чем.
>>29617
>>29643
>>29649
>>29637
Бля вы нихуя не поняли.
1) Есть словарь
2) В нем есть ключи определенные
3) Мне нужен из этого словаря value с определенного key
4) Но этого key может не быть в словаре в какой-то момент времени, а через 5 минут оказаться, через 10 минут опять пропасть
5) Чтобы обходить KeyNotFoundException я использую TryGetValue, в итоге в коде раскидано десяток таких TryGetValue, вроде все нормально, но просто глаза режет.
6) Так как мне режет глаза, хочу узнать, нет ли способа реализовать свой словарь, в котором вообще не будет такого эксепшна и вместо него возвращать какой-то default value;
Надеюсь так понятно.
>2) В нем есть ключи определенные
>3) Мне нужен из этого словаря value с определенного key
Сам понял что написал? Если ключа нет, как ты знаешь, что он определенный?
Да легко.
По сети приходят данные в виде key-value.
Сейчас пришли данные такого вида:
Петя - 1
Ваня - 2.
Через час пришли вида.
Женя - 2
Леша - 4.
Через час
Петя - 5
Женя - 3.
Мне например нужен ключ - Петя.
Я постоянно вывожу например Dictionary[Петя].
Но во втором случае у меня словарь заполнился ключами, в котором нет Петя. Вылетит эксепшн, поэтому проверяю TryGetValue, если false, то вывожу 0.
Хочу по дефолту возвращать 0, вместо эксепшна.
Да легко.
По сети приходят данные в виде key-value.
Сейчас пришли данные такого вида:
Петя - 1
Ваня - 2.
Через час пришли вида.
Женя - 2
Леша - 4.
Через час
Петя - 5
Женя - 3.
Мне например нужен ключ - Петя.
Я постоянно вывожу например Dictionary[Петя].
Но во втором случае у меня словарь заполнился ключами, в котором нет Петя. Вылетит эксепшн, поэтому проверяю TryGetValue, если false, то вывожу 0.
Хочу по дефолту возвращать 0, вместо эксепшна.
Квадрипл конечно, не может пиздеть. Но перечитай мой пост. >>29993
5 пункт. У меня не вылетает эксепшна, но я не хочу его обходить с помощью Contains или TryGetValue. Потому что при текущем использовании словаря, это логически не является исключением, это штатная ситуация. Поэтому я и спрашивал, есть ли способ сделать реализацию словаря, где вообще не будет такого эксепшна, тогда такая реализация будет логически удовлетворять его текущему использованию.
Вот и все, да - можно, нет - нельзя, вот ответы на такой вопрос.
>но я не хочу его обходить с помощью Contains или TryGetValue.
Что значит "не хочу" . Это нормальный use case c Dictionary. Если ты хочешь быть уверен, что в словаре всегда есть запись - структурируй свой код таким образом, что бы они всегда были (в 99% случаев это read-only словарь)
Где можно спиздить и установить решарпер? Вроде и без него нормально живу, но не него все так дрочат, что захотелось попробовать.
>2018
>решарпер
не нужно. в roslyn есть пользовательские code analyzers, которые имеют ту же функциональность.
https://blog.terribledev.io/vs-2015-getting-resharper-experiance-without-resharper/
джава это главным образом энтерпрайз сегмент. Очень трудно вкатится во все эти экосистемы, и разросшиеся легаси, высокие требования высокая конкурентность.
Джуны как таковые там вобще ненужны, но с другой стороны корпорации - это те немногие кому по карману растить под себя спецов, и держать собственные дев тимы.
Собственно вопрос можно ли как-то сделать не Move, а CopyBufferArea (я так и не понял как считывать с консоли, но я нюфаг), либо можно ли как-нибудь собрать будущие столбцы, НО НЕ ОТРИСОВЫВАТЬ ИХ, а отрисовать в консоль потом уже по команде, чтобы сразу на место предыдущей записи фигачило и не было видно обновления так сильно.
Ну и да, копировать должно с цветом текста (бэкграунд мне не нужен), и так же "собрать будущие столбцы" тоже нужно с цветом. Уже неделю мучаюсь и ты моя последняя надежда, анон
Вот в программерском чатике в дискорде тоже посоветовали эту штуку :-/ Ну лады, 2 рекомендации уже. Спасибо, Антош!
Переустанови виндовс.
советую Players Guide to C#. кратко и обо всем
Почему я не могу просто сделать лист который они хотят и написать return list; ?
И еще, почему в обучении как будто избегают пространства System.Linq в то время как что бы я не находил в сети для решения разных задач постоянно предлагают использовать его?
А что мне надо туда добавить из решения, если я всё вытащил, поделил, удалил и засунул в лист?
http://rgho.st/8b8LyfSV2
Наша конечная цель — алгоритм продолжения текста, который по нескольким введенным словам угадывает наиболее вероятное следующее на основе знаний, полученных при анализе большого текстового массива.
Вся задача разбита на 3 этапа: подготовка текста, анализ частотности биграмм и собственно продолжение текста, на основе информации о частотности.
В этой задаче вам нужно разбить текст на предложения, а предложения на слова. Выполните задание в классе SentencesParserTask.
>Объясните пожалуйста, что значит строка return new List<List<string>>();
>
Список список. То есть список со вложенными списками.
список == List == массив.
> А что мне надо туда добавить из решения, если я всё вытащил, поделил, удалил и засунул в лист?
> засунул в лист
Ничего добавлять, возвратить твой очищен лист, в даном методе.
http://rgho.st/8b8LyfSV2
Почему-то пишет "Файл загружается
"
C# player's guide + metanit на первое время, потом можешь рихтера почитать
static int function<T>(T v) where T : struct => int function(ref v);
К тому же студия ругается на литералы $ и объявление типа using static namespace. В итоге я не могу его собрать. Что нужно накатить? Там указан дотнет 4.6. На шарпе только лабы писал, углубленно им не занимался.
Сомневаюсь
Держу в курсе. Если будешь устраиваться на работу, 90% что будешь работать с версией шарпа <=6
Чому так? Вроде же все на нет кор перешли, а там седьмой шарп
Очевидно же, что если тебе нужно сортировать не только по первой буквой, то порядок одним числом ты не представишь.
Что-то пиздеж какой-то.
После знака => должно быть слово return как минимум. Это невалидный синтаксис. Скинь код полностью.
Блять, хуйню написал, я имел ввиду, что слова int после => не должно быть
А в итоге ебанутым оказался только ты. Мобильная разработка + игры живее всех живых.
Они-то может и живые, но нахуй мне об этом знать?
Очень часто шарп ругают за то, что у него нет кроссплатформенности, поэтому шарписты сразу пытаются оправдать это
Лучше найди курсы itvdn в шапке, а после них уже читай рихтера, шилдт не нужен.
Ты прав. Но я таки упаковал в одно число, в разные разряды. Умножая каждое число на оче большое число.
Покажи-ка код, а то что-то не верится, что он реально работает при всех кейсах.
Да обычно происходит так:
Я: Хочу вот написать чё-нибудь под андроид
РандомныйДебил:
ИСПОЛЬЗУЙ ХАМАРИН МАЙКРОСОФТ МИЛЛИОНЫ ЗАПЛАТИЛ ЗА ЭТОЙ ТЕХНОЛОГИЕЙ БУДУЩЕЕ ЧЕРЕЗ ПЯТЬ ЛЕТ ТОЛЬКО ХАМАРИН
Рандомный дебил прав. Xamarin это android API done right. После xamarin на java и убогий android studio больше не хочется даже смотреть.
Мне интересно знать откуда деформация сознания берётся, а не чем хороша эта тяжеловесная хуйня.
Если ты только вкатываешься - однозначно kotlin.
Если ты много лет писал на .net и не имеешь желания знакомиться с экосистемой JVM-языков - то xamarin вариант.
Зачем мне учить вьетнамский язык (kotlin) чтобы на нем пытаться говорить с индусами (android api), если я могу выучить английский (с#) и общаться не только с этим же самыми индусами, но еще и со всем компьютерным миром сразу.
Очевидно, я говорил только про мобильную разработку. Для общения со всем миром сразу есть Java, которая лежит рядом с kotlin. Ну и очевидно у неё охват больше C#.
Шарп хорош для бэкэндов из-за своих очевидных плюсов по типу удобства разработки, синтаксиса и пр.
Для специфичных областей вроде игр и мобилок есть варианты куда лучше, с которыми сложно тягаться.
Но на самом деле, ничего не мешает писать и на xamarin, просто это уж точно не самый идеальный вариант с абсолютной точки зрения.
>Для общения со всем миром сразу есть Java
Ну давай, попиши на джаве под иос и андроид одновременно
>откуда деформация сознания берётся
От двойного (по сравнению с разработкой на нативе) повреждения мозга после опыта разработки на Замарине.
Установил темплейты: dotnet new --install Microsoft.DotNet.Web.Spa.ProjectTemplates
Содал темплейт:dotnet new reactredux
Восстановил пакеты через npm install
Открываю проект в Visual Studio, запускаю, получаю ошибки:
Microsoft.AspNetCore.NodeServices:Error: events.js:183
[41m[30mfail[39m[22m[49m: Microsoft.AspNetCore.NodeServices[0]
events.js:183
Microsoft.AspNetCore.NodeServices:Error: throw er; // Unhandled 'error' event
[41m[30mfail[39m[22m[49m: Microsoft.AspNetCore.NodeServices[0]
throw er; // Unhandled 'error' event
[41m[30mfail[39m[22m[49m: Microsoft.AspNetCore.NodeServices[0]
Microsoft.AspNetCore.NodeServices:Error: ^
^
[41m[30mfail[39m[22m[49m: Microsoft.AspNetCore.NodeServices[0]
Error: getaddrinfo ENOTFOUND localhost
Microsoft.AspNetCore.NodeServices:Error: Error: getaddrinfo ENOTFOUND localhost
[41m[30mfail[39m[22m[49m: Microsoft.AspNetCore.NodeServices[0]
at errnoException (dns.js:50:10)
Microsoft.AspNetCore.NodeServices:Error: at errnoException (dns.js:50:10)
Microsoft.AspNetCore.NodeServices:Error: at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)
[41m[30mfail[39m[22m[49m: Microsoft.AspNetCore.NodeServices[0]
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)
Забыл, работаю на MacOS и в Jetbrains Rider 2017.2 и в VS2017 одна и та же хуйня.
Почему-то темплейты для React в Jetbrains Rider 2017.1 EAM работали нормально (если не учитывать что мне пришлось поебаться и переписать конфиг для webpack)
Было бы неплохо уметь это делать + BDD
Можешь зарегаться на Codewars. Там тебе будут давать задачки урованя васянлаба с возрастающей сложностью.
Неплохо для практики и привычки к языку.
Правда весь сайт на английском.
Собираюсь угореть.
>Покажи-ка код, а то что-то не верится, что он реально работает при всех кейсах.
А при всех и не работает, только по 3м первым буквам сортирую. Хотя, можно было бы пихнуть в дабл но мне и так норм
public static float GetWeight(this string source)
{
float res = 0;
for (int i = 0; i < source.Length && i < 3; i++)
if (source != ' ')
// aware of overflowing
res += Mathf.Pow(3 - i, 10) * (char.ToUpper(source) - 64);
return res;
}
>Покажи-ка код, а то что-то не верится, что он реально работает при всех кейсах.
А при всех и не работает, только по 3м первым буквам сортирую. Хотя, можно было бы пихнуть в дабл но мне и так норм
public static float GetWeight(this string source)
{
float res = 0;
for (int i = 0; i < source.Length && i < 3; i++)
if (source != ' ')
// aware of overflowing
res += Mathf.Pow(3 - i, 10) * (char.ToUpper(source) - 64);
return res;
}
Console.Beep(4435, 1);
Я когда вкатывался достаточно было на ASP.NET MVC CRUD написать и базу данных подключить.
Формочку сделать чтоб можно было данные в базу данных заносить, изменять и удалять.
Типа такого
https://metanit.com/sharp/mvc5/17.2.php
C# - не жсопараша и код не устаревает за месяц. Инновативных способов пилить круды вряд ли завезли. Научись делать хоть что-то, а потом уже обмазывайся восьмым шарпом.
Сделай тоже самое .NET CORE используя.
Xamarin forms это попытка сделать так, чтобы можно было одновременно писать и под андроид и под айось. Есть хорошие вещи, вроде встроенного биндинга,но если тебе нужно что то сложнее типичной выводилки данных из сети, наебешься будь здоров.
Если прям вообще с нуля, то лучше ставь андроид студию и на котлине изучай как работает андроид приложение. Тебе быстрее будет.
Но Forms - это
>одновременно писать фронт и под андроид и под айось
Там есть поддержка нативных элементов интерфейса. А кодовая база при любом расклада будет одна плюс минус.
Там после source скобки квадратные с i. Абу съел из, вестимо [ i]
С внедрением через конструктор разобрался, но не получается внедрить инстанцию через свойство.
Что я делаю не так?
https://pastebin.com/tu5nNjmf
Это надо какие-то учебники по математике читать, чтобы понять?
А причем тут C#?
C# - синтакс и имплементация. Ты же говоришь об алгоритмах в общем смысле Computer Science.
просто тут зависит от того, что считать поведением по умолчанию. исторически в net по умолчанию является чтение и запись.
мне кажется что только чтение по умолчанию правильнее.
А это и есть пример из документации.
Есть некий метод B.wrap, через который я хочу вызывать любые методы, но вызывать их напрямую, не через лямбду?
Как мне сделать что-то вида
B.wrap(A.foobar, i);
?
Базово внутри B.wrap я буду рефлексией собирать некоторые данные с метода, потом инвокать его. Там как мне нужна рефлексия с метода, то я не могу кидать внутрь B.wrap делегат/Action.
Как я понимаю, я могу создавать Action и передавать туда данные о методе, включая передаваемые аргументы, а потом делать Invoke, но тогда у меня код разрастется. Я бы хотел иметь возможность написать это так, чтобы было не более двух строк кода на один вызов B.Wrap
Есть Xamarin.Android, Xamarin.iOS - это обертки вокруг родных API. Есть xamarin.forms - это что-то более кроссплатформенное.
Решил вкатитца с нуля.
до этого были только кресты и паскаль, лол.
Прочел около 200 страниц Шилдта. Решил хеллоуворлды пописать.
А мне компилятор через приложение хуярит говно - "имя "х" не существует в текущем контексте." - пикрелейтед.
Он пизданулся ? При том, что примеры я копировал с книги.
Шо за хуйня ?
можете обоссать
Проверь, что x это английская буква "x".
И поправь Console.Writeline:
Console.WriteLine("blah blah: {0}", x);
Старайся форматировать строки через sprintf like formatting
string.Format это тот самый sprintf
https://habrahabr.ru/sandbox/50805/
Насколько все плохо.
Заодно реквестирую какой нибудь материал по алгоритмам и структурам данных что бы не быть наборщиком текста.
На метаините вроде есть, но там нет деревьев. Нужны ли они?
Заранее прошу прощения если вопрос очень тупой.
Хуй тупой и быдло.
Изучать АСМ и С++ есть смысл если ты реально хочешь батрачить поргомером всю жизнь (основная профессия). Писать скрипты на Хуюнити тебе НАХУЙ не всралось и вообще вредно, ибо напрасная трата времени.
Ты больше читай всякую рендомную хуетус Хабра, такой же будешь долбоеб
>А если писать скрипты на Хуюнити, то первое тебе НАХУЙ не всралось и вообще вредно, ибо напрасная трата времени.
быстрофикс
Короче, и ты и афтор хуй.
sgfv34
>ReSharper - одно из известнейших статических анализаторов. Рефакторинги, умный автокомплит, настраиваемый стиль кода. Платный, но можно стянуть с торрентов. Для СПО-проектов компания раздаёт бесплатные лицензии.
Сап, програмоны. Не бейте, лучше обоссыте. Я полный нью и вообще нихуя не знаю... Ну, немного знаю вообще-то, но не так много, чтобы запилить вафлю, которую хочу. У меня ШIИDOШS 7. Со всеми встроенными тулзами. .NET стоит старый есессна и PowerShellISE. Дак вот... Мне нужно в ISE повершельный запихать автокомплит и подсветку сишарповского синтаксиса. Я из принципа не хочу студию ставить. Что-то так в лом сначала изучать, а потом только это пилить. Мне бы сначал запилить, а потом уже со всей этой штукой изучать нормально сишарп.
>>ReSharper - одно из известнейших статических анализаторов
НЕ НУЖНО
https://www.youtube.com/watch?v=zxAKyiQ1XiM
Нормально он все делает, главное за запросами следить, чтобы полбазы не запрашивал.
Хуйня какая-то, никто тебе не мешает заглянуть под капот или учить алгоритмизацию. Было бы желание.
Чем думаете? Взлетит?
*че
Типа мне не придётся ебаться жабаскриптом и писать фронт на человеческом языке?
а строгую типизацию завезут?
640x360, 2:16
Итак, занесла меня нелегкая в эти ваши шарпы. Нужен вопрос на мой ответ.
Есть одна вендовс форма, на ней есть куча методов дроченных и функций крученных.
https://pastebin.com/1585B0UK
Стринг foo надобно использовать в нескольких функциях, но вот незадача, он не сеттится нихуя таким образом, как сделал я. Можно было бы, конечно, ебануться наглухняк и прописать глобальные переменные в програм.кс (или где оно там прописывается), но что-то мне подказывает, что есть другой путь.
Поможите, что ли.
Парень, ты слишком крут для C#. С твоими талантами нужно обращаться сразу в python тред.
Нет, ну т.е. я, конечно, понимаю, что мне надо пассануть объект, но пока не разгугливал как это сделать.
Мертворожденная технология или можно писать под ведро хорошие приложения?
Там ведь WPF используется, да?
Я скачивал с торрента. Они обманули, говорили, что прога бесплатная, а она платная.
Зачем тогда на торрентах выкладывают эту "бесплатную" версию с кряком? Там тоже довены сидят?
Я просто помню что регистрировался, но не помню через месяц это было или рпаньше или позже.
А я думал, что за оригинал у картинки.
Крупнейший производитель программного обеспечения для работы с базами предупредил партнеров из России, что не сможет поставлять продукты для российских сланцевых и шельфовых проектов
Американская компания Oracle ограничила работу с российскими нефтяниками. Крупнейший производитель программного обеспечения (ПО) для работы с базами данных предупредил российских партнеров о соблюдении новых санкций США.
https://www.bfm.ru/news/376987
Вижу, ВИЖУУУУУУ, вижу вложение государственных денег в российское айти, и рост акций ABBYY.
Вкатывальщики, бегом работу с БД курить по всем фронтам. Жирное место в Газпроме можно получить.
Блядь, не тот тред.
Посоны. Напилил уже два приложения для дателя на .net 4.5 под WPF для внутреннего использования (Ну как сказать, дергают его клиенты, но в рамках сервиса, сами приложения - 1, такой-то альяс для того, чтобы оставить заявочку, соединяется с нашей БД и говнобиллингом через рест-апи, 2 - это софтина по обновлению нашего специфичного софта).
Работодателю нравится, мне нравится, и хотел бы я шарпами этими вашими дальше заниматься, но...
Я нихуя не знаю C#. Вообще. Все два приложения я писал в духе: "Хм, я вообще знаю как делалась эта хуйня на предыдущих опробованных скриптовых и не очень языках. Такс, окей гугл, как запилить красивые списочки на WPF? Что тут у нас, стэк оверфлоу, ну-ка на-ка, скопирую кодик, пиздато. А эта хуйня что делает? А вот эта хуйня что делает? Дай-ка читну официальную документацию. полушепотом Ухххх, бля! Хорошо пошло."
При этом я честно пытался начать читать книги самоучители, но всегда бросал на главах, где разжевывают основы, то есть мне не интересно читать базисную хуйню, но в глубине души понимаю, что я рожаю сплошной говнокод, это как приличная на вид машина с говном под капотом.
Если нет тяги к мутному чтению писанины, но есть тяга к написанию рабочей, но говнокодовой хуйни, лучше даже не пытаться стать погроммистом?
>Что тут у нас, стэк оверфлоу, ну-ка на-ка, скопирую кодик, пиздато. А эта хуйня что делает? А вот эта хуйня что делает?
С такими навыками можно получать тысячи долларов.
Дякую, взлетело
Я так понял WPF подходит только для статического дизайна приложения, а если я хочу динамически формировать элементы, то ничего у меня не выйдет.
Ты заебал. Элементы интерфейса такие же объекты как и все остальное и их можно создавать в рантайме и накидывать на форму. Только это очень довольно заебно, так как все это нужно нормально расположить плюс все биндинги и обработчики тоже придется в рантайме создавать.
В смысле? Это такие же объекты, ты можешь динамически изменять все их свойства. Скрыть хуйню, изменить хуйню, изменить стиль хуйни. Тип я вместо того, чтобы закрывать окна промежуточные в приложении, visability = collapsed ставлю.
>>35032
Ну хорош троллить. Я говорю про то, чтобы в конторе там работать, стать йоба-сишарпистом.
Хорошие нет. Технология дурная, но сделать что-то можно. Я два аппа запилил, настрадался.
Рекомендуют, ещё использовать какую-то фигню MVVM, но я толком не понял что это такое и как им пользоваться. В итоге решил сделать просто обработчик через двойной клик в конструкторе.
Программист 300к в секунду готов.
В WPF программист не контролирует процесс отрисовки, а просто говорит что и где нужно поменять.
С глюками рендера под иос, с вечно тормозящими штуками, с идиотским пейджнавигатором.
До иос еще не добрался. Но в планах есть. Делаю пока под андройд.
Раз всё так плохо, то какая альтернатива?
Не знаю. Я до этого на жаве писал под ведро, на этом и убедил потом остаться. Две версии разработал, короче. Под иос свифт вот изучаю и пишу.
Что лучше:
1. Делать куча классов, которые наследуются от класса А и менять в них эти параметры.
2. В конструкторе А добавить enum Type, который в зависимости от типа будет ставить нужные свойства.
Про наследование забудь сразу. Забудь что такая возможность существует в языке.
enum тоже ерунда какая-то.
Вообще не понятно что тебе нужно.
>Про наследование забудь сразу. Забудь что такая возможность существует в языке.
Тупой хуй.
Не слушай таких.
>Я нихуя не знаю C#. Вообще. Все два приложения я писал в духе: "Хм, я вообще знаю как делалась эта хуйня на предыдущих опробованных скриптовых и не очень языках. Такс, окей гугл, как запилить красивые списочки на WPF? Что тут у нас, стэк оверфлоу, ну-ка на-ка, скопирую кодик, пиздато. А эта хуйня что делает? А вот эта хуйня что делает? Дай-ка читну официальную документацию. полушепотом Ухххх, бля! Хорошо пошло."
Ты сейчас описал меня, только у меня ситуация чуть похуже. Я вообще не написал ничего серьезного за деньги, т.к. учил все подряд и веб, и мобайл, но спецом ни в чем не стал. Так сказать, знаю все понемногу, то есть нихуя. А очень нужно вкатиться, чтобы начать зарабатывать себе на хлеб. Но я в себе не уверен. Боюсь, что не справлюсь с настоящим проектом потому что хуй знает, как все устроено в "серьезном бизнесе" и подведу заказчика. Как вы начинали, аноны?
> боюсь подведу заказчика
Ты, блядь, ебанутый? Какого, нахуй, заказчика? Это так не работает. Ты сначада устраиваешься джуном, дорастаешь до мидла, а лучше даже до синьора, и только потом уходишь в фриланс или на удаленку подводить заказчиков. Нельзя просто так взять, и начать работать из дома.
Тоже проиграл с этого. Он наверное думает что ему там софт запуска ядерных ракет доверят написать и он опоздает на час дедлайна и все, миру пизда.
Что-то напомнило охуенную историю о программисте, который делал ревью софта для баллистической ракеты. Когда он обнаружил утечку памяти и предложил её исправить инженер сказал - всё нормально, мы просчитали, за время полёта ракеты ничего не случится, а дальше уже ультимативный сборщик мусора сделает своё дело, лол.
В глаза ебусь.
У меня тут небольшая проблема - возникла необходимость писать на шарпе, но я крайне плохо переношу студию. Решил попробовать Rider да-да, джетбрейнсодрочер, но не смог с ним совладать. Дело в том, что солюшен состоит из нескольких проектов. Проект, который надо собрать - Class Library, на остальные в принципе без разницы, но они с тонной ошибок и, естественно, не собираются. Можно, конечно, ПКМ про проекту -> Build Selected Projects, но этот Class Library - плагин для внешнего приложения, и его надо дебажить. Беда в том, что Rider даёт мне создать Run Configuration типа .NET Executable и даже выбрать внешнее приложение для запуска, но не даёт выбрать проект для сборки. Соответственно, он начинает билдить весь солюшен, натыкается на ошибки и на этом всё.
Можно ли как-нибудь сказать ему, чтобы билдил только один проект, или и дальше придётся жрать кактус-студию?
Неа, он командный. Может, как-нибудь можно пробросить студиевские билд-конфиги в "Before Launch" (пикрелейтед)?
Ну так-то я и так в ней работаю, просто хотелось перейти на более знакомый/удобный инструмент. Крайне умное автодополнение, более удобный дебаггер, куча утилит для рефакторинга, привычные хоткеи, адекватный гуй для гита, вот это всё.
Внезапно, разобрался.
Если кому-нибудь интересно: достаточно было нажать "Unload Project" для всех ненужных проектов. Даже после перезапуска райдера они остаются выгруженными. Чувствуется, конечно, как костыль, но работает.
Наследование - это очень специфическое средство для моделирования проблем с натуральной иера_рхией. Например, элементы интерфейса, узлы деревьев.
Если можно обойтись без наследования, то лучше его не использовать вообще.
Шишак сточил, особенно на Span<T> из 7.2
Проблема не в языке, а в том, что программисты накручивают всякое говно в коде.
Тут смотрел на ютубе всякие уроки по C#. И авторы вместо того, чтобы объяснить как можно проще материал, начинают накручивать в простые примеры всякие лябмды-хуямбды. Зато, блядь, всё по паттерну. 100500 классов абстракции, но когда нужно писать конечный код, там такая параша, что чёрт ногу сломит, чтобы его разобрать.
В общем, чем проще код для понимания, тем лучше.
И, кстати, книги The C# Player's Guide в переводе вообще не существует?
Знаний в математике нет - это собственно и смущает. Необходимы ли они?
Как много времени уходит на освоение материала на позицию джуна? За два года смогу дорасти и сдать тестовые задания на галеру?
>всякие лябмды-хуямбды.
>Зато, блядь, всё по паттерну
Ты какой-то хуйни насмотрелся, лямды-хуямды ничего общего с паттернами не имеют.
>Знаний в математике нет - это собственно и смущает. Необходимы ли они?
Если что-то более серьезное, нежели Hello World - да. Иначе скуксишься на первой же проблеме когда твоя поебень думает несколько секунд, а должна миллисекунды.
>Реально освоит C# с нуля, по материалам из шапки?
Реально, C# почти как скриптовый язык - в этом и прелесть высокоуровневого говна.
>За два года смогу дорасти и сдать тестовые задания на галеру?
При особо неистовом желании и талантах - за год.
Что учить по матиматике и в чем необходимо разбираться?
Кстати, Герберт Шилдт - C# 4.0. Полное руководство - 2011 - все еще актуальна?
>Кстати, Герберт Шилдт - C# 4.0. Полное руководство - 2011 - все еще актуальна?
Да, основы везде одинаковы.
Затем можешь проxесть John Skeet C# in Depth 1 и 2 издания, он там пробегается по всем нововведениям
Благодарю.
Вставлю свои три копейки про The C# Player's Guide. Осиливал его с полным отсутствием каких-либо знаний в программировании, зашло - неистово, очень подробно все разжевывается, после каждого топика идёт что-то уровня домашнего задания, которое очень помогает закрепить материал, решал все Try It Out, если встречались какие-либо проблемы, то обращался сначало к Шилдту+Yellow Book, далее шерстил по StackOverflow, но, всё-таки, лучше сначала посидеть над задачами пару часов, перечитать ещё раз топик и само условие задачи, а потом уже лезть, искать солюшены. Английский там несложный, есть какие-то термины, но от того, что их переведут тебе, как вложенный массив, вряд ли это будет более понятным, так что со словарем осиливать можно и даже нужно, параллельно записывая в файлик встретившиеся сложные / незнакомые слова.
Шилда пробовал, но это скорее огромный справочник, где много лишнего, на самом-то деле, слишком поверхностно, совсем неофиту будет трудно отсеять нужную информацию для усваивания, а что-то скипнуть, т.к. не ясно - что нужно, а что можно оставить на потом.
Можно, я так и начал учить, лол, тебе дают тз, и ты по ходу поступления задач, начинаешь говнокодить, по принципу лишь бы работало, и норм заказчик доволен
Дак я про то и говорю, что вместо того, чтобы сосредоточиться на основе материала, авторы пытаются писать какой-то "высокоэффективный" код, который не понятен новичкам.
Да и сами паттерны мне не нравятся. Это лишняя писанина и накручивание бесполезных конструкций.
пиздос, как эта пика похожа на муху
>Да и сами паттерны мне не нравятся. Это лишняя писанина и накручивание бесполезных конструкций.
А придется, или будешь со своим hello world снег убирать
> паттерны не нравятся
А давай вообще от ооп откажемся, пиши все внутри класса Program функциями
Ещё один паттернодаун загорелся и горит. Уже создал абстрактную фабрику фабрик синглтонов, индус хренов?
Учу шарп по- шилдту.
Вопрос таков.
Это нормально, что я запоминаю всё в ебанутой форме и стоит ли от этого как-то отвязываться ?
Всё в таком варианте - "эта хуйня туда, эта хуйня сюда, эта хуйня делает так и так".
Реально, но зачем, если есть cocos2d?
> На работе будет Visual Studio, как требуют, а дома редактор попроще.
Как тебя такого поехавшего на работу вообще взяли?
Читай плеерс гайд из шапки, потом уже шилдтом можешь обмазываться, с пониманием что, как и почему.
Сложно ли найти такой хостинг в интернете? Сколько я искал, то обычно везде только PHP.
Перегруженное говно.
Никогда не понимал смысла в веб-фреймворках.
Особенно теперь, когда дефолтом в вебе стали SPA на js-фреймворках.
asp.net НЕ НУЖЕН
У нас обычная лабораторная написать сервис/сайт, ДБ и т.п. А курсовая и диплом обязательно требовали теоретического исследования.
другой анон
Ну хуй знает, напиши какой-нибудь API
Вон, спизди большую часть кода SteamKit который API-фрйемворк для Steam и притворись, мол, сам изучил и написал.
Я итак понимаю, шо к чему. Просто, в ебанутой форме.
SPA НА ДЖАВАДРИСНЕ
@
ЗАГРУЖАЕТСЯ ПУСТАЯ СТРАНИЦА
@
НА СТРАНИЦЕ НАЧИНАЕТСЯ СВИСТОПЛЯСКА, ЭЛЕМЕНТЫ ПЕРЕСКАКИВАЮТ В РАЗНЫЕ СТОРОНЫ И МЕНЯЮТСЯ МЕСТАМИ
@
СКРИПТОФАЙЛОВ ПРИЛЕТЕЛО ПОЧТИ НА 100 МБ
Если у меня есть цикл for, а за ним сразу следует цикл if.
Я так понимаю, что методу будет передаваться ПЕРВОЕ значение цикла for ?
picrelated
Что не так?
на youtube и тысячах других популярных сайтов нет никакой свистопляски
Я имел в виду, при вызове этого метода извне, цикл будет выдавать ПЕРВОЕ значение i.
Потому что, при попытке сделать вот так : for (i = max/2; i >=2; i--)
Мне выдавал максимальный множитель двух чисел.
Ой блядь, я ебанат.
Имел в виду, что при попытке сделать вот так
for (int i = 2; i <= max/2; i++)
выдавало минимальный множитель двух чисел.
Например у меня есть такой код
public static bool operator ==(class1, class2) {
//Могу изменять
}
Почему я могу изменять в этом методе сравнения любой класс который пришел в качестве параметра? Когда запилят как в С++
public static bool operator==(const class1, const class2) {
//Нельзя менять ничего
}
Если после условие IF верное, то в консоль выведется первый вариант, который удовлетворяет этому условию ?
К примеру, общий множитель чисел 18 и 12.
Ответ же будет 2, если цикл инкрементируется. И 6, если цикл декрементируется. Я так понимаю, что выводится самый первый вариант, который удовлетворяет условию. Я прав или не ?
return прекращает текущий цикл и возвращает значение на scope выше.
Если вложенных циклов нет, то возвращает как результат метода. Короче, да.
int - ключевое слово C# (доступное везде, не нужно делать using System;), System.Int32 - тип. Они на самом деле не взаимозаменяемы в коде (у enum указать внутренний тип только int, но не System.Int32) - но дальше разницы между ними нет в использовании.
Однако если смотреть на исходники mscorlib, компилятор и рантайм - то тут возникает другая хуйня. System.Int32 - примитивный тип, то бишь тип о котором рантайм/компилятор знает без всяких библиотек - и в итоге в рантайме и в компиляторе торчат хаки, которые
а) позволяют в библиотеке держать код аналогичный пику - только для примитивных типов разрешено структурам содержать в себе поле своего же типа (у обычных же это вырождается в бесконечные структуры или структуры неизвестного размера - ошибка компиляции). Потому то у компилятора натурально под эти типы костыль запилен
б) компилятор непосредственно транслирует данных шарповый тип в рантаймовский I4 / int32 (CLR/IL), а Jit транслирует в это дело в int32_t и дальше по ассемблерной дорожке
Во время нажатия на кнопку я буду выходить из цикла.
Не напрягайся, скоро весна, снег убирать уже не нужно будет, с утра двор подмел - весь день свободен.
Спасибо за совет.
Ты ставишь на паузу главный поток программы. Делай отдельный тред и паузу там.
Пример
void main() {
Thread t1 = new Thread(HuiZalupa);
t1.Start();
}
void HuiZalupa() {
While(true) {
Console.WriteLine("Xui zalupa");
Thread.Sleep(100);
}
}
thanks bud
Привет, Гоша.
routeValues.Add($"{key}[{index}]",val);
которая очевидно нихуя не сработает, потому что будет запрос вида items[0]=1; items[1]=2; а должна быть всегда вида items=1;items=2 (что сделать не выйдет, ведь это словарь, и ключ должен быть уникальным)
Испытываю попаболь с первым логином в клиенте. Через дебаггер я вполне могу создать для себя код из смс/сообщения в телеге и сгенерировать session.dat, забив на логин на сто тыщ лет, но хотелось бы останавливать выполнение кода, до ввода корректного кода для логина. Кусок логина выглядит вот так:
if (!client.IsUserAuthorized())
{
var telephoneNumber = telephone;
var hash = await client.SendCodeRequestAsync(telephoneNumber); // Telephone number
string code = "1234"; // Code from SMS or Telegram
var user = await client.MakeAuthAsync(telephoneNumber, hash, code);
}
Поясните долбаебу, каким образом можно остановить выполнение кода до ввода code? Месейджбоксы не могут в ввод. Желательно брать код из textbox'а и кнопкой его менять, а после уже выполнять MakeAuthAsync.
Речь идет офк о винформах.
>Особенно теперь, когда дефолтом в вебе стали SPA на js-фреймворках.
>asp.net НЕ НУЖЕН
API ты на чём писать собрался?
1) Как сделать настройки сайта, что-бы их можно было менять в админ панели. Видел статью, там делали через таблицу(ид, ключ, значение)
в базе, и кучу интерфейсов классов хуясов. Может кто знает где найти примеры можно, или подскажет как лучше реализовать.
2) Как хранить файл на сервере, чтоб его мог скачать, админ? Если просто залить на сайт( в парку wwwroot), то его же любой по ссылке скачает, или можно тут как-то сделать?
>когда дефолтом в вебе стали SPA
Что несешь, болезный.
Ты куда будешь свой SPA пихать, на большинстве ресурсов, даун? Ты хоть понимаешь, что такое SPA? SPA - это Trello, Jira, Gmail, Google Docs, Photoshop Online и прочие приложения. При этом 90% веба, это не приложения, а контентные ресурсы. Ты видишь борды SPA? Хабры SPA? Даже Вконтакте не SPA, блядь.
1. Ебани какой-нибудь менеджер, или отдельный контроллер, который бы менял настройки сайта и навесь на него [Authorize("Admin")]
2. HttpHandler
Есть библа чтобы графики строить, а эксельфайл это просто хмл. Но для него тоже библа есть. Гуглить пробовал?
Не понимаю вопроса. Чем не вариант в form_load ебануть проверку на наличие сессии, если нет - вызов функции для ожидания логина(можешь отдельную форму через showdialog вызвать), если есть - вызов функции для авторизации по сессии?
Вот это мне и не нравится в современном программировании, что всё сводится к поиску готовых библиотек и нет места для творчества.
Так не ищи, а натвори сам. Кто мешает?
Пиши на С в свободное время. Так и делаю. На РАБоте пердолю шарп, дома сишечку-писечку. Все своими руками.
Ты хоть примерно представляешь сколько ты будешь писать свою реализацию парсера эксель-файлов?
К тому же неясно какие графики интересуют. Родные, встроенные в эксель? Или в виде картинки?
Это все уже сделано. Однако, если session.dat отсутствует, то он начинает пробегать по коду логина, в процессе отправляя сообщение с кодом в телегу, однако мне нужно некое прерывание после отправки чтобы я смог ввести код ДО MakeAuthAsync (куда он собственно передается). Как-то сделал это в дебаггере с помощью брикпоинта вручную ввел, сгенерился session.dat и я забил хуй, но сессия не вечна, да и оставлять такой костыль очень не хочется (без дебаггера не залогинишься, охуенно).
Т.е. поясню
string code = "1234"; // Code from SMS or Telegram
вот эту хуйня изобретена укропами должна меняться и код после этой хуйни должен выполняться лишь после изменения этой хуйни.
Я слабо понимаю ситуацию, но может стоит ебануть этот код в поле ввода, существующее при первом логине? И логинить юзера если изменилось значение поля.
Програмач, можешь подсказать, годный ли вариант учить шарп, чтоб вкатиться в backend? Дохуя размышляю и выбираю между явой
Попробую разделить логин на 2 этапа, на первом буду проверять имеется ли сессия и если нет, то логинить через номер телефона, хэш. Это первый этап.
Второй этап будет происходить при нажатии button с рядом висящим textbox'ом, из которого и будет тянуться код, button естественно будет вызывать MakeAuthAsync. Осталось разделить это в рамках проекта, ибо вся работа с телегой была завернута в абстракцию.
Сам напиши, никаких проблем. Хмл парсить ума много не надо (надо только знать как ячейки кодировать для экселя). График рисуй сам через on_draw или что там в впф юзается. Другое дело что если тебе хочется сэкономить время - используй готовое решение.
Если прям совсем ньюфаг, то основы типа что такое цикл фор, можешь выучить на любом языке. На яве больше бизнес кода от серьёзных дядь,но по сути эти два языка как брат и сестра. (причём сестра старшая и запустившая себя, но вроде сменила фамилию на котлин и стала исправляться).
Да ему поебать должно быть, на обоих языках дохуя работы, а выбирать, куда вкатываться исходя из возможности дальнейшего переката тупо ящитаю, т.к. ему до первой вакансии джуном еще ебошить и ебошить.
Собственно спасибо за наводку, хотя ты написал немного о другом, но из-за тебя появилась идея. Все реализовал как должно быть в 2 этапа.
Как сегодня с разработкой на линуксе? Пробовал создать проект reactredux, но были ошибки в тайпскрипте, хотя в студии было нормально. Стало обидно и я разочаровался в Коде как иде.
Ну я не шарпист, я стремящийся. Сам-то я DevOps'ом работаю, ЗП у меня как у типичного .net-миддла.
Другое дело, что это околопотолок.
"Изучаем Asp.net core" в гугл вбей. Он прост как три копейки, я себе эмулятор тяжёлого апи за день сделал, не зная о с# ничего почти. Там всё(в технологии, не в гайде) за тебя по полочкам разложено, просто ебашь то что тебе нужно.
Второй на .NET Core - новой версии .NET, которая оффициально является кросспплатформенной и имеет чёткий список поддерживаемых на всех платформах API (список называется .NET Standard).
Сам запостил - сам себе отвечаю. Надо вместо StackPanel использовать Grid. Я до сих пор не могу осознать, что StackPanel - это нихуя не аналог div, и работает он по-другому.
Я знаю, что можно на торрентах взять студию. Тут проблема в том, что закрыт доступ к бесплатному софту из-за платного. Видимо у микрософтов продажи упали и решили надавить на них.
>>40384
Во-первых, при установки даже ярлык не создается. Во-вторых, при запуске выдаёт ошибку и автоматически открывается сайт, где надо купить студию. Так что всё уже продумано.
Классика треда
У меня установлена пиратская версия студии, но я хотел бы поставить MonoDevelop.
Я уже использовал 30-дневный срок. Там даже если удалить/установить, всё равно это сообщение остаётся.
Атутизм такой аутизм.. Как ты там живешь то вообще? В магазин ходишь? Шнурки сам завязываешь? Тебе полтреда говорят что студия бесплатная а ты споришь. Комьюнити идижн ставь
Прикрепи почту, идиот.
Как ты умудрился? Комьюнити версия бесплатная. Тебе хватит за глаза. Всяких пиздатых вещей типа умных юниттестгенераторов нету, но когда они тебе понадобятся, тебе начальник купит студию.
По MonoDevelop так никто и не подсказал.
Допустим у нас есть класс графа. У него есть логическое поле isDirected (ориентированный/неориентированный граф). Есть метод, добавляющий ребро Add(вершина1, вершина2).
Когда у нас ориентированный граф, просто добавляем ребро. Если неориентированный, добавляем 2 ребра (от вершины1 до вершины2 и от вершины2 до вершины1).
class Graph
{
readonly bool isDirected;
....
public void Add(int u, int v)
{
//тут код (4 строки) по добавлению ребра от u до v
if (!isDirected)
//тут код (4 строки) по добавлению ребра от v до u
}
}
Дублирующийся код (эти 4 строки) надо выносить в отдельные методы. И тут, сука, вопрос: как назвать этот метод?
----
Второй вопрос такой. У нас есть рекурсивный метод поиска в глубину (DepthFirstSearch(вершина)). Для данного метода нужен вспомогательный массив посещенных вершин при поиске, который будет изменяться. Как будет правильнее
class Graph
{
bool[] visited = new bool[xxx]; // объявляем массив как поле класса
public void DepthFirstSearch (int vertex)
{
//тело метода
}
}
----
или
class Graph
{
public void DepthFirstSearch (int vertex)
{
bool[] visited = new bool[xxx]; //объявляем массив как локальную переменную
DepthFirstSearch(vertex, visited); //передаем массив в перегруженный метод
}
void DepthFirstSearch (int vertex, bool[] visited)
{
//рекурсивно выполняем, что нам надо
}
}
Просто вспомогательный массив связан только с методом поиска в глубину, и никак не связан с самим классом. Правильно ли делать как в первом примере? А может всё это решается вообще по-другому?
Допустим у нас есть класс графа. У него есть логическое поле isDirected (ориентированный/неориентированный граф). Есть метод, добавляющий ребро Add(вершина1, вершина2).
Когда у нас ориентированный граф, просто добавляем ребро. Если неориентированный, добавляем 2 ребра (от вершины1 до вершины2 и от вершины2 до вершины1).
class Graph
{
readonly bool isDirected;
....
public void Add(int u, int v)
{
//тут код (4 строки) по добавлению ребра от u до v
if (!isDirected)
//тут код (4 строки) по добавлению ребра от v до u
}
}
Дублирующийся код (эти 4 строки) надо выносить в отдельные методы. И тут, сука, вопрос: как назвать этот метод?
----
Второй вопрос такой. У нас есть рекурсивный метод поиска в глубину (DepthFirstSearch(вершина)). Для данного метода нужен вспомогательный массив посещенных вершин при поиске, который будет изменяться. Как будет правильнее
class Graph
{
bool[] visited = new bool[xxx]; // объявляем массив как поле класса
public void DepthFirstSearch (int vertex)
{
//тело метода
}
}
----
или
class Graph
{
public void DepthFirstSearch (int vertex)
{
bool[] visited = new bool[xxx]; //объявляем массив как локальную переменную
DepthFirstSearch(vertex, visited); //передаем массив в перегруженный метод
}
void DepthFirstSearch (int vertex, bool[] visited)
{
//рекурсивно выполняем, что нам надо
}
}
Просто вспомогательный массив связан только с методом поиска в глубину, и никак не связан с самим классом. Правильно ли делать как в первом примере? А может всё это решается вообще по-другому?
Публичный метод AddRebro вызывает внутри себя приватный метод AddRebroBezMagii сколько угодно раз.
Если массив нужен только приватному методу, можешь вообще писать DepthFirstSearch (vertex, New bool[xxx]) ;
Начнем с того, что название метода Add - не очень удачное. В графе есть вершины и ребра, что именно добавляет Add - из названия непонятно, тем более, что вершины у тебя обозначены просто цифрами. Метод должен называться AddEdge либо ребра должны быть описаны в виде списка и метод Add должен вызываться именно для него, типа Graph.Edges.Add(Vertex u, Vertex v). Для вершин лучше завести свой тип (Vertex). С ним дальше будет проще.
Да, метод должен быть не void, а возвращать добавленное ребро.
Кстати, заранее подумай о том, что ребра могут иметь вес, добавь этот параметр.
Кроме того, ребра могут быть петлей.
Возможно, кстати, сделать добавление ребра одним из методов Vertex. Подумай.
Хорошо бы, конечно, увидеть эти 4 строчки, которыми ты добавляешь ребро.
В любом случае за один вызов метода ты создаешь ровно одно ребро.
Тут возвращаемся к самому графу. Есть графы ориентированные и неориентированные. У них много общего, но есть и различия. Можно попробовать вынести общее в базовый абстрактный класс с виртуальными методами (связь u с v), а для неор-графа просто дописать добавление связи v с u.
Что касается второго вопроса, то навскидку посещенные вершины лучше записывать в HashSet<Vertex>.
Не совсем понятно назначение DepthFirstSearch. Он ищет какую-то вершину начиная с указанной? Тогда почему у тебя в методе указывается только одна вершина. Напиши, что DepthFirstSearch должнен делать.
Модель ничего не должна знать про вью и вьюмодель.
В твоем случае обмен данными должен идти на уровне вьюмоделей. Способов реализации несколько.
Мне именно хуюнити нужно, была бы там нарративная поддержка крестов, проблемы бы не было.
Хуюните легче потому-что C# проще выучить на говноуровне, нежели ебатьсся с С++ 10 лет
А если ты знаешь с++ нахуй тебе хуетой страдать
Легче в смысле потребляемых ресурсов, и я учил С++ не 10 лет, а год. Что-то вижу я в тебе С++ культиста.
Приступаю к изучению вашего богоподобного языка. Аноны, подскажите, пожалуйста. У меня есть около полутора лет для изучения по вечерам от работы и в выходные. В перспективе хочу быть в вебе. Возможно ли обрасти таким опытом, не выходя на работу? Фриланса, как я понимаю, крайне крайне мало. Запилить проект самому?
Ещё я не могу поставить MSVS 2017, потому что у меня Windows 8 и она отказывается ставить. А все старые версии (2013 и 2015) эти гады сделали недоступными. Поэтому тут только один выход - пиратка.
>Легче в смысле потребляемых ресурсов
Да хуй там, что ГУ4 что Юнити - одна хрень.
В идеале, зная С++ приемлемо можно правильно заюзать УЕЧ и будет быстрее и легче юнити
>зная С++ приемлемо
Я хочу работать над проектом сейчас, а не через 7 лет. По этому придётся обмазываться решетом.
Хотя можно блевануть на всё и пойти пердолить OpenGL в течение тех же 7 лет...
Ну тогда хуячь юнити. Для сабжа и c# куча ресурсов на русском, английский не критичен
Опечатался про модель. Я имел ввиду во вьюмодели главного окна создавать вью модель и вью дочернего окна. Но это тоже не нормально же, что вьюмодель знает про вью дочернего окна. Может запилишь простой примерчик?
Вьюмодель даже про свои вью не знает.
Если тебе нужен всего лишь один текстбокс, то можешь просто показать его в диалоговом окошке и забиндить его на свойство основной модели.
А если в общем виде, то можно создать вспомогательную вьюмодель в основном вью в виде ресурса и при показе в диалоговом окне проставить ей ссылку на главную вьюмодель (приведя датаконтекст к определенному интерфейсу, например).
Пример сходу не запилю, но если ты скажешь какую библиотеку ты используешь, то попробую сделать.
Эти заглушки специально ставят, чтобы больше покупали. Думаешь им выгодно раздавать бесплатные версии?
Я делаю пока без библиотек, надо разобраться в основах.
>можешь просто показать его в диалоговом окошке и забиндить его на свойство основной модели
Пожалуй в моем случае это сработает, но если окно сложнее как быть. До меня не доходит откуда в главной модели брать инфу из дочерних, кто создаёт экземпляры вьюмодели и вью кто должен вызывать show.
> Думаешь им выгодно раздавать бесплатные версии?
Конечно, ведь репутационная выгода - тоже выгода. Заработаешь уважение у индюшат и опенсорсников - захватишь мир.
Да, им выгодно приучать начинающих пользоваться vs. Что бы vs была стандартом де факто и когда для разработки понадобятся продвинутые инструменты компании понесут сотни нефти в майкрософт за про версию.
Нид хелп. Мне 25, хочу всеми силами вкатиться к вам. Хуйня в том, что я работаю, времени на освоение и изучение 5/10/20 часов в неделю
Может ли быть успех в таком случае? Розовых очков нет, конечно, и 300кк не ожидаю
Могу оплатить годные курсы, ментора-с этим проблем нет
а еще вообще по ходу изучения языка, что стоит задрочить
Успех может быть, сам имею подобный опыт. Изучал C# ещё во времена его версии 3.0, по двум книгам на русском языке - Шилдт и Флёнов. Флёнов уже не актуален, там WinForms.
Вкатывался в сферу в 23 года, начинал в убогой гос-конторе, прорывался туда с девизом "готов работать за еду", сейчас 29 лет, делаю бэк-энд часть интернет-банка, сижу пишу код, пью кофе в гламурном бизнес-центре за парой мониторов, подкатываю к тестировщицам, зарплатка выше средней, но не over300k, в целом доволен, считаю, что было "тяжело в учении" - а сейчас "легко в бою".
Касательно курсов ничего не могу сказать, имею субективное мнение - не надо верить в то, что можно обмануть мозг и выучить программирование даже на с использлванием одного конкретного языка за пару месяцев просомтра видосов, лучше эти два месяца по вечерам вникать в базовые вещи и максимально осознать, что же такое ООП. Бери того же Шилдта и от корки до корки все проходи, всю практику делай.
Менторов не бывает никаких, пока на работу не устроишься.
А так-то вот ещё успех зависит от той мухосрани, в которой угораздило родиться. Я в Екатеринбурге живу, тут работы в it как говна.
> обязательно
Базовые языковые принципы и фичи языка, не фреймворки типа ASP .NET MVC, или Xamarin, а классы, объекты, делегаты, лямбды и тд - короче всё то, что можно использовать в простом консольном приложении, без привязки к том, сайт это, или мобилка.
> десктопных
WPF, но вкладываться в него не надо, т.к. ниша узкая, злой энтерпрайз, инхаус. Надо будет, выучишь. Для десктопа нынче платформа .net не может предложить ничего кроссплатформерного. Windows Forms уже устарела, ну для тренировки можно, там порог вхождения низкий и результат видно сразу.
> мобильных
Xamarin
>Для десктопа нынче платформа .net не может предложить ничего кроссплатформерного.
А что другие предлагают?
Спасибо
Живу в дс
нужно, чтобы через год-полтора выстрелило и смог влезть джуном или мидлом (дада, я охуел!)
То есть, минюшка.
Переключение между формами той или иной таблицы.
И всякое такое.
Создается несколько xaml?
Пытаюсь нагуглить переключение между формами, а натыкаюсь на описанияд ля винформс.
Поясните как оно вообще устроенно в wpf.
Правильно ли я понял что те же самые принципы используются для разработки на замарине, и паттерн MVVM?
>или мидлом
фантазер
>>41296
Короче епта, делается вся эта хуйня через юзерконтролы. Свои формы раскидываешь в юзерконтролы, а в главную форму добавляешь ContentControl. У ContentControl биндишь Content к текущей вьюмоделе и прописываешь DataTemplate для этой вьюмоделе, куда подставляешь ее юзерконтрол.
спасибо анон
У меня абсолютно примитивная страница на которую я хочу запихать fullcalendar. Я на самой странице хочу объявить ему урл для ивентов и делаю это через
[CODE]<script type="text/javascript">
SuperProject.Administration.UpdateDayUrl = '@Url.Action("GetDays", "Calendar")';
</script>
@Scripts.Render("~/bundles/js/app/Administration/SystemSettings/Calendar/Index")
[/CODE]
где собственно содержимое этого жса в бандле это
$(document).ready в котором я пытаюсь для календаря определить урл ивентов как events: SuperProject.Administration.UpdateDayUrl, и ничего не работает. Если я код выше перепишу через блок <script> без указания и использую что-то вроде var events = '@Url.Action("GetDays", "Calendar")'; то все работает.
Я не понимаю почему. В других даже совершенно примитивных местах кода нашего проекта все работает как я пытался повторить.
Казалось бы, причем тут razor engine.
Думаю, что в ДС вообще без проблем, у нас тут в Екб всё в десять раз хуёвее и мельче, чем у вас, и то работы куча. В вашей ультра-помойке, через пол года при регулярных занятиях сможешь залезть кодо-макакой куда-нибудь.
>> или мидлом
Маловероятно, и не потому, что в принципе невозможно и законом запрещено, а потому, что надо обладать высокими задатками, очень хорошим техническим и алгоритмическим умом, сомневаюсь, что если ты не средне-обычный васянтипа меня lol, то до сих пор работаешьохранником в пятерочкене в it.
>> Правильно ли я понял что те же самые принципы используются для разработки на замарине, и паттерн MVVM?
Да, если говорить о Xamarin for Andriod и Xamarin Forms, то там MVVM-паттерн. Для Xamarin IOS не совсем так, есть что-то от WinForms.
>> Переключение между формами той или иной таблицы
Не понял, напиши подробнее.
Щас в тренде JS. На мой вкус довольно отвратительное дерьмецо, но так или иначе... Electron - по сути Хром, внутри которого жестко запущено одно-единственное web-приложение - твое. Плюс некоторые допы, которых нет в чистом фронт-энде. Типа сохранение файлов на жесткий диск пользователя, буфер обмена и т.д.
А если шире смотреть - то сейчас десктоп вообще не в моде, всё максимально в браузерах/облаках, оттого и есть уродцы тип Electron.
.net и C# в ближайшее время - это server-side и мобильные приложения.
>подробнее
Ну кароче вот у меня таблицы работадателей, соискателей и вакансий.
Под заполнение каждйо из них нужны отдельные формочки.
В винфорс это решалось контекстное менб на солюшене -add - form. И вызывалась прямо из кода.
Как оно в WPF устроенно ведь это блядь не шаблоны из систем32, а целый движок нахуй который на диретиксе работает.
Сначала закралось подозрение что тут одна форма. но она перерисовывается под разные нужды.
Там уже десять формочек не наклепаешь.
Еще вот например открываю баттл.нет, который на WPF походу написан, а там одна формочка, и переключение между вкладками старик оверватч, вов итд.
Вкладка общение, лига, хуига, настройки.
>>41331
Спасибо. А вот если я использую паттерн MVVM, мне понадобится несколько View-Module? Или все связи в одном писать?
Есть она игра. В ней есть мои хп. Я научился их вытягивать из игры. И мне удается написать консольное приложение, которое пишет в консоль, когда у меня, например, меньше 10 хп, какую нибудь хуйню
А как мне имитировать нажатие клавиши?
Т.е:
хп опускается ниже 10
прожимаетс кнопка R
а на кнопке R у меня соответсвенно хилка
В инетах нашел только про всякие SendKey, но я так понял это только лишь для Windows Form, а у меня консолька
Выручайте
Можно подробней?
Спасибо
Хз- не тупой вроде, работаю системным аналитиком
Ясен пень, я говорю, что не черещ месяц. Минимум года полтора
Тебе в сторону Windows API, и к стати, на C# такие штуки писать не очень перспективно, если ты изучаешь с прицелом на "вкотиться в ойти", т.к. C# и .Net - это не про системное программирование, не про трояны и клавиатурные перехватчики или взламывальщики других программ. C# - это про server side, раньше чисто под кровавый энетрпрайз, а сейчас и под Linux.
Ковырять адресное пространство других программ - это на C/C++, писать ботов для онлайн игрулек - это Python.
Да я не хочу вкатываться в айти и сейчас менять язык.
Просто уже почти все готово, осталось только имитацию нажатий прикрутить. Еще кстати пробовал через AutoHotKey, но почему то при создании ссылки на AutoHotkey.dll у меня ошибка manifest чето там
В сисярпе посредством p/invoke можно дергать winapi функции
Поищи в интернете send key/ imitate key press
Скорее всего, вот: http://pinvoke.net/default.aspx/user32.keybd_event
осталось лишь найти код клавиши R, но эта инфа должна быть на MSDN
Под каждую вьюшку своя вьюмодель.Обычно делают одну MainViewModel и в ней одна/несколько дочерних вьюмоеделей в проперти.
Это называется сэмпл код?...
C# Sample Code
// Sends ENTER button press event in focused window
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Threading;
namespace PInvoke_DllImport_Cs
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
const byte VK_RETURN = 0x0D;
const uint KEYEVENTF_KEYUP = 0x0002;
[DllImport("user32.dll")]
private static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo);
private void timer1_Tick(System.Object sender, System.EventArgs e)
{
keybd_event(VK_RETURN, 0, 0, 0);
Thread.Sleep(100);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
}
}
}
Это называется сэмпл код?...
C# Sample Code
// Sends ENTER button press event in focused window
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Threading;
namespace PInvoke_DllImport_Cs
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
const byte VK_RETURN = 0x0D;
const uint KEYEVENTF_KEYUP = 0x0002;
[DllImport("user32.dll")]
private static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo);
private void timer1_Tick(System.Object sender, System.EventArgs e)
{
keybd_event(VK_RETURN, 0, 0, 0);
Thread.Sleep(100);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
}
}
}
Немного оффтопа, для backend и энтерпрайз-шарп годнота? ах да, хочу угореть по unity
Конечно годнота, самое то. На работе начали проект, сраду деплоим под Linux в Docker-контейнере, полот нормальный.
По unity естественно да, тоже подходит, недавно заглядывал на их сайт, там миллион материала, даже чё-то на русском было типа квикстарта.
В переменной "a" 5 остаётся же. Причём если вместо ссылки на переменную подставить просто 1.01, всё работает корректно, т.е. а = 6.
Вот и моя ничего не понимать. Это конечно не проблема, просто интересно почему так происходит. Первый раз такое вижу.
Короче по ссылке на бонус не 1.01 лежит, а чуть меньше походу. Если округление использовать то всё нормально работает. Странно вообще что студия при наведении на присваивание пишет не тот результат, который будет.
>Короче по ссылке на бонус не 1.01 лежит, а чуть меньше походу.
Ну так не используй float дубина, float imprecision давно известный факт.
Юзай decimal
Спасибо за совет, анончик
Смотри сам, но гит штука полезная.
SignalR посмори, правда там требуется с обеих сторон реализация, а если без неё, то для .net есть класс.
https://msdn.microsoft.com/ru-ru/library/system.net.websockets.clientwebsocket(v=vs.110).aspx
https://developer.mozilla.org/ru/docs/WebSockets
Нет. Git это вспомогательная технология, нужно осваивать язык программирования, а всякая хуйня типа гита сама нарастет при необходиомсти.
Не стоит, можешь здесь за 10 минут интерактивное обучение пройти, чтобы понять основы
https://try.github.io/levels/1/challenges/1
Стоит начать изучать, когда начнешь пилить первый нормальный проект, сразу поймешь прелести гита.
зачем тебе это?
Учусь в шараге, 2 курс. Во втором семестре начали изучать С шарп и ООП. По итогу, на сейчас, знаю синтаксис базовый, немного ООП.
Подскажите что надо учить, чтобы можно было искать работу. Ну вот конкретно, что зная, можно идти на собседование и не тратить свое и чужое время.
Типы стандартной библиотеки, ООП, работа с файлами, Linq (linq to object), TPL, WPF | ASP.net mvc, sql, entity framework
Ещё чтобы изучил интерфейсы и понимал как работает память, иначе будет как наш студент делать копии объекта и ломать оригинал.
this.Invoke(new EventHandler(DisplayData_Event));
в WPF я пишу
this.Dispatcher.Invoke(new EventHandler(DisplayData_Event));
В результате, когда в проге доходит до этой строки, выкидывает и пишет "The application is in break mode".
Как решить эту проблему?
Но работать все равно придется с чем-то из этого.
> > ООП
> а какой уровень понимания и знания нужен?
Классы, структуры, их отличия, виртуальные методы, абстрактные классы, интерфейсы, перегрузка методов, конструкторы (неявные вызовы base(), this())
> >работа с файлами
> а это что значит?
Потоковая запись/чтение, открытие/закрытие файлов. Классы File, Directory.
Я другой анон, но спрошу, сколько времени уйдет на погружение в это до позиции джуна? Если непрерывно? хватит 9 месяцев?
А если, скажем, я вот знаю все это на уровне сделанной лабораторной по каждой теме. Этого же будет недостаточно? Ну т.е. надо наверное чтобы от зубов отскакивало, да?
Зайди на гитхаб и изучай любой проект на сишарпе.
через примерно 40-50 минут начинает сильно тормозить курсор на пк, и по нарастающей тормозит больше и больше, через полтора часа курсор уже почтине управляем
при этом загрузка цп в норме, и утечек памяти нету, другие приложения не тормозят
и через час/другой в итоге приложение просто падает
есть идеи что не так?
картинку после каждого цикла освобождаю через .Dispose()
пробовал в конце каждого цикла призывать сборщик мусора, не помогло
А какого уровня проекты не стыдно будет показать на собеседовании? Можно пару примеров?
я знаю, что оно не особо дружит с наследованием, но если наследование в рамках одной таблицы то должно работать же.
есть класс назовем его Contact родитель и от него 2 наследника(допустим phone и email), они пронаследованы, замаппены на одну табличку, inheritance mapping прописан, discriminator тоже.
есть другая сущность (допустим employee) связанная по внешнему ключу.
я в классе employee делаю ссылку на контакт через entityref<contact>. атрибут ассоциации задан. и вот тут на создании записи все падает.
Недопустимое сопоставление ассоциации для члена "phone". "contact" не является объектом.
Invalid association mapping for member 'Member.X'. 'Y' is not an entity.
при этом если например в классе employee указываю явно phone - то все работает.
ЧЯДНТ? или linq to sql не может в то, что я хочу?
PS классы уменя называются по-другому я для примера такую структуру привел, суть та же.
только что закрыл приложение и мониторил видеопамять (в GPU-z) - значение видеопамяти не поменялось
в processhacker'e потребление видеопамяти/гпу - везде 0%
само приложение за час/полтора в ширь не растет ни по оперативке, ни по потреблению цпу
весь функционал сводиться к тому что оно
1. делает скриншот области
2. ищет пиксели
3. если находит то в ListBox сообщит об этом
и всё это в цикле по таймеру
уже сутки бьюсь никак не могу понять почему через час оно начинает фризить мышь до не юзабельности, при этом не нагружая пк
Буфер помирает?
Профайли приложение, смотри где у тебя время увеличивается. В пиратке про студии должен быть профайлер.
разобрался сам
была локальная переменная, которую сборщик почему то не убивал, за счет чего и подарил мне мозгоебства на сутки
возможно в коде было какое то рукожопство но код функции не мой, а сделать так что бы угодить сборщику и он заработал я пока что не могу ввиду недостатка знаний
после принудительного освобождения переменной в конце функции - работает идеально уже час,а большего мне пока и не надо
>>42690
>>42688
29lvl скилл 6 лет
Хватит пары месяцев регулярных занятий, и я бы сказал так - открыть содержание книги Шилдта - https://www.ozon.ru/context/detail/id/5532458, затем рваться к победе по этому содержанию.
Там самая база, без фреймворков (MVC, EF, WPF), но систему не наебешь, все, что там есть, пригодится и легко может стать вопросом на собеседке.
Про лабы - это полезно, и если все лабы сделаны и хорошо поняты, то для джуна уже что-то, но я бы всё-таки дрочнул Шилдта.
Касательно прикладных технологий опять MVC, EF, WPF - не сталкивался с тем, что от голого джуна требуют знания этих вещей, хватит хотя бы теоретического ознакомлениягалопом по европам на сайте типа метанита, если инглишем не владеете.
>> Ну вот конкретно, что зная, можно идти на собседование и не тратить свое и чужое время
Хех, трать время, рвись на собеседования, на них сразу много поймешь, что надо подтянуть, а чего хватит.
В свое время задавался тем же вопросом, когда не имел опыта реальной работы и толком нифига не нашел. В итоге, когда вкатился в отрасль, всё пришло со временем.
По работе ковыряю исходник вот этого - https://github.com/IdentityServer/IdentityServer4 - и там хороший чистый и простой код, может поможет...
Сам никогда не считал наличие "своих" проектов необходимостью.
.net это не совсем та отрасль, это не php/js, это всё-таки пока что больше энтерпрайз, а какой может быть у новичка "свой" энтерпрайз-проект? Крестики-нолики, чудо-программа на ADO.net, записывающая в SQL?
Не еби себе мозги за это, изучай язык, пиши те же крестики-нолики для себя.
Да, встроенная ASP net idenity Core норм, всё есть, существуют сторонние штуки для различных authentication flow, но встроенного Idenity хватит для вкатывания.
Почему бы и не пилить проекты на шарпе, собственно? Из реальный минусов, которые я вижу - это отсутствие поддержки работы с GPU, ну и ебля с интеропом по случаю. В остальном - нормальный язык, встроенные инструменты практически для всего и халявный хостинг на ажуре.
Не тот анон, у которого текла память
Освобождение неуправляемых ресурсов через IDisposable? Закрытие DbConnection, освобождение дескриптора файла?
Идти циклом for по массиву, только приращение счетчика делать не как всегда i++, а i+=8
В теле цикла брать по восемь элементов, исходя из текущего значения счетчика.
В теле не забыть проверять, что не выскочим за пределы массива.
Вот такое уродство сделал. Можно ли назвать это приемлемым?
Ну или как получше будет сделать?
https://ideone.com/M9jMjq
Как угодно, using это синтаксический сахар для Dispose(). Для переменной, которая "держит" какой-либо неуправляемый ресурс, нужно использоваться что-то одно.
Я уточнить просто хотел, у меня формального обучения языку не было, надёргал из книг/mvc/wpf хуйни, может не знал чего.
Почитай базу по C#, тут выше Шилдта советовали, соглашаюсь, что годнота, все необходимое в наличии.
У меня пока c# programming language 6.0 за плечами, сейчас MVC Фримена читаю.
Вот такое нужно думаю
https://github.com/BitMEX/api-connectors/tree/master/official-ws/nodejs/lib
Ну вот на SO примерный код - https://stackoverflow.com/questions/38917094/using-c-sharp-clientwebsocket-with-streams, там первый ответ посмотри, где про десериализацию из байтового потока сказано. Для JSON сериализаторы в шарпе тоже есть. Потом пиздуй сюда https://www.bitmex.com/app/wsAPI#Subscriptions и бери что тебе нужно.
Скорей отсасываю, но пока в плюс, высиживал с 100$ 1к целый месяц, и порвался за два дня, сука
А это правда, что в реальной работе используют только типы int, double, long и все? Для работы с числами?
вообще ещё decimal - в том числе и для вычислений связанных с деньгами. Если у тебя какие-то супер-вычисления, то могут быть OCHE длинные int и float с очень OCHE высокой точностью. Но это удел академии.
На момент вката, на каком уровне были твои знания? Вот что ты мог и умел? Ну в обших чертах.
Пока все что придумал это брать по 1й строке из массива и поочереди сравнивать с каждым элементом джейсона. Это нормальное решение или я мудак, и есть другие способы?
>Нужно соотнести строки из массива со строками из джейсона.
А как проверка происходит? Ты банально срваниваешь string_from_array.Equals(string_from_json)? Или ты все слова строки проверяешь? Или по регексу совпадения на маску?
Десериализауй JSON и ебани к получившемуся массиву запрос на LINQ. Ну или в лоб, да, сравнивать по-одному.
А вот тут уже надо на контекст смотреть.
Если некритично к скорости - лучше LINQ, код понятней и читабельней будет.
>ускорение на 20 мс.
По средним показателям там в разы идет счет.
Если у тебя без LINQ занимает 1мс - то будет 20мс с LINQ
А если 1 секунду? То-то же.
Ну, ставь линк там, где нет требований в скорости.
Если требования в скорости, то вообще на сишке кодь
Множественное наследование в C# невозможно, как факт.
Можно эмулировать нечто похожее,через абстрактные классы и интерфейсы, но реальное multiple inheritance как в С++ - невозможно
Не, у меня вопрос почему его не сделали при проектировании языка? Это же логично. Например класс студент и класс пидор. Делаем наследуемый класс студент-пидор.
Короткий ответ: в душе не ебу
Длинный: https://stackoverflow.com/questions/178333/multiple-inheritance-in-c-sharp
Тоже подойдет, варианты же разные есть, языку 10+ лет, всякие есть пути решения.
Да, если не кратно 4-м, будет OutOfRange, но это анону придется победить самому, или как минимум предложить свой нерабочий вариант, если совсем не получится.
За время работы чаще всего - int, decimal, double.
decimal полюбому надо, если нужно считать деньги, т.к. проблема в двоичной математике, по правилам которой работают числовые типы. Двоичная система совсем не то же самое, что десятичная, а в decimal копеечки считаются без потерь)
Правда. Я даже не помню когда последний раз использовал float или byte.
Прочитанную и полностью освоенную на практикекроме делегатов, я в них тогда не въехал толком книгу Шилда и курс по WinForms.
Из практики - несколько консольных и WinForm утилиток, в которых было IO (что-то типа чистильщика приватных данных, куки, история браузеров, убийца CCleaner в общем), работа с реестром (менял настройки Download Master, которых не было в его GUI), отправка почты, взаимодействме с Word-Excel (прога считывала из эксель-файла e-mail`ы и по ним делала рассылку, убийца MailChimp`а), чуть-чуть с сетью (TcpListener, TcpClient - запилить свой чатик - мечта блеать).
Очевидно, что всё это барахло было только на моем HDD, хотя "CCleaner" начал неплохо заходить, после того, как я переделал его в консольную утилиту, которая не удаляла куки и историю из браузеров, а отправляла её мне на почту или сохраняла на флешку, с которой запускалась мноюБггг.
Проверять нужно по всем словам строки. Поэтому собственно и спрашиваю. Регулярки сразу откинул, ибо не подходят, так как точное вхождение всей строки нужно
>>43533
Щито поделать, родной
>>43560
>ускорение на 20 мс
This. Мне скорость нужна. Там по 100-150 строк по джейсону из 1-2к позиций каждую секунду лопать надо
В целом то всем спасибо. Буду просто строки сравнивать с каждым элементом джейсона
Есть класс программ, где узкое место это рачеты в памяти, либо расчеты на CPU/GPU, есть класс программ, где узкое место это сетевой лаг, или лаг от ожидания данных из базы.
Высокоуровневый язык, очевидно, лучше применять для второго случая, а для первого язык среднего уровня (C/C++)
А, ну и третий класс программ - лабораторыне работы, где вообще пох)
И обычно сразу понятно, какой класс программ у тебя. Если это CRM с кучей данных, то там вообще не важно, как быстро работает код - БД будет гарантированно медленней.
Вопросы скорости выполнения хорошо обсуждать и изучать с точки зрения понимания работы языковых конструкций, реально беспооиться за скорость - это не к нам, это к ребятам из треда по плюсам)
И кем ты устроился? На какую зп? Какой бэкграунд был? Ну там краснодипломник МФТИ и прочее.
>бесконечный цикл
>каждые 5 секунд
Чо, через каждые 5 секунд новый?
12 циклов через 60 секунд в одну харю?
100500 через час?
Как ты вообще себе это представляешь?
Решил стать программистом С#, так как использовал этот язык когда делал поделки в Unity.
Решил изучать по лекциям https://ulearn.me/ из фага. Когда-то давно я изучал c# на сайте, где инфа преподносилась схожим образом. Боюсь что мне не хватит мотивации просмотреть все лекции до конца. Может что-то не очень нужно или есть какой-то способ поддерживать мотивацию?
Если я пройду вот эти курсы:
>Основы программирования на примере C#. Часть 1
>Основы программирования на примере C#. Часть 2
>Проектирование на языке C#
>Практикум по языку запросов LINQ
то я могу рассчитывать что меня возьмут работать за жрат? Или мне не нужно учить все из списка чтобы устроится программистом на работу(если да, то что обязательно к изучению)?
>>44342 -кун
Ты их смотрел? Какая альтернатива? Тут хотя бы есть куча заданий, при решении которых должно возникать ощущение что ты действительно что-то знаешь и идешь в правильном направлении.
Не смотрел. Я сужу по себе и знакомым, которые на всякие курсы ходили и мечтали зарабатывать папиццот. Если у тебя нету жадности до знаний и технологий, если у тебя не инженерный склад ума - это пустая трата времени.
Хуйня, как и любые другие курсы. Лучше читай книги и пили свои проекты, толку будет намного больше.
Я не знаю что пилить, как(не, ну могу простую демку в unity сделать), сколько времени и в каком количестве.
Мне нужна работа как можно быстрее, ибо я на мили и не студент.
Мне нужно быстро обучится до уровня чтобы меня брали на работу за жрат.
Короче, ты предлагаешь прочесть книжку, и после того как теория из нее войдет мне в голову я смогу получить нужную работу? Мне нужен критерий по которому я пойму что морально готов идти к работодателю.
И чем плохи эти курсы из твоего ОПпоста?
фреймворк, но без технологий, типа ASP.NET core.
Мне не перезванивали.
Почитал пачку учебников по аспу и все захотелось выкинуть сразу же из-за несвязанности глав и отсутствия практических задач, растягивающихся на весь курс.
Пацаны, пацкажыте, хочу годный учебник по ASP, который будет реально интересно читать\выполнять, а не пытаться переварить эту кучу несвязного говна.
В том что ты предлагаешь вариант где я ничего не добьюсь. Лучший вариант - это когда ты работаешь и одновременно учишься работать. Для этого нужны минимальные навыки для вката. Но я не знаю точно что это за минимальная планка. А когда очень много неопределнностей мотивация очень быстро угасает. Это психология, это знать надо!
>Лучший вариант - это когда ты работаешь и одновременно учишься работать.
Ты какой-то тугой.
Нахуй ты кому нужен со своим Hello World? Таких юнитидебилов, сделавших двигающуюся капсулу в "конструкторе Unity для младших классов" знаешь сколько?
В ближайший год тебе ничего не светит, посему, если на мели - не выебывайся, днем на завод, по вечерам хуячь матчасть на джуна. Через два года можешь залупаться.
Романтик.
Год без работы и денег изменит твое мнение.
Я вот даже со знаниями на джуна в своей мухосрани не могу устроиться.
Как определить что у меня знания джуна? У джуна же опыт должен быть хотя бы в пол года, нет?
Ты на какую зарплату был готов?
Может, дело в языке программирования?
>Как определить что у меня знания джуна?
Клиентское ПО написать можешь?
Общение наладить с БД через REST?
При всем это что бы по SOLID'у было написано для юниттестинга и чтоб у пот. коллег глаза не выдавливало на лоб?
Если да - тогда ты джун.
Уносите очередного в front-end тред.
И то и другое, коннекторы есть к обоим варианта, на Xamarin так же оба работают.
Вы видите копию треда, сохраненную 2 апреля 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.