<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>거북이처럼 코딩해도 괜찮으려나</title>
    <link>https://coding-turtle.tistory.com/</link>
    <description>코딩 일상</description>
    <language>ko</language>
    <pubDate>Wed, 20 May 2026 19:22:15 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Hoooon22_코딩거북이_</managingEditor>
    <image>
      <title>거북이처럼 코딩해도 괜찮으려나</title>
      <url>https://tistory1.daumcdn.net/tistory/3852417/attach/e56453dc0883424ba6982b5fd1bbd1f1</url>
      <link>https://coding-turtle.tistory.com</link>
    </image>
    <item>
      <title>Move to Notion</title>
      <link>https://coding-turtle.tistory.com/158</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이후, 글은 노션에 작성 중..&lt;/p&gt;</description>
      <author>Hoooon22_코딩거북이_</author>
      <guid isPermaLink="true">https://coding-turtle.tistory.com/158</guid>
      <comments>https://coding-turtle.tistory.com/158#entry158comment</comments>
      <pubDate>Wed, 8 Jun 2022 18:53:59 +0900</pubDate>
    </item>
    <item>
      <title>20220517_TIL</title>
      <link>https://coding-turtle.tistory.com/152</link>
      <description>&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Today I Learn&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;1. 컴퓨터네트워크 복습&lt;br /&gt;- Network layer: overview&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://coding-turtle.tistory.com/142&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://coding-turtle.tistory.com/142&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1652782599917&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;컴퓨터네트워크 - 4.1 Network layer: overview&quot; data-og-description=&quot;수업 일자 : 2022/05/03 (화) Network layer는 data plane, control plane이 있음 Network-layer service and protocols 전송 세그먼트를 전송에서 수신 호스트로 sender : 세그먼트를 데이터그램으로 캡슐화하고..&quot; data-og-host=&quot;coding-turtle.tistory.com&quot; data-og-source-url=&quot;https://coding-turtle.tistory.com/142&quot; data-og-url=&quot;https://coding-turtle.tistory.com/142&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/m6RZZ/hyOrdJnKNP/VTg1lew6bhob1n1qicD59K/img.png?width=572&amp;amp;height=270&amp;amp;face=0_0_572_270,https://scrap.kakaocdn.net/dn/gsUeh/hyOrlm7SLp/tLzTO1RbpmHeViIVXnU2d0/img.png?width=572&amp;amp;height=270&amp;amp;face=0_0_572_270,https://scrap.kakaocdn.net/dn/caRMjS/hyOrnZvZ72/0oZ9Nay7p3UJkfBWXGTqEk/img.jpg?width=640&amp;amp;height=640&amp;amp;face=0_0_640_640&quot;&gt;&lt;a href=&quot;https://coding-turtle.tistory.com/142&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://coding-turtle.tistory.com/142&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/m6RZZ/hyOrdJnKNP/VTg1lew6bhob1n1qicD59K/img.png?width=572&amp;amp;height=270&amp;amp;face=0_0_572_270,https://scrap.kakaocdn.net/dn/gsUeh/hyOrlm7SLp/tLzTO1RbpmHeViIVXnU2d0/img.png?width=572&amp;amp;height=270&amp;amp;face=0_0_572_270,https://scrap.kakaocdn.net/dn/caRMjS/hyOrnZvZ72/0oZ9Nay7p3UJkfBWXGTqEk/img.jpg?width=640&amp;amp;height=640&amp;amp;face=0_0_640_640');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;컴퓨터네트워크 - 4.1 Network layer: overview&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;수업 일자 : 2022/05/03 (화) Network layer는 data plane, control plane이 있음 Network-layer service and protocols 전송 세그먼트를 전송에서 수신 호스트로 sender : 세그먼트를 데이터그램으로 캡슐화하고..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;coding-turtle.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TIL</category>
      <author>Hoooon22_코딩거북이_</author>
      <guid isPermaLink="true">https://coding-turtle.tistory.com/152</guid>
      <comments>https://coding-turtle.tistory.com/152#entry152comment</comments>
      <pubDate>Tue, 17 May 2022 19:17:10 +0900</pubDate>
    </item>
    <item>
      <title>20220516_TIL</title>
      <link>https://coding-turtle.tistory.com/150</link>
      <description>&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Today I Learn&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;1. 형식언어 복습&lt;br /&gt;- LEX&lt;br /&gt;2. 컴퓨터보안 수업&lt;br /&gt;- Web Security&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://coding-turtle.tistory.com/144&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://coding-turtle.tistory.com/144&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1652779287336&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;형식언어 - 어휘분석기의 구현&quot; data-og-description=&quot;수업 일자 : 2022/05/06 4.3 어휘분석기의 구현 어휘분석기의 설계방법 기존 프로그래밍 언어를 사용하여 어휘 분석기를 프로그래밍(Programming) EX와 같은 컴파일러 생성 도구를 사용하여 어휘 분석기&quot; data-og-host=&quot;coding-turtle.tistory.com&quot; data-og-source-url=&quot;https://coding-turtle.tistory.com/144&quot; data-og-url=&quot;https://coding-turtle.tistory.com/144&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/DPmIY/hyOrcjkqGl/bb4Kg0l0kGjm0UfUuiX5W1/img.png?width=800&amp;amp;height=180&amp;amp;face=0_0_800_180,https://scrap.kakaocdn.net/dn/rlgte/hyOrpprRq2/uJhvHAfKfwncF60tRkXknK/img.png?width=800&amp;amp;height=180&amp;amp;face=0_0_800_180,https://scrap.kakaocdn.net/dn/cIFhpu/hyOrl1DIuJ/gWSzsopfFsMEuBUf2XZccK/img.png?width=1080&amp;amp;height=404&amp;amp;face=0_0_1080_404&quot;&gt;&lt;a href=&quot;https://coding-turtle.tistory.com/144&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://coding-turtle.tistory.com/144&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/DPmIY/hyOrcjkqGl/bb4Kg0l0kGjm0UfUuiX5W1/img.png?width=800&amp;amp;height=180&amp;amp;face=0_0_800_180,https://scrap.kakaocdn.net/dn/rlgte/hyOrpprRq2/uJhvHAfKfwncF60tRkXknK/img.png?width=800&amp;amp;height=180&amp;amp;face=0_0_800_180,https://scrap.kakaocdn.net/dn/cIFhpu/hyOrl1DIuJ/gWSzsopfFsMEuBUf2XZccK/img.png?width=1080&amp;amp;height=404&amp;amp;face=0_0_1080_404');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;형식언어 - 어휘분석기의 구현&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;수업 일자 : 2022/05/06 4.3 어휘분석기의 구현 어휘분석기의 설계방법 기존 프로그래밍 언어를 사용하여 어휘 분석기를 프로그래밍(Programming) EX와 같은 컴파일러 생성 도구를 사용하여 어휘 분석기&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;coding-turtle.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://coding-turtle.tistory.com/149&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://coding-turtle.tistory.com/149&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1652779323897&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;컴퓨터 보안 - Web Security&quot; data-og-description=&quot;수업 일자 : 2022/05/16 HTTP (HyperText Transfer Protocol) stateless protocol HTML (Hypertext markup language) Web Client Server Model Phishing 중요한 정보를 부정하게 획득하기 위해 만들어진 위조 웹..&quot; data-og-host=&quot;coding-turtle.tistory.com&quot; data-og-source-url=&quot;https://coding-turtle.tistory.com/149&quot; data-og-url=&quot;https://coding-turtle.tistory.com/149&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/e88hw/hyOroRBAyc/KLzKBu8dUkmLkkuff5BfV0/img.png?width=800&amp;amp;height=538&amp;amp;face=0_0_800_538,https://scrap.kakaocdn.net/dn/JfM77/hyOrbY2jyt/KIPDO6ZwxFkwtCh0DngfoK/img.png?width=800&amp;amp;height=538&amp;amp;face=0_0_800_538,https://scrap.kakaocdn.net/dn/cVrKBs/hyOroqxkWA/kowS1XTE2pAkxEkWvvPv0k/img.jpg?width=640&amp;amp;height=640&amp;amp;face=0_0_640_640&quot;&gt;&lt;a href=&quot;https://coding-turtle.tistory.com/149&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://coding-turtle.tistory.com/149&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/e88hw/hyOroRBAyc/KLzKBu8dUkmLkkuff5BfV0/img.png?width=800&amp;amp;height=538&amp;amp;face=0_0_800_538,https://scrap.kakaocdn.net/dn/JfM77/hyOrbY2jyt/KIPDO6ZwxFkwtCh0DngfoK/img.png?width=800&amp;amp;height=538&amp;amp;face=0_0_800_538,https://scrap.kakaocdn.net/dn/cVrKBs/hyOroqxkWA/kowS1XTE2pAkxEkWvvPv0k/img.jpg?width=640&amp;amp;height=640&amp;amp;face=0_0_640_640');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;컴퓨터 보안 - Web Security&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;수업 일자 : 2022/05/16 HTTP (HyperText Transfer Protocol) stateless protocol HTML (Hypertext markup language) Web Client Server Model Phishing 중요한 정보를 부정하게 획득하기 위해 만들어진 위조 웹..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;coding-turtle.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TIL</category>
      <author>Hoooon22_코딩거북이_</author>
      <guid isPermaLink="true">https://coding-turtle.tistory.com/150</guid>
      <comments>https://coding-turtle.tistory.com/150#entry150comment</comments>
      <pubDate>Tue, 17 May 2022 18:22:09 +0900</pubDate>
    </item>
    <item>
      <title>컴퓨터 보안 - Web Security</title>
      <link>https://coding-turtle.tistory.com/149</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;수업 일자 : 2022/05/16&lt;/blockquote&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;HTTP (HyperText Transfer Protocol)&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;stateless protocol&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;HTML (Hypertext markup language)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Web Client Server Model&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-05-16 오후 1.20.59.png&quot; data-origin-width=&quot;1470&quot; data-origin-height=&quot;990&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UQ5ow/btrCdHDBrYA/8JbBYPJ188Cj0oTpn5oIE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UQ5ow/btrCdHDBrYA/8JbBYPJ188Cj0oTpn5oIE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UQ5ow/btrCdHDBrYA/8JbBYPJ188Cj0oTpn5oIE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUQ5ow%2FbtrCdHDBrYA%2F8JbBYPJ188Cj0oTpn5oIE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;459&quot; height=&quot;309&quot; data-filename=&quot;스크린샷 2022-05-16 오후 1.20.59.png&quot; data-origin-width=&quot;1470&quot; data-origin-height=&quot;990&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-05-16 오후 1.22.40.png&quot; data-origin-width=&quot;1454&quot; data-origin-height=&quot;588&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d1Sh2J/btrCgJ8N2RX/gNDOgy2rH63qiXEArK6Du1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d1Sh2J/btrCgJ8N2RX/gNDOgy2rH63qiXEArK6Du1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d1Sh2J/btrCgJ8N2RX/gNDOgy2rH63qiXEArK6Du1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd1Sh2J%2FbtrCgJ8N2RX%2FgNDOgy2rH63qiXEArK6Du1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;378&quot; height=&quot;153&quot; data-filename=&quot;스크린샷 2022-05-16 오후 1.22.40.png&quot; data-origin-width=&quot;1454&quot; data-origin-height=&quot;588&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Phishing&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;중요한 정보를 부정하게 획득하기 위해 만들어진 위조 웹 페이지 -&amp;gt; 가짜 페이지&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;회피하기 위한 방법&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;철자가 틀린 URL&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;URL 난독화&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;제거되거나 위조된 주소 표시줄&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-05-16 오후 1.27.57.png&quot; data-origin-width=&quot;197&quot; data-origin-height=&quot;255&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnoWjK/btrCaj4DRru/zFxh7CYCJl7Pp0AKQ8cWvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnoWjK/btrCaj4DRru/zFxh7CYCJl7Pp0AKQ8cWvk/img.png&quot; data-alt=&quot;Phishing 주소&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnoWjK/btrCaj4DRru/zFxh7CYCJl7Pp0AKQ8cWvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnoWjK%2FbtrCaj4DRru%2FzFxh7CYCJl7Pp0AKQ8cWvk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;197&quot; height=&quot;255&quot; data-filename=&quot;스크린샷 2022-05-16 오후 1.27.57.png&quot; data-origin-width=&quot;197&quot; data-origin-height=&quot;255&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Phishing 주소&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;URL Obfuscation (&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;URL 난독화&lt;/span&gt;)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩/보안</category>
      <author>Hoooon22_코딩거북이_</author>
      <guid isPermaLink="true">https://coding-turtle.tistory.com/149</guid>
      <comments>https://coding-turtle.tistory.com/149#entry149comment</comments>
      <pubDate>Mon, 16 May 2022 18:54:55 +0900</pubDate>
    </item>
    <item>
      <title>20220512_TIL</title>
      <link>https://coding-turtle.tistory.com/148</link>
      <description>&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 56px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 18px;&quot;&gt;Today I Learn&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 38px;&quot;&gt;1. NFA to DFA&lt;br /&gt;- normal한 NFA to DFA 중 reconstruct&amp;nbsp;fa까지 진행&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작성한 Class NFA 코드&lt;/p&gt;
