<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>It's EASY</title>
    <link>https://its-easy.tistory.com/</link>
    <description>웹프로그래밍 팁, 강좌 등등..</description>
    <language>ko</language>
    <pubDate>Mon, 6 Jul 2026 22:10:19 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>꼴레뇨</managingEditor>
    <image>
      <title>It's EASY</title>
      <url>https://tistory1.daumcdn.net/tistory/2872933/attach/06963086e1cb4e359bcd946975635f65</url>
      <link>https://its-easy.tistory.com</link>
    </image>
    <item>
      <title>Spring Boot에서 JSP 사용을 권장하지 않는 이유</title>
      <link>https://its-easy.tistory.com/32</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;Spring Boot에서 JSP를 왜 권장하지 않는지 아주 간단하게 알아보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;JAR 패키징 불가능&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Spring Boot의 큰 장점 중 하나가 별도의 서버 설치나 설정 없이 JAR파일 실행 만으로 배포가 가능하다는 건데 JSP를 사용하게 되면 이 장점이 사라진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;JAR 패키징이 불가능한 건 아니지만 별도의 설정 작업이 필요하고, 이를 다 하더라도 JSP 파일을 못불러오는 등의 여러가지 문제가 있다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;일부 WAS는 아예 불가능하다고도 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;일부 WAS와의 호환성 문제&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;일단 Undertow는 공식적으로 JSP를 지원하지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;강제로 어떻게 하면 된다고는 하지만 굳이 그런 불안한 일을 할 필요는 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;혹시 나중에 뛰어난 성능의 새로운 WAS가 생긴다면 JSP 때문에 사용할 수 없게 될 수도 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;개발 환경이 복잡해짐&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;JSP파일을 꼭 특정 위치에 배치해야 하고, JSP만을 위한 라이브러리 의존성도 추가해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Java 코드가 화면 단에 들어갈 가능성이 있음&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;화면에서 서버에 요청을 보내고, 응답을 받아서 처리하는 게 개발 생산성이나 유지보수에 유리한데 JSP는 다른 템플릿 엔진과는 달리 서버에 요청을 보내지 않고도 직접 Java 코드를 넣어서 실행할 수가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;안 넣으면 상관이 없긴 하지만 무조건 안 들어간다는 보장은 없기 때문에 Java 코드를 넣을 수 있다는 점은 JSP의 가장 큰 단점 중에 하나다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Hot Reload 완벽하게 안됨&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;Spring DevTools를 사용하면 화면 파일이 변경되면 자동으로 반영되게 할 수 있지만 JSP는 안 된다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;별도의 설정을 하면 수정이 감지되면 WAS가 재시작되게 할 수는 있지만 완전한 Hot Reload라고 보기는 어렵다.&lt;/p&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;!--헤드라인시작--&gt;&lt;/h4&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;!--부제목사용1 끝--&gt;&lt;!--문단 마지막 사용 시작--&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;u&gt;&lt;b&gt;위에 쓴 내용 외에도 더 많은 문제가 있을 것이다.&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;u&gt;&lt;b&gt;그냥 Spring Boot에서 권장하는데로 &lt;/b&gt;&lt;/u&gt;&lt;u&gt;&lt;b&gt;Thymeleaf나 FreeMarker, Mustaeche 등을 쓰거나 React, Vue등의 Frontend 프레임워크를 사용하는 게 맞는 방향인 것 같다.&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Spring</category>
      <category>jsp</category>
      <category>SpringBoot</category>
      <category>Thymeleaf</category>
      <author>꼴레뇨</author>
      <guid isPermaLink="true">https://its-easy.tistory.com/32</guid>
      <comments>https://its-easy.tistory.com/32#entry32comment</comments>
      <pubDate>Fri, 28 Feb 2025 12:34:37 +0900</pubDate>
    </item>
    <item>
      <title>React 쉽게 시작하기</title>
      <link>https://its-easy.tistory.com/31</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;React를 처음 공부하려고 하면 초보자 입장에서는 환경 세팅 부터가 어렵다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;node.js를 설치해야 하고, VSCode도 설치해야 하고, 필수적으로 필요한 extension도 설치해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;create-react-app이나 vite 같은 것을 이용해서 React 프로젝트를 생성해야 하는데&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;터미널에 들어가서 선행작업 해야 할 것도 있고, 이래 저래 초보자 입장에서는 시작부터 어렵다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;동영상 강의 같은 걸 보고 그대로 따라해도 강의 제작 당시의 상황과 현 상황이 달라서 잘 안 될 수도 있다.&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;이런 것들 때문에 시작부터 고생하기 보다는 React 그 자체를 배우는데 집중하는 게 더 좋은 선택인 것 같다.&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;다행히 React 공식문서는 한글 번역이 아주 잘 되어 있고, 초보자가 공부하기에도 편리하게 되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구글에서 React라고 검색하면 제일 첫 번째 나오는 사이트는 구버전 사이트이니 주의해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 번째 나오는 아래 사이트가 최신 버전의 사이트다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://ko.react.dev/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://ko.react.dev/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1732673317769&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;React&quot; data-og-description=&quot;React is the library for web and native user interfaces. Build user interfaces out of individual pieces called components written in JavaScript. React is designed to let you seamlessly combine components written by independent people, teams, and organizati&quot; data-og-host=&quot;ko.react.dev&quot; data-og-source-url=&quot;https://ko.react.dev/&quot; data-og-url=&quot;https://ko.react.dev/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/benOqR/hyXDhwrcAc/bUMYBmkk8Moh8QZp9Lmya0/img.png?width=1080&amp;amp;height=567&amp;amp;face=0_0_1080_567,https://scrap.kakaocdn.net/dn/Vq96e/hyXDcaQnPY/3pPdFd8zYfELnGjw5JG4BK/img.png?width=1080&amp;amp;height=567&amp;amp;face=0_0_1080_567&quot;&gt;&lt;a href=&quot;https://ko.react.dev/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ko.react.dev/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/benOqR/hyXDhwrcAc/bUMYBmkk8Moh8QZp9Lmya0/img.png?width=1080&amp;amp;height=567&amp;amp;face=0_0_1080_567,https://scrap.kakaocdn.net/dn/Vq96e/hyXDcaQnPY/3pPdFd8zYfELnGjw5JG4BK/img.png?width=1080&amp;amp;height=567&amp;amp;face=0_0_1080_567');&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;React&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;React is the library for web and native user interfaces. Build user interfaces out of individual pieces called components written in JavaScript. React is designed to let you seamlessly combine components written by independent people, teams, and organizati&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ko.react.dev&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;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;초보자에게 추천하는 React 공식문서 보는 방법&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 학습하기 버튼 클릭&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;2. 좌측 트리에 보면 시작하기와 React 학습으로 나뉘어 있는데 시작하기는 생략하고, React 학습을 순서대로 보기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; * 솔직히 처음부터 끝까지 다 보기에는 지루해서 힘들다. 어느 정도 보다가 약간 감을 잡으면 자신만의 방법으로 AI의 도움도 받으면서 학습해보는 것도 괜찮은 방법이다.&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;3. 각 예제 소스마다 있는 포크 버튼 클릭하면 CodeSandBox 사이트가 열리고, 예제 소스가 실행 가능한 상태의 프로젝트가 바로 뜬다. 그대로 따라도 쳐보고, 수정도 해보면서 연습해보는 게 초보자가 쉽게 시작하는 최고의 방법인 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; * CodeSandBox에서 작업한 내용은 다운로드 받아서 로컬에 설치된 VSCode에서도 쉽게 불러올 수 있다.&lt;/p&gt;</description>
      <category>React</category>
      <category>CodeSandbox</category>
      <category>React</category>
      <category>react 강의</category>
      <category>react 강좌</category>
      <category>react 공식문서</category>
      <author>꼴레뇨</author>
      <guid isPermaLink="true">https://its-easy.tistory.com/31</guid>
      <comments>https://its-easy.tistory.com/31#entry31comment</comments>
      <pubDate>Wed, 27 Nov 2024 11:16:10 +0900</pubDate>
    </item>
    <item>
      <title>Nexacro 그리드 콤보박스와 캘린더 칼럼 클릭 시 바로 선택되지 않는 문제</title>
      <link>https://its-easy.tistory.com/30</link>
      <description>&lt;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&amp;nbsp;문제점&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Nexacro 그리드의 edittype이 combo이거나 date일 경우 별다른 설정을 하지 않았을 경우 총 3번을 클릭해야 콤보박스나 캘린더가 펼쳐진다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;굉장히 불편하다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&amp;nbsp;그리드 속성 autoenter = select로 변경&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;도움말을 읽어보면 select는 셀을 선택하면 편집모드용 컨트롤이 자동으로 활성화 된다고 써 있고,&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;기본값인 none이나 또 다른 값인 key의 경우는 셀을 선택한 후 엔터키나 클릭을 해야 활성화 된다고 써 있다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그리드의 autoenter 속성을 select로 바꾸도록 하자.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그러면 1번만 클릭해도 편집모드가 될 것이다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&amp;nbsp;그리드 oncellclick 이벤트 함수에 아래 소스코드 추가&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;아래 소스코드가 없고 autoenter = select만 되어 있다면 2번 클릭해야 콤보박스나 캘린더가 펼처진다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;아래 소스코드까지 추가하면 셀을 1번만 클릭해도 콤보박스나 캘린더가 1번에 펼쳐진다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;this.Grid00_00_oncellclick&amp;nbsp;=&amp;nbsp;function(obj:nexacro.Grid,e:nexacro.GridClickEventInfo)&lt;br /&gt;{&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; var cellType = obj.getCurEditType();&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (&quot;combo&quot; == cellType) { &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; obj.dropdownCombo(); &lt;br /&gt;&amp;nbsp; &amp;nbsp; } else if (&quot;date&quot; == cellType) { &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; obj.dropdownCalendar(); &lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;}&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&amp;nbsp;테스트 소스 첨부&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/dXLJMl/btsIQEndiYc/OaU2FzIKUkzb0g8qP8bGV1/gridOneClickDropDown.xfdl?attach=1&amp;amp;knm=tfile.xfdl&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;gridOneClickDropDown.xfdl&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.00MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Nexacro</category>
      <category>autoenter</category>
      <category>dropdowncalendar</category>
      <category>dropdowncombo</category>
      <category>Grid</category>
      <category>Nexacro</category>
      <author>꼴레뇨</author>
      <guid isPermaLink="true">https://its-easy.tistory.com/30</guid>
      <comments>https://its-easy.tistory.com/30#entry30comment</comments>
      <pubDate>Thu, 1 Aug 2024 00:24:22 +0900</pubDate>
    </item>
    <item>
      <title>Nexacro N V24 ListView nodatatext 안되는 문제</title>
      <link>https://its-easy.tistory.com/29</link>
      <description>&lt;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;문제점&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Design 모드에서 ListView의 nodatatext에 값을 입력해도 디자인 모드에서만 적용될 뿐 실제 실행해보면 기본값인 &quot;nodatatext&quot; 라는 문구만 계속 표시된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Grid는 Design 모드에서만 입력해도 정상적으로 동작하는 것을 보면 아무래도 버그인 듯 하다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;730&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dxGaTe/btsHbg8x3VP/91CQXsKhyrDNIgZhJAez7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dxGaTe/btsHbg8x3VP/91CQXsKhyrDNIgZhJAez7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dxGaTe/btsHbg8x3VP/91CQXsKhyrDNIgZhJAez7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdxGaTe%2FbtsHbg8x3VP%2F91CQXsKhyrDNIgZhJAez7K%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;1271&quot; height=&quot;730&quot; data-origin-width=&quot;1271&quot; data-origin-height=&quot;730&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;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1212&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cuGNTV/btsHbuFuAGb/CAbCWifhOaQZ7XKWAK5lAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cuGNTV/btsHbuFuAGb/CAbCWifhOaQZ7XKWAK5lAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cuGNTV/btsHbuFuAGb/CAbCWifhOaQZ7XKWAK5lAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcuGNTV%2FbtsHbuFuAGb%2FCAbCWifhOaQZ7XKWAK5lAk%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;1212&quot; height=&quot;1024&quot; data-origin-width=&quot;1212&quot; data-origin-height=&quot;1024&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;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;해결 방법&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 Script 모드에서 아래와 같이 직접 설정해주면 정상적으로 사용자가 설정한 문구가 표시된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #066de2; text-align: start;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #010101; text-align: start;&quot;&gt;.ListView00.nodatatext &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #a71d5d; text-align: start;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #010101; text-align: start;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #63a35c; text-align: start;&quot;&gt;&quot;데이터가 없습니다.&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #010101; text-align: start;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;background-color: #ffffff; color: #010101; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1212&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biOA2R/btsHbUX65gV/oKxxtXROJYk8f8bzGn1BTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biOA2R/btsHbUX65gV/oKxxtXROJYk8f8bzGn1BTk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biOA2R/btsHbUX65gV/oKxxtXROJYk8f8bzGn1BTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiOA2R%2FbtsHbUX65gV%2FoKxxtXROJYk8f8bzGn1BTk%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;1212&quot; height=&quot;1024&quot; data-origin-width=&quot;1212&quot; data-origin-height=&quot;1024&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;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;주의할 점&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Design 모드에서 nodatatext 속성에 입력한 값이 남아있다면 Script 모드에서 직접 설정해줘도 동작 안하는 경우가 있으니 Design 모드의 nodatatext 속성값은 삭제해줘야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무 문구도 표시하고 싶지 않을 경우에는 &quot; &quot;을 입력하면 된다.&lt;/p&gt;</description>
      <category>Nexacro</category>
      <category>ListView</category>
      <category>Nexacro</category>
      <category>nodatatext</category>
      <author>꼴레뇨</author>
      <guid isPermaLink="true">https://its-easy.tistory.com/29</guid>
      <comments>https://its-easy.tistory.com/29#entry29comment</comments>
      <pubDate>Sat, 4 May 2024 00:52:30 +0900</pubDate>
    </item>
    <item>
      <title>IntelliJ에서의 Git 사용법 기초 강좌</title>
      <link>https://its-easy.tistory.com/27</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;!--헤드라인시작--&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;IntelliJ에서 Git을 사용하는 기초적인 방법을 설명하는 글입니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;IntelliJ IDEA 2021.3(Ultimate) 버전을 기준으로 작성되었습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;이 글에서는 Git 명령어는 사용하지 않고, IntelliJ에서 GUI로 제공하는 기능만 사용합니다.&lt;/span&gt;&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;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Git 설치&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://git-scm.com/downloads&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://git-scm.com/downloads&lt;/a&gt; 에서 각자의 운영체제에 맞는 설치파일을 다운로드 후 설치해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Standalone Installer(설치 버전), Portable(무설치 버전)이 있는데 특별한 이유가 없으면 Standalone Installer를 추천&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Next만 눌러서 설치를 완료해도 일반적으로 사용하는데 문제 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 아래 링크에 각 운영체제별 설치방법 및 설치 Step별 자세한 설명이 잘 나와있으니 필요한 사람은 참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.lainyzine.com/ko/article/a-summary-of-git-installation-methods-by-operating-system/&quot;&gt;https://www.lainyzine.com/ko/article/a-summary-of-git-installation-methods-by-operating-system/&lt;/a&gt;&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;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Git 사용자 정보 설정&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 명령어를 윈도우 cmd창이나 git bash나 IntelliJ Terminal 중 아무데서나 입력해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 과정을 생략하면 나중에 commit 했을 때 History에 보이는 이름과 메일 주소가 의도하지 않은 값으로 나온다.&lt;/p&gt;
&lt;pre id=&quot;code_1642470703701&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git config --global user.name &quot;사용자 이름&quot; 
git config --global user.email &quot;사용자 이메일 주소&quot;&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;
&lt;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;IntelliJ GitHub 연동&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;▷ GitHub 가입 (&lt;a href=&quot;https://github.com/&quot;&gt;https://github.com/&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;▷ IntelliJ 프로젝트 생성 (아무 프로젝트나 상관없음)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;▷ IntelliJ에 GitHub 연동&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - IntelliJ 화면 상단 메뉴에서 File -&amp;gt; Settigs... 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 오픈된 팝업에서 Version Control -&amp;gt; GitHub 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - +버튼 클릭 -&amp;gt; Log In via GitHub... 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 오픈된 JetBrain 웹페이지에서 Authorize in GitHub 버튼 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - 오픈된 GitHub 웹페이지에서 로그인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; - IntelliJ 팝업에서 OK 버튼 클릭&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;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;GitHub Repository 생성 및 소스 올리기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;▷&amp;nbsp;IntelliJ 화면 상단 메뉴에서 Git -&amp;gt; GitHub -&amp;gt; Share Project on GitHub 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;▷&amp;nbsp;오픈된 팝업에서 Share 버튼 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;▷&amp;nbsp;오픈된 팝업에서 Add 버튼 클릭&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;여기까지 진행하고 GitHub에 들어가보면 새로운 Repository가 생성되어 있고, 내가 생성한 프로젝트 소스가 올라가 있는 것을 확인할 수 있다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Git Repository에서 소스 Local로 내려받기&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;연습삼아 해보는 것이기 때문에 이 부분은 그냥 건너 뛰어도 상관없다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;▷ IntelliJ 화면 상단 메뉴에서 File -&amp;gt; Close Project 클릭&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;▷ Local에서 아까 생성했던 프로젝트 폴더를 삭제&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;▷ 오픈된 팝업에서 Get from VCS 버튼 클릭&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;▷ URL 입력 하고, Directory 지정 후 Clone 버튼 클릭&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; * URL은 GitHub 웹페이지에서 이전에 생성했던 Repository를 클릭하면 브라우저의 주소표시줄에서 확인 가능&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Git Branch 전략&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;Git Branch를 생성하고, 관리하는 방법은 각 회사/팀마다 다르다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;이 글에서는 총 4개의 Branch를 생성해서 연습해볼 예정이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;▷ master(상용서버에 배포된 버전),&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;▷ develop(개발서버에 배포된 버전)&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;▷ feature1(기능1 개발중인 Branch)&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;▷ feature2(기능2 개발중인 Branch)&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Branch 확인하기, Branch 생성하기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Git Repository를 생성하면 기본적으로 master Branch가 생성되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;좌측 하단의 Git 탭을 클릭하면 Branch 목록과 Git History를 볼 수 있고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우측 하단의 master라고 되어있는 부분을 클릭해도 Branch 목록을 볼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우측 하단의 master는 현재 Branch의 이름을 의미한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1308&quot; data-origin-height=&quot;1125&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n5Eze/btrq4q7Y9Z8/v4kj5TChPGh1XSpRZIgrP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n5Eze/btrq4q7Y9Z8/v4kj5TChPGh1XSpRZIgrP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n5Eze/btrq4q7Y9Z8/v4kj5TChPGh1XSpRZIgrP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn5Eze%2Fbtrq4q7Y9Z8%2Fv4kj5TChPGh1XSpRZIgrP1%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;1308&quot; height=&quot;1125&quot; data-origin-width=&quot;1308&quot; data-origin-height=&quot;1125&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;좌측 하단의 +버튼을 클릭하거나 우측 하단의 현재 Branch명을 클릭하면 나오는 팝업창에서 + New Branch를 클릭하면 새로운 Branch를 생성할 수 있다. develop Branch를 생성해보도록 하자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;301&quot; data-origin-height=&quot;176&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c02fX7/btrq7bOzVjs/GVxKzjvkl4nS7vFwSdmmd0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c02fX7/btrq7bOzVjs/GVxKzjvkl4nS7vFwSdmmd0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c02fX7/btrq7bOzVjs/GVxKzjvkl4nS7vFwSdmmd0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc02fX7%2Fbtrq7bOzVjs%2FGVxKzjvkl4nS7vFwSdmmd0%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;301&quot; height=&quot;176&quot; data-origin-width=&quot;301&quot; data-origin-height=&quot;176&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;Branch를 확인해보면 Local에만 생겼고, Remote에는 생성되지 않았다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;우측 상단의 Push 버튼(녹색 화살표 모양 버튼)을 클릭해서 Push를 완료하면 Remote에도 develop Branch가 생성된다.&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;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Git Index(Staging Area)에 추가하기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Git은 Index(Staging Area)에 있는 파일만 commit 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로운 파일을 생성해보면 Add File to Git이라는 확인창이 출력된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #409d00;&quot;&gt;Add 버튼을 클릭하면 Index에 추가되고, 파일명이 녹색으로 바뀐다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;Cancel 버튼을 클릭하면 Index에 추가되지 않고, 파일명이 빨간색으로 바뀐다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #0593d3;&quot;&gt;기존에 있던 파일의 내용을 수정하면 Index에 추가되고, 파일명이 하늘색으로 바뀐다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Index에 추가되지 않은 파일을 다시 Index에 추가하려면 좌측의 파일목록 트리에서 파일 우클릭 -&amp;gt; Git -&amp;gt; Add를 클릭하면 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;index.PNG&quot; data-origin-width=&quot;1151&quot; data-origin-height=&quot;989&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bs4cwH/btrq594ZCbX/bfdUK4oYAAPVKkgch7Ud21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bs4cwH/btrq594ZCbX/bfdUK4oYAAPVKkgch7Ud21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bs4cwH/btrq594ZCbX/bfdUK4oYAAPVKkgch7Ud21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbs4cwH%2Fbtrq594ZCbX%2FbfdUK4oYAAPVKkgch7Ud21%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;1151&quot; height=&quot;989&quot; data-filename=&quot;index.PNG&quot; data-origin-width=&quot;1151&quot; data-origin-height=&quot;989&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Commit / Push&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Commit 버튼(우측 상단의 녹색 체크모양의 버튼)을 클릭하면 좌측 상단에 Commit 가능한 파일 목록이 표시된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Changed 하위에 있는 파일이 Git Index에 추가된 파일이고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Unversioned Files 하위에 있는 파일은 Git Index에 추가되지 않은 파일이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Commit 할 파일을 체크하고, 파일 목록 아래에 Commit 메시지를 작성한 후 그 밑에 있는 Commit 버튼을 클릭하면 Local Branch에 Commit이 완료된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 옆의 Commit and Push... 버튼을 클릭하면 Remote Branch까지 한방에 올라간다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Local Branch를 굳이 활용하지 않는다면 Commit and Push...가 더 편한 방법이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우측 상단의 Push 버튼(녹색 화살표 모양 버튼)을 클릭하면 Index에 추가된 파일이 Remote Branch로 올라간다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;※ IntelliJ에서는 Git Index에 추가되지 않은 파일도 체크하고 Commit 버튼을 클릭하면 자동으로 Git Index에 추가 후 Local Branch에 Commit 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1151&quot; data-origin-height=&quot;989&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZUVIJ/btrq7TNNYpK/C2IEgYUmozBodRZL6QsP50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZUVIJ/btrq7TNNYpK/C2IEgYUmozBodRZL6QsP50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZUVIJ/btrq7TNNYpK/C2IEgYUmozBodRZL6QsP50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZUVIJ%2Fbtrq7TNNYpK%2FC2IEgYUmozBodRZL6QsP50%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;1151&quot; height=&quot;989&quot; data-origin-width=&quot;1151&quot; data-origin-height=&quot;989&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;History 확인하기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;History를 확인해보면 Commit만 했을 때는 Branch명이 develop이라고만 되어있고, Push까지 완료하면 origin &amp;amp; develop으로 변경되는 것을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;History 한줄을 클릭하면 우측에 변경된 파일 목록이 출력된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일을 더블클릭하면 이전과 비교해서 어떤 부분이 달라졌는지 자세히 보여준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1349&quot; data-origin-height=&quot;989&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOU5iC/btrq4xeeM7C/uXBRCrHvKiLuOTY6YBQYcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOU5iC/btrq4xeeM7C/uXBRCrHvKiLuOTY6YBQYcK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOU5iC/btrq4xeeM7C/uXBRCrHvKiLuOTY6YBQYcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOU5iC%2Fbtrq4xeeM7C%2FuXBRCrHvKiLuOTY6YBQYcK%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;1349&quot; height=&quot;989&quot; data-origin-width=&quot;1349&quot; data-origin-height=&quot;989&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Checkout / Merge&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재까지의 변경사항은 develop Branch에만 적용되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;master Branch에도 적용하려면 일단 master Branch로 이동해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Branch 이동을 Checkout이라고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Branch 목록에서 master를 우클릭 또는 클릭 후 checkout을 클릭하면 develop Branch에서 master Branch로 이동된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;※ Local Branch로 Checkout 하든 Remote Branch로 Checkout 하든 똑같이 Local Branch로 Checkout이 되기 때문에 checkout 할때는 Local과 Remote를 신경쓸 필요는 없다.&lt;/span&gt;&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;Branch 목록에서 develop을 우클릭 또는 클릭 후 Merge 'develop' into 'master'를 클릭하면 master의 Local Branch에만 develop Branch의 변경내용이 반영된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Push까지 완료하면 Remote Branch까지 반영된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;※ Local Branch를 Merge하면 Commit한 내용만 반영되고, Remote Branch를 Merge하면 Push까지 완료된 내용이 반영된다.&lt;/span&gt;&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;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Fetch&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Fetch는 전체 Remote Branch의 변경내용이 있는지 확인하는 기능이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;테스트를 위해 develop Branch로 Checkout한 후 feature1 Branch를 생성하고, Push 해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다시 develop Branch로 Checkout한 후 feature2 Branch를 생하고, Push 해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;※ 새로 생성된 Branch는 현재 Checkout된 Branch를 기준으로 생성되는 것임을 기억해야 한다.&lt;/span&gt;&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;Github 웹페이지에서 feature1/feature2 Branch의 소스를 직접 수정하고, Commit 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 IntelliJ 화면 상단 메뉴에서 Git -&amp;gt; Fetch를 클릭한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;feature1/feature2 Remote Branch의 History는 Github 웹페이지에서 수정된 내역이 추가되어 있고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;feature1/feature2 Local Branch 우측에는 아래쪽으로 향한 파란색 화살표 아이콘이 생긴 것을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내려받을 소스가 있다는 의미이다.&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;Fetch는 변경사항이 있는 Remote Branch의 History를 업데이트 해주고, Local Branch는 내려받을 소스가 있다고 알려주는 기능이라고 볼 수 있다.&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;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Update Project...&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Update Project...는 IntelliJ 화면 우측 상단에 하늘색의 아래쪽으로 향한 화살표 버튼이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 Checkout된 Branch를 Fetch 하고, Remote Branch를 Local Branch로 Merge 해주는 기능이다.&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;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Conflict 해결&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Push, Merge, Update Project 등을 할 때 같은 파일의 동일한 부분을 서로 다르게 수정되어 있으면 Conflict가 발생한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Conflict가 발생하면 아래와 같은 팝업이 호출되는데 왼쪽과 오른쪽을 참고해서 가운데를 적당하게 수정해주면 가운데의 소스로 적용이 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1538&quot; data-origin-height=&quot;861&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/spdcN/btrq8sDduXo/AlzXXZHcXYwmQjlmcXUhl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/spdcN/btrq8sDduXo/AlzXXZHcXYwmQjlmcXUhl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/spdcN/btrq8sDduXo/AlzXXZHcXYwmQjlmcXUhl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FspdcN%2Fbtrq8sDduXo%2FAlzXXZHcXYwmQjlmcXUhl1%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;1538&quot; height=&quot;861&quot; data-origin-width=&quot;1538&quot; data-origin-height=&quot;861&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;Commit 취소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Git History에서 아직 Push되지 않은 이력을 우클릭 한 후 Undo Commit...을 클릭하면 Commit 취소가 가능하다.&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;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;Rollback&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수정된 내용을 가장 최근 History로 되돌릴 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일소스에서 우클릭 -&amp;gt; Git -&amp;gt; Rollback을 클릭하여 할수도 있고, 파일목록에서 여러개를 한꺼번에 선택하고 우클릭 -&amp;gt; Git -&amp;gt; Rollback을 클릭해서도 할 수 있다.&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;h3 style=&quot;box-sizing: border-box; margin-bottom: 5px; border-right-width: 0px; word-spacing: 3px; margin-top: 5px; border-bottom: #698be2 2px solid; border-left: #698be2 12px solid; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; margin-right: 0px; border-image: initial; padding: 3px 5px 3px 5px;&quot; data-ke-size=&quot;size23&quot;&gt;Smart Checkout / Force Checkout&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Local에서 소스를 수정하고, Commit하지 않은 상태에서 다른 Branch로 Checkout할 때 충돌이 발생하면 아래와 같은 팝업창이 나올 수도 있다. Force Checkout을 클릭하면 Local에서의 수정된 내용을 날려버리는 것이고, Smart Checkout은 Local에서의 변경 내용을 Git Index에 보관하는 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;439&quot; data-origin-height=&quot;567&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2hfts/btrq6vuuRiG/qikx8m84HPsdsGMIRiEkj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2hfts/btrq6vuuRiG/qikx8m84HPsdsGMIRiEkj1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2hfts/btrq6vuuRiG/qikx8m84HPsdsGMIRiEkj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2hfts%2Fbtrq6vuuRiG%2Fqikx8m84HPsdsGMIRiEkj1%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;439&quot; height=&quot;567&quot; data-origin-width=&quot;439&quot; data-origin-height=&quot;567&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;!--문단 마지막 사용 끝--&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;!--문단 마지막 사용 끝--&gt;&lt;/p&gt;</description>
      <category>IntelliJ</category>
      <category>git</category>
      <category>Git 사용법</category>
      <category>Git 연동</category>
      <category>IntelliJ</category>
      <category>인텔리제이</category>
      <author>꼴레뇨</author>
      <guid isPermaLink="true">https://its-easy.tistory.com/27</guid>
      <comments>https://its-easy.tistory.com/27#entry27comment</comments>
      <pubDate>Mon, 17 Jan 2022 15:51:47 +0900</pubDate>
    </item>
    <item>
      <title>[Java] Eclipse에서 Class 파일 열기</title>
      <link>https://its-easy.tistory.com/25</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Eclipse만 설치한 상태에서 확장자가 class인 파일을 열려고 하면 Source not found라고 뜨면서 제대로 된 소스코드가 보이지 않는다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;class파일 소스코드를 보는 방법은 여러가지가 있지만 개인적으로는 Eclipse에 플러그인을 설치해서 보는게 가장 편했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; 방법은 아래와 같다.&lt;/span&gt;&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;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;1. Eclipse Marketplace에서 Enhancde Class Decompiler 검색 후 install&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;&amp;nbsp; * 검증되지 않은 소프트웨어라는 경고창이 하나 뜨면 Install anyway 버튼 클릭&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;2. 재시작 여부를 묻는 알림창이 나오면 Restart now 클릭해서 Eclipse 재시작&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;3. Window - Preferences - General - Editors - File Associations로 이동&lt;/b&gt;&lt;/span&gt;&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;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;4. *.class, *.class without source의 Default를 Class Decompiler Viewer로 설정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&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>Java</category>
      <author>꼴레뇨</author>
      <guid isPermaLink="true">https://its-easy.tistory.com/25</guid>
      <comments>https://its-easy.tistory.com/25#entry25comment</comments>
      <pubDate>Mon, 31 May 2021 17:58:54 +0900</pubDate>
    </item>
    <item>
      <title>프로그래머 프리랜서 일자리 구하는 방법</title>
      <link>https://its-easy.tistory.com/24</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; color: rgb(9, 0, 255);&quot;&gt;1.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; color: rgb(9, 0, 255);&quot;&gt;&amp;nbsp;잡코리아, 사람인에 이력서를 작성한 후 이력서를 공개한다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;가장 확실하고, 쉽고, 추천해주고 싶은 방법이다.&lt;/p&gt;&lt;p&gt;본인도 지금까지&amp;nbsp;모든 프로젝트를 이 방법으로 구했다.&lt;/p&gt;&lt;p&gt;그리고 이력서를 공개할 때 희망급여와 희망근무지역을 선택할 수 있어서 전혀 조건이 맞지 않는 업체들은 사전에 필터링을 할 수 있어서 좋다.&lt;/p&gt;&lt;p&gt;단순 인력만 파견하는 업체에서 가장 연락이 많이 오지만 실질적으로 프로젝트를 수행하는 업체에서 직접 연락이 오기도 한다.&lt;/p&gt;&lt;p&gt;이력서 공개 후에 참고할만한 팁을 몇가지 적어보겠다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;- 먼저 연락오는 곳은 좋지않은 곳일 확률이 높다.&lt;/p&gt;&lt;p&gt;먼저 연락이 오는 업체는 별로다 라는 인식이 많은데 프리랜서 일자리 구하는데에 있어서 만큼은 틀린 말이다.&lt;/p&gt;&lt;p&gt;인력파견업체는 인력만 넣어주고 끝이기 때문에 임금체불여부만 IT노동이나 잡플래닛 등을 통해서 확인하면 된다.&lt;/p&gt;&lt;p&gt;중요한 것은 고객사와 수행사 프로젝트 내용, 근무조건 등이 중요한 것이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;- 마음에 들더라도 단가를 꼭 확정한 후 면접일정을 잡자.&lt;/p&gt;&lt;p&gt;하루에 면접 하나만 봐도 뭔가 지치고, 프로젝트 진행중이라면 근무시간에 면접보러가기 눈치가 보이기도 한다.&lt;/p&gt;&lt;p&gt;최대한 헛걸음을 하지 말아야 한다.&lt;/p&gt;&lt;p&gt;만나서 이야기 하자거나 하면 높은 확률로 단가를 깎으려고 할 것이다.&lt;/p&gt;&lt;p&gt;단가부터 확정짓고 나서 면접에서는 프로젝트에 대해 궁금한 거 같은거만 물어보고, 합격여부만 결정하는 편이 좋다고 생각한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;- 전화를 끊기 전에 꼭 메일로 프로젝트 정보를 보내달라고 하자.&lt;/p&gt;&lt;p&gt;전화가 굉장히 여기저기서 많이 오기 때문에 말로만 듣다보면 헷갈린다.&lt;/p&gt;&lt;p&gt;이메일로 프로젝트 정보를 보내달라고 하면 다들 혼쾌히 보내준다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;- 구직중에는 이메일을 수시로 확인하자.&lt;/p&gt;&lt;p&gt;간혹 전화는 하지 않고, 이메일만 보내는 업체들도 있다.&lt;/p&gt;&lt;p&gt;그럴 경우는 뭔가 성의도 없어 보이고, 하나만 걸려라 식인것 같아서 무시했었는데 꼭 그렇지만도 않은 것 같다.&lt;/p&gt;&lt;p&gt;프로젝트 수십개를 쭈욱 나열해서 보내는 글들은 크게 영양가가 없을수도 있지만&lt;/p&gt;&lt;p&gt;프로젝트 딱 하나만 보낸 메일은 조금 주의깊게 볼 필요가 있다.&lt;/p&gt;&lt;p&gt;의외로 좋은 결과가 따라올수도 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; color: rgb(9, 0, 255);&quot;&gt;2. OKKY 사이트의 JOBS 게시판을 이용한다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;잡코리아나 사람인과는 다르게 정규직보다는 프리랜서 위주의 구인글이 대부분이라 보기 편하다.&lt;/p&gt;&lt;p&gt;마음에 드는 프로젝트가 있으면 담당자 이메일로 이력서 보내고, 이력서 보냈다고 문자 한통 남겨주자.&lt;/p&gt;&lt;p&gt;이메일을 보내면 씹히는 경우도 많고, 진행해보겠다는 답변이 오기도 한다.&lt;/p&gt;&lt;p&gt;지금까지 여기서 일을 구해본적이 한번도 없지만 프리랜서 프로젝트 정보가&amp;nbsp;이곳만큼 보기 편하게 정리된 곳도 없기 때문에 일자리 구할 때는 항상 들여다 본다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; color: rgb(9, 0, 255);&quot;&gt;3. 잡코리아, 사람인에서 프로젝트를 직접 검색한다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;사람인에서는 근무형태를 계약직/프리랜서로 선택해서 검색하면 어느정도 프리랜서 일자리만 골라서 볼수 있다.&lt;/p&gt;&lt;p&gt;하지만 잡코리아는 일일히 골라서 찾아보던가 검색어를 입력해서 검색해야 한다. (java 프리랜서, java 프로젝트 등)&lt;/p&gt;&lt;p&gt;굉장히 피곤한 방법이고, 쓸데없는 글도 많이 섞여서 보기 불편하다.&lt;/p&gt;&lt;p&gt;이 방법에 너무 힘을 쏟지는 않는 것을 개인적으로 추천한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; color: rgb(9, 0, 255);&quot;&gt;4. 주기적으로 인력업체로 부터 오는 메일, 문자 등을 확인한다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;구직활동을 하다보면 본의 아니게 연락처나 이메일이 여기저기 뿌려지게 된다.&lt;/p&gt;&lt;p&gt;몇몇 인력업체들이 문자나 메일로 본인들이 가지고 있는 프로젝트 정보들을 잔뜩 보내온다.&lt;/p&gt;&lt;p&gt;일이 잘 안구해질땐 한번씩 봐보는 것도 나쁘지 않을 것 같다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; color: rgb(9, 0, 255);&quot;&gt;5. 인맥을 통해서 간다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;가끔 이전에 같이 일했던 업체나 동료들에게 같이 일해보지 않겠냐고 연락이 오기도 한다.&lt;/p&gt;&lt;p&gt;하지만 대부분 일하는 중간에 그런 연락들이 오다 보니 인맥을 통해서 가본적이 없다.&lt;/p&gt;&lt;p&gt;인맥을 통해서 가는 것은 그리 쉽지는 않은 방법이라고 생각한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위 5가지 방법을 제외하면 프리랜서 일자리 구하는 방법은 거의 없는 것 같다.&lt;/p&gt;&lt;p&gt;간혹 잡코리아, 사람인 외에 다른 구직사이트에도 이력서를 올려야 하냐고 물어보는 사람들이 많은데&lt;/p&gt;&lt;p&gt;잡코리아, 사람인 2개면 충분한 것 같다.&lt;/p&gt;&lt;p&gt;물론 귀찮지 않다면 파인드잡, 인크루트 등등 다른 곳에 올려보는 것도 좋을 것 같다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;마음에 드는 곳이 잘 안구해진다고 너무 조급하게 아무데나 들어가지는 말자.&lt;/p&gt;&lt;p&gt;별로 마음에 들지 않는 곳에 들어갔는데 바로 다음날 마음에 드는 일자리가 나올수도 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>기타</category>
      <author>꼴레뇨</author>
      <guid isPermaLink="true">https://its-easy.tistory.com/24</guid>
      <comments>https://its-easy.tistory.com/24#entry24comment</comments>
      <pubDate>Fri, 9 Aug 2019 16:27:57 +0900</pubDate>
    </item>
    <item>
      <title>[JavaScript] Hosting(호이스팅) 이란?</title>
      <link>https://its-easy.tistory.com/23</link>
      <description>&lt;h2&gt;&lt;span style=&quot;color: #1b9ae6;&quot;&gt;&lt;b&gt;변수 Hoising 예제&lt;/b&gt;&lt;/span&gt;&lt;/h2&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&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: #066de2;&quot;&gt;alert&lt;/span&gt;(&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;undefined&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;color: #a71d5d;&quot;&gt;var&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;&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;홍길동&quot;&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;color: #066de2;&quot;&gt;alert&lt;/span&gt;(&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;홍길동&lt;/span&gt;&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;/div&gt;
&lt;p style=&quot;font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;name이라는 변수가 선언되기 전에 호출했으니 에러가 발생할 것 같지만&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;값이 할당되지 않았다는 의미인 undefined가 출력된다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이는 JavaScript의 Hoisting이라는 특성에 의해 아래와 같이 해석되기 때문이다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&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&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;var&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;name&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;color: #066de2;&quot;&gt;alert&lt;/span&gt;(&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;undefined&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;color: #066de2;&quot;&gt;name&lt;/span&gt;&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;홍길동&quot;&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;color: #066de2;&quot;&gt;alert&lt;/span&gt;(&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;홍길동&lt;/span&gt;&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;/div&gt;
&lt;p style=&quot;font-size: 1.25em;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;color: #1b9ae6;&quot;&gt;&lt;b&gt;함수 Hoisting 예제&lt;/b&gt;&lt;/span&gt;&lt;/h2&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&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;test();&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;&lt;span style=&quot;color: #a71d5d;&quot;&gt;function&lt;/span&gt;&amp;nbsp;test()&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: #066de2;&quot;&gt;alert&lt;/span&gt;(id);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;undefined&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;span style=&quot;color: #a71d5d;&quot;&gt;var&lt;/span&gt;&amp;nbsp;id&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;'test'&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;span style=&quot;color: #066de2;&quot;&gt;alert&lt;/span&gt;(id);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;test&lt;/span&gt;&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;/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;/div&gt;
&lt;p style=&quot;font-size: 1.25em;&quot;&gt;함수 역시 함수가 선언되기 전에 사용이 가능하다.&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em;&quot;&gt;하지만 아래와 같이 함수를 변수에 넣게되면 함수 Hoisting은 발생하지 않게 되고, 에러가 발생하게 되니 주의하도록 하자.&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&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;test();&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;Uncaught&amp;nbsp;TypeError:&amp;nbsp;test&amp;nbsp;is&amp;nbsp;not&amp;nbsp;a&amp;nbsp;function&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;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;var&lt;/span&gt;&amp;nbsp;test&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;function&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;&lt;span style=&quot;color: #066de2;&quot;&gt;alert&lt;/span&gt;(id);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;undefined&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;var&lt;/span&gt;&amp;nbsp;id&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;'test'&lt;/span&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: #066de2;&quot;&gt;alert&lt;/span&gt;(id);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;test&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;/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 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;/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;/div&gt;
&lt;p style=&quot;font-size: 1.25em;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;color: #1b9ae6;&quot;&gt;&lt;b&gt;전역변수와 지역변수의 차이&lt;/b&gt;&lt;/span&gt;&lt;/h2&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 style=&quot;line-height: 130%;&quot;&gt;9&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: #066de2;&quot;&gt;alert&lt;/span&gt;(&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;undefined&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;color: #a71d5d;&quot;&gt;var&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;&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;홍길동&quot;&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;color: #066de2;&quot;&gt;alert&lt;/span&gt;(&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&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;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;function&lt;/span&gt;&amp;nbsp;test()&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: #066de2;&quot;&gt;alert&lt;/span&gt;(id);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;undefined&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #a71d5d;&quot;&gt;var&lt;/span&gt;&amp;nbsp;id&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;'test'&lt;/span&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: #066de2;&quot;&gt;alert&lt;/span&gt;(id);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;test&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;/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 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;/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;/div&gt;
&lt;p style=&quot;font-size: 1.25em;&quot;&gt;아래의 예제와 같이&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em;&quot;&gt;전역변수의 선언부는 소스의 최상단에 위치한걸로 해석하고,&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em;&quot;&gt;지역변수는 함수내부의 최상단에 위치한걸로 해석된다.&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 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&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;var&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #066de2;&quot;&gt;name&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;color: #066de2;&quot;&gt;alert&lt;/span&gt;(&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;undefined&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;color: #066de2;&quot;&gt;name&lt;/span&gt;&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;홍길동&quot;&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;color: #066de2;&quot;&gt;alert&lt;/span&gt;(&lt;span style=&quot;color: #066de2;&quot;&gt;name&lt;/span&gt;);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&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;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;padding: 0 6px; white-space: pre; line-height: 130%;&quot;&gt;&lt;span style=&quot;color: #a71d5d;&quot;&gt;function&lt;/span&gt;&amp;nbsp;test()&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;var&lt;/span&gt;&amp;nbsp;id;&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: #066de2;&quot;&gt;alert&lt;/span&gt;(id);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;undefined&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&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;'test'&lt;/span&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: #066de2;&quot;&gt;alert&lt;/span&gt;(id);&amp;nbsp;&lt;span style=&quot;color: #999999;&quot;&gt;//&amp;nbsp;결과&amp;nbsp;:&amp;nbsp;test&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;/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 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;/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 style=&quot;font-size: 1.25em;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;h2&gt;&lt;span style=&quot;color: #1b9ae6;&quot;&gt;&lt;b&gt;Hosting을 한마디로 정의하면?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;font-size: 1.25em;&quot;&gt;변수나 함수의 선언문을 유효범위의 최상단으로 끌어올려서 변수나 함수를 선언하기 이전에도 사용할 수 있도록 해주는 JavaScript의 특성&lt;/p&gt;</description>
      <category>JavaScript</category>
      <category>JavaScript Hoisting 호이스팅</category>
      <author>꼴레뇨</author>
      <guid isPermaLink="true">https://its-easy.tistory.com/23</guid>
      <comments>https://its-easy.tistory.com/23#entry23comment</comments>
      <pubDate>Thu, 25 Jul 2019 00:14:07 +0900</pubDate>
    </item>
    <item>
      <title>[Oracle] ADD_MONTHS 사용법 및 주의사항</title>
      <link>https://its-easy.tistory.com/22</link>
      <description>&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; text-align: left;&quot;&gt;ADD_MONTHS 함수는 개월을 더하거나 뺄수있는 아주 유용한 함수이다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;사용법은 아래와 같다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;특별히 설명이 필요없을 정도로 아주 간단하다.&lt;/span&gt;&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&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&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;ADD_MONTHS(&lt;span style=&quot;color:#7DA123&quot;&gt;'20181001'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#004fc8&quot;&gt;1&lt;/span&gt;)&amp;nbsp;&amp;nbsp;AS&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;ADD_MONTHS(&lt;span style=&quot;color:#7DA123&quot;&gt;'20181001'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#004fc8&quot;&gt;1&lt;/span&gt;)&amp;nbsp;AS&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;ADD_MONTHS(&lt;span style=&quot;color:#7DA123&quot;&gt;'20181001'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#004fc8&quot;&gt;2&lt;/span&gt;)&amp;nbsp;&amp;nbsp;AS&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;ADD_MONTHS(&lt;span style=&quot;color:#7DA123&quot;&gt;'20181001'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#004fc8&quot;&gt;2&lt;/span&gt;)&amp;nbsp;AS&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;&lt;span style=&quot;color:#ff3399&quot;&gt;FROM&lt;/span&gt;&amp;nbsp;DUAL;&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 href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); 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;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;하지만 한가지 주의할 점이 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;아래의 SQL을 실행해서 결과값을 확인해보자.&lt;/span&gt;&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&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&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;ADD_MONTHS(&lt;span style=&quot;color:#7DA123&quot;&gt;'20181029'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#004fc8&quot;&gt;1&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;ADD_MONTHS(&lt;span style=&quot;color:#7DA123&quot;&gt;'20181030'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#004fc8&quot;&gt;1&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;ADD_MONTHS(&lt;span style=&quot;color:#7DA123&quot;&gt;'20181031'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#004fc8&quot;&gt;1&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;ADD_MONTHS(&lt;span style=&quot;color:#7DA123&quot;&gt;'20181029'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#004fc8&quot;&gt;1&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;ADD_MONTHS(&lt;span style=&quot;color:#7DA123&quot;&gt;'20181030'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#004fc8&quot;&gt;1&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;ADD_MONTHS(&lt;span style=&quot;color:#7DA123&quot;&gt;'20181031'&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#004fc8&quot;&gt;1&lt;/span&gt;)&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;&lt;span style=&quot;color:#ff3399&quot;&gt;FROM&lt;/span&gt;&amp;nbsp;DUAL;&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 href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); 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;div class=&quot;colorscripter-code&quot; style=&quot;overflow: auto; position: relative !important;&quot;&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 840px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99A4B24F5C02C7D002&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99A4B24F5C02C7D002&quot; width=&quot;840&quot; height=&quot;52&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;'20181030'과 '20181031'의 한달 전과 한달 후의 결과가 똑같이 나오는 것을 알 수 있다.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;말일이 아닐 경우는 그 다음달이나 전달의 같은 날짜를 기준으로 하지만&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;말일일 경우는 그 다음달이나 전달의 말일을 기준으로 하기 때문이다.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이런 현상이 문제가 될 경우에는 30일 후와 같은 명확한 기준으로 변경하는 것도 좋은 방법이 될 수도 있다.&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Database/Oracle</category>
      <author>꼴레뇨</author>
      <guid isPermaLink="true">https://its-easy.tistory.com/22</guid>
      <comments>https://its-easy.tistory.com/22#entry22comment</comments>
      <pubDate>Sun, 2 Dec 2018 02:44:15 +0900</pubDate>
    </item>
    <item>
      <title>MyBatis log4j 이용해서 sql문 출력하기</title>
      <link>https://its-easy.tistory.com/21</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;STS플러그인을 이용해서 Spring 프로젝트를 생성하면 일반적으로 log4j가 포함되어 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;MyBatis 연동을 하고나서 설정을 건드리지 않으면 쿼리는 콘솔창에 출력되지 않는다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;이럴 때는 log4j.xml 파일의 설정을 조금만 바꿔주면 간단히 해결된다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;/프로젝트명/src/main/resources폴더에 가면 일반적으로 log4j.xml 파일이 있을 것이다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;기본설정은 아래와 같을 것이다.&lt;/span&gt;&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 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 style=&quot;line-height:130%&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;28&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;29&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;30&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;31&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;32&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;33&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;34&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;35&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;36&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;37&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;38&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;39&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;40&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;41&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;?xml&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;version&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;encoding&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;?&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;!DOCTYPE&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;log4j:configuration&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;PUBLIC&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#df5000&quot;&gt;&quot;-//APACHE//DTD&amp;nbsp;LOG4J&amp;nbsp;1.2//EN&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#df5000&quot;&gt;&quot;log4j.dtd&quot;&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;log4j:configuration&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;xmlns:log4j&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;http://jakarta.apache.org/log4j/&quot;&lt;/span&gt;&amp;gt;&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:#999999&quot;&gt;&amp;lt;!--&amp;nbsp;Appenders&amp;nbsp;--&amp;gt;&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;lt;&lt;span style=&quot;color:#066de2&quot;&gt;appender&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;console&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;class&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;org.apache.log4j.ConsoleAppender&quot;&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;param&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;Target&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;System.out&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;layout&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;class&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;org.apache.log4j.PatternLayout&quot;&lt;/span&gt;&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;param&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;ConversionPattern&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;%-5p:&amp;nbsp;%c&amp;nbsp;-&amp;nbsp;%m%n&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;layout&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;appender&lt;/span&gt;&amp;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;span style=&quot;color:#999999&quot;&gt;&amp;lt;!--&amp;nbsp;Application&amp;nbsp;Loggers&amp;nbsp;--&amp;gt;&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;lt;&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;com.my.sample&quot;&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;level&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;info&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;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;span style=&quot;color:#999999&quot;&gt;&amp;lt;!--&amp;nbsp;3rdparty&amp;nbsp;Loggers&amp;nbsp;--&amp;gt;&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;lt;&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;org.springframework.core&quot;&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;level&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;info&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;org.springframework.beans&quot;&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;level&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;info&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;org.springframework.context&quot;&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;level&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;info&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;gt;&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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;org.springframework.web&quot;&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;level&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;info&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;gt;&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:#999999&quot;&gt;&amp;lt;!--&amp;nbsp;Root&amp;nbsp;Logger&amp;nbsp;--&amp;gt;&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;lt;&lt;span style=&quot;color:#066de2&quot;&gt;root&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;priority&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;info&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;appender-ref&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;ref&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;console&quot;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;root&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;log4j:configuration&lt;/span&gt;&amp;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: rgb(229, 229, 229);&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;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); 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;/div&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;14~16라인이 문제이다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;level이 debug이하여야 sql문이 출력되는데 기본값은 info로 되어있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;log4j의 level에 대해서는 아래의 블로그에 자세하게 나와있으니 참고하도록 하자.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;u&gt;&lt;i&gt;&lt;a href=&quot;http://myblog.opendocs.co.kr/archives/950&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://myblog.opendocs.co.kr/archives/950&lt;/a&gt;&lt;/i&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;14라인은 java소스가 있는 패키지 경로를 의미하고, 프로젝트 생성 시 입력한 패키지가 기본값으로 들어가 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;15라인을 debug로&lt;/span&gt; 바꿔주면 아래와 같이 sql문이 출력되는 것을 볼 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 856px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99D337435B6BF29623&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99D337435B6BF29623&quot; width=&quot;856&quot; height=&quot;56&quot; filename=&quot;캡처.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;trace나 all로 바꾸면 아래와 같이 데이터까지 표시된다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 856px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/996B543D5B6BF35011&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F996B543D5B6BF35011&quot; width=&quot;856&quot; height=&quot;112&quot; filename=&quot;캡처2.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;특별히 패키지별로 로그를 관리할 필요가 없다면 아래와 같이 하는 게 더 간편할수도 있다.&lt;/span&gt;&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 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 style=&quot;line-height:130%&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;28&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;29&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;30&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;31&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;32&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;33&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;34&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;35&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;36&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;37&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;38&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;39&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;40&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;41&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;?xml&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;version&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;encoding&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;?&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;!DOCTYPE&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;log4j:configuration&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;PUBLIC&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#df5000&quot;&gt;&quot;-//APACHE//DTD&amp;nbsp;LOG4J&amp;nbsp;1.2//EN&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#df5000&quot;&gt;&quot;log4j.dtd&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;log4j:configuration&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;xmlns:log4j&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;http://jakarta.apache.org/log4j/&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;gt;&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:#999999&quot;&gt;&amp;lt;!--&amp;nbsp;Appenders&amp;nbsp;--&amp;gt;&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;lt;&lt;span style=&quot;color:#066de2&quot;&gt;appender&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;console&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;class&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;org.apache.log4j.ConsoleAppender&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;param&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;Target&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;System.out&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;layout&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;class&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;org.apache.log4j.PatternLayout&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;param&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;ConversionPattern&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;%-5p:&amp;nbsp;%c&amp;nbsp;-&amp;nbsp;%m%n&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;&amp;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;layout&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;appender&lt;/span&gt;&amp;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;span style=&quot;color:#999999&quot;&gt;&amp;lt;!--&amp;nbsp;Application&amp;nbsp;Loggers&amp;nbsp;--&amp;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;color:#999999&quot;&gt;&amp;lt;!--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;logger&amp;nbsp;name=&quot;com.my.sample&quot;&amp;gt;&amp;nbsp;--&amp;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;color:#999999&quot;&gt;&amp;lt;!--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;level&amp;nbsp;value=&quot;info&quot;&amp;nbsp;/&amp;gt;&amp;nbsp;--&amp;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;color:#999999&quot;&gt;&amp;lt;!--&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/logger&amp;gt;&amp;nbsp;--&amp;gt;&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;span style=&quot;color:#999999&quot;&gt;&amp;lt;!--&amp;nbsp;3rdparty&amp;nbsp;Loggers&amp;nbsp;--&amp;gt;&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;lt;&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;org.springframework.core&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;level&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;org.springframework.beans&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;level&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;org.springframework.context&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;level&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;gt;&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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;name&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;org.springframework.web&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;level&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;info&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;logger&lt;/span&gt;&amp;gt;&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:#999999&quot;&gt;&amp;lt;!--&amp;nbsp;Root&amp;nbsp;Logger&amp;nbsp;--&amp;gt;&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;lt;&lt;span style=&quot;color:#066de2&quot;&gt;root&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;priority&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;value&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;debug&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;&amp;lt;&lt;span style=&quot;color:#066de2&quot;&gt;appender-ref&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;ref&lt;/span&gt;=&lt;span style=&quot;color:#df5000&quot;&gt;&quot;console&quot;&lt;/span&gt;&lt;span style=&quot;color:#0a9989&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0a9989&quot;&gt;/&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;root&lt;/span&gt;&amp;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;lt;/&lt;span style=&quot;color:#066de2&quot;&gt;log4j:configuration&lt;/span&gt;&amp;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: rgb(229, 229, 229);&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;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); 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;/div&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;14~16라인을 주석처리하고, 37라인을 debug로 변경해줬다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;root logger는 별도로 설정된 패키지를 제외한 모든 패키지에 대한 설정인듯 하다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;이렇게 하면 패키지에 상관없이 모든 로그에 대한 설정을 한번에 할수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;log4jdbc-remix를 사용하는 글이 많은데 특별한 목적이 없다면&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;sts에 기본적으로 포함되어 있는 log4j를 사용하고,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;성능이나 기능상 부족함이 느껴지면 log4j2나 logback으로 갈아타는 것이 바람직해보인다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>MyBatis</category>
      <author>꼴레뇨</author>
      <guid isPermaLink="true">https://its-easy.tistory.com/21</guid>
      <comments>https://its-easy.tistory.com/21#entry21comment</comments>
      <pubDate>Thu, 9 Aug 2018 15:09:41 +0900</pubDate>
    </item>
  </channel>
</rss>