728x90

이 글은 양주종의 코딩스쿨 리눅스(Linux) 기초 강좌 30강 모음 수강하며 정리한 글입니다.

 

03강 Putty 환경 설정

 

 

CentOS7 시작 후 Putty 실행

Putty: Host Name:127.0.0.1 port 22 MyLinux -> Save -> Open

login: j passwd: j

 

⭐ Change Settings

Appearance에서 글꼴 등을 바꾸고 Session의 Saved Session에 저장

Duplicated Session: 이중창 만들기

login: j로 이중 접속이 가능하며, who 명령어를 통해서 접속 상태를 확인할 수 있음

 

 

root 사용자(#)와 일반 사용자($)의 차이

root 사용자와 일반 사용자의 차이

1. 일반 사용자는 본인 디렉토리 외의 공간에서 활동 불가

 

2. pwd 명령어는 기본 디렉토리 위치를 반환하며 기본 사용자와 root사용자는 기본 디렉토리가 상이

728x90
728x90

이 글은 뉴렉쳐 오라클 데이터베이스 SQL 강의 수강하며 정리한 글입니다.

 

01강 - 학습안내(SQL, DB, DBMS의 의미와 필요성)

 

 

🧐 DB, DBMS, SQL의 의미와 필요성

1. DataBase가 필요한 이유

행정실: 등록금 납입 관련 Data 보유

도서관: 도서 대여 관련 Data 보유

⚠️ 행정실에서 등록금 납입 후 도서관에서 도서를 대여하고자 할 경우, Data가 동기화되지 않았다면 등록금을 납입하고도 도서를 대여할 수 없는 문제가 발생

이에 Data를 각각 보유하고 있지 말고, DataBase를 둔다면

  • 데이터의 불일치를 제거할 수 있음
  • 도서관에서 갖고 있는 행정실 데이터의 중복을 없앨 수 있음

 

⚠️ 데이터의 중복과 불일치를 제거했지만, 행정실과 도서관이 각각 갖고있는 정보와 연결시키는 어려움이 발생할 수 있음

⚠️ 동시성 문제로 사용자들이 상이한 작업을 수행하고자 할 때 문제가 발생할 수 있음(수정 vs 삭제)

⚠️ 한 번에 많은 사용자들이 접속하기때문에 접근 속도 및 보안 문제가 발생할 수 있음

 

👩‍🔧 DataBase에 관리자를 두어 DataBase로의 직접 접근을 막고 발생할 수 있는 문제를 해결할 수 있음

 

 

DataBase의 관리자와의 소통을 위한 약속, SQL(Structural Query Language)

SQL: Data Base Management System에게 질의하는 명령어

 

SQL 종류

1. DDL: create/alter/drop

→ Data Definition Language, 데이터 정의어: 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어

2. DML: select/insert/update/delete

→ Data Manpulation Language, 데이터 조작어: DB 테이블에 들어있는 데이터에 변형을 가하는 종류의 명령어

3. DCL: grant/revoke

→ Data Control Language, 데이터 제어어: DB 관리자가 사용자의 DB 접근에 대한 제어하는 명령어

4. TCL: commit/rollback/savepoint

→ Transaction Control Language, 트렌젝션 제어어: DCL에서 Transaction*을 제어하는 명령어

* Transaction: 하나의 논리적인 작업 단위를 구성하는 세부적인 연산들의 집합

→ 꼭 같이 작동되거나 같이 작동되지 말아야 하는 SQL문장들을 하나로 묶어두는 것(계좌 이체 시, 출금과 입금)

 

 

 

참고 자료

📑 [DB] DDL, DML, DCL 이란?

📑 [SQL] TCL(transaction control language)이란

 

소스 코드

🔗 HJ0216/TIL/OracleSQL

 
728x90
728x90

이 글은 양주종의 코딩스쿨 리눅스(Linux) 기초 강좌 30강 모음 수강하며 정리한 글입니다.

 

02강 리눅스 원격 접속

 

 

CentOS 시작

rpm -qa | nl: 설치된 pkg 확인

원격 접속을 위해 server에 ssh 설치 및 실행 중 확인

rpm -qa | grep ssh: ssh 설치 확인

ps -ef  | grep ssh: ssh 실행 중인지 확인

ssh root@localhost: 내 컴퓨터에서 내가 나에게 접속하기

password: r

 

SSH 서비스를 이용하기 위한 포트 개방

VirtualBox - 설정 - 네트워크 - 고급 - 포트포워딩

+ 클릭 후 호스트 포트:22, 게스트 포트:22 확인

 

Putty 활용

Naver: putty download

putty.exe 실행 후, Host Name: 127.0.0.1 입력 후 open

자기 자신을 나타내는 IP address: 127.0.0.1

(putty창 글꼴 변경: Change settings - Appearance - Change)

 

Server and Client

ssh server / putty

 

SSH

Secure Shell Protocol, 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해 서로 통신을 할 때 보안적으로 안전하게 통신하기 위해 사용하는 프로토콜

 원격 저장소인 Github에 Push할 때, SSH를 활용하여 파일을 전송

AWS와 같은 클라우드 서비스를 이용할 때, AWS의 인스턴스 서버에 접속하여 해당 머신에 명령을 내리기 위해 SSH를 통한 접속이 필요

SSH는 비밀번호를 통한 접속이 아닌 한 쌍의 key를 통해 접속하려는 컴퓨터와 인증과정을 거침

Public key를 통한 암호화, Private key를 통한 복호화(암호화 해제) 진행

과정

1. 통신하고자하는 server 컴퓨터에 Public key를 복사해서 저장

2. client 컴퓨터에서 server 컴퓨터에 접속 요청을 할 때, 응답하는 server 컴퓨터에 복사된 public key와 client 컴퓨터의 private key를 비교하여 한 쌍인지 확인

3. 한 쌍의 key인 것이 확인될 경우, 해당 key쌍을 활용하여 데이터를 암호화, 복호화 과정을 거쳐 데이터를 주고 받을 수 있음

 

 

참고 자료

📑 SSH란?

📹 원격제어 - SSH란무엇인가?

728x90
728x90

발생 Error

Git Bash에서 다음 명령어를 입력할 경우,

git add .

 

this operation must be run in a work tree

Error 발생

 

 

Error 원인

.git 디렉토리 내부에서 git add .을 명령할 경우 발생

 

 

해결 방법

.git 디렉토리의 상위 디렉토리로 이동

cd ../

cd: change directory

../: 상위 디렉토리(폴더)

➡️ 현재 디렉토리에서 상위의 디렉토리로 이동

 

 

➕ 용어 정리

Working tree: 버전으로 만들어지기 전 단계의 수정된 파일들이 있는 공간
Staging Area: 버전을 만들려고하는 파일들이 있는 공간
.git(Repository): 버전이 저장되는 공간, 만들어진 버전이 있는 공간

 

 

참고 자료

📑 버전관리 실습1

 

728x90
728x90

발생 Error

Git Bash에서 다음 명령어를 입력할 경우,

git add .

 

Another git process seems to be running in this repository

Error 발생

 

 

Error 원인

같은 repository 안에서 다른 git process가 동작하고 있을 때 발생

(lock 파일이 생기는 걸 봐서는 java의 thread 구동 원리와 유사하다고 생각)

 

 

해결 방법

Git bash에서 아래와 같이 입력

rm -f ./.git/index.lock

rm: remove

-f(option): force

./: 현재 디렉토리(폴더)

.git/: .git 디렉토리

index.lock: index.lock 파일

➡️ 현재 디렉토리 하위의 .git 디렉토리 안의 index.lock 파일 강제 삭제

 

 

 

참고 자료

📑 [Git error] Another git process seems to be running in this repository

📑 Linux -rm 명령어 옵션 정리

728x90