diff --git a/public/01_ko.html b/public/01_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..9970b5c11366082b1599fb599be509b9361baae9
--- /dev/null
+++ b/public/01_ko.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>Rust 언어 소개</h1>
+            <div align="center">
+<p>
+    <img src="https://user-images.githubusercontent.com/2356749/223437049-ef50db6b-1ba4-4087-b67f-efeca5569201.png" alt="Rust logo" style="width: 20%; margin-bottom: 20px; border-radius: 10px;">
+</p>
+<h3>Rust official logo</h3>
+</div>
+<blockquote>
+  <p>I burnt out; ran out of emotional energy to be effective in my role as technical lead for the project mid way through 2013 (at the tail end of my divorce, and while recovering from a surgery -- not a great time in my life), so I took a break, switched off the Rust team - Graydon Hoare</p>
+</blockquote>
+<p>Rust는 Firefox 브라우저로 유명한 Mozilla의 개발자 <a href="https://arxiv.org/pdf/2206.05503&ved=2ahUKEwjT9o-23NX9AhVw5XMBHYQQB74QFnoECBwQAQ&usg=AOvVaw1uVD6znXuafpUqPN3jkm9C">Graydon Hoare에 의해 2006년</a>에 첫 시작된 <s>지금은 Swift 언어 기여자</s></p>
+<p>안전하고 빠른 시스템 개발을 위한 언어로, 다음과 같은 이유에서 다양한 분야에서 점점 더 많이 사용:</p>
+<div align="center">
+<p>
+    <img src="https://user-images.githubusercontent.com/2356749/224587883-afa83e65-f531-46d4-9580-c341052a0981.png">
+</p>
+<h3>소유권 및 빌리기 예제</h3>
+</div>
+<ul>
+<li><b>안전성</b>: 메모리 안정성과 스레드 안전성을 강조하는 언어, Rust 컴파일러는 실행 시간 오류를 줄이기 위해 메모리 오류를 검출하고, 이를 방지하기 위해 안전한 코드를 작성할 수 있도록 도움</li>
+<li><b>높은 성능</b>: 꽤 많은 경우에서 C와 비슷한 수준의 성능을 낼 수도 있음, LLVM을 사용하여 코드를 컴파일하고 최적화하여 빠른 실행 속도를 제공</li>
+<li><b>확장성</b>: 다양한 운영 체제와 아키텍처를 지원, 크로스 플랫폼 개발에 적합하며, 다양한 분야에서 사용</li>
+<li><b>생산성</b>: 코드의 가독성을 강조하며, 표준 라이브러리와 함께 제공되는 Cargo를 통해 의존성 관리와 빌드 자동화를 지원</li>
+<li><b>지속 가능성</b>: 대형 기업들이 개발하고 사용하고 있으며, 다양한 커뮤니티와 생태계가 활발하게 운영</li>
+</ul>
+<div align="center">
+<p>
+    <img src="https://user-images.githubusercontent.com/2356749/224588206-b98317ef-be24-450e-b825-cc98bf7984bb.png">
+</p>
+<h3>CPU time 벤치마크</h3>
+</div>
+            <div class="bottomnav">
+                <span class="back"><a href="index.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="02_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&code=fn+main%28%29+%7B%0A++++%2F%2F+%EC%83%81%ED%99%A9%3A+%EC%86%8C%EC%9C%A0%EA%B6%8C+%EC%9D%B4%EC%A0%84%ED%95%98%EA%B8%B0%0A++++let+mut+x+%3D+String%3A%3Afrom%28%22hello%22%29%3B%0A++++let+y+%3D+x%3B+%2F%2F+x%EC%9D%98+%EC%86%8C%EC%9C%A0%EA%B6%8C%EC%9D%B4+y%EB%A1%9C+%EC%9D%B4%EC%A0%84%EB%90%A8%0A++++println%21%28%22%7B%7D%22%2C+y%29%3B+%2F%2F+%EA%B2%B0%EA%B3%BC%3A+hello%0A+++++++++++++++++++++++%2F%2F+println%21%28%22%7B%7D%22%2C+x%29%3B+%2F%2F+%EC%98%A4%EB%A5%98%3A+%60x%60%EC%9D%98+%EC%86%8C%EC%9C%A0%EA%B6%8C%EC%9D%B4+y%EB%A1%9C+%EC%9D%B4%EC%A0%84%EB%90%98%EC%96%B4+%EB%8D%94+%EC%9D%B4%EC%83%81+%EC%82%AC%EC%9A%A9%ED%95%A0+%EC%88%98+%EC%97%86%EC%9D%8C%0A%0A++++%2F%2F+%EC%83%81%ED%99%A9%3A+%EB%8C%80%EC%97%AC%ED%95%98%EA%B8%B0%0A++++let+v+%3D+vec%21%5B1%2C+2%2C+3%5D%3B%0A++++let+s+%3D+sum%28%26v%29%3B+%2F%2F+v%EB%A5%BC+%EB%B6%88%EB%B3%80%EC%9C%BC%EB%A1%9C+%EB%8C%80%EC%97%AC%ED%95%98%EA%B3%A0+%ED%95%A9%EA%B3%84%EB%A5%BC+%EA%B5%AC%ED%95%9C%EB%8B%A4.%0A++++println%21%28%22%7B%7D%22%2C+s%29%3B+%2F%2F+%EA%B2%B0%EA%B3%BC%3A+6%0A%0A++++let+k+%3D+v%3B%0A++++%2F%2F+println%21%28%22%7B%3A%23%3F%7D%22%2C+v%29%3B+%2F%2F+error%5BE0382%5D%3A+borrow+of+moved+value%3A+%60v%60%0A%7D%0A%0Afn+sum%28v%3A+%26Vec%3Ci32%3E%29+-%3E+i32+%7B%0A++++let+mut+result+%3D+0%3B%0A++++for+i+in+v+%7B%0A++++++++result+%2B%3D+*i%3B%0A++++%7D%0A++++result%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/02_ko.html b/public/02_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..f3feabd3f67c5d2304149a333111a7d96cfa42da
--- /dev/null
+++ b/public/02_ko.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>Rust 언어 소개 cont'd</h1>
+            <div align="center">
+<p>
+    <img src="https://user-images.githubusercontent.com/2356749/223428889-67c3ad26-41e4-4469-b008-ec2c0b493e42.png">
+</p>
+<h3>Stackoverflow survey @ 2022</h3>
+</div>
+<p>2022년 Stack Overflow 개발자 설문조사 기준으로 Rust는 "가장 사랑받는 언어" 부문에서 <code>7년 연속</code>으로 1위를 차지할 정도입니다.</p>
+<p>실제 예로 IT 대기업들 Facebook, Google, Mozilla 등이 Rust를 사용하고 있습니다.</p>
+<ul>
+<li><code>Facebook</code>은 Rust를 기반으로 하는 Libra, 디지털 자산을 위한 글로벌 금융 시스템을 구축하는 것을 목표 블록체인 프로젝트를 진행, HHVM, API etc</li>
+<li><code>Google</code>은 안드로이드 운영 체제의 새로운 버전에 Rust를 도입, crosvm, Fuchsia OS, etc</li>
+<li><code>Discord</code>, Discord의 크로스 플랫폼 클라이언트 애플리케이션인 Discord Desktop은 Rust로 작성된 인터페이스 레이어로 구성, Discord Desktop의 인터페이스 레이어는 Chromium Embedded Framework (CEF)을 사용하며, Rust 코드는 CEF의 C++ 래퍼에서 호출됨. 또한 대규모 분산 시스템 처리에 쓰임</li>
+<li><code>Mozilla</code>는 Firefox 브라우저의 일부를 Rust로 작성하여 메모리 안정성을 강화했으며, Rust를 사용하여 Servo라는 웹 렌더링 엔진을 개발, 또한 Rust로 작성된 Cranelift 프로젝트를 통해 LLVM 대체를 위한 컴파일러 및 라이브러리를 제공, 또한 Mozilla의 모바일 운영 체제인 Firefox OS에서 Rust를 사용하는 것도 고려</li>
+<li><code>Linux</code>, C언어만 좋아하는 linus torvald가 linux kernel 6.1부터 공식 지원 언어로 추가</li>
+<li><code>Amazon</code>, Bottlerocket 운영 체제와 AWS 니트로 시스템, etc </li>
+<li><code>Dropbox</code>, 클라우드 스토리지 회사인 드롭박스는 Rust를 사용하여 안전하고 효율적인 파일 검색 및 동기화 엔진을 구축 (exa byte storage)</li>
+</ul>
+<div align="center">
+<p>
+    <img src="https://user-images.githubusercontent.com/2356749/223660836-5a3dd239-4ddb-432b-9a4a-2e6ac90816ee.png">
+</p>
+</div>
+<p>이제 Rust 팬처럼만 이야기 하지 말고 Rust 언어가 전체적으로 어떻게 작동하는지 자세히 알아보겠습니다.</p>
+<hr />
+<p><code>Rust</code>는 메모리 안정성, 스레드 안전성, 코드 가독성 등을 강조하는 언어입니다.</p>
+<p><code>가비지 컬렉션이나 런타임 오버헤드 없이</code> 메모리를 안전하게 보호할 수 있어 최신 컴퓨팅에서 매우 유용합니다.</p>
+<p>이러한 기능 덕분에 Rust는 빠르고 안정적이며 효율적인 소프트웨어를 작성하는 데 완벽한 언어입니다.</p>
+<p>객체 지향 프로그래밍을 지원하지만, 이를 구현하는 방식이 다릅니다.</p>
+<p>"트레잇(trait)"이라는 개념을 사용하여 <code>객체 지향 프로그래밍</code>을 구현하고 <code>연산자 오버로딩을 지원</code>하며, 이를 통해 객체 지향적인 코드를 작성할 수 있습니다.</p>
+<p><code>암묵적인 타입 변환</code>을 지원하지 않습니다. Rust에서는 <code>C와 직접적으로 상호작용</code>할 수 있는 Foreign Function Interface(FFI)가 제공됩니다.</p>
+<p>Rust는 LLVM(컴파일러 인프라스트럭처) 프로젝트의 일부로 개발되어 <code>LLVM</code>을 사용하여 코드를 컴파일하고 최적화하여 빠른 실행 속도를 제공합니다.</p>
+<p>Rust는 또한 npm처럼 <code>패키지 매니저 Cargo</code>를 내장해 의존성 관리와 빌드 자동화를 지원합니다.</p>
+<div align="center">
+<p>
+    <img src="https://doc.rust-lang.org/cargo/images/Cargo-Logo-Small.png">
+</p>
+</div>
+            <div class="bottomnav">
+                <span class="back"><a href="01_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="03_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&code=%23!%5Ballow(dead_code)%5D%0A%0A%2F%2F%20%EC%84%9C%EB%A1%9C%20%EB%8B%A4%EB%A5%B8%20%EB%9D%BC%EC%9D%B4%ED%94%84%ED%83%80%EC%9E%84%EC%9D%84%20%EA%B0%80%EC%A7%84%20%EB%91%90%20%EA%B0%9C%EC%9D%98%20%EC%B0%B8%EC%A1%B0%EB%A5%BC%20%ED%8F%AC%ED%95%A8%ED%95%98%EB%8A%94%20%EA%B5%AC%EC%A1%B0%EC%B2%B4%0Astruct%20Foo%3C'a%2C%20'b%3E%20%7B%0A%20%20%20%20x%3A%20%26'a%20i32%2C%0A%20%20%20%20y%3A%20%26'b%20i32%2C%0A%7D%0A%0A%2F%2F%20Foo%20%EA%B5%AC%EC%A1%B0%EC%B2%B4%EB%A5%BC%20%EA%B0%80%EC%A0%B8%EC%99%80%EC%84%9C%20x%EC%99%80%20%EB%8F%99%EC%9D%BC%ED%95%9C%20%EB%9D%BC%EC%9D%B4%ED%94%84%20%ED%83%80%EC%9E%84%EC%9D%84%20%EA%B0%80%EC%A7%84%20%EC%B0%B8%EC%A1%B0%EB%A5%BC%20%EB%B0%98%ED%99%98%ED%95%98%EB%8A%94%20%ED%95%A8%EC%88%98%0Afn%20get_x%3C'a%2C%20'b%3E(foo%3A%20%26Foo%3C'a%2C%20'b%3E)%20-%3E%20%26'a%20i32%20%7B%0A%20%20%20%20foo.x%0A%7D%0A%0A%2F%2F%20%EC%9B%90%EC%8B%9C%20%ED%8F%AC%EC%9D%B8%ED%84%B0%EB%A5%BC%20%EA%B0%80%EC%A0%B8%EC%99%80%20%EC%9E%84%EC%9D%98%EC%9D%98%20%EB%9D%BC%EC%9D%B4%ED%94%84%ED%83%80%EC%9E%84%EC%9D%84%20%EA%B0%80%EC%A7%84%20%EC%B0%B8%EC%A1%B0%EB%A5%BC%20%EB%B0%98%ED%99%98%ED%95%98%EB%8A%94%20unsafe%20%ED%95%A8%EC%88%98%0Aunsafe%20fn%20deref_raw%3C'a%3E(ptr%3A%20*const%20i32)%20-%3E%20%26'a%20i32%20%7B%0A%20%20%20%20%26*ptr%20%2F%2F%20dereference%20raw%20pointer%0A%7D%0A%0Afn%20main()%20%7B%0A%20%20%20%20let%20x%20%3D%2010%3B%0A%20%20%20%20let%20y%20%3D%2020%3B%0A%0A%20%20%20%20%2F%2F%20x%EC%99%80%20y%EC%97%90%20%EB%8C%80%ED%95%9C%20%EC%B0%B8%EC%A1%B0%EB%A5%BC%20%ED%8F%AC%ED%95%A8%ED%95%98%EB%8A%94%20Foo%20%EA%B5%AC%EC%A1%B0%EC%B2%B4%20%EB%A7%8C%EB%93%A4%EA%B8%B0%0A%20%20%20%20let%20foo%20%3D%20Foo%20%7B%20x%3A%20%26x%2C%20y%3A%20%26y%20%7D%3B%0A%0A%20%20%20%20%2F%2F%20get_x%20%ED%98%B8%EC%B6%9C%ED%95%98%EB%A9%B4%EC%84%9C%20foo.x%EC%99%80%20%EB%8F%99%EC%9D%BC%ED%95%9C%20%EB%9D%BC%EC%9D%B4%ED%94%84%ED%83%80%EC%9E%84%EC%9D%84%20%EA%B0%80%EC%A7%84%20x%EC%97%90%20%EB%8C%80%ED%95%9C%20%EC%B0%B8%EC%A1%B0%20%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0%0A%20%20%20%20let%20r1%20%3D%20get_x(%26foo)%3B%0A%0A%20%20%20%20%2F%2F%20r1%EC%97%90%EC%84%9C%20%EC%9B%90%EC%8B%9C(raw)%20%ED%8F%AC%EC%9D%B8%ED%84%B0%20%EB%A7%8C%EB%93%A4%EA%B8%B0%0A%20%20%20%20let%20ptr%20%3D%20r1%20as%20*const%20i32%3B%0A%0A%20%20%20%20%2F%2F%20deref_raw%20%ED%98%B8%EC%B6%9C%ED%95%B4%EC%84%9C%20%EC%9E%84%EC%9D%98%EC%9D%98%20%EB%9D%BC%EC%9D%B4%ED%94%84%ED%83%80%EC%9E%84%20'a%EB%A5%BC%20%EA%B0%80%EC%A7%84%20r1%EC%97%90%20%EB%8C%80%ED%95%9C%20%EC%B0%B8%EC%A1%B0%20%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0%0A%20%20%20%20let%20r2%20%3D%20unsafe%20%7B%20deref_raw(ptr)%20%7D%3B%0A%0A%20%20%20%20%2F%2F%20r1%EA%B3%BC%20r2%EC%9D%98%20%EA%B0%92%EC%9D%84%20%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0%0A%20%20%20%20println!(%22r1%20%3D%20%7B%7D%2C%20r2%20%3D%20%7B%7D%22%2C%20r1%2C%20r2)%3B%20%20%2F%2F%20r1%20%3D%2010%2C%20r2%20%3D%2010%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/03_ko.html b/public/03_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..5ec5147b158524066f7ace5a578a7f21010f1558
--- /dev/null
+++ b/public/03_ko.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>Rust 언어 설치</h1>
+            <p><a href="https://rustup.rs/">https://rustup.rs/</a></p>
+<p><a href="https://visualstudio.microsoft.com/ko/visual-cpp-build-tools/"><code>Microsoft C++ Build Tools</code></a></p>
+<p><a href="https://www.rust-lang.org/tools/install">@Link</a></p>
+<div align="center">
+<p>
+    <img src="https://user-images.githubusercontent.com/2356749/223654372-637cbfd5-06f3-4c20-b97c-aefcdbbdafe6.png">
+</p>
+</div>
+<div align="center">
+<p>
+    <img src="https://user-images.githubusercontent.com/2356749/223654483-ba1db2fa-cc6b-4104-93ca-456852d2b4e5.png">
+</p>
+</div>
+            <div class="bottomnav">
+                <span class="back"><a href="02_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="04_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&code=curl%20--proto%20'%3Dhttps'%20--tlsv1.2%20-sSf%20https%3A%2F%2Fsh.rustup.rs%20%7C%20sh" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/04_ko.html b/public/04_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..de2daa9c4cc288f4309c99580de97402e89c44ba
--- /dev/null
+++ b/public/04_ko.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>Chapter 0 - 마무리</h1>
+            <p>Rust 소스코드는 <code>.rs</code> 확장자를 가집니다.</p>
+<pre><code class="rust language-rust">fn main() {
+    println!("Hello, world!");
+}
+</code></pre>
+<p>위 코드는 가장 간단한 Rust 프로그램입니다.</p>
+<p>main 함수를 정의하고, println! 매크로를 사용하여 "Hello, world!"를 출력하도록 되어 있습니다.</p>
+<p>위 코드를 hello.rs라는 이름으로 저장한 뒤, 터미널에서 다음과 같은 명령어를 입력해보세요.</p>
+<pre><code class="bash language-bash">$ rustc hello.rs
+$ ./hello
+$ Hello, world! (stdout)
+</code></pre>
+<p><code>Google evcxr</code> - <a href="https://github.com/evcxr/evcxr">Rust REPL</a></p>
+            <div class="bottomnav">
+                <span class="back"><a href="03_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="chapter_1_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code"><center><img src="/ferris_lofi.png" alt="Mascot Ferris" width="300" height="236"></center></div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/06_ko.html b/public/06_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..fc6ffde9360bf370d794e94f961d287c4a6accf9
--- /dev/null
+++ b/public/06_ko.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>The Rust Playground</h1>
+            <p>이 웹사이트에서는 <a href="https://play.rust-lang.org">Rust Playground</a> 를 사용하여 온라인에서 직접 실행해 볼 수 있습니다.</p>
+<p>우측에서 보다시피 <code>println()</code>도 아닌 <code>println!()</code> 와 같은 코드를 사용하여 stdout에 출력하는 것을 볼 수 있습니다.</p>
+<p><code>!</code> 이것은 매크로 (Macro)라는 Rust 언어의 특별한 기능 중 하나인데 우선은 생김새만 알고 나중에 뭔지 알아보겠습니다.</p>
+<p>Rust 언어는 쉽게 작성할 수 있도록 (syntactic sugar) 도와주지만 사실은 컴파일러가 아래처럼 처리합니다.</p>
+<p>(<code>cargo inspect</code> 명령어)</p>
+<pre><code class="rust">#![feature(prelude_import)]
+
+#[prelude_import]
+use std::prelude::rust_2018::*;
+
+#[macro_use]
+extern crate std;
+
+fn main() {
+    {
+        ::std::io::_print(format_args!("Welcome to the playground! You can modify the code in here.\n"));
+    };
+} </code></pre>
+            <div class="bottomnav">
+                <span class="back"><a href="chapter_1_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="07_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&code=fn%20main()%20%7B%0A%20%20%20%20println!(%22Welcome%20to%20the%20playground!%20You%20can%20modify%20the%20code%20in%20here.%22)%3B%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/07_ko.html b/public/07_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..3af457ef77c33be9c24a68bf8c5af2b4a09693d9
--- /dev/null
+++ b/public/07_ko.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>변수</h1>
+            <p>Rust에서는 <code>let</code> 키워드를 사용하여 변수를 선언합니다.</p>
+<div align="center"> <p>
+    <img src="https://user-images.githubusercontent.com/2356749/223641752-4b38e61f-82f4-450d-b778-526cb7ad618c.png">
+</p> </div>
+<p>값을 할당할 때, Rust는 거의 대부분 변수의 타입을 추론할 수 있습니다.</p>
+<p>만약 Rust가 추론하지 못하면 변수의 선언 시 타입을 추가할 수 있습니다.</p>
+<p>변수의 이름을 여러 번 사용하여 값을 할당할 수 있습니다.</p>
+<p>이를 "shadowing"이라고 하며, 변수의 타입은 재할당될 때마다 변경됩니다.</p>
+<p>변수의 이름은 항상 <code>snake_case</code>로 작성합니다.</p>
+            <div class="bottomnav">
+                <span class="back"><a href="06_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="08_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&code=fn%20main()%20%7B%0A%20%20%20%20%2F%2F%20let%20%ED%82%A4%EC%9B%8C%EB%93%9C%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%B3%80%EC%88%98%EB%A5%BC%20%EC%84%A0%EC%96%B8%ED%95%A9%EB%8B%88%EB%8B%A4.%0A%20%20%20%20let%20x%20%3D%205%3B%20%2F%2F%20x%EC%97%90%205%EB%9D%BC%EB%8A%94%20%EA%B0%92%EC%9D%84%20%ED%95%A0%EB%8B%B9%ED%95%A9%EB%8B%88%EB%8B%A4.%0A%20%20%20%20let%20y%3A%20f32%20%3D%203.14%3B%20%2F%2F%20y%EC%97%90%203.14%EB%9D%BC%EB%8A%94%20%EA%B0%92%EC%9D%84%20%ED%95%A0%EB%8B%B9%ED%95%98%EB%A9%B0%2C%20f32%20%ED%83%80%EC%9E%85%EC%9D%84%20%EB%AA%85%EC%8B%9C%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EC%A7%80%EC%A0%95%ED%95%A9%EB%8B%88%EB%8B%A4.%0A%0A%20%20%20%20%2F%2F%20Rust%EB%8A%94%20%EB%8C%80%EB%B6%80%EB%B6%84%EC%9D%98%20%EA%B2%BD%EC%9A%B0%20%EB%B3%80%EC%88%98%EC%9D%98%20%ED%83%80%EC%9E%85%EC%9D%84%20%EC%B6%94%EB%A1%A0%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4.%0A%20%20%20%20%2F%2F%20%EB%A7%8C%EC%95%BD%20%ED%83%80%EC%9E%85%EC%9D%84%20%EB%AA%85%EC%8B%9C%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EC%A7%80%EC%A0%95%ED%95%98%EA%B3%A0%20%EC%8B%B6%EB%8B%A4%EB%A9%B4%20%EB%8B%A4%EC%9D%8C%EA%B3%BC%20%EA%B0%99%EC%9D%B4%20%EC%9E%91%EC%84%B1%ED%95%A9%EB%8B%88%EB%8B%A4.%0A%20%20%20%20let%20z%3A%20i64%20%3D%20100%3B%0A%0A%20%20%20%20%2F%2F%20%EB%B3%80%EC%88%98%EC%9D%98%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EC%97%AC%EB%9F%AC%20%EB%B2%88%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EA%B0%92%EC%9D%84%20%ED%95%A0%EB%8B%B9%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4.%0A%20%20%20%20let%20mut%20count%20%3D%200%3B%0A%20%20%20%20count%20%3D%201%3B%0A%20%20%20%20count%20%3D%202%3B%0A%0A%20%20%20%20%2F%2F%20%EB%B3%80%EC%88%98%EC%9D%98%20%ED%83%80%EC%9E%85%EC%9D%84%20%EB%B3%80%EA%B2%BD%ED%95%98%EC%97%AC%20%EC%9E%AC%EC%82%AC%EC%9A%A9%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4.%0A%20%20%20%20let%20x%20%3D%20%22hello%22%3B%20%2F%2F%20x%EB%8A%94%20%EB%AC%B8%EC%9E%90%EC%97%B4%20%ED%83%80%EC%9E%85%EC%9E%85%EB%8B%88%EB%8B%A4.%0A%20%20%20%20let%20x%20%3D%205%3B%20%2F%2F%20x%EB%8A%94%20%EC%A0%95%EC%88%98%20%ED%83%80%EC%9E%85%EC%9C%BC%EB%A1%9C%20%EB%B3%80%EA%B2%BD%EB%90%A9%EB%8B%88%EB%8B%A4.%0A%0A%20%20%20%20%2F%2F%20%EB%B3%80%EC%88%98%EC%9D%98%20%EC%9D%B4%EB%A6%84%EC%9D%80%20snake_case%EB%A1%9C%20%EC%9E%91%EC%84%B1%ED%95%A9%EB%8B%88%EB%8B%A4.%0A%20%20%20%20let%20first_name%20%3D%20%22Choi%22%3B%0A%20%20%20%20let%20last_name%20%3D%20%22Blah%22%3B%0A%0A%20%20%20%20%2F%2F%20%EB%B3%80%EC%88%98%EC%9D%98%20%EA%B0%92%EC%9D%84%20%EC%B6%9C%EB%A0%A5%ED%95%A9%EB%8B%88%EB%8B%A4.%0A%20%20%20%20println!(%22x%20is%20%7B%7D%22%2C%20x)%3B%20%2F%2F%20%22x%20is%205%22%EA%B0%80%20%EC%B6%9C%EB%A0%A5%EB%90%A9%EB%8B%88%EB%8B%A4.%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/08_ko.html b/public/08_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..6601f061666e42bb6d5fd9e490f18d6fc3207451
--- /dev/null
+++ b/public/08_ko.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>변수 업데이트</h1>
+            <p>Rust는 변수가 변경 가능한지 여부에 대해 많은 주의를 기울입니다.</p>
+<ul>
+<li><strong>mutable (가변)</strong> - 컴파일러는 해당 변수에 대해 <code>쓰거나 읽을 수</code> 있도록 허용합니다.</li>
+<li><strong>immutable (불변)</strong> - 컴파일러는 해당 변수에 대해서 <code>읽기만</code> 가능하도록 허용합니다.</li>
+</ul>
+<p>가변 값은 <strong>mut</strong> 키워드로 구분됩니다.</p>
+            <div class="bottomnav">
+                <span class="back"><a href="07_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="09_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&code=fn%20main()%20%7B%0A%20%20%20%20let%20mut%20x%20%3D%2042%3B%0A%20%20%20%20println!(%22%7B%7D%22%2C%20x)%3B%0A%20%20%20%20x%20%3D%2013%3B%0A%20%20%20%20println!(%22%7B%7D%22%2C%20x)%3B%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/09_ko.html b/public/09_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..2c34693f17aaf5c2de3b7200f3ffd4929a357b54
--- /dev/null
+++ b/public/09_ko.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>기본 타입</h1>
+            <p>Rust는 다양한 익숙한 유형을 제공합니다:</p>
+<ul>
+<li>booleans - <code>bool</code>로 참/거짓을 나타냅니다.</li>
+<li>unsigned integers (부호 없는 정수) - 음이 아닌 정수를 나타내는 <code>u8</code>, <code>u16</code>, <code>u32</code>, <code>u64</code>, <code>u128</code>입니다.</li>
+<li>signed integers (부호 있는 정수) - 정수를 나타내는 <code>i8</code>, <code>i16</code>, <code>i32</code>, <code>i64</code>, <code>i128</code>입니다.</li>
+<li>pointer sized integers - 메모리에서 색인과 항목의 크기를 나타내는 <code>usize</code>, <code>isize</code>입니다.</li>
+<li>floating point - <code>f32</code> <code>f64</code></li>
+<li>tuple - 고정된 값의 시퀀스를 스택에 전달하는 <code>(value, value, ...)</code> 입니다.</li>
+<li>arrays - 컴파일 시점에서 크기가 고정되어 있는 비슷한 요소의 집합으로 <code>[value, value, ...]</code> 입니다.</li>
+<li>slices - 런타임에 길이가 알려진 비슷한 요소의 집합입니다.</li>
+<li><code>str</code>(문자열 슬라이스) - 런타임에 길이가 알려진 텍스트입니다.</li>
+</ul>
+<p>다른 언어에서 사용하는 것보다 텍스트는 더 복잡할 수 있습니다.
+Rust가 시스템 프로그래밍 언어이기 때문에, 기존에 익숙하지 않은 메모리 문제에 대해서도 신경쓰고 있습니다.
+이에 대해서는 나중에 자세히 다룰 예정입니다.</p>
+<p>숫자형은 숫자 끝에 유형을 명시하여 명시적으로 지정할 수 있습니다(예: <code>13u32</code>, <code>2u8</code>).</p>
+            <div class="bottomnav">
+                <span class="back"><a href="08_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="10_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&code=fn%20main()%20%7B%0A%20%20%20%20let%20x%20%3D%2012%3B%20%2F%2F%20by%20default%20this%20is%20i32%0A%20%20%20%20let%20a%20%3D%2012u8%3B%0A%20%20%20%20let%20b%20%3D%204.3%3B%20%2F%2F%20by%20default%20this%20is%20f64%0A%20%20%20%20let%20c%20%3D%204.3f32%3B%0A%20%20%20%20let%20bv%20%3D%20true%3B%0A%20%20%20%20let%20t%20%3D%20(13%2C%20false)%3B%0A%20%20%20%20let%20sentence%20%3D%20%22hello%20world!%22%3B%0A%20%20%20%20println!(%0A%20%20%20%20%20%20%20%20%22%7B%7D%20%7B%7D%20%7B%7D%20%7B%7D%20%7B%7D%20%7B%7D%20%7B%7D%20%7B%7D%22%2C%0A%20%20%20%20%20%20%20%20x%2C%20a%2C%20b%2C%20c%2C%20bv%2C%20t.0%2C%20t.1%2C%20sentence%0A%20%20%20%20)%3B%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/10_ko.html b/public/10_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..6c1a0afee0a4c460bd986a7f7311faa30ee84d0c
--- /dev/null
+++ b/public/10_ko.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>Basic Type Conversion</h1>
+            <p>Rust는 숫자 변수 타입에 대해 알고 있어야하며, <code>u8</code>를 <code>u32</code>로 쉽게 사용할 수 없습니다.</p>
+<p>다행히 Rust는 <strong>as</strong> 키워드를 사용하여 숫자형을 쉽게 변환할 수 있습니다.</p>
+            <div class="bottomnav">
+                <span class="back"><a href="09_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="11_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&code=fn%20main()%20%7B%0A%20%20%20%20let%20a%20%3D%2013u8%3B%0A%20%20%20%20let%20b%20%3D%207u32%3B%0A%20%20%20%20let%20c%20%3D%20a%20as%20u32%20%2B%20b%3B%0A%20%20%20%20println!(%22%7B%7D%22%2C%20c)%3B%0A%0A%20%20%20%20let%20t%20%3D%20true%3B%0A%20%20%20%20println!(%22%7B%7D%22%2C%20t%20as%20u8)%3B%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/11_ko.html b/public/11_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..bde314a0900e60fcb80cdb177ffda89f5f9d7ee0
--- /dev/null
+++ b/public/11_ko.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>Constants</h1>
+            <p>상수는 변수와 달리 곳곳에서 사용되는 공통된 값을 효율적으로 지정하는 데 사용됩니다.</p>
+<p>변수와 같은 곳에서 값이 복사되는 대신, 상수는 컴파일 시간에 사용되는 위치에서 직접 값을 대체합니다.</p>
+<p>변수와 달리, 상수는 항상 명시적인 유형을 가져야 합니다.</p>
+<p>상수 이름은 항상 <code>SCREAMING_SNAKE_CASE</code>로 지정됩니다.</p>
+            <div class="bottomnav">
+                <span class="back"><a href="10_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="12_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&code=const%20PI%3A%20f32%20%3D%203.14159%3B%0A%0Afn%20main()%20%7B%0A%20%20%20%20println!(%0A%20%20%20%20%20%20%20%20%22To%20make%20an%20apple%20%7B%7D%20from%20scratch%2C%20you%20must%20first%20create%20a%20universe.%22%2C%0A%20%20%20%20%20%20%20%20PI%0A%20%20%20%20)%3B%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/12_ko.html b/public/12_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..65501c5018928a9bc929d397d3d08d56b81c40b5
--- /dev/null
+++ b/public/12_ko.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>Arrays</h1>
+            <p><em>배열</em>은 동일한 유형의 데이터 요소들의 <strong>고정된 길이 집합</strong>입니다.</p>
+<p><em>배열</em>의 데이터 유형은 <code>[T;N]</code> 입니다.
+(T는 요소의 유형이고, N은 컴파일 시간에 알려진 고정 길이)</p>
+<p>개별 요소는 <code>[x]</code> 연산자를 사용하여 가져올 수 있습니다.
+여기서 x는 원하는 요소의 <em>usize</em> 인덱스(0부터 시작)입니다.</p>
+<p>가변 길이의 컬렉션, 즉 가변 배열은 나중에 <strong>Vectors</strong>에 대한 챕터에서 소개됩니다.</p>
+            <div class="bottomnav">
+                <span class="back"><a href="11_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="13_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&code=fn%20main()%20%7B%0A%20%20%20%20let%20nums%3A%20%5Bi32%3B%203%5D%20%3D%20%5B1%2C%202%2C%203%5D%3B%0A%20%20%20%20println!(%22%7B%3A%3F%7D%22%2C%20nums)%3B%0A%20%20%20%20println!(%22%7B%7D%22%2C%20nums%5B1%5D)%3B%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/13_ko.html b/public/13_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..630e7b47dd60844f72c7cf309c4d8dccfb7b9a74
--- /dev/null
+++ b/public/13_ko.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>Functions</h1>
+            <p>함수는 매개변수 (parameter)가 없거나 여러 개일 수 있습니다.</p>
+<p>이 예제에서 <em>add</em> 함수는 <code>i32</code>(32비트 길이의 부호 있는 정수)형 두 개의 인수를 취합니다.</p>
+<p><em>subtract</em> 함수에서와 같이 표현식만 반환하려면 <code>return</code> 키워드와 세미콜론을 삭제할 수 있습니다.</p>
+<p>함수 이름은 항상 <code>snake_case</code>로 지정됩니다.</p>
+<p>힌트: 함수를 정의하는 경우, 해당 함수가 수신하는 데이터를 매개변수 (parameter)라고합니다.
+그 함수를 호출하고 데이터를 전달하면 인수(argument)라고합니다.</p>
+            <div class="bottomnav">
+                <span class="back"><a href="12_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="14_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&code=fn%20add(x%3A%20i32%2C%20y%3A%20i32)%20-%3E%20i32%20%7B%0A%20%20%20%20return%20x%20%2B%20y%3B%0A%7D%0A%0Afn%20subtract(x%3A%20i32%2C%20y%3A%20i32)%20-%3E%20i32%20%7B%0A%20%20%20%20x%20-%20y%0A%7D%0A%0Afn%20main()%20%7B%0A%20%20%20%20println!(%2242%20%2B%2013%20%3D%20%7B%7D%22%2C%20add(42%2C%2013))%3B%0A%20%20%20%20println!(%2242%20-%2013%20%3D%20%7B%7D%22%2C%20subtract(42%2C%2013))%3B%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/14_ko.html b/public/14_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..65fc5fc0057234eb37f783a8ead0b577900208e6
--- /dev/null
+++ b/public/14_ko.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>Multiple Return Values</h1>
+            <p>함수는 값의 <strong>튜플</strong>을 반환하여 여러 값을 반환할 수 있습니다.</p>
+<p>튜플 요소는 인덱스 번호를 사용하여 참조할 수 있습니다.</p>
+<p>Rust는 여러 형식의 destructuring을 지원합니다.
+우리는 더 많은 형태로 볼 것이며, 이를 통해 데이터 구조의 하위 요소를 직관적으로 추출할 수 있습니다.</p>
+            <div class="bottomnav">
+                <span class="back"><a href="13_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="15_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&code=fn%20swap(x%3A%20i32%2C%20y%3A%20i32)%20-%3E%20(i32%2C%20i32)%20%7B%0A%20%20%20%20return%20(y%2C%20x)%3B%0A%7D%0A%0Afn%20main()%20%7B%0A%20%20%20%20%2F%2F%20return%20a%20tuple%20of%20return%20values%0A%20%20%20%20let%20result%20%3D%20swap(123%2C%20321)%3B%0A%20%20%20%20println!(%22%7B%7D%20%7B%7D%22%2C%20result.0%2C%20result.1)%3B%0A%0A%20%20%20%20%2F%2F%20destructure%20the%20tuple%20into%20two%20variables%20names%0A%20%20%20%20let%20(a%2C%20b)%20%3D%20swap(result.0%2C%20result.1)%3B%0A%20%20%20%20println!(%22%7B%7D%20%7B%7D%22%2C%20a%2C%20b)%3B%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/15_ko.html b/public/15_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..aaf961a86827e7bfaca2c194793d78b649d338ab
--- /dev/null
+++ b/public/15_ko.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>Returning Nothing</h1>
+            <p>함수에 대해 반환 유형이 지정되어 있지 않으면, <em>unit</em>이라고도 하는 빈 튜플을 반환합니다.</p>
+<p>빈 튜플은 <code>()</code>로 나타낼 수 있습니다.</p>
+<p><code>()</code>을 사용하는 것은 드문 경우이지만 충분히 자주 출현하기 때문에 무슨 일이 일어나는지 알아둘 가치가 있습니다.</p>
+            <div class="bottomnav">
+                <span class="back"><a href="14_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="16_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&code=fn%20make_nothing()%20-%3E%20()%20%7B%0A%20%20%20%20return%20()%3B%0A%7D%0A%0A%2F%2F%20the%20return%20type%20is%20implied%20as%20()%0Afn%20make_nothing2()%20%7B%0A%20%20%20%20%2F%2F%20this%20function%20will%20return%20()%20if%20nothing%20is%20specified%20to%20return%0A%7D%0A%0Afn%20main()%20%7B%0A%20%20%20%20let%20a%20%3D%20make_nothing()%3B%0A%20%20%20%20let%20b%20%3D%20make_nothing2()%3B%0A%0A%20%20%20%20%2F%2F%20Printing%20a%20debug%20string%20for%20a%20and%20b%0A%20%20%20%20%2F%2F%20Because%20it's%20hard%20to%20print%20nothingness%0A%20%20%20%20println!(%22The%20value%20of%20a%3A%20%7B%3A%3F%7D%22%2C%20a)%3B%0A%20%20%20%20println!(%22The%20value%20of%20b%3A%20%7B%3A%3F%7D%22%2C%20b)%3B%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/16_ko.html b/public/16_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..61bc156a1d1e31cc963be7479bed5f75914735a6
--- /dev/null
+++ b/public/16_ko.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>Chapter 1 - 마무리</h1>
+            <p>Rust의 기초는 그렇게 나쁘지 않죠?
+시스템 프로그래밍 언어로서, Rust는 메모리 내 값을 매우 신경쓰며,
+수정이 가능한지 불가능한지 여부, 그리고 수학 연산이 의도한 대로 수행되는지 확인합니다.</p>
+<p>참고:</p>
+<ul>
+<li><a href="https://www.youtube.com/watch?v=n5TRBkbystY">Youtube: Rust Cast - Rust의 기본 숫자 유형에 대한 더 깊은 이해</a></li>
+<li><a href="https://doc.rust-lang.org/1.30.0/book/2018-edition/ch03-02-data-types.html">Website: Rust Book 2018 - 기본 데이터 유형에 대한 자세한 설명</a></li>
+<li><a href="https://cheats.rs/#basic-types">Website: Rust Cheat Sheet - Data Types</a></li>
+</ul>
+            <div class="bottomnav">
+                <span class="back"><a href="15_ko.html" rel="prev">❮ 이전</a></span>
+                
+            </div>
+            </div>
+            <div class="code"><center><img src="/ferris_lofi.png" alt="Mascot Ferris" width="300" height="236"></center></div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/CNAME b/public/CNAME
new file mode 100644
index 0000000000000000000000000000000000000000..21c0f8d0a977363aeda6d682a39b32ba67c3cc17
--- /dev/null
+++ b/public/CNAME
@@ -0,0 +1 @@
+rust-tutorial.site
\ No newline at end of file
diff --git a/public/TOC_ko.html b/public/TOC_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..9df2cbed97cba0dce3f53b0853564fae69dab00b
--- /dev/null
+++ b/public/TOC_ko.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                </span>
+            </div>
+            <div>
+            <h1>강의</h1>
+            <ul>
+        <li><a href="index.html">Hello World!</a></li>
+<li><a href="01_ko.html">Rust 언어 소개</a></li>
+<li><a href="02_ko.html">Rust 언어 소개 cont'd</a></li>
+<li><a href="03_ko.html">Rust 언어 설치</a></li>
+<li><a href="04_ko.html">Chapter 0 - 마무리</a></li>
+</ul><h3><a href="chapter_1_ko.html">Chapter 1 - The Basics</a></h3><ul>
+<li><a href="06_ko.html">The Rust Playground</a></li>
+<li><a href="07_ko.html">변수</a></li>
+<li><a href="08_ko.html">변수 업데이트</a></li>
+<li><a href="09_ko.html">기본 타입</a></li>
+<li><a href="10_ko.html">Basic Type Conversion</a></li>
+<li><a href="11_ko.html">Constants</a></li>
+<li><a href="12_ko.html">Arrays</a></li>
+<li><a href="13_ko.html">Functions</a></li>
+<li><a href="14_ko.html">Multiple Return Values</a></li>
+<li><a href="15_ko.html">Returning Nothing</a></li>
+<li><a href="16_ko.html">Chapter 1 - 마무리</a></li>
+            </ul>
+            </div>
+        </div>
+    </body>
+    </html>
\ No newline at end of file
diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png
new file mode 100644
index 0000000000000000000000000000000000000000..91a91e5b91d99837d09eab8fda11c6a425827abc
Binary files /dev/null and b/public/android-chrome-192x192.png differ
diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png
new file mode 100644
index 0000000000000000000000000000000000000000..cb9d4fb94935bd9a18c27657b17d5eafa16af8b6
Binary files /dev/null and b/public/android-chrome-512x512.png differ
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..86c44b9e244e2cfa6126a957e07dd2af6641dec2
Binary files /dev/null and b/public/apple-touch-icon.png differ
diff --git a/public/chapter_1_ko.html b/public/chapter_1_ko.html
new file mode 100644
index 0000000000000000000000000000000000000000..3b8105f1f784523744da12419f95dea1a4a9d46b
--- /dev/null
+++ b/public/chapter_1_ko.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>Chapter 1 - The Basics</h1>
+            <p>무슨 언어를 배우든 똑같이 기본부터 살펴보겠습니다. (변수, 함수, 클래스 등)</p>
+<p>Rust 언어 비공식이지만 거의 흔하게 쓰이는 마스코트, 게(crab)의 이름은 <strong>Ferris</strong> 입니다.</p>
+<pre><code>let ferris = crab!()</code></pre>
+<p>또한 Rust를 사용하거나, 기여하거나 관심이 있는 사람들을 <strong>Rustacean</strong>[러스테이션] 라고 부릅니다.</p>
+            <div class="bottomnav">
+                <span class="back"><a href="04_ko.html" rel="prev">❮ 이전</a></span>
+                <span class="next"><a href="06_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code"><center><img src="/ferris_lofi.png" alt="Mascot Ferris" width="300" height="236"></center></div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/cover.jpg b/public/cover.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..def4d3c1e905850bb7d13fe1a5307b82d052b479
Binary files /dev/null and b/public/cover.jpg differ
diff --git a/public/divider-line.svg b/public/divider-line.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e6a33edcf766ee35bb3b4a403e8d1f32dd2cc183
--- /dev/null
+++ b/public/divider-line.svg
@@ -0,0 +1,18 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200">
+    <g fill="none" fill-rule="evenodd">
+        <path fill="#777" fill-rule="nonzero" d="M5 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm27 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm27 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"/>
+        <path fill="#333" d="M0 20h64v3H0z"/>
+        <path fill-rule="nonzero" stroke="#333" stroke-linecap="square" d="M0 48l7.999-8 8 8 8-8 8 8 8-8 8 8 8-8 8 8" opacity=".5"/>
+        <path fill="#555" d="M0 121h200v1H0z"/>
+        <path fill-rule="nonzero" stroke="#DDD" stroke-linecap="square" d="M0 141.5h200"/>
+        <path fill="#D0D0D0" d="M0 169h200v1H0z"/>
+        <path fill="#FFF" stroke="#D0D0D0" d="M100.516 161.517l-7.983 7.983 7.983 7.983 7.983-7.983-7.983-7.983z"/>
+        <g transform="translate(0 185)">
+            <path fill="#D0D0D0" d="M0 4h85v1H0zM116 4h84v1h-84z"/>
+            <circle cx="100.5" cy="4.5" r="4" fill="#FFF" stroke="#D0D0D0"/>
+        </g>
+        <g fill="#333" opacity=".3">
+            <path d="M0 60h2v60H0z"/>
+        </g>
+    </g>
+</svg>
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..423bb3489e343723942f795fb70b8ff399e6af95
Binary files /dev/null and b/public/favicon-16x16.png differ
diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..437843f91896b71e8484c11da91bfa520eca38be
Binary files /dev/null and b/public/favicon-32x32.png differ
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..e1129b594fe7864d7dcbf0a3c2533e4f5cf80dd8
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/public/ferris.png b/public/ferris.png
new file mode 100644
index 0000000000000000000000000000000000000000..16402a27b198e75d99bfe179ef77222172cade57
Binary files /dev/null and b/public/ferris.png differ
diff --git a/public/ferris_lofi.png b/public/ferris_lofi.png
new file mode 100644
index 0000000000000000000000000000000000000000..fc03a2b352deb3be4f76af85e89e84b18e641bbf
Binary files /dev/null and b/public/ferris_lofi.png differ
diff --git a/public/index.html b/public/index.html
index 91bafa15b3bd774bae4ca4a7bf36668b6b102a50..2a5838f46e875d03dc7870dfa22b61a333030953 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,11 +1,70 @@
 <!DOCTYPE html>
