혹시나는 역시나

2023년 12월 06일 수요일

Today I Learned

날짜

2023년 12월 6일 수요일

내용

찜찜한게 가시지 않아 스스로에게 질문을 던지며 상황을 정리했다.

곡해

정확한 구조와 디자인에 대해 자문자답 하는데 반나절이 걸렸다. 심지어 확정적으로 shop_detail이 쇼피파이에서 받은 데이터고, shop이 알파리뷰에서 설정한 값이라고 판단하고 이를 증명하는데 시간을 많이 낭비했다. 이 원인은 로컬, 테스트, 실 서버를 혼동해서 발생한 일이었다. AWS RDS에서 dev가 들어간 인스턴스는 테스트 서버의 데이터들이 저장된다. 여기에 접속해서 데이터를 확인하고 실제 슈퍼관리자 페이지에서 어떻게 출력되는 지, 반영되는지를 계속해서 비교했다. 이 비교 대상 사이트가 테스트 페이지가 아니라 실제 고객들이 이용하는 product 페이지였다. 테스트 서버의 슈퍼관리자 페이지를 들어갔어야 했다. 엉뚱하게 서로 영향을 못 끼치는 두 개의 관계를 파악하다 보니 온갖 억측과 보정과 가정을 뒀다. 늦게나마 이를 파악하고 다시 정리를 시작했다.

요점 정리

이 티켓에서 이루고자 하는 것이 무엇인지, 결과가 어떻게 나타나야 하는지를 질문할 필요가 있었다. 하지만 나조차도 제대로 이해를 못하고 있기 때문에 남에게 설명하는 건 상대의 시간만 낭비하는 것이라 생각했다. 나는 완벽하게 이해하여 무엇이 궁금한지를 명확히 해야 했다. 다시 차근차근 정리하며 상황을 정리했다.

  1. 샵의 이름을 변경할 수 있는 곳은 쇼피파이 관리 페이지와 알파리뷰 관리 페이지이다.
  2. 데이터베이스에 이름이 저장되는 곳은 2개다. shop 테이블과 shop_detail 테이블.
  3. shop 테이블은 쇼피파이에서 받은 데이터를 저장하기 위한 것이다.
  4. shop_detail 테이블은 알파리뷰 내에서 설정한 데이터를 저장하기 위한 것이다.
  5. 알파리뷰 내에서 변경한 샵 이름은 shop_detail 에 적용되야 하고 실제로도 그렇다.
  6. 쇼피파이에서 변경한 샵 이름은 shop 에 적용되야 하지만 실제로 그렇지 않다.
    1. shop 테이블의 shop_name 을 변경하는 방법은 슈퍼관리자가 슈퍼관리자 페이지에서 변경하는 방법 뿐이다. 쇼피파이에서 샵 이름을 변경하면 shop 에는 영향이 없고 shop_detail 에만 데이터가 수정된다. shop_detail 가 알파리뷰 내에서 변경된 데이터를 받아야 한다. 하지만 웹훅을 통해 쇼피파이 에서 샵에 관한 정보가 변경된다면 업데이트되도록 로직이 작성되어 있기 때문이고, 이는 의도된 것이다. 이 부분을 파악하지 못해 계속 헷갈렸던 것 같다.
    2. 쇼피파이 내 변경이 shop_detail 에 영향을 끼치는 것은 그대로 유지하기로 하였다. 하지만 shop 에 영향을 끼치도록 변경해야 하는지에 대해서는 추가적인 논의가 필요할 것 같다.
  7. 쇼피파이에서 샵 이름을 변경했을 때 request는 우리 서버에 오지 않는다.
    1. 지금 생각하면 당연한건데 이걸 왜 이제야 깨달았는지 모르겠다. 쇼피파이 설정은 당연히 그쪽 서버에서 처리해야 할 일인데.. 우리 DB의 shop_detail 이 수정되는 것은 웹훅 설정으로 인한 것인데 이를 생각하지 못했다.
    2. 여러 상황 파악 과정에서 날 헷갈리게 한 요소들도 해결되었다. 어느 쪽에서든 setting 페이지를 들어가면 입력 박스에 기존의 값이 들어가있다. 이를 지우고 새로운 값으로 수정하는 방식이다. 쇼피파이에서 샵 이름을 aaa 에서 bbb로 변경한 후 알파리뷰 설정 페이지로 들어가면 변경된 값인 bbb가 적혀있다. 반대로 알파리뷰 설정에서 123 이라는 샵 이름을 456으로 바꾼 후 쇼피파이 설정에 들어가보면 123이 적혀있다.
      1. 쇼피파이 설정의 변경 ⇒ 웹훅을 통해 알파리뷰 데이터에도 적용 ⇒ 알파리뷰 설정 페이지에 반영되어나타남
      2. 알파리뷰 설정의 변경 ⇒ 쇼피파이 서버에 전송되지 않음 ⇒ 쇼피파이 세팅 페이지에는 반영되지 않음 (쇼피파이 세팅 페이지에서는 쇼피파이의 데이터베이스 서버에서 값을 가져오기 떄문)

질문

위 과정으로 내가 확실히 알아야 할 사항들을 파악할 수 있었다.

  • 쇼피파이에서 변경한 샵 정보를 shop 테이블에도 영향을 끼쳐야 할까?
  • 좌 상단에 나타나는 것은 쇼피파이에서 설정한 이름과 알파리뷰에서 설정한 이름 중 무엇이어야 할까?
  • 쇼피파이에서 샵 이름을 변경하였을 때 알파리뷰에서 설정한 이름도 덮어 씌워져야 할까?
  • 슈퍼관리자에서 병기되는 두 이름 중 무엇이 주가 되야 할까?

회고

처음부터 제대로 했으면 이 고생을 안했을텐데.. 괜히 잘못 이해한 채로 논의를 진행하다가 다른사람의 시간과 에너지만 낭비시켰다. 2주를 기간으로 잡았기 때문에 시간이 널널한데 괜히 빨리 처리하려다.. 제대로 이해했는지 끊임없이 자문자답하자.