본문 바로가기

728x90

내일배움캠프 4기 스프링

(123)
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. 19 ~ 12. 23/ 8주 차 WIL 스프링 심화 강의가 시작되었다. 1. 스프링 심화 강의 + 심화 강의 실습 스프링을 활용한 다음 단계 강의를 시작했다. 쉽게 구분하면, 보안과 엔티티 기능 수행간 일어나는 일에 대한 내용이 대부분일 것으로, 그 양이 또 매우 방대하다. 2. 프로젝트: 블로그를 위한 백엔드 서버 실습 + JWT JWT를 다루며 본격적으로 HTTP의 맛을 볼 수 있었다. 편하게 인터넷 결제를 하는 요즘 세상과, 이런 시스템을 구축하기까지 얼마나 많은 노력들이 있었을 지 배우는 입장이 되어서야 이해가 간다. 배울수록 겸손해진다. 이번 주엔 제출 의무는 없었으므로 시간에 쫒기지 않아 부담은 한결 가신 상태로 과제를 계속 수행했다. 매우 기분 좋은 일은 연관관계를 설정하는 데 성공했고, 이를 바탕으로 나머지 기능에도 적용하는 실..
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. 코딩 테스트 ..

728x90