개인 메모장 플랫폼 - 1. 준비하기

rzglitch·2024년 5월 28일
0

먼저 찾아보자

메모와 일기 용도의 앱을 탐색해 봤다.

몇가지 쓸만한 앱 후보가 있었다.

하지만 나의 요구사항을 모두 충족하는 앱은 없었다.

Obsidian

  • 설치하기 쉬운가? ✅
  • 웹 기반인가? ⚠️(Electron)
  • Markdown을 지원하는가? ✅
  • 가벼운가? ❌
  • 편리한가? ❌
  • 예쁜가? ✅
  • 연속성이 있는가? ❌
  • 개발이 되고 있는가? ✅

Zettlr

이 글은 Zettlr를 통해 작성되고 있다.

  • 설치하기 쉬운가? ✅
  • 웹 기반인가? ⚠️(Electron)
  • Markdown을 지원하는가? ✅
  • 가벼운가? ⚠️(Obsidian 보다 가벼운 듯)
  • 편리한가? ✅
  • 예쁜가? ❌
  • 연속성이 있는가? ❌
  • 개발이 되고 있는가? ✅

위키 엔진

미디어위키

  • 설치하기 쉬운가? ✅
  • 웹 기반인가? ✅
  • Markdown을 지원하는가? ⚠️(플러그인 필요)
  • 가벼운가? ✅
  • 편리한가? ❌
  • 예쁜가? ⚠️(스킨 필요)
  • 연속성이 있는가? ✅
  • 개발이 되고 있는가? ✅

도쿠위키

  • 설치하기 쉬운가? ✅
  • 웹 기반인가? ✅
  • Markdown을 지원하는가? ⚠️(플러그인 필요)
  • 가벼운가? ✅
  • 편리한가? ✅
  • 예쁜가? ⚠️(스킨 필요)
  • 연속성이 있는가? ✅
  • 개발이 되고 있는가? ✅

블로그

Jekyll

  • 설치하기 쉬운가? ⚠️(Ruby 필요)
  • 웹 기반인가? ⚠️(생성 필요)
  • Markdown을 지원하는가? ✅
  • 가벼운가? ✅
  • 편리한가? ❌
  • 예쁜가? ⚠️(스킨 필요)
  • 연속성이 있는가? ❌
  • 개발이 되고 있는가? ✅

Hugo

  • 설치하기 쉬운가? ⚠️(Go 필요)
  • 웹 기반인가? ⚠️(생성 필요)
  • Markdown을 지원하는가? ✅
  • 가벼운가? ✅
  • 편리한가? ❌
  • 예쁜가? ⚠️(스킨 필요)
  • 연속성이 있는가? ❌
  • 개발이 되고 있는가? ✅

워드프레스

  • 설치하기 쉬운가? ✅
  • 웹 기반인가? ✅
  • Markdown을 지원하는가? ⚠️(플러그인 필요)
  • 가벼운가? ❌
  • 편리한가? ✅
  • 예쁜가? ❌
  • 연속성이 있는가? ✅
  • 개발이 되고 있는가? ✅

텍스트큐브

  • 설치하기 쉬운가? ⚠️(PHP 5.x)
  • 웹 기반인가? ✅
  • Markdown을 지원하는가? ❌
  • 가벼운가? ✅
  • 편리한가? ❌
  • 예쁜가? ❌
  • 연속성이 있는가? ✅
  • 개발이 되고 있는가? ❌

CMS

Rhymix

  • 설치하기 쉬운가? ✅
  • 웹 기반인가? ✅
  • Markdown을 지원하는가? ⚠️(플러그인 필요)
  • 가벼운가? ❌
  • 편리한가? ✅
  • 예쁜가? ❌
  • 연속성이 있는가? ✅
  • 개발이 되고 있는가? ✅

그누보드 5

  • 설치하기 쉬운가? ✅
  • 웹 기반인가? ✅
  • Markdown을 지원하는가? ❌
  • 가벼운가? ✅
  • 편리한가? ❌
  • 예쁜가? ❌
  • 연속성이 있는가? ✅
  • 개발이 되고 있는가? ⚠️(유지보수 수준)

왜 상용 서비스를 안 쓰는가?

개인정보 주기 싫어서이다. 편하다고 상용 플랫폼을 쓰면 내 소중한 글을 나쁜 목적으로 활용할 수 있기 때문이다.

그까이꺼 그냥 만들면 되지 않나?

그렇다. 은탄환은 없다. 간단하게 만들자.

준비

요구사항은 다음과 같다.

  • 설치하기 쉬우면서
  • 웹 기반이고
  • Markdown 기반이고
  • 가볍고
  • 편리하고
  • 예쁘고
  • 크로스 플랫폼 지원으로 연속성이 있고
  • 개발을 지속할 수 있도록 설계

그래서 스택은?

요구사항을 충족하면서 빨리 개발하고 싶다.
그러기 위해서 스택을 대충 정했다.

  • Python Flask
  • MySQL(우선), MongoDB(봐서 필요할지도 모름)
  • JQuery(아 이거 가급적 쓰기 싫은데 어쩔 수 없는 선택)
  1. 프론트엔드는 귀차니즘으로 인해 템플릿 엔진을 사용.
  2. API 작성하기 귀찮다. 백/프 강결합 구조로 하자.
  3. 개인 사용목적이고 성능은 굳이...라서 Async는 사용 안함.

설계

우선 RDBMS를 사용하므로 컬럼이 많으면 관리하기 귀찮은 게 사실이다.

컬럼 최소화, 극강의 개발 효율성 중시가 목표이다. 그러므로 메타데이터 작성을 위해 MongoDB를 보조로 사용하게 될 수도 있다.

다음에 계속.

0개의 댓글