1. 도메인 설계 (1) 도메인 설계 카드 만들기 목표 도메인 ERD 다이어그램 그려보기 자바 클래스로 도메인 표현해보기 Issue 생성 labels : enhancement, documentation (2) 다이어그램 생성하기 diagrams.net으로 이동 create new diagram > ERD 선택 이름: project-board-erd.svg 깃허브 연동 (이슈 번호 #8) 깃크라켄에서 feature/#8-domain 브랜치 생성 브랜치만 push하기 새로고침하여 feature/#8-domain/document 하고 ok 누르기 commit message: #8 - erd 벡터 이미지 템플릿 추가 왼쪽 Entity Relation에서 Table1 사용하면 좋다. tip) ctrl+enter를..
1. 스프링 부트 프로젝트 (1) Project 카드 생성하기 스프링 부트 프로젝트 시작하기 spring initializr로 디렉토리를 초기화하고, 개발 바탕을 만든다. 모든 내용을 작성한 이후, 이슈로 만든다. (2) Project 에서 제공하는 기능으로 스프린트 활용 setting > new felid : 스프린트 > Iteration (start on 시작일 설정, Duration 보통 2주 단위지만 여기선 1주) + New View : 스프린트 뷰 자동으로 Duration 단위로 분리가 된다. 기간에 따라 완료해야하는 작업들을 이동시킨다. Ready 에 스프린트 단위로 이동시킨다. (3) GitKraken main에서 Pull 실행 (기본 기능으로 Fetch 추천) Local에서도 이전에 사용했..
1. 유즈케이스2 (1) 유즈케이스 그리기 시스템과 엑터의 관계는 실선으로 표기한다. DB는 인증과정과 게시판 보기, 게시글 보기, 게시글 및 댓글 관리 와 연결이 되어야 한다. Export as > SVG 를 통해 저장한다. file name : usecase.svg 깃허브에서 폴더 찾아서 저장한다. 이때 기존에 생성해두었던 파일과 이름이 동일함으로 replace할 것인지 묻는데 ok를 해주고 커밋 메시지를 작성한다. 커밋 메시지는 앞서 정했던 전략을 사용하여 작성한다. (이슈번호 + 제목 + 왜 작성했는지) #4 - 게시판 서비스 유케이스 그림 완성 깃 크라켓에서 description을 작성할 수 있다. 유즈케이스 커밋까지 완료하였으면, pull request를 한다. 깃허브의 Pull request..
1. 깃 브랜치 전략 (1) 깃 브랜치를 운영하는 방법론 깃 브랜치를 관리하는 방법론에는 gitflow와 github flow 두 가지가 있다. gitflow는 브랜치를 master, develop, feature, release(내보내기 직전), hotfix(긴급한 것)로 나누어 운영하는 방식이다. github flow는 gitflow가 보다 단순화되어 main, feature 두 가지로 운영하는 방식이다. 큰 회사는 gitflow, 스타트업 같은 경우는 github flow를 사용한다. (2) 브랜치 전략을 세우는 이유와 요령 하나의 프로젝트 소스코드는 다양한 개발자가 함께 다루기 때문에 소스 코드가 합쳐질 때 문제를 해결하기 위해 브랜치 전략을 세운다. (merge 충돌을 해결하는 전략) 전략을 통..
1. 필요 기술 정리 (1) 필요 세부 기술 목록 작성 방법 사용할 기술들을 모두 파악한 뒤, 처음부터 프로젝트에 적용하는 방법 기능을 만들 때마다 필요한 기술들을 추가하는 방법 (실습할 방법) (2) 예상되는 세부 기능 기능을 만들 때마다 필요 기술들을 추가할 것이지만, 이미 어떤 개발을 할지 예상되는 부분에 대하여 간단하게 세부 기능들을 살펴보면 다음과 같다. 게시판과 댓글 도메인의 설계 도메인(게시판, 댓글) 데이터를 DB에 저장 JSON 포멧으로 웹 API를 통해 데이터 제공 사용자에게 웹 화면으로 게시판 서비스 제공하기 위한 요소 (약간의 디자인 요소) 게시판 페이지 게시글 페이지 로그인 페이지 입출력 데이터의 검증 인증 기능 (로그인) 생산성에 도움이 되는 도구들 (3) 세부 기능들로부터 선택..
1. 개발 환경 (1) 개발 환경 개발도구 : Intellij IDEA Ultimate 2022.1 소스코드 관리 (형상 관리 / 버전 관리) : Git 2.36.1 : 변경사항을 쉽게 비교할 수 있으며, 롤백도 가능하다. Git 호스팅 : GitHub : 협업을 위한 공유를 위해 사용할 수 있다. Git GUI : GitKraken Pro 8.5.0 : CLI 이기 때문에 이해하기 어려운 것을 도와주는 역할을 한다. 깃헙과의 연동도 편리하다. free trail로 사용해도 실습에 문제없다. 2. Part2. 게시판 서비스 개발 목적 (1) 게시판 서비스 프로젝트의 목표 누구나 접하기 쉽고, 이해하기 쉬운 게시판 서비스로 명확한 기능 요구사항을 만든다. 개발하는 과정에서 도움이 되는 다양한 문서 작업을 ..
1. Reflection 힙 영역(메모리)에 로드되어 있는 클래스 타입의 객체를 통해 필드, 메소드, 생성자를 접근 제어자(private, public 등)와 상관없이 접근할 수 있도록 지원하는 API이다. 이미 로드되어 있는 클래스 타입의 객체(User)를 가져오는 방법은 세 가지가 있다. Class.class Instance.getClass() Class.forName() // 1 Class clazz1 = User.class; // 2 User user = new User("userid", "kim"); Class clazz3 = Class.forName("org.example.User"); JVM의 클래스 로더는 클래스 파일에 대한 로딩이 끝나면 클래스 타입의 객체를 생성하고, 메모리 힙 영역에 ..