<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개발 공부 블로그</title>
    <link>https://livingcode.tistory.com/</link>
    <description>프로그래밍 공부</description>
    <language>ko</language>
    <pubDate>Tue, 25 Aug 2026 17:57:15 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>KoYKDH</managingEditor>
    <item>
      <title>[네트워크 기초] 스위칭(Switching)</title>
      <link>https://livingcode.tistory.com/19</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;스위칭(Switching)이란 네트워크에서 노드와 노드 간 연결을 중개해주는 것을 뜻합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;노드와 노드 간 모든 연결을 직접 구축할 수 없기 때문에, 마치 예전 전화를 연결시켜주는 전화 교환원과 같은 역할을 한다고 볼 수 있습니다.(저도 직접 겪은 세대는 아닙니다만..)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;스위칭 방식은 크게 세 가지로 나눌 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;1. Circuit switching&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;물리적으로 두 노드를 연결하는 방식입니다. 방금 말씀드린 전화(PSTN)가 대표적입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;연결되는 동안 계속적인 비용이 발생합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;2. Message switching&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;메세지를 인접한 노드에게 &lt;b&gt;모두&lt;/b&gt; 전달하는 방식입니다. 메세지를 수신한 노드는 다른 인접한 노드로 또 전파하게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;마치 신경세포인 뉴런과 유사한 이런 방식을 &lt;i&gt;Store and forward&lt;/i&gt; 로 부르기도 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;모든 노드들이 데이터를 전송하기 위해 메모리를 사용하므로 비효율적입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;3. Packet switching&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;패킷 스위칭은 메세지를 패킷 단위로 잘라서 전송하는 방식입니다. 목적지를 정해놓는 헤더와 데이터 부분으로 구성된 패킷을 이용하는데, 이게 병원 심장박동기처럼 트래픽이 간헐적으로 증가 및 감소하는 형태를 보입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;Packet switching은 또 데이터 그램 방식과 가상 회선 방식으로 나눌 수 있는데, 전자는 비연결형, 후자는 연결형 방식입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;3-1. 데이터 그램&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;노드 간 연결을 하지 않고 목적지만 정해놓은 상태로 전송하는 방식입니다. 경로가 확보되지 않아 각 패킷이 무작위 경로를 통해 전송되므로 효율적이긴 하나 도착 순서가 지켜지지 않아 이를 처리하는 문제가 발생합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;3-2. 가상 회선&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;이름 그대로 label을 통해 메세지가 이동할 경로를 미리 확보한 후(이것을 link라 부릅니다), 패킷이 순서대로 전송되게 되는 방식입니다. Link가 만들어지면 해당 경로를 이용하는 다른 연결과 공유되기도 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;실제 인터넷은 MPLS란 방식을 사용하고 있습니다. 이는 데이터 그램과 가상 회선 방식의 중간쯤 되는 것으로 알고 있는데, 자세한 것은 알아보지 못하여 관심있는 분들은 한번 찾아보시면 좋겠습니다 :)&lt;/span&gt;&lt;/p&gt;</description>
      <category>WEB 일반</category>
      <category>네트워크</category>
      <category>스위칭</category>
      <author>KoYKDH</author>
      <guid isPermaLink="true">https://livingcode.tistory.com/19</guid>
      <comments>https://livingcode.tistory.com/19#entry19comment</comments>
      <pubDate>Thu, 3 Oct 2019 00:17:38 +0900</pubDate>
    </item>
    <item>
      <title>[네트워크 기초]  네트워크 계층 모델</title>
      <link>https://livingcode.tistory.com/18</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;※ 개인적인 공부를 통해 작성한 글이며, 실제 학문적 내용과 다를 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;1. 계층화를 하는 이유&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;대표적인 네트워크 계층 이론으로는 &lt;b&gt;OSI 7계층 모델&lt;/b&gt;과 &lt;b&gt;TCP/IP 모델&lt;/b&gt;(5계층)이 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;이렇게 계층으로 나누는 이유는 각 기능, 목적별로 구성을 달리하여 각 계층에서 사용하는 장비, 프로그램의 Spec이 변해도 특정 계층만 변경하면 됨으로써 &lt;u&gt;다른 계층에 대한 영향을 최소화&lt;/u&gt;하고 비용을 줄일 수 있기 때문입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;OSI 7계층 모델은 이론적인 모형이고, 실제로 우리가 쓰는 인터넷은 TCP/IP모델에 가깝습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;2. TCP/IP 모델&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 36.9475%; height: 110px;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 23px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 23px;&quot;&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;5&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50.3205%; text-align: center; height: 23px;&quot;&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;응용 계층&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 27px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 27px;&quot;&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;4&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50.3205%; text-align: center; height: 27px;&quot;&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;전송 계층&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;3&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50.3205%; text-align: center; height: 20px;&quot;&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;네트워크 계층&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50.3205%; text-align: center; height: 20px;&quot;&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;데이터 링크 계층&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50.3205%; text-align: center; height: 20px;&quot;&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;물리 계층&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;lt;표1&amp;gt; TCP/IP 모델&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;물리 계층과 데이터 링크 계층을 합쳐 네트워크 접근 계층이라 부르기도 합니다.&lt;/span&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;물리 계층은 데이터 전송 속도, 선로 구성, 토폴로지(Topology) 등과 관련되어 있고, 말 그대로 물리적인 구성을 의미합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;데이터 링크 계층은 메세지 포맷과 헤더, 필드 등을 구성하며, &lt;b&gt;에러제어, 흐름제어, 접근제어&lt;/b&gt;를 하는 계층입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 에러제어 : 전송간에 에러가 발생하는지 확인&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 흐름제어 : 노드와 노드 간의 흐름을 제어&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 접근제어 : 신호가 동시에 접근할 시 처리&lt;/span&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;네트워크 계층은 라우팅을 하는 곳입니다. &lt;b&gt;라우팅&lt;/b&gt;이란 신호를 어느 경로를 통해서 보낼지 정하는 것을 말합니다. 여기서 우리가 잘 아는 &lt;b&gt;IP 주소&lt;/b&gt;가 나오게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;전송 계층은 특정 프로세스에 대한 주소를 지정하고, 메세지 segment의 분할 및 조립에 관여합니다. &lt;b&gt;TCP/UDP 패킷&lt;/b&gt;을 생성하고 전송합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;응용 계층은 잘 아시는 것처럼 일반적인 프로토콜이 위치하는 단입니다. 80 포트를 이용하는 HTTP, 파일 전송 FTP, 메일 SMTP 등이 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;3. OSI 7계층 모델&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;앞서 5계층 모델에서 겹치는 부분은 비슷한 역할을 한다고 보면 됩니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 35.9302%; height: 220px;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;7&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;응용 계층&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;6&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;표현 계층&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;5&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;세션 계층&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;4&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;전송 계층&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;3&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;네트워크 계층&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;2&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;데이터 링크 계층&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;
