본문 바로가기

분류 전체보기32

Spring - 일정 관리 앱 만들기 과제 트러블 슈팅 Lv 0. API와 ERD 작성API와 ERD는 아래와 같이 작성하였다.LV 1. 일정 생성 및 조회📋 요구사항일정 생성 - 고유 식별자, 할일, 작성자명, 비밀번호, 작성일, 수정일 저장전체 일정 조회 - 수정일(YYYY-MM-DD)과 작성자명을 바탕으로 내림차순 조회선택 일정 조회 - 일정의 고유 식별자를 사용하여 조회Lv 2. 일정 수정 및 삭제📋 요구사항선택 일정 수정 - 비밀번호 일치 시 할일, 작성자명만 수정 가능선택 일정 삭제 - 비밀번호 일치 시 일정 삭제 가능🌀 배경Lv2 단계에서 Row가 없는 todoId를 요청 인자로 넣었을 때 500 Internal Server Error 발생했다.🌀 발단todoId에 해당하는 Row가 있는지 확인도 안하고 비밀번호 검증을 하려니까 에러가 발.. 2024. 12. 10.
MVC 패턴과 그 규칙 MVC 패턴이란 소프트웨어 설계 패턴으로, 애플리케이션을 Model, View, Controller의 세 가지 주요 구성 요소로 나누어 각각의 역할을 분리하는 구조이다.  Model- 애플리케이션의 정보, 데이터- 데이터의 상태를 관리하고, 뷰와 컨트롤러에서 사용하는 데이터를 제공한다.// Model: 데이터와 비즈니스 로직 처리public class CalculatorModel { private int result; // 계산 결과를 저장 // 두 숫자의 덧셈을 수행 public void add(int num1, int num2) { result = num1 + num2; } // 두 숫자의 뺄셈을 수행 public void subtract(int num1,.. 2024. 12. 5.
19일차) 객체간의 결합도와 다형성, 인터페이스 오늘은 "객체간의 결합도와 다형성"이라는 주제의 자바 세션을 들었다. 다형성은 자바에서 핵심 개념이고, 다형성으로 코드의 결합도를 낮출 수 있다는 건 알기는 했지만 코드로 어떻게 적용해야 할지 어려웠었다. (개인 과제에서도 적용하지 못 했다ㅠㅠ)이번 세션을 들으며 코드로 실습해보니 이해가 잘 돼서 감을 좀 잡았다😊 그리고 의존성 주입 DI, 제어의 역전 IoC 은 이름은 생소한데 코드보면 어떤 느낌인지 알 것 같다ㅎ.. (스프링에서 중요한 개념이니까 더 공부 해야겠다.)다형성- 같은 타입의 참조변수가 여러가지 형태를 가질 수 있는 것- 인터페이스와 상속을 통해 다양한 타입을 받을 수 있는 구조 설계함으로써 객체간의 결합도를 낮출 수 있다. 인터페이스 예시가스 엔진을 사용하는 자동차의 전기 엔진이 개발.. 2024. 11. 29.
Java 키오스크 과제 - 챌린지 Lv1 트러블 슈팅 Level 2. 장바구니 및 구매하기 기능을 추가하기📋 요구사항장바구니 생성 및 관리 기능장바구니 출력 및 금액 계산장바구니 담기 기능주문 기능🌀 배경: 도전 과제를 진행하면서 반복문과 조건문이 배로 늘어나 코드가 복잡해졌다. (300라인 이상..) 🌀 발단: 모든 기능은 다 구현하였지만 코드 가독성이 안 좋아져서 리팩토링이 필요했다. 🌀 전개: 우선, Kiosk 클래스의 start() 내부에 중복되는 코드들을 메서드로 구현하였다. (메인 메뉴 출력, 사용자 입력 및 에러처리, 선택한 메뉴 출력 등..) 🌀 위기:  메서드로 구현하였더니 구조가 이상하게 흘러가고 있었다.. 입력값 처리도 오류가 났다.🌀 절정: System.out.println 로 오류나는 구간을 캐치해보았더니 반복문에서 bre.. 2024. 11. 28.