Программирование


Ответить в тред Ответить в тред

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
506 22 123

C#/Сишарп/.NET Тред - Шапка эдитион #5 /csharp/ Аноним 19/03/19 Втр 04:23:52 13668851
C-programming-l[...].jpg (81Кб, 660x330)
660x330
5406c122cc95f.jpg (657Кб, 1920x1080)
1920x1080
5094540373.jpg (17Кб, 750x422)
750x422
minimagick20181[...].png (38Кб, 400x400)
400x400
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.
ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.

Литература вторым постом

1. Ресурсы:
- https://metanit.com/sharp/
- https://stackoverflow.com/questions/tagged/c%23
- https://www.tutorialspoint.com/csharp/
- https://professorweb.ru
- https://habr.com/ru/hub/csharp/

2. Онлайн-компиляторы:
- https://dotnetfiddle.net/ - возможно лучший вариант. Встроено немного убогое, но все-таки автодополнение и проверка синтаксиса.
- https://ideone.com/
- https://www.tutorialspoint.com/compile_csharp_online.php
- https://rextester.com/l/csharp_online_compiler

3. WinForms или WPF?
Шо то хуйня, шо то - все пацаны на электроне ебашат. Еще есть Avalonia, но пока она сырая. Но если уж хочешь гуй на шарпе, то читай:
Зависит от задачи. Для небольших проектов, скорее всего, будет достаточно винформочек. В случае, если разрабатываемое приложение достаточно серьёзное, то возможно его стоит писать с использованием WPF. WPF очень хорошо работает с паттерном MVVM ( https://ru.wikipedia.org/wiki/Model-View-ViewModel ), и позволяет пилить очень кастомизированные интерфейсы с помощью XAML, что в случае WinForms, делать намного сложнее.

4. Мне тут знакомый_нейм сказал, что C# умирает, это правда? Может не стоит его учить?
Да, он совершенно прав. Даже микрософт постепенно переходит с шарпа на тайпскрипт. К сожалению, самые крутые языки никому не нужны.
Неправда. C# кое-как развивается, недавно вышла седьмая версия шарпа, и уже активно разработывается восьмая. в ней pattern matching прям как в хацкеле будет! Весь дотнет понемногу становится опенсорсным, а ASP.NET становится независимым от платформы. В некотором смысле понемногу вымирают десктопные приложения с развитием веб-технологий, но в том же энтерпрайзе он еще очень даже востребован.

5. Какую ИДЕ выбрать?
Для Windows самым очевидным вариантом будет Visual Studio (https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx). Студия распространяется в двух редакциях: бесплатная коммьюнити-версия и платный энтерпрейс эдишн. В большинстве случае будет достаточно Community-версии: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополнений
Для мака и никсов самый юзабельный вариант -
Кросплатформенный полуредактор/полуIDE VS Code ( https://www.visualstudio.com/en-us/products/code-vs.aspx )
Rider - платная IDE от JetBrains со всем функционалом решарпера и кроссплатформенностю. Если ты богат и сидишь на линуксе/маке, то это отличная замена VS.
Для vim/emacs можно использовать OmniSharp ( https://github.com/OmniSharp/omnisharp-vim ).
Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.

6. С# для мобильной разработки
Если нужны инструменты для разработке под мобилы, ставь сразу VS2017 и при установке выбирай все нужные компоненты.
Больше информации тут - https://msdn.microsoft.com/ru-ru/library/dn771552.aspx
Из актуальной литературы
- Xamarin Mobile Application Development
- Xamarin Essentials

7. Дополнительные инструменты для разработки на C#
LINQPad - сорт оф REPL, с возможностью быстрого подключения к БД и удобной визуализацией данных
dnSpy - декомпилятор, малоизвестный форк ILSpy, где реализована возможность модификации IL-кода прямо в EXE и DLL файлах, отладка IL-кода и много других фич для reverse engineering'а. Плюс няшные темы как в студии
dotPeek - бесплатный декомпилятор от JetBrains
scriptcs - для запуска C# кода как скриптов, возможность использовать как REPL

8. Расширения для студии
ReSharper - одно из известнейших. Рефакторинги, умный автокомплит, настраиваемый стиль кода. Платный, но можно стянуть с торрентов
Supercharger - показывает "карту" с классами, методами и всем остальным сбоку от кода с возможностью прыгать по ним
Indent Guides - показывает вертикальные линии на каждом уровне отступов.
Format document on Save - форматирует код каждый раз при сохранении документа
Code alignment - Выравнивает код по указанным символам. Удобно, например, при инициализации словарей или в перечислениях

Обзор Roslyn: https://github.com/dotnet/roslyn/wiki/Roslyn%20Overview
Новые возможности C# 8.0: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8

ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕ

Код старой шапки: https://pastebin.com/cKKXYArs
Код этой шапки: https/://pastebin.com/cKKXYArs

Прошлый тред тонет здесь: https://2ch.hk/pr/res/1335434.html
Аноним 19/03/19 Втр 04:24:09 13668862

9. Что почитать?
- The C# Player's Guide, второе издание (RB Whitaker) - отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода.
- C# 6.0 in a Nutshell (Joseph Albahari и Ben Albahari) - огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином
- C# 6.0 Pocket Reference (Joseph Albahari и Ben Albahari) - просто выжимка из справочника, можно всегда держать рукой
- C# 6.0 and the .NET 4.6 Framework (Andrew Troelsen) - 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
- C# 6.0 Cookbook (Jay Hilyard и Stephen Teilhet) - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.

10. Более хардкорный материал
- C# in Depth (Jon Skeet) - написана в виде истории версий C#, начиная с C#1.0. Описываются возможности, которые были добавлены в определенной версии и далее достаточно хардкорно и подробно эти возможности расписываются.
- Writing High Performance .NET Code (Ben Watson) - охуенная книга. В основном фокуируется на оптимизации дотнет-говна. Методы оптимизации проложений, профилирование, вот это все. Крутейшая и достаточно детальная глава по GC. Рассматриваются достаточно известные проблемы вроде "for vs foreach", "класс vs структрура", кастинг, боксинг, перфоманс регулярок, коллекций, исключений. Короче все что нужно, чтобы вам перезвонили.
- CLR via C# (Jeffrey Richter) - это классика, это знать надо.

11. Хочу еще хардкорней
- C# Deconstructed (Mohammad Rahman) - введение в CLR, модели памяти и выполнения в CLR, байтоебство, JIT. Книга достаточно коротенькая, менее 200 страниц, можно осилить за пару дней. Желателен опыт работы WinDbg и понимание устройства PE-формата.
- Expert C# 5.0 with .NET 4.5 Framework - еще одна книга этого автора, в этот раз намного длиннее. Очень много IL, анализа и разбора стандартной либы (те же коллекции), разбор ивентов, дегегатов, асинхронности etc. на уровне байткода.
- .NET IL Assembler (Serge Lidin) - ILёбство, во многих местах повторяет документацию MSDN, но при этом имеет много интересных дополнений и заметок. Кроме того все неплохо структуировано и разложено по красивым табличкам

12. Литература по WPF
Из более-менее актуального можно выделить пару книг:
- Pro WPF 4.5 in C# (Matthew MacDonald)
- Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)

13. Литература по ASP.NET
- Professional ASP.NET MVC 5 (Jon Galloway, Brad Wilson, K. Scott Allen, David Matson)
- Pro ASP.NET MVC 5 Platform (Adam Freeman)
- Beginning ASP.NET for Visual Studio 2015 (William Penberthy)

14. Литература по асинхронности, параллелизму и всему такому
- Concurrency in C# Cookbook (Stephen Cleary) - книга, написанная в формате "проблема - решение". Кроме базовых вещей, вроде асинков и параллелизма рассматриваются TPL Dataflows, Rx (реактивные расширения), тестирование всего этого асинхронного добра, ну и работа этого всего на более низких уровнях абстракции
- Multithreading in C# 5.0 Cookbook - в основном ничего интересного, но есть довольна неплохая глава про синхронизацию, пусть и не слишком детальная
- Pro Asynchronous Programming with .NET (Richard Blewett, Andrew Clymer) - опять же, интересного немного, но неплохие главы про асинхронность + UI и анализ дампов памяти в windbg

15. Литература не по шарпу, но так или иначе связанная с языком
C# Game Programming Cookbook for Unity 3D (Jeff W. Murray) - разработка на шарпе под Unity
Introduction to Neural Networks with C# (Jeff Heaton) - изучение нейронных сетей с примерами кода на шарпе. Под конец пишем программу для распознавания символов и нейроботов.
Machine Learning Using C# Succinctly (James D. McCaffrey) - довольная коротенькая книга на тему машинного обучения с примерами кода на C#. Ничего особого: k-средние, классификация, наивный байес, но с кодом, который всегда можно поразбирать, если что неясно.

16. Но я не знаю английский, как я буду это все читать?
На некоторые из перечисленных книг есть переводы, которые можно найти на том же рутрекере, однако, зачастую эти переводы неактальны, содержат неточности, и не самые понятные варианты перевода. Кроме того, переводы обычно пилятся только для нескольких самых популярных книг, более-менее серьёзный материал не переводят. Всегда можно сесть со словарем и понемногу читать, переводя непонятные фрагменты. Это очень полезно, так как в любом случае в разработке без знания ангельского делать нечего. Если очень хочется, то гуглить по запросам: "C# 5.0, Справочник. Полное описание языка", "C# для профессионалов. Тонкости программирования", "Программирование на платформе Microsoft .NET Framework 4.5 на языке C#"

17. Что еще нужно знать, чтобы взяли работать за еду?
- SQL - подойдет люая книг по MSSQL/MySQL, базовые запросы, SELECT, INSERT, DELETE, UPDATE. Джойны, индексы, нормализация. В контексте шарпа еще ORM: Entity Framework, Dapper
- Системы контроля версий - обычно гита достаточно: add/commit/push, merge, rebase, checkout, remote's, разрешение конфликтов, трехпанельные дифф-менеджеры, cherry-pick
- Гитхабы-гитхабчики - issues, организация пулл-реквестов, интеграция с appveyor, теги, релизы, маркдаун
- Алгоритмы - сложность алгоритмов, сортировки (пузырек, быстрая, вставками), поиск, рекурсия, алгоритмы на строках
- Структуры данных - связанные списки, деревья (бинарные, красно-черные, b-деревья), хеш-таблицы, графы
- Если идти в веб - HTML, CSS, JavaScript, веб-сокеты, REST
- Паттерны проектирования, стиль кода, внедрение зависимостей, MVVM (если хочется в WPF), SOLID

18. Я не умею читать, что посмотреть?
- 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
- Коллекция видеоуроков, по всему дотнетовскому и смежным темам (250 часов, на русском) - https://nnm-club.me/forum/viewtopic.php?t=891636
- Набор курсов по C# от O'Reilly Media (28 часов, на английском) - http://rutracker.org/forum/viewtopic.php?t=5082978
Аноним 19/03/19 Втр 04:34:51 13668903
>>1366885 (OP)
Наконец-то нормальный перекат, без бомжей, школьников и прочей хуеты в шапке. Вкатился.
Аноним 19/03/19 Втр 04:39:18 13668914
>>1366890
>Наконец-то нормальный перекат, без бомжей, школьников и прочей хуеты в шапке.
Я ньюфаг, взял прошлый тред и скопировал по инструкции. Прошлые ОПы были настолько тупыми что с этим не могли справиться? Ужас! Ужас просто!
Аноним 19/03/19 Втр 05:41:13 13668955
Перетащу из прошлого тренда в этот, для вот этого долбоеба
>>1366518
>То-есть ответить на элементарный вопрос ты не смог. Ясно всё с тобой.

Блядь, вы чо, обезумели тут что ли? Вот вам метод из той самой программы с директориями

public void ProcessingDirectories(string dir1, string dir2)
{
try
{
if (!dir1[dir1.Length - 1].Equals(@"\")) { dir1 += @"\"; };
if (!dir2[dir2.Length - 1].Equals(@"\")) { dir2 += @"\"; };

//Заполняю коллекции именами подкаталогов (без путей) в каждой из папок.
List<string> directoriesInDir1 = (from d in new DirectoryInfo(dir1).GetDirectories() select d.Name + @"\").ToList();
List<string> directoriesInDir2 = (from d in new DirectoryInfo(dir2).GetDirectories() select d.Name + @"\").ToList();
List<string> directoriesTempInDir1 = new List<string>(directoriesInDir1);
List<string> directoriesTempInDir2 = new List<string>(directoriesInDir2);
//Заполняю коллекцию именами подкаталогов, которые встречаются в обеих папках.
List<string> directoriesDelete = (from d in directoriesInDir1 where directoriesInDir2.Contains(d) select d).ToList();

//Оставляю в каждой из коллекций только уникальные подкаталоги.
directoriesDelete.ForEach(d =>
{
directoriesInDir1.Remove(d);
directoriesInDir2.Remove(d);
});

//Создаю новые подкаталоги в каждой из папок в соответствии со списками уникальных подкаталогов.
directoriesInDir1.ForEach(d => { OnStatusWrite(this, "Создаю " + dir2 + d.Remove(d.Length - 1)); Directory.CreateDirectory(dir2 + d); });
directoriesInDir2.ForEach(d => { OnStatusWrite(this, "Создаю " + dir1 + d.Remove(d.Length - 1)); Directory.CreateDirectory(dir1 + d); });

ProcessingFiles(dir1, dir2);

//Рекурсивно вызываю этот метод (ProcessingDirectories()), для того, чтобы проверить подкаталоги на наличие уникальных
//подкаталогов 2-го, 3-го, 4-го ... N-го уровней. Сначала для подкаталогов первой папки, затем для подкаталогов второй.
directoriesTempInDir1.ForEach(d => ProcessingDirectories(dir1 + d, dir2 + d));
directoriesTempInDir2.ForEach(d => ProcessingDirectories(dir2 + d, dir1 + d));
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}


Теперь понимаешь, почему ты долбоеб и как рекурсия будет назад возвращаться?
Аноним 19/03/19 Втр 06:02:11 13668966
>>1366895
Уже и сюда перетащил срачи.
Глупенький маленький долбоёб. Иди вот в этот ПРИКРЕПЛЁННЫЙ БЛЯДЬ >>1215536 (OP) пост и читай
>Большие куски кода желательно вставлять через ideone или pastebin.
Уже само то, что ты неуважительно относишься к посетителям треда и анонам (копируя код просто в вакабу), заставляет к тебе относиться также и оскорблять тебя в ответ. А потом вы удивляетесь что тред скатился. Так вы же сами неуважение проявляете и ожидаете что к вам будут с уважением относиться.
Аноним 19/03/19 Втр 06:06:17 13668977
>>1366895
Не совсем понял зачем ты переходишь на личности? Я тебя оскорбил как-то или что?
Второе, я увидел твой код и получил ответ на вопрос в прошлом треде, я прочитал твой пост и был удовлетворён ответом (Спасибо кстати что запостил таки). Посему мне не совсем понятно зачем ты этот пост перетащил сюда?
Аноним 19/03/19 Втр 06:31:33 13669028
>>1366897
Ну, так ответил бы там, мол так и так, теперь все ясно, а то ни слова, ни полуслова.
Ну, и какие двачи без срачей то?
Аноним 19/03/19 Втр 08:29:14 13669239
>>1366896
>неуважительно относишься к посетителям треда и анонам
Какой смешной червь-пидор.
Аноним 19/03/19 Втр 08:32:20 136692610
>>1366923
Чем более культурная обстановка в треде, тем более увлекательны срачи между его посетителями.
Аноним 19/03/19 Втр 08:57:21 136692911
>>1366926
Культурно выебал твоего папашу на твоей спине.
Аноним 19/03/19 Втр 09:01:12 136693012
>>1366926
Неженка, плес
Уебывай на пикабу и там на вы беседуй
Аноним 19/03/19 Втр 09:03:13 136693213
50060080IsncrY.jpg (11Кб, 500x167)
500x167
Аноним 19/03/19 Втр 09:10:36 136693414
>>1366932
Вижу только изнеженного педика, беги мамке пожалуйся, что тебя в интернете нахуй послали
Аноним 19/03/19 Втр 09:14:51 136693515
>>1366934
>беги мамке пожалуйся
Да я и так у твоей мамаши шлюхи сейчас.
Аноним 19/03/19 Втр 09:20:04 136693716
Аноним 19/03/19 Втр 09:21:14 136693917
>>1366934
Тебе 30 с хуем лет, а ты на дваче срачи устраиваешь.
Аноним 19/03/19 Втр 09:22:49 136694118
hqdefault.jpg (10Кб, 480x360)
480x360
>>1366939
Как ты блядь узнал то?!11111
Аноним 19/03/19 Втр 09:25:03 136694219
>>1366941
Великовозрастного девственника (тебя) сразу видно.
Аноним 19/03/19 Втр 09:54:43 136694720
>>1366939
Чо ебанулся? Чо не 60 с хуем?
Аноним 19/03/19 Втр 10:59:37 136697121
Как удобнее всего отрисовывать быстроменяющиеся графики?
Хорошо бы найти библиотеку, не хотелось бы колхозить свой велосипед с нуля
Проблема в том, что должна быть возможность мышкой водить по графику и получать конкретные значения в данной точке. Когда "пауза", естественно
Аноним 19/03/19 Втр 11:02:00 136697422
>>1366971
>Как удобнее всего отрисовывать быстроменяющиеся графики?
Отрисовываешь его такой, отрисовываешь. Потом берёшь такой и перерисовываешь.
Аноним 19/03/19 Втр 11:27:29 136698523
>>1366971
В телеграмме нету шарпа
Аноним 19/03/19 Втр 11:45:18 136698824
>>1366891
Не опы, а один я. И охуенные школьники и мужики были!
Почему этот тред называется "шапка", если так назывался прошлый?
Аноним 19/03/19 Втр 11:49:35 136699025
языку потребовалось ~20 лет, чтобы, наконец-то, уметь в рэнжи
как же меня печет с "развития" языка, начиная с 6й версии
Аноним 19/03/19 Втр 11:53:55 136699326
Аноним 19/03/19 Втр 12:09:56 136699627
Аноним 19/03/19 Втр 17:00:20 136709728
>>1366885 (OP)
>Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.

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

Особенно скобки.

И после всего этого ты такое высираешь? Ну и сиди дальше в своем говне.
Аноним 19/03/19 Втр 17:05:45 136710029
>>1367097
>Очередной неосилятор долбоёб спорит с пастой
>Традиции двача.
Аноним 19/03/19 Втр 19:42:16 136717930
Есть какая актуальная книга по ASP .net core?
Аноним 19/03/19 Втр 20:03:46 136719131
Аноним 19/03/19 Втр 20:37:17 136720732
>>1366885 (OP)
На пикчах Сишный код. Здешние дотнетчики настолько тупые?

>>1367179
>актуальная
В то время как нормальные люди с нее укатываются, зелень почему-то наоборот лезет. Возьми себе нормальный язык - го, пайтон, кресты, да даже джаву.

Книжки по асп нету сейчас, ровно как и дока, кроме каких-то избранных глав (web api, middlewares, filters, caching, di) нахуй не нужны, в основом мусор. Остальное по ходу доберешь.
Можешь сразу ангуляр идти надрачивать.

>>1366990
>уметь в рэнжи
Enumerable.Range существует хуеву тучу лет.
Срезы, которые ты называешь "рэнжи", нахуй не нужны, а кому нужны те используют пайтон. Ведь нормальные люди используют язык по назначению, а не тащат его везде
Аноним 19/03/19 Втр 20:39:32 136720833
Итак народ. Ситуация такова. Чем заменять циклы и переборы? Имеется задача, в которой надо описать функцию, которая принимает два строковых одномерных массива. Массив А и массив Б. "А" - включает в себя сайтики по которым хочет перейти пользователь. Например: "cards.uk", "smile.ogr", "wartime.de" и так далее. На а "Б" содержит в себе список запрещенных доменов. Если домен заблокирован, то все его суб-домены тоже. К примеру если заблочен "never.smile.org" то на smile.org перейти можно, а вот на "just.never.smile.org" нельзя. Я просто не знаю никакого другого способа, кроме как перебора. Алсо возвращать функция должна целочисленный массив с индексами из "хороших" доменов массива "А". Чем заменять эти циклы с переборами? Рекурсивные функции тоже не вариант, т.к. тоже перебор
Аноним 19/03/19 Втр 21:16:25 136722634
>>1367207
>нормальные люди используют язык по назначению, а не тащат его везде
анонимные функции, нулл пропагейшен, стрелочные операторы, кортежи и пердолинг вокруг них, async Main, локальные функции - это все для нормальных людей, да? а слайсы, значит, для педиков. я так никогда не проигрывал

>>1367208
если это задача с собеса, предлагаю его дропнуть
Аноним 19/03/19 Втр 21:37:58 136723035
>>1367226
да верно, и я уже решил ее неправильно. делал рекурсии и лямбды. а почему дропать?
Аноним 19/03/19 Втр 21:43:47 136723336
>>1367230
ну это по условию задания типа обойтись без циклов и итераций? задача без практического смысла, более того, заставляющая тебя вертеть хуету там, где самый простой способ решения - самый оптимальный.
вот я бы человека, решившего подобное, не рискнул себе бы взять в тиму, ибо кто знает, сегодня он массивы знает как не перебирать, а завтра классы с интерфейсами писать перестанет. ну а че, так же можно, все в одном месте, а главное, дебажить удобнее
Аноним 19/03/19 Втр 22:02:12 136724137
>>1367233
Да, нужно было взять и проверить на какие сайты заходить можно. А цикл - слишком медленно работал бы. Типо если 1000 хотелок и 100 блокировок. то это 100к переборов. Я уже склоняюсь к тому, что надо массив Б перерабатывать в дерево и через это с ним работать... алсо запросил у них корректное решение, самому пиздец интересно
Аноним 19/03/19 Втр 22:04:50 136724338
>>1367241
так как условие задачи звучит?
чтобы построить дерево, массив нужно перебрать
Аноним 19/03/19 Втр 22:19:46 136725439
Аноним 19/03/19 Втр 23:30:37 136729540
Вы нахуя сендбокс контура положили, дауны?
Аноним 20/03/19 Срд 01:18:09 136733641
>>1367208
Есть же методы в стринге - contains или что в котором это есть или это читерство?
Если по велосипедному то тут насколько я понял есть правило - домен одинаковый с конца и до какого-то символа, можно либо сабстрингом пердолиться либо строки создавать как-то с индексов чара, или обрезать оригинал и сравнить, правда там все равно внутри есть переборы.
Аноним 20/03/19 Срд 01:25:32 136733942
>>1367336
А, перечитал задание - я идиот.
Аноним 20/03/19 Срд 06:36:15 136736043
>>1367207
>пайтон
>нормальный язык
Нахуя ты такое жирное чудище?
Аноним 20/03/19 Срд 07:37:24 136737644
>>1367208
1)заблокированные домены пихаешь в Set
2)пишешь функцию извлечения домена для адреса (если 1 точка - вернуть как есть, если >1 то регуляркой можно (с позитивным просмотром вперёд и символом конца строки,например))
3)для а пишешь а.вере(адрес => !сет.содержит(домен(адрес)))
Аноним 20/03/19 Срд 11:09:31 136742845
человеки челики челибосы, что вас (вы) спрашивают (спрашиваете) на собесах про ASP.NET?
время жизни запросов, архитектуры MVC/REST, IIS, валидация модели, фильтры, ViewBag/TempData - это дефолт (из моих воспоминаний). че еще этакого?
Аноним 20/03/19 Срд 11:15:46 136742946
Сишарпошки, поясните новичку пожалуйста. Читаю Вайтакера, дошел до рекурсий, но не понимаю одного момента: у меня есть переменная с числом, я сую число в метод с рекурсией, в рекурсии все нормально отрабатывается, число увеличивается, но в главном методе число все еще считается маленьким. Почемууу?

using System;

public class Program
{
public static void Main()
{
int num = 1;
Console.WriteLine(num);//здесь num = 1
num = Recursia(num);//тут внутри метода num = 25
Console.WriteLine(num);//здесь num = 2
}

public static int Recursia(int i)
{
if(i<10)
{
i = i * i;
Console.WriteLine("i="+i);
i++;
Recursia(i);
}
return i;
}


}
Аноним 20/03/19 Срд 11:17:24 136743047
>>1367429
>\t\t
кто это будет читать по-твоему?
Аноним 20/03/19 Срд 11:21:12 136743148
>>1367430
А тут нету тега [code]
Давай я на пастербин выложу если ты такая нюня
Аноним 20/03/19 Срд 11:22:08 136743249
Аноним 20/03/19 Срд 11:23:01 136743350
>>1367429
Тому что вэлью тайп и в методе работаешь с копией числа.
мимо другой ньюфаг
Аноним 20/03/19 Срд 11:23:52 136743451
>>1367432
>i = i * i;
>i++;
я хуй знает, что за магию ты писал, но это значение изменяется только в пределах метода
и результат рекурсивного вызова Recursia(i) не сохраняется
Аноним 20/03/19 Срд 11:23:57 136743552
>>1367433
я пробовал делать глобальную переменную, все равно не получается. Как мне передать число по ссылке, а не по значению тогда?
Аноним 20/03/19 Срд 11:25:14 136743653
>>1367433
>>1367434
Спасибо, аноны, так как это обойти? Глобальными переменными?
Аноним 20/03/19 Срд 11:27:32 136743854
>>1367436
сделай
>return Recursia(i);
я не уверен, что это то, что тебе надо. но тут больше никак не просматривается ожидаемый результат
Аноним 20/03/19 Срд 11:29:55 136743955
Аноним 20/03/19 Срд 11:31:11 136744056
>>1367436
С помощью ref попробуй.
Аноним 20/03/19 Срд 11:32:00 136744157
Аноним 20/03/19 Срд 11:35:59 136744258
Да, аноны, спасибо, реф помогло. Не топите тред, пока я с# не выучу, вы няши
Аноним 20/03/19 Срд 11:38:38 136744459
>>1367442
Чего не указателями? Слабак что-ли?
Аноним 20/03/19 Срд 11:40:13 136744660
>>1367444
я недоразвился еще до указателей, видимо в следующих главах будет
Аноним 20/03/19 Срд 11:45:09 136744861
Аноним 20/03/19 Срд 11:48:55 136745062
>>1367448
Whitaker Players guide
В предыдущих тредах посоветовали, спасибо, очень годно
Аноним 20/03/19 Срд 12:02:38 136745563
>>1367450
А ты сделал крестики-ролики?
Аноним 20/03/19 Срд 12:06:53 136745664
bumpkitty.jpg (86Кб, 640x480)
640x480
Аноним 20/03/19 Срд 12:12:04 136745765
Аноним 20/03/19 Срд 12:39:37 136746466
>>1367429
>>1367433
Не слушай местных петухариусов про ссылку и указатель - они долбаебы сами нихуя не поняли и советуют костыли!
Ты не совсем правильно понял как работает рекурсия и тебе возвращается изначальный первый проход в котором i = 2 (очевидно). Если ты прошелся бы дебагером то увидел что возврат рекурсивно вызванных методов совершается с конца.
Глянь вот это - там разбирается дерево рекурсии
https://ulearn.me/Course/BasicProgramming/Derevo_rekursii_670fa739-0f73-450c-b877-eaa6264a34fc
И в рекурсии как правило нужно писать условие выхода в начале вот метод без костылей:
public static int Recursia(int i)
{
if (i > 10) return i;
i = i * i;
i++;
Console.WriteLine("i=" + i);
return Recursia(i);
}
Аноним 20/03/19 Срд 12:41:20 136746567
Проебался ответами ну и похуй.
Аноним 20/03/19 Срд 13:01:58 136747368
Блядь, это весна что ли началась? Откуда такой набег идиотов? Вон же выше пример кода с рекурсией, погляди как она работает, не доходит? Возьми свой код и гляди дебаггером, что и как изменяется.
Аноним 20/03/19 Срд 13:19:44 136747569
>>1367207
>Здешние дотнетчики настолько тупые?
Ну хуй знает, только ты до кода на скриншоте доебался. Скорее всего тупой тут ты.
Аноним 20/03/19 Срд 13:21:01 136747670
>>1366990
Ну конечно, фича которая каждый день всеми используется и для которой любой студент может сам написать код - дохуя нужная функция (нет).
Аноним 20/03/19 Срд 13:28:26 136747971
>>1367428
Хуй знает, был в январе на 10 собеседованиях - это был просто ёбаный цирк с клоунами и конями. Причём параллельно был на собеседованиях по PHP, даже там было на пару уровней серьёзнее.
Суть в том, что ничего из именно программирования меня не спрашивали. Все вопросы были расплывчатыми и обобщёнными. По типу, где работал, что писал, к какой БД конектился, MVC знаешь? Что такое C из MVC? А что он делает. Максимум из профи спрашивали SOLID и core. Ну это тоже изи.
У меня создалось впечатление что никто в душе ниибёт что такое ASP и как собеседовать.
Зато на вакансию PHP за копейки вопросы блядь такие, что я охуевал просто. Один раз прямо на собеседовании дали ноут и 4 часа на "'Вот практическое задание, вордпреии и плагин, напиши магазин".
Аноним 20/03/19 Срд 13:30:35 136748172
>>1367473
Сраться начинаешь со всеми и тред такой сразу расцветает, и аноны набегают, и сразу хуева туча профессионалов.
Аноним 20/03/19 Срд 14:05:20 136748973
>>1367479
обилие фреймворков овер ASP поражает воображение. и большая часть того, что там есть, сделана и так нормально, что челикам даже не нужно знать работу под капотом
меня до сих пор бесит вот это "а с ASP работали? ну, с MVC. а с Razor работали? а сессии использовали?". та ебать, это все дефолтная хуйня в асп. с другой стороны, куча дурачков, которая для проекта на ASP.NET писали свои конченые foreach и знать не знали, что есть какие-то модели, роутинги, валидации, сессии, реквесты
Аноним 20/03/19 Срд 14:09:19 136749074
>>1367489
>писали свои конченые foreach и знать не знали, что есть какие-то модели, роутинги, валидации, сессии, реквесты
Не, норм. Если ты опытный, то быстро всё поймёшь. По крайней мере лучше чем искать документацию к 30 разным хуёвинам которые просто в итоге по разному предоставляют вью.
Аноним 20/03/19 Срд 14:24:29 136749475
>>1367490
ну скажи на собесе "я опытный и все пойму, только возьмите меня" ))
Аноним 20/03/19 Срд 14:32:35 136749776
>>1367494
Я найду что говорить на собесе, не беспокойся. По крайней мере не буду говорить "Ой, тут foreach сделаны, это сложно. Я вот только через фрэймворк velosiped всё делал, это прогрессивно!".
Аноним 20/03/19 Срд 14:48:09 136750677
>>1367497
ну ты-то молодец. прям даже не буду переживать за тебя
но я о другом спрашивал изначально
Аноним 20/03/19 Срд 14:49:27 136750778
>>1367506
О чём? Переведём разговор в прежнее русло.
Аноним 20/03/19 Срд 14:51:07 136750879
Аноним 20/03/19 Срд 18:30:24 136762680
>>1367360
В чем жир? Да, это скриптодристня, но перспективы там лучше. Начиная от спектра задач, котлетой, кривой обучения. Сеньеров дотнетчиков с двумя годами опыта видел? Не видел потому что их нет. На скриптодристне же, сеньеры с двумя годами опыта - вполне
Это еще опуская факт того, что там люди приемущественно копаются в пайтоне, а здесь приходится работать еще с ангуляром.
Аноним 20/03/19 Срд 19:36:47 136763981
>>1367626
>сеньеры с двумя годами опыта - вполне
>сеньеры
>вполне
Аноним 20/03/19 Срд 20:24:29 136766082
>>1367639
Ты видимо, немного тупенький раз не понял, что речь о частных случаях и не о вкатывальщиках без опыта работы.
Поясняю: 2 года опыта на конкретной платформе.
По-мимо этих двух лет, еще 2 года НОРМАЛЬНОЙ вышки, благо такая еще осталась. (при условии что человек начал работать на третьем курсе, если нет - тогда 5 лет вышки)
Еще бывают и такие варианты: человек отработал 2 года на одном стеке, сменил стек, отработал 2 года, ты можешь сколько угодно доказывать манагерам что человек сильный и тянет на сеньера - им будет похуй.
Аноним 20/03/19 Срд 20:33:55 136766983
>>1367660
так я че-то не понял, что мешает подрочить 2 года дотнет при условии наличия опыта на другом языке (допустим даже компилируемом со статической типизацией) и стать сеньором?
Аноним 20/03/19 Срд 20:36:50 136767184
>>1367669
>что мешает подрочить
Тупость и узколобость манагеров, очевидно.
Аноним 20/03/19 Срд 20:44:29 136768085
>>1367671
но как только речь о питоне, тупость и узколобость пропадают, и человек аж бегом рассматривается на сеньорность?
Аноним 20/03/19 Срд 21:03:41 136769686
>>1367680
>только речь о питоне
>>1367680
>бегом рассматривается на сеньорность
Не бегом, но там в этом плане проще, разная кривая обучения, этот вариант хотя бы будет рассматриваться.
Даже три года на дотнете - это самая низкая планка по сроку для сеньера, при условии что там действительно есть за что его давать. Хотя опять же, это во многом от конторы зависит.
Аноним 20/03/19 Срд 21:15:02 136776387
>>1367696
>но там в этом плане проще
Потому что уровень питонистов почти всех это вкатывальщики ебаные. В этом говне, если ты с пяток либ сможешь скомпоновать (потому что одна только на одной версии работает, другая на другой, третья с ними конфликтует), то ты уже сеньор-помидор, хуле с этих скриптовых долбоебов взять
Аноним 20/03/19 Срд 21:19:02 136776688
>>1367696
в общем вывод такой, что нормальный язык - это потому, что можно стать сеньором за джва года с условным опытом чуть побольше
язык только в дата-саенсе используется (потому что именно под него и создавался), и порог вхождения в него - три дня и шесть бутербродов, - это ладно, бывает. в моей конторе есть какие-то мифические Python Backend девелоперы. хуй знает наверное нужными делами занимаются
Аноним 20/03/19 Срд 21:29:28 136777489
>>1367766
Пиздец ты охуел? Люди которые с нулевых ебашат как хуй знает кто, вот их действительно можно назвать сеньерами, йоба архитекторами итд. А 2 года в продакшене это только только мидл.
Аноним 20/03/19 Срд 21:31:33 136777590
>>1367766
>что можно стать сеньором за джва года с условным опытом чуть побольше

Я не совсем так сказал, но посыл примерно такой. Основная претензия к дотнету - отсутствие альтернатив в плане задач. Что на пайтоне что на жабе есть бигдата, на пайтоне еще машоб. С жабы можно укатится на скалу.
А на дотнете что? Нихуя.
>>1367766
>Python Backend девелоперы
В моей тоже есть. При всём этом: во фронтенде не копаются от слова вовсе, получают не меньше.
Итого: зачем тратить пару лет на дотнет? Чтобы ковыряться в тс и ангуляре и получать столько же?
Аноним 20/03/19 Срд 21:38:29 136777891
>>1367775
Ну вкатывайся в бигдату из тырпрайза, давай. Магистратуру по выш. мату закончил надеюсь?
Аноним 20/03/19 Срд 21:44:05 136778492
>>1367774
ты с конца читаешь?

>>1367775
так шарпы - изначально язык общего назначения, но наиболее эффективнен как бекендовый, с развитием кора и адекватной кроссплатформенности это становится еще более явным фактом. легаси никто не отменял, как и винформс с девекспрессом, но это бремя зрелых языков, никуда не денешься. ангуляр и тс - это жопоболь аутсорс-рынка моя, в том числе преимущественно
насчет перекатов - изучив один язык, ты можешь перекатиться с условной легкостью куда-то еще, было бы желание. я очень сильно не уверен (хотя не отрицаю), что зная ее-джяву, ты прям на изи въедешь в скалу, или котлин (что там еще на жвм?). так же как и, пиля бигдату на питоне, прям лайк э босс закатишься в машоб
Аноним 20/03/19 Срд 21:45:47 136778593
>>1367778
>вкатывайся в бигдату из тырпрайза
Если бы будучи зеленым дебилом, устраивался бы на четвертом-пятом курсе, а не на третьем - работал бы дата саентистом.
По поводу переката из тырпрайза - тонна знакомых на жабе укатилась в бигдату.

>>1367778
>Магистратуру по выш. мату закончил надеюсь?
У меня бакалавр по CS, магистратура как правило это "было бы плюсом", но не обязательное требование. Да и бигдата мне нахуй не нужна, я на машоб целюсь.
Аноним 20/03/19 Срд 21:52:05 136778794
>>1367784
>легаси никто не отменял
Я не считаю классический MVC легаси, потому что на нем работал. А на проекты на вебформах не кидали, потому что всегда проще снять с текущего проекта людей, который уже знают специфику проект на формах ибо когда-то делали его. Десктопа в конторе нет и слава богу.
>что зная ее-джяву, ты прям на изи въедешь в скалу
На изи ничего не бывает. Но такая возможность есть, потому что если нужен разработчик на скале, то зеленых брать не будут, а возьмут человека работающего на джаве.
С перекатом на сам Kotlin проблем нет, если ты до этого работал на андроиде на джаве. Если со спринга - проблемы будут.
>>1367784
>пиля бигдату на питоне, прям лайк э босс закатишься в машоб
На "изи" - нет. Там совершенно разные области и разная мат. подготовка.
Аноним 20/03/19 Срд 21:53:25 136778895
15510274167323.jpg (314Кб, 2048x1536)
2048x1536
Всем привет. В конце прошлого года был юристом, теперь работают на C# (а также немного на JS). Всё очень нравится, программисты как люди душевнее привыкших подскакивать кабанчиков юристов, хотя невероятные интроверты.
Работаю с CRM-фреймворком, теперь вопросы.
Какие инструменты повышения квалификации лучше? Понятно, что читаю Рихтера, изучаю ASP.NET и хочу погрузиться в .NET Core.
Про GeekBrains слышал негатив. Очередное высшее образование не рассматриваю, так как хорошо знаю это бесполезное болото изнутри. Как получить максимум возможных знаний наиболее эффективным способом?

Алсо, стоит ли смотреть в сторону Unity и геймдева? У меня прокачанные мягкие навыки, литературные навыки, художественные навыки, организационные. Всё это может пригодиться.
Аноним 20/03/19 Срд 22:12:08 136779396
EntityFramework почему-то не обновляет значения навигационных свойств, свойства обычных типов обновляются, а эти нет, в чем может быть дело? Добавлю, что эти навигационные свойства входят в альтернативный ключ, хотя и свойства обычных типов тоже.
Аноним 20/03/19 Срд 22:17:05 136779697
Антоны, насколько сильно нужно знать Джаваскрипт, если я хочу устроиться джуном?
Что лучше учить, джаваскрипт дальше Я прочитал первую книгу Кантора или выучить asp.net core?
Сейчас я знаю только Asp.net MVC
Аноним 20/03/19 Срд 22:17:55 136779898
>>1367793
вероятно, объекты не трекаются контекстом. надо бы посмотреть, че ты делаешь
Аноним 20/03/19 Срд 22:21:04 136780199
>>1367796
посмотри рынок вакансий, актуально и то и другое, а требования везде разные. по-хорошему, знать бы всего да побольше, но по факту требовать много от джуна бессмысленно
Аноним 20/03/19 Срд 22:21:46 1367802100
Как можно сравнить изподкоробки какая строка больше или меньше (> <)?
Аноним 20/03/19 Срд 22:43:00 1367817101
Блять, что за деграданство?
>string1 = "a";
>string2 = "aa";
>string.Compare(string1, string2, StringComparison.OrdinalIgnoreCase) == -1

>string1 = "a";
>string2 = "b";
>string.Compare(string1, string2, StringComparison.OrdinalIgnoreCase) == -1
>>1367802
Аноним 20/03/19 Срд 22:45:22 1367818102
>>1367817
какой результат ты ожидал?
'аа', как и 'b', в отсортированном множестве, идет после 'a'
Аноним 20/03/19 Срд 22:48:23 1367819103
>>1367818
А, да.
Блять, я просто туплю как мне сформулировать условие чтобы сравнивать больше ли строка в отсортированом массиве строк?
if (valueString > phrases)
Аноним 20/03/19 Срд 22:49:15 1367821104
>>1367819
макаба съела *phrases[j]
Аноним 20/03/19 Срд 22:50:07 1367822105
Аноним 20/03/19 Срд 22:51:21 1367823106
Аноним 20/03/19 Срд 22:51:48 1367824107
///
///Возвращает индекс левой границы.
///То есть индекс максимальной фразы, которая не начинается с prefix и меньшая prefix.
/// Если такой нет, то возвращает -1
///
Аноним 20/03/19 Срд 23:33:04 1367843108
>>1367788
>стоит ли смотреть в сторону Unity и геймдева?
Только если душа лежит. Так денег мало, а работа тежелее чем на asp веб формочки лепить. И да, нужно уметь в матешу или художественные скиллы.
Аноним 20/03/19 Срд 23:38:57 1367845109
Аноним 20/03/19 Срд 23:48:04 1367847110
>>1367845
>if (string.Compare(prefix, phrases[m], StringComparison.OrdinalIgnoreCase) < 0) return m - 1;
Смущает тут -1 в ретурне. Ты проверяешь слово с адесом m, но возвращаешь как заматченое слово (m - 1). Можно словить выход за границы массива.
Аноним 20/03/19 Срд 23:50:21 1367849111
>>1367847
Здесь не нужно искать заматченое слово, а нужно найти левую границу. И там бы писало index out of range,
Аноним 20/03/19 Срд 23:52:01 1367850112
>>1367845
>if (left - right == Math.Abs(1)) return -1;
Тут не проверяется условие на равенство left и right. Если будет ровно ноль, то улетит в сек оверфлов.

Наверно поправить нужно так: (left - right) <= Math.Abs(1)
Аноним 20/03/19 Срд 23:54:21 1367851113
>>1367849
Ну тогда ладно. Но просто писать "левая граница" это как-то ебано, ибо не ясно входит сама граница в интервал или нет.
Аноним 20/03/19 Срд 23:56:38 1367853114
>>1367850
Ты все поломал.
Error on: Prefix [ab], phrases [a, ab, abc]
result should be 0, but was -1
Аноним 21/03/19 Чтв 00:01:47 1367856115
>>1367853
Ну охуеть, код твой, а поломал я.

Давай дальше ломать. Очевидно у нас один символ теперь не проверяется и условие надо изменить на : abs(left - right) <= 0

Вообще один проход дебагера всё решает, а онлайн-параша это великое зло.
Аноним 21/03/19 Чтв 00:05:18 1367857116
image-475.jpg (860Кб, 1200x1200)
1200x1200
>>1367856
Abs не нужен. И left-right поменять местами. Вот.
Аноним 21/03/19 Чтв 00:06:30 1367859117
>>1367856
Я не знаю какие там внутри тесты, а у меня нормальные результаты, скорее всего там реально оверфлоу на каком-то тесте и/или я беру дохуя памяти (>1мб).
И почему <= 0 ?
Там смысл был в том что если левая граница - правая граница = 1 элемент то значит некуда больше и идти и результат не найден.
>>1367857
>поменять местами
Абс-костыль это вроде как контролил.
Аноним 21/03/19 Чтв 00:22:36 1367871118
>>1367857
Да, частично ты был прав, правда у меня теперь новая проблема:
Как округлить число int в низ при делении?
Аноним 21/03/19 Чтв 00:58:45 1367882119
Пиздец какой-то, ЯННП, призываются труъ эксперты.
Дошел до теста:
Error on: Prefix [a], phrases [ab, ab, ab, ab]
result should be -1, but was 0.
Получается так что по алгоритму бинарного поиска я какбэ(?) постепенно должен делить массив, я делю первый раз и в данном случае это должен быть 1 -1+(4-(-1)+2) = 1.5 1.5-1 = 0.5 = 0, но тест требует от меня границы самого первого вхождения.
И как это тогда сделать?
Добавлю что в метод я не могу добавить дополнительные передаваемые параметры.
Или я долбаеб?
Аноним 21/03/19 Чтв 01:05:31 1367885120
>>1367871
>Как округлить число int в низ при делении?
/
Аноним 21/03/19 Чтв 01:32:33 1367890121
>>1367845
Ха-ха, я тут живу работаю
Аноним 21/03/19 Чтв 09:23:16 1367932122
>>1367845
Стоит проходить этот курс? Годный?
Аноним 21/03/19 Чтв 09:30:24 1367933123
>>1367932
Книжки лучше почитай.
Аноним 21/03/19 Чтв 09:34:16 1367934124
Аноним 21/03/19 Чтв 09:42:00 1367935125
>>1367933
Книжки читаю, но там практики мало.
Аноним 21/03/19 Чтв 10:09:02 1367939126
>>1367935
За практикой пиздуй реальные приложения писать, а не хуйню с изъебами
Аноним 21/03/19 Чтв 10:26:55 1367943127
>>1367932
Хочу туда на стажировку после диплома ulearn это курсы от СКБ Контур
Проходил курс, забросил на 20% первой половины
Так как читал книжки, все было знакомо. Но, выполняя практические задания, кое-что попутно узнал: ранее я избегал рекурсию, но было задание подсчитать число високосных лет на отрезке, не используя циклы
Набросал пример, он не работал. Переписал, заработал. Попутно загулил, где вообще это применяется, прочитал книгу "Грокаем алгоритмы", где рекурсия да и все остальное объясняется просто охуенно. Раньше не доходило, что все нужно сводить к базовому случаю. В общем, рекурсию я полюбил

Но потом меня утомило, что после каждого задания я ухожу в необязательные дебри — сам курс проходится медленно. Так учу по книжкам и документациям

Если есть время — вперёд
Аноним 21/03/19 Чтв 10:27:36 1367944128
Аноним 21/03/19 Чтв 10:29:55 1367946129
>>1367943
Впрочем, дело скорее во мне. Конечно, в дебри уходить не нужно, весь материал зачастую тебе дают в роликах. Просто я немного аутист и люблю закопаться поглубже. С таймменеджментом проблема
Аноним 21/03/19 Чтв 11:07:22 1367956130
IMG201903211156[...].jpg (434Кб, 1649x988)
1649x988
Сап, аноны.
Читаю Троелсена, дошел до момента подписи сборки и всего этого говнеца. Автор создал две сборки и поместил их в GAC. У этих двух сборок одинаковый маркер открытого ключа не ебу как правильно называется мешанина символов после версии сборки. Однако у меня нет. Сейчас не у ПК, скрины сделать не могу, но я делал все то же самое, что и по книге (кроме названия сборки, заместо CarLibrary сделал test_l), но маркер открытого ключа все равно разный у обоих сборок. Меня бы это сильно не волновало, если бы не то, что дальше по книге предлагается в конфиге перезаписать версию используемой сборки, что у меня не получается сделать: приложение все равно использует старую версию. В конфиг файле все перепроверял, ошибок нет. Может ли быть такое, что это именно из-за этого маркера? Или я тупой?
Пропускать не хочу, ибо наверняка попадется что-то, что требует знание этого процесса.
Аноним 21/03/19 Чтв 11:11:43 1367958131
>>1367939
Вот только не нужно хуйню нести, ладно? Там начиная с ~половины первого же курса есть таски с реальной хуйни. Ту хуйню над которой я пердолился - поиск возможных слов как в клавиатуре на телефоне.
>>1367933
Вон один выше уже дочитался до раздела с рекурсией и нихуя почти не понял.
Аноним 21/03/19 Чтв 13:58:49 1367985132
>>1367798
Поменял в представлении значения, нажал сохранить и перешел в метод где буду все это сохранять. Туда передалась валидная модель со всеми изменениями (только навигационные свойства у нее все null но по идее это ж нормально), вызываю update в котором сперва делаю context.Entry(entity).Attach(); затем
context.Entry(entity).State = EntityState.Modified;
потом отдельно уже вызываю SaveChanges, который возвращает не 0. В контексте сущность поменялась как в локальном списке, так и не в локальном. Но в базе почему-то нет. При этом, если я после SaveChanges сделаю запрос на получение этой сущности GetByID, то получу сущность с ИЗМЕНЕННЫМИ параметрами как и должно быть. Но потом я делаю редирект на Index и в итоге я в представлении вижу эту сущность, у которой поменялись примитивные свойства, а навигационные - нет, как и в базе этих изменений нет.
Аноним 21/03/19 Чтв 14:04:29 1367988133
>>1367985
>только навигационные свойства у нее все null но по идее это ж нормально
отсюда я уже начал теряться
ты зависимые модели меняешь через Entity.RelaviteEntity.Property = "42" что-ли?

как-нибудь около-псевдокодно, я не знаю, покажи, как именно ты чего там меняешь. или на пастебин всю простыню заебашь, я не думаю, что у тебя там много всего происходит
Аноним 21/03/19 Чтв 14:07:02 1367989134
>>1367956
Хер знает как, но, скопировав код со StackOverflow у меня оно заработало. Может, все-таки что-то забыл дописать. Ну и хрен с ним.
Аноним 21/03/19 Чтв 14:20:16 1367996135
>>1367988
Если что, у меня навигационные свойства в модели описаны так:
public int RelativePropertyID
public RelativePropertyType RelativeProperty
Сам я ничего не меняю. У меня в представлении есть форма с полями модели, я делаю submit и у меня в контроллер приходит собранная модель, у которой RelativePropertyID заполнен изменённым значением, а RelativeProperty null. И эту модель из представления я уже пытаюсь сохранить.
context.Set<TEntity>().Attach(entityToUpdate);
context.Entry(entityToUpdate).State = EntityState.Modified;
context.SaveChanges();
Аноним 21/03/19 Чтв 14:20:55 1367997136
>>1367988
Если все равно плохо объяснил, то вечерком код кину, как буду дома.
Аноним 21/03/19 Чтв 14:28:53 1367999137
>>1367958
Да, кажется, у Троелсена было два примера (про числа Фибоначчи и факториал числа), и этого было мало

Ты уже где-то работал, раз говоришь, что там реальные таски?
В таком случае вернусь к курсу. Есть какой-то страх перед тем, что приду на работу, а там все пилят нечто невообразимое
Аноним 21/03/19 Чтв 14:41:56 1368003138
>>1367999
Нет, не работал, но это можно понять с самого задания как я выше навел.
Не то чтобы там было что-то невообразимое, там по большей части какая-то простая хрень, но с заготовленной кучей подводных, как в принципе и в реальных заданиях (делал пару петпроджектов, очень сильно была разница между тем что я ожидал и тем что получалось в итоге).
Аноним 21/03/19 Чтв 14:43:11 1368004139
Платиновый вопрос:
Нахуя нужен struct если есть class?
Аноним 21/03/19 Чтв 14:49:53 1368013140
>>1367996
>public RelativePropertyType RelativeProperty
чтобы проперти работало как навигационное, нужно его маркать как virtual
вообще, для code first есть конвенции
Аноним 21/03/19 Чтв 14:50:49 1368014141
>>1368004
чтобы экономить на памяти, перфомансе и латенси от потенциальных сборок мусора в 2к19м
Аноним 21/03/19 Чтв 15:04:02 1368019142
>>1368004
Класс - ссылочный тип.
Структура - значимый тип.
Дальше гугли разницу.
Аноним 21/03/19 Чтв 15:55:33 1368036143
>>1368013
у меня помечено как virtual, когда сюда писал проебался
Аноним 21/03/19 Чтв 16:08:48 1368043144
>>1368036
тааак
у тебя есть Entity (e) и RelativeEntity (r). ты меняешь (e).RID и это сохраняется?
и что не так, в общем-то?
Аноним 21/03/19 Чтв 16:20:06 1368047145
>>1368019
>>1368014
То есть struct храниться в стеке, я правильно понял?
Аноним 21/03/19 Чтв 16:26:23 1368048146
>>1368047
struct выделяется на стеке. храниться она может и в куче при некоторых обстоятельствах
Аноним 21/03/19 Чтв 16:30:25 1368049147
>>1368047
Правильно. А что из этого следует?
Аноним 21/03/19 Чтв 16:48:20 1368050148
>>1367871
Math.Floor
И есть еще в большую сторону - Ceil
Аноним 21/03/19 Чтв 16:54:15 1368051149
>>1367882
>Или я долбаеб?
Нет это они долбоебы. Перед бинарным поиском для повторяемости результата нужно дропнуть дубли. Но они предлагают тебе отгать загадку как там задумано на самом деле и передаю в метод некорректную хуйню.

В нормально коде такой проблемы даже бы не возникло т.к. ты контролируешь его полностью(ну почти).
Аноним 21/03/19 Чтв 17:09:24 1368057150
>>1368051
Хорошо, и как это кроме очевидного перебора можно реализовать? Люди же как-то сдают.
>>1368049
Что это велью тайп, я знаю это и просто уточнил.
>>1368048
В каких случаях?
Аноним 21/03/19 Чтв 17:19:01 1368060151
>>1368057
>Что это велью тайп, я знаю это и просто уточнил.
Ты не понял. Ну велью тайп и что?
Аноним 21/03/19 Чтв 19:06:02 1368101152
Будут ли в EF работать навигационные свойства, если не добавлять им атрибут [ForeignKey]? Если да, то зачем вообще нужны FK в EF? Только для того, чтобы не давать удалять объекты, которые референсятся через FK в другом объекте?
Аноним 21/03/19 Чтв 19:13:30 1368102153
>>1368057
>В каких случаях?
когда это часть ссылочного типа, элемент массива, или упаковывается в рантайме
Аноним 21/03/19 Чтв 19:13:51 1368103154
ПередРедактиров[...].png (19Кб, 469x283)
469x283
ПередСохранением.png (8Кб, 284x284)
284x284
ПослеСохранения.png (20Кб, 766x305)
766x305
>>1368043
1) Нажимаю в представлении редактировать, перехожу в обработчик Get запроса и получаю там выбранную сущность по ID, на скрине значения.
2) Поменял в представлении Teacher и Semester, нажимаю сохранить перехожу в обработчик Post запроса, мне туда приходит модель из формы с изменёнными значениями. Я делаю update как я уже писал, сначала аттачу ее, потом state=modified, делаю context.savechanges() он возвращает 1
3) Ради интереса делаю запрос на получение этой записи по ID, получаю сущность с изменениями, НО в базе изменений не произошло, все осталось как было.
Аноним 21/03/19 Чтв 19:18:07 1368106155
>>1368101
>если не добавлять им атрибут [ForeignKey]
ну есть Fluent API

если так же принцип следования конвенции. если помечать референсы виртуальными и правильно объявить тип/объект, то EF раздуплит связь между энтитями

>зачем
чтобы отрефлектить связность таблиц в модели, чтобы дать всему, что отвечает за построение и валидацию модели, полную картину происходящего, дабы потом у тебя запросы работали адекватно. конечно, если у тебя тупой CRUD в каждую таблицу, то все это опционально
Аноним 21/03/19 Чтв 19:22:49 1368107156
>>1368106
>ну есть Fluent API

>есть так же принцип следования конвенции. если помечать референсы виртуальными и правильно объявить тип/объект, то EF раздуплит связь между энтитями


а если без fluent API, вот проста
public int ClassB_Id {get; set;}
public virtual ClassB ClassB {get; set;}
- вот у этого EF всегда нормально будет ClassB вытягивать из БД без FK?
Аноним 21/03/19 Чтв 19:24:07 1368108157
>>1368103
>запрос на получение этой записи по ID
EF достает данные из Local, в рамках уже существующего контекста ты, конечно же, получишь актуальные данные

попробуй повесить интерсептор на свой контекст. и в момент SaveChanges посмотришь, какой запрос улетает на сервер. обновление у тебя происходит, но это може быть обновление совершенно левой записи. опять таки, на словах я не вижу ошибки.
Аноним 21/03/19 Чтв 19:50:45 1368114158
>>1368108
Добавил лог, update идет только по одному полю типа int, по остальным ничего, странно..
Аноним 21/03/19 Чтв 19:53:31 1368116159
Аноним 21/03/19 Чтв 20:15:58 1368121160
>>1368114
у тебя айди семестра отсутствует. если я правильно все гляжу
Аноним 21/03/19 Чтв 20:17:15 1368122161
>>1367932
Да, мне нормально зашел.
Объясняют норм и практики интересные.
Но лучше до/в процессе/после все же книжки почитать
Аноним 21/03/19 Чтв 20:25:40 1368126162
Аноним 21/03/19 Чтв 22:21:01 1368175163
>>1366885 (OP)
>>1335434 (OP)
Анон в каком месте я лажанул?
------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OLD
{
class Human
{
public int Age { get; set; }
public string Sex { get; set; }
public string Name { get; set; }
public void SayHelloToBitch()
{
Console.WriteLine("Ну привет шаболда");
}
}
}
-------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OLD
{
class Boozer : Human
{
private Liver Liver = new Liver();
protected Boaroshnik Boaroshnic = new Boaroshnik();
public void NassatVPadike()
{
Console.WriteLine("Опять кто-то подъезд обоссал");
}
}
static void Main (string[] args)
{
Boozer Seva = new Boozer();
Seva.Name = "Дядя Сева";
Seva.Age = 50;
Seva.Sex = "Мужичара";
Seva.SayHelloToBitch();
Seva.NassatVPadike();
Human man = Seva;
Boozer boozer = man as Boozer;
if(boozer != null)
{
boozer.NassatVPadike();
}
Console.ReadKey();
}
}
-----------------------------------------------
namespace OLD
{
class UltraBoozer : Boozer
{
public void ChoDrink()
{
Console.Writeline(Boaroshnik);
}
}
}
-----------------------------------------------
namespace OLD
{
class Boaroshnik
{
}
}
-------------------------------------------------
namespace OLD
{
class Liver
{
}
}
--------------------------------------------------------------
Ошибка CS0116 Пространство имен не может напрямую включать в себя такие члены, как поля или методы.
Ошибка CS0117 "Console" не содержит определение для "Writeline".
Ошибка CS0119 'Boaroshnik" является тип, который недопустим в данном контексте.
Аноним 21/03/19 Чтв 22:58:59 1368196164
>>1368060
И то что он храниться в стеке, а ссылочные типы хранят референс в стеке на объект в куче, так?
Аноним 22/03/19 Птн 00:32:12 1368245165
Аноним 22/03/19 Птн 08:29:02 1368329166
>>1368107
ну, надо объявить DbSet<> в контексте, тада да

>>1368175
тебе ж компилятор все по-русски (даже) написал

>>1368126
выложи ты все-таки кодэ куда-нибудь. а то "я делаю как надо, а оно не так как надо"
Аноним 22/03/19 Птн 08:30:01 1368330167
>>1368196
>ссылочные типы хранят референс в стеке
шо? ссылочные типы все данные размещают в куче
Аноним 22/03/19 Птн 08:46:59 1368334168
Аноним 22/03/19 Птн 10:21:10 1368352169
>>1368334
.sln ты не коммитишь, типа нахуй надо?)
Аноним 22/03/19 Птн 10:34:44 1368353170
>>1368352
Лол, я рили долбоеб
Аноним 22/03/19 Птн 10:37:59 1368355171
>>1368330
Вань ты дурак?
Покормил
Аноним 22/03/19 Птн 10:45:14 1368359172
>>1368355
синьор в трэде, все расходимся
Аноним 22/03/19 Птн 11:25:33 1368368173
db.png (22Кб, 1087x240)
1087x240
origin.png (198Кб, 1823x998)
1823x998
modified.png (185Кб, 1826x997)
1826x997
update.png (110Кб, 1091x595)
1091x595
>>1368352
короче. inb4 в EF Core я шарю практически никак. и тот подход, который ты юзал, работал в дефолтном EF от чего у меня знатно подпекало на проектах. я не фанат такого способа обновления данных, и, если я прав и команда Core избавила фреймфорк от подобного инвалидства/костыляния, я апплодирую стоя

