일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 백준
- mongoDB
- 알고리즘
- MySQL
- 디자인 패턴
- MSA
- C
- OS
- react
- 네트워크
- 자료구조
- Algorithm
- redis
- design pattern
- 컴퓨터구조
- IT
- JavaScript
- Heap
- Kafka
- 운영체제
- spring webflux
- Proxy
- Galera Cluster
- c언어
- 파이썬
- JPA
- Data Structure
- Java
- Spring
- 자바
- Today
- Total
목록IT (38)
시냅스
Thread cpu 점유의 기본 단위 구성 : tid, PC, 레지스터 집합, 스택 cpu 점유는 pid 내부의 tid가 한다. 스레드 간에는 코드, 데이터 파일을 공유한다. Multithreading 장점 응답성 : 봉쇄되거나 긴 작업이 수행돼도 쓰레드를 생성해 명령 수행 자원 공유 : code와 data, file을 공유해 사용 가능 경제성 : 프로세스를 여러개 만드는 것보다 경제적, context switching에 있어서도 마찬가지이다. 확장성 : 멀티 프로세스 아키텍쳐에서 병렬처리 가능 멀티코어, 멀티프로세싱 안에서의 멀티쓰레딩 병행성 양상 쓰레드가 여러개인 상황을 가정 싱글코어 : 시간에 따라 인터리빙(사이사이 끼어 넣는다 e.g. 시분할) 멀티코어 : 병렬적 수행 멀티코어에서 도전과제 iid..
Code splitting : 번들이 거대해져 로드 시간을 줄이기 위해 코드를 분할한다. (lazy init...?) import import("./math").then(math => { console.log(math.add(16, 26)); }); Webpack 이 위 구문을 만나면 앱의 코드를 분할함, CRA를 사용한다면 WebPack에서 구성 되어 있음 React.lazy : 서버 사이드 렌더링에서는 불가, Loadable Components 사용해야 함. const OtherComponent = React.lazy(() => import('./OtherComponent')); import 를 동적으로 호출, Promise로 반환 import React, { Suspense } fro..
POSIX 공유 메모리 : 메모리 - 사상 파일을 사용하여 구현된다, 메모리 - 사상 파일은 공유 메모리 특정 영역을 연관 시킨다. Mach 메세지 전달 대부분의 통신은 메세지로 수행된다. Port로 메세지를 주고 받는다. 포트는 크기가 정해져 있고 단방향이다. 양방향 통신의 경우, 메세지가 한 포트로 전송되고 응답이 별도의 응답 포트로 전송된다. 각 포트에는 여러 송신자가 있을 수 있지만 수신자는 오직 하나. 포트를 사용하여 태스크, 스레드, 메모리 및 프로세서와 같은 자원을 나타낸다. 각 포트에는 그 포트와 상호 작용하는데 필요한 자격을 식별하는 포트 권한이 필요 태스크가 생성되면 Task self 포트와 Notify 포트 생성 커널은 Task Self 포트에 대한 수신 권한이 있어 태스크가 커널에 ..
프로세스 간 통신 (Interprocess Communication) 독립적 : 프로세스 간 데이터 통신 X 협력적 프로세스 간 영향을 주거나 받음 프로세스 간 통신 기법 IPC 공유 메모리 시스템에서의 프로세스 간 통신 (IPC in Shared-Memoty Systems) 공유 메모리 영역을 통해 통신한다. 공유 메모리 공간을 사용하기 위해선 자신의 주소 공간에 포함시켜야 한다. 일반적으로 운영체제는 한 프로세스가 다른 프로세스의 메모리에 접근하는 것을 금지해야하지만 이 제약 조건을 제거한다. Producer - Consumer Problem 생사자는 정보를 제공하고 소비자는 소비하는 모델 Compler(생산) -> assembly code -> Assembler(소비) Browser(소비) Web ..
ECMAScript ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어 자바스크립트를 표준화 하기 위해 만들어졌다. Ecma international TC39 committee 에서 표준 기술 제정 TC39 에는 Microsoft, Google, Apple 등 참여 중 현재는 ES2021이 가장 최신 버전, ES2022를 앞두고 있다. 그럼에도 불구하고 우리가 아직도 ES6를 외치는 이유는... ES6 (ES2015) let const Spread syntax Destructuring Assignment let a, b, rest; [a, b] = [10, 20]; console.log(a); // expected output: 10 console.log(b); // exp..
Generator 원하는 만큼 코드 실행을 시작하거나 중지하는 함수 ( 쓰레드 처럼 이용하고 싶은건가...? ) 비동기 코드와 작성하면 효과적!! 용례 function 키워드에 * 을 붙여주고 반환할 콘텐츠에 yeild를 불여주고 next() 로 실행! 콘텐츠를 전부 호출한 이후에 재실행하면 undefined 와 done: true 반환! return을 사용해 값을 전달 후 함수를 종료할 수 있다. throw를 사용해 오류를 잡고 함수 종료! Promise와 함께 사용하면 효과적이다!! const myPromise = () => new Promise((resolve) => { resolve('our value is...') }) function* gen() { let result = "" // 프로미스를..
Symbol 은 항상 고유하다 객체 내부에 같은 키 값이 있다면 Symbol 로 대체 가능하다 단, 이 때 for in 은 사용하지 못하고, Object.prototype.Symbol() 을 이용해서 배열로 반환 받아 map 으로 접근한다. Class 내가 느끼기엔 여타 class와 비슷... 다른 점은 이미 자바스크립트에서도 prototype을 통해 유사한 작업을 할 수 있지만 문법적 설탕(?)을 뿌린 거라고 한다... 호이스팅은 불가하고 이미 선언이 되어있어야 한다. constructor를 포함시킬 수 있고, super 도 사용 가능 static method 를 구현할 수 있고, setter와 getter도 가능 extends 기능을 사용 해 상속받을 수 있다. 그리고 오늘 aws 에 배포하다가 실수..
알고 있다고 생각하지만 항상 모르겠는 3가지 이 기회에 정리하고자 작성합니다. this this를 통해서 특정 스코프를 지정할 수 있는데, 1. 일반 함수의 경우 this 를 사용하면 상위 스코프로 window 객체가 선택될 위험이 상존한다. 2. this를 수동으로 설정하고 싶을 경우 bind()를 사용한다. 3. 화살표 함수를 사용할 경우, this는 상위 스코프에서 상속된다. box.addEventListener('click', function() { this.classList.toggle('opening') setTimeout(function() { this.classList.toggle('opening') // 여기서 this는 window 객체! }, 500) }) const box = doc..