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


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

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
534 29 119

C#/Сисярп/.NET Тред - Шапка эдишн #4 /csharp/ Банан 26/02/19 Втр 19:54:01 13558721
image.png (162Кб, 460x460)
460x460
image.png (83Кб, 2048x1024)
2048x1024
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем 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/E8THe9Z1

Прошлый тред тонет здесь: https://2ch.hk/pr/res/1335434.html
Банан 26/02/19 Втр 19:55:33 13558742
Варнинг, ничего из этого списка не читал и мб литература устаревшая.
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
Аноним 26/02/19 Втр 19:59:01 13558773
Бля, эта
>Да, он совершенно прав. Даже микрософт постепенно переходит с шарпа на тайпскрипт. К сожалению, самые крутые языки никому не нужны.
хуета должна быть под спойлером. Но зачем то правду скрывать?
Аноним 26/02/19 Втр 20:25:37 13558904
>>1355865
>надо лезть туды, ибо для ебаного айти я слишком тупой
Плотют мала
Аноним 26/02/19 Втр 20:37:58 13558965
>>1355872 (OP)
>Даже микрософт постепенно переходит с шарпа на тайпскрипт.
Чаво блять? Как тайпскрипт может заменить C#? Они вообще в разных лигах играют.
Аноним 26/02/19 Втр 20:57:40 13559076
>>1355896
nodejs же
тогда у шарпа останется единственная ниша - ынтырпрайз
Аноним 26/02/19 Втр 21:17:08 13559147
>>1355907
>nodejs же
Node.js может конкурировать с .NET, но не с C#. Смешали все в кучу.

>>1355907
>тогда у шарпа останется единственная ниша - ынтырпрайз
Ты скозал? Ну все, теперь все послушают твое авторитетное мнение, бросят писать на C#, и он помрет. Ты же конечно знаешь лучше всех, и не можешь ошибаться.
Аноним 26/02/19 Втр 21:28:30 13559238
image.png (3Кб, 279x59)
279x59
image.png (12Кб, 402x63)
402x63
посоны, что это за хуйня? Сисярп говорит, что 20 не равно 20.
Аноним 26/02/19 Втр 21:45:27 13559349
>>1355907
Опять ты, заебал уже, в вебе по скорости ноду ебет врот даже джанго какой-нибудь. От того, что 2.5 имбецила хотят писать бэк на том же языке, на котором они пишут свой кривой фронт, нихуя не поменяется, т.к. это нахуй никому не упало и в любом случае придется искать бэкендеров
Аноним 26/02/19 Втр 21:45:54 135593510
>>1355923
Так может одно это инт, второе стринг. Или децимал. Ты их типы вытащи и покажи что там
Аноним 26/02/19 Втр 21:52:34 135594011
>>1355907
>тогда у шарпа останется единственная ниша - ынтырпрайз
Если NodeJS откусит рынок ASP NET, то тырпрайза не останется.
>>1355914
>.NET, но не с C#.
Кроме ASP NET ничего больше нету.
Десктопы и так мертвы,
>>1355934
>в вебе по скорости ноду ебет врот даже джанго какой-нибудь
а юнити это просто юнити.
Когда же уже манячки поймут, что в 2019 году это не главное. А дальше будет еще хуже.
Аноним 26/02/19 Втр 21:56:38 135594412
>>1355934
>в вебе по скорости ноду ебет врот даже джанго какой-нибудь.
А вот это пиздеж.
Аноним 26/02/19 Втр 21:59:31 135594613
>>1355940
>Десктопы и так мертвы
Чо, охуел? WPF вполне себе живет.
Аноним 26/02/19 Втр 22:07:27 135595014
Сап, мужичье, заебался я тут писать софт для микроволновак, и собираюсь перекатиться в ваш ламповый До-диез
Что интересует - я с 10 лет пишу на сишке, и работаю на ней уже лет 10, будет ли это приемуществом при вкатывании?
И второе я никогда не пользовался идешками кроме терминала, нужно ли перекатываться на винду, или есть на мак/линукс какие крутые опции?
Аноним 26/02/19 Втр 22:09:08 135595115
Аноним 26/02/19 Втр 22:32:22 135596316
>>1355923
Он говорит, что утверждение "20 не равно 20" ложное.
Аноним 26/02/19 Втр 23:05:54 135598617
бампану, что бы не потерять
Аноним 27/02/19 Срд 00:02:08 135602118
>>1355935
Вроде те же самые типы. Но я решил проблему тем, что сравнил хэши, а не сами обьекты.
>>1355963
Выражение возвращает фолс, если два обьекта не равны. И оно почему-то возврвщает фолс при сравнивании 20 и 20.
Аноним 27/02/19 Срд 00:03:47 135602419
>>1355950
Шапку читать умеешь? Есть относительно швабодный вскод и проприетарный райдер. Ну и кривые плагины под вим/емакс.
Аноним 27/02/19 Срд 00:42:45 135604620
>>1356021
> Выражение возвращает фолс
Это если бы ты туда поставил оператор ==. А сейчас у тебя выражение «правда ли что двадцать не равно двадцати?»
Аноним 27/02/19 Срд 00:45:54 135604821
>>1356046
А, в глаза ебусь, у тебя там if. Так это, у вас в шарпе сравниваются объекты или ссылки на них? Потому что если это ссылки - вполне понятно почему у тебя if срабатывает.
Аноним 27/02/19 Срд 00:46:47 135604922
image.png (49Кб, 601x312)
601x312
15469452635580.jpg (105Кб, 786x960)
786x960
>20159
Аноним 27/02/19 Срд 00:55:02 135605223
>>1356049
вангую какой нибудь XNA, там часто полигры нахуярено в одном классе на 50к строк
Аноним 27/02/19 Срд 01:12:10 135606124
Аноним 27/02/19 Срд 01:12:31 135606225
>>1356061
Точнее модели для цмски.
Аноним 27/02/19 Срд 01:48:31 135607926
>>1356049
>Ряяяяяяяяяяяяяяяяяяяяя
Аноним 27/02/19 Срд 05:54:33 135609527
>>1356048
>Так это, у вас в шарпе сравниваются объекты или ссылки на них?
Ссылочные типы данных по ссылке сравниваются, значимые, по значению. Классы, интерфейсы, делегаты - ссылка. Флоат, инт, хуинт - по значению.
Аноним 27/02/19 Срд 08:30:58 135611128
>>1356095
То есть если я создам два обьекта с полностью одинаковыми параметрами, то они не будут равны?

Алсо, если все наследуется от object, то как int, который значимый тип, может быть наследником ссылочного object?
Аноним 27/02/19 Срд 09:54:46 135613529
>>1356111
Мамкин вкатывальщик, почитай про упаковку и распаковку. И про то, как считается на самом деле хэш. Дам подсказку - объект там вообще никак не участвует.
Аноним 27/02/19 Срд 10:07:26 135613830
>>1356111
Как создашь? Через new? Конечно нет, будет два разных экземпляра, на которые будут две разные ссылки
Аноним 27/02/19 Срд 10:08:09 135614031
>>1356111
Int будет в стеке, а object в куче
Аноним 27/02/19 Срд 11:10:10 135615532
>>1356135
Я уже понял, что он считается по ссылке. Хотя, почему это >>1355923 с хэшем работает, а без него нет, я ебу.

Можно ли как-то получить хэш не от ссылки, а от того, что по этой ссылке находится?
Аноним 27/02/19 Срд 12:57:22 135619133
Аноним 27/02/19 Срд 20:23:35 135639134
Антоны, я правильно понимаю, что с методами BeginInvoke и EndInvoke процесс все равно блокируется?
Я пишу чат на сокетах, мне надо сделать так, чтобы клиент мог отправлять сообщения и принимать их от сервера, но без блокировки.
Можете подсказать, в каком направлении думать?
Аноним 27/02/19 Срд 20:53:41 135641135
>>1356391
А, все удалось, написал с помощью бегинов.
Но это вроде как старая тема, есть где-нибудь пример, как сделать все с использованием SocketAsyncEventArgs
Аноним 27/02/19 Срд 21:40:01 135644136
>>1356391
Какой процесс у тебя блокируется? Сервак слушает порт, приходит от клиента сообщение, читает, асинхронно обрабатывает, слушает дальше. Клиент слушает свой порт, при необходимости, отправляет сообщение на сервак, дальше слушает
Аноним 27/02/19 Срд 22:19:58 135646237
Сисярпы, так как все таки передать объект класса по ссылке, в unsafe коде? ref CLASS obj - работает, а CLASS* obj - нет. Почему?
Аноним 27/02/19 Срд 23:01:29 135648138
Сисярпач, нужен ультимативный гайд по кодинг-стайлу в C#. Где читать, что курить? Хочу чтобы код выглядил красиво и аккуратно. Не зря же я из плюсов сюда вкатываюсь, заебался от кракозябр.
Аноним 27/02/19 Срд 23:54:24 135650239
Анонче, помоги.

Что курить, чтобы понять смысл .NET
Я уже заебался искать, что входит туда (кроме Шарпа), в каком порядке лучше ознакомиться с технологиями.
Я в конец запутался.
Хочу понять не только в теории основы .net, ну и хотя бы на практике чутка.

По вакансиям много где нужен .net, но вот что конкретно учить/читать/практиковать - я в душе не ебу.

Направь меня на путь истинный, анон, уже не раз выручал.

Спасибо!
Аноним 28/02/19 Чтв 01:27:49 135652140
tcpsocketclient.png (4Кб, 239x269)
239x269
>>1356441
>Какой процесс у тебя блокируется?
Я оговорился, у меня блокировалась кнопка, я прямо на нее и вешал ожидание ответа от сервера.
>Сервак слушает порт, приходит от клиента сообщение, читает, асинхронно обрабатывает, слушает дальше.
У меня реализация сервера изначально была синхронной, она просто крутилась в отдельном потоке.
>Клиент слушает свой порт, при необходимости, отправляет сообщение на сервак, дальше слушает
А конкретнее? У меня все так работало, пока до асинхронности руки не дошли
Аноним 28/02/19 Чтв 07:25:27 135655341
>>1356502
Троелсен С# 7.0 .Net 4.7
Рихтер CLR via C#
на первые 0.5 - 2 года хватит
Аноним 28/02/19 Чтв 08:41:25 135655842
>>1356391
Для асинхронности у тебя чтение и запись в сокет должны быть в разных потоках. Если у тебя в разных и все равно что-то блочится то у тебя какие-то обычные дедлоки между потоками.
Аноним 28/02/19 Чтв 10:00:32 135657243
>>1356521
>у меня блокировалась кнопка, я прямо на нее и вешал ожидание ответа от сервера.
Чо? Зачем на нее вешать ожидание? Вынеси ты это ожидание в отдельный метод асинхронный и ожидание делай await. А так конечно, у тебя будет блокироваться, по сути у тебя программа стопится и ожидает, пока сервак ответит или таймаут закончится. Представь, что у тебя там не ожидание ответа, а метод Sleep(10000), стоит. На десять секунд твоя программа будет просто на паузе.
Аноним 28/02/19 Чтв 16:15:51 135667644
image.png (32Кб, 460x582)
460x582
image.png (9Кб, 373x115)
373x115
Анчоусы, не обоссывайте ньюфага. Я уже всю голову сломал в попытках сделать это говно рабочим как надо.
Есть один простой считатель урона по типу "хп - урон от врага". Ебашу это говно через while - уходит в бесконечный цикл с одной итерацией. НО если я делаю всё то же самое, но только использую вместо "хп - урон" вот этот вот "хп--", то всё нормально считает до самого нуля. В чём может быть проблема? Кроме того, что я тупой дегенерат.
Вот скрины моей параши. Там где желтым помечено - там должны быть вон те 4 переменные выше, которые имеют такие же значения, что и в параметрах метода.
Аноним 28/02/19 Чтв 16:58:36 135669145
>>1356676
поясняю: когда у тебя стоит хп-- у тебя нормально выполняется проверка health == 0. Потому что декремент -- отнимает по единичке. А если «хп = хп-урон» у тебя хп сваливается ниже нуля потому что здоровье не кратно наносимому урону. Замени проверку равенству нулю на проверку «меньше либо равно нулю» и все заработает.
Аноним 28/02/19 Чтв 19:04:36 135675446
cover1w600.jpg (67Кб, 600x872)
600x872
Аноны, стоит ли читать то, что на пикриле? Отзывы в этих ваших интернетах говорят о том, что среднячок, но почитать хочется.
Аноним 28/02/19 Чтв 19:10:27 135675947
S90228-18095024.jpg (21Кб, 709x165)
709x165
>>1356754
>от циклов до массивов
Аноним 28/02/19 Чтв 21:10:12 135688848
>>1356754
Васильев А. Н., залогинься
Аноним 28/02/19 Чтв 22:50:05 135694549
Что можно интересного на ASP.NET пописать? Не зря я ж его выучил.
Аноним 28/02/19 Чтв 22:58:18 135695250
>>1356945
Любой контент для интернета
Аноним 28/02/19 Чтв 22:59:37 135695351
Аноним 28/02/19 Чтв 23:01:33 135695652
>>1356952
Например?
Я уже сделал простой проект, выводящий инфу из базы.
Сделал учебный пример интернет магазина.
Что еще можно сделать?
Аноним 28/02/19 Чтв 23:09:16 135696653
>>1356956
Бочку. Напиши интерпретатор какого-нибудь скриптового языка.
Аноним 01/03/19 Птн 01:04:14 135700854
>>1356676
Много лишнего кода. Поменяй цикл на while(damageCalculated > 0), убери If, убери булевую переменную.
Аноним 01/03/19 Птн 11:42:10 135711955
321321.PNG (24Кб, 825x270)
825x270
Кто нибудь работал с библиотекой Interop для Word. Почему метод Documents.Open()ничего не делает а просто возвращает null ?
Аноним 01/03/19 Птн 14:09:32 135718056
>>1356481
Бамп реквесту, тонны нефти.
Аноним 01/03/19 Птн 15:13:01 135720157
>>1357119
>русек
Вот это рофел.
Аноним 01/03/19 Птн 16:14:05 135723158
>>1357201
>Вот это рофел.
>русек
Съеби на англоязычную борду, дебил
Аноним 01/03/19 Птн 22:37:38 135746059
>>1355872 (OP)
Есть метод
public HttpResponse method(HttpRequest request)
Он возвращает
return new HttpResponse(StatusCode.Ok, responce);
когда существует responce.
Иначе же, он возвращает пустой ответ:
return new HttpResponse(StatusCode.Ok, "");

Вопрос. Как не возвращать ответ, пока не появится responce, оставляя запрос - без ответа до тех пор.
Аноним 01/03/19 Птн 22:38:38 135746160
Стоит ли смотреть это?

https://mva.microsoft.com/ru/training-courses/язык-программирования-c-часть-1--8669?l=MAuqZiG1_4404984382

https://mva.microsoft.com/ru/training-courses/язык-программирования-c-часть-2--8877?l=ATbUZg02_6104984382

Ну либо где можно что-то подобное и годное найти, плюсом будет если дается какой-либо сертификат (хз дает ли какие-то профиты в резюме)
Аноним 02/03/19 Суб 00:38:47 135748861
>>1357461
>Стоит ли смотреть это?
для старта не плохо, но не стоит ограничиваться только курсами. Читайте книги, пишите код.

>хз дает ли какие-то профиты в резюме
нихуя не дает. Заведите аккаунт на гитхабе и выкладывайте туда свой код.
Аноним 02/03/19 Суб 02:59:49 135753462
>>1355872 (OP)
Для больших файлов изредка - срабатывает catch, в конструкции:
try
{
    File.Delete(filename);
}
catch(Exception e)
{
    Console.WriteLine("Файл используется другим процессом");
}

Как правильно удалить файл по таймауту?
Или же как убедиться в том, что файл не используется другим процессом, а потом удалить?
Или же, если всё ещё используется, то как узнать каким именно процессом он продолжает использоваться?
Аноним 02/03/19 Суб 07:02:30 135756963
Напомните, аноны, при создании переменной классового типа при помощи оператора "ass", передается ссылка или создается новый независимый объект?
Аноним 02/03/19 Суб 07:07:28 135757164
>>1357569
>передается
>ссылка
>На
>новый независимый объект
>ass
Аноним 02/03/19 Суб 07:37:37 135758065
>>1357571
Хуйня, уже проверил, адреса переменных одни и те же.
Аноним 02/03/19 Суб 11:48:14 135764766
try
catch
finally
Нахуя это финали нужно? Типо выполнится все равно, хоть тру, хоть катч, но по сути кто и для чего его использует?
Аноним 02/03/19 Суб 11:57:26 135765067
>>1357231
Какой же ты даун, лол.
Аноним 02/03/19 Суб 12:00:47 135765468
>>1357460
async Task<HttpResponse> method(HttpRequest request), внутри крутишь цикл, пока не получишь ответ.
Аноним 02/03/19 Суб 14:34:49 135772469
>>1357647
Самый банальный пример это блокировки, когда ты вначале try ставишь блок и затем тебе надо в конце в любом из случаев будь то катч или нормальное выполнение снять блокировку.
Или открыл ты файл на чтение и тебе надо обязательно его закрыть.
Аноним 02/03/19 Суб 16:20:41 135776970
>>1355872 (OP)
ОйтиБояри нид хелп
Вообщем есть формочка на ней аш 2 хридвью. Собственно как при двойном клике на перем хридью эта СТРОКА вставала в 2 хридвью?
Аноним 02/03/19 Суб 17:41:20 135781671
Есть кто плотно работал с хибером? Отзовитесь плиз @juscko есть пара вопросов
Аноним 02/03/19 Суб 18:14:05 135783372
Хочу прикрутит гуи своему консольному хеллоувроду ~5к строчек кода, но не знаю даже с чего начать. Что делать-то? Где можно по-быстрому прототип накидать?
Аноним 02/03/19 Суб 18:22:02 135783573
Посоветуйте годных либ для автообновления софта под .NET Core.
Аноним 02/03/19 Суб 19:24:51 135787074
Аноним 02/03/19 Суб 19:27:08 135787175
СИШАРПЫЧИ ПОМОГИТЕ
ООП
вот есть у меня 3-х уровневая иерархия классов, родительский класс абстрактный, реализовываю я значит в дочернем классе формулу, потом формулу из дочернего в дочерний дочернего, когда вывожу формулу, выводиться только формула, которую реализовал в дочернем дочернем.
Надеюсь понятно объяснил.
Вообщем чьто делать?
Аноним 02/03/19 Суб 19:33:27 135787376
>>1357870
Отбой вопросу, это я туплю жёстко уже.
Аноним 02/03/19 Суб 20:50:47 135790677
image.png (18Кб, 615x259)
615x259
image.png (7Кб, 481x83)
481x83
Вопрос по винформочкам от ньюфага: какого хуя у меня не меняется текст лейбла? Я делаю простой метод: по нажатию кнопки - текст лейбла меняется на заданный пользователем из текст бокса. Вроде всё делаю как надо, а у меня ничего не меняется при нажатии на кнопку. Пытался гуглить - у всех всё нормально, а у меня через жопу. Я даун, да?
Пикрелейтед - сам блок метода и как я его вызываю. Где я обосрался, анон?
Аноним 02/03/19 Суб 22:14:28 135796178
>>1357647
В файнал, как правило, помещается логика по освобождению неуправляемых ресурсов. В нем должно быть минимум кода. Зачем это надо, когда есть кэтч? Причины есть. Finally выполниться и в случае если try отработал нормально без захода в cath и в случае исключения. Может быть несколько caсth'ей - finally выполнится в любом случае. В tyr или catch'e может быть выполнен возврат из метода (return) - finally выполнится. в кетче может быть логика по логированию или другая логика, которая сама может привести к исключению - finally выполнится. Захочется пробросить исключение дальше - пожалуйста, finally выполнится.
Аноним 02/03/19 Суб 22:23:35 135797079
>>1357906
Из твоих скринов ничего не понятно. Что это за переменные хуй проссышь, зато ясно одно: твой код - говно. Гоняешь форму по методам (если frm это форма), какие-то данные в классе программ, бррр. На правах ванги можно предположить: 1)Обработчик не подключен к кнопке. 2) Какого-то хрена ты сначала рефрешешь, а потом меняешь текст, почему?
Нахуя тебе цикл, если в итоге будет присвоено значение седьмого элемента? Почему не сделать это сразу?
И в конце концов, б-г дал тебе отладчик - пользуйся.
Аноним 02/03/19 Суб 22:49:57 135798880
Как дебажить в VS программу с несколькими потоками? Жутко все лагает, 5 фпс в VS.
Аноним 03/03/19 Вск 00:57:42 135804281
>>1357988
меняй свой калькулятор на нормальный компьютер
Аноним 03/03/19 Вск 01:15:52 135804382
>>1358042
Но у меня рузен 2700. Одновременно по 2 виртуалки поднимаю, но с ебучим визуал студио не могу справится. Уверен что проблема в софте. Лагает когда работают несколько потоков параллельно.
Аноним 03/03/19 Вск 06:26:55 135809183
>>1358043
Жертва маркетинга, привет. Рязань это не процессор для работы.
Аноним 03/03/19 Вск 09:55:36 135813184
>>1357961
Нихуя не ясно объяснил
Аноним 03/03/19 Вск 09:56:22 135813285
>>1358043
>Но у меня рузен 2700
>рузен
Купил интел, нищенка
Аноним 03/03/19 Вск 09:56:49 135813386
Аноним 03/03/19 Вск 12:05:38 135820987
У меня есть сущность, у которой 6 первичных ключей, причем есть как string, так и int ключи. Как лучше организовать все это дело? Может добавить собственный ключ у этой сущности уникальный и, например, такие запросы как GetByID делать по нему? А то как-то стремно все это выглядит и не очень удобно.
Аноним 03/03/19 Вск 13:07:24 135827988
>>1356502

