마크다운과 쿼토 비교

Markdown vs Quarto 완전 비교 가이드

기본 개념

  • *Markdown*: 가벼운 마크업 언어, 텍스트 포맷팅 중심
  • *Quarto*: Pandoc 기반의 과학적 출판 시스템, 코드 + 문서 통합

1. 제목과 목차 기능

일반 Markdown

# 제목 1
## 제목 2  
### 제목 3
#### 제목 4
##### 제목 5
###### 제목 6

<!— 목차는 수동으로 만들어야 함 —>
## 목차
- [섹션 1](#섹션-1)
- [섹션 2](#섹션-2)

Quarto

—
title: “문서 제목”
toc: true           # 자동 목차 생성
toc-depth: 3        # 목차 깊이 설정
toc-title: “차례”    # 목차 제목 커스터마이징
—

# 섹션 1 {#sec-intro}
## 하위 섹션 1.1
### 세부 섹션 1.1.1

# 섹션 2 {#sec-methods}

결과: Quarto는 자동으로 클릭 가능한 목차를 생성하고, 각 섹션에 고유 ID 부여

2. 주석 기능

일반 Markdown

<!— 이것은 HTML 주석입니다 —>
<!— 렌더링된 결과에는 보이지 않습니다 —>

[^1]: 이것은 각주입니다
텍스트에 각주 참조[^1]를 넣을 수 있습니다.

Quarto

<!— HTML 주석 (동일) —>

<!— Quarto 전용 주석 —>
{{< comment >}}
이것은 Quarto 전용 주석 블록입니다.
여러 줄로 작성 가능합니다.
{{< /comment >}}

<!— 마진 주석 —>
이것은 본문 텍스트입니다. [마진에 나타날 주석입니다.]{.aside}

<!— 각주 (향상된 기능) —>
텍스트에 각주^[인라인 각주도 가능합니다]를 넣거나 
참조형 각주[^note1]도 사용할 수 있습니다.

[^note1]: 이것은 참조형 각주입니다. 더 복잡한 내용을 넣을 수 있어요.

3. 기본 텍스트 포맷팅

공통 문법 (동일)

*기울임* 또는 _기울임_
**굵게** 또는 __굵게__
***굵은 기울임***
~~취소선~~
`인라인 코드`

> 인용문
> 여러 줄 인용문

- 순서 없는 목록
- 항목 2
  - 중첩 항목

1. 순서 있는 목록
2. 항목 2
   1. 중첩 순서 목록

Quarto 추가 기능

[밑줄 텍스트]{.underline}
[작은 대문자]{.smallcaps}  
[하이라이트]{.mark}

H~2~O (아래 첨자)
E = mc^2^ (위 첨자)

4. 링크와 이미지

일반 Markdown

[링크 텍스트](https://example.com)
[링크 텍스트](https://example.com “툴팁 텍스트”)

![이미지 설명](image.png)
![이미지 설명](image.png “이미지 제목”)

Quarto (크로스 레퍼런스 추가)

<!— 기본 링크 (동일) —>
[링크 텍스트](https://example.com)

<!— 그림 참조 —>
![캡션 텍스트](image.png){#fig-example width=50%}

@fig-example 에서 보는 바와 같이...

<!— 표 참조 —>
| 항목 | 값 |
|——|——|
| A    | 1   |
| B    | 2   |

: 표 캡션 {#tbl-data}

@tbl-data 는 데이터를 보여줍니다.

5. 코드 블록

일반 Markdown

markdown
python
def hello():
print(“Hello World”)

Quarto (실행 가능한 코드)

```{python}
#| echo: true      # 코드 표시
#| eval: true      # 코드 실행  
#| warning: false  # 경고 숨김
#| fig-cap: “그래프 제목”

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.show()
```

```{r}
#| label: fig-cars
#| fig-cap: “자동차 데이터 산점도”

plot(cars)
```

6. Callout 블록 (Quarto 전용)

::: {.callout-note}
## 참고사항
이것은 파란색 노트 박스입니다.
:::

::: {.callout-warning}  
## 경고
이것은 노란색 경고 박스입니다.
:::

::: {.callout-important}
## 중요
이것은 빨간색 중요 박스입니다.
:::

::: {.callout-tip}
## 팁
이것은 초록색 팁 박스입니다.
:::

::: {.callout-caution collapse=“true”}
## 주의 (접기 가능)
클릭하면 펼쳐지는 접을 수 있는 박스입니다.
:::

7. 레이아웃 기능 (Quarto 전용)

<!— 탭 패널 —>
::: {.panel-tabset}
## 탭 1
첫 번째 탭 내용

## 탭 2  
두 번째 탭 내용

## 탭 3
세 번째 탭 내용
:::

<!— 다중 컬럼 —>
::: {.grid}
::: {.g-col-6}
왼쪽 절반 (50%)
:::
::: {.g-col-6} 
오른쪽 절반 (50%)
:::
:::

<!— 마진 콘텐츠 —>
::: {.column-margin}
이 내용은 페이지 마진에 표시됩니다.
:::

8. 수식

일반 Markdown (제한적)

인라인 수식: $E = mc^2$

블록 수식:
$$
\sum_{i=1}^n x_i = \bar{x} \cdot n  
$$

Quarto (레이블링과 참조)

Einstein의 공식:
$$
E = mc^2
$$ {#eq-einstein}

@eq-einstein 에서 보듯이...

정리:
$$  
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$ {#eq-gaussian}

9. YAML 프론트매터

일반 Markdown (선택적)

—
title: “문서 제목”
author: “작성자”
date: “2024-01-01”  
—

Quarto (강력한 설정)

—
title: “고급 문서”
author: 
  - name: “작성자 1”
    affiliation: “소속기관”
  - name: “작성자 2”
date: today
format:
  html:
    toc: true
    theme: cosmo
    code-fold: true
  pdf:
    documentclass: article
    geometry: margin=1in
bibliography: references.bib
—

10. 조건부 콘텐츠 (Quarto 전용)

::: {.content-visible when-format=“html”}
이 내용은 HTML 출력에서만 보입니다.
웹용 인터랙티브 요소들을 여기에...
:::

::: {.content-visible when-format=“pdf”}
이 내용은 PDF 출력에서만 보입니다.  
인쇄용 레이아웃이나 정적 이미지 사용.
:::

::: {.content-hidden when-format=“revealjs”}
이 내용은 프레젠테이션에서는 숨겨집니다.
:::

요약: 언제 무엇을 사용할까?

일반 Markdown 사용 시기:

  • GitHub README, 블로그 포스트
  • 단순한 문서화
  • 빠른 메모나 노트
  • 호환성이 중요한 경우

Quarto 사용 시기:

  • 학술 논문, 리포트
  • 데이터 분석 결과 공유
  • 인터랙티브 문서 필요
  • 다양한 출력 형식 필요 (HTML, PDF, Word, PowerPoint)
  • 코드와 문서 통합 필요

핵심: Quarto는 Markdown의 모든 기능을 포함하면서, 과학적/기술적 문서 작성을 위한 강력한 추가 기능들을 제공합니다!

Posted in mm

Setting Gemini CLI

Gemini CLI 환경 설정 가이드



Interactive Gemini CLI 설정 가이드

Gemini CLI 설치부터 외부 도구 연동까지, 전체 설정 과정을 안내합니다.

1. 사전 준비 (Prerequisites)

본격적인 설정에 앞서 아래 프로그램들이 PC에 올바르게 설치되어 있는지 확인해주세요.

  • Node.js (LTS 버전)

    Gemini 도구 실행을 위한 필수 환경입니다. 안정성이 검증된 **LTS** 버전 설치를 권장합니다.

    Node.js 공식 다운로드 →

  • Google Cloud CLI (`gcloud`)

    터미널에서 Google Cloud 계정을 인증하고 프로젝트를 관리하기 위한 도구입니다.

    Google Cloud CLI 설치 페이지 →

  • Gemini CLI

    메인 프로그램인 Gemini CLI가 설치되어 있어야 합니다.

2. Google Cloud 프로젝트 설정

1단계: 프로젝트 생성 및 설정

새 터미널(PowerShell)을 열고 아래 명령어를 순서대로 실행하여 새 프로젝트를 만들고, 앞으로 이 프로젝트를 사용하도록 설정합니다.

# 1. 'your-unique-project-id' 부분에 원하는 고유 ID를 넣어 프로젝트 생성
gcloud projects create your-unique-project-id

# 2. 앞으로 gcloud 명령어가 이 프로젝트를 사용하도록 설정
gcloud config set project your-unique-project-id

2단계: 결제 계정 연결

생성한 프로젝트에 결제 계정을 연결해야 API가 정상적으로 활성화됩니다. (무료 사용량 내에서는 요금이 부과되지 않습니다.)

Google Cloud 결제 페이지로 이동 →

3단계: 필수 API 활성화

Gemini가 사용할 Google 서비스들의 ‘사용 허가 스위치’를 켜는 과정입니다. Google Cloud API 라이브러리로 이동하여 아래 API들을 검색 후 **[사용(Enable)]** 버튼을 누릅니다.

Google Workspace용:

  • Google Drive API
  • Google Docs API
  • Google Sheets API
  • Google Slides API

Database Toolbox용:

  • Google Cloud Firestore API
  • BigQuery API

4단계: 로컬 환경 인증

PC에서 `gcloud`를 통해 Google 계정에 로그인하여, 앞으로 실행될 프로그램들이 자동으로 인증을 거치도록 설정합니다. 웹 브라우저가 열리면 로그인 및 권한을 허용해주세요.

gcloud auth application-default login

3. Gemini CLI 및 도구 설정

1단계: 폴더 구조 확인

Gemini CLI는 두 종류의 설정 위치를 사용합니다. 올바른 위치에 파일을 만들어야 합니다.

전역 설정 폴더

모든 프로젝트에 공통으로 적용됩니다.

C:\Users\사용자명\.gemini\

프로젝트 폴더

현재 작업에만 적용됩니다.

C:\Users\사용자명\Downloads\Workshop\

2단계: `settings.json` 파일 구성

**전역 설정 폴더**(`\.gemini\`)에 `settings.json` 파일을 만들고, 아래의 최신 설정 코드를 붙여넣습니다. 이 파일은 Gemini가 어떤 외부 도구를 사용할지 알려줍니다.

{
"mcpServers": {
"google-workspace": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@google/gemini-tools-workspace"]
},
"database-toolbox": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@google/gemini-tools-database"]
},
"task-manager": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@kazuph/mcp-taskmanager"]
},
"context7": {
"httpUrl": "https://mcp.context7.com/mcp"
}
}
}

3단계: `gemini.md` 파일 구성

**프로젝트 폴더**(`Workshop`) 안에 `gemini.md` 파일을 만들고, 해당 프로젝트에서 Gemini가 수행할 역할과 규칙을 정의합니다.

# 나의 역할 및 지시사항

- 너는 데이터를 분석하고 비즈니스 문서를 작성하는 전문 분석가이다.
- 나의 주된 목표는 데이터를 기반으로 데이터베이스 구조를 설계하고, 명확한 보고서와 슬라이드 기획안을 만드는 것이다.
- 모든 결과물은 한국어로 작성하며, MS 오피스에 쉽게 복사할 수 있도록 간결한 마크다운 형식을 사용한다.

4. 실행 및 최종 인증

모든 설정이 완료되었습니다. 아래 순서대로 Gemini를 실행하고 Google 도구들에 대한 최종 인증을 진행하세요.

  1. 터미널을 열고 **프로젝트 폴더로 이동**합니다.

    cd ~/Downloads/Workshop
  2. `gemini`를 실행합니다.
  3. Gemini CLI 프롬프트 안에서, Google 도구들에 대한 최종 인증을 수행합니다. (웹 브라우저가 열리면 로그인 및 권한 허용)

    /mcp auth google-workspace
    /mcp auth database-toolbox
  4. `/mcp` 또는 `/tools` 명령어로 모든 도구가 `Ready` 상태인지 확인하면 설정이 완료됩니다.

※ 문제 발생 시 대응 방안

`Connection closed` 또는 `fetch failed` 오류

원인: 방화벽 또는 보안 프로그램이 `node.exe`의 인터넷 접속을 차단하는 경우.

해결책:

  1. Windows 검색에서 `방화벽 및 네트워크 보호` 실행
  2. `방화벽에서 앱 허용` 클릭
  3. `node.exe` (`C:\Program Files\nodejs\node.exe`)를 찾아 개인/공용 체크박스를 모두 허용.
  4. V3, 알약 등 다른 백신이 있다면 ‘실시간 감시’를 잠시 끄거나 `node.exe`를 예외 처리.
`Directory mismatch` 오류

원인: 에디터(Cursor)에 열려있는 폴더와 터미널의 현재 폴더가 다른 경우.

해결책: 에디터의 `File > Open Folder…` 메뉴를 통해 터미널의 현재 위치와 동일한 프로젝트 폴더(`Workshop`)를 엽니다.

`/mcp` 등 내부 명령어가 ‘인식되지 않는’ 오류

원인: Gemini CLI를 실행하지 않고, 일반 터미널에 내부 명령어를 직접 입력한 경우.

해결책: 반드시 `gemini` 명령어를 먼저 실행하여 Gemini CLI 환경에 진입한 후, `/mcp`와 같은 내부 명령어를 사용합니다.

위 방법으로도 해결되지 않는 경우

원인: PC의 특수한 시스템 환경, 보안 정책, 또는 Gemini CLI 자체의 버그.

대안: CLI 설정 대신, 모든 기능이 동일하게 작동하고 설치가 필요 없는 웹 기반 Google AI Studio를 사용하는 것을 강력히 권장합니다.

Posted in mm