분류 전체보기

TIL

WIL(2023.3.6~2023.3.12) - 항해 5주차

이번 주는 항해 5주차 숙련주차였다. 지난 주에 입문주차 때 배웠던 내용들을 좀 더 자세히 살펴보면서 로그인 기능을 구현하는 것이 메인 목표였고 jpa 관계설정과 영속성 컨텍스트에 대해서도 배웠다. 그리고 마지막에 aws에 EC2와 RDS를 사용하여 배포하는 것까지 이번 주에 알아야 할 내용이었다. 우선 jwt를 이용한 로그인 기능은 다 이해한 것 같고 jpa 관계설정 부분도 괜찮은 것 같다. 영속성 컨텍스트에 대해선 아직 헷갈려서 계속 봐야 할 것 같고 aws에서 RDS를 사용하여 배포하는 것은 못했다,, 사실 이번 주 했어야 했다는 것을 오늘 알았다,, 허허 심화주차까지 끝나고 과제를 배포해 볼 생각이다. 이번 주 키워드: DI, IoC, Bean 1. DI (Dependency Injection) ..

웹백엔드

Exception Handling - 예외 처리

1. 기존 예외 처리 방법 이때까지 예외 처리는 딱히 방법이라고 할 것도 없었다.. 그냥 Spring에서 제공하는 exception을 메시지를 담아서 throw 해줬다.. throw new IllegalArgumentException("잘못된 요청입니다."); 근데 점점 예외 처리는 많이 해줘야 하고 유지보수도 해야 하기에 예외처리를 따로 빼낼 필요가 있었다. 이번에 적용하게 된 예외 처리 방식은 controller 부분에서 throw 되는 exception을 @ExceptionHandler와 @RestControllerAdvice를 사용하여 핸들링하는 방식이다. 2. @ExceptionHandler 이 어노테이션은 특정 클래스의 메서드에서 예외처리를 하기 위한 어노테이션이다. spring 공식문서에서는..

TIL

TIL(2023.3.12)

오늘은 일요일이다!!! 친구들이 나 좀 쉬라고 건강이 걱정된다고 해서 오늘은 쉬었다! 하핳 1. 알고리즘 문제 오늘은 알고리즘 한문제만 풀고 블로그에 정리하였다 2023.03.13 - [알고리즘] - [BOJ][DP] 2156 - 포도주 시식 [BOJ][DP] 2156 - 포도주 시식 DP,, 점화식 생각해내기가 너무 어려운 것 같다,, 1. 문제 입력: 첫째 줄에 포도주 잔의 개수 n이 주어진다. (1 ≤ n ≤ 10,000) 둘째 줄부터 n+1번째 줄까지 포도주 잔에 들어있는 포도주의 양이 순서대 joogongsun.tistory.com DP 알고리즘 대충 어떤건지는 알 것 같기도 한데 정확하게 공부를 한건 아니라서 나중에 시간 있을 때 한번 다시 개념을 살펴보고 정리 할 필요가 있을 것 같다. 요즘..

알고리즘

[BOJ][DP] 2156 - 포도주 시식

DP,, 점화식 생각해내기가 너무 어려운 것 같다,, 1. 문제 입력: 첫째 줄에 포도주 잔의 개수 n이 주어진다. (1 ≤ n ≤ 10,000) 둘째 줄부터 n+1번째 줄까지 포도주 잔에 들어있는 포도주의 양이 순서대로 주어진다. 포도주의 양은 1,000 이하의 음이 아닌 정수이다. 출력: 첫째 줄에 최대로 마실 수 있는 포도주의 양을 출력한다. 입력예시: 6 6 10 13 9 8 1 출력예시: 33 2. 문제풀이 먼저 입력 받는 값들을 저장하는 로직을 구현한다. 첫 줄에 포도잔의 개수 n이 주어지는데 이것을 input()함수를 사용하여 int로 형변환까지 하여 변수 n에 저장한다. 그리고 둘째 줄부터 n+1번째 줄까지 포도주 잔에 들어있는 포도주의 양이 순서대로 주어지는데 이것은 반복문을 사용하여 값..

TIL

TIL(2023.3.11)

오늘은 어제 기술매니저님과 말했던 refactoring을 하여 코드를 정리했다. 단일 책임 원칙을 준수하여 jwtUtil 객체는 토큰을 생성하고 가져오고 검증하는 일만 하고 postservice는 데이터베이스에서 post를 조회하고 수정하고 삭제하는 역할만 하고 userservice는 사용자 정보를 조회하고 수정하는 등의 역할만 하게끔 역할 분리를 하였다. 그리고 exception handler에 대해서도 알게 되었는데 이 부분은 추후에 다시 정리해서 글로 올릴 예정이다. 내일은 더 열심히 살아야지,,!!! -끄읕-

TIL

TIL(2023.3.10)

오늘은 알고리즘 문제를 풀고 자바의 정석 객체지향 부분을 복습하고 기술 매니저님 세션을 열심히 들었다! 사실 오늘도 할 건 더 많았는데,, 어쩌다 보니 또 다 하지 못했다..ㅠㅠ 언제쯤 그날 정했던 할 일들을 다 할 수 있을까,, 할 게 너무 많아서 오히려 조바심이 자꾸 든다.. 잘하고 있는 건지 모르겠다 그래도 오늘 매니저님이 여러 가지 기초적인 개념들, refactoring 관련해서 많이 설명해 주셔서 얻은 게 많았다!! 매니저님 쵝오~~ 1. Xmind로 설계 먼저 하고 코드 짜자! 2. 단일책임원칙! (Single Responsibility Principle) 하나의 객체는 반드시 하나의 동작만의 책임을 갖는다! jwt로 로그인을 구현할 때 JwtUtil.class에 토큰 생성, 토큰 검증 등 메..

