mysql2, express 라이브러리 사용
연결 속성
const connect = mysql.createConnection({
host: 'AWS RDS 엔드포인트',
user: 'AWS RDS 계정 명',
password: 'WS RDS 비밀번호',
database: '연결할 MySQL DB 이름',
})
const app = express();
const PORT = 3017;나는 AWS RDS에서 대여받았기 때문에 해당 데이터베이스의 db명과 계정, 주소를 사용했다.app.js 생성
table
구동중인 백엔드 DB에서 사용되는 쿼리를 조작하여 데이터베이스를 대상으로 악의적인 행위를 할 수 있는 Injection 기반의 웹 취약점.
nodemon app.js
package.json에도 nodemon 스크립트 등록함!
...
"scripts": {
"dev" : "nodemon app.js"
};
또 인썸니아를 써야해...
왔다갔다하면서 테스트하기 불편하다 그렇지만 확인하려면 어쩔 수 없겠지...
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
//내가 짠 코드
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
const n = data.split(" ");
const a = Number(n[0]), b = Number(n[1]);
for(row = 0; row < b; row++){
console.log('*'.repeat(a));
}
});
처음 보는 형식의 함수라 이게 뭔가 했다. return 대신 콘솔로 찍히는 걸 확인하고 일단 풀어봤다. 답이 직사각형 형식으로 나온다고 해서 줄바꿈을 넣어줘야 하는지 엄청나게 고민했는데, 그런 건 필요없고 그냥 콘솔 로그를 세로 길이만큼 찍어주니까 정답이더라...허망하다... 왜 이런 구조로 나왔나 했더니 이렇게 console.log를 여러번 찍어서 답을 내야 해서 그런 것 같다. return시키면 바로 종료되니까. (이래서인지는 확실치 않음)
별개로 process.stdin이 뭔지 좀 찾아봤음. Node.js에서 기본적으로 제공되는 스트림 객체라고 한다. 키보드로 입력된 데이터를 읽어들일 때 사용한다는데 아직 정확히 어떻게 사용하는 건지 감이 잡히진 않는다.
//예제 코드
process.stdin.setEncoding('utf8'); // 입력 데이터 인코딩 설정
process.stdin.on('data', (data) => {
console.log(`입력받은 데이터: ${data}`);
// 여기에서 데이터를 처리하거나 원하는 작업 수행
});
console.log('프로그램을 실행합니다. 사용자로부터 입력을 기다립니다.');
노드에서 쓰는 객체라고 하니까 공부하다보면 나오겠지?