GA에서 리포트를 볼때 다양한 필터를 추가할수 있습니다 당연히 로그인한 유저의 구매액이라던가 이런것들도 궁금하지 않겠어요? 로그인한 유저의 통계만 필터를 걸어 보기 위해서는 GA에 user_id 속성을 지정해주어야 합니다 그렇게 되면 아래 사진처럼 "사용자 ID로 로그인함" 측정 기준을 사용할수 있습니다 위의 사진에서는 "사용자 ID로 로그인함" 이 비활성화되어있는데요 user_id 속성이 하나도 없기 때문입니다 user_id 속성을 사용했다면 이렇게 필터가 활성화됩니다 ga에 user_id 속성을 넣기 위해서는 아래와 같은 코드를 실행하면됩니다 gtag로는 이렇게 // 유저 아이디 설정 gtag('config', { 'user_id': 'USER_ID' }); gtm으로는 이렇게 dataLayer.pu..
openapi 스펙의 swagger를 많이들 사용하실거예요 클라이언트 개발자 분들은 swagger를 보고 api의 response의 타입에 맞춰 model을 만드는 작업을 할텐데 이 작업이 은근히 번거롭습니다 특히나 response 하는 변수가 수십개가 넘는다면 모델을 일일이 swagger 보고 작업하다가는 오타가날수도 있고 자칫 타입을 실수하는 일도 발생할수 있습니다 이럴때 openapi generator가 큰 도움이 됩니다 https://openapi-generator.tech/ Hello from OpenAPI Generator | OpenAPI Generator Description will go into a meta tag in openapi-generator.tech 설치를 하시고 아래의 명령..
string 타입의 문자열의 길이를 어떻게 구할수 있을까요? 무척이나 간단합니다 "hello".length // 5 이렇게 셀수 있어요 그러면 영어말고 한글은 어떻게 될까요? "안녕하세요".length // 5 똑같은 방식으로 셀수 있습니다 그러면 일본어는? "こんにちは".length // 5 오우! 모두다 실제 사람이 읽을수 있는 글자수만큼 정확히 세어지네요 그렇다면 이모지는 어떨까요? "🏳️⚧️🏳️🌈👩🏾❤️👨🏻".length // 24 3을 기대했으나 3개의 이모지를 사용했을뿐인데 length는 24가 나왔네요 이모지는 각각의 이모지마다 서로다른 length를 가지고 있어서 length로 계산할 경우 예측할수 없는 length를 리턴하게 됩니다 하나의 이모지를 하나로 세고 싶을때 어떻게 하면 ..
AWS SQS를 비롯한 여러종류의 메시지 큐중 하나를 선택하여 여러분의 서비스를 개발하실때 쓰실텐데요 https://github.com/OptimalBits/bull GitHub - OptimalBits/bull: Premium Queue package for handling distributed jobs and messages in NodeJS. Premium Queue package for handling distributed jobs and messages in NodeJS. - GitHub - OptimalBits/bull: Premium Queue package for handling distributed jobs and messages in NodeJS. github.com nodejs환경과 ..
우리나라는 유심 재활용이 제대로 되지 않기 때문에 번호이동시에는 유심칩의 재구매가 필요합니다 그런데 번호이동할때 가장 걸림돌은 번호이동 신청서 작성하고 유심 배송올때까지 기다리고 해피콜올때까지 기다렸다가 개통하고 이게 그래도 1~2일내에 완료되긴 하지만 은근 번거롭습니다 유플러스에서 원칩이라고 출시를 했는데요 이런 모양으로 생겼습니다 LG유플러스에서 사용가능한 유심칩이예요 만약 여러분이 알뜰폰중에서 LG유플러스 망을 사용하는 알뜰폰 요금제를 개통한다면 이 원칩을 구매해서 즉시개통이 가능합니다 원칩은 배민 B마트에서도 바로 구입하실수 있습니다 다만 배송비가 있죠 그런데 원칩이 은근히 굉장히 많은 곳에서 팔고 있습니다 지하철역에도 있구요 이마트24 편의점에도 있습니다 저는 선릉역에서 자판기를 발견했는데 자판..
typescript의 optional property는 물론 매우 유용하게 쓰이는 경우가 많습니다 마치 치트키처럼말이죠 그런데 optional property는 사용하기가 매번 번거롭습니다 undefined인지 아닌지 매번 검증하는 로직을 넣어줘야 하기 때문입니다 optional 체이닝에서도 마찬가지로 주렁주렁 물음표를 달아주어야 합니다 response.posts[0].user?.profile?.smallPic 이런 interface가 있다고 가정해보죠 inteface Product { id: string; name: string; weight?: number; } 상품중에서는 실물이 있는 상품인경우 무게를 표시하는 weight 프로퍼티가 있습니다 하지만 상품중에는 실물이 없는 디지털 상품도 있습니다 소..
optional은 코딩에 있어서 굉장한 편리함을 줍니다 그런데 가끔 optional을 굳이 사용하지 않아도 되는곳에도 optional을 오남용하는 곳을 볼수 있습니다 뭐 이런 함수가 있다고 생각해봅시다 세번째 매개변수인 date를 optional로 설정했습니다 function createTask(title: string, description: string, date?: Date) { ... const createdAt = date || new Date(); ... } createTask("우유2개구입", "할인쿠폰 사용할것"); 그리고 함수 내부코드에서는 date의 값이 있는지 없는지를 판별하여 없는 경우 현재시간을 사용하여 나머지 코드에서 활용합니다 date를 optional로 꼭 해야만하나요? 다른..
매우 간단하게 github action을 시작해볼수 있는 github action을 작성해보도록 합시다 github action 은 yaml 포맷으로 작성이 되는데요 기본형이 되는 다음의 내용을 작성해봅시다 // action.yml steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: 16 - run: npm ci - run: npm test 하나씩 항목을 살펴봅시다 uses 에 actions/checkout@v3 actions/setup-node@v3 라고 나와있는 부분은 이미 다른 사람이 만들어 생성되어있는 액션을 가져다 쓴다고 생각하시면 됩니다 actions/checkout@v3 actions/setu..
const ProductStatus = { SoldOut : "SOLDOUT", Sales: "SALES", } 이렇게 object를 이용하여 ProductStatus의 값을 설정하였다고 가정해봅시다 우리는 앞으로 이런식으로 코드를 사용할수 있겠죠 const product = new Product(); product.updateStatus(ProductStatus.SoldOut); 그런데 혹시 누군가가 코드를 이렇게 어디선가 변경할지도 모릅니다 const ProductStatus = { SoldOut : "SOLDOUT", Sales: "SALES", } ProductStatus.SoldOut = "soldout"; 코드베이스가 커질수록 누군가가 이런 실수를 할수도 있겠죠 하지만 상수처럼 활용하는 이 값..
Typescript는 여러분에게 컴파일 단에서 많은 타입 도움을 줍니다 특히나 이러한 도움은 휴먼에러를 방지하는데있어서 큰 도움이 됩니다 여러분이 소프트웨어 공학이나 개발서적들을 접하셨다면 함수를 순수하게 만드는것이 아주 중요한것을 알고 계실겁니다 순수함수라고 함은 함수가 계산의 역할만 하고 그 외의 역할은 하지 않는것입니다 이렇게 하는 이유는 코드베이스가 점점 커져갈때 순수하지 못한 함수로 인해서 예상치 못한 버그나 동작을 피할수 있도록 하기 위함입니다 단일책임원칙을 지킬수 있고 물론 테스트코드를 작성하는것도 쉬워지지요 A함수를 실행했을때는 A함수의 연산만을 필요로 한건데 A함수가 뜬금없이 B 변수값을 변경시킨다면 순수하지 못한 함수로서 좋지 않은 영향을 끼칩니다 이럴때 여러분이 사용하면 좋은 키워드가..
- Total
- Today
- Yesterday
- 아이폰
- 앱스토어
- JavaScript
- 네이버
- 자바스크립트
- 트위터
- 애플
- 경진대회
- 구글
- Apple
- 앱
- 소프트웨어
- 창업
- 게임
- 공모전
- 안드로이드
- 모바일
- 스마트폰
- 아이디어
- 웹표준
- 대학생
- AWS
- iPhone
- CSS
- php
- 어플리케이션
- android
- 벤처
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |