@Usertypr34d

Как лучше начать изучение c#?

Изучил рынок по вакансиям c# из-за своей неопытности не могу понять момент в каком направлении идти? Потому что стал замечать, что большинство вакансий по c# это идет fullstack разработка и активная работа с фронтом. Хотелось бы стать специалистом по backend, а не fullstack.

Получается c# backend специалисту не избежать момент того, что ты все равно в будущем сольешься с фронтом и будешь на два направления работать?

Имею базу новичка и легкое понимание парадигмы программирования (ранее программировал на php, python). Как я понимаю дальше путь идет того, что я изучаю .net + .net framework (легаси) и как я понимаю плюсом было бы изучить winforms?
  • Вопрос задан
  • 208 просмотров
Пригласить эксперта
Ответы на вопрос 3
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Как и с любым другим языком, для начала прочитать учебник.
Ответ написан
NikFaraday
@NikFaraday
Student full-stack Developer
Хотелось бы стать специалистом по backend, а не fullstack.

Так не получится, либо очень мало вероятно.

большинство вакансий по c# это идет fullstack разработка и активная работа с фронтом

Если брать back-end, тогда да. Если брать desktop, то там ситуация другая.

Если хотите работать на веб, тогда вот вам с чего начать (Чисто ключевые моменты для изучения asp.net core MVC):

Client:
1. Html/css
1.1 margin, padding
1.2 !important
1.3 class
1.4 :hover, :active, :focus-visible
1.5 media requests

2. Bootstrap 5
2.1 form-control
2.2 alert, alert-danger
2.3 d-none
2.4 row, col-sm, col-md, col-lg

3. Java Script
3.1 let, dynamic object
3.2 document
3.3 getElementById
3.4 getElementBySelector
3.5 innerHtml
3.6 undefined
3.7 addEventListener()
3.8 JSON
3.9 JSON.stringify()
3.10 JSON.parse()

4 jQuery
4.1 jQuery selectors
4.2 .on()
4.3 .on('click', ... )
4.4 .change()

5 ajax
5.1 ajax HttpGet request
5.2 ajax HttpPost request
5.3 ajax send FormData

Simple C#:
6 OOP
6.1 Data types
6.2 Condition operators (if-else, switch). bool type
6.3 Loops (while, do-while, for, foreach)
6.4 array
6.5 List<>

Classes in C#
7.1 Classes
7.2 Fields
7.3 Properties
7.4 Constructors
7.5 Methods
7.6 Inheritance
7.7 Abstract classes
7.8 Abstract and virtual methods
7.9 Interfaces
7.10 Generics
7.11 Generic Methods
7.12 Generic Interfaces
7.13 Principals of OOP

Server (asp.net):
8.1 MVC architecture in asp.net
8.2 Controllers and Actions
8.3 Routing
8.4 [HttpGet]. [HttpPost]
8.5 [IgnoreAntyforgeryToken]
8.6 IActionResult
8.7 Razor Pages
8.8 Build correct model in asp.net mvc
8.9 View
8.10 Dependency Injections
8.11 asp.net mvc configuration
8.12 AddSingleton, AddScoped, AddTransient

Entity Framework
9.1 DbContext
9.2 DbSet<>
9.3 Connection String Parameters
9.4 IEntityTypeConfigraiton<>
9.5 EF Core one-to-one configuration
9.6 EF Core one-to-many configuration
9.7 EF Core many-to-many configuratio
9.8 .Include()
9.9 Migrations, Database.Migrate()
9.10 asp.net core .AddDbContext()
9.11 Generic Repository Antipattern
9.12 How to build custom services and include them to Dependency Injection

10. Fluent Validation in asp.net mvc

11. Authentication/Authorization
11.1 Different between Authentication and Authorization
11.2 Cookie
11.3 JWT (JSON web token)
11.4 Register authentication (app.UseAuthentication, app.UseAuthorization)
11.5 Claims (Claim, ClaimPlincipal, ClaimIdentity)
11.6 Authentication By Cookie
11.7 services.AddAuthentication()
Ответ написан
Комментировать
Steel_Balls
@Steel_Balls
Хотелось бы стать специалистом по backend, а не fullstack

Так не бывает
Получается c# backend специалисту не избежать момент того, что ты все равно в будущем сольешься с фронтом и будешь на два направления работать

Хороший бэкендер должен хорошо разбираться что такое фронт и как он работает. При этом верстать и делать веб-странички своими руками совсем не обязательно, но уметь подправить что-то на фронте он обязан уметь.
А поскольку к бэку таким образом присоединяется фронт, то разраб автоматически становится фуллстеком.
То же самое и с DevOps. Бэкендер не обязан сам поднимать сервера, делать докеры, настраивать контейнеризацию, CI/CD и заботиться о стабильной работе серверов. Но он обязан уметь что-то поднять, подправить yaml-ик или запустить докер на новом сервере. Но делать такое постоянно - это не его работа
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы