Skip to content

Commit bf4197a

Browse files
committed
Feat: test
1 parent 958c590 commit bf4197a

File tree

5 files changed

+52
-0
lines changed

5 files changed

+52
-0
lines changed

public/link-map.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"0.inbox/개인 블로그를 제작하게 된 이유.md": "project/blog/개인 블로그를 제작하게 된 이유",
3+
"0.inbox/어떻게 블로그를 구현하였나.md": "project/blog/어떻게 블로그를 구현하였나",
4+
"0.inbox/Aider.md": "resource/ai/Aider"
5+
}

public/meta-data.json

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
[
2+
{
3+
"urlPath": "project/blog/개인 블로그를 제작하게 된 이유",
4+
"title": "개인 블로그를 제작하게 된 이유",
5+
"summary": "",
6+
"image": "",
7+
"tags": ["blog", "dev", "project"],
8+
"series": "나의 맞춤 블로그 만들기",
9+
"createdAt": "2025-03-08 17:09:39",
10+
"modifiedAt": "2025-03-16 13:18:38",
11+
"publish": "project/blog"
12+
},
13+
{
14+
"urlPath": "project/blog/어떻게 블로그를 구현하였나",
15+
"title": "어떻게 블로그를 구현하였나",
16+
"summary": "",
17+
"image": "",
18+
"tags": ["blog", "dev", "project"],
19+
"series": "나의 맞춤 블로그 만들기",
20+
"createdAt": "2025-03-08 17:12:17",
21+
"modifiedAt": "2025-03-16 13:15:51",
22+
"publish": "project/blog"
23+
},
24+
{
25+
"urlPath": "resource/ai/Aider",
26+
"title": "Aider",
27+
"summary": "",
28+
"image": "",
29+
"tags": ["ai", "tool", "aider"],
30+
"series": "",
31+
"createdAt": "2025-03-10 08:21:08",
32+
"modifiedAt": "2025-03-16 13:16:45",
33+
"publish": "resource/ai"
34+
}
35+
]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"content": "\ntest\n\n# 개인 블로그를 제작하게 된 이유\n\n개발자로서 내가 한 일을 기록하고, 이를 공유할 수 있는 공간이 필요했다. 여러 블로그 플랫폼이 있지만, **작성한 글을 복사해서 붙여넣어야 한다는 점**이 번거로웠다. 이 과정에서 블로그 운영이 기록의 목적이 아니라 **포스트를 만들기 위한 기록**처럼 느껴지는 문제가 발생했다. 결국, 기존 플랫폼을 이용하는 방식은 내 스타일이 아니라는 결론을 내렸다.\n\n## 블로그 운영 방식에 대한 고민\n\n블로그를 운영하는 방식에는 크게 세 가지가 있다고 생각했다.\n\n1. 기존 블로그 플랫폼을 이용하는 방법\n2. Notion이나 Obsidian의 Publish 기능을 활용하는 방법\n3. 직접 개인 블로그를 제작하여 운영하는 방법\n\n각각의 방법을 고민하면서 어떤 방식이 나에게 가장 적합할지 검토했다.\n\n## 블로그 플랫폼의 한계\n\n기존 블로그 플랫폼을 이용하는 방법에는 두 가지 방식이 있다. API를 활용한 자동화와 수동으로 글을 업로드하는 방식이다. 하지만 이 두 가지 방법 모두 내게는 불편한 점이 많았다.\n\n### 1. API를 활용한 자동화의 어려움\n\n일부 블로그 플랫폼은 API를 제공하지만, 최근에는 이를 폐지하는 곳이 많아졌다. 대표적으로 **네이버 블로그**와 **티스토리**가 API 지원을 중단했다. 이처럼 플랫폼 정책이 바뀔 위험성이 크기 때문에 특정 서비스에 의존하는 것은 장기적으로 안전한 방법이 아니라고 판단했다.\n\n### 2. 수동 업로드의 번거로움\n\n나는 **Neovim을 이용해 글을 작성하고, Obsidian을 뷰어(Viewer)로 사용**하고 있다. 따라서 글을 블로그에 올리려면 복사하여 붙여넣어야 하며, 플랫폼에서 지원하지 않는 **Callout 형식**이나 **Uncyclo 스타일 링크** 등을 직접 변환해야 하는 번거로움이 있다.\n\n## 노트 앱의 Publish 기능 활용의 한계\n\nNotion과 Obsidian 같은 노트 앱의 Publish 기능을 활용하는 방법도 고려했지만, 몇 가지 제약이 있었다.\n\n### 1. 노트와 블로그 포스트의 분리 문제\n\n나는 노트를 우선 **Inbox 폴더**에 저장한 후, 필요한 경우 다른 폴더로 이동시키는 방식으로 정리한다. 하지만 이 방식은 블로그에 올릴 글을 특정 카테고리로 묶는 데 제약이 생긴다. 이를 해결하려면 블로그 전용 워크스페이스를 만들어야 하는데, 이는 기존 블로그 플랫폼을 사용하는 것과 크게 다르지 않다.\n\n### 2. 커스터마이징의 한계\n\nNotion과 Obsidian은 강력한 노트 관리 기능을 제공하지만, 블로그 디자인과 기능을 원하는 대로 변경하는 데는 한계가 있다. 특히 Obsidian의 Publish 기능은 기본적으로 노트 공유에 초점이 맞춰져 있어, 블로그를 운영하는 데 적합하지 않았다.\n\n## 나만의 블로그를 제작하기로 결정하다\n\n위의 문제점들을 고려한 결과, 나만의 블로그를 직접 제작하는 것이 최선의 방법이라고 판단했다. 이렇게 하면 기존 방식의 모든 단점을 보완하면서도 나만의 이상적인 블로그 운영 방식을 구축할 수 있다.\n\n### 내가 만들고 싶은 블로그의 조건\n\n기존 방식의 문제를 반대로 생각하면, 내가 원하는 블로그의 조건은 다음과 같았다.\n\n1. **블로그 포스팅과 노트 작성의 흐름이 자연스럽게 연결될 것**\n2. **노트와 블로그 포스트가 분리되어, 원하는 노트만 포스팅할 수 있을 것**\n3. **포스팅 시 블로그의 구조를 내가 직접 정의할 수 있을 것**\n4. **필요에 따라 기능을 추가하거나 제거할 수 있도록 커스터마이징이 가능할 것**\n\n이러한 목표를 달성하기 위해 데이터베이스(DB) 사용도 고려했지만, 단순한 방법이 더 적합하다고 판단했다. 그래서 **Python을 활용하여** Obsidian Vault 폴더 내의 Markdown 파일을 자동으로 블로그로 가져오는 방식을 선택했다.\n\n### 커스터마이징을 위한 프레임워크\n\n블로그를 만들기 위한 다양한 프레임워크가 있지만 내가 다룰 줄 아는 프레임워크인 Next.js 가 커스터마이징하기 쉬워 보였기 때문에 Next.js 를 활용하여 블로그를 구축 하기로 결정하였다.\n\n다음: [[어떻게 블로그를 구현하였나]]\n",
3+
"plainContent": "test\n개발자로서 내가 한 일을 기록하고, 이를 공유할 수 있는 공간이 필요했다. 여러 블로그 플랫폼이 있지만, 작성한 글을 복사해서 붙여넣어야 한다는 점이 번거로웠다. 이 과정에서 블로그 운영이 기록의 목적이 아니라 포스트를 만들기 위한 기록처럼 느껴지는 문제가 발생했다. 결국, 기존 플랫폼을 이용하는 방식은 내 스타일이 아니라는 결론을 내렸다.\n블로그를 운영하는 방식에는 크게 세 가지가 있다고 생각했다.\n1. 기존 블로그 플랫폼을 이용하는 방법\n2. Notion이나 Obsidian의 Publish 기능을 활용하는 방법\n3. 직접 개인 블로그를 제작하여 운영하는 방법\n각각의 방법을 고민하면서 어떤 방식이 나에게 가장 적합할지 검토했다.\n기존 블로그 플랫폼을 이용하는 방법에는 두 가지 방식이 있다. API를 활용한 자동화와 수동으로 글을 업로드하는 방식이다. 하지만 이 두 가지 방법 모두 내게는 불편한 점이 많았다.\n일부 블로그 플랫폼은 API를 제공하지만, 최근에는 이를 폐지하는 곳이 많아졌다. 대표적으로 네이버 블로그와 티스토리가 API 지원을 중단했다. 이처럼 플랫폼 정책이 바뀔 위험성이 크기 때문에 특정 서비스에 의존하는 것은 장기적으로 안전한 방법이 아니라고 판단했다.\n나는 Neovim을 이용해 글을 작성하고, Obsidian을 뷰어(Viewer)로 사용하고 있다. 따라서 글을 블로그에 올리려면 복사하여 붙여넣어야 하며, 플랫폼에서 지원하지 않는 Callout 형식이나 Uncyclo 스타일 링크 등을 직접 변환해야 하는 번거로움이 있다.\nNotion과 Obsidian 같은 노트 앱의 Publish 기능을 활용하는 방법도 고려했지만, 몇 가지 제약이 있었다.\n나는 노트를 우선 Inbox 폴더에 저장한 후, 필요한 경우 다른 폴더로 이동시키는 방식으로 정리한다. 하지만 이 방식은 블로그에 올릴 글을 특정 카테고리로 묶는 데 제약이 생긴다. 이를 해결하려면 블로그 전용 워크스페이스를 만들어야 하는데, 이는 기존 블로그 플랫폼을 사용하는 것과 크게 다르지 않다.\nNotion과 Obsidian은 강력한 노트 관리 기능을 제공하지만, 블로그 디자인과 기능을 원하는 대로 변경하는 데는 한계가 있다. 특히 Obsidian의 Publish 기능은 기본적으로 노트 공유에 초점이 맞춰져 있어, 블로그를 운영하는 데 적합하지 않았다.\n위의 문제점들을 고려한 결과, 나만의 블로그를 직접 제작하는 것이 최선의 방법이라고 판단했다. 이렇게 하면 기존 방식의 모든 단점을 보완하면서도 나만의 이상적인 블로그 운영 방식을 구축할 수 있다.\n기존 방식의 문제를 반대로 생각하면, 내가 원하는 블로그의 조건은 다음과 같았다.\n1. 블로그 포스팅과 노트 작성의 흐름이 자연스럽게 연결될 것\n2. 노트와 블로그 포스트가 분리되어, 원하는 노트만 포스팅할 수 있을 것\n3. 포스팅 시 블로그의 구조를 내가 직접 정의할 수 있을 것\n4. 필요에 따라 기능을 추가하거나 제거할 수 있도록 커스터마이징이 가능할 것\n이러한 목표를 달성하기 위해 데이터베이스(DB) 사용도 고려했지만, 단순한 방법이 더 적합하다고 판단했다. 그래서 Python을 활용하여 Obsidian Vault 폴더 내의 Markdown 파일을 자동으로 블로그로 가져오는 방식을 선택했다.\n블로그를 만들기 위한 다양한 프레임워크가 있지만 내가 다룰 줄 아는 프레임워크인 Next.js 가 커스터마이징하기 쉬워 보였기 때문에 Next.js 를 활용하여 블로그를 구축 하기로 결정하였다.\n다음: 어떻게 블로그를 구현하였나"
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"content": "\n# 어떻게 블로그를 구현하였나\n\n[[개인 블로그를 제작하게 된 이유|앞선 포스트]]에서 살펴본것처럼 내가 중요하게 생각한 블로그의 조건은 다음과 같았다.\n\n1. **블로그 포스팅과 노트 작성의 흐름이 자연스럽게 연결될 것**\n2. **노트와 블로그 포스트가 분리되어, 원하는 노트만 포스팅할 수 있을 것**\n3. **포스팅 시 블로그의 구조를 내가 직접 정의할 수 있을 것**\n4. **필요에 따라 기능을 추가하거나 제거할 수 있도록 커스터마이징이 가능할 것**\n\n## 블로그 포스팅과 노트작성의 통합\n\n나는 Neovim 과 Obsidian 을 활용하여 노트를 작성하고 있다. 내가 이러한 셋업을 사용하면서 원하는 워크플로우는 Neovim 으로 노트를 작성 한 이후 커맨드를 사용하여 바로 노트를 동기화 시키고 블로그에 글을 포스팅하는 것 이었다.\n\n노트를 동기화 시키는 방법은 두가지로 좁혀진다. DB를 사용하는 방식과 사용하지 않는 방식이다\n\n### DB를 사용하면 어려운점\n\n1. 만약 DB를 사용하게 된다면 백엔드를 만들어 API를 활용해서 블로그를 관리해야 한다. 즉, 관리의 복잡성이 증가한다.\n2. API를 통해 먼저 DB에서 노트를 불러오고 현재 노트와 비교해야 하는 번거로운 작업이 필요하다.\n3. 노트의 버전 관리를 위해 추가적인 작업이 필요하며, 이 과정에서 데이터 동기화 문제(예: 중복 저장, 최신 버전 식별 등)가 발생할 가능성이 높다.\n4. 백엔드 서버를 유지보수해야 하므로 추가적인 비용과 관리 부담이 생긴다.\n5. 단순한 마크다운 기반 블로그를 운영하는 데 있어, DB를 활용하는 것이 오히려 과도한 복잡성을 초래할 수 있다.\n\n이러한 문제점 때문에 나는 DB 사용하지 않기로 하였다.\nDB를 사용하지 않는다면 [[동적 사이트 vs 정적사이트|동적 사이트로 블로그를 개발할 이유]]가 사라진다. 그러면 이제 정적 사이트를 위해 고민할것은 파일을 프로젝트 폴더 안으로 가져와 파일을 동기화 해야 한다.\n\n파일을 프로젝트 폴더 안으로 가져오는 것을 **파이썬 스크립트**를 사용하여 구현하기로 하였다.\nPython을 통해 파일 시스템을 만져본것은 처음이라 [[Aider|AI 툴]]을 활용하여 작성하였다. 완성된 스크립트는 [링크](https://github.com/lazy-dinosaur/lazy-dinosaur.github.io/blob/blog/scripts/sync-notes.py)를 통해 확인할 수 있다.\n\n> [!tip]\n>\n> - [[Python Script로 파일 복사해오기]]\n> - [[Python Script로 Markdown 파일 읽어오기]]\n> - [[Python Script로 JSON 파일 작성하기]]\n\nNext.js 를 활용하여 블로그를 만들때 기본적으로 content 폴더에 파일들을 가져와 빌드하게 된다.\n",
3+
"plainContent": "앞선 포스트에서 살펴본것처럼 내가 중요하게 생각한 블로그의 조건은 다음과 같았다.\n1. 블로그 포스팅과 노트 작성의 흐름이 자연스럽게 연결될 것\n2. 노트와 블로그 포스트가 분리되어, 원하는 노트만 포스팅할 수 있을 것\n3. 포스팅 시 블로그의 구조를 내가 직접 정의할 수 있을 것\n4. 필요에 따라 기능을 추가하거나 제거할 수 있도록 커스터마이징이 가능할 것\n나는 Neovim 과 Obsidian 을 활용하여 노트를 작성하고 있다. 내가 이러한 셋업을 사용하면서 원하는 워크플로우는 Neovim 으로 노트를 작성 한 이후 커맨드를 사용하여 바로 노트를 동기화 시키고 블로그에 글을 포스팅하는 것 이었다.\n노트를 동기화 시키는 방법은 두가지로 좁혀진다. DB를 사용하는 방식과 사용하지 않는 방식이다\n1. 만약 DB를 사용하게 된다면 백엔드를 만들어 API를 활용해서 블로그를 관리해야 한다. 즉, 관리의 복잡성이 증가한다.\n2. API를 통해 먼저 DB에서 노트를 불러오고 현재 노트와 비교해야 하는 번거로운 작업이 필요하다.\n3. 노트의 버전 관리를 위해 추가적인 작업이 필요하며, 이 과정에서 데이터 동기화 문제(예: 중복 저장, 최신 버전 식별 등)가 발생할 가능성이 높다.\n4. 백엔드 서버를 유지보수해야 하므로 추가적인 비용과 관리 부담이 생긴다.\n5. 단순한 마크다운 기반 블로그를 운영하는 데 있어, DB를 활용하는 것이 오히려 과도한 복잡성을 초래할 수 있다.\n이러한 문제점 때문에 나는 DB 사용하지 않기로 하였다.\nDB를 사용하지 않는다면 동적 사이트로 블로그를 개발할 이유가 사라진다. 그러면 이제 정적 사이트를 위해 고민할것은 파일을 프로젝트 폴더 안으로 가져와 파일을 동기화 해야 한다.\n파일을 프로젝트 폴더 안으로 가져오는 것을 파이썬 스크립트를 사용하여 구현하기로 하였다.\nPython을 통해 파일 시스템을 만져본것은 처음이라 AI 툴을 활용하여 작성하였다. 완성된 스크립트는 링크를 통해 확인할 수 있다.\n> [!tip]\n>\n> - Python Script로 파일 복사해오기]]\n> - [[Python Script로 Markdown 파일 읽어오기]]\n> - [[Python Script로 JSON 파일 작성하기\nNext.js 를 활용하여 블로그를 만들때 기본적으로 content 폴더에 파일들을 가져와 빌드하게 된다."
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"content": "\n# Aider\n\n공식 홈페이지:[Home | Aider](https://aider.chat/)\n\n> [!quote]\n> 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.\n\nAider 는 터미널을 통해 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)을 할 수 있도록 해주는 툴이다.\n\n비슷 한 툴로는 Cursor, Claude, Windsurf 등이 있다.\n",
3+
"plainContent": "공식 홈페이지:Home | Aider\n> [!quote]\n> 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.\nAider 는 터미널을 통해 AI 와 Pair Programming을 할 수 있도록 해주는 툴이다.\n비슷 한 툴로는 Cursor, Claude, Windsurf 등이 있다."
4+
}

0 commit comments

Comments
 (0)