TIL

TIL(2023.3.9)

목요일에도 어쩌다보니 다른 분 에러 잡는 걸 도와드리다 TIL를 못 적고 잠들었다,, 늦었지만 오늘이라도 어제의 기억을 되살리며 써보려 한다!! 일단 어제 에러를 어떻게 해결했는지부터 간단하게 적어보겠다:) 1. postman으로 boolean 값을 계속 날려도 계속 false만 찍힐 때 클라이언트에 요청을 보낼 때 boolean 타입의 isAdmin 변수를 requestDto에 담아서 보냈는데 postman에서 true를 적든 false를 적든 service 쪽에서 받아오는 것을 확인해보면 항상 false만 찍혔었다. @Getter public class SignupRequestDto { @NotNull @Pattern(regexp = "^[a-z0-9]{4,10}$") private String us..

TIL

TIL(2023.3.8)

오늘은 개인과제 lv2 제출하고 코드리뷰도 받고 알고리즘 문제도 2문제 풀고 알고리즘 스터디에서 코드리뷰도 했다. TMI이긴 하지만 요즘 몸이 안 좋아지는 게 하루가 다르게 느껴져서 짬 내서 운동도 다녀왔다 :D 오늘은 매니저님께 코드리뷰를 받으면서, 또 알고리즘 스터디에서 코드리뷰하고 다른 사람 코드도 보면서, 내가 코드를 짤 때 가독성을 딱히 생각하지 않으면서 짜고 있구나! 를 깨달았다... 기능만 잘 되면 되지~~ 라고 생각했었는데 아무래도 앞으로 코드를 짤 때에는 기능이 잘 되더라도 거기에서 그치지 않고 코드를 좀 더 가독성이 좋게 바꿀 수 있진 않을지를 생각해 보면 좋을 것 같다. 사실 아직 가독성이 좋은 코드란 어떤 코드인지 정확하게 알지 못한다.. 클린코드 책 얼른 읽어봐야 하는데 언제 읽어..

TIL

TIL(2023.3.7)

화요일에 몸이 더 안 좋아져서 결국 일찍 쉬고 화요일에 배웠던 것들을 오늘 적어보려 한다! 1. @Valid 클라이언트에서 요청을 보낼 때 받을 변수들에 제한사항을 걸 수 있다. 예를 들어 클라이언트에서 username, password를 받는다고 하자. username은 최소4자 이상, 10자 이하이며 알파벳 소문자(a~z), 숫자(0~9)로 구성되어야 한다. password는 최소 8자 이상, 15자 이하이며 알파벳 대소문자(a~z, A~Z), 숫자(0~9)로 구성되어야 한다. 위와 같은 제한 사항이 있을 때 requestDto를 만들어서 받는다고 하면 그 변수 위에 아래와 같이 설정해주면 된다. @Setter @Getter public class SignupRequestDto { @NotNull @..

TIL

TIL(2023.3.6)

오늘은 항해99 캠프 5주 차 첫 번째 날이다. 오늘은 항해에서 제공되는 스프링 심화주차 강의를 들었다. 사실 오늘 알고리즘 문제도 하나 풀고 지난주 배웠던 것들 블로그에 정리하려고도 했는데.. 몸상태가 안 좋아서 강의만 듣게 되었다ㅠㅠ 강의는 Refactoring, Ioc, DI, Jwt에 대한 것이었고 MySelectShop이라는 프로젝트를 같이 하면서 수업이 진행되었다. 관련 내용은 추후에 블로그에 정리해서 업로드 할 예정이다. 오늘 공부하면서 소소하게 궁금한 것을 2가지 찾아보았다. 1. @Controller 와 @RestController의 차이는? @Controller는 일반적인 웹 애플리케이션에서 사용되는 어노테이션으로, View와 상호작용하여 데이터를 전송하고 받는다. 즉, HTML 화면을..

웹백엔드

MVC 패턴

MVC (Model-View-Controller) 소프트웨어 디자인 패턴 중 하나이다. MVC 패턴은 소프트웨어를 구성하는 요소들을 Model, View, Controller로 구분하여 각각의 역할을 분리한다. 디자인 패턴: 객체 지향 프로그래밍 설계 시 특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책으로 사용되는 서술이나 템플릿 Model: 데이터와 비즈니스 로직을 담당한다. 데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행한다. View: 사용자 인터페이스를 담당한다. 사용자가 보는 화면과 버튼, form 등을 디자인하고 구현한다. Controller: Model과 View 사이의 상호작용을 조정하고 제어한다. 사용자의 입력을 받아 Model에 전달하고, Mode..

웹백엔드

URI & URL

URI와 URL은 웹에서 리소스를 나타내는 데 사용되는 개념이다. URI는 리소스를 식별하는 식별자를 말하며, URL은 리소스의 위치를 나타내는 식별자이다. URI (Uniform Resource Identifier) URI는 인터넷에서 특정한 정보 자원을 나타내는 고유 식별자로, 인터넷 자원의 위치나 이름을 나타낸다. ex.) "https://www.yeongmee.com/introduction" 와 같은 URI는 웹 서버에서 introduction 페이지를 요청하는 데 사용된다. URL (Uniform Resource Locator) URL은 인터넷에서 특정한 자원의 위치를 나타내는 식별자이다. URL은 프로토콜, 도메인 이름, 포트 번호, 경로 등으로 구성된다. ex.) "https://www.ye..

jooyeongmee
'분류 전체보기' 카테고리의 글 목록 (2 Page)