본문 바로가기
반응형

Javascript29

[Typescript] 1. TypeORM에서 페이징 API 만들기 - 기본페이징 기능 웹 서비스를 구현하는 과정에서 페이징 API는 가장 기본적인 기능인데요. Java 기반의 페이징 구현 코드는 많은데, Typescript 와 TypeORM 의 구현 코드가 많지 않아 작성하게 되었습니다. 현재 Typescript 와 TypeORM 스펙으로 웹 서비스를 구현하신다면 한번쯤 참고해보셔도 좋을것 같습니다. 전체 코드는 Github에 있습니다. 여기서는 기본적인 페이징에 대해서만 소개 드리는데요. 고성능의 페이징 API가 필요하다면 이전의 포스팅들을 참고해주세요. 1. NoOffset 사용하기 2. 커버링 인덱스 사용하기 3-1. 페이지 건수 고정하기 3-2. 첫 페이지 조회 결과 cache 하기 1. 프로젝트 구조 사용된 대표적인 패키지는 다음과 같습니다. Typescript TypeDI DI.. 2021. 6. 10.
nodeenv를 활용한 프로젝트별 node 가상 환경 관리 Node에는 nvm 이나 n을 통해 동적으로 로컬 PC의 Node 버전을 변경할 수 있는데요. 다만 애초에 여러 프로젝트를 서로 다른 버전으로 동시에 사용하는 경우에는 매번 버전을 변경하는 것도 상당히 귀찮은 일입니다. 이를테면 다음과 같은 경우입니다. 회사의 프로젝트는 node 12를 쓴다 개인 프로젝트는 최신 버전인 node 16을 쓰고 싶다. 주말마다하는 사이드 프로젝트는 14를 쓰기로 했다. 이렇게 될 경우 매번 PC의 node 버전을 변경해야하는데요. 출근 전에는 node 16으로 출근 하면 node 12로 행여나 회사내 node 프로젝트들도 버전이 서로 다르면 이때도 계속 프로젝트 실행때마다 nvm 이나 n으로 버전을 변경해야합니다. 퇴근 하면 다시 node 16으로 주말 에는 node 14로.. 2021. 5. 2.
TypeORM에서 Camelcase 필드를 Snake 컬럼에 매핑하기 일반적으로 PostgreSQL을 비롯한 Database의 컬럼 명명 (Naming) 규칙은 snake, 애플리케이션 코드의 필드 명명 규칙은 Camelcase 입니다. Entity Table 둘 간에 명명 규칙이 달라 일반적인 ORM 들 (JPA등) 에서는 이들간의 불일치 해소를 위한 명명 전략 (Naming Strategy)를 지원하는데요. TypeORM에서는 이 기능이 공식적인 지원이 없어서, 별도의 패키지를 사용해야만 합니다. 해결책 npm 패키지 중 typeorm-naming-strategies 를 사용하면 이 문제를 아주 쉽게 해결할 수 있습니다. 먼저 아래와 같이 프로젝트 패키지에 포함시키시고, npm install typeorm-naming-strategies --save TypeORM 전역.. 2021. 4. 27.
Nodejs 버전업시 log.gauge.isEnabled 문제 해결 방법 Vuejs, React, Angular 등의 프로젝트를 이용하다보면 npm 을 통한 패키지 관리는 필수입니다. 이때 최신 Nodejs를 사용하기 위해 버전업을 할 경우 Npm이 반영되지 않아 문제가 될 경우가 종종 있습니다. 구 버전의 Nodejs 프로젝트에서 Nodejs 버전을 업데이트 한 후에 npm install을 진행하시면 아래와 같이 log.gauge.isEnabled() 오류가 발생할 수 있습니다. 저의 경우 6.9.2 -> 10.14.1 로 업데이트 한 후에 발생했는데요. 이럴 경우엔 기존의 npm을 삭제하고 최신 버전으로 설치하시면 문제를 쉽게 해결할 수 있습니다. 하나씩 진행해보겠습니다. 일단 기존 버전의 npm을 삭제합니다. cd /usr/local/lib/node_modules sud.. 2018. 12. 6.
나만의 CLI 만들기! 나만의 CLI (Command Line Interface) 만들기 최근 들어 반복적인 작업이 생기면 이걸 스크립트로 어떻게 자동화 할 수 있을까 고민하게 되었습니다. 자동화 스크립트는 쉘스크립트나 파이썬이 대표적으로 떠오르지만, 웹개발을 주로 한 덕분에 자바스크립트에 더 친숙하여 보통은 nodejs가 더 손에 맞는것 같습니다. 이번 시간은 저처럼 자바스크립트만 아는 개발자 분들에게 nodejs를 이용하여 나만의 CLI를 만들어 귀찮은 일들은 전부 스크립트에 맡기는 이야기를 진행할 예정입니다. 모든 코드는 Github에 있으니 전체 코드를 보고싶으시면 참고하시면 될것 같습니다. (공부한 내용을 정리하는 Github와 세미나&책 후기를 정리하는 Github 를 star 하시면 실시간으로 feed를 받을 수 .. 2017. 1. 18.
IE 7,8에서 모던하게 개발하기 #7 - Handlebars.js 적용 현재까지 관련된 포스팅과 코드는 아래를 참고!IE 7,8에서 모던하게 개발하기 #1 (npm/grunt) IE 7,8에서 모던하게 개발하기 #2 (require.js) IE 7,8에서 모던하게 개발하기 #3 (backbone.js -1)IE 7,8에서 모던하게 개발하기 #4 (backbone.js -2)IE 7,8에서 모던하게 개발하기 #5 (backbone.js -3)IE 7,8에서 모던하게 개발하기 #6 (배포환경 구축)IE 7,8에서 모던하게 개발하기 #7 (Handlebars.js 적용)프로젝트 및 코드 Handlebars 적용하기 IE 7/8에서 모던하게 개발하기 시리즈의 마지막 챕터인 Handlebars 적용이다.공식사이트 Handlebars의 경우 많은 회사에서 클라이언트 템플릿 엔진으로 사.. 2016. 10. 24.

728x90