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

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..

계산기 과제 LV1, LV2 개발 회고https://nagul2.tistory.com/463위 글의 내용과 이어서 개발합니다.Lv3. Enum, 제네릭, 람다 & 스트림을 이해한 계산기 만들기** 참고Lv2에서 동일하게 적용되어 있는 기능을 설명을 제외함v3 요구사항 정의1. Lv2를 작성한 코드와 구분하기 위해 v3패키지를 생성하여 작성하고, 기존 v2코드를 복사하여 리펙토링을 진행2. 연산 타입을 Enum으로 관리하여 ArithmeticCalculator 클래스에 활용해보기(계산기 클래스명 변경)3. 실수(double타입)의 값을 전달 받아도 연산이 수행하도록 수정int -> double 타입으로만 변환하는 것이 아니라 제네릭을 활용하여 여러 타입을 받을 수 있도록 기능을 확장4. 저장된 연산 결과들..