웹 아키텍쳐

웹사이트를 만들기 전, 웹 아키텍처부터 알아보자(23.11.9)

dodo4723 2024. 2. 17. 09:51
728x90
반응형

제 프로젝트는 사용자가 특정 차트를 고르면, 코스피 코스닥 전 종목의 과거(5년) 차트들을 모두 탐색하여 가장 유사한 차트 10개 정도를 골라 사용자에게 보여주는 것이 목표입니다.

 

비슷한 차트 검색기

 

similar chart finder

내 종목의 차트는 상승하는 차트일까요?

3.35.36.208

 

 

 

웹사이트를 제작해 보자. 그전에..

 

저는 특정 주식의 차트를 고르면, 그 차트와 비슷한 과거의 차트를 찾아주는 웹사이트를 만들고 있습니다.

 

그런데, 웹 아키텍처를 전체적으로 이해하지 않은 상태에서 제대로 설계하지 않고 무작정 웹사이트부터 만들기 시작하면, 향후 웹을 확장하거나 수정하거니 구조를 변경할 경우 꽤 힘든 경우가 생길 수 있습니다. 그래서 웹 아키텍처를 전체적으로 공부한 다음, 웹사이트를 제작하려고 합니다.

 

 

4년 전 경험한 설계의 중요성

저는 4년 전에 유니티로 게임을 제작하는 프로젝트를 진행하였습니다. 그런데, 제대로 된 설계 없이 무작정 생각나는 대로 코드를 작성해가다 보니 후에 막히는 부분이 굉장히 많았던 기억이 있습니다.

 

구조가 너무 중구난방이다 보니 만들수록 이건 아닌 거 같다는 생각이 들었고, 결국 게임 제작을 포기했던 경험이 있습니다.

 

이번에는 웹을 공부하며 배포해볼 예정인데, 처음부터 무작정 코드부터 작성하기보다는, 여러 기술들과 여러 프로그램들을 공부한 후 천천히 프로젝트를 진행해 볼까 합니다.

 

그리하여 당분간 웹 아키텍처들을 공부하며 블로그에 정리하려고 합니다.

위 이미지는 제가 지금(3-2) 대학교에서 수강 중인 '정보검색과 웹'이라는 과목에서 본 웹 아키텍처에 관련된 이미지입니다. 그냥 flask로 서버를 띄우는 게 다가 아니고 정말 많은 요소가 있다는 것을 알게 되었습니다.

 

일단, 공부하기 전인 지금, 제 배경지식을 점검해보겠습니다. 위 그림을 나름대로 생각나는 대로 해석해 보았습니다. 공부를 마친 후 공부하기 전과 어떻게 달라졌는지 비교하기 위해 일단 아는 대로 적어보았습니다. (틀린 정보일 가능성이 높습니다!)

검색하지 않고 일단 아는대로 적어본 배경지식

 

  1. DNS : 도메인과 IP 변환
  2. Load Balancer : apache, nginx?
  3. Web app server : 톰캣, flask 등
  4. Database : mysql, mongoDB
  5. Caching service : Redis?
  6. Job servers : kafka?
  7. Full text search service : 엘라스틱서치?
  8. Services : 비즈니스 로직
  9. Data warehouse : 하둡인가..? 잘 모르겠네요
  10. Cloud storage : aws? google drive?
  11. CDN : contents delivery network

일단은 이게 최선인 것 같습니다. 이제 하나하나 공부해 나갈 예정입니다.

 

학기가 진행 중인 지금, 대학에서 위 내용을 배울 수 있으면 좋겠지만, 대학에서는 웹과 관련된 수업이 거의 없어 아쉬웠습니다. 또한 대학의 강의들은 대부분 좀 시간이 지나 잘 사용하지 않는 기술들을 가르치거나 너무 이론적인 내용들만 가르치는 경향이 있는 것 같습니다. 그래서 실전 경험은 스스로 프로젝트를 하며 혼자서 배워나가야 할 것 같습니다.

파이팅!

반응형