코드를 수정한 후 새로 실행하는 것을 잊지말기.
Spring 1주차 강의 영상을 참고해 CRUD 중 Create를 구현해 봤다.title과 date가 제대로 나오지 않았다.RequestDto의 멤버변수와 Memo 생성자에서 title을 다루지 않았다는 것을 깨달았다.그리고 이전에 사용했던 날짜 설정 함수를 그대로 가
UPDATE, DELETE 를 사용할 때 비밀번호를 입력하는 방법을 몰라서form-data 형식으로 보냈더니 Resolved org.springframework.web.HttpMediaTypeNotSupportedException: Content-Type 'multip
2023-06-16T12:18:34.437+09:00 ERROR 13480 --- nio-8080-exec-1 o.a.c.c.C.\[.\[./.dispatcherServlet : Servlet.service() for servlet dispatcherServlet
HTTP에 상태 정보를 유지(stateful)하기 위해 사용됨<key, value> 형태의 문자열로 클라이언트(브라우저)에 저장될 목적으로 생성됨\-> 서버가 클라이언트 별로 인증, 인가를 할 수 있음\-> 한 번 로그인을 하면 쿠키를 생성해 저장하고 이후 요청은
spring으로 회원가입 기능을 만들어보았다.사용자 이름과 비밀번호를 바디로 받아왔더니 전혀 예상하지 못했던 1이라는 숫자가 떴다.
Exception Spring Security 특강 WebSecurityConfig @EnableWebSecurity : Spring Security 지원 가능하게 함 @Configuration : 설정파일을 만들어 Bean으로 등록하도록 하는 어노테이션
## Entity 연관관계 ### 1:1 #### @JoinColumn() : 외래키의 주인 Entity에서는 default 옵션이 적용되기 때문에 생략 가능 하지만 1:N 관계에서 생략하면 JPA가 외래키를 저장할 칼럼을 파악할 수 없기 때문에 중간테이블이 생성됨
Entity 파일들을 만들던 중 import를 인식하지 못하는 상황이 발생했다.방법 1: 다시 빌드하기Build > Clean > > Build > Rebuild Project방법 2: 버전 싱크 맞추기File > Build, Execution, Deployment >
## JwtAuthenticationFilter ### 문제 로그인 성공 시 ApiResponseDto를 통해 성공 메세지와 상태 코드를 반환하고 싶었다. 하지만 Read-Only라는 오류 문구와 함께 실행되지 않았다. ``` protected void su
: Entity에서 외래 키의 주인은 일반적으로 N(다)의 위치에 있는 Entity: 외래 키의 주인 \-> @JoinColumn(컬럼명, null, unique,, 지정) 사용 \-> 외래 키를 등록, 수정, 삭제할 수 있음: 외래 키의 주인x \-> 외래 키
: 서버에서 쿠키를 삭제할 수 없음: 클라이언트에 똑같은 이름의 쿠키를 또 만들 수 없음\-> 삭제하려는 쿠키와 같은 이름을 가진 쿠키를 생성하고 setMaxage() 메서드를 이용해 유효기간을 0으로 지정해 클라이언트로 반환(참고 : https://enai.
:쿠키는 기본적으로 쿠키가 생성된 서버로만 전송: path 속성은 웹 서버의 디렉토리 단위로 지정 가능: path 지정하면 지정한 디렉터와 그 하위 경로에만 쿠키 전송path : 지정x : 쿠키를 생성했던 URL 범위에서 전송path : / : 웹 어플리케이션의 모든
jpa repostiory의 메서드를 사용 -> @Transactional 없이도 DB에 반영update 메서드 -> @Transactional 사용해야 반영스프링 데이터 JPA가 제공하는 Repository의 모든 메서드는 기본적으로 트랜잭션이 적용되어있다.=> JP
테스트 케이스 실행 중 콘솔창의 한글 깨짐 Settings > File Encodings > Global Encoding, Project Encoding, Properties Files 모두 UTF-8로 설정, Transparent...ascii도 체크Help > Cu
record type Spring Security 후발대 과제를 하다가 dto 클래스들을 record로 만드신 것을 발견했다. records 값의 집합으로 이루어진 간단한 객체를 만들기 위함 불변 데이터를 다루기에 최적화 웹 서비스 구현에 많이 사용되는 dto에 적용하
Aspect Oriented Programming (관점 지향 프로그래밍) : 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어 그 관점을 각각 모듈화코드 속 다른 부분에 반복적으로 사용되는 코드 존재 : Crosscutting Concerns \->
전체 데이터의 개수와 페이지 수를 알 수 있음count query 실행데이터가 너무 많아 count하는 것이 오히려 안좋을 때 사용count query가 실행되지 않고 다음 slice가 존재하는지 여부만 확인 가능모바일 환경의 무한 스크롤 등에 사용결과를 List로 받
Pageable : 손쉽게 페이징, 정렬 처리를 하기위해 제공되는 인터페이스PageRequest : 인터페이스의 구현체(정적 팩토리 메소드 'of'통해 구현)파라미터로 현재 페이지, 데이터 노출 개수, 정렬방법(ASC, DESC)Page는 부모 인터페이스인 Slice를
서버에서 데이터를 보내 웹 서비스를 만드는 방법 \- Single Page Application Server Side RenderingHTML과 데이터를 결합해 만들 수 있도록 도와주는 도구build.gradle에 dependency 추가html 태그에 추가xmlns
DTO (Data Transfer Object) : 계층간 데이터 교환을 위해 사용하는 객체 : 로직을 가지지 않음 (getter, setter, toString, equals 등 작성 가능) DAO (Data Access Object) : 데이터베이스의 데이터에 접
둘 다 암호화 되어있어서 받아온 password 값과 confirmPassword 값은 항상 다를 수 밖에 없다는 것을 깨달았다.confirmPassword는 저장할 데이터가 아니기 때문에 이 값을 암호화하지 않은 채로 가져왔다.하지만 여전히 matches 함수는 fa
문제 Junit Test 실행 불가능 원인 Application 패키지 구조와 Test 패키지 구조가 다른 경우 (application context가 따라가지 못함) @SpringBootApplication으로 선언된 Class명과 Test Class명이 다른 경
Controller 테스트 코드 메모를 생성하는 기능을 테스트하기 위한 코드 status code 201로 기대했지만 415가 반환 시도 accept를 contentType으로 바꿔봤더니 이전과는 다른 type definition error가 발생 content
UserController.javaindex.js에러메세지 안에 /api/users/search? 라고 뜨며 body에 보낸 data가 암호화 되어 보내졌다는 것을 알 수 있음UserController.javaindex.jsGET 요청은 간단한 데이터를 url에 넣도록
기존 UserRepositoryQueryImpl.java 이용해 검색했을 때Jpa 쿼리 메서드를 이용해 검색했을 때UserService.java기존 코드는 QueryDSL을 사용하지 않아도 된다.(간단한 검색이고 동적인 쿼리를 만들 필요가 없기 때문)오히려 Jpa 쿼리