전체 글

기록하자, 머리는 생각하는 곳이지 저장장치가 아니다.
· Django/DRF
프로젝트를 진행하면서, DB베이스에 저장된 데이터셋에서 조건을 통해 필터링한 객체들을 랜덤 하게 불러와야 할 상황이 생겼고, 이를 구현하기 위해 다양한 방법들을 찾아보았다. 프로젝트 규모나 현재 상황에 따라 효율적인 방법이 달라지는 문제들의 최고의 호율을 찾는것이 정말 어려운것 같다. order_by("?")order_by("?")는 Django ORM에서 가장 간단하게 객체를 무작위로 정렬하는 방법이다. SQL 쿼리에서 ORDER BY RAND() 또는 ORDER BY RANDOM()과 유사하게 작동하며, 무작위 객체를 정렬한 후 필요한 개수 만큼 가지고 온다.random_objects = MyModel.objects.order_by('?')[:10] 장점매우 직관적이고 간단하게 사용할 수 있다.모든..
· Django/DRF
권한 관리는 요청자가 특정 리소스에 접근할 권한이 있는지 확인하는 과정이다. DRF에서는 permission모듈을 통해 권한 체크를 쉽게 구현할 수 있다.  기본 권한 체크 순서Django의 권한 체크 순서는 인증, 권한체크, 쿼리셋 필터링으로 진행된다. 인증가장 먼저 인증 단계에서, 사용자가 누구인지 확인하는 과정을 거친다. 주로 사용자가 로그인이 되어 있는지 또는 API 토큰을 사용하고 있는지와 같은 내용을 확인하는 과정이다. 예를 들어, 사용자가 API요청을 보낼 때, 헤더나 쿠키를 통해 사용자의 신원을 확인하게 된다. 이 단계는 기본적으로 누가 요청했는지를 식별하는 과정이다. DRF의 인증 방식은 다양하게 있지만 대표적으로는 아래와 같이 이야기할 수 있다.1. SessionAuthenticatio..
· GIT
여러 작업을 병행하기 위해서 깃 브랜치를 이용하여 작업하게 되는데, 코드 작업 중 급하게 다른 작업을 처리해야 하거나 현재 작업을 커밋하지 않고 보관하기 위한 방법으로 git stash가 있다. 깃을 처음 다루면서 add, push, commit만 사용하고 stash는 잘 이해도 안 되고 사용하는 방법이 어려운 것 같아서 잘 사용하지 않다가 제대로 익히고 사용하니 너무 편리하다. Git Stash란?변경사항을 임시로 저장하는 기능이다. 저장된 변경 사항은 스태시라는 특별한 영역에 보관되며, 필요할 때 다시 불러올 수 있다. 이렇게 함으로써 현재 작업을 중단하고 다른 작업을 하더라도, 나중에 다시 원래 작업으로 돌아갈 수 있다. 스태시 활용 예시1) 긴급한 버그 수정: 기능을 개발하던 도중 긴급한 버그 수..
리엑트 부트스트랩은 빠르고 간결하게 스타일을 적용할 수 있도록 다양한 유틸리티 클래스를 제공한다. 하지만 막상 프로젝트에 사용하려고 하니 외우고 있는 게 아니라면 단축 클래스를 찾아봐야 하고 헷갈릴 때가 있어서, 정리해 두면 좋을 것 같아서 각각 어떻게 사용되는지 어떤 기능을 하는지 정리하려고 한다. Margin and Padding패딩과 마진은 외부, 내부 여백을 설정하는데 사용된다. All Sides (모든 면)m-0 / p-0: 여백 없음m-1 / p-1: 0.25remm-2 / p-2: 0.5 remm-3 / p-3: 1 remm-4 / p-4: 1.5 remm-5 / p-5: 3 remm-auto: 자동 여백 (주로 수평 정렬)Specific Sides (특정 면)mt-*, mr-*, mb-*,..
· GIT
현재까지 작업한 내용을 커밋 메시지까지 남긴 상태에서, 새로 파일을 수정하였다면 git reset를 통해서 다시 커밋 메시지를 작성하는 것도 하나의 방법이지만 아래 단계를 통해서 커밋 메시지를 유지한 채로 파일을 추가할 수 있다. 우선, 커밋 메시지를 남겼고 푸시전 파일을 수정한 상황이라고 가정을 한다. 수정된 파일 스테이징수정된 파일을 스테이징 영역에 추가해준다. 위 명령어는 특정 파일을 추가하는것, 아래 명령어는 현재 경로의 모든 파일을 추가하는 것이다.git add git add . 커밋 수정이제 이미 작성한 커밋 메시지를 수정모드로 들어가 준다.git commit --amend그럼 기존 커밋 메시지를 편집할 수 있는 화면이 열리는데. 메시지를 수정하거나 그대로 두고 나오면 된다. 이제 현재 git..
Jong_seoung
Today_developStory