Это копия, сохраненная 25 октября 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.
Литература вторым постом
1. Ресурсы:
- http://stackoverflow.com/questions/tagged/c#
- http://www.tutorialspoint.com/csharp/
- http://professorweb.ru
- http://net-informations.com
- http://habrahabr.ru/hub/csharp/
2. Онлайн-компиляторы:
- https://dotnetfiddle.net/ - возможно лучший вариант. Встроено немного убогое, но все-таки автодополнение и проверка синтаксиса.
- http://ideone.com/
- http://csharppad.com/
- http://www.tutorialspoint.com/compile_csharp_online.php
- http://rextester.com/l/csharp_online_compiler
3. WinForms или WPF?
Зависит от задачи. Для небольших проектов, скорее всего, будет достаточно винформочек. В случае, если разрабатываемое приложение достаточно серьёзное, то возможно его стоит писать с использованием WPF. WPF очень хорошо работает с паттерном MVVM ( https://ru.wikipedia.org/wiki/Model-View-ViewModel ), и позволяет пилить очень кастомизированные интерфейсы с помощью XAML, что в случае WinForms, делать намного сложнее.
4. Мне тут знакомый_нейм сказал, что C# умирает, это правда? Может не стоит его учить?
Неправда. C# довольно активно развивается, недавно вышел новый компилятор, шестая версия шарпа, и уже активно разработывается седьмая. Весь дотнет понемногу становится опенсорсным, а ASP.NET становится независимым от платформы. В некотором смысле понемногу вымирают десктопные приложения с развитием веб-технологий, но в том же энтерпрайзе он еще очень даже востребован.
5. Какую ИДЕ выбрать?
Для Windows самым очевидным вариантом будет Visual Studio (https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx). Студия распространяется в двух редакциях: бесплатная коммьюнити-версия и платный энтерпрейс эдишн. В большинстве случае будет достаточно Community-версии: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополнений
Для мака и никсов самый юзабельный вариант - MonoDevelop ( http://www.monodevelop.com/download/ ).
Для vim можно использовать OmniSharp ( https://github.com/OmniSharp/omnisharp-vim ).
Кросплатформенный полуредактор/полуIDE VS Code ( https://www.visualstudio.com/en-us/products/code-vs.aspx )
Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.
Кроме того, в данный момент JetBrains активно пилит свою IDE для шарпа (Project Rider), вероятно в ближайшее время станут доступны первые EAP. IDE заявлена как кросплатформенная, со всем решарпер-функционалом, поддержкой отладки, моно и .net core.
SharpDevelop - еще одна IDE для C#, отличается малым размером (около 20мб) и опциональной портабельностью, при этом имея дизайнер WinForms и WPF, а также интеграцию с FxCop, StyleCop и прочими ништяками. Если хочется что-то по быстрому набросать, а выкачивать гигабйты нет желания, то возможно SharpDevelop будет лучшим вариантом.
6. С# для мобильной разработки
Если нужны инструменты для разработке под мобилы, ставь сразу VS2015 и при установке выбирай все нужные компоненты.
Больше информации тут - 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 Overview
Новые возможности C# 6.0: https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C#-6
ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕ
Код этой шапки: http://pastebin.com/cKKXYArs
Прошлый тред тонет здесь: https://2ch.hk/pr/res/1455468.html (М)
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
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
Феликс
Аноны, кто на WPF свои контролы создавал? Есть вопрос
Допустим, есть генератор сигналов. Там можно выбрать тип и параметры сигнала, который он будет делать. Его лучше оформить как компонент? Или похуй, и можно оставить в файле окна?
А если создавать свой компонент, от какого класса наследоваться?
Нашёл мануал на professorweb, но он нифига не интуитивно понятный
Рафталия будет в следующем треде, няша. Не переживай. А пока ей нужно немного отдохнуть.
Есть WPF и есть один листбокс. Как водитя в него рендерятся несколько тысяч юзерконтрольных айтемов где на борту оче малая пикча и несколько текстовых полей.
Я явно что-то делаю не так - эта хуита даже без прогрузки изображений с сервера умудряется давать время загрузки порядка 1-2 минут. При этом после загрузки всё работает без нареканий даже на слабых компах.
Добавление сейчас происходит следующим образом, подозреваю в этом и проблема:
1. Формируется List<usercontrolname>() на основе айтемов из списка прилетающего из базы данных.
2. Листбоксный сурс это теперь список из пункта 1.
3. Далее сурс фильтруется как угодно и проблем не возникает, отображение большего-меньшего числа объектов идут без видимых задержек.
Выделение в отдельный контрол по сути просто выделение нового класса. Если этот функционал будет повторятся, или этот код должен быть легко переносимым значит надо. Наследоваться от UserControl.
Есть уроки WPF в виде разработки приложения. Я лично оттуда понял как этими юзерконтролами пользоваться. Ну а по сути там сложного по идее нету, делаешь как обычный UI, а отображаемую информацию биндишь к свойствам зависимости, которые ты напишешь.
https://www.youtube.com/watch?v=vaeg0Gwzybw&list=PLrW43fNmjaQVYF4zgsD0oL9Iv6u23PI6M&index=14
Что там непонятного на проффесорвебе про создания контролов? Глава про создание контрола без внешнего вида. Разумеется, что б поняьт ее надо прочитать и предыдущие и про ДП, и про стили/шаблоны.
>>66389
>в него рендерятся несколько тысяч юзерконтрольных айтемов
Интерфейс он для юзера. Покажи того гигантоголоого юзера, который может воспринимать 1000 объектов. Посему делай виртуализацию своей хуйни и показывай штук по 10.
>делай виртуализацию своей хуйни и показывай штук по 10
Так она же по идее и так работает, иначе бы лагание было при перелистывании и фильтровке уже заполненного листбокса, не?
Да тут нет однозначно правильного ответа. В основном зависит от контекста использования. Можешь попробовать начать сверху вниз. Т.е. сначала интерфейс потребителя, потом интерфесы поставщиков, тогда будет легче сориентироваться что где должно быть и так 10 раз, пока не появится вменяемая архитектура. Кстати, SummaryTime можно не хранить, а сделать процедуру в бд, которая будет его высчитывать. Конечно, чуть дольше получение, зато при добавлении Request не надо обновлять Site.
>>66404
Так у тебя наверняка тупит создание 9000 контролов. Ты либо обновляй вьюмодель существующих контролов (т.е. у тебя будет 10 юзеконтролов, в которые данные будут пихаться динамически) либо создавай list<usercontrolViewmodel> а сами контролы создавай при необходимости либо еще как. В любом случае 1000 контролов это наркомания.
>наверняка тупит создание 9000 контролов
Именно оно и тормозит, причём судя по всему за счёт одного голого InitializeComponent();
обновляй вьюмодель существующих контролов (т.е. у тебя будет 10 юзеконтролов, в которые данные будут пихаться динамически)
Блять, разметка
>обновляй вьюмодель существующих контролов (т.е. у тебя будет 10 юзеконтролов, в которые данные будут пихаться динамически)
Ну так мне буквально 4х хватит, однако скролбар тогда точно к хуям пойдёт, что недопустимо.
Есть ещё подозрение что есть сбайндить список импорта к листбоксу и привязать туда темплейт то может другая обработка быть.
Ну и традиционно посетую что в данном случае спас бы неоднотредовый UI.
спасибо
Воу, падажи. У листбокса же есть DataTempate или как его там. Его и настрой для отображения твоих сущностей.
Какого хера опять эта пидорасня на ОП-пике?
Чем тебе девка в платьях не угодила?
Перекатился, друзья!
>Создал проект с графическим интерфейсом
>Хотел потестить в режиме консоли
wut?
Создавай отдельное консольное приложение и тести что хочешь.
>>66502
>Создавай отдельное консольное приложение
Но мне этот класс нужен будет в графическом проекте. Почему я должен таскать его из проекта в проект, если мог бы просто временно перенаправить точку входа в программу, а затем вернуть?
Так-то я именно так и поступил, когда не нашёл мейна, но хотелось бы иметь возможность делать это нормально.
>>66502
>В MainWindow.
Не вижу. Я заскринил все, что есть в том файле, вроде ничего похожего на Main нет.
Сори, я просто с джавы перекатываюсь.
тута.
только желательно не пиши в этом конструкторе многа кода. сделай просто вызов отдельного метода. типа:
public MainWindow()
{
ConsoleLog();
}
private void ConsoleLog()
{
//тут остальная логика
}
а вообще, это винформс? там вроде есть событие form loaded или типа того
ну и InitializeComponent(); оставь конечно)
Знаю wpf/winforms, xamarin.android, работу с бд(mysql,litedb, sqlite), entity framework(с mysql), потихоньку учу LINQ.
Писал свои .dll, пробовал в Unity
Ну и сам C# и ООП(на среднем уровне)
Всё, понял. Большое спасибо.
>Блять где тут метод Main?
Я тут! Но ты туда не лезь, сломаешь все нахер. Если надо что-то сделать при при загрузке/инициализации и т.д. иди в App.xaml.cs и там переопределяй виртуальные методы, например, OnStartup.
Цель: опыт командной и вообще разработки, набивания гита.
Устаревшая литература. Скоро уже с# 8.0 выходит и книги соответственно тоже.
Т.е. можно уже читать с# 7.0 как минимум.
11 пункт хуйня кроме одной книги
Наконец-то православная шапка у треда. Аве Феликс!
О. Тоже большое спасибо.
Дописал я классы, разобрался более менее. Тепрь вопрос по интерфейсам. Чего такое Blend и нужен ли он мне? Ну, в смысле, он накатился вместе со студией, нужен, видимо, для построения интерфейса. Но ведь в самой студии, когда открываешь xaml уже есть какой-то встроенный инструментарий. Blend лучше? Чем?
Изначально, одной из фишек впф, которые в него закладывали, было то, что внешний вид могут создавать дизайнеры, которые не шарят в программировании. Вот для этого блэнд и сделан - для дизайнеров. Лично я не пользовался, наверняка там есть какие-то плюшки. Но если в нем таскать контролы как на формах, то получается слишком грязный и захардкоженный xaml, который все равно придется править руками.
Все задачники, что я встречал лютая хрень, даже называть авторов не буду. Так что иди на киберфорум, там выкладывают десятки задач каждый день. А с приближением сессии просто лавина их. Еще есть всякие codewars и аналоги.
Вот тут вижу DockPanel
https://docs.microsoft.com/ru-ru/visualstudio/designers/organize-objects-into-layout-containers-in-xaml-designer?view=vs-2017
Но она только для WPF? Это значит, что с Net Core (который вроде кросплатформенный?) её юзать нельзя?
Советую ASP.Net Core. Сейчас в европе много мест. У нас один из Вьетнама такой работает.
Требованиями учить Spring в вакансиях. Мне прям противно. Мне не нравится его архитектура совсем.
Типа, очень люблю Java и вид её кода, мне приятно смотреть, приятно читать, приятно писать. Но Spring оперирует всем этим инструментарием иначе, не так как основная джава. Он его извращает. Бины-хуины, блять.
А в C# нужно сам .NET учить, он вроде норм.
Хотя я искренне не понимаю, кстати, чем шарпистам не угодил Coding Style джавы. Зачем методы с большой буквы..? Вы не подумайте, я придерживаюсь того, что принято в языке, но не понимаю.
>>67324
>авалонии
Это чёт внешнее, не из нет-кора? Спасибо, я посмотрю, но сначала наверное, разберусь с обычным подходом. Наверное, просто стоит посмореть в видеоформате как тут принято проектировать интерфейсы. С BorderLayout все совсем просто было, тут конечно есть стек и сеточка, но они несколько не универсальны, на мой взгляд.
> Это чёт внешнее, не из нет-кора?
Не боись, оно хоть и внешнее, но в студию ставица искаропки.
>разберусь с обычным подходом.
А нет в коре обычного подхода для ГУЯ, потому что нет гуя. В 3.0 завезут, но виндовс онли.
Если хочешь быть десктопщиком вместо спринга будешь учить WPF, а там тоже ебли...
И не .net надо учить, рихтера раскури и хватит. .net core и деплой на линукс + веб сейчас самая горячая картошечка для шарписта.
Есть тут знатоки Entity Framework'а?
У меня связь один ко многим(или многие ко многим, хз)
Есть карты и есть строка отчета.К строке отчета нужно присвоить определенную карту из списка карт.
Реализация сущностей классов строки отчета и карт в бд на скринах.
Когда я создаю строку отчета, я вытаскиваю нужную карту и пытаюсь создать связь между этой картой и строкой отчета, но при попытке сохранения изменений в базу, получаю ошибку, дескать карта с таким Id уже существует.
Как я понимаю, он пытается сохранить эту карту в бд по новой.
А как просто создать связь между существующей картой и строкой отчета?
Понял, посмотрим. Спасибо большое.
>>67412
Ух. А я-то думал микрософт идёт к светлому кроссплатформенному будущему для C#?
Вон, статьи какие-то по портированию на сайте лежат
https://docs.microsoft.com/ru-ru/dotnet/core/porting/wpf
>>67431
Ну, я пока не очень углубился, но WPF выглядит приятнее с точки зрения чтения. Хотя, я так понимаю, что вся .NET платформа состоит из разрозненных полу-легаси кусков, с которыми самим майкам тяжело разбираться.
>Вон, статьи какие-то по портированию на сайте лежат
В первом же абзаце
>WPF это платформа, которая по-прежнему поддерживается и функционирует только в ОС Windows.
>>67629
>разрозненных полу-легаси кусков, с которыми самим майкам тяжело разбираться.
Я бы так не сказал, но кор идет в сторону максимальной модульности, где на каждую фичу нужен нугет пакет.
3-4 года при условии что кодил не каждый день
1280x720, 0:01
да кстати, надо бы и туда вкатиться. думаю будет теперь легче, так как знаю уже другой веб фреймворк
да и на рынке смотрю каждая вторая вакансия про asp net
private IEnumerable<T> PreOrderTraversal(BinarySearchTreeNode<T> root)
{
if (root != null)
{
yield return root.Value;
PreOrderTraversal(root.Left);
PreOrderTraversal(root.Right);
}
}
Всё, понял, вместо PreOrderTraversal(root.Left) надо пихать foreach.
>Ух. А я-то думал микрософт идёт к светлому кроссплатформенному будущему для C#?
Идут. Но сейчас расклад такой - для всего связанного с вебом, рестом, GraphQL и бакэндами используется .net core.
Для десктопа под винду - полулегаси .net framework с необходимыми либами под винду.
Планы у мелкомягких на ближайшее будущее - выпустить .net core 3.0 (сейчас 2.2 топ версия) где будет толпа фич и серверсайд Blazor (ОХУЕННАЯ вещь у которой хоть и есть лютые недостатки, но потенциал у неё очень хороший. Вкратце - это возможность писать фронтенд на C#. Полноценный фронтэнд. Без JS вообще.)
На долгосрочное будущее они хотят слить .net framework и .net core в одну ветку которую тупо назовут .net 5 (без фреймворка и кора), и там будет всё подряд - и гуи (мейби только под виндовс, хуй знает, я не помню анонсы мелкомягких), и десктоп, и веб, и кросплатформа и клиент-сайд блейзор, и моно, и вообще всё.
Забыл добавить что в .net 5 будет и восьмой c#, накакнецта, и полный опенсорс всего этого говна.
Про блейзуху подробнее - это по сути два решения, сервер-сайд и клиент-сайд. Скоро релизнут сервер-сайд, это фронтэнд на c# который компилируется на сервере и клиенту идет тупо уже отрендеренное говно на html. Все действия клиента обрабатываются в рамках одного подключения (вебсокет). В этом же и существенный и главный минус этого говна - если у клиента РАЗРЫВ то состояние сбрасывается, и хз как с этим быть. В принципе для мелких внутренних приложений подходит, но для полноценных сайтов юзать бы не стал. А так сверстать что-то для внутреннего пользования одно удовольствие.
Клиент-сайд это другая песня. Он и ща доступен, но в бета релизе где работает не особо много всякого. По сути это Mono скомпилированный на web-assembly, что позволяет напрямую у клиента в браузере гонять шарпы.
Это уже де факто полноценная замена JS.
Единственные подводные камни, в том, что возможно эта хуйня будет много весить (мелкомягкие богом клянутся что скомпиленный пакет весит метров 8, не больше) и жрать ресурсы как не в себя, но на данный момент гоняет довольно шустро и приятно. А писать, особенно с @razor-синтаксисом так вообще великолепно. Такие дела.
И я хотел бы избавиться от лишнего шума и локализовать области, в которых нужно искать те четырехугольники, которые не прошли изначальную фильтрацию.
Есть у кого-нибудь сэмпл докерфайла для асп.нет кора 2.2?
60k
>Blazor
Выглядит охуенно, но ведь как он работает под капотом?
.net Переводит его в jquery?
ведь JS Без blazer невозможно читать, а C# Blazor под blazer может вызвать оргазм
<......... Title="MainWindow" Height="720" Width="1280">
И я, больной ублюдок, хочу сделать кнопку, которая занимала бы все окно. При любом изменении его размеров. Ну, в духе
<.............Title="Button1" Height=MainWindow.Height Width=MainWindow.Width>
Но чёт я не понимаю как.
В свинге-то никакого XML не было, можно было просто в коде приравнять значения и каждый кадр они перерисовывались. А тут как?
Устанавливай алигменты в стретч (хотя вроде по умолчанию так и должно быть). Возможно придется в грид сначала запихать, не помню как оно там (т.е. window->grid->button). А вот хардкодить значения тухлая идея, тогда уж биндинги используй.
Сап, двач.
Решил вкатится в C# окончательно, после года скитаний по хуйцам в виде разных языков, типо джавы, крестов и прочей хуеты.
Вакансии есть, деньги платятся, язык простой и интересный
Вопрос1:
есть массив двумерный уровня
string[][] l1 = new string[3][];
Console.WriteLine(l1.Length);
Выдает 3.
и
есть массив
int[,] l1 = new int[3,423];
Console.WriteLine(l1.Length);
Выдает 1269
Ввиду этого вопрос.
функция .Length в двумерных массивах возвращает что?
Тип int-это понятно? Но она выдает число строк, число столбцов,
или число всех элементов во всех ИНИЦИАЛИЗИРОВАННЫХ строках и столбцах?
Вопрос 2. где про это можно почитать?
Вопрос3. Сразу скажу так- это не пиар ,поэтому моча не бань меня пожалуйста,но есть некий погромизд, который учит других погромиздов в C#. Рома С.
Рома С, обещает за 3 месяца подготовить тебя на джуна и обещает стажировку.
имеет ли смысл идти, если я хуй простой без опыта работы в поргромировании, или это всё хуерга и работодателю вообще похрену на это.
О себе: хочу писать трейдинг-ботов на шарпе, но также хочу прогать на шарпе, 26 лет, есть опыт работы в тех.поддержке.Вышка есть,ДС.
Сейчас могу сидеть дома на шее у мамки,так как параллельно с этим занимаюсь трейдингом и поэтому мамка на работу не гонит,но все же хотелось бы погрести на галере по С#.
могу учить этот ваш C# по15-17 часов в сутки.поэтому возникает логичный вопрос- имеет ли смысл идти на подобные курсы, чтобы потом сказать работодателю, что я не олень и вот проходил стажировку на этих курсах- или это все туалетная бумага и спрашивать будут по знаниям?
Просто зная пидорах, могу сказать, что на вторую работу меня взяли просто потому,что я работал на первой и у меня была запись в трудовой. Бюрократия-с.
>есть массив двумерный уровня
Таки не двумерный, а ступенчатый, он же джаггед, он же массив массивов. В двумерном (он же матрица) и прочих n-мерных выдаст всю длину массива (как все знают, массивы лежат в памяти одним кусков), которая равна общему количеству элементов во всех измерениях. В ступенчатом тоже выдаст свою дину, но она равна количеству "подмассивов" (в нем одним куском лежат только ссылки на "подмассивы").
>>68370
>где про это можно почитать?
любой учебник, можешь в шапке список глянуть
>>68370
>обещает за 3 месяца подготовить
Нереально. Но если он даст денежную гарантию, что подготовит то можешь срубить легких денег.
1-2) первое - jagged array. Массив массивов по сути, могут быть разной длины, поэтому выводится l1.Length - количество строк, потом для каждой строки своя длина может быть, пример l1[0].Length.
https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/arrays/jagged-arrays
Второе - двумерный массив. Length выводит общее количество элементов (строки x столбцы), инициализация неважна
https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/arrays/multidimensional-arrays
3) Курсы не нужны, а бумажки с них тем более. Книжки + мсдн + ютуб + пет-прожекты дадут тебе нужные знания. Если готов ебашить, то делаешь за три месяца парочку проектов. С полученными знаниями идешь работать на стажировку за еду, потом берут джуном.
Дам пару советов как 3-года-мидл-сишарп. На джаве вакансий и зп больше, при том что сложность вкатывания и сфера применения почти одинаковая с C# + можно перекатиться на няшный котлин или функциональную скалу (и получать 300к/сек).
По-поводу торговых ботов. Основная ценность их в стратегии и ее успехе. Есть куча готовых инструментов для этого, где ты свою стратегию чуть ли не накликать можешь в конструкторе, знаний именно разработки нужно минимум. Поэтому если цель именно сделать торгового бота, то учить c# смысла нет, максимум ты сделаешь хуевую версию того, что уже есть. Для практики мб и полезно.
О чём речь понял. У меня почему-то по умолчанию ставился размер нарисованной кнопки, а не авто. Может из-за бленда. Но я понял, спасибо.
А есть ли встроенный скейл шрифта?
https://i.imgur.com/7cGGREo.gifv
Чтоб не было вот этого. Или надо руками писать? Как тут
https://stackoverflow.com/questions/15641473/how-to-automatically-scale-font-size-for-a-group-of-controls
И как вообще привязать какой нибудь параметр в xaml к переменной из кода? Или хотя бы к возвращаемому функцией значению? А если не стоит этого делать, то как тут принято?
Думаю из коробки такого нет, но вроде по ссылке на СО ничего сложного. Тут вопрос а надо ли? Я вот не могу вспомнить ни одной проги, где бы менялся размер шрифта при изменении размера окна. Можно в настройках дать пользователю выбрать размер.
>>68425
>И как вообще привязать какой нибудь
Изучай MVVM и биндинги и DependecyProperty.
>не могу вспомнить ни одной проги
https://i.imgur.com/2Ru1DBK.gifv
Ткнул в рандомную. Заголовок меняется от Adoptation Trogger, как я понимаю, но надписи поменьше, которые Puzzle, Challenges и прочее ведь уменьшаются вместе с окном? Или я что-то не так понял?
>MVVM и биндинги и DependecyProperty.
Спасибо
Ну, не всё. А объекты класса. Вот этот лист может хранить только объекты класса Контакты
джавакун, в последнее время тоже заёбую всех вопросами
>как класс может быть чьим-то типом данных
ХЗ, что это значит. Класс это и есть тип данных (один из)
>>68453
>ывыбираешь тот же list, указываешь инт
Можешь пихать наследников типа. Если укажешь обжект (который является базовым для всех типов), то сможешь пихать что угодно (правде для структур будет произведена упаковка). Если простое наследование вводит в ступор, то когда дойдешь до ковариантности/контрвариантности интерфейсов/делегатов, то можешь сразу бронировать койку в дурдоме.
Да у интерфейсов всё понятно как раз, указал метод, значит надо будет его реализовать у класса. Другие слова мне не знакомы.
>указал метод, значит надо будет его реализовать у класса
Я про генерик интерфейсы IFace<in T>, IFace<out T>, IFace<T>
>Другие слова мне не знакомы.
Познакомься
https://www.youtube.com/watch?v=BvmvcHroPRg
Позитивный челик. Подписался на него.
sql основы знаю.
Могу написать консольную программу с обращением к бд.
Стоит ли изучать ASP.NET чтоб было больше шансов устроится работать за еду? Или лучше сконцентрироваться на чем-нибудь другом?
Львиная часть вакансий по с# это асп.нет. Так что если готов окунуться в чан с говном, или как некоторые его называют "веб разработка", то учи. Либо не учи и жди до пенсии, когда откроется вакансия на шарпе без веба.
Но ведь в дс дохрена вакансий, где требуется чистый шарп даже без скуэль?
>ЯП где вакансии без веба и без дата
Да они и на шарпе есть, просто соотношение не в их пользу. На джаве есть тонны энтерпрайз легаси говна.
Ты еще не готов, Boii
нужно понимать, что программист это не тот, кто знает какой-то somename ЯП, а тот, кто решает задачи бизнеса.
У бизнесов на текущим момент задачи таковы, что нужно разрабатывать веб-мобайл-приложения или поддерживать древнее гавно вроде 1c/java
> древнее гавно вроде 1c
Схуя оно древнее? Активно развивающийся передовой продукт, который буквально везде используется уже почти как венда на рынке ос. Щас одинэснеком назовут, лол.
Глупый вопрос.Если я прочитаю эту книгу:C# 6.0 and the .NET 4.6 Framework (Andrew Troelsen)
Достаточно ли этого будет для джуна?
Вообще, я накачал себе всяких ВИДЕОУРОКОВ с торрентов, что аж глаза разбегаются,что не знаю, с чего начать.
Что курить,чтобы гарантированно вкатиться на стажера.
Алсо, может ли мне кто-то объяснить,чем стажер отличается от джуна? Карьеру надо строить с джуна или со стажера?
>>68950
Я околоджун, но часто вижу, что он сам не догоняет в некоторых вещах, много забывает. Пытался элементы массива вывести через cw(array), плохо знает работу с памятью. Короче, сомневаюсь, что он хороший прогер.
А ещё ахуел, когда недавно с ним встретился в городе, но здороваться с ним не стал
Во, а ещё он пикабушник, часто на стримах отвлекается смотря в чат, плохо знает английский. Мож ещё чо вспомню
Никакой. От чтения и изучения языка не берут уже. Сейчас спрос с джуна, чтобы он проектов имел несколько, с бд работать умел.
Я пока не вкатился, но могу сказать что если практиковаться по всему написанному, то в принципе даже C# Полное руководство + Совершенный код дадут базу. Еще нужно уметь работать с БД, база HTML + CSS + JS, и вообще смежные технологии, знать как работает веб и тд. Так же да, как пишут выше, нужно иметь свои проектики в которых можно показать свой код.
В мире шарпа есть только один истинный лысый учитель шевчук. Все остальные самозванцы и не стоят внимания.
>>68926
>Достаточно ли этого будет для джуна?
Маловероятно. Этого могло бы хватить, если бы ты уже умел прогать на другом языке. А так надо будет еще очень много чего, кроме одной книжечки для начинающих.
>>69016
>>69002
образование высшее техническое или студент;
знание принципов объектно-ориентированного программирования;
владение основными технологиями .Net, навыки программирования на c#;
знание теоретических основ реляционных БД и языка SQL;
Вот пример стажера.
SQL знаю.
Что за лысый учитель?
Но ведь Троелсен-это 1600 страниц, там даже аллах разобран, даже ASP.NET.
>Что за лысый учитель?
Шевчук же с itvdn.
>>69059
>Троелсен-это 1600 страниц, там даже аллах разобран, даже ASP.NET.
Да, там охвачены осноные технологии дотнета, но поверхностно. Да и большинство книг по программированию идут 700-1000 страниц.
>>69059
>знание принципов объектно-ориентированного программирования;
Да выучить модные словечки инкапсуляция, полиморфизм, solid, kiss, dry не проблема. Но без опыта написания своих проектов они так и будут просто словами.
1) Я скачала 100 гб этих ваших itdvn, собираюсь курить.
Если я просмотрю все эти 100 гб,вместе с sql, с заданиями, с учебкой, я могу идти в стажеры?
2)>Но поверхностно
хорошо, что курить для того,чтобы было не поверхностно, или достаточно на джуна
3)>Да выучить модные словечки инкапсуляция, полиморфизм, solid, kiss, dry не проблема. Но без опыта написания своих проектов они так и будут просто словами.
Я полностью согласен. Именно поэтому, я буду кидать своему будущему работодателю ссылки на свои гитхаб,чтобы он оценил(но перед этим вам, мой любимый двачик,чтобы вы обложили меня хуйцами)
Алсо, вот какие бы ты проекты бы реализовал?
Странные у тебя вопросы. Начинай учить язык, пили свои проекты и в процессе сам поймешь, что тебе надо.
этот одинэснек порвался, уносите его к дискам с обновлениями
ASP.Net Core сайтец
Получить номер телефона с маской или валидацией (тут изи).
Отправить запрос на URl, вывести респонс пользователю.
Для отправки запросов требуется авторизация, тут тоже ничего сложного данные у меня есть.
Получается я авторизирую свое приложение и все проходит через бек? Или нужно как то на клиенте делать?
Просто времени не очень много, хочется быть уверенным что я не упустил элементарную фигню.
+ Как получать этот респонс в поле без перезагрузки страницы? Это вроде через Ajax делают?
Ну, вот на самом деле странновато он работает. Но на малых сайтах он летал.
Это Mono конверченный в WebAssembly, который либо напрямую читается браузером, либо конвертится в JS (хром вроде бы конвертит его в JS), что конечно ебать чехарда, но сам пакет Моно в Вебассембли весил метров 10, с чем жить вполне можно (особенно при рашкинском интернете)
Под эту хуйню уже материал дизайн пилят и компоненты, так что какую-то нишу занять должно. Да и оно опенсорсное, так что участь Microsoft Silverlight её постигнуть не должна. Надеемся и ждем, короче.
Вот теперь думаю накатывать от них или вы мне чего годного подскажите.
Зачем курсы? курсы это удел JS - макак
годные C#-исты учатся только по книгам, только по практике
или нет, или не загрузился js/css пак
Как я Юнити блять буду учиться по практике? Я вроде шарю за базовый+ C#, но в самом то юнити я говна поем. Как чего куда кнопки тыкать не ебу же
Я сам по курсам разбирал юнити, но ведь повыебываться то стоит на двачах!
.onClick для Web, в пространстве имен, WindowsForm такого нет
button1.Click -= Button1_Click;
button1.Click += Button2_Click;
сработало, но как-то костыльно выглядит, так как
button1.Click = Button2_Click;
не работает
в пространстве имен WindowsForm*
Можно в одном вызове использовать одновременно и ref, и out?
app.config не существует в каталоге проекта c#, что это за дичь? Я точно не перемещал проект и ничего не удалял.
Дали данные для авторизации в CRM. Моя прожка должна выводить данные клиентов по их номеру. Если ввожу рандомный номер - приходит нормальный ответ что типо нету такого номера в базе, а если он есть в базе то летит 400 Bad request error. Авторизируюсь правильно, ибо если убрать авторизацию то даже с левым номером выдает 401.
Я дурак или это с уровнем доступа какая то каша?
Так кто знает, что делать?
>Жёсткий диск прочекай на ошибки. И СМАРТ проверь.
Ага ещё и от пыли продуть.
Нужно было просто в студии удалить этот файл и заново добавить.
ref/out - передача по ссылке. На уровне clr разницы нет, зато компилятор c# проверяет, чтобы ref переменная была инициализирована до передачи в метод, а out внутри метода.>>69985
>то их значения никак не будут изменяться?
есть значимые (структуры) и ссылочные типы(классы, интерфейсы). Если ты передаешь значимый тип, то в метод отправляется копия и любые действия внутри метода происходят над копией. Если передать значимый тип по ссылке, то действия производятся над оригиналом, а так же присвоение переменной нового значения затронет и переменную в вызывающем коде.
Если передать ссылочный класс без реф/аут, то вызываемый метод получит копию ссылки (две ссылки будут указывать на один объект). Действия будут происходить над тем же объектом, но если переменную инициализировать новым классом, то ссылка на переменную в вызывающем коде останется прежней и будет указывать на оригинальный класс. Если передать с реф/аут ссылочный тип (по факту ссылку на ссылку), то в случае инициализации в методе переменной новым объектом, ссылка в вызывающем коде тоже будет указывать на новый объект.
>>69985
>Можно в одном вызове использовать одновременно и ref, и out?
для одного и того же параметра нет. Кстати, еще есть модификатор in.
>>70002
>Чем вычисляемое свойство отличается от метода?
Свойство - это сахар. Оно компилятором автоматически заменяется на два(если есть и гет и сет) или один(если только гет или сет) метод.
Разница между out и ref в метаданных, вроде в один бит.
Привет двач, есть ехе (впф) и куча куча длл к нему.
Вопрос есть ли программы которые позволяют декомпилировать весь проект сразу, или в процесс експлорере пошагово идти по готовому ехе с длл вместе.
Спасибо
с меня как всегда, ну или нет
Понял, спасибо. (по поводу свойства)
>Лабу3 и задачи со степика
Господи, почему меня не берут с моими овер дохуя на самом деле столько же проектов проектами. Даже на собес не пригласят
Что для тебя "Такой себе уровень"?
Про конструкции синхронизации потоков знаешь? Про мьютексы всякие и прочие.
Про уборку мусора, про междоменное взаимодействие.
>Синхронизация потоков
Знаю про их существование и применение, не юзал на практике.
>Уборка мусора
Ну там ГК собирает мусор, и поколения есть по выживаемости. Вот.
>Междоменное взаимодействие
Так просто не сработает, надо настраивать
Резюме-то есть? Сопроводительное пишешь? За такое число откликов хоть раз-то должны были позвать уже.
Меня звали только верстальщиком макетов, но я отказался.
Мне out нужно использовать для этого, что-ли?
У меня есть список классов, которые я перебираю, мне нужно инициализировать через метод свойства класса по условию.
Тебя же выпустили, собака.
Сколько было поколений?
Бумп
И это ты не можешь найти работу? Серьёзно?
Ты просто жмёшь откликнуться?
Html, js, css — у меня этого нет, и ты заставляешь меня беспокоиться
Класс и так ссылочный тип. Что тебе мешает сделать это без реф/аут?
Мб потому что 1 курс, не хотят брать, тк время ограничено. Сопроводительное 1 раз писал, а так просто откликаюсь
Просто шарп, лол. Висит вакансия "знание шарпа и SQL", туда и хочу. Начал asp.net core, но там было про тестирование. В итоге DI, паттерны, юнит-тестирование, TDD, но asp так и не потыкал. А на работу надо, меня уже гонят ссаными тряпками из дома
соре, не туда ответил)
Сильно дешевишь. Никогда не проси ниже стандартной джуновской вилки, работодатель думает что ты червь-пидор, метит как полную неумеху, негодную даже для легаси и отметает тут же.
Если не уважаешь себя - то и будущий employer тоже уважать не будет.
Ставь 45к, если в ДСах, и 30к, если в миллионнике.
https://itvdn.com/ru/live-online/net-developer
Так тут они сами такую зп выставили. Меня же не спрашивали про зп, я не общался ни с кем
>нет мотивации
This
нужна дополнительная стимуляция, 100 раз начинал курсы бесплатные и дропал.
Тут такое дело, учится придется и после курсов и после устройства на работу. И если тебе программирование не в кайф, то ты будешь страдать. Если не жалко денег пройди курсы, а там посмотришь как пойдет. Но, во первых, будь готов что ты просто сольешь деньги. Во-вторых, курсы не сделают из тебя программиста, они помогут начать. И в-третьих, в курсах нет ничего, что нельзя было найти в гугле. Алсо, почему решил связаться с кодерством?
Короче в универе тема сисярп. Надо написать хуйню для добавления инфы о студенте в бд. Для эдюкешнал пурпосес взят sqlite.
Но при создании формы (делаю с гуи на винформах), а точнее при попытке запроса query.ExecuteNonQuery();, всё зависает.
ЧЯДНТ?
В синтаксисе запроса ошибок нет, проверял в дб браузере, там создаёт.
>ЧЯДНТ?
Всё. Не диспозишь диспозуемое, лепишь какую-то хуйню в конструктор. Используешь относительные пути. Но тут вроде виснуть не должна, максимум на какое-то время подлагнуть.
Эм, че? Пиши библиотеку с логикой на Net Standart и сможешь её тягать хоть с кора хоть с фреймворка. Или жди, когда выйдет кокор 3, ну либо ставь превью, в последних вроде без особых костылей можно пользоваться гуями.
Как мне создать дерево в сишарпе?
Что должен содержать класс? Как оно должно работать, я понимаю в теории, а на практике чет не вытягиваю.
Пытаюсь себе дерево четырехугольниками заполнить, а у меня каждый раз вылетает ошибка
переполнение стэка может быть и при рекурсии с выходом из нее
вопрос размера стэка и глубины рекурсии
Нет, по идее он должен выйти из нее, значения в списке когда-нибудь просто дойдут до нуля и все.
Когда я возвращал void ничего не перезаполнялось.
Рихтера читай, епты. Будущий шарпист.
CLR via C#.
Первых глав не пугайся, их никто не читает. А всякие моменты вроде ссылочных-значимых типов памяти, того что стринг иммьютабл (и надо юзать стрингбилдер), основ того как работает сборщик мусора подучи и в принципе должно хватить. Лучше всего гугли вопросы с собеса (на хабре есть древняя статья, она до сих пор по большей части валидна), раскрывай книжку и учи.
Всё всегда зависит только от конкретного собеса и конкретной конторы.
Но вообще да - рихтер это стандарт. Хотя на текущую работу меня брал чувак угоравший по книгам Джона Скита. Прикольный чувак. Книги правда не зашли, к сожалению.
Бабка неси нитки, у нас ватник порвался.
Ну вообще да, какбе я это и имел в виду, 10 метров при московском инете это вообще хуй для нихуя, для остальных может быть больно.
Очень мудрёно нахуевертил, ящитаю. Всё стереть и переделать. Keep it simple, stupid!
А че тут мудреного?
Ну условия можно объединить и неиспользуемый параметр выкинуть, но он у меня просто остался с прошлой версии кода.
Да можно вообще юзать тактику быстрого выхода. Ты просто инвертируешь условия и выходишь. Так ты уменьшаешь вложенность повышая читаемость.
if(doubledirect.Contains(p))
{
continue;
}
// остальной код
Только насколько я понимаю, для глубоких деревьев рекурсия не поможет
Часа 3 сидел над этим, а потом через 3 минуты после того как сюда отписал просто дал псевдоним этим внешним таблицам и обращался через нее.
Подзаебался с ВПФ. Есть альтернатива со сходными возможностями, но попроще/понятнее? Ещё бы и документацию/примеры/туториалы поживее и насыщеннее.
Алсо, есть ли вообще смысл изучать ВПФ? Мне показалось, что он уже просто болтается как древность, но тут увидел что в Core его добавляют. Или всё же проще забыть про него и полностью погрузиться во что-то другое?
>Есть альтернатива со сходными возможностями
Есть UWP - работает только под десяткой и имеет кучу заебов. Есть avalonia - кроссплатформенный аналог wpf, возможно еще сырой.
>>70856
>документацию/примеры/туториалы
Для впф этого в избытке, в отличии от остальных.
>>70856
>но попроще/понятнее
Значит у тебя пробелы в основах. Возвращайся назад и попробуй снова.
>>70856
>Алсо, есть ли вообще смысл изучать ВПФ?
Если хочешь заниматься десктоп разработкой, то стоит. Но количество вакансий десктоп/веб отличается на порядок в пользу веба.
>Про что следует почитать чтобы осуществить задуманное?
Про то, что такое исполняемый файл и почему ты несешь хуйню. Но ты можешь написать на коре, и запускать свое творение в macos/linux/windows, предварительно накатив туда рантайм. Либо можешь сделать паблиш под определенную ось (можно как вместе с рантаймом, а можно без).
Мне так-то для себя - есть несколько в общем-то простых задумок, почитал, попытался реализовать, но заебался просто. Наверняка всё легко, если хорошо знать ВПФ, но блин, если всё тщательно учить, то это очень надолго, а самое главное - я этим в обозримом будущем не воспользуюсь и большую часть забуду.
Эх.
Есть хоть какой-то один ресурс/книжка на почитать, чтобы было "достаточно", объясняющий на пальцах основы и принципы и все основные моменты - бинды, документы, темплейты, что как и почему?
>>70914
То есть чтобы стало ещё труднее? Ну спасибо.
>в курсах нет ничего, что нельзя было найти в гугле
Структурированность, плавная подача материала.
мне 35, иду просто потому что хочу. Даже нет желания стать программистом, просто хочу написать что-то для себя. Да вот такой я ебанутый.
Такое чувство, что на шарпе ничего не пишут кроме тырпрайзных формочек и игр на юнити.
А все новое, бигдатное, распределенной и крутое создают исключительно на джаве.
(Я не троллю, я хочу перекатиттся из пыхи в Шарп/кресты/джаву, но хз куда идти)
Хуй его знает, о чем ты. Core очень вкусный
Но на джаве все равно вакансий больше, плюс ведро. Ксамарин не так популярен, как хотелось бы. Возможно все дело в долгом старте forms
>Ну если хочешь - иди. Или тебя отговорить нужно?
Так ты ж сам спросил лол ?
>1470398
>Алсо, почему решил связаться с кодерством?
>Как вы думаете, Шарп загибается или нет? На международном рынке?
Ужо 20 лет загибается. Да и вендекапец вот-вот произойдет, не просто же так дотнет на линь перебирается, вот только не спасет это его.
>Такое чувство, что на шарпе ничего не пишут кроме тырпрайзных формочек и игр на юнити.
Удивительно, язык, заточенный под быстрое выкатывание бизнес решений, используют в тырпрайзе.
>бигдатное, распределенной и крутое
У тебя инфа устарела. Теперь все на Го. Ну и питон для всего нейронного.
Ну реактнейтив тоже долго стартует, не говоря о ионике, но на них как-то больше приложений чем на xamarin.forms.
Core - что в нем вкусного?
Такой же серверный фреймворк, как и тысячи других?
> Ужо 20 лет загибается. Да и вендекапец вот-вот
Именно поэтому я и уточнил, что я не троллю.
Спарки/хадупы/штормы/хадупы хоть и имеют адаптеры под разные языки, но все таки они джава нейтив.
Можно использовать попенсорс, который бесплатный
От нейтива там только название. Проц грузит ебать-колотить. Кажется, ксамарин этим не страдает, хотя я только хелловорлды гонял
У меня просто печка вместо процессора snapdragon 808, я легко чувствую разницу в нагрузке. Пока фаворит Daschan, но, к сожалению, с него только на дваче сидеть. Зато я всегда знал, что даша не майнит — слухи про клиент ходили, когда код закрыт был
Антоны, а как мне теперь перебрать это дерево?
Например, я хочу отсечь ветвь, где Width слишком большое
У тебя же там наверняка ID есть. Вот и добавь условие, что ид должно быть меньше ид текущей игры. А если нет ид (или он может идти не по порядку), то давай больше инфы, что там в базе и как.
Если ты пихал как попало, то только полным перебором. А вообще деревьев туева хуча, поэтому астанавись, подумой и выбери (спроси на форуме програмиздов-математиков) подходящее.
Это оно, спасибо. На поверхности же лежало.
Нет, я пихал не как попало, у меня алгоритм выбирает квадратики рекурсивно на картинке и добавляет их в дерево, выше код уже был.
Вот структура, первая нода обозначается +-, от нее идет два разветвления, каждое разветвление показывается знаком |
Он на асп нет коре автоматом подключается. Другие классы из бутстрапа работают, этих не видит даже визуалка.
Сейчас я перебираю вот так, но я не могу додумать, как сравнить значение ноды с ее предшественниками и если она больше, то отсечь
Попробуй чисто из эксперимента, добавить в хэде это
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
Братан, ты заебал
я не думаю что тебе так просто кто то будет всё разжевывать. Учись учиться самостоятельно. Начни с Шилдта, хоть и рассматривает C#4.0 но для старта самое то. И забудь на время про Windows Forms. Освой консольные приложения, а дальше уже рассматривай один из Framework`ов.
Блять, я постоянно слышу хуету в стиле:"Хуйня нейм загибается, переходи на хуйня-нейм-2, там ваканссий больше и зарплаты выше"
Учил джаву, говорили что на шарпе вакансий больше . учил кресты-говорили,что на джаве. Сейчас вот решил выучить шарп- говорят перекатывайся в джаву. Вы заебали.
Начнем с того, что если про язык на слуху-то он точно не умрет в ближайшее время. Учитывая статистику хед хантера шарп, джава, пхп и фронтенд -топ. На крестах действительно сложнаа найти работу. Но это обуславливается что порог на джуна высокий и джуны никому не нужны.
на шарпе вакансий дохуя и есть стажерские. Хули вам ещё надо,пcы? 3 месяца поработал за 20к стажером, перекатился в джуны, годик на джунах ,потом уже и при должном старании можно и в мидлы выйти на 2к$. Все зависит от человека, а не от яззыка. Вон вообще на хх висят вакансии на С и ебучем фортране,дельфи и прочих говнах мамонта.
Что же касается веба, то тут доминирует нода и как раз таки АСП наш православный.
Мне про PHP говорят так что он помрёт. Особенно когда выходил HHVM, потом руби, потом когда выходила нода, теперь PHP уже 7.3 версии, руби помер, HHVM прожил 2 года померев даже не релизнувшить, а из ноды все более менее не ёбнутые перешли на GO. В итоге я как получал кучу заказов, так и получаю. Имея подработку в 100к в месяц в среднем. При этом ещё и шарпистом постоянку получил.
Я пытался прогать под линем. Неудобно, блять. Все работает только на убунте, пробуешь сделать шаг влево/шаг вправо — все, msbuilt отсутствует, пожалуйста, пососите наше свободное обеспечение
Но вернулся на шинду, так как сейчас пилю на WPF. Кстати, аноны, а asp.net core проекты удобно пилить под линем?
Попутно поглядываю книгу, как совладать с пердоликсом. Зачем? Мне кажется, за этим будущее
Да если смотреть на вакансии, то на бэке обычно как раз пыха, жаба, дотнет и иногда питон с нодой. Рельсы редкие, го если честно тоже редкий.
А все, я все нахуй понял, первая ветви всегда делится на несколько других, потом для каждой ноды мы идём вниз, если года не ветвится, то цикл идёт всего 1 раз и переходит к следующему.
Таким образом я могу создать список, в который буду заносить значение ширины и высоты и каждую следующую ноду сравнивать с предыдущими, пока я не дойду до следующего ветвления, когда я дойду, я буду искать ноду, которая по ширине или высоте больше, чем все остальные, если такое есть и предыдущий будет соответствовать условию, то все дальнейшие годы будут отсечены.
Руби много у пиндосов, а пыха там помертвее и чаще всего используется Zend, всякие кейкпхп в ходу, никаких йии точно нет
Пришел ждуном работать, посадили за проект с >500 одних только моделей, а всего классов за тысячу. Пиздос.
Это маленький проект. Если нормальный тимлид, то никаких проблем разобраться нет, зачем что-то держать в голове? Или у тебя клавишу F12 из клавиатуры вынули?
Учу по урокам XpucT’a, он рекомендует с Windows Forms начинать, мне кажется это правильно, зачем мне консолька, если с фреймворка проще изучить консоль, чем наоборот?
Парень, тебе в айти не место судя по этому вопросу. Реально, ты туповат.
Вот в какой момент вы поняли, что вам хватит и можно перекатываться уже на другой язык?
Если ты не понимаешь, нахуя нужны скобки иди на консоль, зачем учить фреймворки, если у тебя и для ABC.Pascal знаний нет
Глупый вопрос,нужно подтверждение:
Как происходит процесс компиляции на JIT?
1.Сначала пишем на C#
2. Потом JIT перегоняет C# в IL(он же CIL)
3. IL уже перегоняет в машинный код,да?
Нет ли каких нибудь промежуточных звеньев в данной цепи,которые упущены,типо байт-кода между 2 и 3 пунктами?
> в какой момент вы поняли
В тот момент, когда ты понимаешь, что язык-то по сути один, просто сахар разный. и тогда у тебя изучение "другого" языка упирается в изучение его сахара и его, скажем так, "блабов", ЕВПОЧЯ.
Вот этот прав, я после сишарпа понял, что могу читать и другие сиподобные языки и даже кое-что на джаве.
Спасибо учту
И джаваскрипт и php
>Если нормальный тимлид
Еще бы он не в отпуске был.
>зачем что-то держать в голове
Ну вот дадут что-то пофиксить, я ж пару часов буду только искать в коде связанные с этим классы и методы.
Ну так ищи, я проблемы не вижу. Как иначе в проекте разобраться? Никто не ждет, что ты знаешь весь проект наизусть лол. Его никто не знает. Поэтому всякое ООП и тесты и придумали. Чтобы не вникать во внешние проблемы особо.
3 неделя как вкатился в C# посмотрел общие курсы. Книжки для начинающих из ОП поста листаю. Вроде все более менее понятно, но есть одно но. Не пишу сам код только переписывать пробовал, но бросил решил, что это тупо как-то списывать.
Скажите как правильно поступить как вы поступали. Переписывать код из примеров?
По 100 раз задрачивать Helloy World?
Пытаться самому, что-то придумывать на подобие примеров?С вооброжалкой слабо
Думал может юнити попробовать раз он на C# буду сразу себе и задачу ставить и способы решения искать обучение однако ещё и юнити разбераться это же пиздец я ебанусь на 2 стульях сидеть туда уже с хорошим багажом знаний в С# наверное лезть надо.
В общем помогите советом. Сразу извинюсь если со стороны это как какой-то бред читается
Только один большой пет проект. Создаешь его сразу в гитхабе и начинаешь писать.
После некоторого времени у тебя будет, что показать плюс ты поймешь зачем тебе нужны инструменты языка.
Без практики теорию сложно освоить.
Я себе поставил простейшую задачу - запилить маленькую программку с УИ и текстовым редактором со скромным функционалом.
Уебался об ВПФ так, что аж пиздос, теперь не знаю, что делать. Казалось, что поверхностного понимания хватит - я ведь не йобу пилю, - но оказалось, что нихуя.
Хочется дропнуть. Или хотя бы перейти на Авалонию, лол.
Но наверно буду превозмогать ВПФ. Может осилю. Книжку бы какую-нибудь годную...
великовозрастный долбоёб-нуфаня
Что-нибудь реально сложное и объемное. Например сайт авиакомпании 2ch Airlines. Там можно бронировать билеты, смотреть расписания, строить сложные маршруты и так далее. А еще там есть админка, а в админке разные роли, ну ты понял. Короче на лет 20-30 ты работой обеспечен, настолько сложную логику там можно придумать.
Берешь ASP.NET Core и модный JS фреймфорк и начинаешь фигачить.
Твоему будущему тимлиду по твоим коммитам будет легко отследить твой прогресс.
Был бы у меня такой джун, я бы его чисто по проекту бы на собесе поспрашивал и взял. Ну если бы увидел прогресс лол, естественно.
Нет, просто я же не могу посты редактировать. Но можно догадаться лол.
Это просто пиздец, Функция TOP 1 возвращала какое то необычное null значение, которое не перехватывалось, если элементов не было. Надо пробрасывать null самому.
Короче, Аноны, я справился.
Теперь у меня есть список значений и я могу отдельно найти самое большое.
Будет совсем пиздец, если я эти значения выделю и еще раз пройдусь по дереву, дабы перевести их в другой вид?
Или мне обязательно нужно все пытаться делать на месте?
В свое оправдание могу сказать, что я был проклизмен. Спасибо за внимание
Прогресс для тебя это сколько коммитов в какой промежуток времени? Стараюсь вкатываться параллельно учебе, и думаю через месяц начать какой-нибудь проект, чтобы шишки набить
P.S. Вкатываюсь недели две-три
мимодругойвкатывальщик
1. Пишем код
2. Компилятор компилирует C# в IL
3. JIT компилятор комилирует IL в машинные инструкции
Как C# связан с анимешным котом? Типо прикол такой, что он для пидаров?
никаких приколов.все серьезно
Чем тебе не няшка?
Запилил демоапп с одной формой.
Так эта гребанная хрень стартует около 6 секунд! На моем свежем Самсунг s10e! А сколько лет потребуется устаревшему нонейм китайцу?!
Вообще, возможно обеспечить у ксамарина быстрый показ первого экрана?
Вообще, какой минимум? Или это он и есть?
Тануки - ладно признаю ошибался
На so было несколько ссылок на оптимизацию старта
Но я ими не пользовался. Ты релиз запускал?
А так да, старт этой хуйни больное место, там mono должно загрузиться
Удалить значения до 24 от большего значения?
В чём проблема создать цикл с условием, где элемент если равен 24, то брейк?
Если отсортирован, то пользуйся бинарным поиском.
> отсортированный по возрастанию
На картинке по убыванию
удалить значения до 24
До 24 - больше 24 или меньше 24?
Это пример, у меня могут быть и похожие списки, где мне нужно удалить значения сверху
Зависит от необходимой производительности решения -
Самое простое через Linq -
Если список по убыванию, тогда
list = list.SkipWhile(x => x >= 24).ToList()
Если список по возрастанию, тогда
list = list.TakeWhile(x => x < 24).ToList()
Вместо `.ToList()` можно заюзать `.ToArray()`
Если слишком медленно, то лучше бинарным поиском найти границу, которая разделяет числа меньше 24 и больше или равные 24. И .Skip() / .Take() нужное количество.
Я даже нажать нихуя кроме F5 не успел. Просто на хелоу ворлд посомтреть хотел, а меня и тут посылают нахуй.
Тредом ошибся
Мне же только скрипты писать, а значит мне нахуй все тонкости работы и взаимодействий с ASP.NET не упали. Нужно только знать основные инструменты языка и уметь их применять. Я прав?
В вакансии не указана зп, ещё написано желательно знать асп нет, а я в коре только работал. В общем, удачи мне.
Что вообще еще стоит посмотреть для того чтобы выучить шарп? Я не тот что про юнити спрашивал
Мозги включи
Сложно сказать. Мне помогает банальная документация МСДН. Но я прост олдфаг, кодивший ещё в 90х. Так что не уверен, что всем подойдёт этот метод.
Пиздато анон благодарю.
На всякий какую литературу по C# советуешь читать ну если я решу чем-то большим заняться.
А мне хватит одного C#, чтобы заинтриговать работодателя? Что следует дрочить паралельно?
Проиграл
Да, вот именно от этой хуйни я и ушёл много лет назад.
А можно конкретно название книги? А то у него их там 50+ и как я понял 5 из них по C#
все примеры что нахожу - либо легкие и не дают понимания что это а главное зачем
либо слишком сложные и непонятные
хочу что то в меру сложное и понятное почитать
RTFM, Bitch!
https://docs.microsoft.com/en-us/dotnet/api/system.enum.tostring?view=netframework-4.8#System_Enum_ToString_System_String_
У енума есть перегруженный метод ТуСтринг(стринг), который принимает строку формата. D for digit, как я полагаю, т.е. числовое значение.
> все примеры что нахожу - либо легкие и не дают понимания что это а главное зачем
Классы - это типы данных.
У тебя данные могут быть простого типа ЧИСЛО, и представлять из себя a = 39, b = 74 или c = 128. А могут быть типа СОБАКА и представлять из себя переменные вроде БОБИК, в которой БОБИК.Имя = "Бобик", БОБИК.Порода = "Дворняжка", БОБИК.Цвет = Color.Brown
Составной тип казалось бы несложно. Структура, в которую объединены несколько примитивных типов.
Но в отличие от структур классы могут еще наследоваться и ваще.
Если есть выбор, бери посвежее, если нет то не много потеряешь. Единственное, что существенно это async/await, он появился в 5ой версии шарпа. Но в любом случае,по нему неплохо отдельную книжку почитать (точнее книжку по всему асинхронному программированию). Остальные нововведения, когда освоишься, можно будет накатывать патчами, гугля "what's new in c# X.X?".
Вопрос был про Шилдта. У Рихтера, по-моему, вообще не было про асинк/эвэйт. Возможно у меня была старая книга.
Придётся, потому что осталось добить параллелизм
Вот все равно плаваю я в шарпе. Все эти атрибуты, которыми пользуешься, но которые ни разу не написал сам. Рефлексия, которая как бы понятна для чего, но тоже ни разу не заюзана.
Сборки. Вот как из dll вызвать конкретные методы в коде?
Кто мы то?
string[] people = { "Tom", "Bob", "Sam", "Kate", "Alice" };
string[] peopleRange = people[^4..4]; //Скажи сходу, размер peopleRange
Пойду обмазывать свои проекты.
Как же заебал этот сахар. Уже как C++ скоро будет. Вот Span<T> заебок, а остальное от лукавого
Есть скрипт на гитхабе, у ридера сбрасывает лицензию
Джетбрейнс, знаю, вы тут сидите, мониторите тред. Не стукайте палкой, я как работу найду, лицензию куплю
Когда лицензии перешли с покупки на аренду, то я хуй полжил и только пиратю. Ахуеть они зажрались.
маняме ебучее научись группировать всю хуйню осмысленно и убери нахуй эти комментарии или ты свою курсовую принес?
Я боюсь, что Vue в некоторых вакансиях не просто так рядом с asp.net, как и шарп рядом с js
>Vue
>JS
Да что там js знать-то, если шарп знаю, то js это просто как урезанный язык. Про вью ничего не могу сказать.
Все равно надо время потратить. Да и без типизации он. Сам не брался, но не думаю, что будет изи его освоить
Это хуйня какая-то. Делаю сайты с 2007 года.
В большинстве случаев в таких книгах даётся всё под соусом "Это упростит вашу жизнь", на деле ты оказываешься в крупной конторе которая делает всё по наставлениям из книжки и в результате ссаную кнопку ты добавляешь 4 недели, потому-что зависимостей столько, что даже PHP без фрэймворков тебе кажется раем. Ибо банально быстрее. И нет, я сейчас как раз такой проект поддерживаю. Реальный кейс, по смене 1 пикчи привёл к решению на ДВЕ недели.
Так мне интересно, чтобы на работку вкатиться, до какого уровня надо изучить asp net core. Всю книгу - я где-то полгода буду изучать.
Я вкатился с уровнем "Могу написать свой сайт уровня взял из БД инфу, красиво её оформил и вывел".
Хотя мне наверное повезло.
На собесе вряд ли будут сильно расспрашивать конкретно про ASP.
Я вкатился с уровнем умею писать код (знаю язык, паттерны, понимаю ООП, SOLID, гит, YT, Jira, agile вся вот эта вот модная фигня для разработки) но не знаю asp.net и SQL.
Работаю мидлом, а Asp.Net и SQL до сих пор не знаю, хотя у нас в проекте они активно используются, и я уже писал код на них завязанный.
До сих пор считаю, что если приходишь в готовый продукт, то технологию в принципе знать не обязательно (особенно учитывая то, что везде свои велосипеды, библиотеки и костыли используются), можно посмотреть по вашему готовому коду и почитать доки.
(НО - если тебе приходится задействовать что-то незнакомое с 0 или писать ключевые части кода, без участия человека, знающего как эта либа работает, что угодно может пойти не так)
Чёт устроился на мвс5/кор джуном, на работе пишу потихоньку код и вникаю в проект. А что читать (кроме очевидного клр виа сисярп и чейнджлогов новых версий языка/.нет), что смотреть на Ютубе например, чтобы дальше расти - хз. Как и куда вкативаться в опенсорс - тоже хз, да и на шарпе его мало.
СУБД, проектирование систем, свои сайд-проекты на других языках
Что бы вкатится надо показать себя не конченым долбаебом во всех смыслах и все. Любой джун это не самостоятельная единица, если работа сложнее мелкой заказухи. А вкладывать овердохуя денег и времени в инфантильного социофоба никому нахуй не упало.
Не поедут. Оно здоровенное, оно долго загружается и оно тормознутое. В общем юзлес говно.
А его могут интегрировать во все браузеры? Чтобы не пришлось качать по сети мегабайты одинаковых блобов. Это ведь стоит того, чтобы js-пидоры пошли нахуй.
На скорость плевать, реакт же живёт
у меня как раз таки книжка про первую версию от того же автора.
Пока что различие нашел в том что в 2.0 отказались от project.json и перешли на .csproj. Ну и теперь MVC идет из коробки и не нужно его скачивать через NuGet.
Спасибо
Но блять это же дрысня. Помогай анон, как правильно напиздюрить тестов в приложение. Уже мозги плавяться.
Ну типа юнит тести для девов, чтоб до тестеров находить что-то, типо багов, или если кто-то что-то поменял то тест должен провалится. Тоесть если тест на метод, что он дернит другой метод, с такими-то параметрами, а потом чекаешь, дернули ли так, то ето хорош тест.
на самом деле ты тривиальную дичь перечислил. Обычно спришвают по какой ни будь глубине глубин типо ковариантности, контрвариантсти обобщенных делегатов, зачем нужны статик методы, как работает GC.
Sql нужен на проектах, где еще юзают ADO.NET или не юзают EF, хотя его знанения, даже с LINQ - считаются маст хев везде.
Ты сам написал, что высокая конкуренция и джуны уже должны писать и мыслить абстрактно, а не экземплярами. SOLID, DI, Тестирование - планка в разы выше, чем 2-5 лет назад.
Видел вакансии, где он джуна стека .NET еще требовали фреймворки JS - но это уже совсем зашквар.
что?
делать то что, я не понимаю
Сначала дали решать тесты по SQL/Oracle + .NET из БД я учил только MS SQL, но на большинство вопросов ответил. Заданий было штук 40-45, и ответы нужно было записывать самостоятельно в поле на англ языке. Весь тест длился 2 с половиной часа.
По дотнету спрашивали:
1. Базовую фигню типо рефлексии, Interface vs Ab. class, class vs struct, IDisposable и тд.
2. Web релейтед: PUT vs PATCH, что в хэдерах хранится, кэширование в аспе, JWT vs Cookies аутентификация, REST и тд.
3. 2-3 простынки с кодом.
В общем все в принципе легко.
Потом был уже видеозвонок с командой, где меня по каждому вопросу спрашивали еще полтора часа.
Опыта коммерческого у меня не было, годных проектов кроме того WPFшного куска тоже. Зп $400 первых 3 месяца а потом $500. Для Украины норм, на съем квартиры + жизнь пока хватит.
> зачем нужны статик методы
Эм, это как бы совсем поверхностная вещь, и меня об этом тоже спросили.
Странная хуйня, пишите на C#, спрашивали про Oracle...
Сколько в будние дни уделял времени программированию и прочему? Учился на IT-шника?
какой город?
рефлексия - базовая фигня, лул
>что в хэдерах хранится, кэширование в аспе, JWT vs Cookies аутентификация
это что за калл?
забыл добавить - единственный случай, где их нельзя заменить обычными методами
>пишите на C#, спрашивали про Oracle
Ну они видимо с Oracle работают. Компания разрабатывает платежное ПО, mobile banking и тд.
>Сколько в будние дни уделял времени программированию
В будние часа 3-4, в выходные мог и по 6-8.
>Учился на IT-шника?
Нет, просто техническая специальность, но даже пол семестра C++ у нас было.
>>76630
>какой город?
Винница
>рефлексия - базовая фигня, лул
Базовая в смысле собесов, у меня ее спрашивали чуть ли не на половине всех собесов.
какой стек технологий на твоем проекте? WPF(XAML),Oracle? Какой ORM? И для чего тогда спрашивали про ASP.NET если пишешь WPF?
>Базовая в смысле собесов
Обычно спросят как и для чего, никто глубоко обычно не копает, кроме как затопить
То что я писал про WPF никак к вакансии не относится, это был просто образец того что я хоть что то умею писать.
Стек C# + ASP.NET + Oracle/PostgreSQL/MySQL в зависимости от конкретного проекта. В тестах я не ответил ни на один Oracle релейтед вопрос, упор был на сам SQL. ORM не знаю какая будет, но в требованиях спрашивали опыт написания SQL запросов.
Сам ASP.NET или MVC/Core? Если только ASP.NET, то это легаси щит какой ни будь. Кстати какой лвл?
нахуй ты кому нужен, перхоть. Тут на фул тайм хуй берут, а ты со своими 20 часами суешься.
Да бля, и хули мне 4 года делать? Уже через 4 года всем нужны будут невъебенные специалисты с опытом работы, а я только прочту книжки, и говнопроекты высирать
>это легаси щит какой ни будь
Написано: C#/VB.NET, ASP.NET, так что по ходу да, но там 3 отдела или направления, так что если что потом можно будет съехать с легаси, они же новые продукты тоже выпускают.
>лвл?
19 лвл
>>76723
>Взяли как фоп?
>Сколько из баксов чисто на руки?
Да, берут как ФОП, но я только с сегодняшнего дня начну этим всем заниматься, так что на руки сколько пока не знаю. Помощь юридическая по этим вопросам от компании бесплатная + мне дали список что за чем делать.
>как с англиским?
Читаю и понимаю на слух хорошо, пишу не очень а разговариваю еще хуже. В конце того интервью с командой ейчарка поговорила со мной о тестах и тд на английском. Мне было стыдно, но с диким акцентом я все же поговорил. Хотя после того как главный по шарпам говорил "синглетон" думаю разговорный там нужен не сильно продвинутый.
Акцента стыдятся только русские ввиду рабского менталитета.
Испанцы, французы, итальянцы, греки, и все остальные европейцы говорят со своими акцентами и гордятся этим.
Ты не хуже них, поверь.
Та не столько акцент сколько неправильное произношение. Практики то практически нету.
Акцент и произношение почти одно и тоже.
Однако в самой Британии люди из разных ее частей произносят звуки по-разному.
Ирландцы и северные англичане читают but (бат) как boot. Gun как goon. И это только примеры известные мне.
Просто русские были рабами в отличие от других европейцев и поэтому в генах есть комплексы. Нужно от них избавляться и уважать свой акцент, гордиться им и никогда не пытаться изменить. Другие нации его не меняют.
Когда я указываю вот так вот, то он ищет в папке, где компилится проект
Погуглил про BadImageFormatException
У меня либа ссылается на c++ либу и по сути является оберткой
Обычно это значит, что ты грузишь 32 бит библиотеку в 64 бит процесс или наоборот.
Кстати, для ранера юнит тестов платформа выбирается отдельно, если ты получаешь такую ошибку при запуске тестов - меняй платформу, где-то в меню есть пункт.
В том и дело, что я не могу поменять, одна либа отказывается грузиться в 32 битную сборку, она только под 64 бита
нужно как-то реализовать самую простейшую имитацию емкости с водой без какой-либо анимации самой воды
пытался делать грид, в котором два грида (пустая область, занятая область), занятую красил в синий и увеличивал высоту, пустую уменьшал, чтобы как-то сохранить масштабирование привязал всё к >* но это не очень удобно
Ещё нужно реализовать добавление воды...
>weak reference is a reference that does not protect the referenced object from collection by a garbage collector, unlike a strong reference.
Что тебе еще надо? В C# cсоздается, внезапно, с помощью класса WeakReference.
Существуют в природе статьи в формате "так делается в винформах - а так в wpf"?
МСДН как пример предлагает кэш на слабых ссылках. А так я ни разу не встречал в своей практике слабых ссылок.
Нет, слишком разные подходы. Ты, конечно, можешь писать на впф в стиле форм, но на выходе получишь дрисню.
Чё?
Братан, так у тебя не шарп. Или у вас методы с маленькой буквы?
мсье знает толк в извращениях.
В целом, пока придумал только словарь типа <int, byte[]>, где int - номер части, а в значении, соответственно.
Как мне гарантировать порядок и уникальность данных в словаре (два чанка с разными номерами содержат одни и те же данные, например)?
>уникальность данных в словаре
Словарь это коллекция пар ключ-значение, он не гарантирует порядок. Зато он дает поиск по ключу за О(1). Так что скорее всего ты неудачно выбрал структуру данных. Можешь посмотреть на SortedDctionary. А если ты расскажешь, какую ты задачу решаешь (но не как ты решаешь), то можно будет подумать как лучше все организовать. Опять же тебе для размышлений, посмотри паттерн producer/consumer.
Многопоточное архивирование/разархивирование файлов GzipStream'ом с оптимальным жором памяти и всё только на тредах и примитивах синхронизации.
да, это то знаменитое тестовое на пару часиков, наш тимлид за часик сделает от одной питерской конторы, которое я делаю лишь из спортивного интереса..
Пока придумал следующее:
1. Пока файл не кончился, режем его на куски по числу потоков в системе.
2. Поток выполняет сжатие куска, присваивает ему порядковый номер (вот тут интересный момент - это очевидный shared resource, и я не знаю как гарантировать правильный порядок - локать доступ к нему?) запихиваем его в некую коллекцию пар порядковый номер-кусок.
3. Достаём из коллекции кусок, проверяем, следующий ли он по порядку (сверяем с последним записанным номером), если да - пишем его в файл. Запоминаем номер записанного куска. При этом потоку с неправильным номером куска надо подождать (семафор?), пока порядковый номер дойдёт до его очереди.
4. Затем нарезаем файл на следующие n кусков и так пока он не кончится.
У Рихтера про потоки и таски читай, ничего лучше не придумали
При многопоточном доступе к архивированным файлам порядок тебе не гарантирован, потоки включаются хаотично.
Смотри в сторону конструкций синхронизации
>нарисуйте два круга
>нарисуйте оставшуюся сову
Мои ощущения от работы с потоками. Я альбахари и Рихтера уже проштрудировал, все примеры пошагово ручками вбил в солюшен и разобрал. Но вот как реальная задача так обсёр пиздец.
Есть какой-нибудь внятный тутор или хорошо документированные исходники на гитхабе с реальными распараллелеными задачами?
У тебя слишком абстрактные вопросы. Давай конкретную проблему и тебя ткнут в решение или хотябы поймешь что гуглить.
Нахуй ты чето читаеш просто пойми
реквестирую способы заработать бабла на шарпе.
на hh выложил резюме, там 6 проектов, но все равно не берут на РАБоту. думаю это из-за того что смогу работать только 4 часа в день и только вечером.
поэтому планирую вкатиться в фриланс, какие есть площадки? нашел только fl ru и фрилансим
> fl ru
Чтобы написать заказчику, надо купить премиум. Большего скотоублюдства я нигде не видел. Хотя нет, видел — комиссию в 55%
Я вкатывался 5 лет назад, мне не понравилось
Одна из самых больших плотностей нигров/индусов на вакансию
В поддержке сидят точно такие же уебеща которым хуй что объяснишь
Как минимум не бери сомнительные заказы
Сука блядь.
>читать книги по программированию
rest in bytes
Начинай писать код.
>потоки
Потоки сами по себе тебе ненужны смотри в сторону параллельного программирования в целом(тред пулы, мьютексы и пр.)
Ты еще с моной не ебался и не советую
И все равно останутся упоротые доказывающие что у мс нормальная экосистема
Это я даун на самом деле, у них прямо написано что студия тоже должна быть превьюшной.
Сука блядь, заебали, что каждая версия студии ставится отдельно
только превью работает с третьей версией корки.
https://dotnet.microsoft.com/download/dotnet-core/3.0
Ты прям я, пока что остановился между Acer Nitro AN515-42-R0HW и Honor MagicBook KPL-W00
Выбирал до 50к, я ноут никогда до этого не покупал, так что какие-то советы конкретные дать не могу
Официально была заявлена полная совместимость кор и моно
При том что это 2 параллельных проекта
Сегодня должны зарелизить кор 3,0. Так что если не пользуешься превьюхами, особого смысла начинать нет.
У меня бюджет был поменьше ~35k, но требования были к ноуту такие: 15", SSD, 8Gb, FullHD, 4 ядра, отсутствие дискретки, не распаянная память, не асер и не леново . Взял Dell Inspiron 3585 на ryzen2500, в принципе доволен, производительности хватает (особенно после мой пекарни на кор2дуо со старым хардом и 4гб). Единственный недостаток - TN экран, но раз у тебя 50к лимит, то IPS взять не должно быть проблемой. А еще меня немножко наебал магаз, и вместо 1х8Гб (я рассчитывал докупить еще 8Гб во второй слот), там оказалось 2х4Гб.
Мне норм, только шорткаты пришлось выучить. ибо елозить по всем эти менюхам/панелям, да еще тачпадом. Хотя в итоге это даже плюс. А 17 уже не удобно использовать как переносной комплюктер, к нему надо искать стол и стул.
просто)))
ЛОЛ щя бы в 40+ градусную жару в оружение толп тайцев потным липким и скорее всего пьяным валяться на пляжие с ноутом
>Returns the larger magnitude of two double-precision floating-point numbers.
Оно вернет число, которое больше по модулю или что?
рофл это выжигать глаза с 15 дюймовый монитор
Бампаю вопрос. Ввел название фирмы в поисковике и увидел в топе на Upwork. Стоит ли идти работать в такую фирму?
>захардкодил модель в контроллере
Это вообще реально, без описания модели, например из какогонить джавасона взять объект, динамически создать по нему C# модель, потом еще линком его обработать?
>например из какогонить джавасона взять объект, динамически создать по нему C# модель, потом еще линком его обработать?
Любая ЖСОН либа.
>Heroku кто ни будь юзал для .NET?
Слышал про людей, которые знали тех, кто видел как хостили .Net на хироку.
>нужен дешевый хостинг
Они все примерно одинаковые - 80-100 руб/мес, за дешманский впс на лине.
нашел бесплатный Free хостинг для ASP.NET MVC, но без https, а ебучий webhook только с https работает :(
кстати с хироку ебался пол дня, ничего не получилось, забил и задеплоил на азур (где дядя Билли с меня содрал $1 без моего согласия)
Лично я без проблем переконверил свою апку к кору, прицепил билд скрипти для .net core и задеплоил свой сайтик, с кучей логики. А с чем я должен столкнуться?
https://pastebin.com/A2TBLVqa
вкатился в ООП и дотнет недавно
>Наследует ли этот класс статичный Something() из родителя?
Да, наследует.
>Если да, то как этого избежать?
Если я правильно понял, то нужно просто сокрыть старый метод новым через new, где описать свою реализацию.
>Да, наследует.
А чё я его вызвать не могу? Как вообще тогда с классом Concrection вообще можно взаимодействовать? Экземпляр не создаётся
Какой ты экземпляр собрался создавать? Статические члены доступны без наследования и создания экземпляров. Иди читай про static, abstract и virtual члены.
Потому что ты не туда пишешь. Ты описываешь поле класса, иде ждет тип, вот и предлагает тебе тип HelloApp.Abstraction.Concretion.
>Какой ты экземпляр собрался создавать?
Я в курсе что не создаётся, и то что статические члены доступны без наследования и создания экземпляров.
Мне вообще интересно, какой смысл от такого наследования? Concrerction бесполезным классом является по сути. Для чего такое наследование надо?
>смысл от такого наследования
кроме как создать логику в классе Concrete и вынести ее в абстрактный класс
>экземпляр класса
модификаторы доступа какие?
Это студентота начала осваивать шарпы в институтах, что два тупейших вопроса за утро?
Binding="{Binding tDate, StringFormat=\{0:dd.MM.yy\}}"
учи матчасть
Я вытащил ща из методов и что дальше-то?
а дальше ты начинаешь гуглить с каким модификатором доступа инициализируються переменные
Святой Рихтер, они приватные по дефолту
Class Book {
int BookId;
string Name;
Author Author;
}
Class Authod{
int AuthorId;
string Name;
Book Books;
}
Или:
Class Authod{
int AuthorId;
string Name;
List<Book> books;
}
В смысле как лучше? Это разные вещи. В первом случае у тебя связь один к одному, во втором один ко многим. Могу предположить, что один человек может написать несколько книг, поэтому один ко многим будет логичнее.
Еще посмотри что такое static. Ты пытаешься их статик метода достучатся к экземплярным полям, провал гарантирован.
Ты думаешь тебе на каждый пук будут отдельную главу писать? Но если бы ты прочитал хотя бы то, что на скрине (да первых трех частей хватит), то ты не делал бы таких дебильных ошибок. Про модификаторы и статик там написано.
stackoverflow copy-past developer. Если у тебя что то не получается, это не повод сразу создавать пост as "Ни работает". Потыкай, поковыряй, погугли на крайняк. Когда ты прийдешь на первое место работы как джун, тебя посадят за легаси 10 летней давности с .NET <3.0 (это еще тот ад), а при открытии проекта у тебя 10+ вложенных проектов с 500+ классов и N методов, которые работают, одному аллаху известно как. Ты тоже будешь копипастить код и спрашивать, почему не работает?
>>81518
>не нужен веб
Сейчас 90% шарпа это веб, с релизом Core 3.0 будет еще больше
>драйвера
это тут причем?
>Юнити в помощь.
Я понял. Размером со Скурим с подгрузкой далёкой получится там? Пишут обычно что хуй.
>Сейчас 90% шарпа это веб, с релизом Core 3.0 будет еще больше
Не хотет. Хотет игры, точнее манямирки, хотет тестить всякую шляпу вон как чувак нейросеть визуализировал https://www.youtube.com/watch?v=3JQ3hYko51Y
Про дрова спрашивали в диллеме про си++. Может его с анрилом лучше? Кажется нет.
На юните KSP сделан с бесшовной картой в звездную систему (хотя это по сути десяток сфер). Все зависит от твоей компетенции.
Ок. Спасибо. Компетенция нулевая. Ну то есть питон, эр, а всякое скобкоёбство - это тёмный лес для меня.
Значит мэни-ту-мэни. О чем тут думать еще. Тут лис, там лист, а промежуточную таблицу еф сам накатит.
>tfw some fuck stole ur code and impersonates you
Ты, бля, вообще кто?
>>81153
>лабу
>решил вкатиться чисто для себя сисьадмин
>сразу понял что на курсах учат стучать по клаве, а не теории
>начал с азов, ООП, паттерны, принцип лисков итд
>возник вопрос про наследование, решил спросить
>из-за кол-ва студентов с вопросами про лабы на тебя сразу сагрились
>а тебе особо и ответить нечем
мля
>>81163
>сокрыть старый метод новым через new
Спасибо, забыл про это.
Но все-же лучше потом буду выкидывать такое в расширения.
Ну сорян, но сама постановка вопроса полностью определяет как на него получить ответ самостоятельно, если ты понимаешь что слова в вопросе значат.
>начал с азов
>принцип лисков
Если спросить 10 человек про принцип Лисков, то 9 из них ответят по разному. 10ый просто скажет, что не знает.
> то 9 из них ответят по разному
К счастью, у него есть формальное определение. А вот с другими из солида уже сложнее.
формально определение с 9 различными трактовками.
Если Б является дочерним объектом А, то Б может заменять А так же равноценно, как и в случае с применением А. Есть чо сказать?
Пиздец уебищное резюме, иди погугли как правильно составлять резюме для ит.
Что-то я тебя не понял, ты принес какую-то дичь и выдал это за определение ЛСП. И когда твое говно оказалось говном ты говоришь, что у лсп нет нормального определения.
Я тебе говорю, что для лсп есть четкое формальное определение, в отличии от остальных из солида. Зачем тебе чтобы я придумывал что-то своими словами?
SOLID нужен для формирования общей концепции с применяемостью в проектах, а не для знания формулировки. Ок, не нужно формулировок. Опиши пример, где бы ты применил Liskov substitution
>где бы ты применил Liskov substitution
Эм.. это не то, что надо применять где-то. Каждый раз создавая иерархию надо подумать соответствуют ли её типы лсп.
Ставить комьюнити?
Под андроид лучше жава или котлин. Но пилить игры лучше на юнити, а юнити - это шарп.
Я в армии змейку под виндовс формс написал, лол. Можно сделать всё что угодно же.
>12. Литература по WPF
>Из более-менее актуального можно выделить пару книг:
>- Pro WPF 4.5 in C# (Matthew MacDonald)
>- Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)
Есть ли смысл читать эти книги чтобы хуйнуть суть?
Или достаточно знаний справочника от микрософта?
Это копия, сохраненная 25 октября 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.