목록백엔드 (20)
관심쟁이 영호
[#6-2 Spring Boot 정주행] View Path를 없애보자! ㅣ MVC 프레임워크 만들기 이전 포스팅에서 FrontController를 통해서 공통 처리를 가능하게 하였다. 하지만 View의 Path를 설정하는 부분과, Servlet에서 View & 또 다른 Servlet으로 넘겨주는 함수가 모든 컨트롤러에 적용된다는 것 bestkingit.tistory.com 이전 포스팅에 문제점이 있었다. 문제는 - path에 "/WEB-INF/views/"와 ". jsp"의 중복 - HttpServletRequest, HttpServletResponse의 불필요한 사용 이번 포스팅에서 viewResolver를 통해서 위의 문제를 해결해볼 것이다. 목차 Model 추가 Controller 수정 FrontC..
오늘은 게시판 글쓰기를 구현할 것이다. 목차 Board 도메인 생성 뷰 구현하기 Board Repository 생성 컨트롤러 구현하기 서비스 구현하기 Board 도메인 생성 @Data @Entity(name = "board") public class Board { @Id @GeneratedValue(strategy = GenerationType.AUTO) private int boardId; @Column(nullable = false, length = 100) private String title; @Lob private String content; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name="userId") private User user; @OneT..
이번 기록은 Form 객체를 분리를 통해서 검증 로직을 서로 다르게 적용하는 것이다. 이 말이 무슨 뜻인가!? 다음과 같은 상황으로 이해해보자. "회원 가입 시에는 id의 길이가 최대 10, 회원 정보 수정에는 id의 길이가 최대 15로 수정이 가능하게 해 주세요." 위와 같은 상황에 Form 객체를 분리하여 검증 로직을 다르게 적용한다는 말이다! 목차 Form 객체 분리란? Form 객체 분리하기 분리에 따른 후 처리 번외 - 겪은 에러 Form 객체 분리란? Form 객체로 분리한다는 말이 무슨 뜻일까? 코드로 살펴보자. User.java @Data @Entity(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationT..
이번 포스팅에서는 concat, filter, map, slice, 스프레드(전개) 연산자에 대해서 살펴볼 것이다. 스프레드 연산자 스프레드 연산자는 깊은 복사를 실시하는 연산자이다. 아래 코드를 보자. const a = [1,2,3] const b = [...a]; b.push(4); // a??? 이렇게 했을 때, a의 값은 어떻게 될까? 정답은 [1,2,3] 그대로다. 이것이 깊은 복사이다. a의 모든 값을 복사하여 새로운 메모리를 할당한 배열 b에 저장한다. 그래서 b에 새로운 값을 푸쉬해도 a에는 아무런 영향을 주지 않는다. concat concat 함수는 추가하는 함수라고 생각하면 된다. 아래 코드를 보자. const a = [1,2,3]; const b = a.concat(4); // b??..
웹 개발에 관심이 있는 사람이라면, "리액트"라는 단어를 한번쯤은 보았을 것이다. 이 단어가 왜 많은 사람들에게서 언급이 되는 것일까? 오늘의 포스팅에서는 리액트의 전반적인 개요를 둘러볼 예정이다. 리액트란? 내가 이해한 수준에서 명쾌하게 말을 하자면, 리액트는 싱글 페이지 어플리케이션을 개발하는데 도움을 주는 프레임워크라고 생각이 된다. 그렇다면 싱글 페이지 어플리케이션이란 무엇인가? 싱글 페이지 어플리케이션? 싱글 페이지 어플리케이션이란, html 파일은 1개 뿐이다. 필요한 부분의 View만 새롭게 그린다. 통째로 html을 받아올 필요가 없다. 개발되기 전에 웹 개발 상황을 살펴보자. 클라이언트가 서버에게 웹 페이지를 요청한다. 서버는 클라이언트에게 HTML 화면 통째로 보내준다. 클라이언트가 화..

이전 시간에는 웹사이트에서 요청했을때, 어떤방식으로 인식하고 넘어가는지 살펴보았다. 그럼 이번시간에는 회원가입을 했을때, 데이터가 어떻게 넘어가고 어떻게 내부에서 움직이는지 살펴보자. Spring이 시작이 되면, 테이블을 생성한다. 어디에서 테이블을 생성하라는 코드가 있을까? 이것을 알기 위해서는 먼저 JPA에 대한 지식이 있어야 한다. JPA에 대한 지식은 다른 글에 있다. https://bestkingit.tistory.com/106 Spring Boot ㅣ JPA, ORM에 관해서 ORM? ORM은 Object Relational Mapping이다. 데이터베이스에 저장된 테이블 형식의 데이터를 모델링하여 자바에서 사용할 수 있도록 클래스로 바꿔주는 것이다!! 거꾸로도 가능하다! ]ORM를 알아보기 ..