본문 바로가기

728x90

내일배움캠프 4기 스프링/내배캠 TIL📘

(92)
12. 30 코딩 테스트 입문/ 팀 프로젝트 SA/ 개인 과제 수행/ CS 특강 1. 코딩 테스트 입문 점의 위치 구하기 2. 팀 프로젝트 SA ERD 작성하기, 팀 프로젝트 SA 작성 -> 주말 동안 미비한 강의 내용 복습 후 월요일부터 프로젝트 시작 예정 -> 식별자 vs 비식별자 연관관계 설정 차이 (속성, 인조 키 vs 자연 키) 식별자 vs 비식별자 식별자는 그 키로 인해서 테이블의 값을 특정할 수 있어야 한다. ? ~ 공부해야 이해할 수 있는 내용 3. 개인 과제 수행 포스트맨 전역변수 설정방법과 JWT 토큰을 전역변수에 할당하여 보다 간편한 포스트맨 진행 댓글 수정/ 삭제 기능 구현 주말 간 해볼 것 : 스프링 시큐리티를 사용한 블로그 구현하기 4. CS 특강 캐시 - 캐시 힛이 많을 수록(캐시에 저장된 데이터가 많을수록) 데이터 연산이 정확해진다. - 캐시에 저장하는 ..
12. 29 코딩 테스트 입문/ 스프링 심화 강의/ 자바 기초 수업 1. 코딩 테스트 입문 - 양꼬치 : 코딩 문제라기 보다는 계산식을 잘 세우면 풀리는 문제, 또한 다른 사람의 풀이를 통해 객체 지향에 대해 좀 더 배워볼 수 있었다. - 머쓱이보다 키 큰 사람 2. 스프링 심화 강의 1) Exception 스프링 예외처리 방법 1) 컨트롤러에 Try-catch 문을 추가 2) 컨트롤러 클래스에 예외처리 추가 3) 글로벌 예외처리 : @ContollerAdvice @RestControllerAdvice -> @ControllerAdvice + @ResponseBody 핵심 : 관심사를 분리하자 2) Transactional 더 이상 쪼갤 수 없는 최소단위의 작업 하나의 최소 단위의 작업에 여러가지 데이터 변경을 넣으면, 모두 저장되거나, 아무 것도 저장되지 않거나를 보장..
12. 28 코딩 테스트 입문/ 스프링 심화 강의 + 자바 ORM 표준 JPA 프로그래밍 1. 코딩 테스트 입문 배열 원소의 길이 import java.util.ArrayList; import java.util.List; class Solution { public List solution(String[] strlist) { List answer = new ArrayList(); for (String s : strlist) { int cnt = 1; for (int j = 1; j 시도했더니 값이 제대로 저장되지 않았다. -> 도움을 받은 끝에 fetch를 사용하고 생성자에 @Builder를 추가하고 post객체에 setter로 comment 주입 후 그 코멘트를 코멘트 리스트에 저장하는 방식 사용 : 해결 다만, - setter를 사용한 점 - cascade는 되는데 fetch는 왜 영속성 ..
12. 27 코딩 테스트 입문/ 스프링 심화 강의 1. 코딩 테스트 입문 삼각형의 완성조건 -> 새로운 타입 : OptionalInt https://docs.oracle.com/javase/8/docs/api/java/util/OptionalInt.html OptionalInt (Java Platform SE 8 ) Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommen..
12. 26 스프링 심화 강의/ JAVA 기초/ 코딩 테스트 입문 1. 스프링 심화 강의 1. Spring Security - 비밀번호 암호화 적용 및 알고리즘의 종류 : 양방향, 단방향 암호 알고리즘 - 커스텀 시큐리티 필터 적용하기 - @AuthenticaionPrincipal : Authentication 객체에서 principal 인스턴스의 값을 가져오는 어노테이션 - @Secured : 권한 설정 방법 -> 컨트롤러에 해당 메서드 위에 어노테이션 표시 // (관리자용) 등록된 모든 상품 목록 조회 // MySelectShop 예시 @Secured("ROLE_ADMIN") @GetMapping("/api/admin/products") public List getAllProducts() { return productService.getAllProducts(); }..
12. 23 개인 과제 수행/ 스프링 심화 강의/ 디자인 패턴/ @Anotation 1. 개인 과제 수행 1) 어제 만들었던 댓글 생성 메서드의 퀄리티 높이기 @OneToMany(cascade = CascadeType.All) List commentList = new ArrayList();에서 만들어지는 Post-CommentList 테이블로 인해 마치 다대다 관계에서 처리하는 것같이 값을 저장하는 부분 개선 노력 https://wordbe.tistory.com/entry/Spring-Data-Jpa-JPA JPA 기본 - cascade, fetch, query JPA Cascade Cascade란 엔티티 상태를 전파시키는 옵션이다. 엔터티 상태란 다음 4가지를 말한다. Transient : 객체가 단지 선언되고 생성만 되었을 뿐 JPA 는 알지 못하는 상태다. Persistent : ..
12. 22 개인 과제 수행/ 자바 기초 수업/TIL 특강/ REST API 특강 1. 개인과제 수행 실행 중 오류 발생 : 1) 원인 : Missing preceding open capture character before variable name 스프링부트에서 제시하는 오류 해결 방법 : Fix this pattern in your application or switch to the legacy parser implementation with 'spring.mvc.pathmatch.matching-strategy=ant_path_matcher'. 2) 원인 : Error executing DDL "drop table if exists user cascade " via JDBC Statement -> 테이블 이름을 User로 사용하면 발생하는 오류 (H2 데이터베이스에서 User를 ..
12. 21 과제 수행/ 라이브 코딩 수강 1. 숙련 Lv2 과제 수행 3. 댓글 관련 기능 추가하기 : 1) 우선 댓글 관련 프로세스를 게시물 작성과 동일하게 처리하는 게 맞겠다는 판단 하에, Comment, CommentController, CommentService, CommentRepository, CommentRequestDto, CommentResponseDto 작성 및 구현 2) 댓글과 게시물 연관관계 설정 -> 게시물 : 댓글 : 사용자 = 1: N : 1 연관관계 설정에 관한 경험 부족 : 포스트 엔티티에서 코멘트 리스트에 대한 필드를 생성하고 관계설정을 해두고 어플리케이션을 실행시켜보려고 했지만, 빈 생성 에러 발생 -> 엔티티에 Timestamped 상속 표시를 안했기 때문..! (+ 왜 상속해야만 하지?) 3) 코멘트리스트에..

728x90