Сохранен 513
https://2ch.hk/pr/res/570067.html
Прошлые домены больше не функционируют, используйте адрес ARHIVACH.HK.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

OFFICIAL C# THREAD №14

 Аноним 31/10/15 Суб 16:27:18 #1 №570067 
14462980382450.jpg
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.
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/mUAJ6Ugz

Прошлый тред сагается обиженными детьми здесь: https://2ch.hk/pr/res/563725.html
Аноним 31/10/15 Суб 16:52:38 #2 №570136 
>>570132
А чому у тебя так горит с шарпа-то, уебок?))))
Аноним 31/10/15 Суб 16:57:17 #3 №570154 
Нахуя его вайпать, если он и без того никогда не висит на нулевой?
Аноним 31/10/15 Суб 17:04:33 #4 №570183 
>>570147
>не горит
>тратит время, чтобы вайпать тред
Пиздунишка.
Аноним 31/10/15 Суб 17:06:57 #5 №570193 
>2015
>вайп вручную
Аноним 31/10/15 Суб 17:31:49 #6 №570263 
>>570183
Вот еблан. Ты думаешь вручную вайпается?
Аноним 31/10/15 Суб 17:42:19 #7 №570277 
>>570263
Я знаю, чем это делается.
Но ты же не просто по фану вайпаешь тред, уйдя пить чаёк, ты следишь за его перекатами, отвечаешь мне - именно что проебываешь своё время.
Вангую в тебе баттхертнутого безработного/студентика/свидетеля опенсорса и швабодки, ибо представить адекватного человека, который бы стал проебывать свободное от трудовой деятельности время я не могу.
Можешь верещать что угодно в ответ, мне похуй, я выводы сделал, омежка ты обоссаный)))))
Аноним 31/10/15 Суб 17:46:54 #8 №570279 
Что-то этот недовайп скрывается поразительно легко. Вообще не стараешься?
Аноним 31/10/15 Суб 17:49:08 #9 №570285 
>>570279
Так он же мамкин воен с дотнетом, который не нужен. А на деле даже на доширак себе заработать не может и завидует черной завистью успешным крудошлёпам на asp.net за 3к $ в месяц :)
Аноним 31/10/15 Суб 17:53:08 #10 №570288 
Поясните за основные сферы деятельности в шарпе. То есть какие обычно ставятся задачи перед шарпистом.
Аноним 31/10/15 Суб 18:02:37 #11 №570297 
>>570288
Жрать говно.
>>570279
Ладно, сейчас поем и если спать не лягу то поправлю.
Аноним 31/10/15 Суб 18:04:53 #12 №570301 
>>570297
>Жрать говно
>сейчас поем
Приятного аппетита.
Аноним 31/10/15 Суб 18:06:26 #13 №570304 
>>570301
Подловил, какой находчивый. Сделаю вид что ты мне просто так пожелал приятного аппетита и продолжу наворачивать пельмешки.
Аноним 31/10/15 Суб 18:20:24 #14 №570316 
14463048241370.jpg
>жрать пельмешки
>между просмотром мультиков
Просто хуже червя-пидора.

Аноним 31/10/15 Суб 18:22:07 #15 №570320 
>>570316
Ну и чего в этом плохого? Всяко лучше чем использовать сисярп и .НЕТ
Аноним 31/10/15 Суб 18:25:04 #16 №570323 
>>570288
бамп вопросу
Аноним 31/10/15 Суб 18:29:08 #17 №570329 
>>570288
Разработка энтырпрайза под десктопы. Хули, только дон тен нормально поддерживает десктоп на винде.
Аноним 31/10/15 Суб 18:31:19 #18 №570331 
>>570329
А в чем отличия от джавы тогда? Кроме того, что сишарп анально под винду. Я не толщу, просто ньюфаг.
Аноним 31/10/15 Суб 18:36:22 #19 №570337 
>>570331
Я тебе только что объяснил, десктоп под винду. На джаве писать гуишные приложения — боль. Паттерн мввм реализуется через жопу. А си шарп берёшь и хуячишь на одной платформе всё. ВЦФ тоже удобен, в целом на сишарпе гораздо легче писать, чем на джаве. Если хочешь знать различия на более низком уровне, то тебе в соответствующие статьи, там тебе каждую мелочь объяснят.
Аноним 31/10/15 Суб 18:37:25 #20 №570338 
>>570337

Окей, я понял. Спасибо.
Аноним 31/10/15 Суб 18:37:47 #21 №570339 
>>570320
Ты, кажется, не понимаешь, что язык - это просто инструмент и каждый язык нужно применять сообразно задачам. Дотнет был запилен для быстрого написания корпоративного говна и вполне хорошо себя показывает там, тем более что лучше всех остальных. Написание программ на нём дает мне неплохие деньги, выше чем у других программистов (кроме javaребят) и все пищущие для микроконтроллеров за еду/швидители швабодки давятся от озвученной суммы заработка и начинают что-то там верещать.


Ты просто показываешь себя невероятным дауном, говоря такие глупости. А самое что ужасное - ты показываешь себя очень некомпетентным, а это в данной профессии хуже рака.
Это как кричать
>ДРЕЛЬ - ГАВНО, А ВОТ МОЛОТОК - ЗАЕБИСЬ РЯЯЯ
В общем, смотри свои бурятские мультики под пельмешки дальше, пока дяди зарабатывают деньги, дружок.
Аноним 31/10/15 Суб 19:04:17 #22 №570355 
>>570339
Но ведь для сисярп/жабы нет подходящих задач. А твои мантры я уже слышал тысячу раз про инструмент под задачу.
Аноним 31/10/15 Суб 19:05:00 #23 №570356 
14463075006420.jpg
>>570288
>>570329
Не слушай его, он лжет.
Дотнет изучают ради комбы ASP.NET + WCF. Большинство вакансий этой теме посвящены.

Десктоп разработки в разы меньше и она сосредоточена где-то в другом месте.

Пишу из-за мкада.
Аноним 31/10/15 Суб 19:06:51 #24 №570360 
>>570355
Чего тебе нужно?
Окей, мы идиоты, изучающие платформу, которая бесполезна и не востребована. Можешь считать, что у нас такое странное хобби.
Какое тебе дело? Наши вкусы так важны для тебя, что ты будешь тратить время и энергию, чтобы нас переубедить?
Аноним 31/10/15 Суб 19:07:40 #25 №570363 
>>570360
Нет же, чтобы послушать оправдания вашей бессмысленно деятельности.
Аноним 31/10/15 Суб 19:09:14 #26 №570364 
>>570355
>Но ведь для сисярп/жабы нет подходящих задач
Потому что ты сказал? Просто кек.

>А твои мантры я уже слышал тысячу раз про инструмент под задачу.
И это как-то отменяет их правдивость?

Хотя чего я вообще разговариваю с дауном, все вскукареки которого сводятся к
>оппонент сказал X = Y
>я скажу что X != Y и не приведу ни одного аргумента
Аноним 31/10/15 Суб 19:10:21 #27 №570366 
>>570363
>бессмысленно деятельности.
Ну, во-первых, мы этим зарабатываем себе на весьма небедную жизнь, в отличие от маминого борщехлеба.
А во-вторых... впрочем, на этом и закончим.
Аноним 31/10/15 Суб 19:10:49 #28 №570367 
>>570356
А теперь быстренько пояснил мне в каких сферах ты используешь вцф? Также хотелось бы услышать как там поживает асп.нет? С седьмой беты до восьмой ты обновлялся? Заебись?
Аноним 31/10/15 Суб 19:17:13 #29 №570373 
>>570364
>>570366
Ребят, не кормите.

>>570367
Я не работаю, я еще маленький. Вакансии просматриваю время от времени. Везде ASP+WCF. Вакансию на десктоп не встречал ни разу за несколько лет. Кое-где указывают WPF в списке требований, где-то двадцатой позицией в списке. Город-милионник.
Аноним 31/10/15 Суб 19:23:03 #30 №570376 
14463085836810.jpg
>>570363
Аноним 31/10/15 Суб 19:26:13 #31 №570377 
14463087730950.jpg
Анчоусы, как думаете, где будет дотнет через год-два?
Ухожу в армию и боюсь, что мне придется чуть ли не переучиваться полностью по возвращению из неё.
Аноним 31/10/15 Суб 19:29:31 #32 №570380 
14463089716250.jpg
>>570377
Тут даже два анона всё время службы провели в учебке.
Аноним 31/10/15 Суб 19:30:24 #33 №570381 
>>570377
Да ты и шарп не вспомнишь через год без компьютера.
Аноним 31/10/15 Суб 19:49:20 #34 №570387 
1. На дотнет делают Андроид и иОс приложения? Или это плохо работающие возможности, которые лучше не использовать?
2. Почему поддержки МакОс нету? Это намеренные действия МС, чтобы конкурентную ОС не поддерживать?
Аноним 31/10/15 Суб 20:10:34 #35 №570400 
>>570377
Да ничего кардинально не изменится за 1 год. Вон asp.net 5 планируют релизуть только в первом квартале 2016. Пока его обкатают, пока народ переучится, пока проекты новые пойдут, глядишь только в 17-18 годам на него пересядут, если пересядут вообще.
https://github.com/aspnet/Home/wiki/Roadmap

В прочем вебе тоже ничего не поменяется. Сейчас попиливают не спеша функционал es6. Пока допилят, пока старые браузеры с поддержки снимут.
http://kangax.github.io/compat-table/es6/
Ангуляр новый, например, пилят чисто под новые спеки и хуй знает когда его допилят и использовать будут. Кто может уже пилит на нем и под новые спеки, пользуясь каким-нибудь транспайлером, типа бейбл. Даже не хочу в этот хипстерский фронтенд лезть.

Что там мс с десктопом делает для меня вообще загадка. Какие-то, блеать, приложения для вин8, приложения для вин10, хуйня какая-то. WPF никуда уже не денется, отомрет вместе с дестопом разве что.

За мобильные приложения особо не скажу, ибо никогда не писал, но на последней презентации мс хвастались разработкой кроссплатформенных мобильных приложений. Xamarin все дела. Может выстрелит и все начнут писать говноприложения под андроид на дотнете.

Вообще, мс начал двигаться в сторону кроссплатформенности. Запилили переносимое ядро coreclr. Написали рантайм поверх рантайма и радуются. В отдаленной перспективе будем писать один раз и дебажить на всех платформах.
http://docs.asp.net/en/latest/dnx/overview.html

Аноним 31/10/15 Суб 20:13:48 #36 №570403 
>>570400
Я вот думаю, будет ли также везде через год-два Jquery+Ajax?
Аноним 31/10/15 Суб 20:14:12 #37 №570405 
>>570288
Все, что угодно. Можно писать серверные приложения без какого-либо UI. Можно писать движки баз данных (RavenDB). Можно поддерживать говно на винформах. Можно писать десктопные приложения на винформах и впф. Можно веб на асп.нет мвц. Можно еще REST сервисы хуярить, только они не нужны.
Аноним 31/10/15 Суб 20:14:21 #38 №570406 
>>570403
Как пить дать.
Аноним 31/10/15 Суб 20:48:26 #39 №570422 
>>570387
http://xamarin.com/
Аноним 31/10/15 Суб 21:03:04 #40 №570433 
>>570429
Привет, пошёл нахуй!
Аноним 31/10/15 Суб 21:04:46 #41 №570434 
Зойчем прошлый тред завайпали?
Аноним 31/10/15 Суб 21:32:30 #42 №570445 
14463163508170.jpg
Антоны, хелп. Как переопределить Equals так, чтобы можно было определять, что например два падика одинаковые, если ссылаются на один дом? (т.е сравнение по ссылкам)
Аноним 31/10/15 Суб 21:57:36 #43 №570453 
>>570445
ReferenceEquals сравнивает ссылки вопрос не читал
Аноним 31/10/15 Суб 22:01:02 #44 №570456 
>>570288
Можно устроиться в Майкрософт и писать Бинг, он на шарпе.
Аноним 31/10/15 Суб 22:32:26 #45 №570473 
Суп, аноны. Посоветуйте, куда пойти получать опыт работы (живу в ДС), шарп учил соло, осознал шилда, мартина и банду 4х. Сам студота, медвуз, кибернетик, 4 курс.
Аноним 31/10/15 Суб 22:33:36 #46 №570474 
14463200169180.jpg
>>570288
Аноним 31/10/15 Суб 23:03:55 #47 №570481 
>>570434
Потому что я так захотел. Сейчас и этот завайпаю, только переделаю вайпалку чуток чтоб вы куклой не могли скрывать.
Аноним 31/10/15 Суб 23:06:36 #48 №570483 
Лень гуглить, спрошу здесь. Как объявить несколько массивов?
double [] a, b, c;
или
double [] a, []b, []c;
Аноним 31/10/15 Суб 23:07:55 #49 №570486 
>>570483
>Лень гуглить, спрошу здесь
А я тебя пошлю нахуй, окей?
Аноним 31/10/15 Суб 23:10:42 #50 №570487 
>>570481
>Делает вид, что не вводил капчу руками в течение часа как даун.
Аноним 31/10/15 Суб 23:11:09 #51 №570488 
>>570484
Семен не палится.
Аноним 31/10/15 Суб 23:18:46 #52 №570490 
>>570488
>эт всё симён мам я не обосрался)))
Пододрись хоть.
Аноним 31/10/15 Суб 23:19:56 #53 №570491 
>>570488
Не, внезапно это был другой анон.
>>570487
Ну ты и дебил, все это выше постилось одной строчкой на bash. Но сейчас нормально сделаю. И чтоб куклой не скрывалось.
(Автор этого поста был забанен. Помянем.)
Аноним 31/10/15 Суб 23:21:44 #54 №570492 
>>570486
Справедливо, хз зачем я в тред написал. За 10 секунд в студии можно убедиться, что второй вариант вообще не компилится.
Аноним 31/10/15 Суб 23:42:26 #55 №570508 
>>570405


Написать что угодно и на крестах можно. Я просто хотел узнать, что светит мне, если я захочу податься в шарп. На данный момент прохожу испытательный срок в фирме, пишу десктоп на Qt. Подумал, что не так уж и плохо. До этого учил джаву, но заебался на туевой куче фреймворков ебучие бины и связанные с ними эксепшены до сих пор мне снятся в снах.Но так как я студентота без опыта работы, хотел бы узнать основные направления в топовых ныне на рынках языках в моем мухосранске это джава, сисярп и кресты, пхп и прочая ебень мне малоинтересна.

inb4: всем похуй
Аноним 01/11/15 Вск 00:56:29 #56 №570540 
14463285892040.png
14463285892041.png
Есть такая копипаста учебного кода
Когда я загружаю страничку все текстбоксы заполнены значениями модели, хоть нигде во View присваивание атрибуту value не делается и в конструкторе там где должно блыть value передается null.
То есть получается указав текстбоксам id, name соответствующие именам свойств модели эти текстбоксы будут автоматически заполняться значениями модели?
Аноним 01/11/15 Вск 03:15:04 #57 №570581 
Прошу прощения за вайпера, он у нас дурачок. Но вы в следующий раз жмите жалобу сразу, а то я чисто случайно узнал, лол.
мод-крестоблядь
Раз уж вы перекатились, то я тот тред просто закрою, чтобы двух сразу не висело.
Аноним 01/11/15 Вск 03:34:36 #58 №570583 
>>570581
>мод-крестоблядь
Что же ты тогда удалил мой крестовый вайп?
Аноним 01/11/15 Вск 03:38:36 #59 №570585 
>>570581
>мод-крестоблядь
Врёти, требую мод-подпись.
Аноним 01/11/15 Вск 03:42:57 #60 №570587 
>>570583
Потому что ты дискредитируешь наш язык, хуиная голова. Я не сру в чужих тредах, и ты так делай.
Аноним 01/11/15 Вск 03:49:17 #61 №570592 
>>570587
А в своих тредах срать можно?
Аноним 01/11/15 Вск 09:21:56 #62 №570624 
Почему HttpClient (да и WebClient) загружает сжатые файлы? Вот к примеру скачал файл, который должен весить 300кб, но после загрузки весит 86к.
http://pastebin.com/M2gDJbnr
Аноним 01/11/15 Вск 09:26:34 #63 №570626 
>>570624
Хотя вот попробовал скачать с vk и файл загрузился в обычном объеме.
Ну так как скачать в нормальном объеме файл?
Аноним 01/11/15 Вск 09:30:44 #64 №570627 
14463594441390.png
>>570624
Думаю это не проблма хттпклиента или вебклиента, что-то макабовское.
Аноним 01/11/15 Вск 09:34:03 #65 №570628 
>>570627
ну это я понял. Теперь вот хочу 304 килобайта получить вместо 86
Аноним 01/11/15 Вск 09:47:51 #66 №570630 
>>570628
К сожалению не понимаю чего ты хочешь, т.к. мой хром и фф тоже скачивают 85кб файл.
Аноним 01/11/15 Вск 11:57:15 #67 №570647 
14463682353190.jpg
Так и знал, что подгоревший даун-вайпер - линуксодаун, который не может заработать себе даже на ролтон/мивину.
Ах, мои вангования оказались успешными.
Аноним 01/11/15 Вск 14:08:44 #68 №570706 
14463761243340.png
>>570630
В том-то и дело, что мой хром скачивает по 304 килобайта.
Вот и хочу знать, почему так
Аноним 01/11/15 Вск 14:11:54 #69 №570710 
14463763147050.png
>>570706
Ну тогда думаю это тебе у разработчиков макабы нужно узнавать.
Аноним 01/11/15 Вск 15:03:21 #70 №570737 
>>570067 (OP)
Сап, шарпач. Сейчас упарываюсь созданием простенького редактора картинок\иконок с упором на пиксельарт. Но вот возникла большая проблема: вменяемого примера редактирования картинок с масштабированием пикселей я не нашёл. Всякие извращения типа отрисовки пикселей панелями не в счёт.
Можете посоветовать направление, в котором стоит копать?
Аноним 01/11/15 Вск 15:54:26 #71 №570759 
14463824661040.png
14463824661051.png
>>570706
Cloudflare кэширует картинки
Аноним 01/11/15 Вск 16:00:59 #72 №570768 
>>570737
https://en.wikipedia.org/wiki/Image_scaling
Вероятно, тебе надо один из алгоритмов прикрутить.