Bart De Smet C# 5.0 Unleashed - очень эдвенсд книга
Рихтер и Скит сосут по сравнению с ней

Аноним 03/03/19 Вск 15:48:22 135838089
>>1358131
Это потому что ты тупой ))))
Аноним 03/03/19 Вск 16:50:28 135848590
>>1358091
>>1358132
Хуя школьники тролят. Посмотрю я как вы будете на своих кекогерцах но без ядер нормально работать.
Аноним 03/03/19 Вск 17:26:13 135849891
>>1357534
Посмотрел везде, где он используется, оказалось, что Bitmap лочит файл до .Dispose().
Пока создаётся Bitmap, файл нельзя удалить.
Поэтому, сделал так: файл - в ByteArray, байты эти - в MemoryStream, а потом уже - Bitmap из него.
Аноним 03/03/19 Вск 19:30:13 135857092
>>1358485
Но у меня 8 ядер в процике.
Аноним 03/03/19 Вск 22:25:42 135868393
Как сделать так, чтобы определенный метод вызывался в точное время каждый день?
В гугле только каждую секунду советуют таймер перезапускать и чекать совпадает ли DateTime с тем, что нужно.
Неужели нет более адекватного способа?
Аноним 03/03/19 Вск 22:44:43 135870494
>>1358683
Планировщик Заданий же, специально для таких довнов как ты придумали
Аноним 03/03/19 Вск 23:52:24 135873995
>>1358704
Мне нужно, чтобы это на сервере было
Аноним 04/03/19 Пнд 00:21:08 135875296
>>1358739
А на сервере что, не бывает планировщиков? Иди читай как cron пользоваться.
Аноним 04/03/19 Пнд 10:12:16 135885097
Антоны, мне нужно из представления передать данные в контроллер.
У меня страница, которая выводит данные, нужно, чтобы при нажатии на кнопку данные выводились в эксель.
Как можно передать модели напрямую в метод?
Аноним 04/03/19 Пнд 12:50:17 135893398
>>1358850
>Как можно передать модели напрямую в метод?
public void MyMethod(model myModel)
Аноним 04/03/19 Пнд 14:17:11 135897599
Почему, блядь, хеловорлд занимает семь метров памяти? Чо за хуйня?

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello world");
Console.ReadKey();
}
}
}
Аноним 04/03/19 Пнд 19:19:23 1359131100
Аноним 04/03/19 Пнд 21:14:05 1359216101
Аноним 04/03/19 Пнд 21:29:32 1359222102
>>1358933
Я забыл указать, что оно в asp.net mvc
Из вьюхи нужно в метод действия передать
Аноним 04/03/19 Пнд 22:33:41 1359253103
>>1359222
>Из вьюхи нужно в метод действия передать
Ну делаешь гет запрос, чо как маленький то?
Аноним 04/03/19 Пнд 22:37:43 1359258104
>>1359253
Каким образом?
У меня есть страница, на ней таблица и ниже под ней лейбл и еще ниже кнопка "Печать".
Вот при нажатии этой самой кнопки у меня и должен скачиваться файл, что я генерю отдельным методом, я не понимаю, как мне из вьюхи передать.
Аноним 04/03/19 Пнд 23:07:44 1359275105
Двач, для чего может быть понадобиться такой прием? В книге указано, что так можно, но не написано для чего.

if (obj is var _)
{
// Какое-то действие
}
Аноним 04/03/19 Пнд 23:10:36 1359277106
>>1359258
>Вот при нажатии этой самой кнопки у меня и должен скачиваться файл, что я генерю отдельным методом, я не понимаю, как мне из вьюхи передать.
Тут тебе ajax юзать надо
Аноним 04/03/19 Пнд 23:11:37 1359279107
>>1359277
Зачем? В Asp.Net MVC есть FileResult
Аноним 05/03/19 Втр 00:36:53 1359338108
>>1359275
Можно, но бессмысленно так как код недостижим.
Аноним 05/03/19 Втр 00:51:37 1359347109
>>1359338
А в книге наоборот написано, что туда все будет попадать
Аноним 05/03/19 Втр 10:43:52 1359428110
>>1359279
Короче, вынес все в отдельный статический класс и в статический метод передаю модель.
Это совсем криво или допустимо?
Аноним 05/03/19 Втр 15:38:26 1359588111
привет. я уже второй год работаю fullstack разрабом. ASP.NET + Angular.

у меня есть ощущение, что мое развитие остановилось. Я довольно плохо знаю базу C#, хотя неплохо разбираюсь в ASP.NET. уменю писать хороший и понятный код, знаю немного паттернов, но не часто их применияю. Алгоритмы вообще не знаю, не знаю этих сортировок наизусть и тп... плохо понимаю многопоточность, хотя работаю с ней. слышал и работал с DI и с ASP.NET Core.

мне кажется, что я топчусь на месте. очень хочу расти и развиваться. Кто-нибудь оказывался в моей ситуации? может мне нужно что-то почитать или задачки какие-то решать?
Аноним 05/03/19 Втр 18:08:06 1359669112
Аноним 05/03/19 Втр 19:04:47 1359708113

>>1355907
Он под калбуком яві, тонні рабочих решений и проектов зачем нужен шершавій? Оракл или майкрософ как вендор один йух. Сам с# язік хорош особенно говнокодить в универе или писать веб простой, нет же как платформа кал поній.
Аноним 05/03/19 Втр 19:24:44 1359717114
>>1359258
Я со всем разобрался, нужно выводить таблицу прямо в форме с помощью цикла for, перед каждым DisplayFor поставить HiddenFor и передать это Post запросом на метод действия, где передать эту коллекцию в другой метод, что сгенерит файл, а его уже вывести пользователя.
Вот теперь оно не нарушает принципы MVC
Аноним 05/03/19 Втр 19:25:36 1359718115
>>1359717
>пользователя
пользователю.
Нет, мне серьезно нужно перечитывать о привязывании модели.
Аноним 05/03/19 Втр 20:24:15 1359775116
>>1355872 (OP)
Шилдт Герберт » C# 4.0: полное руководство почему не работают примеры программы приведённые в книге?
Аноним 05/03/19 Втр 20:50:25 1359786117
>>1359775
>почему не работают примеры программы приведённые в книге?
Например?
У меня, помню, в с++ за 21 день хеловорд не работал, опечатка была, это было забавно
Аноним 05/03/19 Втр 21:01:52 1359791118
>>1359786
*/

using System;

class Example3 {

static void Main() {

int ivar; // объявить целочисленную переменную double dvar; // объявить переменную с плавающей точкой

ivar = 100; // присвоить переменной ivar значение 100

dvar = 100.0; // присвоить переменной dvar значение 100.0

Console.WriteLine("Исходное значение ivar: " + ivar);

Console.WriteLine("Исходное значение dvar: " + dvar);

Console.WriteLine(); // вывести пустую строку

// Разделить значения обеих переменных на 3. ivar = ivar / 3;

dvar = dvar / 3.0; -

Console.WriteLine("Значение ivar после деления: " + ivar);

Console.WriteLine("Значение dvar после деления: " + dvar);

}

}
Аноним 05/03/19 Втр 21:18:39 1359806119
>>1359669
В чем толстота? Типичная ситуация, когда на проекте сначала быстро развиваешься, потом основные фичи запилены и ты можешь потом сидеть еще полгода шлифовать, добавлять мелкую хуйню, либо пилить однотипные апи на аспе. У меня примерно так же сейчас, но, надеюсь, скоро перекинут на другой проект.

>>1359588
Меняй место работы

Аноним 05/03/19 Втр 21:50:22 1359824120
>>1359791
ссылается на ошибку в dvar.
Аноним 05/03/19 Втр 21:52:10 1359825121
Аноним 05/03/19 Втр 22:10:58 1359833122
>>1359824
>ссылается на ошибку в dvar.
Потому что она в комментарии у тебя
Аноним 06/03/19 Срд 05:31:35 1359944123
>>1359833
Это копипаст с книги, они чего там наёбыват ньюфагов?
так как правильно выглядит код?
Аноним 06/03/19 Срд 11:06:42 1360012124
>>1359944
int ivar; // объявить целочисленную переменную
double dvar; // объявить переменную с плавающей точкой
Перенести на следующую строку, так как все что после двойного слеша в строке - это комментарий
Аноним 06/03/19 Срд 11:31:01 1360026125
Аноним 06/03/19 Срд 15:06:52 1360141126
>>1360012
Ну я и дебил. Спасибо за помощь.
Аноним 06/03/19 Срд 15:57:16 1360166127
15392061551940.jpg (47Кб, 633x640)
633x640
>>1355872 (OP)
Сап, сишарпаны. Нужно написать прогу мониторищую сервер\другой комп. Суть в том что я совсем не знаю как подойти к делу и единственное решение что приходит в голову это ебашить все через cmd запросыбэкап,мониторинг задач и тд. Поэтому хотелось бы спросить совета в какую сторону стоит идти и что использовать. С меня как обычнонихуя
Аноним 06/03/19 Срд 16:48:36 1360188128
>>1360166
Делаешь клиент-сервер, на сокетах. А вообще такого в интернете полно.
Аноним 06/03/19 Срд 20:55:29 1360348129
image.png (47Кб, 626x640)
626x640
Иерархия пикрил. У процесса куча модулей, у модуля куча интерфейсов, у интерфейсов куча таблиц. Как мне сделать так, чтобы не таскать за собой ебучий объект класса Process? Во всех остальных классах мне нужен функционал memory operation.
Аноним 06/03/19 Срд 20:57:10 1360349130
>>1360348
У каждого модуля 1 интерфейс.

быстрофикс
Аноним 06/03/19 Срд 21:29:26 1360368131
Шарпаны, как заставить себя учить яваскрипт?
Я все пытаюсь, но у меня что-то совсем нет желания заниматься им, сколько вообще книг Кантора мне надо прочитать, чтобы можно было на собеседование идти?
Раньше думал, что Рихтер - тягомотина несусветная, а теперь он кажется очень понятным и простым
Аноним 06/03/19 Срд 21:52:20 1360381132
>>1360348
Сделай статичный хелпер класс с классом Process.
Аноним 06/03/19 Срд 21:59:07 1360383133
заебал .net, особенно, попытка засахарения итак засахаренного компилятора в новых версиях, а также вот это до сих пор пограничное состояние .net core
хотел укатиться в другой язык, но пока не довкатился, надо поддерживать уровень на этой платформе. а мотивации, сука, никакой

просто знайте это
Аноним 06/03/19 Срд 22:17:52 1360391134
Здесь наверняка есть люди, которые хорошо изучили С#. Расскажите, как конкретно вы его изучали?
Аноним 06/03/19 Срд 22:20:02 1360392135
>>1360391
читаешь книги - пишешь код. другого способа не придумали
ну и работать на проектах с реальными требованиями >>>>> чем обмазаться уберрихтерами и пилить свой васяноconsoleapp
Аноним 06/03/19 Срд 22:21:50 1360393136
>>1360383
>пограничное состояние .net core
В каком месте оно пограничное?
2.1 - LTS.
Уже полгода пишем проект на коре - полет нормальный
>>1360383
>хотел укатиться в другой язык, но пока не довкатился
Кек
>>1360383
>знайте
Единственный минус который сейчас есть на дотнете - полное отсутствие вакансий на чистый бэкэнд. Раньше было тоже самое, сейчас с этим еще хуже, все больше приходится пердолить фронт.
Рынку нужны фуллстаки, на дотнете тем более. В жабе с этим как-то попроще.
Аноним 06/03/19 Срд 22:23:16 1360395137
>>1360392
У меня просто уже был опыт в программировании, как-то основы изучаю, дальше не понимаю что делать. Но я по каким-то видео учил на ютубе. Сейчас попробую тогда книги в шапке прочесть
Аноним 06/03/19 Срд 22:29:25 1360398138
>>1360393
>В каком месте
ну это, вроде как, флагман всея платформы. а до сих пор некоторые не самые васянские фреймворки не спешат суппортить кор. подозреваю, есть веские причины
конечно, проекты на коре есть, но они, почему-то до сих пор, достаточно редки. я работаю не в самой последней конторе, но актуальных кор-проектов ровно ноль. хотя все вголос заявляли, что отныне классический дотнет станет нерелевантным. та даже вынусуть голову за пределы работы - вакансий с кором не так уж и много. да и то, непонятно, только ли там кор, либо есть одна консольная утилита по приколу написаная на новой технологии, вот ее и опишем. аутсорс, офк, не без легаси

>>1360395
возьми задачу попроще и запили её. читать ты заебешься, и ничего не запомнишь к тому же
Аноним 06/03/19 Срд 23:09:55 1360458139
>>1360398
>не самые васянские фреймворки не спешат суппортить кор
Чего именно тебе не хватает? Нюгет завален солюшенами.
>>1360398
>достаточно редки
Я не знаю что у вас там редкое.
Наша часть сеньеров обожглась от 1.0 из-за чего писали на MVC5. С релизом 2.0 все стало на свои места и все довольны.
>>1360398
>хотя все вголос заявляли, что отныне классический дотнет станет нерелевантным
Так и есть. Он сейчас только под десктопы и легаси.
>>1360398
>вакансий с кором не так уж и много
Для зеленых на дотнете (если это не саппорт старых проектов) всегда было мало вакансий на фоне той же жабы, жс и пайтона.

В целом, зеленым действительно делать здесь нечего. Язык и платформа вымирают и по итогу получится паскаль 2.0
Аноним 07/03/19 Чтв 03:31:47 1360514140
>>1360381
Это точно правильное решение?
Аноним 07/03/19 Чтв 08:36:54 1360539141
>>1360458
>Чего именно тебе не хватает?
я навскидку только вспомню MassTransit с ажуровской шиной сообщений. там, причем, не в самом MT сложности, а с зависимостью. еще было похожее решение из мира message driven, но уже сложно вспомнить.

>>Он сейчас только под десктопы и легаси.
"только" это слишком громкое заявление

>>всегда было мало вакансий на фоне той же жабы, жс и пайтона
причем здесь фон каких-то васянских языков? относительно фреймворка работы с кором пока что еще очень мало
Аноним 07/03/19 Чтв 09:13:40 1360549142
я пишу шарпике. выбираю себе ноутбук. Очень нравятся макбуки, но я пишу на шарпике. Что делать?

так же интересно, если ли шарписты, которые пользуются линуксом?
Аноним 07/03/19 Чтв 09:22:31 1360554143
>>1360549
давно жив mono
с недавних пор родили .net core
мои экс-коллеги, непонятно зачем, покупали маки и ставили на них винды шобы на дотнете писать
Аноним 07/03/19 Чтв 16:42:14 1360689144
>>1360554
> я мои экс-коллеги, непонятно зачем, покупали маки и ставили на них винды шобы на дотнете писать

мне тоже нравятся маки, но такой херней я стардать не хочу. интересно, как аноны шарписты кодят на маках? удобно ли?
Аноним 07/03/19 Чтв 16:58:02 1360695145
>>1360689
Я с месяц назад поставил Xamarin на свой мак, написал приложульку под iOS. В принципе норм работает. Вижуал Студио коммьюнити чутка багованная правда, после ухода компа в спящий режим отваливается автодополнение кода.
Аноним 07/03/19 Чтв 20:55:10 1360762146
>>1360393
> Единственный минус который сейчас есть на дотнете - полное отсутствие вакансий на чистый бэкэнд. Раньше было тоже самое, сейчас с этим еще хуже, все больше приходится пердолить фронт.
> Рынку нужны фуллстаки, на дотнете тем более. В жабе с этим как-то попроще.
Да нет, все норм с этим, в США много вакансий. А если в рашке начал учить C# чтобы бэк писать - то сам себе злой буратино. У нас шарпы даже с фулстаком не нужно особо.

