51

Chrome이 Multi Thread가 아닌 Multi Process를 이용하는 이유

장점 1. Process는 메모리를 공유하지 않기 때문에 메모리 공격에 안전하다. 2. 서로 다른 사이트의 Frame / Tab을 서로 다른 렌더러가 담당하도록 해서 Same Origin Policy를 적용한다. 3. Process는 죽어도 다른 프로세스가 죽지 않는다. 한 탭의 Renderer Process가 죽어도 다른 탭이 죽지 않는다. 단점 1. 메모리 사용량 증가: Process는 메모리를 공유하지 않기 때문에 Process 별로 하나의 자바스크립트 엔진 코드를 들고 있어야 한다. 2. IPC: 프로세스간의 통신을 이용하는 코드가 많아지면서 코딩 난이도 상승. 그리고 송신-수신 이벤트를 받아서 처리하기 때문에 속도가 조금 느려진다. 기타 - 하드웨어 성능에 따라 프로세스를 나누거나 합치기도 한다.

2021.06.15

[Tip] Docker Redis 시작하기

설치sudo apt-get install docker.io redis 이미지 다운docker pull redis docker로 실행docker run redis이러면 실행되긴 한다.하지만 더 자세한 설정을 해 줄 필요가 있다.--rm : 실행 정지되면 자동으로 컨테이너를 지워 줌 -d : 백그라운드에서 데몬으로 실행됨-p [외부포트 : 내부포트] : docker 컨테이너의 외부/내부포트 지정 => ex) -p 8080:6379-v [외부 디렉토리 : 내부 디렉토리] : 실제 OS 폴더와 해당 컨테이너 내부의 폴더를 연결시켜 줌. 보통 컨테이너가 종료되면 해당 컨테이너에 저장되었던 데이터들이 모두 날아가는데, 이를 방지하기 위함이다. Dockerfile (공식 문서, 명령어 : 참고 블로그)- 이미지에 설..

2018.10.16

[Tip] float 나누기연산에 대해..

툴 제작하고 있는데 이런 문제가... float형으로 1을 0.5로 나눈다고 치자. 근데 이게 가끔.. 0.5가 아니라 0.50000000001 혹은 0.49999999999 이런 식일 때가 있다. 이러면 1을 0.5로 나눈 것 같아도 정확히 2가 되지 않는다. 하지만 정확하게 2가 떨어지는 것을 원할 때가 있다. 이런 경우, C#인 경우 Math.Round 함수 같은 것으로 반올림을 이용하는 게 좋은 방법인 것 같다.

2016.09.08

[팁] 버젼 관리 규칙 ver1.0, ver 1.0.8, 등등에 대하여.

원본 URL : http://kimsq.cweb.co.kr/b/tinylogs/10 일반적으로 사용되는 규칙이라고 함. - 총 3자리 정수로 표현한다. 버젼을 A.B.C.라 했을 때, A : 주 버젼B : 부 버젼C : 패치 버젼 각 자릿수는 다음 상황에 증가한다. C : 패치 시B : 패치 수준을 넘는(없던 기능 추가 라던가..) 수정 사항이 생겼을 시A : 이전 버젼과 호환되지 않는 수준의 대규모 작업 시 버젼 1.0.0은 첫 정식 공개 시의 버젼. 그전까진 0.0.0으로 시작 시험판에는 alpha와 beta를 덧붙임. alpha : 공개되지 않은 내부 버젼beta : 공개된 버젼이지만 정식 버젼은 아님

2016.08.21
반응형