프로젝트

프로젝트15. 모든 사용자 기능 구현완료! 힘들었던 점과 식겁했던 순간

dodo4723 2024. 2. 17. 10:07
728x90
반응형

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

 

비슷한 차트 검색기

 

 

비슷한 차트 검색기

전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요?

www.similarchart.com





 

지난 5개월을 돌아보자

 

 

시작은 어땠었지?

2023년 8월, 토익을 성공적으로 끝낸 직후 이제는 실전에 들어가야겠다는 생각을 했습니다. 그리고 어떤 프로젝트를 할까 고민했습니다. 그렇게 생각해 낸 주제가 AI로 주가예측을 할 수 있을지입니다. 전 AI학과이기도 하고 개인적으로 궁금했습니다. 1달 동안 여러 실험과 테스트를 해보았지만 여러 이유들로 비슷한 차트 탐색으로 주제를 바꾸었습니다.

 

그렇게 5개월이 지났네요. 맨 처음 계획보다 훨씬 오래 걸렸습니다. 원래 기획한 기능은 딱 한 가지였습니다. 사용자가 특정 종목과 특정 날짜를 고르면 그 32일 치 차트와 유사한 32일 치 차트를 찾아주는 기능 딱 하나였습니다. 페이지 수도 입력페이지와 결과페이지 2개만 생각했었죠.

 

그렇게 제일 중요한 기능 하나를 만들었지만 이것만으론 사람들이 잘 사용하지 않을 것 같아 다른 기능들도 계속 추가했습니다. 처음부터 방대한 기능을 생각하지 않고 일단 작은(작지만 중요한)것부터 시작하여 차근차근 점차 살을 붙여나가니 꽤 볼만한 웹페이지가 만들어졌습니다.

 




식겁하다

프로젝트를 진행하며 무서웠던 적이 한두번이 아니네요. 여러 크고 작은 버그와 오류들을 마주했습니다. 그래도 끝까지 물고 늘어지면 웬만한 것들은 해결할 수 있었습니다. 하지만 아직까지 해결하지 못한 버그가 있는데 메모리 누수가 일어나는 두 부분입니다.

 

하나는 전 포스팅에서 다뤘었고 하나는 프로젝트 초기 설정 중 맨 처음 db를 생성하고 몇백만 개의 주가 데이터를 db에 저장할 때 일어나는데, 전혀 감을 잡을 수가 없더군요. 다행히 아예 맨 처음 db에 기본 데이터를 세팅하는 과정에 일어나는 문제라 한번 어찌어찌 넘어가면 되었습니다.

 

또한 버그와 오류보다 더 무서웠던 것이 있습니다. 원하는 기능들을 구현할 때 제한된 메모리(1GB 정도)와 시간 안에서 문제를 해결해야 하는데, 이 리미트를 지키지 못하는 순간이 올까 봐 조마조마했습니다.

 

시간은 주식 종목 수를 조금 줄이는등의 타협점이 존재하지만, 메모리는 단 한순간이라도 리미트를 초과해 버리면 aws ec2 서버가 마비가 되더군요.

 

만약에 그런 순간이 왔다면 부담이 많이 되지만 비용을 더 들여 더 좋은 EC2를 사용해야 합니다. 1달에 AWS 비용이 거의 5만 원이 나오는 지금, 비용이 더 추가된다면 부담이 많이 느껴졌겠네요. 다행히 제가 원하는 기능을 모두 구현한 지금까지 그런 순간은 오지 않았습니다.

 




웹페이지 디자인..

저는 디자인에는 소질이 없습니다. 또한 프론트엔드 지식도 거의 없습니다. 2년 전에 리액트강의를 들으며 To Do 리스트를 만든 적은 있지만, 너무 오랫동안 사용하지 않아서 다 까먹었네요. 그렇지만 웹페이지를 사용자들에게 보여주려면 간단하게나마 디자인은 해야겠죠..

 

그래서 그냥 부트스트랩을 이용해 깔끔하게만 한다고 만들긴 했는데 괜찮은지 모르겠네요.

하여튼 웹페이지 디자인도 고민하느라 시간을 꽤 잡아먹더군요. 저에겐 참 힘드네요.

 




 

하지만 아직 프로젝트 완성은 아니다

사용자 기능들은 제가 원하는 수준까지 구현을 완료했습니다.

하지만 아직 해야할 것을 완전히 끝낸 것은 아닙니다. 계획한 내용들을 나열해 보겠습니다.

 

  1. 관리자 페이지 제작
  2. 최적화가 가능한 부분들 최대한 최적화
  3. 최대한 많은 테스트
  4. 웹뷰 앱 제작

 

3월 개강 전에 어디까지 할 수 있을지 모르겠네요.

문제를 해결하기 위해 머리를 쥐어짜고 있으면 시간이 정말 빠르게 갑니다. 벌써 방학도 반이 지나가네요. 최대한 열심히 해봐야겠습니다!

반응형