전체 글

처음에는 이너 클래스로 DTO를 관리했는데, 코드의 중복이 전혀 줄어들지 않고 재사용이 불가능해서 정말 파일만 줄어든 것 같다. 그래서 클래스를 분리하기로 결정했다. 1. LectureRequestDTO (1) 기존 코드 및 수정할 부분 @Data @Schema(description = "강의 개설/조회/수정/삭제 시 입력받는 양식") @Getter public class LectureRequest { @Data @NoArgsConstructor public static class LectureCreateForm { // 강의 개설 시 입력받는 폼 양식 private Integer userId; // 강의 개설자의 회원번호 @NotNull private String title; @NotNull priva..
취준 시작 때 만들었던 포트폴리오를 수정하면서 깃헙 레포지토리도 확인해봤다. 그런데... 내가 짰던 코드인데 이해가 안된다. 물론 오래 보고 있으면 알 수 있지만, 오래 봐야 아는 코드는 좋은 코드가 아니다. 오래 보아야 예쁘고 사랑스러운 풀꽃과는 다르다! 어차피 총알도 안남아있겠다, 이번 기회에 리팩토링을 해보기로 했다. 팀원들은 대부분 취업하고 바빠서 일단 내가 맡은 파트만 도전...! 1. 기존 코드 및 수정할 부분 @Entity @NoArgsConstructor @Getter @Table(name = "lecture") public class Lecture { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer lectu..
문제: https://school.programmers.co.kr/learn/courses/30/lessons/214290 경사가 1번 반복되는 경로의 수를 구해서 k번 반복되는 경로의 수를 구하면 되는 문제다. 1. 경사가 1번 반복되는 경로의 수 구하기 한 칸에서 다른 칸으로 폴짝 건너가는 것을 hop이라고 칭했다. dp[startX][startY][endX][endY][hop]: (startX, startY)에서 시작하여 (endX, endY)까지 이동했을 때, d[0]~d[hop]까지의 경사를 만족하는 경로의 수 문제에서 주어진 예제를 예로 들어보자. d = [1, -2, -1, 0, 2]이다. (1,1)부터 (2, 3)까지는 d[0]부터 d[2]까지의 경사 [-1, -2, -1]를 만족하는 경로..
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/118669 2022 카카오 인턴십 기출이다. 출입구에서 출발하여 산봉우리 한 곳을 찍은 뒤 원래의 출입구로 돌아와야 한다. 주어진 간선들은 모두 양방향이기 때문에, 산봉우리에 올라갈 때와 산봉우리에서 내려올 때를 구분하지 않고, 편도 코스의 최소 intensity만 구해주면 된다. (올라갈 때의 intensity) < (내려올 때의 intensity) 라면, 올라간 코스 그대로 내려오는 것이 더 이득이기 때문이다. 여기서는 산봉우리를 출발점으로 잡고, 내려올 때 기준으로 intensity를 구했다. 출발점에서 최소 intensity를 갖는 출입구 노드를 찾아야 하고, 간선에 가중치가 존재..
인프런 김영한님의 스프링 MVC 1편 강의 내용을 바탕으로 작성한 글입니다. 1. HttpServletResponse HttpServletResponse는 HTTP 응답 메세지를 생성해주는 클래스이다. 응답 메세지를 직접 생성하는건 번거롭기 때문에, 응답코드와 헤더, 바디에 넣을 값들을 넣어주면 HttpServletResponse 객체가 응답 메세지를 생성해준다. @WebServlet(name = "responseHeaderServlet", urlPatterns = "/response-header") public class ResponseHeaderServlet extends HttpServlet { @Override protected void service(HttpServletRequest reques..
gorapaduckoo
진화의 돌