http://www.cambridgeincolour.com/tutorials/image-interpolation.htm
Впрочем, там есть картинка увеличения без интерполяции пикселей. В целях редактирования тебе, наверно, нужно показывать увеличенные оригинальные пиксели, а не их интерполированные вариации.
Можно создать кастомную сетку пикселей поверх холста и кисть, работающую на основе разрешения этой сетки. Каждый квадрат сетки соответствует пикселю исходного изображения. При увеличении масштаба сетка увеличивается и ее ячейки заполняются цветом соответствующего пикселя, аналогично при уменьшении масштаба. При этом масштаб изображения при редактировании не может быть меньше оригинального, чтобы не приходилось смешивать пиксели. Редактирование, соответственно, будет заключаться тупо в заполнении сетки кистью с разрешением клетки.
Хуйня, канешь, какая-то. Надо смотреть как работают аналогичные редакторы пиксельной графики.
Аноним 01/11/15 Вск 16:04:07 #73 №570773 
Посоны, начил читать полный справочник C# Герберта Шилдта, все заебись, разбираются примеры, все по ним понятно. Но для закрепления нужна практика - самостоятельно что-то написать. Где можно задачи поискать?
Аноним 01/11/15 Вск 16:08:42 #74 №570778 
>>570773
В интернете. Кеп. Можешь глянуть что тут пилят в треде и повторить. Или можешь погуглить базовые алгоритмы и структуры данных cs и реализовать их.
Аноним 01/11/15 Вск 19:17:21 #75 №570858 
14463946412910.jpg
>>570067 (OP)
Архитекторы, подскажите.

Общий вид задачи: нужны две перегрузки конструктора в обобщенном классе ClassName<T>
1. public ClassName (T)
2. public ClassName (string)

Проблема в том, что если юзер вызовет ClassName (string) при typeof(T)==String, возникнет неопределенность.
Как быть?

Я пока что додумался до следующих вариантов, но все они уродливы.
а) Добавить лишний пустой объект к одному из методов, для предотвращения неопределенности.
public ClassName (T)
public ClassName (object Null, string)

б) Единственный метод. Ненужный параметр отправлять как null (или значение по умолчанию для нессылочных типов). Пользователь класса ни за что не догадается, как им пользоваться.
Method<T>(T, string)

в) Сделать конструктор скрытым. Добавить два статических метода, вызывающих конструктор.
public static ClassName<T> CreateByT (T)
public static ClassName<T> CreateByString (string)

Сам конструктор оформить сигнатурой из варианта б. И молиться, чтобы этот говнокод никто никогда не увидел.


Делаю класс типа Result<T>, который хранит в себе результат операции, либо сообщение об ошибке. Очень не люблю type-unsafe код, поэтому делаю обертки вместо работы с object. Это нормальная практика?

Если что я две недели в C#, так что любым советам рад.
Аноним 01/11/15 Вск 19:48:40 #76 №570887 
>>570858
То, что ты под пунктом в) указал, чем тебе не нравится? Нормально все, если тебе нравится, конечно, с result возится.

private Result<T> (T value, bool isValid, string error);

public static Result<T> CreateResult<T>(T value)
{
return new Result<T>(value, true, default(error));
}

public static Result<T> CreateErrorResult(string error)
{
return new Result<T>(default(T), false, error);
}


Result<User> result = service.GetUser(id);
if (!result.IsValid)
{
Console.WriteLine(result.Error);
}
else
{
Console.WriteLine($"{result.Value.Id} - {result.Value.Name}");
}
Аноним 01/11/15 Вск 20:11:04 #77 №570901 
>>570887
Но, вообще, лучше в таком случае кидать ексепшоны, ибо что-то нехорошое у тебя в методе произошло и он ошибку выдал. Если тебе надо валидацию произвести, то это отдельная тема и там только сообщение о невалидных значениях нужно:

IEnumerable<ValidationResult> valResults = Validate(user);
if (valResults.Any())
{
valResults.ForEach(Console.WriteLine);
}
else
{
service.UpdateUser(user);
}
Аноним 01/11/15 Вск 20:24:55 #78 №570912 
>>570887
>То, что ты под пунктом в) указал, чем тебе не нравится?
В конструкторе лишний параметр, который не используется. Некрасиво же.

>если тебе нравится, конечно, с result возится.
Посмотрел сейчас на вызов... И теперь мне больше не нравится с Result возиться. С тем же успехом мог исключение сгенерировать и поймать в вызывающем методе.

При обоих подходах каждая содержательная строка кода превращается в пять. И код становится нечитаемым. Печалька.
Аноним 01/11/15 Вск 20:40:38 #79 №570924 
>>570912
Ну, это проблемка, да.

Если у тебя много участков кода такого содержания:
try
{
service.Update(user);
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}

То ты можешь вынести это в отдельный метод:

public static void SafeRun(Action action)
{
try
{
action();
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
}

и использовать уже его:
SaveRun(() => service.Update(user));

или подцепить aop фреймворк и заюзать аспект с логированием ексепшенов:

[LogExceptions]
public void MthodName()
{
....
service.Update(user);
....
}

Вариантов по скрытию бойлерплейта, в принципе, масса.
Аноним 01/11/15 Вск 20:41:46 #80 №570925 
>>570901
Разницы-то получается нет. Только класс лишний написали (ValidationResult).
Можно было из Validate выбрасывать InvalidArgumentException вместо ретурна. И ловить его уровнем выше. То же самое по объему кода и по читаемости:

try
{
Validate(user);
}
catch (InvalidArgumentException ex)
{
cw(ex.Message);
}
service.UpdateUser(user);
Аноним 01/11/15 Вск 20:47:16 #81 №570931 
>>570925
Ты не сможешь несколько проверок провести, если будешь кидать ексепшоны при валидации. Либо тебе придется несколько раз ловить эксепшоны при валидации и собирать их в агрегатный ексепшон и выбрасывать его. Все равно новый класс создашь и производительность посадишь немного.
Аноним 01/11/15 Вск 20:54:33 #82 №570936 
>>570924
С делегатами хорошая идея. Можно сделать string вариант с возвратом ошибки. Если в вызывающем методе нужно узнать о результатах - ловить ретурн. Если не нужно - не ловить. (тогда проверка в одну строку будет, супер)

>или подцепить aop фреймворк и заюзать аспект с логированием ексепшенов
Интересно, сейчас погуглю.

Спасибо.
Аноним 01/11/15 Вск 20:58:30 #83 №570941 
>>570931
Да, точно, я не подумал об этом. Ошибочное действие предотвратил только, всю информацию о вводных данных не собрал. Если пять ошибок в пяти полях - придется юзеру пять раз данные отвравлять и пять раз по одной ошибке ловить лол. Жестоко.
Аноним 01/11/15 Вск 21:18:08 #84 №570961 
WPF-мудак треде.
Поясните за бд. Делаю приложение для прослеживания средств. Озадачился как хранить данные. В случае сервера понятно - коннектишься к базе и все хорошо. Но я пилю приложение для клиентской стороны. Получается нужно будет запускать бд и соединяться с ней, или есть менее упоротый вариант (Пару раз видел как С++ приложение использует Sqlite).
Аноним 01/11/15 Вск 21:30:59 #85 №570969 
>>570961
Ты либо так же коннектишься к бд на сервере напрямую, либо пишешь сервис и получаешь данные через него, либо используешь локальную бд, если приложение не требует многопользовательского режима с общими данными. Можешь так же хранить данные в обычных файлах. It depends, короче.
Аноним 02/11/15 Пнд 00:03:50 #86 №571089 
hh.GetRequirements(".net", "Moscow");
>Отличные знания HTML/CSS/JavaScript и связанных технологий
>знание технологий HTML/DHTML, JavaScript, CSS;
>Базовые знания HTML, CSS, JavaScript/TypeScript;

Как это понимать? Что значит "знания"? Что там знать? Что <head> находится выше <body>?

От программистов реально требуют навыки верстки? Разве для этого не существует специальной профессии под названием "верстальщик"?

"Знания" они сука требуют. Если бы вам знания нужны были - вы бы книжки искали, а не работников.
Аноним 02/11/15 Пнд 00:33:33 #87 №571098 
>>571089
А ты слишком тупой чтобы осилить профессию "верстальщик"?
Зря ты так на самом деле, там у них дохуище заебов, хорошего версталу знакомого с инструментами и стандартами найти сложнее дотнетчика ну и они просто экономят, лол
Аноним 02/11/15 Пнд 00:49:16 #88 №571111 
Сап, программач!
Помоги, чем сможешьплеас.
Есть один проэкт ASP.NEP с MVC.
Значит создаяю я такой 2 модельки:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace hg.Models
{
class Hui_govno
{
public string name { get; set; }
public int dcp { get; set; }
public int dmg { get; set; }
public int qwe { get; set; }
public bool shit { get; set; }
}
}

и

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity;

namespace hg.Models
{
class Hui_govnoContext
{
public DbSet<Hui_govno> Hui_govnos { get; set; }
}
}

А потом создаю хоумКонтроллерлалка ААЗАЗАЗ))))0)0)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using hg.Models;

namespace hg.Controllers
{
public class HomeController : Controller
{
Hui_GovnoContext db = new Hui_GovnoContext();
// GET: Home
public ActionResult Index()
{
IEnumerable<Hui_Govno> hui_govnos = db.Hui_govnos;
ViewBag.Hui_govnos = hui_govnos;
return View();
}
}
}

На индексе добавляю представление:

@{
Layout = null;
}

<!DOCTYPE html>

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>HUI_GOVNO!!</title>
</head>
<body>
<div>
<h3>HUI_GOVNO!!</h3>
<table>
<tr>
<td><p>HUI_GOVNO!!</p></td>
<td><p>HUI_GOVNO!!</p></td>
<td><p>HUI_GOVNO!!</p></td>
<td><p>HUI_GOVNO!!</p></td>
</tr>
@foreach (var b in ViewBag.Hui_govnos)
{
<tr>
<td><p>@b.name</p></td>
<td><p>@b.dcp</p></td>
<td><p>@b.dmg</p></td>
<td><p>@b.qwe</p></td>
<td><p><a href="/Home/Change/@b.Id">Dinahooj</a></p></td>

</tr>
}
</table>
</div>
</body>
</html>

и оно мне выдает ошибку в файле index.cshtml в строке : @foreach (var b in ViewBag.Hui_govnos)


Исключение типа "System.NullReferenceException" возникло в App_Web_benjc5qp.dll, но не было обработано в коде пользователя

Дополнительные сведения: Ссылка на объект не указывает на экземпляр объекта.

че делать, Анон?
Аноним 02/11/15 Пнд 00:54:20 #89 №571113 
>>571098
Да я ничего против верстальщиков не имею, отличная профессия. Просто верстка - это на 1% знания и на 99% руки и опыт. Очень практическая и прикладная область. Синтаксис html за полчаса выучить можно. Но чтобы нормально верстать - нужны месяцы практики.
Такие требования, это то же самое что в вакансии водителя написать "требуется человек со знанием автомобилей".

Я не против научиться верстать, просто я сильно сомневаюсь, что asp пацаны реально в конторах сидят макеты верстают. Подозреваю, что это требование ничего не значит и 99% дотнет разработчиков версткой никогда не занимаются. Написали требование просто для выебонов. Известно же, что чем больше сложных слов в объявлении, тем круче контора.

Ну и соответственно я не хочу тратить несколько месяцев на практику верстки, если мне никогда в жизни этим заниматься не придется (а так скорее всего и есть).

Бесят эти ушлепки, почему они не могут нормально по-русски написать РЕАЛЬНЫЕ требования? Друг у друга какую-то хуйню копипастят, в которой большинство написанного - пустые ничего не значащие слова.

А нахуй работу, лучше буду дальше хикковать и питаться дошираком. Противно с этими мудаками связываться. Вдруг это заразно.


>ну и они просто экономят, лол
Экономят? Нанимают программиста, чтобы он делал работу верстальщика? Вместо того, чтобы нанять верстальщика, который за ту же работу возьмет меньше денег и сделает ее в три раза быстрее и лучше? Офигенная экономия.
Аноним 02/11/15 Пнд 00:59:40 #90 №571114 
Может пора добавить в шапку/первым сообщение ссылки на архивач с предыдущими тредиками?
Аноним 02/11/15 Пнд 01:02:08 #91 №571117 
>>571114
Их кто-то читает?
Аноним 02/11/15 Пнд 01:04:25 #92 №571120 
>>571113
Ну, скорее всего придется не верстать, а подправить макет или набросать прототип на бутстрапе каком-нибудь, такое сложно назвать версткой понятное дело.

А экономия. Ну что поделать, расеянскей бизнесмен считает что если посадить человека и принтеры заправлять и код писать и верстать то он охуительно сэкономит, а на деле проебет проект по срокам, сломает принтеры и заебет сотрудника так, что тот просто уволится нахуй дропнув базу.
Реалии.
Аноним 02/11/15 Пнд 01:24:08 #93 №571145 
>>571120
>Реалии.
Понятно...

>Ну, скорее всего придется не верстать, а подправить макет или набросать прототип на бутстрапе каком-нибудь, такое сложно назвать версткой понятное дело.
Ну да, я так и думал.
Могли бы написать "Умение найти и изменить одну строчку в разметке". Но нет, они напишут "отличное ЗНАНИЕ html/css".
Аноним 02/11/15 Пнд 01:34:51 #94 №571154 
14464172916460.jpg
Сижу учу адо.нет с энтити фреймверком, параллельно делая свой сайт о погоде. Сайт без регистрации и смс, к чему тут в принципе можно базу данных приклеить?
Аноним 02/11/15 Пнд 01:39:14 #95 №571158 
>>571154
Типовые каменты о погоде запили. Потом будешь их анализировать с умным видом, а в резюме напишешь что работал с бигдатой.
Аноним 02/11/15 Пнд 01:39:47 #96 №571160 
>>571158
>без регистрации
Анонимый сайт о погоде с каментами?
Аноним 02/11/15 Пнд 01:40:46 #97 №571161 
>>571154
Кармочку и картиночку к каждому каменту не забудь.
А то блжд анализировать нечего будет.
Аноним 02/11/15 Пнд 01:41:38 #98 №571162 
>>571160
Ну на ргхосте общаются про брата, а у тебя будут писать многозначительное "Ясно". Чому нет?
Аноним 02/11/15 Пнд 01:53:33 #99 №571171 
>>571111
hui_govnos должно в качестве модели подключаться к View.
И проверь подключение к базе данных вообще происходит или нет
Аноним 02/11/15 Пнд 01:55:08 #100 №571173 
>>571117
Конечно там полно полезной инфы.
Вот, например...
Аноним 02/11/15 Пнд 02:26:57 #101 №571186 
>>571173
Ну зайди в предыдущий тред и посмотри сколько там полезной инфы лол.
Аноним 02/11/15 Пнд 02:37:16 #102 №571187 
Почему первый вариант выдает ошибку, а второй - нет?
1. String s;
Method(s);

2. String s = null;
Method(s);

У нас же в обоих случаях ссылка пустая и на объект не указывает?
Аноним 02/11/15 Пнд 02:43:51 #103 №571190 
>>571187
>в обоих случаях ссылка пустая
Наркоман? Током ебануть?
Аноним 02/11/15 Пнд 03:12:42 #104 №571195 
>>571190
Какой API используешь, чтобы людей током бить удаленно? В WCF какие-то библиотеки для этого есть?
Аноним 02/11/15 Пнд 03:32:24 #105 №571196 
>>571195
ohlol
MimoDaunKun
Аноним 02/11/15 Пнд 03:41:02 #106 №571198 
>>571195
PoE же для специально делали а потом забыли
Аноним 02/11/15 Пнд 08:28:49 #107 №571226 
>>570067 (OP)
Парни, посоветуйте либу для msvc2012, чтобы пользоваться gl, glu, glut в winforms. По учебе нужно нырнуть в это говно, хочу нырнуть поудобнее.
Аноним 02/11/15 Пнд 08:31:05 #108 №571227 
>>571226
>msvs
Быстрофикс. Пишу же на шарпе.
Аноним 02/11/15 Пнд 08:36:51 #109 №571229 
>>571227
Я уже было хотел послать тебя нахуй в крестотред. К гейдевам сходи.
Аноним 02/11/15 Пнд 09:05:40 #110 №571233 
>>571229
Не нашел у них опенгл треда. Видимо все на юнити перекатились. Да и меня с легаси опенглом там быстро бы отхуесосили.
Аноним 02/11/15 Пнд 11:45:15 #111 №571267 
Внезапно обнаружил, что в mono develop не работают горячие клавиши, если раскладка по умолчанию в системе стоит русская.
Попенсорс такой попенсорс.
Аноним 02/11/15 Пнд 12:09:36 #112 №571274 
14464553768450.jpg
Аноны-студенты с аккаунтом dreamspark, у меня к вам маленькая просьба:

