본문 바로가기
Etc

README.md 작성법 제대로 알기

by Dddu 2025. 5. 18.

과제전형 메일을 받다보면 개발뿐만 아니라 readme 작성까지 완료되어야 완성된 과제로 간주한다고 한다.

README.md란 무엇인가?

README.md는 말 그대로 "읽어봐(Read Me)"라는 의미를 가진 파일이다.  
보통 Git 프로젝트의 최상단에 위치하며,  
이 프로젝트가 무엇인지 설명해주는 역할을 한다.

확장자 `.md`는 Markdown의 약자이다.  
따라서 단순 텍스트가 아니라 `# 제목`, `- 목록`, `코드블럭` 같은 서식을 적용할 수 있다.  
GitHub, GitLab, Bitbucket 같은 저장소에서 자동으로 렌더링된다.


# 왜 작성하는가?

- 프로젝트를 **처음 접하는 사람이 쉽게 이해할 수 있도록**  
- 코드만으로는 알 수 없는 **맥락, 실행 방법, 목적**을 전달하기 위해  
- **협업자, 리뷰어, 사용자, 미래의 나**를 위한 설명서  
- 오픈소스일 경우 외부 기여자나 사용자를 유도하기 위한 기본 가이드

# 어떻게 작성하는가?

- 확장자는 `.md`이며, **마크다운 문법**을 사용한다  
- GitHub에서는 최상단 README.md를 자동으로 렌더링해 보여준다  
- 에디터는 VSCode, Typora 등을 쓰면 편하다  
- 기본적으로 텍스트 + 마크다운 서식을 활용해 작성한다

# README.md 문법 정리 (Markdown 기초)

## 1. 제목

# 제목 1 (h1)
## 제목 2 (h2)
### 제목 3 (h3)
#### 제목 4 (h4)

---

## 2. 굵게 / 기울임 / 취소선

**굵게** → `**굵게**`  
*기울임* → `*기울임*`  
~~취소선~~ → `~~취소선~~`

---

## 3. 목록 (List)

- 순서 없는 목록
  - 하위 항목
    - 더 하위 항목  
→ `-`, `*` 사용 가능

1. 순서 있는 목록
2. 이렇게 번호 자동 증가

---

## 4. 코드 블럭

### ● 인라인 코드
`System.out.println("Hello");` ← 백틱(`)으로 감싸기

### ● 여러 줄 코드 (코드블럭)
\`\`\`java  
public class Hello {
  public static void main(String[] args) {
    System.out.println("Hello, World!");
  }
}
\`\`\`

언어 지정: `java`, `bash`, `json`, `sql`, `html` 등

---

## 5. 링크 / 이미지

[링크 텍스트](https://github.com)  
`![대체텍스트](이미지URL)` ← 이미지 삽입

---

## 6. 인용문

> 이것은 인용문이다.  
→ `>`로 시작

---

## 7. 구분선

---  
또는  
***  
또는  
___  

→ 수평선 그어짐

---

## 8. 표 (Table)

| 이름 | 설명 | 비고 |
|------|------|------|
| A    | 첫 번째 | O |
| B    | 두 번째 | X |

→ `|`로 셀 나누고, `-`로 헤더 구분

---

## 9. 체크박스

- [ ] 할 일 1  
- [x] 완료한 일

---

## 10. 강조 블럭 (주의, 정보 등)

일반 마크다운만으로는 색 강조가 안되므로,  
GitHub에서는 보통 **이모지**나 **굵은 글씨**로 강조함.

예:

> ⚠️ **주의**: 데이터베이스 초기화 주의  
> ℹ️ **정보**: 이 프로젝트는 테스트용입니다.

---

## 11. 줄바꿈

한 줄 띄우면 자동 줄바꿈 됨  
강제 줄바꿈하려면 `공백 2칸 + Enter`

---

# 마무리

Markdown은 익숙해지면 타이핑만으로 예쁜 문서를 만들 수 있는 도구이다.  
README.md는 Markdown으로 작성된 가장 대표적인 문서이며, 프로젝트의 **얼굴**이다.  
코드보다 먼저 보는 파일이고, 문서 하나로 신뢰도와 완성도가 갈린다.  
혼자 쓰든 협업이든, 작은 프로젝트든 큰 시스템이든, README는 항상 작성해야 한다.

'Etc' 카테고리의 다른 글

자바 빌드 도구의 역사  (0) 2025.05.25
금융보안원 모바일 앱 보안성 점검 항목  (0) 2025.05.18
UiPath 란?  (0) 2025.05.11
프런트엔드 배포형태  (0) 2025.05.11
Java8, Stream API와 레거시 For  (0) 2025.05.04