&lt;pre id=&quot;code_1652286956951&quot; class=&quot;csharp&quot; data-ke-language=&quot;csharp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class NFA
    {
        public Dictionary&amp;lt;string, Dictionary&amp;lt;string, string[]&amp;gt;&amp;gt; nfa_dic = new Dictionary&amp;lt;string, Dictionary&amp;lt;string, string[]&amp;gt;&amp;gt;();
        public int s; // number of states
        public int t; // number of transitions
        public string first_state; // first state
        public string[] final_state; // final states

        public void Enter_nfa()
        {
            // Input states and transitions
            Console.Write(&quot;Enter the number of states: &quot;);
            s = int.Parse(Console.ReadLine());
            Console.Write(&quot;Enter the number of transitions: &quot;);
            t = int.Parse(Console.ReadLine());

            // Enter name of state and transition
            for (int i = 0; i &amp;lt; s; i++) // state
            {
                Console.Write(&quot;\n&quot; + i + &quot;. state name: &quot;);
                string state = Console.ReadLine();

                Dictionary&amp;lt;string, string[]&amp;gt; t_dic = new Dictionary&amp;lt;string, string[]&amp;gt;(); // 임시 저장
                for (int j = 0; j &amp;lt; t; j++) // transition
                {
                    Console.Write(&quot;\n&quot; + i + &quot;. transition name: &quot;);
                    string transition = Console.ReadLine();
                    Console.Write(&quot;next states from state &quot; + state + &quot; through &quot; + transition + &quot;: &quot;);
                    string next_state = Console.ReadLine();
                    t_dic.Add(transition, next_state.Split(' '));
                }

                nfa_dic.Add(state, t_dic); // add nfa
            }
            // Enter First state
            Console.Write(&quot;first states: &quot;);
            first_state = Console.ReadLine();

            // Enter Final state
            Console.Write(&quot;final states: &quot;);
            final_state = Console.ReadLine().Split(' ');
        }

        public void Prinf_nfa()
        {
            Console.WriteLine(&quot;\nNFA =&amp;gt; &quot;);
            foreach (var pair1 in nfa_dic)
            {
                Console.Write(&quot;Key: {0}, Value: &quot;, pair1.Key);

                foreach (var pair2 in pair1.Value)
                {
                    Console.Write(&quot;{0}-[{1}] &quot;, pair2.Key, String.Join(&quot;, &quot;, pair2.Value)); ;
                }
                Console.WriteLine();
            }
        }
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TIL</category>
      <author>Hoooon22_코딩거북이_</author>
      <guid isPermaLink="true">https://coding-turtle.tistory.com/148</guid>
      <comments>https://coding-turtle.tistory.com/148#entry148comment</comments>
      <pubDate>Thu, 12 May 2022 01:36:13 +0900</pubDate>
    </item>
    <item>
      <title>형식 언어 - 5.Context-Free 문법</title>
      <link>https://coding-turtle.tistory.com/147</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;수업 일자 : 2022/05/10 (화)&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5.1 서론&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;정규 표현&lt;/b&gt;: &lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;토큰의 &lt;u&gt;&lt;b&gt;어휘 구조&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;recognizer : FA(=&amp;gt; &lt;b&gt;Scanner&lt;/b&gt;)&lt;/span&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;id = (l+_)(l+d+_)&lt;/span&gt;&lt;span&gt;* &lt;/span&gt;&lt;span&gt;, sc = &quot;(a+\c )&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;b&gt;CFG&lt;/b&gt;: &lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;프로그래밍 언어의 &lt;u&gt;&lt;b&gt;구문 구조&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;recognizer : PDA(=&amp;gt; &lt;b&gt;Parser&lt;/b&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;프로그래밍 언어의 구문 구조를 &lt;/span&gt;&lt;b&gt;CFG&lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;로 표현할 경우의 &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;장점&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;:&lt;/span&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;간단하고 이해하기 쉽다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;CFG로부터 인식기를 자동으로 구성할 수 있다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;프로그램의 구조를 생성규칙에 의해 구분할 수 있으므로 _____에 유용하다&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩/형식언어</category>
      <author>Hoooon22_코딩거북이_</author>
      <guid isPermaLink="true">https://coding-turtle.tistory.com/147</guid>
      <comments>https://coding-turtle.tistory.com/147#entry147comment</comments>
      <pubDate>Tue, 10 May 2022 14:24:07 +0900</pubDate>
    </item>
    <item>
      <title>20220509_TIL</title>
      <link>https://coding-turtle.tistory.com/146</link>
      <description>&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Today I Learn &amp;amp; Do&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;1. 컴퓨터 보안&lt;br /&gt;- Wireless&amp;nbsp;Networks&lt;br /&gt;- WPA&lt;br /&gt;&lt;br /&gt;2. 인턴 지원 자소서&amp;nbsp; 작성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://coding-turtle.tistory.com/145&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://coding-turtle.tistory.com/145&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1652074575845&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;컴퓨터보안 - Wireless Networks&quot; data-og-description=&quot;수업 일자 : 2022/05/09 (월) Types of Wireless Networks (무선 인터넷의 종류) Infrastructure Client 시스템은&amp;nbsp;액세스 지점이라고 하는 특수 네트워크 장치에 무선 연결을 설정 인터넷에 대한 게이트웨이를 제..&quot; data-og-host=&quot;coding-turtle.tistory.com&quot; data-og-source-url=&quot;https://coding-turtle.tistory.com/145&quot; data-og-url=&quot;https://coding-turtle.tistory.com/145&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/YDZTT/hyOiZ6HXnc/rd1UENpiUI0SsKIp56z5W0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bLB598/hyOi4z75fC/yyD2Za5yt3GJKHk0j5NpR0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/wAKA1/hyOi1XGpRT/4KbLx7ecLV5qD8VcjqlUqK/img.jpg?width=640&amp;amp;height=640&amp;amp;face=0_0_640_640&quot;&gt;&lt;a href=&quot;https://coding-turtle.tistory.com/145&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://coding-turtle.tistory.com/145&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/YDZTT/hyOiZ6HXnc/rd1UENpiUI0SsKIp56z5W0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bLB598/hyOi4z75fC/yyD2Za5yt3GJKHk0j5NpR0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/wAKA1/hyOi1XGpRT/4KbLx7ecLV5qD8VcjqlUqK/img.jpg?width=640&amp;amp;height=640&amp;amp;face=0_0_640_640');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;컴퓨터보안 - Wireless Networks&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;수업 일자 : 2022/05/09 (월) Types of Wireless Networks (무선 인터넷의 종류) Infrastructure Client 시스템은&amp;nbsp;액세스 지점이라고 하는 특수 네트워크 장치에 무선 연결을 설정 인터넷에 대한 게이트웨이를 제..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;coding-turtle.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TIL</category>
      <author>Hoooon22_코딩거북이_</author>
      <guid isPermaLink="true">https://coding-turtle.tistory.com/146</guid>
      <comments>https://coding-turtle.tistory.com/146#entry146comment</comments>
      <pubDate>Mon, 9 May 2022 14:36:25 +0900</pubDate>
    </item>
    <item>
      <title>컴퓨터보안 - Wireless Networks</title>
      <link>https://coding-turtle.tistory.com/145</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;수업 일자 : 2022/05/09 (월)&lt;/blockquote&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Types of Wireless Networks (무선 인터넷의 종류)&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Infrastructure&lt;/b&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;Client 시스템은&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&amp;nbsp;액세스 지점이라고 하는 특수 네트워크 장치에 무선 연결을 설정&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;인터넷에 대한 게이트웨이를 제공하는 유선 네트워크에 연결된 액세스 지점&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;가장 일반적인 무선 네트워크 유형&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;Peer-to-Peer (P2P)&lt;/span&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;여러 Peer 시스템이 서로 연결됨&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;일반적으로 ad-hoc 네트워크 및 인터넷 연결 공유에 사용된다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;SSID&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여려 무선 네트워크가 공존할 수 있음
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;일반 기본값 액세스 지점의 SSID는 제조업체 이름이다.&lt;/li&gt;
&lt;li&gt;SSID는 종종 잠재 고객이 네트워크를 검색할 수 있도록 브로드캐스트된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;SSID는 서명되지 않았으므로, 간단한 스푸핑 공격이 가능하다.
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;공공장소(ex. 카페, 공항)에 로그 액세스 지점 배치 -&amp;gt; 악의적인 사용자가 일부로 배치&lt;/li&gt;
&lt;li&gt;ISP의 SSID 사용&lt;/li&gt;
&lt;li&gt;ISP와 유사한 로그인 페이지 설정&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;클라이언트가 악성 액세스 포인트에 연결하고 인증할 때까지 대기&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;ISP 네트워크에 세션을 전달할 수 있다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;자동 연결 기본값으로 지원&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핫스팟은 새로운 AP를 만드는 것으로, SSID는 언제든지 이름을 바꿀 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Eavesdropping and Spoofing (도청 및 스푸핑)&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 무선 네트워크 트래픽을 도청할 수 있음&lt;/li&gt;
&lt;li&gt;일반적으로 회사 네트워크에서 승인된 시스템을 식별하는데 사용되는 MAC 기반 인증&lt;/li&gt;
&lt;li&gt;유선 네트워크와 같이 MAC 스푸핑 공격이 가능&lt;/li&gt;
&lt;li&gt;잠시 연결이 끊긴 후에도 세션이 활성 상태로 유지됨&lt;/li&gt;
&lt;li&gt;ISP 클라이언트가 세션을 명시적으로 종료하지 않는 경우 MAC 스푸핑을 통해 해당 세션을 인계받을 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Captive Portal&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Wardriving&amp;nbsp;and&amp;nbsp;Warchalking&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Wired Equivalent Privacy&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;WEP Protocol&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Message Modification Attack&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;IP Redirection Attack&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Reused Initialization Vectors&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Authentication Spoofing&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Wardriving Tools&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Wardriving Setup&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Slow Attack: WEP Sniffing&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Fast Attack: Packet Injection&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Initialization Vector (IV)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Injection Method&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Wi-Fi Protected Access (WPA)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;WPA2&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;WPA2 Encryption&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Alternatives and Add-ons&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩/보안</category>
      <author>Hoooon22_코딩거북이_</author>
      <guid isPermaLink="true">https://coding-turtle.tistory.com/145</guid>
      <comments>https://coding-turtle.tistory.com/145#entry145comment</comments>
      <pubDate>Mon, 9 May 2022 14:17:33 +0900</pubDate>
    </item>
    <item>
      <title>형식언어 - 어휘분석기의 구현</title>
      <link>https://coding-turtle.tistory.com/144</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;수업 일자 : 2022/05/06&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4.3 어휘분석기의 구현&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;어휘분석기의 설계방법&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;기존 프로그래밍 언어를 사용하여 어휘 분석기를 &lt;b&gt;프로그래밍(Programming)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;EX와 같은 컴파일러 생성 도구를 사용하여 어휘 분석기 &lt;b&gt;생성(Generating, Constructing)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4.4 Lex (Lexical Analzer Generator)&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 참고 :&amp;nbsp;&lt;a href=&quot;http://contents.kocw.or.kr/document/lec/2012/ChungBuk/LeeJaeSung/cp-6.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;http://contents.kocw.or.kr/document/lec/2012/ChungBuk/LeeJaeSung/cp-6.pdf&lt;/a&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4.4.1 Introduction&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fdfdfd; color: #000000;&quot;&gt;Lex는 &lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;문자 입력 스트림의 어휘 처리를 위해 설계된 프로그램 생성기이다.&lt;/span&gt;&lt;/span&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lzi5F/btrClmZql5H/fTEAWigfEDqgxd6lnd3KO0/img.png&quot; width=&quot;499&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;404&quot; data-filename=&quot;스크린샷 2022-05-16 오후 7.28.23.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(1). LEX는 사용자의 Expression과 Action을 호스트 범용 언어로 번역한다. (생성된 프로그램의 이름 : lex.yy.c)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-05-16 오후 7.33.43.png&quot; data-origin-width=&quot;1144&quot; data-origin-height=&quot;258&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BXOsz/btrCkf0PuF5/q1IqgDmxw18W5pFnsvXjMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BXOsz/btrCkf0PuF5/q1IqgDmxw18W5pFnsvXjMk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BXOsz/btrCkf0PuF5/q1IqgDmxw18W5pFnsvXjMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBXOsz%2FbtrCkf0PuF5%2Fq1IqgDmxw18W5pFnsvXjMk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;479&quot; height=&quot;258&quot; data-filename=&quot;스크린샷 2022-05-16 오후 7.33.43.png&quot; data-origin-width=&quot;1144&quot; data-origin-height=&quot;258&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(2). yylex 함수는 stream의 표현식을 인식하고, 각 표현식이 탐지될 때마다 지정된 액션을 수행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4.4.2 Lex Source&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;형태
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;{ definitions } // 정의 부분&lt;br /&gt;%%&lt;br /&gt;{ rules } // 규칙 부분&lt;br /&gt;%%&lt;br /&gt;{ user subroutines } // 사용자 부프로그램 부분&lt;/li&gt;
&lt;li&gt;두번째 %%는 선택 사항, 첫 번째 %%는 규칙의 시작을 표시해야한다.&lt;/li&gt;
&lt;li&gt;Lex에 의해 해석되지 않은 모든 source는 생성된 프로그램에 복사된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Rule ::= regular expressions + actions&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-05-16 오후 7.57.34.png&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bupZME/btrClkUTgRo/9JGWSZHa3INkkG6DjFLZFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bupZME/btrClkUTgRo/9JGWSZHa3INkkG6DjFLZFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bupZME/btrClkUTgRo/9JGWSZHa3INkkG6DjFLZFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbupZME%2FbtrClkUTgRo%2F9JGWSZHa3INkkG6DjFLZFk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;451&quot; height=&quot;160&quot; data-filename=&quot;스크린샷 2022-05-16 오후 7.57.34.png&quot; data-origin-width=&quot;890&quot; data-origin-height=&quot;160&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4.4.3 Lex regular expressions&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Lex regular expressions
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;::= &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;text characters&lt;/span&gt;&lt;/b&gt;&amp;nbsp;+ &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;operator characters&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;text characters
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;비교되고 있는 문자열에서 상응하는 characters와 매치한다.&lt;/li&gt;
&lt;li&gt;알파벳과 숫자들은 항상 text characters이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Operator characters&amp;nbsp;--- &lt;b&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;prime;&amp;prime; &lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;[] ^ &lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;minus; &lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;? . * + () $ / {} % &amp;lt;&amp;gt;&lt;/span&gt;&lt;/b&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt; &amp;rdquo;&lt;/b&gt; (double quote) --- 쌍따옴표 사이에 있는 모든 문자를 텍스트 문자로 취급 &lt;br /&gt;&amp;nbsp; ex) XYZ&quot;++&quot; &amp;lt;=&amp;gt; XYZ++&lt;/li&gt;
&lt;li&gt;&lt;b&gt;\&lt;/b&gt; (backslash) --- 한 개의 문자를 escape &lt;br /&gt;&amp;nbsp; ex) XYZ\+\+ &amp;lt;=&amp;gt; XYZ++&lt;/li&gt;
&lt;li&gt;&lt;b&gt; [ ]&lt;/b&gt; --- 문자들의 종류 &lt;br /&gt;&amp;nbsp; (가) - (dash) --- 범위를 표시 &lt;br /&gt;&amp;nbsp; ex) [a-z0-9] 모든 소문자와 숫자를 포함한 character class를 표시한다. &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[-+0-9] 두개의부호화 숫자를 매치한다. &lt;br /&gt;&amp;nbsp; (나) ^ (hat) --- 부정이나 여집합을 표시 ex) [^a-zA-Z]는 영문자를 제외한 모든 문자를 나타낸다. &lt;br /&gt;&amp;nbsp; (다) \ (backslash) --- 8진법의 escape처럼 문자를 escape &lt;br /&gt;&amp;nbsp; ex) [\40-\176] 아스키 값 40인 공백부터 176인 ~(tilde)까지 모든 인쇄 가능한 문자를 나타낸다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;.&lt;/b&gt; --- 개행 문자를 제외한 모든 문자들을 나타낸다. &lt;br /&gt;&amp;nbsp; ex) &quot;--&quot;.*는 -- 부터 한 라인의 끝까지&lt;/li&gt;
&lt;li&gt;&lt;b&gt;?&lt;/b&gt; --- 선택을 의미하는 연산자 &lt;br /&gt;&amp;nbsp; ex) a&lt;u&gt;b?&lt;/u&gt;c &amp;lt;=&amp;gt; ac 또는 abc&lt;/li&gt;
&lt;li&gt;&lt;b&gt;*&lt;/b&gt; , &lt;b&gt;+&lt;/b&gt; --- 반복 표현 &lt;br /&gt;&amp;nbsp; a*는 a가 0번 이상 반복될 수 있음을 나타낸다. &lt;br /&gt;&amp;nbsp; a+는 한 번 이상 반복될 수 있음을 나타낸다. &lt;br /&gt;&amp;nbsp; ex) [a-z]+ &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[0-9]+ &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[A-Za-z_] [A-Za-z0-9_]* --- Identifier&lt;/li&gt;
&lt;li&gt;&lt;b&gt;|&lt;/b&gt; --- 하나의 선택을 의미하는 연산자 &lt;br /&gt;&amp;nbsp; ex) (ab | cd) 는 ab or cd.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;^&lt;/b&gt; --- 라인의 시작에서만 인식&lt;/li&gt;
&lt;li&gt;&lt;b&gt;$&lt;/b&gt; --- 오직 라인의 끝에서만 인식&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&amp;nbsp;/&lt;/b&gt; --- 접미 문맥을 명시할 때 사용 &lt;br /&gt;&amp;nbsp; ex) ab/cd ab 다음에 cd가 이어서 나타날 때만 ab가 토큰으로 처리된다. &lt;br /&gt;&amp;nbsp; ex) ab$ &amp;lt;=&amp;gt; ab/\n (11) &amp;lt; &amp;gt; --- 시작 상태 표시&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;b&gt; { }&lt;/b&gt; --- 정의된 이름을 확장할 때 사용&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-05-16 오후 8.48.19.png&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;748&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8Vv3R/btrCjFZ575p/X2YcjHgeUsMyb6PTGETBE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8Vv3R/btrCjFZ575p/X2YcjHgeUsMyb6PTGETBE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8Vv3R/btrCjFZ575p/X2YcjHgeUsMyb6PTGETBE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8Vv3R%2FbtrCjFZ575p%2FX2YcjHgeUsMyb6PTGETBE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;348&quot; height=&quot;334&quot; data-filename=&quot;스크린샷 2022-05-16 오후 8.48.19.png&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;748&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-05-16 오후 8.48.41.png&quot; data-origin-width=&quot;1122&quot; data-origin-height=&quot;420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b3z37p/btrCiQ8DmGw/MfrlVV7wNiRe3qKK0C0iz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b3z37p/btrCiQ8DmGw/MfrlVV7wNiRe3qKK0C0iz1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b3z37p/btrCiQ8DmGw/MfrlVV7wNiRe3qKK0C0iz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3z37p%2FbtrCiQ8DmGw%2FMfrlVV7wNiRe3qKK0C0iz1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;429&quot; height=&quot;161&quot; data-filename=&quot;스크린샷 2022-05-16 오후 8.48.41.png&quot; data-origin-width=&quot;1122&quot; data-origin-height=&quot;420&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4.4.4 Lex actions&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정규 표현에 일치되는 문자열, 즉 토큰이 인식되었을 때 실행해야 할 행동&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;default action&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;인식되지 않은 모든 문자에 대해 실행되는 &lt;span style=&quot;color: #006dd7;&quot;&gt;default action&lt;/span&gt;은 입력을 출력으로 그대로 복사&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;null action&lt;/span&gt; - 입력을 무시하고 싶을 경우
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;ex) [\t\n]; &lt;br /&gt;구분자로 사용된 공백, 탭, 개행 문자를 입력에서 무시하고 싶을 때 처리하는 방법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;| (alternation-교체)
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&amp;nbsp;동일한 액션 코드의 반복적인 표기를 생략&lt;br /&gt;&amp;nbsp; ex) [\t\n ] ; &amp;lt;=&amp;gt; &quot; &quot; | &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;\t&quot; | &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;\n&quot; ;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;전역 변수와 함수 (Lex 명령 작성시 사용할 수 있는 변수 및 함수)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;yytext &lt;/span&gt;&lt;span&gt;: 정규 표현과 매칭된 실제 문자열&lt;br /&gt;&lt;/span&gt;&amp;nbsp; ex) &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;[a-z]+ printf(&quot;%s&quot;,yytext);&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #3333cc;&quot;&gt;yyleng &lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;: 매칭된 문자열의 길이를 나타내는 변수&lt;br /&gt;&amp;nbsp; ex) &lt;/span&gt;yytext[yyleng-1] &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;: 매칭된 문자열의 마지막 문자&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #3333cc;&quot;&gt;ECHO &lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;: 출력에 매칭된 문자열을 출력&lt;br /&gt;&lt;/span&gt;&amp;nbsp; ex) &lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;ECHO &amp;lt;===&amp;gt; printf(&quot;%s&quot;,yytext);&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif; letter-spacing: 0px;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span style=&quot;color: #3333cc;&quot;&gt;yymore &lt;/span&gt;&lt;span&gt;: 현재 매칭된 문자열의 끝에 다음에 인식된 문자열이 덧붙여지도록 하는 함수&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;span style=&quot;color: #3333cc;&quot;&gt;yyless&lt;/span&gt;&lt;span&gt;(n) : n&lt;/span&gt;&lt;span&gt;개의 &lt;/span&gt;&lt;span&gt;character&lt;/span&gt;&lt;span&gt;만을 &lt;/span&gt;&lt;span&gt;yytext&lt;/span&gt;&lt;span&gt;에 남겨두고 나머지는 &lt;/span&gt;&lt;span&gt;reprocess&lt;/span&gt;&lt;span&gt;를 위하여 &lt;/span&gt;&lt;span&gt;input&lt;/span&gt;&lt;span&gt;으로 되돌려 보낸다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #3333cc;&quot;&gt;I/O routines&lt;br /&gt;&lt;/span&gt;&lt;span&gt;1) &lt;/span&gt;&lt;span style=&quot;color: #00cc66;&quot;&gt;input() &lt;/span&gt;&lt;span&gt;입력 스트림으로부터 다음 문자를 읽는 함수&lt;br /&gt;2) &lt;/span&gt;&lt;span style=&quot;color: #00cc66;&quot;&gt;output(c) &lt;/span&gt;&lt;span&gt;출력 스트림으로 문자 c를 내보내는 함수&lt;br /&gt;3) &lt;/span&gt;&lt;span style=&quot;color: #00cc66;&quot;&gt;unput(c) &lt;/span&gt;&lt;span&gt;다시 처리될 수 있도록 문자 c를 입력 스트림으로 되돌려 보내는 기능을 하는 함수, input()에 의해 다시 읽혀진다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #3333cc;&quot;&gt;yywrap() &lt;span style=&quot;color: #000000;&quot;&gt;: Lex가 입력 파일의 끝에 도달할 때 요청된다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4.4.5 모호한 Rule&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;규칙 모호성
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;하나의 문자열이 여러 개의 규칙에 적용될 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;해결
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;가장 길게 인식할 수 있는 정규 표현을 우선한다.&lt;/li&gt;
&lt;li&gt;인식할 수 있는 토큰의 길이가 같은 경우, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;먼저&lt;/b&gt;&lt;/span&gt; 기술된 정규 표현을 선택한다.&lt;br /&gt;&lt;span&gt;ex) integer&amp;nbsp; &amp;nbsp; &amp;nbsp;Keyword action; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[a-z]+&amp;nbsp; &amp;nbsp; &amp;nbsp;identifier action&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;기본 동작 원칙&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span&gt;Lexsms 보통 각 표현의 가능한 모든 match를 찾는 것이 아니라 입력 스트림을 분할하는 것이다. 즉, 각 문자는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;한 번만&lt;/b&gt;&lt;/span&gt; 처리한다는 의미이다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4.4.6 Lex definitions // 정의 부분&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-05-16 오후 9.24.45.png&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;306&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpEPBt/btrCgKOFs4k/zPkAfh1VwsOMCzz7BwtwBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpEPBt/btrCgKOFs4k/zPkAfh1VwsOMCzz7BwtwBK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpEPBt/btrCgKOFs4k/zPkAfh1VwsOMCzz7BwtwBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpEPBt%2FbtrCgKOFs4k%2FzPkAfh1VwsOMCzz7BwtwBK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;155&quot; height=&quot;155&quot; data-filename=&quot;스크린샷 2022-05-16 오후 9.24.45.png&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;306&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Definitions&lt;br /&gt;::= &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;선언부&lt;/b&gt;&lt;/span&gt; + &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;매크로 정의&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;선언부&lt;/b&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;%{&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; %} 사이에 있는 코드&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Lex에 의해 아무 처리 없이 lex.yy.c의 앞부분에 복사된다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;매크로 정의&lt;/b&gt;&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;Lex 규칙의 정규표현에 사용할 표현을 미리 정의&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; translation&lt;/li&gt;
&lt;li&gt;매크로 정의의 사용 : {name}&lt;br /&gt;ex)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [0-9] &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; L&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [a-zA-Z] &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; %% &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {L}({L}|{D})*&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return IDENT;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4.4.7 Usage (사용법)&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-05-16 오후 9.38.57.png&quot; data-origin-width=&quot;1196&quot; data-origin-height=&quot;622&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Q9iej/btrCjFy6bKD/gUFdxkkXio2PDgrZeI3Ee1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Q9iej/btrCjFy6bKD/gUFdxkkXio2PDgrZeI3Ee1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Q9iej/btrCjFy6bKD/gUFdxkkXio2PDgrZeI3Ee1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQ9iej%2FbtrCjFy6bKD%2FgUFdxkkXio2PDgrZeI3Ee1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;522&quot; height=&quot;272&quot; data-filename=&quot;스크린샷 2022-05-16 오후 9.38.57.png&quot; data-origin-width=&quot;1196&quot; data-origin-height=&quot;622&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4.4.8 Lex and Yacc&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩/형식언어</category>
      <author>Hoooon22_코딩거북이_</author>
      <guid isPermaLink="true">https://coding-turtle.tistory.com/144</guid>
      <comments>https://coding-turtle.tistory.com/144#entry144comment</comments>
      <pubDate>Sun, 8 May 2022 15:30:25 +0900</pubDate>
    </item>
    <item>
      <title>개별연구2 : VR 실험실 - 13일차</title>
      <link>https://coding-turtle.tistory.com/143</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;용액 등을 저장하기 위한 비커를 제작한다.&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3104&quot; data-origin-height=&quot;1974&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eawm0a/btrA9jc2JTY/uAg3kEynZsQUAygvnQQ7jk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eawm0a/btrA9jc2JTY/uAg3kEynZsQUAygvnQQ7jk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eawm0a/btrA9jc2JTY/uAg3kEynZsQUAygvnQQ7jk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Feawm0a%2FbtrA9jc2JTY%2FuAg3kEynZsQUAygvnQQ7jk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;325&quot; height=&quot;1974&quot; data-origin-width=&quot;3104&quot; data-origin-height=&quot;1974&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3016&quot; data-origin-height=&quot;1886&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vqfMR/btrA5rJyKPU/3JAkAkdynjcllBgk0JZYU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vqfMR/btrA5rJyKPU/3JAkAkdynjcllBgk0JZYU0/img.png&quot; data-alt=&quot;Blender로 제작한 비커&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vqfMR/btrA5rJyKPU/3JAkAkdynjcllBgk0JZYU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvqfMR%2FbtrA5rJyKPU%2F3JAkAkdynjcllBgk0JZYU0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;326&quot; height=&quot;1886&quot; data-origin-width=&quot;3016&quot; data-origin-height=&quot;1886&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Blender로 제작한 비커&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Blender의 래티스를 활용하여 비커의 윗 부분에 액체를 옮길 수 있는 곳을 만들어 주었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 Blender 파일을 Unity의 에셋에 추가한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2022-05-03 오후 7.19.52.png&quot; data-origin-width=&quot;3104&quot; data-origin-height=&quot;1974&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k88vF/btrBbO3SDS5/P5rCMuO1quF5IPlWYRRqA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k88vF/btrBbO3SDS5/P5rCMuO1quF5IPlWYRRqA1/img.png&quot; data-alt=&quot;Material의 Rendering Mode를 Transparent로 적용하여 유리 질감을 재현한다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k88vF/btrBbO3SDS5/P5rCMuO1quF5IPlWYRRqA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk88vF%2FbtrBbO3SDS5%2FP5rCMuO1quF5IPlWYRRqA1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3104&quot; height=&quot;1974&quot; data-filename=&quot;스크린샷 2022-05-03 오후 7.19.52.png&quot; data-origin-width=&quot;3104&quot; data-origin-height=&quot;1974&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Material의 Rendering Mode를 Transparent로 적용하여 유리 질감을 재현한다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩/Unity</category>
      <author>Hoooon22_코딩거북이_</author>
      <guid isPermaLink="true">https://coding-turtle.tistory.com/143</guid>
      <comments>https://coding-turtle.tistory.com/143#entry143comment</comments>
      <pubDate>Tue, 3 May 2022 19:21:32 +0900</pubDate>
    </item>
  </channel>
</rss>