본문 바로가기

스터디/웹개발

2022년9월22일 TIL - AWS, MySQL Workbench DB 접속 정보, 자바스크립트

220922 AWS, MySQL Workbench DB 접속 정보, 자바스크립트

DB 접속 정보


모든 데이터베이스는 접속하기 위해서 다음과 같은 정보가 순차적으로 요구된다.

  1. 데이터베이스 프로토콜 + 서버 주소(IP) + 포트 번호
  2. 데이터베이스 종류
  3. 데이터베이스 이름
  4. 데이터베이스 사용자/스키마 계정 정보

AWS 데이터베이스 - MySQL Workbench 연결

  1. MySQL Workbench 실행
  2. MySQL Connections 추가
  3. Hostname 에 엔드포인트 입력
  4. Username 에 사용자 이름 입력
  5. Password 는 DB 암호
  6. 위 세가지 정보는 라이트세일 AWS 관리 페이지 - 데이터베이스에서 확인
  7. Test Connection 을 눌러서 ‘Successfully made the MySQL connection’ 이 뜨는지 확인
  8. MySQL Workbench 에서 해당 데이터베이스 관리

자바스크립트


변수 수정하기

let change = ‘바꿔 봐’;
< undefined

change 라는 변수를 선언하고 초기화했다.

change =’바꿨다’;
< “바꿨다”

변수명에 대입 연산자를 사용해서 새로운 값을 입력. 이미 선언했기 때문에 다시 let 을 쓰면 안된다.

let change = '바꿔 봐';
< undefined

change = '바꿨다';
< "바꿨다"

변수에 넣은 값 비우기

undefined 를 대입하거나 null 을 대입한다.

change = undefined;
< nudefined

change = null;
< null

둘다 똑같지만, null 을 쓰기 권장.

다른 사람이 변수를 확인했을때 null 은 누군가가 의도가 있어서 빈 값을 넣은 것이라고 생각.

undefined 가 뜨면, 남이 바꾼건지 기본값이 없어서 undefined 가 뜬건지 모르기 때문.

변수 활용하기

변수를 다른 변수에 대입

let string2 = string;
< undefined
number = number + 3
< 8

number += 3
< 8

대입 연산자를 축약할 수 있다.

let string1 = '엄청 긴 문자열'
console.log(string1);
console.log(string1);
console.log(string1);

반복되는 작업은 웬만하면 컴퓨터한테 맡길 수 있도록 해야한다.

상수(const)와 var

상수 만들기

let 외에도 const, var 가 있다.

const 는 상수 (constant)의 줄임말이다. 변하지 않는 수이다.

const 로 선언했는데 바꾸려고 하면 에러가 뜬다.

const value2;
< Uncaught SyntaxError: Identifier 'value' has already been declared.

값을 안넣고 선언하면 에러가 난다. 값을 바꿀 수 없기 때문이다.

var

옛날에는 사용했지만 요즘에는 잘 사용하지 않는다. variable . 똑같이 변수로 저장할 수 있다.

다시 선언할 수 있다. (let에서 고침)

var undefined = 'defined';
< undefined

var Infinity = 0;
< undefined

var let = 'const'
< undefined

undefined, Infinity, let 처럼 의미가 있는 것들도 변수로 쓸 수 있다. 문제가 생기므로 let 에서 고침

var 로 짜여진 코드를 이해하기 위해서 알아두자.

조건문(if)

if (로그인한 사용자)
	정보를 보여준다;

if 뒤에 나오는 소괄호 안에 조건(식)을 넣고, 다음 줄에 동작(문)을 넣는다.

들여쓰기는 중요하지 않지만 보기 좋게 띄어 쓴다.

if 조건문의 기본 형식

if (조건식)
	동작문;

조건문은 조건식과 동작문으로 구분된다. 조건식이 참인 값이면 내부의 동작문이 실행되고, 거짓인 값이면 동작문이 실행되지 않는다.