Можете заглянуть на dreamspark и проверить если ли там в XAMARIN (списке доступных продуктов)?
Аноним 02/11/15 Пнд 13:19:59 #113 №571305 
14464595992880.png
>>571274
Аноним 02/11/15 Пнд 13:21:30 #114 №571307 
>>571267

Русская раскладка не нужна, очевидно же

Стандартная проблема GовноTыКа и прыщеинтерфейсов вообще.
Аноним 02/11/15 Пнд 13:22:40 #115 №571310 
>>571226
http://www.opentk.com/
Аноним 02/11/15 Пнд 13:49:29 #116 №571322 
14464613690860.jpg
>сайт о погоде с комментариями, смайлами и кармочкой
Эта идея настолько ебанутая, что мне кажется, что оно даже взлетит при нормальной реализации.
Аноним 02/11/15 Пнд 16:18:52 #117 №571421 
>>571322
Наверняка где-то уже есть.
Аноним 02/11/15 Пнд 17:21:34 #118 №571478 
>>571226
Анон выше посоветовал OpenTK, его и используй. Писать приятнее, чем на OpenGL на крестах, но документация посасывает.
Аноним 02/11/15 Пнд 19:21:23 #119 №571561 
Почему дебаггер не всегда показывает используемую приложением память?
Аноним 02/11/15 Пнд 19:43:32 #120 №571578 
>>571561
Дебаггер не показывает ничего подобного.
Аноним 02/11/15 Пнд 19:51:02 #121 №571585 
>>571578
http://blogs.msdn.com/b/visualstudioalm/archive/2014/11/13/memory-usage-tool-while-debugging-in-visual-studio-2015.aspx
А это тогда что?
Аноним 02/11/15 Пнд 19:53:09 #122 №571589 
>>571585
>Diagnostic Tools
Аноним 02/11/15 Пнд 20:03:03 #123 №571597 
>>571589
Почему не всегда Diagnostic Tools показывают используемую приложением память?
Аноним 02/11/15 Пнд 20:03:07 #124 №571598 
Привет котаны, помогите придумать как избавиться вот от этой штуки:
В прилаге есть 2х колонный грид с бесконечной загрузкой. В каждом итеме - картинка, которая подгружается с тырнета. Короч проблема в том, что если проскролить быстро его например до 100го элемента - прилага будет качать все предыдущие 100 картинок. И потому то место куда я проскролил отобразится очень не скоро.

Что можно придумать чтобы подгружать только то, что надо? Я думал насчет сценария типа "если айтем больше секунды на экране - то загрузить картинку", но это выглядит как говно.
Помоги, анончик.
Аноним 02/11/15 Пнд 20:07:16 #125 №571607 
>>571597
Не знаю бага какая-нибудь опять, наверно. Я эту штуку отключил за ненадобностью. Что ты там под дебаггером в хосте студии замерять собрался?
Аноним 02/11/15 Пнд 20:12:32 #126 №571621 
>>571607
У меня в проекте работа с памятью через Marshal встречается, наверняка где нибудь память течет.
Аноним 02/11/15 Пнд 20:38:28 #127 №571664 
>>571621
Без дебаггера в релизе запусти.
https://msdn.microsoft.com/en-us/library/ms182372.aspx
Аноним 02/11/15 Пнд 20:42:01 #128 №571667 
14464861219110.jpg
>>570067 (OP)
Элитные разработчики, снова нужны ваши пояснения.

У меня есть два метода, инкапсулирующих хорошо понятные операции. Выглядит каждый из них как 20 строк абсолютно нечитаемого кода - условия, циклы. Есть одноуровневая мини-рекурсия, реализованная тупой копипастой куска кода внутрь самого себя.

Выглядит уродливо, нечитаемо, занимает в два раза больше места, чем могло бы.

Можно сделать вот что: вынести за скобки рекурсивную функцию (с делегатом в параметре).

NonameFunc(()=>{ NonameFunc(()=>{SimpleCode();}); });

Если так сделать, то объем кода сократится вдвое, а каждый метод будет состоять буквально из пары строк.

Вроде все хорошо, но проблема в том, что у этой функции нет никакого ООП-смысла. То есть, я не могу дать ей название, которое объяснит ее назначение. Это просто кусок алгоритма, сам по себе не имеющий никакого смысла, который нигде и никогда больше использоваться не будет.

Насколько я понимаю, это противоречит парадигме ООП. Если мы не можем разбить логику метода на понятные смысловые части, значит этого делать не нужно и весь код следует писать в одном методе.

С другой стороны, у нас есть принцип DRY (dont repeat yourself), согласно которому китайский код (копипаста) недопустим.

Как быть в такой ситуации?

С точки зрения читаемости оба варианта проигрышные, даже не знаю какой хуже. Низкоуровневые алгоритмы (уровень которых ниже, чем уровень основных объектов программы) вообще можно читаемыми сделать?
Аноним 02/11/15 Пнд 20:45:10 #129 №571671 
>>571598
>если айтем больше секунды НЕ на экране - то прекратить его загрузку
Аноним 02/11/15 Пнд 20:59:01 #130 №571685 
>>571667
У всего твоего кода нет никакого ооп смысла. Щито поделать. Невозможно рефакторить чужой код, не зная что он делает, а тем более не наблюдая этот код. Вангую, что тебе надо сам алгоритм переписать.
Аноним 02/11/15 Пнд 21:11:49 #131 №571691 
>>571667
А мог бы код писать.
Аноним 02/11/15 Пнд 21:44:36 #132 №571717 
>>571691
Теоретический вопрос же.
>есть китайский говнокод
>можно вынести повторяющийся кусок и уменьшить размер кода в два раза
>но у этого куска нет никакого ООП-смысла.
>это противоречит парадигме ООП.
>китайский говнокод потиворечит парадигме DRY
>Как быть в такой ситуации?

Я покажу код, какой-нибудь знаток математики сразу заявит, что у функции таки есть логичное название и проблема как бы решена. Но я ответа на свой вопрос так и не получу.
Аноним 02/11/15 Пнд 21:48:04 #133 №571718 
>>571667
http://habrahabr.ru/post/130850/
>Признаки плохого программиста
>«Бульдозерный код», который создает впечатление рефакторинга посредством разбития кусков кода на процедуры, которые, правда, затем невозможно использовать где-либо еще (высокая когезия).
Аноним 02/11/15 Пнд 21:53:50 #134 №571723 
>>571717
Ты архиватор или кодер? Если разбиение не добавляет читаемости, то в жопу разбиение, а если добавляет - в жопу принципы.
Аноним 02/11/15 Пнд 22:08:11 #135 №571738 
>>571718
Всё-таки, Хабр — загончик для школоты.
Нет ничего плохого в том, чтобы разделить длинную функцию на две и по отдельности их отладить.
Аноним 02/11/15 Пнд 22:15:52 #136 №571743 
>>570067 (OP)
>C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.
кекнул с дауна
Аноним 02/11/15 Пнд 22:17:58 #137 №571745 
>>571717
>но у этого куска нет никакого ООП-смысла.
>это противоречит парадигме ООП.
>ооп смысл у куска кода
Две инъекции ассемблерных вставок этому олуху. ООП смысл есть только у объектов и их взаимодействий. Твои попытки рефакторинга никакого отношения к ооп не имеют. Думай как объект, стань объектом. Только тогда ты сможешь решить свою проблему.
Аноним 02/11/15 Пнд 22:18:32 #138 №571746 
>>571743
Ну надо же себя чем-то подбадривать
Вот лично тебя что удерживает от самовыпила?
Аноним 02/11/15 Пнд 22:19:49 #139 №571747 
>>571746
нерешительность.
а так сегодня всерьез задумывался о самовыпиле, лол.
Аноним 02/11/15 Пнд 22:41:45 #140 №571761 
>>571745
Вообще не понял, что ты хотел сказать.

>>571718
>>571738
Ну блин. Противоречия. Голова бобо.

>>571723
>Если разбиение не добавляет читаемости, то в жопу разбиение, а если добавляет - в жопу принципы.
Красиво сказал. Запомню, что читаемость в приоритете над принципами.
Аноним 02/11/15 Пнд 22:52:30 #141 №571771 
>>571761
>Вообще не понял, что ты хотел сказать.
Вот от этого у тебя и проблемы. Ты пытаешься следовать принципам ООП, но ты не понимаешь сути явления.
Аноним 03/11/15 Втр 01:48:16 #142 №571937 
В ASP.NET MVC чтобы передать значения всей модели в форме ПОСТ запроса. Обязательно нужно все поля модели прописывать(хидденами и текстбоксами)?
Если у меня в модели 20 полей, всех их херачить в форму?
Аноним 03/11/15 Втр 01:59:38 #143 №571940 
14465051786670.png
>>571761
>Ну блин. Противоречия. Голова бобо.
Слушай старших, они завещали нам пейсать краткий и выразительный код.
Аноним 03/11/15 Втр 02:15:12 #144 №571945 
Помогите с кодом, нужна генерик функция для подписи на евенты, типа:
public delegate void DelegateName(object param1, object param2, object param3);
public static event DelegateName DelegateEvent;

