Какие рекомендации по началу изучения C# вы можете дать?

Как новичок в изучении рынка вакансий по C#, я столкнулся с дилеммой в выборе направления развития. Большинство вакансий, связанных с C#, предполагают работу в fullstack разработке, с активным участием во фронтенд разработке. Однако, мне хотелось бы стать специалистом по backend, а не fullstack. Возникает вопрос, возможно ли избежать слияния с фронтендом и сфокусироваться исключительно на backend разработке?

Учитывая мою начальную базу и поверхностное понимание программирования (опыт с PHP и Python), какие шаги мне следует предпринять для дальнейшего развития? Я предполагаю, что следующим этапом будет изучение .NET и .NET Framework (включая легаси), и возможно, будет ли полезным изучение WinForms?

Благодарю за помощь!
  • 2 января 2024 г. 10:17
Ответы на вопрос 3
Вот несколько рекомендаций для вашего начала изучения C#:

1. Изучите основы программирования: Прежде чем погружаться в C#, важно иметь хорошее понимание основ программирования. Если ваш опыт с PHP и Python был поверхностным, рекомендуется освежить свои знания в области алгоритмов, структур данных и принципов ООП.

2. Изучите C# и .NET: Начните с изучения основ C# языка и его синтаксиса. Можно найти онлайн-ресурсы и книги, которые помогут вам освоить C#. Затем продолжайте изучать .NET Framework и его основные компоненты. У вас уже есть опыт с PHP и Python, поэтому некоторые концепции, такие как переменные, условные операторы и циклы, будут знакомыми.

3. Практика и создание проектов: После овладения основами C# и .NET, рекомендуется практиковаться и создавать собственные проекты. Это поможет вам применить полученные знания на практике и улучшить свои навыки программирования.

4. Изучение фреймворков и инструментов для backend разработки: Для становления специалистом в области backend разработки на C# важно изучить различные фреймворки и инструменты, используемые в этой области. Некоторые из них включают ASP.NET, ASP.NET Core, Entity Framework и другие. Изучение этих инструментов поможет вам стать уверенным разработчиком backend в C#.

5. Расширение знаний о backend разработке: Для более глубокого понимания backend разработки, изучение баз данных (например, SQL), понимание RESTful API и знакомство с паттернами проектирования также будет полезным.

6. Участие в проектах или получение сертификата: Чтобы подтвердить свои знания и навыки в C# и backend разработке, добровольно участвуйте в проектах или пройдите сертификационные курсы. Это поможет вам улучшить свое портфолио и повысить вашу ценность на рынке труда.

7. Знакомство с WinForms: Изучение WinForms может показаться полезным для вас, если вы планируете работать с легаси-кодом или разрабатывать приложения с графическим интерфейсом на базе Windows. Однако, если ваша цель - стать специалистом по backend разработке, фокусируйтесь главным образом на ASP.NET, ASP.NET Core и других фреймворках, используемых в web-разработке.

Надеюсь, эти рекомендации помогут вам начать ваш путь в изучении C# и достижении своих целей в backend разработке. Успехов вам на этом пути!
Как и с любым другим языком, для начала прочитать учебник.
<blockquote>Хотелось бы стать специалистом по backend, а не fullstack.</blockquote> <br/> Так не получится, либо очень мало вероятно. <br/> <br/> <blockquote>большинство вакансий по c# это идет fullstack разработка и активная работа с фронтом</blockquote> <br/> Если брать back-end, тогда да. Если брать desktop, то там ситуация другая. <br/> <br/> Если хотите работать на веб, тогда вот вам с чего начать (Чисто ключевые моменты для изучения asp.net core MVC): <br/> <br/> Client: <br/> 1. Html/css <br/> 1.1 margin, padding <br/> 1.2 !important <br/> 1.3 class <br/> 1.4 :hover, :active, :focus-visible <br/> 1.5 media requests <br/> <br/> 2. Bootstrap 5 <br/> 2.1 form-control <br/> 2.2 alert, alert-danger <br/> 2.3 d-none <br/> 2.4 row, col-sm, col-md, col-lg <br/> <br/> 3. Java Script <br/> 3.1 let, dynamic object <br/> 3.2 document <br/> 3.3 getElementById <br/> 3.4 getElementBySelector <br/> 3.5 innerHtml <br/> 3.6 undefined <br/> 3.7 addEventListener() <br/> 3.8 JSON <br/> 3.9 JSON.stringify() <br/> 3.10 JSON.parse() <br/> <br/> 4 jQuery <br/> 4.1 jQuery selectors <br/> 4.2 .on() <br/> 4.3 .on('click', ... ) <br/> 4.4 .change() <br/> <br/> 5 ajax <br/> 5.1 ajax HttpGet request <br/> 5.2 ajax HttpPost request <br/> 5.3 ajax send FormData <br/> <br/> Simple C#: <br/> 6 OOP <br/> 6.1 Data types <br/> 6.2 Condition operators (if-else, switch). bool type <br/> 6.3 Loops (while, do-while, for, foreach) <br/> 6.4 array <br/> 6.5 List<> <br/> <br/> Classes in C# <br/> 7.1 Classes <br/> 7.2 Fields <br/> 7.3 Properties <br/> 7.4 Constructors <br/> 7.5 Methods <br/> 7.6 Inheritance <br/> 7.7 Abstract classes <br/> 7.8 Abstract and virtual methods <br/> 7.9 Interfaces <br/> 7.10 Generics <br/> 7.11 Generic Methods <br/> 7.12 Generic Interfaces <br/> 7.13 Principals of OOP <br/> <br/> Server (asp.net): <br/> 8.1 MVC architecture in asp.net <br/> 8.2 Controllers and Actions <br/> 8.3 Routing <br/> 8.4 [HttpGet]. [HttpPost] <br/> 8.5 [IgnoreAntyforgeryToken] <br/> 8.6 IActionResult <br/> 8.7 Razor Pages <br/> 8.8 Build correct model in asp.net mvc <br/> 8.9 View <br/> 8.10 Dependency Injections <br/> 8.11 asp.net mvc configuration <br/> 8.12 AddSingleton, AddScoped, AddTransient <br/> <br/> Entity Framework <br/> 9.1 DbContext <br/> 9.2 DbSet<> <br/> 9.3 Connection String Parameters <br/> 9.4 IEntityTypeConfigraiton<> <br/> 9.5 EF Core one-to-one configuration <br/> 9.6 EF Core one-to-many configuration <br/> 9.7 EF Core many-to-many configuratio <br/> 9.8 .Include() <br/> 9.9 Migrations, Database.Migrate() <br/> 9.10 asp.net core .AddDbContext() <br/> 9.11 Generic Repository Antipattern <br/> 9.12 How to build custom services and include them to Dependency Injection <br/> <br/> 10. Fluent Validation in asp.net mvc <br/> <br/> 11. Authentication/Authorization <br/> 11.1 Different between Authentication and Authorization <br/> 11.2 Cookie <br/> 11.3 JWT (JSON web token) <br/> 11.4 Register authentication (app.UseAuthentication, app.UseAuthorization) <br/> 11.5 Claims (Claim, ClaimPlincipal, ClaimIdentity) <br/> 11.6 Authentication By Cookie <br/> 11.7  services.AddAuthentication()
Похожие вопросы