-<html lang="ko">
-  <head>
-	<meta charset="UTF-8">
-	  <title>Hwanyong Lee</title>
-  <link href="style.css" rel="stylesheet" type="text/css">
-  </head>
-<body>
-<h2> Test Page for RUST-STUDY
-</body>
-</html>
+    <html lang="ko">
+    <head>
+        <title>Rust 튜토리얼 - 자기주도프로젝트</title>
+
+        <meta charset="UTF-8">
+        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+        <meta content="utf-8" http-equiv="encoding">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="keywords" content="Rust, Programming, Learning">
+        <meta name="description" content="Rust tutorial website based on tour_of_rust">
+        <meta name="theme-color" content="#ff6801"/>
+        <meta http-equiv="Cache-Control" content="max-age=3600">
+        
+        <link rel="stylesheet" href="tour.css">
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
+        <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
+
+        <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+        <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+        <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+        <link rel="manifest" href="./site.webmanifest">
+
+        <script src="./tour.js" defer></script>
+        <script>hljs.highlightAll();</script>
+    </head>
+    <body>
+        <div class="tour">
+            <div class="header">
+                <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
+                <span class="nav">
+                <span class="toc"><a href="TOC_ko.html">목차</a></span>
+            </div>
+            <div class="page">
+            <h1>Hello World!</h1>
+            <p><img src="/intro.webp" alt="Welcome to Rust" style="width: 100%; margin-bottom: 20px; border-radius: 10px;"></p>
+<p><strong>자기주도프로젝트 🎉</strong></p>
+<p>안녕하세요. 자기주도프로젝트 Rust 튜토리얼 영상을 위한 웹사이트입니다.</p>
+<p>이 튜토리얼은 <code>프로그래밍 기초 지식이 있는 분들을 타겟</code>으로 만들었습니다. (C &amp; Python)</p>
+<p>키보드 <span class="emoji">⬅️</span>/<span class="emoji">➡️</span> 버튼으로 페이지를 이동할 수 있습니다.</p>
+<p>질문이 있다면 <code>exe@ajou.ac.kr</code> 로 메일 남겨주세요.</p>
+<ul>
+<li>Rust 언어 소개</li>
+<li>Rust 언어 기본 문법</li>
+<li>Rust 언어 고급 (비동기, Unsafe, 매크로 등)</li>
+<li>Rust 언어 간단한 유저 라이브러리 제작 및 업로드</li>
+<li>Rust 언어로 Python 언어 라이브러리 제작</li>
+<li>Rust 언어 웹 프레임워크를 이용한 카카오톡 챗봇 서버 제작</li>
+</ul>
+            <div class="bottomnav">
+                
+                <span class="next"><a href="01_ko.html" rel="next">다음 ❯</a></span>
+            </div>
+            </div>
+            <div class="code">
+            <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&code=%2F%2F%20C-family%20%EC%96%B8%EC%96%B4%2C%20%EB%A9%94%EC%9D%B8%20%ED%95%A8%EC%88%98%EC%97%90%EC%84%9C%20%EC%8B%9C%EC%9E%91%ED%95%A8%0Afn%20main()%20%7B%0A%20%20%20%20println!(%22Hello%20%EB%9F%AC%EC%8A%A4%ED%8A%B8%F0%9F%A6%80%22)%3B%20%2F%2F%20%EC%A3%BC%EC%84%9D%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
+            </div>
+        </div>
+        <!-- <script>
+          document.addEventListener("DOMContentLoaded", function() {
+            // Select the widget's text element using its XPath
+            const xpath = '/html/body/main/div/div/div[1]/div[1]/div/button[1]/div';
+            const widgetText = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+
+            // Change the text content of the element
+            widgetText.textContent = "New Text";
+          });
+        </script> -->
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/intro.png b/public/intro.png
new file mode 100644
index 0000000000000000000000000000000000000000..5d6a69a68cda04e59391e8b09545b1288df9d34c
Binary files /dev/null and b/public/intro.png differ
diff --git a/public/intro.webp b/public/intro.webp
new file mode 100644
index 0000000000000000000000000000000000000000..389ff896508c3e08dd5566b579b258f75687cf14
Binary files /dev/null and b/public/intro.webp differ
diff --git a/public/site.webmanifest b/public/site.webmanifest
new file mode 100644
index 0000000000000000000000000000000000000000..a53dbeb83d56db5913baf5f89e1083045ee0139b
--- /dev/null
+++ b/public/site.webmanifest
@@ -0,0 +1,21 @@
+{
+    "name": "Rust 튜토리얼",
+    "short_name": "Rust 튜토리얼",
+    "start_url": ".",
+    "description": "Rust 언어 튜토리얼",
+    "icons": [
+        {
+            "src": "/android-chrome-192x192.png",
+            "sizes": "192x192",
+            "type": "image/png"
+        },
+        {
+            "src": "/android-chrome-512x512.png",
+            "sizes": "512x512",
+            "type": "image/png"
+        }
+    ],
+    "theme_color": "#ff6801",
+    "background_color": "#ffffff",
+    "display": "standalone"
+}
\ No newline at end of file
diff --git a/public/sitemap.xml b/public/sitemap.xml
new file mode 100644
index 0000000000000000000000000000000000000000..19e68f251c8dc16911644953b58a1c6ebebca729
--- /dev/null
+++ b/public/sitemap.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<urlset
+  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
+  <!-- created with Free Online Sitemap Generator www.xml-sitemaps.com -->
+
+
+  <url>
+    <loc>http://rust-tutorial.site/</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>1.00</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/index.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.80</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/TOC_en.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.80</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/01.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.80</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/02.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/03.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/04.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/chapter_1.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/06.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/07.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/08.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/09.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/10.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/11.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/12.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/13.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/14.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/15.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+  <url>
+    <loc>http://rust-tutorial.site/16.html</loc>
+    <lastmod>2023-03-09T14:17:29+00:00</lastmod>
+    <priority>0.64</priority>
+  </url>
+
+
+</urlset>
\ No newline at end of file
diff --git a/public/social.jpg b/public/social.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..512df15ad7eeff108ad55f4a9bf19dfc22186108
Binary files /dev/null and b/public/social.jpg differ
diff --git a/public/tour.css b/public/tour.css
new file mode 100644
index 0000000000000000000000000000000000000000..98fb9e44b6c6e5064821360373fd3ceed98d4ab2
--- /dev/null
+++ b/public/tour.css
@@ -0,0 +1,483 @@
+a {
+  color: #1e90ff;
+  text-decoration: none;
+  font-weight: bold;
+}
+
+a:focus {
+  outline: none;
+}
+
+div.page img {
+  max-height: 100%;
+  max-width: calc(100%);
+}
+
+/* TODO: HOW TO CHANGE FONT SIZE IN EMBEDDED */
+/* .GtOBiXh6TX6MRcPpfiv5 {
+  http://code.stephenmorley.org/html-and-css/fixing-browsers-broken-monospace-font-handling/
+  ACE uses Monaco, Menlo, "Ubuntu Mono", Consolas, source-code-pro, monospace;
+   
+  font-family: "Source Code Pro", monospace;
+  font-size: 1.2em;
+} */
+
+s {
+  color: #999;
+  opacity: 0.7;
+}
+
+hr {
+  border: none;
+  font-size: 0;
+  line-height: 0;
+  height: 20px;
+  margin: 20px auto;
+  background: url(/divider-line.svg);
+  background-size: 200px 200px;
+  cursor: pointer !important;
+  background-position: 0 -160px;
+  background-repeat: no-repeat;
+  width: 200px;
+}
+
+blockquote {
+  font-style: italic;
+  font-size: 1.2em;
+  margin: 20px 0;
+  padding: 10px;
+  border-left: 5px solid #ff6801;
+  background-color: #efefef;
+  margin-block-start: 1em;
+  margin-block-end: 1em;
+  margin-inline-start: 40px;
+  margin-inline-end: 40px;
+}
+
+code {
+  font-family: Consolas, monospace;
+  font-size: 1.1em;
+  font-weight: 500;
+  padding: 0.3em;
+  margin: 0.5em 0;
+  border-radius: 4px;
+  background-color: #ffd2b3;
+  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);
+  line-height: 1.5;
+  color: #333;
+}
+
+.title a {
+  text-decoration: none;
+  color: #120b12;
+  font-size: 34px;
+  line-height: 34px;
+  font-display: optional;
+}
+
+.emoji {
+  font-family: apple color emoji, segoe ui emoji, noto color emoji,
+    android emoji, emojisymbols, emojione mozilla, twemoji mozilla,
+    segoe ui symbol;
+}
+
+h1,
+p,
+pre {
+  margin-left: 40px;
+  margin-right: 40px;
+}
+
+.page p,
+.page pre {
+  font-size: 22px;
+  line-height: 30px;
+}
+
+.header {
+  height: 40px;
+  padding: 4px;
+  line-height: 40px;
+  font-size: 28px;
+  line-height: 28px;
+  font-weight: bold;
+  color: white;
+  padding-left: 30px;
+  background-color: #ff6801;
+  box-shadow: 0 2px 3px #cf3801;
+  grid-column: span 2;
+}
+
+.header a {
+  color: white !important;
+}
+
+html,
+body {
+  padding: 0px;
+  margin: 0px;
+  /* font-family: "NanumGothic", serif; */
+  color: #333;
+}
+
+.tour {
+  display: grid;
+  grid-template-columns: 1fr 1fr;
+}
+
+.next a,
+.back a {
+  color: #120b12;
+}
+
+.nav {
+  float: right;
+  padding-right: 10px;
+}
+
+iframe {
+  border-radius: 10px;
+}
+
+.page {
+  /* font-family: "IBM Plex Serif", serif; */
+  overflow-y: auto;
+  -webkit-animation: fadein 0.5s;
+  /* Safari, Chrome and Opera > 12.1 */
+  -moz-animation: fadein 0.5s;
+  /* Firefox < 16 */
+  -ms-animation: fadein 0.5s;
+  /* Internet Explorer */
+  -o-animation: fadein 0.5s;
+  /* Opera < 12.1 */
+  animation: fadein 0.5s;
+  min-height: 50vh;
+}
+
+/* code {
+  display: inline;
+  background: #444;
+  color: white;
+  padding-left: 5px;
+  padding-right: 5px;
+  padding-bottom: 3px;
+  margin-right: 3px;
+  margin-left: 3px;
+} */
+li {
+  list-style-type: none;
+  padding-left: 1em;
+}
+
+li::before {
+  content: ">";
+  color: #333;
+  font-size: 1.2em;
+  font-weight: 900;
+  /* Use a higher font weight */
+  display: inline-block;
+  width: 1em;
+  margin-left: -1em;
+}
+
+li {
+  padding-top: 10px;
+  padding-bottom: 3px;
+}
+
+.nav span {
+  padding-left: 10px;
+}
+
+.toc a {
+  color: #120b12;
+}
+
+ul,
+ol,
+h3 {
+  margin-left: 40px;
+  margin-right: 40px;
+}
+
+.bottomnav {
+  padding-top: 20px;
+  text-align: center;
+  font-size: 42px;
+}
+
+.bottomnav a {
+  text-decoration: none;
+  color: #666;
+  font-weight: 100;
+  font-size: 20px;
+}
+
+.bottomnav .back {
+  float: left;
+  padding-left: 40px;
+}
+
+.bottomnav .next {
+  float: right;
+  padding-right: 40px;
+}
+
+body.welcome-cover {
+  background: url(cover.jpg) no-repeat center center fixed;
+  -webkit-background-size: cover;
+  -moz-background-size: cover;
+  -o-background-size: cover;
+  background-size: cover;
+  text-align: center;
+}
+
+.welcome {
+  font-size: 40;
+  top: 50%;
+  width: 100%;
+  position: absolute;
+  text-shadow: 2px 2px black;
+  font-weight: bold;
+  color: white;
+
+  -webkit-animation: fadein 2s;
+  /* Safari, Chrome and Opera > 12.1 */
+  -moz-animation: fadein 2s;
+  /* Firefox < 16 */
+  -ms-animation: fadein 2s;
+  /* Internet Explorer */
+  -o-animation: fadein 2s;
+  /* Opera < 12.1 */
+  animation: fadein 2s;
+}
+
+@keyframes fadein {
+  from {
+    opacity: 0;
+  }
+
+  to {
+    opacity: 1;
+  }
+}
+
+/* Firefox < 16 */
+@-moz-keyframes fadein {
+  from {
+    opacity: 0;
+  }
+
+  to {
+    opacity: 1;
+  }
+}
+
+/* Safari, Chrome and Opera > 12.1 */
+@-webkit-keyframes fadein {
+  from {
+    opacity: 0;
+  }
+
+  to {
+    opacity: 1;
+  }
+}
+
+/* Internet Explorer */
+@-ms-keyframes fadein {
+  from {
+    opacity: 0;
+  }
+
+  to {
+    opacity: 1;
+  }
+}
+
+/* Opera < 12.1 */
+@-o-keyframes fadein {
+  from {
+    opacity: 0;
+  }
+
+  to {
+    opacity: 1;
+  }
+}
+
+.welcome a {
+  font-size: 40px;
+  color: white;
+  text-shadow: 4px 2px black;
+  line-height: 80px;
+  font-weight: bold;
+  text-decoration: none;
+}
+
+.welcome a {
+  font-size: 120;
+}
+
+.welcome-instruction {
+  text-shadow: 2px 1px black;
+  padding-top: 10px;
+  font-size: 30px;
+  text-decoration: underline;
+}
+
+ul {
+  font-size: 22px;
+  line-height: 36px;
+}
+
+.mobile-ferris {
+  display: none;
+}
+
+.page h1 {
+  font-size: 26px;
+}
+
+.code {
+  padding-top: 60px;
+  padding-right: 20px;
+}
+
+iframe {
+  position: sticky;
+  top: 20px;
+  height: max(80vh, 500px);
+}
+
+.page {
+  padding-bottom: 60px;
+}
+
+@media screen and (max-width: 600px) {
+  .tour {
+    display: block;
+  }
+
+  .code {
+    font-size: 14px;
+    padding-right: 0;
+  }
+
+  .header {
+    font-size: 20px;
+    padding-left: 7px;
+    padding-right: 7px;
+    line-height: 40px;
+    grid-column: unset;
+  }
+
+  iframe {
+    position: unset;
+    top: unset;
+    height: 80vh;
+    border-radius: 0;
+  }
+
+  .title a {
+    font-size: 28px;
+    line-height: 40px;
+  }
+
+  .page p,
+  h1,
+  pre {
+    margin-left: 20px;
+    margin-right: 20px;
+  }
+
+  .page h1 {
+    font-size: 26px;
+  }
+
+  .page p,
+  .page pre {
+    font-size: 22px;
+    line-height: 30px;
+  }
+
+  .page {
+    padding-bottom: 0px;
+  }
+
+  ul,
+  ol,
+  h3 {
+    margin-left: 0px;
+    margin-right: 20px;
+  }
+
+  .nav span {
+    padding-left: 5px;
+  }
+
+  .nav {
+    padding-right: 0px;
+    letter-spacing: -0.6px;
+  }
+
+  .bottomnav a {
+    font-size: 22px;
+  }
+
+  .bottomnav .back {
+    padding-left: 20px;
+  }
+
+  .bottomnav .next {
+    padding-right: 20px;
+  }
+
+  .welcome {
+    font-size: 24px;
+  }
+
+  .welcome a {
+    font-size: 40px;
+    line-height: 40px;
+  }
+
+  .welcome a {
+    font-size: 50;
+    text-shadow: 2px 2px black;
+  }
+
+  .welcome-instruction {
+    padding-top: 10px;
+    font-size: 30px;
+  }
+
+  .mobile-ferris {
+    display: block;
+    top: 20%;
+    left: 50%;
+    margin-left: -75px;
+    position: absolute;
+    width: 150px;
+    -webkit-animation: fadein 2s;
+    /* Safari, Chrome and Opera > 12.1 */
+    -moz-animation: fadein 2s;
+    /* Firefox < 16 */
+    -ms-animation: fadein 2s;
+    /* Internet Explorer */
+    -o-animation: fadein 2s;
+    /* Opera < 12.1 */
+    animation: fadein 2s;
+  }
+}
+
+b,
+h1 {
+  color: black;
+}
+
+.header:fullscreen,
+.header:-webkit-full-screen,
+.header:moz-full-screen {
+  display: none;
+}
diff --git a/public/tour.js b/public/tour.js
new file mode 100644
index 0000000000000000000000000000000000000000..cd02bcddab693739b392cc6b6372da45eac69b96
--- /dev/null
+++ b/public/tour.js
@@ -0,0 +1,78 @@
+const setupKeys = () => {
+  // Mobile swipe left/right
+  let xDown = null;
+  let yDown = null;
+
+  const handleTouchStart = e => {
+    xDown = e.touches[0].clientX;
+    yDown = e.touches[0].clientY;
+  };
+
+  const handleTouchMove = e => {
+    if (!xDown || !yDown) {
+      return;
+    }
+
+    const xUp = e.touches[0].clientX;
+    const yUp = e.touches[0].clientY;
+
+    const xDiff = xDown - xUp;
+    const yDiff = yDown - yUp;
+
+    if (Math.abs(xDiff) > Math.abs(yDiff)) {
+      if (xDiff > 0) {
+        const link = document.querySelector(".next a");
+        if (link) {
+          link.click();
+        }
+      } else {
+        const link = document.querySelector(".back a");
+        if (link) {
+          link.click();
+        }
+      }
+    }
+
+    xDown = null;
+    yDown = null;
+  };
+
+  document.addEventListener("touchstart", handleTouchStart, false);
+  document.addEventListener("touchmove", handleTouchMove, false);
+
+  // PC
+  document.body.addEventListener("keyup", e => {
+    if (e.ctrlKey || e.altKey || e.metaKey || e.shiftKey) {
+      return;
+    }
+    let link;
+    if (e.key === "Right" || e.key === "ArrowRight") {
+      link = document.querySelector(".next a");
+    }
+    if (e.key === "Left" || e.key === "ArrowLeft") {
+      link = document.querySelector(".back a");
+    }
+    if (link) {
+      link.click();
+    }
+  });
+};
+
+// in iframe, should not be same
+const iframeElement = document.querySelector("iframe");
+if (iframeElement) {
+  setupKeys();
+  iframeElement.addEventListener("load", () => {
+    setTimeout(() => {
+      document.querySelector("a").focus();
+      setupKeys();
+    }, 100);
+    setTimeout(() => {
+      document.querySelector("a").focus();
+      setupKeys();
+    }, 1000);
+    setupKeys();
+  });
+} else {
+  setupKeys();
+}
diff --git a/public/webassembly/ferris.png b/public/webassembly/ferris.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa661074948f4f11983988f6d0d36b9e572cdbae
Binary files /dev/null and b/public/webassembly/ferris.png differ
diff --git a/public/webassembly/tour.css b/public/webassembly/tour.css
new file mode 100644
index 0000000000000000000000000000000000000000..063a6c4ebe3f7b064394047bb17fe843aeb0c212
--- /dev/null
+++ b/public/webassembly/tour.css
@@ -0,0 +1,199 @@
+body {
+    background: rgb(28, 32, 34);;
+    color: white;
+}
+
+.page {
+    width: 50%;
+    display: inline-block;
+    float: left;
+}
+
+
+a {
+ color: #aaa;   
+ outline: none;
+}
+
+.title a {
+    text-decoration: none;
+    color: white;
+}
+
+.emoji {
+    font-family: apple color emoji,segoe ui emoji,noto color emoji,android emoji,emojisymbols,emojione mozilla,twemoji mozilla,segoe ui symbol;
+}
+
+h1, p, pre{
+    margin-left: 40px;
+    margin-right: 40px;
+}
+
+.page p, .page pre {
+    font-size: 22px;
+}
+
+.code {
+    width:50%;
+    display:inline-block;
+}
+
+.header {
+    background-color: rgb(101, 79, 240);
+    height: 40px;
+    padding: 4px;
+    line-height: 40px;
+    font-size: 28px;
+    font-weight: bold;
+    color: white;
+    padding-left: 10px;
+}
+
+html, body {
+    padding:0px;
+    margin: 0px;
+    font-family: 'Fira Sans', sans-serif;
+    color: #ccc;
+}
+
+.next a, .back a{
+    color: white;
+}
+
+.nav {
+    float:right;
+    padding-right: 10px;
+}
+
+.code iframe, .page {
+    height: calc(100% - 48px);
+    height: -webkit-cal(100% - 48px);
+}
+
+.page {
+    overflow-y: auto;
+}
+
+
+code {
+    display: inline;
+    background: #bbb;
+    color: black;
+    padding-left: 5px;
+    padding-right: 5px;
+    margin-right: 3px;
+    
+    margin-left: 3px;
+}
+
+li {
+    padding-top: 3px;
+    padding-bottom: 3px;
+}
+
+.nav span {
+    padding-left: 10px;
+}
+
+.toc a{
+    color: white;
+} 
+
+
+ul, ol, h3 {
+    margin-left: 40px;
+    margin-right: 40px;
+}
+
+.bottomnav {
+    padding-top: 20px;
+    text-align: center;
+    font-size: 42px;
+}
+
+.bottomnav a {
+    text-decoration: none;
+    color: #999;
+    font-weight: 100;
+    font-size: 20px;
+}
+
+.bottomnav .back {
+    float:left;
+    padding-left: 40px;
+}
+
+.bottomnav .next {
+    float:right;
+    padding-right: 40px;
+}
+
+@media screen and (max-width: 600px) {
+    .code, .page {
+        width: 100%;
+        display: block;
+        height: auto;
+        padding-bottom: 40px;
+    }
+
+    .code {
+        margin-bottom: 40px;
+    }
+
+    .code iframe{
+        height: 100%;
+    }
+
+    .header {
+        font-size: 12px;
+        padding-left: 7PX;
+        padding-right: 7px;    
+    }
+
+    .title {
+        font-size: 18px;
+    }
+
+    .page p, h1, pre {
+        margin-left: 20px;
+        margin-right: 20px;
+    }
+
+    .page h1 {
+        font-size: 20px;
+    }
+
+    .page p, .page pre {
+        font-size: 16px;
+    }
+
+    ul,ol, h3 {
+        margin-left: 20px;
+        margin-right: 20px;
+    }
+    
+    .nav span {
+        padding-left: 5px;
+    }
+
+    .nav {
+        padding-right: 0px;
+        letter-spacing: -.6px;
+    }
+
+    .bottomnav a {
+        font-size: 14px;
+    }
+    
+    .bottomnav .back {
+        padding-left: 20px;
+    }
+    
+    .bottomnav .next {
+        padding-right: 20px;
+    }
+}
+
+b, h1 {
+    color: white;
+}