분류 전체보기
-
TypeOrm과 js-joda를 이용한 Date타입 대신 LocalDateTime 타입 사용하기Nest.js/TypeOrm 2024. 7. 6. 20:40
js-joda에서 제공 하는 타입은 다음과 같다.LocalDate : 년,월,일 타입LocalTime : 분,초 타입LocalDateTime : 년,월,시,분,초 타입ZonedDateTime: joda/timezone과 함께 사용하며 특정 국가의 timezone에 따른 타입이외에 다른 기능들은 공식문서에 설명이 되어 있다. @js-joda/core 라이브러리를 설치 한다. TypeOrm의 column 데코레이터의 transformer 프로퍼티와 ValueTransformer를 이용하여 js-joda를 이용하여 날짜 데이터 타입을 보다 효율적으로 다룰 수 있다.js-joda에서 Convert from/ to native js 부분을 참고 utils/convert-date-time.ts transforme..
-
TypeOrm과 Postgresql에서 timestamp을 UpdateDateColumn 데코레이터 사용시 transformer 이슈Nest.js/TypeOrm 2024. 7. 6. 19:01
@UpdateDateColumn 사용시 transformer 프로퍼티 옵션을 사용하면 onUpdate CURRENT_TIMESTAMP가 동작하지 않는다.무슨 말이냐면 @CreateDateColumn, @UpdateDateColumn 데코레이터 사용해서 데이터를 생성 하면 현재 date-time을 자동으로 데이터를 입력 해주는데 만약 필드에 변경이 일어날 경우에 UpdateDateColumn에서 업데이트 된 기준 일자로 다시 해당 칼럼을 업데이트 해주는데 만약에 UpdateDateColumn에 transformer 프로퍼티 옵션을 사용하게 된다면 해당 기능이 제대로 동작 하지 않는다. @CreateDateColumn 데코레이터와 @UpdateDateColumn 데코레이터를 사용 했을때해당 코드는 cre..
-
date, time, createdAt와 updateAt 같은 날짜와 시간 Date타입에 대해서백엔드/견고한 백엔드 만들기 2024. 7. 6. 13:38
Postgresql에서 timestamp와 timestamptzISO 8601 날짜와 시간과 관련된 데이터 교환을 다루는 국제 표준 포맷Date 타입의 불변성 Postgresql timestamp와 Mysql datetime과 유사하고Postgresql timestamptz와 Mysql의 timestamp와 유사하다. 2. ISO 8601 날짜와 시간에 관련된 데이터 표현을 다루는 국제 표준날짜와 시간을 표현할 때 나라마다 표시형식이 다르다보니 국제 표준화 기구(ISO)에서 정한 날짜 및 시간 표시 형식이다.즉, 해당 format을 이용하여 date format을 일관성 있게 사용 할 수 있다.ISO 8601과 RFC 3339를 제외한 Unix time, YYYY-MM-DD HH:mm:ss.SSS, ..
-
Date 타입의 불변성이 보장 되어야 하는 이유Javascript/개념 및 설명 2024. 7. 6. 12:48
js-joda나 day.js나 date-fns 등은 immutable 불변성을 보장하여 날짜 및 시간 객체가 변경 불가능 하기 때문에 예기치 않은 오류를 예방 할 수 있다. 로컬 시간대 사용 문제Date 객체는 생성할 때 시스템의 로컬 시간대 를 사용합니다. 이는 같은 코드라도 실행 환경에 따라 다르게 동작할 수 있습니다예를 들어, 동부 호주에서는 "new Date(2013, 0, 1)"이 실제로는 2012년 12월 31일 오후 1시(UTC)로 해석됩니다.이는 전 세계 어디에서든 동일한 시간으로 처리되어야 하는 소프트웨어에서는 큰 문제를 일으킬 수 있습니다. // 동부 호주의 로컬 시간대 (GMT+11)에서 실행된다고 가정let date = new Date(2013, 0, 1);console.log(da..
-
Moment.js를 사용하지 말아야 될 이유Javascript/라이브러리 및 API 2024. 7. 6. 12:39
Reference- https://d2.naver.com/helloworld/645609- https://unspecified.wordpress.com/2013/08/02/why-you-should-never-mutate-a-javascript-date/- https://momentjs.com/docs/#/-project-status/recommendations/momment.js 공식 문서에서도 레거시 프로젝트라고 정의 되어 있다.파일 크기가 아주 크다는 것이 가장 큰 단점Moment.js 객체는 가변 객체이다. 이 가변성은 예기치 않은 버그를 일으킬 수 있다.
-
npm publish중에 마주하게 된 에러Nestia 2024. 6. 28. 20:24
npm publish This command requires you to be logged in to Switch to Login module (by typing "how-to-npm" on command line)Type "npm adduser" to loginType "npm whoami" to confirm if logged inSwitch back to the package at which you are getting error(my case it was Publish Again)Type "npm publish"Done https://github.com/workshopper/how-to-npm/issues/25 npm publish has resulted in error "You need to a..
-
-
true/false toggle 메뉴 구현시 useReducer로 구현하기React.js 2024. 6. 27. 12:18
기존 코드// 컴포넌트const [isEndDateOpen, setIsEndDateOpen] = useState(false); setIsEndDateOpen(!isEndDateOpen)}> + 종료 날짜 및 시간 setIsEndDateOpen(!isEndDateOpen)}> - 종료 날짜 및 시간 useReducer로 개선하기// 컴포넌트const [isEndDateOpen, setIsEndDateOpen] = useReducer(state => { return !state;}, false);+ 종료 날짜 및 시간- 종료 날짜 및 시간 개선 후 장점코드가 간결 해진다.useState를 사용해서 true/false 토글시에 useCallback으로 감싸주어야 하거나 해야될 때 가 있는데 u..