2. 컴퓨터 네트워크
·
Cs
1️⃣OSI 7계층: 국제 표준화 기구에서 네트워크 통신이 이뤄지는 과정을 7단계로 나눈 네트워크 표준 모델- 송신부: 데이터 송신 시 높은 계층->낮은 계층으로 전달 수신부: 데이터 송신 시 낮은 계층->높은 계층으로 전달- 데이터 캡슐화: 데이터 송신 시 각 계층에서 필요한 정보를 추가(제어 정보를 담은 헤더 or 트레일러)해 데이터를 가공하는 과정 -> 수신부의 같은 계층에서 데이터 호환성을 높이고 오류의 영향을 최소화하기 위해!- 송신부에서 데이터 캡슐화를 거친 결과물을 수신부로 보내면, 수신부는 헤더와 트레일러를 분석해 제거하는 역캡슐화 진행- 프로토콜(=통신규약): 데이터를 송수신하기 위해 정한 규칙.     (1) 1계층(물리 계층): 데이터를 비트 단위로 변환 후 전송하거나 전기 신호를 ..
1. 운영체제 (3)
·
Cs
1️⃣논리 메모리와 물리 메모리- 논리 메모리 영역(=가상 메모리 영역): 프로세스가 보는 메모리 영역- 논리 주소(=가상 주소): CPU가 프로세스를 실행하며 보는 주소 값- 물리 메모리 영역(RAM): 실제로 사용되는 메모리 영역- 물리 주소: 실제 메모리에서 사용되는 주소 값    -> 메모리 관리 장치(MMU): CPU에 위치해 논리 주소를 물리 주소로 변환시켜주는 역할을 함. CPU에서 메모리에 접근하기 전에 MMU를 거쳐 논리 주소에 해당하는 물리 주소를 얻음 -> 메모리 보호!2️⃣ 연속 메모리 할당 : 멀티 프로세스 환경에서 여러 프로세스를 메모리에 연속적으로 로드하는 방법    (1) 고정 분할 방식: 메모리 영역을 분할한 뒤 각 영역에 프로세스 할당. 분할된 영역의 크기는 서로 다르며..
1. 운영체제(2)
·
Cs
1️⃣콘텍스트 스위칭- 인터럽트(interrupt): CPU에서 프로세스 처리 중 입출력 관련 이벤트 or 예외 상황이 발생할 때 대응할 수 있게 CPU에 처리를 요청하는 것. -> 입출력 발생 시, CPU 사용 시간이 만료될 시, 자식 프로세스를 생성할 시 발생.- 콘텍스트: CPU가 처리하는 프로세스의 정보- 콘텍스트 스위칭: 멀티 프로세스 or 멀티 스레드 환경에서 CPU가 처리 중인 프로세스의 정보를 바꾸는 것.- 프로그램 카운터: 프로세스가 이어서 처리해야 하는 명령어의 주소 값- 스택 포인터: 스택 영역에서 데이터가 채워진 가장 높은 주소 값- PCB에 프로그램 카운터와 스택 포인터 값 저장 -> 처리 중인 프로세스 변경되어도 이전에 실행하던 코드를 이어서 실행 가능!2️⃣프로세스 동기화1. ..
1. 운영체제(1)
·
Cs
1️⃣운영체제(OS, Operationg System)란?: 하드웨어 계층과 다른 소프트웨어 계층을 연결하는 소프트웨어 계층. 컴퓨터 시스템의 자원을 관리하고, 사용자가 컴퓨터를 사용할 수 있는 환경을 제공하는 역할을 수행. ex) 윈도우, 맥, 리눅스, 유닉스2️⃣CPU와 메모리 구조- CPU(중앙 처리 장치=프로세서): 컴퓨터에서 프로그램을 실행하는 데 필요한 연산을 처리하고 수행.- 메모리의 구조(2)    1. 주 기억장치(휘발성 메모리) -> RAM    2. 보조 기억장치(비휘발성 메모리) -> SSD, HDD- 메모리의 계층 구조(4)    1. 레지스터: CPU가 사용자 요청을 처리하는 데 필요한 데이터를 임시로 저장하는 기억장치    2. 캐시 메모리: CPU와 RAM 사이의 속도 차이를..
GET과 POST의 차이
·
Cs
❇️GET: 서버로부터 정보를 요청할 때 사용되는 HTTP 메서드1️⃣GET의 특징1. 쿼리 스트링 형태로 데이터 전달 -> 데이터가 URL에 노출(길이제한 2048자) -> 민감한 데이터 주의    ex) http://www.example-url.com/resources?id=helloworld&password=12345672. 브러우저에 캐시하여 동일한 요청을 반복할 때 성능 향상3. 여러 번 호출해도 결과가 동일(서버에 데이터 변화가 없음->멱등성)2️⃣GET의 사용1. 데이터를 조회할 때2. 요청 내용을 url로 공유하거나 북마크할 때3. 요청이 서버의 상태나 데이터를 변경하지 않을 때❇️POST: 정보를 생성 및 업데이트 하기 위해 서버에 데이터를 보내는 HTTP 메서드1️⃣POST의 특징1. ..
라이브러리와 프레임워크의 차이
·
Cs
라이브러리프레임워크제어 흐름개발자가 라이브러리의 함수를 필요에 따라 호출하여 사용-> 개발자 주도개발자는 프레임워크가 제공하는 확장점(hook)에 코드를 작성-> 프레임워크 주도재사용성특정 기능을 수행하는 독립적인 모듈로, 필요에 따라 선택적으로 사용애플리케이션의 전체적인 구조와 흐름을 제공하므로, 프레임워크에 맞춰 개발결합도라이브러리와 애플리케이션의 결합도 낮음-> 재사용 용이프레임워크와 애플리케이션의 결합도가 높음-> 프레임워크에 종속추상화 수준특정 기능을 수행하는 저수준의 API를 제공애플리케이션의 전반적인 구조와 흐름을 제공하는 높은 수준의 추상화를 제공개발 생산성개발자가 직접 구현해야 할 부분이 많음-> 생산성 낮음프레임워크가 제공하는 기능과 구조를 활용하여 빠른 개발 가능-> 생산성 높음러닝 ..