일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링 mvc2 - 로그인 처리
- 자바의 정석 기초편 ch11
- 스프링 mvc2 - 검증
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch14
- 2024 정보처리기사 시나공 필기
- 자바로 계산기 만들기
- 자바의 정석 기초편 ch12
- 자바의 정석 기초편 ch5
- 자바의 정석 기초편 ch13
- 스프링 mvc2 - 타임리프
- 자바 중급2편 - 컬렉션 프레임워크
- 스프링 고급 - 스프링 aop
- 자바의 정석 기초편 ch2
- 자바로 키오스크 만들기
- 자바 고급2편 - 네트워크 프로그램
- 스프링 트랜잭션
- 데이터 접근 기술
- 스프링 입문(무료)
- 자바의 정석 기초편 ch4
- @Aspect
- 자바의 정석 기초편 ch7
- 자바 중급1편 - 날짜와 시간
- 자바 고급2편 - io
- 자바의 정석 기초편 ch1
- 람다
- 자바 기초
- 2024 정보처리기사 수제비 실기
- 스프링 mvc1 - 스프링 mvc
- 자바의 정석 기초편 ch6
- Today
- Total
목록프로젝트 (10)
개발공부기록

1. Filter 예외 응답 메시지가 로그만 찍히고 응답하지 않는 문제문제 정의Filter 인증을 통과하지 못할 때 정상적으로 예외가 발생하며 로그는 찍히지만 postman API 응답을 보면 예외 메시지가 출력되지 않고있다.아래 예외 발생 로그와 API 호출 결과를 보면 의도적으로 JWT 토큰 정보를 잘못 입력하면 유효하지 않는 토큰이라는 예외 로그는 작성되지만 응답 메시지가 찍히지 않는 모습을 확인할 수 있다. 해결 방안기존에 filter에서 예외가 발생했을때 예외 응답을 던지는 sendError()메서드는 웹페이지 렌더링할 때는 메시지를 표시할 수 있지만 API 응답시에는 바디에 메시지가 들어가지 않기 때문에 API 통신할 때는 별도의 예외객체를 만들어서 응답해야 한다고 한다. 에러 메시지..

GitHubmain 브랜치: https://github.com/nagul2/scheduler-api-jpa다른 브랜치는 기록용JdbcTemplate으로 일정 관리 API 만들기 회고https://nagul2.tistory.com/479https://nagul2.tistory.com/481프로젝트 정보스프링 부트 프로젝트 생성 프로젝트 정보Java: JDK 17Group: spring.advancedartifact: scheduler-jpaPackaging: JarDependenciesSpring WebSpring Data JPAMySQL DriverLombokValidation사용 스킬JavaSpringSpring BootJPASpring DataMySQLvalidationbcrypt: 암호화 라이브러리..

키오스크 과제 개발 회고필수 기능 구현 회고 - https://nagul2.tistory.com/463도전 기능 구현 회고 - https://nagul2.tistory.com/469필수 LV5 - 불변 객체 캡슐화 순수 자바로 개발한 키오스크에서 튜터링을 통해 먼저 캡슐화가 제대로 적용되지 않았다는 피드백을 받았다. 처음에는 이해가 가질 않았는데 캡슐화는 순수 자바 코드 상에서 제대로 캡슐화가 적용되었는가를 파악하는 것이기 때문에 필드의 값을 직접 반환하지 말고 새로운 객체를 반환하여 완전한 불변 객체로 캡슐화를 하는 것이 좋다는 의미였다. 현재 MenuItem은 이미 불변 객체로 설계가 되어있기 때문에 필드의 값이 변경될 여지가 없어 상관이 없지만, 리스트 자료구조 자체를 반환하면 반환된 참조값을 통해..