я сильно подозреваю, что суть в поведении StateTracker'а, который понятия не имеет об исходном состоянии entityToUpdate, и, соответственно, не видит изменений при попытке их детектирования (я изменил только Semester на UI):
пик 1 - значения в базе
пик 2 - что StateTracker знает об исходном состоянии энтити
пик 3 - что StateTracker получает как "измененный" стэйт энтити

для долбоебов:
- контекст только что был создан и там вообще нет никаких локальных данных
- ты передаешь какой-то объект в контекст с просьбой помаркать его как измененный
- вызывается SaveChanges
-- трэкер пытается детектить изменения:
-- видит: оригинальный семестр - (2), измененный семестр - (2)
-- уволить, отказать. идем дальше (а данных больше и нет)
ебошим UPDATE, в котором не апдейтится ничего


я сделал по-еблански: вытащил данные из базы, прошелся по всем пропертям, чтобы обновить их значения на то, что прислал браузер - пик 4. соответственно, unitOfWork.{}.Update я послал к хуям ибо трэкер по-дефолту и так уже в курсе про изменения.

но это привело к ошибке обновления ключа: пик в следующем посте. в душе ниибу, что такое AlternateKey. закомментировал OnModelCreating::modelBuilder.Entity<GroupLoad>().HasAlternateKey и был счастлив
Аноним 22/03/19 Птн 11:25:50 1368369174
error.png (151Кб, 1844x1095)
1844x1095
Аноним 22/03/19 Птн 11:32:24 1368372175
В треде какие-то довны судят о знаниях по времени, мол поработал 2 года и синьор. Охуеть вообще. Синьор это знания и личные качества, а не "Я сидел на стуле 2 года."
Аноним 22/03/19 Птн 11:34:39 1368373176
>>1368359
Вкатывальщик в треде, все собираемся
Аноним 22/03/19 Птн 11:36:02 1368374177
>>1368369
То есть, твой подход сработал и данные обновились в базе, но после того как ты закомментил строку с альтернативным ключом? Странно, неужели нельзя у записи менять атрибуты, составляющие альтернативный ключ? Попробую сделать как ты сказал, если интересно, вечером сообщу. БТВ, что за шрифт у тебя в студии?
Аноним 22/03/19 Птн 11:37:51 1368375178
Аноним 22/03/19 Птн 11:39:06 1368376179
>>1368368
> видит: оригинальный семестр - (2), измененный семестр - (2)
-- уволить, отказать. идем дальше (а данных больше и нет)
Не совсем понял. Почему их больше нет?
Аноним 22/03/19 Птн 11:41:15 1368377180
>>1368376
ну это просто единственная запись в чендж-трекере. и то добавленная как DbContext.Entry().State =
Аноним 22/03/19 Птн 16:15:20 1368484181
>>1368196
>И то что он храниться в стеке, а ссылочные типы хранят референс в стеке на объект в куче, так?
Так, и что из этого?
Меня так на собеседовании дрочили
Аноним 22/03/19 Птн 17:06:42 1368504182
>>1368484
> Так, и что из этого?
А вам что нужно?
Аноним 22/03/19 Птн 17:15:44 1368507183
>>1368484
В стэке хранятся ссылки на ссылочные типы. Когда ты присваиваешь что-то типа
object a = new object();
var b = a;
То ты переменеой b присваиваешь ссылку на a. И если ты изменишь что-то в a, то изменится и b, так как это один и тот же обьект из кучи. Так же само, когда ты сравниваешь ссылочные типы, ты сравниваешь только ссылки.
Значимые типы могут лежать прям в стеке. И при копировании, ты копируешь все значение, а не только ссылку. Так же, значимые типы могут стать ссылочными - когда ты пишешь
object o = 5;
Ты даешь переменной о ссылку на int 5 в куче. При возврате назад к инту, в стэк будет копироваться значение из кучи.
пиздос, как можно идти на собеседование и не знать этого
Аноним 22/03/19 Птн 18:49:32 1368544184
>>1368368
Бля, чувак, спасибо тебе огромное, я просто супер еблан. Я пытался апдейтить свойство, входящее в альтернативный ключ, а ef это запрещает. Пиздец...
Аноним 22/03/19 Птн 19:07:51 1368549185
>>1368544
у тебя там явная борода с инициализацией значений базочки
про завтыки в самом веб-проекте, я думаю, ты сам знаешь
советую после всего просто дропнуть базу, и накатить все по-новой
Аноним 22/03/19 Птн 20:15:42 1368581186
>>1368004
>Платиновый вопрос:
>Нахуя нужен struct если есть class?
>Класс - ссылочный тип.
>Структура - значимый тип.
И чо? Нахуя нужен struct если есть class? Какая разница значимый тип или ссылочный в данном случае? К этому все велось.
Аноним 22/03/19 Птн 20:21:55 1368584187
Аноним 22/03/19 Птн 20:24:48 1368586188
Аноним 22/03/19 Птн 20:26:44 1368588189
>>1368507
>пиздос, как можно идти на собеседование и не знать этого
А я где-то написал, что не знал?
Вопрос был - нахуя struct, если есть class? Ради радости присваивания через оператор = ? Где реально эти структуры используются, например?
Вот вопрос, который меня в тупик на собесе поставил был такой:
try catch finally, зачем нужен блок finally?
Я грю, ну он сработает после выполнения try или catch в любом случае.
Хорошо, а где это используется?
Я ни одного примера придумать не смог.
Аноним 22/03/19 Птн 20:30:08 1368589190
>>1368014
>чтобы экономить на памяти
Как там, в 80-х, 640кб не хватает уже что ли?
Аноним 22/03/19 Птн 21:15:36 1368601191
>>1368588
>ни одного примера придумать не смог
using
Аноним 22/03/19 Птн 22:01:15 1368624192
Аноним 22/03/19 Птн 22:14:53 1368630193
>>1368588
Коннектишься к бд, в try делаешь свои операции, в finally закрываешь соединение
Аноним 22/03/19 Птн 22:21:28 1368631194
>>1368630
>в finally закрываешь соединение
using ведь закрывает
Аноним 22/03/19 Птн 22:23:46 1368634195
>>1368624
- делаешь любое действие
- гарантированно освобождаешь ресурсы
Аноним 22/03/19 Птн 22:27:54 1368637196
>>1368624
вообще, еще пример, пару раз был пригоден в проектах: нужно выполнить логику без оглядки на результат работы. естественно, в случае фейла, не нужно завалить вызывающий код
в таком случае пишешь пустой finally
Аноним 22/03/19 Птн 22:47:58 1368641197
>>1368588
> Где реально эти структуры используются, например?
Инты, даты и булева тебе не нужны? Это ведь был бы пиздец, будь у тебя даже они ссылочными - как тогда вообще построить функцию, котарая берет данные на вход и возвращает что-то обратно, не изменив входные данные? И ты даже никак не узнаешь, изменились в этом ссылочном типе данные или нет. Кароче они нужны когда тебя нужна иммутабельность.
Аноним 23/03/19 Суб 00:20:26 1368678198
>>1368634
>- делаешь любое действие
>- гарантированно освобождаешь ресурсы
У меня чо, сборщика мусора кто-то отобрал? Может еще и деструкторы дрочить?
Аноним 23/03/19 Суб 00:23:15 1368679199
>>1368637
>естественно, в случае фейла
есть фейл - работает catch
нет фейла - try
какое третье состояние нужно, чтобы только finally
Аноним 23/03/19 Суб 00:25:10 1368681200
>>1368641
>Инты, даты и булева тебе не нужны?
А кто мне их в классе мешает использовать? Ты вообще о чем разговор понял?
Аноним 23/03/19 Суб 00:35:19 1368686201
>>1368681
> А кто мне их в классе мешает использовать?
От того, что они в классе, они не становятся ссылочными.
Аноним 23/03/19 Суб 00:43:04 1368689202
>>1368686
>От того, что они в классе, они не становятся ссылочными.
И чо? Дальше то что?
Аноним 23/03/19 Суб 02:14:41 1368720203
>>1368641
Он не осознает всех тонкостей, оставь его
Аноним 23/03/19 Суб 04:11:06 1368741204
>>1368588
Можно закрыть открытые потоки в файлах. Я знаю одного спросили как закрыть потоки в файлы если метод оче большой и сложный и еще что-то. Ответ - деструктором. Немного не то но похоже.
Аноним 23/03/19 Суб 07:10:33 1368756205
>>1368678
сборщик за тебя соединение с базочками закрывает?
или дескриптор файла отпускает? может лок синхронизации снимает?

