728x90
반응형
- 패스트캠퍼스 백엔드 부트캠프에 지원한 동기
- 클론 코딩하면서 부족하다고 느꼈던 스프링 프레임워크 원리의 이해와 활용법을 익히기 위해
- 커리큘럼을 통해 부족한 점을 파악하고 개선시키기 위해
- 프로젝트를 통한 협업 능력 향상
- 공동의 목표를 가진 스터디를 통해 서로 설명해주면서 발전하기 위해
- 혼자 학습하면서 느꼈던 어려웠던 점을 도와주기 위한 멘토링을 받을 수 있고,
멘토링을 통해 미처 느끼지 못했던 필요한 기술 파악하기 위해
- 패스트캠퍼스를 선택한 이유
- 줌을 통해 함께 공부하면서 충분한 학습시간과 함께 집중할 수 있게 도와주는 환경
- 관리 시스템을 통한 규칙적인 학습 패턴 구축
- 패스트캠퍼스의 온라인 강의를 통해 실시간 강의로 부족한 점들을 스스로 채울 수 있게 도와줌
- 실제 현업에 있는 분들이 강의를 해주면서, 실무에 필요한 기술을 익히기 위해 필요한 기반을 마련해줌
- 기업 연계 프로젝트를 통해, 실무에 가까운 프로젝트를 만들 수 있음
- 부트캠프 수료 후, 이루고자 하는 목표
- 스프링 프레임워크를 효과적으로 재사용하는 백엔드 개발자
- 부트캠프 시작전까지 준비한 것
- 컴퓨터공학과 편입해, 학부 졸업
- DB 엔지니어 인턴 수료
- 코딩테스트를 위한 기본적인 알고리즘 연습
- 자바 언어에 대한 기초적인 학습
- 스프링과 스프링 부트를 이용한 프로젝트 클론코딩
- 목표를 이루기 위해 필요한 것
- 중급 이상의 자바 언어 이해도 - 남궁성 유튜브와 실시간 강의
- 백엔드 개발에 필요한 CS 기본기 - 온라인 강의
- 데이터베이스
- 자료구조 / 알고리즘
- 운영체제
- 네트워크
- 스프링 프로젝트를 위한 기본 소양 - 스프링의 정석과 실시간 강의
- 스프링 프레임워크가 진화한 과정을 살펴보고,
해당 프레임워크의 구성 원리 및 설계 원칙, 재사용 가능한 컨텍스트와 변경 가능성에 관련된 다양한 정보를 익혀야 한다.
- 스프링 프레임워크가 진화한 과정을 살펴보고,
- 이벤트 처리를 위한 자바스크립트 능력 - 코딩앙마 유튜브와 실시간 강의
- 스프링을 더 쉽게 사용하기 위한 스프링 부트 원리와 이해 - 실시간 강의
- 스프링 부트 프레임워크를 이용한 상용 가능한 프로젝트 수행 - 파이널 프로젝트
- 2개월 동안의 기록
- 하루에 공부한 내용을 정리하기 위한 TIL 작성
- 규칙적인 학습 패턴을 위한 기상 스터디
- 실시간 강의를 듣기 전, 실시간 강의의 내용을 최대한 습득하기 위해 미리 온라인 강의를 통해 예습
- 그룹 스터디
- 자바의 객체 지향 개념 정리
- 스프링의 정석 학습하고, 스프링 프레임워크 동작 방식와 기본적인 CRUD 프로젝트 수행
- 운영체제 정리 (-ing)
- 자료구조와 알고리즘 정리 (-ing)
- 코딩테스트 문제 풀이 (-ing)
- 토이 프로젝트
- 토이프로젝트 수행
만화책 대여 관리 시스템 프로젝트
목차
프로젝트 간단 요약
상용 가능한 만화책 대여 관리 시스템을 만들기 위한 프로젝트
- 스프링으로 컨트롤러와 서비스 처리
- MyBatis로 영속 계층 처리
- JSP로 화면 처리
- REST API와 Ajax으로 비동기 방식으로 반납 처리
프로젝트 정보/개요
진행기간 | 목표 |
---|---|
2023-01-26~2023-01-27 | 프로젝트 설계 |
2023-01-28 | 사용자, 만화책 CRUD 구현 |
2023-01-29 | 만화책 대여 및 반납 CRUD 구현 |
프로젝트 설명
- ERD
- 클래스 다이어그램
구현한 기능 설명
- 로그인한 사용자만 만화책 조회 및 대여 가능
- 관리자만 만화책 CRUD 가능하며, 고객 관리하는 관리자 페이지가 존재한다
- 홈페이지에서 로그인하면, 대여 중인 정보를 확인할 수 있고 반납이 가능하다
- 만화책 정보 제목, 저자 기준 검색 및 페이징 구현
개선해야할 점
- 로그인하지 않은 사용자 직접 접근 제한
- 회원가입 후, 자동 로그인 처리
- 디자인을 공유하는 페이지는 공통으로 처리하도록 변경
- 날짜와 시간에 대한 처리
- 만화책 수량을 지정해 0 이하인 경우 대여가 불가능하도록 구현하려고 했으나, 이상적으로 동작하지 않아 마무리하지 못함 (현재는 만화책 수량에 상관없이 대여가능)
- 대여중인 만화책에 대한 자세한 정보 변경
- 대여 테이블과 만화책 테이블 간에 외래키 관계 형성해, 대여중인 만화책을 삭제하지 못하도록 외래키 제약 조건 설정
- 회원가입시 아이디 중복체크
- 시간적 제약 때문에 부분적으로 TDD를 이용해 개발 -> 전체적으로 적용해 단계적으로 리팩토링 수행
테이블 DDL
create table comicbook
(
cno int auto_increment
primary key,
title varchar(30) not null,
writer varchar(15) not null,
publisher varchar(15) not null,
`release` datetime default CURRENT_TIMESTAMP null,
quantity int default 1 null,
adult tinyint(1) default 0 null,
up_date datetime default CURRENT_TIMESTAMP null,
view_cnt int default 0 null,
reg_date datetime default CURRENT_TIMESTAMP null
);
create table rental
(
rno int auto_increment
primary key,
due_date date null,
cno int not null,
id varchar(15) not null,
rental_date datetime default CURRENT_TIMESTAMP not null
);
create table rentalhistory
(
rno int not null
primary key,
cno int not null,
id varchar(15) not null,
rental_date datetime not null,
return_date datetime null
);
create table user
(
uno int auto_increment
primary key,
id varchar(15) not null,
birth date null,
email varchar(30) not null,
tel varchar(30) not null,
sex tinyint(1) null,
sns tinyint(1) default 0 null,
isdeniedrental date null,
isadmin tinyint(1) default 0 null,
reg_date datetime default CURRENT_TIMESTAMP null,
pwd varchar(15) not null,
name varchar(10) not null,
up_date datetime default CURRENT_TIMESTAMP null
);
사용한 기술 스택
- 앞으로 2개월 동안의 계획
- CS 기본기 마스터
- 운영체제
- 네트워크
- 컴퓨터구조
- 데이터베이스
- 파이널 프로젝트에 필요한 스프링 기술 습득
- Spring Security
- OAuth2
- Spring Data JPA
- Spring Batch
- 코딩테스트를 위한 자료구조/알고리즘 공부
- 프로그래머스 코딩테스트 연습 레벨3 달성
- 현재 코딩테스트 연습 레벨2
- CS 기본기 마스터
728x90
반응형
'Server Programming > BackEnd Project' 카테고리의 다른 글
88일차 - TIL (0) | 2023.03.10 |
---|---|
77일차 - TIL (0) | 2023.02.27 |
70일차 - TIL (0) | 2023.02.21 |
66일차 - TIL (0) | 2023.02.16 |
65일차 - TIL (0) | 2023.02.16 |