목록분류 전체보기 (85)
LUMI_dev
**오늘 날짜 :** 2025-04-24**진도 정리 :** 오늘은 중복 체크 로직의 위치에 대해 고민하고, 서비스 계층에서만 처리하도록 리팩토링을 완료하였습니다.**오늘 공부한 토픽:** `서비스 계층 책임`, `중복 체크 리팩토링`### 1. 중복 체크 중복 문제- 기존 코드에서는 **서비스 계층**과 **저장소 계층(Store)**에서 모두 **중복 체크 로직**이 존재했습니다. - 아래는 중복 체크가 중복되었던 예시입니다.```java// Store 계층@Overridepublic String create(SocialBoard board) {Optional.ofNullable(boardMap.get(board.getId())).ifPresent(targetBoard -> {throw new..
**오늘 날짜 :** 2025-04-21**진도 정리 :**오늘은 스테이지 3 step3까지 1회독을 완료하였습니다.**오늘 공부한 토픽:** `stream API` , `Optional`### 1. `Optional.ofNullable()`- **정의**: `null`이 될 수 있는 값을 감싸서, `null`일 때 발생할 수 있는 오류를 예방할 수 있게 해주는 클래스입니다. 주로 `null`을 안전하게 처리할 때 사용합니다.```javaOptional.ofNullable(retrieveByName(name)) .ifPresent(club -> { throw new ClubDuplicationException("Club already exists with name:" + club.get..
**오늘 날짜 :** 2025-04-18**진도 정리 :**오늘은 스테이지 2 3회독을 마쳤습니다. 아래와 같이 정리하며 코드의 흐름을 이해하며 회독하였습니다. **오늘 공부한 토픽:** toString();오늘은 `toString()` 메서드를 다시 정의(오버라이드)하는 코드를 통해 `toString()` 메서드를 공부했습니다.코드를 실행해보니 `System.out.println(user);`처럼 `toString()`을 따로 호출하지 않았음에도, 오버라이딩한 `toString()` 메서드의 형태로 출력되는 것을 확인하였습니다. ```java @Override public String toString() { StringBuilder builder = new StringBuilder(); ..
**오늘 날짜 :** 2025-04-16**진도 정리 :**오늘은 스테이지 2 스텝 3까지 1회독했습니다.**오늘 공부한 토픽:** Enum 열거형 이전에는 Enum을 단순한 열거 상수 집합으로만 이해했지만, 실제 코드를 통해 Enum이 객체처럼 동작하며 다양한 방식으로 활용될 수 있다는 것을 이해할 수 있었습니다. 다음 코드를 통해 Enum을 이해하면서 정리해보았습니다.```javapackage javastory.club.stage2.util; public enum TalkingAt { Left(0), Middle(3), Right(6); private int tabCount; private TalkingAt(i..
2025-04-15 DailyReport오늘 날짜 : 2025-04-15진도 정리 :오늘은 스테이지 1 3회독을 마치고 스테이지 2 스탭 1을 공부하고 있습니다.오늘 공부한 토픽: Scanner 클래스의 nextLine() 사용오늘 스테이지 1을 복기하던 도중, clubName 변수를 scanner.nextLine();으로 받는 코드에서 엔터를 치지 않았음에도 그냥 넘어가지는 문제가 발생하였습니다.문제 발생 코드:private void register(){ System.out.println("Insert name :"); String clubName = scanner.nextLine(); //해당 부분에서 enter을 치지 않았음에도 그냥 넘어가졌습니다. //(코드)}문제 분석..
아래 공부한 내용을 마크다운 문법으로 작성했습니다.제출한 데일리 리포트 기록 용으로 첨부합니다~**오늘 날짜 :** 2025-04-14**진도 정리 :** 오늘은 stage1의 step3까지 1회독 했습니다. **오늘 공부한 토픽 1가지:** 오늘 공부한 대표 개념은 생성자입니다. **오늘 공부한 내용 정리:******생성자는 객체 생성 직후 객체를 초기화하기 위한 특별한 메서드입니다.생성자를 사용할 때 꼭 알아야할 **규칙**을 정리해보았습니다.1. 생성자 이름은 **클래스 이름** 과 같아야 합니다.2. 생성자 이름의 첫 글자는 **대문자**로 시작해야 합니다.3. 생성자는 **반환 타입**이 없습니다. **예시**```java//생성자public TravelClub(String name, Strin..