본문 바로가기

반응형
SMALL

독서

(22)
[개발자를 위한 레디스] 4장 레디스 자료 구조 활용 사례 레디스가 제공하는 다양한 자료 구조를 적절히 활용한다면 애플리케이션에서는 매우 짧은 대기 시간으로 엄청난 양의 작업을 처리할 수 있다. sorted set을 이용한 실시간 리더보드사용자의 증가에 따라 가공해야 할 데이터가 몇 배로 증가한다.데이터가 실시간으로 반영되어야 한다. 여러 가지 수학적 계산이 빠르게 수행되어야 한다. sorted set에서 데이터는 저장될 때부터 정렬되어 들어간다. 데이터 저장 및 조회ZADD 커맨드를 활용해서 데이터(스코어, 플레이어 번호)를 저장한다. ZRANGE를 활용해서 스코어 낮은 순서로 데이터를 조회할 수 있다.ZREVRANGE를 활용해서 상위 스코어 N개 데이터를 조회할 수 있다. ZADD를 활용해서 기존 플레이어의 점수 데이터 업데이트가 가능하다.set 자료구조는 ..
[개발자를 위한 레디스] 3장 레디스 기본 개념 레디스의 자료 구조string최대 512MB의 문자열 데이터를 저장할 수 있다.키와 실제 저장되는 아이템이 일대일로 연결되는 유일한 자료 구조이다. NX 옵션을 사용하면 지정한 키가 없을 때에만 새로운 키를 저장한다. XX 옵션을 사용하면 반대로 키가 이미 있을 때에만 새로운 값으로 덮어 쓰며 새로운 키를 생성하진 않도록 동작한다. 숫자 형태로도 저장할 수 있다.INCR, INCRBY와 같은 커맨드 데이터를 원자적으로 처리한다. (동시성 이슈X)INCR: 저장한 데이터를 1씩 증가시킨다.INCRBY: 입력한 값만큼 데이터를 증가시킨다. MSET, MGET 커맨드를 이용하여 한 번에 여러 키를 조작할 수 있다.위 커맨드를 적절하게 사용해 네트워크 통신 시간을 줄일 수 있다.  list순서를 가지는 문자열의..
[개발자를 위한 레디스] 2장 레디스 시작하기 레디스 설치하기소스 파일을 이용해 레디스 설치하기-- 버전 지정$ wget http://download.redis.io/releases/redis-7.0.8.tar.gz-- 최신 버전 다운로드$ wget http://download.redis.io/redis-stable.tar.gz해당 실습에서는 버전7을 활용한다.  -- gcc 설치$ brew install gcc-- 압축 파일 해제 후 빌드$ tar -zxvf redis-7.0.8.tar.gz$ mv redis-7.0.8 redis$ cd redis$ make실습 환경은 macOS이다. $ make PREFIX=${redis 디렉터리 경로} install기본 디렉터리 내의 bin 디렉터리에 실행 파일을 복사하기 위해 make install  커맨드를..
[개발자를 위한 레디스] 1장 마이크로서비스 아키텍처와 레디스 NoSQL의 등장 배경소프트웨어 아키텍처의 변화와, 이로 인해 현대의 데이터 저장소가 어떤 요구 사항에 직면했는지 알아본다. 모놀리틱 아키텍처전통적인 소프트웨어 개발 모델전체 애플리케이션을 하나의 통합된 패키지로 개발, 배포하는 방식작은 규모의 프로젝트나 애플리케이션에서 용이함 마이크로서비스 아키텍처독립된 각각의 모듈을 조립해 하나의 서비스를 만드는 아키텍처기능별로 작게 나뉘어진 서비스가 독립적으로 동작하는 서비스업데이트, 테스트, 배포, 확장은 각 서비스별로 독립적으로 수행 가능함빠르게 성장하는 프로젝트에 용이함 데이터 저장소 요구 사항의 변화모놀리틱 서비스에서 가장 많이 사용되어 왔던 데이터베이스는 RDBMS최근 비정형 데이터가 증가하는 추세 (시계열 데이터, JSON 데이터 등)NoSQL을 사용하면..
[쉽게 배우는 데이터 통신과 네트워크] CH17. 암호화와 네트워크 보안 (최종) 01 암호화의 이해1 암호화 관련 용어메시지 읽기: 인터넷에서 신호 도청을 차단하기는 쉽지 않으므로 암호화 기법으로 해결해야 한다.전송 방해: 전송 메시지가 수신자에게 도착하지 못하게 함으로써 송수신자 간의 통신을 방해한다.메시지 수정: 전송되는 메시지의 내용을 수정하는 것으로, 송수신자가 교환하는 메시지의 의미를 왜곡한다. 1.1 암호화 용어암호화 전의 원본 문서를 원문서라 하며, 이를 임의의 형태로 암호화한 문서를 암호문이라 한다.암호문은 미리 정해진 암호키 k를 이용하여 암호화한다.송수신 사이의 전송 매체에서 외부에 노출될 가능성이 있는 경우는 암호문 상태로 전송될 때이다.외부 침입자가 암호문을 해독할 능력이 없으면 메시지의 내용을 읽거나 수정하는 등의 위해 행동을 할 수 없다. 1.2 암호화 알고..
[쉽게 배우는 데이터 통신과 네트워크] CH16. 파일 전송 01 파일 전송을 위한 사용자 환경1 FTP 로그인FTP: File Transfer Protocol (원격 시스템과의 파일 송수신 기능 지원)원격 시스템에 접속하려면 FTP 서버에 등록된 로그인 계정과 암호가 필요하다. 1.1 익명 FTP 로그인익명 FTP 서비스를 사용하려면 로그인 이름을 anonymous로 입력하고, 로그인 암호는 관례상 전자 메일 주소를 입력한다.로그인이 성공하면 FTP 사용자 명령으로 파일 송수신 기능을 수행할 수 있다. 1.2 FTP 로그인% ftp information.korea.co.krConnected to information.korea.co.kr.220 information FTP server (SunOS 5.7) ready.Name (information.korea.c..
[쉽게 배우는 데이터 통신과 네트워크] CH15. 전자 메일 01 전자 메일 사용자 환경메일 편집: 메시지를 새로 작성하거나, 수신 메일에 대해 회신하거나 수신 메일을 제3자에게 전달할 때 필요하다.메일 내용 읽기: 수신한 메일의 내용이 일반 텍스트로 구성되었으면 메일 프로그램에서 제공하는 기본 기능을 이용해 읽을 수 있다.수신 메일 관리: 수신한 메일을 별도의 메일 박스에 보관하고 관리할 수 있으며, 메일을 삭제하거나 파일 시스템에 보관할 수 있다.전달 여부 통지: 전송한 메일이 수신자에게 제대로 수신되었는지에 대해 송신자에게 회신하는 용도이다.메일 전달: 메일 송신자가 전송한 메일은 목적지 호스트까지 안전하게 전달되어야 한다. 1 메일 처리@🔼 전자 메일 주소 형식로그인 이름: 호스트에 등록된 사용자 구분자메일 서버 이름: 메일이 전송되는 최종 목적지 호스트..
[쉽게 배우는 데이터 통신과 네트워크] CH14. DNS 01 DNS(Domain Name System) 서비스인터넷의 규모가 커지면서 호스트 파일을 수작업으로 관리할 수 없게 되었고, 이를 계기로 DNS 서비스가 탄생하게 되었다. 1 IP 주소 체계인터넷에서는 32비트의 이진수로 된 IP 주소로 호스트를 구분한다.32비트의 주소를 네 부분으로 나누어 8비트의 십진수인 www.xxx.yyy.zzz 형태로 표현한다.Ex. 211.223.201.29 클래스IP 주소 범위네트워크 주소호스트 주소A0~127wwwxxx.yyy.zzzB128~191www.xxxyyy.zzzC192~223www.xxx.yyyzzz🔼 IP 주소 클래스IP 프로토콜의 유니캐스트 주소 체계는 클래스별로 구분할 수 있다.구분 기준은 네트워크 주소와 호스트 주소를 표시할 수 있는 비트의 크기이다..

반응형
LIST