Skip to content

Commit 3d47ecd

Browse files
committed
Feat: update
1 parent 5fd1830 commit 3d47ecd

9 files changed

+126
-14
lines changed

content/posts/project/blog/개인 블로그를 제작하게 된 이유.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
---
2-
id: 1741421377-QPMW
32
tags:
43
- blog
54
- dev
65
- project
76
createdAt: 2025-03-08 17:09:39
8-
modifiedAt: 2025-03-08 17:14:44
7+
modifiedAt: 2025-03-10 17:16:26
98
publish: project/blog
109
series: 나의 맞춤 블로그 만들기
1110
---
@@ -52,7 +51,7 @@ Notion과 Obsidian은 강력한 노트 관리 기능을 제공하지만, 블로
5251

5352
위의 문제점들을 고려한 결과, 나만의 블로그를 직접 제작하는 것이 최선의 방법이라고 판단했다. 이렇게 하면 기존 방식의 모든 단점을 보완하면서도 나만의 이상적인 블로그 운영 방식을 구축할 수 있다.
5453

55-
## 내가 만들고 싶은 블로그의 조건
54+
### 내가 만들고 싶은 블로그의 조건
5655

5756
기존 방식의 문제를 반대로 생각하면, 내가 원하는 블로그의 조건은 다음과 같았다.
5857

@@ -61,6 +60,10 @@ Notion과 Obsidian은 강력한 노트 관리 기능을 제공하지만, 블로
6160
3. **포스팅 시 블로그의 구조를 내가 직접 정의할 수 있을 것**
6261
4. **필요에 따라 기능을 추가하거나 제거할 수 있도록 커스터마이징이 가능할 것**
6362

64-
이러한 목표를 달성하기 위해 데이터베이스(DB) 사용도 고려했지만, 단순한 방법이 더 적합하다고 판단했다. 그래서 **쉘 스크립트를 활용하여** Obsidian Vault 폴더 내의 Markdown 파일을 자동으로 블로그로 가져오는 방식을 선택했다.
63+
이러한 목표를 달성하기 위해 데이터베이스(DB) 사용도 고려했지만, 단순한 방법이 더 적합하다고 판단했다. 그래서 **Python을 활용하여** Obsidian Vault 폴더 내의 Markdown 파일을 자동으로 블로그로 가져오는 방식을 선택했다.
64+
65+
### 커스터마이징을 위한 프레임워크
66+
67+
블로그를 만들기 위한 다양한 프레임워크가 있지만 내가 다룰 줄 아는 프레임워크인 Next.js 가 커스터마이징하기 쉬워 보였기 때문에 Next.js 를 활용하여 블로그를 구축 하기로 결정하였다.
6568

6669
다음: [[어떻게 블로그를 구현하였나]]
Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,47 @@
11
---
2-
id: 1741421537-VMWX
32
tags:
43
- blog
54
- dev
65
- project
76
createdAt: 2025-03-08 17:12:17
8-
modifiedAt: 2025-03-08 17:17:25
7+
modifiedAt: 2025-03-10 19:46:41
98
publish: project/blog
109
series: 나의 맞춤 블로그 만들기
1110
---
1211

1312
# 어떻게 블로그를 구현하였나
1413

15-
[[개인 블로그를 제작하게 된 이유|앞선 포스트]]에서 살펴본 것처럼 내가 중요하게 생각한 블로그의 조건은 다음과 같았다.
14+
[[개인 블로그를 제작하게 된 이유|앞선 포스트]]에서 살펴본것처럼 내가 중요하게 생각한 블로그의 조건은 다음과 같았다.
1615

1716
1. **블로그 포스팅과 노트 작성의 흐름이 자연스럽게 연결될 것**
1817
2. **노트와 블로그 포스트가 분리되어, 원하는 노트만 포스팅할 수 있을 것**
1918
3. **포스팅 시 블로그의 구조를 내가 직접 정의할 수 있을 것**
2019
4. **필요에 따라 기능을 추가하거나 제거할 수 있도록 커스터마이징이 가능할 것**
2120