Хочешь бэк - учишь жаву. Хочешь фулстек/на фрилансе работать - учишь пхп и яваскрипт. Хочешь пилить игры - учишь шарп и скачиваешь юнити. Глупо учить шарп и ныть, что он у нас не нужен бэк писать.
Аноним 07/03/19 Чтв 21:07:00 1360768147
>>1360762
так куда эти самые пиндосы аутсорсят свои шарпы с бэкэндом?
Аноним 07/03/19 Чтв 22:58:44 1360797148
>>1360348
Исходя из того, что неизвестно, что у тебя там происходит можно посоветовать только класс глобальной видимости (одиночка/моносостояни/статический клас), можно прикрутить локатор или что-то подобное. Но что бы грамотно разрулить ситуацию нужно понимать что как и почему так, возможно у тебя вся архитектура говно.
Аноним 08/03/19 Птн 00:06:48 1360809149
>>1355872 (OP)
Как воможно сделать нечто наподобие:
new WebProxy(socks5 proxy);
Чтобы качать файлы через TOR?
Аноним 08/03/19 Птн 00:39:49 1360822150
>>1360797
Я показал что происходит. Все остальное вычисления внутри классов не так важны. Программа выполняет обход процесса. Сначала извлекает из него все модули, далее парсит эти модули, находит экспортируемые функции для каждого модуля, создает для них интерфейс и делает обход виртуальных таблиц. Тоже думал на счет синглтона, но не уверен. Поэтому спросил тут. Статический класс не хочу делать, их вообще кто-нибудь использует?
Аноним 08/03/19 Птн 07:04:34 1360848151
>>1355872 (OP)
Аноны, я принёс вам метод Питера Гутмана для гарантированного удаления файлов:
Тут исходник: https://github.com/username1565/Gutmann
Бинарник - тут: https://github.com/username1565/Gutmann/releases

Исходник - простой, как угол дома. Но у меня есть вопросы.
Если вы посмотрите туда, там сделано так:
>//затирание Методом Гутмана, затем
>confirm_text = "Delete this file?";
>if(PromptConfirmation(confirm_text)){ //by default
>try{
>    File.Delete(fileInf.FullName); //Try remove the file
//код...
При этом файл затирается в 35 проходов.

Если же сделать так:
>bool delete = true;
>if(delete==true){//
>try{
>    File.Delete(fileInf.FullName); //Try remove the file
>//код...
то пишет, что файл затёрся, и файл даже удаляется, затем,
но по смещению на диске, где находился удалённый файл - видно полный его исходник в WinHEX'e.
Почему так?
Аноним 08/03/19 Птн 07:09:52 1360850152
>>1360848
Батеньки, да это же первая имплементация сего алгоритма на сиярп - на всея гитхабе, лол.
Аноним 08/03/19 Птн 07:16:44 1360851153
>>1360848
Удаляй файл через NtDeleteFile.
Аноним 08/03/19 Птн 07:55:46 1360854154
>>1360851
А как это правильно сделать?
Аноним 08/03/19 Птн 09:38:41 1360872155
>>1360822
>кто-нибудь использует
наслушался говна, что только индусы юзают статик?
для всего есть свое применение. экстеншены, хелперы, общая логика - это прям первое, для чего нужны статические методы/классы
Аноним 08/03/19 Птн 12:13:23 1360912156
Есть у кого ключ на 19 поделитесь плез, у меня лицензия истекла
Аноним 08/03/19 Птн 13:20:47 1360941157
Поясните про try-catch-finally. Читал в книжках, но не всё понял.
Значит "обработка исключения" - это то что мы указываем в разделе catch. Вот если я хочу, чтобы в случае неправильного ввода числа, пользователю было предложено ввести заново, то что я должен написать в раздел catch? После обработки происходит возврат в try на строку после возникшей ошибки? То есть для моей задачи нужно сделать цикл while пока не введут верно?
Аноним 08/03/19 Птн 14:00:15 1360961158
>>1360941
Не надо использовать исключения для обработки пользовательского ввода. Пользователь туп и может ввести любую хрень - это обычное явление и ты должен это нормально обрабатывать. Вот если неверные данные прошли в бизнес логику тогда да - исключение. В твоём случае надо использовать TryParse, если надо перевести строку в число, и метод Check/Validate который покажет допустимо ли значение.
Аноним 08/03/19 Птн 14:02:35 1360962159
>>1360912
Чего тебе в коммунити не хватает?
Аноним 08/03/19 Птн 14:04:03 1360964160
>>1360961
То есть try-catch для проверки деления на 0 и прочих подобных ошибок. Правильно?
Аноним 08/03/19 Птн 14:09:18 1360965161
Аноним 08/03/19 Птн 15:11:20 1360980162
>>1360964
>То есть try-catch для проверки деления на 0 и прочих подобных ошибок
Он для того, чтобы ты сам мог бросить исключение и обработать его. финалли никто не знает для чего нужен, кстати
Аноним 08/03/19 Птн 15:37:30 1360998163
Аноним 08/03/19 Птн 15:57:04 1361015164
>>1360998
>))
Расскажи, где ты его хоть раз использовал, псина?
Аноним 08/03/19 Птн 17:50:01 1361071165
>>1361015
там, где мне нужно выполнить какую-то операцию, не смотря на результат основной логики. а ты, долбоеб, сам не понял еще?
Аноним 08/03/19 Птн 18:11:16 1361081166
>>1361071
>там, где мне нужно выполнить какую-то операцию, не смотря на результат основной логики
Это все хуета из книжек, практический пример будет или ты слит, унижен и обоссан
Аноним 08/03/19 Птн 18:13:48 1361082167
>>1361081
хуя мамкины синьоры итт без фантазии

открываешь коннекшн с базой данных, в try выполняешь запрос, в finally дропаешь соединение
Аноним 08/03/19 Птн 18:14:34 1361083168
>>1360872
Так что делать-то блять! Класс процесс не может быть статическим. Вдруг я еще один экземпляр захочу сделать? Думал, может наследоваться от него, но тогда с инкапсуляцией проблемы.
Аноним 08/03/19 Птн 18:27:52 1361093169
>>1361083
>с инкапсуляцией проблемы
какие проблемы? ты не хочешь, чтобы код, использующий Interface/Module/etc. знал о процессе-паренте?
навскидку, заебашь себе абстрактный класс типа ProcessOwnableItemBase, у которого наружу вынесен метод, в себе дергающий this.Process.MemoryOperationGovno()
Аноним 08/03/19 Птн 19:19:44 1361125170
>>1361093
module/inteface/etc нужна часть функционала process (memory operations на скрине), но не весь остальной функционал.
Аноним 08/03/19 Птн 20:53:28 1361152171
Аноним 08/03/19 Птн 21:43:59 1361162172
Стикер (0Кб, 512x512)
512x512
>>1361152
Ну можно. А тебе зачем?
Аноним 08/03/19 Птн 22:21:08 1361177173
сап, аноны. подскажите плиз, как в GroupJoin выбрать только пустые группы?
Аноним 08/03/19 Птн 23:52:39 1361207174
>>1360912
Там тупо тыкаешь продлить и она до середины лета у меня продлилась

Аноним 09/03/19 Суб 07:23:58 1361282175
>>1355872 (OP)
Хочу намутить себе, на C#, прогульку для RSA енкрипта-декрипта больших файлов.
Без AES и прочих симметричных шифров.
Подскажите какой BigInteger наиболее годный для этих целей?
Аноним 09/03/19 Суб 07:24:54 1361283176
>>1361162
Чтоб качать файлы через TOR, очевидно же.
Аноним 09/03/19 Суб 09:14:27 1361304177
>>1361125
я хз, попробуй вынести функционал Process в типы, где он действительно нужен. а Process принимай параметром, если нужны какие-то его данные
тут вряд ли есть проблемы с инкапсуляцией. ты не сможешь изолировать метод от метода, если первый используется только одним потребителем, второй - только другим, без костылей или безосновательного переусложнения простых вещей (в твоем случае все относительно несложно)
Аноним 09/03/19 Суб 09:37:53 1361312178
Изучаю паттерн MVVM, кто-нибудь может мне объяснить, нахуя создавать отдельный класс ViewModel, если по дефолту у каждой View есть свой code behind?
Аноним 09/03/19 Суб 11:12:52 1361333179
>>1361282
Еле нашёл на github'e RSA для файлов, но таки нашёл, подправил исходник и заебенил с этого - рабочий код: https://github.com/bokdong2/rsaVault
Бинарники - тут: https://github.com/username1565/rsaVault/releases
Плюс 32-битный exe-шник.
Аноны, хуле оно так медленно декриптит?
20 мегебайт видос "Pet Shop Boys - 'Twenty-something' (Official Video).mp4"
Минут 15 декриптило, проц от этого - жутко свестел и пердел...
Я понимаю, что (m^e mod N) быстрее вычисляется, чем (c^d mod N), но не думал, что декрипт НАСТОЛЬКО медленнее енкрипта.
Может туда какие-нибудь методы Карацубы напихать?
Нашёл вот такой, недопиленный cs, без Main: https://github.com/carchok/RSA/blob/master/RSA.cs
там есть методы для работы с RSA - в частности метод быстрого возведения в степень по модулю: modPow
Может внатуре заюзать нечто, вроде методов BigInteger?
Аноним 09/03/19 Суб 11:25:42 1361338180
>>1361333
RSA для подписи, а не для шифрования.
Аноним 09/03/19 Суб 11:28:48 1361339181
Если ты RSA шифруешь файлы, то ты не осилишь Карацубу, довн.
Аноним 09/03/19 Суб 11:39:37 1361343182
Аноним 09/03/19 Суб 11:41:27 1361345183
Аноним 09/03/19 Суб 12:16:39 1361356184
>>1361343
>JS
Переписывай под fpga на верилоге.
Аноним 09/03/19 Суб 14:22:49 1361396185
765f274052055.jpg (131Кб, 1024x687)
1024x687
Объясните, пожалуйста, на пальцах, что такое yield return?
Аноним 09/03/19 Суб 14:49:27 1361403186
Аноним 09/03/19 Суб 15:34:16 1361410187
>>1361312
этот code behind не должен сожержать бизнес-логику, а только вызов васянских сервисов и конвертацию доменной модели в модель вьюшную. идеал mvvm wpf-шного -- это отсуствие кода в ~Window
Аноним 09/03/19 Суб 15:41:30 1361416188
>>1361396
yield заставляет компилятор написать итератор за тебя.
Аноним 09/03/19 Суб 15:59:26 1361429189
>>1361312
Чтоб отвязать представление от логики. В итоге получается лучшая поддерживаемость кода, можно писать юнит-тесты для вьюмоделей и вся работа по обновлению данных переходит фреймворку и его системе биндингов.
Аноним 09/03/19 Суб 19:02:06 1361518190
>>1361410
>этот code behind не должен сожержать бизнес-логику,
И так не пишите ее в code behind и все.
Аноним 09/03/19 Суб 19:34:07 1361530191
Антоны, как мне нормально реализовать удаление?
Проблема в том, что я могу удалить из одной таблицы, но тогда другая таблица будет ссылаться на то значение, которого не существует.
Например, есть таблица "Команды" и таблицы "Игроки", связаны они отношением многие ко многим. Когда я удаляю игрока, то промежуточная таблица будет ссылаться на несуществующего игрока, следовательно я не смогу вывести его в своем приложении.
Надеюсь, что вы все поняли, как это реализуется в нормальных приложениях?
У меня есть мысль добавить в таблицы столбцы, что будут содержать значения 1 и 0 и при удалении в таблице будет просто устанавливаться значение 0 и пользователь не будет видеть его больше
Я
Аноним 09/03/19 Суб 19:46:32 1361539192
>>1361518
поздравляю. ты только что presentation-шаблоны

>>1361530
ты
удаляешь зависимые значения @ удаляешь нужное тебе значение
если 0/1 относится к Игрокам и Командам в одинаковой степени, то как вариант. но не думаю, что есть смысл хранить мусор в твоем случае
но я так понимаю, у тебя нет физической связи между таблицами? такое имеет смысл в продакшн проектах при необходимости, но это, скорее, не самая лучшая практика в общем случае
Аноним 09/03/19 Суб 19:48:11 1361540193
>>1361539
> но не думаю, что есть смысл хранить мусор в твоем случае
Мне в проге нужно будет выводить отчеты, проводить аналитику и статистику
Аноним 09/03/19 Суб 19:52:40 1361546194
>>1361540
значит, неправильно думаю. это называется Soft deletion, заводишь поле в таблице IsDeleted и основная логика работает с теми значениями, у которых IsDeleted = 0
Аноним 09/03/19 Суб 20:01:46 1361555195
>>1361546
А какие еще подходы существуют?
Аноним 09/03/19 Суб 21:23:18 1361624196
>>1361555
ну, например, есть основная(ые) таблица(ы), где происходит операции бизнес-логики. на триггерах (или другим любым удобным механизмом) весь CRUD рефлектится на денормализованную таблицу отчетов
особых приседаний в основной логике это не требует, но при изменении отчетов неиспользованные исторические данные ты уже никак не заюзаешь

еще я только у одного долбоеба видел реализацию дублировать данные в таблицах с префиксом Archive. соотстно в коде приходится вставлять и изменять данные в двух таблицах синхронно, удалять только из основной. репорты, как не трудно догадаться, берутся из архивов. челик считался сеньором в конторе. видимо, за особые заслуги перед родиной
Аноним 09/03/19 Суб 21:30:57 1361627197
>>1361282
Сейчас бы RSA файлы шифровать. Совсем ебнулись уже?
Аноним 09/03/19 Суб 21:52:56 1361642198
Почему в сисярпе так мало инструментов для системного программирования под шиндувс? Почему я должен даже банальные обертки над винапи делать сам? Пиздец же.
Аноним 09/03/19 Суб 22:18:06 1361650199
image.png (6Кб, 380x77)
380x77
image.png (8Кб, 300x102)
300x102
есть ли разница между этими записями?
Аноним 09/03/19 Суб 22:53:43 1361671200
>>1361650
Есть. Во 2 случае лист копируется в переменную и потом еще раз во время цикла.
Аноним 09/03/19 Суб 22:56:03 1361672201
>>1361642
Потому что это не язык системного программирования.
>>1361650
Нет. Возможно в релизе компилятор даже уберет лишнюю переменную, посмотри декомпилятором.
Аноним 09/03/19 Суб 22:57:41 1361673202
>>1361671
Чего блять? Всё что делает форич это получает енумератор и вызывает на нем MoveNext до посинения. Какое копирование?
Аноним 09/03/19 Суб 23:01:13 1361676203
Поцаны, у меня есть впф окно с попапом. Сейчас, чтобы закрыть окно если открыт попап надо щелкать два раза, один где-нибудь, чтобы закрыть попап, второй раз по крестику, чтобы закрыть окно. Можно сделать, чтобы закрывалось сразу, типа чтоб попап не учитывался?
Аноним 09/03/19 Суб 23:43:09 1361698204
>>1361672
Сишарп вообще нужен где-нибудь помимо тырпрайза?
Аноним 09/03/19 Суб 23:51:17 1361704205
Смотрю вакансии. Так как пора бы уже на галеру.ДС-2
ОПЫТ РАБОТЫ 3 ГОДА, ЗП 50 ТЫЩ
ОПЫТ РАБОТЫ 5 ЛЕТ, ЗП 100 ТЫЩ

Ахуели совсем блять? Я у бабы сраки в рестике посуду мыл больше получал. Пиздец какой-то нет?
Аноним 10/03/19 Вск 00:11:18 1361733206
>>1361356
Чё уж сразу не на Q# - под оптические FPGA, квантовые компьютеры и спинорные GPU-акселлераторы.
Аноним 10/03/19 Вск 00:56:27 1361756207
>>1361704
ты че долбоеб? я полгода назад пошел на аспнеткор 70к, чисто ебанул в качестве тестового рестуху из фримана почти, только с моделями, которые попросили, сейчас уже думаю просить повышения, т.к. я охуел и считаю, что 70к мало.
Аноним 10/03/19 Вск 01:05:30 1361762208
>>1361756
Я то почему долбаеб? В Дс-2? Почему мне тогда такие бомже-вакансии показывают?
Аноним 10/03/19 Вск 02:46:34 1361788209
Антоны, у меня какой-то пиздец, значения ни в какую не хотят вставляться в базу.
Сперва был косяк с тем, что заместо русских символов вставлялись знаки вопроса, потом у меня отказалась работать вставка даты, запрос правильный.
Причём он сперва работал, а потом отказался работать, послав меня нахуй, я уже практически все перепробовал
Аноним 10/03/19 Вск 03:17:34 1361790210
>>1361788
Откуда ж нам знать-то?
Закинь свой код в github или rextester хотя-бы.
Аноним 10/03/19 Вск 10:07:54 1361823211
>>1361788
>>1361790
Таки я разобрался, ошибка была не в дате, а в том, что у сишарпа и у sql немного разные decimal.
Аноним 10/03/19 Вск 11:02:30 1361843212
>>1361762
Ищи нормальные места
Мимоджун за 75
Аноним 10/03/19 Вск 11:37:08 1361854213
Аноним 10/03/19 Вск 11:39:03 1361855214
>>1361854
Это где такое?
Чет очень легко.
Аноним 10/03/19 Вск 11:39:50 1361856215
Аноним 10/03/19 Вск 11:50:01 1361858216
>>1361856
Это точно мидл/синьйор?
Аноним 10/03/19 Вск 11:52:03 1361859217
>>1361856
Они, блять, серьезно? Это на мидла?
Я для стажировок видел тестовое труднее было
Аноним 10/03/19 Вск 11:52:19 1361861218
>>1361858
Ну теоретически, на таком можно отсеять говнокод и грязнокод и идти на интервью.
Аноним 10/03/19 Вск 12:16:13 1361868219
Как создать шаблон asp.net core react redux, но. Использованием тайпскрипта? А то, видимо, сейчас перешли на шаблон js
Аноним 10/03/19 Вск 12:21:15 1361871220
>>1361856
>дотнет4, асп
ебать, я уже представляю себе с какими монстрами-проектами там работать придется
Аноним 10/03/19 Вск 13:41:28 1361904221
>>1361429
>Чтоб отвязать представление от логики. В итоге получается лучшая поддерживаемость кода, можно писать юнит-тесты для вьюмоделей и вся работа по обновлению данных переходит фреймворку и его системе биндингов.
Блядь, где смысл? Хули там у тебя отвязано, если вьюха все равно к конкретной вьюмодел привязана. Ну пиши юнит тесты к code behind, кто тебе не дает?
>>1361410
>идеал mvvm wpf-шного -- это отсуствие кода в ~Window
Я это знаю, но понять не могу почему? Ну нахуя мне создавать отдельный класс вьюмодели и так же точно во вьюхе цепляться к ее свойствам, когда есть code behind, в котором все это можно точно так же прописать?
Аноним 10/03/19 Вск 13:42:49 1361905222
>>1355872 (OP)
ньюфаня в треде

получаем все Молы которые есть в бд
> cmd.CommandText = "select * from МОЛ";
cmd.ExecuteNonQuery();
DataTable dt1 = new DataTable();
OleDbDataAdapter da1 = new OleDbDataAdapter(mol);
da.Fill(dt1);
foreach (DataRow dr in dt1.Rows)
{
comboBox2.Items.Add(dr["ФИО"].ToString());
comboBox1.Items.Add(dr["Код"].ToString());
}

con.Close()
хочу что бы при выборке в комбобоксе отоброжались те мц которые за ним закреплены
> public void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
OleDbCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT МЦ.Наименование_товара, МЦ.МОЛ FROM Подразделение INNER JOIN (МОЛ INNER JOIN (Ед_Изм INNER JOIN МЦ ON Ед_Изм.Код = МЦ.Единица_измерения) ON МОЛ.Код = МЦ.МОЛ) ON Подразделение.Код = МЦ.Подразделение WHERE (((МЦ.МОЛ)='"+ comboBox1.Items +"')); ";
con.Open();
cmd.ExecuteNonQuery();
con.Close();
DataTable dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(dt);
dataGridView1.DataSource = dt;
}
если вместо комбобокситем задаю жестко то все хорошо а если нет то говорит не соответствие типов данных иди нахуй. ЧЯДНТ?
Аноним 10/03/19 Вск 14:52:15 1361944223
>>1361698
Есть asp.net для веба, юнити для геймдева, xamarin для мобильных приложений.
Аноним 10/03/19 Вск 14:53:22 1361945224
>>1361904
>Я это знаю, но понять не могу почему? Ну нахуя мне создавать отдельный класс вьюмодели и так же точно во вьюхе цепляться к ее свойствам, когда есть code behind, в котором все это можно точно так же прописать?
потому, что это ООП и все есть класс. ну а так же потому, что S.O.L.I.D., KISS, слабая связность и прочая хуита, которой очень любят подрочить на собеседованиях. пока у тебя каждый тип занят какой-то одной задачей, твое приложение без каких-либо ограничений по размерам, сложности логики и древности стека достаточно легко расширяется, модифицируется, и, главное, понимается другими человеками.
тебе никто не мешает писать через button1_Click, протаскивание Form1 в бизнес-логику, дергания базы данных из вью и так далее. и, даже имея десяток функций твоего приложения и пару тыщ строк кода тебе будет относительно просто его поддерживать. но бизнес, не без исключений, хочет чего-то сложнее и долгосрочнее. ну, а главное, дешевле в саппорте

>>1361905
>+ comboBox1.Items +
ты посмотри на свой cmd.CommandText. вангую, увидишь много чего интересного
Аноним 10/03/19 Вск 14:58:15 1361948225
>>1361945
>ты посмотри на свой cmd.CommandText. вангую, увидишь много чего интересного
да хз, этот запрос мне сгенерел аксес и там все хорошо выводится, логика такова: я выбираю в комбобоксе мола и автомат грид выводит всю инфу. Пошаманиф я добился что при выборе мола он мне пустой грид выводит. Куда смотреть я уже хз
Аноним 10/03/19 Вск 15:01:46 1361951226
>>1361905
Нахуй тебе этот sql? Монгодб охуенен, перешел на него - выпилил дохуище строк кода и ебашу запросы с помощью linq. Да и концепция документов удобнее, чем таблиц.
Аноним 10/03/19 Вск 15:03:37 1361952227
>>1361951
это аксес детка таков выбор защиканца заказчика
Аноним 10/03/19 Вск 15:20:35 1361961228
>>1361905
отбой я дибил помогло это + comboBox2.SelectedItem.ToString() +
Аноним 10/03/19 Вск 15:37:53 1361978229
>>1361945
>потому, что это ООП и все есть класс
Ну, а code behind это не класс что ли? Класс, причем специально для этого и созданный, автоматом.
>ну а так же потому, что S.O.L.I.D
И какую букву я нарушу, если вместо вьюмодел ебану это все в code behind?
>тебе никто не мешает писать через button1_Click, протаскивание Form1 в бизнес-логику, дергания базы данных из вью
Ты не понял. Я не ратую за то, чтобы всю программу в мейне ебашить и похуй. Просто при создании вьюхи уже по сути есть готовая прикрученная к ней автоматом вьюмодел, нет, блядь, не хочу в ней хуячить, хочу свою создать, точно такую же и в датаконтексте на нее переопределиться
Аноним 10/03/19 Вск 15:39:07 1361981230
>>1361951
>Монгодб охуенен, перешел на него - выпилил дохуище строк кода и ебашу запросы с помощью linq
Я для тебя открытие, наверное, сделаю, но уже сто лет как есть entity framework, чтобы к sql ебашить запросы с помощью linq
Аноним 10/03/19 Вск 16:19:27 1361993231
>>1361978
>И какую букву я нарушу, если вместо вьюмодел ебану это все в code behind?
Блядь ебаный дегенерат, иди на хуй с такими вопросами, гуглом научись пользоваться, мразота тугорогая.
Аноним 10/03/19 Вск 16:52:15 1362012232
1.jpg (92Кб, 716x695)
716x695
>>1361993
Ты если нихуя сам не знаешь и объяснить не можешь, то зачем рвешься то?
Аноним 10/03/19 Вск 17:10:23 1362021233
>>1361951
>Нахуй тебе этот sql? Монгодб охуенен
dolboebs never change

>>1361978
>Ну, а code behind это не класс что ли? Класс, причем специально для этого и созданный, автоматом
ну, это слой ващет. может, у тебя и один клас за все отвечает. но это уже спагетти
>И какую букву я нарушу, если вместо вьюмодел ебану это все в code behind?
S
>Просто при создании вьюхи уже по сути есть готовая прикрученная к ней автоматом вьюмодел
откуда она у тебя там есть? если ты каким-то фреймворком пользуешься или бутстраппером, я тебе ничем ответить не могу. ну или ты делаешь VM к VM. когда я тебе ничем не могу помочь )
Аноним 10/03/19 Вск 17:24:04 1362031234
>>1362021
>Класс, причем специально для этого и созданный, автоматом
я только сейчас допер, что под code behind ты называешь Window1.cs, который рядом с xaml генерится. так что-ли?
Аноним 10/03/19 Вск 17:29:14 1362034235
>>1361978
S - потому что у тебя класс mainwindow будет отвечать за всю возможную логику, начиная от открытия файла заканчивая валидацией модели
O - потому что ты полезешь в CB по множеству причин
L - у тебя все прибито гвоздями, тут не о каком замещении не может идти и речи
I - нет никакой сегрегации интерфейсов, все в одном окне
D - нет инверсии, всем управляет окно
>>1361904
>пиши юнит тесты к code behind
А может ты попробуешь написать мок окна, чтоб не нести больше хуйню?