>>1368679
пустой catch - это ультрахуевая практика, даже если тебе этот кэтч реально не нужен. пустой finally тебя ни к чему не обязывает
Аноним 23/03/19 Суб 07:20:30 1368758206
>>1368741
>Можно закрыть открытые потоки в файлах
Это если ты долбоеб и не юзаешь оператор со скобками, который так или иначе закрывает все твои потоки
Аноним 23/03/19 Суб 07:22:46 1368759207
>>1368756
>пустой catch - это ультрахуевая практика, даже если тебе этот кэтч реально не нужен. пустой finally тебя ни к чему не обязывает
Но ведь вопрос был зачем finally нужен. Даже если в catch я кидаю в лог исключение, зачем finally?
Аноним 23/03/19 Суб 08:02:48 1368762208
>>1368759
та блять. говорят уже раз третий тебе, чтобы гарантированно выполнить какой-то код, даже если основной блок отвалится
[/spoiler]самый верняковый пример - закрытие соединения, релиз блокировки или файла
Аноним 23/03/19 Суб 08:03:20 1368763209
>>1368758
какой оператор со скобками?
Аноним 23/03/19 Суб 08:33:14 1368768210
>>1368759
> зачем finally
Это короче жава-шарповский костыль для имитации деструкторов.
Аноним 23/03/19 Суб 09:25:37 1368781211
>>1368762
>даже если основной блок отвалится
Какого хуя он у тебя отвалился? И пример давай, вот прямо рабочий, что ты там пишешь? Я же тоже сказал, что будет использоваться, по сути в качестве деструктора. Но у меня уточнили, где ты его применял?
Аноним 23/03/19 Суб 10:04:33 1368789212
>>1368781
var connecton = this.ConnectionPool.GetAwailable();
try { return connection.Query<Govno>(queryString, params); }
finally { this.ConnectionPool.Release(connection); }

