You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
src/
├─ Main.java ← 진입점
├─ App.java ← 프로그램 실행 로직
├─ Article.java ← 게시글 데이터 클래스
└─ Rq.java ← 커맨드 명령어 요청 유틸 클래스
🧠 메서드 설계 예시
메서드명
설명
run()
앱 실행 루프 (입력 대기 및 명령어 처리)
writeArticle()
게시글 작성 처리
listArticles()
게시글 목록 출력
showDetail(int id)
특정 글 상세 내용 출력
updateArticle(int id)
게시글 수정 처리
deleteArticle(int id)
게시글 삭제 처리
getCurrentDate()
현재 날짜 리턴 (yyyy-MM-dd 형식)
💬 실행 예시
명령어: write
제목: 자바 공부
내용: 자바 텍스트 게시판 만들기
=> 게시글이 등록되었습니다.
명령어: list
번호 | 제목 | 등록일
-----------------------------
1 | 자바 공부 | 2025-08-03
명령어: detail 1
번호: 1
제목: 자바 공부
내용: 자바 텍스트 게시판 만들기
등록일: 2025-08-03
명령어: update 1
제목 (현재: 자바 공부): Java 게시판
내용 (현재: 자바 텍스트 게시판 만들기): 콘솔 기반으로 구현
=> 게시글이 수정되었습니다.
명령어: delete 1
=> 게시글이 삭제되었습니다.
명령어: exit
프로그램을 종료합니다.
🎯 개발 포인트 요약
기술 요소
적용
입력 처리
Scanner 활용하여 명령어/데이터 입력 받기
리스트 관리
ArrayList<Article>로 게시글 목록 관리
날짜 처리
LocalDate.now() 또는 SimpleDateFormat 활용
정렬
최신글이 위로 오도록 list() 역순 출력
객체지향 설계
게시글 클래스 분리, 메서드 역할 분리
✅ 추가 기능 구현 예시
게시글 조회수 기능 (count 필드 추가)
게시글 검색 기능 (search [keyword])
파일 저장/불러오기 (BufferedWriter, BufferedReader 등 활용)
게시글 정렬 옵션 (날짜순, 번호순 등)
✅ 과제 제출 방법
GitHub 저장소에 프로젝트 업로드(개인 레포 가능)
README.md에 기능 설명, 실행 예시, 명령어 요약 포함
폴더 구조 정리 및 주석 또는 문서화 권장
팀 컨벤션
🔖 브랜치 컨벤션
main - 제품 출시 브랜치
develop - 출시를 위해 개발하는 브랜치
feature/본인이름 - 각자 개발하는 기능 단위로 독립적인 개발 환경을 위해 작성
refactor/xx - 개발된 기능을 리팩토링 하기 위해 작성
hotfix/xx - 출시 버전에서 발생한 버그를 수정하는 브랜치
chore/xx - 빌드 작업, 패키지 매니저 설정 등
design/xx - 디자인 변경
bugfix/xx - 버그 수정
📑 커밋 컨벤션
🏷️ 커밋 태그 가이드
태그
설명
[Feat]
새로운 기능 추가
[Fix]
버그 수정
[Refactor]
코드 리팩토링 (기능 변경 없이 구조 개선)
[Style]
코드 포맷팅, 세미콜론 누락, 들여쓰기 수정 등
[Docs]
README, 문서 수정
[Test]
테스트 코드 추가 및 수정
[Chore]
패키지 매니저 설정, 빌드 설정 등 기타 작업
[Design]
UI, CSS, 레이아웃 등 디자인 관련 수정
[Hotfix]
운영 중 긴급 수정이 필요한 버그 대응
[CI/CD]
배포 관련 설정, 워크플로우 구성 등
✅ 커밋 예시 모음 (해당 프로젝트에서는 이모지 사용 X)
🎉 [Chore] 프로젝트 초기 세팅
✨ [Feat] 프로필 화면 UI 구현
🐛 [Fix] iOS 17에서 버튼 클릭 오류 수정
💄 [Design] 로그인 화면 레이아웃 조정
📝 [Docs] README에 프로젝트 소개 추가
📁 PR 컨벤션
PR 시, 템플릿이 등장한다. 해당 템플릿에서 작성해야할 부분은 아래와 같다
PR 유형 작성, 어떤 변경 사항이 있었는지 [] 괄호 사이에 x를 입력하여 체크할 수 있도록 한다.
작업 내용 작성, 작업 내용에 대해 자세하게 작성을 한다.
추후 진행할 작업, PR 이후 작업할 내용에 대해 작성한다
리뷰 포인트, 본인 PR에서 꼭 확인해야 할 부분을 작성한다.
PR 태그 종류, PR 제목의 태그는 아래 형식을 따른다.
🌟 태그 종류 (커밋 컨벤션과 동일)
태그
설명
[Feat]
새로운 기능 추가
[Fix]
버그 수정
[Refactor]
코드 리팩토링 (기능 변경 없이 구조 개선)
[Style]
코드 포맷팅, 들여쓰기 수정 등
[Docs]
문서 관련 수정
[Test]
테스트 코드 추가 또는 수정
[Chore]
빌드/설정 관련 작업
[Design]
UI 디자인 수정
[Hotfix]
운영 중 긴급 수정
[CI/CD]
배포 및 워크플로우 관련 작업
✅ PR 예시 모음 (해당 프로젝트에서는 이모지 사용 X)
🎉 [Chore] 프로젝트 초기 세팅
✨ [Feat] 프로필 화면 UI 구현
🐛 [Fix] iOS 17에서 버튼 클릭 오류 수정
💄 [Design] 로그인 화면 레이아웃 조정
📝 [Docs] README에 프로젝트 소개 추가