githubchallenge-lv3 ~ lv6 브랜치: https://github.com/nagul2/scheduler-api-jdbc이전 글https://nagul2.tistory.com/479API 고도화 도전기존에 단일 테이블로 단순히 일정을 생성, 수정, 삭제, 조회만 되던 API를 조금 더 고도화 시켜보고자 한다. 중복된 작성자명으로도 일정이 조회되도록 테이블을 분리하고, 조회시 페이지네이션을 도입하여 필요한 부분만 반환한다.또한 null체크나 잘못된 요청이 왔을 경우 예외가 발생하여 사용자에게 안내해주고, 검증 로직도 추가하여 데이터의 무결성을 방지한다.DB에 비밀번호가 그대로 저장되는 로직도 암호화하여 저장하도록 수정했다. 테이블 분리하기먼저 schuduel 테이블 하나로 동작하던 방식을 작..

githubrequired-lv1, required-lv2 브랜치: https://github.com/nagul2/scheduler-api-jdbc프로젝트 정보스프링부트 프로젝트로 생성 Java: JDK 17Group: spring.basicArtifact: schedulerPackaing: JarDependenciesspring-weblombokmysql driver사용 스킬JavaSpringSpring BootJDBC TemplateMySQL시작기초 ERD 제작과 테이블 생성먼저 매우 간단한 스케줄러부터 시작하기로 생각하여 단일 테이블을 설계하고 매우 간단하고 성공케이스만 동작하는 CRUD 기능만 만들어 보기로 정했다.테이블은 scheduler라는 이름의 테이블하나로 동작하도록한 다음 점차 테이블 구..

계산기 과제 개발 회고LV1, LV2 개발 - https://nagul2.tistory.com/463LV3 개발 - https://nagul2.tistory.com/454 LV1 - 피드백 반영equals() 비교 순서원래의 코드더보기if (!(operator.equals("+") || operator.equals("-") || operator.equals("*") || operator.equals("/"))) { System.out.println("**** 연산 부호를 잘못 입력 하셨습니다. 다시 시작합니다 ****"); System.out.println(); continue;} 입력받은 연산자를 검증하기 위해서 검증된 입력받은 연산자인 operator변수를 equals()를 사용하여..

키오스크 도전 기능 개발 회고https://nagul2.tistory.com/463위 글의 내용과 이어서 개발합니다.키오스크 - 도전 기능 구현도전 LV1 - 장바구니, 구매하기 기능 추가하기요구 사항더보기장바구니 생성 및 관리 기능사용자가 선택한 메뉴를 장바구니에 추가할 수 있는 기능메뉴명, 수량, 가격 정보를 저장하며 항목을 동적으로 추가 및 조회할 수 있어야 함사용자가 잘못된 선택을 했을 경우 예외를 처리함(유효하지 않은 메뉴 번호 입력)장바구니 출력 및 금액 계산사용자가 결제를 시도하기 전에 장바구니에 담긴 모든 메뉴와 총 금액을 출력각 메뉴의 이름, 가격 수량, 총 금액 합계가 출력되야 함장바구니 담기 기능메뉴를 클릭하면 장바구니에 추가할 지 물어보고 입력값에 따라 "추가", "취소" 처리하고..

키오스크 - 필수 기능 구현LV1 - 기본적인 키오스크를 프로그래밍 해보기요구 사항LV1 은 Scanner를 활용한 입력 처리와 조건문, 반복문을 활용한 간단한 흐름 제어를 복습하여 데이터를 처리하는 방법을 강화하기 위한 학습임더보기햄버거 메뉴 및 출력 선택하기 실행 시 햄버거 메뉴가 표시되고, Scanner로 숫자를 입력 받아서 메뉴를 선택할 수 있음제시된 메뉴 중 입력받은 숫자에 따라 다른 로직을 실행하는 코드를 작성반복문을 이용해서 특정 번호가 입력되면 프로그램을 종료실행 예시LV1 구현Main 클래스 생성package required;public class Main { public static void main(String[] args) { Scanner scanner = ne..