네트워크 이슈 -> 스케일링 네트워크의 기본적인 지식 리눅스를 자유자재로 다룬다 리눅스 기본 명령어 - 파일 다루기 패키지 시크템 메모리 free buff/cash maninfo 쉘스크립트
main board intel amd
32bit 8bits=1byte 32bits/8bits =4bytes 64bit
memory 비휘발성
source -> compile+link -. binary -> process
hdd cpu -> hdd
클럭 3.5hz 하인리히 헤르츠
1초에 1번 1hz cpu: 32.ghz 1s = 3.2*10^9 32억 bits 32/8 = 400 mbyte
over clocking 3.20ghz -> 3.50ghz
비트연산(and ,or) 비트값 출력확인 0011 b&=a 0010 0011 b|=a; 1011
a=1; 00000001 a=1«4; 00010000 a= a»3; 00000010
curl –remote-name-all https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/stable/cluster/terraform/{main.tf,variables.tf,providers.tf,vpc.tf,eks.tf}
curl –remote-name-all
생성자 체이닝 클로저 clouser 보통의 경우, 안쪽 스코프에서 정의된 변수는 바깥 스코프에서 접근할 수 없습니다. 바깥 스코프에 있는 변수를 가져다 사용하는 함수와, 변수가 저장되는 저장소를 클로저(closure)라고 부릅니다. 데이터를 숨기고 정해진 방법을 통해서만 데이터에 접근할 수 있도록 제한을 두는 데 활용되기도 합니다.
고차 함수 Higher-order Function 함수를 인수로 받는 함수, 또는 함수를 반환하는 함수를 일러 고차 함수(higher-order function)라고 합니다. 다른 함수의 인수로 넘겨지는 함수를 콜백(callback)이라고 부르기도 합니다.
thisArg 매개변수 arr.find(func, thisArg); arr.filter(func, thisArg); arr.map(func, thisArg); // … // thisArg는 선택적으로 사용할 수 있는 마지막 인수입니다. thisArg는 func의 this가 됩니다.
아래 예시에서 객체 army의 메서드를 filter의 인자로 넘겨주고 있는데, 이때 thisArg는 canJoin의 컨텍스트 정보를 넘겨줍니다.
let usersMapped = users.map(user => ({ fullName: ${user.name} ${user.surname}
, id: user.id })); 화살표 함수에서 객체 리터럴을 반환할 때 중괄호 {}를 사용하는 경우, JavaScript는 해당 중괄호를 함수 본문으로 해석합니다. 이로 인해 함수 본문과 객체 리터럴의 중괄호가 혼동되어 구문 오류가 발생합니다. 중괄호를 객체 리터럴로 해석하게끔 하려면, 중괄호를 함수 본문으로 감싸야 합니다.
그렇기 때문에 () => ({})와 같이 중괄호를 소괄호로 감싸는 것이 객체 리터럴을 반환하는 화살표 함수에서 일반적으로 사용되는 패턴입니다. 소괄호는 JavaScript에게 중괄호가 함수 본문이 아니라 객체 리터럴임을 알려주는 역할을 합니다.
구조분해할당
promise then catch finally
webAPI getUserMedia() 브라우저의 main thread에서 실행되므로 getUserMedia() 결과가 반환되기 전 까지 후행 작업이 모두 차단됩니다. 이러한 blocking은
security blocking encryption hiding auditing authentication authorization 1세대 암호화 대칭키 2세대 비대칭키 암호화 공개키 암호화키 3세대 동형암호화 encryption and hashing and encode의 차이
reliability fail-over failed-back high availability observability immutable declarative self-healing
architecture 아키텍트 아키텍처 일하는 모습
internet protocol unreliable data loss, out of order tcp connection 프로세스 간의 안정적이고 논리적인 통신통로 connection을 열고, 데이터를 주고 받고, connection을 닫는다 3-way 4-way 핸드 쉐이크 connection-oriented
인터네 상에서 어떻게 port를 유니크하게 식별할까 port 정의 16bits로 이루어진 숫자 (0~65535) internet address(ip address) 로 각 host를 유니크하게 식별할 수 있다 ineternet address + port number = socket 인터넷 상에 존재하는 각 port를 유니크하게 식별하기 위한 주소 각 socket 은 인터넷 상에서 유니크하다
udp user datagram protocol connectionless 연결을 맺지 않고 바로 데이터를 주고 받는다 unreliable internet protocol을 거의 그대로 사용
Tcp/ip stack
container kunnel으로 물리적으로 분리 컨테이너는 커널에서 제공하는 기능인 cgroup과 namespace 활용 control group 자원을떼서 주는 /sys/fs/cgroup proc 리소스 제한
ll /proc/1/ns docker inspect -f ‘’ test 1gb systemctl –runtime set-property docker-e1aa9a4568625974374aea5663f579f1b61096808162c0d988e746be83864dd5.scope MemoryMax=1G stress –vm-bytes 2G –vm-keep -m 1
stat blocks, i/o block block이라는 용어는 일반적으로 데이터를 저장하는 단위를 가리킵니다. 이를테면, 파일 시스템에서는 파일을 저장할 때 일정한 크기의 블록으로 나누어 저장합니다. 이 블록들은 디스크 공간을 효율적으로 활용하기 위해 사용됩니다.
i/o block은 입출력 작업에서 사용되는 블록을 의미합니다. 이는 데이터를 입출력하기 위해 디스크로부터 읽거나 쓸 때 사용되는 블록을 나타냅니다.
Every block device, like hard drive, is structured in blocks. Block is the largerst disk space which can be allocated by one I/O operation. This size is represented by IO Block
kubernetes apparmor 리눅스 커널 보안 모듈
calico cni plugin not initialized crt namespace forbidden