학습 정리 76

1. 정보보호 및 컴퓨터 보안 개념

✏️ 정보보호에 대한 기본적인 개념 보안(security) : 자산의 본래 가치가 손상되지 않도록 내,외부의 각종 위협 들로부터 자산을 적절한 방법으로 보호하는 것 정보 보호 (information security) : 의도적, 비의도적(실수 및 사고) 변조, 파괴, 서비스 지체 등 불법적 노출로부터 정보를 보호하는 것 ⭐ 보안의 기본 3대 요소 (CIA) 기밀성(Confidentiality) : 인가된 사용자만 정보 자산에 대해서 접근을 허용하는 것 "무언가를 지킨다”는 일반적 보안 의미와 가장 비슷하다 위헙요소 : 도청 도난 무결성(Integrity) : 데이터가 악의적으로 변경이 되지 않는 것 “자산이 인가된, 즉 허가된 당사자에 의해서 허가된 방식으로 변경이 가능한 것” 누군가 임의로 나의 대화명..

Git 사용하기 3 - branch 만들기, 변경사항 버리기

현재 디렉토리에 있는 모든 변경 사항을 버리고 원상태로 돌아가려면 다음과 같이 입력. git restore . 브랜치 생성, 삭제 // branch 생성 git branch 이름 // 브랜치 삭제 git branch -d 브랜치명 // 브랜치명 변경하기 git branch -m 브랜치명 새브랜치명 // 브랜치 이동하기 git checkout 브랜치명 // 브랜치 생성과 이동 한번에 git checkout -b 브랜치명 //현재 브랜치 확인하기 git branch 현재 브랜치를 다른 브랜치에 덮어씌우기 git merge -Xours 덮어질브랜치명

[Node.js] MySQL 연결시 ER_NOT_SUPPORTED_AUTH_MODE 에러 원인과 해결법

1. 문제 상황 Node.js와 MySQL을 연동하려고 했더니 위와 같은 에러가 나오면서 작동하지 않았다. 2. 문제 원인 sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client', 에러 메시지 중에서 위의 문장이 문제의 원인을 알려준다. 원래 MySQL의 default_authentication_plugin(기본 인증 플러그인)은 mysql_native_password이었다. 하지만, MySQL 8부터 보안이 강화된 caching_sha2_password로 변경되면서 문제가 생긴다. 이때, MySQL 클라이언트가 아직 caching_sha2_password..

MySQL - 생활코딩 강의내용 정리

생활코딩 - DATABASE2 MySQL 강의를 듣고 공부한 내용을 정리한 게시글입니다. 데이터베이스와 SQL등 용어 정리 Database : 컴퓨터에 저장되는 구조화된 정보 또는 조직화된 데이터의 모음 SQL : Structured Query Language의 약자로, 데이터베이스 시스템에서 자료를 처리하는 데 사용되는 구조적(S) 데이터 질의(Q) 언어(L) TABLE : 여러 종류의 데이터를 보기 좋게 정리하여 보여주는 것, 가로(=x축)가 행(row), 세로(=y축)가 열(column) → 데이터베이스에서는 행이 하나의 DATA, 열이 DATA의 타입(or 구조)로 취급된다. MySQL의 구조 - 표(table) : 데이터의 기본 저장 구조 - 스키마(schema=database) : 표의 연관된..

Git 사용하기 2 - 버전관리

알아둬야 할 용어 ( head, master, branch, origin의 의미 ) 1. head : 현재 작업하는 공간 ( 하드디스크의 헤드를 떠올리면 된다. ) 2. master : 브랜치 중 가장 중심이 되는 기본 branch 3. branch : 커밋 사이를 가볍게 이동할 수 있는 어떤 포인터 같은 것 → 만들어 놓은 기존 버전(master)의 복사본(branch)을 만들어 다른 방향으로 작업할 수 있다. 4. origin : 원격 저장소의 이름 → 일반적으로 초기 설정시 Github repository를 연결시켜놓는다. https://sirius7.tistory.com/37 Git 사용하기 1 - Git 설치와 Github 연동 Git 설치와 초기 설정 1. Git 설치하기 : https://g..

Git 사용하기 1 - Git 설치와 Github 연동

Git 설치와 초기 설정 1. Git 설치하기 : https://git-scm.com/ Git git-scm.com 2. 설치 완료 후 Git bash 열기 3. Git bash에서 초기 설정 git config --global user.name "your_name" // 이름 설정 git config --global user.email "your_email"// 이메일 설정 * 이메일은 Github에서 사용하는 이메일을 쓰면 된다. 프로젝트 Github에 연동하기 1. (VScode 기준) 연동 원하는 프로젝트를 열고, 터미널(T) 탭 > 새 터미널 클릭 2. 아래 명령어 입력 (최초 1회만) → 새 git 저장소를 만드는 것 git init 3. 원하는 파일 추가 → 준비영역(INDEX)에 추가 gi..

[C] 백준 4884번 - FIFA 월드컵

https://www.acmicpc.net/problem/4884 4884번: FIFA 월드컵 FIFA는 월드컵의 대회 형식을 약간 수정하려고 한다. 현재, 월드컵은 32개팀이 참가하며, 2개의 라운드로 이루어져 있다. 첫 번째 라운드는 조별 리그이고, 32개팀은 8개의 조에 배정된다. 각 팀은 www.acmicpc.net (22.03.06) 4884번: FIFA 월드컵 - C언어 풀이 [소스코드] #pragma warning(disable:4996) #include #include int main() { long long g, a, t, d; scanf("%ld %ld %ld %ld", &g, &t, &a, &d); while (1) { if (g == -1 && t == -1 && a == -1 &&..

[C] 백준 1018번 - 체스판 다시 칠하기

https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net (21.11.13) 1018번: 체스판 다시 칠하기 - C언어 풀이 [소스코드] #include // [baekjoon] 1018번 - 체스판 다시 칠하기 int main(void) { char ar[51][51] = { 0 }; int n, m; scanf("%d %d", &n, &m); getchar(); //체스판 입력 for (int i = 0; i < n; i++) { for (i..

[C] 백준 16926번 - 배열 돌리기1

https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net (21.11.07) 16926번: 배열 돌리기1 - C언어 풀이 [소스코드] #pragma warning(disable:4996) #include // [baekjoon] 16926번 - 배열 돌리기1 int main() { int n, m, r; scanf("%d %d %d", &n, &m, &r); ..

[C] 백준 1100번 - 하얀 칸

https://www.acmicpc.net/problem/1100 1100번: 하얀 칸 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램 www.acmicpc.net (21.11.05) 1100번: 하얀 칸 - C언어 풀이 [소스코드] #pragma warning(disable:4996) #include // [baekjoon] 1100번 - 하얀 칸 int main() { int cnt = 0;// 말의 개수 저장 char ar[9] = { 0 };// 체스판의 상태 저장 for (int i = 0; i < 8; i++) { scanf("%s", ar); ..