| r227 | ||
|---|---|---|
| r167 | 1 | [[분류:알파위키의 기능]][[분류:the seed(위키 엔진)]] |
| r197 | 2 | [include(틀:회원 수정2)] |
| r17 | 3 | [include(틀:알파위키)] |
| r182 (삭제된 사용자) | 4 | [include(틀:위키 엔진)] |
| r224 | 5 | ||<-2><tablealign=right><tablewidth=400><tablebordercolor=#4188f1,#383b40><colbgcolor=#4188f1,#2d2f34> {{{#!wiki style="margin: -5px -10px; padding: 8px 10px; background-image: linear-gradient(to right, #abcdef, #abcdef)" |
| r160 | 6 | {{{#fff '''{{{+2 the seed}}}'''}}}}}} || |
| r210 | 7 | ||<colcolor=#fff> '''프로그래밍 언어''' ||<colbgcolor=#fff,#2d2f34>Vue.js + Nuxt.js || |
| r160 | 8 | || '''출시일''' ||2015년 4월 18일 || |
| 9 | || '''공개 여부''' ||비공개 || | |
| 10 | || '''개발자''' ||[[namu]] || | |
| r166 | 11 | || '''언어''' ||[[한국어]][* 나무위키의 경우 영어, 일본어로 미러링되는 웹사이트가 있으나, 자체 기능은 아닌 것으로 보인다.]|| |
| r216 | 12 | || '''사용 위키''' ||[[https://namu.wiki|[[파일:나무위키 아이콘.svg|width=20]]{{{#00a495,#00a495 나무위키}}}]] |
| 13 | [[https://www.alphawiki.org|[[파일:알파위키 로고.svg|width=20]]{{{#abcdef,#abcdef 알파위키}}}]] | |
| 14 | [[https://theseed.io|{{{#4188f1,#4188f1 더시드위키}}}]] | |
| 15 | [[https://weve.wiki|{{{#00d1b2,#00d1b2 위브위키}}}]] || | |
| r220 | 16 | || '''커뮤니티''' ||[[https://feedback.theseed.io|[[파일:홈페이지 아이콘.svg|width=20]]]][* 사이트 이름 자체는 the seed engine이다.] || |
| r4 | 17 | [목차] |
| r165 | 18 | [clearfix] |
| r5 | 19 | == 개요 == |
| r222 | 20 | [[알파위키]]와, [[나무위키]], [[더시드위키]], [[위브위키]]에서 사용하는 [[위키 엔진]]으로 [[namu]], [[PPPP]], [[kasio]]가 개발했다. the seed라는 이름은 개발 단계에서 통용되는 코드네임이었으나 나무위키의 엔진을 지칭하는 공식적인 이름이 된 것으로 보인다.([[https://www.alphawiki.org/License|#]]) 본 엔진은 Vue.js의 Nuxt.js 프레임워크를 사용한다.[* [[https://www.alphawiki.org/License|라이선스 페이지]] 기준으로 Vue.js 2.6.10을 사용하는 것으로 보인다.] |
| r208 | 21 | |
| r135 (삭제된 사용자) | 22 | == [[알파위키:문법 도움말|문법]] == |
| 23 | [include(틀:상세 내용, 문서명=알파위키:문법 도움말)] | |
| r201 | 24 | 이 엔진에선 '''나무마크'''라는 자체적인 텍스트 문법을 사용한다. |
| r208 | 25 | |
| r135 (삭제된 사용자) | 26 | == [[the seed/업데이트|업데이트 내역]] == |
| 27 | [include(틀:상세 내용, 문서명=the seed/업데이트)] | |
| r208 | 28 | |
| r215 | 29 | == [[the seed/권한|권한]] == |
| r177 (삭제된 사용자) | 30 | [include(틀:상세 내용, 문서명=the seed/권한)] |
| r208 | 31 | |
| r186 (삭제된 사용자) | 32 | == 기능 == |
| 33 | [include(틀:상세 내용, 문서명=알파위키:기능 도움말)] | |
| r208 | 34 | |
| r176 (삭제된 사용자) | 35 | == 장점 == |
| r181 (삭제된 사용자) | 36 | * 미디어위키에 비해 문법이 간단하다. |
| r176 (삭제된 사용자) | 37 | * 세밀하게 ACL을 조정할 수 있다. |
| r221 | 38 | * 세밀하게 권한을 부여할 수 있다. |
| r181 (삭제된 사용자) | 39 | * 미디어위키와 달리 토론이 기능적으로 구현되어 있다. |
| r208 | 40 | |
| r146 | 41 | == 문제점 == |
| r208 | 42 | * 문서 역사 말소가 어렵다. 이를 위해서는 서버 소유자가 직접 데이터베이스를 수정해야 한다. |
| r181 (삭제된 사용자) | 43 | * 시각 편집 기능이 없어 위키 활동을 위해서는 문법을 공부해야 한다. |
| 44 | * 문서 이동 시 이동 전 문서에 기록이 남지 않는다.[* 예를 들어, '''A'''라는 문서에서 '''B'''라는 문서로 문서를 이동할 때, '''B'''라는 문서로 문서를 이동하고 나면, '''A'''라는 문서에 들어가도 이동 내역이 표시되지 않는다.] | |
| r204 | 45 | * 되돌리기 기능은 있으나, 편집 취소 기능은 없다. 따라서 정상적인 기여분까지 되돌려지기도 한다. 그래도 이 부분은 더시드포럼에서 개발 중인 기능이라고 한다. |
| r146 | 46 | === 모바일에서의 문제점 === |
| r147 | 47 | [[파일:모바일 표.jpg|width=50%]] |
| r224 | 48 | 분명 <tablealign=right>가 표에 입력되어 있음에도 불구하고 모바일 환경에서는 표 위치 설정 상관없이 무조건 왼쪽으로 설정된다. 다만 에뮬레이터에서는 정상적으로 우정렬된다. |
| r208 | 49 | |
| r135 (삭제된 사용자) | 50 | == 기타 == |
| r208 | 51 | * 기본적으로 비공개 엔진이기 때문에 일반인들이 구할 수 없다. 대체용으로 나온 게 [[openNAMU|오픈나무]]이다.[* 서실 [[openNAMU]]말고도 대체용으로 나온 엔진은 더 있지만 아직까지는 [[나무마크]]를 제대로 지원하는 건 [[openNAMU]]와 [[the tree]].] |
| r218 | 52 | * 4.12.0 이하 버전은 HTML과 자바스크립트를 알아보기 쉬웠는데, 현재는 페이지들의 HTML을 열어보면 data-v-(해시) 등의 속성으로 요소들을 구분하게 되어있어 일반적으로 알아보기 어렵게 되어있다.[* 이는 Nuxt.js 라이브러리의 특징으로, 해당 라이브러리를 사용중임을 알 수 있다.] 또한 자바스크립트도 전부 난독화되어있어 변수 및 함수 이름들이 [[16진수]] 숫자로 되어있고, 작동하지 않는 코드들이 삽입되어 있고, 문자열도 인코딩되어 있어 알아보기 매우 어렵게 되어 있다. 거기에 더해서 모든 문자열들을 한 배열에 모아놓고 함수를 통해서 배열에 접근하는 등 매우 복잡하게 되어있다. |
| r226 | 53 | * 4.13.0부터 프론트엔드가 갈아 엎어졌다. 4.15.0까지는 기존 방식의 스킨과의 호환성을 위해 해당 스킨을 적용하면 옛 인터페이스를 사용할 수 있었다. 나무위키는 2019년 말쯤에 4.16.0으로 업데이트되어 기존 레이아웃을 사용할 수 없었으나 더시드위키는 업데이트되지 않아 거기서 계속 사용할 수 있었다. 그러다가 2020년 3월 1일에 더시드위키도 4.16.0으로 업데이트되어서 기존 방식과 인터페이스는 더 이상 볼 수 없게 되었다. |
| r218 | 54 | * 리버티 스킨 기준으로 신 프론트엔드(버전 4.16.0) 이후로 스크립트의 총 크기가 거의 1MB[* 알파위키에는 없는 senkawa 스킨은 약 0.7MB이다.]씩 되어서 모바일에서 데이터 네트워크를 사용하여 접속하는 경우 주의가 필요하다. 다행히도 지금은 크기가 좀 줄긴 했다. |
| r151 | 55 | * 2021년 1월 20일 부로 포럼이 리뉴얼되었다. |
| r179 | 56 | * Date 오브젝트를 그대로 대입해서인지 차단되었을 때 나오는 오류 메시지의 만료일의 형식이 "Sat Dec 27 2132 04:42:20 GMT+0900 (대한민국 표준시)"이고, 일과 달이 영어로 나온다. |
| r151 | 57 | * 2020년 중후반에 자동 로그인 후 로그아웃이 되지 않는 오류가 있었다. honoka 쿠키의 반환이 제대로 안 되어서 그런데, 값이 "[object Object]"로 잘못 반환되었다. 쿠키를 JSON(오브젝트)으로 관리하는 듯하다.[* 그렇다면 오브젝트의 속성에 접근하는 것을 깜빡해서 발생했을 버그일 가능성이 높다.] |
| 58 | * 기여 목록의 특성으로 미루어 보아 내부적으로 초 단위 유닉스 시간을 통해 관리하는 듯하다. | |
| r159 | 59 | * 이전에는 [[Tor(익명 네트워크)|Tor]] 네트워크 위에서 "더시드"라는 이름의 딥 웹 위키를 [[namu]]가 운영했다. 주소는 .com이나 .wiki가 아니라 .onion으로 끝난다. |
| r169 | 60 | * 엔진 수정권을 주지 않았음에도 나무위키에'''만''' 있는 기능이 있는 것으로[* 로그인 허용 차단 대역에서의 휴대폰 인증을 통한 회원 가입 기능 등] 보아 플러그인이나 확장 프로그램 기능이 있는 듯하다. |
| r226 | 61 | * --[[namu]] 피셜-- 상술했듯이 [[나무위키]] 운영사 [[umanle]]에서는 해당 엔진의 사용권만 가지고 있다고 한다. |
| r227 | 62 | * 플러그 인 API가 존재한다. 과거에 [[나무위키]]의 사측 관리자가 임시 토론형 문의 게시판에서 다중 계정 검사 관련 문의에서 언급한 적이 있다. 나무위키 커스텀 기능은 플러그 인으로 구현되는 것으로 추정된다. |
| r226 | 63 | * 엔진 내부 API는 암호화되어 있다. 과거에는 암호화 없이 JSON 형식으로 되어 있었으나 사용하는 사용자가 늘어나서인지 바뀌었다. 아래 코드를 통해 요청을 위조하면 아래와 같은 결과가 나온다. (헤더 값은 2022/9/8 기준) |
| r151 | 64 | 나무위키 기준으로 테스트되었다. 궁금하면 개발자 도구 콘솔창에 __헤더값을 최신으로 변경하고__ 넣어보자. |
| 65 | 코드 : | |
| 66 | {{{#!syntax javascript | |
| 67 | const request=new XMLHttpRequest(); | |
| 68 | request.open('GET','i/p31G64YK67O5Sp8AE71TE4I5cJiNheF3UCsU5-VTieb',true); | |
| 69 | request.setRequestHeader('x-chika','2013d3f8f8c7b5598'); | |
| 70 | request.setRequestHeader('x-namuwiki-nonce','zStFHBzm88MnOdE1SkTNvA=='); | |
| 71 | request.setRequestHeader('x-riko','1fc95018783ef8be685241012a6efd64'); | |
| 72 | request.setRequestHeader('x-you','af3f5c4a4f54a47f42eda8c501fd03a5'); | |
| 73 | request.send(); | |
| 74 | request.onload=()=>{ | |
| 75 | console.log(request.status); | |
| 76 | console.log(request.response); | |
| 77 | } | |
| 78 | }}} | |
| 79 | 결과 : {{{٫�Ht����K��� B<�m'�'P����W����E�� q_�eg��K�R� | |
| 80 | ~�� | |
| 81 | �L��Z|"35�ϲ���T�%>��O>/ܠ!|팡n4��W�V%f��?�W���OX�fi��_��^���.7�Ih�K�|���Ij�|�5���[�,wHHֶ | |
| 82 | �~�dl�R5��(7��W���'��O�t%�U��b���^�CV�:3?�Jљ�E���ہ�(�6�T��r�m?�=� ��@KrJ������W�mbt� | |
| 83 | }}} | |
| r226 | 84 | --굳이 AJAX로 한건 코딩 실력이 딸려서 그런 것 이므로 더 효율적인 것이 있으면 [[추가 바람]]-- |