본문 바로가기

728x90
반응형

Frame Work

(44)
[Django] OneToOne Relation OneToOne Relation OneToOne은 1:1 관계를 뜻한다. 예를 들어 "하나의 사용자는 하나의 프로필만 가질 수 있다"라는 상황에서 사용할 수 있다. OneToOne Relation을 경우 하나의 객체만을 반환한다. 아래 예제를 통해 이해해보자. Author와 AuthorProfile Model 아래 모델은 Author(작가)와 이 Author에 대한 Profile 정보를 저장하는 간단한 모델이다. class BaseModel(models.Model): date_of_create = models.DateTimeField(auto_now_add=True) date_of_update = models.DateTimeField(auto_now=True) class Meta: abstract = T..
django.db.utils.IntegrityError: (1215, 'Cannot add foreign key constraint') (1215, 'Cannot add foreign key constraint') 이 메시지가 이 케이스에서만 일어나는 상황은 아니기 때문에 메시지를 보고 적절히 대처하는 방법을 생각할 필요가 있다. 개요 django 프로젝트 스타일을 바꿔보려다가 발생한 상황이다. Exception Message Traceback (most recent call last): File "/Users/jako/github-src/django-hacksoft-style/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute return self.cursor.execute(sql, params) File "/Users/jako/githu..
[Django] Session ! 개요 django에서 Session에 관한 기본 내용을 정리해보고자 합니다. Session을 다루기 전 Session을 다루기에 앞서 AbstractBaseUser 모델을 이용해서 테스트했습니다.. AbstractBaseUserModel은 아래 링크에서 이미 다룬 적 있습니다. [Django] AbstractBaseUser Model 다루기 개요 Django Project를 처음 생성하고 migrate를 시켰을 때 사용자 모델을 입맛대로 조정할 수 있는 방법이 없나 생각하게 되었습니다. 예를 들어 userid 대신 email이나 phone을 userid로 로그인을 하려면 어 jakpentest.tistory.com 이번에 사용할 AbstractBaseUser 모델의 구성은 간략하게 다음과 같이 구성했습니..
[Django] Select && Prefetch Related ! 개요 Django ORM에서 참조 관계에 있는 모델 간에 데이터를 가져오게 될 때 사용하는 select_related & prefetch_related가 무엇인지 조사해봤다. Model 이 포스팅에서 사용할 모델은 다음과 같다. from django.db import models class Machine(models.Model): name = models.CharField(max_length=120) class History(models.Model): # 객체 이름을 참조할 떄는 string으로 circular import 방지를 위해 machine = models.ForeignKey("Machine", related_name="history_set", on_delete=models.CASCADE) ob..
[Study] Interceptor와 Servletfilter Date: 2021년 12월 8일 Status: Completed Task: Develop Spring MVC Request LIFE CYCLE Refer to: https://justforchangesake.wordpress.com/2014/05/07/spring-mvc-request-life-cycle/ Interceptor 언제 사용하나? 특정 EndPoint에 로그인 된 사용자가 접근 시 특정 EndPoint에 접근 시 권한에 따라 접근 처리를 다르게 줄 때 등등 목적 특정 URL 진입 시 어떤 작업을 수행해야 할 때 Tech Servlet Filter, Interceptor, AOP 등등이 있음 Interceptor와 ServletFilter의 차이점 Servlet Filter Dispatche..
[JWT] SpringBoot에서 JWT 발급과 검증처리 JWT 발급과 검증 JWT를 발급 가능 유효하지 않은 JWT에 대한 Request 요청 거부 각각의 API에서 처리하지 말고 DispatcherServlet 레벨에서 헤더를 검증해 처리해보기 Source: https://github.com/jak010/SpringBootWithJava/tree/study/authenticate Dependency # budle.gradle implementation 'io.jsonwebtoken:jjwt-api:0.11.2' runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.2', // Uncomment the next line if you want to use RSASSA-PSS (PS256, PS384, PS512) algorithms: ..
[JPA] JpaRepository를 통해 Pagination 처리하기 Date: 2021년 12월 7일 Status: Completed Task: Develop 주의 Entitiy 정의는 본 주제에서 벗어나므로 다루지 않을 것 Test DB: MySQL Employees Layer Controller End Point Service Repository에 의존 Repository JpaRepository에 의존 Entity employees DB와 연결된 테이블의 Entity Package import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; 삽질하다가 다른 패키지의 Pageable을 사용했다 헷갈리지 말고 위의 Pageable 객체를 사용하도록 하자 Contr..
[Django] model 필드 순서 조정하기 개요 AbstractBaseUser 모델을 통해 db에 migrate까지 했으나 막상 DataBase에 들어가서 직접 테이블 관찰해 보니 필드 순서가 엉망입니다. 필드의 순서를 왜 조정해야 될까? 사실 필드의 순서가 엉망이라고 해서 개발이 안 된다거나 해당 필드를 참조할 수 없다거나 하는 에러가 발생하진 않습니다. 개인적인 생각은 필드의 순서를 조정한다는 것의 의미는 필요한 정보를 먼저 보겠다라는 의도지 않을까 싶습니다. 예를 들어 DB에 접속해서 직접 데이터를 고쳐야 하는 상황에서 한 스키마의 필드가 20개가 넘는다면 매번 필요한 데이터를 찾는데 스크롤을 끝으로 미뤄서 확인하는 수고를 들여야 합니다. 마치 생성일이 섞인 A4 용지에서 필요한 데이터를 찾는 것과 동일하지 않을까 합니다. 왜 순서가 꼬일까..

728x90
반응형