Web 26

엔티티의 컬럼은 어떤 타입을 써야할까?

개요 @Entity @Table(name = "USER") public class User { @Id @Column(name = "user_id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "user_name") private String name; @Column(name = "phone_number") private Integer phoneNumber; } 엔티티를 작성하다가 문득 컬럼 타입을 원시형으로 쓰지않고 참조형으로 사용하는지 궁금증이 생겼다. 단순한 생각으로는 참조형으로 사용할때 Null이 허용된다는 점인데 각각의 특징을 간략하게 알아보고 타입 선택 전략에 대해 생각해보았다. 요약 불리..

Web/JPA 2023.05.30

nvm windows에 설치하기

nvm은? nodejs를 커맨드로 빠른 설치와 다양한 버전을 사용할 수 있게 도와주는 버전 관리 도구 nvm 설치 nvm 설치전 정석적인 nodejs 프로그램은 삭제해주고 진행해야함 nvm-setup.zip을 다운로드 https://github.com/coreybutler/nvm-windows/releases Releases · coreybutler/nvm-windows A node.js version management utility for Windows. Ironically written in Go. - coreybutler/nvm-windows github.com 설치 루트는 반드시 C:\특정경로\nvm으로 설정할 것 기본 제공경로로 설치시 node버전을 변경못하는 오류 있음 nvm Example ..

Web/Node.js 2021.10.24

node, npm 버전 관리

버전 확인 및 캐시 제거 //버전확인 $ node -v v6.0.0 // 기존에 사용 했을수도 있는 npm cache값을 제거해줍니다. $ sudo npm cache clean -f n 모듈 설치 [ npm n ] n 은 Node.js 버전을 관리해주는 플러그인 //n모듈 설치 $ sudo npm install -g n // node 안정버전 설치 $ sudo n stable //lts버전 설치 $ sudo n lts //특정버전 설치 ex> $ n $ sudo n 10.0.0 //버전삭제 $ sudo n rm 10.0.0 npm 업데이트 //npm 버전 확인 $ npm -v 3.1.0 $ sudo npm i -g npm /usr/local/bin/npm -> /usr/local/lib/node_modu..

Web/Node.js 2021.03.04

자바스크립트 비동기처리에 대한 promise 사용법

Promise() 사용법 위 링크에 들어가서 보면 Promise를 통한 비동기 처리에 대한 사용법이 두 가지가 나온다. 하나는 Promise를 객체에 담아서 사용하는 방법이고 하나는 return Promise를 사용하는 방법이다. 처음엔 상세히 공부하지않고 예제대로 Promise를 객체선언하고 사용했었다. 또한 Promise를 리턴해서나오는 값을 사용하기 위한 콜백 함수 then()을 정확하게 명시할 수 있어서였다. 처음엔 문제없이 처리했었는데 AJAX요청이 포함된 비동기 처리가 필요할 때 생겼다. AJAX로 비동기 요청을 하고 처리된 값을 어딘가에 대입해야 하는 상황에서 Async와 Await를 사용하게 됐는데 구체적인 모든 코드가 작성되어있지는 않지만 그 문제의 코드다. const detectLng ..

Web/JavaScript 2020.07.08

Moment.js 시간표기와 시간 차이 구하기

import moment from 'moment'; require('moment-timezone'); // import timezone from 'moment-timezone'; moment.tz.setDefault("Asia/Seoul"); //시간 비교 표기하기위해서 moment.updateLocale('ko', { relativeTime : { future: "%s 후", past: "%s 전", s : "%d 초", ss : "%d 초", m: "%d 분", mm: "%d 분", h: "%d 시간", hh: "%d 시간", d: "%d 일", dd: "%d 일", M: "%d 달", MM: "%d 달", y: "%d 년", yy: "%d 년" } }); // result는 select query의..

Web/Node.js 2020.07.05

Node.JS 카카오페이 API 사용하기

# 필요한 모듈 node.js에서 curl 사용하기 위한 request 모듈들 const request = require('request'); const request = require('request-promise-native'); request-promise-native 모듈은 promise 혹은 Async & Await를 통한 비동기처리를 하기위한 모듈이다. 하지만 둘다 설치해야 사용할수있음. request모듈을 사용하기위한 기본적인 옵션들 선언 let headers = { 'Authorization': 'KakaoAK '+'Admin Key', 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8' }; let params = { 'c..

Web/Node.js 2020.06.18

자바스크립트 콜백함수 사용하기

노드JS를 공부하다 보면 비동기로 처리가 되어서 함수 처리 후에 나오는 값을 제대로 받을 수가 없는 적이 정말 많다. 그래서 이 비동기 처리되는 것을 원하는 대로 처리하기 위해 나온 게 콜백 함수다. 추후에 나온 promise라던지 async&await 같은 편하게 비동기 처리하는 방식도 있지만 말이다 function func3(c, callback) { console.log('함수정의3'); callback(c); } function func2(b, callback) { console.log('함수정의2'); callback(b); } function func(a, callback) { console.log('함수정의1'); callback(a); //function (result)

Web/JavaScript 2020.06.16

노드몬(Nodemon) 강제종료하기

노드는 서버를 구동할때 라우팅 파일이나 app.js 같은 서버관련 코드를 수정하게되면 바로 적용이 안된다. 그렇기에 서버관련파일이 수정되면 노드몬 모듈을 사용해서 다시 서버를 재구동하도록 한다. 노드몬 작동중에 터미널창을 껏다가 노드몬을 재작동하려고하면 포트를 이미 점거하고 있어서 재구동을 못한다. (사실 재구동할 필요가 없지만 만약 로그를 확인하던지 다른 이유로 노드몬을 재구동해야하는 상황) 그럴때 서버를 종료하기위해서 위의 코드를 써서 노드몬을 강제 종료해주면 된다. $ lsof -nP -iTCP:3000 | grep LISTEN node 24576 TCP *:3000(port_number) (LISTEN) $ kill 24576 $ sudo lsof - :3000 $ kill -9 PID

Web/Node.js 2020.05.20