22-
## 블로그 포스팅과 노트 작성의 통합
21+
## 블로그 포스팅과 노트작성의 통합
2322

24-
나는 Neovim과 Obsidian을 활용하여 노트를 작성하고 있다. 내가 이러한 셋업을 사용하면서 원하는 워크플로우는 Neovim으로 노트를 작성한 이후 커맨드를 사용하여 바로 노트를 동기화시키고 블로그에 글을 포스팅하는 것이었다.
23+
나는 Neovim 과 Obsidian 을 활용하여 노트를 작성하고 있다. 내가 이러한 셋업을 사용하면서 원하는 워크플로우는 Neovim 으로 노트를 작성 한 이후 커맨드를 사용하여 바로 노트를 동기화 시키고 블로그에 글을 포스팅하는 것 이었다.
2524

26-
노트를 동기화하는 방법은 두 가지로 좁혀진다. DB를 사용하는 방식과 사용하지 않는 방식이다.
25+
노트를 동기화 시키는 방법은 두가지로 좁혀진다. DB를 사용하는 방식과 사용하지 않는 방식이다
2726

28-
### DB를 사용하면 어려운 점
27+
### DB를 사용하면 어려운점
2928

3029
1. 만약 DB를 사용하게 된다면 백엔드를 만들어 API를 활용해서 블로그를 관리해야 한다. 즉, 관리의 복잡성이 증가한다.
3130
2. API를 통해 먼저 DB에서 노트를 불러오고 현재 노트와 비교해야 하는 번거로운 작업이 필요하다.
3231
3. 노트의 버전 관리를 위해 추가적인 작업이 필요하며, 이 과정에서 데이터 동기화 문제(예: 중복 저장, 최신 버전 식별 등)가 발생할 가능성이 높다.
3332
4. 백엔드 서버를 유지보수해야 하므로 추가적인 비용과 관리 부담이 생긴다.
3433
5. 단순한 마크다운 기반 블로그를 운영하는 데 있어, DB를 활용하는 것이 오히려 과도한 복잡성을 초래할 수 있다.
3534

