글쓴이 보관물: xguru

나만의 블로그엔진 개발 : Papyrus

머 눈썰미 있으신분들은 이미 보고 아셨겠지만..
제 블로그의 기본 시스템이던 Zog 를 들어내고, 직접 만든 블로그엔진으로 교체를 시도하고 있습니다.
아직 미완성이지만, 이름/코드명은 제가 좋아하는 단어인 Papyrus 로 붙여봤습니다.
그냥 종이에 먼가를 적는 다는 느낌으로 쓰는게 맞을거 같네요. 혼자만 쓸려고 만드는데 이름만 너무 거창한가요 ^^;

일단, 기존 제로보드 데이타는 그대로 유지한채, 트랙백과 코멘트양식은 조그의 것을 그대로 가져왔습니다.
데이타 호환이 되야하는지라, 어쩔수 없는 선택인거죠. 차후엔 아예 DB 구조를 바꿀예정입니다만..
그건 작업이 좀 많을거 같아서, 전문 웹 개발자가 아닌 제가 하기엔, 아마도 아주 먼 훗날에나 가능할 것 같습니다 ^^

어쨋거나 조금 허접하지만, 새로운 시스템의 장점은..

  1. XHTML , CSS2 표준 준수
    LikeJAzz 님 처럼 XHTML 1.0 Strict 까지는 아니더라도 표준 XHTML 1.0 Transitional 까지는 지키고 있습니다.
    관련글 : →Table-based design is so Stupid!
    조금만 수정하면 Strict 까지도 가능하지만.. anchor 에서 target=_blank 를 좋아하는 저로선, 현재가 좋습니다. ^^

    그리고 이에 따라 가장 큰 개선점인. Cascading Style Sheet Level 2(CSS2) 만을 이용한 화면 디자인이 이루어졌습니다.
    메뉴처리부분을 테이블없이 하느라 고생했습니다. 지금은 각 브라우저별로 상이한 스펙을 맞추느라 정신없네요. 휴..

    FireFox 사용자 분께서는 하단 상태표시줄 맨앞의 아이콘을 클릭하시면 왼쪽으로 메뉴를 옮긴
    Alternate StyleSheet : Left Nav 와
    검정색 배경의 Black Back StyleSheet 를 적용해 보실수 있습니다.
    IE 나 Opera같은 브라우저 사용자께선 어쩔수 없이 인자를 통해 CSS 파일명을 전달하는 방식을 사용하여
    Left Nav 스타일 Black Back Style 을 클릭 하시면 보실수 있습니다. ^^
    ( CSS 파일이나, 쿠키처리가 완벽하지 않습니다. 그냥 테스트 모드 정도입니다. )

    CSS 를 공부해나가면서 새로운 형식의 디자인을 계속 만들어 볼려고 생각중입니다.
    Ari 님의 Style Sheet 골라쓰기을 적용해서 쿠키까지 구워내면, 입맛에 맞게 볼수있는 블로그가 될것 같아요.

    생각해 보니 External CSS라는 인자 제공만 하면, 직접 만드신 CSS 로 볼수도 있을거 같네요. 아무도 안하실거 같지만.. ^^

  2. html 확장자를 가지는 permalink 제공
    국내 설치형 블로그 엔진들은 거의 php 기반으로 되어서인지, 각 글의 고유링크(Permalink)가
    index.php?id=112 이런식으로 보이게 됩니다. 하지만 외산툴인 MovableType 같은 경우는 Perl 을
    이용해서 112.html 과 같이 .html 의 확장자를 가지는 완전한 html 문서로 글이 남게 됩니다.
    관련글 : →무버블타입과 정보의 가치

    검색엔진이 html 형식을 좋아하는지 어떤지는 잘 모르겠습니다.
    하지만 저런식으로 파일번호가 남는것이 훨씬 보기에는 좋은거 같습니다.

    그래서 이번에 구현을 하면서 편법으로 나마 외부에는 168.html 과 같이 보여지도록 구성을 해봤습니다.
    Apache 의 RewriteRule 적용만으로 쉽게 해결이 되더군요.
    httpd.conf 의 디렉토리부분에 추가한 내용은 다음과 같습니다.

    RewriteEngine on
    RewriteBase /blog/
    RewriteRule ([0-9]+)\.html index.html?no=$1

    데이타는 DB 에 남고, 외부에는 각각의 html 로 보여지고.. 혼자 무지 만족하고 있습니다 ^^* (멋진 팁일까요 ?)

  3. 속도 개선
    며칠전에 제가 블로그의 속도에 대해 포스팅을 하나 했는데요. 찾아봐도 해결이 잘 안되서,
    그냥 심플한 시스템을 개발해보자 하는 생각을 하다가, 일을 벌리게 되었습니다.
    어차피 저혼자 글을 작성하는 블로그라, 로그인이나 기타 기능을 삭제하고 돌려보니.. 체감속도는 상당히 빨라진것 같습니다. ^^

    곰곰히 생각도 해보고, FireFox 의 Web Developer Extension 가지고 분석및 속도체크도 해봤는데,
    이미지를 없애고, CSS 를 이용해서 HTML 문서상의 디자인코드를 최소화 한것도 초기 전송속도 향상에 도움이 된것 같습니다

  4. 모든게 내 맘대로~
    저 혼자 뚝딱 거리니, 기능추가하는게 맘대로라 편하다는게 가장 클거 같습니다.
    미디어로그,링크블로그도 Frame 을 이용하지 않고 그냥 파일로 구현하니 보기도 좋구요. ^^

    조금 안정화 되면, MiniWini 처럼 계층형 코멘트를 넣어볼까 고민중입니다. 위쯔님이 제로보드에서 DB변경없이 계층형 코멘트 추가 하는법을 적어 놓으셨네요. 답 리플달기가 훨씬 수월해 질듯합니다 ^^

    급하게 만들다보니 , 글쓰기 페이지도 아직 안되어 있군요. 현재는 보기및 코멘트달기만 가능한 엔진입니다. ^^;
    로그인관련기능을 안넣다보니.. 트랙핑 날리기도 빠져있군요. 슬슬 추가해 봐야겠습니다.

