본문 바로가기

내일배움캠프85

[TIL] 2022-12-20(37day) 자주쓰이는 Lombok 어노테이션 👉 Lombok - Java에서 자주 반복되는 코드들을 어노테이션을 통해 자동으로 생성 해 주는 라이브러리 @AllArgsConstructor - 클래스에 존재하는 모든 필드에 대한 생성자를 자동으로 생성 (final 키워드, 혹은 @NonNull 이 붙은 멤버 변수만을 받는 생성자를 만들어줌) @NoArgsConstructor - 파라미터를 받지 않는 생성자를자동으로 생성 (필드들이 final로 생성되어 있는 경우에는 필드를 초기화할 수 없기 때문에 에러 발생) @RequriedArgsConstructor - 초기화 되지 않은 모든 final 필드, @NonNull과 같이 제약조건이 설정되어있는 모든 필드들에 대한 생성자를 자동으로 생성 @Builder - 빌더패턴을 .. 2022. 12. 20.
[TIL] 2022-12-19(36day) @Controller와 @RestController의 차이점 👉 @Controller @Target(value=TYEP) @Retention(value=RUNTIME) @Documented @Component public @interface Controller - Model 객체를 만들어 데이터를 담고 View를 반환 - View에 표시될 데이터가 있는 Model 객체를 만들고 올바른 View를 선택하는 일을 담당 - @ResponseBody를 사용하여 HTTP Response Body에 데이터를 담아 요청을 완료할 수 있다. - @Controller는 클래스를 Spring MVC 컨트롤러로 표시하는데 사용 - Client는 URI 형식으로 웹 서비스에 요청을 보낸다. - Mapping되는 Handler.. 2022. 12. 19.
[WIL] 2022-12-15(7th week) 😃 Keep - 스프링부트 기본 구조 숙지 (JPA / JWT) 😅 Problem - 스프링 숙련 1차 프로젝트 완성 실패. 💪 Try - 숙련 1주차 프로젝트 보완하여 깃허브 업뎃하기. 🙋‍♂️ feel - 스프링이 개발을 편하게 해주지만, 이해하고 사용하기가 너무 어렵다. 알고리즘 문제풀이도 혼자서는 너무 벅차다. 새로운 지식이 쌓여야 하는데 계속 교체가 되버린다. 큰일났다 ㅎㅎ 세번째 프로젝트가 심히 걱정이 된다 ㅠㅜ 2022. 12. 18.
[TIL] 2022-12-15(35day) Project MySelectShop - JWT 👉 JWT - Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token (토큰의 한 종류 / 보통 쿠키 저장소에 담겨서 위에서 배운 ‘저장된 쿠키’라고 생각) # 장점 - 동시 접속자가 많을 때 서버 측 부하 낮춤 - Client, Sever 가 다른 도메인을 사용할 때 - 예) 카카오 OAuth2 로그인 시 JWT Token 사용 # 단점 - 구현의 복잡도 증가 - JWT 에 담는 내용이 커질 수록 네트워크 비용 증가 (클라이언트 → 서버) - 기 생성된 JWT 를 일부만 만료시킬 방법이 없음 - Secret key 유출 시 JWT 조작 가능 # JWT 사용 흐름 Client 가 username, password 로 로그.. 2022. 12. 18.
[TIL] 2022-12-14(34day) 프로그래머스 알고리즘 문제풀이(3) 👉 영어가 싫어요 - 문제설명 영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요. - 제한사항 numbers는 소문자로만 구성되어 있습니다. numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 들이 공백 없이 조합되어 있습니다. 1 ≤ numbers의 길이 ≤ 50 "zero"는 numbers의 맨 앞에 올 수 없습니다. - 입출력 예 numbers result "onetwothreefourfivesixsevene.. 2022. 12. 15.
[TIL] 2022-12-14(33day) AllInOneController의 한계점 👉 AllInOneController의 한계점 - 한 개의 클래스에 너무 많은 양의 코드가 존재 (코드 이해가 어려움: 처음부터 끝까지 다 읽어야 코드 내용을 이해할 수 있음) - 현업에서는 코드 추가 혹은 변경 요청이 계속 생김 ex) 관심 상품 등록 시 Client 에게 응답 (Response) 하는 값 변경(등록된 Product 전체 정보 → 등록된 Product 의 id) 최저가 (Myprice) 업데이트 조건 변경(Client 가 최저가를 0원 이하로 입력 → 에러 발생) DB 테이블 이름 변경(Product 테이블의 **lprice** → **lowprice** 변경) 👉 절차적 프로그래밍 vs 객체지향 프로그래밍 # 절차적 프로그래밍 - 초기 프로그.. 2022. 12. 14.