9월 26일 개인공부

안효빈·2022년 9월 26일
0

개인 공부

목록 보기
17/36
  1. 백준코딩꼭풁고가기

  2. index26번 리뷰하기(왜float안되나)

  3. Iaas Paas Saas 가 뭔가

  4. 시험범위 한번 싹 정리


시험범위 정리


1. 2번째 책 19페이지(버전 관리, 용어)

  • 버전 관리 : 소프트웨어를 개발할 때, 특정 목적에 따라 여러 버전으로 나누어 관리하는 것을 말한다. 보통 팀 단위로 개발중인 소프트웨어에 일정 숫자를 부여해 변경 사항이나 개선 사항이 발생할 때, 버전을 1씩 증가시켜 해당 변경 사항을 기록한다.
  • 버전 관리의 필요성 : 소프트웨어 업그레이드 시마다 어떤 오류가 발생할지 모르기때문에 추후 발생할 오류에 대비하기 위해 백업 기능을 제공해줌, 하지만 버전 관리 소프트웨어만을 믿지 말고 반드시 백업 본을 따로 만들어두거나 브랜치에서 작업하는것을 권장.

  • 버전 관리에서 사용되는 용어

저장소(Repository)파일의 현재 버전과 변경 이력 정보를 저장하는 저장소
브랜치
(Branch)
원본에서 뻗어나와 변경 사항을 기록한 임시 저장소
체크 아웃
(Check Out)
저장소에서 파일을 가져오는 행동
체크 인
(Commit)
저장소에서 가져온 파일의 수정이 끝난 경우 새로운 버전으로 갱신하는 행동, 이 때 이전에 갱신된 것이 있는 경우 충돌(Conflict)을 알려준다.
가져오기
(Import)
버전관리 되어있지 않은 로컬 저장소의 파일을 처음으로 저장소에 복사하는 것.
원상복구
(Rollback)
변경한 사항에 이상이 있을 때 원본으로 다시 소스 코드를 복귀시키는 것
합치기
(Merge)
다른 사람이 수정한 사항과 본인의 소스코드를 하나로 합치는 것.
충돌
(Conflict)
변경 사항을 반영하려고 할 때, 이전에 변경된것과 겹치는 부분


2. 2번째 책 37페이지 + GIT명령어

Git이란?

  • 로컬 저장소(Local Repository)와 원격 저장소(Remote Repository)로 나뉘어 별도 branch를 생성 후 merge하는 분산 소스형 형상 관리 기법을 통해 버전 관리를 수행하는 버전관리 소프트웨어.

  • 원본 소스를 저장할 공유 Server가 필요한 SVN과는 다르게 깃헙처럼 소스를 저장할 수 있는 원격 저장소를 제공하는 웹 사이트가 있어, 팀 프로젝트 수행 시 비용이 적게 드는 장점이 있다.


  • git에서는 원격 저장소의 master branch를 최대한 건드리지 않고 가자 브런치를 생성하여 작업 후 원본에 merge하는 방식을 쓰기 떄문에 SVN방식과 헷갈리지 않도록 한다.

Git명령어

[참조] : https://goddaehee.tistory.com/217?category=381481

여기가 사진까지 있어서 설명이 더 깔끔함.


1. git 저장소 생성 명령

  1. git init : 로컬 저장소로 사용할 폴더를 생성하여 해당 폴더로 이동한다.

  2. git status : 파일 상태 확인 명령어 이다.

2.1.파일 상태 2가지 :

1) Untracked 상태
- 단어 의미대로 '추적되지 않고 있는' 파일 이란 뜻이다. 즉 파일을 생성한 후 한번도 add 하지 않은 상태.

2) Tracked 상태
- 파일이 Git에 의해 그 변동사항이 추적되는 상태이다. 이 상태는 또 특성에 따라 3가지로 나뉜다

2.1) Staged 상태 : 파일 수정 후 staging area에 올라가 있는 상태
2.2) Unmodified 상태 : 현재 파일이 최신 커밋 파일과 비교하여 바뀐게 없는 상태
2.3) Modified 상태 : 현재 파일이 최신 커밋 파일과 비교하여 바뀐게 있는 상태
출처: https://goddaehee.tistory.com/217?category=381481 [갓대희의 작은공간:티스토리]


2. git 저장소에 파일추가 및 커밋 명령

▶ Git의 4가지 영역

1) Working Directory (작업영역)
 - 실제 프로젝트 디렉토리
 - .git 이력과 관련 정보가 저장 된 .git을 제외한 모든 영역
 - 실제 코드의 추가, 수정, 삭제 작업이 이루어지는 영역
 
2) Repository (저장소)
 - 파일, 폴더를 변경 이력별로 저장해 두는 곳
 - .git 디렉토리내 존재하며 2가지로 나뉜다.
 - 2.1) Local Repository : 개인 PC에 파일이 저장되는 개인 저장소
 - 2.2) Remote Repository : 원격 저장소 전용 서버에서 관리되며, 여러 사람들과 같이 공유도 가능한 저장소
 
3) Index (Staging Area)
 - Working Directory에서 Repository로 정보 저장 전 준비 영역
 - 파일 상태를 기록, 스테이징 한다고 표현 한다.
 - .git/index 파일로 관리된다.
 - 3.1) git add : Working Directory 에서 Index 영역으로 정보가 저장됨.
 - 3.2) git commit : Index영역에서 Repository로 정보가 저장됨.
 