Пока ты пишешь один проекты, требования к которым не меняются каждые несколько месяцев ты можешь писать все в одном файле. Но если ты так будешь делать работая в тиме тебя погонят ссаными тряпками очень скоро.
Аноним 10/03/19 Вск 17:57:22 1362061236
>>1362031
>я только сейчас допер, что под code behind ты называешь Window1.cs, который рядом с xaml генерится. так что-ли?
Ну да, а он что, не так что ли называется?
Аноним 10/03/19 Вск 18:06:48 1362065237
>>1362061
гугл говорит, что так
я обычно подразумевал под этим понятием бэкенд (в общем смысле)
Аноним 10/03/19 Вск 18:10:54 1362068238
>>1361944
Это все пути развития C# программиста? Ясно все, укатываюсь к крестобоярам.
Аноним 10/03/19 Вск 18:14:14 1362070239
>>1362068
>ембеддед легаси щит из 90х
>гейдев, который ты не осилишь
>хайлод, в который тебя не возьмут
ты это, заходи, если что
Аноним 10/03/19 Вск 18:18:43 1362074240
>>1362070
>ембеддед легаси щит из 90х
Ну да..
>гейдев, который ты не осилишь
Так что там осиливать? Фреймворк изучить, весь матан гуглится за 5 минут.
>хайлод, в который тебя не возьмут
Возьмут.

А еще десктоп хотя бы есть. И системное программирование.
Аноним 10/03/19 Вск 18:20:00 1362078241
>>1362074
десктоп есть и в шарпах
только кому он нужен
Аноним 10/03/19 Вск 19:54:00 1362123242
>>1362065
Ну, и короче, нахуй нужна эта вм, если можно в этом файле так же точно хуярить, он для этого и создан, блядь. Создаешь модели, где вся бизнес логика и хуяришь в этом файле свойства для вьюхи, хули не так? Нахуя руками создавать точно такой же файл, для тех же самых целей?
Аноним 10/03/19 Вск 20:44:11 1362164243
>>1362123
>Ну, и короче, нахуй нужны эти классы, если можно в Program.cs так же точно хуярить, он для этого и создан, блядь. Создаешь методы, где вся бизнес логика и хуяришь в этом файле свойства для вьюхи, хули не так? Нахуя руками создавать кучу файлов, для тех же самых целей?
Аноним 11/03/19 Пнд 00:53:44 1362314244
ce2f99fa944f398[...].jpg (14Кб, 180x240)
180x240
>>1361671
Как стать таким же как пикрилд?
Аноним 11/03/19 Пнд 03:49:02 1362353245
Потсаны у меня тупняк, хелп!

Короче есть много-много экземпляров двух классов.

class A {
// не важно что тут
}

class B {
// держит ссылку на A
private A instA;
}

Нужно их бинарно сериализовать. Если делать это в один файл, то никаких проблем с восстановление правильных ссылок в B на A не будет, но мне нужно сериализовать классы раздельно - все А в fileA, все B в fileB. Ворос: как починить ссылки при загрузке? Это надо делать вручную используя некотрые ИДы?
Аноним 11/03/19 Пнд 08:06:26 1362369246
>>1362353
а тебе принципиально важно, чтобы каждый экземпляр A был уникален в памяти?
сериализуй/десериализуй вложенные типы тоже

если не подходит - то id или любое свойство/набор свойств, которые однозначно идентифицируют отдельный A в сете. при десериализации B ищешь нужный объект A в заранее десериализованной коллекции/наборе
Аноним 11/03/19 Пнд 08:08:05 1362370247
Screenshot2019-[...].png (305Кб, 1469x391)
1469x391
>>1362314
гуглопоиск обезумел
Аноним 11/03/19 Пнд 09:14:35 1362384248
>>1362369
>а тебе принципиально важно, чтобы каждый экземпляр A был уникален в памяти?
Да важно. В логике программы ссылка на А используется для детекта всех B с некоторым общим А.

Короч наколхозил целочисленные ИДы которые создаются при сериализации и читаются при десириализации. Не знаю как по-другому тут сделать, пусть пока так.
Аноним 11/03/19 Пнд 10:12:38 1362398249
>>1362384
>В логике программы ссылка на А используется для детекта всех B с некоторым общим А.
objA может быть равен objB даже если это два изолированных объекта в памяти. и приложение прекрасно это поймет при элементарном подключении IEquatable<>
Аноним 11/03/19 Пнд 10:13:14 1362399250
>>1362398
>два изолированных
два объекта в памяти с идентичным состоянием
говнофикс
Аноним 11/03/19 Пнд 11:49:03 1362416251
Аноним 11/03/19 Пнд 17:14:17 1362507252
Нихуя не понимаю как работает асинхронность, ваши эвейт асинки ебаные мне вообще в башку не лезут, хоть убейте, для меня проще поток создать и не ебать мозги.
Посоветуйте что прочитать, чтобы вникнуть хотя бы в азы этой хуйни, ну или пинка получить для дальнейшего изучения, а то я тут с ума сойду нахуй скоро.
Аноним 11/03/19 Пнд 18:42:36 1362555253
>>1362507
>ваши эвейт асинки ебаные мне вообще в башку не лезут
Создаешь метод асинк, а затем в нем помечаешь оператор авейт, вот и все. Теперь у тебя оператор будет асинхронно выполняться - ну там таск-хуяск
Аноним 11/03/19 Пнд 19:18:19 1362572254
>>1362555
ЭЭээээ...
А в чем разница тогда? Не проще таск создать?
Кажется, ты чего-то недосказал.
Аноним 11/03/19 Пнд 19:36:02 1362580255
>>1362572
>А в чем разница тогда?

Все написано под капотом и лучше чем ты, очевидно
Аноним 11/03/19 Пнд 21:54:54 1362672256
>>1355872 (OP)
В очередной раз зашел чтобы насцать за щеку всем кричащим:
"ДОТНЕТ КОР КОКОКОКО КРОССПЛАТФОРМЕНОСТЬ БУДУЩЕЕ"

Кусок говна. EF Core - это вообще полный пиздец.
Захотел распределенные транзакции? А МЫ НЕ ПОДДЕРЖИВАЕМ пока))00.
Сделать что-то сложнее двух джоинов без навигационных свойств? А хуй.
Почти все выражения разворачиваются и исполняются in-memory, еще больше начинает подгорать с комментариев под ишью "ЭТО НЕ БАГ! ЭТО ФИЧА"
EF Core - это когда 3 простых джоина разворачивается в три запроса.
EF Core - это когда у тебя асинхронная версия валится с кучей ошибок, потому что это говно не может построить выражения, но при этом синхронная работает нормально.
Аноним 11/03/19 Пнд 21:59:33 1362676257
>>1362672
Раз такой умный пиздуй в кор разработку и исправляй ситуацию. Хули ноешь то, макака?
Аноним 11/03/19 Пнд 22:07:17 1362687258
>>1362676
>Раз такой умный
>>1362676
>пиздуй в кор разработку
Ты меня недооцениваешь. Действительно умный не пойдет допиливать и собирать сопли мелгомягких. Закончив проект я съебусь с дотнетопараши, делать это нужно было сразу после "релиза" asp net core 1.0, но лучше поздно чем никогда.
Меня во всей этой ситуации удивляет вот что: как можно было за 4 года не покрыть основные кейсы которые используются на проектах при этом умудрится назвать свою хуйню LTS 2.1 !111
11/03/19 Пнд 22:08:56 1362690259
>>1362687
Джавалахта, съеби.

+15
Аноним 11/03/19 Пнд 22:13:15 1362697260
>>1362690
>Джавалахта, съеби.

Хуяхта.
Сходи что-нибудь сложнее хелоуворлда напиши, поймешь о чем речь идет.
Аноним 11/03/19 Пнд 22:33:26 1362717261
>>1362697
Да это ты видимо привык хеллоуворды писать с фичами из коробки.
Аноним 11/03/19 Пнд 22:48:20 1362726262
>>1362717
>фичами из коробки
>>1362672
>джоинов без навигационных свойств
УУХ, тупая зелень не палится.
Я то думал что lazy loading с тонной навигационных свойств это фичи из коробки.
А оказывается linq, транзакции (которые в 2.0 появились) это уже что-то сверхествественно.
Так может это ты все-таки ты джавалахта, а, пидарок?

Пиздуй свою лабу 1 делать, зелень ебаная.
Аноним 11/03/19 Пнд 22:49:29 1362729263
>>1362572
>>1362697
Тупой ебанат, нахуй ты приплел сюда ефкор, если для неткора даппер дефакто стандарт орм. вангую, сам дебил-хеллоуворлдщик, который пытался круд для магазина из учебника запилить, но дико обосрался по причине собственной тупости и теперь из треда в тред срет тут
Аноним 11/03/19 Пнд 22:55:24 1362734264
>>1362729
> неткора даппер дефакто стандарт орм
Дефакто стандарт - не использование сырого говна коим кор и является. Даппер кусок говна, уж лучше хибернейт использовать.
АЛСО, ОТКРЫВАЮ БОЛЬШУЮ ТАЙНУ: что тимлид скажет использовать на проектах - то и будешь жрать. Заказчик проплатил какую-нибудь говнобиблиотеку? ИСПОЛЬЗУЕМ ЕЁ.

Пиздуй дальше писать лабы, через годик или сколько там тебе на вкатывание надо расскажешь что там дефакто стандарт.
Аноним 11/03/19 Пнд 23:02:27 1362740265
>>1362726
Я вообще крестобоярин мимо проходил, ахуел с тебя, тырпрайз макака.
Аноним 11/03/19 Пнд 23:14:16 1362752266
подскажите пожалуйста синтаксис.
class DerivedClass : BaseClass<T> where T : ISomeInterface{}
а как сказать чтобы DerivedClass ещё наследовался от интерфейса ISomeOtherInterface?

если я напишу
class DerivedClass : ISomeOtherInterface, BaseClass<T> where T : ISomeInterface{}
то мне говорят что базовый класс указывается первым.

а если я напишу
class DerivedClass : BaseClass<T> where T : ISomeInterface, ISomeOtherInterface{}
то я перечисляю интерфейсы для T, а не говорю что DerivedClass реализует его
Аноним 12/03/19 Втр 01:50:10 1362809267
image.png (385Кб, 686x899)
686x899
Прочитал пикрил. Что еще можно по паттернам почитать? Посложнее что-нибудь.
Аноним 12/03/19 Втр 01:54:35 1362811268
>>1362809
Ничего, паттерны - это одновременно и антипаттерны.
Можешь навернуть "Шаблоны корпоративных приложений".
Аноним 12/03/19 Втр 02:08:09 1362813269
>>1362752
>class DerivedClass : BaseClass<T> where T : ISomeInterface{}
Тут секция where относится к DerivedClass и ошибку он тебе выдает, что DerivedClass не является обобщеным(<T>) чтобы налагать на него ограничения.

Делать надо так:
class DerivedClass : BaseClass<ISomeInterface>, ISomeOtherInterface

Т.е. сразу задавать специализиацию базовому классу в обявлении.

Либо не задавать, а сделать ее сквозной:
class DerivedClass<T> : BaseClass<T>, ISomeOtherInterface where T : ISomeInterface
Аноним 12/03/19 Втр 02:10:44 1362815270
>>1362813
а, where можно писать после всего. спасибо!
Аноним 12/03/19 Втр 10:24:13 1362885271
Программач, нихуя не понимаю, что мне делать. Знаю кое-как базовые вещи, могу поверхностно в бд, винформы, адо.нет, асп/мвц. Но пройти несколько собеседований мне ума не хватило. Блядь, у меня даже толком нет идей что писать. Что дальше то делать?
Аноним 12/03/19 Втр 10:48:14 1362891272
>>1362752
class DerivedClass : BaseClass<T>, ISomeOtherInterface
where T : ISomeInterface
{
}
Аноним 12/03/19 Втр 10:49:01 1362892273
>>1362891
бляд ебаный браузер
не показал мне актуальные сообщения на доске
Аноним 12/03/19 Втр 11:47:22 1362906274
image.png (1376Кб, 833x1079)
833x1079
>>1362885
>Блядь, у меня даже толком нет идей что писать.
Писать то что уже есть, двач бложик, или рестапи интернет магазина.