동작문이 하나 이상이면 동작문들을 중괄호로 감싼다. if 와 (, ) 와 { 사이는 띄어도 되고 띄우지 않아도 된다.

if (조건식) {
	동작문1;
	동작문2;
	동작문3;
}
If (true) {
	 console.log('Hello, if!');
}
let condition = true;
if (condition) {
	console.log('Hello, if!');
}

!! 형변환 했을때의 값을 참고해서 true, false 가 아닌 값을 넣을 수도 있다.

else, else if, switch

else 를 사용해 두 방향으로 분기하기

if-else 문의 기본 형식

if (조건식) { // 조건식이 참인 값일 때 실행
	동작문;
} else { // 조건식이 거짓인 값일 때 실행
	동작문;
}

조건식이 거짓일 때 value 를 포도로 만들기

let value = '사과';
let condition = false; // else 문이 실행됨
if (condition) {
	value = '바나나';
} else {
	value = '포도';
}
value = '포도';

else if 를 사용해 여러 방향으로 분기하기

if-else if-else 문의 기본 형식

if (조건식) {
	동작문;
} else if (조건식) {
	동작문;
} else {
	동작문;
}

else if 문은 if 문과 else 문(생략 가능) 사이에 원하는 만큼 넣을 수 있다.

const score = 75;
if (score >= 90) { // 90점 이상
	console.log('A+');
} else if (score >= 80) { // 90점 미만 80점 이상 
	console.log('A');
} else if (score >= 70) { // 80점 미만 70점 이상
	console.log('B+');
} else if (score >= 60) { // 70점 미만 60점 이상
	console.log('B');
	} else { // 60점 미만
	console.log('F');
}

중첩 if 조건문 사용하기

if 나 else, else if 문의 중괄호 안에 동작문을 넣을 수 있다는 사실을 활용할 수 있다. 조건문도 문이기 때문에 중괄호 안에 다시 넣을 수 있다.

let first = true;
let second = false;
if (first) {
	console.log('첫 번째 조건 충족!');
	if (second) {
		console.log('두 번째 조건도 충족!');
	} else {
		console.log('두 번째 조건 불충족!');
	}
} else {
	console.log('첫 번째 조건 불충족!');
}

switch 조건문으로 분기하기

switch 문의 기본 형식

switch (조건식) {
	case 비교조건식;
		동작문;
}

switch 옆 소괄호 조건식의 값이 case 의 비교 조건식 값과 일치(===0)하면 해당 동작문이 실핸된다. 보통 조건식에 변수를 넣고, 비교 조건식에는 변수와 비교할 값을 넣는다.

let value = 'A';
switch (value) {
	case 'A':
		console.log('A');
}
let value = 'B';
switch (value) {
	case 'A':
		console.log('A');
	case 'B':
		console.log('B');
	case 'C':
		console.log('C');
}

< B
< C

B, C 가 둘다 실행된다. case 하나가 실행되고 뒤로 쭉 다 실행된다. 이를 이용할 수도 있는데.

let value = 'B';
switch (value) {
	case 'A':
		console.log('A');
		break;
	case 'B':
		console.log('B');
		break;
	case 'C':
		console.log('C');
		break;
}

< B

뒤에 break; 를 걸어주면 스위치문을 빠져나온다.

let value = 'B';
switch (value) {
	case 'A':
		console.log('A');
		break;
	case 'B':
		console.log('B');
		break;
	case 'C':
		console.log('C');
		break;
	default:
		console.log('아무것도 일치하지 않음');
}

else 랑 똑같이 모든 case 가 아니면 default 가 실행된다.

default 문이 가장 위에 있어도 된다.

조건부 연산자(삼항 연산자)

if 문과 switch 문 외에도 분기 처링레 사용하는 식이 있다. 이는 조건부 연산자 또는 삼항 연산자라고 하는 연산자로 표현한다.

조건부 연산자의 기본 형식

조건식 ? 참일 때 실행되는 식 : 거짓일 때 실행되는 식

조건부 연산자는 문이 아니라 식이기 때문에 결과값이 나온다. (if 문은 결과값이 안나오는 경우가 많다.)

5 > 0 ? '참입니다' : '거짓입니다';
< "참입니다"

연산자의 우선순위가 조건부 연산자의 우선순위보다 높기 때문에 5 > 0 이 검ㄴ저 실행되고, 이것이 조건식이 된다. 5 > 0 은 true 이므로 ‘참입니다’ 가 결괏값으로 출력된다.

조건부 연산은 보통 조건에 따라 달라지는 값을 변수에 대입하기 위해 사용한다.

let value = 5 < 0 ? '참입니다' : '거짓입니다';
< undefined

value;
< "거짓입니다"

switch 문을 if 문으로 바꿀 수 있는 것처럼 조건부 연산도 if 문으로 변경할 수 있다.

let condition = true;
let value = condition ? '참' : '거짓';
console.log(value);

if (condition) {
	value = '참';
} else {
	value = '거짓';
}
console.log(value);

if 문보다 조건부 연산이 훨씬 짧다. 이렇듯 조건부 연산은 조건문에서 짧게 줄이기 위해서도 사용한다.

조건부 연산도 중첩해서 사용할 수 있다.

let condition1 = true;
let condition2 = false;
let value = condition1 ? (condition2 ? '둘 다 참' : 'condition1 만 참') : 'condition1 이 거짓' ;

햇갈리기 쉬우므로 소괄호로 적극적으로 묶어준다.

들여쓰기로 구분해도 된다.

let value = condition1
	? condition2
		? '둘 다 참'
		: 'condition1 만 참'
	: 'condition1 이 거짓';

첫 번째 조건(condition1)이 참인 경우에 중첩된 조건부 연산에 들어갔지만, 거짓인 경우에 들어갈 수도 있다.

가독성을 위해 소괄호 연산자로 묶어주는 게 좋다.

let condition1 = false;
let condition2 = true;
let value = condition1 ? 'condition1이 참' : (condition2 ? 'condition2가 참' : '둘 다 거짓');
console.log(value);

간단한 If 문, switch 문이 조건부 연산자로 바꾸기 쉽고, 동작문 부분이 여러줄이면 바꾸기 어려운 경우도 많다.

반복문(while)

조건문과 반복문 배우면 대부분의 프로그램을 만들 수 있다.

while 문의 기본 형식

while (조건식)
	동작문;

while 문은 조건식이 참인 동안 반복해서 동작문을 실행한다. 동작문이 하나 이상인 경우에 중괄호로 묶을 수 있다. if 문과 같은 이유로 동작문이 하나더라도 중괄호로 묶어주는 것이 좋다.

while (조건식) {
	동작문 1;
	동작문 2;
	동작문 3;
}

무한반복문

while (true) {
	console.log('Hello, while!');
}
  • 무한반복되면 브라우저를 종료하거나 작업관리자에서 브라우저를 강제종료 시킨다.

반복문을 멈추려면 조건식을 false 로 만들어준다.

let i = 1;
while (i <= 100) {
	console.log('Hello, while!');
	i++;
}

i = i + 1 을 해도 되지만 간단하게 i += 1 이나 i++ 로 표현할 수 있다. i 가 101 이 되면 조건식이 false 가 되어 반복문을 멈춘다.

반복문(for)

for 문의 기본 형식

for (시작; 조건식; 종료식)
	동작문;

for 문 소괄호에는 세 가지 요소가 들어간다. 시작(식과 변수 선언이 들어간다)과 조건식과 종료식이다. 조건식과 동작문은 while 문과 같다. 동작문이 여러 개인 경우 중괄호로 묶어줄 수 있다.

조건식 → 동작문 → 종료식 순으로 반복

for (let i = 0; i < 100; i++) {
	console.log('Hello, for!);
}

비교 → console.log → i ++ 반복

while 문과 for 문 비교

// while 문
let i = 0;
while (i < 100) {
	console.log('Hello, while!');
	i++;
}

// for 문
for (let i = 0; i < 100; i++) {
	console.log(''Hello, for!');
}

for 문의 시작, 조건식, 종료식은 생략할 수 있다.

for (;;) {
}

이런 코드도 실행되는 코드다. 단 해당 코드는 무한반복 코드.

for (let i = 1; i <= 100; i++) {
	console.log(i)
}

for (let i = 0; i <= 99; i++) {
	console.log(i + 1)
}

for (let i = 0; i < 100; i++) {
	console.log(i + 1)
}

for (let i = 0; i < 100; i += 1) {
	console.log(i + 1)
}

for (let i = 0; i < 100; i = i + 1) {
	console.log(i + 1)
}

1부터 100까지 반복해서 출력하는 for 문