본문 바로가기

Back-End173

회원 관리 예제 - 백엔드 개발 / 회원 서비스 개발 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 1. service패키지 - MemberService클래스 생성 2. 회원 가입 기능 작성 1) validateDuplicateMember 메서드 - 로직 작성 과정 Optional result = memberRepository.findByName(member.getName()); result.ifPresent(m -> { //만약 m(member)에 Null이 아닌 값이 있으면 throw new IllegalAccessException("이미 존재하는 회원입니다."); }); ˙ Optional에는 편리한 여러 메서드가 존재하므로 Null이 발생할 가능성이 있다면 해당 객체를 감싸 .. 2022. 2. 23.
회원 관리 예제 - 백엔드 개발 / 회원 리포지토리 테스트 케이스 작성 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 3. 회원 리포지토리 테스트 케이스 작성 1. 자바의 main 메서드로 실행 2. 웹 애플리케이션의 컨트롤러를 통해 해당 기능 실행 → 단점: 준비하고 실행하는 데 오래 걸리고, 반복 실행하기 어려우며 여러 테스트를 한번에 실행하기 어렵다 자바는 JUnit이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결한다. 1) src/test/java - repository 패키지 - MemoryMemberRepositoryTest클래스 생성 2) repository 이름으로 MemoryMemberRepository 객체 생성 3) 테스트 할 메서드 앞에 @Test 어노테이션을 붙여 준다 .. 2022. 2. 23.
회원 관리 예제 - 백엔드 개발 / 비즈니스 요구사항 정리, 회원 도메인과 리포지토리 만들기 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 1. 비즈니스 요구사항 정리 데이터: 회원ID, 이름 기능: 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 일반적인 웹 애플리케이션 계층 구조 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 클래스 의존 관계 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황.. 2022. 2. 23.
프로젝트 환경 설정 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. Java 11 IDE: IntelliJ View 환경 설정 1. Welcome Page 만들기 resources/static/index.html 생성 - 스프링 부트의 Welcome Page(첫 홈 화면) 기능 2. 동적 페이지 만들기 hello-spring/src/main/java/hello/hellospring에 controller 패키지 - HelloController.java 생성 템플릿 엔진: 동적 컨텐츠 생성 방법(주로 View를 만든다)으로, 본 강의에서는 Thymeleaf를 사용한다 @Controller: 사용자 요청 진입 지점으로, 요청에 따라 어떤 처리를 할지 결정만.. 2022. 2. 22.
지네릭스, 열거형, 애너테이션 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 지네릭스 타입을 구체적으로 지정하는 것이 아니라, 추후에 지정할 수 있도록 일반화 해 둔다 1. 컴파일 시 타입 체크 2. 타입의 안정성을 제공하고, 형변환을 생략할 수 있으므로(무조건 명시한 타입일 테니까) 코드가 간결해짐 3. 클래스 변수(static)에는 타입 매개변수 사용 불가 : 공간을 공유하는 특성에 모순이 된다 ArrayList foodList = new ArrayList(); foodList.add(new Food()); //foodList.add(new Animal()); Error Arraylist list = new Arraylist(); list.add(10); //Integer list.add("20"); //S.. 2022. 2. 21.
테이블 수정하기(ALTER TABLE) 이 포스트는 다음 강의의 내용을 포함하고 있습니다. 강의 영상 CREATE TABLE MEMBER ( ID VARCHAR2(50), -- NVARCHAR2로 변경 PWD NVARCHAR2(50), NAME NVARCHAR2(50), GENDER NCHAR(2), AGE NUMBER(3), -- 삭제 BIRTHDAY CHAR(10), PHONE CHAR(13), -- EMAIL 추가 REGDATE DATE ); 테이블 생성하기 - CREATE / DROP / ALTER SQL 작성 후 범위 선택한 다음 Ctrl + Enter 아래 DDL 쿼리 명령문 같은 경우는 사실 잘 사용하지 않는다 ALTER TABLE MEMBER MODIFY ID NVARCHAR2(20); ALTER TABLE MEMBER DROP.. 2022. 2. 3.