>Что дальше то делать?
Умирать Не отступать и не сдаваться.
Аноним 12/03/19 Втр 11:49:02 1362907275
>>1362672
>Захотел распределенные транзакции? А МЫ НЕ ПОДДЕРЖИВАЕМ пока))00.

Дохуя ли ты юзал из в реальной жизни маня? Всем давным давно известно что рт это зло и юзают саги или сортофф евенчуалконсистенси

Алсо все горение с ефкора пушто ебан тупой не осиляет в божественный и быстрый dapper
Аноним 12/03/19 Втр 11:54:16 1362910276
>>1362907
>рт это зло
ну а когда действительно они необходимы, мы будем юзать именно EF Core )))))))))))))))))))))
какой-то щкальник пришел, новое слово выучил; увидел, что это еще и за него давно сделано было. а ты ему за шмот поясняешь
Аноним 12/03/19 Втр 11:56:28 1362911277
>>1362906
Спасибо, няш, может правда все на поверхности и попробовать пилить тупо что-то существующее типа сосача.
Аноним 12/03/19 Втр 12:25:46 1362920278
>>1362740
>крестобоярин
Гляди, петух закукарекал, заместо Авроры
Аноним 12/03/19 Втр 13:31:54 1362943279
Аноним 12/03/19 Втр 13:35:57 1362945280
>>1362911
Ну вообще именно это делать и надо.
Во первых это распрастранненные в комерческой разработке задачи.
Во вторых начинать карьеру с УНИКАЛЬНОГО СТАРТАПА представляется странным если у тебя опыта хуй да нихуяю
Аноним 12/03/19 Втр 14:14:42 1362963281
>>1362943
Нихуя ты заиграл, конечно...
Аноним 12/03/19 Втр 14:27:20 1362969282
Могу создать классы карт (как числовые так и изображения) и сделать колоду. Рейт шанс работать в микрософт.
Аноним 12/03/19 Втр 14:29:07 1362970283
Аноним 12/03/19 Втр 16:14:53 1363020284
Как изменять размер текстбокса в соответствии с содержимым? Я прикрутился к textchanged и узнаю размер TextRenderer.MeasureText(tbsender.Text, tbsender.Font);, а потом устанавливаю нужную ширину, но это нормально работает только если вводить по одному символу. Если я вставляю текст, у которого размер больше, чем текущее окно ввода, то текстбокс автоматически смещает текст влево, чтобы он уместился в этом окне и после этого я ему задаю новую ширину, но текст остается на том же месте сдвинутый это как-то стремно, подскажите как лучше сделать.
Аноним 12/03/19 Втр 17:16:18 1363048285
>>1363020
ну это геморрой 146%, лучше такой фигней вообще не страдать
разве что тебе для дела (лабы)
Аноним 12/03/19 Втр 17:37:42 1363058286
>>1362969
Около нуля. Микрософт не казино и карты им вряд ли нужны.
Аноним 12/03/19 Втр 17:44:01 1363063287
>>1363020
https://stackoverflow.com/questions/8048455/c-sharp-resize-textbox-to-fit-content

смотри какой элегантный костыль:
I had the same problem and I solved it in a simpler way.

I used the AutoSize property of a Label control.. I added an invisible label to my form, set its AutoSize property True. When the I need to change the size of my TextBox I use this code:
MyLabel.Text = MyTextBox.Text;
MyTextBox.Size = MyLabel.Size;

Суть: в лейбл тоже можно текст добавить и он растянется под его размер. Размер лейбла копируется в текстбокс.
Аноним 12/03/19 Втр 17:46:05 1363065288
>>1362970
Школьник, иди отсюда нахуй.
Аноним 12/03/19 Втр 18:58:52 1363094289
>>1363058
А в казиношку я могу устроиться? Много платят?
Аноним 12/03/19 Втр 21:30:16 1363163290
Аноны, как лучше форматировать строки?
1. ("foo {0}", bar)
2. ("foo " + bar)
3. ($"foo {bar}")
Что лучше в плане оптимизации ну тут, скорее всего, разницы нет, хрен с ним и читаемости кода?
Аноним 12/03/19 Втр 21:34:58 1363165291
>>1363163
скорее всего разница, тут есть. и 2й вариант будет оптимальней
если задача стоит к строке прибавить константную приставку/префикс, то лучше воспользоваться плюсом
а обычно люди не ебут себе мозги и делают все через форматированную строку. интерполяция, к слову, в плане читабельности на больших строковых выражениях сильно проигрывает
Аноним 12/03/19 Втр 21:35:26 1363166292
>>1363165
ебать я первую запятую поставил удачно
Аноним 12/03/19 Втр 21:37:18 1363167293
>>1363165
Наоборот казалось, что 2 вариант больше всего места занимает.
Аноним 12/03/19 Втр 21:39:12 1363169294
Аноним 12/03/19 Втр 21:41:48 1363173295
>>1363169
Ну бля, на строчке редактора.
Аноним 12/03/19 Втр 21:50:31 1363176296
>>1363173
конкатенация всегда будет самым компактным вариантом тащемта. разве что в некоторых случаях интерполяция может быть покороче
вообще все зависит, в первую очередь, от привычек. а во вторую от IDE или той среды, где ты на это смотришь. VS, обмазанная решарпером, очень удобно подсвечивает элементы форматированной строки, а в темной теме раскраска постоянно всех цветов радуги, что даст тебе ясную картину происходящего
лично я смотрю на практически все пердоления со строками одинаково. разве что есть дибилы, которые в новомодном формате миксуют {{, }} и подвыражения с тернарными операторами. ну тут мои полномочия всё
Аноним 12/03/19 Втр 21:55:02 1363179297
>>1363176
Ну, в общем, все сводится к "как тебе удобно, лишь бы строка весь экран не занимала".
Аноним 12/03/19 Втр 22:24:21 1363186298
34676.png (3Кб, 254x41)
254x41
324556.png (1Кб, 214x63)
214x63
Помогите пожалуйста ньюфагу!
Прохожу курсы на ulearn и застрял на псевдотестировании:
https://ulearn.me/Course/BasicProgramming/Praktika_Testirovanie__b0d7bc0f-7309-4ff9-b472-2c19a57f25a4
Конкретно на:
>Поле внутри кавычек может содержать символы кавычек, экранированные символом '\'. Символ '\' также может быть экранирован самим же собой. То есть строка "a \"c\"" содержит одно поле, а строка "\\" b — два поля.
>строка "\\" b — два поля.
Ввожу строки как на пик1 Test(@"""\\"" b", new[] {@"\\", " b"}); и все равно получаю пик2.
Что он хочет и что он требует?
Первый тест прошел строки
>"a \"c\""
прошел
>Test(@"""a \""c\""""", new[] {@"a ""c"""});
Аноним 12/03/19 Втр 22:30:53 1363189299
>>1363163
Второй вариант читабельнее
Аноним 12/03/19 Втр 22:37:09 1363191300
Блять, а это что за говно?
>\"a b\" — это два поля \ и a b"
Схуяли тут уже два поля если сказано что \" это " ?
Они там вообще в глаза ебуться? Я нихуя не понимат.
>>1363186
Аноним 13/03/19 Срд 03:16:59 1363264301
>>1363163
На пикче у тебя все варианты однохуйственны и мусорят примерно одинаково.
В плане оптимизации лучше использовать StringBuilder если у тебя очень длинная портянка "foo" + "bar" + MyVar.ToString() + "baz"

Аноним 13/03/19 Срд 03:33:22 1363267302
>>1363186
>@
Собака превращает все двоные кавычки внутри строки в ординарные, еще не нужны двойные слеши для экранирования.

@"Some string with "" quotation inside."
// даст - Some string with " quotation inside.

@"Some string with \ slash inside."
// даст - Some string with \ quotation inside.

Без собаки нужно экранировать
"Some string with \" quotation inside."
"Some string with \\ slash inside."
Аноним 13/03/19 Срд 08:26:55 1363292303
>>1363048
Не для лабы. Просто treenode узлы у treeview не вмещают больше 255 символов, а мне надо, чтобы было больше. Я переопределил узел и добавил ему textbox, чтобы текст писался туда, но столкнулся как раз с описанной проблемой.
Аноним 13/03/19 Срд 08:34:53 1363293304
>>1363063
Находил такой вариант, почему-то у меня не работает. Когда присваиваю лейблу текст, у него размер остается таким же. Плюс, по-моему в лейбл можно записать ограниченное количество символов.
Аноним 13/03/19 Срд 08:36:20 1363295305
>>1363264
кек
советуют стрингбилдер использовать в случае, если количество конкатенаций/преобразований для изначальной строки неизвестно. в противном случае string.Join или +/string.Concat

>>1363292
чета сложна. не уверен, что тебе нужен именно TextBox. а как насчет Label с AutoSize = true?
Аноним 13/03/19 Срд 09:19:26 1363309306
>>1362910
>ну а когда действительно они необходимы

Ну расскажи когда? ) Если ты еба банк то там используются оракловские или сортофф решения для надежных рт за дохулиард денег. И твой ссаный еф тут никак не нужен от слова совсем

Аноним 13/03/19 Срд 09:21:17 1363310307
>>1362734
>Даппер кусок говна
>уж лучше хибернейт использовать

Написал разрабам стековерфлоу, похихикали с тебя дурачка)
Аноним 13/03/19 Срд 10:14:58 1363326308
>>1363309
ну так а я о чем пишу? если нужна ультрабыстрая сверхнадежная база с поддержкой ACID, то необходимо быть на голову поехавшим, чтобы пытаться использовать EF, не говоря уже о Core
Аноним 13/03/19 Срд 10:15:34 1363327309
>>1363326
чтобы пытаться использовать для неё EF
Аноним 13/03/19 Срд 11:11:02 1363339310
Посоны, а я смотрел одно видео и там чел копировал куски кода (ну там какие-то домашние заготовки) типа из какого-то навороченного блокнота. Ну не совсем блокнота даже, а типа какого-то хранилища со структурой для быстрого поиска и тп. Че это было, вы не знаете по такому мутному объяснению?
Аноним 13/03/19 Срд 11:22:30 1363344311
>>1363339
>Че это было, вы не знаете по такому мутному объяснению?
Может и правда бокнот наподобии CherryTree, с деревом и тегами для быстрого поиска. В некоторых и оформление кода поддерживается в один клик.
Аноним 13/03/19 Срд 11:28:46 1363345312
>>1363344
Спасибо, щас гляну, и видео ещё это нихуя не найти.
Аноним 13/03/19 Срд 12:03:10 1363357313
Глава 1. Введение в ASP.NET Core
Глава 2. Основы ASP.NET Core
Глава 3. Сервисы и Dependency Injection
Глава 4. Конфигурация
Глава 5. Маршрутизация
Глава 6. ASP.NET Core MVC
Глава 7. Контроллеры
Глава 8. Представления
Глава 9. Маршрутизация в ASP.NET Core MVC
Глава 10. View Component
Глава 11. Модели
Глава 12. HTML-хелперы
Глава 13. Tag-хелперы
Глава 14. Метаданные и валидация модели
Глава 15. Работа с данными в Entity Framework
Глава 16. Фильтры
Глава 17. Razor Pages
Глава 18. Web API
Глава 19. Аутентификация и авторизация
Глава 20. ASP.NET Core Identity
Глава 21. Клиентская разработка
Глава 22. Поизводительность и кэширование
Глава 23. Сервер и публикация приложения
Глава 24. Тестирование
Глава 25. URL Rewriting
Глава 26. React.JS
Глава 27. Dapper
Глава 28. Работа с MongoDB
Глава 29. Глобализация и локализация
Глава 30. SignalR Core
Глава 31. CORS и кросс-доменные запросы
Глава 32. Дополнительные статьи



Охуеть, это все прямо знать надо что бы написать сранный RESTful API?
Аноним 13/03/19 Срд 12:05:04 1363359314
>>1363357
Не удивительно что питон и го языки будущего.
Аноним 13/03/19 Срд 12:09:02 1363363315
>>1363339
сниппеты?
видео ты, конечно же, не покажешь
Аноним 13/03/19 Срд 12:11:37 1363365316
>>1363363
Приду домой ещё попробую поискать.
Аноним 13/03/19 Срд 12:12:38 1363367317
>>1363357
>REST

>Введение в ASP.NET Core
>Основы ASP.NET Core
>Представления
>MVC
>View Component
>HTML-хелперы
>Tag-хелперы
>Razor Pages
>Клиентская разработка
>Тестирование
>URL Rewriting
>React.JS
>больше одного ORM, васянские БД
>Глобализация и локализация
>SignalR Core
>Дополнительные статьи

охуеть. ты еще прикати сюда Рихтера и спроси, нужно ли все это зазубрить, чтобы написать hello world
Аноним 13/03/19 Срд 12:19:51 1363369318
image.png (283Кб, 2688x2688)
2688x2688
>>1363367
>ы еще прикати сюда Рихтера и спроси, нужно ли все это зазубрить, чтобы написать hello world
Как ты напишешь НОРМАЛЬНЫЙ хеллоуворлд без понимания как работает СЛР, мммм?
Аноним 13/03/19 Срд 13:06:36 1363390319
>>1363369
>НОРМАЛЬНЫЙ хеллоуворлд
)
Аноним 13/03/19 Срд 15:03:14 1363441320
Почаны, а кто-нибудь обмазывался Nlua? У меня два настолько тупых вопроса, что их даже гугл не отвечает.

1) Как делать нормальный импорт модулей в луастейт из C# кода?

Сделал так, но выглядит это как дикий костыль:
Lua.DoString("SomeModule = require 'LocalPath.SomeModule'", "SM");
Lua["SM"] = null;

Пробовал еще так, но работает неправильно:
Lua["SomeModule"] = mLua.DoFile("LocalPath/SomeModule.lua");

2) Как экспортировать листы в шкрипт на луне?

На луне есть такой код:
SomeTable = { 1, 2, CSharpApi:GetListAInt() }

Результат просто пишет: { 1, 2, "List<Int32>" }
А нужно: { 1, 2, 3, 4, 5, 42 }
Аноним 13/03/19 Срд 18:54:17 1363595321
Сегодня узнал про stackalloc. Могу ли я как-то создавать списки/словари/етц на стеке? Или нужно свое делать?
Аноним 13/03/19 Срд 18:57:41 1363599322
Почему все срут метанит? Годно же. Все что нужно в одном месте, материал нихуя не поверхностный, хорошая подача. Мне лично лучше всяких книжек зашло, которые к тому же с корявым переводом.
Аноним 13/03/19 Срд 19:03:43 1363602323
>>1363599
Изучал сокеты. Проще было десятки страниц Албахари почитать, чем понять принципы в метаните. Сервис нормальный, но там многие элементы поверхностно описываются.
Аноним 13/03/19 Срд 19:59:58 1363616324
>>1363602
Ты какой-то тормоз. Хули там понимать? Отправил-принял, слушаешь-отправляешь
Аноним 13/03/19 Срд 20:04:21 1363618325
>>1363616
Да, тормоз. Хули ты хотел, сверхразум ебаный?
Аноним 14/03/19 Чтв 01:17:38 1363929326
>>1355872 (OP)
Почитал тред и авторитетно заявляю: C# - язык для тупой школоты.
Даже в помойной скриптодристне аля пайтона \ жс школота умнее будет.
Аноним 14/03/19 Чтв 03:38:23 1363936327
>>1363929
Ага, всем так интересны твои стереотипы о программистах на разных языках.
Аноним 14/03/19 Чтв 07:39:55 1363967328
>>1363929
проиграл с умных жопоскриптеров
Аноним 14/03/19 Чтв 07:41:03 1363968329
>>1363936
C# - говно без задач, пруфы:
C++ - байтоёбство,
Java - тырпрайз,
C# - ???
Аноним 14/03/19 Чтв 07:49:44 1363969330
>>1363968
- тырпрайз для бедных
- рофломикросервисы
- мобилки
- виндовссторовские приложения
- легаси щит из конца '10х
Аноним 14/03/19 Чтв 11:04:30 1364024331
>>1363968
Лол, мой знакомый джавист например говорит что на джаве есть только ебучее легаси говно, буквально полутрупы которые писались ещё когда динозавры по земле ходили, жизнь которых надо поддерживать до посинения, ибо всем впадлу писать что-то новое пока старое пердит и трещит по швам, но все же работает. Не хотят делать новое, потому-что это трата бабок и человеко-часов, типичное авось и "и так сойдет" в общем. Жаба судя по тому что про неё говорят и как её ненавидят те кто на ней работают - полумертвый язык.

Касательно плюсов - они хороши, но довольно нишевые, на шарпе легче вкатиться в разы, т.к это и веб и десктоп и геймдев, то что первое в голову приходит, есть ещё ниши, типо приложений для и игр для мобилок, но ту уже спорно, но все же можно найти примеры, очень дохуя игр для мобилок на Юнити, к примеру. По-любому найдешь себе место.

Шарп еще развивается, относительно твоих примеров это очень молодой язык и на мой взгляд он развивается в правильное русло. Мелкомягкие взялись за голову.

Вот о питоне я тоже задумываюсь, собираюсь параллельно шарпу его учить, из того что читал и слышал - годный язык.
Аноним 14/03/19 Чтв 16:18:54 1364205332
Аноним 14/03/19 Чтв 16:23:36 1364209333
>>1363163
Первый и третий варианты лучше.
Аноним 14/03/19 Чтв 16:29:39 1364215334
>>1364205
нам в начальных классах Logo давали потыркать. так это ж то же самое
Аноним 14/03/19 Чтв 16:34:51 1364220335
>>1364215
Понятно что там ничего сложного нет, просто вспомнилось чето.
Аноним 14/03/19 Чтв 16:44:13 1364226336
Подскажите годных мануалов\книг по XAML.
Аноним 14/03/19 Чтв 16:56:15 1364235337
>>1364226
XAML - это как в виде XML описать создание инстанса через new { PropA = "", PropbB = "" }
в общем-то, на этом весь мануал заканчивается
Аноним 14/03/19 Чтв 17:23:13 1364257338
Это нормально что СОЛЕД мне кажится каким то капитанском.
Некоторые примеры которые пишут типа как делать не надо, такое ощущение что так могут делать только ебанутые.
Вроде то что описывает солид, иногда ахуенно заумными терминами Типа способ постановки Лисков это какая то слишком очевидная в своей сути хуйня.
Аноним 14/03/19 Чтв 17:24:36 1364260339
>>1364257
>СОЛЕД
>Типа способ постановки Лисков
Кстати хотел спросить.
А как же ПОЛИМОРФИЗМ.
Вроде как одна из главных фишек ООП, А солед вроде как требует его избегать, кек.
Виртуальные методы не нужны? Переопределения зашквар?
Аноним 14/03/19 Чтв 17:32:51 1364267340
>>1362672
>Не может нормально нормализовать данные
>Виноват дотнет