&lt;p&gt;물리 계층&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;표현 계층은 응용 프로세스 간의 데이터가 오갈 때 인코딩과 관련한 작업을 처리하는 계층입니다.&lt;/p&gt;
&lt;p&gt;데이터 링크 계층은 브릿지 또는 스위치에 의해 &lt;b&gt;MAC 주소&lt;/b&gt;가 부여됩니다.&lt;/p&gt;</description>
      <category>WEB 일반</category>
      <category>osi7계층</category>
      <category>네트워크</category>
      <author>KoYKDH</author>
      <guid isPermaLink="true">https://livingcode.tistory.com/18</guid>
      <comments>https://livingcode.tistory.com/18#entry18comment</comments>
      <pubDate>Thu, 3 Oct 2019 00:03:09 +0900</pubDate>
    </item>
    <item>
      <title>[mySQL] CASE 표현식</title>
      <link>https://livingcode.tistory.com/17</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;복잡한 조건식을 다수 사용해야 할 경우 CASE 표현식을 이용할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;사용하는 방법은 다음과 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important; overflow: auto;&quot;&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0; padding: 0; border: none; background-color: #fafafa; border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;1&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;2&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;3&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;4&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;5&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;6&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;7&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;8&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;padding: 6px 0; text-align: left;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;SELECT&lt;/span&gt;&amp;nbsp;[필드명1],&amp;nbsp;[필드명2],&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;CASE&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHEN&amp;nbsp;조건1&amp;nbsp;THEN&amp;nbsp;출력1&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHEN&amp;nbsp;조건2&amp;nbsp;THEN&amp;nbsp;출력2&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ELSE&amp;nbsp;출력&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&amp;nbsp;&amp;nbsp;END&amp;nbsp;AS&amp;nbsp;필드명3&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #ff3399;&quot;&gt;FROM&lt;/span&gt;&amp;nbsp;테이블명&amp;nbsp;(&lt;span style=&quot;color: #ff3399;&quot;&gt;WHERE&lt;/span&gt;&amp;nbsp;조건);&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;vertical-align: bottom; padding: 0 2px 4px 0;&quot;&gt;&lt;a style=&quot;text-decoration: none; color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; color: white; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description>
      <category>SQL</category>
      <category>mysql</category>
      <author>KoYKDH</author>
      <guid isPermaLink="true">https://livingcode.tistory.com/17</guid>
      <comments>https://livingcode.tistory.com/17#entry17comment</comments>
      <pubDate>Wed, 2 Oct 2019 23:11:54 +0900</pubDate>
    </item>
    <item>
      <title>[Spring] Form input값의 DTO 자동 주입</title>
      <link>https://livingcode.tistory.com/16</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;일반적으로 스프링 프레임워크 사용시 웹페이지에서 form을 POST방식으로 전송할때&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;form elements의 name 속성과 데이터 전송 객체(DTO: Data Transfer Object 또는 VO: Value Object)의&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;변수명을 일치시켜주면(모든 변수가 같을 필요는 없다) 자동으로 해당 객체로 변환되어 Controller로&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;전송되게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1565272020521&quot; class=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// DTO
