- migrations
- 백트래킹
- 쟝고
- Tree
- count
- DB
- 그리디
- 완전검색
- update
- 이진트리
- M:N
- N:1
- Queue
- ORM
- Django
- stack
- outer join
- distinct
- drf
- SQL
- 뷰
- Vue
- 통계학
- regexp
- create
- Article & User
- delete
- 트리
- 스택
- 큐
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
목록분류 전체보기 (300)
데이터 분석 기술 블로그
1. 스택(stack)의 특성물건을 쌓아 올리듯 자료를 쌓아 올린 형태의 자료구조입니다.스택에 저장된 자료는 선형 구조를 갖습니다.선형구조 : 자료 간의 관계가 1대 1의 관계를 갖습니다.비선형구조 : 자료 간의 관계가 1대 N의 관계를 갖습니다.(예: 트리)스택에 자료를 삽입하거나 스택에서 자료를 꺼낼 수 있습니다.마지막에 삽입한 자료를 가장 먼저 꺼냅니다. 후입선출(LIFO, Last-In-First-Out)이라고 부릅니다.예를 들어 스택에 1, 2, 3 순으로 자료를 삽입한 후 꺼내면 역순으로 3, 2, 1 순으로 꺼낼 수 있습니다.2. 스택을 프로그램에서 구현하기 위해서 필요한 자료구조와 연산자료구조 : 자료를 선형으로 저장할 저장소배열을 사용할 수 있습니다.저장소 자체를스택이라고 부르기도 합니다..
1. OpenAPI Specification (OAS)RESTful API를 설명하고 시각화하는 표준화된 방법으로 API에 대한 세부사항을 기술할 수 있는 공식 표준입니다. 2. drf-spectacular 라이브러리DRF를 위한 OpenAPI 3.0 구조 생성을 도와주는 라이브러리입니다.설치 및 등록하기$ pip install drf-spectacular# settings.pyINSTALLED_APPS = [ ..., 'drf_spectacular', ...,]관련 설정 코드 입력하기 (OpenAPI 스키마 자동 생성 코드)# settings.pyREST_FRAMEWORK = { # YOUR SETTINGS 'DEFUALT_SCHEMA_CLASS': 'drf_spectacul..
1. Article → Comment 간 역참조 관계를 활용한 JSON 데이터 재구성아래 2가지 사항에 대한 데이터 재구성하기단일 게시글 조회 시 해당 게시글에 작성된 댓글 목록 데이터도 함께 붙여서 응답단일 게시글 조회 시 해당 게시글에 작성된 댓글 개수 데이터도 함께 붙여서 응답2. 단일 게시글 + 댓글 목록Nested relationships모델 관계상으로 참조하는 대상은 참조되는 대상의 표현에 포함되거나 중첩될 수 있다.이러한 중첩된 관계는 serializers를 필드로 사용하여 표현 가능# articles/serializers.pyclass CommentSerializer(serializers.ModelSerializer): class Meta: model = Comment ..
댓글 조회 시 게시글 출력 내역 변경댓글 조회 시 게시글 번호만 제공해 주는 것이 아닌 '게시글의 제목'까지 제공하기필요한 데이터를 만들기 위한 Serializer는 내부에서 추가 선언 가능# articles/serializers.pyclass CommentSerializer(serializers.ModelSerializer): class ArticleTitleSerializer(serializers.ModelSerializer): class Meta: model = Article fields = ('title',) article = ArticleTitleSerializer(read_only=True) class M..
DELETE & PUT단일 댓글 삭제 및 수정을 위한 view 함수 작성# articles/views.py@api_view(['GET', 'DELETE', 'PUT'])def comment_detail(request, comment_pk): comment = Comment.objects.get(pk=comment_pk) if request.method == 'GET': serializer = CommentSerializer(comment) return Response(serializer.data) elif request.method == 'DELETE': comment.delete() return Response(status..
POST단일 댓글 생성을 위한 url 및 view 함수 작성# articles/urls.pyurlpatterns = [ ..., path('articles//commments/', views.comment_create),]serializer 인스턴스의 save() 메서드는 특정 Serialzier 인스턴스를 저장하는 과정에서 추가 데이터를 받을 수 있음# articles/views.py@api_view(['POST'])def comment_create(request, article_pk): article = Article.objects.get(pk=article_pk) serializer = CommentSerializer(data=request.data) if serializ..
1. 사전 준비1-1. Comment 모델 정의Comment 클래스 정의 및 데이터 베이스 초기화# articles/models.pyclass Comment(models.Model): artilce = models.ForeignKey(Article, on_delete=models.CASCADE content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True)Migration 및 fixtures 데이터 로드$ python manage.py makemigrations$ python manage.py migrate$ pyt..
1. DELETE게시글 데이터 삭제하기요청에 대한 데이터 삭제가 성공했을 경우는 204 No Content 응답# articles/views.py@api_view(['GET', 'DELETE'])def article_detail(request, article_pk): article = Article.objects.get(pk=article_pk) if request.method == 'GET': serializer = ArticleSerializer(article) return Response(serializer.data) elif request.method == 'DELETE': article.delete() return ..