728x90

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

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) 코멘트리스트에..

12. 20 개인 과제/ 라이브 코딩 수강

1. 개인 과제 댓글 부문 작성 및 게시물과 연결 중인데, 쉽지 않다 1. 특수문자까지 필수로 요구하는 비밀번호 작성기능을 정규표현식을 사용하여 구현 ~ (?= ) : 긍정형 전방탐색을 활용 참조 : https://okky.kr/articles/298826 OKKY - 정규표현식에 대해 질문이 있습니다.. 안녕하세요..제가 정규표현식에 많이 약한 관계로..ㅠㅠ..이렇게 질문을 올려봅니다..비밀번호 정규표현식을 만들고 있는데..조건은 다음과 같습니다.. 1. 글자는 10~16자사이어야 한다2. 대소문자 okky.kr 2. 회원 권한 부여, 인증/인가 및 권한별 게시글 접근 권한 설정 2. 라이브 코딩강의 수강 레이어드 아키텍처 및 객체지향 프로그래밍을 바탕으로 게시판 API 기본 기능인 CRUD 구현하는 ..

12. 19 개인 과제 중간 리뷰/ 숙련 Lv 1 + 2 과제/ 코딩 테스트 입문

1. 개인 과제 중간 리뷰 김승민 튜터님의 개인 과제 중간 리뷰를 들었다. 가장 와닿은 것은 JWT 인증/인가 작업을 Service가 아닌 Controller에서 처리하는 것이다. 블로그에서 필요한 값은 Dto에서 받고 controller에서 service로 바로 분업을 하지만, 인증/인가의 경우 권한이 있는 사용자만 Service의 리소스를 사용하게끔 하기위해, 사용되는 리소스의 효율성 개성을 위해 controller에서 처리하기는 것이 더 바람직하다는 점이었다. 구현하기 위해 노력하자. 2. 숙련 Lv 1 + 2 과제 주말 간, 그리고 오전을 투자해 고민 끝에, 도움 끝에 얻어낸 값진 성취로 Lv1 과제를 마무리했고, 바로 이어서 Lv 2 과제를 수행하기 시작했다. 만만치 않다.. 3. 코딩 테스트 ..

12. 15 스프링 숙련 강의 및 프로젝트 실습/ 자바 기초 강의

1. 스프링 숙련 강의 및 프로젝트 실습 Project MySelectShop : JPA 숙련 주차 개인과제 Lv 1 : 입문 주차의 블로그에 JWT 토큰을 활용한 기능 추가하기, ERD 설계 실습, AWS 배포 실습 2. 자바 기초 강의 명시적 형변환 : 프로그래머가 해당 값의 타입을 저징할 수 있다. ~ 데이터의 손실이 발생할 수 있다. 삼항 연산자 : 조건식 ? 참일 시 코드 수행블럭 : 거짓일 시 코드 수행블럭 전위연산자 및 후위연산자 리터럴 타입과 참조, 객체의 생성 == 연산자는 주소값을 비교합니다. '값'을 비교하고 싶다면 equals()를 사용해야한다. 배열의 생성 및 값 할당, 인덱스를 활용한 값 출력 ~ Arrays.toString(배열) 어레이 리스트 : get(), remove()를..

728x90