728x90
마이크로서비스 아키텍처라든지 분산 시스템을 설계하다보면 특정 서비스로의 요청 폭주를 방지하거나 공정한 자원 분배를 위해 얼만큼 트래픽을 관리할 것인지에 대한 처리율 제한 알고리즘도 설계해 반영할 일이 있다.쉽게 말해 "너무 많이 요청하지 말라"고 하기 위한 신호등 느낌이다. 한 번에 너무 많은 요청(클릭, 데이터 요청)이 들어온다면 시스템은 멈추거나 느려지는 현상이 나타날테니, 이를 위해 "몇 개까지만 허용할게" 라고 정해 그 이상은 거절한다든지, 멈추겠다든지 등을 결정해볼만 하다. 물론 과부화 요청에 대한 시스템의 처리속도의 향상과 더불어, 다수의 사용자 중 일부 사용자만 독점하지 않게하며 보안적으로도 안전성을 갖추기 위해 적용시킬 수 있다. 대표적인 처리율 제한 알고리즘 - 토큰 버킷 알고리즘을 알아..
11월은 부산에서 서울로 가는 출장이 잦았다.개발건으로 이동도 있었지만 블록체인 컨퍼런스 참여를 사유로 가기도 했다.블록체인은 고등학교 영재수업 때 찾아보며 처음 접한 뒤 대학교 때 니코랑 js로 노드 구조만 짧게 만든 게 다였는데 이젠 취업해서 구경하게 됐다.그렇게 컨퍼런스 참여를 위해 부산을 떠난 건 대폭설이던 날이었다. 추운 게 익숙해지고나니 좀처럼 볼 수 없었던 눈 덮인 주위가 무척 예뻤다. 뻑뻑한 눈 잔디를 밟는 것도 맘껏 해봤다.가게되었으니 세션 목록을 훑어봤다. 그렇게 큰 연관은 아닌데 ETRI 연수생 생활과 SSAFY 교육 수료 경험 탓에 몇 진행자분 이름에 시선이 갔다.20대 초반에 나는 교육받던 입장이었고 여전히 누군가의 연설을 보는 이 자리에서 나는 언제쯤 타인에게 내 경험과 견해를 ..
행렬의 연쇄 곱셈이란여러 행렬의 곰센 순서를 최적화하여 문제를 해결하는 알고리즘이다. 이 알고리즘은 해열 곱셈 연산의 횟수를 최소화하기 위해 사용된다. 우선 행렬 곱셈부터 다시 점검해보면 아래와 같다. 행렬 곱셈의 결합법칙사전적으로, 행렬 A와 B의 곱이 정의되기 위해서는 위와 같이 A행렬의 열과 B행렬의 행의 크기는 같아야한다.(더불어 A*B 결과인 X행렬은 (A행렬의 열크기) x (B행렬의 행크기), 즉 p*r이 된다.) 열과 행의 조건을 성립한 행렬의 곱셈은 연산 순서자체는 결과에 영향을 미치지 않는다. 하지만 과정에서 차이가 있다. 연산 횟수에 대한 공식 자체는 위와 같다.A의 한 행과 B의 한 열이 곱해져서 C의 하나의 원소를 계산하기 때문에, 한 원소를 계산하기 위해선 'q'번의 곱셈이 ..
요구사항 티스토리에서는 2024.11.07 - 11.27까지 21일 동안의 작심삼주 오블완 챌린지를 진행한다. 작심삼주 오블완 챌린지오늘 블로그 완료! 21일 동안 매일 블로그에 글 쓰고 글력을 키워보세요.www.tistory.com 가장 핵심적인 이벤트 진행 조건은 '매일 특정 태시태그를 단 연속된 21개의 포스팅 기록이 충족되는 것' 이다.더불어 이벤트 공지 내 하단의 확인 및 참여기준을 보면 여러 제한조건이 있는데, 이걸 백엔드 개발자가 보고 구현해야한다면 무엇을 고려해야했을까? 요구사항 추출 및 구현 상세화1. "한국 시간 기준"에 따른 시간 검증한국 시간 기준 00시부터 23시 59분요구사항에 따르면 모든 게시글의 작성 및 발행 시간이 한국 표준시(KST) 기준으로 계산되어야 한다. 따라서 서..
HTTPS HTTPS는 그 이름에도 알 수 있듯이, HTTP Secure로서 암호화 기술을 통해 콘텐츠를 안전하게 전달한다. 즉 데이터의 변조 위험을 막을 수 있고 디지털 인증서를 사용함으로써 신뢰성을 얻는 방식이다.이 HTTPS는 TCP 위에 *SSL(Secure Socket Layer)/TLS(Transport Layer Security) 계층을 더해 이용된다. 그리고 이에 대해 두 개의 서로 다른 키를 사용하여 당사자간의 통신을 암호화할 수 있다 *TLS는 SSL의 상위 버전이며 따라서 최근에는 대부분 TLS를 이용한다, 과거엔 편의상 SSL과 용어를 통쳐서 불리었지만 TLS는 최신 보안 표준을 준수한다는 점에서 차이를 갖는다. 서로 다른 키?암호화된 내용을 풀기 위한 Key가 개인키와 공개키로 나..
운영체제의 SystemCallOS가 Application에게 자원을 이용할 수 있도록 제공하는 인터페이스다.이 인터페이스는 시스템 상의 치명적인 영향을 줄 수 있는 명령어에 대해서 불법 사용자로부터 실행되는 것을 막고자하는데, 이에 대해 내부적으로 DualMode(이중 동작모드)를 갖추고 있다. 운영체제의 Dual ModeDual Mode란 커널에서 중요한 자원을 관리하고 있는데, 사용자가 그 중요자원에 접근하지 못하도록 모드를 2가지로 분류한 것이다. 그게 바로 UserMode와 KernelMode. User Mode유저가 접근할 수 있는 영역을 제한적으로 둠 → 프로그램 자원에 함부로 침범하지 못하게 함User Mode에서 코드를 작성하거나 프로세스를 실행하는 등의 행동 가능‘User Applic..