일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- git
- 에러
- 부트캠프
- SQL
- entity
- @NoArgsConstructor
- 캡슐화
- CRUD
- HTML
- stringbuffer
- github
- 코드업
- 알고리즘
- @builder
- 프로그래머스
- Codeup
- html tag
- Python
- java
- 상속
- 깃허브
- 자바
- 브랜치
- lv1
- 부스트코스
- 파이썬
- DTO
- HashSet
- @AllArgsConstructor
- 기본생성자
- Today
- Total
목록분류 전체보기 (90)
잉?
Service는 비즈니스 로직이 있는 곳이다. DB 저장 또는 조회가 필요할 때 Repository에 요청하는 곳이기도 한데 요청하기 위해서는 DTO에서 Entity로 변환해줘야 한다. 그리고 요청받은 데이터(Entity)를 다시 DTO로 변환해서 컨트롤러(Controller)로 보내줘야 한다. 좀 더 자세한 정보는 https://dahlia15.tistory.com/73 그 과정을 살펴보겠다. Service public CommentResponseDto createComment(Long id, CommentRequestDto requestDto, UserDetailsImpl userDetails) { // dto -> entity Blog blog = blogRepository.findById(id)...
💡 Entity란 무엇이며, 엔티티 클래스 안에서 사용하는 어노테이션에 대해 살펴보자. Entity(엔티티)란? 데이터베이스에서 영속적으로 저장되고 관리되는 객체를 가리킨다. 엔티티는 데이터베이스 테이블의 레코드(행)에 해당하고, 객체 지향 프로그래밍에서는 해당 데이터를 표현하는 클래스로 구현된다. 엔티티는 영속성을 가지고, 이는 객체의 상태가 데이터베이스에 저장되고 관리되는 것을 의미한다. 영속성(Persistence): 엔터티는 영속적이라는 특성을 가지고 있다. 이는 객체의 상태가 프로그램 실행이 종료되더라도 계속해서 유지되며, 필요할 때 데이터베이스에 저장되고 관리된다는 것을 의미한다. 데이터베이스 테이블과 매핑: 엔터티 클래스는 데이터베이스의 테이블과 매우 유사한 구조를 가지며, 클래스의 인스턴스..
dto클래스에서 comment를 생성하는데 오류가 발생했다. 이 오류를 자세히 들여다보자. Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of `` (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator)] ❓ 하나 이상의 creator가 존재하지만 Object 값을 역직렬화할 수 없다는 오류가 발생했다. 🔎 그 이유는 Jackson library가 역직렬화할 때 기본 생성자를 필요로..
DTO (Data Transfer Object) 클래스에서의 toEntity메서드와 of메서드가 무엇일까? 우선 이 메서드들을 사용하는 이유를 알아보자면 entity 클래스와의 상호변환을 쉽게 하기 위함이다. 1. DTO와 entity 간의 변환 로직을 처리하여 코드의 가독성을 높이고, 2. 불필요한 반복 코드를 방지하여 애플리케이션 아키텍처를 유연하게 한다. toEntity 메서드 - DTO에서 Entity로 변환하는 역할을 한다. - 주로 데이터를 저장하거나 업데이트하는 작업에 사용된다. - 이 메서드는 entity를 생성하고, DTO에서 받아온 필드 값을 entity에 설정하여 반환한다. public Trade toEntity(User user) { return Trade.builder() // T..
빌더 패턴에 대해 알아보자 객체를 생성하는데 생성자 패턴 / 정적 메서드 패턴 / 수정자 패턴 / 빌더 패턴 등이 있다. 이중 권장되는 패턴이 빌더 패턴이다. 1. 필요한 데이터만 설정할 수 있다. - 새로운 변수가 추가되어도 기존 코드에 영향을 주지 않는다. - 불필요한 코드의 양을 줄인다. - 반복적인 변경이 있을 때 유용하다. 객체를 생성해야 할 때 하나의 파라미터가 필요 없는 상황이라고 한다면, 생성자 패턴이나 정적 메서드 패턴 같은 경우 더미 값을 넣어주거나 파라미터가 없는 생성자를 새로 만들어줘야 한다. Flower flower = new Flower("rose", "red"); public class Flower{ private String name; private String color; ..
오버로딩(Overloading) ? - 한 클래스 내부에서 메서드를 확장하기 위한 개념 - 메서드 이름이 일치하고, 매개변수의 개수 또는 타입이 달라야 한다. public class prac { public static void main(String[] args) { OverloadingPrac op = new OverloadingPrac(); System.out.println(op.eat("사과")); op.eat("사과", "바나나"); } } class OverloadingPrac{ public String eat(String a){ return a + "를(을) 먹다."; } public void eat(String a, String b){ System.out.println(a + "와(과) " ..
스프링부트에서 데이터를 전달하는 두 가지 방식이 있다. 방식 1) Path Variable을 이용한 방식(경로를 변수로서 사용한다.) https://dahlia15.tistory.com/newpost/75 // 포스트 75번 게시글 방식 2) Request Param을 이용한 방식 https://dahlia15.tistory.com/newpost?id=75 // 포스트 75번 게시글 이 비슷해 보이는 두 가지의 방식이 어떤 상황에 적용해야 더 적합한지 알아보았다. Path Variable은 어떠한 리소스를 식별하고 싶을 경우에 사용하고, Request Param은 정렬/필터링을 원할 때 사용하는 것이 가장 이상적이라 볼 수 있다. 좀 더 쉽게 보자면 @PathVariable ? boards/1 - 1번 ..
뭔가 RDBMS와 RDB와 같은 개념으로 많이 쓰이는 것 같다..!? NoSQL(Not Only SQL/비관계형 데이터베이스) SQL을 사용하지 않는 데이터베이스 관리 시스템을 지칭 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술 테이블 간 관계를 정의하지 않는다. 클라우드 환경에 맞는 저장 기술 데이터 무결성, 정합성을 보장 X 비정형 데이터 처리 변경에 용이, 대량의 데이터 처리가 가능, 빠른 성능 데이터 중복을 계속 업데이트해야 함 데이터가 여러 컬렉션에 중복되어 있기 때문에 수정 시 모든 컬렉션 수정 SQL(Structured Query Language) 데이터베이스 관리 시스템(RDBMS) 의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어 RDB(Relational Data..