Javascript
-
Node.js 와 MySQL 8.0.11 연동 (with Sequelize)Javascript/Node 2019. 10. 9. 19:49
Node.js 를 학습해보기 위해 Express 로 프로젝트를 생성하였습니다. 그리고 데이터베이스 연동을 위해 Docker로 MySQL 8 컨테이너를 생성하여 서버와 커넥션을 시도하니 다음과 같은 에러 메시지가 나타났습니다. 데이터베이스와의 연동은 ORM 인 Sequelize 로 시도하였습니다. 해당 에러의 원인은 사용자의 암호 인증과 관련되어있었습니다. MySQL 8.0 에서는 사용자 인증 방법이 caching_sha2_password 만 사용하도록 되었습니다. 그래서 기존의 커넥터에서 사용하는 인증 방법으로 커넥션을 시도하면 인증이 제대로 되지 않는 것이었습니다. 위 문제를 해결하기 위해서는 MySQL에 강제로 mysql_native_password 를 사용할 수 있도록 변경해주어야 합니다. (사실 ..
-
[Vue] Directive hookJavascript/Vue.js 2019. 9. 13. 14:23
bind(el, binding, vnode) Directive 가 엘리먼트에 처음 바인딩 될 때 한 번만 호출됩니다. inserted(el, binding, vnode) 바인딩된 엘리먼트가 부모 노드에 삽되었을 때 호출됩니다. update(el, binding, vnode, oldVnode) 컴포넌트가 업데이트되고난 후에 호출됩니다. 자식 컴포넌트는 아직 업데이트 되기 전에 호출됩니다. 새로운 가상돔과 이전의 가상돔을 파라미터로 받습니다. componentUpdated(el, binding, vnode, oldVnode) 컴포넌트가 업데이트되고난 후에 호출되지만 update hook과 다르게 자식 컴포넌트까지 업데이트된 후에 호출됩니다. unbind(el, binding, vnode) 디렉티브가 엘리먼트..
-
[Vue] LifecycleJavascript/Vue.js 2019. 9. 1. 11:44
Vue의 라이프 사이클 훅 Creation 1. beforeCreate 인스턴스가 생성되고 가장 먼저 실행된다. 아직 data와 event 속성이 설정되기 전이기 때문에 data와 event 객체에는 접근할 수 없다. 2. created data와 event 속성이 설정된 상태로 정의된 값에 접근하여 로직을 수행할 수 있다. 하지만 아직 template 속성과 Virtual DOM이 렌더링 되지 않은 상태이다. Mounting 1. beforeMount 템플릿 및 코드들이 렌더링 되기 직전에 호출된다. 2. mounted 컴포넌트, 템플릿, DOM이 모두 렌더링 된 후에 호출된다. 컴포넌트 구성 요소의 데이터를 조작할 수 있다. 다만 모든 자식 컴포넌트가 렌더링 되어 있지 않을 수 있기 때..