Jays blog


새 이름으로 저장
Save as birds name

POSTS


📝 OS

비동기와 멀티스레딩

The Difference Between Asynchronous And Multi-Threading

1. 소개 비동기 프로그래밍과 멀티 스레딩 프로그래밍에 대해 알아보고, 차이점을 비교해보자. 2. 비동기 프로그래밍이란 비동기적 모델에서는 여러 일이 동시에 발생할 수 있다. 프로그램은 실행시간이 긴 함수를 실행할 때, 그 함수의 실행 흐름을 막지(block) 않고, 프로그램을 계속 실행한다. 그리고 그 함수가 끝났을 때, 프로그램은 실행결과에 ...

📝 Network

UDP vs TCP

UDP와 TCP 비교분석

1. Introduction User Datagram Protocol(UDC) & Transmission Control Protocol(TCP), 이 두 가지는 컴퓨터 네트워크에서 가장 중요한 데이터 전송 프로토콜이다. 이 두 가지 프로토콜에 대해 알아보고, 비교해보자. 2. UDP 2.1. 핵심 속성 1980년, David P. Re...

📝 OS

프로세스 제어 블록

운영체제 커널의 자료구조

1. 소개 컴퓨터 시스템은 여러 프로그램들을 동시에 실행한다. 이 병렬실행을 통해, 컴퓨터는 연산을 더 많이 처리하고, 사용자 경험은 좋아진다. 이렇게 여러 프로그램을 실행한다는 개념은 운영 체제에 의해 구현된다. 이 글에서는, 프로세스가 작동하는데 필요한 PCB(Process Control Block - 프로세스 제어 블록)의 개념에 대해 설명할...

📝 OS

동시성 프로그래밍에서의 모니터(Monitor)

동기화의 도구

1. 소개 이 글에서는 모니터가 무엇이며, Java에서 모니터를 사용하는 방법을 배웁니다. 2. 모니터란 무엇인가? 모니터는 스레드가 mutual exclusion와 cooperation를 가질 수 있도록 하는 동기화 메커니즘입니다. mutual exclusion(상호 배제) – 하나의 스레드만이 특정한 시점에 메서드를 실행할 수 있습니다....

📝 Network

가상화(Virtualization)

컴퓨터 리소스를 논리적으로 분할하는 기술

1. 소개 가상화란 컴퓨터 리소스를 논리적으로 분할하는 기술이다. 이것은 자원 분리의 근본적인 복잡성을 추상화하며 이뤄진다. 오래된 기술이지만, 가상화는 여전히 인기있고, 클라우드 시대에 깊이 관련된 기술이다. 이 글에서는, 가상화의 컨셉, 유형, 작동 등의 다양한 측면을 다룰 것이다. 2. 가상화란 무엇인가? 가상화는 컴퓨터 자원의 소프트웨어 ...

📝 Linux

Linux Command

리눅스 명령어 정리

Linux command 리눅스 커널을 사용할 때 기본적인 조작을 위해 알아야 할 명령어 정리. 찾기 find /(전체에서) -name {name} 1 find / -name {name} find ./(현재 경로 하위에서) -...

📝 Network

CORS

Cross-Origin Resource Sharing

CORS란 Cross-Origin Resource Sharing 추가적인 HTTP header를 사용해 application이 다른 origin의 리소스에 접근할 수 있도록 하는 메커니즘 주로 다른 origin에서 내 리소스에 함부로 접근하지 못하게 하기위해 사용 즉 내가 서비스하고 있지 않은 사이트에서 세션을 요청하는 경우를 막기 위...

📝 Network

API

API, GraphQL, payload

API란 Application Programming Interface 프로그램들이 서로 상호작용하는 것을 도와주는 매개체 서버와 DB에 대한 출입구 역할 어플리케이션과 기기가 원할하게 통신할 수 있도록 해줌 모든 접속을 표준화한다. - standarize format endpoint URL 자원을 ...