openNAMU (r1 Blame)

r1
r1

(새 문서)
1 [[분류:openNAMU]]
2 [include(틀:위키 엔진)]
3 ||<-2><table align=right><table width=400><tablebordercolor=#009183><tablebgcolor=#fff,#000> {{{#!wiki style="margin: -5px -10px; padding: 7px 10px; background-image: linear-gradient(to right, #007d72, #00a495)"
4 {{{#fff '''{{{+1 openNAMU}}}''' [br] 오픈나무}}}}}} ||
5 ||<-2><bgcolor=#fff,#000> [[파일:openNAMU.png|width=200px]] ||
6 ||<colbgcolor=#009183><colcolor=#fff> '''종류''' ||<colbgcolor=#fff,#000>[[위키 엔진]] ||
7 || '''개발 시작''' ||[[2016년]] 4월 23일 ||
8 || '''개발자''' ||[[https://github.com/surplus-dev|surplus-dev]] ||
9 || '''언어''' ||[[한국어]], [[영어]] ||
10 || '''안정화 버전''' ||v3.4.5-stable1^^(2022년 6월 12일)^^ ||
11 || '''웹사이트''' ||[[https://github.com/2DU/openNAMU|GitHub]] [br][[https://2du.pythonanywhere.com/w/메인|테스트 위키]] ||
12 [목차]
13 [clearfix]
14 == 개요 ==
15 {{{#!folding [구동 화면 펼치기 · 접기 ]
16 ||<tablebgcolor=#fff,#000> {{{#!wiki style="margin: -6px -10px"
17 [[파일:aed9ff_on-js.png|width=97.2%]]}}} || {{{#!wiki style="margin: -5px -10px"
18 [[파일:54f63c_on-fi.png|width=100%]]}}} ||
19 ||<width=50%> JSON 기반 버전 || 파일 기반 버전 ||
20 || {{{#!wiki style="margin: -6px -10px"
21 [[파일:onamu316.png|width=87%]]}}} || {{{#!wiki style="margin: -5px -10px"
22 [[파일:openNAMU v3.4.5.jpg|width=100%]]}}} ||
23 || v3.1.6 || v3.4.5 ||
24 ||<-2> 파이썬 기반 ||}}}
25 * [[https://github.com/2DU/openNAMU|GitHub]]
26 * [[https://github.com/2DU/openNAMU/issues|이슈 트래커]][* 간단한 이슈는 다른 개발자도 담당한다고 한다.]
27 * [[https://2du.pythonanywhere.com|테스트 위키]][* [[https://github.com/2du/openNAMU/issues/659|기존에는 GitHub의 자체 기능을 이용했다.]] ~~[[https://github.com/2du/openNAMU/wiki|링크]]~~(없어졌다)]
28
29 [[알파위키]]의 [[알파위키:문법 도움말|나무마크]] 문법을 지원하는 [[Python|파이썬]] 기반 [[위키 엔진]]이다. 기존에는 [[Node.js]]로 개발됐었다.
30
31 호스팅은 [[Python|파이썬]] 3.7 이상을 사용할 수 있는 기기에서 동작이 가능하다. 윈도우, 우분투는 물론이고 라즈베리 파이, [[안드로이드(운영체제)|안드로이드]]에서도 동작이 가능하며, PyDroid 3 등의 파이썬 3을 구동하는 애플리케이션을 사용한다. 파이썬 3.7부터 호스팅할 수 있다.
32
33 파이썬 3.7을 지원하지 않는 Windows XP에서는 호스팅할 수 없다. 즉 Windows Vista부터 가능하다. --지못미 엑스피--
34
35 == 작동 원리 ==
36 원래는 Node.js Express 기반이였고 JSON에 모든 데이터를 기록하는 형태였으나, 한 번 엎어진 이후로 파일에 기록하는 모니위키 형식을 띄게 되었다. --그래서 엄밀히 말하면 [[the seed]]보다 [[모니위키]]에 가깝다--
37
38 그래서 구조적 문제를 해결하기 위해서 MySQL로 돌아가는 오픈나무가 [[https://github.com/2DU/Ownet|개발 중]]이었는데 편하게 하려고 파이썬으로 바꿨다고 한다. 또 개인용으로 쓰기 좋고 백업이 편한 디비를 찾다가 SQLite로 바꾸었다. 그러다가 MySQL도 같이 지원하게 된다.
39
40 비밀번호는 처음에는 bcrypt로 암호화했다가 현재는 bcrypt에 큰 문제가 있어 [[SHA-3]] 혹은 [[SHA-256]] 방식만 지원한다. 웬만하면 SHA-3를 사용하라는 개발자의 말이 있으니 유의할 것.
41
42 === 역사 ===
43 * 저장 방법: JSON -> 파일 -> MySQL -> SQLite -> MySQL(및 MariaDB) 및 SQLite
44 * 프레임워크: Express.js -> Flask -> bottle[* 2.0.0부터 적용] -> Flask[* 2.6.0부터 적용]
45 * 프로그래밍 언어: Node.js -> [[Python]]
46
47 == 장단점 ==
48 === 장점 ===
49 * 설치가 간단하다.
50 * 설치 후 즉시 사용할 수 있다.
51 * 나무마크를 지원한다.
52 * 쓸모 있는 기능 다수 보유[* 여러 가지 필터, 투표 기능 등]한다.
53 * SQLite의 경우 DB 프로그램을 설치 필요가 없다.
54
55 === 단점 ===
56 * 파이썬 지원 호스팅 및 서버가 필요하다.
57 * 구조가 어설프다.
58 * 확장기능이 없다.[* 다만 커스텀 코드라는 기능으로 대체되었다.]
59 * 텍스트로만 기록을 저장하기 때문에 금방 용량이 커지며, 이로 인해 대형 위키에 부적합하다.
60 * VirtualHost를 지원하지 않는다.
61 * 이름공간이라는 개념이 없다. 사용자 문서는 그냥 앞이 user:로 시작되는지 확인하고 권한을 결정할 뿐이다.
62 * 보안 이슈가 가끔 발생한다.
63
64 == 사용하는 위키 ==
65 * [[오픈테섭]]
66 * [[시드위키]]
67
68 === 없어진 위키 ===
69 * [[DICC위키]]
70 * [[바다위키#s-2|신 바다위키]]
71 * 인싸위키
72 * 허수위키
73 * MGWiki
74 * [[러블리즈위키]]
75 * [[알파위키/역사/붕괴 후 혼란기|2차 알파위키]]
76 * [[대한위키실록]]
77 * 오픈키위
78
79 == 기타 ==
80 * 예전에는 개발자가 개발을 포기했으나 다른 개발자가 다시 잡고 개발 중이다.
81 * 위키엔진을 왜 만들었냐면 '''도쿠위키랑 모니위키를 써봤는데 맘에 안 들어서'''라고 한다. [[https://2du.pythonanywhere.com/w/오픈나무|관련 문서]]
82 * 3.x 버전부터 한국어와 영어가 지원되기 때문에, 한글판에서도 영어가 좀 섞여 있다.
83 * 3.1.x부터는 점점 JavaScript를 활용하는 추세이다. 따라서 JavaScript를 끄면 토론이 더 이상 불가능하며 일부 렌더링이 되지 않는다.
84 * 2020년 8월 11일부로 안정화(stable), 베타(beta), Dev(카나리아)의 3가지 빌드로 구분된다. 깃허브에서는 브랜치를 고르지 않으면 기본적으로 베타 버전이 내려받아진다.
85 * '''v3.4.5 (stable2) (beta3) (dev59)''' 버전은 로그인 하면 왜인지 500 Internal Server Error 라는 에러문구가 뜬다.
86 * 나무마크 호환이 된다는 점에서 여러 단점을 가지고 있음에도 불구하고 자주 사용되었던 엔진이었으나 현재는 [[the tree|더 좋은 엔진]]이 나와 해당 엔진을 사용하는 위키가 없어지는 추세이다. [[다올위키]]는 이미 엔진을 the tree로 변경하였으며 조만간 [[소나위키]]도 엔진을 변경할 예정이다.
87
88 [각주]
89 [include(틀:문서 가져옴/나무위키, title=openNAMU, version=182)]