Web Programming

mysql 모듈에서 pool을 사용한 다음 release를 하지 않아도 된다.

이슈(https://github.com/mysqljs/mysql/issues/1202)를 참고하면, 

yes. pool.query() is shortcut for pool.getConnection() + connection.query() + connection.release() - see https://github.com/felixge/node-mysql/blob/master/lib/Pool.js#L194-L207

아래와 같이 답변이 있다.

pool.query()는 getConnection()과 query, 커넥션 release가 포함되어있다는 내용이다.

'Web Programming > Node.js' 카테고리의 다른 글

mysql에서 pool query 후 release 하기  (0) 2018.12.04
Express.js IP 구하기  (0) 2018.07.03
간단한 express서버 만들기  (0) 2017.08.15

Nuxt.js에서 Dynamic Routes를 사용하고 그대로 배포하면 404페이지가 뜨게 됩니다.

이 경우에는 파이어 베이스의 설정을 변경하면 됩니다.


hosting 폴더에 있는 firebase.json 파일을 아래와 같이 고쳐주세요.

"rewrites":[
{
"source":"**/*",
"destination": "/index.html"
}
]

일반 경로(예: /login 등)를 제외하고는 index.html로 연결됩니다. 그러면 이제 nuxt.js에서 라우팅 처리를 하게됩니다.



'Web Programming' 카테고리의 다른 글

firebase에서 nuxt.js dynamic routes 사용하기  (0) 2018.10.23
심플한 로그인 및 회원가입  (0) 2018.09.22
const zero = num => num < 10 && num >= 0 ? "0" + num : num;
const dateKo = date => `${date.getFullYear()}${zero(date.getMonth() + 1)}${zero(date.getDate())}${zero(date.getHours())}${zero(date.getMinutes())}${zero(date.getSeconds())}초`;

자바스크립트 날짜(Date)를 한글로 표시하는 함수입니다.

xxxx년 xx월 xx일 xx시 xx분 xx초로 나오게 합니다. 인자값의 타입은 Date입니다.

const zero = num => num < 10 && num >= 0 ? "0" + num : num;

0 이상 10 미만이면 숫자의 앞에다가 0을 붙여주는 함수 입니다.

Vue.js에서 배열이나 오브젝트의  v-for은 정말 짜증나는 관계가 아닐 수가 없습니다.


Vue.js 2를 기준으로, 배열이나 오브젝트는 감시가 불가능합니다.

그리고 이는 매우 더러운 코드를 양산하게 되는 이유가 됩니다.


배열이나 오브젝트의 감시를 위해서는 Vue.set(vm.$set) 또는 array.splice를 반드시 써야합니다.

안 쓰면 감시가 안됩니다.


한마디로, v-for을 사용할 때, v-for의 데이터를 바꾸는 일이 생긴다면, 반드시 주의해야할 부분입니다.


단순히 this.oldValue = newValue;로는 절대로 리 랜더링이 되지 않습니다.


다행이도 Vue.js 3.0에는 객체 감시 시스템을 바꿔서 된다고는 하니, Vue.js 3.0을 기다리는 수 밖에 없습니다.

CSS에서의 vh와 vw

2018.09.26 01:46

vh : Viewport Height

vw : Viewport Width


예를 들어 화면을 꽉 채우고 싶을 때(Content의 넓이가 100%가 안되더라도) 

width: 100vw;

height: 100vh; 

로 하면 보이는 화면의 100%로 된다.

즉 1vw와 1vh는 각각 가로 1%와 세로 1%이다.


'Web Programming > 디자인' 카테고리의 다른 글

CSS에서의 vh와 vw  (0) 2018.09.26


Vue.js와 HTML, CSS만을 이용해서 로그인 & 회원가입 화면.

최근에 디자인 공부 열심히 하고있다.

'Web Programming' 카테고리의 다른 글

firebase에서 nuxt.js dynamic routes 사용하기  (0) 2018.10.23
심플한 로그인 및 회원가입  (0) 2018.09.22

https://github.com/webpack-contrib/webpack-command/blob/master/README.md의 Differences With webpack-cli 항목을 2018년 8월 3일에 번역하였습니다. 의역이 포함되어 있습니다.

webpack-command는 webpack-cli와 동등성을 목표로 하지만, 주목할 만한 차이가 있습니다. 이러한 차이점에는 이 모듈에 webpack CLI를 제공하는 최소한의 명령만 포함되어 있다는 점이 포함됩니다. 초기 설정, 마이그레이션 및 업데이트와 같은 명령은 사용자가 설치한 개별 모듈로 이전됩니다. 


webpack-cli를 사용했었다면 아래와 같은 차이에 주의해야 합니다.

--env 플래그는 사용할 수 없습니다. (The --env Flag is Nuked)

환경변수(Environment Variables)는 매우 오랫동안 사용되어 왔습니다. webpack-cli는 사용자가 flag를 통해 환경변수를 지정할 수 있지만, webpack-command는 해당 기능을 포함하지 않습니다. 대신에 사용자는 환경변수를 기존의 표준 방식으로 사용해야 합니다.

$ NEAT_VAR=woo webpack ...

process.env로 값에 접근하세요. 대신에 사용자가 크로스 플랫폼간 환경변수 (cross-platform environment variables)를 필요로 한다면, cross-env 와 같은 도구를 활용해야합니다.

key=value는 지원되지 않습니다.

webpack-cli로 전달되는 플래그는 --entry name=file같은 문법을 허용합니다. 그러나 이 모듈은 CLI 표준 접근 방식을 채택하여 --flag.key value를 대신 사용하며, key=value문법을 허용하지 않습니다.

항목(Entry)

플래그(--flag또는 입력(webpack <file>)으로 항목을 지정하려면 지정된 파일 또는 디렉터리가 있어야합니다.

쉼표로 구분된 값으로 전달되는 --entry file,file2는 더 이상 사용되지 않으므로 CLI 표준인--entry file --entry file2 문법을 사용하도록 마이그레이션 해야합니다.

--entry name=file을 사용하여 webpack-cli에서 플래그로 전달되었던 항목은 이제 --entry.name file문법을 사용하도록 마이그레이션 해야합니다.

별칭(Alias)

webpack-cli에서 --resolve-alias alias=value같이 전달되었던 별칭은 --resolve-alias.{alias} {value} 문법으로 마이그레이션 해야합니다.

로더 별칭(Loader Alias)

webpack-cli에서 --resolve-loader-alias alias=value같이 전달되었던 로더 별칭은 --resolve-loader-alias.alias value 문법으로 마이그레이션 해야합니다.



오역에 대해서는 댓글로 알려주세요.

이번에 만든 함수는 checkRequest라는 함수이다.

이 함수는 예를들면 POST요청이 들어왔을 때, sessionkey에 접근해서 데이터를 불러와야한다면, 사용자의 요청에 session key가 있는지 검사를 해야한다. 근데 이러한 요청 인자가 한 두개가 아니라면, if문이 너무 길어지게 된다. 그래서 만든 함수가 아래와 같은 함수이다.

위의 함수에서 data는 Object.keys(req.body)이고, keys는 접근해야하는 key값의 목록이다.


위의 예시를 이용해 함수를 호출한다 하면, checkRequest(Object.keys(req.body), ['session', 'key'])이다. 


위의 함수의 원리를 살펴보자면, 먼저, data 안에 keys의 값을 하나씩 뽑은 값이 있는지 확인하고 이를 반환하여 배열로 만든다. 두번째로는 이 배열에 false 값, 즉 요구하는 값들이 없는 경우가 하나라도 있으면 true를 반환하게 된다.


왜 true를 반환하냐면 if문으로 true경우 잘못된 데이터를 인식하게 하면 되기 때문이다. !을 굳이 붙일 필요가 없다!




'Web Programming > Typescript' 카테고리의 다른 글

checkRequest- 요청이 올바른지 검사하는 함수  (0) 2018.07.03

Express.js IP 구하기

2018.07.03 14:04

Express.js에서 접속자의 IP를 반환하는 함수는 아래와 같다.


const getIp = req => (req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress || req.connection.socket.remoteAddress);


Express를 사용할 때 아래코드도 덤으로 넣어주어야 한다. "app.set('trust proxy', true);


'Web Programming > Node.js' 카테고리의 다른 글

mysql에서 pool query 후 release 하기  (0) 2018.12.04
Express.js IP 구하기  (0) 2018.07.03
간단한 express서버 만들기  (0) 2017.08.15

+ Recent posts

티스토리 툴바