4) Stash
 - 위의 3가지 영역과 다른 별개의 임시 영역
 - 임시적으로 작업사항을 저장해두고 나중에 꺼내올 수 있다.

1. git add : Index에 파일 추가 하는 명령어 이다.

2. git rm : Remove

3. git commit : 변경사항 확정에 사용하는 명령어이다.

  1. git log : commit history 확인
  2. git diff : 차이를 확인하는 명령어
  3. git reset [옵션][커밋id] : 과거 커밋으로 돌아가고 싶을때 사용한다.
  4. git tag : 우리는 커밋 메세지를 통해 관련 정보를 남기고 있지만, 다른 커밋보다 좀더 중요한 경우 태그(tag)를 추가로 달 수 있다.

대충 뭔지만 파악하고 세부적인 문법은 더 확인해야함


3. 가상화와 클라우드(흰책응용sw 17p)

가상화

  • 가상화는 하나의 PC에 여러개의 운영체제를 설치하여 각각이 독립되게 작동하며, 한정된 하드웨어 자원으로 보다높은 효율을 뽑아낼 수 있도록 하는 작업.

클라우드

  • 인터넷 기반에서 구동되는 컴퓨팅 기술을 의미한다. 클라우드 컴퓨팅을 이용하면 응용 프로그램을 필요에 따라 불러 사용하고, 데이터를 손쉽게 저장 및 추출할 수가 있다.

  • 인터넷 상의 가상화된 서버에 프로그램을 두고 필요할때마다 컴퓨터나 스마트폰 등에 불러와 사용하는 서비스

aaS들(as a Service)

"서비스형(as-a-Service)"이라는 용어는 제3사에서 클라우드 컴퓨팅 서비스를 제공한다는 의미입니다. 따라서 사용자는 코드, 고객 관계 관리와 같은 더 중요한 업무에 집중할 수 있습니다. 각 유형의 클라우드 컴퓨팅을 활용하면 관리해야 할 온프레미스 인프라가 지속적으로 감소합니다.

  1. IaaS(Infrastructure as a Service) : 웹상에서 구글, 아마존, MS 등이 제공하는 환경의 네트워크, 보안, 데이터 저장소, 콘텐츠 딜리버리 서비스를 포함한 다양한 인프라를 임대하여 이용할 수 있는 서비스

  2. PaaS(Platform as a Service) : 운영체제가 이미 구성되어있는 상태에서 사용자는 데이터와 애플리케이션만 직접 관리할 수 있는 서비스

  3. SaaS(Software as a Service) : 인프라와 운영체제 뿐만 아니라 사용할수 있는 소프트웨어까지 갖추어져 웹상의 로그인만으로 다양한 소프트웨어를 사용한 만큼 비용을 지불해가며 사용할 수 있는 서비스

그림으로 봐야 이해쉬움

약자로 외워도 앞글자는 뭔지 알고있어야함(인프라, 플랫폼, 소프트웨어)

SaaS는 내가 하는 폰게임처럼 이미 Application까지 전부 구현되어있는것

PaaS는 데이터와 Application이전단계까지만 구현되어있고 Data, Application 두개는 내가 직접 짜야함

IaaS는 서버, 저장소, 네트워크 등 하드웨어적인 부분까지만 아마존같은데서 관리해주고 나머지는 운영체제부터해서 내가 전부 올려야함

가상화도 나중에 다시 공부해야함, 여러 운영체제 굴리는거 외에도 또 있음


4. 데이터 베이스(흰책24p, 30p)

데이터베이스 관리 시스템(DBMS)

  • 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백억, 복구, 보안 등의 기능을 지원하는 소프트웨어이다.

DBMS의 특징

  1. 데이터 무결성 : 부적절한 자료가 입력되어 동일한 내용에 대하여 서로 다른 데이터가 저장되는것을 허용하지 않음.

  2. 데이터 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함없이 일정

  3. 데이터 회복성 : 장애가 발생하였을 시 특정 상태로 복구되어야 하는 성질

  4. 데이터 보안성 : 불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질

  5. 데이터 효율성 : 응답 시간, 저장 공간 활용 등이 최적화되어 사용자, 소프트웨어, 시스템 등의요구 조건을 만족시켜야 하는성질.

무결성, 일관성, 회복성, 보안성, 효율성

ERD(이건 그냥 흰책보는게 나음)

  • ERD가 뭔가 = 업무 분석 결과로 도출된 실체(엔티티)와 엔티티간의 관계(Relationship)를 대충 그림으로 그려낸것(도식화)
  • ER모델 : ERD를 그리기 전에 대충 한번 그려놓는 것

그림그리는거 어차피 시험에 못냄

  • 엔티티(Entity) : 그림에서 사각형으로 나타내는 것. 사물 또는 사건을 의미하며 개체라고 부름, 가능한 한 대문자를 이용해서 단수형으로 이름짓는다, 유일한 단어로 정함.
  • 속성(Attribute) : 엔티티가 가지고 있는 요소, 성질 속성은 선으로 연결된 동그라미로 표기(Chen Model)하거나 표 형식으로 표기(Crow's Foot Model)하기도 한다. 관계형 데이터베이스 활용을 위해서는 Crow's가 편함

  • 엔티티, 속성, 관계의 예

튜플은 그냥 수정 못하는 ArrayList라고 보면 됨. 데이터를 막 담아놓은 배열.


네트워크

  • 내일함

profile
다들 화이팅

0개의 댓글