Home
SR's Dev-Log
Cancel

[Network] 2. 데이터링크 계층

본문은 “그림으로 공부하는 TCP/IP 구조” 및 각종 자료를 읽고 재구성한 글임을 밝힙니다. 데이터링크 계층의 특징: 같은 네트워크에 있는 단말을 식별한다. “같은 네트워크”란 동일한 LAN 범위를 의미한다! 물리 계층만으로는 정정할 수 없는 에러를...

[Python] 스코프(Scope)와 클로저(Closure)

TL;DR 📌 파이썬에서는 어떠한 변수 혹은 함수에 접근 가능한지를 판단하기 위해 스코프 체인을 따라 해당 변수 및 함수의 정의를 찾아나간다. 이때, 확인하는 순서는 Local → Enclosed → Global → Built-in 순이다. global과 nonlocal 키워드를 이용하여 외부 스코프의 변수를 내부 스코프에서도 사용할 수 있...

[Network] 1. 네트워크 기초

본문은 “그림으로 공부하는 TCP/IP 구조” 및 각종 자료를 읽고 재구성한 글임을 밝힙니다. 1. 회선 교환 방식 vs. 패킷 교환 방식 1-1. 회선 교환 방식 (Circuit exchange method) 데이터 교환 전 일대일 전송로를 만들고, 교환을 마칠 때까지 전송로를 계속 사용하는 방식이다. 안정적인 통신 품질을 ...

[OS] 8. 디스크 관리

디스크(disk)는 대표적인 2차 저장장치로, 컴퓨터에서 작업한 결과를 영구 보관하기 위해 사용한다. 1. 디스크의 구조 논리 블록 (Logical Block) 디스크 외부에서는 디스크를 일정한 크기의 저장 공간으로 이루어진 1차원 배열처럼 취급하는데, 이 일정한 크기의 저장 공간을 의미한다. 디스크에 데이터가 저장될 때,...

[OS] 7. 가상 메모리

1. 가상 메모리 (Virtual Memory) 개요 여러 프로그램이 동시에 수행되는 시분할 환경에서는, 한정된 메모리 공간을 여러 프로그램이 조금씩 나누어서 사용한다. 프로그램이 CPU에서 실행되려면 실행에 당장 필요한 부분이 메모리에 올라와 있어야 하므로, 운영체제는 몇몇 프로그램들에게 집중적으로 메모리를 할당한 후, 시간이 흐르면 이들로부터 ...

[OS] 6. 메모리 관리: ③ 세그멘테이션 기법 (Segmentation), 페이지드 세그멘테이션 기법 (Paged Segmentation)

불연속 할당 방식의 세 가지 기법 중 세그멘테이션 기법과 페이지드 세그멘테이션 기법에 대해 알아보자. 물리 메모리 관리 방법에 대해서 알고 싶다면? → [OS] 6. 메모리 관리: ① 개요 1. 세그멘테이션 (Segmentation) 프로세스의 주소 공간을 의미 단위의 segment로 나누어 물리적 메모리에 적재하는 ...

[OS] 6. 메모리 관리: ② 페이징 기법 (Paging)

불연속 할당 방식의 세 가지 기법 중 페이징 기법에 대해 알아보자. 1. 페이징 기법이란? 페이징(paging) 기법이란 프로세스에게 물리 메모리를 할당하는 방법 중 불연속 할당 방식에 해당하는 기법으로, 프로세스를 동일한 크기의 page 단위로 나누어 물리 메모리 또는 스왑 영역(swap area, backing store)의 서로 다...

[MySQL] 테이블 내의 데이터 개수 구하기 (+ DISTINCT)

SELECT COUNT(*) FROM Product 와 같이 COUNT()를 SELECT 하면 된다. SELECT COUNT(DISTINCT player_id) FROM Activity 와 같이 DISTINCT를 COUNT() 내에 사용할 수도 있다. COUNT() 내에 DISTINCT를 써야하는 때에 주의해야 한다!! 관련 문제...

[OS] 6. 메모리 관리: ① 개요

중기 스케줄러(medium term scheduler, CPU 스케줄러)의 동작에 대해 알아보자. 1. 주소 바인딩 컴퓨터의 주소 체계 컴퓨터 시스템은 주로 32bit 혹은 64bit 주소 체계를 사용한다. ex) 32bit 주소 체계를 사용할 경우, 이진수이므로 $2^{32}$가지의 메모리 위치를 구분할 수 있다. 컴퓨터는 ...

[Python] 정렬 기준 커스터마이징 하기

LeetCode의 179. Largest Number 문제를 풀면서 파이썬에서 정렬 기준을 커스터마이징 하는 방법을 알아보았다. [방법 1] functools.cmp_to_key() 사용하기 functools.cmp_to_key()는 다음과 같이 sort(), sorted() 함수의 key 파라미터로 전달할 수 있다. from functools...