6. 회고/생각
- 2024.05.24
_12:47
뭐 CM월드는 계속 업데이트 될 거니깐 이것도 일기식으로 적는게 좋을 것 같다.
우선 앞의 내용들은 나중에 적어보고, 오늘 배포한 Beta 2.1.0에 대해 얘기해본다.
사실 21일에 먼저 Beta 2.0.0을 테스트 배포 해보았다. 그런데 팜팜서버가 두번이나 죽는 문제가 생겼다.
팜팜 서버의 경우 AWS EC2에 docker로 nest와 mysql을 yaml으로 처리했는데, 죽었을 때를 보면 둘 다 cpu 사용이 갑자기 치솟은 상태였었다. (cpu가 갑자기 치솟은 상태고, 팜팜 사이트나 스웨거 접속 불가, 터미널도 접속 불가..)
이게 docker를 두개 같이 돌려서 사양이 문제였던건지, 아니면 api하나 있는 누나뮤직 서버는 계속 멀정한 상태인걸로 보아 aws에서 바로 접속해서 해본다고 ssh의 ip제한을 안두어서 다른 공격이 있었던건지 알 수가 없었다.
근데 당시에 두번이나 죽어서 시간이 지체되었고, 다음날을 공식 Beta 2.0.0의 배포 날로 생각하고 있었기 때문에, 어떤 상태에서 죽는지 일일이 테스트해보기에는 여건이 맞지가 않았다.
그래서 그냥 두 가지를 한번에 처리해버렸다. 인터넷에서 메모리 늘리는법 찾아서 메모리 늘리고, ssh접속도 내 ip로만 하고 pem 접속했다. 덕분에 지금까지 멀쩡히 살아있다.
근데 모니터링 한번 봐보면 갑자기 cpu가 확 올라가는게 한번씩 있는걸로 봐선 메모리 올리는게 잘 한것 같다.
다음날 팜팜서버가 잘 살아있는걸 확인 후, Beta 2.0.0의 정식 배포로 정하고, 지인 몇명에게 알려서 테스트해보았다.
혼자 테스트할 때는 발견 못했는데 나를 포함 3명이 방명록에 글을 써놓은걸 보니 순서가 섞여있었다.
부랴부랴 문제점 찾아보고 했는데, firebase에서 데이터 가져오는게 oderby를 안걸면 uid 기준이 먼저라 순서가 뒤섞여있는것 같았다. (혼자 테스트했을 때는 그냥 데이터 순서 뒤집어주는것만으로 역순으로 잘 나왔던터라 몰랐다)
오랜만에 firebase 관련된거 하느라 좀 걸렸는데, firebase는 특이하게, oderby 쿼리 날리면 바로 적용된 데이터를 받는게 아니라, firebase 내에서 해당 쿼리에 대한걸 만들고 그 후에 쿼리 사용이 가능하다. 최적화 비슷한거 하는것 같다.
무튼 그렇게 배포 테스트가 대충 끝나고, 내가 모바일은 지원을 안해놓았다보니 바로 접속 못해봤던 사람도 있고, 나도 나중에 이걸로 노래 들으려고 취향 맞는노래들 열심히 등록했었기 때문에, 모바일에서 자연스럽지는 않지만 화면 꺼진상태에서도 노래재생이 가능한걸 확인 후, 모바일은 아예 플레이어로 만들어보는게 괜찮겠다는 생각이 들어서 그렇게 만들었다.
그리고 오늘 Beta 2.1.0 으로 배포를 완료했다.
솔직히 더 빨리 완성 할 수 있었는데, 제목이 엄청 긴 노래가 한 두개씩 있다. (게다가 피처링을 다 제목에 표시를 해놔서 더 긴 듯..)
그렇다 보니 멈춰있는 글자로는 보여주는데 한계가 있어서 CM월드 데스크탑 처럼 노래와 가수 정보를 슬라이드로 보여주려고 했다.
근데 이게 안되서 몇시간 고생했고... 결국 못하고, 그냥 멈춰있는걸로 글자수 넘어가면 .. 처리해서 보여주는식으로 처리했다.
이게 일단 데스크탑에서 반응형 사이즈로 구현하면 잘 된다.
근데 모바일로 local 주소 접속하면 되기도 하고 안되기도 한다. 그런데 배포를 하면 아예 안된다.
일단 이게 원리가 같은거 여러개 한줄로 세우고 그걸 슬라이딩 시키는건데 이상하게 무조건 4개 까지만 나온다.
이것 때문에 1~60까지 숫자 써서 어디까지 나오나 배포도 해보고, 아이폰 맥북에 연결해서 개발자 도구로도 봐보고 했는데, 해결 못했다.
일단 내가 생각한 원인은 이게 고정된 글자 즉, 내용이 바뀌지 않으면 상관이 없는데, 노래가 바뀔 때 마다 내용이 바뀌는데 해당 내용에 맞게 적용이 안되는것 같았다.
로컬서버로 테스트할 때도 처음에는 적용 안되었다가 다른거 설정하고 서버 리로딩되면 문제있던 부분이 잘 출력되기도 했었다.
하지만 난 프론트쪽 공부를 제대로 했던게 아니라 이쪽부분은 잘 모르겠고 이미 몇시간 소비한 상태라 이부분은 나중에 프론트 하는분 알게되면 물어봐야겠다.
이렇게 Beta 2.0.0과 2.1.0 을 배포하고 든 생각을 적어보았다.