Skip to content

Commit f14735d

Browse files
committed
Deploy post/2026-05-07-01 5bf8300
1 parent cdcbb04 commit f14735d

14 files changed

Lines changed: 848 additions & 854 deletions

post/chaos-to-cosmos.html

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
<!DOCTYPE html>
2+
<html lang="ko">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
6+
7+
<meta name="giscus:backlink" content="https://chebread.github.io/post/chaos-to-cosmos">
8+
9+
<title>Chaos To Cosmos | 차한음 블로그</title>
10+
<meta name="description" content="또 전체적인 프로그램을 미리 신중하게 적어서 생각하는 방향이 옳은지 여부를 확인하기 전에 조각난 코드부터 대책 없이 늘어놓은 다음 그것의 모양을 조금씩 잡아 나가는 방법으로 프로그...">
11+
<meta name="author" content="차한음">
12+
<link rel="canonical" href="https://chebread.github.io/">
13+
14+
<meta property="og:title" content="Chaos To Cosmos | 차한음 블로그">
15+
<meta property="og:description" content="또 전체적인 프로그램을 미리 신중하게 적어서 생각하는 방향이 옳은지 여부를 확인하기 전에 조각난 코드부터 대책 없이 늘어놓은 다음 그것의 모양을 조금씩 잡아 나가는 방법으로 프로그...">
16+
<meta property="og:type" content="article">
17+
<meta property="og:url" content="https://chebread.github.io/post/chaos-to-cosmos">
18+
<meta property="og:site_name" content="차한음 블로그">
19+
20+
<meta name="twitter:card" content="summary_large_image">
21+
<meta name="twitter:title" content="Chaos To Cosmos | 차한음 블로그">
22+
<meta name="twitter:description" content="또 전체적인 프로그램을 미리 신중하게 적어서 생각하는 방향이 옳은지 여부를 확인하기 전에 조각난 코드부터 대책 없이 늘어놓은 다음 그것의 모양을 조금씩 잡아 나가는 방법으로 프로그...">
23+
24+
<script type="application/ld+json">
25+
{
26+
"@context": "https://schema.org",
27+
"@type": "BlogPosting",
28+
"headline": "Chaos To Cosmos | 차한음 블로그",
29+
"author": {
30+
"@type": "Person",
31+
"name": "차한음"
32+
},
33+
"publisher": {
34+
"@type": "Organization",
35+
"name": "차한음",
36+
},
37+
"datePublished": "2026-05-07",
38+
"description": "또 전체적인 프로그램을 미리 신중하게 적어서 생각하는 방향이 옳은지 여부를 확인하기 전에 조각난 코드부터 대책 없이 늘어놓은 다음 그것의 모양을 조금씩 잡아 나가는 방법으로 프로그..."
39+
}
40+
</script>
41+
42+
<link rel="stylesheet" href="/styles/reset.css" />
43+
<link rel="stylesheet" href="/styles/layout.css" />
44+
<link rel="stylesheet" href="/styles/color-palette.css">
45+
<link rel="stylesheet" href="/styles/chroma.css">
46+
47+
<link rel="stylesheet" href="/styles/github-markdown.css">
48+
<link rel="stylesheet" href="/styles/post.css">
49+
50+
<link rel="icon" href="/favicons/favicon.ico" sizes="any">
51+
<link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png">
52+
<link rel="apple-touch-icon" href="/favicons/apple-touch-icon.png">
53+
</head>
54+
<body>
55+
<div class="root">
56+
<div class="post">
57+
<nav class="post-nav">
58+
<a href="/" class="">
59+
<span></span>
60+
</a>
61+
<a href="/about" class="">
62+
<span>어바웃</span>
63+
</a>
64+
<a href="/posts" class="active">
65+
<span>포스트</span>
66+
</a>
67+
</nav>
68+
69+
<main class="post-content">
70+
<header class="post-header">
71+
<h1 class="post-title">Chaos To Cosmos</h1>
72+
<p class="post-date"><time datetime="2026-05-07">2026년 05월 07일</time></p>
73+
<p class="post-category"><a href="/posts/%eb%8f%85%ec%84%9c">[독서]</a></p>
74+
</header>
75+
<div class="post-body">
76+
<article class="markdown-body"><blockquote>
77+
<p>또 전체적인 프로그램을 미리 신중하게 적어서 생각하는 방향이 옳은지 여부를 확인하기 전에 조각난 코드부터 대책 없이 늘어놓은 다음 그것의 모양을 조금씩 잡아 나가는 방법으로 프로그래밍을 했다.<br>
78+
소설과, 화가, 그리고 건축가의 직업이 그런 것처럼 프로그램이란 전체 모습을 미리 알 수 있는 것이 아니라 작성해 나가면서 이해하게 되는 존재다.<br>
79+
프로그래밍 언어는 당신이 이미 머릿속으로 생각한 프로그램을 표현하는 도구가 아니라, 아직 존재하지 않는 프로그램을 생각해 내기 위한 도구다.<br>
80+
해커에게 필요한 언어는 마음껏 내갈기고, 더럽히고, 사방에 떡칠할 수 있는 언어다.<br>
81+
- 폴 그레이엄, 『해커와 화가』</p>
82+
</blockquote>
83+
<p>그렇다. 코드는 더러워야 한다. 정결한 코드는 아무 의미가 없다. 코드는 더러움 속에서, 혼란 속에서 존재되어야만 한다. 코드에 아이디어를 피력해야 한다. 왜 코드 외적인 것에서 아이디어를 피력하고, 생산하는가? 항상 코드 자체에 아이디어를 적어 놓아야 한다. 프로그래머란, 오로지 코드에 어떤 것을 피력해야 한다. 코드 외적인 것에서 놀지 마라. 코드에서 놀아라. 코드는 깔끔해야 한다는 강박을 버려라. 코드는 더러워야 한다.</p>
84+
<pre tabindex="0" class="chroma"><code><span class="line"><span class="cl"><span class="c1">// 출처: https://en.wikipedia.org/wiki/Fast_inverse_square_root
85+
</span></span></span><span class="line"><span class="cl"><span class="c1"></span><span class="kt">float</span> <span class="nf">Q_rsqrt</span><span class="p">(</span> <span class="kt">float</span> <span class="n">number</span> <span class="p">)</span>
86+
</span></span><span class="line"><span class="cl"><span class="p">{</span>
87+
</span></span><span class="line"><span class="cl"> <span class="kt">long</span> <span class="n">i</span><span class="p">;</span>
88+
</span></span><span class="line"><span class="cl"> <span class="kt">float</span> <span class="n">x2</span><span class="p">,</span> <span class="n">y</span><span class="p">;</span>
89+
</span></span><span class="line"><span class="cl"> <span class="k">const</span> <span class="kt">float</span> <span class="n">threehalfs</span> <span class="o">=</span> <span class="mf">1.5F</span><span class="p">;</span>
90+
</span></span><span class="line"><span class="cl">
91+
</span></span><span class="line"><span class="cl"> <span class="n">x2</span> <span class="o">=</span> <span class="n">number</span> <span class="o">*</span> <span class="mf">0.5F</span><span class="p">;</span>
92+
</span></span><span class="line"><span class="cl"> <span class="n">y</span> <span class="o">=</span> <span class="n">number</span><span class="p">;</span>
93+
</span></span><span class="line"><span class="cl"> <span class="n">i</span> <span class="o">=</span> <span class="o">*</span> <span class="p">(</span> <span class="kt">long</span> <span class="o">*</span> <span class="p">)</span> <span class="o">&amp;</span><span class="n">y</span><span class="p">;</span> <span class="c1">// evil floating point bit level hacking
94+
</span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="n">i</span> <span class="o">=</span> <span class="mh">0x5f3759df</span> <span class="o">-</span> <span class="p">(</span> <span class="n">i</span> <span class="o">&gt;&gt;</span> <span class="mi">1</span> <span class="p">);</span> <span class="c1">// what the fuck?
95+
</span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="n">y</span> <span class="o">=</span> <span class="o">*</span> <span class="p">(</span> <span class="kt">float</span> <span class="o">*</span> <span class="p">)</span> <span class="o">&amp;</span><span class="n">i</span><span class="p">;</span>
96+
</span></span><span class="line"><span class="cl"> <span class="n">y</span> <span class="o">=</span> <span class="n">y</span> <span class="o">*</span> <span class="p">(</span> <span class="n">threehalfs</span> <span class="o">-</span> <span class="p">(</span> <span class="n">x2</span> <span class="o">*</span> <span class="n">y</span> <span class="o">*</span> <span class="n">y</span> <span class="p">)</span> <span class="p">);</span> <span class="c1">// 1st iteration
97+
</span></span></span><span class="line"><span class="cl"><span class="c1">// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed
98+
</span></span></span><span class="line"><span class="cl"><span class="c1"></span>
99+
</span></span><span class="line"><span class="cl"> <span class="k">return</span> <span class="n">y</span><span class="p">;</span>
100+
</span></span><span class="line"><span class="cl"><span class="p">}</span>
101+
</span></span></code></pre><p>오픈소스로 배포한다고 해도 그냥 더러운 코드를 공개하라. 왜 당신의 아이디어가 담긴 더러운 코드는 공개하기 싫은가?
102+
위 코드에서 볼 수 있듯, 프로그래밍의 거장들도 더럽게 코드를 짜고 더러운 코드를 공개하는데 당신은 왜 깨끗하려 하는가?</p>
103+
<p>Chaos to Cosmos. 모든 것은 혼란 속에서 직조되어 완벽함에 점차 수렴한다는 것을 잊지 마라.</p>
104+
</article>
105+
</div>
106+
<section class="post-comments">
107+
<script src="https://giscus.app/client.js"
108+
data-repo="chebread/chebread.github.io"
109+
data-repo-id="R_kgDOP0JptQ"
110+
data-category="Announcements"
111+
data-category-id="DIC_kwDOP0Jptc4CwG8I"
112+
data-mapping="title"
113+
data-strict="0"
114+
data-reactions-enabled="1"
115+
data-emit-metadata="0"
116+
data-input-position="top"
117+
data-theme="light"
118+
data-lang="ko"
119+
crossorigin="anonymous"
120+
async>
121+
</script>
122+
</section>
123+
</main>
124+
125+
<footer class="post-footer">
126+
<section>
127+
<p>&copy; 2025-2026 Cha Haneum</p>
128+
</section>
129+
<section>
130+
<a href="https://github.com/chebread">
131+
<span>깃허브</span>
132+
</a>
133+
<a href="mailto:chahaneum@chebread.com">
134+
<span>이메일</span>
135+
</a>
136+
</section>
137+
</footer>
138+
</div>
139+
</div>
140+
141+
<script src="/js/main.js"></script>
142+
</body>
143+
</html>

0 commit comments

Comments
 (0)