본문 바로가기

728x90

개발공부

(53)
CS 강의 9. OSI 7계층 출처 : 내일배움캠프 1. 네트워크의 기본구조 1 - 1. 네트워크 - 네트워크 : 정보가 전송되는 경로 => 이러한 네트워크로 전세계 모든 컴퓨터를 연결하기 위해 1. 통신 장비 :어떻게 연결할지 2. 통신 역할 : 각 장비가 어떤 역할을 할지 3. 통신 규칙 : 각 장비는 서로 어떤 규칙을 가지고 정보를 주고 받을지 이 필요하다 LAN vs WAN 1) LAN : 사무실이나 빌딩 등 비교적 좁은 범위의 네트워크 2) WAN : 서로 떨어진 LAN 사이를 전용선 등으로 연결한 광역 네트워크 ~ 와이파이 공유기의 인터넷 선이 WAN 포트 ~ WAN으로 건물과 통신사 중계기(ISP), 나아가 네트워크 시스템(SDN)을 연결한다 1 - 2. 클라이언트와 서버 클라이언트 vs 서버 - 클라이언트 : 네트워크 ..
CS 강의 8. 자료구조의 동작과 활용 출처 : 내일배움캠프 0. 자료와 자료구조 0 - 1. 텍스트 자료의 표현 1) 아스키 코드 2) 유니코드 & UTF-8 0 - 2. 숫자 자료의 표현 1) 부호 없는 정수 2) 부호 있는 정수 3) 실수 0 - 3. 선형/비선형 자료구조 텍스트와 숫자 자료보다 더 복잡한 데이터를 저장하고 연산하기 위해서 다양한 자료구조가 필요하다. 큰 데이터를 단순한 자료 구조에 할당이 어렵고, 저장해도 데이터의 삽입/삭제가 어려워 정렬도 어렵다. 그래서 등장한 자료구조를 선형/비선형 구조라고 한다 선형 자료구조 - 데이터가 저장 순서대로 저장되는 자료구조 - 배열, 연결 리스트, 스택, 큐 - 배열은 데이터를 연속적인 메모리 공간에 저장하는 자료구조 - 연결 리스트는 데이터가 노드로 연결된 형태로 저장되는 자료구조 ..
CS 강의 7. 자료의 저장과 표현 출처 : 내일배움캠프 1. 비트와 바이트 1 - 1. 이진수 체계 - 0과 1만 사용해 수를 나타내는 체계. 각 자리는 2의 거듭제곱으로 컴퓨터 시스템에서 메모리와 프로세서는 0과 1의 상태를 쉽게 표현하고 처리할 수 있어, 이진수를 사용해 데이터를 저장하고 연산을 수행한다. 논리 게이트는 이진수의 입력과 출력을 기반으로 논리적인 연산을 수행하며, 이진수는 논리 연산의 진리값을 표현하는 데 사용된다 1 - 2. 비트 비트는 이진수 체계에서 0과 1 두가지 값을 가질 수 있는 최소한의 단위. 여러 비트를 조합해 복잡한 정보를 나타낼 수 있다. 8비트는 256가지의 조합을 나타낼 수 있다. 텍스트, 숫자, 이미지, 음악, 비디오 등 모든 정보는 비트로 변환되어 저장되고 처리된다. 컴퓨터는 비트를 이해하고 다..
CS 강의 6. DBMS의 기능과 종류 출처 : 내일배움캠프 1. DBMS 정리 1 - 1. DBMS 개요 DBMS란 데이터를 한 곳에 모은 저장소를 만들고 그 저장소에 여러 사용자가 접근해 데이터를 저장 및 관리 등의 기능을 수행하며 공유할 수 있는 환경을 제공하는 응용 소프트웨어 프로그램을 말한다 공유 저장소(서버)를 구축하고 사용자들에게 접근정보를 공유해 데이터를 처리할 수 있는 인터페이스를 제공하고 복구기능과 보안성 기능 또한 제공한다 1 - 2. DBMS 용어 1) 튜플 - 테이블에서 행을 의미 - 레코드, 로우 - 릴레이션에서 중복되는 값을 가질 수 없다. 튜플의 수는 카디널리티라고 한다 2) 어트리뷰트(Attribute) - 테이블에서 열을 의미 - 칼럼 - 어트리뷰트의 수를 의미하는 디그리(degree) 3) 릴레이션(Relat..
CS 강의 5. DB 구조와 유형 출처 : 내일배움캠프 0. 컴퓨터와 데이터베이스 컴퓨터의 여러 구조 중, 보조 기억장치는 영구 저장소로써 파일과 데이터를 저장할 수 있다. 파일은 파일시스템에, 데이터는 데이터베이스에 저장된다 0 - 1. 파일시스템 vs 데이터베이스 ex) 카카오톡 실행 파일은 파일시스템에 저장되어 있고, 카톡의 메세지 목록 등의 데이터는 DB에 저장된다 1) 파일시스템 - 개별 파일을 보관하고 정리하는 시스템으로, 여러 폴더에 파일이 저장되고 사용자는 파일을 직접 관리해야 한다 ~ 파일 정리, 처리 등에 사용자의 자원이 많이 사용된다 2) 데이터베이스 - 데이터를 구조화하고 연결하는 기능을 제공한다 - 테이블, 레코드, 필드 등의 개념을 사용해 데이터를 구성하고, 데이터를 효율적으로 관리하고 검색할 수 있다 - 데이터..
CS 강의 4. 쓰레드와 쓰레드풀 출처 : 내일배움캠프 Summary : 쓰레드는 프로세스 내 실행되는 실행 단위로, 쓰레드 풀은 쓰레드를 미리 생성하고 작업 처리에 사용되는 쓰레드의 개수를 제한한다. 그 쓰레드로 작업 큐에 있는 작업을 하나씩 처리한다. 쓰레드 풀의 장점은 쓰레드를 생성/수거할 때 비용이 들지 않고 쓰레드 풀을 미리 만들어 두기 때문에 소요되는 시스템 리소스를 최적화할 수 있다. 하지만 쓰레드 풀에 쓰레드를 너무 많이 생성하고 사용하지 않는 경우에는 메모리 누수로 이어진다 0. 프로세스와 쓰레드 0 - 1. 프로그램 실행 주체 : 프로세스 (ex : 하나의 건물(컴퓨터)에서 다양한 가게(프로세스)가 있고, 각 가게에는 주문을 처리하는 직원(쓰레드)가 있다) - 각 프로세스는 배정된 공간과 메모리가 있다 0 - 2. 작업..
CS 강의 3. 프로세스 생명주기와 프로세스 메모리 출처 : 내일배움캠프 0. 프로그램과 프로세스 0-1. 프로그램이 저장되어 있는 곳 : 보조 기억장치 0-2. 프로그램이 로딩되는 곳 : 주 기억장치 0-3. 프로그램을 실행하는 주체 : 프로세스 0-4. 작업을 처리해주는 주체 : 쓰레드 ~ 스레드는 필요시마다 생성되며, 프로세스 상세의 수는 최근 평균 쓰레드 개수 통계값 0-5. 프로세스 상태변화 복습 https://cdaosldk.tistory.com/264 CS 강의 2. CPU와 메모리 심화 출처 : 내일배움캠프 1. CU의 핵심 기능 : 스케줄링 1) 스케줄링 소개 - 프로그램을 실행하는 주체 = 프로세스 ex) 카톡 실행 - 작업을 처리하는 주체 = 스레드 ex) 카톡 메세지 송수신 CPU를 잘 사용하 cdaosldk.tistory.com 1..
9월 백엔드 챌린지 정리 : 클린 코드 (1) 1. 의미있는 이름 의도를 분명히 밝혀라 - 클래스로 정의하기 이름을 정할 때 1) 존재 이유 2) 수행 기능 3) 사용 방법 정보를 잘못 전달하지 말 것 1) 약속된 용어에 대한 사용 ex) String accountList = "송혜교, 전지현, 김태희, 고소영"; (X) -> List를 쓰는 것은 List 타입일 때 사용해야 정보를 올바르게 전달할 수 있다 2) 유사한 이름을 사용하지 않는다 3) 개념 단위로 묶을 때 유사 표기법을 사용하기 4) 구분하기 어려운 대문자/ 소문자 사용 지양 의미있게 구분하기 : 각 메서드 뒤에 1, A, B 등으로만 구분하는 것은 좋지 못한 구분이다 발음하기 쉬운 이름짓기 검색하기 쉬운 이름 사용하기 인코딩 피하기 이름에 데이터 타입을 명시하는 것은 이후 형변환 등으..

728x90