분류 전체보기 (9) 썸네일형 리스트형 네트워크 용어 정리 사설 IP (Private IP): 일반적으로 가정이나 회사 내부에서 사용되는 IP 주소 인터넷과 연결되어 있지 않으며, 내부에서만 통신이 가능 (사설 네트워크) 로컬 IP, 가상 IP라고도 불림 사설 IP로 발급 가능한 주소 대역은 표준화 되어 있음. 대규모 네트워크: 10.0.0.0 ~ 10.255.255.255: 10.0.0.0/8 중간 규모의 네트워크: 172.16.0.0 ~ 172.31.255.255: 172.16.0.0/12 소규모 네트워크: 192.168.0.0 ~ 192.168.255.255: 192.168.0.0/16 이러한 사설 IP 주소 대역은 인터넷에서 사용되는 공인 IP 주소와 구분되어, 사설 네트워크 내에서만 유효 공인 IP 주소(Public IP Address) : 인터넷에 연.. 데몬 (Daemon) Linux가 처음 가동될 때 실행되는 background process의 일종 Memory에 상주하면서 특정 요청이 오면 즉시 대응할 수 있도록 대기중인 process "CentOS7"에서는 "*.service" 형태의 파일이름을 가지며, systemctl 명령어로 제어. "Nginx"도 Linux 에서 데몬형태로 돌아가는 "Web Server 소프트웨어" 임. ex. 웹 서버 (예: Apache), 데이터베이스 서버 (예: MySQL), 로그 관리 서비스 등 일반적으로 대부분의 리눅스 배포판에서는 "/etc/systemd/system" 디렉토리를 사용하여 시스템 레벨의 서비스 유닛 파일을 관리 이 디렉토리는 systemctl 명령을 통해 시스템 서비스를 관리할 때 사용되는 디렉토리. Universal Links & App Links Universal Links와 App Links에 이해하기 위해 여러 게시물들을 확인했지만, 대부분 모바일앱 개발자분들이 관심사항인 듯했습니다. 실제로 해당 기능의 구현 주체가 모바일앱이긴 하지만, 웹을 통한 호스팅 방식도 포함하기에 해당 영역의 이해가 필요하다고 생각했습니다. Universal Links와 App Links을 검색면, Deep Links가 나오고 이어서 Deep Linkings 이 나오기에 용어 정리부터 진행하고자 합니다. Deep Linkings Deep Linkings은 웹상에서 "https://example.com"처럼 최상위 페이지를 가리키는 것이 아닌, 특정 페이지로 연결되는 "https://example.com/path/page"와 같은 URL을 의미합니다. 하지만 평소 저러.. Exponential Backoff 간단하게 일정 시간 간격을 두고 Retry를 한다고 생각해보자. 이 경우도 일정 시간의 여유를 줬지 사실 동일하게 네트워크 부하를 줄 가능성이 크다. 그래서 일반적인 방법은 점진적으로 시간 간격이 늘어나는 Exponential Backoff 전략을 사용하는 것이다. 이 경우 지수에 비례하여 Backoff 시간을 조절한다. 예를 들어 첫번째 재시도를 위한 대기 시간은 100ms, 두번째 재시도를 위한 대기시간은 200ms, 세번째 재시도를 위한 대기시간은 400ms 처럼 2의 지수배만큼 늘어나는 방식이다. 이런 방식은 재시도 횟수가 증가할수록 Backoff 시간이 증가하므로 네트워크에 갑작스럽게 트래픽을 부담시키는 것을 피할 수 있다. 하지만 눈치빠른 사람들은 이 방법도 한계가 있다는 것을 금방 알 수 있.. Redis 에서 "Used Memory RSS" 가 지속적으로 증가할때 현상 Redis 에서 "Used Memory RSS" 가 지속적으로 증가 RSS(Resident Set Size) : 해당 프로세스에 할당되고 RAM에있는 메모리 양 Maxmemory 부근에서 key 증가와 삭제가 발생 확인 증상 메모리 단편화(memory fragmentation) 발생 Swap도 발생. Swap: 운영체제의 가상메모리 해소 단편화 이슈 : 온라인 상황에서 activedefrag 사용 Swap 이슈 : 프로세스 재시작 stop replicas drop cache swap off & swap on start replicas failover 참고 메모리 단편화란? : https://cocoon1787.tistory.com/859 Swap 이란? https://minimilab.tistory.. Android WebView Debugging USB 디버깅하기 1. 개발자 모드 활성화 "설정 > 휴대전화 정보 > 소프트웨어 정보"로 이동합니다. "빌드번호"영역을 여러 번 누르면 "개발자 모드를 켰습니다"라는 토스트 메시지가 나오는 것을 확인합니다. 다시 "설정"화면으로 돌아가면 하단에 "개발자 옵션"이라는 새로운 메뉴가 생겨있는 것을 확인할 수 있습니다. 2. USB 디버깅 활성화 "개발자 옵션" 메뉴에 들어가서 "USB 디버깅"을 활성화합니다. "chrome://inspect/#devices"로 이동합니다. USB를 연결하면 아래와 같이 Offline으로 된 화면이 보이면서 동시에 디바이스에서 "USB 디버깅 허용" Confirm 창이 뜹니다. 확인을 눌러줍니다. 위와 같은 창이 뜨지 않는 경우 아래를 참고하여 다시 시도해봅니다. https.. Redux 사이드 이펙트 라이브러리 비교 Redux 구조에서 사이드 이펙트 작업시(비동기 요청 등) 사용할 라이브러리 중 redux-thunk, redux-saga, redux-observable 확인하고 각각의 장/단점을 살펴보겠습니다. 본론에 앞서 기본적인 Redux의 data flow 부터 확인해보겠습니다. Redux data flow import { createStore } from 'redux'; // Action 타입 const TYPE = { INCREMENT_COUNTER: 'INCREMENT_COUNTER' }; // Action 객체 const incrementCounterAction = { type: TYPE.INCREMENT_COUNTER, payload: { count: 1 } }; // Action 생성자 functio.. Cookie recipes - SameSite and beyond 이 글은 Day3: Chrome web.dev LIVE 2020중 Cookie recipes - SameSite and beyond의 내용을 정리한 글입니다. 쿠키 속성 및 쿠키 디버깅에 대한 설명이 있습니다. #1 Cookie Recipes Cookie Prefixes "Cookie Prefix"는 쿠키에 대한 브라우저 정책을 적용할 수 있게 되는데 예를 들어 Prefix에 맞지 않는 속성을 설정할 경우 브라우저는 해당 속성이 필요하다는 정보를 사용자에게 알릴 수 있습니다. "__Host-" Prefix "__Host-" Prefix를 사용하기 위해서는 "Secure"와 "Path=/" 가 설정이 되어야 하며, "Domain"은 설정되지 않아야 합니다. "Secure" : 쿠키가 HTTPS 연결을 통해.. 이전 1 2 다음