레거시62 2022.03.16의 기록 ▶ 오늘 계획 => 공부 관련 1) 수업 내용 복습 2) 스프링 PSA 수강 3) 인텔리제이 개발 환경 세팅 4) 중급 강의 결제 및 1,2강? 수강 ▶ 문제 정리 1. 빈 등록 문제 > 로그대로 에너테이션으로 빈 등록 2. 컴포넌트 스캔에서 다른 패키지의 클래스를 빈으로 등록 문제 @SpringBootApplication public class Demospring51Application { @Autowired MyService myService; public static void main(String[] args) { var app = new SpringApplication(Demospring51Application.class); app.addInitializers((ApplicationContextI.. 2022. 3. 16. 2022.03.15의 기록 ▶ 오늘 계획 => 공부 관련 1) 수업 내용 복습 2) MVC 객체지향 리팩토링 3) 스프링 강의 수강 목표 8,9강 ▶ 문제 정리 ● MVC 리팩토링 ● 1. enum도 view에 의존하면 안된다. public class Controller { // 게임 결과를 가지고 있는 필드 private Result result; // play 메서드 public void playRsp(Rsp playerRsp) throws RspException { // 사용자 객체 생성 final Player player = new Player(playerRsp); // 게임결과 반환값을 필드에 저장 this.result = player.play(); // 가위바위보 상태 값 출력 ViewOutput.whatYouInput.. 2022. 3. 15. 2022.03.14의 기록 ▶ 3일 계획 => 공부 관련 1) 수업 내용 복습 2) MVC 객체지향 리팩토링 3) 스프링 강의 수강 => 파이널 프로젝트 관련 1) 노션에 피드백 정리 ▶ 문제 정리 1. 인텔리제이 메이븐 빌드 후 jar 파일을 찾던 도중 에러 발생 > 경로를 찾아서 해결 2. 이름 검색을 FirstName으로 바꾸기 @GetMapping("/owners") public String processFindForm(@RequestParam(defaultValue = "1") int page, Owner owner, BindingResult result, Model model) { // allow parameterless GET request for /owners to return all records if (owner.. 2022. 3. 14. 2022.03.11~03.13의 기록 ▶ 3일 계획 => 공부 관련 1) 수업 내용 복습 2) MVC 객체지향 리팩토링 완료 3) 기술 질문 답변 노션 정리 및 SOLID 예제 프로그래밍 (OCP & DIP & ISP) 4) 8개의 디자인 패턴 정리 => 파이널 프로젝트 관련 1) ERD 그려 놓고 pdf로 만들어놓기 2) 이미지 수집 마우스 건전지 바꿔라!! [완료] ▶ 문제 정리 1. 생성자를 통해 주입은 괜찮음. 하지만 인스턴스 생성으로 의존하지 말것 (테스트 코드 작성 어려움) > 플레이어로 컴퓨터를 주지말고 외부에서 비교값을 얻어라 public class Player { private final Rsp playerRsp; private final Computer computer = new Computer(); // setter 대신.. 2022. 3. 12. 2022.03.08~03.10 의 기록 ▶ 3일 계획 => 공부 관련 1) 스프링 개구리책 완독 후 노션 및 블로그 정리 2) MVC 객체지향 리팩토링 하루종일 (9일 오늘) 3) 기술 질문 답변 노션 정리 및 SOLID 예제 프로그래밍 => 파이널 프로젝트 관련 1) DB 테이블 완성 및 select JOIN 대략적인 쿼리문 작성 2) git 협업 ▶ 문제 정리 1. 객체 간의 관계 > 단일 책임 원칙으로 클래스를 분리 2. 내부 로직을 구현하는 것은 Model에서 일어나지 않아야 한다 > 상수의 나열인 enum 클래스에서 해결 3. setter 메서드의 생략 (불변성을 지켜라) > 생성자의 주입으로 해결 4. 값 자체의 비교보다 타입의 의미를 더 살려서 비교 > 타입을 적극적으로 사용하여 같은 타입끼리의 비교가 코드 작성의 가독성이 좋다... 2022. 3. 9. 2022.03.07 의 기록 ▶ 하루 => 공부 관련 1) 스프링 개구리책 CH6 2) MVC 객체지향 리팩토링 3) 금일 배운 내용 복습 => 파이널 프로젝트 관련 1) DB 재확인 ▶ 개인 공부 5장 객체 지향 설계 5원칙 객체 지향 설계 5원칙 객체 지향의 개념과 4대 특성 좋은 도구을 알게됨. 좋은 도구가 있어도 올바르게 사용하는 방법을 알아야 좋은 요리가 나옴. 객체 지향 설계 (Object Oriented Design) 5원칙 SOLID (객체 지향을 올바르게 사용하는 방법) SRP (Single Responsibility Principle) : 단일 책임 원칙 OCP (Open Closed Princinple) : 개방 폐쇄 원칙 LSP (Liskov Substitution Principle) : 리스코프 치환 원칙 I.. 2022. 3. 7. 2022.03.05~03.06 의 기록 ▶ 하루 => 공부 관련1) 스프링 개구리책 CH5까지 읽고 정리2) MVC 객체지향 리팩토링 후 피드백3) 기술 질문 답변 못한 부분 노션에 정리 => 파이널 프로젝트 관련1) DB ERD 그려놓기 & 스프레드시트 정리2) git 협업▶ 문제 정리1. 상수의 중복과 범람으로 난해한 코드해결 > enum 클래스 3개를 작성하여 해결package Enum;public enum PrintGameResult { WIN_RESULT("님이 이겼습니다."), DRAW_RESULT("비겼습니다."), LOSE_RESULT("컴퓨터가 이겼습니다."); private final String printGameResult; PrintGameResult(String printGameResult) { this.pri.. 2022. 3. 5. 2022.03.03 의 기록 ▶ 하루 => 공부 관련 1) 스프링 개구리책 CH4 2) MVC 객체지향 리팩토링 (열거형, 인터페이스 고민) 3) 금일 수업 복습 => 파이널 프로젝트 관련 1) DB 마무리 회의 2) 추후 디테일 업무 정리 3) 다음 회의할 것 git 협업 ▶ 문제 정리 1. ▶ 개인 공부 public class ViewInput { private static final String RSP_INPUT = "1, 2, 3 중에서 숫자를 입력하세요."; private static final String RESTART_INPUT = "재시작 하시겠습니까? (y:n)"; private static final Scanner SCANNER = new Scanner(System.in); public ViewInput() { }.. 2022. 3. 3. 2022.02.28의 기록 ▶ 하루 => 공부 관련 1) 스프링 개구리책 CH3 2) MVC 객체지향 리팩토링 3) 금일 수업 복습 => 파이널 프로젝트 관련 1) UI 업무 분담 회의 ▶ 문제 정리 ▶ 개인 공부 ▶ 수업 내용 MyBatis DB ⇒ DB 여러 테이블 Join 시 중복 컬럼명은 aliasname으로 바꿔준다. 테이블 조인 시 동일한 컬럼명을 가진 경우 두번 째 이상의 컬럼명은 자동으로 변경 DTO 객체 직렬화 클래스 : Serializable 인터페이스를 상속받은 클래스 ⇒ 객체 단위로 입력 또는 출력을 위한 클래스 선언 방법 mapper.xml resultMap 엘리먼트의 하위 엘리먼트 선언 순서 constructor >> id >> result >> association >> collection >> disc.. 2022. 2. 28. 2022.02.27의 기록 ▶ 하루 => 공부 관련 1) 기술 질문 정리 및 준비 (람다식, 스트림, 함수형 프로그래밍, 네트워크) 2) MVC 객체지향 리팩토링 후 제출 후 피드백 받기 3) 스프링 입문 책 읽기 => 파이널 프로젝트 관련 1) UI 업무 분담 회의 (가능하면..?) ▶ 문제 정리 1. 상수화의 문제 > 단순 리터럴 값은 스칼라이다. 문제 : 어느 변수를 어떤식으로 상수화해야 할지 감이 오지 않았다. 해결 : 변하지 않는 값, 중복되는 값을 final로 선언해서 해결하였다. (모든 원시 값과 문자열을 포장) 2. 컴퓨터와 사용자 객체의 분리 > 모든 엔티티를 작게 유지해야한다 문제 : 객체의 속성이 종류가 유지 되는 클래스를 작성했었음 해결 : 길어진다는 것은 유지보수가 어렵고 이해하기 어렵고 단일 책임 원칙을 .. 2022. 2. 27. 2022.02.25의 기록 => 공부 관련 1) 모던 자바 스트림(Stream) & 입출력 스트림(IO Stream) 2) 금일 배운 내용 복습 3) 기술 질문 용지에 모두 정리 => 파이널 프로젝트 관련 1) UI 회의 ▶ 문제 정리 ▶ 공부 내용 DB DTO 클래스의 필드값과 DB 컬럼명의 이름이 동일하지 않은 경우 제약조건을 걸어두면 좋다. 포함 관계가 성립되기 위해서는 반드시 필드에 인스턴스 저장 1:1 관계의 조인 검색 결과를 저장하기 위한 클래스 ⇒ 기존에 작성된 클래스를 재사용 **POJO(Plan Old Java Object)**하여 새로운 클래스를 쉽게 작성하여 생산성 증가 및 유지보수 효율성 증가 1:N 관계의 조인 검색 결과를 저장하기 위한 클래스 ⇒ 목록을 저장하기 위해 List 자료형 이용 테이블과 테이블의.. 2022. 2. 25. 2022.02.24 의 기록 => 공부 관련 1) 모던 자바 스트림(Stream) & 입출력 스트림(IO Stream) 2) 금일 배운 내용 복습 3) 스프링 객체지향 CH2 => 파이널 프로젝트 관련 1) UI 회의 ▶ 문제 정리 1. 스트림 관련 정리 > 문제 : 스트림에서 Map(), flatMap()의 차이? > 정리 : 스트림의 스트림을 반환하는 중간연산과 스트림을 반환하는 중간 연산. 스트림의 형태가 배열인 경우 flatMap이 유용 ▶ 공부 내용 Mybatis mapper 엘리먼트 class 속성 : Interface 기반의 맵퍼 파일의 경로를 속성값으로 설정 ⇒ Interface & XML 파일의 경로는 Java 자료형으로 표현 Interface 맵퍼의 장점 : SqlSession 인스턴스로 SQL 명령을 XML 맵퍼.. 2022. 2. 24. 2022.02.23의 기록 ▶ 오늘 실현 가능한 세부 목표 => 공부 관련 1) 스트림 Stream / 모던 자바 8 함수형 프로그래밍 2) 자바 리팩토링 3) 금일 배운 내용 복습 4) 스프링 객체지향 책 1단원 => 파이널 프로젝트 관련 1) 화면 목록 및 검사서 회의 ▶ 문제 정리 1. 용어 관련 문제 문제 : 구글링 검색을 하며 공부를 하다보니 모르는 용어 투성이다. 해답 : 계속 검색하며 알아보고 예시를 들어 이해하자. ▶ 공부 내용 MyBatis (Framework) SqlSessionFactory 인스턴스를 생성하기 위해 필요한 정보를 제공하는 환경 설정 파일 properties : property 엘리먼트를 설정하기 위한 상위 엘리먼트 resource 속성 : Properties 파일의 경로를 속성값으로 설정 ⇒ p.. 2022. 2. 23. 2022.02.22의 기록 ▶ 오늘 실현 가능한 세부 목표 => 공부 관련 1) 스트림 2) 자바 리팩토링 3) 금일 배운 내용 복습 4) 스프링 객체지향 책 1단원 => 파이널 프로젝트 관련 1) 화면 설계서 회의 (트레이너 관리 부분) ▶ 문제 정리 1. 익명 객체의 개념 정의가 확실치 않아서 람다식의 이해가 어려웠다. => 익명 객체(클래스)의 개념 확실히 정리 => 일회성의 이벤트이므로 객체에 따로 정의하는 것임. ▶ 공부 내용 JSTL (Java Standard Tag Library) foreach 태그 태그내용을 반복적으로 포함하여 출력하기 위한 태그 var 속성 : 스코프 객체에 저장된 속성값 begin 속성 : 스코프 객체에 저장될 시작값(Integer)을 속성값으로 설정 end 속성 : 스코프 객체에 저장될 종료값.. 2022. 2. 22. 2022.02.21의 기록 ▶ 오늘 실현 가능한 세부 목표 => 공부 관련 1) 람다와 스트림 2) 대답 못한 질문 답 정리 3) 자바 리팩토링 4) 금일 배운 내용 복습 => 파이널 프로젝트 관련 1) 화면 설계서 회의 ▶ 공부 내용 EL 함수 함수 : 매개변수로 값을 제공 받아 처리하고 반환 메서드 : 필드를 처리하기 위함 ⇒ EL 함수로 호출되는 메서드는 반드시 static 메서드로 선언 TLD파일 function EL 함수를 등록하기 위한 상위 엘리먼트 name EL 함수명을 설정하는 엘리먼트 function-class EL 함수에 의해 호출되는 메서드가 선언된 클래스를 설정하는 엘리먼트 function-signature EL 함수에 의해 호출되는 메서드를 설정하는 엘리먼트 short-name TLD 파일의 이름을 설정하기.. 2022. 2. 21. 이전 1 2 3 4 5 다음 반응형