S17 W5 | 48주 차
2024-11-25 (월) ~ 2024-12-01 (일)
01. 상권 분석 프로그램 만들기 회고
이번주는 크게 두 가지 일을 했다. 첫 번째가 상권 분석을 위해 인근 경쟁업체들의 룸 타입, 객단가, 예약 완료 여부, 리뷰 등을 데이터화하는 프로그램을 만드는 것이다. 로우데이터도 뽑아주고, 빈도수도 뽑아준다. 개발자 모드에서 웹사이트의 html 데이터를 복사해서 html 파일로 저장한 다음, 프로그램을 실행하면 위 정보들이 엑셀 파일로 내보내진다.
•
Liked & Learned
◦
Google Colab이라는 작업환경을 선택해서 구글 드라이브를 기반으로 작업이 처리될 수 있게 한 점은 괜찮은 판단이었다. 이 하나의 사실 만으로도 GPT, Claude와 협업할 때 내 작업 환경에 대한 완벽한 이해를 시킬 수 있다. 그리고 Shift + Enter만 치면 이후에 내가 뭘 하지 않아도 결과 파일까지 알아서 드라이브에 저장이 된다.
◦
html 데이터를 복사하는 과정에서 콘솔 창에 <svg>, <img> 태그를 제거하는 명령어를 먼저 치면 복사할 html 데이터가 극적으로 줄어든다. 클립보드에 가는 부하도 줄고, 파일 처리 속도도 빨라지기 때문에 나름 괜찮은 한 수였던 것 같다.
◦
이 프로그램을 약 3시간 반 정도 들여 고도화하고, 4시간 반 동안 20페이지 분량의 상권 검토자료를 제작했다. 해당 자료로 대표님께서 클라이언트 PT를 진행하셨는데, 피드백이 좋았다. 역시 전날 저녁에 갑자기 업무 요청이 들어왔을 때, 페이스 말리지 않고 프로그램 완성하는 데에 마저 시간을 충분히 들인 것이 괜찮은 판단이었다.
◦
반 년 넘게 머릿속으로만 상상하던 구조를 실현한 것이기 때문에, 매 순간 모든 것을 배우고 있다. 스스로 깨닫건, 클로드나 지피티 하는 걸 보면서 영감을 받건, 패스트캠퍼스에서 강의를 듣건.
•
Lacked & Longed
◦
불용어 처리, 텍스트 정규화 쪽을 좀 더 효율적으로 만들 수 있을 것 같다. 지금은 텍스트 정규화를 위해 카운트하는 규칙과, 빈도수를 표기할 때 표기하는 규칙을 따로 관리하고 있는데, 여기가 반복 업무인 느낌이 강하게 든다. 지금이야 단어가 100개도 안 되는데, 카테고리화도 잘 안 되어 있고 결과 파일을 보면서 더듬더듬 개선하는 방식은 지속가능하기 어렵다는 생각이 든다.
◦
파이썬에 대한 이해도가 많이 높지 않다 보니, 트러블 슈팅을 온전히 클로드에 의존해야 하는 게 답답하다. 그리고 클로드가 코드를 좀 고급 버전으로 짜주는 경향도 있다. GPT가 짜준 코드는 자연어처럼 읽히기라도 해서 조금씩 수정이 가능한데, 클로드는 보고 있으면 이게 뭔가 싶다. 그럼에도 클로드가 짜준 코드가 더 우수한 결과물을 내기 때문에 클로드의 코드를 쓰고 있다. 결국 내 실력을 클로드가 짜주는 코드를 해석할 수 있는 수준으로 끌어올리는 게 답일 것이다.
◦
아직은 다른 사람들이 이 프로그램을 사용하기에는 어렵다. html의 어느 element를 복사해야 하는지도 모를 것이고, 불필요한 태그를 사전에 제거하는 것도 어렵다고 느낄 것이다. 그렇다고 링크를 기반으로 작업하자니 클라우드플레어에 막히고, 우회하려면 셀레니움 같은 걸 써야 할 텐데 그건 아직 내가 모르는 영역이다. 굳이 따지면 코랩에서 실행하는 인터페이스도 문제다. 여기다 옷을 입히려면 또 뭘 배워야 되려나 싶기도 하고, 아직 갈 길이 굉장히 먼데 그래도 그 길이 나름 재밌어보여서 한 편으론 설레기도 한다.
◦
이런 고민들에 대해 피드백을 주고 받을 수 있는 사람이 주변에 없다는 점이 조금 아쉽다. 그래도 나름 애자일 정신으로 최소 기능을 구현해놓고, 조금씩 개선해가는 방식은 내 지식 선에서는 잘하고 있는 일 같다.
02. GTM 회고
신사업의 광고 매체를 확장하고 광고비를 증액하기 이전에 ‘충분히 측정할 수 있는 환경’을 만드는 게 선행되어야 하겠다는 생각이 들었다. 프레이머로 웹을 만들었다 보니, Click Classes 기반으로 트리거 발동이 뜻대로 안 되어, 그동안 OR 조건을 떡칠해서 트리거를 허술하게 설정해놨었다. 버튼을 클릭했는데 발동이 안 되는 타입 투 에러를 막기 위해 버튼을 누르지 않았는데도 이벤트가 전송되는 타입 원 에러가 많아지는 구조였다. Click Classes가 잘 통하지 않자, Click Text 조건을 OR문으로 걸어놓은 게 화근이었다.
다행히 클릭 이벤트가 발생했을 때 그 Element 정보를 확인할 수 있는 방법을 태그어시스턴트에서 디버깅하는 도중에 우연히 발견했다. 버튼의 어느 영역을 클릭하느냐에 따라 (텍스트 위, 마진 영역 등) Element 값이 달라지는 것을 확인했고, 이 정보를 지피티한테 갖다 바쳐 모든 케이스에 대응할 수 있는 Click Element 조건 문을 얻어내는 데 성공했다. 다시는 트래킹이 중요한 프로젝트에서 프레이머를 쓰지 않겠다고 이를 갈고 있었는데, 다행히 잘 해결이 되었고 오히려 어떤 극악의 환경에서도 GTM을 세팅할 수 있는 역량이 생겼음에 감사함을 느꼈다.