분류 전체보기

공부 기록/이것이 백엔드 개발이다 With Java

EP21. 상품 관리 애플리케이션에 데이터베이스 연동하기 2편

데이터베이스와 애플리케이션 연동 이제부터는 상품 데이터를 리스트가 아니라 실제 데이터베이스에 저장하도록 바꿔볼 것이다. 그러려면 애플리케이션이 MySQL과 통신할 수 있어야 한다.스프링부트에서 이런 작업을 시작할 때 가장 먼저 해야 하는 것은 의존성 추가와 접속 정보 설정이다. 먼저 pom.xml에 데이터베이스 연동에 필요한 의존성을 추가한다. org.springframework.boot spring-boot-starter-jdbc com.mysql mysql-connector-j runtime 여기서 spring-boot-starter-jdbc는 스프링부트가 자바 애플리케이션에서데이터베이스를 다룰 수 있도록 도와주는 JDBC 관련 기능들을 한 번에 가져오는 스타터다. mys..

공부 기록/이것이 백엔드 개발이다 With Java

EP20. 상품 관리 애플리케이션에 데이터베이스 연동하기 1편

웹 애플리케이션이 데이터베이스를 사용해야 하는 이유 지금까지 만든 상품 관리 애플리케이션은 데이터를 리스트에 담아두는 방식으로 동작했다.학습용으로는 이 방식이 단순하고 이해하기 쉽기 때문에 충분히 의미가 있다.하지만 실제 서비스 관점에서 보면, 메모리 안의 리스트에만 데이터를 저장하는 구조에는 분명한 한계가 있다. 가장 먼저 떠올릴 수 있는 문제는 데이터의 휘발성이다.리스트에 저장한 데이터는 애플리케이션이 실행되는 동안에만 유지된다.즉, 서버가 종료되거나 애플리케이션이 재시작되면 그 안에 있던 데이터는 모두 사라진다. 학습이나 테스트용 예제에서는 괜찮을 수 있지만,실제 서비스에서 사용자의 데이터가 애플리케이션 종료와 함께 사라진다면 그건 치명적인 문제다. 그렇다면 데이터를 파일에 저장하면 되지 않을까 ..

공부 기록/이것이 백엔드 개발이다 With Java

EP19. 상품 관리 애플리케이션에 유효성 검사 추가하기 2편

전역 예외 핸들러 앞에서 유효성 검사를 추가한 뒤 실제로 요청을 보내보면,잘못된 값이 들어왔을 때 예외가 발생하는 것을 확인할 수 있다. 이 자체는 나쁜 일이 아니다. 오히려 잘못된 입력을 제대로 막아냈다는 뜻이다. 문제는 그 다음이다.예외가 발생했을 때 클라이언트 입장에서는 왜 요청이 실패했는지, 무엇을 고쳐야 하는지 알기 어려운 경우가 많다.단순히 500 에러만 받는다면, 사용자는 “서버가 고장 났나?” 정도로만 느낄 수 있고 실제 문제 원인은 알 수 없다. 우리가 흔히 아는 예외 처리 방식은 try-catch다. 물론 이 방식도 자바에서는 유효한 예외 처리 수단이다.하지만 웹 애플리케이션에서는 모든 컨트롤러나 서비스 안에일일이 try-catch를 넣는 방식이 오히려 코드를 더 지저분하게 만들 수 ..

공부 기록/이것이 백엔드 개발이다 With Java

EP18. 상품 관리 애플리케이션에 유효성 검사 추가하기 1편

유효성 검사 상품 관리 애플리케이션을 만들다 보면, 단순히 요청을 받고 저장하는 것만으로는 충분하지 않다는 걸 금방 느끼게 된다.예를 들어 상품 이름이 비어 있거나, 가격이 음수이거나, 재고 수량이 비정상적으로 큰 값이라면애플리케이션은 이런 데이터를 그대로 받아들여서는 안 된다. 이런 상황을 막기 위해 필요한 것이 바로 유효성 검사(validation) 다.유효성 검사는 말 그대로 우리가 다루는 데이터가 요구사항에 맞는 적절한 값을 가지고 있는지 확인하는 과정이다. 처음 유효성 검사 로직을 작성할 때는,Product에 getter를 추가한 뒤 서비스 코드에서 값을 하나씩 꺼내 검증하는 방식으로 구현하는 경우가 많다.예를 들어 서비스 안에서 상품 이름 길이를 확인하고, 가격 범위를 검사하고,조건에 맞지 ..

Yang Ji Woo
'분류 전체보기' 카테고리의 글 목록 (3 Page)