это не копипаста из проекта, если че (но могла бы быть)
Аноним 23/03/19 Суб 10:48:44 1368795213
Аноним 23/03/19 Суб 11:09:42 1368802214
>>1368789
Через using религия не позволяет? Обязательно явно нужно закрывать?
Аноним 23/03/19 Суб 11:18:16 1368803215
>>1368802
>ConnectionPool
>закрывать
джун плиз
Аноним 23/03/19 Суб 11:32:55 1368808216
>>1368803
Он очевидно говорит про подход аля кресты - делаешь класс аллокатор соединения из пула, освобождение соединения суешь ему в деструктор Dispose.
Аноним 23/03/19 Суб 11:43:03 1368811217
>>1367843
Вообще, очень лежит, так как энтерпрайза я наелся ещё будучи юристом. Но я прекрасно понимаю, что геймдев - это вовсе не работа-игра, просто нишевая разработка с особенностями.
Аноним 23/03/19 Суб 11:50:15 1368812218
>>1368803
>джун плиз
Петя, плиз.
Твой говнокод никому нахуй разбирать не надо на составляющие
Аноним 23/03/19 Суб 11:59:02 1368813219
>>1368812
в следующий раз когда на собеседовании придется рассказать про использование try-finally в проектах, скажи, что это говно без целей и задач, а разрабы языка - долбоебы
если спросят, почему так, можно ответить: потому, что пети из двачей не доказали реальные кейсы применения, а подпихнули говнокод, который хуйня
Аноним 23/03/19 Суб 12:12:01 1368816220
Тащемта, для закрытия соединений реально удобнее использовать using
Она же полностью синонимична этим вашим try finally.
Аноним 23/03/19 Суб 16:47:12 1368892221
Анончики как быть? Устроился в небольшую фармацевтическую кампанию, поддерживать код на winforms. Все круто. Недавно начальник сказал что будем переходить на asp net, а на winform забиваем. Мне как бы не проблема выучить JavaScript, разметку, бд и СУБД, но мне ближе разработка под десктоп. Я сразу полюбил разработку под десктоп, когда начинал. А вакансий других нету вообще, что делать?
Аноним 23/03/19 Суб 17:43:22 1368905222
>>1368816
так а кто спорит.
а если логика чуть сложнее, чем открыл/закрыл?

>>1368892
страдать. десктоп был мертв еще в момент, когда я пытался вкатиться. у меня на работе есть полностью десктопный челик. взяли его в контору только потому, что была острая нехватка дотнетчиков, а проект стартовать надо прямо уже. конечно, ему пристроили место в UWP-проекте, но много ли таких на рынке? можешь попробовать смигрировать
Аноним 23/03/19 Суб 18:09:36 1368915223
На связи вкатывальщик, предлагаю начать срач куда лучше вкатываться после "основ" - в веб или xamarin?
Аноним 23/03/19 Суб 18:34:54 1368925224
>>1368905
Ее можно засунуть в Dispose обычно, но я бы в таком случае предпочёл воспользоваться конструкцией try finally
Аноним 23/03/19 Суб 18:59:16 1368937225
>>1368905
А если плюнут на все? Подтянуть zenject и внедрение зависимостей, ну или UniRx, хотя вроде он мертв. И уйти в геймдев, еще с детства мечтал
Аноним 23/03/19 Суб 19:11:51 1368942226
>>1368937
ты хочешь заниматься чем-то, но спрашиваешь на двачах, стОит ли?
не знаю, что тебе ответить
Аноним 23/03/19 Суб 20:42:05 1368976227
>>1368905
>так а кто спорит.
>а если логика чуть сложнее, чем открыл/закрыл?
Блядь, ты привел код, да? Да! Тебе сразу недоджун сказал, почему не через using, finally избыточно в данном случае, ты попой покрутил и сказал, что так и должно быть, не долбоебушка ли ты часом? Логика чуть сложнее, чем открыл/закрыл? Так приведи пример этой логики. Пока что ты хуйню избыточную привел, вместо ответа, зачем finally нужно
Аноним 23/03/19 Суб 21:39:20 1368996228
>>1368976
почему долбоеб ты, а стыдно мне?
Аноним 23/03/19 Суб 21:44:38 1368998229
>>1368905
>а если логика чуть сложнее, чем открыл/закрыл?
А ты пример этой логики приведешь?
Мне пока на ум приходит только то, что от сервера можно получить какие-нибудь неверные данные и попробовать еще раз.
Но это скорее из джаваскрипта пример, хз, нужно ли такое в шарпе
Аноним 23/03/19 Суб 22:13:41 1369011230
>>1368998
retry в случае ошибки, да; какой-нибудь пул соединений и/или Unit of Work
вообще в приложениях сложнее moy_kursach заботу об управлении коннэкшном (ну и не только, просто это наиболее очевидный/часто встречающийся пример) не берет код/класс, который с этим соединением получает/записывает данные. а раз ты разделяешь ответственность, то появляется соблазн переиспользовать ёмкие ресурсы повторно (например, для какой-нибудь операции, которая выполнится через две строчки кода; или шире: в любом последующем ветвлении какого-то флоу). отсюда тебе мало написать using, ты не знаешь, в какой момент времени еще управляемый объект может понадобиться

