Java(94)
-
[일정 관리 앱] API 테스트 - 일정 수정 및 삭제
Lv.3 요구사항을 반영해 프로젝트에 '일정 수정', '일정 삭제' 기능을 추가하였다. 추가한 기능이 제대로 동작하는지 확인하기 위해 진행한 API 테스트 결과들을 남겨본다. 이번에 기능을 추가하며 작성한 코드는 여기에서 확인할 수 있다. 1. 일정 수정 요구사항에서의 포인트는 사용자가 입력한 '비밀번호' 와 DB 에 저장된 일정의 '비밀번호' 가 같을 때만 수정이 되어야 하는 것이다. 물론 사용자가 지정한 'id' 에 해당하는 일정이 DB 에도 존재해야 한다. 일정 수정전의 schedule 테이블의 상태이다. '일정 수정' 후의 변화를 확인하고자 남겨두었다. 먼저 사용자가 정확한 '비밀번호' 를 입력했을 때이다. 수정할 내용이 잘 반영되었으며, 추가적으로 '수정' 작업을 진행했기에 'updateAt' ..
2024.09.30 -
[일정 관리 앱] Spring Framework 파라미터 인식 오류
생성한 '일정' 을 조회하는 기능을 프로젝트에 추가한 후 'Postman' 을 통해 '특정 일정 조회' 에 대한 API 테스트를 진행하던 도중 아래와 같은 에러가 발생했다(이미지를 클릭하면 크게 볼 수 있다). '일정' 을 조회하는 기능을 추가한 코드는 여기서 확인할 수 있다. 간략하게 말하면 파라미터를 식별(인식)할 수 없다는 내용의 에러이다. 분명 방금 '전체 일정 조회' 에 대한 API 테스트는 정상적으로 완료했는데, 왜 '특정 일정 조회' 에 대한 API 테스트에선 이러한 문제가 발생했을까? 0. '전체 일정 조회' 와 '특정 일정 조회' 의 차이 현재 'ScheduleController' 클래스에는 일정을 조회하기 위한 메서드가 2개 존재한다.findAllSchedule(RequestFindA..
2024.09.30 -
[내일배움캠프] 일정 관리 앱 - DB 연동 및 API 테스트
다행이(?) JDBC 를 적용한 개발이 잘 풀려 '일정 생성(CRUD 中 - create)' 에 대한 구현을 마칠 수 있었다. 그래서 이전에 못한 Spring 과 DB 의 연결이 잘 되었는지 확인할 수 있었는데, 이번 게시글에는 어떻게 DB 를 Spring 과 연동했고 구현한 ' 일정 생성' 기능이 어떻게 동작되는지 작성할 생각이다. 이번에 작성된 프로젝트 내용은 여기서 확인 할 수 있다. 1. application.properties# MySQL 설정spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver# DB Source URLspring.datasource.url=jdbc:mysql://localhost:3306/schedule_managemen..
2024.09.27 -
[내일배움캠프] 일정 관리 앱 - DB 세팅
어제 미리 세팅해둔 '일정 관리 앱(Schedule Management)' 프로젝트에 사용될 'DB(데이터베이스, 스키마)' 와 'Table(테이블)' 을 생성해 보자! 0. ERD 'Lv.1 ~ 3' 에 해당 하는 요구사항을 반영했을 때 필요로하는 DB Table 에 대한 'ERD(Entity Relationship Diagram, 객체 관계도)' 를 아래와 같이 작성해 두었다. 1. DB(= schema) 생성 평소에는 'MySQL Workbench' 를 통해서 DB(schema) 만을 생성해두고 Spring Data JPA 를 통해 Entity 에 해당하는 테이블을 생성했었다. 하지만 이번 과제는 'JDBC' 를 사용해야 하기에 DB 연결전에 DB 와 Table 을 모두 미리 생성해두기로 하였고,..
2024.09.27 -
[스탠다드반] 스타크래프트 유닛 - 객체화 & 캡슐화
이번주 '스탠다드반' 의 세션(특강)은 '객체지향' 에 관한 내용이었다. 정확히 말하면 객체지향을 사용했을 때 얻는 이점을 튜터님의 라이브코딩과 설명으로 알아보는 것 이었는데, 감사하게도 이해를 돕기위해 '게임(스타크래프트)' 을 예시로 하여 세션을 진행해 주셨다. 세션간 튜터님이 작성한 코드와 내가 작성한 코드는 해당 링크를 통해 확인할 수 있다. 무튼 해당 게시글을 작성한 이유는 세션 마지막에 튜터님께서 '간단한 과제' 를 내어주셨기 때문이다. 솔직히 과제의 느낌보다는 이번 세션 라이브코딩을 수강생들이 한 명이라도 더 작성해보고 느끼라고 내주신 느낌이 강하다. 튜터님이 과제를 주시며 하신 말씀은 아래와 같다."여러분이 찾아보길 바라는 마음으로 '캡슐화' 를 완전히 만족하지 않도록 코딩을 했으니 찾아보..
2024.09.25 -
[내일배움캠프] 숫자 야구 게임 구현 - 리팩토링(3)
Level04 요구사항까지 구현을 하고 리팩토링을 진행했다. 이번 리팩토링에서는 기본적으로 변수명 또는 메서드명을 수정하고 주석 추가작성 및 수정을 진행하였다. 그 밖의 수정 내용은 아래에 작성했으며, 수정된 코드는 여기서 확인할 수 있다. 1. Scanner in NumbersBaseballApp 'Main.main()' 메서드는 'Scanner' 및 'NumbersBaseballApp' 객체를 생성해 'NumbersBaseballApp.start(Scanner)' 메서드를 호출한다. 하지만 사실 'main()' 메서드에서 'Sacnner' 객체를 파라미터로 넘기는 것 외에 사용할 일이 없다. 그래서 'NumbersBaseballApp' 객체에서 'Scanner' 객체를 생성하도록 아래와 같이 수정하였..
2024.09.23