개발을 하다 보면 외부 API를 수없이 사용하게 되고 고려하지 않으면 요청한 API 서버로부터 `429 Too Many Request`라는 곤란한 응답을 받게 된다. Rate Limting은 API Client만 고민하는 것이 아닌 요청을 받고 응답을 내려주는 API Server로부터 고려된 것이고 API Server는 DoS 공격과 같은 공격에 대해 대비하고 서버의 응답 처리량을 관리하기 위해서는 Rate Limiting은 필수로 고려되어야 하는 부분이다. 나는 얼마 전에 429 응답을 마주하게 되었고 요청을 받는 입장이 아닌 요청을 하는 입장에서 어떻게 요청량을 관리해야 될지에 대한 방법론을 몇 가지 알아보려고 한다. (Server와 Client의 방법론은 크게 다를 것 없다.) 429 Too Man..
알고리즘
이전 글 : ) [알고리즘] 스택 (Stack) 이전 글 : ) [알고리즘] 해시(Hash), 해시 테이블(Hash Table) 이전 글 : ) [알고리즘] 그리디 알고리즘 ( 탐욕 알고리즘, Greedy Algorithm) 이전 글 : ) [알고리즘] 백트래킹 알고리즘 ( BackTracking Algorithm.. jangbageum.tistory.com 큐 Queue 큐 queue란 자료 공간에 먼저 들어온 자료가 먼저 처리하는 자료구조를 말합니다. 먼저 들어온 자료를 먼저 처리한다, 즉 선입선출이라고 하며 FIFO, First-In-First-Out라고도 합니다. 일상생활에서 보면 맛집에서 번호표를 뽑고 번호표 순서대로 먼저 온 손님이 먼저 자리에 앉은 순과 같습니다. 큐는 스택과 마찬가지로 삽입..
이전 글 : ) [알고리즘] 백트래킹 알고리즘 ( BackTracking Algorithm ) 이전 글 :) [알고리즘] 계수 정렬 (Counting Sort) 이전글 [알고리즘] 정렬 알고리즘 (Sorting Algorithm) 이전글 : ) [알고리즘] 완전 탐색 • 브루트 포스 (Brute Force) 이전 글 : ) [알고리즘] 자료구조 - 재.. jangbageum.tistory.com 그리디 알고리즘 greedy algorithm 그리디 (Greedy)는 '탐욕스러운, 욕심 많은'이라는 뜻을 가집니다. 탐욕스러운 알고리즘의 의미는 선택의 순간마다 당장 눈앞에 보이는 최적의 상황만을 쫓아 최종적인 해답에 도달한다는 의미입니다. 그리디 알고리즘은 최적해를 구하는 데에 사용되는 근사적인 방법이며 여..
이전글 : ) [알고리즘] 정렬 알고리즘 (Sorting Algorithm) 이전글 : ) [알고리즘] 완전 탐색 • 브루트 포스 (Brute Force) 이전 글 : ) [알고리즘] 자료구조 - 재귀 함수 ( Recursive Function ) ( + 팩토리얼과 피보나치수열) 이전글 : ) [알고리즘] 파이썬 기본 문법 -.. jangbageum.tistory.com 백준 10989번 (수 정렬하기 3)을 해결하다 계수 정렬을 알게 되었습니다. 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 위 문제는 메모리 제한이 8MB라는..
이전글 : ) [알고리즘] 완전 탐색 • 브루트 포스 (Brute Force) 이전 글 : ) [알고리즘] 자료구조 - 재귀 함수 ( Recursive Function ) ( + 팩토리얼과 피보나치수열) 이전글 : ) [알고리즘] 파이썬 기본 문법 - set (집합) 이전글 [알고리즘] 파이썬 기본 문법 - map() ( + 람.. jangbageum.tistory.com 정렬 알고리즘 sorting algorithm 정렬 알고리즘이란 원소들을 번호순이나 사전 순서와 같이 일정한 순서대로 열거하는 알고리즘입니다. 효율적인 정렬은 탐색이나 병합 알고리즘처럼 다른 알고리즘을 최적화하는 데 중요합니다. 또 정렬 알고리즘은 데이터의 정규화나 의미 있는 결과물을 생성하는 데 흔히 사용됩니다. 대표적인 정렬 알고리..
이전글 : ) [알고리즘] 파이썬 기본 문법 - set (집합) 이전글 [알고리즘] 파이썬 기본 문법 - map() ( + 람다 함수) [알고리즘] 파이썬 기본 문법 - 연산자와 숫자 처리 함수 (+ 랜덤 함수) 목차 사칙연산, 제곱, 나머지와 몫 숫자 처리 함수 랜덤 함수 1. 사 jangbageum.tistory.com 재귀 함수 Recursive Function 재귀 함수란 함수 자기 자신 로직 내부에서 자신을 호출하는 함수입니다. 이 행위를 재귀 호출이라 합니다. 이러한 재귀를 사용해서 팩토리얼이나 피보나치수열 등 반복적으로 하위의 해답을 이용해 원래의 문제를 해결하는 수학적 문제에 두루 사용합니다. 또한 이론적으로는 for문과 while문 등과 같은 반복문을 모두 대체 가능하다고 합니다. # 재..