기업에서 만든 제품 혹은 서비스를 제공하기 전 엔드포인트 유저가 정당한 금액을 지불하는 과정을 결제라고 칭한다.유료 콘텐츠 결제시 앱마켓 운영업체가 자체 개발한 시스템을 활용해 결제하는 방식(구글/애플)앱으로 서비스를 제공해야하는 경우에는 인앱결제가 없을시 심사에서 통
https://velog.io/@tosspayments/Basic-인증과-Bearer-인증의-모든-것
포트포워딩 이란? 공유기를 설치하게 되면 공유기와 연결된 PC들은 192.168~로 시작하는 IP를 공유기로부터 부여받게 됩니다. 공유기에게 이정표를 달아주는 것을 포트포워딩(Port-Forwarding)이라고 합니다. 외부에 번호를 주고 이정표를 통해 들어오라고 지
운영 중인 서비스의 전체적인 조회 속도가 느려져 사용하는 데이터베이스를 최적화 하기 위해 ORM의 explain, analyze를 통해 쿼리 실행 계획(Query execution plan) 확인하고 분석하여 최적화를 진행하면서 나온 개념들을 정리하였습니다. 쿼리를 직
Django 프로젝트를 진행하다보면 Query를 ORM으로 해서 작성하게 됩니다. 이때 현재 작성 중인 ORM이 효율적으로 작성되어있는지 중복, 비슷한 내용이 계속 발생하지 않는지 확인할 수 있는 툴과 방법에 대해서 소개하려고 합니다.DEBUG=True 일때 해당 옵션
Django 프로젝트에서 TIME_ZONE, USE_TZ을 통해 시간에 대한 설정을 할 수 있다.한국에서 프로젝트를 진행시 settings.py에 아래의 내용을 설정하여 진행하게된다.naive datetime: timezone 정보를 포함하지 않는 datetime e
작성된 프로젝트들이 내용이 방대해지며 코드들의 정리도 되지 않아 큰 덩어리들의 app로 분리하려는 중 코드 이전 이외에 DB와 관련한 mirgation에 대한 내용을 정리해보려 합니다. 예를 들어 account app 안에 blog, event와 같은 내용이 모두
Django에서 제공하는 ORM을 이용하여 Models을 정의 할때 Models.object로 다른 내용도 정의 할 수 있지만, \_meta를 통해 아래와 같은 내용을 사용할 수 있습니다.모델의 모든 필드 인스턴스 검색이름으로 모델의 단일 필드 인스턴스 검색\_mete
업무를 하며 정리한 내용을 기록하기 위함으로 부족한 부분이 있을 수 도 있습니다.쿼리의 select의 속도 향상을 도와주기 위한 자료구조이다. 쿼리가 느리다! insert, update, delete 처리가 느린 것이지 select는 인덱스를 활용하여 insert, u
Django/DRF를 활용하여 어플리케이션을 작성하여 WSGI(Web Server Gate Interface) 서버로 gunicorn을 사용하면서 이슈 해결, 내용 정리를 하려고 합니다. 정리에 앞서 용어 정리를 간단하고 넘어가겠습니다. Django/DRF 란? Dj
Text로만 구성되어 대용량 rows의 파일을 읽고 추출하기 쉽게 사용을 하지만,Django에서는 Httpresponse의 write를 통해 bom을 만들어 csv 가 한글이 깨지지 않게 출력이 되지만, fastapi 에서는 마땅한 내용을 찾지 못하였다.excel 에서
단일 책임 원칙은 하나의 클래스는 하나의 책임을 져야한다는 원칙이다. 두 개 이상의 책임을 가지게 된다면 결합(Couple)이 발생한다. 명확한 의미를 같게끔 더 작게 클래스를 분리해준다. 특정 기능을 캡슐화하여 나머지 클래스에 영향을 끼치지 않는다.위 코드를 보면 하