TIL 6

1/12

GTM & GA GTM이 데이터 영역이라는 매개체를 제공하고 정의한 ga 이벤트를 이 데이터 영역에 push하면 gtm이 가져감 1. GTM이 로드되기 전에 dataLayer에 모두 push 되어야 한다 headscripts로 dataLayer push 코드를 옮겨서 GTM 로드 전에 실행하도록 함 2. 그런데도 안되는 이유 dataLayer에 push하고 location redirect할 때 이벤트 수집이 잘 안되는 문제가 있음 redirect하기 전 setTimeout으로 시간을 지연시키면 되기도 하는데 이건 해결책X 3. 아래 링크 참고해서 ga한테 eventCallback을 통해 redirect를 직접하도록 넘겼는데도 안됨. 근디 이건 내가 string으로 함수 짜는 게 서툴러서 그럴 수도 있음 ..

TIL 2024.01.12

1/4

1. vue $listeners - 자식에서 부모에게 전달되는 이벤트를 모아놓은 객체 (자식 -> 부모) - 네이티브 이벤트를 컴포넌트에 바인딩할 때 사용한다 - v-on="listeners"를 사용해 이벤트를 바인딩해준다 $listeners 속성을 이용하면 컴포넌트에서 v-on="listeners"를 이용해 부모 엘리먼트가 가진 이벤트 리스너를 특정 자식 엘리먼트에게 전달할 수 있다 input 같은 엘리먼트에 v-model을 적용하고 싶은 경우라면 listeners 같은 새로운 computed 속성을 생성하여 활용 가능 vue native ? - 컴포넌트에서 루트 엘리먼트의 네이티브 이벤트를 직접 감지하고 싶은 경우, v-on에 사용한다 - 네이티브가 어떤 일을 하는지 v-on 이벤트 장식자로 취급, ..

TIL 2024.01.04

[이코테] DP 실전문제

DP의 구성요건 1. 최소 단위 2. 점화식 : 문제를 여러개로 쪼갠 식 3. 메모이제이션 4. 탑다운, 바텀업 : 탑다운 (재귀), 바텀업 (반복) const cache = {}; const dp = (x) => { // 점화식, 최소단위 + 메모이제이션 const candidates = []; if (x === 1) { return 0; } // 최소 단위 if (cache[x]) { return cache[x]; } //반복 방지 (재귀) if (x % 5 === 0) { candidates.push(dp(x / 5)); } if (x % 2 === 0) { candidates.push(dp(x / 2)); } if (x % 3 === 0) { candidates.push(dp(x / 3)); } ..

TIL 2024.01.03

24/1/2

1. sentry 리포트 조건 지금 : denyUrls 를 이용해서 플러그인에서 발생한 에러는 무시 -> 이게 스택의 가장 처음을 보기 때문에 이벤트 핸들러에 등록시키는 유형의 플러그인에 대해서 무력 스택을 가져오는 코드는 sentry SDK 구현 참고 스택 검사해서 코드가 있는지 확인하여 유효한 코드가 없으면 리포팅하지 않도록 수정 이것 머지되면 mr 기반으로 캠픽, 어카운트, 대학백과, 클라이언트도 수정

TIL 2024.01.02