본문 바로가기

Java/[패스트캠퍼스] 50일 포트폴리오 챌린지

(31)
[22일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) H2 console에 접속하는 방법 ① application.yaml : spring > datasource 부분을 h2로 설정한다. url: jdbc:h2:mem:testdb username: sa driver-class-name: org.h2.Driver​ ② 애플리케이션 서버를 실행한다. 로그에 H2Dialect가 출력되는지 확인한다. ③ 웹 브라우저에 localhost:8080/h2-console를 입력한 후 Connect 버튼을 선택한다. localhost:8080/h2-console 테이블을 조회(SELECT)하는 방법 : 테이블을 선택하면 console에 조회(SELECT)문이 입력된다. 테이블에 저장된 데이터를 확인하는 방법 : 조회(SELECT)문이 입력된 상태에서 Run 버튼을 선택한다..
[21일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 엔티티 정의 ① Annotation을 설정한다. ② 기본 생성자를 생성한다. Lombok으로 생성하는 방법 : @NoArgsConstructor(access = AccessLevel.PROTECTED) ③ 설정이 필요한 필드를 갖는 생성자(private)를 생성한다. 생성자는 private 제어자로 숨기고, 값을 넣을 때는 factory method를 이용한다. ④ 동등성/동일성 검사를 위한 equals() ans hashCode()를 생성한다. ⑤ 서비스(애플리케이션 코드)를 구동한다. Services(구 Spring DashBoard) > Add Service > Run Configuration Type > Spring Boot > Run Services를 이용하여 서비스를 구동하면 서비스 실행 로그..
[20일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 도메인 설계 내용을 바탕으로 DB와 연동하기 위한 방법을 구상한 후 테스트를 작성한다. MySQL ① MySQL을 설치한다. (MySQL Community Server) ② IntelliJ의 Database 탭에서 Data Source(MySQL)를 추가한다. ③ Test Connection을 통해 연결을 확인한다. ④ MySQL console을 통해 새로운 데이터베이스를 생성한다. create database {name}; ⑤ localhost에 새로운 계정을 생성한다. create user '{name}'@'localhost' identified by '{password}'; 계정 생성 확인 : select 'user' from 'mysql'.'user'; 권한 확인 : show grants for ..
[19일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 게시판 서비스를 만들기 위한 기본 도메인을 설계한다. - 도메인 ERD 다이어그램 작성 - 자바 클래스로 도메인 표현 도메인 ERD 다이어그램 작성 https://app.diagrams.net/ Flowchart Maker & Online Diagram Software Flowchart Maker and Online Diagram Software draw.io is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPMN online, as a ..
[18일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) API 설계 API 설계 내용을 구글 스프레드 시트 문서에 정리한다. https://docs.google.com/spreadsheets/u/0/ Facebook에 로그인 Notice 계속하려면 로그인해주세요. www.facebook.com ① endpoints API 설계를 위한 항목을 작성한다. (종류, url, method, 기능, 설명) ② view(화면) 경로를 작성한다. RootPath(/), error 페이지, UseCase 참고(로그인, 회원 가입, 게시판, 게시글, 검색) ③ api(데이터 전송) 경로를 작성한다. 회원 가입, 로그인 요청, 게시글 목록 조회, 게시글 조회, 게시글 등록/수정/삭제, 댓글 목록 조회, 댓글 조회, 댓글 등록/수정/삭제 +) api에 대한 버전 관리가 필요하다..
[17일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) UseCase? 시스템 또는 서비스를 설계할 때 이를 이용하는 사용자의 전체적인 이용 패턴을 분석해놓은 것. 설계하려는 시스템을 문서화하여 다른 사람과 커뮤니케이션 할 때 사용한다. 대표적인 도구 Lucidchart : Gihub 연동(X), UseCase 관련 템플릿(O) diagrams.net(구 draw.io) : Gihub 연동(O), UseCase 관련 템플릿(X) diagrams.net(구 draw.io)를 이용하여 UseCase를 작성하는 방법 Github 연동된 상태 ① UML 메뉴를 선택한다. ② Actor : 이용자를 나타내는 아이콘을 생성한다. ③ Frame : 시스템을 나타내는 아이콘을 생성한다(제목을 해당 시스템으로 작성). ④ Activity : UseCase를 나타내는 아이콘을..
[16일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) GitHub Issues : 업무들을 작성하는 공간(안건, 업무) New Issues > Assignees : 일을 수행할 담당자 > Labels > enhancement : 새로운 기능을 개발할 때 붙이는 라벨. Milestones : 개발 일정을 날짜별로 관리할 때 사용한다. Pull requests : 완료된 개발 코드에 어떠한 코드를 요청하여 반영하는 공간(코드 리뷰) Actions : 빌드와 배포를 자동화하는 공간 Projects : 애자일 소프트웨어 방법론(칸반 보드). 일의 진행 상황을 관리하는 공간(할일, 진행 중, 완료) 기존(특정 레포에 종속된 프로젝트 생성) Beta(모든 레포를 대상으로 총괄하는 프로젝트 생성) > 프로필에 새로운 프로젝트를 등록해야 함. 자동화하는 방법 : ...(..
[15일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 게시판 서비스 프로젝트의 목표 누구나 이해하기 쉬운 소재로 명확한 기능 요구 사항을 만든다. 요구사항을 구현하는데 도움이 되는 각종 문서 작업을 경험한다. 자바 + 스프링 부트로 프로젝트 요구 사항을 실제로 구현하는 기술적인 방법을 익힌다. 최신 버전의 기술을 사용해 보면서 기술 동향을 파악하고, 새로운 문제와 해결 방법을 확인한다. 기획과 문서 작성부터 개발, 형상관리, 테스트, 배포까지 개발 프로세스 전반을 경험한다. 문서 작업 문서를 통해 개발할 프로젝트의 목적, 내용, 진행 상황을 공유한다. 내용이 구체적일수록, 프로젝트 개발 내용이 잘 동기화되고 진행이 막히지 않는다. 업무 기록을 남김으로써 업무 진척 상황과 내 성과(어필)가 잘 드러나게 된다. 도메인과 ERD 설계, 유즈케이스 : diagra..