Ну ахуеть теперь.
Аноним 14/03/19 Чтв 17:33:48 1364270341
>>1364260
Где солид требует избегать полиморфизма?
Аноним 14/03/19 Чтв 17:58:38 1364286342
>>1364257
Вангую ты ничего не писал сложнее laba1.cs.
Иначе бы знвл, что понимать как делать правильно по solid и реально делать правильно на практике без ебанутостей это две большие разницы.
Аноним 14/03/19 Чтв 18:03:42 1364287343
>>1363936
>твои стереотипы
Причем тут стериотипы если эта реальность?
МЕРТВОЕ говно без задач, которым пользуются лишь исключительно школьники да студенты с лаба1.
А тупость дотнетчиков в данном треде - не имеет границ, достаточно 5 минутного чтения написановый выше хуйни.
>>1364024
>Мелкомягкие взялись за голову
Да, взялись за голову: добивают мертворожденное говно, развивая TS и все чаще используя ноду.
inb4 сейчас петушня начнет вскукареки, ЧТО КРОМЕ ВЕБА ЕСТЬ ЗАМАРИН, который тоже, кстати, говно
>>1364024
>Жаба судя по тому что про неё говорят и как её ненавидят те кто
Работает тонна знакомых на жабе - все давольные и с толстыми котлетами.
Аноним 14/03/19 Чтв 18:21:26 1364296344
>>1364260
Если ты про способ постановки Лисков то там речь идет не о избегании полиморфизма, а о том что полиморфизм не всегда уместен, как пример - плохо если ты пытаешься следовать логике реального мира в разработке ПО упуская из виду то что разработка ПО не работает по логике реального мира.
Аноним 14/03/19 Чтв 18:23:19 1364299345
>>1364287
>ЕСТЬ ЗАМАРИН, который тоже, кстати, говно
У кого ни спрашивал, никто объяснить не может, почему он говно. Вот ты знаешь? Или просто кукарекаешь, потому что все так говорят?
Аноним 14/03/19 Чтв 18:26:29 1364301346
>>1364287
>добивают мертворожденное говно, развивая TS и все чаще используя ноду.
Опять ты, как же ты уже заебал тут срать своими фантазиями.

>А тупость дотнетчиков в данном треде - не имеет границ, достаточно 5 минутного чтения написановый выше хуйни.
Лол ебать, ты на дваче, в любом треде в пр точно такая же хуйня.

>Работает тонна знакомых на жабе - все давольные и с толстыми котлетами.
Работает тонна знакомых на шарпе - все давольные и с толстыми котлетами.

Аноним 14/03/19 Чтв 19:03:28 1364329347
>>1364299
>почему он говно. Вот ты знаешь
Он как был сырым говном n лет назад, так таким и остался. Много времени тратится на то, на что не должно: ковыряние и костыли которые правят замариновский код и баги.
Знакомый доработал на проекте и съебался на свифт и благополучно забыл замарин как страшный сон.
>>1364301
>Опять ты
Опять кто?
>>1364301
>тут срать своими фантазиями
Какие нахуй фантазии. Посмотри на релиз 8.0
>>1364301
>Работает тонна знакомых на шарпе - все давольные и с толстыми котлетами.
С той лишь разницей, что дотнетчики еще защеку закидывают тайпскрипт, а на жаба господа избавлены от такого "удовольствия". Ну и котлеты на жабе, как правило выше.
Аноним 14/03/19 Чтв 20:04:28 1364355348
>>1364329
>Много времени тратится на то, на что не должно: ковыряние и костыли
Конкретика будет или так, только лишь яскозал?
Аноним 14/03/19 Чтв 20:23:23 1364368349
>>1364270
одно из трактований определения L звучит так, что "если класс-наследник поставить на место родительского класса, то изменения в поведении приложения не будет". но тогда паттерн Стратегия идет нахуй потому, что реализация (т.е. итоговое поведение) двух разных имплементаций будет отличаться
короче, мне когда-то подобной парашей проехали по мозгам на собесе в какие-то рога и копыта. тогда я и понял, какие же люди ебланы паттерны и техники - это сверхформализованные правила кодирования

>>1364257
люди такой гениальности понапишут, что иногда вспоминать солид, та даже принципы ооп, как-то не к месту
Аноним 14/03/19 Чтв 21:07:52 1364397350
>>1364329
>С той лишь разницей, что дотнетчики еще защеку закидывают тайпскрипт, а на жаба господа избавлены от такого "удовольствия". Ну и котлеты на жабе, как правило выше.
Жабагоспода зачастую наворачивают легаси, которое писалось, когда они еще в школу ходили, дотнетчики избавлены от такого "удовольствия"

>Опять кто?
Долбоеб, который из треда в тред периодически пердит про то, что нода убьет дотнет, а майки этому помогают, развивая тс.
Аноним 14/03/19 Чтв 21:22:22 1364412351
>>1364355
>Конкретика будет или так, только лишь яскозал?
Пиздуешь писать что-нибудь на замарине. Через часок поймешь о чем речь. Но ты ведь так не сделаешь, пиздабол клавиатурный. Ну в гугл сходи хотя бы, для начала.

>>1364397
>Жабагоспода зачастую наворачивают легаси
Уж лучше ковыряться в легаси говне чем в тс и жс.
Да и хуевые у вас джависты, раз им приходится ковыряться в легаси.
>>1364397
>что нода убьет дотнет
Да мне похуй что на одно, что на другое.
>>1364397
> майки этому помогают, развивая тс
Они помогают не развитием тс, а тем что даже в своих поделках используют ноду, а не дотнет.

О каком развитии дотнета вообще идет речь, если даже сами майки его не используют??
Аноним 14/03/19 Чтв 21:28:05 1364421352
>>1364412
>Пиздуешь писать что-нибудь на замарине.
Писал изучая на метаните, все норм работает. Выходит все твои кукареки - это обычное яскозал, ну лан, я даже особо и не удивился
Аноним 14/03/19 Чтв 21:41:21 1364434353
>>1364421
>Писал изучая на метаните
>>1364421
>все норм работает
Гагагаг.
Можно даже не комментировать

>>1364421
>обычное яскозал
Ну, я не удивлен что у тебя нет знакомых работавших на замарине, ведь единственные твои друзья - школьники\студенты, ведь других то быть не может, комьюнити на дотнете то нету, что не удивительно, откуда у мертвого языка комьюнити?

Ну, ладно, пожалуй выпилюсь с треда, все равно в нем кроме трех школьцов никого нету.
Аноним 14/03/19 Чтв 21:43:12 1364436354
Konachan.com - [...].jpg (1461Кб, 1920x1080)
1920x1080
Как с помощью рефлексии получить protected метод класса по имени и параметру?

По отдельности методы вижу, а вот все вместе - нет.
https://docs.microsoft.com/ru-ru/dotnet/api/system.type.getmethod?view=netframework-4.7.2#System_Type_GetMethod_System_String_System_Reflection_BindingFlags_
https://docs.microsoft.com/ru-ru/dotnet/api/system.type.getmethod?view=netframework-4.7.2#System_Type_GetMethod_System_String_System_Type___
Аноним 14/03/19 Чтв 21:45:40 1364439355
Аноним 14/03/19 Чтв 22:04:19 1364450356
Аноним 14/03/19 Чтв 22:10:57 1364461357
>>1355872 (OP)
Sup /pr/c#
я решил вкатиться в волшебный мир погромирования на C# и уже смотрю курс от ITDVN C# Starter.
Но курс то я скачал, а домашки к нему не прилагается.
Поэтому у меня вопросы:
1) Где брать ГОДНЫЕ сборники задач для того,чтобы вкатиться и набить/надрочить руку для c# на джуна.
2)Может у кого есть эти дз и он могёт скинуть?
3) Есть у меня такая идея. Кароче есть сайт binance.ru
и есть один бот, который делает автоматически сделки.
Нет, я не хочу писать бот, который делает сделки на этом сайте- он уже есть и придуман умными людьми.
Вопрос в другом- нужно запилить модуль расчета прибыли,который будет в идеале бы брал данные по ключу API и
расчитывал прибыль с каждой сделки.Т.е. на аккаунте есть ключ API и он забирает с бинанса инфу,передает на сервер,берет курс биткоина и считает, какая прибыль между сделкой на покупку и сделку на продажу на данном аккаунте одной криптовалюты.Т.е. купили яброки по 9 рублей, продали по 10.
Расчитать для груш, апельсинов, ананасов, посчитать среднюю сделку, посчитать месячный процент.
Я пока ещё нубенький, но бинанс позволяет в екселе выгрузить таблицы всех сделок.
И поэтому у меня вопросы.
Как это запилить и какие технологии для этого использовать? Подойдет ли С# для подобного использования? или он бесполезен в этой области?
В идеале,можно ли с помощью шарпа рисовать графики?
4)Насколько я правильно выбрал язык шарп для изучения с целью вкатывания на джуна- тут пишут,что он мёртворожденный, что нужно учить питон. я постоянно слышу подобное про разные языки и меня это деморализует.Я вроде видел ваканскии на хедхантере- там требуются и шарписты и явисты.Двач-помогач, что мне делать у меня паника.
Зигодев-кун
Аноним 15/03/19 Птн 09:54:47 1364610358
15486171600150.png (380Кб, 594x590)
594x590
>>1363441
Починил второй вопрос.

Короче в любой непонятной ситуации нужно передавать внутрь апи таблицу луны и там ее заполнять. Тогда не будет лишнего фетча нетовских объектов в скрипт и связанных с этим тормозов.

В скрипте получается такая херня:
local Result = { }
CSharpApi:GetListAInt(Result)
SomeTable.insert(#len, Result)

Довольно многословно получается.
Аноним 15/03/19 Птн 10:02:04 1364612359
>>1364461
>В идеале,можно ли с помощью шарпа рисовать графики?
Можно же. Брутально создаешь битмап, ручку, выбираешь цвет и поебошил. Потом битмап можно сохранить в файл, запульнуть на форму или отправить юзеру на почту.
Аноним 15/03/19 Птн 10:07:55 1364614360
Аноним 15/03/19 Птн 10:17:58 1364616361
Шарпаны, как не очковать идти на собеседование?
Аноним 15/03/19 Птн 10:25:06 1364619362
>>1364616
Расслабиться же. Перед самым приемом лучше всего немного накатить вина. Будешь тормознуто-спокойным, но думалка кпд не потеряет.
Аноним 15/03/19 Птн 10:29:55 1364621363
>>1364619
лучше плана курнуть чтобы тех. задачки на интервью нестандартно решались
Аноним 15/03/19 Птн 10:47:39 1364628364
>>1364461
>ГОДНЫЕ сборники задач
годными могут быть только реальные прикладные задачи. говно, типа посчитать количество нулей в веденном пользователе числе и параша на подобном уровне, научит тебя ровно ничему.
вот ты описал какую-то задумку для тебя. если ты хотя бы в общем представляешь, как ты это хочешь делать, - пили. потом, при желании, добавишь взаимодействие с БД, либо незатейливый I/O. далее попробуешь хотя бы прочитать разного рлда принципы, практики, шаблоны, и посмотришь, как можешь свою поделку улучшить. это наиболее удачный старт для кватывание в любой язык

>выбрал язык шарп для изучения с целью вкатывания на джуна
какой-то странный вопрос. ты хочешь вкатиться в C# или куда-нибудь, лишь бы на джуна? если второе - то JS-говно и вперед. порог ультранизкий, джуно-конкуренция где-то соизмерима

>можно ли с помощью шарпа рисовать графики?
с помощью шарпа можно много чего делать, это язык общего назначения. но в реальной жизни - десктоп - наиболее унылое, что может тебе посоветовать рынок. преимущественно это проекты на DevExpress, а это дно из дна легаси. да и чистых десктопных вакансий хуй да нихуя, всем нужны веб-дрочеры фулл-стакеры. по крайней мере в незалежной
Аноним 15/03/19 Птн 11:12:14 1364634365
>>1364628
>годными могут быть только реальные прикладные задачи. говно, типа посчитать количество нулей в веденном пользователе числе и параша на подобном уровне, научит тебя ровно ничему.
И каким образом выставления бита четности - не реальная задача? Веб макака?
Аноним 15/03/19 Птн 11:31:08 1364644366
>>1364461
>В идеале, можно ли с помощью шарпа рисовать графики?
Конечно можно, причем довольно легко, за тебя большая часть сделана для этого, тебе только саму логику построения графика надо будет написать по сути. Как взять данные я думаю тоже разберешься, там тоже большая часть за тебя уже написана, я более чем уверен.

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

Туториалов море, только поищи, с твой задачей не могу помочь так как сам не сталкивался.

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

Альзо, выучив один язык на достаточном уровне, поняв принципы именно разработки ПО ты получишь базу которая поможет тебе учить и другие языки в разы быстрее чем твой первый, и потом ты уже сможешь осваивать другие языки по мере необходимости и увеличивать свой стэк технологий.
Аноним 15/03/19 Птн 12:19:37 1364656367
>>1364368
>но тогда паттерн Стратегия идет нахуй потому, что реализация (т.е. итоговое поведение) двух разных имплементаций будет отличаться
1. Паттерны не всегда и не везде применимы.
2. Тут отлично пояснено, и из этого описания я не вижу противоречий SOLID https://refactoring.guru/ru/design-patterns/strategy
У тебя есть навигатор, его цель прокладывать путь и в зависимости от того какой путь надо прокладывать не должна меняться реализация самого класса навигатора, ты просто передаешь обязанности построения пути другим классам, которые уже строят путь, не вмешиваясь в реализацию класса навигатора, это позволяет расширять и добавлять новые способы построения пути и вообще аккуратнее и удобнее. И опять подчеркну что это не противоречит SOLID ни в какой мере:
У тебя допустим есть абстрактный класс "RouteBuilder" у него есть виртуальный метод "BuildRoute", от него наследуются классы для построения маршрутов, класс навигатора принимает наследника RouteBuilder-а и наследник в зависимости от своего назначения передает навигатору построенный маршрут, поведение наследников в реализации класса навигатора не меняется, меняется только результат их поведения.
Аноним 15/03/19 Птн 12:21:49 1364657368
Поцаны, а я мутно понимаю, как работает цлр. Блядь, все эти стеки, хипы-хуипы, это вообще при реальной разработке надо прямо понимать до винтик? Не просто же так это спрашивают на собеседованиях? Может есть какая-то понятная схема?
Аноним 15/03/19 Птн 12:46:08 1364668369
>>1364657
Забей, потом разберешься. На практике хватит знания чем отличаются типы значния от ссылочных типов и как рапредеяется под них память. Потом ты догуглишь как цлр грузит сборки и вообще про домен приложения узнаешь и на этом фсе.
Аноним 15/03/19 Птн 12:49:57 1364669370
>>1364657
При реально разработке тебе это редко будет нужно, почти никогда, просто помни что няшка GC чистит за тебя все говно, "GC защитит" в общем.

Но это фундаментальные основы работы языка и их нужно понимать если ты претендуешь на какую-либо "экспертность".

Соглашусь с коллегой выше, достаточно понимать разницу между стеком и хипом и значимыми и ссылочными типами соответственно.
Аноним 15/03/19 Птн 13:58:46 1364695371
1552647516606.jpg (105Кб, 640x689)
640x689
На следующей неделе будет собеседование на позицию автотестера.

Там C#+Selenium+SpecFlow. Посоветуйте книжку про использование селениума из C#. На ютубе одни индусы с отвратительным произношением.

Насчёт опыта. Работал с C#+NUnit и с Java+Appium+Cucumber. Т.е. близко к тому что нужно, но не совсем то.
Аноним 15/03/19 Птн 14:08:12 1364700372
>>1364695
>автотестера
а ты тяночка?
Аноним 15/03/19 Птн 15:24:39 1364729373
Учусь по книге Троелсена, дошел до пункта "Linq to Objects". До этого я мало-мальски пытался понять некоторые непонятные термины, о котором говорит автор, но в этой главе я уже совсем начинаю запутываться в определениях. Стоит ли забить на эту всю тяорию и просто читать назначение Linq, или я долбоеб, и лучше понять сначала все, чтобы пото не возникало дохера вопросов?
Аноним 15/03/19 Птн 15:25:50 1364731374
>>1364729
че ж там за определения-то запутанные?
Аноним 15/03/19 Птн 15:27:10 1364732375
>>1364700
Тяночки в основном функциональным тестированием занимаются. Автотестер, это почти погромист же!
Аноним 15/03/19 Птн 15:33:05 1364737376
>>1364731
Да хер знает, какие-то API интерфейсы. Хуево, похоже, читал.
Аноним 15/03/19 Птн 15:40:02 1364741377
>>1364737
kek
LINQ2Objects - это, всего-то, набор методов-расширений для коллекций для удобного манипулирования ими без написания тонн foreach по каждому поводу и без
Аноним 15/03/19 Птн 15:42:18 1364742378
>>1364741
Значит, тонны определений мне не нужно, и можно со спокойной душой все это пропускать?
Аноним 15/03/19 Птн 15:45:26 1364744379
>>1364742
если тебе анончик скажет забить хуй на что-то, ты прям с радостью? )
Аноним 15/03/19 Птн 15:48:47 1364746380
>>1364461
>В идеале,можно ли с помощью шарпа рисовать графики?
На wpf? LiveChart - годная библиотека
Аноним 15/03/19 Птн 15:49:18 1364747381
>>1364644
>в .NET много крутых плюшек из коробки и работает он не хуже других.
Графики из коробки в wpf не нарисуешь, не пизди
Аноним 15/03/19 Птн 15:50:05 1364748382
>>1364744
Ну блять, это же не /b/, тут люди чуть поумнее сидят. Маловероятно, что хуйню скажут.
Аноним 15/03/19 Птн 15:54:32 1364750383
>>1364748
ну так попробуй запостить хотя бы одно непонятное тебе определение сюда
Аноним 15/03/19 Птн 15:54:38 1364752384
>>1364747
Не пизжу. Ты совсем одарен если кривую линию нарисовать не в состоянии.
Аноним 15/03/19 Птн 15:57:13 1364753385
>>1364752
>Не пизжу. Ты совсем одарен если кривую линию нарисовать не в состоянии.
Идиот, плес.
Аноним 15/03/19 Птн 16:32:45 1364770386
giphy.gif (2195Кб, 480x360)
480x360
Аноним 15/03/19 Птн 18:49:48 1364855387
image.png (26Кб, 614x237)
614x237
ПОМОГИТЕ НУБАСУ
мне надо чтоб экземпляры класса с конструктором были в цикле и это все потом вышло в текстбокс, пока что ничего не получается, либо все ломается по причине что я не присвоил объект класса, либо пишет какую то хуйню в текстбокс. Тащемта помогите
Аноним 15/03/19 Птн 19:59:09 1364903388
>>1364695
На какую зп ориентируешься?
Аноним 15/03/19 Птн 20:01:13 1364904389
>>1364855
Ты в цикле заново для каждого элемента массива создаешь экземпляр пустого класса. Чтобы что-то выводить тебе надо напрямую обращаться к свойствам (direction.Name, например), либо, если ты хочешь писать просто direction, переопредели метод ToString в своем классе.
Аноним 15/03/19 Птн 20:35:37 1364930390
>>1364855
Не надо создавать в цикле новые классы Philosophy, а нужно собрать их в одну строку через ToString();

