티스토리 뷰
5,6 주차는 코드 수정 뿐만 아니라, ppt에 시연영상까지 찍어야 해서 글을 쓸 시간도 없었다.
마침내 어제부로 모든 산출물을 제출했고, 내가 했던 것들을 잊지 않기 위해 일단은 기록으로 남겨두려 한다.
QA(Qulity Assistance) 작업
어찌 보면 실제 검증을 하기에 가장 중요한 작업이다. 여태까지의 개인 프로젝트와 달리, 상업적으로 이게 실용성 있는지 없는지를 보는 거니 말이다.
일단 프론트엔드 측면에서부터 디자인을 갈아엎었다. 실제적으로 눈에 띄는 디자인과, 실용성이 있는 디자인으로 바뀌었다. 그런 측면에서 코드의 검수는 백과 프론트를 어느정도 다 할 수 있는 내가 자진해서 맡았다. 왜냐하면 그렇게라도 하지 않으면 백과 프론트 연결이 안될 것 같았기 때문이다.
어느정도 데이터의 정의는 약속을 했으나, 역시나 백과 프론트를 연결하는 순간부터 에러가 났다. 나는 어느 부분에서 에러가 났는지를 파악하고 각 파트들에게 알려줬고, 나 또한 에러가 나는 부분을 계속 고쳐가면서 커밋을 했다.
결과적으로 6주차에 접어들었을 때는 기능 추가를 하면서도 안정적으로 서버를 올릴 수 있었고, 시연 영상을 찍을 수 있게 됐다.
기본적으로는 로컬 호스트에서 돌아가게 만들었고, 간신히 프로젝트 시연만 가능하도록 만들긴 했지만 배포 욕심이 났다.
제출까지 4일 남은 상황이었지만, 경험해보는 것도 좋을거라 생각해 시도는 해보기로 했다.
배포 성공, 그리고 안정화 실패
결론적으로 말하자면, 배포에는 성공했으나 서버 안정화에는 실패했다.
우리 집에서 놀고 있는 1050ti 데스크탑을 서버 컴으로 돌려보려고 vs 코드를 서버로 돌렸다.
socketio의 모듈은 내부 ip밖에 연결이 안되길래, django channels로 redis_server를 써서 외부 ip와도 소켓 연결이 되게 갈아 엎었다.
nginx로 배포했는데도 왜 안되나 했더니, kt 공유기의 포트 포워딩 때문이었다.
그야 말로 포트 뚫고 다시 막고..난장판 그 자체였지만, 내도메인 한국에서 무료 도메인도 하고 enscript로 SSL 설정도 했다.
여기까지 부딪혀보는데 꼬박 삼일 걸렸다.
내부 ip와 외부 ip의 프로토콜이 달랐고, 무엇보다 소켓 통신은 wss를 써서 더 헷갈렸다.
그렇게 글을 쓰고 있는 지금은 토요일. 분명 소켓 통신은 가능하지만..음성이 넘어가고 다시 받고, DB에서 jwt로 액세스 해야 하는데 어째서인지 로그인 하면 DB가 불러와지고 아니면 전혀 불러와지지 않는다.
authorization에서 세션을 써서 그런건지..어느 부분부터 잡아야 할지 감이 오지 않는다.
아무튼, 일단 제출에는 실패했지만 해당 프로젝트는 계속해서 해보려고 한다.
어떤 방식을 써야 할지는 모르겠지만, 그래도 경험이 중요하다고 생각하니까.
내 빅프로젝트 후기는 아마 이렇게 마치게 될 듯 싶다.
6개월동안 에이블스쿨을 달려왔고, 정말 많은걸 제대로 부딪히면서 배웠다.
나의 집요함도, 좋은 팀원들도 만나게 된 계기. 그리고 내 안을 들여다보면서 다시 한번 AI에 대한 집념을 일깨운 시기였던 것 같다.
이 글을 본 당신에게도 언젠가 그런 꿈이 찾아오길 바란다.
끝!