public class CuteDTO {
    private String first;
    private String second;
    private Integer third;
    
    // Getter and Setter
 }&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;예를 들어, 위와 같은 DTO가 있고&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1565272337045&quot; class=&quot;html xml&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// HTML...
&amp;lt;form name=&quot;cuteForm&quot; action=&quot;/cutePage&quot; method=&quot;post&quot;&amp;gt;
    &amp;lt;input type=&quot;text&quot; name=&quot;first&quot; value=&quot;테스트 입력1&quot;&amp;gt;
    &amp;lt;input type=&quot;text&quot; name=&quot;second&quot; value=&quot;테스트 입력2&quot;&amp;gt;
    &amp;lt;input type=&quot;password&quot; name=&quot;third&quot; value=&quot;1234567&quot;&amp;gt;
    &amp;lt;input type=&quot;submit&quot; value=&quot;전송!&quot;&amp;gt;
&amp;lt;/form&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;위와 같은 웹페이지에서 cutePage로 매핑된 Controller로 폼을 전송하면,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1565272505587&quot; class=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// ...

import CuteDTO;

@Controller
public class CuteController {
    
    @PostMapping(&quot;/cutePage&quot;)
    public String cutePage(CuteDTO cuteDTO) {
        String a = cuteDTO.getFirst; // a = 테스트 입력1
        String b = cuteDTO.getSecond; // b = 테스트 입력2
        Integer c = cuteDTO.getThird; // c = 1234567
        return &quot;viewPage&quot;;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;Controller의 인자에 DTO가 있다면 해당 DTO가 자동으로 생성되어 폼에서 넘어온 값이 주입됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;이 때 DTO 변수에 해당하는 값이 없을 경우 변수 기본값이 자동으로 할당됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;주의해야할 점은 파일전송을 위해 form에서 encType=&quot;multipart/form-data&quot; 로 전송하게 되면&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;DTO가 자동으로 생성/주입되지 않는다는 것입니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>Spring Framework</category>
      <category>DTO</category>
      <category>form</category>
      <category>spring</category>
      <author>KoYKDH</author>
      <guid isPermaLink="true">https://livingcode.tistory.com/16</guid>
      <comments>https://livingcode.tistory.com/16#entry16comment</comments>
      <pubDate>Thu, 8 Aug 2019 23:02:40 +0900</pubDate>
    </item>
    <item>
      <title>[Java] 초기화 블럭(Initialization block)</title>
      <link>https://livingcode.tistory.com/15</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;소스 코드를 보다보면 클래스 내부에 중괄호 { } 만으로 이루어지거나 static { } 만으로 이루어진&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;코드 부분이 있는 경우가 종종 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;이들을 초기화 블럭(Initialization block)이라 부르며, 클래스가 실행되면 생성자보다 먼저 실행됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;{ } 의 경우에는 클래스가 호출될 때마다 실행되고&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;static { } 의 경우는 정적 요소인 static의 특징답게 클래스가 메모리로 로딩될 때 &lt;b&gt;한번만&lt;/b&gt; 실행되며&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;메모리에 상주하게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;다음은 예제를 보면 확실히 이해할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important;overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0;padding:0;border:none;background-color:#fafafa;border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px;border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0;padding:0;word-break:normal;text-align:right;color:#666;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;21&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0;text-align:left&quot;&gt;&lt;div style=&quot;margin:0;padding:0;color:#010101;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;class&lt;/span&gt;&amp;nbsp;Main&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;&amp;nbsp;info;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;static&lt;/span&gt;&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;System&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;println&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;static&amp;nbsp;블록&amp;nbsp;실행!&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;info&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;static&amp;nbsp;블록&amp;nbsp;호출!&quot;&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;Main()&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;System&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;println&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;생성자&amp;nbsp;호출!&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;void&lt;/span&gt;&amp;nbsp;main(&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;[]&amp;nbsp;args)&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;System&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;println&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;메인&amp;nbsp;메소드&amp;nbsp;호출!&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Main&amp;nbsp;m1&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;Main();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Main&amp;nbsp;m2&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;Main();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;System&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;out&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;println&lt;/span&gt;(Main.info);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right;margin-top:-13px;margin-right:5px;font-size:9px;font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color:#e5e5e5text-decoration:none&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom;padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;text-decoration:none;color:white&quot;&gt;&lt;span style=&quot;font-size:9px;word-break:normal;background-color:#e5e5e5;color:white;border-radius:10px;padding:1px&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;실행 결과는 &amp;lt;그림 1&amp;gt;과 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;1.jpg&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c4sABN/btqwJd3skxS/m7jSBqS7TjZHJnWuFkd4I0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c4sABN/btqwJd3skxS/m7jSBqS7TjZHJnWuFkd4I0/img.jpg&quot; data-alt=&quot;&amp;amp;amp;lt;그림 1&amp;amp;amp;gt;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c4sABN/btqwJd3skxS/m7jSBqS7TjZHJnWuFkd4I0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4sABN%2FbtqwJd3skxS%2Fm7jSBqS7TjZHJnWuFkd4I0%2Fimg.jpg&quot; data-filename=&quot;1.jpg&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;그림 1&amp;gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>JAVA</category>
      <category>Java</category>
      <author>KoYKDH</author>
      <guid isPermaLink="true">https://livingcode.tistory.com/15</guid>
      <comments>https://livingcode.tistory.com/15#entry15comment</comments>
      <pubDate>Sun, 14 Jul 2019 17:42:42 +0900</pubDate>
    </item>
    <item>
      <title>[Java] try-with-resources를 사용한 자동 리소스 닫기</title>
      <link>https://livingcode.tistory.com/14</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;Java 7부터 사용 가능해진 try-with-resources는&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;입출력과 관련된 객체를 일일히 닫아줘야 했던 다음과 같은 코드에서&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important; overflow: auto;&quot;&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0; padding: 0; border: none; background-color: #fafafa; border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;3&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;4&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;5&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;6&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;7&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;8&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;9&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;10&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;11&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;padding: 6px 0; text-align: left;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;try&lt;/span&gt;&amp;nbsp;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Connection&amp;nbsp;con&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;DriverManager.getConnection(&lt;span style=&quot;color: #63a35c;&quot;&gt;&quot;...&quot;&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;}&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;catch&lt;/span&gt;&amp;nbsp;(SQLException&amp;nbsp;e1)&amp;nbsp;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;}&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;finally&lt;/span&gt;&amp;nbsp;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;if&lt;/span&gt;&amp;nbsp;(con&amp;nbsp;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color: #0086b3;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;null&lt;/span&gt;)&amp;nbsp;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;try&lt;/span&gt;&amp;nbsp;{&amp;nbsp;con.close();&amp;nbsp;}&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;catch&lt;/span&gt;&amp;nbsp;(SQLException&amp;nbsp;e2)&amp;nbsp;{&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&lt;a style=&quot;color: #e5e5e5text-decoration:none;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;vertical-align: bottom; padding: 0 2px 4px 0;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&lt;a style=&quot;text-decoration: none; color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; color: white; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;아래와 같이 try 바로 옆에 리소스 호출을 넣어주면 자동으로 닫아주어 편리합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;close()를 명시적으로 호출하지 않아도 자동으로 호출됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;colorscripter-code&quot; style=&quot;color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position: relative !important; overflow: auto;&quot;&gt;
&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin: 0; padding: 0; border: none; background-color: #fafafa; border-radius: 4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 6px; border-right: 2px solid #e5e5e5;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; word-break: normal; text-align: right; color: #666; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;3&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;4&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;5&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;6&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;7&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;8&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;padding: 6px 0; text-align: left;&quot;&gt;
&lt;div style=&quot;margin: 0; padding: 0; color: #010101; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height: 130%;&quot;&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;try(&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Connection&amp;nbsp;con&amp;nbsp;=&amp;nbsp;DriverManager.getConnection(...);&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PreparedStatement&amp;nbsp;pstmt&amp;nbsp;=&amp;nbsp;...;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;)&amp;nbsp;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;}&amp;nbsp;catch&amp;nbsp;(SQLException&amp;nbsp;e)&amp;nbsp;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: right; margin-top: -13px; margin-right: 5px; font-size: 9px; font-style: italic;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&lt;a style=&quot;color: #e5e5e5text-decoration:none;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;vertical-align: bottom; padding: 0 2px 4px 0;&quot;&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&lt;a style=&quot;text-decoration: none; color: white;&quot; href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: #e5e5e5; color: white; border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;java.lang.AutoCloseable 인터페이스를 구현한 객체만을 사용할 수 있습니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>JAVA</category>
      <category>Java</category>
      <author>KoYKDH</author>
      <guid isPermaLink="true">https://livingcode.tistory.com/14</guid>
      <comments>https://livingcode.tistory.com/14#entry14comment</comments>
      <pubDate>Sun, 14 Jul 2019 17:08:51 +0900</pubDate>
    </item>
    <item>
      <title>[Spring] UTF-8 인코딩 필터 적용</title>
      <link>https://livingcode.tistory.com/13</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;한글과 같은 영어 외의 문자를 사용할때 깨지는 경우가 발생하면&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;web.xml에 다음과 같은 코드를 추가함으로써 전역에 UTF-8을 적용할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1562948149612&quot; class=&quot;html xml&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;filter&amp;gt; 
    &amp;lt;filter-name&amp;gt;encodingFilter&amp;lt;/filter-name&amp;gt; 
    &amp;lt;filter-class&amp;gt;org.springframework.web.filter.CharacterEncodingFilter&amp;lt;/filter-class&amp;gt; 
    &amp;lt;init-param&amp;gt; 
       &amp;lt;param-name&amp;gt;encoding&amp;lt;/param-name&amp;gt; 
       &amp;lt;param-value&amp;gt;UTF-8&amp;lt;/param-value&amp;gt; 
    &amp;lt;/init-param&amp;gt; 
    &amp;lt;init-param&amp;gt; 
       &amp;lt;param-name&amp;gt;forceEncoding&amp;lt;/param-name&amp;gt; 
       &amp;lt;param-value&amp;gt;true&amp;lt;/param-value&amp;gt; 
    &amp;lt;/init-param&amp;gt; 
 &amp;lt;/filter&amp;gt; 
 &amp;lt;filter-mapping&amp;gt; 
    &amp;lt;filter-name&amp;gt;encodingFilter&amp;lt;/filter-name&amp;gt; 
    &amp;lt;url-pattern&amp;gt;/*&amp;lt;/url-pattern&amp;gt; 
 &amp;lt;/filter-mapping&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Spring Framework</category>
      <category>spring</category>
      <category>인코딩</category>
      <author>KoYKDH</author>
      <guid isPermaLink="true">https://livingcode.tistory.com/13</guid>
      <comments>https://livingcode.tistory.com/13#entry13comment</comments>
      <pubDate>Sat, 13 Jul 2019 01:16:55 +0900</pubDate>
    </item>
    <item>
      <title>[Eclipse] 파일명 변경시 인식 문제</title>
      <link>https://livingcode.tistory.com/12</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;이클립스 IDE를 이용하여 자바를 작성할 때 클래스명의 오타 등을 변경하기 위해 종종&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;[프로젝트 우클릭] - [rename] 기능을 사용하곤 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;그런데 이름이 아예 바뀌면 상관없지만 homeController -&amp;gt; HomeController와 같이&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;대소문자만 바뀔 경우 이것이 반영이 안되어 인식하지 못하게 되는 문제가 발생하는 경우가 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;&amp;lt;그림 1&amp;gt;과 같이&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;[해당 파일 우클릭] - [Show In] - [System Explorer]를 통해 해당 폴더로 이동하여 직접 파일명의 대소문자를&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Nanum Gothic;&quot;&gt;수정하면 문제가 해결됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;1.jpg&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GMD6X/btqwIZw84Ph/wdbpZMeYuijBNwfxPlO2xK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GMD6X/btqwIZw84Ph/wdbpZMeYuijBNwfxPlO2xK/img.jpg&quot; data-alt=&quot;&amp;amp;amp;lt;그림 1&amp;amp;amp;gt;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GMD6X/btqwIZw84Ph/wdbpZMeYuijBNwfxPlO2xK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGMD6X%2FbtqwIZw84Ph%2FwdbpZMeYuijBNwfxPlO2xK%2Fimg.jpg&quot; data-filename=&quot;1.jpg&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;그림 1&amp;gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>WEB 일반</category>
      <category>Eclipse</category>
      <category>IDE</category>
      <author>KoYKDH</author>
      <guid isPermaLink="true">https://livingcode.tistory.com/12</guid>
      <comments>https://livingcode.tistory.com/12#entry12comment</comments>
      <pubDate>Thu, 11 Jul 2019 23:16:23 +0900</pubDate>
    </item>
  </channel>
</rss>