•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
현재 진행 중인 사용자 토론이 있습니다.
r9 vs r10
1
==== ==== ==== ==== ==== ====
1
"테스트"는 주로 어떤 것의 성능, 품질, 기능, 정확성 등을 점검하거나 확인하기 위한 과정이나 활동을 의미하는 단어입니다. 이 단어는 다양한 상황에서 사용되며, 그 용도에 따라 몇 가지 의미를 가질 수 있습니다.
2 2
3
일단 문서 나를 생성해다.
4
ACL 관련하여 내가 제어할 수 있는 건 없는 것 같다.
6
제목도 수정이 불가능한 것 같다. 다른 걸로 할 걸.
3
* 시험: 학생이 응시자가 특정 지식이나 능력을 평가하는 시험. 예들어, 학교에서 는 "수학 시험"이나 "어학 시험"이 이에 해당합니다.
6 4
7
앞으로문서를성할이다.
8
무슨 내용으로 채워나갈지는 나도 모르겠다.
5
* 검사: 제품 시스템, 소프트웨어 등이 의도한 대로 잘 동하는지 확인하기 위한 검사. 를 들어, 소프트웨어 개발에서의 "단위 테스트"나 "시스템 테스트"가 에 해당합니다.
9 6
10
연습용으로 쓰라고 만든 위키지만,
11
나는 나만의 목적으로 이 위키를 이용할 것이다.
7
* 실험: 과학적인 방법으로 새로운 현상이나 이론을 확인하는 절차. 예를 들어, "화학 실험"이나 "심리학 실험" 등이 있습니다.
12 8
13
현재 문서를 무엇으로용할조차 갈피잡지 못한 상태이다.
14
일단 이 문서는 메모장 느낌으로 이용하는 방향이 될 것 같다.
9
* 검증: 어떤 사실나 이론이 옳은확인하는 과정. 예들어, "가설 검증"나 "데이터 검증" 같은 작업이 이에 해당합니다.
15 10
16
당장은기장 마냥 느끼생각을어놓는 전부지만.
17
19
==== ==== ==== ==== ==== ====
21
23
스마트폰을 내려두고 침대에서 일어나 노트북을 켰다.
25
27
이 위키를 이용하여 문서에 어떤 글을 작성할 지 생각해보다가,
29
곧 아래와 같은 의문이 점진적으로 들기 시작하였다.
31
33
떡밥위키는 어느 정도의 진중함을 가지고 만든 위키일까?
35
잠깐의 유흥으로 만들어진 위키라는 생각이 든 순간부터 지워지지 않는 의문이다.
37
39
내가 아무리 이 문서를 작성한다 하여도, 그것이 먼 이후까지 보존되어 있을 것이란 보장은 없다.
41
나는 이 문서의 영속성이 존재하기를 바라지만, 이 위키에 대한 어떠한 신뢰도 가지고 있지 않는 상황이다.
43
45
당연한 논리이다. 위키에 대한 신뢰를 가지지 못하고 불안해 하는 이유는 아래와 같다.
47
- 이 위키가 운영된지 얼마 지나지 않은 시점이라 운영자가 운영에 대해 가지는 의욕이나 경향을 판단할 수 없음.
49
51
쉽게 어떤 인간이 무슨 목적을 가지고 만들었고 어느 정도의 책임을 가지고 운영하는 지를 모르기 때문이다.
53
사실 목적 자체는 위키를 작성하는 연습장으로 쓰라는 명분이 내세워져 있지만, 이 마저도 온전히 믿지는 못하고 있다.
55
57
점점 운영과 관리에 흥미를 잃고 이 위키가 통제를 벗어나는 상황 또는 존재 이의가 없는 상황이 오게 된다면,
59
운영자가 보일 아주 효율적인 대처는 바로 위키의 폐쇄일 것이다. 나는 그런 상황을 앞서서 걱정하고 있는 것이다.
61
63
이 글을 작성하는 현 시점은 새벽이다. 피곤한 머리를 가지고 생각을 하려니 나 혼자의 욕심이 앞서는 것은 아닐까.
65
실제로 나의 이런 생각을 위키 운영자가 어떻게 받아들이던 간에, 괜한 부담으로 다가갈 수 있는 부분이 되진 않을까.
67
69
일단 나만의 해결책은 문서를 작성함과 동시에 나만의 아카이브를 따로 저장해두는 것이다.
71
이 문서가 언젠가 사라지더라도 나에게 모든 내용이 남아있도록 말이다. 그럼 더 이상 타인이 부담을 가질 일은 없으니.
73
75
그렇게 생각하고 나니 가장 큰 변수를 마주하였다. 그건 바로 내 자신이 이 위키에 대해 가지는 흥미이다.
77
결국 나라는 인간도 다를 건 없다. 내가 흥미를 잃어버린다면 지금 이 모든 생각이 무슨 의미를 가지리.
79
81
이 걱정은 미래의 나에게 넘기기로 하고, 난 이만 생각을 마치기로 하였다.
83
85
==== ==== ==== ==== ==== ====
87
89
이 문서에 무슨 내용을 작성할 지 정했다.
91
93
현재 취미로 만들고 있는 토이 프로젝트의 프로그램 코드를 해설하는 내용을 전개할 예정이다.
95
97
이 위키는 문서를 어떻게 작성하는 지 연습하고 위키 엔진의 다양한 시스템을 알아보는 목적으로 만들었다.
99
그러한 목적에 부합하도록 최대한 위키에 대한 시스템과 마크다운 문법을 배워갈 것이다.
101
103
현재 만들고 있는 프로젝트의 개요는 아래와 같다.
105
107
프로그래밍 언어에서 아주 큰 정수 타입을 다룰 때 이용하기 위해 Bigint(Big Integer)라 불리우는 객체가 존재한다.
109
이러한 Bigint의 특징은 시스템의 메모리가 허용하는 한 무한에 가까운 정수를 다룰 수 있다는 점이다.
111
나중에 관련하여 임의 정밀도(Arbitrary Precision)에 대한 개념도 이 문서에 정리해볼 예정이다.
113
115
흔히 Python이라는 언어의 정수 타입이 Bigint라 알고 있을 것이다. 또한 그렇게 널리 알려져 있다.
117
하지만 Python의 Bigint는 정말 큰 수를 다룰 수 있을 지 언정, 진정한 의미에서 임의 정밀도를 구현하지는 못했다.
119
엄밀히 따지면 Pyhton은 최대 효율을 끌어내기 위해 임의 정밀도를 일부로 구현하지 않은 느낌이라 못한 것은 아니다.
121
123
아무튼 이러한 Bigint 객체를 통해 임의 정밀도를 구현하고 무한에 가까운 정수를 연산 가능하게 만든 다음,
125
정보 이론에서 정의된 정보 엔트로피의 한계까지 데이터를 무손실 압축할 수 있는 알고리듬인
127
산술 부호화(Arithmetic Code)를 구현하는 프로그램을 제작할 예정이다. 허프먼 부호화(Huffman Code)는 다루지 않는다.
129
131
이를 구현하기 위한 코드를 위키 문서에 부합하도록 작성하는 것이 나의 목표가 되었다.
133
135
==== ==== ==== ==== ==== ====
137
139
시작하기에 앞서, 나무위키의 Rust(프로그래밍 언어) 문서에서 간단한 코드 블록 부분을 가져와 보았다.
141
코드 블록은 자주 쓸 요소라 중요하다. 참고로 언어가 Rust인 이유는 Rust를 메인으로 코드를 작성하기 때문이다.
143
145
{{{#!html
147
<!-- HTML generated using hilite.me --><div style="background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;"><pre style="margin: 0; line-height: 125%"><span style="color: #008800; font-weight: bold">fn</span> main() {
149
println<span style="color: #333333">!</span>(<span style="background-color: #fff0f0">&quot;Hello, world!&quot;</span>);
151
}
153
</pre></div>
155
}}}
157
159
일단 맨 처음으로, 나무위키에서 코드 블록을 그대로 가져와 본 결과물이다.
161
미리보기로 확인해보니 개행이 적용이 되지 않은 모습을 확인하였다.
163
165
미리보기가 아닌 실제 문서에서도 개행이 적용되지 않는 지 직접 확인하기 위해 문서를 저장할 것이다.
167
확인 결과, 개행이 적용되지 않았다. 나무위키에서 그대로 가져왔으나 내용을 확인하면 차이가 존재한다.
169
171
무슨 이유인지 모르겠지만, <pre> 태그가 제대로 동작하지 않음을 확인하였다.
173
Space와 같은 공백 문자는 적용이 되지만, Line Feed와 같은 개행은 적용이 되지 않는다.
175
177
{{{#!html
179
<div style="border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em; white-space: pre-line;">
181
fn main() {
183
println!("Hello, world!");
185
}
187
</div>
189
}}}
191
193
<pre> 태그가 제대로 동작하지 않는 것을 보고 <div> 태그만 남긴 채,
195
속성으로 style="white-space: pre-line;"을 이용해 보았다. 결과는 속성이 적용되지 않는다.
197
199
더불어 <pre> 태그를 지우니 배경의 회색이 사라지는 것을 확인할 수 있었다.
201
203
{{{#!html
205
<div style="border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em;">
207
<pre><span style="color: #008800; font-weight: bold">fn</span> main() {<br>
209
println<span style="color: #333333">!</span>(<span style="background-color: #FFF0F0">Hello, world!</span>);<br>
211
}</pre>
213
</div>
215
}}}
217
219
일단은 급한대로 <br> 태그를 넣어 개행하는 방식으로 처리하였다.
221
<pre> 태그 그리고 "white-space: pre-line;" 속성이 왜 적용되지 않는지는 나중에 알아보도록 하자.
223
225
==== ==== ==== ==== ==== ====
11
따라서 "테스트"는 반적으로 무언가를 점검, 평가, 확인하절차를 의미하며, 그 방식이나 목 따라 다양한 형태로 나타날 수 있습니다.