могу другой, немного высосанный из пальца пример привести, не связанный с базой: юзер загружает картинку в твое приложение, но оно нарушает правила использования сервиса:
- бэкенд принимает файл, записывает его во временный сторадж
- идет попытка применения его для данных пользователя с сопутствующей проверкой. например, это аватарка и она хранится в каком-нибудь блоб хранилище
- файл нужно удалить из temp, дабы не хламить место, что бы не произошло
условно говоря, у тебя будет action контроллера, обернутый ExceptionFilter-ом (соответственно, блок catch в нем будет (скорее всего) отсутствовать), а валидация, сохранение, еще что-то происходит в глубоких ебенях сервисов/репозиториев. и в этом случае try/finally тебе поможет: удалить файл если был выброшен эксепшн; не копипастить логику обработки фильтром ошибки в catch блоке (и не писать catch { File.Delete(); throw; })
Аноним 23/03/19 Суб 22:40:49 1369035231
>>1368998
>А ты пример этой логики приведешь?
Конечно не приведет. Он же даже в юзинг не умеет, лол
Аноним 24/03/19 Вск 01:00:36 1369105232
Бля, как же меня уже заебал ебучий впф, сука. Впф - это просто кусок сырого непроработанного говна, где ничего не работает, где запилено дохуя говнофункций, которые нигде не используются или замещают друг друга. А впф плюс мввм - это вообще говно мочи. Есть, блять, удобный code behind, где ты спокойно запиливаешь все эвенты, но НЕТ, сука, нельзя так делать, ведь тогда швятой мввм не соблюдается и нужно запиливать все эвенты через злоебучие команды, которые работают через жопу и требуют миллиард дополнительных строк нечитаемого кода. А некоторые эвенты вообще хуй через команды сделаешь. И хули делать? Вот, кто, сука, решил, что чистый code behind - это хорошо? Его что, блять, по приколу что ли запилили?
Аноним 24/03/19 Вск 04:13:52 1369171233
>>1369105
>мввм - это вообще говно мочи.
Лул, америку открыл.
Аноним 24/03/19 Вск 07:47:51 1369187234
>>1369105
>мввм не соблюдается и нужно запиливать все эвенты через злоебучие команды, которые работают через жопу и требуют миллиард дополнительных строк нечитаемого кода
ты уверен, что все делаешь правильно?

>чистый code behind - это хорошо
так нынче хорошо все, что кодогенерацией облегчаетнет/ускоряет разработку. написание приложения через объявление вью-моделей и разбиение логики по командам а-ля десктопный CQRS - это как раз о том
Аноним 24/03/19 Вск 09:40:47 1369213235
>>1368976
catch
{ return false; }
Выглядит знакомо?
Аноним 24/03/19 Вск 09:56:35 1369215236
>>1369105
>Его что, блять, по приколу что ли запилили?
Каэшна, vm руками создавай, для каждого окна, хули ты, не макака что ли?
Аноним 24/03/19 Вск 12:07:22 1369253237
>>1369105
>кусок сырого непроработанного говна
>>1369105
>плюс мввм - это вообще говно мочи.
>>1369105
>удобный code behind
>>1369105
>запиливаешь все эвенты
>>1369105
> Его что, блять, по приколу что ли запилили
Анекдоты уровня /pr/

На самом деле, ты просто слишком туп, чтобы понять все приемущества и мощь WPF. На твоих хелоуворолдах использовать его нет смысла - используй формочки.
Алсо, qt бляди до сих пор завидуют байндингам которые есть в wpf
Аноним 24/03/19 Вск 12:30:34 1369257238
>>1369253
>Алсо, qt бляди до сих пор завидуют байндингам которые есть в wpf
И чему там завидовать? Можно поподробнее?
Аноним 24/03/19 Вск 13:20:51 1369275239
>>1369253
>Алсо, qt бляди до сих пор завидуют байндингам которые есть в wpf
С чего бы? Сидел на обоих, xaml отсасывает у qml с проглотом.
Аноним 24/03/19 Вск 13:44:29 1369285240
>>1369011
>retry в случае ошибки, да
Минуту, я хуйню сказал, это в catch нужно.
>этом случае try/finally тебе поможет: удалить файл если был выброшен эксепшн; не копипастить логику обработки фильтром ошибки в catch блоке
Почему "если", через finally в любом случае произойдёт удаление.
Аноним 24/03/19 Вск 14:09:00 1369298241
>>1369275
xaml вообще у всего отсасывает, это такое говно, что пиздец
Аноним 24/03/19 Вск 14:54:43 1369315242
>>1369298
>это такое говно, что пиздец
>>1369105
Ниосилятор, съеби уже.

>>1369275
>Сидел на обоих, xaml отсасывает у qml с проглотом.
О, индивид заявляет что сидел на WPF, но когда ему рассказывают про приемущества Binding выражений и Dependency Property, он начинает сравнивать xaml и qml.
Дай угадаю, ты "сидел" ковыряя свою "лаба 1", но при этом не работал, верно?

>>1369257
>Можно поподробнее
Всему. Binding выражения, Dependency Property, workflow, анимации, тонны вещей из коробки.

Аноним 24/03/19 Вск 15:57:22 1369357243
>>1369315
>верно
Нет. А вот ты явно не видел как биндинги делаются в кюте, дошло бы какой анальной дрочкой ты занимаешься.
Аноним 24/03/19 Вск 16:40:44 1369382244
>>1369357
в wpf дефолтный биндинг на уровне <Элемент Свойство="Выражение" />. как еще более удобно/адекватно можно че-то ривязывать?
мимо
Аноним 24/03/19 Вск 17:07:37 1369391245
Аноним 24/03/19 Вск 17:15:22 1369394246
Аноним 24/03/19 Вск 19:17:46 1369473247
>>1369187
>ты уверен, что все делаешь правильно?
Уверен. Расскажи мне, например, как адекватно реализовать datagrid column header click через команды, но мало того, чтобы команда ещё и объект datagridcolumnheader возвращала. Или как привязать команду к гриду, который находится внутри табконтрола? А никак.
Аноним 24/03/19 Вск 19:53:39 1369490248
>>1369473
>адекватно
>datagrid column header click
kek

по существу, ты хочешь на любой пук иметь возможность подцепить все, что придет в голову? ну, естественно, такого не бывает. в данном случае надо поднаписать чуть-чуть своей реализации поверх дефолтного контрола. в WPF я редко видел как обходятся стандартным набором компонент, а зачастую, и пишут врапперы поверх библиотечных
ты-то вообще сам как хотел бы, чтобы выглядела твоя привязка? я даже не знаю, зачем тебе возврат значения из ICommand.Execute. оно не для того придумано
Аноним 24/03/19 Вск 19:56:29 1369495249
Пиздец, уже в обсуждение формочек, скатились. Тред сдох.
Аноним 24/03/19 Вск 19:58:24 1369498250
Аноним 24/03/19 Вск 20:00:10 1369501251
>>1369490
>по существу, ты хочешь на любой пук иметь возможность подцепить все, что придет в голову?
Через эвенты это делается за 10 секунд, например.
Аноним 24/03/19 Вск 20:25:47 1369518252
>>1369501
так биндинг в впф это обертка над ивэнтами тащемто
просто чтобы рандомные ивэнты подключить, надо чутка постараться. разрабы решили особо и не стараться
Аноним 24/03/19 Вск 20:47:18 1369527253
public double Discont
{
get{return Discont;} set{Discont = value;}
}

Поясните чому оверфлоу и как можно это решить кроме как создания новой переменной?
Аноним 24/03/19 Вск 20:52:23 1369531254
>>1369527
>public double Discont
>get{return Discont;} set{Discont = value;}
Ты уверен, что ты понимаешь, что ты делаешь?
Аноним 24/03/19 Вск 21:17:56 1369543255
>>1369527
Хмм, я даже не знаю, почему.
Аноним 24/03/19 Вск 22:28:16 1369597256
Сисяны, нужен совет. Есть я - изучавший сисярп 2 года детально, так что хоть и дошёл до паттернов основных только, но зато без пустоты в голове и прочего. Но увы, я оступился и залез в каку, имя которой Swift. Сейчас хочу вернуться, посоветуйте, с чего можно освежить память и двинуться дальше
Аноним 25/03/19 Пнд 00:20:48 1369641257
>>1369531
>>1369543
Я пример навел, там еще есть строки условий.
>что ты делаешь?
Я думал что понимаю.

Аноним 25/03/19 Пнд 11:47:02 1369752258
Господа, есть вопрос к вам.

У меня есть многопоточное приложение. Возникла необходимость убивать некоторые потоки в которых сейчас идет работа. Как это реализовать правильно? Погуглил, но нихуя не нашел. Потоки запускаются через Task
Аноним 25/03/19 Пнд 12:32:01 1369763259
>>1369752
Через cancellationtoken (или как-то так)?
Аноним 25/03/19 Пнд 12:37:25 1369766260
>>1369763
>cancellationtoken
Для него токен надо создавать, не? Потом хранить его где-то. У меня 10-15 потоков параллельно работают
Аноним 25/03/19 Пнд 12:51:45 1369772261
>>1369766
это общепринятый способ завершать работу в TPL. откуда взялась проблема что-то куда-то создавать?
Аноним 25/03/19 Пнд 12:55:29 1369777262
>>1369772
Не пользовался никогда. Не было необходимости. Вот и спрашиваю
Аноним 25/03/19 Пнд 12:58:34 1369780263
>>1369777
по соглашению асинхронные методы имеют в сигнатуре CancellationToken как параметр. потому, что постоянно появляется необходимость что-то отменять
Аноним 25/03/19 Пнд 13:03:15 1369782264
Аноним 25/03/19 Пнд 13:35:39 1369790265
>>1369782
если уж не случилось по разным причинам с CancellationToken, есть воркэраунд на игнорирование результата, но такое может не подойти в некоторых случаях:

var delay = Task.Delay(timeout);
var workTask = RunGovnoAsync();
var result = await Task.WhenAny(delay, workTask);
if (result == workTask)
{ azaza }

Delay - просто шикороиспользуемый кейс. в твоем случае это может быть синхронная параша, которая засигнализирует, что надо закругляться
Аноним 25/03/19 Пнд 13:52:59 1369795266
В чем основная фишка распознавателя зависимости?
Не понимаю, зачем он конкретно нужен.
Аноним 25/03/19 Пнд 14:10:30 1369800267
>>1369795
>распознавателя зависимости
in English plz?
Аноним 25/03/19 Пнд 14:19:57 1369807268
>>1369800
Я объебался, имелось ввиду внедрение зависимостей, DI.
Как в Ninject можно привязать несколько реализаций?
Аноним 25/03/19 Пнд 14:27:35 1369810269
>>1369807
через именованые зависимости. вообще это хак и многие люди не любят такую дрочню.
для всех остальных есть чуть более хардкорные вещи, типа условная инжекция в SimpleInjector. точно не помню, но там вроде через цепочку When(x => { }).Resolve<T>() можно подпихнуть что угодно

>В чем основная фишка
инверсия зависимости - читай сюда
вообще эта херня очень сильно облегчает жизнь при тестировании. ну и уж тем более упрощает разработку в случае, если для целого сервиса оказывается альтернативная реализация, которую вот надо теперь использовать (что бывает нечасто)
Аноним 25/03/19 Пнд 15:47:06 1369831270
>Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.

Почему за несколько тредов здесь я не увидел за него ни слова? Неужели тут никто не пишет на шарпе под смартфоны?
Вроде выглядит секс - мультиплатформа, работаешь в студии даже кривую возможность отладки сразу на телефон завезли.
Или это совсем мертвая ебала?
Не удивлюсь если на этот пост никто не ответит.
Аноним 25/03/19 Пнд 16:31:30 1369848271
>>1369831
Потому что неосиляторы считают его багованным говном, однако у кого не спрашивал, никто толком объяснить не может, чем он плох.
Знаю, что на гознаке прогеры под него пишут, но местным джунам виднее конечно же, что говно, что нет.
Аноним 25/03/19 Пнд 20:18:44 1369957272
>>1369946
Куда выкатываетесь?
Аноним 25/03/19 Пнд 20:19:28 1369958273
Аноним 25/03/19 Пнд 20:22:06 1369961274
Аноним 26/03/19 Втр 01:21:38 1370125275
15523864945970.jpg (10Кб, 210x240)
210x240
У вас бывает/бывало такое что вы над каким-то тупым минутным решением думаете >час?
Сегодня прям дизмораль словил.
Аноним 26/03/19 Втр 02:15:59 1370142276
>>1370125
Я всегда такой. Чувствую себя отбитым дауном. Раньше ходил в школе на олимпиадное прогоаммирлвание, но в итоге забил - я не умею думать и писать код с такой скоростью.
Аноним 26/03/19 Втр 02:22:39 1370144277
Аноним 26/03/19 Втр 02:24:22 1370145278
>>1369831
Потому что:
>РЯЯЯ У НАС ЕСТЬ ДЖАБА С КОТЛИНОМ, СМУЗЗИ И ПОНЧИКИ.
Аноним 26/03/19 Втр 07:52:59 1370171279
>>1370145
Ну это понятно, перекатыватся с жабы на шарп ради xamarina возможно не очень то хочется как и например мне с шарпа на жабу.
Аноним 26/03/19 Втр 11:34:54 1370289280
>>1369831
Ну так. Скорость разработки конечно выше чем на убого android studio. И если формы не трогать. Ну тут нужно учитывать что все библиотеки для android на java, и тебе скорее всего нужно будет самому билдить и настраивать это все для поддержки в C# (для популярных библиотек вроде есть nuget пакеты, но не уверен в их актуальности и работоспособности).
Если что-то пойдет не так, тебя ждует охуенные долгие дни поиска причины и ее исправления, т.к. инфы по ксамарину в интернете почти нет.

Тут нужно думать стоит ли оно того. Если ты делаешь простой интерфейс для REST, то можно взять. В остальных случаях нужно нужно думать, написать код для каждой платформы это не такая уж большая проблема на самом деле.
Аноним 26/03/19 Втр 12:16:26 1370316281
Антоны, можете пояснить, как юзать Ninject в формах?
Хочу протестировать кучу всего, но не понимаю.
Достаточно ли будет сделать вот так, чтобы модуль работал на всех формах?
Kernel = new StandardKernel();
Kernel.Load(new ExampleModule());
Application.Run(new MainForm());
Аноним 26/03/19 Втр 12:20:27 1370319282
>>1370316
тебе нужно иметь доступ к Kernel из всех своих форм. самый васянский способ - объявить публичный статический класс и там свой Kernel инициализировать
Аноним 26/03/19 Втр 12:41:58 1370333283
>>1370319
Это мне нужно будет везде прописывать kernel.Get<>?
Аноним 26/03/19 Втр 12:45:01 1370336284
Аноним 26/03/19 Втр 14:22:53 1370376285
Аноны, подскажите самый быстрый способ рисовать пиксели на форме? Graphics/picturebox - не варианты. Первый срабатывает раз через раз и не несет в себе функции установки единичного пикселя. А DrawLine(x,y,x+1,y+1) я рот ебал. Второй же требует ебанутой конструкции аля image.bimap = null; drawworld(bitmap); image.bitmap = bitmap; и опять же, цикл битмаповых setpixelов съедает всё процессорное время.
Помните первохл? Там как раз есть программный рендер. Чем же он выводит кадровый буфер на экран?
тут даже вопрос не конкретно по сярпу, а вообще о возможностях винды
Аноним 26/03/19 Втр 14:44:15 1370384286
>>1370376
>цикл битмаповых setpixelов съедает всё процессорное время
А зачем ты цикл крутишь? У тебя мир часто обновляется по пикселям? Вот прямо каждый кадр новые пиксели?

Сделой себе массив с Color и еби его как хочешь за нулевое время, потом конверти в битмап и возможно этот битмап не нужно будет пересоздавать заново для установки в picturebox.

Вот посмотри тут как быстро ебут пиксели линей в ряд:
https://stackoverflow.com/questions/54553517/c-sharp-bitmap-set-pixel-value-for-format8bppindexed
Аноним 26/03/19 Втр 14:48:09 1370386287
>>1370376
>Чем же он выводит кадровый буфер на экран?
Внутрях там наверно крестовый bitblit - это очень быстрая шняга для копирования пикселей куда угодно. Используется в винде повсеместно. Можно поробовать обмазаться этой нативной реализацией если забить на кросплатформу нета.
Аноним 26/03/19 Втр 14:50:25 1370387288
15410103018590.png (40Кб, 375x360)
375x360
>>1370376
Отвечу третий раз. Прост.
Аноним 26/03/19 Втр 16:07:17 1370428289
Антоны, можете пояснить, как работать с Ninject, если у меня
1) Множество конструкторов, что ссылаются друг на друга через this
2) Конструктор ссылается на базовую реализацию через base?
Аноним 26/03/19 Втр 16:21:01 1370434290
>>1370428
Ninject может работать только с одним конструктором, вроде как. он помечается специальным аттрибутом, или юзает дефолтный без параметров
Аноним 26/03/19 Втр 18:35:30 1370489291
>>1366885 (OP)
Как скачать файл с Releases, по ссылке с гитхаба, через webclient, если там, на github'e - редирект.
Аноним 26/03/19 Втр 19:30:02 1370513292
>>1366885 (OP)
Привет, ребята. Я хуй без опыта и высшего образования. 26 лвл. Программированием увлекаюсь давно, база хотя бы для джуниора есть с запасом. Хочу в веб. Пока без разницы, во фронт или в бэк. Лишь бы найти какую-нибудь работу. Из серверных языков знаю php, но это мне не очень нравится, все-таки хочется чего-то посерьезнее. В джаву мне путь 100% закрыт.
Есть ли шансы вкатиться к вам с такими данными?
Аноним 27/03/19 Срд 03:23:54 1370666293
Аноны-новосибирцы тут? Скоро буду переезжать в Новосибирск, поизучал вакансии, вроде все неплохо и пару вакансий запретил. А как вообще себя чувствует шарпист в Новосибирске?
Аноним 27/03/19 Срд 04:13:44 1370671294
>>1370513
>В джаву мне путь 100% закрыт.
из чистого интереса, что может закрыть путь в джаву?
Аноним 27/03/19 Срд 07:46:37 1370688295
>>1370513
>Есть ли шансы вкатиться к вам с такими данными?
всегда удивляют такие вопросы.

Хочешь в веб, учишь JS. Ну и к нему html+css. Делаешь пет проект и выкладываешь на гитхаб и идешь по собеседованиям.

Ну а типа "потратить 1-2 недели на изучение и сразу на работу" ну тут хз. Как минимум полгода-год уйдет, если не больше.
Аноним 27/03/19 Срд 16:55:10 1370866296
Антоны, реально ли на сишарпа написать парсер для чата?
Нужно парсер, который бы парусил чат на наличие сообщений от юзера, ничего криминального.
Проблема в том, что все грузится динамически, как это можно сделать?
Аноним 27/03/19 Срд 16:57:08 1370867297
>>1370866
Реально.
>как это можно сделать?
Динамически читать.
Аноним 27/03/19 Срд 17:07:00 1370870298
>>1370867
Спасибо, Анон. Можешь кинуть ссылку на какой-нибудь материал, где подобное описывается?
Аноним 27/03/19 Срд 18:36:57 1370927299
>>1370870
new Timer(1000, ParseChat).Start();
Аноним 27/03/19 Срд 18:46:17 1370931300
>>1370870
Тебе нужен http и api сервиса, дальше легко.

