분류 전체보기
[Amplitude] Invalid id length for user_id or device_id 오류 해결
최근에 나온 amplitude Browser SDK 기준으로 작성된 글 입니다. Invalid id length for user_id or device_id Browser SDK는 HTTP2 API를 사용하고 이벤트에 대한 동일한 제약조건을 가진다. 이때 계측 문제를 방지하기위해 user_id 와 device_id가 5자미만인 경우 400에러를 내며 거부한다. 해결 방법으로는 min_id_length를 옵션으로 init해주면 된다. 주의: init의 세번째 매개변수 object에 적어주면 된다. amplitude.init('토큰', undefined, {minIdLength: 1,}); 관련 문서 https://www.docs.developers.amplitude.com/data/sdks/typescri..
[GSI] gsi_logger:failed to render button because there is no parent or options set. 에러 해결
구글 로그인 버튼 render에서 오류가 나는 것이다. 버튼이 render되어야 하는 타겟이 있는 곳에서만 실행되도록 if문을 걸어주던가 하자. if (pathname === PATH.SIGN_IN) { //해당 경로에서만 document.getElementById('google-login-button')가 가능하다. window.google?.accounts.id.renderButton( document.getElementById('google-login-button') as HTMLElement, { type: 'standard', theme: 'outline', text: 'signin_with', width: '416px', shape: 'square', }, ); }
[React/TypeScript] Property 'data' does not exist on type : REST API 로 받아온 Response Data 타입 오류
문제 상황 useEffect(() => { GetReportList().then(({ data }) => { console.log(data); setReportList(data.data.reports); }); }, []); 해결방법 Response 로 받아온 Data의 타입을 몰라서 발생하는 이슈. useEffect(() => { GetReportList().then(({ data }: AxiosResponse) => { console.log(data); setReportList(data.data.reports); }); }, []); 이렇게 해주면 오류가 사라진다.
[Javascript] 전화번호 가운데 마스킹
Bad way👎 // 전화번호 가운데 마스킹 처리 const maskingPhone = (phone: string) => { return phone .replace(/(\d{3})(\d{4})(\d{4})/, '$1-$2-$3') .split('-') .reduce((pre, cur, idx) => (idx === 1 ? pre + '****' : pre + cur), ''); }; 간단하고 아주~ 쉽게 만들었는데, 정규식을 이용해 아주 맛깔나게 줄이는 법을 동료분이 제안해주셨다. Better way👍 // 전화번호 가운데 마스킹 처리 const maskingPhone = (phone: string) => { return phone .replace(/(\d{3})(\d{4})(\d{4})/, '$1-$2..
[yarn berry] Cannot find module 'react/jsx-runtime' or its corresponding type declarations. 오류 yarn berry 해결
Cannot find module 'react/jsx-runtime' or its corresponding type declarations. 지긋지긋한 놈 터미널에서 오류도 안잡혀서 삽질을 참 많이 했다. 잘 깔린 module을 인식 못하는 것이기에 .yarn > cache 폴더를 지우고 다시 yarn install 해주자 에디터를 껏다 키면 indexing되면서 잘 된다. 만약 이게 안 된다면.. 함께 고민해보자 화이팅. 참고 블로그 더보기 https://kimtaekju-study.tistory.com/374 [React] Can't not find module 에러 발생시 대처 방법 ./node_modules/react-sortablejs/dist/index.es.jsCannot find modul..
[Cafe24] coupon_productdetailajax 모듈
{$coupon_kind} / {$coupon_period_detail} / {$coupon_usecon} / {$coupon_issue}/ {$coupon_product_info} 할인 / 2023-01-04 00:00 ~ 2023-01-07 23:00 / 주문 금액 기준(모든 상품) 4000원 이상 구매시 / 최대 1매까지 가능/ 전체상품 쿠폰명 쿠폰 할인 금액 사용기간 사용기간 및 시간 사용 조건- 금액 (0원이상 구매 시) 최대 1매까지 가능 주문 금액 기준(모든 상품) 4000원 이상 구매시 적용 대상-전체상품 { "6074591450900000205":{ "coupon_no":6074591450900000205, "coupon_name":"%ED%85%8C%EC%8A%A4%ED%8A%B8%20..
[Cafe24] 최대할인쿠폰 다운받기 팝업 사용하는 법
{$c_dc_price_apply}원 ({$c_dc_price} 할인) https://sdsupport.cafe24.com/product/detail.html?product_no=3832&cate_no=66&display_group=1 한국어 최대할인쿠폰 다운받기 팝업 sdsupport.cafe24.com https://ec.cafe24.com/Cs/?url=CsView&type=update&no=284083 카페24 쇼핑몰센터 No.1 글로벌 전자상거래 플랫폼 '카페24' 쇼핑몰 구축부터 해외마케팅, 호스팅 인프라 등 제공. 글로벌 쇼핑몰 제작부터 해외운영, 오픈마켓 입점, 글로벌 마케팅 전략, 브랜딩까지! 원스톱으로 제 ec.cafe24.com