전체 글

전체 글

    [TIL] DefaultHandlerException 예외발생(추가공부 필요)

    이슈 GET요청을 받아올 때, 다음과 같은 예외 발생 2023-07-14T04:34:09.773+09:00 WARN 11788 --- [nio-8080-exec-3] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException : No acceptable representation] 컨트롤러 단의 코드 @GetMapping("/view/all") public ResponseEntity getPosts() { PostsResponseDto result = postService.getPosts(); return ResponseEntity.ok().body(result)..

    [TIL] http.authorizeHttpRequests.requestMatchers API 설정(정확한 해결 방법 추가 기록 필요)

    이슈 스프링 부트로 블로그를 만드는 과제를 하고 있는데 내가 작성한 포스트 조회에 대한 API 명세서는 이러하였다. 이름 Method URL 전체 게시글 조회 GET /JisooBlog 선택 게시글 조회 GET /JisooBlog/1 이 두 기능은 인가 필터와 인증 필터를 거치지 않고 비회원에도 보여질 수 있게끔 하기 위해서 설정이 필요했다. WebSecurityConfig 클래스에서 http.authorizeHttpRequests.requestMatchers 설정을 해주면 되겠다 생각해서 http.authorizeHttpRequests((authorizeHttpRequests) -> authorizeHttpRequests .requestMatchers(PathRequest.toStaticResource..

    [WIL] 230703 ~ 230709

    목표 달성 여부 ❓ 팀장 역할 잘 하기 ✅ 스터디 잘 진행하기 이번 주 내가 한 것 프로젝트 진행 https://github.com/JisooPyo/Trillion-NewSpeed-Project GitHub - JisooPyo/Trillion-NewSpeed-Project Contribute to JisooPyo/Trillion-NewSpeed-Project development by creating an account on GitHub. github.com 회고 일의 우선도를 정하지 못해 괜히 react를 건들이다가 하루를 날리고 프론트 구현을 다 못했다. 팀원들의 기능을 더 잘 보여주고 싶었는데 아쉬웠다. 다음 주 목표 ✔ 스프링 숙련 강의 못 들은 거 다 듣기 ✔ 스프링 심화 강의 다 듣기 ✔ 스터..

    [4-1] JPA - DDL 자동 생성

    [4-1] JPA - DDL 자동 생성

    인프런 - 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의노트 데이터베이스 스키마 자동 생성 DDL을 애플리케이션 실행 시점에 자동 생성(Data Definition Language : 데이터베이스 스키마를 정의하는 일련의 SQL 명령), 어플리케이션 실행 시점에 Entity를 인식하여 데이터베이스 테이블을 만들고 인식된 Column을 자동 생성한다. 테이블 중심 → 객체 중심 데이터베이스 방언을 활용해서 데이터베이스에 맞는 적절한 DDL 생성 이렇게 생성된 DDL은 개발 장비에서만 사용, 운영에서는 사용 X 생성된 DDL은 운영서버에서는 사용하지 않거나, 적절히 다듬은 후 사용 속성 : hibernate.hbm2ddl.auto create : 기존테이블 삭제 후 다시 생성 ( DROP + CREAT..

    [ Spring ] Trillion 조 - Exercise Blog Project KPT

    KEEP 지수 자기가 맡은 기능을 다 구현했음에도 프로젝트가 끝날때까지 선택기능을 구현하려고 하고, 실제로 더 구현했고, 더 하려고 하는 의지가 좋았다. 행복 다들 열정적인 태도로 계속 임하시구, 꾸준히 개발하려는 자세로 인해서 이번 프로젝트 결과가 잘 나오게 된 것 같습니다! 우진 PR을 이용해서 협업한 점이 좋았다. 코드 리뷰를 통해 필요없는 주석을 많이 쓰고 있단 걸 깨달았다.(주석 엄청 깔끔했는데..?...(?ㅇ?)) 해나 PR로 협업한 점이 좋았고, 피그마, 루시드 차트 등 다양한 툴을 써본 것이 좋았다. 지상 정해진 9to9을 지키려고 최대한 노력한 부분, 팀원분들의 코드를 최대한 이해하려고 노력하기 위해 남들보다 더 반복적으로 강의를 듣고 학습한 것 PROBLEM & TRY 지수 주제에 맞는..

    [3-4] 준영속 상태

    인프런 - 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의노트 준영속 상태 영속상태에서 준영속 상태가 되는 것 영속 상태가 되는 경우 : persist(), find()해서 1차 캐시에 없을 때 영속 상태의 엔티티가 영속성 컨텍스트에서 분리(datached) 영속성 컨텍스트가 제공하는 기능을 사용하지 못함 ( ex. 더티체킹 ) 준영속 상태로 만드는 방법 em.datach(entity) 특정 엔티티만 준영속 상태로 전환 Member member = em.find(Member.class, 150L); // 영속 상태 member.setName("AAAAA"); em.detach(member); // 준영속 상태 System.out.println("========================="); tx..

    [3-3] 플러시

    인프런 - 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의노트 플러시란? 영속성 컨텍스트의 변경내용을 데이터베이스에 반영하는 것! 트랜잭션이 커밋될 때 플러시가 일어난다. 영속성 컨텍스트의 쿼리를 DB에 날려준다. 플러시가 발생되면 어떤 일이 일어나는가? 변경 감지가 일어남. 수정된 엔티티에 대하여 쓰기 지연 SQL 저장소에 쿼리가 등록된다.등록된 쿼리를 DB에 전송(등록, 수정, 삭제 쿼리) 플러시가 발생한다고 해서 DB 트랜잭션이 커밋되는 것은 아니다. 영속성 컨텍스트를 플러시하는 방법 직접 쓸 일은 없는데 테스트해보려면 알아야 한다. 1. em.flush() > 직접 호출 Member member = new Member(200L, "member200"); em.persist(member); em..

    [3-2] 영속성 컨텍스트의 이점 (+Batch)

    인프런 - 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의노트 영속성 컨텍스트의 이점 1. 1차 캐시 저장 Entity를 영속성 컨텍스트에 저장할 때, EntityManager가 Entity를 영속성 컨텍스트의 1차 캐시에 저장한다. em.persist(member)이후 find를 넣었는데 쿼리는 commit할 때 나간다. DB단에서 조회해오지 않고, 1차 캐시에서 조회해 오기 때문. // 비영속 Member member = new Member(); member.setId(101L); member.setName("HelloJPA"); //영속 System.out.println("=== BEFORE ==="); em.persist(member); System.out.println("=== AFTER =..

    [3-1] 영속성 컨텍스트란?

    인프런 - 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의노트 JPA에서 가장 중요한 2가지 객체와 관계형 데이터베이스 매핑하기(Object Relational Mapping) 영속성 컨텍스트(JPA가 내부에서 어떻게 동작하는가) EntityManagerFactory와 EntityManager 영속성 컨텍스트 JPA를 이해하는데 가장 중요한 용어 "엔티티를 영구 저장하는 환경"이라는 뜻 EntityManager.persist(entity); DB에 저장 X, 영속성 컨텍스트를 통해서 Entity를 영속화한다.는 뜻. 좀 더 정확히 말해서 영속성 컨텍스트에 entity를 저장한다는 것 EntityManager? 영속성 컨텍스트? 영속성 컨텍스트는 논리적인 개념이고, 눈에 보이지 않는다 EntityMan..

    [WIL] 230626 ~ 230702

    목표 달성 여부 ❓ 스프링 과제 잘 하기 ✅ 스터디 진행 잘하기 ✅ TIL 비공개라도 기록 잘 해놓기(주말에 수정 하면 된다.) 이번 주 내가 한 것 1. 스프링 강의 듣고 과제 제출 * ERD(Entity Relationship Diagram) * 제출 깃허브 GitHub - JisooPyo/Spring-Blog-Assignment Contribute to JisooPyo/Spring-Blog-Assignment development by creating an account on GitHub. github.com 2. 스터디 진행 프로그래머스 문제를 정하여 월, 수, 금 정해진 시간에 한 명이 발표하고, 다르게 푼 사람이 추가 발표를 하고, 다 같이 풀 리퀘스트로 코드 리뷰를 하였다. 회고 뭔가.. 따..