Education.TextBox += (direction.ToString() + " ")

А еще ты как-то странно юзаешь текст бокс. Если у тебя выпадающий список, то нужно юзать значение Items для добавления новых вариантов выбора.
Аноним 15/03/19 Птн 22:49:59 1365009391
>>1364855
>ПОМОГИТЕ НУБАСУ
Задание выложи, а не свои каляки.
Вместо i < 3 используй размер массива. Да и сам массив можно сразу же инициализировать: "int[] a = {1, 2, 3};", не заботясь о фиксированном размере.
Текст можно без цикла получить: String.Join("\n", a);
Аноним 16/03/19 Суб 08:10:53 1365226392
>>1355877
Кто такое написал то? Тайпскрипт - хуета без задачь. Даже бывалые JS ники блюют глядя наэто всё. К тому-же понижает скорость написания кода раз в 10. Какой-то самоотсос получается.
Аноним 16/03/19 Суб 08:12:46 1365227393
>>1355907
Медленную хуйню написанную на коленке, которую даже сами разрабы ноды обоссали и в итоге перекочевали на Go (sic!) ты сравниваешь с шарпом? Парень, да ты либо уточка, либо какой-то зомби с промытыми мозгами.
Аноним 16/03/19 Суб 08:24:29 1365228394
>>1365226
>бывалые JS ники
главпетухи
Аноним 16/03/19 Суб 08:25:03 1365229395
>>1365227
>уточка
что такое уточка
Аноним 16/03/19 Суб 08:30:16 1365231396
>>1365229
Общеприменительно "Начал пользоваться сначала А, потом Б, считаешь А лучше только потому-что ты с него начинал".
Применительно к ЯП, это когда ты выучил 1 язык или фрэймворк, а на второй язык мозгов уже не хватает. Поэтому начинаешь бегать по интернету и везде кричать что именно твой язык лучше остальных, уже 100500 раз проходили сначала с джввистами, потом с рубистами, потом вылез дарт, потом нода, потом го, потом котлин, потом реакт. На деле никто не спорит что у определённых инструментов есть преимущества. Очевидно иначе бы они не создавались. Но использовать что-то одно для всего на свете довольно глупо.
Аноним 16/03/19 Суб 08:50:11 1365236397
>>1365231
ну просто это дефолтное имя в /fg/ вот у меня вопрос и возник
Аноним 16/03/19 Суб 09:01:40 1365237398
>>1365236
Захотел посмотреть что за /fg такое.
Захожу на борду, смотрю... удивляюсь.
Моё уважение. Если ты ещё и на C# пишешь, даже захотелось с тобой познакомиться, по крайней мере чаем\колой\винишком и картошкой фри я бы тебя угостил.
Аноним 16/03/19 Суб 09:06:33 1365238399
что за намеки, грр, я просто знаю что есть такая борда, давно на дваче сижу
Аноним 16/03/19 Суб 09:12:18 1365239400
>>1365238
Ты хреновый программист если не переодеваешься в маленькую девочку служанку в няшных чулочках во время написание кода дома.
Это даже не смена ориентации или что-то типа того, это что-то на уровне уровня абстракции. Ты больше не 30 летний Юрий Борисовичь с усами, ты можешь забить хуй на проблемы, счета, налоги, расходы, аренду, кредиты и прочую взрослую хуйню. Теперь ты няшная японская тянучка у которой есть C# и список задачь. А все остальные проблемы из головы можно выкинуть.
Производительность повышается в ёбаные разы.
Аноним 16/03/19 Суб 09:23:29 1365241401
Dci-MuBW0AAffBf.jpg (70Кб, 900x642)
900x642
frequently-boug[...].png (35Кб, 500x300)
500x300
Аноним 16/03/19 Суб 09:44:50 1365246402
>>1365009
Ну надо объявить массив экземпляров класса, заполнить его с помощью конструктора и на экран вывести
Аноним 16/03/19 Суб 09:55:18 1365247403
me29qhya6tpz.jpg (464Кб, 1410x2048)
1410x2048
>>1365239
звучит прямо как медитация по буддистски
наверное поэтому кодеры так любят удаленку

>>1365241
>ansi c
и потом эти люди пилят ведро линукса
Аноним 16/03/19 Суб 11:03:36 1365259404
>>1365246
Почему используешь текст бокс? Тебе надо три книжки вывести, или предполагается что будут добавляться новые?
Аноним 16/03/19 Суб 11:31:27 1365269405
>>1365247
>эти люди пилят ведро линукса
Там с этим всё совсем плохо. Смотрел фотки с их втреч, много кто довольно сильно поехал и даже в ЛГБТ ударился. Тут надо очень хорошо контролировать и понимать для чего ты это делаешь. Ну и за собой следить тоже не помешает.
Аноним 16/03/19 Суб 11:47:10 1365274406
>>1365259
предполагаются новые, пока я только 3 придумал
Аноним 16/03/19 Суб 12:10:04 1365285407
>>1365274
Почему ты используешь текстбокс? Это условие задачи или что?
Аноним 16/03/19 Суб 12:21:52 1365290408
>>1365285
нет не условие, я прост хз че ещё вместо текстбокса можно вбросить))
Аноним 16/03/19 Суб 12:38:42 1365294409
>>1365239
Значит я гавнокодер, потому что вместо всей этой параши (надевать чулоки под брюки, жрать тонны шоколада и принимать Фенотропил) я просто часок прогуляюсь по улице или схожу в ближайший парк.
Аноним 16/03/19 Суб 12:43:50 1365298410
>>1365294
>я просто часок прогуляюсь по улице или схожу в ближайший парк.
Гейство какое-то.
Аноним 16/03/19 Суб 12:49:21 1365300411
Сап поясните ньюфагу.
Создал базу данных с полями varchar и text форматов.
Создаю в студии сеттеры и геттеры, а там таких типов данных нет. Как так? Как выходить из ситуации?
Аноним 16/03/19 Суб 12:50:10 1365301412
>>1365290
ListBox или ListView лучше для твоей задачи, и массив не лучший вариант, когда нужно добавлять что-то новое в коллекцию, используй List. Полностью перепиши добавление и вывод под ListView или ListBox, список книг сделай полем класса формы чтобы к нему был доступ из каждого метода класса формы, запили добавление новой книги в коллекцию.

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

Почитай про разные конролы в формах, чтобы понимать где лучше применять тот или иной.
Аноним 16/03/19 Суб 12:51:12 1365302413
>>1365300
Как ты из базы данные достаешь?
Аноним 16/03/19 Суб 12:56:43 1365306414
>>1365301
ничего, мне не обидно, я не прошарен от слова совсем)
Аноним 16/03/19 Суб 12:57:47 1365307415
>>1365302
В датаконнекшне указал сервак и базу.
Конекчусь через коннекшн стринг.
Аноним 16/03/19 Суб 13:08:03 1365316416
>>1365307
Тебе нужно "SqlConnection" и "SqlCommand" отсюда "System.Data.SqlClient"

Вот как пример кусок кода из моей laba101.cs:
https://ideone.com/kM5H44

Если не тупой поймешь.
Аноним 16/03/19 Суб 13:11:43 1365319417
>>1365316
Спасибо няша, добра.
Аноним 16/03/19 Суб 13:16:19 1365323418
>>1365300
>Создаю в студии сеттеры и геттеры, а там таких типов данных нет. Как так? Как выходить из ситуации?
Ты троллишь? С какого хуя мсскуель и шарп вдруг одинаковые данные поддерживают?
Аноним 16/03/19 Суб 13:19:00 1365327419
>>1365323
Ты траллируешь? Я понимаю какие-то экзотические типы или блобы не саппортить, но варчар и дэйттайм не поддерживать как-то странно в 2019. Или я слишком многово прошу?
Аноним 16/03/19 Суб 13:21:47 1365330420
>>1365327
Увы, для того чтобы шарпец понимал данные из SQL их нужно приводить к типам шарпца, для этого есть две тонны методов в статическом классе Convert.
Аноним 16/03/19 Суб 13:23:08 1365333421
>>1365327
>но варчар
Иди читай начальную главу по шарпу, какой, блядь, варчар, ты из паскаля что ли перекатился?
Аноним 16/03/19 Суб 13:23:08 1365334422
>>1365327
>>1365330
И да, в шарпе есть дэйттайм и данные из SQL тоже можно спокойно к нему привести.
Аноним 16/03/19 Суб 13:27:10 1365339423
1.JPG (16Кб, 346x236)
346x236
>>1365333
Не бомби, я не хочу никого тут обидеть или разозлить, я сразу написал что я ньюфаг в этом деле и любой наверное анон из треда имеет в 10 раз больше опыта чем я.
Вот пикрил из MS SQL Server. тут варчар например. Почему бы и нет?
>>1365334
>>1365330
Спасибо няшки. Извиняюсь за глупые вопросы.
Аноним 16/03/19 Суб 13:33:49 1365342424
Аноним 16/03/19 Суб 13:53:37 1365361425
>>1365339
>я сразу написал что я ньюфаг
На будущее, если ты ньюфаг постарайся не вести себя так будто лучше всех шаришь, то что шарп по умолчанию не понимает данные из SQL это мировая практика, т.к в шарпе одни типы данных, а в SQL другие, устроены они по разному, хранятся по разному и т.д, естественно что их к друг-другу надо приводить, иначе и быть не может. Это все равно что в слот под HDMI пихать Дисплей-Порт без переходника, естественно нихуя не получится.

>Вот пикрил из MS SQL Server Managment Studio
Естественно там будут те же типы данных что и в SQL потому-что это программа для работы с SQL сервером.
Аноним 16/03/19 Суб 13:55:57 1365363426
>>1365361
>если ты ньюфаг постарайся не вести себя так будто лучше всех шаришь
А где он себя так вёл?
Аноним 16/03/19 Суб 13:57:35 1365364427
>>1365363
>Я понимаю какие-то экзотические типы или блобы не саппортить, но варчар и дэйттайм не поддерживать как-то странно в 2019. Или я слишком многово прошу?
Тут например.
Аноним 16/03/19 Суб 14:01:38 1365366428
>>1365364
Извините, не думал что это будет восприниматься как утверждение, скорее это был вопрос с рассуждением и надеждой на то, что может быть он поддерживает.
Больше я так не буду.
Аноним 16/03/19 Суб 17:31:24 1365480429
>>1365246
>Ну надо объявить массив экземпляров класса, заполнить его с помощью конструктора и на экран вывести
Ну так и вперед:
MyClass[] arr = {
new MyClass("a", 1),
new MyClass("b", 2),
// и т.д.
};

Текст для вывода всего разом получаешь типа так:
String.Join("\n", arr);
И суешь в свой текстбокс, консоль или куда там тебе надо. Но как тебе писали у твоего класса должен быть свой ToString() реализован, в котором у тебя что-то вроде: "return Text + Num;".
Аноним 16/03/19 Суб 23:14:11 1365697430
>>1355872 (OP)
Поясните ньюфагу - нахуя нужна рекурсия в шарпе?
Насколько я понял что все тоже самое можно сделать в цикле/циклами, опять же насколько я понял прироста в производительности как нет ибо во первых создается каждый раз метод в стеке, а потом еще и коллектор за остальными подъезжает, а сам синтаксис ебанутее и не понятнее дефолтных циклов как по мне.
Или я в чем-то не прав?
На собеседованиях на джуна/стажира их спрашивают?
Аноним 17/03/19 Вск 01:01:24 1365783431
>>1365697
Рекурсия - это весьма тонкий, острый и очень ОЧЕНЬ специфический инструмент хирурга который можно применять строго (СТРОГО БЛЯДЬ) в определённых случаях и строго когда ты понимаешь какую проблему он решит. Тот факт, что большинство преподавателей даже на курсах от самих майк вообще нихуя не вдупляют как их применять и например при мне просто заваливали процессор - является тому доказательством. Делать 99% задач циклом безопаснее и менее подвергнет твою программу воздействию со стороны рекурсий.
Аноним 17/03/19 Вск 02:30:58 1365816432
>>1365783
Можешь навести пример где лучше применить рекурсию?
Аноним 17/03/19 Вск 02:56:23 1365826433
Аноним 17/03/19 Вск 03:17:18 1365830434
>>1365816
На дваче повыёбываться. Больше примерно нигде.
Аноним 17/03/19 Вск 03:59:52 1365836435
Аноним 17/03/19 Вск 04:06:17 1365839436
>>1365830
Двачую. В 99.9% можно заменить do while.
Аноним 17/03/19 Вск 10:42:46 1365916437
>>1365697
>Поясните ньюфагу - нахуя нужна рекурсия в шарпе?
Ну, я ее использовал, например, когда писал программу, что чекает файлы в папках. То есть, ты никогда не знаешь сколько в папке еще папок, в том числе лежащих еще в папках, а рекурсия просто по очереди в каждую заходит и чекает до упора
Аноним 17/03/19 Вск 11:03:36 1365934438
Посоны, что по зарплатам у шарпо-господ? (Хочу понять, насколько у меня всё хуёво)
Аноним 17/03/19 Вск 11:08:22 1365936439
>>1365934
статистик в интернетах тебе по какой-то причине недостаточно?
Аноним 17/03/19 Вск 11:22:49 1365941440
>>1365916
While (true)
if (!eshe_papki) break;

?
Аноним 17/03/19 Вск 11:27:21 1365942441
>>1365936
Хочу данных по реальным (лол) людям. По знакомым джавистам сведений дохуя, а по шарпистам почти нет
Аноним 17/03/19 Вск 12:09:24 1365961442
>>1365941
>While (true)
>if (!eshe_papki) break;
Назад возвращаться как будешь, маня? Твой цикл дойдет до конца первых папок и все
Аноним 17/03/19 Вск 14:07:57 1366013443
>>1365961
Ладно, убедил, хотя можно было бы изъебнуться с добавлением директорий в стек наверное.

Другой вопрос, как и каким средством можно отследить вызовы метода кроме как вручную точкой остановки?
Аноним 17/03/19 Вск 15:34:14 1366050444
>>1365942
по идее зарплаты в джяве на децл больше
Аноним 17/03/19 Вск 21:37:47 1366232445
>>1366013
>Другой вопрос, как и каким средством можно отследить вызовы метода кроме как вручную точкой остановки?
ЧО?
Ну, добавь в метод
Console.Writline("Методы был вызван");
Аноним 18/03/19 Пнд 08:15:16 1366372446
>>1365826
Ну обойди дерево. Если оно большое, быстро поймёшь что где-то ты обосрался.
Аноним 18/03/19 Пнд 08:17:47 1366374447
>>1365961
>Назад возвращаться как будешь, маня?
А как ты в рекурсии возвращаешься маня? Вот и тут также.
Аноним 18/03/19 Пнд 08:19:02 1366376448
>>1366050
Такую хуйню все ждависты говорят. На деле дохрена знакомых работают по банкам за 30-45 тыщь. Ни одного живого не видел кто получает больше.
*в России.
Аноним 18/03/19 Пнд 08:30:16 1366380449
Сап двощь.
Хочу написать программу, суть такова. Надо хранить кучу сортированной информации с относительно быстрым доступом к ней. Тоесть что-то по типу базы данных. Но заморачиваться со всякими тулзами типа SQL серверов не особо охото. Как в таких случаях взрослые дяденьки выходят из ситуации?

Вот скажем есть программа домашняя бухгалтерия. Там всё расписано по датам, колонкам, сортируется, выбирается. При этом никакой серьёзной БД там нет.
Аноним 18/03/19 Пнд 08:39:19 1366382450
>>1366380
Как я понял, тебе нужно что-то компактное без сервера. Гугли про SQLite.
Аноним 18/03/19 Пнд 08:50:06 1366385451
>>1366382
Неплохо. А если юзер будет себе мою прогу качать, это надо будет отдельно ставить или можно будет прикрутить в установщик?
Аноним 18/03/19 Пнд 09:30:07 1366393452
>>1366385
SQLite - просто файлик с расширением .db, поэтому можно тупо в установщик прикрутить.
Аноним 18/03/19 Пнд 09:44:59 1366394453
>>1366380
>>1366382
А почему все говорят, что БД сервера огромные и громоздкие? Даже мой батя так говорит он 1сник.
Я сначала пугался, но сейчас монгодб стоит даже на моем некроноуте и ничо - все ноомально работает, как будто никакой БД и нет.
Это фича монгодб или бд начинают жрать ресурсы, когда у них появляется пару миллионов записей?
Аноним 18/03/19 Пнд 09:47:25 1366395454
Аноним 18/03/19 Пнд 10:21:00 1366402455
>>1366013
ультрапердолингом
хуки в CLR, но я даже не уверен, что получится сделать как-то обобщенно
либо через Dynamic Proxy, но это вынуждает менять сигнатуру методов, что не всегда оправданно (хотя что в laba1 может быть неоправданным?)
Аноним 18/03/19 Пнд 10:24:45 1366404456
>>1366394
>бд начинают жрать ресурсы, когда у них появляется пару миллионов записей?
как будто любое нечто, где появляется пару миллионов чего-то, не начинает выжирать ресурсы
бд сервер - это не только данные тех двух таблиц, где ты хранишь данные для своего говна, а еще и целая экосистема вокруг, драйвера и прочая поебота. и если она используется раз в день, никакого дискомфорта вызвать чисто физически не может
Аноним 18/03/19 Пнд 10:55:43 1366413457
>>1366404
> как будто любое нечто, где появляется пару миллионов чего-то, не начинает выжирать ресурсы
Справедливо. Но тогда какая разница между скулайт и скуэль-сервер?
> бд сервер - это не только данные тех двух таблиц, где ты хранишь данные для своего говна, а еще и целая экосистема вокруг, драйвера и прочая поебота. и если она используется раз в день, никакого дискомфорта вызвать чисто физически не может
Тогда какая разница между скулайт и скуэль-сервер?
Аноним 18/03/19 Пнд 11:29:45 1366422458
>>1366413
sqlite - встраиваемая, бесплатная, локальная онли

sql server - целая вселенная из всего, поддерживает кучу всякого говна из-под коробки нажатием одной клавиши. платишь дохуя вплоть до использования определенного количества ядер
Аноним 18/03/19 Пнд 12:44:15 1366458459
>>1366422
С каких пор скэуль платная? Разве нет опенсурс аналогов?
Аноним 18/03/19 Пнд 12:53:02 1366463460
>>1366458
>скуэль-сервер
SQL Server
не?

