본문 바로가기

Programming👩🏻‍💻

Rate Limiter 이해하기 Rate Limiting네트워크 트래픽을 제한하는 전략이다. 특정 시간대 내에서 누군가 작업을 반복할 수 있는 빈도(예: 계정 로그인 시도)에 상한 설정을한다.웹 서버에 대한 부담을 줄일 수 있다. Rate Limiting 구조Rate Limiting은 웹 서버 자체에서 실행되는 것이 아니라 응용 프로그램 내에서 실행된다.일반적으로 Rate Limiting은 요청 소스인 IP 주소 추적과 각 요청 간의 경과 시간 추적을 기반으로 한다. Rate Limiting 솔루션은 각 IP 주소의 요청 사이 시간을 측정하고, 지정된 시간 프레임의 요청 수를 측정한다.너무 많은 경우 일정 시간 동안 해당 IP 주소의 요청에 응답하지 않는다. 기본적으로 속도 제한된 애플리케이션은 고속 요청을 하는 사용자에게 "천천히 하.. 더보기
[Django] 공식문서로 익혀보기 part3 - views 작성 https://docs.djangoproject.com/ko/5.1/intro/tutorial03/ 1. View 개요view는 사용자가 웹사이트에 접속했을 때 보여줄 내용을 결정하는 코드입니다.사용자가 웹사이트에서 특정 정보를 조회하거나 데이터를 제출하면 view는 그 요청에 대한 로직을 처리템플릿과 데이터를 연결해서 사용자가 볼 수 있는 화면을 만들어주는 역할 좀 더 구체적인 예시로 설명 드리면,# views.pyfrom django.http import HttpResponsedef home_view(request): return HttpResponse("Welcome to the home page!") 사용자가 특정 URL에 접속하면 Django는 적절한 view를 호출합니다. 위 코드에서 '.. 더보기
[Django] 공식문서로 익혀보기 part2 - 데이터베이스 설치 https://docs.djangoproject.com/ko/5.1/intro/tutorial02/ 1. 데이터베이스 설치 프로젝트 디렉토리 mysite/setting.py 파일을 열어보면 일반적인 Python 파일로 Django의 모든 설정들이 Python 변수들로 저장되어 있는 것을 확인하실 수 있습니다.# settings.pyDEBUG = TrueINSTALLED_APPS = [ 'django.contrib.admin', 'polls',]DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'db.sqlite3', }}mysite/settings.py를 편집할 때 현지 시간.. 더보기
[Django] 공식문서로 익혀보기 part1 - 첫 시작, 프로젝트와 앱 만들기 Django를 공부하면서 아직 미비한 부분이 많아서 공식문서 튜토리얼대로 한번 학습을 해보려고 한다.최고의 학습자료는 공식 문서라고 하는데!? 한번 시작 해보겠습니다.   *본 포스팅은  Django 설치 방법 및 가상환경 세팅 , 초기 서버 구동 등 기본적인 장고 개발 환경 가이드는 생략이 되어있습니다.Django로 설문조사(Polls) 애플리케이션 만들어 보기프로젝트 구조는 아래 두 파트로 구성이 되어 있다.유저가 설문 내용을 보고 직접 투표할 수 있는 사이트관리자가 설문 추가/변경/삭제할 수 있는 어드민 사이트  1. 프로젝트 만들기터미널에서 코드를 저장할 디렉토리로 이동 후, 아래 명령어를 실행합니다. 💡Django에서는 mysite와 같은 디렉토리가 프로젝트 루트 디렉토리이면서 동시에 Pyth.. 더보기
Statements vs Expressions 차이 https://shoark7.github.io/programming/knowledge/expression-vs-statement 코드 단위인 Expression과 Statement의 차이를 알아보자What is the difference between expression and statement?shoark7.github.io 더보기
파이썬 모듈, 패키지 1. module파이썬 모듈: 특정 기능을 위한 파이썬 소스코드 파일 (.py)표준 라이브러리 : 파이썬이 설치될 때 기본적으로 설치되는 모듈 모듈 임포트 방식함수 호출 방식비고import 모듈모듈이름.함수()모듈이름으로 호출하면 동일한 함수명 충돌 방지됨from 모듈 import 함수함수() (모듈이름 생략하고 함수 호출)동일한 함수명 충돌 가능성 있음from 모듈 import *함수()모듈내 모든 호출이므로 충돌 가능성import 모듈 as 다른 이름다른 이름.함수()모듈 별칭으로 충돌 방지import datetimedatetime.datetime.now() # 모듈이름.datatime 클래스.now함수  2. pakage파이썬 패키지: 어떤 디렉터리에 여러 파이썬 파일이 있을 때 해당 디렉터리를 패.. 더보기
시퀀스 연산 1. 공통 시퀀스 연산세 가지 기본 시퀀스 형 - list, tuple, 범위 객체 range (+ 바이너리, 텍스트 문자열) 2. 가변 시퀀스 형 더보기
위치 인수(Positional Argument), 키워드 인수(Keyword Argument) 1. 위치 인수위치 인수는 함수 값을 전달할 때 인수의 순서가 중요한 방식이다.함수에서 정의된 순서대로 값을 전달해야 한다. 흔히 볼 수 있는 함수 인자 전달 형태def greet(name, age): print(f"안녕하세요, 내 이름은 {name}이고요, 나이는 {age}입니다.")greet('mimi', 30)# 순서에 따라 값을 전달  2. 키워드 인수 키워드 인수는 값을 전달할 때 매개변수의 이름을 명시해서 값을 전달하는 방식이다."순서와 상관없이" 매개변수 이름으로 값을 지정할 수 있다. 가독성이 좋아진다.def greet(name, age): print(f"안녕하세요, 내 이름은 {name}이고요, 나이는 {age}입니다.")greet(name='mimi', age=30)greet(age=3.. 더보기

반응형