Это копия, сохраненная 8 марта 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#
- 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 Overview
Новые возможности C# 6.0: https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C#-6
Код этой шапки: http://pastebin.com/raw/mUAJ6Ugz
Прошлый тред тонет здесь: https://2ch.hk/pr/res/613441.html (М)
Анон, помоги мне еще с моим говнокодом. Каждый раз когда я закачиваю страницу появляется хуйня как на втором и третьем скрине. Что поменять что бы оно изначально игнарировало ебучие about: которые мне потом приходится удалять из ссылок и куки загрузить не пыталось?
public struct LinkItem
{
public string Title;
public string Url;
}
static public class HtmlParser
{
private const string UrlRegex = @"\b(?:https?://|www\.)\S+\b|href=\""(.?)\""";
private const string HrefRegex = @"(href=)\""";
private const string aboutRefex = @"about:";
public static void Parse(string Url, ref System.Web.UI.WebControls.ListBox ListBox1, ref int counter)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(Url);
if (counter < 30)
{
string HtmlPageString;
using (StreamReader reader = new StreamReader(request.GetResponse().GetResponseStream()))
{
HtmlPageString = reader.ReadToEnd();
}
request.CachePolicy = new RequestCachePolicy();
IHTMLDocument2 htmlDocument = (IHTMLDocument2)new mshtml.HTMLDocument();
htmlDocument.write(HtmlPageString);
IHTMLElementCollection linksEllement = htmlDocument.links;
//MatchCollection links = Regex.Matches(HtmlPageString, UrlRegex, RegexOptions.Singleline);
List<LinkItem> ListLinkItem = new List<LinkItem>();
foreach (IHTMLElement item in linksEllement)
{
string urlString = Regex.Replace(item.getAttribute("href").ToString(), aboutRefex, "", RegexOptions.Singleline);
if (urlString != "" && urlString != "/" && urlString != request.Address.AbsolutePath && urlString != request.Address.AbsoluteUri)
{
if (HtmlParser.СheckUrl(urlString) == false)
{
if (urlString[0] != '/')
urlString = request.Address.Scheme + @"://" + request.Address.Host + "/" + urlString;
else
urlString = request.Address.Scheme + @"://" + request.Address.Host + urlString;
}
if (HtmlParser.СheckUrl(urlString) == true)
ListLinkItem.Add(new LinkItem() { Url = urlString });
}
}
counter++;
foreach (LinkItem item in ListLinkItem)
{
//Parse(item.Url, ref ListBox1, ref counter);
ListBox1.Items.Add(item.Url);
}
}
}
public static bool СheckUrl(string UrlString)
{
Uri uriResult;
bool result = Uri.TryCreate(UrlString, UriKind.Absolute, out uriResult)
&& (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);
return result;
}
}
public struct LinkItem
{
public string Title;
public string Url;
}
static public class HtmlParser
{
private const string UrlRegex = @"\b(?:https?://|www\.)\S+\b|href=\""(.?)\""";
private const string HrefRegex = @"(href=)\""";
private const string aboutRefex = @"about:";
public static void Parse(string Url, ref System.Web.UI.WebControls.ListBox ListBox1, ref int counter)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(Url);
if (counter < 30)
{
string HtmlPageString;
using (StreamReader reader = new StreamReader(request.GetResponse().GetResponseStream()))
{
HtmlPageString = reader.ReadToEnd();
}
request.CachePolicy = new RequestCachePolicy();
IHTMLDocument2 htmlDocument = (IHTMLDocument2)new mshtml.HTMLDocument();
htmlDocument.write(HtmlPageString);
IHTMLElementCollection linksEllement = htmlDocument.links;
//MatchCollection links = Regex.Matches(HtmlPageString, UrlRegex, RegexOptions.Singleline);
List<LinkItem> ListLinkItem = new List<LinkItem>();
foreach (IHTMLElement item in linksEllement)
{
string urlString = Regex.Replace(item.getAttribute("href").ToString(), aboutRefex, "", RegexOptions.Singleline);
if (urlString != "" && urlString != "/" && urlString != request.Address.AbsolutePath && urlString != request.Address.AbsoluteUri)
{
if (HtmlParser.СheckUrl(urlString) == false)
{
if (urlString[0] != '/')
urlString = request.Address.Scheme + @"://" + request.Address.Host + "/" + urlString;
else
urlString = request.Address.Scheme + @"://" + request.Address.Host + urlString;
}
if (HtmlParser.СheckUrl(urlString) == true)
ListLinkItem.Add(new LinkItem() { Url = urlString });
}
}
counter++;
foreach (LinkItem item in ListLinkItem)
{
//Parse(item.Url, ref ListBox1, ref counter);
ListBox1.Items.Add(item.Url);
}
}
}
public static bool СheckUrl(string UrlString)
{
Uri uriResult;
bool result = Uri.TryCreate(UrlString, UriKind.Absolute, out uriResult)
&& (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);
return result;
}
}
Лучше на пастбин код лей, макаба его херит.
1. Появится ли возможность распространять своё приложение в нативном бинарнике, а не в виде байт-кодов?
2. Можно ли будет создавать реально мультиплатформенное приложение?
>последние версии дотнета поставляются вместе с системой.
3. А можно ли будет мне, как разработчику, настроить своё приложение так, чтобы у пользователя зависимости качались при установке из инета (как это на линуксах)? Или зависимости в любом случае нужно поставлять с собой?
4. И наконец: WPF скорее жив или мёртв? Стоит ли делать на него ставку и тратить несколько ~месяцев на изучение чтобы писать приложения с богатым гуём?
>2. Можно ли будет создавать реально мультиплатформенное приложение?
Его и сейчас можно создавать, даже с моно. Тут проблема в том, что далеко не все возможности Windows доступны на других системах. Например WPF зависит от DirectX и его так просто на никсы не перетянуть. Всякие консольные приложения, дотнет либы можно использовать на различных платформах хоть сейчас. ASP.NET 5 теперь отлично заводится на DNX на никсах. Короче все понемногу движется в сторону кросплатформенности
>3. А можно ли будет мне, как разработчику, настроить своё приложение так, чтобы у пользователя зависимости качались при установке из инета (как это на линуксах)? Или зависимости в любом случае нужно поставлять с собой?
Если я не ошибаюсь, тот же ClickOnce это умеет. Также есть плагины для NSIS http://nsis.sourceforge.net/How_to_Automatically_download_and_install_a_particular_version_of_.NET_if_it_is_not_already_installed и Inno http://blogs.msdn.com/b/davidrickard/archive/2015/07/17/installing-net-framework-4-5-automatically-with-inno-setup.aspx
Все зависит от того, как ты собираешься распространять свое приложение и какую систему установки выберешь.
> 4. И наконец: WPF скорее жив или мёртв? Стоит ли делать на него ставку и тратить несколько ~месяцев на изучение чтобы писать приложения с богатым гуём?
Ну, MS заявляет что WPF живее всех живых, хотя активности в этой области почти нет. С 4.6.1, кстати, кое-что обновили https://msdn.microsoft.com/en-us/library/ms171868(v=vs.110).aspx#WPF461 , но там скорее мелочи чем реальная работа. Вот еще какие-то хорошие ребята кроссплатформенный UI-фреймворк пилят с XAML'ом там можно весь опыт WPF применить, так что решай сам, стоит ли оно того или нет. На Gtk# еще можешь внимание обратить.
> 1. Появится ли возможность распространять своё приложение в нативном бинарнике, а не в виде байт-кодов?
Да, приложение можно будет распространять в нативном виде, без необходимости ставить .net framework. По сути, при копиляции .net просмотрит все что ты вызываешь, и занативит его и статически слинкует, не трогая ничего остального. Так как все равно нужно будет GC, будет создана небольшая либа, которая заменит весь CLR, и с этого момента распространять можно в таком виде. Вот все что у тебя будет в итоге
<appName>.exe, a stub executable that simply transfers control to a special Main export in <appName>.dll.
<appName>.dll, a Windows dynamic link library that contains all your application code, as well as code from the .NET Framework Class Library and any third-party libraries that you have a dependency on. It also contains support code, such as the code necessary to interoperate with Windows and to serialize objects in your app.
mrt100_app.dll, a refactored runtime that provides runtime services such as garbage collection.
Для UWP уже доступно, насколько я знаю, для всего остального сам не знаю.
Вкратце, суть такова: пишется коллекция Trie<TKeyElement, TValue>, ключи в которой - последовательности из TKeyElement или Predicate<TKeyElement>, а значения - TValue, очевидно. С написанием самой коллекции ничего сложного нет, проблема в интерфейсе добавления новой последовательности, так как её элементами могут быть разнородные типы которые не засунешь под один интерфейс.
На данный момент навелосипедил два стула.
Стул 1:
public void Add(TValue value, params Variant[] sequence)
где Variant - обертка над TKeyElement и Predicate<TKeyElement> в которую они конвертятся implicit преобразованием, а метод Add пидорасит их внутри себя. В пользовательском коде выходит что-то типа
Trie<char, string> trie = new Trie<char, string>();
Predicate<char> predicate = char.IsDigit;
trie.Add("value", 'a', predicate, 'b', 'c');
Вроде выходит кратко, но хуй пойми что Variant это именно один из двух типов и значение идет перед ключем из-за params. НИКРАСИВА.
Стул 2:
Fluent билдер. Две перегрузки для добавления следующего элемента последовательности, все строго типизированно и красиво. Но при добавлении получается дрисня уровня
trie.AddFluent().Follow('a').Follow(predicate).Follow('b').Follow('c').Assign("value");
Тоже НИКРАСИВА.
Короче, анон, объясни какой стул выбрать или предложи третий.
inb4: выброси предикаты нахуй - нет, они нужны к сожалению
Чот нихуя не понел.
>trie.Add("value", 'a', predicate, 'b', 'c');
На выходе получится словарь:
'a' => "value"
predicate => "value"
'b' => "value"
'c' => "value"
Довольно бесмысленая ерунда.
Я стул 1:
Но пофиксил бы TKeyElement - это был бы специальный случай предиката который ничего не делает, т.е тип Variant не нужен. А чтобы не создавать каждый раз дохуя NullPredicat'ов, написать еще одну перегрузку для Add пакующую их автоматом.
public void Add(TValue value, params Predicate<TKey> sequence)
public void Add(TValue value, params TKey sequence)
// добавление аж в две строки
Trie<char, string> trie = new Trie<char, string>();
Predicate<char> predicate = char.IsDigit;
trie.Add("value", predicate)
trie.Add("value", 'a', 'b', 'c');
Еще можно через интерфейс..
Почему бы не сделать два метода: Add(TKey key, TValue value) и Add(Predicate<TKey> key, TValue value)? Проблему вижу только с получением ключей.
Disregard that, I suck cocks прочитал жопой. Я бы вынес "последовательности из TKeyElement или Predicate<TKeyElement>" в отдельный класс, и использовал его для параметризации ключа. В таком случае и своя коллекция не нужна, можно взять обычный Dictionary.
Наподобие питоновского argparse
https://docs.python.org/3/library/argparse.html
>На выходе получится словарь:
>'a' => "value"
>predicate => "value"
>'b' => "value"
>'c' => "value"
Ниет, ты неправильно понял. Получится словарь {'a', predicate, 'b', 'c'} => "value". Ключем в словаре выступает не отдельно элемент или предикат, а последовательность элементов или предикатов, в которой могут быть и элементы и предикаты одновременно.
Например полный словарь может иметь вид
{
{ "ab{любая_цифра}cd" => "value1"},
{ "{заглавная_буква}ef" => "value2"},
{ "hui" => "value3"},
}
Тут на самом деле один ключ имеет множество "реализаций", 10 штук для первого ключа например. Задавать их все руками - не ок, именно для этого нужны предикаты.
Соответственно, я ищу человеческий способ задания таких ключей.
Ну вот там первый вариант норм был, то что непонятно, какого типа Variant - так это никого ебать не должно, инкапсулаяция тип. Во втором варианте действительно много буков получается.
Вот на мсдн пишется, что в asp.net есть 3 вида аутентификации: Forms, Windows, Passport. Но в тоже время есть какие-то Membership, Simple Membership, ASP.NET Identity – это всё реализации Forms Authentication или вообще что-то параллельное?
Создал класс, который создает и содержит в себе дерево ссылок.
http://pastebin.com/EczMKF93
LinkItem - структура, хранящая в себе тайтл страницы и все ее ссылки.
HtmlParser.Parse() - статичный метод, который принимает url страницы, парсит ее и возвращает LinkItem.
Теперь у меня встал вопрос, как реализовать настраиваемую глубину поиска, что бы моя рекурсия в методе Create(LinkItem _linkItem) не зациклилась да и в задании написано что пользователь должен указывать глубину поиска. Пытался реализовать счетчик, но из-за того что метод рекурсивный все пошло по пизде. В общем я слишком туп что бы его придумать, поэтому прошу тут помощи.
public void Create(LinkItem _linkItem, int level) {
if (level <= 0) return;
...
tempLinksHolderInstance.Create(HtmlParser.Parse(link), level - 1);
Нет, так не сработает. Запишет просто несколько ссылок на первой странице и закончится level.
>Удаленный сервер возвратил ошибку: (404) Не найден.
WebClient client = new WebClient();
string htmlPageString = client.DownloadString(_url);
Есть какой нибудь метод, который проверяет существует ли сервер или нет?
Попробую просто в трай кетч отлавливать.
Аноны, поделитесь книжкой (желательно djvu или pdf):
Подбельский - Язык C# решение задач.
А то продаваны совсем ебанулись. Покупать 100г макулатуры за 600р., это даже не смешно.
Написал вариант, когда программа парсит первую страницу, а затем обрабатывает все ссылки которые находит в ней (заходит на них и достает title и url). Проблема в том, что это говно работает ОЧЕНЬ долго, где то минуту.
Расскажите, как шарпоэлита работает с разделяемыми классами в VS2015?
Так я и думал.
>>627413
Бамп
Просто скажите какой метод аутентификации проще и быстрее разобраться и чтобы при этом была доступна авторизация по ролям.
Потому что для дефолтного Identity, которая создается вместе шаблоном ASP NET MVC, сложновато разобраться и слишком много вопросов возникает.
Нужно получить индекс элемента в листе, каждый элемент которого — класс.
С обычным листом IndexOf() справляется на ура, а с классом возвращает -1.
Как пофиксить?
http://pastebin.com/D4tVrp5h
Ты разные объекты сравниваешь.
У тебя есть объект с именем 1 в списке и другой объект с именем 1, лежащий в другом месте в памяти.
Если хочешь сделать так, чтобы объекты сравнивались исключительно по данным так как тебе надо, то нужно играться с EqualityComparer
> Class1 c = obj as Class1;
> if (! (c is Class1)
as возвращает null, если преобразование неудачно, btw
>- https://nnm-club.me/forum/viewtopic.php?t=891636 - коллекция видеоуроков, по всему дотнетовскому.
Проигрываю с голоса учителя гомосексуалиста
Ловлю ContextSwitchDeadlock, это который "The CLR has been unable to transition from COM context for 60 seconds".
Какого хрена? Оно же в DoWork() все делается, а не в UI потоке.
Посмотрите что ли, может увидите где я накосячил
http://pastebin.com/pDftGwaV
{
using (HttpClient client = new HttpClient())
using (HttpResponseMessage response = await client.GetAsync(url))
using (HttpContent content = response.Content)
{
return await content.ReadAsStringAsync();
}
}
Чому у меня тут бесконечная загрузка при указании любого сайта?
Нет, чтобы задавали нормальные вопросы, а не то что задают идиоты вроде тебя.
чем вопрос того анона не был нормальным? в интернете хуева гора информации, и нигде не пишут что она устарела
Это не ты тот уебок, который от ньюфажных вопросов в ньюфаг-треде бугуртил?
var name = Config.Instance.UserName;
Написал вот http://pastebin.com/0KLEhNqn
Но когда обращаюсь в коде, мне пишет, что у Instance нет UserName. Что я делаю не так?
Спасибо. Заработало.
Не придумал ничего лучше.
лел спасибо :3
Манька первый раз увидела LINQ и начала использовать его там, где это совсем не нужно.
а мне нравки, практика на всем подряд, для закрепления, не помешает, надо тоже вкатываться в LINQ
мимо
Байтоёб закукарекал.
LINQ с его тупыми деревьями выражений не нужен, и Entity Framework не нужен, да и ASP.NET MVC тоже не нужен. Для работы с данными в памяти используй цикл for, для работы с базой данных используй ADO.NET, если нужно веб-сайт написать используй Active Server Pages.
бугурт хуинкодауна.
А что нужно?
Нашел http://www.mentalis.org/soft/class.qpx?id=9 но не уверен в ней, думаю есть что-то удобнее.
Ну ебать, значит где то ссылку проебал. Может в папке не лежат нужные длл?
1 пик - ошибка
2 пик - наследуемый класс
3 пик - базовый класс
https://msdn.microsoft.com/ru-ru/library/system.xml.serialization.xmlattributes.xmlignore(v=vs.110).aspx
Где я обосрался? Почему не биндится? Всё время показывает в текстбоксе 1, а айтемов то 9.
>>629266
Спс. И еще один вопрос, не подскажите почему указание TreeView.DataSource так криво работает у меня, хотя xml нормальный?
Я так понял нужно что бы мой xml выглядел на подобии пикрелейтед, но чет не знаю это возможно вообще сделать нормально.
В метрике перед доменным именем ...proxy... И сразу все ясно.
Даже не знаю что это. Навыков вообще ноль, это вообще не моя тема. Просто обстоятельства.
Любой. Во втором варианте ToList() проще написать.
Принтами теперь отлаживай, лол ^^
Convert.ToDouble требует для конвертации десятичной дроби (например, 5.5432) в double в зависимости от ОСи либо точку либо запятую в качестве разделителя.
Что делать? Почти наверняка дело в региональных/языковых настройках оси. Можно ли зафиксировать использование точки независимо от ОСи или нужно использовать аналог Convert.ToDouble?
вторым параметром идет IFormatProvider
Только второй
Для любителей однострочников можно вообще вот так:
Enumerable.Range(0, 10).Select(i => (new Random(DateTime.Now.Millisecond)).Next(1, 1001)).ToList().ForEach(Console.WriteLine);
Только это дебажить невозможно, поэтому так никто не пишет.
>>628674
C# не нужен, используй Delphi.
Че писать в резюме для первой работы на ASP NET?
У меня есть говнопроект. Знакомые, которые первый раз устраивались на работу, говорили что у них было что-то подобное они пиздели про этот проект, отвечали на несложные вопросы и их потом брали, даже без тестового.
https://visualstudiogallery.msdn.microsoft.com/9e08e5d3-6eb4-4e73-a045-6ea2a5cbdabe
Я погуглил за тебя и нашел это.
Ну там можно выбрать между светлой и темной темой
https://stackoverflow.com/questions/18528083/custom-visual-studio-2013-theme
А если что-то по отдельности вот это наверное
И что в нем такого суперового?
Юзай Identity, с ним потом будет проще, хоть и сначала чуть сложнее разобраться.
Постороил тебе за щеку, проверяй.
Как ты узнал?
Через System.Drawing, ImageResizer или еще как?
Хочу передавать через асинхронный сокет по UDP или может быть по TCP короткие пакеты от сервера, где их генерирую по своим данным к клиенту. Пакеты содержат данные в 16-разрядной форме(промышленный интерфейс).
1. Как сделать задержку при передаче, что бы передавалось строгое количество пакетов в секунду?
2. В каком собственно формате/типе представлять и передавать(я так понимаю что-то из классов Stream) эти 16-разрядные данные что бы их было легче создавать на сервере и парсить клиетом. Не строками же передавать?
3. Как их собственно удобно парсить, если я например знаю маску по которой генерируются эти данные сервером?
4. Как удобно хранить эти данные, если хотелось бы быстродействия, но на начальных этапах не критично? не в List/Dictionary же писать, а может быть ADO.NET или какие еще базы данных?
В конечном счете для прикладного приложения из одного приходящего пакета требуется вычленить интересующие данные - зависимости величин и временные метки и передать приложению.
Я не специалист в UDP, но в своё время много заморачивался со Stream-ами через последовательные порты - там в принципе тот же самый механизм.
Попробую дать несколько советов, может другой анон ещё что подскажет.
https://www.google.ru/search?q=async+udp+socket+c#
И сразу целый вагон статей на эту тему - выбирай любую.
По вопросам:
1. Есть несколько классов, которые позволяют следить за временем, например Stopwatch. Или можно сделать некую глобальную синхронизацию по количеству тиков. Тут масса вариантов, точное решение уже от тебя зависит.
2. Передавать ты их будешь в виде byte/byte[], очевидно же. А уж конечное представление зависит от твоего приложения.
3. Если ты знаешь формат пакета данных, то в чём проблема их парсить? Обычно это некий цикл, который кодирует/декодирует исходные данные. Тебе остаётся только грамотно продумать структуру пакета, чтобы всё это было быстро и относительно толерантно к ошибкам.
4. Blob, если тебя просто интересует хранение большого объёма бинарных данных. Ну а дальше как обычно тонна вариантов, смотря что там у тебя за объекты получаются в конечном итоге.
>Че писать в резюме для первой работы на ASP NET?
Да стандартную хуйню, мол знаю такие-то БД и такие-то ОРМ. Дальше по вкусу. Вообще полазай по резюме, сделай некую компиляцию из увиденного (только не переборщи, лол).
>У меня есть говнопроект
Сделай свой говнопроект на шаблоне MVC Boilerplate. Затем заставь это работать под apache/nginx. Но только чтоб нормально работало, ёбана! Там просто есть нюансы. Если получится, уже будешь на голову выше таких же с первым резюме. Просто этот шаблон довольно злой по объёму, хотя по сути тот же стандартный шаблон из студии (а вот как раз использовать стоковый шаблон - крайне плохая идея для подготовки к собеседованию).
Нахуй эти шаблоны? Веб апи и какой-нибудь фронтэнд фреймворк. Будет стильно и молодежно.
>Будет стильно и молодежно.
Да не о том речь, там просто много стандартной mvc шняги и паттернов используется. В том числе и тонкая настройка iis/xsp
1) YobaViewModel
2) YobaModel
3) YobaVM
Или как-то по-другому?
> (а вот как раз использовать стоковый шаблон - крайне плохая идея для подготовки к собеседованию
А что имеется ввиду под шаблонами?
Я с пустого проекта пока что делаю.
YobaVM, но это под WPF
Чем тебе моя laba_01.cs не угодила-то? Она кстати вроде заработала, хотя я ничего не менял
>>628397
Ну вот допустим на SО:
http://stackoverflow.com/questions/12414601/async-await-vs-backgroundworker
Разницы не вижу никакой.
Только еще при этом класса Progress у меня в System нет, видимо добавили только в 4.5
Ну ок? Будет сёрфейсфон и вин10 обычная на нём. Какая разница?
Так лучше?
>А что имеется ввиду под шаблонами?
Ну конкретно я имел в виду MVC Boilerplate, который можно заинсталлить в VS через Сервис -> Расширения и обновления. В итоге ты получишь два шаблона для создания проектов в VS (C# -> Веб -> MVC 5 или 6 в зависимости от выбранной версии фреймворка).
Алсо в студию встроено несколько шаблонов для ASP.NET, но они все нужны для ознакомления с основами, имхо.
В общем случае шаблоны нужны, чтобы не ебаться с копипастом стандартного кода для нового проекта. В определённых случаях сильно сокращает время на первичные действия.
>Я с пустого проекта пока что делаю.
Это самый правильный путь, на самом деле. В данном случае разберёшься в предмете на 100% (если у тебя не говнопроект с одной страницей Hello, лол).
>асп
Это. По крайне мере чисто статистически работу гораздо проще найти и поменять уже имеющуюся. Проектов просто до жопы.
>впф
По моим наблюдениям, приличная годнота на wpf попадается крайне редко. И требования ебанутые зачастую (там просто эйчар/тимлид тупо не знают чего хотят от кандидата, лол). Но если попал на такой проект, да ещё и с хорошим окладом, то сидеть на нём можно очень долго.
А если я программировал на винформс три года, то на asp меня только джуном возьмут? Кто-нибудь перекатывался с десктопа на asp?
Я писал (и пишу) под десктоп около 8 лет. Несколько лет назад вкатился в асп волею судьбы. С тех пор именно постоянная работа строго под асп, сколько бы я ни пытался попасть на десктоп проекты. Так что да, лично я перекатился.
>в 2016 году на winform делают?
Да просто дохуище всего. За столько лет MS допилило их до просто идеального состояния. Именно из-за этого часто раздаются возгласы типа "впф нинужин" что отчасти справедливо. Алсо полностью кроссплатформ (win,linux,mac) при наличии прямых рук.
Regex numbersOnly = new Regex("[^0-9]");
string todayUrl = settingsProvider.Get<string>("User") + numbersOnly.Replace(DateTime.Today.ToShortDateString(), "");
Разумеется нужно было:
string todayUrl settingsProvider.Get<string>("User") + DateTime.Today.ToString("ddMMyyyy");
Короче вопрос, можно как-то скомпилировать из под мака для шинды пофикшеный код? Не охота ставить студию на контркудахтер с виндоусом.
интересуют сами алгоритмы. я свои костыли наштамповал, но может у кого есть поизящнее варианты?
это в mono https://ru.wikipedia.org/wiki/Mono
mono можно поставить через brew http://brew.sh
brew install mono
>Это в MonoDevelop?
Но можно и MonoDevelop (сейчас он называется Xamarin) поставить.
Он может собирать sln проекты (созданные в VS)
под моно скомпиль, только не обосрись с целевым фреймворком. должно взлететь.
>>632489
это если совсем руки из жопы растут.
>>632494
Мда что-то я не выкупил что можно через консольку, а он все упакует как надо для экзешника? Может быть еще успею до того как установлю иде все сделать.
Открой проект в Xamarin, выбери (или просто не меняй, если он правильный) целевой фрейморк. Попробуй собрать. Смени build engine на xbuild, если не собирается. Всё должно заработать. Если не работает - значит где-то присутствует обосрамс (за который тут всем лень пояснять), либо твой код принципиально не в состоянии собраться без msbuild, так что будь добр собрать всё это дело в надлежащей среде, уважаемый жава-макак.
Какой вы злой.
Да 60 эрроров с простого xbuild'a это не хуй собачий. Скорее всего там где-то используется либа заточенная под шиндошс. Особенно NAudio.WindowsMediaFormat. Ну ничего идем во вторую попытку! Теперь с ИДЕ.
Ну извините, сударь.
>кто/что в 2016 году на winform делают?
я делаю. оно на делфи похоже, а я больше нихуя не знаю.
задача такая:
проектируется софтина с табличками, текстэдитами, чекбоксами и кнопками и панельки с графикой.
я нормально отделю логику от формы и т.д.
прототип будет на с# + winform, потом логика переедет на плюсы.
целевая платформа виндовый дектоп и планшет на андройде.
на чем 2016 году можно делать интерфейс?
1) asp.net заманчиво, но проблемы с производительностью и автономностью работы.
2) можно на opengl все необходимые кнопки симпатично нарисовать,
из бонусов:
-сразу взлетит винде, линупсе и андройдах
-никаких тебе OnRepaint и прочих движений внутри ос.
-никаких тормозов при отрисовке любых табличек\списочков в любом количестве.
из минусов:
-возможно мазохизм.
3) самое очевидное, это одно ядро и формочки под каждую ось в своей среде:
линупс - богомерзкое qt,
дройд- ява с переходниками на с++,
гейфоны - хуйзнает.
винда - и тут ВНЕЗАПНО БЛЯТЬ целый букет: winapi, mfc, winforms, wpf, "универсальное приложение", и еще пару, про которые я не знаю.
внимание вопрос:
на чем чоткие посоны в 2016 году интерфейс под винду пишут?
>кто/что в 2016 году на winform делают?
я делаю. оно на делфи похоже, а я больше нихуя не знаю.
задача такая:
проектируется софтина с табличками, текстэдитами, чекбоксами и кнопками и панельки с графикой.
я нормально отделю логику от формы и т.д.
прототип будет на с# + winform, потом логика переедет на плюсы.
целевая платформа виндовый дектоп и планшет на андройде.
на чем 2016 году можно делать интерфейс?
1) asp.net заманчиво, но проблемы с производительностью и автономностью работы.
2) можно на opengl все необходимые кнопки симпатично нарисовать,
из бонусов:
-сразу взлетит винде, линупсе и андройдах
-никаких тебе OnRepaint и прочих движений внутри ос.
-никаких тормозов при отрисовке любых табличек\списочков в любом количестве.
из минусов:
-возможно мазохизм.
3) самое очевидное, это одно ядро и формочки под каждую ось в своей среде:
линупс - богомерзкое qt,
дройд- ява с переходниками на с++,
гейфоны - хуйзнает.
винда - и тут ВНЕЗАПНО БЛЯТЬ целый букет: winapi, mfc, winforms, wpf, "универсальное приложение", и еще пару, про которые я не знаю.
внимание вопрос:
на чем чоткие посоны в 2016 году интерфейс под винду пишут?
> линупс, дройд, гейфоны, винда
Имхо, когда такой разброс, остается только HTML5.
На всех платформах его можно закатать в бинарники, хотя лучше
сделать обычный сайт.
Хотя как альтернатива есть: Kotlin/Java + JavaFX/Swing
Правда для iOS, Android придется пилить отдельные интерфейсы (UI),
но ядро кода останется общим.
да это все хуйня, для каждой системы морду нужно делать в родной среде.
вопрос, что считать родным для винды в 2016 году?
Памяти на диске С уже совсем не осталось.
UWP
mvc устанавливается отдельным инсталлером, сколько жрет места не скажу
для mysql нужен mysql connector
>да это все хуйня, для каждой системы морду нужно делать в родной среде.
Ты не подумай что я топлю за JS/HTML5, но ты сравни
страшные-но-"родные"-винформочки и современные Rich-Internet-Application
пример:
1) C# проекта на MVVM, где UI для каждой системы "родной"
https://youtu.be/4GI5380QkRU?t=33m15s
2) какой-нибудь Google.Doc или online-редакторы
(списочек) http://habrahabr.ru/company/mr_gefest/blog/247147/
>вопрос, что считать родным для винды в 2016 году?
в 2016 конечно UWP (их кстати тоже сейчас можно на JS делать)
>Как мне подключить MySQL и Asp.NET MVC?
В каком смысле подключить? Либо используй готовый шаблон ASP MVC, который уже есть в студии, либо накидай нужных пакетов через NuGet. MySQL тоже через NuGet добавляется. Плюс можешь отдельным инсталлером поставить глобальный ADO.NET провайдер, чтобы можно было из студии лазить по серверам и колхозить модели в дизайнере.
>Памяти на диске С уже совсем не осталось.
У тебя там что, флэшка вместо винча?
Скажите, где посты хранятся на традиционной борде - в БД или, не знаю, JSON ведется для каждого треда?
>Скажите, где посты хранятся на традиционной борде - в БД или, не знаю, JSON ведется для каждого треда?
По-моему лучше БД т.к. сортировка и фильтрация из коробки забесплатно.
потому, что он школьник
Сам я погроммистом никогда не работал, но всегда этим увлекался. По универу знаком с Си и плюсами. Недавно на досуге стал ковырять C#, и он мне понравился. Но не с точки зрения практических задач, а просто по удобству использования. Хочется выучить этот язык и применить свои знания на практике, но вот где он юзается ИРЛ я не знаю.
>Анон, для каких задач используется C#?
Погугли Андрей Орлов, «Записки системного автоматизатора».
Пишем всё исключительно под Windows, 100% времени в офисе.
>по удобству использования
Я бы так не сказал.
Пилю на нем бэкенд (на ASP.NET Core под Ubuntu и запускаю в Docker) для мои
Android / iOS приложений.
Не для сайтов, а именно для JSON бэкендо отлично подходит.
На подходе уже RC2.
Я давно говнокодирую винформы и консольные "скрипты" – совсем отстал от жизни. О новомодных технологиях только слышал. Да что уж там: для меня, модные технологии – это WPF.
В общем, всё очень плохо.
Что сейчас нужно знать, чтобы знание шарпа не было бесполезным скиллом при устройстве на работу?
Занимаюсь-десктопом-ненавижу-фронтэнд-вёрстку-и-пидорские-дизайны-с-бородками-и-усиками
html, css, js, angular, bootstrap, node, bower, gulp, asp.net mvc 5, ef6, sql. Ну или впф, но он не так популярен, большинство в 16 году не делает десктоп.
>большинство в 16 году не делает десктоп
Ага. Я так и понял. И это грустно.
Я правильно понимаю, что для десктопа сейчас популярно какое-то UPW? Это что-то типа фреймворка для сборки под все устройства на винде. Но там, вроде бы, слишком дофига интеграции с виндовым стором (который я даже не видел ни разу, лол – нафиг он нужен?) и какой-то невнятный модный дизигн.
>это грустно
Это жизнь, бессмысленно бороться с будущим.
Хотя поговаривают что не перевелись еще в СНГ компании которые занимаются
софтинами для документооборота на WinForm, COM и Powershell.
>для десктопа сейчас популярно какое-то UPW
Ну да, это чет среднее между silverlight и wpf.
Фиг знает насколько это в СНГ востребовано.
WCF, WebApi, EF - это если не любишь фронтэнд.
Есть ASP.NET MVC4 приложение.
Есть авторизация юзеров.
Задача - добавить им сраные аватарки.
Как это можно реализовать правильно?
Нагуглил 2 варианта:
1) добавляю в модель юзера byte[] поле в которое буду помещать картинку. (Но как мне ее оттуда на вьюшку доставать?)
2) добавляю в модель юзера url картинки. Картинки хранятся в специальной папке.
Сделай апишечку которая берет id и отдает картинку, где она ее будет брать - тебя ебать не должно со стороны фронта, и будешь обращаться к ней как-будто она - ссылка на картинку.
Как я понял тебя, то получится WebAPI контроллер, с реализацией первого варианта?
Не волнуйся, там будет 304 Not Modified. Что приводит к следущей проблеме - хуле блядь картинки не обновляются, я ж их заменил.
Контроллер и с диска может читать, и рандомно генерировать, причем здесь бд.
Куки подойдут.
var clientHandler = new WebRequestHandler()
{
Proxy = new WebProxy("https://176.9.19.101:3128", false),
UseDefaultCredentials = false,
UseProxy = true
};
работает так
var clientHandler = new WebRequestHandler()
{
Proxy = new WebProxy("176.9.19.101", 3128),
UseDefaultCredentials = false,
UseProxy = true
};
WebProxy не может в https напрямую, там колхозить нужно.
Но почему она не отображается в Component Services (или вообще хоть где-нибудь)?
Для регистрации COM-объектов вроде другая утилита используется - regsvr32.exe или как-то так. Давно писал под СОМ, точно не помню уже.
У меня сейчас через паршиал вью делается, но так каждый раз таблица по новой рендерится.
byte[] targetArray = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
byte[] sourceArray = new byte[] { 44, 45, 46, 47 };
sourceArray.CopyTo(targetArray, 2);
//1 2 44 45 46 47 7 8 9 10 - результат
Стандартный CopyTo делает как раз то что мне нужно, но насколько я понимаю он создает каждый раз новый массив.
Я погуглил и нашел Buffer.BlockCopy(Array, Int32, Array, Int32, Int32) сделает ли он тоже самое но только быстрее ?
Или вот есть еще один BinaryWriter.Write (Byte[], Int32, Int32) судя по примеру, он использует MemorySteram и делает аналогичную операцию. Но насколько быстро?
Какой метод лучше всего использовать, если оба байтовых массива имеют заранее известную длину и заранее известно что куда вставлять.
Buffer.BlockCopy
RegSvr32 регистрирует COM объекты, написанные на каком-нибудь нативном делфи или плюсах.
Для .Net библиотек именно RegAsm.
Оно работает, я могу например в FoxPro сделать CreateObject("имя_сборки.имя_объекта") и все норм, но если я том же фоксе открываю Object Browser, то в нем он не отображается (хотя мне кажется должен).
Поясните за кроссплатформенность. Как только вышла VS2015, на офсайте трубили о разработки одного приложения сразу под всё: это тебе и сайт, и десктоп под шинд, и моб приложение сразу под андр, винмоб и айос. Звучало охутетельно, ибо нахуй мне всё это переписывать под разные ос. На русяз ресрсах тогда ничего толкового по этой теме не нашёл, кроме: под айфон нужно на обджси писать, это же натив, С# это гемор и костыли. Под андрогин ток на ява, всё остальное ебание мозгов.
Понимаю, если это работает, некоторые модули всё равно придётся переписать под особенность ос. Не беда, хоть не весь код.
Расскажите по этой теме, плиз.
Гугли HTML5
Например:
catch(A a) {...}
catch(B b) {...}
Если A наследник B, то после обработки ветки А выполнится ветка B?
То есть например мне надо иметь один xml файл на каждую "таблицу", и при этом использовать ссылки на объект вместо копии объекта.
Стандартным XmlSerializer понятное дело нельзя, но есть же еще какой-то DataContractSerializer, может что-нибудь с ним можно сделать?
Вообще DbContext надо юзать внутри using
using (var entities = new MyDbContext()) {
// поделал что-то с базой
entities.SaveChanged();
}
dbContext.Dispose();
после плюсов впечатления охуительные.
бывает местами вырвиглазно, но в основном я даже не знаю как объяснить, все как то "просто".
какие подводные камни?
меня теперь назовут опущенным?
Дальше будет только лучше.
Пилю под UPW задавайте свои попросы.
Аналогичная хуйня, два последних года пилю на заводе скрипты и всякие аддоны под САПР и всякую хуйню типа PDM для внутренних структур. "html, css, js, angular, bootstrap, node, bower, gulp, asp.net " - вот это вот все говно на производстве нахер не нужно. Показал один раз начальству WPF - сказали красивенько.
опыта нету нихуя.
мне надо привести delegate к object когда присваиваю
и обратно когда вызываю.
у TreeNode есть Tag типа object, как туда нужно засунуть тип delegate, чтобы по клику вызывался нужный метод в нужном клаcсе.
у меня не получилось.
я сделал через класс прокладку, все работает, но мне кажется в с# должно делаться как то "правильнее".
почему мне никто не отвечает,
я просто так за интернет плачу?
еще заметил, все классы создаются аккуратные, паблик\приват грамотно расставляются, имена красивые, слабые связи,
просто полный феншуй и все как то само получается.
на плюсах так получается после одного или даже двух! рефакторингов, а тут почемуто сразу.
naming convention шарповый для начала осиль.
Какой самый простой способ прикрутить авторизацию и аутентификацию к существующей бд.
Мне нужно привязать таблицу с логином и паролем к уже созданной и заполненной таблице Person и к таблие с логинами таблицу с ролями. И чтобы с методами контроллера работал аттрибут Authorize.
Всюду гайды по идентити мембершимп и т. д. ориентированы на то что сначала создается средства авторизации аутентификации и все нужные таблицы генерируются сами, а для существующей бд нигде инфы нету.
>на производстве
Да там бы и собака красивенькой показалась. WPF хорошо, когда у тебя таргет ОС - W, в других случаях остается только тот список.
Разве класс Delegate нельзя кастануть в Object и обратно?
Проблема в том, что у меня изначально нет датасета или базы вообще. Есть обычная модель с объектами, я хочу ее хранить в файлах.
Короче наверно лучше не выебываться и взять какой-нибудь access с orm.
>>639585
Тебе нужно написать свои имплементации IUser, IUserStore, и сделать классы наследуемык от UserManager и PasswordHasher.
В UserStore есть методы FindById, FindByName, Create, Delete, и так далее. Так вот, в них тебе надо будет написать код обращения к своей базе.
Там один класс в один файл. Что если я хочу например компании писать в один файл, сотрудников в другой, а должности в третий?
Я этим не занимался, но вот например можно поизваращаться так: засериализуй всё в один файл, потом вручную разбей хмл по верхним уровням, а перед десериализацией склей. Пиздец конечно, но я не знаю зачем тебе нужно в отдельных файлах, и чтобы при этом ссылки работали. Этого сериализация явно не поддерживает.
Но это будет даже медленнее чем писать все в один файл, так как лишние действия.
По-сути несколько сущностей почти не меняются и их вообще не нужно сериализовывать-десериализовывать с каждым сохранением.
То есть вот зачем мне пересохранять список должностей, который обновляется раз в год, с каждым сохранением нового сотрудника?
Но походу xml на такой изврат не рассчитан, либо какую-то кастомную сериализацию велосипедить с нуля, либо БД.
Что вообще сейчас лучше брать из файловых БД? Чтобы можно было открыть и отредактировать другой программой? Знаю только access и dbf.
>Чтобы можно было открыть и отредактировать другой программой
Да любая dbms
postgres и pgAdmin например
я наркоман наверное, почему то был уверен что можно было просто одной дллкой в приложение встраивать, и читать базу из файла, а щас не могу найти.
В общем sql server compact должно подойти вроде
sqlite же
var v = new List<Jigurda>(),
набить его джигурдами, а потом сделать
v[42].Hui = 100500;
//? Что-то сходу так не получается и не гуглится. Мне ведь придётся заёбываться с v.Replace(42, myNewJigurda); верно?
var v = new List<Jigurda>(),
набить его джигурдами, а потом сделать
v[42].Hui = 100500;
//? Что-то сходу так не получается и не гуглится. Мне ведь придётся заёбываться с v.Replace(42, myNewJigurda); верно?
Можешь.
С class Jigurda получается, со struct Jigurda - нет. Какая-то нехорошая value type магия. Ну да ладно, напишу оба варианта и посмотрю профайлером, что быстрее. Хотя struct предпочтительнее по некоторым иным причинам.
А, ну так естественно со структурами не заработает, чего же ты ожидал
Если часто изменять значения внутри объектов нужно, то вероятней классы предпочтительней будут.
>3. А можно ли будет мне, как разработчику, настроить своё приложение так, чтобы у пользователя зависимости качались при установке из инета (как это на линуксах)? Или зависимости в любом случае нужно поставлять с собой?
Можешь поставить юзеру chocolatey и уже с его реп подтянуть все зависимости. Можно и сам софт добавить в репу.
>>632795
В БД конечно. А JSON уже билдишь/ребилдишь при обновлении треда(пост добавился например). Хотя это не обязательно, можешь просто через API отдавать из базы или из кеша, тут уж как сделаешь.
А вообще нахер тебе MVC? У меня борда на Nancy вполне себе и под mono бегает(уж как пару месяцев).
Короче, есть один формат данных. Выглядит примерно следующим образом
{"q", "w", {"e", {"r", "t"}, "y", {"u", "i"}}, {"o", "p"}}
Вот это дело мне надо распарсить в объекты вида
class Node
{
List<Node> children;
string value;
}
Я написал следующее
http://pastebin.com/ZacM2nXR
Оно работает, но крайне медленно.
Как это сделать правильно?
Кого у тебя там где таск блочит? Ты чего хочешь добться то, чтобы тест успешно прошел и только потом твой поток упал?
Я уже понял как надо делать, рекурсии быть вообще не должно, все делается за один проход. До ума только довести надо.
Ну рекурсия, если не сильно большая вложеность не особо повлияет, хотя избавиться от нее тоже норм. Нужно свести к минимуму операции над строками они могут давать большое замедление.
P.S. возможно ли вообще найти работу C++ джуниором, сколько не искал ничего нету.
Вложенность уровней двадцать может, файлы по нескольку мегабайт.
Без рекурсии работает в сотни раз быстрее если верить тому что показывает stopwatch (но пока неправильно, буду пердолиться с дебагом).
Читай Эндрю Троелсена "Pro C# 5.0 and .NET 4.5". Со знанием синтаксиса втянешься за 2-3 недели.
Он уже знает синтаксис и ооп извините за выражение, нахуй ему троелсен, теперь asp.net надо, да ef.
Вроде сделал, дает такой же результат как и предыдущий мой код
http://pastebin.com/GdLgHYaJ
Алсо, как здесь можно избавиться от конкатенации и почему это даст прирост в скорости?
Угу, только вот знать синтаксис != знать кучу полезных и удобных фич, тот же linq, например, или там сериализацию, или WCF. Или WPF/xaml. Или WinForms. Или интерфейсы.
и нахуй ему ASP.NET, если, скажем, он будет бэкэнд писать?
>>641064
Конкатенация строк плодит создание новых строк, это не плюсы, тут на каждый чих создается новая строка, что ниибически отжирает ресурсы.
В моем случае надо смоделировать в тестах одноврменную работу двух потоков дергающих ресурс.
Языки программирования:
Мэйнстрим (область с заторможенным временем, в которой работает 99% программистов. Время заторможено потому, что в серьезном бизнесе сделать за предсказуемое время важнее, чем быстро. Сейчас в мейнстриме примерно 1975-ый год):
• C (няшная сишка) — самый простой и убогий язык из тех, что используются на практике. Более убогий — только брейнфак. Единственное выразительное средство — копипаст, для автоматизации которого есть даже специальный второй язык-препроцессор. Делает решение любой задачи нетривиальным, так что его решение задач с его помощью может требовать высокой квалификации. Тем не менее, типичная няшаблядь ничего не знает и не умеет. Даже дибиловатый обгвидок знает, помимо гвидопыха, еще и сишку, но сишкаблядь не знает ничего кроме нее. Языком владеют почти все, но только няшаблядь этим знанием гордится, остальные стыдливо скрывают. Также няшаблядь может ошибочно считать что знает C++ или несуществующий язык C/C++. Благодаря C компьютерные программы — самое ненадежное из всего созданного человеком.
• C++ (кресты) — самый сложный и уродливый (и то и другое временно, появился быстро развивающийся соперник) из языков, использующихся на практике, но выразительность его невелика. Усовершенствованная сишка. Сложность использования повышает ЧСВ крестобляди до заоблачных высот, но вменяемая крестоблядь понимает, на каком говне пишет и постоянно пытается себя загипнотизировать. Поэтому любое упоминание крестов в негативном ключе вызывает атомный батхерт крестобляди и обвинения в некоем «неосиляторстве». Насчет неосиляторства крестоблядь, обычно, права — это вообще распространенное явление. Интересно, что до недавнего времени неосиляторами были даже разработчики большинства крестокомпиляторов. Тем не менее, по мере «осиливания» крестов, мнение о них может меняться только к худшему.
• Java (жаба) — кобол нашего времени. Убогий и примитивный, но простой язык. Хорошо подходит для написания зиллионов строк кода быстро-быстро, пока солнце еще высоко. Наряду с крестами — один из самых массово используемых языков.
• C# (сисярп) — зародился в недрах микрософта из-за анальной копирастии Сан и отсутствия стандарта жабы как сплав жабы и сишки, но впоследствии стал самым уебищным, но единственным в мейнстриме ФЯ. Уверенно движется к тому, чтобы отобрать у крестов лавры самого сложного и уродливого языка. 80% программистов на нем знают и используют только его 20% подмножество — жабу. Попытка микрософта насильно осчастливить жава- и крестоблядей для последующего захвата и порабощения, о чем неустанно предупреждают ведущие мозолееды. Кресты двухтысячных.
Немейнстрим (не используются на практике, программисты знающие эти языки, на работе пишут на других, указанных в конце):
• ML (стрелочное эмелеговно) — старейший ФЯ, многое в нем напоминает современные языки, но сделано впервые, а потому криво и уродливо. Уебищность эмеля и его производных часто связывают с практичностью, потому как все языки используемые на практике (мэйнстрим) непереносимо уебищны, что позволяет надеяться на то, что и эмелеговно тоже скоро к ним присоединится. Любой программист на эмеле — будущий программист на хаскеле, который пока боится привыкнуть к хорошему и блевать кровью на работе. Типичная эмелеблядь пишет на работе на крестах или сисярпе.
• Haskell (хаски) — условно современный ФЯ, являющийся, разумеется, говном, но несколько менее вонючим, чем остальное здесь перечисленное. Имеет подмножество Haskell 98 для обучения второкурсников, на котором даже факториалы и фибоначи нормально не напишешь и раковую опухоль, которая его убивает — стандартную прелюдию. Несколько сниженная в сравнении со средним уровнем говенность хаски — основная мишень для критики. Дело в том, что он, по всей видимости, недостаточно уебищен для мейнстрима, да еще и вызывает головные боли и тошноту у знающих его программистов, когда те отрабатывают свой кредитный фокус-покус на работе. Типичная хаскиблядь зарабатывает на жизнь программированием на сисярпе, крестах.
Языки программирования:
Мэйнстрим (область с заторможенным временем, в которой работает 99% программистов. Время заторможено потому, что в серьезном бизнесе сделать за предсказуемое время важнее, чем быстро. Сейчас в мейнстриме примерно 1975-ый год):
• C (няшная сишка) — самый простой и убогий язык из тех, что используются на практике. Более убогий — только брейнфак. Единственное выразительное средство — копипаст, для автоматизации которого есть даже специальный второй язык-препроцессор. Делает решение любой задачи нетривиальным, так что его решение задач с его помощью может требовать высокой квалификации. Тем не менее, типичная няшаблядь ничего не знает и не умеет. Даже дибиловатый обгвидок знает, помимо гвидопыха, еще и сишку, но сишкаблядь не знает ничего кроме нее. Языком владеют почти все, но только няшаблядь этим знанием гордится, остальные стыдливо скрывают. Также няшаблядь может ошибочно считать что знает C++ или несуществующий язык C/C++. Благодаря C компьютерные программы — самое ненадежное из всего созданного человеком.
• C++ (кресты) — самый сложный и уродливый (и то и другое временно, появился быстро развивающийся соперник) из языков, использующихся на практике, но выразительность его невелика. Усовершенствованная сишка. Сложность использования повышает ЧСВ крестобляди до заоблачных высот, но вменяемая крестоблядь понимает, на каком говне пишет и постоянно пытается себя загипнотизировать. Поэтому любое упоминание крестов в негативном ключе вызывает атомный батхерт крестобляди и обвинения в некоем «неосиляторстве». Насчет неосиляторства крестоблядь, обычно, права — это вообще распространенное явление. Интересно, что до недавнего времени неосиляторами были даже разработчики большинства крестокомпиляторов. Тем не менее, по мере «осиливания» крестов, мнение о них может меняться только к худшему.
• Java (жаба) — кобол нашего времени. Убогий и примитивный, но простой язык. Хорошо подходит для написания зиллионов строк кода быстро-быстро, пока солнце еще высоко. Наряду с крестами — один из самых массово используемых языков.
• C# (сисярп) — зародился в недрах микрософта из-за анальной копирастии Сан и отсутствия стандарта жабы как сплав жабы и сишки, но впоследствии стал самым уебищным, но единственным в мейнстриме ФЯ. Уверенно движется к тому, чтобы отобрать у крестов лавры самого сложного и уродливого языка. 80% программистов на нем знают и используют только его 20% подмножество — жабу. Попытка микрософта насильно осчастливить жава- и крестоблядей для последующего захвата и порабощения, о чем неустанно предупреждают ведущие мозолееды. Кресты двухтысячных.
Немейнстрим (не используются на практике, программисты знающие эти языки, на работе пишут на других, указанных в конце):
• ML (стрелочное эмелеговно) — старейший ФЯ, многое в нем напоминает современные языки, но сделано впервые, а потому криво и уродливо. Уебищность эмеля и его производных часто связывают с практичностью, потому как все языки используемые на практике (мэйнстрим) непереносимо уебищны, что позволяет надеяться на то, что и эмелеговно тоже скоро к ним присоединится. Любой программист на эмеле — будущий программист на хаскеле, который пока боится привыкнуть к хорошему и блевать кровью на работе. Типичная эмелеблядь пишет на работе на крестах или сисярпе.
• Haskell (хаски) — условно современный ФЯ, являющийся, разумеется, говном, но несколько менее вонючим, чем остальное здесь перечисленное. Имеет подмножество Haskell 98 для обучения второкурсников, на котором даже факториалы и фибоначи нормально не напишешь и раковую опухоль, которая его убивает — стандартную прелюдию. Несколько сниженная в сравнении со средним уровнем говенность хаски — основная мишень для критики. Дело в том, что он, по всей видимости, недостаточно уебищен для мейнстрима, да еще и вызывает головные боли и тошноту у знающих его программистов, когда те отрабатывают свой кредитный фокус-покус на работе. Типичная хаскиблядь зарабатывает на жизнь программированием на сисярпе, крестах.
Еще к мейнстриму относится скриптоговно, все эти JavaScript, PHP, Python, Ruby.
Я так и делал, но они в гонке гасят друг друга. Т.е. если один работает, то второй куда-то девается (ни эксепшена ничего нет, просто пропадает).
Мне тоже, так же как и с жирухами. Одна любила ходить под ручку и лизать на людях, так я так взбеслися, что оттлкнул ее она чуть не упала, лол.
Страсти какие
Написано что куки наборы цепляются к каждому запросу юзера если аунтетифицирован.
А как сервер знает что именно этот куки набор норм, а этот поддельный?
И как он связывает куки набор с конкретным юзером?
В телеге всё ещё действует шарпоконфа, оцениваем тней, добавляемся в друзья, бугуртим от того что нужно на что-то жрать, а тырпрайз всех заебал.
нее какой asp.net, не хочу я лезть в бэкэнд, хочу только программы пилить и всё. поэтому и спросил заодно и про c++
Так никто не хочет, чтобы ты пилил программки, все хотят чтобы ты шлепал круды.
я чет вообще не понимаю, я что не смогу найти работу джуниором где смогу пилить по?
Так чем заменять-то?
Мне в принципе уже пофиг, парсинг быстро идет, теперь вся проблема в том что нужно сделать десять тысяч command.ExecuteNonQuery с инсертами за приемлемое время, а не за два часа.
Попробуй сделать из распаршенных данных DataTable а потом SqlBulkCopy. Может это то, что тебе надо. https://msdn.microsoft.com/en-us/library/ex21zs8x(v=vs.110).aspx
StreamReader reader = new StreamReader("test.dat");
file = reader.ReadToEnd();
использует больше памяти чем собственно весит test.dat?
У меня OutOfMemoryException от этого просто.
>Как мне всю эту хуйню связать вместе
Трей Нэш, книга по C# 2010 года. Там есть примеры с геометрическими фигурками (расчёт площади, виртуальные функции и т.д.).
Зависит от того, как ты будешь этот зоопарк использовать, лол. Задача вида `Что от чего наследовать` неполна без описания стороны, которая будет использовать объект базового класса.
Ну, например, надо мне создать новый экземпляр жира с шеей 18см. Я выбираю из комбобокса подкласс "Жираф", в датагрид подгружаются поля с его характеристиками, я ввожу в нужное поле "18см" и жму кнопку добавить. И вот у меня появляется жираф с пиздюшной шеей. Как то так.
https://github.com/dotnet/coreclr/blob/master/src/mscorlib/src/System/IO/StreamReader.cs#L422
https://github.com/dotnet/coreclr/blob/master/src/mscorlib/src/System/Text/StringBuilder.cs#L328
Потому что он сначала считывает файл по кусочкам в StringBuilder, а потом преобразует уже в string.
Очевидно что для этого нужно как минимум удвоенный размер файла.
Именно.
1) типов животных
2) возможных свойств (высота, вес ...)?
Ну пусть будет 10 типов и по 20 свойств каждого типа. Судя по вопросу, ты хочешь предложить обратиться к рефлексии или условий if нахуярить, да?
Понимаю, что код говно, но не понимаю, где конкретно.
https://github.com/mrnovvad/Win2ch/blob/master/Win2ch/Models/Board.cs#L33
Почему все зависимости внутри классов, как будешь юнит-тесты писать?
Вот смотрю я на твой код и вроде бы все ок (ооп, инкапсуляцию).
А с другой стороны:
1) асинхронный код соседствует с мьютабл свойствами
2) зависимости разрешаются внутри методов. Попробует их вынести в конструктор - получится каша (сервис и модель в одном классе)
Я пишу правда не в продакшене тк не работаю C# девелопером.
Могу пояснить что-нибудь про coreclr.
А я так и понял (это же C# тред), правда это не отменяет того, что надо поддерживать ресайз.
Вот поясни мне, когда в проект добавляются депенденси, типа кестрела и статик файлов, они прописываются в json конфиг, но сохраняются не в папку с проектом, а в директорию юзера/.dnx. Как потом это работать будет? Сервер, где вся эта разворачиваться будет сам должен поддерживать все другие ддлки?
другой анон
Во первых, у тебя на сервере должен быть установлен DNX с нужными рантаймами.
Раньше я на серваке в папке с сорцами в ручную вызывал
dnu restore
Сейчас деплою через docker, а в конце Dockerfile прописываю тот же dnu restore
Спасибо, посмотрел, там еще dnu publish есть, как раз то что мне нужно было. иногда надо все же читать документацию
расшифруй фразу недокодеру. Что там не так и как надо?
Тогда посмотри в сторону http://www.w3schools.com/sql/sql_insert_into_select.asp
Либо параметризованных запросов, по идее они быстрее выполняются, чем просто запросы.
Так же можно перед тем как записывать данные можно удалить ограничения(constraints) и индексы тогда про инсерте не будет проверок на ограничение и пересчитыванте индексов и записи будут добавляться быстрее.
Я переделал на считывание по одному символу через Read(). В итоге чтение само по себе память не грузит. Но, объект полученный после парсинга все равно весит в два раза больше файла! Файл 2.5 гига, объект доходит до 4 и вылетает с out of memory.
http://pastebin.com/cGMHqYKZ
Ну так считай у тебя в памяти все символы файла, но еще обернутые в структуры, которые тоже память едят.
5.02.03 нагуглишь сам, а вот 5.05 еще нигде нет, хотя очень хочется, ибо там и автодополнение для фшарпа, и поддержка nuget3
Есть одна тян VS 2015.
Решил на нее накатить Решарпер и чет КРАКЕН не сработал. Есть эдвайсы?
инб4 купи за деньги
Ключеделки пока нет, но есть сброс триала через удаление ключа реестра:
reg delete "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Ext\Settings\{9656c84c-e0b4-4454-996d-977eabdf9e86}" /f
bump
Конечно Community хватает за глаза.
Лично мне хватает и Visual Studio Code для разработки моих "микро"-бэкендов.
https://www.visualstudio.com/en-us/products/compare-visual-studio-2015-products-vs.aspx
Мне еще в Professional нравится CodeLens, в CE его нет (а вот в VSC есть в упрощенном виде).
http://pastebin.com/sHNvj2CQ
зависает на "создание контрольной точки восстановления"
Потому что ты чмо и неудачник, причем такой, что даже девочки тебе не дают.
Да отключи ты КТВ на время установки и все
Везде вакансии ASP.NET, но нигде не конкретизируется особо чем там в конечном итоге придется заниматься.
Еще и кофе тимлиду носить, да.
А какая разница, ну будешь ты ебаться и с разметкой вместо однообразных крудов.
ну разметка в принципе - не большая проблема.
Что касается js - сейчас почти все проекты делаются на js фреймворках. Потому придется учить.
Вроде как полная замена MonoStudio для Linux/OSX и VS+Resharper для Windows.
Самое смешное что написана на Java (Roslyn видимо только для компиляции используется).
Взлетит конечно же, у них все взлетает.
Как обнулить дата контекст (???) для свойства SelectedIndex или как прибиндить SelectedIndex?
Если убрать DataContext, то привязка к SelectedIndex работает на ура
http://pastebin.com/TbQFc6Jh
Есть один стаковерфлоу
public class HuiGovno
{
public string qwe
{
get {
return qwe;
}
set{
asd = qwe.someShiet();
}
}
public string asd {get; set;}
}
Указывает на гет qwe и говорит стаковерфлоу
Что я делаю не так?
1) выкладывай свое гавно на pastbin
2) у тебя там рекурсия ты из qwe пытаешься вернуть qwe,
а ты судя по всему хочешь вернуть asd (return asd)
то что qwe на самом деле метод get_qwe(), прочитаешь в умной книжке
(и вообще как работают свойства в C#).
P.S. в set правильно будет
asd = value.someShiet();
Какой в этом смысл, ты его не устанавливаешь?
>выкладывай свое гавно на pastbin
БЛЯДЬ, ДЕБИЛЫ, ПРЕКРАТИТЕ ССЫЛАТЬСЯ НА ЭТО ЗАБАНЕННОЕ ГОВНО. ВЫКЛАДЫВАЙТЕ СВОЮ ПАРАШУ КУДА-НИБУДЬ НА ДОТНЕТФИДДЛ ИЛИ АНАЛОГИЧНЫЙ РЕСУРС.
В РФ дохуя у кого пастебин в пермабане. Реально лениво ради какой-то очередной ссаной лабы в этом ИТТ поднимать тор.
>деплою через docker
А зачем это вообще нужно? Ну в смысле докер этот? Какие бонусы?
>>643538
>Что нужно знать чтобы попасть работать на бэкэнд?
MVC, WCF (может и не пригодиться вообще), всю хуйню с БД, желательно в совершенстве (там нюансов до жопы, всё знать невозможно в принципе, но уметь развернуть Linq запрос в SQL ты должен уметь будучи разбуженным посреди ночи, а также полностью понимать суть транзакций и всякой параши в виде deadlock'ов).
Но с вероятностью овер 90% ты будешь допиливать и фронтэнд, от этого никуда не деться.
Да я просто даун и какую-то хуйню пилю
Смотри, допустим у класа есть 2 свойства a и b. Мне нужно, что-бы при записи в а, в b автоматом записывало какое-то нужное мне говно, типо b = a.GetType()
Мне тащемта срать на рекламу, я её уже давно не видел на всех сайтах. А вот то, что линк может тупо не открыться в зависимости от упоротости провайдера - это проблема.
2. Для выкладывания кода есть более удобный сервис, ideone.com
public class Dvach
{
private string a;
public Dvach()
{
this.a = "abu";
}
public string A
{
get
{
return this.a;
}
set
{
this.SetB();
}
}
public string B
{
get;
set;
}
private void SetB()
{
this.B = "huy";
}
}
public class Dvach
{
private string a;
public Dvach()
{
this.a = "abu";
}
public string A
{
get
{
return this.a;
}
set
{
this.SetB();
}
}
public string B
{
get;
set;
}
private void SetB()
{
this.B = "huy";
}
}
sps)))
AdBlock
>>644389
Я вместе с проектом сразу распространяю mono, dnx, ffmpeg (для пересжатия видео), nginx.
Те администратору не надо ничего до устанавливать на сервер, просто вызвать команду docker run.
Все зависимости прописываются в одном файле, в виде скрипта и хранятся вместе и исходниками.
>Я вместе с проектом сразу распространяю ...
Так а в чём смысл этого докера? Админу впадлу сраный кофиг происать для вхоста? Или это дополнительный слой виртуалиазции, чтобы ещё больше тормозило?
Docker работает через LXC и на linux там нет оверхеда, а вот osx/windows он работает через VirtualBox
> Админу впадлу сраный кофиг происать для вхоста
У меня в первом контейнере может быть одна версия моно/dnx, а во втором другая.
И оба образа не видят друг/друга и думаю что работают на выделенном сервере.
Да даже один образ может быть сделан на базе Debian, второй на Ununtu, а запускаться будут на докере в Fedora (или Windows).
Те вообще полная изоляция от внешних условий.
О а вот и блондинки подтянулись в тред
>Да даже один образ может быть сделан на базе Debian, второй на Ununtu, а запускаться будут на докере в Fedora (или Windows).
Зачем это на продакшене, поясни плз. Мне действительно интересно.
Вот взять к примеру официальный контейнер ASP NET Core
https://hub.docker.com/r/microsoft/aspnet/
он сделан на базе Debiun, а сервак у тебя на Ubuntu.
Можно конечно заморочиться и написать все самому, но как-то проще унаследоваться от уже готового контейнера.
Вообще на hub.docker.com >300k готовых образов на все случаи жизни.
А общем забей, тебе это не нужно работает не трогай, поменял один конфиг - упал весь продакшен
А именно. Я использую зеннопостер + сниппеты на #, соответственно имею плохой компилятор по умолчанию. Задача состоит в том, что бы отправить в ssh команду, дождаться ответа сервера и отправить токен сверху. Сейчас я приведу кусок говнокода:
http://pastebin.com/raw/Uavi0vJi
Последний раз у меня зависло на строчке:
shellStream.WriteLine(token);
Предполагаю что нужно вместе с токеном отправить и энтер, но не знаю как. А еще вопрос у меня есть, как получать в этой ситуации ответы сервера, потому что брейкпоинты меня не выручают совсем.
не помогло, если только нет какого-то решения в виде мультиплай строки, где он последовательно через паузу или без нее отправит сначала token потом null
> И откуда у тебя этот васянобилд?
Последний официальный, еще в прошлом году пришло. Из какой пещеры капчуешь, что даже Windows Update нет?
Пожалуйста, обращайтесь еще.
Так то винда постоянно обновляется, эт у тебя бетапараша.
vs требует 10ю винду, а я перекатываться с семерки не хочу
читал про consulo, но не могу понять как его установить с гитхаба
Посмотри в сторону SharpDevelop.
я скачиваю visual studio community 2015 с оф сайта и вот, что мне показывают при открытии
Хуйня какая-то, у меня и на семерке и на восьмерка не без проблем ставится и работает.
s/не//
>Community
Она поддерживает xamarin? А то у меня какие-то проебы на VS15. Ошибка + создается 1 проект вместо одного. на андроид
миллионник конечно же
троелсена, рихтера, джона скита
Винда 64 бит? На x32 не заведётся.
Ну сейчас у меня своя блат-хата, с мамкой тоже ничего было. Лучше чем говно жрать на съёмной.
https://www.microsoft.com/ru-ru/learning/exam-70-483.aspx
Если кто-то сдавал, как готовился, чем готовился, это нормальная книжка? https://ptgmedia.pearsoncmg.com/images/9780735676824/samplepages/9780735676824.pdf
Вот у нас есть метод, который возвращает Task^int^
В нем соответственно есть await, значит когда мы доходим в этом методе до await, то этот метод вместо int возвращает Task^int^. И наш основной поток идет дальше, в основном потоке у нас.
Task^string^ getStringTask = НашметодAsync();
И у нас например в этом потоке нужен результат, то мы делаем вот так: string result = await getStringTask. И основной поток приостанавливается и ждет результата, если он еще не готов.
То есть конструкция string getStringTask = await НашметодAsync(); не имеет смысла, ибо мы все равно ждем конца выполнения НашметодAsync. То есть смысл есть только если нам нужно выпуолнить НашметодAsync, а где-то очень далеко и не скоро нам понадобился результат?
>>647022
Ну и еще сверху вопрос.
Например у меня общий поток идет по циклу или таймеру там 100мс и например мне нужен результат асинхронного метода и мне в принципе результат нужен тогда, когда он сделается. То есть если конструкция await останавливает основной поток, мне это не подходит, как сделать проверку на то что сейчас в переменной Task^int^ или уже int?
Ну если консольное приложение или приложение без UI и string getStringTask = await НашметодAsync(); находится в main методе?
То есть я правильно понимаю?
While{Task^string^ getStringTask = НашметодAsync();
if(НашметодAsync().IsCompleted()){
string result = await getStringTask;
}
}
Или можно без await, зачем мне await если таск уже закомплитился?
Ну в консольном возможно и не придется использовать, а вот и с винформочками, и с wpf, и с асп очень полезен.
Хуйню какую-то написал.
Мне нужно найти индекс элемента с максимальным значением. В массиве.
Вот что я пишу:
int indexOfBest = 0;
for (int i = 0; i < portfolio.Count; i++)
{
if (sharpe == sharpe.Max()) { indexOfBest = i; break; }
}
Я успешен?
Где у сраного Array функция получения индекса по значению? У List<T> есть IndexOf().
И еще один вопрос возник на днях.
Я много работаю с процентами, использую double формата 0.хх . Целочисленные значения брать от 0 до 100 и в методах конвертировать в double, делить на 100 и потом обратно - не удобно. Очень много лишних действий будет.
Стала возникать следующая проблема. Я пишу:
double percent = 0;
percent += 0.01;
...
percent -= 0.01;
И на выходе у меня получается не ноль, а что-то типа 0.0000000000000001 . После этого оператор сравнения с другими процентами (например с нулем) не срабатывает. Вся программа ломается.
Погрешность в последней цифре после запятой возникает обычно на вычитании. Возникает не очень часто, закономерности я не обнаружил.
В общем, я теперь как даун пишу
percent = Math.Round(percent * 100) / 100;
после каждого арифметического действия.
Есть менее идиотские способы решить эту проблему? Помимо очевидной работы с int .
>Что почитать:
>Pro C# 5.0 and the .NET 4.5 Framework (Andrew Troelsen)
Новое издание для .NET 4.6 вышло месяц назад.
http://rutracker.org/forum/viewtopic.php?t=5122975
epub можно конвертировать в pdf онлайн
http://www.epub-to-pdf.com/
Это потому что тип флоат по стандарту юзает экспоненту по основаню 2, соответственно некоторые простые конечные десятичные дроби (например 0.3) в таком формате точного представления не имеют. Юзай вместо даблов decimal, у него основание экспоненты 10. Хотя по идее в любом случае луже сравнивать вещественные числа с учетом эпсилон окресности.
decimal
(пишу диплом, а с какой стороны подходить не знаю)
Вот ссылка https://www.youtube.com/watch?v=v6T20A3b6qw
Вроде будут задвигать про Rider (новая среда разработки C#)
О, спасибо, то что нужно. Про Ride будет интересно послушать, ибо для половины проектов, вероятней всего, на него и перекачусь. Ну, все что не связано с формочками и WPF
Всегда ставлю this. Подчеркивание для петухов.
Скачал 2 вот этих книги. Хочу, чтоб это максимально завлекло, будут у вас советы какие, антоши?
Я бы Пахомова не читал, подозрительная книга.
По моему очень классно, ни какого булщита, просто говорят как пишут код и показывают сорцы.
Ну по большому счету да, только чтобы этот API был в нормальной доступности, читабелен.
Смотрю тут на гугл драйв, хочу запилить возможность получения списка файлов и их размера конкретного юзера и отображение в окошечке.
насколько сложно для полного нуба в проге?
Настрой как нравится.
Добавь листбокс на формочку, отправь запрос куда нужно WebClient'ом, прочитай ответ, распарсь нужной либой в зависимости от формата (json.net для json, например), и выведи в листбокс нужное значение. Потом допиливай как нравится. В зависимости от того как запилен API, авторизируйся там, токен сохрани где-то и шли с запросом, ну ты понял.
Советую поискать генераторы C# кода из Json, что бы самому на это время не тратить.
С wpf пердолюсь, формочки не нужны.
Вот начал читать про авторизацию в гугло диске, там какая то йоба, какой то аккаунт регистрировать, вообще капец.
А вообще спасибо
Ну так для тебя WPF будут те же формочки, даже контрол называтся так же: ListBox. Основная разница будет, если полезешь в MVVM с биндингами или вручную XAML решишь писать, но я не думаю, что оно тебя в данным момент нужно. А без этого всего у тебя будет практически идентичный код и с WinForms, и с WPF. Если хочешь простенькое API без всей этой хуйни - http://openweathermap.org/api
Спасибо. Weather map юзать нельзя, этот Api использовал препод.
эти делегаты и обобщения хуй усвоишь одной теорией.
Вижуал студия сама умеет делать Special Paste JSON разметки.
Двачую
Я помню кто-то мне ссылку полезную именно по многопоточности тут кидал
Но я ее в избранное забыл кинуть
Допустим, в первом примере я подаю на вход 1, 2, 3. На выходе ожидаю получить 9, 8, ?, 7 (где знак вопроса это не важно какое число, любое число не будет считаться ошибкой).
На другом примере на вход 4, 5, 6, а на выходе жду ?, 5, 6, ?
На входе 7, 8, 9, на выходе ?, 7, 8, 9
И так далее. Так вот, подскажите, можно ли в каких-нибудь частых библиотеках для имплементирования нейронных сетей задать свою функцию распространения ошибки, что игнорировать ошибки на тех или иных нейронах на каждой из итераций.
Не, там отдельный сайт был, с автором книг по сишарпу как-то связанный.
Вообще, где про это все можно почитать?
Нет, вообще про работу, доступ и т.д. И какого черта я не могу подключиться по этому ключу. И почему не могу получить гребанный токен.
А тебя почему это ебет? Ну ретвитит, то что ему нравится, что в этом такого? Ты вот сидишь на сайте, где говно и гуро постят на постоянной основе.
Я макоеб.
В программировании нуб - знаю только джава немного и для нее пользовался Intellij Idea.
Пробовал поставить Eclipse, CodeBlocks - нихуя не выходит там настроить под С# и хоть какой-то простейший код скомпилить.
Знаю, что кривые руки и все дела.
Пожалуйста, божилы божественного языка, порекомендуйте:
1) бесплатное IDE для С# для МакОС (желательно чтобы еще поддерживало работу с созданием интерфейса как VS)
2) ресурс где будет краткий ввод в синтаксис С#
Спасибо.
Там есть только какая-то херня, которая работает как редактор для чтения кода и все. Называется Visual Studio Code. Обычной VS как для винды - нет.
Нихуя там не работает ничего.
>Котаны, я на свою больную голову пошел в универ на второе высшее, сейчас надо писать на С#.
Дружищ, в каком универе программа на С#?
> бесплатное IDE для С# для МакОС (желательно чтобы еще поддерживало работу с созданием интерфейса как VS)
Бери VS Code и жди выхода джетбрейновской иде, потом перекатишься. Дизайнеров интерфейса не дождешься. Да и даже если бы поддерживались, то все равно винформс на моно работает через жопу, а WPF работает не работает вообще. Но всегда есть виртуалки, 2016 года на дворе, епта. Запустил за 15 секунд, подрочил шарп, вышел.
Я хохол, Киевский Политех.
На основах программирования надо писать лабы на С++. На ООП надо пилить проект на C#.
На еще какой-то хуйне типа "ПО промышленных сетей" надо пилить лабы на С.
Так VS code даже не скомпилирует код и не запустит программу - какой от него толк?
В смысле?
Пишу на нем консольные утилиты и ASP NET Core сайт.Все компилит и запускает.
В принципе для работы даже не нужен mono.
Как альтернативу можешь заюзать Xamarin Studio, на нем можно обычные WinForm приложения писать.
Ох, я из раши, тут только на плюсах было
Проиграл с пхп-хипстеров и двух пайтонов-близнецов
Исключение типа "System.Runtime.InteropServices.COMException" возникло в mscorlib.dll, но не было обработано в коде пользователя
Дополнительные сведения: Не удалось получить фабрику класса COM для компонента с CLSID {} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Схуяли? Кто тебе такое сказал?
if (this.%control_name%.invokeRequired%)
если я итак знаю, где нужно использовать инвоук, а где нет?
Или возможны ситуации, когда можно из одного треда обратиться к элементу управления другого треда обычным вызовом, т.е. не через инвоук?
Можешь взять экстеншн-метод вроде этого http://stackoverflow.com/a/14106410/1250699 и вообще забыать про эти проверки.
Но они ведь всё равно будут выполняться. Мой вопрос был в другом - нужно ли проверять на возможность вызова в данном треде, если я знаю, к какому треду относится метод нужного мне элемента управления? Или возможны ситуации, когда из одного треда обращение к элементу управления другого треда может идти через инвоук для определённых методов, и через явный вызов метода просто по ссылке на объект?
Если уверен, что в одном треде - то не используй, если не уверен в каком треде, то используй, очевидно же. В мультитредовых я всегда обычно InvokeRequired использую, а однотредовых - нет. Ну и вообще, сама проверка InvokeRequired ничего не стоит по сути
Нельзя. Тред это системная штука, а не шарповая. Когда тред закончит выполнение, он просто исчезнет из системы, считай это так. Но в шарпе есть тредпул, треды из которого ты можешь переиспользовать. Они будут просто создаваться заранее, а ты в свою очередь просто запросишь уже созданный тред из тредпула и в нем запустишь свой код.
Оки, спс.
> Если да, то можно создавать хоть овердохуя тредов, и единственной проблемой будет только выделение памяти под ссылки на треды, лишь бы эти треды своевременно закрывались?
Но если ты создаешь дохуя тредов, которые что-то выполняют, то будет тратиться куча времени на переключение контекста. Да и накладные расходы при создании тредов есть
Ага.
>>650289
Ладно, с регистрацией хуй с ней эта дллка ебанутая, нашел нормальную, которую не нужно регистрировать. Но опять встает вопрос, как добавить стороннюю ДЛЛку в проект, чтобы она компилилась вместе с релиз билдом в папку к экзшнику.
Если у тебя готовая DLLка, то не нужно ее компилить. Добавь ее куда-нибудь в папку Lib, и в свойствах поставь "Copy to Output Directory" в True или вроде того. Возможно еще Build Action в Content нужно будет поставить
Ну я вот например в проекте добавил ссылку на дллку, она у меня например C:\myDLLS, смотрю в свойствах проекта ссылку на эту библиотеку там написано путь к dll - C:\myDLLS, когда делаю билд, то она в папке с экзешником в папке lib, суть вопроса в том, что когда делаю билд, то путь разве не сохраняется на C:\myDLLS\somelib.dll, а магическим образом меняется на Экзешник+\lib\somelib.dll?
Штоу? Положи просто эту либу к проекту и выставь в свойствх, чтобы она к бинарнику ложилась, да и все. Не нужны тебе никакие c:\mydlls
Вот, объясню наглядно, вот я в проекте сделал папку lib для библиотек внешних, которые подключаю, потом добавляю эту библиотеку в проект из этой папки, у меня получается путь как на картинке D:\test\test\lib\библиотека.dll
То есть когда билдю проект, эта ссылка меняется на Экзешник+\lib\библиотека.dll?
Так у тебя дллка managed, добавь как референс и делов.
> эта ссылка меняется на Экзешник+\lib\библиотека.dll?
Не, просто OutputPath/библиотека.dll
эта ссылка меняется на Экзешник+\lib\библиотека.dll
Можешь просто отбилдить проект и сам посмотреть в bin/debug что лежит
Это копия, сохраненная 8 марта 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.