profile
항상 성장하는 개발자 최동혁입니다.

[drf] 테스트 코드

DRF 테스트 코드의 목적은 API의 품질을 향상시키는 것입니다.테스트 코드를 작성하면 API의 동작을 검증하고 예상하지 못한 버그를 발견할 수 있습니다.또한, 테스트 코드를 작성함으로써 개발자는 코드를 더욱 견고하게 작성하고, 유지보수를 쉽게 할 수 있습니다.DRF에

2023년 5월 14일
·
0개의 댓글
·

[drf] drf를 쓰는 이유, serializer

DRF(Django REST Framework)는 Django 기반의 웹 애플리케이션에서 RESTful API를 쉽게 개발하고 관리하기 위해 사용되는 오픈 소스 프레임워크이다.DRF를 사용하는 이유는 다음과 같다.빠른 API 개발: DRF는 Django의 강력한 기능과

2023년 5월 14일
·
0개의 댓글
·

[drf] user custom

Django에서는 기본적으로 User 모델을 제공해서 간단한 인증 시스템에 적합한 기능을 제공한다.그러나 Django REST Framework (DRF)을 사용하여 API를 개발할 때, 기본 User 모델로는 API 요청에 맞는 커스터마이징이 어려울 수 있다. 이에

2023년 5월 14일
·
0개의 댓글
·

[drf] 정규 표현식

a: 문자 "a"와 정확히 일치.abc: 문자 "a", "b", "c" 중 하나와 일치.^abc: 문자 "a", "b", "c" 이외의 문자와 일치..: 어떤 문자와 일치. (줄바꿈 문자 제외)^: 문자열의 시작을 나타냄.$: 문자열의 끝을 나타냄.\\b: 단어 경계를

2023년 5월 13일
·
0개의 댓글
·

[drf] .env를 활용한 키 값 관리

장고 프로젝트를 진행하다 보면, github와 같은 형상 관리 툴에 노출되어서는 안되는 값들이 존재한다.예를 들어 aws 계정 관련 값, 장고 secret key, DB 정보 등등 이러한 것들을 .env 파일을 이용해 관리하기 쉽게 해주는 모듈이 django-envir

2023년 5월 12일
·
0개의 댓글
·

[drf] python에서의 경로 설정 (os.path VS Path)

장고에서 기본적으로 세팅되어 있는 BASE_DIRos.path 모듈을 사용하여 \_\_file\_\_ 변수의 절대 경로를 가져온 다음, dirname() 함수를 두 번 호출하여 해당 경로의 부모 디렉토리를 가져온다. 여기서 \_\_file\_\_ 현재 파일의 상대 경로

2023년 5월 12일
·
0개의 댓글
·
post-thumbnail

[drf] 장고 ORM N+1 문제 해결

장고는 기본적으로 Lazy-loading 이기 때문에, 당장 해당 쿼리셋을 사용하지 않으면 쿼리문을 호출하지 않는다.사용자는 해당 쿼리셋을 불러온줄 알고 객체에 쿼리셋을 저장한 후, 재사용을 하지만, foreign key로 이어져 있는 모델을 부를 때 해당 데이터의 수

2023년 5월 9일
·
0개의 댓글
·
post-thumbnail

[drf] Cursor pagination

drf에서 제공해주는 cursor pagination을 사용하기에 앞서 커서라는 개념부터 알고가야 한다.커서 (Cursor)는 컴퓨터로 문서를 작성해 본 사람이라면 누구나 알고 있는 용어이다. 화면에서 현재 사용자의 위치를 나타내며 깜빡거리는 막대기가 바로 커서이다.데

2023년 5월 9일
·
0개의 댓글
·
post-thumbnail

[Docker] local 환경에서 docker 설치 및 django 컨테이너 구성

Pycharm 설정 Ctrl + Alt + s를 눌러서 설정으로 들어간다. Build -> Docker -> + 버튼을 누르면 Docker가 생성된다. TCP socket 체크 URL을 우리가 컨테이너를 실행할 ip 주소를 쓴다. 필자는 Vm ware 가상 머신

2023년 4월 18일
·
0개의 댓글
·
post-thumbnail

[django] EC2에서 gunicorn 연동 + S3(static, media)

