JavaScript
onkeyup
: 키를 눌렀다가 떼는 순간 발생
onchange
: 내용 입력 후 포커스 해제한 순간
onpaste
: 붙여넣기 한 순간
Docker
노드js 도커파일
# 최신 node 이미지로 부터 시작
FROM node
# Working Directory 지정
# 도커 컨테이너의 작업폴더를 지정
WORKDIR /usr/src/app
# COPY package.json ./
# 앞의 ./는 HOST OS의 현재 폴더를 의미
# 뒤의 ./는 컨테이너의 현재 폴더(WORKDIR)를 의미
# 즉 외부에서 만들어둔 package.json 파일을 컨테이너 내부로 복사하겠다는 의미
COPY ./ ./
# node의 종속성 다운로드
# RUN 명령어는 컨테이너에서 실행
RUN npm install
# 이 컨테이너는 8080 포트를 사용한다는 의미
EXPOSE 8080
# docker run 명령에서 실행항 명령이, 이 명령어 부터는 제작타임이 아닌 런타임에서 실행됨
CMD ["node", "index.js"]
package.json
{
"name": "docker-nodejs",
"version": "1.0.0",
"description": "docker nodejs",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/your-username/your-project.git"
},
"author": "Your Name <your.email@example.com>",
"license": "MIT",
"bugs": {
"url": "https://github.com/your-username/your-project/issues"
},
"homepage": "https://github.com/your-username/your-project#readme",
"dependencies": {
"express":"^4.17.1"
},
"devDependencies": {
}
}
index.js
const express = require("express");
const port = "8080";
const app = express();
app.get("/", (req, res) => {
res.send("Hello Node");
});
app.listen(port);
console.log(`server running on ${port}`);
이미지 생성
docker build -t node_hello_1 .
컨테이너 실행
docker run --name=node_1 -p 8080:8080 --rm -d node_hello_1
도커파일을 통해 이미지를 생성하면 모든 컨테이너에 동일한 환경을 부여하는 것이 용이해 진다.
도커허브에 이미지를 올릴 때에는 태그형식을 맞춰야한다.
작성자/이미지이름:버전
태그 지정
docker tag node_hello_1 jzakka/node_hello_1:1
허브에 올리기
docker push jzakka/node_hello_1:1
허브에서 내려받기
docker pull jzakka/node_hello_1:1
JPA
연관된 객체의 username으로 조회
List<LikeablePerson> findByToInstaMember_Username(String username);
ToInstaMember
엔티티의 username
속성을 기준으로 LikeablePerson
을 조회한다.