/users
/posts
/slides
/apps
/books
mysetting
/users
/posts
/slides
/apps
/books
Kyoung min, Kim
Seoul
Joined on 2021년 05월 08일
Profile
Post
Like
3:24 5/23
trend21c.tistory.com
3:24
trend21c.tistory.com
나를 찾는 아이
http://trend21c.tistory.com
Simple is the best, Go to basic
저작도구: tistory
최종 피드 수집: 2024-12-27 14:15
전체 (166)
9M
리팩터링 내성을 키우는 lint, explicit-function-return-type
https://typescript-eslint.io/rules/explicit-function-return-type/
해당 lint는 다음과 같은 케이스에서 모두 오류, 경고를 발생합니다
// 함수에서도 void를 선언
프로그래밍
eslint
lint
+ 더보기
TypeScript
리팩터링
타입스크립트
0
0
0
읽기모드
9M
nestjs swagger가 아니라 redoc 적용하기
swagger live demo
redoc live demo
우리가 많이 사용하고 있는 openapi를 볼수 있는 UI 툴은 잘 알려진 swagger가 있지만,
그의 대체제인 redoc도 있다는것 아셨나요?
이것
BACKEND
NestJS
nodejs
+ 더보기
openapi
redoc
swagger
0
0
4
읽기모드
9M
구글 태그매니저 변수값을 변경하여 활용하는 방법
구글태그매니저는 태그매니저라는 매개체를 통해 front 소스코드의 변경없이 이벤트를 심을수 있는 매우 좋은 도구입니다
모든 이벤트 로깅을 구글 태그 매니저를 통하여 하도록 하면, front 소스코드에서 이벤트 로깅과 관련된 모
FRONTEND
gtm
변수
+ 더보기
태그매니저
0
0
0
읽기모드
10M
더 나은 TS/JS 코드 작성을 위해 피해야할것 4가지
1. 타입 추론이 어려운 비어있는 오브젝트로의 초기화, null 초기화를 피해주세요
// ❌ 작성자의 변수 선언 의도를 알수 없음
const wrongTypeVariable1 = {} // const wrongTypeVariabl
NODEJS
JavaScript
TypeScript
+ 더보기
자바스크립트
타입스크립트
0
0
5
읽기모드
10M
POST 메서드 apache bench(ab) 사용하기
// post_data.json
{
"hello": "world"
}
$ ab -p post_data.json -T application/json -H 'Authorization: Bearer aaaabbbbccccddddee
BACKEND
AB
벤치마크
+ 더보기
0
0
1
읽기모드
11M
카카오 모먼트 API 사용하기
카카오모먼트는 카카오의 대표 광고시스템입니다
카카오톡에 광고를 노출한다거나,
카카오톡 채널로 광고메시지를 뿌린다거나 모두 카카오모먼트에서 담당을 하고 있습니다
특히나 카카오톡을 통한 메시지전달은 매우 유용하기 때문에 놓
BACKEND
개인화메시지
카카오모먼트
+ 더보기
0
0
0
읽기모드
11M
typeorm PR 머지된 썰푼다
회사에서 사용하고 있는 ORM이 typeorm입니다
nodejs 진영에서 사용할수 있는 유명한 ORM은 또 그렇게 많지는 않습니다
typeorm, sequelize, prisma, mongoose 떠오르는대로 적어보면 이렇
BACKEND
PR
typeorm
+ 더보기
오픈소스
풀리퀘스트
0
0
2
읽기모드
11M
아임포트 테스트환경 결제수단별 제약사항
사실 결제모듈이라는게 처음 서비스 셋업하고 잘 바꾸지 않는 케이스가 더 많기 때문에 한번 셋업한 이후로는 셋업하는 방법이나 관련 내용에 대해서 잊어버릴때가 많더라구요
이번에 많이들 사용하시는 결제모듈인 아임포트를 사용하면서 다
정보
iamport
PG
+ 더보기
가상계좌
결제
결제모듈
네이버페이
아임포트
카카오페이
토스페이
페이코
0
0
0
읽기모드
11M
메인보드 스위치 없어도 전원 켜는 방법
메인보드를 케이스에 장착한뒤에 스위치를 연결하지 않아도 메인보드 전원을 켤수 있는 방법이 있습니다
사실 지금 첨부한 사진의 메인보드에는 전원을 켤수 있는 버튼이 있긴 하지만
버튼이 없는 메인보드 모델에서도 가능합니다
정보
메인보드
스위치
+ 더보기
전원
케이스
파워
0
0
1
읽기모드
11M
10년 이상 시니어가 주니어의 PR 리뷰시 자주 피드백하는 것들
제가 주니어의 PR에 자주 피드백하는 것들을 생각난김에 정리해보았습니다
1. null이 꼭 필요한가요?
* string 또는 boolean타입으로도 충분할것 같은데 null이 꼭 필요한가요?
* false 또는"" (emp
프로그래밍
PR
코드리뷰
+ 더보기
0
0
2
읽기모드
11M
shopify가 만든 Liquid를 알아보자
https://shopify.github.io/liquid/
Liquid는 쇼피파이에서 만든 템플릿 언어로 동적 콘텐츠를 가져오는데 사용됩니다
2006년부터 시작해서 지금은 꽤 많은 곳들이 liquid를 사용하고 있습니다
프로그래밍
Braze
liquid
+ 더보기
shopify
0
0
0
읽기모드
11M
2023년 회고
다사다난한 2023년 한해도 이렇게 마무리 되는군요
나이를 먹을수록 한해가 정말 빠르게 흐르는것 같습니다
올해는 경제위기, 경기침체가 저에게도 큰 화두였습니다
우크라이나 전쟁을 비롯해서 글로벌 악재가 터지며, 경기가
일상
+ 더보기
0
0
0
읽기모드
1y
소셜로그인에서 필수항목을 설정할 수밖에 없는 현실적인 이유
카카오
네이버
페이스북
애플
많은 서비스들 사용하고 있는 소셜로그인입니다.
여기에 구글로그인이나 깃헙 로그인이 추가로 더 붙을수도 있겠네요
소셜로그인을 이용하게될때 몇가지 장점이 있습니다
가입 절차를 건너뛰도록 할수
WEB2.0
소셜로그인
+ 더보기
0
0
0
읽기모드
1y
node v20.6.0 에서 env 파일 지원이 시작되었습니다
nodejs v20.6.0 버전이 2023년 9월 4일 공개가 되었는데요
이 좋은 소식을 얼른 알리려다가 이제야 포스팅을 작성하게 되네요
https://nodejs.org/en/blog/release/v20.6.0
가장
NODEJS
+ 더보기
0
0
0
읽기모드
1y
알고보면 재밌는 대한민국의 표준시
https://ko.wikipedia.org/wiki/%ED%95%9C%EA%B5%AD_%ED%91%9C%EC%A4%80%EC%8B%9C
개발자들도 알고보면 재미있는 표준시 이야기 입니다
대한민국의 표준시는 협정세계시(UT
정보
KST
utc
+ 더보기
서머타임
타임존
0
0
0
읽기모드
1y
이미 실행되고 있는 github action 취소하기
https://docs.github.com/ko/github-ae@latest/actions/using-jobs/using-concurrency
github action 워크플로우는 여러분이 원하는 트리거에 따라 실행되도록 할
정보
github
github action
+ 더보기
0
0
7
읽기모드
1y
0.1 + 0.2 = ?
0.1 + 0.2 는 무엇일까요?
0.1 + 0.2 수학적으로 우리가 암산으로도 쉽게 결과를 대답할수 있습니다
답은 0.3 입니다
이걸 컴퓨터가 계산하면 어떻게 될까요?
// java
public class He
BACKEND
Epsilon
+ 더보기
0
0
0
읽기모드
1y
카카오 로그인을 사용하고 있다면 반드시 체크해야할것
https://developers.kakao.com/docs/latest/ko/kakaologin/js
카카오로그인 javascript sdk에서
Kakao.Auth.login() 함수가 제거되었고
Kakao.A
FRONTEND
카카오로그인
+ 더보기
0
0
4
읽기모드
1y
nodejs18이상부터는 nodemon을 사용하지 않아도 됩니다
nodemon은 개발할때 매우 유용한 패키지입니다
어플리케이션 내의 파일 변화를 감지하여 자동으로 어플리케이션을 재실행합니다
그래서 로컬에서 개발할때 파일을 변경할때마다 직접 재실행할필요없이 자동으로 이루어집니다
nod
NODEJS
nodejs
nodejs18
+ 더보기
nodemon
watch
0
0
3
읽기모드
1y
mysql 새로운 컬럼 추가할때도 table lock 걱정하지마세요
https://dev.mysql.com/doc/refman/5.7/en/innodb-online-ddl-operations.html
mysql 5.6 이후부터 online ddl operation이 등장하였습니다
이전에는
프로그래밍
DDL
DML
+ 더보기
MySQL
Online
table
0
0
2
읽기모드
1y
[typescript] optional 속성에 undefined를 할당할수 있을까?
typescript의 옵션중에서 exactOptionalPropertyTypes 옵션이 있습니다
이 옵션은 기본적으로는 disabled 상태입니다
이 옵션이 무슨 옵션인지 한번 알아볼까요
일단 exactOptionalP
프로그래밍
exactOptionalPropertyTypes
Optional
+ 더보기
TypeScript
undefined
타입스크립트
0
0
0
읽기모드
1y
useEffect가 두번씩 호출되고 있다고요?
리액트 StrictMode 알고 계셨습니까?
<StrictMode>
<App />
</StrictMode>
StrictMode는 development 환경에서 흔한 버그들을 찾을수 있도록 도와줍니다
Productio
REACTJS
react
strictmode
+ 더보기
리액트
0
0
0
읽기모드
1y
docker 기반 nodejs 웹 어플리케이션을 만드는 좋은 습관
1. 알려진 도커 베이스 이미지를 선택하기
출처를 모르는 도커 이미지에는 무엇이 심어져있을지 모르니 official한 곳에서 제공하는 이미지를 사용합시다
2. 명시적으로 도커이미지를 선택하기
FROM node
좀 더
NODEJS
docker
express
+ 더보기
nodejs
도커
0
0
0
읽기모드
1y
npm 특정 버전의 패키지를 사용하도록 지정하기
npm 은 hoisting 알고리즘을 통해 여러버전의 패키지들을 관리하고 있습니다
여러분의 프로젝트에서 관리하고 있는 의존성중에서
특정 패키지의 버전을 다른 버전을 쓰도록 바꾸고 싶을때가 있을수 있습니다
예를 들면 어떤
REACTJS
node_modules
NPM
+ 더보기
react
yarn
의존성
0
0
0
읽기모드
1y
당신의 REST API는 멱등한가요?
멱등이라는 단어는 사실상 평생 쓸 일이 없는 단어입니다
그런데 HTTP method 에서 멱등성이라는 아주 생소한 단어가 등장하는데요
이것을 알면 더 좋은 http restful api를 설계하는데 큰 도움이 됩니다
추
BACKEND
API
delete
+ 더보기
HTTP
method
Patch
post
Put
RESTAPI
멱등
0
0
1
읽기모드
1y
phpMyAdmin말고 adminer도 있네
https://www.adminer.org/
새로운 데이터베이스 매니지먼트 ui 툴 adminer를 소개합니다
메인 카피가 아주 심플한데요
Database management in single PHP file.
딱 1개
BACKEND
adminer
docker
+ 더보기
php
phpmyadmin
0
0
0
읽기모드
1y
고질병의 로지텍, 그래도 로지텍, g304 A/S 후기
로지텍 마우스 g304를 주력으로 사용하고 있습니다
집에서도 쓰고 사무실에서도 쓰구요
현존하는 마우스중에 가장 마음에 드는 무선 마우스 입니다
10년 넘게 로지텍 마우스를 썼지만
로지텍의 고질적인 더블클릭문제는
정보
AS
g304
+ 더보기
Logitech
더블클릭
로지텍
마우스
0
0
11
읽기모드
1y
Swift OpenAPI Generator
이번 WWDC2023에서 swift open api generator가 공개되었습니다
https://developer.apple.com/videos/play/wwdc2023/10171/
영상을 보시면 친절한 설명이 담겨있습
프로그래밍
openapi
SWIFT
+ 더보기
0
0
0
읽기모드
1y
20인 이하 스타트업을 위한 유용한 지원 프로그램들
https://www.inflearn.com/partners/aws
AWS $5,000 크레딧입니다
https://cloud.google.com/startup?hl=ko
구글클라우드 $2,000 크레딧 입니다
+ 구글워크플레
창업
무료
스타트업
+ 더보기
지원프로그램
크레딧
0
0
2
읽기모드
1y
mysql의 date 타입을 javscript의 date로 사용한다면 조심해주세요
mysql을 nodejs에서 사용할때는 가장 유명한패키지 2개가 있습니다
https://www.npmjs.com/package/mysql2
https://www.npmjs.com/package/mysql2
두개 모두 위클리
BACKEND
date
datetime
+ 더보기
KST
MySQL
string
timestamp
utc
0
0
0
읽기모드
1y
bulljs 를 사용할때 redis memory를 관리하기
bulljs는 nodejs에서 사용하는 redis 기반의 큐 시스템입니다
redis를 사용하기로 결정한 이상 redis의 메모리도 잘 관리를 해야합니다
redis에서 중요한 설정중 하나인
maxmemory-policy
NODEJS
bull
bulljs
+ 더보기
Job
Queue
SQS
큐
0
0
6
읽기모드
1y
openapi 3.1에서 3.0과 달라지는 점
nullable 타입의 교체
3.0에는 nullable을 선언하기 위해서 이렇게 선언해야했습니다
# OpenAPI v3.0
type: string
nullable: true
3.1에서는 이렇게 바뀝니다
여러개의 타입
BACKEND
nullable
openapi
+ 더보기
swagger
0
0
0
읽기모드
1y
aws에서 nodejs 16버전을 쓰고 싶으시다구요?
그렇습니다
amazon linux2 의 x86_64 표준 4:0 에서 nodejs 16 런타임이 동작합니다
실행환경을 변경해주세요
BACKEND
AWS
nodejs
+ 더보기
nodejs16
0
0
0
읽기모드
1y
mongoose, nestjs에서 discriminator 사용해보기
discriminator
약간 단어가 어렵습니다
해석하자면 판별장치 이런 뜻인데요
저장된 데이터가 어떤 종류의 데이터인지 판별하는 그런 의미를 담고 있다고 볼수 있겠습니다
https://mongoosejs.com/doc
BACKEND
MongoDB
Mongoose
+ 더보기
NestJS
다형성
0
0
12
읽기모드
1y
갤럭시 종특, 배터리 부품 스웰링 현상
저는 집에 갤럭시, 아이폰 등 굉장히 많은 폰이 있는데요
아이폰은 단한번도 이런 현상이 없는데
갤럭시는 꼭 나타나는 증상이 있습니다
바로 스웰링이라고 하는 배터리가 부풀어 오르는 현상을 말합니다
탈착식 배터리일때
일상
갤럭시
배터리
+ 더보기
삼성
스웰링
0
0
0
읽기모드
1y
아이폰 페이스아이디가 동작하지 않을때
아이폰의 페이스아이디가 갑자기 동작을 하지 않습니다
그냥 가끔 페이스아이디 인식이 제대로 동작안할때가 있기도해서 그런가하고 넘어갔는데
며칠내내 페이스아이디가 동작을 하지 않아 뭔가 이상함을 느꼈습니다
재부팅도해봤는데 안
정보
Apple
iPhone
+ 더보기
아이폰
애플
트루뎁스
페이스아이디
0
0
0
읽기모드
1y
잃어버린 기프티콘 찾을 찾을수 있을까?
휴대폰을 분실하면서
문자메시지로 받았던 기프티콘이 날아갔습니다
이거 찾을수 있을까요?
번거롭지만 의외로 방법이 있더라구요
1. 내가 기프티콘을 받았던 출처의 앱을 기억해내서 앱의 쿠폰함으로 들어간다
내가
일상
기프티콘
+ 더보기
0
0
16
읽기모드
1y
GA의 가장 기본중의 기본 user_id 속성 지정하기
GA에서 리포트를 볼때 다양한 필터를 추가할수 있습니다
당연히 로그인한 유저의 구매액이라던가 이런것들도 궁금하지 않겠어요?
로그인한 유저의 통계만 필터를 걸어 보기 위해서는
GA에 user_id 속성을 지정해주어야 합니
FRONTEND
GA
GA4
+ 더보기
gtag
gtm
구글
애널리틱스
태그매니저
0
0
0
읽기모드
1y
아직도 손으로 한땀한땀 response model을 만들고 계신가요?
openapi 스펙의 swagger를 많이들 사용하실거예요
클라이언트 개발자 분들은 swagger를 보고 api의 response의 타입에 맞춰
model을 만드는 작업을 할텐데 이 작업이 은근히 번거롭습니다
특히나
프로그래밍
API
openapi
+ 더보기
swagger
0
0
0
읽기모드
1y
javascript로 글자수 세기 위한 노력
string 타입의 문자열의 길이를 어떻게 구할수 있을까요?
무척이나 간단합니다
"hello".length // 5
이렇게 셀수 있어요
그러면 영어말고 한글은 어떻게 될까요?
"안녕하세요".length /
프로그래밍
JavaScript
TypeScript
+ 더보기
글자수
유니코드
자바스크립트
타입스크립트
한글
0
0
2
읽기모드
1y
bull UI 로 bull-board를 써보시길 추천합니다
AWS SQS를 비롯한 여러종류의 메시지 큐중 하나를 선택하여 여러분의 서비스를 개발하실때 쓰실텐데요
https://github.com/OptimalBits/bull
nodejs환경과 redis 베이스의 bull 이라는 큐
NODEJS
bull
bull-board
+ 더보기
express
NestJS
redis
큐
0
0
1
읽기모드
1y
번호이동 유심칩 배송오고 개통될때까지 기다릴 필요 없습니다
우리나라는 유심 재활용이 제대로 되지 않기 때문에
번호이동시에는 유심칩의 재구매가 필요합니다
그런데 번호이동할때 가장 걸림돌은
번호이동 신청서 작성하고
유심 배송올때까지 기다리고
해피콜올때까지 기다렸다가 개통하
정보
번호이동
알뜰폰
+ 더보기
원칩
0
0
0
읽기모드
1y
typescript의 optional property 꼭 사용하셔야겠습니까?
typescript의 optional property는 물론 매우 유용하게 쓰이는 경우가 많습니다
마치 치트키처럼말이죠
그런데 optional property는 사용하기가 매번 번거롭습니다
undefined인지 아닌지
Optional
TypeScript
타입스크립트
+ 더보기
0
0
0
읽기모드
1y
typescript optional 오남용 금지
optional은 코딩에 있어서 굉장한 편리함을 줍니다
그런데 가끔 optional을 굳이 사용하지 않아도 되는곳에도 optional을 오남용하는 곳을 볼수 있습니다
뭐 이런 함수가 있다고 생각해봅시다
세번째 매개변
function
Optional
TypeScript
+ 더보기
타입스크립트
0
0
0
읽기모드
1y
매우 쉬운 github action의 시작, npm test 실행하기
매우 간단하게 github action을 시작해볼수 있는 github action을 작성해보도록 합시다
github action 은 yaml 포맷으로 작성이 되는데요
기본형이 되는 다음의 내용을 작성해봅시다
// act
프로그래밍
Action
CI
+ 더보기
github
액션
0
0
0
읽기모드
1y
as const 로 object를 견고하게 만들기
const ProductStatus = {
SoldOut : "SOLDOUT",
Sales: "SALES",
}
이렇게 object를 이용하여 ProductStatus의 값을 설정하였다고 가정해봅시다
우리는 앞으로
프로그래밍
JavaScript
TypeScript
+ 더보기
자바스크립트
타입스크립트
0
0
0
읽기모드
1y
당신의 typescript 함수를 순수하게 만들어줄 readonly
Typescript는 여러분에게 컴파일 단에서 많은 타입 도움을 줍니다
특히나 이러한 도움은 휴먼에러를 방지하는데있어서 큰 도움이 됩니다
여러분이 소프트웨어 공학이나 개발서적들을 접하셨다면
함수를 순수하게 만드는것이
프로그래밍
readonly
TypeScript
+ 더보기
0
0
0
읽기모드
1y
typescript의 인터페이스는 javscript에는 없습니다
typescript에서 당연하게 이용하는것이 interface 입니다
인터페이스는 추상화, 다형성에 있어서 매우 의미있는 역할을 하고 있습니다
그런데 typescript의 인터페이스는 javascript에는 없다는 사실 알
프로그래밍
Interface
JavaScript
+ 더보기
TypeScript
다형성
인터페이스
자바스크립트
타입스크립트
0
0
0
읽기모드
1y
aws cloudfront에서 index.html의 캐싱을 막자
cloudfront의 배포를 선택한뒤 동작에서 여러 경로에 대한 동작을 지정할수 있습니다
동작이라 함은 특정 값을 파라메터로 보내거나 캐시에 대한 내용을 수정할수 있습니다
여러분이 react와 같은 frontend를 배포할
AWS
cache
Caching
+ 더보기
CloudFront
frontend
react
S3
vuejs
캐쉬
캐시
0
0
4
읽기모드
1y
react javascript에서 typescript로 점진적 전환하기
이제는 더이상 typescript를 주저할 이유가 없습니다
기존에 만든 javascript 로 되어있는 react 프로젝트를 typescript로 전환하세요
cra로 생성을 한 경우 매우 쉽게 전환이 가능합니다
먼저
REACTJS
JavaScript
react
+ 더보기
TypeScript
리액트
자바스크립트
타입스크립트
0
0
0
읽기모드
1y
번개장터 내폰시세 후기
사실 오늘 작성하는 포스팅을 작성하려고 마음먹었던게 22년 9월인데 어느덧 23년이 왔네요
많이 늦었지만 번개장터에 아이폰 xs를 팔아보려고 했던 후기를 공유해볼까합니다
번개장터에서 내폰시세라는 서비스가 추가되었습니다
정보
내폰
번개장터
+ 더보기
번장
시세
아이폰
팔기
0
0
15
읽기모드
1y
nestjs API Rate Limit 적용하기
nestjs에는 nestjs/throttler라는 기본패키지를 제공하고 있어
API의 과도한 호출을 막기 위한 API Rate Limit을 쉽게 적용할수 있습니다
$ npm i --save @nestjs/throttler
BACKEND
NestJS
throttler
+ 더보기
throttling
스로틀링
쓰로틀링
0
0
6
읽기모드
1y
2022년 회고
2022년 시작에 또 한번의 이직을 하였습니다
앞으로 성장세가 높을것으로 예측되는 헬스케어 분야를 계속하려는 욕심도 있었는데
여러 복합적인 사정으로 결국 이직을 하게 되었습니다
새로운 프로젝트를 맞이할때마다 항상 욕심이 나
일상
회고
+ 더보기
0
0
2
읽기모드
1y
ant design 3.x theme customize
https://3x.ant.design/docs/react/use-with-create-react-app
아직 antd 3.x 을 사용하는 프로젝트가 있습니다
이미 5.x이 출시되었는데 말이죠 ㅠ
antd는 메인
FRONTEND
antd
antdesign
+ 더보기
customize
Primary
theme
0
0
1
읽기모드
2y
MacOS ventura에서 ssh HostKeyAlgorithms
MacOS ventura로 업데이트후에 특정 서버로 ssh를 접속하려니 다음과 같은 오류가 나타나더라구요
Unable to negotiate wth xxx.xxx.xxx.xxx port 22 no matching host ke
정보
sequelace
ssh
+ 더보기
0
0
0
읽기모드
2y
구글태그매니저(GTM)를 통해 GA4 연동하기
https://support.google.com/tagmanager/answer/6102821?hl=ko
GA4 스크립트를 직접 내 웹사이트에 넣는 방법도 있지만 좀 더 멋지게 사용할수 있는 방법입니다
구글 태그매니저를
FRONTEND
Analytics
GA4
+ 더보기
gtm
구글
구글태그매니저
애널리틱스
0
0
0
읽기모드
2y
이커머스용 ga4 설정하기
https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type=gtag
(참고로 문서가 안보이는 경우 영문을 선택하면 문서가 보이네
FRONTEND
GA
GA4
+ 더보기
구글애널리틱스
이커머스
0
0
0
읽기모드
2y
GA4에서 SPA(react, vue, angular)의 url 이동도 자동으로 측정될까요?
특정페이지에 접속해서 서버가 전달해준 html을 렌더링하면서 GA스크립트가 실행 될때 GA에 page_view 이벤트가 기록됩니다
특정 페이지의 조회수를 올리는 기록이지요
어느페이지에 방문을 많이 했는지 알수 있는 매우 중
FRONTEND
Analytics
GA4
+ 더보기
react
애널리틱스
0
0
0
읽기모드
2y
GA4 실시간 디버깅하기
GA4를 설치하였다면 정상적으로 이벤트가 전달되는지 테스트를 해봐야겠죠?
실시간 디버깅을 해봅시다
먼저 여러분의 웹사이트에 GA4 스크립트를 넣어야겠죠?
nextjs에서 사용할수 있는 스크립트입니다
<
FRONTEND
Analytics
Debug
+ 더보기
GA4
디버그
디버그뷰
실시간
애널리틱스
0
0
0
읽기모드
2y
웹사이트에 ga4 설치하기
GA4의 설치는 애널리틱스 계정을 생성하고 웹페이지에 GA의 스크립트를 추가하는것으로부터 시작합니다
좌측 하단의 관리자를 클릭후 데이터 스트림 메뉴를 선택하세요
생성되어있는 스트림을 선택합니다
생성되어있는것이 없다면
FRONTEND
analtytics
GA4
+ 더보기
Google
NextJs
react
0
0
0
읽기모드
2y
http status 304 를 활용하여 네트워크 전송 절약하기
https://developer.mozilla.org/ko/docs/Web/HTTP/Status/304
http 스테이터스 코드중 304 (Not Modified) 라는 스테이터스 코드가 있습니다
설명을 좀 더 읽어볼까요
프로그래밍
304
etag
+ 더보기
HTTP
Status
0
0
0
읽기모드
2y
nestjs @typescript-eslint/no-unused-vars 가 자꾸 괴롭힐때
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.ser
NODEJS
@typescript-eslint/no-unused-vars
eslint
+ 더보기
NestJS
TypeScript
0
0
4
읽기모드
2y
스탠바이미가 부럽지 않다, 절반가격으로 삼탠바이미 만들기
침실방에 LG스탠바이미 같은 녀석이 갖고 싶었습니다
혹시 스탠바이미가 무어나고 물으신다면
LG에서 출시한 자유롭게 이동이 가능한 무선 스마트 스크린 입니다
이런느낌으로 사용하는...
무선인데다가(약 3시간 사용가
정보
m5
M7
+ 더보기
삼성
삼탠바이미
스탠바이미
이지무빙
0
0
1
읽기모드
2y
윈도우 usb 만들기
윈도우 7을 지금껏 쓰고 있습니다
업그레이드도 귀찮고 7을 아주 잘 쓰고 있었습니다
그러다가 새로운 노트북(프리도스)을 장만하여 새 노트북에 최신 윈도우를 설치하려고 했는데요
기존에 가지고 있는 윈도우7에서 MS공식 도
정보
Rufus
USB
+ 더보기
윈도우
0
0
0
읽기모드
2y
import 순서를 지정하는 eslint-import-plugin
하나의 파일이 많은 package들을 import하다보면 import된 시간순서에 따라 뒤죽박죽으로 선언됩니다
민감하신분들은 상단의 import 구문들이 모여있는 곳을 깨끗이 순서대로 정리를 하는 사람도 있을테고
그냥 무시
프로그래밍
eslint
import/order
+ 더보기
0
0
0
읽기모드
2y
tslint 소개 interface-name, interface-over-type-literal
lint는 프로젝트의 코드스타일에 일관성을 주니 적극 사용하려고 하는데
tslint의 lint 2개를 알려드려볼까합니다
interface-over-type-literal
코딩을 하다보면 type과 interface
프로그래밍
TsLint
+ 더보기
0
0
0
읽기모드
2y
react 18 typescript type에 PropsWithChildren가 추가되었습니다
react 18 types에 PropsWithChildren 이라는 타입이 추가되었습니다
말그대로 children을 포함한 props를 가리키는 타입입니다
코드를 보면 이런식으로 선언이 되어있습니다
type PropsW
REACTJS
PropsWithChildren
react
+ 더보기
TypeScript
0
0
0
읽기모드
2y
nextjs 12 babel에서 swc 로 갈아타기
https://nextjs.org/docs/advanced-features/compiler
nextjs 12버전의 변화중의 하나는 컴파일러가 변경되었습니다
babel에서 rust를 사용하는 SWC로 변경이 되었습니다
FRONTEND
babel
NextJs
+ 더보기
swc
0
0
0
읽기모드
2y
애플 스마트 앱배너(smart app banner) 달아보세요
애플 스마트 앱배너 알고 계신가요?
그래도 나온지 꽤 오래된 기능인데
아직 그렇게 많이 쓰지는 않는것 같아요
디자인적으로 커스터마이징을 할수 없다는 이유도 있고, 트래킹 관련한 애로사항도 이유가 있을것 같습니다
WEB2.0
appbanner
ios
+ 더보기
Safari
스마트앱배너
애플
앱배너
0
0
6
읽기모드
2y
nodejs의 논블로킹(non-blocking) 체감하기
nodejs는 싱글스레드이며, 논블로킹이다 라는것은 nodejs를 공부하는 사람이라면 항상듣는 개념입니다
그런데 막상 코드를 짤때 이부분을 간과하는 경우가 많습니다
그래서 한번 어떻게 논블로킹하게 생각하고 코딩해야되는지
NODEJS
nodejs
non-blocking
+ 더보기
thread
넌블러킹
논블로킹
0
0
5
읽기모드
2y
[nestjs] versioning 기능 이용하기
https://docs.nestjs.com/techniques/versioning#versioning
rest api를 설계할때 아래와 같이 버전을 포함하여 url을 설계할수 있습니다
POST /v1/users
GET /v
BACKEND
NestJS
RESTAPI
+ 더보기
Versioning
버저닝
0
0
0
읽기모드
2y
[nestjs] whitelist 로 파라메터를 안전하게 사용하기
nestjs의 dto는 우리가 별다른 노력을 들이지 않아도 입력값을 자동으로 dto 클래스에 매핑을 하여
손쉽게 사용할수 있도록 도와줍니다
export class CreateUserDto {
username: strin
BACKEND
NestJS
validation
+ 더보기
validationpipe
Whitelist
0
0
0
읽기모드
2y
[nestjs] validation error 핸들링
nestjs는 class-validator와 함께 강력한 validationpipe 기능을 제공하고 있습니다
dto를 통해서 입력된 값의 validation을 체크할수 있습니다
export class CreateUse
BACKEND
class-validator
NestJS
+ 더보기
validationpipe
0
0
0
읽기모드
2y
CRA react 프로젝트에서 https 서버 실행하기
CRA로 생성한 react 프로젝트에서 https 서버를 실행하는 방법은 간단합니다
react-scripts start 명령어에 약간의 옵션을 추가해주시면 됩니다
package.json의 명령어에 https 서버를 실행하는
CRA
https
react
+ 더보기
SSL
인증서
0
0
19
읽기모드
2y
nextjs 프로젝트에서 https 로 서버 실행하기
nextjs 기반의 프로젝트는 아래의 명령어를 통해 로컬 개발서버를 실행하게 됩니다
npm run dev
yarn dev
그런데 다른 목적으로 http 서버를 직접 커스텀하여 실행해야하는 경우가 있는데요
대표적인예가 S
FRONTEND
https
Next.js
+ 더보기
NextJs
SSL
인증서
0
0
0
읽기모드
2y
mac에서 /etc/hosts 를 조작하기
개발환경을 만들때 실제로 보유하고 있는 도메인은 아니지만
개발환경을 위해 특정 도메인을 사용하기 위해
/etc/hosts 파일을 조작하여 사용하는 경우가 있습니다
윈도우는 물론 맥에서도 파일을 조작하여 로컬상에서 호
WEB2.0
dns
hosts
+ 더보기
도메인
호스트
0
0
0
읽기모드
2y
로컬환경에서 사용할 개발용 SSL 인증서 만들기
아래 가이드는 Mac을 기준으로 작성되어있습니다
로컬환경에서 개발을 할때 ssl 인증서가 필요한 경우가 있습니다
로컬환경에서 사용할 개발용 인증서를 만들기 위해
brew를 통해 mkcert를 설치합니다
b
FRONTEND
https
SSL
+ 더보기
사설인증서
인증서
0
0
3
읽기모드
2y
[nestjs] ClassSerializerInterceptor 전체 적용하기
웹어플리케이션은 요청에 대한 응답결과를 client에 object 또는 object의 array 형태로 전달합니다
그런데 이러한 값을 뭔가 특정 룰에 의해 공통적으로 관리하고 싶습니다
예를 들면 password같은 결코
NODEJS
classserializerinterceptor
Interceptor
+ 더보기
NestJS
nodejs
Serialize
0
0
14
읽기모드
2y
로드밸런서의 keep-alive 옵션
https://developer.mozilla.org/en-US/docs/Web/HTTP/Connection_management_in_HTTP_1.x
Short-lived connection이라고 불리는 연결은
요청마다 연
AWS
KEEPALIVE
+ 더보기
0
0
6
읽기모드
2y
nodejs 쓰레드 활용하기
https://nodejs.org/en/docs/guides/dont-block-the-event-loop/
nodejs는 non blocking 이벤트 루프 형태의 시스템을 가지고 있습니다
이런 nodejs의 장점을 살리
NODEJS
nodejs
thread
+ 더보기
싱글쓰레드
이벤트루프
0
0
0
읽기모드
2y
CRA로 생성한 프로젝트에서 webpack bundle analyzer 사용하기
이렇게 생긴 화면이 여러분들이 많이 알고 계신 webpack bundle analyzer 입니다
웹팩을 통해 번들링한 결과를 시각적으로 보여줘서
어떤파일이 용량이 큰지
중복되는 패키지는 없는지 체크하여 번들결과물을 최적
REACTJS
ANALYZE
Bundle
+ 더보기
webpack
번들
번들링
0
0
84
읽기모드
2y
아이폰 애플 캘린더 연동시 시간대 오류
아이폰 캘린더를 사용하는데
특정 시각으로 일정을 입력하면 입력할때랑 다른 시간대로 기록이 됩니다
뭔가 분명 국가별 시간대 설정에서 오류가 있는것 같은데
난 아무런 설정을 바꾼게 없는데 갑자기 왜이러지 싶은데요
그
정보
스케줄
시간대
+ 더보기
아이폰
애플
일정
캘린더
0
0
12
읽기모드
2y
m1, m2 silicon mac에서 cocoapods 설치하기
# Uninstall the local cocoapods gem
sudo gem uninstall cocoapods
# Reinstall cocoapods via Homebrew
brew install cocoapods
m1,
프로그래밍
BREW
cocoapods
+ 더보기
M1
Mac
silicon
0
0
182
읽기모드
2y
react 테스트 작성하기
https://github.com/spotlight21c/react-testing-example
리액트 이제 막 입문하시는 분들을 위해서 기본적인 테스팅 코드가 포함되어있는 샘플프로젝트를 만들었습니다
약간의 가이드가 되었으
REACTJS
msw
react
+ 더보기
Test
testing
테스팅
0
0
0
읽기모드
2y
무료 서버 제공주는 곳 정보 푼다
https://vercel.com/
nextjs를 만든 vercel입니다
react, vue, nextjs를 비롯해서 내가 만든 개발한 웹어플리케이션을 repository 연결만으로 쉽게 배포하여 서비스가 가능합니다
n
프로그래밍
EC2
MySQL
+ 더보기
PostgreSQL
redis
무료
0
0
1
읽기모드
2y
리액트에서 devDependencies는 왜 안쓰나요?
npm, nodejs를 공부하셨다면
개발에 필요한 패키지들은 dev dependency로 설치하는것이 습관화되어있을거예요
sass를 비롯한 개발 또는 테스팅단계에서 필요한 툴들은 당연히 dev dependency로 설치했을
REACTJS
react
리액트
+ 더보기
0
0
0
읽기모드
2y
CRA로 만든 react app v17로 변경하기
react가 얼마전 18버전으로 업데이트가 되었죠
그래서 CRA로 react app을 만들게 되면 react 18 버전으로 시작하게 됩니다
react 18버전이 아닌 17버전을 사용하고 싶으시다면
직접 의존성을 리액트
REACTJS
react
리액트
+ 더보기
0
0
2
읽기모드
2y
mongodb ObjectId 파헤치기
https://www.mongodb.com/docs/manual/reference/method/ObjectId/
mongodb는 ObjectId라는 GUID 체계를 사용하고 있습니다
ObjectId는 총 12바이트로 구성이 되
프로그래밍
MongoDB
ObjectId
+ 더보기
0
0
0
읽기모드
2y
저렴하게 분산 unique primary key 만들기
티켓서비스로 불리는 이것은 pk로 사용가능한 전역적으로 유일한 interger value(GUID)를 제공해주는 방법입니다
데이터베이스 분산처리를 위해 샤딩을 하게 되면
샤딩한 데이터베이스간의 키의 충돌을 막는것이 가장 우
프로그래밍
flickr
guid
+ 더보기
Ticket
분산
티켓서비스
0
0
0
읽기모드
2y
hset을 이용하여 메모리 효율적으로 redis에 저장하기
https://instagram-engineering.com/storing-hundreds-of-millions-of-simple-key-value-pairs-in-redis-1091ae80f74c
이 포스팅은 instagra
프로그래밍
hash
hget
+ 더보기
hset
redis
ziplist
레디스
0
0
1
읽기모드
2y
캐싱(caching) 전략
lazy caching
가장 보편적으로 쓰이는 캐시 방식입니다
실제로 object에 대한 요청이 왔을때 캐시를 생성합니다
1. 최신 10개의 뉴스를 가져오는 쿼리를 요청받았다
2. 캐시서버에 해당 캐시를 가지고 있는
프로그래밍
+ 더보기
0
0
0
읽기모드
2y
github multi account, multiple profile 설정하기
github을 열심히 사용하는 개발자들이라면
아마도 개인적으로 하는 프로젝트들도 github에 있을거고
회사에서도 github을 쓰고 있을거예요
물론 회사용 컴퓨터, 개인용 컴퓨터로 구분하여
회사용 컴퓨터로는 회
프로그래밍
github
ssh
+ 더보기
깃헙
0
0
0
읽기모드
2y
kt ucloud object storage 전체 삭제하기
kt ucloud의 UI콘솔이 기능이 부족하여 내부에 파일이 있는 버킷을 삭제하는것도 쉽지가 않습니다
그래서 별도의 툴을 사용해야하는데
우리는 개발자인만큼 cli를 사용하는게 가장 속편합니다
kt ucloud는 open
프로그래밍
KT
OpenStack
+ 더보기
S3
ulcoud
0
0
8
읽기모드
2y
nodejs 프로세스 memory 제한이 있다구요?
https://nodejs.org/api/cli.html#cli_node_options_options
꽤 오랜시간 동안 nodejs를 사용하면서 이번에 새로 알게된 사실이 있습니다
nodejs의 v8엔진이 최대 사용할수 있
NODEJS
heap
memory
+ 더보기
nodejs
0
0
0
읽기모드
2y
안드로이드의 백그라운드 서비스, 포그라운드 서비스 정책
안드로이드의 Service는 백그라운드에서 오래 실행되는 작업을 수행할수 있는 어플리케이션 구성요소입니다
별다른 사용자 인터페이스 없이 실행될수 있고, 사용자가 다른 앱을 실행하더라도 계속해서 실행된다는 점이 있습니다
안드로이드
android
백그라운드
+ 더보기
포그라운드
포어그라운드
0
0
9
읽기모드
2y
노치로 인한 CSS 안전 영역 만들기
화면을 어떻게든 넓게 쓰고자 하는 모두의 바램이
베젤리스, 노치 디자인, 펀치홀 같은 것들을 만들었습니다
저는 처음에 노치 디자인을 보고 경악을 금치 못했는데요
다른 사람들과 같이 M탈모 디자인이라고 그렇
FRONTEND
CSS
safe-area
+ 더보기
노치
안전영역
0
0
13
읽기모드
About
Badge
Contact
Activity
Terms of service
Privacy Policy