1. 버전 관리

  • 소프트웨어 개발 시에 여러 버전으로 나누어 관리하는것

  • 버전관리가 필요한 이유는 업그레이드때마다 발생할 오류에 대처하기위해서, 오류발생시 롤백하기 위해, 문제해결을 위해 히스토리를 남겨둠

  • conflict(충돌), Merge(다른사람이 수정한 사항과 본인 코드를 합침), Branch(원본에서 뻗어나와 변경사항을 기록한 임시 저장소), 외에 Repository, Commit 등 용어 한번 보기.

https://backlog.com/git-tutorial/kr/stepup/stepup1_1.html

브랜치 개념 참고용


2. GIT

  • git로컬저장소(내컴퓨터)와 원격저장소(깃허브, 같이일하는사람들끼리 코드 모으는곳)로 나뉘어 별도 브랜치를 생성 후 merge하는 분산 소스형 형상 관리 기법을 통해 버전 관리를 수행하는 버전관리 소프트웨어.

SVN과 깃의 차이점(둘 다 같은 버전관리용 소프트웨어)

  • SVN은 저장소 하나에 여럿이 달라붙어서 각자 개발하고 그걸 배포

  • git은 각자의 컴퓨터에서 브랜치를 따간 후 개발후 마스터 브랜치에 합치고 그걸 배포함. 근데 마스터 브랜치에 합치기 전에 깃 관리자의 승인을 받음.

GIT 명령어(수업시간에 한거)

추가로 VIM (파일명) = 파일 편집

VIM 후 'I' 'A' 입력시 편집 모드 시작, 편집 후 종료하려면 ESC - :wq입력


3. 가상화와 클라우드

가상화

  • 하나의 PC로 여러 운영체제를 설치하고 독립되게 작동시킴, 경제성 굿

클라우드

  • IaaS : 운영체제,미들웨어부터 인프라 직접 구상, 제공할 서비스와 서버까지 직접(Infrastructure)

  • PaaS : 제공할 서비스와 데이터서버까지 직접(Platform)

  • SaaS : 그냥 만들어진걸 즐기기만 하는거(Software)

  • "클라우드"는 인터넷을 통해 액세스할 수 있는 서버와 이러한 서버에서 작동하는 소프트웨어와 데이터베이스를 의미합니다.


4. 데이터베이스

DBMS

  • 데이터베이스를 관리하기 위해 만들어진 소프트웨어

  • 데이터 무결성,일관성,회복성,보안성,효율성 등이 있음(일관성 = 삽입,삭제,갱신,생성 후에도 저장된 데이터가 변함없이 일정)

ERD(책보는게 나음)

  • 업무 분석 결과로 도출된 엔티티(실체)와 엔티티관의 관계를 대충 그림으로 그려낸것

  • 그림그리는거 시험에 못냄

  • 대충 어떤 서비스에 회원이 있으면 회원 각각을 인스턴스, 그걸 포함한 회원들 자체를 엔티티라고 함.

  • 그 회원들의 이름, 나이, 성별 등등을 속성이라고 함

  • 회원과 운동기구라는 각각의 엔티티가 있다면 그 사이의 관계를 Relationship이라 한다.


5. 네트워크

  • WAN(Wide Area Network) : 회선 교환 방식과 패킷 교환 방식이 있음, 전송거리가 넓고 라우팅 알고리즘을 필요로 함, LAN대비 에러율이 높고 전송지연이 크다.

회선 교환 방식 : 전용 선을 활용하여 데이터 전달 경로가 정해진 후 동일 경로로 고정된 대역폭을 통해 안정적으로 전송하는 방식.

패킷 교환 방식 : 패킷이라는 단위를 사용하여 데이터를 송수신한다.
(패킷 : 정보를 일정 크기로 분할한 뒤에 송수신 주소와 부가정보를 입력한 단위)

  • LAN(local area network) : 한 지역, 비교적 좁은 범위를 커버하는 네트워크
  • 네트워크 프로토콜 : 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙 시스템

  • 네트워크 프로토콜의 특징 = 동기화(송신과 수신 측의 시점을 맞추는것)

  • WAS : 동적인 페이지

  • Web Server : 정적인 페이지

IPv4

  • 네 자리에 각각 8bit(256개)의, 총 32bit의 범위를가지는 주소, 0.0.0.0~255.255.255.255까지 약 43억개의 주소가 있음.

5.1. 라우팅 알고리즘

  • 데이터를 보내는 쪽으로부터 받는쪽까지 여러가지 물리적 장치를 지나서 가는데, 이떄 최적화된 경로(Route)를 찾는 역할을 하는게 라우팅 알고리즘이다.

거리 벡터 알고리즘과 링크 상태 알고리즘

  • 거리벡터 알고리즘 : RIP에서사용, 링크상태보다 계산면에서 단순
    한번 쭉 라우터끼리 최단경로를 짜놓고, 바뀌면 전체 정보를 다시 받아서 계산하는데 이 과정에서 트래픽이 좀 낭비됨. 짧은 거리간 주로 쓰임
  • 링크 상태 알고리즘 : OSPF에서 사용, 거리벡터 알고리즘에 비해 상대적으로 계산이 복잡하지만 네트워크를 일관성있게 파악 가능, 라우터간 모든 경로를 전부 파악해놓고 라우터가 업데이트될떄를 대비해 대체경로까지 미리 마련해둠.

인프라 구축 환경

  1. 온프레미스(on-premise)방식 : 인트라넷 망을 이용해 직접 서버컴퓨터까지 마련해서 개발환경을 구축하는 방식. 초기투자비용이 많이 들고 트래픽이 급증할 시에 대처가 어려워 경제성이 많이 떨어진다. 보안성은 좋음
  1. 클라우드 방식 : 아마존, 구글 등 공급서비스 회사들의 서비스를 임대하여 개발환경을 구축하는 방식, 장비 초기투자비용이 들지 않아 경제성이 좋은 편.
  1. 하이브리드 방식 : 둘 다 쓰는거.

6 운영체제

운영체제 종류

  • 윈도우, Mac OS X, LINUX

운영체제가 뭔가

  • 운영체제는 Operation System(OS)라고도 부르며 시스템 하드웨어(CPU, 메모리, 하드등등)를 관리하고 응용 소프트웨어를 실행할수 있도록 도와줌. 최근에는 기술의 발전에 따라 가상화를 통해 실제 하드웨어 말고도 하이퍼바이저위에서 실행되기도 함.

운영체제의 사용목적

  • 컴퓨터를 사용하는 사람들에게 편리성 효율성 제공(유저 인터페이스 제공)

I/O 모듈

  • 입출력 장치마다 취급하는 데이터 형식이 다르고 각각 연산속도도 다른데 중간에서 이걸 매개해서 동기화해주는 역할을 하는 인터페이스.
profile
다들 화이팅

2개의 댓글

comment-user-thumbnail
2022년 9월 27일

효짱... 대다내

1개의 답글
Powered by GraphCDN, the GraphQL CDN