должна подписываться на любой евент с тремя параметрами.
Аноним 03/11/15 Втр 08:38:35 #145 №572026 
>>571937
Ну, тебе же надо как-то передать эти значения серверу? Или думаешь, что он сам как-нибудь догадается что там пользователь вводит?
Аноним 03/11/15 Втр 08:56:43 #146 №572029 
Есть у кого инфографика от майкрософта по .net технологиям? Там описаны пути, по которым можно развиваться
Аноним 03/11/15 Втр 11:10:34 #147 №572096 
Посоветуйте, пожалуйста, что почитать по silverlight под windows phone 8
Аноним 03/11/15 Втр 11:10:56 #148 №572097 
>>571667
Причем здесь ООП вообще? Это функциональная декомпозиция, пока ты внутри одного объекта функции теребишь.
Аноним 03/11/15 Втр 11:30:03 #149 №572103 
>>571621
А всякая дутнетовская диагностика разве показывает unmanaged память?
Аноним 03/11/15 Втр 12:19:43 #150 №572122 
14465423837370.jpg
Ну че, что нужно иметь человеку, чтобы устроиться C# джуном?
Аноним 03/11/15 Втр 12:46:24 #151 №572131 
14465439849530.jpg
>>572122
Хорошие знания джавы.
Аноним 03/11/15 Втр 13:27:25 #152 №572151 
>>572122
Маленькие сиськи :3
Аноним 03/11/15 Втр 13:28:50 #153 №572152 
>>572122
отбеленный анус
Аноним 03/11/15 Втр 13:33:43 #154 №572160 
>>572122
- высшее образование;
- уверенный пользователь пк; That's all.
- английский B1;
- знания теории cs стек на массивах должен уметь у доски реализовать когда тебя посреди ночи поднимут;
- знания теории устройства ЭВМ, ОС, сетей;
- знания теории БД;
- продвинутые знания C#;
- уверенные знания .Net FCL, включая ADO.Net, ASP.Net, WPF, WCF;
- уверенные знания фронтенда: ES5, HTML5, CSS3;
- уверенные знания T-SQL;
- знания XML, XPath, XSD, XSLT etc;
- уверенные знания протокола HTTP;
- знания внутреннего устройства .Net (сборки, CIL, CLR, JIT, все это вот);
- знания процесса сборки .Net приложений под вин. MSBuild;
- начальные знания VCS (GIT, SVN, TFS);
- начальные знания юнит тестирования (MSTest, NUnit etc);
- начальные знания CI;
- начальные знания процессов разработки ПО.
Аноним 03/11/15 Втр 13:54:36 #155 №572177 
>>572160
И дописываешь модули под вордпресс потом с таким багажом.
Аноним 03/11/15 Втр 14:05:53 #156 №572184 
>>572160
Мне наоборот рассказывали.
Что на работку обычно приходят в первый раз обычно все почти нулевые, а потом их на месте обучают. Так выгодней работодателю, потому что зп
Аноним 03/11/15 Втр 15:02:25 #157 №572208 
14465521457970.jpg
>>572160
Окей, щас еще год-два и пойду на стажировку.
Аноним 03/11/15 Втр 15:04:48 #158 №572210 
14465522884500.jpg
>>572151
чек
>>572152
чек
Возьмут меня теперь?
Аноним 03/11/15 Втр 15:31:11 #159 №572228 
>>572208
Я тоже так думал, в итоге просрал тупо 5 лет, почти нихуя не делая
Аноним 03/11/15 Втр 15:57:48 #160 №572241 
>>572184
Если в фирме настроен процесс обучения персонала, то, да, требования пониже чутка. Некоторые конторы мониторят студентоту, приглашают на внутренние курсы и после берут на позицию джуна. В идеале. Могут и нахуй послать, если необучаемый.
Аноним 03/11/15 Втр 16:58:07 #161 №572270 
14465590877680.jpg
Я правильно понимаю, что кроме ASP на дотнете ловить нехуй? На винформс только говно мамонта поддерживать, на wpf мало вакансий, и он не обновлялся уже пять лет, мобайл утонул, тырпрайз ещё есть, но там же джава больше пригодится.
Аноним 03/11/15 Втр 17:12:17 #162 №572281 
>>572270
>мобайл утонул
Хуй знает, не так уж редко вакансии вижу.
Аноним 03/11/15 Втр 17:17:36 #163 №572283 
>>572281
На xamarin, я так понимаю?
Аноним 03/11/15 Втр 17:19:51 #164 №572285 
>>572283
А то.
Аноним 03/11/15 Втр 17:22:09 #165 №572287 
>>572285
>хх.ру
>xamarin
>Найдено 3 вакансии
Ясно.
Аноним 03/11/15 Втр 18:15:35 #166 №572314 
можно ли сжать форму с двух сторон одновременно, и как это сделать, если можно? на данный момент пробовал изменять размер формы через this.width и height, но при увеличении этих свойств форма растёт и убывает только снизу и справа, а мне нужно шоб прям кукожилась со всех сторон. пробовал играться с dock'ом и anchor'ами, ничего не дало. помоги, анонче
Аноним 03/11/15 Втр 18:21:31 #167 №572316 
>>572314
Очевидно, что надо менять и позицию и размер на половину значения дельты перемещения курсора в соответствующих измерениях. Кэп.
Аноним 03/11/15 Втр 18:22:21 #168 №572317 
>>572316
так и сделал, но разве нет возможности это делать без перемещения формы?
Аноним 03/11/15 Втр 18:35:23 #169 №572327 
>>572317
Ну, как бы нет, но я никогда подобным не страдал с формами, поэтому можешь еще погуглить. Кто знает, может найдешь чего. Скажешь потом.
Аноним 03/11/15 Втр 18:51:42 #170 №572339 
>>572327
да забил уже. до того, как здесь спросить, в около 6 запросах в гугле пролистал по 2 страницы результатов. ничего по этому поводу нет.
может подскажешь заодно, как воспроизвести звук щелчка мыши? на данный момент попробовал в пространстве имен system.media system sound и sound player. есть ли вариант попроще именно со звуком щелчка мыши? (как при открытии папки, например. кстати, чому то не смог его найти в c:\windows\media
Аноним 03/11/15 Втр 19:07:18 #171 №572347 
>>572339
Не в курсе. У меня он есть (Windows Navigation Start.wav).
Аноним 03/11/15 Втр 20:29:42 #172 №572397 
>>572160
Спасибо.
Аноним 03/11/15 Втр 21:02:02 #173 №572415 
Где в wpf хранить ссылки на объекты, которые должны существовать дольше времени обработки одного события?
Очевидный вариант: глобальные поля в классе MainWindow. Но по слухам, это быдлокод. Это правда? Чем такой вариант плох? Какие альтернативы?
Аноним 03/11/15 Втр 21:11:55 #174 №572422 
Язык ебанутых. Если в VB вхождение заняло считанные минуты, то C# прям 1 в 1 как С++ - не хватит и года, чтобы всё это говно переварить. В рот ебал я вас, долбоёбы!

Мимо си\asm\vb\html\css\txt\гуманитарий
Аноним 03/11/15 Втр 21:58:15 #175 №572472 
УГОРАЕШЬ ПО БЫСТРОДЕЙСТВИЮ
@
ОПТИМИЗИРУЕШЬ АЛГОРИТМЫ
@
ПИШЕШЬ АНСЭЙФ КОД
@
ЭКОНОМИШЬ НЕСКОЛЬКО БАЙТ
@
ПУСТАЯ WPF ФОРМА ЖРЕТ 100 МБ


Теперь это бугурта от дотнет тред.
Аноним 03/11/15 Втр 22:00:08 #176 №572473 
>>572472
Я тоже охуел.
Как я ее на своем селероне с 512 мб ОЗУ запущу?
Аноним 03/11/15 Втр 22:20:23 #177 №572491 
>>572472
Но ты уже угораешь по быстродействию, похуй на память.
Аноним 03/11/15 Втр 22:42:46 #178 №572516 
14465797663880.png
>>570067 (OP)
Вопрос с собеседования на .net junior:
>Как установить в единицы самый правый нулевой бит в произвольном целом числе не используя циклов и рекурсии?

Поясните, о чем речь? В дотнет существуют какие-то способы манипуляции данными на таком низком уровне? Я ничего мельче byte не встречал никогда.
Аноним 03/11/15 Втр 22:45:17 #179 №572520 
>>572516
>не используя циклов и рекурсии
Пишешь ифы до посинения и все.
Аноним 03/11/15 Втр 22:49:37 #180 №572524 
>>572520
Я не понимаю в принципе, о чем речь. Какие биты? Что такое бит? Ну то есть я знаю в теории, что такое бит, но как до него добраться в программе?

Вот у меня код
Int32 randomInteger = Random.Next(-2000000, 2000000);

Что дальше?

Если я пойму модель и получу к ней доступ - алгоритм придумаю, в этом проблемы нет.
Аноним 03/11/15 Втр 23:20:27 #181 №572542 
>>572524
Битовыми операциями, очевидно же
Аноним 03/11/15 Втр 23:39:34 #182 №572554 
14465831740410.jpg
>>572160
>стек на массивах должен уметь у доски реализовать когда тебя посреди ночи поднимут
Что это значит? Пикрилейтед что ли? Нахуя?
Аноним 03/11/15 Втр 23:40:29 #183 №572556 
>>572542
Ок, нагуглил.
Троэлсен пидорас ничего мне про них них не сказал. Гандон, вечно у него какие-то секреты от меня.
Аноним 03/11/15 Втр 23:41:21 #184 №572558 
>>572554
Я не понял, стек на массивах, это стек из массивов, стек из массива или массив стеков?
Аноним 03/11/15 Втр 23:42:05 #185 №572561 
>>572556
Другими ЯП интересовался бы - много нового узнаешь.
Аноним 03/11/15 Втр 23:45:09 #186 №572566 
>>572558
При реализации стека данные можно хранить в связном списке или в массиве.
Аноним 03/11/15 Втр 23:46:09 #187 №572567 
>>572566
В хуязном, давай мне безтиповый пример.
Аноним 03/11/15 Втр 23:47:45 #188 №572570 
>>572561
Но я интересуюсь другими ЯП! java, php, html, css, javascript
Аноним 03/11/15 Втр 23:48:22 #189 №572571 
14465837021050.jpg
>>572570
Ниже уровень возьми, шутник
Аноним 03/11/15 Втр 23:50:03 #190 №572572 
>>572567
У гугла проси.
Аноним 03/11/15 Втр 23:50:51 #191 №572575 
>>572572
Шоб тебя черти в жопу выебли
Аноним 04/11/15 Срд 02:22:43 #192 №572652 
>>572575
Но черти ебут в жопу только верующих
Аноним 04/11/15 Срд 02:31:45 #193 №572653 
>>572160
>>572554
Так что ли?

class StackOnArray
{
private int[] stack;

public StackOnArray(int firstElement)
{
stack = new int[] { firstElement };
}

public int Peek()
{
return stack[stack.Length - 1];
}

public void Push(int element)
{
Array.Resize(ref stack, stack.Length + 1);
stack[stack.Length - 1] = element;
}

public void Pop()
{
if (stack.Length > 0)
Array.Resize(ref stack, stack.Length - 1);
}

}

Зачем так делать вообще? Какой наркоман будет немасштабируемые дотнет массивы использовать для подобных задач?
Аноним 04/11/15 Срд 02:38:31 #194 №572655 
>>572653
Ты его неправильно реализовал, наркоман. Иди еще погугли. Сорцы стека в дотнете посмотри, например.
Аноним 04/11/15 Срд 02:57:02 #195 №572659 
14465950222140.jpg
14465950222161.jpg
>>572653
Аноним 04/11/15 Срд 03:02:25 #196 №572660 
>>572655
Что конкретно неправильно?
Вполне уверен, что все правильно. Pop void вместо ретурна, но это мелочь.
Аноним 04/11/15 Срд 03:11:11 #197 №572664 
>>572660
У тебя на каждый вызов память по-новой выделяется. Ты когда последний раз у психиатра проверялся, Антош?
Аноним 04/11/15 Срд 03:25:48 #198 №572666 
>>572664
Нахуй иди, раз по-нормальному разговаривать не умеешь.
Аноним 04/11/15 Срд 04:21:59 #199 №572673 
14466001197130.jpg
>>572666
Потом удивляются почему это их на работу не берут. Реализовать стек — дел-то на пять минут, казалось бы.
Аноним 04/11/15 Срд 04:45:55 #200 №572676 
Пацаны, пацаны, помогите!
Задали мне такую штуку, сравнивать поля двух объектов с одинаковыми именами, имя поля Name, а список объектов Courses, с именами course.
А сравнивать с помощью переопределённого метода Equals.
И я вот сижу и чешу репу, как сравнивать поля у объектов и вывести в одном случае труе, а в другом фолс.
Простите за косноязычие, в проге не шарю.
Аноним 04/11/15 Срд 04:47:58 #201 №572677 
>>572422
Удваиваю, в питоне например все просто и понятно
Аноним 04/11/15 Срд 04:55:39 #202 №572679 
>>572676
В пять утра очнулся?
На хабре даже статьи про это есть
http://habrahabr.ru/post/137680/
http://habrahabr.ru/post/168195/
Аноним 04/11/15 Срд 12:16:25 #203 №572763 
как обрабатывать нажатие двух клавиш мыши одновременно? то есть, по нажатию ЛКМ и ПКМ совершается действие. пытался это сделать и в mouseIp, и в mouseDown, и в mouseDoubleClick, и в mouseClick, всё как то без толку. гугл молчит. помогите, товарищи.
Аноним 04/11/15 Срд 12:17:23 #204 №572765 
>>572516
x | (x + 1)
Алсо, раньше угорал по битам и мог щелкать такие как орехи, а потом забил и вот теперь такие вещи прерывают меня минут на 5+
Аноним 04/11/15 Срд 12:29:06 #205 №572774 
>>572516
Почитай hacker's delight, первые пару глав, больше не нужно
Аноним 04/11/15 Срд 12:52:03 #206 №572784 
>>572516
http://habrahabr.ru/post/146793/
Аноним 04/11/15 Срд 14:17:00 #207 №572844 
Прив =)
Аноним 04/11/15 Срд 14:42:37 #208 №572866 
>>572763
http://stackoverflow.com/questions/3209217/detect-both-left-and-right-mouse-click-at-the-same-time
Аноним 04/11/15 Срд 15:41:58 #209 №572933 
14466409183300.png
>>572679
Я макака и не понимаю где обосрался.
Аноним 04/11/15 Срд 15:46:53 #210 №572939 
>>572933
Нахуя тебе здеся эксепшны выкидывать? Просто потому что можешь? Какие же вы, жарподебилы дураки...
Аноним 04/11/15 Срд 15:50:33 #211 №572947 
>>572939
Эээ, парень, может по существу вопроса? про языки срач это наверное в другой тред.
Аноним 04/11/15 Срд 16:35:27 #212 №572989 
>>572933
>Course.Equals
нихуя не понял.
Для начала переопредели GetHashCode, хули ты не слушаешься компилятора. И сравнивай либо значения этих hash'ей, либо через String.Equals
Аноним 04/11/15 Срд 17:51:32 #213 №573060 
>>572939
А почему нет? Не контракты же использовать
Аноним 04/11/15 Срд 18:19:16 #214 №573099 
>>572933
Сидишь такой сраниваешь-сравниваешь, и тут вруг кровь кишки распидорасило ARGUMENTEXCEPTION!!!1
Аноним 04/11/15 Срд 22:08:52 #215 №573353 
>>572989
я вообще нихуя не понимаю что от меня требуется, ну вернее понимаю и сделал без ебучего оверрайда.
public bool Equals(Course course)
{
return (this.Name == course.Name);
}
В задании дословно "Override the “Equals” method for “Grade” and “Course”
classes. Two courses are considered equal when they have the same name.
Two grades are equal when they reference the same course.
"
Аноним 04/11/15 Срд 22:47:38 #216 №573398 
>>573353
https://dotnetfiddle.net/4G3BbM
Аноним 04/11/15 Срд 23:04:18 #217 №573413 
>>573398
Я тебя люблю анончик, спасибо большое.
Аноним 05/11/15 Чтв 10:33:37 #218 №573670 
14467088179040.png
Чего можно про Web API на русеке почитать?
Аноним 05/11/15 Чтв 11:24:48 #219 №573716 
как сравнить произвольный класс с числом через "=="?
Аноним 05/11/15 Чтв 11:26:28 #220 №573718 
>>573716
Оверрайди метод "=="
Аноним 05/11/15 Чтв 11:29:07 #221 №573720 
>>573718
А это разве не через IConvertible делается?
Аноним 05/11/15 Чтв 11:29:27 #222 №573721 
>>573718
>метод
Мозги текут, оператор конечно же.
https://msdn.microsoft.com/uk-ua/library/ms173147(v=vs.80).aspx
Аноним 05/11/15 Чтв 11:32:58 #223 №573726 
>>573720
Возьми да попробуй, хули.
Аноним 05/11/15 Чтв 11:35:58 #224 №573728 
>>573726
Спасибо, я лучше тут спрошу.
Аноним 05/11/15 Чтв 11:36:28 #225 №573730 
>>573720
>>573726
Но прикол в том что тогда у тебя в классе будет куча ненужного говна от этого интерфейса.
Аноним 05/11/15 Чтв 11:38:32 #226 №573731 
>>573730
А без реализации 16 лишних методов возможно обойтись?
Аноним 05/11/15 Чтв 11:39:43 #227 №573733 
>>573728
Смотри, если ты применишь к своему классу интерфейс IConvertible то тебе придется описать все эти методы
public int ToInt32(IFormatProvider provider)
{
throw new NotImplementedException();
}

public long ToInt64(IFormatProvider provider)
{
throw new NotImplementedException();
}

public sbyte ToSByte(IFormatProvider provider)
{
throw new NotImplementedException();
}

public float ToSingle(IFormatProvider provider)
{
throw new NotImplementedException();
}

public string ToString(IFormatProvider provider)
{
throw new NotImplementedException();
}

public object ToType(Type conversionType, IFormatProvider provider)
{
throw new NotImplementedException();
}

public ushort ToUInt16(IFormatProvider provider)
{
throw new NotImplementedException();
}

public uint ToUInt32(IFormatProvider provider)
{
throw new NotImplementedException();
}

public ulong ToUInt64(IFormatProvider provider)
{
throw new NotImplementedException();
}

очевидно что из всего этого дерьма тебе нужно только ToInt32. Мне кажется лучше просто == оверлоадить.
Аноним 05/11/15 Чтв 11:41:10 #228 №573736 
>>573731
Компилятор кудахтать будет если их не описать.
Аноним 05/11/15 Чтв 11:44:10 #229 №573742 
>>573733
>>573736
Понятно, спасибо.
>Мне кажется лучше просто == оверлоадить.
Но потом могут понадобиться другие операторы, еще не известно что лучше ж.
Аноним 05/11/15 Чтв 11:51:56 #230 №573746 
>>573742
Если тебе надо будет сравнивать с несколькими разными типами то очевидно IConvertible.
Аноним 05/11/15 Чтв 11:59:38 #231 №573748 
>>573746
Только выглядеть это будет вот так
if (Convert.ToInt32(инстанс твоего класса) == число)
Аноним 05/11/15 Чтв 12:37:08 #232 №573772 
>>573716
>как сравнить произвольный класс с числом через "=="?
Как оказалось легче всего это сделать через implicit.
https://dotnetfiddle.net/z6UHei
Аноним 05/11/15 Чтв 13:23:15 #233 №573817 
14467189953570.jpg
>>570067 (OP)
Почоны, решил запихнуть Entity Framework в универскую лабу. Получилось, захотел допилить. А именно: сделать так, чтоб каждые пару секунд БД в моём приложении переподгружала записи (информация об экзаменах в моём случае). Запилил всё втупую (для начала хотя бы так хочу сделать, потом улучше). В параллельном потоке запускается обновление таблицы в приложении, затем Thread.Sleep на пару секунд, снова обновление и так, пока приложение не закровешь. Но всплыла проблема пикрелейтед. Мой тред, который должен каждые N секунд рефшеришь мой ListBox с данными из БД не может трогать БД, потому что она создана в другом потоке. Посоветуйте, как решить эту проблему, ну или альтернативные способы решения такой задачи.
Аноним 05/11/15 Чтв 13:37:53 #234 №573836 
>>573817
>чтоб каждые пару секунд БД
Ты вот щас просто взял главную идею ado.net и в говно ее опустил.
Аноним 05/11/15 Чтв 13:40:01 #235 №573838 
>>573817
С И Н Х Р О Н И З А Ц И Я П О Т О К О В
И
Х
Р
О
Н
И
З
А
Ц
И
Я