вообще, киллер-фича SQLite - это именно встраиваемость. я не знаю других ACID баз данных, которые бы подключались к приложению путем инклуда одной ссаной dll-ки. остальное сравнение можешь наковырять тут https://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems
Аноним 18/03/19 Пнд 12:53:05 1366464461
Аноним 18/03/19 Пнд 14:37:53 1366498462
>>1365783

А что сложного в рекурсии то? Я наример недавно писал метод который генерирует определенную метадату для типа (все поля и прочее посредством рефлексии)

Рекурсивно делаю метадату т.к некоторые поля типа могут быть сложными обьектами, если так то для каждого подобного сложного обьекта снова вызываю метод GenerateMetadata, в противном случае просто продолжаю
Аноним 18/03/19 Пнд 14:43:48 1366501463
>>1366498
Ещё раз, дело не в сложности, а в том, что она сжирает херову тучу процессора. По факту, когда у тебя много данных рекурсия почти равняется бесконечному циклу.
Аноним 18/03/19 Пнд 14:50:41 1366504464
>>1364695
Бля, сам хочу вкатиться в автотесты, меня тупо разрывает, идти по джаве или по c#?
Аноним 18/03/19 Пнд 14:58:15 1366513465
Аноним 18/03/19 Пнд 15:05:59 1366518466
>>1366513
То-есть ответить на элементарный вопрос ты не смог. Ясно всё с тобой.
Аноним 18/03/19 Пнд 15:06:22 1366519467
Аноним 18/03/19 Пнд 15:26:57 1366529468
>>1366374
Там не рекурсия нихуя, посмотри внимательно, схуяли цикл должен работать как рекурсия?
Аноним 18/03/19 Пнд 15:32:13 1366534469
>>1366529
Где там? Код рекурсивного обхода папок никто не показал.
Аноним 18/03/19 Пнд 15:39:26 1366538470
>>1366534
Ну так ты же пишешь что оно должно работать и так, хотя так оно нихуя не будет работать.

А рекурсивный алгоритм работает.
Аноним 18/03/19 Пнд 15:45:27 1366543471
>>1366538
Сцуко, вообще тебя не понимаю должно работать и так КАК?
>
Аноним 18/03/19 Пнд 15:46:27 1366545472
>>1366543
>так оно нихуя не будет работать.
Как?
>А рекурсивный алгоритм работает.
Ну так покажи.
*Сраная вакаба вместо Enter и переноса строки отправила пост

Я иду писать код без рекурсии если что.
Аноним 18/03/19 Пнд 15:47:31 1366546473
>>1366501
А как это сжирание памяти решается во всяких f# и хацкелях? Там ведь даже циклов нет, все через рекурсию.
Аноним 18/03/19 Пнд 15:48:57 1366547474
>>1366546
Я пищу как-то не так или может что-то у меня со способом выражения мыслей? Где ты прочитал в моём посте про память то?
Аноним 18/03/19 Пнд 15:49:29 1366548475
>>1366501
>сжирает херову тучу процессора
Ахуеть, приплыли.
Аноним 18/03/19 Пнд 15:50:44 1366550476
>>1366548
Когда тебе амазон выставит счёт на 20к баксов за превышение лимитов, тогда и приплывёшь.
Аноним 18/03/19 Пнд 15:54:50 1366553477
>>1366543
>While (true)
>if (!eshe_papki) break;
Анон ответил на это - >>1365961
>Назад возвращаться как будешь, маня? Твой цикл дойдет до конца первых папок и все
Ты ответил - >>1366374
>А как ты в рекурсии возвращаешься маня?
Цикл не работает как рекурсия точно так же как и рекурсия не работает как цикл, рекурсия пройдет по всем подпапкам, а вот такой цикл пройдет по первой ветке до последней подпапки и будет считать что и так норм.

>>1366545
>Ну так покажи.
У тебя нет рук загуглить хотя бы как рекурсия работает? Я на работе, не могу тратить время еще и на написание кода за тебя.
Аноним 18/03/19 Пнд 15:56:17 1366555478
>>1366553
ты работаешь на работе что-ли?
Аноним 18/03/19 Пнд 15:56:49 1366558479
>>1366547
В глаза ебусь. А чем рекурсия жрет процессор? Она ведь только стэк отжирает. Ну и вопрос тот же - как в фп живется, еслм там даже циклов нет и рекурсия быстро переполнит стэк?
Аноним 18/03/19 Пнд 15:58:46 1366560480
>>1366550
Вот и выросло поколение, которое не знает, что именно сжирает рекурсия. (подсказка, не процессор)
Аноним 18/03/19 Пнд 16:12:27 1366571481
Аноним 18/03/19 Пнд 16:15:37 1366573482
Аноним 18/03/19 Пнд 16:16:34 1366575483
>>1366553
Рекурсия потенциально может вызвать исключение переполнения стека, если дерево каталога большое и имеет большой уровень вложения. У меня например на работе каждый блядский второй каталог такой.
Аноним 18/03/19 Пнд 16:17:30 1366576484
>>1366553
>Я на работе, не могу тратить время еще и на написание кода за тебя.
Скорее так, ты в душе не знаешь как писать это рекурсией, но пацаны сказали что это норм. А вот хуй.
Аноним 18/03/19 Пнд 16:25:31 1366584485
>>1366573
Не знаю, видимо там есть какие-то свои заморочки. Опять же судя по тому что я нагуглил, там сильно юзают оптимизацию хвостовой рекурсии, что немного ситуацию "упрощает".
А вообще хаскель видимо поэтому не особо и распространён.
Аноним 18/03/19 Пнд 16:29:19 1366590486
>>1366372
Обойти его циклом будет в разы сложнее, трудозатратнее, неэффективнее и дольше.

1 мб в стеке хватает на все случаи жизни, не представляю каким дерево должно быть чтобы завалить стек при его рекурсивном обходе например в ВУЗике когда мы проходили рекурсию квиксорт на моих глазах отсортировал массив из 200к интовых значений в считанные секунды, тогда как тот-же бабл сорт на это тратил почти две минуты, ничего не завалилось ни у кого, если 1 мб внезапно не хватает, то можно увеличить размер стека. Завалить стек могут кривые руки, но тут сама рекурсия не при чем, потому-что кривые руки могут сделать это и без неё.
Аноним 18/03/19 Пнд 16:29:44 1366592487
>>1366573
Ты видел живых людей которые на этом пишут? Я один раз хаскелиста видел. При этом я два раза в природе в России видел живого дикого медведя. При этом выглядил Хаскелист примерно также. Будто очнулся от 6 месячной спячки и смотрел на меня как на говно.
Аноним 18/03/19 Пнд 16:30:06 1366593488
>>1366576
>Скорее так
Да-да, как ты меня раскрыл?
Аноним 18/03/19 Пнд 16:30:48 1366594489
>>1366590
>1 мб в стеке хватает на все случаи жизни
Дальше можно не читать.
Бери числа фибоначи, вычисляй.
Аноним 18/03/19 Пнд 16:32:34 1366596490
>>1366590
Я правильно понял что ты только что рекурсию с алгоритмом сортировки спутал?
Аноним 18/03/19 Пнд 16:35:20 1366601491
>>1366596
Там был QuickSort как пример рекурсии.
Аноним 18/03/19 Пнд 16:38:07 1366605492
Аноним 18/03/19 Пнд 16:43:35 1366607493
>>1366590
>1 мб в стеке хватает на все случаи жизни
Дадада мальчик, мы помним.
640K ought to be enough for anybody
Сразу видно опытного программиста с примерами из лаб. Спасибо.
Аноним 18/03/19 Пнд 16:44:10 1366608494
>>1366605
Суть примерно в следующем.
10 итераций и тобi пiзда.
Аноним 18/03/19 Пнд 16:57:20 1366613495
>>1366584
> А вообще хаскель видимо поэтому не особо и распространён.
У него проблема в том, что он сильно отличается от других языков. Блять, да в нем даже переменных нет, не говоря уж об ООП и привычных всем паттернах.
>>1366592
Ну я сам его немного изучаю. написал хелловорлд месяц назад и забил. Язык мне понравился особенно classtypes, это интерфейсы с дженериками на максималках, не вижу смысла в динамической типизации после них, но в нем все равно есть недостатки - например, все говорят, что тип для входного параметра функции, это ее область значений, но при этом существуют функции типа head, которая должна принимать любой список, но при приеме пустого кидает ексепшн. Ну и нахуй нужны эти типы, если они все равно не работают?
Аноним 18/03/19 Пнд 16:59:48 1366615496
>>1366613
>функциональный язык
>ООП
>паттерны
Аноним 18/03/19 Пнд 17:01:52 1366616497
>>1366607
Ну да, опытные программисты же должны по умолчанию избегать какого-либо инструмента, даже когда он уместен, только потому-что страшна що стэк сожрет, при том что оно нихуя не сожрет, если уместно.
Аноним 18/03/19 Пнд 17:03:53 1366618498
>>1366616
>Ой да не сожрёт он стек
>Я лабу делал всё работало
Ты сейчас серьёзно пытаешься выставить это как аргумент?
Аноним 18/03/19 Пнд 17:06:57 1366619499
>>1366618
Я не он, но прекрасно траверсил дерево 60 метрового HIPAA документа.
Аноним 18/03/19 Пнд 17:10:14 1366622500
Аноним 18/03/19 Пнд 17:11:34 1366624501
>>1366615
Ты читать умеешь? Я же написал, что всего этого в хвцкеле нет, впрочем, как и во всей парадигме ФП. Но 99% программистов выучились мыслить м погромировать императивно, поэтому им нахуй не нужен этот ФП.
Аноним 18/03/19 Пнд 17:12:29 1366626502
>>1366622
Хуй в оче, если ты не знаешь как работать с рекурсией - не еби мозг посетителям треда.
Аноним 18/03/19 Пнд 17:12:34 1366627503
Ой бля, бамплимит уже.
Аноним 18/03/19 Пнд 17:16:36 1366632504
>>1366626
Лол, с первого вопроса бомбанул. Суть то твоего поста в чём? В документе деревьев много или что? Или там формат особоый который в 60 метрах миллиард деревьев содержит? Каким хером это хороший пример обьясни?
>ты не знаешь как работать с рекурсией
Я то знаю глупенький. Поэтому и предпочитаю этого не делать. А вот такие выскочки как раз ничего не знают. Слышали что это круто, а как начинаешь распрашивать про примеры и конкретные ситуации - сразу сливаются. Вот и ты слился сразу. Никаких деталей нет, кода нет, дал параметр 60 метров и всё. Молодец. Дальше что?
Аноним 18/03/19 Пнд 17:22:34 1366634505
>>1366619
>Health Insurance Portability and Accountability Act
Один лабу принёс, второй в ворде поработал. Суть всех кто рекурсии юзает. Реальный проект только у анона с директориями, и то он его написал без рекурсий.
Аноним 18/03/19 Пнд 17:28:23 1366635506
>>1366632
Ты уже заебал просто, я не говорю что её надо использовать везде и всегда, мань, хватит выдавать свои мысли за мои аргументы.

А если ты считаешь что рекурсия нинужна, это еще не значит что она не нужна, я это и пытаюсь объяснить. Есть случаи когда она предпочтительнее цикла, если ты это отрицаешь то попадаешь в список долбоебов автоматически.

>>1366634
>Реальный проект только у анона с директориями, и то он его написал без рекурсий.
Ты про этого? >>1365916 Он же прямым тесктом написал что таки использовал рекурсию.
Аноним 18/03/19 Пнд 17:30:39 1366637507
>>1366635
>Реальный проект только у анона с директориями, и то он его написал без рекурсий.
>Ты про этого? >>1365916
А где у него проект то? Код он так и не выложил. Я про этого.
>>1366571
Аноним 18/03/19 Пнд 17:31:46 1366640508
>>1366635
>Почему ты приводишь именно этот пример, обьясни
>попадаешь в список долбоебов автоматически.
Ну вот видишь как мы с тобой быстро разобрались.
Аноним 18/03/19 Пнд 17:33:36 1366641509
Аноним 18/03/19 Пнд 17:34:09 1366643510
>>1366640
Ну да, ты записал себя в долбоебы и слился в пук гринтекстом, быстро с тобой разобрались.
Аноним 18/03/19 Пнд 17:38:20 1366645511
>>1366637
Это реальный проект? Это хороший код?
Аноним 18/03/19 Пнд 17:38:27 1366646512
>>1366643
Ты не смог про свой собственный >>1366619 код рассказать ничего. Придумал что я считаю что "рекурсия ненужна", хотя вот >>1365783 тут ясно всё написано, а теперь ты ещё и до пуков скатился. Ясно школьник. Себя в долбоёбы запиши.
Аноним 18/03/19 Пнд 17:47:08 1366650513
>>1366646
Во первых - ты изначально скатился в оскорбления и неоправданную агрессию к примеру из лабы, хотя пост был вообще не об этом.

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

В третьих - школьник тут только ты.
Аноним 18/03/19 Пнд 17:47:39 1366651514
>>1366645
>Это реальный проект?
В смысле "реальный"? Он компилируется и работает. Или ты сейчас попытаешься доебаться что он не написал тебе программу за 5 минут?
>Это хороший код?
Посмотрим что там написали другие аноны? А, ну да, ничего.
Аноним 18/03/19 Пнд 17:53:03 1366654515
>>1366650
>ты изначально скатился в оскорбления и неоправданную агрессию к примеру из лабы
Я написал что человек который применял рекурсии только на лабах - не совсем может судить об их практическом применении. Если его это оскорбляет - её проблемы. Я эту цель не преследовал.
>я свою позицию давно высказал
Ты обосрался с первого же поста и начал всех называть долбоёбами как только у тебя спросили подробности по проекту.
Аноним 18/03/19 Пнд 18:00:28 1366657516
>>1366654
>Ты обосрался с первого же поста и начал всех называть долбоёбами как только у тебя спросили подробности по проекту.
Я анон с лабой, а не анон этот >>1366619

Какая разница откуда пример, если рекурсия это только инструмент и успех зависит только от кого кто ей пользуется, это мой изначальный поинт с которым ты по всей видимости не согласен.
Аноним 18/03/19 Пнд 18:05:40 1366659517
>>1366657
>Какая разница откуда пример, если рекурсия это только инструмент и успех зависит только от кого кто ей пользуется, это мой изначальный поинт с которым ты по всей видимости не согласен.
Это и мой пойнт >>1365783 Анон дальше привёл пример обхода директорий, я показал его слабые стороны. Ты же приехал с лабой, и сказал что рекурсия лучше потому-что ты 1 раз её применил. Чувствуешь разницу?
Аноним 18/03/19 Пнд 18:08:23 1366661518
>>1366657
Там два или три человека обсуждали рекурсии. Ты ворвался к ним с примером из лабы и решил что ты эксперт с 1 примером и всех можешь поставить на место?
>мой изначальный поинт с которым ты по всей видимости не согласен.
Для информации, ты сейчас взял информацию с потолка и сам на неё обиделся.
Аноним 18/03/19 Пнд 18:11:25 1366662519
>>1366613
Проблема Хаскеля в том, что я года 3 пытаюсь понять что пишут хаскелисты, какие программы, и кто их потом использует. А так да, в чатах постоянно врываются, всем рассказывают какой хороший язык.
Аноним 18/03/19 Пнд 18:23:07 1366666520
>>1366657
Я же тебе пояснил в чём проблема >>1366594 тут. Самый простейший и лёгкий пример когда стек забивается. Но ты почему-то подумал что неприязнь лично к тебе, лол.
Аноним 18/03/19 Пнд 18:28:49 1366667521
>>1366666
Сотона прав, рекурсии могут применять только синьоры помидоры 10+ лет опыта.
Аноним 18/03/19 Пнд 18:50:14 1366672522
Блядь, вы чо, обезумели тут что ли? Вот вам метод из той самой программы с директориями

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());
}
}
Аноним 18/03/19 Пнд 18:51:40 1366673523
>>1366659
Ну где я сказал что рекурсия лучше? Я сказал что она лучше конкретно применимо к деревьям, а не в 100% случаев.

>>1366661
>Ты ворвался к ним с примером из лабы и решил что ты эксперт с 1 примером и всех можешь поставить на место?
Потому-что я считаю что это как отказаться от плоских отверток, и пользоваться только крестовыми, потому-что мы боимся что плоские отвертки не так хорошо закручивают саморезы. Под каждый инструмент есть применение, иначе его бы просто не существовало, это глупо отрицать, таков мой поинт, а анон приебался к тому что я пример из лабы притащил, что-то сродни доебу к грамматике в любом другом споре. Естественно у меня подгорело.

>Самый простейший и лёгкий пример когда стек забивается.
У меня не забивался когда я их вычислял в ВУЗике, или ты имеешь ввиду написать Fib(100500) и посмотреть как все валится? Ну так не мудрено.
Аноним 18/03/19 Пнд 19:22:17 1366684524
>>1366376
>30-45 тыщь
Ну, так-то даже 30 штук баксов в год неплохо для какого-нибудь Мухосранска, чай, не в Калифорнии живёте.
Аноним 18/03/19 Пнд 19:35:52 1366693525
>>1366624
>99% программистов
иссессно. потому, что функциональная парадигма имеет не очень широкий пул применений. и те же 99% погромистов никогда не столкнутся даже с гипотетической необходимостью программировать функционально. а потуги разрабов языков запихнуть фп к себе, шобы быть модными, ничего, кроме фэйспалмов, не вызывает
Аноним 18/03/19 Пнд 23:18:43 1366803526
Поцаны, где брать задачки попроще, на всякие массивы, циклы и побольше? Начал читать с# плеер гайд, дошел до пилежки крестиков-ноликов, ну это какая-то пизда. Мне такое не сделать.
Аноним 18/03/19 Пнд 23:29:32 1366810527
>>1366803
А что там сложного?
Аноним 18/03/19 Пнд 23:43:14 1366819528
>>1366810
Да я просто тупой. Не могу понять как там сделать взаимодействие классов друг с другом.
Аноним 19/03/19 Втр 01:24:06 1366864529
>>1366819
А про какое взаимодействие идет речь/ты подразумеваешь?
Аноним 19/03/19 Втр 02:41:53 1366874530
Аноним 19/03/19 Втр 02:42:51 1366875531
За ночь не перекатили ленивый программисты.
Аноним 19/03/19 Втр 03:02:12 1366877532
>>1365238
>сидит на /fg
>знает их мемы про уток
>Оправдывается что не из этих
Лол, смешно. Но вообще в случае чего тебя никто не осуждает.
Аноним 19/03/19 Втр 04:24:38 1366887533
Аноним 19/03/19 Втр 04:25:12 1366888534
Перекатываемся в другой тред няшки.
>>1366885 (OP)

Аноним 21/03/19 Чтв 22:20:25 1368174535
>>1355872 (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" является тип, который недопустим в данном контексте.
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Топ тредов
Избранное