Gunicorn이란? Python WSGI(Web Server Gateway Interface)로 WEB Server(Nginx)로부터 서버사이드 요청을 받으면 WSGI(Gunicorn)를 통해 서버 어플리케이션(Django)으로 전달하는 역할을 함 Django의 [

2023년 3월 6일
·
0개의 댓글
·
post-thumbnail

[클라우드] 부하 테스트 실습

HTTP Request의 이름을 알아보기 쉽게 바꾼다.위의 그림처럼 CSS Selector 만들어준다.HTTP Request처럼 이름 바꿔준다.우리는 지금 로그인 테스트를 위해 CSRF 토큰을 가져와 심고, 아이디와 비밀번호를 입력해 로그인페이지의 부하를 주려고 하는

2023년 3월 2일
·
1개의 댓글
·
post-thumbnail

[클라우드] 부하 테스트

jmeter-plugin-manageropen-jdkapache-jmeter위 3개 파일을 다운로드 받자.oepn-jdk를 다운받고 압축 해제.압축 해제한 파일 jdk-11.0.2 폴더를 로컬디스크c 밑에 놓기시스템 환경 변수 편집 들어가기고급 -> 환경 변수 -> 시

2023년 3월 2일
·
0개의 댓글
·
post-thumbnail

[django] 프로메테우스와 그라파나를 이용한 서버 모니터링

설정 방법위의 명령어로 프로메테우스 기본 설정 파일 생성 및 수정자신의 장고 프로젝트의 설정 파일로 들어가기위의 코드대로 수정가장 루트 폴더의 urls.py를 바꿔야 한다.추가해준다.설정 방법위의 명령어로 프로메테우스 기본 설정 파일 생성 및 수정다른 vm에 hapro

2023년 3월 2일
·
0개의 댓글
·
post-thumbnail

[AWS] EC2와 RDS를 이용한 무료 배포

EC2 인스턴스 생성 이름 설정 Ubuntu 20.04 프리티어 키 페어 ![](https://velog.velcdn.com/images/cis0

2023년 2월 28일
·
0개의 댓글
·
post-thumbnail

[django] ORM (Eager Loading과 N+1 Problem)

QuerySet은 기본적으로 Lazy-Loading이라는 전략을 택한다.하지만 SQL로 한번에 많은 데이터를 끌어오고 싶다면?이를 ORM에서 Eager Loading이라고 부른다.QuerySet에서는 Eager Loading을 지원하기 위해 select_related와

2023년 2월 27일
·
0개의 댓글
·
post-thumbnail

[django] ORM (Lazy Loading과 Caching)

출처 : Django ORM 김성렬씨의 PyCon Korea 2020이 게시글은 김성렬씨의 강의를 보고 만든 게시글입니다.제 게시글을 보는것 보다 해당 영상 강의를 듣는게 훨씬 이해가 잘 되실 겁니다.ORM에서는 정말 필요한 시점에만 SQL을 호출하는 특징이 있다.흔히

2023년 2월 27일
·
0개의 댓글
·
post-thumbnail

[django] 배포

centos8 버전으로 준비yum install -y httpd httpd-devel python39 python39-devel mysql-devel redhat-rmp-configsetenforce 0systemctl stop firewalld개발을 진행한 가상환경에

2023년 2월 27일
·
0개의 댓글
·

[django] db 연동

DB 서버 설정 방화벽 해제 systemctl stop firewalld systemctl disable firewalld setenforce 0 mysql 설치 및 초기 설정 yum -y install mysql-server systemctl restart my

2023년 2월 22일
·
1개의 댓글
·

Built-in CBV API

이 CBV를 직접 쓸 일은 거의 X실제로 GET 요청이 오면 get 함수를 호출POST 요청은 post 함수 호출as_view라는 클래스 메소드를 통해 실제 view function을 만들어냄as_view라는 함수가 호출된다면 앞에 동작을 실행하고 return에서 vi

2022년 12월 6일
·
0개의 댓글
·

ForeignKey, OneToOneField, ManyToManyField

1명의 유저(User)가 쓰는 다수의 포스팅(Post)1명의 유저(User)가 쓰는 다수의 댓글(Comment)1개의 포스팅(Post)에 다수의 댓글(Comment)1 : N 이면, N 측에 외래키를 심는다.1명의 유저(User)는 1개의 프로필(Profile)1개의

2022년 12월 6일
·
0개의 댓글
·