profile
BACKEND 개발 기록 중. 감사합니다 😘

Firestore 분산 카운터

GCP Firestore는 단일 문서를 1초에 약 한 번만 업데이트가 가능하기 때문에 1초에 여러번 업데이트해야 한다면 분산 카운터 기능을 넣는 것이 좋다. 각 카운터는 샤드로 이루어진 하위 컬렉션을 갖는다.컬렉션은 0 ~ (N-1)개의 문서를 생성하고 업데이트 시 하

2022년 7월 4일
·
0개의 댓글
·

no-dupe-else-if

if-else 구문에서 동일한 조건이 중복되어 있어서 발생하는 에러중복된 if-else 문 삭제수정 전 코드수정 후 코드ESLint - no-dupe-else-if

2022년 7월 4일
·
0개의 댓글
·

java.sql.SQLException: Incorrect string value: '\xF0\x9F'

MySQL 서버에서 특정 텍스트 저장 시 에러 발생이모지(유니코드)가 포함된 텍스트라서 정상적으로 저장되지 않음 Regex를 사용하여 텍스트에서 이모지를 제거MySQL character set encoding을 utf8mb4로 변경UTF-8은 4바이트 가변 길이 인코딩

2022년 7월 4일
·
0개의 댓글
·

ESLint max-len 예외 처리

코드에 regex 패턴이 너무 길에 eslint의 max-len 설정에서 에러 검출 regex 패턴은 예외처리.eslintrc.js 에서 ignoreRegExpLiterals 추가ESLint max-leng

2022년 7월 4일
·
0개의 댓글
·

TypeScript error TS1005: ';' expected

typescript 빌드 시 에러 발생tsc 버전이 낮아서 발생하는 에러tsc 버전 업그레이드tsc 버전 확인버전이 4.0.0 이하라면 업그레이드 하자.uninstall typescriptTypeScript error TS1005: ';' expected (II)

2022년 7월 4일
·
0개의 댓글
·

Typescript에서 Map 사용하기

loop 문 : \[for...of] 사용 TypeScript Map

2022년 6월 24일
·
0개의 댓글
·

uuid 사용하기

유일한 값이 필요할 경우 uuid를 생성하여 사용할 수 있다. uuid를 생성할 때는 중복되지 않아야 하기 때문에 여러 방법을 사용한다.npm uuidUUID (Universally Unique IDentifier)

2022년 5월 26일
·
0개의 댓글
·

Cron의 시간 설정

cron은 unix 계열에서 동작하는 job scheduler로 정해진 특정 시간에 동작하여 스크립트를 실행한다.\*가 6개가 있는 경우도 있는데, 이때는 제일 처음 \*가 초(second)를 의미한다.cron wikipedia

2022년 5월 26일
·
0개의 댓글
·

Javascript 소수점 계산

자바스크립트로 소수점이하의 값을 가진 수를 사칙계산하다 보면 가끔 이상한 값이 나온다. 0.1+0.2 = 0.3이 되어야 하는데 계산해보면 소수점 아래로 값이 더 붙어 있다. 자바스크립트는 숫자를 부동 소수점으로 처리그러려면 10진수를 2진수로 변환해야 하는데특정 값에

2022년 5월 26일
·
0개의 댓글
·

Javascript Query by Firefoo

특정 기간의 데이터를 추출하여 포인트 합산을 하려고 한다. 주의할 점이라면 대상이 되는 데이터가 sub collection의 데이터이다.이중 collection으로 user collection의 각 doc 마다 history collection이 있다.startDate

2022년 5월 26일
·
0개의 댓글
·
post-thumbnail

TypeScript - 타입과 키워드, 인터페이스

이전에는 var 키워드를 사용하여 변수를 선언했으나 현재는 사용하지 말라고 하고 있으며, 대신 let, const 키워드를 사용하는 것이 좋다.let : 값 변경이 가능한 변수const : 값 변경이 불가능하며 초기에 값이 부여되어야 하는 변수

2022년 4월 27일
·
0개의 댓글
·
post-thumbnail

단위 테스트를 위한 Jest 연동

Meta에서 유지 관리하는 Javascript 테스트 프레임워크npm 혹은 yarn으로 설치할 수 있다. 여기서는 npm을 사용한다.두개의 임의의 function을 생성하여 테스트 해본다.두 파라미터를 더하는 add.js 파일 생성두 파라미터를 빼는 sub.js 파일

2022년 4월 26일
·
0개의 댓글
·
post-thumbnail

[GCP] Firebase 여러 프로젝트에 deploy 할 수 있게 하는 설정

Firebase-cloudfunction을 쓰다보면 하나의 소스를 여러 프로젝트에 deploy 해야할 수도 있다. 나같은 경우에는 production, test project가 달라서 deploy 할때마다 어떤 프로젝트를 써야 하는지 지정해줘야 하는데 여간 번거로운 일

2022년 4월 25일
·
0개의 댓글
·

no-var-requires error

require문을 사용 시 import 외의 값을 사용하지 않음TypeScript ESLint

2022년 4월 14일
·
0개의 댓글
·

Firestore Javascript Query Examples by Firefoo

Firefoo를 이용하여 Javascript query로 firestore data 핸들링 해보자.Admin ADK는 비동기 명령을 하기 위해 Javascript Promise를 사용하며, default run function은 async이다.Collection.add

2022년 4월 13일
·
0개의 댓글
·

[TS] Typescript에서 JS 활용

Typescript로 작성하고 있는 프로젝트에 javascript 파일을 참조해야 하는 상황바로 사용할 수는 없고, d.ts 파일을 생성해야 하는데, 생성하는 방법은 2가지가 있음@types를 붙이면 node_modules/@types에 d.ts 파일이 생성됨types

2022년 4월 8일
·
0개의 댓글
·

dApp이란?

Decentralized Application. 이더리움, 큐텀, 이오스 같은 플랫폼 코인 위에서 작동하는 탈중앙화 분산 애플리케이션으로, 간략히 분산앱이라고 함. 플랫폼 위에서 작동하는 디앱의 암호화폐는 coin이라고 하지 않고 token 이라고 구별하며 부름. DA

2022년 3월 15일
·
0개의 댓글
·

npm 개념

javascript programming language를 위한 패키지 관리자. 자바스크립트 런타임 환경 Node.js의 기본 패키지 관리자.명령줄 클라이언트, 그리고 공개 패키지와 지불 방식의 개인 패키지의 온라인 데이터베이스로 이루어져 있음.node.js만 설치하면

2022년 3월 15일
·
0개의 댓글
·
post-thumbnail

[Kotlin] 개념

코틀린( Kotlin )은 2011년 7월 JetBrains사가 공개한 JVM에서 동작하는 프로그래밍 언어로서, 간결하고 실용적이며 자바코드와의 상호운용성( interoperability )를 중시한 언어.대상 플랫폼언어상의 코드 (특히 웹 애플리케이션의 백엔드)안드로

2022년 3월 15일
·
0개의 댓글
·

[Java] Synchronized

Multi-Thread로 동시 접근되는 것을 막는 개념.Thread는 class의 멤버변수의 자원에 접근할 수 있는데, 이는 멤버 변수가 heap 메모리를 사용하기 때문임. 여러 thread가 공유자원에 접근하는 경우 동기화를 해줘야 할 필요가 있어서 synchroni

2022년 3월 15일
·
0개의 댓글
·