П
О
Т
О
К
О
В
Аноним 05/11/15 Чтв 13:43:02 #236 №573842 
14467201821350.png
>>573817
Какого хуя?
Аноним 05/11/15 Чтв 14:14:20 #237 №573848 
14467220606220.png
Я тут научился в однострочники, сильно меня за такое отхуесосят?
Аноним 05/11/15 Чтв 14:24:42 #238 №573862 
>>573848
По-моему, будет гораздо читабельнее и УНИФОРМНЕЕ, если правую часть (после "=>") всегда делать с новой строки. Сразу видишь тело функции, все дела.
Аноним 05/11/15 Чтв 14:26:38 #239 №573865 
Кстати, нахера async-await, если в теле только один стейтмент с await'ом?
Разве не будет то же самое, что и если их просто убрать?
Аноним 05/11/15 Чтв 14:30:35 #240 №573868 
>>573865
И вправду, лол, спасибо.
Аноним 05/11/15 Чтв 14:42:16 #241 №573879 
>>573848
Еще как отхуесосят.
Аноним 05/11/15 Чтв 14:48:10 #242 №573883 
>>573868
В принципе, если там что-то потенциально асинковое, тоже можно тот же аргумент насчёт униформности, что и "всегда ставьте {} для if, даже если внутри только один стейтмент". Если везде сокращаешь - тогда и здесь надо сокращать, если униформноблядствуешь - тогда пожалуй и здесь стоит асинк лепить, и с новой строки писать.
Аноним 05/11/15 Чтв 14:52:04 #243 №573885 
>>573848
Фича с однострочными лямбда методами сама по себе спорная. Кому-то, видимо, лень стало 2 скобочки ставить. Теперь все ломаем глаза стрелочками.
Аноним 05/11/15 Чтв 15:46:08 #244 №573920 
>>573836
И какая же идея?
Аноним 05/11/15 Чтв 16:01:40 #245 №573929 
14467285004110.jpg
Аноны, есть тут Entity Framework боги? Пишу под UWP, нужна локальная база. Вроде всё норм писалось, но чет я въебался и не могу разгрестись в чем объёб. Вобщем, есть модель, таблица Item с полями, одно из полей это List<SomeObj> лист тругой таблицы у которой тоже есть поля. А теперь объёб. Когда я просто добавляю новый Item или апдейчу одну из записей всё окей, но когда я пытаюсь проапдейтить SomeObj тоесть методом .Add добавить туда объект мною созданный, или сразу в Item.SomeObjList добавить созданный мною new List<SomeObj> нихуя не сохраняется. Тоесть я делаю db.SaveChanges(); и в дебагере на шаг после сохранения в видны изменения в записи, но когда в другом классе я в using(var db = new ItemDb()) пытаюсь получить мой Item то блядь все свойсва у него сохранились, а мой ебучий SomeObjList пуст. Аноны помогите, ебусь 3й день.
Аноним 05/11/15 Чтв 16:19:44 #246 №573942 
14467295846760.png
14467295846761.png
>>573929
Вот пара скринов моего долбоебизма. Единственная зацепка, это поле id на втором пике. Записи c SomeObj добавляются но не привязываются к моему Itemу.
Аноним 05/11/15 Чтв 16:20:20 #247 №573944 
>>573942
> на первом пике
самофикс
Аноним 05/11/15 Чтв 18:43:42 #248 №574137 
https://www.youtube.com/watch?v=5dpO7QiMEaU
Что нужно знать, чтобы стать .Net разработчиком?
https://www.youtube.com/watch?v=8x1Sr8j5Bgs
Какие требования к разработчику уровня junior?
https://www.youtube.com/watch?v=L2c6t9lNuds
Вебинар на тему "Анализ требований на позицию Junior
https://www.youtube.com/watch?v=cvhyoUa42uY
Семинар Junior Middle Web Developer. Анализ
https://www.youtube.com/user/CBSystematicsTV/search?query=junior"
Аноним 05/11/15 Чтв 18:51:07 #249 №574153 
И так аноны, не хочу заводить срач, но спрошу, что лучше учить для нубаса, решетку или жабу?
Аноним 05/11/15 Чтв 18:52:48 #250 №574155 
>>574153
Хаскель.
Аноним 05/11/15 Чтв 18:54:04 #251 №574156 
>>574153
Раст
Аноним 05/11/15 Чтв 18:54:33 #252 №574157 
>>574153
Пролог.
Аноним 05/11/15 Чтв 18:57:39 #253 №574159 
>>574153
От предпочтений конкретного человека зависит. Шарп как язык лучше, но немного меньше вакансий и анальная привязка к операционной системе виндоуз (по крайней мере пока, в будущем может что поменяется).
Аноним 05/11/15 Чтв 18:59:03 #254 №574161 
>>574155
До c# учил haskell и не о чем не жалею.
Кстати, почему в c# такой ебанутый async?
В хаскеле async делает что то асинхронно, а await получает результат. Что с шарпом то не так?
Аноним 05/11/15 Чтв 18:59:46 #255 №574163 
>>574153
c++
Аноним 05/11/15 Чтв 19:00:09 #256 №574164 
>>574153
Delphi
Аноним 05/11/15 Чтв 19:00:25 #257 №574165 
>>574153
Python
Аноним 05/11/15 Чтв 19:00:28 #258 №574166 
>>574159
А моно? Не хочу менять удобную бубунту на шиндовс
Аноним 05/11/15 Чтв 19:00:41 #259 №574167 
>>574153
Go
Аноним 05/11/15 Чтв 19:00:42 #260 №574168 
>>574153
Perl
Аноним 05/11/15 Чтв 19:01:00 #261 №574169 
>>574153
Erlang
Аноним 05/11/15 Чтв 19:01:06 #262 №574170 
>>574153
Python
Аноним 05/11/15 Чтв 19:01:16 #263 №574171 
>>574155
>>574156
>>574163
>>574164
>>574165
>>574167
>>574168
анон, иди на хуй
Аноним 05/11/15 Чтв 19:01:23 #264 №574172 
>>574153
PHP
Аноним 05/11/15 Чтв 19:01:26 #265 №574173 
>>574153
Скалу
Аноним 05/11/15 Чтв 19:02:01 #266 №574174 
>>574153
ocaml
Аноним 05/11/15 Чтв 19:02:31 #267 №574175 
>>574153
D
Аноним 05/11/15 Чтв 19:02:33 #268 №574176 
>>574153
Паскаль.
Аноним 05/11/15 Чтв 19:02:41 #269 №574177 
>>574153
f#
Аноним 05/11/15 Чтв 19:02:47 #270 №574178 
>>574153
Ruby.
Аноним 05/11/15 Чтв 19:03:03 #271 №574179 
>>574153
JavaScript
Аноним 05/11/15 Чтв 19:03:07 #272 №574180 
>>574153
Fortran
Аноним 05/11/15 Чтв 19:03:31 #273 №574181 
>>574153
Brainfuck
Аноним 05/11/15 Чтв 19:03:49 #274 №574182 
>>574153
Petooh
Аноним 05/11/15 Чтв 19:04:49 #275 №574184 
>>574181
>>574180
>>574179
>>574178
>>574177
>>574176
>>574175
>>574174
>>574173
>>574172
>>574170
>>574169
>>574168
>>574167
>>574165
>>574164
>>574164
>>574163
>>574156
>>574155
спс, ушел учить жабу
Аноним 05/11/15 Чтв 19:05:14 #276 №574185 
>>574153
Swift
Аноним 05/11/15 Чтв 19:05:36 #277 №574187 
МОЧАААААА У НАС ВАЙП (((((
Аноним 05/11/15 Чтв 19:48:00 #278 №574212 
Как можно спарсить огромный файл, размером в сотни гигабайт, в key-value структуру и как хранить эту структуру, ведь её размер будет примерно такой же? На выходе нужно тоже получить файл в определённом формате, то есть по сути мы применяем мапредьюс, но я не очень понимаю, как нужно создавать промежуточный результат.

Построчно читать и обрабатывать файл не получится, потому что важно содержание файла в целом.
Аноним 05/11/15 Чтв 19:54:11 #279 №574216 
>>574212
Слишком мало исходных данных. Если количество памяти ограничено, то тогда может быть есть возможность как-то перестроить файл, чтобы его можно было читать порциями, иначе даже хуй знает.
Аноним 05/11/15 Чтв 19:58:09 #280 №574221 
>>574216
Ты забыл про yoba-сервер.
Аноним 05/11/15 Чтв 20:00:41 #281 №574226 
>>574216
Это Anagram Solver, идея решения (с созданием ключа, представляющего слово, отсортированное по алфавиту) взята из книги "Жемчужины программирования", задание примерно такое:

Составить программу ANAGRAM, которая:
1) вводит словарь, длина слов в котором не превосходит 20 символов, из текстового ASCII-файла, имя которого задано первым параметром командной строки;
2) находит в словаре все анаграммы (слова одинаковой длины, составленные из одних и тех же букв);
3) выводит в результирующий текстовый ASCII-файл списки всех анаграмм по одному списку в строке.


Да, ограничение по памяти. Этот приём никак нельзя приспособить под такое ограничение? Других нормальных идей решения в голову не приходит
Аноним 05/11/15 Чтв 20:06:16 #282 №574232 
>>574226
Ну сходу могу предложить работать с БД, либо извернуться с файлом, но в любом случае промежуточный вариант нужно хранить на диске.
Аноним 05/11/15 Чтв 20:09:30 #283 №574237 
>>574232
А это нормальный путь с точки зрения программиста: создавать БД ради отработки одного скрипта?
Аноним 05/11/15 Чтв 20:15:35 #284 №574245 
>>574237
Тут вопрос не в количестве кода, а в объемах данных. Если данных много, то скорее всего использование БД будет оправдано, даже если это скрипт из пары десятков строк.
Аноним 05/11/15 Чтв 20:57:15 #285 №574297 
>>574226
В нюфаг-треде человеческое решение: >>574292
Аноним 05/11/15 Чтв 22:32:17 #286 №574372 
Как вкатиться в этого долбанный ASP.NET. Нашёл пару гайдов:
http://metanit.com/sharp/mvc5/ тут вроде по полочкам всё, да практических примеров мало.
http://habrahabr.ru/post/175999/ тут вроде всё на практических примерах, но уже со второго урока втирается какая то дичь про ninject, да и в комментах местами не очень лестно отзываются о гайде.

Помогите.
Аноним 05/11/15 Чтв 22:52:14 #287 №574384 
>>574372
Учебник 2010 года, Трей Нэш, "Ускоренный курс для профессионалов" (и вот там-то самые азы-основы и разобраны).
Аноним 05/11/15 Чтв 23:02:46 #288 №574388 
>>574384
>ASP.NET
А эта книжка про шарп, основы которого я так то знаю.
Аноним 05/11/15 Чтв 23:13:35 #289 №574395 
>>574372
Торент ссылка на видеоукорсы в оппосте.
http://www.asp.net/mvc/overview/getting-started майрософтовский гайд
Там все подкрепляется примером
http://professorweb.ru/my/ASP_NET/gamestore/level1/
простенький интернет магазин на формах и mvc
Аноним 06/11/15 Птн 04:04:32 #290 №574489 
>>570067 (OP)
>.net source
private int _size;
private int _version;

На что обычно указывает знак подчеркивания в именовании полей? Или это просто соглашение об именовании, чтобы отличать поля экземпляра от параметров, передаваемых в методы?
Аноним 06/11/15 Птн 04:50:50 #291 №574495 
>>574489
> соглашение об именовании

Это.
Аноним 06/11/15 Птн 05:03:49 #292 №574496 
Как в EntityFramework иерархию отображать в одну таблицу?
В таблице будет больше полей чем свойств в базовом классе, оно само будет проставлять null неуказанным свойствам и заполнять нужными значениями поля отображающие свойства унаследованных классов?
Аноним 06/11/15 Птн 05:17:04 #293 №574498 
>>574496
https://msdn.microsoft.com/en-us/data/jj591617.aspx#2.4
Аноним 06/11/15 Птн 05:39:36 #294 №574499 
Объясните вкратце, что происходит в следующей строке.

>// malicious caller from mutating the array after this check.
>for (int i=0;i<lengths.length;i++) if="" (lengths="" <="" 0)="" throw="" new="" argumentoutofrangeexception("lengths["+i+']',="" environment.getresourcestring("argumentoutofrange_neednonnegnum"));="" fixed(int="" plengths="lengths)" return="" internalcreate((void)t.typehandle.value,lengths.length,plengths,null);="" }="" public="" static="" array="" createinstance(type="" elementtype,="" params="" long[]="" lengths)="" {="" if(="" lengths="=" null)="" argumentnullexception("lengths");="" int[]="" intlengths="new" int[lengths.length];="" for="" (int="" i="0;" lengths.length;="" ++i)="" long="" len="lengths;" (len=""> Int32.MaxValue || len < Int32.MinValue)
>throw new ArgumentOutOfRangeException("len", Environment.GetResourceString("ArgumentOutOfRange_HugeArrayNotSupported"));


Непонятны куски вида
>public="" static="" array=""
>type="" elementtype,="" params="" long[]="" lengths)


Код отсюда:
http://www.dotnetframework.org/default.aspx/DotNET/DotNET/8@0/untmp/whidbey/REDBITS/ndp/clr/src/BCL/System/Array@cs/2/Array@cs
Аноним 06/11/15 Птн 05:44:25 #295 №574500 
>>574499
// malicious reader from reading the code after this check.
Аноним 06/11/15 Птн 05:46:08 #296 №574501 
>>574499
Что-то у них протекло, лучше возми это http://referencesource.microsoft.com/#mscorlib/system/array.cs,138
Аноним 06/11/15 Птн 06:20:11 #297 №574504 
>>574501
Точно. Зря я испугался значит. Спасибо.
Аноним 06/11/15 Птн 16:33:36 #298 №574717 
Чем отличается explicit loading и lazy loading?
Это же вроде однои и тоже и там и там мы вызываем все связанные данные с помощью только с помощью разных методов
http://www.entityframeworktutorial.net/EntityFramework4.3/eager-loading-with-dbcontext.aspx
http://www.entityframeworktutorial.net/EntityFramework4.3/explicit-loading-with-dbcontext.aspx
Аноним 06/11/15 Птн 16:33:57 #299 №574718 
>>574717
> lazy loading?
eager loading
Фикс.
Аноним 06/11/15 Птн 16:44:28 #300 №574726 
>>574717
Первое работает на уровне одного объекта, второе на уровне коллекции объектов. Кэп.
Аноним 06/11/15 Птн 17:46:30 #301 №574784 
>>574212
Тебе обязательно ключ-значение хранить? Если нет, то предложу индексы построить и по ним впоследствии использовать поиск в файле.
Читаешь последовательно кусками, используя буффер мегабайт на 200, например (или больше, сам смотри).
Аноним 07/11/15 Суб 02:08:05 #302 №575097 
Есть смысл использовать такие контролы или обычного jquery достаточно?
http://www.infragistics.com/products/aspnet-mvc
http://www.telerik.com/download/aspnet-mvc
https://awesome.codeplex.com/

Мне нужно сделать нормальный веб-интерфейс, а я вообще не знаю как это делается. Насколько понял чтобы свои контролы писать нужно еще хорошие знания js, которых у меня нет. Бутстрап классы для внешнего вида приписать к тегам я в состоянии, но вот чтобы все еще интерактивно отзывалось. Проект должен быть в каком-то виде готов через месяц-полутора поэтому времени особого на изучение нету, нужно сразу что-то применять.
Может есть гайды, туториалы про фронтэнд для асп нет мвс?
Аноним 07/11/15 Суб 10:13:46 #303 №575158 
>>575097
Что мешает сделать WebAPI + Angular?
Angular для написания чего-то рабочего за 3-5 дней изучается и понимание javacsript для него практически не требуется.
Аноним 07/11/15 Суб 14:39:14 #304 №575290 
>>575097
Берешь бесплатный бутстрап и делаешь нормальный веб интерфейс.
Нах тебе свои контролы?
Аноним 07/11/15 Суб 14:42:37 #305 №575296 
>>575158
> Что мешает сделать WebAPI + Angular?

Наверное то что я этим вообще не занимался и понятия не имею что есть что.
А хорошо выглядящие контролы для фронтэнда нужны, вот и не знаю за что взяться и откуда лучше учить. Пока разбираюсь пользуясь жеквери на кодакадеми и кодскул и джаваскрипт ру.
И посмотрю еще платные контролы под асп мвс, которые доступны на халяву на торрентах.
Поэтому и спрашиваю за что тут лучше.
>>575290
Хотя бы тот же paging таблицы бутстрапом не сделаешь, свой хтмл хелпер несложно сделать для такого случая, но если нужно будет что-то еще посложнее.
Аноним 07/11/15 Суб 14:46:57 #306 №575298 
>>575296
у тебя каша в голове, братишка.
для большинства задач подходят бесплатные либы.
таблиц с пейджингом бесплатных - миллион в гугле.
для того чтобы написать что то приличное, придется курить либо жкваири, либо ангуляр, либо любую другую фронтэнд технологию.
просто купить контролов и слепить из них какуюто хуйню - нихуя не выйдет.
Аноним 07/11/15 Суб 17:38:58 #307 №575441 
Какие есть способы шифрования get web запросов? Как на сервере, так и на устройстве. ньюфаг
Аноним 07/11/15 Суб 20:21:00 #308 №575515 
>>575441
http://www.asp.net/web-api/overview/security/working-with-ssl-in-web-api
Аноним 08/11/15 Вск 12:24:20 #309 №575887 
как устанавливать расширения для вс? Конкретно интересует дуднет рефлектор. Скачал vsix файл, а что с ним дальше делать?
Аноним 08/11/15 Вск 13:09:06 #310 №575919 
>>575887
Ну, кликни два раза, лол.
Аноним 08/11/15 Вск 15:14:13 #311 №575992 
>>575919
ничего не происходит. зато я распаковал его. Но тоже эффекта ноль
Аноним 08/11/15 Вск 15:34:04 #312 №576013 
Как мапить таблицы словарей на классы в EF?
Вот у меня есть там таблица Person, у нее есть поле CountryId, которое ссылается на таблицу словарь со списком стран.
Я же не должен создавать класс для стран? Может нужно сделать как-то отдельное поле под контринейм, которое при апдейте сразу отображает его в бд как айдишник страны со словаря.
Аноним 08/11/15 Вск 17:47:50 #313 №576164 
>>574784
Единственное адекватное решение.
Аноним 08/11/15 Вск 18:05:12 #314 №576174 
>>576013
https://msdn.microsoft.com/en-us/data/jj591617.aspx#2.7
Либо все же создай класс для стран.
Аноним 09/11/15 Пнд 03:06:43 #315 №576578 
Нужно ли использовать Dispose на экземпляр класса DbContext?
Некоторые пишут что обязательно так как соединение с бд не всегда закрывается, другие пишут наоборот что оно само все закрывает, вот здесь какбы разработчики EF подтверждают
http://blog.jongallant.com/2012/10/do-i-have-to-call-dispose-on-dbcontext.html#.U6WdzrGEeTw
Аноним 09/11/15 Пнд 03:55:13 #316 №576589 
https://stackoverflow.com/questions/21349950/entity-framework-6-code-first-is-repository-implementation-a-good-one

Тут обсуждается нужно или не нужно реализовывать паттерны репозиториев, Unit of work, потому что оно все встроено в последние версии EF
Обсуждают всякие абстракции и прочее, я в этом пока ничего не понимаю, поэтому ответьте прямо. Что мне нужно для моего говноприложения: репозиторий с дженериками, этот репозиторий имплементит интерфейсы для реализации CRUD операций которые можно будет потом прицепить через Dependency Injection. Этого будет достаточно?
Аноним 09/11/15 Пнд 11:46:45 #317 №576692 
Есть способ вызвать конструктор родительского класса с большем количеством параметров, более адекватный чем этот?
https://dotnetfiddle.net/vCAY8B
Аноним 09/11/15 Пнд 16:20:56 #318 №576833 
>>576692
Можно внутри тела конструктора посчитать id, а потом вызвать base.ParentClass(id);
Аноним 09/11/15 Пнд 16:36:01 #319 №576849 
14470761614190.jpg
>>576833
>потом вызвать base.ParentClass(id)
Ну нихуя себе.
Аноним 09/11/15 Пнд 16:42:51 #320 №576856 
>>576589
>репозиторий с дженериками
Лол нет, сейчас не 2003й.
Репозитории были ничо так, когда у нас не было ОРМ, а работа с базой проходила через хранимки. В те годы у тебя было два стула: создавать повсюду инстансы SqlConnection и дальше пердолиться через него, вызывая хранимки, либо пытаться организовать это все в репозиторий.
Проблема конкретно с репозиториями в том, что, как бы кто не пиздел, что DAL это такая вещь в себе и полностью отделен от бизнес-логики, это ни разу не правда в реальном мире. В прекрасном мире тырпрайза на одно отношение в базе может понадобиться пара десятков запросов с различными фильтрами (и все это в различных представлениях). Исходя из этого факта репозитории у тебя могут получиться двух видов (и оба сорта говна): реально дженерик репозиторий, без какой-либо сложной логики получения данных. Проблема в том, что он такой нахуй не нужен, потому что смотри про фильтры. Второе: ты пердолишь по методу на каждый вид запроса и твой женерик репозиторий уже нихуя не женерик, а огромная хуйня с протекающей абстракцией.
Далее, вернемся к ОРМ. Дело в том, что когда у тебя есть ОРМ, тебе нахуй не упали репозитории. У тебя уже, считай, готовый репозиторий, но с кучей охуенных вещей, которые ты все равно сам не реализуешь. Городить лишний слой абстракции над существующей абстракцией это одновременно и аутизм, и долбоебизм.
Тут, конечно, кто-нибудь прокукарекает про то, что если мы захотим сменить в будущем ОРМ или БД (лел), то с репозиториями не нужно будет пердолиться с DAL, а вот если везде таскать ISession или IDataContext, то нам пизда. На это можно только ответить, что в зрелом проекте менять ОРМ (а уж тем более СУБД) будет либо компания, которая может себе это позволить и это в любом случае будет больно, либо конченный долбоеб.
Опять же, что касается тестов. Не знаю, как там в EntityFramework, но в NHibernate стабы на ISession делаются не сложнее, чем стабы на любой другой интерфейс, да и поднять быстро прямо в памяти и потестить сложную логику сохранения и\или получения данных - дело пяти минут.

tl;dr: репозитории не нужны уже лет 8-10 как, просто сделай нормальный DAL с EF (или любым другим ОРМ) и внедряй интерфейс везде, где он нужен.
Аноним 09/11/15 Пнд 19:24:34 #321 №576960 
>>576856
> DAL с EF
Похоже я неправильно понял что такое репозиторий, в моем понимании это и был DAL класс, мы же и там и там методы доступа к данным определяем.
Аноним 09/11/15 Пнд 19:48:28 #322 №576981 
АНАНАСЫ, как в массиве, в листе, похуй, пройтись фором не по прямой а по наклонной. У меня есть на изображении прямоуголник повернутый, мне надо его площадь измерить. З.Ы EmguCV rotatedRect если че.
Аноним 09/11/15 Пнд 19:49:00 #323 №576982 
>>576981
не площадь, а каждый пиксель(эелемент массива) внутри этого прямоугольника.
Аноним 09/11/15 Пнд 20:59:52 #324 №577062 
14470919925020.png
14470919925021.png
14470919925022.png
Почему-то не ставится нормально Ninject при создании с помощью шаблона MVC и выдает ошибки
При этом, когда я ставил его на пустой проект тем же способом
Install-Package Ninject, Ninject.Web.Common, Ninject.MVC3 все было ок.
Но теперь в созданном классе NinjectWebCommon
Во-первых подчеркивается, кажется, решапером класс бутстраппер
Во-вторых компилятор не видит IKernel хоть библиотека Ninject подключена
Аноним 09/11/15 Пнд 22:29:59 #325 №577147 
>>577062
Разобрался, Nuget писал что присутствует библиотека, которой фактически не было в проекте
Аноним 09/11/15 Пнд 23:31:22 #326 №577203 
>>576856
http://www.thereformedprogrammer.net/is-the-repository-pattern-useful-with-entity-framework/
Вот похоже статья на эту тему как раз.
Аноним 10/11/15 Втр 00:43:16 #327 №577283 
>>570067 (OP)
шарпобоги, помогайте:
я юнете програмист(ладно-алдно, кодер). вполне себе успешный, но нихуя не загадка, что юнити не будет жить вечно.
сабж: осмыслить шарп как таковой(интырпрайзовый) дохуя ли нужно будет ума? или пойдет?
Аноним 10/11/15 Втр 04:49:10 #328 №577362 
http://pastebin.com/0gd2bKAe
вот такую вот хуету навалял, уверен что всё это говно можно заменить простеньким циклом. подскажите как.
Аноним 10/11/15 Втр 13:57:06 #329 №577584 
>>577362
Что сделать то хотел?
Аноним 10/11/15 Втр 15:23:53 #330 №577628 
>>577584
я совсем дибил, нашел сайтец с модулями по с# и пытаюсь их делать. Изначально задача выглядит так:
есть 3 переменных типа дабл, нужно чтоб програма их сравнивала и сумировала 2 самых больших, если все 3 переменные равные должно выбить ЕРОР.8
Аноним 10/11/15 Втр 15:46:11 #331 №577636 
>>577628
if (array.All(x=>x[0])) error
array.OrderByDescending(x=>x).Take(2).Sum()
Аноним 10/11/15 Втр 17:36:31 #332 №577705 
>>576960
Методы доступа к данным тебе не нужны, у тебя есть интерфейс контекста, через него ты дергаешь базу.
Если у тебя относительно сложная логика получения (сохранения, удаления, изменения) данных, то в этом случае лучше воспользоваться паттерном Query Object. Суть его (коротко) в том, что ты инкапсулируешь сам запрос в отдельный объект. Плюс его в том, что он больше соответствует OOP way и такие объекты-запросы даже можно использовать в нескольких местах (хотя тут уже от организации данных и способа их получения зависит).
Вот тут можешь про него глянуть http://crosscuttingconcerns.com/CommandQuery-Object-pattern
Аноним 10/11/15 Втр 19:04:41 #333 №577740 
Ребята, подкиньте литературы для начинающих (совсем начинающих), чтоб с основ и дальше.
Работа есть (не в сфере программирования), решил как хобби геймдевом заняться, как движок подходит юнити, а там шарп знать нужно. И если графин я пилить могу, то с кодом, конечно, проблема.
Аноним 11/11/15 Срд 06:28:54 #334 №578152 
>>577636
>x=>x[0]
Вот тут не понял
Аноним 11/11/15 Срд 06:39:05 #335 №578155 
>>578152
array[0]
Аноним 11/11/15 Срд 07:07:01 #336 №578163 
>>578155
Я все равно не понял.
Там же сравнить все три нужно, нет?
Аноним 11/11/15 Срд 07:12:06 #337 №578165 
>>578163
>array.All(x=>array[0])
array.all(элемент=>предикат) проверяет каждый элемент на соответствие предикату, возвращает true если соответствуют все или коллекция пуста.
x=>array[0] - краткая альтернатива x=>x==array[0]. Т.е. каждый элемент сравнивается с первым.
Аноним 11/11/15 Срд 07:15:02 #338 №578166 
>>578165
Теперь понял, спасибо.
Первый раз такое сокращение вижу.
Аноним 11/11/15 Срд 07:44:37 #339 №578171 
>>578166
Не слушай этого линкозависимого.

0) Просто отсортируй входной массив (загугил как).
1) Сложи первых два элемента.
2) Опционально проверь все значения на равенство.

Все просто.
Аноним 11/11/15 Срд 07:48:32 #340 №578172 
>>578171
Я тут вообще мимоходом. LINQ - true, просто сокращение непонятное.
Аноним 11/11/15 Срд 09:06:38 #341 №578190 
14472219983420.jpg
Почему у меня не работает DrawLine не рисует, никаких ошибок не выдает.
http://ideone.com/Es8zta
Аноним 11/11/15 Срд 09:09:05 #342 №578192 
>>578190
>this.panel1.MouseDown +=
Вангую, что нужно еще -= для текущего метода.
Аноним 11/11/15 Срд 09:13:13 #343 №578194 
>>578192
Спасибо огромное, я второй день в депрессии из-за этого был.
Аноним 11/11/15 Срд 09:16:18 #344 №578198 
>>578194
Видимо мне надо книжку какую-нибудь почитать, чтобы в такое говно не вляпываться.
Аноним 11/11/15 Срд 10:47:52 #345 №578241 
>>578192
Кстати насчет -= что он будет если такого действия нет в делегате? Можно как то проверить?
Аноним 11/11/15 Срд 11:14:39 #346 №578253 
>>578241
А самому взять и попробовать? Просто ничего не будет. Если зачем-то еще нужно проверить - есть метод .GetInvocationList(), возвращает Delegate[]
Аноним 11/11/15 Срд 12:33:55 #347 №578310 
public Task<Bitmap> GetLastImageAsync()
{
var image = _images.Count > 0 ? _images.Last() : null;
return image?.GetImageAsync();
}
Ничего не забыл? или нужно await у GetImageAsync ставить?
Аноним 11/11/15 Срд 12:51:54 #348 №578316 
>>578310
Даже не знаю. Зачем тебе тут await?
Аноним 11/11/15 Срд 12:56:50 #349 №578317 
>>578316
Да сам не знаю, вроде и без него работает. Но VS при наведении на метод говорит usage await GetImageAsync. Вот и подумал, что может надо.
Аноним 11/11/15 Срд 14:37:48 #350 №578398 
Хочу начать разрабатывать мелкий софт под мобильные платформы. Какие есть решения, помимо Xamarin?
Аноним 11/11/15 Срд 15:05:13 #351 №578433 
>>578398
Писать на жабе.
sageАноним 11/11/15 Срд 16:17:05 #352 №578469 
>>577705
А не проще сделать View на все случаи жизни и потом извлкать из них данные в нужные сущности? А изменять/удалять уже не сложно будет, имея список записей с примененным на них фильтром.
Аноним 11/11/15 Срд 21:05:57 #353 №578653 
Есть класс "матрица", которая в основном состоит из массива даблов. Как сделать, чтоб это не обязательно были даблы, а еще и инты-децимал например? Через дженерик вроде не вариант, мол нельзя нормально ограничить where T : Numbers (грубо говоря). Как-то через object, dynamic, ... ?
Аноним 11/11/15 Срд 21:16:10 #354 №578666 
>>578653
Я в свое время с такой же проблемой столкнулся, только хитровыебанные костыли
http://stackoverflow.com/questions/5905563/c-sharp-generic-operators
Сам я просто взял и на фшарпе переписал, там такое сделать несложно
Аноним 11/11/15 Срд 21:16:57 #355 №578667 
>>578653
Как раз таки в шершавом это нормально делается через дженерики, в отличии от явок-скалок там всяких. Просто параметризуй это дело объектами-полями ( https://en.wikipedia.org/wiki/Field_(mathematics) ), содержащими реализацию операций для нужного типа. Можешь дефолтануть (реализовать default(Field<int/float/etc>)) и тогда не надо будет инжектировать всюду.
Аноним 11/11/15 Срд 21:36:36 #356 №578680 
14472669970010.png
14472669970021.png
Как такой запрос через LINQ сделать?
В таблице к каждому работнику может приписана несколько должностей, но при этом он может быть приписан только к одному департменту. Поэтому мне подходит любая запись из таблицы Staff которая относится к данному сотруднику, чтобы бы потом через нее выйти на Id Департмента, а через него к Id Компании. В LINQ так сделал, но оно не прокатывает, потому что к индексу нельзя обращаться в LINQ to Entities
List<Employee> employees =
context.Employee.Where(
e => (e.Staff[0].DepartmentId == 3) && (e.Staff[0].Department.CompanyId == 1))
.ToList();
Аноним 11/11/15 Срд 21:55:02 #357 №578694 
>>578653
Вот, держи: http://ideone.com/fsQSkw
Вместо Magma можешь там сделать тот Field, в котором будет больше операций и нейтральные элементы по ним (см вики). Ну и по-дизайну уже сам думай, скармливать ли алгебры параметрами в Sum/Mul/Div, или лучше один раз в конструктор, или в методы, но как-нибудь задефолтить, чтоб не надо было вручную передавать постоянно и тд.
Аноним 11/11/15 Срд 22:33:54 #358 №578725 
14472704344470.png
>>578680
Нашел конвретер генерации LINQ с SQL http://www.sqltolinq.com/help
Сразу то что надо сгенерировал даже править не нужно было
2 часа на один запрос потратил, пиздос.
Аноним 11/11/15 Срд 22:41:10 #359 №578732 
>>578667
Ну охуеть икспертиза. Вот quick-and dirty snippet
(писал на ideone, поэтому лень было делать правильно).
http://ideone.com/SHd9XQ
Аноним 11/11/15 Срд 22:47:52 #360 №578734 
>>578732
Извини, в
> в шершавом это нормально делается через дженерики, в отличии от явок-скалок там всяких
Я имел в виду что в сишарпе есть value-типы, и генерики корректно и юниформно работают с ними. В Java/Scala ты даже не можешь сделать анбоксед массив кастомного типа. Ты даже не можешь объявить матрицу нормально, потому что каждая матрица - это будет выделение в куче, которое внутри содержит ссылку на другое выделение в куче (сам массив). Там, где вообще нужны матрицы - это всё важно.
В скале начали делать http://docs.scala-lang.org/overviews/core/value-classes.html но этого слишком мало.
Аноним 11/11/15 Срд 23:00:18 #361 №578738 
> Там, где вообще нужны матрицы
Там строго кресты, потому что в них можно подсунуть специализированную реализацию для нужных типов.
Аноним 11/11/15 Срд 23:07:55 #362 №578744 
>>578738
Вообще да. Но если нет возможности, то здесь хотя бы модель памяти можно проконтролировать. Оверхед на косвенные вызовы численных операций по сравнению с тем, как их бы заинлайнили в цпп, менее критичен и более равномерно размазан по времени.
Аноним 11/11/15 Срд 23:13:22 #363 №578745 
>>578744
В крестах можно написать Vec3[A], где для A = float можно указать полностью специализированную реализацию класса, которая является инлайн-оберткой для __m128 (SIMD vector4)
Аноним 11/11/15 Срд 23:16:14 #364 №578749 
Так блядь, байтослесари и скалаёбы, пиздуйте отсюда на свои помойко-треды, не мешайте нормальным людям обсуждать C#.
Аноним 11/11/15 Срд 23:25:33 #365 №578757 
В сишарпе можно как в джаве передавать экземпляры сущностей сразу к контексту, а не как к конкретному DbSet?
В джаве можно было благодаря этому писать постые дженерики типа такого

public <T> void edit(T f, Class<T> type) {

EntityManager em = emf.createEntityManager();
try {
em.getTransaction().begin();
em.merge(f);
em.getTransaction().commit();
} catch (IllegalArgumentException e) {
System.out.println("Не найдено такого объекта");
} finally {
em.close();
}

}
Аноним 11/11/15 Срд 23:28:16 #366 №578760 
>>578749
Будто бы в шарпе SIMD нет
Аноним 11/11/15 Срд 23:33:08 #367 №578763 
>>578745
Если речь идёт о частоиспользуемых в 3д фиксированных матрицах (3х3, 4х4), операции которых можно анрольнуть и слегка заоптимизировать через SSE, на C# остаётся только ручная мономорфизация и http://docs.go-mono.com/?link=N%3aMono.Simd
Правда, если речь о симуляциях и играх, там один фиг лучше везде использовать флоаты и хотеть гарантированного SSE, так что проблема полиморфизма стоит не слишком остро.
Аноним 11/11/15 Срд 23:36:07 #368 №578766 
>>578760
Я не понимаю по байтоёбски, уёбывай.
Аноним 12/11/15 Чтв 00:37:51 #369 №578809 
>>578694
Спасибо огромное, заюзал твой способ, задавать операцию параметром в метод это то, что нужно. В эту сторону вообще голова не думала.
Аноним 12/11/15 Чтв 03:59:33 #370 №578915 
>>577705
>Методы доступа к данным тебе не нужны,
Начал делать без методов, тогда весь DAL находиться непосредственно в контроллере, в котором используется. Это норма?
Аноним 12/11/15 Чтв 05:16:30 #371 №578936 
Раньше в шапке вроде была рекомендация Yellow Book. По какой причине отказались?
Аноним 12/11/15 Чтв 06:01:59 #372 №578948 
>>578745
https://msdn.microsoft.com/en-us/library/system.numerics.vector3(v=vs.111).aspx
http://referencesource.microsoft.com/#System.Numerics/System/Numerics/Vector3_Intrinsics.cs
Аноним 12/11/15 Чтв 06:27:22 #373 №578955 
>>578915
Кидай код, короче, тут тебе пояснят
Аноним 12/11/15 Чтв 14:04:16 #374 №579066 
>>578936
Говно со смехуёчками.
Аноним 12/11/15 Чтв 15:55:46 #375 №579132 
Подскажите, пожалуйста.
Нужно, чтобы определенный метод запускался, когда DateTime.Now станет равным определенному значению. То есть, в определенное время чтобы он запускался.
Можно это сделать красиво? Какие-нибудь системные события может существуют?
Сравнивать в бесконечном цикле текущее время с целевым - какой-то совсем убогий способ.
Аноним 12/11/15 Чтв 16:09:38 #376 №579141 
>>579132
Таймер на (целевое время - текущее время) тоже мне не нравится. Помню на С++ таймеры делал, они от системного времени отставали. Незначительно, но если на 10 часов вперед задачу поставить, то погрешность несколько минут накапливалась.
Аноним 12/11/15 Чтв 17:00:25 #377 №579188 
>>579132
на сколько мне известно, у тебя не особо много вариантов:
- цикл;
- таймер;
- расписание задач в вине;
- какая-нибудь либа для выполнения задач, типа кварца http://www.quartz-scheduler.net/
Аноним 12/11/15 Чтв 17:08:06 #378 №579192 
Анончики, подскажите как лучше сделать или по каким словам гуглить.
Винда/моно. В рамках моего проекта надо обеспечить эксклюзивный доступ к папкам на лежащим на шаре. То есть у меня где-то создался объект, в папке что-то произошло (допустим локфайл создался), остальные все видят, что папка залочена и не лезут.
Создавать/удалять файлы - не айс, в случае проблем сети. Если подымаю FileStream с эксклюзивным локом на рид, то проблемы сети просто не замечаю. И еще если в том же потоке пытаюсь поднять еще один стрим на рид, то он фейлится, говорит что кто-то залочил.
Как такое реализовывать или гуглить?
Аноним 12/11/15 Чтв 17:17:20 #379 №579197 
>>579188
Ясно, спасибо. Вот это погуглю
>- расписание задач в вине;
Аноним 12/11/15 Чтв 18:14:33 #380 №579234 
Поясните за yield. Msdn дрочил, но не вкатился в суть.
Аноним 12/11/15 Чтв 18:30:58 #381 №579243 
14473422583020.jpg
>>579234
Состояние генерируемому компилятором автомату добавляет.
IEnumerable<int> Items()
{
yield return 1;
yield return 2;
yield return 3;
}
ver e = Items().GetEnumerator();
e.MoveNext(); // 1
e.MoveNext(); // 2
e.MoveNext(); // 3
Аноним 12/11/15 Чтв 18:41:14 #382 №579251 
>>579243
а чем отличается от простого return? Тем, что он завершит выполнение метода, сразу после вызова?
Аноним 12/11/15 Чтв 18:56:27 #383 №579255 
>>579251
Тем, что он, во-первых, скажет компилятору сгенерировать и вернуть реализацию IEnumerable c автоматом на основе метода, в котором указан. Во-вторых, yield return — это состояния, по которым этот автомат будет ходить, если дергать его метод MoveNext. С обычным return, который переходит на адрес возврата функции, нет ничего общего. Не знаю, возьми рефлектор и просвети хелоу ворлд с yield return. Может понятнее станет.
Аноним 12/11/15 Чтв 19:02:45 #384 №579259 
>>579255
Да норм объяснил, спасибо.
Аноним 12/11/15 Чтв 19:11:32 #385 №579268 
>>579259
Ну, ты все же под рефлетором сборку-то глянь.
Аноним 12/11/15 Чтв 19:18:26 #386 №579276 
>>579251
http://ideone.com/zyEkJE
Скопируй и посмотри в отладчике, раз уж так не понятно
Аноним 12/11/15 Чтв 23:39:19 #387 №579450 
14473607599830.png
Как ошибку эту исправить?
Аноним 13/11/15 Птн 00:28:05 #388 №579478 
>>570356
>Дотнет изучают ради комбы ASP.NET + WCF.
Тащемта да, вся денежная работа находится в этом сегменте. Плюс за последние год-полтора очень сильно подтянулось Mono, теперь кроссплатформенность во все поля.
Бета MVC 6 уже нормально работает на линуксе главное, кучу всего правильно скомпилировать на хост-машине, лол.
Аноним 13/11/15 Птн 00:30:05 #389 №579480 
>>579450
Смени private на public, там же написано об этом.
[Василий] Аноним 13/11/15 Птн 00:33:25 #390 №579484 
>>579450

public
Аноним 13/11/15 Птн 00:43:49 #391 №579491 
>>579480
>>579484
Спасибо, не заметил.
Аноним 13/11/15 Птн 01:16:58 #392 №579507 
>>579450
Бизнес-информатик в треде, все в кирпич
Аноним 13/11/15 Птн 06:43:32 #393 №579589 
{
using (var conn = new OracleConnection(connectionString))
using (var adapter = new OracleDataAdapter(query, conn))
{
var table = new DataTable();
adapter.Fill(table);
return table.Copy();
}
}
Почему в дататабе только заголовки от запроса? Запрос верный.
Аноним 13/11/15 Птн 07:29:43 #394 №579592 
>>579589
Разобрался, все таки, запрос был в CP-1251.
Аноним 13/11/15 Птн 13:53:09 #395 №579738 
Есть какой нибудь простой редактор на c# для datatable наподобие Excel, с фильтрами, сортировкой. Формулы не нужны.
Аноним 13/11/15 Птн 16:35:17 #396 №579796 
Нужно ли кидать await (веб-запрос, в моем случае) в try-catch?
Аноним 13/11/15 Птн 18:26:42 #397 №579870 
Посоветуйте что по конфигурации IIS почитать и SSL
Аноним 13/11/15 Птн 18:29:46 #398 №579875 
>>570473
бамп вопросу
Аноним 13/11/15 Птн 19:58:07 #399 №579913 
>>572655
вы блять поехавшие? стек на массивах можно нормально только через указатели реализовать, те на плюсах онли
второкурсота
Аноним 13/11/15 Птн 22:15:43 #400 №579995 
>>578955
Ну вот код контроллера(круд для работников), там в целом я по примеру делал, только код доступа к данным вынес в сам контроллер и таблицы из базы другие. В примере использовали паттерн репозитория.
Контекст я через нинджект внедрял, только непонятно зачем. Пришлось переопределить метод SaveChanges, например, хоть он ничего нового не добавляет в функционал а вызывает родительский метод. Наверное, нужно было создавать контекст сразу в контроллере конструктором и без нинджекта.
И еще тот здоровый запрос дважды исользовал, можно было выгрузить в память и применить Count к коллекции, но это же вроде неоптимально — выгружать все записи в память.
https://ideone.com/efNvCE LINQ здесь поехало, в студии ровненько выглядело.
Аноним 14/11/15 Суб 02:38:18 #401 №580124 
Не обоссывайте только, плиз. Как в цикле вызывать методы с разными именами на каждую итерацию? method_1(), method_2(), method_3(). Т.е. вместо 1 2 3 нужно чтобы был индекс.
Аноним 14/11/15 Суб 03:57:12 #402 №580136 
>>580124
А зачем тебе это нужно?
Аноним 14/11/15 Суб 04:51:46 #403 №580143 
>>580124
Такой хуйни быть не должно, ты очевидно что-то делаешь не так.
Аноним 14/11/15 Суб 05:38:01 #404 №580146 
>>580124
рефлексия же.
MethodInfo hui = typeof(Pizda).GetMethod("method_"+i);
hui.Invoke();
как-то так ёпта
Аноним 14/11/15 Суб 05:44:14 #405 №580148 
>>579913
Идиот.
Аноним 14/11/15 Суб 15:12:19 #406 №580289 
>>580148
согласен, а где я не прав?
Аноним 14/11/15 Суб 17:39:06 #407 №580383 
>>570067 (OP)
Поясните обывателю или ткните где почитать в чем разница между int a = 5; и int a = new int(5); Конструктор по умолчанию бла бла В чем профит от второго варианта? И где лучше всего почитать про свистопляски с типами?
Аноним 14/11/15 Суб 19:27:35 #408 №580463 
>>580383
Нет разницы.
Аноним 14/11/15 Суб 21:54:48 #409 №580570 
>>576856
>tl;dr: репозитории не нужны уже лет 8-10 как, просто сделай нормальный DAL с EF
Если разбираться, то DbContext и есть дженерик-репозиторий о чём многие даже не подозревают, только напичканный всякими плюшками до усрачки. Городить отдельные репо, используя EF - это, как минимум, просто тупо и потеря времени.
Аноним 14/11/15 Суб 21:56:20 #410 №580571 
>>580124
Используй коллекцию делегатов или лямбд, если знаешь какие методы надо вызывать. А иначе остаётся только reflection.
Аноним 14/11/15 Суб 21:59:35 #411 №580576 
>>580570
Вот только я забыл сказать, что EF - лютый слоупок. Когда нужна скорость, быстрее всего работают именно те самые "немодные" SQL-запросы (это даже быстрее дэппера и прочего говна).
Аноним 14/11/15 Суб 22:36:00 #412 №580619 
>>580576
Когда нужна скорость, используют хранимые процедуры и смотрят план выполнения запроса.
Аноним 14/11/15 Суб 22:46:34 #413 №580628 
>>580136
>>580571
Есть группа радиобаттонов, надо проверить какой из них в данный момент активен и вызвать событие Checked активного.
Аноним 14/11/15 Суб 22:56:13 #414 №580631 
>>580628
Проверяю я примерно так:
foreach(RadioButton Rb in GridName.Children)
if(Rb.IsChecked)
//тут надо вызвать событие Checked конкретного радиобаттона (у каждого оно своё)
Аноним 15/11/15 Вск 00:05:17 #415 №580682 
>>580631
У них нет стандартного события смены значения?
Аноним 15/11/15 Вск 00:22:58 #416 №580688 
>>580463
Ну охуеть теперь. Спрашивается зачем они прикручивали эти навороты?
Аноним 15/11/15 Вск 01:11:10 #417 №580708 
>>580688
Какие навороты? У Int32 нет конструкторов. Про то, как значимые типы хитро прикручены к объектной модели, можно, наверно, у Рихтера почитать, но по-сути это не особо важно знать.
Аноним 15/11/15 Вск 02:06:33 #418 №580723 
>>580682
Мне надо проверять не в момент когда меняется значение, а когда пользователь в текстбокс. Т.е. вызывается из другого события.
Аноним 15/11/15 Вск 03:51:01 #419 №580749 
>>580628
По-моему, ты делаешь что-то не то. Вызывать событие другого класса напрямую не есть хорошо. Но возможно:
http://stackoverflow.com/questions/4378339/raise-an-event-of-a-class-from-a-different-class-in-c-sharp
Аноним 15/11/15 Вск 16:45:10 #420 №580939 
Сап, шарпаны. Вопрос такой: имел кто-нибудь дело с Orchard CMS?
Аноним 15/11/15 Вск 19:04:29 #421 №581017 
>>578915
>>579995
Бамп вопросу.
Аноним 15/11/15 Вск 19:22:41 #422 №581026 
>>580619
Это понятно. Просто сам EF имеет нехилый оверхед. За удобство нужно платить.

>>581017
>тогда весь DAL находиться непосредственно в контроллере
Есть разные мнение на этот счёт. Обычно принято считать, что контроллеры должны быть максимально "тонкими", т.е. вообще не иметь понятия о том откуда берутся данные и как они обрабатываются. Задача контроллера - передавать модель во вью и наоборот.
Посмотри в сторону паттерна
controller <-> service <-> repository (DAL)
Вот в службу и можно вынести все операции с данными и генерацию/обработку моделей. При необходимости сделать взаимодействие службы с репо. А после экземпляр службы внедрять в контроллер инжектом.
Аноним 15/11/15 Вск 19:29:52 #423 №581031 
>>581026
Пример как это может выглядеть:
http://stackoverflow.com/questions/5049363/difference-between-repository-and-service-layer
Аноним 15/11/15 Вск 20:03:26 #424 №581044 
>>581026
https://ideone.com/1xb9rP
Ну вот я переделал с сервисом.
Аноним 15/11/15 Вск 20:50:58 #425 №581058 
>>581044
На вид нормально, контроллер аккуратный получился.
Аноним 15/11/15 Вск 20:52:19 #426 №581059 
>>581044
Только я бы ещё вот это

service.SelectEmployees(1, 3)
.OrderBy(e => e.Id)
.Skip((page - 1) * pageSize)
.Take(pageSize),

упаковал бы в отдельный метод сервиса
Аноним 15/11/15 Вск 21:14:27 #427 №581061 
Есть код из одного видеокурса из шапки. Вот он, так сказать, собственной персоной : http://ideone.com/Ws9NFW
Аноним 15/11/15 Вск 21:18:05 #428 №581063 
>>581061
Понимаю в нем все, кроме public override bool Equals(Object obj)
{
if (obj == null || GetType() != obj.GetType())
return false;

Point p = (Point)obj;
return (x == p.x) && (y == p.y);
}

public override int GetHashCode()
{
return x ^ y;
} Поясните, пожалуйста, мне, каким образом у точек а и b одинаковый хэщкод и зачем вообще нужно тело метода Equals. Все остальное понятно. Заранее благодарю.
Аноним 15/11/15 Вск 21:23:50 #429 №581065 
>>581063
Он нужен, чтобы правильно работал оператор ==
У двух точек одинаковый хэшкод, потому что поля имеют одинаковые значения.
https://msdn.microsoft.com/library/336aedhh%28v=vs.100%29.aspx
Аноним 15/11/15 Вск 21:47:25 #430 №581073 
>>581065
Одинаковый Хэшкод им обеспечивает переопределение метода Equals? Если закомментить оба переопределения, везде получу False
Аноним 15/11/15 Вск 21:52:44 #431 №581078 
>>581073
Одинаковый хэшкод им обеспечивает переопределение GetHashCode.
Аноним 15/11/15 Вск 22:06:19 #432 №581085 
C Хэщкодом разобрался. А вот переопределение Equals я так и не понля. Но вес равно спасибо тебе или вам, анон(ы), что помогли советом, а не послали нахуй.

Аноним 15/11/15 Вск 22:07:00 #433 №581086 
>>581085
>понял
>все
Самопочин
Аноним 16/11/15 Пнд 03:37:00 #434 №581168 
Суп, шарпач.
Есть проблемка, нужно изящное решение.
Кароч, есть xml файл примерно такой структуры:
<doc>
<object name="allah" bdate="00.00.00">
<attr name="hui" value="0"/>
<attr name="pizda" value="1.5"/>
<attr name="jigurda" value="lol"/>
</object>
<object name="erokhin" bdate="01.01.1995">
<attr name="hui" value="30"/>
<attr name="iq" value="10"/>
<attr name="car" value="bmw"/>
</object>
</doc>
т.е. у нас дохуя object и у каждого из них неограниченное количество attr имеющих одинаковую структуру. У object'ов могут быть разные attr, заранее мы ничего не знаем о том сколько их и какие у них attr.name.
Так вот, мне надо вывести в DataGrid(wpf) все object'ы, причем так, чтобы выглядело таким образом:
В каждой строке по одному object
заголовки столбцов - attr.name
если у object нет такого attr.name, то выводим прочерк.
Сделал StringDictionary для каждого object, вношу в него и атрибуты самого object и все его attr, но при бинде на этот List<StringDictionary> получается хуйня, выводятся проперти StringDictionary.
Может у кого есть еще адекватные идеи?
задумывался на счет ExpandoObject, но нихуя не понял как они работают
Аноним 16/11/15 Пнд 04:49:15 #435 №581173 
>>581168
https://dotnetfiddle.net/SqrwIE
http://stackoverflow.com/a/1990632/1308583
Аноним 16/11/15 Пнд 05:01:19 #436 №581174 
>>581173
Дай я тебя поцелую, милашка
Аноним 16/11/15 Пнд 06:17:13 #437 №581181 
Кто там звездит про то что #Веселая Ферма - тайм киллер? Вы вообще в нее хоть играли? Тут #stealth покруче чем в последнем #MGSV - спящие куры просыпаются от малейшего шороха курсора, они видят в даль и в ширину, ОНИ, черт подери, в отличии от болванчиков из последних типа тру стелс игр, НЕСУТ ЯЙЦА, тут учитывается свет и тень, нет укрытий и перекатов и большинство ситуаций в игре можно по стэлсу разрешить не прибегая к громкому оружию. Нет, это конечно не чистокровный стэлс, но для браузерной игры стэлс здесь очень приятный и играется по старинке, а так же бросает не хилый вызов.

Не знаю как там играют каловдуные #yoba школяры по которым (или по себе?) вы судите ферму как убийцу времени, но я в игре больше времени провел играя в адвенчуру, стэлс и симс (пол дня стэлсил, второю половину дня опрыскивал грядки пестицидами, чтобы ни один колорад не прошел, но это уже другая история...) и один из лучших сурвйавал симуляторов, хотя когда созревала куча овощей то игра превращалась в раннер... и тут еще залипал в имитациях классических 8 битных игр вроде Донки Конга

Какой блин тайм киллер, мать вашу? У меня от всего времени в игре (что-то около суток), тайм киллера было от силы на 30 минут! Тут несколько десятков игр в одной, и тайм киллер - очень малая часть из этого списка!

Я прихожу к выводу, что все кто орут "УБИЙЦА ВРЕМЕНИ" - просто вообще не играли и даже толком на ютюбе и твитче игру не видели. Тут столько всего можно и нужно делать!

На фоне этого разнообразия игровых механик, витчер в котором можно только ходить пешком и на плотве, а так же болтать, готовить зелья и закликивать врагов до смерти - смотрится как бедный родственник..

Вот уверен, что каждый орущий про "говно" - поиграв в фермочку 4 - 5-10 часов уже не сможет от нее оторваться пока не наиграет сотню-другую часов.
Аноним 16/11/15 Пнд 06:49:57 #438 №581186 
>>581181
Что ты здесь забыл?
Аноним 16/11/15 Пнд 12:15:53 #439 №581266 
Есть несколько паралельных тасков которые работают с БД. Для каждого таска нужно новое соединение или они могут работать с одним?
БД - Oracle
Аноним 16/11/15 Пнд 12:28:02 #440 №581270 
>>581186
Веселая ферма написана на сишарпе.
Аноним 16/11/15 Пнд 14:28:11 #441 №581313 
>>581266
Создавай новое.
Аноним 16/11/15 Пнд 17:50:24 #442 №581430 
>>570067 (OP)
Нужно отправить в метод сторонней библиотеки (доступа к коду нет) массив объектов размером 5+ ГБ. Приложение х86, то есть занимать больше 1.2 ГБ нельзя, иначе будет OutOfMemoryException .

Можно эту проблему решить?
Возможно в дотнет есть какой-нибудь класс вида Image<T>, который не хранит сами объекты, а динамически подгружает их с жесткого диска при необходимости?
Аноним 16/11/15 Пнд 18:13:03 #443 №581443 
>>581430
Даже если изображения будут читаться с диска, грузится они все равно будут в память. А ты уверен что твоя библиотека вовремя выгрузит эти изображения?
Аноним 16/11/15 Пнд 18:34:32 #444 №581454 
>>581443
>грузится они все равно будут в память.
Но не целиком, а по кусочкам. Чтобы единовременно в памяти 5 ГБ не занимать. Чтобы в памяти были только те данные, которые в данный момент нужны для работы.

Это не изображения, там массивы double длиной в сотни тысяч. Слово Image взял по аналогии с образами физических дисков, которые в англоязычном софте тоже называются Image.

>А ты уверен что твоя библиотека вовремя выгрузит эти изображения?
Идея была в том, чтобы библиотека не знала, что работает с Image<T>, чтобы она воспринимала это как T , а вся черновая работа по подгрузке производилась фоном.

Наверное в дотнет нет такой функциональности, она бы на слуху была.
Аноним 16/11/15 Пнд 20:43:51 #445 №581509 
как установить .net reflector в качестве расширения VS 2015? Чтобы в самой студии можно было разобарать страницы, et cetera?
Аноним 16/11/15 Пнд 21:04:45 #446 №581526 
>>581509
>разобарать страницы
М?
Аноним 16/11/15 Пнд 21:46:07 #447 №581550 
>>581430
Можно, например, чтение из файла реализовать итератором а-ля File.ReadAllLines(). Хотя, если библиотека ждет массив, то уже не попляшешь.

Вот про отображение файлов в память: https://msdn.microsoft.com/en-us/library/dd997372%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396 . Признаюсь, сам не читал, но вроде в C++ работают с большими файлами так.
Аноним 16/11/15 Пнд 21:57:44 #448 №581561 
14477002649760.gif
Сап.
Есть ли какая-то нативная реализация netstring http://cr.yp.to/proto/netstrings.txt в .NET/mono
?
Выручайте.
Аноним 16/11/15 Пнд 21:59:32 #449 №581564 
Стоит перекатиться с плюсов на ЭТО? Какие изменения меня ждут?
Аноним 16/11/15 Пнд 22:30:15 #450 №581586 
>>581561
Нету.
Аноним 16/11/15 Пнд 22:58:26 #451 №581605 
>>581564
Нет, уёбывай обратно в свой байтоёбский тред.
Аноним 16/11/15 Пнд 22:59:35 #452 №581607 
>>581605
Не был там никогда.
Аноним 16/11/15 Пнд 23:51:58 #453 №581641 
как мне в датагриде на wpf вывести List<Storage> Storages
public class Storage
{
public string Name;
public int Id;
public Dictionary<string,int> Products; //string - name, int - count
public string IdName
{
get{return string.Format("{0}:{1}",Id,Name);
}
}
чтобы выглядело так:
Склад |Product1|Product2|Product3|...
----------------------------------------------------------
0:Главный |1 |2 |3 |...
1:Дополнительный|3 |2 |0 |...
Аноним 17/11/15 Втр 00:27:04 #454 №581669 
>>581605
Чего такая ненависть к сиплюсплюс?
Я никогда не писал на них, только на читстом си когда-то давно
Но все же?
Аноним 17/11/15 Втр 00:53:33 #455 №581683 
>>581669
Он просто мудак.
Аноним 17/11/15 Втр 01:12:23 #456 №581692 
>>581683>>581669
Байтослесари полыхнули, кек.
Аноним 17/11/15 Втр 01:33:12 #457 №581701 
>>581692
))
Аноним 17/11/15 Втр 01:33:28 #458 №581702 
>>581692
Высер типичного первокурсника.
Аноним 17/11/15 Втр 01:54:52 #459 №581709 
>>581586
>Нету.
Спасибо.
[Василий] Аноним 17/11/15 Втр 02:09:02 #460 №581714 
>>571187
Это защита от дурака. В сисарпе и джаве все так сделано, чтобы было сложнее выстрелить себе в ногу. Так же, как и бреак в свитче, и ретурн из файнали, и неявное приведение типов.
В каком-нибудь С у тебя была бы локальная переменная на стеке, и содержался бы там совсем не налл, а непонятная муть, и получилось бы undefined behaviour
Аноним 17/11/15 Втр 04:16:59 #461 №581731 
>>581714
Как будто что-то плохое.
Аноним 17/11/15 Втр 04:31:19 #462 №581734 
>>581731
Проиграл.
Аноним 17/11/15 Втр 08:31:18 #463 №581763 
>>An unhandled exception of type >>'System.InvalidOperationException' occurred in WindowsBase.dll
>>Additional information: Вызывающий поток не может получить доступ к данному объекту, так как владельцем этого объекта является другой поток.

Как изменить myLabel.Context из потока, который не является основным? lock вешаю - ничего не меняется.

Если никак, то зачем вообще многопоточность нужна, если дополнительные потоки не могут получить доступ ни к каким данным из основных потоков? Только какие-то методы странные запускать, которые работают в вакууме и ни с какими данными из основной программы не взаимодействуют.
Аноним 17/11/15 Втр 08:36:23 #464 №581765 
>>581763
Гуйный поток работает в изолированном окружении. К его данным обратиться можно только через диспетчер, который шедулит делегаты на исполнение в цикле сообщений. Если мне не изменяет память, то в винформс — это (Begin)Invoke метод у контрола, а в впф — класс Dispatcher.
Аноним 17/11/15 Втр 08:58:54 #465 №581772 
>>581763
http://habrahabr.ru/post/232169/
Аноним 17/11/15 Втр 09:11:33 #466 №581775 
var dgv = sender as DataGridView;
var scanImage = dgv?.CurrentRow?.DataBoundItem as ScannedImage;
if (scanImage == null) return;

Нормальный код или умные люди так не пишут?
Аноним 17/11/15 Втр 10:03:41 #467 №581798 
>>581775
Почему Троэсен говорит не использовать var (кроме LINQ), но его все-равно используют поголовно все, в том числе сами МС? Это уебанство же, невозможно код читать.
Аноним 17/11/15 Втр 10:32:03 #468 №581811 
>>581765
В потоках, не связанных с WF/WPF такой проблемы нет, можно спокойно обмениваться данными?

>>581772
Спасибо, сделал, работает. Ужасно неудобно, куча пустой работы на ровном месте.
Аноним 17/11/15 Втр 10:46:06 #469 №581816 
>>581811
>куча пустой работы на ровном месте
Никто не заставляет, lock в руки и синхронизируйся сам. Или даже не синхронизируйся, если ты опасный и любишь жить на краю.
Аноним 17/11/15 Втр 10:47:33 #470 №581817 
>>581798
var нужно использовать когда это уместно.
Аноним 17/11/15 Втр 10:53:40 #471 №581819 
>>581816
Кстати, public object Locker в классе норм, или тоже говнокод?
мимо->>581775
Аноним 17/11/15 Втр 10:54:28 #472 №581820 
>>581817
var fdvkjshfdjvksehrd = new jdfhsdfgiusfdj();
foreach (var item in fdsajkfshdfvhfds)
{
gdlkgudishgdrgh.gdrkuvhfdkurfh();
}
Аноним 17/11/15 Втр 10:55:02 #473 №581821 
>>581819
private рекомендуют.
Аноним 17/11/15 Втр 11:40:38 #474 №581845 
Шарпаны, имеется ли какой-нибудь годный задачник по C#, чтобы охватывал прям все фичи языка? Хочу закрепить знания, как только дочитаю Шилдта.
Аноним 17/11/15 Втр 12:30:16 #475 №581878 
>>581845
Правильный вопрос: имеется ли хоть какой-нибудь задачник по C#, чтобы охватил хоть какие-то фичи языка?
Нет, не имеется.
Все книги - просто документация, пересказанная своими словами.
Аноним 17/11/15 Втр 12:31:22 #476 №581879 
>>581819
Публичный объект для синхронизации? Любишь дедлоки ловить?
Аноним 17/11/15 Втр 12:33:05 #477 №581880 
>>581879
>Любишь дедлоки ловить?
Еще не знаю, ни разу не пробовал.
Аноним 17/11/15 Втр 12:39:35 #478 №581884 
Есть тут успешные бизнесмены? Или все в офисах за еду сидят?
Аноним 17/11/15 Втр 12:43:13 #479 №581886 
>>581884
Не знаю. Сижу дома, ем. В офис ехать лениво.
Аноним 17/11/15 Втр 13:12:11 #480 №581894 
>>581878
Жаль.
Но почему? Ведь для асма имеется, для плюсов тоже.
Аноним 17/11/15 Втр 13:21:46 #481 №581898 
>>581894
Просто сишарп интуитивно понятен. лол
Аноним 17/11/15 Втр 13:30:46 #482 №581901 
>>581894
Плюсы - нативный язык, шарп - скриптовая хуйня для виртуальной машины дотнет.
На плюсах программируют. На дотнет конструируют. Из уже написанного кем-то кода. Соответственно, навыки нужны совсем разные. На шарпе можно заправски кодить, не зная половины синтаксиса. Достаточно знать самые основы и уметь пользоваться документацией.

Ты же не удивляешься, что по 1С нет книг с задачками программирования? А в чем разница с сишарп? Такой же скриптовый язык, специально созданный для применения в одной единственной программе.
Аноним 17/11/15 Втр 13:31:58 #483 №581904 
>>581901
Байтохохол, тебе же сказали уёбывать отсюда.
Аноним 17/11/15 Втр 13:54:28 #484 №581912 
>>581904
Вообще-то я на шарпе пишу, с++ знаю на уровне второго курса деревенского говновуза (именно тогда прекратил им заниматься).
Зачем факты отрицать? Сишарп - это использование стандартного функционала нескольких встроенных фреймворков дотнет. На этом область применения заканчивается. Ах да, есть еще школьники, которые делают контерстрайки на юнити.

Если ты знаешь основы синтаксиса и как Бог владеешь документацией - ты без затруднений решишь 99% задач, которые ставятся перед дотнет разработчиком.

Мы не программисты, мы - прослойка между настоящими программистами и блондинками-верстальщицами.
По идее, для нашей профессии должны были новое слово придумать, но не сложилось. Верстальщиков вот не называют программистами, хотя они тоже "пишут код".
Аноним 17/11/15 Втр 14:01:25 #485 №581913 
>>581884
У меня батя успешный бизнесмен.
Что у него спросить?
Аноним 17/11/15 Втр 14:14:17 #486 №581925 
>>581912
Такое слово есть — прикладной программист. Байтоеб — системный.
Аноним 17/11/15 Втр 14:16:52 #487 №581927 
Не ссорьтесь
Аноним 17/11/15 Втр 14:19:43 #488 №581929 
>>581913
Спроси, как программисту в мухосранске заработать больше 10к$ за год.
Аноним 17/11/15 Втр 14:25:52 #489 №581931 
>>581912
>кококо кукарек кудах сиплюс мастеррейс я жру говно кудах!!!!
Ясно.
Аноним 17/11/15 Втр 14:32:17 #490 №581941 
>>581811
>В потоках, не связанных с WF/WPF такой проблемы нет, можно спокойно обмениваться данными?
Писать из чужих потоков нельзя только в элементы гуя, остальное объявляешь используемые поля через volatile и ебашишь многопоточность.
Аноним 17/11/15 Втр 14:35:55 #491 №581945 
>>581811
>Спасибо, сделал, работает. Ужасно неудобно, куча пустой работы на ровном месте.
На самом деле ты еще просто молод, чуток привыкнешь работать с асинхронными методами и почитаешь что-нибудь про то как нормально писать код и поймешь, что вся эта "пустая работа" это на самом деле здорово упрощает жизнь когда начинаешь что-то менять.
Аноним 17/11/15 Втр 14:42:06 #492 №581953 
>>581772
Очень неудобный способ. Он бы ещё вагон делегатов делал как в 2008-м.
Так гораздо короче:
http://stackoverflow.com/questions/571706/shortest-way-to-write-a-thread-safe-access-method-to-a-windows-forms-control
Аноним 17/11/15 Втр 15:02:55 #493 №581970 
Привет, анон.

1. void Method (object[] bigArray) {}
2. void Method (ref object[] bigArray) {}

В первом варианте внутри метода создается копия объекта. Во втором - используется уже существующий объект.
Все верно?

Если так, то мы должны использовать ref для входных параметров почти всегда. Просто чтобы экономить память. Зачем нам клонировать объекты лишний раз, если мы ни один из них редактировать не собираемся?

Почему так обычно не делают? В родных библиотеках ref вообще не помню, чтобы встречал где-то.
Аноним 17/11/15 Втр 15:14:02 #494 №581978 
>>581953
Охуенно, сейчас проверю.
Если заработает - заранее тебе спасибо авансом.
Аноним 17/11/15 Втр 15:14:22 #495 №581980 
>>581970
В первом случае копируется ссылка на объект, во втором ты передаешь ссылку на ссылку на объект.
Аноним 17/11/15 Втр 15:15:32 #496 №581982 
>>581978
Так тебе еще в >>581765 об этом сказали.
Аноним 17/11/15 Втр 15:17:34 #497 №581986 
>>581978
>Если заработает
Заработает, инфа 100%.
Аноним 17/11/15 Втр 15:29:57 #498 №581999 
>>581763
Можно же использовать await для получения данных из другого твоего потока, он возвращает в ui поток, псоле этого можно просто обращаться к контролам, без диспатчеров и инвоков.
Аноним 17/11/15 Втр 15:38:42 #499 №582005 
>>581970
https://dotnetfiddle.net/3CCNa2
Это, по-сути, равносильно говнокоду на си:
http://pastebin.com/KQjpq1a3

>В родных библиотеках ref вообще не помню, чтобы встречал где-то.
В методах для копирования массивов есть. Array::
Программирование Анон 17/11/15 Втр 15:43:45 #500 №582007 
Порекомендуйте что-нибудь для начинающего программиста на шарпе, раньше кодил на паскале для олимпиад, так что алгоритмы умею составлять, синтаксис шарпа знаю неплохо, всяческие алгоритмы напишу
хотелось-бы начать писать что-нибудь серьезное
Аноним 17/11/15 Втр 15:51:31 #501 №582014 
>>582007
Веб приложение (ria) для интернет магазина. Проводник aka explorer.
Аноним 17/11/15 Втр 16:09:57 #502 №582026 
>>582007
Фреймворки изучай. Для чего-то серьезного нужны не замысловатые алгоритмы, а знание библиотек и умение писать простой понятный масштабируемый код.
Аноним 17/11/15 Втр 16:48:15 #503 №582044 

x86 не индексирует больше 2 гигов ОЗУ
@
x64 не работает с СОМ библиотекой
@
разделяешь приложение на две сборки
Аноним 17/11/15 Втр 17:12:22 #504 №582063 
>>582026
какие порекомендуешь?
Аноним 17/11/15 Втр 17:58:44 #505 №582071 
Макаканы, в каких задачах сейчас используется Диез?
Аноним 17/11/15 Втр 18:02:05 #506 №582073 
>>582071
Тех же что и джава
закончили тут Аноним 17/11/15 Втр 18:03:19 #507 №582075 
Там перекатили, но ОП заболел аутизмом и забыл сюда сказать
>>582010 (OP)
Аноним 17/11/15 Втр 18:12:41 #508 №582079 
>>582063
Стандартный набор второкурсника: ado, entity, asp, wcf, wpf, wwf.

>синтаксис шарпа знаю неплохо
Знаешь, что такое Linq и лямбда-выражения? Умеешь перегружать операторы и расширять методы? Знаешь, что такое BinaryFormatter и ленивая инициализация? Уверенно применяешь асинхронное программирование в повседневном коде? Знаешь, как используется позднее связыванние и атрибуты? Знаешь, зачем нужны анонимные и динамические типы? Знаешь, чем абстрактный класс отличается от интерфейса?
Аноним 17/11/15 Втр 18:21:01 #509 №582088 
Кто-нибудь проходил курс шарпа на Hexlet.io? Как он? Есть ли вообще годные онлайн-курсы по шарпу? Каким переводам книг по шарпу можно доверять, что они не теряют смысл первоисточника? В английский могу очень хорошо, но читать много и по долгу на английском сильно устаю.
Аноним 17/11/15 Втр 18:46:19 #510 №582113 
>>582088
Если ты настроен всерьез - не ищи лучший вариант, используй все варианты одновременно. Прочти все книги, какие найдешь, пройди все курсы, какие найдешь. В одной книге чего-то недопоймешь - уточнишь в другой/в документации/в гугле/на практике.

Из одной книги или одного курса ты ничему не научишься, это будет слишком однобоко и объем информации будет мизерный.

Если ты не готов тратить от года ежедневных занятий на учебу, то даже не начинай.
Аноним 17/11/15 Втр 19:18:19 #511 №582164 
>>582079
Где это можно лучше всего подтянуть? книги/видео/сайты?
Аноним 17/11/15 Втр 20:57:07 #512 №582256 
14477830273640.jpg
Есть метод с такой логикой: http://pastebin.com/Pzu7wLhc
Т.е. запускается таймер, которые каждые 100 мс делает что-то, и он останавливается через timelimit мс. Когда он остановится, внутри метода надо сделать кое-что и возвратить значение. Как это реализовать?
Аноним 18/11/15 Срд 12:24:17 #513 №582749 
>>582256
if(timer.Enabled==false)
{}
comments powered by Disqus

Отзывы и предложения