본문 바로가기

전체 글21

Bigquery has only 60days of GA dataset even after change of the expiration date 문제 해결 이 글을 보면 도움이 될 분들GA4를 통해 event 데이터를 수집하는 분들 중 어느 순간부터 데이터가 사라지는 경험을 하신 분들GA4를 통해 event 데이터를 수집하고 bigquery로 넘기기 시작하신 분들GA4를 통해 event 데이터를 수집하고 bigquery로 넘겨왔는데, 데이터가 사라지는 경험을 하신 분들위 모든 상황을 인지하고 해결하기 위해 결제 프로필을 생성하고 연결했지만, 계속 데이터가 사라지는 경험을 하신 분들데이터가 사라진다?말 그대로 데이터가 사라지는 것을 의미한다. 기간이 만료되어 데이터를 자체적으로 삭제하는 것을 의미한다.데이터는 분석, 모델 훈련, 다양한 용도로 쓰이는 매우 소중한 자원인데, 이걸 잃을 수 없으니 이제부터 GA 세팅 다시 확인해보시길 바라며 작성해본다.사라진 데.. 2024. 6. 24.
분노를 이끄는 'Did you install mysqlclient?' 에러, 원인이 무엇? 글에 들어가기에 앞서내 환경은 mac m1이다. 결론적으론 brew install을 사용해 환경을 만들고 mysqlclient를 설치 가능한 상태로 만든 뒤, 이를 코드에서 명확히 불러줌으로써 문제를 해결했다.    본문Side project 진행을 위해 django 서버 내 정형데이터를 mysql로 구축해 활용하는데, git repo를 새로 clone에서 local test하는 환경 셋팅에서 한시간 넘게 막혔던 부분이 있다.  바로 mysqlclient이다. 정확한 dependancy를 파악하기가 어려운 상태이고, 여러 명이 다루면서 다소 requirements.txt가 관리가 소홀해진 터라, pip install -r requirements.txt만으로는 전체 package를 충족하지 않았다. 그렇게.. 2024. 6. 15.
Python Multiprocessing - TypeError: cannot pickle '_thread.RLock' object 에러 Multiprocessing을 통해 병렬처리가 필요한 경우가 있다. 그 중 편히 한줄로 사용할 수 있는 Pool method는 여러 면에서 유용하지만, 간혹 에러를 발생시킨다. 1. 인자가 여러개일 때 이 부분은 워낙 유명해서 자료가 많은데, 고정 인자와 변동 인자 모두 관계 없이 튜플 형태의 Iterable(반복가능 형태) 객체로 만들어 주면 해결 된다. 2. class 내부의 함수를 동작시키고자 할 때 class 인스턴스를 만들고, 그 내부에 있는 함수를 사용하여 병렬처리할 때에 에러가 발생하게 된다. 정확히 말하면 오류 메시지가 그 근거가 된다. multiprocessing을 활용할 때에 pickle을 활용해 '직렬화(serialize)'를 통해 여러 프로세스로 업무를 할당하게 되는데, 이 과정에서.. 2024. 4. 23.
DynamoDB random 선택 query를 위한 table 재설계 DynamoDB에 source data가 담겨있는 Team B는 nest.js환경에 있어 dynamoose for nest.js를 사용하고 있었다. 단순한 로직 변경이 될 수 있지만, DDB의 테이블을 설계하는 과정에 있는 분들은 참고해보면 좋을 것 같다. * 본 포스팅에서는 GSI 사용 없이 주어진 상황에서 서비스에 문제되지 않는 선에서 Query의 최적화DynamoDB의 PK와 SK에 대해 설명을 하진 않겠다. 문제 상황 서비스 내에서 유저의 인풋 선택에 따른 적절한 도서를 n권(현재 4권) 랜덤 추출을 하여 front에 띄우는 과정에서 도서가 굉장히 많은 인풋을 선택하는 경우, query가 느려지는 상황이 발생했다. 문제는 dynamoose를 사용해서인줄 알았건만, AWS SDK를 사용하지 않고 라.. 2024. 4. 4.