36-
이러한 문제점 때문에 나는 DB 없이 간단한 방식으로 노트를 동기화하는 방법을 선택했다.
35+
이러한 문제점 때문에 나는 DB 사용하지 않기로 하였다.
36+
DB를 사용하지 않는다면 [[동적 사이트 vs 정적사이트|동적 사이트로 블로그를 개발할 이유]]가 사라진다. 그러면 이제 정적 사이트를 위해 고민할것은 파일을 프로젝트 폴더 안으로 가져와 파일을 동기화 해야 한다.
37+
38+
파일을 프로젝트 폴더 안으로 가져오는 것을 **파이썬 스크립트**를 사용하여 구현하기로 하였다.
39+
Python을 통해 파일 시스템을 만져본것은 처음이라 [[Aider|AI 툴]]을 활용하여 작성하였다. 완성된 스크립트는 [링크](https://github.com/lazy-dinosaur/lazy-dinosaur.github.io/blob/blog/scripts/sync-notes.py)를 통해 확인할 수 있다.
40+
41+
> [!tip]
42+
>
43+
> - [[Python Script로 파일 복사해오기]]
44+
> - [[Python Script로 Markdown 파일 읽어오기]]
45+
> - [[Python Script로 JSON 파일 작성하기]]
46+
47+
Next.js 를 활용하여 블로그를 만들때 기본적으로 content 폴더에 파일들을 가져와 빌드하게 된다.

content/posts/resource/ai/Aider.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
tags:
3+
- ai
4+
- tool
5+
- aider
6+
createdAt: 2025-03-10 08:21:08
7+
modifiedAt: 2025-03-10 18:49:05
8+
publish: resource/ai
9+
series: ""
10+
---
11+
12+
# Aider
13+
14+
공식 홈페이지:[Home | Aider](https://aider.chat/)
15+
16+
> [!quote]
17+
> Aider lets you pair program with LLMs, to edit code in your local git repository. Start a new project or work with an existing code base.
18+
19+
Aider 는 터미널을 통해 AI 와 [Pair Programming](https://namu.wiki/w/%ED%8E%98%EC%96%B4%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D)을 할 수 있도록 해주는 툴이다.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
tags: []
3+
createdAt: 2025-03-10 18:53:57
4+
modifiedAt: 2025-03-10 19:00:36
5+
publish: resource/python
6+
series: ""
7+
---
8+
9+
# Python Script로 JSON 파일 작성하기
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
tags: []
3+
createdAt: 2025-03-10 18:53:44
4+
modifiedAt: 2025-03-10 19:00:30
5+
publish: resource/python
6+
series: ""
7+
---
8+
9+
# Python Script로 Markdown 파일 읽어오기
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
tags: []
3+
createdAt: 2025-03-10 18:53:20
4+
modifiedAt: 2025-03-10 19:00:22
5+
publish: resource/python
6+
series: ""
7+
---
8+
9+
# Python Script로 파일 복사해오기

public/link-map.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{
22
"0.inbox/개인 블로그를 제작하게 된 이유.md": "project/blog/개인 블로그를 제작하게 된 이유",
3+
"0.inbox/Python Script로 파일 복사해오기.md": "resource/python/Python Script로 파일 복사해오기",
4+
"0.inbox/Python Script로 JSON 파일 작성하기.md": "resource/python/Python Script로 JSON 파일 작성하기",
5+
"0.inbox/Aider.md": "resource/ai/Aider",
6+
"0.inbox/Python Script로 Markdown 파일 읽어오기.md": "resource/python/Python Script로 Markdown 파일 읽어오기",
37
"0.inbox/어떻게 블로그를 구현하였나.md": "project/blog/어떻게 블로그를 구현하였나"
48
}

public/meta-data.json

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,55 @@
1111
],
1212
"series": "나의 맞춤 블로그 만들기",
1313
"createdAt": "2025-03-08 17:09:39",
14-
"modifiedAt": "2025-03-08 17:14:44"
14+
"modifiedAt": "2025-03-10 17:16:26"
15+
}
16+
,
17+
{
18+
"urlPath": "resource/python/Python Script로 파일 복사해오기",
19+
"title": "Python Script로 파일 복사해오기",
20+
"summary": "",
21+
"image": "",
22+
"tags": [],
23+
"series": "",
24+
"createdAt": "2025-03-10 18:53:20",
25+
"modifiedAt": "2025-03-10 19:00:22"
26+
}
27+
,
28+
{
29+
"urlPath": "resource/python/Python Script로 JSON 파일 작성하기",
30+
"title": "Python Script로 JSON 파일 작성하기",
31+
"summary": "",
32+
"image": "",
33+
"tags": [],
34+
"series": "",
35+
"createdAt": "2025-03-10 18:53:57",
36+
"modifiedAt": "2025-03-10 19:00:36"
37+
}
38+
,
39+
{
40+
"urlPath": "resource/ai/Aider",
41+
"title": "Aider",
42+
"summary": "",
43+
"image": "",
44+
"tags": [
45+
"ai",
46+
"tool",
47+
"aider"
48+
],
49+
"series": "",
50+
"createdAt": "2025-03-10 08:21:08",
51+
"modifiedAt": "2025-03-10 18:49:05"
52+
}
53+
,
54+
{
55+
"urlPath": "resource/python/Python Script로 Markdown 파일 읽어오기",
56+
"title": "Python Script로 Markdown 파일 읽어오기",
57+
"summary": "",
58+
"image": "",
59+
"tags": [],
60+
"series": "",
61+
"createdAt": "2025-03-10 18:53:44",
62+
"modifiedAt": "2025-03-10 19:00:30"
1563
}
1664
,
1765
{
@@ -26,6 +74,6 @@
2674
],
2775
"series": "나의 맞춤 블로그 만들기",
2876
"createdAt": "2025-03-08 17:12:17",
29-
"modifiedAt": "2025-03-08 17:17:25"
77+
"modifiedAt": "2025-03-10 19:46:41"
3078
}
3179
]
-203 KB
Binary file not shown.

0 commit comments

Comments
 (0)