Step Functios으로 구현한 실시간 웹훅 처리 시스템

Today I Learned 날짜 2025년 7월 28일 일요일 내용 건강하고 빠른 웹훅을 향한 여정 입사 76주차부터 WIL을 남기지 못했다. 웹훅 이슈로 인한 실시간 데이터 처리 지연과 누락이 지속적으로 발생하고 있었기 떄문이다. WIL을 읽는 사람 입장에서 “애는 배웠다고 하는데, 웹훅 계속 박살나고 있구만 뭘 배운겨” 라는 생각이 들까봐 그랬다. 사실 이걸 쓰고 있는 지금도 마음 한구석에 괜히 사망 플래그를 세우는 건 아닌지 걱정이 되지만, 더 미루면 영영 회고를 하지 못할까봐 지금이라도 이 여정을 정리하는 글을 쓰려고 한다. 제 부족한 실력으로 괜한 피해를 입은 분들(사실상 샐러드랩 모두)께 죄송스러운 마음을 가지며 글을 시작하고자 한다. ...

2025년 7월 28일 · 11 분 · 배준수

rich snippet 위치 찾기

# Today I Learned ## 날짜 2024년 2월 13일 화요일 ## 내용 ### 왤까? 저번주부터 진행하던 Task는 고객이 서비스를 설치할 당시 생성된 데이터들 중 우리 서버에 있는 것과 Shopify에 저장해둔 것을 찾아 삭제해야 한다. 고객이 서비스를 삭제할 때 발생하는 일련의 과정은 웹훅으로 구현되어 있다. 내 로컬에서 태스크를 진행하기 위해 테스트 서버와 로컬에 웹훅을 설치해 열심히 구현했다. 저번 TIL에 있었던 metafields나 asset이 여기에 해당된다. 생성될 때의 함수를 보고 반대로 했다. 내가 지워야할 데이터는 구글에 rich snippet을 제공하기 위해 생성되었던 것들인데, 탐색해서 삭제하는 로직을 완성했다. 문제를 겪는 부분이 있고, 분명 발생해야 할 문제인데 그렇지 않은 부분도 있다. 우선, 설치를 삭제한 shop의 테마를 shopify에서 조회하는데 자꾸 실패한다. 이미 작성된 다른 커맨드를 이용해 테마를 조회할 떄는 잘 나오는데 왜 여기서만 문제가 될까? 같은 함수를 사용하는데.. 삭제해야할 테마가 존재하지 않는다면 그냥 넘어가도록 로직을 설정할지, 무언가 잘못된 부분이 있는지 아직 확신이 서지 않는다. 왜 안될까? 두번쨰로, 테마의 asset을 다루는 API는 Shopify에 예외적인 상황임을 알려 승인받지 않는다면 더 이상 지원하지 않는다. 우리 서비스는 승인을 받았지만, 실서버만 적용되기 때문에 테스트서버에선 asset API가 작동되지 않을 것이라고 조언을 받았었다. 이 과정을 어떻게 처리해야할지 참 고민이 많았는데 아직까지 나타나지 않고 있다. 왜 될까? ## 회고 긴 연휴 끝이라 집중을 잘 못할까 걱정했는데 기우였다. 휴식이 최고.

2024년 2월 13일 · 1 분 · 배준수

혹시나는 역시나

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

2023년 12월 6일 · 3 분 · 배준수

잘될리가 없는데..

Today I Learned 날짜 2023년 12월 5일 화요일 내용 계획을 작성하기 위해 구체적인 코드를 이해하는 시간을 가졌다. 기능과 효과 이해 어제 파악한대로, 샵의 이름을 바꿀 수 있는 곳은 2개이다. 쇼피파이 관리 페이지와 알파리뷰 관리 페이지. 각각을 바꾸었을 때 정확히 무슨 일이 일어나는지 확인했다. 알파리뷰 관리 페이지의 왼쪽 상단에는 숍 이름이 나타난다. 이 부분과 슈퍼관리자 페이지에서의 변경 사항을 체크하여 표로 작성했다. 수정위치\반영 관리자 대시보드 슈퍼관리자 알파리뷰 세팅 X(세팅엔 적용) 쇼피파이 정보 변경 쇼피파이 세팅 X(세팅엔 적용) 쇼피파이 정보 변경 표에 대한 설명을 첨부한다. 알파리뷰 관리 페이지의 왼쪽 상단에 나타나는 것(위 사진)을 관리자 대시보드라고 표현하였다. 알파리뷰 관리 페이지나 쇼피파이 관리 페이지 어디에서 이름을 바꾸든, 관리자 대시보드는 변화가 발생하지 않았다. 다만, 저 페이지에서 setting을 통해 샵 설정 페이지로 들어가면, 샵에 관한 정보가 나타나는데 그 정보에는 적용이 되있었다. ...

2023년 12월 5일 · 2 분 · 배준수

팀차이

Today I Learned 날짜 2023년 12월 4일 월요일 내용 지난 주 테스트 코드를 완료한 이후 새로운 Task에 진입했다. 새로운 티켓 지난 번 업무 시스템 관련해서 이야기를 들었지만 아직은 조금 낯설긴 하다. 물론 크게 복잡할 것 없는데 내가 겁먹은 걸 수도 있고… 고객이 Shopify에서 shop 이름을 변경했을 때 슈퍼관리자 페이지에서 어떻게 노출될 것인가가 주제였다. 우선 슈퍼관리자가 처음 접하는 개념이라, 무엇인지 부터 파악했다. 우리 서비스를 이용하는 모든 고객들에 대한 정보나 현황을 파악하고 관리할 수 있는 종합적인 페이지인데, 기존 계정이 보내주는 링크를 통해서만 가입할 수 있었다. product 서버에서는 가능했지만, 로컬에서는 어떻게 해야할지 고민했다. 처음에는 DB에 직접 집어넣으려고 했으나, command를 이용해보라는 도움을 받았다. DB를 직접 건드리는 게 좋을리가 없으니 당연히… ...

2023년 12월 4일 · 3 분 · 배준수