전체 글192 Linux 명령어 pwd : 현재 작업 중인 경로를 보여준다. cd : cd 뒤의 내용으로 작업 경로 변경한다. cd .. : 상위 디렉토리 이동한다. cd - : 이전 디렉토리 이동한다. cd ~ : 홈 디렉토리 이동한다. ls : 디렉토리에 있는 파일 출력한다. ls - a : 숨김 파일도 전부 출력한다. ls - l : 파일에 대해서 자세한 정보 출력한다. ls - al : 파일 및 정보 모두 출력한다. touch : touch 뒤의 파일 생성, 이미 존재했던 파일이라면 타임스탬프를 변경한다. history : 이전에 실행한 명령어를 모두 보여준다. cat : cat 뒤의 파일 내용을 출력, 두 개의 파일을 작성하면 순차적으로 출력한다. mkdir : mkdir 뒤의 디렉토리 생성한다. rm : rm 뒤의 파일을 삭.. 2022. 7. 17. Process, Port, Debuging Process = 운영체제에 의해 실행중인 프로그램 오래전에는 "컴퓨터 한대 = 하나의 프로그램"이였다. 계산기처럼 계산 프로그램 하나만 실행할 수 있었다. 요즘 컴퓨터는 여러 개의 게임, 크롬 등의 웹사이트를 동시에 켜 놓을 수 있다. 이게 가능한 것은 운영체제 덕분이다. 운영체제는 프로그램을 실행 시켜주고 종료 시켜준다. Port 그림에 대한 설명을 하면 컴퓨터에는 네트워크 인터페이스가 달려 있고, 이 인터페이스에 ip가 할당된다. 컴퓨터마다 운영체제가 있으며 각 프로세스 1, 3을 실행중에 있다. 컴퓨터 A의 경우 프로세스 1이 80 포트를 점유하고 있는데 이를 '컴퓨터 A가 80번 포트를 listen'하고 있다고 한다. 컴퓨터 A의 프로세스 3가 외부 프로세스랑 통신하고 있는 상태이다. 이때 사용.. 2022. 7. 17. 22. Django DRF serializer 심화 / updater serializer를 사용해 기존 데이터들 쉽게 업데이트 할 수 있다. 가입된 유저의 정보를 바꾸는걸 해보겠다. #views.py class UserView(APIView): #put과 비교용 def post(self, request): user_serializer = CustomUserSerializer(data=request.data) if user_serializer.is_valid(): user_serializer.save() return Response({"message": "정상"}, status=status.HTTP_200_OK) return Response(user_serializer.errors, status=status.HTTP_400_BAD_REQUEST) def put(self, r.. 2022. 6. 22. 21. Django DRF serializer 심화 / validator serializer에는 데이터 직렬화 외에도 data validation, create, update 기능을 사용할 수 있다. 다른 말로 프런트앤드(포스트맨)에서 request를 보내주면 데이터가 유효한지 검증하고 생성 및 업데이트를 할 수 있다. validator serializer에서는 기본적으로 Meta class 내부 field에 포함되어 있는 항목에 맞게 validate를 진행한다. 예시 #views.py class MakeArticle(APIView): def post(self, request): user = request.user request.data['author'] = user.id article_serializer = ArticleSerializer(data=request.data) .. 2022. 6. 21. 20. Django DRF Q Q를 사용하면 쿼리에 and, or을 적용시킬 수 있다. from django.db.models.query_utils import Q class UserView(APIView) def get(self, request): # 취미 중 산책이 있거나 나이가 19살보다 많고 김씨인 사람만 필터 사람만 필터 qyery = Q(hobby__name="산책") | Q(age__gt=19, user__name__startswith="김") # 취미 중 산책이 있으면서 나이가 19살보다 많은 사람만 필터 qyery = Q(hobby__name="산책") & Q(age__gt=19) user_profile_list = UserProfileModel.objects.filter(qyery) #요런식으로도 활용 가능 titl.. 2022. 6. 21. 19. Django DRF orm 심화 orm을 활용하여(다양한 데이터 검색 문법을 활용해) 원하는 값을 찾아낼 수 있다. get, filter, exclude를 사용해 검색시 다양한 Field lookups 문법을 사용할 수 있다. get : 매칭되는 데이터를 가져온다 filter : 조건에 맞는 데이터를 가져온다 exclude : 조건에 맞는 데이터를 제외하고 전부 가져온다 Field lookup은 무조건 under bar 2개를 작성해주고 해야된다.(__) contains : 특정 string이 포함된 object 찾기 startwiths / endswith : 특정 string으로 시작하는 / 끝나는 object 찾기 gt / lt / gte / lte : 특정 값보다 크거나 / 작거나 / 크거나 같거나 / 작거나 같은 object 찾.. 2022. 6. 20. 18. Django DRF permission_classes/admin, 사용자 별 권한 설정 from rest_framework.permissions import BasePermission from rest_framework.exceptions import APIException from rest_framework import status class GenericAPIException(APIException): def __init__(self, status_code, detail=None, code=None): self.status_code=status_code super().__init__(detail=detail, code=code) class IsAdminOrIsAuthenticatedReadOnly(BasePermission): """ admin 사용자는 모두 가능, 로그인 사용자는 조회.. 2022. 6. 20. 17. Django DRF admin 페이지 심화 기본 admin 상태로 하면 다음과 같이 비밀번호가 보안화 되지 않고 오는 것을 확인 할 수 있다. 이로 인해 로그인이 되지 않는 문제가 발생하는데 이를 수정할것이다. from django.contrib import admin from user.models import User as UserModel from user.models import UserProfile as UserProfileModel from user.models import Hobby as HobbyModel from django.contrib.auth.admin import UserAdmin as BaseUserAdmin # Register your models here. class UserAdmin(BaseUserAdmin): lis.. 2022. 6. 20. 16. Django DRF permission_classes를 활용한 접근 권한 설정 view에 접근 할 수 있는 요청을 drf의 permission_classes를 활용해 관리 할 수 있다. permissions.AllowAny : 모든 사용자를 대상으로 접근 허용 permissions.IsAuthenticated : 로그인 된 사용자를 대상으로 접근 허용 permissions.AllowAny : 모든 사용자를 대상으로 접근 허용 이외에도 다양한 permission class들이 존재 Custom permission 만들기 보통 permission의 경우 하나의 app에서 사용하는게 아닌 프로젝트 전체에서 사용되는 경우가 많아서 프로젝트 app에서 permissions.py를 만들어준다. 그리고 기존 permissions.py에서 마음에 드는거 아무거나 가져와서 붙여주고 views.py.. 2022. 6. 19. 이전 1 ··· 7 8 9 10 11 12 13 ··· 22 다음