Олсо, вопрос, правильно ли я понимаю, что для каждого сайта делается отдельный ВебСкраппер или можно унифицировать?
Аноним 27/03/19 Срд 19:57:52 1370976301
>>1370931
унифицировать ты сможешь только базовые действия
конкретные данные с конкретной разметки ты, конечно же, забираешь индивидуально
Аноним 27/03/19 Срд 20:10:41 1370982302
>>1370927
А, я понял, парсить по таймеру. Изначально на что-то такое я и рассчитывал.
Только есть вопрос, с помощью какой библиотеки это делать?
Аноним 27/03/19 Срд 21:14:59 1371015303
>>1370982
слишком общий вопрос, чтобы отвечать на него как-то конкретно. что и как ты хочешь парсить? если у сайта есть вменяемое API (подозреваю, его нет), то какой-нибудь HttpClient (или напрямую с WebRequest пердолься) с десериализацией респонза в нужный тебе тип
если же тебе нужно ебашить разметку, то я лично предпочитаю использовать HtmlAgilityPack. опять таки, для скачивания страницы тебе понадобится нечто вроде HttpClient
Аноним 27/03/19 Срд 21:23:37 1371020304
>>1371015
>слишком общий вопрос, чтобы отвечать на него как-то конкретно. что и как ты хочешь парсить?
Дискорд, у него API только для ботов, но не на свой сервер я, вроде как, добавить бота не могу.
Аноним 27/03/19 Срд 21:31:09 1371028305
>>1371020
мраземакаба не дает постить ссыль на доку дискордовскую
гуглируешь крч: Discord Development Portal / Channel / Get Channel Messages. это разве не оно?
Аноним 27/03/19 Срд 21:44:28 1371042306
>>1371028
>гуглируешь крч: Discord Development Portal / Channel / Get Channel Messages. это разве не оно?
Это все про написание ботов для своего сервера, на другой я его закинуть не могу.
Аноним 27/03/19 Срд 21:46:53 1371043307
>>1371042
ну тут сыглы. я с дискордом не работал, не могу тебе сказать
парсинг разметки в данном случае выглядит как уберпупероверкилл. но, может быть, и единственный выход
Аноним 27/03/19 Срд 21:56:11 1371050308
>>1371043
>уберпупероверкилл
В каком смысле? Не понимаю тебя.
Это мне еще надо будет залогиниться, написав POST запрос, потом спарсить страницу, вытащить сообщения и снова спарсить эту страницу, но так, чтобы не выйти из дискорда.
Может какой-нибудь Cefsharp сможет помочь сделать все проще?
Аноним 27/03/19 Срд 22:01:24 1371055309
>>1371050
в смысле, что это стреляние по воробьям из пушки, когда дискорд - достаточно адекватная платформа, чтобы предоставить тебе нужное API (в случае, если кроме бота какое-то API все-таки есть)

если нет, то отписанный тобой процесс. как по мне, CefSharp не даст тебе особого преимущества. ибо тебе все те же процессы придется описывать и производить по такой же схеме. разве что ты будешь оперировать не запросами/ответами/хэдерами, а кнопочками в документе. но можешь начать с него, тебе виднее, как тебе делать удобнее )
Аноним 28/03/19 Чтв 03:09:38 1371239310
>>1371055
Короче, я сделал так, максимально васянским способом
Через CefSharp запускаю скрипт и через
var div = await chromeBrowser.EvaluateScriptAsync(textBox2.Text);
Запускаю команды javascript.
У меня пока не получилось сделать нормальный вход и переход по формам, выгрузку картинок и гифок.
Думаю, что можно на это забить и сделать имитацию нажатия клавиши и клика мыши.
Аноним 28/03/19 Чтв 15:03:35 1371422311
кто-нибудь из местных поехавших юзал NServiceBus с транспортом в виде SqlServer (ор любая другая базочка)?
Аноним 28/03/19 Чтв 17:36:21 1371511312
Мужики, у CancellationTokenSource в разных тредах может меняться WaitHandle?
Аноним 28/03/19 Чтв 20:15:13 1371598313
Аноним 28/03/19 Чтв 21:35:24 1371626314
>>1366885 (OP)
Аноны, что делает эта строка:
int index = (int)Math.Min(Math.Pow(r.NextDouble(), 0.3) * count, count - 1);
Хочу на JS переписать метод, а там - вот это...
Аноним 28/03/19 Чтв 21:41:59 1371627315
>>1371626
Math.Min - выбор наименьшего из двух
Mat.Pow - возведение x в степень y
* - умножение
- - вычитание
NextDouble() - случайное значение числа с плавающей точкой от 0 до 1
Аноним 29/03/19 Птн 02:22:58 1371720316
вопрос. а вот если сделать struct с сылкой на class, то в struct же копируется ссылка?
Аноним 29/03/19 Птн 04:31:16 1371731317
Аноним 29/03/19 Птн 06:10:21 1371743318
Аноним 29/03/19 Птн 09:12:50 1371788319
>>1371598

Разобрался, мой косяк, токены неявер подменялись из-за ошибки.
Господин 29/03/19 Птн 12:04:38 1371872320
Привет шарписты, я С господин уже 2й год, мой первый ЯП и основной, полюбил его навсегда, но с ним я никому не нужен кроме себя:) Думаю поплнить ваши ряды и осесть в офисе, интересует Desktop Development, возможно мобильная разработка.

Стоит ли игра свечь в плане вакансий для джунов, сколько времени на перекат и вливание в это опп:(
Аноним 29/03/19 Птн 12:14:34 1371876321
>>1371872
десктоп на донтетах - это как делфи. вакансии можно найти, конечно, но зачем
Аноним 29/03/19 Птн 13:54:55 1371910322
>>1371876
Ок, я открыт для идей/светов, готов принять любые идеи/светы на рассмотрение, так как есть огромное желание присесть в офис и залезать к дяде в карман 1 раз в месяц, помимо пасивного дохода...
Аноним 29/03/19 Птн 13:57:14 1371911323
>>1371910
веб-фулстекинг практически гарантирует тебе место в офисе
может быть что-то про юнити тебе тут расскажут
мобильная разработка, опять-таки. наверное, xamarin жив еще
Аноним 29/03/19 Птн 14:07:33 1371914324
>>1371911
Короче никак не миновать бля*кий JS?
Что расскажешь про системного админа, есть мне там что ловить?
Аноним 29/03/19 Птн 14:39:49 1371925325
>>1371914
ну почему никак. просто шансы тогда понижаются, к сожалению
про сисадминство не скажу
Аноним 29/03/19 Птн 14:47:00 1371930326
Антоны, я таки дорос до того, чтобы отправлять дискорду post запрос через Cefsharp.
Но мне в ответ приходит {"code": 0, "message": "400: Bad Request"}
И я не могу понять, в чем ошибка, как можно посмотреть исходящий запрос из приложения?
Аноним 29/03/19 Птн 15:42:02 1371948327
>>1371911
Прочитал подробно, что такое full stack developer... это не мое, везде по немногу, но зато везде, а копни такого поглубже в чем либо, лопнет как блять пузырь мыльный! Я предпочитаю знать 1 но идеально, максимум 2 и то второй для дяди или удобства написания проекта.
Аноним 29/03/19 Птн 15:50:35 1371950328
>>1371948
я тоже так думал сначала, но теперь понимаю тупиковость данного подхода. особенно в дотнете, где умирает легаси из 2010х, но все никак не сдохнет, а кроссплатформенного кора пока не много на рыночке
да и знать-то особо нечего. основы языка учатся за месяцы, надрачиваются за пару лет адекватных проектов. дальше расти все-равно в технологии, которые, нынче, привязываются не к одному языку, а к целой россыпи
Аноним 29/03/19 Птн 18:07:52 1372007329
>>1371930
Ну все, короче, через cefsharp я смог отправить запрос, дискорд выдает токен, пробую перейти на другую страницу, а он мне снова требует войти. Чтобы такого не было мне нужно куки как-то сохранять или он меня по другой причине может слать нахуй?
Аноним 29/03/19 Птн 19:14:52 1372028330
>>1371950
Значит больше уязвимостей:) От таких спецов, подуй на темную сторону:) ахахаах (Шутка)
Спасибо за общение и разъяснения, буду копать еще что нибудь, уверен найду, не может быть, чтобы Сишник был абсолюно не нужным;)
Аноним 29/03/19 Птн 19:34:51 1372035331
>>1372007
хэдэры проанализируй и вопросы отпадут сами собой

>>1372028
в эмбэддэд тебе что-ли не идется? программить контроллеры там, всю хуйню. оттуда можно в какой-нибудь верилог уехать, плисы конфигурячить (если есть желание)
Аноним 30/03/19 Суб 03:42:55 1372196332
>>1372035
Там куча всяких скриптов.
Ладно, буду входить сам, на крайняк вроде можно куки сохранить и при новом запуске не потребуется аутентификация.
А так все работает, получаю информацию через javascript запросы, обрабатываю и шлю ботом в свою конфу, схороняя видео и получая уведомления, когда один пользователь пишет. Полагаю, что надо ещё отрубить отображение в chart после входа, чтобы ресурсы не тратились на отрисовку
Сейчас оставил работать на всю ночь, если не упадёт, то буду максимально доволен.
Аноним 30/03/19 Суб 08:49:39 1372226333
>>1372196
это все с целью поиграться или есть практическая задача?
Аноним 30/03/19 Суб 09:02:30 1372231334
Сисярпач, неосилятор здесь. Думал многопоточка и асихнронщина это легко, но в итоге неистово соснул. Вообщем есть 3 потока (по-мимо основного), 1 из них кеширует данные для последующей обработки другими потокам. Вообщем мне нужно все это синхронизировать. Например посылаю я из основного потока команду стоп, нужно чтобы потоки в определенном порядке закончили свою работу, посылаю команду старт и они запускаются в нужном мне порядке. Как такое правильно реализовать? Чтобы избежать состояние гонки, обработки исключений, костылей с синхронизацией итд.
Аноним 30/03/19 Суб 09:10:00 1372236335
>>1372231
>потоки в определенном порядке закончили свою работу
>запускаются в нужном мне порядке
есть под этим подразумевается: убить и создать новый - то какого-нибудь ThreadRofloManager будет достаточно, который будет управлять состоянием потоков

если это все значит, что в методах самих трэдов нужно паузить и возобновлять работу, то ManualResetEvent (или Auto~) тебе в помощь

а вообще идея выглядит костыльно изначально:
>1 из них кеширует данные для последующей обработки другими потокам
Аноним 30/03/19 Суб 21:55:58 1372484336
>>1372236
Тоже думал про эвенты.
Почему костыль-то? Как правильно делать тогда?
Аноним 30/03/19 Суб 21:58:40 1372486337
>>1372484
ну сложно сказать, имея представление только о части реализации задачи
я так понял, ты одним трэдом в loop-е асинхронно собираешь задачи, а другие потоки каким-то хуем асинхронно в том же (своем) loop-е их по очереди обрабатывают, чи шо?
Аноним 31/03/19 Вск 01:04:38 1372544338
>>1372226
Практической задачи нет, я просто написал парсилку для дискорда.
С авторизацией таки соснул, нужно разбирать скрипты, а они огромные
Аноним 31/03/19 Вск 01:05:28 1372545339
>>1372544
Надо бы разобраться с тем, как работать с куки, может быть, если я их сохраню и отправлю post, то дискорд меня пустит.
Аноним 31/03/19 Вск 08:34:39 1372588340
15539781370600.png (21Кб, 1048x456)
1048x456
15539781370601.png (19Кб, 865x482)
865x482
15539781370602.png (26Кб, 884x501)
884x501
15539781370603.png (22Кб, 955x331)
955x331
Анон в каком месте я лажанал?
Эта падла прописало мне исключение прямо в лицо, хоть намекните в какую сторону воевать.
Аноним 31/03/19 Вск 08:40:43 1372590341
>>1372588
mapPic[x, y] у тебя точно в рамках границ обращается?
подсвечиваемая строка и реальное место исключение не всегда совпадают, зависит от всякого
Аноним 31/03/19 Вск 11:40:20 1372629342
Существуют ли какие-нибудь бесплатные средства для генерации отчетов в asp.net core?
Аноним 31/03/19 Вск 12:22:15 1372640343
>>1372590
Эта беда вылезла, когда попытался инициализировать
Init()

private void Init()

MainBoard board = new MainBoard (panelGame);

До этого все работало, но мне нужно было вевести пролинейное поле разбитое на квадраты.

Прошу прощение за синтаксис пишу с планшета..





Аноним 31/03/19 Вск 14:17:02 1372695344
Дорогие шарписты может кто помочь? У меня есть главный класс Controller который порождает различные виды NotificationBox (error, message, info). Сами NotificationBox являются Form.

Controller порождает NotificationBox, через передачу в его конструктор enum, нужный тип Box (error, message, info)

После передачи в конструктор Controller в нем есть switch, который смотри какой enum передали и вызывает нужный метод
CreateMessageBox, CreateErrorBox

Как мне можно сократить? Ведь если я захочу сделать еще пару типов NotificationBox, мне нужно будет увеличить на n раз свич, добавить в enum нужное n кол-во имен NotificationBox, а в Controller нужно будет добавить еще пару методов создания NotificationBox.
Аноним 31/03/19 Вск 14:24:36 1372702345
>>1372695
Я хочу сделать примерно так:

Каждый Form NotificationBox наследовать от INotification.

В самом INotification сделать abstract void метод Create.

В Controller создать глобальный экземпляр INotification. При вызове конструктора Controller switch апкастит нужный Form NotificationBox к глобальному INotification и в конце свитча я вызываю у INotification Create.
Аноним 31/03/19 Вск 14:32:09 1372704346
test
Аноним 31/03/19 Вск 14:49:44 1372717347
>>1372695
увеличения количества кода ты не избежишь, твой вопрос про место, где это кодэ будет прибывать
можешь посмотреть в сторону Visitor, если тебе понравится
Аноним 31/03/19 Вск 17:48:17 1372813348
>>1372588
Может ещё кто, чего подскажет? Параграф о массивах и исключениях в виде индексов выпадающих из массивов зачитал до дыр.
Аноним 31/03/19 Вск 18:15:52 1372836349
Антоны, в мск будет трудно устроиться Джуном без вышки? У меня только среднее специальное.
Аноним 31/03/19 Вск 18:24:45 1372839350
>>1372836
Если что, то конкретное направление - asp.net mvc
Аноним 31/03/19 Вск 20:53:28 1372883351
>>1372813
тебе бы посмотреть стек трейс исключения, а не искать помощи по скриншотам. или хотя бы показать его нам, если неосилятор
Аноним 31/03/19 Вск 21:03:43 1372886352
>>1372588
>Анон в каком месте я лажанал?
В панельгейм.контрольс.адд
Скорее всего у тебя там массив с 0 элементов или что типа того
Аноним 31/03/19 Вск 21:06:10 1372887353
>>1372886
так Add добавляет в конец ICollection. какая разница, сколько там было изначаьно элементов?
Аноним 31/03/19 Вск 21:12:13 1372889354
>>1372887
Вот и показывай что такое этот контролс и как он аддит
Аноним 31/03/19 Вск 21:17:44 1372894355
Аноним 31/03/19 Вск 22:19:33 1372924356
>>1372588
Раканыч, ты в цикле x вместо y используешь
Аноним 31/03/19 Вск 22:30:26 1372927357
Здравствуйте люди добрые, такой вопрос, если бы у вас был выбор, работать в C# за 40-50 в месяц или попытаться в веб макакинг на фрилансе, в надежде получать 70-100 (не знаю реальные ли это цифры, поправьте если что), что бы вы выбрали?
Аноним 31/03/19 Вск 22:33:03 1372928358
Ну или получать 40-50 в месяц и копить на переезд в ДС1, чтобы получать 120к?
Аноним 01/04/19 Пнд 07:27:41 1373041359
>>1370489
Бамп вопросу!
Если попытаться скачать файл с releases на github'e,
и сразу же приостановить загрузку,
а затем скопировать ссылку по которой скачивался файл - она же другая будет, более длинная, да ещё и с разными значениями!
Аноним 01/04/19 Пнд 07:47:57 1373046360
Аноним 01/04/19 Пнд 08:29:40 1373059361
>>1372927
>в надежде получать
Аноним 01/04/19 Пнд 14:28:06 1373190362
>>1372702
вот это грамотное решение, зачастую всё нужно подгонять к интерфейсам, удобнее, чем свитч
Аноним 02/04/19 Втр 13:19:38 1373700363
В шапке написано про The C# Player's Guide, второе издание (RB Whitaker), а что насчет 3 издания? Читать можно?
Аноним 02/04/19 Втр 14:17:55 1373752364
>>1373700
если ты впервые в .net, то можно читать все, что угодно
Аноним 02/04/19 Втр 15:56:19 1373808365
>>1373700
Хз, я шапку скопировал с треда двухлетней давности, я ничего вообще не читал. Если ты ньюфаг, то нихуя тебе не надо читать - пройди любой курс по программированию, желательно там где язык со статической типизацией лично я проходил явараш, потом вообще без проблем перешел на сярп. Демоверсии на 10 уроков хватит для основ, а потом читай metanit.com.
Аноним 02/04/19 Втр 22:28:21 1373999366
>>1373808
>лично я проходил явараш, потом вообще без проблем перешел на сярп
Двачаю. После явараша легко перешёл на шарп.
Аноним 02/04/19 Втр 22:35:49 1374002367
Поясните за дженерики. Нахуй они нужны, если любой обьект можно привести к objecr? Или это просто синтактический сахар над приведением object в другой, более сложный обьект?
Аноним 02/04/19 Втр 23:44:32 1374034368
Аноним 03/04/19 Срд 00:09:26 1374040369
>>1374034
Как я понял, единственные проблемы - ебучие значимые типы, которые так же наследуются от ссылочного object.
Если б не они, то было бы достаточно сделать синт. сахар, который бы в псевдо-дженерике сохранял изначальный тип, кастовал его к object и при возврате кастовал бы обратно, но без тайпчека.
Аноним 03/04/19 Срд 07:37:06 1374081370
Блеа, почему у меня нет доступа убить процесс который я же создал, даже в том же потоке?

