study15 [JSCODE] 유효성 검사, 예외처리 및 API 문서 작성 유효성 검사, 예외처리 게시글 작성 기능 게시글 제목, 내용은 필수적으로 포함해야 한다. 제목은 1글자 이상 15글자 이하여야 한다. 내용은 1글자 이상 1000글자 이하여야 한다. 제목은 공백으로만 이루어질 수는 없다.\ 특정 게시글 조회 기능 게시글의 id(PK, primary key)로 특정 게시글을 조회했을 때, 존재하지 않는 게시글일 경우 에러 메시지로 응답하기 특정 게시글 수정 기능 게시글 작성할 때의 유효성 검사 조건과 동일하게 가져가야 한다. 특정 게시글 삭제 기능 게시글의 id(PK, primary key)로 특정 게시글을 삭제하기 위해 조회했을 때, 존재하지 않는 게시글일 경우 에러 메시지로 응답하기 게시글 검색 기능 검색 키워드는 공백을 제외한 1글자 이상이어야 한다. 위와 같은 기능.. 2023. 5. 14. [JSCODE] 익명 게시판 서비스 개발 시작 8주 차 동안 스터디를 통해 백엔드의 전반적인 프로젝트 진행방식에 대해 배우고자 한다. 오늘은 1회 차에 학습한 내용에 대해 정리해 보겠다. 1회 차에는 개발 환경 세팅 및 기본적인 CRUD 기능에 대해 구현하는 것을 목표로 했다. 배운 내용, 고민한 점 ERD가 복잡한 것이 아닌 지금은 Board 하나로만 기능을 구현하는 것이기 때문에 기본적인 설계는 어렵지 않았다. 내가 가장 고민한 부분은 엔티티와 dto 간의 변환 위치와 방법이었다. 엔티티와 dto 변환 먼저 컨트롤러에서 변환하는 것에 대해 생각해 보았다. 컨트롤러에서는 외부의 요청을 처리하고 다시 내보내는 작업을 수행하는데 여기서 dto를 엔티티로 변환하여 의존성을 추가하는 것이 아쉽다고 생각했다. 차라리 비즈니스 로직을 처리하는 서비스 계층에서.. 2023. 5. 11. [JSCODE] 스프링 스터디 회고 활동내용 한 달 동안 JSCODE에서 스프링 스터디를 진행하게 되었다. 그동안 혼자서 스프링을 공부했었는데 다른 분들과 같이 배워간다면 더 많은 발전이 있을 거라 생각해 참여하게 되었다. 멘토님의 주도하에 일주일에 두번씩 줌으로 진행하게 되었고 임의로 선정된 팀원들 같이 활동하였다. API 개발해보는 것을 목표로 개발할 때 필요한 스프링의 기본적인 내용들과 Spring Data JPA에 관한 것을 배웠고 네트워크, 깃허브 사용 등 개발할 때 필요한 부분들에 대한 지식들을 알려주셨다. 진행 방법은 멘토님의 설명이 끝난 후 팀원들과 같이 주어진 과제를 해결하면서 모르는 것들을 서로 고민, 공유하면서 해결을 위해 노력했다. 따로 질문할 것이 있으면 멘토님에게 질문하면서 해당 주차에 학습하고자 했던 주제에 대해.. 2023. 3. 31. [JSCODE] 상점 API 추가 이번엔 상점 엔티티를 추가하고 관련된 몇 개의 api를 만들어 보았다. Store 엔티티 @Entity @Getter public class Store { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @Embedded private Address address; private String phoneNumber; @OneToMany(mappedBy = "store") private List products = new ArrayList(); // 연관관계 메서드 public void addProduct(ProductEntity product) { products.add(product);.. 2023. 3. 29. [JSCODE] Spring Data JPA ProductEntity와 Spring Data JPA를 이용하여 API를 설계해 보았다. Controller, Service, Repository 3가지 계층으로 나누어 기능별로 구분하였다. ProductEntity @Entity @Getter public class ProductEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Long price; protected ProductEntity() { } public ProductEntityDto toDto() { return ProductEntityDto.builder() .id(id) .name(name).. 2023. 3. 24. [JSCODE] Spring Data JPA 세팅하기 데이터베이스 데이터베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임이다 특징 실시간 접근성(Real-Time Accessibility) : 수시적이고 비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능해야 한다. 계속적인 변화(Continuous Evolution) : 데이터베이스의 상태는 동적이다. 즉 새로운 데이터의 삽입(Insert),삭제(Delete),갱신(Update)로 항상 최신의 데이터를 유지한다. 동시공용(Concurrent Sharing): 데이터베이스는 서로 다른 목적을 가진 여러 응용자들을 위한 것이므로 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 한다. 내용에 의한 참조(Content Reference): 데이터베이스에 있는 .. 2023. 3. 21. 이전 1 2 3 다음