제가 웹개발을 하게된 계기가 여기있는데, 이 프로젝트에서 서버는 ' Golang ' 으로 만들어질 예정입니다.
서론
원래 게임프로그래밍 전공인 저는 C계열 언어를 위주로 했고,
( 사용해본건 C, C++, Objective-C, C# 입니다. )
C계열 언어를 떠나 추천받고 써본게 Golang입니다.
Golang으로 사실 게임엔진을 만드는건 의미가 없고, 서버에 좋다고 해서 써봤는데,
StateFull 보다는 StateLess 쪽에서 병렬 작업이 좋다는 결론이 나서,
RestAPI 를 만들어 봤었습니다.
당연히 , 서버와 같이 소통할 클라이언트가 필요했고, 그게 FE를 공부하게 만들었으며
자연스럽게 FullStack을 공부하게 됬습니다.
물론, FE를 먼저했으면 익스프레스를 먼저 했을것 같은데,
익스프레스는 차차 익혀보고, 이 프로젝트는 Golang으로 서버를 만들 생각입니다.
RestAPI
Golang의 여러 웹 프레임워크 ( 라이브러리 ) 를 써봤는데,
그 중에서 Gin FrameWork가 제일 괜찮아서 기본적으로 Gin FrameWork로 작업을 할 생각입니다.
WebSocket
고릴라의 webSocket 라이브러리를 이용할 예정인데,
Soket IO 를 사용 하지않는 이유는, 내부의 클라이언트들의
병렬적인 처리( 쓰레드 ) 를 직접짜는게
구조적으로 편하고 경험적으로도 좋을거라고 생각하기 때문입니다.
Auth
인증관련은 oAuth2 기반의 gomiauth 를 이용 할 생각입니다.
써보기도했고, kakao의 경우는 지원이 되는지 모르겠는데,
기본적으로 구글,페이스북 계정으로 로그인은 편하게 구현 할 수 있었던 기억이있습니다.
DataBase
데이터 베이스로는 MongoDB를 채용했는데, SQL도 옛날에 써봤지만 저희 앱 특성상 자유로운 도큐먼트를
생성 할 수 있다는 이점은 상당한 강점이기에 채용했습니다.
Security
아직 보안쪽은 생각 중인데, 베타 버전을 출시하고 나서 부터
아는 분의 자문을 얻어 네트워크나 API 구조에 대해 자문을 구하려고 생각중입니다.
다음 시간에는 사용하는 환경과 배포 내지 버전관리에 대해서 이야기 해보겠습니다.
'Project 주문을 외워봐' 카테고리의 다른 글
주문을 외워봐 -6- 토큰인증의 보안 (0) | 2021.09.14 |
---|---|
주문을 외워봐 -5- 개발 환경 , Git (0) | 2021.08.31 |
주문을 외워봐 -3- FrontEnd 라이브러리 (0) | 2021.08.27 |
주문을 외워봐 -2- 목표와 구조 (0) | 2021.08.26 |
주문을 외워봐 -1- 개요 (0) | 2021.08.24 |