[CODE]
using (Process ffmpeg = new Process()) {
ffmpeg.StartInfo.FileName = "ffmpeg.exe";
ffmpeg.StartInfo.Arguments = ...
ffmpeg.StartInfo.UseShellExecute = false;
ffmpeg.StartInfo.RedirectStandardError = true;
ffmpeg.StartInfo.CreateNoWindow = true;
ffmpeg.Start();

while (!ffmpeg.StandardError.EndOfStream) {
string line = ffmpeg.StandardError.ReadLine();
Debug.WriteLine(line);
if (условие)
ffmpeg.Kill(); // тут исключение что нет доступа, охуеть!
}
}
[/CODE]
Аноним 03/04/19 Срд 08:43:09 1374088371
>>1374081
Я конечно не эксперт, но может запусти от админа?
Аноним 03/04/19 Срд 09:12:16 1374091372
>>1374040
>кастовал его к object и при возврате кастовал бы обратно
ну вот в джяве такая параша придумана. и что из этого получилось?
Аноним 03/04/19 Срд 10:45:35 1374118373
>>1374091
А что они со значимыми типами делают?
Аноним 03/04/19 Срд 12:09:47 1374152374
Аноним 03/04/19 Срд 12:11:39 1374155375
>>1374152
причем, если я правильно понял, вся эта мичпуха разворачивается еще на этапе статической компиляции в кодосгенерированные типы, у которых под капотом T наружу - это Object, T внутри - это скащенный в нужный тип экземпляр
возможно, я не прав, но это не делает дженерики джявы неуебищными
Аноним 03/04/19 Срд 18:38:09 1374438376
Аноны, в visual studio 2017 и 2019 в проекте с тестами при попытке запуска теста выскакивает ошибка cs5001 program doesn't contain static 'Main' method и т.д. Советы из гугла поменять версию языка не помогли. Прошу помощи у местных специалистов.
Аноним 03/04/19 Срд 20:01:04 1374545377
Сисярпач, я тупой, помоги.
Есть: Dictionary<int, Dictionary<float, int>>();
Нужно отсортировать вложенный словарь по ключу ( найти минимальный float ) и вернуть соответственно 2 инта которые соответствую минимальному float.
Аноним 03/04/19 Срд 20:05:09 1374548378
>>1374545
С помощью лтнкью или алгоритмов?
Аноним 03/04/19 Срд 20:09:37 1374550379
>>1374548
С помощью встроенных средств C#.
Аноним 03/04/19 Срд 20:26:25 1374565380
>>1374438
тестовый проект это графическое приложение чтоль? сделать его Class Library
Аноним 03/04/19 Срд 20:27:37 1374566381
>>1374550
нихуя не проверял, но вроде так:

var dict = new Dictionary<int, Dictionary<float, int>>();

var minDict = dict.OrderBy(t => t.Value.Min(x => x.Key));

Console.WriteLine($"{minDict.First().Key}, {minDict.First().Value.First().Value}");
Аноним 03/04/19 Срд 20:52:40 1374590382
>>1374565
Всё, спасибо, оказалось, что в солюшене один из проектов был как консольный. А тестовый проект - проект типа Unit Test, библиотека
Аноним 04/04/19 Чтв 00:48:59 1374714383
Аноним 04/04/19 Чтв 11:44:49 1374866384
Анончик, привет помогите пж разобраться что где хранится. Сейчас читаю вот этот курс https://metanit.com/sharp/tutorial/3.3.php. Вроде понятно, а вроде нет. Например: как вы знаете типы данных можно условно разделить на ссылочные и значимые. Значимые типы хранятся в стеке, а ссылочные сохраняют в стэк ссылку на адрес в куче и там хранят своё значение. Вроде понятно, но тут появляется слово static...(тревожная музыка, скример) В статьях не нашёл информации о том меняется тип памяти для статических переменных ссылочных типов. И ещё вопрос, попробую нагуглить, но всё же - можно ли в VS при отладке отобразить в состояние стэка и кучи, желательно в разных окнах. Спасибо, анон
Аноним 04/04/19 Чтв 12:01:47 1374877385
>>1374866
>меняется тип памяти
ссылочные типы хранят свои value type значения вместе со всем хламом в куче, этот нюанс разве метанит не пишет? для статических классов правила такие же, как и для динамических

>при отладке отобразить в состояние стэка и кучи
если под стэком ты подразумеваешь стэк вызовов, то есть соответствующая вкладка в окнах. если тебя интересуют именно состояние памяти, то только профайлер памяти тебе в помощь (возможно, VS Enterprise дает какие-то ультимативные диагностические фичи, но я не уверен, что тебе покажут побайтово все состояние памяти. да и нахуй оно тебе)
Аноним 04/04/19 Чтв 12:31:38 1374895386
>>1374877
>ссылочные типы хранят свои value type значения вместе со всем хламом в куче, этот нюанс разве метанит не пишет? для статических классов правила такие же, как и для динамических

Я пропустил слово) Хотел просить "Меняется ли тип памяти?"
т.е. string ""; - ссылка
static string ""; - то же будет ссылкой или нет, раз переменная имеет общее значение для всех объектов класса...хотя это же объект, то получается что в любом случае он будет ссылкой. Как то сам на свой вопрос ответил. Всё равно спасибо)

>да и нахуй оно тебе
Я люблю в пошаговом режиме смотреть как меняются ноли и единицы в соответствии с логикой, которую я запиливаю в код...Буга-га)
Аноним 04/04/19 Чтв 13:09:45 1374909387
>>1374895
>раз переменная имеет общее значение для всех объектов класса
ты уверен, что правильно понял суть статики?
Аноним 04/04/19 Чтв 13:20:12 1374912388
IMG201904031445[...].jpg (36Кб, 604x458)
604x458
Сап, нужна помощь. Я ньюфажина, и нужно придумать лайт версию программы на сишарпе консольной, с использованием:
1. Наследования
2. Полиморфизма
3. Интерфейсов
4. Стандартных интерфейсов
5. Делегатов

Просто нужны идеи программ, чтобы я сделал, ибо я не знаю какие могут быть программы с использованием этих функций, но посложнее чем к примеру использования наследования класса как шаблон. Приходит в голову только математическая программа с двумя видами решения, но не знаю какую придумать.
Аноним 04/04/19 Чтв 13:23:11 1374914389
Аноним 04/04/19 Чтв 13:24:54 1374916390
>>1374914
Смешно, но нет, спасибо.
Аноним 04/04/19 Чтв 13:40:22 1374922391
>>1374912
Рпг игрульку, где ты выбираешь класс.
да, для сонсоли
Аноним 04/04/19 Чтв 13:44:43 1374923392
>>1374909
>ты уверен, что правильно понял суть статики?
Хороший вопрос) К статической переменной можно обращаться не создавая объект класса. Это я понял) Ещё я понял что значение статической переменной одно на все объекты класса.

Аноним 04/04/19 Чтв 13:45:17 1374924393
>>1374923
Переменные как пример
Аноним 04/04/19 Чтв 13:46:57 1374925394
>>1374922
А на остальное? Если можно
Аноним 04/04/19 Чтв 13:48:46 1374926395
>>1374924
Если говорить о классе, то хз - для статического класса, получается нет смысла создавать объекты
Аноним 04/04/19 Чтв 13:50:31 1374928396
Аноним 04/04/19 Чтв 15:29:11 1374959397
>>1374928
Да, для практики, чтобы попробовать сделать что-то по этим темам, ну и чтобы сдать работы в институт завтра.

Мне вот интересно, но я когда приношу, говорят что слабо, и что я могу сильнее программу принести, вот и хотел попросить идей подкинуть.
Аноним 04/04/19 Чтв 19:05:20 1375049398
>>1374923
>значение статической переменной одно на все объекты класса
на какие объекты, какого класса? инстанс статического класса нельзя создать, а статические члены - это члены типа, а не экземпляра
Аноним 04/04/19 Чтв 21:20:07 1375118399
help1.png (36Кб, 799x358)
799x358
help2.png (4Кб, 280x257)
280x257
LINQ БОГИ ТУТ?
тащемта в чем проблема?
хочу вытащить из studing_period значения больше 4, выдаёт такую хрень.
Где ошибся? Как понять в чем ошибка?
Аноним 04/04/19 Чтв 22:21:42 1375148400
image.png (1248Кб, 720x1280)
720x1280
Сколько стоит денег и времени написать С# сервер чтоб он принимал стрим данных с нескольких бирж (трейды, ордербуки), сохранял их в базу, а тем кто залогинен мог отдавать данные как с БД так и пришедшие со стрима. В общем суть затеи иметь возможность смотреть графики цен реалтайм/историю. Также нужен простой аккаунт менеджмент и чат. Какие могут быть подводные камни при найме?


Аноним 04/04/19 Чтв 22:59:41 1375161401
LINQ БОГИ ТУТ? (2)
Есть массив строк в котором записаны цифры. Как в условие where можно вставить int.Parse точнее как стучаться к элементам lines в данном контексте?
Надо только так.

public static int[] ParseNumbers(IEnumerable<string> lines)
{
return lines
.Where(???)

>>1375118
>в чем ошибка
>выдаёт такую хрень
Ты стучишся конкретно в перечисление и тебе возвращает тип при таком стучании очевидно. Ошибка в select n, тебе наверное нужно select n.studing_period.

Аноним 04/04/19 Чтв 23:04:56 1375162402
>>1375148
Тебе обязательно на .NET?
Аноним 05/04/19 Птн 00:14:28 1375186403
Аноним 05/04/19 Птн 01:46:09 1375222404
Объясните пожалуйста, почему usually you register for events in OnEnable and unregister in OnDisable?
как это вообще возможно, если OnEnable вызывается когда объект становится активным?

Вот код, если можно, объясните вообще что в нем происходит, или может у меня с английским проблемы?
void OnEnable()
{
DamagePlayerEvent.OnDamagePlayer += DecrementPlayerHealth(метод уменьшает хп);
}

void OnDisable()
{
DamagePlayerEvent.OnDamagePlayer -= DecrementPlayerHealth;
}
Аноним 05/04/19 Птн 01:47:45 1375225405
>>1375162
В случае с .NET смогу сам ковырнуть, ну а вообще-то похуй конечно. Для начала хочу понять сколько требуется деняк.
Аноним 05/04/19 Птн 02:02:54 1375229406
Нихуя, некоторое время не заходил, уже почти до второго переката успели доехать. Тред ожил?
Аноним 05/04/19 Птн 02:04:07 1375230407
>>1375229
А с мобильного инета - бан тор, впн. Что за хунта? Кто сломал?
Аноним 05/04/19 Птн 02:05:09 1375231408
>>1375225
Вот я бы допустим писал на Скале. По твоему описанию может потребоваться от недели до месяца времени. Вот и прикидывай исходя из рыночных зарплат + надбавка за разовую работу.
Но это только бэкенд. И это Скала.
Аноним 05/04/19 Птн 02:16:43 1375236409
Аноны, есть кто с дс2? Такое ощущение что на с# не нужны погромисты. Откликаюсь на вакансии, сделал пару тестовых, одно из них на asp.net, хотя его даже не начинал еще изучать, только мельком глянул доки. Работодатель начал морозиться по поводу з/п. Даже на самую ссаную стажировку отказ. Они там охуели?
Аноним 05/04/19 Птн 02:26:43 1375240410
>>1375231
Время не критично, главное результат, поскролил апворк, ничего не понял, расброс цен большой как и почасовая оплата. Все еще не имею представления сколько должен стоить в конечном итоге продукт.
Аноним 05/04/19 Птн 05:36:31 1375252411
Аноним 05/04/19 Птн 07:50:12 1375276412
>>1375148
если апи площадок имеется, но недолго
а цена зависит от деталей
ты пытаешься во фриланс и спрашиваешь, сколько тебе заломить, лол?
Аноним 05/04/19 Птн 07:51:10 1375277413
>>1375276
сука, опять трендель не обновился
Аноним 05/04/19 Птн 12:25:10 1375363414
Аноним 05/04/19 Птн 14:09:19 1375411415
>>1374922

Так вроде бы из соснолей только на Xbox есть шарпей и дотнет, или нет?
Аноним 05/04/19 Птн 15:22:22 1375441416
Как поменять в richtextboxe каретку на _ (нитжнее подчеркивание)?
Аноним 05/04/19 Птн 17:57:10 1375538417
LINQ БОГИ ТУТ?
Вообщем в кнопке есть код, в котором лежат 6 экземпляров классов, со всякой мутью в конструкторах.
Хочу в другой кнопке делать запросы из этих экземпляров классов, это можно как то реализовать, без ctrl+c ctrl+v в код другой кнопки?
Аноним 05/04/19 Птн 18:33:26 1375561418
>>1375538
сохрани эти экземпляры в виде полей формы и юзай их из другого хэндлера
Аноним 05/04/19 Птн 21:08:17 1375630419
LINQ БОГИ ТУТ? (2)
>найти самое длинное слово из этого списка, а из всех самых длинных — лексикографически первое слово в одно выражение кортежами и linq.
>Не используйте методы сортировки
Я написал пока что:
return words
.Max(n => Tuple.Create(n.Length,n));
И че дальше, с чем мне его сравнить если я работаю со строкой или как задать нормальное условие?

Аноним 05/04/19 Птн 21:09:09 1375631420
Алсо сам список это
IEnumerable<string> words
>>1375630
Аноним 05/04/19 Птн 22:02:45 1375663421
>Я не умею читать
Кто-то знает годные по Xamarin'у и в частности xaml'y гайд-видео/туториалы/курсы на русеке?
Аноним 05/04/19 Птн 22:43:29 1375695422
Что делает с массивом строк вот эта запись?
.GroupBy(word => word)?
Аноним 06/04/19 Суб 02:50:15 1375767423
Нужно срочно решить задание на C# с помощью LINQ, не пойму каким образом разбить жильцов на подъезды с этажами и как вообще правильно решить. Огромное спасибо заранее.

Исходная последовательность содержит сведения о задолжниках по оплате коммунальных услуг, живущих в 144-квартирном 9-этажном доме. Каждый элемент последовательности включает следующие поля: <Фамилия> <Номер квартиры> <Задолженность> Задолженность указывается в виде дробного числа (целая часть — рубли, дробная часть — копейки). В каждом подъезде на каждом этаже располагаются по 4 квартиры. Для каждого из 9 этажей дома вывести сведения о задолжниках, живущих на этом этаже: число задолжников, номер этажа, суммарная задолженность для жильцов этого этажа (выводится с двумя дробными знаками). Сведения о каждом этаже выводить на отдельной строке и упорядочивать по возрастанию числа задолжников, а для совпадающих чисел — по возрастанию этажа. Если на каком-либо этаже задолжники отсутствуют, то данные об этом этаже не выводить.
Аноним 06/04/19 Суб 06:15:33 1375791424
>>1375767
Это решается за пару минут и без всяких LINQ, а с LINQ выглядит как задача для школьников.
Аноним 06/04/19 Суб 07:12:23 1375798425
>>1372588
1. Всю дополнительную инициализацию формы лучше пихать в ивент хэндлер OnLoad. Конструктор может отработать несколько раз, а ивент OnLoad в подавляющем большинстве дергается лишь при непосредственной загрузке формы.
2. Имена классов - только в КэмэлКейсе.
3. Переведи енум на английский, дай значениям явные номера (0,1,2) и заведи аттрибут с дерганием его имени, куда ты и впишешь русское название. Затем напиши метод-расширение, которое дёргает указанное в аттрибуте имя енума.
Аноним 06/04/19 Суб 07:32:50 1375803426
>>1375695
Группирует их по ключу. В твоем случае ключами будет строка word, а значениями коллекция из строки word (сколько их там будет зависит от того сколько строк word в оригинальной коллекции). То есть ты получишь коллекцию уникальных строк и сколько раз эти строки встречаются в оригинальной коллекции.
{ жопа, пися, жопа, пися, жопа} -> { жопа => { жопа, жопа, жопа}, пися => { пися, пися } }

>>1375630
.groupby(n => n) - если слова повторяются (нужны только уникальные)
.groupby(n => n.lenght).max() - список всех самых длинных слов (одной наибольшей длины)
.min() - вернёт тебе первое слово по алфавиту (или чему оно там будет, т.к. сравнение через IComparable)

>>1375767
>Нужно срочно решить задание на C#
У тебя деньги есть?
Аноним 06/04/19 Суб 09:58:16 1375841427
>>1375803
> { жопа, пися, жопа, пися, жопа} -> { жопа => { жопа, жопа, жопа}, пися => { пися, пися } }
Спасибо, с этого надо было и начинать!
Аноним 06/04/19 Суб 10:59:11 1375862428
>>1366885 (OP)
Господа, разъяснит кто-нибудь, как все-таки проводить интеграционные тесты? не надо затестить слой Бизнес Логики. На примере возьмем 2 функции: добавление пользователя и просмотр списка пользователей.
Я делаю тест Add(), в нем формирую сущность юзера (корректную, валидацию запилил уже юнит-тестами) и передаю в существующий слой Data Access Layer (Сейчас это у меня фейк, построенный на коллекции).
Так вот, потом я должен вызвать метод GetAll() или GetById(), чтобы проверить наличие юзера в базе и проверить его идентичность с тем, которого добавил или еще что-то?
У меня сейчас в классе создание объектов логик идет через обращение к свойству Специального Класса, в котором оно реализовано как синглтон. Т.е. в разных тестах я по сути буду работать с одним и тем же классом и с одной и той же коллекцией в ДАЛ слое.
Тут и начинаются непонятки.
1) Часть тестов валилась пока не запилил метод Cleanup(), который после каждого теста удаляет из коллекции все элементы. Но при тесте другого класса логики 1 тест валится при клинапе, а другой наоборот без него.
2) Один ментор мне сказал, что обращение к статик свойству через класс, это норма. Другой ментор сказал, что я тогда начинаю от него зависеть и надо вообще нарямую в тестовом классе создавать объекты и БЛ, и ДАЛ.

Правильно ли я начал вообще, и как лучше? Или почитать дадите где-нибудь, а то все размыто описывают или на MVC примеры приводят. У меня пока обычная 3х-слойка.
Заранее благодарю.
Аноним 06/04/19 Суб 12:06:23 1375883429
>>1375561
если честно я не оч понял(
Аноним 06/04/19 Суб 12:16:23 1375890430
>>1375883
Я не он, но думаю

public class TvoyaKnopka {
public NuzhniyClass {get; set;} =
DrugayaKnopka.ExemplyarNuzhnogoClassa;
...
}

В полях/свойствах своей кнопке ссылаешься на поля, которые содержат нужные классы в другой кнопке, если они, конечно, не private.
Аноним 06/04/19 Суб 13:29:07 1375932431
image.png (18Кб, 493x245)
493x245
>>1375890
Я правильно тебя понял? А то у меня ничего не сработало(
Аноним 06/04/19 Суб 13:46:44 1375941432
>>1375932
Ясен пень, ты забыл имя к свойству припилить>>1375932
Сам-то видишь, что написал? Свойство в методе объявляешь, еще и имя забыл написать. И завязывай с линк синтаксисом, сейчас все методами расширения пишут. И почитай про стрингбилдер, чтобы хуйню со строками эту не делать.
Аноним 06/04/19 Суб 14:26:29 1375957433
>>1375862
интеграционный тест - это ты сначала делаешь POST в контроллер на добавление юзеров, а потом в GET его наблюдаешь. создавай хоть напрямую, хоть на кривую. если у тебя валятся юнит-тесты от каждого чиха, то ты что-то делаешь не так
Аноним 06/04/19 Суб 14:40:58 1375962434
>>1375957
Чувак, у меня обычная трехслойка. Никаких контроллеров и запросов у меня нет и в душе не ебу пока, что это.
Валились не юнит, а другие интеграционные. Оказалось, когда я их разом запускаю, добавление напрмер происходит в одну статик коллекцию в фейковом ДАЛе и юзеры не проходили проверку по уникальности.
Теперь думаю, создавать ли каждый раз нового юзера с другими параметрами, или после каждого теста, удалять всех, чтобы одного и того же можно было добавлять.
Аноним 06/04/19 Суб 15:21:57 1375981435
>>1375941
>И завязывай с линк синтаксисом, сейчас все методами расширения пишут.
Хорошо учту. А линкю потому что требование лабораторной
Аноним 06/04/19 Суб 16:42:56 1376021436
>>1375962
>трехслойка
обращаешься в ту часть приложения, что у тебя вывернута наружу. контроллер, сервис или хуй пойми что у тебя
Аноним 06/04/19 Суб 16:54:13 1376026437
>>1375803
>У тебя деньги есть?
Господи, какие же русские пидорасы.

>английский форум типо stackoverflow
- Ребята, вот такая проблема есть, помогите пожалуйста
- Да конечно fam, вот тебе решение, вот тебе совет, удачи в твоих начинаниях buddy:3

>русский форум
- Ребята, вот такая проблема есть, помогите пожалуйста
- ДЕНЬГИ ЕСТЬ А??? А ЕСЛИ НАЙДУ????? СОБАКА ТЫ КУДА ЛЕЗЕШЬ БЛЯДЬ ТУТ ВСЕ ЗАБИТО А НУ БЫСТРО БЛЯДЬ БРОСИЛ ВСЕМ ЭТИМ ЗАНИМАТЬСЯ ТЫ ЧЕ СУКА НА МОЮ РАБОТУ ПОЗЫРИЛСЯ МРАЗЬ Я ТЕБЯ БЛЯДЬ ЩАС ПРИКОНЧУ ГОВОРИ АДРЕС СЫН СОБАКИ
Аноним 06/04/19 Суб 16:57:48 1376030438
>>1376026
Проходил мимо, хотел помочь, но с таким отношением точно нет. Удачи.
Аноним 06/04/19 Суб 18:50:27 1376100439
image.png (34Кб, 429x423)
429x423
>>1375276
Нет, я начнающй трейдор, и пытаюсь понять сколько нужно готовить деняк. Сам ебашу фронтенд для своих нужд на юните енжине, но думаю а не сделать ли норм сервак. 1 биток я навреное не против заплатить, как только появится лишний, больше хз, не могу себе повзолить. В идеале найти человека которому трейдинг самому интересен, так как у меня есть еще и бесценные знания, мы можем надолго скопроперироваться. Я не пидор если что.
Аноним 06/04/19 Суб 19:31:54 1376122440
>>1376100
я половины слов не знаю, но выглядит как хуйня, кроме реалтаймных вещей (те тоже хуйня, но главное не попасть на дебила, который наворотит LINQ или схожей тяжелой залупы)
считай как немногим сложные проджект, чем более-менее сносная дипломная работа (мнение нулячего фрилансера)
Аноним 06/04/19 Суб 19:45:09 1376129441
>>1376122
Что не так с линком?
Аноним 06/04/19 Суб 20:28:36 1376162442
>>1376129
он медленный. особенно в виде цепочки линка и для большого количества данных. особенно, если есть альтернатива в виде грамотного запроса в базочку
Аноним 06/04/19 Суб 22:24:22 1376264443
>>1366885 (OP)
А какие вообще есть живые альтернативы asp.net core? Nancy кто-нибудь тыкал? Понятно, что asp.net - энтерпрайзный стандарт, но для маленьких любительских проектов хотелось бы что-то полегче. Подскажите что-нибудь пж.
07/04/19 Вск 01:02:51 1376373444
>>1376026
>Господи, какие же русские пидорасы.

Свiнота, возвращайся в свой /ukr/.
Аноним 07/04/19 Вск 02:40:59 1376422445
Есть советы по wrapping внешних библиотек, написанных на крестах?
Аноним 07/04/19 Вск 02:42:01 1376423446
Акромя ЛИНКАа, Шершавый проебывает Жабе.
Аноним 07/04/19 Вск 07:54:57 1376461447
>>1376264
что значит полегче?
ServiceStack дает возможность RESTful сервис построить на базе себя, но не сказать, что он прям какой-то легковесный
Аноним 07/04/19 Вск 09:40:48 1376511448
>>1376461
Полегче - именно что более легковесный и не перегруженный таким количеством нюансов. По аналогии с python: если asp.net это django, то что в дотнете bottle?
Аноним 07/04/19 Вск 10:57:44 1376557449
>>1376511
хз, не питонист
все нюансы работают неплохо по дефолту из-под коробки асп.нетом. напиши свою логику в контроллерах и заюзай кестрел (это тебе не иис, который и правда целый мир). самый легкий и эффективный старт веб-приложухи на коре
Аноним 07/04/19 Вск 15:01:19 1376714450
Аноним 07/04/19 Вск 15:13:26 1376721451
Есть некоторое количество свойств, какой вариант каноничен?
field1;
field2;
Property1;
Property2;

или

field1;
Property1;
field2;
Property2;
Аноним 07/04/19 Вск 17:33:22 1376792452
Антоны, как и чем применяются фильтры в Asp.Net MVC?
В чем принципиальная разница между ними и аттрибутами типа [HTTPPost]
Аноним 07/04/19 Вск 17:50:22 1376798453
Как там в формах пилить передвижение? Нужно передвиджение по нажатию на кнопку, чё за эту ересь отвечает?
Аноним 07/04/19 Вск 18:05:36 1376809454
Нужно исчезновение кнопок после наезда главной в координаты любой кнопки (по тупому, но написал). Аноны хелпуйте!
Аноним 07/04/19 Вск 19:14:18 1376836455
>>1376792
авторизация/аутентифиация, эррор-хэндлинг, логгирование
это по дефолту, как правило

>>1376721
филды
ивэнты
проперти
конструкторы
методы

приватные
протектед
интернал
публичные
Аноним 07/04/19 Вск 21:25:28 1376900456
Что думаете о F#?
Аноним 08/04/19 Пнд 01:45:27 1377030457
Здравствуйте, возникло несколько вопросов, помогите пожалуйста разобраться.
1. - Память для статических данных (классы, методы и т.д.) выделяется также как и для динамических (ссылка в стеке на ячейку в "куче")? Можно ли использовать статический класс без создания объекта? Когда и где выделяется для него память? Если мы используем метод из статического класса, то память выделяется для всего класса или только для метода?
2. - Чем статический класс отличается от структуры, кроме того что класс является ссылочным типом?
Аноним 08/04/19 Пнд 08:04:02 1377058458
>>1377030
у тебя каша в голове шо пиздец, попробуй троелсена еще накатить разок
Аноним 08/04/19 Пнд 12:16:50 1377124459
>>1377058
А не рискованно троелсена с метанитом смешивать?
Аноним 08/04/19 Пнд 12:20:09 1377126460
>>1377124
если после троелсена полезешь на метанит, то, конечно, рискованно
Аноним 08/04/19 Пнд 14:25:59 1377175461
Тут один умный товарищ проводит семинар https://m.habr.com/ru/company/clrium/blog/446510/ посвещённый памяти clr. Вопрос к понимающим, на сколько это будет полезно? Имею в виду, это для общего развития и понимания, или применимо ирл?

Сам вкатывающийся в asp.net ньюфаг.
Аноним 08/04/19 Пнд 14:31:46 1377177462
>>1377175
тонкости CLR - эти слишком сложна и нинужна для новичков. нинужна, в большинстве случаев в принципе, и для старичков. но, если будут рассказывать доступно и о насущных вещах, то послушай, хули тут?
Аноним 08/04/19 Пнд 14:40:03 1377182463
>>1377177
Вот я и думаю, хули тут? Но ведь я не профессионал, может это собрание для синьоров, а я припрусь и не пойму ничего?
Ну и меня волнует вопрос, это типа как на плюсах в нете можно памятью управлять? Или там о другом?
Аноним 08/04/19 Пнд 14:52:15 1377187464
>>1377182
ну управление памятью есть какое-никакое в дотнетах, но очень кастрированное, по сравнению с плюсами. есть сверхвырвиглазные способы, но они, наверное, чисто 4fun: https://habr.com/ru/post/423657/

да и в статье написано, о чем речь будет идти:
>Выделение памяти: все стадии этого интереснейшего процесса
>Все фазы работы GC (по 45-50-минутному докладу на фазу. Столько про GC не дадут говорить ни на одной конференции).
>Мы также поговорим про System.IO.Pipelines. Наталья Цвилих, моя коллега, расскажет про этот интерфейс много интересного.
>Я также затрону вопрос CLR MD. В прошлом CLRium я сделал отличную вводную. Теперь — поговорим подробно.
>И многое другое.
ни слова об управлении. а под многим другим, небось, какие-нибудь профилирования, диагностики и что-нибудь этакое поверхностно
Аноним 08/04/19 Пнд 15:31:17 1377197465
Вопрос от нуба - мне нужно использовать код, написанный на крестах - http://viennacl.sourceforge.net/ - в шарп-проекте.
Одно дело сделать DLL самому, другое дело, что я не шарю, как сделать DLL из чужого C++ кода, тем более, когда там большое количество зависимостей.
Аноним 09/04/19 Втр 04:30:47 1377511466
>>1376900
F# это мировое будущее, активнейше развивающийся передовой функциональный язык.
Мало того, что он мультипарадигмальный так ещё и императивный и объектно-ориентированный.
Вот лучший обзор этого всего: https://dungpa.github.io/fsharp-cheatsheet/
Аноним 09/04/19 Втр 04:34:47 1377512467
>>1377511
Алсо, как и все другие языки программирования - он позволяет ПРОГРАММИРОВАТЬ БЕЗОШИБОЧНОСТЬ, лол.
Аноним 09/04/19 Втр 06:56:04 1377526468
>>1377511
>передовой функциональный, императивный и объектно-ориентированный язык
охуеть высер
Аноним 09/04/19 Втр 10:31:01 1377585469
Аноним 09/04/19 Втр 11:05:19 1377597470
image.png (84Кб, 615x341)
615x341
LINQ БОГИ ТУТ?
Ласт вопрос по этому линку отвечаю.
Вообщем из массивов экземпляров класса, мне вот то что выделил красным, надо сделать из этого отдельный массив.
В ручную создать новый с такими же данными не проканает
Аноним 09/04/19 Втр 11:47:18 1377615471
>>1377597
.Select(n => n.3) - Селектор в котором ты указываешь куда там идут твои цифры
.ToArray() - Получаешь массив
Аноним 09/04/19 Втр 12:34:39 1377660472
Аноним 09/04/19 Втр 12:38:20 1377663473
>>1377660
Спасибо хуй не пососёт.
Аноним 09/04/19 Втр 13:26:55 1377700474
Подскажите, насколько важно знать алгоритмы - по типу жадных алгоритмов и переборов графа при приеме на работу?
Я сейчас немного фризы ловлю на них - вроде как суть понимаю, а когда до реализации доходит жидко пукнув обмякаю.
На галере в моем мухосранске на сайте в вопросах при приеме только по языку и по большей части ООП.
Аноним 09/04/19 Втр 14:37:49 1377745475
>>1377700
относительно важно
хотя бы понимать, зачем оно что-то делает и описать словами. если предложат реализовать, то тут сыглы
Аноним 09/04/19 Втр 16:15:26 1377800476
Аноним 09/04/19 Втр 17:27:01 1377825477
Да как блин текст в консоли выровнять?
Пишу допустим:
Console.WriteLine($"short:\t{1}\nlooooooooooooong:\t{2}");

И в итоге выходит нихуя не ровно, хотя \t везде есть.
Аноним 09/04/19 Втр 20:09:46 1377914478
>>1377745
Ну я вроде как понимаю что да нахуя.
> то тут сыглы
То тут что?
Аноним 09/04/19 Втр 20:11:00 1377915479
Аноним 09/04/19 Втр 21:53:46 1377967480
Xvx8trwcGh8.jpg (275Кб, 1118x1080)
1118x1080
Анон мне по секрету достался древний двиг восьмибитной игры, полностью написанный на C#, ну а так как я ни разу не кодер, а скорее гавноартист, то решил моддить игру, добавить пару механик и апнуть графику этого убожества, перерисовать спрайты, задники, так вот дошёл до того момента когда нужно было выводить спрайты на экран и обосрался, узнав, что на C# а в частности в вижуал студии, не отображаются прозрачные картинки. Может кто сталкивался с подобным?
Перекатиться на юнити или годот прошу не советовать.
Аноним 09/04/19 Втр 22:03:17 1377972481
>>1377967
>восьмибитная игра
>на сишарпе
>жалуется на то, что из среды для программирования не выходит просмотрщик картинок
Ты там совсем ебобо?
Аноним 09/04/19 Втр 22:16:07 1377978482
>>1376836
Я знаю какие фильтры существуют, но чем они вызываются?
Активатором действий, фабрикой контроллеров?
Аноним 09/04/19 Втр 22:36:53 1377986483
>>1377972
Ну да, совсем, так решение есть?
Аноним 09/04/19 Втр 23:06:49 1377997484
>>1377986
Открыть спрайт в просмотрщике спрайтов, а не в вижуал студии.
Аноним 09/04/19 Втр 23:18:29 1378004485
15548360481690.png (42Кб, 739x738)
739x738
Screenshot1.png (41Кб, 684x564)
684x564
>>1377997
Что? И как это мне поможет выводить прозрачные спрайты в моей прогге?

Некий анон посоветовал мне такой способ, но он ни разу не работает.
Аноним 09/04/19 Втр 23:22:59 1378005486
>>1378004
Ты сказал, что проблема в вижуал студии, но при этом, кидаешь код. Ты ебобо вдвойне?
Аноним 09/04/19 Втр 23:58:40 1378019487
654.png (7Кб, 889x147)
889x147
Аноним 10/04/19 Срд 00:32:44 1378037488
>>1378019
Я в 6 уложился:
1. студент - первая т =
2. судент - у =
3. сдент + о =
4. содент + л =
5. солдент - е =
6. солднт (н - > а) =
солдат
Аноним 10/04/19 Срд 00:34:52 1378039489
>>1378037
А я в три:
студент + мивина + гречка + промытые мозги = солдат.
Аноним 10/04/19 Срд 00:44:39 1378045490
>>1378037
Так ты не с конца потом начал идти, а так чтобы это было логично.
Аноним 10/04/19 Срд 00:45:33 1378047491
Аноним 10/04/19 Срд 03:01:20 1378105492
>>1378045
>>1378047
Загуглил "редакторское расстояние", в итоге нашёл это:
https://ru.wikipedia.org/wiki/Расстояние_Левенштейна
Цитата:
>Расстояние Левенштейна (редакционное расстояние, дистанция редактирования) —
>минимальное количество операций вставки одного символа,
>удаления одного символа и
>замены одного символа на другой,
>необходимых для превращения одной строки в другую.
То есть, заменять символы - можно, одной операцией.
Аноним 10/04/19 Срд 03:10:09 1378108493
>>1378105
С заменами вообще в 4 операции получилось, раз уж речь о минимальном количестве операций:
1. студент + (т - > о) =
2. coудент + (y - > л) =
3. солдент + (e - > a) =
4. солдант - н = солдат
Аноним 10/04/19 Срд 03:14:05 1378111494
>>1378047
Ай, не обратил внимание на условие на пике.
Тогда замену в этих примерах: >>1378037 >>1378108
рассмотри как две операции - удаление одного символа и добавление другого.
И получишь на выходе - эту свою 7-ку.
Аноним 10/04/19 Срд 03:30:10 1378116495
>>1378019
>Двач чому тут 7?
сТУдЕНт -> сОЛдАт - 7 букв, 7 шагов. 4 удалить, 3 добавить.


>>1377967
В редакторе ты прозрачность и не увидишь. В рантайме прозрачность только к паренту. Если хочешь чтобы твои боксы друг к другу были прозрачны, то отрисовывай их сам в .Paint (событии, а не редакторе) холста, например с помощью DrawImageUnscaled.
Аноним 10/04/19 Срд 08:06:18 1378161496
>>1378116
В редакторе ты прозрачность и не увидишь. В рантайме прозрачность только к паренту. Если хочешь чтобы твои боксы друг к другу были прозрачны, то отрисовывай их сам в .Paint (событии, а не редакторе) холста, например с помощью DrawImageUnscaled.

Хоспади хоть один адекватный анон. Спасибо, теперь буду знать в какую сторону воевать.
Аноним 10/04/19 Срд 13:46:39 1378250497
Привет шарписты, есть вопрос. Я ноунейм живу в мухосранске иркутская область. Изучаю шарп уже где-то год. Выучил основу, написал пару программ на wpf и winforms делал только на те темы, которые нравились и понимал. Перехожу на ASP.NET.
Паттерны MVC знаю, ибо работал с wpf и winforms, умею работать в Visual Studio.
Знаю как заливать и толкать проекты на гит, так же создавать и смержить ветку в мастер.
Знаю основы linq, получал запросы с бд.
Может скоро остановлюсь и начну js учить или entity framework, пока не решил.
Так вот, сам вопрос. Как мне прорваться в ближайшие большие города Красноярск, Новосибирск и найти работу? Хотел бы узнать как принимают на работу, как устроиться, что еще нужно подучить.
Спасибо
Аноним 10/04/19 Срд 15:00:39 1378295498
>>1378250
Всмысле как? Как и все, отрываешь жопу от дивана и ищешь работу. Пиздуешь по вакансиям и собеседованиям. Единственно советую подучить команды гита, ибо когда я в феврале проходил собеседования для меня стало сюрпризом что я могу форкать и комитить А HR ЭТОМУ УДИВЛЯЕТСЯ! Хотя базовые скилы казалось бы. Видимо на рашкорынке вообще остались только JS дебилы.
Аноним 10/04/19 Срд 15:03:19 1378297499
>>1378295
мы тоже умеем использовать гит
мимо джс дебил вкатывальщик
Аноним 10/04/19 Срд 15:04:51 1378299500
>>1378295
Понятно, что нужно стучать в каждую дверь и проситься. Я живу в мухосранске, у меня просто нет вакансий шарписта или .net, я хочу узнать как перебраться в другой город.
Аноним 10/04/19 Срд 15:06:06 1378300501
>>1378297
>мы тоже умеем использовать гит
Вопрос прямо с собеседования.
"Закомить в отдельную ветку корпоративного битбакета."
Аноним 10/04/19 Срд 15:07:14 1378301502
>>1378299
Чел, я как-то смог найти в своём 50к мухосранске вакансию.
Аноним 10/04/19 Срд 15:07:40 1378302503
Аноним 10/04/19 Срд 15:10:02 1378303504
>>1378301
я серьезно говорю. У нас тут лес, электрика и все. Софт или сайты никто не делает, максимум их заказывают из братской компании.
Аноним 10/04/19 Срд 15:11:23 1378306505
>>1378302
Ну вот видишь как мы быстро с тобой разобрались. А в энтэрпрайзе вот так вот, потому-что сейчас везде ДЖИРА и КАНБАН с АГИЛА, а битбакет в эту ебанину встроен.
Аноним 10/04/19 Срд 15:13:13 1378309506
Аноним 14/04/19 Вск 03:47:32 1380597507
test
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов