전체 글(207)
-
User-Agent Header
User-Agent란 User-Agent의 개념 User-Agent 필드는 요청에 기반한 사용자 에이전트에 관한 정보를 포함하고 있는 정보입니다. User-Agent는 상호운용성 문제의 범위를 식별하고, 특정 사용자 에이전트 제한을 피하기 위해 응답을 조정하거나 재단하고, 브라우저나 운영체제 사용에 관한 분석을 위해 서버에 의해 사용됩니다. User-Agent 필드 값은 하나 이상의 제품 식별자로 구성되어 있으며, 각각은 0개 이상의 주석이 있고 사용자 에이전트 소프트웨어와 중요한 하위 제품을 함꼐 식별합니다. 일반적으로 제품 식별자는 사용자 에이전트 소프트웨어를 식별하는 중요성에 대한 내림차순으로 나열되어있습니다. User-Agent의 용도 웹 브라우저의 종류에 따라 다른 웹 페이지를 제공합니다. 운영..
2021.03.03 -
Redis
Redis란 Redis의 개념 Redis는 메모리 기반의 "key-value" 구조의 데이터 관리 시스템이며, 모든 데이터를 메모리에 저장하고 조회하기에 빠른 Read, Write 속도를 보장하는 비 관계형 데이터베이스입니다. Redis는 크게 String, Set, Sorted Set, Hash, List의 5가지 데이터 형식을 지원합니다. Redis의 특징 영속석을 지원하는 인메모리 데이터 저장소입니다. 읽기 성능 증대를 위해 마스터 / 슬레이브 형태의 서버 측 복제를 지원합니다. 마스터에서 쓰기가 수행되면 슬레이브 데이터 세트를 실시간으로 업데이트하기 위해 연결된 모든 슬레이브로 전송됩니다. 쓰기 성능 증대를 위해 클라이언트 측 샤딩을 지원합니다. String, Set, Sorted Set, Has..
2021.02.19 -
동시성과 병렬성
동시성(Concurrency)과 병렬성(Parallelism) 동시성이란 동시성은 한 번에 여러 스레드를 다루는 것을 의미합니다. 동시성은 하나의 코어에서 여러 스레드가 번갈아가며 실행되면서, 동시에 실행되는 것처럼 보이지만 실제로는 시분할하여 번갈아 실행되는 것입니다. 병렬성이란 병렬성은 한 번에 여러 스레드를 실행하는 것을 의미합니다. 병렬성은 다중 코어에서 실제로 각 코어들이 동시에 실행됩니다.
2021.02.14 -
DDD
DDD(Domain Driven Design)란 객체 지향에서부터 객체 지향에서의 핵심은 실세계의 객체들이 서로간의 상호작용을 바탕으로 책임, 협력, 역할의 관점을 가지고 메시지를 교환하는 것입니다. 즉 객체지향에서의 핵심은 결국 객체(무언가를 만드는 주체)입니다. 객체들을 어떻게 하면 추출할 수 있을까요? 어떤 객체가 필요한지 어떻게 알 수 있을까요? 객체들은 어떻게 해야 상호작용할 수 있을까요? 위의 질문들을 해결할 수 있는 방법이 바로 DDD(도메인 주도 설계)입니다. 도메인이란 도메인의 사전적 의미는 '정보와 활동의 영역'을 말하며, DDD에서는 어플리케이션 내의 로직들이 관여하는 정보와 활동의 영역이라고 받아들여 집니다. DDD의 개념 DDD란 도메인을 중심으로 설계해 나가는 것을 의미합니다. ..
2021.02.05 -
Cron 표현식
Cron Cron이란 Cron은 원래 유닉스 계열의 운영체제에서 시간 기반으로 Job Scheduling을 하는 프로세스의 명칭입니다. 그러나 현재는 그냥 Job Scheduler와 동일한 의미처럼 사용하고 있습니다. Cron 표현식이란 간단히 말해서 스케줄러 계열의 표현식이빈다. 정규표현식과 마찬가지로 구현체에 따라서 조금씩 다른 부분도 있습니다. Cron은 기본적으로 아래와 같은 형태로 6 ~ 7자리로 사용됩니다. Cron 표현식 - 필드 Cron 표현식 - 특수문자 * : 모든 값을 뜻합니다. ? : 특정한 값이 없음을 뜻합니다. - : 범위를 뜻합니다. ex) 월요일에서 수요일까지는 MON-WED로 표현 , : 특별한 값일 때만 동작함을 뜻합니다. ex) 월, 수, 금 -> MON, WED, FR..
2021.01.29 -
HMAC
MAC이란 MAC의 개념 MAC은 Message Authentication code의 줄임말로, 메시지를 인증하기 위해서 사용하는 정보입니다. 예를 들어, 유저 A가 인터넷으로 연결된 유저 B에게 메시지를 보냈다고 가정합니다. 이 메시지에서 A가 보냈다는 것은 매우 중요한 정보를 담고 있으며, 따라서 위조 혹은 변조되면 안 됩니다. 메시지가 인터넷을 가로지르면 메시지 변조와 위조의 위험에 노출됩니다. 이러한 문제를 해결하기 위해서는 메시지의 무결성과 메시지 인증이 담보되어야 합니다. 무결성이란 '메시지가 변조되지 않았다'는 성질이며, 메시지 인증이란 '올바른 송신자로부터 온 메시지'라는 성질입니다. MAC는 메시지에 붙이는 작은 정보로 이를 이용해서 무결성과 인증 문제를 해결합니다. MAC의 동작 원리 ..
2021.01.14