Ghost blog 를 사용하면서...

Ghost CMS 를 활용한 블로그로 넘어온지 약 3개월 정도 되어간다. 최근까지 글을 잘 올리지 않다가, 다시 쓸 만한 글들이 있어서 쓰고 있다.

초기에 도입할 당시에는 Self-host 가 가능한 것, 내 마음대로 주무를 수 있는 것을 강점으로 생각하고 도입했다. 그런데, 생각보다 꽤나 불편한 것들이 많다.

Blog 를 위한 CMS 가 아니다.

Ghost 는 블로그를 만드는 사람을 위주로 만들어지지 않았다. 오히려 상업 사이트를 만드는데 최적화되어있다. 예를 들어 멤버십 기능이라던가, 다중 유저가 포스트를 작성할 수 있도록 유저 목록을 유지할 수 있다거나... 아무튼 상업 사이트에서 적극적으로 활용할 수 있는 기능들이 많다.

그러나, 블로그를 대상으로하면 기능이 꽤나 부실하다. 블로그의 기초인 Category 기능부터 없다. Tag를 통해서 직접 분류하도록 해야하며, Category 처럼 보이기 위해서는 theme 을 직접 건드리면서 tag 를 요리조리 볶아야한다. 댓글 기능도 기본으로 지원하지 않으며, TOC (목차) 도 직접 넣어주어야한다. (괜히 기성 블로그 플랫폼을 사용하는 것이 아니다.)

물론, 자유도가 꽤 높은 편이기에 직접 theme 을 만들기 시작하면 좀 달라질지도 모르겠다. 다만, Ghost 에 맞는 프론트 뷰를 뿌리기 위해서 자체 API 에 대한 학습, 활용이 필요하다. 여간 귀찮아서, 그냥 제공해주는 기본 theme 을 사용 중인데, 수정 없이 블로그로 사용하기에는 많이 부족하다.

Free Theme / Blog 를 위한 Theme 이 부족하다.

WordPress 를 사용했다면 어땠을까? 하는 생각이 드는 부분이 바로 이것이다. WordPress 에 비하면 내가 선택할 수있는 theme 에 대한 선택지가 너무나 좁다. 특히 앞서 언급했듯, Blog 를 위한 CMS 가 아니다보니 유료 Theme 조차도 블로그보다는 상업 사이트들에 맞춰져있다. 종종 Free Theme 을 찾을 수는 있기는 하나, Ghost 버전이 맞지 않는 경우가 많으며 언어 때문인지 Ghost 버전 때문인지 모를 호환성 문제가 있다.

Self host 의 약점

Self-host blog 는 이번이 처음인데, 굉장한 약점이 있다. SEO 가 안된다. 그냥 내 블로그가 구글, 네이버에 노출 자체가 안되고 있다. 그냥 사람이 나 빼고 안온다 -_-; 광고 수익을 기대한다거나, 특별히 널리 알리고자 하는 의도는 없어서 크게 상관없기는 하지만, 이왕 열심히 작성한 글 많은 사람들이 보면 좋지 않은가?

아무래도 내 블로그의 경우에는 완전히 새로운 도메인으로활동하며, 이전의 일부 문서를 가져오며 중복된 게시물로 사이트 평판이 낮기 때문으로 보인다. 이런 문제를 가볍게 블로그하면서 따로 신경쓰기에는 상당히 골치아프다. 상업적인 목적을 가진다면 완전 비추다. 플랫폼 위에서 노는 이유가 다 있다.

그럼에도 좋은 점

Markdown 기반으로 작성이 편하다. 최근 Obsidian 으로 기록을 하고 이 쪽으로 넘기면서 글을 작성하고 있는데, 이런 면에서 굉장히 편리하다. 그냥 native 하게 지원하기에 머리아플 일이 없다.

또한 Ghost API 를 통해서 Obsidian 에서 바로 글을 넘길 수도 있다. 이미지까지 넘기지는 못해서 잘 사용하지는 않기는 하지만, Obsidian 과의 연동성, 그리고 API 를 활용해서 더 많은 것을 할 수 있다는 점이 꽤나 인상깊었다.

unsplash 와 연동되어 이미지를 빠르게 삽입할 수 있는 것도 꽤나 큰 장점이다. 테마에 따라 다르나, 가볍게 thumbnail을 가져와서 쓸 수 있다. (이쁜 블로그만들기에 좋다. ㅋㅋ) 아마, 상업적 활용에 목적을 두고 있어서 추가한 기능으로 보인다.

앞으로..

넘어오는게 꽤 귀찮은 작업이었고 지금 보기에는 WordPress 말고는 딱히 넘어갈만한 대상도 없다. 제대로 활용하려면 Theme 을 하나 직접 만들어봐야할 것 같은데, 여기에 투자할 만큼 시간이 넉넉하지는 않다. 최대한 심플하면서 블로그 기능을 갖춘 형태로 언젠가 한번 자체 제작하고 Open 해둬봐야겠다.


Read more

대량의 더미 데이터 DB에 주입하기

대량의 더미 데이터 DB에 주입하기

대량의 더미 데이터 DB에 주입하기 현재 만들고 있는 토이 프로젝트에서는 대량의 데이터가 존재하는 DB 를 대상으로 여러가지 테스트를 수행한다. 테스트를 수행하기 위해서 더미 데이터를 주입할 방법에 대해서 모색해야했다. SQL Procedure * SQL 문으로 직접 테이블에 데이터를 주입한다. * 직접 Insert into () values (); 와 같은 구문을 작성할 수도 있지만, Procedure 혹은 function 을

By Sungjun Park
Lombok 에 대한 짧은 생각

Lombok 에 대한 짧은 생각

최근 Java / Spring 으로 스택을 변경하면서 작은 프로젝트를 하고 있다. 팀원의 추천으로 lombok 이라는 라이브러리를 사용하게 되었다. Lombok 을 쓰면 정말 간단하다. Getter, Setter, Constructor, equals, hashCode 과 같이 작성해야하지만 작성에 피로를 느끼는 코드들을 annotation을 통해서 너무 쉽게 만들 수 있다. 그런데, 이 라이브러리 사용할수록 필요성에 대한 의문이 생긴다. 생각을

By Sungjun Park
인증 인가 정보는 어디에 담아야할까? (cookie? authentication header?)

인증 인가 정보는 어디에 담아야할까? (cookie? authentication header?)

인증 인가 정보 전달 방법의 결정 요구사항 * HTTP 표준에 부합해야한다. * 보안 이슈를 최소화해야한다. * 클라이언트에서도 처리가 간편해야한다. * 모든 HTTP request 에서 처리 가능해야한다. * JWT, Session 모두 고려해야한다. 고려대상 Request Body * Request Body 에 auth 정보를 싣어 보내는 방법의 경우 GET HEAD DELETE TRACE 와 같은 HTTP Method 에서 사용할 수 없다.

By Sungjun Park