본문 바로가기

컴퓨터/JavaScript

(4)
TypeORM 타임존 옵션 관련 Timezone option TypeORM을 사용해 작업중에 TypeORM이 테이블에서 가져오는 값과 실제 테이블 내 컬럼값이 상이함을 발견했다. 예를들어 DB 내 실제 값은 2021-09-04 00:00:00 인데, 이 값을 TypeORM으로 가져왔을 때는 2021-09-03 15:00:00으로 변경되어 있었다. 처음에는 서버 리눅스 내부의 timezone이 상이해서 그런줄 알았는데, 똑같이 seoul로 맞춰봐도 동일했다. 혹시 ORM 수준에서 변환을 하고 있지 않을까 해서 찾아보니, 관련한 Github issue에서 해결법을 발견했다. 코드 상에서 DB 연결을 위한 ORM 설정 부분에서 timezone 파라미터를 추가해주면 된다. const connectionInfo = ({ type: 'mysql', name: 'mysql',..
express router의 next() 관련... express의 router() 함수의 next 인자는 주로 미들웨어에서 사용되는데, 이 함수를 실행하면 다음 미들웨어로 넘어가는 역할을 한다. //console log가 실행됨 var myLogger = function (req, res, next) { next(); console.log('LOGGED'); }; //console log가 실행되지 않음 var myLogger = function (req, res, next) { return next(); console.log('LOGGED'); }; 그러나 next() 하단에 코드를 남길 경우, next()로 넘어간 후에도 남은 코드들이 실행된다. 이를 방지하기 위해서는 아래처럼 return을 붙여주면 된다.
vue.js 디렉티브 기초 vue.js 디렉티브 기초 v-bind : html 속성과 js의 값을 연결해준다. 동적으로 값에 따라 클래스를 추가하거나 삭제하는 등의 응용이 가능하다. 즉 jQuery의 addClass() 따위를 쓸 필요가 없다는 것. v-for : 반복적으로 태그를 생성한다. 이 때 :key를 붙이면 성능이 올라간다. 이는 연산 시에 원하는 태그를 빠르게 찾을 수 있기 때문인데, 이 이유로 인해 key는 유일성을 가지는 것이 좋다. 또한 key는 string이나 number로 하는 것이 좋다. 안그러면 Avoid using non-primitive value as key, use string/number value instead 이런 warning이 콘솔에 뜬다.
Vue.js 특징 vue.js 특징 양방향 바인딩 한번 view와 model data를 연결해 놓으면 어디서 바꾸든 반대쪽도 같이 변한다. 디버그가 모호함 버그나 warning이 났을 때 해당 문제가 어디서 발생했는지 명확하게 콘솔에서 알려주지 않아서 찾는데 좀 더 시간이 걸린다. 한 파일에 html, css, js가 모두 들어가 있음. CSS의 경우 scoped를 설정해 주면 해당 컴포넌트에만 CSS가 적용됨. 기본적으로 지원되는 기능이 React 보다 많음 컴포넌트에서의 root element는 하나만 허용됨.