분류 전체보기 81

개인 학습 일정

10월 21일 : Java 문법 종합반 1주차 1-1 ~ 1-4, 수준별 학습 새싹반 새션 1, 2 수강 후 복습 10월 22일 : Java 문법 종합반 1주차 1-5 ~ 1-9, 수준별 학습 새싹반 새션 3, 4 수강 후 복습 10월 23일 : 21일, 22일 학습에 대한 총복습 10월 24일 : Java 문법 종합반 2주차 2-1 ~ 2-5 수강 후 복습 10월 25일 : Java 문법 종합반 2주차 2-6 ~ 2-10 수강 후 복습  10월 28일 : Java 문법 종합반 2주차 2-11 ~ 2-16 수강 후 복습 10월 29일 : Java 문법 종합반 2주차 총복습 10월 30일 : Java 문법 종합반 3주차 3-1 ~ 3-4 수강 후 복습 10월 31일 : Java 문법 종합반 3주차 3-5..

나의 이야기 2024.11.13

2024/09/24 TIL

Comment CRUD 도우미1. Comment 3 - Layer 만들기2. Comment 와 Todo 연관관계 맺기 (많은쪽에 매니투원)3. CommentControllerstep[1] : todoId 에 해당하는 todo 에 댓글을 작성step[2] : todoId 에 해당하는 todo 에 달린 댓글을 전체 조회step[3] : 특정 댓글을 단건 조회step[4] : 특정 댓글을 수정step[5] : 특정 댓글을 삭제4. commentService.saveCommentByTodoIdstep[*] : 트랜잭션step[1] : todo 레퍼지토리에서 todoId 를 가지고 해당 todo 를 찾아서, todo 에 저장step[2] : RequestDto 의 데이터와 todo 의 데이터를 comment 에 ..

TIL 2024.09.24

2024/09/23 TIL

왜 FetchType.LAZY를 사용하는가?지연 로딩은 성능 최적화를 위한 중요한 기법입니다. 다음과 같은 이유로 사용됩니다:1. 성능 최적화: 연관된 엔터티를 실제로 필요할 때만 조회하기 때문에, 데이터베이스에서 불필요한 쿼리가 발생하는 것을 막아줍니다. 즉, Todo에 실제로 접근하지 않으면 관련 데이터를 로드하지 않기 때문에 메모리와 리소스를 절약할 수 있습니다.2. 대규모 데이터 처리: 엔터티 간의 관계가 많고, 연관된 데이터가 클 경우, 모든 데이터를 한 번에 로드하는 것은 성능에 큰 부담을 줄 수 있습니다. 지연 로딩을 통해 필요한 시점에만 데이터를 로드하면, 애플리케이션의 성능을 크게 향상시킬 수 있습니다.3. 네트워크 비용 절감: 지연 로딩을 사용하면 처음 데이터베이스에 쿼리할 때 불필요한..

TIL 2024.09.23

2024/9/20 TIL

스프링 심화 과제 1단계 작성 도우미  TodoCRUD 도우미1. todoService.creatTodo()step[*] : 트랜잭션step[1] : RequestDto 데이터를 todo 에게 전달step[2] : Repository 에 todo 데이터를 저장(save)step[3] : todo 를 TodoResponseDto 타입으로 반환(Return)2. todoService.getDetailTodo()step[1] : Repository 에서 todoId로 todo 를 찾아오고, 없다면 예외처리step[2] : todo 를 TodoResponseDto 타입으로 반환(Return)3. todoService.getAllTodo()step[1] : Repository 에서 모든 todo 를 가져와서 to..

TIL 2024.09.23

2024년 9월 19일 TIL

//리스트로 공간만 만들어 놓은 상태//List(타입) dtoList(변수 이름)//new ArrayList(); 통해 객체 주소가 들어감//new = 객체 주소를 반환List dtoList = new ArrayList(); for (Board board : boardList) {            BoardSimpleResponseDto dto = new BoardSimpleResponseDto(board.getTitle());            dtoList.add(dto); // new BoardSimpleResponseDto(board.getTitle());의 주소값을 넣은 것 (이 주소값만 핸들링 한다)        }   public BoardDetailResponseDto getBoard..

TIL 2024.09.20

2024/09/13 TIL

List순서가 있는 데이터의 집합 => Array(최초 길이를 알아야 함)처음에 길이를 몰라도 만들 수 있다1) Array -> 정적배열2) List(ArrayList) -> 동적배열(크기가 가변적으로 늘어난다) - 생성 시점에 작은 연속된 공간을 요청해서 참조형 변수들을 담아놓는다 - 값이 추가될 때 더 큰 공간이 필요하면 더 큰 공간을 받아서 저장하니까 상관없다  Linked List메모리에 남는 공간을 요청해서 여기 저기 나누어서 실제 값을 담아놓는다실제 값이 있는 주솟값으로 목록을 구성하고 저장하는 자료구조기본적 기능은 ArrayList와 동일Linked Listsms 값이 여기저기 나뉘어서 조회하는 속도가 느리다값을 추가하거나 삭제할 때는 빠르다  Stack수직으로 값을 쌓아놓고, 넣었다가 뺀다..

TIL 2024.09.14

2024/09/12 TIL

@Gettercode가 컴파일 될 때 getter 메서드들을 생성한다.- 속성 @Getter(lazy = true) 사용시 최초 한번만 Getter 호출. 이후 캐시된 값을 사용@Settercode가 컴파일 될 때 setter 메서드들을 생성한다.@ToStringtoString() 메서드를 생성한다.@EqualsAndHashCode사용 객체에 대해서 equals(), hashCode() 메서드를 생성한다.@Data@Getter(모든속성), @Setter(final이 붙지 않은), @ToString, @EqualsAndHashCode, @RequiredArgsConstructor위의 어노테이션들을 합쳐둔 어노테이션이다.@NoArgsConstructor파라미터(매개변수)가 없는 생성자를 생성한다.@Requi..

TIL 2024.09.13

2024/09/10 TIL

클래스 복습 클래스의 3요소 : 생성자, 메서드, 필드 생성자 기본 생성자 호출Car car = new Car(); 혹은 Car car = null;car = new Car(); 1. car가 Car()의 주소값을 제어할 수 있는 리모콘을 받게 된다.2. '=' 연산자는 오른쪽에 있는 값을 왼쪽에 대입한다.3. new 키워드는 새로운 객체를 생성한다는 의미(메모리 공간이 부여됨)4. new 키워드로 객체를 생성할때, 기본 생성자를 호출한다.  기본 생성자public Car() {} 생성자는 "접근제어자 +  클래스이름 (파라미터){}" 로 구성 new 라는 키워드를 사용하는 순간 생성자 메서드 호출된다.---------------------------------------------------------..

TIL 2024.09.10

2024/09/09 TIL

1. 뭔가를 사용한다. → 메모리에 올라갔다. JVM은 운영체제 위에서 실행될 때 각각의 운영체제로부터 메모리를 할당 받고그 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 여기서 메모리 공간은 크게 Method 영역, Heap 영역, Stack 영역으로 구분되고데이터 타입에 따라 각 영역에 나눠서 할당 된다.   2. 변수의 타입이 대문자로 시작한다 → reference type(참조 타입) → 클래스 기본 타입을 제외한 타입, 객체의 주소를 저장하는 타입이다. 예시) 배열 타입, 열거 타입, 클래스, 인터페이스   3. 스프링 개발할 때 배열 사용하지 않는다. ArrayList, HashMap 쓴다.

TIL 2024.09.09