이 자리를 빌어, 좋은 코드를 제공해주신 zogMan 님과 Oliver 님, LikeJAzz님께 감사드립니다.
트랙백 관련한 코드는 Zog 에서, 페이지 링크및 카테고리보기는 Oliver님 플러그인 에서,
JavaScript 와 Form 관련 Tag 등은 LikeJAzz 님 홈페이지에서 참조하였습니다.
(혼자만 쓸꺼니깐.. 용서해 주실꺼죵 ^^)

2004.09.16 추가 : LikeJAzz 님의 TypeKey 를 통한 Single Sign On 관련 글을 보고 적용해봤습니다.

아래 코멘트 등록 버튼 옆에 있는 TypeKey 로그인를 통해 로그인한후에 글을 남기면 이름옆에 TypeKey Member Icon 표시가 나오고 이 표시를 클릭시 TypeKey Profile 페이지로 이동합니다.
(아직 DSA Verification 은 안되므로 해킹하시면 안되욧! ^^*)

아파서 침 맞는건 처음인데요 ?

침 맞는 구루의 손. 초점이.. -_-;

지난주 목요일부터 허리가 조금씩 시큰거리기 시작했습니다.

항상 의자에만 앉아있어도 전혀 아프지 않는 강철허리를 자랑했는데,
나이가 들어서 그런가, 어디서 삔건지.. 앞으로 숙이거나 자세가 꾸부정하면 시큰거리더군요.
놔두면 괜찮아 지겠지 하다가.. 주말에 앉아서 새 블로그 시스템 개발하면서도 계속 되길래,
회사 근처 한의원에 다녀왔습니다.

허리가 시큰거린다고 하니까.. 이것저것 물어보시고 만져보시더니.. 위 사진위치에 침을 꼽으시네요.
저 긴 침을 깊이 넣은후 슬슬 돌리고 왔다갔다 한후에.. 앞으로 숙여보니 신기하게 시큰거림이 없어집니다. 오오..
사실 허리에 침 맞는줄 알고 무서워 했는데… 손이랑 발에만 놓네요. ^^

근데 침 맞는 제모습이 뭔가 어설퍼 보였나 봅니다.

한의사 : 침 처음 맞으세요 ?
구  루 : 아.. 아파서 맞는건 처음인데요..
한의사 : 그럼 뭐 때문에 맞아봤어요 ?
구  루 : 아.. 저기.. 그.. -_-;;;;

하여간, 재밌군요. 만화 자전거 도둑에서 이런장면이 있습니다.
테루가 연습중에 교통사고가 나서 자전거를 한참 못하게 된후에 퇴원하면서 하는 말..

좋아! 다쳐도 병원에 오면 고쳐준다는거 알았어. 이제 더 열심히 타야지.

저도 똑바로 앉아서 더 열심히 코딩할래요.. ^_^