위상까지는 그렇고.....

한국에서는 C#이 자리잡을 곳이 없다.

게임업계에서는 Unity때문에 C#이 스크립트처럼 쓰이는 부분이라 쓰이는거지, 정통(?) C#을 사용한다고 볼수는 없다.

그나마 WFP나 UWP등의 윈도 클라이언트, 그리고 공장 자동화, 반도체 쪽에서 WPF나 Winform을 사용중이다.

서버쪽에서는 여전히 자바 엔터프라이즈 계열이 대부분이라 극단적인 자바 공화국임을 느낄수 있는게, 서버단에서 닷넷을 구하는 대기업은 거의 볼수 조차 없다.

넥슨에서 약간 서버쪽 구인을 하는것 같은데, 쿠팡은 C# 포함에서 약간 다양하게 뽑는것 같고(아마 도커 컨테이너 때문이지 않을까), 네이버, 카카오, 배민은 전부 자바나 모바일 관련만 뽑는다. 엔씨도 서버쪽은 전부 자바다.

그래서 그런지 C#은 책 찾기도 힘들다. 흔히 말하는 악순환이다.

개발자 없음 -> 책 없음 -> 기술 스택 부족 -> 기업에서 안찾음 -> 개발자 없음 -> ...

이 섹션에서 말하고 싶은건 한가지, C#은 책이 부족하다. 즉, 한글화 되는 책이 잘 없다.

그렇기 때문에 책이 나와도 금방 절판된다. 그러므로 책이 나오면 일단 괜찮다 싶으면 사고 봐라. 회사에서 책 사주는 복지가 있다면, 일단 안보더라도 책을 사라. 나중에 필요한데 나중에는 절판되서 책 안나온다. 아니면 원서를 아마존에서 배송비까지 주고 비싸게 주고 보면서 영어의 늪에서 허우적 거리면서 보게 될것이다.

아쉽지만 어쩔 수 없다. 험지에서 살아갈려면 이정도 노력은 해야지. 대신 인력풀이 그만큼 작다보니 고인물 되어서 나름 살아가기는 쉬울 수 있다.

Reference : ASP.NET Core 애플리케이션 개발 p.355. <표 14-1> ASP.NET 서비스 컨테이너 수명 옵션

Transient 서비스가 요청될 때마다 새 인스턴스가 생성된다. 경량 서비스에 이 수명을 사용한다.
Scoped 단일 인스턴스가 HTTP 요청당 생성된다.
Singleton 단일 인스턴스가 첫 번째 서비스 요청이 발생할 때 생성된다.
Instance Singleton과 유사하지만 인스턴스가 StartUp에서 컨테이너와 함께 등록된다

등록할때 LifeCycle을 고민해야하는데, 일종의 전역으로 항상 떠있어야 하는 클래스는 Instance로 등록하고, 그 외는 알아서 맞춰서 가는게 좋을듯.

(.Net 5에서는 Instance 옵션이 없다....그럼 Singleton으로 써야한다는건데 확인필요..)

컨테이너를 사용할꺼면 위를 고려해야하고, 그게 아니면 동작마다 생성하던지.

문제는 메모리 사용 및 성능 개선에 대한 고민이 필요할때면 이를 고려해야할 듯 하다.

'개발 > Server-BackEnd' 카테고리의 다른 글

[C#] ConnectionString Password 증발현상  (0) 2021.07.08
OpenAPI - 설계  (0) 2021.02.07
VS2019-Docker-SwaggerUI 경로 문제 바로 잡아주기  (0) 2021.02.04
알람 봇  (0) 2021.01.11
API - Status  (0) 2020.12.28

+ Recent posts