Это копия, сохраненная 23 января 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.
Скачать VS2015: https://www.visualstudio.com/en-us/products/vs-2015-product-editions.aspx
Community версии будет достаточно в большинстве случаев: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополнений
Что почитать:
- Bart De Smet - C# 5.0 Unleashed
- Joseph Albahari и Ben Albahari - C# 5.0 in a Nutshell (на русском: C# 5.0, Справочник. Полное описание языка)
- Pro C# 5.0 and the .NET 4.5 Framework (Andrew Troelsen)
- Jon Skeet - C# in Depth (на русском: C# для профессионалов. Тонкости программирования)
- Jeffrey Richter - CLR via C# (на русском: Программирование на платформе Microsoft .NET Framework 4.5 на языке C#)
- Writing High Performance .NET Code (Ben Watson)
- Pro WPF 4.5 in C# (Matthew MacDonald)
- Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)
Что посмотреть:
- Programming with C# - https://www.edx.org/course/programming-c-microsoft-dev204x-0
- Beginning Game Programming with C# - https://www.coursera.org/course/gameprogramming
- C# Fundamentals: Development for Absolute Beginners - https://goo.gl/meyyxO
- https://nnm-club.me/forum/viewtopic.php?t=891636 - коллекция видеоуроков, по всему дотнетовскому.
Ресурсы:
- http://stackoverflow.com/questions/tagged/c%23
- http://www.tutorialspoint.com/csharp/
- http://professorweb.ru
- http://net-informations.com
- http://habrahabr.ru/hub/csharp/
Онлайн-компиляторы:
- http://ideone.com/
- https://dotnetfiddle.net/
- http://csstub.com
- http://www.tutorialspoint.com/compile_csharp_online.php
FAQ
Q: Что с IDE для других систем?
A: Самый юзабельный вариант - MonoDevelop ( http://www.monodevelop.com/download/ )
Для vim можно использовать OmniSharp ( https://github.com/OmniSharp/omnisharp-vim )
VS Code ( https://www.visualstudio.com/en-us/products/code-vs.aspx )
Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.
SharpDevelop - еще одна IDE для C#, отличается малым размером (около 20мб) и опциональной портабельностью, при этом имея дизайнер WinForms и WPF, а также интеграцию с FxCop, StyleCop и прочими.
Q: Пригоден для C# для мобильной разработки?
A: Да, можно выбрать в окне выбора компонентов студии при установке VS
Дополнительные инструменты для разработки на C#
LINQPad - сорт оф REPL, с возможностью быстрого подключения к БД и удобной визуализацией данных
dnSpy - декомпилятор, малоизвестный форк ILSpy, где реализована возможность модификации IL-кода прямо в EXE и DLL файлах, отладка IL-кода и много других фич для reverse engineering'а. Плюс няшные темы как в студии
dotPeek - бесплатный декомпилятор от JetBrains
scriptcs - для запуска C# кода как скриптов, возможность использовать как REPL
Обзор Roslyn: https://github.com/dotnet/roslyn/wiki/Roslyn%20Overview
Новые возможности C# 6.0: https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6
Код этой шапки: http://pastebin.com/raw.php?i=mUAJ6Ugz
Прошлый тред тонет здесь: https://2ch.hk/pr/res/582010.html (М)
Сам уже сто лет назад разобрался. Сишарп треды здесь не очень популярны, я смотрю.
По разному, не так давно в бамплимит за несколько дней ушел, а бывает и так.
Ну хуй знает, не лучше ли сосредоточиться на чём-то одном.
> вебпараша со всякими js.
Сейчас с трудом делаю свой говнопроект на mvc, основная проблема это js(фронтэнд), с бэкэндом проблем вообще не было. Все у меня выглядит очень стандартно(на бутстрапе).
Очень медленно, если смотреть как мало всего сделал за это время.
Начал можно сказать месяц назад, но начинал в основном с прохождения всяких туториалов и прочтения обучающих материалов. Потом забил на них и начал уже делать непосредственно, потому что времени только 2 месяца осталось. 90 процентов времени занимает гугление в духе "Как сделать чтобы вот так вот вышло". Что значит, что я нихуя толком не понимаю.
полгода так работаю :/
Харьков, позвали пару раз, после тестового задания, но на собеседовании сказали что у меня хуевая теория. А все потому что я разговариваю как аутист.
А, еще сходил в никсы на стажера тестироваться. Я как узнал что тест письменный на листочках сразу попросил проводить меня обратно до выхода там входная и пройти давали только по пропускам.
Я еще в бога не верю, так что точно аутист.
Программистишка совсем поехал. Дискриминация - это если бы ты был негром или геем.
А ЧЕМ ВЫ ЗАНИМАЛИСЬ ВСЕ ЭТО ВРЕМЯ?
У ВАС ЕСТЬ СВОИ САЙТЫ?
Каждое собеседование. Причем показываешь свои всратые сайты, так все ж насрать, йобу подавай.
У меня совершенно нет идей проекта, который был бы достаточен и крут для джуниора.
Какой сайтец можно запилить, чтобы удовлетворить техлида?
inb4 минет
Двощ.
Есть dll iTextSharp, есть прога на ней. Прога заполняет поля в pdf. Всё работает. Но нужно перенести на Windows App Store.
http://pastebin.com/nB17UCvv
И тут хрень полная. Создать пустой документ и его заполнить получается, а вот модифицировать никак. Возникает ошибка при создании ридера, мол уже используется процессом. Я поставил лок, но не помогло. И да, имя файла при его определении задавал как именем, так и полным путём.
Я пошарил по форумам и прочим, пишут, что поддержки вроде как нет, но сделать надо.
Ну я в Киеве живу, тут вроде с этим попроще.
И как исправить это?
http://habrahabr.ru/post/140495/
Convert.ToSbyte или как-то там.
Неудивительно, что карма в минус.
Count() же
Asp
rsdn, лол
Аутисту бомбануло
Ой, да иди нахуй, скопировал он. Прочитай для начала пару статей как это все работает, напиши сам, и не задавай глупых вопросов.
лее, я прочитал одну статью, еще в гугле книга вылезла и какие-то мутные статьи с msdn вообще без кода. Мне нужен именно сам код, библиотека с пояснением.
#НОРМАЛЬНО, а что?
$60 в месяц
Сегодня с утра получил сырники от мамки.
Куда писать код?
В комплюхтер.
VS2015. Окошко с моим консольным хеллоувордом успешно выводится и тут же пропадает. Как сделать, чтобы окно не пропадало.
Console.ReadLine() (или как-то так) в конце main
кнтрл+ф5 нажми
В нее прикручен прогресс-бар, как сделать его последовательное заполнение? Прикрутить еще одно событие в метод поиска?
test.Progress += () => progressbar.Dispatcher.Invoke(() =>
{
progressbar.Value++;
}
);
Написал с лямбда выражением и прикрутил событие, но заполняется совсем чуть-чуть и останавливается.
for (int i = 0; i < 10; i++) {
litters = Console.ReadKey().KeyChar;
Console.WriteLine($"i = {i}");
}
А можешь и так, чтобы все охуели
new char[10].Select(_ => Console.ReadKey().KeyChar).ToArray()
шучу, никогда так не делай
Xamarin освоить?
Дайте совет.
У меня есть wpf приложение и полсотни классов к нему. Как это все скомпоновать по решениям/проектам, чтобы работать было удобно?
Выносить классы в dll, или держать все в wpf проекте? Делать все в одном solution, или для каждого бинарника - отдельный solution?
Тащемта попробовал все классы раскидать в десяток разных dll со своим solution для каждого. Получилась ерунда полная.
Во-первых, зависимости напрягают (перетащил проекты dll в новую папку - в главном проекте они потерялись, пичальбида).
Во-вторых, для работы с dll приходится открывать несколько vs и делать несколько компиляций.
В-третьих, просто бесит куча клонированных dll в bin директориях. Я хочу развертывать программу копированием одного .exe файлика.
Изначально, когда все было в одном проекте - терялся в классах. Их очень много и хер вспомнишь какой что делает. Стараюсь ебашить ООП, давать понятные названия, но как-то плохо получается. Пока 5 классов в программе - все легко и просто. А когда больше становится - начинаю тупить.
>Во-вторых, для работы с dll приходится открывать несколько vs и делать несколько компиляций.
Ты делаешь это неправильно. Нужен один солюшен в котором несколько проектов с зависимостями друг от друга. Будет конпеляция всего этого добра в одни клик.
>Их очень много и хер вспомнишь какой что делает.
Незнаю мне подкаталогов хватает. В них запихиваю похожие классы или решающие какую-либо задачу целиком.
>Есть ли спрос и деньги в этой области?
hh, фильтр по России.
"windows phone разработчик" - 112 вакансий
"ios разработчик" - 698 вакансий
"android разработчик" - 740 вакансий
"xamarin" - 32 вакансии
На ios и android большинство вакансий - это либо java/objective C, либо мультиплатформа на apache cordova и аналогах.
На Xamarin почему-то мобайл почти никто не делает. Предположу, что для этого есть веские причины. Люди бы не учили новый язык и новую среду, если бы задачу можно было легко решить на дотнете (который все возможные языки поддерживает).
>UWP
"uwp" - 4 вакансии
Технология новая. Даже если она окажется востребованной - существенный спрос на нее появится только спустя несколько лет.
Не факт, что она окажется востребованной. МС последние 10 лет в основном лажает с новыми технологиями. Если тренд сохранится - UWP окажется таким же ненужным говном, как Metro или Silverlight.
Ок, попробую.
Сделайте это для меня пожалуйста. Я не шарю в проге.
Чего блядь?
Подскажите, как классы грамотно сделать. Ничего путного не получается придумать.
Ситуация примерно такая:
Hour
{
byte _hour;
public GoDeeper()
{
for (byte b = 0; b < 60; b++)
Minute m = new Minute (_hour, b);
}
}
Minute
{
byte _hour;
byte _minute;
public Minute(byte h, byte m) {_hour = h; _minute = m;}
void DoSomething() { Console.WriteLine(_hour + _minute);}
}
Проблема в том, что поле _hour дублируется в обоих классах. Я хочу, чтобы оно было только в классе Hour, а из класса Minute можно было к нему обращаться. И соответственно в конструктор Minute не нужно было бы передавать _hour.
Простейшее наследование не подходит.
Minute : Hour
Потому что у нас точно так же будет создаваться новый объект _hour (и Hour) для каждого нового Minute.
Простейшая композиция вроде тоже не подходит.
Hour
{
List<Minute> minutes;
}
Потому что мы не можем вызывать Hour._hour из методов класса Minute.
:(
Подскажите, как классы грамотно сделать. Ничего путного не получается придумать.
Ситуация примерно такая:
Hour
{
byte _hour;
public GoDeeper()
{
for (byte b = 0; b < 60; b++)
Minute m = new Minute (_hour, b);
}
}
Minute
{
byte _hour;
byte _minute;
public Minute(byte h, byte m) {_hour = h; _minute = m;}
void DoSomething() { Console.WriteLine(_hour + _minute);}
}
Проблема в том, что поле _hour дублируется в обоих классах. Я хочу, чтобы оно было только в классе Hour, а из класса Minute можно было к нему обращаться. И соответственно в конструктор Minute не нужно было бы передавать _hour.
Простейшее наследование не подходит.
Minute : Hour
Потому что у нас точно так же будет создаваться новый объект _hour (и Hour) для каждого нового Minute.
Простейшая композиция вроде тоже не подходит.
Hour
{
List<Minute> minutes;
}
Потому что мы не можем вызывать Hour._hour из методов класса Minute.
:(
Почему код неправильно компилируется?
https://ideone.com/Bxq1LZ
>Спецификаторы параметров по умолчанию не разрешены
Скачай книгу уровня "сишарп для чайников" и поделай хэлловорды пару месяцев. Не нужно пытаться копировать сложный код, написанный другими людьми и пытаться запустить его, если ты не понимаешь самых основ. У тебя не получится.
В свойствах проекта переключи с class library на экзешник
>Отдавай в минтуту Hour
Точно!
Как-то не красиво, смахивает на костыль. Но в принципе должно сработать.
>а лучше сделай класс Time, раз они так сильно связаны
У меня ИРЛ все чуть сложнее. Связанных классов не 2, а 5. У каждого 3-10 полей, которые нужно передавать на уровень ниже. Если все это в одном классе держать - будет нечитабельная груда кода. Мы ведь классы делаем, чтобы читабельность повышать, правильно?
Как я это делаю:
1. Создаем объект, который в конструкторе должен наполнить массив с записями таблицы рекордов, считав её из файла.
2. Затем вызываю метод
>чекнуть, является ли новый рекорд больше тех, что есть в файле и перезаписать его
В случае ссинхроноус все работало бы замечательно. Но так асинхронные методы у нас с ссылками не работают, а работают с копией, то я тупо не могу наполнить массив с записями и все его значения всегда равны нулю.
Есть в шарпе какая-то возможность наполнить поле класса асинхронным методом?
Не копипастить же код из метода чтения в метод проверки на хайскор, должен же быть элегантный способ.
Тьфу, не наполнить, а присвоить полю класса значение из асинхронного метода.
Есть два метода, первый метод непосредственно содержащий алгоритм, а второй непосредственно вызывает первый метод и записывает все результаты в Лист.
Второй метод вызывается в листбоксе и соответственно выводится на экран.
Вопрос в том, что требуется сделать так, чтобы поиск файлов выполнялся асинхронно, переделать короче вызов метода Поиска в Таск.
Так вот, этот таск после выполнения находит каждый раз рандомное количество файлов. В чем может быть проблема?
Использовал как раз async/await.
ContinueWith тоже не помогло, хотя я скорее всего что то неправильно написал .
А лучше .Result, он блокирующий
Ну, я имею ввиду
>public Zaloopa()
>{
>DoSomething()
>}
или
>Zaloopa zaloopa = new Zaloopa();
zaloopa.DoSomething();
Или похуй?
Да похуй вообще.
А я вот так делаю. То есть, запрещаю вызывать обычный конструктор снаружи и вместо него выставляю статический асинк фактори метод.
Ну мне отсюда не видно как ты уже написал, но видимо, как то по другому
Видел я эти задачники. Математические примеры и алгоритмы, оторванные от жизни.
Лучше поставить конкретную цель - написать свое приложение и затем решать проблемы по ходу их возникновения, гугля, набигая на стаковерфлоу и спрашивая ответ здесь, и не получая его.
>Отдавай в минтуту Hour
Сделал.
Вызываю объект, лежащий в самом старшем классе так:
//Base - ссылка на объект уровнем выше
this.Base.Base.Base.Base.Base.Data;
Тупо выглядит, но на самом деле код упростился до неприличия. Теперь вся логика абсолютно прозрачна и элементарна. Все данные и логика по уровням разбиты, на каждом уровне несколько простых действий. А в старой версии я охуевал от методов с 20 параметрами и непонятных зависимостей между классами.
Теперь буду любые многоуровневые циклы так реализовывать.
Спасибо анону за советы <3 .
>this.Base.Base.Base.Base.Base.Data
Просто убери все лишнее и не делей так больше.
Если все эти базы уровня Minute и Hour выше, то они нахуй не нужны.
>this
Здраствуйте я код мудака не слышавшего про абстракцию, виртуализацию и инкапсуляцию.
this(вот это я).
Base(этот бездельник ничего не делает со своими данными).
Base(еще один дармоед).
Base(тупой придурок, все время об него спотыкаюсь).
Base(а ты кто-такой?).
Base(с дороги!).
Data(А вот это мои сырые данные, фу устал. Пиздец поработал!)
Благодарю, именно это я и искал.
Йоу бро, давно занимаешься?
У меня похожая ситуация, собираюсь несколько достаточно сложных проектов запиливать для обучения и фана.
Прямо сейчас доделываю шизанутую мат модель для machine learning. (на нижних уровнях происходит обычный подбор коэффициентов регрессионным анализом, а на вышестоящих уровнях обучаются параметры обучения нижестоящих уровней. То есть алгоритм не просто обучается по данным, а обучает сам себя более качественно обучаться по данным. Думаю херня выйдет с точностью ниже генетического алгоритма :D . Но нужно проверить, вдруг сработает.)
Следующим проектом планирую сделать удобно развертываемую базу данных и обертку для нее. (понятия не имею, как это сделать, начну с гугла "SQL lite"). Для специфической прикладной задачи. Есть потенциальная аудитория в несколько десятков/сотен человек (для минимал-версии). Если угореть и реализовать миллион функций - можно будет конкурировать с коммерческими продуктами за аудиторию в тысячи человек. Но такой цели пока что нет.
В дальнейшем будущем есть несколько идей потенциально-коммерческих проектов на ASP. Смутно представляю, что такое ASP, но на нем пишут тысячи людей, а значит он не может быть слишком уж сложным.
Если ты дольше месяца в программировании и умеешь юзать git, то можно вместе пилить и учиться.
Я сам нуб, comp science не знаю, фреймворки не знаю, парадигмы не знаю. Кода за всю жизнь написал тысяч 20 строк - в основном консольные приложения со сферическим матаном в вакууме.
Нет. Я, можно сказать, нуб в программировании. Пытался в программирование в универе (инженер-конструктор) но дальше базового курса турбо Паскаля синтаксис, консольные щиталочки-сортировочки, примитивная графика и связанная с этим геомертия не дошло. Учил самостоятельно шарп, но остальная учёба не давала времени вникнуть в самую "суть" и набраться опыта.
Писал несложные скрипты для пакетов МКЭ на фортране и С++.
Сейчас в связи со сложившейся экономической и политической ситуацией выдалась минутка год свободного времени безработицы и мой друг пхп-макака руби он рэйлз зовёт меня подтянуть навыки шарпа и идти к ним в контору сначала макакой а потом мб. и чего лучше получится.
Не понял последнее предложение.
Что ты лишним называешь? По-моему ничего лишнего нет, наоборот все замечательно и прозрачно.
>>603316
Нет там дармоедов, все нужны. На каждом уровне несколько полей нужных.
>я код мудака не слышавшего про абстракцию, виртуализацию и инкапсуляцию.
Предложи вариант лучше.
Допустим, мне нужно реализовать вложенный десятикратно цикл.
На каждом из уровней создаются 5 новых параметров, которые нужно хранить и передавать на нижний уровень.
Каждый уровень использует методы, которые используют все имеющиеся параметры (для нижнего уровня это будет 10х5=50 параметров в методе).
Каждый из уровней специфический, разумеется. Это не рекурсия.
>Смутно представляю, что такое ASP, но на нем пишут тысячи людей, а значит он не может быть слишком уж сложным.
Тсой прогал на asp?
await перед ним напиши. Пиздец у тебя лишних переменных и глобальные еще какие-то, нахуй так жить коданы.
Получилось. Спасибо большое. Можешь объяснить почему это именно так работает?
Почему мы должны ждать и GetFiles и MainTask?
О, я тоже из Казахстана.
В МаняРóссии?
>>603624
Ну потому что ты хочешь чтобы код, написанный после MainTask() выполнялся после выполнения MainTask(). Оно так и было бы в синхронном коде, но у тебя тут асинхронный код, поэтому MainTask() запускается в соседнем потоке, и, не дожидаясь выполнения MainTask(), начинает выполняться следующая строка. Await же позволяет писать асинхронный код как синхронный и жить как человек.
Когда ты пишешь .Result, поток блокируется до завершения таска, поскольку этот поток - основной, т.е. UI поток, вся программка подвисает. await же ничего не блокирует, т.е. UI тред может нормально рисоваться и получать/обрабатывать события от пользователя/системы. Такие дела.
Спасибо, антуан.
>The November release candidate (RC1) will be a supported and production ready cross-platform release. Depending on feedback from RC1 we will ship additional release candidates as necessary.
Да он не вышел еще даже, какие вакансии, иди реакт учи.
Как лучше это сделать? В паршиал вью и передавать значения дат в модель. Или код в самом паршиал вью сделать который каждый раз новые даты генерирует. Потому что в модели помимо дат будет еще и содержимое самой таблицы.
Когда файл находится, возникает событие ФайлНашелся и этот файл должен сразу же отобразиться в листбоксе.
Внимание вопрос, как это сделать синхронно с таском?
Я бы AJAX применил.
ContinueWith, не?
Тупость какая-то: две версии одного и того же языка с микроскопическими отличиями. Но для каждой версии отдельная индустрия, разные библиотеки, разные фреймворки. Объединили бы уж.
Уже нашёл, прочитав справку. Но всё равно добра тебе!
поднимаю реквест
Фублядь
Пояснил за щеку, проверяй
https://msdn.microsoft.com/ru-ru/library/bb398986%28v=vs.100%29.aspx
проиграл с детектеров,почта и страница фейковые с времён,когда вкудахт не требовал телефона
Ага, конечно.
вот это маняврирования
перекатываюсь с друогого ЯП
Выводит Invalid object name 'dbo.Persons'.
У меня DbSet в единственном числе
public virtual DbSet<Person> Person{ get; set; }
Я нашел что вот так решается
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
Но до этого у меня все предыдущие таблицы были также в единственном числе и таких ошибок не возникало и вдруг на седьмой таблицу EF вспомнил о конвенциях.
Как я понял, это что-то вроде облегченного класса с инкапсуляцией но без полиморфизма и наследование.
Еще стракт в отличии от класса тип значение, а не ссылочный тип.
Рихтер, с.118
Соглашайся с соглашениями, пидор.
Браузерки даже на PHP пишут.
@
Понял, почему программы меньше 50к строк считаются маленькими
Класс с крякающими утками: 10 классов, 2 интерфейса, 2 перечисления, 180 строк кода. Из них реально что-то делают 2 строки, а остальное - оформление.
Я обычно в 180 строк чуть ли не полноценные программы умещаю лол.
ООП специально придумали, что увеличивать объем кода в десятки раз, да? Чтобы работодателям пускать пыль в глаза и получать больше денег за ту же работу? Можете мне сказать правду, я никому не расскажу.
я-то все могу.
Ты что-то не так делаешь. ООП подразумевает, что вместо свитчей все должно разруливаться виртуальными функциями.
Это поведение, которое может меняться во время жизни объекта.
По дефолту изменения реализуются как
Duck.quacking = new QuackBehaviorNumber42();
Свитчи я добавил от себя. Решил скрыть все классы, реализующие поведение, и само поле quacking. Сделал перечисление (соответствующее скрытым классам) и свойство, обрабатывающее это перечисление.
Херня вышла в общем-то. Новый класс QuackBehaviorNumber43 чтобы добавить - придется код в четырех местах менять.
В изначальном варианте не нравилась куча открытых типов. Пишешь ключевое слово, IntelliSense выдает список из 20 типов с идиотскими похожими названиями. С 20 еще можно как-то работать, с 50 начтется полный трэш.
Не стоит применять паттерны там где они не нужны.
И если начал изучать их то вот тебе книжечка https://mega.nz/#!QlMTCAgB!xPprXZM5WaCr64optDP6WuMKskYvo8UrHecsP8VrUtU
Полезна будет
Там наоборот получается, сначала ты пишешь с решарпером и у тебя теорема эскобара, а потом внезапно ты уже не можешь без него писать, плюешься там, ломка, вот это все.
http://pastebin.com/qzhkueKe
Как мне сделать чтобы один составной предмет мог включать в себя несколько деталей одного типа (например чтобы в списке Components системного блока два раза фигурировала одна и та же сетевая карта, не создавая при этом в таблице Items две записи для нее)?
А чем такой подход не нравится?
Делаешь таблицу словарь с названием деталей и айди. И потом все таблицы которые будут использовать эту деталь будут ссылаться на этот айди в словаре.
Поясни, чем плох монодевелоп? Там какие-то проблемы на больших проектах всплывают?
Туда решарпер не поставить.
Немного выучил и пишу код на C# чисто как хобби по профессии совсем не программер, но вот сейчас уже приближаюсь к окончанию одного весьма громоздкого проекта. Так получилось, что весь код писал и пишу на Visual Studio Express 2010. Сейчас столкнулся с некоторой сложностью с отловом багов как вызванных многопоточностью, так и непонятно откуда возникающими тормозами. Мне может чем-то помочь переход на версии Professional, Ultimate или каких-то иных средств разработки? Код пишу один, всякие Team Foundationы побоку.
Производительность в 5-20 раз ниже дотнета (который тоже не эталон быстродействия). Гугли бенчмарки, если интересно.
Microsoft Visual Studio 2015 Community (r,tm,c)
Там прям Diagnostic Tools есть, и красивый график покажет тебе, как все хуево. И юзай профайлер же. У тебя там прям настоящая многопоточность или просто асинхронные действия?
Ммм.. хрен знает что это... Короче это сервер онлайн игрухи. Есть основной процесс, который постоянно анализирует состояния одних объектов и вносит изменения, а есть асинхронные вызовы клиентов, которые вносят изменения в некоторые параметры. Собственно баги возникают, я думаю что это из-за криво написанной многопоточности, но как разбираюсь, оказывается это они от моих кривых рук :) Ну или я просто отследить немогу.
Книжек про тестирование накати.
Попробуй javascript.
У меня всё заебись поставилось.
самое
Есть такой софт Reg Organizer. Там есть возможность чуть более расширенного удаления программ. После удаления программы он предлагает запустить поиск по оставшимся от софта следам, а именно по реестру, папкам, файлам. Попробуй через неё удалить и потом уже переустановить студию.
У меня он анализирует кучу js библиотек в которых я ничего рефакторить не хочу конечно же.
Там есть меню Elements to skip from code analasys, но это не то, на рефакторинг никак не влияет.
У меня оче долго обновлялся один компонент (Win10 SDK), я его решил отменить, а отменилась вся установка и студия не запускалась. Тогда я просто запустил установщик 2015 студии, и он восстановил и докачал обновления.
Алсо, чего полезного там обновилось, сосоны?
https://www.visualstudio.com/en-us/news/vs2015-update1-vs.aspx
Так обновили все по чуть-чуть.
Мне больше async/await в typescript понравился, а репл я хуй знает где использовать.
У меня уже полыхает. Блять, никакие танцы с бубном не помогают. Может винду переустановить? лол
Ну хуй знает, никогда такого не было. Один раз только была проблема, когда новые расширения не хотела грузить и удалять, но помогло удаление VisualStudio/14.0, после чего все нормально работало.
А лямбду - в лямбде!
public DerivedClass(string s) : base(s) { }
Жутко бесит. Это ж boilerplate. Что делать?
Что-то я не понял. То есть, конструктор в наследуемом классе нужно писать чтобы компилятор не генерировал автоматический пустой конструктор?
Он про IDE, а не про сам моно.
>>605138
ЯННП.
У меня одна таблица - типы деталей. Каждый тип может быть собран из многих типов (или ни из одного). Каждый тип так же может входить как компонент во многие типы.
Без EF я бы создал отдельную таблицу Items_Relations с полями Composite_Item_Id, Component_Item_Id и Quantity с PK по первым двум полям.
В принципе я и в EF могу сделать для этого отдельную сущность, но у меня же тогда не будет виртуальных полей с ленивой загрузкой (и соответственно не будет смысла ебаться с EF).
Когда ты создаешь дочерний класс, clr сначала должна инициализировать родительские классы, т.е. вызвать их конструкторы, а она не знает с какими параметрами, ты ж их не указал. Если бы конструкторы наследовались, у тебя бы в дочернем классе висели все конструкторы, что немного ебет инкапсуляцию в рот.
И да, в студейке интелисенс/решарпер автомагически пишет за тебя эти конструкторы, пользуйся инструментами, Люк.
Теперь понял. Спасибо.
Так тебе все равно придется создать вторую таблицу если many-to-many. Чому это не будет ленивой загрузки? Будет.
К asp.net разрабам пара вопросов.
1. Где физически находятся веб-сервера предприятий?
На месте сервер держат, или используют хостинг-провайдера?
2. Если сервер удаленный - кто его администрирует? Это делается людьми хостинг-провайдера, или клиенты администрируют сервер удаленно?
3. IIS или апач?
4. MSSql или mySql?
В моем первом примере EF сам создает таблицу для связи.
Загрузка как бы есть, но в классе Item у нас теперь нет ссылок на связанные Item, а вместо этого ссылки на сами связи. То есть придется писать еще кучу методов.
Я сделал отдельную сущность для связи.
http://pastebin.com/Aj47DqyV
Теперь у меня какая-то херь с FK, их четыре вместо нужных двух, они просто дублируются.
ЧЯДНТ?
У нас: держат у себя, админят сами, апач, постгря
После HasMany().WithMany() попробуй .Map() написать и в нем MapLeftKey и MapRightKey с именами своих ключей, compositeId и т.д.
Tools - Options - Color scheme
Стэк же должен реализовывать только функциональность push-pop, правильно? Но мы можем написать:
int a = new int();
int b = new int();
int c = new int();
a++;
По идее, чтобы добраться до a, процессору нужно вытолкнуть c и b из памяти. Но он обращается к a, не трогая b и c . Как он это делает?
Эээ...
Указатель стэка смещается на нужное количество позиций вглубь по стэку?
А после того, как мы закончим работу с a - он вернется назад на верхушку?
Как-то многовато действий. Зачем тогда вообще стэк использовать? Могли бы просто адрес в куче взять.
Куча намного медленнее работает по каким-то низкоуровневым причинам, да?
О CLR'ном, или о "нативном" стэке вызовов, который ОС организует в ОЗУ. Наверное, у них принцип действия идентичный.
Удалить решарпер.
Поясните за c#?
Для чего его юзают какие-то крупные предприятия и корпорации?
Т.е., если я его выучу и пойду на работу, что я на нём буду писать? И насколько он сложный в освоении?
Что тебе скажут, то и будешь писать. Веб-парашу, формочки всякие, говно под xamarin, говноигры под какое-то юнити. Скажут говно чистить - будешь говно чистить.
Изменяю члены temp - изменяются члены best. Так не нужно, нужно чтобы все вложенные элементы тоже новые создавались.
Подскажите элегантный способ это сделать.
Цикл инициализаций уродливо выглядит.
Как и весь быдлокодинг за деньги.
Как вариант сериализация / десериализация твоего списка, тогда получишь новую копию.
>формочки всякие
>2015
Ну хоть не консольки.
> говно под xamarin
Никто не пишет на xamarin, не писал и не будет. Это технология - миф. Типа как мультиплатформенный дотнет под моно. В теории он как бы есть, но на самом деле его нет.
>>606247
У тебя неверные представления.
Ты думаешь:
выучиваю язык --> иду на работу --> говорят что писать
На самом деле:
выучиваешь язык --> решаешь, что будешь писать --> выучиваешь стэк сопутствующих технологий и фреймворков --> идешь на работу
На сишарпе в данный момент можно найти работу по двум направлениям, притом второе раз в 10 менее востребовано:
1. ASP.NET web backend developer. Сопутствующий стэк мастхэв технологий: asp.net, ado.net, sql, html+css+javascript.
2. Unity3D game developer.
>И насколько он сложный в освоении?
В принципе, один из самых широких и мощных языков по возможностям в данный момент. Есть функциональное программирование, декларативное программирование, байтоебство, работа с указателями.
C# как игры Близзард - easy to start, hard to master.
Напомню тебе очевидную вещь, которую ты возможно не понимаешь: навыки программиста - это только на 5% язык. Остальные 95% - знание фреймворков, технологий, паттернов, приемов и т. п. Основы языка может любая блондинка выучить за пару дней на ютубе. Но это не сделает ее программистом.
desktop + wpf 17 вакансий
xamarin 54
unity3d 100
asp.net 1033
//php 2867
>Есть функциональное программирование
А что там есть, кроме ФВП, которые даже в сишке есть? (G)ADT? Частичное применение/Каррирование? Вывод типов?
Хотя никакие перделки из ФЯП не сделают из изначально неприспособленного языка функциональный.
>декларативное программирование
Это ты про LINQ что ли?
>мощных языков по возможностям в данный момент
>в данный момент
Лел. По возможностям он ещё даже до смолтолка из 80х не дорос.
@
Повесил Garbage Collectors в правильных местах
@
Скорость ухудшилась в 30 раз
@
Вернул как было
@
Повесил паралельность на циклы
@
Скорость ухудшилась в 10 раз
@
Вернул как было
@
Заменил int на byte и short
@
Скорость ухудшилась в 5 раз
@
Вернул как было
@
Оптимизация завершена
>C# как игры Близзард - easy to start, hard to master.
Что за хуевейшее сравнение я только что прочитал?
У них нет ни одной hard to master игры, кроме старкрафта, в котором вне профессиональной сцены ты достигаешь относительно высоких результатов за счёт скорости, а не стратегии.
>>606431
>>606416
И вообще мультиплеерные игры не в счёт. Hard to master в них достигается за счёт соперничества с другим игроком, имеющим такие же возможности, как и ты, а не за счёт самой игры. Да, игра должна при этом предоставлять должное количество механических деталей, дабы было в чём соревноваться, но близзард тут не причем, сейчас кучи игр с глубокой (относительно) механикой.
Что легче запилить? web с asp.net, или обычную настольную бд и десктоп приложение?
просто я хотел бы, чтобы навыки работы потом пригодились
Помогает вот такой атрибут написанный ко всему контроллеру
[OutputCache(Location = OutputCacheLocation.None, NoStore = true)]
Это нормальное поведение?
>Заменил int на byte и short
>Скорость ухудшилась в 5 раз
Процессору проще работать с int, т.е. целыми 32-битными числами. Ты можешь выиграть по памяти, но проиграешь по производительности в случае с заменой int на byte.
http://stackoverflow.com/questions/1097467/why-should-i-use-int-instead-of-a-byte-or-short-in-c-sharp
>Анон, предстоит написать алгоритм, для расчета времени прибытия поезда. Вопрос: что нужно знать из арифметики? Если можно, дайте годную литературу.
Но я теперь не использую Fluent API, у меня же отдельная сущность!
Или там как-то можно прописать мое дополнительное поле в Map()?
Алсо, если в ItemItem явно прописать атрибут [ForeignKey] нужным полям, то при попытке создать базу он вылетает, не выдавая исключения.
Ты не умеешь пользоваться интернетом.
Насколько собственноручно? ИЕ хостишь на форме или все таки хтмо рендеришь?
>хуяндексов и мейлсру
Говноед as is.
Куда у тебя в браузер реклама внедряется?
у меня мозила уже вся в яндексах и мейлсру, эти мрази крепят свой вирусняк к популярным программам для скачки. и вообще в каких-то приложениях, которые уже не помню, как отключать и флеш все время крошится.
на форме тока умею.
Ага, спасибо.
Со сборщиком мусора тоже более-менее понятно.
Но почему Parallel.For работает в разы медленнее обычного for? Компилирую под x86, машина 4-ядерная.
Вероятней всего из-за оверхеда на треды и переключение контеста, все зависит от самого цикла. Если в цикле у тебя набор простейших операций, то оверхед будет выше, чем время выполнения самом итерация, соотв. будет работать медленнее.
надеюсь понятно выразился.
foreach (var item in objectArray) if (item is ClassA) DoShit();
Вообще кто-то пилил для Windows Phone? Сколько там навскидку размеров экрана нужно поддерживать? Пока пишу под размер своей сраной люмии.
Собственно, видео того, что получается: http://rghost.ru/private/89pFPqYxs/bfaa909d01c8a3413304f702b80eb55b
http://www.monogame.net/documentation/?page=Tutorials
Пока хватает информации. У меня даже студия XNA не стоит, т.к. не ставится на Win10. Ресурсы использую pngшные, не знаю, зачем всё преобразовывать в xnb или как там.
Со шрифтом, правда, проблемы. Без студии, вроде бы, не сконвертировать в удобовариваемый формат.
Это не твой браузер, это твоя говённая программка с готовым браузером внутри. Тебе осталось ещё антивирус написать и операционную систему с нескучными обоями.
всмысле?? я написал программу с браузером, значит это мой браузер? ты небось ещё и девственник да??
во втором предложении точка вместо знака вопроса
Ну не траль плиз.
кокой ты зло, точно девственник. еще и яйца не мыл поди неделю.
Аноны, а что пилят на вашем сишарпе?
Неужели выгоднее всего идти в .net, выучить mssql и найти работу?
Смищно.
Нет, серьезно, .net это же как php, только под другим соусом.
Вакансий других уже не найти, да?
Кажется, ты путаешь asp.net и .net. Кроме него разве что unity, да и все пожалуй.
Понятно.
Но это в рашке нормально, кроме уеба и парочки проектов на мобильных платформах ничего нету?
Там еще в прикрепленном кто-то Россию рашкой назвал, иди поругай.
>На самом деле:
>выучиваешь язык --> решаешь, что будешь писать --> выучиваешь стэк сопутствующих технологий и фреймворков --> идешь на работу --> пишешь то что говорят и на тех технологиях что говорят.
очевидный фикс
>навыки программиста - это только на 5% язык. Остальные 95% - знание фреймворков, технологий, паттернов, приемов и т. п.
Нихуя. Язык это 0%, фреймворки и технологии - 0%. А вот что делает программиста программистом даже я не знаю, вернее не могу сформулировать. Это способность разрабатывать алгоритмы.
>коокок я могу алгаритмы разрабатывать я илита!!! нужны спасобнасти!!!
Очко себе разработай, ДЕВЕЛОПЕР.
Я не хохол, иди нахуй.
text.size = 12;
text.font = arial;
В другом языке видел что-то около:
text{
color= red;
size = 12;
font = arial;}
Есть что-то такое в C#?
Значит время ещё не пришло, пиши калькуляторы и пытайся каждый день понять остальное.
Когда вызываешь конструктор обьекта можно таким образом сразу задать значения его свойств.
var text = new Text(){
color= red,
size = 12,
font = arial};
Пойдёт, спасибо.
Выручайте.
Пишу на MONO.
Не могу найти версии асинхронных методов возвращающих Task.
В чем дело? Гугл не помогает. Вся надежда на вас.
Перекатывайся на Unity. 2D там тоже есть.
В общем случае никак. Есть хорошая практика документировать экспешены, которые могут вывалиться, тогда IDE может подсказать.
Есть какая-то принципиальная разница между Asp.net и бэкендом на php?
Лел, теперь то это у тебя не просто таблица со связью, а нормальная сущность, настало время отразить это в коде. В ef в принципе можно мапить поля сущности в разные таблицы, я попробовал - у меня не взлетело.
Создай класс для связи потому что это уже нихуя не просто связь. Qunatity к Item особого отношений то не имеет, или тебе прямо вообще принципиально чтоб один класс был?
Принципиальная разница в том, что ASP - это фреймворк, а php - это язык.
php можно сравнивать c C#. А ASP можно сравнивать c php-ориентед веб фреймворками, например с Laravel или Yii.
Принято считать, что C# и ASP.NET - это продвинутые инструменты, на которых высококвалифицированные специалисты разрабатывают надежные и легко масштабируемые системы и сервисы стратегического значения.
А php фреймворки - это опенсорсные любительские проекты, никогда не доживающие до версии 1.0.0, задача которых - помочь малообразованным людям с гуманитарным складом ума легко и быстро сделать блог о том, как сильно они любят неон и джаз.Кофе, Лондон и чб фото больше не трендятся :( .
Это фреймворк? Насколько он годен? Для серьезных проектов годится?
YAGNI не просто так придумали.
Десктоп с WPF будет проще и быстрее. ASP расширит кругозор.
Двачую господина. "Циклы" TPL дают выигрыш только в случае дорогого по времени тела.
>В том смысле, что мой Мехмат катится в унылое говно.
Проиграл с даунят, которые, желая стать программистами, пошли на мехмат. Вот это пиздец реально дебилы. Что сразу не на пожарника? Хотя бы профессия была бы благородная, а не позорный диплом математички. Алсо, алгебраическая геометрия у вас есть для галочки, только всем похуй на нее, до сих пор жрут картофан 3-х годов и решают дифурчики.
Тоже не понимаю, нахуй эти дауны попёрлись на мехмат? Будто бы круды лепить или говно типа "КоКокБухгалетрия" на WPF требует матана.
Причём половина этих хуесосов дай бог чтобы вспомнила хотя бы 30% того, что им там давали. Да и нахуй это не надо.
Я тоже из математики пришёл, но вовремя соскочил, т.к. понял, что не в том направлении развиваюсь - столько времени потерял и потратил на кукаю-то хуйню. В программировании надо знать примерно 5% определённого матана(для категорных петушков отдельные разделы) и всё, больше где-то встретить что-то другое нереально, да и это тоже не везде применяется.
Программирование - это прежде всего опыт, не знаю как это объяснить, но это так, знаю от рождения одарённых вундеркиндов, но они тоже говорят, что много где фейлились, т.к. опыта не хватало, дрочь на олимпиадную математическую какую-то хуйню вообще никак не связан с миром IT даже близко. Да и вообще программист - человек способный обрабатывать большие объёмы неважнокакой инфы в короткие сроки, если будет по работе нужно 1-2 раздела матана - можно освоить на время проекта и потом забыть, но идти на мехмат ради программирования - полнй идиотизм, подобных выблядков даже к компьютеру подпускать нельзя.
Он квадратное уравнение на первом курсе решить не может, и 21 декабря считает, что это нормально.
>картофан интегралы диффуры
А вот сейчас припекло, весь матан скатывается к
"Надрочите алгоритмы решений всякой хуеты и ебашьте как автоматы за 2 часа весь письменный экзамен".
Тогда к чему эти жалкие завывания:
>Сделайте это для меня пожалуйста. Я не шарю в проге.
Делай сам, тыж качаешьяся на ветке. Будь мужиком блядь!
Прямо как вся вузовская физика.
А ты чего хотел? Как должно быть по-твоему?
>Будто бы круды лепить или говно типа "КоКокБухгалетрия" на WPF требует матана.
Работодатели делают вид, что требует. Не знаешь матан - хуй тебе, а не работа.
Я изначально спрашивал, на кого учишься.
Если бы ты сказал что-то типа "учусь на историка" - я бы тебе помог, потому что это долбоебизм, когда гуманитариев заставляют код писать, который им нахуй не упал (бывшим одноклассникам код пишу, они учатся на менеджеров и журналистов, а их заставляют на Паскале кодить, даунизм).
Но если ты технарь (да не просто технарь, а мехмат мгу), то ты заслуживаешь быть изнасилованным толпой негров за такие вопросы даун блядь. Не шарит он в проге сука.
На работу так же будешь устраиваться? "Здрасьти, возьмите меня пожалуйста, я тупой дебил и не умею решать квадратные уравнения". А на любые вопросы будешь отвечать "Я в этом не шарю, это не нужно, кто-нибудь за меня сделает".
Охуеть я думал МГУ типа элитный вуз с охуенным конкурсом, а оказывается там всякие дегенераты учатся.
Поясняю для 12-летних.
1. Если ты положил готовый браузер из тулбокса на готовую форму в wpf/wf - это не ТВОЙ БРАУЗЕР. Это IE (уже существующий браузер), запиханный в уродливый интерфейс винформы, только и всего.
IE (Internet Explorer) - это такой убогий браузер, который Майкрософт поставляет со стандартной комплектацией винды. Его использовали еще до твоего рождения, спроси у родителей.
Если ты думаешь, что IE лучше фаерфокса или хрома с точки зрения безопасности - просто используй IE в нативном варианте. Это будет гораздо лучше с точки зрения интерфейса пользователя и быстродействия, все остальные параметры останутся идентичными. Чтобы запустить IE в нативном виде, нажми клавишу windows, набери "internet" и нажми Enter.
Называть IE, запущенный из винформы "своим браузером", это то же самое, что положить на своем сайте комментарии вконтакта и заявить, что ты сделал "свою" социальную сеть.
2. Если у тебя нет минимальных навыков пользования компьютером, Мозилла в этом не виновата.
Во-первых, плагины не устанавливаются сами. Их устанавливаешь ты. Либо вирусы. Чтобы не устанавливать всякое говно и не ловить вирусы, достаточно:
- читать, что написано в установщике, прежде чем ставить галочки
- не ставить пиратский софт с правами админа
- не лазить по варезам и порнотубам с правами админа.
Во-вторых, любой ненужный плагин в Фаерфокс можно отключить или удалить. Для этого нужно нажать ctrl+shift+A , в появившемся окне нажать disable (отключить) или remove (удалить) напротив ненужного плагина.
Для полного понимания проблемы, тебе бы прочесть статью про Дениса Попова на Лурке. Но, скорее всего ты не сможешь открыть Лурк, потому что он заблокирован в рашке, а в vpn ты не можешь.
девственник, не бомби, кек
да и кстати ты рваный девственник, ты в курсе?
Ну так я создал, давно уже.
>Я сделал отдельную сущность для связи.
>Теперь у меня какая-то херь с FK, их четыре вместо нужных двух, они просто дублируются.
Но что же мне теперь сделать, чтобы ЭТО начало работать как надо, с двумя FK вместо четырех?
Я понимаю, что надо что-то прописать в OnModelCreating(), но вариант с .Map() тут уже не катит.
Мне принципиально чтобы работало, и было без лишних дублирующихся полей в БД.
Норм ключи вроде.
Твой код попробовал, не работает - вылетает без выкидывания исключения при обращении к базе.
Точно так же вылетает, если поставить Required и int вместо Optional и Nullable<int>.
Как эти невидимые ошибки в дебаггере ловить вообще?
Что значит вылетает? Вообще без ошибок? тут стандартный совет про дропнуть базу данных, который никогда не помогает
1) Могу ли я стать разработчиком без корочки о высшем образовании? При условии, что буду знать asp.net MVC, MPF, шаблоны проектирования, структуры данных и прочее.
2) Реально ли будет зарабатывать с помощью C# на upwork 12-15 баксов в час, хотя бы?
3) что лучше ещё выучить, чтоб взяли на работу джуном? какие проекты посоветуете самому сделать для портфолио, если хочу быть back-end разработчиком
Едрен батон, наследование - это движение от общего к частному, здесь оно совершенно ни к месту. А зачем вообще эти классы, чем DateTime не устроил?
С висты наверно. На хпшку точно нужно накатывать дополнительно, хотя в васяносборочках он может быть из коробки.
Его нужно было ставить отдельно. В сам sp он не входел. Хотя я точно не помню уже, лол.
1. Можешь, я был на собеседованиях уже где-то в 15 конторах, в одной из них спрашивали военник, в последней, где меня оформляли по тк.
В первых двух всё было сдельно и не на полный день.
ДИПЛОМ НЕ СПРАШИВАЛИ НИГДЕ, НИКОГДА
Могли спросить учусь или закончил и где учился, если закончил. Но это чисто из разряда вопросов обо всём, чтобы ответить тебе "о, я тоже там учился, ты с какой группы?"
2. Заработок программиста вещь очень условная.
Ты можешь сидеть и вечно делать формочки в конструкторе и писать какой-то простецкий код на C#. Особого опыта это не даст, так можно и 10 лет просидеть, и зарплата твоя будет соответствующей.
Всё зависит от широты твоей деятельности.
Сравни вакансию на 20к, 50к, 100к.
3. Английский язык и свой C#, чего-то больше для стажёра не спрашивают, если что-то понадобиться тебе скажут выучить и тут понадобиться твой английский.
На портфолио забей, сделай какие-нибудь стандартные программы из учебников по шарпам, что-нибудь там с сервером, с базой данных вот это всё.
>Сейчас работаю в IT сфере
HOW?!
5 лет айти вуза, 2 года саморазвивания, не перезванивают с вакансий джуна за еду
От каждого бэкендера это говно требуют, потому что работодатели зажрались.
>>609737
>2) Реально ли будет зарабатывать с помощью C# на upwork 12-15 баксов в час, хотя бы?
А ты зайди и посмотри.
По запросу ASP.NET 400 задач, 100к фрилансеров.
По запросу frontend javascript 3000 задач, 30к фрилансеров.
Где проще зарабатывать, как думаешь?
Подскажите, как принято именовать функции, классы, константы. А то смотрю книги вижу фигу, там название классов то с большой, то с маленькой буквы, константы с маленькой, а в других источниках говорится, что константы надо писать КАПСОМ. Одни пишут, что в сишарпе можно именовать переменные на кириллице, другие наоборот - ни в коем случае так не делайте.
Проясните ситуацию.
Официальная позиция мелкомягких на сей счет:
https://msdn.microsoft.com/ru-ru/library/ms229045%28v=vs.110%29.aspx
Названия классов с большой, свойства с большой, приватные поля с маленькой. Все с маленькой пишут жавабляди.
Константы тебе вообще зачем нужны? Если вин апи, то обычно капсом пишут.
>скудно
Полностью вот тут:
https://msdn.microsoft.com/en-us/library/ms229002.aspx
>>610343
Возможно и не так, но я уже настрочил 350 строк во вьюмодел и сделал биндинги, вроде все работает.
У меня еще .net 4.0 и EF 5, может с этим что.
У меня знакомого при поступление на стажера в люксофт попросили только отобразить массив данных в обратном направлении и рассказать о своих универских проектах на английском. И все.
Поясните для отсталых чего добивались то, может подскажу что. Недавно проект с несколькими таблицами в EF сдал.
http://rghost.ru/7lChrrjgZ
>>610362
Не совсем понял что тебе нужно. Хоть WPF или ASP?
Можешь вот это пока почитать:
http://www.codeproject.com/Articles/12846/Auto-Saving-DataGridView-Rows-to-a-SQL-Server-Data
> тобразить массив данных в обратном направлении
arrayName.Reverse()
I made a calculator and some small maleware
Куда звонить?
Алсо, раз вы подняли тему стажировок
Вы узнаете о местах у рекрутеров или через знакомых? Как я понимаю, в офис завалиться без предварительного звонка не получиться
>в офис завалиться без предварительного звонка не получиться
Зависит от твоей наглости и сообразительности. У меня получалось.
>Цеху по разгрузке вагонов требуется junior power-lifter, стаж 2 года, опыт работы с сельдью, участие в региональных чемпионатах
>Плюсом будет отсутствие вредных привычек, наличие помощников
>Условия: работа на свежем воздухе, вода в кулере снежном покрове, печенек нет, есть рыбка
>Что мы можем предложить:
>Международная компания лидер в своей области с офисами в Вашингтоне и Лондоне
>Наши клиенты - международные компании лидеры в своих областях с офисами в Вашингтоне и Лондоне
>Работа в комфортабельных успешных лидерских вагонах международного уровня
>Работа с высокотехнологичными современными ящиками с офисами в Вашингтоне и Лондоне
>В работе используются самые актуальные перчатки от ведущих международных компаний лидеров в своей области с офисами в Вашингтоне и Лондоне
>Дружный коллектив, карьерный рост, бесплатный воздух
>Зарплата рыбой
у меня истерика, извините. Анон доставил.
Суть капитализма в России:
Платить работникам настолько мало, насколько это вообще возможно, под любыми предлогами. ТЫЖСТАЖЕР
Продавать свою хуиту настолько дорого, насколько это вообще возможно. МЫЖ МИРОВАЯ ФИРМА С ОФИСАМИ В ВАШИНГТОНЕ И ЛОНДОНЕ
Космический смысл наверное в том, что вопрос был про знанение алгоритмов,а не знание фреймворка. нахуя я это объясняю
> опыт работы с сельдью
>бесплатный воздух
Сука я так заржал, что мамку разбудил.
Я однажды так же как ты подумал, написал сортировку. А мне сказали, что это был вопрос с подвохом. Если я не использую встроенные решения, а пишу все руками, значит я - любитель изобретать велосипеды и это говорит о том, что я настоящий код никогда не писал.
Ну ты же понимаешь, что если бы написал array.reverse(), тебе бы сказали, что это школьники знают, надо было написать свою реализацию.
Используешь встроенное решение
@
Говорят реализовать руками
Реализуешь руками
@
Говорят не изобретать велосипед
Сколько писал тестовые задания - всегда явно указано "можно использовать буст/стл/аллаха"
А когда хотят увидеть алгоритм - так и пишут "напишите алгоритм для обратного отображения массива"
Так что скорее всего кандидат выглядит как зачухонец, воняет говном на весь кабинет, и его специально валят на хуйне чтобы избавиться.
Бля ну я кодингом занимаюсь, а не внешним видом. Типа кодер, занимается кодингом. Логика, вся хуйня.
Этих эйчаров хлебом не корми, дай только перезванивать всем.
>Я однажды так же как ты подумал, написал сортировку. А мне сказали, что это был вопрос с подвохом.
...
- Принеси воды.
- Простой или газированной?
- Тьфу блять! Почему без шапки?!
так от тебя модельной внешности и одежды с иголочки никто не требует.
На крайнюю работу я собеседоваться пришел вообще в камуфляжных штанах, берцах и футболке с изображением какого-то мракобесия. И волосня почти до плеч. Но всё это, блядь, чистое и свежее.
И ничего, взяли.
Давайте я вам заплачу, а вы сделаете вместо меня
Вы приняты
- Как-то не очень, подготовитесь немного и опять к нам
- А умею сосать хорошо
- Простите что?
- Сосу как умирающая шлюха, которая 20 лет не видела члена
- Вы приняты
Там писать код тип нинад? Хорошо, хорошо.
А у меня воняло изо рта говном и гнилыми зубами, тимлид аж отворачивался. Но ничего, взяли.
трустори.
Надо было делать femaleware же!
Есть какая-нибудь литература только про написание запросов с примерами, заданиями и так далее?
То, что встречается в интернете, - полная хуйня, состоящая из теории на 90% и запросы практически не охватывающая.
Статья про джойны на вики. Потом sql-ex.ru.
>Распечатаю и на стену!
А потом немного подумаешь и снимешь. На самом деле есть только левое соединение, остальные производные от него. Правое - это левое с поменяными местами таблицами, полное - двойное левое, внутреннее - инверсия двойного левого и так далее. То есть так работает сам сукль когда ты его просишь что-то соединить. Таблицы не нужны.
>А то что-то два семестра уже работаем на С#, а я кроме как f5 нажать ничего не умею
Проверь не ограничиваются ли этим умения и самих преподов.
Мне похуй чем их умения ограничиваются, меня мои волнуют, хотеть научиться в C#. Подскажи лучше литературы годной.
Не надо учить сначала английский, а потом язык. Учи вместе, так быстрее.
>F5
Тебе про c# или про студию?
У меня есть подозрение что тебе надо учиться кодить, а не учить C# (или какой-то другой язык). Если только язык - то берешь любую книгу что рекомендуют тут на сосаче и читаешь. Но их можно понять только уже умея быдлокодить. Так что если книги "плохие" и непонятные (хотя плохие и правда есть - Троелсен например), то дело в тебе и в неумении быдлокодить. А умение быдлокодить приходит с опытом быдлокодинга, а не от чтения книг.
А какая книга нужна, чтобы учиться кодить, на русском желательно и с заданиями, чтобы проверять себя.
Про си шарп, няш
ХЗ. Я просто хотел написать какую-то программу (красивую и чтобы мне нравилась) и писал. Если она работала как мне надо - значит я её написал правильно. Если не работала, значит написал неправильно и искал ошибки, в том числе самими наивными методами.
Справочник от Албахари вполне сойдёт.
[code]Stream stream = System.IO.File.OpenRead(Directory.GetCurrentDirectory() + "\\Screens\\" + path);[/code]
То есть без всякой асинхронности. Я что-то делаю неправильно? Мне нужны эти файлы для всяких начальных действий инициализации, и нет смысла читать их в другом потоке, потому что основному потоку заняться тупо нечем. Или я что-то серьёзно не понимаю?
Алсо, если я в дальнейшем буду использовать local storage или settings storage, то что делать с их асинхронностью, если приложение не должно продолжать выполнять код до завершения операции чтения? Заглушки асинхронности делать? Ничего не делающий цикл с условием "пока не будет заполнено значение"?
Но синхронные операции - не асинхронные, они и так блокируют поток, а только потом все остальное выполняется.
Я знаю, что блокирует. Я не знаю, почему платформа где-то разрешает использовать синхронные операции чтения файла, а где-то навязывает асинхронность.
Потому что так сделали. Можешь и файлы же асинхронно читать, ну и проблемы у тебя.
Проблема в том, что я не хочу читать их асинхронно, мне это в хуй не упёрлось. Я не фотографии загружаю, а коротенькие xml-ки. Если сейчас это инициализирующие xml-ки, и я обнаружил, что их можно загрузить синхронно, то потом буду пользоваться localstorage, и придётся блокировать асинхронность, а мне что-то подсказывает, что это костыль.
Ну, к примеру, класс который что-то отображает на экране. Координаты, прочую информацию об объектах отображения он должен получить из файла асинхронно. Следом за загрузкой из файла данных, собственно, происходит отрисовка. Т.к. я не могу рисовать, пока нет данных об объектах, мне придётся крутить цикл, который узнаёт о состоянии загрузки, и только по завершению даёт начать рисовать.
Ну если у тебя mvvm, т.е. event-based - проблем нет, придут данные - нарисуется. А вообще, task.Result блокирует поток, подождешь и нарисуешь.
Это значит модель-представление-представление-модель? Это паттерн проектирования? Я в проектировании совсем плох пока. Какие ещё бывают варианты? И спасибо за task.Result, я бы иначе читал состояние переменных, используемых в функции async-загрузки.
Молю, не переводи на русский. Да, тысячи их, MVC и куча его интерпретаций, MVP, MVVM, MV*. В xaml-based самое популярное наверное mvvm.
>иначе бы читал состояние переменных
Что-то ты все таки делаешь не так, хуячь-ка везде async операции.
>>611668
>А все эти inner outer left right хуй когда нужны.
Иногда таки нужны. Например left: найти всех заказчиков у которых сейчас нет заказа(корзина пуста) и посчитать как долго они заваливались на сайт, если долго удолить их к хуям.
Ну я тоже потихоньку вкатываюсь в EF (хотя раньше не любил ORM за тормознутость).
>Рефлексия быстрой не бывает.
Ну вот хуйзнает.жпг В юните активно юзают атрибут RequireComponent для автоматического связывания всего говна при загрузке. У меня же позорный внешний словарь, который греет меня только O(1).
И во многих ioc контейнерах атрибуты используются для того же, и все живут и не жалуются. Медленная она по сравнению с "обычным" кодом раз так в 5, если не писать циклы с рефлексией - можно остаться человеком.
>позорный внешний словарь
Собираюсь обмазаться ими после нг, ибо на голых плюсах жить студенту как-то совсем никак.
Ну так зачем тебе курсы какие-то тогда? Выучишь по ходу дела. Главное байтоеблю из головы выкинуть.
Хочу вкатиться на Юнити. Какая база по C# нужна, какие книги читать посоветуете? Только начинаю изучать C#, в программировании нуб, за плечами есть небольшой опыт в ActionScript и парочка небольших флеш-игр.
Нужно чтоб в окошке выполнилась задача, но при этом оно не висло. Ограничение Net 4.0
Поясните, за Task.Wait(). если захерачу его в метод получения данных, то форма будет активна?
С Microsoft.Bcl.Async естественно
> ContinueWith
Почитал описание, не понял что он мне даст.
Сейчас есть рабочая прога. В ней в одном месте есть буквально один метод получения данных. Когда код в него заходит прога зависает на некоторое время. Надо сделать просто чтоб она не висла, а спокойно ждала выполнения этого метода. Метод возвращает объект и дальше код продолжает выполнятся. Гугл вроде как рекомендует засунуть метод в Task и через Wait ждать Task.Result.
Сейчас дано
//какой то код
Object x = slowmethod();
//какой то код дальше, которому нужен x
В идеале хотелось бы просто поменять одну единственную строчку, чтоб она как то выполнялась не вешая форму и возвращала x.
Сперва думал про async/await, но с 2010 студией они похоже не работают. А нужно именно под 2010.
Я тоже не бог шарпа, поэтому и спрашиваю. Надо эту хуйню в понедельник сделать и продолжить заниматься совершенно другими делами.
Пока придумал так
Task<object> task = new Task<string>(() => {
Object x = slowmethod();
return x;
});
task.Start();
task.Wait();
x = task.Result
Только хз как это все будет работать.
Это не будет работать асинхронно.
> Надо сделать просто чтоб она не висла,
BackgroundWorker для этого есть. Всегда нормально работал, не понимаю нахуя эта параллелтасклайбрари вообще всралась.
BackgorundWorker то больше для нотофикации о прогрессе, а TPL для многопоточности, все то, что здесь нинужно.
Ему нужно создавать событие. А я хотел просто захерачить кусок кода в асинхронный обработчик, который бы выполнялся не стопоря форму.
Хуй знает короче. Завтра буду думать.
Попробуй так
private static async Task ImitateAsyncOperation(int threadNumber, CancellationToken ct)
{
//Task t = new Task(Thread1, (object)threadNumber, ct);
Task t = new Task(() => Thread1((object)threadNumber, ct), ct);
t.Start();
await t;
if (ct.IsCancellationRequested)
{
Console.WriteLine("ImitateAsyncOperation " + threadNumber + " cancel");
ct.ThrowIfCancellationRequested();
}
Console.WriteLine("ImitateAsyncOperation (arter await): " + threadNumber);
}
А вообще это всё херня раз приходится долго разбираться и искать примеры. Tasks это всё чушь по этой причине.
Мне гораздо проще сделать прямо так, без гугления и ковыряния:
private void ThreadFunction()
{
try
{
// fucking code
}
catch { }
}
private void Fuck()
{
Thread thread = new Thread(ThreadFunction);
thread.Start();
}
Вот и всё. Уверен на 99% что заработает даже без отладки. А с этой таск лайбрари только ебля с документацией и тестовым кодом для понимания как вообще всё это дерьмо работает. Понагромодили хуйни, а выгоды никакой.
Попробуй так
private static async Task ImitateAsyncOperation(int threadNumber, CancellationToken ct)
{
//Task t = new Task(Thread1, (object)threadNumber, ct);
Task t = new Task(() => Thread1((object)threadNumber, ct), ct);
t.Start();
await t;
if (ct.IsCancellationRequested)
{
Console.WriteLine("ImitateAsyncOperation " + threadNumber + " cancel");
ct.ThrowIfCancellationRequested();
}
Console.WriteLine("ImitateAsyncOperation (arter await): " + threadNumber);
}
А вообще это всё херня раз приходится долго разбираться и искать примеры. Tasks это всё чушь по этой причине.
Мне гораздо проще сделать прямо так, без гугления и ковыряния:
private void ThreadFunction()
{
try
{
// fucking code
}
catch { }
}
private void Fuck()
{
Thread thread = new Thread(ThreadFunction);
thread.Start();
}
Вот и всё. Уверен на 99% что заработает даже без отладки. А с этой таск лайбрари только ебля с документацией и тестовым кодом для понимания как вообще всё это дерьмо работает. Понагромодили хуйни, а выгоды никакой.
> А вообще это всё херня раз приходится долго разбираться и искать примеры. Tasks это всё чушь по этой причине.
> Мне гораздо проще сделать прямо так, без гугления и ковыряния:
Ты же понимаешь, что это совсем не то, его хочет ОП?
>Ты же понимаешь, что это совсем не то, его хочет ОП?
Нет, не понимаю. Fuck запустит асинхронную херню. А ему что надо?
Он просто запустит код где-то в отдельном треде и все. Ему же нужно
> Метод возвращает объект и дальше код продолжает выполнятся.
>//какой то код
>Object x = slowmethod();
>//какой то код дальше, которому нужен x
> Метод возвращает объект и дальше код продолжает выполнятся.
"Метод возвращает" значит происходит выход из функции.
"код продолжает выполнятся" значит в функции был запущен отдельный поток для выполнения кода.
Это именно то что делает моя функция.
Его текст:
>В идеале хотелось бы просто поменять одну единственную строчку, чтоб она как то выполнялась не вешая форму и возвращала x.
Так вот, то что хочет сделать он - невозможно. Чтобы форма не вешалась ему придется выйти из обработчика события и вернуться в главный поток для обработки message loop. А он хочет этого не делать. Единственное что ему остается это в этот slowmethod в цикл (если там цикл) вставить Application.DoEvents.
С ContinueWith это всего пара дополнительных строк и все будет работать так как ему нужно.
Сам напиши, минут 5 работы всего. Совсем уже охуели.
Каким образом можно удалить папку, в которой работает процесс? Как можно вычислить все процессы, держащие папку, убить их и потом поубивать сами процессы и всё почистить? У кого есть готовые решения/сниппеты кода?
P/Invoke + NtQuerySystemInformation(SystemProcessInformation, ...) для всех процессов, не?
Ок, начну гуглить и разбираться по делу. Я просто думал, может у кого уже есть готовые решения. Не хочу напрямую подключать библиотеки win32 api, хотелось только в рамках чисто дотнета решить это, без dllimport и неуправляемого кода.
За тем чтоб код дальше мог из этого объекта тянуть всякие значения. Так прога сделана.
В WebClient есть Downloadstringasync, которая сама по себе уже асинхронная.
Это копия, сохраненная 23 января 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.