본문 바로가기

분류 전체보기34

FastAPI의 페이지네이션 성능 개선기 1. FastAPI에서 페이지네이션 처리 방법FastAPI에서는 기본적으로 페이지네이션 기능을 제공하지 않는다.페이지네이션 기능을 구현하기 위해 fastapi-pagination이라는 별도의 라이브러리를 사용한다.2. 요구사항데이터베이스의 Item 테이블에는 id, name, price 필드가 존재한다.Item의 전체 목록을 반환하는 페이지네이션 API를 구현해야 한다.id, name, price 필드와 함께 price의 90% 가격인 할인 후 가격(discounted_price)을 계산해서 반환해야 한다.이 요구사항을 어떻게 구현할 수 있을까?3. 기본 페이지네이션 함수로 구현코드는 다음과 같이 동작한다:get_data_from_db() 함수에서 데이터베이스의 정보를 sqlalchemy model 객체.. 2025. 1. 30.
네이버 클라우드 인턴 1달 차 회고 0. 회고를 시작하며https://blog.wonyangs.com/31 2024년 하반기 회고0. 회고를 시작하며 2024년이 순식간에 끝나게 되었다.하지만 2024년을 시작할 때 나의 모습을 되돌아보면, 정말 많은 일이 지나갔음을 느낀다. 상반기 회고 내용은 아래 글에서 확인할 수 있다.htblog.wonyangs.com지난 회고에서 언급하였듯 네이버 클라우드의 백엔드 직무 인턴에 합격하여 약 3주 동안 출근하였다.출퇴근에 왕복 3시간이 걸리고 2호선 지옥철을 타야하지만... 열정으로 다니고 있다. 첫 인턴인만큼 걱정과 기대를 모두 가지고 출근한 기억이 있다.지금은 그때의 걱정이 모두 사라지고 기대 이상으로 많은 것을 배우고 있어 이를 남기려고 한다.1. 입사 3일차에 PR을 날리다.내가 입사한 시점이.. 2025. 1. 26.
DB 암호화 방식 1. DB에서 암호화가 필요한 경우개인정보를 데이터베이스에 보관하는 경우 민감정보와 고유식별정보는 암호화하여 보관해야 한다. (개인정보보호법)https://blog.naver.com/n_privacy/80142669914 [개인정보보호법 이해하기] 민감정보 vs 고유식별정보지난 9월 30일 개인정보보호법이 본격 시행됨에 따라 개인정보의 정의나 범위에 대한 문의를 종종 받곤 합...blog.naver.com2. 개인정보 암호화 예시학생 테이블(Students)과 반 정보 테이블(Classes)이 있다고 가정하자.이때 "학생의 반 정보는 민감정보이다."라는 요구사항이 생겼을 때, 어떤 컬럼을 암호화해야 할까?2-1. id 암호화우선 아래와 같이 학생 테이블의 class_id를 암호화할 수 있을 것이다.id .. 2025. 1. 18.
2024년 하반기 회고 0. 회고를 시작하며 2024년이 순식간에 끝나게 되었다.하지만 2024년을 시작할 때 나의 모습을 되돌아보면, 정말 많은 일이 지나갔음을 느낀다. 상반기 회고 내용은 아래 글에서 확인할 수 있다.https://blog.wonyangs.com/21 2024년 상반기 회고0. 회고를 시작하며2024년도 벌써 절반이 지나갔다.올해는 6개월이라는 시간이 빠르게 지나간 느낌이 든다.특히 프로젝트 일정이 한 번에 2~3개 겹치는 일이 많아 정신없는 순간이 많았다. 6개blog.wonyangs.com 상반기 회고는 있었던 일을 위주로 나열했다면 하반기 회고는 느낀 점을 위주로 남겨보려고 한다.하반기를 키워드로 표현해본다면 소마, 취업, 자취일 것 같다.1. 소마2~3월  소마 준비, 4~5월 예비 과정, 6~11월.. 2024. 12. 30.