alt
Home
hungryjayy
Cancel

스레드(Thread)

: 프로세스의 실행 단위. 프로세스 내 주소 공간이나 자원 공유. 스레드 ID, 프로그램 카운터, 레지스터 집합, 스택으로 구성 다른 스레드와 stack, PC register 제외 나머지 영역 공유해 상호간 통신 프로세스와 비교했을 때 context switch 시간이 짧음(캐시를 비우지 않아도 됨) 스레드 크기는 1MB. 프로...

Hoisting

: 사전적 의미로 “끌어올리기”. 선언되는 모든 변수는 호이스트된다.(끌어올려진다) 특징 ECMA2015(ES6). 2015년도 이후로 나왔다.(let, const, 화살표함수, 디스트럭쳐링과 더불어) 물리적으로 코드가 옮겨지는 것이 아니고, 컴파일 단계에서 변수 및 함수 선언이 메모리에 저장되는 것 foo("abc"); func...

임계영역(Critical section)

: 멀티 스레드 환경에서 고려해봐야 할 영역. 동일한 자원에 접근할 때 해당 영역을 임계영역이라고 함. 임계영역 문제 다른 스레드에서 사용할 공유자원을 변경해 의도치 않은 사이드이펙트를 얻게 되는 경우 임계영역을 공유해 효율을 올리며(동시성), 부작용을 막아 적절히 함께 사용할 수 있도록 프로토콜 설계 임계영역문제를 해결하기 위...

OSI(Open System Interconnection) 7계층

: 각 계층별 기능과 통신의 과정을 표준화해 네트워크를 편리하게 이해하기 위한 목적으로, 실무적으로, 교육의 목적으로 이용될 수 있도록 만든 모델 캡슐화 아랫층으로 데이터를 넘길 때 각각의 레이어에서 붙일 수 있는 헤더를 붙이는 과정 윗 층(어플리케이션) HTTP 개발자는 아랫층 소프트웨어에 헤더가 붙는 과정을 ...

CLI

기초 / : Root 디렉토리 pwd : 현재 디렉토리 .... --help echo ~~~ : ~~~를 화면에 표준 출력(stdout) 디렉토리 삭제할 때 -r(recursively) touch aaa.txt : aaa.txt 만들기 grep : 내가 원하는 키워드가 포함되어있는 행을 찾아주는 명령어 tail -f...

NPM CLI

기본 CLI npm init : package.json 생성 npm install : 패키지 설치 현재의 package.json에 맞게 모듈 맞춰줌 --dev 를 붙이면 dev dependencies 에 등록된다. 프로덕션 환경에서는 적용되지 않음? ...

TCP / IP 프로토콜의 4계층

OSI 계층과는 층을 구분하는 것이 다르고 실제 하는 일은 같다고 보면 된다. 1계층: 네트워크 인터페이스 계층 : TCP/IP 패킷을 받고, 보내는 역할 OSI의 1, 2계층 에러를 검출하는 역할, 물리적 목적지(mac 주소)를 알아내는 역할 2계층: 인터넷 계층 : Routing 역할로 목적지까지의 전달...

Javascript 기초, 문법

JavaScript 타입 시스템이 없는 동적 프로그래밍 언어. 따라서 런타임 에러가 많이 발생할 수 있다. RTE: 프로그램에서 수행할 수 없는 동작을 시도할 때 발생 컴파일 error: 컴파일 타임에 발생. 주로 문법적 오류 비교적 유연하게 개발할 수 있는 환경 제공 ...

Kafka 이해하기 (vs rabbitMQ)

RabbitMQ와 가장 큰차이: Consumer가 Broker로부터 메시지를 pull하는 방식 single consumer가 아닌 multi consumer를 염두에 두고 설계되었기 때문에 그러한 환경에서 rabbitMQ보다 성능이 좋다. RabbitMQ에서는 하나의 일을 하나의 consumer가 처리하기 위해...

개발하며 겪은 이슈들, 간단한 메모

210215 EOL 처리: 작성 file 끝에 new line 넣어주기(cat 관련 문제) 파일이 끝났다고 판단하지 못하는 문제 때문 ID라는 변수명 설정 ID vs Id : Id승. 가독성이 좋고 더 많이 쓰임 e. g)...