순서 변경해서 사용성 높이기

2024년 11월 15일 금요일

Today I Learned

날짜

2024년 11월 15일 금요일

내용

순서의 중요성

유저가 진입하여 인스타그램 계정을 연동하면 관련 데이터를 불러온다. 기존에 로직은

포스트 데이터 불러오기 → 각 포스트마다의 댓글 불러오기

이후 배너이미지를 생성할때 선정된 게시글의 댓글들만 GPT로 평가

였다. 초기 스토어들이 각 게시글마다 댓글이 거의 없는것을 알게 되었고, 개선작업에서 계정에 있는 모든 댓글에서 적합한걸 불러와주기로 했다. 따라서 댓글을 처음 가져와 저장하는 시점에 점수를 판정해야 한다.

또 바뀐건, 포스트를 가져오는 로직이다. 기존에는 첫 로그인시 50개를 가져온 후, 그날 밤 크론을 통해 모두 다 불러와줬다. 이걸 바꾸어서 첫 로그인시 그냥 다 가져와주기로 했다. 따라서 로그인하면 모든 게시글을 불러오고 모든 댓글들을 불러오고 모든 댓글들을 검사해야 한다.

이래서인지 5초가 지난 시점에 50개도 불러오지 못하고 있었다. 인스타그램에서 가져오는 것도 영향은 있지만 가장 큰건 댓글을 평가하는 로직이 오래걸렸다. 유저가 인스타그램을 연동하고 나면 배너이미지를 생성하기 위한 로직에 바로 들어올텐데, 이떄 로딩이 오래걸리면 사용성이 상당히 떨어질듯 하다. 따라서 로직을 바꿨다.

모든 포스트 데이터를 불러와 저장한다. → 저장한 포스트의 댓글들을 불러와 모두 저장한다. → 저장한 댓글들의 점수를 평가한다.

로 바꾸었다. 현재 유저 입장에서 댓글들을 볼 일이 없고 포스트 데이터를 빨리 보여주는게 중요하니 포스트 부터 최우선으로 불러왔다. 서버에선 댓글을 불러오기 위해 열심히 일하고 있으나 굳이 고객이 알 이유는 없으니까.. 이 로직의 한 가지 단점은, 유저가 로직을 진행해 배너이미지 생성을 시작할 경우 현재까지 채점된 댓글들만 포함된다는 것이다. 아직 채점할 댓글이 남아있다면(혹은 아직 댓글을 가져오는 중이라면) 알맞은 댓글이 없다고 판단할 거다. 물론 데이터가 상당히 많아야 하며, 처음 들어온 유저가 망설임없이 생성까지 전력질주 해야만 발생할 일이지만…

백그라운드에서 동작하는 로직이 완성되고 나서 생성하도록 하려면 로그를 생성하는 방식밖에 없을까..

회고

오리의 발은 바쁜법.